Method and system for streaming software applications to a client
First Claim
1. A system for streaming a software application to a client comprising:
- an application library having application files and a prediction model stored therein;
a streaming manager configured to send the application files to a client as a plurality of streamlets, each streamlet corresponding to a particular data block in a respective application file;
a streaming prediction engine configured to identify at least one streamlet which is predicted to be most appropriate to send to a given client at a particular time in accordance with the prediction model.
5 Assignments
0 Petitions
Accused Products
Abstract
A method and system for streaming software applications to a client uses an application server having a library with the application files stored therein. A streaming manager is configured to send the application files to a client as a plurality of streamlets, each streamlet corresponding to a particular data block in a respective application file. A streaming prediction engine is provided to identify at least one streamlet which is predicted to be most appropriate to send to a given client at a particular time in accordance with a prediction model reflecting the manner in which the application files are loaded and used by the application. In the preferred implementation, the application files are preprocessed and stored as a set of compressed streamlets, each of which corresponds to a file data block having a size equal to a code page size, such as 4k, used during file reads by an operating system expected to be present on a client system. In addition, the server is configured to send a startup block to a new streaming client containing a file structure specification of the application files and a set of streamlets comprising at least those streamlets containing the portions of the application required to enable execution of the application to be initiated.
297 Citations
52 Claims
-
1. A system for streaming a software application to a client comprising:
-
an application library having application files and a prediction model stored therein;
a streaming manager configured to send the application files to a client as a plurality of streamlets, each streamlet corresponding to a particular data block in a respective application file;
a streaming prediction engine configured to identify at least one streamlet which is predicted to be most appropriate to send to a given client at a particular time in accordance with the prediction model. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A method for streaming a software application comprising the steps of:
-
providing at a server an application library having application files stored therein;
forwarding the application files to a client as a particular sequence of streamlets, each streamlet corresponding to a particular data block in a respective application file;
determining the particular sequence of streamlets in accordance with a prediction model indicating which streamlets are most appropriate to send to a given client at a particular time. - View Dependent Claims (20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37)
-
-
38. A computer program product stored on a computer readable medium, the product comprising a computer program for configuring a server with an application library having application files stored therein to stream the application to a client, the computer program comprising code to configure the server to:
-
forward the application files to a client as a particular sequence of streamlets, each streamlet corresponding to a particular data block in a respective application file; and
determine the particular sequence of streamlets in accordance with a prediction model indicating which streamlets are most appropriate to send to a given client at a particular time. - View Dependent Claims (39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52)
-
Specification