Probabalistic throttling of application server requests
AssigneeInternational Business Machines Corporation
InventorsKyle Gene Brown, Stacy Renee Joines
Life of this patent
Estimating the term…
Abstract
A servlet filter receives all incoming requests for dynamic content and can be used to ensure that the load on a server does not become too great during the time the server is engaged in start-up. The filter is configured to be the first filter encountered and will evaluate a series of conditions to determine if the request is to be throttled. For selected URLs, a given percentage of the first requests received after start-up are automatically throttled. If the request is throttled, a message is sent to the user that the server is busy but to try later. Servlets that are not throttled are allowed to flow through to be processed normally.
Claims20
A method of managing a server for a website, comprising the computer-implemented steps:
- receiving, from a user, a request for dynamic content on a website,
- retrieving a universal resource locator (URL) from said request;
- if said URL should be subjected to throttling, then
- retrieving a counter associated with said URL and incrementing said counter,
- determining a percentage of requests to be passed, according to the value of said counter,
- determining if said request falls within said percentage of requests to be passed;
- and
- if said request does not fall within said percentage of requests to be passed, throttling said request.
A computer program product on a computer-readable media, comprising the computer implemented steps of:
- first instructions for receiving, from a user, a request for dynamic content on a website,
- second instructions for retrieving a universal resource locator (URL) from said request;
- third instructions for determining if said URL is subject to throttling and if so, performing
- fourth instructions for retrieving a counter associated with said URL and incrementing said counter,
- fifth instructions for determining a percentage of requests to be passed, according to the value of said counter,
- sixth instructions for determining if said request falls within said percentage of requests to be passed, and
- seventh instructions for, if said request does not fall within said percentage of requests to be passed, throttling said request.
A server for a website, comprising:
- an input connection at which requests for dynamic content are received;
- an output connection at which responses to said requests are sent;
- a memory in which filtering instruction are stored, and
- a processor, connected to said input connection, said output connection, and connected to perform said filtering instructions in said memory, said filtering instructions comprising
- first instructions for receiving, from a user, a request for dynamic content on a website,
- second instructions for retrieving a universal resource locator (URL) from said request;
- third instructions for determining if said URL is subject to throttling and if so, performing
- fourth instructions for retrieving a counter associated with said URL and incrementing said counter,
- fifth instructions for determining a percentage of requests to be passed, according to the value of said counter,
- sixth instructions for determining if said request falls within said percentage of requests to be passed, and
- seventh instructions for, request does not fall within said percentage of requests to be passed, throttling said request.
Dependencies are inferred from the claim text.