Distributed Lock Manager for Fair Cluster Resource Allocation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing distributed computing systems rely on centralized master nodes for allocating shared resources like virtual IP addresses, which can lead to failures and inefficiencies when the master node fails, necessitating a new approach for fair and resilient resource allocation.

Innovation Solution

Implementing a distributed lock manager service (DLMS) on each node in the cluster to manage locks for shared resources using a fairness protocol, ensuring each node receives a balanced number of resources based on the cluster's size, with a first-in first-out queue and a fairness algorithm to handle node failures and recoveries.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If a centralized master node is used to allocate shared resources, then resource allocation is simplified and centralized control is achieved, but system reliability deteriorates when the master node fails

Engineering Contradiction:
Improveresource allocation complexityVSAvoidsystem reliability
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

The patent segments the centralized resource allocation function into distributed components. Each node in the cluster runs its own resource allocation agent that independently manages resource requests and grants. This segmentation eliminates the single point of failure (centralized master node) while maintaining resource allocation functionality through distributed decision-making across multiple nodes.

Inventive Principle:
Principle #1Segmentation

2Ease of operation

If a centralized master node is used to allocate shared resources, then resource distribution control is centralized, but recovery time from failures increases due to re-election algorithms

Engineering Contradiction:
Improveresource distribution controlVSAvoidrecovery time
Core Design Contradiction:
Ease of operationVSLoss of time

Solution Approach 1:

The patent implements preliminary action by pre-configuring resource allocation agents on all nodes before any failure occurs. Each agent is pre-prepared to immediately take over resource allocation responsibilities if needed. When a failure happens, the system doesn't need to perform time-consuming re-election algorithms because the backup agents are already in position and can immediately assume control, significantly reducing recovery time.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If distributed lock manager with fairness protocol is implemented, then resource allocation fairness is improved, but system complexity increases

Engineering Contradiction:
Improveallocation fairnessVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent implements feedback through fairness protocols where each resource allocation agent continuously monitors resource distribution across the cluster and adjusts its allocation decisions accordingly. When an agent detects that certain nodes are receiving disproportionately more or fewer resources, it modifies its granting behavior to balance the distribution. This feedback mechanism ensures fair resource allocation without requiring complex centralized coordination, as each agent independently responds to distribution imbalances.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS12381833B2Distributed fair allocation of shared resources to constituents of a cluster
Publication Date: 2025.08.05 COHESITY INC
  • US12381833B2 patent drawing
  • US12381833B2 patent drawing
  • US12381833B2 patent drawing

AI summary

Techniques are disclosed for allocating shared resources to nodes in a distributed computing network system. Nodes request a lock for each instance of a computing resource (e.g., a virtual IP address associated with a service provided by the distributed computing network system) from a distributed lock manager. The distributed lock manager maintains a queue of requests for each instance of the shared resource. Upon receiving a lock from the distributed lock manager, the receiving node performs a fairness allocation protocol to determine whether to accept the lock. If so determined, the shared computing resources associated with the lock is configured.