Persisted Container Updates Using Delta Layers for State Preservation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing container computing environments face challenges in preserving the state of containers across updates, particularly due to dependency issues arising from modifications to the read-only portion, such as operating system updates, which can invalidate the writeable portion and lead to loss of persisted state.

Innovation Solution

A system and method for managing container updates by recording updates and side effects as separate delta layers and storages, using a data structure to maintain dependencies, and employing a filesystem filter driver to capture and record these changes, ensuring the original content remains intact.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If modifications are made to the read-only portion of a container (e.g., operating system updates), then the base layer can be updated, but dependency issues arise with the preserved state of the writeable portion, causing loss of persisted state

Engineering Contradiction:
Improvepreservation of container stateVSAvoidability to update base layer
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The container is divided into separate layers: a base layer (read-only) and a writeable portion (writeable). This segmentation allows independent updates to the base layer without affecting the persisted state in the writeable portion, resolving the dependency issue between layer updates and state preservation.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The writeable portion is extracted as a separate, independent entity from the base layer. By taking out the writeable portion as an independent layer, it can maintain its persisted state without being invalidated by modifications to the base layer, enabling both updates and state preservation.

Inventive Principle:
Principle #2Taking out (Extraction)

2Reliability

If the writeable portion is made independent to preserve state across updates, then state persistence is improved, but complexity increases in managing layer dependencies and updates

Engineering Contradiction:
Improvestate persistence across updatesVSAvoidmanagement of layer dependencies
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

A layer manager component is introduced as an intermediary to handle the complexity of managing layer dependencies. The layer manager coordinates updates between the base layer and writeable portion, automatically handling the relationships and reducing the burden on users while maintaining state persistence.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Adaptability or versatility

If traditional container updates are performed, then base layer can be modified, but the state of the container cannot be preserved across updates

Engineering Contradiction:
Improvebase layer updatabilityVSAvoidloss of persisted state
Core Design Contradiction:
Adaptability or versatilityVSLoss of information

Solution Approach 1:

The writeable portion is prepared in advance as a separate layer before base layer updates occur. This preliminary structuring ensures that when base layer updates are performed, the writeable portion's state is already isolated and protected, preventing information loss while allowing base layer adaptability.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentEP4603966A1Systems and methods for persisted container updates
Publication Date: 2025.08.20 MICROSOFT TECHNOLOGY LICENSING LLC
  • EP4603966A1 patent drawingFigure 1
  • EP4603966A1 patent drawingFigure 2
  • EP4603966A1 patent drawingFigure 3A

AI summary

Examples of the present disclosure describe devices, systems, and methods for persisting containers across updates. In examples, a computing device receives an update to a base layer of the device associated with a persisted storage of a container stored by the device. The content of the persisted storage is used as input to the base layer. The device applies the update to the base layer and determines the side effects of the update on the content of the persisted storage. The device then records the sequence of operations as a delta layer for the base layer and side effects as a delta storage for the persisted storage. Recording includes associating the delta storage with the persisted storage, the delta layer with the base layer, and the persisted storage with the base layer, such that the content of the persisted storage is used as input to the delta layer.