Routing cache for distributed hash tables
First Claim
1. A method of managing a routing table that a node uses to route distributed hash table (DHT) query messages in a DHT that is distributed among nodes, including the node, on a data network, where each of the nodes has an assigned node identifier (nodeID) and an address on the data network, wherein the routing table comprises entries, and wherein an entry comprises a node'"'"'s nodeID and network address, the method comprising:
- receiving the DHT query messages from others of the nodes, wherein a DHT query message comprises a target key and one or more nodeID-network address pairings of one or more nodes that previously sent the DHT query message via the data network;
selecting entries in the routing table based on numerical closeness of the entries'"'"' nodeIDs to the target key and using the network addresses of the selected entries to route the DHT query messages to the nodes corresponding to the selected entries; and
maintaining the routing table by placing nodeID-address pairings therein without structuring the routing table according to the nodeIDs placed therein, wherein the nodeID-address pairings are from the received DHT query messages, the method being performed by at least one of the nodes.
2 Assignments
0 Petitions
Accused Products
Abstract
In a distributed hash table (DHT), a participating node has a routing cache associating nodes in the DHT with their respective network addresses. Messages can be routed with the routing table using prefix-matching or numerical-closeness without requiring rigid structuring of the node'"'"'s cache. Entries in the cache may be replaced using routing information obtained from en route messages. Entries in the routing cache may be replaced without regard for the nodeIDs in or entering the routing cache, and/or without structuring the routing cache according to the nodeIDs placed therein. Cache entries may be replaced randomly.
11 Citations
18 Claims
-
1. A method of managing a routing table that a node uses to route distributed hash table (DHT) query messages in a DHT that is distributed among nodes, including the node, on a data network, where each of the nodes has an assigned node identifier (nodeID) and an address on the data network, wherein the routing table comprises entries, and wherein an entry comprises a node'"'"'s nodeID and network address, the method comprising:
-
receiving the DHT query messages from others of the nodes, wherein a DHT query message comprises a target key and one or more nodeID-network address pairings of one or more nodes that previously sent the DHT query message via the data network; selecting entries in the routing table based on numerical closeness of the entries'"'"' nodeIDs to the target key and using the network addresses of the selected entries to route the DHT query messages to the nodes corresponding to the selected entries; and maintaining the routing table by placing nodeID-address pairings therein without structuring the routing table according to the nodeIDs placed therein, wherein the nodeID-address pairings are from the received DHT query messages, the method being performed by at least one of the nodes. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A method of managing a routing cache utilized in routing distributed hash table (DHT) routing messages regarding a DHT that is distributed across a network, the method comprising:
replacing cache entries in the routing cache with node identifiers (nodeIDs) and corresponding network addresses obtained from the DHT routing messages being routed within the distributed hash table, wherein the cache entries are replaced such that the routing cache has a substantially random distribution of nodeIDs, and by placing the nodeIDs and corresponding network addresses as pairs in the routing cache without structuring the routing cache according to the nodeIDs placed therein, the method being performed by a node on the network. - View Dependent Claims (8, 9, 10, 11, 12, 13)
-
14. A computing device comprising:
-
a portion of a distributed hash table (DHT); a routing table utilized in routing DHT queries regarding the distributed hash table, wherein the routing table is utilized to link the computing device to an overlay network of nodes participating in the distributed hash table via a data network, where the overlay network is layered above the data network; and a routing unit operable to route the DHT queries by selecting node identifiers (nodeIDs) in the routing table based on their numerical closeness to nodeIDs in the routing queries; and a routing table management unit operable to manage the routing table, the managing including replacing table entries without structuring the routing table based on nodeIDs placed therein, wherein the nodeIDs and corresponding network addresses placed in the routing table are obtained from the DHT queries. - View Dependent Claims (15, 16, 17, 18)
-
Specification