Patent ID: 8359594

Claim:
A method for updating virtual machines, comprising: at each server machine in a server cluster: periodically analyzing a local list of virtual machines for a Habitat, wherein the Habitat comprises an image and a specification, wherein the virtual machines are provisioned from the image according to the specification; and placing all, some, or none of the virtual machines into a plurality of buckets, wherein the plurality of buckets comprises a soft bucket, a hard bucket, a reprovision bucket, and a repopulate bucket; wherein: for any virtual machine placed in the soft bucket, a parameter of the virtual machine can be updated while the virtual machine is running; for any virtual machine placed in the hard bucket, the virtual machine needs to be stopped before the parameter is to be updated; for any virtual machine placed in the reprovision bucket, the virtual machine must be deleted and recreated; and a virtual machine is placed in the repopulate bucket if the server machine decides to delete this virtual machine; and processing the plurality of buckets per server machine in the server cluster to incrementally update any virtual machine placed therein, subject to a server concurrency limit and scheduling parameters of the specification.