Tapestry GTK Devaroy (07CS1012) Kintali Bala Kishan (07CS1024) G Rahul (07CS3009)

Slides:



Advertisements
Similar presentations
Peer-to-Peer Infrastructure and Applications Andrew Herbert Microsoft Research, Cambridge
Advertisements

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
Pastry Peter Druschel, Rice University Antony Rowstron, Microsoft Research UK Some slides are borrowed from the original presentation by the authors.
1 PASTRY Partially borrowed from Gabi Kliot ’ s presentation.
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.
The Oceanstore Regenerative Wide-area Location Mechanism Ben Zhao John Kubiatowicz Anthony Joseph Endeavor Retreat, June 2000.
Scribe: A Large-Scale and Decentralized Application-Level Multicast Infrastructure Miguel Castro, Peter Druschel, Anne-Marie Kermarrec, and Antony L. T.
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.
Spring 2003CS 4611 Peer-to-Peer Networks Outline Survey Self-organizing overlay network File system on top of P2P network Contributions from Peter Druschel.
SkipNet: A Scalable Overlay Network with Practical Locality Properties Nick Harvey, Mike Jones, Stefan Saroiu, Marvin Theimer, Alec Wolman Microsoft Research.
Distributed Lookup Systems
Tapestry : An Infrastructure for Fault-tolerant Wide-area Location and Routing Presenter: Chunyuan Liao March 6, 2002 Ben Y.Zhao, John Kubiatowicz, and.
Implementation of a Tapestry Node: The main components: The core router, utilizes the routing and object reference tables to handle messages, The node.
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.
CITRIS Poster Supporting Wide-area Applications Complexities of global deployment  Network unreliability.
Decentralized Location Services CS273 Guest Lecture April 24, 2001 Ben Y. Zhao.
Or, Providing High Availability and Adaptability in a Decentralized System Tapestry: Fault-resilient Wide-area Location and Routing Issues Facing Wide-area.
Wide-area cooperative storage with CFS
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.
Tapestry: A Resilient Global-scale Overlay for Service Deployment Ben Y. Zhao, Ling Huang, Jeremy Stribling, Sean C. Rhea, Anthony D. Joseph, and John.
“Umbrella”: A novel fixed-size DHT protocol A.D. Sotiriou.
Tapestry An off-the-wall routing protocol? Presented by Peter, Erik, and Morten.
 Structured peer to peer overlay networks are resilient – but not secure.  Even a small fraction of malicious nodes may result in failure of correct.
