Patent ID: 8745620

Claim:
An apparatus comprising: at least one processor; a memory coupled to the at least one processor; a virtual appliance residing in the memory, the virtual appliance comprising a plurality of configuration units that each includes functional information and virtualization information for a computer program, wherein the functional information specifies at least one software function and the virtualization information specifies metadata that describes how to package the at least one software function within the virtual appliance; a workload executed by the at least one processor corresponding to the virtual appliance; and a virtual appliance update mechanism residing in the memory and executed by the at least one processor, the virtual appliance update mechanism receiving a request to update the workload, determining whether at least one configuration unit corresponding to the change exists in a knowledge base, and if so, allowing the requested update to the workload, and when the at least one configuration unit corresponding to the change does not exist in the knowledge base, prompting a requester of the update to provide the at least one configuration unit corresponding to the change in the knowledge base.