Download presentation
Presentation is loading. Please wait.
1
Content Addressable Networks
2
CAN Associate with each node and item a unique id in a d-dimensional space Goals –Scales to hundreds of thousands of nodes –Handles rapid arrival and failure of nodes Properties –Routing table size O(d) –Guarantees that a file is found in at most d*n1/d steps, where n is the total number of nodes Slide modified from another presentation
3
Overview (a,b) (x,y) Slide modified from another presentation
4
CAN Example: Two Dimensional Space Space divided between nodes All nodes cover the entire space Each node covers either a square or a rectangular area of ratios 1:2 or 2:1 Example: –Node n1:(1, 2) first node that joins cover the entire space 1 234 5 670 1 2 3 4 5 6 7 0 n1 Slide modified from another presentation
5
CAN Example: Two Dimensional Space Node n2:(4, 2) joins space is divided between n1 and n2 n2 finds a bootstrap node –use DNS n2 randomly chooses a point n2 sends a JOIN message to the bootstrap node message is routed to node currently handling chosen point zone is split and n2 gets half 1 234 5 670 1 2 3 4 5 6 7 0 n1 n2 Slide modified from another presentation
6
CAN Example: Two Dimensional Space Node n3:(3, 5) joins space is divided between n1 and n3 n3 asks n1 to split n1 knows n3 is a neighbor n3 knows n1 is a neighbor n2 needs to be informed that n3 is now a neighbor 1 234 5 670 1 2 3 4 5 6 7 0 n1 n2 n3 Slide modified from another presentation
7
CAN Example: Two Dimensional Space Nodes n4:(5, 5) and n5:(6,6) join What if n6:(6, 3) joined? 1 234 5 670 1 2 3 4 5 6 7 0 n1 n2 n3 n4 n5 Slide modified from another presentation
8
Join Procedure Problems? –Zone may be small –Neighbors may be far away
9
CAN Example: Two Dimensional Space Nodes: n1:(1, 2); n2:(4,2); n3:(3, 5); n4:(5,5);n5:(6,6) Items: f1:(2,3); f2:(5,1); f3:(2,1); f4:(7,5); 1 234 5 670 1 2 3 4 5 6 7 0 n1 n2 n3 n4 n5 f1 f2 f3 f4 Slide modified from another presentation
10
CAN Example: Two Dimensional Space Each item is stored by the node who owns its mapping in the space 1 234 5 670 1 2 3 4 5 6 7 0 n1 n2 n3 n4 n5 f1 f2 f3 f4 Slide modified from another presentation
11
CAN: Query Example Each node knows its neighbors in the d-space Forward query to the neighbor that is closest to the query id Example: assume n1 queries f4 1 234 5 670 1 2 3 4 5 6 7 0 n1 n2 n3 n4 n5 f1 f2 f3 f4 Slide modified from another presentation
12
CAN: Query Example Each node knows its neighbors in the d-space Forward query to the neighbor that is closest to the query id Example: assume n1 queries f4 1 234 5 670 1 2 3 4 5 6 7 0 n1 n2 n3 n4 n5 f1 f2 f3 f4 Slide modified from another presentation
13
CAN: Query Example Each node knows its neighbors in the d-space Forward query to the neighbor that is closest to the query id Example: assume n1 queries f4 1 234 5 670 1 2 3 4 5 6 7 0 n1 n2 n3 n4 n5 f1 f2 f3 f4 Slide modified from another presentation
14
CAN: Query Example Each node knows its neighbors in the d-space Forward query to the neighbor that is closest to the query id Example: assume n1 queries f4 Can route around some failures –some failures require local flooding 1 234 5 670 1 2 3 4 5 6 7 0 n1 n2 n3 n4 n5 f1 f2 f3 f4 Slide modified from another presentation
15
Node Failure Recovery Simple failures –periodically inform neighbors of your neighbors – each node knows about its neighbor’s neighbors –if a node does not receive this update, it assumes that the neighbor failing to report has died –all neighbors discover independently and start a “takeover timer” running – why? –when timer expires, send TAKEOVER message to neighbor’s neighbors – contains current volume –if TAKEOVER received receiver volume is smaller, receiver sends TAKEOVER message –node with smallest volume takes over the zone Slide modified from another presentation
16
Node Failure Recovery More complex failure modes –simultaneous failure of multiple adjacent nodes –scoped flooding to discover neighbors –hopefully, a rare event Slide modified from another presentation
17
Discussion What are some of the shortcomings of this design? Is load balanced? What happens if neighbors are geographically far apart? What happens if one key is very popular? Slide modified from another presentation
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.