1CS 6401 Peer-to-Peer Networks Outline Overview Gnutella Structured Overlays BitTorrent.

Slides:



Advertisements
Similar presentations
Peer-to-Peer and Social Networks An overview of Gnutella.
Advertisements

CAN 1.Distributed Hash Tables a)DHT recap b)Uses c)Example – CAN.
INF 123 SW ARCH, DIST SYS & INTEROP LECTURE 12 Prof. Crista Lopes.
Peer to Peer and Distributed Hash Tables
Pastry Peter Druschel, Rice University Antony Rowstron, Microsoft Research UK Some slides are borrowed from the original presentation by the authors.
Peter Druschel, Rice University Antony Rowstron, Microsoft Research UK
Scalable Content-Addressable Network Lintao Liu
1 An Overview of Gnutella. 2 History The Gnutella network is a fully distributed alternative to the centralized Napster. Initial popularity of the network.
Pastry Peter Druschel, Rice University Antony Rowstron, Microsoft Research UK Some slides are borrowed from the original presentation by the authors.
Gnutella 2 GNUTELLA A Summary Of The Protocol and it’s Purpose By
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.
Cis e-commerce -- lecture #6: Content Distribution Networks and P2P (based on notes from Dr Peter McBurney © )
Topics in Reliable Distributed Systems Lecture 2, Fall Dr. Idit Keidar.
Spotlighting Decentralized P2P File Sharing Archie Kuo and Ethan Le Department of Computer Science San Jose State University.
Spring 2003CS 4611 Peer-to-Peer Networks Outline Survey Self-organizing overlay network File system on top of P2P network Contributions from Peter Druschel.
Efficient Content Location Using Interest-based Locality in Peer-to-Peer Systems Presented by: Lin Wing Kai.
Gnutella, Freenet and Peer to Peer Networks By Norman Eng Steven Hnatko George Papadopoulos.
Object Naming & Content based Object Search 2/3/2003.
Topics in Reliable Distributed Systems Fall Dr. Idit Keidar.
1 Seminar: Information Management in the Web Gnutella, Freenet and more: an overview of file sharing architectures Thomas Zahn.
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.
Improving Data Access in P2P Systems Karl Aberer and Magdalena Punceva Swiss Federal Institute of Technology Manfred Hauswirth and Roman Schmidt Technical.
Peer-to-peer file-sharing over mobile ad hoc networks Gang Ding and Bharat Bhargava Department of Computer Sciences Purdue University Pervasive Computing.
P2P File Sharing Systems
Mobile Ad-hoc Pastry (MADPastry) Niloy Ganguly. Problem of normal DHT in MANET No co-relation between overlay logical hop and physical hop – Low bandwidth,
INTRODUCTION TO PEER TO PEER NETWORKS Z.M. Joseph CSE 6392 – DB Exploration Spring 2006 CSE, UT Arlington.
Roger ZimmermannCOMPSAC 2004, September 30 Spatial Data Query Support in Peer-to-Peer Systems Roger Zimmermann, Wei-Shinn Ku, and Haojun Wang Computer.
Peer-to-Peer Computing CS587x Lecture Department of Computer Science Iowa State University.
1 Napster & Gnutella An Overview. 2 About Napster Distributed application allowing users to search and exchange MP3 files. Written by Shawn Fanning in.
Introduction Widespread unstructured P2P network
Peer-to-Peer Overlay Networks. Outline Overview of P2P overlay networks Applications of overlay networks Classification of overlay networks – Structured.
1 Telematica di Base Applicazioni P2P. 2 The Peer-to-Peer System Architecture  peer-to-peer is a network architecture where computer resources and services.
Content Overlays (Nick Feamster). 2 Content Overlays Distributed content storage and retrieval Two primary approaches: –Structured overlay –Unstructured.
Introduction of P2P systems
Peer to Peer Research survey TingYang Chang. Intro. Of P2P Computers of the system was known as peers which sharing data files with each other. Build.
Jonathan Walpole CSE515 - Distributed Computing Systems 1 Teaching Assistant for CSE515 Rahul Dubey.
2: Application Layer1 Chapter 2 outline r 2.1 Principles of app layer protocols r 2.2 Web and HTTP r 2.3 FTP r 2.4 Electronic Mail r 2.5 DNS r 2.6 Socket.
Freenet: A Distributed Anonymous Information Storage and Retrieval System Presenter: Chris Grier ECE 598nb Spring 2006.
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.
1 Distributed Hash Tables (DHTs) Lars Jørgen Lillehovde Jo Grimstad Bang Distributed Hash Tables (DHTs)
A Routing Underlay for Overlay Networks Akihiro Nakao Larry Peterson Andy Bavier SIGCOMM’03 Reviewer: Jing lu.
A Scalable Content-Addressable Network (CAN) Seminar “Peer-to-peer Information Systems” Speaker Vladimir Eske Advisor Dr. Ralf Schenkel November 2003.
Quantitative Evaluation of Unstructured Peer-to-Peer Architectures Fabrício Benevenuto José Ismael Jr. Jussara M. Almeida Department of Computer Science.
An IP Address Based Caching Scheme for Peer-to-Peer Networks Ronaldo Alves Ferreira Joint work with Ananth Grama and Suresh Jagannathan Department of Computer.
1 Peer-to-Peer Technologies Seminar by: Kunal Goswami (05IT6006) School of Information Technology Guided by: Prof. C.R.Mandal, School of Information Technology.
Scalable Content- Addressable Networks Prepared by Kuhan Paramsothy March 5, 2007.
Peer to Peer A Survey and comparison of peer-to-peer overlay network schemes And so on… Chulhyun Park
DHT-based unicast for mobile ad hoc networks Thomas Zahn, Jochen Schiller Institute of Computer Science Freie Universitat Berlin 報告 : 羅世豪.
Computer Networking P2P. Why P2P? Scaling: system scales with number of clients, by definition Eliminate centralization: Eliminate single point.
ADVANCED COMPUTER NETWORKS Peer-Peer (P2P) Networks 1.
Peer to Peer Network Design Discovery and Routing algorithms
Peer-to-peer systems (part I) Slides by Indranil Gupta (modified by N. Vaidya)
A Reputation-Based Approach for Choosing Reliable Resources in Peer-to-Peer Networks E. Damiani S. De Capitani di Vimercati S. Paraboschi P. Samarati F.
CS 6401 Overlay Networks Outline Overlay networks overview Routing overlays Resilient Overlay Networks Content Distribution Networks.
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 COP6731 Advanced Database Systems. P2P Computing  Powerful personal computer Share computing resources P2P Computing  Advantages: Shared.
P2P Search COP P2P Search Techniques Centralized P2P systems  e.g. Napster, Decentralized & unstructured P2P systems  e.g. Gnutella.
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)
A Survey of Peer-to-Peer Content Distribution Technologies Stephanos Androutsellis-Theotokis and Diomidis Spinellis ACM Computing Surveys, December 2004.
Peer-to-Peer and Social Networks
EE 122: Peer-to-Peer (P2P) Networks
A Scalable content-addressable network
#02 Peer to Peer Networking
Presentation transcript:

