In-place hypervisor updates

US9940148B1 · US · B1

Patent metadata
FieldValue
Publication numberUS-9940148-B1
Application numberUS-201313959608-A
CountryUS
Kind codeB1
Filing dateAug 5, 2013
Priority dateAug 5, 2013
Publication dateApr 10, 2018
Grant dateApr 10, 2018

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.

Techniques for in-place updates of hypervisors are described herein. At a time after receiving an update hypervisor request, one or more controlling domains within a computing system invoke one or more system capabilities at least to pause execution of currently running client domains and non-essential CPUs. While the client domains and non-essential CPUs are paused, a new hypervisor in instantiated, state information is copied from the existing hypervisor to the new hypervisor. After the state and/or configuration copy is complete, control is switched form the existing hypervisor to the new hypervisor and client domains and non-essential CPUs are resumed.

First claim

Opening claim text (preview).

What is claimed is: 1. A computer-implemented method for performing an in-place hypervisor update comprising: receiving an update hypervisor request and an updated hypervisor image for the in-place hypervisor update at a computer system that utilizes a set of processors to implement a current hypervisor and one or more guest computer systems served by the current hypervisor; and processing the update hypervisor request by at least: pausing each guest computer system of the one or more guest computer systems; pausing one or more processors of the set of processors not performing the in-place hypervisor update; instantiating an updated hypervisor based at least in part on the update hypervisor image; instructing the updated hypervisor that has been instantiated based at least in part on the updated hypervisor image to obtain state information of the current hypervisor while each guest computer system of the one or more guest computer systems and the one or more processors not performing the in-place hypervisor update are paused, the state information containing information relating to an operational state of the current hypervisor, an operational state of the one or more quest computer systems, and a state of virtualized hardware; running, based at least in part on the obtained state information, the updated hypervisor in a state matching that of the current hypervisor, the updated hypervisor running while the current hypervisor is stored in a memory of the computer system; using a non-paused processor of the set of processors to: transfer operational control of the one or more guest computer systems from the current hypervisor to the updated hypervisor; resume execution of the paused one or more processors not performing the in-place hypervisor update; and resume execution of the one or more guest computer systems; and terminating the current hypervisor after the operational control is transferred and the updated hypervisor is instantiated. 2. The computer-implemented method of claim 1 , wherein: prior to pausing each guest computer system of the one or more guest computer systems, processing the received update hypervisor request further comprises: verifying the updated hypervisor image validating the request for an in-place update to the computer system. 3. The computer-implemented method of claim 1 , wherein: prior to obtaining state information of the current hypervisor while each guest computer system of the one or more guest computer systems and the one or more processors not performing the in-place hypervisor update are paused, processing the received update hypervisor request further comprises: verifying the one or more guest computer systems are paused; and verifying the one or more processors not performing the in-place update hypervisor are paused. 4. The computer-implemented method of claim 1 , wherein: using the obtained state information to instantiate the updated hypervisor at least comprises: modifying the obtained state information from the current hypervisor to a canonical form; storing the state information in the canonical form; and providing the stored canonical form state information to the updated hypervisor. 5. The computer-implemented method of claim 1 , wherein using the obtained state information to instantiate the updated hypervisor at least comprises copying the obtained state information from the current hypervisor directly into the state information of the updated hypervisor. 6. The computer-implemented method of claim 1 , wherein: using the obtained state information to instantiate the updated hypervisor in a state matching the current hypervisor at least comprises: copying the state information from the current hypervisor into a temporary memory location; altering the state information copied from the current hypervisor to conform to the updated hypervisor; and copying the state information from the temporary memory location into the state information of the updated hypervisor. 7. A computer-implemented method for performing an in-place hypervisor update, comprising: receiving an update hypervisor request for an in-place hypervisor update and an updated hypervisor image at a computer system that utilizes a set of processors to run an existing current hypervisor and one or more guest computer systems served by the existing current hypervisor; validating an entity that issued the update hypervisor request; at a time after receiving the update hypervisor request and the updated hypervisor image, at least sending a request to one or more controlling domains on the computer systems to pause one or more processors of the set of processors not performing the in-place hypervisor update and to pause execution of the one or more guest computer systems served by the existing current hypervisor; at a time after pausing execution of the one or more guest computer systems, instantiating a new hypervisor based at least in part on the updated hypervisor image stored by the computer system; instructing the new hypervisor that has been instantiated based at least in part on the updated hypervisor image to transfer, from the existing current hypervisor, state information from the existing current hypervisor to the new hypervisor while execution of the one or more guest computer systems is paused, the state information containing information relating to an operational state of the current hypervisor, an operational state of the one or more guest computer systems, and a state of virtualized hardware; running, based at least in part on the transferred state information, the new hypervisor in a state matching that of the current hypervisor, the new hypervisor running while the existing current hypervisor is stored in memory of the computer system; instructing the new hypervisor to transfer an operational control of the one or more guest computer systems from the existing current hypervisor to the new hypervisor; terminating the existing current hypervisor after the operational control is transferred; and resuming execution of the one or more processors of the set of processors not performing the in-place hypervisor update, and resuming the paused one or more quest computer systems under control of the new hypervisor on the computer system. 8. The computer-implemented method of claim 7 , wherein the receiving the update hypervisor request includes a receiving process running on the one or more a controlling domains of the computer systems. 9. The computer-implemented method of claim 7 , wherein the state information includes a copy of memory allocated to each of the one or more guest computing systems. 10. The computer-implemented method of claim 7 , further comprising, at a time after pausing the one or more guest computer systems and before transferring the state information from the existing current hypervisor to the new hypervisor, verifying that the one or more guest computer systems that are paused. 11. The computer-implemented method of claim 7 , wherein: the method further comprises, at a time after pausing the one or more guest computer systems and before transferring the state information from the existing current hypervisor to the new hypervisor, pausing a proper subset of the set of processors on the one or more computer systems. 12. The computer-implemented method of claim 7 , wherein at a time during which the new hypervisor is running, the current hypervisor is stored in a first set of memory locations in the memory of the computer system and the new hypervisor is stored in a second set of memory locations in the memory of the computer system different from the first set of memory locations.

Assignees

Inventors

Classifications

  • Physics · mapped topic

  • Hypervisors; Virtual machine monitors · CPC title

  • while running · CPC title

  • Suspend and resume; Hibernate and awake · 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 US9940148B1 cover?
Techniques for in-place updates of hypervisors are described herein. At a time after receiving an update hypervisor request, one or more controlling domains within a computing system invoke one or more system capabilities at least to pause execution of currently running client domains and non-essential CPUs. While the client domains and non-essential CPUs are paused, a new hypervisor in instant…
Who is the assignee on this patent?
Amazon Tech Inc
What technology area does this patent fall under?
Primary CPC classification G06F9/45533. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Apr 10 2018 00:00:00 GMT+0000 (Coordinated Universal Time) (B1). 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).