Distributed KVS Recovery Using Sequence Number Tracking
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing distributed KVS recovery processes require snapshotting data, leading to increased memory usage and communication bandwidth, and necessitate stopping user programs for synchronization, which can cause inefficiencies and service disruptions.
Innovation Solution
A method where the replication source server transmits only the newest data to the replication destination server without obtaining a snapshot, using a distributed consensus algorithm to manage data replication and updates, allowing for continuous system operation without synchronizing servers.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If snapshotting data is performed for recovery, then data consistency is ensured, but memory usage and communication bandwidth increase
Solution Approach 1:
The patent extracts only the necessary information (sequence numbers and update flags) from the data set, rather than snapshotting the entire data. This allows the system to track changes efficiently using minimal memory while maintaining data consistency through selective change propagation.
Solution Approach 2:
The patent changes the approach from copying data values to tracking parameter changes (sequence numbers and update flags). This parameter-based tracking mechanism reduces memory consumption significantly while still enabling complete data recovery and consistency maintenance.
2Reliability
If snapshotting data is performed for recovery, then data consistency is ensured, but communication bandwidth increases
Solution Approach 1:
The patent extracts only the changed data identified by sequence number comparisons rather than transmitting entire data snapshots. This extraction approach dramatically reduces communication bandwidth usage while ensuring data consistency through targeted change propagation.
Solution Approach 2:
The patent performs partial action by transmitting only the necessary changed portions of data (identified through sequence number matching) rather than complete data sets. This partial transmission approach reduces communication overhead while maintaining complete data consistency.
3Reliability
If servers are synchronized during recovery, then data consistency is maintained, but system operation must be stopped
Solution Approach 1:
The patent performs preliminary actions by having standby servers continuously acquire sequence numbers and identify changed data before actual failover occurs. This preliminary preparation enables seamless transition without stopping system operation, as the synchronization work is already completed in advance.
Solution Approach 2:
The patent introduces dynamic role switching between master and standby servers based on failover events. The system dynamically adjusts server functions without interruption, allowing continuous operation while maintaining data consistency through role-based data propagation mechanisms.
4Measurement precision
If sequence number tracking is implemented, then data change detection is improved, but processing complexity increases
Solution Approach 1:
The patent uses sequence numbers as simplified copies of complex data state information. Instead of comparing entire data sets, the system copies and compares only sequence number values, which dramatically simplifies processing while maintaining precise change detection capability.
Data Source
Figure 1
Figure 2
Figure 3~4
AI summary
A computer system, comprising a plurality of computers coupled to one another via a network, the computer system being configured to execute a task using a database constructed from the plurality of computers, the plurality of computers including a first computer and a second computer, the second computer being configured to execute: data replication for receiving the recovery request, for reading data, and for transmitting the read data to the first computer as first replicated data; and update processing for determining, in a case where a command to update the data is received in a recovery state, the sequence number of the update command, for updating predetermined data, and for transmitting the updated predetermined data as second replicated data, the first computer or the second computer being configured to control a write order of the first replicated data and the second replicated data by the first computer.