Paper #: [5.1 P2P] 2 Title: Chord: A scalable peer-to-peer lookup service for Internet applications by Stoica, etc. PROBLEM Previous peer-to-peer implementations have suffered from one or more of the following problems: *Lack of Scalability because all nodes have to know where all the other nodes are located. *Updates to network, such as nodes joining or leaving the network, requires a significant amount of work in order to keep the system stable. *Some nodes in the network have a larger resource drain than others. *A single point of failure is possible. For example, if one node leaves, then the information available in that network is lost forever, unless replication was used. *There is no guarantee of finding data even if it is on the network because of TTL. NEW IDEAS AND STRENGTHS *In order to increase scalability, Chord has each node store routing information about a small number of other nodes in order to ensure that the entire network is connected while at the same time minimizing the amount of information that must be stored in each node. This also ensures that if the data is on the network, it will be found. *Chord uses replication in order to ensure that data is still accessible even if a node leaves the network without warning. Therefore, this helps to eliminate a single point of failure. *When a node leaves the network its' keys are reassigned which balances the load on the network. WEAKNESSES AND EXTENSIONS *Unlike some implementations, Chord does not take network distance into consideration when determining routing. Consequently if both of nodes that want to connect are in the same area, such as on Georgia Tech's campus, their queries may still be routed through Russia, which would increase the amount of time of the query. *The structured approach of Chord costs nodes anonymity, which is one of the strong points of peer-to-peer networks.