Suspending and resuming virtual machines

US9563462B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9563462-B2
Application numberUS-201514742313-A
CountryUS
Kind codeB2
Filing dateJun 17, 2015
Priority dateAug 13, 2014
Publication dateFeb 7, 2017
Grant dateFeb 7, 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.

Suspending multiple virtual machines executed simultaneously a hypervisor a data processing system, including: sending, by a control instance, a request to the hypervisor to suspend virtual machines at a given future first point in time; the hypervisor determining if its virtual machines can be suspended at the first point in time, and, if the suspending is possible, returning a suspend handle to the control instance and storing the suspend handle, otherwise returning an invalid handle; when receiving a suspend handle from the hypervisor in return to the request to suspend virtual machines, the control instance sending a suspend command to the hypervisor, wherein the respective suspend handle is provided to the corresponding hypervisor; the hypervisor determining if the received suspend handle is equal to its stored handle and, if yes, suspending its virtual machines at the first point in time.

First claim

Opening claim text (preview).

What is claimed is: 1. A method for simultaneously suspending multiple virtual machines, executed by at least one hypervisor, in at least one data processing system, comprising: sending, by a control instance, a request to the at least one hypervisor to suspend a set of two or more virtual machines, the request including a future first point in time to suspend the execution of each virtual machine in the set of two or more virtual machines; determining, by the at least one hypervisor and in response to receiving the request, whether each virtual machine in the set of two or more virtual machines can be suspended at the future first point in time and storing a suspend handle corresponding to each virtual machine in the set of two or more virtual machines that can be suspended; returning to the control instance, by the at least one hypervisor and in response to the determining, a suspend handle corresponding to each virtual machine in the set of two or more virtual machines that can be suspended and an invalid handle corresponding to each virtual machine in the set of two or more virtual machines that cannot be suspended; sending, by the control instance and in response to subsequently receiving suspend handles corresponding to each of the set of two or more virtual machines from the at least one hypervisor, a suspend command with the received suspend handles to the at least one hypervisor; and simultaneously suspending, by the at least one hypervisor in response to receiving a suspend command with suspend handles from the control instance, each virtual machine corresponding to a suspend handle in the suspend command at the future first point in time. 2. The method of claim 1 , further comprising: sending, by the control instance, a resume request to the at least one hypervisor to resume a set of two or more suspended virtual machines, the resume request including a future second point in time to resume the execution of each virtual machine in the set of two or more suspended virtual machines; determining, by the at least one hypervisor and in response to receiving the resume request, whether each suspended virtual machine in the set of two or more suspended virtual machines can be resumed at the second point in time; returning to the control instance, by the at least one hypervisor and in response to the determining, a resume handle corresponding to each suspended virtual machine in the set of two or more suspended virtual machines that can be resumed and an invalid handle corresponding to each virtual machine in the set of two or more suspended virtual machines that cannot be resumed; sending, by the control instance and in response to subsequently receiving resume handles corresponding to each of the set of two or more suspended virtual machines from the at least one hypervisor, a resume command with the received resume handles to the at least one hypervisor; and simultaneously resuming, by the at least one hypervisor in response to receiving a resume command with resume handles from the control instance, each suspended virtual machine corresponding to a resume handle in the resume command at the future second point in time. 3. The method of claim 2 , further comprising: the control instance retrieving a stored clock state of the virtual machines in the set of two or more suspended virtual machines requested for resuming and returning the clock states to the corresponding hypervisor; and the corresponding hypervisor setting a clock state of the virtual machines in the set of two or more suspended virtual machines to the retrieved clock state. 4. The method of claim 2 , wherein the first point in time to suspend the virtual machines in the set of two or more virtual machines and the second point in time to resume the virtual machines in the set of two or more suspended virtual machines are synchronized by the control instance for the at least one hypervisor. 5. The method of claim 2 , wherein the method, in response to resuming by the control instance, further comprises: the control instance calling for resuming the virtual machines in the set of two or more suspended virtual machines and retrieving the clock states of the virtual machines; the corresponding hypervisor setting the clock state of the virtual machines in the set of two or more suspended virtual machines to the retrieved clock states; the corresponding hypervisor restoring the states of the virtual machine in the set of two or more suspended virtual machines; the corresponding hypervisor starting the virtual machine in the set of two or more suspended virtual machines; and the control instance updating the states of the virtual machines in the set of two or more suspended virtual machines in a database. 6. The method of claim 5 , wherein the virtual machines in the set of two or more suspended virtual machines are resumed at clock states that are updated with an offset between system clocks of the multiple virtual machines in the set of two or more virtual machines when being suspended. 7. The method of claim 6 , wherein the clock states of the virtual machines in the set of two or more suspended virtual machines are the retrieved clock states of the resumed virtual machines. 8. The method of claim 1 , further comprising: the at least one hypervisor returning clock states of the virtual machines in the set of two or more virtual machines requested for suspending to the control instance; and the control instance storing the clock states of the virtual machines in the set of two or more virtual machines. 9. The method of claim 1 , wherein the virtual machines in the set of two or more virtual machines are connected via a network. 10. The method of claim 1 , wherein at least two hypervisors are being implemented on different data processing systems. 11. The method of claim 1 , further comprising: copying the suspended virtual machines in the set of two or more virtual machines; retrieving the clock states of the suspended virtual machines in the set of two or more virtual machines; and resuming the copied virtual machines with the retrieved clock states. 12. The method of claim 1 , wherein the method, subsequent to the suspending, further comprises: the corresponding hypervisor storing the states of the virtual machine in the set of two or more virtual machines; the hypervisor returning a clock state of the virtual machine in the set of two or more virtual machines to the control instance; and the control instance storing the states and the clock state of the virtual machines in the set of two or more virtual machines. 13. The method of claim 1 , wherein the multiple virtual machines in the set of two or more virtual machines are resumed at the clock states where the virtual machines were suspended. 14. The method of claim 1 , further comprising: determining, in response to suspending the multiple virtual machines in the set of two or more virtual machines, an offset between system clocks of the multiple virtual machines.

Assignees

Inventors

Classifications

  • Starting, stopping, suspending or resuming virtual machine instances · CPC title

  • Hypervisor-specific management and integration aspects · 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 US9563462B2 cover?
Suspending multiple virtual machines executed simultaneously a hypervisor a data processing system, including: sending, by a control instance, a request to the hypervisor to suspend virtual machines at a given future first point in time; the hypervisor determining if its virtual machines can be suspended at the first point in time, and, if the suspending is possible, returning a suspend handle …
Who is the assignee on this patent?
IBM
What technology area does this patent fall under?
Primary CPC classification G06F9/45558. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Feb 07 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 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).