IP Library Granted Patent US 12705104
Granted Patent B2
US 12705104 · App. 17/713,507 · Granted Aug 11, 2026

Preserving and modifying virtual machine settings in replication-based virtual machine migration

Inventors: Or Igelka (Tel Mond, IL); Ayelet Wald (Petach Tikva, IL)
Assignee: Google LLC
G06F9/5044G06F9/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 12705104
App. No.
17/713,507
Granted
Aug 11, 2026
Kind
B2
Abstract

Aspects of the disclosure are directed to modifying and preserving virtual machine settings at a target computing environment as virtual machine settings change for a migrating virtual machine. The migration system balances matching the most up-to-date settings of the virtual machine in its source environment, with making changes as necessary to the settings of the virtual machine so that the settings are compatible with a target computing environment, updating the settings as needed. The migration system can continuously or periodically monitor changes in source virtual machine settings and/or in the source or target computing environments, and update target virtual machine settings up to the point at which a cut-over operation is performed and migration is complete.

Claims (60)

1 . A method comprising:

receiving, by one or more processors, target computing environment parameters for virtual machine settings for a virtual machine at a target computing environment;

receiving, by the one or more processors, source virtual machine settings for a virtual machine at a source computing environment; and

updating, by the one or more processors and using the source virtual machine settings, current target virtual machine settings with virtual machine settings compatible with the target computing environment and satisfying the target computing environment parameters, wherein updating includes converting computing resources associated with the source virtual machine settings in the source computing environment to a different resource allocation compatible with one or more of the target computing environment parameters, and

wherein the source computing environment and the target computing environment are different computing environments and hardware resources associated with a target virtual machine in the target computing environment is scaled to accommodate hardware resources associated with at least one source virtual machine in the source environment without exceeding hardware resources available in the target computing environment.

2 . The method of claim 1 , further comprising:

determining, by the one or more processors, that a current migration cycle of a migration of the virtual machine comprises performing a cut-over operation to complete the migration of the virtual machine to the target computing environment; and

sending, by the one or more processors, the current target virtual machine settings to the target computing environment to be applied to the virtual machine in the target computing environment.

3 . The method of claim 2 , further comprising generating a test clone configured with the current target virtual machine settings.

4 . The method of claim 2 , further comprising:

receiving, by the one or more processors, initial virtual machine settings for the virtual machine before or during one or more migration cycles of the migration; and

setting the initial virtual machine settings as the current target virtual machine settings.

5 . The method of claim 2 , wherein the method comprises repeatedly performing, by the one or more processors, the receiving of the source virtual machine settings and the updating of the current target virtual machine settings for each migration cycle of the one or more migration cycles.

6 . The method of claim 5 , wherein the method further comprises:

receiving, by the one or more processors, data characterizing hardware utilization of the virtual machine in the source computing environment; and

updating, by the one or more processors, the initial virtual machine settings or the current target virtual machine settings based on at least the target computing environment parameters, the hardware utilization of the virtual machine in the source computing environment, and hardware constraints imposed on virtual machines in the target computing environment.

7 . The method of claim 6 , wherein updating the initial virtual machine settings or the current target virtual machine settings further comprises:

receiving, by the one or more processors, data characterizing hardware utilization of a test clone of the virtual machine in the target computing environment, the test clone generated during the one of the one or more migration cycles; and

updating, by the one or more processors, the current target virtual machine settings further based on the received data characterizing hardware utilization of the test clone.

8 . The method of claim 1 , wherein the current target virtual machine settings comprise values characterizing a computing resource allocation for a migrating virtual machine.

9 . The method of claim 1 , further comprising:

determining, by the one or more processors, that the target computing environment parameters have been updated during the migration; and

updating, by the one or more processors, the current target virtual machine settings with virtual machine settings compatible with the target computing environment and satisfying the updated target computing environment parameters.

10 . The method of claim 1 , further comprising:

sending, by the one or more processors, user output indicating the current target virtual machine settings;

receiving, by the one or more processors, user input specifying updated target computing parameter values; and

updating, by the one or more processors, the current target virtual machine settings with virtual machine settings compatible with the target computing environment and satisfying the updated target computing environment parameters received in the user input.

