Lock Server Segmentation for Active-Active Storage Write Efficiency
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In long-distance active-active storage systems, the total time of communication among a lock server and two storage arrays is significant due to the distance between them, leading to inefficiencies in data write operations.
Innovation Solution
A data write method is introduced where the lock server receives a locking request from a first storage array, detects if the write lock permission is already granted to a second storage array, and if so, sends a lock revocation request to the second storage array. After the second storage array releases the write lock, the lock server allocates the write lock permission to the first storage array, enabling efficient data write operations.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the lock server is located far from both storage arrays to enable active-active configuration, then data redundancy and system reliability are improved, but communication time between the lock server and storage arrays increases significantly
Solution Approach 1:
The patent divides the lock management function into two independent lock servers, with each lock server positioned adjacent to one storage array. This segmentation allows each lock server to manage locks for its adjacent storage array locally, reducing communication distance and time while maintaining the active-active redundancy configuration.
Solution Approach 2:
The patent introduces a communication mechanism between the two lock servers that allows them to coordinate lock management across distributed storage arrays. This intermediary communication protocol enables the system to maintain consistency and avoid lock conflicts while minimizing the need for direct communication between storage arrays and the remote lock server.
2Reliability
If a global lock is used to ensure mutually exclusive write operations in active-active storage, then data consistency is improved, but write operation efficiency deteriorates due to lock conflicts and waiting time
Solution Approach 1:
The patent segments the global lock into two independent local locks, with each storage array having its own lock server that manages locks locally. This eliminates the need for global lock coordination and reduces write operation waiting time while maintaining data consistency through the active-active replication mechanism.
Solution Approach 2:
The patent implements a preliminary action where the lock server checks whether a lock is already held by the other storage array before allowing a write operation. If the lock is already held, the system waits for the lock to be released or uses the existing lock state to proceed, thereby avoiding unnecessary lock conflicts and improving write efficiency.
3Speed
If the lock server is moved closer to one storage array to reduce communication time, then communication efficiency for that storage array is improved, but communication time for the other storage array increases
Solution Approach 1:
The patent segments the lock server function into two separate lock servers positioned adjacent to each storage array. This segmentation ensures that each storage array has a nearby lock server for fast local lock management, while the other lock server remains available for coordinated operations, thereby balancing communication times across the distributed system.
Data Source
AI summary
In an active-active system, if write lock permission is granted to a second storage array, a first storage array sends to-be-written data and a lock revocation request together to a lock server; the lock server sends a lock revocation request carrying the to-be-written data to the second storage array; after storing the to-be-written data, the second storage array sends a lock revocation success message to the lock server; the lock server gives the write lock permission to the first storage array; and the first storage array obtains the write lock permission and stores the to-be-written data.


