Patent Publication Number: US-2015082354-A1

Title: Promotional philosophy for a video-on-demand-related interactive display within an interactive television application

Description:
This application claims the benefit of U.S. provisional patent application No. 60/141,575 filed Jun. 29, 1999. 
    
    
     BACKGROUND OF THE INVENTION 
     This invention relates to television application systems, and more particularly, to interactive television application systems such as interactive television program guide systems that provide indicators of video-on-demand offerings. 
     Interactive television program guides are typically implemented on set-top boxes connected to televisions. Such program guides may be used to present screens of interactive television program listings to users. Video-on-demand systems allow users to order videos for immediate delivery to the home over a cable or other suitable path. 
     It is an object of the present invention to provide an interactive display indicators for video-on-demand offerings using a promotional selection algorithm such as a promotional philosophy. 
     SUMMARY OF THE INVENTION 
     This and other objects of the present invention are accomplished in accordance with the principles of the present invention by providing an interactive display of indicators, such as promotions or listings, for video-on-demand offerings to a user based on a promotional selection algorithm as described, for example, in McCoy et al. provisional patent application Ser. No. 60/141,575, filed Jun. 29, 1999, which is hereby incorporated by reference herein in its entirety. The promotional selection algorithm according to which promotions or listings are displayed may be based on, for example, a promotional philosophy. If desired, the indicators may be presented in a passive display within an otherwise interactive application. 
     Generally, promotional philosophies are promotional event selection algorithms. A particular promotional philosophy may be designed to attempt to maximize returns from content such as promotions or advertisements by positioning certain types of promotions and advertisements at particular times of the day to reach certain types of television viewers. Promotional material distribution systems in which promotional philosophies are used to distribute promotions are described, for example, in Kern et al. U.S. patent application Ser. No. 09/332,448, filed Jun. 11, 1999, which is hereby incorporated by reference herein in its entirety. Systems in which users are “targeted” for specific advertisements are described, for example, in Reynolds et al. U.S. patent application Ser. No. 09/217,100, filed Dec. 16, 1998, which is hereby incorporated by reference herein in its entirety. 
     An interactive application presents an interactive display containing indicators of video-on-demand offerings (e.g., on demand movies, television programs, video clips, or any other suitable type of programming). The interactive application may be any suitable application, such as interactive television program guide, web browser, or other application. The offerings are displayed according to a particular promotional selection algorithm designed to have indicators presented so as to attempt to maximize, for example, the return on or the viewer rate of video-on-demand programs. Promotional selection algorithms may also be designed to have indicators selected so that any other suitable paradigm for the display of indicators is met. For example, it may be undesirable to have certain programs indicated at a certain time of day (e.g., adult programs), or it may be desirable to have some programs indicated more often based on upcoming holidays or events. 
     The display may include, for example, a series of buttons or other selectable on-screen display elements that contain listings for video-on-demand programs. The interactive display may include, for example, a browse display that provides a user with an opportunity to browse video-on-demand program listings while watching a television program. The interactive display may include, for example, a screening room within which users may view trailers or clips of video-on-demand offerings. Systems in which video-on-demand listings are displayed in a browse display are described, for example, in Ellis U.S. patent application Ser. No. 09/262,870, filed Mar. 4, 1999, which is hereby incorporated by reference herein in its entirety. Any other suitable approach for the display indicators of video-on-demand offerings. 
     The interactive application may obtain application data and data that define the promotional selection algorithm using any suitable approach. The application may, for example, obtain data continuously, periodically, on-demand or using any other suitable approach. The interactive application may also receive templates that define a desired promotional selection algorithm such as a promotional philosophy. 
     The promotional philosophy may be designed to include promotions or programs in the interactive application based on and suitable criteria. The promotional philosophy may be based on, for example, the availability of a video-on-demand offering or the availability a promotion for such an offering (e.g., when sent by satellite via Moving Picture Experts Group (MPEG), or a videodisc in a player). The promotional philosophy may be defined to cause the selection of promotions or programs based on, for example, conditional play attributes. For example, a listing or promotion (or group of listings or promotions) may be designated for inclusion in the interactive display only on Fridays if the weather is cold outside and the local system has HBO in its channel line up. The display characteristics of a promotion or program listing may also be determined according to the promotional philosophy. For example, a promotion or program listing may be displayed first in an interactive display before other types of program listings or promotions for programs (e.g., sitcoms). If desired, the application may monitor user actions to determine if a given promotional philosophy results in desirable video-on-demand program selection. 
     The indicators of video-on-demand offerings and corresponding promotional philosophies may be based on, for example, what data the interactive application requests, detectable environmental situations, or what is provided by the video-on-demand system. Some examples of environmentally detectable situations include: the specific clip played in relation to a title selected by a user, the channel line up provided to the user, the weather, local channels, promotional media available, and specific customer behaviors or profiles (e.g., whether the user subscribes to adult or children&#39;s programming). In these examples, the promotional philosophies may be designed using alternates, playability levels, and keywords as described, for example in above-mentioned Kern et al. U.S. patent application Ser. No. 09/332,448, filed Jun. 11, 1999. 
     User selections of indicators or other user activity may be analyzed to determine whether the promotional philosophy of the interactive display facilitates a desirable result (e.g., purchases of particular video-on-demand programming), or whether the promotional philosophy needs to be modified. Interactive program guide systems in which user usage of advertisements is monitored are described, for example, in Thomas et al. U.S. patent application Ser. No. 09/139,798, filed Aug. 25, 1998, which is hereby incorporate by reference herein in its entirety. The interactive display may be updated to display only the promotions or programs that a user is most interested in viewing, or that the video-on-demand system or interactive application provider desires to present to the user (which may be based on, for example, particular environmental situations and user demographics). 
     The interactive display may be based on templates that are modified for each user based on, for example, the individual user&#39;s profile, the hardware on which the interactive display is displayed (e.g., the configuration of the user&#39;s set-top box), or other user specific information. Thus, the interactive display may look different for each user, but is derived from 
     the same basic template that has been provided according to the chosen selection algorithm, such as a promotional philosophy algorithm. The user&#39;s profile may include, for example information suitable to select indicators in a way that personalizes the interactive display to the user in accordance with the selection algorithm. For example, a playability level may include user preferences. User preferences may be generated or obtained using any suitable scheme for monitoring user behavior and targeting the user with indicators for appropriate content. In another suitable approach, the user may define a preference profile that is used for indicator selection. 
     In another suitable approach, the system may maintain a record that includes environmentally detectable situations and specifics of resulting interactive display. This may be combined with the actual behavior of the user to form a log that is available to a master processing system. The record may be maintained on a disc drive in the system and may be available to the master processing system via suitable transmission media. The system may analyze this record and may correct the promotional philosophy. The system may, for example, modify the promotional philosophy based on desirable or undesirable results from a recorded log. Systems in which promotional philosophy algorithms are automatically updated are described, for example, in Lumley et al. U.S. patent application Ser. No. 09/227,401, filed Jan. 8, 1999, which is hereby incorporated by reference herein in its entirety. 
     Further features of the invention, its nature and various advantages will be more apparent from the accompanying drawings and the following detailed description of the preferred embodiments. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1  is a schematic block diagram of a system in accordance with the present invention; 
         FIGS. 2   a - 2   e  are schematic block diagrams of illustrative arrangements for the interactive application equipment of  FIG. 1  in accordance with the present invention; 
         FIG. 3  is a schematic block diagram of the user television equipment of  FIGS. 2   a - 2   d  in accordance with the present invention; 
         FIG. 4  is a more generalized schematic block diagram of the user television equipment of  FIG. 4  in accordance with the present invention; 
         FIG. 5  is an illustrative dataflow diagram for analyzing a selection log to determine if indicators are being selected optimally in accordance with the present invention; 
         FIGS. 6-9  are illustrative interactive displays in accordance with the present invention; and 
         FIGS. 10 and 11  are flow charts of illustrative steps involved in providing indicators of video-on-demand programming in accordance with the present invention. 
     
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS 
     An illustrative system  10  in accordance with the principles of the present invention is shown in  FIG. 1 . Main facility  12  may provide application data, such as program guide data, from data source  14  to interactive application equipment  17  via communications link  18 . There may be multiple data sources but only one has been shown to avoid over complicating the drawing. If desired, data sources may be located at facilities separate from main facility  12 , such as at local information services  15 , and may have their data provided to main facility  12  for localization and distribution. Data sources  14  may be any suitable computer or computer based system for obtaining data (e.g., manually from an operator, electronically via a computer network or other connection, or via storage media) and providing the data in electronic form for distribution by main facility  12 . Data sources  14  may also receive promotional material for distribution to interactive application equipment  17 . Link  18  may be a satellite link, a telephone network link, a cable or fiber optic link, a microwave link, an Internet link, a combination of such links, or any other suitable communications link. Video signals may also be transmitted over link  18  if desired. 
     Local information service  15  may be any facility suitable for obtaining data particular to a localized region and providing the data to main facility  12  over communications link  141 . Local information service  15  may be, for example, a local weather station that measures weather data, a local newspaper that obtains local high school and college sporting information, or any other suitable provider of information. Local information service  15  may be a local business with a computer for providing main facility  12  with, for example, local ski reports, fishing conditions, menus, etc., or any other suitable provider of information. Link  141  may be a satellite link, a telephone network link, a cable or fiber optic link, a microwave link, an Internet link, a combination of such links, or any other suitable communications link. 
     Local information service  15  may include environmental detector  41 . Environmental detector  41  may be equipment suitable for detecting local environmental conditions and providing them to main facility  12  for inclusion in the application data. For example, the local temperature may be supplied by local information service  15  as part of local weather data. Environmental detector  41  may, for example, have a digital thermometer connected to the input-output port of a suitable computer and provide detectable environmental situation information (e.g., temperature data) to a communications device for transmission to main facility  12 . Environmental detector  41  may be any other device suitable for detecting environmental situations, such as a barometer, windspeed measuring device, or other suitable device, that is capable of supplying detectable environmental information to main facility  12 . 
     The application data transmitted by main facility  12  to interactive application equipment  17  may include any data suitable for the chosen interactive application. For an interactive program guide, for example, the application data may include television programming data (e.g., program identifiers, times, channels, titles, and descriptions) and other data for services other than television program listings (e.g., help text, pay-per-view information, weather information, sports information, music channel information, associated Internet web links, associated software, etc.). There are preferably numerous pieces or installations of interactive application equipment  17 , although only one is shown in  FIG. 1  to avoid over-complicating the drawing. The application data may also include data defining the rules of the promotional selection algorithm, such as, for example, promotional philosophy templates. Promotional philosophy templates are described, for example, in above-mentioned Kern et al. U.S. patent application Ser. No. 09/332,448, filed Jun. 11, 1999. If desired, promotional material for video-on-demand offerings may also be provided by main facility  12  using, for example, a store-and-forward approach as described in the same application. The promotional material may include any suitable text, graphics, animation, video, audio, or other multimedia. 
     Application data may be transmitted by main facility  12  to interactive application equipment  17  using any suitable approach. Data files may, for example, be encapsulated as objects and transmitted using a suitable Internet based addressing scheme and protocol stack (e.g., a stack which uses the user datagram protocol (UDP) and Internet protocol (IP)). Systems in which program guide data is transmitted from a main facility to television distribution facilities as objects are described, for example, in Gollahon et al. U.S. patent application Ser. No. 09/332,624, filed Jun. 11, 1999, which is hereby incorporated by reference herein in its entirety. 
     Main facility  12  may include log analyzer  31 . Log analyzer  31  may include any suitable storage, processing, and communications circuitry or devices for monitoring the indicator selection process or other processes carried out by interactive application equipment  17 . Interactive application equipment  17  may provide a selection log to main facility  12 . The selection log may list the actual indications (e.g., promotions, listings, etc.) that are included by the interactive application within the interactive display. Logging the indicators that are actually displayed may be useful when, for example, indicators are selected for display but are unavailable during screen generation. This may occur when, for example, indicators are received corrupted such as when link  18  is very noisy. In another suitable approach, the selection log may log what is selected, or a combination of these approaches may be used. Log analyzer  31  may also monitor changes to the selection log over communications link  18  or another communications link to observe the selecting of indicators at about the same time they are selected. The selection log may be used by log analyzer  31  to modify the promotional philosophy used by interactive application equipment  17  in order to maximize the probability of achieving the desired results for the system, or to test how changes to a promotional philosophy might affect indicator selection. 
     Interactive application equipment  17  may include indicator selector  44 , log system  43 , and environmental detector  41 . Indicator selector  44  may be any combination of hardware and software suitable for generating a playlist, set, database, or other data structure that either indicates or includes indicators of video-on-demand selections for presentation in the interactive display according to the chosen selection algorithm. The indicator list may be, for example, a playlist of video-on-demand promotions chosen according to a promotional philosophy as described, for example, in above-mentioned Kern et al. U.S. patent application Ser. No. 09/332,448, filed Jun. 11, 1999. The indicator list may be, for example, a set, database or other data structure of program listings for video-on-demand program listings that are incorporated into the interactive display. In still another suitable approach, the indicator list may be generated in real time; that is, indicator selector  44  may select indicators for presentation and immediately display them without first creating a list. Indicator selector  44  may be, for example, a process running on a computer acting as an application server, a process running on a set-top box, or any other suitable combination of hardware and software. 
     Log generator  43  may be any combination of hardware and software suitable for generating a list or other data structure of the indicators that are actually presented by the interactive application in the interactive display. Log generator may be for example, a process running on a computer acting as an application server, a process running on a set-top box, or any other suitable combination of hardware and software. 
     Indicator selector  44  may use data regarding local environmental conditions when determining if a particular indicator meets a particular selection algorithm. For example, whether a particular video-on-demand offering is promoted or included in a list of listings may depend on the local temperature. The local temperature may be supplied by main facility  12  as part of local weather data contained in the data stream, or may be supplied by a local operator or device responsible for supplying local environmental information, such as environmental detector  41 . Environmental detector  41  may, for example, have a digital thermometer connected to the input-output port of a suitable computer and provide detectable environmental situation information (e.g., temperature data) to indicator selector  44 . Environmental detector  41  may be any other device suitable for detecting environmental situations, such as a barometer, windspeed measuring device, or other suitable device, that is capable of supplying detectable environmental situation information to indicator selector  44  for use in detecting if an environmentally detectable situation parameter has been met. 
     Indicator selector  44  may use user preference profiles to personalize the interactive display to a particular used. The profiles may be modified for each user based on, for example, the individual user&#39;s profile, the hardware on which the interactive display is displayed (e.g., the configuration of the user&#39;s set-top box), or other user specific information. Thus, the interactive display may look different for each user, but is derived from the same basic template that has been provided according to the chosen selection algorithm, such as a promotional philosophy algorithm. The user&#39;s profile may include, for example information suitable to select indicators in a way that personalizes the interactive display to the user in accordance with the selection algorithm. For example, a playability level may include user preferences. User preferences may be generated or obtained using any suitable scheme for monitoring user behavior and targeting the user with indicators for appropriate content. In another suitable approach, the user may define a preference profile that is used for indicator selection. 
     An interactive application is implemented on interactive application equipment  17 . The interactive application may be any application suitable for providing users with the interactive display. The application may be, for example, an interactive television program guide, search engine, or any other suitable application. For purposes of clarity and not by way of limitation, the following discussion will describe the invention implemented as an illustrative interactive television program guide implemented on interactive application equipment  17 . Five illustrative arrangements for interactive application equipment  17  are shown in  FIGS. 2   a - 2   e . As shown, interactive application equipment  17  may include one or more of distribution equipment  21 , located at distribution facility  16 , and user television equipment  22  or personal computer  23 . 
     To avoid over-complicating  FIGS. 2   a - 2   e , indicator selector  44 , environmental detector  41 , and log generator  43  have been shown generally in  FIG. 1  and are not shown in  FIGS. 2   a - 2   e . Indicator selector  44 , environmental detector  41 , and log generator  43  may be included in distribution facility  16  if desired as one or more separate systems, or one or more of their functionalities may be incorporated into any suitable component shown in  FIGS. 2   a - 2   e . For example, the functionalities of one or more of indicator list generator  44 , environmental detector  41 , or log generator  43  may reside in or be integrated with distribution equipment  21 , application guide server  25 , Internet service system  61 , application server  25 , or user television equipment  22 . When incorporated into user television equipment  22 , user television equipment  22  may be configured to communicate information, such as environmental conditions or indicator logs, back to distribution facility  16  or main facility  12 . 
     The interactive television program guide (or other interactive application) may run totally on user television equipment  22  as shown in  FIGS. 2   a  and  2   c , or may run partially on user television equipment  22  and partially on interactive application equipment  17  using a suitable client-server or distributed processing approach as shown in  FIGS. 2   b  and  2   d . Distribution facility  16  may be any suitable distribution facility (e.g., a cable system headend, a broadcast distribution facility, a satellite television distribution facility, an Internet site, or any other suitable type of television distribution facility). Distribution facility  16  may have distribution equipment  21 . 
     Distribution equipment  21  of  FIGS. 2   a ,  2   b ,  2   c , and  2   d  may be any equipment suitable for providing application data to user television equipment  22  over communications path  20 . Distribution equipment  21  may include, for example, suitable transmission hardware for distributing application data on a television channel sideband, in the vertical blanking interval of a television channel, using an in-band digital signal (e.g., MPEG tables), using an out-of-band digital signal, using Internet streaming techniques or by any other suitable data transmission technique. Analog or digital video signals (e.g., television programs, pay-per-view programs, video-on-demand programs, etc.) may also be distributed by distribution equipment  21  to user television equipment  22  over communications paths  20  on multiple television channels. 
     Communications paths  20  may be any communications paths suitable for distributing application data and, if desired, video signals. Communications paths  20  may include, for example, a satellite link, a telephone network link, a cable or fiber optic link, a microwave link, an Internet link, a data-over-cable service interface specification (DOCSIS) link, a digital subscriber line (DSC) link, a combination of such links, or any other suitable communications link. Communications paths  20  preferably have sufficient bandwidth to allow distribution facility  16  to distribute television programming to user television equipment  22 . There are typically multiple pieces of user television equipment  22  and multiple associated communications paths  20 , although only one piece of user television equipment  22  and communications path  20  are shown in  FIGS. 2   a - 2   d  to avoid over complicating the drawings. If desired, television programming may be provided over separate communications paths (not shown). 
       FIG. 2   b  shows an illustrative arrangement for interactive application equipment  17  in a client-server based or distributed interactive program guide system. As shown in  FIG. 2   b , distribution equipment  21  may include application server  25 . Application server  25  may be any suitable software, hardware, or combination thereof for providing a client-server based application such as a program guide. Application server  25  may, for example, run a suitable database engine (e.g., SQL Server by Microsoft) and provide program guide data in response to queries generated by a program guide client implemented on user television equipment  22 . If desired, application server  25  may be located at main facility  12  (not shown). 
     Application server  25  may be based on any suitable combination of server software and hardware. Application server  25  may retrieve application data such as program guide data, promotion files, or any suitable combination thereof from storage device  56  in response to requests for program guide or promotional material generated by an interactive application client implemented on user television equipment  22 . As shown in  FIGS. 2   a  and  2   b , application server  25  may include processing circuitry  54  and storage device  56 . Processing circuitry  54  may include any suitable processor, such as a microprocessor or group of microprocessors, and other processing circuitry such as caching circuitry, video decoding circuitry, direct memory access (DMA) circuitry, input/output (I/O) circuitry, etc. 
     Storage device  56  may be a memory or other storage device, such as random access memory (RAM), flash memory, a hard disk drive, etc., that is suitable for storing application data and, if desired, promotional material. User data, such as user preference profiles (whether generated by the system or defined by the user), parental control settings, record and reminder settings, viewing histories, the configuration of the user&#39;s equipment and other suitable data may also be stored on storage device  56  by application server  25 . Program guide data and user data may be stored on storage device  56  in any suitable format (e.g., a Structured Query Language (SQL) database). User data may be used by indicator list generator  44  to select indicators for the interactive display. If desired, storage device  56  may also store video-on-demand programs for playing back on demand. 
     Processing circuitry  54  may process requests for application data by searching the application data stored on storage device  56  for the requested data, retrieving the data, and providing the retrieved data to distribution equipment  21  for distribution to user television equipment  22 . Processing circuitry  54  may also process storage requests generated by the application client that direct application server  25  to store user data. Alternatively, application server  25  may distribute application data to and receive user data from user television equipment  22  directly. If communications paths  20  include an Internet link, DOCSIS link, or other high speed computer network link (e.g., 10BaseT, 100BaseT, 10BaseF, T1, T3, etc.), for example, processing circuitry  54  may include circuitry suitable for transmitting application and user data and receiving application data and storage requests over such a link. 
     Application server  25  may communicate with user television equipment  22  using any suitable communications protocol. For example, application server  25  may use a communications protocol stack that includes transmission control protocol (TCP) and Internet protocol (IP) layers, sequenced packet exchange (SPX) and internetwork packet exchange (IPX) layers, Appletalk transaction protocol (ATP) and datagram delivery protocol (DDP) layers, DOCSIS, or any other suitable protocol or combination of protocols. User television equipment  22  may also include suitable hardware for communicating with application server  25  over communications paths  20  (e.g., Ethernet cards, modems (digital, analog, or cable), etc.) 
     The program guide client on user television equipment  22  may retrieve program guide data from and store user data on application server  25  using any suitable client-server based approach. The program guide may, for example, pass SQL requests as messages to application server  25 . In another suitable approach, the program guide may invoke remote procedures that reside on application server  25  using one or more remote procedure calls. Application server  25  may execute SQL statements for such invoked remote procedures. In still another suitable approach, client objects executed by the program guide may communicate with server objects executed by application server  25  using, for example, an object request broker (ORB). This may involve using, for example, Microsoft&#39;s Distributed Component Object Model (DCOM) approach. As used herein, “record requests” and “storage requests” are intended to encompass any of these types of inter-process or inter-object communications, or any other suitable type of inter-process or inter-object communication. 
       FIGS. 2   c  and  2   d  show illustrative Internet-based systems. Distribution facility  16  may, for example, include Internet service system  61 . Internet service system  61  may use any suitable combination of hardware and software capable of providing program guide data to the guide using an Internet based approach (e.g., the HyperText Transfer Protocol (HTTP)). 
     If the program guide is implemented on user television equipment  22  of interactive application equipment  17  as shown in  FIG. 2   c , Internet service system  61  (or other suitable equipment at distribution facility  16  that is connected to Internet service system  61 ) may provide program guide data to user television equipment  22  via the Internet, or via application distribution equipment  21  using any suitable Internet-based approach (e.g., using the HyperText Transfer Protocol (HTTP) or File Transfer Protocol (FTP) over a Transmission Control Protocol/Internet Protocol (TCP/IP) type link). If the program guide implemented on interactive application equipment  17  is a client-server guide as shown in  FIG. 2   d , for example, application server  25  may obtain program guide data from Internet service system  61 . In another suitable approach, the program guide may obtain program guide data from Internet service system  61  via an Internet connection. 
     In still another embodiment, distribution equipment  21  may include suitable hardware (not shown) on which a first portion or version of the interactive television program guide is implemented. A second portion or version of the program guide may be implemented on user television equipment  22 . The two versions or portions of the interactive program guide may communicate using any suitable peer-to-peer communications scheme (e.g., messaging, remote procedure calls, etc.) and perform interactive program guide functions distributively between television distribution facility  16  and user television equipment  22 . 
     Another suitable arrangement for interactive application equipment  17  is shown in  FIG. 2   e . Interactive application equipment  17  may include, for example, distribution facility  16  having application server  25  and Internet service system  61 . A program guide client application (or other client application) may run on personal computer  23 . The client may access application server  25  via Internet service system  61  and communications path  20 . Personal computer  23  may include processing circuitry  27 , memory  29 , storage device  31 , communications device  35 , and monitor  39 . 
     Processing circuitry  27  may include any suitable processor, such as a microprocessor or group of microprocessors, and other processing circuitry such as caching circuitry, direct memory access (DMA) circuitry, input/output (I/O) circuitry, etc. Processing circuitry  27  may also include suitable circuitry for displaying television programming. Personal computer  23  may include, for example, a PC/TV card. Memory  29  may be any suitable memory, such as random access memory (RAM) or read only memory (ROM), that is suitable for storing the computer instructions and data. Storage device  31  may be any suitable storage device, such as a hard disk, floppy disk drive, flash RAM card, recordable CD-ROM drive, or any other suitable storage device. Communications device  35  may be any suitable communications device, such as a conventional analog modem or cable modem. 
     An illustrative arrangement for user television equipment  22  of  FIGS. 2   a - 2   d  is shown in  FIG. 3 . User television equipment  22  of  FIG. 3  receives video or a digital video stream and data from distribution facility  16  ( FIG. 1 ) at input  26 . During normal television viewing, a user tunes set-top box  28  to a desired television channel. The signal for that television channel is then provided at video output  30 . The signal supplied at output  30  is typically either a radio-frequency (RF) signal on a predefined channel (e.g., channel 3 or 4), or a analog demodulated video signal, but may also be a digital signal provided to television  36  on an appropriate digital bus (e.g., a bus using the Institute of Electrical and Electronics Engineers (IEEE) 1394 standard, (not shown)). The video signal at output  30  is received by optional secondary storage device  32 . 
     The interactive television program guide (or other application) may run on set-top box  28 , on television  36  (if television  36  has suitable processing circuitry and memory), on a suitable analog or digital receiver connected to television  36 , or on digital storage device  31  if digital storage device  31  has suitable processing circuitry and memory. The interactive television program guide may also run cooperatively on a suitable combination of these devices. Interactive television program guide systems in which a cooperative interactive television program guide runs on multiple devices are described, for example, in Ellis U.S. patent application Ser. No. 09/186,598, filed Nov. 5, 1998, which is hereby incorporated by reference herein in its entirety. 
     Secondary storage device  32  can be any suitable type of analog or digital program storage device or player (e.g., a videocassette recorder, a digital versatile disc (DVD) player, etc.). Program recording and other features may be controlled by set-top box  28  using control path  34 . If secondary storage device  32  is a videocassette recorder, for example, a typical control path  34  involves the use of an infrared transmitter coupled to the infrared receiver in the videocassette recorder 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 , secondary storage device  32 , and television  36 . 
     If desired, a user may record programs, program guide data, or a combination thereof in digital form on optional digital storage device  31 . Digital storage device  31  may be a writeable optical storage device (such as a DVD player capable of handling recordable DVD discs), a magnetic storage device (such as a disk drive or digital tape), or any other digital storage device. Interactive television program guide systems that have digital storage devices are described, for example, in Hassell et al. U.S. patent application Ser. No. 09/157,256, filed Sep. 17, 1998, which is hereby incorporated by reference herein in its entirety. 
     Digital storage device  31  can be contained in set-top box  28  or it can be an external device connected to set-top box  28  via an output port and appropriate interface. If necessary, processing circuitry in set-top box  28  formats the received video, audio and data signals into a digital file format. Preferably, the file format is an open file format such as the Moving Picture Experts Group (MPEG) MPEG-2 standard or the Moving Joint Photographic Experts Group (MJPEG) standard. The resulting data is streamed to digital storage device  31  via an appropriate bus (e.g., a bus using the Institute Electrical and Electronics Engineers (IEEE) 1394 standard), and is stored on digital storage device  31 . In another suitable approach, an MPEG-2 data stream or series of files may be received from distribution equipment  21  and stored. 
     Television  36  receives video signals from secondary storage device  32  via communications path  38 . The video signals on communications path  38  may either be generated by secondary storage device  32  when playing back a prerecorded storage medium (e.g., a videocassette or a recordable digital video disc), by digital storage device  31  when playing back a pre-recorded digital medium, may be passed through from set-top box  28 , may be provided directly to television  36  from set-top box  28  if secondary storage device  32  is not included in user television equipment  22 , or may be received directly by television  36 . During normal television viewing, the video signals provided to television  36  correspond to the desired channel to which a user has tuned with set-top box  28 . Video signals may also be provided to television  36  by set-top box  28  when set-top box  28  is used to play back information stored on digital storage device  31 . 
     Set-top box  28  may have memory  44 . Memory  44  may be any memory or other storage device, such as a random access memory (RAM), read only memory (ROM), flash memory, a hard disk drive, a combination of such devices, etc., that is suitable for storing program guide instructions and program guide data for use by the program guide. 
     Set-top box  28  may have communications device  37  for communicating directly with application server  25  or Internet service system  61  over communications path  20 . Communications device  37  may be a modem (e.g., any suitable analog or digital standard, cellular, or cable modem), network interface card (e.g., an Ethernet card, Token ring card, etc.), or other suitable communications device. Television  36  may also have such a suitable communications device if desired. In another suitable approach, user television equipment  22  may communicate with Internet service system  61  via distribution equipment  21  using a suitable return path. 
     A more generalized embodiment of user television equipment  22  of  FIG. 3  is shown in  FIG. 4 . As shown in  FIG. 4 , program guide data from distribution facility  16  ( FIG. 1 ) is received by control circuitry  42  of user television equipment  22 . The functions of control circuitry  42  may be provided using the set-top box arrangement of  FIGS. 2   a  and  2   b . Alternatively, these functions may be integrated into an advanced television receiver, personal computer television (PC/TV), or any other suitable arrangement. If desired, a combination of such arrangements may be used. 
     User television equipment  22  may also have secondary storage device  47  and digital storage device  49  for recording programming. Secondary storage device  47  can be any suitable type of analog or digital program storage device (e.g., a videocassette recorder, a digital versatile disc (DVD), etc.). Program recording and other features may be controlled by control circuitry  42 . Digital storage device  49  may be, for example, a writeable optical storage device (such as a DVD player capable of handling recordable DVD discs), a magnetic storage device (such as a disk drive or digital tape), or any other digital storage device. 
     User television equipment  22  may also have memory  63 . Memory  63  may be any memory or other storage device, such as a random access memory (RAM), read only memory (ROM), flash memory, a hard disk drive, a combination of such devices, etc., that is suitable for storing program guide instructions and program guide data for use by control circuitry  42 . 
     User television equipment  22  of  FIG. 4  may also have communications device  51  for supporting communications between the program guide (or other application) and distribution equipment  21  or Internet service system  61  via communications path  20 . Communications device  51  may be a modem (e.g., any suitable analog or digital standard, cellular, or cable modem), network interface card (e.g., an Ethernet card, Token ring card, etc.), or other suitable communications device. 
     Main facility  12  of  FIG. 1  may include log analyzer  31  as described above. Log analyzer  30  may make changes to a promotional selection algorithm if the algorithm does not provide for optimal selection of indicators of video-on-demand offerings. Updating promotional selection algorithms may be performed as described, for example, in above-mentioned Lumley et al. U.S. patent application Ser. No. 09/227,401, filed Jan. 9, 1999.  FIG. 5  is an illustrative dataflow diagram for analyzing a selection log to determine if indicators are being selected optimally. Log analyzer  31  may, for example, be programmed with desirable occurrences database  400  and undesirable occurrences database  410 . Desirable occurrences database  400  may include a number of rules that define desirable selections. Desirable occurrences database  400  may, for example, define as desirable having a large number of indicators for programs of a particular theme during a particular time slot, having certain indicators for programs in certain time slots for different time zones, having particular indicators sent to distribution facilities of a certain service configuration (e.g., providers of multiple video-on-demand channels as opposed to those with few), or any other suitable desirable occurrence. 
     Undesirable occurrences database  410  may include a number of rules that define undesirable selections. Undesirable occurrences database  410  may define as undesirable, for example, having the same indicator presented more than one time in a row or more than a number of times an hour, having indicators of a particular theme during a particular time slot (e.g., adult video-on-demand promotions at 3:00 p.m.), or any other undesirable occurrence. 
     Selection log analyzer engine  420  running on log analyzer  31  may compare the selection log  430  with desirable occurrences database  400  and undesirable occurrences database  410 . Selection log analyzer engine  420  may be any suitable process or application capable of, for example, comparing selection log  430 , desirable occurrences database  400 , and undesirable occurrences database  410 . Selection log analyzer engine  420  may make changes to the promotional selection algorithm to increase the likelihood of having desirable occurrences and to reduce the likelihood of having undesirable occurrences. The new promotional selection algorithm may be generated by selection log analyzer engine  420  and provided by data source  14  to interactive application equipment  17  for use by indicator selector  44  during indicator selection. 
     The selection log may also be used by main facility  12  to test planned changes for a promotional selection algorithm. Main facility  12  may have, for example, an indicator selector  44  and a log generator  43  to which indicators are supplied and selected according to a test promotional selection algorithm. The test promotional selection algorithm may, for example, be a modified version of the current algorithm used by indicator list generator  44  at the distribution facilities  16 , or it may be a totally new algorithm. The test selection log may be analyzed by log analyzer  31 , and the system may change the test promotional selection algorithm if indicators are not being presented optimally. This process may continue until the test promotional selection algorithm selects indicators as close to optimally as may be determined without running the promotional selection algorithm in the field. 
     The promotional selection algorithm already running on interactive application equipment  17  may be modified or may be replaced by the test promotional selection algorithm. Promotional selection algorithm testing may also be accomplished by running a test promotional selection algorithm on interactive application equipment  17  in addition to an already running promotional selection algorithm (e.g., as a separate process). 
     The interactive display generated by the program guide or other interactive application may include any suitable indicator of video-on-demand offerings and any other suitable content. Indicators of video-on-demand offerings may include, for example, promotions for video-on-demand offerings, program listings for video-on-demand offerings, or any other suitable indicator. The interactive display may include, for example, a browse display that provides a user with an opportunity to browse video-on-demand program listings while watching a television program. The interactive display may include, for example, a series of buttons or other selectable on-screen display elements that contain listings for video-on-demand program listings. In still another suitable approach, the interactive display may include a screening room that allows users to watch previews or clips of video-on-demand programs by selecting video-on-demand program listings. Indicators of video-on-demand offerings are included in the interactive display based on the promotional selection algorithm. 
       FIG. 6  shows illustrative “BROWSE” overlay  230  that the program guide may display when a user opts to browse through program listings for a given time slot while watching a program. A user may browse through program listings by, for example, using remote control arrow keys. The BROWSE overlay allows a user to continue to watch a program on a particular channel (e.g., channel 2) while browsing for information on programs that are playing on other channels and at other times. 
     The program guide may provide a user with an opportunity to change time slots and channels in order to browse through additional program listings for video-on-demand programs according to the selection algorithm. Indicator list generator  44  may, for example, select program listings for video-on-demand programs before listings for regular channels. A user may indicate a desire to browse through additional program listings by, for example, pressing “up”, “down”, “left”, and “right” arrows to access additional channels and time slots. After the user browses through listing for video-on-demand programs, the program guide may provide listings for non-video-on-demand programs. 
     Browse overlay  230  may also include selectable advertisements, such as selectable advertisements  221 . Selectable advertisements  221  may, for example, include text, graphics, video, audio, animations, or other multimedia advertising the video-on-demand programs or other television programs, channels, or products. When a user selects a selectable advertisement  221 , the program guide may display information (e.g., video-on-demand program information) or take other actions related to the content of the advertisement. Advertisements  221  may be included in browse overlay  230  according to the selection algorithm. If desired, different selection algorithms may be run for selecting indicators and for selecting promotions. 
     A main menu screen, such as illustrative main menu screen  100  of  FIG. 7 , may include menu  102  of selectable program guide features  106 . If desired, program guide features  106  may be organized according to feature type. In menu  102 , for example, program guide features  106  have been organized into three columns. The column labeled “TV GUIDE” is for listings related features, the column labeled “MSO SHOWCASE” is for multiple service organization (MSO) related features, and the column labeled “VIEWER SERVICES” is for viewer related features. The interactive television program guide may generate a display screen for a particular program guide feature when a user selects that feature from menu  102 . 
     Main menu screen  100  may include one or more selectable advertisements  108 . Selectable advertisements  108  may, for example, include text, graphics, video, audio, animations, or other multimedia advertising video-on-demand programs or other programs, channels, or products, based on the promotional selection algorithm. When a user selects a selectable advertisement  108 , the program guide may display information (e.g., video-on-demand program information) or take other actions related to the content of the advertisement. Pure text advertisements may be presented, if desired, as illustrated by selectable advertisement banner  110 . Advertisements  108  and  110  may be included in main menu screen  100  (or other screens) according to one or more promotional selection algorithms if desired. 
     Main menu screen  100  may also include other screen elements. The brand of the program guide product may be indicated, for example, using a product brand logo graphic such as product brand logo graphic  112 . The identity of the television service provider may be presented, for example, using a service provider logo graphic such as service provider logo graphic  114 . The logos may be included in the program guide data allowing for on-the-fly configurability of the display screens. The current time may be displayed in clock display region  116 . In addition, a suitable indicator such as indicator graphic  118  may be used to indicate to a user that mail from a cable operator or program guide provider is waiting for a user if the program guide supports messaging functions. 
     The interactive television program guide may provide a user with an opportunity to view video-on-demand program listings. A user may indicate a desire to view video-on-demand program listings by, for example, positioning highlight region  120  over a desired program guide feature  106 , such as “VOD Listings” feature  106 . Alternatively, the program guide may present video-on-demand program listings when a user presses a suitable key (e.g., a “guide” key) on remote control  40 . When a user indicates a desire to view video-on-demand program listings, the program guide generates an appropriate video-on-demand program listings screen for display on display device  45  ( FIG. 4 ). A video-on-demand program listings screen may contain one or more groups or lists of video-on-demand program listings organized according to one or more organization criteria (e.g., by time, by program category, etc.). 
     The program guide may, for example, provide a user with an opportunity to view video-on-demand listings by time, according to a number of categories (e.g., movies, sports, children, etc.), or may allow a user to search for a listing by title. Video-on-demand program listings may be displayed using any suitable list, table, grid, or other suitable display arrangement. If desired, video-on-demand program listings screens may include selectable advertisements, product brand logo graphics, service provider brand graphics, clocks, or any other suitable indicator or graphic. 
     An illustrative video-on-demand by time program listings screen  130  is shown in  FIG. 8 . Program listings screen  130  of  FIG. 8  may include highlight region  151 , which highlights the current program listing  150 . A user may position highlight region  151  by entering appropriate commands with user interface  46 . For example, if user interface  46  has a keypad, a user can position highlight region  151  using “up” and “down” arrow keys on remote control  40 . A user may select a listing by, for example, pressing on the “OK” or “info” key on remote control  40 . Alternatively, a touch sensitive screen, trackball, voice recognition device, or other suitable device may be used to move highlight region  151  or to select program listings without the use of highlight region  151 . In still another approach, a user may speak a television program listing into a voice request recognition system. These methods of selecting program listings are merely illustrative. Any other suitable approach for selecting program listings may be used if desired. 
     A user may view additional video-on-demand listings for the time slot indicated in timebar  111  by, for example, pressing an “up” or “down” arrow, or a “page up” or “page down” key on remote control  40 . The user may also see listings for the next 24 hour period, or the last 24 hour period, by pressing a “day forward” or “day backward” key on remote control  40 , respectively. If there are no listings starting exactly 24 hours in the indicated direction, the program guide may pick programs starting at either closer or further than 24 hours away. If desired, the program guide may require a user to scroll through advertisement banner  110 . A user may view program listings for other time slots by, for example, pressing “right” and “left” arrows on remote control  40 , or by scrolling up or down until listings for the next time slot are displayed. Timebar  111  may change its display to the previous or next time slot accordingly. 
     As shown in  FIG. 7 , the displayed indicators, in this example listings  150 , are not displayed in channel or source order because the listings are displayed according to a promotional selection algorithm which may cause indicator selector  44  to select listings from video-on-demand channels or sources in a way that presents the most desirable indicators (e.g., the indicators that satisfy primary playability levels of a promotional philosophy) before other indicators. If desired, the sources for the indicators may be generated in real time, and listings  150  labeled accordingly, so that the user is not aware that the listings are presented out of order. 
       FIG. 9  shows another illustrative interactive display in which indicators of video-on-demand programming are displayed according to a promotional selection algorithm. Screening room  900  of  FIG. 9  may provide users with an opportunity to preview one or more video-on-demand programs by, for example, selecting a listing  150 . The listings  150  are selected for presentation by indicator selector  44  according to the promotional selection algorithm. In this example, the promotional philosophy may require that only movies starring Arnold Schwarzeneggar are available for previewing. Video window  910  may display a clip of a movie or a trailer associated with a movie when the user selects a listing  150 . In another suitable approach, the display of video window  910  may be synchronized with the currently highlighted listings  150 ; that is, as the user navigates within listings  150 , video window  810  may display a clip or preview associated with the currently highlighted listing. 
       FIGS. 10-11  are flowcharts of illustrative steps involved in providing indicators of video-on-demand programs according to a promotional selection algorithm in accordance with the principles of the present invention. The steps shown in  FIGS. 10-12  are illustrative and may generally be performed in any suitable order.  FIG. 10  is a flowchart of illustrative steps involved in operating the system of  FIG. 1 . Main facility  12  provides data on promotions for indicators to interactive application equipment  17  at step  1000 . At step  1010 , environmental situations, e.g., the weather, are detected and detectable environmental situation information is provided to indicator selector  44 . 
     At step  1020 , indicators are selected for display  1020  by indicator selector  44 . Indicators are selected for display according to the promotional selection algorithm, such as a promotional philosophy. The selected indicators are presented in the interactive display at step  1030 . The interactive display may be any suitable display such as, for example, a browse display, listings screen, screening room, or any other suitable interactive display. 
     Information on which indicators are selected or presented is stored by log generator  43  in a selection log at step  1040 . At step  1050 , the selection log may be provided to main facility  12  for analysis. The selection log may be provided to main facility  12  using any suitable transmission method (e.g., telephone dial-up, very small aperture transmission (VSAT), portable storage media, etc.). The selection log may be analyzed by log analyzer  31  to determine if indicators are being optimally selected or presented (step  1060 ). For example, the selection log may be compared with a desirable occurrences and an undesirable occurrences database. If desired, the promotional selection algorithm can be changed to increase the likelihood of desirable occurrences and to decrease the likelihood of undesirable occurrences (step  1070 ). At step  1080 , the changed promotional selection algorithm may be provided to interactive application equipment  17 . 
       FIG. 11  is a flowchart of illustrative steps involved in testing a promotional selection algorithm in accordance with the present invention. Testing of a promotional selection algorithm may be desirable when changes to the promotional selection algorithm are proposed and it is desirable to see how the new promotional selection algorithm will affect the selection of indicators for the interactive display. At step  1100 , a promotional selection algorithm is tested using the selection log to determine if the system will select indicators optimally. This may be accomplished, for example, by comparing the selection log with a desirable occurrence database and an undesirable occurrences database. The testing may be performed at the main facility or other interested testing facility, or by monitoring a separate process running on interactive application equipment  17 . System testing information (e.g., the types or number of desirable and undesirable occurrences that occur) may be generated at step  1110 . If the promotional selection algorithm as tested is desirable, changes to the existing promotional selection algorithm are made accordingly at step  144 . The existing promotional selection algorithm may be replaced by the test promotional selection algorithm. 
     Thus, an interactive display having indicators of video-on-demand programs selected according to a promotional selection algorithm is provided. The principles of the present invention may be applied to any suitable system in which any type of information or programming, whether data, audio, video, test or graphic, and whether analog or digital, is provided on demand. For example, the principles of the present invention may be used in an audio-on-demand system. One skilled in the art will appreciate that the present invention can be practiced by other than the described embodiments, which are presented for purposes of illustration and not of limitation, and the present invention is limited only by the claims which follow.