CA2155535A1 - Method of selecting cable television converter groups - Google Patents

Method of selecting cable television converter groups

Info

Publication number
CA2155535A1
CA2155535A1 CA002155535A CA2155535A CA2155535A1 CA 2155535 A1 CA2155535 A1 CA 2155535A1 CA 002155535 A CA002155535 A CA 002155535A CA 2155535 A CA2155535 A CA 2155535A CA 2155535 A1 CA2155535 A1 CA 2155535A1
Authority
CA
Canada
Prior art keywords
group
terminals
message
subscriber
selection criteria
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
CA002155535A
Other languages
French (fr)
Inventor
Robert J. Ii Beyers
Gregory S. Durden
M. Kent Ivey
Curt M. Kuban
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Scientific Atlanta LLC
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Publication of CA2155535A1 publication Critical patent/CA2155535A1/en
Abandoned legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/162Authorising the user terminal, e.g. by paying; Registering the use of a subscription channel, e.g. billing
    • H04N7/165Centralised control of user terminal ; Registering at central
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/254Management at additional data server, e.g. shopping server, rights management server
    • H04N21/2543Billing, e.g. for subscription services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/258Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
    • H04N21/25866Management of end-user data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/64Addressing
    • H04N21/6402Address allocation for clients
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/167Systems rendering the television signal unintelligible and subsequently intelligible
    • H04N7/1675Providing digital key or authorisation information for generation or regeneration of the scrambling sequence

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Graphics (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Input Circuits Of Receivers And Coupling Of Receivers And Audio Equipment (AREA)
  • Picture Signal Circuits (AREA)

Abstract

A method of selecting individual sub-scribers for inclusion in groups by means of certain selection criteria comprises the steps of storing criteria related to terminals of a subscription television system, defining criteria which characterizes a group, logically linking the criteria in a predetermined manner to form a group criteria definition statement, compar-ing the stored terminal criteria with the group criteria definition statement, and assigning an individual or group of terminals to the group when the stored terminal criteria matches the group criteria definition statement. The selec-tion criteria, for example, may include a range of terminal serial numbers, a range of terminal addresses, the status of the terminal, the service codes for the terminal and subscriber terminal features. The logical operators may include log-ical AND, logical OR, logical NOT, equal to, greater han, less than, parentheticals for joining operators and brackets and separators for ser-vice codes.

Description

P~CU~J~ 9 4 ~ ~J L 4 2155~S ~ ~P~u~ o 3 MAR ~5 METHOD OF SELECTING CABLE TELEVISIO~ CONVERTER GROUPS
This application is related in subject matter to U. S. Application Serial Nos.
08/018,437 and 08/018,933, entitled "Addressed ~ss~ging in a Cable Television System"
and "System and Method for Remotely Selecting Subscribers (filed April 22, 1993) and Controlling Messages to Subscribers in a Cable Televison System" (filed February 16, 1993) respectively of the same inventors.
BACKGROUND OF THE INVENTION
1. Technical Field This invention is related to the field of subscription television systems generally and, more particularly, to a method and apparatus for selecting sllbscribers for inclusion in groups of subscribers of a subscription television system, the tr~n.~mi~sion of messages to said pre~eterminPd groups and co"~ ir~ti~ n with a host billing com~ule, being facilitated thereby.
2. Description of the Relevant Art --In the field of cable television systems, addressable control of cable televisiondescrambling converter equipment is known from U. ~,. Patent No. 4,323,922 which generally describes the TotalControl descrambling converter. This converter receives addressed messages directed to it if its converter address m~tçhlos the address of the addressed message; otherwise, the message is ignored. The message may relate to providing a new level of service ordered in advance by the subscriber. The new level of service is autom~tir~lly stored in the co~ f if the address tr~n~mitted with the level of service message and t]he converter's previously stored address matc'h. The channel utilized is an out-of-band çh~nn~l not normally employed for television tr~n~mi~si~ n, for example, a channel from the FM radio band. The TotalControl message was not of a ~lso,lal nature; it was typically serviçe related.
Addressed nlrs~s~gin~ need not relate only to authorizing a new level of subscription television service. In the early 1980's, cable television ~y~ lls were involved in field trials of energy management, home shopping, home banking, and. other services involving one way and two way co.,~ ir~tion. Consequently, the need for higher capacity mrss~ging channels has increased while the availability of channel capacity has stayed relatively constant;
certainly, the cost of providing two or more out-of-band data receivers to increase channel capacity becomes prohibitive. These messages again, while subscriber related, were commercial and not intended for personal use.

A~.~E~;~r~ E~

