Patent ID: 8479209

Claim:
A non-transitory computer-readable storage medium containing instructions to configure at least one processor to perform a method, the method comprising: receiving a local profile including information representative of at least location information for one or more hardware providers; selecting, at a user interface, at least one of a plurality of virtual appliances; providing information to the one or more hardware providers, the provided information representing the selected at least one of the plurality of virtual appliances, the one or more hardware providers including one or more hardware processors for hosting the selected at least one of the plurality of virtual appliances; receiving, from the one or more hardware providers, information representative of at least whether the one or more hardware processors are capable of executing the selected at least one of the plurality of virtual appliances, the received information including a plurality of criteria for selecting the one or more hardware providers, the plurality of criteria including one or more costs to execute the selected at least one of the plurality of virtual appliances at the one or more hardware processors, at least one capability of the one or more hardware processors, and a time when the one or more hardware processors are available for execution by the selected at least one of the plurality of virtual appliances, wherein the plurality of criteria is weighted and further includes one or more default hardware providers; selecting, based on the received information, at least one of the one or more hardware providers including the corresponding one or more hardware processors associated therewith, when a cost and a capability of at least one of the one or more hardware providers is equal to or greater than a threshold; selecting at least one of the one or more default hardware providers, when the cost and the capability of the at least one of the one or more hardware providers is less than the threshold; and implementing, the selected at least one of the plurality of virtual appliances, at the selected at least one of the one or more hardware providers or the one or more default hardware providers including the corresponding one or more hardware processors associated therewith.