WO1997024874A1 - Method and system for managing a pay-per-view scheduling database - Google Patents

Method and system for managing a pay-per-view scheduling database Download PDF

Info

Publication number
WO1997024874A1
WO1997024874A1 PCT/US1996/020131 US9620131W WO9724874A1 WO 1997024874 A1 WO1997024874 A1 WO 1997024874A1 US 9620131 W US9620131 W US 9620131W WO 9724874 A1 WO9724874 A1 WO 9724874A1
Authority
WO
WIPO (PCT)
Prior art keywords
event
schedule
business unit
events
ppv
Prior art date
Application number
PCT/US1996/020131
Other languages
French (fr)
Inventor
Peter J. Brenner
Dallas Cox
Sada Narayanappa
Original Assignee
Tele-Communications, Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tele-Communications, Inc. filed Critical Tele-Communications, Inc.
Priority to AU14642/97A priority Critical patent/AU1464297A/en
Publication of WO1997024874A1 publication Critical patent/WO1997024874A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/162Authorising the user terminal, e.g. by paying; Registering the use of a subscription channel, e.g. billing
    • H04N7/165Centralised control of user terminal ; Registering at central

Definitions

  • the present invention relates generally to a system and method for database management
  • Pay-Per-View programming is available on most cable systems Unlike ongoing programming services or packages, PPV is typically offered as events which last for a pre-defined duration. PPV events are products that a cable system offers to its customers, but PPV events originate from third party PPV vendors The PPV vendors schedule events, publish the schedule typically on a monthly basis, and make the programming available to the cable systems.
  • the cable systems must in turn allow their customers to order the PPV events through their order processing, authorize the customer for viewing of the event, and deliver the event to the authorized viewers
  • the process by which the PPV vendors schedules are obtained from the vendor, loaded, made available for order processing, and programmed into a cable systems controller is called the Pay-Per-View Automated Load (PAL)
  • PAL Pay-Per-View Automated Load
  • "Automated” is a misnomer in this process
  • the PPV vendors create the PPV event schedules on their computers and send the schedules to a scheduler's computer
  • the scheduler is in essence a middle man relative to the Pay-Per-View vendors and the cable operators
  • the scheduler's computer receives and checks the PPV event schedules.
  • the authorization center of the cable operator has a computer that obtains the PPV event schedules as computer stored files from the scheduler's computer and loads it into the memory ofthe authorization center computer
  • the schedules are checked and massaged into the necessary format for use in the cable operator's computers
  • controller event numbers are applied to the files
  • the files are sent back to the scheduler's computer.
  • PPV block events are created.
  • Tapes of the schedule files are created.
  • the schedule tapes are then loaded on another set of computers located at the scheduler and the cable operator's data centers.
  • the cable operators load the schedules to their billing databases and to the controllers (typically another computer) servicing the customers. These computers keep track ofthe events ordered and provided to customers. Accordingly, billing databases are also maintained and updated on these computers (see Figure 1).
  • the current process is the result ofthe evolution of cable operator and scheduler needs. Because the evolution of this process was incremental, and because the cable operator relies on the scheduler as the focal point for the vendor schedules, there are three significant disadvantages with the process. Each of these represents a large real time commitment from individuals involved with the PAL process.
  • the first is incremental checking of the data. After each transfer of the data, it is checked for errors and sometimes massaged. In most cases, the checks that are performed are time consuming, inefficient and redundant. The checks were established to ensure that each previous manipulator of the data has sent a set of data with integrity. The current data flow was dictated by the scheduler and is a result of efforts to compensate for errors that occurred during the early implementation ofthe process.
  • the process lacks the ability to accommodate changes to the schedule electronically. Schedule changes are not accommodated in the current data flow. Once the schedule has been loaded by a cable system, there is no process available to perform any changes. Any changes require that each individual cable system, typically at a business unit level (the lowest level of the cable system), manually massages its own data.
  • each cable system contains parameters used to load information to the individual system events and billing databases. There is no centralized function to do the load for the systems. Each system performs its own individualized load.
  • a database system useful for generating pay-per-view event schedules for use in a cable television system comprises: a vendor schedule loader, a master event schedule and update generator, a business unit schedule generator and a controller event schedule generator.
  • the loader receives and stores pay-per-view vendor's schedules and update notifications.
  • the master event schedule and update generator is in communication with the loader receives the pay-per-view schedules and generates and stores a master event schedule. If an update notification is also received, it updates the master event schedule.
  • the business unit schedule generator is in communication with the master event schedule and update generator and generates and stores a business unit schedule. It also updates the business unit schedule if the update notification is present.
  • the controller event schedule generator is in communication with the business unit schedule generator and generates and stores a controller event schedule.
  • a method for managing a database system which is useful for generating pay-per-view event schedules for use in a cable television system comprises the steps of loading vendor schedule files and storing them in a first memory of a host computer; generating a master event schedule from the stored vendor schedules and storing the master event schedules in a database storage means; generating a business unit schedule from the stored master event schedule and storing it in a second memory of a business unit computer; and generating a controller event schedule from the stored business unit schedule and storing the controller event schedule in a third memory of a controller computer. If the vendor's schedule includes an update notification, and the step generating the master event schedule updates and stores the master event schedule and the step of generating the business unit schedule updates and stores the business unit schedule
  • FIG. 1 Scheduling flow chart according to present invention
  • Figure 3 ALPS system interface diagram
  • FIG. 10 ALPS File Load Tab Window computer screen display Figure 11 ALPS MES Load Tab Window computer screen display Figure 12 ALPS MES Timeline Tab Window computer screen display Figure 13 ALPS MES Listing Tab Window computer screen display.
  • Figure 14 ALPS Change Business Unit Window computer screen display Figure 15 ALPS Business Unit Information Window computer screen display Figure 16 ALPS BU Schd Defn Tab Window computer screen display Figure 17 ALPS Business Unit Schedules Window computer screen display Figure 18 ALPS BU Schedules Listing Tab Window computer screen display Figure 19 ALPS BU Schedules ARU File Tab Window computer screen display Figure 20 ALPS Controller Schedule Window computer screen display Figure 21 ALPS Controller Schedule Ctrl Events Tab Window computer screen display
  • the Automatic Loader for Pay-Per-View Services (ALPS) system and method ofthe present invention is an automated database management system and method and is typically an integrated part of the cable operator's subscriber management system (SMS). SMS via ALPS will be the focal point for gathering and distributing the PPV vendor schedules to the cable systems.
  • Figure 2 represents the flow for the ALPS process according to the present invention All processes represented in SMS are performed automatically
  • the PPV vendors still create the PPV event schedules for events that they provide. However, since the system ofthe present invention can accommodate changes in such schedules, the PPV vendors can update their schedules and identify changes
  • the event schedules can either be sent directly to the cable operator's computer system electronically, for example, via a modem or a bulletin board service, or by using a magnetic storage medium, such as a diskette, CD-ROM, tape, etc
  • the system performs a one-time check ofthe vendor data for integrity.
  • the system may then optionally create PPV block events and incorporate them into the schedules This combined information is then loaded to the system's database stored in the memory ofthe cable operator's computer.
  • the ALPS system takes the PPV Network Vendor Schedules each month and loads them into the SMS. Additionally, the ALPS system can generate or load the Controller Authorization Codes used to order and deliver PPV services.
  • the ALPS system differs in several respects from the above- described prior art system, particularly in regard to schedule information content, additional schedule generation capability and schedule updates and alternatives
  • the schedules generated according to the present invention are augmented with much more information than in the past. For example, each event is now being delivered with language, sexual and violence content advisories; theatrical, video and PPV premier dates; box office gross amounts, and more Additional information also includes the capability for movies with several language tracks Events can now be given alternatives if for any reason an event is questionable for a specific showing (i.e. title fight). If an event is cancelled, an update from the PPV vendor with a replacement event identified can be surgically implemented without regenerating the entire master event schedule Specific events can also be marked as macro vision capable or closed captioned capable
  • the ALPS system allows users to define additional PPV network schedules beyond the ones received from PPV vendors This capability is mainly used to sell services to subscribers in a time block fashion For instance, the
  • PLAYBOY network sends it November schedule containing all the movies that will be shown during the month to SMS to be loaded
  • the schedule that is loaded is event oriented, meaning it can only be sold "by the movie " Through the ALPS
  • Event stream generation capability PPV programming mangers can now automatically define additional schedules that are time block oriented— sold by time rather than specific movie Traditionally, this capability could only be offered through a laborious manually entered interface
  • Automatic ALPS processing can recognize these schedule updates and ensure that the data is changed and proper notifications sent to all cable systems which may be affected Additionally, the ALPS schedule interface provides a mechanism to define alternatives to events that may or may not happen at a specified time— these are generally "live” events like title fights The alternate events automatically kick in when a cancellation is received
  • ALPS is a streamlined and efficient system and process that acts as a single point of entry for PPV vendor schedules into SMS
  • the ALPS system accomplishes more for the SMS and requires less movement and checking of data
  • Utilizing a controlled point of focus for gathering the PPV vendor schedule information also provides distinct advantages over the prior art system 1
  • Single direction data flow Vendor data moves in a single direction toward SMS This allows for a much simpler and efficient process flow 2.
  • the ALPS system has two defined interfaces.
  • the first interface is an external interface between the ALPS system and the outside vendors. This interface is used by the vendors to send their monthly programming schedules to ALPS.
  • the second interface is an intra-SMS interface between ALPS and the addressability subsystem. This interface is used to send the actual controller event schedules to a specific Business Unit's controller.
  • the ALPS system architecture is shown in Figure 4 There are four distinct subsystems identified for the ALPS system: the Vendor Schedule Loader, the Master Event Schedule and Update Generator, the Business Unit Schedule Generator, and the Controller Event Schedule Generator.
  • the Master Event Schedule contains scheduling information for all PPV networks with which the cable operator has an affiliation.
  • the Business Unit Schedule contains the PPV scheduling information for only those PPV Networks that the particular Business Unit is providing to its subscribers— this schedule requires the Master Event Schedule.
  • Event Schedule contains the authorization codes which are used to activate PPV event orders placed by subscribers—this schedule requires a Business Unit Schedule.
  • each ofthe four processes above coincide directly with the steps which need to be performed
  • each ofthe above steps are performed at least once a month to keep the vendor schedules up to date
  • ALPS has two intended users a corporate user and a business unit user.
  • the corporate user is responsible for loading the schedules, updating the Master Event Schedule and loading controller codes
  • the business unit user is responsible for creating a Business Unit Schedule and generating the local controller codes.
  • the ALPS system is provided with, preferably monthly, schedules from various PPV Network distributors (for example, REISS Media, Graff, National Digital Television Center (NDTC), etc )
  • the schedules are provided to ALPS through various media including diskette, electronic mail and any other valid file transfer protocol (FTP).
  • FTP file transfer protocol
  • the schedules supplied by the PPV vendors preferably conform to a particular format to minimize the complexity ofthe system
  • These files contain vendor information, product information and schedule event information Specific information preferably included in the foregoing is listed below VENDOR SCHEDULE FILE FORMAT
  • Vendor Schedule File An example of a Vendor Schedule File is as follows:
  • the Vendor Schedule Loader process is responsible for determining when a vendor schedule has been deposited onto a designated host computer A specific directory will be designated as the area in which each vendor will send its schedules
  • the Vendor Schedule Loader has a polling interval (i e once per day, twice a day) that will be used to detect new vendor schedules that have been placed in their specified directory Once a new schedule is detected, it will be read in and processed All check sums will be done at this time to ensure the integrity ofthe file that was sent If any discrepancies have been uncovered, an error message will be displayed to the user indicating the specific problem that has occurred within the file
  • each vendor schedule is placed in a temporary storage location in the designated host computer, sort of a "holding tank,” to be added to the Master Event Schedule at a later point in time
  • Immediate processing of incoming vendor schedules allows the cable operator to determine whether or not there are any non-recoverable errors with the file that was sent so that corrective measures to fix the problems may be taken promptly
  • this holding area is a collection of relational database tables where each PPV vendor's schedule(s) resides until it is later processed into the Master Event Schedule
  • the rationale behind putting the schedule files into relational database tables is that it would be easier in the future to derive useful statistics in this format rather than the flat file format. If such is not a consideration, the flat file format may also be used.
  • MES Master Event Schedule
  • the Event Stream events can either be associated directly with a particular network event, such as a movie or special program, or may be associated with a block of time only, meaning these events are not directly associated with a given network event, but rather with all network events that are within the start and end time ofthe time block. Furthermore, the start and end of these time block events may not necessarily coincide with the start and end ofthe network events that overlap them in time.
  • the creation of the Master Event Schedule is performed in two steps. First, all ofthe vendor schedules that are in the "holding tank” are merged together to form the initial Master Event Schedule. Then, any additional ALPS defined Event Streams that are associated with a specific vendor network are created and added to the Master Event Schedule. These ALPS defined event streams are composed entirely of time block type events only. Please note that since the ALPS system is herein discussed in terms of being incorporated in SMS, the ALPS database and ALPS tables and files are also considered part ofthe SMS database and SMS tables and files. To that extent, the terms may be interchanged herein.
  • Event Streams that are created within ALPS are done so from a predefined configuration which is maintained in the ALPS database. These configurations define the structure for an event stream over a 24-hour period of time.
  • the following table shows an example ofthe definition of an event stream which will produce 4-hour time blocks associated with the Request 1 Network. TABLE 1. Event Stream Definition - Fixed Blocks
  • the time period over which these blocks are generated is determined by the current time period ofthe Master Event Schedule which is being generated.
  • the previous example also showed why the predefined event streams within PAL can only be composed of time block type events. Since the start time in the configuration is not associated with a specific date, there is no way to produce an event stream that is tied to any particular network event that may be showing at random times during a programming month. Excluding the start date helps to facilitate the automatic generation of event streams within PAL, thus providing a cleaner user interface which can be more easily maintained.
  • a schedule update is received by the Vendor Schedule Loader, a notification is immediately sent to this process so that any changes can be reflected in the Master Event Schedule.
  • the schedule update is moved from the "holding tank" to the Master Event Schedule.
  • Schedule updates contain cancellations and/or additions to a network programming schedule. Any cancelled events are so marked and their alternative events are now activated. These alternative events were either defined in a previous schedule load or are directly sent in the schedule update. All event streams associated with the network that the change affects are regenerated and the Update Notification is passed along to the Business Unit Schedule Generator.
  • the Business Unit Schedule Generator is responsible for generating the appropriate schedule for a specific Channel Lineup Service Area (CLSA).
  • CLSA Channel Lineup Service Area
  • Each Business Unit has a unique Controller associated with it, but a particular Controller may serve multiple Business Units.
  • Figure 5 shows the relationship between the equipment that is used within the context of a Business Unit-it also defines what a Business Unit is in the context ofthe ALPS system.
  • a Business Unit is the lowest level entity for which a unique programming schedule may be associated with.
  • the schedule that will be generated is dependent upon the Business Unit's schedule definition. This definition will be used to determine exactly what event streams a given Business Unit is interested in downloading to their associated Controller.
  • Each Business Unit must have a schedule definition predefined within the ALPS database before any schedule generation may be performed. This definition specifies which Event Streams a particular Business Unit is interested in downloading to their associated controller.
  • the following table shows an example of a Business Unit schedule definition.
  • REQUEST 1, REQUEST2, PB 4HRBLOCK and SPICE_MOVIE event streams which are associated with the REQUEST 1, REQUEST2, PLAYBOY and SPICE networks respectively. Notice that most ofthe entries have a "*" in their start and end date/time fields This is the nominal setting and indicates that the schedule generated for this Business Unit should cover the current Master Event Schedule time period If the start and end date/time fields are filled in, then the event stream generated for the schedule is limited to that time period A Business Unit could use this to test a particular network for a period of time before committing to it in its regular schedule lineup
  • the Business Unit Schedule Generator process is also responsible for determining the pricing scheme that will be used for the events within a Business Unit's programming schedule
  • a Business Unit has the option of either going with the default pricing scheme for events or overriding these and providing their own specific pricing scheme.
  • an Audio Response Unit (ARU) file can be generated for the ARU Vendors like Telecorp
  • the file contains PPV event information in the format used or required by the ARU Vendor
  • the file provides a business link for the ARU Vendor to support customer phone-in requests for PPV events
  • a Controller Event Schedule can be generated.
  • There are two ways to generate the Controller Event Schedule and thus the authorization codes contained therein One way is to load the schedule from a file This is done in the case ofthe Controller Event Schedule file which is received each month from TAC This file contains the authorization codes used by TAC for each PPV event When loading this file in, ALPS attempts to match each PPV event's authorization code with a known event in the Master Event Schedule— it is an error to have a code with no corresponding event. This method is used by the corporate user to load the TAC Controller Schedule into SMS so that it can be used by those Business Units which rely on the TAC for their authorization center.
  • the second way to generate the Controller Event Schedule is to build it based on some predefined controller parameters.
  • the schedule is generated over a given period of time. Events that are in the schedule are taken in time order and given the next authorization code in sequence. This method is used by those Business Units which maintain their own local controllers).
  • the controller codes are used by the addressability system to authorize the converter set-tops.
  • the Controller Event Generator is responsible for generating and managing the controller events that are associated with a specific Business Unit's schedule. This process takes into account the characteristics for the Controller associated with each Business Unit. It also takes into account the Channel Lineup for a given Business Unit, which is the PPV networks in the product line of the Business Unit. This information, along with the Business Unit's schedule, is used to send controller commands to the Addressability subsystem to download the Controller Event Schedule to a given Business Unit's controller.
  • Figure 6 shows the relationship between a Business Unit and its associated Controller. The event scheduling process is performed for controllers that are capable of automatic programming.
  • a given Business Unit has one and only one controller associated with it.
  • a given controUer may have more than one Business Unit that it is responsible for. Careful consideration must be taken into account when determining the event codes for a controller which has more than one Business Unit associated with it—event codes must be unique for all events on a given controller.
  • Event codes must be unique for all events on a given controller.
  • the Controller Event Generator keeps track of all ofthe Business Unit Schedule Event Streams associated with the same controller. Since some controllers can only be loaded with a limited set of PPV events at any given time, each controller has an event timer associated with it. This timer signifies the earliest time that the controller may be given a new batch of events.
  • Controller Event Generator deletes all completed events firom the controUer, determines the next batch of events to send, assigns event codes to each of those events, and then sends the next batch. Lastly, the event timer is reset to the next earliest time to load.
  • the event codes that are associated with the events in a given Business Unit's schedule must be unique across all the Business Unit schedules that are to be downloaded to the same controller.
  • the following table shows the information necessary to determine the correct event codes to send to a given controller.
  • each controller may have more than one Business Unit
  • the event code to assign to a particular event within the Event Stream of a given Business Unit Schedule is determined by the next available event code for the controller that is associated with that Business Unit.
  • the Update Notification that is received by this process identifies all ofthe Business Units that are affected by the update. There are two situations that can occur from the update. The first, and the nominal case, is that the change that was made by the update affects events that have not yet been assigned a controller event code. In this case, nothing further needs to be done since the update will be picked up when the Controller Event Generator gets to them. The second situation that can occur is that the change that was made by the update affects events that have already had a controUer event code assigned to them. There are two possible ways to handle this situation.
  • the event codes are regenerated for all pending events for the controller associated with the affected Business Units
  • the other way to handle this is to try and perform some kind of event code swapping for the event codes that are not being used anymore This kind of processing could get tricky and is therefore not a recommended way to handle an update
  • the ALPS process which is described herein in terms of Pay-Per-
  • Pay-Per View (PPV) Form of pay-TV where the subscriber pays a fee for each pay-TV program watched
  • PSV Pay-Per View
  • Pay-Per-View Event A pay-per-view programming unit that a customer may order, view and be billed for All pay-per-view events have two attributes in common a start time and a duration Examples
  • Event Stream - a sequence of events for a given PPV network
  • the sequence is usually continuous and is used for scheduling by a cable system
  • Pay-Per-View Vendor/Distributor - The company or business entity that provides the PPV programming Examples:
  • Pay-Per-View Network An identifier ofthe PPV event sequence on a particular broadcast frequency.
  • a PPV vendor may have multiple "networks.” Examples:
  • Standard Duration The actual running time of an event.
  • TAC The authorization computer where addressable devices may be authorized and digital cable signals are originated.
  • MES Master Event Schedule
  • Time Block Product A product that refers to a block of PPV viewing time.
  • the time block product is not specific to a particular movie or event. It is a biUable orderable product that is related only to the time span for which it was purchased.
  • Business Unit The cable system level that actually has the ability to access and program a controller.
  • Controller - A computer system that controls and manages a set of converter boxes. Also known as a controller computer.
  • the ALPS system is divided into a User Interface Application
  • APS GUI APS GUI
  • MES Master Event Schedule
  • BUS Business Unit Schedule
  • An ARU/ ANI File Generator may also be inco ⁇ orated.
  • the ALPS GUI application is the graphical user interface application which is used to perform the main tasks, for example, computer screen displays. This application is dependent upon the processing engines in order to accomplish the main tasks within the ALPS system. This requires the engine to be running at the time that the particular function is initiated by the ALPS GUI application. In the Process Outline following this section, reference is made to screens and windows which part of the ALPS GUI application.
  • a fifth open server called the Authorization Code Cleaner works independently of the ALPS GUI and will be discussed later.
  • Each open server logs its history to a log file.
  • the log file is ASCII text readable to any text editor.
  • the ALPS Loader open server is responsible for loading the schedule files into the temporary holding area, thus making them available to be loaded into the Master Event Schedule.
  • the GUI makes a request to load a schedule file, it provides the open server with the ID ofthe distributor and the file name (including the directory location).
  • the ALPS Gen MES open server is responsible for generating the Master Event Schedule.
  • the GUI makes a request to generate the MES, it provides the open server with the transaction ID of a PPV file load and the distributor ID
  • the ALPS Gen BU open server is responsible for generating a
  • the ALPS Gen CTRL open server is responsible for creating the controUer authorization schedule
  • the open server can generate the schedule in two ways First, it can perform an automatic generation of the controller schedule This is done based on predefined controller parameters Second, it can load authorizations from an SMS PPV Schedule file, this is done in the case of a TAC schedule
  • the ALPS AUTH Cleaner open server is responsible for cleaning out the controUer authorization tables for past events and updating the status ofthe events defined in the Business Unit schedule tables to reflect the current state ofthe events PROCESS OUTLINE
  • the vendors use a file transfer utility from their local computer to the designated host computer 1.2
  • the event schedules from the PPV vendors are checked for integrity and accuracy.
  • the event schedules must always be checked programmatically before they are available for loading. 1.3
  • the event schedules from the PPV vendors are loaded to SMS.
  • PPV event schedules are created by SMS and loaded into the SMS database for some PPV services. These are normally time blocks.
  • the Authorization Center deposits their PPV event schedules on a designated host computer.
  • TAC PPV event schedules come in the same format as the events that originate from an outside vendor except they also contain the TAC controller event ID.
  • the event schedules from the Authorization Center are checked for integrity and accuracy. The event schedules must always be checked programmatically before they are loaded.
  • the event schedules from the Authorization Center are loaded to SMS. - The process adds only new products or events. The products and events that already exist are not reentered. A common identifier for the product ID is used to determine if the product is new or already exists in the SMS. If the common identifier exists in the product table, the product already exists. - There are parameters that define how each ofthe following are created.
  • the TAC controUer event numbers are loaded.
  • the TAC controller event is present on the file received from TAC.
  • the event ID that is associated with the particular event is also transferred to the SMS database. 4.
  • schedules are loaded to the business unit schedule level.
  • TAC systems already have the appropriate TAC controller event ID. They do not perform this step in the process.
  • Some business units have their controller events assigned and programmed automatically.
  • Some business units require a user request to assign and program their controller. - There are parameters that determine which Business Units are automatic loads, and the sequences for the controller. For a given Business Unit: 5.1 Updated Completed Events.
  • the business unit is sent a notification that summarizes the processing that has taken place
  • Subprocesses 1 - 4 encompass 7 major points
  • Subprocesses 1 - 3 are mutually exclusive and may be performed independently
  • Each ALPS subprocess is sequential, that is, each step in the process must be completed successfully before the next step can be performed
  • User interfaces and processes described herein may be used and performed by personnel at an administrative level
  • the personnel wiU be capable of evaluating the process at each step to determine successful completion or to take appropriate steps to correct problems If the process is running automatically, reports and notifications allow the personnel to evaluate the process and make those decisions
  • Subprocess 4 is performed to load the network event schedules to the Business Unit schedules.
  • Subprocess 5 (the controller event scheduling process) is the next step in the ALPS process. This process does not, however, have to be performed at the time ofthe schedule reception. In fact, depending on the characteristics of the business unit controller, it may not be possible to program the controller at the time of receipt of a PPV schedule. It may also be true that a specific business unit must perform this process continually to ensure that its controller is as up to date as possible with the available PPV events for that particular business unit See example below Example:
  • Business unit X has a controller with a capacity for 6 PPV events. Currently, all 6 events are programmed for the controller. The process will be performed, but no PPV events will be loaded because the controller is programmed to capacity. The process must be performed later when a controller event becomes available for programming.
  • this process does not have to be performed at the time that a schedule file is received. While this is true, it is also true that it would not make good business sense to wait to run this process. It is important to understand that this process should be performed at appropriate times as determined by the characteristics of the business unit controller, the characteristics of the business unit's cable system configuration, and the abilities ofthe individuals who are responsible for maintaining the PPV events at the business unit level. Subprocess 5 is independent, but it should be scheduled appropriately Considerations for such scheduling are discussed later herein.
  • AU times should be corrected to the local time for programming of the controller. For example, if all times in SMS are stored as mountain time, then the appropriate correction factor will be used to adjust to the business unit controller local time SubProcess 1 - Obtain PPV event schedule from PPV vendor, load to Master Event Schedule.
  • PPV vendor One of three possible origins for PPV event schedules is the PPV vendor. This subprocess details the acquisition ofthe vendor PPV event schedules through their load to business unit event schedules in the SMS.
  • SubProcess 1.1 - PPV event schedules deposited by a PPV vendor are ASCII files that contain information that detail all PPV events originating from that vendor.
  • the vendors are provided with a directory structure to use for schedule file deposit.
  • the process of depositing a schedule file does not require a PPV vendor to log into the SMS system. It does require the PPV vendor to establish a connection with a designated host computer, log onto this computer and then copy files onto it. Accordingly, each PPV vendor will be associated with a designated host computer, a log in ID and unique vendor ED. These IDs also serve a security function in allowing access only to appropriate files and directories.
  • the file naming convention will identify the vendor and version ofthe schedule file. Any suitable file transfer utility software that is appropriate for the PPV vendor and host computer hardware, for example, that aUows for remote dial in and schedule file deposit, may be used.
  • PPV vendors may broadcast more that one 'channel'. If a PPV vendor broadcasts more than one 'channel', aU scheduled events for all broadcast 'channels' originating from that vendor are included in the file. For example, Request TV broadcasts 5 different 'channels' or 'networks'. All events for Request 1 - Request 5 are contained in the same schedule file(s). SubProcess 1.2 - Verily integrity and accuracy of files sent from PPV vendors to ALPS System.
  • the ASCII schedule files provided by the PPV vendor are loaded onto database tables for processing.
  • the database tables containing the information from the files sent from the PPV vendors must be checked for integrity and accuracy before an attempt is made to load the information into the SMS database.
  • Each schedule file sent by the PPV vendors should be accompanied by a title file that contains additional information about the events that are contained in the schedule file.
  • Each title file and schedule file contain a header record and detail records. Title file contents:
  • Header Record - contains information that will be used for identification and integrity verification ofthe title file and associated schedule file This header record is identical to the associated schedule file header record. Data elements: Vendor Transmittal ID - Vendors Unique Identifier for this transmission.
  • Vendor Identification Code SMS internal identifier code for PPV vendor that is sending the file.
  • Transmittal Range beginning date and time Transmittal Range end date and time Detail Record - Contains information pertaining to individual vendor products that are present in the schedule file. Data elements: Vendor Product Unique Identifier - A unique identifier for the product from this vendor. If this product is scheduled for broadcast over more than one programming month, the same unique identifier should be used for the same product during both of those months.
  • Vendor Product Unique Identifier - A unique identifier for the product from this vendor. If this product is scheduled for broadcast over more than one programming month, the same unique identifier should be used for the same product during both of those months.
  • Product Long Name - A long descriptive name ofthe product.
  • Product Standard Duration The standard duration in minutes of this product.
  • Event Type - Adult, Movie, Event Schedule file contents Header Record - contains information that will be used for identification and integrity verification ofthe schedule file and associated title file This header record is identical to the associated title file header record.
  • Cancellation Indicator An indicator that this event has been cancelled.
  • the cancellation indicator will never be present in a primary schedule file. In an update file the cancelled event may be followed by the replacement events.
  • Alternate Indicator Indicates that the event is not a primary event.
  • the event is an alternate event for a special event.
  • Event Has Alternates Indicator Indicates that the event has alternates.
  • a special event typically has alternates. If the special event is cancelled, the alternates will be broadcast instead.
  • Vendor Network Identifier The vendor network that the event will be broadcast on.
  • Event Stream Identifier This field is used to identify the event stream that the event belongs to.
  • Vendor Product Unique Identifier A unique identifier for the product from this vendor. If this product is scheduled for broadcast over more than one programming month, the same unique identifier should be used for the same product during both of those months. Scheduled start date and time.
  • Event Duration The time duration of this event, preferably in minutes. Event is alternate for:
  • Vendor Network ID Vendor Product Unique ID
  • Controller Event ID If this file originates from the cable operator's authorization center, this field contains an assigned controller event ID.
  • Number of occurrences of each product in schedule file should equal total occurrence count in title file detail records. - All beginning date and times fall within the range of this programming months beginning date and time and ending date and time.
  • a report is produced and stored electronically.
  • a notification is issued to an administrator indicating the load failure
  • the schedule file's status is updated to 'rejected, errors found'.
  • subprocess 1.3 i.e., processed and loaded into the SMS tables.
  • the function of the user interface is to provide administrative personnel the ability to perform visual checks and verifications on schedule files that have been received from the PPV vendors.
  • the visual checks and verifications do not replace the programmatic checks that must be performed on the scheduled files.
  • the programmatic checks are the only processes capable of changing the status ofthe schedule files to permit the load into the SMS tables.
  • the schedule file analysis screen allows the user to choose a schedule from all available schedule files and to analyze and report on the contents of the file. Elements of the screen:
  • Available Schedules Files List A list of schedule files and their current status. The user may choose a schedule file for analysis.
  • Turn Automatic Load On/Off Option An option that aUows the user to turn automatic loading ofthe schedule file on or off. If the automatic feature is turned on, the entire load process wUl be performed for any schedule files that are 5 received.
  • Analysis Options List A list of analysis options that the user may perform on the chosen schedule file. Available options would include: 10 - Summary totals of vendor products and event occurrences.
  • Standard title/schedule file error checks 15 - Standard product duration and variance in schedule file.
  • Report Options List A list of reports and presentation options that the user may choose to execute. Available 20 options would include:
  • This option allows the user to submit the selected schedule file to accuracy and integrity check and to load to SMS database tables.
  • a window for display ofthe analysis or report output Allows the user to view, save to a file, or print the output.
  • Associated Interface - a user interface that allows maintenance of the vendor table by defining and adding, or deleting, vendors.
  • the vendors' EDs are verified as being unique.
  • Elements include: Vendor ID - Unique identifier ofthe vendor. Vendor Name
  • Associated Interface a user interface that allows maintenance of the network table by defining and adding, or deleting, networks.
  • Network IDs are verified as being unique. Elements include: Vendor ID - Unique identifier ofthe vendor. - Pick List
  • Network ID - Unique identifier ofthe network.
  • Network Name 1.2.3 Event Stream Table
  • Associated Interface a user interface that allows maintenance of the event streams by defining and adding, or deleting, event streams.
  • Event stream EDs are also verified as being unique. In a defined event stream, events are verified as not overlapping and that defined event streams each fill a 24-hour period. Elements include: Vendor ID - Unique identifier ofthe vendor. - Pick List Network ED - Unique identifier ofthe network. - Pick List
  • Event Stream Indicator indicates where stream originates. Number of events in the stream for a 24 hour period. - Valid for
  • this event stream may be automatically generated by the system.
  • This indicator determines the streams used in Subprocess 2.
  • Associated Interface - a user interface that maintains the storage directories and file names for each PPV vendor Elements include
  • Subprocess 1.3 also uses an event stream table which contains valid event stream entries as in 1 2 3 above
  • the load program processes the schedule files and loads the information from the fields of the files into the SMS database tables
  • the events in the MES that were created or affected during this load are stamped with a Load Process Identifier
  • the load process identifier allows future tasks in the subprocess or other subprocesses to identify the master events that are to be processed.
  • update schedule file contains a cancellation for a primary event.
  • the process updates the primary event to a canceUed status.
  • the detected errors are logged.
  • a report is produced and stored electronically.
  • a notification is issued to an administrator indicating the load failure.
  • the schedule file's status is updated to 'rejected, errors found'
  • SMS software This subprocess details the creation ofthe PPV event schedules through their load to business unit event schedules This subprocess also uses an event stream table containing valid event stream entries like in 1 2.3 above SubProcess 2.1 - PPV event schedule created by SMS, load to Master Event Schedule.
  • PPV schedules that are created within SMS are for PPV time blocks Unlike other PPV events, a block of viewing time is not usually associated with a particular movie, concert, or sporting event; rather, the viewer is buying the ability to view what is being broadcast on a specific network for a given length of time.
  • the products that are available for sale in the SMS database are 'time blocks'.
  • the products associated with the time blocks are created once. They exist in the SMS product table prior to the generation ofthe PPV block events.
  • the customers invoice might contain the two line items:
  • the 'Playboy 4 hour viewing' may have contained 3 individual movies or other presentations during the viewing time.
  • the individual items that were viewed during the 4 hour block are not itemized.
  • the events in the MES that were created or affected during this load are stamped with a Load Process Identifier.
  • the load process identifier allows future tasks in the subprocess or other subprocesses to identify the master events that are to be processed.
  • the function ofthe user interface is to provide administrative personnel the ability to create the PPV time block events.
  • the user interface allows the user to perform the automatic PPV block generation and load process for a specifically defined network event stream.
  • the PPV block generation screen allows the user to choose a previously defined vendor ED/network ID/event stream.
  • the user may view the event stream definition, view last generated events that belong to this stream, and request the program to create the events and to load them to the SMS tables.
  • View event stream definition option - an option to present the Event Stream Definition Window for the chosen event stream. Available after an event stream has been chosen.
  • Last defined event for this event stream - Available after an event stream has been chosen. Shows the last defined event in this event stream. Allows the user to know where to begin the generation request.
  • Time interval for event generation A beginning date and time and ending date and time for the next event generation request.
  • Request to Generate PPV Blocks and Load to SMS Tables Option - An option to allow the user to request the system to generate the PPV blocks and to load to SMS database tables.
  • a window to view a chosen event stream definition is a window to view a chosen event stream definition.
  • SubProcess 3 - Obtain PPV event schedule from TAC, load to Master Event Schedule.
  • PPV event schedules may also originate from TAC.
  • TAC event schedules originate with PPV vendors and are processed before they are passed to SMS This subprocess details the acquisitions ofthe TAC PPV event schedules through their load to business unit event schedules in the SMS and the update ofthe MES with the TAC controller event ID. SubProcess 3.1 - Deposit of PPV event schedules from TAC
  • This process is identical to 1.1. The only difference is that the file originates from TAC.
  • the process is identical to 1.2. The only difference is that the file originates from TAC.
  • the process matches each event in the TAC file with an existing event in the Master Event Schedule.
  • the Network, start time, end time and product name are used to find the match in the Master Event Schedule.
  • a controller event schedule is generated for the TAC controller with the controller event IDs found in the file.
  • the controller event EDs are linked to the events in the Master Event Schedule.
  • the MES is updated with the TAC event IDs that are present on the schedule file.
  • the Check Schedule File and Load to SMS Tables Option function ofthe user interface for file check and verification passes control of the process to this function after the 3.3 process has been completed.
  • the process evaluates whether or not this is a TAC event file based on file name and content.
  • Subprocess 4 Network Event Schedules loaded to Business Unit Schedules.
  • the origin ofthe PPV event is not significant at this step ofthe process. All PPV events, regardless of their origin, are processed in the same fashion from this subprocess through the end ofthe ALPS process.
  • Subprocess 4.1 Network Event Schedules loaded to Business Unit Schedules.
  • the load program processes the events that have just been loaded or updated by the previous processes. Records are created or updated in the SMS tables:
  • update schedule file contains a cancellation for a primary event.
  • the process updates the primary event to a cancelled status.
  • the alternate events for the canceled event are updated from an alternate status to available status.
  • update schedule file contains cancellation for event with no alternates, and provides replacement events.
  • the process updates the cancelled event to cancelled status, and loads the replacement events to the tables listed in step 1.
  • the pricing for the events is derived from ALPS pricing parameters and updates the business unit pricing tables.
  • the function of the user interface is to provide administrative personnel the ability to create the PPV business unit event schedules.
  • the user interface allows the user to select a business unit and to perform the automatic load process for a specifically defined network event stream, or a selected set of events
  • Event or Event Stream Selector - A device to allow the user to select a specific event(s) or an entire event stream(s) that will be loaded for the selected business unit
  • Request to Load Event or Event Stream to Business Unit Schedule Option An option to allow the user to execute the program to load the selected event or event streams to the business unit schedule, and to perform the appropriate pricing for the scheduled events 4.1 SMS Parameters
  • a product set up through SMS may be priced at the corporate level down to a business unit level
  • the ALPS process builds product pricing records at the business unit level To accomplish this, the ALPS pricing table contains default information for building the business unit pricing information
  • the business unit ED is verified as being valid for the respective table being used
  • Business Unit Channel Indicator Indicates which channel that this network is broadcast on for this particular network.
  • Event Stream Indicator A valid event stream indicator for the PPV network that is broadcast on this business unit's channel.
  • the business unit ID is verified as valid for the respective table.
  • Associated Interface - a user interface that allows maintenance of the ALPS parameters table. Elements include: Business Unit ID - Unique identifier of the business unit. - Pick List. Auto Load Indicator - Indicates if automatic loading for this business unit is requested.
  • Load Full Block Times Indicates if full block times should be loaded instead of straight duration times.
  • Subprocess 5 Assign and Program Business Unit Controller Event IDs. Update Business Unit schedule with controller event ID.
  • this process does not have to be performed immediately foUowing the load of a PPV vendor schedule load.
  • it is good business practice to perform this function after a schedule load and on a regularly scheduled basis. It is important to perform this process after a schedule load to insure that cancellations or updates are processed immediately. It is important to perform this process on a regularly scheduled basis to keep the business units controller up to date with the available PPV events.
  • Controller Event ED Capacity The total number of events that a business unit controller can hold. For large business units, for example, Jerrold, Scientific- Atlanta and Tocom, these capacities are normally in the 1000's. Some old controllers capacities are as low as 6. 2. Average Number of PPV Events per Day
  • Business unit A has a controller that has a total capacity of 8000 events. Event EDs 1-1000 are reserved for subscriptions etc. Total capacity of the controller for PPV events is 7000.
  • PPV Channel 1 averages 15 events/day.
  • PPV Channel 2 averages 10 events/day.
  • Business unit A prefers to keep 300 active controller events at any given time.
  • Business unit A is a smart business unit and plays it very safe by utilizing a two day buffer.
  • Schedule frequency for controller event ID assignment, programming and business unit schedule update is every 4 days.
  • Business unit B has a controller that has a total capacity of 300 events Event IDs 1-100 are reserved for subscriptions etc Total capacity ofthe controller for PPV events is 200
  • Business unit B prefers to keep 300 active controller events at any given time but capacity is only 200, so 200 is the maximum number of active controller events
  • Schedule frequency - (200 active events) / (50events/day) 4 days
  • Business unit B is also a smart business unit but plays it less safe than business unit A, uses 1 day buffer Schedule frequency for controller event ID assignment, programming and business unit schedule update is every 3 days
  • This process may be initiated automatically or at a user's request
  • the automatic initiation helps to insure that the business unit controller is fully loaded with PPV events and that all events that are intended to be loaded to the controller are loaded in a timely fashion If the process is left to user initiated requests, a user error (forgetting to run the process) can result in ordered PPV events not being able to be delivered
  • the automatic process is designed to cycle through the business unit definitions in SMS and to determine if the business unit requests automatic process initiation. If the business unit does not request automatic process initiation, it is skipped. If the business unit does request automatic process initiation, parameters are checked to determine if the process should be executed at this time. If appropriate, the event scheduler is executed for that business unit. The automatic process continually cycles the business unit table to determine if it should perform the event scheduler for each business unit.
  • User requested process initiation is accomplished through an associated interface that allows the user to identify a business unit and to request that subprocess 5 be performed for the selected business unit.
  • This user interface is to allow administrative personnel at a business unit level to request that the business unit controller IDs be assigned and programmed and to have the business unit PPV event schedule updated with the appropriate controller event IDs.
  • the interface also allows the user to view and report on the events that are currently programmed on the business unit controller, those events that are pending controller ED assignment and all pertinent information relating to those events,
  • Controller ID Assignment and Programming Screen allows the user to choose a business unit from all available business units and to request that the event scheduler process be performed. It also allows the user to analyze and report on the programmed, pending and completed controller events. Elements of the screen include:
  • the user may select a valid business unit.
  • Business Unit Name Name of selected business unit.
  • Time between automatic controller assignment/programming processes The time in hours and minutes that should elapse between the automatic controller assignment processes. Display only. Controller Event Analysis Options - A list of reports/presentation options that the user may choose to execute. All of these options can be scoped (i.e., limited) to a specific date/time range. Available options include:
  • Run ControUer Event Scheduler Option An appropriate option to start the assignment and programming of controller event process.
  • a window for display of the analysis output Allows the user to view, save to a file or print the output.
  • Associated Interface - a user interface that allows maintenance of the Business Unit Controller Characteristics table. Elements include:
  • Business Unit ID - Unique identifier ofthe business unit.
  • Controller ID Unique ID of the controller used by this business unit.
  • Controller Low Event ID The lowest available controller event ID.
  • Controller Low PPV Event ID The lowest available controller event ID for PPV events.
  • Controller High PPV Event ID - The highest available controller event ED for PPV events.
  • Event ID (Controller Low PPV Event ID).
  • Event Scheduler Indicates if event scheduler is initiated automatically.
  • Last Event Scheduler Completed - Date and time of last completed event scheduler Normally updated by event scheduler Can be updated but verification to change this field is required.
  • Time Between Automatic Event Scheduler - Time in hours and minutes between Automatic Event Scheduler A time between processes of 00:00 means perform event scheduler continually.
  • Indicator Indicates if the business unit desires to have a notification sent to it after the event scheduler has been performed.
  • ED selected by the user would be passed to this process as a parameter.
  • Subprocess 5.1 Update Completed Events This processing task does a preliminary cleanup of all ofthe events with an assigned controller event ID. If the current time is later than the start date and time plus the duration ofthe event, the event is now a completed event and its status must be updated to indicate this fact.
  • the process evaluates each PPV event in the business unit schedule with a controller event ID assigned and a status of pending. If the current time is later than the start date and time plus the duration of the event, the event is now a completed event and its status is updated to completed.
  • controller must be updated to delete this event. Once the event is deleted, other events may be added to replace the cancelled event.
  • the process evaluates each PPV event in the business unit schedule with a controller event ID assigned and a status of cancelled. 2 A packet containing the information to delete the event from the controller is assembled by the program. Data Elements include
  • the detected errors are logged
  • a report is produced and stored electronically
  • a notification is issued to an administrator indicating the cancellation failure and sent to the screen if it was a user submitted requested
  • Subprocess 5.3 Sort All Available Events.
  • the assignment process must first prioritize the available events before assigning controUer events IDs. Events that have a nearing start time should be loaded before those that have a later start time.
  • Subprocess 5.4 Assign Event IDs, Program the Controller and Update Business Unit Schedule.
  • the prioritized list of available events is now processed As each event is programmed, the Current Number of PPV ControUer Events is incremented by 1 and the process continues untU the Current Number of PPV Controller Events reaches the Maximum Number of PPV ControUer Events as set by the business unit.
  • the Last Used PPV Controller Event ID is 5 incremented by 1 and sent as the controller event
  • Last Used PPV Controller Event ID reaches the Controller High PPV Event ID
  • Used PPV Controller Event ID is reassigned to the 10 ControUer Low PPV Event ED or the Next Available
  • Event Broadcast Channel - from business unit schedule table.
  • the Current Number of PPV Controller Events is incremented by 1 to indicate that another event has been assigned.
  • the business unit schedule is updated with the assigned controller event ID.
  • This subprocess terminates.
  • the detected errors are logged.
  • a report is produced and stored electronically.
  • a notification is issued to an administrator indicating the assignment failure and sent to the screen if it was a user submitted request.
  • a notification is sent to a business unit if Send Business Unit Notification After Event Scheduler Indicator is Yes. User interface initiated assignments do not produce a notification.
  • the Addressability function encompasses the following points to ensure that the needs of ALPS is properly addressed
  • a schedule file from a PPV vendor is deposited on the designated host computer
  • the process passes control to the verification program - Any detected errors halt the process, produce reports and notify an administrator of load failure
  • the process passes control to the MES load program
  • the events are loaded to the Business Unit schedule by using the events stamped with the identifier for
  • the status of the schedule file is updated throughout the process.
  • a user logs onto SMS and chooses the schedule file analysis and reporting menu
  • the user selects a schedule file to analyze.
  • the user produces reports and analysis.
  • 15 - The user submits the schedule file to the verification and load programs. The process passes control to the verification program.
  • Any detected errors halt the process, produce reports and notify an administrator of load failure. 20 -
  • the process passes control to the MES load program.
  • Any detected errors halt the process, produce reports and notify an administrator of load failure.
  • the events are loaded to MES, appropriate event streams are created. 25 -
  • the events are stamped with an identifier for subsequent process steps. Alternates are added if they are present in the file.
  • the process passes control to the Business Unit load program.
  • the events are loaded to the Business Unit schedule by using the events stamped with the identifier for this process, the ALPS pricing tables, and the channel lineup tables.
  • the status ofthe schedule file is updated throughout the process.
  • a schedule file from a PPV vendor is deposited on the designated host computer.
  • Any detected errors halt the process, produce reports and notify an administrator of load failure.
  • the process passes control to the MES load program.
  • Any detected errors halt the process, produce reports and notify an administrator of load failure.
  • a user logs onto SMS and chooses the schedule file analysis and reporting menu. 20 - The user selects a schedule file to analyze.
  • the user produces reports and analysis.
  • the user submits the schedule file to the verification and load programs.
  • the process passes control to the verification program. 25 - Any detected errors halt the process, produce reports and notify an administrator of load failure. The process passes control to the MES load program
  • Any detected errors halt the process, produce reports and notify an administrator of load failure Canceled Events are updated in the MES and their status is now canceled.
  • Canceled Events are updated in the MES and their status is now canceled. If alternates for the canceled event exists, the alternates are updated and their status shows the events as available active events. If alternates for the canceled events do not exist in SMS but replacements are sent with the cancellation, they are loaded normally and their status is available active event.
  • the events are loaded to the Business unit schedule by using the events stamped with the identifier for this process, the ALPS pricing tables, and the channel lineup tables.
  • a timed process is initiated once a month to produce events automatically.
  • the process passes control to the PPV block generation program. 5 - PPV blocks are created and loaded to the
  • the process passes control to the Business Unit load program.
  • the events are loaded to the Business unit schedule by using the events stamped with
  • a user logs onto SMS and chooses the PPV block generation 20 menu.
  • the user selects an event stream to create.
  • the user submits the schedule file to the verification and load programs.
  • a primary schedule file was deposited by a PPV vendor.
  • control is passed to a process to do an assignment and programming of business unit controller event IDs. - All business units are cycled to determine if an automatic assignment process should be performed for that particular business unit.
  • Notification is sent to the Business unit if requested.
  • An update schedule file was deposited by a PPV vendor. - After schedule file load, control is passed to a process to do an assignment and programming of business unit controller event EDs.
  • All business units are cycled to determine if an automatic assignment process should be performed for that particular business unit.
  • Cancelled events would be expected. Cancelled events are canceUed from the controller if they have a controller event
  • Events are prioritized. Alternates for the cancelled events may now be available for assignment and programming. Events are assigned and programmed. Notification is sent to the Business unit if requested.
  • This Event Scheduler is Initiated from an Automatic Process.
  • All business units are cycled to determine if an automatic assignment process should be performed for that particular business unit.
  • Cancelled events are cancelled from the controller if they have a controller event ID assigned.
  • Notification is sent to the Business unit if requested.
  • This Event Scheduler is Initiated from a User Interface.
  • FIG. 8 through 22 are examples of computer screen displays that can be generated so that a user ofthe ALPS system can interact with and monitor the ALPS process
  • the ALPS GUI must be running and the ALPS-Loader Open Server must be operating
  • the Schedule Load is intended for the co ⁇ orate user
  • the GUI and ALPS Loader Open Server are running on the same designated host computer This allows the GUI and open server to view the same schedule files
  • a PPV Vendor Schedule must be available to the ALPS Loader Open Server for the load to be performed; the file must be on the same designated host computer where the ALPS Loader is in operation and in a known directory location To initiate loading a PPV Vendor Schedule, select the "ALPS
  • the ALPS Admin Window shown in Figure 9 will pop up
  • the first tab window is the Distributor
  • the window is shown in Figure 9
  • the display shows the distributor's (i e , PPV vendor's) file ID and the file's expected location Table 6.
  • the File Load Tab Window allows the user to load PPV Vendor Schedules into the PPV holding tables
  • the window is shown in Figure 10
  • the display shows the files available in the distributor's specified directory
  • Distributor name of distributor chosen from Distributor Tab Window
  • the View FUe Button will bring up in a read-only text window the highlighted file
  • the user can review the schedule file for correctness This is useful if errors occur during the file load
  • the Load File Button will load into the PPV Holding Tables the highUghted file(s) Once the file is loaded, if successful, the file is moved to a new holding location, this hides the file so the user will not reload it
  • the Check Button aUows the user to view the status ofthe file load If there were errors, they wUl be displayed. A display will show the exact error and what line in the file caused the error. The file will be editable from this display so the error can be fixed and the file re-submitted for load
  • the ALPS GUI should be running and the ALPS Gen MES Open Server must be operating
  • the MES Load is intended for the corporate user
  • a PPV Vendor Schedule must have been previously loaded into the PPV Holding Tables in order for MES generation to be performed.
  • the MES Tab Window allows the user to create the Master Event Schedule.
  • the window is shown in Figure 11. This display shows PPV Holding Table data ready for migration to the Master Event Schedule:
  • the Load MES Button allows the user to load the Master Event
  • the Check Button allows the user to view errors that occurred during generation of the MES. A display will detail the exact errors that were encountered in the load process.
  • the ALPS GUI To view the Master Event Schedule, the ALPS GUI must be running. Select the Master Event Schedule icon; the MES Schedules window will pop up.
  • the MES Schedules window is strictly a method of viewing the MES.
  • the window has two methods of viewing data: a timeline format and a listing format.
  • the Timeline tab window shows the PPV products in a horizontal timeline fashion organized by network.
  • Figure 12 shows the window.
  • the window wiU show the events for the current day.
  • the Listing tab window is a different way to view PPV product data.
  • Figure 13 shows the window. Event data is shown in time order for the specified day. The columns, Start Date, End Date, Network, Product and Price are self- explanatory.
  • Each Business Unit is responsible for creating its own schedule.
  • the Business Unit can select products from the Master Event Schedule and use those products for its own schedule.
  • the ALPS GUI must be operational, and the ALPS Gen BU Open Server must be up and running.
  • the ALPS GUI should be set to the desired Business Unit.
  • the Change Business Unit icon allows the user to specify a business unit. To change business units, do the following: select the icon; the
  • Business Unit Browser will pop up. The window is shown in Figure 14 The user needs to move down the business unit hierarchy until the required unit is found.
  • the Business Unit schedule is generated. Select the icon from the ALPS GUI and the Business Unit Information window will pop up. There are three tab windows available: Defaults, Schd Defiis and Auto Load. The window is shown in Figure 15. The Defaults tab window is where the event and customer types are created for the Business Unit schedule. The window is shown in Figure 15. In order for a schedule to be generated, there must be an entry with a "ALL" customer; the event type should preferably be "Movie.”
  • the Schd Defns is the window from which a business unit schedule is built.
  • the window is shown in Figure 16.
  • the user is given the option of selecting those networks from the Master Event Schedule that are carried by the Business Unit.
  • the user should select the networks and move them into the BU (Business Unit) Current Schedules list. Select the APPLY button after moving Network information around.
  • a date range must be provided.
  • the dates should cover the time period over which the schedule will apply. Enter in the desired dates and select the Generate button; it will take some time to generate the Business Unit schedule.
  • the business unit schedule Once the business unit schedule is generated, it can be viewed from the Business Unit Schedule icon. If the schedule generation was successful, there will be data in the viewing window.
  • the Auto Load functionality may be turned on/off from a display and saved in the database for future needs
  • the ALPS GUI To view the Business Unit Schedule, the ALPS GUI must be running. Select the Business Unit Schedule icon; the Business Unit Schedules window will pop up. The window is shown in Figure 17
  • the Business Unit Schedule window has two methods of viewing data: a timeline format and a listing format. It also contains a window for generating the ARU file.
  • the Timeline tab window shows the PPV products in a horizontal timeline fashion
  • the products are organized by network.
  • Figure 17 shows the window.
  • the window When initiated, the window will show the events for the current day.
  • the Listing tab window is a different way to view PPV product data.
  • Figure 18 shows the window. Event data is shown in time order for the specified day The columns are described in the following table.
  • the ARU File tab window allows the user to generate an Audio Response Unit file.
  • the window is shown in Figure 19
  • This file is in a format defined by the ARU service provider, for example, Teleco ⁇ Company, a "call in and order" provider.
  • the information displayed is basically the channel map information for the current Business Unit.
  • the display as shown only allows for ordering of networks. However, a DNIS number may also be tied to an individual PPV event.
  • To generate the file select the desired PPV products, enter an ARU
  • FILE name a date range and the DNIS number for each network. Hit the Generate ARU FUe button. The file will be generated and written to the specified location and name.
  • the file will be transferred to, for example, Telecorp using any suitable FTP.
  • Telecorp using any suitable FTP.
  • the generated ARU files need to be on a HOST computer with connectivity to Teleco ⁇ .
  • coftOOmc this program is part ofthe GL software.
  • the transfer program relies on the ini file pointed at by the STCI FELENAME environment variable for configuration information.
  • An ".ini file” is a configuration file which stores startup parameters for this process.
  • the primary goal of ALPS is to create a Controller Event Schedule.
  • This schedule contains the authorization codes for the PPV Events Each authorization code is used to allow a customer to view an event through their settop.
  • the controUer schedule can be created from the co ⁇ orate level down to the business unit level.
  • the codes are sent to the Addressability System as they are created. The addressability system loads controllers with the codes.
  • the ALPS GUI To perform the PPV Vendor Schedule load, the ALPS GUI must be running and the ALPS Gen CTRL Open Server must be operational. Select the ControUer Schedule icon from the ALPS GUI.
  • the window will not pop up if the current Business Unit has no controUers.
  • the Controller When the window pops up, there are two tab windows: the Controller and Ctrlr Events tab windows.
  • the window is shown in Figure 20.
  • the Controller tab window is where the schedule generation takes place. This window is shown in Figure 20. It is important that the controller belong to the current business unit and that the controller is a MASTER controller. If either of these conditions are not met, then a controller schedule cannot be generated. There are a number of items in this window to set up. Controller ED
  • the controller ID selector specifies the controller that will either have auth codes generated or loaded. It is important that the selected controller be a MASTER controller. A controller schedule cannot be generated directly for a SLAVE controller. SLAVE controllers use the schedules of their MASTER controller. These relationships can be viewed in the Channel Lineup GUI (a GUI found in SMS which is a user interface application within SMS). Authorization Code Ranges
  • Each controUer has a range of "auth codes" that it will recognize for authorizations of PPV events. If the controUer is maintained by the current business unit, then the auth code ranges can be edited. Subscription
  • the subscription range defines the auth codes used by the controller for monthly subscription services. Pay-Per-View The pay-per-view range defines the auth codes used by the controller for individual events
  • the controller schedule wiU contain authorization information only for PPV events Last PPV Auth Code Assigned This field indicates the last auth code number assigned It indicates to the user where the previous auth code generation stopped This field cannot be edited from the window Maximum Number PPV Events
  • the authorization codes are generated here Pick a date range and hit the Generate button Load Auth Codes from File
  • This field shows the date/time when the controller schedule was last generated for the current controller.
  • the CTRL Event tab windows provides a way to view the controller events.
  • the display shows various information about the events, described in the following table.
  • the display is shown in Figure 21.

