Container Image Metadata Prefetching for Startup Latency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Container startup times are significant due to the need for a fully initialized file system and operating system distribution, with a majority of copied data not being necessary for the container to function effectively, leading to resource wastage and inefficiency.

Innovation Solution

A system that receives an image ID, retrieves image metadata, generates a container, and executes the application using the metadata, prefetching only the necessary data on-demand from a registry, allowing for partial or whole image data execution without complete local storage download, and enabling smart prefetching and parallel downloading.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the complete container image is downloaded and stored locally before execution, then the container can execute reliably with all necessary files and dependencies, but the startup time increases significantly and storage resources are wasted

Engineering Contradiction:
Improvecontainer execution reliabilityVSAvoidcontainer startup time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The container image is segmented into multiple layers (read-only layers and read-write layer). The read-only layers are downloaded and stored locally, while the read-write layer is created locally without downloading. This segmentation allows the system to execute containers with minimal local storage while maintaining reliability through the preserved read-only layers containing essential system files and dependencies.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The read-only layers are downloaded and prepared in advance before container execution is needed. This preliminary action ensures that essential system files, libraries, and dependencies are already available locally, enabling fast container startup without compromising execution reliability. The base image and common layers are pulled beforehand, so when a container needs to run, the heavy lifting is already done.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If the complete container image is downloaded and stored locally, then all application files and dependencies are available for execution, but significant storage resources are consumed and data transfer bandwidth is wasted

Engineering Contradiction:
Improveapplication execution capabilityVSAvoidlocal storage consumption
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The container image is divided into read-only layers (stored in remote registry) and read-write layer (created locally). Only the essential read-only layers are downloaded and cached locally, while the read-write layer is generated locally without downloading. This segmentation dramatically reduces local storage consumption while maintaining full application execution capability, as the read-only layers contain shared system files that can be reused across multiple containers.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The read-only layers are designed to be universal and reusable across multiple containers. By storing these layers in the remote registry with content-addressable storage, the same layers can be shared by multiple containers, reducing redundant storage. The local system only needs to store the unique read-write layer for each container, while sharing common base layers remotely, thus minimizing total storage consumption.

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

3Reliability

If all container image data is downloaded before execution, then the container can run with full functionality, but the data transfer time and network bandwidth consumption increase

Engineering Contradiction:
Improvecontainer functionalityVSAvoidimage download time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The container image data transfer is segmented into read-only layers (downloaded from registry) and read-write layer (created locally). This segmentation eliminates the need to download the entire image, reducing data transfer time significantly. The read-only layers are downloaded on-demand or in advance, while the read-write layer is generated locally, avoiding unnecessary network transfers and reducing overall container provisioning time.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The read-only layers are downloaded and cached in advance before container execution is required. This preliminary data transfer action ensures that essential image data is already available locally, so when a container needs to run, the system can quickly create the read-write layer and start execution without waiting for large downloads. The base image and common layers are pulled beforehand, reducing the critical path time for container startup.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10521447B2Container application execution using image metadata
Publication Date: 2019.12.31 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10521447B2 patent drawing
  • US10521447B2 patent drawing
  • US10521447B2 patent drawing

AI summary

An example system and method includes a processor to receive an image ID corresponding to a container image of a container to be run. The processor is to also send the image ID to a registry. The processor is also to receive an image metadata corresponding to the image ID from the registry. The processor is to store the image metadata on a local file system. The processor is to generate a container comprising an application. The processor is to execute the application using the image metadata.