Multi-site Block Write Consistency via Reservation Management
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current storage networks face challenges in maintaining data consistency across geographically distributed directors and storage resources, particularly in coordinating and controlling resource sharing among storage nodes, which can lead to difficulties in managing data replication and mirroring functions.
Innovation Solution
A system that manages reservations for competing sites by maintaining a table of groups, denying reservations if access is previously reserved, and granting reservations when resources are available, with mechanisms for handling communication failures and write operations, including the use of multiple witnesses to manage resources and ensure write consistency between mirrored storage devices.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If synchronous data transfer is used between geographically distributed storage sites, then data consistency is improved, but communication latency and transfer time increase
Solution Approach 1:
The patent implements preliminary actions by pre-establishing communication channels and protocols between geographically distributed storage sites before actual data transfer occurs. The system pre-configures synchronous transfer mechanisms and maintains ready-state connections, so that when data transfer is initiated, the communication infrastructure is already in place, reducing actual transfer latency while maintaining data consistency.
2Loss of time
If asynchronous data transfer is used between storage sites, then communication latency is reduced, but data consistency and reliability deteriorate
Solution Approach 1:
The patent implements feedback mechanisms where the storage system continuously monitors transfer status, acknowledgment signals, and data integrity metrics between sites. When asynchronous transfer is used, the system receives feedback about transfer completion and data consistency status, allowing it to detect and correct inconsistencies, thereby maintaining reliability while benefiting from reduced latency.
3Productivity
If multiple storage sites compete for shared resources simultaneously, then resource utilization is improved, but coordination complexity and difficulty of control increase
Solution Approach 1:
The patent introduces intermediary components such as coordination servers, arbitration mechanisms, or distributed locking systems that mediate between multiple storage sites competing for shared resources. These intermediaries manage resource allocation, handle conflict resolution, and coordinate access patterns, allowing high resource utilization while keeping coordination complexity manageable by centralizing or standardizing the coordination logic.
4Reliability
If strict reservation protocols are implemented for resource allocation, then data consistency is improved, but resource availability and access speed decrease
Solution Approach 1:
The patent applies partial reservation protocols where only critical resources or critical portions of data require strict reservation, while less critical resources allow more flexible access patterns. This selective approach maintains data consistency for essential operations while allowing faster access for non-critical operations, thereby improving overall resource access speed without sacrificing necessary consistency guarantees.
Data Source
AI summary
Maintaining write consistency between at least two mirrored storage devices includes receiving a write request for a particular block, obtaining a reservation for the particular block, waiting for the particular block to become available in response to not being able to successfully obtain the reservation, writing the particular block in response to successfully obtaining the reservation, and writing the particular block at a remote one of the storage devices following writing the particular block at the particular one of the storage devices. If a retryable indicator is received, the system waits a predetermined amount of time and releases the reservation. The system responds with a success indicator when writing the particular block at a remote one of the storage devices succeeds and responds with a failure indicator when writing the particular block at a remote one of the storage devices fails and the retryable indicator is not received.


