WikiPatents - Community Patent Review
Create Free Account  |  License or Sell Your Patent  |  WikiPatents Marketplace  |  WikiPatents Blog
Username:  Password:  
    
Advanced Search
Mapping method for impulse pay per view system    
United States Patent4807023   
Link to this pagehttp://www.wikipatents.com/4807023.html
Inventor(s)Bestler; Charles B. (Oak Park, IL); Reichard, Jr.; Gordon E. (Rolling Meadows, IL); Sirazi; Semir (Chicago, IL)
AbstractAn IPPV technique is provided for a cable system having one-way addressable converters. Each of several central offices in a metropolitan area will provide ANI information representing the cable subscriber's phone number and a code representing the cable event to be viewed or cancelled. The data is sent asynchronously to a respective telephone communication unit located at the central office. This telephone communication unit (TCU) does some buffering, eliminates unnecessary data, and sends data synchronously to a telephone communication controller (TCC) located at the cable headend station. The TCC will acknowledge the data. There will be several TCCs located at the cable headend station corresponding to the several central offices who may give telephone service to the cable operator's subscribers. All of these TCCs at the headend station are coupled through a multiplexer to a system controller. Each TCC provides intermediate processing which converts the subscriber's telephone number into binary. The multiplexer provides buffering, flow control, and arbitration among various TCCs. The multiplexer adapts to data flow conditions. The system controller receives data from each subscriber, locates a corresponding home terminal unit address, examines the password and other information, and maps the two digit program identification which was entered by the subscriber into an authorization code. It then authorizes the home terminal units in accordance with the IPPV requests by transmitting the subscriber's cable address and a new authorization code in the vertical blanking interval, generates the commercial transaction, and downloads the transaction to a billing system.
   














 Title Information Submit all comments and votes
 
Patent Text Patent PDF Print Page Summary File History
Plain text PDF images Print Summary File History
Drawing from US Patent 4807023
Mapping method for impulse pay per view system - US Patent 4807023 Drawing
Mapping method for impulse pay per view system
Inventor     Bestler; Charles B. (Oak Park, IL); Reichard, Jr.; Gordon E. (Rolling Meadows, IL); Sirazi; Semir (Chicago, IL)
Owner/Assignee     Zenith Electrics Corporation (Glenview, IL)
Patent assignment
All assignments
Publication Date     * February 21, 1989
Application Number     06/760,219
PAIR File History     Application Data   Transaction History
Image File Wrapper   Patent Term   Fees
Litigation
Filing Date     July 29, 1985
US Classification     725/104 379/102.01 379/245 379/246
Int'l Classification     H04M 011/08 H04M 015/00 H04N 007/10 H04H 009/00
Examiner     George; Keith E.
Assistant Examiner    
Attorney/Law Firm    
Address
Parent Case    
Priority Data    
USPTO Field of Search     179/2 A 179/5.5 179/18 FH 358/84 358/86 358/349 455/2 455/4 455/5 379/102 379/104 379/105 379/127 379/142 379/246
Patent Tags     mapping impulse pay per view
   
Enter a comma (,) or semicolon (;) between multiple tag words/phrases.
Describe this patent:
 Amusing   
 Clever   
 Complex   
 Efficient   
 Historic   
 Important   
 Innovative   
 Interesting   
 Practical   
 Simple   
[no votes]
Patent WIKI

Share information and news about this patent, including information and news about the technology, inventors, company, ligation and licensing.

 References Submit all comments and votes
 
*references marked with an asterisk below are user-added references
 U.S. References
 
Add a new US reference:  
ReferenceRelevancyCommentsReferenceRelevancyComments
4763191
Gordon
725/104
Aug,1988

[0 after 0 votes]
4755872
Bestler
725/124
Jul,1988

[0 after 0 votes]
4742513
Reichard, Jr.
370/449
May,1988

[0 after 0 votes]
4590516
Abraham
725/93
May,1986

[0 after 0 votes]
4558464
O'Brien, Jr.
380/240
Dec,1985

[0 after 0 votes]
4554418
Toy
379/88.01
Nov,1985

