METHOD AND SYSTEM FOR LOAD BALANCING WITH AFFINITY
First Claim
Patent Images
1. In a client-server system comprising a load balancer for sending requests to a plurality of servers, a method for sending requests to the servers comprising the steps of:
- establishing affinity between a session and at least one server s1 in which state information maintained at the load balancer indicates that requests corresponding to the session should preferably be sent to server s1;
determining a load on server s1;
determining a load on at least one other server;
in response to the load balancer receiving a request corresponding to said session, sending the request to a server different from server s1 if the load on server s1 exceeds the load on the at least one other server by a threshold.
1 Assignment
0 Petitions
Accused Products
Abstract
A method and system for distributing requests to multiple back-end servers in client-server environments. A front-end load balancer is used to send requests to multiple back-end servers. In appropriate cases, the load balancer will send requests to the servers based on affinity requirements, while maintaining load balance among servers.
69 Citations
16 Claims
-
1. In a client-server system comprising a load balancer for sending requests to a plurality of servers, a method for sending requests to the servers comprising the steps of:
-
establishing affinity between a session and at least one server s1 in which state information maintained at the load balancer indicates that requests corresponding to the session should preferably be sent to server s1; determining a load on server s1; determining a load on at least one other server; in response to the load balancer receiving a request corresponding to said session, sending the request to a server different from server s1 if the load on server s1 exceeds the load on the at least one other server by a threshold. - View Dependent Claims (2, 5, 6, 7, 11, 12)
-
-
3. In a client-server system comprising a load balancer sending requests to a plurality of servers, a method for sending requests to the servers comprising the steps of:
-
designating a server s1 to handle requests corresponding to a session; storing session state on s1; determining a load on s1; determining a load on at least one other server; in response to the load on server s1 exceeding the load on the at least one other server by a threshold, migrating session state from s1 to a second server s2; sending at least one subsequent request corresponding to the session to s2. - View Dependent Claims (4, 8, 9, 10)
-
-
13. A client-server system comprising:
-
at least one client for generating requests; a plurality of servers for handling client requests; and at least one load balancer for receiving client requests, for designating a server s1 to handle requests corresponding to a session;
for storing session state on s1;
for determining a load on s1 and at least one other server;
for, in response to a load on server s1 exceeding the load on the at least one other server by a threshold, migrating session state from s1 to a second server s2; and
for sending at least one subsequent request corresponding to the session to s2.
-
-
14. A program storage device readable by machine storing a program of instructions for causing a load balancer to perform a method for sending client requests to a plurality of servers, said method comprising the steps of:
-
designating a server s1 to handle requests corresponding to a session; storing session state on s1; determining a load on s1; determining a load on at least one other server; in response to the load on server s1 exceeding the load on the at least one other server by a threshold, migrating session state from s1 to a second server s2; sending at least one subsequent request corresponding to the session to s2.
-
-
15. A client server system comprising:
-
at least one client for generating requests; a plurality of servers for handling client requests; and at least one load balancer adapted to perform steps of; establishing affinity between a session and at least one server s1 in which state information maintained at the load balancer indicates that requests corresponding to the session should preferably be sent to server s1; determining a load on server s1; determining a load on at least one other server; in response to the load balancer receiving a request corresponding to said session, sending the request to a server different from server s1 if the load on server s1 exceeds the load on the at least one other server by a threshold.
-
-
16. A program storage device readable by machine storing a program of instructions for causing a load balancer to perform a method for sending client requests to servers in a client server system comprising the steps of:
-
establishing affinity between a session and at least one server s1 in which state information maintained at the load balancer indicates that requests corresponding to the session should preferably be sent to server s1; determining a load on server s1; determining a load on at least one other server; in response to the load balancer receiving a request corresponding to said session, sending the request to a server different from server s1 if the load on server s1 exceeds the load on the at least one other server by a threshold.
-
Specification