11.07.2015 Views

Multirate Anypath Routing in Wireless Mesh Networks - Leonard ...

Multirate Anypath Routing in Wireless Mesh Networks - Leonard ...

Multirate Anypath Routing in Wireless Mesh Networks - Leonard ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

This full text paper was peer reviewed at the direction of IEEE Communications Society subject matter experts for publication <strong>in</strong> the IEEE INFOCOM 2009 proceed<strong>in</strong>gs.sFigure 3. A multirate anypath connect<strong>in</strong>g nodes s and d is shown <strong>in</strong> boldarrows. Every packet sent from s traverses a path to reach d, such as thepath shown with dashed l<strong>in</strong>es. Different dash lengths represent the differentbit rates used by each node, with a shorter dash for higher rates.In real wireless networks, we usually have different deliveryprobabilities and distances for each transmission rate, whichjustifies this model extension.The EATX metric described <strong>in</strong> Section II-C was orig<strong>in</strong>allydesigned consider<strong>in</strong>g that nodes transmit at a s<strong>in</strong>gle bit rate.To account for multiple bit rates, we <strong>in</strong>troduce the expectedanypath transmission time (EATT) metric. For EATT, thehyperl<strong>in</strong>k distance d (r)iJfor each rate r ∈ R is def<strong>in</strong>ed asd (r)iJ = 1 × sp (r) r , (5)iJwhere p (r)iJis the hyperl<strong>in</strong>k delivery probability def<strong>in</strong>ed <strong>in</strong> (1),s is the maximum packet size, and r is the bit rate. Thedistance d (r)iJis basically the time it takes to transmit a packetof size s at a bit rate r over a lossy hyperl<strong>in</strong>k with deliveryprobability p (r)iJ. The EATT metric is a direct generalizationof the expected transmission time (ETT) metric [8] commonlyused <strong>in</strong> s<strong>in</strong>gle-path wireless rout<strong>in</strong>g. Note that for each bit rater ∈ R, we have a different delivery probability p (r)iJ , whichusually decreases for higher rates. This behavior imposes atradeoff; a higher bit rate decreases the time of a s<strong>in</strong>gle packettransmission (i.e., s/r decreases), but it usually <strong>in</strong>creasesthe number of transmissions required for a packet to besuccessfully received (i.e., 1/p (r)iJ <strong>in</strong>creases).The rema<strong>in</strong><strong>in</strong>g-anypath cost D (r)Jnow also depends on thetransmission rate, s<strong>in</strong>ce the delivery probabilities change foreach rate. S<strong>in</strong>ce both the hyperl<strong>in</strong>k distance and the rema<strong>in</strong><strong>in</strong>ganypath cost depend on the bit rate, node i has a differentanypath cost D (r)i = d (r)iJ+ D(r) Jfor each forward<strong>in</strong>g set Jand for each transmission rate r ∈ R.We address the problem of f<strong>in</strong>d<strong>in</strong>g both the forward<strong>in</strong>gset and the transmission rate that m<strong>in</strong>imize the overall costto reach a particular dest<strong>in</strong>ation. We call this the shortestmultirate anypath problem, which generalizes the shortestanypathproblem [6] for the multirate scenario. Interest<strong>in</strong>gly,the shortest multirate anypath will always have equal or lowercost than the shortest s<strong>in</strong>gle path. Among all possible multirateanypaths between two nodes, we also have the s<strong>in</strong>gle path withthe shortest ETT. As a result, the cost of the shortest multirateanypath can never be higher than the cost of the shortest path.Likewise, due to the same argument, the shortest multirateanypath will also have equal or lower cost than any shortestanypath us<strong>in</strong>g a s<strong>in</strong>gle rate.dIV. FINDING THE SHORTEST MULTIRATE ANYPATHIn this section we <strong>in</strong>troduce the proposed shortest-anypathalgorithms. In Section IV-A, we present the Shortest <strong>Anypath</strong>First (SAF) algorithm used <strong>in</strong> a s<strong>in</strong>gle-rate network with theEATX metric. Our SAF algorithm, while derived <strong>in</strong>dependently,is similar to the s<strong>in</strong>gle-rate algorithm proposed byChachulski [3]. Our ma<strong>in</strong> contribution is to provide a proofof its optimality. We also use the s<strong>in</strong>gle-rate case as the basisfor the multirate generalization <strong>in</strong>troduced <strong>in</strong> Section IV-B.Surpris<strong>in</strong>gly, the Shortest <strong>Multirate</strong> <strong>Anypath</strong> First (SMAF)algorithm has the same runn<strong>in</strong>g time as a shortest s<strong>in</strong>gle-pathalgorithm for multirate, be<strong>in</strong>g suitable for deployment <strong>in</strong> l<strong>in</strong>kstaterout<strong>in</strong>g protocols. We only show the proof of optimalityof the SMAF algorithm, s<strong>in</strong>ce by def<strong>in</strong>ition this also impliesthe optimality of the SAF algorithm.A. The S<strong>in</strong>gle-Rate CaseWe now present the Shortest <strong>Anypath</strong> First algorithm used<strong>in</strong> the simpler s<strong>in</strong>gle-rate scenario. Given a graph G = (V,E),thealgorithmcalculatestheshortestanypathsfromallnodestoa dest<strong>in</strong>ation d. For every node i ∈ V we keep an estimate D i ,which is an upper-bound on the distance of the shortestanypath from i to d. In addition, we also keep a forward<strong>in</strong>gset F i for every node, which stores the set of nodes used asthe next hops to reach d. F<strong>in</strong>ally, we keep two data structures,namely S and Q. The S set stores the set of nodes for whichwe already have a shortest anypath def<strong>in</strong>ed. We store eachnode i ∈ V − S for which we still do not have a shortestanypath <strong>in</strong> a priority queue Q keyed by their D i values.SHORTEST-ANYPATH-FIRST(G,d)1 for each node i <strong>in</strong> V2 do D i ← ∞3 F i ← ∅4 D d ← 05 S ← ∅6 Q ← V7 while Q ≠ ∅8 do j ← EXTRACT-MIN(Q)9 S ← S ∪ {j}10 for each <strong>in</strong>com<strong>in</strong>g edge (i,j) <strong>in</strong> E11 do J ← F i ∪ {j}12 if D i > D j13 then D i ← d iJ + D J14 F i ← JAs <strong>in</strong> the shortest-path algorithm, the Shortest <strong>Anypath</strong> Firstalgorithm is composed of |V | rounds, dictated by the numberof elements <strong>in</strong>itially <strong>in</strong> Q. At each round, the EXTRACT-MINprocedure extracts the node with the m<strong>in</strong>imum distance tothe dest<strong>in</strong>ation from Q. Let this node be j. At this po<strong>in</strong>t,j is settled and <strong>in</strong>serted <strong>in</strong>to S, s<strong>in</strong>ce the shortest anypathfrom j to the dest<strong>in</strong>ation is now known. For each <strong>in</strong>com<strong>in</strong>gedge (i,j) ∈ E, we check if the distance D i is larger than thedistance D j . If that is the case, then node j is added to theforward<strong>in</strong>g set F i and the distance D i is updated.Figure 4 shows the execution of Shortest <strong>Anypath</strong> Firstalgorithm us<strong>in</strong>g the EATX metric. We see <strong>in</strong> Figure 4(a) thegraph right after the <strong>in</strong>itialization. Figures 4(b)–4(h) show40Authorized licensed use limited to: Univ of Calif Los Angeles. Downloaded on November 25, 2009 at 18:21 from IEEE Xplore. Restrictions apply.


