CS 414 - Spring 2010 CS 414 – Multimedia Systems Design Lecture 24 – Introduction to Peer-to-Peer (P2P) Systems Klara Nahrstedt (presented by Long Vu)

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
P2P Systems and Distributed Hash Tables Section COS 461: Computer Networks Spring 2011 Mike Freedman
Node Lookup in Peer-to-Peer Network P2P: Large connection of computers, without central control where typically each node has some information of interest.
Chord: A Scalable Peer-to-peer Lookup Protocol for Internet Applications Speaker: Cathrin Weiß 11/23/2004 Proseminar Peer-to-Peer Information Systems.
Peer-to-Peer Networks João Guerreiro Truong Cong Thanh Department of Information Technology Uppsala 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.
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.
Peer-to-Peer Networks Slides largely adopted from Ion Stoica’s lecture at UCB.
1CS 6401 Peer-to-Peer Networks Outline Overview Gnutella Structured Overlays BitTorrent.
Introduction to Peer-to-Peer Networks. What is a P2P network Uses the vast resource of the machines at the edge of the Internet to build a network that.
INTRODUCTION TO PEER TO PEER NETWORKS Z.M. Joseph CSE 6392 – DB Exploration Spring 2006 CSE, UT Arlington.
By Shobana Padmanabhan Sep 12, 2007 CSE 473 Class #4: P2P Section 2.6 of textbook (some pictures here are from the book)
Peer-to-Peer Overlay Networks. Outline Overview of P2P overlay networks Applications of overlay networks Classification of overlay networks – Structured.
1 P2P Computing. 2 What is P2P? Server-Client model.
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.
Content Overlays (Nick Feamster). 2 Content Overlays Distributed content storage and retrieval Two primary approaches: –Structured overlay –Unstructured.
Lecture 13 Peer-to-Peer systems (Part II) CS 425/ECE 428/CSE 424 Distributed Systems (Fall 2009) CS 425/ECE 428/CSE 424 Distributed Systems (Fall 2009)
Introduction of P2P systems
2: Application Layer1 Chapter 2: Application layer r 2.1 Principles of network applications r 2.2 Web and HTTP r 2.3 FTP r 2.4 Electronic Mail  SMTP,
 A P2P IRC Network Built on Top of the Kademlia Distributed Hash Table.
Chord: A Scalable Peer-to-peer Lookup Protocol for Internet Applications Xiaozhou Li COS 461: Computer Networks (precept 04/06/12) Princeton University.
1 Peer-to-Peer Systems r Application-layer architectures r Case study: BitTorrent r P2P Search and Distributed Hash Table (DHT)
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.
SIGCOMM 2001 Lecture slides by Dr. Yingwu Zhu Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications.
Lecture 2 Distributed Hash Table
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.
1 CS 525 Advanced Distributed Systems Spring 2014 Indranil Gupta (Indy) Lecture 5 Peer to Peer Systems II February 4, 2014 All Slides © IG.
Computer Networking P2P. Why P2P? Scaling: system scales with number of clients, by definition Eliminate centralization: Eliminate single point.
1. Outline  Introduction  Different Mechanisms Broadcasting Multicasting Forward Pointers Home-based approach Distributed Hash Tables Hierarchical approaches.
Idit Keidar, Principles of Reliable Distributed Systems, Technion EE, Spring Principles of Reliable Distributed Systems Lecture 2: Distributed Hash.
Indranil Gupta (Indy) September 27, 2012 Lecture 10 Peer-to-peer Systems II Reading: Chord paper on website (Sec 1-4, 6-7)  2012, I. Gupta Computer Science.
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.
ADVANCED COMPUTER NETWORKS Peer-Peer (P2P) Networks 1.
Peer-to-peer systems (part I) Slides by Indranil Gupta (modified by N. Vaidya)
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
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 COP P2P Search Techniques Centralized P2P systems  e.g. Napster, Decentralized & unstructured P2P systems  e.g. Gnutella.
CS Spring 2012 CS 414 – Multimedia Systems Design Lecture 37 – Introduction to P2P (Part 1) Klara Nahrstedt.
PEAR TO PEAR PROTOCOL. Pure P2P architecture no always-on server arbitrary end systems directly communicate peers are intermittently connected and change.
Malugo – a scalable peer-to-peer storage system..
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.
Chapter 29 Peer-to-Peer Paradigm Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
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
Peer-to-Peer Data Management
EE 122: Peer-to-Peer (P2P) Networks
5.2 FLAT NAMING.
P2P Systems and Distributed Hash Tables
Consistent Hashing and Distributed Hash Table
CSE 486/586 Distributed Systems Distributed Hash Tables
#02 Peer to Peer Networking
Presentation transcript:

CS Spring 2010 CS 414 – Multimedia Systems Design Lecture 24 – Introduction to Peer-to-Peer (P2P) Systems Klara Nahrstedt (presented by Long Vu)

Why Peer-to-Peer (P2P)? Client/Server network model is not scalable Network resources are available at both server and client sides Users are more active  Share their machines and information Fundamental questions for P2P  How can I find other people to share?  How can I find what they are sharing? CS Spring 2010

