Patent ID: 9135040
Filing Date: 2015-09-15
Classification: G06F

Abstract:
1. A method for provisioning a new virtual machine instance, the method comprising: sending, by a processor, a message to each of a plurality of host machines, the message including an inquiry into whether the each of the plurality of host machines has an empty slot to host the new virtual machine instance, wherein the empty slot comprises a number of cores and a number of memories to be allocated to the new virtual machine instance; receiving, by the processor, a response message from each of the plurality of host machines, the response message indicating if the each of the plurality of host machines has at least one empty slot to host the new virtual machine instance; identifying, by the processor, a subset of the plurality of host machines, wherein each host machine in the subset of the plurality of host machines has at least one empty slot available to host the new virtual machine instance; sending, by the processor, a second message to each respective host in the subset of the plurality of host machines, the second message including an inquiry into a percentage of an image of the new virtual machine instance available in local storage on the respective host, wherein the image comprises a plurality of clusters; calculating, by each respective host and in response to receiving the second message, the percentage of the image of the new virtual machine instance available in local storage on the respective host, the calculating utilizing a consultation to a similarity matrix comprising: receiving, by the processor, a second response message from each respective host in the subset of the plurality of host machines, the second response message indicating the percentage of the image of the new virtual machine instance available in local storage on the respective host; identifying, by the processor, from among the subset of the plurality of host machines, a host machine having a highest percentage of an image of the new virtual machine instance available in local storage; and provisioning, by the processor, the new virtual machine instance on the host machine having the highest percentage of the image available in local storage, wherein the provisioning comprises instructing the host machine having the highest percentage of the image available in local storage to run the new virtual machine instance.