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.