Erasure-Coded Object Storage Self-Healing for Concurrent Failures

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing distributed object storage systems face inefficiencies in self-healing and maintenance, leading to data loss and high processing power/network bandwidth consumption, especially during concurrent failures and maintenance activities, which necessitate manual configurations and supplementary restore operations.

Innovation Solution

A distributed object storage system with a controller node equipped with monitoring, maintenance, clustering, decoding, encoding, and spreading modules to identify and rectify data inconsistencies, assemble and re-distribute redundant sub-blocks, ensuring desired redundancy and failure tolerance without manual intervention.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If erasure encoding is used to distribute data objects across storage elements, then storage capacity overhead is reduced (e.g., 60% overhead instead of 200%), but the system requires complex self-healing functionality to restore redundancy after storage element failures

Engineering Contradiction:
Improvestorage capacity overheadVSAvoidself-healing functionality complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The system implements automated self-healing where the storage system automatically detects failures, retrieves remaining sub-blocks, reconstructs lost data objects using erasure decoding, and redistributes repaired sub-blocks without manual intervention. This self-service mechanism handles redundancy restoration dynamically when storage elements fail.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system performs preliminary encoding of data objects into multiple sub-blocks with built-in redundancy information before storage. This preliminary action enables automatic recovery by ensuring that sufficient redundant information is pre-distributed across storage elements to reconstruct lost data without requiring complex real-time computation during failure recovery.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If known self-healing methods are used to restore redundancy after storage element failure, then data integrity is maintained, but processing power and network bandwidth are consumed in considerable amounts

Engineering Contradiction:
Improvedata integrityVSAvoidprocessing power consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

Instead of retrieving and processing all sub-blocks for every repair operation, the system retrieves only the necessary number of remaining sub-blocks required to reconstruct the lost data object. This partial action approach reduces processing power and network bandwidth consumption while maintaining complete data integrity through selective retrieval and reconstruction.

Inventive Principle:
Principle #16Partial or excessive action

3Reliability

If manual configurations and supplementary restore operations are performed to handle concurrent failures, then system reliability is maintained, but operational time and complexity increase

Engineering Contradiction:
Improvesystem reliability during concurrent failuresVSAvoidoperational time for manual intervention
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system automatically detects concurrent storage element failures, identifies all affected data objects, retrieves necessary remaining sub-blocks from surviving storage elements, reconstructs lost data objects through decoding, and redistributes repaired sub-blocks across available storage elements without any manual configuration or intervention, thereby eliminating operational time loss.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system continuously monitors storage element status and automatically triggers repair operations when failures are detected. This feedback mechanism ensures that redundancy is restored promptly after concurrent failures by dynamically adjusting repair operations based on real-time system state, maintaining reliability without manual intervention.

Inventive Principle:
Principle #23Feedback

4Reliability

If replication is used to achieve redundancy in distributed object storage, then fault tolerance is improved, but storage capacity overhead increases significantly (e.g., 200% overhead to survive two concurrent failures)

Engineering Contradiction:
Improvefault toleranceVSAvoidstorage capacity overhead
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The system transforms the redundancy approach from exact replication to erasure encoding, changing the mathematical representation of data. Data objects are encoded into multiple sub-blocks where any subset of a threshold number of sub-blocks can reconstruct the original data. This parameter change enables efficient space utilization while maintaining the ability to tolerate multiple concurrent failures.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS10379953B2Distributed object storage system
Publication Date: 2019.08.13 WESTERN DIGITAL TECHNOLOGIES INC
  • US10379953B2 patent drawing
  • US10379953B2 patent drawing
  • US10379953B2 patent drawing

AI summary

A distributed object storage system has a monitoring agent and/or a maintenance agent configured to determine for each of a plurality of repair tasks the actual concurrent failure tolerance of a corresponding repair data object. The actual concurrent failure tolerance corresponds to the number of storage elements that store sub blocks of the repair data object and are allowed to fail concurrently.