Virtual machine migration
US-9727363-B2 · Aug 8, 2017 · US
US2018349166A1 · US · A1
| Field | Value |
|---|---|
| Publication number | US-2018349166-A1 |
| Application number | US-201715610656-A |
| Country | US |
| Kind code | A1 |
| Filing date | Jun 1, 2017 |
| Priority date | Jun 1, 2017 |
| Publication date | Dec 6, 2018 |
| Grant date | — |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
Some embodiments of the invention provide a novel method of migrating virtualized computing instances (VCIs) that implement a multi-node application. The method may identify a plurality of VCIs that implement a multi-node application, each of the plurality of VCIs being executed on a respective source host, and may identify a role performed by each VCI of the identified plurality of VCIs. The method may also generate a plurality of batches, each batch of the plurality of batches including a set of the identified plurality of VCIs selected based on the identified role of each of the VCIs, and generate a migration sequence comprising an ordered sequence of the plurality of batches. The method may migrate the identified plurality of VCIs from its respective source host to a respective destination host according to the migration sequence.
Opening claim text (preview).
What is claimed is: 1 . A computer-implemented method of migrating virtualized computing instances (VCIs) that implement a logical multi-node application, the method comprising: identifying a plurality of VCIs that implement a logical multi-node application, each of the plurality of VCIs being executed on a respective source host; identifying a role performed by each VCI of the identified plurality of VCIs; generating a plurality of batches, each batch of the plurality of batches including a set of the identified plurality of VCIs selected based on the identified role of each of the VCIs; generating a migration sequence comprising an ordered sequence of the plurality of batches, and migrating the identified plurality of VCIs from its respective source host to a respective destination host according to the migration sequence. 2 . A method according to claim 1 , wherein the step of generating the plurality of batches comprises selecting the set of identified VCIs included in each batch of the plurality of batches based on a migration goal intended to prevent outage of the logical multi-node application during the migrating of the identified plurality of VCIs. 3 . A method according to claim 2 , wherein the selecting the set of identified VCIs included in each batch of the plurality of batches comprises: selecting a first role from amongst the roles performed by the plurality of VCIs that is to be started first on a destination host during the migrating of the identified plurality of VCIs, and including at least one of the identified VCIs that performs the first role in a first batch of the migration sequence. 4 . A method according to claim 3 , wherein the first role comprises: a role amongst the roles performed by the plurality of VCIs that is a destination of most connections between the roles of the logical multi-node application, or a role amongst the roles performed by the plurality of VCIs found to cause a majority of errors within the logical multi-node application, or a role amongst the roles performed by the plurality of VCIs that is slowest to become fully operational after being started, or a role amongst the roles performed by the plurality of VCIs that is relatively large in size, or a role amongst the roles performed by the plurality of VCIs that has relatively high processor and/or memory usage. 5 . A method according to claim 2 , wherein the selecting the set of identified VCIs included in each batch of the plurality of batches comprises: selecting a last role from amongst the roles performed by the plurality of VCIs that is to be started last on a destination host during the migrating of the identified plurality of VCIs, and including at least one of the identified VCIs that performs the last role in a last batch of the migration sequence. 6 . A method according to claim 5 , wherein the last role comprises: a role amongst the roles performed by the plurality of VCIs that functions as an input-point for the logical multi-node application, or a role amongst the roles performed by the plurality of VCIs where processing of a user or client request terminates, or a role amongst the roles performed by the plurality of VCIs that functions as a source of a greatest number of connections between the roles of the logical multi-node application, or a role amongst the roles performed by the plurality of VCIs found to cause a minority of errors within the logical multi-node application, a role amongst the roles performed by the plurality of VCIs that is fastest to become fully operational after being migrated, or a role amongst the roles performed by the plurality of VCIs that is relatively small in size, or a role amongst the roles performed by the plurality of VCIs that has relatively low processor and/or memory usage. 7 . A method according to claim 2 , wherein the selecting the set of identified VCIs included in the first batch of the plurality of batches comprises selecting at least one identified VCI that performs each of the roles of the logical multi-node application. 8 . A method according to claim 2 , wherein the selecting the set of identified VCIs included in the first batch of the plurality of batches comprises: selecting a number of VCIs that perform each of the roles of the logical multi-node application for inclusion in at least one batch of the plurality of batches, wherein the selected number corresponds proportionally to a total number of the VCIs that perform each of the roles in the logical multi-node application. 9 . A method according to claim 1 , wherein the step of generating the plurality of batches comprises selecting the set of identified VCIs included in each batch of the plurality of batches based on a migration goal intended to migrate one or more of the identified plurality of VCIs from its respective source host to a respective destination host that has a relatively lower running cost. 10 . A method according to claim 1 , further comprising: generating an updated plurality of batches, each batch of the updated plurality of batches including a set of the identified plurality of VCIs not yet migrated to the respective destination host selected based on the identified role of each of the VCIs; generating an updated migration sequence comprising an ordered sequence of the updated plurality of batches, and migrating each of the identified plurality of VCIs not yet migrated to the respective destination host from its respective source host to its respective destination host according to the updated migration sequence. 11 . A method according to claim 10 , wherein the step of generating the updated plurality of batches is performed in response to a detected change in an environment or network including the source host and/or the destination host that executes at least one VCI of the identified plurality of VCIs. 12 . A method according to claim 11 , wherein the detected change comprises: a change in bandwidth capacity between one or more of the source host and the destination host, or a change in usage intensity of a processor of the source host, or a change in a running cost of the source host and/or the destination host, or a change in a cost associated with the migrating of the identified plurality of VCIs. 13 . A method according to claim 12 , wherein the step of generating the updated plurality of batches comprises increasing or decreasing a number of VCIs being executed on the processor experiencing the change in usage intensity included in at least a current batch of the updated plurality of batches. 14 . A method according to claim 1 , further comprising: determining whether the VCIs migrated to the respective destination hosts are sufficient to allow safe execution of the logical multi-node application using at least some of the VCIs migrated to the respective destination hosts, and starting the VCIs migrated to the respective destination hosts based on the determination. 15 . A method according to claim 14 , further comprising diverting traffic destined for the at least some VCIs started on the respective destination hosts from the respective source hosts to the respective destination hosts. 16 . A method according to claim 15 , further comprising starting, on the respective destination hosts, at least some others of the VCIs migrated to the respective destination hosts after the at least some VCIs have been started on the destination hosts. 17 . A method according to claim 1 , further comprising stopping the migrating of one of the identified plurality of VCIs f
Distribution of virtual machine instances; Migration and load balancing · CPC title
Hypervisor-specific management and integration aspects · CPC title
involving task migration · CPC title
Techniques for rebalancing the load in a distributed system · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.