Resource recovery for checkpoint-based high-availability in a virtualized environment
Abstract
A computer-implemented method provides checkpoint high-available for an application in a virtualized environment with reduced network demands. An application executes on a primary host machine comprising a first virtual machine. A virtualization module receives a designation from the application of a portion of the memory of the first virtual machine as purgeable memory, wherein the purgeable memory can be reconstructed by the application when the purgeable memory is unavailable. Changes are tracked to a processor state and to a remaining portion that is not purgeable memory and the changes are periodically forwarded at checkpoints to a secondary host machine. In response to an occurrence of a failure condition on the first virtual machine, the secondary host machine is signaled to continue execution of the application by using the forwarded changes to the remaining portion of the memory and by reconstructing the purgeable memory.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1 . A computer-implemented method for resource recovery, the method comprising:
a processor executing an application on a primary host machine comprising a first virtual machine with the processor and a memory; receiving a designation from the application of a portion of the memory of the first virtual machine as purgeable memory, wherein the purgeable memory represents portions of memory that can be reconstructed by the application when the purgeable memory is unavailable; tracking changes to a processor state and to a remaining portion of the memory that is not designated by the application as purgeable memory; periodically stopping the first virtual machine; in response to stopping the first virtual machine, forwarding the changes to the remaining portion of the memory to a secondary host machine comprising a second virtual machine; in response to completing the forwarding of the changes, resuming execution of the first virtual machine; and in response to an occurrence of a failure condition on the first virtual machine, signaling the secondary host machine to continue execution of the application by using the forwarded changes to the remaining portion of the memory and by having the application reconstruct the purgeable memory at the second virtual machine.
2 . The method of claim 1 , further comprising:
protecting access to the memory by setting an access code to one of purgeable and non-purgeable, respectively, at a plurality of first storage locations that marks respectively a corresponding plurality of second storage locations of the memory; receiving the designation of the purgeable memory as an application program interface (API) call; in response to receiving the designation, marking the purgeable memory by setting the access code to purgeable for a selected first storage location that corresponds to a selected second storage location comprising the purgeable memory; and in response to the access code being set as purgeable, preventing the purgeable memory from being forwarded to the secondary host machine while the changes to the remaining portion of the memory are forwarded to the second virtual machine during a checkpoint at the first virtual machine.
3 . The method of claim 2 , further comprising enabling access by the application to the purgeable memory by:
receiving an access call from the application to access the purgeable memory; changing the access code to locked for memory protection for the purgeable memory to override an auto-removal policy; executing a user function to access the purgeable memory specified by the access call; and restoring the access code to purgeable for memory protection.
4 . The method of claim 3 , further comprising providing an application programming interface for memory protection that enables access to memory and prevents direct access to the purgeable memory.
5 . The method of claim 3 , further comprising:
in response to receiving the access call, registering a recovery function for the purgeable memory; and in response to occurrence of a fault associated with the purgeable memory not being present wherein the fault is caused by the application attempting to access the purgeable memory, invoking the recovery function to instruct the secondary host machine to reconstruct the purgeable memory by the application on the secondary host machine.
6 . The method of claim 1 , further comprising, in response to the occurrence of the failure condition, an operating system of the primary host machine signaling to the secondary host machine to continue execution of the application by using the forwarded changes to the remaining portion of the memory and by having the application reconstruct the purgeable memory at the secondary host machine.
7 . The method of claim 1 , further comprising, in response to the occurrence of the failure condition, a hypervisor of the primary host machine signaling to the secondary host machine to continue execution of the application at the secondary host machine by using the forwarded changes to the remaining portion of the memory and by having the application reconstruct the purgeable memory.Join the waitlist — get patent alerts
Track US2014101401A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.