Seamless takeover of a stateful protocol session in a virtual machine environment
US-9600315-B2 · Mar 21, 2017 · US
US10250696B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10250696-B2 |
| Application number | US-201615219390-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jul 26, 2016 |
| Priority date | Jul 26, 2016 |
| Publication date | Apr 2, 2019 |
| Grant date | Apr 2, 2019 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
Stateful network connections between a first virtual machine and at least a second virtual machine are preserved during a suspend and resume cycle. The virtual machines are interconnected by a network. A control instance is provided to manage a routing of network traffic of the virtual machines to the network. In case of a suspend operation, the control instance tracks network addresses of each virtual machine, whereas in case of a resume operation, the control instance sets up a router for each virtual machine and requests new network addresses for each router. The control instance configures a network address translation on the router assigned to each virtual machine to map the new network addresses to the network addresses used before suspending the virtual machines.
Opening claim text (preview).
What is claimed is: 1. A computer-implemented method of preserving stateful network connections between virtual machines during a suspend and resume cycle, the virtual machines being interconnected by a network, the computer-implemented method comprising: tracking, by a control instance, based on a suspend operation of a first virtual machine and a second virtual machine, network addresses of the first virtual machine and the second virtual machine; setting up by the control instance, based on a resume operation, a first router for the first virtual machine and a second router for the second virtual machine, and requesting new network addresses for the first router and the second router; configuring by the control instance network address translation on the first router and the second router assigned to the first virtual machine and the second virtual machine to map the new network addresses to the network addresses used before suspending the first virtual machine and the second virtual machine, wherein use of the network addresses used before suspending map to the new network addresses subsequent to suspending, such that the network addresses used with the first virtual machine and the second virtual machine before suspending are reused by the first virtual machine and the second virtual machine after resuming the first virtual machine and the second virtual machine; and managing a routing of network traffic of the first virtual machine and the second virtual machine to the network. 2. The computer-implemented method according to claim 1 , further comprising: setting up the first router on a first hypervisor and the second router on a second hypervisor; and based on resuming the first virtual machine and the second virtual machine: requesting by the first router and the second router the new network addresses from an external dynamic network address management server being connected to the network; mapping by the first router and the second router the network addresses previously used to the new network addresses; and setting up an internal dynamic network address management server to assign the network addresses to media access control (MAC) addresses of network interfaces of the first virtual machine and the second virtual machine and answering requests to the external dynamic network address management server. 3. The computer-implemented method according to claim 2 , wherein the external dynamic network address management server is configured as a dynamic host configuration protocol server. 4. The computer-implemented method according to claim 2 , wherein at least one of the first virtual machine or the second virtual machine is implemented as a container, and at least one of the first hypervisor or the second hypervisor is implemented as a container host or an operating system being able to start a container. 5. The computer-implemented method according to claim 1 , wherein the control instance maintains a virtual machine state table comprising at least one of the following selected from a group consisting of: a list of suspended virtual machines; a list of network addresses being officially assigned; and a list of media access control addresses for each network interface assigned to a suspended virtual machine. 6. The computer-implemented method according to claim 1 , further comprising using a network configure daemon to set up the first router and the second router and route on the first hypervisor and the second hypervisor, and to configure an internal dynamic network address management server. 7. The computer-implemented method according to claim 6 , wherein the network configure daemon further performs: gathering the network addresses, the new network addresses, and states of running and suspended virtual machines; and setting up network interfaces for the first virtual machine and the second virtual machine on the first hypervisor and the second hypervisor. 8. The computer-implemented method according to claim 7 , wherein the network configure daemon, based on suspending the first virtual machine and the second virtual machine, further performs: deconfiguring network address translation rules; releasing the network addresses; deconfiguring the first router and the second router; and deconfiguring mapping of media access control addresses to the network addresses in the internal dynamic network address management server. 9. The computer-implemented method according to claim 7 , wherein the network configure daemon, based on resuming the first virtual machine and the second virtual machine, further performs: configuring the first router and the second router; requesting the network addresses from an external dynamic network address management server; configuring mapping of media access control addresses to the network addresses in the internal dynamic network address management server; and setting up network address translation rules for translating the network addresses to the new network addresses. 10. The computer-implemented method according to claim 1 , wherein during the suspend and resume cycle, clock states of the first virtual machine and the second virtual machine are preserved. 11. The computer-implemented method according to claim 1 , further comprising using a sniffer to collect the network addresses and the new network addresses associated with media access control addresses of the first virtual machine and the second virtual machine from data packages transferred via the network. 12. The computer-implemented method according to claim 11 , wherein the sniffer is implemented in a same subnet of the network as the first virtual machine and the second virtual machine. 13. The computer-implemented method according to claim 1 , further comprising using a table comprising the network addresses, the new network addresses, and states of running and suspended virtual machines for tracking the network addresses and the new network addresses. 14. The computer-implemented method according to claim 1 , wherein the network is a physical network or a virtual network. 15. A computer program product for preserving stateful network connections between virtual machines during a suspend and resume cycle, the virtual machines being interconnected by a network, the computer program product comprising: a computer readable storage medium readable by a processing circuit and storing instructions for execution by the processing circuit for performing a method comprising: tracking, by a control instance, based on a suspend operation of a first virtual machine and a second virtual machine, network addresses of the first virtual machine and the second virtual machine; setting up by the control instance, based on a resume operation, a first router for the first virtual machine and a second router for the second virtual machine, and requesting new network addresses for the first router and the second router; configuring by the control instance network address translation on the first router and the second router assigned to the first virtual machine and the second virtual machine to map the new network addresses to the network addresses used before suspending the first virtual machine and the second virtual machine, wherein use of the network addresses used before suspending map to the new network addresses subsequent to suspending, such that the network addresses used with the first virtual machine and the second virtual machine before suspending are reused by the first virtual machine and the second virtual machine after resuming the first virtual machine and the second virtual machine; and man
avoiding end of session, e.g. keep-alive, heartbeats, resumption message or wake-up for inactive or interrupted session · CPC title
Layer 2 routing, e.g. in Ethernet based MAN's · CPC title
Translation architectures other than single NAT servers · CPC title
between local and global IP addresses · CPC title
Electricity · mapped topic
Related publications grouped by family.
Answers are generated from the same data shown on this page.