Orchestration of software applications upgrade using automatic hang detection
First Claim
Patent Images
1. A method comprising:
- monitoring execution of an upgrade process on a host machine, the upgrade process upgrading a software application on the host machine, the upgrade process including a plurality of tasks, the plurality of tasks including at least a first task and a second task;
determining, based upon the monitoring, a time of execution for the first task, wherein the time of execution for the first task is different from a time of execution for the second task;
determining a reference execution time specified for the first task, wherein the reference execution time specified for the first task is different from a reference execution time specified for the second task;
determining a latency tolerance time specified for the first task;
determining, based on the time of execution for the first task and the latency tolerance time specified for the first task, that the first task has not completed execution for a period of time that is greater than a total of the reference execution time and the latency tolerance time;
upon determining that the first task has not completed execution for a period of time that is greater than a total of the reference execution time and the latency tolerance time, determining that the upgrade process on the host machine is to be indicated as being in a hang state; and
generating an alert message indicating the upgrade process executing on the host machine is in the hang state.
1 Assignment
0 Petitions
Accused Products
Abstract
In an upgrade infrastructure performing an overall upgrade operation comprising multiple upgrade processes being executed, possibly concurrently, on multiple hosts for upgrading one or more software applications hosted by hosts, automated hang detection mechanisms are disclosed for quickly, efficiently, and automatically detecting when one or more of the upgrade process are in a hang state. Different hang detection techniques are described including a metadata-driven hang detection mechanism and a code-driven hang detection mechanism.
-
Citations
17 Claims
-
1. A method comprising:
-
monitoring execution of an upgrade process on a host machine, the upgrade process upgrading a software application on the host machine, the upgrade process including a plurality of tasks, the plurality of tasks including at least a first task and a second task; determining, based upon the monitoring, a time of execution for the first task, wherein the time of execution for the first task is different from a time of execution for the second task; determining a reference execution time specified for the first task, wherein the reference execution time specified for the first task is different from a reference execution time specified for the second task; determining a latency tolerance time specified for the first task; determining, based on the time of execution for the first task and the latency tolerance time specified for the first task, that the first task has not completed execution for a period of time that is greater than a total of the reference execution time and the latency tolerance time; upon determining that the first task has not completed execution for a period of time that is greater than a total of the reference execution time and the latency tolerance time, determining that the upgrade process on the host machine is to be indicated as being in a hang state; and generating an alert message indicating the upgrade process executing on the host machine is in the hang state. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A system comprising:
-
one or more processors; and a non-transitory computer-readable medium including instructions that, when executed by the one or more processors, cause the one or more processors to; monitor execution of an upgrade process on a host machine, the upgrade process upgrading a software application on the host machine, the upgrade process including a plurality of tasks, the plurality of tasks including at least a first task and a second task; determine, based upon the monitoring, a time of execution for the first task, wherein the time of execution for the first task is different from a time of execution for the second task; determine a reference execution time specified for the first task, wherein the reference execution time specified for the first task is different a reference execution time specified for the second task; determine a latency tolerance time specified for the first task; determine, based on the time of execution for the first task and the latency tolerance time specified for the first task, that the first task has not completed execution for a period of time that is greater than a total of the reference execution time and the latency tolerance time; and upon determining that the first task has not completed execution for a period of time that is greater than a total of the reference execution time and the latency tolerance time, determining that the upgrade process on the host machine is to be indicated as being in a hang state, and generate an alert message indicating the upgrade process executing on the host machine is in the hang state. - View Dependent Claims (8, 9, 10, 11)
-
-
12. A non-transitory computer-readable storage medium storing a plurality of instructions executable by one or more processors, the plurality of instructions when executed by the one or more processors cause the one or more processors to perform processing comprising:
-
monitoring execution of an upgrade process on a host machine, the upgrade process upgrading a software application on the host machine, the upgrade process including a plurality of tasks, the plurality of tasks including at least a first task and a second task; determining, based upon the monitoring, a time of execution for the first task, wherein the time of execution for the first task is different from a time of execution for the second task; determining a reference execution time specified for the first task, wherein the reference execution time specified for the first task is different a reference execution time specified for the second task; determining a latency tolerance time specified for the first task; determining, based on the time of execution for the first task and the latency tolerance time specified for the first task, that the first task has not completed execution for a period of time that is greater than a total of the reference execution time and the latency tolerance time; upon determining that the first task has not completed execution for a period of time that is greater than a total of the reference execution time and the latency tolerance time, determining that the upgrade process on the host machine is to be indicated as being in a hang state; and generating an alert message indicating the upgrade process executing on the host machine is in the hang state. - View Dependent Claims (13, 14, 15, 16, 17)
-
Specification