routing algorithms using random walks with tabu...
TRANSCRIPT
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