0% found this document useful (0 votes)
28 views34 pages

W03-L04 Content Addressable Network

The document discusses Content Addressable Networks (CAN), which provide a distributed hash table for indexing and locating data across nodes. CAN assigns each node a virtual zone in a coordinate space. It supports basic operations like insertion and retrieval of key-value pairs by routing to the node that owns the corresponding zone. The document explains how CAN implements these operations and maintains the network structure as nodes join and fail.

Uploaded by

abdullah fazeel
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
28 views34 pages

W03-L04 Content Addressable Network

The document discusses Content Addressable Networks (CAN), which provide a distributed hash table for indexing and locating data across nodes. CAN assigns each node a virtual zone in a coordinate space. It supports basic operations like insertion and retrieval of key-value pairs by routing to the node that owns the corresponding zone. The document explains how CAN implements these operations and maintains the network structure as nodes join and fail.

Uploaded by

abdullah fazeel
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 34

Advance Distributed Computing

Content Addressable Network (CAN)

Dr. Muhammad Khuram Shahzad


Office: A-308
Class: BSCS-8A
SEECS Faculty Block
National University of Sciences and Technology (NUST)
Thanks to Dr. Asad Waqar Malik for course materials
Content-Addressable-Network (CAN) Ratnasamy et.el.

❏ 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)

❏ virtual Cartesian coordinate space


❏ entire space is partitioned amongst all the nodes
❏ every node “owns” a zone in the overall space
❏ Abstraction
❏ can store data at “points” in the space
❏ can route from one “point” to another
❏ point = node that owns the enclosing zone

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)

❏ (2) route(K,V) -> (a,b)

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

❏ A node only maintains state for its


immediate neighboring nodes

21
CAN - Routing TABLE

❏ A node only maintains state for its


immediate neighboring nodes

22
CAN - CONSTRUCTION

The process takes three steps (joining node)

❏ 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

❏ Inserting a new node affects only


a single other node and its
immediate neighbors

26
CAN Structure
We can understand the occupied position of each zone

27
2d Coordinate overlay

28
Routing

29
Node departing

● Identify the departing node


● Departing node’s zone is merged or taken over by a neighboring zone
● Update routing table across the network

30
CAN - Node FAILURE

❏ Need to repair the space


❏ recover database
❏ use replication, rebuild database from replicas
❏ repair routing
❏ takeover algorithm
❏ when a node fails, one of its neighbors takes over its zone
❏ Only the failed node’s immediate neighbors are
required for recovery
31
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

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy