Patent ID: 7296269

Claim:
A method for balancing loads in a computing system comprising the steps of: collecting load data for each of a plurality of nodes, the load data derived from the real-time processing of tasks by the nodes for a predetermined time interval; using a plurality of task distributors to distribute tasks to the nodes where each distributed task represents part of the load for the node, each task distributor serving two or more nodes, no task distributor serving all of the nodes, at least one node being served by two or more task distributors; determining a total load for each node comprising the sum of each load placed on the node by each task distributor; calculating a cost for supporting the load of each task distributor at each node based on a comparison of said total load of the node and the load associated with each task distributor for the node; utilizing said costs to calculate new loads to be placed on each node by the respective task distributors during a next predetermined time interval, where the new loads for the next predetermined time interval are based on the respective prior loads, the calculation of new loads causing a new total load at each node to change towards equalization of total loads across all nodes; placing said new loads on each node by the respective task distributors during the next predetermined time interval.