CPC H04L 65/70 (2022.05) [G06F 16/183 (2019.01); G06F 16/71 (2019.01); H04L 47/12 (2013.01); H04L 47/801 (2013.01); H04L 65/1069 (2013.01); H04L 65/1101 (2022.05); H04L 65/61 (2022.05); H04L 65/65 (2022.05); H04L 65/80 (2013.01); H04L 67/02 (2013.01); H04L 67/568 (2022.05); H04L 67/60 (2022.05); H04N 7/24 (2013.01); H04N 21/23439 (2013.01); H04N 21/2662 (2013.01); H04N 21/4331 (2013.01); H04N 21/84 (2013.01); H04N 21/8456 (2013.01)] | 20 Claims |
1. An end user station for adaptive-rate content streaming of digital content comprising:
a client module configured to be connected to a network having at least one server and further configured to request digital content over the network via at least one transmission control protocol (TCP) connection, wherein at least two different copies of the digital content are each encoded at different bit rates and stored on the at least one server, wherein each copy of the digital content is divided into a plurality of streamlets, each of the plurality of streamlets of a corresponding copy comprising a different portion of the digital content during presentation, wherein corresponding streamlets across the at least two different copies comprise the same corresponding portions of the digital content during presentation, and wherein the client module streams the digital content by:
requesting a first streamlet from the at least one server;
automatically requesting from the at least one server subsequent portions of the digital content by requesting for each subsequent portion one of the streamlets from the different copies of the digital content dependent upon successive determinations by the client module to change a currently requested bit rate to a higher or lower bit rate, the automatically requesting including repeatedly generating a factor indicative of a current ability to receive digital content at a rate sufficient for presenting the digital content as the digital content is received;
making the successive determinations to change the digital content bit rate based on the factor using the streamlets of one of the different copies of the digital content having the highest bit rate determined receivable for presentation so that the client module selects a higher bit rate one of the different copies when the factor is greater than a first threshold and selects a lower bit rate one of the different copies when the factor is less than a second threshold; and
arranging the streamlets requested from the at least one server in order of ascending presentation time for output to a presentation device.
|