Erasure Coding Group Manager Election for Node Failure Recovery
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Distributed data storage systems face performance bottlenecks in data recovery due to resource-intensive metadata queries and updates when a storage node fails, especially with large numbers of data objects and nodes, leading to inefficiencies in identifying and repairing impacted data objects.
Innovation Solution
The implementation of a virtual chunk service (VCS) based storage technique, which splits storage nodes into smaller failure domains (VCSs) with unique IDs, forming erasure coding groups (ECGs) managed by an elected erasure coding group manager (ECGM), allowing for efficient data fragmentation, storage, and recovery by minimizing metadata updates and queries.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If traditional metadata-based data recovery is used to identify impacted data objects after node failure, then data reliability is maintained, but system performance deteriorates due to resource-intensive metadata queries and updates across billions of data objects
Solution Approach 1:
The patent segments the system into erasure coding groups (ECGs) with elected managers (ECGMs). Each ECGM manages metadata for its group, dividing the monolithic metadata management task into smaller, manageable segments. This segmentation allows parallel processing and reduces the scope of metadata operations during recovery, improving efficiency while maintaining reliability through distributed management.
Solution Approach 2:
The ECGM acts as an intermediary between storage nodes and the metadata system. Instead of directly querying metadata for each data object, nodes communicate through ECGMs who aggregate and manage metadata information. This intermediary layer reduces the number of direct metadata queries needed during recovery operations.
2Reliability
If comprehensive metadata updates are performed for all impacted data objects after node failure, then data integrity is ensured, but computing resources are excessively consumed due to the large number of data objects
Solution Approach 1:
Metadata management is segmented by ECG boundaries. When a node fails, only the ECGM managing that node's ECG needs to perform metadata updates, rather than system-wide metadata operations. This segmentation limits the scope of computing resources required to maintain data integrity.
Solution Approach 2:
ECGMs preliminarily identify and manage metadata for their respective erasure coding groups before failures occur. This preliminary organization allows for targeted metadata updates only for affected ECGs, avoiding unnecessary computing resource consumption on unrelated data objects while ensuring data integrity.
3Reliability
If all data objects are scanned to identify those stored on failed nodes, then complete recovery coverage is achieved, but the recovery process becomes inefficient due to reading through all data objects
Solution Approach 1:
The patent segments data objects into erasure coding groups, each managed by an ECGM. During recovery, only the ECGM responsible for the failed node needs to identify impacted objects within its managed ECG, rather than scanning all data objects system-wide. This segmentation dramatically reduces recovery time while maintaining complete coverage of affected objects.
Solution Approach 2:
The ECGM extracts and manages metadata specifically for its assigned erasure coding group, separating it from the overall system metadata. This extraction allows the recovery process to focus only on relevant data objects within the affected ECG, eliminating the need to read through unrelated data objects while ensuring complete recovery coverage for impacted objects.
Data Source
AI summary
To ensure that there is an elected manager among storage nodes of an erasure coding group (“ECG”), an ECG manager (“ECGM”) election process is periodically performed among available storage nodes that are configured with the software to perform the services of an ECGM. When a storage node is activated, an ECGM process of the storage node begins executing and is assigned a process identifier (“PID”). A storage node can utilize a service query framework to identify other available storage nodes and retrieve their ECGM PIDs. The storage node then selects a PID according to a criterion and elects the storage node corresponding to the selected PID to be the acting ECGM. This process is performed periodically, so even if the acting ECGM storage node fails, a new ECGM is eventually selected from the available storage nodes.


