its set of fingers to find the closest successor of 7. Node 5 finds that 7 is between itself and its successor 9, and therefore, returns 9 as an answer to the query through the reverse path. Upon getting the answer, the application layer of node 12 should contact that of node 9 and ask for the storage of some value under the key 7. Any node looking for the key 7 can act similarly. And in no more than M hops, a node will discover the node at which 7 is stored. Under normal conditions, a lookup takes: O(log2(N)) hops. (9.3) To join the network, a node N performs a lookup for its own identifier through some first contact in the network, called bootstrap node, and inserts itself in the ring between its successor S and the predecessor of S. The routing table of n is initialized by copying the routing table of S, or letting S lookup each required edge of N. The subset of nodes can automatically adjust their tables to reflect the presence of n through periodically checking the routing table and looking up the value of each edge. The last task is to transfer part of the items stored at S. Items with an identifier less than or equal to N will be transferred to n by the application layers of n and S. Graceful leave procedures are transferring all items to the successor first and then informing the predecessor and successor. To solve the negative effects of ungraceful failures, Chord let each node keep a list of the log2 (N) nodes that follow it on the circle. With this list, if a node detects that its successor is dead, it replaces it with the next entry in its successor list, and all the items stored at a certain node are also replicated on the nodes in the successor list. C 2009 by Taylor & Francis Group, LLC SIP Handbook: Services, Technologies, and Security 9.2.2 Pastry and Bamboo The overlay graph design of Pastry [10,11] aims not only at achieving logarith- mic diameter with a logarithmic node state, but also tries to target the issue of locality. As a result of obtaining the node identifiers by hashing IP num- bers/