Automated Upgrade Subsystem for Distributed Service Applications

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In distributed computer systems, upgrading distributed applications across multiple physical servers is a time-consuming, error-prone, and complex process, especially when manual intervention is required for each server, leading to potential incompletely upgraded systems and complex bookkeeping challenges.

Innovation Solution

An automated upgrade subsystem that facilitates a hierarchical, rolling upgrade of distributed service-based applications, allowing system administrators to initiate a system-wide upgrade with a single input, automatically generating snapshots, detecting issues, and performing a distributed rollback if necessary.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If manual upgrade process is used for each physical server, then system administrator can control each upgrade individually, but the upgrade process becomes extremely time-consuming and error-prone

Engineering Contradiction:
Improveupgrade control precisionVSAvoidupgrade time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The upgrade process is segmented into distinct phases: snapshot creation, upgrade execution, and verification. Each server's upgrade is divided into manageable steps with clear transition points, allowing automated orchestration while maintaining individual control over each server's upgrade journey.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Snapshots are created as a preliminary action before upgrades begin. This preparatory step establishes a rollback capability in advance, enabling safe automated upgrades without requiring manual intervention during the actual upgrade process.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If automated upgrade process is implemented across distributed computer system, then upgrade time is reduced and manual intervention is minimized, but system complexity and difficulty of managing upgrade status increases

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

Solution Approach 1:

The upgrade subsystem implements a universal automated upgrade mechanism that handles snapshot creation, upgrade execution, and verification across all servers in the distributed system. This single multi-functional subsystem replaces numerous manual operations and simplifies the overall upgrade management architecture.

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

Solution Approach 2:

The system continuously monitors upgrade status and provides feedback throughout the upgrade process. This feedback mechanism tracks which servers have been upgraded, which are in progress, and which require attention, automatically managing complexity through real-time status reporting and coordination.

Inventive Principle:
Principle #23Feedback

3Reliability

If hierarchical rolling upgrade is performed with snapshots, then rollback capability is ensured for failed upgrades, but additional storage requirements and processing overhead are introduced

Engineering Contradiction:
Improveupgrade rollback capabilityVSAvoidstorage resources
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

Snapshots are created as a preliminary protective measure before upgrades commence. This advance preparation ensures that if an upgrade fails, the system can automatically rollback to the pre-upgrade state, providing a safety net that enables confident automated upgrading across the distributed system.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10042628B2Automated upgrade system for a service-based distributed computer system
Publication Date: 2018.08.07 VMWARE INC
  • US10042628B2 patent drawing
  • US10042628B2 patent drawing
  • US10042628B2 patent drawing

AI summary

The current document is directed to an automated upgrade subsystem within a distributed computer system that executes a distributed, service-based application comprising multiple local instances of the a distributed, service-based application, each instance including one or more control programs executing on a physical computer-system component of the distributed computer system. In one implementation, the automated upgrade subsystem provides a user interface that allows a system administrator or other user to launch a distributed-system-wide upgrade of a distributed application with a single input to a single input feature on a displayed user interface. The automated upgrade subsystem carries out a hierarchical, rolling upgrade, automatically generates snapshots for each physical computer system prior to launching local upgrade logic on the physical computer systems, detects upgrade problems and, in certain cases, automatically conducts a distributed-computer-system-wide rollback for problems that cannot be automatically or manually resolved.