Routing Algorithms for Mobile Ad Hoc Networks Costas Busch (RPI) - - PowerPoint PPT Presentation
Routing Algorithms for Mobile Ad Hoc Networks Costas Busch (RPI) - - PowerPoint PPT Presentation
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
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
- f 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 state A good state
sink
Full Link Reversal Algorithm
sink sink sink sink sink sink
Sinks reverse all their links
#reversals = 7 time = 5
sink
Partial Link Reversal Algorithm
sink sink sink sink
Sinks reverse some of their links
#reversals = 5 time = 5
) 3 , 4 , 5 , , ( Heights
) , , , (
2 1 n
a a a
) 7 , 9 , 4 , , ( General height: higher lower Heights are ordered in lexicographic order
) 1 , ( ) 2 , ( ) 3 , ( ) 4 , ( ) 5 , ( ) 6 , ( ) Dest , (
Full Link Reversal Algorithm ) , ( i ai Node
: i
Node ID Real height (breaks ties)
) 1 , ( ) 2 , ( ) 3 , ( ) 4 , ( ) 5 , ( ) 6 , ( ) Dest , (
Full Link Reversal Algorithm ) , ( i ai Sink
: i
) 1 , ( ) 2 , ( ) 3 , ( ) 4 , ( ) 5 , ( ) 6 , 1 ( ) Dest , (
before reversal after reversal ) , ( i ai 1 )} ( : max{ i N j a a
j i
) 1 , ( ) 2 , ( ) 3 , ( ) 4 , ( ) 5 , ( ) 6 , ( ) Dest , ( ) 1 , ( ) 2 , ( ) 3 , ( ) 4 , ( ) 5 , ( ) 6 , 1 ( ) Dest , ( ) 1 , ( ) 2 , ( ) 3 , 2 ( ) 4 , ( ) 5 , 2 ( ) 6 , 1 ( ) Dest , ( ) 1 , ( ) 2 , 3 ( ) 3 , 2 ( ) 4 , ( ) 5 , 2 ( ) 6 , 3 ( ) Dest , ( ) 1 , 4 ( ) 2 , 3 ( ) 3 , 4 ( ) 4 , ( ) 5 , 2 ( ) 6 , 3 ( ) Dest , (
Full Link Reversal Algorithm
Partial Link Reversal Algorithm ) , , ( i b a
i i
Node
: i
Node ID Real height (breaks ties)
) 1 , 4 , ( ) 2 , 3 , ( ) 3 , 2 , ( ) 4 , 5 , ( ) 5 , 2 , ( ) 6 , 1 , ( ) Dest , , (
memory
Partial Link Reversal Algorithm ) , , ( i b a
i i
Sink : i before reversal after reversal ) , , ( i b a
i i
1 )} ( : min{ i N j a a
j i
) 1 , 4 , ( ) 2 , 3 , ( ) 3 , 2 , ( ) 4 , 5 , ( ) 5 , 2 , ( ) 6 , 1 , ( ) Dest , , ( ) 1 , 4 , ( ) 2 , 3 , ( ) 3 , 2 , ( ) 4 , 5 , ( ) 5 , 2 , ( ) 6 , 1 , 1 ( ) Dest , , (
1 } and ) ( : min{
j i j i
b a i N j b b
) 1 , 4 , ( ) 2 , 3 , ( ) 3 , 2 , ( ) 4 , 5 , ( ) 5 , 2 , ( ) 6 , 1 , ( ) Dest , , ( ) 1 , 4 , ( ) 2 , 3 , ( ) 3 , 2 , ( ) 4 , 5 , ( ) 5 , 2 , ( ) 6 , 1 , 1 ( ) Dest , , ( ) 1 , 4 , ( ) 2 , 3 , ( ) 3 , , 1 ( ) 4 , 5 , ( ) 5 , , 1 ( ) 6 , 1 , 1 ( ) Dest , , ( ) 1 , 4 , ( ) 2 , 1 , 1 ( ) 3 , , 1 ( ) 4 , 5 , ( ) 5 , , 1 ( ) 6 , 1 , 1 ( ) Dest , , ( ) 1 , 2 , 1 ( ) 2 , 1 , 1 ( ) 3 , , 1 ( ) 4 , 5 , ( ) 5 , , 1 ( ) 6 , 1 , 1 ( ) Dest , , (
Partial Link Reversal Algorithm
Deterministic Link Reversal Algorithms
h
1
h
2
h
3
h
4
h
5
h h Sink : i before reversal after reversal h
1
h
2
h
3
h
4
h
5
h ) , , , , (
2 1 k
h h h h g h
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. 1981
- 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. 1995
- LMR – Lightweight Mobile Routing Alg.
Previous Work
Malpani, Welch and Vaidya.: Workshop on Discr. Alg.
And methods for mobile comput. and commun. 2000
- 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
- f link reversal routing algorithms
in terms of #reversals and time
Contributions
Full reversal algorithm:
#reversals and time:
) ( 2 n O
n bad nodes
There are worst-cases with:
) ( 2 n
Partial reversal algorithm:
) (
2
n a n O
#reversals and time: There are worst-cases with:
) (
2
n a n
a
depends on the network state
Contributions
Any deterministic algorithm:
#reversals and time:
n bad nodes
) ( 2 n
There are states such that
Full reversal is worst-case optimal Partial reversal is not!
) ( 2 n ) (
2
n a n
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
1
L
2
L
3
L
4
L
Layers of bad nodes
1
L
2
L
3
L
m
L dest. A layer:
There is an execution such that: Every bad node reverses exactly once
1
L
2
L
3
L
4
L
1
E
dest.
dest.
1
L
2
L
3
L
4
L
r r r
There is an execution such that: Every bad node reverses exactly once
1
E
dest.
1
L
2
L
3
L
4
L
r r r r r
There is an execution such that: Every bad node reverses exactly once
1
E
dest.
1
L
2
L
3
L
4
L
r r r r r r r r
There is an execution such that: Every bad node reverses exactly once
1
E
dest.
1
L
2
L
3
L
4
L
- 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
1
L
r r r r r r r r r r r r
1
E
dest.
2
L
3
L
4
L
At the end of execution :
1
E
- The remaining bad nodes return to the
same state as before the execution
- All nodes of layer become good nodes
1
L
dest.
2
L
3
L
4
L There is an execution such that: Every bad node reverses exactly once
2
E
dest.
2
L
3
L
4
L
At the end of execution :
2
E
- The remaining bad nodes return to the
same state as before the execution
- All nodes of layer become good nodes
2
L
dest.
3
L
4
L
At the end of execution :
2
E
- The remaining bad nodes return to the
same state as before the execution
- All nodes of layer become good nodes
2
L
dest.
4
L
At the end of execution : All nodes of layer become good nodes
3
L
3
E
dest. At the end of execution : All nodes of layer become good nodes
4
L
4
E
1
L
2
L
3
L
m
L dest. Reversals per node: 0
1
L
2
L
3
L
m
L dest. Reversals per node: 1 1 1 1
End of execution
1
E
1
L
2
L
3
L
m
L dest. Reversals per node: 1 2 2 2
End of execution
2
E
1
L
2
L
3
L
m
L dest. Reversals per node: 1 2
3 3
End of execution
3
E
1
L
2
L
3
L
m
L dest. Reversals per node: 1 2
3
m
End of execution
m
E
Each node in layer reverses times
i
L
i
Reversals per node: 1 2
3
m
1
L
2
L
3
L
m
L dest.
Reversals per node: 1 2
3
m Nodes per layer:
1
n
2
n
3
n
m
n #reversals:
1
1 n
2
2 n
3
3 n
m
n m
1
L
2
L
3
L
m
L dest.
For bad nodes, trivial upper bound:
n
) ( 2 n O
#reversals:
1
1 n
2
2 n
3
3 n
m
n m
(#reversals and time)
1
L
2
L
3
L
m
L dest. n n
#reversals bound is tight
1
L
2
L
3
L
n
L
dest.
Reversals per node: 1 2
3 n
#reversals:
) ( 3 2 1
2
n n
) ( 2 n O
None of these reversals are performed in parallel time bound is tight
1
L
2
L
1 2 / n
L
dest.
) ( 2 n O
2 / n
L
1 2 n
#nodes =
#reversals in layer :
2 / n
L ) ( 1 2
2 2
n n ) ( 2 n 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 nodes Bad nodes
Layers of bad nodes dest. Good nodes Bad nodes
1
L
2
L
3
L
4
L
5
L Nodes at layer are at distance from good nodes
i
L
i
Layers of bad nodes
1
L
2
L
3
L
m
L dest. ) , , ( i b a
i i
) , , ( max i b a
i
) , , ( min i b a
i
alpha value
max
a
min
a
min
a
when the network reaches a good state: upper bound
- n alpha value
1
L
2
L
3
L
m
L dest. 1
max
a 2
3
max
a m
min
a
min
a
when the network reaches a good state: upper bound
- n reversals
per node
1
L
2
L
3
L
m
L dest. 1
a 2
3
m
min max
a a a
max
a
min
a
min
a
when the network reaches a good state:
1
L
2
L
3
L
m
L dest. 1
a 2
3
max
a m For bad nodes: n a bad node reverses at most times n a
min
a
min
a #reversals and time: ) (
2
n a n O
#reversals bound is tight
1
L
2
L
3
L
n
L
dest.
Reversals per node: 1
a 2
3
n #reversals:
) (
2
n a n
) (
2
n a n O
None of these reversals are performed in parallel time bound is tight
1
L
2
L
1 2 / n
L
dest.
2 / n
L
2 n
#nodes =
#reversals in layer :
2 / n
L ) (
2
n a n
) (
2
n a n
Time needed
) (
2
n a n O
1 2 / n
L
2 2 n a n
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 nodes Bad nodes
1
L
2
L
3
L
4
L
5
L Nodes at layer are at distance from good nodes
i
L
i
Layers of bad nodes
1
L
2
L
3
L
m
L dest. for any height function g, there is an initial assignment of heights such that……
when the network reaches a good state: lower bound
- n reversals
per node
1
L
2
L
3
L
m
L dest. 1 2 1 m
1
L
2
L
3
L
n
L
dest.
Reversals per node: 1 2
1 n #reversals:
) ( 3 2 1
2
n n
Lower Bound on #reversals
None of these reversals are performed in parallel
1
L
2
L
1 2 / n
L
dest.
2 / n
L
2 n
#nodes =
#reversals in layer :
2 / n
L ) ( 2 n ) ( 2 n Time needed
1 2 / n
L
1 2 2 n n
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
- f partial link reversal algorithm
- Analyze randomized algorithms
- Analyze average-case performance