IP Library Granted Patent US 11,934,811
Granted Patent B2
US 11,934,811 · App. 17/240,549 · Granted Mar 19, 2024

Container image building using dependency container images

Inventors: Luca Burgazzoli (Milan, IT); Nicola Ferraro (Milan, IT)
Assignee: Red Hat, Inc.
G06F8/433G06F8/36G06F8/70G06F16/51G06F8/30G06F8/443G06F8/61G06F8/63G06F8/65G06F8/75G06F9/455G06F9/45545G06F9/5077G06F9/5088G06F16/188G06F16/9014
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,934,811
App. No.
17/240,549
Granted
Mar 19, 2024
Kind
B2
Abstract

Container image building using dependency container images. First dependency information that identifies a first set of dependencies necessary to generate a first application container image is accessed. A dependency container image index that identifies dependencies contained in one or more dependency container images is accessed. A first dependency container image of the one or more dependency container images is selected based on the dependency container image index and the first dependency information. The first dependency container image lacks at least one dependency identified in the first set of dependencies. A new dependency container image is generated using the first dependency container image and the at least one dependency. A new entry is stored in the dependency container image index that identifies the new dependency container image and each dependency contained in the new dependency container image.

Claims (35)

1. A method comprising:

accessing first dependency information associated with an application and that identifies a first set of dependencies necessary to generate a first application container image for the application, each dependency in the first set of dependencies comprising one or more files needed to generate the first application container image and to execute the first application container image;

selecting a first dependency container image of one or more dependency container images, each dependency container image including a layer that includes one or more dependencies and the first dependency container image lacking at least one dependency identified in the first set of dependencies; and

generating a new dependency container image using the first dependency container image and the at least one dependency, the new dependency container image including a layer that includes a copy of the layer that includes the one or more dependencies from the first dependency container image and a layer that includes the at least one dependency.

2. The method of claim 1 further comprising retrieving the first dependency container image from a container image registry prior to generating the new dependency container image.

3. The method of claim 1 further comprising storing the first dependency container image in a container image registry.

4. The method of claim 1 wherein the first dependency container image contains a larger number of the dependencies in the first set of dependencies than any other dependency container image.

5. The method of claim 1 wherein generating the new dependency container image using the first dependency container image and the at least one dependency comprises generating the new dependency container image such that the at least one dependency is in a separate container image layer from container image layers that contain dependencies from the first dependency container image.

6. The method of claim 1 further comprising downloading the at least one dependency from a dependency repository.

7. The method of claim 1 further comprising:

accessing second dependency information that identifies a second set of dependencies associated with a second application container image;

selecting the new dependency container image; and

generating the second application container image from the new dependency container image.

8. A method comprising:

accessing first dependency information associated with an application and that identifies a first set of dependencies necessary to generate a first application container image, each dependency in the first set of dependencies comprising one or more files needed to generate the first application container image and to execute the first application container image;

selecting a first dependency container image of one or more dependency container images, each dependency container image including a layer that includes one or more dependencies; and

generating the first application container image from the first dependency container image and any dependencies identified in the first set of dependencies that are not contained in the first dependency container image, the first application container image including a layer that includes a copy of the layer that includes the one or more dependencies from the first dependency container image and pointers to the first set of dependencies.

9. The method of claim 8 further comprising downloading the first dependency container image from a container image registry prior to generating the first application container image.

10. The method of claim 8 further comprising:

accessing second dependency information that identifies a second set of dependencies necessary to generate a second application container image;

selecting the first dependency container image; and

generating the second application container image from the first dependency container image and any dependencies identified in the second set of dependencies that are not contained in the first dependency container image.

11. The method of claim 10 wherein generating the first application container image comprises generating the first application container image to be associated with a first tenant of a cloud computing environment, and wherein generating the second application container image comprises generating the second application container image to be associated with a second tenant of the cloud computing environment.

12. A computing device, comprising:

a memory; and

a processor device coupled to the memory to:

access first dependency information associated with an application and that identifies a first set of dependencies necessary to generate a first application container image for the application, each dependency in the first set of dependencies comprising one or more files needed to generate the first application container image and to execute the first application container image;

select a first dependency container image of one or more dependency container images, each dependency container image including a layer that includes one or more dependencies and the first dependency container image lacking at least one dependency identified in the first set of dependencies; and

generate a new dependency container image using the first dependency container image and the at least one dependency, the new dependency container image including a layer that includes a copy of the layer that includes the one or more dependencies from the first dependency container image and a layer that includes the at least one dependency.

13. The computing device of claim 12 wherein the first dependency container image contains a larger number of the dependencies in the first set of dependencies than any other dependency container image.

14. The computing device of claim 12 wherein to generate the new dependency container image, the processor device is further to generate the new dependency container image such that the at least one dependency is in a separate container image layer from container image layers that contain dependencies from the first dependency container image.

15. The computing device of claim 12 wherein the processor device is further to:

access second dependency information that identifies a second set of dependencies associated with a second application container image;

select the new dependency container image; and

generate the second application container image from the new dependency container image.

Assignments (2)
CHANGE OF NAME Recorded Mar 3, 2026
From: RED HAT, INC.
To: RED HAT, LLC
Reel/Frame 074913/0759 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 26, 2021
From: BURGAZZOLI, LUCA; FERRARO, NICOLA
To: RED HAT, INC.
Reel/Frame 056042/0616 →