Quota-Based Resource Scheduling in Distributed Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Distributed systems face challenges in efficiently managing resource requests due to resource contention and monopolization, especially with distinct resources where a small number of resources service specific requests, leading to inefficiencies and poor system performance.

Innovation Solution

Implementing dynamic scheduling based on usage quotas across the distributed system, where usage information is monitored to determine quota exceedance, allowing requests for atoms with unexceeded quotas to be processed before those exceeding quotas, even if the quota has been exceeded, and employing simple scheduling algorithms for high throughput and fair access.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If usage quotas are enforced strictly at each node, then resource monopolization is prevented, but system utilization decreases due to needful penalties

Engineering Contradiction:
Improveresource access fairnessVSAvoidsystem utilization
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system dynamically adjusts request processing based on real-time quota status. When a usage quota is not exceeded, requests are processed normally; when exceeded, the system dynamically switches to queuing requests of that type while allowing other request types to proceed. This dynamic behavior resolves the contradiction by adapting enforcement strictness to current system state.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the processing parameter (priority level) of requests based on quota status. Requests that would violate exceeded quotas are downgraded in priority and queued, while requests for unexceeded quotas maintain normal priority. This parameter change enables flexible resource allocation that prevents monopolization while maintaining high utilization.

Inventive Principle:
Principle #35Parameter changes

2Reliability

If complex scheduling algorithms are used to manage usage quotas globally, then fair access policy is achieved, but computational overhead increases reducing throughput

Engineering Contradiction:
Improveaccess fairnessVSAvoidrequest throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The global scheduling problem is segmented into independent per-resource decisions. Each resource maintains its own usage quota status and makes independent scheduling decisions for its requests. This segmentation avoids the need for complex global algorithms while achieving fair access, as each resource can be managed autonomously based on its own quota state.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Each resource services its own scheduling needs by monitoring its own usage quota and autonomously deciding which requests to process or queue. This self-service approach eliminates the need for centralized complex scheduling algorithms, reducing computational overhead while maintaining fairness through decentralized autonomous decision-making.

Inventive Principle:
Principle #25Self-service

3Reliability

If requests exceeding usage quotas are immediately penalized by queuing, then resource monopolization is prevented, but system throughput decreases when capacity is available

Engineering Contradiction:
Improvequota enforcementVSAvoidrequest processing throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system applies different quality of service treatment to different request types based on local quota status. Requests for resource types with unexceeded quotas receive normal priority processing, while only requests for exceeded quota types are queued. This localized differentiation ensures quota enforcement where needed while maintaining high throughput for permissible requests.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The system applies partial penalization rather than complete rejection of quota-exceeding requests. Instead of blocking all such requests, only the portion exceeding the quota is queued, while the system continues to process requests within quota limits at full speed. This partial action maintains throughput for acceptable usage while enforcing limits on excessive usage.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS11979336B1Quota-based resource scheduling
Publication Date: 2024.05.07 GOOGLE LLC
  • US11979336B1 patent drawing
  • US11979336B1 patent drawing
  • US11979336B1 patent drawing

AI summary

The present disclosure relates to dynamically scheduling resource requests in a distributed system based on usage quotas. One example method includes identifying usage information for a distributed system including atoms, each atom representing a distinct item used by users of the distributed system; determining that a usage quota associated with the distributed system has been exceeded based on the usage information, the usage quota representing an upper limit for a particular type of usage of the distributed system; receiving a first request for a particular atom requiring invocation of the particular type of usage represented by the usage quota; determining that a second request for a different type of usage of the particular atom is waiting to be processed; and processing the second request for the particular atom before processing the first request.