IP Library Granted Patent US 8,904,081
Granted Patent B1
US 8,904,081 · App. 13/467,004 · Granted Dec 2, 2014

Composing a virtual disk using application delta disk images

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 8,904,081
App. No.
13/467,004
Granted
Dec 2, 2014
Kind
B1
Abstract

According to a system and method for composing a virtual disk for a virtual desktop, the virtual desktop is booted from a virtual disk comprised of a base disk image and a user delta disk image that receives all disk writes to the virtual disk. Disk space is allocated on the virtual disk for a file associated with a selected application to be provided to a user of the virtual desktop. Then the virtual desktop is recomposed offline by linking the base disk image, an application delta disk image including the file associated with the selected application, and the user delta disk image. The recomposing includes modifying meta data of the application delta disk and the user delta disk so that the file associated with the selected application is mapped to the disk space previously allocated.

Claims (42)

1. A method for generating a virtual desktop for a virtual machine to be displayed at a client computing device, the method comprising:

booting the virtual desktop from a virtual disk comprised of a base disk image and a user delta disk image that receives all disk writes to the virtual disk;

for a selected application to be provided to a user of the virtual desktop, allocating disk space on the virtual disk for one or more files associated with the selected application, the allocating comprising generating and storing on the user delta disk image meta data that indicates one or more locations on the virtual disk at which the one or more files are to be stored;

shutting down the virtual desktop after the allocating of the disk space;

while the virtual desktop is shut down, maintaining the meta data on the user delta disk; and

recomposing the virtual disk by linking the base disk image, an application delta disk image, and the user delta disk image, the user delta disk image configured to receive all disk writes to the composed virtual disk, the application delta disk image including the one or more files associated with the selected application, and

the recomposing comprising copying the meta data from the user delta disk image to the application delta disk image and modifying the meta data of the application delta disk image and the user delta disk image so that the one or more files associated with the selected application are mapped to the disk space allocated for the one or more files associated with the selected application and read requests to the virtual disk for the one or more files are satisfied with data from the one or more files associated with the application on the application delta disk image.

2. The method of claim 1 , further comprising allocating additional disk space on the virtual disk for one or more files associated with a second selected application prior to the shutting down of the virtual desktop, the recomposing of the virtual disk comprising linking the base disk image, the application delta disk image, a second application delta disk image, and the user delta disk image, wherein the second application delta disk image includes the one or more files associated with the second application.

3. The method of claim 1 , wherein the allocating of the disk space comprises using APIs of a disk operating system of the virtual desktop to create one or more empty files corresponding in size to the one or more files associated with the selected application.

4. The method of claim 1 , wherein the one or more files associated with the application include a virtualized application container file.

5. The method of claim 4 , further comprising encapsulating the virtualized application container file within a delta disk image file to create the application delta disk image used in the recomposing.

6. The method of claim 1 , wherein the allocating of disk space is carried out by an agent application installed on the virtual desktop that operates in conjunction with a virtual desktop management application executing outside the virtual desktop.

7. The method of claim 6 , wherein the agent writes mapping information for allocated space at a location accessible to the desktop management application, the desktop management application using the mapping information in the modifying of the meta data.

8. A system for generating a virtual desktop, the system including at least one physical processor for executing software instructions that reside in a memory storage system of the system, the software instructions implementing a method comprising:

causing the virtual desktop to boot from a virtual disk backed by a base disk image and a user delta disk image, the user delta disk image receiving all disk writes to the virtual disk;

for a selected application to be provided to a user of the virtual desktop, allocating disk space on the virtual disk for one or more files associated with the selected application, the allocating comprising generating and storing on the user delta disk image meta data that indicates one or more locations on the virtual disk at which the one or more files are to be stored;

shutting down the virtual desktop after the allocating of the disk space;

while the virtual desktop is shut down, maintaining the meta data on the user delta disk image;

and

recomposing the virtual disk, the recomposing of the virtual disk comprising linking the base disk image, an application delta disk image, and the user delta disk image, the user delta disk image configured to receive all disk writes to the recomposed virtual disk, the application delta disk image including the one or more files associated with the selected application, and

