Abstract:
An interactive television program guide system is provided in which data that must be available quickly to the user is stored locally in a receiver whereas data that is not readily needed but available on-demand is stored remotely where mass storage is available. Locally-stored data may include frequently-requested information that the user needs quick access to. Supplemental information stored remotely may include information for which a slight delay following a request for a particular item of information by the user is acceptable. The program guide may display locally-stored information either continuously as the user is browsing the guide or as soon as the user requests it. The program guide may request supplemental information that is stored remotely when the user requests it or as soon as it is clear the user may want to view it. Accordingly, the program guide may anticipate which information the user will need and may store it locally in advance of the user actually requesting it, thereby reducing any delays in viewing the information.

Description:
[0001]    This application claims the benefit of U.S. provisional application No. 60/088,887, filed Jun. 11, 1998. 
     
    
     BACKGROUND OF THE INVENTION 
       [0002]    This invention relates to interactive television program guides, and more particularly, to interactive television program guides with on-demand data supplementation. 
         [0003]    Cable, satellite, and broadcast television systems provide viewers with a large number of television channels. Viewers have traditionally consulted printed television program schedules to determine the programs being broadcast at a particular time. More recently, interactive television program guides have been developed that allow television program information to be displayed on a viewer&#39;s television. 
         [0004]    Interactive program guides are typically implemented on set-top boxes. Such program guides allow users to view television program listings in different display formats. For example, a user may instruct the program guide to display a grid or table of program listings organized in a channel-ordered or a time-ordered list. Users may also search and sort program listings by genre (e.g., movies, sports, etc.) or by title (i.e., alphabetically). A user may obtain additional information for a program by placing a highlight region on a desired program listing and pressing an “info” button. The user may purchase a pay program from the program guide by placing the highlight region on a program listing and pressing an “OK” button. Some systems allow the user to select a program for recording by placing the highlight region on a program listing and pressing a “record” button. 
         [0005]    Program guide data such as program listings, pay-per-view program purchasing information, promotional information, etc. is provided to users&#39; set-top boxes with a data distribution system. Program guide data is typically stored in a central program guide database. Program guide data from the central database is transmitted to the headend facilities of various cable systems. Each headend distributes the program guide data to the set-top boxes in its system. 
         [0006]    In current systems, program guide data is stored in local memory within the set-top box or is available continuously in a data stream that the set-top box may access by tuning to a specified data channel. However, storing the program guide data locally requires significant memory in the set-top box and can be very expensive. Searching for desired information from a continuous data stream introduces significant delay between when the viewer requests the information and when it is displayed. Due to the numerous television channels and weeks worth of information available continuously on the data stream, a user may need to wait until the desired program information is available on the data stream to be viewed. 
         [0007]    Another type of program guide system that has been used is one in which the guide was able to request certain data, but which required a memory to store all required data. User actions were used to determine which data items were requested first, but all data items were eventually requested and stored. 
         [0008]    It is therefore an object of the present invention to provide an interactive television program guide system in which data that must be available quickly to the user is stored locally whereas data that is needed less urgently may be stored remotely and requested by the user on-demand. 
       SUMMARY OF THE INVENTION 
       [0009]    This and other objects of the invention are accomplished in accordance with the principles of the present invention by providing a system in which quickly needed program guide information is stored locally (i.e., in local memory) while supplemental information not readily needed but available on-demand is stored remotely (i.e., in remote memory). 
         [0010]    Program guide data is generally available in a data source of a main facility. The main facility provides data from the data source to multiple television distribution facilities via communications links. The data transmitted by the main facility to the television distribution facilities typically include at least television program listings data such as program times, channels, titles, ratings, categories, and descriptions. 
         [0011]    Each television distribution facility distributes television program listings data to multiple users via communications paths. Each user has user television equipment for displaying the television program listings information. The communications paths preferably have sufficient bandwidth to allow the television distribution facility to distribute multiple channels of television programming to the user television equipment. 
         [0012]    The user television equipment that receives and processes the television program listings data from the television distribution facility may include a set-top box. The set-top box may process television program listings to generate an interactive television program guide grid on the user&#39;s display screen if desired. The user can interact with the television program guide by entering commands via a user input interface. An illustrative user input interface is an infrared remote control with cursor keys, a “guide” button and an “info” button. 
         [0013]    Information provided to the program guide from the television distribution facility may be stored either locally within the receiver or remotely where mass storage is available. Locally-stored data may include information such as program titles, ratings, brief descriptions, times and channels of each showing, program categories, and other frequently-requested information that the user needs quick access to. Supplemental information stored remotely may include, for example, detailed descriptions of programs, biographies, video and audio clips, bitmap graphics, advertisements, trivia, world wide web Internet addresses, real-time information (e.g., sports scores), interactive applications, application extensions, and other information for which a slight delay following a request for a particular item of information by the user is acceptable. 
         [0014]    The program guide may display locally-stored information either continuously as the user is browsing the guide or as soon as the user requests it. The program guide may request supplemental information that is stored remotely when the user requests it or as soon as it is clear the user may want to view it. For example, supplemental information may be requested by the program guide when the user tunes to a channel showing a particular program, when the user brings up locally-stored information about a particular program, or when any program listings screen or grid including a particular program or certain programs is displayed. Accordingly, the program guide may anticipate which information the user will need and may store it locally in advance of the user actually requesting it. 
         [0015]    For example, if the user is browsing in the program guide and wishes to view information about a program scheduled to be aired, the user may browse the program guide until a program listing for the desired program is displayed on a suitable program guide display screen. The program listing may include information such as a program title, rating, actors, and a brief description. This information, typically stored locally, is available quickly and provides the user with instant feedback. There is little or no latency associated with the user&#39;s requests to view certain program listings, which allows the user to freely browse through various program guide display screens containing such program listings without incurring any delays or interruptions. 
         [0016]    If the user wishes to view additional information about a given program, the user may position a highlight region on a program listing for that program using the remote control and may press the “info” button on the remote control. Once the user makes such a selection, another screen may be displayed by the program guide that contains further information about the program. This information may also be stored locally. Such information may include times and channels of each showing of the program during the week as well as other similar program categories. 
         [0017]    However, if the user wishes to view still more information about the program, the user may opt to view a further information screen that provides additional detailed and descriptive information related to the program such as detailed description, biographies, video and/or audio clips, etc. This information, available on-demand, is typically stored remotely (e.g., at the television distribution facility or a network node) where mass storage exists. 
         [0018]    Remote storage may be based on slower, less-expensive memory and involves transmission delays to the user. The user may therefore experience slight delays in viewing remotely-stored information. However, delays may be reduced by anticipating when the user will request certain supplemental information. For example, whenever the user tunes to a program on a particular channel, places a highlight region on a desired program listing on a program guide display screen, requests additional information for a program, or otherwise indicates an interest in a program, channel category of programs, etc., the program guide may request supplemental data in anticipation of the user&#39;s desire to access such data. 
         [0019]    The length of any delay associated with accessing the supplemental information may depend on whether the user requests such information before the program guide has an opportunity to anticipate the user&#39;s desire to access the information and to request that the supplemental information be transferred to local memory. For example, if the user submits a request as soon as certain locally-stored information is displayed, the delay may be somewhat longer than if the user browses the locally-stored information for a while before submitting a request. 
         [0020]    In addition to detailed information about a currently selected program, supplemental information may also include information on other programs in the same time frame as a program or program listing, information on programming related to the current channel to which the user is tuned, other programs in the same category or having the same actors as a particular program or program listing, etc. 
         [0021]    If the supplemental data includes a world-wide-web Internet address, it may be added as a link to a program guide information screen. This may provide a direct link to an embedded web browser. If the link is selected by the user, the browser may be launched and the desired web page retrieved and displayed on the user television equipment. If the supplemental data includes an interactive application or an application extension, an appropriate option for invoking the application or application extension may be added to the information screen. Alternatively, the application or extension may be launched automatically (e.g., by the program guide). The application may be related to the current program or a selected program listing and may, for example, include shopping, contests, polling, games, on-going displays of supplemental data (such as sport scores or stock tickers), etc. If the supplemental data includes real-time information, that information may be added to the information screen or it may be overlaid on the video of a television program on an on-going basis, for as long as the user television equipment is tuned to that program. 
         [0022]    Further features of the invention, its nature and various advantages will be more apparent from the accompanying drawings and the following detailed description. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0023]      FIG. 1  is a schematic block diagram of an illustrative system in accordance with the present invention. 
           [0024]      FIG. 2  is a schematic block diagram of illustrative user television equipment in accordance with the present invention. 
           [0025]      FIG. 3  is a generalized schematic block diagram of portions of the illustrative television equipment of  FIG. 2 . 
           [0026]      FIGS. 4 and 5  are illustrative program guide display screens in accordance with the present invention. 
           [0027]      FIG. 6  is a schematic block diagram of illustrative user television equipment in accordance with the present invention in which details of the data supplementation circuitry are shown. 
           [0028]      FIG. 7  is an illustrative program information display screen in accordance with the present invention. 
           [0029]      FIGS. 8 and 9  are illustrative detailed information display screens in accordance with the present invention. 
           [0030]      FIG. 10  is a flow chart of illustrative steps involved in using the system of  FIG. 1  in accordance with the present invention. 
           [0031]      FIG. 11  is an illustrative program information display screen in accordance with the present invention. 
           [0032]      FIGS. 12 and 13  are illustrative detailed information display screens in accordance with the present invention. 
           [0033]      FIG. 14  is an illustrative program information display screen in accordance with the present invention. 
       
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS 
       [0034]    An illustrative system  10  in accordance with the present invention is shown in  FIG. 1 . Main facility  12  provides data from data source  14  to television distribution facility  16  via communications link  18 . Link  18  may be a satellite link, a telephone network link, a cable or fiber optic link, a microwave link, a combination of such links, or any other suitable communications path. If it is desired to transmit video signals over link  18  in addition to data signals, a relatively high bandwidth link such as a satellite link may generally be preferable to a relatively low bandwidth link such as a telephone line. Television distribution facility  16  may be, for example, a cable system headend, a broadcast distribution facility, or a satellite television distribution facility. 
         [0035]    The data transmitted by main facility  12  to television distribution facility  16  includes television program listings data (e.g., program times, channels, ratings, program categories, titles, and descriptions). Television program listings data received from main facility  12  may be quickly needed data stored locally (i.e., in local memory  21 ) or more detailed supplemental data stored remotely (i.e., in remote memory  17 ). Remote memory  17  may be any suitable memory device or devices and may be located at, for example, television distribution facility  16  (as shown in  FIG. 1 ), a network node (e.g., in the system serviced by television distribution facility  16 ) or any other suitable location remote from user television equipment  22 . 
         [0036]    Television distribution facility  16  distributes the television program listings data to multiple users via communications paths  20 . Each user has user television equipment  22  for displaying the television program listings information with an interactive television program guide implemented on user television equipment  22 . Communications paths  20  preferably have sufficient bandwidth to allow television distribution facility  16  to distribute television programming to user television equipment. If desired, television programming may be provided over separate communications paths (not shown). 
         [0037]    An illustrative arrangement for user television equipment  22  is shown in  FIG. 2 . User television equipment  24  of  FIG. 2  receives and transmits video and data to and from television distribution facility  16  via remote memory source  17  at input/output  26 . During normal television viewing, the user tunes set-top box  28  to a desired television channel. The signal for that television channel is then provided at video output  30  as, for example, a radio-frequency (RF) signal on a predefined channel (e.g., channel  3  or  4 ), a demodulated video signal, or as a digital signal. The video signal at output  30  may be received by videocassette recorder  32  (or another suitable recording device), so that the user may record programs. Program recording and other features may be controlled by set-top box  28  using control path  34 . A typical control path  34  involves the use of an infrared transmitter coupled to the infrared receiver in videocassette recorder  32  that normally accepts commands from a remote control such as remote control  40 . Remote control  40  may be used to control set-top box  28 , videocassette recorder  32 , and television  36 . 
         [0038]    Television  36  receives the appropriate video signals from videocassette recorder  32  via communications path  38 . The video signals on communications path  38  may either be generated by videocassette recorder  32  when playing back a prerecorded videocassette or may be passed through videocassette recorder  32  from set-top box  28 . During normal television viewing, the video signals provided to television  36  correspond to the desired channel to which the user has tuned with set-top box  28 . When the user wishes to view interactive television program guide information, the user may press a “guide” button on remote control  40 . When set-top box  28  receives commands from remote control  40  that inform set-top box  28  that the guide button has been pressed, the interactive television program guide is invoked and processing circuitry within set-top box  28  displays various program guide display screens on television  36 . 
         [0039]    A more generalized embodiment of the user television equipment of  24   FIG. 2  is shown in  FIG. 3 . As shown in  FIG. 3 , video and data signals from television distribution facility  16  ( FIG. 1 ) are received by control circuitry  42  of user television equipment  44 . Video signals are typically provided on multiple television channels. Data may be provided, for example, by transmission on a television channel sideband in the vertical blanking interval of a television channel, an out-band or in-band digital distribution of data, or by any other suitable data transmission technique. 
         [0040]    The user controls the operation of user television equipment  44  with user input interface  46 . User input interface  46  may be a pointing device, wireless remote control, keyboard, touch pad, voice recognition system, or any other suitable user input device. To watch television, the user instructs control circuitry  42  to display a desired television channel on monitor  48 . To view program guide information, the user instructs control circuitry  42  to display a program guide display screen on monitor  48 . 
         [0041]    The functions of control circuitry  42  may be provided using the set-top box arrangement of  FIG. 2 . Alternatively, these functions may be integrated into a television, videocassette recorder, or computer arrangement. If desired, a combination of such hardware arrangements may be used. 
         [0042]    When a user indicates a desire to view television program guide information (e.g., by entering a command with user input interface  46 ), the program guide directs control circuitry  42  to generate a video image of a program guide display screen. The information for the program guide display screen may be contained in the data provided to the program guide from data source  14  ( FIG. 1 ) in main facility  12  ( FIG. 1 ). This data typically contains several days worth of programming information for the program guide. An illustrative program listings grid  50  that may be displayed by the program guide is shown in  FIG. 4 . Program listings grid  50  has program listings rows  52 ,  54 ,  56 , and  58 . Program listings row  52  contains program listings for programs  1  and  2  on channel  2  (KJRH) during the time slots 6:30 PM, 7:00 PM, and 7:30 PM. Program listings row  54  contains program listings for programs  1  and  2  on channel  3  (HBO), etc. 
         [0043]    Program listings grid  50  (like other program guide screens displayed by the program guide) may have a highlight region  66 . Highlight region  66  may be used to highlight the current grid cell. The range of movement of highlight region  66  is typically bounded by column  68  on the left, by program listings time cells  70  on the top, by screen boundary  72  on the right, and by lower screen boundary  74  on the bottom. Time cell  76  may be used to display the current time and date cell  77  may be used to display the current date. 
         [0044]    The user may position highlight region  66  by entering appropriate commands with user input interface  46 . For example, if user input interface  46  is a remote control such as remote control  40  of  FIG. 2 , the user can position highlight region  66  using cursors. As shown in  FIG. 5 , if the user repeatedly moves highlight region  66  until it reaches lower screen boundary  74 , further attempts at downward movement cause the program listings to scroll in the vertical direction. In the illustrative example of  FIG. 5 , program listings rows  54 ,  56 , and  58  have been moved up one position in the grid. A new program listings row  55  is displayed at the bottom of grid  50 . Vertical movement of highlight region  66  in the upward direction may be used to scroll the program listings in the opposite direction. 
         [0045]    Similarly, when highlight region  66  is panned in the horizontal direction (i.e., moved to the right or left), the listings move accordingly (i.e., to the left or right respectively). Program listings grid  50  is but one illustrative program guide screen that may be displayed by the program guide on user television equipment  22 . Other program guide screens that the program guide may provide include menu screens, lists or tables of program listings, screens in which products are advertised, screens in which the current television channel is overlayed with a browse or flip banner containing a program listing, etc. Any of these program screens and any suitable program guide features may be provided by the program guide. 
         [0046]    In a program guide display screen such as program listings grid  50 , each program grid cell may contain a limited amount of descriptive information about a program, such as the program title, program rating, and a brief description. If the user wishes to view more information about a program, the user may position highlight region  66  on the appropriate program listing. Once the user positions highlight region  66  on a particular program listing, the user may elect to view additional information related to the program by pressing an “info” button on remote control  40 . If the “info” button on remote control  40  is pressed, the user may be presented with a program information screen such as program information screen  70  of  FIG. 7 . 
         [0047]    Program information screen  70  presents the user with additional information about the program selected in program grid  50 . For example, if the user selects the entry “SEINFELD” ( 57 ) in program grid  50  of  FIG. 4 , program information screen  70  will reflect that selection and display more information about the program as shown in  FIG. 7 . Program information screen  70  typically contains the program title (e.g., “SEINFELD”), the running time of the program (e.g., “0:30”), a brief description of the program (e.g., “Jerry decides that . . . ”), a description of the program category or genre (e.g., “COMEDY”), critics&#39; rating (e.g., “***”), TV or movie rating (e.g., PG, R, NC-17, TV-Y, etc.), and alternate broadcast times and channels (e.g., This program also airs . . . ). 
         [0048]    The information contained in program grid  50  of  FIG. 5  and program information screen  70  of  FIG. 7  will often contain all the information that the user desires. However, if the user desires to view more detailed information relating to the selected program, the user may move highlight region  238  of  FIG. 7  onto “more info” option  239 , which directs the program guide to display more information, such as in the form of detailed information screen  90  of  FIG. 8 . Detailed information screen  90  allows the user to view more detailed information on the selected program. Detailed information screen  90  may contain a more detailed description of the selected program (e.g., “In this episode . . . ”), as well as user-selectable options that the user may select to obtain still further information on the selected program. Typical user-selectable options contained in detailed information screen  90  may include options to view biographies, options to request video and audio clips, options to view trivia, options to launch an embedded web browser and view certain Internet addresses, etc. Other data may also be displayed automatically without the user actually requesting it when the user enters detailed information screen  90 . Detailed information screen  90  may also contain a variety of advertisements such as advertisement  120 . Options may also be presented on screen  90  or in other suitable locations in the program guide that allow the user to invoke an application or application extension (other than the illustrative web browser application mentioned previously). The application or application extension may also be invoked automatically as the user enters that location. 
         [0049]    Information for the program guide may be stored locally and therefore be available instantly, or may be stored remotely and be available on-demand. Illustrative details of a system based on user television equipment containing a set-top box that is suitable for implementing the on-demand data supplementation features of the invention are shown in  FIG. 6 . 
         [0050]    User television equipment  80  of  FIG. 6  includes set-top box  81 , television monitor  75 , and remote control  97 .  FIG. 6  also shows remote memory  78  and television distribution facility  16 . 
         [0051]    Video for television programs and associated program listings data is received from television distribution facility  16  at input/output line  82 . Input/output line  82  may also be used to receive other types of data for use by the program guide. If desired, some data may be received on one input line (e.g., a cable from a cable system headend) whereas other data may be received on another input line (e.g., a telephone line connected to the Internet). Any suitable combination of such connections may also be used to receive data and (when appropriate) to transmit requests for supplemental data from the user. For example, a user request for supplemental data may be sent to remote memory  78  via input/output line  82  while input/output line  82  may also be used to receive the requested supplemental data. The request may, if desired, be sent to remote memory  78  via another line. Tuner/decoder circuitry  84  of set-top box  81  provides, for example, a demodulated video signal for a television channel to which the viewer is tuned to control circuitry  92  via line  90 . Control circuitry  92  also receives data (containing, in general, text, graphics, and video) for other television programs (i.e., programs the user is not tuned to) and data for the program guide that is related to non-television program guide features from television distribution facility  16  ( FIG. 1 ) via line  85 . Certain program guide data, such as program listings data is stored in local memory  88  by control circuitry  92  via line  93 . Other data which is needed less frequently and not as urgently as the locally-stored data, is stored remotely in remote memory  78 . Remote memory  78  may be any suitable memory device or devices and may be located at, for example, television distribution facility  16 , a network node (e.g., in the system serviced by television distribution facility  16 ) or any other suitable location remote from set-top box  81 . Data may be provided to remote memory  78  from main facility  12  or any other suitable data source. 
         [0052]    Information stored in local memory  88  is usually needed quickly by the program guide or user. For example, information stored in local memory  88  (which is typically a random access memory) may include the program title, the program rating, a brief description of the program, the times and channels of each showing of the program, as well as other related program categories. This information is typically displayed by the program guide on a program guide display screen such as program grid  50  of  FIG. 4  or program information screen  70  of  FIG. 7 . Locally-stored information provides the user with instant feedback because there is no delay associated with accessing memory  88  with the program guide. 
         [0053]    When locally stored information is requested by the user, the program guide directs control circuitry  92  to receive the information from local memory  88  via line  93 . The program guide then directs control circuitry  92  to display the information on monitor  75  via line  94 . 
         [0054]    Information stored in remote memory  78  is typically more detailed supplemental information. Such supplemental information may be, for example, information relating to a highlighted program listing or a program to which the user has tuned. This information, although available on-demand, is not sent to set-top box  81  until it is clear the user wants or may soon want it. Supplemental information initially stored in remote memory  78  may include, for example, detailed descriptions, biographies, video and audio clips, bitmap graphics, advertisements, trivia, world-wide-web Internet addresses, real-time information (such as sports scores, weather information, stock prices, news information, etc.), interactive applications (such as games, home shopping, banking, web browsing, etc.), and application extensions (i.e., parts of applications that extend the functionality of already loaded applications). Supplemental information on programming may be displayed using program guide display screens such as detailed information screen  90  of  FIG. 8 . 
         [0055]    When supplemental information is requested or it is anticipated that supplemental information will be requested by the user, the program guide sends a request for the information to remote memory  78 . The program guide then receives the information from remote memory  78 . The user request for supplemental data may, for example, be sent to remote memory  78  via input/output line  82  while input/output line  82  may also be used to receive the requested supplemental data. The request may, if desired, be sent to remote memory  78  via any other suitable line such as a cable line or telephone line. If the user has actually requested the information (e.g., the user has selected the “more info” option  239  of program information screen  70 ), the program guide will display the supplemental information on monitor  75 . If the user has not made an actual request for the supplemental information but it is anticipated that the supplemental information may soon be needed, the program guide may store the supplemental information in local memory  88 . If the user then makes an actual request, the program guide may display the supplemental information stored in local memory  88  on monitor  75 . Moreover, the program guide may also display supplemental data automatically although not specifically requested by the user. The program guide may display this data immediately (e.g., as the user enters detailed information screen  90  of  FIG. 8 ) or as soon as it is available. However, if the user does not make an actual request or it is no longer anticipated that the information may soon be needed, the information stored in local memory  88  may be discarded or maintained until overwritten. 
         [0056]    As the user browses through program listings such as the program listings of program listings grid  50  of  FIG. 4 , the program guide monitors the browsing habits of the user. Program listings guide  50  may request supplemental data whenever the user actually makes a request or whenever it is anticipated that the user will make the request. For example, as the user browses through program listings grid  50  of  FIG. 4 , the program guide may monitor which programs in program listings grid  50  are being displayed on monitor  75 . The program guide may then retrieve supplemental information that provides more detailed information for those programs from remote memory  78  and may store the supplemental information relating to those programs in local memory  88 . The program guide therefore anticipates that the user will want to view this detailed information and attempts to minimize the delay associated with displaying the information should the user actually request the information. 
         [0057]    In addition, a request by the program guide for supplemental information may be accelerated if the user tunes to a channel showing a particular program or if the user retrieves locally-stored information about a particular program such as the information displayed in program information screen  70  of  FIG. 7 . As the user browses program information screen  70 , the program guide is simultaneously retrieving supplemental information about that program and storing this supplemental information in local memory  88 . As a result, if the user decides to select the “more info” option  239  of  FIG. 7 , supplemental information relating to the selected program shown in  FIG. 8  is displayed more rapidly (i.e., with less of a perceived delay to the user). However, the less time the user browses program information screen  70  of  FIG. 7  or is actually tuned to a channel showing a particular program, the more delay the user will experience in requesting and being provided detailed information on that program, because the program guide will have less time to retrieve the information from remote memory  78 . The program guide may also display supplemental information as soon as it is available without the user actually requesting the information. 
         [0058]    Detailed information screen  90  of  FIG. 8  contains user-selectable options the user may select to view additional supplemental information about a particular program. For example, a selectable option may include a world wide web Internet address such as option  107  in  FIG. 8 . If the user selects option  107  of  FIG. 8 , the user may be presented with links screen  140  of  FIG. 9 . Links screen  140  may contain options that provide the user with links to program character web pages ( 145 ), with an opportunity to search for other related web pages ( 147 ), or with an opportunity to enter a new search ( 144 ) or specific world wide web address ( 148 ). Links screen  140  may also provide options related to advertisements ( 149 ) related to the program or other programs on that channel. 
         [0059]    If the supplemental data includes an interactive application or application extension, access to application features may be added as an option to an information screen such as options  111  and  113 , respectively, of information screen  90  of  FIG. 8 , or (when appropriate) an application extension may be launched automatically by the program guide. For example, as shown in  FIG. 8 , information screen  90  may contain user-selectable video/audio clip option  108 . If the user selects option  108 , the user may view a video clip of the selected program listing. If, however, this application extension is launched automatically by the program guide, the user may, for example as shown in  FIG. 11 , view the video clip as soon as the user is presented with information screen  90 . The application may be launched (and overlaid) with any information screen or other suitable program guide display screen in the program guide or launched on a separate display screen. 
         [0060]    Applications (and extensions) may, for example, be related to a selected program listing or the current program to which the user is tuned and may, for example, include shopping, banking, contests, polling, games, on-going displays of supplemental data (such as sports scores or stock tickers), etc. If the displayed supplemental data includes real-time information, that information may be added to any information screen or other suitable program guide display screen in the program guide or may be overlaid on the video by the program guide on an on-going basis. 
         [0061]    For example, if the user selects a sports event listing from program listings grid  50  of  FIG. 4  and desires to view detailed information relating to the sports event, the user may be presented with a detailed information screen such as detailed information screen  170  of  FIG. 12 . Similar to detailed information screen  90  of  FIG. 8 , detailed information screen  170  contains user-selectable options the user may select to view additional supplemental information about the selected program. Detailed information screen  170  may also contain a real-time data option such as sports scores option  174 . If the user selects sports scores option  174 , the user may be presented with option screen  180  of  FIG. 13 . Option screen  180  may allow the user to select the type of information to be viewed. Option screen  180  may also allow the user to specify how and where the information is to be displayed. For example, if the user selects option  181  of options screen  180 , the sports scores information may be overlaid on the program video by the program guide on an on-going basis as shown in  FIG. 14 . Option screen  180  may also allow the user to add the real-time information on any information screen or other suitable display screen in the program guide. 
         [0062]      FIG. 10  shows illustrative steps involved in using the system of the present invention. At step  150 , data to be used by the program guide is provided to remote memory and to local memory. The remote memory may be remote memory such as remote memory  78  of  FIG. 6  that may be located at television distribution facility  16  of  FIG. 1 , at a network node in the area served by television distribution facility  16 , or at some other suitable location remote from user television equipment  22  but accessible by the program guide at user television equipment  22 . The local memory may be local memory such as local memory  88  of  FIG. 6  or any other suitable memory contained within or otherwise local to user television equipment  22 . Data that is provided to local memory may be provided to the local memory of user television equipment  22  located over a broad geographic area (e.g., the nation). 
         [0063]    Data may be provided to the local memory at step  150  using any suitable technique. For example, data such as television program listings information (for which the user may desire immediate access) may be transmitted to multiple television distribution facilities  16  in parallel (either continuously or periodically) via communications paths such as communications path  18  of  FIG. 1 . Each television distribution facility  16  may distribute this data to the program guides on the user television equipment  22  associated with that television distribution facility  16  over communications paths  20 . In each piece of user television equipment  22 , the program guide may store the data in the local memory associated with that piece of user television equipment  22 . 
         [0064]    Data may also be provided to remote memory from main facility  12  at step  150 . For example, detailed program descriptions may be stored in data source  14 . Such detailed program descriptions may be provided to multiple television distribution facilities  16  in parallel at the same time that data such as program listings data that is to be stored in local memory is provided to facilities  16  (i.e., the detailed program descriptions may be provided to facilities  16  in the same data stream that program titles, ratings, channels, etc. are provided). The detailed program descriptions may be stored in remote memory located at these television distribution facilities or located at network nodes within the area serviced by these facilities. Other data that is to be stored in remote memory may be provided to the remote memory using different data paths. For example, real-time data such as sports scores, stock prices, weather information, news information, etc. may be provided by one or more real-time data sources (either directly or via main facility  12  or another facility or facilities separate from television distribution facility  16 ). Data such as video clips and audio clips may be provided to the remote memory by studios or broadcasters. Data relating to advertisements may be provided to the remote memory by advertising houses. Data relating to applications or application extensions may be provided by special facilities for the applications or extensions in question. For example, data relating to a game application may be provided to the remote memory by the provider of the game application. Data relating to a home shopping application may be provided to the remote memory by a home shopping service provider. Data relating to a home banking application may be provided to the remote memory by a banking services provider. These examples are merely illustrative. Supplemental data to be stored in the remote memory may be provided to the remote memory by any suitable technique. 
         [0065]    At step  152 , the program guide is in operation by the user. The program guide uses the locally-stored data to perform various program guide functions. For example, if program titles are stored locally, the program guide may display various program guide display screens on user television equipment  22  that contain the program titles. Because this information is available locally, there is no delay associated with displaying this information for the user. As indicated by line  154 , the program guide may retrieve supplemental data stored in remote memory when the user requests additional information of the type stored in remote memory or when the user selects an option or invokes a program guide feature that directs the program guide to access an application or application extension. As indicated by line  156 , the program guide may also retrieve supplemental data when the program guide anticipates that the user will need the data (e.g., to fulfill an anticipated request by the user to view additional information on a program to which the user is currently tuned or on a program mentioned in a particular program listing). At step  158 , the program guide retrieves the supplemental data stored in the remote memory. The program guide may use the retrieved supplemental data immediately or later, when needed. The program guide may store the retrieved supplemental data in local memory, so that the data will be readily available when needed by the program guide. 
         [0066]    The foregoing is merely illustrative of the principles of this invention and various modifications can be made by those skilled in the art without departing from the scope and spirit of the invention.