Strong routing consistency protocol in structured peer-to-peer overlays
First Claim
1. A method of enforcing routing consistency in structured peer-to-peer overlays, the method comprising:
- partitioning a key space of a structured peer-to-peer overlay into a plurality of zones, wherein at least one zone encompasses keys of plural nodes;
providing a group membership service per zone to manage nodes of their respective zones;
performing key-based routing within the structured peer-to-peer overlay by;
performing routing of a key value via a weakly consistent key-based routing to a node in the zone to which the key value belongs; and
querying the group membership service of the zone to determine a node to which the key value belongs.
2 Assignments
0 Petitions
Accused Products
Abstract
A structured peer-to-peer overlay performs a key-based routing (KBR) that achieves a strong routing consistency guarantee as well as reasonable scalability. The key space of the structured overlay is partitioned into zones, each separately managed by a group membership service that provides total ordering of membership query and change actions. The strongly consistent KBR has two phases: first, a key value is routed to a contact node in its zone via a weakly consistent KBR protocol; and then performing a lookup of the destination node for the key value by the contact node using the group membership service of the zone. By appropriately tuning the zone size, the strongly consistent KBR balances the trade-off between scalability and routing liveness. The KBR can maintain this balance by merging and splitting zones to account for system chum and scale changes.
52 Citations
20 Claims
-
1. A method of enforcing routing consistency in structured peer-to-peer overlays, the method comprising:
-
partitioning a key space of a structured peer-to-peer overlay into a plurality of zones, wherein at least one zone encompasses keys of plural nodes; providing a group membership service per zone to manage nodes of their respective zones; performing key-based routing within the structured peer-to-peer overlay by; performing routing of a key value via a weakly consistent key-based routing to a node in the zone to which the key value belongs; and querying the group membership service of the zone to determine a node to which the key value belongs. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A structured peer-to-peer overlay system with strongly consistent key-based routing, the system comprising:
-
a plurality of nodes, each node having a node ID within a key space and owning a range of key values, the key space being partitioned into zones, the nodes implementing a weakly consistent key-based routing protocol operating to route a query with a key value to an owning node for the key value; a plurality of group membership services each separately managing a group of nodes whose node ID is contained in one of a plurality of zones into which the key space is partitioned, each group membership service providing an interface for receiving group membership query and membership change event actions from the nodes with total ordering of the membership query and change event actions via an incrementing membership view version number; wherein the system provides strongly consistent key-based routing of a key value by first performing routing using the weakly consistent key-based routing to a contact node within the zone containing the key value, and the contact node then querying the group membership service of the zone to determine with a strong consistency guarantee to which node in the zone the key value belongs. - View Dependent Claims (13, 14, 15, 16, 17)
-
-
18. One or more computer-readable media containing instructions which, when executed by a computer, cause the computer to perform a method for strongly consistent key-based routing in a structured peer-to-peer overlay, the structured peer-to-peer overlay having a key-space partitioned into zones separately managed by group membership services, the method comprising:
-
upon a node joining the structured peer-to-peer overlay, issuing a join action to a group membership service for a zone to which a node ID of the node belongs; upon detecting failure of another node, issuing a remove action to a group membership service to which the other node belongs; when routing a key value; performing a lookup of a contact node in a zone for the key value using a weakly-consistent key-based routing protocol among nodes of the structured peer-to-peer overlay; issuing a strongly consistent lookup request to the contact node; upon receiving a strongly consistent lookup request from another requesting node, querying the group membership service of the zone to determine an owning node for the key value, and identifying the owning node to the other requesting node; failing to route the key value if the contact node in the zone cannot be located via the weakly-consistent key-based routing protocol or the group membership service query fails; and routing the key value to the owning node identified by the contact node. - View Dependent Claims (19, 20)
-
Specification