Web Service Rate Limiting via Segmented Interception

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing systems fail to effectively manage web service hosting environments by limiting bandwidth and processing power, leading to a need for controlling the number of web service programming calls in accordance with service level agreements (SLAs).

Innovation Solution

A method and computing system that intercepts web requests, extracts call-specific data, transmits it to rate limiter servers, calculates total web requests, and determines accessibility based on predetermined access limits, allowing or denying access to prevent overuse.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If additional bandwidth and processing power are provided to handle web service requests, then the system can support more web service calls, but the cost increases and service level agreements may be violated due to uncontrolled usage

Engineering Contradiction:
Improvenumber of web service callsVSAvoidbandwidth and processing power consumption
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The system performs preliminary rate limit checking before processing web service requests. The rate limit check module intercepts requests and verifies against predetermined limits based on client identifiers, call identifiers, and time windows. This preliminary action prevents excessive resource consumption by rejecting requests that would violate service level agreements, thus controlling bandwidth and processing power usage while maintaining productivity within acceptable boundaries.

Inventive Principle:
Principle #10Preliminary action

2Loss of energy

If rate limiting is implemented to control web service usage, then bandwidth and processing power are managed, but the system complexity increases due to multiple rate limiter servers and coordination mechanisms

Engineering Contradiction:
Improvebandwidth and processing power managementVSAvoidrate limiting system structure
Core Design Contradiction:
Loss of energyVSDevice complexity

Solution Approach 1:

The rate limiting system is segmented into multiple independent rate limiter servers, each responsible for specific rate limit checks. The web service server is divided into distinct modules including a rate limit check module that intercepts requests and a web service module that processes approved requests. This segmentation allows distributed rate limiting functionality while maintaining manageable system complexity through modular design.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The rate limit check module acts as an intermediary between incoming web service requests and the web service processing module. It intercepts requests, performs rate limit verification against predetermined limits, and either allows or blocks requests before they reach the web service module. This intermediary mechanism simplifies the overall system architecture by centralizing the rate limiting logic in a dedicated component that coordinates with the web service module.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Ease of operation

If random probability distribution is used to assign web requests to different processing computers, then load balancing is achieved, but there is no control over the number of calls per client violating service level agreements

Engineering Contradiction:
Improveload distributionVSAvoidservice level agreement compliance
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

Before distributing web requests to processing computers, the system performs preliminary rate limit verification. The rate limit check module extracts client identifiers and call identifiers from incoming requests, determines the current time window, and checks against predetermined rate limits. Only requests that pass this preliminary check are distributed to web service processing modules, ensuring service level agreement compliance while maintaining load distribution.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements feedback mechanisms where the rate limit check module continuously monitors the number of web service calls made by each client within specific time windows. When approaching predetermined limits, the system adjusts request acceptance accordingly, providing feedback control that ensures service level agreement compliance while still allowing maximum permissible load distribution across processing computers.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS7844707B2Web service multi-key rate limiting method and system
Publication Date: 2010.11.30 R2 SOLUTIONS LLC
  • US7844707B2 patent drawing
  • US7844707B2 patent drawing
  • US7844707B2 patent drawing

AI summary

The present invention provides a method and computer system for limiting a number of web service programming calls including intercepting a web request for web service programming from a client and extracting call specific data from the web request. The method and computing system further includes transmitting call specific data to a plurality of rate limiter servers and on the rate limiter servers, calculating a total number of web requests, where the web requests are identified by the call specific data. The method and computing system further includes receiving web request totals from the rate limiter servers and thereby determining accessibility of the client to the web request based on a comparison of the number of web requests for the web service programming relative to a predetermined access limit.