(i) The three most important things the paper says:
1) By leveraging consistent hashing, Chord is not only able to resolve many of peer to peer’s most difficult problems (load balancing, scalability) , but do it in efficient time. In addition to the fact that, Stoicia et al proved that this solution allowed nodes to enter and leave the network with minimal disruption as well as to have searches complete in O(log(n)). I felt this was important, since the discovery does not involve further increasing complexity (e.g. CAN using d-dimensional Cartesian coordinate space) and thus easier from a minimalistic and security perspective.
2) The development of scalable key location in Chord allows it to only need to know about a few number of nodes. In addition, this was further accelerated by keeping some additional routing information, so it doesn’t need to go through all the successors. I thought keeping this additional information was important, because not only did it provide an optimization but it also added a way to check for correctness in case the successor information was not kept correctly. Furthermore, since each node only stores a small bit of redundant information, scalability and robustness is naturally built in.
3) Chord handles failures very gracefully which contributes to the overall robustness and quickness of the system. Whenever a node fails, a lookup quickly recovers by using information in the successors-list. This feature, also has the benefits of allow lookups to proceed even during periods of stabilization. I felt this is important, because without this tid-bit of insight, the failure during instability would be even exponential (currently linear). This is yet another important feature to ensure that Chord is scalable to n nodes.
(ii) The most glaring problem with the paper:
The biggest problem with the paper is its failure to address all of the lookup failures during stabilization. According to Figure 12, it shows that as the number of nodes increase, the number of failure due to instability increases linearly. And although it isn’t an exponential increase, it doesn’t scale logarithmically as the tout in other areas of Chord. This problem would be further exacerbated in today’s large networks which would spend most of the time in a state of instability.
(iii) The future research directions of the work:
The future research of the work would be to provide anonymity in Chord. One of the most appealing uses of peer to peer is to share and spread data (e.g. bit torrent). And these types of systems benefit the most when there are more nodes in the network. I believe that folks would be more incline to join a peer to peer network, if there was no threat on their identity (think of all the identity theft these days). Therefore, this system with all its benefits may never be adopted over a less efficient system (e.g. Freenet), if it doesn’t provide anonymity to its users.