Container Image Layering Optimization via Modification Factor Analysis

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing container image layering mechanisms in cloud services are inefficient, as they often require updating the entire image when a single software element is modified, leading to unnecessary re-uploading of sub-images and increased deployment time.

Innovation Solution

A mechanism that analyzes modification events to determine a modification factor for each software element, allowing for an optimized layering structure where only frequently updated elements are stored in top sub-images, reducing the number of sub-images that need to be updated and improving deployment efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If traditional container image layering is used where sub-images are stacked over a base sub-image, then the container image structure is simple and easy to manage, but updating a single software element requires re-uploading the entire image or multiple sub-images, increasing deployment time and resource usage

Engineering Contradiction:
Improvedeployment efficiencyVSAvoiddeployment time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent segments the container image into multiple sub-images (first sub-image, second sub-image, third sub-image) with a hierarchical structure. Each sub-image contains specific software elements, allowing selective updates. When a software element changes, only the affected sub-image needs to be updated and re-uploaded, rather than the entire image or multiple sub-images, thus reducing deployment time and resource usage.

Inventive Principle:
Principle #1Segmentation

2Reliability

If the entire container image is re-uploaded when any software element is modified, then update reliability is ensured, but resource usage and deployment time increase significantly

Engineering Contradiction:
Improveupdate reliabilityVSAvoidresource usage
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The patent extracts and identifies the specific sub-image containing the modified software element from the container image hierarchy. By determining which sub-image (first, second, or third sub-image) contains the changed element, the system re-uploads only that specific sub-image rather than the entire image, maintaining update reliability while significantly reducing resource usage and deployment overhead.

Inventive Principle:
Principle #2Taking out (Extraction)

3Productivity

If frequently updated software elements are stored in top sub-images, then update efficiency improves by minimizing re-uploads, but the layering structure becomes more complex requiring modification analysis

Engineering Contradiction:
Improveupdate efficiencyVSAvoidlayering structure complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent performs preliminary analysis of modification events to determine a modification factor for each software element before organizing the layering structure. Software elements are pre-categorized based on their modification frequency (frequently modified vs. infrequently modified), and this classification guides the placement into appropriate sub-images. This preliminary action enables efficient selective updates while maintaining a manageable hierarchical structure.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent applies different organization strategies to different parts of the container image hierarchy based on local characteristics. Frequently modified software elements are placed in top sub-images (first sub-image) for quick updates, while infrequently modified elements are placed in lower sub-images (second and third sub-images). This local quality approach optimizes update efficiency for specific regions without requiring complete restructuring of the entire image.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS10810003B2Method and system for optimization of container image layering
Publication Date: 2020.10.20 SALESFORCE INC
  • US10810003B2 patent drawing
  • US10810003B2 patent drawing
  • US10810003B2 patent drawing

AI summary

Methods and systems for optimization of layering of a container image are presented. A modification factor is determined, based on modification events, for each one of multiple software elements. A container image layering structure is determined, based at least in part on the modification factors of the software elements, where the container image layering structure defines a layering order for two or more container sub-images that form the container image, and the layering order determines an order with which container sub-image from the container sub-images are to be executed to form the entire container image, and the container image layering structure further defines for each one of the container sub-images a respective subset of one or more software elements from the plurality of software elements. The container image is deployed based on the container image layering structure to be used for generation of containers in a cloud processing system.