Automated Patching Workflow for Distributed Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Patching in distributed computing systems is complex and error-prone due to administrators' lack of knowledge about internal software components, leading to potential production downtime and data loss.

Innovation Solution

An automated patching process is introduced, where a patch definition file is created using a structured patch creation module, and a workflow template is built to define actions on software components and nodes, allowing for automated execution without manual intervention, with the ability to reverse and retry patching in case of failures.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If manual patching is performed by administrators, then patching can be executed with human judgment, but human errors occur and production downtime results

Engineering Contradiction:
Improvepatching reliabilityVSAvoidproduction downtime
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs self-service patching through automated agents that execute patching operations without human intervention. The intelligent agent automatically selects patches, determines compatibility, applies updates, and verifies success across distributed nodes, eliminating human error while maintaining continuous operation through automated rollback capabilities.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

An intelligent agent acts as an intermediary between the patch management system and distributed computing nodes. This agent receives patch information, analyzes node-specific requirements, coordinates patching sequences, and manages rollback procedures, thereby reducing both human error and production downtime through automated mediation.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of manufacture

If administrators manually install patches based on knowledge base instructions, then patching can be performed, but errors occur due to lack of knowledge about internal software constructs

Engineering Contradiction:
Improvepatching easeVSAvoidpatching accuracy
Core Design Contradiction:
Ease of manufactureVSReliability

Solution Approach 1:

The system eliminates the need for administrator knowledge about internal software constructs by implementing self-service patching. The intelligent agent automatically analyzes software architecture, identifies compatible patches, and executes installation procedures without human intervention, making patching both easy and reliable.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent replaces the mechanical process of manual administrator operations with an automated intelligent agent system. This substitution eliminates human limitations in understanding internal software constructs while providing consistent, accurate patching execution across all nodes.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

3Stability of the object's composition

If patching is performed in specific sequences across multiple nodes, then system integrity is maintained, but complexity increases and errors become more likely

Engineering Contradiction:
Improvesystem integrityVSAvoidpatching process complexity
Core Design Contradiction:
Stability of the object's compositionVSDevice complexity

Solution Approach 1:

The intelligent agent implements dynamic patching sequences that adapt to real-time system states. Rather than following fixed predetermined sequences, the agent continuously monitors node status and adjusts the patching order to maintain system integrity while simplifying the overall process through automated decision-making.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system incorporates feedback mechanisms where the intelligent agent monitors patching progress and system state changes in real-time. This feedback enables automatic adjustment of patching sequences to maintain integrity while reducing complexity through adaptive, rather than rigid, process management.

Inventive Principle:
Principle #23Feedback

4Reliability

If automated patching is implemented, then human errors are reduced, but system complexity increases

Engineering Contradiction:
Improvepatching reliabilityVSAvoidpatching system complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The intelligent agent provides self-service automation that reduces human error while managing complexity internally. The agent handles patch selection, compatibility verification, sequential application, and rollback procedures automatically, presenting a simple interface to administrators while managing complex operations in the background.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS12032953B2Techniques for patching in a distributed computing system
Publication Date: 2024.07.09 VMWARE INC
  • US12032953B2 patent drawing
  • US12032953B2 patent drawing
  • US12032953B2 patent drawing

AI summary

A system may include multiple software components of a software application running on multiple nodes in a distributed computing system, a patch execution server including a patch build server including a structured patch execution module connected to the distributed computing system via a network. The patch execution module receives an uploaded patch, a patch definition file, and a workflow template from a global patch repository. Further, the patch execution module creates a patch definition file for the patch using an associated patch master file, an associated build definition file, and an associated product definition file. Furthermore, the patch execution module creates a workflow template using the patch definition file and the patch. Also, the patch execution module creates a workflow file using node information associated with the multiple nodes and the workflow template. In addition, the patch execution module executed the patch, using the patch, patch definition file and the workflow file, across the multiple nodes in the distributed computing system.