IP Library › Granted Patent US 12,585,485
Granted Patent B2
US 12,585,485 · App. 17/895,687 · Granted Mar 24, 2026

Warm migrations for virtual machines in a cloud computing environment

Inventor: Abraham Massry (Cherry Hill, NJ)
Assignee: Akamai Technologies, Inc.
G06F9/45558G06F2009/45562G06F2009/4557
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,585,485
App. No.
17/895,687
Granted
Mar 24, 2026
Kind
B2
Abstract

A method of “warm” migrating a virtual machine (VM) on a source host to a target virtual machine on a destination host. The method begins by mirroring contents of disk onto a target disk associated with the target VM. Transfer of the RAM contents is then initiated. Unlike live migration strategies where data transfer occurs at a high rate, the RAM contents are transferred at a low transfer rate. While the contents of the RAM are being transferred, a shutdown of the virtual machine is initiated. This operation flushes to disk all of the remaining RAM contents. Before the shutdown completes, those remaining contents, now on disk, are mirrored to the target disk. Once that mirroring is finished, the shutdown of the virtual machine is completed, and this shutdown is mirrored at the destination host. To complete the warm migration, the target virtual machine is then booted from the target disk.

Claims (37)

1 . A method of migrating a virtual machine on a source host to a target virtual machine on a destination host, the virtual machine having disk and RAM contents, wherein the source host runs an emulator instance having a cutover point, comprising ordered steps:

mirroring contents of the disk onto a target disk associated with the target virtual machine;

initiating transfer of the contents of the RAM at a transfer rate that is as low as possible as compared to an available transfer rate so as to prevent the emulator instance running on the source host from reaching the cutover point;

while the contents of the RAM are being transferred at the transfer rate and before the contents of the RAM are depleted, initiating a shutdown of the virtual machine, thereby flushing to disk remaining contents of the RAM;

mirroring the remaining contents of the RAM that have been flushed to disk to the target disk;

completing the shutdown of the virtual machine, wherein the migration of the virtual machine to the target virtual machine occurs in less than thirty (30) seconds; and

initiating a boot of the target virtual machine from the target disk.

2 . The method as described in claim 1 wherein the source host and the destination host are co-located in a physical data center and have different or incompatible hardware.

3 . The method as described in claim 1 wherein the transfer rate is one (1) byte per second.

4 . The method as described in claim 1 wherein the shutdown initiated at the virtual machine is mirrored on the destination host, thereby also shutting down the target virtual machine.

5 . The method as described in claim 1 further including identifying the destination host for migrating the virtual machine from a set of destination hosts in a data center.

6 . The method as described in claim 1 further including updating a host identifier associated with the virtual machine to reflect migration to the target virtual machine.

7 . An apparatus, comprising:

one or more hardware processors; and

computer memory holding computer program code executed by the one or more hardware processors to migrate a virtual machine on a source host to a target virtual machine on a destination host, the virtual machine having disk and RAM contents, wherein the source host runs an emulator instance having a cutover point, the computer program code configured to execute a sequence of ordered operations:

mirror contents of the disk onto a target disk associated with the target virtual machine;

initiate transfer of the contents of the RAM at a transfer rate that is as low as possible as compared to an available transfer rate so as to prevent the emulator instance running on the source host from reaching the cutover point;

while the contents of the RAM are being transferred at the transfer rate and before the contents of the RAM are depleted, initiate a shutdown of the virtual machine, thereby flushing to disk remaining contents of the RAM;

mirror the remaining contents of the RAM that have been flushed to disk to the target disk;

complete the shutdown of the virtual machine, wherein the migration of the virtual machine to the target virtual machine occurs in less than approximately thirty (30) seconds; and

initiate a boot of the target virtual machine from the target disk.

8 . The apparatus as described in claim 7 wherein the source host and the destination host are co-located in a physical data center and have different or incompatible hardware.

9 . The apparatus as described in claim 7 wherein the transfer rate is one (1) byte per second.

10 . The apparatus as described in claim 7 wherein the shutdown initiated at the virtual machine is mirrored on the destination host, thereby also shutting down the target virtual machine.

