Managing replication of computing nodes for provided computer networks
First Claim
1. A computer-implemented method, comprising:
- receiving, by an online service implemented by one or more configured computing systems, a request from a client of the online service to provide a first computing node for the client in a first geographical location, and to provide a replicated copy of the first computing node in second geographical location distinct from the first geographical location;
implementing, by the online service, the first computing node using a first virtual machine having a first volatile memory in the first geographical location, including executing one or more software programs for the client on the first computing node and associating a virtual Internet Protocol (IP) address with the first computing node for use in communicating with other computing nodes, and executing a first communication manager on a first physical host hosting the first virtual machine to manage communications for the first virtual machine;
implementing, by the online service, a second computing node using a second virtual machine having a second volatile memory in the second geographical location as the replicated copy of the first computing node, including executing a second communication manager on a second physical host hosting the second virtual machine to manage communications for the second virtual machine;
sending, from the first communication manager to the second communication manager;
state data of the first computing node to update the second volatile memory of the second computing node to reflect changes in a state of the first volatile memory of the first computing node based at least in part on executing the one or more software programs on the second computing node at a same time while the one or more software programs are executing on the first computing node, andheartbeats of the first computing node;
tracking, by the second communication manager, the heartbeats of the first computing node, wherein the first computing node is determined to be no longer available if a heartbeat is not received by the second communication manager for a threshold amount of time;
identifying, by the online service, a problem with use of the first computing node based at least in part on the tracking of the heartbeats; and
replacing, by the online service and in response to the problem identified with use of the first computing node, the first computing node with the second computing node for further use on behalf of the client that includes continued execution of the one or more software programs on the second computing node, including associating the virtual IP address with the second computing node.
0 Assignments
0 Petitions
Accused Products
Abstract
Techniques are described for providing managed computer networks, such as for managed virtual computer networks overlaid on one or more other underlying computer networks. In some situations, the techniques include facilitating replication of a primary computing node that is actively participating in a managed computer network, such as by maintaining one or more other computing nodes in the managed computer network as replicas, and using such replica computing nodes in various manners. For example, a particular managed virtual computer network may span multiple broadcast domains of an underlying computer network, and a particular primary computing node and a corresponding remote replica computing node of the managed virtual computer network may be implemented in distinct broadcast domains of the underlying computer network, with the replica computing node being used to transparently replace the primary computing node in the virtual computer network if the primary computing node becomes unavailable.
-
Citations
18 Claims
-
1. A computer-implemented method, comprising:
-
receiving, by an online service implemented by one or more configured computing systems, a request from a client of the online service to provide a first computing node for the client in a first geographical location, and to provide a replicated copy of the first computing node in second geographical location distinct from the first geographical location; implementing, by the online service, the first computing node using a first virtual machine having a first volatile memory in the first geographical location, including executing one or more software programs for the client on the first computing node and associating a virtual Internet Protocol (IP) address with the first computing node for use in communicating with other computing nodes, and executing a first communication manager on a first physical host hosting the first virtual machine to manage communications for the first virtual machine; implementing, by the online service, a second computing node using a second virtual machine having a second volatile memory in the second geographical location as the replicated copy of the first computing node, including executing a second communication manager on a second physical host hosting the second virtual machine to manage communications for the second virtual machine; sending, from the first communication manager to the second communication manager; state data of the first computing node to update the second volatile memory of the second computing node to reflect changes in a state of the first volatile memory of the first computing node based at least in part on executing the one or more software programs on the second computing node at a same time while the one or more software programs are executing on the first computing node, and heartbeats of the first computing node; tracking, by the second communication manager, the heartbeats of the first computing node, wherein the first computing node is determined to be no longer available if a heartbeat is not received by the second communication manager for a threshold amount of time; identifying, by the online service, a problem with use of the first computing node based at least in part on the tracking of the heartbeats; and replacing, by the online service and in response to the problem identified with use of the first computing node, the first computing node with the second computing node for further use on behalf of the client that includes continued execution of the one or more software programs on the second computing node, including associating the virtual IP address with the second computing node. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A non-transitory computer-readable medium having stored contents that cause one or more computing systems of an online service to:
-
receive, from a client of the online service, a request to provide a first computing node for the client in a first geographical location, and to provide a replicated copy of the first computing node in a second geographical location distinct from the first geographical location; implement, by the online service and using one or more computer systems provided by the online service, the first computing node using a first virtual machine that has a first volatile memory in the first geographical location for the, including executing one or more software programs for the client on the one or more computer systems and associating a virtual Internet Protocol (IP) address with the first computing node for use with communications involving other computing nodes, and executing a first communication manager on a first physical host hosting the first virtual machine to manage communications for the first virtual machine; implement, by the online service, a second computing node using a second virtual machine that has a second volatile memory in the second geographical location as the replicated copy of the first computing node, including executing a second communication manager on a second physical host hosting the second virtual machine to manage communications for the second virtual machine; sending, from the first communication manager to the second communication manager; state data of the first computing node to update the second volatile memory of the second computing node to reflect changes in a state of the first volatile memory of the first computing node from the executing of the one or more software programs based at least in part on executing the one or more software programs on the second computing node simultaneously with the first computing node executing the one or more software programs, and heartbeats of the first computing node; track, by the second communication manager, the heartbeats of the first computing node, wherein the first computing node is determined to be no longer available if a heartbeat is not received by the second communication manager for a threshold amount of time; identify, by the online service, a problem with use of the first computing node based at least in part on the tracking of the heartbeats; and replace, by the online service and in response to the identifying of the problem, the first computing node with the second computing node, including associating the virtual IP address with the second computing node for use with further communications, and continuing execution of the one or more software programs on the second computing node. - View Dependent Claims (15, 16)
-
-
17. A system, comprising:
-
one or more processors of one or more computing systems; and one or more memories with stored instructions that, when executed by at least one of the one or more processors, cause the at least one processor to; receive one or more requests from a client to provide a virtual computer network having multiple nodes that include a first computing node, and to provide a replicated copy of the first computing node in a geographical location different from that of the first computing node; implement the virtual computer network for the client, including implementing the first computing node using that has a first volatile memory in a first geographical location and associating with the first computing node a first virtual Internet Protocol (IP) address from multiple virtual network addresses used with the virtual computer network, wherein the first computing node is implemented using a first virtual machine on a first physical host and configured to perform operations to provide functionality for the virtual computer network; implement a second computing node that has a second volatile memory in a second geographical location as the replicated copy of the first computing node, wherein the second computing node is implemented using a second virtual machine on a second physical host; sending, from a first communication manager executing on the first physical for the first computing node to a second communication manager executing on the second physical for the second computing node; state data of the first computing node to update the second volatile memory of the second computing node to reflect changes in a state of the first volatile memory of the first computing node by causing the second computing node to also perform at least some of the operations, and heartbeats of the first computing node; track, by the second communication manager, the heartbeats of the first computing node, wherein the first computing node is determined to be no longer available if a heartbeat is not received by the second communication manager for a threshold amount of time; and replace, based at least in part on a problem of the first computing node detected based at least in part on a tracking of the heartbeats, the first computing node with the maintained second computing node for the virtual computer network, including continuing, by the second computing node, the operations to provide the functionality for the virtual computer network, and associating the first virtual IP address with the second computing node for use with further operations of the virtual computer network. - View Dependent Claims (18)
-
Specification