Asynchronous Replication Data Loss Mitigation via History Replay

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Asynchronous log shipping in large messaging solutions can result in data loss during failover due to its asynchronous nature, which does not guarantee immediate replication of changes across servers, forcing a tradeoff between recovery characteristics and costs.

Innovation Solution

A computer-implemented data replication system that maintains a short history of recent changes and automatically resubmits this history upon failover, using a feedback loop to coordinate replication progress and reduce data loss by pruning outdated changes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If asynchronous log shipping is used for replication, then cost and complexity are reduced, but data loss occurs during failover

Engineering Contradiction:
Improvereplication solution complexityVSAvoiddata integrity during failover
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

The system performs preliminary actions by maintaining a short-term history of recent changes on frontend servers before failover occurs. This history is kept ready for quick resubmission to backend servers, ensuring that data can be recovered without requiring complex synchronous replication mechanisms.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The frontend server acts as an intermediary by maintaining and managing the short-term history of changes. This intermediary stores the history and facilitates its resubmission to backend servers after failover, bridging the gap between asynchronous replication and data integrity requirements.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If synchronous replication is used to prevent data loss, then data integrity is improved, but cost and system complexity increase

Engineering Contradiction:
Improvedata integrity during failoverVSAvoidreplication solution complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

Instead of using complex synchronous replication, the system performs preliminary action by pre-maintaining a short-term history of changes on frontend servers. This history is readily available for immediate resubmission after failover, achieving data integrity without the complexity of synchronous replication protocols.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system uses a disposable short-term history mechanism rather than expensive synchronous replication. The history is maintained for a short duration just long enough to cover the failover scenario, then discarded, providing an economical solution to data integrity.

Inventive Principle:
Principle #27Cheap short-living objects (Disposable)

3Reliability

If a longer history of changes is maintained for resubmission, then data recovery completeness is improved, but storage burden and processing overhead increase

Engineering Contradiction:
Improvedata recovery completenessVSAvoidstorage burden of change history
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The system applies local quality by maintaining history with a specific, optimized time duration that is just sufficient for failover recovery. This localized approach to history retention balances data recovery completeness with storage efficiency, avoiding the need to maintain extensive historical data.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The system changes the parameter of history retention duration to an optimized value that provides adequate recovery capability while minimizing storage burden. By adjusting this temporal parameter, the system achieves the right balance between recovery completeness and resource consumption.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS7908514B2Minimizing data loss in asynchronous replication solution using distributed redundancy
Publication Date: 2011.03.15 MICROSOFT TECHNOLOGY LICENSING LLC
  • US7908514B2 patent drawing
  • US7908514B2 patent drawing
  • US7908514B2 patent drawing

AI summary

Architecture that reduces data loss resulting from failover in an asynchronous log shipping deployment, but leveraging mid-tier and frontend servers to fill in lost data. In an asynchronous log shipping operation, a replication component asynchronously replicates messaging data to a backend server in accordance with one or more replication operations, which can be updates to databases on the backend server. These databases can include messaging data, such as email address books, mailboxes, etc. A history component maintains a history of replication operations on a frontend server. In the event of a lossy failover, a replay component is used for replaying the replication operations from the history to the backend server.