8This full text paper was peer reviewed at the direction of IEEE Communications Society subject matter experts for publication <strong>in</strong> the IEEE INFOCOM 2009 proceed<strong>in</strong>gs.13881456588143827d0813881564452143727d08138715 26 142.54 35727d08135.216.55 26 142.54 35727d0(a)(b)(c)(d)6.2135.216.55 26 142.54 35727d06.2135.216.55 26 142.54 35727d06.2135.216.55 26 142.54 35727d06.2135.216.55 26 142.54 35727d0(e)(f)(g)(h)Figure 4. Execution of the Shortest <strong>Anypath</strong> First (SAF) algorithm from every node to d. The weight of each l<strong>in</strong>k is the expected number of transmissions(ETX), which is the <strong>in</strong>verse of the l<strong>in</strong>k delivery probability. (a) The situation just after the <strong>in</strong>itialization. (b)–(h) The situation after each successive iterationof the algorithm. Part (h) shows the situation after the last node is settled.each iteration of the algorithm. At each step, the value <strong>in</strong>sidea node i presents the distance D i from that node to thedest<strong>in</strong>ation d and the arrows <strong>in</strong> boldface present the shortestanypath to d.Nodes withtwocirclesarethesettlednodes <strong>in</strong> S.The graph <strong>in</strong> Figure 4(h) shows the result of SAF algorithmright after settl<strong>in</strong>g the last node.The runn<strong>in</strong>g time of the Shortest <strong>Anypath</strong> First algorithmdepends on how Q is implemented. Assum<strong>in</strong>g that we havea Fibonacci heap, the cost of each of the |V | EXTRACT-MINoperations <strong>in</strong>l<strong>in</strong>e 8takes O(log V ),withatotalof O(V log V )aggregated time. The runn<strong>in</strong>g time to calculate both d iJ andD J <strong>in</strong> l<strong>in</strong>e 13 depends on the size of J; however, if we storeadditional state, it can be reduced to a constant time [10]. Thefor loop of l<strong>in</strong>es 10–13 takes O(E) aggregated time and as aresult the total complexity of the algorithm is O(V log V +E),which is the same complexity of Dijkstra’s algorithm.B. The <strong>Multirate</strong> CaseWe now generalize the SAF algorithm to support multipletransmission rates, <strong>in</strong>troduc<strong>in</strong>g the Shortest <strong>Multirate</strong> <strong>Anypath</strong>First (SMAF) algorithm. For each node i ∈ V, we nowkeep a different distance estimate D (r)i for every rate r ∈ R.The estimate D (r)i is an upper-bound on the distance of theshortest anypath from i to d us<strong>in</strong>g transmission rate r. Inaddition, we also keep its correspond<strong>in</strong>g forward<strong>in</strong>g set F (r)i ,which stores the set of next hops used for i to reach dus<strong>in</strong>g r. We use D i and F i without the <strong>in</strong>dicated rates tostore the m<strong>in</strong>imum distance estimate among all rates and itscorrespond<strong>in</strong>g forward<strong>in</strong>g set, respectively. We also keep atransmission rate T i for every node, which stores the rate usedto reach d.The key idea of the SMAF algorithm is that each nodei ∈ V has an <strong>in</strong>dependent distance estimate D (r)i for each rater ∈ R and we keep the m<strong>in</strong>imum of these estimates as thenode distance D i . At each round of the while loop, the nodewith the m<strong>in</strong>imum distance from Q is settled. Let this nodebe j. For each <strong>in</strong>com<strong>in</strong>g edge (i,j) ∈ E, we check for everyrate r ∈ R ifthedistance D (r) islargerthanthedistance D j ofithe node just settled. If that is the case, then node j is added tothe forward<strong>in</strong>g set F (r)i of that specific rate and distance D (r)iis updated accord<strong>in</strong>gly. If the new distance D (r) is shorter thanthe node distance D i , we update the node distance D i as welliSHORTEST-MULTIRATE-ANYPATH-FIRST(G,d)1 for each node i <strong>in</strong> V2 do D i ← ∞3 F i ← ∅4 T i ← NIL5 for each rate r <strong>in</strong> R6 do D (r)i ← ∞7 F (r)i ← ∅8 D d ← 09 S ← ∅10 Q ← V11 while Q ≠ ∅12 do j ← EXTRACT-MIN(Q)13 S ← S ∪ {j}14 for each <strong>in</strong>com<strong>in</strong>g edge (i,j) <strong>in</strong> E15 do for each rate r <strong>in</strong> R16 do J ← F (r)i17 if D (r)i∪ {j}> D j18 then D (r)i19 F (r)i← d (r)iJ← J20 if D i > D (r)i+ D(r) J21 then D i ← D (r)i22 F i ← F (r)i23 T i ← ras the forward<strong>in</strong>g set F i and transmission rate T i to reflect thenew m<strong>in</strong>imum.The runn<strong>in</strong>g time of the Shortest <strong>Multirate</strong> <strong>Anypath</strong> Firstalgorithm also depends on the implementation of Q. The<strong>in</strong>itialization <strong>in</strong> l<strong>in</strong>es 1–10 takes O(V R) time. Assum<strong>in</strong>g thatwe have a Fibonacci heap, the EXTRACT-MIN operations <strong>in</strong>l<strong>in</strong>e 12 take a total of O(V log V ) aggregated time. We assumethat the distance calculation of d (r)iJand D (r)J<strong>in</strong> l<strong>in</strong>e 18 isoptimized to take a constant time [10]. As a result, the forloop <strong>in</strong> l<strong>in</strong>es 15–23 takes O(ER) aggregated time. The totalrunn<strong>in</strong>g time is therefore O(V log V + (E + V )R), which isO(V log V +ER) if all nodes are able to reach the dest<strong>in</strong>ation.This is the same runn<strong>in</strong>g time of the shortest s<strong>in</strong>gle-pathalgorithm for multiple rates. Compared to the SAF algorithm,the SMAF algorithm allows nodes to take advantage of theirmultiple transmission rates at the cost of just a small <strong>in</strong>crease<strong>in</strong> the runn<strong>in</strong>g time.41Authorized licensed use limited to: Univ of Calif Los Angeles. Downloaded on November 25, 2009 at 18:21 from IEEE Xplore. Restrictions apply.


