Stream Credit Allocation for Fair QoS in Scaleout Clusters

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Allocating resources fairly among clients while ensuring quality of service (QoS) in single node or distributed/scaleout cluster environments is challenging, particularly in data protection operations where some clients may consume excessive resources, leading to neglect of others and compromised QoS.

Innovation Solution

Implementing a credit system for resource allocation, including stream credits, to manage and throttle client requests, ensuring a safe allocation state by granting or denying credits based on the system's current capacity and demand, using matrices to evaluate allocation states.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If resources are allocated without throttling, then productivity is improved, but quality of service deteriorates due to unfair resource distribution

Engineering Contradiction:
Improveresource allocation efficiencyVSAvoidquality of service
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent implements a feedback mechanism through stream credits that monitor and control resource allocation. The system continuously evaluates the allocation state by comparing current resource usage against available capacity, and dynamically adjusts credit grants to maintain fair distribution. This feedback loop ensures that no single client can monopolize resources while still allowing high productivity when capacity is available.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system changes the parameter of resource allocation from unrestricted to credit-based by introducing stream credits as a controlling mechanism. The allocation state is determined by evaluating whether granting requested credits would maintain system safety, transforming the allocation approach to balance productivity and quality of service through parameter control.

Inventive Principle:
Principle #35Parameter changes

2Reliability

If stream credits are granted to all clients, then quality of service is improved, but device complexity increases due to allocation management

Engineering Contradiction:
Improvequality of serviceVSAvoidallocation management complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent implements self-service by having clients request stream credits autonomously based on their needs. The allocation manager automatically evaluates these requests against current system state and grants appropriate credits without manual intervention. This self-service mechanism maintains quality of service while reducing operational complexity by automating the allocation decision-making process.

Inventive Principle:
Principle #25Self-service

3Reliability

If resource allocation is restricted to maintain safety, then quality of service is maintained, but productivity decreases due to throttling

Engineering Contradiction:
Improvequality of serviceVSAvoidresource utilization
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent applies dynamics by making the stream credit allocation state dynamic rather than static. The system continuously evaluates allocation requests and adjusts credit grants based on current system capacity and demand. This dynamic approach allows the system to maintain quality of service through safety evaluation while maximizing productivity by granting credits when capacity is available, avoiding unnecessary throttling.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS12506694B2Stream allocation using stream credits
Publication Date: 2025.12.23 EMC IP HLDG CO LLC
  • US12506694B2 patent drawing
  • US12506694B2 patent drawing
  • US12506694B2 patent drawing

AI summary

Systems and methods for allocating resources are disclosed. Resources such as streams are allocated using a stream credit system. Credits are issued to the clients in a manner that ensure the system is operating in a safe allocation state. The credits can be used not only to allocate resources but also to throttle clients where necessary. Credits can be granted fully, partially, and in a number greater than a request. Zero or negative credits can also be issued to throttle clients.