Distributed Lock Management with Automatic Expiration

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvesynchronization coordinationVSAvoidglobal shared state
Core Design Contradiction:
ReliabilityVSDevice complexity

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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

Engineering Contradiction:
Improveresource access continuityVSAvoidsystem stability
Core Design Contradiction:
Stability of the object's compositionVSReliability

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #19Periodic action

3Loss of energy

If lock requests are sent without determining current lock owner, then message traffic is reduced, but request processing efficiency decreases

Engineering Contradiction:
Improvemessage trafficVSAvoidrequest processing efficiency
Core Design Contradiction:
Loss of energyVSProductivity

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.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS7343432B1Message based global distributed locks with automatic expiration for indicating that said locks is expired
Publication Date: 2008.03.11 EMC IP HLDG CO LLC
  • US7343432B1 patent drawing
  • US7343432B1 patent drawing
  • US7343432B1 patent drawing

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.