Mirrored Lock Synchronization for Non-Disruptive Storage
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Managing access rights in networked storage systems is challenging, particularly in maintaining non-disruptive data access when nodes fail, as existing solutions require costly shared memory architectures and special hardware.
Innovation Solution
Implementing mirrored lock data structures that are synchronized with original lock data structures across cluster nodes, allowing seamless takeover and maintenance of data storage without disrupting client access, even during volume moves and aggregate relocations.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If shared memory architecture is used to store lock information for failover, then reliability is improved, but device complexity and cost increase
Solution Approach 1:
The patent creates a mirrored copy of the lock data structure on the partner node. When the primary node fails, the partner node already possesses an identical copy of the lock information, enabling immediate failover without requiring complex shared memory architectures. This copying approach simplifies the system while maintaining reliability.
2Ease of operation
If lock information is stored in shared memory accessible by multiple nodes, then ease of operation for failover is improved, but device complexity increases
Solution Approach 1:
Instead of using shared memory hardware, the patent copies the lock data structure to the partner node's local memory. This eliminates the need for special shared memory hardware while maintaining easy failover operation, as the partner node can access its local copy immediately upon taking over.
Solution Approach 2:
The patent extracts the lock information from the shared memory architecture and places it locally on the partner node. This extraction removes the dependency on complex shared memory hardware while preserving the ease of failover operation.
3Productivity
If batch transfer of lock metadata is implemented, then productivity is improved, but measurement precision of lock state synchronization may be affected
Solution Approach 1:
The patent performs preliminary actions by maintaining a mirrored copy of the lock data structure on the partner node before failover is needed. This preliminary mirroring ensures that when batch transfer occurs, the partner node already has the lock state information, enabling both high productivity and accurate lock state synchronization without conflict.
Data Source
AI summary
Techniques for synchronization between data structures for original locks and mirror lock data structures are disclosed herein. The mirror lock data structures are being maintained during various scenarios including volume move and aggregate relocation, in order to preserve the non-disruptive persistent operation on storage initiated by clients. According to one embodiment, a storage node determines a plurality of data container locks to be synchronized to a partner node of the storage node and transfers metadata that indicates states of variables that represent the plurality of data container locks to the partner node in a batch. When a client initiates a data access operation that causes an attempt to modify a data container lock of the plurality of data container locks, the storage node sends a retry code to a client that prompts the client to retry the data access operation after a predetermined time period.