11 . A system comprising one or more processors, the one or more processors configured to:

receive target computing environment parameters for virtual machine settings for a virtual machine at a target computing environment;

receive source virtual machine settings for a virtual machine at a source computing environment;

update current target virtual machine settings with virtual machine settings compatible with the target computing environment and satisfying the target computing environment parameters, wherein the one or more processors are configured to the update current target virtual machine settings by converting computing resources associated with the source virtual machine settings in the source computing environment to a different resource allocation compatible with one or more of the target computing environment parameters and wherein the source computing environment and the target computing environment are different computing environments;

determine that a current migration cycle comprises performing a cut-over operation to complete the migration of the virtual machine to the target computing environment; and

send the current target virtual machine settings to the target computing environment to be applied to the virtual machine in the target computing environment, and

wherein hardware resources associated with a target virtual machine in the target computing environment is scaled to accommodate hardware resources associated with at least one source virtual machine in the source environment without exceeding hardware resources available in the target computing environment.

12 . The system of claim 11 , wherein the one or more processors are further configured to:

determining that a current migration cycle of a migration of the virtual machine comprises performing a cut-over operation to complete the migration of the virtual machine to the target computing environment; and

in response to determining that the current migration cycle comprises performing the cut-over operation, sending the current target virtual machine settings to the target computing environment to be applied to the virtual machine in the target computing environment.

13 . The system of claim 12 , wherein the one or more processors are further configured to generate a test clone configured with the current target virtual machine settings.

14 . The system of claim 9 , wherein the one or more processors are further configured to:

receive initial virtual machine settings for the virtual machine before or during one or more migration cycles of the migration; and

setting the initial virtual machine settings as the current target virtual machine settings.

15 . The system of claim 14 , wherein the one or more processors are further configured to:

repeatedly perform the receiving of the source virtual machine settings and the updating of the current target virtual machine settings for each migration cycle of the one or more migration cycles.

16 . The system of claim 15 , wherein the one or more processors are further configured to:

receive data characterizing hardware utilization of the virtual machine in the source computing environment; and

update the initial virtual machine settings or the current target virtual machine settings based on at least the target computing environment parameters, the hardware utilization of the virtual machine in the source computing environment, and hardware constraints imposed on virtual machines in the target computing environment.

17 . The system of claim 16 , wherein in updating the initial virtual machine settings or the current target virtual machine settings, the one or more processors are further configured to:

receive data characterizing hardware utilization of a test clone of the virtual machine in the target computing environment, the test clone generated during the one of the one or more migration cycles; and

update the current target virtual machine settings further based on the received data characterizing hardware utilization of the test clone.

18 . The system of claim 11 , wherein the current target virtual machine settings comprise values characterizing hardware executing a migrating virtual machine.

19 . The system of claim 11 , wherein the one or more processors are further configured to:

determine that the target computing environment parameters have been updated during the migration; and

update the current target virtual machine settings with virtual machine settings compatible with the target computing environment and satisfying the updated target computing environment parameters.

20 . One or more non-transitory computer-readable storage media comprising instructions that, when executed by one or more processors, cause the one or more processors to perform operations comprising:

receiving target computing environment parameters for virtual machine settings for a virtual machine at a target computing environment;

receiving source virtual machine settings for the virtual machine at a source computing environment;

updating current target virtual machine settings with virtual machine settings compatible with the target computing environment and satisfying the target computing environment parameters, wherein updating includes converting computing resources associated with the source virtual machine settings in the source computing environment to a different resource allocation compatible with one or more of the target computing environment parameters and wherein the source computing environment and the target computing environment are different computing environments;

determining that a current migration cycle of a migration of the virtual machine comprises performing a cut-over operation to complete the migration of the virtual machine to the target computing environment; and

sending the current target virtual machine settings to the target computing environment to be applied to the virtual machine in the target computing environment, and

wherein hardware resources associated with a target virtual machine in the target computing environment is scaled to accommodate hardware resources associated with at least one source virtual machine in the source environment without exceeding hardware resources available in the target computing environment.