Techniques for Virtual Machine Management
First Claim
1. A method of operating a group of virtual machines (VMs) that includes two or more primary VMs and two or more secondary VMs with the primary VMs within a cluster being linked to an external bus and with each of the primary VMs being operable to generate data and transmit the data on the external bus and to receive and process data from the external bus, the method comprising:
- for each of the primary VMs, utilizing a checkpoint procedure to maintain an associated one of the secondary VMs to assume tasks of the associated one of the primary VMs in the event of failover; and
on failover of one of the primary VMs, causing the associated one of the secondary VMs to assume the tasks of the associated one of the primary VMs from the checkpoint immediately preceding a failover event, wherein each of the primary VMs is connected to receive data from remaining ones of the primary VMs via an internal bus and process the data received on the internal bus on receipt;
synchronizing the checkpoints for the primary VMs;
for each of the primary VMs, preventing release to the external bus of data generated on the basis of received internal bus data until a subsequent checkpoint has occurred; and
on failover of one of the primary VMs, causing all of the primary VMs to initiate failover to an associated one of the secondary VMs.
0 Assignments
0 Petitions
Accused Products
Abstract
A technique for operating a group of virtual machines (VMs) includes utilizing a checkpoint procedure to maintain secondary VMs to assume tasks of primary VMs within a cluster in the event of failover. On failover of a first one of the primary VMs, a first one of the secondary VMs assumes the tasks from the checkpoint immediately preceding a failover event. Each of the primary VMs is connected to receive data from remaining ones of the primary VMs via an internal bus and process the data on receipt. Checkpoints for the primary VMs are synchronized. For each of the primary VMs, release to the external bus of data generated on the basis of received internal bus data is prevented until a subsequent checkpoint has occurred. On failover of one of the primary VMs, all of the primary VMs are directed to initiate failover to an associated one of the secondary VMs.
59 Citations
20 Claims
-
1. A method of operating a group of virtual machines (VMs) that includes two or more primary VMs and two or more secondary VMs with the primary VMs within a cluster being linked to an external bus and with each of the primary VMs being operable to generate data and transmit the data on the external bus and to receive and process data from the external bus, the method comprising:
-
for each of the primary VMs, utilizing a checkpoint procedure to maintain an associated one of the secondary VMs to assume tasks of the associated one of the primary VMs in the event of failover; and on failover of one of the primary VMs, causing the associated one of the secondary VMs to assume the tasks of the associated one of the primary VMs from the checkpoint immediately preceding a failover event, wherein each of the primary VMs is connected to receive data from remaining ones of the primary VMs via an internal bus and process the data received on the internal bus on receipt; synchronizing the checkpoints for the primary VMs; for each of the primary VMs, preventing release to the external bus of data generated on the basis of received internal bus data until a subsequent checkpoint has occurred; and on failover of one of the primary VMs, causing all of the primary VMs to initiate failover to an associated one of the secondary VMs. - View Dependent Claims (2, 3, 4, 5)
-
-
6. An apparatus, comprising:
-
one or more data storage devices; and at least one processor coupled to the one or more data storage devices, wherein the apparatus is configured to operate a group of virtual machines (VMs) that include two or more primary VMs and two or more secondary VMs with the primary VMs within a cluster being linked to an external data bus, and wherein; each of the primary VMs is operable to generate data and transmit the data on the external bus and to receive and process data from the external bus; for each of the primary VMs, the apparatus maintains, via a checkpoint procedure, associated ones of the secondary VMs to assume tasks of the primary VMs in the event of failover; on detection of a failover, the apparatus initiates transfer of the tasks of the primary VMs to associated ones of the secondary VMs, with each of the secondary VMs mirroring the state of one of the primary VMs at the checkpoint immediately preceding a failover event; the apparatus synchronizes the checkpoints for the primary VMs; the apparatus implements an internal bus mechanism, with each of the primary VMs being connected to receive data from remaining ones of the primary VMs via the internal bus and process the data on receipt; the one or more storage devices are utilized to buffer, for the primary VMs, external bus data generated on the basis of received internal bus data and release the data to the external bus when a subsequent checkpoint occurs; and on failover of one of the primary VMs, all of the primary VMs are directed to initiate failover to their respective secondary VMs. - View Dependent Claims (7, 8, 9, 10, 11, 12, 13)
-
-
14. A computer program product, comprising:
-
a computer-readable storage device; and code stored on the computer-readable storage device, wherein the code, when executed by a data processing system, causes the data processing system to; operate a group of virtual machines (VMs) that includes two or more primary VMs and two or more secondary VMs, wherein each of the primary VMs within a cluster is linked to an external data bus and each of the primary VMs is configured to generate data and transmit the data on the external bus and to receive and process data from the external bus; maintain, for each of the primary VMs, via a checkpoint procedure an associated one of the secondary VMs to assume tasks of the primary VMs in the event of failover; on detection of a failover of at least one of the primary VMs, transfer tasks of the at least one of the primary VMs to an associated one of the secondary VMs, where each of the secondary VMs mirrors the state of one of the primary VMs at the checkpoint immediately preceding a failover event; synchronize the checkpoints for all of the primary VMs; connect each one of the primary VMs to receive data from remaining ones of the primary VMs via an internal bus and process the data on receipt; buffer for each of the primary VMs external bus data generated on the basis of received internal bus data and release the external bus data to the external bus when a subsequent checkpoint has occurred; and on failover of one of the primary VMs, direct all of the primary VMs to initiate failover to an associated one of the secondary VMs. - View Dependent Claims (15, 16, 17, 18, 19, 20)
-
Specification