Generating and using checkpoints in a virtual computer system

US9727420B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9727420-B2
Application numberUS-201414262686-A
CountryUS
Kind codeB2
Filing dateApr 25, 2014
Priority dateDec 31, 2003
Publication dateAug 8, 2017
Grant dateAug 8, 2017

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

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.

First claim

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.

Assignees

Inventors

Classifications

  • 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

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9727420B2 cover?
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 remainde…
Who is the assignee on this patent?
Vmware Inc
What technology area does this patent fall under?
Primary CPC classification G06F11/1438. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Aug 08 2017 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).