215~53S
S 9 4 / o 1 ~3~ 8 8 2 ~ iPEAlUS O 3 MAR 1995 In the late 1980's, Scientific-Atlanta, Inc. moved to increase addressed m~ss~ging capacity by lltili7ing pulse amplitude modulation of the audio carrier or an in-band audio data channel for addressed mPss~ging. Most recently, Scientific-Atlanta, Inc. has further suggested the use of otherwise non-utilized portions of the video signal for addressed m~ss~ging (see U.S. Patent Application Serial No. 07/80(),241, filed November 29, 1991, and U.S. Patent Application Serial No. 07/983,766, filed December 1, 1992, and incorporated herein by 1~rellce as to essential subject m,atter).
Even with the increased channel capacity, there rem~inPd a need to decrease as much as possible the Utili7~ti(lIl of the available capacity. One technique for doing so is a method wherein a screen full or frame of information for display o n an associated tele~vision receiver is not sent altogether. Rather, predetermined templates that may be utilized for various types of messages may be tr~n~mitted in a first step and stored while in a second step, the variable data completing the template and forming a message is sent. For example, a template may be provided for the current weather conditions which provides descli~lols such as time, current Lell.peldture, wind velocity, and barometric reading. The template is then completed in a second data tran~mi~ion with current data. Moreover, locally gel~ldted information such as the time of day may be provided by the termiîlal itself to further complete the information screen.
According to the above described method, messages may be 1~ rd to individualsubscribers or to groups of subscribers using a form of block addlessi.,g. A group may be formed, for example, of all subscribers i ll~lc~iled in spon~s progr~mming. In this manner, this group of sllbscrihers may be speci~lly authorized to receive certain scrambled sports pro~l,~.. ;.~ wi~lluul having to send out indivi-hl~li7lod m( ssages to each of the members of the group.
Typically, the cable television headend colllL,.ises a subscriber ~l~t~hace under control of a billing colllL,u~el provided by one vendor and customer service eql~ipm~nt under control of a colll~ulel provided by the cable television equipmenl m~nllf~ctllrer. While the billing co~ ul~. d~taba~e may be considerably better equipped fi)r ~ tin~ the system operator to determine groups of subscribers having common i~ e~iki, buying habits, birthdays, zip codes, phone exchanges and such, it is the cable equipment or system control computer which is the interface to the subscriber's television termin~l where the message is received.

21 PGTI~iS94 / 01 488 5 ~ ~ 3 S ~i4J~ 3 MAR 1995 Consequently, there has remained in the art an imr~se to the provision of indivi~ li7-od and group m~ss~gin~ primarily because of the way the system has evolved. Moreover, there is some considerable possibility that by overcoming these impediments, increased revenues can result, for example, by providing person~li7~cl, holiday greeting card services.Consequently, there remains a need in the art of subscription television services to permit the system operator to provide individll~li7ed messages, want ads, public service announcements and such to individuals or groups of individuals.
SUMMARY OF THE INVENTION
According to the principles of the present invention, the above-identifiPd problems and related problems of prior art subscription television systems are solved by providing a method of selecting individual subscribers for inclusion in groups by means of certain selection criteria comprising the steps of storing criteria related to terminals of a subscriptiffn television system, defining the criteria which characteri_es a group, logically linking the criteria in a predetermin~ eL to form a group criteria definition statement, comparing the stored terminal criteria with the criteria defmition st~t~ nt~ and ~signing an individual or group of termin~l.c to the group. The selection criteria, For example, may include a range of terminal serial numbers, a range of terrnin~l addresses, the status of the terminal, the service codes for the terminal, subscriber terminal features, a code determinin~ the headend to which a hllllh~al is associated, a termin~l model number, and the current orders (for example, pay-per-view events subscribed to). The logical o~.dLol~ may include logical AND, logical OR, logical NOT, equal to, greater than, less than, greater than or equal to, p~ ir~l~ for joining o~.~ta,.~ and brackets and separators for service codes. Once a group is ~efin~, an addressed L~ dction is fo,~v~ded to a specific terminal advising that termin~l of the groups for which it is a member. If the m~xi.. number of groups is, for example sixty-four, then, a group map is tr~n~mittt?d to the terrninal advising it in just sixty-four bits of the groups for which it is a member.
Co",---,---ir~tion with a host billing COll~ el iS facilitated because a group may be defined by a short hand criteria selection st~tt~mPnt, not tlle entire list of serial numbers of termin~l~ of the group. Thus, the data tran~mi~cion the.~bel~eell is facilitatedComm--nir~tion wit'n ~ le is facilitated because a group addressed message need only ~.lEI~ED s~r 215$535 PCTjUS 94 / 01 4 88 be sent once to a defined group of terminals, each terminal recognizing the group number and then accepting the message as a message intended for it.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a block schematic diagram of a cable television system comprising a headend 100, signal distri6ution apparatus 165, subscriber terminal apparatus 150, the hP~en~ including a system control coln~uLer 120 according to the principles of the present mventlon.
FIG. 2 is a block schematic diagram of a television signal scrambler such as apparatus 104a shown in FIG. 1.
FIG. 3 is a block schematic diagram of an in-barld video data inselle, which maycomprise a portion of a scrambler or a television channel data inse.ler of the headend of FIG. 1.
FIG. 4 is a block schPm~fic diagram of an in-band/out-of-band subscriber terminal apparatus such as apparatus 150 of FIG. 1, including on screen display control circuit 406.
FIG. 4(A) is a table showing a proposed data. transaction packet scheme for tr~ncmittin~ data via each of three data channels: in-band video data, in-band audio data, and out-of-band data.
FIG. 5(A) is a block diagram of the on-screen display control circuit 406 of FIG. 4.
FIG. 5(B) illustrates memory locations of RAM oi- the on-screen display of FIG. 4.
FIG. 5(C) illustrates t_e configuration of an on-screen display comprising, for example, 240 characters.
FIG. 6A ill.,~l.,.l~c a message tr~nC~ction to a subsc-ibel terrninal.
FIG. 6B illu~LIdles a mess~ge definition tr~n~açlinn to a subscriber terminal for deffning control ~h~ ics for a particular m~sca~e.
FIG. 7 is a block sçll~m~tic diagram showing conl~u~r programs and their relationships within system control co~ u~ 120 ancl with billing colll~uler 110 in accorda~ce with the principles of the present invention.
FIGs. 8(A), 8(B) and 8(C) illustrate the message table, m~ss~ge text table and message schedule table ~l~t~b~ce structures, respectively, which are stored in system control colll~uL~r 120 in accorda~ce with the present invention.

f~

2I~5~3!~ ~,7J~9~ / 01 4 8 8 i~Af~'~ 3 3 .~`!lAR 1~

FIGs. 9(A), 9(B), 9(C), and 9(D) illustrate the CVT message table, message converter group table, CVT_CVT group table and converter group table tl~t~bace structures,respectively, which are stored in system control computer l 20 in accordance with the present invention.
PIGs. 10(A) and 10(B) illustrate the converter table and scrambler table database structures, respectively, which are stored in system control co~ uLer 120 in accordance with the present invention.
FIG. 11 shows a pl~efc,.l~ed set of character codes for subscriber terminals in accordance with the present invention.
FIG. 12 shows a preferred set of character col~ly~ssion codes for subscriber terminals in accordance with the present invention.
FIGs. 13 to 19 show a set of pLcfc.led user interface screen layouts which may ~e used to define and schPdnle messages, and define groups in accordance with the present mventlon.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT
SYSTEM OVERVIEW
FIG. 1 is a block diagram of a subscription television system in which the present invention may be implemPntPd. Such a system may transmit messages to a plurality of subscribers through in-band L,L,.~c,.,ic~ion means, out-of band trancmicsion means, or a combination of the two. Details of in-band and out-of-band trancmicsion means are provided herein, and are also de~lil)ed in commonly ~csignPd United States patent application serial number 07/g83,766, filed on Decc;,llber 1, 1992, incorporated herein by l~f~lellce. Details of fo, ."; ~ message data for tr~ncmiccion to subscribers are provided herein, and are also described in commonly ~ccignPd United States patent application serial number 07/800,241, filed on November 29, 1991, incorporated herein by l~,feL~llce.
In FIG. 1, billing CO~ u~ 110 includes a subscriber d~t~bace and generates a monthly bill for the subscribers in the system based on level of service and any pay-per-view and impulse pay-per-view purchases. Billing c(~ ul~l 110 co---p-ises a data proceccing colll~u~er, such as a pel~olal c-,lll~uLer with monitor a~ld keyboard, running specialized billing and subscriber dat~bace software, for example a software package offered by CABLEDATA, Inc. System control computer-l20 may also be a personal Colll~u~ and, ~i~E~ 9HEl' WO 94/19909 2 1 ~ ~/US94/01488 ~

according to the principles of the present invention, may be a Scientific-Atlanta, Inc. System Manager 10 data processor. The System Manager 10 data processor may cu~ "ise, for example, an IBM Model 90 equipped with a 200 megabyte hard drive running the UNIX(R) Op~,.d~ g system with 32 megabytes of RAM. In accordal,ce with the principles of the present invention, however, system control COIl~)Ult~l 120 need not be a System Man~ger 10 processor, but could instead co,lll,lise another data procçssing Culll~ult;l known in the art.
System control co",~ul~r 120 may include a monitor on which screens are displayed to the user (as Aic--u~P~A herein in ,ef~ ce to FIGs. 13 through 19), and data entry means which allows a user to define mPcc~ges, groups, message schPd-llPs and other data in accor~ance with the principles of the present invention.
System control co,l,l ul.,l 120 is interfaced to billing Cvlll~ult;l 110 over, for exarnple, a 9600 baud tclcphone line. System control co,..~ r 120 receives tranc~rtiQns such as authorized tl,.~ ç~ions (for example, authorization for ~,cl"iu"l chAnnPlc or pay-per-view credits) from billing Colll~UL~l 110 and formats and fo,~lvar~s L~ CI;r~1I5 to hr~d~PnA
controller 130 and addressable ll~ . (ATX) 140. A billing co...~ l inf~rf"re exists ~Iween billing co,,,~ut~,, 110 and system control co",~ul.,~ 120, implç...~ A over the h~.l~.a,e link b~lweell the two acco,ding to a protocol described in detail herein. Such an int~rf,re allows groups of :illhscl;llcr ~rmin~lc (also referred to as co"~ herein) to be created and addressed remotely and with more flexibility than is possible using system control co",~uL~r 120 alone. While system control c~ . 120 may contain a rel~tion~l Aat~h~ce (such as INFORMIX~R), available from INFORMIX Software, Inc.) to store ~ubsc~ib.,. data with regard to particular cable p,vg.,.. ;.. g fcalu,cs and SUhs~:~ ;l.C~ tçrmin~l capabilities, billing Cvlll~ul~l 110 may have a more co",~,chel~ive ~t~hace CO~ g demo~l~hic and other data such as s~lhsçriher addresses, telephone .. h~ ~, names and ages of mrmherc in each household and their dates of birth, credit ratings, approximate income levels, spçnAing habits, viewing habits, and credit card mlmberc to name a few.
While the following description of the present invention ~csllmp~c that both out-of-band and in-band addressed data ll~ .c...i~ini~ is employed to l..,~ mPcc~Ps to individual ~.ll,sc~ or groups of subsc,il~l~ in acco,.lance with the present invention, one or the other, or yet a dirr~ ,nl ~nnPl may be employed within the scope of the present invention.

SUBSTITUTE SHEE~ (RULE 26) 21S5535 ~PtA,'Ii~3MAR1995 System control computer 120 also generates system set-up parameters such as scrambled channels. System control computer 120 coniigures tuning frequencies of the channels provided to the subscribers and controls on-screen display features as described in greater detail below. A system control computer device interface (not shown) is responsible for gathering and appr()p,iately routing the data leaving system control co~ ulel 120 as further described with reference to FIG. 7 ("device managrer") herein. Out-of-band data is sent to addressable tr~ncmitter 140, while in-band data is sent to headend controller 130.
Addressable tr~ncmitter 140 transmits data to out-of-band subscriber termin~lc via a de~lic~te~l FM data channel such as a 108.2 megahertz data channel in the cable television distribution system. This channel, known as the data carrier, is used to transmit both addressable comm~n-lc intended for a particular out-of-ba~ld subscriber lellllillal and global comm~n-ls intended for all out-of-band subscriber terminals in the system. Out-of-barld subscriber terminals 150 contain a receiver configured to receive comm~n-ls sent over this data channel. Unlike in-band transactions, out-of-band subscriber termin~l.c receive data over this charmel regardless of the channel the subscriber terminal is tuned to.
Headend controller 130 is coupled to system control computer 120 and formats system control co-ll~uler tr~n~ctions for scramblers 104a-104f. Headend controller 130 stores all tr~n~actions and has the ability to perform continuous refreshes. The requirement to constantly, repetitively and efficiently transmit in-band rnessages arises since there is no penT-~n~ntly tuned data channel for in-band data transactions. Thus, all information flow to the in-band subscriber l.... il-~lc is subject to the in-let~rmiin~te availability of a data path to the in-band subscriber ~.,.. il~lC.
Scramblers 104a-104f are coupled to headend co~ltroller 130 and may be used to selectively sc~ ble television signals for irnproved secllrity in a subscription television system that is equipped with applop,iate descramblers. The outputs of scramblers 104a-lWf are re~eclively supplied to modulators 105a-105f. The outputs of modulators 105a-lOSf are supplied to combiner 106 which outputs a television signal for distribution over distribution system 170 to both in-band subscriber terminals and out-of-band subscriber tçrmin~l~ 150.
Data from scramblers, e.g., 104a, can also be provided to data insell~,r 107 for the tr~n~mi~ion of in-band data on non-scrambled channels. Further details of tr~n~mitting in-band and out-~ ~ r ~

;, "~ ',5 ~ `; .' wO 94/19909 2 15 S 5 3 ~ 8 PCT/US94/01488 of-band data using the system of FIG. 1 can be found in commonly accignf~d United States patent application serial number 07/983,766, filed on Decemher 1, 1992.
FIG. 2 is a block diagram of a scrambler a~palaLus such as that of 104a shown inFIG. 1. Scrambler 104a receives message channel data from hP~enrl controller 130. The message channel data inr!~ Ps character information for display screens which may be addressed to one or more subscriber tfrmin~lc for display on an aesoci-lrll television.
Scrambler 104a inrl~ldes data cil~;uilly 201, digital cil-;uiLl~ 202, analog chuuilly 203, and video procPssing ciluuilly 204. Data ciiuuilly 201 includes line interfaces 205 and 206, ~yllchronous data link control (SDLC) 207, micloprocessol 208, and digital circuit ;~ f-. r~re 209. SDLC 207 controls co.. ~ ;r~lion via line i-.l~,, r~.re 206 between scrambler 104a and hP~ Pnr1 controller 130. Micl-Jplocessor 208 l~ceivc:s and processes hlrullllalion from SDLC
207. Illrulll~alioll such as mPcc~ge info~ I ;ol~ is stored in non-volatile mPcs~ge memory of micluprocesso~ 208. To ensure ~--rri~if~ ;llloly for mPCc~e data, there is preferably at least 128 K of non-volatile message memory. Read/write memory of l.licl~iocessor 208 stores ~elll~olaly h~l...àlion. I~ ,,race circuit 209 interfaces the data ~;iluuiLly 201 to the digital ChuuiL~ 202.
Digital chuuilly 202 inr~ Ps interface circuit 210, phase locked loop 211, l..icr~l~,cessor 212, inversion control circuit 213, video ~tl~....,.~;on logic 214, timing and tag h rulll.alioll ge.~ or 215, tligiti7Pcl pulse ge--f ~ur 216, and pa.~ t~ . selection circuit 217. TntPrf~re circuit 210 intPrf~ces digital ci-~;uill~ 202 with data ci~uuilly 201.
Micl~rocessoL 212 controls all eccPnti~l filnrtionc and r~alur~s of scrambler 104a.
Micloprocessor 212 eYtr~rtc and ~rocesses ...essage data from ~e data cil-;uiLl~/ 201 and controls the scr~mhling modes of the system. Digitized pulse gc~ or 216 ~,-.flr~s the specific pulses placed on the sound carrier viâ the analog ch-;uilly under the control of .iclu~locessor 212. These pulses le~l~,selll ~nth-ri7~tion and control h~lll.alion, ~1~PSCJ ~. l l .hling il~ll..ation inrlurling timing pulses, and mPcc~ge il~U~ 1 ion Microprocessor 212is also coupled to p~r~mPtf~r selection cill:uiLly 217 which m~y be a front panel display and k~yboa~d which permits an opelatol to select various modes of oper~tio~, e.g., scl~bling.
Analog Cil~;uilly 203 includes AM modulator 218, video ~ ion ci,~;uilly 219,1OW
pass filter 220, buffer amplifier 221, scene illllmin~tion detector 222, and ~yl~ch~ tinn S~JBST~TU~ tEF~ (RULE 26~

o 94/lssOs sel)aldlor 223. AM modulator 218 modulates the pulses frorn pulse generator 216 onto an audio IF signal from modulator 105a and outputs the mod~ tPd signal to modulator lOSa.
Video A~le~ Ati()n circuitry 219 selectively provides sync ~uL~.,,;,sion type scrambling and , lle-J~At~s a video IF signal from modulator 105a under the control of video all~ l;on logic 214.
~ ceb~ video input is filtered with low pass filter 22() which may be a sharp cut-off phase eq~Ali7ed low pass filter. Low pass filter 220 removes high frequency noise that can il,L~.r,,le with the baseband video. After filtering, the video i!; amplified back to its original level by video amplifier 221. Sync sepalatol 223 extracts synchfo~u~lion h.ro-l..àlion which is then sent to uic-o~-ocessor 212 to provide timing h~ll~laliOIl such as CO--,l)o~ and vertical sync and odd/even field in-lirAti-)n. Scene illu~ cln detector 222 d~t~ ;..PS the average lnminAnre level of a scene, which level is supplied to an A/D COll~ of ",ic.~locessor 212. Microprocessor 212 uses this ll..~ e i.~...-~l;o.~ to detect scene ch~.~gec in order to tlele~..-i..P when scrambling modes may optimally be ch~ Pd. The co"ll)osilt; SyllC~Ol~i~aliOll signal is supplied to the input of phase locked loop (PLL) 211.
Phase locked loop 211 locks the system clock to the line rate The bAceb~ntl video signal from amplifier 221 is also supplied to video procçccir~
ch~;uiL~y 204. Video proceccing circuitry 204 inrlll(les A~o...~l;r gain control (AGC) and DC
clamping cil~;uilly 224, video multiplexer 225, and video inv,ersion circuit 226. The AGC
of circuit 224 adjusts the incoming signal to a l,-cdel~ ...;..Pd value such as 1 V peak to peak.
The DC clalll~illg of chCuiLly 224 forces the bottom of the sync tip to be at ground. The output of ch~;uiLly 224 is supplied to a video multiplexer circuit 225. The details of split ~y"cl-.ol~alion ch~;uiLIy is ~ sed in detail in con""o"ly AccignPd U.S. Patent No.
4,924,498, i,,co,~u,aled herein by ~ef~ ,ce. The output of video multiplexer ch~;uiL~y 225 is provided to i"~e.li"g cii~;uilly 226 for h~ g the ba~ebA~ul video about an i~ .sion axis. Inversion is controlled in accordance with signals from inversion control circuit 213.
Scrambler 104b may receive scroll rh~nn~l data from hP~-lÇ~-l controller 130. The scroll c h~nnPl data inrll~dPs ch~ ,.cl~ l i~u~ alion which defines barker screens which have been decignpd by the system op~,lalor on system control computer 120. Scramblers 104a and 104b ,.,~e~;liv~ly store mPscAge chAnnPl data and scroll channel data and contim~ollsly output the data on the cG~l~ol-ding scroll and mPssAge chAnn.qls. Sirlce the scroll channel data and SUE~SlllUlt SHEET (RULE 26) 2'~5 10 PCT/US94/01488 the message channel data preferably define a plurality of barker and mf sc~ge screens, the stored data is output in a loop. Thus, if there are 8 barker screens, the information for the first screen is followed by the h,ru"llation for the second screen and so on. When the information for the eighth screen is sent, it is followed by the i-~llllalion for the first screen. A similar loop is established for the message channel data. Details of scramblers 104a-104f may be found in the above-iflfntifif,d U.S. Patent No. 5,058,160, inco",~"at~d herein by re~lellce.
FIG. 3 provides further details of video multiplexer 225. Video multiplexer 225 may COllll)lisf an element of scrambler 104a, data inserter 107a or another elemf-nt of a cable television hf~(lenfl including but not limited to a mod~ tor or signal ~rocessor. Logic control lines are provided from Illicl.,~lucessor 212 via video multiplexer controller 227 for controlling selection of one of a plurality of input signals COI~ lg a b~ceb~nrl video input signal and several pred~lc~ .f(l input IRE voltage levels. Purther details of this video multiplexer may be found in collllllol~ly ~ccignfd United States patent application serial 07/983,766, filed on Decemher 1, 1992. Purther details of tuning data c~ n~lc ina ~.lbsf . ;l.lion television system having in-band data ~ if n to tr~ncmh messages to ~ubsclil)."~ can be found in co.. ol-ly accign~(l United States patent application serial llUlllb~ 07/800,241, filed on November 29, 1991, incol~ulaled herein by ,~Ç~ ce.
Rer~.~,.lce should also be made to commonly ~ccignPd United States patent application serial number 07/800,836, filed on November 29, 1991 for details of mPcc~ge channel data streams, hereby il~col~.ul~ted by ,.,fe.~e.
SUBSCRIBER TERMINAL APPARATUS AND MESSAGE DISPLAY METHOD
FIG. 4 is a block diagram ill-.~ g the c.lll~,oll~.lL~ of a subsc.;l,~,r termin~l 150 which can handle both in-band (IB) and out-of-band (OB) data. Examples of ~ubscliber tP~nin~l 150 include SciPntifir-Atlanta models 8570, 8590, 8600 and 8601 Set TopTçrrnin~lc. Although the s~lbsc(iher tennin~l is described below as a b~ceb~n~ subscriber tPrmin~l, it will be appal~.lL that other s~hs~ ;l.c, terminals such as RF :iul)scl;bel l~ . ,.,;..~lc may be ~ltili7Pd. The signal from di~ uLion system 165 is supplied to up/down cOl~ L.,l 401. Up!down co,l~ ller 401 uses a phase locked loop under the control of data and control circuit 402 to convert a selPcted RF input signal to a 4.5 mPg~hPrtz signal. Filter 403 such as a SAW filter filters the signal. Demo~ ting and descrambling Cil-;uiL~ y 404 demodulates SUBSTlTUrE SHEEI (RULE 26) ~094/19909 11 2~ S PCr/US94101488 and descrambles the filtered signal under the control of dlata and control circuit 402.
DemoA~llAting and descrambling cil.;uiLly 404 also l,c.rO~ s pulse AetectiQn to recover the data mod~ ted onto the audio carrier. The data is supplied to data and control circuit 402.
Volume control of the audio is pelro,med by demodlllAting and descrambling cil~;uilly 404 under the control of data and control circuit 402 and mh;lu~l~cessor 410 as described in U.S.
Patent No. 5,054,071, incol~olated herein by ler.,.~ ce.
The output of AemodlllAting and descrambling Ch~ / 404 is an ullsclalllbled bi~cebAnA video signal which is supplied to on-screen display control circuit 406. On-screen display control circuit 406 is preferably a Mitsubishi M50556 on-screen display controller.
On-screen display control circuit 406 selectively gel-Fl,~lrs on-screen chala~;Ler displays in place of or overlaid on the video signal. Modulator 407 col~ the signal cont~ining the video, audio, and/or characters from display control 406 on chAnnPlc 2, 3 or 4 which is supplied to television 408.
Microprocessor 410 controls the overall Op~l. lion of the sul,~clibcr l~ . ,..;..~l Keyboard 411 on a front panel ge~ rs s~lbsci~;hcr supplied signals for ch~nn~l tuning, volume level, and the like which are supplied to .llicr~l-)cessor 410. Remote lcce;~,. 415 ~cceives co-.. ~-As from IR remote 412, as is well known in the art, and provides the c- ---"~ lc to l.liu~locessor 410. Reset Cil~iui~l.y 416 resets miclupl~ûc~ssol 410 and/or data and control circuit 402 to ensure proper operation of the system if there have been power failures, power surges, and the like. When keyboard 411 or IR remote 412 is utilized to select a channel, micrûl)roc~ssol 410 instructs data and control circuit 402 to a~p~u~lialely control up/down coll~ ,r 401 to tune the se1~ct~A ch~nn~l. Data and control circuit 402 utilizes recovered cles~,....hling data to gcn~.ate a~l~liale l~ontrol signals, e.g. inversion control and sync restore signals for A~ser~mhling the input television signal. Microprocessor 410 del.,.llli les whclll~,. data and control circuit 402 carries ~ut desc~i....hling on the basis of authorizations downloaded from system control co...~ le~ 120. LED display 413 displays channel llUlllb~ i and Ai~m~sti~s, and may also be used as a mPssAge alert for the subsclib~l.
Non-volatile lll~;lllOl~ 414 stores data, e.g., authori7Ati-~nc and, terminAl confi~ ulaliOllS. The bscriher ~ A1 may optionally include IPPV module 417. Modllle 417 allows the ~UI~SCli~ to allllluli~ his or her subscliblr terminAl to receive a pay-per-view event, store the data ac~oci~t~d with the purchase of that event in non-volatile memory, and l.,.l.!i...il the SU8STITUTE SHEET (RULE 26) Wo 94119909 PCT/US94/01488 2~ ss~35 12 data to the system operator via a telephone return path or an RF return path. The subscriber is billed for the purchased events.
FIG. 4(A) shows a table with data Lla~ ion formats for in-band video, in-band audio and out-of-band data tranemiesion. The depicted formats are exemplary only and may be mor~ rtl as a~ iale for particular data tranemieejon re-lui~ ltnl~ and lldl~e, ~ ~ ions as required. The table depicts a plurality of ~ rl ion types, which may be i~lf ntifird as types A-E, by way of example, having different lengths. Transaction type A is of finite length and may be considered to colll~lise a data packet of a plurality of bytes in a particular seq~rnre and inrllltling at least a portion of a data stream which may have a lldnsac~ion code associated thcl~willl. One exemplary range for trAne~rtion type A is 8-24 bytes.1~11ese~e data for display on an addressable subscriber te~min~l may be lla~ d to s~lbsc~ c.~ using these tranc~rtirJnc. Deprn-ling on the lergth of the mres~s, the ch~r~r~ 1 ;re of the sllbsc~ c, termin~le and the scrAmhlçr.e and other factors, the particular length and ~ d~l~,f-ll~-ll of mrss~e data within these ~ may be varied to suit the particular confi~uldioll.
A ~ cl ;on code or ~elalld provides a c~ l or instruction that the subs~
termin~l (or termin~lc) addressed by the !Idll~ n is to follow. The depicted data is for operation accordillg to the operand or ~ cliQn code. For example, the data may colll~,ise a list of scrambled ch~ ulc and the ope.and or ~dll~ ion code signal the storage of a new list of scrambled rh~nnPlc in terminAI lll~lllOl.y. As another example, the data may collll"ise a m~sCAge CQ~ multiple ch~racter.~ for display on the ullJsc~ s tele~ision lecc;~
in acc~ldal~ce with the ~ ,se~ licc~lssion of FIGs. 5 and 6. Error ~etrctic)n and/or correction (or lc;~llm~ rl~llli~s;Qn) or other error rh~cL ;11~, techniqllrs may be utilized to assure data ~rc~r~cy and reduce bit error rate accol.iill~ to well known terhniq~es, such as a cyclic re~ y check.
A bits high check in~lir~tor is shown for in-band audio to solve a ~loblc.ll ul~covel~,d with in-band audio data tl,.~ ion where a timing pulse can create artifacts that can be confused with a data pulse tr~n~mittP-I on the sound carrier. It is s l~este~l that a bits high count be used to alleviate the problem.
A field flag can identify whether the data is in an odd or even field. The field flag is used, most coll~enielllly in in-band audio data ~ iol~ to signal dirr.,.e~ces in ~e SU~J11 ~ITE SHEE~ ~RULE 26) tS~ VS94~ O1 488 13 53$ ~ lA~ 1995 expected transactions between odd and even fields. The scrambling mode can tell the dema~nl~ting and descrambling circuit what mode of scrambling has been applied to the tuned chan~nel. Other data not listed includes facsimile, teletext, a second captioning l~n~l~ge or captioning data, program channel guide and ather new service data.
If data transaction type A has a length of M bytes, then, a transaction type B may be inrlic~te-1 as having a length of N bytes. Transaction ty'pe B is a longer transaction, for example, for idenliryillg a scrambled channel list. It may be conveniently related to tr~ncaçtiQn type A by a factor, for example, 1.5 - 2. As shown, Tranc~ction Type B has a length of, for example, 12-36 bytes.
Still longer transaction may be Type C having a length 2 - 4.5 times the length of Tr~n.caçtion Type B. These tr~nC~ction may involve even longer streams of data such as ch~nn.?l tuning data. -~
Transaction Type D may be the equivalent of three Type A tr~ncacti~ns or two Type B tr~ncaçtion. On the other hand, Tr~nc~rtion Type D ma,y have only one transaction code despite its length. For example, transaction type D may signal the storage of a channel program guide for display.
Still longer tr~ncaction codes may be contemplatecl for other services such as Type E and so on. These tr~n.c~ctions will have predetermir~ed data format and may be the equivalent of multiples of Type A and/or Type B trancactions. The relationship among transaction types may be thus defined. If a Type A tr~ncartion is said to comprise M bytes and a Type B tr~nc~ction N bytes, then other types of longer transactions should m~int~in a comm~ lity clet~-....;..~d by M or N and or a factor af two. For example, a Type D
c~;~n may be one long tr~nC~cti~ n having one Ll~saction code or cc n,~,ise three Type A tr~ns~cti~nc or two Type B tr~ns~tiQns. The commonal ity promotes ease of decoding and storage at a subsclibel termin~l such as ~ ...;.ul 155, especially if the terminal is programmed to look for the several par~m~ters listed in FIG. 6 in predetermined order.
In-band audio data is known in which one bit is tr~nsmitt~d each video line or at a rate of 262 or 263 lines per field less the duration of the vertical ~yllchlo~ g interval. The bit rate is thus limited in such systems further because certain data slots are reserved for -tr~ncmitt~l of certain timing h~o,lllation required for deserambling in a so-called dynamic synch suppression system. The comment in the In-band Audio column for Type E

ED SHEET