[0 after 0 votes]
4536791
Campbell
725/28
Aug,1985

[0 after 0 votes]
4460922
Ensinger
380/241
Jul,1984

[0 after 0 votes]
4163254
Block
380/233
Jul,1979

[0 after 0 votes]
3920908
Kraus
379/91.02
Nov,1975

[0 after 0 votes]
 Foreign References
 Other References
 Market Review Submit all comments and votes
   
Market Size
Estimate the gross annual revenues of the relevant market sector:
> $10B
$5B - $10B
$2B - $5B
$500M - $2B
$100M - $500M
$10M - $100M
$1M - $10M
$500K - $1M
$100K - $500K
< $100K
[No votes]
$0
 
$0   $2.5B   $5B   $7.5B   $10B
Market Share
Estimate the percentage of the relevant market sector this invention will capture:
75% - 100%
50% - 74.99%
25% - 49.99%
10 - 24.99%
5 - 9.99%
2 - 4.99%
1 - 1.99%
< 1%
[No votes]
0.0%
 
0%   25%   50%   75%   100%
Reasonable Royalty
What percentage of gross sales should the inventor or assignee be paid?
75% - 100%
50% - 74.99%
25% - 49.99%
10 - 24.99%
5 - 9.99%
2 - 4.99%
1 - 1.99%
< 1%
[No votes]
0.0%
 
0%   25%   50%   75%   100%
Public's "Guesstimation" of Royalty Value
Market SizeN/A[No votes]
xMarket ShareN/A[No votes]
xReasonable RoyaltyN/A[No votes]

N/A

License Availablity
If you are NOT the owner or assignee, answer here:
Yes, license is available for purchase

No, license is not currently available



[No votes]
License Availablity
If you ARE the owner or assignee, answer here:
Yes, license is available for purchase

No, license is not currently available



[No votes]
Competitive Advantage
Does this invention have a significant competitive advantage over similar technologies?
Yes

No



[No votes]
Most helpful competitive advantage comment
[No comments]

Commercial Alternatives
Are there viable commercial alternatives for this invention?
Yes

No



[No votes]
Most helpful commercial alternative comment
[No comments]

 Technical Review Submit all comments and votes
 Claims Submit all comments and votes
 


What is claimed is:

1. In a system including subscribers with one-way addressable access terminal units, a method for processing calling line data messages received from a telephone company serving subscribers, said calling line data messages representing subscriber requests for pay per view service, each of said calling line data messages including a subsriber's telephone number and selection data determined by a subscriber to choose a pay per view event, the method comprising the steps of:

compressing said calling line data messages; then

electronically mapping the telephone number portions of said calling line data messages into address codes for the access terminal units, including reorganizing at least a portion of the subscriber telephone number by reading a look-up table for a first portion of said telephone number to provide a first binary number, converting a second portion of said telephone number into a second binary number, and combining said first and second binary numbers; and

electronically mapping the selection data portions of said calling line data messages into authorization codes for said access terminal units representative of said pay per view events.

2. The method of claim 1 wherein a calling line data message includes a two digit ASCII number, the method including converting said ASCII number into a binary number by:

subtracting 30 hexadecimal from the ASCII digit in the one's place to produce a one's place binary value;

subtracting 30 hexadecimal from the ASCII digit in the ten's place to produce a ten's place binary value;

combining the ten's place binary value with a ten's place look-up table base address to produce a ten's place look-up table address;

addressing a look-up table with the ten's place look-up table address to produce a weighted ten's place binary value; and

adding the weighted ten's place binary value to the one's place binary value to produce the binary number equivalent to the two digit ASCII number.

3. The method of claim 1 wherein a calling line data message includes a three digit ASCII number representing the area code of a subscriber, the method including converting said ASCII number into a two bit binary value by:

subtracting 30 hexadecimal from the first ASCII digit to produce a firs binary value;

subtracting 30 hexadecimal from the second ASCII digit to produce a second binary value;

rotating the second binary value left four places to produce a rotated second binary value;

adding the first binary value to the rotated second binary value and storing the sum in a first register location;

