Monday, October 12, 2009

Review: Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications

Most P2P network, all computers in the network, known as nodes, are considered to be equivalent in their capacity for sharing resources with other nodes. The paper "Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications" [1], presents Chord as a distributed lookup service that is scalable and decentralized which may be used as the basis for general purpose P2P systems. It also discuss that Chord can be used in mutual web caching used to find the cache that contains the desired web data, with its URI as the key for the DHT. Chord gives a way of locating documents while placing few limitations on the applications that use it, to prove this it outlines Chord’s functionality is useful in the development of P2P applications.

As we all know, all system has its own strengths and weaknesses. This paper also explains some of the shortcomings this Chord system. Chord doesn’t consider that some data information could be larger than others data during the load balancing. Like for example in web caching, most cached data could be textual web data, mix together with some large videos wherein problems can be occurred for the nodes that have to host the videos. Thus, researchers should be careful on how to map this information and data to nodes and at what granularity to store documents. Another problem of the Chord implementation is the organization of data based on distributed hash tables for such applications. In order to improve the performance, researchers exploit a property of the Chord lookup algorithm: the paths that searches for a given successor take through the Chord ring are likely to intersect. These intersections are more likely to occur near the intention of the search where each step of the algorithm makes a smaller ‘hop’ through the identifier space and provide an opportunity to cache data. Thus, improve the Chord performance on the lookup service.

The performance of existing P2P systems have been limited by rigid infrastructures that attempt to find some solutions for many problems. Chord implementation is used to separate the problem of location from the problems of data distribution, wherein P2P systems are able to decide where to compromise and as a result offer better reliability and security. Also we can use the concept of Chord, to provide a more centralized mapping between keys and the nodes that contain them. This is costly in the system, costly in terms of resources but it also provides one advantage that is it reduces the time required to find the node for a data.

References:
[1] Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek, and Hari Balakrishnan. Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications. ACM SIGCOMM ‘01. August 2001.


Review: Looking up data in P2P Systems

The paper entitled "Looking up data in P2P Systems" [1], presents in the early part some attractive reasons why we are using Peer to Peer Systems. It states that it gives us a way to make us some computation and resources of a certain machine across the World Wide Web. It also explains the idea of centralized and decentralized P2P systems. Decentralized systems are models which featured by non-existence of a centralized directory, wherein nodes were randomly join to an existing network and requests are broadcasted using the process of flooding. In centralized systems, there is the existence of a central server which provides the directory service to all the nodes connected on the network. Connected nodes have the ability to download files from other peer nodes after they receive the location of files from the central server or computer. One of the disadvantages of this kind of system is that it has a single of point of failure. If the central servers downs, no file transfer will occur among the nodes on the network.

Another idea of this paper is that most P2P systems haven't seen widespread adoption for problems other than illegal file sharing of some music and videos like downloading torrents, which is in the first place a piracy act. This is not the only problem P2P system is facing as a distributed system. One of these is the so called lookup problem, wherein given a data item X stored at some dynamic set of nodes in the system, it should be found. There are many algorithms were invented to provide solutions to this problem like DHT algorithm. But this algorithm has its on strengths and weaknesses. Come to think of it, why many distributed systems are using systems that has a single point of failure. Maybe it is because it should be realize that the performance and cost of making these systems entirely symmetrical is not thoroughly justified. Instead of this we use replication algorithm to some critical centralized services to provide reliability and security.

Hopefully, we could appreciate this fully symmetric system when we don't want to have a central point. Thus, this leaves a justification in using these symmetrical systems, like ad hoc file sharing which are illegal in our piracy laws.

Consequently, this paper is valuable in presenting the DHT algorithms may be proven to be a building block for large distributed system on the World Wide Web.

References:
[1] Hari Balakrishnan, M. Frans Kaashoek, David Karger, Robert Morris, and Ion Stoica. Looking Up Data in P2P Systems., Vol. 46, No. 2. February 2003.