Routing Algorithms using Random Walks with Tabu...

Preview:

Citation preview

Introduction Random Walks Random Walks with Tabu Lists In Messages In Nodes Experimental Results Conclusion

Routing Algorithms using Random Walkswith Tabu Lists

Karine Altisen, Stéphane Devismes, Pascal Lafourcade andClément Ponsonnet

Verimag, University of Grenoble

ALGOTEL 2011 : May, Cap Estérel

1 / 34

Introduction Random Walks Random Walks with Tabu Lists In Messages In Nodes Experimental Results Conclusion

Wireless Sensor Network (WSN)

a b

a

b c

d e

f PP

A node has :I low memory,I low computation powerI finite battery.

2 / 34

Introduction Random Walks Random Walks with Tabu Lists In Messages In Nodes Experimental Results Conclusion

Routing

a

b c

d e

f P

a

3 / 34

Introduction Random Walks Random Walks with Tabu Lists In Messages In Nodes Experimental Results Conclusion

Routing

a

b c

d e

f P

a

d

f

e

P

3 / 34

Introduction Random Walks Random Walks with Tabu Lists In Messages In Nodes Experimental Results Conclusion

Settings

I One sink/Multi sourceI ConnectedI IdentifiedI ReliableI AsynchronousI Spontaneous requests

Hitting TimeAverage number of hops to reach the sink

4 / 34

Introduction Random Walks Random Walks with Tabu Lists In Messages In Nodes Experimental Results Conclusion

Plan

Introduction

Random Walks

Random Walks with Tabu Lists

In Messages

In Nodes

Experimental Results

Conclusion

5 / 34

Introduction Random Walks Random Walks with Tabu Lists In Messages In Nodes Experimental Results Conclusion

Plan

Introduction

Random Walks

Random Walks with Tabu Lists

In Messages

In Nodes

Experimental Results

Conclusion

6 / 34

Introduction Random Walks Random Walks with Tabu Lists In Messages In Nodes Experimental Results Conclusion

Random Walk

Uniform Law: P(u) = 1|Nu |

a

b c

d e

f P

a

7 / 34

Introduction Random Walks Random Walks with Tabu Lists In Messages In Nodes Experimental Results Conclusion

Random Walk

Uniform Law: P(u) = 1|Nu |

a

b c

d e

f P

a

d

7 / 34

Introduction Random Walks Random Walks with Tabu Lists In Messages In Nodes Experimental Results Conclusion

Random Walk

Uniform Law: P(u) = 1|Nu |

a

b c

d e

f P

a

d

f

7 / 34

Introduction Random Walks Random Walks with Tabu Lists In Messages In Nodes Experimental Results Conclusion

Random Walk

Uniform Law: P(u) = 1|Nu |

a

b c

d e

f P

a

d

f

e

7 / 34

Introduction Random Walks Random Walks with Tabu Lists In Messages In Nodes Experimental Results Conclusion

Random Walk

Uniform Law: P(u) = 1|Nu |

a

b c

d e

f P

a

d

f

e

7 / 34

Introduction Random Walks Random Walks with Tabu Lists In Messages In Nodes Experimental Results Conclusion

Random Walk

Uniform Law: P(u) = 1|Nu |

a

b c

d e

f P

a

d

f

e

7 / 34

Introduction Random Walks Random Walks with Tabu Lists In Messages In Nodes Experimental Results Conclusion

Random Walk

Uniform Law: P(u) = 1|Nu | Complexity: O(N3)

a

b c

d e

f P

a

d

f

e

P

7 / 34

Introduction Random Walks Random Walks with Tabu Lists In Messages In Nodes Experimental Results Conclusion

RWLD by Yamashita et al.

δu = number of neighbours of u Complexity: O(N2)

P(u) = δ− 1

2u∑

w∈Nv

δ− 1

2w

Avoiding high degree nodes

Worst Case:

1 2 3 45

6

7

8

9

8 / 34

Introduction Random Walks Random Walks with Tabu Lists In Messages In Nodes Experimental Results Conclusion

RWLD by Yamashita et al.

δu = number of neighbours of u Complexity: O(N2)

P(u) = δ− 1

2u∑

w∈Nv

δ− 1

2w

Avoiding high degree nodes

Worst Case:

1 2 3 45

6

7

8

9

8 / 34

Introduction Random Walks Random Walks with Tabu Lists In Messages In Nodes Experimental Results Conclusion

Routing by Random Walk

ProsI Message lengthI Tight local computation and memoryI No overlayI No control messages (no load effect)I . . .

ConsI Hitting time is O(N3) (RW) and O(N2) (RWLD)

9 / 34

Introduction Random Walks Random Walks with Tabu Lists In Messages In Nodes Experimental Results Conclusion

