IP Library › Granted Patent US 12,282,460
Granted Patent B2
US 12,282,460 · App. 18/188,081 · Granted Apr 22, 2025

Representing container images in an image registry

Inventors: Francis McNamee (Newry, GB); Paula May Tomaszko (Belfast, GB); Andrew Jack Bell (Belfast, GB); Robert Kerr (Cambridge, GB)
Assignee: International Business Machines Corporation
G06F16/1744G06F16/164
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 12,282,460
App. No.
18/188,081
Granted
Apr 22, 2025
Kind
B2
Abstract

A computer-implemented method, system, and computer program product are provided. A processor defines and stores units of image data of a container image, where the units of image data are compressible. A processor represents the units as nodes in a dependency graph for a container image, including one or more nodes at a dependency level in the dependency graph.

Claims (47)

1. A computer-implemented method comprising:

receiving at least one file to be used in a container image;

defining units of image data for a container image from the at least one file, wherein the units of image data are each independently compressible and each of a size greater than a minimum configured size;

compressing the units of image data, wherein the container image comprises a combination of each of the compressed units of the image data;

storing the compressed units of the image data in an image registry;

representing, by one or more processors, each compressed unit of the image data as a node in a dependency graph for the container image, including one or more nodes at each dependency level in the dependency graph, wherein the dependency graph includes at least one branch at a dependency level;

updating a compressed unit of a node of the nodes for the container image; and

distributing the node to a user of the container image.

2. The computer-implemented method of claim 1 , wherein the units of image data include references to other nodes defining a structure of folders within the image data.

3. The computer-implemented method of claim 1 , further comprising representing an individual unit of the units as a node of the nodes in a second dependency graph of more than one container image in the image registry.

4. The computer-implemented method of claim 1 , further comprising attaching metadata to a node of the nodes in the dependency graph for the container image, wherein the container image includes conditional logic.

5. The computer-implemented method of claim 1 , further comprising:

providing container image data as container files and container folders;

configuring one or more files and sub-folders of the container folders as a unit, of the units, that is compressible; and

flattening each container folder into multiple compressed units.

6. The computer-implemented method of claim 5 , wherein the one or more sub-folders are configured as a unit with a size greater than the minimum configured size.

7. The computer-implemented method of claim 5 , further comprising dividing, using a file-type specific extension, a file of the one or more files into multiple sub-files as units.

8. A computer program product comprising:

one or more computer readable storage media, and program instructions collectively stored on the one or more computer readable storage media, the program instructions comprising:

program instructions to receive at least one file to be used in a container image;

program instructions to define units of image data for a container image from the at least one file, wherein the units of image data are each independently compressible and each of a size greater than a minimum configured size;

program instructions to compress the units of image data, wherein the container image comprises a combination of each of the compressed units of the image data;

program instructions to store the compressed units of the image data in an image registry;

program instructions to represent each compressed unit of the image data as a node in a dependency graph for the container image, including one or more nodes at each dependency level in the dependency graph, wherein the dependency graph includes at least one branch at a dependency level;

program instructions to update a compressed unit of a node of the nodes for the container image; and

program instructions to distribute the node to a user of the container image.

9. The computer program product of claim 8 , wherein the units of image data include references to other nodes defining a structure of folders within the image data.

10. The computer program product of claim 8 , further comprising program instructions, collectively stored on the one or more computer readable storage media, to represent an individual unit of the units as a node of the nodes in a second dependency graph of more than one container image in the image registry.

11. The computer program product of claim 8 , further comprising program instructions, collectively stored on the one or more computer readable storage media, to attach metadata to a node of the nodes in the dependency graph for the container image, wherein the container image includes conditional logic.

12. The computer program product of claim 8 , further comprising:

program instructions, collectively stored on the one or more computer readable storage media, to provide container image data as container files and container folders;

program instructions, collectively stored on the one or more computer readable storage media, to configure one or more files and sub-folders of the container folders as a unit, of the units, that is compressible; and

program instructions, collectively stored on the one or more computer readable storage media, to flatten each container folder into multiple compressed units.

13. The computer program product of claim 12 , wherein the one or more sub-folders are configured as a unit with a size greater than the minimum configured size.

14. The computer program product of claim 12 , further comprising program instructions, collectively stored on the one or more computer readable storage media, to divide using a file-type specific extension, a file of the one or more files into multiple sub-files as units.

15. A computer system comprising:

one or more computer processors, one or more computer readable storage media, and program instructions collectively stored on the one or more computer readable storage media for execution by at least one of the one or more computer processors, the program instructions comprising:

program instructions to receive at least one file to be used in a container image;

program instructions to define units of image data for a container image from the at least one file, wherein the units of image data are each independently compressible and each of a size greater than a minimum configured size;

program instructions to compress the units of image data, wherein the container image comprises a combination of each of the compressed units of the image data;

program instructions to store the compressed units of the image data in an image registry;

program instructions to represent each compressed unit of the image data as a node in a dependency graph for the container image, including one or more nodes at each dependency level in the dependency graph, wherein the dependency graph includes at least one branch at a dependency level;

program instructions to update a compressed unit of a node of the nodes for the container image; and

program instructions to distribute the node to a user of the container image.

16. The computer system of claim 15 , wherein the units of image data include references to other nodes defining a structure of folders within the image data.

17. The computer system of claim 15 , further comprising program instructions, collectively stored on the one or more computer readable storage media for execution by at least one of the one or more computer processors, to represent an individual unit of the units as a node of the nodes in a second dependency graph of more than one container image in the image registry.

18. The computer system of claim 15 , further comprising program instructions, collectively stored on the one or more computer readable storage media for execution by at least one of the one or more processors, to attach metadata to a node of the nodes in the dependency graph for the container image, wherein the container image includes conditional logic.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 22, 2023
From: MCNAMEE, FRANCIS; TOMASZKO, PAULA MAY; BELL, ANDREW JACK; KERR, ROBERT
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 063063/0318 →
Priority Claims (1)
GB 2213224 · Sep 9, 2022 · national
Continuity (1)
Related Publication 20240086370A1 · Mar 14, 2024
References Cited (15)
US 10303657B2 · Huang · 2019 [cited by applicant]
US 10379841B2 · Wong · 2019 [cited by applicant]
US 10908887B2 · Bhat · 2021 [cited by applicant]
US 20140082613A1 · Kundu · 2014 [cited by applicant]
US 20180024850A1 · Caro Estevez · 2018 [cited by applicant]
US 20180144062A1 · Jan · 2018 [cited by applicant]
US 20180189122A1 · Jobi · 2018 [cited by applicant]
US 20180336021A1 · Scrivano · 2018 [cited by applicant]
US 20200142680A1 · Varadharajan Kannan · 2020 [cited by applicant]
US 20200159536A1 · Saidi · 2020 [cited by applicant]
US 20210042141A1 · De Marco · 2021 [cited by applicant]
US 20210232345A1 · Corrie · 2021 [cited by applicant]
US 20210390090A1 · Eberlein · 2021 [cited by applicant]
US 20220229804A1 · Wu · 2022 [cited by applicant]
Yu, “Container Image Migration Compression Method, Device, Device and Medium”, Dec. 21, 2021, 13 pages. (Year: 2021). [cited by examiner]
Cited By (1)
US 12,554,476