Patent ID: 8667500

Claim:
A method for balancing processes, the method comprising: determining a dynamic entitlement of a first process for a first resource based on a first allocation policy and an estimate of demand for the first resource by the first process, the first process executing on a first physical computer system; determining a dynamic entitlement of a second process for the first resource based on a second allocation policy and an estimate of demand for the first resource by the second process, the second process executing on a second physical computer system; determining a normalized entitlement of the first resource on the first physical computer system based on at least the dynamic entitlement of the first process for the first resource and a capacity of the first resource of the first physical computer system; determining a normalized entitlement of the first resource on the second physical computer system based on at least the dynamic entitlement of the second process for the first resource and a capacity of the first resource of the second physical computer system; determining a resource imbalance of the first resource based on at least the normalized entitlement of the first resource on the first physical computer system and the normalized entitlement of the first resource on the second physical computer system; determining a resource imbalance of a second resource; determining an overall imbalance based on at least the resource imbalance of the first resource and the resource imbalance of the second resource; and if the overall imbalance is greater than a threshold, migrating the first process from the first physical computer system to another physical computer system, wherein the threshold is at least partially defined by a user input number multiplied by a first scale factor and a root function of a number of physical computer systems in a cluster divided by a second scale factor, the first and second physical computer systems being part of the cluster.