05 DHT
05 DHT
1. Introduction
2. Protocols Top-Down-Approach
3. Application layer
Application
4. Web services Layer
5. Distributed hash tables Presentation
Layer
n DHT
Session
n Chord Layer
6. Time synchronization Transport
Layer
7. Transport layer
Network
8. UDP and TCP Layer
9. TCP performance Data link
Layer
10. Network layer
Physical
11. Internet protocol Layer
12. Data link layer
probability of at least
two people sharing a
birthday
src: wikipedia
responsible Node 0
balancing 2
node
4
n Associate to each node and item a 58 8
unique id in an unidimensional
space 0 to 2m-1
n Node 8 maps [5, 8] 15
node=44
15
44 20
35 32
succ=nil
pred=nil
15
50
succ=58 44 20
pred=35
35 32
to 50, succ=58
44
20
pred=35
n returns a notify message
to node 50
35
32
n Node 50 updates its
successor to 58
n Node 44 sends a
stabilize message to its succ=4
successor, node 58 pred=50
50)
4
or=
n Node 58 reply with a 58
ess
8
notify message
dec
pre
ify(
n Node 44 updates its
not
stabilize()
successor to 50 succ=58
pred=nil 15
50
succ=58
succ=50 44 20
pred=35
35
32
n Node 44 sends a
stabilize message to succ=4
its new successor, pred=50
node 50 4
58
n Node 50 sets its 8
predecessor to node
44 succ=58
pred=44
pred=nil Stabilize()
15
50
succ=50 44 20
pred=35
35 32
pred=50
4
58
8
succ=58
pred=44 50
15
succ=50 44 20
35 32
Say m=7
Finger Table at k=80
0
start = k + 2i (modulo 2m)
ft[i] = successor(start[i]) (80 + 26) mod 27 = 16
80 + 25 112
i start ft[i] 20
0 81 96
1 82 96
2 84 96 96
3 88 96 80 + 24 32
4 96 96
80 + 23
5 112 112
80 + 22
6 16 20 80 + 21
80 + 20 45
80
n Chord properties
n Routing table size O(log(N)), where N is the total number of nodes
n Guarantees that a file is found in O(log(N)) steps
n Reducing latency
n Chose finger that reduces expected time to reach destination
n Chose the closest node from range [N+2i-1,N+2i) as successor
n Stretch is another parameter:
latency for each lookup on the overlay topology
=
average latency on the underlying topology
U.S.A China
64
0 Network node
Data
128 96 Overlay routing
physical link
n Chord
n Tapestry
n Uses locally optimal routing tables to reduce routing stretch
n Pastry
n Routing overlay network to reduce cost of routing a packet
n CAN
n Virtual multi-dimensional Cartesian coordinate space