METHOD AND APPARATUS FOR BROADCASTING WWW PAGES TO MOBILE RADIO DEVICES USING MODIFIED RDS (RADIO DATA SYSTEM) TECHNOLOGY

Abstract: The present invention provides a system that transmits web pages using the Radio Data System (RDS) protocol. A web receiver is provided that can access the subcarrier data in an RDS signal and includes a display device for displaying and choosing web pages. Each radio station broadcasting in an area can have a selection of web pages (and these may be fully or partially common with, or different from, other radio stations) that can be accessed when tuning to that station. The web pages could include a local city web page with local weather, map, restaurant, entertainment, and service information, the broadcasting radio station could have an associated web page that gave information about the current entertainment being provided, or any desired web page. In one embodiment, the web receiver is primarily a read-only device that allows the user to choose between the fixed number of services/pages provided the available radio stations, i.e., the user cannot browse the web in the traditional fashion. This makes the web receiver particularly suitable for vehicular or other applications in which the user cannot be expected to actively interact with the device. The higher-resolution screen characteristic of web receivers makes it possible to display information such as maps and other graphics that would be impossible to show using a traditional alphanumeric RDS receiver. In addition to web pages, bytecode data, such as Java programming language applets, could also be delivered using this technology.

Description: METHOD AND APPARATUS FOR BROADCASTING WWW PAGES TO MOBILE RADIO DEVICES USING MODIFIED RDS (RADIO DATA SYSTEM) TECHNOLOGY BACKGROUND OF THE INVENTION 1. FIELD OF THE INVENTION This invention relates to the field of broadcasting of www pages to mobile radio devices. Portions of the disclosure of this patent document contain material that is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure as it appears in the Patent and Trademark Office file or records, but otherwise reserves all copyright rights whatsoever. Sun, Sun Microsystems, Java, and all Java-based trademarks and logos are trademarks or registered trademarks of Sun Microsystems, Inc. in the United States and other countries. All SPARC trademarks are used under license and are trademarks of SPARC International, Inc. in the United States and other countries. Products bearing SPARC trademarks are based upon an architecture developed by Sun Microsystems, Inc. 2. BACKGROUND ART The World Wide Web (WWW) has become a popular means of accessing information. Currently, WWW access is accomplished from desktop computers via a telephone line, modem, or other communications link. Mobile access of the WWW is accomplished by laptop computers and personal digital assistants (PDAs) via cellular or wireless modems. A disadvantage of these systems is the expense and slowness of cellular technology, the rapid use of battery power for such devices, and the lack of reliability in different regions of the country. These problems can be understood by a review of the Internet and the WWW and the current methods of accessing the WWW. The Internet The Internet is a worldwide network of interconnected computers. An Internet client accesses a computer on the network via an Internet provider. An Internet provider is an organization that provides a client (e.g., an individual or other organization) with access to the Internet (via analog telephone line or Integrated Services Digital Network line, for example). A client can, for example, read information from, download a file from or send an electronic mail message to another computer /client using the Internet. To retrieve a file or service on the Internet, a client must search for the file or service, make a connection to the computer on which the file or service is stored, and download the file or service. Each of these steps may involve a separate application and access to multiple, dissimilar computer systems. The World Wide Web (WWW) was developed to provide a simpler, more uniform means for accessing information on the Internet. The components of the WWW include browser software, network links, servers, and WWW protocols. The browser software, or browser, is a user-friendly interface (i.e., front-end) that simplifies access to the Internet. A browser allows a client to communicate a request without having to learn a complicated command syntax, for example. A browser typically provides a graphical user interface (GUI) for displaying information and receiving input. Examples of browsers currently available include Mosaic, Netscape Navigator and Communicator, Microsoft Internet Explorer, and Cello. Information servers maintain the information on the WWW and are capable of processing a client request. Hypertext Transport Protocol (HTTP) is a protocol for communication with an information server on the WWW. HTTP has communication methods that allow clients to request data from a server and send information to the server. To submit a request, the client contacts the HTTP server and transmits the request to the HTTP server. The request contains the communication method requested for the transaction (e.g., GET an object from the server or POST data to an object on the server). The HTTP server responds to the client by sending a status of the request and the requested information. The connection is then terminated between the client and the HTTP server. A client request therefore, consists of establishing a connection between the client and the HTTP server, performing the request, and terminating the connection. The HTTP server does not retain any information about the request after the connection has been terminated. HTTP is, therefore, a stateless protocol. That is, a client can make several requests of an HTTP server, but each individual request is treated independent of any other request. The server has no recollection of any previous request. An addressing scheme is employed to identify Internet resources (e.g., HTTP server, file or program). This addressing scheme is called Uniform Resource Locator (URL). A URL contains the protocol to use when accessing the server (e.g., HTTP), the Internet domain name of the site on which the server is running, the port number of the server, and the location of the resource in the file structure of the server. The WWW uses a concept known as hypertext. Hypertext provides the ability to create links within a document to move directly to other information. To activate the link, it is only necessary to click on the hypertext link (e.g., a word or phrase). The hypertext link can be to information stored on a different site than the one that supplied the current information. A URL is associated with the link to identify the location of the additional information. When the link is activated, the client's browser uses the link to access the data at the site specified in the URL. If the client request is for a file, the HTTP server locates the file and sends it to the client. An HTTP server also has the ability to delegate work to gateway programs. The Common Gateway Interface (CGI) specification defines a mechanism by which HTTP servers communicate with gateway programs. A gateway program is referenced using a URL. The HTTP server activates the program specified in the URL and uses CGI mechanisms to pass program data sent by the client to the gateway program. Data is passed from the server to the gateway program via command-line arguments, standard input, or environment variables. The gateway program processes the data and returns its response to the server using CGI (via standard input, for example). The server forwards the data to the client using the HTTP. A browser displays information to a client/user as pages or documents (referred to as "web pages" or "web sites"). A language is used to define the format for a page to be displayed in the WWW. One language is called Hypertext Markup Language (HTML). A WWW page is transmitted to a client as an HTML document. The browser executing at the client parses the document and displays a page based on the information in the HTML document. HTML is a structural language that is comprised of HTML elements that are nested within each other. An HTML document is a text file in which certain strings of characters, called tags, mark regions of the document and assign special meaning to them. These regions are called HTML elements. Each element has a name, or tag. An element can have attributes that specify properties of the element. Blocks or components include unordered list, text boxes, check boxes, radio buttons, for example. Each block has properties such as name, type, and value. The following provides an example of the structure of an HTML document: <HTML> <HEAD> .... element(s) valid in the document head </HEAD> <BODY> .... element(s) valid in the document body </BODY> </HTML> Each HTML element is delimited by the pair of characters "<" and ">". The name of the HTML element is contained within the delimiting characters. The combination of the name and delimiting characters is referred to as a marker, or tag. Each element is identified by its marker. In most cases, each element has a start and ending marker. The ending marker is identified by the inclusion of an another character, "/" that follows the "<" character. HTML is a hierarchical language. With the exception of the HTML element, all other elements are contained within another element. The HTML element encompasses the entire document. It identifies the enclosed text as an HTML document. The HEAD element is contained within the HTML element and includes information about the HTML document. The BODY element is contained within the HTML. The BODY element contains all of the text and other information to be displayed. Other HTML elements are described in HTML reference manuals. Other languages may be used instead of HTML, such as XML or any other suitable language, without departing from the scope of the present invention. WWW Access Traditional access to the web has been from desktop computers through telephone lines. A modem connected to the computer and to the phone line provides the interface for sending and receiving data between the computer and the web. Later, other communication means such as ISDN lines, cable modems, and others provided different types of connections to the web from desktop computers. A disadvantage of desktop systems is the lack of mobility and portability. A number of people practice so called "mobile" computing using a laptop computer, a PDA, or other types of devices. Mobile computing users also desire to access the web. One solution is to stop and access a phone line, such as in a hotel, restaurant, or airport. Using a modem and the phone line, the web can be accessed from the laptop or PDA. A disadvantage of this scheme is that the user is no longer mobile during the web access. Also, depending on the location, the cost of using the phone line may be unusually high, where the phone charge for typical web access is based on the cost of a local call, typically without any extra charge other than basic monthly service. A prior art attempt to provide truly mobile web access is to use a cellular modem. This is a modem that uses cellular telephone technology to provide a telephone connection. Ericsson, Motorola, and Nokia all manufacture cellular modems. A disadvantage is the high cost of cellular connections. In addition to the cost of the phone call itself, there are substantial air time charges are incurred. Another disadvantage is that cellular connections are slow compared to land line connections, so performance during mobile access suffers. Also, because there is not a single national system for cellular service, the ability to do mobile computing nationwide may be compromised. Another disadvantage is the shortening of battery life in the mobile devices because of the high power requirements of cellular devices. Another disadvantage is the interactivity required by some web pages during access. A person driving a car, flying an airplane, or otherwise occupied cannot safely interact with the web while doing these activities. SUMMARY OF THE INVENTION The present invention provides a system that transmits web pages using the Radio Data System (RDS) protocol. A web receiver is provided that can access the subcarrier data in an RDS signal and includes a display device for displaying and choosing web pages. Each radio station broadcasting in an area can have a selection of web pages (and these may be fully or partially common with, or different from, other radio stations) that can be accessed when tuning to that station. The web pages could include a local city web page with local weather, map, restaurant, entertainment, and service information, the broadcasting radio station could have an associated web page that gave information about the current entertainment being provided, or any desired web page. In one embodiment, the web receiver is primarily a read-only device that allows the user to choose between a fixed number of services/pages provided the available radio stations, i.e., the user cannot browse the web in the traditional fashion. This makes the web receiver particularly suitable for vehicular or other applications in which the user cannot be expected to actively interact with the device. The higher-resolution screen characteristic of web receivers makes it possible to display information such as maps and other graphics that would be impossible to show using a traditional alphanumeric RDS receiver. In addition to web pages, bytecode data, such as Java programming language applets, could also be delivered using this technology. BRIEF DESCRIPTION OF THE DRAWINGS Figure 1 illustrates an example computer system for implementing the invention. Figure 2 illustrates an example of a web receiver using the present invention. Figure 3 illustrates a broadcast station that combines web page and program data. Figure 4 illustrates a web page selection and navigation system using the present invention. DETAILED DESCRIPTION OF THE INVENTION The invention is a method and apparatus for broadcasting WWW pages. In the following description, numerous specific details are set forth to provide a more thorough description of embodiments of the invention. It is apparent, however, to one skilled in the art, that the invention may be practiced without these specific details. In other instances, well known features have not been described in detail so as not to obscure the invention. The present invention uses a subcarrier in the RDS (Radio Data System) protocol to deliver web page data to a receiving device. The receiving device displays the web page data for the user. Multiple web pages can be broadcast in a single subcarrier and selected by the user. Multiple broadcasters can send web page pages on their own subcarriers and a user can select from different broadcasters and different web pages of each broadcasters. RDS Protocol The RDS is a system for transmitting additional information by UHF/FM radio transmitters within the frequency band of 87.5 - 108 MHz. The system was originally developed in Europe in the 1980's to enable various types of data (particularly traffic emergency information) to be transmitted to FM radio receivers installed in vehicles. RDS is based on subcarrier technology and it allows radio broadcasters to silently deliver a datastream of 1200-2400 (or more) bits per second alongside the main audio channel. The data is organized into groups which make it relatively easy to add new value-added services. In Europe RDS-enabled radios are in widespread use and they typically allow radio listeners to get services such as: - see the name of the radio station, - tune automatically by program format and best audio quality, - view song titles and artist names, - hear traffic bulletins automatically, - view sports scores and stock quotes, - have their clocks synchronized, - and receive advertisements and other commercial information from local companies. Typically an RDS-enabled radio receiver has a small alphanumeric display (with a minimum of 8 letters /digits) to view information. The small display size limits the value of RDS substantially in most practical applications. RDS system is currently being taken into use also in the USA. As of early August 1996, there were 614 radio stations broadcasting RDS in the USA. The Radio Data System Standard and the United States Radio Broadcast Data System (RDBS) are described in "European Standard CENELEC EN 50067 (April 1992) Specification of the radio broadcast data system, and in NRSC United States RBDS Standard January 8, 1993, Specification of the radio broadcast data system. Web Receiver The present invention contemplates the modification of existing mobile computing devices to receive RDS transmitted web pages as well as devices specifically created for receiving and viewing RDS transmitted web pages. Figure 2 illustrates a block diagram of an RDS receiver for receiving RDS data. A UHF/FM receiver 202 receives a broadcast signal(program signal) on link 201. The broadcast signal received on link 201 includes both an audio program and RDS subcarrier data. The receiver 202 outputs a signal to a stereo decoder 203 and to Radio data decoder 206. The stereo decoder 203 decodes the stereo audio signal and provides two channels (left and right) to output amplifiers 204. Amplifiers 204 drive speakers 205 to present the broadcast audio program. Radio data decoder 206 separates the RDS data from the broadcast signal 201 and provides the data to processor 207. Data processor 207 provides appropriate subsets of the received data to display 209 based on user instructions provided via keypad 210. A local memory 211 can be used to store user preferences for automatic operation. The radio data decoder 206 can be retrofitted to any microprocessor driven device, including the mobile computing devices of the present invention. The output of the radio data decoder 206 can then be provided to the processor of the mobile computing device and the processor can then drive the display of the mobile computing device with RDS data. In the present invention, it is not even necessary to decode or play the audio program of the broadcast signal to take advantage of the invention. The invention has equal applicability whether the audio program is used or not. WWW Data as RDS Data Currently, the RDS protocol provides for sending certain alphanumeric information in a number of different categories. The transmission of these categories is interleaved so that all categories might be accessible at any one time. The present invention contemplates the transmission of HTML data defining web pages using HTTP protocol to a processor with a browser or other type of reader for presentation on a display. In this manner, a number of platforms of mobile devices could access the web data without the need for the broadcaster to transmit different formats. Within the bandwidth available in the RDS protocol, 1200 to 2400 bits per second can be transmitted on the subcarrier of the program transmission. The transmission of the web pages can be interleaved so that the user can switch between web pages as desired, with no noticeable lag time in presenting the web page data. In one embodiment, the web receiver of the user includes memory to buffer the web data prior to display so that full screens are available before display attempts are made. In one embodiment of the invention, web pages are cached in local storage (such as local cache 212 of Figure 2) of the web receiver even when the receiver is "off". The web pages that are cached may be the web pages associated with the most recently tuned broadcast station, they may be the "n" most recent web pages viewed by the user, they may be the web pages associated with the stations identified with the "preset" selectors of the web receiver, or any other suitable scheme. The caching of air web pages depends in part on the amount of local memory available in the web receiver. Figure 3 illustrates a system for combining web pages with broadcast data for transmission to a web receiver. Web pages 1 - N are combined with program data 301 in radio data /program encoder 302. The encoder 302 interleaves the web page data in a subcarrier with the program data and sends the data stream to transmitter 303 for transmission as a broadcast signal and subcarrier wave. The web pages 1 - N may be from a local server at the broadcast station itself, or some or all may be downloaded from the WWW for retransmission on the subcarrier. One use of the web is to transmit platform independent programming language programs, known as applets, to client computers for local execution. Typically, these applets are written in the Java programming language. The present invention contemplates the ability to transmit applets to a web receiver for local use and execution. Web Page Selection Figure 4 illustrates a web receiver interface for navigation and selection of web pages. In this embodiment, the web receiver display includes a number of buttons 401 - 406 for selecting categories of web pages from the web pages being broadcast on a particular broadcast frequency. In the example shown, the category buttons comprise traffic 401, weather 402, news 403, maps 404, food 405, and entertainment 406. When the user selects a category be activating the appropriate button, a web page from that category is presented on display 409. If there are multiple web pages available in that category, the user can scroll through the web pages by activating the down key 407 or the up key 408. The categories of Figure 4 are shown as examples only, and other categories may be used without departing from the scope or spirit of the present invention. In other embodiments, there are no category selection buttons, but rather only a means to scroll through the available web pages from the broadcaster. In one embodiment of the invention, the web pages are substantially self contained. That is, there is no interaction required with the user to obtain the desired data. The presentation is a read only presentation of web data to reduce the risk of distraction during mobile web page access. Embodiment of Computer Execution Environment (Hardware) An embodiment of the invention can be implemented as computer software in the form of computer readable code executed on a general purpose computer such as computer 100 illustrated in Figure 1, or in the form of bytecode class files running on such a computer. A keyboard 110 and mouse 111 are coupled to a system bus 118. The keyboard and mouse are for introducing user input to the computer system and communicating that user input to processor 113. Other suitable input devices may be used in addition to, or in place of, the mouse 111 and keyboard 110. I/O (input/output) unit 119 coupled to system bus 118 represents such I/O elements as a printer, A/V (audio/video) I/O, etc. Computer 100 includes a video memory 114, main memory 115 and mass storage 112, all coupled to system bus 118 along with keyboard 110, mouse 111 and processor 113. The mass storage 112 may include both fixed and removable media, such as magnetic, optical or magnetic optical storage systems or any other available mass storage technology. Bus 118 may contain, for example, 32 or 64 address lines for addressing video memory 114 or main memory 115. The system bus 118 also includes, for example, a 32-bit or 64-bit data bus for transferring data between and among the components, such as processor 113, main memory 115, video memory 114 and mass storage 112. Alternatively, multiplex data/address lines may be used instead of separate data and address lines. In one embodiment of the invention, the processor 113 is a SPARC microprocessor from Sun Microsystems, Inc. or a microprocessor manufactured by Motorola, such as the 680X0 processor or a microprocessor manufactured by Intel, such as the 80X86, or Pentium processor. However, any other suitable microprocessor or microcomputer may be utilized. Main memory 115 is comprised of dynamic random access memory (DRAM). Video memory 114 is a dual-ported video random access memory. One port of the video memory 114 is coupled to video amplifier 116. The video amplifier 116 is used to drive the cathode ray tube (CRT) raster monitor 117. Video amplifier 116 is well known in the art and may be implemented by any suitable apparatus. This circuitry converts pixel data stored in video memory 114 to a raster signal suitable for use by monitor 117. Monitor 117 is a type of monitor suitable for displaying graphic images. Computer 100 may also include a communication interface 120 coupled to bus 118. Communication interface 120 provides a two-way data communication coupling via a network link 121 to a local network 122. For example, if communication interface 120 is an integrated services digital network (ISDN) card or a modem, communication interface 120 provides a data communication connection to the corresponding type of telephone line, which comprises part of network link 121. If communication interface 120 is a local area network (LAN) card, communication interface 120 provides a data communication connection via network link 121 to a compatible LAN. Wireless links are also possible. In any such implementation, communication interface 120 sends and receives electrical, electromagnetic or optical signals which carry digital data streams representing various types of information. Network link 121 typically provides data communication through one or more networks to other data devices. For example, network link 121 may provide a connection through local network 122 to local server computer 123 or to data equipment operated by an Internet Service Provider (ISP) 124. ISP 124 in turn provides data communication services through the world wide packet data communication network now commonly referred to as the "Internet" 125. Local network 122 and Internet 125 both use electrical, electromagnetic or optical signals which carry digital data streams. The signals through the various networks and the signals on network link 121 and through communication interface 120, which carry the digital data to and from computer 100, are exemplary forms of carrier waves transporting the information. Computer 100 can send messages and receive data, including program code, through the network(s), network link 121, and communication interface 120. In the Internet example, remote server computer 126 might transmit a requested code for an application program through Internet 125, ISP 124, local network 122 and communication interface 120. The received code may be executed by processor 113 as it is received, and /or stored in mass storage 112, or other non-volatile storage for later execution. In this manner, computer 100 may obtain application code in the form of a carrier wave. Application code may be embodied in any form of computer program product. A computer program product comprises a medium configured to store or transport computer readable code, or in which computer readable code may be embedded. Some examples of computer program products are CD-ROM disks, ROM cards, floppy disks, magnetic tapes, computer hard drives, servers on a network, and carrier waves. The computer systems described above are for purposes of example only. An embodiment of the invention may be implemented in any type of computer system or programming or processing environment. Thus, a method and apparatus for broadcasting WWW pages is described in conjunction with one or more specific embodiments. The invention is defined by the claims and their full scope of equivalents.

