`
`PCT/US93/11617
`
`_2151458
`
`39
`
`there is a textual description for a program. such as a movie.
`
`the description may be given following that program's coded
`
`description or may be communicated following the four hours
`
`of programming information. As is shown in the coded
`
`listing. program descriptions for programs greater than a half
`
`hour in length need not be repeated (each half hour). The
`
`video description code informs the set top terminal 220
`
`whether there is still or live video available to advertise the
`
`program.
`
`For example. a sporting program may be assigned a
`
`code of B35-010194-1600-3.25-Michigan St. vs. USC. The
`
`letter B would assign the program to category B. sports. The
`
`second alpha-numeric character number 3 would assign the
`
`program to the third menu of the sports category. The third
`
`character of the code. number 5. assigns the program to the
`
`fifth program slot on the third menu.
`
`The next six
`
`characters. 01/ 01/ 94, represent the date. The following four
`
`characters. 1600 represent the start time which is followed
`
`by the length of the program and the program name. This
`
`entry represents a sports show. a college football game. which
`
`will be aired at 4:00PM on New Years day 1994.
`
`In the 12:30 Channel
`
`1 entry of TABLE A. two menu
`
`codes are shown. By allowing two menu codes. programs that
`
`may fit under two different category descriptions may be
`
`shown in both menus to the subscriber. With this minimal
`
`amount of information being communicated to the set top
`
`terminal 220 on a regular basis.
`
`the terminal is able to
`
`determine the proper menu location for each program and
`
`the proper time and channel to activate for the subscriber
`
`after his menu selection.
`
`in the preferred embodiment. the
`
`menu codes are generated at the Operations Center 202.
`
`10
`
`15
`
`20
`
`25
`
`30
`
`Page 001038
`
`
`
`“:0 94/1428]
`
`PCT/‘U593/11617
`
`215iA53
`
`D
`
`40
`
`Table B shows an example Events Table that may be
`
`downloaded to a set top terminal 220 using the Event Data
`
`file which contains information about events and pricing. As
`shown in the table. the three columns of the Events Table
`
`5
`
`the field itself and the type of
`identify the field number.
`information downloaded in the Event Data tile. The first
`
`column contains the field numbers 1 through 11. The middle
`
`column contains the corresponding field parameters.
`
`including the event type. event ID. global channel ID, price.
`start time. end time. start date. end date. P— icon, name and
`
`10
`
`description. The third column contains corresponding field
`type infonnation. As shown in this field type information
`
`typically consists of an unsigned integer; hours. minutes and
`
`15
`
`seconds: months. day and year; and ASCII character
`identifier.
`
`20
`
`30
`
`25
`
`Table C shows an example Event Data data file.
`
`In
`
`35
`
`particular. Table C shows two data streams corresponding to
`two event types. The first data stream identifies a YCTV event
`
`in the first field. The second field designates the event ID.
`
`Page 001039
`
`
`
`W0 94/14231
`
`- 2 1 5 1 45 8
`
`PCT/US93/11617
`
`41
`
`which is 1234 in this example. The third field includes the
`
`global channel ID number two. The fourth field indicates the
`
`cost of 50 cents for this event. The fifth and sixth fields
`
`indicate the respective start and end times of 3:00 a.m. to
`
`5
`
`3:00 p.m.. respectively. The seventh and eighth fields show
`the corresponding start and end date. designated as 8/25/93
`
`and 8/27/93. respectively. Field nine indicates the P icon set
`
`to a graphics file. Finally. fields ten and eleven indicate the
`
`name and description of the event selected. which in this
`
`10
`
`case is TM and TM. The second data
`
`stream in the Event.Dat example shown in Table C includes
`
`analogous information for
`
`Iggmingtgr 11'“. which.
`
`is
`
`designated in field one as a pay-per-view event.
`TABLE C
`
`15
`
`20
`
`25
`
`30
`
`Event Data Example
`0 ; 0'0 fl:
`
`Se
`
`
`The program control
`
`information signal 276 and
`
`STTCIS can be formatted in a variety of ways and the on-
`
`screen menus can be produced in many different ways. For
`instance.
`if the program control
`information signal 276
`
`carries no menu format information.
`
`the menu format for
`
`creating the menus can be fixed in ROM at the set top
`
`terminal 220. This method allows the program control signal
`276 to carry less information but has the least flexibility since
`
`the menu formats cannot be changed without physically
`swapping the ROM holding the menu format information.
`In
`
`the preferred embodiment. the menu format information is
`
`stored at the set
`
`top terminal 220 in temporary memory
`
`either in a RAM or EPROM. This configuration provides the
`
`Page 001040
`
`
`
`W0 94/14281
`
`PCTIUS93/11617
`
`1&5‘
`
`42
`
`desired flexibility in the menu format while still hunting the
`
`amount of information needed to be communicated via the
`program control information signal ‘276. New menu format
`
`information would be
`
`sent via the program control
`
`5
`
`information signal 276 or the S'1'i‘ClS to the set top terminals
`
`220 each time there was a change to a menu.
`
`in the simplest embodiment. the menus remain fixed
`
`and only the text changes. Thus.
`
`the program control
`
`information signal 276 can be limited to primarily text and a
`
`10
`
`text generator can be employed in the set top terminal 220.
`
`This simple embodiment keeps the cost of the set
`
`top
`
`terminal 220 low and limits the bandwidth necessary for the
`
`program control information. Another simple embodiment
`
`1 5
`
`uses a separate channel full-time (large bandwidth) just for
`the menu information.
`
`Figures 6a and 6b. particularly Figure 6a. show a data
`
`format 920 at the bit-level for one embodiment of a program
`
`information signal 276. This frame format consists of six
`
`fields. namely:
`
`(1) a leading flag 922 at the beginning of the
`
`20
`
`message.
`
`(2) an address field 924.
`
`(3) a subscriber region
`
`designation 926.
`
`(4) a set top terminal identifier 928 that
`
`includes a polling command/response (or P/F) bit 930. (5) an
`
`information field 932. and (6) a trailing flag 934 at the end of
`
`the message.
`
`25
`
`The eight-bit
`
`flag sequence that appears at
`
`the
`
`beginning 922 and end 927 of a frame is used to establish and
`
`maintain synchronization. Such a sequence typically consists
`
`of a "O111l110" bit-stream.
`
`The address field 924
`
`designates a 4-bit address for a given set top terminal 220.
`
`30
`
`The subscriber region designation 926 is a 4-bit field that
`
`indicates the geographical region in which the subscriber's
`
`set
`
`top terminal 220 is housed.
`
`The set
`
`top terminal
`
`Page 001041
`
`
`
`W0 94/1428]
`
`PCT/US93I116l7
`
`_2151458
`
`43
`
`identifier 928 is a 16-bit field that uniquely identifies each set
`
`top terminal 220 with a 15-bit designation followed by an
`
`appended P/F bit 930. Although field size is provided by this
`
`example. a variety of sizes can be used with the present
`invention.
`
`5
`
`The P/F bit 930 is used to command a polling response
`
`920' (Figure 6b) from the set top terminal 220 addressed.
`
`The polling response 920' is substantially similar to the from
`
`format 920. and is commonly numbered. but with a prime (‘)
`
`10
`
`designation appended for clarity. The frame format 920 also
`
`provides a variable-length information field 932 for other data
`
`transmissions. such as information on system updates. The
`
`frame format ends with an 8-bit flag 934 (or trailing flag) that
`is identical in format to the leading flag 922. as set forth
`
`1 5
`
`above. Other frame formats, such as MPEG. for example. will
`
`be apparent to one skilled in the art and can be easily adapted
`
`for use with the system.
`
`D. §mma
`
`The program control
`
`information signal 276 is
`
`20
`
`produced substantially by the CAP CPU 264 and the Delivery
`Control Processor Unit
`(DCPU) 270. An overview of the
`
`software modules. focusing on the processing of signals and
`communication between CAP CPU 264 and DCPU 270 is
`
`shown in Figure 7. The software modules for the CAP CPU
`
`25
`
`264 and DCPU 270 include dispatcher 484. processing 486
`
`and communications 488. each of which performs like-named
`
`functions. as well as supporting database 490 access.
`
`Processing within the CAP CPU 264 is controlled by the
`
`dispatcher 484 software module which may generate
`
`30
`
`processing commands based on user command (e.g.. do
`
`something now). schedule events (e.g., do something at noon)
`
`or based on the occurrence of other events
`
`(e.g.. do
`
`Page 001042
`
`
`
`WO 94114281
`
`PC'I'IUS93l1l6l7
`
`X555?’
`
`44
`
`something when the database is updated). The dispatcher
`
`484 sends messages to the processing software module 486
`
`instructing it to process information within the database 490
`
`and generate control information for the DCPU 270.
`
`For
`
`5
`
`example. based on the updating of information associated
`
`with a particular headend 208.
`
`the dispatcher 484 may
`
`command the CAP CPU 264 to regenerate headend 208
`
`parameters. perform any required database integrity checking
`
`and send them to the DCPU 270. Also. in the case of headend
`
`10
`
`208 information processing. a filtering function (not shown)
`
`is performed which eliminates any information that does not
`
`either directly or indirectly relate to a given headend 208.
`
`Information transfer between the CAP CPU 264 and the DCPU
`
`15
`
`270 is controlled by the DCPU communications software
`module 488.
`
`Information received by the DCPU 270 from the CAP
`
`CPU 264 is processed at the DCPU processing module 496
`
`and put into a form consistent with the DCPU 270. Some of
`
`this information is used for DCPU control. while most is data
`
`20
`
`to be integrated into the program control information signal
`
`261.
`
`some of this information is also used for miscellaneous
`
`control 494 for such things as external multiplex equipment.
`
`source material generation hardware.
`
`transmission
`
`equipment and so on.
`
`Information destined for the program
`
`25
`
`control information signal 261 may be transmitted once or
`
`may be scheduled for periodic transmission. This information
`
`is integrated by the processing module 496 with other
`
`information. both internal and external. The DCPU scheduler
`
`module 497 is responsible for scheduling and regulating this
`
`30
`
`data traffic. Also. the scheduler 497 may perform information
`
`filtering.
`
`For example.
`
`imbedded date/time information
`
`within the information records of interest can be used for
`
`Page 001043
`
`
`
`WO 94114281
`
`A 21 5 1 4 5 8
`
`PCT/US93I116l7
`
`45
`
`filtering. External pass-through control information 495 may
`
`also be incorporated into the program control information
`
`signal 261 to provide external input to this digital data
`
`stream.
`
`The DCPU multiplexer 498 is responsible for
`
`5
`
`multiplexing external pass-through control
`
`information.
`
`Finally. a transmission software module 499 in conjunction
`
`with appropriate communications hardware (not shown).
`
`controls the output of both the program control information
`
`signal 261 and the miscellaneous control signals 494.
`
`10
`
`Figure 8 is a high level diagram of CAP software
`
`subroutines and their interrelations. A Main Program (not
`
`shown) orchestrates the use of the various subroutines as
`
`needed to perform the CAPS tasks. The Packager Data Entry
`
`Interface (PDEI) 400. Marketing Information Interface (M11)
`
`15
`
`402. and Cable Franchise Information Access (CI-‘lA) 404
`
`subroutines perform the interface functions between the CAP
`
`Main Program and outside data or
`
`information.
`
`The
`
`remaining subroutines shown in the center column of Figure
`
`8 perform the processing and manipulations necessary to the
`
`20
`
`functioning of the CAP 260.
`
`The Packager Data Entry Interface (PDEI) 400
`
`subroutine includes routines that
`
`enable the Packager to
`
`interactively enter program selections 410. start times of
`
`programs 412. price setting 414. transponder allocation 416.
`
`25
`
`and menu editing 418. The PDEI subroutine 400 controls the
`
`keyboard and mouse data entry by the packager and runs in
`
`concert with the processing and editing subroutines
`
`described later.
`
`The Marketing Information Interface
`
`(M11) 402
`
`30
`
`subroutine interfaces the processing and editing subroutines
`
`with marketing data.
`
`This interface regularly receives
`
`programs watched information from billing sites 420. cable
`
`Page 001044
`
`
`
`wo 94/14281
`
`PCTIUS93/11617
`
`iifilw’
`
`46
`
`headends 208. or set top terminals 220.
`
`In addition. other
`
`marketing information 422 such as the demographics of
`
`viewers during certain time periods may be received by the
`
`MI] 402. The M11 402 also uses algorithms 424 to analyze
`
`5
`
`the program watched information and marketing data 420.
`
`422. and provides the analyzed information to the processing
`
`and editing subroutines.
`
`In the preferred embodiment. an
`
`Executive Information System (EIS) with a yield management
`
`10
`
`subsystem is included in the MI] subroutine as described
`above.
`
`The Cable Franchise Information Access (CFIAI 404
`
`subroutine receives information on cable franchises. as
`
`represented at block 426, such as the particular equipment
`used in a cable headend 208. the number of set top terminals
`
`1 5
`
`220 within a cable franchise. groupings of set top terminals
`220 on concatenated cable systems 210. distribution of "high-
`
`end" cable subscribers. etc. The CFIA 404 generates a cable
`franchise control signal 428 which is integrated with the
`
`20
`
`program control information 276 output to generate cable
`headend 208 specific information to be transmitted. The
`
`25
`
`integration algorithm for accomplishing this resides within
`
`the Generator subroutine described herein below.
`
`The process program line-up subroutine 430 uses
`information from the M11 404 and PDEI 400 to develop a
`program line-up.
`Importance weighting algorithms and best
`fit time algorithms are used to assign programs in time slots.
`
`The process menu configurations subroutine 432
`
`determines appropriate menu formats to be used and
`
`positions programs on menu screens.
`
`Information from the
`
`30
`
`M11 404 and PDEI 400 are used to determine program
`positions on menus.
`
`Page 001045
`
`
`
`wo 94/14231
`
`_ 21 5 145 8
`
`PCT/US93/11617
`
`47
`
`The menu display algorithms 434 displays menus as the
`
`menus would be seen by the viewer on a large CRT or color
`monitor.
`
`The editing of menus subroutine 436 works with the
`
`5
`
`menu display algorithm and PDEI 400 to allow the packager
`
`to edit menus on-the-fly during viewing of the menus.
`
`The graphical transponder allocation display 438 sends
`information obtained from the CI-‘IA 404 and PDEI 400 to
`
`create graphical displays enabling the packager
`
`to
`
`10
`
`comprehend the allocation of transponder space across the
`
`entire television delivery system 200.
`
`In a manner similar to the display and editing of menus
`
`represented at blocks 434. 436. the packager may utilize the
`
`editing transponder allocation subroutine 440 to interactively
`
`1 5
`
`reallocate assignment of transponder space.
`
`In the preferred
`
`embodiment. the EIS with yield management may be used by
`
`the packager to assist in decisions on allocating transponder
`space.
`
`The generator subroutine 442 creates the program
`
`20
`
`control
`
`information signal
`
`for output.
`
`The Generator
`
`subroutine receives the cable franchise control signal and
`
`uses this signal to help create a custom signal for each cable
`headend 208.
`
`The Packaging Routine 448 obtains and packages the
`
`25
`
`programs. along with the program control information signal
`
`216. for transmission to the transponders.
`
`With continued reference to Figures 7. 8 and 9,
`
`the
`
`general software flow of the operations center 202 is
`
`depicted. The flow can be broken up into modules that apply
`
`30
`
`to parts of the database to allow viewing. editing aha adding
`
`records to the database. The software also accomplishes
`
`Page 001046
`
`
`
`wo 94/14281
`
`gxfilllc-3%
`
`PCTIUS93/11617
`
`48
`
`database integrity checking by restricting the user to enter
`
`only valid data. and by checking for conflicts.
`
`Figure 9 shows some of the software involved in the
`
`creation of programs. events and services. This creation
`
`5
`
`occurs prior to or during the processing of the program line-
`
`up 43O shown in Figure 8. With reference to Figure 9. a flrst
`
`step is indicated generally at 461 and includes acquiring
`
`source materials for program production at the Operations
`
`Center 202 (e.g.. tape production). Once the source materials
`
`10
`
`are collected 460. and entered into the database "D".
`
`they
`
`can be used to create programs 462. These programs are
`
`made up of source ‘cuts’ from various video/audio source
`
`materials. Once the programs have been generated and
`
`entered into the database “D”. events. collections of one or
`
`15
`
`more programs. are created 464.
`
`Each event
`
`is then
`
`schedule onto a service 466. with the software checking for
`
`conflicts. Each service is given run times. and days. and
`checked for conflicts. Once the services and events have
`
`been created. the event names can be added to the menus
`
`20
`
`468. The programs for the events and services may be stored
`
`at the Operations Center (as shown in Figure 11 at 286).
`
`Processing and manipulation of the events or records is
`
`depicted generally at 463.
`
`The packager user interface (a portion of 463) for each
`
`25
`
`of the creation modules works substantially identically to each
`of the other modules to make the interface easy to use and
`
`learn. The packager user interfaces forms a portion of the
`
`PDEI 400 shown on Figure 8. The browse system 470 is
`
`entered first and allows viewing of records. and selection of
`
`30
`
`specific records. The database can be ‘populated’ by selection
`
`of a button. which activates a populate screen.
`
`As
`
`represented at block 471.
`
`this allows details to be deleted.
`
`Page 001047
`
`
`
`W0 94/1428]
`
`_2151458
`
`PCT/US93ll16l7
`
`49
`
`added or changed for events. programs, and sources. The
`
`browse screen also allows access to the edit screen 472,
`
`where fields in a selected record can be modified. with
`
`conflicts or errors. in scheduling for example. being checked
`
`5
`
`continuously. as at 473 and 474.
`
`'
`
`In use.
`
`the Operations Center 202 of the present
`
`invention performs a variety of management functions which
`
`can be broken out into five primary areas:
`
`(1) cable headend
`
`208 management.
`
`(2) program source management.
`
`(3)
`
`10
`
`broadcast program management, (4) internal program storage
`
`and management. and (5) marketing, management and
`
`customer information. A relational database. such as that
`
`represented by Figure 10. can be used to maintain the data
`associated with these areas.
`
`1 5
`
`I
`
`Customer billing is not included in any of the above five
`
`areas for the Operations Center 202. Although billing can be
`
`handled by the Operations Center 202 (as shown in the
`
`database structure 508. 511).
`
`it is preferred that billing is
`
`handled at a remote location through traditional channels and
`
`20
`
`methods [such as Cable TV billing provided by Telecorp
`
`corporation).
`
`Extracts of customer purchases will be
`
`provided to the Operations Center 202. These extracts of
`
`information will be formatted and correlated with customer
`
`25
`
`demographics for marketing purposes by the Marketing
`Information Interface (M11) 402.
`
`(1) Qa
`
`Management of the cable headend 208 includes the
`
`following activities: defining the cable headend site: profiling
`
`the viewers: determining available set
`
`top equipment:
`
`30
`
`defining the concatenated cable systems connected to the
`
`cable headend site. This information may be stored as cable
`
`franchise information within the Operations Center 202
`
`Page 001048
`
`
`
`W0 94/ 1 4281
`
`215x453
`
`PCT/US93/11617
`
`50
`
`database by the Cable Franchise Information Access routine
`
`404. Such information can be compiled and maintained in a
`
`relational database (described below and shown as 328 in
`
`Figure 11).
`
`(2) £mm
`
`Source programs will be provided by a variety of
`
`networks.
`
`Information from the contractual records to the
`
`actual program tapes should be maintained and includes:
`
`tracking of property rights:
`
`tracking and profiling source
`
`tapes: profiling source providers. A relational database [such
`
`as “D” shown in Figure 9) can be used, for example. that
`
`identifies and correlates programs sources. Programs may be
`
`received from various rights holders. and such a database
`
`would track the person or entity that owns the rights to each
`
`program at issue. Other data could be maintained relating to
`
`program cuts (a program cut is a portion of a program) that
`
`specifies.
`
`for example, the program from which the cut is
`
`taken.
`
`Information relating to time slot allocations. menu
`
`10
`
`15
`
`20
`
`entries, and categories. and channel assignments are also
`maintained in the relational database.
`
`25
`
`Program services represents a purchasable time slice
`
`which is occupied by a type of programming. Each time slice
`
`has multiple time constraints. Using the purchasing of
`through time slices allows for great flexibility. An infinite
`
`number of program and time slice combinations are possible.
`Preferably. services are created using the software shown in
`
`Figure 9. particularly the service creation routine 466. For a
`
`service to become available at a cable headend 208 site. it is
`
`30
`
`mapped to the site. At the time of mapping the program
`service is assigned a program channel.
`
`Program services are defined by the following fields:
`
`Service ID
`
`System generated unique ID
`
`Page 001049
`
`
`
`W0 94/1428]
`
`PCT/US93/11617
`
`_2151458
`
`51
`
`Description
`
`Describes the service. The description
`
`will allow the packager to easily assign a
`
`service to a broadcast program.
`
`'1‘./P8
`
`Defines the type of service. Current
`
`service types include YCTVT“, Grid.
`Network and Other.
`
`Network ID
`
`Relevant
`
`for
`
`network
`
`services.
`
`Broadcast Event
`
`Relevant for a YC'l'V'““ service.
`
`Identifies
`
`(examples: ABC, NBC. DISC”)
`
`the current YCTVT“ broadcast event
`
`PICON me
`
`Name of
`
`the picture icon (PICON)
`
`assigned to the service.
`
`assigned to the service. This picon is
`
`displayed for example on the buy screen
`
`for a pay per view event.
`
`Expiration Date
`
`Expiration date of the service. Removes
`the service from the service selection
`
`list.
`
`Day Start
`
`Each service is a series of days within a
`
`Day Stop
`Time Start
`
`week. This represents the starting day.
`
`(example: Monday)
`
`Represents the last day in the interval.
`
`Within a day.
`
`the service has a time
`
`period.
`
`'I'his field represents the start of
`
`the period.
`
`1 O
`
`1 5
`
`2 0
`
`25
`
`Time Stop
`
`Represents the end of the time period.
`
`Required Tape
`
`If stored tapes are required. the number
`
`of tapes required by the service.
`
`(3)
`
`B
`
`30
`
`Broadcast program management is one focal point of
`
`the data management system. The issues of product. price.
`
`promotion and packaging are addressed at
`
`this level.
`
`Page 001050
`
`
`
`W0 “/1431
`
`PCTlUS93ll16l7
`
`2x5XQB%
`
`52
`
`Decisions in these areas will affect the actual programming
`that will be shown to the viewers.
`Information on description
`of the content of each program event. program scheduling.
`broadcast program pricing. TV/set top information flow and
`information on how broadcast programs will be mapped to
`viewer channels should be included in the database.
`
`Preferably. the EIS system described below will access this
`
`data and assist in the Broadcast Program Management.
`(4) mm
`the
`Information an internally stored programs at
`Operations Center 202 should also be maintained. This will
`allow the Operations Center 202 to assemble electronically
`stored programs. CD stored programs and program tapes. and
`ensure the quality of programs and location of programs.
`(5) Marketing fig Customer lnfgrmagon
`and important. marketing and customer
`Last.
`information should be maintained.
`In order to effectively
`manage the operations. information is constantly needed on
`market conditions.
`Information is needed on the existence of
`markets for certain programs.
`The following type of
`information must be maintained in a Marketing and Customer
`Information data base: demographic profile of viewers. viewer
`buy information: correlation of demographic information with
`buy information. information rapid restructuring of program
`mix in response to data analysis. As a subscriber uses the
`system. this viewer information or viewer log data can be
`stored and maintained in relational database. The Marketing
`Information Interface 402 gathers the marketing information
`and indexes the information for inclusion in the Marketing
`and Customer Information database. An example of the type
`of information that is needed in this data base is a viewer
`profile.
`
`5
`
`10
`
`15
`
`20
`
`25
`
`30
`
`Page 001051
`
`
`
`W0 94/1428]
`
`PCTIUS93/11617
`
`A215145s
`
`53
`
`The viewer profile data fields are an example of typical
`fields required in the databases. Definitions of various fields
`
`are listed below. The primary purpose of profiling the viewer
`
`is to acquire marketing information on the viewer's response
`
`to available selections. Ancillary information will be available
`
`including the actual program and channel selections of the
`viewer.
`
`Information tracked within the viewer's profile
`
`includes:
`
`Viewer ID
`
`A unique identifier generated by
`
`the system.
`
`Set-Top Types
`
`Boolean field which identifies the
`
`Headend ID
`
`type of set top used.
`
`Links the viewer to a particular
`cable site.
`
`Site Assigned ID
`
`Viewer ID assigned by the cable
`site.
`
`Set-Top ID
`
`Hookup Date
`
`ID of the viewer's set top.
`
`physical
`Date
`connected.
`
`hardware
`
`is
`
`Survey Date
`
`A demographic profile will be
`
`conducted on each user.
`
`The
`
`following fields
`
`represent
`
`this
`
`demographic information.
`
`data
`
`represents when
`
`The
`
`the
`
`interview survey was completed.
`
`Viewers Age 2-5
`
`Boolean field if the household has
`
`viewers between 2 and 5 years of
`
`age.
`
`Viewers Age 6-11
`
`Boolean field if the household has
`
`viewers between 6 and 11 years of
`
`age.
`
`10
`
`15
`
`20
`
`25
`
`30
`
`Page 001052
`
`
`
`WO 94/14281
`
`PCT/US93/11617
`
`2t51A5%
`
`'
`
`54
`
`Viewers Age 12-17 Boolean field if the household has
`
`Tape Rental $
`
`PPV $
`
`Income
`
`viewers between 12 and 17 years
`
`of age.
`Approivdmate amount spent on tape
`rentals on a monthly basis.
`Household average pay-pre-view
`
`expenditures per month.
`Annual household income.
`
`Self-explanatory.
`Zip Code
`Level of cable service purchased.
`Cable Tier
`Self-Explanatory.
`Number of TV‘s
`Self-Explanatory.
`Years with Cable
`Number of people in household.
`Occupancy
`Highest Education Highest level of education of any
`member of the household.
`The compilation of viewer demographic information has
`an impact on decisions based on marketing. The names of
`the heads of household are not used due to Privacy Act
`considerations. Completion of demographic data can be
`accomplished referencing the cable site assigned ID or the
`system generated ID. There are numerous variations to the
`field definitions listed above such as difierent age groupings.
`To maintain the database at the Operations Center 202.
`a data base server. communications server. user work station
`or stations 262. or the suitable equivalent
`thereof. are
`needed.
`The database server performs the following
`functions:
`it is the repository for data base files, event
`logging. event scheduling (example. automated download of
`files to headends 208). multi-user services, data base server
`services. and data base security access.
`The communications server performs the following
`functions on data base data:
`integrity check.
`filtering.
`
`5
`
`10
`
`1 5
`
`20
`
`25
`
`30
`
`Page 001053
`
`
`
`W0 94/14281
`
`PCTIUS93/11617
`
`_2151458
`
`55
`
`5
`
`processing. downloading to headends 208. uploading from
`headends 208. and uploading from remote location.
`
`User work stations 262 perform the following tasks:
`creation. deletion and access of all database data. system
`administration and report generation. Database manipulations
`are performed through the user workstations or remotely.
`The database structure is designed to support multiple users
`performing multiple tasks simultaneously. The preferred
`embodiment includes a network of user workstations 262.
`
`10
`
`The workstations 262,
`
`through user interface software,
`
`15
`
`20
`
`access data within database files on the database server.
`
`For example. once the appropriate database data has
`
`been generated for downloading to a cable headend 208. the
`
`communications
`server
`is
`instructed to perform the
`download. Although this may be done manually at the
`communications
`server.
`it
`is preferred that
`the
`
`communications server automatically send information to the
`
`cable headends 208. The communications server retrieves
`
`required data from the database server. filters out any data
`not associated with the specified headend 208. and perfonns
`data integrity checks. creates data files to be downloaded and
`
`then downloads the data file via modem (or other means such
`
`as the DCPU 270). While the communication server is
`
`connected with the headend 208, it also requests any data
`
`25
`
`that the headend might be holding for the Operations Center
`
`log
`202. This may consist of cable headend 208 event
`information. set top billing and viewer log data on programs
`watched. etc.
`
`The communications server may also assist in retrieving
`information from other remote sites such as remote billing
`
`30
`
`and statistic sites. For example. if a location is being used for
`
`billing purposes.
`
`the communications server may retrieve
`
`Page 001054
`
`
`
`W0 94/14281
`
`PCT/US93/11617
`
`2i5ii58
`
`56
`
`viewer log data. Also.
`
`the communications server may
`
`retrieve billing and viewer log data from actual set
`
`top
`
`converters in the field. Once the data is retrieved it is sent to
`
`the database server. Thus. in the preferred embodiment the
`
`5
`
`communications server will support incoming information via
`modem or otherwise.
`
`The basic database structure at the Operations Center
`
`202 consists of multiple tables. Database data tables contain
`
`one or more data records. each with multiple fields. Each
`
`10
`
`field contains a piece of data about the particular record. This
`
`data may be general information. such as a numeric value.
`
`date or text string. or it may be a reference to another
`
`database record relating one piece of data to another.
`Database index files contain information about associated data
`
`15
`
`files to allow for improved data retrieval. The database index
`
`file makes retrieval of information much quicker.
`
`In an alternative embodiment where some television
`
`programming begins with the procurement of source material
`
`in the form of tapes or CDs. additional data about the tapes or
`CDs may be stored in the Operations Center database. Each
`
`20
`
`tape or CD may have a database record associated with it.
`
`source tape data file. Each tape may contain multiple cuts of
`
`which each cut has an associated record in a source tape
`detailed data file. Additionally, a company data file may
`
`25
`
`contain individual records for the rights of the holders of the
`
`source tapes as well as company information about cable
`
`headends 208.
`
`In this alternative embodiment with tapes.
`
`programs may be created from multiple tapes using multiple
`
`tape source cuts. The programs created by these source cuts
`
`30
`
`may be stored and the individual cuts that make up the
`
`programs may be stored in a database record called ‘program
`
`tape detail.“ Events may be created that consist of more than
`
`Page 001055
`
`
`
`W0 94/1428!
`
`PCTlUS93/1 161 7
`
`_2151458
`
`57
`
`one program and details on individual programs that make up
`these events may be stored in a database file called ‘event
`
`detail.‘ Using this embodiment. events may be sold to
`subscribers.
`
`Figure 10 and the description below is a more complete
`
`example of a database structure that can be used with the
`
`present invention. Each database file is listed below along
`
`with a description, record field details and explanation of
`
`relationships. The software data structures are defined after
`
`the description of the database structure.
`
`The SCHEDULE Database file 501 contains scheduling
`
`data for a single day. There are many schedule files. one for
`
`each day of schedule information. The actual filename for a
`
`given days schedule is assigned under computer control.
`
`Schedules are broken up into single days so they may be easily
`
`created. dispatched and archived. A cross-reference of days
`
`to computer generated filenames is kept. Each scheduled
`
`event (either a program or a preview) has its own record
`
`entry and unique schedule ID This record references the
`
`corresponding scheduled program or preview and program
`
`type (either program or preview]. The service to carry the
`
`scheduled program is also referenced. The starting date and
`
`time is also specified.
`
`Program duration is stored as a
`
`program attribute and is not
`
`included here.
`
`Note that
`
`program. preview and service records must be provisioned
`
`before they may be referenced in a schedule record.
`
`Another SCHEDULE Database file 500 contains a cross-
`
`reference of starting dates data to computer generated
`filenames.
`
`The PROGRAM Database file 502 contains Program
`records are contained in another database file 502.