Outdated resource handling and multiple-version upgrade of cloud software
First Claim
Patent Images
1. A method comprising:
- receiving, by a controller, a request to execute an upgrade of a resource at a particular cluster node in a cloud, wherein the upgrade is for a conversion of the resource from an initial version to a final version;
responsive to receiving the request, determining, by the controller, if the resource is in an outdated state; and
if the resource is determined to be in the outdated state;
flagging, by the controller, the resource;
executing an instruction, by the controller, to prevent communication from the resource to other cluster nodes in the cloud;
determining, by the controller, if a multiple-version upgrade is required to update the resource from the initial version to the final version;
using upgrade metadata of the resource to split up the multiple-version upgrade into previously defined and tested upgrade paths from the initial version to the final version;
designating the previously defined and tested upgrade paths within a conversion matrix;
determining one or more intermediate paths for the conversion using the conversion matrix;
selecting, using the conversion matrix, an intermediate path from the one or more intermediate paths for the multiple-version upgrade;
executing the multiple-version upgrade, by the controller, by first converting the initial version of the resource to one or more interim versions, via the selected intermediate path, and subsequently converting from the one or more interim versions to the final version; and
concealing, from an end user, conversions through the one or more interim versions to the final version.
6 Assignments
0 Petitions
Accused Products
Abstract
A system and method for seamlessly and automatically handling outdated resources in a cloud and/or performing a multiple-version upgrade within the cloud with little visibility of interim operations to end users are presented. Mechanisms ensure that outdated resources do not communicate with the rest of the cloud (for example, via distributed data models and Application Programming Interfaces (APIs) before they are upgraded to a target software level. A multiple-version upgrade is implemented in the cloud by a single upgrade operation, by which internal paths for upgrading through various interim versions of software are concealed from end users of the cloud.
30 Citations
24 Claims
-
1. A method comprising:
-
receiving, by a controller, a request to execute an upgrade of a resource at a particular cluster node in a cloud, wherein the upgrade is for a conversion of the resource from an initial version to a final version; responsive to receiving the request, determining, by the controller, if the resource is in an outdated state; and if the resource is determined to be in the outdated state; flagging, by the controller, the resource; executing an instruction, by the controller, to prevent communication from the resource to other cluster nodes in the cloud; determining, by the controller, if a multiple-version upgrade is required to update the resource from the initial version to the final version; using upgrade metadata of the resource to split up the multiple-version upgrade into previously defined and tested upgrade paths from the initial version to the final version; designating the previously defined and tested upgrade paths within a conversion matrix; determining one or more intermediate paths for the conversion using the conversion matrix; selecting, using the conversion matrix, an intermediate path from the one or more intermediate paths for the multiple-version upgrade; executing the multiple-version upgrade, by the controller, by first converting the initial version of the resource to one or more interim versions, via the selected intermediate path, and subsequently converting from the one or more interim versions to the final version; and concealing, from an end user, conversions through the one or more interim versions to the final version. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A system comprising:
-
a processor; and memory storing instructions that, when executed by the processor, cause the processor to; receive a request to execute an upgrade of resources at a particular cluster node in a cloud, wherein the upgrade is for conversion of the resources from an initial version to a final version; responsive to receiving the request, determine if any one of the resources is in an outdated state; flag a particular resource that is determined to be in the outdated state; execute instructions to prevent communications from the resource determined to be in the outdated state to other cluster nodes in the cloud; determine if a multiple-version upgrade is required to update the resource determined to be in the outdated state from the initial version to the final version; use upgrade metadata of the resource to split up the multiple-version upgrade into previously defined and tested upgrade paths from the initial version to the final version; determine one or more paths for upgrading to the final version using a conversion matrix; select an intermediate upgrade path from the one or more paths for upgrading to the final versions for the multiple-version upgrade; and execute the multiple-version upgrade using the intermediate upgrade path for conversion from the initial version to the final version via at least one interim version, wherein the intermediate upgrade path is distinct from a displayed upgrade path visible to an end user. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
-
17. A computer program product comprising a non-transitory computer useable medium including a computer readable program, wherein the computer readable program when executed on a computer causes the computer to:
-
receive a request to execute an upgrade of resources at a particular cluster node in a cloud, wherein the upgrade is for conversion of the resources from an initial version to a final version; responsive to receiving the request, determine if any one of the resources is in an outdated state; flag a particular resource that is determined to be in the outdated state; execute instructions to prevent communications from the particular resource determined to be in the outdated state to other cluster nodes in the cloud; determine if a multiple-version upgrade is required to update the particular resource determined to be in the outdated state from the initial version to the final version; use upgrade metadata of the particular resource determined to be in the outdated state to split up the multiple-version upgrade into previously defined and tested upgrade paths from the initial version to the final version; designate the previously defined and tested upgrade paths within a conversion matrix; determine one or more paths for upgrading to the final version, including identifying one or more intermediate upgrade paths for the conversion using the conversion matrix; select an intermediate upgrade path from the one or more intermediate upgrade paths for the multiple-version upgrade; and execute the multiple-version upgrade using the intermediate upgrade path for conversion from the initial version to the final version via at least one interim version, wherein the intermediate upgrade path is distinct from a displayed upgrade path visible to an end user. - View Dependent Claims (18, 19, 20, 21, 22, 23)
-
-
24. A system comprising:
-
means for receiving a request to execute an upgrade of a resource at a particular cluster node in a cloud, the upgrade for conversion of the resource from an initial version to a final version; means for determining, responsive to receiving the request, if the resource is in an outdated state; responsive to determining that the resource is in the outdated state; means for flagging the resource; means for executing an instruction to prevent communication from the resource to other cluster nodes in the cloud; means for determining if a multiple-version upgrade is required to update the resource from the initial version to the final version; means for designating previously defined and tested upgrade paths within a conversion matrix; means for using upgrade metadata of the resource to split up the multiple-version upgrade into the previously defined and tested upgrade paths from the initial version to the final version; means for determining one or more intermediate paths for the conversion using a conversion matrix based on previously defined and tested upgrade paths from the initial version to the final version; means for selecting an intermediate path from the one or more intermediate paths for the multiple-version upgrade; means for executing the multiple-version upgrade by first converting the initial version of the resource to one or more interim versions, via the intermediate path, and subsequently converting from the one or more interim versions to the final version; and means for concealing, from an end user, conversions through the one or more interim versions to the final version.
-
Specification