Recovery Point Objective Enforcement in Data Replication

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Cloud computing systems face data loss during massive failures like natural disasters or catastrophic errors due to the lag in replicating data between geographically distant data centers, exceeding the acceptable limits defined in service level agreements.

Innovation Solution

Implementing a recovery point objective enforcement mechanism that monitors lag during data replication and throttles transactions based on the maximum acceptable lag, allowing for error messaging and resource allocation to cap data loss, ensuring compliance and minimizing data loss during failures.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If data is replicated between geographically distant data centers to ensure availability during massive failures, then data availability is improved, but data loss increases due to replication lag

Engineering Contradiction:
Improvedata availabilityVSAvoiddata loss
Core Design Contradiction:
ReliabilityVSLoss of information

Solution Approach 1:

The system dynamically adjusts the replication strategy based on the defined recovery point objective. When the lag between primary and secondary data centers exceeds the maximum acceptable lag, the system automatically throttles or aborts transactions on the primary data center, making the replication process adaptive rather than static. This dynamic control ensures data availability while capping data loss within acceptable boundaries.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system continuously monitors the replication lag between primary and secondary data centers and uses this feedback to control transaction flow. When lag exceeds the recovery point objective threshold, the system responds by throttling or aborting transactions, creating a closed-loop control system that maintains data loss within acceptable limits while preserving data availability.

Inventive Principle:
Principle #23Feedback

2Loss of information

If transactions are throttled on the primary data center to reduce replication lag, then data loss is reduced, but productivity decreases

Engineering Contradiction:
Improvedata lossVSAvoidtransaction throughput
Core Design Contradiction:
Loss of informationVSProductivity

Solution Approach 1:

Instead of completely halting transactions when lag occurs, the system applies partial throttling - reducing transaction throughput to a level that allows the secondary data center to catch up while still processing some transactions. This partial action maintains productivity at an acceptable level while preventing excessive data loss, avoiding the extreme of complete transaction shutdown.

Inventive Principle:
Principle #16Partial or excessive action

3Reliability

If the secondary data center is activated for fail over, then data availability is restored, but data integrity is compromised due to uncommitted transactions

Engineering Contradiction:
Improvedata availabilityVSAvoiddata integrity
Core Design Contradiction:
ReliabilityVSManufacturing precision

Solution Approach 1:

The system performs preliminary actions by proactively throttling or aborting transactions on the primary data center before a failure occurs, ensuring that the replication lag remains within the recovery point objective. This preliminary control prevents the situation where uncommitted transactions would cause data integrity issues during fail over, allowing the secondary data center to be activated with confidence that data integrity is maintained.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10698919B2Recovery point objective enforcement
Publication Date: 2020.06.30 MICROSOFT TECHNOLOGY LICENSING LLC
  • US10698919B2 patent drawing
  • US10698919B2 patent drawing
  • US10698919B2 patent drawing

AI summary

A maximum lag between data stores can be specified that corresponds to a recovery point objective defined in a service level agreement. Lag can be monitored during a data replication between a primary data store and a secondary data store located in geographically different regions. Activity on the primary data store including incoming data transactions can be throttled as a function of the lag and the maximum lag.