subtracting 30 hexadecimal form the third ASCII digit to produce a third binary value;

adding a look-up table base address to the third binary value and storing the sum in a second register location;

combining the values stored in the first and second register location to produce a register pair; and

addressing a memory with the register pair to locate the two bit binary value corresponding to the ASCII area code value.

4. The method according to claim 1 wherein said first portion of said subscriber telephone number comprises an areas code and wherein said first binary number has a relatively small number of bits.

5. The method according to claim 1 wherein said compressing step includes stripping data from said calling line data messages at a communication unit corresponding to a telephone company central office, the method further including buffering the portions of said calling line data messages after said stripping step, and thereafter transmitting said buffered portions to a headed station for said mapping steps.

6. The method according to claim 5 wherein said method further includes receiving said buffered portions at said headend station at a communication controller, said communication controller converting at least a portion of the subscriber telephone number into binary form.

7. The method according to claim 6 wherein said communication controller converts said selection data into a binary format.

8. The method according to claim 6 wherein said step of mapping the telephone number employs multi-level indexing.

9. The method according to claim 6 wherein said method includes applying data from said communication controller to a system controller, said mapping steps occurring at said system controller.

10. The method according to claim 9 wherein said subscriber telephone number and said selection data are both converted into binary form prior to being received at said system controller.

11. The method of claim 6 wherein said communication controller performs said reorganizing step.

12. In a system including subscribers with one-way access terminal units, a method for processing calling line data messages received from a telephone company serving subscribers, said calling line data messages representing subscriber requests for pay per view service, each of said calling line messages including a subscriber's telephone number and selection data determined by a subscriber to choose a pay per view event, the method comprising the steps of processing each of said calling line data messages to form:

a first number group comprising four digits of the telephone number;

a second number group comprising three other digits of the telephone number;

a third number group comprising the area code of the telephone number; and

a fourth number group comprising the selection data and electronically mapping said four number groups into address codes and authorization codes for said access terminal units, so that said units can be addressed and authorized to permit said pay per view event to be exhibited.

13. The method of claim 12 including:

forming a first data word from said first and third number groups;

forming a second data word from said second number group;

forming a third data word form said fourth number group; and

forming a fourth data word from said fourth number group.

14. The method of claim 12 further including forming first, second, third and fourth data words from said number groups.

15. The method of claim 14 wherein said first and second data words are in binary form and said third word comprises binary coded decimal data.

16. The method according to claim 14 including searching a root stored in a memory in accordance with said first data word and searching a leaf stored in said memory in accordance with said second data word.

17. The method according to claim 14 wherein the method includes:

using four digits of the telephone number to identify one of several leaves within a phone index root;

using three other digits of the telephone number for locating a pointer within the identified leaf;

using said pointer to obtain a block of data stored in a memory including the address of, an access terminal unit and the current authorization code for a subscriber; and

updating said block of data in accordance with the selection data.

18. The method according to claim 17 further including

obtaining a password from said block of data, said password having been stored in a data base;

comparing the obtained password with a password contained in said selection data to determine whether the password in said selection data matches the stored password; and

if there is a match, the updating the authorization code for the subscriber.

19. The method according to claim 18 further including determining whether a flag has been set in the block of data corresponding to the subscriber, and refraining from updating information if said flag has not been set.

20. The method according to claim 12 wherein each of said calling line data messages is in ASCII format, and wherein the method includes:

converting the first number group into a first binary word and converting the second number group into a second binary word.

21. In a system including subscribers with one-way addressable access terminal units, a method for processing calling line data messages received from a telephone company serving the subscribers, said calling line data messages representing subscriber requests for pay-per-view service, each of said calling line data messages including the subscriber's telephone number and selection data determined by a subscriber to choose a pay per view event, said subscriber telephone number including an area code, the method comprising the steps of:

receiving said calling line data messages and compressing and converting the subscriber's telephone numbers and selection data into a binary form, including converting the area code of said subscriber telephone number into a binary number having a relatively small number of bits by using a look-up table and thereafter applying said binary form data to a system controller;

electronically mapping said binary form telephone numbers into address codes for said subscribers at a system controller; and

