Multi-version systems for zero downtime upgrades

US9639448B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9639448-B2
Application numberUS-201313929513-A
CountryUS
Kind codeB2
Filing dateJun 27, 2013
Priority dateJun 27, 2013
Publication dateMay 2, 2017
Grant dateMay 2, 2017

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.

An upgrade procedure for an application system without downtime is presented. The upgrade procedure includes a mix of a rolling upgrade of application servers, shadow systems, and record and replay mechanisms that employ transformation and locking, for the upgrade of the applications on the application system. Application servers are upgraded one after another. A target version of the system is simultaneously added to the original system and a shadow, or target, system. Data changes are not only carried out in the original system, but are also carried out in the target system, so that a customer realizes no downtime for their data requests to the applications.

First claim

Opening claim text (preview).

What is claimed is: 1. A method for upgrading an application system without downtime, the application system having a database and a plurality of original application core servers, the method comprising: creating, by one or more processors, a target system in a database, the target system having a persistence; creating, by one or more processors, a set of target application servers in the target system, the set of target application servers keeping a sum of original application core servers and target servers constant; locking, by one or more processors, each of the plurality of original application core servers to prevent configuration changes to the application system; copying, by one or more processors, configuration data and application data associated with one of the plurality of original application core servers to the persistence associated with the target system, the configuration data and application data remaining accessible from the plurality of original application core servers; running, by one or more processors, each of the set of target application servers after the configuration data and application data associated with an associated one of the plurality of original application core servers is copied and transformed to the persistence associated with the target system; and distributing, by one or more processors, new requests to the application system from each of the plurality of original application core servers to one of the target application servers in the target system, the new requests comprising a request for a singleton exclusive to a target application server of the set of target application servers. 2. The method in accordance with claim 1 , further comprising replicating, by one or more processors, write accesses to the one original application core server to the persistence associated with the target application servers. 3. The method in accordance with claim 2 , further comprising shutting down, by one or more processors, the one original application core server while starting and running the first target application server. 4. The method in accordance with claim 3 , further comprising deleting, by one or more processors, the one original application core server. 5. A non-transitory computer program product comprising a machine-readable medium storing instructions that, when executed by at least one programmable processor, cause the at least one programmable processor to perform operations comprising: creating a target system in a database, the target system having a persistence; creating a set of target application servers in the target system, the set of target application servers keeping a sum of original application core servers and target servers constant; locking each of the plurality of original application core servers to prevent configuration changes to the application system; copying configuration data and application data associated with one of the plurality of original application core servers to the persistence associated with the target system, the configuration data and application data remaining accessible from the plurality of original application core servers; running each of the set of target application servers after the configuration data and application data associated with an associated one of the plurality of original application core servers is copied and transformed to the persistence associated with the target system; and distributing new requests to the application system from each of the plurality of original application core servers to one of the target application servers in the target system, the new requests comprising a request for a singleton exclusive to a target application server of the set of target application servers. 6. The non-transitory computer program product in accordance with claim 5 , further comprising replicating, by one or more processors, write accesses to the one original application core server to the persistence associated with the first target application server. 7. The non transitory computer program product in accordance with claim 6 , further comprising shutting down, by one or more processors, the one original application core server while starting and running the first target application server. 8. The non-transitory computer program product in accordance with claim 7 , further comprising deleting, by one or more processors, the one original application core server. 9. A system comprising: at least one memory; and at least one processor operably coupled to the at least one memory, the at least one processor configured to perform operations comprising: creating a target system in a database, the target system having a persistence; creating a set of target application servers in the target system, the set of target application servers keeping a sum of original application core servers and target servers constant; locking each of the plurality of original application core servers to prevent configuration changes to the application system; copying configuration data and application data associated with one of the plurality of original application core servers to the persistence associated with the target system, the configuration data and application data remaining accessible from the plurality of original application core servers; running each of the set of target application servers after the configuration data and application data associated with an associated one of the plurality of original application core servers is copied and transformed to the persistence associated with the target system; and distributing new requests to the application system from each of the plurality of original application core servers to one of the target application servers in the target system, the new requests comprising a request for a singleton exclusive to a target application server of the set of target application servers. 10. The system in accordance with claim 9 , wherein the operations further comprise replicating write accesses to the one original application core server to the persistence associated with the first target application server. 11. The system in accordance with claim 10 , wherein the operations further comprise shutting down the one original application core server while starting and running the first target application server. 12. The system in accordance with claim 11 , wherein the operations further comprise deleting the one original application core server.

Assignees

Inventors

Classifications

  • G06F11/36Primary

    Prevention of errors by analysis, debugging or testing of software · CPC title

  • Physics · mapped topic

  • G06F8/656Primary

    while running · 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 US9639448B2 cover?
An upgrade procedure for an application system without downtime is presented. The upgrade procedure includes a mix of a rolling upgrade of application servers, shadow systems, and record and replay mechanisms that employ transformation and locking, for the upgrade of the applications on the application system. Application servers are upgraded one after another. A target version of the system is…
Who is the assignee on this patent?
Gebhard Markus, Jahr Andreas, Degenhardt Wolfgang, and 4 more
What technology area does this patent fall under?
Primary CPC classification G06F11/36. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue May 02 2017 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 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).