Abstract

A database management system and method is provided for generating pay-per-view event schedules (1) for use in a cable television system. The generation of the event schedules may be automatic (5) and accommodates selective updating (6) of cancelled events rather than regenerating the entire schedule.

Description

METHOD AND SYSTEM FOR MANAGING A PAY-PER-VIEW SCHEDULING DATA BASE
BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention relates generally to a system and method for database management
2. Description of the Prior Art
Pay-Per-View programming (PPV) is available on most cable systems Unlike ongoing programming services or packages, PPV is typically offered as events which last for a pre-defined duration. PPV events are products that a cable system offers to its customers, but PPV events originate from third party PPV vendors The PPV vendors schedule events, publish the schedule typically on a monthly basis, and make the programming available to the cable systems. The cable systems must in turn allow their customers to order the PPV events through their order processing, authorize the customer for viewing of the event, and deliver the event to the authorized viewers The process by which the PPV vendors schedules are obtained from the vendor, loaded, made available for order processing, and programmed into a cable systems controller is called the Pay-Per-View Automated Load (PAL) As the following describes, "Automated" is a misnomer in this process In the current process of generating comprehensive Pay-Per-View schedules, there are four computer systems involved The PPV vendors create the PPV event schedules on their computers and send the schedules to a scheduler's computer The scheduler is in essence a middle man relative to the Pay-Per-View vendors and the cable operators The scheduler's computer receives and checks the PPV event schedules. The respective cable operator then has to incorporate its authorization codes into the schedule. In order to do this, the authorization center of the cable operator has a computer that obtains the PPV event schedules as computer stored files from the scheduler's computer and loads it into the memory ofthe authorization center computer The schedules are checked and massaged into the necessary format for use in the cable operator's computers Once controller event numbers are applied to the files, the files are sent back to the scheduler's computer. While in the scheduler's computer, PPV block events are created. Tapes of the schedule files are created. The schedule tapes are then loaded on another set of computers located at the scheduler and the cable operator's data centers. The cable operators load the schedules to their billing databases and to the controllers (typically another computer) servicing the customers. These computers keep track ofthe events ordered and provided to customers. Accordingly, billing databases are also maintained and updated on these computers (see Figure 1).
The current process is the result ofthe evolution of cable operator and scheduler needs. Because the evolution of this process was incremental, and because the cable operator relies on the scheduler as the focal point for the vendor schedules, there are three significant disadvantages with the process. Each of these represents a large real time commitment from individuals involved with the PAL process. The first is incremental checking of the data. After each transfer of the data, it is checked for errors and sometimes massaged. In most cases, the checks that are performed are time consuming, inefficient and redundant. The checks were established to ensure that each previous manipulator of the data has sent a set of data with integrity. The current data flow was dictated by the scheduler and is a result of efforts to compensate for errors that occurred during the early implementation ofthe process.
Secondly, the process lacks the ability to accommodate changes to the schedule electronically. Schedule changes are not accommodated in the current data flow. Once the schedule has been loaded by a cable system, there is no process available to perform any changes. Any changes require that each individual cable system, typically at a business unit level (the lowest level of the cable system), manually massages its own data.
Finally, each cable system contains parameters used to load information to the individual system events and billing databases. There is no centralized function to do the load for the systems. Each system performs its own individualized load.
SUMMARY OF THE INVENTION A database system useful for generating pay-per-view event schedules for use in a cable television system is provided. The database system comprises: a vendor schedule loader, a master event schedule and update generator, a business unit schedule generator and a controller event schedule generator. The loader receives and stores pay-per-view vendor's schedules and update notifications. The master event schedule and update generator is in communication with the loader receives the pay-per-view schedules and generates and stores a master event schedule. If an update notification is also received, it updates the master event schedule. The business unit schedule generator is in communication with the master event schedule and update generator and generates and stores a business unit schedule. It also updates the business unit schedule if the update notification is present. The controller event schedule generator is in communication with the business unit schedule generator and generates and stores a controller event schedule.
A method for managing a database system which is useful for generating pay-per-view event schedules for use in a cable television system is also provided. The method comprises the steps of loading vendor schedule files and storing them in a first memory of a host computer; generating a master event schedule from the stored vendor schedules and storing the master event schedules in a database storage means; generating a business unit schedule from the stored master event schedule and storing it in a second memory of a business unit computer; and generating a controller event schedule from the stored business unit schedule and storing the controller event schedule in a third memory of a controller computer. If the vendor's schedule includes an update notification, and the step generating the master event schedule updates and stores the master event schedule and the step of generating the business unit schedule updates and stores the business unit schedule
DESCRIPTION OF THE FIGURES Figure 1 Prior art scheduling method flow chart
Figure 2 Scheduling flow chart according to present invention Figure 3 ALPS system interface diagram
Figure 4 ALPS system architecture diagram
Figure 5 Business Unit-to-Controller relationship diagram
Figure 6 Controller-to-Business Unit relationship diagram
Figure 7 ALPS process flow diagram Figure 8 ALPS Main Window computer screen display
Figure 9 ALPS Admin Window (and Distributor Tab Window) computer screen display
Figure 10 ALPS File Load Tab Window computer screen display Figure 11 ALPS MES Load Tab Window computer screen display Figure 12 ALPS MES Timeline Tab Window computer screen display Figure 13 ALPS MES Listing Tab Window computer screen display. Figure 14 ALPS Change Business Unit Window computer screen display Figure 15 ALPS Business Unit Information Window computer screen display Figure 16 ALPS BU Schd Defn Tab Window computer screen display Figure 17 ALPS Business Unit Schedules Window computer screen display Figure 18 ALPS BU Schedules Listing Tab Window computer screen display Figure 19 ALPS BU Schedules ARU File Tab Window computer screen display Figure 20 ALPS Controller Schedule Window computer screen display Figure 21 ALPS Controller Schedule Ctrl Events Tab Window computer screen display
DETAILED DESCRIPTION The Automatic Loader for Pay-Per-View Services (ALPS) system and method ofthe present invention is an automated database management system and method and is typically an integrated part of the cable operator's subscriber management system (SMS). SMS via ALPS will be the focal point for gathering and distributing the PPV vendor schedules to the cable systems. Figure 2 represents the flow for the ALPS process according to the present invention All processes represented in SMS are performed automatically
As shown in Figure 2, the PPV vendors still create the PPV event schedules for events that they provide. However, since the system ofthe present invention can accommodate changes in such schedules, the PPV vendors can update their schedules and identify changes The event schedules can either be sent directly to the cable operator's computer system electronically, for example, via a modem or a bulletin board service, or by using a magnetic storage medium, such as a diskette, CD-ROM, tape, etc The system performs a one-time check ofthe vendor data for integrity. The system may then optionally create PPV block events and incorporate them into the schedules This combined information is then loaded to the system's database stored in the memory ofthe cable operator's computer.
The ALPS system takes the PPV Network Vendor Schedules each month and loads them into the SMS. Additionally, the ALPS system can generate or load the Controller Authorization Codes used to order and deliver PPV services.
The ALPS system differs in several respects from the above- described prior art system, particularly in regard to schedule information content, additional schedule generation capability and schedule updates and alternatives The schedules generated according to the present invention are augmented with much more information than in the past. For example, each event is now being delivered with language, sexual and violence content advisories; theatrical, video and PPV premier dates; box office gross amounts, and more Additional information also includes the capability for movies with several language tracks Events can now be given alternatives if for any reason an event is questionable for a specific showing (i.e. title fight). If an event is cancelled, an update from the PPV vendor with a replacement event identified can be surgically implemented without regenerating the entire master event schedule Specific events can also be marked as macro vision capable or closed captioned capable
The ALPS system allows users to define additional PPV network schedules beyond the ones received from PPV vendors This capability is mainly used to sell services to subscribers in a time block fashion For instance, the
PLAYBOY network sends it November schedule containing all the movies that will be shown during the month to SMS to be loaded The schedule that is loaded is event oriented, meaning it can only be sold "by the movie " Through the ALPS
"event stream" generation capability, PPV programming mangers can now automatically define additional schedules that are time block oriented— sold by time rather than specific movie Traditionally, this capability could only be offered through a laborious manually entered interface
Traditionally, programming managers were told of schedule updates
(changes) through different media a telephone call, a fax, a mailed letter, etc ALPS provides the capability to automatically handle schedule updates Updated schedules can be sent out via the same interface that the regular schedules are sent
Automatic ALPS processing can recognize these schedule updates and ensure that the data is changed and proper notifications sent to all cable systems which may be affected Additionally, the ALPS schedule interface provides a mechanism to define alternatives to events that may or may not happen at a specified time— these are generally "live" events like title fights The alternate events automatically kick in when a cancellation is received
ALPS is a streamlined and efficient system and process that acts as a single point of entry for PPV vendor schedules into SMS The ALPS system accomplishes more for the SMS and requires less movement and checking of data Utilizing a controlled point of focus for gathering the PPV vendor schedule information also provides distinct advantages over the prior art system 1 Single direction data flow Vendor data moves in a single direction toward SMS This allows for a much simpler and efficient process flow 2. Ability to accommodate schedule changes. The process accommodates schedule changes. This ability is built into the system.
3. Automatic load to SMS database for the systems order processing (OP) function. The loading ofthe scheduling information into the SMS database automatically updates the systems OP function. The same tables that are loaded are the tables used for the OP function.
4. Automatic programming and assignment of cable system controller event IDs.
Referring to Figure 3, the ALPS system has two defined interfaces. The first interface is an external interface between the ALPS system and the outside vendors. This interface is used by the vendors to send their monthly programming schedules to ALPS. The second interface is an intra-SMS interface between ALPS and the addressability subsystem. This interface is used to send the actual controller event schedules to a specific Business Unit's controller. The ALPS system architecture is shown in Figure 4 There are four distinct subsystems identified for the ALPS system: the Vendor Schedule Loader, the Master Event Schedule and Update Generator, the Business Unit Schedule Generator, and the Controller Event Schedule Generator.
There are three kinds of internal schedules with which the ALPS system works: a Master Event Schedule (MES), a Business Unit Schedule (BUS), and a Controller Event Schedule (CES). The Master Event Schedule contains scheduling information for all PPV networks with which the cable operator has an affiliation. The Business Unit Schedule contains the PPV scheduling information for only those PPV Networks that the particular Business Unit is providing to its subscribers— this schedule requires the Master Event Schedule. The Controller
Event Schedule contains the authorization codes which are used to activate PPV event orders placed by subscribers— this schedule requires a Business Unit Schedule.
Accordingly, there are four major steps within the ALPS process: loading vendor schedule files, initially generating and thereafter updating a Master Event Schedule, generating Business Unit schedules, and generating Controller Event Schedules Each ofthe four processes above coincide directly with the steps which need to be performed Preferably, each ofthe above steps are performed at least once a month to keep the vendor schedules up to date ALPS has two intended users a corporate user and a business unit user. The corporate user is responsible for loading the schedules, updating the Master Event Schedule and loading controller codes The business unit user is responsible for creating a Business Unit Schedule and generating the local controller codes. The ALPS system is provided with, preferably monthly, schedules from various PPV Network distributors (for example, REISS Media, Graff, National Digital Television Center (NDTC), etc ) The schedules are provided to ALPS through various media including diskette, electronic mail and any other valid file transfer protocol (FTP). The schedules supplied by the PPV vendors preferably conform to a particular format to minimize the complexity ofthe system These files contain vendor information, product information and schedule event information Specific information preferably included in the foregoing is listed below VENDOR SCHEDULE FILE FORMAT
Vendor Info
Vendor Transmittal ID Vendor Name Number of Product Definitions
Number of Schedule Events Primary/Update Indicator Programming beginning date/time Programming ending date/time
Product Info
Product ID Product Short Name Product Long Name Product Duration Number of occurrences Default Price Additional Info
Studio, Rating
Genre
Multi Language Indicator
Closed Caption Macro Vision Capable
Subtitled
Box Office Gross
Theatrical Premier Date
Video Premier Date PPV Premier Date
Sell Through Indicator
Pay TV Window
Event Type
Schedule Events
Network
Event Stream ID
Start Date/Time Duration
Product ID
Cancellation Indicator
Primary/ Alternate Indicator
Alternate for: Network ID, Product ID, Start Date/Time
TAC Controller ID
An example of a Vendor Schedule File is as follows:
HDR|1|1|NDTC|20|1810|199507311633 f 199508010000119950831235910
TTL|90001821|LEGENDSOFTHECAVE|LEGENDS|138|50|0|4||||||0|0|5|||||0|0
TTL| 10001841 ISPEECHLESS TOO|SPEECHLE| 105|33|0|3| 111 j |0|0|5| 11110|0
LNG|90O001821|ENG|0|l
S C H | 9000 1 82 1 | 0 | R E Q 1 | N D T C R E Q
11199507312100|19950731231818280112235| | [ 110|0|0| 10000085
S C H | 1 000 1 84 1 | 0 | R E Q 1 | N D T C R E Q
11199508020730| 199508020915|6300| |2249| 11110|0| 10000085
EOT| 111
Vendor Schedule File Example
The Vendor Schedule Loader process is responsible for determining when a vendor schedule has been deposited onto a designated host computer A specific directory will be designated as the area in which each vendor will send its schedules The Vendor Schedule Loader has a polling interval (i e once per day, twice a day) that will be used to detect new vendor schedules that have been placed in their specified directory Once a new schedule is detected, it will be read in and processed All check sums will be done at this time to ensure the integrity ofthe file that was sent If any discrepancies have been uncovered, an error message will be displayed to the user indicating the specific problem that has occurred within the file
Since vendors may send their programming schedules at any time, each vendor schedule is placed in a temporary storage location in the designated host computer, sort of a "holding tank," to be added to the Master Event Schedule at a later point in time Immediate processing of incoming vendor schedules allows the cable operator to determine whether or not there are any non-recoverable errors with the file that was sent so that corrective measures to fix the problems may be taken promptly
Preferably, this holding area is a collection of relational database tables where each PPV vendor's schedule(s) resides until it is later processed into the Master Event Schedule The rationale behind putting the schedule files into relational database tables is that it would be easier in the future to derive useful statistics in this format rather than the flat file format. If such is not a consideration, the flat file format may also be used.
When a vendor schedule file is read in, a check is performed to determine whether in fact this is a schedule update that should be handled immediately. If it is determined that a vendor schedule is actually an update rather than a normal schedule, an Update Notification is sent to the Master Event Schedule Generator so that the update can be reflected in the Master Event Schedule immediately. This update notification contains the names of all networks for which there is a change. The Master Event Schedule Generator process is responsible for creating and updating the Master Event Schedule from the vendor schedules that were loaded from the Vendor Schedule Loader. The Master Event Schedule (MES) is a collection of all the Event Streams that are associated with all of the known Networks for which any Business Unit may then download to its particular Controller. These Event Streams are composed of a collection of time ordered events for a given network. The Event Stream events can either be associated directly with a particular network event, such as a movie or special program, or may be associated with a block of time only, meaning these events are not directly associated with a given network event, but rather with all network events that are within the start and end time ofthe time block. Furthermore, the start and end of these time block events may not necessarily coincide with the start and end ofthe network events that overlap them in time.
The creation of the Master Event Schedule is performed in two steps. First, all ofthe vendor schedules that are in the "holding tank" are merged together to form the initial Master Event Schedule. Then, any additional ALPS defined Event Streams that are associated with a specific vendor network are created and added to the Master Event Schedule. These ALPS defined event streams are composed entirely of time block type events only. Please note that since the ALPS system is herein discussed in terms of being incorporated in SMS, the ALPS database and ALPS tables and files are also considered part ofthe SMS database and SMS tables and files. To that extent, the terms may be interchanged herein.
The Event Streams that are created within ALPS are done so from a predefined configuration which is maintained in the ALPS database. These configurations define the structure for an event stream over a 24-hour period of time. The following table shows an example ofthe definition of an event stream which will produce 4-hour time blocks associated with the Request 1 Network. TABLE 1. Event Stream Definition - Fixed Blocks
Network ID Event Start Time Duration Product ID Stream ID
Request 1 Request l_4hr oooo 240 100 Blocks
0400 240 100
0800 240 100
1200 240 200
1600 240 300
2000 240 300
The time period over which these blocks are generated is determined by the current time period ofthe Master Event Schedule which is being generated.
For instance, if the current Master Event Schedule time period covers the month of
April, then six 4-hour blocks will be created for each day in the month of April as defined by each Start Time/Duration in the configuration.
The previous example also showed why the predefined event streams within PAL can only be composed of time block type events. Since the start time in the configuration is not associated with a specific date, there is no way to produce an event stream that is tied to any particular network event that may be showing at random times during a programming month. Excluding the start date helps to facilitate the automatic generation of event streams within PAL, thus providing a cleaner user interface which can be more easily maintained.
The next example shows the definition of an event stream which will produce variable sized time blocks associated with the Spice Network. TABLE 2. Event Stream Definition - Variable Blocks
NetworkID Event StartTime Duration Product Stream ID ID
Spice Spice_ oooo 480 888 VarBlocks
0800 240 444
1200 240 444
1600 120 222
1800 180 333
2100 180 333
When a schedule update is received by the Vendor Schedule Loader, a notification is immediately sent to this process so that any changes can be reflected in the Master Event Schedule. When this notification is received, a determination is made to which networks are affected by this change. The schedule update is moved from the "holding tank" to the Master Event Schedule. Schedule updates contain cancellations and/or additions to a network programming schedule. Any cancelled events are so marked and their alternative events are now activated. These alternative events were either defined in a previous schedule load or are directly sent in the schedule update. All event streams associated with the network that the change affects are regenerated and the Update Notification is passed along to the Business Unit Schedule Generator. The Business Unit Schedule Generator is responsible for generating the appropriate schedule for a specific Channel Lineup Service Area (CLSA). Each Business Unit has a unique Controller associated with it, but a particular Controller may serve multiple Business Units. Figure 5 shows the relationship between the equipment that is used within the context of a Business Unit-it also defines what a Business Unit is in the context ofthe ALPS system.
A Business Unit is the lowest level entity for which a unique programming schedule may be associated with. The schedule that will be generated is dependent upon the Business Unit's schedule definition. This definition will be used to determine exactly what event streams a given Business Unit is interested in downloading to their associated Controller.
Each Business Unit must have a schedule definition predefined within the ALPS database before any schedule generation may be performed. This definition specifies which Event Streams a particular Business Unit is interested in downloading to their associated controller. The following table shows an example of a Business Unit schedule definition.
TABLE 3.
Business Unit Network Event Stream Start End Date/Time Date/Time
XXX REQUEST 1 REQUEST 1 * *
REQUEST2 REQUEST2 * *
PLAYBOY PB 4HRBLOCK * *
SPICE SPICE MOVIE 05/01/1995 06/01/1995
This definition will produce a schedule which includes the
REQUEST 1, REQUEST2, PB 4HRBLOCK and SPICE_MOVIE event streams which are associated with the REQUEST 1, REQUEST2, PLAYBOY and SPICE networks respectively. Notice that most ofthe entries have a "*" in their start and end date/time fields This is the nominal setting and indicates that the schedule generated for this Business Unit should cover the current Master Event Schedule time period If the start and end date/time fields are filled in, then the event stream generated for the schedule is limited to that time period A Business Unit could use this to test a particular network for a period of time before committing to it in its regular schedule lineup
The Business Unit Schedule Generator process is also responsible for determining the pricing scheme that will be used for the events within a Business Unit's programming schedule A Business Unit has the option of either going with the default pricing scheme for events or overriding these and providing their own specific pricing scheme.
When a schedule update occurs, an Update Notification is sent to this process by the Master Event Schedule Generator Upon this notification, the Business Unit Schedule Generator will identify the networks that are affected by the change and then regenerate any Business Unit Schedule which has those particular networks in their lineups Once all of the Business Unit schedules have been regenerated, this process sends an Update Notification to the Controller Event Generator designating each Business Unit which was affected by the update
Once a Business Unit Schedule is built, an Audio Response Unit (ARU) file can be generated for the ARU Vendors like Telecorp The file contains PPV event information in the format used or required by the ARU Vendor The file provides a business link for the ARU Vendor to support customer phone-in requests for PPV events
Once a Business Unit has defined its schedule, a Controller Event Schedule can be generated. There are two ways to generate the Controller Event Schedule and thus the authorization codes contained therein One way is to load the schedule from a file This is done in the case ofthe Controller Event Schedule file which is received each month from TAC This file contains the authorization codes used by TAC for each PPV event When loading this file in, ALPS attempts to match each PPV event's authorization code with a known event in the Master Event Schedule— it is an error to have a code with no corresponding event. This method is used by the corporate user to load the TAC Controller Schedule into SMS so that it can be used by those Business Units which rely on the TAC for their authorization center. The second way to generate the Controller Event Schedule is to build it based on some predefined controller parameters. These parameters define the acceptable range of authorization codes to use as well as the authorization code to start with. In this case, the schedule is generated over a given period of time. Events that are in the schedule are taken in time order and given the next authorization code in sequence. This method is used by those Business Units which maintain their own local controllers). The controller codes are used by the addressability system to authorize the converter set-tops.
The Controller Event Generator is responsible for generating and managing the controller events that are associated with a specific Business Unit's schedule. This process takes into account the characteristics for the Controller associated with each Business Unit. It also takes into account the Channel Lineup for a given Business Unit, which is the PPV networks in the product line of the Business Unit. This information, along with the Business Unit's schedule, is used to send controller commands to the Addressability subsystem to download the Controller Event Schedule to a given Business Unit's controller. Figure 6 shows the relationship between a Business Unit and its associated Controller. The event scheduling process is performed for controllers that are capable of automatic programming.
A given Business Unit has one and only one controller associated with it. A given controUer on the other hand may have more than one Business Unit that it is responsible for. Careful consideration must be taken into account when determining the event codes for a controller which has more than one Business Unit associated with it—event codes must be unique for all events on a given controller. When a Business Unit schedule is approved for downloading, it is appended to the current schedule that the Controller Event Generator has for that Business Unit. The Controller Event Generator keeps track of all ofthe Business Unit Schedule Event Streams associated with the same controller. Since some controllers can only be loaded with a limited set of PPV events at any given time, each controller has an event timer associated with it. This timer signifies the earliest time that the controller may be given a new batch of events. When this timer expires, the Controller Event Generator deletes all completed events firom the controUer, determines the next batch of events to send, assigns event codes to each of those events, and then sends the next batch. Lastly, the event timer is reset to the next earliest time to load.
The event codes that are associated with the events in a given Business Unit's schedule must be unique across all the Business Unit schedules that are to be downloaded to the same controller. The following table shows the information necessary to determine the correct event codes to send to a given controller.
TABLE 4.
Controlle Low PPV High Next Max # of Current # r Event PPV Available PPV of Active
Code Event Event Events PPV
Code Code Events
XXX 6 12 8 6 4
YYY 1000 8000 4003 7000 1000 zzz 200 600 553 400 170 This table shows three different controllers, each with the valid
values for their low and high PPV event codes, the next available event code, the
maximum number of PPV events the controller can have, and the number of active
PPV events currently installed on the controller.
Since each controller may have more than one Business Unit
associated with it, an additional table, shown below, is required for this mapping.
TABLE 5.
Business Unit Controller
AAA XXX
BBB XXX
CCC YYY
DDD YYY
EEE zzz
The event code to assign to a particular event within the Event Stream of a given Business Unit Schedule is determined by the next available event code for the controller that is associated with that Business Unit. The Update Notification that is received by this process identifies all ofthe Business Units that are affected by the update. There are two situations that can occur from the update. The first, and the nominal case, is that the change that was made by the update affects events that have not yet been assigned a controller event code. In this case, nothing further needs to be done since the update will be picked up when the Controller Event Generator gets to them. The second situation that can occur is that the change that was made by the update affects events that have already had a controUer event code assigned to them. There are two possible ways to handle this situation. First, the event codes are regenerated for all pending events for the controller associated with the affected Business Units The other way to handle this is to try and perform some kind of event code swapping for the event codes that are not being used anymore This kind of processing could get tricky and is therefore not a recommended way to handle an update The ALPS process, which is described herein in terms of Pay-Per-
View events, is not limited to those kinds of services Additional services that are now being considered by cable systems like Digital Music Express (DMX), Telephony, Games, etc can also fall into the ALPS arena Many of these services are usually offered on a subscription basis— subscribers purchase the service on a monthly cycle This artificial limitation can be overcome so that a Pay-Per-Use or Pay-Per-Play method may also be considered The ALPS system is designed to handle these kinds of service offerings as well
The following terms are used herein
Pay-Per View (PPV) - Form of pay-TV where the subscriber pays a fee for each pay-TV program watched A service made possible by the development of addressable technology that lets the subscriber order specific events Generally includes major motion pictures, sporting events and specials
Pay-Per-View Event - A pay-per-view programming unit that a customer may order, view and be billed for All pay-per-view events have two attributes in common a start time and a duration Examples
Request Movies - Sporting Events
Concerts Time Blocks of Adult channels
Bundled/Master Event - An association of 2 or more PPV events as a billable/orderable unit
Event Stream - a sequence of events for a given PPV network The sequence is usually continuous and is used for scheduling by a cable system
Pay-Per-View Vendor/Distributor - The company or business entity that provides the PPV programming Examples:
Request TV - Request channels Playboy - Playboy channel
Pay-Per-View Network - An identifier ofthe PPV event sequence on a particular broadcast frequency. A PPV vendor may have multiple "networks." Examples:
Vendor Network ED
Request TV Request 1
Request 2
Request 3
Request 4
Request 5
Playboy Playboy channel
Graff Spice
Spice 2
Studio - A companv or business entity that owns a motion picture or its rights.
Examples:
Disney
Paramount
Universal
Standard Duration - The actual running time of an event.
Blocked E)uration - The actual running time of an event rounded up to the nearest half hour.
TAC - The authorization computer where addressable devices may be authorized and digital cable signals are originated.
Master Event Schedule (MES) - An enterprise wide repository for all events that may be programmed by any cable system owned by a cable operator.
Time Block Product - A product that refers to a block of PPV viewing time. The time block product is not specific to a particular movie or event. It is a biUable orderable product that is related only to the time span for which it was purchased. Business Unit - The cable system level that actually has the ability to access and program a controller.
Controller - A computer system that controls and manages a set of converter boxes. Also known as a controller computer.
Runtime Architecture
The ALPS system is divided into a User Interface Application
(ALPS GUI) and five processing engines (open servers): the Loader, Master Event Schedule (MES) Generator, Business Unit Schedule (BUS) Generator, and
Controller Event Schedule (CES) Generator. An ARU/ ANI File Generator may also be incoφorated.
The ALPS GUI application is the graphical user interface application which is used to perform the main tasks, for example, computer screen displays. This application is dependent upon the processing engines in order to accomplish the main tasks within the ALPS system. This requires the engine to be running at the time that the particular function is initiated by the ALPS GUI application. In the Process Outline following this section, reference is made to screens and windows which part of the ALPS GUI application. A fifth open server called the Authorization Code Cleaner works independently of the ALPS GUI and will be discussed later.
Each open server logs its history to a log file. The log file is ASCII text readable to any text editor.
The ALPS Loader open server is responsible for loading the schedule files into the temporary holding area, thus making them available to be loaded into the Master Event Schedule. When the GUI makes a request to load a schedule file, it provides the open server with the ID ofthe distributor and the file name (including the directory location).
The ALPS Gen MES open server is responsible for generating the Master Event Schedule. When the GUI makes a request to generate the MES, it provides the open server with the transaction ID of a PPV file load and the distributor ID
The ALPS Gen BU open server is responsible for generating a
Business Unit Schedule When the GUI makes a request to generate a BUS, it provides the open server with the Business Unit ID and a date range This process depends on a schedule definition to already exist for the Business Unit that it is generating a schedule for
The ALPS Gen CTRL open server is responsible for creating the controUer authorization schedule The open server can generate the schedule in two ways First, it can perform an automatic generation of the controller schedule This is done based on predefined controller parameters Second, it can load authorizations from an SMS PPV Schedule file, this is done in the case of a TAC schedule
The ALPS AUTH Cleaner open server is responsible for cleaning out the controUer authorization tables for past events and updating the status ofthe events defined in the Business Unit schedule tables to reflect the current state ofthe events PROCESS OUTLINE
The following outline provides an overview of the ALPS system The system has been broken down into 6 subprocesses, each of which encompasses a logical unit of work within the overaU ALPS process Figure 7 follows the outline and illustrates the breakdown ofthe ALPS process into subprocesses
Parameters referenced in the outline below are maintained in individual parameter interfaces The parameter interfaces are detailed in the process function definitions
1 1 PPV vendors deposit their PPV event schedules on a designated host computer
The vendors use a file transfer utility from their local computer to the designated host computer 1.2 The event schedules from the PPV vendors are checked for integrity and accuracy.
The event schedules must always be checked programmatically before they are available for loading. 1.3 The event schedules from the PPV vendors are loaded to SMS.
There are parameters that define how each of the following are created.
PPV Products PPV Events - PPV Alternate Events
Event Streams
2.0 PPV event schedules are created by SMS and loaded into the SMS database for some PPV services. These are normally time blocks.
Appropriate products, business unit products, and business unit pricing information will already exist in the SMS database because these are recurring products.
There are parameters that define how each ofthe following are created.
PPV Events - Event Streams
3.1 The Authorization Center (TAC) deposits their PPV event schedules on a designated host computer.
TAC PPV event schedules come in the same format as the events that originate from an outside vendor except they also contain the TAC controller event ID.
AU of these events are the same as the ones sent by outside PPV broadcast vendors.
3.2 The event schedules from the Authorization Center (TAC) are checked for integrity and accuracy. The event schedules must always be checked programmatically before they are loaded. 3.3 The event schedules from the Authorization Center (TAC) are loaded to SMS. - The process adds only new products or events. The products and events that already exist are not reentered. A common identifier for the product ID is used to determine if the product is new or already exists in the SMS. If the common identifier exists in the product table, the product already exists. - There are parameters that define how each ofthe following are created.
PPV Products PPV Events PPV Alternate Events - Event Streams.
The TAC controUer event numbers are loaded. The TAC controller event is present on the file received from TAC. The event ID that is associated with the particular event is also transferred to the SMS database. 4. After 1, 2, or 3 above has been completed, schedules are loaded to the business unit schedule level.
There are parameters that define which PPV networks and event streams a given business unit loads. Some business units will load all PPV events for their system, some will load only a partial list of PPV events. The parameters indicate the PPV events streams, the
PPV network, and the business unit to which the events will be loaded.
Business Unit Products. Business Unit Pricing records. 5. Assign and Program Business Unit controller Event IDs. Update Business
Unit schedule with controller event ED. Business units have their controller events assigned and programmed.
TAC systems already have the appropriate TAC controller event ID. They do not perform this step in the process.
Some business units have their controller events assigned and programmed automatically.
Some business units require a user request to assign and program their controller. - There are parameters that determine which Business Units are automatic loads, and the sequences for the controller. For a given Business Unit: 5.1 Updated Completed Events.
Update all events that are completed to a status of completed. 5_2 Process Cancelled Events.
Determine if any events with assigned controller event IDs have an updated status indicating cancelled, process cancelled events.
5.3 Sort all Available Events.
Sort aU events for this business unit that are not completed and have no assigned controller event ID by date and time.
5.4 Assign Events IDs, Program the Controller and Update Business Unit schedule.
For all available events up to the maximum number of active controller events allowed by this business unit, send an assignment package to the addressability function. Update the business unit schedule with the controUer ED assigned by this process to the PPV event. 5 5 Business Units are Notified
The business unit is sent a notification that summarizes the processing that has taken place
6 Standard downloads for ANIs, ARUs, PRISM, other cable operator systems, or any other appropriate systems are available
Some systems have their downloads prepared and sent automatically
Some downloads require a user request
There are parameters that determine the downloads are automatic and those that are not
Subprocesses 1 - 4 encompass 7 major points
1 The creation within SMS for non-vendor supplied PPV events
2 The acquisition of PPV events from PPV vendors and TAC 3 Verification of event integrity and accuracy for events acquired from PPV vendors
4 Load of the acquired or created events into the Master Event Schedule (MES) for SMS
5 The association of events into event streams in the MES 6 Load ofthe business unit event schedules from the events in the MES
7 Parametric data that is required to perform the points listed above Subprocesses 1 - 3 are mutually exclusive and may be performed independently Each ALPS subprocess is sequential, that is, each step in the process must be completed successfully before the next step can be performed User interfaces and processes described herein may be used and performed by personnel at an administrative level The personnel wiU be capable of evaluating the process at each step to determine successful completion or to take appropriate steps to correct problems If the process is running automatically, reports and notifications allow the personnel to evaluate the process and make those decisions After Subprocesses 1, 2 and/or 3 are completed, Subprocess 4 is performed to load the network event schedules to the Business Unit schedules.
Subprocess 5 (the controller event scheduling process) is the next step in the ALPS process. This process does not, however, have to be performed at the time ofthe schedule reception. In fact, depending on the characteristics of the business unit controller, it may not be possible to program the controller at the time of receipt of a PPV schedule. It may also be true that a specific business unit must perform this process continually to ensure that its controller is as up to date as possible with the available PPV events for that particular business unit See example below Example:
Business unit X has a controller with a capacity for 6 PPV events. Currently, all 6 events are programmed for the controller. The process will be performed, but no PPV events will be loaded because the controller is programmed to capacity. The process must be performed later when a controller event becomes available for programming.
As stated above, this process does not have to be performed at the time that a schedule file is received. While this is true, it is also true that it would not make good business sense to wait to run this process. It is important to understand that this process should be performed at appropriate times as determined by the characteristics of the business unit controller, the characteristics of the business unit's cable system configuration, and the abilities ofthe individuals who are responsible for maintaining the PPV events at the business unit level. Subprocess 5 is independent, but it should be scheduled appropriately Considerations for such scheduling are discussed later herein.
AU times should be corrected to the local time for programming of the controller. For example, if all times in SMS are stored as mountain time, then the appropriate correction factor will be used to adjust to the business unit controller local time SubProcess 1 - Obtain PPV event schedule from PPV vendor, load to Master Event Schedule.
One of three possible origins for PPV event schedules is the PPV vendor. This subprocess details the acquisition ofthe vendor PPV event schedules through their load to business unit event schedules in the SMS.
SubProcess 1.1 - PPV event schedules deposited by a PPV vendor. The PPV event schedules obtained from PPV vendors are ASCII files that contain information that detail all PPV events originating from that vendor. The vendors are provided with a directory structure to use for schedule file deposit The process of depositing a schedule file does not require a PPV vendor to log into the SMS system. It does require the PPV vendor to establish a connection with a designated host computer, log onto this computer and then copy files onto it. Accordingly, each PPV vendor will be associated with a designated host computer, a log in ID and unique vendor ED. These IDs also serve a security function in allowing access only to appropriate files and directories. In addition, the file naming convention will identify the vendor and version ofthe schedule file. Any suitable file transfer utility software that is appropriate for the PPV vendor and host computer hardware, for example, that aUows for remote dial in and schedule file deposit, may be used. PPV vendors may broadcast more that one 'channel'. If a PPV vendor broadcasts more than one 'channel', aU scheduled events for all broadcast 'channels' originating from that vendor are included in the file. For example, Request TV broadcasts 5 different 'channels' or 'networks'. All events for Request 1 - Request 5 are contained in the same schedule file(s). SubProcess 1.2 - Verily integrity and accuracy of files sent from PPV vendors to ALPS System.
The ASCII schedule files provided by the PPV vendor are loaded onto database tables for processing. The database tables containing the information from the files sent from the PPV vendors must be checked for integrity and accuracy before an attempt is made to load the information into the SMS database. Each schedule file sent by the PPV vendors should be accompanied by a title file that contains additional information about the events that are contained in the schedule file. Each title file and schedule file contain a header record and detail records. Title file contents:
Header Record - contains information that will be used for identification and integrity verification ofthe title file and associated schedule file This header record is identical to the associated schedule file header record. Data elements: Vendor Transmittal ID - Vendors Unique Identifier for this transmission.
Vendor Identification Code - SMS internal identifier code for PPV vendor that is sending the file. Vendor Name
Total number of detail records in title file. Total number of detail records in schedule file.
Primary or Update indicator - indicates whether the detail file contains a primary schedule or a schedule update. Transmittal Range beginning date and time Transmittal Range end date and time Detail Record - Contains information pertaining to individual vendor products that are present in the schedule file. Data elements: Vendor Product Unique Identifier - A unique identifier for the product from this vendor. If this product is scheduled for broadcast over more than one programming month, the same unique identifier should be used for the same product during both of those months. Product Long Name - A long descriptive name ofthe product. Product Short Name - A short abbreviated name ofthe product. Product Standard Duration - The standard duration in minutes of this product.
Number of occurrences of the product in the schedule file. Default Product Price
Additional PPV / ANI / ARU / PRISM required data: Studio
Ratings - MPA, Content, Violence, Language, Sex Genre
Multi Language Indicator Closed Caption Indicator Macro Vision Capable
Subtitled Box Office Gross Theatrical Premier Data Video Premier Date PPV Premier Date
Sell Through Indicator Pay TV Window
Event Type - Adult, Movie, Event Schedule file contents: Header Record - contains information that will be used for identification and integrity verification ofthe schedule file and associated title file This header record is identical to the associated title file header record. Data elements: Detail Record - Each record is a scheduled event. Data elements:
Cancellation Indicator - An indicator that this event has been cancelled. The cancellation indicator will never be present in a primary schedule file. In an update file the cancelled event may be followed by the replacement events.
Alternate Indicator - Indicates that the event is not a primary event. The event is an alternate event for a special event. Event Has Alternates Indicator - Indicates that the event has alternates. A special event typically has alternates. If the special event is cancelled, the alternates will be broadcast instead.
Vendor Network Identifier - The vendor network that the event will be broadcast on.
Event Stream Identifier - This field is used to identify the event stream that the event belongs to. Vendor Product Unique Identifier - A unique identifier for the product from this vendor. If this product is scheduled for broadcast over more than one programming month, the same unique identifier should be used for the same product during both of those months. Scheduled start date and time. Event Duration - The time duration of this event, preferably in minutes. Event is alternate for:
Vendor Network ID, Vendor Product Unique ID and
Scheduled Start Date and Time - If the event is an alternate, these fields denote the event that the alternate event will replace. These fields uniquely identify an event. Controller Event ID - If this file originates from the cable operator's authorization center, this field contains an assigned controller event ID. 1.2 Process Tasks
1 Computer process submits the title and schedule files to program to verify integrity and accuracy The status ofthe schedule file is 'new' prior to verification The following points must be verified
Both headers from title file and schedule file must match.
Detail record counts from title file and schedule file must match counts in header records - Sum of occurrences in title file detail records must equal the total record count of schedule file.
Number of occurrences of each product in schedule file should equal total occurrence count in title file detail records. - All beginning date and times fall within the range of this programming months beginning date and time and ending date and time.
All vendor unique product EDs that occur in the schedule file must also occur in the title file - Check for overlapping times on same network for primary events.
2. If the files fail any of these checks then This subprocess terminates - The detected errors are logged
A report is produced and stored electronically. A notification is issued to an administrator indicating the load failure The schedule file's status is updated to 'rejected, errors found'.
3. If all tests are passed then: - The schedule file's status is updated to 'checked and verified'.
The process continues to the next step, subprocess 1.3, i.e., processed and loaded into the SMS tables.
1.2 User Interface
The function of the user interface is to provide administrative personnel the ability to perform visual checks and verifications on schedule files that have been received from the PPV vendors. The visual checks and verifications do not replace the programmatic checks that must be performed on the scheduled files. The programmatic checks are the only processes capable of changing the status ofthe schedule files to permit the load into the SMS tables.
1.2.1 Schedule File Analysis Screen
The schedule file analysis screen allows the user to choose a schedule from all available schedule files and to analyze and report on the contents of the file. Elements of the screen:
Available Schedules Files List - A list of schedule files and their current status. The user may choose a schedule file for analysis. Turn Automatic Load On/Off Option - An option that aUows the user to turn automatic loading ofthe schedule file on or off. If the automatic feature is turned on, the entire load process wUl be performed for any schedule files that are 5 received.
Analysis Options List - A list of analysis options that the user may perform on the chosen schedule file. Available options would include: 10 - Summary totals of vendor products and event occurrences.
Summary totals of vendor products and event occurrences by PPV network.
Standard title/schedule file error checks. 15 - Standard product duration and variance in schedule file.
Report Options List - A list of reports and presentation options that the user may choose to execute. Available 20 options would include:
Basic Title File Report - Readable formatting ofthe detail records in the title file. Basic Schedule File Report - Readable formatting of the detail records in the schedule file. 25 - Weekly Grid Schedule for a PPV network
Check Schedule File and Load to SMS Tables Option -
This option allows the user to submit the selected schedule file to accuracy and integrity check and to load to SMS database tables.
1.2.2 Analysis / Report Window
A window for display ofthe analysis or report output. Allows the user to view, save to a file, or print the output.
1.2 SMS Parameters
1.2.1 Vendor Table
A table containing valid PPV vendor entries. Associated Interface - a user interface that allows maintenance of the vendor table by defining and adding, or deleting, vendors. The vendors' EDs are verified as being unique. Elements include: Vendor ID - Unique identifier ofthe vendor. Vendor Name
1.2.2 Network Table
A table containing valid network entries.
Associated Interface - a user interface that allows maintenance of the network table by defining and adding, or deleting, networks. Network IDs are verified as being unique. Elements include: Vendor ID - Unique identifier ofthe vendor. - Pick List
Network ID - Unique identifier ofthe network. Network Name 1.2.3 Event Stream Table
A table containing valid event stream entries. Associated Interface - a user interface that allows maintenance of the event streams by defining and adding, or deleting, event streams. 5 Event stream EDs are also verified as being unique. In a defined event stream, events are verified as not overlapping and that defined event streams each fill a 24-hour period. Elements include: Vendor ID - Unique identifier ofthe vendor. - Pick List Network ED - Unique identifier ofthe network. - Pick List
10 Event Stream ID - Unique identifier ofthe event stream
Event Stream Name
Vendor Defined Event Stream / SMS Defined Event Stream Indicator - indicates where stream originates. Number of events in the stream for a 24 hour period. - Valid for
15 SMS defined streams.
Beginning time and ending time for each event within the 24 hour period.
Valid for SMS defined streams. Automatic Generation of Event Stream Available - An indicator
20 if this event stream may be automatically generated by the system.
This indicator determines the streams used in Subprocess 2.
1.2.4 Vendor File Names and Directories
A table containing valid vendors, the expected names of schedules 25 files that vendor would send, and the appropriate directories in which to look for the files. This information allows the program to detect incoming vendor files in appropriate directories. Accordingly, the file name and directory are also verified as being valid. Associated Interface - a user interface that maintains the storage directories and file names for each PPV vendor Elements include
Vendor ID - Unique identifier ofthe vendor - Pick List
File Name - The name ofthe file that the PPV vendor transfers to the designated host computer This file contains both schedule and title information
Directory - The directory where the schedule file is deposited
SubProcess 1.3 - Load Schedule flies to SMS product, PPV, network schedule, etc. tables.
The files sent from the PPV vendors must have passed the integrity and accuracy tests They may now be processed and loaded into SMS database tables Subprocess 1.3 also uses an event stream table which contains valid event stream entries as in 1 2 3 above
1.3 Process Tasks
1 The load program processes the schedule files and loads the information from the fields of the files into the SMS database tables
SMS Products PPV Products Events for the MES - Event Streams - a table containing vaUd event stream entries Alternates for Special Events
2 The events in the MES that were created or affected during this load are stamped with a Load Process Identifier The load process identifier allows future tasks in the subprocess or other subprocesses to identify the master events that are to be processed.
5 3. Update schedule file processing:
If update schedule file contains a cancellation for a primary event. The process updates the primary event to a canceUed status. The alternate events for
10 the cancelled event are updated from an alternate status to available status.
If update schedule file contains cancellation for event with no alternates and provides
15 replacement events. The process updates the cancelled event to cancelled status, and loads the replacement events to the tables listed in step 1.
4. Since the schedule files have passed all accuracy and 20 integrity checks, an error would be unexpected. If an error does occur during the process.
This subprocess terminates.
The changes made to database tables are rolled back, i.e., any information placed in the tables is 25 removed and returned to its original state.
The detected errors are logged.
A report is produced and stored electronically.
A notification is issued to an administrator indicating the load failure. The schedule file's status is updated to 'rejected, errors found'
5 If the load is completed normally then - The schedule file's status is updated to 'loaded to
MES'
Notification ofthe successful load of this vendor file is sent to the business units
The process continues to the next step, subprocess 4
1.3 User Interface
There is no direct user interface for this process step The Check Schedule File and Load to SMS Tables Option function ofthe user interface for file check and verification passes control ofthe process to this function
SubProcess 2 - PPV event schedule created by SMS, load to Master Event Schedule.
Another possible origin for PPV event schedules is SMS software This subprocess details the creation ofthe PPV event schedules through their load to business unit event schedules This subprocess also uses an event stream table containing valid event stream entries like in 1 2.3 above SubProcess 2.1 - PPV event schedule created by SMS, load to Master Event Schedule.
PPV schedules that are created within SMS are for PPV time blocks Unlike other PPV events, a block of viewing time is not usually associated with a particular movie, concert, or sporting event; rather, the viewer is buying the ability to view what is being broadcast on a specific network for a given length of time. The products that are available for sale in the SMS database are 'time blocks'. The products associated with the time blocks are created once. They exist in the SMS product table prior to the generation ofthe PPV block events.
Example: During a billing cycle, a viewer has purchased a PPV showing of the movie 'Terminator 2' and a 4 hour block of viewing time on the adult Playboy channel. The customers invoice might contain the two line items:
Terminator 2' 01/05/95 2:00 PM
3.25 'Playboy 4 hour viewing' 01/08/95 8:00 PM
6.95
The 'Playboy 4 hour viewing' may have contained 3 individual movies or other presentations during the viewing time. The individual items that were viewed during the 4 hour block are not itemized.
2.1 Process Tasks
1. Monthly or other timed computer process cycles through parameters to create PPV events and load information into the SMS database tables: Events for the MES. Event Streams.
2. The events in the MES that were created or affected during this load are stamped with a Load Process Identifier. The load process identifier allows future tasks in the subprocess or other subprocesses to identify the master events that are to be processed.
3. Notification of the successful creation of these PPV blocks is sent to the business units.
2.1 User Interface
The function ofthe user interface is to provide administrative personnel the ability to create the PPV time block events. The user interface allows the user to perform the automatic PPV block generation and load process for a specifically defined network event stream.
2.1.1 PPV Block Generation Screen
The PPV block generation screen allows the user to choose a previously defined vendor ED/network ID/event stream. The user may view the event stream definition, view last generated events that belong to this stream, and request the program to create the events and to load them to the SMS tables. Elements ofthe screen:
Available Event Streams - A list ofthe available defined events streams. 42
View event stream definition option - an option to present the Event Stream Definition Window for the chosen event stream. Available after an event stream has been chosen.
Last defined event for this event stream - Available after an event stream has been chosen. Shows the last defined event in this event stream. Allows the user to know where to begin the generation request.
Time interval for event generation - A beginning date and time and ending date and time for the next event generation request.
Request to Generate PPV Blocks and Load to SMS Tables Option - An option to allow the user to request the system to generate the PPV blocks and to load to SMS database tables.
2.1.2 Event Stream Definition View Window
A window to view a chosen event stream definition.
SubProcess 3 - Obtain PPV event schedule from TAC, load to Master Event Schedule.
PPV event schedules may also originate from TAC. TAC event schedules originate with PPV vendors and are processed before they are passed to SMS This subprocess details the acquisitions ofthe TAC PPV event schedules through their load to business unit event schedules in the SMS and the update ofthe MES with the TAC controller event ID. SubProcess 3.1 - Deposit of PPV event schedules from TAC
This process is identical to 1.1. The only difference is that the file originates from TAC.
SubProcess 3.2 - Verify integrity and accuracy of files sent from TAC
The process is identical to 1.2. The only difference is that the file originates from TAC.
SubProcess 3.3 - Load Schedule files to SMS product, PPV network schedule, etc. tables.
The process matches each event in the TAC file with an existing event in the Master Event Schedule. The Network, start time, end time and product name are used to find the match in the Master Event Schedule. A controller event schedule is generated for the TAC controller with the controller event IDs found in the file.
The controller event EDs are linked to the events in the Master Event Schedule.
Business Unit schedules which rely on TAC for their authorization center are updated to use the controller event IDs.
SubProcess 3.4 - TAC controller events assigned to Network Schedule.
AU events exist in the SMS MES tables; Products, PPV Products, Network Events, Event Streams, etc. at this time. The load process has been successful, or the processes would have terminated before reaching this step. The TAC controller events can now be added to the MES. 3.4 Process Tasks
1. As the load program reads through the schedule file, the MES is updated with the TAC event IDs that are present on the schedule file.
3.4 User Interface
There is no direct user interface for this process step. The Check Schedule File and Load to SMS Tables Option function ofthe user interface for file check and verification passes control of the process to this function after the 3.3 process has been completed.
The process evaluates whether or not this is a TAC event file based on file name and content.
Subprocess 4 - Network Event Schedules loaded to Business Unit Schedules.
The origin ofthe PPV event is not significant at this step ofthe process. All PPV events, regardless of their origin, are processed in the same fashion from this subprocess through the end ofthe ALPS process.
Subprocess 4.1 - Network Event Schedules loaded to Business Unit Schedules.
AU events exist in the SMS MES tables; Products, PPV Products, Network Events, Event Stream, etc. at this time. The load process has been successful, or the process would have terminated before reaching this step. TAC controller events have been loaded if applicable. The events that have been processed during the previous subprocesses are identifiable by their load process identifier. This process may now create business unit event schedules from the loaded Master Events. 4.1 Process Tasks
1. The load program processes the events that have just been loaded or updated by the previous processes. Records are created or updated in the SMS tables:
Business Unit Event Schedules Business Unit Product Tables Business Unit Pricing Tables
Events that already exist are not reloaded to the business unit event schedules.
2. Update schedule file processing:
If update schedule file contains a cancellation for a primary event. The process updates the primary event to a cancelled status. The alternate events for the canceled event are updated from an alternate status to available status. If update schedule file contains cancellation for event with no alternates, and provides replacement events. The process updates the cancelled event to cancelled status, and loads the replacement events to the tables listed in step 1.
3. The pricing for the events is derived from ALPS pricing parameters and updates the business unit pricing tables. 4.1 User Interface
The function of the user interface is to provide administrative personnel the ability to create the PPV business unit event schedules. The user interface allows the user to select a business unit and to perform the automatic load process for a specifically defined network event stream, or a selected set of events
4.1.1 Business Unit Event Schedule Screen
A screen that aUows the user to select a businesses unit, select valid event streams that pertain to this business unit, select individual events for this business, and to execute the program that loads and prices the events to the business unit schedule Screen Elements
Business Unit - List of available business units that may be selected.
Event or Event Stream Selector - A device to allow the user to select a specific event(s) or an entire event stream(s) that will be loaded for the selected business unit
Beginning and Ending Dates for Event Stream Load - the beginning and ending dates for the event stream load.
Request to Load Event or Event Stream to Business Unit Schedule Option - An option to allow the user to execute the program to load the selected event or event streams to the business unit schedule, and to perform the appropriate pricing for the scheduled events 4.1 SMS Parameters
4.1.1 ALPS Pricing Tables
Table that have been set up to price products for a given business unit A product set up through SMS may be priced at the corporate level down to a business unit level The ALPS process builds product pricing records at the business unit level To accomplish this, the ALPS pricing table contains default information for building the business unit pricing information The business unit ED is verified as being valid for the respective table being used
Business Unit Identifier - The business unit that this information pertains to
Event Type - Movie, Special Event, Adult
Use $0 Price Indicator - Indicates that a price of $0 00 should be loaded to the business unit product pricing tables
Use Default Price from Vendor File Indicator - Indicates that the default price supplied by the PPV vendor should be loaded to the business unit product pricing tables
Use this ALPS Pricing Table Amounts - Indicates that the default prices in this table should be loaded to the business unit product pricing tables
Default Regular Price - Default Price for this type of PPV event type Default Club Price - Default Club Price for the PPV event type
4.1.2 Business Unit Channel Lineup Table
A table containing Business Unit channel lineups. This table 5 contains time of broadcast information to permit a business unit to accomplish channel switching.
Example: Business Unit A broadcasts Request 1 from 6:00 AM to 8:00 PM, and then broadcasts SPICE from 8:00 PM to 6:00 AM. 10 Allows the program to determine how to load events for a given business unit.
Minimum information required for this function: Business Unit ID - Unique Identifier ofthe Business Unit.
15 Network ID - Unique Identifier for the network.
Business Unit Channel Indicator - Indicates which channel that this network is broadcast on for this particular network. Event Stream Indicator - A valid event stream indicator for the PPV network that is broadcast on this business unit's channel.
20 Beginning Time for this Network - The beginning time for broadcast of this network on this channel for this business unit. Ending Time for this Network - The ending time for broadcast of this network on this channel for this business unit.
25 4.1.3 Business Unit ALPS Parameters Table
A table containing other parameters necessary for automatic load of PPV events from the MES to the Business units. The business unit ID is verified as valid for the respective table. Associated Interface - a user interface that allows maintenance of the ALPS parameters table. Elements include: Business Unit ID - Unique identifier of the business unit. - Pick List. Auto Load Indicator - Indicates if automatic loading for this business unit is requested.
Load Full Block Times - Indicates if full block times should be loaded instead of straight duration times.
Subprocess 5 - Assign and Program Business Unit Controller Event IDs. Update Business Unit schedule with controller event ID.
As stated previously, this process does not have to be performed immediately foUowing the load of a PPV vendor schedule load. Realistically, with the capabilities provided by the present invention, it is good business practice to perform this function after a schedule load and on a regularly scheduled basis. It is important to perform this process after a schedule load to insure that cancellations or updates are processed immediately. It is important to perform this process on a regularly scheduled basis to keep the business units controller up to date with the available PPV events.
Characteristics that determine schedule frequencies:
The major characteristics that determine scheduling frequency are:
1. Controller Event ED Capacity - The total number of events that a business unit controller can hold. For large business units, for example, Jerrold, Scientific- Atlanta and Tocom, these capacities are normally in the 1000's. Some old controllers capacities are as low as 6. 2. Average Number of PPV Events per Day
3. Total Number of Events that the business unit wishes to have active on the controller at any given time - Most business units do not load their controUers to capacity. They find it much easier to maintain a load of 100-300 events at any given time.
Example:
Business unit A has a controller that has a total capacity of 8000 events. Event EDs 1-1000 are reserved for subscriptions etc. Total capacity of the controller for PPV events is 7000.
Business unit A broadcasts 3 PPV channels. PPV Channel 1 averages 15 events/day. PPV Channel 2 averages 10 events/day. PPV Channel 3 averages 25 events/day. Total average number of PPV events per day = 15+10+25=50.
Business unit A prefers to keep 300 active controller events at any given time.
Schedule frequency = (300 active events) / (50 events day) = 6 days. Business unit A is a smart business unit and plays it very safe by utilizing a two day buffer. Schedule frequency for controller event ID assignment, programming and business unit schedule update is every 4 days. Example
Business unit B has a controller that has a total capacity of 300 events Event IDs 1-100 are reserved for subscriptions etc Total capacity ofthe controller for PPV events is 200
Business unit B broadcasts 3 PPV channels PPV Channel 1 averages 15 events/day PPV Channel 2 averages 10 events/day PPV Channel 3 averages 25 events/day Total average number of PPV events per day = 15+10+25 = 50
Business unit B prefers to keep 300 active controller events at any given time but capacity is only 200, so 200 is the maximum number of active controller events
Schedule frequency - (200 active events) / (50events/day) = 4 days Business unit B is also a smart business unit but plays it less safe than business unit A, uses 1 day buffer Schedule frequency for controller event ID assignment, programming and business unit schedule update is every 3 days
Automatic Process Initiation vs. User Requested Process Initiation.
This process may be initiated automatically or at a user's request The automatic initiation helps to insure that the business unit controller is fully loaded with PPV events and that all events that are intended to be loaded to the controller are loaded in a timely fashion If the process is left to user initiated requests, a user error (forgetting to run the process) can result in ordered PPV events not being able to be delivered The automatic process is designed to cycle through the business unit definitions in SMS and to determine if the business unit requests automatic process initiation. If the business unit does not request automatic process initiation, it is skipped. If the business unit does request automatic process initiation, parameters are checked to determine if the process should be executed at this time. If appropriate, the event scheduler is executed for that business unit. The automatic process continually cycles the business unit table to determine if it should perform the event scheduler for each business unit.
User requested process initiation is accomplished through an associated interface that allows the user to identify a business unit and to request that subprocess 5 be performed for the selected business unit.
5.0 Process Tasks
See individual tasks listed below.
5.0 User Interface
The function of this user interface is to allow administrative personnel at a business unit level to request that the business unit controller IDs be assigned and programmed and to have the business unit PPV event schedule updated with the appropriate controller event IDs. The interface also allows the user to view and report on the events that are currently programmed on the business unit controller, those events that are pending controller ED assignment and all pertinent information relating to those events,
5.0.1 Controller ID Assignment and Programming Screen The Controller ID Assignment and Programming Screen allows the user to choose a business unit from all available business units and to request that the event scheduler process be performed. It also allows the user to analyze and report on the programmed, pending and completed controller events. Elements of the screen include:
Business Unit ID - List of business units that have associated controllers. This list may be blocked out and defaulted to the current user's business unit if the user does not have security to allow the manipulation of other business unit's event schedules.
The user may select a valid business unit.
Business Unit Name - Name of selected business unit.
Business Unit Controller ID - An identifier ofthe controller used by this business unit.
Date of Last Controller Event Programming Process - Date and time that the last controller assignment programming process was executed for this business unit. Display only.
Last Controller Event Sequence Number Used - Display only.
Controller Event Sequence Range - Display only.
Time between automatic controller assignment/programming processes - The time in hours and minutes that should elapse between the automatic controller assignment processes. Display only. Controller Event Analysis Options - A list of reports/presentation options that the user may choose to execute. All of these options can be scoped (i.e., limited) to a specific date/time range. Available options include:
Report of Current Programmed but not completed controller events and the products that they refer to.
Report of Current Pending but not programmed controller events and the products that they refer to.
Recently completed controller events.
Run ControUer Event Scheduler Option - An appropriate option to start the assignment and programming of controller event process.
5.0.2 Analysis/Report Window
A window for display of the analysis output. Allows the user to view, save to a file or print the output.
5.0 SMS Parameters
The parameter tables listed here will be used throughout the entire controUer event scheduling process below. They are critical for the assignment and programming process.
5.0.1 Controller Event Assignment and Business Unit Controller Characteristics Table
A table containing characteristics of the controller used by a particular business unit. Associated Interface - a user interface that allows maintenance of the Business Unit Controller Characteristics table. Elements include:
Business Unit ID - Unique identifier ofthe business unit.
Controller Type - Pick list of valid controller types.
Controller ID - Unique ID of the controller used by this business unit.
Controller Low Event ID - The lowest available controller event ID.
ControUer High Event ID - The highest available controller event ID.
Controller Low PPV Event ID - The lowest available controller event ID for PPV events.
Controller High PPV Event ID - The highest available controller event ED for PPV events.
Maximum Number of PPV Controller Events - The total number of active events that should be in use for PPV events. Must be less than or equal to (Controller High PPV
Event ID) - (Controller Low PPV Event ID).
Current Number of PPV Controller Events - The current number of assigned PPV controller events. Last Used PPV Controller Event ED - Normally updated by assignment process Can be updated but a verification to change this field is required
Automatic Initiation of Event Scheduler - Indicates if event scheduler is initiated automatically.
Last Event Scheduler Completed - Date and time of last completed event scheduler. Normally updated by event scheduler Can be updated but verification to change this field is required.
Time Between Automatic Event Scheduler - Time in hours and minutes between Automatic Event Scheduler A time between processes of 00:00 means perform event scheduler continually.
Send Business Unit Notification After Event Scheduler
Indicator - Indicates if the business unit desires to have a notification sent to it after the event scheduler has been performed.
Once a particular Business Unit is selected, all subprocesses of
Subprocess 5 listed below are carried out for the selected business unit If the process was initiated automatically, the process will have the current business unit
ID passed as a parameter. If the process was initiated manually, the business unit
ED selected by the user would be passed to this process as a parameter.
Subprocess 5.1 - Update Completed Events This processing task does a preliminary cleanup of all ofthe events with an assigned controller event ID. If the current time is later than the start date and time plus the duration ofthe event, the event is now a completed event and its status must be updated to indicate this fact.
5.1 Process Tasks
1. The process evaluates each PPV event in the business unit schedule with a controller event ID assigned and a status of pending. If the current time is later than the start date and time plus the duration of the event, the event is now a completed event and its status is updated to completed.
2. The Current number of PPV Controller Events is decremented by 1 to indicate that another event is now available.
Subprocess 5.2 - Process Cancelled Events
If an event has been cancelled that already has a controller event assigned, the controller must be updated to delete this event. Once the event is deleted, other events may be added to replace the cancelled event.
5.2 Process Tasks
1. The process evaluates each PPV event in the business unit schedule with a controller event ID assigned and a status of cancelled. 2 A packet containing the information to delete the event from the controller is assembled by the program. Data Elements include
1 Controller Event ID
2 Event start date and time
3 Duration.
4 Cancellation indicator
5 Event Broadcast Channel
10
3 Packet is sent to Addressability function
4 Status Code returned from addressability function is evaluated
15
5 If the status is a successful deletion, then processing continues
The Current Number of PPV ControUer Events is decremented by 1 to indicate that another event is 20 now available
6. If the status returned from the addressability function is an error code, then
25 - This subprocess terminates
The detected errors are logged
A report is produced and stored electronically A notification is issued to an administrator indicating the cancellation failure and sent to the screen if it was a user submitted requested
Subprocess 5.3 - Sort All Available Events.
The assignment process must first prioritize the available events before assigning controUer events IDs. Events that have a nearing start time should be loaded before those that have a later start time.
5.3 Process Tasks
1. All events for the business unit that have no assigned controller event ID are sorted by start date and time.
Subprocess 5.4 - Assign Event IDs, Program the Controller and Update Business Unit Schedule.
The prioritized list of available events is now processed As each event is programmed, the Current Number of PPV ControUer Events is incremented by 1 and the process continues untU the Current Number of PPV Controller Events reaches the Maximum Number of PPV ControUer Events as set by the business unit.
5.4 Process Tasks
1 The process cycles through the prioritized list of business unit events. 2. A packet containing the information to program the controller event is assembled.
The Last Used PPV Controller Event ID is 5 incremented by 1 and sent as the controller event
ID.
If the Last Used PPV Controller Event ID reaches the Controller High PPV Event ID, then the Last
Used PPV Controller Event ID is reassigned to the 10 ControUer Low PPV Event ED or the Next Available
Controller Event ED value.
The following data elements are included in the packet:
1. Controller Event ID.
15 2. Event start date and time.
3. Duration.
4. Cancellation indicator.
5. Event Broadcast Channel - from business unit schedule table.
20
3. Packet is sent to Addressability function.
4. Status Code returned from addressability function is evaluated.
25 5. If the status is a successful assignment, then: processing continues.
The Current Number of PPV Controller Events is incremented by 1 to indicate that another event has been assigned.
The business unit schedule is updated with the assigned controller event ID.
6. If the status returned from the addressability function is an error code, then:
This subprocess terminates. The detected errors are logged. A report is produced and stored electronically. - A notification is issued to an administrator indicating the assignment failure and sent to the screen if it was a user submitted request.
Subprocess 5.5 - Business Units are Notified.
After the assignment process has taken place, a notification is sent to a business unit if Send Business Unit Notification After Event Scheduler Indicator is Yes. User interface initiated assignments do not produce a notification.
5.5 Process Tasks
1. A summary report ofthe process is sent to the business unit. Addressability - Explains the controller ability to authorize and deauthorize converters
The Addressability function encompasses the following points to ensure that the needs of ALPS is properly addressed
1 Superset of data needed to automatically program the controllers
2 Superset of data needed to automatically cancel an event on a controller
3 AbUity to accept a packet of information and process it quickly enough for an automated process
Schedule File Scenarios:
1. Normal Schedule File Is Received.
A schedule file from a PPV vendor is deposited on the designated host computer
Automatic Load Option
The process passes control to the verification program - Any detected errors halt the process, produce reports and notify an administrator of load failure The process passes control to the MES load program
Any detected errors halt the process, produce reports and notify an administrator of load failure - The events are loaded to MES, appropriate event streams are created
The events are stamped with an identifier for subsequent process steps Alternates are added if they are present in the file The process passes control to the Business Unit load program.
The events are loaded to the Business Unit schedule by using the events stamped with the identifier for
5 this process, the ALPS pricing tables, and the channel lineup tables.
The status of the schedule file is updated throughout the process.
10 - Manual Load Option
A user logs onto SMS and chooses the schedule file analysis and reporting menu
The user selects a schedule file to analyze. The user produces reports and analysis. 15 - The user submits the schedule file to the verification and load programs. The process passes control to the verification program.
Any detected errors halt the process, produce reports and notify an administrator of load failure. 20 - The process passes control to the MES load program.
Any detected errors halt the process, produce reports and notify an administrator of load failure. The events are loaded to MES, appropriate event streams are created. 25 - The events are stamped with an identifier for subsequent process steps. Alternates are added if they are present in the file. The process passes control to the Business Unit load program.
The events are loaded to the Business Unit schedule by using the events stamped with the identifier for this process, the ALPS pricing tables, and the channel lineup tables.
The status ofthe schedule file is updated throughout the process.
Update Schedule File Is Received.
A schedule file from a PPV vendor is deposited on the designated host computer.
Automatic Load Option - The process passes control to the verification program.
Any detected errors halt the process, produce reports and notify an administrator of load failure. The process passes control to the MES load program.
Any detected errors halt the process, produce reports and notify an administrator of load failure.
Canceled Events are updated in the MES and their status is now canceled.
If alternates for the canceled event exits, the alternates are updated and their status shows the events as available active events.
If alternates for the canceled events do not exist in SMS but replacements are sent with the cancellation, they are loaded normally and their status is available active event. The process passes control to the Business Unit load program.
Canceled Events are updated in the MES and their status is now canceled.
5 - If alternates for the canceled event exists, the alternates are updated and their status shows the events as available active events. If alternates for the canceled events do not exist in SMS but replacements are sent with the
10 cancellation, they are loaded normally and their status is available active event. The events are loaded to the Business unit schedule by the using the events stamped with the identifier for this process, the ALPS pricing tables, and the
15 channel lineup tables.
Manual Load Option
A user logs onto SMS and chooses the schedule file analysis and reporting menu. 20 - The user selects a schedule file to analyze.
The user produces reports and analysis. The user submits the schedule file to the verification and load programs.
The process passes control to the verification program. 25 - Any detected errors halt the process, produce reports and notify an administrator of load failure. The process passes control to the MES load program
Any detected errors halt the process, produce reports and notify an administrator of load failure Canceled Events are updated in the MES and their status is now canceled.
If alternates for the canceled event exists, the alternates are updated and their status shows the events as available active events.
If alternates for the canceled events do not exist in SMS but replacements are sent with the cancellation, they are loaded normally and their status is available active event. - The process passes control to the Business Unit load program.
Canceled Events are updated in the MES and their status is now canceled. If alternates for the canceled event exists, the alternates are updated and their status shows the events as available active events. If alternates for the canceled events do not exist in SMS but replacements are sent with the cancellation, they are loaded normally and their status is available active event.
The events are loaded to the Business unit schedule by using the events stamped with the identifier for this process, the ALPS pricing tables, and the channel lineup tables.
PPV Blocks are Created by SMS
Automatic Creation Option A timed process is initiated once a month to produce events automatically.
The process passes control to the PPV block generation program. 5 - PPV blocks are created and loaded to the
MES using the event stream table. Only event streams that are identified as automatic generation are created. The events are stamped with an identifier for 10 subsequent process steps.
The process passes control to the Business Unit load program.
The events are loaded to the Business unit schedule by using the events stamped with
15 the identifier for this process, the ALPS pricing tables and the channel lineup tables.
Manual Load Option
A user logs onto SMS and chooses the PPV block generation 20 menu.
The user selects an event stream to create. The user submits the schedule file to the verification and load programs.
Business Unit Event Scheduling Scenarios:
1. This Event Scheduler is Initiated After a Schedule File Has Been
Received.
A primary schedule file was deposited by a PPV vendor.
After schedule file load, control is passed to a process to do an assignment and programming of business unit controller event IDs. - All business units are cycled to determine if an automatic assignment process should be performed for that particular business unit.
Event statuses are updated.
No cancelled events would be expected in this situation. - Events are prioritized.
Events are assigned and programmed.
Notification is sent to the Business unit if requested.
An update schedule file was deposited by a PPV vendor. - After schedule file load, control is passed to a process to do an assignment and programming of business unit controller event EDs.
All business units are cycled to determine if an automatic assignment process should be performed for that particular business unit.
Event statuses are updated.
Cancelled events would be expected. Cancelled events are canceUed from the controller if they have a controller event
ID assigned. Events are prioritized. Alternates for the cancelled events may now be available for assignment and programming. Events are assigned and programmed. Notification is sent to the Business unit if requested.
2. This Event Scheduler is Initiated from an Automatic Process.
All business units are cycled to determine if an automatic assignment process should be performed for that particular business unit.
Event statuses are updated.
Cancelled events are cancelled from the controller if they have a controller event ID assigned.
Events are prioritized. Alternates for any cancelled events may now be available for assignment and programming.
Events are assigned and programmed.
Notification is sent to the Business unit if requested.
3. This Event Scheduler is Initiated from a User Interface.
Only the business unit selected from the user interface will be processed.
Event statuses are updated.
Cancelled events are cancelled from the controller if they have a controller event ED assigned
Events are prioritized. Alternates for any cancelled events may now be available for assignment and programming.
Events are assigned and programmed.
Notification is sent to the Business unit if requested. The foUowing is an example ofthe process of loading a file, creating the master event schedule, generating a business unit schedule and generating controller authorizations Figures 8 through 22 are examples of computer screen displays that can be generated so that a user ofthe ALPS system can interact with and monitor the ALPS process
To perform the PPV Vendor Schedule Load, the ALPS GUI must be running and the ALPS-Loader Open Server must be operating The Schedule Load is intended for the coφorate user Preferably, the GUI and ALPS Loader Open Server are running on the same designated host computer This allows the GUI and open server to view the same schedule files
A PPV Vendor Schedule must be available to the ALPS Loader Open Server for the load to be performed; the file must be on the same designated host computer where the ALPS Loader is in operation and in a known directory location To initiate loading a PPV Vendor Schedule, select the "ALPS
Admin" icon from the ALPS Main Window (Figure 8) The ALPS Admin Window shown in Figure 9 will pop up The first tab window is the Distributor The window is shown in Figure 9 The display shows the distributor's (i e , PPV vendor's) file ID and the file's expected location Table 6. ALPS Distributor Tab Window Column Data
Column Purpose
Distributor distributor of schedule file
File Prefix prefix of schedule file
Directory directory where files are stored
Machine ID address of distributor host machine
The fields in the display DO NOT have edit capability
Select a distributor and move on to the File Load Tab Window The File Load Tab Window allows the user to load PPV Vendor Schedules into the PPV holding tables The window is shown in Figure 10 The display shows the files available in the distributor's specified directory
Table 7. ALPS Admin File Load Tab Window Column Data
Column Purpose
Time Time that the file was deposited in the directory
Distributor name of distributor chosen from Distributor Tab Window
File name files found in the specified directory, with distributor's specified prefix
Three functions are performed in this window
The View FUe Button will bring up in a read-only text window the highlighted file The user can review the schedule file for correctness This is useful if errors occur during the file load
The Load File Button will load into the PPV Holding Tables the highUghted file(s) Once the file is loaded, if successful, the file is moved to a new holding location, this hides the file so the user will not reload it
The Check Button aUows the user to view the status ofthe file load If there were errors, they wUl be displayed. A display will show the exact error and what line in the file caused the error. The file will be editable from this display so the error can be fixed and the file re-submitted for load
HighUght a FUe row and select the Load File Button The load will take some time When the load is complete, the status ofthe load can be viewed via a status indicator on the display (ALPS ADMIN WINDOW)
To perform the MES Load, the ALPS GUI should be running and the ALPS Gen MES Open Server must be operating The MES Load is intended for the corporate user A PPV Vendor Schedule must have been previously loaded into the PPV Holding Tables in order for MES generation to be performed.
To initiate MES generation, select the "ALPS Admin" icon from the ALPS Main Window. From the Main Window, select the MES Load tab window.
The MES Tab Window allows the user to create the Master Event Schedule. The window is shown in Figure 11. This display shows PPV Holding Table data ready for migration to the Master Event Schedule:
Table 8. MES Load Tab Window Column Data
Column Purpose
Filename name of loaded PPV Schedule File
Time time of load
Transmittal ID unique ID associated with the PPV Schedule File (ID is found in the file header record)
Status status ofthe load
Distributor ID distributor associated with the PPV Schedule File
The fields in this display DO NOT have edit capability.
There are two actions that can be taken in this window The Load MES Button allows the user to load the Master Event
Schedule from the PPV Holding Tables. Select the desired row, hit the Load MES Button; ALPS wiU process all data with the transmittal ED ofthe selected row into the MES.
The Check Button allows the user to view errors that occurred during generation of the MES. A display will detail the exact errors that were encountered in the load process.
Highlight a file row and hit the Load MES button. The load will take some time. When complete, the highUghted row will be un-highlighted and the transmittal information will be removed. To view the Master Event Schedule, continue to the MES Schedules
Window.
Event Stream Tab Window
To view the Master Event Schedule, the ALPS GUI must be running. Select the Master Event Schedule icon; the MES Schedules window will pop up.
The MES Schedules window is strictly a method of viewing the MES. The window has two methods of viewing data: a timeline format and a listing format. The Timeline tab window shows the PPV products in a horizontal timeline fashion organized by network. Figure 12 shows the window. As a corporate user, all event streams controlled by coφorate are visible. When initiated, the window wiU show the events for the current day. To view other days, set the date at the top to the desired day, select the Apply Button; the schedule will change to the specified day.
There are NO edit capabilities from this display.
The Listing tab window is a different way to view PPV product data. Figure 13 shows the window. Event data is shown in time order for the specified day. The columns, Start Date, End Date, Network, Product and Price are self- explanatory.
There are NO edit capabilities from this display.
Each Business Unit is responsible for creating its own schedule. A
Business Unit can select products from the Master Event Schedule and use those products for its own schedule. To generate a Business Unit schedule, the ALPS GUI must be operational, and the ALPS Gen BU Open Server must be up and running.
Before the Business Unit schedule can be generated, the ALPS GUI should be set to the desired Business Unit. The Change Business Unit icon allows the user to specify a business unit. To change business units, do the following: select the icon; the
Business Unit Browser will pop up. The window is shown in Figure 14 The user needs to move down the business unit hierarchy until the required unit is found.
Once the Desired Business Unit is found, double click on it; the window will close and the ALPS GUI will register the selection.
From this window, the Business Unit schedule is generated. Select the icon from the ALPS GUI and the Business Unit Information window will pop up. There are three tab windows available: Defaults, Schd Defiis and Auto Load. The window is shown in Figure 15. The Defaults tab window is where the event and customer types are created for the Business Unit schedule. The window is shown in Figure 15. In order for a schedule to be generated, there must be an entry with a "ALL" customer; the event type should preferably be "Movie."
To add a row, select the ADD button and fill in the appropriate highlighted columns.
The Schd Defns is the window from which a business unit schedule is built. The window is shown in Figure 16. The user is given the option of selecting those networks from the Master Event Schedule that are carried by the Business Unit. The user should select the networks and move them into the BU (Business Unit) Current Schedules list. Select the APPLY button after moving Network information around.
Once the networks are chosen, a date range must be provided. The dates should cover the time period over which the schedule will apply. Enter in the desired dates and select the Generate button; it will take some time to generate the Business Unit schedule.
Once the business unit schedule is generated, it can be viewed from the Business Unit Schedule icon. If the schedule generation was successful, there will be data in the viewing window. The Auto Load functionality may be turned on/off from a display and saved in the database for future needs
To view the Business Unit Schedule, the ALPS GUI must be running. Select the Business Unit Schedule icon; the Business Unit Schedules window will pop up. The window is shown in Figure 17
The Business Unit Schedule window has two methods of viewing data: a timeline format and a listing format. It also contains a window for generating the ARU file.
There are NO edit capabilities from this display
The Timeline tab window shows the PPV products in a horizontal timeline fashion The products are organized by network. Figure 17 shows the window. When initiated, the window will show the events for the current day. To view other days, set the date at the top to the desired day, select the Apply Button, the schedule will change to the new day.
The Listing tab window is a different way to view PPV product data. Figure 18 shows the window. Event data is shown in time order for the specified day The columns are described in the following table.
Table 9. BU Schedule Listing Tab Window Column Data
Column Purpose
Start Date Start Date of event
End Date End Date of event
Network Network carrying event
Product event name
The ARU File tab window allows the user to generate an Audio Response Unit file. The window is shown in Figure 19 This file is in a format defined by the ARU service provider, for example, Telecoφ Company, a "call in and order" provider. The information displayed is basically the channel map information for the current Business Unit.
Table 10.
Column Purpose
Hub ID ID of a hub owned by current business unit
Network network carried through hub
Channel channel mapped to network
Cable cable mapped to network
DNIS number that Telecorp maps back to a Network
The display as shown only allows for ordering of networks. However, a DNIS number may also be tied to an individual PPV event. To generate the file, select the desired PPV products, enter an ARU
FILE name, a date range and the DNIS number for each network. Hit the Generate ARU FUe button. The file will be generated and written to the specified location and name.
The file will be transferred to, for example, Telecorp using any suitable FTP. Currently, it is performed through the following steps: first, the generated ARU files need to be on a HOST computer with connectivity to Telecoφ. When this is done, on the connected host, run the program coftOOmc (this program is part ofthe GL software). The transfer program relies on the ini file pointed at by the STCI FELENAME environment variable for configuration information. An ".ini file" is a configuration file which stores startup parameters for this process.
The primary goal of ALPS is to create a Controller Event Schedule. This schedule contains the authorization codes for the PPV Events Each authorization code is used to allow a customer to view an event through their settop. The controUer schedule can be created from the coφorate level down to the business unit level. In addition to creating the auth code schedule, the codes are sent to the Addressability System as they are created. The addressability system loads controllers with the codes.
To perform the PPV Vendor Schedule load, the ALPS GUI must be running and the ALPS Gen CTRL Open Server must be operational. Select the ControUer Schedule icon from the ALPS GUI. The window will not pop up if the current Business Unit has no controUers. When the window pops up, there are two tab windows: the Controller and Ctrlr Events tab windows. The window is shown in Figure 20. The Controller tab window is where the schedule generation takes place. This window is shown in Figure 20. It is important that the controller belong to the current business unit and that the controller is a MASTER controller. If either of these conditions are not met, then a controller schedule cannot be generated. There are a number of items in this window to set up. Controller ED
The controller ID selector specifies the controller that will either have auth codes generated or loaded. It is important that the selected controller be a MASTER controller. A controller schedule cannot be generated directly for a SLAVE controller. SLAVE controllers use the schedules of their MASTER controller. These relationships can be viewed in the Channel Lineup GUI (a GUI found in SMS which is a user interface application within SMS). Authorization Code Ranges
Each controUer has a range of "auth codes" that it will recognize for authorizations of PPV events. If the controUer is maintained by the current business unit, then the auth code ranges can be edited. Subscription
The subscription range defines the auth codes used by the controller for monthly subscription services. Pay-Per-View The pay-per-view range defines the auth codes used by the controller for individual events The controller schedule wiU contain authorization information only for PPV events Last PPV Auth Code Assigned This field indicates the last auth code number assigned It indicates to the user where the previous auth code generation stopped This field cannot be edited from the window Maximum Number PPV Events
This is the maximum number of PPV event codes allowed The number can be smaller than the number of events defined in the range The field aUows for a controller with limited capacity to store auth codes This field can be edited if the current business unit maintains the controller Desired Maximum PPV Events
This can be number less than the maximum number It overrides the maximum number This field can be edited if the current business unit maintains the controller Current Number PPV Events
This is the current number of auth codes already defined for the controller Run Auth Code Generator
The authorization codes are generated here Pick a date range and hit the Generate button Load Auth Codes from File
There is a special circumstance when the auth codes are provided by a business unit or associate When this is the case, the auth codes will be sent in a SMS Schedule file, ALPS needs only to read the file and load the provided auth codes Enter the file name and select the Load Authorizations button Last Scheduler Run
This field shows the date/time when the controller schedule was last generated for the current controller.
The CTRL Event tab windows provides a way to view the controller events. The display shows various information about the events, described in the following table. The display is shown in Figure 21.
Table 11. CTRL Events Tab Window Column Data
Column Purpose
Start Time event start time
End Time event end time
Network Name network name carrying event
Product Name event title
Prod Type event type
Product Auth controller authorization code

