Virtual machine instance migration using a hypervisor

US10404579B1 · US · B1

Patent metadata
FieldValue
Publication numberUS-10404579-B1
Application numberUS-201514961765-A
CountryUS
Kind codeB1
Filing dateDec 7, 2015
Priority dateDec 7, 2015
Publication dateSep 3, 2019
Grant dateSep 3, 2019

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 managing a critical phase of a virtual machine migration are described herein. During the critical phase, which must be kept as short as possible, a virtual machine instance is paused, network packets are rerouted to a temporary packet queue, and messages associated with managing synchronization of block storage devices are dispatched to an entity configured to manage those connections. After the block storage devices are synchronized, the network packets are released from the temporary packet queue to the new location of the virtual machine instance.

First claim

Opening claim text (preview).

What is claimed is: 1. A computer-implemented method, comprising: receiving a request to begin a critical phase of a virtual machine migration for a first virtual machine instance; pausing, using a first hypervisor, execution of the first virtual machine instance, the first virtual machine instance having access to resources provided by the first hypervisor, the first virtual machine instance managed by the first hypervisor, the first hypervisor running on a first computer system of one or more computer systems; after pausing the execution, receiving network packets that are directed to the first virtual machine instance to an incoming packet queue provided by a privileged instance running on the first computer system, the privileged instance having access to resources of the first computer system, the privileged instance managed by the first hypervisor; validating a standby lease to a block storage device for a second virtual machine instance on a second computer system of the one or more computer systems, the standby lease acquired using a second hypervisor executing on the second computer system; completing a copy of memory from the first virtual machine instance to the second virtual machine instance; after copying the memory: forwarding the received network packets in the incoming packet queue to the second virtual machine instance; receiving new network packets directed to the first virtual machine instance; and routing the new network packets to the second virtual machine instance; converting an active lease to the block storage device for the first virtual machine instance to an inactive lease; and converting the standby lease to an active lease. 2. The computer-implemented method of claim 1 , wherein receiving the network packets directed to the first virtual machine instance to the incoming packet queue is performed by the first hypervisor. 3. The computer-implemented method of claim 1 , wherein receiving the network packets directed to the first virtual machine instance to the incoming packet queue is performed by a network translation service. 4. The computer-implemented method of claim 1 , wherein memory and state of the first virtual machine instance is copied to the second virtual machine instance by the first hypervisor in parallel with pausing execution of the first virtual machine instance and in parallel with routing the network packets directed to the first virtual machine instance to the incoming packet queue. 5. A system, comprising at least one computing device configured to implement one or more services, wherein a first service of the one or more services is configured to: in a pause stage, pause a first virtual machine instance; in a route stage, route, while the first virtual machine instance is in the pause stage, network packets directed to the first virtual machine instance to an incoming packet queue; send a message indicating completion of the route stage; receive a message indicating completion of a standby lease stage associated with validating a standby lease for a block storage device; in a packet forward stage, transfer the network packets from the incoming packet queue to a second virtual machine instance and route, by at least bypassing the incoming packet queue, new incoming network packets directed to the first virtual machine instance to the second virtual machine instance, the second virtual machine instance configured based at least in part on the first virtual machine instance, the second virtual machine instance located at a target location associated with a migration of the first virtual machine instance; and send a message indicating completion of the packet forward stage. 6. The system of claim 5 , wherein the first service is a hypervisor. 7. The system of claim 5 , wherein a second service of the one or more services is configured to: receive the message from the first service indicating the completion of the route stage; validate the standby lease by associating the second virtual machine instance with the block storage device, the standby lease specifying a first policy of access to the block storage device by the second virtual machine instance; and send the message indicating the completion of the standby lease stage. 8. The system of claim 7 , wherein the second service is configured to: receive the message indicating completion of the packet forward stage; convert an active lease associating the first virtual machine instance with the block storage device to an inactive lease; and convert the standby lease associated with the second virtual machine instance to an active lease, the active lease associated with the second virtual machine instance specifying a second policy of access to the block storage device by the second virtual machine instance. 9. The system of claim 7 , wherein the second service is a hypervisor. 10. The system of claim 5 , wherein the first service is configured to route the new incoming network packets addressed to the first virtual machine instance to the second virtual machine instance after memory is copied from the first virtual machine instance to the second virtual machine instance. 11. The system of claim 5 , wherein the incoming packet queue is provided by a privileged instance associated with the first service. 12. The system of claim 5 , wherein the first service is further configured to, before pausing the first virtual machine instance, at least: perform a first iteration of a memory and state copy, the first iteration copying all the memory and state of the first virtual machine instance; and perform one or more additional iterations of the memory and state copy, the one or more additional iterations copying the memory and state that have changed after previous iterations, until it is determined that a number of changes still remaining is below a threshold value. 13. One or more non-transitory computer-readable storage media having stored thereon executable instructions that, as a result of being executed by one or more processors of a computer system, cause the computer system to at least: specify a set of flip stages, the set of flip stages including a pause stage associated with pausing a first virtual machine instance, a route stage associated with routing packets to an incoming packet queue, a standby lease stage associated with validating a standby lease for a block storage device, a packet forward stage associated with forwarding packets from the incoming packet queue to a second virtual machine instance and routing new packets, by at least bypassing the incoming packet queue, directed to the first virtual machine instance to the second virtual machine instance, and an active lease stage associated with activating the second virtual machine instance such that: the pause stage is executed after a critical phase of a migration of the first virtual machine instance has started; the route stage is executed after the pause stage completes; the standby lease stage is executed after the route stage completes; the packet forward stage is executed after the standby lease stage completes; and the active lease stage is executed after the packet forward stage completes; and instantiate a first hypervisor configured to cause the computer system to at least: validate the standby lease by associating the second virtual machine instance with the block storage device; convert an active lease by associating the first virtual machine instance with the block storage device to an inactive lease; and convert the standby lease to an active lease. 14. The one or more non-transitory computer-readable storage media of

Assignees

Inventors

Classifications

  • Network integration; Enabling network access in virtual machine instances · CPC title

  • Hypervisor-specific management and integration aspects · CPC title

  • Distribution of virtual machine instances; Migration and load balancing · CPC title

  • Queue scheduling · CPC title

  • of the same type · 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 US10404579B1 cover?
Techniques for managing a critical phase of a virtual machine migration are described herein. During the critical phase, which must be kept as short as possible, a virtual machine instance is paused, network packets are rerouted to a temporary packet queue, and messages associated with managing synchronization of block storage devices are dispatched to an entity configured to manage those conne…
Who is the assignee on this patent?
Amazon Tech Inc
What technology area does this patent fall under?
Primary CPC classification H04L45/16. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Sep 03 2019 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 3 related publications on this page (citations in our corpus or others sharing the same primary CPC).