electronically mapping said selection data in binary form into codes for said access terminal units.

22. The method according to claim 21 wherein the area codes of said subscribers are converted into two binary bits via said look-up table at a communication controller.

23. The method according to claim 21 wherein said step of compressing and converting occurs at a communication controller located at a cable headend station.

24. The method according to claim 23 further comprising receiving said calling line data messages and stripping data therefrom.

25. The method according to claim 24 wherein said calling line messages after said stripping step are buffered.

26. The method according to claim 23 wherein said communication controller performs said step of converting the area code of said subscriber telephone number into a binary number said communication controller coupling said area code information in binary form to said system controller.

27. The method according to claim 23 wherein said communication controller converts each said subscriber telephone number into a multiple bit binary number and communicates said binary number to said system controller, and wherein said system controller uses said multiple bit binary number for root searching in said step of mapping the telephone number.

28. The method according to claim 23 wherein said communication controller converts the three digits of the area code of said subscriber telephone number into a relatively small number of binary bits, converts a group of four digits of said subscriber telephone number into a second binary numbers to said system controller.
 Description Submit all comments and votes
 


BACKGROUND OF THE INVENTION

The present invention relates to cable television and particularly to a technique whereby a cable subscriber can send a request via telephone to the cable operator to receive only a selected cable program. This is known as an "impulse pay per view" system.

The preferred embodiment of the present invention is compatible with one-way addressable CATV systems. Prior to describing the invention, it will be useful to have a rudimentary understanding of a typical one-way addressable CATV system. In use, a cable operator at a "headend" station receives signals via satellite, microwave, and super trunks, encodes the signals, modulates them, and provides them to the cable plant. The cable plant is a distribution network typically carrying up to 80 channels or more over a distance of up to 20 miles or so to various subscribers. Each of the cable subscribers is provided with a one-way addressable converter (also called a decoder) which is connected to the cable and to a television receiver or monitor. The basic function of the converter is to interface the cable signals with the subscriber according to authorization codes received from the headend. The subscriber will select a channel containing a program desired to be viewed. The converter will determine whether that channel or program on the channel is authorized for viewing by the subscriber. If so, the converter descrambles the selected signal provided by the cable operator and provides a descrambled signal to the television receiver or monitor. The scrambling may, for example, be done by sync suppression wherein sync information is randomly suppressed, as well as video inversion.

To achieve the foregoing system, use may be made of the vertical blanking interval, e.g., line numbers 10, 11, 12 and 13, or an out-of-band data channel during which information can be transmitted by the headend station to the subscribers or any selected subscriber. Each converter has a respective unique address code illustratively having 20 binary bits so that over one million subscribers can be individually addressed by the headend. Additionally, each converter typically includes a random access memory (RAM) which is capable of storing 20 bits, for example. Each of the stored bits is representative of a service or channel which may be subscribed to. Typically, at installation, the RAM is loaded with all zero bits. When the subscriber chooses the services he wants, that information will be entered as data in a subscriber data base. The subscriber data base is accessed by a system controller at the headend station which is capable of addressing any or all of the converters in the field. The system controller also communicates with a billing and management computer.

