Scalable Locking via Tree Data Structures

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing solutions face challenges in efficiently managing locks in large and distributed storage systems, particularly in accommodating the increasing demand for locking as the number of clients grows, and in handling ranges of blocks effectively.

Innovation Solution

The implementation of tree data structures for lock management, where lock entries are stored in nodes that represent attributes, allowing for scalable locking by checking for conflicts and resolving pending locks, with the ability to grow or shrink based on demand, and using different granularity trees to reduce the amount of data checked for overlapping ranges.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If the number of clients in a distributed storage system increases, then the demand for locking increases, but existing solutions cannot efficiently accommodate this demand

Engineering Contradiction:
Improvelocking capacityVSAvoidlock management efficiency
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent divides the lock management system into multiple independent trees (e.g., first tree, second tree, third tree), each responsible for managing locks for specific ranges of data blocks. This segmentation allows the system to handle locking demands for different data ranges concurrently and independently, improving overall locking capacity and efficiency as the number of clients increases

Inventive Principle:
Principle #1Segmentation

2Quantity of substance

If ranges of blocks need to be locked for large data, then locking coverage is improved, but existing solutions face challenges in efficiently locking these ranges

Engineering Contradiction:
Improvedata coverageVSAvoidrange locking complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The patent segments the data storage into multiple ranges, each managed by a separate tree data structure. This allows efficient range locking by operating on individual trees rather than processing the entire dataset, reducing the complexity of managing large data ranges while maintaining comprehensive coverage

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a hierarchical dimension to lock management by using multiple trees at different levels, where each tree manages a specific subset of blocks. This dimensional approach transforms the complex problem of locking large ranges into simpler, more manageable sub-problems across multiple levels

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

Data Source

PatentUS11227016B2Scalable locking techniques
Publication Date: 2022.01.18 VAST DATA LTD
  • US11227016B2 patent drawing
  • US11227016B2 patent drawing
  • US11227016B2 patent drawing

AI summary

Systems and methods for scalable locking. A method includes adding a first lock entry representing a pending lock to a first tree, the first lock entry indicating a range to be locked; checking at least a portion of at least one second tree to determine whether a conflicting lock exists for the first lock entry among at least one second lock entry based on the range to be locked, wherein each of the first tree and the at least one second tree is a data structure including a plurality of nodes representing at least a plurality of attributes, wherein the plurality of attributes of the at least one second tree includes the at least one second lock entry; committing the pending lock when no conflicting lock exists; and resolving the pending lock based on a resolution of the conflicting lock when a conflicting lock exists.