AGGREGATED ERROR RECOVERY IN DIGITAL BROADCASTING
FIELD
This invention relates generally to digital broadcasting and more specifically to aggregated error recovery in digital broadcasting.
BACKGROUND Broadcasting data is commonplace. Television and radio stations typically come to mind when one thinks of a broadcaster. Applications for data broadcasting continue to grow, however, moving from broadcasting for radio and television to broadcasting for video phones and digital movies, such as by satellite.
For some applications, broadcasters are not concerned with error recovery. For example, a television station would not consider rebroadcasting the one second of flicker during a weather report. Because it is now possible, however, to broadcast anything that is in a digital format, such as by satellite or a computer network, other applications may benefit from error recovery.
When data is sent from a sender to a receiver, the sender can easily resend the data if it is not received properly. However, when the number of receivers grows to a large number, it becomes impractical for the sender to keep track of what receivers did not correctly receive the data and what data needs to be resent to them. In addition, the broadcaster may not have the capacity to correct faulty data that has been received by receivers. Consequently, there is a need for an improved method of error recovery for broadcast data.
SUMMARY The present invention relates to aggregated error recovery in digital broadcasting. In one embodiment of this invention, a system includes a receiver and a repair server. The receiver receives data from a data provider and checks the data against a recovery policy defined for the data. The repair server receives a faulty data notification from the receiver and delivers to the receiver corrected data. Other embodiments of the invention include a repair server and a method for correcting faulty data from a previous broadcast.
BRIEF DESCRIPTION OF THE DRAWINGS
FIGS. 1-3 show systems according to different embodiments of the invention;
FIG. 4 shows a repair server according to an embodiment of the invention; and
FIG. 5 shows a flowchart of a method according to an embodiment of the invention.
DETAILED DESCRIPTION The following detailed description of exemplary embodiments and accompanying drawings provide specific examples for how the invention may be practiced. These embodiments are described in sufficient detail to enable those skilled in the art to practice the invention. Other embodiments may be used and logical, mechanical, electrical and other changes may be made without departing from the spirit or scope of the present invention. The following detailed description is, therefore, not to be taken in a limiting sense, and the scope of the present invention is defined only by the appended claims.
Referring first to FIG. 1, a system according to an embodiment of the invention is shown. The system of FIG. 1 includes a data provider 101, a plurality of receivers 102, a predetermined region 105, a repair server 103, and a primary repair server 104.
The data provider 101 broadcasts data. The data provider may create the data it broadcasts or it may broadcast data received from another source.
The plurality of receivers 102 are able to receive the data broadcasted by the data provider. The plurality of receivers 102 are located in the predetermined region 105. The predetermined region 105 is not limited to geographic boundaries. For illustrative purposes only, the predetermined region 105 may be a state, a county, or a defined set of receivers that receive the data over the internet with a modem. Each receiver receives the data from the data provider 101 and verifies the data against a recovery policy defined for the data. Upon each receiver finding an error in the data, the repair server 103 is notified.
The repair server 103 is also located in the predetermined region 105. The repair server 103 receives a faulty data notification from each receiver that has determined the data the receiver received violates the recovery policy
defined for the data. The repair server 103 ensures that the receiver receives corrected data. In one embodiment, the receiver receives corrected data from the repair server 103 after having sent the faulty data notification to the repair server 103. In another embodiment, there is also a primary repair server 104. The primary repair server 104 receives the faulty data notification that the plurality of receivers 102 sent to the repair server 103. The primary repair server 104 may provide corrected data to each receiver or it may instruct the repair server 103 to provide corrected data. The system described allows the data provider to broadcast data without having to address error recovery. The data provider can thus use its resources for broadcasting only and let the repair servers handle error recovery. The data provider may then broadcast data that might not otherwise have been broadcast.
Referring next to FIG. 2, a system according to an embodiment of the invention is shown. This embodiment includes a data provider 101, a plurality of first receivers 102, a first repair server 103, a plurality of second receivers 206, a second repair server 207, a first predetermined region 105, a second predetermined region 208, and a primary repair server 104. The plurality of first receivers 102, and the first repair server 103 operate as described above for FIG. 1.
The data provider 101 broadcasts data that may be received by both regions 105 and 208.
The plurality of second receivers 206 are located in the predetermined second region 208. The predetermined second region 208 is distinct from the predetermined first region 105 but may be chosen in the same manner. Each second receiver receives the data from the data provider and checks the data against the recovery policy.
The second repair server 207 for the predetermined second region 208 receives faulty data notification from each second receiver that has determined the data the second receiver received violates the recovery policy, and ensures that the second receiver receives corrected data. The second repair server 207 may send the faulty data notification received from a second receiver to the primary repair server. In one embodiment, the primary repair server 104 ensures
that corrected data will be delivered to the receiver by sending a resend data notification to the data provider 101. Upon receipt of the resend data notification, the data provider 101 then rebroadcasts the data. Alternatively, the second repair server 207 may provide corrected data to each second receiver that needs it.
Referring next to FIG 3., a system according to an embodiment of the invention is shown. This system includes a hierarchy of repair servers. The first repair server 103 and the second repair server 207 are part of a plurality of repair servers that make up the first-tier 301 of repair servers. Each first-tier repair server is responsible for a plurality of receivers. Each first-tier repair server may receive a faulty data notification from a receiver when the receiver determines that data violates the defined recovery policy and may ensure that the receiver receives corrected data. The first-tier repair server may send the receiver the corrected data. In another embodiment, the hierarchy of repair servers further includes a second-tier 302. The second-tier 302 includes at least one second- tier repair server 303. Each second-tier repair server is responsible for at least one repair server from the group of first-tier 301 repair servers. Each second-tier repair server receives a faulty data notification initially sent by a receiver and passed on to the second-tier repair server by a first-tier repair server that is responsible for the receiver. Upon receiving a faulty data notification, the second-tier repair server ensures that the receiver receives corrected data. The second-tier repair server may send the corrected data to the receiver.
Another embodiment includes at least one primary repair server 104 in the hierarchy. The primary repair server receives faulty data notifications from at least one second-tier repair server and ensures that the receiver that originally reported the faulty data notification receives corrected data. The primary repair server 104 may request that the data provider 101 resend data.
The system shown in FIG. 3 enables allocation of resources for reporting and correcting errors during broadcasting of data. This hierarchy is highly configurable and may be modified easily when implemented. Additional tiers of repair servers may be added.
Referring to FIG. 4, a repair server is shown. The repair server includes a repair server receiver 401 , a determiner 402, and a transmitter 403. The repair server receiver 401 receives faulty data notices. The determiner 402 determines whether the faulty data notices require providing the receivers with corrected data and creates an error report. The transmitter 403 sends the error report. The repair server receiver 401, the determiner 402, and the transmitter 403 may be implemented by hardware or software. In one embodiment, the error report is sent to a data provider 101. In another, the error report is sent to a parent repair server 405. In another embodiment, the faulty data notices are received from a plurality of receivers 407. In another, the faulty data notices are received from a plurality of child repair servers 406.
Referring to FIG. 5, a method is shown for correcting faulty data from a previous broadcast. In 501, data is broadcast from a data provider. The data provider may create the broadcasted data or it may get the data from another source prior to broadcasting it. The data may be broadcast in any manner. An example is broadcasting a live interview over the internet. In 502, the data is received at a receiver. The receiver can be any device capable of receiving data. It may be a television set or a computer connected to a network. Next, in 503 it is determined whether the data comprises faulty data. This determination may be done by comparing what was received to what was expected. A checksum might be used. If the data is faulty, the faulty data is reported to a repair server 504. The receiver is informed of its repair server at the start of broadcasting, before broadcasting, or during broadcasting. For example, this reporting can be done by an internet message or by phone. Then, the faulty data is corrected 505. The data can be corrected by the data provider or repair server. The correction can be a rebroadcasting of the data or sending corrected data to a receiver only.
The method described permits the data provider to devote its resources to broadcasting data, because the receiver is able to send faulty data notices to a repair server instead of the data provider. Because the repair server does not broadcast data, its resources can be dedicated to handling faulty data notices. The invention described will permit the reliable broadcasting of data which might not be possible otherwise. A broadcaster has limited resources no
matter how powerful it is or how fast it can transmit data. By freeing a broadcaster from the task of error recovery, more data can be broadcast reliably.
Although specific embodiments have been illustrated and described herein, it will be appreciated by those of ordinary skill in the art that any arrangement which is calculated to achieve the same purpose may be substituted for the specific embodiments shown. This application is intended to cover any adaptations or variations of the invention as defined in the following claims and equivalents thereof.