Adaptive transfer rate for retrieving content from a server
First Claim
1. A system comprising:
- a media cache configured to store fragments of content files; and
a server system comprising a processor and memory, wherein the memory includes instructions that, when executed by the processor, cause the server system to;
receive, from a user device, a request for a first fragment of a first content file;
determine whether the first fragment is stored in the media cache;
retrieve a manifest file associated with the first content file from an origin server in response to a determination that the first fragment is not stored in the media cache, wherein the manifest file comprises a playback time of the first fragment and a bitrate of the first fragment;
determine a retrieval rate for the first fragment, wherein the retrieval rate is determined based, at least in part, on the playback time of the first fragment and the bitrate of the first fragment;
request the first fragment from the origin server at a transfer rate that is at least equal to the determined retrieval rate;
receive the first fragment from the origin server; and
transmit the received first fragment to the user device.
1 Assignment
0 Petitions
Accused Products
Abstract
An edge system receives requests from user devices to retrieves files from an origin server. Instead of retrieving the files as fast as possible, the edge system throttles the retrieval of files to a rate that just exceeds the speed at which the file is played by a browser or media player. The edge system determines an appropriate retrieval rate based on the contents of the file itself. For example, a manifest file associated with the file can indicate a time it takes to play back content and a bitrate of the content. Thus, the edge server can use this information to retrieve a file from an origin server at a rate that is just fast enough to minimize playback interruption. The retrieval rate determined by the edge server therefore does not rely on how fast or slow the user device retrieves the file from the edge server.
-
Citations
21 Claims
-
1. A system comprising:
-
a media cache configured to store fragments of content files; and a server system comprising a processor and memory, wherein the memory includes instructions that, when executed by the processor, cause the server system to; receive, from a user device, a request for a first fragment of a first content file; determine whether the first fragment is stored in the media cache; retrieve a manifest file associated with the first content file from an origin server in response to a determination that the first fragment is not stored in the media cache, wherein the manifest file comprises a playback time of the first fragment and a bitrate of the first fragment; determine a retrieval rate for the first fragment, wherein the retrieval rate is determined based, at least in part, on the playback time of the first fragment and the bitrate of the first fragment; request the first fragment from the origin server at a transfer rate that is at least equal to the determined retrieval rate; receive the first fragment from the origin server; and transmit the received first fragment to the user device. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A computer-implemented method comprising:
as implemented by one or more computing devices configured with specific executable instructions, receiving, from a user device, a request for a first fragment of a first content file; determining whether the first fragment is stored in a media cache; determining a retrieval rate for the first fragment in response to a determination that the first fragment is not stored in the media cache, wherein the retrieval rate is determined based, at least in part, on a playback time of the first fragment and a bitrate of the first fragment; requesting the first fragment from a server at a transfer rate that is at least the determined retrieval rate; receiving the first fragment from the server; and transmitting the received first fragment to the user device. - View Dependent Claims (7, 8, 9, 10, 11, 12, 13, 14)
-
15. A non-transitory computer-readable medium having stored thereon executable program code that directs a media fetcher operating on one or more computing devices to perform operations comprising:
-
receiving, from a user device, a request for a first fragment of a first content file; determining that the first fragment is not stored in a media cache; determining a retrieval rate for the first fragment in response to the determination that the first fragment is not stored in the media cache, wherein the retrieval rate is determined based, at least in part, on a playback time of the first fragment and a bitrate of the first fragment; requesting the first fragment from a server at a transfer rate that is at least the determined retrieval rate; receiving the first fragment from the server; and transmitting the received first fragment to the user device. - View Dependent Claims (16, 17, 18, 19, 20, 21)
-
Specification