Method and apparatus for determining the order of streaming modules
First Claim
1. A method for determining an order in which to stream modules of an application from a server to a client configured to execute the application concurrently with module streaming, the application utilizing the modules in an execution-time dependent order, the method comprising the steps of:
- identifying potential execution transitions between modules;
associating at least one weighted value with each transition indicating a likelihood relative to other transitions that the particular transitions between modules will occur;
upon notice that the client is executing a particular module, determining a subsequent order of utilization of the modules by the application at the client with reference to the weighted values associated with identified transitions from the particular module; and
indicating that modules should be streamed to the client in the determined order.
2 Assignments
0 Petitions
Accused Products
Abstract
A method for determining an order in which to stream modules of an application from a server to a client, where the application uses modules in an execution-time dependent order, employs a predictive model to determine which module transitions are most likely to occur in the future in view of the clients present state in the application and then stream the modules to the client in the determined order. Different sets of transition weights can be used for clients falling into different categories, such as time of application use and age of the user at the client. Additional factors which can be used to select the order to stream the modules include cache utilization at the client and customized streaming orders specified by the user.
-
Citations
20 Claims
-
1. A method for determining an order in which to stream modules of an application from a server to a client configured to execute the application concurrently with module streaming, the application utilizing the modules in an execution-time dependent order, the method comprising the steps of:
-
identifying potential execution transitions between modules;
associating at least one weighted value with each transition indicating a likelihood relative to other transitions that the particular transitions between modules will occur;
upon notice that the client is executing a particular module, determining a subsequent order of utilization of the modules by the application at the client with reference to the weighted values associated with identified transitions from the particular module; and
indicating that modules should be streamed to the client in the determined order. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A method for determining an order in which to stream modules of an application from a server to a client executing the application concurrently with module streaming, the application utilizing the modules in an execution-time dependent order and comprising a plurality of functions, each function having at least one associated module, the method comprising the steps of:
-
receiving from a user a customized streaming order for modules associated with a specific function;
receiving notice that the user is executing a particular function;
if the particular function has an associated customized streaming order for the user, indicating that modules associated with the particular function should be streamed to the client in the selected streaming order;
otherwise, determining an alternative order of utilization of modules in the particular function; and
indicating that modules should be streamed to the client in the determined order. - View Dependent Claims (8, 9, 10, 11)
-
-
12. A system for streaming modules of an application from a server to a client executing the application concurrently with module streaming, the application utilizing the modules in an execution-time dependent order, the system comprising:
-
a streaming sever connectable to a client via a network;
a streaming code module database having the application module stored therein;
a streaming control file database having a predictive data stored therein, the predictive data comprising potential execution transitions between modules and at least one weighted value with each transition indicating a likelihood relative to other transitions that the particular transitions between modules will occur;
the streaming server being configured to;
receive an indication from the client that the application is in a given state;
determine an order of module utilization by the application at the client with reference to weighted values associated with model transitions for the application when in the given state; and
stream modules the client in the determined order. - View Dependent Claims (13, 14, 15, 16, 17)
-
-
18. A computer program residing on a computer readable medium for configuring a computer to determine an order in which to stream modules of an application from the computer to a client executing the application concurrently with module streaming, the application utilizing the modules in an execution-time dependent order, the computer program comprising computer code to configure the computer to:
-
upon notice that the client is executing a particular module, determine a subsequent order of utilization of the modules by the application at the client with reference to predefined weighted transition values for potential execution transitions between modules by the application, the transition values indicating a likelihood relative to other transitions that the particular transition between modules will occur; and
indicating that modules should be streamed to the client in the determined order. - View Dependent Claims (19, 20)
-
Specification