Self-adjusting resource rate limiting based on a dynamic token refresh interval
AssigneeHewlett Packard Enterprise Development LP
InventorsErin C. Macneil, Prashant Singh
Life of this patent
Estimating the term…
Abstract
A network device may determine a token refresh interval, and may generate tokens for a rate limiter based on the token refresh interval. The network device may receive packets or requests to be processed by the rate limiter, and may monitor a consumption of the tokens by the packets or requests during a time interval. The network device may adjust the token refresh interval based on the consumption and to generate a new token refresh interval, and may generate new tokens for the rate limiter based on the new token refresh interval.
Claims20
A method, comprising:
- determining, by a network device, a token refresh interval;
- generating, by the network device, tokens for a rate limiter based on the token refresh interval and a token rate;
- receiving, by the network device, packets or requests to be processed by the rate limiter;
- determining a token exhaustion interval based on a difference between a current time at which the rate limiter is depleted of tokens and a last refresh time that the tokens are generated;
- determining whether or not the token exhaustion interval indicates a burst attack;
- based on a determination that the token exhaustion interval indicates a burst attack:
- adjusting, by the network device, the token refresh interval to generate a new token refresh interval, and
- adjusting by the network device, the token rate to generate a new token rate;
- and
- generating, by the network device, new tokens for the rate limiter based on the new token refresh interval and the new token rate.
A network device, comprising:
- one or more memories;
- and
- one or more processors to:
- determine a token refresh interval;
- generate tokens for a rate limiter based on the token refresh interval and a token rate;
- receive packets or requests to be processed by the rate limiter;
- monitor a consumption of the tokens by the packets or requests during a time interval;
- determine a token exhaustion interval based on a difference between a current time at which the rate limiter is depleted of tokens and a last refresh time that the tokens are generated;
- determine whether or not the token exhaustion interval indicates a burst attack;
- based on a determination that the token exhaustion interval indicates a burst attack:
- adjust the token refresh interval based on the consumption and to generate a new token refresh interval, and
- adjust the token rate to generate a new token rate;
- and
- generate new tokens for the rate limiter based on the new token refresh interval and the new token rate.
A non-transitory computer-readable medium storing a set of instructions, the set of instructions comprising:
- one or more instructions that, when executed by one or more processors of a network device, cause the network device to:
- determine a token refresh interval and a token rate;
- generate tokens for a rate limiter based on the token refresh interval and the token rate;
- receive packets or requests to be processed by the rate limiter;
- determine a token exhaustion interval based on a difference between a current time at which the rate limiter is depleted of tokens and a last refresh time that the tokens are generated;
- determine whether or not the token exhaustion interval indicates a burst attack;
- based on a determination that the token exhaustion interval indicates a burst attack:
- adjust the token refresh interval based on the token exhaustion interval and to generate a new token refresh interval, and
- adjust the token rate to generate a new token rate;
- and
- generate new tokens for the rate limiter based on the new token refresh interval and the new token rate.
Dependencies are inferred from the claim text.