IP Library Granted Patent US 11,620,146
Granted Patent B2
US 11,620,146 · App. 16/986,899 · Granted Apr 4, 2023

System and method to commit container changes on a VM-based container

Inventors: Junfei Wu (Beijing, CN); Xiang Yu (Beijing, CN); Xiaodong Ye (Beijing, CN); Fangchi Wang (Beijing, CN); Haitao Zuo (Beijing, CN)
Assignee: VMWARE, INC.
G06F9/45545G06F8/63G06F9/45558G06F9/5027G06F2009/45562
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,620,146
App. No.
16/986,899
Granted
Apr 4, 2023
Kind
B2
Abstract

Disclosed herein are embodiments for committing changes of an image of a virtual machine-based container running on a host computer system. A starting image for a container is obtained from a guest starting folder, and while the container runs the starting image changes to the image made by the running container are captured in a guest folder that is union mounted with the guest starting folder. Another union folder, which is the union of a new host folder and the starting folder, contains the changed image which can be used for the container or transferred to a different container.

Claims (55)

1. A method for committing changes of an image of a container running in a virtual machine (VM) on a host computer system, the method comprising:

obtaining a guest starting folder containing a starting image for the container, wherein the guest starting folder resides in the virtual machine;

while the container is running the starting image, storing changes made by the container running in the virtual machine to the starting image in a first guest union folder to generate a changed image for the container, wherein the first guest union folder is a union mount of a first new guest folder and the guest starting folder, and wherein the first new guest folder reflects the changes in the first guest union folder; and

forming a second guest union folder as a union mount of a second new guest folder and the guest starting folder, the second new guest folder containing the changes to the starting image, and the second guest union folder containing the changed image.

2. The method of claim 1 ,

wherein a guest file system of the VM is shared with a host file system of the host computer system; and

wherein the host file system includes a host starting folder containing the starting image of the container and the guest starting folder is obtained from the host computer system by sharing the host starting folder as the guest starting folder in the guest file system.

3. The method of claim 2 ,

wherein the host file system includes a new host folder; and

wherein the host file system shares the new host folder as a first new guest folder of the guest file system, the first new guest folder containing the changes to the starting image.

4. The method of claim 2 , wherein a container runtime fetches the starting image for the container from the host computer system and provides the starting image in the host starting folder.

5. The method of claim 4 ,

wherein the starting image for the container resides in a repository for images on the host computer system; and

wherein the images in the repository are read-only images.

6. The method of claim 1 , wherein the changed image in the second guest union folder is stored in a repository of container images.

7. The method of claim 1 , wherein a container runtime runs on the host computer system but does not run the starting image.

8. A host computer system comprising:

one or more CPU s; and

a memory coupled to the CPUs, wherein the memory has loaded therein system software that includes virtualization software for running one or more virtual machines, and a container runtime;

wherein the system software runs the container runtime and one of the virtual machines runs a guest operating system with a container running as an application of the guest operating system; and

wherein the guest operating system is configured to:

obtain a guest starting folder containing a starting image for the container, wherein the guest starting folder resides in the virtual machine;

while the container is running the starting image, store changes made by the container running in the virtual machine to the starting image in a first guest union folder to generate a changed image for the container, wherein the first guest union folder is a union mount of a first new guest folder and the guest starting folder, and wherein the first new guest folder reflects the changes in the first guest union folder; and

form a second guest union folder as a union mount of a second new guest folder and the guest starting folder, the second new guest folder containing the changes to the starting image, and the second guest union folder containing the changed image.

9. The host computer system of claim 8 ,

wherein a guest file system of the VM is shared with a host file system of the host computer system; and

wherein the host file system includes a host starting folder containing the starting image of the container and the guest starting folder is obtained from the host computer system by sharing the host starting folder as the guest starting folder in the guest file system.

10. The host computer system of claim 9 ,

wherein the host file system includes a new host folder; and

wherein the host file system shares the new host folder as a first new guest folder of the guest file system, the first new guest folder containing the changes to the starting image.

11. The host computer system of claim 9 , wherein the container runtime fetches the starting image for the container from the host computer system and provides the starting image in the host starting folder.

12. The host computer system of claim 11 ,

wherein the starting image for the container resides in a repository for images on the host computer system; and

wherein the images in the repository are read-only images.

13. The host computer system of claim 8 , wherein the changed image in the second guest union folder is stored in a repository of container images.

14. The host computer system of claim 8 , wherein a container runtime runs on the host computer system but does not run the starting image.

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 committing changes of an image of a container running in a virtual machine (VM) on a host computer system, the method comprising:

obtaining a guest starting folder containing a starting image for the container, wherein the guest starting folder resides in the virtual machine;

while the container is running the starting image, storing changes made by the container running in the virtual machine to the starting image in a first guest union folder to generate a changed image for the container,

wherein the first guest union folder is a union mount of a first new guest folder and the guest starting folder, and

wherein the first new guest folder reflects the changes in the first guest union folder; and

forming a second guest union folder as a union mount of a second new guest folder and the guest starting folder, the second new guest folder containing the changes to the starting image, and the second guest union folder containing the changed image.

16. The non-transitory computer-readable medium of claim 15 ,

wherein a guest file system of the VM is shared with a host file system of the host

computer system; and

wherein the host file system includes a host starting folder containing the starting image of the container and the guest starting folder is obtained from the host by sharing the host starting folder as the guest starting folder in the guest file system.

17. The non-transitory computer-readable medium of claim 16 ,

wherein the host file system includes a new host folder; and

wherein the host file system shares the new host folder as a first new guest folder of the guest file system, the first new guest folder containing the changes to the starting image.

18. The non-transitory computer-readable medium of claim 16 ,

wherein a container runtime fetches the starting image for the container from the host computer system and provides the starting image in the host starting folder;

wherein the starting image for the container resides in a repository for images on the host computer system; and

wherein the images in the repository are read-only images.

19. The non-transitory computer-readable medium of claim 15 , wherein the changed image in the second guest union folder is stored in a repository of container images.

20. The non-transitory computer-readable medium of claim 15 , wherein a container runtime runs on the host computer system but does not run the starting image.

Assignments (4)
PATENT ASSIGNMENT Recorded Aug 5, 2024
From: VMWARE LLC
To: OMNISSA, LLC
Reel/Frame 068327/0365 →
SECURITY INTEREST Recorded Jul 3, 2024
From: OMNISSA, LLC
To: UBS AG, STAMFORD BRANCH
Reel/Frame 068118/0004 →
CHANGE OF NAME Recorded Apr 15, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 067102/0395 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 6, 2020
From: WU, JUNFEI; YU, XIANG; YE, XIAODONG; WANG, FANGCHI; ZUO, HAITAO
To: VMWARE, INC.
Reel/Frame 053422/0284 →