Patent ID: 9262221
Filing Date: 2016-02-16
CPC Classification: G06F

Claim Text:
1. A computer-implemented method, comprising: accessing, by one or more computer processors, a set of two or more activity logs associated with two or more virtual machines, each activity log being associated with a corresponding virtual machine and indicating when work assignments are received and completed by the associated virtual machine; calculating, by the one or more computer processors, a computational capacity of each of the two or more virtual machines based at least in part on the activity logs, wherein the computational capacity of a first virtual machine is configured to increase responsive to an increase in the time between completion of work assignments by the first virtual machine; determining, by the one or more computer processors, a monetary investment of running each of the two or more virtual machines; calculating, by the one or more computer processors, a rank for each of the two or more virtual machines; wherein calculating the rank for each of the two or more virtual machines comprises calculating a first rank of the first virtual machine and a second rank of a second virtual machine of the two or more virtual machines; wherein the first rank of the first virtual machine is negatively correlated with the computational capacity of the first virtual machine, such that an increase in computational capacity decreases a virtual machine's rank, while a decrease in computational capacity increases the rank; and wherein the first rank is negatively correlated with the monetary investment of running the first virtual machine, such that an increase in monetary investment of a virtual machine decreases the rank, while a decrease in monetary investment increases the rank; and distributing a plurality of work assignments to the two or more virtual machines based at least in part on the respective ranks of the two or more virtual machines.