Claims: CLAIMS 1. A system for transmitting web pages to mobile devices comprising: at least one web page; a program signal; an encoder for combining said at least one web page with said program signal to create a combined signal; a transmitter for transmitting said combined signal; a receiver for receiving said combined signal, for separating said at least one web page from said program signal, and for displaying said at least one web page. 2. The system of claim 1 wherein said encoder combines said at least one web page with said program signal by placing said at least one web page in a subcarrier of a transmission frequency of said program signal. 3. The system of claim 2 wherein said subcarrier is defined by the Radio Data Systems (RDS) protocol. 4. The system of claim 1 further including a selector on said receiver for selectably choosing said at least one web page for display. 5. The system of claim 1 wherein said program signal comprises audio data. 6. The system of claim 1 wherein said at least one web page is transmitted using HTTP protocol. 7. The system of claim 1 wherein said receiver is a mobile computing device. 8. The system of claim 1 wherein said receiver comprises a radio frequency receiver for receiving said combined signal, a program signal decoder for separating said program signal from said combined signal, a data decoder for separating said at least one web page from said combined signal; processing means coupled to said data decoder for selecting and displaying said at least one web page on a display coupled to said processing means; control input means for controlling the display of said at least one web page for display. 9. The system of claim 1 wherein said at least one web page includes an applet. 10. The system of claim 9 wherein said applet comprises a JAVA programming language applet. 11. An article of manufacture comprising: a computer usable medium having computer readable program code embodied therein for transmitting internet data to mobile devices, the computer readable program code in said article of manufacture comprising; computer readable program code configured to cause a computer to obtain at least one web page; computer readable program code configured to cause a computer to obtain a program signal for transmission; computer readable program code configured to cause a computer to combine said at least one web page with said program signal to create a combined signal; computer readable program code configured to cause a computer to transmit said combined signal; computer readable program code configured to cause a computer to receive said combined signal on a mobile device; computer readable program code configured to cause a computer to separate said at least one web page from said program signal; computer readable program code configured to cause a computer to display said at least one web page. 12. The article of manufacture of claim 11 wherein said internet data is combined with said program signal by placing said internet data in a subcarrier of a transmission frequency of said program signal. 13. The article of manufacture of claim 12 wherein said subcarrier is defined by the Radio Data Systems (RDS) protocol. 14. The article of manufacture of claim 11 wherein said internet data comprises a at least one web page. 15. The article of manufacture of claim 14 further including a selector on said receiver for selectably choosing said at least one web page for display. 16. The article of manufacture of claim 11 wherein said program signal comprises audio data. 17. The article of manufacture of claim 14 wherein said at least one web page is transmitted using HTTP protocol. 18. The article of manufacture of claim 11 wherein said mobile device is a mobile computing device. 19. The article of manufacture of claim 11 wherein said mobile device comprises a radio frequency receiver for receiving said combined signal, a program signal decoder for separating said program signal from said combined signal, a data decoder for separating said at least one web page from said combined signal; processing means coupled to said data decoder for selecting and displaying said at least one web page on a display coupled to said processing means; control input means for controlling the display of said at least one web page. 20. The article of manufacture of claim 11 wherein said internet data comprises an applet. 21. The article of manufacture of claim 20 wherein said applet comprises a JAVA programming language applet.

Inventors: TAIVALSAARI ANTERO, TAIVALSAARI, ANTERO
Applicants: SUN MICROSYSTEMS INC, SUN MICROSYSTEMS, INC.
Application year: 2000
Main classification: H04H
IPC codes: H04H20