W03-L04 Content Addressable Network
W03-L04 Content Addressable Network
❏ CAN: Internet Scale Hash table – indexing mechanism that maps objects to their
locations in the network.
❏ Support three basic operations of tuples, insertion, deletion, search of (key, value)
❏ Insert (key, value)
❏ value = retrieve (key)
❏ Idea: associate to each node and item a unique coordinate in an d-dimensional
Cartesian space.
❏ Properties
–scalable, good performance, fault tolerant, independ of naming structure,
❏ 3 core components – setting up (CAN virtual coordinates), routing, maintaining
2
CAN- Basic IDEA
3
CAN- Basic IDEA
4
CAN- Basic IDEA
5
CAN- Basic IDEA
6
CAN- Basic IDEA
7
Content Addressable Network (CAN)
8
Content Addressable Network (CAN)
9
Content Addressable Network (CAN)
10
Content Addressable Network (CAN)
11
Content Addressable Network (CAN)
12
Content Addressable Network (CAN)
13
CAN - INSERT
14
CAN - INSERT
❏ node I::insert(K,V)
15
CAN - INSERT
❏ node I::insert(K,V)
1. a = hx(K)
16
CAN - INSERT
❏ node I::insert(K,V)
a = hx(K)
b = hy(K)
17
CAN - INSERT
❏ node I::insert(K,V)
(1) a = hx(K)
b = hy(K)
18
CAN - INSERT
❏ node I::insert(K,V)
(1) a = hx(K)
b = hy(K)
❏ (2) route(K,V) -> (a,b)
❏ (3) (a,b) stores (K,V)
19
CAN - RETRIEVE
❏ node J::retrieve(K)
❏ a = hx(K)
b = hy(K)
❏ route “retrieve(K)” to (a,b)
20
CAN - Routing TABLE
21
CAN - Routing TABLE
22
CAN - CONSTRUCTION
❏ First the new node must find a node already in the CAN
❏ Next, using the CAN routing mechanisms, it must find a node whose zone
will be split
❏ Finally, the neighbors of the split zone must be notified so that routing can
include the new node
23
CAN - Node JOIN
24
CAN - Node JOIN
25
CAN - Node JOIN
26
CAN Structure
We can understand the occupied position of each zone
27
2d Coordinate overlay
28
Routing
29
Node departing
30
CAN - Node FAILURE
❏ Takeover algorithm
❏ Every node share periodic update messages to its neighbors
❏ Also share list of neighbors
❏ Prolonged absence of update message signals a failure
❏ Once a node has decided the failure of neighbor - it initiate a takeover
mechanism
❏ Starts the timer
❏ Each node perform the same steps - timer is depend on the volume
of its own zone 32
CAN - Node FAILURE
❏ Takeover algorithm
❏ When the timer expire - the node sends the TakeOver (TO) message to
all the neighbors of failed node
❏ The message contain the volume of its own zone
❏ On receipt of TO message - node cancel its timer if its zone vol. Is
smaller than its own
❏ Otherwise it reply with its own TO message
33
Thank You!
34