SET-TOP INTERFACE TRANSACTIONS IN AN IMPULSE PAY PER VIEW TELEVISION SYSTEM

Abstract: In an impulse pay-per-view system, downloadable transactions effect increased control and diversity. A preview time/free time transaction permits a subscriber to view portions of a pay-per-view event without purchasing the event. A security transaction sent while each event is active prevents a subscriber from receiving events which have not been purchased. A telephone number transaction includes a special character representing an instruction to pause between dialing selected digits. A viewer statistic transaction instructs a subscriber to record the channel he is viewing. A subscriber may pre-buy events to facilitate event recording. System manager (8) complies and downloads transactions to IPPV modules (20) via addressable transmitter (10) and CATV network (12). Modules (20) control set-top terminals (15) to control viewing of events. Modules (20) also report event viewing data to system manager (8) via telephone network (24) and phone processor (18).

Description: SET-TOP INTERFACE TRANSACTIONS IN AN IMPULSE PAY PER VIEW TELEVISION SYSTEM BACKGROUND OF THE INVENTION This invention relates generally to the field of cable television systems and, more particularly, to a system for reporting back: to a centrally located office, the viewing of certain premium program¬ ming for which a subscriber is billed in addition to his regular monthly subscription fee. This practice is popularly referred to as "pay-per- view" (PPV). More specifically, the subject invention relates to the most desirable type of PPV, known as "impulse pay-per-view" (IPPV). An IPPV system allows a subscriber to order a program at the last minute. Early PPV systems worked with one way addressable set-top •terminals (STT). A subscriber who wished to order a PPV event did so by calling an operator and orally placing his order. The operator entered the order into a computer, which then transmitted authoriza¬ tion to the subscriber's set-top terminal. This system suffers from the requirement of using the tele- __. phone and a human operator. This increases the cost of handling PPV requests, and effectively eliminates IPPV as a viable service since only a limited number of people are able to call in during the last min¬ utes before a program begins. Therefore, the majority of people desiring to view a program must order it long before it begins. Some prior art systems exist which purport to solve the IPPV problem. One such system employs a two-way cable television (CATV) plant, in which the set-top terminal may be equipped for transmitting a signal back to the headend ("upstream transmission") on a suitable frequency, such as between 5 MHz and 30 MHz. The terminal transmits information as to what programs are being or have been viewed to a computer at the headend. This system suffers from the f ct that no protocols have- beea developed which operate effi¬ ciently in an environment of an exceedingly large number of set-top terminals who "speak" very little, but who must be serviced quickly when they do speak. Further, two-way CATV plants have proved dif¬ ficult to maintain with adequate integrity to permit reliable return transmission, and the cost of the plant is excessive compared to the revenues to be gained from IPPV. Another system uses credits downloaded to the terminal, and then makes deductions against the credits when a program is viewed. At the end of the month, certain alpha-numeric characters are dis¬ played, indicating programs viewed. The subscriber writes these characters on a card which is mailed to the CATV operator. This system suffers from excessive delay in reporting programs watched, a limited number of programs which can be viewed (due to the limited number of characters a subscriber can be expected to write down), and the possibility of unrecoverable errors in transcription. A similar system is disclosed in U.S. Patent No. 4,484,217 to Block. In this system, credits are downloaded to the terminal and deductions are made when programs are viewed. An indicator informs the subscriber that the stored credit has expired or is low. The headend office, upon receipt of payment, will add credits to the subscriber's terminal and the indicator will be extinguished. In this system the subscriber must pay in advance and may miss programs due to delay in crediting his account. An impulse pay-per-view system is disclosed in commonly assigned copending Application Serial No. 936,788, herein incorpo¬ rated by reference. SUMMARY OF THE INVENTION It is an object of the present invention to effect increased con¬ trol and enhance the diversity of an impulse pay-per-view system. This object maybe achieved in a eontrol apparatus for an indi¬ vidual subscriber in a cable television system which distributes a tele¬ vision signal from a headend office to a plurality of subscribers, the television signal including a plurality of channels and a plurality of downloadable transactions. At least one of the channels carries pay- per-view events. The control apparatus includes a receiver for receiving television signals, a detector for detecting any downloadable transactions contained in the television signals which are addressed to the corresponding subscriber, and a microprocessor for processing the transactions detected by the detector. A selector is responsive to subscriber supplied signals for selecting pay-per-view events carried over one of the plurality of channels. A memory is coupled to the microprocessor and the selector for storing billing information regarding selected pay-per-view events. A transmitter is coupled to the storage means for transmitting the stored billing information.. The apparatus further includes a device responsive to a downloadable • transaction which permits the subscriber to receive a selected pay- per-view event for a predetermined preview time period before the subscriber must supply a signal to generate billing information. The apparatus includes another device responsive to the downloadable transaction which further permits the subscriber to receive the event for a predetermined free time period time before supplying a signal to generate billing information. • • The present invention also concerns a control apparatus for downloading transactions to a plurality of subscribers. This apparatus includes a downloadable transmitter which transmit the downloadable transactions to the plurality of subscribers. A processor processes instructions from a system operator. A preview time generator, responsive to the system operator, generates a downloadable transac¬ tion to permit the plurality of subscribers to receive an event for a predetermined preview time period before requiring the subscribers to purchase an event. The apparatus also includes a free time generator responsive to the system operator which generates a downloadable transaction which permits the plurality of subscribers to further receive the event for a predetermined free time period before requir¬ ing the subscribers to purchase the event. The present invention is further concerned with a method of pre-buying a selected event which is being shown on one of a plurality of channels. First, a predetermined key sequence is actuated, the key sequence generating information corresponding to a selected event on one ot the_ plurality of channels. The in ormation thus generated is then transmitted to an event module. The generated information is stored in a memory associated with the event module and subse¬ quently compared with information contained in a downloadable transaction. A subscriber is authorized to view the selected event if the stored information matches the information contained in the downloadable transaction. Billing information corresponding to the selected event is generated and stored in the memory. The present invention is further concerned with a method- of instructing a plurality of subscriber modules to report over a public telephone network billing information associated with the viewing of selected events on the plurality of channels. A transaction is downloaded to the subscriber module which includes a telephone num¬ ber corresponding to a storage means for storing billing information associated with the plurality of subscribers. Included in this transac¬ tion are instructions adapted to effect a predetermined delay period between the dialing of selected digits. The present invention is further concerned with a method of -transmitting billing information associated with the viewing of selected events on a plurality of channels from a subscriber module to the headend office. A telephone number is loaded in a memory asso¬ ciated with the module in response to information contained in a first transaction downloaded from the headend office. This telephone number is dialed in response to instructions contained in a second transaction downloaded from the headend office. In response to instructions contained in the first downloaded transaction, pauses of a predetermined period are inserted between the dialing of selected digits. The present invention is also concerned with a control appara¬ tus for an individual subscriber designed to protect against theft of services. The apparatus includes a receiver for receiving television signals, a detector for detecting downloadable transactions in the television signal which are addressed to the corresponding subscriber, and a microprocessor for processing transactions detected by the detector. A selector is responsive to subscriber supplied signals to select events carried over the plurality of channels. A memory is coupled to the microprocessor and the selector for storing billing information regarding the selected event. A transmitter coupled to the memory transmits the stored billing information over a telephone network. A security counter responsive to a downloadable transaction from the headend which is sent only while an event is active prevents the subscriber from receiving an event unless the transaction is received. The present invention is further concerned with a control apparatus for downloading transactions to a plurality of subscribers. The apparatus includes a downloadable transmitter for transmitting the downloadable transactions to a plurality of subscribers and a pro¬ cessor for processing instructions from a system operator. A security generator responsive to the system operator generates a downloadable transaction only while an event is active which prevents a subscriber from receiving an event unless the transaction is received. The present invention is further concerned with a method of generating viewer statistics. Initially, a first downloadable transac¬ tion is addressed to at least one subscriber module with instructions to store the channel number corresponding to the channel being watched by the subscriber in an associated storage device at the moment the first downloadable transaction is received. A second downloadable transaction is addressed to the subscriber module with instructions to the module to initiate telephone communication with the headend office. The second transaction includes instructions to the module to transfer the stored channel number to the headend and to write a predetermined character in the memory as an indication that the channel number has been transferred. Finally, the present invention is concerned with a method of processing viewer statistics at a subscriber module. Initially, a first downloaded transaction is received with instructions to store the channel number corresponding to the channel being watched by the subscriber. This channel number is stored in a storage device. In response to a second downloaded transaction, the module dials into the public switched telephone network to establish communication with, the headend office. The stored channel number is transferred to the headend office and a predetermined character is written to the storage device as indication that the channel number has been transferred. BRIEF DESCRIPTION OF THE DRAWINGS A more complete appreciation of the invention and many of the attendant advantages thereof will be readily obtained as the invention becomes better understood by reference to the following detailed description when considered in connection with the accom¬ panying drawings,, wherein:. Figure l is a block diagram representing the overall configura¬ tion of the impulse pay-per-view system according to the present invention. Figure 2 is a schematic representation of the bit patterns in an authorization transaction. Figure 3 is a state diagram illustrating the method of pre-buy- ing an IPPV event from a hand-held remote or set-top. Figure 4 is a schematic representation of bit patterns in a pre- buy transaction downloaded by the system manager. Figure 5a and 5b are schematic representations of the bit pat terns in an addressable and a global load telephone number transac¬ tion, respectively. Figure 6 is a schematic representation of bit patterns in a dat request transaction. Figure 7 is a schematic representation of a bit patterns in viewing statistic transaction. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT An overview of the addressable impulse pay-per-view syste according to the present invention will be given with respect t Figure 1. In what follows, hexadecimal notation 0-F will be used t denote data values. The system includes a billing computer or host 5 which comprises an essential part of an addressable cable system hav ing impulse pay-per-view capability. Billing computer 5 records an maintains records for each cable subscriber. These records ma - 7 contain information such as the subscriber's name, address and tele¬ phone number, the type of equipment the subscriber has in his posses¬ sion, and which pay services the subscriber is authorized to view. With particular regard to both impulse pay-per-view and pay-per-view programming, billing computer 5 functions to control IPPV service, maintain IPPV access codes, control IPPV event billing, and maintain PPV event and preview definitions. Typically, the cable operator owns the billing computer, leases the equipment from a vendor who specializes in this type of equipment, or shares computer time on a machine owned by one of these billing vendors. Billing computer 5 is interfaced to- a system manager 8. Sys¬ tem manager 8 controls the addressable cable system. Typically located at or near the billing computer 5, system manager 8 maintains a list of all the addressable set-top terminals in the cable system as well as those services which each terminal is authorized to receive. System manager 8 also defines and maintains the parameters selected by the cable operator for each system. These parameters may include the frequencies associated with each channel in the system, which channels are being scrambled, the security features of the system, and 'the system time. Additionally, system manager 8 is responsible for the authorization and deauthorization of pay-per-view events in the system. A computer of system manager 8 will have a disk and control¬ ler dedicated to the storage of IPPV information. A memory resident program of system manager 8 will read the IPPV transactions, uploaded from the IPPV modules in the system. Each IPPV transac¬ tion will be stored in data base 9 until it is retrieved by billing com¬ puter 5. An operator of the system manager will have the ability to access the IPPV data base 9 and display the event identifiers (IDs) of the events that have been purchased by the converter. System man¬ ager 8 will upload the transaction data to billing computer 5 in response to an Initialize IPPV Upload command. The data returned to the billing computer will be grouped by the identification of a particu¬ lar set-top terminal or converter, that is, all event IDs associated with a particular converter serial number will be returned together. The system manager will also maintain a table of viewing sta¬ tistics in memory 6 and on the IPPV disk. System manager 8 will fur¬ ther be able to direct all IPPV-equipped set-top terminals to record the channel to which each is tuned by transmitting a viewing statistic transaction (discussed in detail below) via addressable transmitter (ATX) 10. This information is recorded in the IPPV module's memory and is transmitted along with the IPPV transaction data during the next interrogation of the module. Thus, each time an IPPV transac¬ tion is received from an IPPV module, a table location corresponding to the recorded channel number contained in the IPPV transaction will be incremented. A value of '00', for example,, may be used to indicate- that a set-top terminal was off when the viewing statistic transaction was transmitted by the system manager. A value of 'FF' may be used to indicate that a set-top has already transferred its channel information to the system manager. The system manager will thus have the capability to print a summary report of viewing statis¬ tics for each channel. The system manager will also clear the table containing the viewing statistics whenever a new viewing statistic transaction is transmitted. Both the IPPV access code and IPPV service code will be main¬ tained for each IPPV equipped converter in the system manager con¬ verter data base. System Manager 8 will also maintain data elements for each headend in its data base. These data elements may include the telephone number for each IPPV module transfer, IPPV "HELP" barker channel, IPPV "FULL" barker channel, call back limit, security nibble, host time out value, IPPV time out-counter, transfer key, and IPPV ID range. Briefly, the "FULL" barker channel refers to an STT Status which -specifies the channel to be tuned by the IPPV Module when an attempt is made to purchase an IPPV event and there is no room in the IPPV Module's event purchase table to store the event purchase data. The security nibble refers to a transaction -used to maintain the security of the IPPV return data path. The value of this field may be sent to the IPPV Module by the ATX during a define tele¬ phone number transaction described below. Each time the IPPV Mod¬ ule calls the IPPV phone processor, this value is included in the data returned. The system manager can then compare the value obtained from the IPPV Module with the value being transmitted by the ATX to detect possible data security violations. The host time-out refers to a transaction which specifies the amount of time an IPPV Module will wait for a response from the IPPV phone processor. If no response is received, the IPPV Module will consider the call to be unsuccessful and retry at a later time. Transfer key refers to a transaction which is used to control the number of IPPV modules that will call the IPPV phone processor. The range of valid values may be, for example, 0 to 7 and F, where F indicates a global request and any other value causes only those converters to call for which th least significant 3 bits of the digital address matches the value of the transfer key. The IPPV ID range refers to a transaction which specifies the number of digits to be used by the IPPV module when entering or displaying the IPPV Event ID for an IPPV Pre-Buy. System manager 8 will control IPPV module telephone usage by transmitting an IPPV request data transaction to ATX 10. System Manager 8 will accept host link commands to allow the host computer 5 to add, modify and delete PPV event definitions. An operator of the system manager will also be able to display and update this data. System manager 8 will schedule the global authorization and deauthorization of PPV events. For each PPV event, the event ID, free time and preview time (discussed in detail below), purchase window and event slot will be transmitted along with the authorizations. The addressable transmitter (ATX) 10 is a device used to receive commands generated by system manager 8 and transmit them on a dedicated data channel in the cable system in a format recogniz¬ able by the addressable set-top terminals. Typically, one ATX is located at each cable headend. ATX 10 will receive IPPV transactions from system manager 8 and format the appropriate commands for transmission to the IPPV equipped converters. Each subscriber in the addressable cable system is provided with a set-top terminal (STT) 15 by the cable operator as schemati¬ cally indicated in Figure l. STT 15 allows the subscriber to tune and descra ble the services that he has requested from the cable system operator. Each STT 15 contains a unique identifier, or address, for example, a manufacturer's serial number, which allows the cable operator to send commands via ATX 10 to an individual STT. These commands are called "addressable" commands. The STT's are also capable of receiving "global" commands heard by all the STT's in a cable system. Those subscribers who are authorized to purchase impulse pay-per-view events are issued set-top terminals whieh have been equipped with an IPPV module 20. Module 20 allows the sub¬ scriber to authorize his STT to receive a pay-per-view event, store the data associated with the purchase of that event in memory 21, and transmit that stored data to the cable operator via the telephone network 24. The subscriber is then billed for the events that he has purchased. IPPV module 20 receives the IPPV transactions from ATX 10 via distribution system 12 and stores the IPPV parameters in non¬ volatile memory (NVM 21). The IPPV module also functions to autho¬ rize IPPV events and record IPPV activity in the NVM 21. Module 20 transfers IPPV data to the system manager 8 via phone processor 18 when a "request IPPV data" command is received. Upon successful transmission, the IPPV module will clear the events watched table maintained in NVM 21. The interfaces between these various components will now be discussed. Billing Computer or Host 5 sends data to system manager 8 via a serial interface schematically indicated at 7. Host 5 acts as the master and system manager 8 acts as a slave device. That is, the Host 5 sends a command to the system manager 8, the system manager processes the command and sends a response to the Host, and the -sequence is repeated. The system manager may not initiate a conver¬ sation, but can only respond to commands from the Host. There are generally three types of commands associated with the IPPV System of the present invention which are sent via interface 7. The first type includes set-top terminal commands. These commands are used to configure a subscriber's STT for Impulse PPV. They allow the Host 5 to authorize a subscriber for IPPV purchases and define the "access code" that must be entered by the subscriber in order to purchase an IPPV event. The second type of commands includes pay- per-view commands. These commands are used to define the characteristics of the pay-per-view events being shown in the system, including the start and stop times, event ID, channel, amount of free time, and the period in which each event is available for purchase. System Manager 8 is thus responsible for authorizing and deauthorizing the PPV events at the appropriate times and controlling the characteristics of each event. Finally, the third type of com¬ mands include upload commands. These commands are used by the Host 5 to retrieve the data that has been collected by the system manager 8 from the plurality of Impulse PP Modules 20 via phone processor 18. This data is transmitted to the system manager by the IPPV module 20 via the telephone network 24 and contain a record of which PPV events have been purchased by each subscriber. The Host uses this data to bill the subscribers for each PPV event purchased. The system manager 8 transmits data to the ATX 10 via a serial interface in which the system manager 8 acts as the master and the ATX 10 acts as the slave device. There are generally four types of commands associated with the IPPV System which are sent via this •interface. First, set top commands are sent which are used to config¬ ure an STT for Impulse PPV. They allow the system manager to authorize a subscriber for IPPV purchases, and define the "access code" that must be entered in order to purchase an IPPV event. Authorize Pay-Per-View Event commands are used by the system manager to start PPV events in the system and to define the charac¬ teristics of the events, including the event ID, channel, amount of free time and the purchase window. Purchase window refers the period in which a subscriber is allowed to purchase the event. The purchase window always begins at the start time of an event. The authorize IPPV/PPV event transaction authorizes the channel corre¬ sponding to a PPV event in all converters in which the specified PPV identification code has been loaded. The transaction also authorizes the channel corresponding to an IPPV event in all converters with IPPV modules that have requested the event. It also defines the amount of free time for the event. Deauthorize Pay-Per-View Event commands are used by the system manager to stop PPV events in the system. The deauthorize/purge IPPV/PPV transaction deauthorizes the channel corresponding to a PPV event in all converters in which the specified PPV identification code has been loaded. In addition, the PPV identification code is purged from every converter. This transaction also deauthorizes the channel corresponding to an IPPV event. Finally, IPPV System Parameter commands are used to config¬ ure the IPPV modules for IPPV operation. They allow the cable opera¬ tor to define IPPV help and barker channels, the telephone number to be used by the IPPV modules to transfer data to the system manager, and to define the method used by the IPPV modules to determine when to phone' the system manager and transfer the data associated with each PPV event purchased. The request data from IPPV module trans¬ action directs an IPPV module to initiate a phone call to the system manager to transmit IPPV data stored in the module. The request viewing statistics transaction directs an IPPV module to store the channel to which it is tuned when this transaction is received. The load telephone number transaction defines the telephone number to be used by the IPPV module to transfer data to the system manager. The €PPV event load transaction loads a PPV event ID into an IPPV enabled converter. ATX 10 transmits data to the IPPV module 20 via a dedicated FM data channel in the cable television distribution system 12. This channel, known as the "data carrier", is used to transmit both "addressable" commands intended for a particular IPPV module and "global" commands intended for all IPPV modules in the system. Each addressable STT contains a receiver that is listening to the commands sent down this data channel. This data is available to the IPPV mod ule in every IPPV-equipped STT. (An IPPV module may be designed a a plug-in module for reception into a set top terminal at an appropri ate inter ace. Alternatively, the IPPV module circuitry may be incor porated within the circuitry of the set top terminal, thereby promot ing efficiencies of operation. For example, the microprocessor of th STT may be appropriately signed to control both a billing memor normally associated with the module and an IPPV event memory o the STT). This is a one way data path, i.e., the IPPV module 20 cannot use this data channel to send data back to the ATX 10. Also, this data channel is available to the STT at all times as long as the incoming cable is connected, no matter what video/audio channel the STT is tuned to. The commands sent via this interface are similar to those sent via the system manager - ATX interface. Set- top commands are used to configure an IPPV-equipped STT for Impulse PPV purchases. They enable the module for IPPV purchases and define the "buy code" that must be entered in order to purchase an IPPV event. Authorize Pay-Per-View event commands are sent from the ATX 10 to start PPV events in the system and to define the characteristics of the events including the event ID, channel, amount of free time, and the pur¬ chase window. Each of these commands must be transmitted at the beginning of each PPV event, as well as during the event. Deauthorize Pay-Per-View Events commands are used to stop PPV events in the system. These commands must be transmitted at the conclusion of each PPV event. IPPV System Parameter Commands are used to configure the IPPV modules for IPPV operation. They allow the cable operator to define IPPV help and barker channels, the telephone number to be used by the IPPV modules to transfer data to the system manager, and to define the method used by the IPPV mod¬ ules to determine when to phone the system manager and transfer the data associated with each PPV event purchased. Finally, Time of Day commands define the date and time to the system. The IPPV module is interfaced to the system manager via an IPPV phone processor 18. The telephone network interface between each IPPV module and the system manager will be used for a single transaction, i.e. to upload viewing statistics and IPPV program pur¬ chases to the system manager. The IPPV modules 20 transmit data to the system manager 8 via the telephone network 24 and phone processor 18. The system manager periodically instructs the IPPV modules via the ATX 10, to use the subscriber's telephone line to send data associated with the IPPV events purchased by the subscriber with the IPPV module. For each event purchase stored in the module, the event ID and time of purchase are transferred to the system manager. The IPPV module is connected via the telephone network 24 with a phone processor 18 which manages calls initiated by set- top terminals equipped with IPPV capability. It stores the IPPV event information contained in these calls in nonvolatile memory 19 until the informa¬ tion can be uploaded to the system manager or other control com¬ puter. After receiving the IPPV information the phone processor 18 transmits the proper security codes to clear IPPV events from the set-top terminals. The phone processor 18 functions as a peripheral device to the system manager 8. Each phone processor monitors up to eight sepa¬ rate telephone- lines for_ incoming calls. As the calls arrive, the phone processor answers the proper telephone line and transmits a transac¬ tion to the set-top terminal. Upon successful reception of that trans¬ action, the set-top terminal then transmits all stored event informa¬ tion to the phone processor. If the in ormation is received error-free, the phone processor transmits a transaction which the set-top ter¬ minal must decode to clear the event information. After the event data is received f om the set-top terminal, it is stored in a non-vola¬ tile memory array in phone processor 18 which preserves the infor¬ mation through any loss of power. Periodically, the phone processor 18 attempts to upload to the system manager 8 with a buffer packet message. The buffer packet message contains the stored event information and/or several status information fields. If the phone processor is unable to transfer the information, due to power loss or serial link failure, the phone proces¬ sor non-volatile memory 19 fills up and the phone processor 18 will not accept any additional telephone calls until memory space becomes available. When the system manager receives the buffer packet from the phone processor, it verifies a checksum. If the checksum is incorrect, a command is sent to the phone processor which causes the buffer packet to be retransmitted. If the checksum is correct, the associ¬ ated data is permanently removed from the memory of phone proces¬ sor 18. The system manager must save its data on a disk or in some non-volatile memory before sending the command to clear the data from the phone processor in order to avoid the irrevocable data loss in the case of power failure. The present invention is specifically concerned with a number of unique set-top transactions which may be sent via ATX 10 to effect increased control and enhance the diversity of an impulse pay-per-view system. A number of these transactions were mentioned briefly above and will be discussed in greater detail below. The Authorize IPPV Event transaction will be discussed first with reference to Figure 2. Figure 2 illustrates bit patterns which may be included in this transaction. E0-E3 represent the IPPV event ID.. CH0-CH1 represent the associated channel. F represents the free time. CT0-CT1 represent a counter reset value. SL represents a slot value. An additional bit pattern (not shown) may be included to spe¬ cify the purchase window. As noted above, this authorization trans¬ action authorizes the channel corresponding to a PPV event in all converters in which the specified PPV identification code has been previously loaded, as well as authorizing the channel corresponding to an IPPV event in all converters with IPPV modules that have requested the event. This transaction, as indicated, includes a field •that may be used to control what are called preview time and free time. Preview time is defined as a period or window of time at the beginning of an event during which the event or a preview of a future event may be watched without being purchased. Free time is defined as a cumulative length of time during an event that the event may be watched without being purchased. Free time may be used at any time during the event. In a preferred embodiment, preview time may range from 0 to 255 minutes while free time may range from 0 to 14 minutes. For example, suppose the IPPV event consists of a movie with a starting time of 8:00 p.m. and an ending time of 10:00 p.m. The system operator may designate a block of time, say from 8:00-8:30, during which the movie may be viewed without the viewer having to purchase the movie. This would constitute the preview time. The system operator may elect to permit additional viewing of the movie for a total of fourteen minutes during the event time. Thus, after the preview time has expired, a total of fourteen minutes - 1.6 - of the event may be viewed. An example of how this free time may be used is from 8:30-8:34, 9:10-9:15, and 9:45-9:50. There is no restriction on how the free time is used as long as it does not exceed its predetermined value, in this case, fourteen minutes. The predetermined value or sum of free time is set by selecting a value for the free time bit pattern F. This value is stored in a non¬ volatile memory of the IPPV module. Once the subscriber has tuned to a channel on which a IPPV event is being shown, a counter counts down until the free time has elapsed. When the counter equals zero, the event must be purchased to enable further viewing. Thus, each subscriber module has a plurality of counters corresponding to the number of pay channels. A preferred embodiment includes sixteen counters. Fixing the slot bit pattern SL tells the module which of the sixteen counters is to be loaded with the free time. In an alternative embodiment, a single counter of the IPPV module microprocessor is operated by a clock associated with the microprocessor. A memory cell is preferably associated with each channel on which an IPPV event may be shown. The memory cell stores the IPPV event free time which is periodically stepped or decremented responsive to the counter until free time has lapsed for the associated IPPV event chan¬ nel and, the stepping or decrementing occurs only when the IPPV event on that channel is being displayed and only after preview time has expired. The slot bit pattern SL may be used to tell the module which memory is to be loaded with the free time. It is important to note that free time is never used up during preview time. During preview time, the free time counter associated with the particular pay channel is constantly reset through receipt of the authorization transaction to the total amount of free time predetermined by the system operator for that event. After preview time, the free time bit pattern F is set to a predetermined value, F(hex) for example, which is a flag to the module that preview time has expired. The free time counter is then allowed to count down or decrement whenever the subscriber is tuned to that particular channel. The counter is decremented on the average every sixty seconds. The actual time is varied slightly in order to defeat attempts at pirating. Both free time and preview time are configurable and represent global commands on a per event basis,- which may be downloaded by the system manager. A security counter controls the length of time that an impulse pay-per-view module will allow the cable TV subscriber to view an impulse pay-per-view channel without receiving an IPPV authoriza¬ tion transaction. When that length of time has elapsed, the impulse pay-per-view module will deauthorize all impulse pay-per-view chan¬ nels and "close out" all impulse pay-per-view events that are in prog¬ ress. This security feature is a method to prevent subscribers from purchasing an event, trapping the data stream, and watching subse¬ quent events. When an impulse module buys an event, it will authorize that channel until the event is over. In order to effect such channel authorization, the module writes to the set-top's channel authoriza¬ tion memory. When the event is over, a deauthorization transaction is sent to the impulse module to effect channel deauthorization. However, in the past, subscribers have bought a number of premium channels and attempted to trap the deauthorization transaction so as to retain use of the premium channels indefinitely. The present invention defeats such attempts at pirating by using the authorization transaction which starts an event and which is sent approximately every five hundred milliseconds. A counter in the module must be reset by one of these authorization transactions within a predeter¬ mined period of time, or those channels will be deauthorized. Absence of this transaction will shut down the IPPV channels. The counter is set through the bit pattern values CT0-CT1. The bit values specify the period of the IPPV timer contained in each IPPV module. The timer period is the maximum amount of time that an IPPV module will allow a PPV channel to remain authorized without receiving an authorization transaction from the ATX. The range of valid values in the preferred embodiment is from 0-255 in 15 minute increments. Thus, the time is controllable in fifteen minute increments up to sixty-four hours. The counter may be disabled by setting the bits to 0 if there is no concern about piracy. Another feature of the IPPV system of the present invention is the ability to pre-buy a pay-per-view event. Prε-buys are useful for VCR recording of events when the subscriber is not home or if a sub¬ scriber is asleep. This feature of the present invention is unique because of the ability to program the pre-buy either from the IPPV module via a hand-held remote or the set top or from the headend in response to an order via the host billing system. The process for performing a pre-buy with a Scientific Atlanta Set- top Model 8550 or 8585 is illustrated in Figure 3. With the con¬ verter turned on, the subscriber depresses the keyboard keys "PRG" and "-" of his hand-held remote control.- If an access code is required to purchase programming, this must be entered before the converter will enter the IPPV mode and display "VCR" using LED elements. An improperly keyed access code denies one the ability to purchase pro¬ gramming. Once in the IPPV mode, depression of the "AU" key cre¬ ates access to the pre-buy mode. Once in the pre-buy mode, the sub¬ scriber simply enters the three or four digit event ID number of the program he wishes to purchase. The ID numbers may be provided in a programming guide, for example. After the last digit of each program ID has been entered, it is stored in nonvolatile memory 21 of the mod¬ ule. As indicated, it is possible to step through the list of programs which have been pre-bought with an opportunity to cancel any event which the subscriber no longer wishes to view or which have erro¬ neously entered. Although the above description has been given with respect to a particular set-top model, it will be apparent to those of ordinary skill that similar procedures may be employed on dif erent set-tops and the invention should not be understood as limited in this respect. Subsequently, when the system manager sends an authorization transaction as described above with information that a particular event is running or is authorized, the module, upon receipt of that transaction, will search the nonvolatile memory 21 containing the pre-buys for the event ID of that particular program. If the particu¬ lar event ID is in fact contained within the nonvolatile memory, the module will purchase the event for the customer. This is an advantage over some prior art systems which require the additional inconvenient setting of times via a hand-held remote control in order to activate the descrambler at a particular time. In addition, the present system is also adapted to download an IPPV pre-buy in response to a customer's phone request for a PPV event. As schematically indicated in Figure l, a converter contains a set-top microprocessor 17 which processes pay-per-view transactions and an impulse pay-per-view microprocessor 22 which processes impulse pay-per-view transactions. Pay-per-view events are autho¬ rized by the set-top microprocessor 17. If an event is both a pay-per- view event and an impulse pay-per-view event, as frequently hap¬ pens, and a subscriber buys the event as a pay-per-view event, the microprocessor 22 in the IPPV module would normally cut off viewing after the allocated free time had expired. In order to overcome this, when the system manager is notified that a subscriber wishes to pur¬ chase a pay-per-view event and it is determined that this subscriber also has an IPPV module, a transaction as in Figure 4 is downloaded to the IPPV module which authorizes it to purchase the event. The transaction includes the converter address (bit patterns A0-A4) and the IPPV Event ID (bit patterns 10-13). This transaction, as in the cus¬ tomer prebuy, loads the Event ID into the module's non-volatile mem¬ ory 21. It is important that the system manager maintains a record of this authorized pre-buy to prevent the record of the impulse purchase from being sent to the billing computer. Such a transfer would result in the subscriber being billed twice for the same event. In order to report the events watched to the system manager, the IPPV module must be able to dial into a telephone network. Thus, the IPPV module of the present invention possesses the ability to dial a downloaded, stored up to eleven digit telephone number. In place of a digit, a special character may be used to signify a predetermined delay between the preceding and succeeding digits. This is particu¬ larly useful when it is necessary to dial out of a local private branch exchange. A typical load telephone number transaction is included in Figure 5a and 5b. This transaction may be global or addressed. Figure 5a includes bit patterns A0-A4 which represent the address of the converter. Bit patterns P0-P10 represent the downloaded telephone number. By inserting a special character, hex A for example, the module may be instructed to pause for a predetermined time period between the preceding and succeeding digits. In the preferred embod¬ iment, the predetermined time period is 2.5 seconds. Figure 5b illus¬ trates a similar global command which does not include address bit patterns A0-A4. In order to effect a call in, the module must have downloaded to it certain parameters. As noted above, after dialing the phone processor, the phone processor sends a signal to the module indicating it has gone off hook. The module will then send its data. A terwards the phone processor sends a signal indicating it has received the data. The module must know (a) how long to wait for receipt of the first signal, (b) how many times it should attempt to call back, and (c) when it should start or stop calling back. These parameters may be addressed to a particular set-top or globally. These parameters may be sent as part of the transaction shown in Figure 6. The bit patterns TL0-TL1 represent the call back attempt limit and may include values from zero to FF, with zero used •to instruct the module to stop calling. L0-L1 represent the host time out or how long the module will wait after dialing the last digit for the first signal from the phone processor. If no response is received, the IPPV module will consider the call to be unsuccessful and retry at a later time. The range of valid values is zero to 255, with a resolu¬ tion of 2.5 seconds. The impulse pay-per-view system also has the ability to request the impulse pay-per-view module to record the channel that is being watched and. report that information during the normal IPPV call back. If the cable operator wishes to find out what his subscribers are watching, a transaction may be sent similar to that shown in Figure 7. All set tops with an IPPV module will record the channel being watched upon receipt of this transaction. After the module has called in to report its viewing statistics, a third bit is stored in the nonvola¬ tile memory to indicate that the statistics have already been reported. A value of '00' may be used to indicate that a set-top was off when the Viewing Statistic Transaction was transmitted and a value of 'FF' may be used to indicate that a set-top has already trans¬ ferred its channel information. Thus, if that particular IPPV module calls in twice before the cable operator has had a chance to calculate the statistics, the statistics of that particular IPPV module are not duplicated. It is to be understood that the invention is not limited to the illustrations described and shown herein which are deemed to be merely illustrative of the best modes of carrying out the invention. The invention rather is intended to encompass all such modifications which are within its spirit and scope as defined by the claims.

