A network caching system for streamed applications provides for the caching of
streamed applications within a computer network that are accessible by client systems
within the network. Clients request streamed application file pages from other
client systems, proxy servers, and application servers as each streamed application
file is stored in a cache and used. Streamed application file page requests are
broadcast to other clients using a multicast packet. Proxy servers are provided
in the network that store a select set of streamed application file pages and respond
to client requests by sending a response packet containing the requested streamed
application file page if the streamed application file page is stored on the proxy
server. Streamed application servers store all of the streamed application file
pages. Clients try to send requests to streamed application servers as a last resort.
Clients can concurrently send requests to other clients, to a proxy server, and
to a streamed application server. Clients measure the response time to the client's
requests placing a positive weighting on the more responsive request path and sending
subsequent requests to the more positively weighted request path first.