Distributed Hash Tables (DHT) Jukka K. Nurminen *Adapted from slides provided by Stefan Götz and Klaus Wehrle (University of Tübingen)

Slides:



Advertisements
Similar presentations
P2P data retrieval DHT (Distributed Hash Tables) Partially based on Hellerstein’s presentation at VLDB2004.
Advertisements

Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek, Hari Balakrishnan MIT and Berkeley presented by Daniel Figueiredo Chord: A Scalable Peer-to-peer.
Peer to Peer and Distributed Hash Tables
Clayton Sullivan PEER-TO-PEER NETWORKS. INTRODUCTION What is a Peer-To-Peer Network A Peer Application Overlay Network Network Architecture and System.
P2P Systems and Distributed Hash Tables Section COS 461: Computer Networks Spring 2011 Mike Freedman
CHORD – peer to peer lookup protocol Shankar Karthik Vaithianathan & Aravind Sivaraman University of Central Florida.
Technische Universität Yimei Liao Chemnitz Kurt Tutschku Vertretung - Professur Rechner- netze und verteilte Systeme Chord - A Distributed Hash Table Yimei.
Technische Universität Chemnitz Kurt Tutschku Vertretung - Professur Rechner- netze und verteilte Systeme Chord - A Distributed Hash Table Yimei Liao.
CHORD: A Peer-to-Peer Lookup Service CHORD: A Peer-to-Peer Lookup Service Ion StoicaRobert Morris David R. Karger M. Frans Kaashoek Hari Balakrishnan Presented.
Chord: A scalable peer-to- peer lookup service for Internet applications Ion Stoica, Robert Morris, David Karger, M. Frans Kaashock, Hari Balakrishnan.
Xiaowei Yang CompSci 356: Computer Network Architectures Lecture 22: Overlay Networks Xiaowei Yang
Distributed Hash Tables CPE 401 / 601 Computer Network Systems Modified from Ashwin Bharambe and Robert Morris.
Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications Robert Morris Ion Stoica, David Karger, M. Frans Kaashoek, Hari Balakrishnan MIT.
Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications Ion StoicaRobert Morris David Liben-NowellDavid R. Karger M. Frans KaashoekFrank.
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.
1 Distributed Hash Tables My group or university Peer-to-Peer Systems and Applications Distributed Hash Tables Peer-to-Peer Systems and Applications Chapter.
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
University of Oregon Slides from Gotz and Wehrle + Chord paper
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.
INTRODUCTION TO PEER TO PEER NETWORKS Z.M. Joseph CSE 6392 – DB Exploration Spring 2006 CSE, UT Arlington.
Effizientes Routing in P2P Netzwerken Chord: A Scalable Peer-to- peer Lookup Protocol for Internet Applications Dennis Schade.
Popularity-Awareness in Temporal DHT for P2P-based Media Streaming Applications Abhishek Bhattacharya, Zhenyu Yang & Deng Pan IEEE International Symposium.
Introduction to Peer-to-Peer Networks. What is a P2P network A P2P network is a large distributed system. It uses the vast resource of PCs distributed.
DHTs and Peer-to-Peer Systems Supplemental Slides Aditya Akella 03/21/2007.
Content Overlays (Nick Feamster). 2 Content Overlays Distributed content storage and retrieval Two primary approaches: –Structured overlay –Unstructured.
Chord: A Scalable Peer-to-peer Lookup Protocol for Internet Applications Xiaozhou Li COS 461: Computer Networks (precept 04/06/12) Princeton University.
An Introduction to Peer-to-Peer Networks Presentation for MIE456 - Information Systems Infrastructure II Vinod Muthusamy October 30, 2003.
1 Distributed Hash Tables (DHTs) Lars Jørgen Lillehovde Jo Grimstad Bang Distributed Hash Tables (DHTs)
Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek, Hari Balakrishnan MIT and Berkeley presented by Daniel Figueiredo Chord: A Scalable Peer-to-peer.
1 Slides from Richard Yang with minor modification Peer-to-Peer Systems: DHT and Swarming.
Presentation 1 By: Hitesh Chheda 2/2/2010. Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek, Hari Balakrishnan MIT Laboratory for Computer Science.
1 V1-Filename.ppt / / Jukka K. Nurminen Content Search UnstructuredP2P Content Search Unstructured P2P Jukka K. Nurminen *Partly adapted from.
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
Structured P2P Overlays. Consistent Hashing – the Basis of Structured P2P Intuition: –We want to build a distributed hash table where the number of buckets.
Lecture 12 Distributed Hash Tables CPE 401/601 Computer Network Systems slides are modified from Jennifer Rexford.
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
CSE 486/586, Spring 2014 CSE 486/586 Distributed Systems Distributed Hash Tables Steve Ko Computer Sciences and Engineering University at Buffalo.
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.
CS Spring 2014 CS 414 – Multimedia Systems Design Lecture 37 – Introduction to P2P (Part 1) Klara Nahrstedt.
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.
P2P Search COP6731 Advanced Database Systems. P2P Computing  Powerful personal computer Share computing resources P2P Computing  Advantages: Shared.
CS694 - DHT1 Distributed Hash Table Systems Hui Zhang University of Southern California.
CSE 486/586 Distributed Systems Distributed Hash Tables
CS 425 / ECE 428 Distributed Systems Fall 2015 Indranil Gupta (Indy) Peer-to-peer Systems All slides © IG.
Chord: A Scalable Peer-to-Peer Lookup Service for Internet Applications * CS587x Lecture Department of Computer Science Iowa State University *I. Stoica,
Chapter 29 Peer-to-Peer Paradigm Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
CS Spring 2010 CS 414 – Multimedia Systems Design Lecture 24 – Introduction to Peer-to-Peer (P2P) Systems Klara Nahrstedt (presented by Long Vu)
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.
Peer-to-Peer Data Management
(slides by Nick Feamster)
EE 122: Peer-to-Peer (P2P) Networks
DHT Routing Geometries and Chord
Prof. Leonardo Mostarda University of Camerino
Peer-to-Peer Information Systems Week 12: Naming
Presentation transcript:

