Preserving stateful network connections between virtual machines

US10250696B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10250696-B2
Application numberUS-201615219390-A
CountryUS
Kind codeB2
Filing dateJul 26, 2016
Priority dateJul 26, 2016
Publication dateApr 2, 2019
Grant dateApr 2, 2019

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

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.

First claim

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

Assignees

Inventors

Classifications

  • H04L67/145Primary

    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

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10250696B2 cover?
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…
Who is the assignee on this patent?
IBM
What technology area does this patent fall under?
Primary CPC classification H04L67/145. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Apr 02 2019 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 4 related publications on this page (citations in our corpus or others sharing the same primary CPC).