Asynchronous communication in an unstable network
First Claim
1. A computer-implemented method for promptly reestablishing communication between nodes in a dynamic computer network, the method being performed at a computer system node having a processor and a memory and that is disposed within a computer networking environment having a plurality of computing systems, the method comprising:
- an act of a message queuing node sending a message to one or more other message queuing nodes in a network, each node in the message queuing network including a corresponding persistent unique global identifier;
an act of maintaining a list of unique global identifiers of those network nodes from which the message queuing node has received a message or to which the message queuing node has sent a message;
an act of the message queuing node going offline for a period of time;
upon the message queuing node coming back online, an act of sending an announcement message to each node maintained in the list, the announcement message indicating that the message queuing node is ready for communication in the message queuing network, each message including the node'"'"'s globally unique identifier and the node'"'"'s current network address;
an act of determining that a connection has been established between the message queuing node and at least one node from the list of nodes; and
based on the determination, an act of automatically resuming message transfer between the message queuing node and the at least one list node, and such that communication between the message queuing node and the at least one list node is reinitiated automatically as soon as both are simultaneously online.
2 Assignments
0 Petitions
Accused Products
Abstract
Embodiments are directed to promptly reestablishing communication between nodes in a dynamic computer network and dynamically maintaining an address list in an unstable network. A computer system sends a message to other message queuing nodes in a network, where each node in the message queuing network includes a corresponding persistent unique global identifier. The computer system maintains a list of unique global identifiers and the current network addresses of those network nodes from which the message queuing node has received a message or to which the message queuing node has sent a message. The computer system goes offline for a period of time and upon coming back online, sends an announcement message to each node maintained in the list indicating that the message queuing node is ready for communication in the message queuing network, where each message includes the destination node'"'"'s globally unique identifier and the node'"'"'s current network address.
-
Citations
17 Claims
-
1. A computer-implemented method for promptly reestablishing communication between nodes in a dynamic computer network, the method being performed at a computer system node having a processor and a memory and that is disposed within a computer networking environment having a plurality of computing systems, the method comprising:
-
an act of a message queuing node sending a message to one or more other message queuing nodes in a network, each node in the message queuing network including a corresponding persistent unique global identifier; an act of maintaining a list of unique global identifiers of those network nodes from which the message queuing node has received a message or to which the message queuing node has sent a message; an act of the message queuing node going offline for a period of time; upon the message queuing node coming back online, an act of sending an announcement message to each node maintained in the list, the announcement message indicating that the message queuing node is ready for communication in the message queuing network, each message including the node'"'"'s globally unique identifier and the node'"'"'s current network address; an act of determining that a connection has been established between the message queuing node and at least one node from the list of nodes; and based on the determination, an act of automatically resuming message transfer between the message queuing node and the at least one list node, and such that communication between the message queuing node and the at least one list node is reinitiated automatically as soon as both are simultaneously online. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A computer storage device, comprising:
stored computer-executable instructions that, when executed by one or more processors of a computing system, cause the computing system to perform a method for dynamically maintaining an address list in an unstable network, the method comprising; an act of determining that a message queuing node has one or more outstanding queued messages that are to be sent to one or more other nodes; an act of the message queuing node dynamically maintaining the most recent network addresses of the nodes that are relevant to the message queuing node, wherein relevant nodes include those nodes for which the message queuing node has pending messages to be transmitted to the node, or those nodes that have substantially recently communicated with the message queuing node; an act of the message queuing node establishing a communication handshake sequence with the relevant nodes, such that if a relevant node'"'"'s network address changes, the message queuing node is apprised thereof and the destination node is configured not to accept any message that was received erroneously due to network address changes; an act of determining that at least one of the relevant nodes is no longer using its last known network address; and an act of storing any pending messages until the message queuing node receives an indication from the destination node indicating the node'"'"'s new network address and that the relevant node is available for communication. - View Dependent Claims (13, 14, 15, 16)
-
17. A computer system comprising the following:
-
one or more processors; system memory; one or more computer-readable storage media having stored thereon computer-executable instructions that, when executed by the one or more processors, causes the computing system to perform a method for promptly reestablishing communication between nodes in a dynamic computer network, the method comprising the following; an act of a message queuing node sending a message to one or more other message queuing nodes in a network, each node in the message queuing network including a corresponding persistent unique global identifier; an act of maintaining a list of unique global identifiers of those network nodes from which the message queuing node has received a message or to which the message queuing node has sent the message; an act of the message queuing node going offline for a period of time; upon the message queuing node coming back online, an act of sending an announcement message to each node stored in the list, the announcement message indicating that the message queuing node is ready for communication in the message queuing network, each message including the node'"'"'s globally unique identifier and the node'"'"'s current network address; an act of determining that a connection has been established between the message queuing node and at least one node from the list of nodes; and based on the determination, an act of automatically resuming message transfer between the message queuing node and the at least one list node, and such that communication between the message queuing node and the at least one list node is reinitiated automatically as soon as both are simultaneously online.
-
Specification