Patent ID: 8868772

Claim:
A method for presenting rate-adaptive streams, the method comprising: streaming by a media player operating on an end user station a video from a set of one or more servers, wherein each of a plurality of different copies of the video encoded at different bit rates is stored as multiple files on the set of servers, wherein each of the multiple files yields a different portion of the video on playback, wherein the multiple files across the different copies yield the same portions of the video on playback, each of said files having a time index such that the files whose playback is the same portion of the video for each of the different copies have the same time index in relation to the beginning of the video, and wherein the streaming comprises: requesting by the media player a plurality of sequential ones of the files of one of the copies from the set of servers over a plurality of Transmission Control Protocol (TCP) connections based on the time indexes; automatically requesting by the media player from the set of servers over the plurality of TCP connections subsequent portions of the video by requesting for each such portion one of the files from one of the copies dependent upon successive determinations by the media player to shift the playback quality to a higher or lower quality one of the different copies, said automatically requesting including, repeatedly generating a set of one or more factors indicative of the current ability to sustain the streaming of the video using the files from different ones of the copies, wherein the set of one or more factors relate to the performance of the network; and making the successive determinations to shift the playback quality based on at least one of the set of factors to achieve continuous playback of the video using the files of the highest quality one of the copies determined sustainable at that time; and presenting the video by playing back with the media player on the end user station the requested files in order of ascending playback time.