IP Library Patent Application 17702833
Patent Application
App. No. 17/702,833

VIRTUAL UPGRADE LAYER-BASED APPLICATION UPGRADE

Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US None
App. No.
17/702,833
Abstract

Example system includes application hosts with each application host executing an application and a management node coupled to the plurality of application hosts via a network. The management node includes an application upgrade unit to install an upgrade agent in each application host requiring an upgrade of the application. Further, management node may execute the upgrade agent to create a virtual upgrade layer in a non-volatile storage device of each application host. The upgrade agent may copy an application upgrade package and application data associated with the application to the virtual upgrade layer. Further, the upgrade agent may upgrade the application in the virtual upgrade layer of each application host using the application upgrade package and the application data. In response to receiving a go-live command, the upgrade agent may commit the upgraded application from the virtual upgrade layer to the non-volatile storage device of each application host.

Claims (71)

1 . A system comprising:

a plurality of application hosts with each application host executing an application; and

a management node coupled to the plurality of application hosts via a network, wherein the management node comprises an application upgrade unit to:

install an upgrade agent in each application host requiring an upgrade of the application; and

execute the upgrade agent to:

create a virtual upgrade layer in a non-volatile storage device of each application host;

copy an application upgrade package and application data associated with the application to the virtual upgrade layer;

upgrade the application in the virtual upgrade layer of each application host using the application upgrade package and the application data; and

in response to receiving a go-live command, commit the upgraded application from the virtual upgrade layer to the non-volatile storage device of each application host.

2 . The system of claim 1 , wherein the application upgrade unit is to:

push the application upgrade package to each application host requiring the upgrade for storing in the non-volatile storage device of each application host, wherein the upgrade agent, when executed, is to copy the application upgrade package from the non-volatile storage device to the virtual upgrade layer of each application host.

3 . The system of claim 1 , wherein, in response to receiving the go-live command, the upgrade agent is to:

halt the application running in a volatile storage device of each application host;

uninstall the application from the non-volatile storage device;

move the upgraded application from the virtual upgrade layer to the non-volatile storage device; and

start running the upgraded application in the volatile storage device of each application host.

4 . The system of claim 1 , wherein, upon committing the upgraded application from the virtual upgrade layer to the non-volatile storage device, the upgrade agent is to:

output a prompt seeking user confirmation to determine a working status of the upgraded application;

when the upgraded application is working:

move the upgraded application from the virtual upgrade layer to the non-volatile storage device; and

delete the virtual upgrade layer from the non-volatile storage device.

5 . The system of claim 4 , wherein the application upgrade unit is to:

generate a pre-upgrade snapshot of the application in each application host prior to installing the upgrade agent, wherein when the upgraded application is not working, the upgrade agent is to:

revert each application host to the pre-upgrade snapshot of the application.

6 . The system of claim 1 , wherein the upgrade agent is to:

copy the application data associated with the application requiring the upgrade, residing in the non-volatile storage device and the volatile storage device, to the virtual upgrade layer of each application host.

7 . The system of claim 1 , wherein the upgrade agent is to:

upgrade the application in the virtual upgrade layer of each application host as a background process while the application is running in each application host.

8 . The system of claim 1 , wherein each application host comprises a physical host computing device or a virtual machine.

9 . A method comprising:

creating a virtual upgrade layer in a non-volatile storage device of an application host requiring an application upgrade;

copying application data associated with an application requiring the application upgrade, residing in the non-volatile storage device and a volatile storage device, to the virtual upgrade layer;

copying the application upgrade package to the virtual upgrade layer;

upgrading the application in the virtual upgrade layer using the application upgrade package and the application data; and

in response to receiving a go-live command, committing code corresponding to the upgraded application from the virtual upgrade layer to the non-volatile storage device of the application host.

10 . The method of claim 9 , wherein copying the application upgrade package to the virtual upgrade layer comprises:

receiving the application upgrade package to upgrade the application from a server;

storing the application upgrade package in the non-volatile storage device; and

upon creating the virtual upgrade layer, copying the application upgrade package from the non-volatile storage device to the virtual upgrade layer.

11 . The method of claim 9 , wherein committing the code corresponding to the upgraded application from the virtual upgrade layer to the non-volatile storage device comprises:

halting the application running in a volatile storage device of the application host;

uninstalling the application from the non-volatile storage device;

moving the upgraded application from the virtual upgrade layer to the non-volatile storage device; and

executing the upgraded application in the volatile storage device.

12 . The method of claim 9 , further comprising:

outputting a prompt seeking user confirmation to determine a working status of the upgraded application; and

when the upgraded application is working, deleting the virtual upgrade layer from the non-volatile storage device.

13 . The method of claim 9 , further comprising:

generating a pre-upgrade snapshot of the application in the application host prior to creating the virtual upgrade layer, wherein when the upgraded application is not working:

reverting the application host to the pre-upgrade snapshot of the application.

14 . The method of claim 9 , wherein the application host comprises a physical host computing device or a virtual machine running on the physical host computing device.

15 . The method of claim 9 , wherein upgrading the application in the virtual upgrade layer comprises:

upgrading the application in the virtual upgrade layer of the application host as a background process while the application is running in the application host.

16 . A non-transitory computer-readable storage medium storing instructions executable by a processor of a management node to:

create a virtual upgrade layer in a non-volatile storage device of each application host requiring an application upgrade;

copy an application requiring the application upgrade, residing in the non-volatile storage device and a volatile storage device, to the virtual upgrade layer of each application host;

copy the application upgrade package to the virtual upgrade layer of each application host;

upgrade the application in the virtual upgrade layer of each application host using the application upgrade package and the application data; and

schedule to commit the upgraded application from the virtual upgrade layer to the non-volatile storage device of each application host.

17 . The non-transitory computer-readable storage medium of claim 16 , further comprising instructions to:

commit the upgraded application from the virtual upgrade layer to the non-volatile storage device of each application host in accordance with the schedule.

18 . The non-transitory computer-readable storage medium of claim 16 , wherein instructions to commit the upgraded application from the virtual upgrade layer to the non-volatile storage device comprise instructions to:

halt the application running in a volatile storage device of the application host;

uninstall the application from the non-volatile storage device;

move the upgraded application from the virtual upgrade layer to the non-volatile storage device; and

execute the upgraded application in the volatile storage device.

19 . The non-transitory computer-readable storage medium of claim 16 , wherein instructions to upgrade the application in the virtual upgrade layer comprising instructions to:

isolate the upgrading of the application to the virtual upgrade layer of each application host while the application is running in each application host.

20 . The non-transitory computer-readable storage medium of claim 16 , further comprising instructions to:

when upgrading of the application is successful, delete the virtual upgrade layer from the non-volatile storage device upon committing the upgraded application from the virtual upgrade layer to the non-volatile storage device; and

when upgrading of the application is not successful, revert each application host to a pre-upgrade snapshot of the application.

Assignments (2)
CHANGE OF NAME Recorded Feb 27, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 066692/0103 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 24, 2022
From: GUJAR, AMIT BABURAO; CHOUDHARI, TRISHAL RATNAKAR
To: VMWARE, INC.
Reel/Frame 059384/0116 →