Xn
are given below:
4. AN ONLINE MAX-MIN ALGORITHM
maximize sj subject to POWER-AWARE ROUTING
Xn ·e
ij ij ≤ Pi
j
(1)
In this section we develop an approximation algorithm for
online power-aware routing and show experimentally that
Xn Xn
j
our algorithm has a good empirical competitive ratio and
comes close to the optimal.
ij = ji (f or i 6= s, t) (2)
j j We believe that it is important to develop algorithms for
message routing that do not assume prior knowledge of the
This linear programming formulation can be can be solved in message sequence because for ad-hoc network applications
polynomial time. However, we need the integer solution, but this sequence is dynamic and depends on sensed values and
computing the integer solution is NP-hard. Figure 1 shows goals communicated to the system as needed. Our goal is
the reduction to set partition for proving the NP-hardness to increase the lifetime of the network when the message
of the integer solution. sequence is not known. We model lifetime as the earliest
time that a message cannot be sent. Our assumption is that
each message is important and thus the failure of delivering
3.3 Competitive Ratio for Online Power-aware a message is a critical event. Our results can be extended
Routing to tolerate up to m message delivery failures, where m is a
In a system where the message rates are unknown, we wish parameter. We focus the remaining of this discussion on the
to compute the best path to route a message. Since the failure of the first message delivery.
message sequence is unknown, there is no guarantee that
we can find the optimal path. For example, the path with Intuitively, message routes should avoid nodes whose power
the least power consumption can quickly saturate some of is low because overuse of those nodes will deplete their bat-
S S S
1
0 1
0 1
0
X1 01 1 Y1
0 X1 01 1 Y1
0 X1 01 1 Y1
0
11
00
11
00 ...... 1
0
11
00 11
00
00
11 1
0
1 1
X2 01 00 Y2
11 X2 01 00 Y2
11 X2 01 11 Y2
00
. . . . . .
.
1
0 1
0
. . . . .
. . . . . .
00
11 00
11 00
11 00
11 00
11
00
11 00
11
00 Yn−1
11
00
11
Xn−1 00 Yn−1 Xn−1
11 00
11 00 Yn−1 Xn−1
11
11
00
000
111
Xn11
00
111
000
111
11
00
000111
1 000
1
11
00
000
111
000
111 Yn
11
00
000
111
Xn11
00
111
000
111
11
00
000111
000
11
00
000
111
000
111 Yn
11
00
Xn11
00
000
111
111
11
00
000111
111000
111
11
00
000000
000 Yn
111
0
1 1
0
000111
111
000
111000
111
000 000111
111
000
111000
111
000
000111
111
000
111000
111
000
000
111
000
111000
111
1
0
000
111 000
111
000
111000
111
1
0
000
111 000
111000
111
1
0
0
1 1T
0
T T T S 0
1
Figure 2: In this network, the power of each node Figure 3: The performance of max-min path can be
is 1 + ǫ and the weight on each edge is 1. The very bad. In this example, each node except for
left figure gives the network; the center one is the the source S has the power 20 + ǫ, and the weight
route for the online algorithm; and the right one of each edge on the arc is 1. The weight of each
is the route for the optimal algorithm. Consider straight edge is 2. Let the power of the source be
the message sequence that begins with a message ∞. The network can send 20 messages from S to T
from S to T , say, ST . Without loss of generality according to max-min strategy by taking the edges
(since there are only two possible paths from S to on the arc (see the arc on the top). But the optimal
T ), the online algorithm routes the message via the number of messages follows the straight edges with
route SX1 X2 X3 · · · Xn−1 Xn T . The message sequence black arrows is 10(n − 4) where n is the number of
is X1 X2 , X2 X3 , X3 X4 , · · · , Xn−1 Xn . It is easy to see nodes.
that the optimal algorithm (see right figure) routes
the first message through SY1 Y2 Y3 · · · Yn−1 Yn T , then
routes the remaining messages through X1 X2 , X2 X3 , 0. Find the path with the least power consumption, Pmin
X3 X4 , · · · , and Xn−1 Xn . Thus the optimal algorithm by using the Dijkstra algorithm.
can transmit n messages. The online algorithm (cen- 1. Find the path with the least power consumption in the
ter) can transmit at most 1 message for this mes- graph.
sage sequence because the nodes X1 , X2 , · · · , Xn are If the power consumption > z · Pmin or no path is found,
all saturated after routing the first message. The then the previous shortest path is the solution, stop.
competitive ratio is small when n is large. 2. Find the minimal utij on that path, let it be umin .
3. Find all the edges whose residual power fraction utij ≤
umin , remove them from the graph.
4. Goto 1.
tery power. Thus, we would like to route messages along the
path with the maximal minimal fraction of remaining power
after the message is transmitted. We call this path the max-
min path. The performance of max-min path can be very Figure 4: max-min zPmin -path algorithm
bad, as shown by the example in Figure 3. Another concern
with the max-min path is that going through the nodes with
high residual power may be expensive as compared to the P (vi ) be the initial power level of node vi , eij the weight of
path with the minimal power consumption. Too much power the edge vi vj , and Pt (vi ) is the power of the node vi at time
consumption decreases the overall power level of the system P (v )−e
t. Let utij = t P i(vi ) ij be the residual power fraction after
and thus decreases the life time of the network. There is
sending a message from i to j.
a tradeoff between minimizing the total power consumption
and maximizing the minimal residual power of the network.
Figure 4 describes the algorithm. In each round we remove
We propose to enhance a max-min path by limiting its total
at least one edge from the graph. The algorithm runs the
power consumption.
Dijkstra algorithm to find the shortest path for at most |E|
times where |E| is the number of edges. The running time
The two extreme solutions to power-aware routing for one
of the Dijkstra algorithm is O(|E| + |V | log |V |) where |V |
message are: (1) compute a path with minimal power con-
is the number of nodes. Then the running time of the algo-
sumption Pmin ; and (2) compute a path that maximizes
rithm is at most O(|E| · (|E| + |V | log |V |)). By using binary
the minimal residual power in the network. We look for an
search, the running time can be reduced to O(log |E| · (|E| +
algorithm that optimizes both criteria. We relax the mini-
|V | log |V |)). To find the pure max-min path, we can mod-
mal power consumption for the message to be zPmin with
ify the Bellman-ford algorithm by changing the relaxation
parameter z ≥ 1 to restrict the power consumption for send-
procedure. The running time is O(|V | · |E|).
ing one message to zPmin. We propose an algorithm we call
max-min zPmin that consumes at most zPmin while maxi-
mizing the minimal residual power fraction. The rest of the 4.1 Adaptive Computation for z
section describes the max-min zPmin algorithm, presents An important factor in the max-min zPmin algorithm is the
empirical justification for it, a method for adaptively choos- parameter z which measures the tradeoff between the max-
ing the parameter z and describes some of its theoretical min path and the minimal power path. When z = 1 the
properties. algorithm computes the minimal power consumption path.
When z = ∞ it computes the max-min path. We would
The following notation is used in the description of the max- like to investigate an adaptive way of computing z > 1 such
min zPmin algorithm. Given a network graph (V, E), let that max-min zPmin that will lead to a longer lifetime for
12000
P
4. Compute the minimal ∆P t
among all hosts, let it be t2 . 8000
0 5 10 15 20
The parameter z
4
x 10
1.4
1.2
the network than each of the max-min and minimal power 1.1
0.6
1.1
0.5
1.05
0.4
0.3
1
0.2
0.95
0.1
0
0.9 10 20 30 40 50 60 70 80 90 100
0 20 40 60 80 100
The number of nodes in the network
The parameter z
4
x 10 90
2.4
80
The maximal messages transmitted
2.2
70
number of experiements
2
60
1.8
50
1.6
1.4 40
1.2 30
1 20
0.8 10
0.6 0
0 20 40 60 80 100 0.7 0.75 0.8 0.85 0.9 0.95 1 1.05
The parameter z the ratio of the lifetime in max−min and the optimal lifetime (%)
Figure 7: The top figure shows the effect of z on Figure 8: The top graph compares the performance
the maximal number of messages in a ring network. of max-min zPmin to the optimal solution. The po-
The radius of the circle is 20, the number of hosts is sitions of hosts in the network are generated ran-
20, the weights are generated by eij = 0.0001 ∗ d3ij , the domly. The network scope is 10 ∗ 10, the weight for-
initial power of each host is 10 and messages are gen- mula is eij = 0.0001 ∗ d3ij , the initial power of each
erated between all possible pairs of the hosts and are host is 10, messages are generated from each host
distributed evenly. The bottom figure shows a net- to a specific gateway host, the ratio z is 100.0. The
work with four columns of the size 1 ∗ 0.1. Each area bottom figure shows the histogram that compares
has ten hosts which are randomly distributed. The max-min zPmin to optimal for 500 experiments. In
distance between two adjacent columns is 1. The each experiment the network consists of 20 nodes
right figure gives the performance when z changes. randomly placed in a 10*10 network space. The
The vertical axis is the maximal messages sent be- cost of messages is given by eij = 0.001 ∗ d3ij . The
fore the first host is saturated. The number of hosts hosts have the same initial power and messages are
is 40; the weight formula is eij = 0.001 ∗ d3ij ; the ini- generated for hosts to one gateway host. The hor-
tial power of each host is 1; messages are generated izontal axis is the ratio between the lifetime of the
between all possible pairs of the hosts and are dis- max-min zPminmax-min algorithm and the optimal
tributed evenly. lifetime, which is computed off-line.
vantage of knowing the message sequence, we believe that other words, we partition the time line into many time slots
max-min zPmin is practical for applications where there is [0, δ), [δ, 2δ), [2δ, 3δ), · · · . Note that δ is the lifetime of the
no knowledge of the message sequence. network if there is no cyclical behavior in message transmis-
sion. We assume the same messages are generated in each δ
slot but their sequence may be different.
4.3 Analysis of the M ax-min zPmin Algorithm
In this section we quantify the experimental results from the Let the optimal algorithm be denoted by O, and the max-
previous section in an attempt to formulate more precisely min zPmin algorithm be denoted by M . In M , each mes-
our original intuition about the tradeoff between the mini- sage is transmitted along a path whose overall power con-
mal power routing and max-min power routing. We provide sumption is less than z times the minimal power consump-
a lower bound for the lifetime of the max-min zPmin al- tion for that message. The initial time is 0. The lifetime of
gorithm as compared to the optimal solution. We discuss the network by algorithm O is TO , and the lifetime by algo-
this bound for a general case where there is some cyclicity rithm M is TM . The initial power of each node is: P10 , P20 ,
to the messages that flow in the system and then show the P30 , · · · , P(n−1)0 , Pn0 . The remaining power of each node at
specialization to the no cyclicity case. TO by running algorithm O is: P1O , P2O , P3O , · · · , Pn−1O ,
PnO . The remaining power of each node at TM by running
Suppose the message distribution is regular, that is, in any algorithm M is: P1M , P2M , P3M , · · · , Pn−1M , PnM . Let
period of time [t1 , t1 + δ), the message distributions on the the message sequence in any slot be m1 , m2 , · · · , ms , and
nodes in the network are the same. Since in sensor net- the minimal power consumption to transmit those messages
works we expect some sort of cyclicity for message trans- be P0m1 , P0m2 , P0m3 , · · · , P0ms .
mission, we assume that we can schedule the message trans-
mission with the same policy in each time slice we call δ. In
P
Theorem 2. The lifetime of algorithm M satisfies
P Thus,
XP X X X
P
n n n s n s
TO δ·( k=1 P kO − k=1 PkM ) z · TM TO
TM ≥ + s (3) kM + · P0mk ≥ PkO + · P0mk
z z· k=1 P0mk δ δ k=1
k=1 k=1 k=1
We have:
P P
Proof. We have
XP
n XP n XPMT
M
TM ≥
TO
z
+
δ·( n
k=1 P
PkO − n k=1 PkM )
z · sk=1 P0mk
k0 = kM + M mk = PM
k=1 k=1 k=1
XP
n XPn XP
MT
O
distribution, TO , δ, n P
k=1 PkO ,
s P
of the network. Given a network topology and a message
k=1 P0mk are all fixed in
k=1
k0 =
k=1
kO +
k=1
Omk = PO
P P
Equation 3. The variables that determine the actual lifetime
are n k=1 PkM and z. The smaller
n 3
k=1 PkM is, the better
where MTO is the number of messages transmitted from time the performance lower bound is. And the smaller z is, the
point 0 to TO . POmk is the power consumption of of the k-th
message by running algorithm O. will lead to a large n
P
better the performance lower bound is. However, a small z
k=1 PkM . This explains the tradeoff
between minimal power path and max-min path.
Since the messages are the same for any two slots without
considering their sequence, we can schedule the messages Theorem 2 can be used in applications that have a regular
such that the message rates along the same route are the message distribution without the restriction that all the mes-
same in the two slots (think about divide every message into P
sages are the same in two different slots. For these applica-
many tiny packets, and average the message rate along a
route in algorithm O into the two consecutive slots evenly.).
P
tions, the ratio between δ and sk=1 P0mk must be changed
to 1/ rk=1 P0mk , where P0mk is the minimal power con-
We have: sumption for the message generated in a unit of time.
XP
MT
O
=
MTO
·
XP s
=
TO
·
XP s
Omk
s
Omk
δ
Omk
P
Theorem 3. The optimal lifetime of the network is at
k=1 k=1 k=1
P
most tPSP−T · PPSP
h
h P SP T
T where tSP T and Ph are the life time
and h
of the network and remaining power of host h by using the
XP
MT
M
M mk =
X XP
TM /δ s
M mkj
least power consumption routing strategy. Ph is the initial
power of host h.
k=1 j=1 k=1
So we have: P
PPP P P /( P P
XP X
Ph − Ph SP T
P
Proof. tOP T ≤ = )
h
n s SP T h tSP T
P P
m
TO tSP T · Ph
PO = kO + · POmk = SP T
k=1
δ k=1 Ph − Ph
,
5. ZONE-BASED ROUTING
PM =
XP n
+
X XP TM /δ s Although it has very nice theoretical and empirical prop-
kM M mkj erties, max-min zPmin algorithm is hard to implement
k=1 j=1 k=1 on large scale networks. The main obstacle is that max-
and min zPmin requires accurate power level information for
all the nodes in the network. It is difficult to collect this
PO = PM information from all the nodes in the network. One way to
do it is by broadcast, but this would generate a huge power
PM mkj is the power consumption of the k-th message in
consumption which defeats our original goals. Furthermore,
slot j by running algorithm M . We also have the following
it is not clear how often such a broadcast would be necessary
assumption and the minimal power of P0mk . For any 1 ≤
j ≤ TδM and k, we have only one corresponding l, to keep the network data current. In this section we propose
a hierarchical approach to power-aware routing that does
PM mkj ≤ z · P0ml and POmk ≥ P0mk not use as much information, does not know the message
sequence, and relies in a feasible way on max-min zPmin.
Then,
PO ≥
XP n
kO +
TO
·
X
P0mk
s We propose to organize the network structurally in geo-
graphical zones, and hierarchically to control routing across
δ k=1
k=1 the zones. The idea is to group together all the nodes that
PM ≤
XPn
kM +
z · TM
· P0mk
Xs
are in geographic proximity as a zone, treat the zone as an
3
This is the remaining power of the network at the limit of
k=1
δ k=1 the network.
entity in the network, and allow each zone to decide how to B
The protocol employed by the controller node consists of Figure 10: An approximation algorithm for zone
polling each node for its power level followed by running power evaluation.
the max-min zPmin algorithm. The returned value is then
broadcasted to all the zones in the system. The frequency
of this procedure is inversely proportional to the estimated ate the power level, find the max-min zPmin path, simulate
power level. When the power level is high, the power esti- sending ∆ messages through the path, and repeat until the
mation update can be done infrequently because messages network is saturated. ∆ is chosen to be proportionate to the
routed through the zone in this period will not change the power level of the zone.
overall power distribution in the entire network much. When
the power level is low, message transmission through the More precisely, consider Figure 9 (top). To estimate the
zone is likely to change the power distribution significantly. power of zone B with respect to sending messages in the
direction from A to C, let the left part of the overlap be-
Without loss of generality, we assume that zones are square tween A and B be the source area and the right part of the
so that they have four neighbors pointed to the North, South, overlap between B and C the sink area. The power of zone
East, and West5 . We assume further that it is possible to B in the direction from A to C is the maximal number of
communicate between the nodes that are close to the bor- messages that can flow from the source nodes to the sink
der between two zones, so that in effect the border nodes are nodes before a node in B gets saturated. This can be com-
part of both zones. In other words, neighboring zones that puted with the max-min zPmin algorithm (see Figure 10).
can communicate with each other have an area of overlap We start with the power graph of zone B and augment it.
(see Figure 9 (top)). We create an imaginary source node S and connect it to all
the source nodes. We create an imaginary sink node T and
The power estimate of a zone can be approximated as fol- connect all the sink nodes to it. Let the weights of the newly
lows. We can use the max-min zPmin algorithm to evalu- added edges be 0. The max-min zPmin algorithm run on
4 this graph determines the power estimate for zone B in the
This geographical partitioning can be implemented easily
using GPS information from each host. direction of A to C.
5
this method can easily be generalized to zones with finite
number of neighboring zones. 5.2 Global Path Selection
Given power-levels for each possible direction of message Given a global route across zones, our goal is to find actual
transmission, it is possible to construct a small zone-graph routes for messages within a zone. The max-min zPmin
that models the global message routing problem. Figure 12 algorithm is used directly to route a message within a zone.
shows an example of a zone graph. A zone with k neigh-
bors is represented by k + 1 vertices in this graph6 . One If there are multiple entry points into the zone, and multiple
vertex labels the zone; k vertices correspond to each mes- exit points to the next zone, it is possible that two paths
sage direction through the zone. The zone label vertex is through adjacent zones do not share any nodes. These paths
connected to all the message direction vertices by edges in have to be connected.
both direction. In addition, the message direction vertices
are connected to the neighboring zone vertices if the current The following algorithm is used to ensure that the paths
zone can go to the next neighboring zone in that direction. between adjacent zones are connected (see Figure 9 (right)).
Each zone vertex has a power level of ∞. Each zone direc- For each node in the overlap region, we compute how many
tion vertex is labeled by its estimated power level computed paths can be routed locally through that node when zone
with the procedure in Section 5.1. Unlike in the model we power is evaluated. In order to optimize the message flow
proposed in Section 3.3, the edges in this zone graph do between zones, we find paths that go through the nodes
not have weights. Thus, the global route for sending a mes- that can sustain the maximal number of messages. Thus,
sage can be found as the max-min path in the zone graph to route a message through zone B in the direction from A
that starts in the originator’s zone vertex and ends in the to C we select the node with maximum message weight in
destination zone vertex for the message. We would like to the overlap between A and B, then we select the node with
bias towards path selection that uses the zones with higher maximum message weight in the overlap between B and C,
power level. We can modify the Bellman-Ford algorithm and compute the max-min zPmin paths between these two
(Figure 11) to accomplish this. nodes.