Platform Orchestrator Upgrade Ordering for Software Workloads

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing cloud software platforms face challenges in upgrading computing resources without disrupting executing workloads, particularly due to lack of visibility into workload topologies and interactions with platform orchestrators, leading to costly and disruptive migration processes.

Innovation Solution

A platform orchestrator is provided with visibility into workload topologies and an interface for workloads, allowing controlled in-place upgrades by specifying upgrade orderings and using workload-specific directives to prevent intermingling of tasks on nodes, thereby minimizing disruptions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional migration processes are used to upgrade computing resources, then upgrade capability is achieved, but workload disruption and migration costs increase

Engineering Contradiction:
Improveworkload continuityVSAvoiddowntime during upgrade
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system segments the platform nodes into multiple groups based on workload topology and interdependencies. This allows incremental upgrading of individual node groups while others remain operational, enabling continuous workload execution throughout the upgrade process and eliminating the need for complete platform downtime.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs preliminary analysis of workload topologies and node dependencies before initiating upgrades. By pre-planning the upgrade sequence and identifying critical dependencies, the system can execute upgrades in an optimal order that maintains workload continuity and prevents disruption to stateful applications.

Inventive Principle:
Principle #10Preliminary action

2Manufacturing precision

If comprehensive workload topology visibility is implemented, then upgrade precision is improved, but system complexity increases

Engineering Contradiction:
Improveupgrade ordering accuracyVSAvoidplatform orchestrator complexity
Core Design Contradiction:
Manufacturing precisionVSDevice complexity

Solution Approach 1:

The platform orchestrator introduces intermediary components that automatically discover and map workload topologies, node dependencies, and interconnections. These intermediaries abstract the complexity of topology analysis, providing the orchestrator with structured visibility information without requiring the orchestrator itself to implement complex discovery algorithms.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system implements feedback mechanisms where the platform orchestrator continuously monitors workload behavior and node status during upgrades. This feedback enables dynamic adjustment of upgrade sequences based on actual system state, improving upgrade precision while the automated feedback loops handle the complexity of real-time decision-making.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS11269613B2Software platform upgrades
Publication Date: 2022.03.08 PIVOTAL SOFTWARE INC
  • US11269613B2 patent drawing
  • US11269613B2 patent drawing
  • US11269613B2 patent drawing

AI summary

Methods, systems, and apparatus, including computer programs encoded on computer storage media, for upgrading a software platform. One of the methods includes receiving, by a platform orchestrator, a request to upgrade computing resources of a software platform launched by the platform orchestrator, wherein a workload having multiple different software tasks is executing on multiple nodes of the software platform launched by the platform orchestrator; obtaining, by the platform orchestrator, a workload specification that specifies an upgrade ordering among multiple groups of the multiple software tasks executing on the software platform; and upgrading, by the platform orchestrator, all platform nodes that execute one or more software tasks in a first group of the multiple groups of software tasks before upgrading platform nodes that execute one or more software tasks in a second group of the multiple groups of software tasks, according to the upgrade ordering specified in the workload specification.