Pastry Antony Rowstron and Peter Druschel Presented By David Deschenes Introduction General substrate for P2P applications Provides object location and routing Characteristics Completely decentralized Fault-resilient Scalable Reliability Design Circular Node Space Nodes randomly assigned unique 128 bit identifiers Uniform distribution of identifiers Identifiers indicate position in space Messages and Keys Messages assigned N-bit keys Each message routed to the node whose identifier is numerically closest to its assigned key Key generation is application specific Node State Leaf Set Routing Table L closest nodes in the node space Identifies 2b-1 hosts whose identifiers match the current node identifier in n bits Neighborhood Set M closest nodes according to a proximity metric Network Organization Node Arrival New node acquires the identifier X and routes a join message with key X through node A New nodes initialize their state based upon state shared by nodes that route its join message Node Departure If a member of a node’s leaf set is lost, the leaf set is expanded outward to find a new node If a routing table entry is lost a node in the same row is consulted for a replacement Maintaining Locality Proximity based on a scalar metric E.g. IP routing hops, geographic distance Metric determined by application Assumed that the triangulation inequality holds for the metric Connections to nodes with greater proximity are desired Facilitated by the neighborhood set Message Routing Check the leaf set If destination present route to it directly Consult the routing table Forward to a node whose identifier matches the message key in at least one more bit Forward to a node whose identifier is numerically closer to the message key Evaluation Number of routing hops scales with the network size (log2bN) – Figure 4. Routes are only 30% to 40% longer despite minimal routing tables – Figure 6. Able to locate one of the top two nodes 92% of the time Minimally impacted by node failure – Figure 10.