Load balancing utilizing adaptive thresholding
First Claim
1. A computer-implemented method of operating a server computing device to process data requests, the method comprising:
- receiving a first data request from a client computing device at a first server computing device, wherein the first data request includes a second queue threshold obtained from a second server computing device, wherein the second queue threshold is indicative of a number of data requests that can be placed in a second request queue for processing by the second server computing device before the second server computing device rejects a data request;
comparing, by the first server computing device, a first queue threshold associated with the first server computing device and the second queue threshold obtained from the second server computing device;
determining, by the first server computing device, whether to process the first data request at the first server computing device based on the comparison of the first queue threshold and the second queue threshold; and
managing, by the first server computing device, the first queue threshold based on the comparison of the first and second queue thresholds; and
processing the first data request, at the first server computing device, based on the comparison of the first and second queue thresholds.
0 Assignments
0 Petitions
Accused Products
Abstract
Methods and systems for processing data requests in a client-server computing environment, such as the Web, are disclosed. A client device initially transmits a data request to a randomly selected first server device. The first server device may reject the data request if its request queue threshold is exceeded. The client device retransmits the data request, including the request queue threshold, to a randomly selected second server device. The second server device may reject the data request if the request queue threshold of the first server device is smaller than a request queue threshold of the second server device. The client device transmits the data request back to the first server device, including the request queue threshold of the second server device. The first server device processes the data request and adjusts its request queue threshold based on the request queue thresholds of the first and second server devices.
38 Citations
21 Claims
-
1. A computer-implemented method of operating a server computing device to process data requests, the method comprising:
-
receiving a first data request from a client computing device at a first server computing device, wherein the first data request includes a second queue threshold obtained from a second server computing device, wherein the second queue threshold is indicative of a number of data requests that can be placed in a second request queue for processing by the second server computing device before the second server computing device rejects a data request; comparing, by the first server computing device, a first queue threshold associated with the first server computing device and the second queue threshold obtained from the second server computing device; determining, by the first server computing device, whether to process the first data request at the first server computing device based on the comparison of the first queue threshold and the second queue threshold; and managing, by the first server computing device, the first queue threshold based on the comparison of the first and second queue thresholds; and processing the first data request, at the first server computing device, based on the comparison of the first and second queue thresholds. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A system for load balancing comprising:
-
a first server operable to receive and process data requests from client computers, wherein the first server includes a first data store coupled with the first server for storing information associated with a data request and a first request queue including a first queue threshold, the first request queue operable to store a first number of data requests, the first number of data requests being less than the first queue threshold; and a second server, coupled with a network, operable to receive and process data requests from client computers, wherein the second server includes a second data store coupled with the second server for storing information associated with a data request and a second request queue including a second queue threshold, the second request queue operable to store a second number of data requests, the second number of data requests being less than the second queue threshold; wherein the second queue threshold is indicative of a number of data requests that can be placed in the second request queue for processing by the second server before the second server rejects the data request; and wherein the first server receives a first data request including the second queue threshold from a client computer and manages the processing of the data request based on a comparison of the first and second queue thresholds. - View Dependent Claims (10, 11, 12, 13, 14, 15)
-
-
16. A system for managing requests comprising:
-
a data store; and a first server, coupled with the data store and a network, operable to obtain and process a data request from a client computer, the first server including; a first request queue having a first queue threshold; and a queue processing application operable to; receive a first data request including a second queue threshold from the client computer, wherein the second queue threshold corresponds to a second server, and wherein the second queue threshold is indicative of a number of data requests that can be placed in a second request queue for processing by the second server before the second server rejects a data request; process the second queue threshold to compare the first queue threshold and the second queue threshold; and provide a rejection message including the first queue threshold based on the comparison of the first queue threshold and the second queue threshold. - View Dependent Claims (17, 18, 19, 20, 21)
-
Specification