IP Library › Granted Patent US 11,416,277
Granted Patent B2
US 11,416,277 · App. 16/777,281 · Granted Aug 16, 2022

Situation-aware virtual machine migration

Inventors: Prerna Saxena (Bangalore, IN); Shaju Abraham (Bangalore, IN)
Assignee: Nutanix, Inc.
G06F9/45558G06F9/4856G06F2009/4557G06F2009/45575G06F2009/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 11,416,277
App. No.
16/777,281
Filed
Jan 30, 2020
Granted
Aug 16, 2022
Kind
B2
Art Unit
2196
USPC
718/1
Abstract

Methods, systems and computer readable medium for fast cluster upgrades. The disclosed techniques can be applied during an upgrade of a multi-node cluster when upgrading cluster software and/or hardware. Techniques applied include pausing a virtual machine (VM) at a first node, then communicating then-current states of the paused VM to a second node that executes a migrated clone of the paused VM. While the migrated cloned VM is running at the second node, changes to states of the cloned VM are tracked. When the upgrade of the first node has completed, then when migrating the cloned VM back to the first node, only the tracked state changes of the cloned VM are sent from the second node to the first node. The tracked state changes are used to update the states of the paused VM at the first node. The updated VM is resumed at the first node.

Claims (38)

1. A non-transitory computer readable medium having stored thereon a sequence of instructions which, when executed by a processor causes a set of acts comprising:

pausing a virtual machine at a first node;

transmitting a memory state of the paused virtual machine to a second node, wherein the memory state is used to create a clone of the virtual machine at the second node, the clone of the virtual machine executes at the second node, and changes to memory of the clone of the virtual machine are tracked at the second node during execution of the clone of the virtual machine;

receiving, at the first node and from the second node, the changes to the memory of the clone of the virtual machine; and

applying the changes to the memory a preserved memory state of the same paused virtual machine at the first node.

2. The non-transitory computer readable medium of claim 1 , wherein the set of acts further comprise resuming the paused virtual machine at the first node.

3. The non-transitory computer readable medium of claim 1 , wherein the set of acts further comprise tracking changes to a device state of the clone of the virtual machine as a device is changed by the execution of the clone of the virtual machine.

4. The non-transitory computer readable medium of claim 1 , wherein the set of acts further comprise communicating, from the second node to the first node, changes to a device state of the clone of the virtual machine after the device state was changed by the execution of the clone of the virtual machine.

5. The non-transitory computer readable medium of claim 1 , wherein the set of acts further comprise receiving an administrative action at the first node.

6. The non-transitory computer readable medium of claim 5 , wherein the set of acts further comprise classifying the administrative action as an action that can be performed without a reboot of the first node.

7. The non-transitory computer readable medium of claim 5 , wherein the set of acts further comprise processing at least a portion of the administrative action on the first node while the clone of the virtual machine is executing at the second node.

8. The non-transitory computer readable medium of claim 1 , wherein transmitting of the memory state of the paused virtual machine to the second node to configure a clone of the paused virtual machine is performed at least in part before the pausing of the virtual machine at the first node.

9. A method for situation-aware virtual machine migration, the method comprising:

pausing a virtual machine at a first node;

transmitting a memory state of the paused virtual machine to a second node, wherein the memory state is used to create a clone of the virtual machine at the second node, the clone of the virtual machine executes at the second node, and changes to memory of the clone of the virtual machine are tracked at the second node during execution of the clone of the virtual machine;

receiving, at the first node and from the second node, the changes to the memory of the clone of the virtual machine; and

applying the changes to the memory to a preserved memory state of the same paused virtual machine at the first node.

10. The method of claim 9 , further comprising resuming the paused virtual machine at the first node.

11. The method of claim 9 , further comprising tracking changes to a device state of the clone of the virtual machine as a device is changed by the execution of the clone of the virtual machine.

12. The method of claim 9 , further comprising communicating, from the second node to the first node, changes to a device state of the clone of the virtual machine after the device state was changed by the execution of the clone of the virtual machine.

13. The method of claim 9 , further comprising receiving an administrative action at the first node.

14. The method of claim 13 , further comprising classifying the administrative action as an action that can be performed without a reboot of the first node.

15. The method of claim 13 , further comprising processing at least a portion of the administrative action on the first node while the clone of the virtual machine is executing at the second node.

16. The method of claim 9 , wherein transmitting of the memory state of the paused virtual machine to the second node to configure a clone of the paused virtual machine is performed at least in part before the pausing of the virtual machine at the first node.

17. A system comprising:

a storage medium having stored thereon a sequence of instructions; and

a processor that executes the sequence of instructions to cause a set of acts comprising,

pausing a virtual machine at a first node;

transmitting a memory state of the paused virtual machine to a second node, wherein the memory state is used to create a clone of the virtual machine at the second node, the clone of the virtual machine executes at the second node, and changes to memory of the clone of the virtual machine are tracked at the second node during execution of the clone of the virtual machine;

receiving, at the first node and from the second node, the changes to the memory of the clone of the virtual machine; and

applying the changes to the memory to a preserved memory state of the same paused virtual machine at the first node.

18. The system of claim 17 , wherein the set of acts further comprise resuming the paused virtual machine at the first node.

19. The system of claim 17 , wherein the set of acts further comprise tracking changes to a device state of the clone of the virtual machine as a device is changed by the execution of the clone of the virtual machine.

20. The system of claim 17 , wherein the set of acts further comprise communicating, from the second node to the first node, changes to a device state of the clone of the virtual machine after the device state was changed by the execution of the clone of the virtual machine.

21. The system of claim 17 , wherein the set of acts further comprise receiving an administrative action at the first node.

22. The system of claim 21 , wherein the set of acts further comprise classifying the administrative action as an action that can be performed without a reboot of the first node.

23. The system of claim 21 , wherein the set of acts further comprise processing at least a portion of the administrative action on the first node while the clone of the virtual machine is executing at the second node.

24. The system of claim 17 , wherein transmitting of the memory state of the paused virtual machine to the second node to configure a clone of the paused virtual machine is performed at least in part before the pausing of the virtual machine at the first node.

Assignments (2)
SECURITY INTEREST Recorded Feb 13, 2025
From: NUTANIX, INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 070206/0463 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 30, 2020
From: SAXENA, PRERNA; ABRAHAM, SHAJU
To: NUTANIX, INC.
Reel/Frame 051675/0024 →
Priority Claims (1)
IN 201941047726 · Nov 22, 2019 · national
Continuity (1)
Related Publication 20210157624A1 · May 27, 2021