Peer to Peer Network Design Discovery and Routing algorithms

Slides:



Advertisements
Similar presentations
Tapestry: Decentralized Routing and Location SPAM Summer 2001 Ben Y. Zhao CS Division, U. C. Berkeley.
Advertisements

INF 123 SW ARCH, DIST SYS & INTEROP LECTURE 12 Prof. Crista Lopes.
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
Peer-to-Peer Systems Chapter 25. What is Peer-to-Peer (P2P)? Napster? Gnutella? Most people think of P2P as music sharing.
1 Accessing nearby copies of replicated objects Greg Plaxton, Rajmohan Rajaraman, Andrea Richa SPAA 1997.
Common approach 1. Define space: assign random ID (160-bit) to each node and key 2. Define a metric topology in this space,  that is, the space of keys.
Scribe: A Large-Scale and Decentralized Application-Level Multicast Infrastructure Miguel Castro, Peter Druschel, Anne-Marie Kermarrec, and Antony L. T.
Application Layer Overlays IS250 Spring 2010 John Chuang.
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.
Pastry: Scalable, decentralized object location and routing for large-scale peer-to-peer systems Antony Rowstron and Peter Druschel Proc. of the 18th IFIP/ACM.
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.
Looking Up Data in P2P Systems Hari Balakrishnan M.Frans Kaashoek David Karger Robert Morris Ion Stoica.
Spring 2003CS 4611 Peer-to-Peer Networks Outline Survey Self-organizing overlay network File system on top of P2P network Contributions from Peter Druschel.
Overlay Networks EECS 122: Lecture 18 Department of Electrical Engineering and Computer Sciences University of California Berkeley.
presented by Hasan SÖZER1 Scalable P2P Search Daniel A. Menascé George Mason University.
Weaving a Tapestry Distributed Algorithms for Secure Node Integration, Routing and Fault Handling Ben Y. Zhao (John Kubiatowicz, Anthony Joseph) Fault-tolerant.
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.
1 Seminar: Information Management in the Web Gnutella, Freenet and more: an overview of file sharing architectures Thomas Zahn.
Decentralized Location Services CS273 Guest Lecture April 24, 2001 Ben Y. Zhao.
Or, Providing Scalable, Decentralized Location and Routing Network Services Tapestry: Fault-tolerant Wide-area Application Infrastructure Motivation and.
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.
 Structured peer to peer overlay networks are resilient – but not secure.  Even a small fraction of malicious nodes may result in failure of correct.
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.
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 Plaxton Routing. 2 Introduction Plaxton routing is a scalable mechanism for accessing nearby copies of objects. Plaxton mesh is a data structure that.
Peer-to-Peer Overlay Networks. Outline Overview of P2P overlay networks Applications of overlay networks Classification of overlay networks – Structured.
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.
Brocade Landmark Routing on P2P Networks Gisik Kwon April 9, 2002.
Security Michael Foukarakis – 13/12/2004 A Survey of Peer-to-Peer Security Issues Dan S. Wallach Rice University,
Vincent Matossian September 21st 2001 ECE 579 An Overview of Decentralized Discovery mechanisms.
A Scalable Content-Addressable Network (CAN) Seminar “Peer-to-peer Information Systems” Speaker Vladimir Eske Advisor Dr. Ralf Schenkel November 2003.
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 More on Plaxton routing There are n nodes, and log B n digits in the id, where B = 2 b The neighbor table of each node consists of - primary neighbors.
SIGCOMM 2001 Lecture slides by Dr. Yingwu Zhu Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications.
Peer to Peer A Survey and comparison of peer-to-peer overlay network schemes And so on… Chulhyun Park
Algorithms and Techniques in Structured Scalable Peer-to-Peer Networks
Tapestry : An Infrastructure for Fault-tolerant Wide-area Location and Routing Presenter : Lee Youn Do Oct 5, 2005 Ben Y.Zhao, John Kubiatowicz, and Anthony.
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
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.
Large Scale Sharing Marco F. Duarte COMP 520: Distributed Systems September 19, 2004.
Malugo – a scalable peer-to-peer storage system..
1 Plaxton Routing. 2 History Greg Plaxton, Rajmohan Rajaraman, Andrea Richa. Accessing nearby copies of replicated objects, SPAA 1997 Used in several.
P2P Networking: Freenet Adriane Lau November 9, 2004 MIE456F.
Plethora: A Locality Enhancing Peer-to-Peer Network Ronaldo Alves Ferreira Advisor: Ananth Grama Co-advisor: Suresh Jagannathan Department of Computer.
Fabián E. Bustamante, Fall 2005 A brief introduction to Pastry Based on: A. Rowstron and P. Druschel, Pastry: Scalable, decentralized object location and.
Distributed Web Systems Peer-to-Peer Systems Lecturer Department University.
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.
Pastry Scalable, decentralized object locations and routing for large p2p systems.
Controlling the Cost of Reliability in Peer-to-Peer Overlays
Accessing nearby copies of replicated objects
Early Measurements of a Cluster-based Architecture for P2P 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
Presentation transcript:

Peer to Peer Network Design Discovery and Routing algorithms Nuno Santos February 2, 2005

