An
intelligent network streaming and execution
system for conventionally coded applications provides a
system that partitions an application program into page segments by observing the manner in which the application program is conventionally installed. A minimal portion of the application program is installed on a
client system and the user launches the application in the same ways that applications on other
client file systems are started. An application program
server streams the page segments to the
client as the application program executes on the client and the client stores the page segments in a cache. Page segments are requested by the client from the
application server whenever a
page fault occurs from the cache for the application program. The client prefetches page segments from the
application server or the
application server pushes additional page segments to the client based on the pattern of page segment requests for that particular application. The user subscribes and unsubscribes to application programs, whenever the user accesses an application program a securely encrypted
access token is obtained from a
license server if the user has a valid subscription to the application program. The application
server begins streaming the requested page segments to the client when it receives a valid
access token from the client. The client performs
server load balancing across a plurality of application servers. If the client observes a non-response or
slow response condition from an application server or
license server, it switches to another application or
license server.