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, the first server computing device associated with a first queue threshold, the first data request identifying a second queue threshold associated with a second server computing device;
comparing, by the first server computing device, the first queue threshold and the second queue threshold;
based on a determination that the second queue threshold is greater than or equal to the first queue threshold, increasing, by the first server computing device, the first queue threshold in order to process the first data request; and
accepting the first data request for processing, by the first server computing device, based on the comparison of the first queue threshold and the second queue threshold.
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.
-
Citations
19 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, the first server computing device associated with a first queue threshold, the first data request identifying a second queue threshold associated with a second server computing device; comparing, by the first server computing device, the first queue threshold and the second queue threshold; based on a determination that the second queue threshold is greater than or equal to the first queue threshold, increasing, by the first server computing device, the first queue threshold in order to process the first data request; and accepting the first data request for processing, by the first server computing device, based on the comparison of the first queue threshold and the second queue threshold. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A system for managing requests comprising:
-
a data store; and a first server, in communication with the data store and a network, configured 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 configured to; receive a first data request including a second queue threshold from the client computer, wherein the second queue threshold is associated with a second server; comparing, by the first server, whether to process the first data request at the first server based on a comparison of the first queue threshold and the second queue threshold; and based on a determination that the second queue threshold is greater than or equal to the first queue threshold, increase the first queue threshold in order to accept the first data request for processing. - View Dependent Claims (12, 13, 14, 15, 16)
-
-
17. A non-transitory computer-readable medium having computer-executable components stored thereon, wherein in response to execution, the components cause a computer to process data requests, the components comprising:
a data request component configured to, provide a first data request to a first server having a first queue threshold, the first queue threshold indicative of a number of data requests that can be placed in a first request queue for processing by the first server before the first server rejects a data request; receive a first rejection message including the first queue threshold from the first server indicating the first queue threshold is exceeded; and provide a second data request to a second server having a second queue threshold, the second queue threshold 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, wherein the second data request includes the first queue threshold of the first server that has previously rejected the first data request, wherein the second server is configured to increase the second queue threshold in order to accept the second data request for processing based on a determination that the second queue threshold is greater than or equal to the first queue threshold. - View Dependent Claims (18, 19)
Specification