the recomposing further comprising copying the meta data from the user delta disk image to the application delta disk image and modifying meta data of the application delta disk image and the user delta disk image so that the one or more files associated with the selected application are mapped to the disk space allocated for the one or more files associated with the selected application and read requests to the virtual disk for the one or more files are satisfied with data from the one or more files associated with the application on the application delta disk image.

9. The system of claim 8 , wherein the method further comprises allocating additional disk space on the virtual disk for one or more files associated with a second selected application prior to the shutting down of the virtual desktop, the recomposing of the virtual disk comprising linking the base disk image, the application delta disk image, a second application delta disk image, and the user delta disk image, wherein the second application delta disk image includes the one or more files associated with the second application.

10. The system of claim 8 , wherein the allocating of the disk space comprises using APIs of a disk operating system of the virtual desktop to create one or more empty files corresponding in size to the one or more files associated with the selected application.

11. The system of claim 8 , wherein the one or more files associated with the application include a virtualized application container file.

12. The system of claim 11 , wherein the method further comprises encapsulating the virtualized application container file within a delta disk image file to create the application delta disk image used in the recomposing.

13. The system of claim 8 , wherein the method is implemented by a virtual desktop management application that executes outside the virtual desktop and the allocating of disk space is carried out on behalf of the virtual desktop management application by an agent application installed on the virtual desktop that operates in conjunction with the virtual desktop management application.

14. The system of claim 13 , wherein the agent writes mapping information for allocated space at a location accessible to the desktop management application, the desktop management application using the mapping information in the modifying of the meta data.

15. A non-transitory data storage medium embodying computer instructions causing a computer system to implement a method for composing a virtual desktop, the method comprising:

causing the virtual desktop to boot from a virtual disk backed by a base disk image and a user delta disk image, the user delta disk image receiving all disk writes to the virtual disk;

for a selected application to be provided to a user of the virtual desktop, allocating disk space on the virtual disk for one or more files associated with the selected application, the allocating comprising generating and storing on the user delta disk image meta data that indicates one or more locations on the virtual disk at which the one or more files are to be stored;

shutting down the virtual desktop after the allocating of the disk space;

while the virtual desktop is shut down, maintaining the meta data on the user delta disk image;

and

recomposing the virtual disk, the recomposing of the virtual disk comprising

linking the base disk image, an application delta disk image, and the user delta disk image, the user delta disk image configured to receive all disk writes to the recomposed virtual disk, the application delta disk image including the one or more files associated with the selected application, and

the recomposing further comprising copying the meta data from the user delta disk image to the application delta disk image and modifying meta data of the application delta disk image and the user delta disk image so that the one or more files associated with the selected application are mapped to the disk space allocated for the one or more files associated and read requests to the virtual disk for the one or more files are satisfied with data from the one or more files associated with the application on the application delta disk image.

16. The data storage medium of claim 15 , wherein the method further comprises allocating additional disk space on the virtual disk for one or more files associated with a second selected application prior to the shutting down of the virtual desktop, the recomposing of the virtual disk comprising linking the base disk image, the application delta disk image, a second application delta disk image, and the user delta disk image, wherein the second application delta disk image includes the one or more files associated with the second application.

17. The data storage medium of claim 15 , wherein the allocating of the disk space comprises using APIs of a disk operating system of the virtual desktop to create one or more empty files corresponding in size to the one or more files associated with the selected application.

18. The data storage medium of claim 15 , wherein the one or more files associated with the application include a virtualized application container file.

19. The data storage medium of claim 18 , wherein the method further comprises encapsulating the virtualized application container file within a delta disk image file to create the application delta disk image used in the recomposing.

20. The data storage medium of claim 15 , wherein the method is implemented by a virtual desktop management application that executes outside the virtual desktop and the allocating of disk space is carried out on behalf of the virtual desktop management application by an agent application installed on the virtual desktop that operates in conjunction with the virtual desktop management application.

21. The data storage medium of claim 20 , wherein the agent writes mapping information for allocated space at a location accessible to the desktop management application, the desktop management application using the mapping information in the modifying of the meta data.

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 May 8, 2012
From: KULKARNI, NEERAJ SANJEEV
To: VMWARE, INC.
Reel/Frame 028176/0779 →