IP Library Granted Patent US 10,528,366
Granted Patent B2
US 10,528,366 · App. 15/613,619 · Granted Jan 7, 2020

Facilitating multi-inheritance within a single inheritance container-based environment

Inventors: Chih-Hong Wong (Beijing, CN); Zong Lin He (Beijing, CN); Dan Qing Huang (Beijing, CN); Zi Wen Li (Beijing, CN)
Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
G06F9/4493G06F9/4492G06F9/45558G06F9/44505G06F11/2069G06F16/1844G06F2009/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 10,528,366
App. No.
15/613,619
Granted
Jan 7, 2020
Kind
B2
Abstract

Multi-inheritance within a single-inheritance, container-based data processing environment is provided for facilitating developing, storing, shipping and/or running software applications. More particularly, a facility is provided which includes generating, based on a configuration file with a multi-inheritance instruction, a composited image for a new container from multiple exiting images of the single-inheritance container-based environment. The multiple existing images are identified in the multi-inheritance instruction, and the generating includes creating a composited directory file which, in part, references layers of the multiple existing images and associating a command instruction of the configuration file with the composited file. The composited image is then built in associated with starting the new container based on the composited directory file and the associated command.

Claims (33)

1. A computer-implemented method for facilitating multi-inheritance within a single-inheritance container-based environment, the computer-implement method comprising:

generating, based on a configuration file with a multi-inheritance instruction, a composited image for a new container from multiple existing images of the single-inheritance container-based environment, the multiple existing images being identified in the multi-inheritance instruction, and the generating comprising:

creating a composited directory file which, in part, references layers of the multiple existing images and associating a command instruction of the configuration file with the composited directory file; and

building the composited image in association with starting the new container, the building being based on the composited directory file and associated command; and

saving the composited image to storage, the saving comprising saving a manifest file identifying re-used, previously constructed layers of the multiple existing images in the composited image, and identifying one or more respective delta layers tracking any difference between a previously constructed layer and a corresponding current layer used in building the composited image.

2. The computer-implemented method of claim 1 , wherein the multiple existing images in the single-inheritance container-based environment are derived from a common base image.

3. The computer-implemented method of claim 1 , wherein the creating further comprises concatenating referenced layers of the multiple existing images and an original layer obtained from the configuration file into the composited directory file.

4. The computer-implemented method of claim 3 , wherein the building comprises re-using the referenced layers of the multiple existing images concatenated into the composited directory file when building the composited image.

5. The computer-implemented method of claim 3 , wherein the referenced layers concatenated into the composited directory file reference previously constructed instructions, and for at least one recurring instruction in the composited directory file, the creating includes providing a corresponding delta layer to track any difference between the previously constructed instruction and a corresponding current instruction being built, and further referencing the delta layer in image settings for the composited image.

6. The computer-implemented method of claim 1 , wherein the saving comprises saving the respective delta layer(s) used in building the composited image without further saving in the storage the re-used, previously constructed layers of the multiple existing images in the composited image.

7. The computer-implemented method of claim 6 , further comprising retrieving the composited image, the retrieving comprising obtaining the manifest file and re-establishing the composited image using the manifest file, the re-establishing including downloading from the storage the respective delta layer(s), and re-assembling layers identified in the manifest file, including the respective delta layers, into the composited image.

8. The computer-implemented method of claim 7 , wherein the retrieving further comprises obtaining the re-used, previously constructed layers of the multiple existing from the multiple existing images in re-establishing the composited image.

9. A system for facilitating multi-inheritance within a single-inheritance container-based environment, the system comprising:

a memory; and

a processing circuit communicatively coupled with the memory, wherein the system performs a method comprising:

generating, based on a configuration file with a multi-inheritance instruction, a composited image for a new container from multiple existing images of the single-inheritance container-based environment, the multiple existing images being identified in the multi-inheritance instruction, and the generating comprising:

creating a composited directory file which, in part, references layers of the multiple existing images and associating a command instruction of the configuration file with the composited directory file; and

building the composited image in association with starting the new container, the building being based on the composited directory file and associated command; and

saving the composited image to storage, the saving comprising saving a manifest file identifying re-used, previously constructed layers of the multiple existing images in the composited image, and identifying one or more respective delta layers tracking any difference between a previously constructed layer and a corresponding current layer used in building the composited image.

10. The system of claim 9 , wherein the multiple existing images in the single-inheritance container-based environment are derived from a common base image.

11. The system of claim 9 , wherein the creating further comprises concatenating referenced layers of the multiple existing images and an original layer obtained from the configuration file into the composited directory file.

12. The system of claim 11 , wherein the building comprises re-using the referenced layers of the multiple existing images concatenated into the composited directory file when building the composited image.

13. The system of claim 11 , wherein the referenced layers concatenated into the composited directory file reference previously constructed instructions, and for at least one recurring instruction in the composited directory file, the creating includes providing a corresponding delta layer to track any difference between the previously constructed instruction and a corresponding current instruction being built, and further referencing the delta layer in image settings for the composited image.

14. The system of claim 9 , wherein the saving comprises saving the respective delta layer(s) used in building the composited image without further saving in the storage the re-used, previously constructed layers of the multiple existing images in the composited image.

15. The system of claim 14 , further comprising retrieving the composited image, the retrieving comprising obtaining the manifest file and re-establishing the composited image using the manifest file, the re-establishing including downloading from the storage the respective delta layer(s), and re-assembling layers identified in the manifest file, including the respective delta layers, into the composited image.

16. The system of claim 15 , wherein the retrieving further comprises obtaining the re-used, previously constructed layers of the multiple existing from the multiple existing images in re-establishing the composited image.

17. A computer program product for facilitating multi-inheritance within a single-inheritance container-based environment, the computer program product comprising:

a computer readable storage medium readable by a processing circuit and storing instructions for execution by the processing circuit which, when executed, perform a method comprising:

generating, based on a configuration file with a multi-inheritance instruction, a composited image for a new container from multiple existing images of the single-inheritance container-based environment, the multiple existing images being identified in the multi-inheritance instruction, and the generating comprising:

creating a composited directory file which, in part, references layers of the multiple existing images and associating a command instruction of the configuration file with the composited directory file; and

building the composited image in association with starting the new container, the building being based on the composited directory file and associated command; and

saving the composited image to storage, the saving comprising saving a manifest file identifying re-used, previously constructed layers of the multiple existing images in the composited image, and identifying one or more respective delta layers tracking any difference between a previously constructed layer and a corresponding current layer used in building the composited image.

18. The computer program product of claim 17 , wherein the creating further comprises concatenating referenced layers of the multiple existing images and an original layer obtained from the configuration file into the composited directory file, and wherein the building comprises re-using the referenced layers of the multiple existing images concatenated into the composited directory file when building the composited image.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 5, 2017
From: WONG, CHIH-HONG; HE, ZONG LIN; HUANG, DAN QING; LI, ZI WEN
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 042597/0091 →
Continuity (1)
Related Publication 20180349150A1 · Dec 6, 2018
Cited By (1)
US 12,332,847