Claims

WHAT IS CLAIMED IS:
1. A database system useful for generating pay-per-view event schedules for use in a cable television system, said database system comprising: a vendor schedule loader, wherein said loader receives and stores pay-per-view vendor's schedules and update notifications; a master event schedule and update generator, wherein said master event schedule and update generator is in communication with said loader, receives said pay-per-view schedules and generates and stores a master event schedule and if said update notification is also received, updates said master event schedule; a business unit schedule generator, wherein said business unit schedule generator is in communication with said master event schedule and update generator and generates and stores a business unit schedule and updates said business unit schedule if said update notification is present; and a controUer event schedule generator, wherein said controller event schedule generator is in communication with said business unit schedule generator and generates and stores a controller event schedule.
2. A method for managing a database system which is useful for generating pay-per-view event schedules for use in a cable television system, said method comprising the steps of: loading vendor schedule files and storing them in a first memory of a host computer; generating a master event schedule from the stored vendor schedules and storing said master event schedules in a database storage means; generating a business unit schedule from said stored master event schedule and storing it in a second memory of a business unit computer; and generating a controller event schedule from said stored business unit schedule and storing said controller event schedule in a third memory of a controller computer. 3 A method according to claim 2, wherein said vendor schedule file includes an update notification and said step generating said master event schedule updates and stores said master event schedule and said step of generating said business unit schedule updates and stores said business unit schedule.
PCT/US1996/020131 1995-12-29 1996-12-23 Method and system for managing a pay-per-view scheduling database WO1997024874A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU14642/97A AU1464297A (en) 1995-12-29 1996-12-23 Method and system for managing a pay-per-view scheduling database

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US58080395A 1995-12-29 1995-12-29
US08/580,803 1995-12-29

