Distributed Lock Management via Conditional Key-Value Updates

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing distributed systems face complexity in maintaining consistency across components, especially in asynchronous communication environments, making it difficult to implement efficient and accessible consistency solutions for distributed applications.

Innovation Solution

Implementing a distributed lock manager using conditional updates to a distributed key value data store, which allows compute nodes to acquire locks and manage consistency without relying on complex protocols like Paxos, enabling fine-grained locking and high availability.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If complex consistency protocols like Paxos are used in distributed systems, then consistency among distributed components is achieved, but device complexity and difficulty of implementation increase

Engineering Contradiction:
ImproveconsistencyVSAvoidprotocol complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent extracts the consistency management function from complex protocols like Paxos and implements it through simple conditional updates in a distributed key-value store. Each compute node independently performs conditional updates to lock entries, eliminating the need for complex consensus protocols while maintaining consistency through the atomicity of these updates.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent replaces the mechanical complexity of consensus protocols (Paxos, etc.) with a simpler mechanism based on conditional atomic updates in a key-value store. This substitution maintains the essential function of consistency while dramatically reducing implementation complexity through standard database operations.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

2Reliability

If synchronous communication model is used to achieve consistency, then consistency among distributed components is maintained, but productivity and system responsiveness decrease

Engineering Contradiction:
ImproveconsistencyVSAvoidsystem responsiveness
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent implements a dynamic lock acquisition mechanism where compute nodes can attempt to acquire locks asynchronously through conditional updates. The system dynamically adjusts to availability conditions without requiring synchronous coordination, allowing nodes to make progress when possible while maintaining consistency through the conditional nature of the updates.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent enables preliminary lock acquisition attempts before actual data operations. Compute nodes can perform conditional updates to reserve locks in advance, and only proceed with data operations if the lock acquisition succeeds. This preliminary action allows asynchronous progress while maintaining consistency through the conditional nature of the reservations.

Inventive Principle:
Principle #10Preliminary action

3Adaptability or versatility

If distributed lock management is implemented with fine-grained locking, then adaptability and control precision improve, but device complexity increases

Engineering Contradiction:
Improvelocking granularityVSAvoidlock management complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent implements a universal lock management mechanism where a single conditional update operation serves multiple functions: lock acquisition, lock release, and consistency maintenance. The same conditional update primitive handles both coarse-grained and fine-grained locking scenarios, eliminating the need for separate complex lock management mechanisms for different granularity levels.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS9817703B1Distributed lock management using conditional updates to a distributed key value data store
Publication Date: 2017.11.14 AMAZON TECH INC
  • US9817703B1 patent drawing
  • US9817703B1 patent drawing
  • US9817703B1 patent drawing

AI summary

A compute cluster including multiple compute nodes may implement distributed lock management using conditional updates to a distributed key value data store. It may be determined, at one or more compute nodes of a compute cluster, that particular lock is available based on a respective lock entry for the particular lock maintained in a lock manager table at a key value data store. The key value data store may be configured to perform conditional write requests for updates to data store at the key value, and may maintain data according to a distributed durability scheme. Compute nodes that determine that a lock is available may send a conditional write request to the key value data store in order to acquire the particular lock. The compute node that acquired the particular lock may be identified based on the successfully completed conditional write request to the respective lock entry.