Container image management

US11960870B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11960870-B2
Application numberUS-202217652159-A
CountryUS
Kind codeB2
Filing dateFeb 23, 2022
Priority dateFeb 23, 2022
Publication dateApr 16, 2024
Grant dateApr 16, 2024

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Methods, systems, and computer program products for container image management are disclosed. In a method, a first group of operations that are performed in respective layers in a base image are obtained. A second group of operations that are performed in respective layers not comprised in the base image are obtained. The second group of operations are optimized based on a comparison between the first and second groups of operations. A destination container image is generated based on the optimized second group of operations and the base image.

First claim

Opening claim text (preview).

What is claimed is: 1. A method comprising: obtaining, by one or more processors, a first group of operations that are performed in respective layers comprised in a base image; obtaining, by one or more processors, a second group of operations that are performed in respective layers not comprised in the base image; optimizing, by one or more processors, the second group of operations based on a comparison between the first and second groups of operations; in response to an operation of the second group of operations being repeated within the first group of operations, classifying, by one or more processors, the operation into a first type or a second type, the first type representing an operation changing the destination container image, and the second type representing an operation not changing the destination container image; in response to the operation being classified as the first type, comparing, by one or more processors, the operation with the first group of operations; in response to the operation being classified as the second type, deleting, by one or more processors, the operation from the second group; and generating, by one or more processors, a destination container image based on the optimized second group of operations and the base image. 2. The method of claim 1 , wherein the comparing the operation with the first group of operations comprises: determining, by one or more processors, a layer object digest for a layer object that is operated by the operation; comparing, by one or more processors, the layer object digest for the layer object that is operated by the operation with each of layer object digests for a group of layer objects that are operated by the first group of operations, respectively; and in response to the layer object digest for the layer object that is operated by the operation being identical to any of the group of layer object digests for the group of layer objects that are operated by the first group of operations, determining, by one or more processors, that the operation is repeated with one of the first group of operations. 3. The method of claim 1 , wherein the determining the layer object digest for the layer object that is operated by the operation comprises: in response to the layer object that is operated by the operation being an application to be installed by the operation, determining, by one or more processors, the layer object digest based on a version of the application; or in response to the layer object that is operated by the operation being a node to be managed by the operation in a file system related to the destination container image, determining, by one or more processors, the layer object digest based on a digest of the node. 4. The method of claim 1 , wherein the obtaining the first group of operations comprises: receiving, by one or more processors, the first group of operations from a container builder file from which the destination container image is generated; and wherein the obtaining the second group of operations comprises: extracting, by one or more processors, the second group of operations from the container builder file. 5. The method of claim 4 , further comprising: classifying, by one or more processors, the operation of the first type into a third type or a fourth type, the third type representing an operation that produces the same result whenever the operation is performed, and the fourth type representing an operation that does not always produce the same result when the operation is performed at different time points; and implementing, by one or more processors, at least one from a group consisting of: in response to the operation being classified as the third type, collecting, by one or more processors, the operation; and in response to the operation being classified as the fourth type, comparing the operation with the first group of operations. 6. The method of claim 1 , wherein the obtaining the first group of operations comprises: receiving, by one or more processors, the first group of operations from a running container; and wherein the obtaining the second group of operations comprises: obtaining, by one or more processors, the second group of operations from a group of commands that are inputted in the running container. 7. The method of claim 1 , wherein the optimizing the second group of operations based on the comparison comprises: determining, by one or more processors, a plurality of operations in the second group of operations that have an association relationship based on the comparison; combining, by one or more processors, the plurality of operations into a new operation; and replacing, by one or more processors, the plurality of operations in the second group of operations with the new operation. 8. The method of claim 1 , further comprising: receiving a source container image from which the destination container image is generated, wherein the obtaining the first group of operations comprises: obtaining the first group of operations from a base image of the source container image; and wherein the obtaining the second group of operations comprises: obtaining the second group of operations in the source container image. 9. A computer program product comprising: one or more computer-readable storage media and program instructions stored on the one or more computer-readable storage media, the program instructions comprising: program instructions to obtain a first group of operations that are performed in respective layers comprised in a base image; program instructions to obtain a second group of operations that are performed in respective layers not comprised in the base image; program instructions to optimize the second group of operations based on a comparison between the first and second groups of operations; program instructions, in response to an operation of the second group of operations being repeated within the first group of operations, to classify the operation into a first type or a second type, the first type representing an operation changing the destination container image, and the second type representing an operation not changing the destination container image; program instructions, in response to the operation being classified as the first type, to compare the operation with the first group of operations; program instructions, in response to the operation being classified as the second type, to delete the operation from the second group; and program instructions to generate a destination container image based on the optimized second group of operations and the base image. 10. The computer program product of claim 9 , wherein the program instructions to optimize the second group of operations based on the comparison comprises: program instructions to determine a plurality of operations in the second group of operations that have an association relationship based on the comparison; program instructions to combine the plurality of operations into a new operation; and program instructions to replace the plurality of operations in the second group of operations with the new operation. 11. A computer system comprising: one or more computer processors; one or more computer readable storage media; and program instructions stored on the computer readable storage media for execution by at least one of the one or more processors, the program instructions comprising: program instructions to obtain a first group of operations that are performed in respective layers comprised in a base image; program instructions to obtain a second group of operations that are performed in respective layers not comprised in the base image; program instructions to

Assignees

Inventors

Classifications

  • G06F8/63Primary

    Image based installation; Cloning; Build to order · CPC title

  • Hypervisor-specific management and integration aspects · CPC title

  • Creating, deleting, cloning virtual machine instances · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US11960870B2 cover?
Methods, systems, and computer program products for container image management are disclosed. In a method, a first group of operations that are performed in respective layers in a base image are obtained. A second group of operations that are performed in respective layers not comprised in the base image are obtained. The second group of operations are optimized based on a comparison between th…
Who is the assignee on this patent?
IBM
What technology area does this patent fall under?
Primary CPC classification G06F8/63. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Apr 16 2024 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 12 related publications on this page (citations in our corpus or others sharing the same primary CPC).