Overview Discovery and Routing in traditional networks Existing P2P networks Scalable, Pure P2P networks Plaxton Mesh – Routing Plaxton Mesh – Object Discovery

Discovery and Routing Traditional Networks Discovery and routing – foundation of computer networks: Discovery – Given a named object O, return the address of node X where O can be found Routing – Given a message M and a destination node X, deliver M to X Traditional networks have dedicated servers for these operations Examples: DNS Servers, IP routers, directory servers Generally static structure Depend on human intervention Single points of failure

Discovery and Routing P2P Networks Desirable features of P2P networks Dynamic: Nodes join and leave at any time Objects are inserted and removed often Scalable Most perform gracefully even with large numbers of nodes Reliable Must cope with arbitrary node failures Consequences: Central servers must be avoided The network must adapt dynamically Traditional discovery and routing algorithms not adequate

Discovery and Routing in P2P networks Real world examples Napster – Single central server keeps a directory of nodes and objects. Basically, a huge file catalog Discovery and Routing is not really P2P eDonkey, eMule – Based on multiple servers Servers require special setup. Not ordinary nodes. Clients connect to a server. File list stored on server. Servers communicate with each other for performing searches. Improvement over Napster, no single server, but not pure P2P

Discovery and Routing in P2P networks Real world examples GNUtella – Decentralized P2P network Nodes can either be: Peers – Normal nodes Ultrapeers – Ad-hoc servers. Peers get promoted to ultrapeers dynamically, based on their bandwidth. Discovery based on broadcasts Nodes send a search message to its ultrapeer Ultrapeers forward message to all other peers Repeat recursively until message reaches maximum hops (typically 7) Searches generate a lot of traffic: O(n) complexity Not scalable!

Current situation of P2P networks Some are highly scalable – eMule, eDonkey Rely on a static structure of servers Some are pure P2P – Gnutella Broadcast based searches generate too much traffic Not scalable Are scalable, pure P2P networks possible?

Scalable, Pure P2P networks Active field of research for the last 5 to 7 years Several research projects Plaxton Mesh Chord Pastry Tapestry Common features Pure P2P – No central servers Scalable - Discovery and routing is O(log(n)). Routing tables size also O(log(n)). Highly resilient Adapt dynamically to node arrival, departure and failure Applications based on research projects: PAST – Distributed storage system SCRIBE – Application level multicast OceanStore – Distributed storage system with replica and redundancy support Skype might also be in this class No central server and scalable, but algorithm details unknown

Plaxton Mesh Overview Plaxton Mesh – earliest known proposal for a scalable P2P network (1997) Plaxton Mesh is static – no node arrival, departure or failure Other projects based on same basic idea Extensions supporting dynamic networks More complex Concepts in Plaxton Nodes – Act as routers, clients and servers simultaneously. Objects – Stored on servers, searched by clients. Objects and nodes have unique, location independent names Random fixed-length bit sequence in some base Typically, hash of hostname or of object name What Plaxton does: Given message M and destination D, a Plaxton mesh routes M to the node whose name is numerically closest to D

Plaxton Mesh Routing Routing done incrementally, digit by digit In each step, message sent to node with address one digit closer to destination. Example - node 0325 sends M to node 4598 Possible route: 0325 B4F8 9098 7598 4598

Plaxton Mesh Routing Tables Each node has a neighbor map Used to find a node whose address has one more digit in common with the destination Size of the map: B*L, where: B – base used for the digits of the address. Eg. 8 in octal base L – length of the addresses 4 digit addresses in octal base -> 8*4 tables.

Plaxton Mesh Routing Tables Node 3642 x are wildcards. Can be filled with any address. Each slot can have several addresses. Redundancy. Example: node 3642 receives message for node 2342 Common prefix: XX42 Look into second column. Must send M to a node one digit “closer” to the destination. Any host with an address like X342. Look in line 4

Plaxton Mesh Publishing and locating objects Server S has an object O Wants to make it known to clients Strength of a Plaxton Mesh No central directory Directory distributed between nodes How? Hash function H: (object names) -> (node addresses)

Plaxton Mesh Publishing and locating objects Server S wants to publish object O S computes H(O), the object ID of O (hash of the name). S sends a PUBLISH message to node H(O). Node H(O) might not exist. No problem. Message forwarded deterministically to node X with address closest to A(O). X - root node for object O Nodes visited by the PUBLISH message associate A(O) with physical address of S (including root node) These nodes are the tree of the object O

Plaxton Mesh Publishing and locating objects A client C wants to find object O. Evaluates H(O), using same algorithm as the server Sends a QUERY message to H(O) Forwarded to X, the object root. The object root forwards the message to S. Shortcut – Nodes in the tree of O also know location of O If QUERY message reaches one of this nodes, it is forwarded directly to S.

Analysis of Plaxton Mesh Advantages Simple fault handling – Several possible routes. Scalable – No central point, routing done with local information Disadvantages Global knowledge required to build routing tables Static network Root node vulnerability More recent research overcomes most of disadvantages Dynamic networks Redundant storage

Conclusion Pure P2P networks are possible Dynamic Scalable Highly resilient Applications starting to appear Skype (??) Complex to build and understand But very promising