S Pfil~S 9 4 / O 1 4 8 14 3~ ~tAlV~ ~3 MAR 1995 Transaction length reflects this limitation. Yet, in certain embodiments of the present invention, the data rate may be apl)rop,iately increased to permit long transactions as long as Type E or even longer.
One purpose of establishing predetermined data formats is to permit ease of decoding and data storage. For example, in-band video data at comparatively high data rates may be decoded and stored in a manner similar to the retrieval of slower in-band audio data or out-of-band data which may be at yet anot'ner bit rate.
Moreover, at the headend, the system control con~,ller 120 or h~(len-l controller 130 may format a transaction of a type according to FIG. 4(A) so that the tr~nC~ction~ once form~tted, need not be refo,.l,~ P~l for trancmicsion via any one of the three modes of data trancmlcslon described herein: in-band audio, in-ban/i video, or out-of-band data tran.cmlcslon.
FIG. 5(A) is a block diagram of the Mitsubishi M:50456 on-screen display controlcircuit which may, for example, be used for on-screen control circuit 406 of FIG. 4. The on-screen display control includes character ROM 501 for storing a ch~r~ter set. In a plefell. d embodiment the following sixty four characters are stored in cnaracter ROM 501:
blank capital letters A-Z
cursor-- icon llulllb~.i 0-9 blank volume level (Pound Sterling) [ ] ?-:$',.*#& +
- single character Am Pm Ch Display RAM 502 is set with data from microprocessor 410 via serial input SIN togel~.dt~ on screen displays using these sixty four ch~ . This data may be provided from a number of sources. A first source is message dLata from message channel data scrambler 104a. A second source is scroll channel data from scroll ch~nnPl data scrambler 104b. A third source is barker data from ROM of subscriber te~nin~l microprocessor 410.
Anot'ner source of display i~ ation is menu screen illro~ dlion stored in microprocessor ROM 420. The use of such memory screens is describedL in greater detail in a commonly aesignPd application entitled "Method and Apparatus for Providing an On-Screen User Interface for a Subscription Television Terrninal", serial null~er 07/800,836, filed 0 94/1s909 15 ~ PCT/US94/01488 November 29, 1991, incol~olaLcd herein by reference. Rercl~cncc may also be made to Scientific Atlanta Publication No. 69P2837 entitled: "Model 8600 Set Top Terminal User's Guide" available from Scientific Atlanta and incorporatedl herein. Display RAM 502 inrh~des, for example, 240 memory locations for characters to be displayed on television 408.
As shown in FIG. 5B, each memory location includes a blinking bit which d~t~ PS
whether the ch~r~rter is blinking, chala.;le, color bits which d~te-...i..k the color of the character, and a character code identifying one of the characters stored in ROM 501. The configuration of the on-screen display is shown in FIG. SC and can be seen to consist of ten rows of twenty four characters each. The il~ll"alion in display RAM 502 ~iel~ "-.;~-rs what appears at each of the screen positions 1-240.
There are three modes of on-screen display. The first mode simply provides the video of a selectr~1 rh~nnt~l. The second mode is a video overlay mode in which cl~ cl~ .
hlro,...~lio~ is overlaid on the video of a sel~ d ch~nn~l The second mode may be used for eY~mple to display time, rh~nn~ ul~lbel, and ch~nn~l id~"l;l;r~lion illÇullllàlion when a subsclibcr tunes to dirr~.c-ll ch~nnP!~. Ch~nn~l i(lentifir~tilon il~llllalion is liesc~ ;hecl in a commonly ~signPd cu~el1dillg application entitled "Method and A~alalus for Displaying ~h~nnrl klt-ntifir~tion Il~llllalion", serial lwlllber 07/800,002, filed November 29, 1991, h,col~olated herein by reference. The third mode is a chala.;l~,l mode in which cll~...cl~
h~"nalion is p,~ enl~d on a plain ba~;kgl~,uild. This mode is preferably used for mp~ges~
for example. It will be a~alelll that a system ~-al~r may utilize either mode to display h~lll,alion to subscribers and the present invention is not lim,ited to with respect to whether hL~llllalion is ~l.,sellled on a solid bac~lound or overlaid onto a video signal.
Addressable message tr~n~rtion ~ .ns for on-screen display may be folwalded to sul,sc-. ;l)el l~ in the cable system using, ~.g., message scrambler 104a.
FIG. 6A illu~llales a message ll~ on tr~n~mi~sion for fol waldil~ c~ to subscriber terrnin~ . Each message ~ n.c~lion ~ sion has a display number field associated ewi~l for idelllifyillg a message. In accoldi~lce with a present embo~iim~nt the display numbers may range from 0 to 65535, although the invention is not limited in this respect.
Each message may include up to, for example, sixteen screens, each screen having, for example, 240 characters. The characters for each screen may be sent in up to eleven ~illUrE ~HEET (RlJLE 26~

wo 94/1gsos ~ ' ` PCT/US94/01488 sequenre~l transactions such as illustrated in FIG. 6A. A sequence number field identifies the transaction l~ ions in the sequence of I~A~c~clion tr~ncmiccions. The tr~nc~ction tr~ncmiCcionc also include a screen llulllbel field for identifying the screens in a sequenre of screens and a last screen flag for identifying the last screen in a seq~uPnre of screen~s. If the message is less than 240 clldld~ and mPss~ge scrambler 104a is configured to ~ liL
variable length mPsS~gPS~ fewer tr~nC~rtiQn tr~n~miCciQns need to be sent to complete the message. The message tranc~rtinn trancmic~ion shown in FIG. 6A may then also include a last transaetion flag. As ~ u~e(l in U.S. Patent No. 5,0~8,160, the rate at which transactions are sent is 29 I~ c~ ir)ns per second. At this ~ ion rate, slightly more than three seconds is ~ uil~d to send eight 240 ch~rarter messages over the same ll~SS~e channel. Accol-lingly, the average wait to start l~ceivi"g one of these m~ss~ges is approxim~tPly 1.5 seconds.
The mPsc~ge channel utilizes a scrambler configured as scrambler 104a with intern~l data RAM which stores the mPcc~ge loop from hP~Pntl controller 130 and le~ it col~ldnlly to the selPcted subsclil~, tPrtnin~lc under the control of lllh;luprocessol 212. The serial nature of the system is such that as the llulllb~l of ...P~ s in the mPcc~ge loop illel~dses, the r~ol se time for a subsclibe~ to receive a mPss~ge hlcl~,ases. A~ itiona mPsc~e ch~nnPlc may be utilized to speed up the lespol se time.
The message ~ on also permits a system Op~ldl~Jl to instruct on-screen display control circuit 406 to blank the display on television 408 until the entire screen is l~,ceiv~d and ready for display. ~ livt;ly, on-screen display control circuit 406 may display the characters as they are received until the mPsc~e is completed.
A mPss~ge derlllilio~ A~ Cl;Orl l~ x---;~sio~ is depicted in FIG. 6B. An ID field j-lPntifips the l~q"c~clion l-~ ion as a mPcc~ge der~ iLioll. This tranc~eticn t".-~c-"i~jo may i~ e to the subs-;lil,c~ tçrmin~l that a mp~cc~ge has been sent to t_e s,lbselil)eL
termin~l and may be l~ ,d by the sul,sçl;hel. The mPsc~ges may be individually addressed or addressed to lllhllbel~ of a group of ~ubscliber tçrmin~lc defined by the address data. Using a downloaded ~ lion (i.e., a ~ çlion sent to one or more individually addressed subscriber terminals and stored internally in the s~lbscrih~or tçrmin~lc for s~lbseq~lçnt use), a sllbscribçr tçrmin~l may be ~ccip~nPd to one or more groups. In a ~lc;r~ d embodiment, 64 groups are defined, but the invention is not limited in this respect.

SUBSTI~UTE SHEEr (RULE 26) ~vo 94/19909 17 ~S~ PCT/US94/01488 The message definition transaction defines a background color field for setting the background color of the on-screen display and a tuning field which instructs the termin~l which channel to tune to receive the mPcc~ge which, in this example, is the message ch~nnPl.
When a subscriber termin~l receives a message definition tr~nc~ction tr~ncmiccion which is addressed to it or to any group of which it is a member, a message alert in acco,d~llce with the alert data field may be provided. The subsclibel may view the message by use of a menu structure described in a commonly acsignPcl application entitled "Method and Apparatus for Providing an On-Screen User Interface for a Subscription Television Termin~l", serial number 07/800,836, filed November 29, 1991, incorporated herein by ,~,f~,rel,ce. In order to obtain the message, data and control circuit 402 of the subsc,ibe. termin~l tunes up/down converter 401 to the ch~nnPl defined by the tuning field and seal~hes for a message tr~nc~rtion ~ ...ic~io" with the same display number ,lS in the mPsS~ge definition tr~ncacti-~n tl ~ ,ion. In a prcfc.,~,d embo~ , the tuning data instructs the ,ubsc~iber termin~l to tune either the channel ~;ul~c.llly tuned, one of tble mps~ge rh~nnPlc, the scroll ch~nnPl, or the OFF ch~nnPl to re~ e the ap~.,~,iàle mps~ge. The mPcc~ge ~l~Pfinition tr~nc~rtion lla~ ;O~ of FIG. 6B is preferably sent on all da~asL..,al,ls output by hP~1Pn~
controller 130 in order to most quickly inform a subscriber lhat he or she has a mes~,agc.
Although multiple messages may be sent to a .,ubsc.i~r ~ i, each ~,ubsclibel terminal only m~int~inc one ~endi,lg m~c~ge definition Lla,l.c~ ;on This is the message obtained by using the menu structure ,~Ç~,.cllced above. As long as messages are not read, the pc,.,di"g message definition is !~p~l~lrd as new message ~ler;";~;o" ~ acl;ons are received. The priority of this update is in accc"ddl~ce with the display llun~l in the message definition l~ acl;on, such that for two unread mpcsa~s~ the lower display number is read first. A message that has not been read always has priority over a message which has been read.
When a subscriber l.. ;.. ~l ,._ceives a message definition tr~nc~rtion dc;~lhl~ a message for that subscriber tPrmin~l, a mPccage alert may be p,ovided. For example, ,iclu~rocessor 410 may control a se~ of LED display 413 to blink on and off. TheLED alert ends when the last screen of the mPsSage is Ic;cei vtd if there are no more active unread messages for the ~,ubsc~iber termin~l SUBSTITUTESHEE~ ILI 26) wo 94/19909 q~S~3 Pcrtuss4lol488 ~

