Typically, utilizing a master gaming controller, a gaming machine controls various combinations of devices that allow a player to play a game on the gaming machine and also encourage game play on the gaming machine. For example, a game played on a gaming machine usually requires a player to input money or indicia of credit into the gaming machine, indicate a wager amount, and initiate game play. These steps require the gaming machine to control input devices, such as bill validators and coin acceptors, to accept money into the gaming machine and recognize user inputs from devices, including key pads, button pads, card readers, and ticket readers, to determine the wager amount, and initiate game play. After game play has been initiated, the gaming machine determines a game outcome, presents the game outcome to the player and may dispense an award of some type depending on the outcome of the game. The operations described above may be carried out on the gaming machine when the gaming machine is operating as a “stand alone” unit or linked in a network of some type to a group of gaming machines.
As technology in the gaming industry progresses, more and more gaming services are being provided to gaming machines via communication networks that link groups of gaming machines to a remote computer, such as a host server, that provides one or more gaming services. As an example, gaming services that may be provided by a remote computer to a gaming machine via a communication network of some type include player tracking, accounting, cashless award ticketing, lottery, progressive games, and bonus games or prizes. These services and features are provided in addition to the games that are available for play on the gaming machines.
In a progressive system, a plurality of gaming machines can be linked together. A percentage of game play on each gaming machine can then be used to determine a progressive jackpot value. The progressive jackpot value is typically determined by a central server in communication with each of the linked gaming machines. The central server updates the progressive jackpot value as it receives information regarding game play on the linked gaming machines and broadcasts this progressive jackpot value to the linked gaming machines.
The progressive jackpot value usually begins at some pre-defined value and continually increases until a win or a hit occurs at one of the linked gaming machines in the progressive system. After a win, the progressive jackpot is paid out at the machine showing the hit jackpot and the system resets to the pre-defined value and begins incrementing again. This procedure then repeats as jackpots are won and game play continues.
One type of progressive system links gaming machines spread out over many locations, such as gaming machines in stores, casinos and airports distributed throughout the state of Nevada. This type of system is typically referred to as a “wide area progressive” (WAP) system and a jackpot on this type of system is referred to as a wide area progressive (WAP) jackpot. A WAP system can link thousands of gaming machines and the WAP jackpot can reach values that are in the hundreds of thousands of dollars or millions of dollars.
In Nevada, there are many different WAP systems. The WAP systems are independent of one another such that a gaming machine is hooked to only one WAP system at any one time. Thus, a gaming machine hooked to a particular WAP system is allowed to provide only the progressive jackpots that are available on its system.
Broadly speaking, the invention relates to techniques for providing progressive games. One or more progressive games can be provided for a gaming environment that includes one or more gaming machines (or units) operable for playing one or more games.
In accordance with one aspect of the invention, progressive configuration data can effectively define one or more progressive games for a gaming environment. The progressive gaming data can, for example, be provided as a set of rules (e.g., rules in an XSLT form) and/or in an editable form to allow a human (e.g., administrator) to create and modify it in a convenient manner as needed. In accordance with one embodiment, a progressive configurator can use the progressive configuration data to effectively implement one or more progressive games. The progressive configurator can, for example, be provided by a gaming server that serves a plurality of gaming machines in a gaming environment. The gaming machines can send gaming data to the progressive configurator to allow the progressive configurator to determine whether each gaming machine is eligible to participate in one or more progressive games defined by the progressive configurator data. The gaming data can, for example, include information about a gaming machine (e.g., serial number, network, location), one or more games available on the gaming machine (e.g., type of the game, minimum and maximum bet for a game), and gaming data regarding a specific game instance (e.g., amount wagered, outcome of a game instance).
In one embodiment, the gaming machines initially report a set of parameters that effectively indicate their gaming capabilities and parameters (e.g., type of game available, probability of success for a game, minimum and maximum wagers allowed for a games). Based on the initial gaming data, an administrator can generate progressive configuration data that effectively defines one or more progressive games for the gaming machines. The progressive configuration data is then provided to a gaming server that effectively provides a progressive configurator for the gaming machines. The progressive configurator determines whether each of the gaming machines is eligible to participate in one or more progressive games defined by the progressive configuration data. If a gaming machine is eligible to participate in a progressive game, the progressive configurator can effectively wait for a qualifying bet to be made. In accordance with one embodiment, a gaming machine reports the qualifying bet to the progressive configurator when a wager has been made. The progressive configurator can then determine that a particular instance of a game played on the gaming machine can participate in playing one or more progressive games. In addition, the amount of contribution to a progressive game and/or whether there is a win and/or prize amount can be determined by the progressive configurator and/or a progressive gaming manager in communication with the progressive configurator. Furthermore, the progressive gaming manager can be configured to effectively manage one or more progressive games for the gaming environment by providing administrative and accounting functionality.
The invention can be implemented in numerous ways, including, for example, a method, an apparatus, a computer readable medium, and a computing device. Several Exemplary embodiments of the invention are discussed below.
Other aspects and advantages of the invention will become apparent from the following detailed description, taken in conjunction with the accompanying drawings, illustrating by way of example the principles of the invention.
The present invention will be readily understood by the following detailed description in conjunction with the accompanying drawings, wherein like reference numerals designate like structural elements, and in which:
As noted in the background section, progressive games have become popular. Conventionally, a gaming machine can be configured to participate in a progressive game. However, configuring a gaming machine to participate can be cumbersome and can generally lead to static configurations that is often difficult to implement and modify. These problems are especially pronounced in modern gaming environment when many gaming machines can be configured for a gaming environment, new machines and games are often added, old machines are replaced and/or upgraded, and several games may be available on each gaming machine in a gaming environment that games can be downloaded as needed. Accordingly, improved techniques for providing progressive games in a gaming environment would be useful.
The invention pertains to techniques for providing progressive games in a gaming environment that can include one or more gaming machines (or units) operable for playing one or more games. In accordance with one aspect of the invention, progressive configuration data can effectively define one or more progressive games for a gaming environment. The progressive gaming data can, for example, be provided as a set of rules (e.g., rules in an XSLT form) and/or in an editable form to allow a human (e.g., administrator) to create and modify it in a convenient manner as needed. In accordance with one embodiment, a progressive configurator can use the progressive configuration data to effectively implement one or more progressive games. The progressive configurator can, for example, be provided by a gaming server that serves a plurality of gaming machines in a gaming environment. The gaming machines can send gaming data to the progressive configurator to allow the progressive configurator to determine whether each gaming machine is eligible to participate in a progressive game defined by the progressive configurator data. The gaming data can, for example, include information about a gaming machine (e.g., serial number, network, location), games available on the gaming machine (e.g., type of games available, minimum and maximum bet for each game available), and gaming data regarding a specific game instance (e.g., amount wagered, outcome of a game instance). In one embodiment, the gaming machines initially report a set of parameters that effectively indicate their gaming capabilities and parameters (e.g., type of game available, probability of success for a game, minimum and maximum wagers allowed for a games). Based on the initial gaming data, an administrator can generate progressive configuration data that effectively defines one or more progressive games for the gaming machines. The progressive configuration data is then provided to a gaming server that effectively provides a progressive configurator for the gaming machines.
It will be appreciated that the progressive configurator can determine whether each gaming machine is eligible to participate in one or more progressive games defined by the progressive configuration data. If a gaming machine is eligible to participate in a progressive game, the progressive configurator can effectively wait for a qualifying bet to be made. In one embodiment, a gaming machine reports the qualifying bet to the progressive configurator when a wager has been made. The progressive configurator can then determine that a particular instance of a game played on the gaming machine can participate in one or more progressive games (e.g., contribution to a progressive prize and/or win a progressive prize). In addition, the amount of contribution to a progressive prize, whether there is a win and/or the prize amount to be awarded can be determined by the progressive configurator and/or a progressive gaming manager in communication with the progressive configurator. The progressive gaming manager can be configured to effectively manage one or more progressive games for the gaming environment by providing administrative and accounting functionality.
Embodiments of these aspects of the invention are discussed below with reference to
More particularly, the progressive gaming configurator 102 can use progressive configuration data 108 in order to effectively implement one or more progressive games for the gaming environment 100. It will be appreciated that the progressive configuration data 108 can effectively define one or more progressive games including one or more progressive prizes for each of the progressive games that it defines. The progressive configuration data 108 can be received, selected, identified and/or determined by the progressive gaming configurator 102. Typically, the progressive configuration data 108 is provided as input to the progressive configurator 102 and subsequently processed by the progressive configurator 102 to effectively implement one or more progressive games based on the definitions effectively provided by the progressive configuration data 108 for the gaming environment 100.
In one embodiment, the progressive configuration data 108 includes a set of rules that effectively define one or more progressive games and/or progressive prizes (e.g., rules expressed in an XSLT form or format). In one embodiment, rules are provided in a XSLT form. As known in the art, Extensible Stylesheet Language Transformations (or XSLT) is an XML language used for the transformation of XML documents. The original document is not changed; rather, a new document is created based on the content of an existing one. The new document may be serialized (output) by the processor in standard XML syntax or in another format, such as HTML or plain text. XSLT is most often used to convert data between different XML schemas or to convert XML data into web pages or PDF documents. The Extensible Markup Language (XML) is a W3C-recommended general-purpose markup language for creating special-purpose markup languages, capable of describing many different kinds of data. In other words, XML is a way of describing data and an XML file can contain the data too, as in a database. It is a simplified subset of Standard Generalized Markup Language (SGML). Its primary purpose is to facilitate the sharing of data across different systems, particularly systems connected via the Internet. Languages based on XML (for example, Geography Markup Language (GML), RDF/XML, RSS, Atom, MathML. XHTML. SVG, Klip and MusicXML) are defined in a formal way, allowing programs to modify and validate documents in these languages without prior knowledge of their particular form.
In general, the progressive configuration data 108 can effectively define, describe and/or specify one or more progressive games and their associated prizes for the gaming environment 100. As such, those skilled in the art will readily appreciate that the progressive configuration data 108 can be provided in numerous forms and formats using various techniques (e.g., data stored as records in a database, configuration files stored in an editable format). The progressive configuration data 108 can, for example, be generated and/or modified by an administrator 111 using a terminal and/or computing system 110 which can be in communication with the progressive configurator 102 and/or another computing system or storage (not shown) where the progressive configuration data 108 can be stored. In any case, the progressive configurator 102 can effectively use the progressive configuration data 108 to provide one or more progressive games for the gaming environment 100.
In addition to the progressive configuration data 108, gaming data 112 can be used by the progressive configurator 102 in order to effectively provide and/or implement one or more progressive games for the gaming environment 100. In general, the gaming data 112 can provide information about gaming machines 104 and 106, the games available on them, as well as data associated with gaming instances of games played on the gaming machines 104 and 106. As such, the gaming data 112 can, for example, include data pertaining to characteristics and/or capabilities of a particular gaming machine and/or one or more games available on the gaming machine (or gaming machine specific data). Gaming machine specific data can, for example, be provided as one or more static data parameters (e.g., serial number, hardware capabilities, denominations available for game play, games currently available). The gaming data 112 can also include data associated with game play or a particular game instance which can be provided in real time as the game is being played. This type of data can, for example, be provided as one or more dynamic data parameters (e.g., amount of the current wager, outcome of the game). The gaming data 112 can, for example, be provided in an XML form and/or format. Those skilled in the art will appreciate that gaming data can, for example include one or more of the following: an identification name and/or number, a location, a manufacturer, a serial number, a group and/or bank ID, denominations available for game play, games available, progressive triggers, progressive win categories, progressive pay combinations, possibilities of progressive outcomes, base credits wagered, bet amounts, number of line played, links available, and themes available.
It will be appreciated that the progressive configurator 102 can use the progressive configuration data 108 and/or gaming data 112 in order to allow the gaming machines 104 and 106 to participate in one or more progressive games. Typically, the progressive configurator 102 uses both progressive configuration data 108 and gaming data 112 to effectively facilitate and/or implement a progressive game. By way of example, progressive configuration data 108 can be used to determine whether the gaming machine 104 is eligible to participate in a first progressive game when a wager of at least a first amount (e.g., $5.00) has been made for a particular game (e.g., bingo). In other words, progressive configuration data 108 can, for example, define the first progressive game as a bingo game with a wager of at least $5.00. The gaming machine 104 may effectively report to the progressive configurator 102 that it is operable for the bingo game and offers a wager of $5.00 or higher (e.g., gaming machine 104 can send the progressive configurator 102 one or more data parameters indicating that it offers a wager of $5.00 or higher). Subsequently, gaming data relating to game played or being played on the gaming machine 104 a can be sent to the progressive configurator 102 (e.g., when a player makes a wager of $5.00 or higher on a bingo game on the gaming machine 104, one or more parameters can be sent by the gaming machine 104 to the progressive configurator 102). The progressive configurator 102 can then determine that a qualifying bet has been made which can participate and win one or more progressive prizes, thereby effectively implementing a progressive game for the gaming environment 100. It should be noted that this determination can generally be made by the progressive configurator 102 based on the progressive configuration data 108 and additionally based on the gaming data 112 if there is a need. In some cases there may not be a need for gaming data 112 (e.g., progressive configuration data 108 can effectively allow all bets made on a particular gaming machine to contribute to a progressive prize.
It should be noted that progressive configurator 102 can also determine and/or receive progressive gaming data 114 relating to the one or more progressive games effectively defined by the progressive configuration data 108 and provided for the gaming environment 100. The progressive data 114 can, for example, provide the outcome of a progressive game, update a progressive prize, and indicate the amount of a progressive prize to be awarded. As such, the progressive gaming data 114 can be provided to the gaming machines 104 and 106 in order to effectively manage a progressive game. It should be noted that a progressive manager 120 can effectively manage one or more progressive games for the gaming environment 100 and can be in communication with the progressive configurator 102. The progressive manager 120 can at least manage some aspects of a progressive game, or effectively manage the progressive game entirely. Hence, a progressive game can be effectively managed by the progressive configurator 102 and/or progressive manager 120. As such, the progressive gaming data 114 can be determined by the progressive configurator 102 and/or progressive manager 120. Depending on the type of the progressive game (e.g., symbol-based, mystery-based) various operations can be performed to effectively manage a progressive game. Some exemplary operations are discussed below. Those skilled in the art will appreciate that the progressive manager 120 can be part of the progressive configurator 102 or vice versa. It should also be noted that progressive configuration data 108 and/or gaming data 112 can be provided as one or more parameters including static and dynamic parameters.
Referring back to
To further elaborate,
It should be noted that the gaming data 308 can, for example, be sent by the gaming machines M1, M2, M3, M4 and M5 to the progressive configurator 301 and/or effectively obtained by the progressive configurator 301. The progressive configuration data 310 can, for example, be provided by an administrator and/or transformed into a set of rules (e.g., as a set of rules in an XSLT form or format). In any case, the gaming data 308 and progressive configuration data 310 can effectively be provided as input to the progressive configurator 301 which can use the information to effectively implement a progressive game. By way of example, based on the gaming data 308, the progressive configurator 301 can determine that the gaming machines M2, M4 and M5 may be eligible to participate in the progressive game effectively defined by the progressive configuration data 310. This means that the gaming machines M1 and M3 may not participate because their maximum betting amount (or max bet B1) is below the minimum required amount ($2) for the secondary progressive prize. However, a bet made for at least $2 on the gaming machines M2, M4 and M5 for a game within the P probability range can contribute to the primary and/or secondary progressive prizes and possibly win them. In other words, the probabilities P1, P2 and P3 associated with each of the gaming machines M1, M4 and M5 can be considered by the progressive configurator 301 in order to determine eligibility. Assuming that the probabilities P1, P2 and P3 are all within the acceptable range (P), gaming machines M2, M4 and M5 are eligible for the primary and secondary progressive prizes effectively defined by the progressive configuration data 310. As such, additional gaming data 312, 314, 316 can be provided to the progressive configurator 301 in order to determine whether a gaming instance played on one of the gaming machines M2, M4 and M5 can effectively participate in the progressive game defined by the progressive configuration data 310. By way of example, when a wager (e.g., $2) has been placed during game play on the gaming machine M2, the gaming machine M2 can send the gaming data 312, including the amount of wager, to the progressive configurator 301 in order to inform the progressive configurator 301 that a wager has been made. The progressive configurator 301 can then determine whether the wager qualifies for the primary and/or the secondary progressive prize. By way of example, a $2 bet on the gaming machine M2 can contribute to the secondary progressive prize and a $5 bet can contribute to the primary progressive prize and possibly to the secondary progressive prize depending on the gaming rules, regulation and/or preferences.
In addition to the amount of wager ($2), the gaming data 312 can provide additional data about the game including the outcome of the game (e.g., win or lose indication, actual or specific outcome of the game). In general, the outcome of the game can be determined by a gaming machine, another entity (e.g., gaming server) and/or the progressive configurator 301. Similarly, the determination of whether a progressive payout should be made can be determined by the progressive configurator 301 and/or another entity, for example, a wide area progressive game server 320 that is in communication with the progressive configurator 301. Depending on the result of the progressive game, progressive configurator 301 can receive and/or determine progressive gaming data 318 which can, for example, indicate a pay amount and/or provide updates for the progressive game and/or prize (e.g., provide an update for what the current value of the prize is). The progressive configurator 301, wide area progressive game server 320 and/or another entity (e.g., a progressive manager not shown) can effectively manage the progressive games by providing services that include accounting and administrative functions.
Referring to
Referring now to
Referring to
Top box 11, which typically rests atop of the main cabinet 12, may contain a ticket dispenser 28, a key pad 29, one or more additional displays 30, a card reader 31, one or more speakers 32, a top glass 33, one or more cameras 34, and a secondary video display monitor 35, which can similarly be a cathode ray tube, a high resolution flat-panel LCD, a plasma/LED display or any other conventional or other type of appropriate video monitor. Alternatively, secondary display monitor 35 might also be foregone in place of other displays, such as gaming reels or physical dioramas that might include other moving components, such as, for example, one or more movable dice, a spinning wheel or a rotating display. It will be understood that many makes, models, types and varieties of gaming machines exist, that not every such gaming machine will include all or any of the foregoing items, and that many gaming machines will include other items not described above.
With respect to the basic gaming abilities provided, it will be readily understood that gaming machine 10 can be adapted for presenting and playing any of a number of gaming events, particularly games of chance involving a player wager and potential monetary payout, such as, for example, a wager on a sporting event or general play as a slot machine game, a keno game, a video poker game, a video blackjack game, and/or any other video table game, among others. Other features and functions may also be used in association with gaming machine 10, and it is specifically contemplated that the present invention can be used in conjunction with such a gaming machine or device that might encompass any or all such additional types of features and functions. One item that is specifically contemplated for use with the present invention involves a gaming machine that incorporates a reusable cashless instrument feature, such as a reusable cashless instrument issuing device and/or a reusable cashless instrument reading device.
With respect to electronic gaming machines in particular, the electronic gaming machines made by IGT are provided with special features and additional circuitry that differentiate them from general-purpose computers, such as a laptop or desktop personal computer (“PC”). Because gaming machines are highly regulated to ensure fairness, and in many cases are operable to dispense monetary awards of millions of dollars, hardware and software architectures that differ significantly from those of general-purpose computers may be implemented into a typical electronic gaming machine in order to satisfy security concerns and the many strict regulatory requirements that apply to a gaming environment. A general description of many such specializations in electronic gaming machines relative to general-purpose computing machines and specific examples of the additional or different components and features found in such electronic gaming machines will now be provided.
At first glance, one might think that adapting PC technologies to the gaming industry would be a simple proposition, since both PCs and gaming machines employ microprocessors that control a variety of devices. However, because of such reasons as 1) the regulatory requirements that are placed upon gaming machines, 2) the harsh environment in which gaming machines operate, 3) security requirements and 4) fault tolerance requirements, adapting PC technologies to a gaming machine can be quite difficult. Further, techniques and methods for solving a problem in the PC industry, such as device compatibility and connectivity issues, might not be adequate in the gaming environment. For instance, a fault or a weakness tolerated in a PC, such as security holes in software or frequent crashes, may not be tolerated in a gaming machine because in a gaming machine these faults can lead to a direct loss of funds from the gaming machine, such as stolen cash or loss of revenue when the gaming machine is not operating properly.
Accordingly, one difference between gaming machines and common PC based computers or systems is that gaming machines are designed to be state-based systems. In a state-based system, the system stores and maintains its current state in a non-volatile memory, such that in the event of a power failure or other malfunction the gaming machine will return to its current state when the power is restored. For instance, if a player were shown an award for a game of chance and the power failed before the award was provided, the gaming machine, upon the restoration of power, would return to the state where the award was indicated. As anyone who has used a PC knows, PCs are not state machines, and a majority of data is usually lost when a malfunction occurs. This basic requirement affects the software and hardware design of a gaming machine in many ways.
A second important difference between gaming machines and common PC based computer systems is that for regulation purposes, the software on the gaming machine used to generate the game of chance and operate the gaming machine must be designed as static and monolithic to prevent cheating by the operator of gaming machine. For instance, one solution that has been employed in the gaming industry to prevent cheating and satisfy regulatory requirements has been to manufacture a gaming machine that can use a proprietary processor running instructions to generate the game of chance from an EPROM or other form of non-volatile memory. The coding instructions on the EPROM are static (non-changeable) and must be approved by a gaming regulator in a particular jurisdiction and installed in the presence of a person representing the gaming jurisdiction. Any change to any part of the software required to generate the game of chance, such as, for example, adding a new device driver used by the master gaming controller to operate a device during generation of the game of chance, can require a new EPROM to be burnt, approved by the gaming jurisdiction, and reinstalled on the gaming machine in the presence of a gaming regulator. Regardless of whether the EPROM solution is used, to gain approval in most gaming jurisdictions, a gaming machine must demonstrate sufficient safeguards that prevent an operator of the gaming machine from manipulating hardware and software in a manner that gives the operator an unfair or even illegal advantage over a player. The code validation requirements in the gaming industry affect both hardware and software designs on gaming machines.
A third important difference between gaming machines and common PC based computer systems is that the number and kinds of peripheral devices used on a gaming machine are not as great as on PC based computer systems. Traditionally in the gaming industry, gaming machines have been relatively simple in the sense that the number of peripheral devices and the number of functions on the gaming machine have been limited. Further, the functionality of a gaming machine tends to remain relatively constant once the gaming machine is deployed, in that new peripheral devices and new gaming software is infrequently added to an existing operational gaming machine. This differs from a PC, where users tend to buy new and different combinations of devices and software from different manufacturers, and then connect or install these new items to a PC to suit their individual needs. Therefore, the types of devices connected to a PC may vary greatly from user to user depending on their individual requirements, and may also vary significantly over time for a given PC.
Although the variety of devices available for a PC may be greater than on a gaming machine, gaming machines still have unique device requirements that differ from a PC, such as device security requirements not usually addressed by PCs. For instance, monetary devices such as coin dispensers, bill validators, ticket printers and computing devices that are used to govern the input and output of cash to a gaming machine have security requirements that are not typically addressed in PCs. Many PC techniques and methods developed to facilitate device connectivity and device compatibility do not address the emphasis placed on security in the gaming industry. To address some of these issues, a number of hardware/software components and architectures are utilized in gaming machines that are not typically found in general-purpose computing devices, such as PCs. These hardware/software components and architectures include, but are not limited to, items such as watchdog timers, voltage monitoring systems, state-based software architectures and supporting hardware, specialized communication interfaces, security monitoring, and trusted memory.
A watchdog timer is normally used in IGT gaming machines to provide a software failure detection mechanism. In a normal operating system, the operating software periodically accesses control registers in a watchdog timer subsystem to “re-trigger” the watchdog. Should the operating software not access the control registers within a preset timeframe, the watchdog timer will time out and generate a system reset. Typical watchdog timer circuits contain a loadable timeout counter register to allow the operating software to set the timeout interval within a certain time range. A differentiating feature of some preferred circuits is that the operating software cannot completely disable the function of the watchdog timer. In other words, the watchdog timer always functions from the time power is applied to the board.
IGT gaming computer platforms preferably use several power supply voltages to operate portions of the computer circuitry. These can be generated in a central power supply or locally on the computer board. If any of these voltages falls out of the tolerance limits of the circuitry they power, unpredictable operation of the computer may result. Though most modern general-purpose computers include voltage-monitoring circuitry, these types of circuits only report voltage status to the operating software. Out of tolerance voltages can cause software malfunction, creating a potential uncontrolled condition in the gaming computer. IGT gaming machines, however, typically have power supplies with tighter voltage margins than that required by the operating circuitry. In addition, the voltage monitoring circuitry implemented in IGT gaming computers typically has two thresholds of control. The first threshold generates a software event that can be detected by the operating software and an error condition generated. This threshold is triggered when a power supply voltage falls out of the tolerance range of the power supply, but is still within the operating range of the circuitry. The second threshold is set when a power supply voltage falls out of the operating tolerance of the circuitry. In this case, the circuitry generates a reset, halting operation of the computer.
The standard method of operation for IGT gaming machine game software is to use a state machine. Each function of the game (e.g., bet, play, result) is defined as a state. When a game moves from one state to another, critical data regarding the game software is stored in a custom non-volatile memory subsystem. In addition, game history information regarding previous games played, amounts wagered, and so forth also should be stored in a non-volatile memory device. This feature allows the game to recover operation to the current state of play in the event of a malfunction, loss of power, or the like. This is critical to ensure that correct wagers and credits are preserved. Typically, battery backed RAM devices are used to preserve this critical data. These memory devices are not used in typical general-purpose computers. Further, IGT gaming computers normally contain additional interfaces, including serial interfaces, to connect to specific subsystems internal and external to the gaming machine. The serial devices may have electrical interface requirements that differ from the “standard” EIA RS232 serial interfaces provided by general-purpose computers. These interfaces may include EIA RS485, EIA RS422, Fiber Optic Serial, optically coupled serial interfaces, current loop style serial interfaces, and the like. In addition, to conserve serial interfaces internally in the gaming machine, serial devices may be connected in a shared, daisy-chain fashion where multiple peripheral devices are connected to a single serial channel.
IGT gaming machines may alternatively be treated as peripheral devices to a casino communication controller and connected in a shared daisy chain fashion to a single serial interface. In both cases, the peripheral devices are preferably assigned device addresses. If so, the serial controller circuitry must implement a method to generate or detect unique device addresses. General-purpose computer serial ports are not able to do this. In addition, security-monitoring circuits detect intrusion into an IGT gaming machine by monitoring security switches attached to access doors in the gaming machine cabinet. Preferably, access violations result in suspension of game play and can trigger additional security operations to preserve the current state of game play. These circuits also function when power is off by use of a battery backup. In power-off operation, these circuits continue to monitor the access doors of the gaming machine. When power is restored, the gaming machine can determine whether any security violations occurred while power was off, such as by software for reading status registers. This can trigger event log entries and further data authentication operations by the gaming machine software.
Trusted memory devices are preferably included in an IGT gaming machine computer to ensure the authenticity of the software that may be stored on less secure memory subsystems, such as mass storage devices. Trusted memory devices and controlling circuitry are typically designed to not allow modification of the code and data stored in the memory device while the memory device is installed in the gaming machine. The code and data stored in these devices may include, for example, authentication algorithms, random number generators, authentication keys, operating system kernels, and so forth. The purpose of these trusted memory devices is to provide gaming regulatory authorities a root trusted authority within the computing environment of the gaming machine that can be tracked and verified as original. This may be accomplished via removal of the trusted memory device from the gaming machine computer and verification of the secure memory device contents is a separate third party verification device. Once the trusted memory device is verified as authentic, and based on the approval of verification algorithms contained in the trusted device, the gaming machine is allowed to verify the authenticity of additional code and data that may be located in the gaming computer assembly, such as code and data stored on hard disk drives.
Mass storage devices used in a general-purpose computer typically allow code and data to be read from and written to the mass storage device. In a gaming machine environment, modification of the gaming code stored on a mass storage device is strictly controlled and would only be allowed under specific maintenance type events with electronic and physical enablers required. Though this level of security could be provided by software, IGT gaming computers that include mass storage devices preferably include hardware level mass storage data protection circuitry that operates at the circuit level to monitor attempts to modify data on the mass storage device and will generate both software and hardware error triggers should a data modification be attempted without the proper electronic and physical enablers being present. In addition to the basic gaming abilities provided, these and other features and functions serve to differentiate gaming machines into a special class of computing devices separate and distinct from general-purpose computers.
Turning now to
A general-purpose server 60 may be one that is already present within a casino or other establishment for one or more other purposes beyond any monitoring or administering involving gaming machines. Functions for such a general-purpose server can include other general and game specific accounting functions, payroll functions, general Internet and e-mail capabilities, switchboard communications, and reservations and other hotel and restaurant operations, as well as other assorted general establishment record keeping and operations. In some cases, specific gaming related functions such as cashless gaming, downloadable gaming, player tracking, remote game administration, video or other data transmission, or other types of functions may also be associated with or performed by such a general-purpose server. For example, such a server may contain various programs related to cashless gaming administration, player tracking operations, specific player account administration, remote game play administration, remote game player verification, remote gaming administration, downloadable gaming administration, and/or visual image or video data storage, transfer and distribution, and may also be linked to one or more gaming machines, in some cases forming a network that includes all or many of the gaming devices and/or machines within the establishment. Communications can then be exchanged from each adapted gaming machine to one or more related programs or modules on the general-purpose server.
In one embodiment, gaming system 50 contains one or more special-purpose servers that can be used for various functions relating to the provision of cashless gaming and gaming machine administration and operation under the present methods and systems. Such a special-purpose server or servers could include, for example, a cashless gaming server, a player verification server, a general game server, a downloadable games server, a specialized accounting server, and/or a visual image or video distribution server, among others. Of course, these functions may all be combined onto a single specialized server. Such additional special-purpose servers are desirable for a variety of reasons, such as, for example, to lessen the burden on an existing general-purpose server or to isolate or wall off some or all gaming machine administration and operations data and functions from the general-purpose server and thereby increase security and limit the possible modes of access to such operations and information.
Alternatively, exemplary gaming system 50 can be isolated from any other network at the establishment, such that a general-purpose server 60 is essentially impractical and unnecessary. Under either embodiment of an isolated or shared network, one or more of the special-purpose servers are preferably connected to sub-network 80, which might be, for example, a cashier station or terminal. Peripheral devices in this sub-network may include, for example, one or more video displays 81, one or more user terminals 82, one or more printers 83, and one or more other input devices 84, such as a ticket validator or other security identifier, among others. Similarly, under either embodiment of an isolated or shared network, at least the specialized server 70 or another similar component within a general-purpose server 60 also preferably includes a connection to a database or other suitable storage medium 90. Database 90 is preferably adapted to store many or all files containing pertinent data or information regarding cashless instruments such as tickets, among other potential items. Files, data and other information on database 90 can be stored for backup purposes, and are preferably accessible at one or more system locations, such as at a general-purpose server 60, a special purpose server 70 and/or a cashier station or other sub-network location 80, as desired.
While gaming system 50 can be a system that is specially designed and created new for use in a casino or gaming establishment, it is also possible that many items in this system can be taken or adopted from an existing gaming system. For example, gaming system 50 could represent an existing cashless gaming system to which one or more of the inventive components or program modules are added. In addition to new hardware, new functionality via new software, modules, updates or otherwise can be provided to an existing database 90, specialized server 70 and/or general-purpose server 60, as desired. In this manner, the methods and systems of the present invention may be practiced at reduced costs by gaming operators that already have existing gaming systems, such as an existing EZ Pay® or other cashless gaming system, by simply modifying the existing system. Other modifications to an existing system may also be necessary, as might be readily appreciated.
The various aspects, features, embodiments or implementations of the invention described above can be used alone or in various combinations.
The many features and advantages of the present invention are apparent from the written description and, thus, it is intended by the appended claims to cover all such features and advantages of the invention. Further, since numerous modifications and changes will readily occur to those skilled in the art, the invention should not be limited to the exact construction and operation as illustrated and described. Hence, all suitable modifications and equivalents may be resorted to as falling within the scope of the invention.
Number | Name | Date | Kind |
---|---|---|---|
4468750 | Chamoff et al. | Aug 1984 | A |
4532416 | Berstein | Jul 1985 | A |
4837728 | Barrie et al. | Jun 1989 | A |
4856787 | Itkis | Aug 1989 | A |
4868900 | Mcguire | Sep 1989 | A |
5103079 | Barakai et al. | Apr 1992 | A |
5116055 | Tracy | May 1992 | A |
5149945 | Johnson et al. | Sep 1992 | A |
5249800 | Hilgendorf et al. | Oct 1993 | A |
5275400 | Weingardt et al. | Jan 1994 | A |
5280909 | Tracy | Jan 1994 | A |
5286023 | Wood | Feb 1994 | A |
5288077 | Jones | Feb 1994 | A |
5344144 | Canon | Sep 1994 | A |
5364105 | Jones | Nov 1994 | A |
5380008 | Mathis et al. | Jan 1995 | A |
5401023 | Wood | Mar 1995 | A |
5401024 | Simunek | Mar 1995 | A |
5466920 | Nair et al. | Nov 1995 | A |
5472194 | Breeding et al. | Dec 1995 | A |
5491812 | Pisello et al. | Feb 1996 | A |
5580309 | Piechowiak et al. | Dec 1996 | A |
5605334 | McCrea, Jr. | Feb 1997 | A |
5611730 | Weiss | Mar 1997 | A |
5643086 | Alcorn et al. | Jul 1997 | A |
5651548 | French et al. | Jul 1997 | A |
5655961 | Acres et al. | Aug 1997 | A |
5684750 | Kondoh et al. | Nov 1997 | A |
5702304 | Acres et al. | Dec 1997 | A |
5707287 | McCrea, Jr. | Jan 1998 | A |
5735742 | French | Apr 1998 | A |
5743798 | Adams et al. | Apr 1998 | A |
5761647 | Boushy | Jun 1998 | A |
5766076 | Pease et al. | Jun 1998 | A |
5781647 | Fishbine et al. | Jul 1998 | A |
5819107 | Lichtman et al. | Oct 1998 | A |
5820459 | Acres et al. | Oct 1998 | A |
5851148 | Brune et al. | Dec 1998 | A |
5885158 | Torango et al. | Mar 1999 | A |
5941769 | Order | Aug 1999 | A |
6003013 | Boushy et al. | Dec 1999 | A |
6015347 | Maahs et al. | Jan 2000 | A |
6033307 | Vancura | Mar 2000 | A |
6080062 | Olson | Jun 2000 | A |
6104815 | Alcorn et al. | Aug 2000 | A |
6106396 | Alcorn et al. | Aug 2000 | A |
6110043 | Olsen | Aug 2000 | A |
6113492 | Walker et al. | Sep 2000 | A |
6135884 | Hedrick et al. | Oct 2000 | A |
6135887 | Pease et al. | Oct 2000 | A |
6149522 | Alcorn et al. | Nov 2000 | A |
6183362 | Boushy | Feb 2001 | B1 |
6193152 | Fernando et al. | Feb 2001 | B1 |
6193607 | Kay | Feb 2001 | B1 |
6217448 | Olsen | Apr 2001 | B1 |
6231442 | Mayeroff | May 2001 | B1 |
6241608 | Torango et al. | Jun 2001 | B1 |
6264561 | Saffari et al. | Jul 2001 | B1 |
6302793 | Fertitta, III et al. | Oct 2001 | B1 |
6306035 | Kelly et al. | Oct 2001 | B1 |
6313871 | Schubert | Nov 2001 | B1 |
6336863 | Baerlocher et al. | Jan 2002 | B1 |
6346044 | McCrea, Jr. | Feb 2002 | B1 |
6358149 | Schneider et al. | Mar 2002 | B1 |
6368216 | Hedrick et al. | Apr 2002 | B1 |
6371852 | Acres | Apr 2002 | B1 |
6409595 | Uihlein et al. | Jun 2002 | B1 |
6425824 | Baerlocher et al. | Jul 2002 | B1 |
6454648 | Kelly et al. | Sep 2002 | B1 |
6474649 | Kennedy et al. | Nov 2002 | B1 |
6532297 | Lindquist | Mar 2003 | B1 |
6592458 | Ho | Jul 2003 | B1 |
6592460 | Torango et al. | Jul 2003 | B2 |
6607439 | Schneier et al. | Aug 2003 | B2 |
6645077 | Rowe | Nov 2003 | B2 |
6663490 | Soltys et al. | Dec 2003 | B2 |
6682423 | Brosnan et al. | Jan 2004 | B2 |
6684195 | Deaton et al. | Jan 2004 | B1 |
6685567 | Cockerille et al. | Feb 2004 | B2 |
6776715 | Price | Aug 2004 | B2 |
6804763 | Stockdale et al. | Oct 2004 | B1 |
6857959 | Nguyen | Feb 2005 | B1 |
6863608 | LeMay et al. | Mar 2005 | B1 |
6866586 | Oberberger et al. | Mar 2005 | B2 |
6939234 | Beatty | Sep 2005 | B2 |
6960134 | Hartl et al. | Nov 2005 | B2 |
6984174 | Cannon et al. | Jan 2006 | B2 |
7111141 | Nelson | Sep 2006 | B2 |
7127069 | Nguyen | Oct 2006 | B2 |
7329183 | Michaelson et al. | Feb 2008 | B2 |
7384336 | Torango | Jun 2008 | B2 |
7384339 | LeMay et al. | Jun 2008 | B2 |
7455591 | Nguyen | Nov 2008 | B2 |
7997981 | Rowe et al. | Aug 2011 | B2 |
20010038178 | Vancura | Nov 2001 | A1 |
20010053712 | Yoseloff et al. | Dec 2001 | A1 |
20020071557 | Nguyen | Jun 2002 | A1 |
20020077178 | Oberberger et al. | Jun 2002 | A1 |
20020143626 | Voltmer et al. | Oct 2002 | A1 |
20030022714 | Oliver | Jan 2003 | A1 |
20030060279 | Torango et al. | Mar 2003 | A1 |
20030064798 | Grauzer et al. | Apr 2003 | A1 |
20030092484 | Schneider et al. | May 2003 | A1 |
20030104853 | Tessmer et al. | Jun 2003 | A1 |
20030104860 | Cannon et al. | Jun 2003 | A1 |
20030148808 | Price | Aug 2003 | A1 |
20030162591 | Nguyen et al. | Aug 2003 | A1 |
20030181231 | Vancura et al. | Sep 2003 | A1 |
20030211883 | Potts | Nov 2003 | A1 |
20040002385 | Nguyen | Jan 2004 | A1 |
20040038735 | Steil et al. | Feb 2004 | A1 |
20040066278 | Hughes et al. | Apr 2004 | A1 |
20040087368 | Gauselmann | May 2004 | A1 |
20040142740 | Damico et al. | Jul 2004 | A1 |
20040142750 | Glisson et al. | Jul 2004 | A1 |
20040152511 | Nicely et al. | Aug 2004 | A1 |
20040166923 | Michaelson et al. | Aug 2004 | A1 |
20040166940 | Rothschild | Aug 2004 | A1 |
20040266533 | Gentles et al. | Dec 2004 | A1 |
20050020354 | Nguyen et al. | Jan 2005 | A1 |
20050037837 | Rowe | Feb 2005 | A1 |
20050043086 | Schneider | Feb 2005 | A1 |
20050054438 | Rothschild et al. | Mar 2005 | A1 |
20050054448 | Frerking et al. | Mar 2005 | A1 |
20050059472 | Joshi et al. | Mar 2005 | A1 |
20050059481 | Joshi et al. | Mar 2005 | A1 |
20050096130 | Mullins | May 2005 | A1 |
20050113172 | Gong | May 2005 | A1 |
20050209004 | Torango | Sep 2005 | A1 |
20050239542 | Olsen | Oct 2005 | A1 |
20060035694 | Fuller | Feb 2006 | A1 |
20060040736 | Baerlocher et al. | Feb 2006 | A1 |
20060040743 | Saffari et al. | Feb 2006 | A1 |
20060052162 | Soukup et al. | Mar 2006 | A1 |
20060073887 | Nguyen et al. | Apr 2006 | A1 |
20060073889 | Edidin et al. | Apr 2006 | A1 |
20060073897 | Englman et al. | Apr 2006 | A1 |
20060100008 | Wright et al. | May 2006 | A1 |
20060142086 | Blackburn et al. | Jun 2006 | A1 |
20060154718 | Willyard et al. | Jul 2006 | A1 |
20060183537 | Dickerson | Aug 2006 | A1 |
20060247035 | Rowe et al. | Nov 2006 | A1 |
20060252501 | Little et al. | Nov 2006 | A1 |
20060264256 | Gagner et al. | Nov 2006 | A1 |
20070060237 | Rowe et al. | Mar 2007 | A1 |
20070060311 | Rowe et al. | Mar 2007 | A1 |
20070060320 | Kelly et al. | Mar 2007 | A1 |
20070106553 | Jordan et al. | May 2007 | A1 |
20070155490 | Phillips et al. | Jul 2007 | A1 |
20070298873 | Nguyen et al. | Dec 2007 | A1 |
20080058059 | Fitzsimons et al. | Mar 2008 | A1 |
20080090653 | Kuehling et al. | Apr 2008 | A1 |
20080318685 | Oak et al. | Dec 2008 | A9 |
20090270168 | Englman et al. | Oct 2009 | A1 |
Number | Date | Country |
---|---|---|
199650576 | Apr 1997 | AU |
754689 | Feb 1999 | AU |
766341 | Jan 2002 | AU |
0 769 769 | Apr 1997 | EP |
1 211 630 | Jun 2002 | EP |
1 380 998 | Jan 2004 | EP |
1 528 514 | May 2005 | EP |
1 554 021 | Jul 2005 | EP |
1 632 913 | Mar 2008 | EP |
1 938 288 | Jul 2008 | EP |
2003-279648 | Oct 2003 | JP |
WO 9606409 | Feb 1996 | WO |
WO 9636253 | Nov 1996 | WO |
WO 9744750 | Nov 1997 | WO |
WO 0016289 | Mar 2000 | WO |
WO 0022585 | Apr 2000 | WO |
WO 02077939 | Oct 2002 | WO |
WO 2004027584 | Apr 2004 | WO |
WO 2004088604 | Oct 2004 | WO |
WO 2005022443 | Mar 2005 | WO |
WO 2005105235 | Nov 2005 | WO |
WO 2006023681 | Mar 2006 | WO |
WO 2006037220 | Apr 2006 | WO |
WO 2007032954 | Mar 2007 | WO |
WO 2007145999 | Dec 2007 | WO |
WO 2007149180 | Dec 2007 | WO |
2008118665 | Oct 2008 | WO |
Entry |
---|
International Search Report and Written Opinion of the International Searching Authority dated Jan. 19, 2009, for corresponding PCT Application No. PCT/US2008/057100. |
“Extensible Markup Language,” Wikipedia, the free encyclopedia, 14 pages, http://en.wikipedia.org/wiki/XsIt. |
“XSL Transformations,” Wikipedia, the free encyclopedia, 9 pages, http://en.wikipedia.org/wiki/XsIt. |
Australian Examiner's report No. 2 dated May 8, 2012 issued in AU 2007258661. |
Chinese First Office Action dated Jun. 12, 2010 issued in CN 200780027102.0. |
Chinese Second Office Action dated Mar. 10, 2011 issued in CN 200780027102.0. |
European Examination Report dated Oct. 5, 2009 issued in EP 07 809 360.6-1238. |
Wang et al., “Casino Technology: Player Tracking and Slot Accounting Systems”, (Abstract) UNLV Gaining Research & Review Journal, Univ. Nevada, 6(1):43-56. |
U.S. Appl. No. 09/642,192, filed Aug. 18, 2000, LeMay et al. |
U.S. Appl. No. 11/225,299, filed Sep. 12, 2005, Rowe et al. |
US Office Action dated Apr. 2, 2008 issued in U.S. Appl. No. 10/923,333. |
US Office Action Final dated Oct. 21, 2008 issued in U.S. Appl. No. 10/923,333. |
US Office Action dated Apr. 27, 2009 issued in U.S. Appl. No. 10/923,333. |
US Office Action Final dated Nov. 20, 2009 issued in U.S. Appl. No. 10/923,333. |
US Office Action dated Jul. 14, 2010 issued in U.S. Appl. No. 10/923,333. |
US Office Action Final dated Dec. 17, 2010 issued in U.S. Appl. No. 10/923,333. |
US Notice of Panel Decision from Pre-Appeal Brief Review dated Apr. 27, 2011 issued in U.S. Appl. No. 10/923,333. |
US Office Action dated Jul. 8, 2011 issued in U.S. Appl. No. 10/923,333. |
US Office Action Final dated Jan. 20, 2012 issued in U.S. Appl. No. 10/923,333. |
US Office Action dated Mar. 31, 2009 issued in U.S. Appl. No. 11/449,985. |
US Office Action Final dated Mar. 3, 2010 issued in U.S. Appl. No. 11/449,985. |
US Office Action dated Aug. 9, 2010 issued in U.S. Appl. No. 11/449,985. |
US Office Action Final dated Mar. 7, 2011 issued in U.S. Appl. No. 11/449,985. |
US Office Action dated Mar. 6, 2012 issued in U.S. Appl. No. 11/449,985. |
US Office Action dated Jul. 18, 2007 issued in U.S. Appl. No. 11/225,299. |
US Office Action Final dated Jan. 8, 2008 issued in U.S. Appl. No. 11/225,299. |
US Office Action dated Jun. 11, 2008 for U.S. Appl. No. 11/225,299. |
US Office Action Final dated Dec. 9, 2008 issued in U.S. Appl. No. 11/225,299. |
US Office Action dated Jun. 24, 2009 for U.S. Appl. No. 11/225,299. |
US Petition Decision dated Oct. 16, 2009 for U.S. Appl. No. 11/225,299. |
US Office Action Final dated Oct. 15, 2010 issued in U.S. Appl. No. 11/225,299. |
US Office Action dated Jan. 10, 2011 issued in U.S. Appl. No. 11/225,299. |
US Notice of Allowance dated Apr. 15, 2011 issued in U.S. Appl. No. 11/225,299. |
US Notice of Allowance dated Jun. 14, 2011 issued in U.S. Appl. No. 11/225,299. |
PCT International Search Report dated Jan. 12, 2006 issued in PCT/US2005/029465 (WO2006/23681). |
PCT Written Opinion dated Jan. 12, 2006 issued in PCT/US2005/029465 (WO2006/23681). |
PCT International Preliminary Report on Patentability and Written Opinion dated Feb. 20, 2007 issued in PCT/US2005/029465 (WO2006/23681). |
PCT International Search Report dated Dec. 13, 2007 issued in PCT/US2007/013325 (WO2007/145999). |
PCT International Preliminary Report on Patentability and Written Opinion dated Dec. 10, 2008 issued in PCT/US2007/013325 (WO2007/145999). |
Australian Examiner's first report dated Jun. 27, 2011 issued in AU 2007258661. |
Number | Date | Country | |
---|---|---|---|
20080234036 A1 | Sep 2008 | US |