*Adapted from slides provided by Stefan Götz and Klaus Wehrle (University of Tübingen)

Similar documents
*Adapted from slides provided by Stefan Götz and Klaus Wehrle (University of Tübingen)

Distributed Hash Tables (DHT)

L3S Research Center, University of Hannover

LECT-05, S-1 FP2P, Javed I.

Part 1: Introducing DHTs

Advanced Distributed Systems. Peer to peer systems. Reference. Reference. What is P2P? Unstructured P2P Systems Structured P2P Systems

Structured Peer-to-Peer Networks

Introduction to Peer-to-Peer Networks

Distributed Data Management. Profr. Dr. Wolf-Tilo Balke Institut für Informationssysteme Technische Universität Braunschweig

Searching for Shared Resources: DHT in General

6 Structured P2P Networks

Searching for Shared Resources: DHT in General

Scalability In Peer-to-Peer Systems. Presented by Stavros Nikolaou

Telematics Chapter 9: Peer-to-Peer Networks

L3S Research Center, University of Hannover

Content Search. Unstructured P2P. Jukka K. Nurminen

Content Search. Unstructured P2P

15-744: Computer Networking P2P/DHT

CIS 700/005 Networking Meets Databases

CPSC 426/526. P2P Lookup Service. Ennan Zhai. Computer Science Department Yale University

Architectures for Distributed Systems

DISTRIBUTED SYSTEMS CSCI 4963/ /4/2015

A Framework for Peer-To-Peer Lookup Services based on k-ary search

Badri Nath Rutgers University

Peer-to-Peer Internet Applications: A Review

Distributed lookup services

P2P: Distributed Hash Tables

P2P Network Structured Networks: Distributed Hash Tables. Pedro García López Universitat Rovira I Virgili

Content Overlays. Nick Feamster CS 7260 March 12, 2007

Distributed Knowledge Organization and Peer-to-Peer Networks

Peer-To-Peer Techniques

Lecture 8: Application Layer P2P Applications and DHTs

Peer-to-Peer (P2P) Systems

Structured P2P. Complexity O(log N)

Overlay and P2P Networks. Structured Networks and DHTs. Prof. Sasu Tarkoma

Distributed Systems. 17. Distributed Lookup. Paul Krzyzanowski. Rutgers University. Fall 2016

Goals. EECS 122: Introduction to Computer Networks Overlay Networks and P2P Networks. Solution. Overlay Networks: Motivations.

Telecommunication Services Engineering Lab. Roch H. Glitho

C 1. Last Time. CSE 486/586 Distributed Systems Distributed Hash Tables. Today s Question. What We Want. What We Want. What We Don t Want

CS 640 Introduction to Computer Networks. Today s lecture. What is P2P? Lecture30. Peer to peer applications

CS 347 Parallel and Distributed Data Processing

Lecture 6: Overlay Networks. CS 598: Advanced Internetworking Matthew Caesar February 15, 2011

Distributed File Systems: An Overview of Peer-to-Peer Architectures. Distributed File Systems

Flooded Queries (Gnutella) Centralized Lookup (Napster) Routed Queries (Freenet, Chord, etc.) Overview N 2 N 1 N 3 N 4 N 8 N 9 N N 7 N 6 N 9

Distributed Hash Tables: Chord

Motivation. The Impact of DHT Routing Geometry on Resilience and Proximity. Different components of analysis. Approach:Component-based analysis

The Impact of DHT Routing Geometry on Resilience and Proximity. Acknowledgement. Motivation

Handling Churn in a DHT

CompSci 356: Computer Network Architectures Lecture 21: Overlay Networks Chap 9.4. Xiaowei Yang

Page 1. How Did it Start?" Model" Main Challenge" CS162 Operating Systems and Systems Programming Lecture 24. Peer-to-Peer Networks"

A Survey of Peer-to-Peer Content Distribution Technologies

Advanced Computer Networks

Peer-to-Peer Systems. Chapter General Characteristics

Peer to Peer Networks

CS555: Distributed Systems [Fall 2017] Dept. Of Computer Science, Colorado State University

EE 122: Peer-to-Peer (P2P) Networks. Ion Stoica November 27, 2002

Peer-to-Peer Systems. Network Science: Introduction. P2P History: P2P History: 1999 today

Peer to Peer Networks

Introduction to Peer-to-Peer Systems

Peer-to-peer computing research a fad?

Introduction to P2P Computing

CSE 124 Finding objects in distributed systems: Distributed hash tables and consistent hashing. March 8, 2016 Prof. George Porter

Peer to Peer I II 1 CS 138. Copyright 2015 Thomas W. Doeppner, Rodrigo Fonseca. All rights reserved.

CSCI-1680 P2P Rodrigo Fonseca

CS 268: DHTs. Page 1. How Did it Start? Model. Main Challenge. Napster. Other Challenges

Internet Services & Protocols

Peer-to-Peer Systems and Distributed Hash Tables

Last Time. CSE 486/586 Distributed Systems Distributed Hash Tables. What We Want. Today s Question. What We Want. What We Don t Want C 1

Today. Why might P2P be a win? What is a Peer-to-Peer (P2P) system? Peer-to-Peer Systems and Distributed Hash Tables

Opportunistic Application Flows in Sensor-based Pervasive Environments

Cycloid: A constant-degree and lookup-efficient P2P overlay network

416 Distributed Systems. Mar 3, Peer-to-Peer Part 2

EE 122: Peer-to-Peer Networks

Overlay networks. To do. Overlay networks. P2P evolution DHTs in general, Chord and Kademlia. Turtles all the way down. q q q

P2P Network Structured Networks: Distributed Hash Tables. Pedro García López Universitat Rovira I Virgili

