Effective migration and upgrade of virtual machines in cloud environments

US9459856B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9459856-B2
Application numberUS-201313732952-A
CountryUS
Kind codeB2
Filing dateJan 2, 2013
Priority dateJan 2, 2013
Publication dateOct 4, 2016
Grant dateOct 4, 2016

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A mechanism is provided in a data processing system for performing a system upgrade. Responsive to receiving selection of one or more virtual machines to upgrade with an upgrade package, the mechanism identifies a plurality of upgrade phases. The mechanism configures the plurality of upgrade phases and generates a pre-upgrade snapshot of each of the one or more virtual machines. The mechanism performs each upgrade phase in the plurality of upgrade phases to form an upgraded virtual machine and performs one or more upgrade validation tests on the upgraded virtual machine. Responsive to the one or more upgrade validation tests succeeding, the mechanism reverts back to the pre-upgrade snapshot.

First claim

Opening claim text (preview).

What is claimed is: 1. A method, in a data processing system, for performing a system upgrade, the method comprising: receiving selection of a computing environment to upgrade with an upgrade package, wherein the upgrade package is configured to perform an upgrade on one or more software applications in the computing environment; discovering application dependencies for the upgrade in the computing environment; configuring a plurality of upgrade phases based on the application dependencies; selecting one or more upgrade validation tests for the upgrade package based on applications to be upgraded of the computing environment and the application dependencies, wherein the one or more upgrade validation tests are specific for the selected computing environment; generating a pre-upgrade snapshot of the computing environment; performing each upgrade phase in the plurality of upgrade phases to form an upgraded computing environment and performing the one or more upgrade validation tests on the upgraded computing environment, wherein each phase is validated before processing to a next phase in the plurality of upgrade phases; and responsive to a given upgrade validation test failing for a given virtual machine in the computing environment, reverting the given virtual machine back to the pre-upgrade snapshot without human intervention. 2. The method of claim 1 , wherein the one or more upgrade validation tests comprise one or more environment specific tests imported from a customer or administrator via an application programming interface. 3. The method of claim 1 , wherein receiving selection of the computing environment to upgrade comprises receiving a selection of a single virtual machine, a plurality of selected virtual machines, or an enterprise wide upgrade. 4. The method of claim 3 , further comprising responsive to receiving selection of an enterprise wide upgrade for an enterprise, connecting to a master image of all machines in the enterprise. 5. The method of claim 1 , further comprising: responsive to the given upgrade validation test failing for the given virtual machine in the computing environment, sending a status notification to an administrator or interested party. 6. The method of claim 1 , further comprising: responsive to the given upgrade validation test failing for the given virtual machine in the computing environment, generating an upgrade snapshot of the upgraded given virtual machine to be diagnosed. 7. The method of claim 1 , wherein performing a given upgrade phase in the plurality of upgrade phases comprises: stopping application processes on a given virtual machine in the computing environment that must be stopped before the given upgrade phase can be performed; performing an upgrade on one or more software applications on the given virtual machine to form an upgraded virtual machine; starting software applications that must be started for validation; and performing the one or more upgrade validation tests on the upgraded virtual machine. 8. The method of claim 7 , wherein performing a given upgrade phase in the plurality of upgrade phases further comprises: responsive to the one or more upgrade validation tests passing, restarting the application processes; and managing upgrade data and snapshots created during the given upgrade phase. 9. The method of claim 1 , wherein performing the one or more upgrade validation tests on the upgraded computing environment comprises gathering test data for the one or more upgrade validation tests. 10. The method of claim 1 , wherein the application dependencies comprise runtime dependencies, software prerequisites, and software products impacted by the upgrade in the computing environment. 11. A computer program product comprising a non-transitory computer readable storage medium having a computer readable program stored therein, wherein the computer readable program, when executed on a computing device, causes the computing device to: receive selection of a computing environment to upgrade with an upgrade package, wherein the upgrade package is configured to perform an upgrade on one or more software applications in the computing environment; discover application dependencies for the upgrade in the computing environment; configure a plurality of upgrade phases based on the application dependencies; selecting one or more upgrade validation test for the upgrade package based on applications to be upgraded of the computing environment and the application dependencies, wherein the one or more upgrade validation tests are specific for the selected computing environment; generate a pre-upgrade snapshot of the computing environment; perform each upgrade phase in the plurality of upgrade phases to form an upgraded computing environment and perform the one or more upgrade validation tests on the upgraded computing environment, wherein each phase is validated before processing to a next phase in the plurality of upgrade phases; and responsive to a given upgrade validation test failing for a given virtual machine in the computing environment, revert the given virtual machine back to the pre-upgrade snapshot without human intervention. 12. The computer program product of claim 11 , wherein the one or more upgrade validation tests comprise one or more environment specific tests imported from a customer or administrator via an application programming interface. 13. The computer program product of claim 11 , wherein receiving selection of the computing environment to upgrade comprises receiving a selection of a single virtual machine, a plurality of selected virtual machines, or an enterprise wide upgrade. 14. The computer program product of claim 11 , wherein the computer readable program further causes the computing device to: responsive to a given upgrade validation test failing for a given virtual machine in the computing environment, send a status notification to an administrator or interested party. 15. The computer program product of claim 11 , wherein performing a given upgrade phase in the plurality of upgrade phases comprises: stopping application processes on a given virtual machine in the computing environment that must be stopped before the given upgrade phase can be performed; performing an upgrade on one or more software applications cm the given virtual machine to form an upgraded virtual machine; stating software applications that must be started for validation; and performing the one or more upgrade validation tests on the upgraded virtual machine. 16. The computer program product of claim 15 , wherein performing given upgrade phase in the plurality of upgrade phases further comprises; responsive to the one or more upgrade validation tests passing, restarting the application processes; and managing upgrade data and snapshots created during the given upgrade phase. 17. The computer program product of claim 11 , wherein the application dependencies comprise runtime dependencies, software prerequisites, and software products impacted by the upgrade in the computing environment. 18. An apparatus, comprising: a hardware processor; and a memory coupled to the processor, wherein the memory comprises instructions which, when executed by the processor, cause the processor to: receive selection of a computing environment to upgrade with an upgrade package, wherein the upgrade package is configured to perform an upgrade on one or more software applications in the computing environment; discover application dependencies for the upgrade in the computing environment;

Assignees

Inventors

Classifications

  • G06F8/65Primary

    Updates (security arrangements therefor G06F21/57) · CPC title

  • Hypervisors; Virtual machine monitors · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9459856B2 cover?
A mechanism is provided in a data processing system for performing a system upgrade. Responsive to receiving selection of one or more virtual machines to upgrade with an upgrade package, the mechanism identifies a plurality of upgrade phases. The mechanism configures the plurality of upgrade phases and generates a pre-upgrade snapshot of each of the one or more virtual machines. The mechanism p…
Who is the assignee on this patent?
IBM
What technology area does this patent fall under?
Primary CPC classification G06F8/65. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Oct 04 2016 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).