Streaming Virtual Disk for Virtual Applications
First Claim
1. A computer readable storage medium comprising computer readable instructions configured to perform a method comprising:
- receiving a first start request to launch a virtual application;
instantiating a virtual hard disk comprising a single file, said single file being comprised of a plurality of blocks;
establishing a connection to a virtual application server;
retrieving a first subset of said blocks from said virtual application server, said first subset being less than said single file;
launching said virtual application using said subset of said blocks;
performing at least one validation on each of said blocks in said first subset; and
storing said blocks in said virtual hard disk.
2 Assignments
0 Petitions
Accused Products
Abstract
A sparsely populated, streaming virtual disk may be used with a virtual application to enable fast launching of a virtual application from a network server. The virtual disk may be configured and populated in blocks, enabling those blocks that are used at a particular time to be downloaded and stored in the virtual disk. As other blocks are requested by the virtual application, those blocks may be fetched from the network server. Each block may be validated using a hash tree or some other function so that the recipient may verify authenticity and completeness. In some embodiments, a virtual application may be configured and deployed as a single file, enabling simple version control among other things.
-
Citations
20 Claims
-
1. A computer readable storage medium comprising computer readable instructions configured to perform a method comprising:
-
receiving a first start request to launch a virtual application; instantiating a virtual hard disk comprising a single file, said single file being comprised of a plurality of blocks; establishing a connection to a virtual application server; retrieving a first subset of said blocks from said virtual application server, said first subset being less than said single file; launching said virtual application using said subset of said blocks; performing at least one validation on each of said blocks in said first subset; and storing said blocks in said virtual hard disk. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A system comprising:
-
a virtual hard disk; a management engine configured to; receive a first start request to launch a virtual application; establish a connection to a virtual application server; determine that said virtual application is comprised in a first file; determine that a first subset of blocks of said file will be used to launch said virtual application; a transport mechanism configured to; retrieve a first subset of said blocks from said virtual application server, said first subset being less than said single file; and store said first subset of said blocks in said virtual hard disk; a virtual application environment configured to launch said virtual application using said first subset of said blocks from said virtual hard disk. - View Dependent Claims (15, 16, 17)
-
-
18. A method comprising:
-
receiving a request for a virtual application, said request comprising a first version identifier and being sent from a client device; determining that said first version identifier is an older version than a current version, said current version being comprised in a first file; identifying a first subset of blocks comprising a subset of said first file, said first subset being sufficient to enable said virtual application to be launched in a virtual environment on said client device; transmitting said first subset of blocks to said client device; and receiving a request for a second block after said virtual application is operational and transmitting said second block to said client device. - View Dependent Claims (19, 20)
-
Specification