SkipNet Christian Schmidt-Madsen, Peter Tiedemann,

Slides:



Advertisements
Similar presentations
SkipNet: A Scalable Overlay Network with Practical Locality Properties Nick Harvey, Mike Jones, Stefan Saroiu, Marvin Theimer, Alec Wolman Microsoft Research.
Advertisements

CAN 1.Distributed Hash Tables a)DHT recap b)Uses c)Example – CAN.
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.
Peter Druschel, Rice University Antony Rowstron, Microsoft Research UK
Scalable Content-Addressable Network Lintao Liu
CHORD – peer to peer lookup protocol Shankar Karthik Vaithianathan & Aravind Sivaraman University of Central Florida.
PDPTA03, Las Vegas, June S-Chord: Using Symmetry to Improve Lookup Efficiency in Chord Valentin Mesaros 1, Bruno Carton 2, and Peter Van Roy 1 1.
The Chord P2P Network Some slides have been borowed from the original presentation by the authors.
Chord: A scalable peer-to- peer lookup service for Internet applications Ion Stoica, Robert Morris, David Karger, M. Frans Kaashock, Hari Balakrishnan.
Robert Morris, M. Frans Kaashoek, David Karger, Hari Balakrishnan, Ion Stoica, David Liben-Nowell, Frank Dabek Chord: A scalable peer-to-peer look-up.
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.
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.
P2P Network Structured Networks (III) Distributed Hash Tables Pedro García López Universitat Rovira I Virgili
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.
Alex Shraer, Principles of Reliable Distributed Systems, Technion EE, Spring Principles of Reliable Distributed Systems Tutorial 4: SkipNet Spring.
Topics in Reliable Distributed Systems Lecture 2, Fall Dr. Idit Keidar.
Secure routing for structured peer-to-peer overlay networks Miguel Castro, Ayalvadi Ganesh, Antony Rowstron Microsoft Research Ltd. Peter Druschel, Dan.
SkipNet: A Scalable Overlay Network with Practical Locality Properties Nick Harvey, Mike Jones, Stefan Saroiu, Marvin Theimer, Alec Wolman Presented by.
SkipNet: A Scalable Overlay Network with Practical Locality Properties Nick Harvey, Mike Jones, Stefan Saroiu, Marvin Theimer, Alec Wolman Microsoft Research.
Secure routing for structured peer-to-peer overlay networks (by Castro et al.) Shariq Rizvi CS 294-4: Peer-to-Peer Systems.
Idit Keidar, Principles of Reliable Distributed Systems, Technion EE, Spring Principles of Reliable Distributed Systems Lecture 13: SkipNet Spring.
Content Addressable Networks. CAN Associate with each node and item a unique id in a d-dimensional space Goals –Scales to hundreds of thousands of nodes.
Viceroy: A scalable and dynamic emulation of the Butterfly Presented in CS294-4 by Sailesh Krishnamurthy Sep 22, 2003.
SkipNet: A Scaleable Overlay Network With Practical Locality Properties Presented by Rachel Rubin CS294-4: Peer-to-Peer Systems By Nicholas Harvey, Michael.
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.
Chord: A Scalable Peer-to-peer Lookup Protocol for Internet Applications 吳俊興 國立高雄大學 資訊工程學系 Spring 2006 EEF582 – Internet Applications and Services 網路應用與服務.
Wide-area cooperative storage with CFS
P2P Course, Structured systems 1 Skip Net (9/11/05)
Idit Keidar, Principles of Reliable Distributed Systems, Technion EE, Spring Principles of Reliable Distributed Systems Tutorial 3: SkipNet Spring.
1 Peer-to-Peer Networks Outline Survey Self-organizing overlay network File system on top of P2P network Contributions from Peter Druschel.
P2P Course, Structured systems 1 Introduction (26/10/05)
File Sharing : Hash/Lookup Yossi Shasho (HW in last slide) Based on Chord: A Scalable Peer-to-peer Lookup Service for Internet ApplicationsChord: A Scalable.
“Umbrella”: A novel fixed-size DHT protocol A.D. Sotiriou.
 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.
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.
1 PASTRY. 2 Pastry paper “ Pastry: Scalable, decentralized object location and routing for large- scale peer-to-peer systems ” by Antony Rowstron (Microsoft.
Chord & CFS Presenter: Gang ZhouNov. 11th, University of Virginia.
The Impact of DHT Routing Geometry on Resilience and Proximity K. Gummadi, R. Gummadi..,S.Gribble, S. Ratnasamy, S. Shenker, I. Stoica.
Chord: A Scalable Peer-to-peer Lookup Protocol for Internet Applications Xiaozhou Li COS 461: Computer Networks (precept 04/06/12) Princeton University.
CCAN: Cache-based CAN Using the Small World Model Shanghai Jiaotong University Internet Computing R&D Center.
Computer Algorithms Submitted by: Rishi Jethwa Suvarna Angal.
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.
Pastry: Scalable, decentralized object location and routing for large-scale peer-to-peer systems Antony Rowstron and Peter Druschel, Middleware 2001.
Lecture 12 Distributed Hash Tables CPE 401/601 Computer Network Systems slides are modified from Jennifer Rexford.
Chord Fay Chang, Jeffrey Dean, Sanjay Ghemawat, Wilson C. Hsieh, Deborah A. Wallach, Mike Burrows, Tushar Chandra, Andrew Fikes, Robert E. Gruber Google,
Idit Keidar, Principles of Reliable Distributed Systems, Technion EE, Spring Principles of Reliable Distributed Systems Lecture 2: Distributed Hash.
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.
Pastry Antony Rowstron and Peter Druschel Presented By David Deschenes.
Peer to Peer Network Design Discovery and Routing algorithms
LOOKING UP DATA IN P2P SYSTEMS Hari Balakrishnan M. Frans Kaashoek David Karger Robert Morris Ion Stoica MIT LCS.
CS694 - DHT1 Distributed Hash Table Systems Hui Zhang University of Southern California.
Incrementally Improving Lookup Latency in Distributed Hash Table Systems Hui Zhang 1, Ashish Goel 2, Ramesh Govindan 1 1 University of Southern California.
CS 425 / ECE 428 Distributed Systems Fall 2015 Indranil Gupta (Indy) Peer-to-peer Systems All slides © IG.
Chord: A Scalable Peer-to-Peer Lookup Service for Internet Applications * CS587x Lecture Department of Computer Science Iowa State University *I. Stoica,
The Chord P2P Network Some slides taken from the original presentation by the authors.
Pastry Scalable, decentralized object locations and routing for large p2p systems.
The Chord P2P Network Some slides have been borrowed from the original presentation by the authors.
Improving and Generalizing Chord
Accessing nearby copies of replicated objects
Searching.
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.
Searching CLRS, Sections 9.1 – 9.3.
Presentation transcript:

SkipNet Christian Schmidt-Madsen, Peter Tiedemann,

SkipNet structure overview Dual ID-space: Name ID Numeric ID (similar to Chord,Pastry etc) Node names are the reverse DNS name of the host (example: dk.itu.mycomputer) Name ID Objects are stored at the lexicographic predecessor node. ( example: dk.itu.mycomputer/index.html will be stored at dk.itu.mycomputer )* Numeric ID objects are stored at the numerically closest node *: assuming ”/” is less than other symbols

The SkipList datastructure Probabilistic: Deterministic: Node at level h with probability 1/2 h Pointer at level h skips over 2 h elements

SkipList -> SkipNet Basic principle of SkipNet: A probalistic skiplist where every node is a head. The keys are just the names of the nodes The ordering is lexicographic Problems with SkipList: Efficient search only possible from head Some nodes more likely to be in routing path

SkipNet structure illustrated A Level: L = 0 L = 1 L = 3 L = 2 Root Ring Ring 0 Ring 1 Ring 00 Ring 01 Ring 10Ring 11 Ring 000 Ring 001 Ring 010 Ring 011 Ring 100 Ring 101 Ring 110 Ring 111 D M O T V X Z O Z AT M X D V A T M X D V Z O O Z A T M X D V Numeric ID of A : skiplist with head = A

SkipNet Global View – Routing table Level: L = 0 L = 1 L = 2 Ring 00 Ring 01 Ring 10Ring 11 Ring 000 Ring 001 Ring 010 Ring 011 Ring 100 Ring 101 Ring 110 Ring 111 A Root Ring D M O T V X Z Ring 0 A M T X Ring 1 D Z V O O Z AT M X D V A T M X D V Z O L = 3 Node A’s Routing Table

Routing by Name ID to node Level: L = 0 L = 1 L = 2 Example: route from A to V Simple Rule: Forward the message to node that is closest to dest, without going too far. Ring 00 Ring 01 Ring 10Ring 11 Ring 000 Ring 001 Ring 010 Ring 011 Ring 100 Ring 101 Ring 110 Ring 111 A Root Ring D M O T V X Z Ring 0 A M T X Ring 1 D Z V O O Z AT M X D V A T M X D VZ O L = 3

Routing by Name ID to node Level: L = 0 L = 1 L = 2 Example: route from A to V Simple Rule: Forward the message to node that is closest to dest, without going too far. Ring 00 Ring 01 Ring 10Ring 11 Ring 000 Ring 001 Ring 010 Ring 011 Ring 100 Ring 101 Ring 110 Ring 111 A Root Ring D M O T V X Z Ring 0 A M T X Ring 1 D Z V O O Z AT M X D V A T M X D V Z O L = 3 Node T’s Routing Table

Routing by Name ID to node Level: L = 0 L = 1 L = 2 Example: route from A to V Simple Rule: Forward the message to node that is closest to dest, without going too far. Ring 00 Ring 01 Ring 10Ring 11 Ring 000 Ring 001 Ring 010 Ring 011 Ring 100 Ring 101 Ring 110 Ring 111 A Root Ring D M O T V X Z Ring 0 A M T X Ring 1 D Z V O O Z AT M X D V A T M X D V Z O L = 3

Routing by Name ID to object Level: L = 0 L = 1 L = 2 Example: route from A to F -> Terminates at E Simple Rule: Forward the message to node that is closest to dest, without going too far. Ring 00 Ring 01 Ring 10Ring 11 Ring 000 Ring 001 Ring 010 Ring 011 Ring 100 Ring 101 Ring 110 Ring 111 A Root Ring D E O V X Z Ring 0 A ETX Ring 1 D Z V O O Z AT E X D V A T E X D VZ O L = 3 T

How fast is routing by name? In expectation a level h pointer will point past 2 h nodes This enables us to at least half the distance on the root ring to the destination giving O(logn) steps Worst case is O(n) in the case were everybody else is on the same rings as us

Node joins Join(node v) algorithm: Decide on a numeric ID(position in the SkipNet) either randomly or by hashing DNS name. Route to the top level ring for that numeric ID Find neighbors on level below Continue recursively until we reach the root ring Illustration on next slide ! 

Node join illustrated Ring P0 Ring P1 Ring P Only a few in expectation Joining node

Node departure Notifies neighbours of departure Node failure Leaf Set : Each node has L/2 pointers in each direction on the root ring, providing protection from independent failure. However the leaf set for a node are most likely close in the underlying network too!

Background repair 1/2 Local ring repairs Periodically contact neighbours in each ring and tell them that you think you are neighbors. If neighbor accepts -> no response else neighbour responds with neighbor Reconcilliation based on this info( no details in article)

Upper ring repair For each ring, route a message a short distance around the ring, checking encountered nodes against higher level pointers Background repair 2/2 Ring P Ring Px This is closer than red node and in ring Px !

Routing by numeric ID RouteTo( numID ): Current ring = root ring Move around the current ring until you meet a node which is in the same next higher ring as numID Continue recursively until a top ring is reached

Routing by numeric ID Level: L = 0 L = 1 L = 2 Example: route from A to 110 -> ends at node O Log(N) rings to visit In expectation only 2 nodes visited before encountering one belonging to correct ring Ring 00 Ring 01 Ring 10Ring 11 Ring 000 Ring 001 Ring 010 Ring 011 Ring 100 Ring 101 Ring 110 Ring 111 A Root Ring D O T VX Ring 0 A B T Ring 1 D V O O A B X D V A T B X D V O L = 3 X T B

Content and path locality Organizations correspond to contiguous SkipNet segments  Internal routing by nameID remains internal  Objects are stored according to nameID com.sun edu.ucb gov.irs com.microsoft com.microsoft.research microsoft.com/pwlist.txt

Constrained load balancing DHT over a limited domain We combine the two id spaces Calling a file ! will store the file on the node beginning with and having the closest numeric ID to hash( ) CLB Domain CLB Suffix microsoft.com ! skipnet.html Numeric Routing Name Routing

CLB example To get object “microsoft.com ! skipnet.html”  Route by nameID to “microsoft.com”  Route by numericID to Hash(“skipnet.html”) within the “microsoft.com” constraint edu.ucb gov.irs com.microsoft skipnet. html com.sun

CLB options For a domain DOM and an objectID OID three options for storing the object exists: 1. Controlled placement (no DHT): DOMOID(!) 2. Global DHT: !DOMOID 3. CLB: DOM!OID

Organizational disconnect Common failure Forming an internal SkipNet Re-joining the global SkipNet or, equivalently Merge of two SkipNet segments

Root ring connection

Proximity-aware routing Proximity-aware routing of nameId (P-table) Use slightly shorter or longer jumps than the ”normally”; distance at lvl h expected to be 2 h Proximity-aware routing of numericId (C-table) Use a scheme similar to Pastry, where the node with lowest latency is chosen as an entry in the C- table

Modifying the routing table 1/2 Increase the base k of the numericID Ring ”fanout” increases to k Fewer pointers in R-table, O(log k n) More routing hops, O(k log k n) Example: k = 3 h = 2 h = 1 h = 0

Modifying the routing table 2/2 Store k-1 additional pointers in each direction at each level of the routing table Increased complexity of join (2k-2 in each member ring) Fewer routing hops

ChordBasic SkipNetFull SkipNetPastry Average number of unique routing entries per node in an overlay with 2 16 nodes.

Discussion DNS as the basis of nameIds (NAT’ed hosts) Choice of numericId (random/secure hash) Variation: Deterministic SkipNet (~ balanced tree)

End of slide show, PgDn to continue

Routing by nameID

Routing by numericID