Patent ID: 8725947

Claim:
A computer program product comprising one or more computer storage media having stored thereon computer-executable instructions that, when executed by one or more processors of the computing system, cause a computing system to implement a method of adaptive streaming of content from a network, where the method is comprised of: instantiating in a computer memory of the computing system an adaptive stream player that includes a stream cache and a cache control component; when executed by one or more processors of the computing system, the adaptive stream player performing the following: monitoring conditions of the computing system, wherein the monitored conditions include a display window size, network bandwidth availability, and computing system processor resource availability; requesting a stream one portion at a time over a network; requesting one or more stream portions having particular characteristics, the particular characteristics of the one or more stream portions depending on the monitored current conditions of the computing system; the cache control component storing at least some of the requested stream portions in the stream cache; and when playing a stream, before the adaptive stream player makes a request for a portion of a stream having particular characteristics, the cache control component first determining whether or not an acceptable version of the stream portion to be requested is present in the stream cache, a cached stream portion being an acceptable version only if it has the particular characteristics determined by the current conditions of the computing system, and if so, playing the acceptable version of the stream portion, and if not, proceeding with the request from the network and playing the requested stream portion on the adaptive stream player, so that some portions of the stream are played using stream portions requested from the network but which are not currently stored in the stream cache when played, and some portions of the stream are played using cached portions of the stream.