Adaptive Storage-Service Traffic Throttling Under Shared Capacity

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing storage services face issues with capacity overload due to shared resources among multiple clients, leading to request failures and unnecessary costs, as users are unaware of the varying available capacity and are not provided with a mechanism to manage their requests effectively.

Innovation Solution

A method for adaptive throttling of storage service traffic by dynamically determining the available capacity based on request success and failure, using techniques like token-based approaches to manage request rates and introduce jitter to prevent synchronized retries, ensuring efficient utilization of shared storage resources.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If clients send requests to storage service without adaptive throttling, then clients can maximize their usage of storage service, but storage service becomes overwhelmed leading to request failures and wasted costs

Engineering Contradiction:
Improvestorage service request throughputVSAvoidrequest success rate
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The client application monitors the responses from storage service requests and uses this feedback to dynamically adjust its request rate. When requests succeed, the client may increase throughput; when failures occur, the client reduces the rate, creating a closed-loop control system that adapts to actual service capacity

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system transitions from static request patterns to dynamic adaptive throttling where the request rate continuously adjusts based on observed service responses. This dynamic behavior allows the system to optimize throughput while avoiding overload conditions

Inventive Principle:
Principle #15Dynamics

2Speed

If clients send high volume requests to storage service, then data transfer speed increases, but storage service capacity is exceeded causing failures

Engineering Contradiction:
Improvedata transfer rateVSAvoidservice overload
Core Design Contradiction:
SpeedVSObject-affected harmful factors

Solution Approach 1:

The client application proactively implements throttling mechanisms before service overload occurs by monitoring response patterns and pre-adjusting request rates based on observed capacity limits, preventing harmful overload conditions rather than reacting after they occur

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system dynamically changes request parameters such as rate limits, batch sizes, and timing intervals based on observed service capacity, allowing optimization of transfer speed while adapting to varying service conditions

Inventive Principle:
Principle #35Parameter changes

3Quantity of substance

If multiple clients share storage service capacity, then resource utilization efficiency improves, but individual client capability varies dynamically without visibility

Engineering Contradiction:
Improveshared storage capacityVSAvoidavailable capacity visibility
Core Design Contradiction:
Quantity of substanceVSLoss of information

Solution Approach 1:

Each client application independently monitors its own request outcomes and self-adjusts its throughput without requiring external notification or visibility into other clients' usage, allowing the system to function autonomously with incomplete information

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS20250337808A1Adaptive throttling of storage service traffic within a client application
Publication Date: 2025.10.30 ORACLE INT CORP
  • US20250337808A1 patent drawing
  • US20250337808A1 patent drawing
  • US20250337808A1 patent drawing

AI summary

A computer program product, system, and computer implemented method for adaptive throttling of storage service traffic within a client application. The approaches provided herein allow a client or user of a storage service to dynamically and adaptively determine the capability of a storage service to service requests even when the client is not provided with a fixed reserved capacity and when other user may cause the unused capacity to vary. For instance, the approach may include maintaining a computing cluster that accesses a storage service, wherein the remote storage service has limited capacity to service requests, the limited capacity is share among a plurality of clients that access the storage service. Repeatedly determining, at the computing cluster, an available capacity of the storage service based on success or failure of requests, and adaptively throttling requests to the storage service based on at least a then current available capacity.