Distributed Lease Servers for Resilient Resource Locking
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Distributed systems face availability loss and network issues due to temporary outages or DNS failures in lock servers, which can cause all dependent services to become unavailable during leader election in distributed locking scenarios.
Innovation Solution
A computing entity attempts to obtain a lease on a resource by sending requests to multiple lease servers and determines a successful acquisition based on receiving grants from a majority of capable lease servers, relinquishing minority leases if not successful, and periodically renewing leases to maintain the main lease.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Device complexity
If a single lock server is used to provide distributed locks and synchronize state in a distributed system, then the system can maintain simplicity in architecture and operation, but the system becomes vulnerable to availability loss when the data center or region experiences temporary outages or network issues
Solution Approach 1:
The patent divides the lock server functionality into multiple independent lease servers distributed across different data centers or regions. Instead of relying on a single centralized lock server, the system segments the locking functionality across multiple geographic locations, allowing the distributed system to continue operating even if one data center becomes unavailable. Each lease server can independently grant leases, and the system aggregates responses from multiple servers to determine lock status.
2Reliability
If multiple lease servers are deployed across different data centers to improve availability, then the system can maintain service during transient outages, but the complexity of managing multiple servers and coordinating their responses increases
Solution Approach 1:
The patent creates copies of the lock server functionality across multiple data centers, with each lease server maintaining a copy of the locking logic and state. Instead of managing a single source of truth, the system uses replicated lease servers that can independently process lock requests. The computing system sends lease requests to multiple copied instances and aggregates their responses, simplifying the coordination model while improving availability.
3Stability of the object's composition
If the system waits for responses from all lease servers before determining lock status, then consistency can be maintained, but the time required to acquire or release locks increases
Solution Approach 1:
The patent implements a majority voting mechanism where the computing system needs to receive responses from a majority of lease servers rather than all of them to determine lock status. This partial action approach allows the system to proceed with lock acquisition or release operations once it has sufficient confirmations from the lease servers, rather than waiting for every single server to respond. This reduces the time required for lock operations while maintaining consistency through the majority rule.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
The obtaining of a lease on a resource in a circumstance in which multiple lease servers are capable of granting a lease to the resource. A computing entity attempts to obtain the lease on the resource by causing a lease request to be sent to each of at least most (and perhaps all) of the lease servers. In response, the computing entity receives one or more responses to the lease requests. If the computing entity receives grants of a lease from a majority of the lease servers that are capable of granting a lease to the resource, then it is determined that the computing entity acquired a lease on the resource. On the other hand, if the computing entity receives grants of a lease from less than a majority of the lease servers, it is determined that the computing entity failed to acquire the lease on the resource.