IP Library › Granted Patent US 12,380,003
Granted Patent B2
US 12,380,003 · App. 17/737,305 · Granted Aug 5, 2025

User triggered virtual machine cloning for recovery/availability/scaling

Inventors: Diwakar Gupta (Seattle, WA); Sirui Sun (Edmonds, WA)
Assignee: Google LLC
G06F11/1484G06F9/45558G06F11/203G06F2009/4557G06F2009/45583G06F2009/45595
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,380,003
App. No.
17/737,305
Granted
Aug 5, 2025
Kind
B2
Abstract

Generally disclosed herein is an approach for cloning virtual machines during live migration where one or more new copies of a virtual machine can be created while the original virtual machine continues to run. The new copies can preserve a processing state, memory state, and local storage state. The new copies can also be distinguished from each other and the original by including different attributes for each copy.

Claims (35)

1. A method for creating one or more copies of a virtual machine during live migration, comprising:

monitoring, with one or more processors, a data traffic usage, an amount of memory in a memory cache, and a rate of memory copy of the virtual machine;

determining, with the one or more processors, based on the monitored data traffic usage, a time period when the data traffic usage is below one or more data traffic usage thresholds to enable copying of the virtual machine during live migration;

determining, with the one or more processors, based on the monitored amount of memory in the memory cache and the monitored rate of memory copy, an impact of the live migration on the copying of the virtual machine, wherein determining the impact of the live migration comprises determining at least one of a length of brown out or black out time and determining the time period further comprises determining a time period when the length of the brown out or black out time is below an upper bound;

determining, with the one or more processors, based on the monitored data traffic usage and the determined impact of the live migration, an amount of copies that can be created of the virtual machine; and

initiating or scheduling, with the one or more processors, creation of the determined amount of copies of a running instance of the virtual machine at the determined time period.

2. The method of claim 1 , further comprising receiving, with the one or more processors, a request to create one or more copies of the virtual machine.

3. The method of claim 1 , wherein the one or more data traffic usage thresholds comprise at least one of amount of packets per second being processed, amount of current open network connections, or an input/output time to storage.

4. The method of claim 1 , further comprising determining, with the one or more processors, the monitored data traffic usage is above the one or more data traffic usage thresholds during creation of the determined amount of copies of the virtual machine.

5. The method of claim 4 , further comprising pausing, with the one or more processors, the creation of the determined amount of copies of the virtual machine until the monitored data traffic usage is below the one or more data traffic usage thresholds.

6. The method of claim 1 , further comprising determining, with the one or more processors, that the virtual machine and one or more of the copies of the virtual machine are to be active.

7. The method of claim 6 , wherein, in creating the determined amount of copies of the virtual machine, each of the copies of the virtual machine are provided with one or more attributes to distinguish each copy of the virtual machine with other copies of the virtual machine.

8. A system comprising:

one or more processors; and

one or more storage devices coupled to the one or more processors and storing instructions that, when executed by the one or more processors, causes the one or more processors to perform operations for creating one or more copies of a virtual machine during live migration, the operations comprising:

monitoring a data traffic usage, an amount of memory in a memory cache, and a rate of memory copy of the virtual machine;

determining, based on the monitored data traffic usage, a time period when the data traffic usage is below one or more data traffic usage thresholds to enable copying of the virtual machine during live migration;

determining, based on the monitored amount of memory in the memory cache and the monitored rate of memory copy, an impact of the live migration on the copying of the virtual machine, wherein determining the impact of the live migration comprises determining at least one of a length of brown out or black out time and determining the time period further comprises determining a time period when the length of the brown out or black out time is below an upper bound;

determining, based on the monitored data traffic usage and the determined impact of the live migration, an amount of copies that can be created of the virtual machine; and

initiating or scheduling creation of the determined amount of copies of a running instance of the virtual machine at the determined time period.

9. The system of claim 8 , wherein the operations further comprise receiving a request to create one or more copies of the virtual machine.

10. The system of claim 8 , wherein the one or more data traffic usage thresholds comprise at least one of amount of packets per second being processed, amount of current open network connection, or an input/output time to storage.

11. The system of claim 8 , wherein the operations further comprise determining the monitored data traffic usage is above the one or more data traffic usage thresholds during creation of the determined amount of copies of the virtual machine.

12. The system of claim 11 , wherein the operations further comprise pausing the creation of the determined amount of copies of the virtual machine until the monitored data traffic usage is below the one or more data traffic usage thresholds.

13. The system of claim 8 , wherein the operations further comprise determining that the virtual machine and one or more of the copies of the virtual machine are to be active.

