Persisted Container Upgrades Using Delta Layers for State Preservation
Find Innovative SolutionsGenerate 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 persisting containers across updates by managing updates to the read-only and writeable portions as separate layers, tracking side effects in a delta layer, and using a data structure to maintain dependencies, allowing for seamless rollback and efficient storage management.
Engineering Contradictions & Design Principles
Engineering 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 the writeable portion becomes invalid and the persisted state is lost
Solution Approach 1:
The patent segments the container file system into distinct read-only layers and a read-write layer, allowing independent management of each. The read-only layers can be updated without affecting the read-write layer's persisted state, resolving the contradiction between base layer update capability and container state persistence.
Solution Approach 2:
The patent introduces a merger layer that acts as an intermediary between the read-only layers and the read-write layer. This merger layer combines the read-only and read-write layers into a unified view, allowing base layer updates to propagate through the merger layer without invalidating the persisted state in the read-write layer.
2Reliability
If the writeable portion of a container is preserved across updates, then container state is maintained, but dependency issues arise with base layer modifications
Solution Approach 1:
The merger layer serves multiple functions: it merges read-only and read-write layers, handles dependency resolution, and provides a unified file system view. This multi-functionality reduces the complexity of managing layer dependencies by consolidating multiple responsibilities into a single component.
Solution Approach 2:
The system implements feedback mechanisms where the merger layer monitors changes in read-only layers and automatically updates the merged view accordingly. This feedback loop ensures that state preservation and dependency management are handled dynamically without requiring complex manual intervention.
3Productivity
If updates are applied directly to the base layer, then the base layer can be updated, but the container must be recreated losing the writeable portion
Solution Approach 1:
The merger layer is prepared in advance to handle the merging of read-only and read-write layers. When base layer updates occur, the pre-configured merger layer can quickly integrate the changes without requiring container recreation, thus maintaining productivity while avoiding time loss from recreation.
Solution Approach 2:
The system dynamically adjusts the merged layer view in response to base layer updates without requiring static container recreation. The merger layer adapts its merging operation based on the current state of read-only and read-write layers, enabling continuous operation and avoiding downtime associated with container recreation.
Data Source
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.


