摘要 |
A system and computer program product 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.
|