Upgrading virtual resources
First Claim
1. A computer implemented method for upgrading a multi-tiered application, the computer implemented method comprising:
- responsive to receiving, by a computer, a request to upgrade a multi-tiered application in a plurality of multi-tiered applications located within the computer, selecting, by the computer, an appropriate integrated patch for the upgrade to form a selected integrated patch, wherein the computer includes a plurality of virtual machines, and wherein the multi-tiered application includes a plurality of software components that are deployed across the plurality of virtual machines located within the computer, and wherein a software component within the plurality of software components of the multi-tiered application is shared by other multi-tiered applications in the plurality of multi-tiered applications located within the computer;
upgrading, by the computer, the plurality of software components of the multi-tiered application that are specified in the selected integrated patch, wherein the computer upgrades the plurality of software components by selecting a set of patches within the selected integrated patch that meet specified requirements of the multi-tiered application using a weighted function of minimizing time needed for the upgrading and minimizing service interrupt time;
updating, by the computer, a state of the plurality of software components of the multi-tiered application that were upgraded to form an updated state of the multi-tiered application;
identifying, by the computer, a plurality of patches that meet the specified requirements of the multi-tiered application using labels associated with each patch in the plurality of patches, each label including a set of attributes describing which specified requirement of the multi-tiered application a patch in the plurality of patches fulfills;
determining, by the computer, patch dependency among the software components in the plurality of software components of the multi-tiered application to form a determined patch dependency by using a dependency graph; and
constructing, by the computer, an integrated patch that includes the plurality of patches based on the determined patch dependency among the software components in the plurality of software components of the multi-tiered application.
1 Assignment
0 Petitions
Accused Products
Abstract
Upgrading a multi-tiered application is provided. In response to receiving a request to upgrade a multi-tiered application, wherein components of the multi-tiered application are deployed across a plurality of virtual machines, an appropriate integrated patch is selected for the upgrade. The selected integrated patch includes an integrated set of patches for the components of the multi-tiered application, state update data, and order constraints. The components of the multi-tiered application specified in the selected integrated patch are upgraded by using the integrated set of patches and order constraints. In addition, the state of the components of the multi-tiered application are updated by using the state update data. Then, the updated state of the multi-tiered application is saved to storage.
35 Citations
20 Claims
-
1. A computer implemented method for upgrading a multi-tiered application, the computer implemented method comprising:
-
responsive to receiving, by a computer, a request to upgrade a multi-tiered application in a plurality of multi-tiered applications located within the computer, selecting, by the computer, an appropriate integrated patch for the upgrade to form a selected integrated patch, wherein the computer includes a plurality of virtual machines, and wherein the multi-tiered application includes a plurality of software components that are deployed across the plurality of virtual machines located within the computer, and wherein a software component within the plurality of software components of the multi-tiered application is shared by other multi-tiered applications in the plurality of multi-tiered applications located within the computer; upgrading, by the computer, the plurality of software components of the multi-tiered application that are specified in the selected integrated patch, wherein the computer upgrades the plurality of software components by selecting a set of patches within the selected integrated patch that meet specified requirements of the multi-tiered application using a weighted function of minimizing time needed for the upgrading and minimizing service interrupt time; updating, by the computer, a state of the plurality of software components of the multi-tiered application that were upgraded to form an updated state of the multi-tiered application; identifying, by the computer, a plurality of patches that meet the specified requirements of the multi-tiered application using labels associated with each patch in the plurality of patches, each label including a set of attributes describing which specified requirement of the multi-tiered application a patch in the plurality of patches fulfills; determining, by the computer, patch dependency among the software components in the plurality of software components of the multi-tiered application to form a determined patch dependency by using a dependency graph; and constructing, by the computer, an integrated patch that includes the plurality of patches based on the determined patch dependency among the software components in the plurality of software components of the multi-tiered application. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A computer system for upgrading a multi-tiered application, the computer system comprising:
-
a bus system; a storage device connected to the bus system, wherein the storage device stores a set of instructions; and a processor connected to the bus system, wherein the processor executes the set of instructions to select an appropriate integrated patch for an upgrade of a multi-tiered application in a plurality of multi-tiered applications located within the computer system to form a selected integrated patch in response to the computer system receiving a request to upgrade the multi-tiered application, wherein the computer system includes a plurality of virtual machines, and wherein the multi-tiered application includes a plurality of software components that are deployed across the plurality of virtual machines located within the computer system, and wherein a software component within the plurality of software components of the multi-tiered application is shared by other multi-tiered applications in the plurality of multi-tiered applications located within the computer system;
upgrade the plurality of software components of the multi-tiered application that are specified in the selected integrated patch, wherein the plurality of software components is upgraded by selecting a set of patches within the selected integrated patch that meet specified requirements of the multi-tiered application using a weighted function of minimizing time needed for the upgrade and minimizing service interrupt time;
update a state of the plurality of software components of the multi-tiered application to form an updated state of the multi-tiered application;
identify a plurality of patches that meet the specified requirements of the multi-tiered application using labels associated with each patch in the plurality of patches, each label including a set of attributes describing which specified requirement of the multi-tiered application a patch in the plurality of patches fulfills;
determine patch dependency among the software components in the plurality of software components of the multi-tiered application to form a determined patch dependency by using a dependency graph; and
construct an integrated patch that includes a plurality of patches based on the determined patch dependency among the software components in the plurality of software components of the multi-tiered application.
-
-
15. A computer program product stored on a computer readable storage medium having computer usable program code embodied thereon that is executable by a computer for upgrading a multi-tiered application, the computer program product comprising:
-
computer usable program code for selecting an appropriate integrated patch for an upgrade of a multi-tiered application in a plurality of multi-tiered applications located within the computer to form a selected integrated patch in response to the computer receiving a request to upgrade the multi-tiered application, wherein the computer includes a plurality of virtual machines, and wherein the multi-tiered application includes a plurality of software components that are deployed across the plurality of virtual machines located within the computer, and wherein a software component within the plurality of software components of the multi-tiered application is shared by other multi-tiered applications in the plurality of multi-tiered applications located within the computer; computer usable program code for upgrading the plurality of software components of the multi-tiered application that are specified in the selected integrated patch, wherein the plurality of software components is upgraded by selecting a set of patches within the selected integrated patch that meet specified requirements of the multi-tiered application using a weighted function of minimizing time needed for the upgrading and minimizing service interrupt time; computer usable program code for updating a state of the plurality of software components of the multi-tiered application to form an updated state of the multi-tiered application; computer usable program code for identifying a plurality of patches that meet the specified requirements of the multi-tiered application using labels associated with each patch in the plurality of patches, each label including a set of attributes describing which specified requirement of the multi-tiered application a patch in the plurality of patches fulfills; computer usable program code for determining patch dependency among the software components in the plurality of software components of the multi-tiered application to form a determined patch dependency by using a dependency graph; and computer usable program code for constructing an integrated patch that includes a plurality of patches based on the determined patch dependency among the software components in the plurality of software components of the multi-tiered application. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification