Patent ID: 8370472

Claim:
A method for efficient machine selection for job provisioning, comprising: receiving a job request to perform a job using an unspecified server machine; from the job request, determining, by a processor, one or more job criteria needed to perform the job; providing a list of one or more server machines, the one or more server machines potentially operable to perform the job; for each server machine on the list of one or more server machines: determining a utilization value, the utilization value comprising a numeric level of activity for the each server machine; determining one or more job criteria satisfaction values, each of the one or more job criteria satisfaction values comprising a numeric degree to which the each server machine satisfies one of the one or more job criteria; determining an overall suitability value from the one or more job criteria satisfaction values and the utilization value, the overall suitability value comprising a numeric degree to which the each server machine is suitable for performing the job, wherein determining the overall suitability value from the one or more job criteria satisfaction values and the utilization value comprises, for the each server machine, entering the one or more job criteria satisfaction values and the utilization value into a performance equation wherein the result of the performance equation comprises the overall suitability value for the each server machine, wherein the performance equation comprises one or more weighted arguments, each of the one or more weighted arguments corresponding to one of the one or more job criteria satisfaction values and the utilization value, and wherein the performance equation is expressed as (overall suitability value)=w*(utilization value)+x*(software compatibility value)+y*(server machine availability value)+z*(system resource compatibility value) wherein w, x, y, and z comprise weighted values; and including the overall suitability value on a list of one or more overall suitability values; and determining a most suitable server machine for performing the job from the list of one or more overall suitability values.