Container Image Dependency Graph for Storage Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current container image representation in image registries results in large file sizes due to the inclusion of all dependencies, leading to storage and performance issues. Additionally, changes to a single file within a layer require re-creation and re-uploading of the entire layer, causing data duplication and increased bandwidth usage.

Innovation Solution

The method involves defining and storing units of image data as compressible nodes in a dependency graph, allowing for efficient data sharing and reduction of data duplication. These compressed units are represented as nodes in a dependency graph, enabling parallel processing and conditional logic applications.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If container images are represented as sequential layers with all dependencies included, then completeness of container functionality is ensured, but file size and storage requirements increase significantly

Engineering Contradiction:
Improvecompleteness of container functionalityVSAvoidcontainer image file size
Core Design Contradiction:
ReliabilityVSWeight of stationary object

Solution Approach 1:

The container image is segmented into multiple layers, where each layer represents a specific set of dependencies or files. This segmentation allows the system to store and transfer only the necessary layers rather than the entire image, reducing file size while maintaining functionality completeness.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Layers are nested within the container image structure, with each layer containing specific dependencies. Smaller layers can be nested within larger ones, allowing for efficient storage where common dependencies are shared across multiple container images through the layer hierarchy.

Inventive Principle:
Principle #7Nested doll (Nesting)

2Productivity

If a single file within a layer is changed, then the container image can be updated, but the entire layer must be re-created and re-uploaded causing data duplication

Engineering Contradiction:
Improveupdate speedVSAvoiddata duplication
Core Design Contradiction:
ProductivityVSLoss of substance

Solution Approach 1:

When a single file within a layer needs to be updated, the system extracts only that specific file or a smaller sub-layer containing the changed file, rather than re-creating the entire layer. This extracted portion is then uploaded independently, avoiding data duplication of the unchanged portions.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The layer is further segmented into smaller units or sub-layers, allowing granular updates. When a file changes, only the relevant sub-layer is modified and re-uploaded, while other sub-layers remain intact and are not duplicated.

Inventive Principle:
Principle #1Segmentation

3Quantity of substance

If layers are stored as single compressed units, then storage efficiency is improved, but specific changes within layers cannot be detected

Engineering Contradiction:
Improvestorage efficiencyVSAvoidchange detection capability
Core Design Contradiction:
Quantity of substanceVSDifficulty of detecting and measuring

Solution Approach 1:

While layers are stored as compressed units for storage efficiency, each layer is segmented into smaller sub-layers or file groups. This segmentation enables change detection at a granular level by comparing specific sub-layers between versions, while the overall layer remains compressed for storage efficiency.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system adds a dimensional layer of indexing and metadata that tracks file locations within compressed layers. This additional dimension enables change detection without requiring decompression, as the indexing structure allows direct comparison of specific files or sub-layers.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

4Reliability

If the entire layer is re-uploaded when a single file changes, then data consistency is maintained, but bandwidth usage increases

Engineering Contradiction:
Improvedata consistencyVSAvoidbandwidth usage
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The system extracts only the specific file or minimal sub-layer that contains the changed file, rather than re-uploading the entire layer. This extracted portion is uploaded independently to maintain data consistency, significantly reducing bandwidth usage compared to full layer re-upload.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The upload process is made dynamic by determining the minimal necessary portion to upload based on the specific file changes. The system adaptively selects only the required sub-layers or files for re-upload, optimizing bandwidth usage while maintaining consistency where needed.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS12282460B2Representing container images in an image registry
Publication Date: 2025.04.22 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US12282460B2 patent drawing
  • US12282460B2 patent drawing
  • US12282460B2 patent drawing

AI summary

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.