DHT Optimizations for mobile devices. Seminar Mobile Systems Supervisor: Thomas Bocek Student: Dario Nakic

: Scalable Lookup

PEER-TO-PEER NETWORKS, DHTS, AND CHORD

CSE 486/586 Distributed Systems

12/5/16. Peer to Peer Systems. Peer-to-peer - definitions. Client-Server vs. Peer-to-peer. P2P use case file sharing. Topics

Today s Objec2ves. Kerberos. Kerberos Peer To Peer Overlay Networks Final Projects

An Expresway over Chord in Peer-to-Peer Systems

Making Gnutella-like P2P Systems Scalable

Distributed Hash Tables

CPSC 426/526. P2P Lookup Service. Ennan Zhai. Computer Science Department Yale University

ReCord: A Distributed Hash Table with Recursive Structure

Special Topics: CSci 8980 Edge History

Distributed Systems. 16. Distributed Lookup. Paul Krzyzanowski. Rutgers University. Fall 2017

Overlay and P2P Networks. Structured Networks and DHTs. Prof. Sasu Tarkoma

CS514: Intermediate Course in Computer Systems

Overlay networks. T o do. Overlay networks. P2P evolution DHTs in general, Chord and Kademlia. q q q. Turtles all the way down

CSCI-1680 Web Performance, Content Distribution P2P Rodrigo Fonseca

Overlay Networks: Motivations. EECS 122: Introduction to Computer Networks Overlay Networks and P2P Networks. Motivations (cont d) Goals.

Chord: A Scalable Peer-to-peer Lookup Service For Internet Applications

EECS 122: Introduction to Computer Networks Overlay Networks and P2P Networks. Overlay Networks: Motivations

DISTRIBUTED COMPUTER SYSTEMS ARCHITECTURES

Peer to Peer Systems and Probabilistic Protocols

CSCI-1680 Web Performance, Content Distribution P2P John Jannotti

Symphony. Symphony. Acknowledgement. DHTs: : The Big Picture. Spectrum of DHT Protocols. Distributed Hashing in a Small World

Peer-to-peer systems and overlay networks

Transcription:

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

The Architectures of st and nd Gen. PP Client-Server Peer-to-Peer. Server is the central entity and only provider of service and content. Network managed by the Server. Server as the higher performance system. 3. Clients as the lower performance system. Resources are shared between the peers. Resources can be accessed directly from other peers 3. Peer is provider and requestor (Servent concept) Unstructured PP Structured PP Centralized PP Pure PP Hybrid PP DHT-Based Example: WWW. All features of Peer-to-Peer included. Central entity is necessary to provide the service 3. Central entity is some kind of index/group database Example: Napster. All features of Peer-to-Peer included. Any terminal entity can be removed without loss of functionality 3. No central entities Examples: Gnutella.4, Freenet. All features of Peer-to-Peer included. Any terminal entity can be removed without loss of functionality 3. dynamic central entities Example: Gnutella.6, JXTA. All features of Peer-to-Peer included. Any terminal entity can be removed without loss of functionality 3. No central entities 4. Connections in the overlay are fixed Examples: Chord, CAN st Gen. nd Gen.

Addressing in Distributed Hash Tables Step : Mapping of content/nodes into linear space Usually:,, m - >> number of objects to be stored Mapping of data and nodes into an address space (with hash function) E.g., Hash(String) mod m : H( my data ) 33 Association of parts of address space to DHT nodes 3485-6 6-79 8-6 6 - - 6 7-95 96-3484 (3485-6) m - H(Node Y)=3485 Data item D : H( D )=37 Y X H(Node X)=96 Often, the address space is viewed as a circle.

Step : Routing to a Data Item Routing to a K/V-pair Start lookup at arbitrary node of DHT Routing to requested data item (key) put (key, value) value = get (key) H( my data ) = 37 79 8 6 7 Node 3485 manages keys 97-3485, 6 Initial node (arbitrary) 3485 96 Key = H( my data ) (37, (ip, port)) Value = pointer to location of data

Step : 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 ) = 37 79 Get_Data(ip, port) 6 8 7 In case of indirect storage: After knowing the actual Location, data is requested 6 3485 96 Node 3485 sends (37, (ip/port)) to requester

Chord

Chord: Topology Keys and IDs on ring, i.e., all arithmetic modulo ^6 (key, value) pairs managed by clockwise next node: successor 6 7 successor() = successor(6) = 6 6 Chord Ring successor() = 3 5 4 3 X Identifier Node Key

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

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 + ^i) (i-th finger) finger table i start succ. keys 6 3 4 7 finger table i start 3 5 succ. 3 3 keys 6 5 4 3 finger table i start 4 5 7 succ. keys

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 6 63 4 i ^i Target Link i ^i 5 i ^i Target Target 4 43 Link Link 4 45 453 4 44 654 4 45 554 654 49 lookup 4 43 46 (44) (44) = 49 45 4 756 356 3 8 6 47 5 6 49 5 3 8 3 33 4 6 55 58 4 56 6 4 45 4 6 39 393 44 5 3 7 3 7 5 3 55 56 56 54 4 39 37 33 3 6 7 3 3 4 6 9

Comparison of Lookup Concepts System Per Node State Communication Overhead Fuzzy Queries No false negatives Robustness Central Server O(N) O() Flooding Search O() O(N²) Distributed Hash Tables O(log N) O(log N)

Extra slides

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 Disadvantages <Key, value> pairs can represent anything 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.

Different kinds of DHTs Specific examples of Distributed Hash Tables Chord, UC Berkeley, MIT Pastry, Microsoft Research, Rice University Tapestry, UC Berkeley CAN, UC Berkeley, ICSI P-Grid, EPFL Lausanne Kademlia, Symphony, Viceroy, A number of uses Distributed tracker PP SIP epost