Analysis of Link Reversal Routing Algorithms for Mobile Ad Hoc Networks Costas Busch (RPI) Srikanth Surapaneni (RPI) Srikanta Tirthapura (Iowa State University)
Talk Outline Link Reversal Routing Previous Work & Contributions Analysis of Full Reversal Algorithm Analysis of Partial Reversal Algorithm Analysis of Deterministic Algorithms Conclusions
Connection graph of a mobile network Destination oriented, acyclic graph Destination Link Reversal Routing
Link Failure node moves
Bad node: no path to destination Good node: at least one path to destination A bad stateA good state
sink Full Link Reversal Algorithm sink Sinks reverse all their links #reversals = 7time = 5
sink Partial Link Reversal Algorithm sink Sinks reverse some of their links #reversals = 5time = 5
Heights General height: higher lower Heights are ordered in lexicographic order
Full Link Reversal Algorithm Node Node IDReal height (breaks ties)
Full Link Reversal Algorithm Sink before reversalafter reversal
Full Link Reversal Algorithm
Partial Link Reversal Algorithm Node Node ID Real height (breaks ties) memory
Partial Link Reversal Algorithm Sink before reversalafter reversal
Partial Link Reversal Algorithm
Deterministic Link Reversal Algorithms Sink before reversalafter reversal Deterministic function
Interesting measures: #reversals: total number of node reversals (work) Time: time needed to reach a good state (stabilization time)
Talk Outline Link Reversal Routing Previous Work & Contributions Analysis of Full Reversal Algorithm Analysis of Partial Reversal Algorithm Analysis of Deterministic Algorithms Conclusions
Previous Work Gafni and Bertsekas: IEEE Tsans. on Commun Introduction of the problem First proof of stability Park and Corson: INFOCOM 1997 TORA – Temporally Ordered Routing Alg. Variation of partial reversal Deals with partitions Corson and Ephremides: Wireless Net. Jour LMR – Lightweight Mobile Routing Alg.
Previous Work Malpani, Welch and Vaidya.: Workshop on Discr. Alg. And methods for mobile comput. and commun Leader election based on TORA (partial) proof of stability Experimental work and surveys: Broch et al.: MOBICOM 1998 Samir et al.: IC3N 1998 Perkins: “Add Hoc Networking”, Ad. Wesley 2000 Rajamaran: SIGACT news 2002
Contributions First formal performance analysis of link reversal routing algorithms in terms of #reversals and time
Contributions Full reversal algorithm: #reversals and time: bad nodes There are worst-cases with: Partial reversal algorithm: #reversals and time: There are worst-cases with: depends on the network state
Contributions Any deterministic algorithm: #reversals and time: bad nodes There are states such that Full reversal is worst-case optimal Partial reversal is not !
Talk Outline Link Reversal Routing Previous Work & Contributions Analysis of Full Reversal Algorithm Analysis of Partial Reversal Algorithm Analysis of Deterministic Algorithms Conclusions
Bad state dest. Good nodes Bad nodes
Resulting Good state dest. For any execution of the full reversal algorithm: #reversals is the same Final state is the same (this holds for any deterministic algorithm)
Bad state dest. Good nodes Bad nodes
Layers of bad nodes dest. Good nodes Bad nodes
Layers of bad nodes dest. A layer:
There is an execution such that: Every bad node reverses exactly once dest.
r r r There is an execution such that: Every bad node reverses exactly once
dest. r r r r r There is an execution such that: Every bad node reverses exactly once
dest. r r r r r r r r There is an execution such that: Every bad node reverses exactly once
dest. The remaining bad nodes return to the same state as before the execution At the end of execution : All nodes of layer become good nodes r r r r r r r r r r r r
dest. At the end of execution : The remaining bad nodes return to the same state as before the execution All nodes of layer become good nodes
dest. There is an execution such that: Every bad node reverses exactly once
dest. At the end of execution : The remaining bad nodes return to the same state as before the execution All nodes of layer become good nodes
dest. At the end of execution : The remaining bad nodes return to the same state as before the execution All nodes of layer become good nodes
dest. At the end of execution : All nodes of layer become good nodes
dest. At the end of execution : All nodes of layer become good nodes
dest. Reversals per node:
dest. Reversals per node: End of execution
dest. Reversals per node: End of execution
dest. Reversals per node: End of execution
dest. Reversals per node: End of execution
Each node in layer reverses times Reversals per node: dest.
Reversals per node: Nodes per layer: #reversals: dest.
For bad nodes, trivial upper bound: #reversals: (#reversals and time) dest.
#reversals bound is tight dest. Reversals per node: #reversals:
None of these reversals are performed in parallel time bound is tight dest. #nodes = #reversals in layer : Time needed
Talk Outline Link Reversal Routing Previous Work & Contributions Analysis of Full Reversal Algorithm Analysis of Partial Reversal Algorithm Analysis of Deterministic Algorithms Conclusions
Bad state dest. Good nodesBad nodes
Layers of bad nodes dest. Good nodesBad nodes Nodes at layer are at distance from good nodes
Layers of bad nodes dest. alpha value
when the network reaches a good state: upper bound on alpha value dest.
when the network reaches a good state: upper bound on reversals per node dest.
when the network reaches a good state: dest. For bad nodes: a bad node reverses at most times #reversals and time:
#reversals bound is tight dest. Reversals per node: #reversals:
None of these reversals are performed in parallel time bound is tight dest. #nodes = #reversals in layer : Time needed
Talk Outline Link Reversal Routing Previous Work & Contributions Analysis of Full Reversal Algorithm Analysis of Partial Reversal Algorithm Analysis of Deterministic Algorithms Conclusions
Layers of bad nodes dest. Good nodesBad nodes Nodes at layer are at distance from good nodes
Layers of bad nodes dest. for any height function g, there is an initial assignment of heights such that……
when the network reaches a good state: lower bound on reversals per node dest.
Reversals per node: #reversals: Lower Bound on #reversals
None of these reversals are performed in parallel dest. #nodes = #reversals in layer : Time needed Lower Bound on time
Talk Outline Link Reversal Routing Previous Work & Contributions Analysis of Full Reversal Algorithm Analysis of Partial Reversal Algorithm Analysis of Deterministic Algorithms Conclusions
We gave the first formal performance analysis of deterministic link reversal algorithms Open problems: Improve worst-case performance of partial link reversal algorithm Analyze randomized algorithms Analyze average-case performance