SYSTEM AND PROCESS FOR SYNCHRONIZING DATA BETWEEN BROADCAST
MEDIA AND THE INTERNET
CROSS-REFERENCE TO RELATED APPLICATIONS
This application claims priority of U.S. provisional applications Serial No. 60/129,643 entitled, "System and Process for Synchronizing Advertisements Between Broadcast Radio and the Internet" filed April 16, 1999 by the present applicants.
FIELD OF THE INVENTION
This invention relates generally to broadcast media and to the Internet, and more particularly to synchronizing Web data delivered to a user's Web interface with a broadcast on a broadcast medium.
BACKGROUND OF THE INVENTION
Broadcast media and the Internet both, at their most basic levels, deliver data. Broadcast media, such as television or radio, however, are non-interactive and present no opportunity for the receiver to seek further information on what is being broadcast (without resorting to other media such as the telephone) . For example, if a listener wants to know what artist performs a song playing on the radio, there is no way of querying the radio directly. The Internet, on the other hand, is interactive, and the user is presented with opportunity to seek information on whatever topic he or she decides to pursue. The problem is that without some information sharing between the radio station broadcast and the Internet, the listener is still at a loss when seeking additional information on a radio broadcast.
Broadcast media are generally programmed. For example, a radio broadcast is usually programmed using some form of "on- air system" . An on-air system manages the sequencing of prerecorded and live programming segments . An engineer can instruct an on-air system to broadcast any number of pre-
recorded segments, such as music from a compact disc jukebox, advertisements, or radio shows delivered to the station via satellite feed. The on-air system will then broadcast the specified segments without further intervention by the engineer. Alternatively, the engineer can interact with the on-air system to change program segments dynamically in realtime, as when switching between a live disc jockey, advertisements, music, or news programming segments.
The programming data currently stays in the station systems and is not shared to the Internet. It remains desirable to send broadcast programming information out to a broadcast receiver/Web user over the Internet in such a way that the programming data sent to the Internet is synchronized with the broadcast station broadcast, thereby presenting the broadcast receiver/Web user with an interactive environment in which to obtain further information on what is being broadcast.
It is an object of the present invention to provide a method and apparatus to synchronize a broadcast with data received by a user over the Internet.
SUMMARY OF THE INVENTION
The problems of presenting a broadcast receiver/Web user with an interactive environment in which to receive additional data on a broadcast are solved by the present invention of synchronizing broadcast programming and data distributed on the Internet .
The present invention uses information provided by a broadcast system or by an engineer to synchronize information distributed on the Internet with the programming segments broadcast on television or radio. This invention does not pertain to radio programming or video programming distributed on the Internet in the form of streaming audio or video. There are several known methods for embedding information in such data streams to permit other Internet content to be synchronized with them. Instead, this invention allows a listener to tune a radio receiver to a broadcast radio station or to tune in to a television station and connect to an
Internet World Wide Web site whose content is synchronized to that station's broadcast. While the user reads the web site on the user's computer, and listens to the radio broadcast or receives the television broadcast, part or all of the content of the web site changes whenever a new programming segment begins .
The present invention together with the above and other advantages may best be understood from the following detailed description of the embodiments of the invention illustrated in the drawings, wherein:
BRIEF DESCRIPTION OF THE DRAWINGS
Figure 1 is a block diagram of a system for synchronizing broadcast data with Internet data according to principles of the present invention;
Figure 2 is a flow chart of a first embodiment of a method of synchronizing Internet data with broadcast data according to principles of the invention; and
Figure 3 is a flow chart of a second embodiment of a method of synchronizing Internet data with broadcast data according to principles of the present invention.
DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS
Figure 1 is a block diagram of a system for synchronizing Internet data with broadcast data according to principles of the present invention. The Internet/broadcast synchronization system 10 has a content server 15 and a synchronization server 20. The Internet/broadcast synchronization system 10 is linked to the Internet 30. A broadcast system 25 is also linked to the Internet, however, in alternative embodiments, the broadcast system may be linked directly to the Internet/broadcast synchronization system 10, or may be networked to it by networks other than the Internet 30. Databases 35 are linked to the Internet 30 and may also be linked to the Internet/broadcast synchronization system 10. Internet users 40 are also linked to the Internet 30. Each of these users 40 is running a synchronization client program 45.
In operation, the broadcast station's on-air system or an engineer at the station provides broadcast data to the Internet/broadcast synchronization system 10. The content server 15 processes the broadcast data and searches one or more of the databases 35 for data related to the broadcast data. The content server 15 creates, from the data it finds in the databases and the broadcast data, transmission files suitable for transmission to the users 40 over the Internet 30. The synchronization server 20 interacts with a client program 45 downloaded to the users 40 to update the users ' web browsers with the transmission files .
Figure 2 is a flow chart of the method of synchronizing Internet data with broadcast data according to principles of the present invention. A user wishing to use the Internet/broadcast synchronization system 10 registers at a registration Web site, and downloads the synchronization client 45, block 100. In the preferred embodiment, the station's on-air system (or an engineer) provides an identifier for each segment that is broadcast. When the segment begins, this identifier is sent to an Internet server computer, also called a content server 15, block 110. The content server 15 uses this identifier to look up information in one or more databases about the segment that is being broadcast, block 115. For example, such information could be the title and artist of a song being played; a Universal
Resource Locator (URL) for the web site of the band who played the song; the name and/or picture of a disc jockey currently on the air; a URL of a weather map or other weather service when the program segment is a weather report; the URL of the web site of an advertiser's company while its advertisement is broadcast; a list of related news stories and URLs to newspaper articles while a news segment is broadcast. This list of information links is merely exemplary, and the present invention is not limited to those information links listed here.
Once the content server 15 has identified the content to be distributed, it creates one or more data files to represent this information, block 120. These data files may be in the
HyperText Markup Language (HTML) or other standard formats used on the Internet . The information may now be obtained by anyone on the Internet. The content server 15 also sends the URL(s) of the new data file to a synchronization server 20 to cause that information to be shown to users of the radio station's web site, block 125.
The synchronization server 20 works together with a synchronization client program 45 to cause a user's browser to be updated dynamically whenever a new programming segment begins on the broadcast. The synchronization client 45 is downloaded to each user ' s computer when the user connects to the web site. This client program 45 is written in the Java programming language, or some other language that can be used by the browser. When the synchronization client program 45 starts, it registers itself with the synchronization server 20 so that the server 20 knows the Internet address of all the active synchronization client programs 45. Whenever the synchronization server 20 receives a set of URLs from the content server 15, it sends them to all the registered users 40. The synchronization client program 45 on each user's computer causes those URLs to be obtained and displayed by the user's web browser. This is done in such a way that the synchronization client program 45 remains active on the user's computer, by displaying the new URLs in another browser frame or window.
When the synchronization client program 45 stops running, it unregisters itself from the synchronization server 20. In the event of a user system crash or some other interruption, the synchronization server 20 drops the connection to the user after an indication of data transmission failure to the user, block 130.
The synchronization server 20 creates a log of all the synchronization client programs 45 that register with it, noting the time when each registers and unregisters itself. It also makes entries in the log noting the time when each programming segment identifier is received from the content server 15. By combining this log with the log from the synchronization server 20 which distributes the content
created by the content server 15, the number of Internet users 40 who viewed the content related to each programming segment of the broadcast can be determined.
Figure 3 shows a second embodiment of the method of synchronizing Internet data with broadcast data according to principles of the present invention. In this embodiment of the invention, the station's on-air system (or an engineer) provides both an identifier for each segment that is broadcast and the duration of that segment in seconds, block 200. This information is passed to the content server which creates some content data files as described above, block 210. The content server then sends the URLs and the duration time in seconds to an alternative synchronization server, block 220. This synchronization server makes use of user's web browser directly to control the updating of the web site content on the user ' s computer and does not require a synchronization client program to be run on the user's computer. This synchronization server copies the data at the URLs specified by the content server to other URLs, adding instructions into the HTML header that will cause the user's browser to re-load that same URL after the specified duration time, block 230. Every few seconds, this synchronization server re-writes those other URLs, placing the remaining duration time in the header. When the duration time reaches zero, the content server should have sent another set of URLs to replace the previous content with, and another duration time. If it has, the process is repeated. If not, the synchronization server writes some default content with a default duration time to those other URLs. The web site displayed by the user's browser causes a frame or window to be displayed that contains the data from the URL(s) that are being written to by the synchronization server. The synchronization server has written the duration time into the header in the special META tag, like so:
<META HTTP-EQUIV="refresh" CONTENT=" {time} , {URL} ">
where "{time}" is the duration time and "{URL}" is the URL of that web page. This special META tag instructs the user's browser to reload the page after "{time}" seconds have elapsed. By that time, the synchronization server will have written some new information at that URL, which will then appear in the user's browser. As long as the Content Server is sending accurate duration times for each programming segment, the user's browser will reload the page just as the next segment begins, thus getting information related to the new programming segment.
This synchronization server creates a log of all the programming segment identifiers received from the content server and the time at which each was received. By combining this log with the log from the synchronization server which distributes the content created by the content server, the number of Internet users who viewed the content related to each programming segment of the radio broadcast can be determined.
A third embodiment of the invention includes a ticker feature where a radio station may send information over a ticker that is displayed on a user's screen. Also, registered users may send information to be displayed on other registered users ' tickers .
It is to be understood that the above-described embodiments are simply illustrative of the principles of the invention. Various and other modifications and changes may be made by those skilled in the art which will embody the principles of the invention and fall within the spirit and scope thereof.