Patent ID: 8863125

Claim:
A deployment method for deploying a new virtual appliance on a data processing center including one or more computers configured to each host one or more virtual machines, the new virtual appliance including one or more new virtual machines which each include one or more new software programs, wherein the deployment method includes steps comprising: determining structure information of the new virtual appliance, the structure information of the new virtual appliance including an indication of the one or more new virtual machines and an indication of the one or more new software programs, wherein the determining of the structure information comprises verifying an inclusion of the structure information of the new virtual appliance in an appliance repository that includes structure information of each one of a plurality of known virtual appliances previously deployed on the data processing center, the determining of the structure information further comprising retrieving the structure information of the new virtual appliance from the appliance repository in response to the inclusion, or discovering the structure information from an image of the new virtual appliance and saving the structure information of the new virtual appliance into the appliance repository otherwise; retrieving configuration information indicative of a current configuration of the data processing center; retrieving license condition information indicative of license conditions applicable to the data processing center, wherein the retrieving of the license condition information comprises creating a first hash table including the license conditions for the virtual appliances each one being directly accessible through an identifier of the corresponding virtual appliance, and a second hash table including the license conditions for the software programs each one being directly accessible through an identifier of the corresponding software program; determining a deployment scheme of the virtual appliance on the data processing center, the determination of the deployment scheme being performed by optimizing a cost function based on the license condition information, the configuration information and the structure information; and deploying the new virtual appliance according to the deployment scheme; wherein the license condition information includes an indication of a first set of license conditions each one for a corresponding virtual appliance, and an indication of a second set of license conditions each one for a corresponding software program.