The invention relates generally to computerized wagering game systems, and more specifically to wagering game systems operable to process a wagering game server broadcast signal.
A portion of the disclosure of this patent document contains material to which the claim of copyright protection is made. The copyright owner has no objection to the facsimile reproduction by any person of the patent document or the patent disclosure, as it appears in the U.S. Patent and Trademark Office file or records, but reserves all other rights whatsoever. Copyright 2006, 2007, WMS Gaming, Inc.
Computerized wagering games have largely replaced traditional mechanical wagering game machines such as slot machines, and are rapidly being adopted to implement computerized versions of games that are traditionally played live such as poker and blackjack. These computerized games provide many benefits to the game owner and to the gambler, including greater reliability than can be achieved with a mechanical game or human dealer, more variety, sound, and animation in presentation of a game, and a lower overall cost of production and management.
The elements of computerized wagering game systems are in many ways the same as the elements in the mechanical and table game counterparts in that they must be fair, they must provide sufficient feedback to the game player to make the game fun to play, and they must meet a variety of gaming regulations to ensure that both the machine owner and gamer are honest and fairly treated in implementing the game. Further, they must provide a gaming experience that is at least as attractive as the older mechanical gaming machine experience to the gamer, to ensure success in a competitive gaming market.
Computerized wagering games do not rely on the dealer or other game players to facilitate game play and to provide an entertaining game playing environment, but rely upon the presentation of the game and environment generated by the wagering game machine itself. Incorporation of audio and video features into wagering games to present the wagering game, to provide help, and to enhance the environment presented are therefore important elements in the attractiveness and commercial success of a computerized wagering game system. Music and environmental effects are also played through speakers in some wagering game systems to enhance or complement a theme of the wagering game. These sounds typically accompany video presentation of the wagering game on a screen, which itself often includes animation, video, and three-dimensional graphics as part of presentation of the wagering game.
Many computerized wagering game systems are coupled via a network, so that the games can communicate with a server or with one another. In one such example, a central server performs a variety of functions such as accounting, providing updated software to the wagering game systems, and coordinating group games such as progressive slot games.
But, configuration of a wagering game machine on a network requires a degree of configuration and setup beyond simply plugging in a traditional wagering game machine and turning it on. Managing configuration of a wagering game network and the associated devices is therefore an important element of operating a wagering game facility.
One example embodiment of the invention comprises a computerized wagering game system includes a gaming module operable to conduct a wagering game on which monetary value can be wagered, and a network module operable to detect a wagering game network server availability broadcast signal. Another embodiment comprises a wagering game network server operable to broadcast a wagering game server availability signal over a wagering game network.
In the following detailed description of example embodiments of the invention, reference is made to specific example embodiments of the invention by way of drawings and illustrations. These examples are described in sufficient detail to enable those skilled in the art to practice the invention, and serve to illustrate how the invention may be applied to various purposes or embodiments. Other embodiments of the invention exist and are within the scope of the invention, and logical, mechanical, electrical, and other changes may be made without departing from the subject or scope of the present invention. Features or limitations of various embodiments of the invention described herein, however essential to the example embodiments in which they are incorporated, do not limit other embodiments of the invention or the invention as a whole, and any reference to the invention, its elements, operation, and application do not limit the invention as a whole but serve only to define these example embodiments. The following detailed description does not, therefore, limit the scope of the invention, which is defined only by the appended claims.
In one example embodiment of the invention, a computerized wagering game system includes a gaming module operable to conduct a wagering game on which monetary value can be wagered, and a network module operable to detect a wagering game network server availability broadcast signal. In a further example, the network module connects to the wagering game network server identified in the availability broadcast signal, and authenticates the identity of the wagering game network server. Other embodiments of the invention include wagering game servers operable to broadcast wagering game network server availability messages; and systems comprising such servers and networked wagering game systems.
A wagering game is implemented using software within the wagering game machine, such as through instructions stored on a machine-readable medium such as a hard disk drive or nonvolatile memory. In some further example embodiments, some or all of the software stored in the wagering game machine is encrypted or is verified using a hash algorithm or encryption algorithm to ensure its authenticity and to verify that it has not been altered. For example, in one embodiment the wagering game software is loaded from nonvolatile memory in a compact flash card, and a hash value is calculated or a digital signature is derived to confirm that the data stored on the compact flash card has not been altered. The game of chance implemented via the loaded software takes various forms in different wagering game machines, including such well-known wagering games as reel slots, video poker, blackjack, craps, roulette, or hold 'em games. In some further embodiments, a secondary game or bonus game is displayed on the secondary display 102, or other information such as progressive slot information or other community game information is displayed.
The wagering game is played and controlled with inputs such as various buttons 104 or via a touchscreen overlay to video screen 101. The touchscreen is used in some embodiments to display virtual buttons, which can have unique functions in some embodiments, or can duplicate the functions provided by the mechanical buttons 104 in other embodiments. In some alternate examples, other devices such as pull arm 105 used to initiate reel spin in this reel slot machine example are employed to provide other input interfaces to the game player. The player interface components are in this example contained within or mechanically coupled to the wagering game system, but in other embodiments will be located outside the wagering game system cabinet such as by a wired or wireless electronic connection to the wagering game system.
Monetary value is typically wagered on the outcome of the games, such as with tokens, coins, bills, or cards that hold monetary value. The wagered value is conveyed to the machine such as through a changer 106 or a secure user identification module interface 107, and winnings are returned such as via a returned value ticket, a stored value card, or through the coin tray 108. Sound is also provided through speakers 109, typically including audio indicators of game play, such as reel spins, credit bang-ups, and environmental or other sound effects or music to provide entertainment consistent with a theme of the computerized wagering game. In some further embodiments, the wagering game machine is coupled to a network, and is operable to use its network connection to receive wagering game data, track players and monetary value associated with a player, and to perform other such functions.
In other embodiments, the computerized wagering game system takes one or more other forms, such as a mobile or portable wagering game device, a server-based wagering game device, or a networked wagering game system. These other computerized wagering game system embodiments need not contain all features of the wagering game system of
The bus 202 also couples the processor and components to various other components, such as a value acceptor 205, which is in some embodiments a token acceptor, a card reader, or a biometric or wireless player identification reader. A touchscreen display 206 and speakers 207 serve to provide an interface between the wagering game system and a wagering game player, as do various other components such as buttons 208, pullarms, and joysticks. These components are located in a wagering game machine cabinet such as that of
In operation, the wagering game system loads program code from nonvolatile storage 204 into memory 203, and the processor 201 executes the program code to cause the wagering game system to perform desired functions such as to present a wagering game upon which monetary value can be wagered. This and other functions are provided by various modules in the computerized system such as an audio module, a game presentation module, or a touchscreen display module, where such modules comprise in some embodiments hardware, software, mechanical elements, manual intervention, and various combinations thereof.
A network connection enables the wagering game system to communicate with other wagering game network devices, such as a progressive slot area controller or other community game server, an accounting server operable to monitor the security and game activity on wagering game machines, and a game server operable to send game code, multimedia, or other such content to wagering game machines. Connection with the wagering game network servers is typically performed by network methods such as an Ethernet connection, a wireless network connection, or other such connection to facilitate exchange of data.
The wagering game machine 301 in some embodiments will not present a wagering game until communication has been established with a wagering game server 303, so that any accounting, tilt, update, configuration, or other such information that is desirably exchanged between the wagering game machine 301 and the wagering game network server 303 before game play can be conducted.
In some further embodiments, the network connection 302 between the wagering game machines 301 and the wagering game network server 303 is encrypted or secured, such as by a negotiated secure connection, or by use of a security certificate or digital signature provided by the wagering game server. In embodiments where the wagering game server's broadcast availability message contains a certificate or digital signature, the authenticity of the wagering game server can be confirmed in the wagering game machine 301 before communication is started.
In some embodiments, multiple wagering game servers 303 are present on the wagering game network 302, and communicate with fixed wagering game machines 301, mobile wagering game machines, and other computerized network devices. A message protocol such as Game-to-System (G2S), Best of Breed (BOB), SuperSAS, or any other suitable protocol is used to exchange various types of data between wagering game machines and wagering game network servers. Each wagering game machine may be configured to communicate with only certain wagering game network servers, and will in some such embodiments maintain a list of wagering game network servers with which the wagering game machine should communicate. Broadcast messages from wagering game network servers other than those with which a wagering game machine is configured to communicate will be disregarded in some such embodiments, and the wagering game machine will continue to monitor the network for configured wagering game network servers.
Loss of the network connection may be the result of any of a variety of network problems such as a failed router or switch, a rebooting server, a wagering game machine fault or reboot, or a disconnected or noisy network connection. In some embodiments, a network interface adapter in the wagering game machine is able to detect that the network connection has failed, and is able to report the circumstances or conditions surrounding the failure to other wagering game machine hardware and software.
When the wagering game machine detects that the network connection is broken, it begins to listen for server broadcasts at 402. When a server availability broadcast signal is received, it is processed at 403. In one embodiment, the wagering game machine verifies the identity of the wagering game machine, such as by using a digital signature embedded in the broadcast message, and determines whether communication with the identified server is desired. This can also be achieved in another example by use of a configuration table, listing each of the servers with which the wagering game machine is configured to communicate. If the server identified in the server availability broadcast is a server with which the wagering game machine wishes to communicate or is determined to provide a needed service at 404, a connection is attempted at 405.
Once the broadcast message has been processed and the wagering game system has determined that the message is from a valid wagering game server and that the wagering game machine should establish a connection to the server, the wagering game machine attempts to connect to the server at 405. In some embodiments where the connection to the wagering game network server is not immediately successful, the wagering game machine will again try at various intervals, various numbers of times, and using other varying parameters to make repeated attempts to connect with the wagering game server. If processing the broadcast message reveals that the wagering game network server is not one to which the wagering game machine wishes to connect, the wagering game machine continues to listen for wagering game server broadcast messages at 402.
If the attempts to connect to the wagering game server at 405 are determined to be successful at 406, the wagering game system enters a connected state at 408 and is operable to exchange data with the server via the network connection. If the connection attempt is unsuccessful, reconnection is retried until a reconnection attempt count has been exceeded as determined at 407, at which point the wagering game machine returns to 402 and listens for server broadcast availability messages from other servers.
In some embodiments such as where the network connection is noisy or a network element has an intermittent failure, multiple disconnections and reconnections can happen over a short period of time. The number of reconnections, or the interval between reconnection attempts, is limited in some such embodiments to a certain number, is configurable, or changes over time as the wagering game machine continues to try to establish a network connection.
Once the wagering game machine's efforts to reconnect have failed a certain number of times, for a certain amount of time, or according to some other such criteria at 407, the wagering game system listens for a wagering game network server broadcast signal at 402 from either another network server offering the same service, or for the same server in hopes that an intermittent problem such as a reboot have remedied the previous network communications problems. In this state, the wagering game machine monitors the network, listening for a signal from another system that can be identified as a wagering game server, such as by the content of the broadcast signal or by comparison with a list of known wagering game servers on the network. Certain features of the wagering game machine, such as player tracking or other features, may be suppressed while the wagering game continues to operate in some embodiments. In another example embodiment, the wagering game machine stops game play until a network connection can be reestablished, including some embodiments in which the wagering game machine presents the results of a wagering game whose outcome is determined on a central server.
The flowchart of
At 502, the wagering game system determines whether a reconnection count threshold has been established and exceeded before trying to reconnect with the lost server at 503. Threshold examples include a limit to the number of attempts, or the time during which a wagering game machine makes continuous attempts, in reconnecting with the wagering game machine server. In one such example, a wagering game machine attempts reconnection continuously for the first 45 seconds after losing a connection, and attempts to reconnect at one minute intervals for the half hour thereafter. After half an hour, the machine attempts to reconnect at five minute intervals until it is reconnected, or simply listens to network traffic for a broadcast message from the server as shown at 506.
The thresholds can be predetermined or preconfigured by the wagering game machine manufacturer, but in other embodiments will be configurable such that a wagering game machine owner or administrator can configure the wagering game machine to operate as desired. In one such example, a wagering game network owner with a small network or a network transitioning to a networked wagering game machine environment may wish to have a machine attempt reconnection at a more relaxed pace than a wagering game facility that relies on the network for credit management through a networked player tracking system. In another example, a wagering game establishment owner may wish to configure machines to operate in a limited mode if the network connection is lost, while other establishment owners may wish to configure their machines to stop conducting wagering games and to display an error message if the network connection is lost.
If the reconnection attempt is successful, normal connected operation resumes at 505, but if the reconnection attempts are unsuccessful, repeated attempts to connect are made as shown at 502, 503, and 504 until the reconnection attempt count has been exceeded.
Once the reconnection attempt count is determined to be exceeded at 502, the wagering game machine listens for server availability message broadcasts at 506. A broadcast message comprises in one embodiment a message sent from the wagering game network server with more than one specified recipient, or with no specified recipient. When a server availability broadcast message is received, it is processed as shown at 507, and if the server is in the configuration list or provides a needed service a connection attempt is made at 503. The broadcast message identifies the server in some embodiments, and identifies server characteristics such as the server function in further embodiments. The wagering game machines in some embodiments maintain a list of wagering game network servers with which the machines communicate, such as by maintaining the Internet Protocol (IP) address of a game content server, a player tracking server, and an accounting server in one example embodiment. If the server doesn't provide a needed service and is not on the wagering game machine's configured server list, the wagering game system resumes listening for server broadcasts at 506.
In a further embodiment, the wagering game machine is able to authenticate the identity of the wagering game server by analyzing a digitally signed message or a digital certificate signed by a trusted authority, such as a wagering game system manufacturer or server software manufacturer. The identity of the server can thereby be confirmed to a relatively high degree of certainty, providing security for communication of wagering game information such as accounting or player tracking data that may be exchanged between wagering game machines and servers in a wagering game network.
If the server broadcast availability message is from a server to which the wagering game machine wishes to connect, the odds of a successful reconnection are high, as the broadcast message from the server indicates that the server is operational and the network connection linking the server to the wagering game machine is operational.
For this reason, wagering game network servers send broadcast messages over the network regularly after rebooting or detecting reconnection to a wagering game network. As the wagering game network server continues to operate normally while attached to the network, the frequency of broadcast messages can be reduced, because the likelihood of wagering game machines waiting to reattach to the server is reduced.
In some embodiments, attempting to connect to a server identified at 507 and 508 is also subject to a connection attempt counter. In such embodiments, an attempt to connect to a discovered server at 503 that is determined to have failed at 504 will result in processing at 502 to determine whether a connection attempt count has been exceeded. Once the connection attempt count has been reached, the process returns to 506 so that alternate servers can be discovered.
The example of
At the same time as the reconnection process is proceeding in elements 602-605, the wagering game machine is monitoring its network adapter for server broadcast availability messages at 606. If a broadcast availability message is detected, it is received and processed at 607. If the detected server provides a needed service or is on the wagering game machine's server configuration list at 608, a connection is attempted at 603. If a connection to the identified server is not desired, the wagering game system resumes listening for server availability broadcast messages at 606.
In this example, the elements 606 and following can occur at the same time as the elements 602 and following, enabling the wagering game machine to pursue both the process of connection or reconnection to an identified server and the process of listening for server availability broadcast messages at the same time. When one of the two processes switches to the other process, such as when a connection count is exceeded at 602 or a wagering game server is identified for connection at 608, one of the two processes can execute elements of the other process, either as a single process or in addition to the one or more parallel processes already being run, and may or may not return to its original process elements. For example, while a first process is listening for server broadcasts, receiving and processing them, and determining that they do not identify a server to which the wagering game system needs to connect at 606-608, a separate connection process may enter the listening process 606 as a result of connection attempts exceeded at 602 and return to connection attempts at 603 due to a server being identified at 608. In further embodiments, more than one or two processes may execute at the same time, and processes may join one another or split.
These examples illustrate how various example embodiments of a wagering game machine can use broadcast messages from a wagering game network server to establish a connection or reconnect to the server after a disruption in network communication. The examples presented show how such a system can be used to recover from common faults such as a rebooting server, a network that has been temporarily disconnected, or a failure in network hardware such as a network adapter, switch, or router. Examples of attempting reconnection and listening for server availability broadcast messages in various orders or in parallel have illustrated by way of example some ways in which various embodiments of the invention may be practiced.
Although specific embodiments have been illustrated and described herein, it will be appreciated by those of ordinary skill in the art that any arrangement that achieve the same purpose, structure, or function may be substituted for the specific embodiments shown. This application is intended to cover any adaptations or variations of the example embodiments of the invention described herein. It is intended that this invention be limited only by the claims, and the full scope of equivalents thereof.
This patent application claims the priority benefit of U.S. Provisional Patent Application Ser. No. 60/743,259 filed Feb. 9, 2006 and entitled “HOST ADVERTISING PROTOCOL”, and of U.S. Provisional Patent Application Ser. No. 60/43,902 filed Mar. 29, 2006 and entitled “WAGERING GAME NETWORK SERVER AVAILABILITY BROADCAST MESSAGE SYSTEM”, which applications are incorporated herein by reference.
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/US07/03536 | 2/9/2007 | WO | 00 | 10/12/2009 |
Number | Date | Country | |
---|---|---|---|
60743259 | Feb 2006 | US | |
60743902 | Mar 2006 | US |