Zero down-time deployment of new application versions

US2016335079A1 · US · A1

Patent metadata
FieldValue
Publication numberUS-2016335079-A1
Application numberUS-201514708862-A
CountryUS
Kind codeA1
Filing dateMay 11, 2015
Priority dateMay 11, 2015
Publication dateNov 17, 2016
Grant date

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.

The disclosure generally describes methods, software, and systems, including a method for application versioning. An updated version of a software component to be executed by an application is received while an instance of the application is executing using an instance of a current version. The updated version is stored with new version information, concurrently with the current version. A request is received for execution of the application that uses the software component. Invoking logic in the application is updated to invoke the software component. The updating includes modifying the invoking logic to invoke the updated version using the updated version information in the invoking logic. The updating causes the invoking logic to invoke, at runtime, the updated version. Instances of the application invoked prior to the receiving and storing continue to execute using the current version. The application is provided for execution, including the updated invoking logic.

First claim

Opening claim text (preview).

What is claimed is: 1 . A method comprising: receiving an updated version of a software component to be executed by an application, where the updated version of the software component is received while an instance of the application is executing using an instance of a current version of the software component; storing the updated version of the software component with new version information, wherein the updated version is stored concurrently with the current version of the software component; receiving a request for execution of the application that uses the software component after storing the updated version of the software component; in response to receiving the request, automatically identifying the new version information of the updated version of the software component; automatically updating, responsive to identifying the new version information invoking logic in the application, the invoking logic configured to invoke the software component, wherein the updating includes modifying the invoking logic to include the new version information of the updated version of the software component in the invoking logic, the updating causing the invoking logic to invoke, at run-time, the updated version of the software component, and wherein instances of the application invoked prior to the receiving and storing of the updated version continue to execute using the current version of the software component; and providing the application, including the updated invoking logic, for execution. 2 . The method of claim 1 , wherein updating the invoking logic includes concatenating a name of the software component with a string representing the new version information. 3 . The method of claim 1 , wherein updating the invoking logic includes replacing a name of the software component in the invoking logic with a new name of the software component associated with the updated version information. 4 . The method of claim 1 , wherein the version information includes one or more of version identifiers selected from a group comprising a timestamp, a version number, a test/production indicator, and a development path identifier. 5 . The method of claim 1 , further comprising: determining that the instances of the application invoked prior to the receiving and storing of the updated version using the current version of the software component are no longer executing; and deleting, disabling, or archiving the current version of the software component, based on the determining. 6 . The method of claim 1 , wherein the software component is a stored procedure. 7 . The method of claim 6 , wherein the stored procedure has multiple versions, each with different version information, and wherein the method further comprises: managing the multiple versions of the stored procedure to prevent an occurrence of consistency issues associated with the multiple versions; and supporting development of applications using a name of the software component without a developer knowledge of version information. 8 . The method of claim 1 , wherein the software component is a method, a procedure, or a subroutine. 9 . The method of claim 1 , wherein the updated version of a software component and the current version of the software component are stored in a common database. 10 . A system comprising: a memory storing: a software components library including information for components associated with plural applications; and an application for: receiving an updated version of a software component to be executed by an application, where the updated version of the software component is received while an instance of the application is executing using an instance of a current version of the software component; storing the updated version of the software component with new version information, wherein the updated version is stored concurrently with the current version of the software component; receiving a request for execution of the application that uses the software component after storing the updated version of the software component; in response to receiving the request, automatically identifying the new version information of the updated version of the software component; automatically updating, responsive to identifying the new version information, invoking logic in the application, the invoking logic configured to invoke the software component, wherein the updating includes modifying the invoking logic to invoke include the new version information of the updated version of the software component in the invoking logic, the updating causing the invoking logic to invoke, at run-time, the updated version of the software component, and wherein instances of the application invoked prior to the receiving and storing of the updated version continue to execute using the current version of the software component; and providing the application, including the updated invoking logic, for execution. 11 . The system of claim 10 , wherein updating the invoking logic includes concatenating a name of the software component with a string representing the new version information. 12 . The system of claim 10 , wherein updating the invoking logic includes replacing a name of the software component in the invoking logic with a new name of the software component associated with the updated version information. 13 . The system of claim 10 , wherein the version information includes one or more of version identifiers selected from a group comprising a timestamp, a version number, a test/production indicator, and a development path identifier. 14 . The system of claim 10 , the application further comprising: determining that the instances of the application invoked prior to the receiving and storing of the updated version using the current version of the software component are no longer executing; and deleting, disabling, or archiving the current version of the software component, based on the determining. 15 . The system of claim 10 , wherein the software component is a stored procedure. 16 . A non-transitory computer-readable media encoded with a computer program, the program comprising instructions that when executed by one or more computers cause the one or more computers to perform operations comprising: receiving an updated version of a software component to be executed by an application, where the updated version of the software component is received while an instance of the application is executing using an instance of a current version of the software component; storing the updated version of the software component with new version information, wherein the updated version is stored concurrently with the current version of the software component; receiving a request for execution of the application that uses the software component after storing the updated version of the software component; in response to receiving the request, automatically identifying the new version information of the updated version of the software component; automatically updating, responsive to identifying the new version information invoking logic in the application, the invoking logic configured to invoke the software component, wherein the updating includes modifying the invoking logic to include the new version information of the updated version of the software component in the invoking logic, the updating causing the invoking logic to invoke, at run-time, the updated version of the software component, and wherein instances of the application invoked prior to the receiving and storing of the updated version continue to execute us

Assignees

Inventors

Classifications

  • G06F8/67Primary

    Physics · mapped topic

  • Version control (security arrangements therefor G06F21/57); Configuration management · CPC title

  • G06F8/656Primary

    while running · CPC title

  • G06F8/65Primary

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

  • Updating · 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 US2016335079A1 cover?
The disclosure generally describes methods, software, and systems, including a method for application versioning. An updated version of a software component to be executed by an application is received while an instance of the application is executing using an instance of a current version. The updated version is stored with new version information, concurrently with the current version. A requ…
Who is the assignee on this patent?
Sap Portals Israel Ltd
What technology area does this patent fall under?
Primary CPC classification G06F8/67. Mapped technology areas include Physics.
When was this patent published?
Publication date Thu Nov 17 2016 00:00:00 GMT+0000 (Coordinated Universal Time) (A1). 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).