Peer-to-Peer Information Systems Week 12: Naming

Slides:



Advertisements
Similar presentations
Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek, Hari Balakrishnan MIT and Berkeley presented by Daniel Figueiredo Chord: A Scalable Peer-to-peer.
Advertisements

Peer to Peer and Distributed Hash Tables
CHORD – peer to peer lookup protocol Shankar Karthik Vaithianathan & Aravind Sivaraman University of Central Florida.
The Chord P2P Network Some slides have been borowed from the original presentation by the authors.
Chord: A scalable peer-to- peer lookup service for Internet applications Ion Stoica, Robert Morris, David Karger, M. Frans Kaashock, Hari Balakrishnan.
1 1 Chord: A scalable Peer-to-peer Lookup Service for Internet Applications Dariotaki Roula
Chord A Scalable Peer-to-peer Lookup Service for Internet Applications
Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications Robert Morris Ion Stoica, David Karger, M. Frans Kaashoek, Hari Balakrishnan MIT.
Massively Distributed Database Systems Distributed Hash Spring 2014 Ki-Joune Li Pusan National University.
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.
1 Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications Robert Morris Ion Stoica, David Karger, M. Frans Kaashoek, Hari Balakrishnan.
Topics in Reliable Distributed Systems Lecture 2, Fall Dr. Idit Keidar.
Introduction to Peer-to-Peer (P2P) Systems Gabi Kliot - Computer Science Department, Technion Concurrent and Distributed Computing Course 28/06/2006 The.
Looking Up Data in P2P Systems Hari Balakrishnan M.Frans Kaashoek David Karger Robert Morris Ion Stoica.
Distributed Lookup Systems
Idit Keidar, Principles of Reliable Distributed Systems, Technion EE, Spring Principles of Reliable Distributed Systems Lecture 2: Peer-to-Peer.
Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek and Hari alakrishnan.
Chord-over-Chord Overlay Sudhindra Rao Ph.D Qualifier Exam Department of ECECS.
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.
Peer To Peer Distributed Systems Pete Keleher. Why Distributed Systems? l Aggregate resources! –memory –disk –CPU cycles l Proximity to physical stuff.
Wide-area cooperative storage with CFS
1 Peer-to-Peer Networks Outline Survey Self-organizing overlay network File system on top of P2P network Contributions from Peter Druschel.
INTRODUCTION TO PEER TO PEER NETWORKS Z.M. Joseph CSE 6392 – DB Exploration Spring 2006 CSE, UT Arlington.
Tapestry GTK Devaroy (07CS1012) Kintali Bala Kishan (07CS1024) G Rahul (07CS3009)
Content Overlays (Nick Feamster). 2 Content Overlays Distributed content storage and retrieval Two primary approaches: –Structured overlay –Unstructured.
Chord & CFS Presenter: Gang ZhouNov. 11th, University of Virginia.
Using the Small-World Model to Improve Freenet Performance Hui Zhang Ashish Goel Ramesh Govindan USC.
Chord: A Scalable Peer-to-peer Lookup Protocol for Internet Applications Xiaozhou Li COS 461: Computer Networks (precept 04/06/12) Princeton University.
Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek, Hari Balakrishnan MIT and Berkeley presented by Daniel Figueiredo Chord: A Scalable Peer-to-peer.
Presentation 1 By: Hitesh Chheda 2/2/2010. Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek, Hari Balakrishnan MIT Laboratory for Computer Science.
Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications.
Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications Dr. Yingwu Zhu.
Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek, Hari Balakrishnan Presented.
SIGCOMM 2001 Lecture slides by Dr. Yingwu Zhu Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications.
1 Peer-to-Peer Technologies Seminar by: Kunal Goswami (05IT6006) School of Information Technology Guided by: Prof. C.R.Mandal, School of Information Technology.
Peer to Peer A Survey and comparison of peer-to-peer overlay network schemes And so on… Chulhyun Park
1 Secure Peer-to-Peer File Sharing Frans Kaashoek, David Karger, Robert Morris, Ion Stoica, Hari Balakrishnan MIT Laboratory.
Computer Networking P2P. Why P2P? Scaling: system scales with number of clients, by definition Eliminate centralization: Eliminate single point.
Idit Keidar, Principles of Reliable Distributed Systems, Technion EE, Spring Principles of Reliable Distributed Systems Lecture 2: Distributed Hash.
Peer to Peer Network Design Discovery and Routing algorithms
Algorithms and Techniques in Structured Scalable Peer-to-Peer Networks
LOOKING UP DATA IN P2P SYSTEMS Hari Balakrishnan M. Frans Kaashoek David Karger Robert Morris Ion Stoica MIT LCS.
Bruce Hammer, Steve Wallis, Raymond Ho
Two Peer-to-Peer Networking Approaches Ken Calvert Net Seminar, 23 October 2001 Note: Many slides “borrowed” from S. Ratnasamy’s Qualifying Exam talk.
CS694 - DHT1 Distributed Hash Table Systems Hui Zhang University of Southern California.
Chord: A Scalable Peer-to-Peer Lookup Service for Internet Applications * CS587x Lecture Department of Computer Science Iowa State University *I. Stoica,
The Chord P2P Network Some slides taken from the original presentation by the authors.
Peer-to-Peer Information Systems Week 12: Naming
A Survey of Peer-to-Peer Content Distribution Technologies Stephanos Androutsellis-Theotokis and Diomidis Spinellis ACM Computing Surveys, December 2004.
Ion Stoica, Robert Morris, David Liben-Nowell, David R. Karger, M
CS 268: Lecture 22 (Peer-to-Peer Networks)
CSE 486/586 Distributed Systems Distributed Hash Tables
The Chord P2P Network Some slides have been borrowed from the original presentation by the authors.
Distributed Hash Tables
A Scalable Peer-to-peer Lookup Service for Internet Applications
(slides by Nick Feamster)
EE 122: Peer-to-Peer (P2P) Networks
DHT Routing Geometries and Chord
Chord Advanced issues.
Building Peer-to-Peer Systems with Chord, a Distributed Lookup Service
P2P Systems and Distributed Hash Tables
Chord Advanced issues.
Peer-to-Peer Information Systems Week 6: Performance
Chord Advanced issues.
MIT LCS Proceedings of the 2001 ACM SIGCOMM Conference
Consistent Hashing and Distributed Hash Table
P2P: Distributed Hash Tables
CSE 486/586 Distributed Systems Distributed Hash Tables
A Scalable Peer-to-peer Lookup Service for Internet Applications
Presentation transcript:

