Patent ID: 8612624

Claim:
A system for adaptive-rate content streaming videos for playback on end user stations, the system comprising a set of one or more servers including, a storage device to store a plurality of different copies of a same single video, wherein each of the plurality of different copies is encoded at a different bit rate and wherein each of the plurality of different copies is divided into a plurality of streamlets that collectively store data to playback the entire same single video but that individually store data to playback only a portion of the same single video that starts at a unique time index and that has a duration that is less than the entire playback duration of the single video, wherein the time indexes of the streamlets are the same for the different copies such that the streamlets with the same time indexes from the different copies independently yield the same portions of the same single video, and wherein each of the streamlets of each of the different copies is a separate content file that is independently requestable and playable by the end user stations, and a web server, to be executed on the set of servers, wherein the web server is configured to: receive, for a set of one or more initial and sequential ones of the time indexes, at least one streamlet request over a set of one or more network connections from a requesting one of the end user stations to retrieve a first identified streamlet from one of the different copies of the same single video, wherein the first requested streamlet stores a requested portion of the same single video starting at one of the set of time indexes; retrieve the first identified streamlet from the storage device; send the retrieved first identified streamlet to the requesting one of the end user stations over the set of network connections; receive, for each subsequent time index, at least one streamlet request over the set of network connections from the requesting one of the end user stations to retrieve a subsequent identified streamlet storing the portion of the single video starting at that time index from one of the different copies of the same single video, wherein the requesting one of the end user stations selects the subsequent identified streamlets dependent upon ongoing determinations to shift the playback quality to a higher or lower quality one of the different copies, wherein the shifts in playback quality occur at the time indexes; retrieve from the storage device the subsequent identified streamlets; and send the subsequent identified streamlets to the requesting one of the end user stations over the set of network connections.