Token Ring Architecture for Atomic Container Upgrades

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In container-based operating system level virtualization environments, existing technologies face challenges in efficiently upgrading user applications across multiple nodes while ensuring application liveness, health, and rolling back to previous versions in case of failures, often requiring manual intervention and lacking atomicity in upgrades.

Innovation Solution

The solution employs a token passing method among OS-level virtualization instances to determine liveness, selectively upgrade containerized applications, perform health checks, and roll back upgrades if necessary, using a token ring architecture to manage upgrades and downgrades across nodes in an all-or-nothing fashion.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If manual intervention is used to upgrade user applications across multiple nodes, then application liveness and health can be monitored, but the upgrade process is time-consuming and lacks atomicity

Engineering Contradiction:
Improveapplication liveness and healthVSAvoidupgrade time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system implements automated upgrade management where the token passing mechanism and health check protocols operate without manual intervention. The OS-level virtualization application automatically coordinates upgrades across nodes, performs health checks, and manages rollbacks based on automated failure detection, eliminating the need for manual operations while maintaining reliability.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system performs preliminary health checks and liveness determinations before executing upgrades. The token passing mechanism预先 establishes the upgrade sequence and verifies node readiness, ensuring that upgrades only proceed when conditions are favorable, thus preventing failures and reducing rework time.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If automated upgrade methods are implemented across multiple nodes, then upgrade speed increases, but ensuring atomicity and rollback capability becomes complex

Engineering Contradiction:
Improveupgrade speedVSAvoidupgrade coordination complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent introduces a token as an intermediary mechanism that simplifies upgrade coordination. The token passes sequentially through nodes, carrying upgrade instructions and status information. This intermediary approach transforms a complex multi-node coordination problem into a simple sequential process, enabling atomic upgrades with straightforward rollback capability.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The upgrade process is segmented into discrete node-level operations coordinated by token passing. Each node independently executes upgrades based on token instructions, and failures are contained to individual nodes. This segmentation enables parallel processing while maintaining atomicity, as the token ensures coordinated execution across all nodes.

Inventive Principle:
Principle #1Segmentation

3Reliability

If health checks are performed during upgrades, then application reliability improves, but the overall upgrade process time increases

Engineering Contradiction:
Improveapplication healthVSAvoidhealth check time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system implements periodic health checks at strategic points in the upgrade process rather than continuous monitoring. Health checks are performed at predetermined intervals (e.g., before upgrade, during upgrade, after upgrade) based on token passing cycles, balancing reliability verification with minimal time overhead.

Inventive Principle:
Principle #19Periodic action

Data Source

PatentUS10474451B2Containerized upgrade in operating system level virtualization
Publication Date: 2019.11.12 CISCO TECHNOLOGY INC
  • US10474451B2 patent drawing
  • US10474451B2 patent drawing
  • US10474451B2 patent drawing

AI summary

Utilizing several passes of a token among the operating system level virtualization applications (OSLVAs) running on each of an ordered list of nodes selectively upgrade user applications in specific containers after determining that each OSVLA hosting a container to be upgraded is live. A failed liveness check can cause a revision to the list of nodes. Post-upgrade health checks of each application, and a list-wide notification of a completed upgrade of the application instances, can follow a successful upgrade. A roll back of the upgrade across all nodes can follow an unsuccessful upgrade.