Command Replication Offset for Distributed Database Integrity

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In distributed databases, maintaining data integrity is challenging due to the replication of commands across multiple locations, where erroneous commands can lead to incorrect data access, especially when network access varies and system outages occur, requiring a method to detect and correct errors in a timely manner.

Innovation Solution

A method involving time-stamping commands and introducing a processing delay to allow for error detection and correction, where a predetermined offset is added to the time stamps to queue commands, enabling the system to execute them only when safe, thereby preventing erroneous data access by allowing for corrective actions before execution.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If commands are replicated immediately across distributed locations, then data access speed is improved, but data integrity deteriorates due to erroneous commands

Engineering Contradiction:
Improvedata access speedVSAvoiddata integrity
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The patent applies preliminary action by adding a time stamp offset to commands before replication, creating a time buffer that allows error detection and correction at the source system before the replicated commands are executed at remote locations. This preliminary timing adjustment prevents erroneous commands from propagating across the distributed system, thus maintaining data integrity while still enabling replication.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If a time offset is added to command time stamps, then error detection capability is improved, but command execution delay increases

Engineering Contradiction:
Improveerror detection capabilityVSAvoidcommand execution delay
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent applies parameter changes by adjusting the time stamp parameter of commands with a predetermined offset before replication. This modification creates a controllable time delay that enables error detection while minimizing execution delay. The offset value can be tuned to balance between providing sufficient time for error detection and maintaining acceptable command execution speed.

Inventive Principle:
Principle #35Parameter changes

3Manufacturing precision

If commands are queued based on time stamps, then execution order accuracy is improved, but system complexity increases

Engineering Contradiction:
Improveexecution order accuracyVSAvoidsystem complexity
Core Design Contradiction:
Manufacturing precisionVSDevice complexity

Solution Approach 1:

The patent applies copying by replicating commands with their time stamp offsets to multiple remote locations. Each remote system receives a copy of the commands with the modified time stamps and independently queues them based on the time stamp order. This copying approach maintains execution order accuracy across distributed systems without requiring complex centralized coordination, as each system autonomously processes the replicated commands.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS8984350B1Replication method and apparatus in a distributed system
Publication Date: 2015.03.17 GOOGLE LLC
  • US8984350B1 patent drawing
  • US8984350B1 patent drawing
  • US8984350B1 patent drawing

AI summary

Embodiments of a method and apparatus for replicating a process performed on a first computer on a remote computer, particularly for the replication of a database maintained of each of the computers. An offset is added to time stamps for a sequence of commands so that a correction in a command or data associated with the command that is subsequently received before the command is executed can be implemented. The correction can result in removing the command from the sequence of commands to be performed, changing the data associated with the command or delaying execution of the command, for example.