14. The system of claim 13 , wherein, in creating the determined amount of copies of the virtual machine, each of the copies of the virtual machine are provided with one or more attributes to distinguish each copy of the virtual machine with other copies of the virtual machine.

15. A non-transitory computer-readable medium for storing instructions that, when executed by one or more processors, causes the one or more processors to perform operations for creating one or more copies of a virtual machine during live migration, the operations comprising:

monitoring a data traffic usage, an amount of memory in a memory cache, and a rate of memory copy of the virtual machine;

determining, based on the monitored data traffic usage, a time period when the data traffic usage is below one or more data traffic usage thresholds to enable copying of the virtual machine during live migration;

determining, based on the monitored amount of memory in the memory cache and the monitored rate of memory copy, an impact of the live migration on the copying of the virtual machine, wherein determining the impact of the live migration comprises determining at least one of a length of brown out or black out time and determining the time period further comprises determining a time period when the length of the brown out or black out time is below an upper bound;

determining, based on the monitored data traffic usage and the determined impact of the live migration, an amount of copies that can be created of the virtual machine; and

initiating or scheduling creation of the determined amount of copies of a running instance of the virtual machine at the determined time period.

16. The non-transitory computer-readable medium of claim 15 , wherein:

the operations further comprise determining that the virtual machine and one or more of the copies of the virtual machine are to be active; and

in creating the determined amount of copies of the virtual machine, each of the copies of the virtual machine are provided with one or more attributes to distinguish each copy of the virtual machine with other copies of the virtual machine.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 5, 2022
From: GUPTA, DIWAKAR; SUN, SIRUI
To: GOOGLE LLC
Reel/Frame 059829/0751 →
Continuity (1)
Related Publication 20230359533A1 · Nov 9, 2023
References Cited (24)
US 9146769B1 · Shankar · 2015 [cited by examiner]
US 9270785B2 · Graham · 2016 [cited by examiner]
US 9286104B1 · Ghosh · 2016 [cited by examiner]
US 9672054B1 · Gupta · 2017 [cited by examiner]
US 10264064B1 · Dantkale · 2019 [cited by examiner]
US 10884790B1 · Saidi et al. · 2021 [cited by applicant]
US 11182189B2 · Zheng · 2021 [cited by examiner]
US 20030212926A1 · Bhat · 2003 [cited by examiner]
US 20120017031A1 · Mashtizadeh · 2012 [cited by examiner]
US 20120221710A1 · Tsirkin · 2012 [cited by examiner]
US 20140298338A1 · Doi · 2014 [cited by examiner]
US 20150261581A1 · Wang · 2015 [cited by examiner]
US 20150296027A1 · Bak · 2015 [cited by examiner]
US 20180365044A1 · Movsisyan · 2018 [cited by examiner]
US 20210019195A1 · Aronov · 2021 [cited by examiner]
Dinuni Fernando, Live Migration Ate My VM: Recovering a Virtual Machine after Failure of Post-Copy Live Migration. (Year: 2019). [cited by examiner]
Michael R. Hines, Post-Copy Live Migration of Virtual Machines. (Year: 2009). [cited by examiner]
Nagamani H Shahapurea, Distance and Traffic Based Virtual Machine Migration for Scalability in Cloud Computing. (Year: 2018). [cited by examiner]
Cui et al. VMScatter: Migrate Virtual Machines to Many Hosts. Virtual Execution Environments, ACM, 2 Penn Plaza, Suite 701 New York NY 10121-0701 USA, Mar. 16, 2013 (Mar. 16, 2013), pp. 63-72. [cited by applicant]
Deshpande et al. Traffic-Sensitive Live Migration of Virtual Machines. 2015 15th IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing, IEEE, May 4, 2015 (May 4, 2015), pp. 51-60. [cited by applicant]
International Search Report and Written Opinion for International Application No. PCT/US2023/014431 dated Jun. 2, 2023. 15 pages. [cited by applicant]
Lagar-Cavilla et al. SnowFlock: Virtual Machine Cloning as a First-Class Cloud Primitive. ACM Transactions on Computer Systems (TOCS), vol. 29, No. 1, Feb. 1, 2011 (Feb. 1, 2011), pp. 1-45. [cited by applicant]
Le. A Survey of Live Virtual Machine Migration Techniques. Computer Science Review, Elsevier, Amsterdam, NL, vol. 38, Sep. 11, 2020 (Sep. 11, 2020), pp. 1-18. [cited by applicant]
Stage et al. Network-Aware Migration Control and Scheduling of Differentiated Virtual Machine Workloads. Software Engineering Challenges of Cloud Computing, 2009. CLOUD '09. ICSE Workshop on, IEEE, Piscataway, NJ, USA, … [cited by applicant]