Patent ID: 7844967

Claim:
A computer-implemented method of allocating computing resources comprising: identifying applications which comprise candidates for execution on a shared computing system; for each application identified, identifying at least one subset of the computing resources, each subset for a particular identified application comprising sufficient resources to support the particular identified application; assigning a business value to each subset of computing resources, the business value being tied to the particular identified application and representing the business value of the subset of computing resources when that subset is used to run the particular identified application; and determining an assignment of the computing resources to the identified applications which provides a near maximal overall business value of the shared computing system, determining the assignment being performed by a computer, wherein determining the assignment of the computing resources to the identified applications which provides the near maximal overall business values of the shared computing system comprises maximizing a sum of the business values for the identified applications given by max ⁢ ⁢ ∑ t ⁢ ⁢ ∑ b ⁢ ⁢ X bt ⁢ U t ⁡ ( b ) where t is an index of the identified applications, tε{1, 2, 3, . . . T}, b is an index of the subsets of the computing resources identified for a particular identified application t, bε{1, 2, 3, . . . B t }, X bt is a binary decision variable that indicates computing resource subset b is assigned to the particular identified application t, and where U t (b) is the assigned business value of the computing resource subset b when the computing resource subset b is used to run the particular identified application t.