Zero downtime mechanism for software upgrade of a distributed computer system

US9229707B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9229707-B2
Application numberUS-33767508-A
CountryUS
Kind codeB2
Filing dateDec 18, 2008
Priority dateDec 18, 2008
Publication dateJan 5, 2016
Grant dateJan 5, 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.

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.

First claim

Opening claim text (preview).

What is claimed is: 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. The method of claim 1 , wherein receiving the software update comprises: in response to receiving the software update, creating a backup copy of the first instance of the cluster comprising the plurality of software components running on the application server node of the first instance of the cluster. 3. The method of claim 1 , wherein receiving the software update comprises: identifying the one or more software components from the plurality of software components running on the plurality of application server nodes of the cluster; and in response to receiving the software update, ensuring a copy of an original installation of the identified one or more software components, the original installation comprises a current version of the one or more software components. 4. The method of claim 1 , wherein redirecting the execution in progress of the partially executed service request from the first instance to the second instance of the cluster comprises: storing a user session to the public store by a session manager of the first instance of the cluster, the user session keeps a current state of the execution in progress of the partially executed service request redirected from the first instance to the second instance of the cluster; reading the user session from the public store by a session manager of the second instance of the cluster; and proceeding with the execution in progress of the partially executed service request redirected from the first instance of the cluster to the second instance of the cluster on the second cluster instance from the current state of the stored user session. 5. The method of claim 1 , wherein applying the software update to the installation of the one or more software components running on the application server node of the first instance of the cluster comprises: applying one or more software upgrades to binary data of the one or more software components, the binary data is stored in the public store; and synchronizing the installation of the one or more software components running on the application server node of the first instance of the cluster with the upgraded binary data 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. 6. The method of claim 1 , wherein applying the software update to the installation of the one or more software components running on the application server node of the first instance of the cluster comprises: processing a test service request at the installation of the upgraded one or more software components at the upgraded first instance of the cluster 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; and approving the software update or rolling back the software update at the upgraded first instance of the cluster, according to the result of the processing of the test service request. 7. The method of claim 5 , wherein applying the software update to the installation of the one or more software components running on the application server node of the second instance of the cluster comprises: synchronizing the installation of the one or more software components running on the application server node of the second instance of the cluster with the upgraded binary data 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. 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;

Assignees

Inventors

Classifications

  • Physics · mapped topic

  • G06F8/65Primary

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

  • G06F8/67Primary

    Physics · mapped topic

  • G06F8/656Primary

    while running · CPC title

  • Incremental updates; Differential updates · 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 US9229707B2 cover?
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 instan…
Who is the assignee on this patent?
Borissov Lazar, Brodkorb Thomas, Driesen Volker, and 4 more
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 Jan 05 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).