Distributed Web Systems Peer-to-Peer Systems Lecturer Department University.

Slides:



Advertisements
Similar presentations
Peer-to-peer and agent-based computing Peer-to-Peer Computing: Introduction.
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.
Pastry Peter Druschel, Rice University Antony Rowstron, Microsoft Research UK Some slides are borrowed from the original presentation by the authors.
Scalable Content-Addressable Network Lintao Liu
Clayton Sullivan PEER-TO-PEER NETWORKS. INTRODUCTION What is a Peer-To-Peer Network A Peer Application Overlay Network Network Architecture and System.
An Overview of Peer-to-Peer Networking CPSC 441 (with thanks to Sami Rollins, UCSB)
Peer-to-Peer Networks as a Distribution and Publishing Model Jorn De Boever (june 14, 2007)
Cis e-commerce -- lecture #6: Content Distribution Networks and P2P (based on notes from Dr Peter McBurney © )
FRIENDS: File Retrieval In a dEcentralized Network Distribution System Steven Huang, Kevin Li Computer Science and Engineering University of California,
Spring 2003CS 4611 Peer-to-Peer Networks Outline Survey Self-organizing overlay network File system on top of P2P network Contributions from Peter Druschel.
Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek and Hari alakrishnan.
Peer-To-Peer Systems Chapter 10 B. Ramamurthy. 6/25/2015B.RamamurthyPage 2 Introduction Monolithic application Simple client-server Multi-tier client-server.
Gnutella, Freenet and Peer to Peer Networks By Norman Eng Steven Hnatko George Papadopoulos.
1 Client-Server versus P2P  Client-server Computing  Purpose, definition, characteristics  Relationship to the GRID  Research issues  P2P Computing.
Freenet A Distributed Anonymous Information Storage and Retrieval System I Clarke O Sandberg I Clarke O Sandberg B WileyT W Hong.
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 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.
P2P File Sharing Systems
Freenet. Anonymity  Napster, Gnutella, Kazaa do not provide anonymity  Users know who they are downloading from  Others know who sent a query  Freenet.
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
A Survey of Peer-to-Peer Content Distribution Technologies Stephanos Androutsellis-Theotokis and Diomidis Spinellis ACM Computing Surveys, December 2004.
Tapestry GTK Devaroy (07CS1012) Kintali Bala Kishan (07CS1024) G Rahul (07CS3009)
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.
Distributed Systems Concepts and Design Chapter 10: Peer-to-Peer Systems Bruce Hammer, Steve Wallis, Raymond Ho.
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.
Peer-to-Peer Networks University of Jordan. Server/Client Model What?
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 File sharing for a political world. Freenet: A Distributed Anonymous Information Storage and Retrieval System I. Clarke, O. Sandberg, B. Wiley,
Bruce Hammer, Steve Wallis, Raymond Ho
Chord: A Scalable Peer-to-peer Lookup Protocol for Internet Applications Xiaozhou Li COS 461: Computer Networks (precept 04/06/12) Princeton University.
From Coulouris, Dollimore, Kindberg and Blair Distributed Systems: Concepts and Design Edition 5, © Addison-Wesley 2012 Slides for Chapter 10: Peer-to-Peer.
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)
Security Michael Foukarakis – 13/12/2004 A Survey of Peer-to-Peer Security Issues Dan S. Wallach Rice University,
The Start Shawn Fanning (19-yr-old student nicknamed Napster) developed the original Napster application and service in January 1999 while a freshman.
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
Peer-to-peer systems Chapter Outline Introduction Napster and its legacy Peer-to-peer middleware Routing overlay Pastry 2.
Peer-to-peer systems Chapter Outline Introduction Napster and its legacy Peer-to-peer middleware Routing overlay Pastry 2.
1 Secure Peer-to-Peer File Sharing Frans Kaashoek, David Karger, Robert Morris, Ion Stoica, Hari Balakrishnan MIT Laboratory.
Slides for Chapter 10: Peer-to-Peer Systems
ADVANCED COMPUTER NETWORKS Peer-Peer (P2P) Networks 1.
Peer to Peer Network Design Discovery and Routing algorithms
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.
Bruce Hammer, Steve Wallis, Raymond Ho
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.
09/13/04 CDA 6506 Network Architecture and Client/Server Computing Peer-to-Peer Computing and Content Distribution Networks by Zornitza Genova Prodanoff.
P2P Networking: Freenet Adriane Lau November 9, 2004 MIE456F.
Peer-to-peer systems ”Sharing is caring”. Why P2P? Client-server systems limited by management and bandwidth P2P uses network resources at the edges.
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.
CS 268: Lecture 22 (Peer-to-Peer Networks)
Peer-to-Peer Data Management
CHAPTER 3 Architectures for Distributed Systems
EE 122: Peer-to-Peer (P2P) Networks
An Overview of Peer-to-Peer
Applications (2) Outline Overlay Networks Peer-to-Peer Networks.
Peer-to-Peer Information Systems Week 12: Naming
#02 Peer to Peer Networking
Presentation transcript:

