Network-Aware Data Repair Engine for Storage Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Modern storage systems face inefficiencies in data recovery due to network bottlenecks when using erasure coding, as existing methods are not network-aware and fail to optimize data repair based on current network conditions, leading to suboptimal repair choices and increased computational costs.

Innovation Solution

A network-aware data repair engine computes a feasible repair log by predicting failure scenarios, determining feasible repairs, and selecting the optimal repair based on up-to-date network costs, ensuring the maximum distance separable property is maintained while minimizing network resource usage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If existing data repair methods are used, then data recovery can be performed, but network bottlenecks occur and network resources are not optimized

Engineering Contradiction:
Improvedata recovery efficiencyVSAvoidnetwork resource usage
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The system pre-computes and stores feasible repair logs before failures occur, maintaining multiple candidate repair plans with their associated network costs. When a failure happens, the system immediately queries the pre-computed logs and selects the optimal repair plan based on current network conditions, eliminating the need for real-time computation during failure events and reducing network overhead.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The repair selection mechanism dynamically adapts to changing network conditions by continuously updating network cost metrics and selecting the most efficient repair plan from pre-computed options. The system adjusts its repair strategy based on real-time network topology and traffic patterns, ensuring optimal resource utilization during data recovery operations.

Inventive Principle:
Principle #15Dynamics

2Reliability

If all feasible repairs are considered, then the optimal repair can be found, but computational complexity increases

Engineering Contradiction:
Improverepair optimalityVSAvoidcomputational complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system performs feasibility analysis and repair log computation in advance, before failures occur. By pre-computing all feasible repair plans and their associated network costs, the system transforms a complex real-time optimization problem into a simpler query and selection process that occurs immediately upon failure, significantly reducing computational complexity during critical failure events while maintaining complete reliability.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If network-aware repair selection is implemented, then network efficiency is improved, but system complexity increases

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

Solution Approach 1:

The system pre-computes repair logs with network cost information stored in a structured format that enables efficient querying. By maintaining pre-computed feasible repair plans with their associated network costs, the system simplifies the real-time decision-making process to a straightforward query and selection operation, reducing the complexity of network-aware repair selection during failure events while improving overall network efficiency.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10140172B2Network-aware storage repairs
Publication Date: 2018.11.27 CISCO TECHNOLOGY INC
  • US10140172B2 patent drawing
  • US10140172B2 patent drawing
  • US10140172B2 patent drawing

AI summary

In an example, there is disclosed a computing apparatus, having one or more logic elements, including at least one hardware logic element, comprising a network-aware data repair engine to compute a feasible repair log for n fragments of an original data structure, comprising: receiving a predictive failure scenario; identifying at least one repair ξi for the failure scenario; determining that ξi is feasible; and logging ξi to a feasible repair log. When a node failure occurs, a network cost may be computed for each repair in the feasible repair log, and an optimal repair may be selected.