160 likes | 418 Views
Chord-over-Chord Overlay. Sudhindra Rao Ph.D Qualifier Exam Department of ECECS. Outline. Peer-to-Peer systems Centralized P2P systems ( hybrid) Unstructured P2P systems (pure) Structured P2P systems Super-peer networks CoCO Analysis and Conclusion. Peer-To-Peer Systems.
E N D
Chord-over-Chord Overlay Sudhindra Rao Ph.D Qualifier Exam Department of ECECS
Outline • Peer-to-Peer systems • Centralized P2P systems (hybrid) • Unstructured P2P systems (pure) • Structured P2P systems • Super-peer networks • CoCO • Analysis and Conclusion
Peer-To-Peer Systems • Decentralized data and resource sharing • All computers have equal capabilities • The resources can include: • Processing power • Data • Network bandwidth • Applications • Redundant storage • Permanence • Selection of nearby servers • Anonymity • Search • Authentication • Hierarchical naming
Peer 5 Central Server Peer 4 Peer 2 Peer 3 Centralized Server P2P systems - Napster • Used in large scale sharing of files • Single server maintains a table of data Vs node • Features • Not self-organized • Not scalable • Single point of failure/attack • Most popular network - mp3 sharing • Applications: • Napster
Unstructured P2P networks - Gnutella • Random overlay networks • No central index • Start with nodes that know about peer servers and flood along the network • Peers find neighbors • Features: • Scalability – Flooding limited by TTL • Keyword search • Cannot guarantee search • Applications: • Gnutella • Freenet Peer 1 Peer 5 Peer 3 Peer 4 Peer 2 Peer 7 Peer 6
Structured P2P networks – Chord, Pastry, CAN • Based on ‘Distributed Hash Tables’ • Self-organized overlay networks • Insertion and lookup in a bounded number of hops • Features: • Load balancing • Fault-tolerance • Decentralization • Scalability • Availability • Flexible naming • Applications: • Chord • Pastry • Tapestry • CAN Lookup (K54) N1 K54 N8 N58 N14 N51 N48 N21 N42 N38 N32
Design and Analysis • Chord provides fast distributed computation of a hash function, mapping keys to nodes responsible for them • Assigns keys to nodes with consistent hashing • A chord node needs only a small amount of routing information about other nodes • A node resolves the hash function by communicating with other nodes • With high probability, the number of nodes that must be contacted to find a successor is an N-node network is O(log N) • Only O(log N) fingers need be stored • When an Nth node joins or leaves the network, only an O(1/N) fraction of the keys are moved
Super-Peer Networks • Hierarchy introduces manageability • Super-Peer networks combine features of distributed search and centralized search • Super-Peer node acts as server for subset of peers • Inherent heterogeneity in the capability of peers on the network • Super-Peers are assigned based on processing power, network bandwidth, degree etc. • Super-peers communicate by flooding to other super-peers • Super-peer to peer communication – centralized server system
Super-peer network • Thumb rules for design • Increasing cluster size reduces aggregate load • Super-peer redundancy makes system resilient • Super-peers should have higher out-degree • Minimize TTL on floods • Drawbacks • Flooding does not guarantee search success • Super-peers can be burdened • Flooding traffic and duplicates
Central Server 0 and 640 Super Peer 512 - 639 Super Peer 1 - 127 Super Peer 128 - 255 Super Peer 384 - 511 Super Peer 256 - 383 Chord-over-Chord Overlay Chord-over-Chord Overlay(CoCO) • Chord used in local clusters – Super-peer as manager • Super-peer redundancy - by assigning super-peers at the edge • Super-peers form a Chord overlay network • Super-peers maintain finger tables for cluster as well as the super-peer overlay • Central Server consulted only if all Chord searches fail on the overlay
Super Peer Super Peer Central Server Super Peer Super Peer Super Peer Chord-over-Centralized Server Overlay Chord-over-Centralized server Overlay (CoCO) • Super-peers maintain a direct link to the Central Server • Central Server consulted in case of failed searches in local clusters • Central Server may be single point of failure
CoCO Analysis • Number of nodes to be contacted in the local cluster of size N/m - O(log N/m) • Cost of searching on Super-peer overlay - O(log m) • Only O(log N/m) fingers need to be stored in peers and O(log m) additional fingers on super-peers • When an node joins or leaves the network, only an O(m/N) fraction of the keys are moved and when Super peer leaves a network chord flip reassigns O(log N/m) + O(log m) fingers.
Discussion • CoCO • Uses DHT on all layers – hence resilient to failures, attacks. • Increasing hierarchy improves manageability like Internet • Efficient and guaranteed search results • Joins/Leaves handled efficiently • Super-Peer reassignment is integral part of the protocol • Super-Peer networks using Gnutella • Flooding can reduce efficiency • Techniques to reduce flooding directly affect the network efficiency • Super-peer failures are not accounted for • Flooding on super-peers does not guarantee search results
Conclusion • Possible applications of CoCO • University wide P2P networks • Each department has its own super-peer • Company wide P2P networks • Geographically distant networks controlled by administrators – super-peer assignment • ISP controlled Napster like central server • Strategically placed Super-peers – like Akamai caches • Better control over the network dynamics and easy to implement • Structured network is key to simpler administration