CA2206234A1 - Secure authorization and control method and apparatus for a game delivery service - Google Patents
Secure authorization and control method and apparatus for a game delivery serviceInfo
- Publication number
- CA2206234A1 CA2206234A1 CA002206234A CA2206234A CA2206234A1 CA 2206234 A1 CA2206234 A1 CA 2206234A1 CA 002206234 A CA002206234 A CA 002206234A CA 2206234 A CA2206234 A CA 2206234A CA 2206234 A1 CA2206234 A1 CA 2206234A1
- Authority
- CA
- Canada
- Prior art keywords
- authorization
- data
- game
- digital data
- programs
- 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
Links
Classifications
-
- A63F13/12—
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/70—Game security or game management aspects
- A63F13/73—Authorising game programs or game devices, e.g. checking authenticity
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/30—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/70—Game security or game management aspects
- A63F13/71—Game security or game management aspects using secure communication between game devices and game servers, e.g. by encrypting game data or authenticating players
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/70—Game security or game management aspects
- A63F13/77—Game security or game management aspects involving data related to game devices or game servers, e.g. configuration data, software version or amount of memory
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/81—Monomedia components thereof
- H04N21/8166—Monomedia components thereof involving executable data, e.g. software
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/16—Analogue secrecy systems; Analogue subscription systems
- H04N7/162—Authorising the user terminal, e.g. by paying; Registering the use of a subscription channel, e.g. billing
- H04N7/165—Centralised control of user terminal ; Registering at central
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/16—Analogue secrecy systems; Analogue subscription systems
- H04N7/167—Systems rendering the television signal unintelligible and subsequently intelligible
- H04N7/1675—Providing digital key or authorisation information for generation or regeneration of the scrambling sequence
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/20—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of the game platform
- A63F2300/206—Game information storage, e.g. cartridges, CD ROM's, DVD's, smart cards
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/40—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of platform network
- A63F2300/401—Secure communication, e.g. using encryption or authentication
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/40—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of platform network
- A63F2300/409—Data transfer via television network
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/50—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
- A63F2300/53—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing
- A63F2300/532—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing using secure communication, e.g. by encryption, authentication
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/50—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
- A63F2300/55—Details of game data or player data management
- A63F2300/552—Details of game data or player data management for downloading to client devices, e.g. using OS version, hardware or software profile of the client device
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/60—Methods for processing data by generating or executing the game program
- A63F2300/63—Methods for processing data by generating or executing the game program for controlling the execution of the game in time
- A63F2300/636—Methods for processing data by generating or executing the game program for controlling the execution of the game in time involving process of starting or resuming a game
Abstract
A communications system for the delivery of digital data programs to a remote location includes a transmitter for transmitting a signal having the digital data programs and a communications terminal (177) located at the remote location. The communications terminal (177) includes a control circuit (200) including authorizing circuitry responsive to authorization data for authorizing the communications terminal to access authorized ones of the digital data programs in one of a first and second authorization mode. For example, automatic authorization modes for game play may comprise an arcade mode and a rental mode, simulating manual access methods i.e. paying for play at a video arcade or for rental of games from a video game store. Moreover, new games may be accessed without charge by the game player if authorized according to a free service authorization map.
Description
wo 9~/17475 PCTIUS9~1122~9 SECURE AI~HORIZATION AND CONTROL METHOD AND
APPARATUS FOR A GAME DELIVERY SERVICE
Fie1d of the Invention The present invention relates to the field of subscription service systems generally and, more particularly, to the field of ~llthori7~tion and control of game delivery services. More generally, the present invention relates to a system for delivering services to subscribers and, more particularly, to an access control feature for a system for delivering digitally based services to subscribers.
De~s.. ~~,lion of the Related Art Television video game systems such as those available from Atari, Nintendo and Sega, among others, typically include a game player which is connected to a standard television set.
The game player is adapted to receive a removable game cartridge having a video game program stored therein. The game player includes a processor which executes the video game program on the cartridge. Input devices such as joysticks permit a user to play the game. Different games may be played by placing difrcicnt cartridges in the game player. These cartridges are generally either purchased or rented from video stores. There are, however, several disadvantages tO this mode of distribution of television video games. First, game cartridges can be expensive to purchase. This esp~n~ can be prohibitive to parents whose children desire to play the most currently popular video games. In addition, the popularity of many games diminishes over time. Thus, game cartridges must be condnuously purchased in order to include the currently popular games. Renting the garnes from a video store overcomes some of these problems, but the games are subject to availability and may only be rented for short periods of time.
One way to address some of these problems is to deliver video games over cable television systems. The volume of information and number of features being made available to subscribers in such systems are continuously increasing. For example, the advent of optical fiber networks and links to telecommunication networks enables an almost limitless supply of information and features to be provided to subscribers. Already subsc~ ion television systems are being used for text services such as sports scores, stock quotations, weather reports, and news updates. Relatively new fea~ul~s such as home shopping, travel reservations service, home banking, energy management, home security (fire or burglar alarm), video conferencing and other such services are also being provided.
SUI~STITUTE SHEET (RULE 26) CA 02206234 1997-0~-27 WO96117~75 PCT~US9~12219 When such systems arc used to deliver video games, it is desirable that the system operator and/or subscriber be able to control access to the video games. This control is desirable in a number of respects. First, it may be desirable to provide certain games on a premium basis. For example, a system operator may want to provide previews of new or updated game releases or currently popular games for an additional service fee. It may also be desirable to permit a parent to limit a child's access to games to particular times of the day.
SIJI~ARY OF THE INVENl~ON
In accordance with one aspect of the instant invention, a communications system for the delivery of digital data programs to a remote location includes a transmitter for transmitting a signal having the digital data programs and a communications terminal located at the remote location. The communications terminal includes a control circuit including authorizing circuitry responsive to authorization data for authorizing the communications terminal to access an authorized one of the digital data programs in one of a first and a second authorization mode.
In accordance with another aspect of the instant invention, a communications system for thc delivery of digital data programs to a plurality of remote locations inc~udes communications terminals located at the remote locations and a transmitter for transmitting a signal having the digital data programs. The transmitter also transmits first authorization data for authorizing all of the communications terrninals to access a first authorized one of the digital data programs, and second authorization data for authorizing respective ones of the communications terminals to access a second authorized one of the digital data programs.
In acco-dance with yet another aspect of the instant invention, a communications system for the delivery of digit 1 data programs to a remote location includes a control system for transmitting a signal comprising the digital data programs and authorization transactions. The authorization tr~n~ctions include identifier data col-~al,onding to one or more of the digital data programs, load phase data, and memory slot data. A communications terminal is located at the remote location. The commllnit~tion~ terminal includes a memory for storing an authorization table for authorizing the communications terminal to access an authorized one of the digital data programs. The authorization table includes a plurality of memory slots, each memory slot inclu~ing a first field for storing load phase data and a second field for storing identifier data.
A control circuit processes the authorization ~ransactions using the memory slot data to access one of the memory slots of the authorization table, wherein the identifier data is loaded into the corresponding memory slot (1) if identifier data currently stored in the co~-~s~onding memory slot co.-~,syonds to the identifier data in the p.ucessed authorization tr~ns~tion and load phase SUBSllTUTE SHE~T (RULE 26) WO 96/1~47S PCT~US95/12219 data currently stored in the co,l~ onding memory slot differs from the load phase data m the processed authorization transaction or (2) if identifier data currently stored in the corresponding memory slot differs from the identifier data in the processed authoriation transaction.
According to the present invention, the first and second authonzation modes may comprise a rental mode and an arcade mode for game delivery services. The home communications terminal comprises, in the first insr~nce~ a game adapter, and, in the second in.~t~nCe, a game player. Authorization data and game data are transmitted periodically from a transmitter toward the home communications terminal and the home communications terminal only provides limited access to game data by the game player.
The home communications terminal is particularly secure from service pirates. The game data and authorization and control data are transmitted in a secure manner. Authorization data can only be read from the game adapter by the game player and not written into game adapter memory.
These and other features of the present invention will be described more fully in accordance with the appended drawings.
Brief Des~ tion of the Drawin~c Figure l is a block schema~ic diagram of a game delivery system in accordance with the present invention showing a national subscriber authorization computer 104 for authorizing game services to a subscriber equipped with a game adapter 177 in accordance with the present invention and a commercially available game player 178 including a game display;Figure 2 is a detailed schern~tic block diagram of the game adapter 177 of Figure I
according to the present invention including a secure game controller application specific integrated circuit (ASIC) 200 according to the present invention;
Figure 3 is a functional block diagram of the secure game controller ASIC 200 of Figure 2;
Figure 4a is a generalized format for a transaction including a filter code F, a global flag G and a transaction code T, the T data further including any data to be operated upon by the transaction as neçes~;
Figures 4b to 4e describe authorization memories of ASIC 200 of Figure 3; in particular, Figure 4b describes a format for a service authorization memory for subscription or free service, S1 . . . Sn lcprcsellting authorization bits for services identified by service identifiers Sl . . .
Sn; Figure 4c shows a pay to play memory comprising n pay to pay memory slots; Figure 4d shows an exemplary arcade mode memory slot of the pay to play memory of Figure 4c having SUBSTITUTE SHEET (RULE 26) W 096/~4~S PCTrUS95/12219 a mode bit, M, a playtime value, PI', a service identifier, Service ~D, and a load phase bit: and Figure 4e shows a rental mode memory slot having a mode bit, M, a week field, W, a day of week field, DOW, a service identifier, Service ID, and a load phase bit;
Figure S provides an overview of an exemplary format for game packet data preceded by a header, each data packet 0 to n being forward error correction encoded; andFigure 6 provides an overall flowchart for processing incoming authori_ation and control data which calls upon further flowcharts Figures 7-11 as will be further described herein.
Detailed Desc,;,~)l;on Referring to Figure 1, there is provided an overall block schematic diagram of a game delivery system according to the present invention for providing game delivery and play services. A similar block schematic diagram of a digital music and game delivery service is provided by Figure 1 of U.S. patent no. 5,239,540, incorporated herein by reference. Pending U.S. applications serial no. 08/171,4~3, filed December 22, 1993, having one of the present inventors as a co-inventor, and serial no. 09/253,698, filed June 3, 1994, comprising related subject matter, are likewise incorporated herein by reference. Referring to Figure 1 of any of these, there is shown an overall block diagram of a digital music and game delivery service.
In particular, a centralized source of game and digital music material provides game data which is encoded, multiplexed and tr~nsrTlitted via ~tellite to a cable television service provider (or directly to a subscriber's home). At the cable television service provider, the digital music (or games or software) is received, having be~n modulated with other frequency division multiplexed services (television, teleco-..l--unications, games or software or other services) to be received at a digital music tuner device at a subscriber's home.
In accordance with the present invention, the subscriber's home may be provided with a cable television service terminal, a digital music tuner for digital music services, a game adapter 177 according to the present invention, a home computer terminal, a telecommunications terminal and/or other home communications terminal apparatus. For example, none of the telecommunic~tions terminal, the digital music tuner, the cable television service terminal or other such apparatus are shown in Figure 1 of the present application. Nevertheless, it may be assumed, referring briefly to Figure 2, that RF input 201 may be provided in common to any of the three, four (or more) devices. For example, a personal computer terminal,telecommunications terminal or speci~li7~d terminals for burglar alarm. energy management or other services may comprise other devices coupled to RF input 201 in common with game adapter 177.
SUBSTlTUlTE SHEET (RULE 26) ~ CA 02206234 1997-05-27 W O96J17475 PCT~US95/lt219 Particular details of tne multiple~ arrangement for the present invention are describe~ by US patent no. ~,239,540 and its progeny in further Figures 2-8 and their attendant descriptions, incorporated herein as necessary by reference. Suffice it to say that in each instance in which digital audio data, stations or channels or the like are described in each of these, the terminology game data, game channels, game data streams or the like may be suitably replaced therefor, well within the slcill of one of ordinary skill in the art.
Referring again to Figure 1 of the present application, there is shown the location of a national service provider 100 for providing game delivery services to subscribers. The national service provider may provide a national game archive 101 of games available for play. Games are selected from the archive and played via drive 101. Selected games may be retrieved by national game server 101, encrypted prior to storage as a,~,prol)liate according to a proprietary algorithm and stored on compact discs (CD) or tape or cartridge and played by an appropriate plurality of drives comprising at least one high speed drive, such as drive 101. CD ROM drive 102 may be used to update the files, encrypting new game data for storage in the drive 101.
There may be one-or a plurality of such game drives 101 as shown in Figure 2 of US patent no.
5,239,540 for providing a plurality of game data streams simultaneously. The game data may be time division multiplexed together for a plurality of games for transmission over the same channel frequency. The national game server 103 ~ccesses the game data as appropriate and also refers to the national subscriber authorization computer 104 for subscriber authorization data.
The national subscriber authorization computer 104, in turn, has access to a national subscriber ~t~hace 105.
Games typically range in size from 4 to 32 or more megabits of storage capacity and, in accordance with the present invention, may require as long as a minute to download. Of course, the less capacity taken by game data, the faster the delivery and the more satisfied the subscriber will be with the game delivery service. Consequently, game data delivery should be at high data rates on the order of megabits per second, for example, one or more 3 megaHertz bandwidth ch~nn~
The n~rion~l game server system 103 encodes the data for many games and outputs encoded game data and subscriber authorization control data in a format as will be further described herein for delivery via satellite, for example, to a local area. The satellite service provider may be a separate entity from the national game service provider who provides satellite direct-to-home services direct to subscriber location 175. Alternatively, the national service provider may provide the game delivery service to a local service provider such as a cable or SUBSTtTl.JTE SHEET (RULE 26) wo 96117J75 PCT/US9S/12219 telecommunicationS service provider 150. Suitable modifications, not shown, would be incorporated to Figure 1 to show direct satellite to home service, for example, where the home location 175 would further incorporate a satellite dish 131 and decoder (not shown).
Typically, assuming the satellite service provider is associated with the national service provider, the game and control data is provided to quadrature phase shift key (QPSK) modulator 126 for upconversion to an appropriate satellite intermediate frequency via upconverter 127.
Other forrns of modulation may be suitably utilized besides QPSK in other embodiments. For example, for QPSK modulator 126, modulator 126 may provide signals at an intermediate fre~uency of 70 megaHertz to upconverter 128. A suitable high power amplifier (HPA) 128 may be provided at the output of upconverter 127 to maintain a suitable power level to uplink antenna 129 for transmission to satellite 130. Typically, the satellite system may be a typical ku, L- or C-band satellite system available from Scientific-Atlanta, Inc. Satellite 130, in turn, transmits the received signal to a so-called footprint of the earth's domain. Consequently, several ~tellites may be re~uired for a national or world game delivery service. Several s~lt~llites 130 will provide an ap~>ro~;ate plurality of geographically different footprints for a truly world-wide service.
At the location of a local cable television or telecommunications service provider, the game data signals are received at satellite receive antenna 131 and demodulated at QPSK
receiver 132. In an alternative embodiment, game data may be encrypted and transferred to discs for transmission by mail or otherwise than by radio frequency to local service provider 150. There, the local service provider may provide their own disc drive 102 for game delivery services and a digital service control system (DCS) computer (not shown). Demodulated game data is provided to a con~lition~l access insertion card (CAIC) 133 for forwarding via quadrature partial response (QPR) modulators 154a and 154b to cable combiner 155. Again, QPR
modulation, for example, nine state QPR, is suggested as one alternative modulation form.
Other digital data delivery modulation schern~s which may be utilized in the alternative include quadrature amplitude modulation QAM and vestigial sideband VSB. At combiner 155, the garne signals on a first (or more) frequency division multiplexed channel are combined with other service channels such as digital music, cable television, telecommunications, computer software ch~nnel.~ and the like. All of these signals are then transmitted via cable distribution plant 156 to a subscriber location 175. The cable distribution plant 156 may comprise a twisted cable pair (telecommunications), coaxial cable or fiber optic signal distnbution plant or combination thereof known in the art. Typically, the game delivery service signals are frequency division SUBSTITlJTE SHEET(RULE 26) WO 96/t74?5 PCr/US9S/~2219 multiplexed at a selected channel in the 50-150 megahertz range but may, option~ly be provlded anywhere in a 0-2 gigahertz optical fiber cable television spectrum.
At a subscriber location 175, there may be located a game service home adapter 177 for tuning to and receiving the game data channel(s) and demodulating and decoding game data and subscriber authorization and control data. There may be a plurality of game adapters 177 and game players 178 at the subscriber location 175. Gamer players 178 are generally known for receiving therein a game cartridge, disc or other game software media. In particular, a specially suited game cartridge slot is typically provided in the game player 178 for receiving an edge connector or other means of intercomm~l~ic~ting with the game player 178. In accordance with the present invention, the game cartridge is replaced with the game adapter 177 equipped with a suitable connector 177a which is plug-in compatible with game player 178. In this manner, game player apparatus, such as game player 178, already available in large commercial quantity and played by many already throughout the world need not be replaced. Game data received by home game adapter 177 appears to the game player 178 in the same manner as that data received from a game cartridge presently available through commercial outlets in great quantities.
Game player 178 will not be described in great detail. One example of such game apparatus is the so-called Genesis (R) game player system available from Sega Corporation of America. Other similar systems are available from other manufacturers including, but not limited to, Atari and Nintendo. Typically, such a game player has its own microprocessor, random access memory and program memory for storage of initi~li7~tion~ basic input/output services (BIOS), game access programs and the like. The game player 178 may comprise one single housing with built-in display and player input devices. According to Figure 1, a game player 178 may comprise separate components including for example, a main unit 178, a lap input unit 178b, and a display 178d which may comprise a television receiver all connected via a~l~rop,iate cords or wireless connections 178a and 178c. The game player is ~I'tll~t~'d via key, joysticlc or other known controls during initialization and game play modes of operation. A
recent enhancement to such devices is a biofee~b~ck device for placing a player into virtual reality with the game program. The game player BIOS ~cesses game program cartridge sof~ware and plays the game under user control. Different or other suitable arrangements for equipment at subscriber location 175 may come to mind of one of skill in the art, for example, game adapter 177 may communicate with game player 178 or with television 178d by ribbon connector cable, radio frequency cable, optical fiber or wireless means (not shown). Certainly, S U BST1TU TE SH EET (R U LE 2~) W O96/17~75 PCTrUS9S/12219 subscriber location 175 will in ~11 likelihood be provided with multiple televisions 178b and vide~ c~csette recorders, cable television terrninals, personal computers and telecommunications devices in arrangements too numerous to mention and as a~l,.opliate to a particular subscriber's needs. All of these devices may be conne~ted in common to cable distribution plant 156 or alternative distribution plants such as telecommunications cable plants or directly to a downlink satellite antenna feed.
Referring now to Figure 2, there is provided a block schematic diagram of game adapter 177 for connection to a cable plant 156 at a subscriber location 175 in accordance with Figure 1. Game adapter 177 comprises an RF input 201 for receiving a broadband of radio frequencies extending in accordance with present technologies into the range of 1-2 gigahertz in bandwidth.
Tuner/demodulator 202 tunes to one or more of these frequencies, in particular, a channel on which game data is multiplexed and transmitted as QPR modulated data, for example, on a frequency in the FM band (for example, be~ween 80 and 110 megaHertz). Tuner/demodulator 20'2, then, may be a standard QPR tuner demodulator similar in construction to the so-called digital music tuner product described by US patent 5,239,540. Tuner/demodulator 202 under control of game controller ASIC 200 provides demodulated game data streams to an ASIC input data port via a data bus 230 as will be further described herein.
In accordance with the present invention tuner/demodulator 202 is programmable and comprises a known frequency synthesizer integrated circuit. The frequency synthesi~er has a serial interface to load tuning words which in turn load internal registers used to change the tuning frequency. In this manner, ASIC 200, as will be further described herein, can program the tuner to tune to any particular frequency within a range, for example, of 50-150 megaHertz.
Game controller ASIC 200 in turn communicates with a plurality of read/write memories including DRAM, FLASH, SRAM, EEPROM or other memory technologies. Without limitation, such memories may comprise dynamic random access memory arrays 210-1 to 210-i and 211-1 to 211j as shown via dram address and data bus 220, wherein i may be an integer greater than I up to four or more and, likewise, j may be an integer from 1 up to two or four or more.
Most importantly, game controller ASIC 200 filters data (determines if the data is for the game adapter or the game player), interprets transactions and, as a~plopliate, passes transactions on to a processor unit of game player 178 or loads SRAM inside the TCU 302 not shown.
Memories of game adapter 177 will appear to game player 178 as if they were, at least, a game cartndge memory of game program data containing a game to be played.
SUBSTITUTE SHEET tRULE 26) W O96/17~75 PCT~US9~/12219 Game adapter ASIC 200 controls access tO memories ~16, 212 and alternate memory 21~
and terminates in Gbus edge connector 250 which is plug-in adaptable to be received into a game cartridge port of game player 178 as if the connector were a game cartridge.
Referring now to Figure 3, there is shown a detailed functional block diagram of game adapter ASIC 200 of Figure 2. Game controller ASIC 200 is intended as a secure state machine to which access and output is derived through secure data ports. As will be further described herein, the data entering ASIC 200 is preferably encrypted, interleaved, forward error corrected and otherwise unintelligible to a pirate who would seek to ~ain access thereto via bus 230.
Clock generator 316 generates all the clocks needed for operation of the ASIC 200. The clock generator is synchronized to incoming data retrieved from tuner/modulator 202.
ASIC 200 receives demodulated data from tuner module 202 which preferably includes a programmable phase loclc loop tuner including a programmable fre~uency synthesizer as described above. In this manner, the tuner may be programmably tuned to different programmable frequencies within the control on the national game center location 100 or local service provider 150.
Referring to the Gbus (game player bus) 177a at the lower left of Figure 3, the bus 177a par~icularly controls SRAM 216 and BIOS ROM 212, 214 via game bus interface 313.Meanwhile, game bus interface 313 communicates with CRC module 314, microprocessor interface 305, transfer control module 31 1, programmable tuner interface 309, error counter 308 and game header packet filter 306 for various control functions.
The transaction control unit ~TCU) 302 receives transaction data from decoder 301, interprets received transactions and does what is asked of it. The TCU further includes some RAM and ROM, not shown. It further manages the authorization maps and operates the game timers. The various game timers (sometimp~ referred to herein as counters) including parental control, playtime and the like may be, for example, decremented in ten second intervals, as will be further ~iccu~ed in col~ne~lion with Figure 11. The game player mi~-oplucessor communicates with the TCU 302 through the MPI 305. The Transaction Control Unit 302 communicates with the Reset circuitry including module 315 in the event, for example, when playtime expires. Reset module 315 must generate a reset signal sufficient to operate the inherent reset mech~ni~m of game player 178. To the game user, the reset operates the game so as to terminate game play.
The memory maps resident in non-volatile memory and registers are available to the game player microprocessor through the MPl interface 305. The authorization memory maps SUBSTITUTE SH EET (RULE 26) W O96117~7S PCTrUS95/1221g include bit maps, for authorization, for example, for 128 services. There is both a subscriber authorization map for subscriber authorization to pay services and a free map for services offered free of charge. The free map is for the subscription service provider to provide certain free service offerings, for example, as a stimulus to subscribers.
There are pay to play memory slots which allow authorization to up to, for example, 16, 32, 64 or even 128 different services on a daily basis. The PrP slots define either an arcade mode of service or a rental mode or other modes as will be further descnbed herein. In other words, one or two bits may define the mode. In an arcade mode, the pay to play slot is defined in terrns of playtime and service identifier. In the rental mode, the pay to play slot is defined in ~erms of days of the wee}c and week number. A further bit is used to define a "load phase"
as will be further defined herein.
Other registers in random access memory can be provided for features such as timers, resets and the like. One such timer may be a parental timeout and be associated with a parental password. The parental timeout, for example, may be established by a parent entering their password and setti~ig a time limit on game play, for example, in the form of a game play time limit or, alternatively, a dç~ ine time (such as a child's bedtime). The time of day (TOD) transaction may be regarded as to the current time, and convenient decrement intervals of time set utilizing ticks of clock generator 316 may be ten second intervals.
Decoder 301 is also connerted via the same data bus (all data buses are indicated in bold or thick lines) to superframer (SF) 303 which interprets superframe data, as will be further described herein. The de~o<ler receives the data bit stream from the tuner 202. The decoder 301 awaits frame lock synchronization, extracts subscriber and mpu transactions, decrypts the game data and then forwards the game data on for further processing. As is well understood in the art, game data and authorization and control data may be encrypted in accordance with a proprietary algorithm for storage in game server archive 101 by first, second or more levels of encryption. For example, keys and/or seeds and/or secret serial numbers of game adapter units may be used in succes~ion where the keys and seeds are periodically transmitted in downloadable transactions.
Further, the game data may be p.~;co.l.pr~ssed at the source 100 and decompressed at subscriber location 175 according to well known coI~y~ession algorithms. Deco,l,pr~s~ion may occur anywhere in the chain cornprising elements byte deserializer 301, SRAM packet buffer 310, transfer control module 311 and dynamic ram controller 312 or elsewhere according to design preference.
SUBSTITlJTE SHEET (RULE 26) ~ CA 02206234 1997-05-27 WO 96/17~7S PCI'/US95/~2219 The superframer 303 runs the forward error correction circuitry BCH syndrome generator 307. BCH 307, in turn, communicates with error counter 308. The forward error correction preferably is Bose Chaudhuri Hocquenghen (BCH) or may be of Solomon type or other forward error correction.
Error counter 308 receives an input from Game Header Packet filter (HPF) 306 in the event of a game header packet error. In particular, the game paclcet header is scrutinized to assure that the service identifier and game identifier data are valid for eventual transfer to memory. The four main functions of this filter comprise, then, header parsing, paclcet filtering, game timeout determination and the maintenance of game cycle status.
Meanwhile, the data is provided via superframer 303 to byte deserializer 304 fordeserializing the received data streams. In particular, the deserializer converts incoming serial data streams to parallel for storage in SRAM. As it does so it deinterleaves the incoming data.
The deserialized data is forwarded via a bus to SRAM packet buffer SPB 310 controlled for error correction by BCH 307. The SPB 310 provides temporary storage for packe~s as they are being received and deinterleaved and while the packet data is being loaded into DRAM. The SPB 310 forwards the data to the transfer control module (TCM) 311 which is controlled by the game bus interface (GBI) 313. The TCM 311 forwards the data on to dynamic RAM controller (DRC) 312. The TCM 311 is responsible for transferring data from the SPB 310 to the DRAM
interface, DRC 312. From there, the dynamic ram controller (DRC) 312 provides data by Dram address and data bus 220 to dram's 210, 211.
Meanwhile, when aypro~liate, the game bus interface (GBI) acts as if it were a game cartridge with respect to game player 178 when access to a game is authorized via transaction control unit 302.
The data as it is output from tuner 202 comprises data arriving in dibit symbols as per QPR modulation and may be in any of four possible phases, IQ, -IQ, -I-Q, and Q-I (where I is the in-phase signal and Q is the quadrature signal). The data stream may arrive, for example, at a rate of 3 megasymbols per second, forming a colllpo~ite 6 megabit per second data stream.
Depending on the size of the frames of the superframe, data may be received at a ra~e on the order of 500 to 600 frames per second. In accordance with the present invention, a superframe comprises a pair of frames, each comprising a header and data packets. One of the pair of frames of the superframe may comprise a synchronization frame and the other may be described as a subscriber frame.
SUBSTITIJTE SHEET (RULE 26) WO 96~}74~5 PCTAUS95/12219 The synchronization frame header may include, for example, frame synchronization data and encryption data for decrypting encrypted game and authorization and control data as apl,lu~.liate. The subscriber frame header contains a subscriber control transaction field (SCTF) which is the mec~ni~rn by which the subscriber control commands get sent to the ASIC 200.
The SCTF data is preferably error-plot~ed by forward error correction coding and transmitted as a plurality of data paclcets comprising the SCTF data field. Each SCTF command is in the format shown in Figure 4, where F comprises a filter code (for example, from one to four bits in length) defining the end destination of the transaction; for example, one filter code may represent the game adapter 177 while another may represent the game player 178, and so on.
G represents a global flag to indicate whether the transaction is addressed or global. T
re~lesents the transaction command data including any data operatively associated with the command.
Referring now to Figure 4b, there is shown a service authorization memory table for either free or subscription game service. The memory table comprises a plurality of bit positions which are either in a first state or a second state indicating AU'rH or DEAUTH. For example, some commands for loading a service authorization map will further include data re~u.esenting the data values to be loaded into the map. If there are 128 possible service identifiers (sometimes referred to herein as SID's), a service authorization map (or data to be loaded therein) will contain an authoriza~ion bit Sl to Sn, where n is equal to 128, for each service, the bit being in one state indicating "authorized" and the bit being in its other state ;sellting "not authorized". T o~ling of authorization memory tables 4b for free or subscription service will be further described in connection with the discussion of Figures 6-8 here~n.
Also, individually addressed commands (as opposed to globally flagged corr rr ~n~s) will further include in the data field a unique subscriber address. Preferably, one form of unique address is programmed into each ASIC 200 at the factory. In accordance with well known technologies borrowed from the cable television field, another unique address may be encrypted and downloaded using this unique address as a key to unscramble a subscriber unique address downloaded to the game adapter 177. The terminal may also be designated with a group and/or subgroup address .~p-es~n~ing a common interest area or the like.
Another tr~ncaction useful for the so-called arcade mode of pay to play is the global time of day (TOD) which includes a filter code designating the transaction for eventual receipt by the game player 178 microprocessor. The included data includes, for example, the week number, SlJBSTiTUTE Sl~lEET (RULE Z6) W O9611747S PCT~S9~il2219 the day of the week and the number of elapsed minutes since a certain date such as July 1 1994.
The time of day, for example, is utilized for the parental timeout feature as will be described further herein.
Referring to Figure 5, there is shown one format for game data. The remaining data of the subscriber frame is the actual game data. Preferably the game data for a plurality of games may be interleaved, for example, at, at least, ?:1, preferably 4:1 or even 10:1, to improve forward error correction, for example, of burst errors. Thus, the data for one game must be deinterleaved according to the interleave ratio in order to be recovered.
The present invention includes a method of authorizing and controlling so-called Pay-To-Play (PTP) marketing and distribution of game services over a cable system. To understand the present method and referring to Figures 4c to 4e, the concept of a game service needs to be understood, as it is the underlying basis for marketing and authorizing the game software delivery. A service (pay to play or otherwise) is a game or group of games that is associated with a specific service identifier or SID. For example, there may be 128 service identifiers or SID's; however, any SID may r~ ;sent one game or many games. Each specific game is identified by a game identifier or game ID. There are enough game ID's to uniquely identify thousands or hundreds of thousands of games. The ~csoci~tion between a service ID (SID) and specific game ID's is transmitted in the menu data to a game player 178 essentially "in the clear"
from a security standpoint and is available to the game player miclù~ulucessor controller. On the other hand, the authorization for any particular service for a specific adapter 177 is transmitted by secure tr~ns~ctions directly into secure storage within the adapter ASIC 200.
This authorization information may be read from but not written by the game controller of game player 178. When the microprocessor controller of the game player 178 desires to load a game, it loads both the gamc ID and the service ID (SID) into registers in the adapter ASIC 200 and requests a download operation. If and only if the service ID requested is in the secure authorization table (Figures 4d and 4e) in the adapter ASIC 200 for that adapter 177, does the adapter 177 begin a download operation. An implicit final condition is, of course, that a game must exist in the data stream which includes both the cûrrect game identifier and service identifier.
Moreover, when game data is utilized in the present application, game data is intended to be used in a generic sense. Pay-To-Play is defined as the vending, on an individual or group basis, of game software for either specific play dates ("Rental" mode) or for specific playtime in~ervals ("Arcade" mode). For example, transactions may be individually addressed SUE~CT!TI 'TE C.UCCT~DI '!E ~ ~
WO 96/I7~7S PCT~S9S/12219 or addressed to a group address or globally addressed as is well known in the art of cable subscription television services. In the Rental mode, the subscriber purchases the right to download and play a game (or group of games) via game adapter 177 on an unlimited basis during a specific period of calendar time. The rental period is typically in terms of one or more days. In the Arcade mode, the subscriber purchases the right to download a specific game (or, alternately, a group of games) an unlimited number of times and to use the game(s) for a speeific amount of playtime. The playtime is based on the actual amount of time that the game is played as opposed to clocWcalendar time. The player is not pen~li7ed for stopping and starting the game or switching among games. For example, arcade play in the Arcade mode may be sold in increments of as little as one minute of playtime.
Game data then may refer or incorporate any type of information delivery, for example, software delivery services. In particular, a taxpayer may wish to rent in a rental mode a software tax package for a period of month(s) to prepare their annual tax returns. In an Arcade mode, a subscriber may wish to obtain stock market quotations, sports results and the like for a period of time.
A norrnal operating scenario is as follows: Referring first to Figure 4c, each adapter 177 as well as the entire system is limited, for example, to 32 total PTP services at any time (see services explanation at end of detailed description section). Figure 4c shows a pay to play authorization table with slots SLOT1 to SLOTN where N is equal to 32. Each slot may ~rcseilt authorization data for one of twp modes, the slot data for each mode being shown rely in Figures 4d and 4e. Each service has a unique service identifier (for example, five bits). When the subscriber orders a game, an addressed PrP Authorization transaction is transmitted to the subscriber's adapter 177 from the game delivery service provider. The PTP
Authorization includes the Service ID (for example, one of 128 or 7 bits), a Load Phase (1 bit), the PTP slot ID (for example, one of thirty-two or 5 bits), the Mode ( differentiating either Arcade or Rental mode) bit and either the Rental Active map (for example, 24 bits including week W and day of week DOW) or the Playtime, PT (for example, 16 bits). For example, there may be thirty-two different PTP slots each ~soci~t~d with a particular service. See the Definitions section for an explanation of these and other terrns. The above information is also retained by a Digital Service Control System (DCS) at the local service provider location 150, not shown, (Figure 1) or maintained nationally and periodically retransmitted for redundancy.
The subscriber's adapter 177 receives the PTP Authorization and stores the new data in a PI P table (Figure 4c) if it determines that it is a new purchase in accordance with flowcharts SUBSTITUTE SH EET (RUL~ 26) CA 02206234 1997-0~-27 WO 96/17~'~5 PCT,'U59~i~12219 of Figures 6 to 11 as will be further descnbed herein. The ASIC 200 checks to see if the transaction is properly addressed and uses the PTP slot identifier as a pointer to deterrnine where in the PTP memory table (Figure 4d or 4e) to store the playtime data (arcade or rental), the service identifier and the load phase. The adapter uses the PTP slot identifier to index into the current data in the table. It examines the table data and, if the service identifier for the received ~ransaction is the same as the service identifier in the table slot, it loads the new transaction data if and only if the load phase bit in the matching table entry is different from the received load phase bit. (If the load phase bits are the same, then, the new data is not loaded.) Of course, if the service identifiers are different, then, the new data for the new service overwrites what is in the slot.
When the subscriber views his PTP menu screen on display 178d of their game player 178, it indicates the contents of the PTP table (Figure 4c) stored in game adapter memory. It associates the service identifiers with games in the menu data and displays the authorized pay to play game titles available for downloading as well as the remaining playtime available. For rental mode services, the menu screen indicates a service or game name(s) and the days on which it is available. For arcade mode services, the menu screen indicates the service or game name(s) and the amount of rem~ining playtime.
When the subscriber requests a game download from the PTP menu, the BIOS computer of game player 178 verifies that the requested service is valid for the current day of the week (using the previously described time of day TOD transaction, a global game player microprocessor directed transaction) if the service is Rental mode or that the available playtime is non-zero if the service is Arcade mode. If the condition is met, the adapter executes the game download by requesting the game by service identifier and game identifier (as well as PTP table location). The ASIC 200 of the game adapter 177 receives the request from the BlOS computer of the game player 178, checks the PTP table, if the PTP slot is currently authorized, the ASIC
200 initiates the download. If the requested service is not authorized in any PTP slot (or either authorization map, figure 4b), the game player display 178d indicates that that service is unauthorized. To prevent unlimited play in Rental mode, game play is halted with a reset after every 12-24 hours of continuous play without receiving a time of day (TOD) transaction, forcing the subscriber to initiate a new download, which rechecks the current authorization state. For Arcade mode, if the playtime ever reaches zero, game play is halted with a reset (see Figure 3, elements 315, 350).
SUBSTITUTE SH EET (RULE i!6) WO 96/1~4~5 PCl/US9Stl 22 ~9 Game data packets are identified by headers including game time, ser~ice identifier, game identifier and packet addresses protected by forward error correction coding. In this manner, the game adapter ASIC 200 knows which selected game available of the many games in the incoming signal to accept in the download.
The DCS must nationally or locally manage the current PTP offerings. Although the system is not inherently limited to 32 total services at any given time, it is probably considerably easier to manage if the PTP table in each adapter 177 is structured with the same service n~ifiers SIDs in the same PTP slots. At a minimum, the DC~ must always keep the current P'I P Authorization data long enough to transmit it redundantly for some period of time, keeping in mind that adapters 177 are not likely to be connected to the cable plant 156 on a consistent basis. If a subscriber re~uests a "refresh" authorization of a previous purchase on the basis that their adapter 177 was not connected to the cable 156, the DCS must be capable of recovering the PTP Authorization data for that purchase for retransmission.
For arcade mode purchases, the authorization is effective as soon as the subscriber's adapter 177 receives the PTP Authorization tr~n~e~ion. The Arcade Mode bit must always be set in the PTP Authorization for arcade mode purchases so that the authorization data is intc.~ ted correctly and the purchase is properly displayed in the subscriber's PTP menu.
As a practical matter, if the game lineup for PTP is not completely static, arcade mode PTP purchases may be sold with some nominal time limit (such as two weeks) during which the subscriber must use the playtime, else it is lost. If this limit is to be proactively enforced, the DCS must manage the time limit for each purchase and send an addressed Purge PTP Slot transaction when the PTP period expires. (For example, the addressed Purge PTP Slot transaction may be an addressed PTP authorization with all PTP data fields set to zero.) Alternately, the limit can be passively enforced by limiting sales of a service with respect to when a particular PTP slot is planned to changed services. For example, assume that the arcade mode time limit is two weeks and a particular PTP service is planned to be phased out. Sales of this service would be stopped two weeks prior to the planned change in use of the PTP slot for that service. At the end of the two weeks a global Purge PTP Slot is transmitted to clear out the slot used for the ter~inated service. The global purge PTP Slot transaction may be a global PTP Authorization with all data fields (except slot number) set equal to zero.
If rental mode purchases are implemented, the authorization is valid whenever the current "day" and "week" in the TOD transaction matches any one of the "days" and associated "week"
specified in the Rental Active Map. Since the Rental Active Map only has enough bits, for SUBSTITlJTE SH EET (RULE ~j ~ CA 02206234 1997-OF,-27 WO 96117~75 Pc~/uS95/~22l9 example, two consecutive "weeks", it is really only feasible to allow purchases of up to any seven consecutive days. Any longer period can overlap more than two consecutive week periods. Although preloading PTP rentals in advance of the renta. period is possible, this preload interval should probably be kept to a minimum so that DCS never has to manage a queue of rentals for any slot. Furthermore, DCS (or the billing system) must keep track of the renta'. period and slot ID for each purchase and not allow autho,ization of new purchases of a service associated with that slot until the current rental period expires. The DCS does not have to deauthorize rental mode Pl'P services, this is taken care of by the adapter 177 (see Detailed Adapter Operation section below).
The terrn "day" is applied to the minimum rental period and is actually an arbitrary amount of time. The rental mode supports two consecutive groups of up to eight consecutive rental periods; each group is therefore termed a "week" and only seven of the eight "day" bits are utili~ed. The functional definition of each "day" bit in the Rental Active Map is, in fact, determined by when the corresponding bits are generated in the Day-of-Week field in the Time-of-Day (TOD) transaction. In a realistic implementation, one day is probably a serviceable minimum rental period. As a practical matter, the duration of each "day" bit in the TOD
transaction should somewhat overlap to make sure tha~ a subscriber never experiences a "hole"
in availability. Also, the "user friendly" aspect of cartridge rental can be emulated. For example, a weekend rental would be authorized by setting the "Saturday" and "Sunday" bits in the Rental Active Map and grantin8 approximately 48 hours (maximum) of playtime. However, when the DCS generates the TOD tr~nC~ctions, it would actually set the "Saturday" bit at 7:00 PM on Friday, overlapping the "Friday" bit for five hours and including Friday evening at the "weekend" .
Detailed Adapter Qperation When the adapter game controller ASIC 200 receives a properly addressed PTP
Authorization, it uses the PTP slot ID simply as an index to determine where in the PrP table to access the current data in the table. It eY~min~s the table data and, if the service identifier SID for the received transaction is the same as the SID in the table slot, it loads the new transaction data if and only if the Load Phase bit in the matching table entry is different than the received Load Phase bit. If the received service identifier SID is different than the SID in the table, then the transaction data is always loaded into the PrP table slot. The transmitted Load Phase bits must be maintained by the DCS such that the value of the bit for any given service and adapter does not change except when an actual new purchase is made. Note that this - . SUBSTITUTE SHEET (RlJLE 26) W O96/17~7S PCTrUS95/12219 requires DCS to maintain a history of the current Load Phase bits for all 32 PTP offerings for each and every PTP adapter. This allows the PTP Authorize transaction to be sent multiple times without inadvertently "refreshing" the Playtime.
To start ~l~ downloading, the subscriber goes to the PTP menu displayed on display 178d. The basic input and output system (BIOS) computer of game player 178 reads the PTP
table. It associates the service identifiers (SID) with games in the menu data and displays the authorized PTP game titles available for downloading. For rental mode, this depends upon how the Rental Active Map for each PTP slot matches with the Day-of-Week field in the current TOD transaction. For arcade mode purchases, the BrOS computer of the game player 178 displays the remaining Playtime available for each game. When a game is selected, the BIOS
computer requests a PrP download of the game, using the Service ID and Game ID codes, as well as the PIP table location. The ROM BIOS must insure that it never allows the subscriber to request a Rental PTP service to be downloaded which is not currently authorized. If a download is re~uested prior to the actual authorized rental period the authorization for that PTP
service is permanently lost (see Rental Mode Downloads and Preload Period).
Arcade Mode Downloads When the adapter ASIC 200 receives a request for a PIP download, it checks the data in the re~uested slot in the PI-P table. If the Arcade Mode bit is set in the requested PTP slot, on the condition that (1) the Service IDs match AND (2) the playtime is non-2ero, it authorizes the download by transferring the service identifier SID and Game ID into the actual Header/Packet Filter match registers. It also sets a Game Authorized register that is a required condition for the adapter 177 to enter a Game Play mode.
Whenever the currently loaded game is associated with an Arcade mode PrP slot, each time that the adapter ASIC 200 detects a switch to Game Play mode, the ASIC immediately decrements playtime in that ~I P slot by one unit. This is the minimum playtime used each time the game is restarted, i.e., you pay "up front" when you play. After each subsequent time unit of active play, the playtime is again decre,..e.lted by the ASIC 200. When the playtime decrements to zero, the ASIC asserts RESET to stop game play. Rec~llse, presently. the adapter 177 cannot detect when the game is placed in "pause" mode, the time that a game spends in pause may be counted as active playtime and the playtime counter may be decreme~lted.
Rental Mode r)ownloads SUBSTITUTE SHEET (RULE 26) - CA 02206234 l997-OF7-27 When the adapter ASIC 200 receives a request for a PTP download, it che~ks the data in the requested slot in the PTP ~able. If the Arcade Mode bit is not set in the re~uested PTP
slot, downloading is authorized under the following conditions:
(the Week field in the TOD transaction màtches the PTP slot Week Code and one or more bits in the Day-of-Week field in the current TOD matches one or more bits in the first wee~c field of the Rental Active Map) OR
(the Week field in the TOD transaction matches the PTP slot Week Code + 1 and one or more bits in the Day-of-Week field in the current TOD matches one or more bits in the second week field of the Rental Active Map).
If the above conditions are met, the adap~er ASIC 200 authorizes the download bytransferring the service identifier SID and Game ID into the actual Header/Packet Filter match registers. It also sets a Game Authorized register that is a required condition for the adapter to enter Game Play mode. At this point a timer is started which runs for 12 to 24 hours. If the game is still in play at then end of this timer period and a time of day transaction has not been received, the game play is termin~t~d with a reset. This forces a reload of the game, if the subscriber wishes to continue play, which includes a recheck of the authorization. This is to insure that a subscriber cannot download a game and then play it for considerably longer than the actual rental period.
If the above conditions are not satisfied, then the adapter ASIC resets both the Load Phase bit and the SID for the requested PTP slot to zero. This effectively deauthorizes that PTP
rental. As a normal part of the Download Menu phase of game startup, the ROM BIOS must search through the PTP table for all Rental mode slots which have Week Code fields that are not within the range of the current week and current week plus the Preload Period (typically two or three weeks). When the ROM BIOS detects a PTP slot with a Week Code outside of this range, it requests a PTP download for that slot. The adapter ASIC will determine that the service is no longer authorized and deauthorized that slot. The deauthorization process is extremely fast and does not burden the ROM BIOS with undue delays. Note that during this PTP slot "purge" process the ROM BIOS must never request a download of PTP slots that have valid Week Codes, as this could result in the premature deauthorization of a PTP slot.
DE~INITIONS
PrP Slo~
~ 19-~u~ u, E SHE~T (RULE 26) W Og6/1747S PCrnUS9S/12Z19 The PTP slot specifies an index into in the PTP memory table the adapter 177 uses to store/access thc four bytes of PTP data f~elds. This allows the Game Controller System (GCS) to manage the table rather than placing this burden on the adapter 177.
~ervice ID (SID) The service identifier is a unique identifier for a game or group of games that are being marketed together. The games associated with each SID are defined in the Menu Data. One SID is controlled with each PTP slot or Authorization Map bit. See services explanation at the end of the document for more detail.
Playtime Maximum amount of actual game playing time that is available for the SID in a PrP slot.
The adapter decrements this quantity as the game(s) associated with the SID is played. When the playtime reaches zero, playing is suspended and the game(s) with that SID is not longer downloadable. A very real tradeoff exists between the size of the playtime timer (cost) and the minimum time increments for this timer (utility and subscriber "friendliness"): The granularity of the timer must be fine enough that the time lost by the "pay up front" scenario does not cause undue irritation to the subscriber. However, the timer must be long enough to support re~con~hle arcade mode rental periods. For example, if an eight bit timer is used and the timer granularity is one minute, then the maximum playtime is 255 Illin~ s or 4.25 hours, which seems rather short, and the user loses a minimum of one minute of playtime whenever he starts playing, which scems borderline "unfriendly" as well. The.efo.c a sixteen bit counter is used with a time interval of 10 se~on~ls. This results in a maximum playtime of 182 hours or 7.6 days and a minimum startup "irritation" factor.
Rental Active (RA) MaD
The RA map specifi~s the ''daysl~ on which the adapter 177 is authorized to down load the game(s) ~ocj~t~d with the SID in a PTP slot. It consists of a cyclic Week Code field and an Rental Active field. The Rental Active field is a bit mapped field for which one or more specific its are set co~iesponding to the specific days of the week that the subscriber purchased (the Saturday and Sunday bits for a weekend rental, for example). The length of the Rental Active map is two weeks so that rentals periods can overlap one week boundary. The Week Code is simply a sequence number which identifies the first week in the Rental Active field.
The se~uence number for the second week in the Rental Active field is Week Code + 1. The Week Code is a six bit field and uses a 0-63 sequence which rolls over to zero again after 63.
Load Phase SUBSTITUTE SHEET ~RULE 26) WO 96/17475 PCT/US95~2~9 The load phase is used as a security method to insure that multiple transmissions of the PTP Authorization transaction do not "refresh" the playtime. When a PTP Authorization is retransmitted for redundancy pu~poses, the value of this field is held constant. When a Pl'P
Authonzation is transmitted that contains a new purchase, the value of the load phase is changed.
Preload Period This is the maximum number of weeks into the future that the DCS would ever send out as a valid Week Code. That is, if the preload period is added to the current Week Code, then the result is potentially a valid Week Code in a PTP Authori~ation. The Preload Period is used by ROM BIOS when purging the P~P table of outdated rental mode services. If the Week Code in a (rental mode) PrP slot is within the range of the current Week Code and current Week plus the Preload Period, then it is valid and no action is taken. If it is outside of this range, then a "download" of the service in that slot is re~uested. When the adapter ASIC p~rr~.,ns an authorization check on the PTP slot, it will fail and the slot is deauthonzed. The Preload Period is sent to adapters as part of the ASIC Addressed Adapter Control transaction.
Services The concept of a game 'Iservice'' needs to be understood thoroughly, as it is the underlying basis for marlceting and authorizing the game software. A "service" (PTP or otherwise) is a game or group of games that is associated with a specific Service ID (SID).
There are currently only 127 possible SIDs (SID of zero is reserved), however any SID may ~c~fesent one game or many games. Each specific game is identified by a Game ID. There are enough Game IDs to uniquely identify thousands of games. The association between the service ID's (SID's) and specific Game IDs transmitted in the menu data essentially "in the clear" from a security standpoint and is available to the microprocessor controller basic input/output system (BIOS). On the other hand, the authoriation for any particular service for a specific adapter 177 is tr~n~mitt~d by secure transactions directly into secure storage within the adapter ASIC
200. The authorization inforrnation may be read but not written by the game player controller.
When the mic~u~cessor controller desires to load a game, it loads both the Game ID and the Service ID into registers in the adapter ASIC and re~uests a download operation of the adapter 177. If and only if the SID requested is in the secure authorization map (Figure 4b) or YI'P slot table (Figures 4c to 4e) for that adapter 171, the adapter begins a download operation.
(Additional playtime and rental active conditions apply to PTP download requests.) An implicit SUBSTiTUTES~ieei ~uLE~
A CA 02206234 1997-0~-27 WO 96/17~7S PCTrU59S/12219 final conditions is, of course, that a game must exist in the data stream which has both the correct Game ID and Service ID in the superpacket Superframe Header.
~ame Ada~ter 177 Software Flowcharts Flowcharts for the overall opera~ion of ASIC 200 are described in connection with Figures 6-10. Referring first to Figure 6, there is provided a master flowchart showing the overall sequence of operations. Upon reset, all registers are cleared and an incoming data stream is regarded first for transaction data. If tr~ns~ction data is present, indicated by Y, then the process transactions routine is followed per Figure 7. If the data does not represent a transaction, indicated by N, the program follows to a copy game timeout box. Then, the incoming data is regarded to determine if the data represent a game player microprocessor transaction, if so then, the process mpu transaction routine is operated per Figure 9. Otherwise, the program proce~ds to question whether the timer bit is set, if yes, Y, then, the process timers routine is practiced per Figure 11. The control program then returns to examine the next data.
The process transactions routine is described by Figures 7 to 8 and l0. As described above, t~ansactions contain a global flag which is regarded first (see Figure 4a). If the flag is not set and the address does not match, then the transaction data is ignored.
If the global flag is set and the filter code rn~ehes an expected filter code for game adapter or game player or other device, then the transaction code is regarded. If the filter code indicates the transaction is for the micro via the N path, the time of day (a time of day ~ctinn being ~sumed) is loaded and the routine passes t~ an authorization routine per Figure l0 and return to the process tr~n~rtion~ routine. If the global flag is not set, the tr~n~ction must be addressed and the routine passes control to Figure 8 which shows a routine for processing particularly addressed transactions.
On the other hand, if the transaction is global, then, free time authorization maps are loaded per Figure 4b and control proceeds on to Figure 10 and back. Otherwise, the routine proceeds to thc pay to play tr~n~ction box. If this is a pay to play tr~n~tion, then the slot is regarded, if the slot is different, then the ~n~ tion is loaded into pay to play tables (Figures 4c to 4e). Otherwise, the mpu routine is followed per Figure 9.
Other possible transactions include as per Figure 7 a set address transaction to set a new adapter address, a legal terminal test consistent with legal terminal tests known in the cable television arts, and an adapter 177 timeou~ setting routine.
Figure 7 global? being no, N, leads to Figure 8. Figure 8 relates to processing addressed transactions. Timeout is reset and the subscription service authorization map ~per SUBSTITU I E SHEE T ~~uEe ~
W O96/17~75 PCTrUS9S~12219 Figure 4b) is loaded with new subscriber authoriza~ion data followed by a shift of control to Figure 10 and return to the transaction processing routine. Pay to play proceeds as with a global pay to play to determine whether the slot is the same and if not data from the transaction is loaded into a table per Figure 4c.
Another addressed transaction per Figure 8 is the adapter control transaction which can disable a particular adapter, for example, for non-payment of subscriber bills and the like. The adapter control transaction further may be optionally utilized to change security keys, reset the adapter or reset parental passwords from the control center.
- Figure 9 is arrived at from Figure 6 or Figure 8. Data is written or read into memory for access by the game player microprocessor. The end result of the MPU transaction processing routine is to return to the transactions processing routine, Figure 7.
Figures 7 or 8 lead to Figure 10. The end result of Figure 10 is an authorization or a deauthorized bit setting read from authorization map memory. The vertical path from PTP Yes detçrmines arcade or rental mode, whether playtime is non-zero in arcade mode and, if rental mode (arcade mode No path), the week and day of week, for example, assuming a two week interval. If YI'P? is N for no, then, the subscription service and free service authorization maps are checked to see if a requested service is authorized AUTH or not DEAUTH.
Figure 11 is arrived at from Figure 6 and relates to timer processing for game timeout, arcade/rental mode timeout and parental control timeout. Timers or counters are decremented one count where a time count of one, for example, is e~ual to ten second intervals. When a particular timer is eYh~llcted~ then, the reset program is enabled ending game play.
Thus, there has been described method and apparatus for secure authorization and control of game delivery services wherein a plurality of levels of security may be provided to proprietary game data and for authorization and control data to prevent invasion by service pirates. These levels include, but are not limited to, channel frequency diversity, first and second data interleaving steps, data encryption, decompression and forward error correction.
Moreover, the game adapterlgame player interface is p~ .,d against interception of communication by a pirate be~nce the game player only knows the ~ccoci~tion between service identifier and game identifier and not authorization data which can only be read from, not written to, by the game player. Importantly, the ASIC 200 is secure from pirates while the game player treats the game adapter as if it were a game cartridge and no modification is necessary to game players already commercially available to take advantage of the above-described game delivery service.
SUBSTITUTE SHEE T ~U~E ~i
APPARATUS FOR A GAME DELIVERY SERVICE
Fie1d of the Invention The present invention relates to the field of subscription service systems generally and, more particularly, to the field of ~llthori7~tion and control of game delivery services. More generally, the present invention relates to a system for delivering services to subscribers and, more particularly, to an access control feature for a system for delivering digitally based services to subscribers.
De~s.. ~~,lion of the Related Art Television video game systems such as those available from Atari, Nintendo and Sega, among others, typically include a game player which is connected to a standard television set.
The game player is adapted to receive a removable game cartridge having a video game program stored therein. The game player includes a processor which executes the video game program on the cartridge. Input devices such as joysticks permit a user to play the game. Different games may be played by placing difrcicnt cartridges in the game player. These cartridges are generally either purchased or rented from video stores. There are, however, several disadvantages tO this mode of distribution of television video games. First, game cartridges can be expensive to purchase. This esp~n~ can be prohibitive to parents whose children desire to play the most currently popular video games. In addition, the popularity of many games diminishes over time. Thus, game cartridges must be condnuously purchased in order to include the currently popular games. Renting the garnes from a video store overcomes some of these problems, but the games are subject to availability and may only be rented for short periods of time.
One way to address some of these problems is to deliver video games over cable television systems. The volume of information and number of features being made available to subscribers in such systems are continuously increasing. For example, the advent of optical fiber networks and links to telecommunication networks enables an almost limitless supply of information and features to be provided to subscribers. Already subsc~ ion television systems are being used for text services such as sports scores, stock quotations, weather reports, and news updates. Relatively new fea~ul~s such as home shopping, travel reservations service, home banking, energy management, home security (fire or burglar alarm), video conferencing and other such services are also being provided.
SUI~STITUTE SHEET (RULE 26) CA 02206234 1997-0~-27 WO96117~75 PCT~US9~12219 When such systems arc used to deliver video games, it is desirable that the system operator and/or subscriber be able to control access to the video games. This control is desirable in a number of respects. First, it may be desirable to provide certain games on a premium basis. For example, a system operator may want to provide previews of new or updated game releases or currently popular games for an additional service fee. It may also be desirable to permit a parent to limit a child's access to games to particular times of the day.
SIJI~ARY OF THE INVENl~ON
In accordance with one aspect of the instant invention, a communications system for the delivery of digital data programs to a remote location includes a transmitter for transmitting a signal having the digital data programs and a communications terminal located at the remote location. The communications terminal includes a control circuit including authorizing circuitry responsive to authorization data for authorizing the communications terminal to access an authorized one of the digital data programs in one of a first and a second authorization mode.
In accordance with another aspect of the instant invention, a communications system for thc delivery of digital data programs to a plurality of remote locations inc~udes communications terminals located at the remote locations and a transmitter for transmitting a signal having the digital data programs. The transmitter also transmits first authorization data for authorizing all of the communications terrninals to access a first authorized one of the digital data programs, and second authorization data for authorizing respective ones of the communications terminals to access a second authorized one of the digital data programs.
In acco-dance with yet another aspect of the instant invention, a communications system for the delivery of digit 1 data programs to a remote location includes a control system for transmitting a signal comprising the digital data programs and authorization transactions. The authorization tr~n~ctions include identifier data col-~al,onding to one or more of the digital data programs, load phase data, and memory slot data. A communications terminal is located at the remote location. The commllnit~tion~ terminal includes a memory for storing an authorization table for authorizing the communications terminal to access an authorized one of the digital data programs. The authorization table includes a plurality of memory slots, each memory slot inclu~ing a first field for storing load phase data and a second field for storing identifier data.
A control circuit processes the authorization ~ransactions using the memory slot data to access one of the memory slots of the authorization table, wherein the identifier data is loaded into the corresponding memory slot (1) if identifier data currently stored in the co~-~s~onding memory slot co.-~,syonds to the identifier data in the p.ucessed authorization tr~ns~tion and load phase SUBSllTUTE SHE~T (RULE 26) WO 96/1~47S PCT~US95/12219 data currently stored in the co,l~ onding memory slot differs from the load phase data m the processed authorization transaction or (2) if identifier data currently stored in the corresponding memory slot differs from the identifier data in the processed authoriation transaction.
According to the present invention, the first and second authonzation modes may comprise a rental mode and an arcade mode for game delivery services. The home communications terminal comprises, in the first insr~nce~ a game adapter, and, in the second in.~t~nCe, a game player. Authorization data and game data are transmitted periodically from a transmitter toward the home communications terminal and the home communications terminal only provides limited access to game data by the game player.
The home communications terminal is particularly secure from service pirates. The game data and authorization and control data are transmitted in a secure manner. Authorization data can only be read from the game adapter by the game player and not written into game adapter memory.
These and other features of the present invention will be described more fully in accordance with the appended drawings.
Brief Des~ tion of the Drawin~c Figure l is a block schema~ic diagram of a game delivery system in accordance with the present invention showing a national subscriber authorization computer 104 for authorizing game services to a subscriber equipped with a game adapter 177 in accordance with the present invention and a commercially available game player 178 including a game display;Figure 2 is a detailed schern~tic block diagram of the game adapter 177 of Figure I
according to the present invention including a secure game controller application specific integrated circuit (ASIC) 200 according to the present invention;
Figure 3 is a functional block diagram of the secure game controller ASIC 200 of Figure 2;
Figure 4a is a generalized format for a transaction including a filter code F, a global flag G and a transaction code T, the T data further including any data to be operated upon by the transaction as neçes~;
Figures 4b to 4e describe authorization memories of ASIC 200 of Figure 3; in particular, Figure 4b describes a format for a service authorization memory for subscription or free service, S1 . . . Sn lcprcsellting authorization bits for services identified by service identifiers Sl . . .
Sn; Figure 4c shows a pay to play memory comprising n pay to pay memory slots; Figure 4d shows an exemplary arcade mode memory slot of the pay to play memory of Figure 4c having SUBSTITUTE SHEET (RULE 26) W 096/~4~S PCTrUS95/12219 a mode bit, M, a playtime value, PI', a service identifier, Service ~D, and a load phase bit: and Figure 4e shows a rental mode memory slot having a mode bit, M, a week field, W, a day of week field, DOW, a service identifier, Service ID, and a load phase bit;
Figure S provides an overview of an exemplary format for game packet data preceded by a header, each data packet 0 to n being forward error correction encoded; andFigure 6 provides an overall flowchart for processing incoming authori_ation and control data which calls upon further flowcharts Figures 7-11 as will be further described herein.
Detailed Desc,;,~)l;on Referring to Figure 1, there is provided an overall block schematic diagram of a game delivery system according to the present invention for providing game delivery and play services. A similar block schematic diagram of a digital music and game delivery service is provided by Figure 1 of U.S. patent no. 5,239,540, incorporated herein by reference. Pending U.S. applications serial no. 08/171,4~3, filed December 22, 1993, having one of the present inventors as a co-inventor, and serial no. 09/253,698, filed June 3, 1994, comprising related subject matter, are likewise incorporated herein by reference. Referring to Figure 1 of any of these, there is shown an overall block diagram of a digital music and game delivery service.
In particular, a centralized source of game and digital music material provides game data which is encoded, multiplexed and tr~nsrTlitted via ~tellite to a cable television service provider (or directly to a subscriber's home). At the cable television service provider, the digital music (or games or software) is received, having be~n modulated with other frequency division multiplexed services (television, teleco-..l--unications, games or software or other services) to be received at a digital music tuner device at a subscriber's home.
In accordance with the present invention, the subscriber's home may be provided with a cable television service terminal, a digital music tuner for digital music services, a game adapter 177 according to the present invention, a home computer terminal, a telecommunications terminal and/or other home communications terminal apparatus. For example, none of the telecommunic~tions terminal, the digital music tuner, the cable television service terminal or other such apparatus are shown in Figure 1 of the present application. Nevertheless, it may be assumed, referring briefly to Figure 2, that RF input 201 may be provided in common to any of the three, four (or more) devices. For example, a personal computer terminal,telecommunications terminal or speci~li7~d terminals for burglar alarm. energy management or other services may comprise other devices coupled to RF input 201 in common with game adapter 177.
SUBSTlTUlTE SHEET (RULE 26) ~ CA 02206234 1997-05-27 W O96J17475 PCT~US95/lt219 Particular details of tne multiple~ arrangement for the present invention are describe~ by US patent no. ~,239,540 and its progeny in further Figures 2-8 and their attendant descriptions, incorporated herein as necessary by reference. Suffice it to say that in each instance in which digital audio data, stations or channels or the like are described in each of these, the terminology game data, game channels, game data streams or the like may be suitably replaced therefor, well within the slcill of one of ordinary skill in the art.
Referring again to Figure 1 of the present application, there is shown the location of a national service provider 100 for providing game delivery services to subscribers. The national service provider may provide a national game archive 101 of games available for play. Games are selected from the archive and played via drive 101. Selected games may be retrieved by national game server 101, encrypted prior to storage as a,~,prol)liate according to a proprietary algorithm and stored on compact discs (CD) or tape or cartridge and played by an appropriate plurality of drives comprising at least one high speed drive, such as drive 101. CD ROM drive 102 may be used to update the files, encrypting new game data for storage in the drive 101.
There may be one-or a plurality of such game drives 101 as shown in Figure 2 of US patent no.
5,239,540 for providing a plurality of game data streams simultaneously. The game data may be time division multiplexed together for a plurality of games for transmission over the same channel frequency. The national game server 103 ~ccesses the game data as appropriate and also refers to the national subscriber authorization computer 104 for subscriber authorization data.
The national subscriber authorization computer 104, in turn, has access to a national subscriber ~t~hace 105.
Games typically range in size from 4 to 32 or more megabits of storage capacity and, in accordance with the present invention, may require as long as a minute to download. Of course, the less capacity taken by game data, the faster the delivery and the more satisfied the subscriber will be with the game delivery service. Consequently, game data delivery should be at high data rates on the order of megabits per second, for example, one or more 3 megaHertz bandwidth ch~nn~
The n~rion~l game server system 103 encodes the data for many games and outputs encoded game data and subscriber authorization control data in a format as will be further described herein for delivery via satellite, for example, to a local area. The satellite service provider may be a separate entity from the national game service provider who provides satellite direct-to-home services direct to subscriber location 175. Alternatively, the national service provider may provide the game delivery service to a local service provider such as a cable or SUBSTtTl.JTE SHEET (RULE 26) wo 96117J75 PCT/US9S/12219 telecommunicationS service provider 150. Suitable modifications, not shown, would be incorporated to Figure 1 to show direct satellite to home service, for example, where the home location 175 would further incorporate a satellite dish 131 and decoder (not shown).
Typically, assuming the satellite service provider is associated with the national service provider, the game and control data is provided to quadrature phase shift key (QPSK) modulator 126 for upconversion to an appropriate satellite intermediate frequency via upconverter 127.
Other forrns of modulation may be suitably utilized besides QPSK in other embodiments. For example, for QPSK modulator 126, modulator 126 may provide signals at an intermediate fre~uency of 70 megaHertz to upconverter 128. A suitable high power amplifier (HPA) 128 may be provided at the output of upconverter 127 to maintain a suitable power level to uplink antenna 129 for transmission to satellite 130. Typically, the satellite system may be a typical ku, L- or C-band satellite system available from Scientific-Atlanta, Inc. Satellite 130, in turn, transmits the received signal to a so-called footprint of the earth's domain. Consequently, several ~tellites may be re~uired for a national or world game delivery service. Several s~lt~llites 130 will provide an ap~>ro~;ate plurality of geographically different footprints for a truly world-wide service.
At the location of a local cable television or telecommunications service provider, the game data signals are received at satellite receive antenna 131 and demodulated at QPSK
receiver 132. In an alternative embodiment, game data may be encrypted and transferred to discs for transmission by mail or otherwise than by radio frequency to local service provider 150. There, the local service provider may provide their own disc drive 102 for game delivery services and a digital service control system (DCS) computer (not shown). Demodulated game data is provided to a con~lition~l access insertion card (CAIC) 133 for forwarding via quadrature partial response (QPR) modulators 154a and 154b to cable combiner 155. Again, QPR
modulation, for example, nine state QPR, is suggested as one alternative modulation form.
Other digital data delivery modulation schern~s which may be utilized in the alternative include quadrature amplitude modulation QAM and vestigial sideband VSB. At combiner 155, the garne signals on a first (or more) frequency division multiplexed channel are combined with other service channels such as digital music, cable television, telecommunications, computer software ch~nnel.~ and the like. All of these signals are then transmitted via cable distribution plant 156 to a subscriber location 175. The cable distribution plant 156 may comprise a twisted cable pair (telecommunications), coaxial cable or fiber optic signal distnbution plant or combination thereof known in the art. Typically, the game delivery service signals are frequency division SUBSTITlJTE SHEET(RULE 26) WO 96/t74?5 PCr/US9S/~2219 multiplexed at a selected channel in the 50-150 megahertz range but may, option~ly be provlded anywhere in a 0-2 gigahertz optical fiber cable television spectrum.
At a subscriber location 175, there may be located a game service home adapter 177 for tuning to and receiving the game data channel(s) and demodulating and decoding game data and subscriber authorization and control data. There may be a plurality of game adapters 177 and game players 178 at the subscriber location 175. Gamer players 178 are generally known for receiving therein a game cartridge, disc or other game software media. In particular, a specially suited game cartridge slot is typically provided in the game player 178 for receiving an edge connector or other means of intercomm~l~ic~ting with the game player 178. In accordance with the present invention, the game cartridge is replaced with the game adapter 177 equipped with a suitable connector 177a which is plug-in compatible with game player 178. In this manner, game player apparatus, such as game player 178, already available in large commercial quantity and played by many already throughout the world need not be replaced. Game data received by home game adapter 177 appears to the game player 178 in the same manner as that data received from a game cartridge presently available through commercial outlets in great quantities.
Game player 178 will not be described in great detail. One example of such game apparatus is the so-called Genesis (R) game player system available from Sega Corporation of America. Other similar systems are available from other manufacturers including, but not limited to, Atari and Nintendo. Typically, such a game player has its own microprocessor, random access memory and program memory for storage of initi~li7~tion~ basic input/output services (BIOS), game access programs and the like. The game player 178 may comprise one single housing with built-in display and player input devices. According to Figure 1, a game player 178 may comprise separate components including for example, a main unit 178, a lap input unit 178b, and a display 178d which may comprise a television receiver all connected via a~l~rop,iate cords or wireless connections 178a and 178c. The game player is ~I'tll~t~'d via key, joysticlc or other known controls during initialization and game play modes of operation. A
recent enhancement to such devices is a biofee~b~ck device for placing a player into virtual reality with the game program. The game player BIOS ~cesses game program cartridge sof~ware and plays the game under user control. Different or other suitable arrangements for equipment at subscriber location 175 may come to mind of one of skill in the art, for example, game adapter 177 may communicate with game player 178 or with television 178d by ribbon connector cable, radio frequency cable, optical fiber or wireless means (not shown). Certainly, S U BST1TU TE SH EET (R U LE 2~) W O96/17~75 PCTrUS9S/12219 subscriber location 175 will in ~11 likelihood be provided with multiple televisions 178b and vide~ c~csette recorders, cable television terrninals, personal computers and telecommunications devices in arrangements too numerous to mention and as a~l,.opliate to a particular subscriber's needs. All of these devices may be conne~ted in common to cable distribution plant 156 or alternative distribution plants such as telecommunications cable plants or directly to a downlink satellite antenna feed.
Referring now to Figure 2, there is provided a block schematic diagram of game adapter 177 for connection to a cable plant 156 at a subscriber location 175 in accordance with Figure 1. Game adapter 177 comprises an RF input 201 for receiving a broadband of radio frequencies extending in accordance with present technologies into the range of 1-2 gigahertz in bandwidth.
Tuner/demodulator 202 tunes to one or more of these frequencies, in particular, a channel on which game data is multiplexed and transmitted as QPR modulated data, for example, on a frequency in the FM band (for example, be~ween 80 and 110 megaHertz). Tuner/demodulator 20'2, then, may be a standard QPR tuner demodulator similar in construction to the so-called digital music tuner product described by US patent 5,239,540. Tuner/demodulator 202 under control of game controller ASIC 200 provides demodulated game data streams to an ASIC input data port via a data bus 230 as will be further described herein.
In accordance with the present invention tuner/demodulator 202 is programmable and comprises a known frequency synthesizer integrated circuit. The frequency synthesi~er has a serial interface to load tuning words which in turn load internal registers used to change the tuning frequency. In this manner, ASIC 200, as will be further described herein, can program the tuner to tune to any particular frequency within a range, for example, of 50-150 megaHertz.
Game controller ASIC 200 in turn communicates with a plurality of read/write memories including DRAM, FLASH, SRAM, EEPROM or other memory technologies. Without limitation, such memories may comprise dynamic random access memory arrays 210-1 to 210-i and 211-1 to 211j as shown via dram address and data bus 220, wherein i may be an integer greater than I up to four or more and, likewise, j may be an integer from 1 up to two or four or more.
Most importantly, game controller ASIC 200 filters data (determines if the data is for the game adapter or the game player), interprets transactions and, as a~plopliate, passes transactions on to a processor unit of game player 178 or loads SRAM inside the TCU 302 not shown.
Memories of game adapter 177 will appear to game player 178 as if they were, at least, a game cartndge memory of game program data containing a game to be played.
SUBSTITUTE SHEET tRULE 26) W O96/17~75 PCT~US9~/12219 Game adapter ASIC 200 controls access tO memories ~16, 212 and alternate memory 21~
and terminates in Gbus edge connector 250 which is plug-in adaptable to be received into a game cartridge port of game player 178 as if the connector were a game cartridge.
Referring now to Figure 3, there is shown a detailed functional block diagram of game adapter ASIC 200 of Figure 2. Game controller ASIC 200 is intended as a secure state machine to which access and output is derived through secure data ports. As will be further described herein, the data entering ASIC 200 is preferably encrypted, interleaved, forward error corrected and otherwise unintelligible to a pirate who would seek to ~ain access thereto via bus 230.
Clock generator 316 generates all the clocks needed for operation of the ASIC 200. The clock generator is synchronized to incoming data retrieved from tuner/modulator 202.
ASIC 200 receives demodulated data from tuner module 202 which preferably includes a programmable phase loclc loop tuner including a programmable fre~uency synthesizer as described above. In this manner, the tuner may be programmably tuned to different programmable frequencies within the control on the national game center location 100 or local service provider 150.
Referring to the Gbus (game player bus) 177a at the lower left of Figure 3, the bus 177a par~icularly controls SRAM 216 and BIOS ROM 212, 214 via game bus interface 313.Meanwhile, game bus interface 313 communicates with CRC module 314, microprocessor interface 305, transfer control module 31 1, programmable tuner interface 309, error counter 308 and game header packet filter 306 for various control functions.
The transaction control unit ~TCU) 302 receives transaction data from decoder 301, interprets received transactions and does what is asked of it. The TCU further includes some RAM and ROM, not shown. It further manages the authorization maps and operates the game timers. The various game timers (sometimp~ referred to herein as counters) including parental control, playtime and the like may be, for example, decremented in ten second intervals, as will be further ~iccu~ed in col~ne~lion with Figure 11. The game player mi~-oplucessor communicates with the TCU 302 through the MPI 305. The Transaction Control Unit 302 communicates with the Reset circuitry including module 315 in the event, for example, when playtime expires. Reset module 315 must generate a reset signal sufficient to operate the inherent reset mech~ni~m of game player 178. To the game user, the reset operates the game so as to terminate game play.
The memory maps resident in non-volatile memory and registers are available to the game player microprocessor through the MPl interface 305. The authorization memory maps SUBSTITUTE SH EET (RULE 26) W O96117~7S PCTrUS95/1221g include bit maps, for authorization, for example, for 128 services. There is both a subscriber authorization map for subscriber authorization to pay services and a free map for services offered free of charge. The free map is for the subscription service provider to provide certain free service offerings, for example, as a stimulus to subscribers.
There are pay to play memory slots which allow authorization to up to, for example, 16, 32, 64 or even 128 different services on a daily basis. The PrP slots define either an arcade mode of service or a rental mode or other modes as will be further descnbed herein. In other words, one or two bits may define the mode. In an arcade mode, the pay to play slot is defined in terrns of playtime and service identifier. In the rental mode, the pay to play slot is defined in ~erms of days of the wee}c and week number. A further bit is used to define a "load phase"
as will be further defined herein.
Other registers in random access memory can be provided for features such as timers, resets and the like. One such timer may be a parental timeout and be associated with a parental password. The parental timeout, for example, may be established by a parent entering their password and setti~ig a time limit on game play, for example, in the form of a game play time limit or, alternatively, a dç~ ine time (such as a child's bedtime). The time of day (TOD) transaction may be regarded as to the current time, and convenient decrement intervals of time set utilizing ticks of clock generator 316 may be ten second intervals.
Decoder 301 is also connerted via the same data bus (all data buses are indicated in bold or thick lines) to superframer (SF) 303 which interprets superframe data, as will be further described herein. The de~o<ler receives the data bit stream from the tuner 202. The decoder 301 awaits frame lock synchronization, extracts subscriber and mpu transactions, decrypts the game data and then forwards the game data on for further processing. As is well understood in the art, game data and authorization and control data may be encrypted in accordance with a proprietary algorithm for storage in game server archive 101 by first, second or more levels of encryption. For example, keys and/or seeds and/or secret serial numbers of game adapter units may be used in succes~ion where the keys and seeds are periodically transmitted in downloadable transactions.
Further, the game data may be p.~;co.l.pr~ssed at the source 100 and decompressed at subscriber location 175 according to well known coI~y~ession algorithms. Deco,l,pr~s~ion may occur anywhere in the chain cornprising elements byte deserializer 301, SRAM packet buffer 310, transfer control module 311 and dynamic ram controller 312 or elsewhere according to design preference.
SUBSTITlJTE SHEET (RULE 26) ~ CA 02206234 1997-05-27 WO 96/17~7S PCI'/US95/~2219 The superframer 303 runs the forward error correction circuitry BCH syndrome generator 307. BCH 307, in turn, communicates with error counter 308. The forward error correction preferably is Bose Chaudhuri Hocquenghen (BCH) or may be of Solomon type or other forward error correction.
Error counter 308 receives an input from Game Header Packet filter (HPF) 306 in the event of a game header packet error. In particular, the game paclcet header is scrutinized to assure that the service identifier and game identifier data are valid for eventual transfer to memory. The four main functions of this filter comprise, then, header parsing, paclcet filtering, game timeout determination and the maintenance of game cycle status.
Meanwhile, the data is provided via superframer 303 to byte deserializer 304 fordeserializing the received data streams. In particular, the deserializer converts incoming serial data streams to parallel for storage in SRAM. As it does so it deinterleaves the incoming data.
The deserialized data is forwarded via a bus to SRAM packet buffer SPB 310 controlled for error correction by BCH 307. The SPB 310 provides temporary storage for packe~s as they are being received and deinterleaved and while the packet data is being loaded into DRAM. The SPB 310 forwards the data to the transfer control module (TCM) 311 which is controlled by the game bus interface (GBI) 313. The TCM 311 forwards the data on to dynamic RAM controller (DRC) 312. The TCM 311 is responsible for transferring data from the SPB 310 to the DRAM
interface, DRC 312. From there, the dynamic ram controller (DRC) 312 provides data by Dram address and data bus 220 to dram's 210, 211.
Meanwhile, when aypro~liate, the game bus interface (GBI) acts as if it were a game cartridge with respect to game player 178 when access to a game is authorized via transaction control unit 302.
The data as it is output from tuner 202 comprises data arriving in dibit symbols as per QPR modulation and may be in any of four possible phases, IQ, -IQ, -I-Q, and Q-I (where I is the in-phase signal and Q is the quadrature signal). The data stream may arrive, for example, at a rate of 3 megasymbols per second, forming a colllpo~ite 6 megabit per second data stream.
Depending on the size of the frames of the superframe, data may be received at a ra~e on the order of 500 to 600 frames per second. In accordance with the present invention, a superframe comprises a pair of frames, each comprising a header and data packets. One of the pair of frames of the superframe may comprise a synchronization frame and the other may be described as a subscriber frame.
SUBSTITIJTE SHEET (RULE 26) WO 96~}74~5 PCTAUS95/12219 The synchronization frame header may include, for example, frame synchronization data and encryption data for decrypting encrypted game and authorization and control data as apl,lu~.liate. The subscriber frame header contains a subscriber control transaction field (SCTF) which is the mec~ni~rn by which the subscriber control commands get sent to the ASIC 200.
The SCTF data is preferably error-plot~ed by forward error correction coding and transmitted as a plurality of data paclcets comprising the SCTF data field. Each SCTF command is in the format shown in Figure 4, where F comprises a filter code (for example, from one to four bits in length) defining the end destination of the transaction; for example, one filter code may represent the game adapter 177 while another may represent the game player 178, and so on.
G represents a global flag to indicate whether the transaction is addressed or global. T
re~lesents the transaction command data including any data operatively associated with the command.
Referring now to Figure 4b, there is shown a service authorization memory table for either free or subscription game service. The memory table comprises a plurality of bit positions which are either in a first state or a second state indicating AU'rH or DEAUTH. For example, some commands for loading a service authorization map will further include data re~u.esenting the data values to be loaded into the map. If there are 128 possible service identifiers (sometimes referred to herein as SID's), a service authorization map (or data to be loaded therein) will contain an authoriza~ion bit Sl to Sn, where n is equal to 128, for each service, the bit being in one state indicating "authorized" and the bit being in its other state ;sellting "not authorized". T o~ling of authorization memory tables 4b for free or subscription service will be further described in connection with the discussion of Figures 6-8 here~n.
Also, individually addressed commands (as opposed to globally flagged corr rr ~n~s) will further include in the data field a unique subscriber address. Preferably, one form of unique address is programmed into each ASIC 200 at the factory. In accordance with well known technologies borrowed from the cable television field, another unique address may be encrypted and downloaded using this unique address as a key to unscramble a subscriber unique address downloaded to the game adapter 177. The terminal may also be designated with a group and/or subgroup address .~p-es~n~ing a common interest area or the like.
Another tr~ncaction useful for the so-called arcade mode of pay to play is the global time of day (TOD) which includes a filter code designating the transaction for eventual receipt by the game player 178 microprocessor. The included data includes, for example, the week number, SlJBSTiTUTE Sl~lEET (RULE Z6) W O9611747S PCT~S9~il2219 the day of the week and the number of elapsed minutes since a certain date such as July 1 1994.
The time of day, for example, is utilized for the parental timeout feature as will be described further herein.
Referring to Figure 5, there is shown one format for game data. The remaining data of the subscriber frame is the actual game data. Preferably the game data for a plurality of games may be interleaved, for example, at, at least, ?:1, preferably 4:1 or even 10:1, to improve forward error correction, for example, of burst errors. Thus, the data for one game must be deinterleaved according to the interleave ratio in order to be recovered.
The present invention includes a method of authorizing and controlling so-called Pay-To-Play (PTP) marketing and distribution of game services over a cable system. To understand the present method and referring to Figures 4c to 4e, the concept of a game service needs to be understood, as it is the underlying basis for marketing and authorizing the game software delivery. A service (pay to play or otherwise) is a game or group of games that is associated with a specific service identifier or SID. For example, there may be 128 service identifiers or SID's; however, any SID may r~ ;sent one game or many games. Each specific game is identified by a game identifier or game ID. There are enough game ID's to uniquely identify thousands or hundreds of thousands of games. The ~csoci~tion between a service ID (SID) and specific game ID's is transmitted in the menu data to a game player 178 essentially "in the clear"
from a security standpoint and is available to the game player miclù~ulucessor controller. On the other hand, the authorization for any particular service for a specific adapter 177 is transmitted by secure tr~ns~ctions directly into secure storage within the adapter ASIC 200.
This authorization information may be read from but not written by the game controller of game player 178. When the microprocessor controller of the game player 178 desires to load a game, it loads both the gamc ID and the service ID (SID) into registers in the adapter ASIC 200 and requests a download operation. If and only if the service ID requested is in the secure authorization table (Figures 4d and 4e) in the adapter ASIC 200 for that adapter 177, does the adapter 177 begin a download operation. An implicit final condition is, of course, that a game must exist in the data stream which includes both the cûrrect game identifier and service identifier.
Moreover, when game data is utilized in the present application, game data is intended to be used in a generic sense. Pay-To-Play is defined as the vending, on an individual or group basis, of game software for either specific play dates ("Rental" mode) or for specific playtime in~ervals ("Arcade" mode). For example, transactions may be individually addressed SUE~CT!TI 'TE C.UCCT~DI '!E ~ ~
WO 96/I7~7S PCT~S9S/12219 or addressed to a group address or globally addressed as is well known in the art of cable subscription television services. In the Rental mode, the subscriber purchases the right to download and play a game (or group of games) via game adapter 177 on an unlimited basis during a specific period of calendar time. The rental period is typically in terms of one or more days. In the Arcade mode, the subscriber purchases the right to download a specific game (or, alternately, a group of games) an unlimited number of times and to use the game(s) for a speeific amount of playtime. The playtime is based on the actual amount of time that the game is played as opposed to clocWcalendar time. The player is not pen~li7ed for stopping and starting the game or switching among games. For example, arcade play in the Arcade mode may be sold in increments of as little as one minute of playtime.
Game data then may refer or incorporate any type of information delivery, for example, software delivery services. In particular, a taxpayer may wish to rent in a rental mode a software tax package for a period of month(s) to prepare their annual tax returns. In an Arcade mode, a subscriber may wish to obtain stock market quotations, sports results and the like for a period of time.
A norrnal operating scenario is as follows: Referring first to Figure 4c, each adapter 177 as well as the entire system is limited, for example, to 32 total PTP services at any time (see services explanation at end of detailed description section). Figure 4c shows a pay to play authorization table with slots SLOT1 to SLOTN where N is equal to 32. Each slot may ~rcseilt authorization data for one of twp modes, the slot data for each mode being shown rely in Figures 4d and 4e. Each service has a unique service identifier (for example, five bits). When the subscriber orders a game, an addressed PrP Authorization transaction is transmitted to the subscriber's adapter 177 from the game delivery service provider. The PTP
Authorization includes the Service ID (for example, one of 128 or 7 bits), a Load Phase (1 bit), the PTP slot ID (for example, one of thirty-two or 5 bits), the Mode ( differentiating either Arcade or Rental mode) bit and either the Rental Active map (for example, 24 bits including week W and day of week DOW) or the Playtime, PT (for example, 16 bits). For example, there may be thirty-two different PTP slots each ~soci~t~d with a particular service. See the Definitions section for an explanation of these and other terrns. The above information is also retained by a Digital Service Control System (DCS) at the local service provider location 150, not shown, (Figure 1) or maintained nationally and periodically retransmitted for redundancy.
The subscriber's adapter 177 receives the PTP Authorization and stores the new data in a PI P table (Figure 4c) if it determines that it is a new purchase in accordance with flowcharts SUBSTITUTE SH EET (RUL~ 26) CA 02206234 1997-0~-27 WO 96/17~'~5 PCT,'U59~i~12219 of Figures 6 to 11 as will be further descnbed herein. The ASIC 200 checks to see if the transaction is properly addressed and uses the PTP slot identifier as a pointer to deterrnine where in the PTP memory table (Figure 4d or 4e) to store the playtime data (arcade or rental), the service identifier and the load phase. The adapter uses the PTP slot identifier to index into the current data in the table. It examines the table data and, if the service identifier for the received ~ransaction is the same as the service identifier in the table slot, it loads the new transaction data if and only if the load phase bit in the matching table entry is different from the received load phase bit. (If the load phase bits are the same, then, the new data is not loaded.) Of course, if the service identifiers are different, then, the new data for the new service overwrites what is in the slot.
When the subscriber views his PTP menu screen on display 178d of their game player 178, it indicates the contents of the PTP table (Figure 4c) stored in game adapter memory. It associates the service identifiers with games in the menu data and displays the authorized pay to play game titles available for downloading as well as the remaining playtime available. For rental mode services, the menu screen indicates a service or game name(s) and the days on which it is available. For arcade mode services, the menu screen indicates the service or game name(s) and the amount of rem~ining playtime.
When the subscriber requests a game download from the PTP menu, the BIOS computer of game player 178 verifies that the requested service is valid for the current day of the week (using the previously described time of day TOD transaction, a global game player microprocessor directed transaction) if the service is Rental mode or that the available playtime is non-zero if the service is Arcade mode. If the condition is met, the adapter executes the game download by requesting the game by service identifier and game identifier (as well as PTP table location). The ASIC 200 of the game adapter 177 receives the request from the BlOS computer of the game player 178, checks the PTP table, if the PTP slot is currently authorized, the ASIC
200 initiates the download. If the requested service is not authorized in any PTP slot (or either authorization map, figure 4b), the game player display 178d indicates that that service is unauthorized. To prevent unlimited play in Rental mode, game play is halted with a reset after every 12-24 hours of continuous play without receiving a time of day (TOD) transaction, forcing the subscriber to initiate a new download, which rechecks the current authorization state. For Arcade mode, if the playtime ever reaches zero, game play is halted with a reset (see Figure 3, elements 315, 350).
SUBSTITUTE SH EET (RULE i!6) WO 96/1~4~5 PCl/US9Stl 22 ~9 Game data packets are identified by headers including game time, ser~ice identifier, game identifier and packet addresses protected by forward error correction coding. In this manner, the game adapter ASIC 200 knows which selected game available of the many games in the incoming signal to accept in the download.
The DCS must nationally or locally manage the current PTP offerings. Although the system is not inherently limited to 32 total services at any given time, it is probably considerably easier to manage if the PTP table in each adapter 177 is structured with the same service n~ifiers SIDs in the same PTP slots. At a minimum, the DC~ must always keep the current P'I P Authorization data long enough to transmit it redundantly for some period of time, keeping in mind that adapters 177 are not likely to be connected to the cable plant 156 on a consistent basis. If a subscriber re~uests a "refresh" authorization of a previous purchase on the basis that their adapter 177 was not connected to the cable 156, the DCS must be capable of recovering the PTP Authorization data for that purchase for retransmission.
For arcade mode purchases, the authorization is effective as soon as the subscriber's adapter 177 receives the PTP Authorization tr~n~e~ion. The Arcade Mode bit must always be set in the PTP Authorization for arcade mode purchases so that the authorization data is intc.~ ted correctly and the purchase is properly displayed in the subscriber's PTP menu.
As a practical matter, if the game lineup for PTP is not completely static, arcade mode PTP purchases may be sold with some nominal time limit (such as two weeks) during which the subscriber must use the playtime, else it is lost. If this limit is to be proactively enforced, the DCS must manage the time limit for each purchase and send an addressed Purge PTP Slot transaction when the PTP period expires. (For example, the addressed Purge PTP Slot transaction may be an addressed PTP authorization with all PTP data fields set to zero.) Alternately, the limit can be passively enforced by limiting sales of a service with respect to when a particular PTP slot is planned to changed services. For example, assume that the arcade mode time limit is two weeks and a particular PTP service is planned to be phased out. Sales of this service would be stopped two weeks prior to the planned change in use of the PTP slot for that service. At the end of the two weeks a global Purge PTP Slot is transmitted to clear out the slot used for the ter~inated service. The global purge PTP Slot transaction may be a global PTP Authorization with all data fields (except slot number) set equal to zero.
If rental mode purchases are implemented, the authorization is valid whenever the current "day" and "week" in the TOD transaction matches any one of the "days" and associated "week"
specified in the Rental Active Map. Since the Rental Active Map only has enough bits, for SUBSTITlJTE SH EET (RULE ~j ~ CA 02206234 1997-OF,-27 WO 96117~75 Pc~/uS95/~22l9 example, two consecutive "weeks", it is really only feasible to allow purchases of up to any seven consecutive days. Any longer period can overlap more than two consecutive week periods. Although preloading PTP rentals in advance of the renta. period is possible, this preload interval should probably be kept to a minimum so that DCS never has to manage a queue of rentals for any slot. Furthermore, DCS (or the billing system) must keep track of the renta'. period and slot ID for each purchase and not allow autho,ization of new purchases of a service associated with that slot until the current rental period expires. The DCS does not have to deauthorize rental mode Pl'P services, this is taken care of by the adapter 177 (see Detailed Adapter Operation section below).
The terrn "day" is applied to the minimum rental period and is actually an arbitrary amount of time. The rental mode supports two consecutive groups of up to eight consecutive rental periods; each group is therefore termed a "week" and only seven of the eight "day" bits are utili~ed. The functional definition of each "day" bit in the Rental Active Map is, in fact, determined by when the corresponding bits are generated in the Day-of-Week field in the Time-of-Day (TOD) transaction. In a realistic implementation, one day is probably a serviceable minimum rental period. As a practical matter, the duration of each "day" bit in the TOD
transaction should somewhat overlap to make sure tha~ a subscriber never experiences a "hole"
in availability. Also, the "user friendly" aspect of cartridge rental can be emulated. For example, a weekend rental would be authorized by setting the "Saturday" and "Sunday" bits in the Rental Active Map and grantin8 approximately 48 hours (maximum) of playtime. However, when the DCS generates the TOD tr~nC~ctions, it would actually set the "Saturday" bit at 7:00 PM on Friday, overlapping the "Friday" bit for five hours and including Friday evening at the "weekend" .
Detailed Adapter Qperation When the adapter game controller ASIC 200 receives a properly addressed PTP
Authorization, it uses the PTP slot ID simply as an index to determine where in the PrP table to access the current data in the table. It eY~min~s the table data and, if the service identifier SID for the received transaction is the same as the SID in the table slot, it loads the new transaction data if and only if the Load Phase bit in the matching table entry is different than the received Load Phase bit. If the received service identifier SID is different than the SID in the table, then the transaction data is always loaded into the PrP table slot. The transmitted Load Phase bits must be maintained by the DCS such that the value of the bit for any given service and adapter does not change except when an actual new purchase is made. Note that this - . SUBSTITUTE SHEET (RlJLE 26) W O96/17~7S PCTrUS95/12219 requires DCS to maintain a history of the current Load Phase bits for all 32 PTP offerings for each and every PTP adapter. This allows the PTP Authorize transaction to be sent multiple times without inadvertently "refreshing" the Playtime.
To start ~l~ downloading, the subscriber goes to the PTP menu displayed on display 178d. The basic input and output system (BIOS) computer of game player 178 reads the PTP
table. It associates the service identifiers (SID) with games in the menu data and displays the authorized PTP game titles available for downloading. For rental mode, this depends upon how the Rental Active Map for each PTP slot matches with the Day-of-Week field in the current TOD transaction. For arcade mode purchases, the BrOS computer of the game player 178 displays the remaining Playtime available for each game. When a game is selected, the BIOS
computer requests a PrP download of the game, using the Service ID and Game ID codes, as well as the PIP table location. The ROM BIOS must insure that it never allows the subscriber to request a Rental PTP service to be downloaded which is not currently authorized. If a download is re~uested prior to the actual authorized rental period the authorization for that PTP
service is permanently lost (see Rental Mode Downloads and Preload Period).
Arcade Mode Downloads When the adapter ASIC 200 receives a request for a PIP download, it checks the data in the re~uested slot in the PI-P table. If the Arcade Mode bit is set in the requested PTP slot, on the condition that (1) the Service IDs match AND (2) the playtime is non-2ero, it authorizes the download by transferring the service identifier SID and Game ID into the actual Header/Packet Filter match registers. It also sets a Game Authorized register that is a required condition for the adapter 177 to enter a Game Play mode.
Whenever the currently loaded game is associated with an Arcade mode PrP slot, each time that the adapter ASIC 200 detects a switch to Game Play mode, the ASIC immediately decrements playtime in that ~I P slot by one unit. This is the minimum playtime used each time the game is restarted, i.e., you pay "up front" when you play. After each subsequent time unit of active play, the playtime is again decre,..e.lted by the ASIC 200. When the playtime decrements to zero, the ASIC asserts RESET to stop game play. Rec~llse, presently. the adapter 177 cannot detect when the game is placed in "pause" mode, the time that a game spends in pause may be counted as active playtime and the playtime counter may be decreme~lted.
Rental Mode r)ownloads SUBSTITUTE SHEET (RULE 26) - CA 02206234 l997-OF7-27 When the adapter ASIC 200 receives a request for a PTP download, it che~ks the data in the requested slot in the PTP ~able. If the Arcade Mode bit is not set in the re~uested PTP
slot, downloading is authorized under the following conditions:
(the Week field in the TOD transaction màtches the PTP slot Week Code and one or more bits in the Day-of-Week field in the current TOD matches one or more bits in the first wee~c field of the Rental Active Map) OR
(the Week field in the TOD transaction matches the PTP slot Week Code + 1 and one or more bits in the Day-of-Week field in the current TOD matches one or more bits in the second week field of the Rental Active Map).
If the above conditions are met, the adap~er ASIC 200 authorizes the download bytransferring the service identifier SID and Game ID into the actual Header/Packet Filter match registers. It also sets a Game Authorized register that is a required condition for the adapter to enter Game Play mode. At this point a timer is started which runs for 12 to 24 hours. If the game is still in play at then end of this timer period and a time of day transaction has not been received, the game play is termin~t~d with a reset. This forces a reload of the game, if the subscriber wishes to continue play, which includes a recheck of the authorization. This is to insure that a subscriber cannot download a game and then play it for considerably longer than the actual rental period.
If the above conditions are not satisfied, then the adapter ASIC resets both the Load Phase bit and the SID for the requested PTP slot to zero. This effectively deauthorizes that PTP
rental. As a normal part of the Download Menu phase of game startup, the ROM BIOS must search through the PTP table for all Rental mode slots which have Week Code fields that are not within the range of the current week and current week plus the Preload Period (typically two or three weeks). When the ROM BIOS detects a PTP slot with a Week Code outside of this range, it requests a PTP download for that slot. The adapter ASIC will determine that the service is no longer authorized and deauthorized that slot. The deauthorization process is extremely fast and does not burden the ROM BIOS with undue delays. Note that during this PTP slot "purge" process the ROM BIOS must never request a download of PTP slots that have valid Week Codes, as this could result in the premature deauthorization of a PTP slot.
DE~INITIONS
PrP Slo~
~ 19-~u~ u, E SHE~T (RULE 26) W Og6/1747S PCrnUS9S/12Z19 The PTP slot specifies an index into in the PTP memory table the adapter 177 uses to store/access thc four bytes of PTP data f~elds. This allows the Game Controller System (GCS) to manage the table rather than placing this burden on the adapter 177.
~ervice ID (SID) The service identifier is a unique identifier for a game or group of games that are being marketed together. The games associated with each SID are defined in the Menu Data. One SID is controlled with each PTP slot or Authorization Map bit. See services explanation at the end of the document for more detail.
Playtime Maximum amount of actual game playing time that is available for the SID in a PrP slot.
The adapter decrements this quantity as the game(s) associated with the SID is played. When the playtime reaches zero, playing is suspended and the game(s) with that SID is not longer downloadable. A very real tradeoff exists between the size of the playtime timer (cost) and the minimum time increments for this timer (utility and subscriber "friendliness"): The granularity of the timer must be fine enough that the time lost by the "pay up front" scenario does not cause undue irritation to the subscriber. However, the timer must be long enough to support re~con~hle arcade mode rental periods. For example, if an eight bit timer is used and the timer granularity is one minute, then the maximum playtime is 255 Illin~ s or 4.25 hours, which seems rather short, and the user loses a minimum of one minute of playtime whenever he starts playing, which scems borderline "unfriendly" as well. The.efo.c a sixteen bit counter is used with a time interval of 10 se~on~ls. This results in a maximum playtime of 182 hours or 7.6 days and a minimum startup "irritation" factor.
Rental Active (RA) MaD
The RA map specifi~s the ''daysl~ on which the adapter 177 is authorized to down load the game(s) ~ocj~t~d with the SID in a PTP slot. It consists of a cyclic Week Code field and an Rental Active field. The Rental Active field is a bit mapped field for which one or more specific its are set co~iesponding to the specific days of the week that the subscriber purchased (the Saturday and Sunday bits for a weekend rental, for example). The length of the Rental Active map is two weeks so that rentals periods can overlap one week boundary. The Week Code is simply a sequence number which identifies the first week in the Rental Active field.
The se~uence number for the second week in the Rental Active field is Week Code + 1. The Week Code is a six bit field and uses a 0-63 sequence which rolls over to zero again after 63.
Load Phase SUBSTITUTE SHEET ~RULE 26) WO 96/17475 PCT/US95~2~9 The load phase is used as a security method to insure that multiple transmissions of the PTP Authorization transaction do not "refresh" the playtime. When a PTP Authorization is retransmitted for redundancy pu~poses, the value of this field is held constant. When a Pl'P
Authonzation is transmitted that contains a new purchase, the value of the load phase is changed.
Preload Period This is the maximum number of weeks into the future that the DCS would ever send out as a valid Week Code. That is, if the preload period is added to the current Week Code, then the result is potentially a valid Week Code in a PTP Authori~ation. The Preload Period is used by ROM BIOS when purging the P~P table of outdated rental mode services. If the Week Code in a (rental mode) PrP slot is within the range of the current Week Code and current Week plus the Preload Period, then it is valid and no action is taken. If it is outside of this range, then a "download" of the service in that slot is re~uested. When the adapter ASIC p~rr~.,ns an authorization check on the PTP slot, it will fail and the slot is deauthonzed. The Preload Period is sent to adapters as part of the ASIC Addressed Adapter Control transaction.
Services The concept of a game 'Iservice'' needs to be understood thoroughly, as it is the underlying basis for marlceting and authorizing the game software. A "service" (PTP or otherwise) is a game or group of games that is associated with a specific Service ID (SID).
There are currently only 127 possible SIDs (SID of zero is reserved), however any SID may ~c~fesent one game or many games. Each specific game is identified by a Game ID. There are enough Game IDs to uniquely identify thousands of games. The association between the service ID's (SID's) and specific Game IDs transmitted in the menu data essentially "in the clear" from a security standpoint and is available to the microprocessor controller basic input/output system (BIOS). On the other hand, the authoriation for any particular service for a specific adapter 177 is tr~n~mitt~d by secure transactions directly into secure storage within the adapter ASIC
200. The authorization inforrnation may be read but not written by the game player controller.
When the mic~u~cessor controller desires to load a game, it loads both the Game ID and the Service ID into registers in the adapter ASIC and re~uests a download operation of the adapter 177. If and only if the SID requested is in the secure authorization map (Figure 4b) or YI'P slot table (Figures 4c to 4e) for that adapter 171, the adapter begins a download operation.
(Additional playtime and rental active conditions apply to PTP download requests.) An implicit SUBSTiTUTES~ieei ~uLE~
A CA 02206234 1997-0~-27 WO 96/17~7S PCTrU59S/12219 final conditions is, of course, that a game must exist in the data stream which has both the correct Game ID and Service ID in the superpacket Superframe Header.
~ame Ada~ter 177 Software Flowcharts Flowcharts for the overall opera~ion of ASIC 200 are described in connection with Figures 6-10. Referring first to Figure 6, there is provided a master flowchart showing the overall sequence of operations. Upon reset, all registers are cleared and an incoming data stream is regarded first for transaction data. If tr~ns~ction data is present, indicated by Y, then the process transactions routine is followed per Figure 7. If the data does not represent a transaction, indicated by N, the program follows to a copy game timeout box. Then, the incoming data is regarded to determine if the data represent a game player microprocessor transaction, if so then, the process mpu transaction routine is operated per Figure 9. Otherwise, the program proce~ds to question whether the timer bit is set, if yes, Y, then, the process timers routine is practiced per Figure 11. The control program then returns to examine the next data.
The process transactions routine is described by Figures 7 to 8 and l0. As described above, t~ansactions contain a global flag which is regarded first (see Figure 4a). If the flag is not set and the address does not match, then the transaction data is ignored.
If the global flag is set and the filter code rn~ehes an expected filter code for game adapter or game player or other device, then the transaction code is regarded. If the filter code indicates the transaction is for the micro via the N path, the time of day (a time of day ~ctinn being ~sumed) is loaded and the routine passes t~ an authorization routine per Figure l0 and return to the process tr~n~rtion~ routine. If the global flag is not set, the tr~n~ction must be addressed and the routine passes control to Figure 8 which shows a routine for processing particularly addressed transactions.
On the other hand, if the transaction is global, then, free time authorization maps are loaded per Figure 4b and control proceeds on to Figure 10 and back. Otherwise, the routine proceeds to thc pay to play tr~n~ction box. If this is a pay to play tr~n~tion, then the slot is regarded, if the slot is different, then the ~n~ tion is loaded into pay to play tables (Figures 4c to 4e). Otherwise, the mpu routine is followed per Figure 9.
Other possible transactions include as per Figure 7 a set address transaction to set a new adapter address, a legal terminal test consistent with legal terminal tests known in the cable television arts, and an adapter 177 timeou~ setting routine.
Figure 7 global? being no, N, leads to Figure 8. Figure 8 relates to processing addressed transactions. Timeout is reset and the subscription service authorization map ~per SUBSTITU I E SHEE T ~~uEe ~
W O96/17~75 PCTrUS9S~12219 Figure 4b) is loaded with new subscriber authoriza~ion data followed by a shift of control to Figure 10 and return to the transaction processing routine. Pay to play proceeds as with a global pay to play to determine whether the slot is the same and if not data from the transaction is loaded into a table per Figure 4c.
Another addressed transaction per Figure 8 is the adapter control transaction which can disable a particular adapter, for example, for non-payment of subscriber bills and the like. The adapter control transaction further may be optionally utilized to change security keys, reset the adapter or reset parental passwords from the control center.
- Figure 9 is arrived at from Figure 6 or Figure 8. Data is written or read into memory for access by the game player microprocessor. The end result of the MPU transaction processing routine is to return to the transactions processing routine, Figure 7.
Figures 7 or 8 lead to Figure 10. The end result of Figure 10 is an authorization or a deauthorized bit setting read from authorization map memory. The vertical path from PTP Yes detçrmines arcade or rental mode, whether playtime is non-zero in arcade mode and, if rental mode (arcade mode No path), the week and day of week, for example, assuming a two week interval. If YI'P? is N for no, then, the subscription service and free service authorization maps are checked to see if a requested service is authorized AUTH or not DEAUTH.
Figure 11 is arrived at from Figure 6 and relates to timer processing for game timeout, arcade/rental mode timeout and parental control timeout. Timers or counters are decremented one count where a time count of one, for example, is e~ual to ten second intervals. When a particular timer is eYh~llcted~ then, the reset program is enabled ending game play.
Thus, there has been described method and apparatus for secure authorization and control of game delivery services wherein a plurality of levels of security may be provided to proprietary game data and for authorization and control data to prevent invasion by service pirates. These levels include, but are not limited to, channel frequency diversity, first and second data interleaving steps, data encryption, decompression and forward error correction.
Moreover, the game adapterlgame player interface is p~ .,d against interception of communication by a pirate be~nce the game player only knows the ~ccoci~tion between service identifier and game identifier and not authorization data which can only be read from, not written to, by the game player. Importantly, the ASIC 200 is secure from pirates while the game player treats the game adapter as if it were a game cartridge and no modification is necessary to game players already commercially available to take advantage of the above-described game delivery service.
SUBSTITUTE SHEE T ~U~E ~i
Claims (40)
1. A communications system for the delivery of digital data programs to a remotelocation, said system comprising:
a transmitter for transmitting a signal comprising said digital data programs;
a communications terminal located at said remote location and having a control circuit responsive to authorization data for authorizing said communications terminal to access an authorized one of the digital data programs in one of a first and a second authorization mode, said first authorization mode for authorizing said communication terminal to access authorized digital data programs on an unlimited basis during a predetermined calendar time period regardless of program access time and said second authorization mode for authorizing said communication terminal to access authorized digital data programs for a predetermined program access time period regardless of calendar time.
a transmitter for transmitting a signal comprising said digital data programs;
a communications terminal located at said remote location and having a control circuit responsive to authorization data for authorizing said communications terminal to access an authorized one of the digital data programs in one of a first and a second authorization mode, said first authorization mode for authorizing said communication terminal to access authorized digital data programs on an unlimited basis during a predetermined calendar time period regardless of program access time and said second authorization mode for authorizing said communication terminal to access authorized digital data programs for a predetermined program access time period regardless of calendar time.
2. The communications system of claim 1, the communications terminal comprising a calendar time clock for recording calendar time wherein during the first authorization mode, authorization ceases when the calendar date and time compare with a predetermined authorized calendar date and time.
3. The communications system of claim 1, the communications terminal comprising a program access timer which records cumulative time of access to program data wherein during the second authorization mode, authorization ceases when the program access time accumulated in said program access timer exceeds a predetermined authorized program access time.
4. The communications system according to claim 1, wherein said authorized digital data programs are different from one another and said control circuit further includes a program access counter for setting the predetermined access time period, wherein said counter is decremented when said communication terminal accesses the different authorized digital data programs and authorization ceases when said counter reaches zero.
5. The communications system according to claim 2 wherein authorization ceases and access to program data is denied during access to particular game data when the clock records the predetermined authorized calendar date and time.
6. The communications system according to claim 1, wherein said first authorization mode authorizes said communication terminal to access a first one of the digital data programs on an unlimited basis during a predetermined calendar time period and said second authorization mode authorizes said communication terminal to access a second authorized one of the digital data programs for a predetermined program access time period.
7. The communications system according to claim 6, wherein said communications terminal further comprises:
a display for displaying the predetermined calendar time period for the first authorized one of the digital data programs and for displaying the amount of program access time remaining for the second authorized one of the digital data programs.
a display for displaying the predetermined calendar time period for the first authorized one of the digital data programs and for displaying the amount of program access time remaining for the second authorized one of the digital data programs.
8. The communications system according to claim 1, wherein the authorization data is transmitted with the signal.
9. The communications system according to claim 8, wherein the authorization data includes data for setting said first or said second authorization mode.
10. The communications system according to claim 1, wherein the digital data programs comprise video game programs.
11. The communications system according to claim 1, wherein the digital data programs comprise software programs.
12. A communications system for the delivery of digital data programs to a remote location, said system comprising: a transmitter for transmitting a signal comprising said digital data programs and a communications terminal located at said remote location wherein said digital data programs are arranged in services, wherein each service comprises one or more digital data programs, and said communications terminal comprises a control circuit responsive to service authorization data for authorizing said communications terminal to access authorized ones of said services, said control circuit for receiving service identification data of said service authorization data specifically addressed to said terminal and for receiving service definition data for defining service identification data of said one or more digital data programs addressed to a plurality of terminals including said specifically addressed terminal.
13. The communications system according to claim 12, wherein said service authorization data is transmitted with the signal.
14. The communications system according to claim 13, wherein said service authorization data comprises a service authorization bit map, the service authorization bit map comprising a plurality of bits each corresponding to a respective one of said services.
15. The communications system according to claim 13, wherein said communicationssystem comprises a plurality of communications terminals and said service authorization data includes first authorization data defining services for which all communications terminals are authorized and second authorization data defining services for which a respective communications terminal is authorized.
16. The communications system according to claim 15, wherein said first authorization data is transmitted as a global transaction to all communications terminals and said second authorization data is transmitted as an addressed transaction to a respective one of said communications terminals.
17. The communications terminal according to claim 12, wherein said control circuit includes a memory for storing said service authorization data.
18. The communications system according to claim 1, further comprising:
a program selector for variably selecting an authorized one of said digital data programs;
and a memory for storing selected digital data programs.
a program selector for variably selecting an authorized one of said digital data programs;
and a memory for storing selected digital data programs.
19. The communications system according to claim 18, wherein said control circuit further includes an interface for interfacing said memory to an external device, wherein a processor of said external device is capable of executing digital data programs stored in said memory.
20. The communications system according to claim 1, wherein said communications terminal further comprises a tuner for tuning said signal.
21. The communications system according to claim 20, wherein said tuner includes a phase-locked loop, said memory further stores tuning data, and said control circuit supplies the tuning data to said phase-locked loop.
22. The communications system according to claim 12, wherein the signal comprises multiplexed digital data programs and said control circuit further includes demultiplexing circuitry for demultiplexing the multiplexed digital data programs.
23. The communications system according to claim 12, wherein the signal comprises encrypted digital data programs and said control circuit further includes decrypting circuitry for decrypting said encrypted digital data programs.
24. The communications system according to claim 12, wherein the signal comprises encrypted and multiplexed digital data programs and said control circuit further includes decrypting circuitry and demultiplexing circuitry for decrypting and demultiplexing the encrypted and multiplexed digital data programs.
25. The communications system according to claim 12, wherein the signal comprises compressed digital data programs and said control circuit further includes decompressing circuitry for decompressing said compressed digital data programs.
26. The communications system according to claim 12, wherein said control circuit further includes a periodic reset circuit for resetting said communications terminal during access of authorized digital data programs depending on the expiration of a program access time or on a predetermined authorized service expiration calendar date and time.
27. The communications system according to claim 12, wherein said digital data programs comprise video games and said control circuit authorizes access to parentally authorized ones of said digital data programs only during parentally authorized and predetermined time of day periods and according to a rating for program content.
28. A communications system for the delivery of digital data programs to a plurality of remote locations, said system comprising:
communications terminals located at said remote locations;
a transmitter for transmitting a signal comprising said digital data programs, first authorization data for authorizing all of said communications terminals to access first authorized ones of said digital data programs for predetemined program access periods, and second authorization data for authorizing respective ones of said communications terminals to access second authorized ones of said digital data programs regardless of said predetermined program access periods.
communications terminals located at said remote locations;
a transmitter for transmitting a signal comprising said digital data programs, first authorization data for authorizing all of said communications terminals to access first authorized ones of said digital data programs for predetemined program access periods, and second authorization data for authorizing respective ones of said communications terminals to access second authorized ones of said digital data programs regardless of said predetermined program access periods.
29. The communications system according to claim 28, wherein said first authorization data is transmitted as a global transaction to all of said communications terminals and said second authorization data is transmitted as an addressed transaction to respective ones of said communications terminals.
30. A communications system for the delivery of digital data programs to a remote location, said system comprising:
a control system for transmitting a signal comprising said digital data programs and authorization transactions, said authorization transactions including identifier data corresponding to one or more of said digital data programs, load phase data, and memory slot data; and a communications terminal located at said remote location, said communications terminal including:
a memory for storing an authorization table for authorizing said communications terminal to access authorized ones of said digital data programs, said authorization table including a plurality of memory slots, each slot including a first field for storing load phase data and a second field for storing identifier data; and a control circuit for processing said authorization transactions using said memory slot data to access one of said memory slots of said authorization table, wherein said identifier data is loaded into the corresponding memory slot (1) if identifier data currently stored in the corresponding memory slot corresponds to the identifier data in the processed authorization transaction and load phase data currently stored in the corresponding memory slot differs from the load phase data in the processed authorization transaction or (2) if identifier data currently stored in the corresponding memory slot differs from the identifier data in the processed authorization transaction.
a control system for transmitting a signal comprising said digital data programs and authorization transactions, said authorization transactions including identifier data corresponding to one or more of said digital data programs, load phase data, and memory slot data; and a communications terminal located at said remote location, said communications terminal including:
a memory for storing an authorization table for authorizing said communications terminal to access authorized ones of said digital data programs, said authorization table including a plurality of memory slots, each slot including a first field for storing load phase data and a second field for storing identifier data; and a control circuit for processing said authorization transactions using said memory slot data to access one of said memory slots of said authorization table, wherein said identifier data is loaded into the corresponding memory slot (1) if identifier data currently stored in the corresponding memory slot corresponds to the identifier data in the processed authorization transaction and load phase data currently stored in the corresponding memory slot differs from the load phase data in the processed authorization transaction or (2) if identifier data currently stored in the corresponding memory slot differs from the identifier data in the processed authorization transaction.
31. The communications system according to claim 30, wherein said control system includes a memory for storing the current phase of the load state data for each memory slot in each of said communications terminals, whereby authorization transactions may be sent multiple times.
32. The communications system according to claim 30, wherein said authorizationtransactions include mode data for defining one of a first and second authorization modes and each memory slot of said authorization table includes at least one field for storing said mode data.
33. The communications system according to claim 32, wherein said first authorization mode authorizes said communication terminal to access authorized digital data programs on an unlimited basis during a predetermined calendar time period.
34. The communications system according to claim 32, wherein said second authorization mode authorizes said communication terminal to access authorized digital data programs for a predetermined access time period.
35. The communications system according to claim 32, wherein said first authorization mode authorizes said communication terminal to access authorized digital data programs on an unlimited basis during a predetermined calendar time period and said second authorization mode authorizes said communication terminal to access authorized digital data programs for a predetermined access time period.
36. A method of providing video game program services from a central service center to a plurality of remotely located communications terminals, wherein each video game program service comprises one or more video game programs, the method comprising:
a first step of transmitting from said central service center a signal including digital video game program data;
a second step of transmitting from said central service center a first authorization transaction for defining first video game program services which are accessible to all of said communications terminals for predetermined periods of program access time; and a third step of transmitting from said central service center second authorization transactions, each second authorization transaction being respectively addressed to a corresponding communications terminal and defining second additional video game program services which are accessible to the respective corresponding communication terminal for variable periods of program access time.
a first step of transmitting from said central service center a signal including digital video game program data;
a second step of transmitting from said central service center a first authorization transaction for defining first video game program services which are accessible to all of said communications terminals for predetermined periods of program access time; and a third step of transmitting from said central service center second authorization transactions, each second authorization transaction being respectively addressed to a corresponding communications terminal and defining second additional video game program services which are accessible to the respective corresponding communication terminal for variable periods of program access time.
37. The method according to claim 36, wherein the first authorization transaction comprises a first service authorization bit map and the second authorization transaction comprises a second service authorization bit map, each of said first and second service authorization bit maps comprising a plurality of bits each corresponding to a respective one of said video game program services.
38. The method according to claim 36, further comprising:
a fourth step of transmitting from said central service center third authorization transactions, each third authorization transaction defining in which one of a plurality of access modes a respective corresponding one of said first video game services is accessible to all of said communications terminals.
a fourth step of transmitting from said central service center third authorization transactions, each third authorization transaction defining in which one of a plurality of access modes a respective corresponding one of said first video game services is accessible to all of said communications terminals.
39. The method according to claim 36, further comprising:
a fourth step of transmitting from said central service center fourth authorization transactions, each fourth authorization transaction being respectively addressed to a corresponding communications terminal to which second additional video game program services are accessible and defining in which of a plurality of access modes a respective corresponding one of said second additional video game program services is accessible by the communications terminal.
a fourth step of transmitting from said central service center fourth authorization transactions, each fourth authorization transaction being respectively addressed to a corresponding communications terminal to which second additional video game program services are accessible and defining in which of a plurality of access modes a respective corresponding one of said second additional video game program services is accessible by the communications terminal.
40. A secure home communications terminal for game services comprising a secure game controller for 1) tuning to a game channel frequency 2) demodulating a game and authorization and control data stream, said authorization and control data stream comprising globally addressed and specifically addressed game service authorization data 3) deserializing and deinterleaving received data 4) decrypting received data and 5) storing certain of said authorization data in secure memory and a game player adapted for plug-in connection to said game controller, said game player for retrieving game data only upon authorization, said authorization data, stored in secure memory of said secure game controller, being accessible by a controller of said game player for reading and not writing.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/352,162 US5654746A (en) | 1994-12-01 | 1994-12-01 | Secure authorization and control method and apparatus for a game delivery service |
US08/352,162 | 1994-12-01 |
Publications (1)
Publication Number | Publication Date |
---|---|
CA2206234A1 true CA2206234A1 (en) | 1996-06-06 |
Family
ID=23384042
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CA002206234A Abandoned CA2206234A1 (en) | 1994-12-01 | 1995-09-29 | Secure authorization and control method and apparatus for a game delivery service |
Country Status (8)
Country | Link |
---|---|
US (2) | US5654746A (en) |
EP (1) | EP0795253A1 (en) |
JP (1) | JPH10510408A (en) |
KR (1) | KR19980700781A (en) |
AU (1) | AU688141B2 (en) |
BR (1) | BR9509857A (en) |
CA (1) | CA2206234A1 (en) |
WO (1) | WO1996017475A1 (en) |
Families Citing this family (296)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8352400B2 (en) | 1991-12-23 | 2013-01-08 | Hoffberg Steven M | Adaptive pattern recognition based controller apparatus and method and human-factored interface therefore |
US7859551B2 (en) * | 1993-10-15 | 2010-12-28 | Bulman Richard L | Object customization and presentation system |
US7690043B2 (en) * | 1994-12-19 | 2010-03-30 | Legal Igaming, Inc. | System and method for connecting gaming devices to a network for remote play |
US5861906A (en) * | 1995-05-05 | 1999-01-19 | Microsoft Corporation | Interactive entertainment network system and method for customizing operation thereof according to viewer preferences |
US8574074B2 (en) | 2005-09-30 | 2013-11-05 | Sony Computer Entertainment America Llc | Advertising impression determination |
US7895076B2 (en) * | 1995-06-30 | 2011-02-22 | Sony Computer Entertainment Inc. | Advertisement insertion, profiling, impression, and feedback |
US6230203B1 (en) | 1995-10-20 | 2001-05-08 | Scientific-Atlanta, Inc. | System and method for providing statistics for flexible billing in a cable environment |
US5966163A (en) | 1995-10-20 | 1999-10-12 | Scientific-Atlanta, Inc. | Providing constant bit rate upstream data transport in a two way cable system by scheduling preemptive grants for upstream data slots using selected fields of a plurality of grant fields |
JPH09128190A (en) * | 1995-10-27 | 1997-05-16 | Fujitsu Ltd | Communication terminal and its display control system |
US5845077A (en) * | 1995-11-27 | 1998-12-01 | Microsoft Corporation | Method and system for identifying and obtaining computer software from a remote computer |
US7028088B1 (en) | 1996-04-03 | 2006-04-11 | Scientific-Atlanta, Inc. | System and method for providing statistics for flexible billing in a cable environment |
US6049671A (en) * | 1996-04-18 | 2000-04-11 | Microsoft Corporation | Method for identifying and obtaining computer software from a network computer |
US5793943A (en) * | 1996-07-29 | 1998-08-11 | Micron Electronics, Inc. | System for a primary BIOS ROM recovery in a dual BIOS ROM computer system |
US7131133B1 (en) * | 1996-09-18 | 2006-10-31 | Kabushiki Kaisha Toshiba | Access control method and information utilization apparatus |
GB2317796B (en) * | 1996-09-26 | 2001-10-17 | Sony Electronic Publishing Ltd | Digital information display apparatus and methods |
US6758755B2 (en) | 1996-11-14 | 2004-07-06 | Arcade Planet, Inc. | Prize redemption system for games executed over a wide area network |
US6802061B1 (en) | 1996-12-12 | 2004-10-05 | Microsoft Corporation | Automatic software downloading from a computer network |
US20030054879A1 (en) * | 1996-12-31 | 2003-03-20 | Bruce Schneier | System and method for securing electronic games |
US6308328B1 (en) | 1997-01-17 | 2001-10-23 | Scientific-Atlanta, Inc. | Usage statistics collection for a cable data delivery system |
US6272150B1 (en) | 1997-01-17 | 2001-08-07 | Scientific-Atlanta, Inc. | Cable modem map display for network management of a cable data delivery system |
US6286058B1 (en) | 1997-04-14 | 2001-09-04 | Scientific-Atlanta, Inc. | Apparatus and methods for automatically rerouting packets in the event of a link failure |
DE19730002A1 (en) * | 1997-07-12 | 1999-01-14 | Nsm Ag | Game system for entertainment devices with data exchange via interface with approval control and procedures for approval control |
US6016141A (en) | 1997-10-06 | 2000-01-18 | United Video Properties, Inc. | Interactive television program guide system with pay program package promotion |
US6766946B2 (en) * | 1997-10-16 | 2004-07-27 | Dentsu, Inc. | System for granting permission of user's personal information to third party |
US6942143B1 (en) | 1997-10-16 | 2005-09-13 | Dentsu, Inc. | System and method for accessing broadcast media in data communication with a broadcast receiving device |
US6209787B1 (en) | 1997-10-16 | 2001-04-03 | Takahito Iida | Global access system of multi-media related information |
US5900608A (en) * | 1997-10-16 | 1999-05-04 | Iida; Takahito | Method of purchasing personal recording media, system for purchasing personal recording media, and media recorded with personal recording media purchasing program |
AUPP205898A0 (en) * | 1998-02-27 | 1998-03-26 | Mooney, Christopher Kevin | A service access method and interface |
FI107859B (en) | 1998-03-23 | 2001-10-15 | Nokia Networks Oy | Subscription services in a mobile communication system |
US20040098584A1 (en) * | 1998-03-25 | 2004-05-20 | Sherman Edward G. | Method and system for embedded, automated, component-level control of computer systems and other complex systems |
US6792245B1 (en) * | 1998-04-10 | 2004-09-14 | Sony Computer Entertainment Inc. | Information reproducing apparatus and broadcasting system |
US6381742B2 (en) * | 1998-06-19 | 2002-04-30 | Microsoft Corporation | Software package management |
JP2000047968A (en) * | 1998-07-31 | 2000-02-18 | Sony Computer Entertainment Inc | Device, method and system for processing information, terminal and method for receiving data, and data broadcasting system |
US6599194B1 (en) * | 1998-09-08 | 2003-07-29 | Darren Smith | Home video game system with hard disk drive and internet access capability |
JP3691256B2 (en) * | 1998-09-10 | 2005-09-07 | 松下電器産業株式会社 | Receiving terminal device |
US7194092B1 (en) * | 1998-10-26 | 2007-03-20 | Microsoft Corporation | Key-based secure storage |
US7139915B2 (en) * | 1998-10-26 | 2006-11-21 | Microsoft Corporation | Method and apparatus for authenticating an open system application to a portable IC device |
US6330670B1 (en) | 1998-10-26 | 2001-12-11 | Microsoft Corporation | Digital rights management operating system |
US6327652B1 (en) | 1998-10-26 | 2001-12-04 | Microsoft Corporation | Loading and identifying a digital rights management operating system |
US6609199B1 (en) * | 1998-10-26 | 2003-08-19 | Microsoft Corporation | Method and apparatus for authenticating an open system application to a portable IC device |
US6820063B1 (en) * | 1998-10-26 | 2004-11-16 | Microsoft Corporation | Controlling access to content based on certificates and access predicates |
US7174457B1 (en) | 1999-03-10 | 2007-02-06 | Microsoft Corporation | System and method for authenticating an operating system to a central processing unit, providing the CPU/OS with secure storage, and authenticating the CPU/OS to a third party |
US6751670B1 (en) * | 1998-11-24 | 2004-06-15 | Drm Technologies, L.L.C. | Tracking electronic component |
US6625813B1 (en) * | 1999-01-12 | 2003-09-23 | Sony Corporation | Digital television broadcast architecture for massively multi-user application |
US7127515B2 (en) | 1999-01-15 | 2006-10-24 | Drm Technologies, Llc | Delivering electronic content |
US7305695B1 (en) | 1999-01-20 | 2007-12-04 | Intel Corporation | System for providing video on demand with pause feature |
US7904187B2 (en) | 1999-02-01 | 2011-03-08 | Hoffberg Steven M | Internet appliance system and method |
WO2000055962A2 (en) | 1999-03-15 | 2000-09-21 | Sony Electronics, Inc. | Electronic media system, method and device |
US6651171B1 (en) * | 1999-04-06 | 2003-11-18 | Microsoft Corporation | Secure execution of program code |
JP4201430B2 (en) | 1999-04-16 | 2008-12-24 | 富士通株式会社 | Optical subscriber line termination equipment |
IL129947A (en) * | 1999-05-13 | 2003-06-24 | Tadiran Telecom Business Syste | Method and apparatus for downloading software into an embedded system |
EP1221080A2 (en) * | 1999-06-03 | 2002-07-10 | Anchor Gaming | Method and device for implementing a downloadable software delivery system |
US8033913B2 (en) * | 1999-06-03 | 2011-10-11 | Igt | Gaming machine update and mass storage management |
GB9914766D0 (en) * | 1999-06-25 | 1999-08-25 | Pace Micro Tech Plc | Control system for electrical apparatus |
US7120926B1 (en) * | 1999-09-02 | 2006-10-10 | General Instrument Corporation | Method and system of identifying software and firmware objects available for download over a network such as a cable television system |
US20060195400A1 (en) * | 2000-10-13 | 2006-08-31 | Patrick Patterson | Controlling access to electronic content |
WO2001031912A1 (en) * | 1999-10-22 | 2001-05-03 | General Instrument Corporation | Object and feature authorization for digital communication terminals |
WO2001031920A1 (en) * | 1999-10-22 | 2001-05-03 | General Instrument Corporation | Method and apparatus for managing multiple applications in large scale networks |
US6832323B1 (en) | 1999-10-22 | 2004-12-14 | General Instrument Corporation | Object and feature authorization for digital communication terminals |
US20010013121A1 (en) * | 1999-11-12 | 2001-08-09 | Kimball Bridget D. | Authorization conditioned object message download |
KR100308055B1 (en) * | 1999-11-13 | 2001-11-02 | 구자홍 | Apparatus and method for transmitting/receiving of game on demand |
JP2001357312A (en) * | 1999-11-24 | 2001-12-26 | Sega Corp | Information processor, file server, method and system for charging management, and recording medium with program recorded |
US6565435B2 (en) * | 1999-11-30 | 2003-05-20 | Midway Amusement Games, Llc | Method of authorizing free play of an amusement game |
US6757824B1 (en) | 1999-12-10 | 2004-06-29 | Microsoft Corporation | Client-side boot domains and boot rules |
US7010263B1 (en) * | 1999-12-14 | 2006-03-07 | Xm Satellite Radio, Inc. | System and method for distributing music and data |
US6970849B1 (en) | 1999-12-17 | 2005-11-29 | Microsoft Corporation | Inter-server communication using request with encrypted parameter |
US6996720B1 (en) | 1999-12-17 | 2006-02-07 | Microsoft Corporation | System and method for accessing protected content in a rights-management architecture |
US6854009B1 (en) * | 1999-12-22 | 2005-02-08 | Tacit Networks, Inc. | Networked computer system |
GB2358567B (en) * | 2000-01-21 | 2003-08-13 | Inventec Corp | Automatic monitor resolution switching method |
JP3349490B2 (en) * | 2000-02-14 | 2002-11-25 | インターナショナル・ビジネス・マシーンズ・コーポレーション | Image display method, image display system, host device, image display device, and display interface |
AUPQ654400A0 (en) * | 2000-03-28 | 2000-04-20 | Optimiser Pty Ltd | Authorising use of a computer program |
US6494762B1 (en) * | 2000-03-31 | 2002-12-17 | Matsushita Electrical Industrial Co., Ltd. | Portable electronic subscription device and service |
US20020042919A1 (en) * | 2000-05-25 | 2002-04-11 | Sturza Mark Alan | Method for utilizing excess communications capacity |
US20020092015A1 (en) * | 2000-05-26 | 2002-07-11 | Sprunk Eric J. | Access control processor |
US20020175998A1 (en) * | 2000-05-31 | 2002-11-28 | Hoang Khoi Nhu | Data-on-demand digital broadcast system utilizing prefetch data transmission |
US6557030B1 (en) * | 2000-05-31 | 2003-04-29 | Prediwave Corp. | Systems and methods for providing video-on-demand services for broadcasting systems |
US20020023267A1 (en) * | 2000-05-31 | 2002-02-21 | Hoang Khoi Nhu | Universal digital broadcast system and methods |
US20020059620A1 (en) * | 2000-05-31 | 2002-05-16 | Hoang Khoi Nhu | Selective inactivation and copy-protection |
US20020049980A1 (en) * | 2000-05-31 | 2002-04-25 | Hoang Khoi Nhu | Controlling data-on-demand client access |
US20020026501A1 (en) * | 2000-05-31 | 2002-02-28 | Khoi Hoang | Decreased idle time and constant bandwidth data-on-demand broadcast delivery matrices |
US20020138845A1 (en) * | 2000-05-31 | 2002-09-26 | Khoi Hoang | Methods and systems for transmitting delayed access client generic data-on demand services |
US7951002B1 (en) | 2000-06-16 | 2011-05-31 | Igt | Using a gaming machine as a server |
US7076445B1 (en) * | 2000-06-20 | 2006-07-11 | Cartwright Shawn D | System and methods for obtaining advantages and transacting the same in a computer gaming environment |
US7171692B1 (en) | 2000-06-27 | 2007-01-30 | Microsoft Corporation | Asynchronous communication within a server arrangement |
US7539875B1 (en) | 2000-06-27 | 2009-05-26 | Microsoft Corporation | Secure repository with layers of tamper resistance and system and method for providing same |
US6981262B1 (en) | 2000-06-27 | 2005-12-27 | Microsoft Corporation | System and method for client interaction in a multi-level rights-management architecture |
US7051200B1 (en) | 2000-06-27 | 2006-05-23 | Microsoft Corporation | System and method for interfacing a software process to secure repositories |
US6891953B1 (en) | 2000-06-27 | 2005-05-10 | Microsoft Corporation | Method and system for binding enhanced software features to a persona |
US7158953B1 (en) * | 2000-06-27 | 2007-01-02 | Microsoft Corporation | Method and system for limiting the use of user-specific software features |
US7017189B1 (en) | 2000-06-27 | 2006-03-21 | Microsoft Corporation | System and method for activating a rendering device in a multi-level rights-management architecture |
US7225159B2 (en) | 2000-06-30 | 2007-05-29 | Microsoft Corporation | Method for authenticating and securing integrated bookstore entries |
US20020046045A1 (en) * | 2000-06-30 | 2002-04-18 | Attila Narin | Architecture for an electronic shopping service integratable with a software application |
US8113839B2 (en) * | 2000-07-21 | 2012-02-14 | Sony Corporation | Information processing apparatus, information processing method, information processing system, and storage medium |
AU8326401A (en) * | 2000-08-18 | 2002-03-04 | Int Game Tech | Gaming machine virtual player tracking and related services |
US20020026423A1 (en) * | 2000-08-23 | 2002-02-28 | Sony Electronics, Inc. | Automated usage-independent and location-independent agent-based incentive method and system for customer retention |
US20020026419A1 (en) * | 2000-08-24 | 2002-02-28 | Sony Electronics, Inc. | Apparatus and method for populating a portable smart device |
US6768942B1 (en) * | 2000-09-18 | 2004-07-27 | Navigation Technologies Corp. | Navigation system with decryption functions and secure geographic database |
US7613917B1 (en) * | 2000-09-18 | 2009-11-03 | Navteq North America, Llc | Method and system for mass distribution of geographic data for navigation systems |
AU2001291286A1 (en) * | 2000-09-22 | 2002-04-02 | Sony Electronics Inc. | Method for creating a user profile through game play |
US7237123B2 (en) | 2000-09-22 | 2007-06-26 | Ecd Systems, Inc. | Systems and methods for preventing unauthorized use of digital content |
EP1352307A2 (en) * | 2000-09-22 | 2003-10-15 | EDC Systems, Inc. | Systems and methods for preventing unauthorized use of digital content |
US6645077B2 (en) * | 2000-10-19 | 2003-11-11 | Igt | Gaming terminal data repository and information distribution system |
US8636596B2 (en) * | 2000-11-04 | 2014-01-28 | Igt | Dynamic player notices for operational changes in gaming machines |
US9251647B2 (en) | 2000-10-19 | 2016-02-02 | Igt | Remote configuration of gaming terminals |
US20040180721A1 (en) * | 2000-12-21 | 2004-09-16 | Igt | Gaming terminal data repository and information distribution system |
US8556698B2 (en) | 2000-10-19 | 2013-10-15 | Igt | Executing multiple applications and their variations in computing environments |
AU2002243209A1 (en) | 2000-11-01 | 2002-07-24 | Station Casinos, Inc. | Method and system for remote gaming |
US20020151363A1 (en) * | 2001-04-12 | 2002-10-17 | Howard Letovsky | Method and system for broadcast and control of a remotely located wagering device |
JP2002202913A (en) * | 2000-11-02 | 2002-07-19 | Sony Computer Entertainment Inc | Terminal device, entertainment system, handling method of content, storage medium having information processing program stored therein, and information processing program |
AU2001273357A1 (en) * | 2000-11-10 | 2002-05-21 | Prediwave Corp. | Controlling data-on-demand client access |
US6722984B1 (en) * | 2000-11-22 | 2004-04-20 | Universal Electronics Inc. | Game controller with parental control functionality |
US6938164B1 (en) * | 2000-11-22 | 2005-08-30 | Microsoft Corporation | Method and system for allowing code to be securely initialized in a computer |
US20050153778A1 (en) * | 2004-01-14 | 2005-07-14 | Dwayne Nelson | Methods and apparatus for gaming data downloading |
US20070136817A1 (en) * | 2000-12-07 | 2007-06-14 | Igt | Wager game license management in a peer gaming network |
US7972214B2 (en) | 2000-12-07 | 2011-07-05 | Igt | Methods and devices for downloading games of chance |
US7515718B2 (en) * | 2000-12-07 | 2009-04-07 | Igt | Secured virtual network in a gaming environment |
US7168089B2 (en) | 2000-12-07 | 2007-01-23 | Igt | Secured virtual network in a gaming environment |
US20080214300A1 (en) * | 2000-12-07 | 2008-09-04 | Igt | Methods for electronic data security and program authentication |
US7188110B1 (en) | 2000-12-11 | 2007-03-06 | Sony Corporation | Secure and convenient method and apparatus for storing and transmitting telephony-based data |
JP4029569B2 (en) | 2000-12-13 | 2008-01-09 | 株式会社日立製作所 | Digital information recording / reproducing apparatus, recording apparatus, receiving apparatus, and transmitting apparatus |
GB2370236A (en) * | 2000-12-19 | 2002-06-26 | Nokia Mobile Phones Ltd | A method of modifying games content |
JP2002200359A (en) * | 2000-12-27 | 2002-07-16 | Pioneer Electronic Corp | Network game system and method for providing network game |
DE10065471A1 (en) * | 2000-12-28 | 2002-07-18 | Viag Interkom Gmbh & Co | Telecommunication system, in particular for the transmission of software programs as well as a suitable method for this and a slide-in cassette |
US20030149582A1 (en) * | 2001-01-15 | 2003-08-07 | Yoichiro Sako | Record medium, and apparatus and method for data processing |
GB2371887A (en) * | 2001-01-31 | 2002-08-07 | Nokia Mobile Phones Ltd | Client-server system for games playing |
US7186181B2 (en) * | 2001-02-02 | 2007-03-06 | Igt | Wide area program distribution and game information communication system |
US8751310B2 (en) | 2005-09-30 | 2014-06-10 | Sony Computer Entertainment America Llc | Monitoring advertisement impressions |
JP3626457B2 (en) * | 2001-03-06 | 2005-03-09 | 株式会社ソニー・コンピュータエンタテインメント | Program distribution system, program information distribution method and apparatus, program composition method, program composition software, and recording medium on which program composition software is recorded |
US6928427B2 (en) * | 2001-03-09 | 2005-08-09 | Arcot Systems, Inc. | Efficient computational techniques for authorization control |
EA200100383A1 (en) * | 2001-03-16 | 2001-10-22 | Лев Лазаревич Матвеев | THE DEVICE AND METHOD FOR IMPLEMENTING MUTUAL CALCULATIONS BETWEEN THE OWNERS OF LEASED PICTUALS CAPTS AND USERS SOFTWARE DATA, ELECTRONIC TYPE, REMOTE SERVICES, AND SUBJECTS, UNITERS OF IT COLLECTORS, IT COUNTERMEARTS, REMOTE SERVICES, AND SUBJECTS, IT COUNTERMARKSMATERS ASHEARS CODES AND REMOTE SERVICES, AND INTERESTING UNITS IT COLLECTED CUSTOMERS |
US7918738B2 (en) * | 2001-03-27 | 2011-04-05 | Igt | Interactive game playing preferences |
US8480466B2 (en) * | 2001-03-27 | 2013-07-09 | Igt | Method and apparatus for previewing a game |
US7040987B2 (en) * | 2001-04-11 | 2006-05-09 | Walker Digital, Llc | Method and apparatus for remotely customizing a gaming device |
US7188342B2 (en) * | 2001-04-20 | 2007-03-06 | Microsoft Corporation | Server controlled branding of client software deployed over computer networks |
US20030084461A1 (en) * | 2001-10-25 | 2003-05-01 | Khoi Hoang | Method and apparatus for transmitting non-VOD services |
WO2002091146A2 (en) | 2001-05-09 | 2002-11-14 | Ecd Systems, Inc. | Systems and methods for the prevention of unauthorized use and manipulation of digital content |
JP4049297B2 (en) * | 2001-06-11 | 2008-02-20 | 株式会社ルネサステクノロジ | Semiconductor memory device |
US20060211493A1 (en) * | 2001-06-15 | 2006-09-21 | Walker Jay S | Systems and methods for customized gaming limits |
US8515773B2 (en) | 2001-08-01 | 2013-08-20 | Sony Corporation | System and method for enabling distribution and brokering of content information |
US20030051249A1 (en) * | 2001-08-20 | 2003-03-13 | Khoi Hoang | System and method for data insertion (commercials) in client generic data-on-demand broadcast transmissions |
US7370365B2 (en) * | 2001-09-05 | 2008-05-06 | International Business Machines Corporation | Dynamic control of authorization to access internet services |
US7931533B2 (en) | 2001-09-28 | 2011-04-26 | Igt | Game development architecture that decouples the game logic from the graphics logics |
US7131909B2 (en) * | 2002-09-10 | 2006-11-07 | Igt | Method and apparatus for managing gaming machine code downloads |
US8708828B2 (en) | 2001-09-28 | 2014-04-29 | Igt | Pluggable modular gaming modifiers and configuration templates for gaming environments |
US6902481B2 (en) | 2001-09-28 | 2005-06-07 | Igt | Decoupling of the graphical presentation of a game from the presentation logic |
US20030074323A1 (en) * | 2001-10-02 | 2003-04-17 | Koninklijke Philips Electronics N.V. | Business model for downloadable video games |
JPWO2003038779A1 (en) * | 2001-11-01 | 2005-02-24 | アジレント・テクノロジー株式会社 | Measuring system and measuring method |
US7159240B2 (en) * | 2001-11-16 | 2007-01-02 | Microsoft Corporation | Operating system upgrades in a trusted operating system environment |
US7137004B2 (en) * | 2001-11-16 | 2006-11-14 | Microsoft Corporation | Manifest-based trusted agent management in a trusted operating system environment |
US7243230B2 (en) | 2001-11-16 | 2007-07-10 | Microsoft Corporation | Transferring application secrets in a trusted operating system environment |
US8597116B2 (en) | 2002-03-12 | 2013-12-03 | Igt | Virtual player tracking and related services |
US6997803B2 (en) | 2002-03-12 | 2006-02-14 | Igt | Virtual gaming peripherals for a gaming machine |
US7487365B2 (en) * | 2002-04-17 | 2009-02-03 | Microsoft Corporation | Saving and retrieving data based on symmetric key encryption |
US7890771B2 (en) | 2002-04-17 | 2011-02-15 | Microsoft Corporation | Saving and retrieving data based on public key encryption |
US20030204857A1 (en) * | 2002-04-29 | 2003-10-30 | Dinwiddie Aaron Hal | Pre-power -failure storage of television parameters in nonvolatile memory |
US8799501B2 (en) * | 2002-04-30 | 2014-08-05 | Hewlett-Packard Development Company, L. P. | System and method for anonymously sharing and scoring information pointers, within a system for harvesting community knowledge |
US20030211888A1 (en) * | 2002-05-13 | 2003-11-13 | Interactive Telegames, Llc | Method and apparatus using insertably-removable auxiliary devices to play games over a communications link |
US7918730B2 (en) | 2002-06-27 | 2011-04-05 | Igt | Trajectory-based 3-D games of chance for video gaming machines |
FR2842937B1 (en) * | 2002-07-26 | 2007-03-02 | At Sky | SYSTEM FOR RECORDING AN AUDIO OR VIDEO SIGNAL WITH A LATE DECISION. |
WO2004018060A2 (en) * | 2002-08-21 | 2004-03-04 | Lime Studios Limited | Improvements to interactive tv games system |
US6588662B1 (en) * | 2002-08-28 | 2003-07-08 | Loyalty Founder Enterprise Co., Ltd. | Portable data backup device |
US8083585B2 (en) * | 2002-09-10 | 2011-12-27 | Igt | Apparatus and method for copying gaming machine configuration settings |
US7083520B2 (en) * | 2002-09-11 | 2006-08-01 | Igt | In-room game promotion and demonstration method and system |
CN103500412A (en) * | 2002-09-16 | 2014-01-08 | 雅虎公司 | On-line software rental |
JP3870145B2 (en) * | 2002-09-30 | 2007-01-17 | キヤノン株式会社 | Image forming apparatus and program for controlling image forming apparatus |
US9251649B2 (en) | 2002-10-09 | 2016-02-02 | Zynga Inc. | System and method for connecting gaming devices to a network for remote play |
US7878908B2 (en) * | 2002-11-14 | 2011-02-01 | Nintendo Co., Ltd. | Multiplexed secure video game play distribution |
US9138644B2 (en) | 2002-12-10 | 2015-09-22 | Sony Computer Entertainment America Llc | System and method for accelerated machine switching |
US20090118019A1 (en) | 2002-12-10 | 2009-05-07 | Onlive, Inc. | System for streaming databases serving real-time applications used through streaming interactive video |
US9314691B2 (en) | 2002-12-10 | 2016-04-19 | Sony Computer Entertainment America Llc | System and method for compressing video frames or portions thereof based on feedback information from a client device |
US9192859B2 (en) | 2002-12-10 | 2015-11-24 | Sony Computer Entertainment America Llc | System and method for compressing video based on latency measurements and other feedback |
US10201760B2 (en) | 2002-12-10 | 2019-02-12 | Sony Interactive Entertainment America Llc | System and method for compressing video based on detected intraframe motion |
US8964830B2 (en) * | 2002-12-10 | 2015-02-24 | Ol2, Inc. | System and method for multi-stream video compression using multiple encoding formats |
US9077991B2 (en) | 2002-12-10 | 2015-07-07 | Sony Computer Entertainment America Llc | System and method for utilizing forward error correction with video compression |
US9108107B2 (en) * | 2002-12-10 | 2015-08-18 | Sony Computer Entertainment America Llc | Hosting and broadcasting virtual events using streaming interactive video |
US8549574B2 (en) * | 2002-12-10 | 2013-10-01 | Ol2, Inc. | Method of combining linear content and interactive content compressed together as streaming interactive video |
FR2849704A1 (en) * | 2003-01-02 | 2004-07-09 | Thomson Licensing Sa | Conditional decision device for e.g. Internet decoder, has program obtaining module to start downloading if programs are not available, and decision obtaining module to allow or prevent downloading based on information |
US6900726B2 (en) * | 2003-01-03 | 2005-05-31 | Antronnix, Inc. | System and method for fiber optic communication with safety-related alarm systems |
US20100017627A1 (en) | 2003-02-07 | 2010-01-21 | Broadon Communications Corp. | Ensuring authenticity in a closed content distribution system |
US8131649B2 (en) * | 2003-02-07 | 2012-03-06 | Igware, Inc. | Static-or-dynamic and limited-or-unlimited content rights |
US7779482B1 (en) | 2003-02-07 | 2010-08-17 | iGware Inc | Delivery of license information using a short messaging system protocol in a closed content distribution system |
WO2004079536A2 (en) * | 2003-03-04 | 2004-09-16 | Gamelogic, Inc. | Conditional access system and method |
WO2004080550A2 (en) * | 2003-03-10 | 2004-09-23 | Cyberscan Technology, Inc. | Dynamic configuration of a gaming system |
CA2519116C (en) * | 2003-03-13 | 2012-11-13 | Drm Technologies, Llc | Secure streaming container |
WO2004100550A1 (en) * | 2003-05-03 | 2004-11-18 | Digital Networks North America, Inc. | Pay per view architecture providing for local storage of content |
US20050005105A1 (en) * | 2003-06-24 | 2005-01-06 | Brown Larry Cecil | Remote access control feature for limiting access to configuration file components |
US20070168287A1 (en) * | 2003-07-16 | 2007-07-19 | Digital Networks North America, Inc. | Method and apparatus for distributing media in a pay per play architecture with remote playback |
KR100560851B1 (en) * | 2003-09-03 | 2006-03-17 | 주식회사 이온라이트 | lamp that have anion occurrence and air purification |
US20050059484A1 (en) * | 2003-09-16 | 2005-03-17 | Merit Industries, Inc. | Amusement device having time-based operating modes |
WO2005043802A1 (en) * | 2003-10-20 | 2005-05-12 | Drm Technologies, Llc | Securing digital content system and method |
US20050083975A1 (en) * | 2003-10-20 | 2005-04-21 | Macri Dean P. | Using multiple communication links in conjunction with a media adapter |
US20050086528A1 (en) * | 2003-10-21 | 2005-04-21 | Aladdin Knowledge Systems Ltd. | Method for hiding information on a computer |
US9160976B2 (en) * | 2003-12-23 | 2015-10-13 | The Directv Group, Inc. | Method and apparatus for distributing media in a pay per play architecture with remote playback within an enterprise |
US20050197184A1 (en) * | 2003-12-30 | 2005-09-08 | Steven Ahlquist | System for regulating use of an electronic device |
US20050143175A1 (en) * | 2003-12-29 | 2005-06-30 | Steven Ahlquist | System and method for regulating use of an electronic device |
FI20040187A0 (en) * | 2004-02-06 | 2004-02-06 | Nokia Corp | Charging in a communications system |
US20070060358A1 (en) | 2005-08-10 | 2007-03-15 | Amaitis Lee M | System and method for wireless gaming with location determination |
US7637810B2 (en) | 2005-08-09 | 2009-12-29 | Cfph, Llc | System and method for wireless gaming system with alerts |
AU2011244922B2 (en) * | 2004-02-25 | 2014-04-03 | Cfph, Llc | System and method for convenience gaming |
US8092303B2 (en) | 2004-02-25 | 2012-01-10 | Cfph, Llc | System and method for convenience gaming |
US7534169B2 (en) * | 2005-07-08 | 2009-05-19 | Cfph, Llc | System and method for wireless gaming system with user profiles |
US7811172B2 (en) | 2005-10-21 | 2010-10-12 | Cfph, Llc | System and method for wireless lottery |
US8616967B2 (en) | 2004-02-25 | 2013-12-31 | Cfph, Llc | System and method for convenience gaming |
US8632405B2 (en) * | 2004-04-26 | 2014-01-21 | Wms Gaming, Inc. | Method and system for using multi-channel communications to enhance gaming security |
US20050255913A1 (en) * | 2004-05-13 | 2005-11-17 | Eastman Kodak Company | Collectible display device |
US7233916B2 (en) * | 2004-06-15 | 2007-06-19 | Motorola, Inc. | Method and system for tracking content rental |
US8763157B2 (en) | 2004-08-23 | 2014-06-24 | Sony Computer Entertainment America Llc | Statutory license restricted digital media playback on portable devices |
US8768844B2 (en) * | 2004-10-06 | 2014-07-01 | Sony Corporation | Method and system for content sharing and authentication between multiple devices |
US20060075441A1 (en) * | 2004-10-06 | 2006-04-06 | Sony Corporation | Method and system for a personal video recorder comprising multiple removable storage/tuner units |
US8806533B1 (en) | 2004-10-08 | 2014-08-12 | United Video Properties, Inc. | System and method for using television information codes |
US7154380B1 (en) | 2004-11-24 | 2006-12-26 | Tarrab Jr George | Power distribution and timing device |
US8434116B2 (en) | 2004-12-01 | 2013-04-30 | At&T Intellectual Property I, L.P. | Device, system, and method for managing television tuners |
US7613383B2 (en) | 2004-12-02 | 2009-11-03 | Hitachi, Ltd. | Editing method and recording and reproducing device |
US20060148568A1 (en) * | 2004-12-30 | 2006-07-06 | Motorola, Inc. | Device and method for wirelessly accessing game media |
GB0500579D0 (en) * | 2005-01-12 | 2005-02-16 | Electra Entertainment Ltd | Memory card handling |
CN100388194C (en) * | 2005-04-09 | 2008-05-14 | 华为技术有限公司 | Mobile game client program control method |
US8635659B2 (en) | 2005-06-24 | 2014-01-21 | At&T Intellectual Property I, L.P. | Audio receiver modular card and method thereof |
US8282476B2 (en) * | 2005-06-24 | 2012-10-09 | At&T Intellectual Property I, L.P. | Multimedia-based video game distribution |
US8365218B2 (en) | 2005-06-24 | 2013-01-29 | At&T Intellectual Property I, L.P. | Networked television and method thereof |
US10510214B2 (en) | 2005-07-08 | 2019-12-17 | Cfph, Llc | System and method for peer-to-peer wireless gaming |
US8070604B2 (en) | 2005-08-09 | 2011-12-06 | Cfph, Llc | System and method for providing wireless gaming as a service application |
US20070025342A1 (en) * | 2005-07-14 | 2007-02-01 | Gemini Mobile Technology, Inc. | Protocol optimization for wireless networks |
US7640297B2 (en) * | 2005-07-14 | 2009-12-29 | Gemini Mobile Technologies, Inc. | Protocol optimization for wireless networks |
US20070050838A1 (en) * | 2005-08-25 | 2007-03-01 | Derek Liu | Multi-protocol game engine |
US7887420B2 (en) | 2005-09-12 | 2011-02-15 | Igt | Method and system for instant-on game download |
US8287379B2 (en) | 2005-09-12 | 2012-10-16 | Igt | Distributed game services |
US8626584B2 (en) | 2005-09-30 | 2014-01-07 | Sony Computer Entertainment America Llc | Population of an advertisement reference list |
US10657538B2 (en) * | 2005-10-25 | 2020-05-19 | Sony Interactive Entertainment LLC | Resolution of advertising rules |
US8676900B2 (en) | 2005-10-25 | 2014-03-18 | Sony Computer Entertainment America Llc | Asynchronous advertising placement based on metadata |
US20070118425A1 (en) * | 2005-10-25 | 2007-05-24 | Podbridge, Inc. | User device agent for asynchronous advertising in time and space shifted media network |
US11004089B2 (en) * | 2005-10-25 | 2021-05-11 | Sony Interactive Entertainment LLC | Associating media content files with advertisements |
US7802267B2 (en) * | 2005-11-03 | 2010-09-21 | Microsoft Corporation | Compliance interface for compliant applications |
WO2007064327A1 (en) | 2005-12-02 | 2007-06-07 | Walker Digital, Llc | Gaming systems and apparatus for detecting a signal indicative of a problem gambler and dispatching an event in response thereto |
US7549576B2 (en) | 2006-05-05 | 2009-06-23 | Cfph, L.L.C. | Systems and methods for providing access to wireless gaming devices |
US7644861B2 (en) | 2006-04-18 | 2010-01-12 | Bgc Partners, Inc. | Systems and methods for providing access to wireless gaming devices |
WO2007130554A2 (en) | 2006-05-02 | 2007-11-15 | Broadon Communications Corp. | Content management system and method |
US8939359B2 (en) | 2006-05-05 | 2015-01-27 | Cfph, Llc | Game access device with time varying signal |
JP5313882B2 (en) | 2006-05-05 | 2013-10-09 | ソニー コンピュータ エンタテインメント アメリカ リミテッド ライアビリテイ カンパニー | Device for displaying main content and auxiliary content |
US7841946B2 (en) * | 2006-06-29 | 2010-11-30 | Spawn Labs, Inc. | System for remote game access |
US8032928B2 (en) * | 2006-07-14 | 2011-10-04 | At&T Intellectual Property I, L.P. | Methods, devices, and computer program products for controlling wireless connection access |
CN101141673A (en) * | 2006-09-08 | 2008-03-12 | 国际商业机器公司 | Message transmitting and receiving device and method |
US8117461B2 (en) | 2006-09-13 | 2012-02-14 | Igt | Method of randomly and dynamically checking configuration integrity of a gaming system |
US7624276B2 (en) * | 2006-10-16 | 2009-11-24 | Broadon Communications Corp. | Secure device authentication system and method |
US9306952B2 (en) | 2006-10-26 | 2016-04-05 | Cfph, Llc | System and method for wireless gaming with location determination |
US8292741B2 (en) | 2006-10-26 | 2012-10-23 | Cfph, Llc | Apparatus, processes and articles for facilitating mobile gaming |
US7613915B2 (en) * | 2006-11-09 | 2009-11-03 | BroadOn Communications Corp | Method for programming on-chip non-volatile memory in a secure processor, and a device so programmed |
US8510567B2 (en) | 2006-11-14 | 2013-08-13 | Cfph, Llc | Conditional biometric access in a gaming environment |
US9411944B2 (en) | 2006-11-15 | 2016-08-09 | Cfph, Llc | Biometric access sensitivity |
US8645709B2 (en) | 2006-11-14 | 2014-02-04 | Cfph, Llc | Biometric access data encryption |
US8029367B2 (en) * | 2007-01-15 | 2011-10-04 | Microsoft Corporation | Automatic delivery of game content to a game console |
US8319601B2 (en) | 2007-03-14 | 2012-11-27 | Cfph, Llc | Game account access device |
US8581721B2 (en) | 2007-03-08 | 2013-11-12 | Cfph, Llc | Game access device with privileges |
US9183693B2 (en) | 2007-03-08 | 2015-11-10 | Cfph, Llc | Game access device |
US20080307103A1 (en) * | 2007-06-06 | 2008-12-11 | Sony Computer Entertainment Inc. | Mediation for auxiliary content in an interactive environment |
US20090048022A1 (en) * | 2007-08-13 | 2009-02-19 | Igt | Dynamic reconfiguration of promotional programs |
US8416247B2 (en) * | 2007-10-09 | 2013-04-09 | Sony Computer Entertaiment America Inc. | Increasing the number of advertising impressions in an interactive environment |
US20090178114A1 (en) * | 2008-01-09 | 2009-07-09 | Aviva Susser | Educational log-on method |
US8769558B2 (en) * | 2008-02-12 | 2014-07-01 | Sony Computer Entertainment America Llc | Discovery and analytics for episodic downloaded media |
US20090300144A1 (en) * | 2008-06-03 | 2009-12-03 | Sony Computer Entertainment Inc. | Hint-based streaming of auxiliary content assets for an interactive environment |
US10235832B2 (en) * | 2008-10-17 | 2019-03-19 | Igt | Post certification metering for diverse game machines |
USD624952S1 (en) | 2008-10-20 | 2010-10-05 | X6D Ltd. | 3D glasses |
USRE45394E1 (en) | 2008-10-20 | 2015-03-03 | X6D Limited | 3D glasses |
USD666663S1 (en) | 2008-10-20 | 2012-09-04 | X6D Limited | 3D glasses |
USD603445S1 (en) | 2009-03-13 | 2009-11-03 | X6D Limited | 3D glasses |
US20110234775A1 (en) * | 2008-10-20 | 2011-09-29 | Macnaughton Boyd | DLP Link System With Multiple Projectors and Integrated Server |
US20110205347A1 (en) * | 2008-11-17 | 2011-08-25 | X6D Limited | Universal 3d glasses for use with televisions |
US20110216176A1 (en) * | 2008-11-17 | 2011-09-08 | Macnaughton Boyd | 3D Glasses With RF Synchronization |
US8542326B2 (en) * | 2008-11-17 | 2013-09-24 | X6D Limited | 3D shutter glasses for use with LCD displays |
CA2684513A1 (en) | 2008-11-17 | 2010-05-17 | X6D Limited | Improved performance 3d glasses |
CN101814922B (en) * | 2009-02-23 | 2013-06-19 | 国际商业机器公司 | Multi-bit error correcting method and device based on BCH (Broadcast Channel) code and memory system |
USD646451S1 (en) | 2009-03-30 | 2011-10-04 | X6D Limited | Cart for 3D glasses |
USD650956S1 (en) | 2009-05-13 | 2011-12-20 | X6D Limited | Cart for 3D glasses |
USD672804S1 (en) | 2009-05-13 | 2012-12-18 | X6D Limited | 3D glasses |
US8763090B2 (en) * | 2009-08-11 | 2014-06-24 | Sony Computer Entertainment America Llc | Management of ancillary content delivery and presentation |
USD669522S1 (en) | 2010-08-27 | 2012-10-23 | X6D Limited | 3D glasses |
USD692941S1 (en) | 2009-11-16 | 2013-11-05 | X6D Limited | 3D glasses |
USD671590S1 (en) | 2010-09-10 | 2012-11-27 | X6D Limited | 3D glasses |
USD662965S1 (en) | 2010-02-04 | 2012-07-03 | X6D Limited | 3D glasses |
US8974302B2 (en) | 2010-08-13 | 2015-03-10 | Cfph, Llc | Multi-process communication regarding gaming information |
US8956231B2 (en) | 2010-08-13 | 2015-02-17 | Cfph, Llc | Multi-process communication regarding gaming information |
USD664183S1 (en) | 2010-08-27 | 2012-07-24 | X6D Limited | 3D glasses |
US9886282B2 (en) | 2010-10-25 | 2018-02-06 | Bally Gaming, Inc. | Computer BIOS protection and authentication |
US8856043B2 (en) * | 2011-02-18 | 2014-10-07 | Visa International Service Association | Method and system for managing data and enabling payment transactions between multiple entities |
US9032435B2 (en) * | 2011-03-29 | 2015-05-12 | Hulu, LLC | Ad selection and next video recommendation in a video streaming system exclusive of user identity-based parameter |
US8667377B1 (en) * | 2011-09-08 | 2014-03-04 | Xilinx, Inc. | Circuit and method for parallel decoding |
US9129283B1 (en) * | 2012-01-10 | 2015-09-08 | Intuit Inc. | Accessing confidential data securely using a trusted network of mobile devices |
JP6026744B2 (en) * | 2012-01-16 | 2016-11-16 | 任天堂株式会社 | Information processing program, information processing apparatus, information processing system, and information processing method |
US8627097B2 (en) | 2012-03-27 | 2014-01-07 | Igt | System and method enabling parallel processing of hash functions using authentication checkpoint hashes |
USD711959S1 (en) | 2012-08-10 | 2014-08-26 | X6D Limited | Glasses for amblyopia treatment |
US8998719B1 (en) | 2012-12-14 | 2015-04-07 | Elbo, Inc. | Network-enabled game controller |
US9369537B1 (en) | 2015-03-31 | 2016-06-14 | Lock2Learn, LLC | Systems and methods for regulating device usage |
US10846779B2 (en) | 2016-11-23 | 2020-11-24 | Sony Interactive Entertainment LLC | Custom product categorization of digital media content |
US10860987B2 (en) | 2016-12-19 | 2020-12-08 | Sony Interactive Entertainment LLC | Personalized calendar for digital media content-related events |
US10931991B2 (en) | 2018-01-04 | 2021-02-23 | Sony Interactive Entertainment LLC | Methods and systems for selectively skipping through media content |
FR3122024B1 (en) * | 2021-04-20 | 2024-03-29 | St Microelectronics Grenoble 2 | Data management method for bit-by-bit programmable non-volatile memory, and corresponding device |
CN116643997B (en) * | 2023-07-26 | 2023-09-22 | 苏州浪潮智能科技有限公司 | Baseboard management controller, basic input/output system debugging method and device |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4247106A (en) * | 1978-04-12 | 1981-01-27 | Jerrold Electronics Corporation | System arrangement for distribution and use of video games |
US4593376A (en) * | 1983-04-21 | 1986-06-03 | Volk Larry N | System for vending program cartridges which have circuitry for inhibiting program usage after preset time interval expires |
US4905280A (en) * | 1984-10-12 | 1990-02-27 | Wiedemer John D | High security videotext and videogame system |
US5051822A (en) * | 1989-10-19 | 1991-09-24 | Interactive Television Systems, Inc. | Telephone access video game distribution center |
US5251909A (en) * | 1991-05-28 | 1993-10-12 | Reed Michael J | Secured high throughput data channel for public broadcast system |
US5231665A (en) * | 1991-11-20 | 1993-07-27 | Zenith Electronics Corporation | Cable television system having dynamic market code shuffling |
US5539920A (en) * | 1994-04-28 | 1996-07-23 | Thomson Consumer Electronics, Inc. | Method and apparatus for processing an audio video interactive signal |
-
1994
- 1994-12-01 US US08/352,162 patent/US5654746A/en not_active Expired - Lifetime
-
1995
- 1995-09-29 AU AU36406/95A patent/AU688141B2/en not_active Expired - Fee Related
- 1995-09-29 WO PCT/US1995/012219 patent/WO1996017475A1/en not_active Application Discontinuation
- 1995-09-29 CA CA002206234A patent/CA2206234A1/en not_active Abandoned
- 1995-09-29 EP EP95933932A patent/EP0795253A1/en not_active Withdrawn
- 1995-09-29 BR BR9509857A patent/BR9509857A/en not_active Application Discontinuation
- 1995-09-29 JP JP8518752A patent/JPH10510408A/en active Pending
- 1995-12-01 US US08/566,257 patent/US6029046A/en not_active Expired - Lifetime
-
1997
- 1997-05-30 KR KR1019970703640A patent/KR19980700781A/en not_active Application Discontinuation
Also Published As
Publication number | Publication date |
---|---|
US6029046A (en) | 2000-02-22 |
AU3640695A (en) | 1996-06-19 |
EP0795253A1 (en) | 1997-09-17 |
BR9509857A (en) | 1997-12-30 |
US5654746A (en) | 1997-08-05 |
WO1996017475A1 (en) | 1996-06-06 |
KR19980700781A (en) | 1998-03-30 |
AU688141B2 (en) | 1998-03-05 |
JPH10510408A (en) | 1998-10-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5654746A (en) | Secure authorization and control method and apparatus for a game delivery service | |
US5944608A (en) | Computer software delivery system | |
RU2187207C2 (en) | Signal generation and broadcasting | |
RU2196389C2 (en) | Broadcasting and receiving system and associated conditional access system | |
KR100629413B1 (en) | Smartcard for use with a receiver of encrypted broadcast signal, and receiver | |
US5036537A (en) | Geographic black-out method for direct broadcast satellite system | |
US6971008B2 (en) | Authorization of services in a conditional access system | |
KR100676004B1 (en) | Revocation information transmission method, reception method, and device thereof | |
JP2009124736A (en) | Encryption apparatus used in conditional access system | |
KR20060066173A (en) | Broadcast and reception system, and receiver | |
JP2005341606A (en) | Authorization of services in conditional access system | |
JP2002506296A (en) | Creating Services in the Conditional Access System | |
EP0183392A2 (en) | Geographic blackout method for direct broadcast satellite system | |
JP2004530314A (en) | Controlling data-on-demand client access | |
KR20000076400A (en) | Broadcast and Reception System, and Conditional Access System therefor | |
MXPA99008541A (en) | Smartcard for use with a receiver of encrypted broadcast signals, and receiver |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
EEER | Examination request | ||
FZDE | Discontinued | ||
FZDE | Discontinued |
Effective date: 19990929 |