780 likes | 792 Views
Analysis of Link Reversal Routing Algorithms. Srikanta Tirthapura (Iowa State University) joint work with Costas Busch (Renssaeler Polytechnic Institute). Wireless Ad Hoc and Sensor Networks. Node Failures. Nodes might go to sleep. Nodes might move.
E N D
Analysis of Link Reversal Routing Algorithms Srikanta Tirthapura (Iowa State University) joint work with Costas Busch (Renssaeler Polytechnic Institute)
Wireless Ad Hoc and Sensor Networks Node Failures Nodes might go to sleep Nodes might move
Algorithms for Wireless Ad Hoc and Sensor Networks • Algorithms should be simple and distributed • Self-stabilizing (or self-healing) in the face of failures
Research Goal • Design Algorithms for which we can • Prove convergence • Analyze performance • Predict behavior on large scale networks • Complementary to evaluation through simulation and experiments
Link Reversal Algorithms • Very simple • Been around for 20 years • Gafni-Bertsekas • Full Reversal Algorithm • Partial Reversal Algorithm • Our Contribution:First formal performance analysis of link reversal in terms of work and time
Talk Outline • Link Reversal Routing • Previous Work & Contributions • Our Analysis • Basic Properties of Link Reversal • Full Reversal Algorithm • Partial Reversal Algorithm • Lower Bounds • Conclusions
Distributed Dynamic Graph Problem • Communication Graph: • Vertices = Computers (perhaps mobile) • Edges = Wireless communication links • Task: Maintain a distributed structure on this graph • Routing • Leader Election • Issues: • Deal with node and link failures • Acyclicity
Aim of Link Reversal Destination oriented, directed acyclic graph Connection graph of a wireless network Destination
Link Failure node moves
A bad state A good state Bad node: no path to destination Good node:at least one path to destination
Full Link Reversal Algorithm sink sink sink sink sink sink sink Sinks reverse all their links #reversals = 7 time = 5
Partial Link Reversal Algorithm sink sink sink sink sink Sinks reverse some of their links time = 5 #reversals = 5
Heights and Acyclicity General height: higher lower Heights are ordered in lexicographic order Observation: Directed Graph is always acyclic
Full Link Reversal Algorithm Node Real height Node ID (breaks ties)
Full Link Reversal Algorithm sink Sink before reversal after reversal
Partial Link Reversal Algorithm Node Node ID memory Real height (breaks ties)
Partial Link Reversal Algorithm sink Sink before reversal after reversal
Deterministic Link Reversal Algorithms Sink before reversal after reversal Deterministic function
Metrics # reversals:total number of node reversals till stabilization (work) Time: number of parallel time steps till stabilization
Talk Outline • Link Reversal Routing • Previous Work & Contributions • Our Analysis • Basic Properties of Link Reversal • Full Reversal Algorithm • Partial Reversal Algorithm • Lower Bounds • Conclusions
Previous Work Gafni and Bertsekas: 1981 • Designed First Reversal Algorithms • Proof of stability (eventual convergence) Corson and Ephremides: Wireless Net. Jour. 1995 • LMR – Lightweight Mobile Routing Alg. Park and Corson: INFOCOM 1997 • TORA – Temporally Ordered Routing Alg. • - Variation of partial reversal • - Deals with partitions
Previous Work Malpani, Welch and Vaidya.: DIAL-M 2000 • Distributed Leader election based on TORA • (partial) proof of stability • Intanagonwiwat, Govindan, Estrin: MOBICOM 00 • “Directed Diffusion” – Sensor network routing • Similar to the TORA algorithm Experimental work and surveys: Broch et al.: MOBICOM 1998 Samir et al.: IC3N 1998 Perkins: “Ad Hoc Networking”, Rajamaran: SIGACT news 2002
Contributions First formal performance analysis of link reversal routing algorithms in terms of #reversals and time
The Good News • The work and time taken depend only on the number of nodes which have lost their paths to destination • Algorithm is Local
Further News bad nodes Full reversal algorithm: #reversals and time: There are worst-cases with: Partial reversal algorithm: #reversals and time: There are worst-cases with: depends on the network state
More News – Lower Bound bad nodes Any deterministic algorithm: There are states such that #reversals and time: Full reversal alg. is worst-case optimal Partial reversal alg. is not!
Talk Outline • Link Reversal Routing • Previous Work & Contributions • Our Analysis • Basic Properties of Link Reversal • Full Reversal Algorithm • Partial Reversal Algorithm • Lower Bounds • Conclusions
Definitions dest. Good nodes Bad nodes Bad state
Resulting Good state dest.
Good Nodes Never Reverse dest. Good nodes Proof by a simple induction on distance from dest.
Schedule of Reversals is NOT important • Lemma: For all executions of any deterministic reversal algorithm starting from the same initial state • # of reversals is the same • Final state is the same • For upper bounds and lower bounds, we can choose a “convenient” execution schedule
Talk Outline • Link Reversal Routing • Previous Work & Contributions • Our Analysis • Basic Properties of Link Reversal • Full Reversal Algorithm • Partial Reversal Algorithm • Lower Bounds • Conclusions
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 segment such that: Every bad node reverses exactly once dest.
There is an execution segment such that: Every bad node reverses exactly once r r dest. r
There is an execution segment such that: Every bad node reverses exactly once r r dest. r r r
There is an execution segment such that: Every bad node reverses exactly once r r dest. r r r r r r
At the end of execution : • All nodes of layer become good nodes • The remaining bad nodes return to the • same state as before the execution r r r r r dest. r r r r r r r
At the end of execution : • All nodes of layer become good nodes • The remaining bad nodes return to the • same state as before the execution dest.
There is an execution such that: Every (remaining) bad node reverses exactly once dest.
At the end of execution : • All nodes of layer become good nodes • The remaining bad nodes return to the • same state as before the execution dest.
At the end of execution : • All nodes of layer become good nodes • The remaining bad nodes return to the • same state as before the execution 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.
dest. Reversals per node: