Distributed Cluster Update Coordination via Parallel Rollout Engines

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In distributed computing environments, ensuring all instances of computing resources are updated efficiently and accurately is resource-intensive and challenging due to the difficulty in tracking which resources have been updated and which have not.

Innovation Solution

Implementing a system with a feedback loop that continuously monitors the rollout status of clusters across multiple data centers, using Kubernetes object resource types to support incremental change notifications, and a rollout engine to manage simultaneous updates across entire fleets of clusters.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If traditional sequential updating methods are used to ensure all instances are updated, then update accuracy is improved, but productivity deteriorates due to resource-intensive operations and lengthy update times

Engineering Contradiction:
Improveupdate accuracyVSAvoidupdate speed
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The system segments the update process into independent parallel operations by assigning different update tasks to multiple rollout engines, each responsible for specific clusters or regions. This allows simultaneous execution of updates across different segments while maintaining tracking of each segment's status, thereby improving overall update speed without sacrificing accuracy.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system implements comprehensive feedback mechanisms where rollout engines continuously report update status back to the coordination system. This feedback loop enables real-time monitoring of which instances have been updated and which remain pending, allowing the system to maintain accurate tracking even while running multiple parallel update operations across distributed clusters.

Inventive Principle:
Principle #23Feedback

2Measurement precision

If comprehensive tracking of all instances is implemented to ensure accurate updates, then measurement precision is improved, but device complexity worsens due to the need for monitoring systems across multiple data centers

Engineering Contradiction:
Improvetracking accuracyVSAvoidsystem complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The system introduces intermediary components including a coordination system and standardized APIs that act as mediators between the diverse distributed instances and the monitoring infrastructure. These intermediaries abstract the complexity of tracking individual instances across multiple data centers, providing a unified view of update status without requiring direct complex monitoring of each individual instance.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The rollout engine and coordination system are designed as universal, multi-functional components that can manage updates across different cluster types, data centers, and instance configurations through standardized interfaces. This universality reduces overall system complexity by providing a single, flexible tracking mechanism that works across all instances rather than requiring separate monitoring systems for each type of resource.

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Reliability

If updates are performed sequentially across clusters to maintain reliability, then reliability is improved, but loss of time worsens due to the extended duration of the updating process

Engineering Contradiction:
Improveupdate reliabilityVSAvoidupdate duration
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs preliminary actions by pre-planning and coordinating multiple rollout operations before execution. The coordination system prepares update packages, validates configurations, and establishes rollback procedures in advance. This preliminary preparation enables multiple clusters to be updated simultaneously with the same level of reliability control that would traditionally require sequential execution, thereby reducing total update time while maintaining reliability.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system dynamically adjusts the execution of parallel update operations based on real-time feedback from each cluster. Rollout engines can be dynamically started, paused, or terminated based on the status of other concurrent updates and the overall system state. This dynamic control allows the system to maintain reliability through adaptive coordination while maximizing parallel execution to reduce total update duration.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS11983524B2Automated upgrade in distributed computing environments
Publication Date: 2024.05.14 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US11983524B2 patent drawing
  • US11983524B2 patent drawing
  • US11983524B2 patent drawing

AI summary

A method for upgrading computing devices in a distributed computing environment is provided. The method includes receiving first and second rollout requests for a cluster relating to operational actions for computing devices associated with the cluster. A rollout status for the cluster is determined and the rollout requests are simultaneously performed on the cluster where the operational actions are simultaneously performed on the computing devices associated with the cluster. In addition, a rollout status is updated based on simultaneously performing the rollout requests for the cluster.