More particularly, in this example the system controller transmits a selected 20 bit address code (sometimes referred to as an "identification code") followed by an associated authorization code using each of line numbers 10, 11, and/or 12 in the vertical blanking interval. Each converter receives the 20 bit address code, but only one converter will decode it as matching its own unique address. Following the transmitted 20 bit address code are the five bits of the authorization code. These five authorization bits will be loaded into a proper location in the RAM, the location having been determined by information from line 13 in the prior field. The RAM in the converter will illustratively contain 20 bits arranged in four groups which may be called row A, row B, row C, and row D. Illustratively, the five bit authorization code will be loaded into one of the rows of the RAM. Line number 13 of the vertical interval is used to transmit a "program tag," a "market code," and further information to the converters in the field. The market code is used to prevent a converter from being taken from one cable market to another market. The transmitted program tag is used to identify a particular channel or program and is compared in the addressed converter with the stored authorization bits to establish whether that converter is authorized to descramble the corresponding program material. Illustratively, this is done by performing a logical AND operation between the 5 bit program tag transmitted on line 13 of the channel which has been selected by the subscriber with the content of a selected row of the RAM. The result of this logical operation will indicate to the converter whether the selected channel or program on the channel has been authorized to be descrambled by the converter. It will be appreciated that each of the channels transmitted by the cable operator has its own respective program tag. This particular system has exceptional versatility in that the contents of the RAM at any subscriber's converter can be changed instantly via the system controller through the transmission of the appropriate address code during the vertical blanking interval followed by updated information for storage in the RAM. Moreover, there can be tiers of authorization wherein various programs on a given channel will be authorized for some subscribers but not for others, depending on the service to which they have subscribed. For further information about one such addressable system, refer to Ensinger and Hendrickson U.S. Pat. No. 4,460,922, whose disclosure is hereby incorporated, which patent is owned by Zenith Electronics Corp.

To date, the market penetration of cable systems has been on the order of only 50 percent. Some television owners prefer not to pay the monthly charges for cable service to receive one or more of the packages or services provided by the cable operator. These non-subscribers, however, may be willing to pay the cable operator for only an occasional program. Such type of service is called "pay per view." In order to achieve this and to provide control over billing, the cable operator must have information regarding what programs are desired by various subscribers. In an addressable CATV system of the type described above, for example, a particular subscriber's converter may be updated so that it will descramble a given program--once it is determined that the subscriber is willing to pay for that program. This can be done by having the subscriber telephone the cable operator in advance of the program to be purchased, mail a postcard, or communicate by some other means.

The problem with this type of service, however, is that it precludes impulse purchases and simultaneous response from the time the pay-per-view subscriber determines he wishes to purchase a particular program and the time it is actually viewed by him. It would be considerably more advantageous to permit a subscriber to obtain immediate results by, for example, pushing a button. This would alert the cable operator to a request for service. The system controller at the headend station immediately would change the contents of the RAM at that subscriber's converter to permit the selected program to be descrambled. This is called "impulse pay per view" (IPPV) service.

The problem facing the industry is how to provide a system permitting IPPV service. In 1975, the Federal Communications Commission mandated that all cable systems being installed would be required to have two-way communications capability. This would permit interaction between the subscriber and the headend station. To date, about 20 percent of installed systems are capable of two-way communications, and of these only about one-half have active two-way communication. With two-way communication, the subscriber can use his home terminal or other unit to communicate with the headend station and achieve IPPV. The problem, however, resides in providing a mechanism for other subscribers served by one-way cable systems, which constitute the vast majority, to have IPPV service.

For cable subscribers without two-way cable systems, a hybrid system is required for impulse pay per view service. This involves a telephone request by a subscriber for a PPV cable event followed by delivery from the cable operator headend station to the individual subscriber of a new authorization level permitting the PPV cable event to be descrambled.

The problem with hybrid systems using the telephone is substantial. The telephone system in a given city or community includes one or more central offices, each communicating with up to about 50,000 telephone subscribers. Each of the several central offices communicates with the others by trunk cables. The headend station of the cable operator will be located within a region serviced by one central office. When cable subscribers telephone for pay per view service, their telephone central offices will route all of the telephone calls to the one central office servicing the headend station. Too many telephone requests at the same time to the cable operator can cause the telephone central office to "crash" due to excessive requests for physical telephone connections between numerous telephone subscribers and a single cable operator headend station. This problem is common to all hybrid systems, whether a manual telephone system or an automatic dialing system is used.

Further problems attend manual call-in systems and auto-dialing systems. The manual call-in systems are labor intensive, require long processing and holding time, have limited capacity, are not impulse in nature, and have lower penetration. They also involve possible human error. Auto-dialing systems have an advantage over manual systems, except that there is the additional expense of in-home installation of the automatic dialer.