In addition to this method of alert, the message definition may include on screen alert data which instructs microprocessor 410 to g~ ,.dle an on-screen message alert on associated television receiver 408. If such data is included in the mpss~ge deiFmition transaction, an on-screen message alert may overlay the video until a key on keyboard 411 of the subs~;lil)e termin~l or remote control 412 is pressed.
Other methods of alert include acliv~tillg a buzzer co~ ed to the subscriber termin~l, col.,~ ;l;.)g a relay switch, turning on a light, or other devices which could be eIPCtr;r~1IY CCJIII~eCted to the s~lbsc-, ;bel terminal and engaged in response to an alert data field l~,.n~ ed with one or more mPcc~ges addressed to a subscriber termin~l. In :~r1~itioll~ a duration pdld~ ttr may be Ll~ lllillrd such that the particular alert ...~ch~ ... is engaged for a pl~,s(~ cd period of tirne. Thus, for example, a buzzer could be sounded for a prog,~llllled period of time such as five mimltec, as ~lel~-l...i-~P~l by a field set by the system control co...~ , and tr~ncmitt~d through scramblers 104a-104f or ATX 140.
Preferably, the ch~ le~ codes and layout of the on-screen (or other) ~ sc~ge alert are stored in ROM of l,lic;lupl-)cessor 410. The mPss~ge definitiQn ll~..c - I;OI ill:jLlU~
iclul)loce~sor 410 to supply the appl~,~lidle chdldc~ codes and layout il~llll~l;o~ to on-screen display control 406. No alert may be given and no mPcc~ges lccei~ed if the SCliber ~rmin~l iS not tuned to a channel with data.
When the message is displayed, it remains on the screen until the user chall~es the screen. If there are multiple screens, the su~sclilJcl may cycle through all mpsc~ge screens and back to the be~ g as many times as desired. At each new screen, there will be a waiting time until the applo~liat~ screen is l~,L.icved. When the last screen of a message has been received, the mPsc~ge is defmed as being read. After all active messages have been read, the messages can be reread.
Messages are Lldl~ llecl for a period of time configured by the hP~len-l so thatmessage channel data is m;~.;. ..;,~d. An active mpcs~ge control Lldl-~ ;on from the hP~den~
which flags all groups with active messages is sent periodically. This ~.di~c~.-lion controls m~cc~ge ~ ilalioll.
PREFERRED USER SCREEN LAYOUTS AND OPERATION
The present invention colll~lllplates using a menu-driven windowed en~ilulllllen~ (such as the X WINDOW system, provided by the M~Cc~( h~-cell~; TnctitlltP of Technology) on SlWllU~E SHEFl (RULE 26~

o 94/19909 Pcr/Us94/01488 system control Co~ ul~l 120 to allow a user to define and srhPdl-le mPss~ges to subscriber terminals, and to defme groups in accordance with selection criteria or list criteria described in greater detail herein. The following description makes reference to FIGs. 13 through 19, which present a ~rer~ ,d embodiment of screen layouts which result in "user friendly"
interaction with a user. It will be recognized that many variations of these screen layouts are possible, and the particular fc alules (sizes, color selèction, shapes, options, order of l".,s~"~lion, and other parameters) may be varied to suit a particular user type without departing from the l"inci;~les of the present invention. The ;p,~,fe.,~d embodiment allows a user to control the operation of the present invention with a ...ini.,.----- Ilulllbcr of menu levels for simplified operation. Many of the options on the depicted screens will be appa,~ in their operation, such as EXIT, PRINT, HELP, etc., and ll,~, ~,f~,,c; no further explanation is provided.
FIG. 13 shows an introductory menu bar which may be ~l.,sellled by a user ;~t~ ~ r~7ce co~ ul~r program described more fully herein with ,~felellce to FIG. 7. The two ~ ual~l selections of interest from this menu are MESSAGES and GROUPS. Other selections such as HOME TERMINALS and BARKERS are not desc,il,ed herein as they are not l~,lc~
to the present invention.
By way of a user sehPcting the MESSAGES option fro;m the menu bar of FIG. 13, the screen depicted in FIG. 14 may be displayed. This screen allows the user to create a message for tr~ncmiccion to a particular ~ubsc"ber tf rmin~l or a group of ~ C. The user may enter a mPCc~ge llUlllbel to uniquely identify the mf-cc~ge for a particular hP~d~Pn~l The combination of hP~d~Pn~l number and message "u",bcr serves to uniquely identify the mf~ss~ge in a subsc,;ber television system. The user may then enter a brief desc~ ion of the mpcs~ge into a description field as shown in FIG. 14. By selP~cting the EDIT TEXT
button, the user may create a message of multiple pages for L~ ...icsion to the user through a s~alaLe "pop-up" window (not shown).
Additionally, various mPss~ge control fields such as the size of the first line of the mPcc~ge, blank screen before display, mPcs~ge alert, and bac~l~Ju,~d color may be se1ect~P~l by the user. These message control fields in-lir~te how the mess~ge will be displayed to the se!~octed subsclil)el or group of subscribers, and described more fully herein. Only a subset of the possible message control fields are shown in FIG. 14 SuBsT~TuTE sHE~ (RU) Ç 2~

wo 94/19909 PCT/US94/01488 ~,~5S53~ 20 By selecting the ASSIGN MESSAGE button from the screen of FIG. 14, the screen of FIG. 15 may be displayed. Using this screen, the user may assign the created message to a particular subscriber terminal by entering a hP~d~Pntl code and the serial number of the subscriber termin~l in the HEADEND CODE and AVAILABLE SERIAL NUMBER fields.
By p,~ ing the ADD or REMOVE buttons, multiple subscriber termin~lc may be added to the list of termin~l.c to which the mpsc~ge will be tr~ncmittP~.
Refe,li,lg again to FIG. 14, by selPcting the SCHEDULE M[ESSAGE button from the bottom of the screen, the screen of PIG. 16 may be displayed. This screen allows the user to enter a starting time and date, and ending time and date, for the specified mpsc~ge~ This will cause the schP~lllle i,~,l,lalion to be entered into a ~l~t~h~ce within system control COlllyult:l 120 for s~lbsequent sc~ ing. In accorda,lce with the present Ll~,~,.lLion, colll~u~
programs and aypalalus described herein will cause the selPct-P-cl mPc~ge to be L~ A
to the deci~n~te(~ bs~-~ ;k~ I or list of ~uI,sclil,~,~ at the dPcign~tPd time until the ending time is reached.
Refc.lhlg again to FIG. 13, selçcting the GROUPS option from the menu bar may cause the screen of FIG. 17 ~o be displayed. Using this screen, the user may assign one or more subscriber t~rmin~l~ to a group. This may be done by c .ll~iulg a group number to identify the group, the hP~n~ code, and one or more serial Ill""hC-l5 of subscriber le- ",;"~1 which make up the group. This type of group is lefel~,d to heLe,l~r~. âS a "list group"
because it CO-.~ of a list of ~SClib. l terminals. Messages sent to a group of s~bscl;he,~
may be scllP~ lPd in the same manner as those to a single S lbSC-~ ;he~ ~rough the use of the screen in FIG. 16.
More sopl~ t~(l groups may be def~ed ~ u~ll the use of "selection criteria" by way of FIG. 18. Using subs~-,ihe. characl~ lics such as the s~lbscriher tt?~nin~l status (enabled, disabled, or other status), serial llulllbc., digital address, subscriber te- ~ ul feature (such as remote control, IPPV option or others), or service code (;~ie~;ug wllc;llle~ the subscriber has HBO, Cin~m~x, Disney, Basic service or some other colll~ ion) in combination with relationships and Oy~,lalOl~ depicted in FIG. 18, the user may create criteria which define a particular group of subscribers. For example, the user may create a group of subs~;libel t~rmin~l~ c~ yliSillg those subscribers having HBO, remote control and whose t~rmin~l iS enabled. These subscribers may then be conveniently and ~llt~m~ti~lly grouped SUeSTITUTE ~HEET (RULE 26~

_~'0 94/19909 PCT/US94/01488 21 ~?tss33S

so that a message may be sent to them for, e.g., advertising purposes, informational, or some other purpose. Further details of this selection criteria langui~ge can be found herein under the hP~-1ing of Selection Criteria Slz~t~
ReÇe;~ g to FIG. 19, the user may assign a message to one or more groups of subscribers by ellL~,i-,g the hP~dentl code, message number and one or more groups in the AVAILABLE column of FIG. 19. P~.,ssing the ADD button will add a group to the message, while pressing the REMOVE button will remove a group from the m~ss~ge.
SYSTEM CONTROL COMPUTER PROGRAM DE~,IGN AND DATABASE
The ~lere-l~d process of cll alillg groups, composing messages, addl~,ssillg "~Pcc~ges~
and ll,.llc~ ;llg mPcs~gç~c in accordance with the principles of the present invention includes the use of collll,uler programs e~ec~lting on system control colllllul,. 120. A description of the design, ~let~iled c~ t~ ;rs and pler."l~d data ~lluclul~,s of these cc,..-~ul~, ~lO~lalllS
follows.
With le~.~llce to FIG. 7, system control c-".~ r 120 CGlll~ lS a llUlllh.l of CO111~lUI.,1 pr(:)gl~ls illr~ iTlg billing co...~u~, int~ re 701, user ;..l r~ce; 702, group queue 703, system event sclledl~ler 704, m~cc~e m~na8er 705, gn~up ~ g~v. 706, and device manager 707 which co~clate to provide message services ancl group services in the system.
A ~l~t~h~ce 708 co..rl2~,ur~d to execute on system control cc"..l.~ 120 (for example, the INFORMIX(R) relational ~l~t~b~ce), may be conveniently used to store data ~illu-;lul~;s needed by the various COlll~ut~,. programs. A description of the function of each colll~ut,l program of FIG. 7 will now be provided.
Billing CO~ VI~ interface 701 hll~lac~ with billing COL~1~UI~1 110 over a link according to a protocol P described herein. This program stores ill~Oll~lllg co.. ~ lC from billing cn...l~ 110 into l~t~h~ce 708 and notifies either group queue 703 or system event scll~odl-lPr 704 that a request has been received, d~elldi.~ on whether a group comm~n~l or a m~ss~e CQ.. 7~ was received. It also sends a return code: back to billing co... ~ , 110 to ach.owledge receipt of the co------~ . Selection criteria ~ r~llr~ ceived from billing cn--.l.~ . 110 are stored in d~t~hace 708 in the co..~."tt" group table of FIG. 9(D) for subsequent retrieval by group ..langel 706.
User ;.~t~ ~ r~''e 702 accepts inputs from and displays reslllts and status to a human user 709 sit~t~d at system control co---~ule- 120 from a local te~lin~l. This user interface may SUBSTITUTE SHEET (RllLE. 2~) 2 P~TIU~ 94 / 01 4 8 8 - 22 ~SS~3S ~ t~ ~3 ~ g~AR 1~99~;

be implen-~nt~ using the X WINDOW system. A p~cfelled set of user interface screens is depicted in FIGs. 13 through 19, which were previously ~i~c~lcse~ in more detail in connection with the principles of operation of the present invention. In particular, user interface 702 may organize user grouping selections shown in FIG. 18 into a selection criteria statement for storage into ~l~t~ha~e 708 in the converter group table of FIG. 9(D) for subsequent retrieval by group manager 706.
Group queue 703 handles all group comm~n-ls initi~tçd by either user interface 702 or billing colll~u~,r interface 701. These comm~n~l~ may be sent via UNIX~R) IPC queues.
Further details of the UNIX(R) operating system may be found in Bach, The Design of the UNIX Operatin~ System, copyright 1986, published by Prentice-Hall, Inc. The mainfunction of group queue 703 is to ensure that the input queue to group manager 706 is not overloaded, and to ensure that no co"",.~ sent to grcup manager 706 are lost due ~o power loss or re-boot. This is achieved through the use of internal and disk based queues.
In the event group manager 706's queue is full, group queue 703 will place the comm~n~l in an int~ l queue. If its internal queue is filled ;t will place the comm~n~s in a disk based queue in a file on disk (not shown). In the event of a power loss or re-boot, group queue 703 will take any co"..,.~,u1 in its int~rn~l queue as well as those in group manager 706's input queue and place them in the same disk file. On boor.-up, group queue 703 checks the disk for the ~l. sellce of this file and places any co,.. ~ found there back on the input queue for group m~n~ger 706.
Group manager 706 processes all co.. ~ As from group queue 703. These cc~ are sent via a UNIX(R) IPC queue. Group m~n~ger 706 intt-r~l t~ with tl~t~h~e 708 to l~hi.,~_ group il,follllation from various l~t~ha~e tables and tr~n~l~t~ this into fields which .1; Xlk 1Iy identify particular subscriber te. llli~ . In a pl- f~ d embo~1im~nt group manager 706 converts selection criteria st~tem~nt~ into Slructured Query Language (SQL) ~ e~ suitable for query-ing a relational ~l~t~b~e. This conversion involves a strai~ rol~vald tr~n~l~tion of the operands, opel~tol~ and values of a selection criteria ~l;.tr-llL,II into the a~pfo~.iate SQL constructs. SQL is gem~rally well known in the computer progr~mming and database e,~ . ling arts, and correlation between the constructs of SQL
and those disclosed herein as part of the selection criteria ~ nt language for implementation in a cable television system of the present invention will he apparent to one AMEhl~ED ~tEET

~0 94/19909 ~ CrtUS94101488 of o,dina.y skill in the art. Following is a description of the comm~n~is and d~Pt~ilrd operations pt,ro~ ed by group manager 706.
Building A Group The process of building a group determines which subscriber tçrmin~l~ belong to a newly defined selection criteria group. This is achieved by applying selection criteria (described herein) against all subscriber tçrmin~l~ associated with the particular h~ Pnrl Since list groups do not have selection criteria, this cu,..l.land applies only to selection criteria type groups. A subscriber tPrmin~l's attributes are cc,..l~ared against the selPction criteria, and if a match is found, a record is placed in the (l~t;lb~e in the CVT_CVT group table of FIG. 9(C). In addition, a co~ land is sent to the ~iubscliber t~rmin~l via device manager 707 to inform the subscriber t~rmin~l that is it now a ~ ...her of that group. Each particular terTnin~l is uniquely i~lentifi~od through its digital adclress; there exists a one-to-one col~olldence btlweell a termin~l's digital address and serial llulllhcl, as in-lir~ted with ce to the coll~lt,l table of FIG. 10(A). This c~5............. ~ .l iS usually eY~c~ttod immP~ tely after a new selection criteria group has been defined.
Rebuilding An FYistin~ Group The process of rebuilding a group detçrminPs which ~ bsc~ el termin~l~ belong ina sPhPctiorl criteria group which has previously been defined. This is achie~ed by det~-...i..i..~ which ~ul)sc~ib~,. termin~l~ need to be deleted fn~m the group and which need to be added to the group. A subscriber termin~l's all.il,ules are co...~açt;d against the old and new selection criteria, and if the s~l)sç~ termin~l was in the old group but not in the new, it is deleted from the data base (in the CVT_CVT group tabl~ ) and a nntifir~tio~ is sent to the affected s~lbscrihP~r tt?rmin~l via device manager 707 to imlir~te that it is no longer in the group. If the subscriber termin~l was not in the old group but is in the new, the subscriber tPrmin~l is added to the data base (CVT_CVT group table) and a notification is sent to the affected s~hscriher 1~ l that it is now a member of that group. If the ~ul~sc~ib~l ~ . ,..;..~1 is found in the old and in the new groups, no~ lg is done because it is already in the group.
This co... ~ is usually eY~ d after a change has been m~ade to the selection criteria of a group.

SUBSTITUTE SHEET (RUL~ 26) o 94/19909 ~lSSS~ PCr/uss4/01488 Deletin~ An Existing Group Deletion of a group removes all ~Ç~ ces to the group from the system When group manager 706 receives a request to delete a group, the message scllP~ le table (FIG.
8(c)) is searched for all records which match the group which is to be deletrd. For all records in this table having a status of "active", a request is sent to message m~n~ger 705 requestin~ that the message be tt~rmin~trd i"""rrli~tf~ly, and the ~ext be removed from the scrambler. All rem~ininp records in the message sch~d--lr ~able coll~,spol~dillg to the specified group are delete(l. The mrs~ge converter group table (FIG. 9(B)) is sealcl1ed and all records which match the specified group are ~leleted. Also, the CVT_CVT group table (FIG. 9(C)) is sea.~hed for all records which match the specified group. Each co.~ve.t,r found is sent a co"....~ ,rl via device manager 707 to notify it that it is no longer a ",~,.h~, of the group, and the col.~,spondi.lg records in the CVT CVT group table are deleted.
Finally, the group definition record in the con~t.ler group table (FIG. 9(D)) is ~leleted. I~is colll.llalld is usually eYrcut~od after a group del~otion has been ~ e~l~d from user illlt;lrace 702 or through billing c~ . illt_.race 701.
R~rl~shillg a Subscriber Terminal's Group Map As groups are built and rebuilt, records are placed in the ~l~t~b~ce which define which subscriber te~min~l~ are in particular groups. A ~ul~sclil~el is either in a group or not. A
subscriber t~rmin~l's group map is defined as a collection of 64 bits (one bit per group) which ç~lesellL~ the groups to which a subsclil~e~ termin~l belongs. If the Nth bit is set, the s~lbscriher t~rmin~l belongs to the Nth group.
The process of l~Çl~,shing a subsclil,el tPrmin~l's group map is acl~ieved by reading the data base (particularly the CVT_CVT group table of FIG. 9(C)) and Co~ clhlg the group map as a bit mapped field with bits set for every group of which the particular COllv~lL~,l is a ~ -..h~i. The bit map is then sent to the ~.lbs(.iber te~min~l via device manager 707. It is hl-polL~llL to note that exi~L;.~p data is used. That is, the group is not rebuilt every time a subscriber trrrnin~l is refreshed. In fact, the selection criteria is never cessed while proces~ing this co.. ~ . This co.. ~ is usually ex~ rd after a subscriber termin~l refresh has been le~ll,e~Led from user interfare 702 or through billing COlll~ut~,. inttorf~.e 701.

SUBSTITUTE SffEEr (~ULE 26) P~ 3S 9 4 / O 1 4 8 8 25 ~S ~ ) 3 N~AR 1995 Rebuilding a Subscriber Terminal's Group Map Whenever a subscriber terminal's attributes change (for example, a service code change to add HBO), the groups to which the particular subscriber terminal belongs must be re-evaluated against the selection criteria which defines each group defined on the headend.
This process is known as rebuilding a subscriber terminal's group map. This commAn~l is usually executed after a subscriber terminal's attributes have been changed by either user interface 702 or through billing computer mtelr~ce 701.
Rebuildin~ All Groups on a Headend The processing of this command is the same as the processing for the rebuild group commAn.1 except that with this command all groups on the headend are rebuilt instead of just one.
The operation and design of system event schP(ll~ler 704 will now be described.
System event sch~luler 704 acts as a "clock" for the other colll~ut~r programs executing on system control colll~ul~r 120. That is, it keeps track of when certain events need to occur, such as activating a message at a preset tirne. It may query database 708 to retrieve start and stop times for particular messages and store these as programmed events int~rnAIly. When the programmed time occurs, system event sch~d-ller 704 may issue a request for action to one or more of the other colll~ulel programs on system control colll~ulel 120. For example, when system event sch~llller 704 determines that it is time! to send a message to a particular subscriber termin~l, it may place a request on an input queue of message manager 705, causing m~ss~e manager 705 to query the ~lAt~b~ce for any needed i,lrollllation such as digital address, ht-~ALdenrl code, message number, messaLge control data, etc. Message manager 705 would then issue a request to device m~n~ger 707 to send the message to the addressed s~ s~ ;ber 1~ Al The operation and design of message m~n~ger 705 will now be described. The functions of message manager 705 include acli~,alh]~g a message, deacli~a~ing a message, modifying an active message (text only), deleting an ac1tive message, scrambler message memory management (~letermining how a message can fit into scrambler memories), and rebuilding scrambler memories. Message manager 705 serves as the coo~il~a,tor for user interface 702 and billing colll~ulel interface 701 via system event schecluler 704. That is, wo 94/19909 ~3~ 26 PCT/US94101488 all inputs to mPcc~ge manager 705 are from either billing cO~ Ulei interface 701 or user interface 702 via system event srhPdnlP,r 704.
Message manager 705 is a conl-llalld driven, tr~nC~rtion processing plo~,rdlll.
Co...-..~ ion with message manager 705 may be via hlL,lr~ce ~uLhles which place c~ .. ~.. -lc for ~loce~ g on a message manager 705 input queue. Following is a description of functions performed by mPss~ge manager 705 in response to the ;.~rlir~t~d co.. ~
A START_MESSAGE comm~n~l directs mPss~ge manager 705 to activate the given message, and will be exPc~ted whenever system event schPd~llPr 704 detects the condition that the start time for a message has arrived. The process of activating a mPsc~ge involves storing the message text in a down stream device and hlro~ lg a specific subsclibe~ termin~l or group of termin~l.c to "look" for the message. Messages sen~ via in-band ch~nnPls are stored in scramblers 104a-104f (FIG. 1) which have a message data stream. M.ess~EPs sent through out-of-band C~ P1C are stored in ATX 140 (FIG. 1). Scramblers can have v~lyhlg amounts of IlltlllOI,y (such as 32 kilobytes or 128 kilobytes) in which to store mPsc~ges, if costs are of collcelll to the system user. Scramblers are ~tt~hpd to a single hPatlen-l each hP~d~Prlfl having a plurality of scramblers.
Before a mPcc~ge may be schP~lllPd (either ;.-...~Pdi~ltoly or in the future), space must be ''lc:selvc:d'' in a scrambler. To keep track of how much memory ,~l,lai,ls in each scrambler, a scrambler table (FIG. 10(B)) may be used to collvt;llic;lllly store this il~",lation for retrieval. To reserve space in a scrambler, all mpss~e scramblers on the hP~IPntl to which the subsc,~el t~ormin~lc are colll~ec~ed (either an individual te~nin~l or a group) are ch~clr~d to find the one having the most available Ill~ oly. The m~cc~e will be placed in the scrambler which, at the start time, will have the most available memory. The scrambler table in the rl~t~h~ce will then be updated to reflect the new available memory size for the sclPctPd scrambler. If there is no room in the scramblers for the given message, the mPcc~ge cannot be scl~p~ lpd An END MESSAGE colll,llal~d directs message m~n~ger 705 to dea~;~ivdte the givenmPss~ge~ and will be e~ d wllene~,el system event s~-hPd~lP~r 704 detects the end time for a message has arrived. This operation is ~.Çu"lled by notifying device m~n~er 707 to remove the message from the particular scrambler's memory.

~UB5T5TUTE SHEET (RIJLE 26,~

~0 94/19909 PCT/US94/01488 27 c~ss3~

A DELETE_MESSAGE command directs message mlanager 705 to delete an active message. It differs from the END_MESSAGE co~ ,and in that status of the message in the data base is changed to in(lic~te that the message has been de!Ptecl.
A MODIFY_MESSAGE co,~ d directs message manager 705 to modify an active mPss~A~ge in the scrambler's memory. This allows the text of a message to be changed or its control h~fu~ alion çh~-ge(l .
A REBUILD_SCRAMBLERS CQ~ directs message m~n~gPr 705 to rebuild all the mlqs~ges in the given scrambler's memory. It pelrulllls this operation by querying the message srhPclnlP table to find all active mPsCAgPs which are ~csignPd to the particular scrambler, then I~lwa~illg these to device manager 707 to program the scrambler.In the event of a power loss or re-boot, mpss~ge manager 705 will take any ccs-,-".~
in its input queue and place them in a disk file. This is done to preserve any pe~ g mPssA~e actions. On boot-up, m~cs~e mAn~ger 705 checks ~he disk for ~iese"ce of the file and places any cc",...~ c found there back on its own input queue.
The operation and design of device ..~uger 707 will now be ~lescrihe~l. When h~llu~ilcd to c~""Antl a particular device, device m~nAger 707 l~ .S a~)lO~)lialc subscriber terminAl ad-llcssh~g hlrullllalion from ~t~a~e 'J08 to allow the device to be proglalll,lled. It then builds device-specific tr~n~Aactions for either ATX 140 or hPA~len(1 controller 130 and issues the co~ s over a haldw~re port available on system control colll~ulcl 120.
Scramblers store m~ssAge text in subscriber terminA~ ons (STT). These are specific co.. A~ s that each particular type of s~bscriher Ir - .. ;.-Al can lln~l~rstAml. For a given message, these ~ cl;onC are repeated as long as the mPccA~e is active (i.e., as long as the mPccAge is in the scrambler's lllt;lllUl,~r). ~eArl.on-l colltroller 130 tr~nclAttos the ATX
tr~ncAetions for a message (i.e., one per mPccAge page) into the ap~r~liale llulllb( l of srr tr~nc~etions. System control colll~ul~:l 120 must know the format of the STT l~ cA--I;ons and how the hPA-lPntl controller tr~nClAtPs the ATX trancactiQIlc in order to dele~ ..,i"~ if a given message will "fit" into a given scrambler.
At the time the mPcc~ge text is defined, system contral colll~ul.,l 120 must dele- ~ P
the message size (in STT tranC~etions) in the same mal~ as the h~Atl~n-l controller. The message size is then stored in the data base in the message table of FIG. 8(A) so that when SUBSTITUTE SHE~T (RULE 26) 9 ~ / 0 1 4 8 8 3S ~ S ~ 3 MAR 1995 the system attempts to schedule a message, this information is readily available (i.e., it will not need to be calculated every time).
Library Functions Message data processing can be divided into four areas: message control, messagetext, message ~signments and message schedule information. In user interface 702, this processing is divided between several screens. In billing conlpuLer interface 701, this proces.cing is divided between several comm~n~s. Either user interface 702 or billing co~ u~r interface 701 can perform three basic actions on each group of data: add, change, and delete. Library routines are therefore suggested to perform the following functions:
Add Message Control Information Change Message Control Information Delete Message Text -Add Message Text Change Message Text Add a new Message Assignment Delete an existing Message ~si~nm~nt Add an entry into the Message Schedule Change an entry into the Message Schedule Delete an entry from the Message Schedule Additional library routines may be used for mailll~nallce purposes. These lou~hles provide the capabilities to:
Delete all of a specific coll~r lh~'s messages.
Delete all of a specific scrambler's messages.
Delete all of a specific headend's messages.
Delete all of a ~irlc h~1en~'s group definitions.
Rebuild all messages stored in a specific scrambler.
Rebuild all messages stored in all scramblers on a h.oaden~
There are other library l~Ju~ es which are considered utility L~Ju~ es. These routines p.,lÇollll the following basic operations:
Convert Message Text from ASCII format to con ~erter character set format.
Convert Message Text from converter character set format to ASCII format.
Insert Message Instructions on a page of Message Text.
Delete a Subscriber Termin~l from an Addressed Group.
Dete.rnin~ how much of a scrambler's memory is used.
Compress a Message's Text.
Uncolll~l~,3s a Message's Text.
Determine the size of a Message's Text.

AMENDED S~tEET

~,Wo 94/1ggo9 ~ Us94/01488 29 ~S3s It will be readily ap~)ar~llL to one of ordinary skill in the art that such routines can be easily created to suit a particular implemP~t~tion. For example, if a relational d~t~b~ce is used as suggested, various rl~t~h~ce vendors provide utility roulines to add, delete, and modify (l~t~h~ce records in the ~l~t~hace. Such utility routines can be used to directly implement most of these basic operations. Moreover, various data co~ .,sion SCIlf ~..P-S are well known in the art and can be used to colllpless data if ~f~cecc~
DATA STRUCTURES
Pl~r~ d data structures used in the present invention will now be descfll,ed in detail.
A message consists of message control data and message text. Mess~ge control data instructs a destin~tion subscriber terminal how to retrieve and display the message, whereas message text is the actual combination of chalac~cl~ which is to be displayed on the television screen.
With l-,f~ ce to FIG. 8, message control data is stored in a m~sc~ge table in d~t~h~ce 708.
Message text for each mess~ge is stored a page at a time in the message text table, entries of which may be ~c~oc;~led with a mf~sc~ge table as shown in FIGs. 8(A) and 8(B).
Mess~e control data may be entered by the user at the system control colll~Ulcl for s~lbse.~ use by the destin~tio~ sl~bseriher termin~l The user may enter such data using a data entry screen such as that illu~Llaled in PIG. 14. This control data may include, but is not limited to the following:
Size of text line 1 Pre-blank BacLgl.lulld color Clear message received flag Alert LED
Buzzer Contacts Buzzer/Contact period Priority Display valid period Tone Tmm~ y Message Alert Cvt/AC relay power on Size of text line 1 i~ s to the subscriber t~rmin~l the size of the first line of the message. The first line of any m-~ss~ge may be twice the normal size but half the ll,llllbe of ch~la ;L~

SUBSTITUTE SHEE~ (RIJLE 26~

wo94/19909 ' ` ~j PCT/US94/01488 Pre-Blank inrlic~tPs to the subscriber ~Prmin~1 that it should collect all the characters in a message in its internal buffers before it displays the mess~ge on the subscribers television. In the pre-blank mode, the subsc,iber terminal will blank the screen before displaying the message. This gives the a~pea,~,lce of a message "~pillg up" on the screen.
Without pre-blank mode, the ~ub~ iber termin~1 displays the cha,a~ on the screen a chala.;t~. at a time. This gives a more teletype ~pea,~l~ce.
BacL~,uu"d Color inriir,~tPs to the subscriber termin~1 which color should be displayed in the bacl~uulld of the mPcc~ge Clear Message Received Flag inrlic~tP~s to the subscriher tPrmin~1 to re-display a message which the subscriber has already read. This is collllllonly used when the text of a mPcc~ge has ch~nged.
Alert LED i~-riir~ s to the subscriber termin~1 to flash ~e mPcc~ge alert LED when a mPss~e has been received. This ~alalll~,ter is usually set to be ON in the system control cc.~
Display Valid Period ;..~1;r~lrs to the subsclil,e, termin~1 how long, in terms of time, a message may be displayed. After the display valid period has expired the s~ sc,;1~r termin~1 will no longer flash the Alert LED if the message has not been read by the subscriber.
~ ess~ge Alert i"-lir..l.Ys to the subscriber termin~1 if the mpss~ge alert mp~se~ge should be flashed on the ~ubscriber's television screen or through o~her means (e.g., buzzer, en~gin~ a relay, etc).
~ ccoc;~led with each mPec~ge is a set of ScllPd~lP i,lfo---~ion- This il~ru~l~lalion h~rulllls system control co---l~ e, 120 what to do with the mp~es~ge and when to do it. The following scllr~d-11P h~ on may, for example, be m~int~in~-l for each mp~c~ge:
Display "u",ber Message status Starting date and time Ending date and time Size of the message (in STT tr~nc~rtionc) T(1Pr~ti~Pr of scrambler where mPss~ge will be stored SllB~TlTU~E Stl~ (RUl E 261 ~Wo 94/19sOg ~ rs$ PCTrUS94/01488 31 $3S

This information is stored in a~ message schPdllle table (see FIG. 8(C)) in system control co~ ulel 120. The h.roll,lalion in this table serves as both the message schedule (future events) and the active events ~;u~re~lLly stored in the scramblers.
- As inrlir~tPd above, each message can contain a message Status. The following are various states that a message can take on:
Inactive: Not ~;ull~,lLly sc~lPd~lPd SçhPdlllP~l- Has a starting and ending time ~e.~ g: Message is ~;ullellLly in the process of ch~nging from Inactive or SchPdl~lPd to Active status.
Active: Message is ;ull~ ly being sent to terminals (converters).
It is ;ul~.lLly stored in a scrambler.
Cleanup: Message is l;ull~lllly in the process of ~h~ from Active to Inactive status.
Me~sagPs can be ~oci~r,d with a group of subscriber termin~lc (group message), asingle subsc;libe. tPrmin~l (addressed message) or not ~soci~tPd with either (stand alone mPss~e). A stand alone mP~age is defined in terms of the schtodl~lin~ "~l",alion as a message with no display llUlllb~.l, no status, no starting or ending date/time, and no c~lrnl~tPd message size. It has an entry only in the n,e~sàge table (see E;IG. 8(A)).
Messages may be ~isoci~ted withl a single group or rnultiple groups at the time the message is defined. AssOciaLillg a message with a group will cause an entry to be placed in the mPS~ge coll~e.l.,l group table (FIG. 9(B)) as well as the m~ ge schPd~lP table (FIG.
8(C)). ~soci~ting a message with a group means that at Ihe time the mP~ge becomes active, only the sllbscriher termin~l~ in the group will receive the m~ ge. Messages may be acsoci~te-d withl a single Sub~ l t~ ...;..5l1 or multiple telminals at the time the ...Ps~ge is definPd.
~ oci~tin~ a mP~ge with a subscriber termin~l will cause an entry to be placed in the CVT message table and the message srhPd~le table (see FIGs. 9(A) and 9(C)).
oci~tin~ a mP~ge with a ~ubsclib-, termin~l means that at the time the mpssage becol,les active, only that ~ubsclibe. ttormin~1 will receive the mP~ e.
Me~ages may have Srhp~ lin~ .l.aLion ~soci~lrdl with them at the time they are - created, if a~oc;~ltod with a group or subscriber tPrmin~l If the starting date/time is in the iuture, it will be added to the message srhP~ lc table (~;IG. 8(C)) with a status of schPd~lP-d.
If the starting date and time is current, is will also be added with a status of sçh~d--l~-l With SUB5TITUTE Sl IEET (RULE ~'6) WO 94/19909 21S$5~5 ' PCT/US94/01488 refclence to FIG. 7, by the time system event sch~ er 704 receives the message, it will detect the expired time stamp and immPtli~tely send an activation request to message m~n~ger 705.
Refe~ ce will now be made to FIG. 11. A message ~e~ignrd for in-band data trancmic~io~ can contain up to 16 pages of text. All m~s~ge tex~ is stored in the co.-~.,,~.
character set defined for the h.o~-len-l. FIG. 11 provides a ~ f~ d list of cha.dclel codes for a particular type of subscriber trrmin~l. A page of m~ ge text may contain a certain number of characters, ~rl~....i..Pd by the readability of the image, the resolution of the display and so on. For example, the message size might vary from 64 to 512 chala~ and preferably coll.l.~ise a m~ximllm amount of about 240 characters (10 lines x 24 columns).
Ref~ ,,lce will now be made to FIG. 12. Each converter cha.a~;t_- set may contain a series of "character col..~l~ssion" codes. These codes allow celtain pl.der..-rcl words (days of the week, on-screen menu i~ c~ ion~, etc.) and actions (display ;ullc;lllly tuned ch~nn~l, date, time, etc.) to be defined in two characters. These ...~ c culll~l~,i,SiOn codes lessen the number of cl~lact~ which need to be tran~mitte~l to the s.,lsc~ el termin~l, thus re~ ci.~ sic-n time and dowl~ am device storage. A lis~ of ~l.,R.led co~ io codes is shown in FIG. 12.
As can be seen from FIG. 12, colll~l~ssion codes may be provided for co.. only displayed words, reY~lting in more efficient tr~n~mi~sions. Diff~ calegolies of codes may be created to display, for example, cc,ll..llonly used verbs (such as "press", "clear", "set", or other instructions to the viewer), days or dates (such as "Sunday", "Monday", "now"), or even word fr~mrnt~ (such as "er", "ed", "re"). Under the control of system control c~ er 120"~s~ges which are created by user 709 may be ~ l ir~lly sho~ ed using these co..l~ ion codes without user 709 being aware of the process.
The con~ssion codes are preferably m~n~ge~1 by m~ ge m~n~ger 705 and may be dyn~mir~lly varied ~h,,.~ g on their ~ltili7~tion over time. For example, if the COlll~l ,ssion code 91 for "SET TOP" is underutilized in messages over time, the code 91 may be utilized for another message elem~nt or word which is more frequently used. "SET TOP" may then be sent by means of the character codes of FIG. 11 when required. ~e~ e m~n~er 705 may lllea~ulc; the frequency of use for colllpl~ssion codes and change them to opli...i~

SllBSTlTl~TE SHEEl (RULE 2~

~0 94/l9909 ~C~ PCT/US94~01488 ~C~

trancmiccion perfol.llance. Co~ lession code changes may be trsncmitt~d to subscriber terminals through the use of a global transaction to all subscliber termins-lc.
SELECTION CRITERIA GROUPS AND LIST GROUPS
- A group is a way for the user (either at system control c:olll~ulel 120 or, alternatively, from billing col.l~!uLer 110 through billing C(~ ulrr interface 701) to define a collection of subscriber terminals. Groups are not tied to any particular fimctionality within the system.
Groups can be used for l~rl~i~lRS, reports, IPPV cs-llhac~c, or even partial downloads from billing Colll~Julcl 110. Therefore, the term "group" as used herein does not refer to a predetel...il-Pd class of sul)scl;ber tPrminslc such as, for ;..~ re, the class of subscriber tertninslc which support a particular feature like remote conb,ol.
Groups are defined on a hP,s.(1Pn-l basis and are ide~ rlPd by a group code. Theco.llbil~lion of hP,sd~Pntl code and group code makes the group unique in the entire subscription cable television system. Each hPad~Pnrl could have, for example, a certain Ill~ik;lll-llll llulllbel of groups d~t~-...i..fd primarily by memory limitstionc and the eA~ec~d application by the viewer. A resco~shle msximnm number of groups, for ~ lc, may be 64. Of these, at least one may be les~, ~ed as the global group, w_ich inrhldp~s all 1~ lc cOi~l-P~;lrd to tne hP,g.~l~Pn~l.
When a new hPad~Prl~l is defined, a group definition is created which places a group dçfinition record for that hP,grlPn~l into dstshsce 708 of system, control co...~ ." 120. Every subscriber le,...i~sl on the hP~g~den~l will be a member of the ,global group for that h~,s,den~l Conveniently, the highest number group (such as 64) may be l~,s~,~ed to identify this global group.
In order for any ~ubs~;liber tP~mins-l to receive an addressed message, it must be a member of an addressed mPcc~s,ge group. If a te~mins-l is a mPmher of two addressed message groups, it may receive two addressed mPccsg~s cimnll;...Pc,usly. There is a one-to-one-colr,spondence between the number of addressed message groups that a subscriber terminsl belongs to and the llu,llbel of addressed mPss~gPs that the l~-...il.~l can receive simlll~ u~ly. In order to receive an addressed mPcc~ge, a subsclibe~ termin~l is first n~-tified that it is a lllc~ bel of a group (i.e., a one-termin~l group), and snbseqmPntly the mPcs~ge for that group is broadcast over the cable system. The subscriber t~tmin~l so S~BSTITUTE SHEET (RULE .)6~

34 i!SS~ 1AR ~995 notified will be "looking" for a message corresponding to the specified group and will be able to extract it from the broadcast.
There are two types of groups: selection criteria groups and list groups. Selection criteria groups are those groups for which the selection criteria is known by system control computer 120 through fields kept in its database 708. Membership in the group isdetermined by comparing individual subscriber terminal records in database 708 against the selection criteria, which may be conveniently done using a relational database query.
The following is a list of typical selection criteria which may be used to select terminals from tl~t~b~e 708:
Digital address range Serial number range Converter feature combinations (remote control, IE'PV, etc.) Converter status (enabled, disabled, etc.) Service code combinations (Showtime, HBO, etc.) Thus, selection criteria groups can be defined either from user interface 702 at system control computer 120 or remotely through billing co~ ulel interi`ace 701. If there are additional selection criteria in the system control co"~ul~,r 120 database, they may be used as well to define groups from system control c~ uLel 120.
List groups, on the other hand, are those groups for which the selection criteria are unknown by system control col~l~uLl 120. Membership in the group is determined by externally defined criteria, such as selections made from a dirr.,L~ subscriber database m~int~inP~l in billing co-ll~u~,r 110. The only i,~.ma~:ion contained in system control colll~uh~ 120 about each of these groups is that a partieular list of subscriber terminals belongs to each group. Once a te...li~-~l is a member of a list group, it will remain a member of the group until system control coll~ul~l 120 is notified that it is no longer a member of that group. Such notification could occur eit]her m~m-~lly (i.e., a user 709 at system control COl"L~ule;~ 120 deletes the group) or remotel~y (through, e.g., billing co~ uLer interface 701).
Billing co~ uL. 110 may create specific groups based on its own subscriber database (for example, creating a list of all subscribers whose birthday coincides with the current date) and, by correlation with specific converter serial numbers stored in its ~l~t~b~e, transmit this group to system control colll~uL~l 120 for subsequent processing. System control computer t~ ~Fr .S ~ 4 / ~ 8 8 - 21~53~ 35 4t~U~ a 3MAP~l995 120 may then query its database to extract additionally requ ired information such as headend code, digital address, and scrambler address through the use of the previously described computer programs to schedule and activate the desired messages.
In addition to selection criteria, both list groups and selection criteria groups may also have other attributes, such as the following information items:
Group code Headend code Group description Selection flag (selection criteria or list criteria) Group status (never built, building, built, or deleting) Last build time Once a group has been defined, it must be "built". B~ ing a group consists of dete..,-i~ which terminals belong to the group (i.e., lhe match the selection criteriat.
Initially, groups are added to the database (co"v~l~el group table, see FIG. 9(D)) with a status of "never built". In the case of selection criteria groups, group manager 706 is instructed to build the group. It will change the status to "building" and, on completion, change the status to "built". In the case of a list group, a group definition record will be added to the CVT_CVT group table (FIG. 9(C)).
When a new subscriber ternninal is added to the system control com~ulel (either m~nll~lly via user interface 702 or remotely through billing co~ ul~;l interface 701), group manager 706 dete.",i"Ps which groups the subscriber termin~l belongs to. This includes the global group, all addressed groups, and any selection criteria groups. It will add records to the a~ iale tables in l~t~ha~e 708 and instruct de:vice m~n~ger 707 to send thea~lo~lia~ AlX lld.~c~ ;on to the subscriber terminal to inform it of the groups to which it now belongs.
When a subscriber terminal is ch~n~e~l, group m ~n~ger 706 will ~et~rminP if anychanges in the terminal's group membership are nPede(l To do this, group manager 706 co",p~,s the l~ l's attributes against any selection criteria group definitions and makes a~,o~liate additions or deletions in tables in ~t~b~e 70~3. Membership in global groups, addressed groups, and list groups will remain unaffected by subscriber termin~l changes.
Group manager 706 will then instruct device manager 707 to send the ap~,op~iate ATX

AMEN~ED 9ta~ET

2~S~ ~CTJ~JS 9 4 / O ~ 4 8 8 36 ' S3~ t~ ~J 3 ~"A~ S

transaction or hPaden~l controller transaction to the subscriber terminal to inform the terrninal of the groups for which it is now a member.
The global group is m~int~in-~l by system control colllpuLel 120; it cannot be changed or deleted either from user interface 702 or remotely from billing computer interface 701.
The global group is defined as the total range of digital addresses for the terminal type which is defined for that headend.
Addressed groups are m~int~in~c~ in system controL col,l~uLel 120. The number ofaddressed message groups allowed on a headend could be, for example, a parameter stored in the data base. An addressed group record in the data base may have a group type of one (addressed message group) and a selection flag of one (list group). The functions of m-occ~ging are divided between two programs and a series of library routines.
DEFINING GROUPS
Message groups can be defined from either user interface 702 or through billing computer interface 701. Groups are defined on a h~a(le~ basis and are identified by a group number. The combination of h~a~enr~ code and group cocle makes the group unique in the system.
As previously explained, each h~ n-l may have a total of, for example, 64 groups.
Of these, system control COlll~U~ 120 may reserve om~ group number (such as group number 64), per headend, for a "global" group. Every subscl ib~,l le~ .,-i-.~l on the htoaden~l is a member of the global group.
There are two dirr~llL types of groups. Selecti~n criteria groups are defined byattributes known within the system control colll~uL~l. Once a subscriber termin~l is assigned to a scl~ .. criteria group, it will continue to be a member of that group until its attributes are no longer in the scope defined by the selection criteria. List groups are defined by attributes unknown by the system control colll~ule,. Once a subscriber terminal is assigned to a list group, it will continue to be a m~n l~r of that group until the system control coln~ulcl is told it no longer belongs to the group.
C~EATING MESSAGES
On-screen messages can be sent only to those subscriber termin~l~ which support the on-screen feature. Subscriber termin~l~ which support this feature contain a character generator which when given the proper command will display a message to the subscriber.
~ ~r 94/19909 2~ S PCT~S94/01488 The reasonable expectations of the user define a reasonable limit on the number of pages of a message, for example, a mPss~_e may be up to 16 pages. Each page may be, for example, up to 240 characters (lO lines of 24 characters). ~essages are stored in the data base a page at a time. Message pages are trancmht~Pd to subscriber termin~lc using codes which the character gen~lator in the subscriber termin~l understands (see FIGs. ll and 12).
These codes are collectively known as the converter character set. In addition to individual characters and numbers, the subscriber termin~l character set cc,lllaills codes which l~pleselll frequently used words or phrases. These codes are known as colll~ ,sion codes. The use of cc,lllprei,~ion codes lessens the number of bytes tr~ncmittPd to the subscriber termin~l.
The user may also elect to add instructions to the user at the bottom of each page of text. The instruction lines tell the subscriber which buttons ItO push to get to the next page of a multi-page message and how to exit the message. A pred ~ t~ d number of li~nes may be les~ d for user instn~ctiol-C, for example, the two bottom most lines of a InPcc~ge page.
If the filnrticm is Pn~hlPd, the il~LIu~;Lions may be, for example, ~ ly placed in lines 9 and lO of the message text for display to the user.
ASSIGNING M~SSAGES
Before a message can be broadcast from the system control co~ ul. r, the system must first be told which subscriber terminal or group of subsulibel t~rmin~lc will be receiving the message. This process is known as message ~scignmpnt A llRssage may be ~csignPd to an individual subscriber tPrmin~l. Any time a rnPcc~_e is ~cci_nPd to a single subscriber termin~l it is known as an addressed message; the ~lbs~ .. ;l~,rl termin~l recognizes this as a sepa...te group (i.e., the converter is nt tified that it is a m- .nher of a group, the group co~l~,*,onding to the single subscriber termin~l). A mPsC~ge may be ~C~;g.~Pd to a group of subscriber le~ lc. Any time a message is ~cci~nPd to a mpcs~ge group it is known as a group message. Messages which are not accoci~tP~ with any subs.;libeL termin~lc (individual or group) are known as stand-alone messages. All mpcc~gp~s when they are entered into the system (via billing colllllule~ intPrf~re 701 or user intPrf~re 702) are stand-alone mPss~es.
~ cs;g..;~p a mess~ge to an individual subscriber termin~l means that when the message becollles active, only that subscriber te-rrnin~l will receive the mPsC~ge. ~ccignin_ a mPss~_e to an on-screen mPss~pe group means that when the message becomPs active, only Sl~BSTl~U~E SHEFr (RULE 26) Wo 94/l9909 Pcrrus94/01488 ~
3~3~ 38 the predetermined members of the group will receive the message. Messages may be~xxignr~l to multiple subscriber termin~l and/or groups at the same time.
SCHEDULING MESSAGES
After a mrsc~ge is ~cxign~d, only then can it be schP(~ Pd to be broadcast to the intentlPd subscriber(s). Messages may be sent immetli~t~ly (start now) or in the future (sr~ od). The process of acLi~atil~g a m~ss~ge involves storing the m.ocx~ge text in a down stream device and h~lllling a specific subscriber termin~l or group of sul)s~;liber t~rmin~l~
to "look" for the message.
BILLING COMPUTER INTERFACE AND REMOTE CONTROL OF MESSAGING
Following is a description of a billing CO111~UI~I hlLclrace protocol, defined as a set of tr~nX~rtions~ which allows billing cO~ Ju-~. 110 to remotely control on-screen mr~ge capabilities of termin~l subs~;libers of a subscriber cable television system in acco~al~e with the present invention. This protocol may be implPmrntrd over a phone line bc~ee.l a billing colll~ul~l 110 and system control COlll~uhl 120, for example a 9600 baud phone line or leased line, using modemx to int~rf~re each co~ ulcl to the phone line. Each ~ .x~-l;oll (or "u~ ") ol;g;l.~ g from billing co,~ v~e,~ 110 is ~ r~l to system control CO111~JUL~I 120, r~s~lting in ~rocexx;..g within system control colllyuL~l 120 in accoldance with colll~uLel ~ro~;lallls described previously. Further details of the h~ullllaLion ~r~sellLed herein can be found in .Scirntifir-Atlanta Publication No. 33T122H, .Scientifir-Atlanta~ Inc. Part No.
289910, dated October, 1992, illcc,l~olated herein by ~f.,l~ ce.
By using selection criteria ~1;1~---- -11~, billing colll~,ut~,l 11û may ~ rullll a download of selectecl ~bsc~ eL termin~l data from the billing colllyut~ t~h~e into system control colll~uler 120. One advantage of this is a re~ etion in the amounl: of time required to update the system control CO111~U~ t~hace by allowing the update to be pclrol,lled in seg,nf~
(for example, one night downlo~ling data for all ~ubsclil)el tenTIin~lc in a particular serial number range, and co.~ g the next night with a second set of sul)slliber te~min~lc, and so on). Rec~lce of the limited bandwidth available over a phone link belweell billing co...~ er 110 and system control colll~uLer 120, a complete download of data for hundreds of th()..c,P~ c of ~ubscliber termin~lc can take two or three full days. By using selection criteria ~ ;, sepalate portions of the dat~hacP can be downloaded at a time, thus eli",i",.l;,~g the need for a massive downloading operation.

SUBSTlTUTE S~tE~T (I~ULE 26) ~VO 94/19909 PCr/US94/01488 39 ?'1, SSS3~

Conversely, billing co~ ,ùlel 110 may request an upload of subscriber trrmin~l data from the system control CU~ uL~l 120 ~l~t~b~ce. By using selection criteria st~trmrntc, selected data sets can be e~l,d~;Led without the need to llal~l`,r the entire d~t~b~ce. This results in s~-hst~nti~l time savings.
Additionally, reports can be gene,~dled on system control con~puler 120 using selection criteria ~ .,lc. System control collll ul. r 120 may be a~ttached to a printer to which reports may be directed. Using selection criteria sl;~tf-~lP..I!;, particular subscriber te....i~
groups may be defined and reports created on the printer co,lesponding to fields in the system control CO...1..JI~ t~hace for the selected group.
It will be understood that billing cclll~uh. 110 need not actually co~ ule and send bills to subsc;libcls, but could be any col"~u~ cont~ining a ~l~t~hace of subs~;libel i"rolllla~ion and co-~ ir~ g with system control co,..l.~ 120 over a link. It may also be possible in a particular config.... ~;on for a subscriber demo,~ld~hic l~t~h~ce and a system control ~t~b~ce to reside on the same physical ",~r.l~ . The general format for each tr~ncaçtion is:
1. STX (ASCII start-of-text) 2. Data block (L~ C~clio~c ~esc--ibed herein) 3. Chf ~L ~,.....
4. CR (ASCII carriage return) The first chdlact~_l following a CR is accllm~d to be the start of the next tr~ncartion.
Each data block is composed dirr~ lly for each l.a.~ n as desclibed herein. The chrrL ~.--1l iS an exclusive "or" (XOR) sum of all bytes in the l,, "~ n, bcg;.-. .;..g with Ithe first character after the STX cl-~- a(-l~ I and up to, but not inrhl-~ing, the çh-~c~ ~--... field. The cl~rcL.~i---.. iS sent in a hrY~-lecimal ASCII format in two bytes. Billing COlll~u~ lrdCe 701 uses the rh~CL ~ to verify that the tr~nc~ction was l._ceivt;d exactly as sent by billing C-)l--lllll~l 110.
A "return code" (not shown) may be ~,Lu~ed from billling colll~ul.,. intrrf~re 701 to billing CO---1~-JI~ 110 in ,~i,ponse to each ~ a~-lion sent by billing CO111~UI~ 10 SO as to acknowledge receipt of the previous tr~nC~rtit~n. An acknow]edgement may also be sent to billing colll~uler 110 upon actual tr~ncmic~ion of a message to a sllhs~,;l-c. 1~...;..~1, Such an acknowledgement may, for example, be used to initiate billing for a mPss~e after it has SUB~TITU~E ~HEET (RIULE 2~) wo 94119909 ` PCT/US94/01488 ~
3~

actually been sent where the message is sch~ pd in advance (such as a "Happy Birthday"
message for a subscriber that is sc~ lecl a month in advance).
The use of "XX" herein denotes an ending byte which can be variable, depending on message co~
1. MESSAGE COMMANDS
a. Add/Change Messa~e Control This co~ .al d is used to define an on-screen mloee~ge to be tr~nemitttod to a group of s~hscriher termin~l~. Any subs~;lilue~ acsi~n~ to a specified group will receive the message. This colll,llal1d should be followed by one or more Add/Change Message Text c~ n~lc. Only one message may be active for a particular group at any point in time.
An "add" occurs if the message control h~.lll~lion for a particular m~ee~ge number is being sent for the first time. A "change" occurs if the message con~ol hlrollllation has already been LIA~ rd~ but additions or corrections to the control fields are ..-~ces~
Format: Byte Des~ .l;OI' 3 7 ~çee~e Nulllbc~
8 Line 1 Size 9-10 ~ac~lvulld Color 11 On-Screen ~eee~ge Alert 12 Pre-blank Screen 13 Buzzer 14 FY~rn~l Contacts 15-17 Buzzer/Contacts Duration 18 AC Relay operation 19-20 Priority 21-50 Mes~e~e Descli~lion b. Add/Change Messa~e Text This u"---.~n~ is used to define one 240-character page of an on-screen text message.
It should be sent following an Add/Change ~eee~e Control col....-~lUl. An "add" occurs if the message text for this message llUlll~ iS being sent for ~le first time. A "change"
occurs if the mPee~ge text has already been lecei~/~d, but additions or corrections to the text pages are l-~cess~Y. The llul~lbel of screens field ~peciii~s the number of Add/Change Message Text co"""~ntle to be sent to completely specify an on-screen m~ss~ge. The text SUB~TlTlJ~E ~HE~ (RULE 26) ~0 94/19909 41 ~ PCT/US94/01488 could originate from a computer file, by direct user input (for example, from a text editor), or other sources.
The screen number can start at any number and then h~c, ~ el.~ toward the final screen number until the final transaction, when they will be equal. If this co..-~ must be plc.l-aLul~ly l~ P~l without completing the tr~ncmiccion oi the entire number of screens in(lir~tç(l then an Abort Download Command may be used for this purpose. Once this collundlld is issued, only the Abort Download Cc.llulland will be plop~lly accepted. All other c~ c will be rejected until the number of text screens acsoci~ttod with a particular message number have been received by system control c.llll.u~ 120. Deleting screens that are part of a message is accomplished by setting the first chalaclcl of the cllalacl~,r codes field to an 'FF'. This will delete not only the screen llulllber in this tr~nc~ction but also any screens above it.
Up to a m~ximllm of, for example, 240 ch~ L~ (10 lines x 24 cha,~L~ ) may be ~ecif,ed. Each screen chalacL~,l may be r~l~;sellled by a 2 byte ch~O~-t~r code. The ch~cL~... (if inrll-dçd) and c~rri~ge return delimit the messiage text. If fewer than the m~xim--m number of clldlach~ is ~ecir~d only the normal lr~ n carriage return isused to Le"llillaLe the field.
Format: Byte Descli~Lio 3-7 Message Number 8-9 Screen Number 10-11 Final Screen Number 12-XX Character Codes c. Add/Change Schedule for Terminal or Group Message This colll.lland is used to s~hPd~lç an on-screen mP~ge to be l.a~ rd to a particular group or terminal. An "add" occurs if the group or termin~l associalion to this meS~ge number is being made for the first time. A "change" occurs if the associaLion to this message number has already been done, but the schtorlnle i"r.,....~ ion needs to be altered.
To st~-hed~ a group m~ ge, the group code and h~liPn-l code should be filled, then the serial number set to all zeros. The tçrmin~l type is ignored once the zero serial ~lumber is detectç~l. To s~h~dnle a termin~l m~ss~ge, the serial number and termin~l type are filled, then the group code is set to all zeros. The he~dçn-l code is ignored once the zero group SUBS~l~UTE ~HEET (RULE .!6) WO 94/19909 ~ 3~ ~/US94/01488 ~

code is d~qtPctPd. Filling the group code or serial number with zeros d~lel,llines which is to be used for the s~hP(lllling. Whichever is non-zero is srllPdulPcl It would be ill~ropcl to set both group code and serial number to a non-zero value in the same tr~nc~rtion~
It is also possible to assign a group or terminal to a mecc~ge without schP(llllin~ it.
To accomplish this, the group code or serial llul~bel is used as described above, but the month field (yyMMdd) is set to zeros for both the start and stop dates. This assigns either the group or termin~l to the mPcc~ge number without putting it in the schPdlllP to go out.
Format: Byte Des~ ion 3-5 Group Code 6-7 ~e~d~Pntl Code 8-16 Serial Number 17-18 Terminal Type 19-23 Message Number 24-29 Start Date (yymmdd) 30-33 Start Time (hhmm) 34-39 Stop Date (yylllllldd) 40-43 Stop Time (hhmm) d. Delete Group or Terminal Message This cn,.~"~ is used to delete an on-screen mPcc~ge or delete a group or ~
~ccOci~tion with a specific mPss~e. To delete a group ~soc;-linn, the group code and hP~ Pntl code are filled, then the serial number is set to all zeros. The tçrmin~l type is ignored once the zero serial number is d~PtPct~Pd. To delete a tPrmin~l associ~tiol~ the serial l~ull~ber and tPrmin~l type are filled, then the group code is set to all zeros. The hP~d~Pn~1 code is ignored once the zero group code is ~çtected Filling the group code or serial number with zeros ~çtPrmin~c w_ich is to be used for the ~csoci~tion deletion. Whichever is non-zero is lPhPt~Pd. If both group code and serial number are set to a zero value, the message llulllber alone is used for the deletion process and all groups and l~
aCcoci~tions with that mPcc~ge number along with the mPcc~ge control il~llllalion and its message text are all clelçtPd SlJBSTlTUTE SHEET (~U~ 2~;

94/19909 PCrlUS94/01488 43 ~'7S

Format: Byte Descliplion - 3-5 Group Code 6-7 ~e~dçn-l Code 8-16 Serial Number 17-18 Terminal Type 19-23 Mesc~ge Number 2. GROUP COMMANDS
a. Add/Change Selection Criteria or List Grol1p This co~ alld is used to create a selection criteria group to which a series of subscriber termin~lc are to be ~ccignP(l Format: Byte Descli~lio 3-5 Group Code 6-7 H~P~1t~n~1 Code 8-37 Group Descli~lion 38 SelectiQn Criteria Flag 39-XX Selectinn Criteria ,S~
(desclil)ed herein) b. Assi,en Terrninal To List Groups This cn....~ is used to specify the groups to which a ~ub~ L t~-...in~l is acsi~n~l. If all group codes are valid, a single return code willl be retnrnP(l. If the co.n..l~lu contains invalid group codes, a return code and group code for each invalid entry is l~ IlPcl.
An error return code will be issued for any group code which has a hP~dentl that is not associated with the serial number of the terminal specified in the collllll~ . If a group code is used that ~;u--~lllly does not exist, a group will be created using the hP~-~çnrl code accoci~tPd with the serial llulllbel used in this co"....~n~l. An error will be l~,lullRd if the serial number is not part of the system control co.l.~,uler ~l~t:-hace. The last two data bytes in a co"..,.~ es~onse with invalid group codes have a value of 00.
A variable number of group codes may be specified per subsc.ibcl L~ l. The rh~c~c~lm (if inr!llded) and carriage return delimit the mP~ ge text. If fewer than the m~ximllm l.u.-,~er of chal~t~ is speçifir(l, only the normal tr~ncmiCcion carriage return is used to ~ .";..~le the field.

SUBST~TUTE SHEET (RUi.~ 26) wo 94/19909 ?,~ ~535 Pcrruss4/01488 ~

~ 44 Format: Byte Description 3-11 Serial Number 12-13 Terminal Type 14-XX Group Codes c. Add Terminals To List Group This Cb~ iS used to specify which subscriber terminals belong to a particular group. Multiple co........... ~ e can be used to fully define the population of a group. In one emborlimPnt, a.m~ximllm of 22 (for example) ~ubsclibe~ te~min~l~ may be specified in this co.ll.l.alld. The actual m~ximnm number may be changed to suit particular needs, inrl~ in~
considerations such as, for example, IIIAI~A~" ~bility of mPss~ge size. The ch~L~ . (if inr!ll-leA) and CR delimit the serial number list. If fewer than the m~ximnm ..u...ber of serial mlmherS are s~ec;r.~d, only the normal ~ ecion carriage return is used to ~ u~ the field.
If all serial mlmhe./~....;..Al type combil.alions in an Add Termin~le To Group c~ A~ are valid, the c~ ,~onse co~eiet~ of a single return code. If the cc,.. ~lul COlll~lillS invalid serial .. .~ke~ type col.lbi.~ions, a return code, serial llulllber, and tt?rmin~l type for each invalid entry are r ~ ..Pd An error return code will be issued for any serial number that does not belong to the h~en-l sl,ecirRd in the co.. ~ . An error return code will be issued if the group code is not ~eeoci~t~d with the hP~l.on-l code speçifiPd If a group code is used that ;ull~ ly does not exist, a group will be created on the hP~tlPn~l ~ecirled in this cc,......... ~ . The last two data bytes in a co------~ ~onse with invalid serial number/~ l type colllbi~ iolls have a value of 00.
Format: Byte Descli~lion 3-5 Group Code 6-7 T~e~derltl Code 8-16 Serial Number #1 17-18 Terminal Type 19-27 Serial Number #2 28-29 Terrnin~l Type .

239-247 Serial Number #22 (or m~xi~mlm) 248-249 Terminal Type SUBST~U~E SHEEr (RULE 26~

.N094/19909 ,~? pcrlus94/01488 e~

d. Remove Terminals From List Group This comm~ntl is used to remove subscriber terminals from a particular group. Upto a m~ximllm number (for example, 22) of subscriber termin~l~ may be specified in this - cu~ The ch~cL~---.. (if inr~ lecl) and CR delimit the serial number list. If fewer than the maximum number of serial numbers are specified, only the normal carriage return is used to termin~te the field.
If all serial nllmher/lt;. ",i~l type combinations irl a Remove Group Termin~l comm~n~l are valid, the cc.ll.lllalld response consists of a single return code. If the colll~ d contains invalid serial number/lellllillal type combinations, a r eturn code, serial number, and t~rmin~l type for each invalid entry is retllrnP~l. An error return code will be issued for any serial number that does not belong to the hP~(len-l specified in the coll....~ An error return code will be issued if the group code is not associated with the h~ Pntl code specified. The last two data bytes in a co.~ ei,~ol~e with invalicl serial l,ulllbeL/~ l type co~ il~lions have a value of 00.
Format: Byte Descli~lion 3-5 Group Code 6-7 ~P~dentl Code 8-16 Serial Number #1 17-18 Terminal Type 19-27 Serial Number #2 28-29 Terminal Type .
239-247 Serial Number #22 (or m~ximnm number) 248-249 Terminal Type e. Clear Group This command is used to remove all subsclil,er le~.--;..~l~ from a particular group.
Once the ~i....i~-~l~ have been cleared, the group code llulllbel is removed from the system and is free to be used for creation of a new group.
Format: Byte Descli~lion 3-5 Group Code 6-7 Headend Code SUBSTITU~E SHEF~ (RULE 26J

wo 94119909 pcrlus94/01488 2~Sss35 46 f. Initiate Group Download This co..,l.lal~d informs the system control colllyuLcr that a complete download of all tPrmin~lc for a specific group code and headend code is beginning from the billing colllyuLel.
After reception of this co~ , no other cn""~ C other than Add Termin~1~ To Group, Abort Download, and Download Complete will be accepted.
Format: Byte Desc.iyLion 3-5 Group Code 6-7 ~p~lPntl Code g. Abort Download. Code (28) h. Download Complete. Code (29) These c-,.""l~ s are used to accomplish an Abort or Completion of a Group Download in the same manner as when a Terminal Download is in progress.
3. FIELD NAME DESCRIPTIONS
The following list desclil,cs the fields COlllyliSil~g the co,...~ c yl~sellL~d in the previous section. The description j~lentif ~s the field type, field length, and use.
Serial Number (9 bytes a1ph~ ."~li() - This field is the eYtern~1 ide~ r~lion of an addressable ~1.s~;1,el tPnnin~1 Terminal Type (2 bytes ~lrh~-.--.,.l ,;~) - This field irlPntifiPs the tPnnin~1 type.
Scientific-Atlanta addressable tennin~1c are ide~,lir~pd as "SD".
Group Code (3 bytes numeric) - This field i~lpntifps a group. A :julJ~;.ibel ~
may be ~csi~nPd to one or more of, for example, 62 groups. A range of valid values may be, for example, 00l to 062. Additional groups may be defined based on memory availability and system e7~p~ncion re4ui-c~ . Group code 64, which is defined as the global group, is also valid when used in Add/Change SchPd111e for Te~min~lc or Group Message c(--n...~ . A message which is defined for this group will be received by all tPrmin~1c on a hP~r1Pnrl HP~ pnrl Code (2 bytes ~1rh~.~.. P.i.,) - This field id~.,liri~s the hP~d~Pntl which controls an addressable termin~1 The hP~lPn~ code is co--~,laLcd to a port on system control col~lyuleL 120 through which tPrmin~1 c~ tlc are tr~ncmittP~ -Sl~ST~TUTE SHEET ~Rl~L~ 2~

~WO 94/19909 ~SS PCT/US94/01488 47 - ~ t Messa~e Number (5 bytes numeric) - This ~leld is an i~enti~ tion code for an on-screen message. The range of valid values may be, for example, 00001 to 09999.
Start Date (6 bytes numeric) - This field iti~Pntifirs the start date for the tr~ncmicci - of an on-screen group or termin~l message. The first two bytes are used to identify the year, i.e. "93" for 1993 . Bytes 3 and 4 are used to specify the month, i.e. "01 " for January, "02"
for February, etc. If the month field is set to "00" it intlir~tPS that the Start Date is not used for this tr~ncaetion. The last two bytes are used to identify lhe day of the month.
Start Time (4 bytes nl-mPrir) - This field identi~lPs the start time for the tr~ncmiccion of an on-screen message. The first two bytes are used to identify the hour in military time and the last two bytes are used to identify the ..-;..~es, i.e. "0100" for 1:00 a.m., "1330"
for 1:30 p.m.
Stop Date (6 bytes numeric) - This field i-lPntifiPc the stop date for the L~ iQn of an on-screen group or tPrmin~l message. The first two bytes are used to identify the year, i.e. 1l93" for 1993. Bytes 3 and 4 are used to specify the month, i.e. "01" for January, "02"
for reblua~ etc. If the month field is set to "00" it i~ ir~Ps that the Stop Date is not used for this tr~nC~rtinn The last two bytes are used to identify ~he day of the month.
Stop Time (4 bytes mlmPrir,) - This field identifips the stop time for the t~ ion of an on-screen message. The first two bytes are used to identify the hour in military time and the last two bytes are used to identify the Illilll~les, i.e. "0100" for 1:00 a.m., "1330"
for 1:30 p.m.
Line 1 Size (1 byte mlmPri( ) - This field is used to specify the size of the first line of an on-screen message. A value of "1 " is used to ;~ le that the first line of the mPss~ge is to be normal size. A value of "2" is used to ;~.1ir~ that the first line is to be two times normal size and half the number of chala~t.~
BaeL~rvund Color (1 byte mlmPrie) - This field is used to specify the background of an on-screen mPss~ge. The valid values are as follows:

SUBSTITUTE SHEET (RULE 26) wo 94/19909 pcrlus94/01488 ~
2~55535 48 Value Background m~ lm hllcl~iLy blue 2 low hlLc~ y blue 3 high illlel~iLy blue 4 black green 6 blue 7 red 8 mag 9 purple While this list of colors is by way of example, a larger or smaller llumber of colors may be provided without dtp.~ g from the scope of the present invention. The llulllber and type of color may depend on system lc~luilclllcll~ or user pl~f,~ ces, for e"~lll~lc.On-screen Messa~e Alert (1 byte ~lph~hetir,) - This field is used to inrlir~te wh.,lllcl or not an on-screen alert is to be enabled in co~ l;on with an on-screen --~ ~C. The valid values are "Y" and "Nn.
LED Alert (1 byte Alphabetic) - This field is used to ;.,~ir~lt; whc~ r or not an LED
alert is to be enabled in co..j.~ Qn with an on-screen ..~PC~e in sy~t~,lns with ~ol.s-;l;l~l trrmin~lc which support such an LED. E~ lcs of sul,s~;lil,cr te~min~lc which support such an alert include Scientifir--Atlanta models 8100 and 8601.
Buzzer (1 byte ~lph~betir) - This field is used to specify whclll.,l or not a buzzer is to be enabled in conjull.;lion with an on-screen mrcc~ge in ~y:,t~,llls with ~,~sclil~er termin~lc which support this feature.
Fxtern~l Contacts (1 byte .Alph~hetir) - This ffeld is used to specify wh~ or not the e~trrn~l co~t~r-tc are to be enabled in conjullclion with an on-screen mess~ge. The valid values are "Y" and "N".
Buzzer/Contacts Duration (3 bytes nl-m~rir) - This field is used to specify the duration, in ...i~lle, of the buzzer and eYtrrn~l contacts in COl,j~ ;on with an on-screen message in sy~lns with subscriber termin~lc which support this feature. The range of valid values is 000 to 255.
AC Relay Operation (1 byte Alphabetic) - This field is used to specify wht~ or not an AC relay coupled to the ~ubsc;liber termin~l is to be enabled in conjullclion with an on-SUBSTITUTE SHEET (~llLE 26) ~0 94/19909 ~SS^- PCT/US94/01488 screen message. This AC relay may control, for example, a switched power outlet to control various household appliances such as a lamp. The valid values are "Y" and "N".
Priority (2 bytes numeric) - This field is used to specify the priority of an on-screen message. The priority in-lic~tes the order in which messages are displayed by subsc,il,el terminals. Priority 01 messages are displayed imm~ t~1y upon reception. Mec~ges with priority 02 and 03 are displayed using the mpss~ge option on, the on-screen menu.
Screen Number (2 bytes numeric) - This field is used to specify the seqllen~e number of a screen of text in a multi-screen on-screen m~s~e. The range of valid values is 01 to 16.
Final Screen Number (2 bytes llulllclic) - This field is used to specify the final text screen se~ e~lre llulllbe. in a multi-screen on-screen m~ss~ge. The range of valid values is 01 to 16.
Group Desc,i~)lion (30 bytes Alyh~ ( liC) - This field is a descli~licsn of a group code used to send an on-screen lllessdgc.
F.n~hle Flag (2 bytes llulllclic) - j(ltontifi~s v~rhclll~l a subsclil,~r terrnin~l is:
00 Disabled 01 Enabled 02 Tellll,oldlily Enabled 03 Fast Poll Selection Criteria Flag (1 byte ~lph~betir) - This field is used to specify whether or not the group to be populated is of the selection criteria type (Y)es, or the list of t~,....i.~l~
type (N)o. The valid values are "Y" and "N".
~ SELECTION CRITERIA STATEMENTS
.SelectiQn criteria ~ allow groups of s~lbsc-~ ;l."r termin~l~ to be specified by a concise l~fe~llce to criteria the desired termin~l~ share in common. These sl ~ can be created by a user from user int~ ce 702 (see FIG. 7) using a screen layout such as that depicted in FIG. 18. ~ liv~ly, these ~ ; can be gelu"~lPd by billing co~ uL~.
110 in response to a cu~ Jule~ program or user input on billing cc,lll~ul~,l 110. If a selection criteria ~ is gene,~led by billing cc,l"~ule, 110, it can be t~ ...;lled to system control ccslll~ulel 120 by using the Add/Change Selectit~n Criteria or List Group ccs.. ~.ul, described previously under Group Ccs.. ~n~

SUBSTITUTE SHEEr (RULE 261 ,,5 PCTjVS 9 4 1 0 ~ 4 8 8 ~ Dt~ 3 ~1~R 1995 Selection criteria statements may be used as part of an automatic reply scheme in which system control computer 120 sends a traneAçtion ta all subscriber terminals meeting specific criteria to request that they respond to system colltrol col~lpll~er 120 to report any subscriber purchases of impulse pay-per-view events. For e xample, system control colll~uler 120 could request that all subscriber terminals which have HBO service respond with pay-per-view information. The use of selection criteria ~ le~ in this regard allows the range of subscriber terminals to be more narrowly focused than would otherwise be possible.
Selection criteria statements may also be used ItO selectively refresh subscriber terminAle. One way a cable subscription operator can mAint~in se~;u~iLy against un~l~tllorized access to cable channels is by progr~mming subscriber terminals to autom~tjr~lly "expire"
after a preprogrammed period of time. A refresh timer in system control cou,l~uL~r 120 may periodically send a refresh signal to all authorized termin~lc to reset the expiration timer in the authorized terminals. By using selection criteria statements, system control computer 120 can select groups of subscriber terminals for refresh (for example, select all subscriber t~rminAle having HBO for refresh).
Selection criteria ~L~telllellL~ can also be used to select subscriber terminAle for collection of viewer st~tietirs. As disclosed in commonly Aeei~n~1 U.S. patent application number 07/671,532, incorporated herein by l~Ç~lellce, stA1ietirs regarding program viewing habits may be collected by system control colll~u~ 120 fiom subscriber termin~le. This is performed by comm~n~lin~r subscriber termin~le to tran.emil back to system control conlL,.lter 120 a record of the channels viewed by the viewers having the subscriber ~ .AIe. Using selection criteria ~ ",~ , system control colll~ut~,l 12CI may select groups of subscriber lt;..--il-~le to collect these statietire based on any criterion or combination of criteria stored in the system control col~ule~ t~haee. For example, a group of subscriber terminals can be created which includes all subscriber le...~inAle which are authorized for the Disney channel, then these subs.;libel termin~le may be selecti~ely queried to retrieve viewing st~tietirs for these subscriber ~f....i..AIe.
Selection criteria ~trlll~ can also be used to selectively authorize text channels or other services to particular subscriber terminals. For example, a group could be created having all subscriber te.l.lil~als which are authorized for HBO. This group of subscriber termin~le could then be given access to a special channel which shows special events.
AhJlEN~D SHEET

~094/l991)9 5S~3 P~T/USsll0l4~

~Itern~tively, this group could be given access to the Disney channel free for a week.
Further h~lll.alion regarding time-authorized çh~nnPlc can be found in commonly ~c~i~n.od U.S. application number 07/896,582. Other uses include selectively rebuilding h.o~ler~
dealing with se~;ulily levels and any other operations associated with system control CCJ~ u~l 120.
.S~l~ction criteria ~l~lc~ consist of co..lbil~lions of Op~lallds and O~C.atOlS, as described below. The following are a suggested set of o~ela~lds which can be used to identify subs.=, iher termin~l~ based on data stored in system control Co---~ l 120:
Operand De;,~liylioll Example Value SN# Serial Number of Terminal CL19l~CDQZ
DA# Digital Address 2032CE3 ST# S~lbscril~er Termin~l Status 01 (enabled) SC# Service Code HB (HBO) FE# Su~sc;li~cr Termin~l Feature RC (remote control) HE# ~ Pn~l Code 01 MN# Svbs(-~;l.. ,r T~rmin~l Model 8600 OR# Orders 1234 (event ID) The following are a sllggeste(l set of O~ClatOl~ which can be used in a criteriaselection sl;~ with operands and values to specify a particular group of subswiber t~rmin~l~
Op~lalOI Desc;-i~ lion & logical AND
logical OR
logical NOT
equal to > greater than > = greater than or equal to < less than < = less than or equal to left ~ Illlf~ for joining opcldlols right ~ale.-ll-~si~ for joining O~latOl~
{ start of exclusive selection of service c:odes only } end of exclusive selection of service codes only se~ or for more than one exclusive service code Criteria Selection SLaLe...t..L Example #l SC#=BA & SC#=HB

SuBs~lTuTE SHEEr (RULE 26~

S94 ~ ~1 48 52 ~SSS ~ 5~3 This statement selects all terminals that have both Basic (BA) AND HBO (HB) service codes. The terminal could have other service codes also.
Criteria Selection Statement Example #2 ST#=01 & (SC#=CM I SC#=BA) & (SN#>AA1111111 & SN#< = AA9999999) DA# < 05~ & FE#! =63 This statement selects all terminals that are enabled (01), AND have either CineMax (CM) OR Basic Service (BA), AND are either in the Serial Number range GREATER
THAN AA1111111 AND LESS THAN or EQUAL to AA9999999 OR have a Digital Address LESS THAN 05~ ' AND are NOT enabled for Remote Control (63).
Criteria Selection Statement Example #3 SC# = {BA,HB}
This statement selects all terminals that only have the services BA and HB. Because the exclusive brackets are used, any terminals that have these services plus other services will not be selected Criteria Selection S~ ,l Example #4 SC#= {BA}, SC#={HB}
This statement selects all terrnin~l~ that have only the service BA or have only the service HB.
Criteria Selection Statement Example #5 SC#!=BA & SC#!=HB
This sl;.~e."~ selects all termin~l~ that do not hav~ the service BA and also do not have tAhe service HB.
Criteria Selection S~ r~llrllL Example #6 ST#=01 B~ HE#=01 & FE#=RC & FE#=62 This st~t~mPnt selects all te.lllinals that have a status of Enabled, are on headend 01 and have the fec lures Remote Control (RC) and Volume Control (62).
Criteria Selection St~teln~nt Example #7 (SC#=BA & (SC#=CM I SC#=XB)) I SC#=HB
This st~t~ nt selects all terminals that have service BA and either the service CM
or XB. Also selected are all te~ als that have the service HB.

Claims (51)

- 53 -
1. A method of selecting individual subscribers for inclusion in groups of subscribers of a subscription television system having a plurality of terminals, the method comprising the steps of:
storing terminal characteristics for each of said terminals, defining criteria for characterizing a group of said terminals by specifying desired values for two or more of said terminal characteristics, logically linking the defined criteria to form a selection criteria statement comprising said defined criteria and a logical operator selected from the set comprising of logical AND and logical OR, and assigning one or more of said terminals lo the group when the stored terminal characteristics satisfy the selection criteria statement.
2. The subscriber group selection method of claim 1 wherein the desired values comprise a range of terminal serial numbers.
3. The subscriber group selection method of claim 1 wherein the desired values comprise a range of terminal addresses.
4. The subscriber group selection method of claim 1 wherein the desired values comprise the status of the terminals.
5. The subscriber group selection method of claim 1 wherein the desired values comprise service codes for the terminals.
6. The subscriber group selection method of claim 1 wherein the desired values comprise features for the terminals.

- 54a -
7. The subscriber group selection method of claim 1 wherein the desired values comprise a code for the headend serving the terminals.
8. The subscriber group selection method of claim 1 wherein the desired values comprise a terminal model number of the terminals.
9. The subscriber group selection method of claim 1 wherein the desired values comprise orders for the terminals.
10. The subscriber group selection method of claim 1 further comprising the step of assigning a group code to the group of assigned terminals.
11. The subscriber group selection method of claim 1 further comprising the step of downloading a group map to the assigned terminals.
12. The subscriber group selection method of claim 1 further comprising the step of assigning a group code to a global group of all terminals associated with a particular head end.
13. The subscriber group selection method of claim 1 wherein the logical linking step comprises the step of forming a statement comprising an operator selected from the set consisting of "equal to", "greater than" and "less than".
14. The subscriber group selection method of claim 5 wherein the selection criteria statement comprises indicators for specifying an exclusive set of service codes.
15. The subscriber group selection method of claim 10 further comprising the steps of downloading a group map to the assigned terminals, storing the group map at the assigned terminals, transmitting a message to the - 54b -group code, and receiving the message at a terminal if the group code for the message matches an authorized group code of the stored group map.
16. The method of claim 1, further comprising the step of generating a report of all terminals assigned to said group.
17. The method of claim 1, further comprising the step of storing information regarding said group of assigned terminals, including said selection criteria statement, into a database in a system control computer for later retrieval.
18. The method of claim 1, further comprising the step of transmitting said selection criteria statement from a first computer to a system control computer coupled to said terminals through a headend, wherein said assigning step is performed on said system control computer.
19. The method of claim 18, wherein said step of transmitting comprises the step of transmitting said selection criteria statement from a billing computer to said system control computer.
20. The method of claim 1, further comprising the step of transmitting a message to terminals assigned to the group.
21. A method of selecting individual subscribers for inclusion in groups of subscribers of a subscription television system having a plurality of terminals, the method comprising the steps of:
storing terminal characteristics for each of said terminals;
defining criteria for characterizing a group of said terminals by specifying a desired value for one of said terminal characteristics, logically linking the defined criteria to form a selection criteria statement - 54c -comprising said defined criteria and an operator selected from the set consisting of "equal to", "greater than", and "less than"; and assigning one or more of said terminals to the group when the stored terminal characteristics satisfy the selection criteria statement.
22. The method of claim 21, further comprising the step of storing information regarding said group of assigned terminals, including said selection criteria statement, into a database in a system control computer for later retrieval.
23. The method of claim 21, further comprising the step of transmitting said selection criteria statement from a first computer to a system control computer coupled to said terminals through a headend, wherein said assigning step is performed on said system control computer.
24. The method of claim 23, wherein said transmitting step comprises the step of transmitting said selection criteria statement from a billing computer to said system control computer.
25. The method of claim 21, further comprising the step of transmitting a message to terminals assigned to the group.
26. Apparatus for selecting individual subscribers for inclusion in groups of subscribers of a subscription television system having a plurality of terminals, comprising:
means for storing terminal characteristics for each of said terminals;
means for defining criteria for characterizing a group of said terminals by specifying desired values for two or more of said terminal characteristics;
means for logically linking the defined criteria to form a selection criteria - 54d -statement comprising said defined criteria and a logical operator selected from the set consisting of logical AND and logical OR; and means for assigning one or more of said terminals to the group when the stored terminal characteristics satisfy the selection criteria statement.
27. The apparatus of claim 26, wherein said means for logically linking the defined criteria comprises means for displaying a menu with options for selecting said logical operator.
28. The apparatus of claim 26, wherein said means for storing said terminal characteristics comprises a database on a system control computer.
29. The apparatus of claim 26, wherein said means for logically linking is at the location of a first computer, wherein said means for assigning is at the location of a system control computer coupled to said plurality of terminals through a headend, and wherein said selection criteria statement is transmitted from said first computer location to said system control computer.
30. The apparatus of claim 29, wherein said first computer comprises a billing computer coupled to said system control computer.
31. The apparatus of claim 26, further comprising means for displaying a menu for scheduling a message for transmission to said group of terminals, said displayed menu comprising a date indicator and a time indicator.
32. The apparatus of claim 26, further comprising:
means for creating a list group comprising a list of terminal identifiers; and means for creating and scheduling a message for transmission to terminals belonging to said list group.

- 54e -
33. The apparatus of claim 32, wherein said list creation means resides on a separate computer coupled to said system control computer, wherein said list creation means accesses a subscriber database to determine which terminals belong to said list group.
34. The apparatus of claim 33, wherein said separate computer comprises a billing computer.
35. The apparatus of claim 26, wherein said means for defining and said means for logically linking are accessible to a user from a display menu comprising choices for said terminal characteristics and said logical operator.
36. The apparatus of claim 26, further comprising means for displaying a menu to allow a user to assign a message to said group.
37. Apparatus for assigning terminals to a group in a subscription television system comprising a plurality of terminals, the apparatus comprising:
accepting means for accepting a selection criteria statement comprising criteria for characterizing said group and a logical operator selected from the set consisting of logical AND and logical OR;
a database for storing terminal characteristics for each of said terminals;
means for retrieving, from said database, terminals having terminal characteristics which satisfy said selection criteria statement;
assigning means for assigning said retrieved terminals to said group; and means for transmitting transactions to terminals assigned to said group.
38. The apparatus of claim 37, wherein said accepting means comprises a computer interface, and wherein said selection criteria statement is transmitted - 54f -from a separate computer coupled to said computer interface.
39. The apparatus of claim 38, wherein said separate computer comprises a billing computer.
40. The apparatus of claim 38, wherein said billing computer interface uploads, to said billing computer, a list of terminals which satisfy said selection criteria statement.
41. The apparatus of claim 38, further comprising said separate computer, wherein said separate computer uses a database having demographic information regarding subscribers of said subscription television system to create said selection criteria statement.
42. The apparatus of claim 37, wherein said accepting means comprises a user interface, coupled to said retrieving means, for accepting said selection criteria statement from a displayed menu screen and for providing said selection criteria statement to said retrieving means.
43. The apparatus of claim 37, further comprising a system event scheduler for scheduling a message transmission to terminals of said group at a designated time.
44. The apparatus of claim 37, wherein said transactions to said group comprise a request for collection of information from terminals in said group.
45. The apparatus of claim 37, further comprising a headend controller coupled to said plurality of terminals, wherein said transactions are transmitted to said group of terminals through said headend controller.
46. The apparatus of claim 37, further comprising an out-of-band - 54g -transmitter coupled to said plurality of terminals, wherein said transactions are transmitted to said group of terminals through said out-of-band transmitter.
47. Apparatus for assigning terminals to a group in a subscription television system comprising a plurality of terminals, said apparatus comprising:
accepting means for accepting a selection criteria statement comprising criteria for characterizing said group and an operator selected from the set consisting of "equal to", "less than", and "greater than";
a database for storing terminal characteristics for each of said terminals;
means for retrieving, from said database, terminals having terminal characteristics which satisfy said selection criteria statement;
assigning means for assigning said retrieved terminals to said group; and means for transmitting transactions to terminals assigned to said group.
48. The apparatus of claim 47, wherein said accepting means comprises a billing computer interface, and wherein said selection criteria statement is transmitted from a billing computer coupled to said apparatus through said billing computer interface.
49. The apparatus of claim 47, wherein said accepting means comprises a user interface, coupled to said retrieving means, for accepting said selection criteria statement from a displayed menu screen and for providing said selection criteria statement to said retrieving means.
50. The apparatus of claim 47, wherein said transactions to said group comprise a request for collection of information from terminals in said group.

- 54h -
51. The apparatus of claim 50, wherein said collected information comprises statistics regarding program viewing habits.
CA002155535A 1993-02-16 1994-02-16 Method of selecting cable television converter groups Abandoned CA2155535A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/018,932 US5381477A (en) 1993-02-16 1993-02-16 Method of selecting cable television converter groups
US08/018,932 1993-02-16

Publications (1)

Publication Number Publication Date
CA2155535A1 true CA2155535A1 (en) 1994-09-01

Family

ID=21790488

Family Applications (1)

Application Number Title Priority Date Filing Date
CA002155535A Abandoned CA2155535A1 (en) 1993-02-16 1994-02-16 Method of selecting cable television converter groups

Country Status (9)

Country Link
US (1) US5381477A (en)
EP (1) EP0685141B1 (en)
JP (1) JPH08509850A (en)
AT (1) ATE185226T1 (en)
AU (1) AU674213B2 (en)
CA (1) CA2155535A1 (en)
DE (1) DE69420948D1 (en)
MX (1) MX9401217A (en)
WO (1) WO1994019909A1 (en)

Families Citing this family (91)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6292568B1 (en) 1966-12-16 2001-09-18 Scientific-Atlanta, Inc. Representing entitlements to service in a conditional access system
US5790198A (en) * 1990-09-10 1998-08-04 Starsight Telecast, Inc. Television schedule information transmission and utilization system and process
US20020091850A1 (en) * 1992-10-23 2002-07-11 Cybex Corporation System and method for remote monitoring and operation of personal computers
US5600364A (en) * 1992-12-09 1997-02-04 Discovery Communications, Inc. Network controller for cable television delivery systems
US5659350A (en) * 1992-12-09 1997-08-19 Discovery Communications, Inc. Operations center for a television program packaging and delivery system
US9286294B2 (en) 1992-12-09 2016-03-15 Comcast Ip Holdings I, Llc Video and digital multimedia aggregator content suggestion engine
US7168084B1 (en) 1992-12-09 2007-01-23 Sedna Patent Services, Llc Method and apparatus for targeting virtual objects
US7073187B1 (en) * 1992-12-09 2006-07-04 Sedna Patent Services, Llc Menu-driven television program access system and method
US6463585B1 (en) * 1992-12-09 2002-10-08 Discovery Communications, Inc. Targeted advertisement using television delivery systems
US20020104083A1 (en) * 1992-12-09 2002-08-01 Hendricks John S. Internally targeted advertisements using television delivery systems
US5539822A (en) * 1994-04-19 1996-07-23 Scientific-Atlanta, Inc. System and method for subscriber interactivity in a television system
US5485577A (en) * 1994-12-16 1996-01-16 General Instrument Corporation Of Delaware Method and apparatus for incremental delivery of access rights
US5689705A (en) * 1995-02-13 1997-11-18 Pulte Home Corporation System for facilitating home construction and sales
US20040136532A1 (en) * 1995-04-03 2004-07-15 Pinder Howard G. Partial dual-encrypted stream utilizing program map tables
US6424717B1 (en) 1995-04-03 2002-07-23 Scientific-Atlanta, Inc. Encryption devices for use in a conditional access system
US6937729B2 (en) * 1995-04-03 2005-08-30 Scientific-Atlanta, Inc. Representing entitlements to service in a conditional access system
US7224798B2 (en) * 1995-04-03 2007-05-29 Scientific-Atlanta, Inc. Methods and apparatus for providing a partial dual-encrypted stream in a conditional access overlay system
US6246767B1 (en) 1995-04-03 2001-06-12 Scientific-Atlanta, Inc. Source authentication of download information in a conditional access system
US6252964B1 (en) 1995-04-03 2001-06-26 Scientific-Atlanta, Inc. Authorization of services in a conditional access system
US8548166B2 (en) 1995-04-03 2013-10-01 Anthony J. Wasilewski Method for partially encrypting program data
US6560340B1 (en) 1995-04-03 2003-05-06 Scientific-Atlanta, Inc. Method and apparatus for geographically limiting service in a conditional access system
US5627892A (en) * 1995-04-19 1997-05-06 General Instrument Corporation Of Delaware Data security scheme for point-to-point communication sessions
US5953418A (en) * 1995-06-14 1999-09-14 David Hall Providing selective data broadcast receiver addressability
US5948119A (en) * 1995-06-15 1999-09-07 Bock; James M. Packet-based fifo
US5721842A (en) * 1995-08-25 1998-02-24 Apex Pc Solutions, Inc. Interconnection system for viewing and controlling remotely connected computers with on-screen video overlay for controlling of the interconnection switch
US5881361A (en) * 1996-04-03 1999-03-09 Motorola, Inc. Communication unit power up sequencing
JP4223578B2 (en) * 1996-11-29 2009-02-12 ソニー株式会社 Keyword generation method and apparatus
JPH10327108A (en) 1997-05-23 1998-12-08 Nec Corp Nb-wdm system and wavelength number setting system for the nb-wdm system
EP0889611B1 (en) 1997-07-02 2003-12-17 Alcatel Time multiplexing method, and related arrangements to be used in a central station and network terminals of a communications network
US7310811B1 (en) 1997-07-15 2007-12-18 At&T Corp. Interaction modalities for multimedia delivery and presentation
US7515712B2 (en) * 1997-08-01 2009-04-07 Cisco Technology, Inc. Mechanism and apparatus for encapsulation of entitlement authorization in conditional access system
US6304895B1 (en) 1997-08-22 2001-10-16 Apex Inc. Method and system for intelligently controlling a remotely located computer
US20010044843A1 (en) * 1997-10-28 2001-11-22 Philip Bates Multi-user computer system
GB2333672B (en) * 1998-01-27 2003-06-25 Stasys Ltd Analysing tactical data link messages
US7117518B1 (en) * 1998-05-14 2006-10-03 Sony Corporation Information retrieval method and apparatus
US6442755B1 (en) 1998-07-07 2002-08-27 United Video Properties, Inc. Electronic program guide using markup language
JP4382178B2 (en) 1998-09-11 2009-12-09 パナソニック株式会社 Receiver
AU774003B2 (en) * 1998-09-22 2004-06-10 Avocent Huntsville Corporation System for accessing personal computers remotely
US6236395B1 (en) * 1999-02-01 2001-05-22 Sharp Laboratories Of America, Inc. Audiovisual information management system
DE60045202D1 (en) * 1999-03-29 2010-12-23 Hughes Electronics Corp Procede et appareil de traitement conditionnel, stockage et affichage du contenu d'un canal numerique, dans un système de reception de television
US6378014B1 (en) * 1999-08-25 2002-04-23 Apex Inc. Terminal emulator for interfacing between a communications port and a KVM switch
US7197709B2 (en) * 1999-09-16 2007-03-27 Sharp Laboratories Of America, Inc. Audiovisual information management system with multiple user identifications
FI19992851A (en) * 1999-12-31 2001-07-01 Nokia Oyj Broadcasting of services over a packet network
JP3810268B2 (en) * 2000-04-07 2006-08-16 シャープ株式会社 Audio visual system
US7055168B1 (en) * 2000-05-03 2006-05-30 Sharp Laboratories Of America, Inc. Method for interpreting and executing user preferences of audiovisual information
US8028314B1 (en) 2000-05-26 2011-09-27 Sharp Laboratories Of America, Inc. Audiovisual information management system
CA2349914C (en) * 2000-06-09 2013-07-30 Invidi Technologies Corp. Advertising delivery method
US8020183B2 (en) * 2000-09-14 2011-09-13 Sharp Laboratories Of America, Inc. Audiovisual management system
GB0103830D0 (en) * 2001-02-16 2001-04-04 Pace Micro Tech Plc Broadcast data reciever system
US20030061610A1 (en) * 2001-03-27 2003-03-27 Errico James H. Audiovisual management system
US7904814B2 (en) * 2001-04-19 2011-03-08 Sharp Laboratories Of America, Inc. System for presenting audio-video content
US7730509B2 (en) 2001-06-08 2010-06-01 Invidi Technologies Corporation Asset delivery reporting in a broadcast network
US20030121040A1 (en) * 2001-07-02 2003-06-26 Ferman A. Mufit Audiovisual management system
US7908628B2 (en) 2001-08-03 2011-03-15 Comcast Ip Holdings I, Llc Video and digital multimedia aggregator content coding and formatting
US7793326B2 (en) 2001-08-03 2010-09-07 Comcast Ip Holdings I, Llc Video and digital multimedia aggregator
US20030206710A1 (en) * 2001-09-14 2003-11-06 Ferman Ahmet Mufit Audiovisual management system
US7474698B2 (en) * 2001-10-19 2009-01-06 Sharp Laboratories Of America, Inc. Identification of replay segments
JP2003337644A (en) * 2002-03-14 2003-11-28 Sony Corp Electronic device, program, program providing device and recording medium
US8214741B2 (en) * 2002-03-19 2012-07-03 Sharp Laboratories Of America, Inc. Synchronization of video and data
US20040032486A1 (en) * 2002-08-16 2004-02-19 Shusman Chad W. Method and apparatus for interactive programming using captioning
US20030196206A1 (en) 2002-04-15 2003-10-16 Shusman Chad W. Method and apparatus for internet-based interactive programming
US20040210947A1 (en) 2003-04-15 2004-10-21 Shusman Chad W. Method and apparatus for interactive video on demand
US7657907B2 (en) * 2002-09-30 2010-02-02 Sharp Laboratories Of America, Inc. Automatic user profiling
US7006945B2 (en) 2003-01-10 2006-02-28 Sharp Laboratories Of America, Inc. Processing of video content
US7930711B2 (en) * 2003-03-06 2011-04-19 Wegener Communications, Inc. Apparatus and method for addressing control in a network for distributed data
US20040197088A1 (en) * 2003-03-31 2004-10-07 Ferman Ahmet Mufit System for presenting audio-video content
US7259482B2 (en) * 2003-09-24 2007-08-21 Belkin International, Inc. Distance extender and method making use of same
US8396216B2 (en) * 2003-11-21 2013-03-12 Howard G. Pinder Partial dual-encryption using program map tables
US8949899B2 (en) * 2005-03-04 2015-02-03 Sharp Laboratories Of America, Inc. Collaborative recommendation system
US7594245B2 (en) * 2004-03-04 2009-09-22 Sharp Laboratories Of America, Inc. Networked video devices
US8356317B2 (en) 2004-03-04 2013-01-15 Sharp Laboratories Of America, Inc. Presence based technology
KR100995042B1 (en) * 2004-07-23 2010-11-22 엘지전자 주식회사 Digital Broadcast Receiver and Method for Processing Emergency Alert Message Thereof
US20060293954A1 (en) 2005-01-12 2006-12-28 Anderson Bruce J Voting and headend insertion model for targeting content in a broadcast network
US20090094640A1 (en) * 2007-09-26 2009-04-09 Anderson Bruce J Targeted advertising in unicast, multicast and hybrid distribution system contexts
US8689253B2 (en) * 2006-03-03 2014-04-01 Sharp Laboratories Of America, Inc. Method and system for configuring media-playing sets
WO2007131069A2 (en) * 2006-05-02 2007-11-15 Inividi Technologies Corporation Fuzzy logic based viewer identification
US20130254787A1 (en) 2006-05-02 2013-09-26 Invidi Technologies Corporation Method and apparatus to perform real-time audience estimation and commercial selection suitable for targeted advertising
CA2654866C (en) * 2006-06-12 2016-09-27 Invidi Technologies Corporation System and method for auctioning avails
US20100138290A1 (en) * 2006-06-12 2010-06-03 Invidi Technologies Corporation System and Method for Auctioning Avails
EP2039154A4 (en) * 2006-06-12 2011-05-04 Invidi Tech Corp System and method for inserting media based on keyword search
US8427489B2 (en) 2006-08-10 2013-04-23 Avocent Huntsville Corporation Rack interface pod with intelligent platform control
US8009173B2 (en) 2006-08-10 2011-08-30 Avocent Huntsville Corporation Rack interface pod with intelligent platform control
WO2008094960A2 (en) * 2007-01-30 2008-08-07 Invidi Technologies Corporation Asset targeting system for limited resource environments
US8146126B2 (en) 2007-02-01 2012-03-27 Invidi Technologies Corporation Request for information related to broadcast network content
US8768832B2 (en) * 2007-11-06 2014-07-01 Visa U.S.A. Inc. Financial transaction funds collection and distribution
US8776115B2 (en) 2008-08-05 2014-07-08 Invidi Technologies Corporation National insertion of targeted advertisement
CA2733199C (en) 2008-08-06 2018-01-09 Invidi Technologies Corporation Third party data matching for targeted advertising
US8937685B1 (en) * 2008-10-09 2015-01-20 Tp Lab, Inc. Method and system for overlaying videos in a television set using a television script
US8116429B2 (en) * 2009-01-29 2012-02-14 The Invention Science Fund I, Llc Diagnostic delivery service
US8959158B2 (en) * 2009-10-12 2015-02-17 International Business Machines Corporation Leveraging point-in-time knowledge to respond to e-mail
US20130145399A1 (en) * 2011-12-05 2013-06-06 General Instrument Corporation Personal television channel

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4323922A (en) * 1979-12-17 1982-04-06 Oak Industries Inc. Television coding system with channel level identification
CA1177558A (en) * 1982-04-15 1984-11-06 Groupe Videotron Ltee. (Le) Cable network data transmission system
US4484217A (en) * 1982-05-11 1984-11-20 Telease, Inc. Method and system for remote reporting, particularly for pay television billing
US4606072A (en) * 1983-06-10 1986-08-12 Tocom Inc. Master/slave converter system
US4600921A (en) * 1983-10-19 1986-07-15 Zenith Radio Corporation Full-field teletext system with dynamic addressability
US4829569A (en) * 1984-09-21 1989-05-09 Scientific-Atlanta, Inc. Communication of individual messages to subscribers in a subscription television system
US4885775A (en) * 1984-09-21 1989-12-05 Scientific-Atlanta, Inc. Information display scheme for subscribers of a subscription television system
US4866770A (en) * 1986-07-08 1989-09-12 Scientific Atlanta, Inc. Method and apparatus for communication of video, audio, teletext, and data to groups of decoders in a communication system
US4924498A (en) * 1988-04-29 1990-05-08 Scientific Atlanta, Inc. Method and apparatus for improving video scrambling and employing split snyc pulses
US5058160A (en) * 1988-04-29 1991-10-15 Scientific-Atlanta, Inc. In-band controller
IE65325B1 (en) * 1988-10-07 1995-10-18 Gen Instrument Corp IPPV programming distribution control system
US5001554A (en) * 1988-12-23 1991-03-19 Scientific-Atlanta, Inc. Terminal authorization method
US5054071A (en) * 1989-02-03 1991-10-01 Scientific-Atlanta, Inc. Volume control for optimum television stereo separation
US5155591A (en) * 1989-10-23 1992-10-13 General Instrument Corporation Method and apparatus for providing demographically targeted television commercials
US5255086A (en) * 1990-03-20 1993-10-19 Scientific-Atlanta, Inc. Method and apparatus for RF data transfer in a CATV system
US5260778A (en) * 1990-06-26 1993-11-09 General Instrument Corporation Apparatus for selective distribution of messages over a communications network
US5144664A (en) * 1990-11-16 1992-09-01 General Instrument Corporation Apparatus and method for upgrading terminals to maintain a secure communication network
US5255089A (en) * 1992-03-26 1993-10-19 International Business Machines Corporation Portable particle detector assembly

Also Published As

Publication number Publication date
EP0685141B1 (en) 1999-09-29
MX9401217A (en) 1994-08-31
EP0685141A4 (en) 1995-10-19
EP0685141A1 (en) 1995-12-06
WO1994019909A1 (en) 1994-09-01
AU674213B2 (en) 1996-12-12
AU6238394A (en) 1994-09-14
DE69420948D1 (en) 1999-11-04
ATE185226T1 (en) 1999-10-15
JPH08509850A (en) 1996-10-15
US5381477A (en) 1995-01-10

Similar Documents

Publication Publication Date Title
CA2155535A1 (en) Method of selecting cable television converter groups
US5420923A (en) Addressed messaging in a cable television system
US5724525A (en) System and method for remotely selecting subscribers and controlling messages to subscribers in a cable television system
US5317391A (en) Method and apparatus for providing message information to subscribers in a cable television system
US5270809A (en) Data return for a television transmission system
CA2043911C (en) Apparatus for selective distribution of messages over a communications network
EP0049280B1 (en) A television communication arrangement for transmitting data signals
US5590195A (en) Information dissemination using various transmission modes
US5012510A (en) Dynamic callback technique
US5301028A (en) Method and apparatus for displaying channel identification information
RU2257685C2 (en) Broadcasting and receiving messages
US5715515A (en) Method and apparatus for downloading on-screen graphics and captions to a television terminal
US5253341A (en) Remote query communication system
AU716184B2 (en) Network controller for cable television delivery systems
US5157716A (en) Dynamic callback technique
AU6963894A (en) Electronic program guide and text channel data controller
WO1993011638A1 (en) Method and apparatus for tuning data channels in a subscription television system having in-band data transmissions
EP0194289A1 (en) Information display scheme for subscribers of a subscription television system.
JP3425048B2 (en) Digital service processing method and digital service receiving terminal device
MXPA97007069A (en) Supply and acquisition of data segments with time between optimize arrivals

Legal Events

Date Code Title Description
EEER Examination request
FZDE Discontinued
FZDE Discontinued

Effective date: 19990216