IP Library Granted Patent US 11,196,653
Granted Patent B2
US 11,196,653 · App. 17/107,363 · Granted Dec 7, 2021

Systems and methods for dynamic bandwidth allocation and optimization

Inventors: Kevin David Williams (Arlington, VA); Michael Paul Lovett (Washington, DC); David Frederick Giannini (Falls Church, VA); Onkar Singh Sangha (San Jose, CA); Gregory Shih-ping Gum (Pleasanton, CA); Prakash Sahni (Noida, IN)
Assignee: Gatespeed, 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,196,653
App. No.
17/107,363
Granted
Dec 7, 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 (62)

1. A system for dynamic bandwidth allocation and optimization, the system comprising:

storage circuitry for storing data related to a computing device on a network; and

control circuitry configured to:

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

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

determine, based on the amount of aggregated bandwidth consumption and the amount of available bandwidth, a bandwidth threshold; and

set a rate limit for the computing device of the computing device based on a comparison of the bandwidth threshold to bandwidth consumption of the computing device; wherein setting the rate limit for upstream traffic of the computing device further comprises:

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

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

2. The system of claim 1 , wherein the control circuitry is further configured to:

determine a second bandwidth threshold;

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

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

wherein setting the rate limit for the computing device comprises setting the rate limit for the 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.

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

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

5. The system of claim 1 , wherein setting the rate limit for the computing device comprises setting a rate limit for upstream traffic of the computing device based on the comparison of the bandwidth threshold to the bandwidth consumption of the computing device.

6. The system of claim 1 , wherein setting the rate limit for the computing device comprises setting a rate limit for downstream traffic of the computing device based on the comparison of the bandwidth threshold to the bandwidth consumption of the computing device.

7. The system of claim 1 , wherein the control circuitry is further configured to:

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

wherein setting the rate limit for the computing device comprises setting a rate limit for upstream traffic of the computing device based on a comparison of the bandwidth threshold to the downstream bandwidth consumption of the computing device.

8. The system of claim 1 , wherein the control circuitry is further configured to:

determine an upstream bandwidth consumption of the computing device, the upstream bandwidth consumption being associated with upstream traffic of the computing device, the bandwidth consumption of the computing device comprising the upstream bandwidth consumption of the computing device,

wherein setting the rate limit for the computing device comprises setting a rate limit for upstream traffic of the computing device based on a comparison of the bandwidth threshold to the upstream bandwidth consumption of the computing device.

9. One or more non-transitory, computer-readable medium storing machine-readable instructions for dynamic bandwidth allocation and optimization 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 computing device on a network;

determining an amount of available bandwidth on the network;

determining, based on the amount of aggregated bandwidth consumption and the amount of available bandwidth, a bandwidth threshold;

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

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

setting a rate limit for the computing device based on a comparison of the bandwidth threshold to at least one of the first bandwidth consumption or the second bandwidth consumption, wherein setting the rate limit for upstream traffic of the computing device further comprises:

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

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

10. The non-transitory, computer readable medium of claim 9 , wherein setting the rate limit for the computing device comprises setting the rate limit for the computing device based on (i) a comparison of the bandwidth threshold to the first bandwidth consumption and (ii) a comparison of a second bandwidth threshold to the second bandwidth consumption.

11. The non-transitory, computer readable medium of claim 9 , wherein setting the rate limit for the computing device comprises setting a rate limit for upstream traffic of the 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 non-transitory, computer readable medium of claim 9 , wherein setting the rate limit for the computing device comprises setting a rate limit for downstream traffic of the computing device based on the comparison of the bandwidth threshold to at least one of the first bandwidth consumption or the second bandwidth consumption.

13. The non-transitory, computer readable medium of claim 9 , wherein the operations further comprise:

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

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

wherein setting the rate limit for the computing device comprises setting a rate limit for upstream traffic of the 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.

14. The non-transitory, computer readable medium of claim 9 , wherein the operations further comprise:

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

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

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

15. A method for dynamic bandwidth allocation and optimization, the method comprising:

determining, by one or more processors, for a first time period, an amount of aggregated bandwidth consumption for a computing device 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, based on the amount of aggregated bandwidth consumption and the amount of available bandwidth, a bandwidth threshold;

setting a rate limit for the computing device of the computing device based on a comparison of the bandwidth threshold to bandwidth consumption of the computing device, wherein setting the rate limit for upstream traffic of the computing device further comprises:

classifying, by one or more processors, the computing device based on a comparison of the bandwidth threshold to the bandwidth consumption of the computing device; and

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

16. The method of claim 15 , further comprising:

determining a second bandwidth threshold;

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

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

wherein classifying the computing device comprises classifying 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.

17. The method of claim 15 , further comprising:

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

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

18. The method of claim 15 , further comprising:

determining an upstream bandwidth consumption of the computing device, the upstream bandwidth consumption being associated with upstream traffic of the computing device, the bandwidth consumption of the computing device comprising the upstream bandwidth consumption of the computing device,

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

Assignments (3)
CERTIFICATE OF INCORPORATION Recorded Oct 27, 2021
From: CIRRUSWORKS, INC.
To: GATESPEED, INC.
Reel/Frame 057943/0017 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 29, 2021
From: SANGHA, ONKAR SINGH; GUM, GREGORY SHIH-PING; SAHNI, PRAKASH
To: GATESPEED, INC.
Reel/Frame 057634/0682 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 30, 2020
From: WILLIAMS, KEVIN DAVID; LOVETT, MICHAEL PAUL; GIANNINI, DAVID FREDERICK
To: CIRRUSWORKS, INC.
Reel/Frame 054494/0775 →
Continuity (6)
Continuation In Part 16865898 · May 4, 2020
Continuation 16055996 · Aug 6, 2018
Continuation 15719533 · Sep 28, 2017
Continuation 13829073 · Mar 14, 2013
Provisional Application 61623843 · Apr 13, 2012
Related Publication 20210092035A1 · Mar 25, 2021