Multi-Tag Rate Limiting with Bypass Timer Logic
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing multi-tenant rate limiting systems face challenges in managing network traffic effectively, as they often reject requests based on the most restrictive rate limiting rule, leading to over-rejection of legitimate requests due to concurrent tags with different restrictive levels, which can violate service level agreements and cause inefficiencies.
Innovation Solution
Implementing a reverse proxy system with a bypass timer mechanism that allows forwarding of requests by starting a bypass timer associated with a less restrictive rate limiting rule, enabling requests to be forwarded even after the more restrictive timer has expired, thus preventing unnecessary rejections.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the system applies the most restrictive rate limiting rule to all requests, then network overload is prevented, but legitimate requests are unnecessarily rejected
Solution Approach 1:
The patent applies different rate limiting rules to different tags locally. Each tag (e.g., device ID, tenant ID, API endpoint) has its own associated rate limiting rule, allowing the system to enforce restrictions selectively based on the specific tag being evaluated rather than uniformly applying the most restrictive rule to all requests.
Solution Approach 2:
The rate limiting system is segmented into multiple independent rule evaluations, one for each tag. The request processing is divided into checking each tag's rate limit separately, and the request is only rejected if it violates the rate limit for any single tag, not if it exceeds the most restrictive rule among all tags.
2Adaptability or versatility
If multiple concurrent tags with different restrictive levels are applied, then comprehensive rate control is achieved, but service level agreements are violated due to over-rejection
Solution Approach 1:
Each tag is evaluated with its own specific rate limiting rule appropriate to that tag's requirements. The system does not uniformly apply the most restrictive rule but rather applies each rule locally to its corresponding tag, ensuring that requests are only rejected when they genuinely violate a specific tag's rate limit.
Solution Approach 2:
Instead of rejecting requests that exceed the most restrictive rule among multiple tags, the system inverts the logic by rejecting requests only when they violate the rate limit for any individual tag. This inversion prevents over-rejection by changing from a 'most restrictive wins' approach to an 'any violation blocks' approach.
3Quantity of substance
If rate limiting is applied to control traffic from multiple tenants, then network resources are managed effectively, but legitimate traffic from some tenants is blocked
Solution Approach 1:
The system applies rate limiting rules locally to each tag such as tenant ID, device ID, or API endpoint. This allows different tenants and devices to have customized rate limits appropriate to their specific needs and risk profiles, rather than applying a uniform restrictive limit to all traffic.
Solution Approach 2:
Traffic control is segmented by tagging requests with identifying information and applying rate limiting rules specific to each tag. This segmentation enables the system to control overall traffic volume while allowing legitimate requests from tenants who have not exceeded their specific tag's rate limit to pass through.
Data Source
AI summary
A rate limiting module receives a first request at a first time that comprises a first tag associated with a first attribute and a second tag associated with a second attribute. A second request is received at a second time that occurs after the first time that includes the first tag and the second tag. Responsive to determining that the second request violates a first rate limit for the first attribute, the rate limiting module rejects the second request. A third request is received at a third time that occurs after the second time that includes the first tag and the second tag. The rate limiting module determines that the third request violates a second rate limit for the second attribute, determines that the second rate limit is to be bypassed, and forwards the third request.