To avoid overloading on the telephone system, one solution to providing IPPV service for one-way addressable cable systems would be to refrain from making physical telephone connections between the cable subscribers and the headend station through the various central offices. To achieve this, a new system based on automatic number identification passing referred to as "ANI passing" has been developed. ANI passing is an upgrade achieved by adding software to some central offices or by adding hardware to others, depending on their existing capabilities. In ANI passing, the central office of the telephone company will collect information based on each subscriber telephone call and pass it on to other equipment.

Thus, when a cable subscriber intends to make an IPPV request and picks up his telephone (takes it "off-hook"), a dial tone is issued to the subscriber's premises by the telephone company, and the telephone number is automatically identified, as customary within the telephone company. Now the cable subscriber can enter information using the telephone. Typically, to place a phone call, seven digits (or ten, if an area code is needed) are entered. To use ANI passing, however, some prescribed sequence of digits is used. This can take virtually any form. For example, the subscriber may enter "*85" or any other prescribed NNX number (exchange number) and then some number of digits, such as four further digits. In general, however, the total number of digits need not be seven, so long as some prescribed subscriber-entered information alerts the telephone company central office not to make a physical connection between the telephone subscriber and whatever location is identified by the code which follows the reserved block of codes which follows the NNX (or *85 signal). After dialing the NNX number, for example, the cable subscriber will provide further information on the telephone by sending illustratively four digits. Hence the telephone transmission to the central office may take the following form: NNX-YVVZ. In this illustrative example, the code represented by NNX activates the ANI passing system at the central office. The remaining four digits YVVZ identify what the subscriber wants to do. Illustratively, the Y digit is used to identify the cable company. In any given metropolitan area, there will be fewer than ten different cable operators, so the one digit (Y) will be able to identify the cable operator uniquely. Illustratively, the next two digits represented by VV identify the event or cable television program which the cable subscriber wishes to purchase. Next, the Z digit may represent a password which is useful for security purposes. For example, within a given household where a cable television system has been installed, parents may, through the use of a password, prevent access by children to certain types of pay per view programming. Alternatively, the Z digit can be used for other purposes. In using *85, five digits can be entered by the cable subscriber to his telephone, for a total of, for example, seven digits preceded by one special character. One of the digits may identify the cable company, two of the digits may identify the cable event to be purchased (or canceled), and two digits may be used as a password. It will be understood that these are purely illustrative, and that wide variation can occur.

As mentioned, the NNX or *85 message tells the telephone central office that it need not make a physical connection. This avoids overburdening the telephone plant. In response to receiving such an ANI transmission, the receiving telephone central office will collect and store data. Then, it will communicate by the system of the present invention with the cable headend station which has been "telephoned" and provide it with various information, including the telephone number of the cable subscribers who called, the user entered data, and various other information. In an area served by plural cable companies, the equipment at the telephone company central offices will send data, using the present invention, to the plural cable companies.

The object of the present invention is to provide a system which will receive information from the telephone company central offices and implement the impulse pay per view requests by cable subscribers in a satisfactory manner.

A related object of the invention is to provide a system having the ability to receive data from the telephone companies as fast as the information can be provided using the ANI passing systems.

Another object of the present invention is to permit the authorizations of the subscribers to be checked in real time.

A further object is to translate the telephone number of the cable subscriber (provided by the telephone company) into a cable subscriber code at a fast rate.

BRIEF DESCRIPTION OF THE DRAWINGS

In describing the various aspects of the present invention, reference will be made to the accompanying drawings wherein:

FIG. 1 is a block diagram of a system according to the present invention showing plural central offices and a headend station;

FIG. 2 is a block diagram of one of the several telephone communication units (TCUs);

FIG. 3 is a flow chart of the TCU software;

FIGS. 4A and 4B are diagrams of the telephone communication controller (TCC) located at the cable headend station, and FIG. 4C is a flow chart of part of the TCC operations pertaining to adaptive window multiplexing;

FIG. 5 is a flow chart of the TCC software;

FIGS. 6A, 6B and 6C are diagrams of the multiplexer circuitry;

FIG. 7 describes the inputting of data to the multiplexer from the TCC;

FIG. 8 describes the outputting of data from the multiplexer to the system controller;

FIG. 9 shows the message format of the data sent from the multiplexer to the system controller;

