`
`WORLD INTELLECTUAL PROPERTY ORGANIZATION
`International Bureau
`
`
`
`INTERNATIONAL APPLICATION PUBLISHED UNDER THE PATENT COOPERATION TREATY (PCT)
`
`A63F 5/04, 9/24
`
`(43) International Publication Date:
`
`23 December 1999 (23.12.99)
`
`WO 99/65579
`
`(81) Designated States: AU, JP, NZ, US, ZA, European patent (AT,
`BE, CH, CY, DE, DK, ES, FI, FR, GB, GR, IE, IT, LU,
`MC, NL, PT, SE).
`
`
`
` ‘ (51) International Patent Classification 6 :
`(11) International Publication Number:
`
`
`(21) International Application Number:
`PCT/AU99/00486
`
` (22) International Filing Date:
`
`17 June 1999 (17.06.99)
`
`
`(30) Priority Data:
`
`60/089,654
`17 June 1998 (17.06.98)
`US
`
`
`
`
`
`
`(71) Applicant (for all designated States except US): ARISTO-
`CRAT LEISURE INDUSTRIES PTY. LTD. [AU/AU]; 71
`
`
`Longueville Road, Lane Cove, NSW 2066 (AU).
`
`
`
`
`(72) Inventor; and
`
`(75) Inventor/Applicant (for US only): BOND, Eugene, Thomas
`
`[US/US]; 6329 Lena King Avenue, Las Vegas, NV 89120
`(US).
`
`Published
`With international search report.
`
`
`
`
`(74) Agent: F.B. RICE & CO.; 605 Darling Street, Balmain, NSW
`2041 (AU).
`
`(54) Title: SOFTWARE VERIFICATION AND AUTHENTICATION
`
`(57) Abstract
`
`A
`
`device
`
`R
`
`
`
`for
`
`
`
`
`controlling electronic gaming
`
`
`
`machines comprises a single
`
` 0000000000
`00000000000
`
`
`.......
`Meme/ms
`
`board
`computer
`(SBC)
`
`having
`a microprocessor,
`
`memory means,
`storage
`
`means and a ROM (Read
`
`Only Memory). The ROM
`R
`
`includes:
`a loader program;
`
`
`
`P IPLUS Wu
`
`verification
`program;
`an
`0000000000
`
`
`00000000000
`.YP/ALl/o
`00000000000 I
`
`
`authentication
`program;
`
`
`and a presentation program.
`
`
`Additional Mass
`storage
`00000000000
`0000000000
`
`
`media in communication with
`
`00000000000
`00000000000
`0000000000
`
`
`
`00000000000
`the SBC store pro—verified
`
`PC 104- PLUS
`
`
`
`and
`approved
`gaming
`
`
`PC {04 PLUS
`
`82
`software (program files) and
`
`NU/V'VULAT/LE W
`
`
`
`related data files,
`each of
`MODULE
`
`
`
`
`which
`have
`a verification
`
`
`//0 CONTROL
`
`5mm
`
`
`signature appended to them.
`
`Prior to usage of the gaming
`software,
`the program file
`software
`or
`data
`file
`is
`retrieved by the loader program and checked by the verification program which compares the verification signature with a newly calculated
`verification signature.
`If the newly calculated signature matches the verification signature, the requested file is deemed to be intact (a
`validated image). The verification processes ensure that the file has been retrieved in its entirety and is free from corruption caused by
`
`
`storage media faults.
`If any corruption has occurred, the control device displays an error and the process is halted. After verification,
`
`
`all pending requests for authorization from authentication agents are processed by a queuing means. Each request includes a set of
`
`
`authentication instructions and a reply destination. After queuing, an authentication interpreter processes the validated image pursuant to
`
`
`the requester’s instruction. The presentation program reports the resulting authentication identification to the requested destination which
`
`
`either acknowledges or refuses authentication. If acknowledged, the image is used or executed. If refused, an error is displayed and the
`
`process is halted.
`
`
`
`
`
`
`|PR2020-01218
`
`Sony EX1025 Page 1
`
`IPR2020-01218
`Sony EX1025 Page 1
`
`
`
`
`FOR THE PURPOSES OF INFORMATION ONLY
`
`Codes used to identify States party to the PCT on the front pages of pamphlets publishing international applications under the PCT.
`
`
`
`
`
`
`
`
`
`
`
`
`ES
`FI
`FR
`GA
`GB
`GE
`GH
`GN
`GR
`HU
`IE
`IL
`IS
`IT
`JP
`KE
`KG
`KP
`
`Spain
`Albania
`AL
`Finland
`Armenia
`AM
`France
`Austria
`AT
`Gabon
`Australia
`AU
`United Kingdom
`Azerbaijan
`AZ
`Georgia
`Bosnia and Herzegovina
`BA
`Ghana
`Barbados
`BB
`Guinea
`Belgium
`BE
`Greece
`Burkina Faso
`BF
`ML
`Hungary
`Bulgaria
`BG
`MN
`Ireland
`Benin
`BJ
`MR
`Israel
`Brazil
`BR
`MW
`Iceland
`Belarus
`BY
`
`MX
`Italy
`Canada
`CA
`
`NE
`Japan
`Central African Republic
`CF
`NL
`Kenya
`Congo
`CG
`
`N0
`Kyrgyzstan
`Switzerland
`CH
`
`NZ
`Democratic People's
`C6te d’Ivoire
`CI
`
`PL
`Republic of Korea
`Cameroon
`CM
`
`PT
`Republic of Korea
`KR
`China
`CN
`
`R0
`Kazakstan
`KZ
`Cuba
`CU
`RU
`Saint Lucia
`LC
`Czech Republic
`CZ
`
`SD
`Liechtenstein
`LI
`Germany
`DE
`SE
`Sri Lanka
`LK
`Denmark
`DK
`
`
`SG
`Liberia
`LR
`Estonia
`EE
`
`
`
`
`
`SI
`SK
`SN
`SZ
`TD
`TG
`TJ
`TM
`TR
`TT
`UA
`UG
`US
`UZ
`VN
`YU
`ZW
`
`Slovenia
`Slovakia
`Senegal
`Swaziland
`Chad
`Togo
`Tajikistan
`Turkmenistan
`Turkey
`Trinidad and Tobago
`Ukraine
`Uganda
`United States of America
`Uzbekistan
`Viet Nam
`Yugoslavia
`Zimbabwe
`
`LS
`LT
`LU
`LV
`MC
`MD
`MG
`MK
`
`Lesotho
`Lithuania
`Luxembourg
`Latvia
`Monaco
`Republic of Moldova
`Madagascar
`The former Yugoslav
`Republic of Macedonia
`Mali
`Mongolia
`Mauritania
`Malawi
`Mexico
`Niger
`Netherlands
`Norway
`New Zealand
`Poland
`Portugal
`Romania
`Russian Federation
`Sudan
`Sweden
`Singapore
`
`|PR2020-01218
`
`Sony EX1025 Page 2
`
`IPR2020-01218
`Sony EX1025 Page 2
`
`
`
`WO 99/65579
`
`PCT/AU99/00486 ,
`
`SOFTWARE VERIFICATION AND AUTHEN’IYCATION
`
`Background of the Invention
`
`This invention relates to ensuring the compliance, integrity and
`
`authenticity of microprocessor-based gaming devices utilized in regulated
`
`gaming jurisdictions. These devices are commonly referred to as slot
`
`machines or video poker machines; however, more recent implementations
`
`have combined both aspects and offer a variety of games on a single machine
`
`referred to as a multi-game machine. A commonly configured multi-game
`
`machine would include a plurality of games such as: keno, poker, slots,
`
`blackjack and others. These games can be played separately or be combined
`together to form new games, games within games, thus pushing the limits of
`gaming software and hardware capabilities. As the complexity of these
`gaming devices increases, the difficulty of ensuring regulatory compliance
`increases.
`
`Typical gaming machines of this type utilize a combination of
`
`mechanical devices, electronics, microprocessors and complex software to
`
`generate the gaming experience. Some of the common hardware components
`include a cabinet, handle, jackpot tower, coin acceptor, bill acceptor, credit
`
`meters, back-lit glass, reels, monitors, game doors, buttons, payout hoppers,
`
`lights and speakers. The electronics include many of the following
`components: microprocessor, (also referred to as a central processing unit
`(“CPU”)), read only memory (ROM), random access memory (RAM), high
`speed data bus, peripheral logic chips for serial and parallel ports and driver
`circuitry for lamps, speakers, video and other devices. Typical software
`
`components include: power-up initialization, device drivers, game recovery,
`state machines [to monitor whether the game is in a state of active play,
`
`“sleeping” between active play or off), random number generator, payout
`routine, credit management, graphics engine, sound, game engine, game data,
`
`security, accounting and reporting functions.
`
`In jurisdictions where gaming is legal, use of such gaming devices is
`
`regulated by law. This invention is designed to aid in complying with two
`kinds of gaming regulations:
`those requiring automated verification of the
`
`device’s integrity, and those requiring a method of determining the
`
`authenticity of the device.
`
`As will be described below, verification and authentication are
`
`separate processes. Verification of the gaming software is usually performed
`
`10
`
`15
`
`20
`
`25
`
`3O
`
`35
`
`|PR2020-01218
`
`Sony EX1025 Page 3
`
`IPR2020-01218
`Sony EX1025 Page 3
`
`
`
`WO 99/65579
`
`PCT/AU99/00486 \
`
`before and during game play. Verification is done initially to make certain
`that the program code or other data stored in the gaming device is intact and
`functioning properly by methods known to those skilled in the art. In the
`case of verification, the gaming device’s software is usually required to be
`
`check-summed or cyclic redundancy checked (CRC). During program
`execution (1.6., the course of game play] the software images are periodically
`
`re—checked in order to ensure that the storage media in which the program
`
`code/data is stored has not become corrupted. This periodic verification is
`
`important because media corruption has been known to generate erroneous
`
`jackpots.
`Occasionally, the software is authenticated, which is typically a
`process carried out by a third party (other than the manufacturer or the
`operator/casino) representing the gaming enforcement agency that has
`jurisdiction over the device. Its purpose is to ensure that the software
`
`controlling the game has not been tampered with, and software
`authentication is usually required after a large jackpot has been obtained by a
`player. Authentication also verifies that the gaming software was previously
`examined and approved by the gaming agency in whose jurisdiction the
`
`jackpot occurred.
`In addition, the casino likes to verify that the software running the
`
`game is legitimate particularly if the machine is not earning the expected
`amount of revenue or in response to player complaints about the behavior of
`
`a particular game.
`In prior art devices, authentication is usually accomplished by one of
`two methods. Both methods require the opening of the game, the removal of
`
`CPU and the removal of software, typically stored in EPROMS,
`
`(Electronically Programmable Read Only Memory] from the CPU. Then, in
`the first method, the removed EPROMS are compared with a custodial (or
`
`master) set of EPROMS which have been kept in a secure location. If the
`comparison indicates that they are the same, the software is considered to be
`
`authentic. The second method involves plugging each EPROM into an
`
`electronic authentication device which generates an authentication
`
`identification (id) for the image resident in the EPROM. The resulting
`
`authentication ids are compared to previously recorded ids for those
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`EPROMS. If they are identical, the software is labeled authentic.
`
`Existing authentication methods are well-suited to prior art devices
`
`|PR2020-01218
`
`Sony EX1025 Page 4
`
`IPR2020-01218
`Sony EX1025 Page 4
`
`
`
`WO 99/65579
`
`PCT/AU99/00486 g
`
`which use ROM type storage; and which typically are stand-alone gaming
`machines. However, with the advent of new storage technologies, increased
`
`storage requirements of modern operating systems, and multi-game
`multimedia gambling devices involving a plurality of gaming machines in
`communication with each other, the prior art methods are no longer
`
`sufficient.
`
`And though Silicon Gaming has invented a method for
`
`“authenticating” software stored in other media, it ignores the existing
`authentication paradigm presently accepted in gaming. Thus, there is a need
`for a means of verifying and authenticating software stored in modern media
`that is compatible with existing gaming regulations and practices. It is also
`believed that such methods should take into account the practice of relating
`
`software and modular functionality to EPROMS like prior art systems. The
`
`industry is comfortable with having a set of EPROMS for “System” software
`and a set for each model (comprising unique pay schedule, symbols, and/or
`play rules), or a set for each game in a multi—game environment. It is further
`thought that remote authentication is desirable to said agencies. Lastly, it is
`thought that a method of authentication that does not require the removal of
`gaming software from the machine is desirable to the operator.
`
`10
`
`15
`
`20
`
`Summary of the Invention
`
`It is an object of the present invention to provide a device for use
`
`within a gaming machine, such as a slot machine or a multi-game machine,
`which allows for continuous verification of gaming software stored in
`
`modern media in a manner consistent to that which occurs in EPROM based
`
`prior art systems.
`Still another object of the present invention is to provide a device for
`
`use within a gaming machine, such as a slot machine or a multi-game
`
`machine, which allows for verification of data files.
`
`Still another object of the present invention is to provide a method
`
`that can be used within a gaming machine, that will allow software
`
`authentication without requiring the removal of gaming software (program
`
`files) from within the gaming machine.
`
`Still another object of the present invention is to provide a method
`
`that allows for authentication of the gaming software (program files) without
`
`requiring removal of the central processing unit from the gaming machine.
`Still another object of the present invention is to provide a method
`
`25
`
`30
`
`35
`
`|PR2020-01218
`
`Sony EX1025 Page 5
`
`IPR2020-01218
`Sony EX1025 Page 5
`
`
`
`WO 99/65579
`
`PCT/AU99/00486 g
`
`that allows for authentication of the gaming software [program files] from a
`
`remote location.
`
`Still another object of the present invention is to provide a method
`
`that allows for authentication of the gaming software [program files)
`according to specifications set forth by the 12C.
`Still another object of the present invention is to provide a method
`
`that allows for authentication of the gaming software [program files) from
`
`within the gaming machine.
`Still another object of the present invention is to provide a method
`
`10
`
`that can be used within a gaming machine, that will allow data file
`
`authentication without requiring the removal of the data files from the
`
`15
`
`20
`
`25
`
`gaming machine.
`Still another object of the present invention is to provide a method
`
`that allows for authentication of the data files without requiring removal of
`
`the central processing unit from the gaming machine.
`Still another object of the present invention is to provide a method
`
`that allows for authentication of the data files from a remote location.
`
`Still another object of the present invention is to provide a method
`
`that allows for authentication of data files according to specifications set
`
`forth by the 12c.
`Still another object of the present invention is to provide a method
`
`that allows for authentication of the data files from within the gaming
`
`machine.
`
`Still another object of the present invention is to provide a method of
`
`relating gaming software stored in non-EPROM media as if it were embodied
`in EPROM media.
`
`Still another object of the present invention is to provide a method of
`
`configuring gaming software stored in non-EPROM media as if the software
`
`were embodied in EPROM media.
`
`30
`
`'
`
`Still another object of the present invention is to provide a method of
`
`reporting gaming software stored in non-EPROM media as if the software
`
`were embodied in EPROM media.
`
`Still another object of the present invention is to provide a method of
`
`verifying gaming software stored in non—EPROM media as if it were
`
`35
`
`embodied in EPROM media.
`
`Still another object of the present invention is to provide a method of
`
`|PR2020-01218
`
`Sony EX1025 Page 6
`
`IPR2020-01218
`Sony EX1025 Page 6
`
`
`
`WO 99/65579
`
`PCT/AU99/00486 g
`
`authenticating gaming software stored in non—EPROM media as if it were
`embodied in EPROM media.
`
`Still another object of the present invention is to provide a method of
`
`representing gaming software stored in non-EPROM media as if it were
`embodied in EPROM media.
`
`Still another object of the present invention is to register the agent
`
`making the authentication request.
`The present invention is a control system for electronic gaming
`
`machines which comprises a control means having a microprocessor,
`memory means, storage means, a means for operating the gaming machine, a
`plurality of program means and a plurality of data means, a ROM [Read Only
`Memory), a plurality of input/output means, a means for receiving power and
`a means for supplying power. The ROM includes means to verify and
`
`authenticate the program means and the data means, in response to a request
`from a requesting agent, which is external to the control system. The
`requesting agents can be located externally with respect to the gaming
`machine, or can be located within the gaming machine. The verification and
`
`authentication means include a loader program, a verification program, an
`authentication program, and a presentation program. Mass storage media in
`communication with the control means store pie-verified and approved
`
`gaming software [program files) and related data files, each of which has a
`unique verification signature (or identification means) appended to them.
`Prior to usage of the gaming software, a program file or data file is retrieved
`by the loader program and checked by the verification program, which
`compares the verification signature with a newly calculated verification
`Signature. If the newly calculated signature matches the verification
`signature, the requested file is deemed to be intact (a validated image]. The
`verification process ensures that the file has been retrieved in its entirety and
`is free from corruption caused by storage media faults. The control system
`also includes means to control the operation of the verification program and
`
`the gaming machine, depending on the outcome of the verification program
`and the authentication program, respectively. If any corruption has occurred,
`
`the control device displays an error message and the verification process is
`
`halted. After verification, all pending requests for authentication from
`
`authentication agents [requesting agents) are processed by a queuing means.
`Each request includes a set of authentication instructions and a reply
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`|PR2020-01218
`
`Sony EX1025 Page 7
`
`IPR2020-01218
`Sony EX1025 Page 7
`
`
`
`WO 99/65579
`
`PCT/AU99/00486 ‘
`
`destination (at responder means). The responder means is external to the
`control system, and can be situated either externally with respect to the
`gaming machine, or internally in the gaming machine. After queuing, an
`authentication interpreter processes the validated image pursuant to the
`
`requester’s instruction. The presentation program reports the resulting
`authentication identification to the requested destination which either
`
`acknowledges or refuses’authorization. If acknowledged, the image is used;
`
`if refused, an error is displayed and the process is halted.
`
`The present invention offers a number of benefits. First, the present
`invention allows one or more external authenticating agents to perform the
`
`10
`
`authentication process. This results in better accountability to regulatory
`
`authorities because the manufacturer is not certifying its own authenticity.
`
`Second, each authenticating agent can use its own method (or multiple
`
`methods) of authentication using unique supplied authentication math
`
`15
`
`instruction sets. Further, the same system can be used by the software
`
`manufacturer during the software release and/or upgrade process to ensure
`
`that the correct configuration of software has been installed on the gaming
`machine. This method is capable of distinguishing between media
`
`corruption and deliberate tampering of software components. In-house
`tampering or rigging of the software could also be detected if each
`
`department within the manufacturer has its own authentication instruction
`set; one group could easily check the work of another. Additional advantages
`include authentication which can be remotely accomplished; authentication
`
`requests are queued by the invention and can be flexibly scheduled; software
`can be managed as related groups through the V—PROM registry; and a wider
`range of gaming hardware can be used due to the hardware abstraction
`
`aspects of the registry.
`The V—PROM (Virtual Programmable Read Only Memory) Registry aids
`
`in the retrieval and management of related stored binary information by
`
`logically grouping discrete data and program entities together as if they were
`
`stored in ROM type media.
`
`The V-PROM Registry is a program/data directory which provides
`
`crucial information used in the management, retrieval and authentication of
`
`related programs and data sets. In prior art gaming inventions, related
`programs and data are typically stored in the same EPROM set. In such
`inventions, it is not uncommon to find a dozen system tasks or more stored
`
`20
`
`25
`
`30
`
`35
`
`|PR2020-01218
`
`Sony EX1025 Page 8
`
`IPR2020-01218
`Sony EX1025 Page 8
`
`
`
`WO 99/65579
`
`PCT/AU99/00486 _
`
`in the same EPROM set -- a set is typically comprised of two EPROMS, the
`first containing the data stored in the odd- numbered addresses and the
`
`second containing the data stored in the even-numbered addresses.
`However, when using general purpose storage media such as a hard drive, the
`
`tendency, due to modern operating system design, is to store each process,
`task and data set as a separate discrete file. Using modular development
`techniques, it is not unusual to have thirty or more processes and several
`dozen data images stored on a hard drive in the form of files. Authentication
`of prior art systems is easily accomplished, being done at the EPROM level,
`resulting in one authentication id for each EPROM, a typical gaming device
`having one to twelve EPROMS. Whereas, the job of authenticating one
`hundred plus discrete files on a hard drive is a much more difficult and error-
`prone task. In order to maintain the same kind of one-to-many grouping
`characteristics naturally occurring in ROM style media, a relational database
`
`directory was designed to store logical EPROM-like grouping information,
`termed the V—PROM Registry. The Registry contains the location and media
`
`type of related stored programs and data sets, each group having a unique V-
`PROM name. As an added benefit, the V—PROM Registry abstracts the type of
`
`storage media from the authentication process thus allowing for the use of a
`
`wider variety of storage media.
`The final step of the software installation phase is to update the
`directory of installed software in the V—PROM Registry, noting the images’
`storage locations, media types and defining logical groupings for related
`
`programs and associated data.
`V—PROMS are logical containers that contain software and related data.
`
`V-PROMS can also contain other V-PROMS, thus, a given software
`
`configuration can be stored as a V-PROM containing a series of “smaller” V—
`PROMS which describe all of the software games to be installed for a specific
`
`10
`
`15
`
`20
`
`25
`
`operator/casino installation. Subsequently, by authenticating the “parent” V-
`PROM, the whole software installation can be verified.
`
`30
`
`Brief Description of the Drawings
`The invention will be better understood by a Detailed Description of
`
`the Invention, with reference to the drawings, of which:
`
`Figure 1 is a schematic diagram of the device of the present invention
`
`35
`
`and related hardware components;
`
`Figure 2 is a block diagram providing a conceptual overview of the in-
`
`|PR2020-01218
`
`Sony EX1025 Page 9
`
`IPR2020-01218
`Sony EX1025 Page 9
`
`
`
`WO 99/65579
`
`PCT/AU99/00486 ‘
`
`factory software installation process and the in-field software verification and
`authentication process; and
`Figures 3A and 3B are block diagram describing the authentication
`
`process in greater detail than outlined in Figure 2.
`
`Detailed Description of the Preferred Embodiment
`Figure 1 illustrates the hardware components utilized in the preferred
`embodiment of this invention. Other hardware configurations are possible
`
`because of the modular nature of this design. The present invention is a
`
`control system 10 for a gaming machine. The gaming machine is not shown,
`but can be either a slot machine, a video poker machine, or a newer
`implementation which has combined aspects of both types of machines and
`offers a variety of games on a single machine referred to as a multi-game. A
`
`commonly configured multi—game machine includes a plurality of games
`such as: keno, poker, slots, blackjack and others. Typical gaming machines
`of this type utilize a combination of mechanical devices, electronics,
`microprocessors and complex software to generate the gaming experience.
`Some of the common hardware components used are as follows: a cabinet,
`
`handle, jackpot tower, coin acceptor, bill acceptor, credit meters, back-lit
`glass, reels, monitor, game door, buttons, payout hopper, lights and speakers.
`The control system 10 (Fig. 1) comprises four major modules. The first
`module is a commercially available Single Board Computer [SBC). Second,
`Module 60 represents commercially available storage media. Third, module
`70 is a commercially available power supply. The fourth module 80 is the
`custom manufactured Input Output [I/O] Control Board (the “IOCB”]. A
`
`detailed description of the IOCB is found in NuGame’s patent application
`Serial No.60,085892, for an Intelligent Input/Output control System, filed 18
`May 1998, 1998. A fifth module 90 is a Non—volatile RAM storage board. All
`five components are in electronic communication with each other. SBC
`connects to storage medium 60 through either of an EIDE cable, or a SCSII
`
`10
`
`15
`
`20
`
`25
`
`30
`
`cable in the case of a SCSII base SBC. SBC also is connected to the IOCB 80
`
`and the non-volatile RAM storage board 90 through a stackable PC104 Plus
`
`connector. Power supply 70 supplies power to the other four components via
`power cables and connectors, components which are known to those skilled
`in the art. This regulated power supply provides power at the proper voltage
`
`35
`
`and current that each component requires.
`
`In detail, the SEC has the following components in electronic
`
`|PR2020-01218
`
`Sony EX1025 Page 10
`
`IPR2020-01218
`Sony EX1025 Page 10
`
`
`
`WO 99/65579
`
`PCT/AU99/00486 g
`
`communication with each other. The microprocessor (or CPU) 12 is a x86
`
`CPU such as a PentiumTM or Pentium IITM processor with MMXTM or
`equivalent technology. CPU 12 is in communication with a high speed
`processor cache 14 for improved performance; glue logic chips 16 for driving
`high speed data busses and interfacing the processor 12 to other high speed
`components such as RAM, Video processors, network chips, and I/O boards,
`High speed RAM sockets 18 typically DlMM or SIMM (Dual Inline Memory
`Module or Single Inline Memory Module, respectively) style; an integrated
`high speed network interface 20, such as, but not meant to be limited to, an
`Ethernet network connection; a network interface connector 22; an integrated
`
`high speed video processor, 24 video monitor connection; 26 are also
`components of the Single Board Computer 10. Other components of the SBC
`include power connector 28; a custom peripheral I/O cip 30 for driving a
`plurality of serial I/O, parallel I/O; and a disk subsets such as EIDE or SCSII.
`A plurality of EIDE or SCSII storage media connectors; 32, a plurality of serial
`and parallel I/O connections 34; an integrated sound chip 36; sound
`connection 38; and [9) stackable PC104 Plus connector 40 are also
`components of the SBC. It is important to note that this invention is not tied
`to a specific SBC or manufacturer. This is accomplished through the use of a
`general purpose operating system (OS) and a method of hardware
`abstraction. The manner of hardware abstraction is described in NuGame’s
`
`patent application, Serial No.60/094068, for an I/O Interface and Device
`Abstraction, filed 24 July 1998, 1998. Thus, the present invention treats the
`SBC as a component which can be swapped or upgraded as new boards
`
`10
`
`15
`
`20
`
`25
`
`become commercially available.
`
`3O
`
`The second module, also referred to as storage media module 60,
`
`represents the use of general use purpose mass storage media. The media
`represented in storage media module 60 can include: Hard disk drive units,
`CD-ROMS [Compact Disk—Read Only Memory), solid state storage devices, or
`other storage media used in the Personal Computer (PC) industry. This
`media is connected to the SBC through a PC industry standard interface such
`
`as EIDE, SCSII, or PCMCIA interface 62. Where spinning media is used, 143;,
`
`a hard disk drive unit, a CD-ROM drive unit, or a Digital Video Disk (DVD)
`
`drive unit, as examples, reference numeral 64 represents a drive spindle.
`
`35
`
`Other elements that may be unique to a particular type of mass storage
`
`medium are not shown. Storage media 60 may also represent a file server
`
`|PR2020-01218
`
`Sony EX1025 Page 11
`
`IPR2020-01218
`Sony EX1025 Page 11
`
`
`
`WO 99/65579
`
`PCT/AU99/00486 ,
`
`10
`
`connected to the control system. Although the present invention can
`
`function without mass storage, it is specifically designed to exploit the
`
`advantages of such devices.
`A custom I/O Control Board 80 is interfaced to the SBC through a
`
`stackable PC-104 Plus connector. This board is responsible for interfacing to
`
`all of the machine components utilized in a gaming device. This board also
`functions as a bridge to other intelligent I/O devices attached to the 12C
`network at 84, an interface connection. Reference numeral 86 indicates a
`
`connector which connects the IOCB 80 with power supply 70.
`
`(A detailed
`
`description of the IOCB 80 is found in patent application Serial No.60/085892
`for an Intelligent Input/Output Control System, filed 18 May, 1998.
`Thus, the SBC and the IOCB 30 direct the operation of the various
`
`displays, controls, video, sound, and other peripherals of the gaming
`machine. The operation of SEC, IOCB 80 and the gaming machine(s] is
`directed by plurality of program files stored within the memory of the
`
`system’s components.
`The verification and authentication program included in the present
`
`invention has enhanced media verification, program/data management and
`
`authentication capabilities. These attributes enable the control system to
`better manage the large volume of software and data normally associated
`with a multi-game gaming device while ensuring the compliance, integrity
`and authenticity of each component. In addition, this invention also
`substantially aids in the reduction of software configuration errors that tend
`
`to accompany a device of this complexity.
`Figure 2 is a diagram of a conceptual overview of the verification and
`authentication program 199. This verification and authentication program
`199 is uniquely distinguished by interactions of three major components and
`the methods contained therein: a Loader 226 with media verification
`
`methods, a data/program directory 228 termed “V-PROM Registry” [Virtual
`Programmable Read Only Memory), and a distributed Authentication Engine.
`The Loader 226 functions to retrieve and verify the integrity of data and
`
`programs stored on a wide variety of media such as EPROMS, hard drivers,
`CD-ROMS, flash disks, fileservers, other ROMS such as PROM or EEPROM.
`
`The V-PROM Registry 228 aids in the retrieval and management of related
`
`stored binary information by logically grouping discrete data and program
`entities together. Contained within V-PROM Registry 228 are other program
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`|PR2020-01218
`
`Sony EX1025 Page 12
`
`IPR2020-01218
`Sony EX1025 Page 12
`
`
`
`WO 99/65579
`
`PCT/AU99/00486 ‘
`
`11
`
`files which include relational database and directory functions to perform
`
`this logical grouping of the program files and data files. The Authentication
`
`Engine is responsible for calculating and reporting authentication
`identifications (ids) according to instructions found in the pending
`
`authentication requests that are associated via V-PROM registry to the
`
`programs and related data being loaded. All three of these components
`interact in order to carry'out requests for authentication as shown in Figure
`
`2, and further described below.
`
`The verification and authentication process to verify the integrity of
`
`10
`
`the images being retrieved by the gaming software is a two-phase process and
`
`15
`
`illustrated in Figure 2. The first phase, data/program preparation is
`
`accomplished by the In-Factory Software Installation Process 200. As its
`name suggests, the In-Factory Software Install Program is performed at the
`
`factory where the gaming machine is produced, prior to shipment. The
`second phase, software retrieval and verification process 220 is accomplished
`in the field by the Loader and Media Signature Verification routines located
`in the EPROM based Control Program stored on SBC. This phase verifies the
`integrity of the installed media, to make sure the program files and data files
`contained therein have not been damaged by faulty or defective storage
`
`20
`
`media.
`
`The first phase of the Software Installation configuration verification
`
`process 199 is an in—factory phase (also referred to as the data preparation
`phase 200) and is comprised of installing each processed program or data file
`202 utilizing a Media Verification Signature Utility program 204. The media
`verification signature utility can be chosen from any one of a number of
`
`verification programs known to those skilled in the art. The output of this
`utility is a media verification signature 203. This signature 208 is calculated
`using either a cyclic redundancy check or a check sum using one of two
`common methods known to those skilled in the art. The complement 210 of
`
`the signature is appended to the end of its associated program or data