Publications (1)

Publication Number Publication Date
WO1997024874A1 true WO1997024874A1 (en) 1997-07-10

Family

ID=24322627

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US1996/020131 WO1997024874A1 (en) 1995-12-29 1996-12-23 Method and system for managing a pay-per-view scheduling database

Country Status (2)

Country Link
AU (1) AU1464297A (en)
WO (1) WO1997024874A1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2331884A (en) * 1997-11-26 1999-06-02 Daewoo Electronics Co Ltd Programme guide information interface for a satellite broadcast receiver
WO2015142759A1 (en) * 2014-03-17 2015-09-24 Clipcast Technologies LLC Media clip creation and distribution systems, apparatus, and methods
US9786324B2 (en) 2014-03-17 2017-10-10 Clipcast Technologies, LLC Media clip creation and distribution systems, apparatus, and methods

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5550576A (en) * 1995-04-17 1996-08-27 Starsight Telecast Incorporated Method and apparatus for merging television program schedule information received from multiple television schedule information sources
US5559548A (en) * 1994-05-20 1996-09-24 Davis; Bruce System and method for generating an information display schedule for an electronic program guide
US5576755A (en) * 1994-10-28 1996-11-19 Davis; Bruce System and method for verification of electronic television program guide data

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5559548A (en) * 1994-05-20 1996-09-24 Davis; Bruce System and method for generating an information display schedule for an electronic program guide
US5576755A (en) * 1994-10-28 1996-11-19 Davis; Bruce System and method for verification of electronic television program guide data
US5550576A (en) * 1995-04-17 1996-08-27 Starsight Telecast Incorporated Method and apparatus for merging television program schedule information received from multiple television schedule information sources

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2331884A (en) * 1997-11-26 1999-06-02 Daewoo Electronics Co Ltd Programme guide information interface for a satellite broadcast receiver
WO2015142759A1 (en) * 2014-03-17 2015-09-24 Clipcast Technologies LLC Media clip creation and distribution systems, apparatus, and methods
CN106464829A (en) * 2014-03-17 2017-02-22 克里普卡斯特科技有限责任公司 Media clip creation and distribution systems, apparatus, and methods
US9583146B2 (en) 2014-03-17 2017-02-28 Clipcast Technologies, LLC. Media clip creation and distribution systems, apparatus, and methods
US9786324B2 (en) 2014-03-17 2017-10-10 Clipcast Technologies, LLC Media clip creation and distribution systems, apparatus, and methods
US10347290B2 (en) 2014-03-17 2019-07-09 Clipcast Technologies LLC Media clip creation and distribution systems, apparatus, and methods
US10586571B2 (en) 2014-03-17 2020-03-10 Clipcast Technologies LLC Media clip creation and distribution systems, apparatus, and methods

