Autonomous Upgrade System for Distributed Computing Environments

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional methods for upgrading distributed computing resources in a distributed computing environment require significant manual intervention, are resource-intensive, and prone to human error, leading to inefficiencies and prolonged periods with unpatched virtual machines regarding security fixes.

Innovation Solution

An autonomous upgrade system that includes an upgrade manager component to identify and deploy certified updates to computing machines, perform diagnostic tests, and batch processing to minimize service interruptions, ensuring efficient and automated application of updates while ensuring tenant application availability.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If manual intervention is used for upgrading distributed computing resources, then updates can be applied with human oversight, but the process becomes resource-intensive and prone to human error

Engineering Contradiction:
Improveupgrade reliabilityVSAvoidupgrade process complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system enables self-service through automated upgrade management where the upgrade manager component autonomously identifies updates, batches computing machines, deploys certified updates, and performs diagnostic tests without manual intervention. This eliminates human error while maintaining reliable upgrade processes through systematic automation.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system implements feedback mechanisms through diagnostic tests that monitor the health of applications after updates are deployed. The upgrade manager receives feedback from these tests to determine whether updates were successfully deployed, enabling continuous monitoring and verification of upgrade reliability.

Inventive Principle:
Principle #23Feedback

2Productivity

If conventional upgrade methods are used, then updates can be applied to computing machines, but the process is resource-intensive and time-consuming

Engineering Contradiction:
Improveupgrade speedVSAvoidcomputational resource consumption
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The system segments the upgrade process into distinct phases: identifying updates, certifying updates through test environments, batching computing machines into groups, and deploying updates to batches. This segmentation enables parallel processing of multiple batches simultaneously, improving upgrade speed while optimizing resource consumption through controlled parallelism.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs preliminary actions by certifying updates in a test environment before deploying them to production computing machines. The certification component deploys updates to test computing machines and monitors application health to certify updates in advance, ensuring faster and safer production deployments.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If updates are deployed without certification, then deployment speed increases, but the risk of application failure and service disruption increases

Engineering Contradiction:
Improveapplication availabilityVSAvoidupdate certification time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs preliminary certification of updates in a test environment before production deployment. The certification component deploys updates to test computing machines, monitors application health, and certifies updates in advance, ensuring that only validated updates are deployed to production, thereby maintaining application availability.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system introduces a test environment as an intermediary between update development and production deployment. The certification component acts as a mediator that validates updates through diagnostic tests and health monitoring in the test environment before allowing production deployment, reducing the risk of service disruption.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Productivity

If all computing machines are updated simultaneously, then upgrade completion is faster, but service interruptions and system instability increase

Engineering Contradiction:
Improveupgrade completion rateVSAvoidsystem stability
Core Design Contradiction:
ProductivityVSStability of the object's composition

Solution Approach 1:

The system segments computing machines into batches and deploys updates to batches sequentially or in controlled parallel groups. The upgrade manager component batches computing machines based on dependencies and constraints, maintaining system stability while achieving efficient upgrade completion through managed batch processing.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10915314B2Autonomous upgrade of deployed resources in a distributed computing environment
Publication Date: 2021.02.09 MICROSOFT TECHNOLOGY LICENSING LLC
  • US10915314B2 patent drawing
  • US10915314B2 patent drawing
  • US10915314B2 patent drawing

AI summary

Various methods and systems for autonomously upgrading deployed resources in a distributed computing environment are provided. An autonomous upgrade system identifies updates such as operating system image updates and virtual machine extension updates for deployment in the distributed computing environment. The autonomous upgrade system identifies eligible tenants, identifies deployed resources that may be impacted by the identified update, batches the resources and upgrades the batched resources. The autonomous upgrade system performs a diagnostic test on upgraded resources to determine whether an upgrade was successful. In some embodiments, the diagnostic test is performed by executing a diagnostic script that can be provided by a tenant. The autonomous upgrade system can stop or pause the upgrade if various success metrics are not satisfied. In some embodiments, the autonomous upgrade system tests and certifies newly published updates for deployment to the distributed computing environment.