IP Library Granted Patent US 11,983,525
Granted Patent B2
US 11,983,525 · App. 17/851,923 · Granted May 14, 2024

Automated container size reduction

Inventors: Gabriel Zvi BenHanokh (Ra'anana, IL); Orit Wasserman (Ra'anana, IL)
Assignee: Red Hat, Inc.
G06F8/71G06F8/63G06F9/455
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,983,525
App. No.
17/851,923
Granted
May 14, 2024
Kind
B2
Abstract

A container image is received, the container image including a container manifest referencing a first base operating system layer and an application layer. An execution compatibility is determined between the application layer and a second base operating system layer, different from the first operating system layer. An updated container image, an updated container manifest, or the updated container image and the updated container manifest is generated in which the first base operating system layer is replaced with the second base operating system layer.

Claims (31)

1. A method comprising:

receiving a container image, the container image comprising a container manifest referencing a first base operating system layer and an application layer;

determining, by a processing device, an execution compatibility between the application layer and a second base operating system layer, different from the first base operating system layer, wherein determining the execution compatibility between the application layer and the second base operating system layer comprises determining that the application layer will execute successfully and without error when combined with the second base operating system layer; and

responsive to determining the execution compatibility between the application layer and the second base operating system layer, generating an updated container image, an updated container manifest, or the updated container image and the updated container manifest in which the first base operating system layer is replaced with the second base operating system layer.

2. The method of claim 1 , wherein the container image comprises a plurality of layers, one of which is the first base operating system layer.

3. The method of claim 2 , wherein determining the execution compatibility between the application layer and the second base operating system layer comprises examining metadata of one or more of the plurality of layers.

4. The method of claim 1 , wherein receiving the container image comprises downloading the container image from an image repository.

5. The method of claim 1 , wherein the first base operating system layer comprises a first operating system component that is different from a second operating system component of the second base operating system layer.

6. The method of claim 1 , wherein determining the execution compatibility between the application layer and the second base operating system layer is performed upon the container image at an image repository of a plurality of container images, is performed upon the container image responsive to downloading the container image from the image repository, or is performed when building the container image.

7. The method of claim 1 , wherein determining that the application layer will execute successfully and without error when combined with the second base operating system layer comprises confirming an application programming interface utilized by the application layer is present in the second base operating system layer and accepts the identical number and types of input.

8. A system comprising:

a memory; and

a processing device, operatively coupled to the memory, to:

receive a container image, the container image comprising a container manifest referencing a first base operating system layer and an application layer;

determine an execution compatibility between the application layer and a second base operating system layer, different from the first base operating system layer, wherein, to determine the execution compatibility between the application layer and the second base operating system layer, the processing device is to determine that the application layer will execute successfully and without error when combined with the second base operating system layer; and

responsive to determining the execution compatibility between the application layer and the second base operating system layer, generate an updated container image, an updated container manifest, or the updated container image and the updated container manifest in which the first base operating system layer is replaced with the second base operating system layer.

9. The system of claim 8 , wherein the container image comprises a plurality of layers, one of which is the first base operating system layer.

10. The system of claim 9 , wherein, to determine the execution compatibility between the application layer and the second base operating system layer, the processing device is to examine metadata of one or more of the plurality of layers.

11. The system of claim 8 , wherein, to receive the container image, the processing device is to download the container image from an image repository.

12. The system of claim 8 , wherein the first base operating system layer comprises a first operating system component that is different from a second operating system component of the second base operating system layer.

13. The system of claim 8 , wherein determining the execution compatibility between the application layer and the second base operating system layer is performed upon the container image at an image repository of a plurality of container images, is performed upon the container image responsive to downloading the container image from the image repository, or is performed when building the container image.

14. The system of claim 8 , wherein, to determine that the application layer will execute successfully and without error when combined with the second base operating system layer, the processing device is to confirm an application programming interface utilized by the application layer is present in the second base operating system layer and accepts the identical number and types of input.

15. A non-transitory computer-readable storage medium including instructions that, when executed by a processing device, cause the processing device to:

receive a container image, the container image comprising a container manifest referencing a first base operating system layer and an application layer;

determine, by the processing device, an execution compatibility between the application layer and a second base operating system layer, different from the first base operating system layer, wherein, to determine the execution compatibility between the application layer and the second base operating system layer, the processing device is to determine that the application layer will execute successfully and without error when combined with the second base operating system layer; and

responsive to determining the execution compatibility between the application layer and the second base operating system layer, generate an updated container image, an updated container manifest, or the updated container image and the updated container manifest in which the first base operating system layer is replaced with the second base operating system layer.

16. The non-transitory computer-readable storage medium of claim 15 , wherein the container image comprises a plurality of layers, one of which is the first base operating system layer.

17. The non-transitory computer-readable storage medium of claim 16 , wherein, to determine the execution compatibility between the application layer and the second base operating system layer, the processing device is to examine metadata of one or more of the plurality of layers.

18. The non-transitory computer-readable storage medium of claim 15 , wherein the first base operating system layer comprises a first operating system component that is different from a second operating system component of the second base operating system layer.

19. The non-transitory computer-readable storage medium of claim 15 , wherein determining the execution compatibility between the application layer and the second base operating system layer is performed upon the container image at an image repository of a plurality of container images, is performed upon the container image responsive to downloading the container image from the image repository, or is performed when building the container image.

20. The non-transitory computer-readable storage medium of claim 15 , wherein, to determine that the application layer will execute successfully and without error when combined with the second base operating system layer, the processing device is to confirm an application programming interface utilized by the application layer is present in the second base operating system layer and accepts the identical number and types of input.

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 Jun 29, 2022
From: BENHANOKH, GABRIEL ZVI; WASSERMAN, ORIT
To: RED HAT, INC.
Reel/Frame 060352/0228 →
Continuity (1)
Related Publication 20230418595A1 · Dec 28, 2023
Cited By (1)
US 12,242,844