Peer-to-Peer Information Systems Week 12: Naming Old Dominion University Department of Computer Science CS 495/595 Fall 2004 Michael L. Nelson <mln@cs.odu.edu> 11/16/04

Naming, or “The Lookup Problem” Not really addressed in the Oram book The bulk of this lecture comes from: "Looking Up Data in P2P Systems”, http://doi.acm.org/10.1145/606272.606299 "Maintenance-Free Global Data Storage”, http://oceanstore.cs.berkeley.edu/publications/papers/pdf/ieeeic.pdf Lookup problem: how do you find any given data item in a large P2P system in a scalable manner without any centralized servers or hierarchy?

Data Lookup Approaches Napster approach: 1 root server (or set of root servers) that know the node location of data objects not scalable, not resilient Gnutella approach: broadcast search to all known neighbors until the object is found scalability problems

Data Lookup Approaches Superpeers (KaZaA, Gnutella Reflectors) scalability through hierarchy questions about resiliency creating many “little Napsters” Freenet symmetric lookup forward lookup requests to a node that is “closer” to the data object focus on anonymity makes it difficult to have predictable topologies; also makes data stewardship difficult

Distributed Hashes Premise: don’t: do: keep an index do traditional searches do: tie object location to name employ a common hashing algorithm to map name to location

