Patent ID: 8407696

Claim:
A method for updating an application on a host system, the method comprising steps of: installing the application on the host system; installing a virtual machine monitor on the host system; installing a first virtual container on the host system; providing at least one update to the installed application within the first virtual container; using the virtual machine monitor to instantiate the first virtual container in a mode wherein the host system is accessed but not modified; wherein instantiating the first virtual container comprises applying the at least one update to the installed application, within the first virtual container; running the updated application in the first virtual container; confirming that the updated application runs properly; and devirtualizing the first virtual container, wherein devirtualizing the first virtual container comprises the steps of: copying a state of the first virtual container instantiated with at least one update to an installed application into the host machine, or designated portion thereof, the copying step comprising steps of: examining data items in the host system, or designated portion thereof, and the first virtual container to determine any data items that exist in the host machine, or designated portion thereof, that do not exist in the first virtual container; deleting data items that exist in the host system, or designated portion thereof, but do not exist in the first virtual container; deleting data items of the host system, or designated portion thereof, with contents that are different from corresponding data items in the first virtual container; and copying data items from the first virtual container that do not exist in the host system, or designated portion thereof, to the host system, or designated portion thereof.