Claims: CLAIMS 1. A control apparatus for an individual subscriber for use in an addressable cable television system which distributes a televi¬ sion signal from a headend office to a plurality of subscribers, said television signal comprising a plurality of channels and a plurality of downloadable transactions, at least one of said channels carrying pay- per-view events, the control apparatus comprising: receiving means for receiving the television signal; detecting means for detecting downloadable transactions contained in said television signal which are addressed to the corre¬ spondin subscriber; microprocessor means for processing transactions detected by said detecting means; selector means responsive to subscriber supplied signals for selecting pay-per-view events carried over said at least one channel; storage means coupled to said microprocessor means and said selector means for storing billing information generated in response to said subscriber signals ; transmitting means coupled to said storage means for transmitting the stored billing information; preview time means responsive to a downloadable trans¬ action for permitting the subscriber to receive a selected pay-per- view event for a predetermined preview time period before supplying a signal to generate billing information; and free time means responsive to the downloadable trans¬ action for further permitting the subscriber to receive said selected pay-per-view event for a predetermined free time period before sup¬ plying a signal to generate billing information. 2. The control apparatus according to claim 1 wherein said free time means comprises: a plurality of counters, a single counter associated with each channel carrying pay-per-view events, said plurality of counters set in accordance with instructions contained in said downloadable transaction. 3. The control apparatus according to claim 2 wherein said plurality of counters comprises sixteen. 4. The control apparatus according to claim 2 wherein each of said plurality of counters may be set to a maximum of four¬ teen minutes. 5. The control apparatus according to claim 2 wherein the counter associated with a particular pay-per-view event is continually reset to its predetermined free time period during the preview time period. 6. The control apparatus according to claim 2 wherein the counter associated with a particular pay-per-view event is decremented when the subscriber selects the channel carrying said particular pay-per-view event. 7. The control apparatus according to claim 6 wherein said counter is decremented approximately every 60 seconds. 8. The control apparatus according to claim 1 wherein said free time may be selectively allocated by a subscriber. 9. The control apparatus according to claim 1 wherein said preview time may range from 0 to 255 minutes. 10. The control apparatus according to claim 2 wherein said microprocessor means loads the respective counters in accordance with slot information contained in said downloadable transaction. 11. The control apparatus according to claim 1, the free time means further comprising memory means for storing the prede¬ termined free time period. 12. The control apparatus according to claim l, the free time means further comprising a counter for counting time lapsed of the predetermined free time period. 13. The control apparatus according to claim 1, the micro¬ processor means for further processing said billing information and for controlling pay-per-view event status. 14. The control apparatus according to claim 13, wherein the microprocessor means comprises a first microprocessor for pro¬ cessing the detected transactions and for controlling the pay-per- view event status and a second microprocessor, responsive to the first microprocessor, for processing the billing information. 15. The control apparatus according to claim 11, the free time means further comprising a counter or counting time lapsed of the predetermined ree time period. 16. The control apparatus according to claim 15, the mem¬ ory means of the free time means comprising a plurality of memories, a single memory being associated with each channel carrying pay-per- view events. 17. A control apparatus for downloading transactions to a plurality of subscribers for use in a cable television system which dis¬ tributes a television signal from a headend office to a plurality of subscribers, said television signal comprising a plurality of channels and a plurality of downloadable transactions, the control apparatus comprising: downloadable transmitting means for transmitting the downloadable transactions to a plurality of subscribers; processor means for processing instructions from a sys¬ tem operator; preview time generating means responsive to said sys¬ tem operator for generating a downloadable transaction to permit the plurality of subscribers to receive an event for a predetermined pre¬ view time period before requiring said subscribers to purchase said event; and free time generating means responsive to said system operator for generating a downloadable transaction to permit the plurality of subscribers to further receive the event for a predeter¬ mined free time period before requiring said subscribers to purchase said event. 18. A method of prebuying a pay-per-view event for use in a cable television system which distributes a television signal from a headend office to a plurality of subscribers each having event mod¬ ules, said television signal comprising a plurality of channels and a plurality of downloadable transactions at least one of said channels carrying pay-per-view events, said method comprising the steps of: actuating a predetermined key sequence, said key sequence generating information corresponding to a selected pay-per- view event on said at least one channel; transmitting the generated information to an event module; storing said generated information in a storage means associated with said event module; comparing stored information with information con¬ tained in a downloadable transaction; authorizing a subscriber to view said selected event when said stored information matches the information contained in said downloadable transaction; and generating billing information corresponding to said selected event for storage in said storage means. 19. The method according to claim 18 wherein said key sequence is actuated on a hand-held remote control. 20. A method of instructing a plurality of subscriber mod¬ ules to report billing information over the public telephone network for use in a cable television system which distributes a television sig¬ nal* from a headend office to a plurality of subscribers each having a subscriber module, said television signal comprising a plurality of channels and a plurality of downloadable transactions, said billing information associated with the viewing of selected events on at least one of said plurality of channels, said method comprising the steps of: downloading to said subscriber module a transaction including a telephone number corresponding to a storage means for storing billing information associated with a plurality of subscribers; and including in said transaction information adapted to effect a predetermined delayed period between the dialing of selected digit. 21. A method of transmitting billing information for use in a cable television system which distributes a television signal from a headend office to a plurality of subscribers each having subscriber modules, said television signal comprising a plurality of channels and a plurality of downloadable transactions, said billing information asso¬ ciated with the viewing of selected events on said plurality of chan¬ nels from a subscriber module to said headend office, said method comprising the steps of: loading a telephone number in storage means associated with said module in response to information contained in a first trans¬ action downloaded from said headend office; dialing said telephone number in response to instructions contained in a second transaction downloaded from said headend office; and pausing, for a predetermined delay period between the dialing of selected digits in response to instructions contained in the first downloaded transaction. 22. A control apparatus for an individual subscriber for use in a cable television system which distributes a television signal from a headend office to a plurality of subscribers, said television signal comprising a plurality of channels and a plurality of downloadable transactions, the control apparatus comprising: receiving means for receiving the television signal; detecting means for detecting any of said downloadable transactions contained in said television signal which are addressed to the corresponding subscriber; microprocessor means for processing transactions detected by said detecting means; selector means responsive to a subscriber-supplied signal for selecting an event carried over one of said plurality of channels of the television signal; storage means coupled to said microprocessor means and said selector means for storing billing information regarding the selected event; transmitting means coupled to said storage means for transmitting the stored billing in ormation over a telephone network; and security means responsive to a downloadable transaction sent only while an event is active to prevent a subscriber from receiving events unless said downloadable transaction is received. 23. The control apparatus according to claim 22 wherein said security means comprises: a security counter, said counter set in accordance with instructions contained in said downloadable transaction. 24. The control apparatus according to claim 23 wherein said security counter decrements in fifteen minute intervals. 25. A control apparatus for downloading a plurality of trans¬ actions to a plurality of subscribers in a. cable television, system for distributing a television- signal from a headend of ice to a plurality of subscribers, said television signal comprising a plurality of channels and a plurality of downloadable transactions, the control apparatus comprising: downloadable transmitting means for transmitting the downloadable transactions to a plurality of subscribers; processor means for processing instructions from a sys¬ tem operator; security generating means responsive to said system operator for generating a downloadable transaction only while an event is active to prevent a subscriber from receiving events unless said downloadable transaction is received. 26. A method of generating viewer statistics for use in a cable television system which distributes a television signal from a headend office to a plurality of subscribers each having a subscriber module, said television signal comprising a plurality of channels and a plurality of downloadable transactions, the method comprising the steps of: transmitting a first downloadable transaction to at least one subscriber module with instructions to store the channel number corresponding to the channel being watched by the subscriber in an associated storage device upon receipt of said first downloadable transaction; transmitting a second downloadable transaction to said at least one subscriber module with instructions to the module to ini¬ tiate telephone communication with said headend office, said instruc¬ tions further containing instructions to the module to transfer the stored channel number to said headend and to write a predetermined character to said storage device as an indication that the channel number has been transferred. 27. A method of processing viewer statistic at a subscriber module for use in a cable television system for distributing a televi¬ sion signal from a headend office to a plurality of subscribers each having a subscriber module, said television signal comprising a plural¬ ity of channels and a plurality of downloadable transactions, the method of comprising the steps of: receiving a first downloaded transaction with instruc¬ tions to store the channel number corresponding to the channel being watched by the subscriber; storing said channel number in a storage device; dialing into the public switched telephone network in response to a second downloaded transaction to establish communica¬ tion with said headend office; transferring said stored data to said headend office; and writing a predetermined character to said storage device as an indication that the channel number has been transferred.

Inventors: DURDEN GREGORY S, FREDERICK RICHARD B, HAMAN RAY T JR, HAMILTON SCOTT L, NADDOR DAVID J, SCHAUBS RANDOLPH J, DURDEN, GREGORY, S., FREDERICK, RICHARD, B., HAMAN, RAY, T., JR., HAMILTON, SCOTT, L., NADDOR, DAVID, J., SCHAUBS, RANDOLPH, J.
Applicants: SCIENTIFIC ATLANTA, SCIENTIFIC ATLANTA, INC.
Application year: 1989
Main classification: H04N7
IPC codes: H04M11, H04N7