IP Library Granted Patent US 10,827,034
Granted Patent B2
US 10,827,034 · App. 15/700,078 · Granted Nov 3, 2020

Providing application versions via delta volumes

Inventors: Sivaprasad Kundoor Govindankutty (Bengaluru, IN); Smitha Radhakrishnan (Bengaluru, IN); Jubish Kulathumkal Jose (Bengaluru, IN); Noble Peter Aranjani (Bengaluru, IN)
Assignee: VMware, Inc.
H04L67/34G06F8/65G06F8/71G06F9/45558G06F16/27H04L67/10H04L67/1097G06F16/128G06F16/1873G06F2009/45579
View Patent ↗
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 10,827,034
App. No.
15/700,078
Granted
Nov 3, 2020
Kind
B2
Abstract

Described herein are systems, methods, and software to enhance the management of different versions of an application for a computing environment. In one implementation, a computing environment may identify a request to update an application from a first version to a second version on a virtual machine. In response to the request, one or more storage volumes may be identified that are associated with the second version of the application, wherein the one or more additional storage volumes comprise one or more delta volumes Once the one or more storage volumes are identified, the computing environment may attach the one or more storage volumes to the virtual machine to make the second version of the application executable on the virtual machine.

Claims (51)

1. A method of updating an application on a virtual machine, the method comprising:

identifying a request to update an application from a first version to a second version, wherein the first version of the application is executable on the virtual machine via one or more storage volumes attached to the virtual machine;

in response to the request, identifying one or more additional storage volumes associated with the second version of the application, wherein the one or more additional storage volumes comprise one or more delta volumes for the second version of the application over the first version of the application; and

attaching the one or more additional storage volumes to the virtual machine to make the second version of the application executable on the virtual machine using data from the one or more storage volumes and the one or more additional storage volumes.

2. The method of claim 1 , wherein the one or more storage volumes and the one or more additional storage volumes comprise virtual disks.

3. The method of claim 1 further comprising:

identifying a second request to downgrade the application from the second version to the first version;

in response to the second request, identifying the one or more additional storage volumes associated with the second version of the application; and

detaching the one or more additional storage volumes from the virtual machine.

4. The method of claim 1 further comprising attaching the one or more storage volumes to the virtual machine, wherein attaching the one or more storage volumes comprises mounting the one or more storage volumes to the virtual machine and overlaying contents of the one or more storage volumes in a file structure for the virtual machine.

5. The method of claim 4 , wherein attaching the one or more additional storage volumes to the virtual machine comprises mounting the one or more additional storage volumes to the virtual machine and overlaying contents of the one or more additional storage volumes in the file structure for the virtual machine.

6. The method of claim 5 , wherein overlaying the contents of the one or more additional storage volumes comprise prioritizing the contents of the one or more additional storage volumes over the contents of the one or more storage volumes.

7. The method of claim 6 , wherein the contents of the one or more storage volumes and the contents of the one or more additional storage volumes comprise files and registry keys.

8. The method of claim 1 further comprising:

in response to identifying the request, determining whether the second version of the application is available via one or more additional storage volumes;

if the second version is available:

identifying the one or more additional storage volumes associated with the second version of the application; and

attaching the one or more additional storage volumes to the virtual machine to make the application executable on the virtual machine via the one or more storage volumes and the one or more additional storage volumes; and

if the second version is unavailable:

generating a new storage volume with differencing data for the second version of the application over the first version of the application.

9. A computer apparatus comprising:

one or more non-transitory computer readable storage media;

a processing system operatively coupled to the one or more non-transitory computer readable storage media; and

program instructions stored on the one or more non-transitory computer readable storage media to update an application on a virtual machine that, when read and executed by the processing system, direct the processing system to:

identify a request to update an application from a first version to a second version, wherein the first version of the application is executable on the virtual machine via one or more storage volumes attached to the virtual machine;