1CS 6401 Peer-to-Peer Networks Outline Overview Gnutella Structured Overlays BitTorrent

2CS 6402 Peer-to-Peer Networks Overview A peer-to-peer (P2P) network allows a community of users to pool their resources –Content –Storage –CPU,… A P2P network is both decentralized and self-organizing –Just like the Internet itself! Why do we care about these networks? –It is challenging to achieve decentralization and scalability at the same time.

3CS 6403 Gnutella One of the first decentralized P2P networks for file sharing No central registry of objects. Example topology of a Gnutella P2P network Edges of the graph correspond to the relationship “A and B know each other”

4 Gnutella cont. The simple idea in Gnutella is to distribute the method for finding data –Great idea! –Lots of fun architectural possibilities! Gnutella is a distributed search protocol with a decentralized model –Clients can issue/view query results –Clients can serve/request data –Clients accept queries and respond with matches from their local data store CS 640

5 5 Gnutella Protocol Protocol defines method of client communication –Set of descriptors used for communicating data –Set of rules governing inter-client exchange of descriptors Descriptors –Ping: active discovery of hosts on a network –Pong: response to Ping includes client address and metadata –Query: Ask for an object –Query Response: response to Query includes info necessary to get data A Gnutella client connects to network by establishing a connection with another client on the network –Finding another client is not part of Gnutella spec. Host cache services are the typical way this is done

6CS 6406 Gnutella Protocol New client then creates connection to the Gnutella client and thereby becomes part of the network –Gnutella client can reject the connect request –Successful new client can then send/receive descriptors Pings/pongs are then sent to establish network –No specification as to how much/often to probe –Network data can/is cached Message routing should be well behaved –Ping/Query descriptors should be sent to all directly connected clients –Pong/Query Response descriptors should be sent back along same path –TTL is mechanism to limit distance File downloads via HTTP/1.0 protocol via direct connect

7CS 6407 Gnutella Protocol New client then creates connection to the Gnutella client and thereby becomes part of the network –Gnutella client can reject the connect request –Successful new client can then send/receive descriptors Pings/pongs are then sent to establish network –No specification as to how much/often to probe –Network data can/is cached Message routing should be well behaved –Ping/Query descriptors should be sent to all directly connected clients –Pong/Query Response descriptors should be sent back along same path –TTL is mechanism to limit distance File downloads via HTTP/1.0 protocol via direct connect

8 Gnutella’s Downside Flooding does not scale well! Alternatives: –Forward queries randomly or according to probability of success based on past results –Proactively replicate objects to make them easier to find –OR –Structured Overlays CS 640

9 Structured Overlays Designed to conform to a particular graph structure that allows reliable and efficient object location. However, with the cost of additional complexity in overlay construction and maintenance. 2 questions to answer: –How do we map objects to nodes that should serve them? –How do we find an object? CS 640

10 Mapping Objects to Nodes Hashing is used to map objects to n nodes Regular hashing: Hash(x,n){ Return x % n } Challenge: –What if a node joins the network? –What if a node leaves the network? –How do we choose the proper n? CS 640

11 Consistent Hashing Hash a set of objects x uniformly across a large ID space Each object is maintained on the node whose ID is closest Advantages: –Distributes objects fairly evenly across nodes –Only a small number of objects have to move when a node joins or leaves CS 640

12 Consistent Hashing cont. Example Bucket/Node 14 CS 640

13 How to find an object? Idea: Route the query message to the node that has the object –Each node maintains a routing table and the IP addresses of a small set of numerically larger and smaller node IDs. –Forward the query message to the node that is closer than you to the destination node –This is repeated until you get to destination CS 640

14 How to find an object: Cont. Structured Overlays provide a logarithmic bound on the number of routing hops required to locate an object However, Nodes might be arbitrarily far away from each other in the Internet! Optimizations: –Route to the physically closest node when possible –Replicate data across the nodes CS 640