U.S. patent application number 12/918179 was filed with the patent office on 2011-01-13 for controlling wagering transactions for multi-provider game content.
Invention is credited to Srinivyasa M. Adiraju, Vijay K. Agarwal, Dale R. Buchholz, Mary M. Burke, Timothy F. Dinovo, Magesh Gangadharan, Jacek A. Grabiec, James S. Halprin, Mark C. Pace, Jacqueline F. Parra, David M. Pryor, Matthew J. Ward.
Application Number | 20110009188 12/918179 |
Document ID | / |
Family ID | 43427897 |
Filed Date | 2011-01-13 |
United States Patent
Application |
20110009188 |
Kind Code |
A1 |
Adiraju; Srinivyasa M. ; et
al. |
January 13, 2011 |
CONTROLLING WAGERING TRANSACTIONS FOR MULTI-PROVIDER GAME
CONTENT
Abstract
Described herein are processes and devices that control wagering
transactions for multi-provider game content. One of the devices
described is a wagering game system. The wagering game system can
process a plurality of wagering games from multiple wagering game
providers on a single wagering game machine during a single
wagering game session. The system can communicate wagering
transaction information for the plurality of wagering games between
the wagering game machine and an account server. The wagering game
system can synchronize a session funds balance on the wagering game
machine with an account balance on the account server. The system
can utilize different modes of synchronizing the account
information for the multiple wagering games.
Inventors: |
Adiraju; Srinivyasa M.;
(Vernon Hills, IL) ; Agarwal; Vijay K.; (Hoffman
Estates, IL) ; Buchholz; Dale R.; (Palatine, IL)
; Burke; Mary M.; (Somonauk, IL) ; Dinovo; Timothy
F.; (Hanover Park, IL) ; Gangadharan; Magesh;
(Des Plaines, IL) ; Grabiec; Jacek A.; (Chicago,
IL) ; Halprin; James S.; (Chicago, IL) ; Pace;
Mark C.; (Palatine, IL) ; Parra; Jacqueline F.;
(Glen Ellyn, IL) ; Pryor; David M.; (Elmhurst,
IL) ; Ward; Matthew J.; (Northbrook, IL) |
Correspondence
Address: |
WMS GAMING (DELIZIO GILLIAM);C/O DELIZIO GILLIAM, PLLC
15201 MASON ROAD, SUITE 1000-312
CYPRESS
TX
77433
US
|
Family ID: |
43427897 |
Appl. No.: |
12/918179 |
Filed: |
March 3, 2009 |
PCT Filed: |
March 3, 2009 |
PCT NO: |
PCT/US09/35939 |
371 Date: |
August 18, 2010 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
61003678 |
Nov 20, 2007 |
|
|
|
61036671 |
Mar 14, 2008 |
|
|
|
61046912 |
Apr 22, 2008 |
|
|
|
61054270 |
May 19, 2008 |
|
|
|
Current U.S.
Class: |
463/25 ;
463/43 |
Current CPC
Class: |
G07F 17/323 20130101;
G07F 17/3262 20130101; G07F 17/32 20130101 |
Class at
Publication: |
463/25 ;
463/43 |
International
Class: |
A63F 9/24 20060101
A63F009/24 |
Claims
1. A method comprising: tracking wagering transactions, for primary
wagering game content, using a first funds tracking mode, wherein
the primary wagering game content is provided to a wagering game
machine by a first wagering game provider; detecting a request to
process secondary wagering game content on the wagering game
machine, wherein the secondary wagering game content is provided by
a second wagering game provider, and wherein the secondary wagering
game content uses a second funds tracking mode different from the
first funds tracking mode; transitioning the tracking of the
wagering transactions for the primary wagering game content from
the first funds tracking mode to the second funds tracking mode;
and tracking wagering transactions for both the primary wagering
game content and the secondary wagering game content using the
second funds tracking mode.
2. The method of claim 1, wherein the first wagering game provider
is a first wagering game manufacturer store and the secondary
wagering game provider is a second wagering game manufacturer
store.
3. The method of claim 1, wherein the first funds tracking mode is
any one or more of a cash-based funds tracking mode and a
ticket-based funds tracking mode, and the second funds tracking
mode is an account-based funds tracking mode.
4. The method of claim 3, wherein the transitioning the tracking of
the wagering transactions for the primary wagering game content
comprises performing, before transitioning into an account-based
funds tracking mode, any one or more of transferring funds on the
wagering game machine to an account and cashing out funds on the
wagering game machine for the primary game.
5. The method of claim 1, wherein the tracking wagering
transactions for both the primary wagering game content and the
secondary wagering game content uses an account-based funds
tracking mode, and wherein the tracking comprises: reporting wagers
for both the primary wagering game content and the secondary
wagering game content to an account server; receiving a
verification message from the account server that a player account
has sufficient funds to place the wagers; subtracting the wagers
from a funds meter on the wagering game machine that tracks an
account balance; activating the primary wagering game content and
secondary wagering game content; determining wagering game outcomes
for both the primary wagering game content and the secondary
wagering game content; and adding win amounts from any one or more
of the primary wagering game content and the secondary wagering
game content to the funds meter on the wagering game machine.
6. The method of claim 1, wherein the tracking wagering
transactions for both the primary wagering game content and the
secondary wagering game content comprises: storing a plurality of
wagering transactions for both the primary wagering game content
and the secondary wagering game content on the wagering game
machine for a plurality of game plays; and reconciling the
plurality of wagering transactions with an account server to update
a player account balance after the plurality of game plays.
7. One or more machine-readable media having instructions stored
thereon, which when executed by a set of one or more processors
causes the set of one or more processors to perform operations
comprising: detecting a request to process a plurality of wagering
games from multiple wagering game providers on a wagering game
machine during a single wagering game session; communicating
wagering transactions for the plurality of wagering games to a
wagering game player account stored on an account server; and
synchronizing a session funds balance on the wagering game machine
with an account balance for the wagering game player account.
8. The machine-readable media of claim 7, wherein the communicating
and synchronizing comprises: communicating the wagering
transactions for the plurality of wagering games to the account
server after every wagering game outcome during the wagering game
session; and restricting wagering game play on the wagering game
machine until the session funds balance and the account balance are
synchronized after every wagering game outcome.
9. The machine-readable media of claim 7, wherein the communicating
and coordinating comprises: communicating the wagering transactions
for the plurality of wagering games to the account server after
every wager and after every wagering game outcome during the
wagering game session; and restricting wagering game play on the
wagering game machine until the session funds balance and the
account balance are synchronized after every wager and wagering
game outcome.
10. The machine-readable media of claim 7, wherein the
communicating and coordinating comprises: storing a plurality of
wagering transactions on the wagering game server for a plurality
of wagers and wagering game outcomes; communicating the plurality
of wagering transactions as a single communication to the account
server; and restricting wagering game play until the session funds
balance and the account balance are synchronized.
11. The machine-readable media of claim 7, further comprising
detecting a long running wagering game, initiated during the
wagering game session, that continues to run after the wagering
game session has ended; detecting a wagering game outcome for the
long running game; and updating the account balance with any
winning amounts generated from the wagering game outcome.
12. A system comprising: a primary wagering game server configured
to provide primary wagering game content; a secondary wagering game
server configured to provide secondary wagering game content; a
wagering game machine configured to simultaneously process a first
wagering game using the primary wagering game content and a second
wagering game using the secondary wagering game content; and an
account server configured to track wagering account information
related to both the first wagering game and the second wagering
game.
13. The system of claim 12, wherein the primary wagering game
server is configured to serve wagering games created by a first
wagering game manufacturer and the second wagering game server is
configured to serve wagering games created by a second wagering
game manufacturer.
14. The system of claim 12, further comprising: a coordination unit
configured to synchronize a wagering game session balance on the
wagering game machine with a wagering player account balance on the
account server during a wagering game session for both the first
wagering game and the second wagering game.
15. The system of claim 14, wherein the coordination unit is
further configured to determine one or more synchronization modes
for synchronizing the wagering game session balance and the
wagering player account balance depending on any one or more of
communication network bandwidth, player account preferences, system
configuration settings, wagering game durations, and
synchronization control rules.
16. The system of claim 15, further comprising utilizing more than
one synchronization mode during the wagering game session.
17. The system of claim 12, wherein the wagering game machine
comprises any one or more of meters and controls to control
wagering activity for both the first wagering game and the second
wagering game.
18. An apparatus comprising: an account controller to control
wagering transactions on a wagering game network; an account store
to store financial account information related to a wagering game
player account; and an account processor configured to receive
wagering transaction values for a plurality of wagering games
during a wagering game session, wherein the plurality of wagering
games originate from multiple wagering game providers and are
processed on a single wagering game machine; update a player
account balance using the wagering transaction values for the
plurality of wagering games, and generate a verification message to
send to the wagering game machine to indicate that the player
account balance is updated.
19. The apparatus of claim 18, wherein the account processor is
further configured to determine one or more synchronization modes
for synchronizing the player account balance with a wagering game
session balance on the wagering game machine based on
synchronization control rules, wherein the synchronization control
rules indicate a timing schedule for synchronizing the player
account balance.
20. The apparatus of claim 18, further comprising a a content
controller configured to provide control information for
controlling the presentation of wagering game content for the
plurality of wagering games, wherein the content controller is
configured to generate control information to restrict presentation
of the wagering game content until the account processor generates
the verification message.
21. The apparatus of claim 18, wherein the account processor is
further configured to provide access to a social network account,
and communicate social network account information generated while
processing any one or more of the primary wagering game content and
the secondary wagering game content.
22. An apparatus comprising: means for receiving primary wagering
game content from a first wagering game provider; means for
receiving secondary wagering game content from a second wagering
game provider; means for detecting a wager amount for both the
primary wagering game content and the secondary wagering game
content; means for restricting game play until the wager amount can
be verified with an account server; means for reporting the wager
amount to the account server; means receiving a first verification
message from the account server that a player account has a
sufficient balance to transact the wager amount; means for
subtracting the wager amount from a funds meter on the wagering
game machine that tracks a wagering game session balance; and means
for unrestricting game play.
23. The apparatus of claim 22, further comprising means for
determining wagering game outcomes for both the primary wagering
game content and the secondary wagering game content; means for
adding win amounts to the funds meter on the wagering game machine;
means for reporting the win amounts to the account server; and
means for receiving a second verification message from the account
server that the account balance has been updated on the account
server.
24. The apparatus of claim 22, wherein the means for receiving the
primary wagering game content and the secondary wagering game
content comprises means for transitioning a cash-based funds
tracking mode for the primary wagering game content to an
account-based funds tracking mode; and means for tracking both the
primary wagering game content and the secondary wagering game
content using the account-based funds tracking mode.
25. The apparatus of claim 22, wherein unrestricting game play
comprises: means for activating the primary wagering game content
and secondary wagering game content simultaneously with a single
activation instruction.
Description
RELATED APPLICATIONS
[0001] This application claims the priority benefit of U.S.
Provisional Application Ser. No. 61/033,678 filed Mar. 4, 2008,
U.S. Provisional Application Ser. No. 61/036,671 filed Mar. 14,
2008, U.S. Provisional Application Ser. No. 61/046,912 filed Apr.
22, 2008, and U.S. Provisional Application Ser. No. 61/054,270
filed May 19, 2008.
LIMITED COPYRIGHT WAIVER
[0002] A portion of the disclosure of this patent document contains
material which is subject to copyright protection. The copyright
owner has no objection to the facsimile reproduction by anyone of
the patent disclosure, as it appears in the Patent and Trademark
Office patent files or records, but otherwise reserves all
copyright rights whatsoever. Copyright 2009, WMS Gaming, Inc.
TECHNICAL FIELD
[0003] Embodiments of the inventive subject matter relate generally
to wagering game systems, and more particularly to devices and
processes that control wagering transactions for multi-provider
game content.
BACKGROUND
[0004] Wagering game machines, such as slot machines, video poker
machines and the like, have been a cornerstone of the gaming
industry for several years. Generally, the popularity of such
machines depends on the likelihood (or perceived likelihood) of
winning money at the machine and the intrinsic entertainment value
of the machine relative to other available gaming options. Where
the available gaming options include a number of competing wagering
game machines and the expectation of winning at each machine is
roughly the same (or believed to be the same), players are likely
to be attracted to the most entertaining and exciting machines.
Shrewd operators consequently strive to employ the most
entertaining and exciting machines, features, and enhancements
available because such machines attract frequent play and hence
increase profitability to the operator. Therefore, there is a
continuing need for wagering game machine manufacturers to
continuously develop new games and gaming enhancements that will
attract frequent play.
SUMMARY
[0005] In some embodiments, a method comprises tracking wagering
transactions, for primary wagering game content, using a first
funds tracking mode, wherein the primary wagering game content is
provided to a wagering game machine by a first wagering game
provider; detecting a request to process secondary wagering game
content on the wagering game machine, wherein the secondary
wagering game content is provided by a second wagering game
provider, and wherein the secondary wagering game content uses a
second funds tracking mode different from the first funds tracking
mode; transitioning the tracking of the wagering transactions for
the primary wagering game content from the first funds tracking
mode to the second funds tracking mode; and tracking wagering
transactions for both the primary wagering game content and the
secondary wagering game content using the second funds tracking
mode.
[0006] In some embodiments, the first wagering game provider is a
first wagering game manufacturer store and the secondary wagering
game provider is a second wagering game manufacturer store.
[0007] In some embodiments, the first funds tracking mode is any
one or more of a cash-based funds tracking mode and a ticket-based
funds tracking mode, and the second funds tracking mode is an
account-based funds tracking mode.
[0008] In some embodiments, the transitioning the tracking of the
wagering transactions for the primary wagering game content
comprises performing, before transitioning into an account-based
funds tracking mode, any one or more of transferring funds on the
wagering game machine to an account and cashing out funds on the
wagering game machine for the primary game.
[0009] In some embodiments, the tracking wagering transactions for
both the primary wagering game content and the secondary wagering
game content uses an account-based funds tracking mode, and wherein
the tracking comprises reporting wagers for both the primary
wagering game content and the secondary wagering game content to an
account server; receiving a verification message from the account
server that a player account has sufficient funds to place the
wagers; subtracting the wagers from a funds meter on the wagering
game machine that tracks an account balance; activating the primary
wagering game content and secondary wagering game content;
determining wagering game outcomes for both the primary wagering
game content and the secondary wagering game content; and adding
win amounts from any one or more of the primary wagering game
content and the secondary wagering game content to the funds meter
on the wagering game machine.
[0010] In some embodiments, the tracking wagering transactions for
both the primary wagering game content and the secondary wagering
game content comprises: storing a plurality of wagering
transactions for both the primary wagering game content and the
secondary wagering game content on the wagering game machine for a
plurality of game plays; and reconciling the plurality of wagering
transactions with an account server to update a player account
balance after the plurality of game plays.
[0011] In some embodiments, one or more machine-readable media
having instructions stored thereon, which when executed by a set of
one or more processors causes the set of one or more processors to
perform operations comprises detecting a request to process a
plurality of wagering games from multiple wagering game providers
on a wagering game machine during a single wagering game session;
communicating wagering transactions for the plurality of wagering
games to a wagering game player account stored on an account
server; and synchronizing a session funds balance on the wagering
game machine with an account balance for the wagering game player
account.
[0012] In some embodiments, the communicating and synchronizing
comprises communicating the wagering transactions for the plurality
of wagering games to the account server after every wagering game
outcome during the wagering game session; and restricting wagering
game play on the wagering game machine until the session funds
balance and the account balance are synchronized after every
wagering game outcome.
[0013] In some embodiments, the communicating and coordinating
comprises communicating the wagering transactions for the plurality
of wagering games to the account server after every wager and after
every wagering game outcome during the wagering game session; and
restricting wagering game play on the wagering game machine until
the session funds balance and the account balance are synchronized
after every wager and wagering game outcome.
[0014] In some embodiments, the communicating and coordinating
comprises storing a plurality of wagering transactions on the
wagering game server for a plurality of wagers and wagering game
outcomes; communicating the plurality of wagering transactions as a
single communication to the account server; and restricting
wagering game play until the session funds balance and the account
balance are synchronized.
[0015] In some embodiments, the machine-readable media further
comprises detecting a long running wagering game, initiated during
the wagering game session, that continues to run after the wagering
game session has ended; detecting a wagering game outcome for the
long running game; and updating the account balance with any
winning amounts generated from the wagering game outcome.
[0016] In some embodiments, a system comprises a primary wagering
game server configured to provide primary wagering game content; a
secondary wagering game server configured to provide secondary
wagering game content; a wagering game machine configured to
simultaneously process a first wagering game using the primary
wagering game content and a second wagering game using the
secondary wagering game content; and an account server configured
to track wagering account information related to both the first
wagering game and the second wagering game.
[0017] In some embodiments, the primary wagering game server is
configured to serve wagering games created by a first wagering game
manufacturer and the second wagering game server is configured to
serve wagering games created by a second wagering game
manufacturer.
[0018] In some embodiments, the system further comprises a
coordination unit configured to synchronize a wagering game session
balance on the wagering game machine with a wagering player account
balance on the account server during a wagering game session for
both the first wagering game and the second wagering game.
[0019] In some embodiments, the coordination unit is further
configured to determine one or more synchronization modes for
synchronizing the wagering game session balance and the wagering
player account balance depending on any one or more of
communication network bandwidth, player account preferences, system
configuration settings, wagering game durations, and
synchronization control rules.
[0020] In some embodiments, the system further comprises utilizing
more than one synchronization mode during the wagering game
session.
[0021] In some embodiments, the wagering game machine comprises any
one or more of meters and controls to control wagering activity for
both the first wagering game and the second wagering game.
[0022] In some embodiments, an apparatus comprises an account
controller to control wagering transactions on a wagering game
network; an account store to store financial account information
related to a wagering game player account; and an account processor
configured to receive wagering transaction values for a plurality
of wagering games during a wagering game session, wherein the
plurality of wagering games originate from multiple wagering game
providers and are processed on a single wagering game machine;
update a player account balance using the wagering transaction
values for the plurality of wagering games, and generate a
verification message to send to the wagering game machine to
indicate that the player account balance is updated.
[0023] In some embodiments, the account processor is further
configured to determine one or more synchronization modes for
synchronizing the player account balance with a wagering game
session balance on the wagering game machine based on
synchronization control rules, wherein the synchronization control
rules indicate a timing schedule for synchronizing the player
account balance.
[0024] In some embodiments, the apparatus further comprises a
content controller configured to provide control information for
controlling the presentation of wagering game content for the
plurality of wagering games, wherein the content controller is
configured to generate control information to restrict presentation
of the wagering game content until the account processor generates
the verification message.
[0025] In some embodiments, the account processor is further
configured to provide access to a social network account, and
communicate social network account information generated while
processing any one or more of the primary wagering game content and
the secondary wagering game content.
[0026] In some embodiments, an apparatus comprises means for
receiving primary wagering game content from a first wagering game
provider; means for receiving secondary wagering game content from
a second wagering game provider; means for detecting a wager amount
for both the primary wagering game content and the secondary
wagering game content; means for restricting game play until the
wager amount can be verified with an account server; means for
reporting the wager amount to the account server; means receiving a
first verification message from the account server that a player
account has a sufficient balance to transact the wager amount;
means for subtracting the wager amount from a funds meter on the
wagering game machine that tracks a wagering game session balance;
and means for unrestricting game play.
[0027] In some embodiments, the apparatus further comprises means
for determining wagering game outcomes for both the primary
wagering game content and the secondary wagering game content;
means for adding win amounts to the funds meter on the wagering
game machine; means for reporting the win amounts to the account
server; and means for receiving a second verification message from
the account server that the account balance has been updated on the
account server.
[0028] In some embodiments, the means for receiving the primary
wagering game content and the secondary wagering game content
comprises means for transitioning a cash-based funds tracking mode
for the primary wagering game content to an account-based funds
tracking mode; and means for tracking both the primary wagering
game content and the secondary wagering game content using the
account-based funds tracking mode.
[0029] In some embodiments, unrestricting game play comprises:
means for activating the primary wagering game content and
secondary wagering game content simultaneously with a single
activation instruction.
BRIEF DESCRIPTION OF THE DRAWING(S)
[0030] Embodiments are illustrated in the Figures of the
accompanying drawings in which:
[0031] FIG. 1 is an illustration of presenting wagering game
content in multiple windows on a wagering game machine, according
to some embodiments;
[0032] FIG. 2 is an illustration of a wagering game system
architecture 200, according to some embodiments;
[0033] FIG. 3 is a flow diagram 300 illustrating presenting
wagering game content from multiple wagering game content sources,
according to some embodiments;
[0034] FIG. 4 is a flow diagram 400 illustrating coordinating the
presentation of windows on a wagering game machine, according to
some embodiments;
[0035] FIG. 5 is an illustration of coordinating account
information between multiple content sources, according to some
embodiments;
[0036] FIG. 6 is a flow diagram 600 illustrating coordinating
account-based information for primary and secondary wagering games,
according to some embodiments;
[0037] FIG. 7 is an illustration of a wagering game machine
architecture 600, according to some embodiments; and
[0038] FIG. 8 is an illustration of a mobile wagering game machine
700, according to some embodiments.
DESCRIPTION OF ILLUSTRATIVE EMBODIMENTS
[0039] This description of the embodiments is divided into five
sections. The first section provides an introduction to
embodiments. The second section describes example operating
environments while the third section describes example operations
performed by some embodiments. The fourth section describes
additional example operating environments, while the fifth section
presents some general comments.
Introduction
[0040] This section provides an introduction to some
embodiments.
[0041] Casinos, and other similar wagering game networks, provide a
multitude of wagering games. These wagering games are created by
different wagering game content providers and manufacturers, and
are stored on separate gaming machines configured to process and
present games from only that provider. When a player wants to play
one of the games, the player has to find a specific machine within
the casino that contains that wagering game. Some content
providers, however, have recognized that a player may want to play
more than one specific wagering game, and have thus created
wagering game machines that can process and display multiple
different wagering games themes and types from a single provider.
Sometimes, however, a player may want to play a wagering game from
more than one wagering game content provider or manufacturer. To do
so, however, the player has to log in to, and out of, separate
wagering game machines on a casino floor which are controlled by
the different content providers. FIG. 1 shows a wagering game
system 100 that can process multiple wagering games, from multiple
content providers, on a single wagering game machine 160.
[0042] FIG. 1 is a conceptual diagram that illustrates an example
of presenting wagering game content in multiple windows on a
wagering game machine, according to some embodiments. In FIG. 1, a
wagering game system ("system") 100 obtains wagering game content
and control information, via a communications network 122, from
multiple content sources (e.g., different servers 150 and 180,
different content providers, different manufacturers, etc.). The
system 100 can present the content from the multiple content
sources in single display 101 on a wagering game machine 160. The
system 100 can utilize multiple windows to display the content,
such as a main window 102 to display content (e.g., slot reels 104)
from a first content source as well as controls and meters 109 that
relate to the content provided in the main window 102. The system
100 can utilize one or more "auxiliary windows", or "side-windows"
105, 106, 110, to present content from a second content source,
along with some controls (e.g., button 115) and/or meters that may
relate to the content in the side-bar windows 105, 106, 110.
Further, the system can present some meters (e.g., the credit meter
108 and the point meter 113) and/or controls (e.g., the spin button
119), that may relate to activities that occur in all of the
windows. Because the content in the main window 102 can come from a
first content source, the content in the main window 102 may be
referred to herein as "first-source" or "primary", content. The
first content source may be referred to herein as a "primary"
content source, or "primary" provider. Further, because the content
in the side-windows 105, 106, 110 can come from a second content
source, the content in the side-windows 105, 105, 110, may be
referred to herein as "second-source" or "secondary", content. The
second content source may be referred to as a "secondary" content
source or a "secondary" provider. The terms "primary" and
"secondary" distinguish the differences in the origin of the
content, but not necessarily the importance or priority of the
content.
[0043] The system 100 can determine how windows appear, expand,
collapse, react to input, etc. The system 100 can intelligently
determine an amount of available content to be displayed in a
window, then automatically size, or resize, that window to present
the amount of content. The system 100 determines the priority of
primary content and secondary content in relation to each other.
For example, the content of most importance, (e.g., a win
notification) can get the highest priority and can be displayed
first-in-time, or with greater significance (e.g., the system 100
may determine that a high priority window resizes and covers other
lower priority windows, partially or fully, etc.). The side-windows
105, 106, 110 can have controls (e.g., collapse/minimize buttons,
expand/maximize buttons, close/exit buttons, handles, scroll bars,
resize-able frames, zoom, etc.) that a user can use to resize,
move, or otherwise react with a window. For example, the
side-windows 105, 106, 110 can have handles 118 to move the windows
around. The frames of the side-windows 105, 106, 110 can be
sizable. Further, the side-windows 105, 106, 110 can have control
buttons 103, 107, 112 that collapse and expand the side-windows
105, 106, 110, respectively. The system 100 can prioritize a user's
request to manipulate windows and respond to the request according
to the importance and priority of the request. The system 100 can
also deactivate certain functions based on priority and timing. For
instance, the system 100 can prevent a window from being collapsed
while a high priority activity occurs. For example, side-window 105
is displaying a celebratory animation of a jackpot win. As a
result, the control button 103 is deactivated for the duration of
the celebratory display so that a user cannot collapse the screen
while the celebratory animation plays.
[0044] In some embodiments, the main window 102 and the
side-windows 105, 106, 110, can present information using different
technologies, file formats, etc. For instance, the wagering game
machine 160 can present the primary content in the main window 102
using various complex game assets and configuration files stored
on, or delivered to, the wagering game machine 160 when the
wagering game machine 160 was configured by a first content
provider (e.g. a manufacturer for the wagering game machine 160).
The wagering game machine 160 can store and utilize the data,
logic, game assets, etc., to present the primary content in a
complex way (e.g., high-resolution, textured graphics,
three-dimensional objects, etc.) and/or that may provide complex
functionality that heavily utilizes the resources on the wagering
game machine 160. Thus, the wagering game machine 160 can provide
greater functionality in conjunction with the main window 102 and
the primary content. However, the secondary content may come from a
second content provider (e.g. a second manufacturer) that may not
have access to all of the resources on the wagering game machine
160, or the wagering game network, that the primary content has
access to. Consequently, the second manufacturer may create and/or
provide (e.g., push the content from the wagering game server 180)
the secondary content using technologies that can optimizes less
complex data and programming, that can generate easily
transportable files, that can quickly and efficiently push and pull
data over a network, and that can unitize the secondary content
into one, or very few, files. Examples of such technologies
include, but are not limited to, Adobe.TM. Flash.TM. applications,
Java Applets, streaming video and audio, Asynchronous Flash
Applications, dynamic web technologies (e.g., XML, AJAX), etc. By
utilizing these types of technologies, the second content provider
can also better protect the secondary content by allowing the
second content provider to store the secondary content on its own
servers and push the secondary content to the side-windows. Thus,
the secondary content provider may avoid having to store game
assets on the wagering game machine 160, or other network servers,
which may belong to, or be accessed by, competitors. Thus, in some
embodiments, the side-windows 110 are configured to process
different types of game content, in different files formats or
using different technologies, than the main window 102.
[0045] Side-window 110 is an example of a side-window with tabbed
sub-windows ("tabs") 111. Tabs 111 help to break up different types
of content. The tabs 111 can show different game types, themes,
denominations, etc. The tabs 111 can show content from one
secondary content provider, or from multiple secondary content
providers. In some embodiments, the side-window 110, and/or tabs
111, can display an "attract" (e.g., advertisement or other
attractive animations). The system 100 can cycle through the
windows and/or tabs to display the attracts. The wagering game
machine 160 can have touch sensitive capabilities so that a user
can select the different tabs 111, manipulate the control buttons,
etc.
[0046] According to some embodiments, the wagering game system 100
can include numerous capabilities and configurations. The following
non-exhaustive list enumerates some example capabilities and
configurations: [0047] The system 100 can make the side-windows
105, 106, 110 viewable, and display secondary game animations in
the side-windows 105, 106, 110, while the primary game is being
played. [0048] The system 100 can make only one window "active" at
a time. Audio and video content of the active window can take
precedence over other window's content. The system 100 can also
present a single "active" tab at a time. Other tabs and windows may
process data in the background, however, even when they aren't
active. [0049] The system 100 can utilize the tabs 111 to present
different types of content, such as control content, game content,
game information, etc., related to a single game, or to different
games. For example, two tabs could show content for two different
games, whereas a third tab could provide audio controls to
determine which audio is played for which game, how loud, etc.
[0050] The system 100 can prioritize the display of the game
content within windows. For example, if two games are won at the
same time, then the system 100 can first present a celebratory
display of the game with the higher win value, and then present the
other celebratory display. [0051] The system 100 can support patron
input through a touch screen, a mouse-pointer, a text-box, a
dynamic image and/or buttons, etc. The type of patron interaction
can be determined by the content being displayed. [0052] The system
100 can automatically deactivate (e.g., resize, close, collapse,
etc.) a window after a specified period of time. For example, if
the window does not receive a user response within the specified
period of time, the window can time out, and deactivate. In some
examples, the system 100 can detect a set duration for content to
display and then deactivate the window after the set duration. For
instance, the system 100 can time the duration of a celebratory
display and automatically close, or collapse, a window after a set
amount of time. [0053] The system 100 can display windows from
different locations on the display (e.g., top, sides, and bottom).
The system 100 can cause a window to open, close, resize, etc. in
different directions (e.g., up, down, left, right, diagonal).
[0054] The system 100 can present side-windows on a top-box device,
on a peripheral device, etc. [0055] The side-windows 105, 106, 110
can have the same functionality as each other, with controls, tabs,
etc. In other embodiments, however, some windows may be different
than others. [0056] The system 100 can create content that is
displayed in a window and can control how that content operates.
For instance, the system 100 can create custom jackpot celebrations
and other custom animations for a specific window, based on a
specific game theme, player, etc. [0057] The system 100 can
determine any windows that are showing information that should
remain in view and adjust the windows position, size, or the
content within the windows, if necessary, so that the important
content remains constantly viewable. For example, if a user presses
a "help" button inside of a side-window, the system 100 can resize
the side-window to display help text and graphics. The system 100
can scale the frame size of a window, to show more or less content.
In other words, when a window is made smaller, fewer words, images,
etc. might be shown. On the other hand, system 100 can scale the
content in the window to grow, or shrink, as the window frame is
resized. [0058] The system 100 can change the frame, borders,
background, etc., of a window with different themes. The themes can
be set by, and indicate, a content provider. [0059] The system 100
can respond to complex finger movements (e.g., finger strokes,
pinches, reverse pinches, etc.) to emulate the same actions that
the control elements perform. For example, the hand 146 illustrates
a pinching movement that could zoom in and out of the side-window
110. [0060] The system 100 can manipulate (e.g., close, open, move,
etc.) multiple windows at once, and also provide control elements
that permit a user to do the same. [0061] The system 100 can
summarize any critical information from multiple windows and/or
tabs into a small portion of an active window. Thus, the system 100
can present mandatory information, as determined by a content
provider, within a minimally intrusive, but continuously viewable
window. [0062] The system 100 can minimize a side-window during a
spin. The system 100, still present critical data on the minimized
display of the side-window, for example, to report the results of
the spin. [0063] The system 100 can detect when specific modes
occur in different windows and accordingly control the content of
other windows. For example, the system 100 can detect when a window
activates an attract mode. The system 100 can cycle the attract
sequence through some, or all, windows and/or tabs. For example,
the system 100 can activate an attract mode on the main window 102,
then activate an attract mode in the side-window 105, and so on
through side-windows 106, 110, until returning back to the main
window 102. This also works with the tabs 111. The system 100 can
show attract animations as well as other casino controlled content
while in attract mode. The system 100 can have a configuration
controller that can be used to set the times to show the attract
modes. [0064] The system 100 can also cause attract modes, and
other modes (e.g., game modes, help modes, casino-service modes,
etc.) to operate at the same time. For example, the main window 102
can operate in a game mode under, or behind, the side-window 105,
while the side-window 105 operates in a celebratory mode. [0065]
The system 100 can support user input, if appropriate, for the
content being displayed. For examples, the system 100 can detect
when a patron interacts with casino services or account entry
information. [0066] The system 100 can control whether a secondary
content window overlays or scales a main content window. [0067] The
system 100 can elevate a priority, or importance, of content being
displayed within any of the windows. For example, the system 100
can force a window above other windows, present a message or
warning in the window, cause enhanced window activity, etc., to
bring the window to a patron's attention if there is information in
the window that the user needs to be aware of. [0068] The system
100 can intercommunicate between windows to communicate game and
account information (e.g., wagers, spins, game outcomes, credits,
etc.) [0069] The system 100 can determine restrictions on a window,
such as when a window can be selected, when a window should be
grayed out, when a window should be replaced with a non-selectable
animation, etc. [0070] The system 100 can determine denominations,
user languages, etc. of game content from other providers,
manufacturers, etc. [0071] The system 100 can interact with servers
from different providers to obtain control logic and content. The
system 100 can include content on the same servers and treat the
content differently according to different rules. [0072] The system
100 can control game activity in all windows, interact with all
games, etc. [0073] The system 100 can run on a wagering game
machine, on a server, or any combination. [0074] The system 100 can
delegate control capabilities to primary game content so that the
primary game content can control one or more secondary content
games.
[0075] Although FIG. 1 describes some embodiments, the following
sections describe many other features and embodiments.
Example Operating Environments
[0076] This section describes example operating environments and
networks and presents structural aspects of some embodiments. More
specifically, this section includes discussion about wagering game
system architectures.
Example Wagering Game System Architecture
[0077] FIG. 2 is a conceptual diagram that illustrates an example
of a wagering game system architecture 200, according to some
embodiments. The wagering game system architecture 200 can include
a primary wagering game server 250 configured to control primary
wagering game content and communicate wagering game information,
account information, and/or content coordination information to and
from a wagering game machine 260. The primary wagering game server
250 can include a primary content controller 252 configured to
manage and control primary content and presentation of primary
content on the wagering game machine 260. The primary wagering game
server 250 also can include a primary content store 254 configured
to contain primary content to present on the wagering game machine
260. The primary wagering game server 250 also can include a
coordination unit 256 configured to coordinate communications and
control information between multiple content sources and account
servers.
[0078] The wagering game system architecture 200 also can include a
secondary wagering game server 280 configured to control secondary
wagering game content and communicate wagering game information
and/or account information to and from the wagering game machine
260. The secondary wagering game server 280 can include a secondary
content controller 282 configured to manage and control secondary
content and presentation of secondary content on the wagering game
machine 260. The secondary wagering game server 280 also can
include a secondary content store 284 configured to contain
secondary content to present on the wagering game machine 260.
[0079] The wagering game system architecture 200 also can include
an account server 270 configured to process financial transactions
and control user related accounts accessible via wagering game
networks and social networks. The account server 270 can store and
track player information, such as identifying information (e.g.,
avatars, screen name, account identification numbers, etc.) or
other information like financial account information, social
contact information, etc. The account server 270 can contain
accounts for social contacts referenced by the player account. The
account server 270 can also provide auditing capabilities,
according to regulatory rules, and track the performance of
player's, machines, and servers. The account server 270 can include
an account controller 272 configured to control information for a
player's account. The account server 270 also can include an
account store 274 configured to store information for a player's
account.
[0080] The wagering game system architecture 200 also can include a
wagering game machine 260 configured to present wagering game
content, to receive and transmit information between various
content sources and account servers, and to coordinate the
presentation of the wagering game content in multiple windows
within a graphical user interface on the wagering game machine 260.
The wagering game machine 260 can include a windows controller 262
configured to coordinate the positioning, controls, actions, and
timing of windows. The windows controller 262 can determine the
priority of content and generate instructions that will control
windows according to the priority of the content. The windows
controller 262 also can communicate between windows, such as to
determine wager amounts, account credit amounts, point amounts,
etc. The windows controller 262 can also detect, and coordinate,
the presentation of attract mode content. The wagering game machine
260 also can include a primary content controller 263 configured to
manage and control primary content and presentation of primary
content on the wagering game machine 260. For example, the primary
content controller 263 controls how the primary content appears and
acts within a main window. The wagering game machine 260 also can
include a primary content store 266 configured to store primary
content. The wagering game machine 260 also can include a secondary
content controller 264 configured to manage and control secondary
content and presentation of secondary content on the wagering game
machine 260. For example, the secondary content controller 264
controls how the secondary content appears and acts within a
side-window. The wagering game machine 260 also can include a
secondary content store 267 configured to store secondary content.
The wagering game machine 260 also can include an account processor
265 configured to control and communicate account information
(e.g., financial transactions, player tracking information,
etc.).
[0081] Each component shown in the wagering game system
architecture 200 is shown as a separate and distinct element.
However, some functions performed by one component could be
performed by other components. For example, the coordination unit
256 can control windows and/or presentation of content, as
necessary, to ensure a proper coordination of data. The
coordination unit 256 may be in a separate device, or in one of the
other devices shown. Furthermore, the components shown may all be
contained in one device, but some, or all, may be included in, or
performed by multiple devices on the systems and networks 222, as
in the configurations shown in FIG. 2 or other configurations not
shown. For example, in some embodiments, all content may be served
from one machine or device, within a casino network, and/or be
stored on the same storage device. The content can be stored on the
one device with metadata that describes the provider for the
content. The one device can have separate content controllers to
exclusively control content from a single provider. The system can
access the content, read the metadata, and determine from which
provider the content originates so that it knows how to create
control data (e.g., information/instructions that control the
movement and action of a window, on the wagering game machine, in
relation to the window's content.)
[0082] Furthermore, the wagering game system architecture 200 can
be implemented as software, hardware, any combination thereof, or
other forms of embodiments not listed. For example, any of the
network components (e.g., the wagering game machines, servers,
etc.) can include hardware and machine-readable media including
instructions for performing the operations described herein.
Machine-readable media includes any mechanism that provides (i.e.,
stores and/or transmits) information in a form readable by a
machine (e.g., a wagering game machine, computer, etc.). For
example, tangible machine-readable media includes read only memory
(ROM), random access memory (RAM), magnetic disk storage media,
optical storage media, flash memory machines, etc. Machine-readable
media also includes any media suitable for transmitting software
over a network. Furthermore, any of the components can be
integrated or divided.
Example Operations
[0083] This section describes operations associated with some
embodiments. In the discussion below, some flow diagrams are
described with reference to block diagrams presented herein.
However, in some embodiments, the operations can be performed by
logic not described in the block diagrams.
[0084] In certain embodiments, the operations can be performed by
executing instructions residing on machine-readable media (e.g.,
software), while in other embodiments, the operations can be
performed by hardware and/or other logic (e.g., firmware). In some
embodiments, the operations can be performed in series, while in
other embodiments, one or more of the operations can be performed
in parallel. Moreover, some embodiments can perform more or less
than all the operations shown in any flow diagram.
[0085] FIG. 3 is a flow diagram illustrating operations for
presenting wagering game content from multiple wagering game
content sources, according to some embodiments. In FIG. 3, the flow
300 begins at processing block 302, where a wagering game system
("system") receives primary wagering game content and control
information from a primary content source.
[0086] The flow 300 continues at processing block 304, where the
system receives secondary wagering game content and control
information from a secondary content source. The secondary content
source can push the secondary content, such as an Adobe Flash
application, to a wagering game machine.
[0087] The flow 300 continues at processing block 306, where the
system presents primary wagering game content in a main window and
secondary wagering game content in one or more side-windows. The
system can present the primary content and the secondary content
simultaneously in their respective windows. The system can also
control and present the primary and secondary content within their
respective windows so that the content is mutually exclusive of
each-other, or in other words, so that the content in each window
does not have to affect the content in any other window.
[0088] The flow 300 continues at processing block 308, where the
system determines content priority information and controls the
appearance and actions of windows based on the content priority
information. The system can detect activity occurring in each
window, and can determine the importance of that activity. Based on
the importance of that activity, the system can determine which
activity has the highest priority, and generate one or more
priority commands to control how the window reacts to other windows
or user requests. Based on the priority commands, the system can
control the appearance and actions of the windows.
[0089] FIG. 4 is a flow diagram illustrating operations for
coordinating the presentation of windows on a wagering game
machine, according to some embodiments. In FIG. 4, the flow 400
begins at processing block 402, where a wagering game system
("system") receives a first control statement to display primary
content in a first content window.
[0090] The flow 400 continues at processing block 404, where the
system receives a second control statement to display secondary
content in a second window. The first and second control statements
can be generated by two different servers from two different
content providers.
[0091] The flow 400 continues at processing block 406, where the
system determines a content display priority for both the primary
and secondary content based on a set of display rules. For
instance, the system can store a set of rules based on the system's
configuration settings, which control how content is displayed.
[0092] The flow 400 continues at processing block 408, where the
system presents the highest priority content first in time or with
greater prominence. For example, the system may detect a slot reel
spin from a first game in a first window and a slot reel spin from
a second game in a second window. The first game may complete its
spin before the spin in the second window. If the first game in the
first window results in a win, and the second game in the second
screen does not, the system may determine, according to a hierarchy
of rules, that a celebratory screen of a win is a high priority
event, and must be displayed immediately, and with greater
prominence, than a non-win presentation. As a result, the system
may raise the first window above any other windows, run celebratory
animations in the first window, increase lighting and/or contrast
in the first window, etc. On the other hand, if the second game in
the second window also wins at the same time that the first game in
the first window wins, the system may determine which win resulted
in a greater amount. The system can determine that the win with the
greater amount is more important and, consequently, has a higher
priority. As a result, the system can display a celebratory screen
for the game with the highest win amount and hold in stasis the
second celebratory screen until the first one is complete. Priority
rules can take into consideration multiple factors, including, but
not limited to, wins/loss information, credit information, meter
information, user account information, hardware resources,
advertising schedules, environmental variables, etc. Different
content providers can determine their own set of rules. A
coordination unit, in a central server, however, may reconcile the
rules between various providers, and provide control information to
the wagering game machine to prevent conflicts. Further, the system
can provide a consistent set of rules, or protocol, to which all
content providers can adhere.
[0093] The flow 400 continues at processing block 410, where the
system receives a user request to manipulate a window or to
interact with content displayed within a window. If the system
receives a user request, then the flow continues at block 412.
[0094] The flow 400 continues at processing block 412, where the
system determines a priority for the user request and responds to
the user request according its priority. For example, a user may
request to close a window. The system, however, has to determine
whether the activity that is occurring within the window is more
important that the user's request. For instance, the window may be
presenting a reel spin, or another similar type of active game
activity. As a result the system may determine that the reel spin
must occur, and be presented, before the window can be closed.
Alternatively, the system can plan for priority activities, such as
by deactivating certain control options before processing a high
priority command. For example, before conducting a wheel spin, the
system can deactivate the control button that closes a window.
Additional Example Operating Environments
[0095] This section describes example operating environments,
systems and networks, and presents structural aspects of some
embodiments.
Coordinating Account Information in a Multiple-Content-Source
Wagering Game Session
[0096] FIG. 5 is a conceptual diagram that illustrates an example
of coordinating account information between multiple content
sources, according to some embodiments. In FIG. 5, an account-based
wagering system ("system") 500 maintains a player wagering account
on at least one account server 570. In some embodiments, more than
one account server (e.g., a primary account server and secondary
account server) can track more than one account, or more than one
account can be tracked on a single account server 570. However, the
account server 570, the wagering game machine 560, or some other
device(s), can reconcile any transactions and balances for the
multiple accounts so that the wagering game machine 560 can present
a single credit meter 508 showing a combined total for all
accounts.
[0097] The account server 570 can contain account information, and
can communicate the account information via the communication
network 522. The account server 570 can communicate with the
wagering game machine 560 when the wagering game machine 560 is
within range of the casino network. The account server 570 can
manage a player's funds; provide auditing capabilities meeting
exiting regulations; track player, machine, or portal performance
in real time; and perform other operations related to tracking
wagering game and player information. A player can add funds to the
account at a cage, a kiosk, a computer, or at the wagering game
machine 560, using a variety of funding methods (e.g., deposited
cash, redeemed tickets, electronic funds transfers, bonus awards,
funds awarded from third-party servers, etc.) The player can
allocate some or all of their funds in an account to a game play
session. A game play session can be started when a player inserts a
player card into the wagering game machine 560 and can end when the
player cashes out and removes the player card from the wagering
game machine 560. The tracking of wagering game funds using an
account may be referred to herein as an "account-based"
funds-tracking mode, or more succinctly, as an "account-based
mode".
[0098] The system 500 can obtain content from multiple content
sources, such as a primary wagering game server ("primary server")
550 and a secondary wagering game server ("secondary server") 580.
In some embodiments, the wagering game machine 560 may track funds
in a first funds-tracking mode (e.g., a cash-based mode or
ticket-based mode) for a primary game, but receive a request to
play a secondary game that utilizes a different funds-tracking mode
(e.g., an account-based mode). For instance, a player may be
playing a primary wagering game hosted by the primary server 550.
The primary game may be tracking game credits using a cash-based
mode, such as a ticket-in-ticket-out (TITO) mode. But, the player
may wish to play a secondary game that utilizes an account-based
mode to track funds. As a result, the system 500 may prefer to
utilize a single funds-tracking mode for both primary and secondary
games (e.g., a single account-based mode.) A single funds-tracking
mode, such as an account-based mode, can make credit tracking
easier, especially when both games share the same credit meter 508.
Therefore, the system 500 can transition the game session from
playing in the first funds-tracking mode (e.g., the cash-based
mode), for the primary game, to the second funds-tracking mode
(e.g., the account based mode), for both the primary and secondary
games. Specifically, when the system detects a request for an
account-based secondary game, the system 500 can transfer the funds
on the wagering game machine 560 to an account on the account
server 570 (although in some embodiments, system 500 may instead
cash-out the funds on the wagering game machine 560 for the primary
game before transitioning into an account-based mode.) The system
500 can then begin processing the primary and secondary wagering
games in the account-based mode, using the account on the account
server 570 to track game wagers and credits.
[0099] During the game play session, content is displayed in
multiple windows. For example, primary content (for a first, or
"primary" wagering game), can be displayed in the main window 502.
Secondary content (for a second, or "secondary" wagering game), can
be displayed in the side-window 505. Side-window 506 can track
other critical data and meters, like a point meter 513 that tracks
points which can be redeemed for rewards on a social, or community,
network. The system 500 tracks the account balances between the
different games and reconciles the account balance displayed in the
credit meter 508 with the account server 570. The system 500 uses
the credit meter 508 at the wagering game machine 560 to display
the current balance of the funds allocated to the session. The
credit meter 508 at the wagering game machine 560 and the session
balance at the account server 570 are synchronized as game play
proceeds during the session. In some instances, network latency,
end point processing delays, or other factors, may result in
instances of time where the session balance on the wagering game
machine 560 and the account balance on the account server 570 are
not identical. The system 500 can determine the appropriate times
to synchronize the balances. For example, the system 500 can ensure
that the account balance displayed on the credit meter 508 is the
same as the account balance tracked by the account server 570, at
least, at session start and session end. During the game session,
however, the system 500 can determine, according to various modes,
how often to synchronize the session balance at the wagering game
machine 560 and the account server 570. The different modes of
synchronization can offer different advantages. Some modes will now
be described.
[0100] The system 500 can provide various modes for synchronizing
(i.e., reconciling) the credit meter 508 and the account server 570
during the game play session. The following non-exhaustive list
enumerates some possible synchronization modes. [0101] Strict
Synchronization Mode. In this mode, the system 500 can synchronize
the account balance every time the system 500 detects a wager and
after the system 500 generates an outcome for that wager. More
specifically, the wagering game machine 560 can report a wager and
await an acknowledgment message ("acknowledgement") from the system
500 that the wager was received. The acknowledgment includes the
new value to be displayed at the credit meter 508. The system 500
can prevent the game from starting until the system 500 has
validated the amount wagered, deducted the wager from the session
balance, and sent a new balance to be displayed. Upon receipt of
the acknowledgment, the wagering game machine 560 may start the
game. If the system 500 cannot validate the wager, however, then
the wagering game machine 560 may tilt the game. The wagering game
machine 560 bets the wager and determines a game result from that
wager. For example, the wagering game machine 560 communicates with
the primary or secondary servers 550, 580, to obtain a
random-number that indicates a game outcome. If the game result is
a "win", then the primary or secondary servers 550, 580 (or the
wagering game machine 560) can generate a win amount. The wagering
game machine 560 reports the win amount to the account server 570.
The account server 570 adds any winnings to the session balance and
sends an acknowledgment that includes the new balance to be
displayed on the credit meter 508. The wagering game machine 560
can be disabled until the acknowledgment is received. This can keep
a player from making a new wager or starting a new game until the
account balance is synchronized. Strict Synchronization mode can
provide real-time security and synchronization by assuring that the
credit meter 508 and the account balance on the account server 570
are consistently synchronized. [0102] Game Ended Mode. This mode is
a variation of the Strict Synchronization mode that reconciles the
account balances only at the time of the game result, instead of at
both the time of the wager and at the time of the game result. More
specifically, the wagering game machine 560 reports the results of
a wagering game including the total wager and final winnings. The
system 500 subtracts the total wager and adds the winnings to the
session balance thereby creating a new balance. The acknowledgment
provides a new value for the wagering game machine 560 to display
in the credit meter 508. The acknowledgement can also provide
authorization that allows the wagering game machine 560 to activate
a new game, spin a reel, etc. Thus, in Game Ended mode, the system
500 allows the wagering game machine 560 to initiate game play
without needing to explicitly authorize all wagers as they are
placed. However, the wagering game machine 560 is prevented from
initiating any subsequent game play until a current game play's
wagers and winnings are reconciled with the account server 570.
This mode can run more quickly than the Strict Synchronization mode
because it eliminates the need to generate wager authorization
messages and acknowledgements, while still maintaining
synchronization at the per-game level. [0103] Periodic Mode. In
this mode, the wagering game machine 560 and system 500 do not
operate in lock-step as in Strict Synchronization or Game Ended
modes. The system 500 allows the wagering game machine 560 to play
games as quickly as possible. The wagering game machine 560 sends
game results for each game, but due to network transmission latency
and/or host processing delays, a new game may have been started
before the system 500 can update the account balance at the account
server 570. At the discretion of the system 500, the system 500 can
periodically lock the wagering game machine 560 and reconcile the
account balance. For example, the system 500 can lock the wagering
game machine 560 after 10 games have been played, update the
session balance, and then unlock the wagering game machine 560 for
further game play. If the system 500 determines that there is a
discrepancy between the credit meter 508 at the wagering game
machine 560 and the session balance at the account server 570, then
the system 500 can lock the wagering game machine 560 until the
discrepancy is resolved. In some embodiments, the frequency of
reconciling the wagering game machine 560 and account server 570
can be set by an operator or regulator. In addition, the system 500
can provide a manual reconciliation function so that the operator
can request that the session account balance be synchronized on
demand. Periodic mode allows a wagering game machine to
continuously play games without wager authorization and without
reconciling the account balance on a per-game basis. The system 500
may lags a little in updating the wagering account server 570 with
wagering information, but the system 500 can be configured to
communicate with the account server 570 periodically enough that
the account server 570 is not out-of-date for more than a few
seconds. This mode represents a reasonable approach when game play
is fast or when the casino is particularly busy.
[0104] The system 500 can be configured so that a casino operator
and/or regulator can choose a mode that balances real-time player
performance with operational or regulatory requirements. The system
500 can have a configuration setting that the operator or regulator
can set to operate in a desired mode. Depending on the
configuration setting, the wagering game machine 560 can operate
differently, according to a different set of control rules. For
example, one configuration setting may require the wagering game
machine 560 to authorizes each wager, another configuration setting
may require the wagering game machine 560 to start at most one spin
without authorization, while yet another configuration setting may
require the wagering game machine to continue to play games until
the account server 570 requests reconciliation. For instance, one
spin button (e.g., button 512) on the wagering game machine 560 may
trigger a number of spins on primary and secondary games. Hence,
the system 500 can be configured, according to one configuration
setting (e.g., for Game Ended or Periodic modes), with control
rules that can allow the wagering game machine 560 to authorize
more than one game wager simultaneously. The system 500 can run all
wagering game machines on a network in one mode or it can support
wagering game machines running in different modes. For example,
some wagering game machines might be configured to run in Strict
Synchronization mode while others run in Game Ended or Periodic
modes. This allows an operator to tailor the system 500. The system
500 can also be configured to change modes during a player game
session. The system 500 can be configured to switch modes in a way
that is transparent to the player.
[0105] The system 500 synchronizes account balances for all games
played in a single wagering session, even when the content for the
games is served by different content sources. The system 500 tracks
wagers and balances from primary and secondary games. The system
500 can calculate combined credit totals between primary and
secondary games and report the credit totals to the account server
570 as a single atomic transaction. As long as the player is still
logged on to the system 500, the system 500 can add any win amounts
to the current session balance and display those amounts in the
credit meter 508. It is also possible, however, for some games to
be long-running, which may end after the player has logged off the
system 500 before that game's outcome is known. In those cases, the
system can still apply any winnings directly to the player's
account on the account server 570. The system 500 can notify the
player, in some manner, about the win from the long-running game,
such as via text message or email.
[0106] Some embodiments for tracking and synchronizing account
balances for primary and secondary games include configuring the
wagering game machine 560 to control the priority, appearance, and
functionality of the game content in all windows. The wagering game
machine 560 can hold games in stasis and prevent certain
activities, when necessary, to reconcile wager and account balances
and to update the credit meter 508.
[0107] The following non-exhaustive list enumerates some possible
embodiments for synchronizing account balances for games provided
by a plurality of content sources, using variations of the Strict
Synchronization mode described further above: [0108] Strict Mode
for Combined Primary and Secondary Game Totals. The wagering game
machine 560 determines wagers being placed in the main window 502
and the side-window 505. For example, a primary game and a
secondary game may be played at the same time. The example in FIG.
5 illustrates two games being played on the same wagering game
machine 560. A primary game is played in the main window 508 with
reels 504 that spin when the spin button 512 is activated. A wager,
or bet, is either entered manually or displayed automatically in
the bet meter 510. In the side-window 505, a secondary game is
played, with a reel 511 that also spins when the spin button 512 is
activated. The bet meter 515 tracks the wagers for the secondary
game. Alternatively, there may be separate spin buttons for both
the primary game and the secondary games. The wagering game machine
560 combines all wagers from both games into a single amount and
communicates the wager amount to the account server 570. The
wagering game machine 560 can hold the games in stasis until the
account server 570 records the wagers amounts, deducts the wager
amounts from the account balance, and sends an acknowledgement back
to the wagering game machine 560 that the player's funds are
sufficient to cover the wager, as well as an updated account
balance. The wagering game machine updates the credit meter 508
with the updated account balance. The wagering game machine 560
then permits the primary and secondary games to execute after the
wagers have been recorded. Once the spin button 512 has been
activated, the wagering game machine 560 can communicate with any
one of the primary server 550 and secondary server 580 to obtain
game results. The primary and secondary servers 550, 580 can
calculate random numbers, generate game results (e.g., win/loss
results), and communicate the game results to the wagering game
machine 560 for the primary and secondary games. When game play
completes for both the primary and secondary games, or in other
words, when a primary game and a secondary game have completed the
spins and received game results from their respective servers, the
wagering game machine 560 can halt play on the wagering game
machine 560 and transmit the total win amount to the account server
570. The account server 570 updates the account balance and then
communicates a credit balance to be displayed on the credit meter
508. The wagering game machine 560 updates the credit meter 508 to
show the credit balance, and then permits game play to continue.
[0109] Strict Mode for Combined Primary and Secondary Game Totals
for a Secondary Game that Extends Beyond the Game Play Session.
This embodiment is similar to the one previously described.
However, in this scenario, the secondary game is an extended game
that doesn't produce an immediate game result. In other words, the
secondary game server purposefully takes a long time to provide a
game result because of the nature of the secondary game. An example
of such a secondary game is a "Fish Tank" type of game where a
player places a wager on an animated fish lasting the longest time
in a tank while not being eaten or caught. Such a game does not
provide a result in an acceptable amount of time that warrants
suspending game play on the main window 502, or any other
side-window, until the secondary server 580 provides a game result.
As a result, the wagering game machine 560 detects that the
secondary game is an extended game, and consequently permits the
primary game to play while the secondary game waits for a result.
Further, the secondary game result may last so long that the player
may end his or her game play session (e.g., cash out of the
wagering game machine). As a result, when the player is ending his
or her game play session, the wagering game machine 560 can
communicate the final account balance to the account server 570.
While the player is logged out of the system, the secondary server
580 may calculate a game result. If the game result is a "win", the
secondary server 580 can communicate the win amount to the account
server 570. The account server 570 can then update the account
balance with the win amount. The system 500 can provide a
notification, such as via a cell-phone text message, an email, or
some other form of electronic message, which can notify the player
of the win amount. The system 500 can also update a player account
balance shown on a social network account, or other type of account
available to view when the player is not inside the casino network.
The social network account can display the account balance when the
player logs on. [0110] Strict Mode for Exclusive Primary and
Secondary Game Totals. In this embodiment, the wagering game
machine 560 does not combine the totals of wagers for primary and
secondary games. Instead, the secondary content (e.g., a Flash
Application), in combination with the secondary server 580,
determines its wager amounts and game result amounts, then
calculates the final game result amount to the wagering game
machine 560 to communicate to the account server 570 and/or to
update the credit meter 508 displayed on the main window 502. The
secondary content can also intermittently provide information to a
primary game if the primary game needs to make a wager, but doesn't
know whether the account balance is sufficient to place the wager.
The secondary content, for example, can communicate with the
account server 570 and determine if, based on the wager amount for
the secondary game, the account balance can support a wager being
placed by the primary game. If so, then the secondary content can
either authorize the primary game to place the wager or hold the
primary game in stasis until the secondary game completes its game
activity and reports the results to the wagering game machine
560.
[0111] FIG. 6 is a flow diagram 600 illustrating coordinating
account-based information for primary and secondary wagering games,
according to some embodiments. In FIG. 6, the flow 600 begins at
processing block 602, where a wagering game system ("system")
detects a request for wagering game content from more than one
wagering game provider. For example, a wagering game machine may be
receiving primary wagering game content from one wagering game
provider and presenting the primary wagering game content in a main
display, or main window, of the wagering game machine. The wagering
game machine can be functioning in a first operating mode for
tracking account information. The first operating mode may utilize
a first process (e.g., method, procedure, etc.) for tracking
financial information on the wagering game machine, such as a
cash-based funds tracking process. The wagering game machine can
then detect a request to utilize secondary wagering game content
from a second provider. The secondary wagering game content,
however, may require a second process for tracking financial
information, different from the first process, such as an
account-based funds-tracking process. Thus, the system can cause
the wagering game machine to begin tracking financial information
for both the primary and the secondary wagering game content using
a second operating mode that utilizes the second funds tracking
process.
[0112] The flow 600 continues at processing block 604, where the
system activates a multi-provider game accounting mode and presents
wagering game content from the multiple content providers. For
example, the wagering game machine can shift all financial tracking
to an account-based mode. The account based mode can track all
transactions, such as wagers and winnings, for both the primary and
secondary wagering games. The system can then present the primary
and secondary wagering game content in windows, such as in a main
window and one or more side-windows on the wagering game machine
display. The system can then prompt the wagering game player to
enter one or more bets. The system can have different bet meters
for the primary and secondary content, or the same bet meter can be
used for both primary and secondary content.
[0113] The flow 600 continues at processing block 606, where the
system detects wager amounts and a wager activation request for the
primary and secondary wagering games. Some controls on the wagering
game machine can respond for both primary and secondary wagering
game content. For example, a single wager activation control (e.g.,
a "spin" button) can activate the wagers for both the primary and
secondary games.
[0114] The flow 600 continues at processing block 608, where the
system detects a total wager amount. The system reports the value
of all wagers from the wagering game machine to an account server
(or other account tracking device). The total wager amount is the
value of wagers from both the primary and secondary wagering games.
The system can hold the wagering game machine in stasis until the
account server can verify that the account balance can accommodate
the total wager amount.
[0115] The flow 600 continues at processing block 610, where the
system verifies that the account has sufficient funds to cover the
wager amounts. For example, the account server can verify that the
wagering account has sufficient funds. If the account does not have
sufficient funds, the system can return an error message to the
wagering game machine indicating that the account balance is
insufficient to transact the requested wagers. The system can then
return to processing block 606 to wait for updated wager amounts.
If, however, the account balance is sufficient for the total wager
amount, the system can deduct the wager amounts from the account
server's account balance, and indicate to the wagering game machine
to process the wagering games. The flow 600 continues at processing
block 612.
[0116] The flow 600 continues at processing block 612, where the
system processes the primary and secondary wagering games and
detects wagering game outcomes. Different servers can generate
wagering game outcomes. For instance, a primary server can generate
an outcome for the primary wagering game and a secondary server can
generate an outcome for the secondary wagering game. The wagering
game machine itself, however, can also generate a wagering game
outcome for both the primary and wagering games. Further, the
wagering game machine can generate a wagering game outcome for one
wagering game, while a server generates an outcome for another
wagering game. If one of the wagering games is a long standing
wagering game that does not produce an immediate outcome, the
system can still detect wagering game outcomes for other wagering
games (e.g., if the secondary wagering game is a bonus game that
takes a while to determine an outcome, the system can proceed with
processing the primary wagering game.)
[0117] The flow 600 continues at processing block 614, where the
system detects and reports total winnings for primary and secondary
wagering games. The system can detect winnings for any one, or
both, of the primary and secondary wagering games. The system can
then report the winnings to an account server to update the account
balance on the account server. The system can utilize one of many
techniques for reporting winnings, wagers, etc. Some techniques are
described earlier in conjunction with FIG. 5, such as the Strict
Synchronization mode, Game Ended mode, and Periodic mode.
[0118] The flow 600 continues at processing block 616, where the
system detects and indicates an updated funds balance. The system
can detect the updated account balance from the account server and
update a session balance displayed on credit meters on the wagering
game machine. In some embodiments, the wagering game machine can
indicate the account balance on the wagering game machine separate
from the session balance. For example, the system may apply
winnings to the account balance, but not to the session balance.
The system can restrict wagering game activity (e.g., freeze
wagering controls, pause game play, etc.) while the system updates
balances. When the system finishes updating the balances, the
system can then enable the wagering game activity again (e.g.,
continue processing wagering games, unfreeze wagering controls,
etc.)
Example Wagering Game Machine Architecture
[0119] FIG. 7 is a conceptual diagram that illustrates an example
of a wagering game machine architecture 700, according to some
embodiments. In FIG. 7, the wagering game machine architecture 700
includes a wagering game machine 706, which includes a central
processing unit (CPU) 726 connected to main memory 728. The CPU 726
can include any suitable processor, such as an Intel.RTM. Pentium
processor, Intel.RTM. Core 2 Duo processor, AMD Opteron.TM.
processor, or UltraSPARC processor. The main memory 728 includes a
wagering game unit 732. In one embodiment, the wagering game unit
732 can present wagering games, such as video poker, video black
jack, video slots, video lottery, reel slots, etc., in whole or
part.
[0120] The CPU 726 is also connected to an input/output ("I/O") bus
722, which can include any suitable bus technologies, such as an
AGTL+ frontside bus and a PCI backside bus. The I/O bus 722 is
connected to a payout mechanism 708, primary display 710, secondary
display 712, value input device 714, player input device 716,
information reader 718, and storage unit 730. The player input
device 716 can include the value input device 714 to the extent the
player input device 716 is used to place wagers. The I/O bus 722 is
also connected to an external system interface 724, which is
connected to external systems 704 (e.g., wagering game networks).
The external system interface 724 can include logic for exchanging
information over wired and wireless networks (e.g., 802.11g
transceiver, Bluetooth transceiver, Ethernet transceiver, etc.)
[0121] The I/O bus 722 is also connected to a location unit 738.
The location unit 738 can create player information that indicates
the wagering game machine's location/movements in a casino. In some
embodiments, the location unit 738 includes a global positioning
system (GPS) receiver that can determine the wagering game
machine's location using GPS satellites. In other embodiments, the
location unit 738 can include a radio frequency identification
(RFID) tag that can determine the wagering game machine's location
using RFID readers positioned throughout a casino. Some embodiments
can use GPS receiver and RFID tags in combination, while other
embodiments can use other suitable methods for determining the
wagering game machine's location. Although not shown in FIG. 7, in
some embodiments, the location unit 738 is not connected to the I/O
bus 722.
[0122] In one embodiment, the wagering game machine 706 can include
additional peripheral devices and/or more than one of each
component shown in FIG. 7. For example, in one embodiment, the
wagering game machine 706 can include multiple external system
interfaces 724 and/or multiple CPUs 726. In one embodiment, any of
the components can be integrated or subdivided.
[0123] In one embodiment, the wagering game machine 706 includes a
content coordination module 737. The content coordination module
737 can process communications, commands, or other information,
where the processing can control wagering transactions for wagering
game content that comes from a plurality of different content
providers.
[0124] Any component of the wagering game machine 706 can include
hardware, firmware, and/or machine-readable media including
instructions for performing the operations described herein.
Furthermore, the wagering game machine 706 can include any of the
components described above, such as those described in reference to
the wagering game machine 260 of FIG. 2 (or other any of the
figures).
Example Mobile Wagering Game Machine
[0125] FIG. 8 is a conceptual diagram that illustrates an example
of a mobile wagering game machine 800, according to some
embodiments. In FIG. 8, the mobile wagering game machine 800
includes a housing 802 for containing internal hardware and/or
software such as that described above vis-a-vis FIG. 7. In one
embodiment, the housing has a form factor similar to a tablet PC,
while other embodiments have different form factors. For example,
the mobile wagering game machine 800 can exhibit smaller form
factors, similar to those associated with personal digital
assistants. In one embodiment, a handle 804 is attached to the
housing 802. Additionally, the housing can store a foldout stand
810, which can hold the mobile wagering game machine 800 upright or
semi-upright on a table or other flat surface.
[0126] The mobile wagering game machine 800 includes several
input/output devices. In particular, the mobile wagering game
machine 800 includes buttons 820, audio jack 808, speaker 814,
display 816, biometric device 806, wireless transmission devices
812 and 824, microphone 818, and card reader 822. Additionally, the
mobile wagering game machine can include tilt, orientation, ambient
light, or other environmental sensors.
[0127] In one embodiment, the mobile wagering game machine 800 uses
the biometric device 806 for authenticating players, whereas it
uses the display 816 and speakers 814 for presenting wagering game
results and other information (e.g., credits, progressive jackpots,
etc.). The mobile wagering game machine 800 can also present audio
through the audio jack 808 or through a wireless link such as
Bluetooth.
[0128] In one embodiment, the wireless communication unit 812 can
include infrared wireless communications technology for receiving
wagering game content while docked in a wager gaming station. The
wireless communication unit 824 can include an 802.11G transceiver
for connecting to and exchanging information with wireless access
points. The wireless communication unit 824 can include a Bluetooth
transceiver for exchanging information with other Bluetooth enabled
devices.
[0129] In one embodiment, the mobile wagering game machine 800 is
constructed from damage resistant materials, such as polymer
plastics. Portions of the mobile wagering game machine 800 can be
constructed from non-porous plastics which exhibit antimicrobial
qualities. Also, the mobile wagering game machine 800 can be liquid
resistant for easy cleaning and sanitization.
[0130] In some embodiments, the mobile wagering game machine 800
can also include an input/output ("I/O") port 830 for connecting
directly to another device, such as to a peripheral device, a
secondary mobile machine, etc. Furthermore, any component of the
mobile wagering game machine 800 can include hardware, firmware,
and/or machine-readable media including instructions for performing
the operations described herein.
[0131] The described embodiments may be provided as a computer
program product, or software, that may include a machine-readable
medium having stored thereon instructions, which may be used to
program a computer system (or other electronic device(s)) to
perform a process according to embodiments(s), whether presently
described or not, because every conceivable variation is not
enumerated herein. A machine readable medium includes any mechanism
for storing or transmitting information in a form (e.g., software,
processing application) readable by a machine (e.g., a computer).
The machine-readable medium may include, but is not limited to,
magnetic storage medium (e.g., floppy diskette); optical storage
medium (e.g., CD-ROM); magneto-optical storage medium; read only
memory (ROM); random access memory (RAM); erasable programmable
memory (e.g., EPROM and EEPROM); flash memory; or other types of
medium suitable for storing electronic instructions. In addition,
embodiments may be embodied in an electrical, optical, acoustical
or other form of propagated signal (e.g., carrier waves, infrared
signals, digital signals, etc.), or wireline, wireless, or other
communications medium.
General
[0132] This detailed description refers to specific examples in the
drawings and illustrations. These examples are described in
sufficient detail to enable those skilled in the art to practice
the inventive subject matter. These examples also serve to
illustrate how the inventive subject matter can be applied to
various purposes or embodiments. Other embodiments are included
within the inventive subject matter, as logical, mechanical,
electrical, and other changes can be made to the example
embodiments described herein. Features of various embodiments
described herein, however essential to the example embodiments in
which they are incorporated, do not limit the inventive subject
matter as a whole, and any reference to the invention, its
elements, operation, and application are not limiting as a whole,
but serve only to define these example embodiments. This detailed
description does not, therefore, limit embodiments, which are
defined only by the appended claims. Each of the embodiments
described herein are contemplated as falling within the inventive
subject matter, which is set forth in the following claims.
* * * * *