Distributed Hash Tables (DHT) Jukka K. Nurminen *Adapted from slides provided by Stefan Götz and Klaus Wehrle (University of Tübingen)

/Jukka K. Nurminen Distributed Management and Retrieval of Data Essential challenge in (most) Peer-to-Peer systems? Location of a data item among systems distributed Where shall the item be stored by the provider? How does a requester find the actual location of an item? Scalability: keep the complexity for communication and storage scalable Robustness and resilience in case of faults and frequent changes D ? Data item „D“ distributed system peer-to-peer.info planet-lab.org berkeley.edu ? I have item „D“. Where to place „D“? ? I want item „D“. Where can I find „D“?

/Jukka K. Nurminen The Architectures of 1 st and 2 nd Gen. P2P Client-ServerPeer-to-Peer 1. Server is the central entity and only provider of service and content.  Network managed by the Server 2. Server as the higher performance system. 3. Clients as the lower performance system Example: WWW 1. Resources are shared between the peers 2. Resources can be accessed directly from other peers 3. Peer is provider and requestor (Servent concept) Unstructured P2PStructured P2P Centralized P2PPure P2PHybrid P2PDHT-Based 1. All features of Peer-to-Peer included 2. Central entity is necessary to provide the service 3. Central entity is some kind of index/group database Example: Napster 1. All features of Peer-to-Peer included 2. Any terminal entity can be removed without loss of functionality 3.  No central entities Examples: Gnutella 0.4, Freenet 1. All features of Peer-to-Peer included 2. Any terminal entity can be removed without loss of functionality 3.  dynamic central entities Example: Gnutella 0.6, JXTA 1. All features of Peer-to-Peer included 2. Any terminal entity can be removed without loss of functionality 3.  No central entities 4. Connections in the overlay are “fixed” Examples: Chord, CAN 1 st Gen. 2 nd Gen.

/Jukka K. Nurminen Addressing in Distributed Hash Tables Step 1: Mapping of content/nodes into linear space Usually: 0, …, 2 m -1 >> number of objects to be stored Mapping of data and nodes into an address space (with hash function) E.g., Hash(String) mod 2 m : H(„my data“)  2313 Association of parts of address space to DHT nodes H(Node Y)= ( ) Y X 2 m -10 Often, the address space is viewed as a circle. Data item “D”: H(“D”)=3107 H(Node X)=2906

/Jukka K. Nurminen Step 2: Routing to a Data Item Routing to a K/V-pair Start lookup at arbitrary node of DHT Routing to requested data item (key) ( 3107, (ip, port) ) Value = pointer to location of data Key = H(“my data”) Node 3485 manages keys , Initial node (arbitrary) H(„ my data “) = ? put (key, value) value = get (key)

/Jukka K. Nurminen Step 2: Routing to a Data Item Getting the content K/V-pair is delivered to requester Requester analyzes K/V-tuple (and downloads data from actual location – in case of indirect storage) H(„ my data “) = ? Get_Data(ip, port) Node 3485 sends (3107, (ip/port)) to requester In case of indirect storage: After knowing the actual Location, data is requested

/Jukka K. Nurminen Chord

/Jukka K. Nurminen Chord: Topology Keys and IDs on ring, i.e., all arithmetic modulo 2^160 (key, value) pairs managed by clockwise next node: successor Chord Ring Identifier Node X Key successor(1) = 1 successor(2) = 3successor(6) = 0

/Jukka K. Nurminen Chord: Primitive Routing Primitive routing: Forward query for key x until successor(x) is found Return result to source of query Pros: Simple Little node state Cons: Poor lookup efficiency: O(1/2 * N) hops on average (with N nodes) Node failure breaks circle Key 6? Node 0

/Jukka K. Nurminen Chord: Routing Chord’s routing table: finger table Stores log(N) links per node Covers exponentially increasing distances: Node n: entry i points to successor(n + 2^i) (i-th finger) finger table isucc. keys start finger table isucc. keys start finger table startsucc. keys i

/Jukka K. Nurminen Chord: Routing Chord’s routing algorithm: Each node n forwards query for key k clockwise To farthest finger preceding k Until n = predecessor(k) and successor(n) = successor(k) Return successor(n) to source of query lookup (44) lookup (44) = 45

/Jukka K. Nurminen Comparison of Lookup Concepts System Per Node State Communi- cation Overhead Fuzzy Queries No false negatives Robustness Central ServerO(N)O(1)  Flooding Search O(1)O(N²)  Distributed Hash Tables O(log N) 

Extra slides

/Jukka K. Nurminen Summary of DHT Use of routing information for efficient search for content Self-organizing system Advantages Theoretical models and proofs about complexity (Lookup and memory O(log N)) Simple & flexible Supporting a wide spectrum of applications pairs can represent anything Disadvantages No notion of node proximity and proximity-based routing optimizations Chord rings may become disjoint in realistic settings No wildcard or range searches Performance under high churn. Especially handling of node departures Key deletion vs. refresh Many improvements published e.g. proximity, bi-directional links, load balancing, etc.

/Jukka K. Nurminen Different kinds of DHTs Specific examples of Distributed Hash Tables Chord, UC Berkeley, MIT Pastry, M icrosoft Research, Rice University Tapestry, UC Berkeley CAN, UC Berkeley, ICSI P-Grid, EPFL Lausanne Kademlia, Symphony, Viceroy, … A number of uses Distributed tracker P2P SIP ePOST