Plan

Introduction

Random Walks

Random Walks with Tabu Lists

In Messages

In Nodes

Experimental Results

Conclusion

10 / 34

Introduction Random Walks Random Walks with Tabu Lists In Messages In Nodes Experimental Results Conclusion

Random Walk with Tabu Lists

I Idea : Add memory to help random walks.Avoiding cycles

I Store hints about previous choices

Is it a “good” trade-off ?

11 / 34

Introduction Random Walks Random Walks with Tabu Lists In Messages In Nodes Experimental Results Conclusion

Where is the Tabu List?

Two Options

In Messages (Pessimistic)

In Nodes (Optimistic)

Same Goal: Detecting and Avoiding Cycles

12 / 34

Introduction Random Walks Random Walks with Tabu Lists In Messages In Nodes Experimental Results Conclusion

Where is the Tabu List?

Two Options

In Messages (Pessimistic)

In Nodes (Optimistic)

Same Goal: Detecting and Avoiding Cycles

12 / 34

Introduction Random Walks Random Walks with Tabu Lists In Messages In Nodes Experimental Results Conclusion

How to deal with Full List?

Small memory and battery ⇒ small finite size of tabu list.• A node identity appears only once in the Tabu List.

Two Policies for updating.

Variation of FIFO (First In First out)

I If N ∈ TL then N becomes first.I Otherwise Add N and Remove the older node.

RANDIf N 6∈ TL then

I Randomly remove a node in TL.I Add N instead.

Otherwise keep the current TL.

13 / 34

Introduction Random Walks Random Walks with Tabu Lists In Messages In Nodes Experimental Results Conclusion

How to deal with Full List?

Small memory and battery ⇒ small finite size of tabu list.• A node identity appears only once in the Tabu List.

Two Policies for updating.

Variation of FIFO (First In First out)

I If N ∈ TL then N becomes first.I Otherwise Add N and Remove the older node.

RANDIf N 6∈ TL then

I Randomly remove a node in TL.I Add N instead.

Otherwise keep the current TL.

13 / 34

Introduction Random Walks Random Walks with Tabu Lists In Messages In Nodes Experimental Results Conclusion

How to deal with Full List?

Small memory and battery ⇒ small finite size of tabu list.• A node identity appears only once in the Tabu List.

Two Policies for updating.

Variation of FIFO (First In First out)

I If N ∈ TL then N becomes first.I Otherwise Add N and Remove the older node.

RANDIf N 6∈ TL then

I Randomly remove a node in TL.I Add N instead.

Otherwise keep the current TL.

13 / 34

Introduction Random Walks Random Walks with Tabu Lists In Messages In Nodes Experimental Results Conclusion

How to deal with Full List?

Small memory and battery ⇒ small finite size of tabu list.• A node identity appears only once in the Tabu List.

Two Policies for updating.

Variation of FIFO (First In First out)

I If N ∈ TL then N becomes first.I Otherwise Add N and Remove the older node.

RANDIf N 6∈ TL then

I Randomly remove a node in TL.I Add N instead.

Otherwise keep the current TL. 13 / 34

Introduction Random Walks Random Walks with Tabu Lists In Messages In Nodes Experimental Results Conclusion

Parameters of our algorithms

I 2 Locations of tabu lists: Message vs NodesI 2 Updates : FIFO vs RANDI k = Size of tabu list

14 / 34

Introduction Random Walks Random Walks with Tabu Lists In Messages In Nodes Experimental Results Conclusion

Plan

Introduction

Random Walks

Random Walks with Tabu Lists

In Messages

In Nodes

Experimental Results

Conclusion

15 / 34

Introduction Random Walks Random Walks with Tabu Lists In Messages In Nodes Experimental Results Conclusion

Idea of TLM

Avoiding Cycles!

I Store IDs of visited nodes.I Visit new nodes first.

16 / 34

Introduction Random Walks Random Walks with Tabu Lists In Messages In Nodes Experimental Results Conclusion

TLM(2,FIFOUpdate)

Size 2 avoids cycle of size 3.

A B C

DE

A

FIFO (First In First Out)

Tabu List:Visited Node : A

17 / 34

Introduction Random Walks Random Walks with Tabu Lists In Messages In Nodes Experimental Results Conclusion

TLM(2,FIFOUpdate)

Size 2 avoids cycle of size 3.

A B C

DE

A

FIFO (First In First Out)

Tabu List:Visited Node : B A

17 / 34

Introduction Random Walks Random Walks with Tabu Lists In Messages In Nodes Experimental Results Conclusion

TLM(2,FIFOUpdate)

Size 2 avoids cycle of size 3.

A B C

DE

A B

