Peer-to-peer network with recovery capability
First Claim
1. A method for performing a recovery operation for a computer network, wherein the computer network comprises a plurality of nodes, wherein each node has one or more links to a subset of the other nodes, wherein each link comprises a communication channel enabling two nodes to communicate, the method comprising:
- utilizing a request/response protocol to establish a tree which includes at least a subset of the nodes, wherein the tree includes a plurality of edges, wherein each edge is mapped to a link between two nodes on the tree, wherein for each node on the tree, the tree defines a path for sending messages to any other node on the tree;
determining that a first link to which a first edge of the tree is mapped has failed, wherein the failed first link prevents a first node on the tree from sending a message to a second node on the tree; and
utilizing the request/response protocol to rebuild at least a portion of the tree so that the first node is able to send the message to the second node;
wherein said rebuilding the at least a portion of the tree is not performed immediately in response to said determining that the first link failed;
wherein said rebuilding the at least a portion of the tree is performed in response to the first node needing to send the message to the second node.
10 Assignments
0 Petitions
Accused Products
Abstract
A first node in the network may broadcast a recovery request via one or more links to one or more other nodes. The recovery request may specify a first address, where the first address is associated with one or more nodes in the network. Nodes may receive and forward the recovery request until every node with which the first address is associated receives the recovery request and returns a recovery response. The recovery responses may be used to create route information for routing a message to each node with which the first address is associated.
73 Citations
4 Claims
-
1. A method for performing a recovery operation for a computer network, wherein the computer network comprises a plurality of nodes, wherein each node has one or more links to a subset of the other nodes, wherein each link comprises a communication channel enabling two nodes to communicate, the method comprising:
-
utilizing a request/response protocol to establish a tree which includes at least a subset of the nodes, wherein the tree includes a plurality of edges, wherein each edge is mapped to a link between two nodes on the tree, wherein for each node on the tree, the tree defines a path for sending messages to any other node on the tree; determining that a first link to which a first edge of the tree is mapped has failed, wherein the failed first link prevents a first node on the tree from sending a message to a second node on the tree; and utilizing the request/response protocol to rebuild at least a portion of the tree so that the first node is able to send the message to the second node; wherein said rebuilding the at least a portion of the tree is not performed immediately in response to said determining that the first link failed; wherein said rebuilding the at least a portion of the tree is performed in response to the first node needing to send the message to the second node.
-
-
2. A method for performing a recovery operation for a computer network, wherein the computer network comprises a plurality of nodes, wherein each node has one or more links to a subset of the other nodes, the method comprising:
-
a first node storing route information for sending messages to a first address associated with a second node, wherein the route information specifies that messages addressed to the first address should be sent from the first node via a first link to a third node; detecting that the first link failed; the first node marking the route information as invalid in response to detecting that the first link failed; and performing a recovery operation in response to a send operation for sending a first message from the first node to the first address, wherein the recovery operation comprises the first node determining a second link by which to send the first message from the first node to a fourth node, wherein the fourth node is operable to forward the message to the first address.
-
-
3. A computer-readable memory medium for performing a recovery operation for a computer network, wherein the computer network comprises a plurality of nodes, wherein each node has one or more links to a subset of the other nodes, wherein the computer-readable memory medium comprises program instructions executable to:
-
utilize a request/response protocol to establish a tree which includes at least a subset of the nodes, wherein the tree includes a plurality of edges, wherein each edge is mapped to a link between two nodes on the tree, wherein for each node on the tree, the tree defines a path for sending messages to any other node on the tree; determine that a first link to which a first edge of the tree is mapped has failed, wherein the failed first link prevents a first node on the tree from sending a message to a second node on the tree; and utilize the request/response protocol to rebuild at least a portion of the tree so that the first node is able to send the message to the second node; wherein said rebuilding the at least a portion of the tree is not performed immediately in response to said determining that the first link failed; wherein said rebuilding the at least a portion of the tree is performed in response to the first node needing to send the message to the second node.
-
-
4. A computer-readable memory medium for performing a recovery operation for a computer network, wherein the computer network comprises a plurality of nodes, wherein each node has one or more links to a subset of the other nodes, wherein the computer-readable memory medium comprises program instructions executable to implement:
-
a first node storing route information for sending messages to a first address associated with a second node, wherein the route information specifies that messages addressed to the first address should be sent from the first node via a first link to a third node; detecting that the first link failed; the first node marking the route information as invalid in response to detecting that the first link failed; and performing a recovery operation in response to a send operation for sending a first message from the first node to the first address, wherein the recovery operation comprises the first node determining a second link by which to send the first message from the first node to a fourth node, wherein the fourth node is operable to forward the message to the first address.
-
Specification