300 likes | 396 Views
YAPPERS: A Peer-to-Peer Lookup Service over Arbitrary Topology. Qixiang Sun Prasanna Ganesan Hector Garcia-Molina Stanford University. Outline. Background and Motivation High-level overview of YAPPERS Brief evaluation. Where is X?. Problem. A. C. B. Problem (2). 1. Search.
E N D
YAPPERS: A Peer-to-Peer Lookup Service over Arbitrary Topology Qixiang Sun Prasanna Ganesan Hector Garcia-Molina Stanford University
Outline • Background and Motivation • High-level overview of YAPPERS • Brief evaluation
Where is X? Problem
A C B Problem (2) 1. Search 2. Node join/leave 3. Register/remove content
Gnutella-style join anywhere in the overlay register do nothing search flood the overlay Background
Distributed hash table (DHT) join a unique location in the overlay register place pointer at a unique node search route towards the unique node Background (2) Chord . . . CAN
Gnutella-style Simple Local control Robust Arbitrary topology Inefficient Disturbs many nodes DHT Efficient search Restricted overlay Difficulty with dynamism Background (3)
Motivation • Best of both worlds • Gnutella’s local interactions • DHT-like efficiency • Respect application-defined topology • Social network • Ad hoc wireless network • Physical-network proximity
Partition Nodes Given any overlay, first partition nodes into buckets (colors) based on hash of IP
Partition Nodes Given any overlay, first partition nodes into buckets (colors) based on hash of IP
Partition Nodes (2) Around each node, there is at least one node of each color X Y May require backup color assignments
register yellow content at a yellow node Register Content Partition content space into buckets (colors) and register pointer at “nearby” nodes. Nodes around Z form a small hash table! Z register red content locally
Searching Content Start at a “nearby” colored node, search other nodes of the same color. W X Y U V Z
Searching Content (2) A smaller overlay for each color and use Gnutella-style flood Fan-out = degree of nodes in the smaller overlay
Recap • Hybrid approach • Around each node, act like a hash table • Flood the relevant nodes in the entire network • What do we gain? • Respect original overlay • Efficient search for popular data • Avoid disturbing nodes unnecessarily
Brief Evaluation • Using a 24,702 nodes Gnutella snapshot as the underlying overlay • We study • Number of nodes contacted per query when searching the entire network • Trade-off in using our hybrid approach when flooding the entire network
Limited by the number of nodes “nearby” Nodes Searched per Query
Trade-off • Fan-out = degree of each colored node when flooding “nearby” nodes of the same color • Good in searching nearby nodes quickly. • Bad in searching the entire network
Conclusion Does YAPPERS work? • YES • Respects the original overlay • Searches efficiently in small area • Disturbs fewer nodes than Gnutella • Handles node arrival/departure better than DHT • NO • Large fan-out (vanilla flooding won’t work)
For More Information • A short position paper advocating locally-organized P2P systems http://dbpubs.stanford.edu/pub/2002-60 • Other P2P work at Stanford http://www-db.stanford.edu/peers
Recap • node join • anywhere in the overlay • register content • at nearby node(s) of the appropriate color • search • start at a nearby node of the search color and then flood nodes of the same color.
What Do We Gain? • Respect original overlay • Efficient search for popular data • Avoid disturbing nodes unnecessarily • Better handling of dynamic node arrival and departure
Design Issues • How to build a small hash table around each node, i.e., assign colors? • How to connect nodes of the same color?
C X A B Small-scale Hash Table Small = all nodes within h hops (e.g., h=2) • Consistent across overlapping hash tables • Stable when nodes enter/leave
Small-scale Hash Table (2) • Fixed number of buckets (colors) • Determine bucket (color) based on the hash value of node IP addresses • Multiple nodes of the same color • No nodes of a color
Frontier Node B All nodes within h hops A C Need to track all nodes within 2h+1 hops Searching the Overlay Find another node of the same color in a “nearby” hash table
Searching the Overlay (2) For a color C and each frontier node v, 1. determine which nodes v might contact to search for color C 2. contact these nodes Theorem: Regardless of starting node, one can search all nodes of all color.
3.7 = 11.5% 32 Buckets per Node • Using 32 buckets (colors) per hash table AVG = 3.7
X A Overloading a Node • A node may have many colors even if it has a large neighborhood.