US 20060183550 A1
A gaming machine requests a download from peer gaming machines in a peer to peer gaming machine network. Responses from gaming machines in the peer to peer gaming machine network are evaluated by the requesting gaming machine, and a peer gaming machine is selected as a function of connectivity. The download is then requested from the selected gaming machine. Connection quality is monitored during download and download can be dynamically changed to a different peer should the current download connection become undesirable and/or a better connection discovered.
1. A gaming machine implemented method comprising:
requesting a download from devices in a peer to peer gaming machine network;
evaluating responses from devices in the peer to peer gaming machine network;
selecting a provider device that responded as a function of suitability; and
requesting the download from the selected provider device.
2. The method of
3. The method of
4. The method of
5. The method of
6. The method of
7. The method of
8. The method of
9. The method of
10. The method of
11. The method of
12. The method of
13. A computer readable medium having instructions for causing a gaming machine to perform a method comprising:
requesting a download from devices in a peer to peer gaming machine network;
evaluating responses from devices in the peer to peer gaming machine network;
selecting a device that responded as a function of suitability; and
requesting the download from the selected device.
14. The computer readable medium of
15. The computer readable medium of
16. The computer readable medium of
17. The computer readable medium of
18. A gaming machine implemented method comprising:
broadcasting a discovery packet identifying gaming assets to peer gaming machines in a peer to peer gaming machine network;
receiving responses from peer gaming machines which are capable of providing the identified gaming asset;
selecting a gaming machine capable of providing the identified gaming asset as a function of suitability; and
requesting the identified gaming asset from such capable gaming machine.
19. A machine implemented method comprising:
requesting data from peer gaming machines in a peer to peer gaming machine network;
receiving responses from peer gaming machines which are capable of providing the identified data;
selecting a gaming machine capable of providing the identified data as a function of connectivity; and
requesting the identified data from such capable gaming machine.
20. A machine implemented method comprising:
identifying a download for a gaming machine in a peer to peer gaming machine network;
selecting a provider device in the peer to peer gaming machine network that has the identified download as a function of suitability; and
requesting the download from the selected provider device.
21. The method of
22. The method of
23. The method of
This application claims priority under 35 U.S.C. 119(e) from U.S. Provisional Application Ser. No. 60/651,008 filed Feb. 8, 2005, which application is incorporated herein by reference.
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, WMS Gaming, Inc.
Gaming machines may be operated as a stand alone unit, or linked in a network of some type to a group of gaming machines. As technology in the gaming industry progresses, more and more gaming services are being provided to gaming machines via communication networks that link groups of gaming machines to a remote central server computer that provides one or more gaming services. As an example, gaming services that may be provided by the remote computer to a gaming machine via a communication network of some type include player tracking, accounting, cashless award ticketing, lottery, progressive games and bonus games. In addition, gaming machines are evolving into gaming platforms where the gaming services and game play options provided on the gaming machines may be dynamically configured. Thus, the number and type of game services and game play options offered on a particular gaming machine may vary regularly with time.
A gaming entity may operate hundreds, thousands or ten of thousands of gaming machines. Since gaming is allowed in many locations throughout the world, casinos may have games distributed over a wide geographic area. Within casinos, the gaming machines may be connected via one or more dedicated networks. Servers are usually located in a backroom of the casino away from the casino floor.
Current techniques for initially loading, modifying or replacing game software in gaming machines are generally inconvenient, time-consuming, and expensive. In one technique, the entire gaming machine is disconnected from the central server and replaced with a new machine. This involves the shipment of machines to and from a gaming establishment and requires the services of an appreciable number of skilled and semi-skilled service personnel. The service personnel must identify the machines to be replaced, locate the machines on the gaming establishment floor, and then replace the existing machines with the new machines. In another technique, the media containing the software is replaced with new devices containing the new software. Again, the service personnel must identify the machines to receive the new software media, locate the machines on the gaming establishment floor, and then replace the existing media with the new media. In this case, media may be a hard disk, flash, various Non-Volatile media such a EEPROM, EPROM, etc.
In yet another technique, the new software can be downloaded to the gaming machine from the central server linked to the gaming machine. This downloading technique facilitates modifications to the game software in that it does not require removal of the gaming machine and does not require service personnel to visit the gaming machine site or the gaming machine itself. Nonetheless, the procedure for downloading the new game software to the gaming machine across a communications link can be time-consuming and subject to security concerns. It can also result in overloading communications links to the detriment of real time gaming information flow. Also, the machine is generally out of service and therefore not generating any revenues during the time at which the new software is being downloaded. Regulated gaming jurisdictions may be reluctant to permit new software to be downloaded to the gaming machine without some assurance that the downloaded software complies with local regulations. Therefore, the downloaded software must be verified and authenticated.
In the following description, reference is made to the accompanying drawings that form a part hereof, and in which is shown by way of illustration specific embodiments which may be practiced. These embodiments are described in sufficient detail to enable those skilled in the art to practice the invention, and it is to be understood that other embodiments may be utilized and that structural, logical and electrical changes may be made without departing from the scope of the present invention. The following description is, therefore, not to be taken in a limited sense, and the scope of the present invention is defined by the appended claims.
The functions or algorithms described herein are implemented in software or a combination of software and human implemented procedures in one embodiment. The software comprises computer executable instructions stored on computer readable media such as memory or other type of storage devices. The term “computer readable media” is also used to represent carrier waves on which the software is transmitted. Further, such functions correspond to modules, which are software, hardware, firmware or any combination thereof. Multiple functions are performed in one or more modules as desired, and the embodiments described are merely examples. The software is executed on a digital signal processor, ASIC, microprocessor, or other type of processor operating on a computer system, such as a personal computer, server or other computer system.
A gaming machine network is shown generally at 100 in
While three gaming machines are shown, many more gaming machines may be included in the peer to peer network, but are not shown for simplicity. The gaming machines may also have the ability to communicate directly with each other, such as by wired or wireless connection. In one embodiment, a slot administrative workstation 135 is also coupled to the network. Workstation 135 provides administrative access to the gaming machines, and also access to gateway 140 for connection to external networks. Gateway 140 may be used to access the Internet, or directly connect to networks such as manufacturer networks for service and support communications. The physical connections shown in
In one embodiment, a gaming machine, such as gaming machine 125 is newly added to the network, and may not have information, including one or more games or themes that are desired. For instance, a gaming machine may be placed in a section of a gaming environment, such as a casino, where a particular game or theme may be desired by management, or to fit in with the theme or games on gaming machines nearby. The process 200 is begun by the newly added gaming machine 125 broadcasting a discovery packet at 210, thus becoming a requesting machine. The discovery packet may include a MAC address or other address identifying gaming machine 125, and indicates information desired as well as status of download, meaning whether this is a new download or the continuation of an existing download.
The requesting machine receives responses at 215 from available providers, such as other gaming machines 120, 130 or the server at 110, which have the desired game or theme and are compatible and able to provide it to the requesting machine via the peer to peer network. Responses may also come from other devices coupled to the gaming machine network. Devices may include available intermediaries, such as a gaming machine, a sign controller or central game server. The responses are evaluated by requesting machine at 220 to determine which gaming machine would make the best providing device. Latency of response to the initial broadcast discovery packet may be used to determine the best providing device, or in further embodiments, information in the response may indicate whether a device is not busy. In further embodiments, various weights may be applied to determine the best providing device on factors such as suitability, quality of connection, throughput levels, QOS, error rates, or other factors.
The requesting machine then selects a providing device, and sends a download request at 225, confirming the data or information that is desired, such as a game or theme. Configuration data, such as game settings, payouts, etc., may also be requested at this time. Download packets are then received at 230 from the selected providing device and stored on the requesting machine secondary media, such as a disk drive or other storage or memory device on the requesting machine.
In various embodiments, packets are checked as received for correct reception. Error correction and checksum techniques may be used. Incorrectly received or uncorrectable packets may be requested again. The download may also be encrypted, with secure keys used to decrypt the downloads. Checksums or other signature technologies may be used to ensure the accuracy and authentication of the downloads may also be employed. Certificates may also be used.
In one embodiment, the requesting machine keeps track of the suitability of the providing device at 235 during the download. Suitability may be determined as a function of connectivity, quality of connection, throughput levels, QOS, error rates, or other factors. If the suitability falls below a predetermined level at 240, such as an average number of bytes received per second, the requesting machine may explore the availability of other potential providers by again broadcasting a discovery packet at 210 and evaluating responses, or reevaluating responses received from the original discovery packet. The requesting machine keeps track of the packets received, and may dynamically switch providers by selecting a provider likely to provide better suitability.
A providing device may also send a packet indicating that it has just become busy, such as if a player has started using the device, such as a gaming machine, or other high priority tasks are being serviced. The providing device may also indicate that it will no longer provide the download, and actually stop sending packets corresponding to the download.
Once the requesting machine has decided to dynamically switch providers at 240, the requesting machine may send a stop download request to the original providing device if it has not already stopped. The requesting machine then identifies a next provider as above starting at 210 and sends a new download request to the selected providing device identifying the game or theme, and the next packet needed to complete the download. It then starts receiving the remaining packets and continues to store them as required for proper operation when the download is complete at 245.
In some embodiments, the requesting machine acts as a arbiter, deciding which device to select for the download. In further embodiments, a central arbiter may be employed. The central arbiter may collect connection information as well as information regarding the content or stored information on each device coupled to the network. It may also collect information regarding the state of each device, and whether or not it is available to provide a download.
Such a central arbiter may then receive a discovery packet from a requesting device, and determine which other device in the network should provide the download. It may then inform the requesting device and the selected providing device, or just command the providing device to start providing the download.
In one embodiment, the central arbiter maintains connection information, and monitors the quality of connections. In alternative embodiments, it receives information from the requesting device regarding the responses it has received, and makes a decision based on that information. The central arbiter may be a server, or another device on the network, such as an idle gaming machine or the slot administrative workstation 135.
Slot administrative workstation 135 in one embodiment provides a user interface to casino personnel in one embodiment. Traditionally, to change gaming content, denominations, paytable (lines, percentages) or languages a technician would have to go to a casino, find the gaming machine on the floor and perform a RAM Clear and reconfigure in the case of denominations and paytable. For languages, a casino technician would have to find the gaming machine on the casino floor and physically enter the Operator Menu and change the languages.
In one embodiment, the slot administrative workstation may be connected as described in
In addition to manually changing these attributes, the casino operator may also use the slot administrative workstation to schedule changes for any and all of these attributes by day, time of day and/or month, allowing casino operators to maximize payout for peak casino playing times and to personalize content.
To change themes, a casino operator may use the slot administrative workstation to change the theme on a machine by selecting a change them option on the workstation. The casino operator then sends a command to a specific gaming machine identifying the them it should use. The gaming machine receives command and uses the peer to peer network to download new gaming content using mechanisms described above.
Casino specific messages may also be provided. Message strings/graphics areas may be reserved for casino use on every theme. The casino operator may use an option within the slot administrative workstation to send specific content for these messages/graphics areas to a gaming machine. Such messages may include a location of graphics to use or the actual text to be updated. Gaming machines may then download associated graphics content from a specified location or update text to new text in the command message.
Language configurations may also be changed using the slot administrative workstation. Currently, themes are released with a list of all languages they support. When a theme is configured, it sends a command to the slot administrative workstation informing it of languages supported. When casino operators want to change languages, the slot administrative workstation may be used to select one or more of the available languages for a given theme and send the command to enable the languages listed. The gaming machine then updates the languages available to the player from a selected device on the gaming network.
Denoms and paytable (lines/percentages) may also be changed. When a gaming machine is configured, it communicates to the slot administrative workstation the paytable and denoms it supports. A casino operator then uses the slot administrative workstation to change desired denoms and/or paytable. The slot administrative workstation then sends a command to the gaming machine to update to new denoms and/or paytable. The gaming machine then changes to the appropriate denoms and/or paytable, obtaining the content to do so from a selected device on the network.
These features, combined with the ability to adjust all of them by time of day, gives much greater flexibility to casino operators in how they use products having the ability to obtain updated information from other device on the network. It also makes updating them much faster and requires less support by manufacturers. It would also allow casinos to maximize their profits by automatically adjusting payout based on usage rates and theme popularity.
In further embodiments, the server 110 or other device, such as the central arbiter audits connected machines to determine their current configurations. Since peer devices can update peer machines, the current configuration may not be known to the server 110. In further embodiments, an updated machine automatically communicates its status to the server 110 or other device that keeps track of current configurations. Machines may also request service, and machines needing constant service may be flagged for special attention. The server 110 may also monitor overall network quality and flag areas of the casino where network quality is degraded for further investigation.
The potential providing device prepares and sends a response at 315 to the discovery packet indicating its ability to provide the download and whether or not it is busy. The response may simply indicate that it cannot provide the download, or is too busy to do so. If that is the case, it may also simply not send a response. The response may also indicate that it has the time and ability to provide the download. If the latter is the case, the potential providing device then may receive a request to provide the download at 320, and begin sending packets for the download at 335 as the selected providing device.
At 340, the selected providing device monitors its ability to continue to provide download packets. The ability may include the same factors considered when first replying to the discovery packet, such as whether or not it is busy, or has become busy since beginning the download. The ability may also be determined by the peer machine receiving the download that has determined that the connection quality is no longer sufficient, and has sent a request for the selected providing device to discontinue the download. At 345, a decision is made whether or not to continue the download. If yes, the download is continued and the ability to continue the download is again monitored. This loop may continue at predetermined intervals or as otherwise interrupted until the download is completed, or conditions have changed. If the decision to continue is no, the download is stopped at 350. A message may be sent to the requesting machine indicating that downloading will stop or has stopped, allowing the requesting machine to request the download from another source.
In one embodiment, the decision to select a different provider is a function of a comparison between an anticipated benefit (i.e. reduced time to completion) versus the anticipated cost to perform the switch.
The game itself is displayed to the player on a visual display 426, such as a video display. The video display 426 may take the form of a cathode ray tube (CRT), a high resolution LCD, a plasma display, LED, or any other type of video display suitable for use in a gaming terminal. Instead of a video display 426, the gaming machine 420 may have several mechanical reels to display the game outcome.
The visual display 426 may include a touch screen 421 overlaying the display to allow players to make game related selections. A push button panel 422 is also typically offered, in addition to the touch screen 421, to give players an alternative method for making gaming selections.
A wager acceptor 416 may include a coin slot acceptor 428 or a bill validator 429 to enter monetary value to the gaming machine 420. The gaming machine 420 may also have a ticket printer 423 that may print and/or read or otherwise encode ticket vouchers with a monetary value. The encoded ticket voucher may also have the casino name, type of voucher, validation number, and a bar code with control and/or security data.
Many gaming machines 420 are also equipped with a player tracking card reader 524. A player may be enrolled in the gaming establishment's player club and may be awarded certain complimentary offers as that player collects points on his player tracking account. The player inserts the player-tracking card into the reader, allowing the gaming establishment's player tracking server to record the player's wagering activity. The gaming machine 420 may also include a player tracking display 427 to be used with the player-tracking card and card reader 424.
The gaming machine 420 is controlled by a central processing unit (CPU) 518, as shown in
The CPU 518 also executes the game program to give the player winning and losing game outcomes. The CPU 518 uses a random number generator with a probability table to select a random game outcome. This game outcome corresponds to a particular set of reel stop positions in the slot type gaming machine. The CPU 518 may also generate a random number that provides a winning progressive jackpot outcome.
The CPU 518 controls the peripheral devices and the execution of the game program using system memory 512, which includes a volatile memory 513 (e.g., a random access memory (RAM)), a non-volatile memory 514 (such as an EEPROM), and an input/output (I/O) circuit 515. Although only one microprocessor is shown, the central processing unit 518 may include multiple microprocessors. Similarly, the system memory 512 of the central processing unit may include multiple RAM and multiple program memories. The CPU also communicates with the network via I/O circuit 515, performing the downloading processes described with respect to
The Abstract is provided to comply with 37 C.F.R. § 1.72(b) to allow the reader to quickly ascertain the nature and gist of the technical disclosure. The Abstract is submitted with the understanding that it will not be used to interpret or limit the scope or meaning of the claims.