U.S. patent application number 11/556536 was filed with the patent office on 2008-05-08 for monitoring and controlling gaming-environments.
This patent application is currently assigned to IGT. Invention is credited to Jamal Benbrahim, Robert E. Breckner, Xuedong Chen, Warner R. Cockerille, Dwayne R. Nelson.
Application Number | 20080108435 11/556536 |
Document ID | / |
Family ID | 39360352 |
Filed Date | 2008-05-08 |
United States Patent
Application |
20080108435 |
Kind Code |
A1 |
Nelson; Dwayne R. ; et
al. |
May 8, 2008 |
MONITORING AND CONTROLLING GAMING-ENVIRONMENTS
Abstract
Techniques for monitoring and controlling gaming-environments
are disclosed. Techniques can, for example, facilitate installation
of one or more games on a plurality of gaming-machines. A gaming
monitor/controller can determine whether gaming-machines in a
gaming-environment are suitable for or capable of executing a
particular game(s). In addition, data can be generated to determine
whether a gaming-machine is suitable or capable of executing a
game. This data can be displayed, for example, to assist a human
operator in determining which new games or updates are more
appropriate for a particular gaming-machine or group of
gaming-machines. Diagnostic information can also be provided to,
for example, assist the human operator in determining whether
corrective actions can be taken in order to play a game on a
particular machine or combination of machines (e.g., two
gaming-machines can be combined together to run a game, or a
component can be taken from another gaming-machine in order to run
the game).
Inventors: |
Nelson; Dwayne R.; (Las
Vegas, NV) ; Benbrahim; Jamal; (Reno, NV) ;
Chen; Xuedong; (Reno, NV) ; Cockerille; Warner
R.; (Sparks, NV) ; Breckner; Robert E.; (Reno,
NV) |
Correspondence
Address: |
BEYER WEAVER LLP
P.O. BOX 70250
OAKLAND
CA
94612-0250
US
|
Assignee: |
IGT
Reno
NV
|
Family ID: |
39360352 |
Appl. No.: |
11/556536 |
Filed: |
November 3, 2006 |
Current U.S.
Class: |
463/42 ;
463/43 |
Current CPC
Class: |
G07F 17/323 20130101;
G07F 17/32 20130101; G07F 17/3234 20130101 |
Class at
Publication: |
463/42 ;
463/43 |
International
Class: |
A63F 9/24 20060101
A63F009/24 |
Claims
1. A computing system for facilitating installation of games on
gaming-machines that are suitable or capable of executing said
games, said computing system operable to: determine whether each
one of a plurality of gaming-machines are suitable for or capable
of executing one or more games; and generate data that indicates
whether at least one of said plurality of gaming-machines is
suitable or capable of executing said one or more games after said
determining determines whether said at least one gaming-machine is
suitable for or capable of executing said one or more games.
2. A method for facilitating installation of games on
gaming-machines that are suitable or capable of executing said
games, said method comprising: determining whether each one of a
plurality of gaming-machines are suitable for or capable of
executing one or more games; and generating data that indicates
whether at least one of said plurality of gaming-machines is
suitable or capable of executing said one or more games after said
determining determines whether said at least one gaming-machine is
suitable for or capable of executing said one or more games.
3. A method as recited in claim 2, wherein said method further
comprises: receiving or identifying said one or more games; and
displaying data that indicates whether at least one of said
plurality of gaming-machines is suitable or capable of executing
said one or more games.
4. A method as recited in claim 3, wherein said method further
comprises: initiating installation or downloading said one or more
games on said at least one of said plurality of gaming-machines
after said generating or displaying of data that indicates said at
least one gaming-machine is suitable for or capable of executing
said one or more games.
5. A method as recited in claim 2, wherein said determining of
whether each one of said plurality of gaming-machines are suitable
for or capable of executing one or more games comprises:
determining capabilities of said plurality of gaming-machines with
respect to at least one gaming-requirement for executing said one
or more games; and determining, based on said capabilities of said
plurality of gaming-machines, whether at least one of said
plurality of gaming-machines meets or exceeds said
gaming-requirement for executing said one or more games.
6. A method as recited in claim 5, wherein said determining of
capabilities of said plurality of gaming-machines comprises:
querying said plurality of gaming-machines for their capabilities
with respect to one or more gaming-requirements for executing said
one or more games.
7. A method as recited in claim 2, wherein said capabilities of
said plurality of gaming-machines include one or more of the
following: hardware capacity, software capacity, gaming
regulations, and system-components configured.
8. A method as recited in claim 2, wherein said method comprises:
determining whether a first gaming-machine of said plurality of
gaming-machines meets or exceeds a gaming-requirement for executing
a first game; determining whether a second gaming-machine meets or
exceeds said gaming-requirement for executing said first game when
said determining determines that said first machine does not meet
or exceed said first gaming-requirement for executing said first
game.
9. A method as recited in claim 2, wherein said method further
comprises: determining whether a first gaming-machine of said
plurality of gaming-machines meets or exceeds a gaming-requirement
for executing a first game of said one or more games; and
determining whether a combination of said first gaming-machine and
a second gaming-machine of said plurality of gaming-machines
collectively meet or exceed said gaming-requirement for executing
said first game when said determining determines that said first
gaming-machine does not meets or exceed said
gaming-requirement.
10. A method as recited in claim 9, wherein said method further
comprises: generating data that indicates said combination of said
first and second gaming-machines collectively meet or exceed said
gaming-requirement for executing said first game when said
determining determines that said combination of said first and
second gaming-machine collectively meet or exceed said
gaming-requirement for executing a first game.
11. A method as recited in claim 2, wherein said method further
comprises: determining whether a first gaming-machine of said
plurality of gaming-machines meets or exceeds a gaming-requirement
for executing a first game of said one or more games; and
determining whether a component of a second gaming-machine can be
added to said first gaming-machine to enable said first
gaming-machine to meet or exceed said gaming requirement when said
determining determines that said first gaming-machine does not meet
or exceeds said gaming-requirement for executing said first game of
said one or more games.
12. A method as recited in claim 2, wherein said method further
comprises: identifying a deficiency associated with at least one
gaming-machine with respect to execution of at least one game;
determining whether said deficiency can be corrected by remedial
action; and generation diagnostic-data indicating said remedial
action when said determining determines that said deficiency can be
corrected by remedial action.
13. A method as recited in claim 12, wherein said diagnostic-data
indicates that a first gaming-machine that lacks one or more
requirements required to execute a first game, can still be
operable to execute said first gaming-machine.
14. A method as recited in claim 12, wherein said method further
comprises: simulating said first game, thereby demonstrating how
said first game may appear on said first gaming-machine.
15. A method as recited in claim 12, wherein said method further
comprises: suggesting a first gaming-machine for execution a first
game when it is determined that a second gaming-machine is not
capable of or suitable for executing said first game.
16. A method as recited in claim 12, wherein said method further
comprises: suggesting a first game for execution on a first
gaming-machine when it is determined that said first gaming-machine
is not capable of or suitable for executing a second game.
17. A method as recited in claim 2, wherein said method further
comprises one or more of the following: searching for games that
share a common theme; searching for games that are suitable for a
first gaming-machine; searching for games that use a particular
color theme; and searching for games based on one or more
criteria.
18. A method as recited in claim 2, wherein said method further
comprises: simulating a first game that has been identified after a
search.
19. A method as recited in claim 12, wherein said method further
comprises: suggesting an upgrade to a first gaming-machine or
device associated with said first gaming machine to run a first
game, after it is determined that said first gaming-machine is not
capable of or suitable for executing said first game.
20. A method as recited in claim 19, wherein said upgrade is one or
more of the following: a software upgrade, a hardware upgrade, and
a license upgrade.
21. A method as recited in claim 12, wherein said method further
comprises: one or more of the following: indicating that a first
component from a second gaming-machine can be acquired and
configured for said first gaming-machine in order to execute said
first game on said first gaming-machine.
22. A method as recited in claim 12, wherein said method further
comprises: one or more of the following: estimating the cost
associated with said upgrade; estimating the benefit associated
with said upgrade;
23. A method as recited in claim 12, wherein said method further
comprises: receiving a layout for a plurality of gaming-machines
configured for execution of one or more games; and generating a
suggested layout for said layout when one or more gamin-machines of
said plurality of gaming-machines are not capable of or suitable of
executing one or more games.
24. A method as recited in claim 23, wherein said suggested layout
includes one or more of the following: at least one suggestion
regarding an upgrade to at least one of said plurality of
gaming-machines; and at least one suggestion regarding moving a
first gaming-machine of said plurality of gaming-machines.
25. A computer readable medium including computer program code for
facilitating installation of games on gaming-machines that are
suitable or capable of executing said games, wherein said computer
readable medium comprises: computer program code for determining
whether each one of a plurality of gaming-machines are suitable for
or capable of executing one or more games; and computer program
code for generating data that indicates whether at least one of
said plurality of gaming-machines is suitable or capable of
executing said one or more games after said determining determines
whether said at least one gaming-machine is suitable for or capable
of executing said one or more games.
Description
BACKGROUND OF THE INVENTION
[0001] Traditional gaming-machines (e.g., mechanical slot machines)
primarily use mechanical components. More modern gaming-machines
can additionally include various electronics components (e.g.,
processor, memory) that are typically provided for a computing
system or a computer (e.g., Personal Computer). In addition, modern
gaming machine can be connected to a wide variety of devices are
available that can be connected to a modern gaming-machine (e.g.,
lights, ticket printers, card readers, speakers, bill validators,
ticket readers, coin acceptors, display panels, key pads, coin
hoppers, button pads). These devices can be built into the
gaming-machine or its components (e.g., a top box which usually
sits on top of the gaming-machine).
[0002] Typically, utilizing a master gaming controller, a
gaming-machine can control 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.
[0003] 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
remote computer that provides one or more gaming services. As an
example, gaming services that may be provided by a remote computer
to a gaming-machine via a communication network of some type
include player tracking, accounting, cashless award ticketing,
lottery, progressive games and bonus games.
[0004] Typically, network 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. In general, the
dedicated communication network is not accessible to the public. To
justify the costs associated with the infrastructure needed to
provide network gaming services on a dedicated communication
network, a certain critical number of gaming-machines linked in a
network of some type must utilize the service. Thus, many of the
network gaming services are only provided at larger gaming
establishments where a large number of gaming-machines are
deployed.
[0005] A progressive game network offering progressive game
services is one example where a group of gaming-machines are linked
together using a dedicated network to provide a network gaming
service. 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.
[0006] Within the gaming industry, a particular gaming entity may
desire to provide network gaming services and track the performance
of all the gaming-machines under the control of the entity. 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.
[0007] FIG. 1A is a block diagram depicting gaming-machines
distributed in different establishments partially connected by a
dedicated communication network for a typical gaming entity
currently operating in the gaming industry. In FIG. 1, the gaming
entity utilizes a central office 142. The gaming-machines, 102,
104, 106, 114, 116, 136 and 138 for the gaming entity are located
in two casinos, 110 and 122, and a store 140. A gaming entity may
operate hundreds, thousands or ten of thousands of gaming-machines.
Since gaming is allowed in many locations throughout the world, the
two casinos, 110 and 122, the central office 142 and the store may
be distributed over a wide geographic area. For instance, the
casino 110 may be located in Atlantic City, N.J., the casino 122
may be located in Australia, the central office may be located in
Las Vegas, Nev. and the store may be located in Reno, Nev.
[0008] Within the casinos, the gaming-machines may be connected to
one or more database servers via one or more dedicated networks.
The database servers are usually located in the backroom of the
casino. For instance, in casino 110, gaming-machines 102, 104 and
106 are connected to a database server 100 via a dedicated network
108. The dedicated network 108 may be used to send accounting
information and player tracking information from the
gaming-machines to the database server 110. In casino 122, the
gaming-machines 114, 116, 118 may send accounting information and
player tracking information to a database server using the
dedicated network 120. Other dedicated networks (not shown) in
casinos, 110 and 112, may provide such network gaming services as
bonus game play, progressive game play and cashless ticketing.
[0009] In casinos 110 and 122, the database servers 100 and 112 may
store and process accounting data from the gaming-machines in
communication with the database servers. For instance, an
accounting report detailing the performance of individual and
groups of gaming-machines may be generated from the data stored on
the database servers 100 and 112. In addition, accounting data or
reports may be sent to the database server 124 in the central
office 142 from each casino. These reports may contain game
performance data collected from a number of gaming-machines as well
as hotel operations data. The data from the casinos may be sent to
the central office using an expensive dedicated leased line 132
using a frame relay network.
[0010] The database server 124 may be used to generate reports
summarizing the performance of all the gaming-machines within the
gaming entity (e.g. casino 110, casino 122 and store 140). The
reports may be accessed locally using the local access points 126
and 128 via the local network. In addition, reports may be remotely
accessed using a dial in number for a limited number of users. For
instance, an executive traveling on the road might view
gaming-machine performance data from the remote access point 134
where the remote access point 134 may be a hotel room.
[0011] Although the network allows an operator to gather
information from the gaming machines, it does not provide for
configuration control of the gaming machines. Traditionally, due to
security requirements, regulatory requirements and network
limitations, the flow of information has been from the gaming
machines to the operator but the flow of information from the
operator to the gaming machines has been very limited. Furthermore,
gaming operators have not remotely managed large numbers of gaming
machines with wagering capabilities, such as thousands of gaming
machines found in a large casino. As such, it is desired by
operators to have increased control over gaming machine including
remote configuration capabilities. Accordingly, methods and
apparatus that allow for remote configuration control of gaming
machines in a secure manner are described as follows.
SUMMARY OF THE INVENTION
[0012] Broadly speaking, the invention pertains to techniques for
monitoring and controlling gaming-environments. Typically, a gaming
environment can be configured for playing a number of games on a
plurality of gaming-machines. In accordance with one aspect of the
invention, techniques for facilitating installation of one or more
games on a plurality of gaming-machines are disclosed. It will be
appreciated that a gaming monitor/controller can determine whether
each one of the plurality of gaming-machines in a
gaming-environment are suitable for or capable of executing one or
more games in accordance with one embodiment of the invention. In
addition, data can be generated to determine whether a
gaming-machine is suitable or capable of executing a game. This
data can be displayed, for example, to assist a human operator in
determining which new games or updates are more appropriate for a
particular gaming-machine or group of gaming-machines in accordance
with one embodiment of the invention. It will also be appreciated
that diagnostic information can also be provided to, for example,
assist the human operator in determining whether corrective actions
can be taken in order to play a game on a particular machine or
combination of machines (e.g., two gaming-machines can be combined
together to run a game, or a component can be taken from another
gaming-machine in order to run the game).
[0013] 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
[0014] The present invention will be readily understood by the
following detailed description in conjunction with the accompanying
drawings, wherein like reference numerals designate like structural
elements, and in which:
[0015] FIG. 1A depicts a gaming-environment in accordance with one
embodiment of the invention.
[0016] FIG. 1B depicts an automated gaming analyzer in accordance
with one embodiment of the invention.
[0017] FIG. 1C depicts a game-installation method for installing
and/or downloading games in a gaming environment in accordance with
one embodiment of the invention.
[0018] FIG. 2 depicts an automated gaming analyzer in greater
detail in accordance with one embodiment of the invention.
[0019] FIG. 3A depicts an exemplary Graphical User Interface that
can be provided in accordance with one embodiment of the
invention.
[0020] FIGS. 3B and 3C depict a monitoring method for monitoring a
gaming-environment in accordance with another embodiment of the
invention.
[0021] FIG. 4 depicts a video gaming-machine that can be used in
monitoring and controlling gaming-environment in accordance with
one embodiment of the invention.
[0022] FIG. 5 illustrates a block diagram of a gaming system of the
present invention.
DETAILED DESCRIPTION OF THE INVENTION
[0023] As suggested above, gaming environments have evolved to
encompass a wide variety of games that can be played on various
gaming-machines. In a complex gaming-environment, each
gaming-machine can include numerous hardware and software
components. In addition, rigorous gaming-regulations need to be
met. As a result, it has become increasing more difficult and time
consuming to manually monitor and control the gaming-environments.
In particular, common operations, such as, manual installation of
new games (or updating old games) has become increasing more
difficult and time consuming as, among other things, specific
knowledge of various gamine-requirements (e.g., technical, legal)
and gaming-machines is required to successfully monitor and
maintain a modern gaming environment.
[0024] Partly because of the complexity and sheer number of games
and gaming-machines which are available today, installation and
updating games can be a frustrating experience where, for example,
a particular game may be installed on a gaming-machine only to
later realize that the game was not suitable for the gaming
machine. As such, improved techniques for monitoring and
controlling gaming-environments would be useful. In particular,
methods and apparatus that allow for and simplify the configuration
of a large number of gaming machines in a gaming network including
the downloading of new gaming software to groups of gaming machines
are desirable.
[0025] Accordingly, the invention pertains to techniques for
monitoring and controlling gaming-environments. Typically, a gaming
environment can be configured for playing a number of games on a
plurality of gaming-machines. In accordance with one aspect of the
invention, techniques for facilitating installation of one or more
games on a plurality of gaming-machines are disclosed. It will be
appreciated that a gaming monitor/controller can determine whether
gaming-machine(s) in a gaming-environment are suitable or capable
of executing one or more games. In addition, data can be generated
to determine whether a gaming-machine is suitable or capable of
executing a game. This data can be displayed, for example, to
assist a human operator in determining which new games or updates
are more appropriate for a particular gaming-machine or group of
gaming-machines in accordance with one embodiment of the invention.
It will also be appreciated that data can be filtered and
diagnostic information can be provided. Filtering and/or diagnostic
information, among other things, can assist the human operator in
determining whether corrective action can be taken in order to
allow a particular machine or combination of machines to play a
particular game (e.g., two gaming-machines can be combined together
to run a game, or a component can be taken from another
gaming-machine in order to run the game).
[0026] Embodiments of these aspects of the invention are discussed
below with reference to FIGS. 1-5. However, those skilled in the
art will readily appreciate that the detailed description given
herein with respect to these figures is for explanatory purposes as
the invention extends beyond these limited embodiments.
[0027] FIG. 1B depicts an automated gaming analyzer 170 in
accordance with one embodiment of the invention. The automated
gaming analyzer 170 can effectively monitor and/or control a gaming
environment 172 comprising a plurality of gaming-machines (M1 and
M2). Typically, each of the gaming-machines (M1 and M2) is capable
of executing one or more games. In general, a game can have one or
more gaming-requirements. A gaming-requirement can, for example, be
associated with various technical requirements (e.g., hardware,
software), on legal requirements (e.g., regulations) that may vary
for different jurisdictions. In any case, the automated gaming
analyzer 170 can receive or identify one or more games (G1 and
G2).
[0028] The gaming analyzer 170 may allow an operator to specify a
game for particular game or a layout of games for group of
networked gaming machines. It should be noted that every gaming
machine may not be capable or suitable for operable to execute
every type of game that is available to the operator. By way of
example, a particular game may require a technical feature, for
example, a minimum amount of random access memory (RAM), or a
particular component (e.g., a high-resolution display), a
particular operating system or available licenses for a particular
game. Thus if the capabilities of a gaming-machine is not known to
an operator and the gaming machines are enabled with remote
configuration capability, the operator can select a game for
execution on a gaming-machine that is incompatible with the
gaming-machine.
[0029] It will be appreciated that the automated gaming analyzer
170 can determine whether each one of the gaming-machines (e.g.,
M1, M2) are suitable or capable of executing one or more games
(e.g., G1, G2). Furthermore, based on this determination, the
automated gaming analyzer 170 can generate data 177 that indicates
whether a gaming-machine (e.g., M1, M2) is suitable or capable of
playing a particular game(s) (e.g. G1, G2). Moreover, data 177 can
be displayed by the automated gaming analyzer as data 178. It will
be appreciated that this data (178) can assist a human operator in
making informed decisions regarding, for example, installation of
games (e.g., new games, updates to games). In general, data 177 can
be generated and displayed to provide information regarding the
capability or suitability of various gaming-machines with respect
to execution of different games (e.g., new games, updates to older
games, new version of a game). In addition, the automated gaming
analyzer 170 can be configured to initiate the installation of
games (e.g., G1, G2) on the gaming-machines (e.g., M1, M2) when it
determines that a gaming-machine is capable or suitable of running
a game.
[0030] In particular embodiments, the interface provided by the
gaming analyzer 170 may allow an operator to perform an analysis on
individual gaming machines or groups of groups of gaming machines.
For instance, the analyzer may display a list of games and a layout
of the gaming machines on a casino floor. After selecting a game
from the list of games, the gaming analyzer 170 may display all the
machines on the casino floor that are operable to execute the
selected game. To select the game, the operator may click on it or
simply drag a cursor over the desired game. Conversely, the
operator can select a particular gaming machine and the analyzer
170 can, in response to the selection, display a number of which
games that can be executed by the gaming-machine.
[0031] In addition, a human can learn additional information about
each gaming machine, (e.g., type of gaming machine and its
capability). The gaming analyzer 170 can be configured to allow a
human to display or high-light groups of gaming machines that, for
example, are of a certain type or share a common capability, (e.g.,
the ability to execute a particular type of game). Those skilled in
the art will appreciate that gaming-analyzer 170 can provide
numerous other capabilities. A such, the present invention is not
limited to filtering capabilities, which are described below for
illustrative purposes only.
[0032] As another example, a human operator can view all or a
portion of the gaming machines of interest. For example, by drawing
a box around a group of gaming-machines, the operator can focus on
the gaming machines in that box. Subsequently, the gaming the
analyzer 170 can be enabled to perform various operations on the
selected gaming machines. For instance, when the human operator
selects a game, the gaming analyzer 177 can display only the
gaming-machines capable of executing that game in the selected
group. The analyzer, if desired by the operator, may be operable to
zoom in on these gaming machines.
[0033] To further elaborate, FIG. 1C depicts an game-installation
method 180 for installing and/or downloading games in a gaming
environment in accordance with one embodiment of the invention. The
game-installation method 180 can, for example, be used by the
automated gaming analyzer 170 to initiate installation and/or
downloading of various games (e.g., G1 and G2) in gaming-machines
(M1 and M2) in the gaming environment 172 shown in FIG. 1B.
Initially, one or more games are received or identified (182). It
should be noted that each of the one or more games can be executed
on a gaming-machines that meets or exceeds at least one
gaming-requirement for executing the game. Subsequently, it is
determined (184) whether each of the gaming-machines is capable of
or suitable for executing the one or more games. Next, data is
generated (186) that indicates whether at least one of the
gaming-machines is suitable for or capable of executing the one or
more games.
[0034] Typically, the data can be generated (186) for all of the
gaming-machines (e.g., upon request) and can be displayed (e.g.,
for a human operator). As such, a determination (188) is made as to
whether to display data regarding the capability or suitability of
one or more gaming-machines. Accordingly, this data can be
displayed (190) to indicate that at least one gaming-machine is
capable or suitable for executing the one or more games. As
suggested above, this data can be used to assist, for example, a
human operator or an application program with installation or
downloading various games on different machines. As such, a human
operator and/or application program can provide input regarding
whether to initiate downloading and/or installation of the one or
more games on a particular gaming-machine.
[0035] Alternatively, installation and/or downloading of one or
more games on one or more gaming-machines can be initiated
automatically without requiring external input (e.g., from a human
operator or application program). In other words, based on the
determination (184) of whether a gaming-machine is suitable for or
capable of executing a particular game, downloading and/or
installation of the game can be initiated without requiring
external input. In any case, if it is determined (192) to initiate
downloading and/or installation of at least one game, downloading
and/or installation of the game(s) is initiated (194) and the
installation method 180 ends. However, it is determined (192) not
to install a game, the installation method 180 ends without
initiating the downloading or installation of any games. The
installation method 180 also ends after installation of one or more
games have been initiated (194).
[0036] In other embodiments, after a gaming machine or group of
gaming machines have been identified that are not suitable to
execute a game or other software component. The gaming analyzer 170
may be configured to provide suggestions in regards to remedial
actions. For instance, the gaming analyzer 170 may indicate that a
target gaming machine may be able to operate with a subset of
capabilities afforded by a particular game if it is configured in a
certain manner. The gaming analyzer 170 may display the subset of
capabilities that are available and the configuration changes
necessary to achieve the subset of capabilities.
[0037] In one embodiment, the gaming analyzer 170 is operable to
display a simulation of a gaming machine and/or game with a full
set of capabilities as compared to the subset of capabilities. For
instance, if to execute a game, certain features have to be
disabled to allow it to operate on a particular gaming device, such
as high-resolution graphics, then the gaming analyzer 170 may be
operable to display to the operator an example of the game with the
high resolution graphics and a game without the high resolution
graphics. In another example, if a gaming machine does not include
a particular peripheral device associated with a selected game,
such as a spinning wheel or spinning globe but can be configured to
operate the peripheral device, the gaming analyzer 170 can display
a simulation or an actual video clip of a gaming machine operating
with peripheral device and a gaming machine operating without the
peripheral device to allow the operator to assess a loss in
functionality. These comparisons may be made side by side on the
display screen coupled to the gaming analyzer 170.
[0038] In another embodiment, when a gaming machine is not suitable
for a particular game, the gaming analyzer 170 is operable to
suggest a different game that is suitable for the gaming machine
that shares some features, such as a common theme or game play
aspects, with the unsuitable game. The gaming analyzer 170 can, for
example, display the unsuitable game and one or more recommended
games in a side by side manner on display screen with the features
in common highlighted.
[0039] In general, the gaming analyzer 170 is operable to allow a
user to compare two or more games on a display screen selected by
the user. Additionally, the gaming analyzer 170 may include a
search capability that allows an operator to search for games with
features in common. The search results may be displayed using text,
graphics, simulations or combinations thereof.
[0040] For instance, the operator may be able to search for games
that 1) share a common theme, 2) are suitable for a particular type
of gaming machine, 3) use a particular color theme, 4) use a
particular denomination, etc. For each search, the gaming analyzer
170 may display simulations of all the games meeting the searched
for criteria.
[0041] In yet another embodiment, when a game or other piece of
software is not suitable for a particular gaming device, the
analyzer may suggest upgrades to the gaming device that would make
it suitable. The upgrades may include but are not limited to
software upgrades, license upgrades, hardware upgrades and
combination thereof. The gaming analyzer 170 may include
cost/benefit models that allow it to estimate a cost for an upgrade
and predict the benefits of an upgrade. As an example, if an
upgrade to make a gaming device suitable to play a particular game
required a new display, the gaming analyzer 170 may be operable to
predict how long it would take to order the display, how much it
would cost, suggest that the display could be taken from another
gaming device (cannibalize a first gaming device to make a second
gaming device operable), predict the installation time, order the
display, schedule an installation time or generate an installation
request for a maintenance department.
[0042] In still another embodiment, the gaming analyzer 170 is
operable to receive a layout for a group of gaming machine and
indicate any changes necessary to achieve the desired layout. For
instance, after the operator has input a desired game layout
including games to be played on each gaming machine, the gaming
analyzer 170 can suggest upgrading a portion of the machines in
some manner and/or moving a portion of the gaming machines from one
location to another location to achieve the desired layout. The
gaming analyzer 170 may be operable to display various layout
scenarios that approximate a desired layout to some degree but
involve fewer upgrades or movements of gaming machines. Again, the
gaming analyzer 170 may include cost/benefit models that allow a
user to estimate the costs and benefits associated with changing
the layout of a group of gaming machines.
[0043] The present invention is not limited to remote configuration
of games on the gaming machine. It may be applied to any device
coupled to a gaming machine or any gaming device coupled to the
network associated with the gaming analyzer 170. For instance, the
gaming analyzer 170 may be used for remote configuration of
firmware/software on a peripheral device coupled to a gaming
machine, such as a player tracking unit, bill validator, coin
hopper, printer, display. As another example, the gaming analyzer
170 may be operable to configure software for devices such as
casino kiosks, cashier terminals, pit terminals and hand-held
devices carried by a casino employee. In yet another embodiment,
the gaming analyzer can be used to configure gaming devices at
table games or stand-alone signs.
[0044] FIG. 2 depicts an automated gaming analyzer 200 in greater
details in accordance with one embodiment of the invention. As
shown in FIG. 2, the automated gaming analyzer 200 comprises
several components, namely, a data collector 201, an analyzer 202,
a report generator 204, a storage 206 (e.g., database), a Graphical
User Interface (GUI) Layer 208. In addition, input/output device(s)
210 (e.g., keyboard, speakers, mouse) and a display/console 212 is
provided for input/output operations via the GUI Layer 208. The
data collector 201 collects data regarding the capabilities of
various gaming-machines (e.g., M1, M2) that are
monitored/controlled by the automated gaming analyzer 200. There
are various ways for collecting the information. Those skilled in
the art will know that each machine can, for example, be queried
(e.g., polled) for its capabilities (e.g., amount of RAM,
configured components) at a determined time interval. In general,
each gaming-machines may have a number of capabilities that
correspond to gaming-requirements of a game. For example, a
gaming-machine M1 can have capabilities M1C1 and M1C2 that
respectively correspond to the gaming-requirements G2R1 and G2R2 of
a game G2. In general, the collector 201 can collect the
requirements for various games (e.g., G1 and G2) and store them in
a storage (e.g., database) that also stores the capabilities of the
gaming-machines.
[0045] After data has been collected in the storage 206, the
analyzer 202 can start analyzing the data in order to determine
whether a gaming-machine is capable or suitable for playing a
particular game. Generally, this determination requires determining
whether a particular gaming-machine (e.g., M2) meets or exceeds the
gaming-requirements of a particular game (G1). Based on the
analysis performed by the analyzer 202, the report generator 204
can generate data that indicates whether a particular
gaming-machine is capable of or suitable for playing a game.
Moreover, this data may be presented to a human via the GUI Layer
208. In other words, this data can be displayed on the display 212.
A human may also interact via the input/output device(s) 210 to
request specific information about a particular gaming-machine(s)
or game(s). Data may be filtered and more detailed information
regarding, for example, why a game cannot be executed on a
particular gaming-machine, what actions can be taken to allow a
game to be executed on a particular gaming-machine, and so on.
[0046] To further elaborate, FIG. 3A depicts an exemplary Graphical
User Interface that can be provided in accordance with one
embodiment of the invention. As suggested by FIG. 3A, a main-menu
301 can include submenus as options that allow information to be
presented at least based on games (302) or gaming-machines (304). A
human operator may interact with the submenus (302 and 304) to
obtain information regarding gaming-machines and games. As such, it
will be readily apparent that, for example, game 1 can be played on
the gaming-machines M2 and M4, but not on the gaming-machines M1
and M3 (302(a)). Similarly, by selecting the gaming-machines option
(304), the user may also readily see that, for example,
gaming-machine M1 is suitable for or capable of executing the games
G1, G3 and G4, but not suitable for or capable of running the games
G2 and G5 (304(a)). In addition, diagnostic information can be
obtained to determine why, for example, a game G2 cannot be
executed by a gaming-machine G2. As suggested in display (304(b)),
additional information can be displayed that, for example,
indicates that the combination of the gaming-machines M1 and M6 can
execute the game G2, a particular component is needed from a
gaming-machine M5 in order to run the game G2 on the gaming-machine
M2, and so on.
[0047] FIGS. 3B and 3C depict a monitoring method for monitoring a
gaming-environment in accordance with another embodiment of the
invention. More particularly, FIGS. 3C and 3D depict a polling
method 300 and assessing method 350 that can respectively gather
information about the gaming-environment and display the
information. Referring now to FIG. 3B, if it is determined (302)
whether to initiate polling of the gaming-environment. Accordingly,
one or more gaming-machines can be polled (304) in order to
determine their capabilities with respect to executing one or more
games.
[0048] It will be appreciated that the polling (304) can be
initiated, for example, at a determined time interval, or when a
request is received (e.g., from a human operator or application
program). In any case, after the polling has been initiated (304),
it is determined (306) whether data has been received from the
gaming-machine(s). If it is determined (306) that data has been
received, it is determined (308) whether to store the data.
Typically, data is stored (310) in a database after verification
and processing to ensure the integrity of data. Subsequently, it is
determined (312) whether more data is needed (e.g., whether data
has been received from all of a selected group of gaming-machines).
If it is determined (312) that more data is needed, additional data
can be received (306) and stored (310) in the database. The polling
method 300 ends if it is determined (312) that no more data is
needed.
[0049] Referring now to FIG. 3C, an assessing method 350 initially
determines (352) whether to initiate assessing the
gaming-environment. It will be appreciated that, for example, a
human operator may effectively initiate the assessing (352) of the
gaming-environment by making a request via a GUI. After the
accessing process has been initiated (352), it is determined (354)
whether to provide data for the game(s) and/or gaming-machine(s).
This determination can, for example, be made based on input
received from a human operator via a Graphical User Interface. The
human operator may, for example, select a menu-item.
[0050] Accordingly, information that indicates whether one or more
gaming-machines are capable of or suitable for executing one or
more games can be displayed (356). Alternatively or additionally,
information that indicates whether one or more games are suitable
for or capable of being executed on one or more gaming-machines is
displayed (358). In other words, information can be indexed based
on gaming-machine(s) and/or game(s). In any case, after information
is displayed (356 and/or 358), it is determined (360) whether to
provide diagnostic information regarding the game(s) and/or
gaming-machine(s). Subsequently, it is determined (362) whether it
is possible to combine two or more gaming-machines to execute a
game. Accordingly, information that indicates that two or more
gaming-machines can be combined to execute one or more games can be
displayed (364). It is also determined (368) whether one or more
components (e.g., reels, input devices, displays) which are
available in the gaming-environment can be acquired and configured
for one or more gaming-machines in order to run a particular game.
Accordingly, information can be displayed (370) to indicate which
components of gaming-machines may be acquired to allow a
gaming-machine(s) to execute a particular game. These components
can, for example, be from other gaming-machines in the
gaming-environment. Thereafter, it is determined (380) whether to
end assessing the gaming-environment. If it is determined (380) not
to end assessing process, more information can be displayed (356,
358) based on game(s) and/or gaming-machine(s). The assessing
method 350 ends if it is determined (380) to end assessing the
gaming-environment (e.g., when input from a human operator is
received).
[0051] FIG. 4 depicts a video gaming-machine 2 that can be used in
monitoring and controlling gaming-environment in accordance with
one embodiment of the invention. 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. Many
possible 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.
[0052] 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. 4. For
example, the top box may contain a bonus wheel or a back-lit silk
screened panel which may be used to add bonus features to the game
being played on the gaming-machine. As another example, the top box
may contain a display for a progressive jackpot offered on the
gaming-machine. During a game, these devices are controlled and
powered, in part, by circuitry (e.g. a master gaming controller)
housed within the main cabinet 4 of the machine 2.
[0053] 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 two or more game displays--mechanical and/or
video. And, some gaming-machines 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. 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.
[0054] Returning to the example of FIG. 4, 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.
[0055] 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.
[0056] 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, strobe 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.
[0057] IGT gaming-machines are implemented with special features
and additional circuitry that differentiate them from
general-purpose computers (e.g., desktop PC's and laptops). Some of
these components and features are included in the network devices
of the present invention, as appropriate. Some examples of these
additional components and features are described below.
[0058] 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.
[0059] 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.
[0060] The standard method of operation for IGT slot machine game
software is to use a state machine. Each function of the game (bet,
play, result, etc.) is 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. In addition, game
history information regarding previous games played, amounts
wagered, and so forth also should be stored in a non-volatile
memory device. This feature allows the game to recover operation to
the current state of play in the event of a malfunction, loss of
power, etc. This is critical to ensure the player's wager and
credits are preserved. Typically, battery backed RAM devices are
used to preserve this critical data. These memory devices are not
used in typical general-purpose computers.
[0061] IGT gaming computers normally contain additional 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 RS232 serial interfaces provided by general-purpose
computers. These interfaces may, for example, include EIA RS485,
EIA RS422, 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. Those
skilled in the art will know various networking hardware and
software components that can be used.
[0062] 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.
[0063] 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.
[0064] 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.
[0065] FIG. 5 shows a block diagram illustrating components of a
gaming system 900 which may be used for implementing various
aspects of the present invention. In FIG. 5, the components of a
gaming system 900 for providing game software licensing and
downloads are described functionally. The described functions may
be instantiated in hardware, firmware and/or software and executed
on a suitable device. In the gaming system 900, there may be many
instances of the same function, such as multiple game play
interfaces 911. Nevertheless, in FIG. 5, only one instance of each
function is shown. The functions of the components may be combined.
For example, a single device may comprise the game play interface
911 and include trusted memory devices or sources 909. Each of the
described components may be incorporated by various embodiments
described with respect to FIGS. 1-4.
[0066] The gaming system 900 may receive inputs from different
groups/entities and output various services and or information to
these groups/entities. For example, game players 925 primarily
input cash or indicia of credit into the system, make game
selections that trigger software downloads, and receive
entertainment in exchange for their inputs. Game software content
providers provide game software for the system and may receive
compensation for the content they provide based on licensing
agreements with the gaming machine operators. Gaming machine
operators select game software for distribution, distribute the
game software on the gaming devices in the gaming system 900,
receive revenue for the use of their software and compensate the
gaming machine operators. The gaming regulators 930 may provide
rules and regulations that must be applied to the gaming system and
may receive reports and other information confirming that rules are
being obeyed.
[0067] In the following paragraphs, details of each component and
some of the interactions between the components are described with
respect to FIG. 5. The game software license host 901 may be a
server connected to a number of remote gaming devices that provides
licensing services to the remote gaming devices. For example, in
other embodiments, the license host 901 may 1) receive token
requests for tokens used to activate software executed on the
remote gaming devices, 2) send tokens to the remote gaming devices,
3) track token usage and 4) grant and/or renew software licenses
for software executed on the remote gaming devices. The token usage
may be used in utility based licensing schemes, such as a
pay-per-use scheme.
[0068] In another embodiment, a game usage-tracking host 915 may
track the usage of game software on a plurality of devices in
communication with the host. The game usage-tracking host 915 may
be in communication with a plurality of game play hosts and gaming
machines. From the game play hosts and gaming machines, the game
usage tracking host 915 may receive updates of an amount that each
game available for play on the devices has been played and on
amount that has been wagered per game. This information may be
stored in a database and used for billing according to methods
described in a utility based licensing agreement.
[0069] The game software host 902 may provide game software
downloads, such as downloads of game software or game firmware, to
various devices in the gaming system 900. For example, when the
software to generate the game is not available on the game play
interface 911, the game software host 902 may download software to
generate a selected game of chance played on the game play
interface. Further, the game software host 902 may download new
game content to a plurality of gaming machines via a request from a
gaming machine operator.
[0070] In one embodiment, the game software host 902 may also be a
game software configuration-tracking host 913. The function of the
game software configuration-tracking host is to keep records of
software configurations and/or hardware configurations for a
plurality of devices in communication with the host (e.g.,
denominations, number of paylines, paytables, max/min bets).
Details of a game software host and a game software configuration
host that may be used with the present invention are described in
co-pending U.S. Pat. No. 6,645,077, by Rowe, entitled, "Gaming
Terminal Data Repository and Information System," filed Dec. 21,
2000, which is incorporated herein in its entirety and for all
purposes.
[0071] A game play host device 903 may be a host server connected
to a plurality of remote clients that generates games of chance
that are displayed on a plurality of remote game play interfaces
911. For example, the game play host device 903 may be a server
that provides central determination for a bingo game play played on
a plurality of connected game play interfaces 911. As another
example, the game play host device 903 may generate games of
chance, such as slot games or video card games, for display on a
remote client. A game player using the remote client may be able to
select from a number of games that are provided on the client by
the host device 903. The game play host device 903 may receive game
software management services, such as receiving downloads of new
game software, from the game software host 902 and may receive game
software licensing services, such as the granting or renewing of
software licenses for software executed on the device 903, from the
game license host 901.
[0072] In particular embodiments, the game play interfaces or other
gaming devices in the gaming system 900 may be portable devices,
such as electronic tokens, cell phones, smart cards, tablet PC's
and PDA's. The portable devices may support wireless communications
and thus, may be referred to as wireless mobile devices. The
network hardware architecture 916 may be enabled to support
communications between wireless mobile devices and other gaming
devices in gaming system. In one embodiment, the wireless mobile
devices may be used to play games of chance.
[0073] The gaming system 900 may use a number of trusted
information sources. Trusted information sources 904 may be
devices, such as servers, that provide information used to
authenticate/activate other pieces of information. CRC values used
to authenticate software, license tokens used to allow the use of
software or product activation codes used to activate to software
are examples of trusted information that might be provided from a
trusted information source 904. Trusted information sources may be
a memory device, such as an EPROM, that includes trusted
information used to authenticate other information. For example, a
game play interface 911 may store a private encryption key in a
trusted memory device that is used in a private key-public key
encryption scheme to authenticate information from another gaming
device.
[0074] When a trusted information source 904 is in communication
with a remote device via a network, the remote device will employ a
verification scheme to verify the identity of the trusted
information source. For example, the trusted information source and
the remote device may exchange information using public and private
encryption keys to verify each other's identities. In another
embodiment of the present invention, the remote device and the
trusted information source may engage in methods using zero
knowledge proofs to authenticate each of their respective
identities. Details of zero knowledge proofs that may be used with
the present invention are described in US publication no.
2003/0203756, by Jackson, filed on Apr. 25, 2002 and entitled,
"Authentication in a Secure Computerized Gaming System, which is
incorporated herein in its entirety and for all purposes.
[0075] Gaming devices storing trusted information might utilize
apparatus or methods to detect and prevent tampering. For instance,
trusted information stored in a trusted memory device may be
encrypted to prevent its misuse. In addition, the trusted memory
device may be secured behind a locked door. Further, one or more
sensors may be coupled to the memory device to detect tampering
with the memory device and provide some record of the tampering. In
yet another example, the memory device storing trusted information
might be designed to detect tampering attempts and clear or erase
itself when an attempt at tampering has been detected.
[0076] The gaming system 900 of the present invention may include
devices 906 that provide authorization to download software from a
first device to a second device and devices 907 that provide
activation codes or information that allow downloaded software to
be activated. The devices, 906 and 907, may be remote servers and
may also be trusted information sources. One example of a method of
providing product activation codes that may be used with the
present invention is describes in previously incorporated U.S. Pat.
No. 6,264,561.
[0077] A device 906 that monitors a plurality of gaming devices to
determine adherence of the devices to gaming jurisdictional rules
908 may be included in the gaming system 900. In one embodiment, a
gaming jurisdictional rule server may scan software and the
configurations of the software on a number of gaming devices in
communication with the gaming rule server to determine whether the
software on the gaming devices is valid for use in the gaming
jurisdiction where the gaming device is located. For example, the
gaming rule server may request a digital signature, such as CRC's,
of particular software components and compare them with an approved
digital signature value stored on the gaming jurisdictional rule
server.
[0078] Further, the gaming jurisdictional rule server may scan the
remote gaming device to determine whether the software is
configured in a manner that is acceptable to the gaming
jurisdiction where the gaming device is located. For example, a
maximum bet limit may vary from jurisdiction to jurisdiction and
the rule enforcement server may scan a gaming device to determine
its current software configuration and its location and then
compare the configuration on the gaming device with approved
parameters for its location.
[0079] A gaming jurisdiction may include rules that describe how
game software may be downloaded and licensed. The gaming
jurisdictional rule server may scan download transaction records
and licensing records on a gaming device to determine whether the
download and licensing was carried out in a manner that is
acceptable to the gaming jurisdiction in which the gaming device is
located. In general, the game jurisdictional rule server may be
utilized to confirm compliance to any gaming rules passed by a
gaming jurisdiction when the information needed to determine rule
compliance is remotely accessible to the server.
[0080] Game software, firmware or hardware residing a particular
gaming device may also be used to check for compliance with local
gaming jurisdictional rules. In one embodiment, when a gaming
device is installed in a particular gaming jurisdiction, a software
program including jurisdiction rule information may be downloaded
to a secure memory location on a gaming machine or the jurisdiction
rule information may be downloaded as data and utilized by a
program on the gaming machine. The software program and/or
jurisdiction rule information may used to check the gaming device
software and software configurations for compliance with local
gaming jurisdictional rules. In another embodiment, the software
program for ensuring compliance and jurisdictional information may
be installed in the gaming machine prior to its shipping, such as
at the factory where the gaming machine is manufactured.
[0081] The gaming devices in gaming system 900 may utilize trusted
software and/or trusted firmware. Trusted firmware/software is
trusted in the sense that is used with the assumption that it has
not been tampered with. For instance, trusted software/firmware may
be used to authenticate other game software or processes executing
on a gaming device. As an example, trusted encryption programs and
authentication programs may be stored on an EPROM on the gaming
machine or encoded into a specialized encryption chip. As another
example, trusted game software, i.e., game software approved for
use on gaming devices by a local gaming jurisdiction may be
required on gaming devices on the gaming machine.
[0082] In the present invention, the devices may be connected by a
network 916 with different types of hardware using different
hardware architectures. Game software can be quite large and
frequent downloads can place a significant burden on a network,
which may slow information transfer speeds on the network. For
game-on-demand services that require frequent downloads of game
software in a network, efficient downloading is essential for the
service to viable. Thus, in the present inventions, network
efficient devices 910 may be used to actively monitor and maintain
network efficiency. For instance, software locators may be used to
locate nearby locations of game software for peer-to-peer transfers
of game software. In another example, network traffic may be
monitored and downloads may be actively rerouted to maintain
network efficiency.
[0083] One or more devices in the present invention may provide
game software and game licensing related auditing, billing and
reconciliation reports to server 912. For example, a software
licensing billing server may generate a bill for a gaming device
operator based upon a usage of games over a time period on the
gaming devices owned by the operator. In another example, a
software auditing server may provide reports on game software
downloads to various gaming devices in the gaming system 900 and
current configurations of the game software on these gaming
devices.
[0084] At particular time intervals, the software auditing server
912 may also request software configurations from a number of
gaming devices in the gaming system. The server may then reconcile
the software configuration on each gaming device. In one
embodiment, the software auditing server 912 may store a record of
software configurations on each gaming device at particular times
and a record of software download transactions that have occurred
on the device. By applying each of the recorded game software
download transactions since a selected time to the software
configuration recorded at the selected time, a software
configuration is obtained. The software auditing server may compare
the software configuration derived from applying these transactions
on a gaming device with a current software configuration obtained
from the gaming device. After the comparison, the software-auditing
server may generate a reconciliation report that confirms that the
download transaction records are consistent with the current
software configuration on the device. The report may also identify
any inconsistencies. In another embodiment, both the gaming device
and the software auditing server may store a record of the download
transactions that have occurred on the gaming device and the
software auditing server may reconcile these records.
[0085] There are many possible interactions between the components
described with respect to FIG. 5. Many of the interactions are
coupled. For example, methods used for game licensing may affect
methods used for game downloading and vice versa. For the purposes
of explanation, details of a few possible interactions between the
components of the gaming system 900 relating to software licensing
and software downloads have been described. The descriptions are
selected to illustrate particular interactions in the gaming system
900. These descriptions are provided for the purposes of
explanation only and are not intended to limit the scope of the
present invention.
[0086] The many features and advantages of the present invention
are apparent from the written description, and thus, it is intended
by the appended claims to cover all such features and advantages of
the invention. Further, since numerous modifications and changes
will readily occur to those skilled.
* * * * *