Distributed Web Systems Peer-to-Peer Systems Lecturer Department University

Outline Motivation Case studies: Napster et al P2P middleware: routing overlays

Motivation Demand for services in the Internet can be expected to grow to a scale that is limited only by the size of the world’s population Problem – scaling a centralised service to support such demand –Examples: Google, Amazon, eBay, etc. –Escalating administration and fault recovery costs –Limited bandwidth that can be provided to a single server site Peer-to-peer systems: –resources located on computers throughout a network –decentralised management and administration –lots of powerful desktop computers –growing connectivity (more than 100 million broadband connections world-wide by mid-2004)

Generations of P2P systems First –Napster and similar systems –centralised indexing of resources Second –Freenet, Gnutella, Kazaa, BitTorrent, etc –greater scalability, anonymity and fault tolerance Third –Pastry, Tapestry –P2P middleware layers for application-independent management of distributed resources

Napster P2P file sharing system –launched in 1999 –became very popular for music exchange –several million users registered at its peak –thousands swapping files simultaneously Architecture –peer computers –central index servers

Napster protocol How it works: –Each user must have Napster software in order to participate –A connection between the user's computer and one of Napster's Central Servers is established –The Napster Central Server keeps a directory of all client computers connected and files residing on them –If a user wants a certain file, they place a request to the Napster Centralised Server that it's connected to. –The Napster Server looks up its directory to see if it has any matches for the user's request. –The Server sends the user a list of all that matches, IP address, user name, file size, ping number, bit rate etc. –The user chooses the file to download and tries to establish a direct connection with the computer upon which the desired file resides. –The file transfer is done between the peers directly

File exchange in Napster © Pearson Education 2005

Issues with Napster Scalability and reliability –the index servers are the bottle neck Anonymity and legal –the index servers can by used to obtain information about interests of all users on the networks –the developers argued that they were not liable for the copyright infringement since they did not participate in copying the files –however, the index servers were deemed an essential part of the process

Freenet and Gnutella Peer discovery: –connecting computers advertise their presence in the networks. These requests are forwarded on to other peers –TTL in the messages is used to manage the network load Querying for resources: –similar mechanism – forwarding queries until the resource is found –replies are returned via the same path and intermediate peers can cache them

Freenet and Gnutella (contd.) Servers that do not have matching resources, need not send a reply to save network bandwidth

Freenet and Gnutella analysis Advantages: –no single point of failure or single point of attack (especially for censors) –more anonymity (peers often only know the immediate peer the request came from, not the originator) Problems: –scalability: only part of the network is visible to each peer, increasing this horizon dramatically increases the network traffic –susceptibility to denial of service attacks –“free riding” and overloading of popular peers Newer systems like BitTorrent attempt to fix some of these issues.

P2P middleware Functional requirements –locating and accessing resources throughout the network Non-functional requirements –scalability –load balancing –optimising for local interactions between neighbouring peers –coping with highly dynamic host availability –security and trust –anonymity, deniability and resistance to censorship

Routing overlays Ensures that each node can access any object by routing requests through a sequence of nodes exploiting knowledge at each of them Object: Node: D C’s routing knowledge D’s routing knowledgeA’s routing knowledge B’s routing knowledge C A B © Pearson Education 2005

Overlays case studies Active area or research Pastry –prefix routing approach –each node and object are assigned a GUID for nodes – hash of the node’s public key for objects – hash of the object’s name (or part of its contents) –Pastry will route a message to any GUID in O(log N) steps –If the target node is not active, the message is delivered to active node with the closest GUID

Pastry routing algorithm Simple version first: –each node stores addresses of L nodes with the closest GUIDs on either side –the message is forwarded to the node with the closest GUID –N/2L hops to deliver a message – inefficient!

Pastry routing algorithm The more efficient version: –uses routing tables –the number of rows is equal to the number of hexadecimal digits in the GUID –each entry in the raw can hold address of the node with the corresponding common GUID prefix that will be used to forward the request Algorithm idea: –forward to the peer from the routing table with the largest matching GUID prefix

Pastry routing table

Pastry routing example with the aid of a well-populated routing table, the message can be delivered in approx. log 16 (N) hops

More Pastry… Host integration (new nodes joining the network) –building of the routing table (please see the book for details) Fault tolerance –Pastry nodes send regular “hear beat” messages to their neighbours –Failed nodes are detected and the routing tables are updated accordingly

Tapestry Similar idea to Pastry, but different API –supports publishing of resource replicas with the same GUID A FE B4F E791 4A6D AA93 57EC 4378 Phil’s Books 4378 Phil’s Books (Root for 4378) publish path Tapestry routings for 4377 Location mapping for 4378 Routes actually taken by send(4378) © Pearson Education 2005

Applications… Please have a look at the case studies for Squirrel, OceanStore, Ivy utilising the described routing overlays…

Summary Peer-to-peer systems attempt to solve the problems of scalability and demand for services in the Internet –Distributing resources throughout a network –Decentralised control Popular examples: Napster, Gnutella, Freenet, … Further research: Pastry, Tapestry, … Questions