Page 1
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
Page 2
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
Page 3
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
Page 4
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
Page 5
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
Page 6
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
Page 7
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
Page 8
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
Page 9
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
Page 10
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
Page 11
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
Page 12
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
Page 13
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
Page 14
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
Page 15
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
Page 16
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
Page 17
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
Page 18
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
Page 19
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
Page 20
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
Page 21
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
Page 22
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
Page 23
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
Page 24
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
Page 25
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
Page 26
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
Page 27
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
Page 28
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
Page 29
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
Page 30
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
Page 31
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
Page 32
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
Page 33
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
Page 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
Page 35
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
Page 36
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
Page 37
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
Page 38
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
Page 39
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
Page 40
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
Page 41
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
Page 42
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
Page 43
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
Page 44
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
Page 45
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
Page 46
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
Page 47
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
Page 48
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
Page 49
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
Page 50
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
Page 51
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
Page 52
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
Page 53
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
Page 54
Introduction Random Walks Random Walks with Tabu Lists In Messages In Nodes Experimental Results Conclusion
Hitting Time and Number of Nodes
25 / 34
Page 55
Introduction Random Walks Random Walks with Tabu Lists In Messages In Nodes Experimental Results Conclusion
Volume and Number of Nodes
26 / 34
Page 56
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
Page 57
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
Page 58
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
Page 59
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
Page 60
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
Page 61
Introduction Random Walks Random Walks with Tabu Lists In Messages In Nodes Experimental Results Conclusion
Thanks for your Attention
Questions ?
32 / 34
Page 62
Introduction Random Walks Random Walks with Tabu Lists In Messages In Nodes Experimental Results Conclusion
Results for Secured Version of TLCN
33 / 34
Page 63
Introduction Random Walks Random Walks with Tabu Lists In Messages In Nodes Experimental Results Conclusion
Results for Secured Version of TLCN
34 / 34