Lecture Outline Napster: an example of P2P file sharing systems P2P fundamentals  Main operations: Search, Delete, etc.  Classification: Unstructured and Structured Gnutella (Unstructured P2P system) Chord (Structured P2P system) CS Spring 2010

Napster Created in 1999 to share music CS Spring 2010 Napster’s servers Store file directory (Filename/location) Clients/peers Store files

Napster, operation CS Spring Query (filename or keyword) 2. Servers search and returns the nodes holding the file(s) 3. Response 4. Ping candidates 5. Download

Napster’s drawbacks Asymmetric operation – servers vs. client peers  Scalability and congestion issues  Single point of failure Napster is responsible for abetting users’s copyright violation CS Spring 2010

Contemporary P2P systems Symmetric operation – all nodes (peers) have the same functionality  System naturally scales with new peers Basic operations  Insert file  Search file  Delete file  Maintain an overlay network CS Spring 2010 (physical network)

Contemporary P2P Systems (Classification) Usually classified depending on how peers connect to each-other – i.e., how the overlay network is created and maintained Unstructured – no particular connection pattern (e.g., randomly connected)  Gnutella  Fast Track Skype  BitTorrent, etc. CS Spring 2010

Contemporary P2P Systems (Classification) Structured – defines a distributed data structure (e.g., distributed hash table)  Chord  Pastry  CAN  Etc. CS Spring 2010

Gnutella CS Spring 2010 Peer Peer pointer Peers store: Files Peer pointers

Gnutella, searching CS Spring 2010 “jazz”?? 1.Flood query ( ) 2.Ignore repeated messages 3.Answer if local match 4.Query hit sent using reverse path ( ) 5.Establish connection and fetch file ( ) “jazz” Use TTL for the query to limit the query scope and reduce message overhead

Gnutella, maintaining the overlay CS Spring 2010 V X A - Use TTL to limit PING/PONG scope in the overlay - One peer may see the entire structure of the overlay Neighbor list: “A” “V” “X” 1.Periodically flood ping ( ) 2.Pong sent using reverse path( ) 3.Update neighbor list with received pongs Why periodically?

Gnutella, maintaining the overlay CS Spring 2010 V X Peers can leave or fail at any time  Neighbor list become stailed Neighbor list: “A” “V” “X”

Gnutella: some issues Ping/Pong constitutes 50% of traffic Flooding causes excessive traffic Repeated searches with same keywords Large number of freeloaders (70% of users in 2000) CS Spring 2010

DHTs (Distributed Hash Tables) Hash table allows these operations on object identified by key:  Insert  Lookup  Delete Distributed Hash Table – same but in a distributed setting CS Spring 2010

DHT performance comparison MemoryLookup latencylookup overhead NapsterO(1) at client; O(N) at server O(1) GnutellaO(N) Chord (DHT)O(log(N)) CS Spring 2010

Chord Uses Consistent Hashing on peer’s address  SHA-1 = Simple Hash Algorithm-1, a standard hashing function)  SHA-1(ip_address,port)  160 bit string  Output truncated to m (< 160) bits  Called peer id (integer between 0 and 2 m - 1)  Not unique but id conflicts very unlikely  “Consistent”? Any node A can calculate the peer id of any other node B, given B’s ip address and port number  Can then map peers to one of 2 m logical points on a circle CS Spring 2010

Chord’s ring CS Spring 2010 N80 N112 N96 N16 0 Say m=7 N32 N45 And 6 peers/nodes

Chord’s peer pointers, successors CS Spring 2010 N80 0 Say m=7 N32 N45 N112 N96 N16 (similarly predecessors)

Chord’s peer pointers, finger table CS Spring 2010 N Say m=7 N32 N45 ith entry at peer with id n is first peer with id >= N112 N96 N16 i ft[i] Finger Table at N80

Mapping files CS Spring 2010 N80 0 Say m=7 N32 N45 N112 N96 N16 File hello.txt with key K42 stored here SHA-1(filename)  160 bits, truncated to m bits=file id or key (just like with peers) For example: file hello.txt that maps to file id /key 42 is stored at first peer with id >= 42

Searching CS Spring 2010 N80 0 Say m=7 N32 N45 N112 N96 N16 File hello.txt with key K42 stored here “ hello.txt ”? (K42) At node n, send query for key k to largest successor/finger entry < k (all mod m) if none exist, send query to successor(n) i ft[i]

Joining CS Spring 2010 N80 0 Say m=7 N32 N45 N112 N96 N16 Introducer directs N40 to N32 N32 updates successor to N40 N40 initializes successor to N45, and obtains fingers from it N40 periodically talks to neighbors to update own finger table (stabilization protocol) N40 may need to copy some files/keys from N45 (files with fileid between 32 and 40) N40 K34,K38

Some Chord issues The ring can be partitioned Dynamism  traces from the Overnet system show hourly peer turnover rates (churn) could be 10-15% of total number of nodes in system  Leads to excessive (unnecessary) key copying  Stabilization algorithm may need to consume more bandwidth to keep up CS Spring 2010