Live video broadcasting on distributed networks
First Claim
1. A method for distributing a live program over a distributed network, the method comprising:
- preprocessing a data stream representing the live program into a plurality of substreams, each of the substreams comprising decimated samples of the data stream, wherein the data stream is continuously coming till the live program ends;
identifying boxes in service that are idle;
selecting a set of seeding boxes from the idle boxes to receive the substreams; and
causing the seeding boxes to propagate the substreams as being received to other of the idle boxes so that there are a sufficient number of suppliers to provide the substreams to ordering boxes.
5 Assignments
0 Petitions
Accused Products
Abstract
The techniques related to providing a live program over the Internet are described. According to one aspect of the techniques, a data stream representing a live program is preprocessed to produce a plurality of substreams, each of the substreams comprising decimated samples of the data stream. The number of substreams is relatively large so that the bandwidth requirement for delivering one of the substreams is relatively low. With a group of seeding boxes receiving the substreams, a group of boxes in services are designated to receive the substreams from the seeding boxes, each of these boxes including the seeding boxes is able to support multiple outbound streams (e.g., greater than 2) so that there are enough data suppliers to service the ordering boxes or colonize more boxes to become the data suppliers. As a result, a live program can be timely serviced by peer boxes, significantly reducing the computation and bandwidth burdens on a server(s).
-
Citations
20 Claims
-
1. A method for distributing a live program over a distributed network, the method comprising:
-
preprocessing a data stream representing the live program into a plurality of substreams, each of the substreams comprising decimated samples of the data stream, wherein the data stream is continuously coming till the live program ends; identifying boxes in service that are idle; selecting a set of seeding boxes from the idle boxes to receive the substreams; and causing the seeding boxes to propagate the substreams as being received to other of the idle boxes so that there are a sufficient number of suppliers to provide the substreams to ordering boxes. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A system for distributing a live program over a distributed network, the system comprising:
-
a server configured to generate N substreams that are created from a data stream representing the live program into, each of the N substreams comprising decimated samples of the data stream, wherein the data stream is continuously coming till the live program ends, and N is a finite integer; a plurality of boxes in service that are idle, wherein a set of seeding boxes from the idle boxes is selected to receive the substreams from the server and caused to propagate the N substreams as being received to other of the idle boxes; and a plurality of ordering boxes to order the live program, each of the ordering boxes receiving the N substreams from N of the idle boxes, wherein each of the N of the idle boxes is capable of servicing one or more ordering boxes. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20)
-
Specification