Routing Algorithms for Mobile Ad Hoc Networks Costas Busch (RPI) - - PowerPoint PPT Presentation

routing algorithms for mobile
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 1

Analysis of Link Reversal Routing Algorithms for Mobile Ad Hoc Networks

Costas Busch (RPI) Srikanth Surapaneni (RPI) Srikanta Tirthapura (Iowa State University)

slide-2
SLIDE 2

Talk Outline

Link Reversal Routing Previous Work & Contributions Analysis of Full Reversal Algorithm Analysis of Partial Reversal Algorithm Analysis of Deterministic Algorithms Conclusions

slide-3
SLIDE 3

Connection graph

  • f a mobile network

Destination oriented, acyclic graph Destination

Link Reversal Routing

slide-4
SLIDE 4

Link Failure

node moves

slide-5
SLIDE 5

Bad node: no path to destination Good node: at least one path to destination A bad state A good state

slide-6
SLIDE 6

sink

Full Link Reversal Algorithm

sink sink sink sink sink sink

Sinks reverse all their links

#reversals = 7 time = 5

slide-7
SLIDE 7

sink

Partial Link Reversal Algorithm

sink sink sink sink

Sinks reverse some of their links

#reversals = 5 time = 5

slide-8
SLIDE 8

) 3 , 4 , 5 , , ( Heights

) , , , (

2 1 n

a a a 

) 7 , 9 , 4 , , ( General height: higher lower Heights are ordered in lexicographic order

slide-9
SLIDE 9

) 1 , ( ) 2 , ( ) 3 , ( ) 4 , ( ) 5 , ( ) 6 , ( ) Dest , (

Full Link Reversal Algorithm ) , ( i ai Node

: i

Node ID Real height (breaks ties)

slide-10
SLIDE 10

) 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

slide-11
SLIDE 11

) 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

slide-12
SLIDE 12

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

slide-13
SLIDE 13

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

slide-14
SLIDE 14

) 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

slide-15
SLIDE 15

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

slide-16
SLIDE 16

Interesting measures: #reversals: total number of node reversals (work) Time: time needed to reach a good state (stabilization time)

slide-17
SLIDE 17

Talk Outline

Link Reversal Routing Previous Work & Contributions Analysis of Full Reversal Algorithm Analysis of Partial Reversal Algorithm Analysis of Deterministic Algorithms Conclusions

slide-18
SLIDE 18

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.
slide-19
SLIDE 19

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

slide-20
SLIDE 20

Contributions

First formal performance analysis

  • f link reversal routing algorithms

in terms of #reversals and time

slide-21
SLIDE 21

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

slide-22
SLIDE 22

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   

slide-23
SLIDE 23

Talk Outline

Link Reversal Routing Previous Work & Contributions Analysis of Full Reversal Algorithm Analysis of Partial Reversal Algorithm Analysis of Deterministic Algorithms Conclusions

slide-24
SLIDE 24

Bad state dest. Good nodes Bad nodes

slide-25
SLIDE 25

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)

slide-26
SLIDE 26

Bad state dest. Good nodes Bad nodes

slide-27
SLIDE 27

Layers of bad nodes dest. Good nodes Bad nodes

1

L

2

L

3

L

4

L

slide-28
SLIDE 28

Layers of bad nodes

1

L

2

L

3

L

m

L dest. A layer:

slide-29
SLIDE 29

There is an execution such that: Every bad node reverses exactly once

1

L

2

L

3

L

4

L

1

E

dest.

slide-30
SLIDE 30

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

slide-31
SLIDE 31

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

slide-32
SLIDE 32

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

slide-33
SLIDE 33

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

slide-34
SLIDE 34

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

slide-35
SLIDE 35

dest.

2

L

3

L

4

L There is an execution such that: Every bad node reverses exactly once

2

E

slide-36
SLIDE 36

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

slide-37
SLIDE 37

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

slide-38
SLIDE 38

dest.

4

L

At the end of execution : All nodes of layer become good nodes

3

L

3

E

slide-39
SLIDE 39

dest. At the end of execution : All nodes of layer become good nodes

4

L

4

E

slide-40
SLIDE 40

1

L

2

L

3

L

m

L dest. Reversals per node: 0

slide-41
SLIDE 41

1

L

2

L

3

L

m

L dest. Reversals per node: 1 1 1 1

End of execution

1

E

slide-42
SLIDE 42

1

L

2

L

3

L

m

L dest. Reversals per node: 1 2 2 2

End of execution

2

E

slide-43
SLIDE 43

1

L

2

L

3

L

m

L dest. Reversals per node: 1 2

3 3

End of execution

3

E

slide-44
SLIDE 44

1

L

2

L

3

L

m

L dest. Reversals per node: 1 2

3

m

End of execution

m

E

slide-45
SLIDE 45

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.

slide-46
SLIDE 46

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.

slide-47
SLIDE 47

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

slide-48
SLIDE 48

#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

slide-49
SLIDE 49

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

slide-50
SLIDE 50

Talk Outline

Link Reversal Routing Previous Work & Contributions Analysis of Full Reversal Algorithm Analysis of Partial Reversal Algorithm Analysis of Deterministic Algorithms Conclusions

slide-51
SLIDE 51

Bad state dest. Good nodes Bad nodes

slide-52
SLIDE 52

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

slide-53
SLIDE 53

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

slide-54
SLIDE 54

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

slide-55
SLIDE 55

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

slide-56
SLIDE 56

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  

slide-57
SLIDE 57

#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  

slide-58
SLIDE 58

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

slide-59
SLIDE 59

Talk Outline

Link Reversal Routing Previous Work & Contributions Analysis of Full Reversal Algorithm Analysis of Partial Reversal Algorithm Analysis of Deterministic Algorithms Conclusions

slide-60
SLIDE 60

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

slide-61
SLIDE 61

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……

slide-62
SLIDE 62

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

slide-63
SLIDE 63

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

slide-64
SLIDE 64

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

slide-65
SLIDE 65

Talk Outline

Link Reversal Routing Previous Work & Contributions Analysis of Full Reversal Algorithm Analysis of Partial Reversal Algorithm Analysis of Deterministic Algorithms Conclusions

slide-66
SLIDE 66
  • 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