Client-side caching of streaming media content
First Claim
Patent Images
1. A method, implemented in a server device, comprising:
- sending, to a client device adapted to render media content, a supported header comprising a directive indicating that caching of the media content by the client device is supported by the server device;
in response to sending the directive to the client device, receiving, from the client device, a request for media content to be streamed from the server device to the client device, wherein the media content has an encoded bit rate, and wherein the request comprises;
an indication of the media content; and
a speed message header that indicates a speed factor relative to the encoded bit rate of the media content, wherein the speed message header is selected from a group consisting of “
Pragma;
Speed=x” and
“
Speed=x”
, and wherein x represents the speed factor;
calculating a preferred streaming rate by multiplying the speed factor relative to the encoded bit rate of the media content by the encoded bit rate of the media content;
determining an available bandwidth for streaming the media content between the server device and the client device;
determining by the server device one or more streaming rates at which the server device is able to stream the media content to the client device, wherein the one or more streaming rates do not exceed the available bandwidth for streaming the media content between the server device and the client device and the one or more streaming rates are a particular amount less than the available bandwidth;
selecting, by the server device and based upon a comparison of the preferred streaming rate, the available bandwidth, and the one or more rates at which the server device is able to stream media content, a streaming rate from the one or more streaming rates that is closest to the preferred streaming rate, wherein the server device is capable of streaming the media content at the streaming rate and the streaming rate is different from the encoded bit rate of the media content;
sending an indication of the streaming rate to the client device; and
streaming, to the client device, the media content at the streaming rate.
2 Assignments
0 Petitions
Accused Products
Abstract
Various functionality with respect to streaming media content is made available to users. Such functionality includes one or more of: streaming media content at a rate independent of the encoded bit rate of the content, allowing streaming of content to continue even when the user has selected various shuttle control options (e.g., pause, stop, fast forward, seek, rewind, etc.), allowing streaming content to be recorded for playback at a later time, and allowing streaming content to be time-shifted.
136 Citations
18 Claims
-
1. A method, implemented in a server device, comprising:
-
sending, to a client device adapted to render media content, a supported header comprising a directive indicating that caching of the media content by the client device is supported by the server device; in response to sending the directive to the client device, receiving, from the client device, a request for media content to be streamed from the server device to the client device, wherein the media content has an encoded bit rate, and wherein the request comprises; an indication of the media content; and a speed message header that indicates a speed factor relative to the encoded bit rate of the media content, wherein the speed message header is selected from a group consisting of “
Pragma;
Speed=x” and
“
Speed=x”
, and wherein x represents the speed factor;calculating a preferred streaming rate by multiplying the speed factor relative to the encoded bit rate of the media content by the encoded bit rate of the media content; determining an available bandwidth for streaming the media content between the server device and the client device; determining by the server device one or more streaming rates at which the server device is able to stream the media content to the client device, wherein the one or more streaming rates do not exceed the available bandwidth for streaming the media content between the server device and the client device and the one or more streaming rates are a particular amount less than the available bandwidth; selecting, by the server device and based upon a comparison of the preferred streaming rate, the available bandwidth, and the one or more rates at which the server device is able to stream media content, a streaming rate from the one or more streaming rates that is closest to the preferred streaming rate, wherein the server device is capable of streaming the media content at the streaming rate and the streaming rate is different from the encoded bit rate of the media content; sending an indication of the streaming rate to the client device; and streaming, to the client device, the media content at the streaming rate. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A server computer system comprising:
-
at least one processor; a memory, communicatively coupled to the at least one processor and containing instructions that, when executed by the at least one processor, perform the following steps; sending, to a client device adapted to render media content, a supported header comprising a directive indicating that caching of the media content by the client device is supported by the server device; in response to sending the directive to the client device, receiving, from the client device, a request for media content to be streamed from the server device to the client device, wherein the media content has an encoded bit rate, and wherein the request comprises; an indication of the media content; and a speed message header that indicates a speed factor relative to the encoded bit rate of the media content, wherein the speed message header is selected from a group consisting of “
Pragma;
Speed=x” and
“
Speed=x”
, and wherein x represents the speed factor;calculating a preferred streaming rate by multiplying the speed factor relative to the encoded bit rate of the media content by the encoded bit rate of the media content; determining an available bandwidth for streaming the media content between the server device and the client device; determining by the server device one or more streaming rates at which the server device is able to stream the media content to the client device, wherein the one or more streaming rates do not exceed the available bandwidth for streaming the media content between the server device and the client device and the one or more streaming rates are a particular amount less than the available bandwidth; selecting, by the server device and based upon a comparison of the preferred streaming rate, the available bandwidth, and the one or more rates at which the server device is able to stream media content, a streaming rate from the one or more streaming rates that is closest to the preferred streaming rate, wherein the server device is capable of streaming the media content at the streaming rate and the streaming rate is different from the encoded bit rate of the media content; sending an indication of the streaming rate to the client device; and streaming, to the client device, the media content at the streaming rate. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18)
-
Specification