Container Runtime Module Digest Deduplication

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing performance sampling tools are ineffective in cloud computing environments due to the complexity and prevalence of relative paths and virtual resources, making it difficult to parse module files and maintain modules for thousands of containers without adversely affecting performance.

Innovation Solution

A method that involves parsing module files from multiple containers, calculating a digest value as a unique identifier, and storing identifying aspects and module content in memory objects to correlate with images and layers, thereby avoiding duplicate processing and overhead.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If existing performance sampling tools are used in cloud computing environments, then performance sampling can be attempted, but the tools become ineffective due to relative paths and virtual resources

Engineering Contradiction:
Improvecompatibility with cloud container environmentsVSAvoideffectiveness of performance sampling
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent introduces a container runtime as an intermediary component that bridges the gap between traditional performance sampling tools and cloud container environments. The runtime intercepts system calls, resolves virtual paths to actual module locations, and provides absolute paths to sampling tools, enabling them to function correctly in cloud environments without modification

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent replaces the mechanical file system path resolution mechanism with a virtualized path translation layer. Instead of relying on traditional absolute paths that work on host systems, the system substitutes virtual paths with resolved absolute paths through the container runtime's path translation capabilities

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

2Measurement precision

If module files are parsed and kept for thousands of containers, then performance sampling coverage is improved, but system performance deteriorates due to resource strain

Engineering Contradiction:
Improveperformance sampling accuracyVSAvoidsystem performance
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The patent merges the module parsing and caching functionality into a centralized runtime component that serves all containers on the host. Instead of each container maintaining its own module cache, the runtime creates a unified module index that is shared across all containers, eliminating redundant parsing operations

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The runtime performs preliminary parsing and indexing of module files during container initialization or on-demand, before performance sampling occurs. By pre-resolving module paths and building the module index in advance, the system avoids the performance penalty of parsing modules during actual sampling operations

Inventive Principle:
Principle #10Preliminary action

3Device complexity

If duplicate module processing is allowed, then simplicity is maintained, but resource overhead increases significantly

Engineering Contradiction:
Improvesimplicity of processingVSAvoidprocessing overhead
Core Design Contradiction:
Device complexityVSLoss of energy

Solution Approach 1:

The patent changes the parameter of module identification from container-specific paths to unique content-based identifiers. By hashing module content and using the hash as the identification key, the system transforms the identification parameter to enable efficient deduplication across all containers

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent creates a virtual copy of the module indexing functionality within the runtime, allowing it to maintain a centralized index of all modules without physically copying the modules themselves. This virtual indexing enables the system to track and avoid processing duplicate modules while maintaining simplicity

Inventive Principle:
Principle #26Copying

Data Source

PatentUS11853786B2Performance of containers
Publication Date: 2023.12.26 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US11853786B2 patent drawing
  • US11853786B2 patent drawing
  • US11853786B2 patent drawing

AI summary

A method, computer program product, and a system where a processor(s), in a computing environment comprised of multiple containers comprising modules, includes a processor(s) parsing a module originating from a given container in the computing environment by copying various identifying aspects of a module file comprising the module and calculating, based on contents of the module file, a digest value as a unique identifier for the module file. The processor(s) stores the various identifying aspects of the module file and the digest value in one or more memory objects, wherein the one or more memory objects comprise a module content map to correlate the unique identifier for the module file with the contents of the module, images in the module file with the unique identifier for the module file, and layers with the unique identifier for the module file.