Balancing the loads of servers in a server farm based on an angle between two vectors
First Claim
1. A method for balancing the loads of servers, the method comprising:
- receiving a load factor for each server in a server farm;
computing a first vector to hold said load factor for each server in said server farm;
receiving a client request;
computing a plurality of second vectors, wherein each of said plurality of second vectors holds a number of client requests to be serviced by each server in said server farm taking into consideration said received client request, wherein each of said plurality of second vectors is computed by modifying a third vector to attribute said client request being serviced by a different server in said server farm, wherein said third vector holds a current number of client requests being serviced by each server in said server farm;
computing an angle made by each of said plurality of second vectors with said first vector;
identifying one of said plurality of second vectors which makes a smallest angle with said first vector; and
directing, by a load balancer, said client request to a server in said server farm that corresponds to said identified second vector.
0 Assignments
0 Petitions
Accused Products
Abstract
A method for balancing the loads of servers in a server farm. A vector, referred to herein as the “DesiredVector,” is computed to hold the load factors for each of the servers. Upon receipt of a client request, a vector, referred to herein as the “ActiveConnections,” is modified for each scenario where the new client request is considered to be serviced by a different server. The ActiveConnections vector holds the current number of client requests being serviced by each of the servers. Angles made by each of the different ActiveConnections vectors with the DesiredVector are computed. Upon identifying the ActiveConnections vector that produces the smallest angle with the DesiredVector, the client request is directed to the server which corresponds to the identified ActiveConnections vector. In this manner, the best possible distribution of requests among the servers is made for every client connection.
-
Citations
7 Claims
-
1. A method for balancing the loads of servers, the method comprising:
-
receiving a load factor for each server in a server farm; computing a first vector to hold said load factor for each server in said server farm; receiving a client request; computing a plurality of second vectors, wherein each of said plurality of second vectors holds a number of client requests to be serviced by each server in said server farm taking into consideration said received client request, wherein each of said plurality of second vectors is computed by modifying a third vector to attribute said client request being serviced by a different server in said server farm, wherein said third vector holds a current number of client requests being serviced by each server in said server farm; computing an angle made by each of said plurality of second vectors with said first vector; identifying one of said plurality of second vectors which makes a smallest angle with said first vector; and directing, by a load balancer, said client request to a server in said server farm that corresponds to said identified second vector. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
Specification