Presentation on theme: "Chord: A Scalable Peer-to-Peer Lookup Service for Internet Applications Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek, Hari Balakrishnan Presented."— Presentation transcript:
Chord: A Scalable Peer-to-Peer Lookup Service for Internet Applications Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek, Hari Balakrishnan Presented by Shreeram Sahasrabudhe
Chord is a Distributed lookup protocol to address the core operation of resource location for which peer-to- peer systems exist “Mapping a given key onto a node”
Features Robust - Efficiently adapts to concurrent nodes joining and leaving the system Reliable - Can answer queries even in a continuously changing system Efficient routing needs only O(log N) of information per node Scalable - each node maintains only local information Is provided as a application-independent component. The software is a library that applications can use.
Applications Cooperative Mirroring – Uniform mirroring of updates to a distribution across all servers Time Shared Storage – for people wishing to have their content continuously on the system while they remain intermittent Distributed Indexes – support for Gnutella like keyword searches. Here key=keyword, value=machines Large scale combinatorial Search
Specifies - How to find the location of keys - Scalable Key Location provided by finger table - How new nodes join the system? Chord needs to correctly maintain: 1.Each node’s successor 2.For every key k, node successor(k) should be responsible for k Identifier Circle - Identifiers - 0 – 2 m-1 - Successor(k) is the first node clockwise from k Base Chord Protocol Successor = 7
Chord further adds… Modifications for handling concurrent operations such as joining of nodes and failures –Stabilization Protocol to keep nodes’ successor pointers up to date –No instant updates to finger table as joining does not damage the performance of fingers
Experiments and Results Reports from –Iterative Protocol Simulator (10 4 nodes; keys to 10 6 ) –Operational Chord based system on Internet hosts Load Balance
Results Cont… The load be balanced by use virtual nodes.
Path Length and Failure in lookup Path Length Lookup Failure = f(rate at which nodes fail & join) Lookup Failure = f(fraction of nodes that fail) Lookup Latency on the Internet Prototype