FIFO (First In First Out)

Tabu List:Visited Node : C A B

17 / 34

Introduction Random Walks Random Walks with Tabu Lists In Messages In Nodes Experimental Results Conclusion

TLM(2,FIFOUpdate)

Size 2 avoids cycle of size 3.

A B C

DE

B C

FIFO (First In First Out)

Tabu List:Visited Node : D B C

17 / 34

Introduction Random Walks Random Walks with Tabu Lists In Messages In Nodes Experimental Results Conclusion

TLM(2,FIFOUpdate)

Size 2 avoids cycle of size 3.

A B C

DE

C

D

FIFO (First In First Out)

Tabu List:Visited Node : E C D

17 / 34

Introduction Random Walks Random Walks with Tabu Lists In Messages In Nodes Experimental Results Conclusion

TLM(2,FIFOUpdate)

Size 2 avoids cycle of size 3.

A B C

DE DE

FIFO (First In First Out)

Tabu List:Visited Node : A D E

17 / 34

Introduction Random Walks Random Walks with Tabu Lists In Messages In Nodes Experimental Results Conclusion

Summary of TLM

I Store in each message a list of already visited nodes.I Select first nodes not in the Tabu List.I Two updates policies : FIFO or RAND

Dead-end

If all neighbours are in the Tabu Listthen we use RWLD.

18 / 34

Introduction Random Walks Random Walks with Tabu Lists In Messages In Nodes Experimental Results Conclusion

Plan

Introduction

Random Walks

Random Walks with Tabu Lists

In Messages

In Nodes

Experimental Results

Conclusion

19 / 34

Introduction Random Walks Random Walks with Tabu Lists In Messages In Nodes Experimental Results Conclusion

Idea of TLCN

Detect cycles by learning.Avoid to route to cycles.

I One list per destination : Store message ID.I One counter per destination : Detection of cycles.

20 / 34

Introduction Random Walks Random Walks with Tabu Lists In Messages In Nodes Experimental Results Conclusion

TLCN(2,FIFOUpdate)

Cycle detection

AD B

C

1

1

1

21 / 34

Introduction Random Walks Random Walks with Tabu Lists In Messages In Nodes Experimental Results Conclusion

TLCN(2,FIFOUpdate)

Cycle detection

AD B

C

m1

1

1

1

PvTLCN(Counter)(u) =

Counter [u]−1 × δ−1/2u∑

w∈Nv

Counter [w ]−1 × δ−1/2w 21 / 34

Introduction Random Walks Random Walks with Tabu Lists In Messages In Nodes Experimental Results Conclusion

TLCN(2,FIFOUpdate)

Cycle detection

AD B

C

m1

1

1 1

1

PvTLCN(Counter)(u) =

Counter [u]−1 × δ−1/2u∑

w∈Nv

Counter [w ]−1 × δ−1/2w 21 / 34

Introduction Random Walks Random Walks with Tabu Lists In Messages In Nodes Experimental Results Conclusion

TLCN(2,FIFOUpdate)

Cycle detection

AD B

C

m2

1

1 1

1

PvTLCN(Counter)(u) =

Counter [u]−1 × δ−1/2u∑

w∈Nv

Counter [w ]−1 × δ−1/2w 21 / 34

Introduction Random Walks Random Walks with Tabu Lists In Messages In Nodes Experimental Results Conclusion

TLCN(2,FIFOUpdate)

Cycle detection

AD B

C

m2

2 1

1 1

1

PvTLCN(Counter)(u) =

Counter [u]−1 × δ−1/2u∑

w∈Nv

Counter [w ]−1 × δ−1/2w 21 / 34

Introduction Random Walks Random Walks with Tabu Lists In Messages In Nodes Experimental Results Conclusion

TLCN(2,FIFOUpdate)

Cycle detection

AD B

C

m3

2 1

1 1

1

PvTLCN(Counter)(u) =

Counter [u]−1 × δ−1/2u∑

w∈Nv

Counter [w ]−1 × δ−1/2w 21 / 34

Introduction Random Walks Random Walks with Tabu Lists In Messages In Nodes Experimental Results Conclusion

TLCN(2,FIFOUpdate)

Cycle detection

AD B

C

m3

2 1

1 3 1

1

PvTLCN(Counter)(u) =

Counter [u]−1 × δ−1/2u∑

w∈Nv

Counter [w ]−1 × δ−1/2w 21 / 34

Introduction Random Walks Random Walks with Tabu Lists In Messages In Nodes Experimental Results Conclusion

TLCN(2,FIFOUpdate)

Cycle detection

AD B

C

m2

2 1

1 3 1

1

21 / 34

Introduction Random Walks Random Walks with Tabu Lists In Messages In Nodes Experimental Results Conclusion

