Distributed Storage Recovery Plan Generation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Distributed storage systems face challenges in efficiently managing recovery processes, particularly in avoiding cascading failures and minimizing load on remaining active nodes during node failures, which can impact client operations and data availability.

Innovation Solution

A recovery system that analyzes real-time system metrics and applies user-defined policies to generate a recovery plan, prioritizing critical data and optimizing replication to ensure minimal impact on client operations and maintain high availability.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If replicas are copied to new nodes to maintain replication factor after node failure, then fault tolerance and high availability are improved, but load on remaining active nodes increases and may cause cascading failures

Engineering Contradiction:
Improvefault toleranceVSAvoidload on active nodes
Core Design Contradiction:
ReliabilityVSObject-affected harmful factors

Solution Approach 1:

The system proactively identifies storage nodes with high failure probability based on monitored metrics (disk health, I/O performance, network status) before actual failures occur. Recovery plans are prepared in advance by pre-selecting target nodes and pre-stage data transfers, so that when failures occur, the system can execute recovery without imposing heavy immediate load on active nodes.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The recovery process is divided into multiple phases: (1) failure prediction and early warning phase, (2) recovery plan generation phase with target node selection, (3) staged data replication phase where data is copied in controlled increments. This segmentation allows the system to manage recovery load systematically rather than all at once, preventing cascading failures.

Inventive Principle:
Principle #1Segmentation

2Reliability

If recovery processes are executed immediately after node failure, then data availability is restored quickly, but client operations are impacted due to system load

Engineering Contradiction:
Improvedata availabilityVSAvoidclient operations performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system dynamically adjusts recovery execution timing and pace based on real-time monitoring of system load and client operation patterns. Recovery operations are scheduled during periods of lower client activity or executed in background threads with adjustable priority, allowing the system to balance recovery speed with client performance requirements.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system continuously monitors system metrics including client operation performance, node load, and recovery progress. Based on this feedback, the recovery execution strategy is automatically adjusted - if client performance degrades, recovery speed is reduced or paused; if system capacity allows, recovery proceeds faster to restore data availability.

Inventive Principle:
Principle #23Feedback

3Reliability

If all data is recovered with equal priority after failure, then complete data restoration is achieved, but critical data recovery is delayed

Engineering Contradiction:
Improvedata restoration completenessVSAvoidcritical data recovery time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system assigns different recovery priorities to different data portions based on their criticality. Data is tagged with priority levels (e.g., high, medium, low) based on factors such as access frequency, business importance, and replication status. The recovery process selectively restores high-priority data first to critical storage nodes, ensuring that the most important data is available fastest while still completing full restoration eventually.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS9830240B2Smart storage recovery in a distributed storage system
Publication Date: 2017.11.28 CISCO TECHNOLOGY INC
  • US9830240B2 patent drawing
  • US9830240B2 patent drawing
  • US9830240B2 patent drawing

AI summary

Embodiments include obtaining at least one system metric of a distributed storage system, generating one or more recovery parameters based on the at least one system metric, identifying at least one policy associated with data stored in a storage node of a plurality of storage nodes in the distributed storage system, and generating a recovery plan for the data based on the one or more recovery parameters and the at least one policy. In more specific embodiments, the recovery plan includes a recovery order for recovering the data. Further embodiments include initiating a recovery process to copy replicas of the data from a second storage node to a new storage node, wherein the replicas of the data are copied according to the recovery order indicated in the recovery plan.