IP Library › Granted Patent US 11,537,419
Granted Patent B2
US 11,537,419 · App. 15/395,884 · Granted Dec 27, 2022

Virtual machine migration while maintaining live network links

Inventors: Stephen T. Palermo (Chandler, AZ); Krishnamurthy Jambur Sathyanarayana (Shannon, IE); Sean Harte (Limerick, IE); Thomas Long (Shannon, IE); Eliezer Tamir (Beit Shemesh, IL); Hari K. Tadepalli (Gilbert, AZ)
Assignee: Intel Corporation
G06F9/45558H04L67/142G06F2009/4557G06F2009/45575G06F2009/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,537,419
App. No.
15/395,884
Filed
Dec 30, 2016
Granted
Dec 27, 2022
Kind
B2
Examiner
LU, KEVIN X
Art Unit
2199
USPC
718/1
Abstract

Disclosed is a source host including a processor. The processor operates a virtual machine (VM) to communicate network traffic over a communication link. The processor also initiates migration of the VM to a destination host. The processor also suspends the VM during migration of the VM to the destination host. The source host also includes a live migration circuit coupled to the processor. The live migration circuit manages a session associated with the communication link while the VM is suspended during migration. The live migration circuit buffers changes to a session state and transfers the buffered session state changes to the destination host for replay after the VM is reactivated on the destination host. The live migration circuit keeps the sessions alive during migration to alleviate connection losses.

Claims (85)

1. An apparatus comprising:

a live migration circuit at a source host; and

a processor to support operation of a virtual machine (VM) at the source host that maintains a session to communicate network traffic over a communication link during live migration, including:

responsive to an initiation of a migration of the VM to a destination host during the session:

convert the VM's memory pages, including a session state, into packets,

forward the packets to the destination host,

suspend operation of the VM, and

offload management of the session to the live migration circuit and offload packet processing associated with the session from a central processing unit to the live migration circuit,

wherein the offloaded management of the session includes the live migration circuit to perform a first plurality of session related functions and a second plurality of session related functions;

the first plurality of session related functions to, while operation of the VM is suspended, at least:

for the communication link associated with the VM to be migrated, determine the session used for packet processing;

buffer changes to the session state of the determined session;

maintain at least a portion of session-related signaling for the determined session, wherein maintaining session related signaling includes dropping network traffic packets over the communication link not associated with keeping the communication link active without terminating the determined session; and

the second plurality of session related functions to, while operation of the VM is resumed, at least:

transfer the session state changes to a destination live migration circuit at the destination host, wherein the VM is restored at the destination host based on the VM memory pages and the buffered changes to the session state;

obtain an indication that the restore of the VM is complete at the destination host; and

switch the network traffic from the source host to the destination live migration circuit at the destination host.

2. The apparatus of claim 1 , wherein the session state is a first session state, the first plurality of session related functions includes the live migration circuit to forward a second session state to the destination live migration circuit, the second session state occurring prior to the VM being suspended.

3. The apparatus of claim 2 , further including the live migration circuit to transfer the first session state to the destination live migration circuit at the destination host for replay after operation of the VM is resumed on the destination host.

4. The apparatus of claim 1 , the first plurality of session related functions includes the live migration circuit to manage security encryption of session data for the communication link.

5. The apparatus of claim 2 , further including the live migration circuit to implement direct memory access (DMA) to communicate buffered session state information to the destination host when the destination host is also a source host.

6. The apparatus of claim 1 , the live migration circuit includes a field programmable gate array (FPGA).

7. The apparatus of claim 1 , the live migration circuit includes an Application Specific Integrated Circuit (ASIC).

8. A method comprising:

employing a virtual machine (VM), on a source host, to maintain a session to communicate network traffic over a communication link during live migration, including:

responsive to an initiation of a migration of the VM to a destination host during the session:

converting the VM's memory pages, including a session state, into packets,

forwarding the packets to the destination host,

suspending operation of the VM, and

offloading management of the session to a live migration circuit, and offloading packet processing associated with the session from a central processing unit to the live migration circuit; and

performing, by the live migration circuit, a first plurality of session related functions and a second plurality of session related functions;

the first plurality of session related function include, while operation of the VM is suspended at least:

for the communication link associated with the VM to be migrated, determining the session used for packet processing;

buffering changes to the session state of the determined session;

maintaining at least a portion of session-related signaling for the determined session; and

dropping network traffic packets over the communication link not associated with keeping the communication link active without terminating the determined session; and

the second plurality of session related functions include, while operation of the VM is resumed, at least:

transferring the session state changes to a destination live migration circuit at the destination host, wherein the VM is restored at the destination host based on the VM memory pages and the buffered changes to the session state;

obtaining an indication that the restoring of the VM is complete at the destination host; and

switching the network traffic from the source host to the destination live migration circuit at the destination host.

9. The method of claim 8 , wherein the session state is a first session state, performing the first plurality of session related functions includes, by the live migration circuit, forwarding a second session state to the destination live migration circuit, the second session state occurring prior to the VM being suspended.

10. The method of claim 9 , performing the second plurality of session related functions further includes transferring the first session state to the destination host for replay.

