Hitless Container Upgrade via External State Hand-off
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In resource-constrained environments, such as embedded devices or network switches, software upgrades are challenging to perform without system downtime, as these systems often lack the processing capacity or memory to use orchestrators or virtual machines for hitless upgrades.
Innovation Solution
A hitless container upgrade mechanism that replaces a current container with a new one without an orchestrator, by maintaining the system's state externally and ensuring seamless transition through state verification and hand-off processes, allowing for continuous service operation during the upgrade.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If an orchestrator or virtual machine is used for hitless upgrades, then service continuity is maintained, but resource consumption increases beyond what resource-constrained devices can provide
Solution Approach 1:
The patent extracts the state management functionality from the container runtime environment and places it in an external persistent storage system. This allows the upgrade mechanism to operate without requiring an orchestrator or virtual machine, significantly reducing resource consumption while maintaining service continuity through external state preservation
Solution Approach 2:
The patent introduces an intermediary state verification and hand-off mechanism that coordinates the transition between old and new containers. This intermediary layer ensures service continuity by managing state transfer without requiring heavy orchestrator infrastructure, making hitless upgrades feasible on resource-constrained devices
2Use of energy by moving object
If software upgrades are performed in resource-constrained environments, then resource efficiency is improved, but system downtime increases
Solution Approach 1:
The patent performs preliminary state verification before the container switch occurs. The new container's state is verified against the old container's state in advance, ensuring compatibility and correctness before the actual upgrade. This preliminary action prevents failed upgrades that would cause extended downtime, achieving fast rollback capability
Solution Approach 2:
The patent maintains continuous service operation during the upgrade by keeping the old container running alongside the new container during the transition. The state hand-off process ensures that service functionality continues uninterrupted, achieving minimal downtime without requiring heavy orchestrator resources
3Productivity
If state information is stored externally for hitless upgrades, then upgrade speed is improved, but memory requirements increase
Solution Approach 1:
The patent uses inexpensive persistent storage (such as flash memory or disk-based storage) to store container state information externally, rather than requiring large amounts of expensive RAM. This approach enables fast state retrieval for verification and hand-off while keeping memory requirements within the constraints of resource-constrained devices
Data Source
AI summary
Systems, methods, and computer-readable media are disclosed for performing a hitless upgrade of executable code in the absence of an orchestrator or other upgrade manager. A mechanism is disclosed that utilizes containers to update software functionality, features, or the like without interrupting a service provided by a container and without relying on an orchestrator or other upgrade manager to coordinate the upgrade process. State information indicative of a current state of module(s) within a container is maintained in an external data store such as a state database. A hand-off from a current container to a new container that updates module code/functionality of the current container can be initiated upon determining that a state metric calculated by the old container at a future timestamp matches a state metric independently calculated by the new container at the same timestamp.


