Content Addressable Network CAN. The CAN is essentially a distributed Internet-scale hash table that maps file names to their location in the network.

Slides:



Advertisements
Similar presentations
CAN 1.Distributed Hash Tables a)DHT recap b)Uses c)Example – CAN.
Advertisements

Pastry Peter Druschel, Rice University Antony Rowstron, Microsoft Research UK Some slides are borrowed from the original presentation by the authors.
Peter Druschel, Rice University Antony Rowstron, Microsoft Research UK
1 IP-Lookup and Packet Classification Advanced Algorithms & Data Structures Lecture Theme 08 – Part I Prof. Dr. Th. Ottmann Summer Semester 2006.
Scalable Content-Addressable Network Lintao Liu
Peer-to-Peer Structured Overlay Networks
B+-Trees (PART 1) What is a B+ tree? Why B+ trees? Searching a B+ tree
Sylvia Ratnasamy, Paul Francis, Mark Handley, Richard Karp, Scott Schenker Presented by Greg Nims.
Common approach 1. Define space: assign random ID (160-bit) to each node and key 2. Define a metric topology in this space,  that is, the space of keys.
Thomas ZahnCST1 Seminar: Information Management in the Web Query Processing Over Peer- to-Peer Data Sharing Systems (UC Santa Barbara)
2-dimensional indexing structure
A Scalable Content Addressable Network (CAN)
Scribe: A Large-Scale and Decentralized Application-Level Multicast Infrastructure Miguel Castro, Peter Druschel, Anne-Marie Kermarrec, and Antony L. T.
Peer to Peer File Sharing Huseyin Ozgur TAN. What is Peer-to-Peer?  Every node is designed to(but may not by user choice) provide some service that helps.
Sylvia Ratnasamy, Paul Francis, Mark Handley, Richard Karp, Scott Shenker A Scalable, Content- Addressable Network (CAN) ACIRI U.C.Berkeley Tahoe Networks.
Topics in Reliable Distributed Systems Lecture 2, Fall Dr. Idit Keidar.
HyperCuP – P2P Network Boyko Syarov. 2 Outline  HyperCup: What is it?  Basic Concepts  Broadcasting Algorithm  Topology Construction  Ontology Based.
1 Geometric Solutions for the IP-Lookup and Packet Classification Problem (Lecture 12: The IP-LookUp & Packet Classification Problem, Part II) Advanced.
A Scalable Content-Addressable Network Authors: S. Ratnasamy, P. Francis, M. Handley, R. Karp, S. Shenker University of California, Berkeley Presenter:
Distributed Lookup Systems
Overlay Networks EECS 122: Lecture 18 Department of Electrical Engineering and Computer Sciences University of California Berkeley.
A Scalable Content- Addressable Network Sections: 3.1 and 3.2 Καραγιάννης Αναστάσιος Α.Μ. 74.
1 A Scalable Content- Addressable Network S. Ratnasamy, P. Francis, M. Handley, R. Karp, S. Shenker Proceedings of ACM SIGCOMM ’01 Sections: 3.5 & 3.7.
Mobile and Wireless Computing Institute for Computer Science, University of Freiburg Western Australian Interactive Virtual Environments Centre (IVEC)
Content Addressable Networks. CAN Associate with each node and item a unique id in a d-dimensional space Goals –Scales to hundreds of thousands of nodes.
Topics in Reliable Distributed Systems Fall Dr. Idit Keidar.
1 CS 194: Distributed Systems Distributed Hash Tables Scott Shenker and Ion Stoica Computer Science Division Department of Electrical Engineering and Computer.
R-Trees 2-dimensional indexing structure. R-trees 2-dimensional version of the B-tree: B-tree of maximum degree 8; degree between 3 and 8 Internal nodes.
P2P Course, Structured systems 1 Introduction (26/10/05)
ICDE A Peer-to-peer Framework for Caching Range Queries Ozgur D. Sahin Abhishek Gupta Divyakant Agrawal Amr El Abbadi Department of Computer Science.
“Umbrella”: A novel fixed-size DHT protocol A.D. Sotiriou.
1CS 6401 Peer-to-Peer Networks Outline Overview Gnutella Structured Overlays BitTorrent.
Sylvia Ratnasamy, Paul Francis, Mark Handley, Richard Karp, Scott Shenker A Scalable, Content- Addressable Network ACIRI U.C.Berkeley Tahoe Networks 1.
1 A scalable Content- Addressable Network Sylvia Rathnasamy, Paul Francis, Mark Handley, Richard Karp, Scott Shenker Pirammanayagam Manickavasagam.
Roger ZimmermannCOMPSAC 2004, September 30 Spatial Data Query Support in Peer-to-Peer Systems Roger Zimmermann, Wei-Shinn Ku, and Haojun Wang Computer.
Other Structured P2P Systems CAN, BATON Lecture 4 1.
CONTENT ADDRESSABLE NETWORK Sylvia Ratsanamy, Mark Handley Paul Francis, Richard Karp Scott Shenker.
Applied Research Laboratory David E. Taylor A Scalable Content-Addressable Network Sylvia Ratnasamy, Paul Francis, Mark Handley, Richard Karp, Scott Shenker.
Sylvia Ratnasamy (UC Berkley Dissertation 2002) Paul Francis Mark Handley Richard Karp Scott Shenker A Scalable, Content Addressable Network Slides by.
A Scalable Content-Addressable Network (CAN) Seminar “Peer-to-peer Information Systems” Speaker Vladimir Eske Advisor Dr. Ralf Schenkel November 2003.
1 Ad Hoc On-Demand Distance Vector Routing (AODV) Dr. R. B. Patel.
Multiplexing FDM & TDM. Multiplexing When two communicating nodes are connected through a media, it generally happens that bandwidth of media is several.
AODV: Introduction Reference: C. E. Perkins, E. M. Royer, and S. R. Das, “Ad hoc On-Demand Distance Vector (AODV) Routing,” Internet Draft, draft-ietf-manet-aodv-08.txt,
Content Addressable Networks CAN is a distributed infrastructure, that provides hash table-like functionality on Internet-like scales. Keys hashed into.
Scalable Content- Addressable Networks Prepared by Kuhan Paramsothy March 5, 2007.
P2P Group Meeting (ICS/FORTH) Monday, 28 March, 2005 A Scalable Content-Addressable Network Sylvia Ratnasamy, Paul Francis, Mark Handley, Richard Karp,
1 Distributed Hash Table CS780-3 Lecture Notes In courtesy of Heng Yin.
Building Low-maintenance Expressways for P2P Systems Zhichen Xu and Zheng Zhang Presented By Swetha Boinepally.
1 Data Link Layer Lecture 23 Imran Ahmed University of Management & Technology.
M. Veeraraghavan (originals by J. Liebeherr) 1 Need for Routing in Ethernet switched networks What do bridges do if some LANs are reachable only in multiple.
BATON A Balanced Tree Structure for Peer-to-Peer Networks H. V. Jagadish, Beng Chin Ooi, Quang Hieu Vu.
Peer-to-Peer Networks 03 CAN (Content Addressable Network) Christian Schindelhauer Technical Faculty Computer-Networks and Telematics University of Freiburg.
LOOKING UP DATA IN P2P SYSTEMS Hari Balakrishnan M. Frans Kaashoek David Karger Robert Morris Ion Stoica MIT LCS.
Two Peer-to-Peer Networking Approaches Ken Calvert Net Seminar, 23 October 2001 Note: Many slides “borrowed” from S. Ratnasamy’s Qualifying Exam talk.
INTERNET TECHNOLOGIES Week 10 Peer to Peer Paradigm 1.
HYPERCUBE ALGORITHMS-1
P2P Search COP P2P Search Techniques Centralized P2P systems  e.g. Napster, Decentralized & unstructured P2P systems  e.g. Gnutella.
Spring Routing: Part I Section 4.2 Outline Algorithms Scalability.
CSCI 599: Beyond Web Browsers Professor Shahram Ghandeharizadeh Computer Science Department Los Angeles, CA
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Chapter 29 Peer-to-Peer Paradigm Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Pastry Scalable, decentralized object locations and routing for large p2p systems.
Mobile and Wireless Networking
A Scalable content-addressable network
CONTENT ADDRESSABLE NETWORK
Indexing and Hashing Basic Concepts Ordered Indices
Reading Report 11 Yin Chen 1 Apr 2004
A Scalable Content Addressable Network
A Scalable Peer-to-peer Lookup Service for Internet Applications
Presentation transcript:

