Method and apparatus for compiling optimization using activation recalculation
US-2024303054-A1 · Sep 12, 2024 · US
US9727420B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9727420-B2 |
| Application number | US-201414262686-A |
| Country | US |
| Kind code | B2 |
| Filing date | Apr 25, 2014 |
| Priority date | Dec 31, 2003 |
| Publication date | Aug 8, 2017 |
| Grant date | Aug 8, 2017 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
To generate a checkpoint for a virtual machine (VM), first, while the VM is still running, a copy-on-write (COW) disk file is created pointing to a parent disk file that the VM is using. Next, the VM is stopped, the VM's memory is marked COW, the device state of the VM is saved to memory, the VM is switched to use the COW disk file, and the VM begins running again for substantially the remainder of the checkpoint generation. Next, the device state that was stored in memory and the unmodified VM memory pages are saved to a checkpoint file. Also, a copy may be made of the parent disk file for retention as part of the checkpoint, or the original parent disk file may be retained as part of the checkpoint. If a copy of the parent disk file was made, then the COW disk file may be committed to the original parent disk file.
Opening claim text (preview).
What is claimed is: 1. A method for generating a checkpoint for a virtual machine (VM) using a virtual disk and VM memory, the method comprising: initiating generating a checkpoint for the VM; and upon initiating the generating of the checkpoint and prior to a completion of generating the checkpoint for the VM: saving a device state of the VM; saving contents of the VM memory of the VM; and separate from the generating of the checkpoint, enabling the VM to continue reading from, writing to, and executing code from the VM memory. 2. The method of claim 1 , wherein the virtual disk is initially mapped to a parent disk file on a physical disk, and wherein the step of maintaining, in an unmodified state, the contents of the virtual disk comprises: creating a copy-on-write (COW) disk file pointing to the parent disk file in use by the VM; and mapping the virtual disk to the COW disk file. 3. The method of claim 2 , wherein content for the COW disk file is contained with the base disk file, and the COW disk file includes pointers to data in the base disk file. 4. The method of claim 2 , further comprising switching the VM to read from and write to the COW disk file instead of the parent disk file so that the VM reads from and writes to the COW disk file and so that the VM reads from, writes to, and executes code from the VM memory. 5. The method of claim 2 , further comprising: reissuing a pending disk read; and directing data read from the parent disk to memory pages of the VM. 6. The method of claim 2 , further comprising: handling disk COW faults to the COW disk file; and handling memory COW faults to the original VM memory to generate copies of the original VM memory for read, write, and execution use by the VM. 7. The method of claim 2 , wherein the VM is still running when the COW disk file is created. 8. The method of claim 1 , further comprising: copying the base disk file after any pending disk writes complete; and using the copy of the base disk file for the checkpoint. 9. The method of claim 1 , wherein saving the device state of the VM comprises saving an instruction pointer and a plurality of registers and settings for one or more virtual devices. 10. A virtual computing system comprising: a virtual machine (VM) memory; a VM that reads from, writes to, and executes code from the VM memory; a virtual disk; and a processor programmed to: initiate generating a checkpoint; and upon initiating the generating of the checkpoint and prior to a completion of generating the checkpoint: save a device state of the VM; save contents of the VM memory of the VM; and enable the VM to continue the reading from, the writing to, and the executing code from the VM memory. 11. The system of claim 10 , wherein the virtual disk is initially mapped to a parent disk file on a physical disk, and wherein the step of maintaining, in an unmodified state, the contents of the virtual disk comprises: creating a copy-on-write (COW) disk file pointing to the parent disk file in use by the VM; and mapping the virtual disk to the COW disk file, wherein the VM is still running when the COW disk file is created. 12. The system of claim 11 , wherein content for the COW disk file is contained with the base disk file, and the COW disk file includes pointers to data in the base disk file. 13. The system of claim 11 , wherein the processor is further programmed to switch the VM to read from and write to the COW disk file instead of the parent disk file so that the VM reads from and writes to the COW disk file and so that the VM reads from, writes to, and executes code from the VM memory. 14. The system of claim 11 , wherein the processor is further programmed to: reissue a pending disk read; and direct data read from the parent disk to memory pages of the VM. 15. The system of claim 11 , further comprising: handling disk COW faults to the COW disk file; and handling memory COW faults to the original VM memory to generate copies of the original VM memory for read, write, and execution use by the VM. 16. A computer-readable storage medium comprising computer-executable instructions that, when executed by a processor at a time of initiating generating a checkpoint for a virtual machine (VM) using a virtual disk and a VM and prior to a completion of generating the checkpoint, cause the processor to: save a device state of the VM; save contents of the VM memory of the VM; and separate from the generating of the checkpoint, enable the VM to continue reading from, writing to, and executing code from the VM memory. 17. The computer-readable storage medium of claim 16 , wherein the virtual disk is initially mapped to a parent disk file on a physical disk, and wherein the step of maintaining, in an unmodified state, the contents of the virtual disk comprises: creating a copy-on-write (COW) disk file pointing to the parent disk file in use by the VM; and mapping the virtual disk to the COW disk file, wherein the VM is still running when the COW disk file is created. 18. The computer-readable storage medium of claim 17 , wherein content for the COW disk file is contained with the base disk file, and the COW disk file includes pointers to data in the base disk file. 19. The computer-readable storage medium of claim 17 , wherein the computer-executable instructions further cause the processor to switch the VM to read from and write to the COW disk file instead of the parent disk file so that the VM reads from and writes to the COW disk file and so that the VM reads from, writes to, and executes code from the VM memory. 20. The computer-readable storage medium of claim 17 , wherein the computer-executable instructions further cause the possessor to: reissue a pending disk read; and direct data read from the parent disk to memory pages of the VM.
Protection against loss of memory contents {(contains no material, see G06F11/00)} · CPC title
using file system or storage system metadata · CPC title
Restarting or rejuvenating · CPC title
Using snapshots, i.e. a logical point-in-time copy of the data · CPC title
Checkpointing the instruction stream · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.