Dynamic transaction-persistent server load balancing
First Claim
1. A non-transitory machine readable storage medium having stored thereon machine readable instructions to cause a computer processor to:
- receive, at a particular device, a first authentication request corresponding to a client device;
determine, for each of a plurality of servers, a number of outstanding authentication requests;
select a first server, from the plurality of servers, based on the number of outstanding authentication requests for each server of the plurality of servers, and a transmission latency between the particular device and each of the plurality of servers,wherein the transmission latency is inferred based on the number of outstanding authentication requests for each server among the plurality of servers;
transmit, from the device to the first server;
the first authentication request corresponding to the client device; and
a second authentication request corresponding to the client device in response to a determination that the second authentication request is in a same first transaction as the first authentication request, wherein subsequent requests within the first transaction will be received by the first server;
select a second server, based on the number of outstanding authentication requests, to receive a third authentication request in response to the determination that the third authentication request is in a second transaction different from the previous authentication requests; and
select the first server to receive a fourth authentication request in a third transaction based on the determination that the first and the second authentication requests were completed and the third authentication request is pending.
4 Assignments
0 Petitions
Accused Products
Abstract
The present disclosure describes a system for dynamic transaction-persistent server load balancing. The disclosed system receives a client request associated with a new transaction. In response to receiving the client request, the system dynamically infers relative capacities of a plurality of servers coupled to the device in a network. In particular, the system maintains a set of variables corresponding to the servers. Each variable indicates a number of outstanding requests transmitted from the device to a respective server. The system infers relative server capacities and transmission latencies between the device and the servers based on a comparison of current values of the variables. The system identifies and selects a server associated with high capacity or low transmission latency between the device and the server relative to one or more other servers, and transmits an outstanding request corresponding to the client request from the new transaction to the identified server.
31 Citations
17 Claims
-
1. A non-transitory machine readable storage medium having stored thereon machine readable instructions to cause a computer processor to:
-
receive, at a particular device, a first authentication request corresponding to a client device; determine, for each of a plurality of servers, a number of outstanding authentication requests; select a first server, from the plurality of servers, based on the number of outstanding authentication requests for each server of the plurality of servers, and a transmission latency between the particular device and each of the plurality of servers, wherein the transmission latency is inferred based on the number of outstanding authentication requests for each server among the plurality of servers; transmit, from the device to the first server; the first authentication request corresponding to the client device; and a second authentication request corresponding to the client device in response to a determination that the second authentication request is in a same first transaction as the first authentication request, wherein subsequent requests within the first transaction will be received by the first server; select a second server, based on the number of outstanding authentication requests, to receive a third authentication request in response to the determination that the third authentication request is in a second transaction different from the previous authentication requests; and select the first server to receive a fourth authentication request in a third transaction based on the determination that the first and the second authentication requests were completed and the third authentication request is pending. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A system comprising:
-
a particular device including a processing resource; and a memory resource storing machine readable instructions to cause the processing resource to; receive, at the particular device, a first authentication request corresponding to a client device; determine, for each of a plurality of servers, a number of outstanding authentication requests; select a first server, from the plurality of servers, based on the number of outstanding authentication requests for each server of the plurality of servers, and a transmission latency between the particular device and each of the plurality of servers, wherein the transmission latency is inferred based on the number of outstanding authentication requests for each server among the plurality of servers; transmit, from the device to the first server; the first authentication request corresponding to the client device; and a second authentication request corresponding to the client device in response to a determination that the second authentication request is in a same first transaction as the first authentication request, wherein subsequent requests within the first transaction will be received by the first server; and select a second server, based on the number of outstanding authentication requests, to receive a third authentication request in response to the determination that the third authentication request is in a second transaction different from the previous authentication requests; and select the first server to receive a fourth authentication request in a third transaction based on the determination that the first and the second authentication requests were completed and the third authentication request is pending. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A method comprising:
-
receiving, at a particular device including a hardware processor, a first authentication request corresponding to a client device; determining, for each of a plurality of servers, a number of outstanding authentication requests; selecting a first server, from the plurality of servers, based on the number of outstanding authentication requests for each server of the plurality of servers, and a transmission latency between the particular device and each of the plurality of servers, wherein the transmission latency is inferred based on the number of outstanding authentication requests for each server among the plurality of servers; transmitting, from the device to the first server; the first authentication request corresponding to the client device; and transmitting, from the device to the first server, a second authentication request corresponding to the client device in response to a determination that the second authentication request is in a same first transaction as the first authentication request, wherein subsequent requests within the first transaction will be received by the first server; and selecting a second server, based on the number of outstanding authentication requests, to receive a third authentication request in response to the determination that the third authentication request is in a second transaction different from the previous authentication requests; and selecting the first server to receive a fourth authentication request in a third transaction based on the determination that the first and the second authentication requests were completed, and the third authentication request is pending. - View Dependent Claims (14, 15, 16, 17)
-
Specification