Distributed Lock Management with Automatic Expiration
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In computer systems with multiple resources and host processors, synchronizing access to these resources across multiple endpoints efficiently without using global shared state is a challenge, particularly in data storage systems like the Symmetrix™ system where multiple directors need to coordinate access to shared resources.
Innovation Solution
A distributed lock management method where a requesting node determines the current lock owner by an indicator specifying available nodes, sends a lock request message, and waits for a response, with the lock owner granting or denying the lock and setting an automatic expiration time based on the requested lock time, ensuring that locks are dynamically reassigned when necessary.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If global shared state is used for synchronization, then coordination between multiple endpoints is achieved, but system complexity and scalability are reduced
Solution Approach 1:
The patent segments the centralized lock management into distributed lock owners across multiple endpoints. Each endpoint can become a lock owner for specific resources, eliminating the need for a single global shared state. The lock state is segmented and distributed across the network rather than centralized.
Solution Approach 2:
The patent introduces lock request messages and lock response messages as intermediaries to facilitate coordination between endpoints. These messages serve as the communication medium that replaces direct access to global shared state, enabling indirect coordination through structured message passing.
2Stability of the object's composition
If locks are held indefinitely without expiration, then resource access is maintained, but system stability deteriorates when lock holders become unavailable
Solution Approach 1:
The patent establishes lock expiration times in advance when locks are granted. Each lock request includes a duration parameter, and the lock owner sets an automatic expiration time. This preliminary action ensures that locks will be released automatically if not renewed, preventing permanent blocking and maintaining system stability.
Solution Approach 2:
The patent implements periodic lock renewal through expiration mechanisms. Locks are not permanent but have defined lifetimes, creating a periodic pattern where locks must be renewed or are automatically released. This periodic action prevents indefinite holding and ensures system resilience.
3Loss of energy
If lock requests are sent without determining current lock owner, then message traffic is reduced, but request processing efficiency decreases
Solution Approach 1:
The patent performs preliminary determination of the current lock owner before sending lock requests. The requesting endpoint queries or determines who currently holds the lock, and only then sends a lock request message to the appropriate owner. This preliminary action avoids broadcasting requests to all endpoints, reducing unnecessary message traffic while improving processing efficiency.
Data Source
AI summary
Described is a distributed lock processing technique that may be used to coordinate access to globally accessed resource between endpoints using the connecting message fabric. Processors in a data storage system communicate using the message switch of the message fabric. Each processor is an endpoint within a data storage system. Each endpoint, prior to requesting a lock, dynamically determines a current lock owner of the lock to be requested in accordance with a determination of which endpoints are available as lock owners at the current time. The lock request is issued to the current lock owner with a requested time period used by the lock owner to determine an expiration time. The lock expires automatically at the expiration time even if the lock holder becomes unavailable. If the current lock owner becomes unavailable, a new lock owner is determined prior to the next request for that lock.