Content Addressable Network CAN

The CAN is essentially a distributed Internet-scale hash table that maps file names to their location in the network by supporting insertion, lookup, and deletion of the key, value pairs in the table. What is CAN?

Overview of the basic structure of CAN Each node of CAN stores A part of (referred to as 'zone') hash table Information about small number of adjacent zones in the hash table. Request to insert, lookup, or delete a particular node are routed through intermediate zones to the node that maintains the zone containing the key

Design of CAN Concept of d- dimensional coordinate system to store (key, value) pairs. At any time the entire coordinate space is partition dynamically among the node such that each of the nodes owns a distinct zone within the overall space. Nodes in CAN self-organize into overlay network that represents this virtual coordinate space. The zone of the hash table of which the node is responsible for is represented by a segment of this coordinate space. Any key k is mapped to a point p in this coordinate space using a uniform function. A (k,v) pair is then stored at the node which is responsible for the zone within which point p lies. To retrieve point p the key k is mapped onto point p by the same hash function and the retrieve the corresponding value from that point. If point P is not owned by requesting node or immediate neighbors, the request must be routed through CAN infrastructure until it find the node whose zone contain point P.

Incorporating new nodes to CAN Each time a node joins the existing zone is split into two halves, one of which is assigned to the new node. Splitting of zones by well known ordering dimensions. Lets take an example to understand how the splitting is done. Here we take 2-d space The first node takes whole of the space. Next node which arrives is split along x axis And then a zone is found which has to be split for the next node that arrives and is split along y axis in two halves. And for next node a zone is found again which has to be split and is split along x axis This will continue till the nodes continue arrive. This can be represented graphically as...(next slide)

