FIELD OF THE INVENTIONThe present disclosure relates generally to reconfiguration of gaming devices. More specifically, the present disclosure relates to the dynamic reconfiguration of promotional programs in gaming devices.
BACKGROUND OF THE INVENTIONCasinos often desire the option to configure their gaming machines based on different games, bonuses, awards, or promotions. Currently, casinos make changes or configure their gaming machines using manual selection methods, such as by physically changing the location of the gaming machines. Casinos may also reconfigure the gaming machines for a particular bonus payout or promotion. However, a casino employee must identify the gaming machines on the casino floor that are to be configured or reconfigured. Once the data is manually entered into the system, the casino must wait for a certain period of time while the data is processed and while the gaming machine then reconfigures itself in accordance with the received command.
Since the current methods require manual input, it is prone to error, security breaches, and costs the casino time and money to manually reconfigure the gaming machines. Additionally, if there is the need to physically move each gaming machine, asset numbers for each gaming machine may need to be manually reassigned in the database. Thus, the process to configure the gaming machines may even be more difficult if asset numbers must be retired and the new asset numbers must be inputted before reconfiguration of the gaming machines is possible.
Moreover, the reconfiguration is not performed instantaneously which results in lost profit and opportunity for the casino. Current reconfiguration systems are unable to track and keep up with the reconfiguration requirements and changes. By the time it takes a casino employee to identify that a change may be required (i.e. moving the gaming machine to another part of the casino or reconfigure a gaming device), enact a process to reconfigure the promotional program for the new game, and then wait for the change to take place, the player may have already moved to play a new gaming device or left to play at another casino.
OVERVIEWThe present invention relates to real-time, dynamic, and automatic reconfiguration (enrollment or de-enrollment) of promotional programs in gaming machines based upon predetermined qualifying criteria. A gaming device may have a network interface configured to interface with a plurality of servers and a plurality of gaming devices, wherein at least one of the plurality of servers is a configuration server; a master gaming controller coupled to the network interface configured to receive data from the plurality of servers and the plurality of gaming devices, a database to store the data received from the plurality of servers and the plurality of gaming devices, a qualifying table database to store at least one qualifying criteria and an associated promotional program received from the configuration server; and a data analyzer configured to determine whether the data and the qualifying criteria match, wherein the master gaming controller is configured to transmit a reconfiguration notification signal to the configuration server if the data and the qualifying criteria match.
In another embodiment, an apparatus to dynamically reconfigure at least one promotional program played on a gaming device may have a network interface configured to interface with the gaming device and a plurality of devices, a processor coupled to the network interface configured to receive data from the gaming device and the plurality of devices, a database to store the data received from the gaming device and the plurality of devices, a qualifying table database to store at least one qualifying criteria and an associated promotional program, and a data analyzer configured to determine whether the data and the qualifying criteria match, wherein the processor is configured to dynamically reconfigure the gaming device in the associated promotional program if the data and the qualifying criteria match, and wherein the processor is configured to dynamically reconfigure a promotional program server to reflect the reconfiguration of the gaming device in the associated promotional program.
In yet another embodiment, a method for dynamically reconfiguring a promotional program played on a gaming device may comprise inputting at least one qualifying criteria in a remote configuration device, receiving gaming data at the remote configuration device from the gaming device, determining if the gaming data matches the at least one qualifying criteria, dynamically enrolling the gaming device in a second promotional program if the gaming data matches the at least one qualifying criteria, and dynamically reconfiguring a promotional program server to reflect the enrollment of the gaming device in the second promotional program.
In still another embodiment, the method for dynamically reconfiguring a promotional program played on a gaming device may comprise receiving at least one qualifying criteria data from a configuration server, storing the at least one qualifying criteria in a memory of the gaming device, receiving gaming data relating to the at least one qualifying criteria, analyzing the gaming data to determine if the gaming data matches the at least one qualifying criteria, signaling the configuration server if the gaming data matches the at least one qualifying criteria, and dynamically reconfiguring the gaming device to a second promotional program if authorization is received from the configuration server.
The present invention provides other hardware configured to perform the methods of the invention, as well as software stored in a machine-readable medium (e.g., a tangible storage medium) to control devices to perform these methods.
These and other features will be presented in more detail in the following detailed description of the invention and the associated figures.
BRIEF DESCRIPTION OF THE DRAWINGSThe accompanying drawings, which are incorporated into and constitute a part of this specification, illustrate one or more example embodiments and, together with the description of example embodiments, serve to explain the principles and implementations.
In the drawings:
FIG. 1 illustrates an example system to dynamically reconfigure promotional programs.
FIG. 2 illustrates a block diagram of an embodiment of a configuration server.
FIG. 3 illustrates another example system to dynamically reconfigure promotional programs at a gaming device.
FIG. 4 illustrates an exemplary gaming machine.
FIGS. 5A and 5B illustrate another exemplary gaming machine.
FIG. 6 illustrates an example embodiment of a network topology.
FIG. 7 is a block diagram of a simplified communication topology.
FIG. 8 illustrates an example method for dynamically reconfiguring a gaming device.
FIG. 9 illustrates another example method for dynamically reconfiguring a gaming device.
DESCRIPTION OF EXAMPLE EMBODIMENTSEmbodiments are described herein in the context of a dynamic reconfiguration of promotional programs. The following detailed description is illustrative only and is not intended to be in any way limiting. Other embodiments will readily suggest themselves to such skilled persons having the benefit of this disclosure. Reference will now be made in detail to implementations as illustrated in the accompanying drawings. The same reference indicators will be used throughout the drawings and the following detailed description to refer to the same or like parts.
In the interest of clarity, not all of the routine features of the implementations described herein are shown and described. It will, of course, be appreciated that in the development of any such actual implementation, numerous implementation-specific decisions must be made in order to achieve the developer's specific goals, such as compliance with application- and business-related constraints, and that these specific goals will vary from one implementation to another and from one developer to another. Moreover, it will be appreciated that such a development effort might be complex and time-consuming, but would nevertheless be a routine undertaking of engineering for those of ordinary skill in the art having the benefit of this disclosure.
In accordance with the present invention, the components, process steps, and/or data structures may be implemented using various types of operating systems, computing platforms, computer programs, and/or general purpose machines. In addition, those of ordinary skill in the art will recognize that devices of a less general purpose nature, such as hardwired devices, field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), or the like, may also be used without departing from the scope and spirit of the inventive concepts disclosed herein.
The present invention relates to real-time, dynamic, and automatic reconfiguration (enrollment or de-enrollment) of promotional programs in gaming machines based upon predetermined qualifying criteria set by a user. The promotional programs may be any type of program such as bonuses, progressives, customer service promotions, awards, side bets, or any other type of promotional program offered. For example, a Black Jack video game or table game may allow the player to make a bonus side bet at an intermediate stage of the game prior to determining the ultimate outcome of the underlying blackjack game. A poker game, such as Pai Gow Poker, may also allow the player to make a bonus side bet to play for a bonus jackpot. In another example, a slot machine player may be given an additional opportunity to win a service promotion, such as a free massage. The reconfiguration (enrollment or de-enrollment) of promotional programs may alter game payout schedules, bonuses, game themes, and the like.
FIG. 1 illustrates an example system to dynamically configure promotional programs. A logic device, such asconfiguration server1000, may be configured to dynamically monitor each gaming device and poll other devices, such as other servers, to obtain qualifying criteria information in real-time. The logic device may be any known stand-alone or networked logic device such as a server, a host device, a processor, or any programmable logic device.
The gaming device may be agaming machine1002a,1002b,1002n(where n is an integer),gaming table location1004a,1004n,bingoparlor1006, or any other location or device used to play a game of chance. Thegaming machine1002a,1002b,1002nmay be gaming machines such as video and mechanical slot machines to play a variety of games of chance. Theconfiguration server1000 may monitor the state of each gaming device and scan for any changes that may suggest a reconfiguration may be needed. The specific criteria and analysis for the reconfiguration is discussed in detail below.
Theconfiguration server1000 andgaming devices1002a,1002b,1002n,1004a,1004n,1006 may be configured to communicate with other servers as necessary. For example, theconfiguration server1000 andgaming devices1002a,1002b,1002n,1004a,1004n,1006 may be in communication withlicense manager1008. License manager may be configured to store licensing requirements for each game of chance to be played. Bonus server1010 may be configured to determine bonuses to be offered. Examples of bonuses may include Mystery Jackpots, Lucky Times, Celebration prizes, personal progressives, regular progressives, player promotions, tournaments, and the like. Customer service programs may also be part of a bonus such as player promotions, side bets, cashless bonuses, merchandise bonuses, and the like.
Player tracking server1020 may be configured to store player tracking information such as a player tracking number, player loyalty level, the last time the player visited the casino, and any other data about a player. The player tracking system allows for improved player tracking by recording each and every machine transaction including: time of play, game device number, duration of play, coins in, coins out, hand paid jackpots, games played, bonuses won, and the like.
Progressive server1022 may be configured to store and determine progressives offered toindividuals1024 and/orteams1026. Teams may be a group of individuals that elect to work with each other or against each other as a unified group of players. Thus, the players may work together or against each other to achieve a common goal. An example of team play is further illustrated below with reference to Example 6. Examples of team actions or triggers may be the first team member to play the gaming device, a specific number of team members actively playing, no team members playing, team total coins in (for a specific period of time such as per day, week, or month), team member jackpot, team member bonuses won, and the like.
Record of any configuration or reconfigurations may be recorded in themanagement server1030. This may allow casino employees to view reports of changes to the promotional programs. The server may contain information such as, but not limited to: date, time, gaming device number, paytable ID, denomination, activation, status, license used, player account number, triggering events or criteria, player play statistics, or the like. The information may be used to see what promotional programs are played at the casino to verify which promotional programs are in demand. Additionally, by logging the dynamic configuration and reconfiguration changes may ensure that regulatory laws are complied with.
Resort server1012 may be in communication with other servers within the casino such as a food andbeverage server1012,hotel reservations server1016,spa services server1018, and any other hotel server. In one example, the configuration server may communicate with thehotel reservations server1016 to determine when the player is to check-out of the hotel. Thus, at any time prior to the player checking out and leaving the hotel, the configuration server may notify the player of the opportunity to enter into a promotional program or win an award prior to leaving. Currently, casinos mail flyers or awards to the players after a player's visit since there is no means to know whether the player has or will leave the casino. Thus, this allows the casino to dynamically, immediately, and in real-time offer or provide the player with an award before the player leaves the casino.
The information obtained fromresort server1012 may also be used to inform the player whether seating is available at a restaurant, show, movie, or any other venues, whether the host desires to meet the player, inform the player of discounts in the casino, and the like. Theconfiguration server1000 may be in communication with the servers and gaming devices by any knowncommunication link1028 such as any local area network bus, wireless link, Internet, and the like.
FIG. 2 illustrates a block diagram of an embodiment of a configuration server. Theconfiguration server1000 may have aprocessor200 coupled to amemory202 and anetwork interface204. Thememory202 may be any known type of memory, such as a random access memory, to store data.Network interface204 may be used to interfaceconfiguration server1000 to a network. The type of interface is not intended to be limiting as any combination of hardware and software needed to allow the various input/output devices to communicate with theconfiguration server1000 may be used.
Configuration server1000 may receive information, such as gaming data, from the gaming devices vianetwork interface204. The information may be used to determine whether the promotional programs of the gaming device may be reconfigured. The information may be gaming oriented, such as paytable, theme, location of the gaming device, and the like. The information may also be player oriented, such as the rank of the player in the casino loyalty program, the state where the player resides, and the like. Additionally, the information may be resort specific, such as whether the player is scheduled for a massage, has a reservation at a restaurant in the hotel, whether the player has purchased any merchandise from a casino store, and the like.
The information may be stored in arelational data database214 allowing search and queries of the various different data categories. The data categories may specify various data relationships. For example, gaming information such as coin-in/coin-out and amount bet per game may be stored ingame play data216. The game theme and associated paytable may be stored in theme/paytable218, player data obtained from the player tracking server may be stored inplayer data220, and the denomination of the gaming device may be stored indenomination222. Based upon the player data stored inplayer data220, theconfiguration server1000 may determine whether the player is enrolled in other hotel services.
As illustrated inFIG. 1,configuration server1000 may be in communication withresort server1012. Thus, vianetwork interface204,configuration server1000 may be configured to determine whether the player has a reservation for a massage at the spa, dinner at a specific restaurant, or whether the player has checked-in at the hotel. The information may be used to offer promotional programs such as a free buffet, $10 off massage, and the like. The information may also be used to notify the player of the reservation time. For example, a notification may be displayed on the gaming device to remind the player one hour prior to the reservation time for the massage. The information may be stored inhotel services224. As further discussed below, the information may be a qualifying factor used to determine whether to reconfigure the gaming device to enroll in other promotional programs for the player. For example, the player may be given the opportunity to win an additional massage at the spa should the player continue to play on the gaming device.
Thedatabase214 may be used to store commonly accessed data combinations. Use of thequeryable database214 may help minimize analysis times. Many different combinations of game transactions and data for various gaming devices may be stored in thedatabase214. Other examples of gaming data may be: 1) bonuses226; 2) location of thegaming device228; 3)licensing data230; 4) data forteam players232; 5)progressive payouts234; 6) whether the gaming device is a participatinggaming device236; and 7) Bingopower ball data238. Again, other types of data categories may be possible and/or vary based upon the gaming device and the criteria used to determine whether reconfiguration of the gaming device is necessary. Thus, the types of data categories are not intended to be limiting.
Theconfiguration server1000 may be configured to execute a number ofanalysis tools206. Qualifying criteria, to determine whether to reconfigure the gaming device, and its associated promotional program may be stored in qualifying table208. Qualifying table may store various criteria that must be met before the promotional program of a gaming device will be reconfigured. For example, a Cleopatra game theme, having a $5 denomination, a specific paytable, and played by a Gold level player may be associated with a specific promotional bonus program. In another example, a platinum player playing black jack at a table game betting an average bet of $5 per game for two hours may be associated with another specific promotional bonus program.
Data analysis application210 may analyze and determine whether each criterion has been met to cause a reconfiguration of the gaming device. The gaming data received by theconfiguration server1000 and stored indatabase214 may be queried to see whether the stored information matches the criteria stored in qualifying table208. If there is a match, the gaming device is reconfigured or enrolled212 into the associated promotional program.
Data analysis application210 may continue to query thedatabase214 for any change in status to the gaming device. Should there be a change in status, thedata analysis application210 may determine whether the criteria are still met and whether the gaming device should be reconfigured and de-enrolled212 from the promotional program. For example, should the black jack player change his average bet to $1 per game, he may be automatically and immediately de-enrolled from the promotional bonus event.
Configuration server1000 may receive and analyze the information to dynamically, automatically, and in real-time determine whether a reconfiguration of the promotional program is necessary. Due to the large memory and/or bandwidth that may be necessary, in one embodiment, data stored indatabase214 may be stored in a separate server or in multiple databases. Furthermore, due to the computing power associated with the tasks and analysis required to determine whether to reconfiguration the gaming device,configuration server1000 may also require a large bandwidth.
In use, theconfiguration server1000 may have dynamic real-time access to data from each of the gaming devices and servers. Theconfiguration server1000 constantly monitors the status of each gaming device and servers to determine whether a reconfiguration of a promotional program is necessary. Theconfiguration server1000 may monitor a number of data parameters including, but not limited to: activated or deactivated game themes, activated or deactivated denominations, activated or deactivated paytables, game outcomes, all game meter changes, progressive wins, bonus wins, jackpot wins, signature changes, checksum changes, player tracking card in/out, player ranking information, player wager information, player wager history, unknown players, unknown player's level, selection of a certain game element, team information, tiered player information, employee card in/out, side bet data, or any other data parameters.
As theconfiguration server1000 monitors the gaming device, it will actively note any instant events or changes. Once changes are noted, theconfiguration server1000 will compare the information to the criteria stored in qualifying table208 to determine if there is a match. If a match is found, the gaming device may be reconfigured and enrolled in the corresponding promotional program or de-enrolled from the promotional program.
Theconfiguration server1000 may also signal and reconfigure or change the promotional program in the corresponding server. For example, if the bonus or progressive payout amount changes, theconfiguration server1000 may signal the respective servers and change the amounts in the servers.
In one embodiment, theconfiguration server1000 may be used to analyze licenses of each gaming device. Theconfiguration server1000 may determine if a license is required to enroll the gaming device in a promotional program.Configuration server1000 may be in communication withlicense manager1008 to determine whether a license is required. Furthermore, theconfiguration server1000 may determine whether a license is freed up that is no longer needed due to the reconfigured and de-enrollment of the promotional programs from other gaming devices. Should a license be required,data analysis application210 may determine whether the maximum number of licenses has been used. If the maximum number of licenses is reached, thedata analysis application210 may determine whether to deny the configuration and/or enrollment into the promotional program, request for additional licenses, or allow the license to automatically be extended for additional gaming devices.
FIG. 3 illustrates another example system to dynamically configure promotional programs. Similar toFIG. 1, theconfiguration server1000 may be in communication with various other devices such aslicense manager1008,promotions server1012,player tracking server1020, and bonus server1010.Configuration server1000 may be in communication with various gaming devices vianetwork330.
Network330 may be a private or public network such as the Internet or an intranet. In one embodiment, communications between theconfiguration server1000 and other gaming devices overnetwork330 may be implemented using an IP based Virtual Private Networks (VPNs). An Internet-based virtual private network (VPN) uses the open, distributed infrastructure of the Internet to transmit data between various sites. A VPN may emulate a private IP network over public or shared infrastructures. A VPN that supports only IP traffic is called an IP-VPN. Virtual Private Networks provide advantages to both the service provider and its customers. For its customers, a VPN can extend the IP capabilities of a central data site, such asconfiguration server1000, to remote venue sites, such as thebingo parlor320,restaurant terminal312,casino spa304, and/or a user operating from a particular venue site such asstore332, with intranet, extranet, and dial-up services. This connectivity may be achieved at a lower cost to the gaming entity with savings in capital equipment, operations, and services.
There are many ways in which IP VPN services may be implemented, such as, for example, virtual leased lines, virtual private routed networks, virtual private dial networks, virtual private LAN segments, etc. Additionally VPNs may be implemented using a variety of protocols, such as, for example, IP Security (IPSec) Protocol,Layer 2 Tunneling Protocol, Multiprotocol Label Switching (MPLS) Protocol, etc. Details of these protocols including RFC reports may be found from the VPN Consortium an industry trade group (http://wwwspnc.com, VPNC, Santa Cruz, Calif.). Details of VPNs and related communication methods that may be used in the present invention are described in co-pending U.S. patent application Ser. No. 09/732,650, entitled “Secured Virtual Network In A Gaming Environment”, filed Dec. 7, 2000, the entire specification of which is incorporated herein by reference.
Game machine310a,310nmay be located in different venues such as in a casino,store332, restaurants, bars, laundry mat, airport, gym, or any other location remote fromconfiguration server1000. Gaming data fromgame machine310a,310nmay be transmitted toconfiguration server1000 vianetwork330.
In one embodiment, a bank ofgaming machines302a,302nmay be reconfigured. Although illustrated with six gaming machines per bank ofgaming machines302a,302n,the number is for illustrative purposes only and not intended to be limiting as a bank of gaming machines may constitute any number of gaming machines. The gaming machines may communicate viacommunication link338a,338n.The communication link338a,338nmay be a LAN, wireless, or any other known communication link. The bank ofgaming machines302a,302nmay be associated and/or grouped together based upon any predetermined criteria such as the same game theme, denomination, location in the casino, or any other desired qualification. For example, the gaming machines may all be Video Pachinko, Little Green Men, Video Poker, MEGABucks, NickelMania, or any other themes. In another example, thegaming machines302a,302nmay be grouped together to conduct a team competition session. Each bank ofgaming machines302a,302nmay transmit gaming data toconfiguration server1000 vianetwork330.
The gaming device may also be atable game306 location. Players may be logged into atable game terminal328a,328b,328nby a casino employee, such as the pit boss, using a player tracking card, or any other information identifying the player. Implementations involving table games may involve other means to track the game play session of the player, such as the use of radio frequency identification (RFID) tagged chips as discussed in U.S. patent application Ser. No. 11/224,903, filed on Sep. 12, 2005, entitled “Enhanced Gaming Chips and Table Game Security”, which is incorporated herein by reference in its entirety for all purposes. Players at table games may be tracked using the RFID tagged chips to determine their average bet per game and/or their average bet per session. The gaming information from thetable game terminal328a,328b,328nmay be transmitted to theconfiguration server1000 vianetwork330.
Hotel services may be a qualifying criteria used to determine whether to reconfigure a gaming device. Reservations terminal308 from thecasino spa304 andrestaurant terminal312 may be in communication withconfiguration server1000 vianetwork330. Restaurant terminal may be coupled to other servers such as theLotto server314,Keno server316, and thereservations server318 viacommunication link340. Thecommunication link340 may be a LAN, wireless, or any other known communication link. Information received from the spa reservations terminal308 and therestaurant terminal312 may be used byconfiguration server1000 as criteria to determine whether to reconfigure a promotional program of a gaming device as further discussed below in Example 4.
Gaming data from thebingo parlor320 may also be used as qualifying criteria. For example, after a Power Ball win, players may be given the opportunity to play for an additional $1,000.00 bonus.Bingo terminal326 andgaming terminal324 may communicate with the central bingo system322 viacommunication link334.Gaming terminal324 may contain gaming data from portable bingo gaming devices. Thecommunication link334 may be a LAN, wireless, or any other known communication link. The central bingo system322 may send gaming terminal transaction information received from324 and326 toconfiguration server1000 vianetwork330.
Anetwork interface336 may be configured to communicate the various devices to thenetwork330. Thenetwork interface336 may be any known wireless network interface or wired network interface.
FIG. 4 illustrates an exemplary gaming machine to perform the various embodiments discussed herein. In one embodiment, the gaming machine may be a slave and be responsible for transmitting relevant events and/or qualifying information to theconfiguration server1000. In another embodiment, as discussed with reference toFIGS. 5A and 5B, the gaming machine may play an active role and self-determine whether reconfiguration or enrollment into a promotional program is suggested.
Machine2 may have amain cabinet4, which generally surrounds the machine interior (not shown) and is viewable by users. The main cabinet includes amain door8 on the front of the machine, which opens to provide access to the interior of the machine. Attached to the main door are player-input switches orbuttons32, acoin acceptor28, and abill validator30, acoin tray38, and abelly glass40. Viewable through the main door is avideo display monitor34 and aninformation panel36. The display monitor34 will typically be a cathode ray tube, high resolution flat-panel LCD, or other conventional electronically controlled video monitor. Theinformation panel36 may be a back-lit, silk screened glass panel with lettering to indicate general game information including, for example, a game denomination (e.g. $0.25 or $1). The bill validator30, player-input switches32,video display monitor34, and information panel are devices used to play a game on thegame machine2. The devices are controlled by circuitry (e.g. the master gaming controller) housed inside themain cabinet4 of themachine2.
Many different types of games, including mechanical slot games, video slot games, video poker, video black jack, video pachinko and lottery, may be provided with gaming machines of this invention. In particular, thegaming machine2 may be operable to provide a play of many different instances of games of chance. The instances may be differentiated according to themes, sounds, graphics, type of game (e.g., slot game vs. card game), denomination, number of paylines, maximum jackpot, progressive or non-progressive, bonus games, etc. Thegaming machine2 may be operable to allow a player to select a game of chance to play from a plurality of instances available on the gaming machine. For example, the gaming machine may provide a menu with a list of the instances of games that are available for play on the gaming machine and a player may be able to select from the list a first instance of a game of chance that they wish to play.
The various instances of games available for play on thegaming machine2 may be stored as game software on a mass storage device in the gaming machine or may be generated on a remote gaming device but then displayed on the gaming machine. Thegaming machine2 may executed game software, such as but not limited to video streaming software that allows the game to be displayed on the gaming machine. When an instance is stored on thegaming machine2, it may be loaded from the mass storage device into a RAM for execution. In some cases, after a selection of an instance, the game software that allows the selected instance to be generated may be downloaded from a remote gaming device, such as another gaming machine.
Thegaming machine2 includes atop box6, which sits on top of themain cabinet4. Thetop box6 houses a number of devices, which may be used to add features to a game being played on thegaming machine2, includingspeakers10,12,14, aticket printer18 which prints bar-codedtickets20, akey pad22 for entering player tracking information, aflorescent display16 for displaying player tracking information, acard reader24 for entering a magnetic striped card containing player tracking information, and avideo display screen42. Theticket printer18 may be used to print tickets for a cashless ticketing system. Further, thetop box6 may house different or additional devices than shown inFIG. 4. For example, the top box may contain a bonus wheel or a back-lit silk screened panel which may be used to add bonus features to the game being played on the gaming machine. As another example, the top box may contain a display for a progressive jackpot offered on the gaming machine. During a game, these devices are controlled and powered, in part, by circuitry (e.g. a master gaming controller) housed within themain cabinet4 of themachine2.
Understand thatgaming machine2 is but one example from a wide range of gaming machine designs on which the present invention may be implemented. For example, not all suitable gaming machines have top boxes or player tracking features. Further, some gaming machines have only a single game display—mechanical or video, while others are designed for bar tables and have displays that face upwards. As another example, a game may be generated in on a host computer and may be displayed on a remote terminal or a remote gaming device. The remote gaming device may be connected to the host computer via a network of some type such as a local area network, a wide area network, an intranet or the Internet. The remote gaming device may be a portable gaming device such as but not limited to a cell phone, a personal digital assistant, and a wireless game player. Images rendered from 3-D gaming environments may be displayed on portable gaming devices that are used to play a game of chance. Further a gaming machine or server may include gaming logic for commanding a remote gaming device to render an image from a virtual camera in a 3-D gaming environments stored on the remote gaming device and to display the rendered image on a display located on the remote gaming device. Thus, those of skill in the art will understand that the present invention, as described below, can be deployed on most any gaming machine now available or hereafter developed.
Some preferred gaming machines of the present assignee are implemented with special features and/or additional circuitry that differentiates them from general-purpose computers (e.g., desktop PC's and laptops). Gaming machines are highly regulated to ensure fairness and, in many cases, gaming machines are operable to dispense monetary awards of multiple millions of dollars. Therefore, to satisfy security and regulatory requirements in a gaming environment, hardware and software architectures may be implemented in gaming machines that differ significantly from those of general-purpose computers. A description of gaming machines relative to general-purpose computing machines and some examples of the additional (or different) components and features found in gaming machines are described below.
At first glance, one might think that adapting PC technologies to the gaming industry would be a simple proposition because 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.
For the purposes of illustration, a few differences between PC systems and gaming systems will be described. A first difference between gaming machines and common PC based computers 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 was shown an award for a game of chance and, before the award could be provided to the player the power failed, the gaming machine, upon the restoration of power, would return to the state where the award is 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 requirement affects the software and hardware design on a gaming machine.
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 has been designed to be 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 regulators in a particular jurisdiction and installed in the presence of a person representing the gaming jurisdiction. Any changes to any part of the software required to generate the game of chance, such as 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 or player of a gaming machine from manipulating hardware and software in a manner that gives them an unfair and some cases an illegal advantage. The gaming machine should have a means to determine if the code it will execute is valid. If the code is not valid, the gaming machine must have a means to prevent the code from being executed. 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 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 the gaming machine has been limited. Further, in operation, the functionality of gaming machines were relatively constant once the gaming machine was deployed, i.e., new peripherals devices and new gaming software were infrequently added to the gaming machine. This differs from a PC where users will go out and buy different combinations of devices and software from different manufacturers and connect them to a PC to suit their needs depending on a desired application. Therefore, the types of devices connected to a PC may vary greatly from user to user depending in their individual requirements and may vary significantly over time.
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 and 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. Therefore, 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 the issues described above, 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, as described below in more detail, include but are not limited to watchdog timers, voltage monitoring systems, state-based software architecture and supporting hardware, specialized communication interfaces, security monitoring and trusted memory.
A watchdog timer is normally used in gaming machines to provide a software failure detection mechanism. In a normally operating system, the operating software periodically accesses control registers in the watchdog timer subsystem to “re-trigger” the watchdog. Should the operating software fail to access the control registers within a preset timeframe, the watchdog timer will timeout 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 range of time. A differentiating feature of the 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.
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. Gaming machines of the present assignee typically have power supplies with tighter voltage margins than that required by the operating circuitry. In addition, the voltage monitoring circuitry implemented in 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 slot machine game software is to use a state machine. Different functions of the game (bet, play, result, points in the graphical presentation, etc.) may be 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. This is critical to ensure the player's wager and credits are preserved and to minimize potential disputes in the event of a malfunction on the gaming machine.
In general, the gaming machine does not advance from a first state to a second state until critical information that allows the first state to be reconstructed is stored. This feature allows the game to recover operation to the current state of play in the event of a malfunction, loss of power, etc that occurred just prior to the malfunction. After the state of the gaming machine is restored during the play of a game of chance, game play may resume and the game may be completed in a manner that is no different than if the malfunction had not occurred. Typically, battery backed RAM devices are used to preserve this critical data although other types of non-volatile memory devices may be employed. These memory devices are not used in typical general-purpose computers.
As described in the preceding paragraph, when a malfunction occurs during a game of chance, the gaming machine may be restored to a state in the game of chance just prior to when the malfunction occurred. The restored state may include metering information and graphical information that was displayed on the gaming machine in the state prior to the malfunction. For example, when the malfunction occurs during the play of a card game after the cards have been dealt, the gaming machine may be restored with the cards that were previously displayed as part of the card game. As another example, a bonus game may be triggered during the play of a game of chance where a player is required to make a number of selections on a video display screen. When a malfunction has occurred after the player has made one or more selections, the gaming machine may be restored to a state that shows the graphical presentation at the just prior to the malfunction including an indication of selections that have already been made by the player. In general, the gaming machine may be restored to any state in a plurality of states that occur in the game of chance that occurs while the game of chance is played or to states that occur between the play of a game of chance.
Game history information regarding previous games played such as an amount wagered, the outcome of the game and so forth may also be stored in a non-volatile memory device. The information stored in the non-volatile memory may be detailed enough to reconstruct a portion of the graphical presentation that was previously presented on the gaming machine and the state of the gaming machine (e.g., credits) at the time the game of chance was played. The game history information may be utilized in the event of a dispute. For example, a player may decide that in a previous game of chance that they did not receive credit for an award that they believed they won. The game history information may be used to reconstruct the state of the gaming machine prior, during and/or after the disputed game to demonstrate whether the player was correct or not in their assertion.
Another feature of gaming machines is that they often contain unique interfaces, including serial interfaces, to connect to specific subsystems internal and external to the slot machine. The serial devices may have electrical interface requirements that differ from the “standard”EIA 232 serial interfaces provided by general-purpose computers. These interfaces may include EIA 485, EIA 422, Fiber Optic Serial, optically coupled serial interfaces, current loop style serial interfaces, etc. In addition, to conserve serial interfaces internally in the slot machine, serial devices may be connected in a shared, daisy-chain fashion where multiple peripheral devices are connected to a single serial channel.
The serial interfaces may be used to transmit information using communication protocols that are unique to the gaming industry. For example, IGT's Netplex is a proprietary communication protocol used for serial communication between gaming devices. As another example, SAS is a communication protocol used to transmit information, such as metering information, from a gaming machine to a remote device. Often SAS is used in conjunction with a player tracking system.
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.
Security monitoring circuits detect intrusion into a gaming machine by monitoring security switches attached to access doors in the slot 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 slot machine. When power is restored, the gaming machine can determine whether any security violations occurred while power was off, e.g., via software for reading status registers. This can trigger event log entries and further data authentication operations by the slot machine software.
Trusted memory devices are preferably included in a 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 slot machine. The code and data stored in these devices may include authentication algorithms, random number generators, authentication keys, operating system kernels, etc. The purpose of these trusted memory devices is to provide gaming regulatory authorities a root trusted authority within the computing environment of the slot machine that can be tracked and verified as original. This may be accomplished via removal of the trusted memory device from the slot 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 the 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. A few details related to trusted memory devices that may be used in the present invention are described in U.S. Pat. No. 6,685,567 from U.S. patent application Ser. No. 09/925,098, filed Aug. 8, 2001, entitled “Process Verification,” which is incorporated herein in its entirety and for all purposes.
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, 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.
Returning to the example ofFIG. 4, when a user wishes to play thegaming machine2, he or she inserts cash through thecoin acceptor28 orbill validator30. Additionally, the bill validator may accept a printed ticket voucher which may be accepted by thebill validator30 as indicia of credit when a cashless ticketing system is used. At the start of the game, the player may enter playing tracking information using thecard reader24, thekeypad22, and theflorescent display16. Further, other game preferences of the player playing the game may be read from a card inserted into the card reader. During the game, the player views game information using thevideo display34. Other game and prize information may also be displayed in thevideo display screen42 located in the top box.
During the course of a game, a player may be required to make a number of decisions, which affect the outcome of the game. For example, a player may vary his or her wager on a particular game, select a prize for a particular game selected from a prize server, or make game decisions that affect the outcome of a particular game. The player may make these choices using the player-input switches32, thevideo display screen34 or using some other device which enables a player to input information into the gaming machine. In some embodiments, the player may be able to access various game services such as concierge services and entertainment content services using thevideo display screen34 and one more input devices.
During certain game events, thegaming machine2 may display visual and auditory effects that can be perceived by the player. These effects add to the excitement of a game, which makes a player more likely to continue playing. Auditory effects include various sounds that are projected by thespeakers10,12,14. Visual effects include flashing lights, strobing lights or other patterns displayed from lights on thegaming machine2 or from lights behind thebelly glass40. After the player has completed a game, the player may receive game tokens from thecoin tray38 or theticket20 from theprinter18, which may be used for further games or to redeem a prize. Further, the player may receive aticket20 for food, merchandise, or games from theprinter18.
FIGS. 5A and 5B illustrate another exemplary gaming machine to perform the various embodiments discussed herein. Referring toFIG. 5A,gaming machine500 may play an active role and self-determine whether its promotional program should be reconfigured.Gaming machine500 may have aprocessor502 coupled to amemory504,firewall506, and adatabase510.Memory504 may be any known memory, such as a random access memory, to store gaming information. Thegaming machine500 may utilize afirewall506 to prevent unauthorized access to data stored in thegaming machine500.
Network interface508 may be coupled tofirewall506.Network interface508 may allowgaming machine500 to communicate with other devices, such asconfiguration server1000, bonus server1010, andprogressive server1022.Network interface508 may also allowgaming machine500 to communicate with other gaming devices, such as portable computers, printers, personal digital assistants, and other remote computers.Network interface508 may be any known network interface such as a wireless or wired network interface.
FIG. 5B illustrates thedatabase510 ofgaming machine500. Although illustrated as onedatabase510, the number of databases is not intended to be limiting as any number of databases may be used as necessary.Gaming machine500 may store a plurality of games ofchance520a,520b,520nand be configured to allow a player to play each different game of chance. Each game may be a different version of the same type of game, such as the different variations of poker. Alternatively, each game may be different. One game may be black jack, another poker, and another keno. The number of games and the combinations of games may vary and is not intended to be limiting.
For eachgame520a,520b,520n,game software component information may be listed for each game software components that reside on thegaming machine500. The game software component information may correspond to a particular game software configuration residing on thegaming machine500 as well as potential configurations of future software for thegaming machine500. For example, forgame520a,the game software component information includesgame system elements530,game paytables532,game bonusing534,game graphics536, game sounds538,game progressives540, player tracking542, andother game information544. Under each category, multiple different game software components may be available. Some of the game software components, such asgame graphics536 or game sounds538, may be specific to a particular game while other game software components, such player tracking542, may be shared by multiple different games. For instance, a video slot game and a poker game may use different graphics and sounds but the same player tracking software components.
Processor502 may be configured to receive and manage gaming data and information from other devices and store the information in thedatabase510.Processor502 may poll the various servers and/or devices for information that may be stored in thedatabase510. For example,gaming machine500 may poll theconfiguration server1000 for qualifying criteria used to determine whether the gaming machine should be configured. The qualifying criteria may be stored in the qualifying table514. Theprocessor502 may then poll the gaming machine for specific information corresponding to the qualifying criteria.
Gaming machine500 may also be configured to store relevantgaming data categories558. Gaming data546 such as the number of coins-in/coin-out,paytable data548,progressive data550, bonus data552,licensing data554, andplayer data556 may be stored in thedata category558. Thedata categories558 may be queryable to allow for a more efficient analysis when determining whether to reconfigure the promotional program of thegaming machine500.
Theprocessor502 may be configured to executeanalysis tools512 to determine whether reconfiguration of the promotional program is necessary. As stated above,gaming machine500 may periodically pollconfiguration server1000 for qualifying criteria information and store the information in the qualifying table514.Data analysis application516 may frequently compare the information stored in thedata categories558 with the criteria saved in qualifying table514.Data analysis application516 may analyze and determine whether each criteria has been met to trigger a reconfiguration of the gaming device. If there is a match,processor502 may transmit a notification signal to theconfiguration server1000 to notify theconfiguration server1000 of the match and to obtain authorization to configure thegaming machine500. If authorized, reconfigure application518 may enroll thegaming machine500 into the associated promotional program.
Gaming machine500 may continue to query thedatabase510 and compare the information stored indata categories558 with the criteria stored in qualifying table514 to determine whether there is a status change. Should there be a change in the game status or criteria, the gaming device may be reconfigured and de-enrolled518 from the promotional program. For example, should the player playing video poker change his average bet from $5 to $1 per game, the gaming machine may no longer qualify for the promotional program and be dynamically and automatically reconfigured and de-enrolled.Gaming machine500 may dynamically receive the information and immediately determine whether reconfiguration and de-enrollment is necessary as soon as a change in status of the gaming device is detected.
FIG. 6 illustrates an example embodiment of a network topology. Those of skill in the art will realize that this exemplary architecture and the related functionality are merely examples and that the present invention encompasses many other such embodiments and methods. Here, for example, asingle gaming establishment605 is illustrated, which is a casino in this example. However, it should be understood that some implementations of the present invention involve multiple gaming establishments.
Gaming establishment605 includes 16gaming machines2, each of which is part of abank610 ofgaming machines2. In this example,gaming establishment605 also includes a bank of networked gaming tables1100. It will be appreciated that many gaming establishments include hundreds or even thousands ofgaming machines2 and/or gaming tables1100, not all of which are included in a bank. However, the present invention may be implemented in gaming establishments having any number of gaming machines, gaming tables, and the like.
Various alternative network topologies can be used to implement different aspects of the invention and/or to accommodate varying numbers of networked devices. For example, gaming establishments with very large numbers ofgaming machines2 may require multiple instances of some network devices (e.g., ofmain network device625, which combines switching and routing functionality in this example) and/or the inclusion of other network devices not shown inFIG. 6. For example, some implementations of the invention include one or more middleware servers disposed betweengaming machines2 andserver630. Such middleware servers can provide various useful functions, including but not limited to the filtering and/or aggregation of data received frombank switches615, from individual gaming machines and from other player terminals. Some implementations of the invention include load balancing methods and devices for managing network traffic.
Eachbank610 has a correspondingbank switch615, which may be a conventional bank switch. Each bank switch is connected to server-based gaming (“SBG”)server630 viamain network device625, which combines switching and routing functionality in this example. Although various floor communication protocols may be used, some preferred implementations use IGT's open, Ethernet-based SuperSAS® protocol, which IGT makes available for downloading without charge. However, other protocols such as Best of Breed (“BOB”) may be used to implement various aspects of SBG. IGT has also developed a gaming-industry-specific transport layer called CASH that rides on top of TCP/IP and offers additional functionality and security.
SBG server630,License Manager631,Arbiter133,servers632,634,636 and638, andmain network device625 are disposed withincomputer room620 ofgaming establishment605. In practice, more or fewer servers may be used. Some of these servers may be configured to perform tasks relating to player tracking, bonusing/progressives, etc. Some servers may be configured to perform tasks specific to the present invention.License Manager631 may also be implemented, at least in part, via a server or a similar device. Some exemplary operations ofLicense Manager631 are described in detail in U.S. patent application Ser. No. 11/225,408, entitled “Method And Devices For Authentication And Licensing In A Gaming Network” by Kinsley et al., which is hereby incorporated by reference.
SBG server630 can also be configured to implement, at least in part, various aspects of the present invention. Some preferred embodiments ofSBG server630 and the other servers shown inFIG. 6 include (or are at least in communication with) clustered CPUs, redundant storage devices, including backup storage devices, switches, etc. Such storage devices may include a redundant array of inexpensive disks (“RAID”), back-up hard drives and/or tape drives, etc. Preferably, a Radius and a DHCP server are also configured for communication with the gaming network. Some implementations of the invention provide one or more of these servers in the form of blade servers.
In some implementations of the invention, many of these devices (including but not limited toLicense Manager631,servers632,634,636 and638, and main network device625) are mounted in a single rack withSBG server630. Accordingly, many or all such devices will sometimes be referenced in the aggregate as an “SBG server.” However, in alternative implementations, one or more of these devices is in communication withSBG server630 and/or other devices of the network but located elsewhere. For example, some of the devices could be mounted in separate racks withincomputer room620 or located elsewhere on the network. For example, it can be advantageous to store large volumes of data elsewhere via a storage area network (“SAN”). In some embodiments, these components areSBG server630 preferably has an uninterruptible power supply (“UPS”). The UPS may be, for example, a rack-mounted UPS module.
Computer room620 may include one or more operator consoles or other host devices that are configured for communication withSBG server630. Such host devices may be provided with software, hardware and/or firmware for implementing various aspects of the invention; many of these aspects involve controllingSBG server630. However, such host devices need not be located withincomputer room620. Wired host device660 (which is a laptop computer in this example) and wireless host device (which is a personal digital assistant (PDA) in this example) may be located elsewhere ingaming establishment605 or at a remote location.
Arbiter133 may be implemented, for example, via software that is running on a server or another networked device. Although illustrated with the use of anArbiter133, use of anArbiter133 is not necessary.Arbiter133 serves as an intermediary between different devices on the network. Some implementations ofArbiter133 are described in U.S. patent application Ser. No. 10/948,387, entitled “Method And Apparatus For Negotiating Communications Within A Gaming Network”, filed Sep. 23, 2004 (the “Arbiter Application”), which is incorporated herein by reference and for all purposes. In some preferred implementations,Arbiter133 is a repository for the configuration information required for communication between devices on the gaming network (and, in some implementations, devices outside the gaming network). AlthoughArbiter133 can be implemented in various ways, one exemplary implementation is discussed in the following paragraphs.
FIG. 7 is a block diagram of a simplified communication topology between agaming unit21, thenetwork computer23 and theArbiter133. Although only onegaming unit21, onenetwork computer23 and oneArbiter133 are shown inFIG. 7, it should be understood that the following examples may be applicable to different types of network gaming devices within thegaming network12 beyond thegaming unit21 and thenetwork computer23, and may include different numbers of network computers, gaming security arbiters and gaming units. For example, asingle Arbiter133 may be used for secure communications among a plurality ofnetwork computers23 and tens, hundreds or thousands ofgaming units21. Likewise, multiple gaming security arbiters46 may be utilized for improved performance and other scalability factors.
Referring toFIG. 7, theArbiter133 may include anarbiter controller121 that may comprise aprogram memory122, a microcontroller or microprocessor (MP)124, a random-access memory (RAM)126 and an input/output (I/O) circuit128, all of which may be interconnected via an address/data bus129. Thenetwork computer23 may also include acontroller131 that may comprise aprogram memory132, a microcontroller or microprocessor (MP)134, a random-access memory (RAM)136 and an input/output (I/O) circuit138, all of which may be interconnected via an address/data bus139. It should be appreciated that although theArbiter133 and thenetwork computer23 are each shown with only onemicroprocessor124,134, thecontrollers121,131 may each includemultiple microprocessors124,134. Similarly, the memory of thecontrollers121,131 may includemultiple RAMs126,136 andmultiple program memories122,132. Although the I/O circuits128,138 are each shown as a single block, it should be appreciated that the I/O circuits128,138 may include a number of different types of I/O circuits. TheRAMs124,134 andprogram memories122,132 may be implemented as semiconductor memories, magnetically readable memories, and/or optically readable memories, for example.
Although theprogram memories122,132 are shown inFIG. 7 as read-only memories (ROM)122,132, the program memories of thecontrollers121,131 may be a read/write or alterable memory, such as a hard disk. In the event a hard disk is used as a program memory, the address/data buses129,139 shown schematically inFIG. 7 may each comprise multiple address/data buses, which may be of different types, and there may be an I/O circuit disposed between the address/data buses.
As shown inFIG. 7, thegaming unit21 may be operatively coupled to thenetwork computer23 via thedata link25. Thegaming unit21 may also be operatively coupled to theArbiter133 via thedata link47, and thenetwork computer23 may likewise be operatively coupled to theArbiter133 via thedata link47. Communications between thegaming unit21 and thenetwork computer23 may involve different information types of varying levels of sensitivity resulting in varying levels of encryption techniques depending on the sensitivity of the information. For example, communications such as drink orders and statistical information may be considered less sensitive. A drink order or statistical information may remain encrypted, although with moderately secure encryption techniques, such as RC4, resulting in less processing power and less time for encryption. On the other hand, financial information (e.g., account information, winnings, etc.), game download information (e.g., game software and game licensing information) and personal information (e.g., social security number, personal preferences, etc.) may be encrypted with stronger encryption techniques such as DES or 3DES to provide increased security.
As disclosed in further detail in the Arbiter Application, theArbiter133 may verify the authenticity of each network gaming device. TheArbiter133 may receive a request for a communication session from a network device. For ease of explanation, the requesting network device may be referred to as the client, and the requested network device may be referred to as the host. The client may be any device on thenetwork12 and the request may be for a communication session with any other network device. The client may specify the host, or the gaming security arbiter may select the host based on the request and based on information about the client and potential hosts. TheArbiter133 may provide encryption keys (session keys) for the communication session to the client via the secure communication channel. Either the host and/or the session key may be provided in response to the request, or may have been previously provided. The client may contact the host to initiate the communication session. The host may then contact theArbiter133 to determine the authenticity of the client. TheArbiter133 may provide affirmation (or lack thereof) of the authenticity of the client to the host and provide a corresponding session key, in response to which the network devices may initiate the communication session directly with each other using the session keys to encrypt and decrypt messages.
Alternatively, upon receiving a request for a communication session, theArbiter133 may contact the host regarding the request and provide corresponding session keys to both the client and the host. TheArbiter133 may then initiate either the client or the host to begin their communication session. In turn, the client and host may begin the communication session directly with each other using the session keys to encrypt and decrypt messages. An additional explanation of the communication request, communication response and key distribution is provided in the Arbiter Application.
Wireless devices are particularly useful for managing a gaming network. Such wireless devices could include, but are not limited to, laptops, PDAs or even cellular telephones. Referring once again toFIG. 6, one or more network devices ingaming establishment605 can be configured as wireless access points. For example, a casino manager may use a wireless handheld device to revise and/or schedule gaming machine configurations while roaming the casino floor. Similarly, a representative of a regulatory body could use a PDA to verify gaming machine configurations, generate reports, view activity logs, etc., while on the casino floor.
If a host device is located in a remote location, security methods and devices (such as firewalls, authentication and/or encryption) should be deployed in order to prevent the unauthorized access of the gaming network. Similarly, any other connection betweengaming network605 and the outside world should only be made with trusted devices via a secure link, e.g., via a VPN tunnel. For example, the illustrated connection betweenSBG630,gateway650 and central system663 (here, IGT.com) that may be used for game downloads, etc., is advantageously made via a VPN tunnel.
As discussed above, an Internet-based VPN uses the open, distributed infrastructure of the Internet to transmit data between sites. A VPN may emulate a private IP network over public or shared infrastructures. A VPN that supports only IP traffic is called an IP-VPN. VPNs provide advantages to both the service provider and its customers. For its customers, a VPN can extend the IP capabilities of a corporate site to remote offices and/or users with intranet, extranet, and dial-up services. This connectivity may be achieved at a lower cost to the gaming entity with savings in capital equipment, operations, and services.
For security purposes, any information transmitted to or from a gaming establishment over a public network may be encrypted. In one implementation, the information may be symmetrically encrypted using a symmetric encryption key, where the symmetric encryption key is asymmetrically encrypted using a private key. The public key may be obtained from a remote public key server. The encryption algorithm may reside in processor logic stored on the gaming machine. When a remote server receives a message containing the encrypted data, the symmetric encryption key is decrypted with a private key residing on the remote server and the symmetrically encrypted information sent from the gaming machine is decrypted using the symmetric encryption key. A different symmetric encryption key is used for each transaction where the key is randomly generated. Symmetric encryption and decryption is preferably applied to most information because symmetric encryption algorithms tend to be 100-10,000 faster than asymmetric encryption algorithms.
As mentioned elsewhere herein, U.S. patent application Ser. No. 11/225,408, entitled “Methods And Devices For Authentication And Licensing In A Gaming Network”, by Kinsley et al., describes novel methods and devices for authentication, game downloading and game license management. This application has been incorporated herein by reference.
Providing a secure connection between the local devices of the SBG system and IGT's central system allows for the deployment of many advantageous features. For example, a customer (e.g., an employee of a gaming establishment) can log onto an account of central system663 (in this example, IGT.com) to obtain the account information such as the customer's current and prior account status.
Moreover, such a secure connection may be used by thecentral system663 to collect information regarding a customer's system. Such information includes, but is not limited to, error logs for use in diagnostics and troubleshooting. Some implementations of the invention allow a central system to collect other types of information, e.g., information about the usage of certain types of gaming software, revenue information regarding certain types of games and/or gaming machines, etc. Such information includes, but is not limited to, information regarding the revenue attributable to particular games at specific times of day, days of the week, etc. Such information may be obtained, at least in part, by reference to an accounting system of the gaming network(s), as described in U.S. patent application Ser. No. 11/225,407, by Wolf et al., entitled “Methods And Devices For Managing Gaming Networks,” which has been incorporated herein by reference.
Automatic updates of a customer's SBG server may also be enabled. For example,central system663 may notify a local SBG server regarding new products and/or product updates. For example,central system663 may notify a local SBG server regarding updates of new gaming software, gaming software updates, peripheral updates, the status of current gaming software licenses, etc. In some implementations of the invention,central system663 may notify a local SBG server (or another device associated with a gaming establishment) that an additional theme-specific data set and/or updates for a previously-downloaded global payout set are available. Alternatively, such updates could be automatically provided to the local SBG server and downloaded to networked gaming machines.
After the local SBG server receives this information, it can identify relevant products of interest. For example, the local SBG server may identify gaming software that is currently in use (or at least licensed) by the relevant gaming entity and send a notification to one or more host devices, e.g., via email. If an update or a new software product is desired, it can be downloaded from the central system. Some relevant downloading methods are described elsewhere herein and in applications that have been incorporated herein by reference, e.g., in U.S. patent application Ser. No. 11/078,966. Similarly, a customer may choose to renew a gaming software license via a secure connection withcentral system663 in response to such a notification.
Secure communication links allow notifications to be sent securely from a local SBG server to host devices outside of a gaming establishment. For example, a local SBG server can be configured to transmit automatically generated email reports, text messages, etc., based on predetermined events that will sometimes be referred to herein as “triggers.” Such triggers can include, but are not limited to, the condition of a gaming machine door being open, cash box full, machine not responding, verification failure, etc.
In addition, providing secure connections between different gaming establishments can enable alternative implementations of the invention. For example, a number of gaming establishments, each with a relatively small number of gaming machines, may be owned and/or controlled by the same entity. In such situations, having secure communications between gaming establishments makes it possible for a gaming entity to use a single SBG server as an interface betweencentral system663 and the gaming establishments.
The present invention may easily be implemented with SBG as future games may include updates to add the present invention. Furthermore, the success and/or failure of the new games may then be easily gauged from the relative performance data obtained from the gaming machines.
FIG. 8 illustrates an example method for dynamically reconfiguring a gaming device. A casino employee may input at least one qualifying criteria that may trigger reconfiguration of at least one promotional program of the gaming device at800. The qualifying criteria may be any predetermined requirement set by the user. The criteria may be the theme of the game of chance, location of the gaming device, any player tracking qualifications such as the state where the player resides, any combination of requirements, and the like. The promotional program may be any type of program such as bonuses, progressives, customer service promotions, side bets, or any other type of promotional program desired by the user. For example, a user may set the criteria as follows:
- Theme: Red White & Blue®
- Player: Gold Level From Utah
- Denomination: $1 or more
- Location:Section8
The criteria may be associated with at least one promotional program at802 and saved in a table on the configuration server. For example, the promotional program may be the Lucky Coin bonus program.
The configuration server may determine whether the gaming device is a participating device at804. The gaming device may be required to be a participating device to participate in certain promotional programs otherwise the gaming device is excluded from participating in the promotional program. For example, based upon the example criteria above, a determination is made whether the gaming device meets each the criteria of the promotional program such as whether it is a Red White & Blue®, denomination is $1 or greater, insection8 of the casino, and the player is a Gold Level from Utah. Alternatively, the criteria may be that the gaming device is a Red White & Blue® device with a denomination of $1 or greater. In one embodiment, the location criteria may be set to any location or multiple sites to allow participants from various gaming locations to complete amongst each other. For example, participants playing Red White & Blue® devices in a store and/or a gas station may also join the promotional program and play with participants in multiple casinos. The gaming devices may participate from multiple sites using the network topology discussed above or via any known methods. If it is determined that the gaming machine is a participating device at804, the configuration server polls the gaming device and other servers to gather information corresponding to the qualifying criteria at806. Based on the example above, the configuration server will poll the gaming devices for any Red White & Blue® Slot active themes located insection8, player tracking data, and the denomination played.
The information collected by the configuration server may be saved in a database and compared to the qualifying criteria at808. The configuration server continues to poll and gather information from the gaming devices and servers at806 and compare the information at808 until a match is found at810. Once a match is found at810, the configuration server may determine whether a license is required to enroll the gaming device into the promotional program at812.
The configuration server may obtain licensing information from a license manager. If there is a limited number of gaming machines that are licensed to be enrolled into the promotional program, the configuration server may determine whether the maximum amount has been exceeded at814. The configuration server may also determine whether a license is freed up that is no longer needed due to the reconfigured and de-enrollment of the promotional programs from other gaming devices. If the maximum number of licenses is exceeded at814, a data analysis application may determine whether to deny the reconfiguration of the promotional program, request for additional licenses, or allow the license to automatically be extended for additional gaming devices at816.
In one embodiment, the player may be given some control in determining whether to configure the gaming machine. The player may be prompted and asked whether he would like for the machine to be reconfigured and enrolled into the promotional program at818. Should the player accept, the gaming device may be reconfigured and enrolled into the promotional program at820. The respective server may also be reconfigured by the configuration server to reflect the change in the promotional program for the gaming device at820. For example, if the gaming machine is enrolled in the Lucky Coin bonus program, the bonus server may be reconfigured to reflect the enrollment of the gaming machine into the Lucky Coin bonus program. In another example, if the gaming machine was enrolled in another progressive promotional program, the progressive server may be reconfigured to reflect the enrollment into the new progressive promotional program. Thus, if the promotional program is a bonus, the bonus server may be reconfigured and if the promotional program was a progressive, the progressive server may be reconfigured.
Configuration server will continue to monitor the gaming device for any changes to the status of the gaming device at822. For example, should the player decide to play another game other than Red White & Blue®, change the denomination of the game play, and/or be upgraded in player ranking to a Club Level, the configuration server may automatically and dynamically detect the change in status at824. Any change to the status of the gaming device may result in the gaming device being reconfigured and de-enrolled from the promotional program at826. The respective server may also be reconfigured by the configuration server to reflect the de-enrollment of the gaming device from the promotional program. For example, if the gaming machine was de-enrolled from the Lucky Coin bonus program, the bonus server will be reconfigured to reflect the de-enrollment from the promotional program.
FIG. 9 illustrates another example method for dynamically reconfiguring a gaming device. In this embodiment, the casino may be able to maintain control over the reconfiguration of gaming devices by requiring the authorization of an employee prior to reconfiguring the gaming device. At least one qualifying criteria that may trigger a reconfiguration of the gaming machine may be inputted into a configuration server. The at least one qualifying criteria may also be associated with at least one promotional program at900. The configuration server may determine whether the gaming device is a participating device at902.
If the gaming device is a participating device at902, the configuration server may dynamically poll the gaming device and any other necessary servers for information that may trigger reconfiguration of the gaming device at904. For example, one of the criteria that may trigger reconfiguration of the gaming machine may be the ranking of the player in the casino loyalty program. Thus, the configuration server may poll the gaming device and/or the player tracker server for information about the player.
The information obtained from polling the gaming device and/or servers may be compared with the qualifying criteria stored in the configuration server at906. If the information and qualifying criteria match at908, a casino employee may be notified that reconfiguration of the gaming machine may be possible at910. Notification may be transmitted to the casino employee by any known means such as being displayed on a computer display, transmitted via electronic mail, PDA, cell phone, pager, overhead voice, or any other means.
The casino employee may deny or authorize the reconfiguration of the gaming device at912. Additionally, the employee may manually enable or disable the promotional programs of other gaming devices that do not match the qualifying criteria. For example, a player not wanting to be enrolled into a promotional program may accidentally press the enroll button on the gaming device. The casino employee may manually de-enroll the gaming device from the promotional program. This may be achieved by the employee inputting a special card or identifying device into the gaming machine or this may be achieved via a remote computer or hand-held device, such as a palm device, blackberry, or PDA, kiosk, or any other device.
Should the casino authorize the reconfiguration at912, the player may also be notified of their configuration. The player may be notified of the reconfiguration by any means such as on the display of the gaming device. Should the player authorize the reconfiguration at914, the configuration server may reconfigure and enroll the gaming device in the associated promotional program at916. Once enrolled, the configuration server may continuously monitor the gaming device for any changes to the status of the gaming device at918. If the configuration server detects a change in the status of the gaming device at920, the gaming device may be reconfigured and de-enrolled from the promotional program at922. Thus, the reconfiguration of a gaming machine may occur dynamically, automatically, and in real-time.
EXAMPLESThe examples illustrated herein are intended for illustrative purposes only and are not intended to be limiting as any combination of criteria may be used. Although illustrated with the gaming machine as a slave device, the gaming machine may also be a master device as discussed above.
Example 1A casino offers the promotional program of a Lucky Coin bonus for the following conditions or criteria:
|
| Promotional |
| Criteria | Program |
|
| Theme: Kilimanjaro; and | Lucky Coin |
| Wager: $1 or above; and | Bonus |
| Player Rank: | Club: Plays for Pool 1 (Value at $367.90) or |
| Gold: Plays for Pool 2 (Value at $457.30) or |
| Platinum: Plays for Pool 3 |
| (Value at $587.37) |
|
Additional payouts may be given to select players that are members of the casino loyalty program and the stakes may increase with player rank. Players in the Platinum rank are given the opportunity to win more than players at the Club level.
A player may walk up to the gaming machine and begins playing a Cleopatra game on the gaming machine. The gaming machine may display the following advertisement:
Casino A Offers Club Member MorePlay Kilimanjaro Lucky Coin at $1.00 or BetterClub Level: $367.90Gold Level: $457.30Platinum Level: $587.37Since the player did not insert his casino player tracking card into the gaming machine, the machine is not enrolled in the promotional program. After seeing the advertisement, the player may decide to play for the lucky coin and remembers to insert his player tracking card. The configuration server may detect that the player is a Gold Level loyalty member at this time, but is unable to configure or enroll the gaming machine into the promotional program since no other criteria have been met.
The player switches the game of chance to Kilimanjaro and inserts a wager of $1.00 to play the game of chance. At this time, the configuration server detects that all the criteria have been met: Theme: Kilimanjaro; Wager: $1 or above; Player Rank: Gold Level. The gaming machine is then dynamically and immediately reconfigured and enrolled in the Lucky Coin promotional program. Should the player remove the player tracking card, lower his wager, or change the game theme, the gaming machine will be dynamically and immediately reconfigured and de-enrolled from the Lucky Coin bonus.
Example 2A casino employee inputs the following criteria into the configuration server:
| Theme: Double Bonus Video Poker; and |
| Paytable: ID 161 with 96% hold percentage; and |
| Player: Gold or Platinum Level; and |
| Location: First Floor,Section 10 |
| |
The user may then associate the following promotional program with the above criteria:
|
| Criteria | Promotional Program |
|
| Theme: Double Bonus Video Poker; and | $1,000.00 Bonus |
| Paytable: ID 161 with 96% hold percentage; and | payout for Royal Flush |
| Player: Gold or Platinum Level; and |
| Location: First Floor,Section 10 |
|
A player may walk into the first floor of a casino and insert his player tracking card into a gaming machine that happens to be located in
Section10. The player begins playing the Double Bonus Video Poker game with payout ID
160. The configuration server will detect that the player is playing Double Bonus Poker on a gaming machine located on the first floor in
section10 and that the player is a Platinum Level player. However, since the paytable does not match the criteria, the gaming machine will not be reconfigured.
As the player continues to play the game, he may decide to make larger bets and the paytable may change to payout ID161 with a 96% hold percentage. The configuration server will immediately detect that change in the gaming machine and enroll the gaming machine into the promotional program. A display on the gaming machine may notify the player of the reconfiguration and additional bonus payout.
Should the player remove his player tracking card or change his wager such that the paytable changes, the gaming machine will be reconfigured and de-enrolled from the promotional program in real-time.
Example 3The following criteria may be inputted into the configuration server and associated with the following promotional program:
| |
| Criteria | Promotional Program |
| |
| Theme: Black Jack; and | Bonus Side Bet |
| Game Table: 10; and |
| Player State: California or Nevada; and |
| Player Level: Platinum Level; and |
| Wager: $5.00/game |
| |
A player decides to play at a table game of Black Jack, which happens to be table
10. The player hands the pit boss his player tracking card. The pit boss inputs the player tracking card and the player's seating location into a table game terminal and returns the card to the player. The player is from California and is ranked at the Platinum Level.
The player is given chips that are tagged with an RFID specific to the player's seating position. The player may initially start with a wager of $2.00. The configuration server may immediately receive information that the Platinum Level ranked player from California is playing a game of Black Jack at table10, but will not allow the player to enroll in the promotional program until the player's wager is at least $5.00/game.
Once the player beings to wager $5.00/game, the configuration server will notify the pit boss that the player may enroll in the promotional program and be allowed to make bonus side bets. The player may have the opportunity to decline or accept to enroll in the promotional program.
Example 4Promotional programs may be triggered at times when players are expected to be away from the gaming machines such as during lunch or dinner. Thus, promotional programs may occur during certain peak times such as between 11:00 am-1:00 pm and 4:30 pm-6:30 am. This may help to retain players at the gaming device and regulate the flow of patrons into the various restaurants. The following criteria may be inputted into the configuration server and associated with the following promotional programs:
|
| Criteria | Promotional Program |
|
|
| Times: | 11:00 am-1:00 pm | Table Game: $1,500 Bonus Side Bet |
| 4:30 pm-6:30 am | Gaming Machine: $1,500 Bonus Payout |
| Food/Beverage: 75% | Bingo Parlor: 1 Free Bingo Card per |
| full capacity | player |
| Denomination/Wager: |
| $1.00 or more |
|
Between the peak times of 11:00 am-1:00 pm and 4:30 pm-6:30 am, the configuration server may monitor the reservations terminal of the various restaurants to determine their capacity level. If the restaurants are at 75% capacity or more, the gaming devices may automatically, dynamically, and immediately be enrolled in the promotional program. Players playing at either a table game or gaming machine may be given the opportunity to win a $1,500.00 bonus and players in the bingo parlor may receive one free bingo card. Should the restaurants capacity go below 75% during the peak times, the gaming devices may be reconfigured and de-enrolled in real-time from the promotional program. The gaming device may be de-enrolled from the promotional program once the peak times expire.
Example 5The criteria used to determine whether to reconfigure a gaming device may be based upon the wins won at the gaming device. For example, players typically leave after winning a progressive jackpot believing that they won all they could win. However, offering another promotional program after a progressive jackpot win may entice the players to continue playing at the gaming device.
Thus, the following criteria may be inputted into the configuration server and associated with the following promotional program:
|
| Criteria | Promotional Program |
|
| Progressive Jackpot: Win | Location: Same section as winning gaming |
| machine |
| Time: 2 hours |
| Bonus: $1,000.00 additional bonus payout |
|
Should a player win a progressive jackpot on a Red White & Blue® Slot machine, the configuration server will detect the win and reconfigure the slot machines in the same section to enroll them into the promotional program for two hours. Thus, players playing any of the enrolled gaming machines will be given the opportunity to will an additional $1,000 bonus payout. After two hours, the gaming machines will be reconfigured and de-enrolled from the promotional program.
Example 6A church group enters the casino to play the gaming devices. The group decides to play as a team working together to be enrolled in the promotional programs. Each player may obtain a player tracking card which associates each member with the team. The casino employee may input the following criteria and associate the following promotional program into the configuration server:
|
| Criteria | Promotional Program |
|
| Team:Church Group 1 | Lucky Coin bonus |
| Max. Players simultaneously playing: 10 |
| Theme: Video Poker |
| Team:Church Group 1 | Free dessert at the Café |
| Trigger: Last team member to play Cleopatra |
| Team:Church Group 1 | $1,000.00 Bonus payout |
| Total team Coin-in: 1500 coins | Time: 1 hour |
|
When at least ten members ofChurch Group 1 play a video poker gaming machine, the video poker machines will automatically and dynamically be enrolled into the Lucky Coin bonus program. When less than ten team members are playing on the video poker gaming machines, the gaming machines will be reconfigured and de-enrolled from the Lucky Coin bonus program.
In another criteria, the configuration server may be configured to determine whether all team members have played Cleopatra. Once the last team member plays Cleopatra, all the team members may receive a free dessert at the casino Café. The team members may be notified via the display on the gaming machines that each team members are playing, via a casino employee that is able to locate all the players, via the pit boss if the player is playing a table game, or by any other known notification means.
Lastly, should the total number of coins-in for all the team members be greater than 1500 coins, each of the players may be given the opportunity to be enrolled in a $1,000.00 bonus payout for one hour, whether playing on a gaming machine or at a gaming table. Each team member may be given the opportunity to accept or decline to be enrolled into the promotional program. After the one hour, the gaming devices may be reconfigured and de-enrolled from the $1,000.00 bonus payout promotional program.
While embodiments and applications of this invention have been shown and described, it would be apparent to those skilled in the art having the benefit of this disclosure that many more modifications than mentioned above are possible without departing from the inventive concepts herein.