Preprocessed applications suitable for network streaming applications and method for producing same
First Claim
1. A method for preprocessing a software application for use in a streaming environment, the application including a file, the method comprising:
- dividing the file into blocks according to how the file is expected to be read on a target;
packaging the blocks into a repository from which individual blocks can be extracted; and
providing an application package comprising the repository for distribution to the target system to enable the target system to execute the application in a streaming mode.
4 Assignments
0 Petitions
Accused Products
Abstract
An application is preprocessed for use in an application streaming environment by dividing each file in the application into blocks corresponding to the code page block size used by the operating system. Each block is compressed, and the compressed blocks from all of the files are packaged into a repository which permits specific blocks to be extracted. The repository and a specification for the application'"'"'s file structure are combined into a streaming application package which can be distributed to servers supporting the streaming of the application to a client. The application package can also include environmental install information indicating changes introduced to the computer system by installation of the application on the computer system, a startup set indicating those blocks which are sufficient for execution of the application to be initiated and progress to a designated startup point, and a predictive model suitable for use by a streaming server.
-
Citations
32 Claims
-
1. A method for preprocessing a software application for use in a streaming environment, the application including a file, the method comprising:
-
dividing the file into blocks according to how the file is expected to be read on a target;
packaging the blocks into a repository from which individual blocks can be extracted; and
providing an application package comprising the repository for distribution to the target system to enable the target system to execute the application in a streaming mode. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
generating an index to the repository; and
including the index in the application package.
-
-
6. The method of claim 1, wherein the repository is configured to permit access to blocks with reference to a source application file and an offset in the source application file.
-
7. The method of claim 1, further comprising:
-
determining environmental changes introduced to a computer system by installation of the application on the computer system; and
providing an environmental install package comprising data indicating the determined environmental changes for distribution.
-
-
8. The method of claim 7, wherein said providing the environmental install package comprises including the environmental install package in the application package.
-
9. The method of claim 1, further comprising:
-
determining a startup set comprising at least a minimal set of blocks sufficient for execution of the application to be initiated; and
providing a startup streamlet set for distribution.
-
-
10. The method of claim 9, wherein said providing the startup set comprises including the startup streamlet set in the application package.
-
11. The method of claim 9, wherein said determining the startup set comprises:
-
executing the application;
monitoring file block load requests at least until a designated startup point has been reached by the application; and
identifying file blocks which were loaded prior to reaching the startup point.
-
-
12. The method of claim 11, wherein the startup point comprises a point when the application awaits user input.
-
13. The method of claim 1, further comprising:
-
generating a predictive model for use in determining likely blocks to be loaded by the application when in a given state; and
providing the predictive model for distribution.
-
-
14. The method of claim 13, wherein said providing the predictive model comprises including the predictive model in the application package.
-
15. The method of claim 1, wherein the application has a file structure, the method further comprising including a specification of the file structure of the application in the application package.
-
16. A method for preprocessing a software application for use in application streaming environments, the application having a file structure and comprising a plurality of files, the method comprising:
-
determining the file structure of the application;
dividing each of the plurality of files into blocks according to how each file is expected to be read on a target system that executes the application;
packaging the blocks into a repository from which individual blocks can be extracted;
including the repository in an application package for distribution to the target system;
determining environmental changes introduced to a computer system by installation of the application on the computer system;
including data indicating the environmental changes in the application package;
determining a startup set comprising at least a minimal set of blocks sufficient for execution of the application to be initiated on the target system; and
including the startup set in the application package to enable the target system to execute the application in a streaming mode. - View Dependent Claims (17, 18, 19, 20, 21, 22, 23)
generating an index to the repository; and
including the index in the application package.
-
-
20. The method of claim 16, wherein the repository is configured to permit access to blocks with reference to a source application file and an offset in the source application file.
-
21. The method of claim 16, wherein said determining the startup set comprises:
-
executing the application;
monitoring file block load requests at least until a designated startup point has been reached by the application; and
identifying file blocks which were loaded prior to reaching the startup point.
-
-
22. The method of claim 21, wherein the startup point comprises a point when the application awaits user input.
-
23. The method of claim 16, further comprising the steps of:
-
generating a predictive model for use in determining likely blocks to be loaded by the application when in a given state; and
including the predictive model in the application package.
-
-
24. A method for preprocessing a software application for use in an application streaming environment, the application having a file structure and comprising at least one file, the method comprising:
-
determining the file structure of the application;
dividing the application file into blocks according to how the file is expected to be read on a target system;
packaging the blocks into a repository from which the blocks can be extracted individually; and
creating an application package which includes the repository and a specification of the file structure, the application package for distribution to the target system to enable the target system to execute the application in a streaming mode. - View Dependent Claims (25, 26, 27, 28, 29, 31, 32)
determining environmental changes introduced to a computer system by installation of the application on the computer system;
providing an environmental install package comprising data indicating the determined environmental changes for distribution; and
including the environmental install package in the application package.
-
-
28. The method of claim 24, further comprising:
-
determining at least a minimal set of blocks sufficient for execution of the application to be initiated; and
including said minimal set of blocks as a startup streamlet set in the application package.
-
-
29. The method of claim 28, wherein said determining at least a minimal set of blocks sufficient for execution of the application to be initiated comprises:
-
executing the application;
monitoring file block load requests at least until a designated startup point has been reached by the application; and
identifying file blocks which were loaded prior to reaching the startup point.
-
-
31. The method of claim 24, further comprising:
-
generating a predictive model for use in determining likely blocks to be loaded by the application when in a given state; and
providing the predictive model for distribution.
-
-
32. The method of claim 31, wherein said providing the predictive model comprises including the predictive model in the application package.
-
30. The method of claim 39, wherein the startup point comprises a point when the application awaits user input.
Specification