Alternatives
to the Chord protocol
Tapestry is a peer to peer, wide-area
decentralized routing and location network infrastructure developed at
University of California at Berkeley by Zhao et al. Tapestry forms an
overlay network that sits at the application layer (on top of an Operating
System). If tapestry is installed on different network nodes it will allow
any one node to route messages to any other node running tapestry, given a
location and a network independent name. Also nodes in a Tapestry network can
advertise location information about data it possesses in a specific format
understood by other nodes running tapestry. This special format allows the
other nodes to find and access this data easily and efficiently, given that they
know the data name. So, we can see that tapestry allows nodes the ability to
share data, thereby creating their own p2p system.
Advantages:
- Knows Network: tapestry
has an advantage over Chord protocol because the algorithm knows the network
topology, so queries never travel more than the network distance required to
reach them
- Performance: like
Chord, the look up time for tapestry protocol is lg(n)
- Distributed: does not
require a centralized server
DISAdvantages:
- Scalability: does not
handle node joins and failures as well as chord as it is more complicated.
So, chord is better for p2p systems with many nodes arriving and departing at
random intervals.
Pastry is not a food sold at the bakery!
Pastry is a generic peer-to-peer
content location and routing system based on a self-organizing overlay network
of nodes connected via the Internet. Pastry is completely decentralized,
fault-resilient, scalable, and reliably routes a message to the live node.
Advantages:
- Knows Network:
like tapestry, pastry
takes into account network locality; it
seeks to minimize the distance messages travel, according to a to scalar
proximity metric like the number of IP routing hops.
- Performance: like
Chord, the look up time for tapestry protocol is lg(n)
- Distributed: does not
require a centralized server
- Scalability: handles
node arrivals and departures well, unlike tapestry
DISAdvantages:
- Complexity: like
tapestry, pastry has a more complicated join protocol. A new node's
routing table will be populated with information from nodes along the path
taken by the join message. This leads to latency.
Napster/Gnutella vs. Chord
Advantages:
- Anonymous Nodes:
allows nodes to be anonymous, so all
nodes do not need to have id's. In chord, however, all nodes need to
have ids.
- Malicious nodes:
malicious nodes are less likely to bring
down the whole network.
DISAdvantages:
- Data Lookup: both
applications perform data lookups using user supplied keywords, which presents
difficulties. User supplied keywords can be vague and incomplete,
leading to failures and excessive delays in data lookups.
- Single Point of failure:
napster uses a central index server which represents a single point of
failure. If this server goes down, users of napster can no longer
perform any lookups.
- Network Congestion:
Gnutella floods queries over the entire system, leading to high processing
costs and network congestion