Service-aware distributed hash table routing
AssigneeCisco Technology, Inc.
InventorsSteven V. Luong, Manish Bhardwaj
Life of this patent
Estimating the term…
Abstract
In one embodiment, a node in a computer network joins a global ring associated with a distributed hash table (DHT), and maintains a DHT routing table and DHT database for the global ring. In addition, the node may determine a particular service class for which the node is configured, and may join a particular service-based sub-ring according to the particular service class, where all nodes of the particular service-based sub-ring are within the global ring. As such, a service-based DHT routing table and service-based DHT database may be maintained for the particular service-based sub-ring, such that DHT operations identified by the particular service class are routed to the particular service-based sub-ring (e.g., by a portal node).
Claims20
A method, comprising:
- joining, by a node in a computer network, a global ring associated with a distributed hash table (DHT);
- maintaining a DHT routing table and a DHT database for the global ring;
- determining a particular service class for which the node is configured;
- joining a particular service-based sub-ring according to the particular service class, wherein all nodes of the particular service-based sub-ring are within the global ring;
- maintaining a service-based DHT routing table and a service-based DHT database for the particular service-based sub-ring, wherein DHT operations identified by the particular service class are routed to the particular service-based sub-ring;
- exchanging keepalives with neighbors in the DHT routing table associated with the global ring;
- and
- maintaining the service based DHT routing table for the particular service based sub-ring based on the keepalive messages exchanged between the neighbors in the DHT routing table associated with the global ring, wherein no keepalives are sent between neighbors of the service-based DHT.
A method, comprising:
- determining, by a portal node in a computer network, a global ring associated with a distributed hash table (DHT), wherein a DHT routing table and a DHT database are maintained for the global ring;
- determining a plurality of service classes and associated service-based sub-rings according to the plurality of service classes, wherein all nodes of the service-based sub-rings are within the global ring;
- routing DHT operations identified by a particular service class to a particular service-based sub-ring of the plurality of service-based sub-rings that corresponds to the particular service class identified, wherein a service-based DHT routing table and a service-based DHT database is maintained for the particular service-based sub-ring,
- wherein keepalives are exchanged with neighbors in the DHT routing table associated with the global ring, and the service based DHT routing table for the particular service based sub-ring is maintained based on the keepalive messages exchanged between the neighbors in the DHT routing table associated with the global ring,
- wherein no keepalives are sent between neighbors of the service-based DHT.
An apparatus, comprising:
- a network interface to communicate within a computer network as a node;
- a processor coupled to the network interface and adapted to execute one or more processes;
- and
- a memory configured to store a process executable by the processor, the process when executed operable to:
- join a global ring associated with a distributed hash table (DHT);
- maintain a DHT routing table and a DHT database for the global ring;
- determine a particular service class for which the node is configured;
- join a particular service-based sub-ring according to the particular service class, wherein all nodes of the particular service-based sub-ring are within the global ring;
- maintain a service-based DHT routing table and a service-based DHT database for the particular service-based sub-ring, wherein DHT operations identified by the particular service class are routed to the particular service-based sub-ring;
- exchanging keepalives with neighbors in the DHT routing table associated with the global ring;
- and
- maintaining the service based DHT routing table for the particular service based sub-ring based on keepalive messages exchanged between the neighbors in the DHT routing table associated with the global ring, wherein no keepalives are sent between neighbors of the service-based DHT.
An apparatus, comprising:
- a network interface to communicate within a computer network as a portal node;
- a processor coupled to the network interface and adapted to execute one or more processes;
- and
- a memory configured to store a process executable by the processor, the process when executed operable to:
- determine a global ring associated with a distributed hash table (DHT), wherein a DHT routing table and a DHT database are maintained for the global ring;
- determine a plurality of service classes and associated service-based sub-rings according to the plurality of service classes, wherein all nodes of the service-based sub-rings are within the global ring;
- route DHT operations identified by a particular service class to a particular service-based sub-ring of the plurality of service-based sub-rings that corresponds to the particular service class identified, wherein a service-based DHT routing table and a service-based DHT database is maintained for the particular service-based sub-ring,
- wherein keepalives are exchanged with neighbors in the DHT routing table associated with the global ring, and the service based DHT routing table for the particular service based sub-ring is maintained based on the keepalive messages exchanged between the neighbors in the DHT routing table associated with the global ring,
- wherein no keepalives are sent between neighbors of the service-based DHT.
Dependencies are inferred from the claim text.