This invention provides technology (including apparatus, method, software, and/or data structures) to broadcast data from one or more content providers via one or more broadcast channels to one or more content recipients. This technology meets the different needs of the three major stakeholders—the content providers, the broadcasters, and the content recipients. The technology provides support for identifying the data to be broadcast, setting the broadcast schedule, getting the data inserted into the broadcast stream, extracting it from the broadcast stream at the receiver, and many ancillary activities such as compression, error correction, bandwidth management, bandwidth usage reporting, and content filtering at the receiver.
Legal claims defining the scope of protection, as filed with the USPTO.
1. A data broadcasting system for delivering digital content in the form of arbitrary files and streams of communication protocol packets to multiple recipients simultaneously over a broadcast or multicast medium, the data broadcast system comprising: at least one content provider unit to identify the arbitrary files and streams of communication protocol packets to be delivered in the data broadcasting system, and to generate scheduling instructions for feeding these files and streams of the digital content into the broadcast or multicast medium for transmission; and a content liaison unit to pre-allocate a bandwidth profile ahead of time to each of the at least one content provider unit, to receive specifications including identifications of the files and streams and the scheduling instructions from each of the at least one content provider unit, and to feed the identified files and communication protocol packets into the broadcast or multicast medium according to the scheduling instructions without exceeding the pre-allocated bandwidth profile, wherein the bandwidth profiles are communicated from the content liaison unit to the at least one content provider unit over a communication network, and the specifications and the scheduling instructions are communicated from the at least one content provider unit to the content liaison unit over a communication network, wherein each bandwidth profile is in the form of a specification of a bit rate available in the broadcast or multicast medium as a function of time, with no reference to data types, data formats, or other properties of the digital content of the files that can be transmitted within the corresponding bandwidth profile at any particular time, and wherein the content liaison unit pre-allocates each bandwidth profile without imposing restrictions on times at which the transmission of individual files or communication protocol packets start and end, other than a restriction that a total bit rate used by all files and communication protocol packets being transmitted at any given time is not to exceed the bit rate available at that time under the corresponding pre-allocated bandwidth profile.
2. The data broadcasting system of claim 1 , wherein the content liaison unit includes: a content provider (CP) interface to receive, from the at least one content provider unit, a specification of the digital content that is to be inserted into the broadcast or multicast medium and an insertion schedule by which the digital content is to be inserted into the broadcast or multicast medium; a collection unit, responsive to the CP interface, to collect digital files of the digital content by at least one of actively retrieving and reactively receiving the digital files from a source thereof identified in the specification; and an insertion unit, responsive to the CP interface, to transfer the digital files from the collection unit to the broadcast or multicast medium according to the insertion schedule.
3. The data broadcasting system of claim 2 , wherein the collection unit includes memory into which the collection unit is configured to store the digital files so as to decouple, in time, the collection and the transfer of the digital files.
4. The data broadcasting system of claim 2 , wherein: the content provider unit is a first content provider unit, the specification is a first specification and the insertion schedule is a first insertion schedule; the CP interface also is configured to receive, from a second content provider unit, a second specification of second digital content that is to be inserted into the broadcast or multicast medium and a second insertion schedule by which the second digital content is to be inserted into the broadcast or multicast medium; the collection unit also is configured to collect the second digital content by at least one of actively retrieving and reactively receiving the second digital content from a source thereof identified in the second specification; the insertion unit also being configured to transfer the second digital content from the collection unit to a mixing unit according to the second insertion schedule.
5. The data broadcasting system of claim 4 , wherein the first specification, the first insertion schedule, the second specification and the second insertion schedule are provided to the CP interface using a common communications protocol.
6. The data broadcasting system of claim 2 , wherein the specification includes at least one of the following: an indication of whether the digital content consists of a file, a directory, or a stream of communication protocol packets; a resource locator to define a location where the digital content can be obtained by the content liaison unit; a transfer schedule by which the content liaison unit is to obtain the digital content; an indication of whether the content liaison unit will actively retrieve or responsively receive the digital content from a source of the digital content; an indication of whether the digital content is to be compressed by the corresponding content provider unit or by the content liaison unit; an indication of whether the digital content is to be encrypted by the corresponding content provider unit or by the content liaison unit; and an indication of whether the digital content is to undergo forward error correction transformations by the corresponding content provider unit or by the content liaison unit.
7. The data broadcasting system of claim 6 , wherein the transfer schedule includes a first set of at least one time for the digital content to be collected and a second set of at least one time for the digital content to be transferred, the second set being different than the first set.
8. The data broadcasting system of claim 2 , wherein the content liaison unit is sufficiently robust to interpret a valid insertion schedule whenever the insertion schedule is defined in terms of each of the following scheduling parameters taken alone or in combination: a start time of a time slot during which an item can be output from the content liaison unit to the broadcast system; an end time for the time slot; a duration (D) of the time slot; a time interval (INT) between successive outputs of the item from the content liaison unit to the broadcast or multicast medium during the time slot; a number (N) of times that the item is to be output from the content liaison unit to the broadcast or multicast medium during a time slot; a size (S) of the item; and a bitrate (BTR) at which the item is to be output from the content liaison unit to the broadcast or multicast medium.
9. The data broadcasting system of claim 8 , wherein the insertion schedule is a microschedule; wherein the CP interface receives a macroschedule including at least one recurring time slot, each recurring slot having a microschedule, respectively; and wherein the insertion unit is responsive to the macroschedule.
10. The data broadcasting system of claim 8 , wherein, if two or more of the scheduling parameters are contradictory, then the content liaison unit applies at least one conflict resolution rule to ignore at least one of the contradictory scheduling parameters in order to interpret the insertion schedule to be valid.
11. The data broadcasting system of claim 10 , wherein the at least one conflict resolution rule includes at least one of the rules from the following Rule Table: Rule Table Parameters Specified INT BTR D N Rule Y Y Y Y If INT < S/BTR, set INT = S/BTR Ignore N, Output at INT using BTR, for D (timed), Y Y Y N If INT < S/BTR, set INT = S/BTR Output at INT using BTR, for D (timed), Y Y N Y If INT < S/BTR, set INT = S/BTR Output at INT using BTR, N times (timed), Y Y N N If INT < S/BTR, set INT = S/BTR Output at INT using BTR, indefinitely (timed), Y N Y Y Set BTR = account BTR, If INT < S/BTR, set INT = S/BTR Ignore N, Output at INT using BTR, for D (timed), Y N Y N Set BTR = account BTR, If INT < S/BTR, set INT = S/BTR Output at INT using BTR, for D (timed), Y N N Y Set BTR = account BTR, If INT < S/BTR, set INT = S/BTR Output at INT using BTR, N times (timed), Y N N N Set BTR = account BTR, If INT < S/BTR, set INT = S/BTR Output at INT using BTR, indefinitely (timed), N Y Y Y Set INT = D/N, If INT < S/BTR, set INT = S/BTR Output at INT using BTR, for D (timed), N Y Y N Set INT = S/BTR, Output at INT using BTR, for D (timed), N Y N Y Set INT = S/BTR, Output at INT using BTR, N times (timed), N Y N N Set INT = S/BTR, Output at INT using BTR, indefinitely (timed), N N Y Y Set BTR = account BTR, Set INT = D/N, If INT < S/BTR, set INT = S/BTR Output at INT using BTR, for D, N N Y N Output for D (non-timed), N N N Y Output N times (non-timed), N N N N Output indefinitely (non-timed).
12. The data broadcasting system of claim 2 , wherein the CP interface receives the specification and the insertion schedule represented as at least one XML document from the corresponding content provider unit.
13. The data broadcasting system of claim 2 , wherein the specification includes an account, each account including at least one catalog, each catalog including at least one independent item to be output by the content liaison unit to the broadcast or multicast medium or at least one group of related items to be output by the content liaison unit to the broadcast or multicast medium, each group including a group of related items or an independent item.
14. The data broadcasting system of claim 2 , wherein: the specification and insertion schedule are associated with an account; and the insertion unit limits an insertion-schedule-dictated transference of the digital content so as to comply with a bandwidth allocation for the account.
15. The data broadcasting system of claim 14 , wherein the insertion unit limits the transference by processing the insertion schedule as a plurality of incremental time slices, the bandwidth allocation representing a maximum data amount of data that can be transferred in each time slice, respectively; and wherein, if transference of the maximum amount of data takes place before the end of a time slice, then the insertion unit suspends the transference until a next time slice begins.
16. A method as embodied in elements which form the content liaison unit of claim 2 .
17. A computer-readable medium encoded with a computer program being executed by a processor to implement the content liaison unit of claim 2 .
18. The data broadcasting system of claim 2 , wherein the content liaison unit further includes a bandwidth management unit configured to pre-allocate the bandwidth profile to each of the at least one content provider unit.
19. The data broadcast system of claim 1 , wherein each of the at least one content provider unit includes: an insertion schedule generator to generate a specification of the digital content to be inserted into the broadcast or multicast medium and an insertion schedule by which the digital content is to be inserted; and an interface to a liaison unit to provide, in a machine-readable form, the specification of the digital content that is to be inserted into the broadcast or multicast medium and the insertion schedule by which the digital content is to be inserted into the broadcast or multicast medium.
20. The data broadcasting system of claim 19 , further comprising a source of the digital content.
21. The data broadcasting system of claim 19 , wherein the broadcast system is a first broadcast system, the machine-readable form is a first machine-readable form, the specification is a first specification, and the insertion schedule is a first insertion schedule; and the corresponding content provider unit is configured to provide to a second broadcast system, in a second machine-readable form, a second specification of second digital content that is to be inserted into the broadcast or multicast medium and a second insertion schedule by which the second digital content is to be inserted into the broadcast or multicast medium.
22. The data broadcasting system of claim 21 , wherein each of the first machine-readable form and the second machine-readable form is compliant with a common protocol.
23. The data broadcasting system of claim 19 , wherein the specification includes at least one of the following: an indication of whether the digital content consists of a file, a directory, or a stream of communication protocol packets; a resource locator to define a location where the digital content can be obtained by a broadcaster unit; a transfer schedule by which the broadcaster unit is to obtain the digital content; an indication of whether the broadcaster unit will actively retrieve or responsively receive the digital content from a source of the digital content; an indication of whether the digital content is to be compressed by the corresponding content provider unit or by the liaison unit; an indication of whether the digital content is to be encrypted by the corresponding content provider unit or by the content liaison unit; and an indication of whether the digital content is to undergo forward error correction transformations by the corresponding content provider unit or by the content liaison unit.
24. The data broadcasting system of claim 19 , wherein the machine-readable form is a first machine-readable form, and the specification is a first specification and the insertion schedule is a first insertion schedule, the first specification and the first insertion schedule corresponding to a first account maintained by the corresponding content provider unit, the first account being bounded by a first bandwidth allocation; and the corresponding content provider unit is configured to provide, to the broadcast or multicast medium in a second machine-readable form, a second specification of second digital content that is to be inserted into the broadcast or multicast medium and a second insertion schedule by which the second digital content is to be inserted into the broadcast or multicast medium, the second specification and the second insertion schedule corresponding to a second account maintained by the corresponding content provider unit, the second account being bounded by a second bandwidth allocation different than the first bandwidth allocation.
25. The data broadcasting system of claim 19 , wherein the insertion schedule generator is sufficiently robust to generate a valid insertion schedule in terms of each of the following scheduling parameters taken alone or in combination: a start time of a time slot during which an item can be output from the content liaison unit to the broadcast or multicast medium; an end time for the time slot; a duration of the time slot; a time interval between successive outputs of the item from the content liaison unit to the broadcast or multicast medium during the time slot; a number of times that the item is to be output from the content liaison unit to the broadcast or multicast medium during a time slot; a size of the item; and a bitrate at which the item is to be output from the content liaison unit to the broadcast or multicast medium.
26. The data broadcasting system of claim 25 , wherein the insertion schedule is a microschedule, and wherein the insertion schedule generator is configured to provide a macroschedule including at least one recurring time slot, each recurring slot having a microschedule, respectively.
27. The data broadcasting system of claim 19 , wherein the machine readable form includes representation of the specification and the insertion schedule as at least one XML document.
28. The data broadcasting system of claim 19 , wherein the specification includes an account, each account including at least one catalog, each catalog including at least one independent item to be output by the content liaison unit to the broadcast or multicast medium or at least one group of related items to be output by the content liaison unit to the broadcast or multicast medium, each group including a group of related items or an independent item.
29. A method as embodied in elements which form the content provider unit of claim 19 .
30. A computer-readable medium encoded with a computer program being executed by a processor to implement the content provider unit of claim 19 .
31. The data broadcasting system of claim 1 , wherein the broadcast or multicast medium into which the digital content is inserted is a digital television signal or a satellite signal.
32. The data broadcasting system of claim 1 , wherein prior to the allocation of the bandwidth profile, the at least one content provider unit and the content liaison unit negotiate with each other over a communication network regarding the allocation of the bandwidth profile.
33. The data broadcasting system of claim 1 , further comprising: at least one receiver device to receive the broadcast or multicast medium including the digital content and to extract data from the received broadcast or multicast medium.
34. The data broadcasting system of claim 1 , wherein each pre-allocated bandwidth profile is not tied to any advertisement slot allocated within the broadcast or multicast medium.
Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.
April 17, 2001
December 4, 2007
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.