Partitioning of the CAN space as 5 nodes join in succession

Concept of Binary “Partition tree” Figure below depicts the concept. Root is split into two nodes edges labeled 0 and 1 A edge is labeled '0' if it is in the lower half of the coordinate space and other half is labeled '1' Intermediate nodes don't exist, they are partitioned Left figure denotes VID which is just the binary number which is number labeled on the edges from the root to the node in which we are interested For example for node 4 VID is '111',for node 2 the path is '10' which is its VID

Summary of the node arrival First a new node must find a new node existing already in CAN. Secondly using CAN routing mechanism, it must find a node whose zone will be split. Finally, the neighbors of split zone must be notified so that routing can include new node

Finding a zone First a new node identify any node by discovering its IP address Randomly choose a point P Send a join request destined for P. This message is sent int CAN via any existing Can node Each CAN node the uses the CAN routing mechanism to forward the join request message to next node until it reaches the node the zone of which contains P Divide the Zone into two halves Lower half of the zone is held by the parent (splitting node) and other half by the child (new node) One is assigned '0' and the '1' based on the rule discussed previously. (binary tree) The parent node appends '0' to its existing VID and child node appends '1' to the parent's original VID

Joining to Routing Once the new node joins it learns the IP addresses of its coordinate neighbor's set. Two nodes are neighbors if their coordinate span overlap along d-1 dimensions and abut along 1 dimension

Joining to Routing continued The new node's neighbor set is subset of the its parent's neighbors set plus the parent itself Parent's neighbors set is also updated accordingly All nodes send a message to inform about the the update which took place and all other nodes update their neighbors set accordingly. For a d-dimensional space, O(d) are only affected by a node insertion.

Routing in CAN Routing in CAN follows straight line path from source to destination coordinates Every node in CAN maintains a routing table The table holds the IP and VIDs of each of its neighbor in the coordinate space A CAN message includes the destination coordinates. A node routes the message using the its coordinate neighbor set towards the destination using simple greedy forwarding to neighbors closet to destination coordinates For d-dimensional space partitioned into n equal zones we have => Average routing path length is (d/4)(n 1/d ) If one or more neighbors of a node crashes then since there are many path to destination,the node route through next best available path.

Routing y Peer Q(x,y) (x, y)  d-dimensional space with n zones  2 zones are neighbor if d- 1 dim overlap  Routing path of length:  Algorithm: Choose the neighbor nearest to the destination Q(x,y) Query/ Resource key

Node Departure To handle a node departing, the CAN must: 1. Identify a node is departing. 2.Have the departing node's zone merged or taken-over by a neighbouring node known as Takeover node. 3.Update the routing tables across the network.

Recovery Algorithm Detecting a node's departure can be done, for instance, via heartbeat messages that periodically broadcast routing table information between neighbours. After a predetermined period of silence from a neighbour, that neighbouring node is determined as failed and is considered a departing node. Alternatively, a node that is willingly departing may broadcast such a notice to its neighbours. After departing node identified, its zone must be either merged or taken-over. First the departed node's zone is analyzed to determine whether a neighbouring node's zone can merge with the departed node's zone to form a valid zone. For e.g., a zone in a 2d coordinate space must be square or rectangle and cannot be L-shaped. The validation test may cycle through neighbouring zones to determine if a successful merge can occur. If one of the potential merges is deemed a valid merge, the zones are then merged. If none of the potential merges are deemed valid, then the neighbouring node with the smallest zone takes over control of the departing node's zone. After a take-over, the take-over node may periodically attempt to merge its additionally controlled zones with respective neighbouring zones.

Zone reassignment Zoning Partition tree

Zone reassignment Zoning Partition tree

Zone reassignment Zoning Partition tree

Maintenance Use zone takeover in case of failure or leaving of a node Send your neighbor table to neighbors to inform that you are alive at discrete time interval t If your neighbor does not send alive in time t, takeover its zone Zone reassignment is needed