IP Library Granted Patent US 11,057,287
Granted Patent B2
US 11,057,287 · App. 16/865,898 · Granted Jul 6, 2021

Systems and methods for setting a rate limit for a computing device

Inventors: Kevin David Williams (Arlington, VA); Michael Paul Lovett (Washington, DC); David Frederick Giannini (Falls Church, VA)
Assignee: CIRRUSWORKS, INC.
H04L43/0876H04L41/0896H04L43/0882H04L47/22H04L47/29H04L47/822
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 11,057,287
App. No.
16/865,898
Granted
Jul 6, 2021
Kind
B2
Abstract

In some embodiments, an amount of aggregated bandwidth consumption for a set of computing devices on a network may be determined for a first time period. An amount of available bandwidth on the network may be determined for the first time period. A ratio of the amount of aggregated bandwidth consumption to the amount of available bandwidth may be determined. A bandwidth threshold may be determined based on the ratio. A rate limit for a first computing device (of the set of computing devices) may be set based on a comparison of the bandwidth threshold to bandwidth consumption of the first computing device.

Claims (53)

1. A system comprising:

a computer system comprising one or more processors programmed with computer instructions that, when executed, cause the computer system to:

determine, for a first time period, an amount of aggregated bandwidth consumption for a set of computing devices on a network;

determine, for the first time period, an amount of available bandwidth on the network;

determine a ratio of the amount of aggregated bandwidth consumption to the amount of available bandwidth;

determine, based on the ratio, a bandwidth threshold; and

set a rate limit for upstream traffic of a first computing device of the set of computing devices based on a comparison of the bandwidth threshold to bandwidth consumption of the first computing device, the bandwidth consumption comprising an upstream bandwidth consumption associated with upstream traffic of the first computing device.

2. The system of claim 1 , wherein setting the rate limit for upstream traffic of the first computing device comprises:

classifying the first computing device based on the comparison of the bandwidth threshold to the bandwidth consumption of the first computing device; and

setting the rate limit for upstream traffic of the first computing device based on the classification of the first computing device.

3. The system of claim 1 , wherein the computer system is caused to:

determine a second bandwidth threshold;

determine first bandwidth consumption of the first computing device for the first time period; and

determine second bandwidth consumption of the first computing device for a second time period of different length than the first time period,

wherein setting the rate limit for upstream traffic of the first computing device comprises setting the rate limit for upstream traffic of the first computing device based on (i) a comparison of the bandwidth threshold to at least one of the first bandwidth consumption or the second bandwidth consumption and (ii) a comparison of the second bandwidth threshold to at least a different one of the first bandwidth consumption or the second bandwidth consumption.

4. The system of claim 3 , wherein the first time period is greater in length than the second time period.

5. The system of claim 3 , wherein the second time period is greater in length than the first time period.

6. The system of claim 1 , wherein the computer system is caused to set another rate limit for downstream traffic of the first computing device based on the comparison of the bandwidth threshold to the bandwidth consumption of the first computing device.

7. The system of claim 1 , wherein the computer system is caused to:

determine a downstream bandwidth consumption of the first computing device, the downstream bandwidth consumption being associated with downstream traffic of the first computing device, the bandwidth consumption of the first computing device comprising the downstream bandwidth consumption of the first computing device; and

set another rate limit for downstream traffic of the first computing device based on a comparison of the bandwidth threshold to the downstream bandwidth consumption of the first computing device.

8. One or more non-transitory, computer-readable media storing machine-readable instructions that, when executed by one or more processors, cause the one or more processors to perform operations comprising:

determining an amount of aggregated bandwidth consumption for a set of computing devices on a network;

determining an amount of available bandwidth on the network;

determining a ratio of the amount of aggregated bandwidth consumption to the amount of available bandwidth;

determining, based on the ratio, a bandwidth threshold;

determining first bandwidth consumption of a first computing device of the set of computing devices that is measured for a first time period;

determining second bandwidth consumption of the first computing device that is measured for a second time period of different length than the first time period; and

