Controller Rollout Architecture for Stable Tenant Stack Updates

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In cloud computing environments, immediate updates to software stack controllers can negatively impact all instances, leading to undesirable effects and difficulties for multiple customers due to the lack of controlled rollout processes.

Innovation Solution

A system and method utilizing a super controller to manage instance-scoped controllers and metadata, allowing for a safe and controlled deployment of software updates by declaring a desired state and gradually updating software stack instances within a fleet, thereby controlling the pace of updates and preventing simultaneous impact on all instances.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a new version of the controller is deployed immediately to all software stack instances, then the deployment speed is improved, but the system stability deteriorates because problematic code changes can negatively impact all instances simultaneously

Engineering Contradiction:
Improvedeployment speedVSAvoidsystem stability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent segments the deployment process by introducing a super controller that manages multiple instance-scoped controllers independently. Each instance-scoped controller handles updates for specific software stack instances separately, allowing controlled rollout to subsets of instances rather than simultaneous updates across all instances. This segmentation enables monitoring and rollback capabilities at the instance level, resolving the contradiction between fast deployment and system stability.

Inventive Principle:
Principle #1Segmentation

2Loss of time

If all software stack instances are updated simultaneously, then the update completion time is reduced, but the risk of widespread impact from problematic code increases

Engineering Contradiction:
Improveupdate completion timeVSAvoidwidespread impact from problematic code
Core Design Contradiction:
Loss of timeVSObject-affected harmful factors

Solution Approach 1:

The patent implements preliminary action by requiring the super controller to first validate and approve the new controller version before allowing instance-scoped controllers to deploy it. The system performs preliminary testing and verification at the super controller level, and only after successful validation does it coordinate the rollout to individual instances. This preliminary action prevents problematic code from affecting multiple instances simultaneously while maintaining efficient update propagation.

Inventive Principle:
Principle #10Preliminary action

3Device complexity

If a centralized controller manages all software stack instances, then the control simplicity is improved, but the ability to control update pace and isolate failures deteriorates

Engineering Contradiction:
Improvecontrol structureVSAvoidupdate pace control and failure isolation
Core Design Contradiction:
Device complexityVSAdaptability or versatility

Solution Approach 1:

The patent introduces an intermediary architecture where the super controller acts as a mediator between the centralized deployment process and individual instance-scoped controllers. The super controller coordinates updates, monitors health status, and can isolate failures by preventing propagation to unaffected instances. This intermediary structure maintains centralized coordination benefits while enabling fine-grained control over update pace and failure isolation at the instance level.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS11900094B2System and method for providing software rollouts within a controller-based container orchestration system
Publication Date: 2024.02.13 ORACLE INT CORP
  • US11900094B2 patent drawing
  • US11900094B2 patent drawing
  • US11900094B2 patent drawing

AI summary

In accordance with an embodiment, described herein is a system and method for providing software rollouts within a controller-based container orchestration system. A super controller is responsible for launching and communicating with instance-scoped controllers for various software stack instances. Each software stack instance provides a specific instantiation of a software stack that has been deployed for a specific customer or tenant. The controllers allow a desired state of a system, such as a configuration or version of a software stack instance, to be declared via metadata, and then operate to realize the desired state into a live state. When applied to a cloud computing or containerized software environment that runs single-tenant workloads of many customers or tenants, a deployment process applies software updates in a safe, controlled manner, for example to control the pace of updating each of the several instances within a fleet.