IP Library Granted Patent US 10,740,038
Granted Patent B2
US 10,740,038 · App. 16/105,650 · Granted Aug 11, 2020

Virtual application delivery using synthetic block devices

Inventors: Michael John Wookey (Sydney, AU); Paul Adam Ryman (Sydney, AU); Maria Matelle Tarroza (Sydney, AU); Mallikharjuna Reddy Deva (Sydney, AU); Stephen Jonathan Parry-Barwick (Sydney, AU)
Assignee: VMWARE, INC.
G06F3/0662G06F3/0604G06F3/0611G06F3/0659G06F3/0674G06F3/0683G06F9/45558G06F16/188G06F2009/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,740,038
App. No.
16/105,650
Granted
Aug 11, 2020
Kind
B2
Abstract

Embodiments described herein are related to performing virtual application delivery. In some embodiments, a method includes accessing, at a computing device, a datastore comprising a first virtual disk file mapped to a plurality of virtual disk files separate from the first virtual disk file, wherein each of the plurality of virtual disk files comprises at least one application stored thereon. The method further includes receiving, at the computing device, one or more operations for accessing the first virtual disk file, the one or more operations corresponding to a first application stored on a second virtual disk file of the plurality of virtual disk files. The method further includes redirecting the one or more operations for accessing the first virtual disk file to the second virtual disk file.

Claims (40)

1. A method for performing virtual application delivery, comprising:

accessing, at a computing device, a datastore comprising a first virtual disk file, wherein each respective partition of a plurality of partitions of the first virtual disk file is mapped to a respective virtual disk file of a plurality of virtual disk files separate from the first virtual disk file, wherein each of the plurality of virtual disk files comprises at least one application stored thereon;

receiving, at the computing device, one or more operations for accessing a given partition of the first virtual disk file, the one or more operations corresponding to a first application stored on a second virtual disk file of the plurality of virtual disk files; and

redirecting, based on the given partition, the one or more operations for accessing the first virtual disk file to the second virtual disk file.

2. The method of claim 1 , wherein blocks of the given partition of the first virtual disk file are mapped to blocks of a corresponding partition of the second virtual disk file.

3. The method of claim 1 , further comprising selectively hiding, unmounting, or not mounting at least one of the plurality of partitions of the first virtual disk file corresponding to a first application based on access rights to the first application for the computing device.

4. The method of claim 1 , further comprising mounting the first virtual disk file as a plurality of volumes at the computing device, each of the plurality of volumes corresponding to one of the plurality of partitions of the first virtual disk file.

5. The method of claim 4 , further comprising, while the first virtual disk file is mounted:

adding a mapping from one of the plurality of partitions of the first virtual disk file that is cloaked to a third virtual disk file separate from the first virtual disk file and the plurality of virtual disk files, the third virtual disk file storing a second application;

uncloaking the one of the plurality of partitions of the first virtual disk file; and

running, at the computing device, the second application.

6. The method of claim 5 , wherein the second application comprises an updated version of the first application, and further comprising, while the first virtual disk file is mounted:

cloaking one of the plurality of partitions of the first virtual disk file that is mapped to the second virtual disk file.

7. The method of claim 1 , wherein the computing device is a virtual computing instance running on a host machine, and further comprising:

accessing, by the host machine, a stored image of a memory and a storage of the virtual computing instance in a state with the first virtual disk file mounted at the virtual computing instance; and

loading the virtual computing instance from the stored image in the state with the first virtual disk file mounted at the virtual computing instance.

8. The method of claim 1 , wherein the first virtual disk file comprises a globally unique identifiers (GUID) partition table (GPT).

9. A non-transitory computer-readable storage medium comprising instructions that, when executed in a computing device, perform a method for performing virtual application delivery, the method comprising:

accessing, at a computing device, a datastore comprising a first virtual disk file, wherein each respective partition of a plurality of partitions of the first virtual disk file is mapped to a respective virtual disk file of a plurality of virtual disk files separate from the first virtual disk file, wherein each of the plurality of virtual disk files comprises at least one application stored thereon;

receiving, at the computing device, one or more operations for accessing a given partition of the first virtual disk file, the one or more operations corresponding to a first application stored on a second virtual disk file of the plurality of virtual disk files; and

redirecting, based on the given partition, the one or more operations for accessing the first virtual disk file to the second virtual disk file.

10. The non-transitory computer-readable storage medium of claim 9 , wherein blocks of the given partition of the first virtual disk file are mapped to blocks of a corresponding partition of the second virtual disk file.

11. The non-transitory computer-readable storage medium of claim 9 , wherein the method further comprises selectively hiding, unmounting, or not mounting at least one of the plurality of partitions of the first virtual disk file corresponding to a first application based on access rights to the first application for the computing device.

12. The non-transitory computer-readable storage medium of claim 9 , wherein the method further comprises mounting the first virtual disk file as a plurality of volumes at the computing device, each of the plurality of volumes corresponding to one of the plurality of partitions of the first virtual disk file.

13. The non-transitory computer-readable storage medium of claim 12 , wherein the method further comprises, while the first virtual disk file is mounted:

adding a mapping from one of the plurality of partitions of the first virtual disk file that is cloaked to a third virtual disk file separate from the first virtual disk file and the plurality of virtual disk files, the third virtual disk file storing a second application;

uncloaking the one of the plurality of partitions of the first virtual disk file; and

running, at the computing device, the second application.

14. The non-transitory computer-readable storage medium of claim 13 , wherein the second application comprises an updated version of the first application, and wherein the method further comprises, while the first virtual disk file is mounted:

cloaking one of the plurality of partitions of the first virtual disk file that is mapped to the second virtual disk file.

15. The non-transitory computer-readable storage medium of claim 9 , wherein the computing device is a virtual computing instance running on a host machine, and wherein the method further comprises:

accessing, by the host machine, a stored image of a memory and a storage of the virtual computing instance in a state with the first virtual disk file mounted at the virtual computing instance; and

loading the virtual computing instance from the stored image in the state with the first virtual disk file mounted at the virtual computing instance.

16. The non-transitory computer-readable storage medium of claim 9 , wherein the first virtual disk file comprises a globally unique identifiers (GUID) partition table (GPT).

17. A computer system for performing virtual application delivery, the computer system comprising:

a datastore;

a processor (CPU) configured to perform a method for performing virtual application delivery, the method comprising:

accessing, at a computing device, a datastore comprising a first virtual disk file, wherein each respective partition of a plurality of partitions of the first virtual disk file is mapped to a respective virtual disk file of a plurality of virtual disk files separate from the first virtual disk file, wherein each of the plurality of virtual disk files comprises at least one application stored thereon;

receiving, at the computing device, one or more operations for accessing a given partition of the first virtual disk file, the one or more operations corresponding to a first application stored on a second virtual disk file of the plurality of virtual disk files; and

redirecting, based on the given partition, the one or more operations for accessing the first virtual disk file to the second virtual disk file.

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 067102/0395 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 16, 2019
From: WOOKEY, MICHAEL JOHN; RYMAN, PAUL ADAM; TARROZA, MARIA MATELLE; DEVA, MALLIKHARJUNA REDDY; PARRY-BARWICK, STEPHEN JONATHAN
To: VMWARE, INC.
Reel/Frame 048028/0318 →