Method for on demand distributed hash table update
First Claim
1. A method for managing a network device in a peer-to-peer network that includes a plurality of at least three nodes, each node having a node ID, each respective node of the peer-to-peer network being associated with a different network device, the method comprising the steps of:
- a) looking up a successor node for a joining node that is joining the peer-to-peer network;
b) receiving, by the joining node, a message identifying the successor node;
c) sending a first joining message from the joining node that is joining the peer-to-peer network to the successor node of the joining node, the successor node of the joining node being determined from the node ID of the joining node, the first joining message including information relating to the joining node;
d) receiving, by the joining node from the successor node, another message indicating the successor node and a predecessor of the successor node, as two neighboring nodes of the joining node;
e) joining the joining node to the peer-to-peer network by(e-1) sending a second joining message to the predecessor node including the information relating to the joining node,(e-2) updating each of said two neighboring nodes exclusive of any other nodes of the plurality of at least three nodes with the information from the first and second joining messages,(e-3) sending reply messages from each of said two neighboring nodes to the joining node during the joining of the joining node to the peer-to-peer network, and(e-4) updating the joining node with node information of said two neighboring nodes from the reply messages, exclusive of any other node information of the plurality of at least three nodes.
2 Assignments
0 Petitions
Accused Products
Abstract
A method for managing communication in a peer-to-peer network in which overlay information is updated on-demand such that neighboring node information is updated at least periodically and other overlay information is updated on-demand (from standard communications). For example, in one aspect, the network includes a plurality of nodes, and the method includes looking up at least one neighboring node, sending a joining message from a joining node to the neighboring node, the joining message including information relating to the joining node, joining the joining node to the network by updating each neighboring node exclusive of any other nodes of the plurality of nodes, sending reply messages from each neighboring node to the joining node, and updating the joining node with information from each neighboring node, exclusive of any other nodes of the plurality of nodes.
-
Citations
24 Claims
-
1. A method for managing a network device in a peer-to-peer network that includes a plurality of at least three nodes, each node having a node ID, each respective node of the peer-to-peer network being associated with a different network device, the method comprising the steps of:
-
a) looking up a successor node for a joining node that is joining the peer-to-peer network; b) receiving, by the joining node, a message identifying the successor node; c) sending a first joining message from the joining node that is joining the peer-to-peer network to the successor node of the joining node, the successor node of the joining node being determined from the node ID of the joining node, the first joining message including information relating to the joining node; d) receiving, by the joining node from the successor node, another message indicating the successor node and a predecessor of the successor node, as two neighboring nodes of the joining node; e) joining the joining node to the peer-to-peer network by (e-1) sending a second joining message to the predecessor node including the information relating to the joining node, (e-2) updating each of said two neighboring nodes exclusive of any other nodes of the plurality of at least three nodes with the information from the first and second joining messages, (e-3) sending reply messages from each of said two neighboring nodes to the joining node during the joining of the joining node to the peer-to-peer network, and (e-4) updating the joining node with node information of said two neighboring nodes from the reply messages, exclusive of any other node information of the plurality of at least three nodes. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method for communicating between or among network devices of a peer-to-peer network that includes a plurality of at least four nodes, each node having a node ID and managing resources in a portion of the peer-to-peer network based on the node ID, each respective node of the peer-to-peer network being associated with a different network device, each node including a routing table with entries indicating a plurality of node IDs of nodes corresponding to respective portions of the peer-to-peer network, the method comprising the steps of:
-
a) sending a message from a first node to a second node, a selection of the second node as a recipient of the message being based on which one of the node IDs in the routing table of the first node is a closest node ID to a resource ID of a resource to be located; b) determining at the second node whether the second node neighbors the resource ID and whether the second node has a resource corresponding to the resource ID; c) if the second node neighbors the resource ID and the second node does not have the resource corresponding to the resource ID, determining at the second node whether the second node is responsible for the resource ID; and d) if the second node is not responsible for the resource ID, sending a reply message indicating a routing failure to the first node and including alternative routing information to reach the resource corresponding to the resource ID based on which one of the node IDs in the routing table of the second node is a closest node ID to the resource ID of the resource to be located. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A method for communicating between or among network devices of a peer-to-peer network that includes a plurality of at least four nodes, each node having a node ID and managing resources in a portion of the peer-to-peer network based on the node ID, each respective node of the peer-to-peer network being associated with a different network device, each node including a routing table with entries indicating a plurality of node IDs of nodes corresponding to respective portions of the peer-to-peer network, the method comprising the steps of:
-
a) routing a message from a first node to a second node, a selection of the second node as a recipient of the message being based on which one of the node IDs in the routing table of the first node is a closest node ID to a resource ID of a resource to be located; b) including in the sent message in step (a) information indicating the node or nodes the message had been routed through during routing to locate the resource, as a tracking history of the message; c) responsive to receipt of the message by the second node, determining at the second node whether the node ID of the second node neighbors the resource ID of the resource that is being located; d) if the node ID of the second node does not neighbor the resource ID of the node being located, determining at the second node whether the node ID in the routing table of the second node that is the closest node ID to the resource ID of the resource to be located is a node that is in the tracking history of the message; and e) if the node ID in the routing table of the second node that is the closest node ID to the resource ID of the resource to be located matches any node that is in the tracking history of the message, routing the message to an other node in the routing table of the second node that does not match to any node that is in the tracking history of the message. - View Dependent Claims (20, 21, 22)
-
-
23. A method for communicating between or among network devices of a peer-to-peer network that includes a plurality of at least four nodes, each node having a node ID, each respective node of the peer-to-peer network being associated with a different network device, each node including a routing table with entries indicating a plurality of node IDs of nodes corresponding to respective portions of the peer-to-peer network, the method comprising the steps of:
-
a) sending a message from a previous node to a subsequent node based on the node ID in the routing table of a previous node; b) determining whether the subsequent node is inactive; c) if the subsequent node is inactive, c-1) adding information to the message indicating the inactive status of the node determined to be inactive in step (b), and c-2) resending the message from a previous node to an alternative node that is active based on an other node ID in the routing table of a previous node; and d) sending the message from one of the subsequent node or the alternative node to a further node that does not match any node ID indicated in the message to be inactive; wherein step (c-2) of resending the message includes checking which of the node IDs in the routing table of the previous node do not match any of the node IDs added in step (c-1); and selecting the node ID that does not match any of node IDs added in step (c-1) that is a closest node ID to a resource ID of a resource to be located.
-
-
24. A method for communicating between or among network devices of a peer-to-peer network that includes a plurality of at least four nodes, each node having a node ID, each respective node of the peer-to-peer network being associated with a different network device, each node including a routing table with entries indicating a plurality of node IDs of nodes corresponding to respective portions of the peer-to-peer network, the method comprising the steps of:
-
a) sending a message from a previous node to a subsequent node based on the node ID in the routing table of a previous node; b) determining whether the subsequent node is inactive; c) if the subsequent node is inactive, c-1) adding information to the message indicating the inactive status of the node determined to be inactive in step (b), and c-2) resending the message from a previous node to an alternative node that is active based on an other node ID in the routing table of a previous node; d) sending the message from one of the subsequent node or the alternative node to a further node that does not match any node ID indicated in the message to be inactive; e) including in the sent message in step (a) node ID information indicating the node ID or nodes IDs of nodes used to locate the resource, as a tracking history of the message; and f) sending the message from one of the subsequent node or the alternative node to the further node that does not match any node ID indicated in the tracking history of the message.
-
Specification