Upload
suzanna-lyons
View
215
Download
0
Embed Size (px)
Citation preview
PastryPastryAntony Rowstron and Peter Antony Rowstron and Peter
DruschelDruschel
Presented ByPresented By
David DeschenesDavid Deschenes
IntroductionIntroduction
General substrate for P2P applicationsGeneral substrate for P2P applications Provides object location and routingProvides object location and routing CharacteristicsCharacteristics
Completely decentralizedCompletely decentralized Fault-resilientFault-resilient ScalableScalable ReliabilityReliability
DesignDesign
Circular Node SpaceCircular Node Space Nodes randomly assigned unique 128 bit identifiersNodes randomly assigned unique 128 bit identifiers Uniform distribution of identifiersUniform distribution of identifiers Identifiers indicate position in spaceIdentifiers indicate position in space
Messages and KeysMessages and Keys Messages assigned N-bit keysMessages assigned N-bit keys Each message routed to the node whose identifier Each message routed to the node whose identifier
is numerically closest to its assigned keyis numerically closest to its assigned key Key generation is application specificKey generation is application specific
Node StateNode State
Leaf SetLeaf Set LL closest nodes in the node space closest nodes in the node space
Routing TableRouting Table Identifies 2Identifies 2bb-1 hosts whose identifiers -1 hosts whose identifiers
match the current node identifier in match the current node identifier in nn bitsbits
Neighborhood SetNeighborhood Set MM closest nodes according to a closest nodes according to a
proximity metricproximity metric
Network OrganizationNetwork Organization
Node ArrivalNode Arrival New node acquires the identifier New node acquires the identifier XX and routes and routes
a join message with key a join message with key XX through node through node AA New nodes initialize their state based upon New nodes initialize their state based upon
state shared by nodes that route its join state shared by nodes that route its join messagemessage
Node DepartureNode Departure If a member of a node’s leaf set is lost, the leaf If a member of a node’s leaf set is lost, the leaf
set is expanded outward to find a new nodeset is expanded outward to find a new node If a routing table entry is lost a node in the If a routing table entry is lost a node in the
same row is consulted for a replacementsame row is consulted for a replacement
Maintaining LocalityMaintaining Locality
Proximity based on a scalar metricProximity based on a scalar metric E.g. IP routing hops, geographic distanceE.g. IP routing hops, geographic distance Metric determined by applicationMetric determined by application
Assumed that the triangulation Assumed that the triangulation inequality holds for the metricinequality holds for the metric
Connections to nodes with greater Connections to nodes with greater proximity are desiredproximity are desired
Facilitated by the neighborhood setFacilitated by the neighborhood set
Message RoutingMessage Routing
Check the leaf setCheck the leaf set If destination present route to it directlyIf destination present route to it directly
Consult the routing tableConsult the routing table Forward to a node whose identifier Forward to a node whose identifier
matches the message key in at least matches the message key in at least one more bitone more bit
Forward to a node whose identifier is Forward to a node whose identifier is numerically closer to the message keynumerically closer to the message key
EvaluationEvaluation
Number of routing hops scales with Number of routing hops scales with the network size (logthe network size (log22bbN) – Figure 4.N) – Figure 4.
Routes are only 30% to 40% longer Routes are only 30% to 40% longer despite minimal routing tables – Figure despite minimal routing tables – Figure 6.6.
Able to locate one of the top two Able to locate one of the top two nodes 92% of the timenodes 92% of the time
Minimally impacted by node failure – Minimally impacted by node failure – Figure 10.Figure 10.