Hitless Container Upgrade via External State Hand-off

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improveservice continuityVSAvoidresource consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

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

Inventive Principle:
Principle #2Taking out (Extraction)

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

Inventive Principle:
Principle #24Intermediary (Mediator)

2Use of energy by moving object

If software upgrades are performed in resource-constrained environments, then resource efficiency is improved, but system downtime increases

Engineering Contradiction:
Improveresource efficiencyVSAvoidsystem downtime
Core Design Contradiction:
Use of energy by moving objectVSLoss of time

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

Inventive Principle:
Principle #10Preliminary action

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

Inventive Principle:
Principle #20Continuity of useful action

3Productivity

If state information is stored externally for hitless upgrades, then upgrade speed is improved, but memory requirements increase

Engineering Contradiction:
Improveupgrade speedVSAvoidmemory requirements
Core Design Contradiction:
ProductivityVSQuantity of substance

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

Inventive Principle:
Principle #27Cheap short-living objects (Disposable)

Data Source

PatentUS12020057B2Hitless container upgrade without an orchestrator
Publication Date: 2024.06.25 HEWLETT PACKARD ENTERPRISE DEV LP
  • US12020057B2 patent drawing
  • US12020057B2 patent drawing
  • US12020057B2 patent drawing

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.