IP Library Granted Patent US 10,579,404
Granted Patent B2
US 10,579,404 · App. 15/398,244 · Granted Mar 3, 2020

Provisioning virtual desktops with stub virtual disks

Inventor: Tal Zamir (Haifa, IL)
Assignee: VMware, Inc.
G06F9/45533G06F9/452G06F9/45558G06F2009/45595
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,579,404
App. No.
15/398,244
Granted
Mar 3, 2020
Kind
B2
Abstract

A system is described allowing a virtual desktop to be booted directly from a desktop image stored in a backup database without requiring content from the desktop image to be copied into the virtual disk of the virtual machine hosting the virtual desktop. The hosting virtual machine contains a synthetic virtual disk acting as a stub disk by redirecting read requests targeted for the synthetic disk from the guest operating system to corresponding locations of the storage where the desktop image is kept.

Claims (47)

1. A method, comprising:

executing a virtual desktop on a virtual machine (VM) in a host server, the VM comprising a stub virtual machine disk, wherein the stub virtual machine disk contains stub files corresponding to files of a desktop image of the virtual desktop, the desktop image being located in a single instance store;

receiving a request by the guest operating system to read a block from the stub virtual machine disk;

redirecting the request to the desktop image in the single instance store;

retrieving the block from the desktop image in response to the redirected request to read the block;

receiving a request to write the block by the guest operating system;

writing the block to a differencing virtual machine disk;

receiving a request to read the block after the block has been written to the differencing virtual machine disk; and

retrieving the block from the differencing virtual machine disk instead of the desktop image.

2. The method of claim 1 , wherein the request is redirected based on a mapping of stub virtual machine disk blocks into corresponding single instance store file blocks.

3. The method of claim 2 , wherein the mapping comprises a table that maps a stub virtual machine disk block offset into a corresponding single instance store file index and an offset within the file.

4. The method of claim 1 , further comprising:

writing changes made by the guest operating system on the VM to a differencing virtual machine disk.

5. The method of claim 4 , further comprising, flushing data from the differencing disk to the desktop image.

6. The method of claim 1 , wherein the redirecting the request to the desktop image is performed by a disk input-output filter that intercepts read requests from the guest operating system to the stub virtual machine disk and redirects the read requests to the desktop image.

7. A computing device, comprising:

at least one processor; and

memory including instructions that, when executed by the at least one processor, cause the computing device to perform the operations of:

executing a virtual desktop on a virtual machine (VM) in a host server, the VM comprising a stub virtual machine disk, wherein the stub virtual machine disk contains stub files corresponding to files of a desktop image of the virtual desktop, the desktop image being located in a single instance store;

receiving a request by the guest operating system to read a block from the stub virtual machine disk;

redirecting the request to the desktop image in the single instance store;

retrieving the block from the desktop image in response to the redirected request to read the block;

receiving a request to write the block by the guest operating system;

writing the block to a differencing virtual machine disk;

receiving a request to read the block after the block has been written to the differencing virtual machine disk; and

retrieving the block from the differencing virtual machine disk instead of the desktop image.

8. The computing device of claim 7 , wherein the request is redirected based on a mapping of stub virtual machine disk blocks into corresponding single instance store file blocks.

9. The computing device of claim 8 , wherein the mapping comprises a table that maps a stub virtual machine disk block offset into a corresponding single instance store file index and an offset within the file.

10. The computing device of claim 7 , wherein the memory further includes instructions that when executed by the at least one processor, cause the computing device to perform the operations of:

writing changes made by the guest operating system on the VM to a differencing virtual machine disk.

11. The computing device of claim 10 , wherein the memory further includes instructions that when executed by the at least one processor, cause the computing device to perform the operations of:

flushing data from the differencing disk to the desktop image.

12. A non-transitory computer readable storage medium comprising one or more sequences of instructions, the instructions when executed by one or more processors causing the one or more processors to execute the operations of:

executing a virtual desktop on a virtual machine (VM) in a host server, the VM comprising a stub virtual machine disk, wherein the stub virtual machine disk contains stub files corresponding to files of a desktop image of the virtual desktop, the desktop image being located in a single instance store;

receiving a request by the guest operating system to read a block from the stub virtual machine disk;

redirecting the request to the desktop image in the single instance store;

retrieving the block from the desktop image in response to the redirected request to read the block;

receiving a request to write the block by the guest operating system;

writing the block to a differencing virtual machine disk;

receiving a request to read the block after the block has been written to the differencing virtual machine disk; and

retrieving the block from the differencing virtual machine disk instead of the desktop image.

13. The computing device of claim 7 , wherein the redirecting the request to the desktop image is performed by a disk input-output filter that intercepts read requests from the guest operating system to the stub virtual machine disk and redirects the read requests to the desktop image.

14. The non-transitory computer readable storage medium of claim 12 , wherein the request is redirected based on a mapping of stub virtual machine disk blocks into corresponding single instance store file blocks.

15. The non-transitory computer readable storage medium of claim 14 , wherein the mapping comprises a table that maps a stub virtual machine disk block offset into a corresponding single instance store file index and an offset within the file.

16. The non-transitory computer readable storage medium of claim 12 , further comprising instructions that when executed by the one or more processors cause the one or more processors to execute the operations of:

writing changes made by the guest operating system on the VM to a differencing virtual machine disk.

17. The non-transitory computer readable storage medium of claim 12 , wherein the redirecting the request to the desktop image is performed by a disk input-output filter that intercepts read requests from the guest operating system to the stub virtual machine disk and redirects the read requests to the desktop image.

Assignments (3)
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 →
Continuity (2)
Continuation 14741573 · Jun 17, 2015
Related Publication 20170116009A1 · Apr 27, 2017