Network-optimized content delivery for high demand non-live contents
First Claim
1. A method of distributing a non-live content stream in a network, the method comprising:
- transmitting, using a processing device, an initial meta-file in response to receiving a request for a non-live content stream, the initial meta-file identifying a division of the non-live content stream into a plurality of blocks, the initial meta-file identifying a plurality of available sources for delivery of the plurality of blocks, the plurality of available sources including a first multicast source server and a second multicast source server, the initial meta-file assigning a first portion of the plurality of blocks for delivery using the first multicast source server, the initial meta-file assigning a second portion of the plurality of blocks for delivery using the second multicast source server;
transmitting, using the processing device, the first portion of the plurality of blocks using the first multicast source server; and
transmitting, using the processing device, the second portion of the plurality of blocks using the second multicast source server, the first and second portions corresponding to distinct non-overlapping portions of the non-live content stream.
3 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 content stream in a network, the method comprising:
-
transmitting, using a processing device, an initial meta-file in response to receiving a request for a non-live content stream, the initial meta-file identifying a division of the non-live content stream into a plurality of blocks, the initial meta-file identifying a plurality of available sources for delivery of the plurality of blocks, the plurality of available sources including a first multicast source server and a second multicast source server, the initial meta-file assigning a first portion of the plurality of blocks for delivery using the first multicast source server, the initial meta-file assigning a second portion of the plurality of blocks for delivery using the second multicast source server; transmitting, using the processing device, the first portion of the plurality of blocks using the first multicast source server; and transmitting, using the processing device, the second portion of the plurality of blocks using the second multicast source server, the first and second portions corresponding to distinct non-overlapping portions of the non-live content stream.
-
-
2. The method as defined by claim 1, wherein the plurality of available sources further comprises a unicast source server, the initial meta-file assigning a third portion of the plurality of blocks for delivery using the unicast source server, the method further comprising transmitting the third portion of the plurality of blocks using the unicast source server, the third portion corresponding to an additional distinct non-overlapping portion of the non-live content stream.
-
3. The method as defined by claim 1, wherein the initial meta-file comprises data identifying the plurality of blocks, a sequence number associated with each of the plurality of blocks, a size of the plurality of blocks, a checksum of the plurality of blocks, and a source address.
-
4. The method as defined by claim 1, further comprising receiving information representing a quantity of destinations to which the non-live content stream is transmitted.
-
5. The method as defined by claim 1, further comprising transmitting an updated meta-file subsequent to transmission of the initial meta-file, the updated meta-file identifying a source server different from the first multicast source server and the second multicast source server.
-
6. The method as defined by claim 5, wherein the updated meta-file is transmitted subsequent to transmission of the first portion and the second portion of the non-live content stream.
-
7. The method as defined by claim 5, wherein the source server is different from the first multicast source server and the second multicast source server is a unicast source server.
-
8. A computer-readable storage device to store instructions that, when executed by a processing device, causes the processing device to distribute a non-live content stream in a network by performing operations comprising:
-
transmitting an initial meta-file in response to receiving a request for a non-live content stream, the initial meta-file identifying a division of the non-live content stream into a plurality of blocks, the initial meta-file identifying a plurality of available sources for delivery of the plurality of blocks, the plurality of available sources including a first multicast source server and a second multicast source server, the initial meta-file assigning a first portion of the plurality of blocks for delivery using the first multicast source server, the initial meta-file assigning a second portion of the plurality of blocks for delivery using the second multicast source server; transmitting the first portion of the plurality of blocks using the first multicast source server; and transmitting the second portion of the plurality of blocks using the second multicast source server, the first and second portions corresponding to distinct non-overlapping portions of the non-live content stream.
-
-
9. The computer-readable storage device of claim 8, wherein the plurality of available sources further comprises a unicast source server, the initial meta-file assigning a third portion of the plurality of blocks for delivery using the unicast source server, the operations further comprising transmitting the third portion of the plurality of blocks using the unicast source server, the third portion corresponding to an additional distinct non-overlapping portion of the non-live content stream.
-
10. The computer-readable storage device of claim 8, wherein the initial meta-file comprises data identifying the plurality of blocks, a sequence number associated with each of the plurality of blocks, a size of the plurality of blocks, and a checksum of the plurality of blocks.
-
11. The computer-readable storage device of claim 8, wherein the operations further comprise enabling the computing device to receive information representing a quantity of destinations to which the non-live content stream is transmitted.
-
12. The computer-readable storage device of claim 8, wherein the operations further comprise transmitting an updated meta-file subsequent to the transmission of the initial meta-file, the updated meta-file identifying a source server different from the first multicast source server or the second multicast source server.
-
13. The computer-readable storage device of claim 12, wherein the updated meta-file is transmitted subsequent to transmission of the first portion and second portions of the non-live content stream.
-
14. The computer-readable storage device of claim 12, wherein the source server is different from the first multicast source server and the second multicast source server is a unicast source server.
-
15. An apparatus to distribute a non-live content stream in a network, the apparatus comprising:
-
a meta-file server device transmitting an initial meta-file, the initial meta-file being transmitted in response to receiving a request for a non-live content stream, the initial meta-file identifying a division of the non-live content stream into a plurality of blocks, the initial meta-file identifying a plurality of available sources for delivery of the plurality of blocks; a first multicast source server device transmitting a first portion of the plurality of blocks in response to transmission of the initial meta-file, the initial meta-file assigning the first portion of the plurality of blocks for delivery using the first multicast source server device; and a second multicast source server device transmitting a second portion of the plurality of blocks, the initial meta-file assigning the second portion of the plurality of blocks for delivery using the second multicast source server device, the plurality of available sources including the first multicast source server device and the second multicast source server device, the first and second portions corresponding to distinct non-overlapping portions of the non-live content stream.
-
-
16. The apparatus as defined by claim 15, further comprising a unicast source server device transmitting a third portion of the plurality of blocks, the initial meta-file assigning the third portion of the plurality of blocks for delivery using the unicast source server device, the plurality of available sources including the unicast source server device, the third portion corresponding to an additional distinct non-overlapping portion of the non-live content stream.
-
17. The apparatus as defined by claim 15, wherein the meta-file server device receives information representing a quantity of destinations to which the content stream is transmitted.
-
18. The apparatus as defined by claim 15, wherein the meta-file server device transmits an updated meta-file subsequent to the transmission of the initial meta-file.
-
19. The apparatus as defined by claim 18, wherein the updated meta-file identifies a source server device different from the first multicast source server device and the second multicast source server device.
-
20. The apparatus as defined by claim 19, wherein the source server device is different from the first multicast source server device and the second multicast source server is a unicast source server device.
Specification