Data Replication Engine Collision Resolution via HADW Algorithm

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current data replication systems face challenges in efficiently managing data collisions and synchronizing multiple database copies, particularly in active-active replication scenarios where asynchronous replication can lead to database divergence and collisions, requiring effective collision resolution mechanisms to maintain data consistency across all nodes.

Innovation Solution

The implementation of a 'High Availability Designated Winner' (HADW) algorithm in the Shadowbase data replication engine, which designates a master node with higher precedence to resolve collisions by ensuring that changes made to the master node are propagated to all slave nodes, thereby maintaining data consistency and convergence across the database copies.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If asynchronous replication is used to allow multiple users to work with local copies of the database, then user productivity and system availability are improved, but data collisions and database divergence occur between replicas

Engineering Contradiction:
Improveuser productivityVSAvoiddata consistency
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent introduces a transaction log as an intermediary mechanism that records all data changes in a centralized sequence. The replication engine uses this log to propagate changes to multiple replicas in the same order, ensuring data consistency across all nodes while allowing asynchronous replication to maintain high availability and productivity.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system implements feedback mechanisms where the replication engine continuously monitors transaction logs and propagates changes to replicas. This feedback loop ensures that all replicas converge to the same state by receiving and applying changes in the correct sequence, resolving the contradiction between asynchronous operation and data consistency.

Inventive Principle:
Principle #23Feedback

2Reliability

If a centralized database is used to maintain data consistency, then data consistency is improved, but system availability and user productivity deteriorate due to single point of failure

Engineering Contradiction:
Improvedata consistencyVSAvoidsystem availability
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the database system into multiple independent replicas that can operate autonomously. Each replica maintains a local copy of the database and can serve user requests independently, eliminating the single point of failure. The segmentation is coordinated through the transaction log to ensure consistency across all segments.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system changes the operational parameters of the database system by allowing replicas to operate in asynchronous mode with configurable conflict resolution policies. This enables the system to maintain data consistency through the transaction log while improving availability by allowing replicas to continue serving requests even when disconnected from the central coordination.

Inventive Principle:
Principle #35Parameter changes

3Reliability

If collision resolution mechanisms are implemented to maintain data consistency across replicas, then data consistency is improved, but system complexity increases

Engineering Contradiction:
Improvedata consistencyVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent applies preliminary action by establishing a predetermined conflict resolution strategy based on transaction timestamps or sequence numbers before conflicts occur. The transaction log records changes in a defined sequence, and replicas automatically resolve conflicts by applying changes in this predetermined order, eliminating the need for complex real-time conflict detection and resolution mechanisms.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system uses copying by maintaining a transaction log that replicates the sequence of changes to all database replicas. Instead of implementing complex conflict resolution logic at each replica, the system copies the authoritative change sequence from the transaction log to all replicas, ensuring consistency through simple replication rather than complex negotiation.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS7613740B2Control of a data replication engine using attributes associated with a transaction
Publication Date: 2009.11.03 INTEL CORP
  • US7613740B2 patent drawing
  • US7613740B2 patent drawing
  • US7613740B2 patent drawing

AI summary

A data replication engine is controlled in a system that replicates data associated with a plurality of transactions from a source database to a target database. The system includes a change queue that contains transaction data associated with the transactions. The system maintains one or more attributes outside of the change queue which are associated with transactions. One or more attributes outside of the change queue are identified which are associated with a transaction. The one or more of the identified attributes are then used to control the replication engine.