Non-logging Resumable Distributed Cluster Upgrade

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In large distributed computing clusters, upgrading multiple machines simultaneously is inefficient and prone to failures due to the complexity of managing various updates, preserving user data, and the need for multiple reboots, while existing methods like log files are error-prone and intolerant of failures.

Innovation Solution

A distributed workflow framework that runs on each machine, autonomously managing the upgrade process through a sequence of actions, dynamically verifying completion states, and allowing for resumption from failures without redoing successful work, without relying on centralized technologies or log files.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a log file is used to track completed and uncompleted actions on cluster machines, then action tracking is achieved, but the system becomes inefficient, error-prone, and intolerant of failures

Engineering Contradiction:
Improvefailure toleranceVSAvoidtracking mechanism complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent divides the centralized log file tracking system into distributed state files on each individual machine. Each machine maintains its own state file that tracks completed and uncompleted actions locally, eliminating the single point of failure inherent in centralized logging while distributing the tracking complexity across multiple independent units.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces state files as intermediary objects between the upgrade process and the tracking mechanism. These state files serve as local mediators that record action states without requiring centralized log file access, enabling fault-tolerant tracking by isolating each machine's state information from potential failures in centralized systems.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If upgrades are performed in parallel on all cluster machines simultaneously, then upgrade time is reduced, but coordination complexity and risk of inconsistency increase

Engineering Contradiction:
Improveupgrade speedVSAvoidcoordination complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the upgrade process into independent parallel workflows that run on each machine simultaneously. Each machine executes its own upgrade workflow locally with minimal coordination requirements, enabling fast parallel execution while reducing coordination complexity by eliminating the need for synchronized control across all machines.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Each machine performs self-upgrading through locally executed workflows that autonomously manage their own upgrade processes. The machines serve themselves without requiring external coordination or control, achieving high-speed parallel upgrades while minimizing coordination complexity through decentralized autonomous operation.

Inventive Principle:
Principle #25Self-service

3Reliability

If multiple reboots are performed during upgrade, then system updates are completed, but the upgrade process becomes more time-consuming and complex to manage

Engineering Contradiction:
Improveupdate completionVSAvoidtotal upgrade time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent performs preliminary actions by saving the state of completed upgrades to state files before system reboots occur. This allows the upgrade process to resume after reboot without re-executing already-completed actions, reducing total upgrade time while ensuring reliable completion of all necessary updates across multiple reboot cycles.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements feedback mechanisms through state files that track which actions have been completed and which remain pending. This feedback enables the upgrade system to intelligently resume from the correct point after reboots, avoiding redundant operations and minimizing total upgrade time while ensuring all necessary updates are reliably completed.

Inventive Principle:
Principle #23Feedback

4Reliability

If the upgrade process is interrupted or fails partway through, then manual intervention is required, but this increases operational complexity and reduces scalability

Engineering Contradiction:
Improvefault toleranceVSAvoidoperational simplicity
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The patent segments the upgrade process into discrete, trackable actions with individual state records in state files. This segmentation enables automatic fault tolerance by allowing the system to identify and resume from the specific point of failure without requiring manual intervention, maintaining reliability while preserving operational simplicity through automated recovery.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The upgrade system performs self-recovery by automatically detecting failures and resuming from the point of interruption using state file information. This self-service capability eliminates the need for manual intervention during failures, enhancing fault tolerance while maintaining operational simplicity and enabling scalable deployment across large clusters.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS8689048B1Non-logging resumable distributed cluster
Publication Date: 2014.04.01 EMC IP HLDG CO LLC
  • US8689048B1 patent drawing
  • US8689048B1 patent drawing
  • US8689048B1 patent drawing

AI summary

A distributed reusable framework comprising a non-logging resumable workflow of actions that runs independently in parallel to upgrade each machine of a large distributed cluster of machines. A CHECK process and a RUN process are associated with each action in the workflow. The CHECK process determines dynamically the state of each action, and the RUN process brings an action to a completed state. Following a reboot on a machine, the workflow on the machine sequences back to its start and rechecks each prior action of the workflow to verify that each action is in a completed state before. Upon a failure of the upgrade on a single machine in the cluster, the failed machine can be fixed and the workflow can be resumed without redoing the work already done. Since the actual live state is verified on each machine of the cluster, log files are unnecessary.