Parallel Node Upgrade Logic in Storage Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The serial upgrade process of nodes in storage systems is inefficient, especially in systems with additional nodes, as it requires sequential movement of functionality between primary and backup nodes, leading to potential disruptions and delays.

Innovation Solution

The implementation of a node upgrade logic that identifies dependencies between nodes, allowing for partial or parallel upgrades by selecting nodes for upgrade based on their dependencies, using a directed graph to determine upgrade passes and managing deployment containers to ensure continuous operation during the upgrade process.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If serial upgrade process is used to ensure system stability during node upgrades, then reliability is maintained, but productivity deteriorates due to sequential upgrades and extended downtime

Engineering Contradiction:
Improvesystem stabilityVSAvoidupgrade speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the upgrade process into multiple independent passes, where each pass upgrades a subset of nodes that have no dependencies on each other. The system divides nodes into groups based on dependency relationships, allowing parallel execution of upgrade passes. This segmentation enables multiple nodes to be upgraded simultaneously in different passes while maintaining system stability through controlled dependency management.

Inventive Principle:
Principle #1Segmentation

2Device complexity

If serial upgrade process is used to manage node dependencies, then device complexity is reduced, but loss of time increases due to sequential processing

Engineering Contradiction:
Improveupgrade management complexityVSAvoidupgrade duration
Core Design Contradiction:
Device complexityVSLoss of time

Solution Approach 1:

The patent performs preliminary actions by constructing a directed graph representing node dependencies before the upgrade process begins. The system pre-calculates the upgrade passes and identifies which nodes can be upgraded in parallel by analyzing the dependency structure in advance. This preliminary analysis enables the system to optimize the upgrade schedule and execute multiple passes concurrently, reducing overall upgrade time without increasing operational complexity during the upgrade execution.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If functionality is moved between primary and backup nodes during upgrade, then reliability is maintained, but productivity deteriorates due to functional migration overhead

Engineering Contradiction:
Improveoperational continuityVSAvoidupgrade efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent extracts the active deployment container from the primary node before the upgrade process begins and places it on a separate node that will not be upgraded in the current pass. This extraction allows the primary node to be upgraded without needing to maintain active functionality during the upgrade, eliminating the overhead of continuous functional migration. The deployment container is reactivated on the upgraded node after the upgrade completes, ensuring operational continuity without the inefficiency of repeated functionality movement.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS20210132812A1Parallel upgrade of nodes in a storage system
Publication Date: 2021.05.06 EMC IP HLDG CO LLC
  • US20210132812A1 patent drawing
  • US20210132812A1 patent drawing
  • US20210132812A1 patent drawing

AI summary

An apparatus comprises a processing device that is configured to identify first and second subsets of nodes in a plurality of nodes, the first subset of nodes having dependencies with a first node in the plurality of nodes and the second subset of nodes having dependencies with a second node in the plurality of nodes. The processing device is configured to select the first node for an upgrade and to determine that the second node is not included in the first subset. The processing device is configured to determine that the first node is not included in the second subset and to upgrade the first and second nodes at least partially in parallel based at least in part on the determination that the second node is not included in the first subset and the determination that the first node is not included in the second subset.