Peer-to-Peer Distributed Search. Peer-to-Peer Networks A pure peer-to-peer network is a collection of nodes or peers that: 1.Are autonomous: participants.

Slides:



Advertisements
Similar presentations
Peer to Peer and Distributed Hash Tables
Advertisements

Evaluation of a Scalable P2P Lookup Protocol for Internet Applications
Kademlia: A Peer-to-peer Information System Based on the XOR Metric Petar Mayamounkov David Mazières A few slides are taken from the authors’ original.
CHORD – peer to peer lookup protocol Shankar Karthik Vaithianathan & Aravind Sivaraman University of Central Florida.
PDPTA03, Las Vegas, June S-Chord: Using Symmetry to Improve Lookup Efficiency in Chord Valentin Mesaros 1, Bruno Carton 2, and Peter Van Roy 1 1.
Technische Universität Yimei Liao Chemnitz Kurt Tutschku Vertretung - Professur Rechner- netze und verteilte Systeme Chord - A Distributed Hash Table Yimei.
Node Lookup in Peer-to-Peer Network P2P: Large connection of computers, without central control where typically each node has some information of interest.
Technische Universität Chemnitz Kurt Tutschku Vertretung - Professur Rechner- netze und verteilte Systeme Chord - A Distributed Hash Table Yimei Liao.
The Chord P2P Network Some slides have been borowed from the original presentation by the authors.
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 Protocol for Internet Applications Speaker: Cathrin Weiß 11/23/2004 Proseminar Peer-to-Peer Information Systems.
Ion Stoica, Robert Morris, David Liben-Nowell, David R. Karger, M
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
Robert Morris, M. Frans Kaashoek, David Karger, Hari Balakrishnan, Ion Stoica, David Liben-Nowell, Frank Dabek Chord: A scalable peer-to-peer look-up protocol.
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.
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.
Chord: A Scalable Peer-to-Peer Lookup Protocol for Internet Applications Stoica et al. Presented by Tam Chantem March 30, 2007.
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.
Secure Overlay Services Adam Hathcock Information Assurance Lab Auburn University.
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.
Hashing General idea: Get a large array
EE 122: A Note On Joining Operation in Chord Ion Stoica October 20, 2002.
P2P Course, Structured systems 1 Introduction (26/10/05)
Peer-to-Peer Networks Slides largely adopted from Ion Stoica’s lecture at UCB.
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.
Network Layer (3). Node lookup in p2p networks Section in the textbook. In a p2p network, each node may provide some kind of service for other.
Multi-level Hashing for Peer-to-Peer System in Wireless Ad Hoc Environment Dewan Tanvir Ahmed and Shervin Shirmohammadi Distributed & Collaborative Virtual.
Chord & CFS Presenter: Gang ZhouNov. 11th, University of Virginia.
1 Reading Report 5 Yin Chen 2 Mar 2004 Reference: Chord: A Scalable Peer-To-Peer Lookup Service for Internet Applications, Ion Stoica, Robert Morris, david.
Chord: A Scalable Peer-to-peer Lookup Protocol for Internet Applications Xiaozhou Li COS 461: Computer Networks (precept 04/06/12) Princeton University.
Presentation 1 By: Hitesh Chheda 2/2/2010. Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek, Hari Balakrishnan MIT Laboratory for Computer Science.
Node Lookup in P2P Networks. Node lookup in p2p networks In a p2p network, each node may provide some kind of service for other nodes and also will ask.
Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications.
Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek, Hari Balakrishnan Presented.
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
Chord Advanced issues. Analysis Theorem. Search takes O (log N) time (Note that in general, 2 m may be much larger than N) Proof. After log N forwarding.
Lecture 12 Distributed Hash Tables CPE 401/601 Computer Network Systems slides are modified from Jennifer Rexford.
1. Outline  Introduction  Different Mechanisms Broadcasting Multicasting Forward Pointers Home-based approach Distributed Hash Tables Hierarchical approaches.
Chord Advanced issues. Analysis Search takes O(log(N)) time –Proof 1 (intuition): At each step, distance between query and peer hosting the object reduces.
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
Node Lookup in P2P Networks. Node lookup in p2p networks Section in the textbook. In a p2p network, each node may provide some kind of service.
LOOKING UP DATA IN P2P SYSTEMS Hari Balakrishnan M. Frans Kaashoek David Karger Robert Morris Ion Stoica MIT LCS.
CS 347Notes081 CS 347: Parallel and Distributed Data Management Notes 08: P2P Systems.
Distributed systems. distributed systems and protocols distributed systems: use components located at networked computers use message-passing to coordinate.
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.
1 Distributed Hash tables. 2 Overview r Objective  A distributed lookup service  Data items are distributed among n parties  Anyone in the network.
CS Spring 2010 CS 414 – Multimedia Systems Design Lecture 24 – Introduction to Peer-to-Peer (P2P) Systems Klara Nahrstedt (presented by Long Vu)
The Chord P2P Network Some slides taken from the original presentation by the authors.
A Survey of Peer-to-Peer Content Distribution Technologies Stephanos Androutsellis-Theotokis and Diomidis Spinellis ACM Computing Surveys, December 2004.
CSE 486/586 Distributed Systems Distributed Hash Tables
The Chord P2P Network Some slides have been borrowed from the original presentation by the authors.
Peer-to-Peer Data Management
Improving and Generalizing Chord
S-Chord: Using Symmetry to Improve Lookup Efficiency in Chord
EE 122: Peer-to-Peer (P2P) Networks
DHT Routing Geometries and Chord
5.2 FLAT NAMING.
MIT LCS Proceedings of the 2001 ACM SIGCOMM Conference
Kademlia: A Peer-to-peer Information System Based on the XOR Metric
Presentation transcript:

