IP Library Granted Patent US 8,543,685
Granted Patent B1
US 8,543,685 · App. 12/420,320 · Granted Sep 24, 2013

Usage based multiplier modification in rate limiting schemes

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 8,543,685
App. No.
12/420,320
Granted
Sep 24, 2013
Kind
B1
Abstract

A data communications system includes a controller device and multiple client devices communicating with the controller device through a shared data communications link. The controller device is configured to determine data usage for each of the client devices and then compare the determined data usage for the client devices with a first usage threshold and with a second usage threshold. Based on the threshold comparisons, the usage-based multiplier values are either increased or decreased by a set amount.

Claims (45)

1. A data communications system comprising:

at least one controller device configured to communicate with a plurality of client devices, each client device being capable of establishing a data communication link with the controller device;

wherein the controller device is configured to:

determine a usage based multiplier value for each client device based on a data usage associated with a data communication link of each client, the data usage corresponding to an amount of data transferred using a given data communication link for each client device for a given period of time;

determine a data usage for the data communication link for each client during a given time period;

compare the determined data usage associated with the data communication link of at least one of the plurality of client devices with a first usage threshold and with a second usage threshold, the first usage threshold being a different value than the second usage threshold;

modify the usage based multiplier value of the at least one client device based on a result of the comparison with the first usage threshold and the second usage threshold;

apply a rate limiting scheme based on the modified usage based multiplier value if a congestion is detected in one or more of the data communication links, the rate limiting scheme including adjusting an allocation of available bandwidth to the client devices according to the usage based multiplier values of the client devices;

determine if spare bandwidth exists on the data communication links after the rate limiting scheme has been applied, the spare bandwidth being extra bandwidth that is made available as a result of applying the rate limiting scheme; and

allocate the spare bandwidth to one or more of the client devices,

wherein the allocating the spare bandwidth includes:

determining the client device with the largest usage based multiplier value after the adjustment of the usage based multiplier value has been made;

providing the spare bandwidth to the client device with the largest usage based multiplier to enable the client device with the largest usage based multiplier to operate at its maximum data transfer rate if the spare bandwidth is sufficient to provide the maximum data transfer rate to the client device with the largest usage based multiplier; and

providing the spare bandwidth to each client device in proportion to the product of the usage based multiplier and the peak information rate associated with each client device if the spare bandwidth is insufficient to provide the maximum data transfer rate to the client device with the largest usage based multiplier.

2. The data communications system of claim 1 , wherein the comparison with the first usage threshold further comprises determining if the data usage for the data communication link of the at least one of the plurality of client devices is greater than the first usage threshold,

wherein the at least one controller device is further configured to determine a product of the usage based multiplier value and a peak information rate for each client device, and

wherein the one or more of the client devices allocated with the spared bandwidth are those that are operating below their peak information rates.

3. The data communications system of claim 1 , wherein the comparison with the second usage threshold further comprises determining if the data usage for the data communication link of the at least one of the plurality of client devices is less than the second usage threshold,

wherein the at least one controller device is further configured to determine a product of the usage based multiplier value and a peak information rate for each client device, and

wherein the one or more of the client devices allocated with the spare bandwidth are those that are operating below their peak information rates.

4. The data communications system of claim 2 , wherein when it is determined that the data usage for the data communication link of the at least one of the plurality of client devices is greater than the first usage threshold, a usage based multiplier value is decreased.

5. The data communications system of claim 3 , wherein when it is determined that the data usage for the data communication link of the at least one of the plurality of client devices is less than the second usage threshold, a usage based multiplier value is increased.

6. The data communications system of claim 1 , wherein the one controller device is further configured to determine if a usage based multiplier value is less than a lowest allowable usage based multiplier value.

7. The data communications system of claim 1 , wherein the one controller device is further configured to determine if a usage based multiplier value is greater than a greatest allowable usage based multiplier value.

8. A computer implemented method for allocating bandwidth among a plurality of clients of a controller in a data communication system, each client being capable of establishing a data communication link with a controller, the computer-implemented method comprising:

providing a usage based multiplier for each of the clients based on a data usage associated with a data communication link of each client, the data usage corresponding to an amount of data transferred using a given data communication link for each client for a given time period;

determining a data usage for the data communication link of each client during a given time period;

comparing the determined data usage associated with the data communication link for at least one of the client devices with a first usage threshold and a second usage threshold, the first usage threshold being a different value than the second usage threshold;

modifying the usage based multiplier value of the at least one client device based on a result of the comparison with the first usage threshold and the second usage threshold;

applying a rate limiting scheme based on the modified usage based multiplier value if a congestion is detected in one or more of the data communication links, the rate limiting scheme including adjusting an allocation of available bandwidth to the client devices according to the usage based multiplier values of the client devices,

determining if spare bandwidth exists on the data communication links after the rate limiting scheme has been applied, the spare bandwidth being extra bandwidth that is made available as a result of applying the rate limiting scheme; and

allocating the spare bandwidth to one or more of the client devices,

wherein the allocating the spare bandwidth includes:

determining the client device with the largest usage based multiplier value after the adjustment of the usage based multiplier value has been made;

providing the spare bandwidth to the client device with the largest usage based multiplier to enable the client device with the largest usage based multiplier to operate at its maximum data transfer rate if the spare bandwidth is sufficient to provide the maximum data transfer rate to the client device with the largest usage based multiplier; and

providing the spare bandwidth to each client device in proportion to the product of the usage based multiplier and the peak information rate associated with each client device if the spare bandwidth is insufficient to provide the maximum data transfer rate to the client device with the largest usage based multiplier.

9. The computer implemented method of claim 8 , wherein the comparison with the first usage threshold further comprises determining if the data usage for the data communication link of the at least one of the plurality of client devices is greater than the first usage threshold,

wherein the at least one controller device is further configured to determine a product of the usage based multiplier value and a peak information rate for each client device, and

wherein the one or more of the client devices allocated with the spare bandwidth are those that are operating below their peak information rates.

10. The computer implemented method of claim 8 , wherein the comparison with the second usage threshold further comprises determining if the data usage for the data communication link of the at least one of the plurality of client devices is less than the second usage threshold,

wherein the at least one controller device is further configured to determine a product of the usage based multiplier value and a peak information rate for each client device, and

wherein the one or more of the client devices allocated with the spared bandwidth are those that are operating below their peak information rates.

11. The computer implemented method of claim 9 , wherein when it is determined that the data usage for the data communication link of the at least one of the plurality of client devices is greater than the first usage threshold, a usage based multiplier value is decreased.

12. The computer implemented method of claim 10 , wherein when it is determined that the data usage for the data communication link of the at least one of the plurality of client devices is less than the second usage threshold, a usage based multiplier value is increased.

13. The computer implemented method of claim 8 , wherein the controller device is further configured to determine if a usage based multiplier value is less than a lowest allowable usage based multiplier value or greater than a greatest allowable usage based multiplier value.

Assignments (2)
MERGER AND CHANGE OF NAME Recorded Feb 18, 2016
From: EDEN ROCK COMMUNICATIONS, LLC; NOKIA NETWORKS US SON, LLC
To: NOKIA NETWORKS US SON, LLC
Reel/Frame 037856/0904 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 18, 2016
From: NOKIA NETWORKS US SON LLC
To: NOKIA SOLUTIONS AND NETWORKS OY
Reel/Frame 037856/0920 →