Directed Acyclic Graph Upgrade Path Planning

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The existing software upgrade process is cumbersome and time-consuming for users, as it requires manual involvement and often results in upgrades being performed in an unpredictable order, leading to potential instability and inefficiency, especially when multiple devices with varying software versions need to be upgraded simultaneously.

Innovation Solution

A system utilizing a directed acyclic graph to model software versions and upgrade paths, allowing for the automatic generation of recommended upgrade plans that minimize risk or time, enabling users to choose between stable and quick upgrade paths, and facilitating simultaneous upgrades across multiple devices.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If manual upgrade process is used for multiple devices with different software versions, then users can control each upgrade individually, but the process becomes time-consuming and laborious

Engineering Contradiction:
Improveease of upgrade processVSAvoidupgrade time
Core Design Contradiction:
Ease of operationVSLoss of time

Solution Approach 1:

The system automatically generates upgrade plans and executes upgrades without requiring manual intervention for each device. The upgrade management server autonomously detects device versions, formulates upgrade paths, and coordinates upgrades across multiple devices, allowing the system to serve itself rather than requiring continuous user involvement.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system pre-generates upgrade plans by analyzing the current software versions of all devices and determining optimal upgrade paths before execution. This preliminary planning phase allows the system to prepare upgrade sequences and dependencies in advance, reducing the actual upgrade time when execution begins.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If upgrades are performed manually across multiple devices, then users can customize each upgrade, but the upgrade order becomes unpredictable and causes instability

Engineering Contradiction:
Improveupgrade stabilityVSAvoidupgrade management complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system segments the upgrade process into distinct phases: detection of current versions, generation of upgrade plans, determination of upgrade sequences, and execution. By breaking down the complex multi-device upgrade process into manageable segments, the system can manage complexity while ensuring reliable, stable upgrades through controlled sequencing.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system continuously monitors the upgrade status of each device and uses this feedback to adjust and coordinate upgrade sequences. By tracking which devices have been upgraded and their current states, the system can make informed decisions about subsequent upgrades, maintaining stability while managing complexity across the device fleet.

Inventive Principle:
Principle #23Feedback

3Productivity

If automatic upgrade plans are generated, then upgrade time is reduced, but the system complexity increases

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

Solution Approach 1:

The upgrade management server performs multiple functions: detecting device versions, generating upgrade plans, determining upgrade sequences, and coordinating executions. By consolidating these diverse functions into a single multi-functional system, the patent achieves automatic upgrade planning and execution without proportionally increasing overall system complexity.

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

Data Source

PatentUS20200334026A1Managing upgrades of clients having different installed versions of a software product
Publication Date: 2020.10.22 EMC IP HLDG CO LLC
  • US20200334026A1 patent drawing
  • US20200334026A1 patent drawing
  • US20200334026A1 patent drawing

AI summary

Software product versions installed on clients are detected. At least a subset of clients have different versions. Directed acyclic graphs are built specific to a client based on a particular version of the software product installed. Weighted values are assigned to edges in each graph. The weighted values indicate a degree of stability associated with upgrading the software product or an estimated time associated with the upgrading. Upgrade paths present in each graph are traversed to calculate sums of the weighted values. Based on the sums, recommended upgrade paths for the clients are identified, each recommended upgrade path is specific to a respective client. Upgrade packages, corresponding to the recommended upgrade paths, are created for the clients. Each upgrade package is specific to the respective client, includes the desired version of the software product, intermediate versions, and a sequence indicating an order in which the intermediate versions should be installed.