Fault Tolerant Distributed Lock Manager Using Coherent Queue Copies
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional locking mechanisms in distributed computing systems lack fault tolerance, leading to system stalls if a process holding a lock crashes or if a lock order is lost, and they are not adaptable to dynamic changes in the number of participant nodes or processes.
Innovation Solution
A fault-tolerant distributed locking mechanism is implemented using a fault-tolerant queue with multiple coherent and concurrent copies, and a policing mechanism that allows lock managers to remove entries and withdraw locks, enabling failover to backup copies and managing access to shared resources even in the presence of device or application failures.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If conventional locking mechanisms are used in distributed computing systems, then the system can provide synchronized access to shared resources, but the system lacks fault tolerance and will stall if a process holding a lock crashes or if a lock order is lost
Solution Approach 1:
The patent implements multiple copies of the lock queue distributed across different machines in a cluster. Each lock manager maintains a copy of the queue, and if the primary lock manager fails, a backup lock manager with a copy of the queue can take over, ensuring fault tolerance without requiring complex state recovery mechanisms
Solution Approach 2:
The system proactively creates backup copies of the lock queue before failures occur. These standby copies are maintained in readiness state, so when a failure happens, the system can immediately failover to a backup copy rather than needing to reconstruct the queue state after failure, preventing system stalls
2Adaptability or versatility
If a single lock manager is used to manage access to shared resources, then the locking mechanism is simple to implement, but the system cannot adapt to dynamic changes in the number of participant nodes or processes
Solution Approach 1:
The system dynamically adapts to changes in the number of participant nodes and processes. When new nodes or processes join the distributed system, they can automatically join the lock queue without requiring system reconfiguration. The queue structure and lock management logic automatically accommodate dynamic membership changes, enabling the system to scale and adapt flexibly
3Reliability
If multiple copies of the queue are created and hosted by different machines, then the system achieves fault tolerance, but the device complexity and coordination overhead increase
Solution Approach 1:
Each lock manager instance is self-sufficient and can independently handle lock requests using its local copy of the queue. The system uses self-organizing mechanisms where lock managers automatically coordinate through the distributed queue structure without requiring a central coordinator or complex consensus protocols, reducing overall system complexity while maintaining fault tolerance
Data Source
AI summary
A lock manager running on a machine may write a first entry for a first process to a queue associated with a resource. If the first entry is not at a front of the queue, the lock manager identifies a second entry that is at the front of the queue, and determines whether a second process associated with the second entry is operational. If the second process is not operational, the lock manager removes the second entry from the queue. Additionally, if the queue becomes unavailable, the lock manager may initiate failover to a backup copy of the queue.


