System and method to support port mapping for virtual machine based container

US11915025B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11915025-B2
Application numberUS-202016985859-A
CountryUS
Kind codeB2
Filing dateAug 5, 2020
Priority dateJul 10, 2020
Publication dateFeb 27, 2024
Grant dateFeb 27, 2024

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.

When containers run in a guest operating system of a virtual machine running on the host computer system, the containers communicate with each other via ports of each container and a network. The ports of each container stay constant, but the virtual machine in which they run may change its IP address on the network when it is power-cycled. To avoid losing connection to the ports of the containers, a record table that associates static identifiers, such as MAC addresses, of the virtual machine with the container ports is maintained. The static identifiers of the virtual machines do not change and provide a way of identifying the virtual machine on which the virtual container was running before it was powered off. When the virtual machine is powered on, the linkage between the container port and the network can be re-established using the record table.

First claim

Opening claim text (preview).

What is claimed is: 1. A method for running a container in a virtual machine, the method comprising: after the virtual machine was previously linked to a communication port of the container based on a previous internet protocol (IP) address of the virtual machine and after the virtual machine was previously powered off: powering on the virtual machine, the virtual machine having a static identifier; obtaining an IP address for the virtual machine; determining that the virtual machine was previously linked to the communication port of the container by: searching a table that includes entries each of which contains a mapping from a respective communication port of a respective container to a respective static identifier of a respective virtual machine, and finding an entry in the table for the static identifier of the virtual machine; establishing a link between the IP address of the virtual machine and the communication port of the container based on the finding of the entry in the table for the static identifier of the virtual machine, wherein the IP address of the virtual machine and the previous IP address of the virtual machine are not included in the entry in the table; and starting the container running in the virtual machine after the establishing of the link. 2. The method of claim 1 , wherein the static identifier of the virtual machine is a medium access control (MAC) address; and wherein the MAC address of the virtual machine was stored in the table when the virtual machine was assigned to the container. 3. The method of claim 1 , wherein the virtual machine runs on a host computer system that includes a dynamic host communication protocol (DHCP) service; and wherein the IP address for the virtual machine is obtained from the DHCP service. 4. The method of claim 3 , wherein the host computer system includes a port-forwarding service and a virtual switch; and wherein the port-forwarding service forwards packets incoming to the host computer system to the communication port of the container via the virtual switch. 5. The method of claim 3 , wherein the host computer system includes a container runtime and a command -line interface; wherein starting the container includes receiving a command via the command-line interface to the container runtime to start the container. 6. The method of claim 1 , further comprising pausing the container by: stopping the container; stopping and restarting the virtual machine in which the container runs, the restarted virtual machine having a new IP address; starting the container; finding the entry in the table for the static identifier of the virtual machine; associating the new IP address of the virtual machine with the communication port of the container; and starting the container running in the virtual machine. 7. The method of claim 1 , further comprising permanently stopping the container by: stopping the virtual machine in which the container runs; deleting the container; deleting the virtual machine; and removing the mapping of the communication port of the container to the static identifier of the virtual machine from the table. 8. The method claim 7 , wherein the virtual machine runs on a host computer system that includes a container runtime and a command-line interface; and wherein removing the mapping includes receiving a command to the container runtime via the command-line interface to remove the mapping. 9. A host computer system comprising: one or more CPUs; and a memory coupled to the one or more CPUs, the memory having loaded therein: virtualization software for running one or more virtual machines, wherein at least a virtual machine of the virtual machines has running thereon a guest operating system, and wherein a container is to be run by the guest operating system; wherein the virtualization software is configured to: after the virtual machine was previously linked to a communication port of the container based on a previous internet protocol (IP) address of the virtual machine and after the virtual machine was previously powered off: power on the virtual machine, the virtual machine having a static identifier; obtain an IP address for the virtual machine; determine that the virtual machine was previously assigned linked to the communication port of the container by: searching a table that includes entries each of which contains a mapping from a respective communication port of a respective container to a respective static identifier of a respective virtual machine, and finding an entry in the table for the static identifier of the virtual machine; establish a link between the IP address of the virtual machine and the communication port of the container based on the finding of the entry in the table for the static identifier of the virtual machine, wherein the IP address of the virtual machine and the previous IP address of the virtual machine are not included in the entry in the table; and start the container running in the virtual machine after the establishing of the link. 10. The host computer system of claim 9 , wherein the static identifier of the virtual machine is a medium access control (MAC) address; and wherein the MAC address of the virtual machine was stored in the table when the virtual machine was assigned to the container. 11. The host computer system of claim 9 , wherein the memory has further loaded therein a dynamic host address protocol (DHCP) service; wherein the IP address for the virtual machine is obtained from the DHCP service; wherein the memory has further loaded therein a port-forwarding service and a virtual switch; and wherein the port-forwarding service forwards packets incoming to the host computer system to the communication port of the container via the virtual switch. 12. The host computer system of claim 9 , wherein the memory has further loaded therein a container runtime and a command-line interface; and wherein starting the container includes receiving a command via the command-line interface to the container runtime to start the container. 13. The host computer system of claim 9 , wherein the virtualization software is further configured to pause the container by: stopping the container; stopping and restarting the virtual machine in which the container runs, the restarted virtual machine having a new IP address; starting the container; finding the entry in the table for the static identifier of the virtual machine; associating the new IP address of the virtual machine with the communication port of the container; and starting the container running in the virtual machine. 14. The host computer system of claim 9 , wherein the virtualization software is further configured to permanently stop the container by: stopping the virtual machine in which the container runs; deleting the container; deleting the virtual machine; and removing the mapping of the communication port of the container port to the static identifier of the virtual machine from the table. 15. A non-transitory computer-readable medium comprising instructions executable in a computer system, wherein the instructions when executed in the computer system cause the computer system to carry out a method for running a container in a virtual machine, the method comprising: after the virtual machine was previously linked to a communication port of the container based on a previous internet protocol (IP) address of the virtual machine and after the virtual machine was previously powered off: powering on the virtual machine, the virtual machine having a stat

Assignees

Inventors

Classifications

  • Hypervisor-specific management and integration aspects · CPC title

  • Creating, deleting, cloning virtual machine instances · CPC title

  • Starting, stopping, suspending or resuming virtual machine instances · CPC title

  • G06F9/455Primary

    Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines · CPC title

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 US11915025B2 cover?
When containers run in a guest operating system of a virtual machine running on the host computer system, the containers communicate with each other via ports of each container and a network. The ports of each container stay constant, but the virtual machine in which they run may change its IP address on the network when it is power-cycled. To avoid losing connection to the ports of the contain…
Who is the assignee on this patent?
Vmware Inc
What technology area does this patent fall under?
Primary CPC classification G06F9/45558. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Feb 27 2024 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 5 related publications on this page (citations in our corpus or others sharing the same primary CPC).