Container Update via Overlay Segmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The existing methods for updating container-based applications are inefficient, as they require creating a new container image and instantiating a new container for each change, leading to increased testing time and network resource consumption, especially when minor changes are made.

Innovation Solution

A system that allows updating a running container based on retrieved application code changes or a new version, eliminating the need to recreate a new container image and reducing network data transfer by only transmitting the updated code or changes, using a script within the container image to facilitate this process.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a new container image is created and a new container is instantiated for each application code change, then the application can be updated with complete isolation and consistency, but the testing time and network resource consumption increase significantly

Engineering Contradiction:
Improveapplication update consistencyVSAvoidtesting time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent segments the container image into two parts: a base image that remains unchanged and contains the runtime environment, and an overlay layer that contains the application code. This segmentation allows the base image to be reused across multiple updates while only the overlay layer needs to be updated, significantly reducing the time and resources required for each update cycle while maintaining consistency through the isolated overlay layer.

Inventive Principle:
Principle #1Segmentation

2Reliability

If a new container image is created and a new container is instantiated for each application code change, then the application can be updated with complete isolation and consistency, but the network data transfer increases due to transmitting large container images

Engineering Contradiction:
Improveapplication update consistencyVSAvoidnetwork data transfer
Core Design Contradiction:
ReliabilityVSLoss of substance

Solution Approach 1:

The patent extracts the application code from the large container image and places it in a separate overlay layer that can be updated independently. This extraction allows only the necessary code changes to be transmitted over the network rather than the entire container image, dramatically reducing network data transfer while maintaining the consistency and isolation benefits of containerization through the overlay mechanism.

Inventive Principle:
Principle #2Taking out (Extraction)

3Reliability

If a new container image is created and a new container is instantiated for each application code change, then the application can be updated with complete isolation and consistency, but the overall update process becomes complex and resource-intensive

Engineering Contradiction:
Improveapplication update consistencyVSAvoidupdate process complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent performs preliminary action by creating the base container image with the runtime environment once, and then uses this pre-prepared base image for all subsequent updates. This preliminary action eliminates the need to recreate the entire container image for each update, simplifying the update process while maintaining consistency through the standardized base image and isolated overlay layers.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11307839B2Updating of container-based applications
Publication Date: 2022.04.19 HEWLETT PACKARD ENTERPRISE DEV LP
  • US11307839B2 patent drawing
  • US11307839B2 patent drawing
  • US11307839B2 patent drawing

AI summary

Example techniques for updating of container-based applications are described. In an example, a second version of an application code or application code changes are retrieved from a code storage location. Based on the retrieved second version or the retrieved application code changes, an application hosted in a container is updated.