Virtual machine distributed checkpointing
AssigneeLenovo Enterprise Solutions (Singapore) Pte. Ltd.
InventorsBulent Abali, Hubertus Franke, Michael R. Hines, Gokul B. Kandiraju, Makoto Ono
Life of this patent
Estimating the term…
Abstract
A method, system and computer program product for checkpointing virtual machines (VMs). The system includes a primary computer hosting a hypervisor and a primary VM. The hypervisor is configured instantiate the primary VM, divide the state of the primary VM into a plurality of memory blocks, and generate an error correction block based on the plurality of memory blocks. The system further includes a plurality of secondary computers. Each of the secondary computers stores a secondary VM and one of either the memory blocks or the error correction block.
Claims20
A method for checkpointing virtual machines, the method comprising:
- executing an application by a primary virtual machine on a primary computer;
- dividing a virtual machine state of the primary virtual machine into a plurality of memory blocks, the virtual machine state including a virtual memory state and a virtual central processing unit (CPU) state of the primary virtual machine;
- generating an error correction block based on the plurality of memory blocks such that if one of the memory blocks becomes an unusable memory block, the error correction block can restore the unusable memory block, the error correction block being utilized to restore the virtual machine state when one of the memory blocks becomes unusable;
- storing the memory blocks and error correction block across a plurality of secondary computers, each secondary computer stores a secondary virtual machine;
- and iterating the divide, generate and store operations over time.
A system for checkpointing virtual machines, comprising:
- a primary computer including a primary computer processing unit (CPU);
- a primary hypervisor executing on the primary computer, wherein the primary hypervisor instantiates a primary virtual machine, divides a virtual machine state of the primary virtual machine into a plurality of memory blocks, and generates an error correction block based on the plurality of memory blocks, the virtual machine state including a virtual memory state and a virtual CPU state of the primary virtual machine, the error correction block being utilized to restore the virtual memory state when one of the memory blocks becomes unusable;
- and
- a plurality of secondary computers, each of the secondary computers storing a secondary virtual machine and one of either the memory blocks or the error correction block.
A computer program product for checkpointing virtual machines, the computer program product comprising a non-transitory computer readable storage medium having program instructions embodied therewith, the program instructions executable by a processor to cause the processor to perform a method comprising:
- executing an application by a primary virtual machine on a primary computer;
- dividing a virtual machine state of the primary virtual machine into a plurality of memory blocks, the virtual machine state including a virtual memory state and a virtual central processing unit (CPU) state of the primary virtual machine;
- generating an error correction block based on the plurality of memory blocks such that if one of the memory blocks becomes an unusable memory block, the error correction block can restore the unusable memory block, the error correction block being utilized to restore the virtual machine state when one of the memory blocks becomes unusable;
- storing the memory blocks and error correction block across a plurality of secondary computers, each secondary computer stores a secondary virtual machine;
- and iterating the divide, generate and store operations over time.
Dependencies are inferred from the claim text.