System and method for handling overload of requests in a client-server environment
AssigneeExanet, Inc.
InventorNir Peleg
Life of this patent
Estimating the term…
Abstract
A system, method and computer software for handling overload conditions in a request queue of a server in a client-server architecture. When request queue overload conditions are detected, one or more of the next-to-be serviced requests in the request queue of the server are removed and the remaining requests in the queue are forwarded by the same number of requests that were removed. By preventing the servicing of requests that may have already experienced a timeout by the requesting client, the overall performance of the system is increased.
Claims103
A server capable of receiving requests from at least one client, said server comprising:
- a queue for handling requests received from said at least one client;
- a queue manager that removes at least the next-to-be handled request from said queue when the number of requests in said queue exceeds a request threshold value.
A method for handling overload of requests in a client-server environment, said server having a request queue and a request manager, wherein:
- said request manager determines if there are requests in said queue and, if that determination is not true, waits until a request is present;
- if said request manager determines that the number of requests in said queue exceeds said request threshold value, said request manager repeatedly removes the request in the first slot of said queue and advances the remaining requests in said queue by one position until the number of requests is less than or equal to said request threshold value;
- and
- said request manager processes the request stored in the first slot of said queue.
A method for handling overload of requests in a client-server environment, said server having a request queue and a request manager, wherein:
- said request manager determines if there are requests in said queue and, if that determination is not true, waits until a request is present;
- if said request manager determines that the number of requests in said queue exceeds said request threshold value, said request manager removes from said queue a number of requests equal to the difference between the actual number of requests in said queue and said request threshold value, and advances the remaining requests said queue by a number of positions equal to the difference between the actual number of requests in said queue and said request threshold value;
- and
- said request manager processes the request stored in the first slot of said queue.
A method for handling overload of requests in a client-server environment, said server having a request queue and a request manager, wherein:
- said request manager determines if there are requests in said queue and, if that determination is not true, waits until a request is present;
- if said request manager determines that the number of requests in said queue exceeds said first predetermined number, said request manager repeatedly removes the request in the first slot of said queue and advances the remaining requests in said queue by one position until the number of requests in said queue is less than a second predetermined number, which is smaller than said first predetermined number of requests;
- and
- said request manager processes the request stored in the first slot of said queue.
A method for handling overload of requests in a client-server environment, said server having a request queue and a request manager, wherein:
- said request manager determines if there are requests in said queue and, if that determination is not true, waits until a request is present;
- said request manager determines if the number of requests in said queue exceeds said first predetermined number, and, if that determination is true, removes from said queue a number of requests equal to the difference between the actual number of requests in said queue and a second predetermined number which is smaller than said first predetermined number, and advances the remaining requests said queue by a number of positions equal to the difference between the actual number of requests in said queue and said second predetermined number;
- and
- said request manager processes the request stored in the first slot of said queue.
A computer software product for handling overload of requests in a client-server environment, said server having a request queue and a request manager, said computer software product comprises:
- software instructions for enabling said server, said request queue and said request manager to perform predetermined operations, and a computer readable medium bearing the software instructions, said predetermined operations comprise:
- determining if there are requests in said queue and, if that determination is not true, waiting until a request is present;
- if said predetermined operations determine that the number of requests in said queue exceeds said request threshold value, said predetermined operations repeatedly removing the request in the first slot of said queue and advancing the remaining requests in said queue by one position until the number of requests is less than or equal to said request threshold value;
- and
- processing the request stored in the first slot of said queue.
A computer software product for handling overload of requests in a client-server environment, said server having a request queue and a request manager, said computer software product comprises:
- software instructions for enabling said server, said request queue and said request manager to perform predetermined operations, and a computer readable medium bearing the software instructions, said predetermined operations comprise:
- determining if there are requests in said queue and, based upon that determination, waiting until a request is present;
- if said predetermined operations determine that the number of requests in said queue exceeds said request threshold value, said predetermined operations removing from said queue a number of requests equal to the difference between the actual number of requests in said queue and said request threshold value, and advancing the remaining requests said queue by a number of positions equal to the difference between the actual number of requests in said queue and said request threshold value;
- and
- processing the request stored in the first slot of said queue.
A computer software product for handling overload of requests in a client-server environment, said server having a request queue and a request manager, said computer software product comprises:
- software instructions for enabling said server, said request queue and said request manager to perform predetermined operations, and a computer readable medium bearing the software instructions, said predetermined operations comprise:
- determining if there are requests in said queue and, based upon that determination, waiting until a request is present;
- if said predetermined operations determine that the number of requests in said queue exceeds said first predetermined number, said predetermined operations repeatedly removing the request in the first slot of said queue and advancing the remaining requests in said queue by one position until the number of requests in said queue is less than a second predetermined number, which is smaller than said first predetermined number of requests;
- and
- processing the request stored in the first slot of said queue.
A computer software product for handling overload of requests in a client-server environment, said server having a request queue and a request manager, said computer software product comprises:
- software instructions for enabling said server, said request queue and said request manager to perform predetermined operations, and a computer readable medium bearing the software instructions, said predetermined operations comprise:
- determining if there are requests in said queue and, if that determination is not true, waits until a request is present;
- determining if the number of requests in said queue exceeds said first predetermined number, and, if that determination is true, removing from said queue a number of requests equal to the difference between the actual number of requests in said queue and a second predetermined number which is smaller than said first predetermined number, and advancing the remaining requests said queue by a number of positions equal to the difference between the actual number of requests in said queue and said second predetermined number;
- and
- processing the request stored in the first slot of said queue.
A computer system adapted for handling overload of requests in a client-server environment, the computer system comprising:
- at least one client and at least one server, wherein said at least one client and said at least one server are coupled to each other;
- a memory comprising software instructions adapted to enable the computer system to:
- determine if there are requests in said queue and, if that determination is not true, wait until a request is present;
- determine if the number of requests in said queue exceeds said request threshold value, and, if that determination is true, repeatedly remove the request in the first slot of said queue and advance the remaining requests in said queue by one position until the number of requests is less than or equal to said request threshold value;
- and
- process the request stored in the first slot of said queue.
A computer system adapted for handling overload of requests in a client-server environment, the computer system comprising:
- at least one client and at least one server, wherein said at least one client and said at least one server are coupled to each other;
- a memory comprising software instructions adapted to enable the computer system to:
- determine if there are requests in said queue and, based upon that determination, wait until a request is present;
- determine if the number of requests in said queue exceeds said request threshold value, and, if that determination is true, remove from said queue a number of requests equal to the difference between the actual number of requests in said queue and said request threshold value, and advance the remaining requests said queue by a number of positions equal to the difference between the actual number of requests in said queue and said request threshold value;
- and
- process the request stored in the first slot of said queue.
A computer system adapted for handling overload of requests in a client-server environment, the computer system comprising:
- at least one client and at least one server, wherein said at least one client and said at least one server are coupled to each other;
- a memory comprising software instructions adapted to enable the computer system to:
- determine if there are requests in said queue and, based upon that determination, wait until a request is present;
- determine if the number of requests in said queue exceeds said first predetermined number, and, based on that determination, repeatedly remove the request in the first slot of said queue and advance the remaining requests in said queue by one position until the number of requests in said queue is less than a second predetermined number, which is smaller than said first predetermined number of requests;
- and
- process the request stored in the first slot of said queue.
A computer system adapted for handling overload of requests in a client-server environment, the computer system comprising:
- at least one client and at least one server, wherein said at least one client and said at least one server are coupled to each other;
- a memory comprising software instructions adapted to enable the computer system to:
- determine if there are requests in said queue and, if that determination is not true, waits until a request is present;
- determine if the number of requests in said queue exceeds said first predetermined number, and, if that determination is true, remove from said queue a number of requests equal to the difference between the actual number of requests in said queue and a second predetermined number which is smaller than said first predetermined number, and advance the remaining requests said queue by a number of positions equal to the difference between the actual number of requests in said queue and said second predetermined number;
- and
- process the request stored in the first slot of said queue.
Dependencies are inferred from the claim text.