Abstract:
The present invention provides a data structure for selection of products containing presentable programming as well as a computerized user-interactive system for facilitating allowing a user to select and be provided with deliverable entities including one or more presentable programs. The system and data structure of the invention allow effective, organized, and convenient browsing, selection, conceptual packaging of presentable program-containing products. The system and data structure of the invention further allow efficient structuring and storage of information associated therewith and useful in facilitating effective computerized representation, storage, and delivery of such products. Each product may include multiple deliverable entities, such as multiple programs and merchandize.

Description:
RELATED PRIORITY APPLICATIONS 
     The present application claims priority to U.S. Provisional Patent Application Ser. No. 60/284,399, filed Apr. 17, 2001, titled, “Television Program Database Architecture,” which is hereby incorporated herein by reference in its entirety, and to U.S. Provisional Patent Application Ser. No. 60/283,921, filed Apr. 16, 2001, titled, “Interactive Television Navigation System,” which is hereby incorporated herein by reference in its entirety. 
     RELATED APPLICATIONS 
     The present application is related to the following commonly owned applications: 
     application Ser. No. 09/103,317, filed Jun. 24, 1998, titled “Method and System for Providing User Interface for Electronic Program Guide;” 
     application Ser. No. 09/103,315, filed Jun. 24, 1998, titled “Method and System for Providing Selectable Programming in a Multi-Screen Mode;” 
     application Ser. No. 09/104,608, filed Jun. 24, 1998, titled “Method And System For Navigating Through Content In An Organized And Categorized Fashion;” 
     application Ser. No. 60/283,967, filed Apr. 16, 2001, titled “Method For Presenting Circular Dialog Windows;” 
     application Ser. No. 60/284,118, filed Apr. 16, 2001, titled “Complex Video and Data Service Scheduling Via URLs;” 
     application Ser. No. 60/284,117, filed Apr. 16, 2001, titled “Ranking of Unrated Content in Interactive Television Navigational System;” 
     application Ser. No. 60/284,141, filed Apr. 16, 2001, titled “Special Titles in Interactive Program Guide;” and 
     application Ser. No. 60/283,968, filed Apr. 16, 2001, titled “Purchase Blocking Clarification and PPV Events in Television Multiscreen Browser;” 
     All of the above applications are hereby incorporated by reference in their entirety into this application. 
    
    
     BACKGROUND OF THE INVENTION 
     The invention relates generally to a television program database architecture, and more specifically, a database architecture which facilitates presentation of television programming based on a programming product presentation model. 
     In the early days of television, viewers were offered few channels and a limited number of programs. Indeed, over-the-air television broadcasting in any given region was, and still is, limited to only about half of the thirteen VHF channels and several UHF channels. With limited channels and programming, there was little need to present available programming in an organized or categorized manner, much less to provide a database structure for doing so. 
     The advent of cable and satellite television broadcast systems increased the number of channels being delivered. Presently, many programming providers, whether using cable, microwave, satellite, or the like, provide upwards of 60 to 100 channels of programming at any time. As with over-the-air broadcasting, the channels are arranged linearly in numeric order, e.g., from channel 1 through channel 99. Viewers change channels or “channel surf” by either moving from channel to channel in linear fashion or by selecting a specific channel by number and jumping directly from another channel to that channel. 
     Most systems provide video on demand (VOD) or near video on demand (NVOD) service to users of the systems. In VOD and NVOD systems, programming may be purchased by tuning into channels where particular programs are offered at various dates and times, or days of the week. The increased capacity of newer systems has provided the opportunity and need to offer a greater number and variety of VOD and NVOD programming of different types. Not only are there an increased number of programs offered, those programs are capable of being segregated into many different categories, such as situation comedies, dramas, game shows, and the like. Further, other types of specialized programming is beginning to be offered such as shopping programs wherein merchandise is offered for sale. 
     With the increased number of VOD and NVOD programs offered by cable and satellite systems, it becomes more difficult for viewers to identify the programming choices at any time by channel surfing. The time taken to move from channel to channel which offer programs for purchasing, to wait at each channel to determine what program is being offered and when, and decide whether to purchase the program seriously takes time in the aggregate. In addition, although program explanations are commonly offered on screen, it can nevertheless be difficult for the user to ascertain the type of program which the user is purchasing quickly. 
     New technological developments such as digital video and high definition television promise to dramatically increase the number of programs available for purchase on systems. Television broadcasting systems of the near future will likely have 500 or even 1000 programs available for purchase at any given time. Internet or on-line services provide even more potentially available content for distribution over television broadcast systems. Easy and efficient management of the multitude of programs which can be offered in these systems can be nearly impossible for content provides, broadcast system administrators, and the end users of the home television systems. 
     The problems described above associated with facilitating browsing through a more limited number of programs available will clearly become exponentially more serious, to the point where conventional systems for offering programming become unmanageable. 
     Thus, there is a need for a new system for organizing programs available for VOD or NVOD. The present invention provides such a system. Furthermore, with such a large quantity of programming content available to viewers, it is desirable to organize the content in a manner that provides a highly efficient structure for downloading and displaying available programming for selection and purchase by viewers. The broadcast systems content organized and presented to facilitate navigation through the content in an efficient and intuitive manner. 
     SUMMARY OF THE INVENTION 
     It is an object of the present invention to solve the deficiencies noted above in current television programming delivery and selection. 
     It is another object of the invention to provide a product selection database system advantageous for use with various types of data including on-line services over the Internet, kiosks or information booths, Internet browsers, as well as conventional television programming or movies. Such a database system facilitates an easy transition from today&#39;s limited viewing choices to the unlimited pallet of digital television, and facilitates development of set top box program selection systems which provide access to a maximum number of relevant program offerings. 
     It is another object of the present invention to provide viewers with new options for selection and purchase of programming products. 
     It is another object of the invention to provide viewers with option for selecting packaged programming suites. 
     It is another object of the present invention to provide the programming suites in both pre-packaged and customized formats. 
     In one embodiment, the invention provides a data structure for use with a computer application for selection of products containing presentable programming. The data structure includes: a product selectable through the computerized application; a link from the product to one or more program identifiers, such that the application can traverse the data structure to read the one or more program identifiers when the product is selected; and, one or more programs identified by the one or more program identifiers for presentation. The computerized application allows presentation of the one or more identified programs after selection of the product. 
     In another embodiment, the invention provides a computerized user-interactive system for facilitating allowing a user to select and be provided with a first product including a first set of one or more entities including at least one presentable program. The user-interactive system includes: a computerized navigational system for allowing the user to browse through representations associated with each of a plurality of selectable products, each of the plurality of selectable products including one or more presentable programs, and for allowing the user to select the first product from the plurality of selectable products; and, a database for storing information associating each of the plurality of selectable products with one or more entities deliverable to the user, the one or more entities deliverable to the user including one or more presentable programs. The database is accessible to facilitate providing the user with the first set of one or more entities of the first product. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       For a fuller understanding of the invention, reference is made to the following description taken in connection with the accompanying drawings, in which: 
         FIG. 1  is a block diagram representing an exemplary television delivery system for use with the present invention; 
         FIG. 2  is a conceptual diagram of the basic entities of the present invention; 
         FIG. 3  is a diagram showing a database schema representing the table structures and structural relationships of the tables of an embodiment of the present invention; 
         FIGS. 4A-4C  is a flat table structure diagram with data records partially populated with pseudo data; 
         FIGS. 5A-5D  show exemplary screen shots presented during a poster and product option selection process; 
         FIGS. 6A-6C  are flow diagrams showing the process for selecting a poster and related product options; 
         FIG. 7  is an exemplary guide tool screen illustrating screen elements used for an interface in one embodiment of the present invention; 
         FIG. 8  is a flow chart showing the process of selecting a program for viewing from one of the tools; 
         FIGS. 9-11  depict a generic purchase sequence according to one embodiment of the invention; 
         FIG. 12  depicts a schema for a dialogue table for one embodiment of express cinema data improvements; 
         FIGS. 13-17  are simplified depictions of a graphical user interfaces according to one embodiment of the invention 
         FIG. 18  depicts purchase request program large scale flow diagrams, including graphical user interface depictions, and depicting a series A and a series B; 
         FIGS. 19-29  depict small scale depictions series A of  FIG. 18 , and can be assembled in accordance with series A of  FIG. 18 ; and 
         FIGS. 30-37  depict small scale depictions series B of  FIG. 18 , and can be assembled in accordance with series B of  FIG. 18 . 
     
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS 
     In some embodiments, the present invention provides a system and method for providing a product based architectural representation of programming data. Many embodiments of the present invention can be used in television programming delivery systems, but may be used for other systems such as on-line product merchandising systems and the like. 
     In some embodiments, a database record of the present system is comprised of a product based center. A Product has self contained pointers to other entities which are either offered with the product, or have options which link those other entities to the product. A pointer may link the product to a program for presenting on a television system. Either alternatively, or concurrently, another pointer may link the product to a merchandise item. Either alternatively, or concurrently, another pointer may link the product to a discount on merchandise, other programming, or to general programming service. Additionally, multiple entities may be pointed to as being associated with a particular product. 
     In some embodiments, the products available for purchasing by users of the system are associated with posters which are used for displaying product signage to facilitate selection of the products on the television screen. A poster table stores information in fields relating to signage and selection criteria for products. 
     In some embodiments, an option table stores records for directing viewing of, and selection of, products relating to a selected option. Option table works in relational manner with poster table in facilitating selection of a poster and its related options. 
     In some embodiments, an option to program/schedule mapping table is used to define relationships among several different tables in the database. The fields in the table are indexed fields for linking tables within the database schema. 
     In some embodiments, a program schedule table is provided for storing records for defining programs and their schedules which are offered as features of a product defined by the records described in the poster and option tables. The records are read by set top box program for display to a set top box user, and for selection of program start times on screen in relation to an option that the set top box user has selected. 
     In some embodiments, a marquee table is provided for storing program specific information common to all schedules for the particular program. 
     In some embodiments, a set top box application interfaces with the tables and table structure in order to present the user with a presentation of posters on a television system. The set top box application reads records from the poster table to represent posters and poster names as channels on screen. The application presents object linking and embedding graphic data stored in a poster graphic field in the poster table. Corresponding poster names are presented with the posters. 
     The table structure of the present invention generally facilitates automated processing of offers related to purchases products which may comprise other products, programs, discounts or merchandise, and even duplicate components of other products. An index is maintained in the option table for indicating related records which are pertinent, related to, or associated with the purchased product. 
     One embodiment of the present invention is compatible with a set top box navigational system as applied to television programming. While television programming is a preferred application of the present invention, all types of content are contemplated within the scope of the invention. For example, the present invention may be applied to content provided over the Internet by on-line services, other communication networks, in kiosks or other information booths, by Internet browsing software, etc. 
     A navigational system may be provided in which user choices are presented in a categorized and organized manner to facilitate navigation by viewers. The full set of available programming is organized into a number of product sectors, each of which represents some categorical class or business unit of programming, which correspond to the entries in a product sector field in the poster table. Examples of product sectors include adult, education, am movies, services, sports, games, and others. Each of the product sectors may have more particular sub-categories, or umbrellas of programming specific to that products sector. For example, the am movie product sector may be broken into umbrellas such as family, western, action, etc., each representing a type of program available in the product sector. 
     In addition to organizing programming into product sectors, the navigational system may provide a number of navigation tools to viewers. The navigation tools provide current or future programming choices to viewers through different user interfaces. 
     One exemplary tool comprises a “GUIDE” tool for displaying and facilitating selection of programs in a categorized fashion. A screen grid is displayed on the television for providing direct program selection as an alternative to the poster selection. A guide or screen grid window provides an interactive display area for listing programs in various sorting orders. In some embodiments, the guide tool for Express Cinema, data improvements to which are depicted in  FIG. 12 , is based on marquees, whereas, in some embodiments, for television systems, the guide tool is based on programs. 
     In some embodiments, a pick menu displays available product sectors in local product database on the guide tool screen. The product sectors displayed in the pick menu are dynamically changing as a local product database in the set top box is updated from a head end system. The user may move a pick menu highlighter up and down pick menu to select the different product sectors available for display. As a different pick menu selection is highlighted, the related list of programming from the local product database is displayed. 
     In some embodiments, with the guide tool, the user may sort the individual programs by event content, time of day, date, or alphabetically. The structure of local product database facilitates different sorts in any tool applied to the programming data contained therein. 
     Other various navigation tools which can be provided to display poster and programs of the present invention. A tagging process may be used to mark selected programming for presenting when it is time for the programs to be shown. One skilled in the art would readily recognize that the tagging and presenting techniques could easily be employed to program records, merchandise records, games, and other selectable entitles of the present invention. 
     With reference to  FIG. 1 , a block diagram representing an exemplary television delivery system for use with the present invention is shown. The delivery system comprises a head end  1200 , a distribution system  1202 , and a set top box  1204  located at a subscriber location. The head end may also be linked to a billing system  1206  for recording order information and for producing periodic statements for subscribers of the system. Billing system  1206  may be compatible and used with billing systems specifically designed for television programming bill processing such as CSG TELEPHONY by CSG International Ltd. of Englewood, Colo.; or INTELECABLE, DDP/SQL, CABLEWORKS or CUSTIMA, each by CableData, Inc. of Rancho Cordova, Calif. 
     Head end  1200  may comprise a large multiprocessor computer architecture with shared random access memory, or may comprise several smaller computer modules comprising a local distributed processing system for housing the various components of head end  1200 . One of the components of head end is a video storage device  1210  comprising video formats such as MPEG, MPEG-2, DVD, VCR or other standard video formats. Viewer access is controlled by a control access system  1212  which receives commands for encrypting video for transmitting through transmission system  1202  to set top box  1204 . The encrypted video signals are routed through part of an operating system  1212  within set top box  1204 , which routs the encrypted video system through to a security system  1214  which is controlled by operating system  1212 . 
     Transmission system  1202  may be direct dish-to-dish microwave, cable, satellite or other transmission media known to those of skill in the art. 
     Head end system  1200  converts analog television programming into compressed digital information suitable for transmission in accordance with techniques known to those of skill in the art. The digital video information, which may be in MPEG format, is transmitted as digital channels, with multiple digital channels being transmitted in a single tunable frequency band. Set top box  1204  can tune to one of the frequency bands and includes circuitry for digital video decoding, including a demultiplexer, processor, and MPEG and graphics overlay processor and memory chips. Set top box  1204  is designed to perform digital video decoding and to support the functionality of the present invention, and is available from Zenith Electronics Corporation of Glenview, Ill. and DiviCom Inc. of Milpitas, Calif. Data is transmitted in the frequency bands, such as the database information described below. The database information of the present invention may used to support tools such as an intelligent program guide tool, described in greater detail below. 
     Transmission system  1202  provides a means for transmission of signals from set top box  1204  to head end  1200 . The means may include one or more back channels in a cable system to transmit intermittent bursts of information from set top box  1204  to head end  1204 , a telephone link from set top box  1204  to head end  1200 , or, in a wireless broadcast system, a transmitter in set top box  1204  to wirelessly transmit information back to head end  1204 . The two way communication facilitates an array of services to be provided, such as video on demand, purchasing of products shown on television  1222 , etc. Additional embodiments of a two way system may become practicable as developments are made in the art. 
     The system can be used to provide television programming, including standard and premium television channels, movies, pay-per-view events and NVOD through separate channels. However, content other than video may also be provided. For example, the system may be adapted to transmit pages of any kind of text, picture and other multimedia elements encoded as hypertext markup language (HTML) data with accompanying files such that world wide web-like pages can be delivered to television  1222 . 
     Several navigation tools may provide an interactive interface which allows viewers to select posters defining products, programs or channels for immediate or later viewing. The system be may compatible with, and combined to work with, third party near video on demand (NVOD) systems such as DYNAMO DEJA VU by Viewgraphics Inc. of Mountain View, Calif., or NSTREAMS MEDIA SERVER by nStreams Technologies, Inc. of Santa Clara, Calif. In systems that are integrated with third party NVODs, components  1210 ,  1212  and  1214  facilitate the compatibility by interfacing directly with such third party NVODs, and is controlled by the navigation tools within set top box  1216  which resides within set top box  1204 . 
     Within head end  1200 , a programming support system  1208  contains software that communicates electrically and through communication system  1202  with set top box application  1216 . Programming support system  1208  contains a programming data model  1218  which contains continuously updated television programming data. Programming support system  1208  reads the updated data and periodically reads programming data model  1218 , encrypts the read data, and forwards the encrypted data to set top box  1204 . Set top box application  1216  captures the encrypted data, decrypts it, and stores the encrypted data in a local product database  1220  within set top box application  1216 , explained bellow, for storing product and programming information for user selection via the set top box application. In some embodiments of the invention, video data is encrypted, whereas programming data is compressed. 
     Television  1222  is electrically connected by standard television cable to set top box  1204 . 
     With reference to  FIG. 2 , a conceptual diagram of the basic entities of the present invention is shown. The system of the present invention is a product based architectural representation of programming data. Many embodiments of the present invention can be used in television programming delivery systems, but may be used for other systems such as on-line product merchandising systems and the like. 
     A relational database record of the present system is conceptually comprised of a product based center  1250 . Product  1250  has self contained pointers  1252 - 1256  to other entities  1258 - 1262  which are either offered with product  1250 , or have options which link those other entities  1258 - 1262  to product  1250 . Pointer  1252  may link product  1250  to a program  1258 . Either alternatively, or concurrently, another pointer  1254  may link product  1250  to a merchandise item  1260 . Either alternatively, or concurrently, another pointer  1262  may link product  1250  to a discount  1262  on merchandise, other programming, or to general programming service. Further, either alternatively, or concurrently, another pointer  1264  may link product  1250  to yet another product  1266 . 
     With reference to  FIG. 3 , a database schema for an embodiment of the present invention is shown. The products available for purchasing by users of set top box  1204  ( FIG. 1 ) are associated with posters which are used for displaying product signage to facilitate selection of the products on the television screen. A poster table  1300  stores information in fields relating to signage and selection criteria for products. A product sector/pick field  1302  stores an index used for sorting posters in a logical fashion. Exemplary entries in product sector/pick field  1302  include educational, am movies and sports. Product sector/pick field  1302  may include string entries, but alternatively may include numbered indexed entries which can be related to a product sector table containing descriptions of the entries. As explained below, field  1302  may be used to sort poster records in an on-screen pick menu which is used for providing dynamically changing programming categories of products on screen. 
     A product sort field  1304  stores a secondary index used for sub-sorting posters in a logical fashion. Exemplary entries for product sort field  1304  under a product sector/pick entry educational might comprise cuisine, ed/si-after school, ed/si-fitness or ed/si-hobbies. Product sort field  1304  may include string entries, but alternatively may include numbered indexed entries which can be related to a product sort table containing descriptions of the entries. 
     A poster/product name field  1306  stores the name of the poster for display during on-screen selection. Exemplary entries for poster/product name field  1306  include Free Movie With Little Mermaid, Disney Showcase Parent Trap or Men In Black. Field  1306  comprises string entries. 
     A product ID start field  1308  stores the first of a series of sequential sub product identification numbers stored in a product option table described below. 
     A product ID end field  1310  stores the last of a series of sequential sub product identification numbers stored in a product option table described below. 
     A poster graphic field  1312  stores an (object linking and embedding) OLE object comprising a poster which is displayed on screen to a set top box user during selection of products. 
     An option record field  1314  stores a key reference number for relating the poster record in relationship to records in an option table described below. 
     An option table  1316  stores records for directing operation of viewing of, and selection of, options relating to a selected product. Option table  1316  works in relational manner with poster table  1300  in facilitating selection of a poster and its related options. 
     Opt rec field  1318  stores an index record for an option table record. Opt rec field  1318  forms a relationship with opt rec field  1314  in poster table  1300 . 
     An opt sec field  1320  is an alphanumeric secondary index for option table  1316 . Typical value masks for opt sec field may comprise members of the set: 
     (NA, NNA, NAA, NNAA, NNNAAA) 
     wherein N represents a decimal number from 0-9 inclusive, and A represents an character value from a-z inclusive. Opt sec field  1320  has at least a dual purpose. One purpose is to serve as a secondary index in the relationship with product table  1300 . Another purpose of opt sec field  1320  comprises directing set top box application  1216  in displaying and selection of options as explained below with reference to  FIGS. 4A-C . 
     Alternatively, field  1320  may be split into two different fields, one field for storing the numeric portion, and the second for storing the character value. 
     A prod ID field  1322  stores a number representing a product identification number. As noted above, field  1322  defines a sequential order of available products related to a poster defined by records in poster table  1300 . Fields  1308  and  1310  in poster table  1300  track the first available prod ID and the last available prod ID stored in field  1322  in option table  1316 . Prod ID field  1322  defines a unique identification number. 
     One exemplary sequence defined by prod ID field  1322  may comprise a range of numbers for NVOD start times for the product wherein the numbers correspond to, for example, hourly start times through a one week period that the product may be offered. In this case, the options defined by prod ID would account for 12 products per day times 7 days which would equal 84 different records in option table  1316  accounting for the different start times during the week. Alternatively, a product may only be offered for one day with different start times on the half hour, in which case there might be 24 different records accounting for the different start times, each record having a different prod ID entry in field  1322 . Alternatively, the different records with different prod ID entries in field  1322  may define different products for the related poster record in table  1300 , or a mix of different types and times of products. 
     A select prod st date field  1326  stores the start date of the product. This field may or may not be application depending on the particular product defined by the record. For example, if the product relates to merchandise, or a discount off a monthly statement, then field  1326  may not be relevant and could be blank. However, given that the majority of products offered relate to television programs or movies, the value in field  1326  is relevant and non-blank in most cases. Field  1326  is in year 2000 compliant American date format and may have the following mask: 
     MM/DD/YYYY 
     wherein MM represents a decimal value indicating the month of the year, DD represents a decimal value indicating the day of the month, and YYYY represents a decimal value representing the year. Alternatively, the date may be in julian format wherein the representation of month and day is by a consecutive number starting with Jan. 1 with a separate field for the year value. 
     A select prod st time field  1328  is used for storing a value for defining the start time of the product, if relevant to the define product. The product start time may be in bitmap format, with 6 significant bits, wherein each sequential value in binary format represents a 15 minute interval in a 24 hour period, starting from 6:00 am, and ending 5:45 am the next morning. Set top box  1216  has a conversion table which converts bitmap format to time format. The following is a partial illustration of the conversion table: 
     
       
         
               
               
             
           
               
                   
               
             
             
               
                 000001 
                 6:00 am 
               
               
                 000011 
                 6:15 am 
               
               
                 000010 
                 6:30 am 
               
               
                 . . . 
                   
               
               
                 . . . 
                   
               
               
                 . . . 
                   
               
               
                 101110 
                 5:15 am next day 
               
               
                 101111 
                 5:30 am next day 
               
               
                 110000 
                 5:45 am next day 
               
               
                   
               
             
          
         
       
     
     A select prod st day field  1330  is used for storing a 4 bit binary value, or bitmap, for representing a start day of the week for the product. Although this value can be calculated by set top box application  1216  from select prod st date field  1326 , storing the day in bitmap form may speed processing. Alternatively, select prod st date field  1326  may be left blank with field  1330  assigned a value for a product which is offered indefinitely for one day a week. Set top box application  1216  may use the following conversion table for calculating the value of field  1330  to the day of the week: 
     
       
         
               
               
             
           
               
                   
               
             
             
               
                 0001 
                 Sunday 
               
               
                 0010 
                 Monday 
               
               
                 0011 
                 Tuesday 
               
               
                 0100 
                 Wednesday 
               
               
                 0101 
                 Thursday 
               
               
                 0111 
                 Friday 
               
               
                 1000 
                 Saturday 
               
               
                   
               
             
          
         
       
     
     A product duration field  1332  is a numeric field used for storing the time duration, if applicable, for a product. 
     A purchase ack field  1334  is a string field used for storing an acknowledgement message for display when purchase of the product is completed. 
     An option to program/schedule mapping table  1336  is used to define relationships among several different tables in the database. The fields in the table are indexed fields for linking tables within the database schema. 
     An opt rec field  1338  is a numeric field used for linking table  1336  to option table  1316 . 
     An opt sec field  1340  is an alphanumeric field used for linking table  1336  to option table  1316 . 
     A marquee ID field  1342  is a numeric field used for linking table  1336  to a marquee table  1346  and a program schedule table  1348 , both explained below. 
     A schedule rec field  1344  is a numeric field used for linking table  1336  to program schedule table  1348 . 
     The program schedule table  1348  is a table containing records for defining programs and their schedules which are offered as features of a product defined by the records described in tables  1300  and  1316  described above. The records are read by set top box program  1216  for display to a set top box user, and for selection of program start times on screen in relation to a product that the set top box user has selected. 
     A marquee ID field  1350  is a numeric field used for uniquely identifying a program. Marquee ID field  1350  serves as an index for linking table  1348  to table  1336 . 
     A schedule rec field  1352  is a numeric field used for uniquely identifying a schedule records for a program. 
     A display showing field  1354  is a boolean field used to indicate whether a record from table  1348  should be used for display to a user in a few unique situations during operation of set top box application  1216 . One exemplary instance where this field is used is in the case wherein a user wishes to display a list of programs and start times for selection without purchasing a full product which the program is a part of. With the multitude of available program selection records which may be present in table  1348  for relation to products, some schedule information may have the same schedule times for the same program as other records. For these few situations, one record is selected for display while the other is not used when displaying program schedule information separate from the product information. For the record which is not to be displayed, a “no” boolean entry is used to indicate to set top box application  1216  that program schedule information for that record should not be displayed in the program schedule. 
     A serv ID field  1356  is a numeric field used for storing a television channel that the program will be broadcast on if the user purchases the program or a product containing the program. 
     A program date field  1358  stores the start date of a program. Within each product offered, there may be several programs, and several program start times, which a set top box user may select. These programs may be offered at different dates, times or once a week. Field  1358  is for storing the date of a program offered, and may have a blank value if the program is offered on a weekly basis, or at the same time on a daily basis. Field  1358  is in year 2000 compliant American date format and may have the following mask: 
     MM/DD/YYYY 
     wherein MM represents a decimal value indicating the month of the year, DD represents a decimal value indicating the day of the month, and YYYY represents a decimal value representing the year. Alternatively, the date may be in julian format wherein the representation of month and day is by a consecutive number starting with Jan. 1 with a separate field for the year value. 
     A program start time field  1362  is used for storing a value for defining the start time of the program. The program start time may be in bitmap format, with 6 significant bits, wherein each sequential value in binary format represents a 15 minute interval in a 24 hour period, starting from 6:00 am, and ending 5:45 am the next morning. Set top box application  1216  has a conversion table which converts bitmap format to time format. The following is a partial illustration of the conversion table: 
     
       
         
               
               
             
           
               
                   
               
             
             
               
                 000001 
                 6:00 am 
               
               
                 000011 
                 6:15 am 
               
               
                 000010 
                 6:30 am 
               
               
                 . . . 
                   
               
               
                 . . . 
                   
               
               
                 . . . 
                   
               
               
                 101110 
                 5:15 am next day 
               
               
                 101111 
                 5:30 am next day 
               
               
                 110000 
                 5:45 am next day 
               
               
                   
               
             
          
         
       
     
     A program start day field  1362  is used for storing a 4 bit binary value, or bitmap, for representing a start day of the week for the product. Although this value can be calculated by set top box application  1216  from program date field  1358 , storing the day in bitmap form may speed processing. Alternatively, program date field  1358  may be blank with field  1362  assigned a value for a product which is offered indefinitely for one day a week. Set top box application  1216  may use the following conversion table for calculating the value of field  1358  to the day of the week: 
     
       
         
               
               
             
           
               
                   
               
             
             
               
                 0001 
                 Sunday 
               
               
                 0010 
                 Monday 
               
               
                 0011 
                 Tuesday 
               
               
                 0100 
                 Wednesday 
               
               
                 0101 
                 Thursday 
               
               
                 0111 
                 Friday 
               
               
                 1000 
                 Saturday 
               
               
                   
               
             
          
         
       
     
     A marquee table  1346  is used for storing program specific information common to all schedules for the particular program. 
     A marquee ID field  1364  is a numeric field used for storing a program identifier, and is used as an index for relating marquee table  1346  to option to program/schedule mapping table  1344 . 
     A marquee name field  1366  is a string field used for storing the name of the program. 
     A program duration field  1368  is a numeric field used for storing the duration of a program in minutes. 
     An event content category field  1370  is a string field used as a sort index and display field for describing the content of a program. 
     With reference to  FIGS. 4A-4C , a continuous partial field listing is illustrated with partial pseudo data entered. The data fields are listed in de-normalized form for illustrative purposes. The corresponding fields have like reference numbers with those similarly described in  FIG. 3 . 
       FIGS. 5A-5D  illustrate an exemplary series of product selection screens. 
     With reference to  FIG. 5A , set top box application  1216  ( FIG. 1 ) presents the user with a selection listing of posters on television system  1222 . Set top box application  1216  reads records from poster table  1300  ( FIG. 3 ) to present posters and poster names on screen. Application  1216  presents OLE objects stored in poster graphic field  1312  as indicated at  1400 - 1402 . The corresponding poster names  1404  and  1406  are presented with posters  1400 - 1402 . A standard graphical user interface (GUI) slider bar may be used for selection between products. 
     With reference to  FIG. 5B , the user of set top box  1216  has selected poster  1402  to choose the poster with poster name  1406 . Poster  1402  has been re-displayed at the top of television  1222 . Adjacent poster  1402 , set top box application takes poster name  1406  and integrates it into a standard acknowledgment message to the user of set top box  1216 . 
     With reference again to  FIG. 4A , lines  1420 - 1424  indicate the records which have been read from tables  1300  and  1316  for displaying options as shown in  FIG. 5B . Line  1420  indicates the pseudo field values for displaying poster  1402  for selection by the user of set top box  1204 . Once poster  1402  has been selected, set top box application  1216  reads the related records in option table  1316  to display the available options under the product defined by the data in line  1420 . As indicated by line  1422 , another product is associated with line  1420  giving the user the option to watch the movie 101 Dalmatians in addition to The Little Mermaid. This first option is indexed as  2   a  in opt sec field  1320 . The poster table for option  2   a  is read, and the poster for 101 Dalmatians is displayed, as indicated at  1430 . String value  1432  in option field  1324  related to option  2   a  is displayed below poster  1430 . 
     Similarly, set top box application  1216  continues displaying option records as with the records providing data indicated in line  1422 . Line  1424  indicates further data as read from field  1430  and the related poster table records for that particular option identified by the value of  2   b  in opt sec field  1320 . Set top box  1216  uses the data from line  1424  to produce display output  1434  and  1436  for selection. 
     With reference to  FIG. 5C , after the user has completed selection of products and options, an acknowledgment screen is displayed on television  1222 . Acknowledgment text is read from purchase ack field  1334  and displayed as indicated at  1460 . Further, as part of the acknowledgment message, display items  1402 ,  1406 ,  1430  and  1432  are re-displayed to the user. 
     With reference to  FIG. 5D , the user is then presented with a selection list, on screen, of dates and times on screen for selection of all of the movies related to the options and products which have been selected for the particular purchase. A first column displays start time selections for the next earliest date that the selected programs are broadcast. A second column  1440  displays start time selections for a next date, if available, after the earliest date displayed. A prompt  1442  displays a message containing selection instructions. Selected programming times may be stored using a tagging method and system as described in application Ser. No. 09/103,316 incorporated by reference above. 
       FIGS. 6A-6B  are a series flow diagrams illustrating set top box application  1216  operations for the product selection process. 
     With reference to  FIG. 6A , starting with step  1500 , application  1500  reads the poster table to display the available product posters for user selection. 
     In step  1502 , the user is allowed to navigate or browse through the various posters available. Throughout poster navigation, application  1216  checks for selection of one of the posters, step  1504 . Also, application  1216  checks to see if the user provided an exit command to end browsing, step  1506 . If the exit command was initiated, the system exits the poster selection routine, step  1508 . If neither a poster is chosen, or an exit command is given, processing returns to step  1502 . 
     If a poster is selected, application  1216  then locates products for the selected poster in poster table  1300  and reads the poster information contained therein as described above. Using the relation created through opt rec field  1314 , application  1216  locates and reads all options associated with all products related to the selected poster from option table  1316 , step  1510 . 
     Application  1216  sets a loop to visit all option records associated with the products of the selected poster, step  1512 . Next, application  1216  displays the choices for the option being processed as described above in relation to  FIGS. 5A-5C , step  1514 . The viewer is then given the ability to select the choices associated with the option, step  1516 . 
     Application  1216  uses the relationship established between option table  1316  and program schedule table  1348  through option to program/schedule mapping table  1336  for multiple times offered for the particular option being visited by the loop, step  1518 . If multiple dates are available, application  1216  presents dates and times available for the option, step  1520 . The viewer is given the ability to select a date and time for the option, step  1522 . 
     The loop routine of application  1216  checks to see if the last option has been processed, step  1524 . If the last option has not been processed, then processing moves back to  1512 . 
     With reference to  FIG. 6B , application  1216  stores product IDs read from field  1322  for the selected poster, selected dates, times, durations read from field  1332 , and acknowledgment strings read from field  1334 , step  1526 . 
     Application  1216  then locates and reads schedule records associated with the selected products from option the program/schedule mapping table, step  1528 . Show times and durations for the related programs are extracted from the schedule records, step  1530 . 
     Through the relationship established between option table  1316  and the marquee table  1346  using option to program/schedule mapping table  1344 , application  1216  locates marquee names using marquee ID values from field  1364  in marquee table  1346 , step  1532 . 
     Application  1216  presents confirmation prompt  1460  ( FIG. 5C ) and lists all available programs for the products by date and time, step  1354 . The user may then confirm or cancel the purchase, step  1356 . If the user cancels the order, then processing moves back to step  1502  ( FIG. 6A ). Otherwise, the order process continues. 
     With reference to  FIG. 6C , billing information is sent to head end  1200 , which forwards the billing information to billing system  1206 , step  1538 . 
     Application  1216  sets a loop to visit all programs associated with the selected products, step  1540 . Application  1216  first checks to see if the program is currently being aired, step  1542 . If the program is currently being aired, then application  1216  sends a message to conditional access system to decode the program and allow viewing, step  1544 . A program tag is then set in the memory for set top box application  1216  which tells the system that access should be allowed for the program throughout the duration of the program, step  1546 . 
     If the program is not currently being aired, the program tag is set in step  1546 . After step  1546 , application  1216  checks if the last program has been processed, step  1548 . If there are more programs to process within the selection, processing returns to step  1540 . Otherwise, purchase confirmation acknowledgments are presented to the user, step  1550 . 
     Processing then returns to step  1502 ,  FIG. 6A . 
     One embodiment of the present invention is compatible with a set top box navigational system described below as applied to television programming. While television programming is a preferred application of the present invention, all types of content are contemplated within the scope of the invention. For example, the present invention may be applied to content provided over the Internet by on-line services, other communication networks, in kiosks or other information booths, by Internet browsing software, etc. Thus, the terms programming and content are used to generally describe all types of audio and video information as well as digital data, and merchandise. 
     A navigational system may be provided in which user choices are presented in an categorized and organized manner to facilitate navigation by viewers. The full set of available programming is organized into a number of product sectors, each of which represents some categorical class or business unit of programming, which correspond to the entries in product sector field  1302 . As illustrated in field  1302  in  FIG. 4A  described above, examples of product sectors include adult, education, am movies, services, sports, games, and others. Each of the product sectors may have more particular sub-categories, or umbrellas of programming specific to that products sector, as illustrated in field  1370 . For example, the am movie product sector may be broken into umbrellas in field  1370  such as family, western, action, etc., each representing a type of program available in the product sector. 
     In addition to organizing programming into product sectors, the navigational system may provide a number of navigation tools to viewers. The navigation tools provide current or future programming choices to viewers through different user interfaces. 
     Commonly owned U.S. patent application Ser. No. 09/018,541, entitled “METHOD AND SYSTEM FOR NAVIGATING THROUGH CONTENT IN AN ORGANIZED AND CATEGORIZED FASHION” and hereby incorporated by reference, illustrates the mental impression a user receives when navigating through the navigational system. For ease of illustration, FIG. 1 of application Ser. No. 09/018,541 illustrates only three domains that may be substituted with product sectors  10 : educational, am movies, and sports. The product sectors  10  are arranged in a circle because they are sequentially accessible by the viewer in a looped configuration. That is, the viewer can move from the educational to the am movies product sector to the sports and then back to the educational product sector. Each time the viewer changes product sector along the loop, a perception of moving around the circle is realized. 
     As shown, a series of tools  12  are illustrated arranged along a radius of the product sector circle. Although the tools  12  are shown with reference to the educational product sector, they are accessible in each of the product sectors. The viewer may scroll from tool to tool within the educational product sector, and may change product sectors  10  while using one of the tools  12 . As the viewer scrolls through the tools  12 , the viewer gets a feeling of motion in a direction perpendicular to the direction of motion between product sectors  10 . 
     At the intersection of each product sector and tool, representing a layer or level in the system and sometimes referred to herein as a “zone,” the viewer is given a selection of posters or programming choices for viewing. The specific posters in each zone are determined by the current product sector, and the manner in which these choices are presented is determined by the tool being used. Posters representing programming content available in a given zone are aligned along an additional axis, pictorially represented in a linear fashion along a virtual vertical axis orthogonal to the radius  14 . The movement within a zone from poster to poster provides the feeling of transition which is different than the transitions between product sectors or tools. 
     Available set top box hardware, remote control units, and the operation of tools are described in application Ser. No. 09/103,316 incorporated by reference above. 
     With reference to  FIG. 7  one exemplary tool comprises a “GUIDE” tool for displaying and facilitating selection of programs in a categorized fashion. A screen grid is displayed on television  1222  for providing direct program selection as an alternative to the poster selection method described with respect to  FIGS. 5A-5D  above. A guide or screen grid window  180  provides an interactive display area for listing programs in various sorting orders. 
     A pick menu  184  displays available product sectors in local product database  1220 . The product sectors displayed in pick menu  184  are dynamically changing as local product database  1220  ( FIG. 1 ) in set top box  1204  is updated from programming data model  1218  in head end  1200 . The user may move a pick menu highlighter  192  up and down pick menu  184  to select the different product sectors available for display. As a different pick menu selection is highlighted, the related list of programming from local product database  1220  is displayed. The marquee name from field  1366  is displayed in column  194 . An umbrella column  202  in the guide tool  202  displays the contents of the event content category field from field  1370  ( FIGS. 3-4C ) of marquee table  1346 . 
     Time data for a clock  182  is synchronized with time received from head end  1200 . 
     To help viewers keep track of their position in the navigational system, the tool screens provide a tool identifier  186 . Tool identifier  186  appears at the top left corner of the screen and displays the name of the current tool. 
     A program highlighter  188  highlights the currently selected program. Highlighter  188  is a stationary highlighter allowing the user to scroll the programming on screen which is read from local database  1220 . Alternatively, highlighter  188  may be a non-stationary highlighter which can be scrolled through programming listed on television  1222 . 
     A picture cell  190  may be used to display the poster from field  1312  as the user highlights corresponding selections in pick menu  184  with pick menu highlighter  192 . Alternatively, cell  190  may provide a picture in graphics advertisement for the currently selected program indicted by highlighter  188 . 
     As the user scrolls through programming in grid  180 , a description box  200  displays additional information about programs as they are highlighted. This information may be obtained from head end  1200  in real time as users select each program, or a separate description field may be employed in marquee table  1346  for storing data to be displayed. 
     In the guide tool illustrated in  FIG. 7 , the user may sort the individual programs by event content, time of day, date, or alphabetically. The structure of local product database  1220  described above facilitates different sorts in any tool applied to the programming data contained therein. For example, because marquee ID field  1364  in marquee table  1346  is an indexed field, one skilled in the art would recognize that the data contained therein may be used to sort programming by column  194  within the guide tool. 
     With reference to  FIG. 8  a flow diagram illustrating program selection from the guide tool, or from other tools, is illustrated. Starting at step  1600 , the user selects a program on screen. Using the relationships set up in local product database  1220 , set top box application  1216  sets up a loop through posters for products which that program is a part of, step  1602 . Posters for the associated products are displayed on screen, step  1604 . Referring back to  FIG. 5A , an exemplary screen displaying the posters is shown. The user is given the opportunity to selected one of the products by choosing one of the displayed posters, as described above with reference to  FIG. 5A , step  1616 . If the user selects a poster, processing returns to step  1510 , ( FIG. 6A ). 
     The system checks to see if the user exits the poster display without choosing a poser, step  1608 . If the user does not exit poster display, processing moves back to step  1602 . Otherwise, processing continues for selection of the original individual program selected from within the tool by sending billing information for the individual program only to head end  1200  for forwarding to billing system  1206 , step  1610 . Processing then moves back to step  1542  ( FIG. 6C ). 
     Other various navigation tools which can be provided to display poster and programs of the present invention are described in greater detail in application Ser. No. 09/103,316 incorporated by reference above. Also described therein is the process of tagging selected programming, storing tags, and presenting programs when it is time for a tagged program to be shown. One skilled in the art would readily recognize that the tagging, storing, and presenting techniques could easily be employed to program records, merchandise records, games, and other selectable entitles of the present invention. 
       FIGS. 9-11  depict a generic purchase sequence according to one embodiment of the invention. Specifically,  FIGS. 9-11  together depict a functional state diagram of the generic purchase sequence depicted. Each depicted state represents a screen state. In this embodiment, there can be only one active state at any given moment. However, it is possible to combine multiple states into one screen, as long as only one state is active and the others are inactive (as can be the case regarding the “more” screen designs as depicted in  FIG. 14 ). Core purchase sequence states are labeled C 0  through C 6 . “More” screen states are labeled M 1  through M 4 . Generally, in  FIGS. 9-11 , field names are capitalized, dialogues are enclosed in quotation marks, “^” indicates a scrolling screen or list, actions are enclosed in parentheses, and fields grouped for a scrolling list are enclosed in brackets. 
       FIG. 12  depicts a schema for a dialogue table for one embodiment of express cinema data improvements. In some embodiments, marquee/event attributes can be pertinent and can be added. Additionally, tables such as category or umbrella tables apply. 
     In one embodiment of the invention, movies titles, games, and events are represented as a marquee record. Things that can be bought are represented in the marquee record and product data type, and are also associated with posters. In the embodiment depicted in  FIG. 12 , however, the data model has three distinct entities: movies titles, games, and events which utilize a transport resource and are broadcast; options, which are different ways that things can be bought, and can also be considered a grouping of products; and posters, which are authored groupings or representations of options. In some embodiments, posters and programs are represented in the user interface as marquees in a tool guide or virtual channels in a channel tool. In some embodiments, options are included as marquees or virtual channels. Event type attributes such as start time, freeview duration, and the like can be included in a program list or table. A schedule table  1202  can describe broadcast schedules for programs, and utilize a day/time bitmap to provide NVOD efficiencies. A product availability table  1204  can describe an option or product “schedule” that is distinct from a program schedule. A dialogue table  1206  can be added to give flexibility in the screen dialogue text. While shown as separate items, the dialogue table  1206  is actually a single table. 
     The following is a list of certain embodiments of fields and descriptions associated with particular tables. It should be understood that the tables, fields, and descriptions thereof, including any rules, represent only one particular embodiment, and one skilled in the art could construct numerous alternative embodiments based on the disclosure herein, with different tables, fields, descriptions of fields, or rules. 
     Poster Table: 
     Poster sort index: index into poster sort table (mandatory, numeric); 
     Poster ID: poster unique identifier (mandatory, numeric); 
     Poster name: text name or title of poster (text). A poster name in mandatory for any poster that will be listed as a marquee; 
     Poster Descr: optional description of poster (optional, numeric), must have a value if “disp marquee flag” is a “1”. The poster description is not available in the purchase sequence; 
     Option Dialogue: index to dialogue table (mandatory, text). This index will point to the dialogue that appears at the top of the “option” modal after the viewer selects the poster. A typical dialogue is “how would you like to buy?” 
     Opt rec, sec, part: A three part index into the options table (mandatory, numeric). Each poster must have at least one option tied to it. 
     Disp marquee flag: The poster name is displayed in the guide tool as a marquee if this flag is “1” (optional, numeric). 
     Disp channel flag: The poster name is displayed in the channel as a virtual channel (optional, numeric). 
     Option Table 
     Poster ID: index into the Poster Table (mandatory, numeric). The same option can be tied to more than one poster. 
     Opt rec, sec, part: three part key for records in this table (mandatory, numeric). Also index into the Program Table. Option sections and parts are used for multiple-sectioned options. Can to be used for ‘Game’ options in sorts packages, buy one get one free, genre packages, etc. Individual games can be listed as discrete options along with ‘Ticket’, and ‘Weekend’. 
     Option name index: index into the Option Name Table (mandatory, numeric). This field is indexed in the anticipation that there may be many option names that would be reused between option records, such as ‘one time’. 
     Option description index: index into the Option Description Table (optional, numeric). Not all options will have a description, as in the case of ‘one time’ or ‘all day’, but some might, as in the case of ‘Season Ticket.’ All options to be displayed as a marquee require an option description. Therefore, must have a value if ‘disp marquee flag’=‘1’. 
     Option price index: index into the Price Table (mandatory, numeric). 
     Prod availability index: index into the Product Availability Table (mandatory, numeric). Most entries will have product availability dates/days/times associated with them, and some options will be associated to more than one prod availability to more than one prod availability index. This field could be a range of Prod Availability Indices for multiple product dates, as in the case of NFL ‘Weekend’ which is offered for more than one weekend. All impulsively purchasable options must be associated to at least one product availability index, since the product id&#39;s reside in the Product Availability Table. Some Options may be associated with product availability dates/day/times, as in the case of an email subscription. However, the email option would still have a pointer into the Product Availability Table. 
     Confirmation dialogue top: Index into the Dialogue Table (optional, numeric). This is the dialogue presented at the top of the confirmation screen which appears after a viewer has selected a purchase. Ex., “You have selected.” 
     Confirmation dialogue bot: Index into the Dialogue Table (optional, numeric). This can be a dialogue presented at the bottom of the confirmation screen which appears after a viewer has selected a purchase, for example, “Press gimme if you want to buy.” 
     Ack dialogue top: Index into the Dialogue Table (optional, numeric). This can be the dialogue presented at the top of the Acknowledgement screen which appears after a viewer has completed a purchase, for example, “Enjoy your purchase of”. 
     Ack dialogue top: Index into the Dialogue Table (optional, numeric). This can be the dialogue presented at the bottom of the Acknowledgment screen which appears after a viewer has completed a purchase, for example, “Check bookmarks for programs and show times”. 
     Disp marquee flag: The option name is displayed in the guide tool as a marquee if this flag is ‘1’ (optional, numeric). 
     Option Name Table 
     Option Name Index: key for the Option Name Table (mandatory, numeric). 
     Option Name: The name of the options listed in the options offer screen (mandatory, numeric). In one embodiment, maximum size is 14 characters. The option name may not be null. The option name should not be identical to the poster name as they may appear side by side in the Guide Tool. 
     Option Description Table 
     Option Description index: Key for theOption Description Table (optional, numeric). Not all options require a description. The use of this field is determined by authoring. 
     Option descr: Describes the option (mandatory, numeric). 
     Program Table 
     Note: While called a “program table”, this actually represents a list of the lowest level purchasable “thing”. In the case of NVOD, the item for sale can be a movie. However, support is provided for sale of subscription services such as HBO or e-mail, and retail items, data channels, telephone/data services, etc. 
     Program id: Program unique identifier (mandatory, numeric); also is the index into the Schedule Table. Not all programs require a schedule record. 
     Opt rec, sec, part: Three part index into Option Table (mandatory, numeric). All options, including service subscriptions like ‘email’, must have any entry in this table. All options must be tied to at least one program due to the design of the purchase confirmation and acknowledgement screens which require a program name. All products within an option do not have to contain the same programs. For example, the ‘Weekend’ option for NFL programming will contain different programs (games) for each different product starting every Saturday in November. 
     Prog name: Name or title of program (mandatory, text); name used in Marquee, and can be used in ‘more info’ modal screens. 
     Event cont cat: Category describing content of program (mandatory, text). Also used as sort field for programs. 
     Disp marquee flag: The program is displayed in the guide tool as a marquee if this flag is ‘1’ (optional, numeric). 
     Dips. channel flag: The program is displayed with an associated poster as virtual channel in the channel tool (optional, numeric). Whether a channel tool concept is used will determine if this field is necessary in this table. 
     Schedule Table 
     Note: the records in this table describe the broadcast schedule of the individual programs. Show times for an impulse purchase are determined by comparing the product availability times with the program schedule times. Showtimes are determined by the program schedule times that fall within the product availability times. 
     Sched rec: Key for this Schedule Table (mandatory, numeric). 
     Serv id: Channel service id. Used for tuning (mandatory, numeric). 
     Program id: Index into Program Table (mandatory, numeric). One program may have multiple schedule records. Subscription services like ‘email’ are not associated with a schedule record. 
     Prog st days: Describes the days of week the program is aired (optional, numeric). Optional, must be null if ‘prog st date’ or ‘prog st time’ has a value. All three may be null simultaneously. 
     Prog st date: Describes the date the program is aired (optional, numeric). Optional, must be null if ‘prog st day’ or ‘prog st time’ has a value. All three may be null simultaneously. 
     Prog st times: The day of week and times the program is aired (optional, numeric). Optional, must be null if ‘prog st date’ or ‘prog st date’ has a value. All three may be null simultaneously. 
     Prog dur: Duration of the program. Assumes that all instances of this program have the same duration (optional, numeric). 
     Disp record: Do not display record as part of program show times in guide tool, if ‘0’ (numeric). 
     Product Availability Table 
     Product availability index: Key for this Product Availability Table (mandatory, numeric). There may be multiple product availability records for one option, as in ‘Weekend Pass’. 
     Prod st day: (Day bit map) Day of week the option is offered (optional, numeric); optional, must be null if ‘prod st date’ or ‘prod st time’ has a value. All three may be null simultaneously. Only known use at this time is for all day products. 
     Prod st date: Start date the option is offered (optional, numeric); optional, but must be null if ‘prod st day’ or ‘prod st time’ has a value. All three may be null simultaneously. An additional bit map field is needed to show multiple show times on a single date. Only 24 hours worth would be needed. 
     Prod st time: (Day and Time bitmap) The day of week and the times an option is offered (optional, numeric); optional, but must be null if ‘prod st date’ or ‘prod st day’ has a value. All three may be null simultaneously. 
     Prod dur: Duration which the option spans (mandatory, numeric). For example, ‘Sci Fi Fest Weekend’ may last 3 days or 72 hours. A specific value, for example, ‘9999’ can be used for a subscription service. 
     Pro id: Blob of product id&#39;s associated with the days/dates/times above (mandatory, numeric). “Prod st time” is a 24 hour bit map at 15 minute intervals. It is used to specify times for the day of the week or a specific date. In NVOD, a particular movie can be playing on the same schedule for many days or the whole week. This would result in a variable length field. 
     Dialogue Table 
     Dialogue index: Key for this Dialogue Table (mandatory, numeric). 
     Dialogue: Text dialogues used throughout the purchase sequence (mandatory, numeric). 
     Poster Sort Table 
     Poster sort index: Key for this Poster Sort Table (mandatory, numeric). 
     Poster sort name: Sort name for posters (mandatory, text). 
       FIGS. 13-17  are simplified depictions of a graphical user interfaces according to one embodiment of the invention. Specifically,  FIG. 13  includes simplified depictions of a graphical user interfaces relating to animation from peephole modal to elongated modal, and nested reporting in elongated peephole.  FIG. 14  includes simplified depictions of a graphical user interfaces relating to an express guide timing progression.  FIG. 15  includes simplified depictions of a graphical user interfaces relating to an express zone buy process guide.  FIGS. 16 and 17  include simplified depictions of a graphical user interfaces relating to Express Guide package scrolling 
       FIG. 18  depicts purchase request program large scale flow diagrams, including graphical user interface depictions, and depicting a series A and a series B.  FIGS. 19-29  depict small scale depictions series A of  FIG. 18 , and can be assembled in accordance with series A of  FIG. 18 .  FIGS. 30-37  depict small scale depictions series B of  FIG. 18 , and can be assembled in accordance with series B of  FIG. 18 . The following table can be utilized to assemble the depictions of  FIGS. 19-37  to be in accordance with series A and series B of  FIG. 18 , in which the numbers in parentheses indicate the matrix relationship of each of  FIGS. 19-37  in the form (row, column): 
     
       
         
               
             
               
               
               
               
             
           
               
                   
               
               
                 Series A: 
               
               
                   
               
             
             
               
                   
               
             
          
           
               
                 FIG. 19 (1/1) 
                 [blank space] (1/2) 
                 FIG. 20. (1/3) 
                 FIG. 21 (1/4) 
               
               
                 FIG. 22 (2/1) 
                 FIG. 23 (2/2) 
                 FIG. 24 (2/3) 
                 FIG. 25 (2/4) 
               
               
                 FIG. 26 (3/1) 
                 FIG. 27(3/2) 
                 FIG. 28 (3/3) 
                 FIG. 29 (3/4) 
               
               
                   
               
             
          
         
       
     
     
       
         
               
             
               
               
               
               
               
             
           
               
                   
               
               
                 Series B: 
               
               
                   
               
             
             
               
                   
               
             
          
           
               
                   
                 FIG. 30 (1/1) 
                 FIG. 31(1/2)  
                 FIG. 32 (1/3) 
                 FIG. 33 (1/4) 
               
               
                   
                 FIG. 34 (2/1) 
                 FIG. 35 (2/2) 
                 FIG. 36 (2/3) 
                 FIG. 37 (2/4) 
               
               
                   
                   
               
             
          
         
       
     
     It will thus be seen that the objects set forth above, among those made apparent from the preceding description, are efficiently attained and, since certain changes may be made in carrying out the above method and in the construction set forth without departing from the spirit and scope of the invention, it is intended that all matter contained in the above description and shown in the accompanying drawings shall be interpreted as illustrative and not in a limiting sense.