FIG. 10 shows the phase inverted synchronous input/output buffer system used in the system controller;

FIG. 11 is a sketch illustrating processing by the system controller, CATV encoder, and billing computer;

FIG. 12 is a sketch showing the two level searching used in the mapping algorithm applied in the system controller; and

FIG. 13 illustrates further how the four words sent to the system controller are processed.

DESCRIPTION OF THE PREFERRED EMBODIMENT

FIG. 1 shows a block diagram of a system according to the present invention. The preferred embodiment of the invention is the Zenith PHONEVISION system. As shown, the system comprises a plurality of telephone communication units (TCUs) 20 each located at a corresponding telephone company central office 22. Several central offices 22 are shown in FIG. 1 to indicate the several central offices of any metropolitan area. In the preferred embodiment of the present invention there may be as many as sixteen central offices. Also located at the telephone company central office is an automatic number identification (ANI) computer 24. The ANI computer is provided by the phone company and is activated upon receipt of a telephone call from a customer utilizing a special ANI telephone code. The ANI computer then provides specific information to its TCU on a cable 26.

Coupled to each telephone communication unit 20 is a corresponding modem 30. Modems 30 are coupled via leased telephone lines 32 or other communication channels to corresponding modems 34 located at a cable headend station 36. Each modem 34 is coupled by a cable 38 to a respective telephone communication controller (TCC) 40. The TCCs 40 are in turn coupled to a multiplexer 42 by a bus 44. Multiplexer 42 selects which one of the TCCs corresponding to the various telephone company central offices will supply data to a system controller 46. The system controller in turn is coupled to a cable TV encoder 48 as well as a billing computer 50.

In order to utilize the impulse pay per view system of the preferred embodiment described herein, a cable television subscriber would tune his addressable cable television decoder to the desired channel. The cable subscriber would then use his telephone to enter the ANI telephone code and then four or more digits. Two of the digits entered by the cable subscriber signify the particular IPPV cable event the subscriber wishes to view. Two of the other digits for illustrative purposes constitute a password number or could be used to identify which of a plurality of encoder units the subscriber wishes to enable for the desired cable event.

The telephone company central office 22 serving the cable subscriber's telephone area will be alerted by the ANI code so that when it receives the call, it will transform the "dialed" phone number (called the "destination telephone number") and other data into the so-called bulk calling line identification (BCLID) format by using the ANI computer. It will be understood that other protocols can be used by the telephone company, and that the present invention is not limited to the specific protocol adopted. In any event, the telephone company central office will not connect the incoming call from the cable subscriber to its local switch. Thus, the telephone company central offices will not become overburdened with the incoming calls from numerous cable subscribers who may all be calling on impulse to purchase a particular cable event.

The ANI computer at the telephone company central office will send the BCLID data (using seven bit ASCII code) to the TCU 20 located at the central office. The data is sent serially at 1200 baud in RS-232 format. The BCLID message contains ASCII characters representing the seven digit "destination telephone number," the ten digit origination telephone number, as well as considerable other data such as carriage return and line feed, a BCLID input/output message identifier, numerous ASCII spaces, the time of day in hours, minutes and seconds, the terminating line status and the calling line status indicator. The data sent in the telephone company's BCLID format is shown in Table I.

The "destination telephone number" carries the information entered by the cable subscriber. This will include the cable event which is to be purchased and the password. Ordinarily, this will comprise the last four of the seven digits entered by the subscriber, although any number of digits could be entered, and of these, any number could be dedicated to identifying the program to be purchased, a password, an identifier of which particular converter box at the subscriber's premises is to be used, and any other information deemed necessary or desirable by the cable company.

TABLE I ______________________________________ Format of BCLID Message Sent By ANI Computer 24 to TCU 20 <cr-lf>BCsaabbccssdddddddsoooooooooosfsgs<cr-lf> ______________________________________ <cr-lf> All messages start and stop with carriage return line feed BC BCLID I/O message identifier s ASCII "space" aa Hours (24 hour format) bb Minutes cc Seconds ddddddd 7-digit "destination telephone number" oooooooooo 10-digit origination telephone number f Terminating line busy, idle status, ("0" = idle, "1" = busy) g Calling line DN multi-status indicator ______________________________________

