With the advancement of P2P technology comes the different approaches to solve different network routing issues. The paper proposed by Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek, and Hari Balakrishnan introduces an algorithm for P2P networks and explains how it solves the Look Up problem in P2P systems.
Chord is a peer-to-peer algorithm that imlements the Distributed Hash Table (DHT) protocols for finding a single node in a structured network of peers. The nodes in a Chord system handle a number of keys that represent an entity of information. The Chord aims to improve the core operation in P2P systems which is to efficiently store and locate data items. The object of the paper is to discuss a scalable protocol for lookup in a dynamic P2P system subject to frequent node arrivals and departures.
With the idea of Consistent Hashing, nodes in a Chord system can locate a data item in no more than O(log N) time. It also allows the nodes in the system to store only the O(log N) locations of other nodes in the network. The Chord routing mechanism reinforced by the Stabilization operation allows any node to join or leave the network at any time which makes the technique highly scalable. The authors claim that even with very large number of nodes connected to the network, Chord system still provides a relatively fast way for locating data items.
Chord also aims to provide load balancing, however, it is not defined in the paper how it is done. There are machines/nodes that are capable of storing very large files and providing faster way of communicating data items. Authors must take into consideration that not all machines have the same computing power or storage system. Additionally, quantification of the data items are not based on how many they are but based on how large or small they are. These issues must be considered by the authors when addressing the load balancing issue.
Another issue that must be reinvestigated is the mechanism for file storage. Storage of files in Chord is done through DHT mapping making the detailed operations abstracted to the end users. With this mapping system, it is possible that a particular data item which is geographically close to a user be assigned to a node far from the user therefore producing more querying delays. A mechanism for addressing this issue should be implemented on top of the DHT protocol.
The Chord protocol may have solved many of the P2P issues making it comparable to other P2P algorithms. However, there are still problems that the authors and, perhaps, other network programmers should take into considerations to improve the P2P Chord system. Addionally, given the rapid increase in data items and number of nodes that can accomodate these data, O(log N) running time would not be enough in the future. Network programmers should continously devise new ways to improve the overall performance of P2P systems.
Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications. Ion Stoica , Robert Morris, David Karger, M. Frans Kaashoek, Hari Balakrishnan. MIT Laboratory for Computer Science.