Asynchronous Messaging for Storage Data Replication Latency
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional data replication methods in information processing systems face inefficiencies due to excessive round-trip messaging latencies, especially over long distances, which hinder the achievement of desired recovery point objectives in clustered storage systems.
Innovation Solution
The implementation of asynchronous messaging within a content addressable storage system using a distributed storage controller, where processing modules communicate over networks to manage data replication, incorporating unique message identifiers for request and response messages, and employing asynchronous messaging timeouts to accommodate varying latency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If asynchronous replication is configured to periodically transfer data in multiple cycles from a source site to a target site, then data replication functionality is achieved, but excessive round-trip messaging latencies occur when sites are separated by long distances
Solution Approach 1:
The patent implements preliminary action by sending data transfer requests asynchronously without waiting for immediate responses. The source storage system initiates multiple data transfer requests in advance, and the replication process continues without being blocked by round-trip messaging delays. This allows the system to prepare and send replication commands proactively, improving efficiency despite long distances between sites.
Solution Approach 2:
The patent employs periodic action through cycle-based asynchronous replication where data is transferred in multiple periodic cycles. Instead of requiring synchronous acknowledgment for each individual data block, the system operates in cycles where requests are sent periodically and responses are processed when available. This periodic approach maintains replication reliability while accommodating variable latency conditions.
2Loss of information
If conventional synchronous messaging is used for data transfer requests and responses between processing modules, then message coordination is achieved, but replication efficiency deteriorates due to waiting for round-trip acknowledgments
Solution Approach 1:
The patent introduces an intermediary mechanism in the form of an asynchronous message queue or buffer between the source and target processing modules. Instead of direct synchronous communication where the source must wait for the target's acknowledgment, the intermediary allows requests to be queued and processed independently. This decouples the communication parties, maintaining message coordination through the intermediary while eliminating waiting delays and improving replication efficiency.
Solution Approach 2:
The patent replaces the mechanical synchronous messaging system with an asynchronous messaging mechanism. In the conventional mechanical system, the source module must physically wait for the response to return before proceeding. The invention substitutes this with an event-driven asynchronous model where messages are published and subscribed to independently, replacing the tight coupling and waiting mechanism with a more flexible notification-based system that improves productivity.
Data Source
AI summary
A first storage system in one illustrative embodiment is configured to participate in a replication process with a second storage system. Each of a plurality of storage nodes of the first storage system comprises a plurality of storage devices and a set of processing modules configured to communicate with corresponding sets of processing modules on other ones of the storage nodes. In conjunction with the replication process, a first one of the processing modules is configured to generate a request message for transmission to a second one of the processing modules requesting that the second processing module transfer designated replication data to the second storage system. The request message comprises a unique message identifier that the second processing module incorporates into a subsequent response message transmitted back to the first processing module to indicate a result of the requested transfer of the designated replication data to the second storage system.


