CPC G06F 9/44505 (2013.01) [G06F 8/65 (2013.01); G06F 8/71 (2013.01); G06F 9/45504 (2013.01); G06F 9/45508 (2013.01); G06F 9/4881 (2013.01); G06F 11/301 (2013.01); G06F 11/3006 (2013.01); G06F 3/04847 (2013.01); G06F 9/45558 (2013.01); G06F 2009/4557 (2013.01); G06F 2009/45579 (2013.01); G06F 2009/45591 (2013.01); G06F 2201/815 (2013.01)] | 20 Claims |
1. A method for managing a client environment, the method comprising:
identifying, by an application upgrade monitoring agent, an application upgrade for an application;
in response to the identifying:
obtaining device configuration information associated with a client device executing an instance of the application, wherein the client device is executing on the client environment;
sending an upgrade time estimation request to a device emulation system, wherein the upgrade time estimation request comprises the device configuration information;
obtaining, by the device emulation system, the upgrade time estimation request;
in response to the upgrade time estimation request:
performing the application upgrade to a device emulation of the client device, wherein the device emulation operates in the device emulation system,
wherein the application upgrade comprises performing a reboot-upgrade dependency analysis on the device emulation, and
wherein the reboot-upgrade dependency analysis comprises tracking a number of reboots performed during the application upgrade and identifying a dependency of a first intermediate application upgrade to the application upgrade;
while performing the application upgrade to the emulation device, tracking a start time of the application upgrade, and tracking an end time of the application upgrade;
determining an upgrade time estimation based on the start time and the end time;
providing the upgrade time estimation to the application upgrade monitoring agent;
obtaining, in response to the upgrade time estimation request and from the device emulation system, the upgrade time estimation from the device emulation system, wherein the upgrade time estimation specifies a period of time the application upgrade is expected to take to complete on the client device; and
initiating execution of the application upgrade on the client device based on the upgrade time estimation.
|