Lock-Free Erasure Coding Across Clustered Data Stores

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing erasure coding methods struggle to maintain data consistency and correctness across multiple data stores, especially during constant updates and device failures, leading to potential data loss and incorrect reconstruction.

Innovation Solution

A distributed clustering method with a lock-free technique enables multiple active processes to function collectively for erasure encoding and decoding across dispersed data stores, using a sequencing method to ensure data consistency and correctness, and facilitates self-healing and recovery from failures.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If algebraic-based coding is applied to generate redundant data blocks, then data reliability is improved, but device complexity increases due to the need to ensure all redundant blocks are completely updated

Engineering Contradiction:
Improvedata reliabilityVSAvoidencoding process complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system segments the encoding process by having each data store independently encode its data blocks using algebraic-based coding to generate redundant blocks. This segmentation allows parallel processing across multiple data stores, improving reliability while distributing the computational complexity across multiple independent units rather than requiring centralized coordination of all redundant block updates.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs preliminary actions by pre-generating redundant data blocks using algebraic-based coding before actual data storage operations. This preliminary encoding ensures that redundant blocks are ready in advance, improving data reliability while reducing the complexity of real-time update coordination, as the encoding relationships are established beforehand.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If re-encoding process is executed to regenerate redundant data blocks, then data consistency is improved, but productivity decreases due to repeated encoding operations

Engineering Contradiction:
Improvedata consistencyVSAvoidencoding efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system implements feedback mechanisms where data stores monitor the consistency status of their data blocks and redundant blocks. When inconsistencies are detected, only the affected data stores re-encode their specific blocks rather than triggering system-wide re-encoding. This feedback-driven approach maintains data consistency while minimizing unnecessary encoding operations, thus preserving productivity.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

Instead of re-encoding all data blocks systematically, the system applies partial action by re-encoding only the specific data blocks that are identified as inconsistent through monitoring. This selective re-encoding approach maintains data consistency where needed while avoiding the productivity loss associated with comprehensive re-encoding of all blocks.

Inventive Principle:
Principle #16Partial or excessive action

3Manufacturing precision

If locking mechanisms are used to ensure data consistency during encoding, then data correctness is improved, but speed decreases due to process blocking

Engineering Contradiction:
Improvedata correctnessVSAvoidencoding speed
Core Design Contradiction:
Manufacturing precisionVSSpeed

Solution Approach 1:

Each data store independently performs encoding operations on its own data blocks without requiring locks from other data stores. The system achieves data correctness through self-service encoding where each unit autonomously generates its redundant blocks using algebraic-based coding, eliminating the need for locking mechanisms and maintaining high encoding speed while ensuring correctness.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system performs preliminary encoding actions where each data store pre-generates its redundant blocks before other data stores operate. This preliminary action establishes the encoding relationships in advance, allowing subsequent operations to proceed without locking while maintaining data correctness through the pre-established encoding structure.

Inventive Principle:
Principle #10Preliminary action

4Reliability

If systematic re-encoding of all data blocks is performed, then data consistency is improved, but loss of time increases due to extensive processing

Engineering Contradiction:
Improvedata consistencyVSAvoidre-encoding time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system uses feedback mechanisms to identify only those data blocks that require re-encoding based on consistency monitoring. This feedback-driven approach prevents systematic re-encoding of all blocks, reducing the time loss while maintaining data consistency by targeting only the necessary blocks for re-encoding operations.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system applies partial action by re-encoding only the specific data blocks that are identified as inconsistent rather than performing systematic re-encoding of all blocks. This selective approach maintains data consistency where needed while significantly reducing the time loss associated with comprehensive re-encoding operations.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS7681105B1Method for lock-free clustered erasure coding and recovery of data across a plurality of data stores in a network
Publication Date: 2010.03.16 QUEST SOFTWARE INC
  • US7681105B1 patent drawing
  • US7681105B1 patent drawing
  • US7681105B1 patent drawing

AI summary

The present invention provides a distributed clustering method to allow multiple active instances of consistency management processes that apply the same encoding scheme to be cooperative and function collectively. The techniques described herein facilitate an efficient method to apply an erasure encoding and decoding scheme across dispersed data stores that receive constant updates. The technique can be applied on many forms of distributed persistent data stores to provide failure resiliency and to maintain data consistency and correctness.