Dependency Container Image Builder for Reducing Build Overhead

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional container image build processes require regenerating dependency layers for each new application container image, leading to substantial network bandwidth and processing overhead, especially in high-volume environments where dependencies can be large and frequently updated.

Innovation Solution

A container image builder maintains dependency container images that can be selected and combined with source code files to generate application container images, reducing the need to regenerate dependency layers by utilizing an existing dependency container image from a repository, and storing new dependency images for future use.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If dependency layers are regenerated for each new application container image, then application container images can be built with updated dependencies, but network bandwidth and processing overhead increase substantially

Engineering Contradiction:
Improvedependency currencyVSAvoidnetwork bandwidth
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The system performs preliminary actions by generating dependency container images in advance and storing them in a repository. When building application container images, the builder selects pre-generated dependency container images from the repository rather than generating them on-demand, thereby avoiding repeated network downloads and processing of the same dependencies.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system creates copies of dependency container images and stores them in a repository for reuse. Instead of downloading and processing dependency layers repeatedly for each application container image build, the builder selects and uses existing copies from the repository, significantly reducing network bandwidth consumption and processing overhead.

Inventive Principle:
Principle #26Copying

2Reliability

If dependency layers are regenerated for each new application container image, then applications can execute with current dependencies, but build time increases

Engineering Contradiction:
Improveapplication execution correctnessVSAvoidbuild time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

Dependency container images are generated in advance and stored in a repository. When building application container images, the system selects pre-generated dependency container images from the repository, eliminating the time-consuming process of regenerating dependencies during each application build.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

Pre-generated dependency container images are copied and stored in the repository for reuse. The builder selects existing copies rather than regenerating dependencies, dramatically reducing build time while ensuring applications execute with correct, current dependencies.

Inventive Principle:
Principle #26Copying

3Productivity

If dependency container images are maintained and selected from a repository, then build efficiency improves, but storage requirements increase

Engineering Contradiction:
Improvebuild efficiencyVSAvoidrepository storage
Core Design Contradiction:
ProductivityVSVolume of stationary object

Solution Approach 1:

Dependency container images are designed to be universal and reusable across multiple application container images. A single dependency container image can serve multiple applications that share the same dependencies, reducing redundant storage while maintaining build efficiency.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The system stores copies of dependency container images in the repository for reuse. While this increases storage requirements compared to generating dependencies on-demand, it dramatically improves build efficiency by eliminating repeated generation processes. The storage investment is offset by the time and resource savings from reuse.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS11934811B2Container image building using dependency container images
Publication Date: 2024.03.19 RED HAT LLC
  • US11934811B2 patent drawing
  • US11934811B2 patent drawing
  • US11934811B2 patent drawing

AI summary

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.