IP Library Granted Patent US 10,680,960
Granted Patent B2
US 10,680,960 · App. 16/211,457 · Granted Jun 9, 2020

Dynamic rate limiting for networked resources

Inventor: Chris Mowforth (Dublin, IE)
Assignee: Rapid7, Inc.
H04L47/225H04L41/0826H04L47/127H04L47/25H04L47/629
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,680,960
App. No.
16/211,457
Granted
Jun 9, 2020
Kind
B2
Abstract

Rate limiting systems and methods for regulating access to a shared network resource in a computing device accessed through an application programming interface. A rate limit associated with a shared network resource is assigned to a user for a time period. During the time period, access to the shared network resource is granted or denied repeatedly based upon the rate limit; a cost is calculated using a cost function; and, the rate limit is updated based upon the cost.

Claims (40)

1. A rate limiting method for ensuring fair access to a shared network resource in a computing device, the method comprising:

assigning, using a configured processor, a rate limit associated with a shared network resource to a user for a time period;

initializing, using the configured processor, the time period; and

performing repeatable steps during the time period, the repeatable steps comprising:

deciding, using the configured processor, whether to grant a use of the shared network resource to the user based upon the rate limit;

calculating, using the configured processor, a cost using a cost function, wherein the cost function used is dependent on a total load of the shared network resource such that a first cost function is used when a total load is equal to or less than a threshold, and a second cost function is used when the total load exceeds the threshold; and

updating, using the configured processor, the rate limit using the cost.

2. The method of claim 1 wherein the shared network resource is accessed through an application programming interface.

3. The method of claim 1 wherein the cost function accepts as input the rate limit and at least one of a total use time, a resource load, and an estimated use load and returns as output the cost.

4. The method of claim 1 wherein the cost function comprises at least one of decrementing the rate limit; and dividing the rate limit by a variable.

5. The method of claim 1 wherein deciding whether to grant the use comprises comparing the rate limit with a threshold value.

6. The method of claim 1 wherein the use comprises a communication over a network.

7. The method of claim 1 wherein the repeatable steps further comprise selectively performing, using the configured processor, the use of the shared network resource for the user based upon the rate limit.

8. A rate limiting system for ensuring fair access to a shared network resource in a computing device, the system comprising:

a shared network resource configured for use by a plurality of users; and

a configured processor configured to:

assign a rate limit associated with the shared network resource to a user for a time period;

initialize the time period; and

perform repeatable steps during the time period, the repeatable steps comprising:

deciding whether to grant a use of the shared network resource to the user based upon the rate limit;

calculating a cost using a cost function, wherein the cost function used is dependent on a total load of the shared network resource such that a first cost function is used when a total load is equal to or less than a threshold, and a second cost function is used when the total load exceeds the threshold; and

updating the rate limit using the cost.

9. The system of claim 8 wherein the shared network resource is accessed through an application programming interface.

10. The system of claim 8 wherein the cost function accepts as input the rate limit and at least one of a total use time, a resource load, and an estimated use load and returns as output the cost.

11. The system of claim 8 wherein the cost function comprises at least one of decrementing the rate limit; and dividing the rate limit by a variable.

12. The system of claim 8 wherein the repeatable step of deciding whether to grant the use comprises comparing the rate limit with a threshold value.

13. The system of claim 8 further comprising a network interface configured to provide the use with a communication over a network.

14. The system of claim 8 wherein the repeatable steps further comprise selectively performing the use of the shared network resource for the user based upon the rate limit.

15. One or more non-transitory computer readable media storing instructions that are executable by a processing device, and upon such execution cause the processing device to perform operations comprising:

assigning a rate limit associated with a shared network resource to a user for a time period;

initializing the time period; and

performing repeatable steps during the time period, the repeatable steps comprising:

deciding whether to grant a use of the shared network resource to the user based upon the rate limit;

calculating a cost using a cost function, wherein the cost function used is dependent on a total load of the shared network resource such that a first cost function is used when a total load is equal to or less than a threshold, and a second cost function is used when the total load exceeds the threshold; and

updating the rate limit using the cost.

16. The non-transitory computer readable media according to claim 15 wherein the cost function accepts as input the rate limit and at least one of a total use time, a resource load, and an estimated use load and returns as output the cost.

17. The non-transitory computer readable media according to claim 15 wherein the cost function comprises at least one of decrementing the rate limit; and dividing the rate limit by a variable.

18. The non-transitory computer readable media according to claim 15 wherein deciding whether to grant the use comprises comparing the rate limit with a threshold value.

19. The non-transitory computer readable media according to claim 15 wherein the use comprises a communication over a network.

20. The non-transitory computer readable media according to claim 15 wherein the repeatable steps further comprise selectively performing the use of the shared network resource for the user based upon the rate limit.

Assignments (4)
SECURITY INTEREST Recorded Jun 26, 2025
From: RAPID7, INC.; RAPID7 LLC
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 071743/0537 →
RELEASE OF SECURITY INTEREST Recorded Dec 27, 2024
From: KEYBANK NATIONAL ASSOCIATION, AS ADMINISTRATIVE AGENT
To: RAPID7, INC.
Reel/Frame 069785/0328 →
INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Apr 24, 2020
From: RAPID7, INC.
To: KEYBANK NATIONAL ASSOCIATION
Reel/Frame 052489/0939 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 25, 2019
From: MOWFORTH, CHRIS
To: RAPID7, INC.
Reel/Frame 049880/0131 →