Application Server Request Queuing for Rate and Burst Limit Management

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Cloud computing systems face challenges in efficiently processing multiple requests from clients within a given time frame, leading to dropped requests, increased latency, and decreased client satisfaction due to limitations in rate and burst processing capabilities.

Innovation Solution

Implementing a system where an application server configures multiple queues for each client with specific priority levels and uses sliders to manage rate and burst limits, allowing it to selectively process requests based on these limits and relay them to other servers, thereby reducing dropped requests and improving processing efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the application server processes requests without rate limiting, then client satisfaction is improved, but server overload and request dropping occur

Engineering Contradiction:
Improverequest processing reliabilityVSAvoidrequest processing throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments request processing into multiple queues with different priority levels (e.g., high, medium, low priority queues). This allows the server to handle different types of requests differently, ensuring critical requests are processed while limiting overall throughput to prevent overload. The segmentation resolves the contradiction by enabling selective processing that maintains reliability for important requests while managing overall productivity through queue-based rate limiting.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements dynamic rate limiting where the server adjusts processing capacity based on current load conditions and priority levels. The server can dynamically allocate resources to high-priority queues during peak demand while maintaining lower throughput for standard queues. This dynamic adjustment resolves the contradiction by adapting the balance between reliability and productivity in real-time based on system state.

Inventive Principle:
Principle #15Dynamics

2Reliability

If the application server implements strict rate limiting, then server overload is prevented, but request latency increases

Engineering Contradiction:
Improveserver stabilityVSAvoidrequest latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

By segmenting requests into priority-based queues, the patent allows low-priority requests to experience longer wait times while ensuring high-priority requests receive immediate processing attention. This segmentation resolves the contradiction by differentiating latency experience based on request importance, maintaining server stability through rate limiting while minimizing time loss for critical operations.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements preliminary triage of requests upon arrival, classifying them into priority queues before processing begins. This preliminary action ensures that requests are already organized and ready for differentiated processing, allowing the server to maintain stability through rate limiting while reducing latency for high-priority requests that are prepared in advance for immediate handling.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If the application server uses multiple queues with priority levels, then request processing efficiency is improved, but system complexity increases

Engineering Contradiction:
Improverequest processing efficiencyVSAvoidqueue management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent divides the request processing system into multiple queues with priority levels, which improves efficiency by enabling selective processing. The complexity is managed through a systematic approach where each queue follows the same basic structure and processing logic, making the added complexity predictable and manageable rather than chaotic and unmanageable.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent manages queue management complexity by changing parameters such as priority levels and queue capacities rather than creating fundamentally different processing mechanisms. By adjusting these parameters, the system achieves improved efficiency while keeping the underlying structure relatively simple and easy to administer.

Inventive Principle:
Principle #35Parameter changes

4Quantity of substance

If the application server drops requests during peak load, then server resources are conserved, but client satisfaction decreases

Engineering Contradiction:
Improveserver resource availabilityVSAvoidclient satisfaction
Core Design Contradiction:
Quantity of substanceVSReliability

Solution Approach 1:

The patent segments requests into priority queues, allowing the server to conserve resources by processing only high-priority requests during peak load while maintaining the ability to serve lower-priority requests when capacity allows. This segmentation resolves the contradiction by enabling selective resource allocation that maintains client satisfaction for critical operations while preserving server resource availability for essential services.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements feedback mechanisms that monitor server load and request characteristics in real-time, adjusting processing decisions dynamically. This feedback allows the server to conserve resources during peak load while maintaining client satisfaction by identifying and prioritizing requests that are most important to client operations, rather than uniformly dropping all requests.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS20230224231A1Rate limit and burst limit enhancements for request processing
Publication Date: 2023.07.13 SALESFORCE INC
  • US20230224231A1 patent drawing
  • US20230224231A1 patent drawing
  • US20230224231A1 patent drawing

AI summary

A method that includes establishing an open connection for responding to requests from clients supported by an application server. The method may further include establishing a set of queues configured for storing requests received from the client via the open connection. The method may further include selecting requests from the queues based on a rate limit threshold and burst limit threshold of the application server. The rate limit threshold may refer to a number of requests that the application server can process within a first time duration, while the burst limit threshold may refer to a number of requests that the application server can process within a second time duration that is shorter than the first time duration. The method may further include transmitting the requests to a set of data processing servers connected to the application server and receiving an indication that the requests have been processed.