Peer-to-Peer Distributed Search

Peer-to-Peer Networks A pure peer-to-peer network is a collection of nodes or peers that: 1.Are autonomous: participants do not respect any central control and can join or leave the network at will. 2.Are loosely coupled; they communicate over a general-purpose network such as the Internet, rather than being hard-wired together like the processors in a parallel machine. 3.Are equal in functionality; there is no leader or controlling node. 4.Share resources with one another. Examples: Napster, Kazaa, BitTorrent, …

Challenge: Search Lookup records in a (very large) set of key-value pairs. – Associated with each key K is a value V. – E.g. K might be the identifier of a document. V could be the document itself. If the size of the key-value data is small, we could use a central node that holds the entire key-value table. – All nodes would query the central node when they wanted the value V associated with a given key K.

What if the table is too large? Solution: Distribute the responsibility What we want: The value of V should be obtained using few messages.

Chord Circles - Placement To place a node in the circle, we hash its ID i, and place it at position h(i). Key-value pairs are also distributed around the circle using hash function h. For a pair (K, V ) compute h(K) and place (K, V ) at the lowest numbered node N j such that h(K)  j. In Fig. – Any (K, V ) pair such that 42 < h(K)  48 would be stored at N 48. – If h(K) is any of 57,58,...,63,0,1, then (K, V ) would be placed at N 1.

(Inefficient) Search Assumption Each node knows its successor in the circle. Search For instance, if N 8 wants to find V for key K such that h(K) = 54, it can send the request forward around the circle until a node N j is found such that j  54; – it would be node N 56. Very inefficient!

Links in Chord Circles To speed up the search, each node has a finger table – Gives the first nodes found at distances around the circle that are a power of two. Suppose that the hash function h produces m-bit numbers. – Node N i has entries in its finger table for distances 1,2,4,8,...,2 m-1. – The entry for 2 j is the first node we meet after going distance 2 j clockwise around the circle. Example: Finger table for N 8 is

Search Using Finger Tables Suppose N i wants to find (K, V ) where h(K) = j. If (K, V ) exists, it will be at the lowest-numbered node that is at least j. Algorithm Idea Let N k be the successor of N i. Check if i<j  k. If yes, (K, V ) must be at N k if it exists. So, end the search and ask N k to send (K, V ). Otherwise, consult the finger table to find the highest- numbered node N h that is less than j. – Send N h a message asking it to search for (K, V ). – N h behaves the same.

Search Using Finger Tables: Example Suppose N 8 wants to find (K, V ), where h(K) = 54. Since the successor of N 8 is N 14, and 54  {9,10,…,14}, (K, V) is not at N 14. N 8 examines its finger table, and finds that all the entries are below 54. Thus it takes the largest, N 42, and sends a message to N 42 asking it to look for key K and have the result sent to N 8. N 42 finds that 54  {43,44,…,48} between N 42 and its successor N 48. Thus, N 42 examines its own finger table, which is:

Search Using Finger Tables: Example The last node (in the circular sense) that is less than 54 is N 51, so N 42 sends a message to N 51, asking it to search for (K, V ) on behalf of N 8. N 51 finds that 54 is no greater than its successor, N 56. So, if (K,V ) exists, it is at N 56. N 51 sends a request to N 56, which replies to N 8. The sequence of messages is shown in Fig.

Adding New Nodes A new node N i (i.e., a node whose ID hashes to i) wants to join. If N i doesn’t know any peer, it is not possible for it to join. However, if N i knows even one peer, N i can ask that peer what node would be N i 's successor around the circle. To answer, the known peer performs the algorithm as if it were looking for a key that hashed to i. The node at which this hypothetical key would reside is the successor of N i. Suppose that the successor of N i is N j. We need to do two things: 1.Change predecessor and successor links, so N i is properly linked into the circle. 2.Rearrange data so N i gets all the data at N j that belongs to N i. To avoid concurrency problems, we follow a procedure we will not cover here.