This invention relates generally to the field of wagering game machines and more particularly to the field of data transmissions in a wagering game environment.
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.
Wagering game makers continually provide new and entertaining games. One conventional way of increasing entertainment value associated with casino-style wagering games (e.g., video slots, video poker, video black jack, and the like) includes offering a base game and a variety of bonus events. However, players often become disinterested in repetitive base games and bonus events. In order to maintain player interest, wagering game machine makers frequently update game themes, game settings, and bonus events.
In certain gaming jurisdictions, updating wagering game machines can be a very expensive because gaming regulators must approve changes to wagering game machine logic (e.g. software or hardware). For example, gaming regulators must approve software modifications that implement new game settings and bonus events. Wagering game makers typically comply with these stringent requirements by submitting complete copies of wagering game software, including both modified and unmodified code segments. If the wagering game software meets all applicable gaming regulations, gaming regulators typically approve the software for installation in publicly used wagering game machines. Gaming regulators often require game makers to digitally sign approved software using procedures approved by the gaming regulators.
Gaming regulators often require wagering game makers to take several additional measures for ensuring that wagering game logic is not improperly modified or tampered-with. For example, some jurisdictions require that wagering game machine logic be securely locked in a tamper-resistant cabinet. Additionally, some jurisdictions prohibit loading unapproved software into a wagering game machine's random access memory. To enforce this regulation, gaming regulators often inspect all installed software for digital signatures, which indicate the software is authentic and has been approved by regulators. In some jurisdictions, gaming regulators prohibit wagering game machines from receiving any data over communications networks. Such a prohibition may arise from concerns that poor network security could result in unapproved or maliciously modified software being loaded into wagering game machines. Because regulators prohibit wagering game machines from receiving data over networks, wagering game makers have been limited to manually disseminating wagering game updates.
As a result, there is a need for an easily approved device that enables secure dissemination of wagering game updates over communications networks.
The present invention is illustrated by way of example and not limitation in the Figures of the accompanying drawings in which:
Methods and apparatus for filtering wagering game content are described herein. This description of the embodiments is divided into five sections. The first section provides an introduction, while the second section describes an example system architecture. The third section describes example operations and the fourth section describes a gaming machine. The fifth section provides some general comments.
This section introduces a wagering game content filter for filtering gaming content received over a communications network. The discussion below will describe data transmissions and operations performed by embodiments of a wagering game content filter.
The dataflow of
The wagering game content filter 104 can be designed for relatively easy regulatory inspection and approval, as it can be far less complex than wagering game machine hardware and software. Because the wagering game content filter 104 can be easily inspected and approved, gaming regulators may allow wagering game machines to receive gaming content over communications networks, so long as the content is filtered by an approved wagering game content filter.
This section describes an example system architecture for filtering wagering game content. Operations of the system components will be described in the next section.
The network 220 can be any communications network, such as a local area network or wide-area network. The network 220 can transmit wagering game content using any suitable communication protocols, including Ethernet, 802.11b, 802.11g, etc.
The wagering game machine 224 includes a cabinet 222 and wagering game machine components 226. The wagering game machine components 226 include a processor 212 connected to an audio unit 208, display unit 214, memory unit 204, input units 202, and persistent storage unit 210. The processor 212 can conduct a wagering game by executing program code and utilizing wagering game content. The program code and wagering game content can be stored in the memory unit 204 and the persistent storage unit 210. The processor can present audio content on the audio unit 208 and video content on the display unit 214. The processor 212 can receive player input through input units 202.
The cabinet 222 also includes a wagering game content filter 216. The wagering game content filter 216 is connected to the memory unit 204 and the processor 212. In one embodiment, the wagering game content filter 216 is not considered part of the wagering game machine 222 because the filter's primary functionality is not related to conducting a wagering game. Instead, the wagering game content filter 216 receives wagering game content over the communications network 220 and filters trusted content (i.e., content that has been approved by gaming regulators and that is from a known and trusted source) from non-trusted content. The wagering game content filter 216 forwards trusted wagering game content to the processor 212 and/or the memory unit 204, while prohibiting non-trusted content from entering the memory unit 204.
Although the components of the system 200 are connected as show in
Any component of system 200 can include machine-readable media including instructions for performing operations described herein. Machine-readable media includes any mechanism that provides (i.e., stores and/or transmits) information in a form readable by a machine (e.g., a computer). For example, a machine-readable medium includes read only memory (ROM), random access memory (RAM), magnetic disk storage media, optical storage media, flash memory devices, electrical, optical, acoustical or other forms of propagated signals (e.g., carrier waves, infrared signals, digital signals, etc.). According to embodiments of the invention, the components of the system 100 can include other various types of logic (e.g., digital logic) for processing game scenes on a gaming device, as described herein.
Operations of the wagering game filter 216 and wagering game components 226 will be described in greater detail in the next section.
The filter authentication unit 302 can establish a trust relationship with the wagering game content filter 216 (i.e., the authentication unit 302 can verify that the filter 216 is an authentic filter from which it can receive trusted content) without loading any unapproved/non-trusted content into the memory unit 204. In one embodiment, the wagering game content filter 216 can provide wagering game content to several wagering game machines. In such embodiment, several filter authentication units will establish trusted relationships with the wagering game content filter 216.
In one embodiment, the filter authentication unit 302 and the wagering game content filter 216 authenticate each other using a three-way handshake (see the discussion of
In one embodiment, the transmission medium between the wagering game content filter 216 and the cabinet 222 is physically secure. For example, a wire running between filter 216 and the cabinet 222 runs through a physically secure and inaccessible container. However, in another embodiment, the wagering game content filter 216 uses encryption to secure its communications with the wagering game machine 224.
In one embodiment, the storage unit 406 is inaccessible to any of the wagering game components 226. Because the storage unit 406 is inaccessible, the wagering game components 226 cannot load unapproved or untrusted software into the wagering game machine's memory unit 204. In one embodiment, the storage unit 406 is configurable to be accessible (e.g., within the address space of the wagering game components) or inaccessible by the wagering game components 226.
In
This section describes operations performed by embodiments of the invention. In certain embodiments, the operations are performed by instructions residing on machine-readable media (e.g., software), while in other embodiments, the methods are performed by hardware or other logic (e.g., digital logic).
In this section,
At block 502, the wagering game content filter 216 receives wagering game content from the wagering game content server 218 over the communications network 220. The wagering game content filter 216 can store the wagering game content in its storage unit 406. In one embodiment, the wagering game content has been digitally signed according to a public/private key methodology, where the content provider signs the content with a secure private key. The flow continues at block 504.
At block 504, the wagering game content filter 206 authenticates the wagering game content. In one embodiment, the filter's authentication unit 402 determines whether the wagering game content is from a trusted source and whether the content has been modified.
In an embodiment where the content provider digitally signed the wagering game content using a secure private key, the authentication unit 402 can authenticate the wagering game content using a public key available from the wagering game content provider.
In one embodiment, the authentication unit 402 authenticates the wagering game content using message authentication codes. In such an embodiment, the wagering game content includes a message authentication code (MAC) created with a secure private key. Upon receiving the wagering game content, the authentication unit 402 can use a public key to determine a MAC for the wagering game content. The authentication unit 402 can then compare it's MAC to the MAC included with the wagering game content. If the MACs match, the wagering game content is from a trusted source and has not been modified. Otherwise, the content has been modified and/or is not from a trusted source.
In another embodiment, the authentication unit 402 can use other suitable cryptographic techniques for authenticating the wagering game content. The flow continues at block 506.
At block 506, if the wagering game content is authentic, the flow continues at block 508. Otherwise, the flow continues at block 510.
At block 508, the communications processing unit 404 transmits the wagering game content to the wagering game machine's memory unit 204. In one embodiment, the communications processing unit 404 can transmit the wagering game content to the processor 212 or the persistent storage unit 210. From block 508, the flow ends.
At block 510, the authentication unit 402 deletes the wagering game content from the storage unit 406. From block 510, the flow ends.
While
At block 602, the wagering game machine's memory unit 204 receives wagering game content from the wagering game content filter 216. The flow continues at block 604.
At block 604, the wagering game machine's processor 212 configures the wagering game machine to utilize the wagering game content. For example, the processor 212 integrates program code, audio content, and video content contained within the wagering game content into existing wagering game logic. In one embodiment, after the wagering game content is integrated into the existing wagering game logic, the wagering game machine is capable of presenting updated game settings, bonus events, and/or wagering games. From block 604, the flow ends.
The discussion will now turn to operations performed by systems that include filter authentication units (see
At block 702, the wagering game content filter 216 transmits a random challenge message to the filter authentication unit 302. The flow continues at block 704.
At block 704, the wagering game content filter 216 receives a digitally signed version of the random challenge message from the filter authentication unit 302. In one embodiment, the filter authentication unit 302 digitally signed the acknowledgment message using a secure secret key. The flow continues at block 706.
At block 706, the wagering game content filter 216 authenticates the digitally signed random challenge message. In one embodiment, the wagering game content filter 216 uses a public key associated with the filter authentication unit 302 to determine the validity of the message's digital signature. The flow continues at block 708.
At block 708, the wagering game content filter 216 determines whether the digitally signed random challenge message is authentic. If the acknowledgement message is authentic, the flow continues at block 710. Otherwise, the flow continues at block 712.
At block 710, the wagering game content filter 216 indicates that the challenge message source (i.e., wagering game authentication unit 302) is authentic. From block 710, the flow ends.
At block 712, the wagering game content filter 216 indicates an authentication failure. In one embodiment, the wagering game content filter 216 transmits a message to gaming operators indicating the failed authentication. From block 712, the flow ends.
At block 802, the filter authentication unit 302 receives a random challenge message from the wagering game content filter 216 The flow continues at block 804.
At block 804, the filter authentication unit 302 digitally signs the random challenge message using a securely held private key. The flow continues at block 806.
At block 806, the filter authentication unit 302 transmits the digitally signed random challenge message back to the wagering game content filter 216. From block 806, the flow ends.
In one embodiment, the authentication is not complete until the filter authentication unit 302 performs the operations shown in
This section describes a wagering game machine used in conjunction with embodiments of the invention.
The wagering game machine 900 can be operated while players are standing or seated. Additionally, the wagering game machine 900 is preferably mounted on a stand (not shown). However, it should be appreciated that the wagering game machine 900 can be constructed as a pub-style tabletop game (not shown), which a player can operate while sitting. Furthermore, the wagering game machine 900 can be constructed with varying cabinet and display designs. The wagering game machine 900 can incorporate any primary game such as slots, poker, or keno, and additional bonus round games. The symbols and indicia used on and in the wagering game machine 900 can take mechanical, electrical, or video form.
As illustrated in
As shown in
A player may “cash out” by pressing a cash out button 918. When a player cashes out, the wagering game machine 900 dispenses a voucher or currency corresponding to the number of remaining credits. The wagering game machine 900 may employ other payout mechanisms such as credit slips (which are redeemable by a cashier) or electronically recordable cards (which track player credits), or electronic funds transfer.
The wagering game machine also includes a primary display unit 904 and a secondary display unit 910 (also known as a “top box”). The wagering game machine may also include an auxiliary video display 930. In one embodiment, the primary display unit 904 displays a plurality of video reels 920. According to embodiments of the invention, the display units 904 and 910 can include any visual representation or exhibition, including moving physical objects (e.g., mechanical reels and wheels), dynamic lighting, and video images. In one embodiment, each reel 920 includes a plurality of symbols such as bells, hearts, fruits, numbers, letters, bars or other images, which correspond to a theme associated with the wagering game machine 900. Furthermore, as shown in
In one embodiment, a plurality of wagering game machines can be connected together with other gaming systems to form a gaming network. In one embodiment, the wagering game machine described above can receive wagering game content from a wagering game content filter, as described herein.
In this description, numerous specific details are set forth. However, it is understood that embodiments of the invention may be practiced without these specific details. In other instances, well-known circuits, structures and techniques have not been shown in detail in order not to obscure the understanding of this description. Note that in this description, references to “one embodiment” or “an embodiment” mean that the feature being referred to is included in at least one embodiment of the invention. Further, separate references to “one embodiment” in this description do not necessarily refer to the same embodiment; however, neither are such embodiments mutually exclusive, unless so stated and except as will be readily apparent to those of ordinary skill in the art. Thus, the present invention can include any variety of combinations and/or integrations of the embodiments described herein. Each claim, as may be amended, constitutes an embodiment of the invention, incorporated by reference into the detailed description.
Herein, block diagrams illustrate example embodiments of the invention. Also herein, flow diagrams illustrate operations of the example embodiments of the invention. The operations of the flow diagrams are described with reference to the example embodiments shown in the block diagrams. However, it should be understood that the operations of the flow diagrams could be performed by embodiments of the invention other than those discussed with reference to the block diagrams, and embodiments discussed with references to the block diagrams could perform operations different than those discussed with reference to the flow diagrams. Additionally, some embodiments may not perform all the operations shown in a flow diagram. Moreover, it should be understood that although the flow diagrams depict serial operations, certain embodiments could perform certain of those operations in parallel.
This application claims priority under 35 U.S.C. 119(e) from U.S. Provisional Application Ser. No. 60/657,114 filed Feb. 28, 2005, which application is incorporated herein by reference.
Number | Date | Country | |
---|---|---|---|
60657114 | Feb 2005 | US |