11. The method of claim 10 , wherein suspending the VM includes forwarding, to the destination host, the second session state for the VM at the source host, the first session state occurring after the second session state has been forwarded to the destination host.

12. The method of claim 11 , further includes:

receiving, from the destination host, an indication that operation of the VM is resumed at the destination host; and

employing the indication to switch the network traffic to the destination host and initiate transfer of the first session state to the destination host.

13. The method of claim 8 , the first plurality of session related functions includes the live migration circuit to manage security encryption of session data for the communication link.

14. The method of claim 8 , the live migration circuit includes a field programmable gate array (FPGA).

15. An apparatus comprising:

a live migration circuit at a source host couple to a processor, wherein the processor supports operation of a virtual machine (VM) at the source host that maintains a session to communicate network traffic over a communication link during live migration, including: responsive to responsive to an initiation of a migration of the VM to a destination host during the session: convert the VM's memory pages, including a session state, into packets, forward the packets to the destination host, suspend operation of the VM, and offload management of the session to the live migration circuit, and offload packet processing associated with the session from a central processing unit to the live migration circuit, the offloaded management of the session includes the live migration circuit to perform a first plurality of session related functions and a second plurality of session related functions, the live migration circuit performing:

the first plurality of session related functions include the live migration circuit to, while operation of the VM is suspended, at least:

for the communication link associated with the VM to be migrated, determine the session used for packet processing;

buffer changes to the session state of the determined session;

maintain at least a portion of session-related signaling for the determined session, wherein maintaining session related signaling includes dropping network traffic packets over the communication link not associated with keeping the communication link active without terminating the determined session;

perform packet processing for the session from a central processing unit to the live migration circuit; and

the second plurality of session related functions to include the live migration circuit to, while operation of the VM is resumed:

transfer the session state changes to a destination live migration circuit at the destination host, wherein the VM is restored at the destination host based on the VM memory pages and the buffered changes to the session state;

obtain an indication that the restore of the VM is complete at the destination host; and

switch the network traffic from the source host to the destination live migration circuit at the destination host.

16. The apparatus of claim 15 , further including the live migration circuit to transfer the session state data to the destination live migration circuit at the destination host for replay after operation of the VM is resumed on the destination host.

17. The apparatus of claim 16 , further including the live migration circuit to implement direct memory access (DMA) to communicate the session state data to the destination host when the destination host is also a source host.

18. The apparatus of claim 15 , the first session related functions to further include the live migration circuit to manage security encryption of session data for the communication link.

19. The apparatus of claim 15 , the live migration circuit includes a field programmable gate array (FPGA).

20. The apparatus of claim 15 , the live migration circuit includes an Application Specific Integrated Circuit (ASIC).

21. At least one non-transitory computer readable medium comprising instructions that, when executed, cause processing circuitry to:

support operation of a virtual machine (VM) at a source host that maintains a session to communicate network traffic over a communication link during live migration, including:

responsive to an initiation of a migration of the VM to a destination host during the session,:

convert the VM's memory pages, including a session state, into packets,

forward the packets to the destination host,

suspend operation of the VM, and

offload management of the session to a live migration circuit at the source host and offload packet processing associated with the session from a central processing unit to the live migration circuit,

wherein the offloaded management of the session includes the live migration circuit to perform a first plurality of session related functions and a second plurality of session related functions;

the first plurality of session related functions to, while operation of the VM is suspended, at least:

for the communication link associated with the VM to be migrated, determine the session used for packet processing;

buffer changes to the session state of the determined session;

maintain at least a portion of session-related signaling for the determined session, wherein maintaining session related signaling includes dropping network traffic packets over the communication link not associated with keeping the communication link active without terminating the determined session; and

the second plurality of session related functions to, while operation of the VM is resumed, at least:

transfer the session state changes to a destination live migration circuit at the destination host, wherein the VM is restored at the destination host based on the VM memory pages and the buffered changes to the session state;

obtain an indication that the restore of the VM is complete at the destination host; and

switch the network traffic from the source host to the destination live migration circuit at the destination host.

22. The at least one non-transitory computer readable medium of claim 21 , wherein the instructions, when executed, cause the processing circuitry to transfer the session state data to the destination live migration circuit at the destination host for replay after operation of the VM is resumed on the destination host.

23. The at least one non-transitory computer readable medium of claim 21 , wherein the instructions, when executed, cause the processing circuitry to implement direct memory access (DMA) to communicate the session state data to the destination host when the destination host is also a source host.

24. The at least one non-transitory computer readable medium of claim 21 , wherein the instructions, when executed, cause the processing circuitry to manage security encryption of session data for the communication link.

25. The at least one non-transitory computer readable medium of claim 21 , wherein the live migration circuit includes a field programmable gate array (FPGA).

26. The at least one non-transitory computer readable medium of claim 21 , wherein the live migration circuit includes an Application Specific Integrated Circuit (ASIC).

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 30, 2017
From: PALERMO, STEPHEN T.; SATHYANARAYANA, KRISHNAMURTHY JAMBUR; HARTE, SEAN; LONG, THOMAS; TAMIR, ELIEZER; TADEPALLI, HARI K.
To: INTEL CORPORATION
Reel/Frame 041564/0715 →
Continuity (1)
Related Publication 20180189087A1 · Jul 5, 2018