Distributed Hashing Projects see http://www.etse.urv.es/~cpairot/dhts.html for more links CAN http://www.icir.org/sylvia/ Chord http://www.pdos.lcs.mit.edu/chord/ Kademlia http://kademlia.scs.cs.nyu.edu/ Pastry http://freepastry.rice.edu/ Tapestry http://www.cs.berkeley.edu/~ravenben/tapestry/ Viceroy http://www.wisdom.weizmann.ac.il/~naor/viceroy.pdf

Common Elements of Distributed Hashing Lookup Algorithms Mapping keys to nodes in a load balanced way keys & nodes identified using m-bit ids each key is stored at >= 1 nodes which have node ids “close” to the key Forwarding a lookup for a key to an appropriate node a node that recvs a request for key s must be able to forward it to a node that is “closer” to s. from p. 45, CACM 46(2)

Common Elements of Distributed Hashing Lookup Algorithms distance function regardless of implementation, the algorithms must support “distance” semantics adaptively build routing tables routing tables are kept to store the location of other nodes routing tables must be correctly maintained in the face of asynchronous & concurrent joins and failures O(log N) lookup time from p. 45, CACM 46(2)

Chord each node keeps a list (“finger table”) of (log N) nodes: 1/2 the way through id space 1/4 the way 1/8 the way 1/16 the way etc… node 8 node 52 node 22 node 42 node 32 node 28 node 52 is responsible for K52 - K63 cf. Akamai’s consistent hashing…

Routing in Chord When a node receives a query for a key k, it forwards the query to the node in the finger table with the highest ID <= k the node with ID <= k is known as the “successor” of k intuitively, we see that this is O(log N)

Routing Example lookup(58) K58 node 64 node 1 node 8 node 56 node 52

Routing Example K128 lookup(128) node 128 node 64 node 1 node 8

Successor Lists For resiliency, each node in Chord will keep track of r successors e.g., r nodes immediately “after” it in ID space r ~ log N Think of the successor list as a short-range backup in case some of the long-arcing fingers are down lookup fails only if all fingers and successors fail IDs are randomly assigned to nodes, so it is unlikely that simultaneous, related failures will take contiguous sections of ID space

Adding New Nodes in Chord a new node n asks an existing node to lookup(n) n and its predecessor must update their successor list other nodes will update their successor lists during maintenance this is for optimization, not correctness… a Chord ring with new nodes is still correct, just not optimal

Successor List Maintenance each node n periodically contacts its successor s(n) and requests it for its predecessor p(s(n)) if p(s(n)) != s(n), then do maintenance a node has either joined or failed…

Tapestry Chord is the distributed naming service for projects such as the Cooperative File System… …Tapestry is a similar distributed hashing algorithm for the OceanStore global, distributed data storage system

Tapestry GUIDs Storage nodes, data objects and messages all receive GUIDs that are location- and semantics-independent OceanStore publishes pointers to object locations by placing a pointer to the object’s replica location at each hop between the new replica and the objects root node objects root node is a function of the objects GUID To locate an object: route a message to the object’s root node until a replica pointer is found…

Tapestry API publishObject(ObjectID, [serverID]) sendmsgToObject(ObjectID) sendmsgToNode(NodeID)

Tapestry Routing figure 2 from IEEE IC, Sept/Oct 2001, p. 43

Tapestry Insertion slides from Ben Zhao, UCB

UUIDs / GUIDs UUIDs and GUIDs, Internet Draft, Leach http://www.ics.uci.edu/~ejw/authoring/uuid-guid/draft-leach-uuids-guids-01.txt according to Jim Whitehead, the proposed RFC overlapped with an ISO standard, and the IETF did not want to duplicate effort http://mailman.lyra.org/pipermail/dav-dev/1999-May/000245.html 128 bit ID guaranteed to be different (or very likely different, depending on generation mechanism) until 3400 A.D. see, in particular, sections 3.1.2, 3.2.1, 3.3, 3.4

Open Issues Distance function matters… Very little practical experience (yet) in building real large-scale systems Improved proximity routing Malicious and byzantine nodes Keyword search? cf. Freenet…