This data is sent by the ANI computer 24 to its corresponding TCU 20 asynchronously without handshaking, and can be a continual data stream.

The TCU 20 must be able to receive and transmit the data as fast as the ANI computer 24 can send it. To promote speed, each TCU 20 strips away unneeded data and temporarily stores the remaining data in a buffer. The stored data is then transmitted synchronously to the cable headend station using a telephone line 32. Preferably, a contracted synchronous data link control (SDLC) protocol is used for transmitting the data from each TCU 20 to its corresponding TCC 40 at the cable headend station. After the data has been transmitted to the headend station, the TCU 20 waits for an acknowledgment message from the headend TCC 40 before transmitting the next data packet. If no acknowledgment or a negative acknowledgment message is received, TCU 20 retransmits the previously transmitted data packet. The TCU 20 provides for error free transmission to TCC 40 with no data loss. Since much of the unnecessary information of Table I is removed, as will be described, by the TCU 20, and due to the buffering occurring at each TCU 20, each TCU 20 is able to operate at a rate fast enough to keep up with ANI computer 24. Each TCU 20 also provides for conversion of the BCLID data received from the phone company to the modified SDLC protocol format.

A block diagram of a TCU 20 located at one of the telephone central offices is shown in FIG. 2. It includes an Intel 8085 central processing unit ("CPU") 52, a 4 K.times.8 static RAM 53, a 16 K.times.8 EPROM 54, a 4 K.times.8 EPROM 55, two Intel 8250 Asynchronous Communication Elements 56, 57, an Intel 8273 programmable HDLC/SDLC protocol controller 58, chip select logic 59 and watchdog reset circuitry 60. A sixteen bit address and eight bit data bus 61 provide communication among the various components of TCU 20. The serial data from the telephone office ANI computer 24 is applied to a serial data input pin of communication element 57 by a line 62 which is coupled to cable 26 through a line receiver (not shown). The equipment on this board, according to the preferred embodiment, has two asynchronous channels and one synchronous channel.

The CPU 52 in the preferred embodiment illustratively operates at four megahertz. Its instruction code is stored in EPROM 54. The EPROM 55 may contain look-up tables. RAM 53 is used to buffer data packets, for stack purposes and for program use. Chip select logic 59 is used to determine whether the read or write operation is required of the memory mapped devices and to determine the exact device being addressed.

As mentioned, once the data from the telephone office ANI computer 24 is received, TCU 20 strips away unwanted data. The data that is kept is the seven digit (illustratively) "destination telephone number" entered by the cable subscriber (which includes the data the cable event to be purchased), the ten digit phone number of the cable subscriber, the terminating line status and the calling line indicator. These nineteen characters are ASCII characters, and are temporarily stored or buffered in RAM 53 to await transmission to the corresponding TCC 40 at cable headend station 36.

Appendices I and II of U.S. Pat. No. 4,755,872 by Bestler et al are hereby incorporated by reference.

FIG. 3 contains a flow chart of the software which controls the inputting of data from the telephone office ANI computer 24 and the outputting of data to the cable headend TCC 40. A listing of the TCU software is contained in Appendix I printed in U.S. Pat. No. 4,755,872. Referring to FIG. 3, after data is received from ANI computer 24 at block 64, unwanted data is stripped, temporarily stored, and then sent in packets to the headend unit as shown at blocks 65, 66 and 67. Then TCU 20 determines at decision diamonds 68 and 69 whether a positive acknowledgment has been received from the headend. If not, retransmission of the data packet occurs, as indicated by route 70. If there is stored data in RAM 53, determined at diamond 71, further data packets are sent to the headend, as indicated by route 72. Otherwise, data continues to be received, as always, and put into a buffer (RAM) until processed.

The nineteen ASCII characters sent by TCU 20 to its TCC 40 are sent via a line using a contracted SDLC protocol which is reflected in Appendix I printed in U.S. Pat. No. 4,755,872. Briefly, however, the SD