Patent ID: 8615579

Claim:
A computer-implemented method for the migration of virtual machine instances from a first virtual machine environment to a second virtual machine environment, comprising: as implemented by one or more processors according to computer-executable instructions: determining a set of migration preferences, the migration preferences corresponding to preferences for prioritization of migration of at least one of a plurality of virtual machine instances operating within the first virtual machine environment; determining a set of power consumption information, each power consumption information including information corresponding to a power consumption associated with one of the plurality of virtual machine instances; determining a migration capacity reflective of network resources available to the first virtual machine environment for migration of virtual machine instances; for each of the plurality of virtual machines, determining a migration priority based at least in part on a portion of the migration capacity required to migrate each virtual machine instance, wherein virtual machine instances that are associated with lower requirements on the migration capacity are associated with a higher migration priority than virtual machine instances that are associated with higher requirements on the migration capacity; modifying the migration priority of each of the plurality of virtual machine instances based at least in part on the determined set of power consumption information and the determined set of migration preferences, wherein virtual machine instances associate with a high power consumption are associated with a higher migration priority than virtual machine instances associate with a lower power consumption; determining, according to the migration priority of each of the plurality of virtual machine instances, a migration schedule for migration of at least a portion the plurality of virtual machine instances, the migration schedule indicating that virtual machine instances with a higher migration priority—are scheduled to be migrated prior to virtual machine instances with a lower migration priority; obtaining a set of migration criteria, the set of migration criteria corresponding to criteria to determine events in which at least a portion of the plurality of virtual machine instances should be migrated from the first virtual machine environment to the second virtual machine environment; determining a migration event based on the obtained migration criteria; in response to the determination of a migration event, transmitting a migration command to at least one device associated with the portion of the plurality of virtual machine instances to cause migration of the portion of the plurality of virtual machine instances according to the migration schedule; and updating at least one migration priority responsive to a modification of migration capacity after migration of at least one of the plurality of virtual machine instances.