An important consideration in peer-to-peer systems is efficient lookup.
While it is possible for each node to maintain location information of all
data items in the network, this solution does not scale well. Similarly, a
centralized model has many drawbacks. Chord is a protocol for efficient
lookup in dynamic peer-to-peer networks. It is a simple model that is
provable for both correctness and performance.
The Chord solution uses a "consistent hashing" model to distribute keys
throughout the network. This model provides efficient load balancing,
decentralization, scalability and availability. The synchronization
mechanism also allows Chord to adjust quickly under frequent node arrivals
and failures/departures. In consistent hashing, nodes are assigned
identifiers and ordered in a ring. Each node need only maintain a subset of
all keys. By performing queries around the ring, Chord achieves lookup with
O(log N) messages.
While Chord advertises efficient and scalable ring balancing, it is unclear
how this system will react on cold start. That is, the number of messages
required to initialize a ring of m nodes is not discussed in this paper.
Presumably, performance in large values of m would not be efficient,
however, it may be reasonable to assume that m would be small in most
practical cases. Also, it is not clear how much scalability is required in a
system such as Napster or Gnutella. However, it seems that Chord has
applications outside of the file sharing domain.
Clearly, security has not been considered to a great extent in this model.
It is reasonable to assume that a malicious individual will attempt to
pollute the network with false location data. Moreover, while this scenario
is likely preventable, it is important to ensure that the cost of defense
does not outweigh the benefits provided by the system.
Received on Mon Nov 07 2005 - 01:48:04 EST
This archive was generated by hypermail 2.2.0 : Mon Nov 07 2005 - 02:02:36 EST