Load-balancing metrics for adaptive dispatching of long asynchronous network requests
First Claim
1. A computer-implemented method for load-balancing a data network having at least one client connectable thereto and a cluster of servers for servicing said client, said servers each having a job queue and said job queue having a length, the method comprising the steps of;
- establishing a connection extending from said client to said cluster of servers;
receiving a request from said client;
in said servers generating respective metrics indicative of currently assigned jobs therein;
responsively to said metrics, assigning weight values to said servers; and
allocating said request to one of said servers according to said weight values for service thereof.
1 Assignment
0 Petitions
Accused Products
Abstract
Methods and systems are provided for load-balancing a data network, which is configured with a plurality of servers for servicing client requests asynchronously, and with a network dispatcher for assigning each new request to a selected server. The servers generate metrics indicative of their currently assigned workloads. The network dispatcher receives the metrics, and allocates requests according to weighted server probabilities reflecting the servers'"'"' capabilities and the metrics. Connections with the client are thereupon terminated, and reinstated after service of the request. The servers may be weighted in accordance with their respective capabilities, and the metrics adjusted by the weights.
85 Citations
20 Claims
-
1. A computer-implemented method for load-balancing a data network having at least one client connectable thereto and a cluster of servers for servicing said client, said servers each having a job queue and said job queue having a length, the method comprising the steps of;
-
establishing a connection extending from said client to said cluster of servers;
receiving a request from said client;
in said servers generating respective metrics indicative of currently assigned jobs therein;
responsively to said metrics, assigning weight values to said servers; and
allocating said request to one of said servers according to said weight values for service thereof. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
- 12. A computer software product for load-balancing a data network having at least one client connectable thereto and a cluster of servers for servicing said client, the product including a computer-readable medium in which computer program instructions are stored, which instructions, when read by a computer, cause the computer to establish a connection extending from said client to said cluster of servers, to receive a request from said client, to receive from said servers respective metrics indicative of currently assigned jobs therein, responsively to said metrics, to assign weight values to said servers, and to allocate said request to one of said servers according to said weight values for service thereof.
-
18. A network dispatcher for load-balancing a data network having at least one client connectable thereto and a plurality of servers for servicing said client, comprising a processor operative to receive a request from said client, to receive from said servers respective metrics indicative of currently assigned jobs therein, responsively to said metrics, to assign weight values to said servers;
- and to allocate said request to one of said servers according to said weight values for service thereof.
- View Dependent Claims (19, 20)
Specification