This full text paper was peer reviewed at the direction of IEEE Communications Society subject matter experts for publication <strong>in</strong> the IEEE INFOCOM 2009 proceed<strong>in</strong>gs.In order to prove the optimality of the algorithm, we first<strong>in</strong>troduce five lemmas that show a few properties of multirateanypath rout<strong>in</strong>g. We use δ (r)i as the distance of the shortestmultirate anypath from a node i to the dest<strong>in</strong>ation d, when itransmits at a fixed rate r ∈ R. Likewise, φ (r)i represents thecorrespond<strong>in</strong>g forward<strong>in</strong>g set used <strong>in</strong> this multirate anypath.We use δ i without the <strong>in</strong>dicated rate to represent the distanceof the shortest multirate anypath from i to d via the optimalforward<strong>in</strong>gset φ i andoptimaltransmissionrate ρ ∈ R.Thatis,δ i = m<strong>in</strong> r∈R δ (r)i , ρ = argm<strong>in</strong> r∈R δ (r)i , and φ i = φ (ρ)i . Weuse D i as the distance of a particular multirate anypath from ito d, but not necessarily the shortest one. The proof for eachof these lemmas is available <strong>in</strong> [10].Lemma 1: For a fixed transmission rate, let D i be thedistance of a node i via forward<strong>in</strong>g set J and let D i ′ be thedistance via forward<strong>in</strong>g set J ′ = J ∪{n}, where D n ≥ D j forevery node j ∈ J. We have D i ′ ≤ D i if and only if D i ≥ D n .We use Lemma 1 for the comparisons <strong>in</strong> l<strong>in</strong>e 12 of theSAF algorithm and <strong>in</strong> l<strong>in</strong>e 17 of the SMAF algorithm. By thislemma, if the distance D i via J is larger than the distance D nof a neighbor node n, with D n ≥ D j for all j ∈ J, then thedistance D i ′ via J ′ = J ∪ {n} is always smaller than D i . Thatis, it is always beneficial to <strong>in</strong>clude node n <strong>in</strong> the forward<strong>in</strong>gset <strong>in</strong> order to obta<strong>in</strong> a shorter distance to the dest<strong>in</strong>ation.Lemma 2: The shortest distance δ i of a node i is alwayslarger than or equal to the shortest distance δ j of any node j<strong>in</strong> the optimal forward<strong>in</strong>g set φ i . That is, we have δ i ≥ δ j forall j ∈ φ i .Lemma 2 guarantees that if a node i uses another node j<strong>in</strong> its optimal forward<strong>in</strong>g set φ i , then distance δ i can neverbe smaller than δ j . This is equivalent to the restriction thatall weights <strong>in</strong> the graph must be nonnegative <strong>in</strong> Dijkstra’salgorithm.Lemma 3: For any transmission rate, if a node i uses anode n <strong>in</strong> its optimal forward<strong>in</strong>g set φ i and δ i = δ n , we cansafely remove n from φ i without chang<strong>in</strong>g δ i . The l<strong>in</strong>k (i,n)is said to be “redundant.”By Lemma 3, if the distances δ i = δ n of two nodes i and nare the same, then the distance δ i via forward<strong>in</strong>g set φ i isthe same as the distance via forward<strong>in</strong>g set φ i − {n}. Thatis, the distance of node i does not change if it uses n <strong>in</strong> itsforward<strong>in</strong>g set or not.Lemma 4: If the shortest distances from the neighbors ofa node i to a given dest<strong>in</strong>ation are δ 1 ≤ δ 2 ≤ ... ≤ δ n ,then φ (r)i is always of the form φ (r)i = {1,2,...,k}, for somek ∈ {1,2,...,n}.Accord<strong>in</strong>g to Lemma 4, the best forward<strong>in</strong>g set φ (r)i fortransmission rate r ∈ R is a subset of neighbors with theshortest distances to the dest<strong>in</strong>ation. That is, given a setof neighbors with distances δ 1 ≤ δ 2 ≤ ... ≤ δ n , thebest forward<strong>in</strong>g set φ (r)i when us<strong>in</strong>g rate r ∈ R is alwaysone of {1}, {1,2}, {1,2,3},...,{1,2,...,n}. As a result,forward<strong>in</strong>g sets with gaps between the neighbors, such as{2,3} or {1,4}, can never yield the shortest distance to thedest<strong>in</strong>ation. This property is the key factor that allows usto reduce the complexity of the proposed algorithms fromexponential to polynomial time. For n neighbors, we do nothave to test every one of the 2 n − 1 possible forward<strong>in</strong>g sets.Instead, we only need to check at most n forward<strong>in</strong>g sets.Lemma 5: For a given transmission rate r ∈ R, assumethat φ (r)i = {1,2,...,n} with distances δ 1 ≤ δ 2 ≤ ... ≤ δ n .If D j i is the distance from node i us<strong>in</strong>g transmission rate r viaforward<strong>in</strong>g set {1,2,...,j}, for 1 ≤ j ≤ n, then we alwayshave Di 1 ≥ D2 i ≥ ... ≥ Dn i = δ (r)i .Lemma 5 expla<strong>in</strong>s another important property necessary forthe SMAF algorithm to converge. Assum<strong>in</strong>g now that the bestforward<strong>in</strong>g set φ (r)i for transmission rate r ∈ R is def<strong>in</strong>ed as= {1,2,...,n} with distances δ 1 ≤ δ 2 ≤ ... ≤ δ n , thedistance D i monotonically decreases as we use each of theforward<strong>in</strong>g sets {1}, {1,2}, {1,2,3},...,{1,2,...,j}.We now present the proof of optimality of the algorithm.Theorem 1: Optimality of the algorithm.Let G = (V,E) be a weighted, directed, graph and let d bethe dest<strong>in</strong>ation. After runn<strong>in</strong>g the Shortest <strong>Multirate</strong> <strong>Anypath</strong>First algorithm on G, we have D i = δ i for all nodes i ∈ V.Proof: This proof is similar to the proof of Dijkstra’salgorithm [13]. We show that for each node s ∈ V, we haveD s = δ s at the time s is added to S.Forthepurposeofcontradiction,let sbethefirstnodeaddedto S for which D s ≠ δ s . We must have s ≠ d because d isthe first node added to S and D d = δ d = 0 at that time. Justbefore add<strong>in</strong>g s to S, we also have that S is not empty, s<strong>in</strong>ces ≠ dand S mustconta<strong>in</strong>atleast d.Weassumethattheremustbe a multirate anypath from s to d, otherwise D s = δ s = ∞,which contradicts our <strong>in</strong>itial assumption that D s ≠ δ s . If thereis at least one multirate anypath, there is a shortest multirateanypath α from s to d. Let us consider a cut (V − S,S)of α, such that we have s ∈ V − S and d ∈ S, as shown <strong>in</strong>Figure 5. Let the set J be composed of nodes <strong>in</strong> V − S thathave an outgo<strong>in</strong>g l<strong>in</strong>k to a node <strong>in</strong> S. Likewise, let the set Kbe composed of nodes <strong>in</strong> S that have an <strong>in</strong>com<strong>in</strong>g l<strong>in</strong>k froma node <strong>in</strong> V − S.φ (r)isV − SJiFigure 5. The shortest multirate anypath α from s to d. Set S must benonempty before node s is <strong>in</strong>serted <strong>in</strong>to it, s<strong>in</strong>ce it must conta<strong>in</strong> at least d.We consider a cut (V −S, S) of α, such that we have s ∈ V −S and d ∈ S.Nodes s and d are dist<strong>in</strong>ct but we may have no hyperl<strong>in</strong>ks between s and J,such that J = {s}, and also between K and d, such that K = {d}.Without loss of generality, assume that node i ∈ J has theshortest distance to d among all nodes <strong>in</strong> V − S. That is,δ i ≤ δ j for all j ∈ V − S. We claim that every edge leav<strong>in</strong>gnode i must necessarily cross the cut (V − S,S). Thus, forevery edge (i,j) leav<strong>in</strong>g node i, we must have j ∈ S. Toprove this claim, let us assume that node i has an edge (i,j)to another node j ∈ V − S. By Lemma 2, we know that <strong>in</strong>this case we must have δ i ≥ δ j . However, s<strong>in</strong>ce we assumedthat node i has the shortest distance <strong>in</strong> V − S, then δ i ≤ δ jKSd42Authorized licensed use limited to: Univ of Calif Los Angeles. Downloaded on November 25, 2009 at 18:21 from IEEE Xplore. Restrictions apply.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!