in response to the request, identify one or more additional storage volumes associated with the second version of the application, wherein the one or more additional storage volumes comprise one or more delta volumes for the second version of the application over the first version of the application; and

attach the one or more additional storage volumes to the virtual machine to make the second version of the application executable on the virtual machine via using data from the one or more storage volumes and the one or more additional storage volumes.

10. The computing apparatus of claim 9 , wherein the one or more storage volumes and the one or more additional storage volumes comprise virtual disks.

11. The computing apparatus of claim 9 , wherein the program instructions further direct the processing system to:

identify a second request to downgrade the application from the second version to a third version;

in response to the second request, identify a subset of storage volumes from the one or more storage volumes and the one or more additional storage volumes that support the second version of the application over the third version of the application; and

detach the subset of storage volumes from the virtual machine.

12. The computing apparatus of claim 9 , wherein the program instructions further direct the processing system to attach the one or more storage volumes to the virtual machine, wherein attaching the one or more storage volumes comprises mounting the one or more storage volumes to the virtual machine and overlaying contents of the one or more storage volumes in a file structure for the virtual machine.

13. The computing apparatus of claim 12 , wherein attaching the one or more additional storage volumes to the virtual machine comprises mounting the one or more additional storage volumes to the virtual machine and overlaying contents of the one or more additional storage volumes in the file structure of the virtual machine.

14. The computing apparatus of claim 13 , wherein overlaying the contents of the one or more additional storage volumes comprise prioritizing the contents of the one or more additional storage volumes over the contents of the one or more storage volumes.

15. The computing apparatus of claim 14 , wherein the contents of the one or more storage volumes and the one or more additional storage volumes comprise files and registry keys.

16. The computing apparatus of claim 9 , wherein the program instructions further direct the processing system to:

in response to identifying the request, determine whether the second version of the application is available via one or more additional storage volumes;

if the second version is available:

identify the one or more additional storage volumes associated with the second version of the application; and

attaching the one or more additional storage volumes to the virtual machine to make the application executable on the virtual machine via the one or more storage volumes and the one or more additional storage volumes; and

if the second version is unavailable:

generate a new storage volume with differencing data for the second version of the application over the first version of the application.

17. A method of downgrading an application on a virtual machine, the method comprising:

identifying a request to downgrade an application from a first version to a second version, wherein the first version of the application is executable on the virtual machine using data from a plurality of storage volumes attached to the virtual machine;

in response to the request, identifying a subset of the plurality of storage volumes that support the first version of the application over the second version of the application; and

detach the subset of the plurality of storage volumes from the virtual machine to make the second version of the application executable on the virtual machine from one or more remaining storage volumes of the plurality of storage volumes attached after the detachment of the subset.

18. The method of claim 17 , wherein the subset of the plurality of storage volumes comprise delta volumes.

19. The method of claim 17 , wherein the plurality of storage volumes comprise virtual disks.

20. The method of claim 17 further comprising:

attaching the plurality of storage volumes to the virtual machine, wherein attaching the plurality of storage volumes to the virtual machine comprises mounting the plurality of storage volumes to the virtual machine and overlaying contents of the plurality of storage volumes in a file structure for the virtual machine.

Assignments (4)
PATENT ASSIGNMENT Recorded Aug 5, 2024
From: VMWARE LLC
To: OMNISSA, LLC
Reel/Frame 068327/0365 →
SECURITY INTEREST Recorded Jul 3, 2024
From: OMNISSA, LLC
To: UBS AG, STAMFORD BRANCH
Reel/Frame 068118/0004 →
CHANGE OF NAME Recorded Apr 15, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 067103/0030 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 9, 2017
From: GOVINDANKUTTY, SIVAPRASAD KUNDOOR; RADHAKRISHNAN, SMITHA; JOSE, JUBISH KULATHUMKAL; ARANJANI, NOBLE PETER
To: VMWARE, INC.
Reel/Frame 043539/0779 →