Methods for traffic rate control and devices thereof
First Claim
1. A method for traffic rate control implemented by a network traffic management system comprising one or more network traffic management devices, server devices, or client devices, the method comprising:
- allocating a proportional subset of an amount of tokens to a plurality of subscribers based on an estimated number of the plurality of subscribers that will be active in a next sampling period;
receiving a request to transmit a first packet from a subscriber of the plurality of subscribers;
querying a database to retrieve a state value associated with the subscriber;
determining when the subscriber is in an active state based on analyzing the retrieved state value;
determining an expiration time associated with each of the tokens in the allocated proportional subset of the amount of tokens, when the determination indicates that the subscriber is in the active state;
comparing the determined expiration time associated with each of the tokens in the allocated proportional subset of the amount of tokens with a current time;
determining the expiration time associated with each of the tokens in the allocated proportional subset of the amount of tokens has not expired when the comparison indicates that the current time is less than an expiration time;
determining when the first packet is to be transmitted based on one or more token policies upon determining that the expiration time associated with each of the tokens in the allocated proportional subset of the amount of tokens has not expired;
queuing the first packet in a first queue when the determining indicates that the first packet cannot transmitted based on the one or more token policies;
retrieving one of a plurality of subscriber contexts associated with the subscriber of the plurality of subscribers;
determining when a difference between a current time and a last visit time of the one subscriber context is less than a size of a sampling period, a transmission count of the one subscriber context is equal to zero for a last sampling period, and a state of the one subscriber context indicates an active state;
setting a last visit time of the one subscriber context to the current time; and
repeating the retrieving, determining, and setting for each other of the plurality of subscriber contexts.
1 Assignment
0 Petitions
Accused Products
Abstract
A method, non-transitory computer readable medium, and traffic management computing device that allocates a subset of tokens to active subscribers based on an estimated number of subscribers that will be active in a next sampling period. A request to transmit a first packet is received from one of the active subscribers. A determination is made when a current time is prior to an expiration of the allocated subset of the tokens. Another determination is made when a length of the first packet is less than a size corresponding to an available portion of the allocated subset of the tokens when the current time is determined to be prior to the expiration of the allocated subset of the tokens. The first packet is transmitted when the length of the first packet is determined to be less than a size corresponding to an available portion of the allocated subset of the tokens.
-
Citations
20 Claims
-
1. A method for traffic rate control implemented by a network traffic management system comprising one or more network traffic management devices, server devices, or client devices, the method comprising:
-
allocating a proportional subset of an amount of tokens to a plurality of subscribers based on an estimated number of the plurality of subscribers that will be active in a next sampling period; receiving a request to transmit a first packet from a subscriber of the plurality of subscribers; querying a database to retrieve a state value associated with the subscriber; determining when the subscriber is in an active state based on analyzing the retrieved state value; determining an expiration time associated with each of the tokens in the allocated proportional subset of the amount of tokens, when the determination indicates that the subscriber is in the active state; comparing the determined expiration time associated with each of the tokens in the allocated proportional subset of the amount of tokens with a current time; determining the expiration time associated with each of the tokens in the allocated proportional subset of the amount of tokens has not expired when the comparison indicates that the current time is less than an expiration time; determining when the first packet is to be transmitted based on one or more token policies upon determining that the expiration time associated with each of the tokens in the allocated proportional subset of the amount of tokens has not expired; queuing the first packet in a first queue when the determining indicates that the first packet cannot transmitted based on the one or more token policies; retrieving one of a plurality of subscriber contexts associated with the subscriber of the plurality of subscribers; determining when a difference between a current time and a last visit time of the one subscriber context is less than a size of a sampling period, a transmission count of the one subscriber context is equal to zero for a last sampling period, and a state of the one subscriber context indicates an active state; setting a last visit time of the one subscriber context to the current time; and repeating the retrieving, determining, and setting for each other of the plurality of subscriber contexts. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A traffic management computing device, comprising memory comprising programmed instructions stored thereon and one or more processors configured to be capable of executing the stored programmed instructions to:
-
allocate a proportional subset of an amount of tokens to a plurality of subscribers based on an estimated number of the plurality of subscribers that will be active in a next sampling period; receive a request to transmit a first packet from a subscriber of the plurality of subscribers; query a database to retrieve a state value associated with the subscriber; determine when the subscriber is in an active state based on analyzing the retrieved state value; determine an expiration time associated with each of the tokens in the allocated proportional subset of the amount of tokens, when the determination indicates that the subscriber is in the active state; compare the determined expiration time associated with each of the tokens in the allocated proportional subset of the amount of tokens with a current time; determine the expiration time associated with each of the tokens in the allocated proportional subset of the amount of tokens has not expired, when the comparison indicates that the current time is less than an expiration time; determine when the first packet is to be transmitted based on one or more token policies upon determining that the expiration time associated with each of the tokens in the allocated proportional subset of the amount of tokens has not expired; queue the first packet in a first queue when the determining indicates that the first packet cannot be transmitted based on the one or more token policies; retrieve one of a plurality of subscriber contexts associated with the subscriber of the plurality of subscribers; determine when a difference between a current time and a last visit time of the one subscriber context is less than a size of a sampling period, a transmission count of the one subscriber context is equal to zero for a last sampling period, and a state of the one subscriber context indicates an active state; set a last visit time of the one subscriber context to the current time; and repeat the retrieving, determining, and setting for each other of the plurality of subscriber contexts. - View Dependent Claims (7, 8, 9, 10)
-
-
11. A non-transitory computer readable medium having stored thereon instructions for traffic rate control comprising machine executable code which when executed by one or more processors, causes the one or more processors to:
-
allocate a proportional subset of an amount of tokens to a plurality of subscribers based on an estimated number of the plurality of subscribers that will be active in a next sampling period; receive a request to transmit a first packet from a subscriber of the plurality of subscribers; query a database to retrieve a state value associated with the subscriber; determine when subscriber is in an active state based on analyzing the retrieved state value; determine an expiration time associated with each of the tokens in the allocated proportional subset of the amount of tokens, when the determination indicates that the subscriber is in the active state; compare the determined expiration time associated with each of the tokens in the allocated proportional subset of the amount of tokens with a current time; determine the expiration time associated with each of the tokens in the allocated proportional subset of the amount of tokens has not expired when the comparison indicates that the current time is less than an expiration time; determine when the first packet is to be transmitted based on one or more token policies upon determining that the expiration time associated with each of the tokens in the allocated proportional subset of the amount of tokens has not expired; queue the first packet in a first queue when the determining indicates that the first packet cannot-be transmitted based on the one or more token policies; retrieve one of a plurality of subscriber contexts associated with the subscriber of the plurality of subscribers; determine when a difference between a current time and a last visit time of the one subscriber context is less than a size of a sampling period, a transmission count of the one subscriber context is equal to zero for a last sampling period, and a state of the one subscriber context indicates an active state; set a last visit time of the one subscriber context to the current time; and repeat the retrieving, determining, and setting for each other of the plurality of subscriber contexts. - View Dependent Claims (12, 13, 14, 15)
-
-
16. A network traffic management system, comprising one or more network traffic management devices, server devices, or client devices, the network traffic management system comprising memory comprising programmed instructions stored thereon and one or more processors configured to be capable of executing the stored programmed instructions to:
-
allocate a proportional subset of an amount of tokens to a plurality of subscribers based on an estimated number of the plurality of subscribers that will be active in a next sampling period; receive a request to transmit a first packet from a subscriber of the plurality of subscribers; query a database to retrieve a state value associated with the subscriber; determine when the subscriber is in an active state based on analyzing the retrieved state value; determine an expiration time associated with each of the tokens in the allocated proportional subset of the amount of tokens, when the determination indicates that the subscriber is in the active state; compare the determined expiration time associated with each of the tokens in the allocated proportional subset of the amount of tokens with a current time; determine the expiration time associated with each of the tokens in the allocated proportional subset of the amount of tokens has not expired when the comparison indicates that the current time is less than an expiration time; determine when the first packet is to be transmitted based on one or more token policies upon determining that the expiration time associated with each of the tokens in the allocated proportional subset of the amount of tokens has not expired; queue the first packet in a first queue when the determining indicates that the first packet cannot be transmitted based on the one or more token policies; retrieve one of a plurality of subscriber contexts associated with the subscriber of the plurality of subscribers; determine when a difference between a current time and a last visit time of the one subscriber context is less than a size of a sampling period, a transmission count of the one subscriber context is equal to zero for a last sampling period, and a state of the one subscriber context indicates an active state; set a last visit time of the one subscriber context to the current time; and repeat the retrieving, determining, and setting for each other of the plurality of subscriber contexts. - View Dependent Claims (17, 18, 19, 20)
-
Specification