Patent ID: 9537746
Date: 2017-01-03
CPC Classifications: H04L

Claim:
1. An apparatus comprising: a storage device storing machine-readable code; a processor executing the machine-readable code, the machine-readable code comprising: a determination module dynamically determining, at a network device, a target data rate for data communication over a network by the network device in communication with a service provider, the target data rate based on an amount of available data for a predetermined time period and an amount of time remaining in the predetermined time period, wherein the target data rate is determined by dividing the amount of available data for the predetermined time period by the amount of time remaining in the predetermined time period, the amount of available data is an amount of data remaining from a data quota for the predetermined time period, the target data rate is determined at least one time after a start of the predetermined time period, the predetermined time period comprises a billing cycle, the predetermined time period comprises a plurality of sub-time periods, and the target data rate is determined by dividing an amount of available data for each sub-time period of the plurality of sub-time periods by a respective amount of time remaining in the sub-time period; and a data rate module, at the network device, dynamically maintaining a data rate at or below the target data rate in response to the determination module dynamically determining the target data rate, wherein the data rate module maintains the data rate by throttling the data rate in response to the data rate nearing the target data rate.