Synchronous Distributed Storage Replication with Dual-Store Commit

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing distributed computing environments face challenges in maintaining data consistency and availability across geographically separate locations, particularly in the context of natural disasters or business disruptions, while ensuring compliance with local regulations and reducing latency.

Innovation Solution

A method for synchronously replicating data between primary and secondary data stores using a strong consistency approach, where data is annotated with unique identifiers and acknowledged at both stores before committing, ensuring data is written to both locations before providing an acknowledgment to the client.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If synchronous replication with strong consistency is implemented, then data availability and consistency are improved, but latency increases due to waiting for acknowledgment from secondary data store

Engineering Contradiction:
Improvedata availabilityVSAvoidlatency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs preliminary actions by writing data to the log at the secondary data store before committing at the primary data store. The unique identifier is assigned and communicated to the secondary data store in advance, allowing it to prepare for replication without waiting for the complete commit process, thus reducing latency while maintaining strong consistency.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements feedback mechanisms where the secondary data store sends acknowledgment messages back to the primary data store. This feedback loop allows the primary data store to know when the secondary has successfully written and committed the data, enabling proper synchronization while managing latency through selective acknowledgment timing.

Inventive Principle:
Principle #23Feedback

2Reliability

If data is replicated to multiple geographical locations, then disaster recovery capability is improved, but system complexity increases

Engineering Contradiction:
Improvedisaster recovery capabilityVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system segments the replication process into distinct components: a primary data store handling write operations, a secondary data store handling replication reception, and a unique identifier mechanism tracking replication status. This segmentation simplifies the overall system architecture by dividing complex disaster recovery functions into manageable, independent modules that can be implemented and maintained more easily.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The unique identifier acts as an intermediary mechanism that coordinates between the primary and secondary data stores. It facilitates the replication process without requiring complex communication protocols or coordination systems, thereby reducing overall system complexity while enabling multi-location replication for disaster recovery.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If data is written to log before commitment, then data durability is improved, but availability of uncommitted data is reduced

Engineering Contradiction:
Improvedata durabilityVSAvoiddata availability
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system performs the preliminary action of writing data to the log at the secondary data store before the primary data store commits the data. This ensures that even if the primary data store fails before committing, the secondary data store has already preserved the data in its log, improving data durability without requiring the primary store to wait for commit completion.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements beforehand cushioning by maintaining a log at the secondary data store that captures data before final commitment. This log acts as a cushion or safety net, preserving data durability in case of failures. The unique identifier ensures that only properly tracked and validated data is replicated to the secondary store's log, balancing durability with availability.

Inventive Principle:
Principle #11Beforehand cushioning (Prior cushioning)

Data Source

PatentUS12353437B2Synchronous replication in a distributed storage environment
Publication Date: 2025.07.08 MICROSOFT TECHNOLOGY LICENSING LLC
  • US12353437B2 patent drawing
  • US12353437B2 patent drawing
  • US12353437B2 patent drawing

AI summary

Embodiments of the present invention relate to synchronously replicating data in a distributed computing environment. To achieve synchronous replication both an eventual consistency approach and a strong consistency approach are contemplated. Received data may be written to a log of a primary data store for eventual committal. The data may then be annotated with a record, such as a unique identifier, which facilitates the replay of the data at a secondary data store. Upon receiving an acknowledgment that the secondary data store has written the data to a log, the primary data store may commit the data and communicate an acknowledgment of success back to the client. In a strong consistency approach, the primary data store may wait to send an acknowledgement of success to the client until it receives an acknowledgment that the secondary has not only written, but also committed, the data.