Anti-Entropy Repair Scheduling in Distributed Databases

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional anti-entropy repair procedures in distributed database networks are challenging due to complexity in understanding and executing repairs, especially in networks with a large number of nodes or varying replica sizes, and are prone to failure, leading to lost progress and resource inefficiency.

Innovation Solution

A computer-implemented method that automatically scales anti-entropy repair procedures across multiple nodes by determining the completion of one repair and initiating another, generating schedules for operations, and writing them to a shared data structure, allowing for distributed execution and adaptive handling of node failures.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If manual scheduling of anti-entropy repair procedures is implemented, then users can control repair timing, but the complexity of engineering and maintaining repair procedures increases significantly

Engineering Contradiction:
Improveease of scheduling repairVSAvoidcomplexity of repair procedure
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The system implements self-service through automated repair coordination where the distributed database network autonomously schedules and executes anti-entropy repair procedures without requiring user intervention. The coordination node automatically detects repair needs, schedules repair operations, and manages execution across nodes, eliminating the burden of manual repair procedure engineering and maintenance while keeping the interface simple for users.

Inventive Principle:
Principle #25Self-service

2Ease of manufacture

If simple anti-entropy repair procedures are used, then the system is easy to implement, but the procedures fail when the distributed database network has tens of thousands of nodes

Engineering Contradiction:
Improveease of implementing repairVSAvoidreliability of repair procedure
Core Design Contradiction:
Ease of manufactureVSReliability

Solution Approach 1:

The system applies segmentation by dividing the large-scale repair coordination into manageable components: a central coordination node that manages the overall repair schedule, individual nodes that execute local repair operations, and modular repair procedures that can be independently managed. This segmented architecture allows the system to scale to tens of thousands of nodes while maintaining reliability through distributed responsibility and localized execution.

Inventive Principle:
Principle #1Segmentation

3Reliability

If anti-entropy repair procedures are executed frequently to maintain data consistency, then data consistency is improved, but disk storage, CPU resources, and network bandwidth are significantly consumed

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

Solution Approach 1:

The system implements periodic action by scheduling anti-entropy repair procedures at optimized intervals rather than continuously or on-demand. The coordination node determines appropriate repair frequencies based on system state, data change rates, and resource availability, executing repairs periodically to maintain data consistency while avoiding excessive resource consumption that would occur with more frequent executions.

Inventive Principle:
Principle #19Periodic action

4Reliability

If the anti-entropy repair coordinator fails during a repair operation, then the entire repair progress is lost and the procedure must be restarted, but implementing redundancy to prevent this increases system complexity

Engineering Contradiction:
Improverepair completionVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system applies beforehand cushioning by implementing checkpointing and state persistence mechanisms that save repair progress at regular intervals before potential failures occur. The coordination node maintains a record of completed repair stages and node statuses, so that if the coordinator fails during a repair operation, the system can resume from the last saved checkpoint rather than losing all progress and requiring a complete restart, thus protecting against failure without adding excessive complexity.

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

Data Source

PatentUS11636005B2Techniques for scheduled anti-entropy repair design
Publication Date: 2023.04.25 NETFLIX INC
  • US11636005B2 patent drawing
  • US11636005B2 patent drawing
  • US11636005B2 patent drawing

AI summary

Various embodiments of the invention disclosed herein provide techniques for performing distributed anti-entropy repair procedures across a plurality of nodes in a distributed database network. A node included in a plurality of nodes within the distributed database network determines, before all other nodes included in the plurality of nodes, that a first anti-entropy repair procedure has ended. The node determines that a second anti-entropy repair procedure is ready to begin. The node generates a schedule for executing one or more operations associated with the second anti-entropy repair procedure. The node writes the schedule to a shared repair schedule data structure to initiate the second anti-entropy repair procedure across multiple nodes included in the plurality of nodes. Each of the nodes included in the plurality of nodes then performs a node repair based on the schedule.