setting a rate limit for upstream traffic of the first computing device based on a comparison of the bandwidth threshold to at least one of the first bandwidth consumption or the second bandwidth consumption, each of the first and second bandwidth consumption comprising an upstream bandwidth consumption associated with upstream traffic of the first computing device.

9. The one or more non-transitory, computer-readable media of claim 8 , wherein the operations comprises setting the rate limit for upstream traffic of the first computing device based on (i) a comparison of the bandwidth threshold to the first bandwidth consumption and (ii) a comparison of the second bandwidth threshold to the second bandwidth consumption.

10. The one or more non-transitory, computer-readable media of claim 8 , wherein setting the rate limit for upstream traffic of the first computing device comprises:

classifying the first computing device based on the comparison of the bandwidth threshold to at least one of the first bandwidth consumption or the second bandwidth consumption; and

setting the rate limit for upstream traffic of the first computing device based on the classification of the first computing device.

11. The one or more non-transitory, computer-readable media of claim 8 , wherein the operations comprises setting another rate limit for downstream traffic of the first computing device based on the comparison of the bandwidth threshold to at least one of the first bandwidth consumption or the second bandwidth consumption.

12. The one or more non-transitory, computer-readable media of claim 8 , wherein the operations further comprise:

determining a first downstream bandwidth consumption of the first computing device that is measured for the first time period, the first downstream bandwidth consumption being associated with downstream traffic of the first computing device during the first time period;

determining a second downstream bandwidth consumption of the first computing device that is measured for the second time period, the first downstream bandwidth consumption being associated with downstream traffic of the first computing device during the second time period; and

setting another rate limit for downstream traffic of the first computing device based on a comparison of the bandwidth threshold to at least one of the first downstream bandwidth consumption or the second downstream bandwidth consumption.

13. A method comprising:

determining, by one or more processors, for a first time period, an amount of aggregated bandwidth consumption for a set of computing devices on a network;

determining, by one or more processors, for the first time period, an amount of available bandwidth on the network;

determining, by one or more processors, a ratio of the amount of aggregated bandwidth consumption to the amount of available bandwidth;

determining, by one or more processors, based on the ratio, a bandwidth threshold;

classifying, by one or more processors, a first computing device of the set of computing devices based on a comparison of the bandwidth threshold to bandwidth consumption of the first computing device, the bandwidth consumption comprising an upstream bandwidth consumption associated with upstream traffic of the first computing device; and

setting, by one or more processors, a rate limit for upstream traffic of the first computing device based on the classification of the first computing device.

14. The method of claim 13 , further comprising:

determining a second bandwidth threshold;

determining first bandwidth consumption of the first computing device for the first time period; and

determining second bandwidth consumption of the first computing device for a second time period of different length than the first time period,

wherein classifying the first computing device comprises classifying the first computing device based on (i) a comparison of the bandwidth threshold to at least one of the first bandwidth consumption or the second bandwidth consumption and (ii) a comparison of the second bandwidth threshold to at least a different one of the first bandwidth consumption or the second bandwidth consumption.

15. The method of claim 13 , further comprising:

determining a downstream bandwidth consumption of the first computing device, the downstream bandwidth consumption being associated with downstream traffic of the first computing device, the bandwidth consumption of the first computing device comprising the downstream bandwidth consumption of the first computing device,

wherein classifying the first computing device comprises classifying the first computing device based on a comparison of the bandwidth threshold to the downstream bandwidth consumption of the first computing device.

Assignments (2)
CERTIFICATE OF INCORPORATION Recorded Oct 27, 2021
From: CIRRUSWORKS, INC.
To: GATESPEED, INC.
Reel/Frame 057942/0206 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 4, 2020
From: WILLIAMS, KEVIN DAVID; LOVETT, MICHAEL PAUL; GIANNINI, DAVID FREDERICK
To: CIRRUSWORKS, INC.
Reel/Frame 052562/0510 →
Continuity (5)
Continuation 16055996 · Aug 6, 2018
Continuation 15719533 · Sep 28, 2017
Continuation 13829073 · Mar 14, 2013
Provisional Application 61623843 · Apr 13, 2012
Related Publication 20200267070A1 · Aug 20, 2020