U.S. patent application number 11/592631 was filed with the patent office on 2008-05-08 for self-correcting configuration items.
This patent application is currently assigned to IGT. Invention is credited to William Brosnan, Warner Cockerille.
Application Number | 20080108405 11/592631 |
Document ID | / |
Family ID | 39360329 |
Filed Date | 2008-05-08 |
United States Patent
Application |
20080108405 |
Kind Code |
A1 |
Brosnan; William ; et
al. |
May 8, 2008 |
Self-correcting configuration items
Abstract
Some implementations of the invention provide improved methods
and devices for configuring gaming machines. According to some
implementations of the invention, an operator's proposed changes to
configuration item values will be assessed according to one or more
rule sets. If a proposed new configuration value violates one or
more such rules, according to some implementations the proposed new
configuration value (or other configuration value(s)) may be
automatically changed in order to obtain compliance with the
rule(s). The rules may or may not be implemented by a gaming
machine. Some implementations of the invention provide remote
hosting of configuration menu pages with or without such
auto-configuration features.
Inventors: |
Brosnan; William; (Reno,
NV) ; Cockerille; Warner; (Sparks, NV) |
Correspondence
Address: |
BEYER WEAVER LLP
P.O. BOX 70250
OAKLAND
CA
94612-0250
US
|
Assignee: |
IGT
|
Family ID: |
39360329 |
Appl. No.: |
11/592631 |
Filed: |
November 2, 2006 |
Current U.S.
Class: |
463/16 |
Current CPC
Class: |
G07F 17/32 20130101;
G07F 17/323 20130101; G07F 17/3232 20130101; G07F 17/3234
20130101 |
Class at
Publication: |
463/16 |
International
Class: |
A63F 9/24 20060101
A63F009/24 |
Claims
1. A gaming machine, comprising: means for providing a wagering
game; an interface for receiving an instruction to set a first
configuration value relating to the provision of the wagering game;
and at least one logic device configured to do the following:
determine whether the first configuration value would cause a rule
violation; and alter the first configuration value or a related
configuration value when it is determined that accepting the first
configuration value would cause a rule violation.
2. The gaming machine of claim 1, wherein the interface comprises a
user interface.
3. The gaming machine of claim 1, wherein the interface comprises a
network interface.
4. The gaming machine of claim 1, wherein the interface comprises a
uniform serial bus interface.
5. The gaming machine of claim 1, wherein the interface comprises
external storage media.
6. The gaming machine of claim 1, wherein at least one logic device
is further configured to report an altered configuration value.
7. The gaming machine of claim 1, wherein at least one logic device
is further configured to prompt a user to accept or reject a
proposed alteration to a configuration value.
8. The gaming machine of claim 1, wherein at least one logic device
is further configured to allow a user to enable or disable the
gaming machine's ability to alter an indicated configuration
value.
9. The gaming machine of claim 1, wherein the rule violation
comprises an incompatibility between the first configuration value
and a second configuration value.
10. The gaming machine of claim 1, wherein the rule violation
comprises a jurisdictional law violation.
11. The gaming machine of claim 3, wherein at least one logic
device is further configured to host a configuration menu via the
network interface.
12. The gaming machine of claim 3, wherein at least one logic
device is further configured to send configuration instructions to
other gaming machines via the network interface.
13. An apparatus, comprising: a network interface for receiving an
instruction to set a first configuration value relating to the
provision of a wagering game; and at least one logic device
configured to do the following: determine whether the first
configuration value would cause a rule violation; and alter the
first configuration value or a related configuration value when it
is determined that accepting the first configuration value would
cause a rule violation.
14. The apparatus of claim 13, wherein at least one logic device is
further configured to send configuration instructions to a
plurality of gaming machines via the network interface.
15. The apparatus of claim 13, further comprising means for
providing a wagering game.
16. A method, comprising: receiving an instruction to set a first
configuration value relating to the provision of a wagering game;
determining whether the first configuration value would cause a
rule violation; and altering the first configuration value or a
related configuration value when it is determined that accepting
the first configuration value would cause a rule violation.
17. The method of claim 16, wherein the rule violation comprises an
incompatibility between the first configuration value and a second
configuration value.
18. The method of claim 16, wherein the rule violation comprises a
jurisdictional rule violation.
19. The method of claim 16, further comprising receiving a rule set
for determining whether accepting the first configuration value
would cause a rule violation.
20. The method of claim 16, further comprising receiving a rule set
for determining how to alter the first configuration value or a
related configuration value when it is determined that accepting
the first configuration value would cause a rule violation.
21. The method of claim 16, further comprising reporting altered
configuration values.
22. The method of claim 16, further comprising prompting an
operator to accept or reject proposed alterations to configuration
values.
23. The method of claim 16, further comprising providing
configuration instructions to a plurality of gaming machines
according to an approved set of configuration instructions for a
first gaming machine.
24. The method of claim 17, wherein the altering step comprises
altering the first configuration value.
25. The method of claim 17, wherein the altering step comprises
altering the second configuration value.
26. The method of claim 18, wherein the altering step comprises
altering the first configuration value.
27. The method of claim 23, wherein the providing step comprises
transmitting configuration instructions to the plurality of gaming
machines via a network.
28. The method of claim 23, wherein the providing step comprises:
storing the approved set of configuration instructions on a
portable memory device; establishing a communication between the
portable memory device and one gaming machine of the plurality of
gaming machines; and copying the approved set of configuration
instructions from the portable memory device to the one gaming
machine of the plurality of gaming machines.
29. The method of claim 28, further comprising a step of
authenticating the portable memory device.
30. The method of claim 29, wherein the authentication step
comprises the use of a digital signature.
Description
BACKGROUND OF THE INVENTION
[0001] This invention relates to networks of gaming machines, such
as slot machines and video poker machines. More particularly, the
present invention relates to methods and devices for configuring
gaming machines and other devices in a gaming network.
[0002] The gaming machines under the control of a particular entity
may be globally distributed in many different types of
establishments. Casinos, convenience stores, supermarkets, bars and
boats are a few examples of establishments where gaming machines
may be placed.
[0003] Typically, utilizing a master gaming controller, a gaming
machine controls various combinations of devices that allow a
player to play a game on the gaming machine and also encourage game
play on the gaming machine. For example, a game played on a gaming
machine usually requires a player to input money or indicia of
credit into the gaming machine, indicate a wager amount, and
initiate a game play. These steps require the gaming machine to
control input devices, such as bill validators and coin acceptors,
to accept money into the gaming machine and recognize user inputs
from devices, including key pads and button pads, to determine the
wager amount and initiate game play. After game play has been
initiated, the gaming machine determines a game outcome, presents
the game outcome to the player and may dispense an award of some
type depending on the outcome of the game.
[0004] The operations described above may be carried out on the
gaming machine when the gaming machine is operating as a "stand
alone" unit or linked in a network of some type to a group of
gaming machines. As technology in the gaming industry progresses,
more and more gaming services are being provided to gaming machines
via communication networks that link groups of gaming machines to a
networked computer (which may be a local or a remote computer) that
provides one or more gaming services. As an example, gaming
services that may be provided by a networked 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.
[0005] Networked gaming services enhance the game playing
capabilities of the gaming machine or provide some operational
advantage in regards to maintaining the gaming machine. Thus,
network gaming services provided to groups of gaming machines
linked over a dedicated communication network of some type have
become very popular in the gaming industry.
[0006] One example wherein a group of gaming machines are linked
using a dedicated network to provide a network gaming service is a
progressive game network. The progressive game services enabled by
the progressive game network increase the game playing capabilities
of a particular gaming machine by enabling a larger jackpot than
would be possible if the gaming machine was operating in a "stand
alone" mode. The potential size of the jackpot increases as the
number gaming machines connected in the progressive network is
increased. The size of the jackpot tends to increase game play on
gaming machines offering a progressive jackpot, which justifies the
costs associated with installing and maintaining the dedicated
progressive game network.
[0007] However, there are many aspects of managing and provisioning
gaming machines that are still performed manually. For example, in
a time consuming process, installing a new game has previously
involved manually exchanging an EPROM (e.g. a read-only memory)
containing the game on the gaming machine. The software is manually
loaded because the gaming software is very highly regulated and in
most gaming jurisdictions only approved gaming software may be
installed on a gaming machine. Further, the gaming software is
manually loaded for security reasons, in order to prevent the
source code from being obtained by individuals who might use the
source code to try to find ways of cheating the gaming machine.
Other attributes of gaming machines, such as the denomination, pay
tables, etc., are typically configured manually for similar
reasons.
[0008] It would be desirable to provide methods and devices that
overcome at least some of these drawbacks of the prior art.
SUMMARY OF THE INVENTION
[0009] Some implementations of the invention provide improved
methods and devices for configuring gaming machines. According to
some implementations of the invention, an operator's proposed
changes to configuration item values will be assessed according to
one or more rule sets. If a proposed new configuration value
violates one or more such rules, according to some implementations
the proposed new configuration value (or other configuration
value(s)) may be automatically changed in order to obtain
compliance with the rule(s). As used herein, a "rule" may involve
consistency between inter-related configuration values, a
predetermined range of acceptable (and/or feasible) values for a
configuration item, a law of a jurisdiction etc. The rules may or
may not be implemented by a gaming machine. Some implementations of
the invention provide remote hosting of configuration menu pages
with or without such auto-configuration features.
[0010] Some embodiments of the invention provide a gaming machine
that includes the following elements: means for providing a
wagering game; an interface for receiving an instruction to set a
first configuration value relating to the provision of the wagering
game; and at least one logic device. The logic device or devices
are configured to determine whether the first configuration value
would cause a rule violation and alter the first configuration
value (or a related configuration value) when it is determined that
accepting the first configuration value would cause a rule
violation.
[0011] The "rule violation" may involve, e.g., an incompatibility
between the first configuration value and a second configuration
value. However, in some instances the rule violation may involve
the violation of a rule established in a game theme, by a gaming
machine manufacturer, by a gaming establishment, etc. In some
cases, a rule violation may involve a jurisdictional law
violation.
[0012] The interface may comprise, for example, a user interface, a
network interface (e.g., a uniform serial bus ("USB") interface).
The interface may comprise (or at least provide communication with)
external storage media.
[0013] A logic device may be configured to report an altered
configuration value and/or to prompt a user to accept or reject a
proposed alteration to a configuration value. A logic device may be
configured to allow a user to enable or disable the gaming
machine's ability to alter an indicated configuration value.
[0014] A logic device may be configured to host a configuration
menu, e.g., via a network interface. Alternatively, or
additionally, a logic device may be further configured to send
configuration instructions to other gaming machines via a network
interface.
[0015] Other devices are provided according to some embodiments of
the invention. One such apparatus includes the following elements:
a network interface for receiving an instruction to set a first
configuration value relating to the provision of a wagering game;
and at least one logic device. The logic device or devices may be
configured to determine whether the first configuration value would
cause a rule violation and alter the first configuration value or a
related configuration value when it is determined that accepting
the first configuration value would cause a rule violation.
[0016] A logic device may also be configured to send configuration
instructions to a plurality of gaming machines via the network
interface. In some implementations, the apparatus is configured to
provide a wagering game. However, in other implementations, the
apparatus may be another device, such as a controller, a server, a
host device, a kiosk, etc.
[0017] Some implementations of the invention involve methods that
include the following steps: receiving an instruction to set a
first configuration value relating to the provision of a wagering
game; determining whether the first configuration value would cause
a rule violation; and altering the first configuration value or a
related configuration value when it is determined that accepting
the first configuration value would cause a rule violation.
[0018] As with other implementations of the invention, the "rule
violation" may involve, e.g., an incompatibility between the first
configuration value and a second configuration value. If so, the
method may involve altering the first configuration value and/or
altering the second configuration value.
[0019] However, in some instances the rule violation may involve
the violation of a rule established in a game theme, by a gaming
machine manufacturer, by a gaming establishment, etc. In some
cases, a rule violation may involve a jurisdictional law violation.
If so, the method may involve altering the first configuration
value.
[0020] The method may include the step of receiving a rule set for
determining whether accepting the first configuration value would
cause a rule violation. The method may also involve receiving a
rule set for determining how to alter the first configuration value
or a related configuration value when it is determined that
accepting the first configuration value would cause a rule
violation. The method may include the step(s) of reporting altered
configuration values and/or prompting an operator to accept or
reject proposed alterations to configuration values.
[0021] Configuration instructions may be provided to a plurality of
gaming machines according to an approved set of configuration
instructions for a first gaming machine. The providing step may
involve transmitting configuration instructions to the plurality of
gaming machines via a network.
[0022] Alternatively, or additionally, the providing step may
comprise the following: storing the approved set of configuration
instructions on a portable memory device; establishing a
communication between the portable memory device and one gaming
machine of the plurality of gaming machines; and copying the
approved set of configuration instructions from the portable memory
device to the one gaming machine of the plurality of gaming
machines. The method may also include a step of authenticating the
portable memory device, e.g., via a digital signature.
[0023] Some such implementations may allow a user to configure one
or more gaming machines via an easy-to-use GUI displayed on a wired
or a wireless device, such as a laptop, a PDA, a work station or
other host device. Gaming machine configurations that can be
changed according to some implementations of the invention include
game denominations, games to enable, disable or download, game
payback percentage, deal speed, volume level, enabling or disabling
tournament play, etc.
[0024] The present invention provides other hardware (such as
network devices and components of network devices) that is
configured to perform the methods of the invention, as well as
software to control devices to perform these methods.
[0025] These and other features of the present invention will be
presented in more detail in the following detailed description of
the invention and the associated figures.
BRIEF DESCRIPTION OF THE DRAWINGS
[0026] FIG. 1 is a flow chart that outlines some methods of the
invention.
[0027] FIG. 2 illustrates a simplified configuration menu.
[0028] FIG. 3 depicts a data structure involving inter-related
configurations.
[0029] FIG. 4 illustrates a GUI that may be used to implement some
aspects of the invention.
[0030] FIG. 5 is a flow chart that outlines alternative methods of
the invention.
[0031] FIG. 6 depicts a simplified example of a gaming network that
may be used to implement, at least in part, some aspects of the
invention.
[0032] FIG. 7 is a block diagram of an Arbiter.
[0033] FIG. 8 illustrates a gaming machine that may be configured
according to some aspects of the invention.
[0034] FIG. 9 illustrates a gaming machine and a gaming network
that may be configured according to some aspects of the
invention.
[0035] FIG. 10 illustrates a network device that may be configured
according to some aspects of the invention.
EXAMPLES OF SOME EMBODIMENTS OF THE INVENTION
[0036] Exemplary applications of systems, components, and methods
according to the present invention are described. These examples
are provided solely to add context and aid in the understanding of
the invention. Thus, it will be apparent to one skilled in the art
that the present invention may be practiced without some or all of
the specific details described herein. In other instances,
well-known process steps, system components, and software and
network concepts have not been described in detail in order to
avoid unnecessarily obscuring the present invention.
[0037] In addition, other applications are possible, such that the
following examples, illustrations, and contexts should not be taken
as definitive or limiting either in scope or setting. Although the
embodiments below are described in sufficient detail to enable one
skilled in the art to practice the invention, these examples,
illustrations, and contexts are not limiting, and other embodiments
may be used and changes may be made without departing from the
spirit and scope of the invention. For example, while the invention
is described primarily with respect to the configuration of gaming
machines, the invention is not so limited and may apply to the
configuration of kiosks, configurable table games and other
devices.
[0038] Some methods of the invention will now be described with
reference to FIG. 1. Steps of the methods shown and described
herein may not need to be performed (and in some implementations
are not performed) in the order indicated. Some implementations of
these methods may include more or fewer steps than those
described.
[0039] Method 100 includes a series of steps for configuring a
gaming machine, e.g., a machine for providing wagering games. An
example of one such gaming machine will be described in detail
below with reference to FIG. 8. In some implementations of the
invention, many of the steps of method 100 may be performed by such
a gaming machine. However, in alternative implementations, the
steps of method 100 may be performed by another device, e.g., by a
host device, server, etc., that is configured to provide
configuration information to more than one gaming machine. Such a
device may, for example, be assigned to a plurality of identical
(or very similar) gaming machines, e.g., to a bank of networked
gaming machines that may all be configured in substantially the
same way.
[0040] In step 101, a request is received for the configurable
items of a gaming machine. The request may, for example, be
received by a gaming machine (or other device) from a host device
of a gaming network. As shown and described below with reference to
FIG. 6, some such implementations may allow a user to configure one
or more gaming machines via a wired or a wireless device, such as a
laptop, a PDA, a work station or other host device. However, the
request may also be made by an operator in the vicinity of the
gaming machine (or other device).
[0041] A configuration menu is provided in response to the request.
(Step 103.) A simplified example of such a menu is illustrated in
FIG. 2. In this example, FIG. 2 illustrates a type of configuration
menu that an operator could see if configuring a gaming machine
from a host device of a gaming network. Here, the configuration
menu is "hosted" by the gaming machine to be configured. This may
be accomplished, for example, via a series of hypertext markup
language ("HTML") screens, such as those used to provide Web pages
on the Internet. However, in alternative implementations, a
configuration menu is displayed on a display device of a gaming
machine.
[0042] Here, configuration menu 200 includes instances 1 through N
of menu item 205. Each instance of menu item 205 pertains to a
configurable item (sometimes referred to herein as a "configuration
item" or the like). Here, the name of the configurable item is
indicated in field 210 and the configurable item type is set forth
in field 220. Field 230 indicates a range of values for the
configurable item. Here, the values in field 230 of configurable
item 1 are expressed as discrete values a through e, whereas the
values in field 230 of configurable item N are expressed as
discrete values a through g. One or more of these values may be
highlighted in some fashion to indicate "active" or current values.
In alternative implementations, configurable item values may be
expressed in other ways, e.g., by indicating the lowest and highest
possible values for the configuration item, by indicating a current
configuration item value in a window, etc.
[0043] Comments and/or instructions regarding a configuration item
may be set forth in field 240. These instructions, which may be
provided, e.g., as text or a Java.RTM. applet, may indicate the
significance of a configurable item, applicable rules, etc. For
example, field 240 may indicate jurisdictional limitations
regarding a configuration item, inter-relationships with other
configuration items, etc. If an operator wishes to change a
configuration item value, the operator may activate Edit button 250
and indicate the desired change(s).
[0044] However, some configuration items may not be modifiable.
Certain configuration item values may be fixed (e.g., according to
jurisdictional requirements), have maximum values that cannot be
exceeded, etc. Such values may be set according to corresponding
jurisdiction codes and/or country codes. For such configuration
items, the "Edit" button (or the like) may be disabled (e.g.,
"grayed out") or may be omitted.
[0045] Referring once again to FIG. 1, in step 105 an operator has
indicated a proposed change to a configuration item value.
Therefore, in step 110, it is determined whether accepting the
configuration item value would violate a rule. According to some
implementations of the invention, an operator's proposed changes to
configuration item values will be assessed by a logic device (e.g.,
a processor of a gaming machine or other device) according to one
or more rule sets. The rule sets may be implemented as software
code stored in a machine-readable medium. As used herein, a "rule"
may involve consistency between inter-related configuration values,
a predetermined range of acceptable (and/or feasible) values for a
configuration item, a law of a jurisdiction, etc. In some
implementations, it will also be determined in step 110 whether the
proposed change would have a potentially detrimental effect, even
if no rule would be violated.
[0046] In step 112, it will be determined whether there is a
reasonable alternative that could be proposed. Some proposed
configuration values may not have a reasonable alternative. For
example, a proposed configuration value may involve a breach of the
laws of a jurisdiction for which the applicable rule set/software
includes no reasonable alternative. In such instances, the proposed
configuration value will be rejected. (Step 114.)
[0047] However, in many instances it will be possible to determine
one or more reasonable alternative configuration values. (Step
115.) For example, if the rule violation is merely an inconsistency
between inter-dependent configuration item values, it may be
possible to determine alternative values for one or more of these
configuration item values. In such instances, one or more
alternative configuration values will be determined in order to
obtain compliance with the rule(s) and/or ameliorate the
potentially detrimental effect. In some such instances, an
alternative value may be determined for the same configurable item.
Alternatively, or additionally, an alternative value may be
determined for one or more other configurable items.
[0048] For example, there are preferably rules regarding the
compatibility of a credit limit and the maximum allowable bet ("Max
Bet"). If the operator tried to set Max Bet to a higher value than
the credit limit, an alternative value may be determined for one
(or both) of these configurable items. For example, if the operator
tried to set Max Bet to $5000 and the credit limit were $4000, it
may be determined in step 115 that the Max Bet could be set to
$4000. Alternatively, it may be determined in step 115 that the
credit limit could be increased to $5000 or that both values could
be changed, e.g., to an intermediate value such as $4500.
[0049] In some implementations of the invention, such changes will
be made automatically (step 125) without any prompt to the
operator. (Some implementations allow an operator to disable the
automatic determination and/or implementation of new configuration
values, e.g., according to a menu option.) However, alternative
implementations provide the operator a prompt and an opportunity to
accept or reject the proposed value change(s). (Step 120.)
[0050] Either way, such implementations of the invention provide a
significant improvement over the prior art. In some
currently-implemented systems, if an operator attempts to set the
value of a configurable item to an unacceptable value, the response
(e.g., from a gaming machine) may be, in effect, "No, I can't do
that. Try again." Even if the device were to reply with a message
indicating why a configuration setting will not work, there may be
problems. For example, it may not be practical to explain concisely
the inter-relationships of all of the configuration items. So, if
the device indicates that configurable item 1 must be changed in
accordance with configurable item 2, there may be other
configurable items 3 and 4 that will be affected when configurable
item 2 is changed, and so on. This could be very frustrating for
the operator.
[0051] One example of providing an operator a prompt and an
opportunity to accept or reject proposed value change(s) will now
be discussed with reference to FIGS. 3 and 4. Referring first to
FIG. 3, data structure 300 indicates a few possible configuration
values relating to denomination. Column 310 indicates denominations
that are possible for a particular gaming machine. These
denominations may correspond, for example, with the particular
hardware and/or software of the currency-receiving features of the
gaming machine. Here, for example the bill validator may not be
programmed to accept bills larger than $20 bills.
[0052] Column 320 indicates possible denominations for various game
themes that the gaming machine may be configured to provide. The
game themes may involve different types of games, e.g., slot games,
video poker, keno, bingo, etc. It will be appreciated that there
may be more or fewer than the 4 game themes indicated. Column 330
indicates various paytables and corresponding denominations.
[0053] In this example, the operator has proposed to remove the
$0.05 cabinet denomination. (Step 105 of FIG. 1.) In step 110, it
is determined that there are potentially detrimental effects of
removing the $0.05 cabinet denomination. Therefore, the operator is
notified of these potentially detrimental effects via the graphical
user interface depicted in FIG. 4. (Step 120 of FIG. 1.) In this
example, graphical user interface 400 is hosted by a gaming machine
and appears on a host device used by an operator. However in
alternative implementations, such a graphical user interface may
appear on a display device of a gaming machine or of another
device.
[0054] Text field 410 provides a notice that there are potentially
detrimental effects of removing the $0.05 cabinet denomination.
Some specific results are set forth in fields 420. Menu button 430
allows the operator to accept the proposed configuration change and
to proceed. However, if the operator decides that the detrimental
effects of removing the $0.05 cabinet denomination outweigh the
advantages, the operator may activate menu button 440 and cancel
the proposed configuration change.
[0055] Some implementations may determine alternatives even when
the proposed configuration would cause a violation of the law of a
jurisdiction. In one such example, in step 105 an operator may
attempt to activate a Class III game (e.g., a slot game) in a
jurisdiction within which Class II games are legal but Class III
games are illegal. In step 110, it would be determined that
accepting this configuration would cause a rule violation. As
previously mentioned, some implementations would determine that
there is no reasonable alternative (step 112) and would reject the
proposed configuration (step 114). However, in alternative
implementations, it may be determined in step 112 whether there is
an available Class II game that provides a similar game
presentation to that of the desired Class III game. If so, the
operator may be prompted as to whether the Class II game would be
acceptable. (Step 120.) If the operator accepts, the Class II game
may be downloaded and/or enabled.
[0056] The following patent applications describe methods and
devices for providing Class II games that simulate Class III games,
and are hereby incorporated by reference: U.S. patent application
Ser. No. 10/995,636, entitled "CLASS II/CLASS III HYBRID GAMING
MACHINE, SYSTEM AND METHODS" and filed Nov. 22, 2004; U.S. patent
application Ser. No. 10/937,227, entitled "BINGO GAME MORPHED TO
DISPLAY NON-BINGO OUTCOMES" and filed Sep. 8, 2004; U.S. patent
application Ser. No. 11/312,948, entitled "BINGO GAMING MACHINE
CAPABLE OF SELECTING DIFFERENT BINGO POOLS" and filed Dec. 19,
2005; U.S. patent application Ser. No. 11/402,726, entitled "USING
MULTIPLE BINGO CARDS TO REPRESENT MULTIPLE SLOT PAYLINES AND OTHER
CLASS III GAME OPTIONS" and filed Apr. 11, 2006; and U.S. patent
application Ser. No. 11/442,029, entitled "BINGO SYSTEM WITH
DISCRETE PAYOUT CATEGORIES" and filed May 26, 2006.
[0057] Referring again to FIG. 1, it is determined in step 130
whether the operator wishes to provide additional configuration
instructions for the gaming machine. This determination may be
made, for example, according to the operator's response to a
prompt, e.g., via a configuration menu page or other such graphical
user interface. If the operator provides another instruction, it is
received in step 105. If not,
[0058] Preferably, a report is generated for the operator
summarizing the configuration values that will be implemented.
(Step 135.) The report may indicate the configuration
settings/changes made by the operator and all other configuration
item values that needed to be changed in order to allow the new
configuration item values. When a configuration item value is
accepted, the gaming machine may indicate the acceptance. The
gaming machine is configured according to the configuration values
indicated. (Step 140.) Preferably, the new configuration item
values are stored both on the gaming machine and on at least one
other device, e.g., on a database accessible by a server-based
gaming system such as that described elsewhere herein. The process
ends in step 145.
[0059] According to some implementations of the invention, methods
are provided for the convenient configuration of multiple gaming
machines according to a set of configuration values. Such methods
are most useful when the gaming machines in question are identical,
or at least substantially similar. The set of configuration values
may be determined in any convenient fashion, e.g., according to the
steps of method 100.
[0060] Referring now to FIG. 5, one such method 500 will be
described. Method 500 may begin, for example, after step 135 and/or
step 140 of method 100 have been completed. In step 505, it is
determined whether the operator wishes to configure another gaming
machine using the set of configuration values. For example, the
operator may wish to configure each gaming machine in a bank of
gaming machines, in a section of a gaming establishment, etc., in
substantially the same way without going through the steps of
method 100 (or another configuration method) for each gaming
machine. The determination of step 505 may be made, for example,
according to the operator's response to a prompt, e.g., via a
configuration menu page hosted by a gaming machine and displayed on
a host device used by the operator.
[0061] If the operator wishes to configure another gaming machine
using the set of configuration values, it is determined whether the
operator would like to automatically configure one or more
additional gaming machines via a network. (Step 510.) If so, the
set of configuration values is transmitted to the gaming machines
to be configured in step 530. The set of configuration values may
be transmitted from a host device, a gaming machine or another
device, such as a server. The device may distribute the set of
configuration values to gaming machines that have been identified
as substantially similar and that the operator wishes to have
configured in the same fashion.
[0062] In some implementations of the invention, "peer to peer"
methods are used to distribute the set of configuration values. For
example, a gaming machine is configured to act as a server that can
transmit the set of configuration values to various other gaming
machines. Some implementations of gaming machines configured as
servers are described in U.S. patent application Ser. No.
09/595,798, entitled "USING A GAMING MACHINE AS A SERVER" and filed
Jun. 6, 2000, which is hereby incorporated by reference.
[0063] In step 535, it is determined whether the additional gaming
machines can be configured according to the set of configuration
values. If so, the successful configuration is reported (step 540)
and the process ends. (Step 555.) If one or more of the additional
gaming machines cannot be configured according to the set of
configuration values, the unsuccessful configuration is reported
(step 545). The operator is prompted to individually configure the
gaming machines indicated in the report. (Step 550.) The operator
may choose, for example, to configure the additional gaming
machines according to method 100 or the like.
[0064] However, there are additional methods through which the set
of configuration values may be distributed to other gaming
machines. For example, if the operator does not wish to (or cannot)
have an automated configuration performed via a network, the
operator may be prompted to indicate whether he or she wishes to
configure additional gaming machines using a portable storage
device such as a Universal Serial Bus ("USB") computing and storage
device (also referred to as a USB key or "thumb drive") or the
like. The set of configuration values may be copied to the portable
storage device (step 520) and provided to other gaming machines via
the portable storage device (step 525).
[0065] However, the interface between the storage device and the
gaming machine may not be according to a standard such as USB but
rather a proprietary interface, e.g., developed by the gaming
machine manufacturer. Using a storage medium with a proprietary
interface could help to prevent unauthorized users from inputting
or injecting any type of data into the tightly-controlled and
guarded hardware and software platforms of gaming machines. Using
digital signatures on anything written to the portable storage
devices would also be desired to ensure the validity of the
data.
[0066] Moreover, the storage device may include a biometric sensor,
such as a fingerprint scanner, to help verify that only approved
operators are using the medium. For example, the operator can apply
the appropriate finger or thumb to a fingerprint scanner of the
storage device. A controller of the storage device, of a gaming
machine or of another device may checks the fingerprint sample
against an enrollment template for that operator. Other methods of
authentication and data security, including but not limited to
encryption/decryption methods known in the art, may be employed to
make it difficult for unauthorized persons to configure gaming
machines with a portable storage device.
[0067] Information relevant to managing gaming networks, data
communication within gaming networks, etc., is set forth in U.S.
patent application Ser. No. 11/225,407 (Attorney Docket No.
IGT1P237/P-1051), by Wolf et al., entitled "METHODS AND DEVICES FOR
MANAGING GAMING NETWORKS" and filed Sep. 12, 2005, in U.S. patent
application Ser. No. 10/757,609 by Nelson et al., entitled "METHODS
AND APPARATUS FOR GAMING DATA DOWNLOADING" (Attorney Docket No.
IGT1P213/P-657) and filed on Jan. 14, 2004, in U.S. patent
application Ser. No. 10/938,293 by Benbrahim et al., entitled
"METHODS AND APPARATUS FOR DATA COMMUNICATION IN A GAMING SYSTEM"
(Attorney Docket No. IGT1P199/P-909) and filed on Sep. 10, 2004, in
U.S. patent application Ser. No. 11/225,337 (Attorney Docket No.
IGT1P185/P-1017) by Nguyen et al., filed Sep. 12, 2005 and entitled
"DISTRIBUTED GAME SERVICES" and in U.S. patent application Ser. No.
11/173,442 (Attorney Docket No. IGT1P153/P-991) by Kinsley et al.,
filed Jul. 1, 2005 and entitled "METHODS AND DEVICES FOR
DOWNLOADING GAMES OF CHANCE," all of which are hereby incorporated
by reference in their entirety and for all purposes. Some examples
of gaming networks and devices are set forth below.
[0068] One example of a network topology for implementing some
aspects of the present invention is shown in FIG. 6. 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, a single gaming establishment 605 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.
[0069] Gaming establishment 605 includes 16 gaming machines 2, each
of which is part of a bank 610 of gaming machines 2. In this
example, gaming establishment 605 also includes a bank of networked
gaming tables 617. It will be appreciated that many gaming
establishments include hundreds or even thousands of gaming
machines 2 and/or gaming tables 617, 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, etc.
[0070] 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 of gaming machines 2 may
require multiple instances of some network devices (e.g., of main
network device 625, which combines switching and routing
functionality in this example) and/or the inclusion of other
network devices not shown in FIG. 6. For example, some
implementations of the invention include one or more middleware
servers disposed between gaming machines 2 and server 630. Such
middleware servers can provide various useful functions, including
but not limited to the filtering and/or aggregation of data
received from network devices 615, from individual gaming machines
and from other player terminals. Some implementations of the
invention include load balancing methods and devices for managing
network traffic.
[0071] Each bank 610 has a corresponding network device 615, which
may be a conventional bank switch in some implementations. In some
implementations of the invention, network device 615 includes
controller functionality for configuring gaming machines, as
described elsewhere herein. In alternative implementations,
controllers for configuring gaming machines are separate devices
that do not perform all of the other functions of network device
615. Each network device 615 is connected to server-based gaming
("SBG") server 630 via main network device 625, 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.RTM.
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.
[0072] SBG server 630, License Manager 631, Arbiter 133, servers
632, 634, 636 and 638, and main network device 625 are disposed
within computer room 620 of gaming establishment 605. In practice,
more or fewer servers may be used. Some of these servers may be
configured to perform tasks relating to player loyalty and/or
player tracking, bonusing/progressives, etc. Some servers may be
configured to perform tasks specific to the present invention.
License Manager 631 may also be implemented, at least in part, via
a server or a similar device. Some exemplary operations of License
Manager 631 are described in detail in U.S. patent application Ser.
No. 11/225,408 (Attorney Docket No. IGT1P253), entitled "METHODS
AND DEVICES FOR AUTHENTICATION AND LICENSING IN A GAMING NETWORK"
by Kinsley et al., which is hereby incorporated by reference.
[0073] SBG server 630 can also be configured to implement, at least
in part, various aspects of the present invention. Some preferred
embodiments of SBG server 630 and the other servers shown in FIG. 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.
[0074] In some implementations of the invention, many of these
devices (including but not limited to License Manager 631, servers
632, 634, 636 and 638, and main network device 625) are mounted in
a single rack with SBG server 630. 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 with SBG server 630 and/or other
devices of the network but located elsewhere. For example, some of
the devices could be mounted in separate racks within computer room
620 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").
[0075] In some embodiments, these components are SBG server 630
preferably has an uninterruptible power supply ("UPS"). The UPS may
be, for example, a rack-mounted UPS module.
[0076] Computer room 620 may include one or more operator consoles
or other host devices that are configured for communication with
SBG server 630. Such host devices may be provided with software,
hardware and/or firmware for implementing various aspects of the
invention; many of these aspects involve controlling SBG server
630. However, such host devices need not be located within computer
room 620. Wired host device 660 (which is a laptop computer in this
example) and wireless host device (which is a PDA in this example)
may be located elsewhere in gaming establishment 605 or at a remote
location.
[0077] Arbiter 133 may be implemented, for example, via software
that is running on a server or another networked device. Arbiter
133 serves as an intermediary between different devices on the
network. Some implementations of Arbiter 133 are described in U.S.
patent application Ser. No. 10/948,387, entitled "METHODS AND
APPARATUS FOR NEGOTIATING COMMUNICATIONS WITHIN A GAMING NETWORK"
and filed Sep. 23, 2004 (the "Arbiter Application"), which is
incorporated herein by reference and for all purposes. In some
preferred implementations, Arbiter 133 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). Although Arbiter 133 can be
implemented in various ways, one exemplary implementation is
discussed in the following paragraphs.
[0078] FIG. 7 is a block diagram of a simplified communication
topology between a gaming unit 21, the network computer 23 and the
Arbiter 133. Although only one gaming unit 21, one network computer
23 and one Arbiter 133 are shown in FIG. 7, it should be understood
that the following examples may be applicable to different types of
network gaming devices within the gaming network 12 beyond the
gaming unit 21 and the network computer 23, and may include
different numbers of network computers, gaming security arbiters
and gaming units. For example, a single Arbiter 133 may be used for
secure communications among a plurality of network computers 23 and
tens, hundreds or thousands of gaming units 21. Likewise, multiple
gaming security arbiters 46 may be utilized for improved
performance and other scalability factors.
[0079] Referring to FIG. 7, the Arbiter 133 may include an arbiter
controller 121 that may comprise a program memory 122, a
microcontroller or microprocessor (MP) 124, a random-access memory
(RAM) 126 and an input/output (I/O) circuit 128, all of which may
be interconnected via an address/data bus 129. The network computer
23 may also include a controller 131 that may comprise a program
memory 132, a microcontroller or microprocessor (MP) 134, a
random-access memory (RAM) 136 and an input/output (I/O) circuit
138, all of which may be interconnected via an address/data bus
139. It should be appreciated that although the Arbiter 133 and the
network computer 23 are each shown with only one microprocessor
124, 134, the controllers 121, 131 may each include multiple
microprocessors 124, 134. Similarly, the memory of the controllers
121, 131 may include multiple RAMs 126, 136 and multiple program
memories 122, 132. Although the I/O circuits 128, 138 are each
shown as a single block, it should be appreciated that the I/O
circuits 128, 138 may include a number of different types of I/O
circuits. The RAMs 124, 134 and program memories 122, 132 may be
implemented as semiconductor memories, magnetically readable
memories, and/or optically readable memories, for example.
[0080] Although the program memories 122, 132 are shown in FIG. 7
as read-only memories (ROM) 122, 132, the program memories of the
controllers 121, 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 buses 129, 139 shown schematically in FIG.
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.
[0081] As shown in FIG. 7, the gaming unit 21 may be operatively
coupled to the network computer 23 via the data link 25. The gaming
unit 21 may also be operatively coupled to the Arbiter 133 via the
data link 47, and the network computer 23 may likewise be
operatively coupled to the Arbiter 133 via the data link 47.
Communications between the gaming unit 21 and the network computer
23 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.
[0082] As disclosed in further detail in the Arbiter Application,
the Arbiter 133 may verify the authenticity of each network gaming
device. The Arbiter 133 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 the network 12 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. The Arbiter 133 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 the Arbiter
133 to determine the authenticity of the client. The Arbiter 133
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.
[0083] Alternatively, upon receiving a request for a communication
session, the Arbiter 133 may contact the host regarding the request
and provide corresponding session keys to both the client and the
host. The Arbiter 133 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.
[0084] 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 to FIG. 6, one or more network devices in gaming
establishment 605 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.
[0085] 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
between gaming network 605 and the outside world should only be
made with trusted devices via a secure link, e.g., via a virtual
private network ("VPN") tunnel. For example, the illustrated
connection between SBG 630, gateway 650 and central system 663
(here, IGT.com) that may be used for game downloads, etc., is
advantageously made via a VPN tunnel.
[0086] 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. Details of VPN
methods that may be used with the present invention are described
in the reference, "Virtual Private Networks-Technologies and
Solutions," by R. Yueh and T. Strayer, Addison-Wesley, 2001,
ISBN#0-201-70209-6, which is incorporated herein by reference and
for all purposes.
[0087] 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 obtained from the VPN Consortium, an
industry trade group (http://www.vpnc.com, VPNC, Santa Cruz,
Calif.).
[0088] 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.
[0089] As mentioned elsewhere herein, U.S. patent application Ser.
No. 11/225,408 (Attorney Docket No. IGT1P253), 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.
[0090] 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 system 663 (in this example, IGT.com) to obtain the account
information such as the customer's current and prior account
status.
[0091] Moreover, such a secure connection may be used by the
central system 663 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 (Attorney Docket No. IGT1P237/P-1051), by Wolf et al.,
entitled "METHODS AND DEVICES FOR MANAGING GAMING NETWORKS," which
has been incorporated herein by reference.
[0092] Automatic updates of a customer's SBG server may also be
enabled. For example, central system 663 may notify a local SBG
server regarding new products and/or product updates. For example,
central system 663 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 system 663 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.
[0093] 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 with central system
663 in response to such a notification.
[0094] 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.
[0095] 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 between central system 663 and the gaming
establishments.
[0096] Turning next to FIG. 8, a video gaming machine 2 of the
present invention is shown. Machine 2 includes a main cabinet 4,
which generally surrounds the machine interior (not shown) and is
viewable by users. The main cabinet includes a main door 8 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
or buttons 32, a coin acceptor 28, and a bill validator 30, a coin
tray 38, and a belly glass 40. Viewable through the main door is a
video display monitor 34 and an information panel 36. The display
monitor 34 will typically be a cathode ray tube, high resolution
flat-panel LCD, or other conventional electronically controlled
video monitor. The information panel 36 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 validator 30, player-input switches 32, video
display monitor 34, and information panel are devices used to play
a game on the game machine 2. The devices are controlled by
circuitry (e.g. the master gaming controller) housed inside the
main cabinet 4 of the machine 2.
[0097] 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, the gaming machine 2 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. The gaming machine 2 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.
[0098] The various instances of games available for play on the
gaming machine 2 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. The gaming machine
2 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 the gaming machine 2,
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.
[0099] The gaming machine 2 includes a top box 6, which sits on top
of the main cabinet 4. The top box 6 houses a number of devices,
which may be used to add features to a game being played on the
gaming machine 2, including speakers 10, 12, 14, a ticket printer
18 which prints bar-coded tickets 20, a key pad 22 for entering
player tracking information, a florescent display 16 for displaying
player tracking information, a card reader 24 for entering a
magnetic striped card containing player tracking information, and a
video display screen 42. The ticket printer 18 may be used to print
tickets for a cashless ticketing system. Further, the top box 6 may
house different or additional devices than shown in the FIG. 1. 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 the main cabinet 4 of the machine 2.
[0100] Understand that gaming machine 2 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.
[0101] 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.
[0102] 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.
[0103] 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.
[0104] 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.
[0105] 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.
[0106] 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.
[0107] 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.
[0108] A watchdog timer is normally used in IGT 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.
[0109] IGT gaming computer platforms preferably use several power
supply voltages to operate portions of the computer circuitry.
These can be generated in a central power supply or locally on the
computer board. If any of these voltages falls out of the tolerance
limits of the circuitry they power, unpredictable operation of the
computer may result. Though most modern general-purpose computers
include voltage monitoring circuitry, these types of circuits only
report voltage status to the operating software. Out of tolerance
voltages can cause software malfunction, creating a potential
uncontrolled condition in the gaming computer. 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 IGT
gaming computers typically has two thresholds of control. The first
threshold generates a software event that can be detected by the
operating software and an error condition generated. This threshold
is triggered when a power supply voltage falls out of the tolerance
range of the power supply, but is still within the operating range
of the circuitry. The second threshold is set when a power supply
voltage falls out of the operating tolerance of the circuitry. In
this case, the circuitry generates a reset, halting operation of
the computer.
[0110] The standard method of operation for IGT 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.
[0111] 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.
[0112] 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.
[0113] 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.
[0114] Another feature of gaming machines, such as IGT gaming
computers, 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.
[0115] 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.
[0116] IGT gaming machines may alternatively be treated as
peripheral devices to a casino communication controller and
connected in a shared daisy chain fashion to a single serial
interface. In both cases, the peripheral devices are preferably
assigned device addresses. If so, the serial controller circuitry
must implement a method to generate or detect unique device
addresses. General-purpose computer serial ports are not able to do
this.
[0117] Security monitoring circuits detect intrusion into an IGT
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.
[0118] Trusted memory devices are preferably included in an IGT
gaming machine computer to ensure the authenticity of the software
that may be stored on less secure memory subsystems, such as mass
storage devices. Trusted memory devices and controlling circuitry
are typically designed to not allow modification of the code and
data stored in the memory device while the memory device is
installed in the 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 and titled
"Process Verification," which is incorporated herein in its
entirety and for all purposes.
[0119] Mass storage devices used in a general purpose computer
typically allow code and data to be read from and written to the
mass storage device. In a gaming machine environment, modification
of the gaming code stored on a mass storage device is strictly
controlled and would only be allowed under specific maintenance
type events with electronic and physical enablers required. Though
this level of security could be provided by software, IGT gaming
computers that include mass storage devices preferably include
hardware level mass storage data protection circuitry that operates
at the circuit level to monitor attempts to modify data on the mass
storage device and will generate both software and hardware error
triggers should a data modification be attempted without the proper
electronic and physical enablers being present.
[0120] Returning to the example of FIG. 8, when a user wishes to
play the gaming machine 2, he or she inserts cash through the coin
acceptor 28 or bill validator 30. Additionally, the bill validator
may accept a printed ticket voucher which may be accepted by the
bill validator 30 as an indicia of credit when a cashless ticketing
system is used. At the start of the game, the player may enter
playing tracking information using the card reader 24, the keypad
22, and the florescent display 16. 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 the video display 34. Other game and prize
information may also be displayed in the video display screen 42
located in the top box.
[0121] 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 which affect the outcome of a
particular game. The player may make these choices using the
player-input switches 32, the video display screen 34 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 the video display screen 34
and one more input devices.
[0122] During certain game events, the gaming machine 2 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 the speakers 10, 12, 14. Visual
effects include flashing lights, strobing lights or other patterns
displayed from lights on the gaming machine 2 or from lights behind
the belly glass 40. After the player has completed a game, the
player may receive game tokens from the coin tray 38 or the ticket
20 from the printer 18, which may be used for further games or to
redeem a prize. Further, the player may receive a ticket 20 for
food, merchandise, or games from the printer 18.
[0123] A gaming network that may be used to implement additional
methods performed in accordance with embodiments of the invention
is depicted in FIG. 9. Gaming establishment 901 could be any sort
of gaming establishment, such as a casino, a card room, an airport,
a store, etc. In this example, gaming network 977 includes more
than one gaming establishment, all of which are networked to game
server 922.
[0124] Here, gaming machine 902, and the other gaming machines 930,
932, 934, and 936, include a main cabinet 906 and a top box 904.
The main cabinet 906 houses the main gaming elements and can also
house peripheral systems, such as those that utilize dedicated
gaming networks. The top box 904 may also be used to house these
peripheral systems.
[0125] The master gaming controller 908 controls the game play on
the gaming machine 902 according to instructions and/or game data
from game server 922 or stored within gaming machine 902 and
receives or sends data to various input/output devices 911 on the
gaming machine 902. In one embodiment, master gaming controller 908
includes processor(s) and other apparatus of the gaming machines
described elsewhere herein. The master gaming controller 908 may
also communicate with a display 910.
[0126] A particular gaming entity may desire to provide network
gaming services that provide some operational advantage. Thus,
dedicated networks may connect gaming machines to host servers that
track the performance of gaming machines under the control of the
entity, such as for accounting management, electronic fund
transfers (EFTs), cashless ticketing, such as EZPay.TM., marketing
management, and data tracking, such as player tracking. Therefore,
master gaming controller 908 may also communicate with EFT system
912, EZPay.TM. system 916 (a proprietary cashless ticketing system
of the present assignee), and player tracking system 920. The
systems of the gaming machine 902 communicate the data onto the
network 922 via a communication board 918.
[0127] It will be appreciated by those of skill in the art that
embodiments of the present invention could be implemented on a
network with more or fewer elements than are depicted in FIG. 9.
For example, player tracking system 920 is not a necessary feature
of some implementations of the present invention. However, player
tracking programs may help to sustain a game player's interest in
additional game play during a visit to a gaming establishment and
may entice a player to visit a gaming establishment to partake in
various gaming activities. Player tracking programs provide rewards
to players that typically correspond to the player's level of
patronage (e.g., to the player's playing frequency and/or total
amount of game plays at a given casino). Player tracking rewards
may be free meals, free lodging and/or free entertainment.
Moreover, player tracking information may be combined with other
information that is now readily obtainable by an SBG system.
[0128] Moreover, DCU 924 and translator 925 are not required for
all gaming establishments 901. However, due to the sensitive nature
of much of the information on a gaming network (e.g., electronic
fund transfers and player tracking data) the manufacturer of a host
system usually employs a particular networking language having
proprietary protocols. For instance, 10-20 different companies
produce player tracking host systems where each host system may use
different protocols. These proprietary protocols are usually
considered highly confidential and not released publicly.
[0129] Further, in the gaming industry, gaming machines are made by
many different manufacturers. The communication protocols on the
gaming machine are typically hard-wired into the gaming machine and
each gaming machine manufacturer may utilize a different
proprietary communication protocol. A gaming machine manufacturer
may also produce host systems, in which case their gaming machine
are compatible with their own host systems. However, in a
heterogeneous gaming environment, gaming machines from different
manufacturers, each with its own communication protocol, may be
connected to host systems from other manufacturers, each with
another communication protocol. Therefore, communication
compatibility issues regarding the protocols used by the gaming
machines in the system and protocols used by the host systems must
be considered.
[0130] A network device that links a gaming establishment with
another gaming establishment and/or a central system will sometimes
be referred to herein as a "site controller." Here, site controller
942 provides this function for gaming establishment 901. Site
controller 942 is connected to a central system and/or other gaming
establishments via one or more networks, which may be public or
private networks. Among other things, site controller 942
communicates with game server 922 to obtain game data, such as ball
drop data, bingo card data, etc.
[0131] In the present illustration, gaming machines 902, 930, 932,
934 and 936 are connected to a dedicated gaming network 922. In
general, the DCU 924 functions as an intermediary between the
different gaming machines on the network 922 and the site
controller 942. In general, the DCU 924 receives data transmitted
from the gaming machines and sends the data to the site controller
942 over a transmission path 926. In some instances, when the
hardware interface used by the gaming machine is not compatible
with site controller 942, a translator 925 may be used to convert
serial data from the DCU 924 to a format accepted by site
controller 942. The translator may provide this conversion service
to a plurality of DCUs.
[0132] Further, in some dedicated gaming networks, the DCU 924 can
receive data transmitted from site controller 942 for communication
to the gaming machines on the gaming network. The received data may
be, for example, communicated synchronously to the gaming machines
on the gaming network.
[0133] Here, CVT 952 provides cashless and cashout gaming services
to the gaming machines in gaming establishment 901. Broadly
speaking, CVT 952 authorizes and validates cashless gaming machine
instruments (also referred to herein as "tickets" or "vouchers"),
including but not limited to tickets for causing a gaming machine
to display a game result and cash-out tickets. Moreover, CVT 952
authorizes the exchange of a cashout ticket for cash. These
processes will be described in detail below. In one example, when a
player attempts to redeem a cash-out ticket for cash at cashout
kiosk 944, cash out kiosk 944 reads validation data from the
cashout ticket and transmits the validation data to CVT 952 for
validation. The tickets may be printed by gaming machines, by
cashout kiosk 944, by a stand-alone printer, by CVT 952, etc. Some
gaming establishments will not have a cashout kiosk 944. Instead, a
cashout ticket could be redeemed for cash by a cashier (e.g. of a
convenience store), by a gaming machine or by a specially
configured CVT.
[0134] Some methods of the invention combine information that can
be obtained from game network accounting systems with features
described above. By combining, for example, information regarding
scheduled gaming machine configurations and information regarding
the amount of money that a gaming machine brings in while a gaming
machine has a particular configuration, gaming machine
configurations may be optimized to maximize revenue. Some such
methods involve determining a first rate of revenue obtained by a
gaming machine in the gaming network during a first time when the
gaming machine has a first configuration. The gaming machine is
later automatically configured according to second configuration
information supplied by the SBG server, e.g., as scheduled by the
Scheduler. A second rate of revenue, obtained by the gaming machine
during a second time when the gaming machine has the second
configuration, is determined, and so on.
[0135] After scheduling various configurations at various times,
optimum configurations for the gaming machine may be determined for
various times of day. The SBG system can them provide scheduled
optimal configurations for the gaming machine at the corresponding
times of day. Some implementations provide for groups (e.g., banks)
of gaming machines to be automatically configured according to a
predetermined schedule of optimal configurations for various times
of day, days of the week, times of the year, etc.
[0136] In some such implementations, an average revenue may be
computed, based on revenue from many gaming machines having the
same configuration at the same time of day. These average revenues
could be used to determine an overall optimal value for relevant
time periods.
[0137] FIG. 10 illustrates an example of a network device that may
be configured for implementing some methods of the present
invention. Network device 1060 includes a master central processing
unit (CPU) 1062, interfaces 1068, and a bus 1067 (e.g., a PCI bus).
Generally, interfaces 1068 include ports 1069 appropriate for
communication with the appropriate media. In some embodiments, one
or more of interfaces 1068 includes at least one independent
processor and, in some instances, volatile RAM. The independent
processors may be, for example, ASICs or any other appropriate
processors. According to some such embodiments, these independent
processors perform at least some of the functions of the logic
described herein. In some embodiments, one or more of interfaces
1068 control such communications-intensive tasks as encryption,
decryption, compression, decompression, packetization, media
control and management. By providing separate processors for the
communications-intensive tasks, interfaces 1068 allow the master
microprocessor 1062 efficiently to perform other functions such as
routing computations, network diagnostics, security functions,
etc.
[0138] The interfaces 1068 are typically provided as interface
cards (sometimes referred to as "linecards"). Generally, interfaces
1068 control the sending and receiving of data packets over the
network and sometimes support other peripherals used with the
network device 1060. Among the interfaces that may be provided are
FC interfaces, Ethernet interfaces, frame relay interfaces, cable
interfaces, DSL interfaces, token ring interfaces, and the like. In
addition, various very high-speed interfaces may be provided, such
as fast Ethernet interfaces, Gigabit Ethernet interfaces, ATM
interfaces, HSSI interfaces, POS interfaces, FDDI interfaces, ASI
interfaces, DHEI interfaces and the like.
[0139] When acting under the control of appropriate software or
firmware, in some implementations of the invention CPU 1062 may be
responsible for implementing specific functions associated with the
functions of a desired network device. According to some
embodiments, CPU 1062 accomplishes all these functions under the
control of software including an operating system and any
appropriate applications software.
[0140] CPU 1062 may include one or more processors 1063 such as a
processor from the Motorola family of microprocessors or the MIPS
family of microprocessors. In an alternative embodiment, processor
1063 is specially designed hardware for controlling the operations
of network device 1060. In a specific embodiment, a memory 1061
(such as non-volatile RAM and/or ROM) also forms part of CPU 1062.
However, there are many different ways in which memory could be
coupled to the system. Memory block 1061 may be used for a variety
of purposes such as, for example, caching and/or storing data,
programming instructions, etc.
[0141] Regardless of network device's configuration, it may employ
one or more memories or memory modules (such as, for example,
memory block 1065) configured to store data, program instructions
for the general-purpose network operations and/or other information
relating to the functionality of the techniques described herein.
The program instructions may control the operation of an operating
system and/or one or more applications, for example.
[0142] Because such information and program instructions may be
employed to implement the systems/methods described herein, the
present invention relates to machine-readable media that include
program instructions, state information, etc. for performing
various operations described herein. Examples of machine-readable
media include, but are not limited to, magnetic media such as hard
disks, floppy disks, and magnetic tape; optical media such as
CD-ROM disks; magneto-optical media; and hardware devices that are
specially configured to store and perform program instructions,
such as read-only memory devices (ROM) and random access memory
(RAM). The invention may also be embodied in a carrier wave
traveling over an appropriate medium such as airwaves, optical
lines, electric lines, etc. Examples of program instructions
include both machine code, such as produced by a compiler, and
files containing higher-level code that may be executed by the
computer using an interpreter.
[0143] Although the system shown in FIG. 10 illustrates one
specific network device of the present invention, it is by no means
the only network device architecture on which the present invention
can be implemented. For example, an architecture having a single
processor that handles communications as well as routing
computations, etc. is often used. Further, other types of
interfaces and media could also be used with the network device.
The communication path between interfaces may be bus based (as
shown in FIG. 10) or switch fabric based (such as a cross-bar).
[0144] While this invention is described in terms of preferred
embodiments, there are alterations, permutations, and equivalents
that fall within the scope of the invention. It should also be
noted that there are many alternative ways of implementing the
present invention. It is therefore intended that the invention not
be limited to the preferred embodiments described herein, but
instead that the invention should be interpreted as including all
such alterations, permutations, and equivalents as fall within the
true spirit and scope of the present invention.
[0145] For example, in other implementations of the invention, a
smaller set of configuration items may be exposed during a
configuration process. The set of configuration items may be, for
example, standard across all major manufacturers of gaming
machines, games (e.g., poker, bingo, keno, slot games, including
specialized slot games such as Wheel of Fortune.RTM., etc.
[0146] In other implementations, the SBG system (or a similar
central system, a host device of such a system, etc.) stores code
that implements rules regarding the inter-relationships of
configuration items. A device of an SBG system could, for example,
send down a Java.TM. applet to an EGM for implementing these
rules.
[0147] Alternatively (or additionally), there could be intermediate
devices between gaming machines and a device of an SBG system
(e.g., a controller/server device in a carousel of gaming machines)
with intelligence to initiate and/or monitor the configuration
process. This could be the same device referenced above that
includes logic for implementing rules about inter-relationships
between configuration item values.
[0148] Moreover, some implementations of the invention involve only
partial rule sets and/or partial configuration parameter sets. The
configuration techniques could be applied to partial sets of
configuration item values and need not involve a full suite of
configuration item values for everything on a gaming machine. For
example, a configuration process could apply to one or more
peripheral devices, such as a ticket printer. The corresponding
rule set could be similar in scope.
[0149] In addition, the configuration methods and devices described
herein may be used to configure devices other than gaming machines.
Examples of other devices that may be configured according to such
methods include, but are not limited to, peripheral devices,
kiosks, network devices such as servers (e.g., for failover),
etc.
* * * * *
References