Erasure-Coded Object Storage Self-Healing for Concurrent Failures
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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
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.
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.
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)
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.
Data Source
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.


