Zero down-time deployment of new application versions
First Claim
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 for execution of the application that uses the software component after storing the updated version of the software component, 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, wherein updating the invoking logic includes concatenating a name of the software component with a string representing the new version information, 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.
1 Assignment
0 Petitions
Accused Products
Abstract
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.
58 Citations
17 Claims
-
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 for execution of the application that uses the software component after storing the updated version of the software component, 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, wherein updating the invoking logic includes concatenating a name of the software component with a string representing the new version information, 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. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. 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 for execution of the application that uses the software component after storing the updated version of the software component, 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, wherein updating the invoking logic includes concatenating a name of the software component with a string representing the new version information, 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. - View Dependent Claims (10, 11, 12, 13)
-
-
14. 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 for execution of the application that uses the software component after storing the updated version of the software component, 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, wherein updating the invoking logic includes concatenating a name of the software component with a string representing the new version information, 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. - View Dependent Claims (15, 16, 17)
-
Specification