Zero downtime mechanism for software upgrade of a distributed computer system
First Claim
1. A computer implemented method for zero downtime software upgrade of a distributed computer system, the method comprising:
- receiving a software update for upgrading one or more software components of a plurality of software components running on a plurality of application server nodes of a plurality of instances of a cluster, wherein each instance of the plurality of instances of the cluster runs at least one application server node of the plurality of application server nodes;
redirecting one or more service requests from a first instance of the cluster to a second instance of the cluster for an execution, wherein the one or more service requests are executed by the plurality of software components;
redirecting an execution in progress of a partially executed service request from the first instance of the cluster to the second instance of the cluster, wherein the execution in progress proceeds from a state that is saved on a public store by the first instance of the cluster;
applying the software update to an installation of the one or more software components running on an application server node of the first instance of the cluster, wherein the software update is applied in parallel to the execution of the one or more service requests and with the proceeding execution in progress of the partially executed service request redirected from the first instance to the second instance of the cluster;
redirecting at least one service request from the second instance of the cluster to the upgraded first instance of the cluster for an execution;
redirecting an execution in progress of a partially executed service request from the second instance of the cluster to the upgraded first instance of the cluster, wherein the execution in progress proceeds at the upgraded first instance of the cluster from a state that is saved on the public store by the second instance of the cluster; and
applying the software update to an installation of the one or more software components running on an application server node of the second instance of the cluster, wherein the software update is applied in parallel to the execution of the at least one service request and with the proceeded execution in progress of the partially executed service request redirected from the second instance to the upgraded first instance of the cluster.
2 Assignments
0 Petitions
Accused Products
Abstract
In a distributed computer system with cluster architecture, a number of service requests are redirected from a first instance of the cluster to a second instance of the cluster for execution. A software patch is applied to one or more software components running on an application server node of the first instance of the cluster. A number of service requests are redirected from the second instance of the cluster to the first instance of the cluster for execution. The software patch is applied on the one or more software components running on an application server node of the second instance of the cluster. A number of new service requests are directed to the upgraded second instance of the cluster for processing.
81 Citations
17 Claims
-
1. A computer implemented method for zero downtime software upgrade of a distributed computer system, the method comprising:
-
receiving a software update for upgrading one or more software components of a plurality of software components running on a plurality of application server nodes of a plurality of instances of a cluster, wherein each instance of the plurality of instances of the cluster runs at least one application server node of the plurality of application server nodes; redirecting one or more service requests from a first instance of the cluster to a second instance of the cluster for an execution, wherein the one or more service requests are executed by the plurality of software components; redirecting an execution in progress of a partially executed service request from the first instance of the cluster to the second instance of the cluster, wherein the execution in progress proceeds from a state that is saved on a public store by the first instance of the cluster; applying the software update to an installation of the one or more software components running on an application server node of the first instance of the cluster, wherein the software update is applied in parallel to the execution of the one or more service requests and with the proceeding execution in progress of the partially executed service request redirected from the first instance to the second instance of the cluster; redirecting at least one service request from the second instance of the cluster to the upgraded first instance of the cluster for an execution; redirecting an execution in progress of a partially executed service request from the second instance of the cluster to the upgraded first instance of the cluster, wherein the execution in progress proceeds at the upgraded first instance of the cluster from a state that is saved on the public store by the second instance of the cluster; and applying the software update to an installation of the one or more software components running on an application server node of the second instance of the cluster, wherein the software update is applied in parallel to the execution of the at least one service request and with the proceeded execution in progress of the partially executed service request redirected from the second instance to the upgraded first instance of the cluster. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. An article of manufacture comprising a non-transitory computer readable storage medium having computer readable instructions stored thereon for execution by a processor to perform a method, the method comprising:
-
preparing a software patch for upgrading one or more software components of a plurality of software components running on a plurality of application server nodes of a plurality of instances of a cluster, wherein each instance of the plurality of instances of the cluster runs at least one application server node of the plurality of application server nodes; redirecting one or more service requests from a first instance of the cluster to a second instance of the cluster for an execution, wherein the plurality of service requests are executed by the plurality of software components; redirecting an execution in progress of a partially executed service request from the first instance of the cluster to the second instance of the cluster, wherein the execution in progress proceeds from a state that is saved on a public store by the first instance of the cluster; and applying the software patch to an installation of the one or more software components running on an application server node of the first instance of the cluster, wherein the software patch is applied in parallel to the execution of the one or more service requests and with the proceeding execution in progress of the partially executed service request redirected from the first instance to the second instance of the cluster; redirecting at least one service request from the second instance of the cluster to the upgraded first instance of the cluster for an execution; redirecting an execution in progress of a partially executed service request from the second instance of the cluster to the upgraded first instance of the cluster, wherein the execution in progress redirected from the second instance to the upgraded first instance of the cluster proceeds at the upgraded first instance of the cluster from a state that is saved on the public store by the second instance of the cluster; and applying the software patch to the installation of the one or more software components running on an application server node of the second instance of the cluster, wherein the software patch is applied in parallel to the execution of the at least one service request and with the proceeding execution in progress of the partially executed service request redirected from the second instance to the upgraded first instance of the cluster. - View Dependent Claims (9, 10, 11)
-
-
12. A computer system providing zero downtime software upgrade of a distributed computer environment, the system comprising
a memory to store computer executable instructions available at a first instance of a cluster in the distributed computer environment; - and
a processor at the first instance of the cluster coupled to the memory and operable to execute the instructions to; receive an upgrade for at least one software component of a plurality of software components running on a plurality of server nodes of a plurality of instances of the cluster, wherein each instance of the plurality of instances of the cluster runs at least one application server node of the plurality of application server nodes, redirect one or more service requests from a first instance of the cluster to a second instance of the cluster for execution, wherein the one or more service requests are executed by the plurality of software components, redirect an execution in progress of a partially executed service request from the first instance of the cluster to the second instance of the cluster, wherein the execution in progress proceeds from a state that is saved on a public store by the first instance of the cluster, apply the upgrade to an installation of the at least one software component running on an application server node of the first instance of the cluster, wherein the upgrade is applied in parallel with the execution of the one or more service requests and the proceeded execution in progress of the partially executed service request redirected from the first instance to the second instance of the cluster, redirect at least one service request from the second instance of the cluster to the upgraded first instance of the cluster for execution, redirect an execution in progress of a partially executed service request from the second instance of the cluster to the upgraded first instance of the cluster, wherein the execution in progress proceeds at the upgraded first instance of the cluster from a state that is saved on the public store by the second instance of the cluster, and apply the upgrade to an installation of the at least one software component running on an application server node of the second instance of the cluster, wherein the upgrade is applied in parallel with the execution of the at least one service request and the proceeded execution in progress of the partially executed service request redirected from the second instance to the upgraded first instance of the cluster. - View Dependent Claims (13, 14, 15, 16, 17)
- and
Specification