Method and apparatus for throttling requests to a server having a buffer with varied acceptance limit based on server overload status and desired buffer delay time
First Claim
1. A method for throttling incoming requests to a server having a variable size buffer for storing incoming calls request to being processed by the server, the method comprising:
- receiving incoming requests;
determining whether the server is overloaded;
if the server is overloaded then storing the incoming requests in the buffer only if a number of incoming requests currently stored in the buffer is less than an acceptance limit; and
if the server is not overloaded, then storing the incoming request in the buffer;
wherein the acceptance limit is less than 100% of a capacity of the buffer while the server is overloaded, and wherein the acceptance limit is varied in response to the overload status of the server and a desired delay time of processing incoming requests stored in the buffer.
3 Assignments
0 Petitions
Accused Products
Abstract
The present invention provides a throttling system that can throttle incoming requests to a server that includes a variable sized buffer for holding incoming calls prior to processing by the server. The number of requests that are held in a queue by the buffer can be dependent on the overload status of the server. If the server is not overloaded, the number of requests that are held in the buffer can be large, such as the full capacity of the buffer. Alternatively, if the server is overloaded for a predetermined amount of time, then the number of requests that are held in the buffer can be decreased, such as to only a portion of the full capacity of the buffer. Any requests that arrive at the buffer once the buffer is at its capacity can be discarded or blocked. Accordingly, a reduction of the buffer size in a overloaded state results in a superior delay performance without increased request blocking of the processor.
-
Citations
16 Claims
-
1. A method for throttling incoming requests to a server having a variable size buffer for storing incoming calls request to being processed by the server, the method comprising:
-
receiving incoming requests;
determining whether the server is overloaded;
if the server is overloaded then storing the incoming requests in the buffer only if a number of incoming requests currently stored in the buffer is less than an acceptance limit; and
if the server is not overloaded, then storing the incoming request in the buffer;
wherein the acceptance limit is less than 100% of a capacity of the buffer while the server is overloaded, and wherein the acceptance limit is varied in response to the overload status of the server and a desired delay time of processing incoming requests stored in the buffer. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. An apparatus for throttling incoming requests, comprising:
-
a server having a variable size buffer that stores incoming calls request to being processed by the server; and
a controller coupled to the server that determines whether the server is overloaded, if the server is overloaded then storing the incoming requests in the buffer only if a number of incoming requests currently stored in the buffer is less than an acceptance limit, and if the server is not overloaded, then storing the incoming request in the buffer;
wherein the acceptance limit is less than 100% of a capacity of the buffer while the server is overloaded, and wherein the acceptance limit is varied in response to the overload status of the server and a desired delay time of processing incoming requests stored in the buffer. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
Specification