Upload
others
View
7
Download
0
Embed Size (px)
Citation preview
LECTURE 3: ARCHITECTURES:
SUPPLEMENTARY SLIDES ON PLAXTON
ROUTING
CA4006 Lecture Notes (Martin Crane 2015) 1Lecture 3: Architectures: Supplementary on Plaxton
Plaxton Routing• Plaxton, Rajamaran and Richa: mechanism for efficient
dissemination of objects in a network, published in 1997
– Before P2P systems came about!
• Basic idea: prefix-oriented routing (assume fixed no. of nodes)
– Store object ID=A at node with ID of longest common prefix with A
• If many such nodes exist, choose node with longest common suffix
– Goal: uniform data dissemination
– Routing based on pointer list (object – node mapping) and
neigbour list (primary + secondary neighbours)
• Basis for well-known DHTs Pastry, etc (and follow-up projects)
– Method adapted to needs of P2P systems + simplified
CA4006 Lecture Notes (Martin Crane 2015) 2Lecture 3: Architectures: Supplementary on Plaxton
0…
01..010. 011.
012. 013.0131
0110
0112
03..030. 031.
032. 033.
02..
022.
020. 021.
023.
00..
002.
000. 001.
003.
Pastry Example
3CA4006 Lecture Notes (Martin Crane 2015)Lecture 3: Architectures: Supplementary on Plaxton
1…
10.. 11..
13..12..
122.
120. 121.
123.
130. 131.
132. 133.
102.
100. 101.
103.
010. 111.
112. 113.0130
2…
20.. 21..
23..22..
222.
220. 021.
023.
230. 231.
232. 233.
202.
200. 201.
003.
210. 211.
212. 213.
3…
30.. 31..
33..32..
322.
320. 321.
323.
330. 331.
332. 333.
302.
300. 301.
303.
310. 311.
312. 313.
Pastry: Topology• Identifier space:
– 2�-bit identifiers (typically: � = 128), wrap-around at 2�− 1 ↔ 0
– Interpret identifiers to the base of 2� (typically: � = 4, base 16)
– Prefix-based tree topology
– Leaves: keys & node IDs; (key, value) pairs under numerically
closest node
managed by
xxx
l=6: 6-bit identifiersb=2: base 4
0xx 1xx 2xx 3xx
00x 01x 02x 03x 10x 11x 12x 13x 20x 21x 22x 23x 30x 31x 32x 33x
key node
4Lecture 3: Architectures: Supplementary on Plaxton © Prof Michael Welzl
Pastry: Routing Basics• Example
• Goal: find node responsible for �, e.g. 120
• Tree-based search for lookup(�)
– Traverse tree search structure top-down
• Prefix-based routing for lookup(�)
– Approximate tree search in distributed scenario
– Forward query to known node with longest prefix matching �
xxx
0xx 1xx 2xx 3xx
00x 01x 02x 03x 10x 11x 12x 13x 20x 21x 22x 23x 30x 31x 32x 33x
5Lecture 3: Architectures: Supplementary on Plaxton © Prof Michael Welzl
Pastry: Routing Basics (/2)
• Routing in Pastry:
– Each step, route towards “numerically“
closest node
• That is, query is routed to a node with a
one character longer prefix (= b Bits)
� � log�� � routing steps
– If that is not possible:
• Route towards node numerically closer to ��
012321
321321
022222
013331
012110
012300
012322
012321
Destination:
Start
1. Hop
2. Hop
3. Hop
4. Hop
5. Hop
Destination:
(b = 2)
6Lecture 3: Architectures: Supplementary on Plaxton © Prof Michael Welzl
xxx
0xx 1xx 2xx 3xx
00x 01x 02x 03x 10x 11x 12x 13x 20x 21x 22x 23x 30x 31x 32x 33x
?xx: 011 1 - 301
1?x: 102 - 2 -
12?: 0 - - 123
Pastry: Routing Table• Routing table
– Long distance links to other prefix realms
– �/� rows: one per prefix length
– 2� − 1 columns: 1 per digit different from local node ID
– Routing table for node 120: