Source Archive Classification for Container Image Size Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Container image building is inefficient due to the need for manual scripting and customization, leading to large image sizes and scalability issues, as users must handle low-level commands and manage multiple layers, making the process time-consuming and prone to errors.

Innovation Solution

A system that automatically classifies, sorts, downloads, and installs user-selected source archives into container images, reducing the need for manual scripting by using HTTP auto copy operations and checksums to optimize image size and scalability, while preserving permissions and caching mechanisms to improve build efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If manual scripting and customization are used for container images, then customization requirements can be met, but the building process becomes time-consuming and not easily scalable

Engineering Contradiction:
Improvecustomization capabilityVSAvoidbuild speed
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The system enables self-service by allowing users to simply select source archives through a graphical interface without requiring manual scripting. The automated system handles the entire build process including classification, command generation, layer creation, and installation, freeing users from manual operations while maintaining customization capability.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system changes the parameter of automation level from manual scripting to automated execution. By detecting source archive types and automatically generating appropriate commands, the system maintains customization flexibility while dramatically improving build speed and scalability.

Inventive Principle:
Principle #35Parameter changes

2Reliability

If separate copy commands and run commands are used for each source archive, then source archives can be installed, but container image sizes grow too large

Engineering Contradiction:
Improveinstallation accuracyVSAvoidcontainer image size
Core Design Contradiction:
ReliabilityVSWeight of moving object

Solution Approach 1:

The system merges multiple separate copy and run commands into a single integrated operation. By combining the copying of source archives with the execution of installation commands in unified layers, the system reduces the total number of layers and minimizes redundant data transmission, thereby reducing container image size while maintaining installation accuracy.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The system extracts and removes unnecessary intermediate layers and redundant commands from the build process. By identifying and eliminating unnecessary copy operations and consolidating essential operations, the system reduces the overall size of the container image while preserving the necessary installation functionality.

Inventive Principle:
Principle #2Taking out (Extraction)

3Adaptability or versatility

If handwritten low-level scripts are required for container builds, then customization can be achieved, but the process becomes complex and error-prone

Engineering Contradiction:
Improvecustomization capabilityVSAvoidscripting complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The system replaces the mechanical system of manual scripting with an automated intelligent system. Instead of requiring users to write and debug low-level commands, the system automatically detects source archive types, generates appropriate commands, manages layers, and executes installations, thereby reducing complexity while maintaining customization capability.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Solution Approach 2:

The system introduces an intermediary layer between the user's high-level selection and the low-level execution commands. This intermediary automatically translates user-selected source archives into appropriate build commands, managing the complexity of command generation, layer creation, and installation execution.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Reliability

If multiple layers are created for each source archive, then source archives can be installed, but build latency increases

Engineering Contradiction:
Improvebuild accuracyVSAvoidbuild latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system merges multiple source archive installations into fewer combined layers by detecting when source archives can be processed together. This reduces the total number of layer creation operations and minimizes sequential build time, thereby reducing latency while maintaining build accuracy through proper layer management.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The system performs preliminary classification and planning of source archives before execution. By analyzing source archive types and determining optimal installation sequences in advance, the system can execute builds more efficiently, reducing overall latency while ensuring accurate installation through pre-planned operations.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS20240012663A1Source archive optimizations for reducing container image sizes
Publication Date: 2024.01.11 NVIDIA CORP
  • US20240012663A1 patent drawing
  • US20240012663A1 patent drawing
  • US20240012663A1 patent drawing

AI summary

In various examples, source archives may be classified, sorted, downloaded, and installed using command files for container image generation. For example, a user may select source archives for inclusion in a container build operation, and the system may classify the source archives as belonging to one of any number of classes and/or sub-classes. Where a size of the source archive is below an associated threshold, the source archive may be included in the container image using native context copy operations. In contrast, where the size of the source archive is above the associated threshold, the source archive may be included in the container image using a local HTTP auto copy operation—e.g., by creating a local HTTP server, and generating a command line such that a container builder retrieves the archive information via the local HTTP server.