Patent ID: 8701107

Claim:
A method for load balancing virtual machines (VMs) across a plurality of host computers, the method comprising: calculating, by operation of a first host computer of the plurality of host computers, a normalized entitlement value for the first host computer, wherein the normalized entitlement value is based on an amount of resources of the first host computer associated with a first plurality of VMs executing on the first host computer; generating a utilization average by aggregating the normalized entitlement value with normalized entitlement values of other host computers included in the plurality of host computers; responsive to determining that the normalized entitlement value of the first host computer exceeds the utilization average by at least a threshold margin: self-identifying, by operation of the first host computer, the first host computer to transfer one or more of the first plurality of VMs executing on the first host computer; determining a second host computer from one or more host computers that have self-identified as being capable of executing the one or more of the first plurality of VMs executing on the first host computer, wherein the second host computer is determined based on data received from the one or more host computers; transferring the one or more of the first plurality of VMs to the second host computer; and responsive to determining that the normalized entitlement value of the first host computer is less than the utilization average by at least the threshold margin: self-identifying, by operation of the first host computer, the first host computer as being capable of executing VMs executing on the other host computers included in the plurality of host computers; receiving from a third host computer an offer to execute one or more of a third plurality of VMs executing on the third host computer; determining, by operation of the first host computer, acceptance of the offer based on the normalized entitlement value of the first host computer and the utilization average; and transferring the one or more of the third plurality of VMs from the third host computer to the first host computer.