Usage based multiplier modification in rate limiting schemes
AssigneeEden Rock Communications, LLC
InventorEamonn Gormley
Life of this patent
Estimating the term…
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.
Claims13
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.
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.
Dependencies are inferred from the claim text.