Wikipedia defines computer science as the systematic study of algorithmic processes that describe and transform information. But for me, it is simply as F-U-N!
CSI: Computer Science & I
Bytes and Pieces of Me
Yet another blog of mine - this time it logs not just errors but also learnings as I master the world of computer science. And yes, this is getting so serious.
Chord-ially Inviting
Due to the popularity of peer-to-peer applications, such softwares are challenged, or challenged each other, in terms of the features it can bring. These features may include the redundant storage, persistence, selection of neighbor servers, anonymity, search capabilities and authentication. However, the efficiency in locating the data items is considered as the core operation of peer-to-peer applications. Chord [1] attempts to address the issue of locating the node that stores a particular data item by providing the key onto a node given a key.
Chord can be described as simple due to non-complexity of algorithm by routing a key through a sequence of O(log N) other nodes toward the destination. The maintenance of the dynamic network topology of Chord, although slow, only needs one information per node to guarantee correctness of rearranging the routing of queries.
The second section of the paper discusses the drawbacks of the other implementations that address the same issue of locating the data file or a node. These are DNS, Freenet peer-to-peer storage system, Ohaha system, Globe system, Plaxton and Ocean Store, Pastry and CAN. Chord traded anonymity features for efficiency and scalability in terms of concurrent node joins and failures.
The next section of the paper presents some algorithms of Chord to solve the issues while reconstructing or stabilizing the dynamic topology where nodes join and depart with only slow but acceptable overheads. Based on their own results from their experiments and simulations, Chord proves that it scales with the number of nodes, stabilizes from large numbers of simultaneous node joins and departures. The main issue of providing the correct lookups is address as well. With these results, it shows how robust the algorithm is inspite of outdated routing information cached in some nodes.
The qualities of Chord was taken as an advantage, as well as other known P2P schemes, for the use of Distributed Hash tables as the later is utilizing a single function.
The simplicity of the Chord does not mean it solves the lookup problem for P2P application since it is also like other algorithms that post some drawbacks. But rather Chord provides the building blocks for more complicated network topologies.
[1] Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications, Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek, Hari Balakrishnan
Possibly Related Posts:
- Look Up! It’s a Chord!
- Relationship Between ASes: It’s Complicated
- Internalizing Interdomain Internet Routing
- Fly, DARPA, Fly!
- Does The End Justify The Means?
Leave a Reply
Any fool can write code that a computer can understand. Good programmers write code that humans can understand.
- M. Fowle