TLCN(2,FIFOUpdate)

Cycle detection

AD B

C

m2

2 2

1 3 1

2

21 / 34

Introduction Random Walks Random Walks with Tabu Lists In Messages In Nodes Experimental Results Conclusion

TLCN(2,FIFOUpdate)

Cycle detection

AD B

C

m2

2 2

3 2 1

2

21 / 34

Introduction Random Walks Random Walks with Tabu Lists In Messages In Nodes Experimental Results Conclusion

TLCN(2,FIFOUpdate)

Cycle detection

AD B

C

m3

2 2

3 2 1

2

21 / 34

Introduction Random Walks Random Walks with Tabu Lists In Messages In Nodes Experimental Results Conclusion

TLCN(2,FIFOUpdate)

Cycle detection

AD B

C

m3

2 3

3 2 2

2

21 / 34

Introduction Random Walks Random Walks with Tabu Lists In Messages In Nodes Experimental Results Conclusion

TLCN(2,FIFOUpdate)

Cycle detection

AD B

C

m3

2 3

3 2 2

32

21 / 34

Introduction Random Walks Random Walks with Tabu Lists In Messages In Nodes Experimental Results Conclusion

Summary of TLCN

I In each node for each link :I Tabu List of messages already send.I Counter detecting possible cycle.

I Prefer to visit link with a low counter.I Two updates policies : FIFO or RAND.

22 / 34

Introduction Random Walks Random Walks with Tabu Lists In Messages In Nodes Experimental Results Conclusion

Plan

Introduction

Random Walks

Random Walks with Tabu Lists

In Messages

In Nodes

Experimental Results

Conclusion

23 / 34

Introduction Random Walks Random Walks with Tabu Lists In Messages In Nodes Experimental Results Conclusion

Experiment Settings

I Sinalgo(JAVA)I Graphs:

I UDG.I connected.I one sink/multi-source.I uniform distribution.I Size : 60, 70, . . . , 200 nodes.

I 100 messages per sources.

24 / 34

Introduction Random Walks Random Walks with Tabu Lists In Messages In Nodes Experimental Results Conclusion

Hitting Time and Number of Nodes

25 / 34

Introduction Random Walks Random Walks with Tabu Lists In Messages In Nodes Experimental Results Conclusion

Volume and Number of Nodes

26 / 34

Introduction Random Walks Random Walks with Tabu Lists In Messages In Nodes Experimental Results Conclusion

Convergence of TLCN

If size(TL)=∞ then TLCN converges to spanning tree.

27 / 34

Introduction Random Walks Random Walks with Tabu Lists In Messages In Nodes Experimental Results Conclusion

Plan

Introduction

Random Walks

Random Walks with Tabu Lists

In Messages

In Nodes

Experimental Results

Conclusion

28 / 34

Introduction Random Walks Random Walks with Tabu Lists In Messages In Nodes Experimental Results Conclusion

Random Walk with Tabu List

TLM vs RWI Better Hitting time.I Introduces an overload.I Size of the list has an influence.I FIFO is slightly better than RAND.

TLCN vs RWI Improve Random Walk.I Size of the list has a small influence.I FIFO = RAND

Conclusion : TLCN better than TLM better than RW29 / 34

Introduction Random Walks Random Walks with Tabu Lists In Messages In Nodes Experimental Results Conclusion

Sum Up

Hitting Time Volume Load SensitivityTLCN (15,FIFO) 1st 1st yesTLCN (15,RAND) 1st 1st yesTLM (15,FIFO) 3rd 7th noTLM (15,RAND) 4th 8th noTLM (1,FIFO) 5th 5th noTLM (1,RAND) 6th 6th noRWLD 7th 3rd noRW 8th 4th no

30 / 34

Introduction Random Walks Random Walks with Tabu Lists In Messages In Nodes Experimental Results Conclusion

Next

I Theoretical study of TLM and TLCN :I for any graph, TLM(1,FIFO) > RW,I Find graph such that k > 2

TLM(k, FIFO) <> TLM (k+1,FIFO).I Optimal size for Tabu List in TLCN, TLM.I Convergence of TLCN.

I Resistance to attackers?I How to secure our protocols?

31 / 34

Introduction Random Walks Random Walks with Tabu Lists In Messages In Nodes Experimental Results Conclusion

Thanks for your Attention

Questions ?

32 / 34

Introduction Random Walks Random Walks with Tabu Lists In Messages In Nodes Experimental Results Conclusion

Results for Secured Version of TLCN

33 / 34

Introduction Random Walks Random Walks with Tabu Lists In Messages In Nodes Experimental Results Conclusion

Results for Secured Version of TLCN

34 / 34

Recommended