Network-optimized content delivery for high demand non-live contents
First Claim
1. A method of distributing a non-live digital content file, the method comprising:
- receiving, at a content provider network from a client source, a request for a non-live digital content file;
transmitting, from the content provider network to the client source, meta information in response to a request for the non-live digital content file, the meta information indicating;
a division of the non-live digital content file into blocks;
available overlapping, out-of-phase sources, each source having a start time for the non-live digital content file and delivering the blocks from the start time, the available overlapping, out-of-phase sources including a first cache server and a second cache server, each of the overlapping, out-of-phase sources delivering the non-live digital content file time shifted from one another;
a first start time for the blocks from the first cache server;
a second start time for the blocks from the second cache server; and
a protocol used by at least one of the first cache server and the second cache server to transmit the blocks;
receiving, at the content provider network from the client source, a selection of a cache server within the content provider network, wherein the selection is based on the first start time and the second start time;
transmitting, from a selected cache server of the content provider network to the client source, the blocks, wherein the blocks are transmitted beginning with a currently delivered block using multicast; and
transmitting, from an unselected cache server of the content provider network, one or more start blocks missing from the blocks transmitted from the selected cache server from the start time for the non-live digital content file to the currently delivered block using anycast, and the selected cache server of the content provider network remains connected to the client source while one or more blocks are transmitted from the unselected cache server of the content provider network to the client source.
2 Assignments
0 Petitions
Accused Products
Abstract
A method, apparatus and computer-readable storage medium distribute a non-live content stream in a network. An initial meta-file is transmitted in response to a request for the content, which identifies a division of the content stream into blocks, and available sources for delivery of the blocks. The initial meta-file can identify a first multicast and a second multicast server, assigning a first and second portion of the blocks for delivery using the first and second multicast source server, respectively. The first and second portions are transmitted using the first and second multicast source servers, respectively. The first and second portions correspond to distinct non-overlapping portions of the non-live content stream. The initial meta-file can also identify a unicast source server, assigning a third portion of the blocks for delivery using the unicast source server, the third portion being transmitted by the unicast source server.
-
Citations
20 Claims
-
1. A method of distributing a non-live digital content file, the method comprising:
-
receiving, at a content provider network from a client source, a request for a non-live digital content file; transmitting, from the content provider network to the client source, meta information in response to a request for the non-live digital content file, the meta information indicating; a division of the non-live digital content file into blocks; available overlapping, out-of-phase sources, each source having a start time for the non-live digital content file and delivering the blocks from the start time, the available overlapping, out-of-phase sources including a first cache server and a second cache server, each of the overlapping, out-of-phase sources delivering the non-live digital content file time shifted from one another; a first start time for the blocks from the first cache server; a second start time for the blocks from the second cache server; and a protocol used by at least one of the first cache server and the second cache server to transmit the blocks; receiving, at the content provider network from the client source, a selection of a cache server within the content provider network, wherein the selection is based on the first start time and the second start time; transmitting, from a selected cache server of the content provider network to the client source, the blocks, wherein the blocks are transmitted beginning with a currently delivered block using multicast; and transmitting, from an unselected cache server of the content provider network, one or more start blocks missing from the blocks transmitted from the selected cache server from the start time for the non-live digital content file to the currently delivered block using anycast, and the selected cache server of the content provider network remains connected to the client source while one or more blocks are transmitted from the unselected cache server of the content provider network to the client source. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A computer-readable storage device storing instructions that, when executed, cause distribution of non-live digital content file by performing operations comprising:
-
receiving, at a content provider network from a client source, a request for a non-live digital content file; transmitting, from the content provider network to the client source, meta information in response to a request for the non-live digital content file, the meta information indicating; a division of the non-live digital content file into blocks; available overlapping, out-of-phase sources, each source having a start time for the non-live digital content file and delivering the blocks from the start time, the available overlapping, out-of-phase sources including a first cache server and a second cache server, each of the overlapping, out-of-phase sources delivering the non-live digital content file time shifted from one another; a first start time for the blocks from the first cache server; a second start time for the blocks from the second cache server; and a protocol used by at least one of the first cache server and the second server to transmit the blocks; receiving, at the content provider network from the client source, a selection of a cache server within the content provider network, wherein the selection is based on the first start time and the second start time; transmitting, from a selected cache server of the content provider network to a client source, the blocks, wherein the blocks are transmitted beginning with a currently delivered block using multicast; and transmitting, from an unselected cache server of the content provider network, one or more start blocks missing from the blocks transmitted from the selected cache server from the start time for the non-live digital content file to the currently delivered block using anycast, and the selected cache server of the content provider network remains connected to the client source while one or more blocks are transmitted from the unselected cache server of the content provider network to the client source. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A system that distributes non-live digital content file, the system comprising:
-
a content provider network, the content provider network comprising a processing device, the content provider network; receiving, from a client source, a request for a non-live digital content file; and transmitting, to the client source, meta information in response to a request for the non-live digital content file, the meta information indicating; a division of the non-live digital content file into blocks; available first and second overlapping, out-of-phase sources, each source having a start time for the non-live digital content file that is time shifted from one another and each source delivering the blocks from a first start time and a second start time; and a selection of a more recent start time from the first start time and the second start time and indicating a protocol used to transmit the blocks; a selected server of the content provider network, the selected transmitting, to the client source, the non-live digital content file blocks beginning with a currently delivered block; and an unselected server of the content provider network, the unselected transmitting one or more start blocks missing from the non-live digital content file blocks transmitted from the selected server from the start time for the non-live digital content file to the currently delivered block, and the selected server of the content provider network remains connected to the client source while one or more blocks are transmitted from the unselected server of the content provider network to the client source. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification