Method and apparatus for load balancing of parallel servers in a network environment
AssigneeInternational Business Machines Corporation
InventorRedha M. Bournas
Life of this patent
Estimating the term…
Abstract
A method and apparatus in a distributed data processing system for handling requests. The processing of each request received at a server system is monitored, wherein the server system includes a plurality of servers. An average work load size is estimated for the plurality of servers based on previous actual work load information in response to completion of processing of a request. A most recent value of the average work load size is assigned for the plurality of servers to each request arriving at the server system. The request is forwarded to a server within the plurality of servers having a lowest estimated amount of work to process.
Claims36
A method in a distributed data processing system for handling requests, the method comprising the computer implemented steps of:
- monitoring processing of each request received at a server system, wherein the server system includes a plurality of servers;
- estimating an average work load size for the plurality of servers based on previous actual work load information in response to completion of processing of a request;
- assigning a most recent value of the average work load size for the plurality of servers to each request arriving at the server system;
- and
- forwarding each request to a server within the plurality of servers having a lowest estimated amount of work to process, after assigning of the most recent value of the average work load size occurs.
A method for establishing a session to a server system including a plurality of servers, the method comprising the computer implemented steps of:
- receiving a request to establish a session;
- forwarding the request to a server within the plurality of servers in the server system having a least amount of work;
- assigning an estimate of an average work load size to the request;
- incrementing an estimate of an amount of work for the server by the average work load size to form a current estimate of an amount of work for the server;
- and
- associating the server with the request.
A server system comprising:
- a data transfer mechanism;
- a plurality of servers coupled to the data transfer system;
- and
- a network dispatcher, wherein the network dispatcher monitors processing of each request received at the server system, estimates an average work load size for the plurality of servers based on previous actual work load information in response to completion of processing of a request, assigns a most recent value of the average work load size for the plurality of servers to each request arriving at the server system, and forwards each request to a server within the plurality of servers having a lowest estimated amount of work to process, after the most recent value of the average work load size is assigned.
A distributed data processing system for handling requests, the distributed data processing system comprising:
- monitoring means for monitoring processing of each request received at a server system, wherein the server system includes a plurality of servers;
- estimating means for estimating an average work load size for the plurality of servers based on previous actual work load information in response to completion of processing of a request;
- assigning means for assigning a most recent value of the average work load size for the plurality of servers to each request arriving at the server system;
- and
- forwarding means, responsive to the assigning means assigning the most recent value of the average work load size, for forwarding each request to a server within the plurality of servers having a lowest estimated amount of work to process.
A distributed data processing system for establishing a session to a server system including a plurality of servers, the distributed data processing system comprising:
- receiving means for receiving a request to establish a session;
- forwarding means for forwarding the request to a server within the plurality of servers in the server system having a least amount of work;
- assigning means for assigning an estimate of an average work load size to the request;
- incrementing means for incrementing an estimate of an amount of work for the server by the average work load size to form a current estimate of an amount of work for the server;
- and
- associating means for associating the server with the request.
A computer program product in a computer readable medium for handling requests, the computer program product comprising:
- first instructions for monitoring processing of each request received at a server system, wherein the server system includes a plurality of servers;
- second instructions for estimating an average work load size for the plurality of servers based on previous actual work load information in response to completion of processing of a request;
- third instructions for assigning a most recent value of the average work load size for the plurality of servers to each request arriving at the server system;
- and
- fourth instructions, responsive to the third instructions assigning the most recent value of the average work load size, for forwarding each request to a server within the plurality of servers having a lowest estimated amount of work to process.
A computer program product in a computer readable medium for establishing a session to a server system including a plurality of servers, the computer program product comprising:
- first instructions for receiving a request to establish a session;
- second instructions for forwarding the request to a server within the plurality of servers in the server system having a least amount of work;
- third instructions for assigning an estimate of an average work load size to the request;
- fourth instructions for incrementing an estimate of an amount of work for the server by the average work load size to form a current estimate of an amount of work for the server;
- and
- fifth instructions for associating the server with the request.
A method for handling requests received by a server system having a plurality of servers, the method comprising the computer implemented steps of:
- monitoring processing of requests received at the server system to identify work load information, wherein the monitoring occurs without communication with the plurality of servers;
- responsive to completion of processing of a request, estimating an average work load size for the plurality of servers based on previous actual work load information;
- and
- forwarding each request to a server within the plurality of servers having a lowest estimated amount of work to process.
A computer program product in a computer readable medium for handling requests received by a server system having a plurality of servers, the computer program product comprising:
- first instructions for monitoring processing of requests received at the server system to identify work load information, wherein the monitoring occurs without communication with the plurality of servers;
- second instructions, responsive to completion of processing of a request, for estimating an average work load size for the plurality of servers based on previous actual work load information;
- and
- third instructions for forwarding each request to a server within the plurality of servers having a lowest estimated amount of work to process.
Dependencies are inferred from the claim text.