Distributed Data Failure Recovery via Replica Map Timestamp Comparison

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Distributed data systems face challenges in maintaining data consistency and enabling failure recovery, particularly during data movement operations, due to potential failures such as transaction errors, hardware failures, and communication failures, which can lead to inconsistent replica states and data loss.

Innovation Solution

A method and system that generate maps of current and expected data replica locations, track timestamps for data movements, and determine completion status to handle failures by comparing these indices, enabling automated recovery mechanisms, including restoring data to the latest valid version or majority-based versions, and utilizing ZooKeeper for instance recovery.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If data is replicated across multiple locations in a distributed data system, then data availability and fault tolerance are improved, but data consistency maintenance becomes more difficult

Engineering Contradiction:
Improvedata availabilityVSAvoiddata consistency maintenance
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system implements feedback mechanisms by continuously monitoring data movement operations and comparing expected states with actual states. When inconsistencies are detected, the system automatically initiates recovery operations to restore consistency, creating a closed-loop control system that maintains data integrity across distributed replicas.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The distributed data system employs self-service mechanisms where each node autonomously determines its own state and initiates recovery operations when needed. The system automatically detects failures, determines completion status, and executes recovery protocols without requiring manual intervention, enabling the system to self-correct consistency issues.

Inventive Principle:
Principle #25Self-service

2Reliability

If automated failure recovery mechanisms are implemented in distributed data systems, then system availability is improved, but system complexity increases

Engineering Contradiction:
Improvesystem availabilityVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system performs preliminary actions by pre-establishing recovery protocols and pre-calculating expected data states before failures occur. Recovery plans are prepared in advance, and the system maintains records of expected replica locations and timestamps, enabling rapid automated recovery when failures occur without requiring complex real-time decision-making.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system uses parameter changes to simplify recovery operations by comparing specific parameters (timestamps and indexing) rather than entire data states. By focusing recovery decisions on key parameters like completion status and timestamp comparisons, the system reduces the complexity of failure detection and recovery while maintaining high availability.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If data movement operations are performed in distributed data systems, then data optimization is improved, but failure risk increases

Engineering Contradiction:
Improvedata optimizationVSAvoidfailure risk
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system applies beforehand cushioning by implementing protective measures before data movement operations. Recovery protocols are prepared in advance, and the system maintains expected state information that serves as a safety cushion. If failures occur during data movement, these pre-prepared measures enable automatic recovery, cushioning against the impact of failures on system reliability.

Inventive Principle:
Principle #11Beforehand cushioning (Prior cushioning)

Data Source

PatentUS11442828B2Handling failures in distributed data system
Publication Date: 2022.09.13 TECHNION RES & DEV FOUND LTD
  • US11442828B2 patent drawing
  • US11442828B2 patent drawing
  • US11442828B2 patent drawing

AI summary

A method comprising: prior to performing a planned i-th data movement in a distributed data system comprising a plurality of storage sites, generating (i) a first map of current locations of data item replicas following an immediately-preceding (i−1)-th data movement, (b) a first timestamp associated with a completion of said (i−1)-th data movement, and (c) a second map of expected locations of data item replicas following said i-th data movement; implementing said i-th data movement; generating, upon performing said i-th data movement, a second timestamp associated with a completion of said i-th data movement, wherein said second timestamp is indexed as i; and if a failure occurs with respect to at least one of said storage sites during said i-th data movement, determining a completion status of said i-th data movement, based on a comparison between said indexing of said second map and said indexing of said second timestamp.