11 . The apparatus as described in claim 7 wherein the computer program code is further configured to identify the destination host for migrating the virtual machine from a set of destination hosts in a data center.

12 . The apparatus as described in claim 7 wherein the computer program code is further configured to update a host identifier associated with the virtual machine to reflect migration to the target virtual machine.

13 . A computer program product comprising a non-transitory computer-readable medium holding computer program code executable by a hardware processor to migrate a virtual machine on a source host to a target virtual machine on a destination host, the virtual machine having disk and RAM contents, wherein the source host runs an emulator instance having a cutover point, the computer program code configured to execute a sequence of ordered operations:

mirror contents of the disk onto a target disk associated with the target virtual machine;

initiate transfer of the contents of the RAM at a transfer rate that is as low as possible as compared to an available transfer rate so as to prevent the emulator instance running on the source host from reaching the cutover point;

while the contents of the RAM are being transferred at the transfer rate and before the contents of the RAM are depleted, initiate a shutdown of the virtual machine, thereby flushing to disk remaining contents of the RAM;

mirror the remaining contents of the RAM that have been flushed to disk to the target disk;

complete the shutdown of the virtual machine, wherein the migration of the virtual machine to the target virtual machine occurs in less than thirty (30) seconds; and

initiate a boot of the target virtual machine from the target disk.

14 . The computer program product as described in claim 13 wherein the source host and the destination host are co-located in a physical data center and have different or incompatible hardware.

15 . The computer program product as described in claim 13 wherein the transfer rate is one (1) byte per second.

16 . The computer program product as described in claim 13 wherein the computer program code is further configured to identify the destination host for migrating the virtual machine from a set of destination hosts in a data center.

17 . The computer program code as described in claim 13 wherein the computer program code is further configured to update a host identifier associated with the virtual machine to reflect migration to the target virtual machine.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 30, 2022
From: MASSRY, ABRAHAM
To: AKAMAI TECHNOLOGIES, INC.
Reel/Frame 061263/0889 →
Continuity (1)
Related Publication 20240069946A1 · Feb 29, 2024
References Cited (23)
US 6854115B1 · Traversat et al. · 2005 [cited by applicant]
US 9110702B2 · Reuther et al. · 2015 [cited by applicant]
US 9197489B1 · Vincent · 2015 [cited by applicant]
US 9329886B2 · Vincent · 2016 [cited by applicant]
US 9626206B2 · Bennett et al. · 2017 [cited by applicant]
US 10552200B2 · Franciosi · 2020 [cited by examiner]
US 10884790B1 · Saidi et al. · 2021 [cited by applicant]
US 20110208908A1 · Chou et al. · 2011 [cited by applicant]
US 20130014103A1 · Reuther · 2013 [cited by examiner]
US 20140181397A1 · Bonzini · 2014 [cited by applicant]
US 20150143372A1 · Bercovici et al. · 2015 [cited by applicant]
US 20160299773A1 · Dong et al. · 2016 [cited by applicant]
US 20180074840A1 · Chai et al. · 2018 [cited by applicant]
US 20190294462A1 · Franciosi et al. · 2019 [cited by applicant]
US 20200034190A1 · Tarasuk-Levin et al. · 2020 [cited by applicant]
US 20220214905A1 · Balakumaran · 2022 [cited by examiner]
CN 105138394A · 2015 [cited by examiner]
CN 108121592A · 2018 [cited by examiner]
CN 114003335A · 2022 [cited by examiner]
JP 6421470B2 · 2018 [cited by examiner]
“Live migrations,” DigitalOcean, https://docs.digitalocean.com/products/droplets/details/live-migration/, Mar. 28, 2019. [cited by applicant]
Massry, “Live Migrations at Linode,” Linode, https://www.linode.com/blog/linode/live-migrations-at-linode/, May 17, 2022. [cited by applicant]
PCT/US2023/031111, International Search Report and Written Opinion mailed on Dec. 20, 2023, 10 pages. [cited by applicant]