Synchronous Replication Write Handling via Callback Context
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In storage systems with synchronous mirroring writes, overlapping write requests can lead to inconsistencies, as the order of writes may not be synchronized between the source and destination, potentially resulting in byte-for-byte copy failures, especially when asynchronous requests are initiated simultaneously.
Innovation Solution
A replication process that sets a callback and context for write requests, allowing for transactional replication by using a 'Run In Transaction' callback to ensure data consistency across the source and destination, and handles failures by fracturing the mirror relationship and logging changes for synchronization upon reestablishment.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If asynchronous requests to Namespace and Transit are started simultaneously, then write throughput is improved, but data consistency between source and destination deteriorates
Solution Approach 1:
The patent applies preliminary action by setting a callback function and context pointer in the write request before the asynchronous operations begin. This callback is registered in advance with the first process (Namespace) and will be invoked automatically when the operation completes, ensuring that the replication process (TxCache) can track and coordinate the write operations to maintain consistency between source and destination even when operations are initiated simultaneously
Solution Approach 2:
The patent implements feedback through the callback mechanism where the first process notifies the replication process when the write request to Namespace completes. This feedback loop allows the system to monitor the status of asynchronous operations and ensure that replication to the destination is properly coordinated, maintaining data consistency while allowing parallel operations to improve throughput
2Speed
If parallel write operations are performed without transaction coordination, then processing speed is improved, but transactional consistency deteriorates
Solution Approach 1:
The patent uses the replication process (TxCache) as an intermediary between the first process (Namespace) and the second process (Transit). This intermediary coordinates the parallel write operations by receiving write requests, setting up callbacks to track completion, and ensuring that both Namespace and Transit operations are properly synchronized. The intermediary maintains transactional consistency while allowing both operations to proceed in parallel, thus preserving processing speed
Data Source
AI summary
A method, computer program product, and computer system for receiving, at a computing device, a write request from a host, wherein a first portion of a process may receive the write request. A callback and context may be set in the write request by the first portion of the process. The write request may be passed to a second portion of the process. The first process may be provided with the context. The first process may use the context to replicate the write request data to a destination.


