Method and apparatus for load balancing of distributed processing units based on performance metrics
First Claim
1. In a data processing network including distributed processing units, a method comprising:
- obtaining a respective utilization value of each distributed processing unit;
applying a mapping function to the respective utilization value of said each distributed processing unit to obtain a respective weight for said each distributed processing unit; and
using the respective weights for the distributed processing units for distributing work requests to the distributed processing units so that the respective weight for said each distributed processing unit specifies a respective frequency at which the work requests are distributed to said each distributed processing unit.
9 Assignments
0 Petitions
Accused Products
Abstract
Performance parameters are obtained for distributed processing units. The performance parameters include a utilization value, of each distributed processing unit. Respective weights are obtained for the distributed processing units by applying a mapping function to the utilization values. The respective weights are used for weighted round-robin load balancing of work requests upon the distributed processing units. In one implementation, a set of utilization values of the processing units are collected in response to a periodic heartbeat signal, a set of weights are produced from the set of utilization values, a distribution list is produced from the set of weights, and the distribution list is randomized repetitively for re-use during the heartbeat interval.
150 Citations
36 Claims
-
1. In a data processing network including distributed processing units, a method comprising:
-
obtaining a respective utilization value of each distributed processing unit;
applying a mapping function to the respective utilization value of said each distributed processing unit to obtain a respective weight for said each distributed processing unit; and
using the respective weights for the distributed processing units for distributing work requests to the distributed processing units so that the respective weight for said each distributed processing unit specifies a respective frequency at which the work requests are distributed to said each distributed processing unit. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. In a data processing network including distributed processing units, a method comprising:
-
obtaining a respective utilization value of each distributed processing unit;
applying a mapping function to the respective utilization value of said each distributed processing unit to obtain a respective weight for said each distributed processing unit;
using the respective weights for the distributed processing units for producing a distribution list for distributing work requests to the distributed processing units for load balancing of the work requests upon the processing units, and repetitively randomizing the distribution list during the distribution of the work requests to the distributed processing units.
-
-
12. In a data processing network including a network file server and a plurality of virus checking servers, a method comprising:
-
the network file server obtaining a respective utilization value of each virus checking server, the respective utilization value of said each virus checking server indicating a percentage of saturation of said each virus checking server;
the network file server applying a mapping function to the respective utilization value of said each virus checking server to obtain a respective weight for said each virus checking server; and
the network file server using the respective weights for the virus checking servers for weighted round-robin load balancing of virus checking requests from the network file server to the virus checking servers. - View Dependent Claims (13, 14, 15, 16, 17, 18)
-
-
19. A data processing system comprising distributed processing units and a processor coupled to the distributed processing units for distributing work requests to the distributed processing units, the processor being programmed for:
-
obtaining a respective utilization value of each distributed processing unit;
applying a mapping function to the respective utilization value of said each distributed processing unit to obtain a respective weight for said each distributed processing unit; and
using the respective weights for the distributed processing units for distributing work requests to the distributed processing units so that the respective weight for said each distributed processing unit specifies a respective frequency at which the work requests are distributed to said each distributed processing unit. - View Dependent Claims (20, 21, 22, 23, 24, 25, 26, 27, 28)
-
-
29. A data processing system comprising distributed processing units and a processor coupled to the distributed processing units for distributing work requests to the distributed processing units, the processor being programmed for:
-
obtaining a respective utilization value of each distributed processing unit;
applying a mapping function to the respective utilization value of said each distributed processing unit to obtain a respective weight for said each distributed processing unit;
using the respective weights for the distributed processing units for producing a distribution list for distributing work requests to the distributed processing units for load balancing of the work requests upon the processing units, and repetitively randomizing the distribution list during the distribution of the work requests to the distributed processing units.
-
-
30. A data processing system comprising virus checking servers and a network file server coupled to the virus checking servers for distributing virus checking requests to the virus checking servers, the network file server being programmed for:
-
obtaining a respective utilization value of each virus checking server, the respective utilization value of said each virus checking server indicating a percentage of saturation of said each virus checking server;
applying a mapping function to the respective utilization value of said each virus checking server to obtain a respective weight for said each virus checking server; and
using the respective weights for the virus checking servers for weighted round-robin load balancing of virus checking requests from the network file server to the virus checking servers. - View Dependent Claims (31, 32, 33, 34, 35, 36)
-
Specification