Shim Injection for Running Containers

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing container management systems face challenges in rapidly updating dependencies within container images to address vulnerabilities and maintain compatibility without causing downtime, especially when source code is unavailable or when dependencies are outdated.

Innovation Solution

An automated control system, such as a Kubernetes operator, that injects shims into running containers based on predefined criteria, allowing for the rerouting of API calls and altering functionality without shutting down the containers, thereby maintaining compatibility and security without requiring source code updates.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If container images are updated with new dependency versions to address vulnerabilities and compatibility issues, then security and compatibility are improved, but container downtime increases due to the need to shut down, rebuild, and redeploy containers

Engineering Contradiction:
Improvesecurity and compatibilityVSAvoidcontainer downtime
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system segments the dependency update process by separating the shim injection mechanism from the container runtime. The shim layer is injected independently into running containers, allowing dependency updates without requiring container shutdown or rebuild operations.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a shim as an intermediary layer between the container application and the underlying dependency libraries. This shim intercepts and redirects calls to updated dependencies, enabling security and compatibility fixes without directly modifying or restarting the container.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If containers are shut down and rebuilt to update dependencies, then dependency versions are updated, but service availability deteriorates due to required downtime

Engineering Contradiction:
Improvedependency version updatesVSAvoidservice availability
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The system performs preliminary actions by pre-compiling shims with the necessary dependency updates before injecting them into running containers. This allows the container to continue operating while the updated dependency interface is already prepared and ready for immediate activation.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The shim injection mechanism enables continuous operation of containers while dependency updates are applied. The shim layer maintains the call interception and redirection functionality throughout the update process, ensuring uninterrupted service availability while adapting dependency versions.

Inventive Principle:
Principle #20Continuity of useful action

3Reliability

If manual updates of container dependencies are performed, then compatibility is maintained, but productivity decreases due to time-consuming manual intervention

Engineering Contradiction:
ImprovecompatibilityVSAvoidupdate speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system implements self-service automation where the shim injection operator automatically scans for containers matching injection criteria, selects appropriate shims, and performs injection operations without manual intervention. The operator monitors and manages the entire update process autonomously, maintaining compatibility while dramatically improving update speed.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The automated operator incorporates feedback mechanisms by continuously monitoring container states, tracking injection progress, and adjusting operations based on real-time conditions. This feedback loop ensures compatibility is maintained while optimizing update throughput and productivity across multiple containers.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS20240211323A1Automatically injecting shims into running containers
Publication Date: 2024.06.27 RED HAT INC
  • US20240211323A1 patent drawing
  • US20240211323A1 patent drawing
  • US20240211323A1 patent drawing

AI summary

One example can include a system that can determine that a subset of containers in a distributed computing environment have characteristics that match a predefined set of shim injection criteria. The system can then inject respective copies of a shim into the subset of containers, while the subset of containers are running in the distributed computing environment. Each respective copy of the shim may be configured to intercept calls between software programs in a corresponding container.