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.