Also Published As

Publication number Publication date
AU1464297A (en) 1997-07-28

Similar Documents

Publication Publication Date Title
JP3507506B2 (en) Data management / distribution apparatus and method for electronic television program guide
CA2311309C (en) Method and apparatus for near video on demand
US8621353B2 (en) Method and system for identification of pay-per-view programming
US7194756B2 (en) Systems and methods for provisioning a host device for enhanced services in a cable system
US5673430A (en) System and method for optimizing subscriber programming preferences
US20040187159A1 (en) Multi-tiered content management system
US20030002862A1 (en) Bandwidth allocation and pricing system for downloadable media content
US20030023504A1 (en) Distributed video on demand system
WO2005001640A2 (en) Systems and methods for provisioning a host device in a cable system
US8037501B2 (en) Methods for entertainment-programming distribution
GB2425012A (en) Ranking data files for scheduling transmission
WO1997024874A1 (en) Method and system for managing a pay-per-view scheduling database
US6070001A (en) Addressability system
WO2000060482A9 (en) A program scheduler for an interactive information distribution system

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AL AM AT AU AZ BA BB BG BR BY CA CH CN CU CZ DE DK EE ES FI GB GE HU IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK TJ TM TR TT UA UG UZ VN AM AZ BY KG KZ MD RU TJ TM

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): KE LS MW SD SZ UG AT BE CH DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM

DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
121 Ep: the epo has been informed by wipo that ep was designated in this application
NENP Non-entry into the national phase

Ref country code: JP

Ref document number: 97524382

Format of ref document f/p: F

REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

122 Ep: pct application non-entry in european phase