Chord: A Scalable P2P Lookup Protocol for Internet Applications --------------------------------------------------------------- I. Stoica et al. The paper presents a P2P lookup protocol for various Internet applications. The Chord protocol has some important strengths, the first being its generality. By supporting just one opperation (mapping a given key onto a node), Chord can be used for example to implement a decentralized DNS service. The second strength is the scalability obtained by using consistent hashing and tables on the peers side with pointers to O(logN) other peers. What they do in fact is improving a simple liniar key location scheme that passes through all the with a scheme that uses routing information in an efficient way. Also, the protocol uses consistent hashing to guarantee with "high probability" load balancing among nodes. As paper weakness, the assumption made in section IV is pretty important. The communication in the underlying network may not be symmetric (in terms of A can route to B <=> B can route to A) nor transitive. In fact I think it would be interesting to see the degree of symmetry and transitivity in the internet. For example I know that for the PlanetLab nodes, an important percent of failures can be avoided by routing through an intermediate node. (If A cannot route to C there exists B so that A can route to B and B can route to C). Another thing is when a node joins, how does he actually find that "any Chord node" n'. Is it a simple process? I think they should have talked a little bit more about this issue and explain the existing possibilities. One other problem is a misbehaving node that can disrupt the ring. However, this is stated as future work. As a conclusion, the Chord protocol seems very strong. It manage to achieve generality, scalability, load balancing in a decentralized manner.