Pastry: Scalable, decentralized object location and routing for large-scale peer-to-peer systems (Antony Rowstron and Peter Druschel) Shariq Rizvi First.
1 Plaxton Routing. 2 Introduction Plaxton routing is a scalable mechanism for accessing nearby copies of objects. Plaxton mesh is a data structure that.
1 PASTRY. 2 Pastry paper “ Pastry: Scalable, decentralized object location and routing for large- scale peer-to-peer systems ” by Antony Rowstron (Microsoft.
Arnold N. Pears, CoRE Group Uppsala University 3 rd Swedish Networking Workshop Marholmen, September Why Tapestry is not Pastry Presenter.
Distributed Systems Concepts and Design Chapter 10: Peer-to-Peer Systems Bruce Hammer, Steve Wallis, Raymond Ho.
Wide-area cooperative storage with CFS Frank Dabek, M. Frans Kaashoek, David Karger, Robert Morris, Ion Stoica.
Chord & CFS Presenter: Gang ZhouNov. 11th, University of Virginia.
Brocade Landmark Routing on P2P Networks Gisik Kwon April 9, 2002.
Tapestry:A Resilient Global- Scale Overlay for Service Deployment Zhao, Huang, Stribling, Rhea, Joseph, Kubiatowicz Presented by Rebecca Longmuir.
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.
Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications.
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.
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
Tapestry: A Resilient Global-scale Overlay for Service Deployment 1 Ben Y. Zhao, Ling Huang, Jeremy Stribling, Sean C. Rhea, Anthony D. Joseph, and John.
Pastry: Scalable, decentralized object location and routing for large-scale peer-to-peer systems Antony Rowstron and Peter Druschel, Middleware 2001.
1 Distributed Hash Table CS780-3 Lecture Notes In courtesy of Heng Yin.
Idit Keidar, Principles of Reliable Distributed Systems, Technion EE, Spring Principles of Reliable Distributed Systems Lecture 2: Distributed Hash.
Plethora: Infrastructure and System Design. Introduction Peer-to-Peer (P2P) networks: –Self-organizing distributed systems –Nodes receive and provide.
Peer to Peer Network Design Discovery and Routing algorithms
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
Large Scale Sharing Marco F. Duarte COMP 520: Distributed Systems September 19, 2004.
1 Tuesday, February 03, 2009 “Work expands to fill the time available for its completion.” - Parkinson’s 1st Law.
1 Plaxton Routing. 2 History Greg Plaxton, Rajmohan Rajaraman, Andrea Richa. Accessing nearby copies of replicated objects, SPAA 1997 Used in several.
Plethora: A Locality Enhancing Peer-to-Peer Network Ronaldo Alves Ferreira Advisor: Ananth Grama Co-advisor: Suresh Jagannathan Department of Computer.
Peer-to-Peer Networks 05 Pastry Christian Schindelhauer Technical Faculty Computer-Networks and Telematics University of Freiburg.
Fabián E. Bustamante, Fall 2005 A brief introduction to Pastry Based on: A. Rowstron and P. Druschel, Pastry: Scalable, decentralized object location and.
Chord: A Scalable Peer-to-Peer Lookup Service for Internet Applications * CS587x Lecture Department of Computer Science Iowa State University *I. Stoica,
CS791Aravind Elango Maintenance-Free Global Data Storage Sean Rhea, Chris Wells, Patrick Eaten, Dennis Geels, Ben Zhao, Hakim Weatherspoon and John Kubiatowicz.
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.
Accessing nearby copies of replicated objects
Object Location Problem: Find a close copy of an object in a large network Solution should: Find object if it exists Find a close copy of the object (no.
Tapestry: Scalable and Fault-tolerant Routing and Location
Applications (2) Outline Overlay Networks Peer-to-Peer Networks.
Peer-to-Peer Information Systems Week 12: Naming
Presentation transcript:

Tapestry GTK Devaroy (07CS1012) Kintali Bala Kishan (07CS1024) G Rahul (07CS3009)

Introduction Tapestry is a distributed hash table which provides a decentralized object location, routing, and multicasting infrastructure for distributed applications. It is composed of a peer-to-peer overlay network offering efficient, scalable, self-repairing, location-aware routing to nearby resources. It also allows applications to implement multicasting in the overlay network.

Similarities With The Other Overlay Networks Key-based routing similar to Chord, Pastry Similar guarantees to Chord, Pastry ◦ Log b N routing hops (b is the base parameter) ◦ bLog b N state on each node ◦ O(Log b 2 N) messages on insert Locality-based routing tables similar to Pastry

What sets Tapestry above the rest of the structured overlay p2p networks?

Decentralized Object Location and Routing: DOLR The core of Tapestry Routes messages to endpoints ◦ Both Nodes and Objects Virtualizes resources ◦ objects are known by name, not location

DOLR Identifiers ID Space for both nodes and endpoints (objects): 160- bit values with a globally defined radix (e.g. hexadecimal to give 40-digit IDs) Each node is randomly assigned a nodeID Each endpoint is assigned a Globally Unique IDentifier (GUID) from the same ID space Typically done using SHA-1 Applications can also have IDs (application specific), which are used to select an appropriate process on each node for delivery

DOLR API PublishObject(O G, A id ) UnpublishObject(O G, A id ) RouteToObject(O G, A id ) RouteToNode(N, A id, Exact)

Node State Each node stores a neighbor map similar to Pastry ◦ Each level stores neighbors that match a prefix up to a certain position in the ID ◦ Invariant: If there is a hole in the routing table, there is no such node in the network For redundancy, backup neighbor links are stored ◦ Currently 2 Each node also stores backpointers that point to nodes that point to it Creates a routing mesh of neighbors

Routing Mesh Each identifier is mapped to a live node called the root If a node's nodeID is G, then it is the root else use the routing table's nodeIDs and IP addresses to find the nodes neighbors At each hop a message is progressively routed closer to G by incremental suffix routing Neighbor map has multiple levels where each level contains links to nodes matching to a certain digit position in the ID

Routing Mesh (cont.) The primary i th entry in the j th level is the ID and location of the closest node that begins with prefix (N, j-1)+i ◦ Level 1 has links to nodes that have nothing in common, level 2 has the first digit in common, etc. So, the routing takes approximately log B N hops in a network of size N and IDs of base B (hex: B=16) If an exact ID can not be found, the routing table will route to the closest matching node. For fault tolerance, nodes keep c secondary links such that the routing table has size c * B * log B N

Routing Mesh

Routing Every ID is mapped to a root An ID’s root is either the node where nodeID = ID or the “closest” node to which that ID routes Uses prefix routing (like Pastry) ◦ Lookup for 42AD: 4*** => 42** => 42A* => 42AD If there is an empty neighbor entry, then use surrogate routing ◦ Route to the next highest (if no entry for 42**, try 43**)

Routing Table Of A Node

Routing From Node 0325 to Node 4598:

Fault Tolerance Tapestry has the ability to detect, circumvent and recover from failures In Tapestry, faults are detected and circumvented by the previous hop router, minimizing the effect a fault has on the overall system Failures can occur due to: ◦ server outages(those due to high load and hardware/softwarefailures) ◦ link failures (router hardware and software faults) ◦ neighbor table corruption at the server ◦ failure of intermediate nodes.

Fault Tolerance Routing Each entry table has two backup-ids(backup neighbours) apart from the primary neighbour The Primary and back-up ID's are chosen based on RTT(Round Trip Time) to the neighbours Whenever the Primary-ID fails, the backup ID's are initiated and a stream of control messages is passed to the failed primary neighbour to see if it is repaired If the primary is repaired, then it is re-initiated If the failed node is not repaired within a timeout interval, then the Secondary Neighbour is made primary and a new secondary node is brought in

Object Publication A node sends a publish message towards the root of the object At each hop, nodes store pointers to the source node ◦ Data remains at source. Exploit locality without replication (such as in Pastry, Freenet) ◦ With replicas, the pointers are stored in sorted order of network latency Soft State – must periodically republish

Object Location Client sends message towards object’s root Each hop checks its list of pointers ◦ If there is a match, the message is forwarded directly to the object’s location ◦ Else, the message is routed towards the object’s root Because pointers are sorted by proximity, each object lookup is directed to the closest copy of the data

Use of Mesh for Object Location Getting Locality in the mesh. Objects belong to root sharing same ID

Node Insertions A insertion for new node N must accomplish the following: ◦ All nodes that have null entries for N need to be alerted of N’s presence  Acknowledged mulitcast from the “root” node of N’s ID to visit all nodes with the common prefix ◦ N may become the new root for some objects. Move those pointers during the mulitcast ◦ N must build its routing table  All nodes contacted during mulitcast contact N and become its neighbor set  Iterative nearest neighbor search based on neighbor set ◦ Nodes near N might want to use N in their routing tables as an optimization  Also done during iterative search

Node Deletions Voluntary ◦ Backpointer nodes are notified, which fix their routing tables and republish objects Involuntary ◦ Periodic heartbeats: detection of failed link initiates mesh repair (to clean up routing tables) ◦ Soft state publishing: object pointers go away if not republished (to clean up object pointers)

Tapestry Architecture Prototype implemented using Java TCP, UDP Connection Mgmt Tier 0/1: Routing, Object Location deliver(), forward(), route(), etc. OceanStore, etc

Benefits Simple Fault Handling Scalable Exploiting Locality Proportional Route

Limitations Root Node Vulnerability Global Knowledge Lack of Ability to Adapt

Applications Tapestry can be used to deploy large-scale applications! ◦ Oceanstore: a global-scale, highly available storage utility ◦ Bayeux: an efficient self-organizing application-level multicast system