Asynchronous Pipelined Checkpointing for Primary-Backup Replication

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing primary-backup replication schemes incur significant network performance degradation due to regular synchronization between the primary and backup processes, which is particularly problematic for latency-sensitive services as it introduces delays equivalent to the round-trip delay between the two processes.

Innovation Solution

The implementation of an Asynchronous Pipelined Checkpointing primary-backup replication scheme, where synchronization is performed using epochs, allowing the primary process to initiate new epochs independently of state update acknowledgments from the backup process, and output messages are buffered and released only after confirmation, reducing the need for continuous synchronization.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If regular synchronization is performed between primary and backup processes, then fault-tolerance is improved, but network latency increases

Engineering Contradiction:
Improvefault-toleranceVSAvoidnetwork latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent applies preliminary action by pre-copying state information to the backup process before failures occur. The system continuously replicates state in the background without waiting for failure events, so that when a failure happens, the backup is already ready to take over immediately, eliminating the need for time-consuming synchronization during failure recovery

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements continuity of useful action by making the backup process continuously synchronized with the primary through asynchronous replication. The backup continuously receives and applies state updates without interrupting primary operations, ensuring that fault-tolerance maintenance does not create periodic latency spikes that would occur with batch synchronization

Inventive Principle:
Principle #20Continuity of useful action

2Reliability

If state information is copied from primary to backup process, then fault-tolerance is improved, but network overhead increases

Engineering Contradiction:
Improvefault-toleranceVSAvoidnetwork overhead
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The patent applies copying by creating a backup process that replicates the state of the primary process. Instead of maintaining complex redundant systems or performing full system replication, the invention copies essential state information to a backup process that can assume the primary's work upon failure, reducing the overhead compared to more comprehensive replication approaches

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent implements discarding and recovering by allowing the primary process to discard state information that has already been successfully replicated to the backup. Once state is copied and confirmed received, the primary can proceed without retaining redundant copies, while the backup maintains the recovered state for potential failover, optimizing memory usage and reducing unnecessary data transmission

Inventive Principle:
Principle #34Discarding and recovering

Data Source

PatentEP2798496B1Method and apparatus for synchronization in primary-backup replication schemes
Publication Date: 2019.01.09 ALCATEL LUCENT SA
  • EP2798496B1 patent drawingFigure 1
  • EP2798496B1 patent drawingFigure 2
  • EP2798496B1 patent drawingFigure 3

AI summary

A primary-backup replication capability is disclosed. A primary process and a backup process participate in a synchronization process configured to synchronize state information of the primary process with state information of the backup process. The synchronization process operates in periods of time referred to as epochs. During the current epoch, the primary process computes state update information representing changes to the state information of the primary process since a previous epoch. During the current epoch, the primary process also buffers output messages generated during the current epoch in an associated output buffer dedicated for use in the current epoch. The primary process initiates a new epoch independent of receiving, from the backup process, a state update acknowledgement for the previous epoch. The output messages buffered for the current epoch are released from the associated output buffer after the primary process receives a state update acknowledgment for the current epoch and all output buffers of all previous epochs are empty.