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 comprising a message queuing 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 the dynamic computer network, each message queuing node in the message queuing network including a corresponding persistent unique global identifier, wherein the unique global identifier is unique to each particular message queuing node and is separate from and different than the node'"'"'s current network address and the node'"'"'s network hardware address;
an act of the message queuing node maintaining a list of unique global identifiers that identifies each and every network node from which the message queuing node has received a message or to which the message queuing node has sent a message over a given duration and to which an announcement message will be sent when the message queuing node comes back online after going off line for a period of time;
an act of the message queuing node going offline for the period of time; and
upon the message queuing node coming back online, an act of sending the announcement message to those nodes that are maintained in the list, the announcement message indicating that the message queuing node is ready for communication in the message queuing network, the announcement message including the node'"'"'s globally unique identifier and the node'"'"'s current network address.
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.
20 Citations
20 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 comprising a message queuing 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 the dynamic computer network, each message queuing node in the message queuing network including a corresponding persistent unique global identifier, wherein the unique global identifier is unique to each particular message queuing node and is separate from and different than the node'"'"'s current network address and the node'"'"'s network hardware address; an act of the message queuing node maintaining a list of unique global identifiers that identifies each and every network node from which the message queuing node has received a message or to which the message queuing node has sent a message over a given duration and to which an announcement message will be sent when the message queuing node comes back online after going off line for a period of time; an act of the message queuing node going offline for the period of time; and upon the message queuing node coming back online, an act of sending the announcement message to those nodes that are maintained in the list, the announcement message indicating that the message queuing node is ready for communication in the message queuing network, the announcement message including the node'"'"'s globally unique identifier and the node'"'"'s current network address. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A computer storage device, comprising:
stored computer-executable instructions that, when executed by one or more processors of a message queuing node computing system, cause the message queuing node 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 a globally unique identifier that is unique to that queued message node and is separate from the node'"'"'s network hardware address, and further maintaining a most recent network address for each of the nodes that are relevant to the message queuing node, wherein relevant nodes include all nodes for which the message queuing node has pending messages to be transmitted to the relevant node, or 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 (15, 16, 17, 18)
-
19. 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 the dynamic computer network, each message queuing node in the message queuing network including a corresponding persistent unique global identifier, wherein the unique global identifier is unique to each particular message queuing node and is separate from and different than the node'"'"'s current network address and the node'"'"'s network hardware address; 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; and upon the message queuing node coming back online, an act of sending an announcement message to those nodes that are stored in the list, the announcement message indicating that the message queuing node is ready for communication in the message queuing network, the announcement message including the node'"'"'s globally unique identifier and the node'"'"'s current network address. - View Dependent Claims (20)
-
Specification