Peer-to-Peer Replication Initialization Without Acknowledgment Wait

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data replication protocols in distributed database systems often require suspending user workloads during the initialization of new members, leading to unacceptable downtime due to the need for acknowledgments and synchronization of database changes across nodes.

Innovation Solution

A peer-to-peer replication protocol that allows changes to be replicated to a target node without waiting for acknowledgments, enabling the node to join the replication group immediately and process changes in a spill queue while loading an updated database copy, thus minimizing downtime and maintaining continuous workload processing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If existing replication protocols require acknowledgments from all nodes before replicating changes to a new node, then data consistency is improved, but user workload availability deteriorates due to suspension during initialization

Engineering Contradiction:
Improvedata consistencyVSAvoiduser workload availability
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system performs preliminary actions by having the new node load the database copy and synchronize tables before joining the replication group. This allows the node to be ready to receive and process changes immediately upon joining, eliminating the need to suspend user workloads during initialization while maintaining data consistency through the acknowledgment requirement.

Inventive Principle:
Principle #10Preliminary action

2Measurement precision

If the new node waits for acknowledgments from all other nodes before receiving replicated changes, then data synchronization accuracy is improved, but initialization time deteriorates

Engineering Contradiction:
Improvedata synchronization accuracyVSAvoidinitialization time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The new node performs preliminary table synchronization and loads the database copy before joining the replication group. This preliminary action reduces the initialization time by preparing the node in advance, while the acknowledgment mechanism ensures data synchronization accuracy is maintained when the node actually receives replicated changes.

Inventive Principle:
Principle #10Preliminary action

3Ease of operation

If tables are synchronized on the new node before joining the replication group, then data availability is improved, but the complexity of the initialization protocol deteriorates

Engineering Contradiction:
Improvedata availabilityVSAvoidinitialization protocol complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The system implements preliminary table synchronization as a standard initialization step before the node joins the replication group. This preliminary action ensures data availability by having tables ready on the new node, while the structured two-phase approach (synchronization then joining) manages the protocol complexity in an organized manner.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10255343B2Initialization protocol for a peer-to-peer replication environment
Publication Date: 2019.04.09 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10255343B2 patent drawing
  • US10255343B2 patent drawing
  • US10255343B2 patent drawing

AI summary

Techniques for initializing a connection in a peer-to-peer replication environment. Responsive to a request to add a target node to a data replication group, embodiments receive a first message, at a target node, from an initiator node within the data replication group, indicating that the initiator node will begin replicating changes to the target node without waiting for any acknowledgements relating to the first message. The changes are applied to a first instance of a data entity on the initiator node. A second message is transmitted, from the target node, to at least one other member in the data replication group, announcing that the target node is joining the data replication group. Embodiments receive a plurality of replicated changes, at the target node, from the initiator node, and process each replicated change in the plurality of replicated changes against a second instance of the data entity at the target node.