Timing report framework for distributed software upgrades
First Claim
Patent Images
1. A method comprising:
- executing a first upgrade process on a first host machine for upgrading a first software application on the first host machine;
executing a second upgrade process on a second host machine for upgrading a second software application on the second host machine;
storing, by the first upgrade process, first data in a shared storage, the first data indicative of a status of the first upgrade process;
storing, by the second upgrade process, second data in the shared storage, the second data indicative of a status of the second upgrade process;
reading, by a data processing system, the first data and the second data from the shared storage;
generating, by the data processing system, a report based upon the first data and the second data read from the shared storage, the report comprising timing information associated with the execution of the first upgrade process on the first host machine and the execution of the second upgrade process on the second host machine, wherein the timing information includes a total execution time of the first upgrade process and a time that the first upgrade process spent waiting on the second upgrade process, wherein the time that the first upgrade process spent waiting on the second upgrade process is determined by subtracting a first time from a second time, wherein the first time is a time that the first process started to wait for the second upgrade process, and wherein the second time is a time associated with generating the report; and
communicating the report to a user.
1 Assignment
0 Petitions
Accused Products
Abstract
Techniques for concurrently upgrading one or more software applications hosted by one or multiple hosts. Checkpoint data associated with the upgrade processes executing on the multiple hosts may be generated during the overall upgrade operation. The checkpoint data may be stored in a shared storage that can be accessed by the upgrade processes. A reporting tool may generate a timing report using the checkpoint data. The timing report may indicate execution timing data of all hosts executing the upgrade processes such as the total time spent for each upgrade process, when an upgrade process started execution, when an upgrade process stopped and/or completed execution, and the like.
58 Citations
22 Claims
-
1. A method comprising:
-
executing a first upgrade process on a first host machine for upgrading a first software application on the first host machine; executing a second upgrade process on a second host machine for upgrading a second software application on the second host machine; storing, by the first upgrade process, first data in a shared storage, the first data indicative of a status of the first upgrade process; storing, by the second upgrade process, second data in the shared storage, the second data indicative of a status of the second upgrade process; reading, by a data processing system, the first data and the second data from the shared storage; generating, by the data processing system, a report based upon the first data and the second data read from the shared storage, the report comprising timing information associated with the execution of the first upgrade process on the first host machine and the execution of the second upgrade process on the second host machine, wherein the timing information includes a total execution time of the first upgrade process and a time that the first upgrade process spent waiting on the second upgrade process, wherein the time that the first upgrade process spent waiting on the second upgrade process is determined by subtracting a first time from a second time, wherein the first time is a time that the first process started to wait for the second upgrade process, and wherein the second time is a time associated with generating the report; and communicating the report to a user. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A system comprising:
-
one or more processors; and a memory coupled with and readable by the one or more processors, the memory configured to store a set of instructions which, when executed by the one or more processors, causes the one or more processors to; execute a first upgrade process on a first host machine for upgrading a first software application on the first host machine; execute a second upgrade process on a second host machine for upgrading a second software application on the second host machine; store, by the first upgrade process, first data in a shared storage, the first data indicative of a status of the first upgrade process; store, by the second upgrade process, second data in the shared storage, the second data indicative of a status of the second upgrade process; read the first data and the second data from the shared storage; generate a report based upon the first data and the second data read from the shared storage, the report comprising timing information associated with the execution of the first upgrade process on the first host machine and the execution of the second upgrade process on the second host machine, wherein the timing information includes a total execution time of the first upgrade process and a time that the first upgrade process spent waiting on the second upgrade process, wherein the time that the first upgrade process spent waiting on the second upgrade process is determined by subtracting a first time from a second time, wherein the first time is a time that the first process started to wait for the second upgrade process, and wherein the second time is a time associated with generating the report; and communicate the report to a user. - View Dependent Claims (12, 13, 14, 15, 16, 17)
-
-
18. A method comprising:
-
receiving, by a timing reporting tool, a request to generate a report for an upgrade operation, the upgrade operation comprising a plurality of upgrade processes running on a plurality of host machines, wherein the plurality of upgrade processes include a first upgrade process and a second upgrade process; accessing, by the timing reporting tool, a shared storage to retrieve data stored by the plurality of upgrade processes, wherein the plurality of upgrade processes store data indicative of a status of the plurality of upgrade processes in the shared storage; reading, by the timing reporting tool, the data stored by the plurality of upgrade processes from the shared storage; determining, by the timing reporting tool, information about the plurality of upgrade processes using the retrieved data, the information including information about upgrade processes that have completed execution, upgrade processes that are currently executing, and upgrade processes to be executed; generating the report based upon the data read from the shared storage, the report comprising timing information associated with an execution of the plurality of upgrade processes running on the plurality of host machines, wherein the timing information includes a total execution time of the first upgrade and a time that the first upgrade process spent waiting on the second upgrade process, wherein the time that the first upgrade process spent waiting on the second upgrade process is determined by subtracting a first time from a second time, wherein the first time is a time that the first process started to wait for the second upgrade process, and wherein the second time is a time associated with generating the report; and communicating the report to a user. - View Dependent Claims (19, 20, 21, 22)
-
Specification