Language selection

Search

Patent 2821177 Summary

Third-party information liability

Some of the information on this Web page has been provided by external sources. The Government of Canada is not responsible for the accuracy, reliability or currency of the information supplied by external sources. Users wishing to rely upon this information should consult directly with the source of the information. Content provided by external sources is not subject to official languages, privacy and accessibility requirements.

Claims and Abstract availability

Any discrepancies in the text and image of the Claims and Abstract are due to differing posting times. Text of the Claims and Abstract are posted:

  • At the time the application is open to public inspection;
  • At the time of issue of the patent (grant).
(12) Patent Application: (11) CA 2821177
(54) English Title: SYSTEMS AND METHODS FOR RECOMMENDING GAMES USING DISTRIBUTED STORAGE
(54) French Title: SYSTEMES ET METHODES POUR RECOMMANDER DES JEUX PAR STOCKAGE DISTRIBUE
Status: Dead
Bibliographic Data
(51) International Patent Classification (IPC):
  • G07F 17/32 (2006.01)
  • A63F 13/30 (2014.01)
  • A63F 13/70 (2014.01)
  • G06F 19/00 (2011.01)
(72) Inventors :
  • GADHER, BHARAT (Canada)
  • IDRIS, FAYEZ (Canada)
  • PLESKONJIC, DRAGAN (Serbia)
  • POST, PETER (Austria)
  • MCINTYRE, ANDREW (Canada)
(73) Owners :
  • IGT CANADA SOLUTIONS ULC (Canada)
(71) Applicants :
  • SPIELO INTERNATIONAL CANADA ULC (Canada)
(74) Agent: SMART & BIGGAR
(74) Associate agent:
(45) Issued:
(22) Filed Date: 2013-07-12
(41) Open to Public Inspection: 2014-07-10
Examination requested: 2014-06-06
Availability of licence: N/A
(25) Language of filing: English

Patent Cooperation Treaty (PCT): No

(30) Application Priority Data:
Application No. Country/Territory Date
PCT/CA2013/000027 Canada 2013-01-14
13/738,780 United States of America 2013-01-10
13/738,790 United States of America 2013-01-10
2,801,740 Canada 2013-01-14
2,801,741 Canada 2013-01-14

Abstracts

English Abstract



While a player is playing one game on a gaming machine, the systems and
methods
described herein recommend other games to the player either based on the
player's
past gaming history, if the player used a player tracking card, or based on
real time
game play, if the player is anonymous. Upon the player selecting a different
game, the
system may automatically transfers the player's credits between games or
gaming
machines. Each gaming machine may carry out one or more game. While a player
is
playing one game on a gaming machine, the systems and methods described herein

recommend other games to the player based on the player's past gaming history,

accessed via player registration, and the player's real time game play. Upon
the player
selecting a different game, the system may automatically transfers the
player's credits
between games or gaming machines. Each gaming machine may carry out one or
more
game.


Claims

Note: Claims are shown in the official language in which they were submitted.


CLAIMS
What is claimed is:

1. A method for recommending games using distributed storage comprising:
registering a player by receiving registration data;
receiving, at a local computing device from a gaming terminal, player and game

play data corresponding to a player's real time game play in a first game;
generating, at the local computing device, an export data set using parsing
rules,
wherein the exported data comprises at least some of the player and game play
data and the registration data;
transmitting, from the local computing device to a central server, the
exported
data set;
receiving, at the local computing device from the a central server, a set of
game
recommendations generated using the export data set and other game play data
stored at the central server, wherein the set of game recommendations identify
at
least a second game;
providing the set of game recommendations;
detecting a selection by the player of the second game identified in the set
of
game recommendations; and
receiving, at the local computing device, additional player and game play data

corresponding to a player's real time game play in the second game.
2. The method of claim 1, further comprising:
103


accessing historical game play data for the player using the registration
data, wherein player and game play data comprises the historical game
play data.
3 The method of claim 1, wherein the parsing rules are defined by user
preferences accessed using the registration data.
4 The method of claim 1, wherein the parsing rules are defined by
regulatory
requirements.
The method of claim 1, wherein the registration data and player and game play
data comprises private and non-private data, and wherein the method further
comprises:
generating the export data set using the parsing rules by separating the
private and non-private data, wherein the export data set comprises non-
private data.
6 The method of claim 1, wherein the local computing device is coupled to
a
plurality of gaming terminals, wherein the method further comprises:
determining a collection of available games from the plurality of gaming
terminals;
providing the collection of available games to the central server;
wherein the set of game recommendations identify games from the
collection of available games.
7 The method of claim 1, further comprising:
generating the export data set by applying a hashing algorithm to the
player and game play data.
8 The method of claim 7, further comprising:
104



generating a tag using the hashing algorithm, wherein the tag links the
export data set to the player and game play data; and
transmitting the tag with the export data set.
9 The method of claim 1, wherein the local computing device is located a
first
jurisdiction, the gaming terminal being licensed for the first jurisdiction,
and
wherein the central server is located in a second jurisdiction.
The method of claim 1, wherein the second game is played on a second gaming
terminal, wherein the method further comprises:
transferring credits from the first gaming terminal to the second gaming
terminal.
11 The method of claim 1, wherein the set of recommended games is
associated
with a gaming model of a plurality of gaming models, and wherein the method
further comprises:
detecting a threshold amount of data for the player's real time game play;
and
partitioning the data for the player's real time game play into a plurality of

game events, and wherein the export data comprises the one or more
events of the plurality of game events, and wherein the gaming model
corresponds to one or more events of the plurality of game events.
12 The method of 1, wherein the player's real time game play is associated
with
game factors, wherein the set of recommended games is associated with a
gaming model of a plurality of gaming models, and wherein the gaming model
comprises a collection of game factors representing a predetermined gaming and

play behavior model of game player.
13 The method of claim 13, wherein the game factors comprise one or more
members selected from the grouping consisting of: game session length, play
105



behavior, game behavior, game language, game location, game selection,
elapsed time with one game, wagering behavior, game type, game theme, wager
amounts, wager denominations, play rates, typical bonus values, game brand,
prize distributions, amounts of incremental wagers, frequency of wagering, for

instance the presence or absence of multiple rounds of wagering in a game, the

number of rounds of wagers permitted in a game, maximum wager amounts
permitted, minimum wager amounts permitted, amount of wagering, elapsed time
between selected events for instance starting a new game, reaction to bonus
rounds, reaction to progressive outputs, pay table features, amount of
incremental wagers, frequency of wagering, elapsed time for player reaction,
amount of wagering, elapsed time between wagers, frequency of player action,
game rules, game complexity, ability for a player to control or have an effect
on a
game outcome, whether an outcome is predetermined, whether parallel wagering
is provided, average game speed, average wager amounts, average wager rate,
presence or frequency of bonus rounds, presence and frequency of progressive
outputs, payout percentages, win rates, win percentages, loss rates, loss
percentages, use of special features, frequency of use of special features,
number of lines played, total amount wagered, and type of payment received.
14 The method of claim 1 further comprising:
receiving a signal initiated by the player that identifies the player as an
active player in the first game;
detecting, as player and game play data, play of an individual game in a
designated area assigned to the player as part of the first game, while the
remaining players have an option to concurrently play a community game
displayed on additional designated areas assigned to different players;
detecting, as player and game play data, the concurrently display of a
plurality of icons in the designated area assigned to the player, each icon
being associated with a particular wager amount, wherein the icons
concurrently displayed are associated with a plurality of different wager
106


amounts, and wherein at least some of the icons are associated with a
hidden prize;
receiving, as player and game play data, a signal identifying a particular
icon being touched;
detecting, as player and game play data, a deduction of the wager amount
associated with the icon touched by the player from a bank of credits
associated with the first player; and
detecting, as player and game play data, a grant of an award to the player
associated with the icon touched by the player.
15 A method for recommending games using distributed storage comprising:
(a) receiving, at a central server, export data, from each of a plurality
of local
computing devices, wherein each of the plurality of local computing
devices is configured with parsing rules to generate the export data from
player and game play data corresponding to real time game play on one
or more gaming machines, and from registration data received during
player registration;
(b) storing the export data as part of a collective pool of game play data
comprising additional player and game play data;
(c) receiving additional player and game play data corresponding to a
player's
real time game play in a first game;
(d) generating a set of game recommendations using the a collective pool of

game play data and the additional player and game play data, wherein the
set of game recommendations identify at least a second game; and
(e) providing the set of game recommendations.
107



16 The method of claim 15, wherein each of the plurality of local computing
devices
is further configured with parsing rules to generate the export data from
historical
game play data accessed using the registration data.
17 The method of claim 15, wherein the parsing rules are defined by user
preferences accessed using the registration data.
18 The method of claim 15, wherein the parsing rules are defined by
regulatory
requirements.
19 The method of claim 15, wherein the registration and the player and game
play
data comprises private and non-private data, and wherein the export data
comprises non-private data.
20 The method of claim 15, further comprising:
receiving a jurisdiction of the player;
processing the collective pool of game play data using the jurisdiction of
the player;
generating a set of game recommendations using processed collective
pool of game play data and the jurisdiction of the player.
21 The method of claim 20, furthering comprising:
weighting the processed collective pool of game play data based on the
jurisdiction of the player.
22 The method of claim 15, wherein each of the plurality of local computing
devices
are located in different jurisdictions that the central server.
23 The method of claim 15, wherein the set of recommended games is
associated
with a gaming model of a plurality of gaming models, and wherein the method
further comprises:
108


detecting a threshold amount of data for the player's real time game play
in the first game;
partitioning the collective pool of data into a plurality of game events to
generate the plurality of gaming models; and
partitioning the data for the player's real time game play into a plurality of

game events, wherein the gaming model corresponds to one or more
events of the plurality of game events for the player's real time game play.
24 The method of 15, wherein the collective pool of game play data and the
player's
real time game play is associated with game factors, wherein the set of
recommended games is associated with a gaming model of a plurality of gaming
models, and wherein the gaming model comprises a collection of game factors
representing a predetermined gaming and play behavior model of game player.
25 The method of claim 24, wherein the game factors comprise one or more
members selected from the grouping consisting of: game session length, play
behavior, game behavior, game language, game location, game selection,
elapsed time with one game, wagering behavior, game type, game theme, wager
amounts, wager denominations, play rates, typical bonus values, game brand,
prize distributions, amounts of incremental wagers, frequency of wagering, for

instance the presence or absence of multiple rounds of wagering in a game, the

number of rounds of wagers permitted in a game, maximum wager amounts
permitted, minimum wager amounts permitted, amount of wagering, elapsed time
between selected events for instance starting a new game, reaction to bonus
rounds, reaction to progressive outputs, pay table features, amount of
incremental wagers, frequency of wagering, elapsed time for player reaction,
amount of wagering, elapsed time between wagers, frequency of player action,
game rules, game complexity, ability for a player to control or have an effect
on a
game outcome, whether an outcome is predetermined, whether parallel wagering
is provided, average game speed, average wager amounts, average wager rate,
presence or frequency of bonus rounds, presence and frequency of progressive
109



outputs, payout percentages, win rates, win percentages, loss rates, loss
percentages, use of special features, frequency of use of special features,
number of lines played, total amount wagered, and type of payment received.
26 The method of claim 15, further comprising applying data from the
player's real
time game play to an algorithm to determine that the player is a certain type
of
player, then selecting the set of recommended games based on the certain type
of player.
27 The method of claim 15, wherein the set of recommended games is
associated
with a gaming model of a plurality of gaming models, and wherein the method
further comprises:
determining each of the plurality of models from the collective pool of
game play data using cluster analysis; and
associating a set of recommended games with each of the plurality of
gaming models.
28 The method of claim 15, wherein the set of recommended games is
associated
with a game player type, wherein the game player type is associated with a
gaming model of a plurality of gaming models, and wherein the method further
comprises:
detecting a threshold amount of data for the player's real time game play;
(a) determining the game player type based on analysis of the data for the
player's real time game play; and
(b) determining that the gaming model corresponds to the game player type.
110


29 A gaming system comprising one or more processors and one or more data
storage devices storing one or more sequences of instructions which, when
executed by the one or more processors, causes the one or more processors to:
(a) receive, at a central server, export data, from each of a plurality of
local
computing devices, wherein each of the plurality of local computing
devices is configured with parsing rules to generate the export data from
player and game play data corresponding to real time game play on one
or more gaming machines, and from registration data received during
player registration;
(b) store the export data as part of a collective pool of game play data
comprising additional player and game play data;
(c) receive additional player and game play data corresponding to a
player's
real time game play in a first game;
(d) generate a set of game recommendations using the a collective pool of
game play data and the additional player and game play data, wherein the
set of game recommendations identify at least a second game; and
(e) provide the set of game recommendations.
30 A computer-readable storage medium storing one or more sequences of
instructions which, when executed by one or more processors, causes the one or

more processors to perform a method of controlling computing application
interactions with an electronic learning platform, the method comprising:
receiving, at a central server, export data, from each of a plurality of local

computing devices, wherein each of the plurality of local computing
devices is configured with parsing rules to generate the export data from
player and game play data corresponding to real time game play on one
or more gaming machines, and from registration data received during
player registration;
111



storing the export data as part of a collective pool of game play data
comprising additional player and game play data;
receiving additional player and game play data corresponding to a player's
real time game play in a first game;
generating a set of game recommendations using the a collective pool of
game play data and the additional player and game play data, wherein the
set of game recommendations identify at least a second game; and
providing the set of game recommendations.
31
A computer-readable storage medium storing one or more sequences of
instructions which, when executed by one or more processors, causes the one or

more processors to perform a method of controlling computing application
interactions with an electronic learning platform, the method comprising:
registering a player by receiving registration data;
receiving, at a local computing device from a gaming terminal, player and
game play data corresponding to a player's real time game play in a first
game, the gaming terminal programmed to carry out at least the game
functions of pseudo-randomly determining a game outcome and
determining an award to a player;
generating, at the local computing device, an export data set using parsing
rules, wherein the exported data comprises at least some of the player
and game play data and the registration data;
transmitting, from the local computing device to a central server, the
exported data set;
receiving, at the local computing device from the a central server, a set of
game recommendations generating using the export data set and other
112



game play data stored at the central server, wherein the set of game
recommendations identify at least a second game;
providing the set of game recommendations;
detecting a selection by the player of the second game identified in the set
of game recommendations; and
receiving, at the local computing device, additional player and game play
data corresponding to a player's real time game play in the second game.
32 A method for recommending games using distributed storage comprising:
receiving, at a local computing device from a gaming terminal, player and game

play data corresponding to a player's real time game play in a first game,
where
the player is playing anonymously, without the use of a player tracking card;
generating, at the local computing device, an export data set using parsing
rules,
wherein the exported data comprises at least some of the player and game play
data;
transmitting, from the local computing device to a central server, the
exported
data set;
receiving, at the local computing device from the a central server, a set of
game
recommendations generating using the export data set and other game play data
stored at the central server, wherein the set of game recommendations identify
at
least a second game;
providing the set of game recommendations;
detecting a selection by the player of the second game identified in the set
of
game recommendations; and
receiving, at the local computing device, additional player and game play data

corresponding to a player's real time game play in the second game.
113


33 The method of claim 33, wherein the parsing rules are defined by user
preferences.
34 The method of claim 33, wherein the parsing rules are defined by
regulatory
requirements.
35 The method of claim 33, wherein the player and game play data comprises
private and non-private data, and wherein the method further comprises:
generating the export data set using the parsing rules by separating the
private and non-private data, wherein the export data set comprises non-
private data.
36 The method of claim 33, wherein the local computing device is coupled to
a
plurality of gaming terminals, wherein the method further comprises:
determining a collection of available games from the plurality of gaming
terminals;
providing the collection of available games to the central server;
wherein the set of game recommendations identify games from the
collection of available games.
37 The method of claim 33, further comprising:
generating the export data set by applying a hashing algorithm to the
player and game play data.
38 The method of claim 38, further comprising:
generating a tag using the hashing algorithm, wherein the tag links the
export data set to the player and game play data; and
transmitting the tag with the export data set.
114

39 The method of claim 33, wherein the local computing device is located a
first
jurisdiction, the gaming terminal being licensed for the first jurisdiction,
and
wherein the central server is located in a second jurisdiction.
40 The method of claim 33, wherein the second game is played on a second
gaming
terminal, wherein the method further comprises:
transferring credits from the first gaming terminal to the second gaming
terminal.
41 The method of claim 33, wherein the set of recommended games is
associated
with a gaming model of a plurality of gaming models, and wherein the method
further comprises:
detecting a threshold amount of data for the player's real time game play;
and
partitioning the data for the player's real time game play into a plurality of

game events, and wherein the export data comprises the one or more
events of the plurality of game events, and wherein the gaming model
corresponds to one or more events of the plurality of game events.
42 The method of 33, wherein the player's real time game play is associated
with
game factors, wherein the set of recommended games is associated with a
gaming model of a plurality of gaming models, and wherein the gaming model
comprises a collection of game factors representing a predetermined gaming and

play behavior model of game player.
43 The method of claim 43, wherein the game factors comprise one or more
members selected from the grouping consisting of: game session length, play
behavior, game behavior, game language, game location, game selection,
elapsed time with one game, wagering behavior, game type, game theme, wager
amounts, wager denominations, play rates, typical bonus values, game brand,
prize distributions, amounts of incremental wagers, frequency of wagering, for
115

instance the presence or absence of multiple rounds of wagering in a game, the

number of rounds of wagers permitted in a game, maximum wager amounts
permitted, minimum wager amounts permitted, amount of wagering, elapsed time
between selected events for instance starting a new game, reaction to bonus
rounds, reaction to progressive outputs, pay table features, amount of
incremental wagers, frequency of wagering, elapsed time for player reaction,
amount of wagering, elapsed time between wagers, frequency of player action,
game rules, game complexity, ability for a player to control or have an effect
on a
game outcome, whether an outcome is predetermined, whether parallel wagering
is provided, average game speed, average wager amounts, average wager rate,
presence or frequency of bonus rounds, presence and frequency of progressive
outputs, payout percentages, win rates, win percentages, loss rates, loss
percentages, use of special features, frequency of use of special features,
number of lines played, total amount wagered, and type of payment received.
44 The method of claim 33, further comprising:
receiving a signal initiated by the player that identifies the player as an
active player in the first game;
detecting, as player and game play data, play of an individual game in a
designated area assigned to the player as part of the first game, while the
remaining players have an option to concurrently play a community game
displayed on additional designated areas assigned to different players;
detecting, as player and game play data, the concurrently display of a
plurality of icons in the designated area assigned to the player, each icon
being associated with a particular wager amount, wherein the icons
concurrently displayed are associated with a plurality of different wager
amounts, and wherein at least some of the icons are associated with a
hidden prize;
116

receiving, as player and game play data, a signal identifying a particular
icon being touched;
detecting, as player and game play data, a deduction of the wager amount
associated with the icon touched by the player from a bank of credits
associated with the first player; and
detecting, as player and game play data, a grant of an award to the player
associated with the icon touched by the player.
45 A method for recommending games using distributed storage comprising:
receiving, at a central server, export data, from each of a plurality of local

computing devices, wherein each of the plurality of local computing
devices is configured with parsing rules to generate the export data from
player and game play data corresponding to real time game play by at
least one player on one or more gaming machines, wherein the player is
playing anonymously, without the use of a player tracking card;
storing the export data as part of a collective pool of game play data
comprising additional player and game play data;
receiving additional player and game play data corresponding to a player's
real time game play in a first game;
generating a set of game recommendations using the a collective pool of
game play data and the additional player and game play data, wherein the
set of game recommendations identify at least a second game; and
providing the set of game recommendations.
46 The method of claim 46, wherein the parsing rules are defined by user
preferences received anonymously from the player.
117

47 The method of claim 46, wherein the parsing rules are defined by
regulatory
requirements.
48 The method of claim 46, wherein the player and game play data comprises
private and non-private data, and wherein the export data comprises non-
private
data.
49 The method of claim 46, further comprising:
receiving a jurisdiction of the player;
processing the collective pool of game play data using the jurisdiction of
the player;
generating a set of game recommendations using processed collective
pool of game play data and the jurisdiction of the player.
50 The method of claim 50, furthering comprising:
weighting the processed collective pool of game play data based on the
jurisdiction of the player.
51 The method of claim 46, wherein each of the plurality of local computing
devices
are located in different jurisdictions that the central server.
52 The method of claim 46, wherein the set of recommended games is
associated
with a gaming model of a plurality of gaming models, and wherein the method
further comprises:
detecting a threshold amount of data for the player's real time game play
in the first game;
partitioning the collective pool of data into a plurality of game events to
generate the plurality of gaming models; and
118

partitioning the data for the player's real time game play into a plurality of

game events, wherein the gaming model corresponds to one or more
events of the plurality of game events for the player's real time game play.
53 The method of 46, wherein the collective pool of game play data and the
player's
real time game play is associated with game factors, wherein the set of
recommended games is associated with a gaming model of a plurality of gaming
models, and wherein the gaming model comprises a collection of game factors
representing a predetermined gaming and play behavior model of game player.
54 The method of claim 54, wherein the game factors comprise one or more
members selected from the grouping consisting of: game session length, play
behavior, game behavior, game language, game location, game selection,
elapsed time with one game, wagering behavior, game type, game theme, wager
amounts, wager denominations, play rates, typical bonus values, game brand,
prize distributions, amounts of incremental wagers, frequency of wagering, for

instance the presence or absence of multiple rounds of wagering in a game, the

number of rounds of wagers permitted in a game, maximum wager amounts
permitted, minimum wager amounts permitted, amount of wagering, elapsed time
between selected events for instance starting a new game, reaction to bonus
rounds, reaction to progressive outputs, pay table features, amount of
incremental wagers, frequency of wagering, elapsed time for player reaction,
amount of wagering, elapsed time between wagers, frequency of player action,
game rules, game complexity, ability for a player to control or have an effect
on a
game outcome, whether an outcome is predetermined, whether parallel wagering
is provided, average game speed, average wager amounts, average wager rate,
presence or frequency of bonus rounds, presence and frequency of progressive
outputs, payout percentages, win rates, win percentages, loss rates, loss
percentages, use of special features, frequency of use of special features,
number of lines played, total amount wagered, and type of payment received.
119

55 The method of claim 46, further comprising applying data from the
player's real
time game play to an algorithm to determine that the player is a certain type
of
player, then selecting the set of recommended games based on the certain type
of player.
56 The method of claim 46, wherein the set of recommended games is
associated
with a gaming model of a plurality of gaming models, and wherein the method
further comprises:
determining each of the plurality of models from the collective pool of
game play data using cluster analysis; and
associating a set of recommended games with each of the plurality of
gaming models.
57 The method of claim 46, wherein the set of recommended games is
associated
with a game player type, wherein the game player type is associated with a
gaming model of a plurality of gaming models, and wherein the method further
comprises:
detecting a threshold amount of data for the player's real time game play;
determining the game player type based on analysis of the data for the
player's real time game play; and
determining that the gaming model corresponds to the game player type.
58 A gaming system comprising one or more processors and one or more data
storage devices storing one or more sequences of instructions which, when
executed by the one or more processors, causes the one or more processors to:
receive, at a central server, export data, from each of a plurality of local
computing devices, wherein each of the plurality of local computing
devices is configured with parsing rules to generate the export data from
player and game play data corresponding to real time game play by at
120

least one player on one or more gaming machines, wherein the player is
playing anonymously, without the use of a player tracking card;
store the export data as part of a collective pool of game play data
comprising additional player and game play data;
receive additional player and game play data corresponding to a player's
real time game play in a first game;
generate a set of game recommendations using the a collective pool of
game play data and the additional player and game play data, wherein the
set of game recommendations identify at least a second game; and
provide the set of game recommendations.
59
A computer-readable storage medium storing one or more sequences of
instructions which, when executed by one or more processors, causes the one or

more processors to perform a method of controlling computing application
interactions with an electronic learning platform, the method comprising:
receiving, at a central server, export data, from each of a plurality of local

computing devices, wherein each of the plurality of local computing
devices is configured with parsing rules to generate the export data from
player and game play data corresponding to real time game play on one
or more gaming machines, wherein the player is playing anonymously,
without the use of a player tracking card;
storing the export data as part of a collective pool of game play data
comprising additional player and game play data;
receiving additional player and game play data corresponding to a player's
real time game play in a first game;
121

generating a set of game recommendations using the a collective pool of
game play data and the additional player and game play data, wherein the
set of game recommendations identify at least a second game; and
providing the set of game recommendations.
60
A computer-readable storage medium storing one or more sequences of
instructions which, when executed by one or more processors, causes the one or

more processors to perform a method of controlling computing application
interactions with an electronic learning platform, the method comprising:
receiving, at a local computing device from a gaming terminal, player and
game play data corresponding to a player's real time game play in a first
game, wherein the player is playing anonymously, without the use of a
player tracking card;
generating, at the local computing device, an export data set using parsing
rules, wherein the exported data comprises at least some of the player
and game play data;
transmitting, from the local computing device to a central server, the
exported data set;
receiving, at the local computing device from the a central server, a set of
game recommendations generating using the export data set and other
game play data stored at the central server, wherein the set of game
recommendations identify at least a second game;
providing the set of game recommendations;
detecting a selection by the player of the second game identified in the set
of game recommendations; and
receiving, at the local computing device, additional player and game play
data corresponding to a player's real time game play in the second game.
122

61 A method for recommending games using distributed storage comprising:
receiving, at a local computing device from a gaming terminal, player and game

play data corresponding to a player's real time game play in a first game, the

gaming terminal programmed to carry out at least the game functions of pseudo-
randomly determining a game outcome and determining an award to a player;
generating, at the local computing device, an export data set using parsing
rules,
wherein the exported data comprises at least some of the player and game play
data;
transmitting, from the local computing device to a central server, the
exported
data set;
receiving, at the local computing device from the a central server, a set of
game
recommendations generating using the export data set and other game play data
stored at the central server, wherein the set of game recommendations identify
at
least a second game;
providing the set of game recommendations;
detecting a selection by the player of the second game identified in the set
of
game recommendations; and
receiving, at the local computing device, additional player and game play data

corresponding to a player's real time game play in the second game.
62 The method of claim 62, wherein the parsing rules are defined by user
preferences.
63 The method of claim 62, wherein the parsing rules are defined by
regulatory
requirements.
64 The method of claim 62, wherein the player and game play data comprises
private and non-private data, and wherein the method further comprises:
123

generating the export data set using the parsing rules by separating the
private and non-private data, wherein the export data set comprises non-
private data.
65 The method of claim 62, wherein the local computing device is coupled to
a
plurality of gaming terminals, wherein the method further comprises:
determining a collection of available games from the plurality of gaming
terminals;
providing the collection of available games to the central server;
wherein the set of game recommendations identify games from the
collection of available games.
66 The method of claim 62, further comprising:
generating the export data set by applying a hashing algorithm to the
player and game play data.
67 The method of claim 67, further comprising:
generating a tag using the hashing algorithm, wherein the tag links the
export data set to the player and game play data; and
transmitting the tag with the export data set.
68 The method of claim 62, wherein the local computing device is located a
first
jurisdiction, the gaming terminal being licensed for the first jurisdiction,
and
wherein the central server is located in a second jurisdiction.
69 The method of claim 62, wherein the second game is played on a second
gaming
terminal, wherein the method further comprises:
transferring credits from the first gaming terminal to the second gaming
terminal.
124

70 The method of claim 62, wherein the set of recommended games is
associated
with a gaming model of a plurality of gaming models, and wherein the method
further comprises:
detecting a threshold amount of data for the player's real time game play;
and
partitioning the data for the player's real time game play into a plurality of

game events, and wherein the export data comprises the one or more
events of the plurality of game events, and wherein the gaming model
corresponds to one or more events of the plurality of game events.
71 The method of 62, wherein the player's real time game play is associated
with
game factors, wherein the set of recommended games is associated with a
gaming model of a plurality of gaming models, and wherein the gaming model
comprises a collection of game factors representing a predetermined gaming and

play behavior model of game player.
72 The method of claim 72, wherein the game factors comprise one or more
members selected from the grouping consisting of: game session length, play
behavior, game behavior, game language, game location, game selection,
elapsed time with one game, wagering behavior, game type, game theme, wager
amounts, wager denominations, play rates, typical bonus values, game brand,
prize distributions, amounts of incremental wagers, frequency of wagering, for

instance the presence or absence of multiple rounds of wagering in a game, the

number of rounds of wagers permitted in a game, maximum wager amounts
permitted, minimum wager amounts permitted, amount of wagering, elapsed time
between selected events for instance starting a new game, reaction to bonus
rounds, reaction to progressive outputs, pay table features, amount of
incremental wagers, frequency of wagering, elapsed time for player reaction,
amount of wagering, elapsed time between wagers, frequency of player action,
game rules, game complexity, ability for a player to control or have an effect
on a
game outcome, whether an outcome is predetermined, whether parallel wagering
125

is provided, average game speed, average wager amounts, average wager rate,
presence or frequency of bonus rounds, presence and frequency of progressive
outputs, payout percentages, win rates, win percentages, loss rates, loss
percentages, use of special features, frequency of use of special features,
number of lines played, total amount wagered, and type of payment received.
73 The method of claim 62, further comprising:
receiving a signal initiated by the player that identifies the player as an
active player in the first game;
detecting, as player and game play data, play of an individual game in a
designated area assigned to the player as part of the first game, while the
remaining players have an option to concurrently play a community game
displayed on additional designated areas assigned to different players;
detecting, as player and game play data, the concurrently display of a
plurality of icons in the designated area assigned to the player, each icon
being associated with a particular wager amount, wherein the icons
concurrently displayed are associated with a plurality of different wager
amounts, and wherein at least some of the icons are associated with a
hidden prize;
receiving, as player and game play data, a signal identifying a particular
icon being touched;
detecting, as player and game play data, a deduction of the wager amount
associated with the icon touched by the player from a bank of credits
associated with the first player; and
detecting, as player and game play data, a grant of an award to the player
associated with the icon touched by the player.
74 A method for recommending games using distributed storage comprising:
126

(a) receiving, at a central server, export data, from each of a plurality
of local
computing devices, wherein each of the plurality of local computing
devices is configured with parsing rules to generate the export data from
player and game play data corresponding to real time game play on one
or more gaming machines;
(b) storing the export data as part of a collective pool of game play data
comprising additional player and game play data;
(c) receiving additional player and game play data corresponding to a
player's
real time game play in a first game;
(d) generating a set of game recommendations using the a collective pool of

game play data and the additional player and game play data, wherein the
set of game recommendations identify at least a second game; and
(e) providing the set of game recommendations.
75 The method of claim 75, wherein the parsing rules are defined by user
preferences.
76 The method of claim 75, wherein the parsing rules are defined by
regulatory
requirements.
77 The method of claim 75, wherein the player and game play data comprises
private and non-private data, and wherein the export data comprises non-
private
data.
78 The method of claim 75, further comprising:
receiving a jurisdiction of the player;
processing the collective pool of game play data using the jurisdiction of
the player;
127

generating a set of game recommendations using processed collective
pool of game play data and the jurisdiction of the player.
79 The method of claim 79, furthering comprising:
weighting the processed collective pool of game play data based on the
jurisdiction of the player.
80 The method of claim 75, wherein each of the plurality of local computing
devices
are located in different jurisdictions that the central server.
81 The method of claim 75, wherein the set of recommended games is
associated
with a gaming model of a plurality of gaming models, and wherein the method
further comprises:
detecting a threshold amount of data for the player's real time game play
in the first game;
partitioning the collective pool of data into a plurality of game events to
generate the plurality of gaming models; and
partitioning the data for the player's real time game play into a plurality of

game events, wherein the gaming model corresponds to one or more
events of the plurality of game events for the player's real time game play.
82 The method of 75, wherein the collective pool of game play data and the
player's
real time game play is associated with game factors, wherein the set of
recommended games is associated with a gaming model of a plurality of gaming
models, and wherein the gaming model comprises a collection of game factors
representing a predetermined gaming and play behavior model of game player.
83 The method of claim 83, wherein the game factors comprise one or more
members selected from the grouping consisting of: game session length, play
behavior, game behavior, game language, game location, game selection,
elapsed time with one game, wagering behavior, game type, game theme, wager
128

amounts, wager denominations, play rates, typical bonus values, game brand,
prize distributions, amounts of incremental wagers, frequency of wagering, for

instance the presence or absence of multiple rounds of wagering in a game, the

number of rounds of wagers permitted in a game, maximum wager amounts
permitted, minimum wager amounts permitted, amount of wagering, elapsed time
between selected events for instance starting a new game, reaction to bonus
rounds, reaction to progressive outputs, pay table features, amount of
incremental wagers, frequency of wagering, elapsed time for player reaction,
amount of wagering, elapsed time between wagers, frequency of player action,
game rules, game complexity, ability for a player to control or have an effect
on a
game outcome, whether an outcome is predetermined, whether parallel wagering
is provided, average game speed, average wager amounts, average wager rate,
presence or frequency of bonus rounds, presence and frequency of progressive
outputs, payout percentages, win rates, win percentages, loss rates, loss
percentages, use of special features, frequency of use of special features,
number of lines played, total amount wagered, and type of payment received.
84 The method of claim 75, further comprising applying data from the
player's real
time game play to an algorithm to determine that the player is a certain type
of
player, then selecting the set of recommended games based on the certain type
of player.
85 The method of claim 75, wherein the set of recommended games is
associated
with a gaming model of a plurality of gaming models, and wherein the method
further comprises:
determining each of the plurality of models from the collective pool of
game play data using cluster analysis; and
associating a set of recommended games with each of the plurality of
gaming models.
129

86 The method of claim 75, wherein the set of recommended games is
associated
with a game player type, wherein the game player type is associated with a
gaming model of a plurality of gaming models, and wherein the method further
comprises:
detecting a threshold amount of data for the player's real time game play;
determining the game player type based on analysis of the data for the
player's real time game play; and
determining that the gaming model corresponds to the game player type.
87 A gaming system comprising one or more processors and one or more data
storage devices storing one or more sequences of instructions which, when
executed by the one or more processors, causes the one or more processors to:
receive, at a central server, export data, from each of a plurality of local
computing devices, wherein each of the plurality of local computing
devices is configured with parsing rules to generate the export data from
player and game play data corresponding to real time game play on one
or more gaming machines;
store the export data as part of a collective pool of game play data
comprising additional player and game play data;
receive additional player and game play data corresponding to a player's
real time game play in a first game;
generate a set of game recommendations using the a collective pool of
game play data and the additional player and game play data, wherein the
set of game recommendations identify at least a second game; and
provide the set of game recommendations.
130

88 A computer-readable storage medium storing one or more sequences of
instructions which, when executed by one or more processors, causes the one or

more processors to perform a method of controlling computing application
interactions with an electronic learning platform, the method comprising:
receiving, at a central server, export data, from each of a plurality of local

computing devices, wherein each of the plurality of local computing
devices is configured with parsing rules to generate the export data from
player and game play data corresponding to real time game play on one
or more gaming machines;
storing the export data as part of a collective pool of game play data
comprising additional player and game play data;
receiving additional player and game play data corresponding to a player's
real time game play in a first game;
generating a set of game recommendations using the a collective pool of
game play data and the additional player and game play data, wherein the
set of game recommendations identify at least a second game; and
providing the set of game recommendations.
89 A computer-readable storage medium storing one or more sequences of
instructions which, when executed by one or more processors, causes the one or

more processors to perform a method of controlling computing application
interactions with an electronic learning platform, the method comprising:
receiving, at a local computing device from a gaming terminal, player and
game play data corresponding to a player's real time game play in a first
game, the gaming terminal programmed to carry out at least the game
functions of pseudo-randomly determining a game outcome and
determining an award to a player;
131

generating, at the local computing device, an export data set using parsing
rules, wherein the exported data comprises at least some of the player
and game play data;
transmitting, from the local computing device to a central server, the
exported data set;
receiving, at the local computing device from the a central server, a set of
game recommendations generating using the export data set and other
game play data stored at the central server, wherein the set of game
recommendations identify at least a second game;
providing the set of game recommendations;
detecting a selection by the player of the second game identified in the set
of game recommendations; and
receiving, at the local computing device, additional player and game play
data corresponding to a player's real time game play in the second game.
132

Description

Note: Descriptions are shown in the official language in which they were submitted.


CA 02821177 2013-07-12
SYSTEMS AND METHODS FOR RECOMMENDING GAMES USING DISTRIBUTED
STORAGE
FIELD
[0001] Embodiments described herein relate to electronic gaming systems, such
as
gaming systems in casinos or other establishments, and, in particular, to a
gaming
systems where games may be recommended to a player.
INTRODUCTION
[0002] A player may play games on a gaming machine in a casino.
[0003] A wireless hand-held device, such as a tablet, may also be used to
remotely play
an otherwise conventional gaming machine in a casino. The gaming machine, for
security and central monitoring/accounting purposes, may perform all the
processing to
deduct a bet from the remote player's stored bank of credits, randomly select
a game
outcome, determine the award to be paid to the player, and credit the player's
bank of
credits. The information processed by the gaming machine may be wirelessly
communicated to the tablet, and the predetermined outcome may be displayed to
the
player (such as by displaying stopped reels). The tablet may function as a
user interface
and display.
[0004] The tablet may display on its screen essentially what the player would
see if the
player was at the gaming machine, but the gaming machine makes all the game
decisions. Virtually all player inputs are performed via the tablet's touch
screen.
[0005] When the tablet is in use, another player may not use the gaming
machine.
Alternatively, one player may play the gaming machine using the tablet, and
another
player may simultaneously and independently play the gaming machine in the
conventional way.
[0006] One type of tablet is described in US Patent No. 6,846,238 to Wells,
incorporated
herein by reference.
[0007] Since the player may walk around the casino with the tablet and be
distracted,
various issues may arise. Some of these issues include actions to be taken in
the event
the communications link is broken during a game and actions to be taken if a
maximum
DOCSTOR: 2760489\1
1

CA 02821177 2013-07-12
time between games is exceeded. The link can be broken by the player moving
beyond
the reception range, moving beyond an allowable range, interference, battery
failure, or
equipment malfunction.
[0008] In the Wells patent (column 20, lines 29-47), for example, the gaming
machine
internally stores video frames of the game outcome in the event there is a
communications link failure during the game, since the tablet could not
display the
outcome of the game and the outcome needs to be later verified. In case of
such a link
failure, it is very important to eventually prove or reveal to the player the
actual outcome
of the game. In the Wells patent, if the communications link is broken between
the time
the player initiated the rotation of the reels and the time that the outcome
should have
been communicated to the tablet to stop the reels, the game displayed on the
tablet
stops, and the player does not see the outcome. The game is thus terminated.
The
player becomes confused and agitated by the failure of the system. If the
communications link was broken due to the player walking out the reception
area, the
player must determine this herself and walk back toward the gaming machine
console.
The tablet must then re-establish communications with the gaming machine. For
the
player to then determine the outcome of the game, the player must somehow view
the
stored video frames at the gaming machine. Wells describes the game being
"terminated" once the communications link becomes inactive (see column 27,
lines 1-2;
column 29, lines 35-36; column 31, lines 19-20; column 32, lines 44-47; and
column 34,
lines 1-3). Such termination of the game prior to the player seeing the result
of the game
is a significant drawback of the Wells tablet.
[0009] Losing the communications link between games, rather than during a
game, is
much less frustrating, and re-establishing the communications link does not
require any
verification of a game's outcome.
[0010] Accordingly, there exists a need for an improved technique for dealing
with a
communications link being broken in the middle of a game, or at least a useful

alternative.
[0011] Further, in the Wells patent, there is no provision for allowing the
player to
temporarily suspend play without the system automatically terminating the
playing
session due to the period between games exceeding an allowable limit. A player
may
2
,

CA 02821177 2013-07-12
not be able to pause play for a legitimate reason and will lose rights to the
gaming
machine to another player.
[0012] Accordingly, there exists a need for an improved technique to allow the
player to
pause play on the tablet without the playing session being automatically
terminated due
to the period between games exceeding an allowable limit, or at least a useful

alternative.
[0013] Another disadvantage of the Wells tablet is that it is customized for
use as a
gaming tablet to be used in conjunction with the licensed gaming machine (see
column
12, lines 11-21). In one embodiment, the Wells tablet is a modified version of
a
commercially available tablet. This adds cost to the system since the casino
must
provide the tablets, and the players will initially be unfamiliar with the
operation of the
tablet, inhibiting wide spread acceptance of the system.
[0014] Accordingly, there exists a need for an improved mobile gaming device,
such as
a tablet, that is an off-the-shelf commercially available device, running a
suitable
application, that may be personally owned by the players and which
communicates with
licensed gaming machines located in the same jurisdiction in which the mobile
gaming
device is located, or at least a useful alternative.
[0015] It is known to access a gaming site via the internet using any suitable
computing
device, but such an internet connection only connects the computing device to
a server
running a gaming program, typically located outside of the United States. The
server is
not a licensed gaming machine in the jurisdiction in which the computing
device is
located. Therefore, operating the computing device to carry out the game may
be illegal
in the jurisdiction in which it is operated. Additionally, even operating such
an internet-
connected computing device in a jurisdiction that allows gaming does not
typically
authorize the player to operate the computing device for gaming purposes since
the
operation is not performed in an authorized venue.
[0016] There may be no provision to remotely select another gaming machine and
automatically set up the communications link to the new machine. The remote
player
has no way of knowing which other games or other gaming machines are available
for
play. Further, the player may not be allowed to use the tablet for different
gaming
machines/servers in different gaming venues. There exists a need for improved
3
,

CA 02821177 2013-07-12
recommendations of other games or other gaming machines that are available for
play,
or at least a useful alternative.
[0017] If the player does not have a central account, cashing out may not
convenient
since the player must either go to the gaming machine to receive a printed
ticket or
somehow identify the game on a separate printer terminal, such as by using a
keypad.
[0018] Gaming machines and tablets may incorporate 3D image viewing
capability, such
as by having a lenticular lens over the screen to direct two interlaced
stereoscopic
images to the player's respective left and right eyes. There may be no
provision for
converting the gaming machine's 3D format of the original stereoscopic image
to the
tablet's particular 3D or 2D format. If the tablet does not have 3D
capability, the original
stereoscopic images cannot be displayed on the tablet's screen without
appearing
blurry. Further, with a gaming machine, the 3D image is tuned for a particular
viewing
distance, while the viewing distance for the tablet may be different,
typically closer since
the screen is much smaller. Embodiments described herein may allow the remote
player to adjust the 3D viewing distance (or image depth).
[0019] There may be no forced prevention of the player initiating a game when
the
battery power runs low. Therefore, an incomplete game may result if the
battery power
runs out during a game.
SUMMARY
[0020] In a first aspect, embodiments described herein may provide a method
for
recommending games using distributed storage comprising: registering a player
by
receiving registration data; receiving, at a local computing device from a
gaming
terminal, player and game play data corresponding to a player's real time game
play in
a first game; generating, at the local computing device, an export data set
using parsing
rules, wherein the exported data comprises at least some of the player and
game play
data and the registration data; transmitting, from the local computing device
to a central
server, the exported data set; receiving, at the local computing device from
the a central
server, a set of game recommendations generated using the export data set and
other
game play data stored at the central server, wherein the set of game
recommendations
identify at least a second game; providing the set of game recommendations;
detecting
4

CA 02821177 2013-07-12
a selection by the player of the second game identified in the set of game
recommendations; and receiving, at the local computing device, additional
player and
game play data corresponding to a player's real time game play in the second
game.
[0021] In some embodiments the method may further comprise: accessing
historical
game play data for the player using the registration data, wherein player and
game play
data comprises the historical game play data.
[0022] In some embodiments, the parsing rules are defined by user preferences
accessed using the registration data.
[0023] In some embodiments, the parsing rules are defined by regulatory
requirements.
[0024] In some embodiments, the registration data and player and game play
data
comprises private and non-private data, and the method may further comprise:
generating the export data set using the parsing rules by separating the
private and
non-private data, wherein the export data set comprises non-private data.
[0025] In some embodiments, the local computing device is coupled to a
plurality of
gaming terminals, wherein the method may further comprise: determining a
collection of
available games from the plurality of gaming terminals; providing the
collection of
available games to the central server; where the set of game recommendations
identify
games from the collection of available games.
[0026] In some embodiments the method may further comprise: generating the
export
data set by applying a hashing algorithm to the player and game play data.
[0027] In some embodiments the method may further comprise: generating a tag
using
the hashing algorithm, wherein the tag links the export data set to the player
and game
play data; and transmitting the tag with the export data set.
[0028] In some embodiments, the local computing device is located a first
jurisdiction,
the gaming terminal being licensed for the first jurisdiction, and wherein the
central
server is located in a second jurisdiction.
[0029] In some embodiments, the second game is played on a second gaming
terminal,
wherein the method may further comprise: transferring credits from the first
gaming
terminal to the second gaming terminal.
,

CA 02821177 2013-07-12
[0030] In some embodiments, the set of recommended games is associated with a
gaming model of a plurality of gaming models, and wherein the method may
further
comprise: detecting a threshold amount of data for the player's real time game
play; and
partitioning the data for the player's real time game play into a plurality of
game events,
and wherein the export data comprises the one or more events of the plurality
of game
events, and wherein the gaming model corresponds to one or more events of the
plurality of game events.
[0031] In some embodiments, the player's real time game play is associated
with game
factors, wherein the set of recommended games is associated with a gaming
model of a
plurality of gaming models, and wherein the gaming model comprises a
collection of
game factors representing a predetermined gaming and play behavior model of
game
player.
[00321 In some embodiments, the game factors comprise one or more members
selected from the grouping consisting of: game session length, play behavior,
game
behavior, game language, game location, game selection, elapsed time with one
game,
wagering behavior, game type, game theme, wager amounts, wager denominations,
play rates, typical bonus values, game brand, prize distributions, amounts of
incremental wagers, frequency of wagering, for instance the presence or
absence of
multiple rounds of wagering in a game, the number of rounds of wagers
permitted in a
game, maximum wager amounts permitted, minimum wager amounts permitted,
amount of wagering, elapsed time between selected events for instance starting
a new
game, reaction to bonus rounds, reaction to progressive outputs, pay table
features,
amount of incremental wagers, frequency of wagering, elapsed time for player
reaction,
amount of wagering, elapsed time between wagers, frequency of player action,
game
rules, game complexity, ability for a player to control or have an effect on a
game
outcome, whether an outcome is predetermined, whether parallel wagering is
provided,
average game speed, average wager amounts, average wager rate, presence or
frequency of bonus rounds, presence and frequency of progressive outputs,
payout
percentages, win rates, win percentages, loss rates, loss percentages, use of
special
features, frequency of use of special features, number of lines played, total
amount
wagered, and type of payment received.
6

CA 02821177 2013-07-12
[0033] In some embodiments the method may further comprise: receiving a signal

initiated by the player that identifies the player as an active player in the
first game;
detecting, as player and game play data, play of an individual game in a
designated
area assigned to the player as part of the first game, while the remaining
players have
an option to concurrently play a community game displayed on additional
designated
areas assigned to different players; detecting, as player and game play data,
the
concurrently display of a plurality of icons in the designated area assigned
to the player,
each icon being associated with a particular wager amount, wherein the icons
concurrently displayed are associated with a plurality of different wager
amounts, and
wherein at least some of the icons are associated with a hidden prize;
receiving, as
player and game play data, a signal identifying a particular icon being
touched;
detecting, as player and game play data, a deduction of the wager amount
associated
with the icon touched by the player from a bank of credits associated with the
first
player; and detecting, as player and game play data, a grant of an award to
the player
associated with the icon touched by the player.
[0034] In another aspect embodiments described herein may provide a method for

recommending games using distributed storage comprising: receiving, at a
central
server, export data, from each of a plurality of local computing devices,
wherein each of
the plurality of local computing devices is configured with parsing rules to
generate the
export data from player and game play data corresponding to real time game
play on
one or more gaming machines, and from registration data received during player

registration; storing the export data as part of a collective pool of game
play data
comprising additional player and game play data; receiving additional player
and game
play data corresponding to a player's real time game play in a first game;
generating a
set of game recommendations using the a collective pool of game play data and
the
additional player and game play data, wherein the set of game recommendations
identify at least a second game; and providing the set of game
recommendations.
[0035] In some embodiments, each of the plurality of local computing devices
is further
configured with parsing rules to generate the export data from historical game
play data
accessed using the registration data.
7

CA 02821177 2013-07-12
[0036] In some embodiments, the parsing rules are defined by user preferences
accessed using the registration data.
[0037] In some embodiments, the parsing rules are defined by regulatory
requirements.
[0038] In some embodiments, the registration and the player and game play data

comprises private and non-private data, and wherein the export data comprises
non-
private data.
[0039] In some embodiments the method may further comprise: receiving a
jurisdiction
of the player; processing the collective pool of game play data using the
jurisdiction of
the player; generating a set of game recommendations using processed
collective pool
of game play data and the jurisdiction of the player.
[0040] In some embodiments the method may further comprise: weighting the
processed collective pool of game play data based on the jurisdiction of the
player.
[0041] In some embodiments, each of the plurality of local computing devices
are
located in different jurisdictions that the central server.
[0042] In some embodiments, the set of recommended games is associated with a
gaming model of a plurality of gaming models, and wherein the method may
further
comprise: detecting a threshold amount of data for the player's real time game
play in
the first game; partitioning the collective pool of data into a plurality of
game events to
generate the plurality of gaming models; and partitioning the data for the
player's real
time game play into a plurality of game events, wherein the gaming model
corresponds
to one or more events of the plurality of game events for the player's real
time game
play.
[0043] In some embodiments, the collective pool of game play data and the
player's real
time game play is associated with game factors, wherein the set of recommended

games is associated with a gaming model of a plurality of gaming models, and
wherein
the gaming model comprises a collection of game factors representing a
predetermined
gaming and play behavior model of game player.
[0044] In some embodiments, the game factors comprise one or more members
selected from the grouping consisting of: game session length, play behavior,
game
behavior, game language, game location, game selection, elapsed time with one
game,
8

CA 02821177 2013-07-12
wagering behavior, game type, game theme, wager amounts, wager denominations,
play rates, typical bonus values, game brand, prize distributions, amounts of
incremental wagers, frequency of wagering, for instance the presence or
absence of
multiple rounds of wagering in a game, the number of rounds of wagers
permitted in a
game, maximum wager amounts permitted, minimum wager amounts permitted,
amount of wagering, elapsed time between selected events for instance starting
a new
game, reaction to bonus rounds, reaction to progressive outputs, pay table
features,
amount of incremental wagers, frequency of wagering, elapsed time for player
reaction,
amount of wagering, elapsed time between wagers, frequency of player action,
game
rules, game complexity, ability for a player to control or have an effect on a
game
outcome, whether an outcome is predetermined, whether parallel wagering is
provided,
average game speed, average wager amounts, average wager rate, presence or
frequency of bonus rounds, presence and frequency of progressive outputs,
payout
percentages, win rates, win percentages, loss rates, loss percentages, use of
special
features, frequency of use of special features, number of lines played, total
amount
wagered, and type of payment received.
[0045] In some embodiments the method may further comprise: applying data from
the
player's real time game play to an algorithm to determine that the player is a
certain
type of player, then selecting the set of recommended games based on the
certain type
of player.
[0046] In some embodiments, the set of recommended games is associated with a
gaming model of a plurality of gaming models, and the method may further
comprise:
determining each of the plurality of models from the collective pool of game
play data
using cluster analysis; and associating a set of recommended games with each
of the
plurality of gaming models.
[0047] In some embodiments, the set of recommended games is associated with a
game player type, wherein the game player type is associated with a gaming
model of a
plurality of gaming models, and wherein the method further comprises:
detecting a
threshold amount of data for the player's real time game play; determining the
game
player type based on analysis of the data for the player's real time game
play; and
determining that the gaming model corresponds to the game player type.
9

CA 02821177 2013-07-12
[0048] In a further aspect, embodiments described herein may provide a gaming
system
comprising one or more processors and one or more data storage devices storing
one
or more sequences of instructions which, when executed by the one or more
processors, causes the one or more processors to: receive, at a central
server, export
data, from each of a plurality of local computing devices, wherein each of the
plurality of
local computing devices is configured with parsing rules to generate the
export data
from player and game play data corresponding to real time game play on one or
more
gaming machines, and from registration data received during player
registration; store
the export data as part of a collective pool of game play data comprising
additional
player and game play data; receive additional player and game play data
corresponding
to a player's real time game play in a first game; generate a set of game
recommendations using the a collective pool of game play data and the
additional
player and game play data, wherein the set of game recommendations identify at
least
a second game; and provide the set of game recommendations.
[0049] In another aspect, embodiments described herein may provide a computer-
readable storage medium storing one or more sequences of instructions which,
when
executed by one or more processors, causes the one or more processors to
perform a
method of controlling computing application interactions with an electronic
learning
platform, the method comprising: receiving, at a central server, export data,
from each
of a plurality of local computing devices, wherein each of the plurality of
local computing
devices is configured with parsing rules to generate the export data from
player and
game play data corresponding to real time game play on one or more gaming
machines, and from registration data received during player registration;
storing the
export data as part of a collective pool of game play data comprising
additional player
and game play data; receiving additional player and game play data
corresponding to a
player's real time game play in a first game; generating a set of game
recommendations
using the a collective pool of game play data and the additional player and
game play
data, wherein the set of game recommendations identify at least a second game;
and
providing the set of game recommendations.
[0050] In a further aspect, embodiments described herein may provide a
computer-
readable storage medium storing one or more sequences of instructions which,
when

CA 02821177 2013-07-12
executed by one or more processors, causes the one or more processors to
perform a
method of controlling computing application interactions with an electronic
learning
platform, the method comprising: registering a player by receiving
registration data;
receiving, at a local computing device from a gaming terminal, player and game
play
data corresponding to a player's real time game play in a first game, the
gaming
terminal programmed to carry out at least the game functions of pseudo-
randomly
determining a game outcome and determining an award to a player; generating,
at the
local computing device, an export data set using parsing rules, wherein the
exported
data comprises at least some of the player and game play data and the
registration
data; transmitting, from the local computing device to a central server, the
exported data
set; receiving, at the local computing device from the a central server, a set
of game
recommendations generating using the export data set and other game play data
stored
at the central server, wherein the set of game recommendations identify at
least a
second game; providing the set of game recommendations; detecting a selection
by the
player of the second game identified in the set of game recommendations; and
receiving, at the local computing device, additional player and game play data

corresponding to a player's real time game play in the second game.
[0051] In another aspect, embodiments described herein may provide a method
for
recommending games using distributed storage comprising: receiving, at a local

computing device from a gaming terminal, player and game play data
corresponding to
a player's real time game play in a first game, where the player is playing
anonymously,
without the use of a player tracking card; generating, at the local computing
device, an
export data set using parsing rules, wherein the exported data comprises at
least some
of the player and game play data; transmitting, from the local computing
device to a
central server, the exported data set; receiving, at the local computing
device from the a
central server, a set of game recommendations generating using the export data
set
and other game play data stored at the central server, wherein the set of game

recommendations identify at least a second game; providing the set of game
recommendations; detecting a selection by the player of the second game
identified in
the set of game recommendations; and receiving, at the local computing device,
11

CA 02821177 2013-07-12
additional player and game play data corresponding to a player's real time
game play in
the second game.
[0052] In some embodiments, the parsing rules are defined by user preferences.
[0053] In some embodiments, the parsing rules are defined by regulatory
requirements.
[0054] In some embodiments, the player and game play data comprises private
and
non-private data, and wherein the method may further comprise: generating the
export
data set using the parsing rules by separating the private and non-private
data, wherein
the export data set comprises non-private data.
[0055] In some embodiments, the local computing device is coupled to a
plurality of
gaming terminals, wherein the method may further comprise: determining a
collection of
available games from the plurality of gaming terminals; providing the
collection of
available games to the central server; wherein the set of game recommendations

identify games from the collection of available games.
[0056] In some embodiments the method may further comprise: generating the
export
data set by applying a hashing algorithm to the player and game play data.
[0057] In some embodiments the method may further comprise: generating a tag
using
the hashing algorithm, wherein the tag links the export data set to the player
and game
play data; and transmitting the tag with the export data set.
[0058] In some embodiments, the local computing device is located a first
jurisdiction,
the gaming terminal being licensed for the first jurisdiction, and wherein the
central
server is located in a second jurisdiction.
[0059] In some embodiments, the second game is played on a second gaming
terminal,
wherein the method may further comprise: transferring credits from the first
gaming
terminal to the second gaming terminal.
[0060] In some embodiments, the set of recommended games is associated with a
gaming model of a plurality of gaming models, and wherein the method may
further
comprise: detecting a threshold amount of data for the player's real time game
play; and
partitioning the data for the player's real time game play into a plurality of
game events,
and wherein the export data comprises the one or more events of the plurality
of game
12

CA 02821177 2013-07-12
events, and wherein the gaming model corresponds to one or more events of the
plurality of game events.
[0061] In some embodiments, the player's real time game play is associated
with game
factors, wherein the set of recommended games is associated with a gaming
model of a
plurality of gaming models, and wherein the gaming model comprises a
collection of
game factors representing a predetermined gaming and play behavior model of
game
player.
[0062] In some embodiments, the game factors comprise one or more members
selected from the grouping consisting of: game session length, play behavior,
game
behavior, game language, game location, game selection, elapsed time with one
game,
wagering behavior, game type, game theme, wager amounts, wager denominations,
play rates, typical bonus values, game brand, prize distributions, amounts of
incremental wagers, frequency of wagering, for instance the presence or
absence of
multiple rounds of wagering in a game, the number of rounds of wagers
permitted in a
game, maximum wager amounts permitted, minimum wager amounts permitted,
amount of wagering, elapsed time between selected events for instance starting
a new
game, reaction to bonus rounds, reaction to progressive outputs, pay table
features,
amount of incremental wagers, frequency of wagering, elapsed time for player
reaction,
amount of wagering, elapsed time between wagers, frequency of player action,
game
rules, game complexity, ability for a player to control or have an effect on a
game
outcome, whether an outcome is predetermined, whether parallel wagering is
provided,
average game speed, average wager amounts, average wager rate, presence or
frequency of bonus rounds, presence and frequency of progressive outputs,
payout ,
percentages, win rates, win percentages, loss rates, loss percentages, use of
special
features, frequency of use of special features, number of lines played, total
amount
wagered, and type of payment received.
[0063] In some embodiments the method may further comprise: receiving a signal

initiated by the player that identifies the player as an active player in the
first game;
detecting, as player and game play data, play of an individual game in a
designated
area assigned to the player as part of the first game, while the remaining
players have
an option to concurrently play a community game displayed on additional
designated
13

CA 02821177 2013-07-12
areas assigned to different players; detecting, as player and game play data,
the
concurrently display of a plurality of icons in the designated area assigned
to the player,
each icon being associated with a particular wager amount, wherein the icons
concurrently displayed are associated with a plurality of different wager
amounts, and
wherein at least some of the icons are associated with a hidden prize;
receiving, as
player and game play data, a signal identifying a particular icon being
touched;
detecting, as player and game play data, a deduction of the wager amount
associated
with the icon touched by the player from a bank of credits associated with the
first
player; and detecting, as player and game play data, a grant of an award to
the player
associated with the icon touched by the player.
[0064] In a further aspect, embodiments described herein provide a method for
recommending games using distributed storage comprising: receiving, at a
central
server, export data, from each of a plurality of local computing devices,
wherein each of
the plurality of local computing devices is configured with parsing rules to
generate the
export data from player and game play data corresponding to real time game
play by at
least one player on one or more gaming machines, wherein the player is playing

anonymously, without the use of a player tracking card; storing the export
data as part
of a collective pool of game play data comprising additional player and game
play data;
receiving additional player and game play data corresponding to a player's
real time
game play in a first game; generating a set of game recommendations using the
a
collective pool of game play data and the additional player and game play
data, wherein
the set of game recommendations identify at least a second game; and providing
the
set of game recommendations.
[0065] In some embodiments, the parsing rules are defined by user preferences
received anonymously from the player.
[0066] In some embodiments, the parsing rules are defined by regulatory
requirements.
[0067] In some embodiments, the player and game play data comprises private
and
non-private data, and wherein the export data comprises non-private data.
[0068] In some embodiments the method may further comprise: receiving a
jurisdiction
of the player; processing the collective pool of game play data using the
jurisdiction of
14

CA 02821177 2013-07-12
the player; generating a set of game recommendations using processed
collective pool
of game play data and the jurisdiction of the player.
[0069] In some embodiments the method may further comprise: weighting the
processed collective pool of game play data based on the jurisdiction of the
player.
[0070] In some embodiments, each of the plurality of local computing devices
are
located in different jurisdictions that the central server.
[0071] In some embodiments, the set of recommended games is associated with a
gaming model of a plurality of gaming models, and wherein the method may
further
comprise: detecting a threshold amount of data for the player's real time game
play in
the first game; partitioning the collective pool of data into a plurality of
game events to
generate the plurality of gaming models; and partitioning the data for the
player's real
time game play into a plurality of game events, wherein the gaming model
corresponds
to one or more events of the plurality of game events for the player's real
time game
play.
[0072] In some embodiments, the collective pool of game play data and the
player's real
time game play is associated with game factors, wherein the set of recommended

games is associated with a gaming model of a plurality of gaming models, and
wherein
the gaming model comprises a collection of game factors representing a
predetermined
gaming and play behavior model of game player.
[0073] In some embodiments, the game factors comprise one or more members
selected from the grouping consisting of: game session length, play behavior,
game
behavior, game language, game location, game selection, elapsed time with one
game,
wagering behavior, game type, game theme, wager amounts, wager denominations,
play rates, typical bonus values, game brand, prize distributions, amounts of
incremental wagers, frequency of wagering, for instance the presence or
absence of
multiple rounds of wagering in a game, the number of rounds of wagers
permitted in a
game, maximum wager amounts permitted, minimum wager amounts permitted,
amount of wagering, elapsed time between selected events for instance starting
a new
game, reaction to bonus rounds, reaction to progressive outputs, pay table
features,
amount of incremental wagers, frequency of wagering, elapsed time for player
reaction,
amount of wagering, elapsed time between wagers, frequency of player action,
game

CA 02821177 2013-07-12
rules, game complexity, ability for a player to control or have an effect on a
game
outcome, whether an outcome is predetermined, whether parallel wagering is
provided,
average game speed, average wager amounts, average wager rate, presence or
frequency of bonus rounds, presence and frequency of progressive outputs,
payout
percentages, win rates, win percentages, loss rates, loss percentages, use of
special
features, frequency of use of special features, number of lines played, total
amount
wagered, and type of payment received.
[0074] In some embodiments the method may further comprise: applying data from
the
player's real time game play to an algorithm to determine that the player is a
certain
type of player, then selecting the set of recommended games based on the
certain type
of player.
[0075] In some embodiments, the set of recommended games is associated with a
gaming model of a plurality of gaming models, and wherein the method may
further
comprise: determining each of the plurality of models from the collective pool
of game
play data using cluster analysis; and associating a set of recommended games
with
each of the plurality of gaming models.
[0076] In some embodiments, the set of recommended games is associated with a
game player type, wherein the game player type is associated with a gaming
model of a
plurality of gaming models, and wherein the method may further comprise:
detecting a
threshold amount of data for the player's real time game play; determining the
game
player type based on analysis of the data for the player's real time game
play; and
determining that the gaming model corresponds to the game player type.
[0077] In a further aspect, embodiments described herein provide a gaming
system
comprising one or more processors and one or more data storage devices storing
one
or more sequences of instructions which, when executed by the one or more
processors, causes the one or more processors to: receive, at a central
server, export
data, from each of a plurality of local computing devices, wherein each of the
plurality of
local computing devices is configured with parsing rules to generate the
export data
from player and game play data corresponding to real time game play by at
least one
player on one or more gaming machines, wherein the player is playing
anonymously,
without the use of a player tracking card; store the export data as part of a
collective
16

CA 02821177 2013-07-12
pool of game play data comprising additional player and game play data;
receive
additional player and game play data corresponding to a player's real time
game play in
a first game; generate a set of game recommendations using the a collective
pool of
game play data and the additional player and game play data, wherein the set
of game
recommendations identify at least a second game; and provide the set of game
recommendations.
[0078] In a further aspect, embodiments described herein may provide computer-
readable storage medium storing one or more sequences of instructions which,
when
executed by one or more processors, causes the one or more processors to
perform a
method of controlling computing application interactions with an electronic
learning
platform, the method comprising: receiving, at a central server, export data,
from each
of a plurality of local computing devices, wherein each of the plurality of
local computing
devices is configured with parsing rules to generate the export data from
player and
game play data corresponding to real time game play on one or more gaming
machines, wherein the player is playing anonymously, without the use of a
player
tracking card; storing the export data as part of a collective pool of game
play data
comprising additional player and game play data; receiving additional player
and game
play data corresponding to a player's real time game play in a first game;
generating a
set of game recommendations using the a collective pool of game play data and
the
additional player and game play data, wherein the set of game recommendations
identify at least a second game; and providing the set of game
recommendations.
[0079] In a further aspect, embodiments described herein may provide a
computer-
readable storage medium storing one or more sequences of instructions which,
when
executed by one or more processors, causes the one or more processors to
perform a
method of controlling computing application interactions with an electronic
learning
platform, the method comprising: receiving, at a local computing device from a
gaming
terminal, player and game play data corresponding to a player's real time game
play in
a first game, wherein the player is playing anonymously, without the use of a
player
tracking card; generating, at the local computing device, an export data set
using
parsing rules, wherein the exported data comprises at least some of the player
and
game play data; transmitting, from the local computing device to a central
server, the
17

CA 02821177 2013-07-12
exported data set; receiving, at the local computing device from the a central
server, a
set of game recommendations generating using the export data set and other
game
play data stored at the central server, wherein the set of game
recommendations
identify at least a second game; providing the set of game recommendations;
detecting
a selection by the player of the second game identified in the set of game
recommendations; and receiving, at the local computing device, additional
player and
game play data corresponding to a player's real time game play in the second
game.
[0080] In a further aspect, embodiments described herein may provide a method
for
recommending games using distributed storage comprising: receiving, at a local

computing device from a gaming terminal, player and game play data
corresponding to
a player's real time game play in a first game, the gaming terminal programmed
to carry
out at least the game functions of pseudo-randomly determining a game outcome
and
determining an award to a player; generating, at the local computing device,
an export
data set using parsing rules, wherein the exported data comprises at least
some of the
player and game play data; transmitting, from the local computing device to a
central
server, the exported data set; receiving, at the local computing device from
the a central
server, a set of game recommendations generating using the export data set and
other
game play data stored at the central server, wherein the set of game
recommendations
identify at least a second game; providing the set of game recommendations;
detecting
a selection by the player of the second game identified in the set of game
recommendations; and receiving, at the local computing device, additional
player and
game play data corresponding to a player's real time game play in the second
game.
[0081] In some embodiments, the parsing rules are defined by user preferences.
[0082] In some embodiments, the parsing rules are defined by regulatory
requirements.
[0083] In some embodiments, the player and game play data comprises private
and
non-private data, and wherein the method may further comprise: generating the
export
data set using the parsing rules by separating the private and non-private
data, wherein
the export data set comprises non-private data.
[0084] In some embodiments, the local computing device is coupled to a
plurality of
gaming terminals, wherein the method further comprises: determining a
collection of
available games from the plurality of gaming terminals; providing the
collection of
18

CA 02821177 2013-07-12
available games to the central server; wherein the set of game recommendations

identify games from the collection of available games.
[0085] In some embodiments the method may further comprise: generating the
export
data set by applying a hashing algorithm to the player and game play data.
[0086] In some embodiments the method may further comprise: generating a tag
using
the hashing algorithm, wherein the tag links the export data set to the player
and game
play data; and transmitting the tag with the export data set.
[0087] In some embodiments, the local computing device is located a first
jurisdiction,
the gaming terminal being licensed for the first jurisdiction, and wherein the
central
server is located in a second jurisdiction.
[0088] In some embodiments, the second game is played on a second gaming
terminal,
wherein the method further comprises: transferring credits from the first
gaming terminal
to the second gaming terminal.
[0089] In some embodiments, the set of recommended games is associated with a
gaming model of a plurality of gaming models, and wherein the method further
comprises: detecting a threshold amount of data for the player's real time
game play;
and partitioning the data for the player's real time game play into a
plurality of game
events, and wherein the export data comprises the one or more events of the
plurality of
game events, and wherein the gaming model corresponds to one or more events of
the
plurality of game events.
[0090] In some embodiments, the player's real time game play is associated
with game
factors, wherein the set of recommended games is associated with a gaming
model of a
plurality of gaming models, and wherein the gaming model comprises a
collection of
game factors representing a predetermined gaming and play behavior model of
game
player.
[0091] In some embodiments, the game factors comprise one or more members
selected from the grouping consisting of: game session length, play behavior,
game
behavior, game language, game location, game selection, elapsed time with one
game,
wagering behavior, game type, game theme, wager amounts, wager denominations,
play rates, typical bonus values, game brand, prize distributions, amounts of
19

CA 02821177 2013-07-12
incremental wagers, frequency of wagering, for instance the presence or
absence of
multiple rounds of wagering in a game, the number of rounds of wagers
permitted in a
game, maximum wager amounts permitted, minimum wager amounts permitted,
amount of wagering, elapsed time between selected events for instance starting
a new
game, reaction to bonus rounds, reaction to progressive outputs, pay table
features,
amount of incremental wagers, frequency of wagering, elapsed time for player
reaction,
amount of wagering, elapsed time between wagers, frequency of player action,
game
rules, game complexity, ability for a player to control or have an effect on a
game
outcome, whether an outcome is predetermined, whether parallel wagering is
provided,
average game speed, average wager amounts, average wager rate, presence or
frequency of bonus rounds, presence and frequency of progressive outputs,
payout
percentages, win rates, win percentages, loss rates, loss percentages, use of
special
features, frequency of use of special features, number of lines played, total
amount
wagered, and type of payment received.
[0092] In some embodiments the method may further comprise: receiving a signal

initiated by the player that identifies the player as an active player in the
first game;
detecting, as player and game play data, play of an individual game in a
designated
area assigned to the player as part of the first game, while the remaining
players have
an option to concurrently play a community game displayed on additional
designated
areas assigned to different players; detecting, as player and game play data,
the
concurrently display of a plurality of icons in the designated area assigned
to the player,
each icon being associated with a particular wager amount, wherein the icons
concurrently displayed are associated with a plurality of different wager
amounts, and
wherein at least some of the icons are associated with a hidden prize;
receiving, as
player and game play data, a signal identifying a particular icon being
touched;
detecting, as player and game play data, a deduction of the wager amount
associated
with the icon touched by the player from a bank of credits associated with the
first
player; and detecting, as player and game play data, a grant of an award to
the player
associated with the icon touched by the player.
[0093] In another aspect, there is provided method for recommending games
using
distributed storage comprising: receiving, at a central server, export data,
from each of a

CA 02821177 2013-07-12
plurality of local computing devices, wherein each of the plurality of local
computing
devices is configured with parsing rules to generate the export data from
player and
game play data corresponding to real time game play on one or more gaming
machines; storing the export data as part of a collective pool of game play
data
comprising additional player and game play data; receiving additional player
and game
play data corresponding to a player's real time game play in a first game;
generating a
set of game recommendations using the a collective pool of game play data and
the
additional player and game play data, wherein the set of game recommendations
identify at least a second game; and providing the set of game
recommendations.
[0094] In some embodiments, the parsing rules are defined by user preferences.
[0095] In some embodiments, the parsing rules are defined by regulatory
requirements.
[0096] In some embodiments, the player and game play data comprises private
and
non-private data, and wherein the export data comprises non-private data.
[0097] In some embodiments the method may further comprise: receiving a
jurisdiction
of the player; processing the collective pool of game play data using the
jurisdiction of
the player; generating a set of game recommendations using processed
collective pool
of game play data and the jurisdiction of the player.
[0098] In some embodiments the method may further comprise: weighting the
processed collective pool of game play data based on the jurisdiction of the
player.
[0099] In some embodiments, each of the plurality of local computing devices
are
located in different jurisdictions that the central server.
[00100]
In some embodiments, the set of recommended games is associated with
a gaming model of a plurality of gaming models, and wherein the method may
further
comprise: detecting a threshold amount of data for the player's real time game
play in
the first game; partitioning the collective pool of data into a plurality of
game events to
generate the plurality of gaming models; and partitioning the data for the
player's real
time game play into a plurality of game events, wherein the gaming model
corresponds
to one or more events of the plurality of game events for the player's real
time game
play.
21

CA 02821177 2013-07-12
[00101] In some embodiments, the collective pool of game play data and the
player's real time game play is associated with game factors, wherein the set
of
recommended games is associated with a gaming model of a plurality of gaming
models, and wherein the gaming model comprises a collection of game factors
representing a predetermined gaming and play behavior model of game player.
[00102] In some embodiments, the game factors comprise one or more members
selected from the grouping consisting of: game session length, play behavior,
game
behavior, game language, game location, game selection, elapsed time with one
game,
wagering behavior, game type, game theme, wager amounts, wager denominations,
play rates, typical bonus values, game brand, prize distributions, amounts of
incremental wagers, frequency of wagering, for instance the presence or
absence of
multiple rounds of wagering in a game, the number of rounds of wagers
permitted in a
game, maximum wager amounts permitted, minimum wager amounts permitted,
amount of wagering, elapsed time between selected events for instance starting
a new
game, reaction to bonus rounds, reaction to progressive outputs, pay table
features,
amount of incremental wagers, frequency of wagering, elapsed time for player
reaction,
amount of wagering, elapsed time between wagers, frequency of player action,
game
rules, game complexity, ability for a player to control or have an effect on a
game
outcome, whether an outcome is predetermined, whether parallel wagering is
provided,
average game speed, average wager amounts, average wager rate, presence or
frequency of bonus rounds, presence and frequency of progressive outputs,
payout
percentages, win rates, win percentages, loss rates, loss percentages, use of
special
features, frequency of use of special features, number of lines played, total
amount
wagered, and type of payment received.
[00103] In some embodiments the method may further comprise applying data
from the player's real time game play to an algorithm to determine that the
player is a
certain type of player, then selecting the set of recommended games based on
the
certain type of player.
[00104] In some embodiments, the set of recommended games is associated
with
a gaming model of a plurality of gaming models, and wherein the method further
may
comprises: determining each of the plurality of models from the collective
pool of game
22

CA 02821177 2013-07-12
play data using cluster analysis; and associating a set of recommended games
with
each of the plurality of gaming models.
[00105] In some embodiments, the set of recommended games is associated
with
a game player type, wherein the game player type is associated with a gaming
model of
a plurality of gaming models, and wherein the method may further comprise:
detecting a
threshold amount of data for the player's real time game play; determining the
game
player type based on analysis of the data for the player's real time game
play; and
determining that the gaming model corresponds to the game player type.
[00106] In another aspect, there is provided a gaming system comprising
one or
more processors and one or more data storage devices storing one or more
sequences
of instructions which, when executed by the one or more processors, causes the
one or
more processors to: receive, at a central server, export data, from each of a
plurality of
local computing devices, wherein each of the plurality of local computing
devices is
configured with parsing rules to generate the export data from player and game
play
data corresponding to real time game play on one or more gaming machines;
store the
export data as part of a collective pool of game play data comprising
additional player
and game play data; receive additional player and game play data corresponding
to a
player's real time game play in a first game; generate a set of game
recommendations
using the a collective pool of game play data and the additional player and
game play
data, wherein the set of game recommendations identify at least a second game;
and
provide the set of game recommendations.
[00107] In a further aspect, there is provided a computer-readable storage
medium
storing one or more sequences of instructions which, when executed by one or
more
processors, causes the one or more processors to perform a method of
controlling
computing application interactions with an electronic learning platform, the
method
comprising: receiving, at a central server, export data, from each of a
plurality of local
computing devices, wherein each of the plurality of local computing devices is

configured with parsing rules to generate the export data from player and game
play
data corresponding to real time game play on one or more gaming machines;
storing
the export data as part of a collective pool of game play data comprising
additional
player and game play data; receiving additional player and game play data
23

CA 02821177 2013-07-12
corresponding to a player's real time game play in a first game; generating a
set of
game recommendations using the a collective pool of game play data and the
additional
player and game play data, wherein the set of game recommendations identify at
least
a second game; and providing the set of game recommendations.
[00108] In another aspect, there is provided a computer-readable storage
medium
storing one or more sequences of instructions which, when executed by one or
more
processors, causes the one or more processors to perform a method of
controlling
computing application interactions with an electronic learning platform, the
method
comprising: receiving, at a local computing device from a gaming terminal,
player and
game play data corresponding to a player's real time game play in a first
game, the
gaming terminal programmed to carry out at least the game functions of pseudo-
randomly determining a game outcome and determining an award to a player;
generating, at the local computing device, an export data set using parsing
rules,
wherein the exported data comprises at least some of the player and game play
data;
transmitting, from the local computing device to a central server, the
exported data set;
receiving, at the local computing device from the a central server, a set of
game
recommendations generating using the export data set and other game play data
stored
at the central server, wherein the set of game recommendations identify at
least a
second game; providing the set of game recommendations; detecting a selection
by the
player of the second game identified in the set of game recommendations; and
receiving, at the local computing device, additional player and game play data

corresponding to a player's real time game play in the second game.
[00109] In one aspect, remote gaming using hand-held gaming devices and
operating techniques are described herein. In one embodiment, the player's own
tablet
(e.g., an Apple iPadTM) may be used as the hand-held gaming device. In other
embodiments, any suitable mobile device may be used, including the players'
own
smartphones, personal digital assistants, etc. A conventional tablet may be
used for
example.
[00110] The tablet may communicate wirelessly with a stationary gaming
machine
using encrypted signals. The tablet may act as a remote user interface for the
gaming
24

CA 02821177 2013-07-12
machine, while the gaming machine conducts the game itself and controls the
player's
account.
[00111] The player registers the tablet for play with a particular gaming
machine
and establishes a session time, such as two hours. This may be done by the
player
inserting her player tracking card into the gaming machine and entering
certain
information via the gaming machine's touch screen. A communications link
between the
tablet and the gaming machine may then be established. Near Field
Communication
(NFC) may be used to set up the link, where a link is automatically
established
(according to established protocols) when the tablet is brought near the
gaming
machine. The gaming machine may use the tablet's MAC address, serial number,
or
other hardware/software signature to uniquely identify the tablet. The player
may create
a bank of credits using the player's player tracking card, or by inserting
money or a
printed ticket (for cashless gaming) into the gaming machine, or by other
means either
at the gaming machine or via the tablet.
[00112] In one embodiment, the gaming machine displays that the machine is
in
use by a remote player and also displays the remaining session time.
Prospective
players may register to reserve the machine by inserting their player tracking
card into
the gaming machine and registering via the gaming machine's touch screen. The
queued player then gets a message on her own tablet stating when the gaming
machine is available. The queued player only needs to respond via the tablet
to begin
the next session if the player has stored credits available. In another
embodiment, the
queued player must return to the gaming machine to register and begin the
session.
[00113] The tablets may operate with any of a number of authorized gaming
machines. In one embodiment, an application may need to be downloaded to the
tablet
(such as via the internet) to allow the tablet to operate in accordance with
embodiments
described herein. The application may be specific for the gaming venue or
generic for
multiple gaming venues.
[00114] The tablet presents a user interface touch screen display to the
player.
The particular display presented by the tablet to the player may be identified
by
commands transmitted by the gaming machine.

CA 02821177 2013-07-12
[00115] In an example of the game being a video reels game, the player
places
bets and starts the video reels spinning via touch screen buttons on the
tablet. The
tablet may include a stored spin-reels program that causes the tablet to
display the reels
spinning. The spin-reels program may be downloaded from the gaming machine or
a
server prior to the first game played on the gaming machine being initiated.
Since
different gaming machines may play different games and have different
graphics, the
spin-reel program may be different for each type of game and must therefore be

customized for the particular gaming machine being played. In one embodiment,
only
the different graphics are downloaded before a game is initiated and other
functions are
generic to all the gaming machines.
[00116] The gaming machine receives the player inputs and controls all
aspects of
the game. The gaming machine instantly determines the outcome of the game (the
stop
positions of the reels) using a random number generator and determines the
resulting
award using a pay table. The gaming machine then transmits the outcome and
award
information to the tablet, and the tablet displays the reels eventually
stopping at the
predetermined positions and displays the award to the player. The length of
time the
reels appear to spin is irrelevant to the game. The gaming machine deducts or
adds
credits from/to the player's account, and such credits are displayed to the
player. The
player is typically unaware that the game outcome is determined by a random
number
generator prior to the reels stopping and believes that the ultimate displayed
stopped
positions of the reels determine the award paid. Therefore, the un-interrupted
display of
the reels spinning and stopping is very important to the player.
[00117] Since the player may roam with the tablet, the tablet may
occasionally be
out of the communication range of the gaming machine (or out of some other
allowable
range). Most of the time, the player will be actively engaged in a game. If
the
communications link is broken during a game, terminating the game may be
terminated
and stopped. Embodiments described herein may enable the tablet to display the

continuing spinning of the reels using the tablet's internal spin-reels
application program
and display a stored message to the player that the player must re-enter the
transmission reception area within a certain time limit (e.g., 15 seconds) to
complete the
game. When the player re-enters the transmission reception area, the tablet
26

CA 02821177 2013-07-12
automatically re-establishes contact with the gaming machine (pursuant to
stored
protocols), and the tablet receives the game outcome from the gaming machine.
The
tablet then stops the reels to display the predetermined outcome. The player
is unaware
that the game outcome had previously been determined and believes that the
game
was just extended. This may be much more satisfying to the player than the
game being
terminated due to the broken communications link.
[00118] The link may also be broken due to interference or other issues,
but the
display of the spinning reels continues until the link is re-established or
the "reconnect
timeout" period has lapsed.
[00119] Since the player is actively playing the game a majority of the
time, there
is a substantial likelihood that a disruption in the communications link will
occur during
the game rather than between games.
[00120] If the player does not re-enter the transmission reception area
within the
allowable "reconnect timeout" period, the playing session is terminated, and a
stored
message appears that the player may review the results of the game by re-
registering
with the gaming machine
[00121] Another aspect of embodiments described herein relates to the
gaming
machine automatically terminating the tablet's playing session after a period
of inactivity
(typically only a few minutes). Automatically terminating the gaming session
due to
inactivity is described in the Wells patent in column 25, lines 25-27.
However, since the
registered playing session may be a few hours, the player should be able to be
inactive
for a period of time without the gaming machine terminating the session, such
as if the
player needs to exit the play area for a washroom break, a smoking break,
eating
dinner, or go to her hotel room. Embodiments described herein may provide the
player
with a pause button on the tablet that allows the player to enter an allowable
inactive
period without penalty. The session still expires after the registered session
time, but
the gaming machine will not terminate the session within the period of
inactivity selected
by the player. The selectable inactive period will typically be limited to,
for example, 30
minutes to limit the loss of revenue by the casino. However, the selectable
times may
vary by day, time of day, or based on the number of people in the casino or
waiting to
play the gaming machine.
27

CA 02821177 2013-07-12
[00122] If the player does not begin playing a game on the tablet within
the
allowable inactivity period, and after a warning is given, the session will
terminate.
[00123] The player may renew the session time, if there are no other
players
queued up for the machine, allowing for unlimited play on the tablet.
[00124] The session may automatically terminate if the communications link
is
broken for more than, for example, 60 seconds and the player has not responded
within
15 seconds after the communications link has been restored. Stored warning
messages
are displayed to the player.
[00125] The gaming machine may display the queue of other players who have
registered to play the machine, either locally or via a tablet, once the
session time has
run out.
[00126] When the player wishes to cash out, the player may cash out at the
gaming machine and receive a printed ticket to redeem at a cashier's window,
or the
player's account may store the remaining credits, or the ticket (with a bar
code) may be
displayed on the player's tablet. In another embodiment, the player may obtain
the
printed ticket or redeem her remaining credits at any suitable terminal. A
separate
printer terminal (not a gaming machine) may print out the player's coded
ticket when the
player wishes to cash out. The printer terminal may sense the proximity of the
tablet
using NFC and automatically determine the gaming session code so that the
player
does not need to manually enter data into the printer to cash out. The player
may
redeem the ticket for cash at a redemption area. The printer terminal may also
be a
registration terminal for the tablet, so the player never has to physically be
at the
gaming machine to register for play. The communications between the tablet and
the
gaming machine may be via a wireless connection between the registration
terminal
and the tablet, then the registration terminal communicates to the gaming
machine
through the casino's existing network.
[00127] In another embodiment, the venue's system automatically recommends
other games and gaming machines to the player. The player may receive a
recommendation on a gaming machine or remotely via the player's tablet. The
player
may select any recommended game via the gaming machine or the tablet. If the
player
selects a recommended game on another gaming machine then the player's credits
28

CA 02821177 2013-07-12
may be transferred to the new gaming machine via the venue's network. If the
player is
playing remotely via a remote gaming device then a communications link to the
new
gaming machine may be automatically established. In one embodiment, the same
tablet
may communicate with gaming machines or servers in different venues and the
revenue
is appropriately shared. Credits may even be transferred between venues.
[00128] In one embodiment, when a player uses a player tracking card, the
player's past history of gaming may be used by the recommender algorithm to
recommend games to the player. If the player does not use a player tracking
card and
thus plays anonymously, the recommender system detects the player's real time
game
play (e.g., game selected, bet amount, etc.) and recommends other games to the
player
consistent with the real time game play. In other embodiments, recommendations
may
be provided to anonymous players after collecting real-time or near real-time
gaming
data.
[00129] If the gaming machines displays the game in 3D (requiring
stereoscopic
images to be generated), the system is capable of modifying the format of the
images to
be compatible with the tablet. For example, if the tablet can only display 2D
images, the
original images are converted to the format needed to be displayed by the
tablet in 2D.
Further, if the tablet has 3D capability, the original image format is
suitably changed, if
necessary, to be compatible with the tablet 3D format. Resolutions and 3D
image depth
may also be modified to be optimal for the tablet.
[00130] The remaining battery power is sensed by the tablet and, if the
power is
below a threshold, the tablet software prevents the player from initiating a
new game.
The remaining power may be used to cash out. A message is displayed to the
player
allowing the player to switch to another tablet or to recharge the tablet.
[00131] In one embodiment, the tablet communicates with any type of secure
terminal that carries out the game, where the terminal is not necessarily a
gaming
machine in a casino or other gaming establishment but any terminal that can
perform
the required processing.
[00132] In another embodiment, the mobile gaming device may be connected
to
the gaming machine with a cable, either directly connected to a port of the
gaming
machine or via a network communicating with the gaming machine.
29

CA 02821177 2013-07-12
[00133] Any game may be presented on the tablet, including video reels,
video
poker, keno, roulette, blackjack, or other games.
[00134] The tablet itself may be a commercially available, such as an
iPad,
Android tablet, Windows tablet, or other commercially available tablet, that
is specifically
configured in the claimed manner using appropriate computing applications, and
the
like. The mobile gaming device may instead be any other portable computing
device,
including smartphones, personal digital assistants, laptop computers, etc. By
the
players using their own devices, they are familiar with their operation.
Further, the
casino does not need to supply the mobile gaming devices. Therefore, the
remote
gaming system may be readily implemented at virtually no cost, and increased
play
activity will bring in added revenue to the casino.
[00135] The gaming machines with which the mobile gaming devices are
communicating may be licensed for the venue (e.g., a casino) in the particular

jurisdiction (e.g., Nevada) in which they are operating. Since the mobile
gaming device
is located in the same jurisdiction, the gaming rules in that jurisdiction
also apply to the
remote play. Since the mobile gaming device performs no gaming function other
than as
a user interface, the mobile gaming device will typically not need a special
license by
the jurisdiction and thus the player may legally operate the mobile gaming
device.
[00136] Since the tablet may not be licensed by the jurisdiction for
gaming outside
the casino (or other venue) or other designated area, it may be required to
have an
enforced boundary for the tablet. In one embodiment, a Geo-fence system is set
up in
the venue, which automatically detects that an active gaming tablet is within
a
designated boundary. Since the tablet may be owned by the player, the system
uses
the existing WiFi, Bluetooth, and Received Signal Strength Indicator (RSSI)
capability of
the tablet to determine whether the tablet is within a designated area. This
test may be
performed before a transmission by the tablet is authorized for use during a
gaming
session. If the tablet is determined to be within the designated area and the
tablet is
authenticated, communications between the tablet and the gaming terminal may
then
proceed.
[00137] Various other embodiments are described herein.

CA 02821177 2013-07-12
BRIEF DESCRIPTION OF THE DRAWINGS
[00138] Various embodiments will now be described, by way of example only,
with
reference to the following drawings, in which:
[00139] Fig. 1 illustrates a gaming machine console wirelessly
communicating with
a hand-held tablet (as one example of a mobile gaming device) in accordance
with
embodiments.
[00140] Fig. 2 is a block diagram showing the basic functional units in
the gaming
machine of Fig. 1.
[00141] Fig. 3 illustrates various functional units and program files in
the tablet that
may be used to carry out embodiments described herein.
[00142] Fig. 4 is a flowchart showing steps performed by the tablet and
gaming
machine in the event the communications link is broken during a game.
[00143] Fig. 5 illustrates the gaming machine displaying the remaining
session
time.
[00144] Fig. 6 illustrates the tablet having touch screen buttons allowing
the player
to pause play without the gaming machine terminating the session due to a
period of
inactivity.
[00145] Fig. 7 is a flowchart showing steps performed by the tablet and
gaming
machine to allow the player to pause play without the gaming machine
terminating the
session due to a period of inactivity.
[00146] Fig. 8 is a flowchart showing steps performed by the tablet and
the
venue's system for allowing the player to remotely switch from one gaming
machine to
another.
[00147] Fig. 9 illustrates the interaction between the tablet and a
printer terminal
for issuing a ticket.
[00148] Fig. 10 is a flowchart showing steps performed for converting
original
stereoscopic images into a format (2D or 3D) compatible with the tablet.
[00149] Fig. 11 is a flowchart showing steps performed when the tablet
battery
power has fallen below a threshold so that a game is not interrupted.
31

CA 02821177 2013-07-12
[00150] FIG. 12 illustrates a remote gaming system according to some
embodiments.
[00151] FIG. 13 shows the main components of the computer system that
generates the gaming and play behavior models according to some embodiments.
[00152] FIG. 14, there is shown a flowchart of a process for generating
the gaming
and play behavior models according to some embodiments.
[00153] FIG. 15 depicts components of an exemplary computer system for
recommending games.
[00154] FIG. 16 illustrates a flowchart of a method for recommending
games.
[00155] FIG. 17 provides an example temporal representation of the gaming
session data according to some embodiments.
[00156] FIG. 18 outlines an example construction process of clusters
according to
some embodiments.
[00157] FIG. 19 outlines the general procedure of a clustering algorithm
according
to some embodiments..
[00158] FIG. 20 shows two example clusters according to some embodiments.
[00159] FIG. 21 shows ROC Area under the Curve (AUC) graph.
[00160] FIG. 22 shows a system for transferring game assets to a mobile
gaming
device 11 for remote gaming.
[00161] FIG. 23 shows a flowchart of a method for free-play of a game on a
mobile
device tethered to a gaming machine in accordance with some embodiments.
[00162] FIG. 24 illustrates a flowchart of a method for free-play with a
tournament
style.
[00163] FIG. 25 shows a system for implementing distributed storage of
gaming
data.
[00164] FIG. 26 shows a method for implementing distributed storage of
gaming
data.
[00165] FIG. 27 shows an example gaming machine.
[00166] For simplicity and clarity of illustration, where considered
appropriate,
reference numerals may be repeated among the figures to indicate corresponding
or
32

CA 02821177 2013-07-12
analogous elements or steps. In addition, numerous specific details are set
forth in
order to provide a thorough understanding of the exemplary embodiments
described
herein. However, it will be understood by those of ordinary skill in the art
that the
embodiments described herein may be practiced without these specific details.
In other
instances, well-known methods, procedures and components have not been
described
in detail so as not to obscure the embodiments generally described herein.
DETAILED DESCRIPTION
[00167]
Throughout the following discussion, numerous references will be made
regarding servers, services, interfaces, portals, platforms, or other systems
formed from
computing devices. It should be appreciated that the use of such terms is
deemed to
represent one or more computing devices having at least one processor
configured to
execute software instructions stored on a computer readable tangible, non-
transitory
medium. For example, a server can include one or more computers operating as a
web
server, database server, or other type of computer server in a manner to
fulfill described
roles, responsibilities, or functions. One should further appreciate the
disclosed
computer-based algorithms, processes, methods, or other types of instruction
sets can
be embodied as a computer program product comprising a non-transitory,
tangible
computer readable media storing the instructions that cause a processor to
execute the
disclosed steps. One should appreciate that the embodiments described herein
may
provide various technical effects such as by modifying hardware and
interfaces,
connecting a computing devices in improved and efficient ways, implementing
security
and privacy mechanisms for transmissions, controlling devices, improving
processing
and data management, improving resource usage, and other example technical
effects
as described herein.
[00168]
The following discussion provides many example embodiments of the
inventive subject matter. Although each embodiment represents a single
combination
of inventive elements, the inventive subject matter is considered to include
all possible
combinations of the disclosed elements. Thus if one embodiment comprises
elements
A, B, and C, and a second embodiment comprises elements B and D, then the
inventive
33

CA 02821177 2013-07-12
subject matter is also considered to include other remaining combinations of
A, B, C, or
D, even if not explicitly disclosed.
[00169] As used herein, and unless the context dictates otherwise, the
term
"coupled to" is intended to include both direct coupling (in which two
elements that are
coupled to each other contact each other) and indirect coupling (in which at
least one
additional element is located between the two elements). Therefore, the terms
"coupled
to" and "coupled with" are used synonymously.
[0001] The embodiments of the systems and methods described herein may be
implemented in hardware or software, or a combination of both. These
embodiments
may be implemented in computer programs executing on programmable computers,
each computer including at least one processor, a data storage system
(including
volatile memory or non-volatile memory or other data storage elements or a
combination thereof), and at least one communication interface. For example,
and
without limitation, the various programmable computers may be a server,
network
appliance, set-top box, embedded device, computer expansion module, personal
computer, laptop, personal data assistant, cellular telephone, smartphone
device,
UMPC tablets and wireless hypermedia device or any other computing device
capable
of being configured to carry out the methods described herein.
[0002] Program code is applied to input data to perform the functions
described
herein and to generate output information. The output information is applied
to one or
more output devices, in known fashion. In some embodiments, the communication
interface may be a network communication interface. In embodiments in which
elements are combined, the communication interface may be a software
communication
interface, such as those for inter-process communication (IPC). In still other

embodiments, there may be a combination of communication interfaces
implemented as
hardware, software, and combination thereof.
[0003] Each program may be implemented in a high level procedural or
object
oriented programming or scripting language, or both, to communicate with a
computer
system. However, alternatively the programs may be implemented in assembly or
machine language, if desired. The language may be a compiled or interpreted
34

CA 02821177 2013-07-12
language. Each such computer program may be stored on a storage media or a
device
(e.g., ROM, magnetic disk, optical disc), readable by a general or special
purpose
programmable computer, for configuring and operating the computer when the
storage
media or device is read by the computer to perform the procedures described
herein.
Embodiments of the system may also be considered to be implemented as a non-
transitory computer-readable storage medium, configured with a computer
program,
where the storage medium so configured causes a computer to operate in a
specific
and predefined manner to perform the functions described herein.
[0004] Furthermore, the systems and methods of the described embodiments
are
capable of being distributed in a computer program product including a
physical, non-
transitory computer readable medium that bears computer usable instructions
for one or
more processors. The medium may be provided in various forms, including one or
more
diskettes, compact disks, tapes, chips, magnetic and electronic storage media,
volatile
memory, non-volatile memory and the like. Non-transitory computer-readable
media
may include all computer-readable media, with the exception being a
transitory,
propagating signal. The term non-transitory is not intended to exclude
computer
readable media such as primary memory, volatile memory, RAM and so on, where
the
data stored thereon may only be temporarily stored. The computer useable
instructions
may also be in various forms, including compiled and non-compiled code.
[00170] Fig. 1 illustrates a simplified stationary gaming machine 10
wirelessly
communicating with a mobile gaming device 11. The gaming machine 10 may be
licensed for use in the particular jurisdiction (e.g., Nevada) in which it is
operated. The
gaming machine 10 may instead be a server. In the example of Fig. 1, the
mobile
gaming device is a tablet 11, such as an iPad tablet. The gaming machine 10
may be
played in a conventional manner as well as played remotely using the tablet
11.
[00171] Mobile gaming device 11 is operable by a user and may be any
portable,
networked (wired or wireless) computing device including a processor and
memory and
suitable for facilitating communication between one or more computing
applications of
mobile gaming device 11 (e.g. a computing application installed on or running
on the
mobile gaming device 11), the gaming machine 10. A mobile gaming device 10 may
be

CA 02821177 2013-07-12
a two-way communication device with advanced data communication capabilities
having the capability to communicate with other computer systems and devices.
The
mobile device may include the capability for data communications and may also
include
the capability for voice communications, in some example embodiments.
Depending on
the functionality provided by the mobile gaming device 11, mobile device may
be
referred to as a portable electronic device, smartphone, a data messaging
device, a
two-way pager, a cellular telephone with data messaging capabilities, personal
digital
assistant, a wireless Internet appliance, a portable laptop computer, a tablet
computer,
a media player, an electronic reading device, a data communication device
(with or
without telephony capabilities) or a combination of these.
[00172] The gaming machine 10 in the example includes a bottom display 12
that
may be a thin film transistor (TFT) display, a liquid crystal display (LCD), a
cathode ray
tube (CRT), or any other type of display. The display 12 may also be a
transparent area
revealing physical motor-driven reels. In the example shown, the main game in
display
12 is the conventional random selection of a 3x3 array of symbols, where an
award is
granted based on the combination of symbols across a pay line 13. The main or
primary
game can be any game, such as a 5 column x 3 row array of symbols, a 5x4 array
of
symbols or any other size or shape array, a video card game, or other game.
[00173] A top display 14 is a video screen, which may be similar to the
display 12,
that displays a secondary game or a static display.
[00174] A coin slot 16 accepts coins or tokens in one or more
denominations to
generate credits within the machine 10 for playing games. An input slot 18
accepts
various denominations of banknotes, or machine-readable tickets, or player
tracking
cards and may output printed tickets for use in cashless gaming. A coin tray
20 receives
coins or tokens from a hopper upon a win or upon the player cashing out.
Player control
buttons 22 include any buttons needed for the play of the particular game or
games
offered by the machine 10 including, for example, a bet button, a spin reels
button, a
cash-out button, and any other suitable button. Buttons 22 may be replaced by
a touch
screen with virtual buttons.
[00175] The tablet 11 may include a touch screen 24 that displays a user
interface
and generally replicates what would normally be seen on the gaming machine's
display
36

CA 02821177 2013-07-12
12. When playing in the remote mode, the gaming machine display 12 may not
display
the game, and the game may only be displayed on the tablet 11.
[00176] Fig. 2 illustrates basic circuit blocks in the gaming machine 10
of Fig. 1. A
game controller board 30 includes a processor (CPU) that runs the gaming
program
(including the remote-gaming application) stored in a program ROM, such as a
CD. The
program ROM may include a pseudo-random number generator program for selecting

symbols and for making other random selections. At least the active portion of
the
program is stored in a RAM on the board 30 for access by the processor. A pay
table
ROM on the board 30 detects the outcome of the game and identifies awards to
be paid
to the player. A bill/ticket validator 45 and coin detector 46 add credits for
playing
games. A payout device 47 pays out an award to the player in the form of
coins, a
printed ticket, or a credit to the player's account at the end of a game or
upon the player
cashing out. Player control inputs 48 receive push-button inputs for playing
the game
and touch screen sensor inputs for playing the game. An audio board 49 sends
signals
to the speakers. A display controller 50 receives commands from the processor
and
generates signals for the various displays 51. The touch screen portion of the
displays
51 provides player selection signals to the processor.
[00177] The game controller board 30 transmits and receives signals to and
from a
network 56 via a communications board 58. The network 56 includes servers and
other
devices that monitor the linked gaming machines 10 and GM1-GM-N and provide
communications between the machines 10 and GM1-GM-N.
[00178] The gaming machine may also include a wireless transceiver 60 that
communicates with the tablet 11 via, for example, standard WiFi or Bluetooth,
or other
protocol based on the wireless communication capabilities of tablet 11. When
the
gaming machine 10 is operating in its remote play mode, the user interfaces of
the
gaming machine 10 may be inactive, and the tablet 11 will display the
appropriate user
interface and game.
[00179] Fig. 3 illustrates some pertinent functional elements in the
tablet 11 used
for the remote play.
[00180] The tablet 11 includes at least one CPU 62 for carrying out the
game and
support functions. A memory 64 (RAM and ROM) stores the game program files,
game
37

CA 02821177 2013-07-12
play data, and other files for remote gaming. Such files may be downloaded
from a
website or server, for example. The user interface files 66 for carrying out
the game, the
display message files 68, the reel spin routine files 69, user preferences 77
and final
result control files 70 are shown separately but are stored in the memory 64.
The
display messages files 68 contains messages that are displayed automatically
if the
communications link between the tablet and gaming machine is broken, as well
as
contains other messages. User preferences 77 may store attributes about the
user such
as gender, location, registration number, user identifier, address, phone
number,
occupation, credit score, game preferences, privacy preferences, and so on.
[00181] The touch screen display 72 displays the game and user interface.
A
display processor 74 receives high level instructions from the bus 76 and
generates
pixel control signals for the touch screen display 70.
[00182] A transceiver 78 (e.g. WiFi and/or Bluetooth transceiver, or other
protocol)
generates and receives wireless signals for communicating with the transceiver
60 in
the gaming machine 10. A decoder 80 (e.g., a modulator/demodulator) converts
received signals to digital (baseband) signals and converts signals to be
transmitted to
the appropriate format signals. The decoder 80, in combination with the CPU
62, carries
out the required protocols for establishing the communications link,
performing
encryption/decryption, etc.
[00183] A communications link detector 80 detects that the communications
link
between the tablet 11 and the gaming machine 10 has been broken, such as by
the
player moving out of the play area, interference, etc.
[00184] A game play collector 75 detects game play on tablet 11 and
collects raw
game play data in real-time or near-real time for provision to recommendation
system,
as will be described herein. The memory 64 may also contain historical game
play data
files, or a reference or index to historical game play data files stored on an
external
server. The historical game play data may also be used by recommendation
system.
Preference data stored as user preferences may also be used by recommendation
system. The recommendation system is operable to recommend available games and

gaming machines 10 to tablet 11 based on collected game play data, and other
data.
38

CA 02821177 2013-07-12
MOBILE GAMING DEVICE CARRYING OUT UNINTERRUPTED GAME DESPITE
COMMUNICATIONS LINK DISRUPTION
[00185] Fig. 4 is a flowchart showing various steps for carrying out
certain
processes in accordance with embodiments described herein.
[00186] Initially, the player downloads the remote gaming application,
such as
from a website, and inserts her playing tracking card into the selected gaming
machine
to identify 10 the player and the player's account (step 84).
[00187] In step 86, a communications link is then created between the
tablet and
the particular gaming machine. No casino operator involvement is needed and no

customized tablet is needed. The player may use her own personal tablet. The
gaming
machine has a button or touch screen icon that the player presses to initiate
the
registration process. An NFC technique may instead be used to initiate the
registration
process. The gaming machine then may display the set-up instructions to the
player.
[00188] In one embodiment, the gaming machine contains a wireless
transceiver
(e.g., a WiFi transceiver) and uses a protocol that detects the proximity of
the tablet's
WiFi signal, by detecting signal strength, and automatically establishes a
communications link with the tablet. The program downloaded to the tablet
contains the
communications set-up program. This is a type of NFC technique. Appropriate
handshaking is performed to establish the link The tablet's MAC address (or
other
unique hardware or software code) may be used to identify the tablet and is
linked to
the player's account.
[00189] In another embodiment, the player sets up the communication link
by
entering the gaming machine's unique ID code displayed by the gaming machine.
[00190] In another embodiment, the casino (or other gaming establishment)
has a
central WiFi system identifier that is displayed on the player's tablet, and
the player
selects that WiFi system and enters the gaming machine code for setting up a
communications link with the gaming machine. The tablet then wirelessly
communicates
with a central server in the casino, which then communicates with the
addressed
gaming machine via the casino's network.
39

CA 02821177 2013-07-12
[00191] Once the communications link is set up between the tablet and the
gaming
machine, the player establishes a session time (step 88). A menu of allowable
session
times may be presented to the player, and the player selects one of the times,
such as
30 minutes. The sessions may be renewed a certain number of times.
[00192] In step 90, the player establishes credits in the gaming machine
by using
the player's account, depositing cash, inserting a printed ticket, or other
means. The
player may then roam within the allowable range while playing the game in a
manner
that is similar to the way the player would play if seated at the gaming
machine.
[00193] In step 92, the gaming machine, pursuant to the machine's internal
gaming program, then transmits instructions to the tablet to display the
remaining
session time, the user interface for the game, and the game itself. In some
scenarios,
the player may choose a game from a menu of games. It is presumed that a video
reels
game will be played.
[00194] In step 94, the player uses the touch screen of the tablet to bet
and begin
the reel spin. The player inputs are transmitted to the gaming machine.
[00195] In step 96, a stored program in the tablet (reel spin routine
files 69 in Fig.
3) causes the tablet to display the reels spinning, which may be a generic
animation of
blurred symbols moving down vertically to simulate actual reels spinning. The
gaming
machine may command the animation to be initiated or the tablet may
automatically
initiate the animation after the spin-reel button is pressed. The spin-reels
program may
be downloaded from the gaming machine or a server after the communications
link is
set up and prior to the first game played on the gaming machine being
initiated. The
spin-reel program may be different for each type of game and may therefore
have to be
customized for the particular gaming machine being played. In one embodiment,
only
the different graphics are downloaded by the gaming machine before a game is
initiated
and other functions are generic to all the gaming machines. Such generic
functions may
be part of the generic gaming program initially downloaded to the tablet.
[00196] In step 98, the gaming machine then predetermines the outcome of
the
reel spin using a pseudo-random number generator and a look-up table to
identify the
required stop positions of the reels. The gaming machine also determines the
resulting

CA 02821177 2013-07-12
award using a pay table in the ROM. The reel spin outcome and award are then
transmitted to the tablet.
[00197] During all steps, the gaming machine continually senses whether
the
communications link is still up by, for example, receiving periodic signals
from the tablet
or receiving acknowledgements from the tablet that a command has been
received. The
communications link may be broken by the player moving out of the allowable
range,
interference, or other cause. All playing data is stored in the gaming machine
and/or
central server, so no information is lost in the event of a communications
link failure.
However, losing the communications link during the game, rather than between
games,
is particularly problematic since the player has already placed a bet and
started the
reels spinning. If game is terminated upon a communications link failure and
the tablet
animation is stopped, the player may then have to determine the outcome of the
game
by accessing the internal memory files in the gaming machine. This is
disconcerting to
the player. To overcome this drawback, embodiments described herein may
perform the
following routine upon the communications link being interrupted during a
game.
[00198] In step 100, if the communications link is still up, the final
game outcome
is transmitted by the gaming machine along with the award amount, and the
information
is received by the tablet (step 102). The tablet then displays the reels
stopping at the
final stop positions identified by the gaming machine. The tablet's internal
program is
used to animate the stopping of the reels at the predetermined stopping
positions.
[00199] In step 104, the tablet displays the award amount determined by
the
gaming machine
[00200] If the communications link is broken in step 100 (such as due to
the player
roaming beyond the allowable range) between the time the player pressed the
spin-
reels button and the time that the gaming machine transmitted the final game
outcome,
the internal program in the tablet (part of the reel spin routine files 69 in
Fig. 3) causes
the animated reels to keep spinning, so the player believes the game is still
occurring
(step 106). The tablet also displays a stored message telling the player to
return to the
play area within a certain time, such as 5 seconds.
[00201] In step 108, the gaming machine re-transmits the final outcome and
award
and, assuming the player has re-entered the allowable range within the
allowable
41

CA 02821177 2013-07-12
"reconnect timeout" period (step 110), the tablet receives the final result
and stops the
reels at their final positions (step 102). Thus, the player perceives the
continuous
spinning of the reels as just an extended game rather than an interruption in
the game.
[00202] If the player does not re-enter the playing range within the
allowable
"reconnect timeout" period (step 110), the gaming machine suspends the game
play
(step 112). The player must now re-establish the session at the gaming machine
to
complete the game. The game may then be completed by a re-spinning of the
reels and
stopping of the reels at the predetermined stopping positions.
GEO-FENCE FOR DETERMINING IF TABLET WITHIN AN AUTHORIZE AREA
[00203] In one embodiment, the allowable range for play on the mobile
device
(e.g., a tablet or smartphone) is referred to as a Geo-fence, and the Geo-
fence
application program is downloaded to the mobile device, such as via the
internet. In one
embodiment of a Geo-fence system, the mobile device sends and receives signals
to
and from WiFi transceivers distributed around a designated area in the
licensed venue.
The WiFi transceivers transmit signals, including Received Signal Strength
Indication
(RSSI) data, which are received by the mobile device and processed by the
mobile
device. The processed signals encode the device's location relative to the
transmitters.
The mobile device then transmits the processed signals using the device's WiFi
system,
and a server determines whether the mobile device is within the designated
area. A
classification algorithm is used together with the RSS1 data to accurately
determine
whether the mobile device is in or outside the gaming venue boundary with much
higher
precision than GPS, IF based location, Cell site or WiFi triangulation
methods. In one
embodiment, the server is networked to all the gaming machines and may control
the
gaming machines. If the mobile device is transported outside of the Geo-fence
and the
player does not re-enter the Geo-fence within a given time in response to a
displayed
warning message, the gaming machine is controlled to terminate the session. A
Geo-
fence system for a mobile gaming device is disclosed in provisional patent
application
61/757,488, filed on January 28, 2013, incorporated herein by reference.
Mobile
computing devices may be configured with the capability to run the Geo-fence
application. The tablet's internal GPS capability may be used instead of, or
in
conjunction with, the Geo-fence, but GPS may be less accurate than the Geo-
fence.
42

CA 02821177 2013-07-12
[00204] Temporarily moving outside of the Geo-fence does not necessarily
cause
a communications link failure since there may be adequate signal strength
outside the
area.
[00205] More details of a suitable novel and inventive Geo-fence are
presented
herein.
[00206] Since the tablet may not be licensed by the jurisdiction for
gaming outside
the casino (or other licensed venue) or other designated area, it may be
required to
have an enforced boundary for the tablet. The tablet may be blocked from
carrying out a
game if it is detected that the tablet is outside the designated area.
[00207] In one embodiment, a Geo-fence system is set up in the venue,
wherein
WiFi transceivers are distributed around the designated area. Bluetooth
transceivers or
other beacons may also be distributed for added accuracy, security and
reliability. The
venue may initially create models by moving mobile devices, such as different
models of
tablets, smartphone, etc., around the designated area, including along the
border areas,
while conducting communications between the mobile device and the various WiFi

transceivers. During this "calibration" phase, the mobile devices may transmit
Received
Signal Strength Indicator (RSSI) signals (or processed RSSI data) to the
venue's
system that is stored and used to create the models, or the mobile devices
create the
models themselves using the RSSI information. The models identify sets of data
that
are consistent with various types of mobile devices being within the
designated area.
The models are stored in the venue's system. Mobile devices may be equipped
with an
RSSI system that detects and identifies the received signal's power. In one
embodiment, there may be up to 256 levels designated by the mobile device.
[00208] During a gaming session with the player's own tablet or
smartphone, a
test to determine the location of the mobile device is periodically performed,
such as
prior to a game being commenced, where the mobile device receives signals from
the
various WiFi transceivers (or other types of transceivers), and the WiFi
transceivers are
identified with a code. The mobile gaming application, which has been
previously
downloaded to the mobile device, controls the mobile device to transmit the
various
RSSI levels, each RSSI level being associated with a WiFi transceiver using
the
transceiver's code, to the venue's Geo-fence system. By detecting the various
RSSI
43

CA 02821177 2013-07-12
levels associated with each of the WiFi transceivers, then performing a
classification
algorithm on these levels to identify a position or other data set for the
mobile device
with respect to the WiFi transceivers, and then comparing the location/data
set to the
models previously created by the venue for the player's particular mobile
device, the
Geo-fence system is able to determine whether the mobile device is within or
outside of
the designated area. In another embodiment, the mobile device itself processes
the
RSSI data and the processed information is transmitted to the Geo-fence system
for
comparison to the models.
[00209] In another embodiment, the mobile device also stores the models,
and
determines whether it is within the designated area. Suitable algorithms may
be
implemented without undue experimentation. A similar test using Bluetooth or
other
protocols may also be performed for added accuracy (smaller area) security and

reliability.
[00210] If the mobile device is determined to be within the designated
area and the
mobile device is authenticated, communications between the mobile device and
the
gaming terminal may then proceed. Authentication may simply require the mobile

device to transmit a unique code identifying the device or the playing session
and
matching the code to a previously stored code in the venue's system. In one
embodiment, the code is a barcode initially scanned or otherwise received by
the mobile
device at the beginning of a playing session.
[0100] In another embodiment, the mobile application may require the mobile
device to
transmit an identifying signal at a certain power level, and the different
RSSI levels
detected at the various WiFi transceiver locations are used to identify the
position of the
mobile device to determine whether the mobile device is within the designated
area.
[0101] Although the Geo-fence system described above is believed novel and
inventive,
other location systems may also be used for other inventive embodiments. GPS
may
not be suitable due to signal attenuation by the venue and the lack of
accuracy.
REMOTE GAMING METHOD ALLOWING TEMPORARY INACTIVATION WITHOUT
TERMINATING PLAYING SESSION DUE TO GAME INACTIVITY
[0102] Fig. 5 illustrates the gaming machine 10 displaying that the machine is
being
played remotely and shows the time left in the remote session. Players may use
the
44

CA 02821177 2013-07-12
touch screen of the gaming machine to establish a queue to play the machine
after the
current session. The waiting players may be notified via their tablets when
the gaming
machine is freed up.
[0103] Tablet communications may be continuously monitored to determine if the

remote player is actively playing. If there is no activity within a few
minutes, the session
may be terminated. However, this may not give the player an opportunity to
briefly
suspend play for reasons such as a washroom break, a smoking break, a dinner
break,
or briefly going to the player's hotel room.
[0104] Figs. 6 and 7 are directed to a feature that allows the player to pause
the game a
certain number of times during the session without the session terminating for
inactivity.
[0105] Fig. 6 illustrates that the tablet 11 may display a pause game icon 120
and,
optionally, a time-set icon 122. Touching the pause game icon 120 may give the
player,
for example, a 5, 10, or 15 minute period of allowable inactivity without the
session
being terminated. During this time, the tablet may be taken out of the
allowable area
without any penalty. When the player re-enters the allowable area and sends a
communication to the gaming machine 10, the session will commence. This
feature is
further explained with reference to the flowchart of Fig. 7.
[0106] In step 140, the remote game program rules require that the period
between
games (i.e., game inactivity) does not exceed a maximum time or else the
tablet will be
commanded to display a warning message to the player to resume play. If the
warning
is not heeded, the session will be terminated.
[0107] In steps 142 and 144, the player, at any time, may touch a pause game
icon on
the tablet to suspend the game-inactivity-rules for a certain period of time,
such as 5-15
minutes. The pause time may be selected by the player or fixed. The allowable
pause
time may change depending on the day, time of day, queued players waiting to
play the
gaming machine, etc.
[0108] In step 146, the tablet is now inactive (or locked) and the game
inactivity rules
enforced by the gaming machine are temporarily suspended. The pause does not
extend the allowable session time.

CA 02821177 2013-07-12
[0109] In step 148, the player touches an unlock icon to resume play. The
tablet sends a
signal to the gaming machine that the tablet is now unlocked. The game
inactivity rules
are again applied. The player may be allowed a maximum number of pauses per
session.
[0110] In step 150, if the player does not unlock the tablet within the
allowable inactivity
period, the session is terminated, the player is cashed out, and the next
player in the
queue may play the gaming machine.
[0111] Cashing out the player may be by crediting the player's account, or by
printing a
ticket by the gaming machine or other terminal, or by displaying a ticket on
the player's
tablet. A barcode on the ticket may be scanned at a redemption station to
verify it and
determine the amount. The verification code must match the player's tracking
card code
for the ticket to be redeemed.
[0112] Although a gaming machine has been used as the secure terminal that
performs
all the gaming functions, a terminal or server that cannot be directly played
by a player
may also be used.
[0113] Any game may be presented on the tablet, including video reels, video
poker,
keno, roulette, blackjack, or other games.
REMOTE GAMING USING PLAYER' S OWN MOBILE DEVICE IN CONJUNCTION
WITH A GAMING TERMINAL
[0114] The tablet itself may be a commercially available tablet configured
with mobile
gaming application to couple with gaming terminal. The mobile gaming device
may be
any other portable computing device, including smartphones, personal digital
assistants,
laptop computers, etc. The players may use their own mobile device or other
unsecure
mobile device as the gaming device after the player has downloaded the
application for
the remote gaming program into their device memory (e.g. data storage device).
The
application may be available on-site or via the internet, such as from a
commercially
available application store such as the Apple, BlackBerry, or Google App
Store. The
communications link between the gaming machine and mobile gaming device may be

established by using the device's unique serial number, MAC address, or other
hardware signature. It may be common for the player to leave the venue or
transmission
46

CA 02821177 2013-07-12
reception area while carrying their mobile gaming device. The encrypted
communications may be by Bluetooth, WiFi, or other supported method.
[0115] By the players using their own devices, they are familiar with their
operation.
Further, the casino does not need to supply the mobile gaming devices.
Therefore, the
remote gaming system may be readily implemented at virtually no cost, and
increased
play activity will bring in added revenue to the casino.
[0116] Embodiments described herein also apply to tablets and other mobile
devices
where the screen is a foldable screen having two sections, where one section
of the
screen is used for the game display and the other section of the screen is
used for
advertisements or as a user interface or for a bonus game.
[0117] The gaming machines with which the mobile gaming devices are
communicating
are licensed for the venue (e.g., a casino or video lottery terminal (VLT)
establishment)
in the particular jurisdiction (e.g., Nevada) in which they are operating.
Since the mobile
gaming device is located in the same jurisdiction, the gaming rules in that
jurisdiction
also apply to the remote play. For example, the rules for a particular
jurisdiction may
limit the number of gaming machines, including customized remote gaming
devices.
Since the mobile gaming device perform a user interface function, the mobile
gaming
device may not be classified as a gaming device and may need a special license
by the
jurisdiction. Thus the player may legally operate the mobile gaming device
without it
being licensed.
[0118] In one embodiment, a central server may also wirelessly communicate
with the
player's mobile gaming device, such as through the existing communications
link
already set up between the mobile gaming device and the gaming machine, or
through
a communications link set up between the mobile gaming device and the central
server.
The player may set up the general communications link with the central server
by
viewing available WiFi networks and selecting the particular network.
[0119] The mobile gaming device may even wirelessly connect from within a
licensed
gaming zone (e.g., a casino), via the internet and/or the casino's WiFi
network, to a
gaming machine that is located in another licensed gaming zone (e.g., another
casino).
This allows a player to play in a gaming zone of choice or convenience without
causing
either casino to exceed a regulated limit on the total number of authorized
gaming
47

CA 02821177 2013-07-12
machines in the casino. Therefore, the number of active players in a
particular casino
may exceed the physical number of gaming machines in that casino. Further the
player
may access games not available in the gaming zone where the player is located.
The
revenue in such case may be shareable using an agreed upon formula that
involves two
or more parties such as two casino owners or two VLT establishmentsNLT
operators.
The casinos' respective networks keep track of all the transactions on gaming
machines
located in the casino and identify the particular tablets as well as the
payouts for each
tablet. If the player is located in one casino and remotely playing a gaming
machine that
is located in another casino, the player may still cash out in the local
casino, since the
payout may be tracked to the proper gaming machine and casino for fee sharing
purposes. All the gaming machines are assumed to be linked via a network to
one or
more central servers in the gaming establishment or VLT operator
establishment. The
various casino networks may share information via the internet or by other
channels.
[0120] An additional advantage of the mobile gaming device is that the player
may walk
to a casino staffer or kiosk for any help with the game rather than wait at a
gaming
terminal for a staffer to help.
REMOTE GAMING METHOD WHERE VENUE'S SYSTEM RECOMMENDS
DIFFERENT GAMES TO REMOTE PLAYER USING A MOBILE GAMING DEVICE
[0121] Fig. 8 is a flowchart illustrating another feature of the remote
playing system
relating to remotely switching gaming machines.
[0122] In step 160, the player remotely plays a first type of game on a first
gaming
machine, as described above. The first game, which may be a video reels type
game,
will typically have a certain theme and bonus game.
[0123] In step 162, a central server may advise the player on other games
offered by
available gaming machines that may be played remotely and the locations of
such
gaming machines. The central server may recommend certain games and machines
based on the player current live game data play, or based on other criteria.
Further
details of the recommendation process will be described herein. For example,
central
server may collect a pre-recommendation threshold amount of data prior to
recommended other games. That is, central server may collect a minimum amount
of
data in order to make a recommendation. When the minimum amount of data (e.g.
pre-
48

CA 02821177 2013-07-12
recommendation threshold amount) has not been collected then the central
server may
make recommendations based on default configurations. The defaults
configurations
may be based on the location of the mobile device 10, selected game, and so
on.
[0124] If the player has not used a player tracking card to play remotely, the
player is
anonymous, there may be no stored history of the player's gaming patterns in
the
casino's network, on central server, or on a third party server. In such a
case, the server
monitors (in real time or near real time) the anonymous player's current game
factors,
game features or gaming habits for the current session, such as the type of
game being
played, the frequency of play, and the betting amounts. These are examples
only and
other game factors will be described herein. Based on this game play data, the
server
may identify the player as a certain type of player and accesses a look-up
table or an
algorithm is performed to identify other gaming machines and games that are
consistent
with the player's current gaming pattern. Details of the recommendation
process will be
described herein. Such recommendations are then transmitted to the player. If
the
player has used her player tracking card, then the player's stored past gaming
history
(e.g. historical game play data) may also be used by the server to recommend
other
gaming machines and games to the player. The mobile gaming device's own GPS
navigation system may be used to find the gaming machines, or another type of
navigation system may be used. In some example, the player may be required to
physically go to the new gaming machine to set up a playing session.
[0125] In some embodiments, the player may be playing a game on gaming machine
10
and may receive recommendations for additional games based on game play data,
as
described herein.
[0126] In step 164, the player may select one of the suggested or recommended
games,
offered by a second gaming machine 10, by touching a "select" icon on the
tablet (or
other mobile gaming device). The player may otherwise select a suggested game
offered by a second gaming machine, such as via the first gaming machine 10
the
player was originally playing on.
[0127] In step 166, after the player selects a suggested or recommended game
offered
by a second gaming machine 10 at 164, the player's credits are automatically
transferred from the first gaming machine to the second gaming machine, so
that the
49

CA 02821177 2013-07-12
player does not have to redeem any credit ticket from the first gaming
machine. In some
embodiments, a ticket or other transfer mechanism may be used to transfer
credits
between game machines. Further, for remote gaming, the communications link to
the
second gaming machine may be automatically set up without the player having to

physically register at the second gaming machine, since the communications
link
information is already known by the central server. The central server keeps
track of the
player's gaming history via the player's tracking card ID and data transferred
from the
networked gaming machines.
[0128] In another example of transferring credits, the remote player may not
use a
player tracking card and is, therefore, anonymous. The mobile gaming device
may be
linked to the first gaming machine at time T1 and the player may wish to
switch to an
available second gaming machine (based on the recommendation, for example),
since
the game the player wants to play may not be available on the first gaming
machine.
When the player selects to play the second gaming machine using the mobile
gaming
device, her credentials and registration of her mobile gaming device that were
used to
play the first gaming machine may be automatically migrated to the second
gaming
machine, such as through the casino's network or via wireless communications
between
the gaming machines and the mobile gaming device. The first gaming machine may

then be unlocked (available) and the second gaming machine will be linked to
the
mobile gaming device. The migration may take place only if the player had
enough
stored credits in the first gaming machine to play the second gaming machine.
[0129] If the player had used her player tracking card to register with the
first gaming
machine and has an account with the gaming venue, the migration takes place
without
the need to check the credit balance on the first gaming machine.
[0130] In step 168, the player then remotely plays the second gaming machine.
[0131] In another embodiment, the player selects a recommended game, and the
selected game may be downloaded via the network to the gaming machine the
player is
already playing. Therefore, no transfer of credits is required. After the
player is finished
with the session, the gaming machine automatically reverts back to the
original game
for the next player.

CA 02821177 2013-07-12
[0132] Additional details regarding analyzing a player's gaming preferences
and
suggesting games to the player may be found in U.S. Applications Serial Nos.
13/387,780 and 13/387,790, both entitled Automated Discovery of Gaming
Preferences,
by Bharat Gadher et al., incorporated herein by reference and claiming the
benefit of
U.S. Provisional Patent Application Serial No. 61/586,547. The present
recommendation system may use the systems and methods described in that
application for example.
[0133] In some venues, different gaming machines are owned by different
entities. In
the event that the player switches to different machines owned by different
entities, a
software program run by a server or the gaming machines determines the fees to
be
paid to each entity.
[0134] In one scenario, some games (and gaming machines) recommended by the
server may not even be located in the same venue (e.g., casino) as the one in
which the
player is currently located. In such a case, the player may still select that
game and play
the game remotely. The local venue's network acts as an intermediary between
the
remote venue's network and the player's tablet. The various venues' networks
may
communicate via the internet or other system. A fee sharing agreement between
venues may apply to the remote play. Therefore, if a casino is very crowded
and the
player's favorite gaming machines are being used, the player may remotely play
a
similar game or the same type gaming machine in another casino without leaving
the
first casino. Therefore, both casino's benefit from embodiments described
herein,
creating synergy.
REMOTE GAMING SYSTEM USING SEPARATE TERMINAL TO SET UP REMOTE
PLAY WITH A GAMING TERMINAL
[0135] In one embodiment, as shown in Fig. 9, the gaming venue (e.g., a
casino)
provides a dedicated printer terminal 172 for the player to cash out and
obtain a printed
ticket 174 with a barcode encoding the player and monetary value. The player
may
enter a session ID into the terminal 172 via a touchscreen 176 or keypad, or
the
information may be entered via the tablet 11 to identify the player, session,
or gaming
machine. In another embodiment, a Near Field Communications (NFC) link is
automatically established between the terminal 172 and the tablet 11 when the
tablet 11
51

CA 02821177 2013-07-12
is brought near the terminal 172. The required information may then be
automatically
transferred between the devices without the player being required to manually
enter any
data into the printer terminal 172. NFC is a standardized protocol, and both
devices may
be programmed with the NFC protocol. The tablet's WiFi or Bluetooth
transceiver will
typically be utilized, and the terminal 172 has a similar capability. The
terminal 172 then
detects the credits via the venue's network 178 (coupled to the gaming
machines 180)
and generates the printed ticket 174 for the player. The player may then
redeem the
ticket 174 for cash at the venue's ticket redemption area.
[0136] Additionally, the terminal 172 may also serve as a registration
terminal for setting
up the link between the tablet 11 and any gaming machine connected to the
network
178. Therefore, the player does not have to physically go to the gaming
machine to set
up the link. In one embodiment, the terminal 172 displays icons for each type
of game
offered. The player touches the desired icon, and the terminal 172 sets up the

communications link between the tablet 11 and the gaming machine providing the

game. Credits may be generated using a player tracking card and a casino
account, or
the player may deposit cash into the terminal 172. In one embodiment, the
wireless
communication is between the tablet 11 and the selected gaming machine. In
another
embodiment, the wireless communication is between the tablet 11 and the
terminal 172,
where the terminal 172 communicates with the selected gaming machine via the
casino's existing network 178.
[0137] Additionally, the terminal 172 may also allow the player to remotely
play games
supported by other licensed venues, where the different venues' networks
communicate
with each other via the internet or other communications system. All the
networks can
ultimately communicate with any gaming machine (and the terminal 172)
connected to a
network. The terminal 172 may display an assortment of games, some of which
are not
available in the local venue but which are available in other licensed venues.
The player
may select any of the games. If the player plays a game that is supported by a
different
venue, a fee sharing agreement between venues may determine how to allocate
any
revenue. Therefore, if a player wants to play a certain game but all the
associated
gaming machines in the local venue are being used, the player may remotely
play the
game on a gaming machine located in a separate casino. This effectively
increases the
52

CA 02821177 2013-07-12
number of gaming machines in the casino. Thus there is synergy since both
casinos
profit. The terminal 172 may act as a communications hub for the tablet (e.g.,
using
WiFi signals) or another communications method may be used.
[0138] The terminal 172 may also allow a player to play games anonymously,
such as
for example, without requiring registration of personal information. The
player may be
assigned a unique identifier, or other identification process, that enables
terminal 172 to
track the anonymous player's game play. This may include tracking the
anonymous
player's credits, for cash-out and transfer between gaming machines, while
still allowing
the player to play anonymously. Accordingly, a player can remain anonymous and
still
can be awarded credits, which will be associated with an indirect identifier,
for example.
[0139] In a remote multiplayer context (e.g. multiple players playing a game
together via
mobile gaming devices 11), as described herein, the terminal 172 may associate
each
mobile game device 11 with one or more regulated locations. The terminal 172
is
operable to dynamically construct a multiplayer gaming network between two or
more
mobile gaming devices 11 over one or more regulated locations. The terminal
172 may
generate an audit log and track the location of mobile gaming device 11 to be
able to
show that during the multi-player session each of the players was in regulated
location
during all of the time that they were part of the multi-player gaming session.
This may
provide be an audit trail for regulatory purposes. Geo-fencing, as described
herein, may
be used to track and monitor the location of players. That is, geo-fencing may
be used
to determine if a mobile gaming device 11 is inside or outside regulated area.
The
terminal may also be used to implement maximum number of player limits for a
multi-
player game.
[0140] The terminal 172 may also provide a gaming session manager. The game
session manager may continuously monitor and validate the location of
participating
players (e.g. the location of the associated mobile gaming device 11). If one
or more of
the players ceases to be in a regulated location, then the session manager
terminate
the player's ability to continue participating in the session. If there are
only two players
then the whole multi-player gaming session is terminated, as only one player
would
remain active in the session. In some embodiments, each location may have a
gaming
session manager to monitor and validate players for that location. The
terminal 172 may
53

CA 02821177 2013-07-12
coordinate the transfer of credits between gaming machines 10, locations 10,
venues,
players, and the like. In a multi-player session, the players may join the
session using a
gaming machine 10, a mobile gaming device 11, or a combination thereof.
[0141] The terminal 172 may implement continuity of service and the
uninterrupted
communication link functionality as described herein.
[0142] Terminals 172 may be at one or more networked locations/venues. Each
terminal
172 may create and provide communication links to mobile gaming devices 11 and

machines 10, to enable remote gaming between mobile gaming devices 11 and
gaming
machines 10. Players can play at gaming machine 10 or on mobile gaming device
11.
Terminal 172 is operable to transfer credits between gaming machines 10 and
mobile
gaming devices 11.
REMOTE GAMING SYSTEM ALLOWING ADJUSTMENT OF ORIGINAL 3D IMAGES
FOR A MOBILE GAMING DEVICE
[0143] Fig. 10 identifies certain steps used when the gaming machine generates

stereoscopic images for 3D viewing.
[0144] A relatively new video gaming format displays the game on the gaming
machine
screen in 3D (step 190). A standardized video format may be adopted for gaming

machines. Such 3D viewing may require a special lenticular lens on the screen
so that
the player sees a slightly different image with each eye. The screen contains
narrow
linear lenses extending in the vertical direction, where lenses that direct
one image to
the right eye are interposed between lenses that direct another image to the
left eye.
The image generated by the screen is a composite of two different offset
images: one to
be perceived by the right eye (behind one set of the lenses) and one to be
perceived by
the left eye (behind the other set of lenses). The two images are stereoscopic
and are
perceived by the viewer (at the correct distance) as a single 3D image. Such
3D image
generation is well known. Other gaming machines may require the player to wear

special glasses, whether they be polarized, or colored, or electrically
synchronized with
the display.
[0145] Some tablets 11 do not have the lenticular lens screen and are unable
to display
the 3D image. Therefore, such tablets must only display a 2D image. Even a
tablet that
has a lenticular lens may still display a 2D image if the two offset images
are identical.
54

CA 02821177 2013-07-12
Some tablets 11 or other mobile gaming devices 11 may display a 3D image but
in a
different format than the gaming machine 10. For illustrative purposes 3D
tablets are
provided by Qualcomm and GADMEI, as non-limiting examples. A tablet that has a

lenticular lens may only be able to display 3D images in a particular format
for that
tablet.
[0146] Therefore, when transmitting the 3D video display information by the
gaming
machine to a standard tablet (or other off-the-shelf mobile device), problems
arise since
the tablet may not be configured to display an image that can be viewed by the
player in
3D. Further, the video formats for the server or the gaming machine may be
different
from the format used by the tablet to display video.
[0147] In step 192 of Fig. 10, to solve such problems related to 3D video if
the tablet
does not have 3D capability, the server or gaming machine converts the
original 3D
video format into a standard 2-D format that can be processed by off-the shelf
mobile
gaming devices (tablets, smartphones, etc.). Alternatively, the remote gaming
program
downloaded into the mobile gaming device includes one or more programs for
converting the original 3D video format into the appropriate 2D video stream
for the
mobile gaming device. The mobile gaming device may not have the computing
power to
convert the formats in real time, however. If such is the case, the server or
gaming
machine detects the type of mobile gaming device used (based on specifications

transmitted by the mobile gaming device) and, based on that information,
determines
that the server or gaming machine processor is required to convert the 3D
video format
into the appropriate 2D format and transmit the 2D format to the mobile gaming
device.
[0148] [0148] In other embodiments, the gaming machine 10 or central server
stores
different 3D versions or formats of the same game. As noted, mobile gaming
device 11
may include a 3D display that may display 3D images with or without glasses.
The
gaming machine 10 or central server may receive configuration data from the
mobile
gaming device 11 to determine a particular format optimized, compatible, or
preferable
for the mobile gaming device 11 from the available versions or formats of the
game.
That is, gaming machine 10 or central server detects configurations for the
mobile
gaming device 11 and provides the appropriate 3D version. The gaming machine
10 or
central server may include a library of device limitations and requirements to
determine

CA 02821177 2013-07-12
the appropriate 3D version. Accordingly, gaming machine 10 or central server
provides
a version optimized for the capabilities and requirements of the mobile gaming
device
11 from the available versions of the game
[0149] Some mobile gaming devices may be able to display a 3D video image to
the
player in a special format. For example, the tablet may have a lenticular lens
overlying
the screen. The tablet's required 3D video format may be identified to the
server or
gaming machine, and the conversion into the compatible format may be performed
by
the server or gaming machine. In some cases, the formats will be the same and
no
conversion needs to take place.
[0150] In one embodiment, when the mobile gaming device connects to the gaming

machine, the mobile gaming device's downloaded software controls the device to
send
a message to the server or gaming machine describing what type of 3D display
it
supports, if any, and what format it requires. The server or gaming machine
then
determines whether the mobile device is fast enough to do the work of the
conversion
on its own or if the server or gaming machine is required to convert the image
for
transmission.
[0151] Once the determination has been made, the server or gaming machine
either
converts the images and transmits them to the mobile device or sends the
original
images to the mobile gaming device to be converted to the required format.
[0152] In some systems, the mobile gaming device generates the video signals
internally based on a locally stored graphic program and does not receive real-
time
video signals from the server or gaming machine. In that case, the mobile
gaming
device just receives high level commands from the server or gaming machine to
display
a stored user interface followed by displaying the running of the stored game
routine,
the final result, and any award. The server or gaming machine may initially
upload the
required displays and routines to the mobile device prior to the first game
commencing.
Therefore, what the remote player sees may be different from what a player
would see if
playing at the gaming machine in a conventional manner. In this situation, the
mobile
device might still require some format conversion of the original display
information for
displaying in 2D or 3D. This work could be done by either the mobile gaming
device or
the server/gaming machine, depending on the capabilities of the mobile gaming
device.
56

CA 02821177 2013-07-12
Like the situation presented before, the server/gaming machine may ask the
mobile
gaming device what format it supports and determine if it is required to do
any needed
conversions.
[0153] In some embodiments, the player may need to use special glasses for
viewing
the 3D image, or a temporary lens overlay may be provided by the venue.
[0154] Further details regarding conversion of 3D formats between different
devices (not
for gaming) include US Publication 2011/0032329, incorporated herein by
reference.
[0155] Generally, the gaming machine 10 screen is much larger than the tablet
11
screen. The lens and 3D images on the gaming machines are optimized for a
particular
viewing distance. Typically, the remote player will be closer to the tablet
screen than the
typical viewing distance of the gaming machine screen. Accordingly, if the
original
stereoscopic images were displayed on the tablet 11, the resulting image would
not be
an accurate representation. In one embodiment (step 194 of Fig. 10), the
tablet's
software includes a provision for the player to select a viewing distance
(which directly
corresponds to the player selecting an image's depth). The image processing
adjusts
the image to be optimally displayed to the player at the desired viewing
distance. The
optimal viewing distance is affected by the lens system used and the distance
between
the player's left and right eyes. In an example, the tablet 11 displays a
"viewing
distance" menu and the player selects the desired viewing distance by
selecting an
appropriate icon, or the tablet software automatically determines the optimal
viewing
distance. This parameter is then used to adjust the original stereoscopic
images to be
optimized for the tablet. The adjustment may be performed by the tablet or by
the
gaming machine/server.
[0156] Processing 3D images and videos requires more processing power than for
2D
images (which translates to more battery usage). In one embodiment, the mobile
device
checks its available battery power or battery life and adjusts the 3D
processing, such as
by switching to a 2D display, or informs the player and gives the player the
option to
continue in 3D or switch to 2D. If the player selects to switch to 2D, the
gaming machine
may be commanded by the tablet to start sending only 2D images. Another option
is to
communicate the available power in the tablet to the gaming machine, and the
gaming
57

CA 02821177 2013-07-12
machine will send a message to the player identifying the optimal display
format and
automatically make the adjustment.
[0157] These embodiments apply to multiview 3D as well as to other formats of
3D.
Multiview Video Coding (MVC) is a video compression standard that enables
efficient
encoding of sequences captured simultaneously from multiple cameras using a
single
video stream. MVC is intended for encoding stereoscopic (two-view) video.
[0158] Fig. 11 is a flowchart identifying various steps used when the tablet's
battery
power is low. It is important that the player is warned well ahead of time if
the tablet's
battery power is running out. The application (on the mobile gaming device)
will detect
the tablet's available power (step 198) and alert the player of the playing
time remaining
so that the player may exit the application in the proper way. Tablets may
already
include a battery level monitor. If the player continues to play after the
warning, it is
important that the application forces the termination of play between games
rather than
during a game. The term "during a game" refers to the time between the player
initiating
a game and the time that the player is informed of the outcome. Accordingly,
the
application determines when the battery life is below a threshold (e.g., 5
minutes) and
prevents the player initiating a new game (step 200). The remaining battery
life should
be sufficient for the player to cash out at a terminal or at the gaming
machine. When the
battery power is low, to allow the player to keep playing the same gaming
machine
without having to again reserve the gaming machine, the application displays a

message offering the player the option of switching to another mobile gaming
device
(step 202). If the player accepts, a sequence of steps involving the player,
the gaming
machine, and the network is carried out, similar to steps already described,
to switch the
player to another mobile gaming device within the same playing session.
MULTI-PLAYER GAMING USING MOBILE GAMING DEVICES
[0159] A group of players entering a gaming establishment together may like to
play a
social, tournament, community, or progressive game. Such multi-player games
conventionally require the players to sit in front of different linked gaming
machines. The
group of players would therefore be separated. By using the tablets, the
players may sit
together around a gaming table, at the bar, or in a specific area. The game
could be
played within an area designated by the tablet. The area may have a large
overhead
58

CA 02821177 2013-07-12
screen that displays social, tournament, community, or progressive elements of
linked
gaming such as a leader board, progressive meters, social/community/ bonusing,
etc.
The various tablets would wirelessly communicate via the associated linked
gaming
machine, the local host, or through cellular communications to the central
system
hosted in the data center. The central server, or one of the gaming machines
acting as
a server, may accumulate the data for the common display. If the primary
communication is lost, then the game can continue temporarily with local
buffering in the
tablets or a backup communications method can be used, such as cellular, WiFi,

Bluetooth, etc. The central bank (a memory) for the players' credits could be
on the site
server and the ability to continue playing when there is a communication break
would be
very useful.
[0160] A group of players in a casino could use their mobile devices to
construct a
network to play a multiplayer game. A central server (e.g. terminal 172) may
manage
network creation, discovery of players and games, joining a multi-player game,
and
players leaving network. This may apply to real-time multiplayer games.
[0161] This multi-player gaming can employ various combinations of tethering
aspects
and recommendation aspects in regulated gaming venues detailed herein.
EXAMPLE SYSTEMS AND METHODS FOR RECOMMENDING DIFFERENT GAMES
[0162] Further embodiments for recommending different games to players, such
as at
step 162 of FIG. 8 will be described herein. The recommendations may be
provided to a
remote player using a mobile gaming device. The recommendations may also be
provided via a gaming machine or other mechanism in some example embodiments.
[0163] FIG. 12 illustrates a gaming system 210 for providing recommendations
of
suitable games for a player according to some embodiments. The gaming system
210
may be used for remote gaming where the player access a gaming machine 10 via
a
mobile gaming device 11 as described herein.
[0164] The computer system may operate anonymously, for instance, where the
game
player is unidentified or unrecognized by the gaming system. Alternatively,
the game
59

CA 02821177 2013-07-12
player may be identified to the gaming system, for instance through a game
player
account, a responsible gaming account, a social network account, or other
suitable
indicia of identification.
[0165] In one embodiment, player game session data is used by gaming system
210 to
build a gaming and play behavior model that represents different aspects such
as play,
game and wagering behavior. As used herein, gaming and play behavior is
represented data related to any one or more of a plurality of different game
features.
Game features may include, for instance: game session length; wager
denominations,
play rates (number of games played per time segment), typical bonus values,
and other
features as described below. For example, the model could include a cluster of
games
that are suited to players that like to play games for a shorter time with
large amounts of
money wagered. Another cluster includes games that are more suitable for
players that
like to play for longer times with smaller amounts of money. In one
embodiment, when
a player begins to play a game, data related to the player's game playing
behavior is
detected in real-time from a mobile gaming device 11 or gaming machine 10, and
the
detected data is analyzed. Based on the analysis of this data, the player can
be
classified, in real time, into one of the existing clusters. Once classified,
the games
associated the most relevant cluster are suggested to the player via a mobile
gaming
device 11, or gaming machine 10, for example.
[0166] The data analysis allows the gaming computer system 210 to create at
least one
game player type. In one embodiment, the game player type is an association or

collection of one or more game factors. The game player type may be associated
with a
cluster or model, where the model may be collection of one or more game
factors This
association or collection may represent a particular model of playing
behavior. For
instance, the data analysis may show that certain players prefer games that
are quickly
resolved (from start to finish) and have small wager amounts. Data suggesting
this trend
could be used to create a game player type or model based on this trend. In
one
embodiment, the game player type or model is a collection of data including an
identifier
that allows the computer system to identify the collection of data, and,
optionally, that
the data provides a game player type or model. The game player type or model
may
also include data which indicates the game factors defining the particular
features of the

CA 02821177 2013-07-12
games to be affiliated with the game player type. These features may be
identified in the
affirmative, for instance as features that should or are preferably present in
the games
to be affiliated with the game player type. Alternatively, or additionally,
some features
may be identified in the negative, for instance features that should not be or
are
preferably not present in the games to be affiliated with the game player
type.
[0167]A central system 212 may establish a wireless connection with mobile
gaming
device 11, gaming machine 10, or both to collect game play data and provide
recommended games. The central system 212 includes a gaming server 214 and a
recommendation server 216. The central system 212 may be coupled to a network
218.
The mobile gaming device 11 and gaming machine 10 may also be coupled to the
network 218. The network 218 may include a social media network or other
suitable
network such as a WAN or LAN. The network 218 may include wireless
capabilities to
connect to one or more of mobile gaming device 11, gaming machine 10, and
central
system 212. Game play data may be collected from the gaming machines 10 or
mobile
gaming devices 11 and sent through the network 218 infrastructure back to the
central
system 212. The gaming machines 10 may be wired or wireless mobile gaming
devices
in any type of gaming setting, for instance dedicated electronic gaming
machines as are
commonly found in casinos and other venues.
[01681 FIG. 13 shows the main components of the computer system 220 that
generates
the gaming and play behavior models 222, including a preprocessor 224, a game
session delimiter 226, an event partitioner 228, a filterer 230, a clusterer
232, and a
game classifier 234. The system 220 may be provided with access to two data
storage
devices, a games database 238 and a game play data database 236. The game play

data database 236, may include raw historical transaction records collected
from
gaming machines 10 and mobile gaming devices 11 during past sessions and real
time
or near real time data collected from gaming machines 10 and mobile gaming
devices
11 during current game sessions. In one embodiment, the data for the
historical
transaction records may be stored in the form of journal files and includes
historical raw
play data. In particular, the raw historical transaction records may include
data related to
player wagering and other real-time game play characteristics including game
selection;
amounts of incremental wagers; wagering frequency; elapsed time; reaction to
bonus
61

CA 02821177 2013-07-12
rounds; reaction to progressive output as well as others. The games database
40
includes information on game titles available to players along with game data
and
features such as themes, denominations, characteristics, etc. The game titles
may be
associated with gaming machines 10, venues, locations, and the like to
determine
whether the game titles are available to the mobile gaming device 11 based on
its
location. Game characteristics that may be stored in the games database 40 may

include average game speed; average wager amounts; average wager rate;
presence
and frequency of bonus rounds; presence and frequency of progressive outputs;
odds
of winning; prize distributions, and others.
[0169] The computer system 220 performs a training process to generate the
gaming
and play behavior model 222 using a game play data database 236. This training
may
use a temporal representation of the gaming session data within the game play
data
database 236. A gaming session may be partitioned into session events. The
session
events may be of equal size or length. The size or length may be based on a
number of
game actions. For example, each session event may include 12 actions. The size
or
length may also be based on a period of time. For example, each session event
may
include data for be a predetermined time period. This may enable comparisons
between
sessions events for cluster analysis despite the corresponding gaming sessions
having
differing and varying lengths of time or number of game actions. That is,
computer
system 220 partitions or chunks gaming session data into session events of
equal size
or length. The gaming session data for an individual session may be
represented as a
data structure that appends many consecutive session events to create records
of
gaming behavior over time. The time of an individual session will vary
depending on the
number of appended session events.
[0170] FIG. 17 provides an example temporal representation of the gaming
session
data. In this exemplary process, the game play data is pre-processed (by
preprocessor
224) and partitioned into different individual gaming sessions 290a, 290b (by
game
session delimiter 226). In this embodiment, each gaming session 290 represents
a
continuous game play, meaning a series of games that were played in a
generally
uninterrupted fashion. Alternately, each session might represent a particular
time period
of game play, for instance 15 minutes, 30 minutes, an hour, or another
suitable time
62

CA 02821177 2013-07-12
period. In another alternative, each session may represent a particular number
of
rounds of a game, for instance 5, 10, 20 or another suitable number of rounds
of a
game. A gaming session 290 may be represented by data structure that appends
many
consecutive session events (or windows) to create records of gaming behavior
over
time
[0171] The session events 292 may be represented using a window style or other

graphical approach which includes a variety of different "game features" (y-
axis, f0...fn).
In one embodiment, data for 28 different game features is tracked for each
gaming
session. Exemplary game features include: game session length, play behavior,
game
behavior, game language, game location, game selection, elapsed time with one
game,
wagering behavior, game type, game theme, wager amounts, wager denominations,
play rates, typical bonus values, game brand, prize distributions, amounts of
incremental wagers, frequency of wagering, for instance the presence or
absence of
multiple rounds of wagering in a game, the number of rounds of wagers
permitted in a
game, maximum wager amounts permitted, minimum wager amounts permitted,
amount of wagering, elapsed time between selected events for instance starting
a new
game, reaction to bonus rounds, reaction to progressive outputs, pay table
features,
amount of incremental wagers, frequency of wagering, elapsed time for player
reaction,
amount of wagering, elapsed time between wagers, frequency of player action,
game
rules, game complexity, ability for a player to control or have an effect on a
game
outcome, whether an outcome is predetermined, whether parallel wagering is
provided,
average game speed, average wager amounts, average wager rate, presence or
frequency of bonus rounds, presence and frequency of progressive outputs,
payout
percentages, win rates, win percentages, loss rates, loss percentages, use of
special
features, frequency of use of special features, number of lines played, total
amount
wagered, and type of payment received.
[0172] The x-axis represents time in the gaming session. The game features may
be
organized into session events or time windows wO, w1 showing the occurrence of
the
game features over time. The occurrence of game features may be referred to as
a
game actions and may be used to partition individual gaming sessions in game
events.
Collectively the representation of the data allows for analysis and detection
of "play
63

CA 02821177 2013-07-12
patterns" through the data and through the various sessions. The size of the
events is
adjustable and defines a minimum number of incidents or actions necessary to
categorize behavior. For instance, in one embodiment, the event size may be
set to, for
instance, 12 play actions, so that whenever there are 12 play actions in an
game event
the game features may be used as part of the characterization of the game play

behavior. This representation has several advantages: 1) Captures behavior as
temporal patterns of the play features; 2) Variations in session length are
not a factor
(so long as sessions meet the minimum length) as the sessions are partitioned
into
game events. 3) Game titles can be introduced to map player behavior into game

preferences.
[0173] Referring now to FIG. 14, there is shown a flowchart of a process 240
for
generating the gaming and play behavior models 222 of FIG. 13.
[0174] At 242, the preprocessor 224 is operable to clean and sort data. The
game play
data 236 may be collected in a format that is not intended for cluster
analysis. For
example, the game play data 236 may be in a format suitable to communication
and
exchange between gaming machines 10, mobile gaming devices 11, or a
combination
thereof. The preprocessor 224 may filter out extraneous data points and fill
in missing
data points. For example, timestamp data points may include milliseconds which
may
not be required for the cluster analysis. The preprocessor 224 may filter out
the
milliseconds. As another example, the game title may be another data point but
it may
be in a format suitable for processing by the gaming machine 10 but not for
cluster
analysis. The preprocessor 224 may modify game title and break apart sub data
points
to construct a game title suitable for cluster analysis. The preprocessor 224
is further
operable to sort the mass amounts of game play data 236 by gaming machine 10
identifier, timestamp, game title, venue, and the like. Preprocessing the data
may
involve any one or more of the following subtasks: noise reduction or removal,

identification and removal of outlying data entries, and resolving
inconsistencies in the
data. Preprocessing may also refer to taking data in a raw or uncleaned state
or form
and converting the data into a form that is better suited for a mining or
modeling task.
For instance, preprocessing may include processing or removal of extraneous or

unnecessary data such as meta data, tags, or empty fields.
64

CA 02821177 2013-07-12
[0175] At 244, the game session delimiter 226 is operable to delimit multiple
gaming
sessions from the game play data 236 into individual sessions. The game
session
delimiter 226 partitions the game play data 236 into individual sessions using
heuristics
and rules. For example, the partitioning may be based on machine identifier,
time
stamps, time outs, cash in actions, and so on. A gaming session is a sequence
of game
actions over time. An individual session may include multiple games, or a
single game.
An individual session is associated with a player. The player may be anonymous
or
known to system 220. An anonymous player may be identified based on a machine
identifier associated with the mobile device 11. The machine identifier may be
used to
connect sessions involving the anonymous player. The machine identifier may
act as a
thread between games and gaming machines 10.
[0176] At 246, event partitioner 228 is operable to partition the individual
gaming
sessions into session events. This may also be referred to as applying a tap
delay line
to session events. A tap delay line, window or session event may comprise a
set of
game actions (spins, bets, outcomes, etc.) that take place consecutively over
time.
Each window or session event forms a record that the clustering algorithm can
accept to
recommend games. As noted above, each session may include an equal number of
actions. The event partitioner 228 generates a data structure by appending
consecutive
session events to create a record of the session over time. The clustering
algorithm is
applied to the session events. If an individual gaming session does not
partition equally
into session events then the extra actions may be excluded or discarded from
the
cluster analysis. For example, if there are 38 actions in an individual
session and each
session event includes 12 actions then the remaining 2 actions may be
discarded or
excluded.
[0177] At 248, filterer 230 is operable to filter outlier game play data
points of session
events from prototypical game play data points of session events. The cluster
algorithm
may only be interested in typical behavior and not bizarre or atypical
behavior.
[0178] At 250, clusterer 232 is operable to apply a cluster algorithm to
filtered session
events to generate clusters or models 22 based on the analyzed game play data.
A set
of clusters may be a set of centroids that represent the most typical play
patterns. The
clustering approach is designed to be a flexible tool, that scale and needs no
choice of

CA 02821177 2013-07-12
number of centroids a priori. As described herein, a cluster or model is
collection of
game features. A cluster may also be associated with a game player type, as
described
herein.
[0179] Clusterer 232 is a software application or computer program component
used to
perform a statistical data analysis. In one embodiment, the clusterer 232 is
configured to
perform a cluster analysis, for instance to group session events into
different clusters.
Additionally, the clusterer 232 may be configured to analyze the session
events and
identify the different clusters based on this analysis, before grouping the
data into the
different clusters. Any suitable clustering algorithm may be used for
performing the
statistical data analysis and grouping the data into appropriate clusters to
form a cluster
model. Preferably, a scalable clustering approach that allows for a selection
of the
number of clusters and support for automatic game feature (also referred to as
game
factors herein) selection is used. In one embodiment, a cluster model is
developed
automatically using clustering techniques operative for handling and working
with large
datasets. Preferably the data analysis techniques support streaming (i.e.,
where the
cluster model is updated as new data supports development or modification to
the
clusters, for instance based on drift in the underlying game play data and
behavioral
concepts). As used herein, the cluster model includes the identification of
different
clusters as well as the features relied on to distinguish these clusters.
[0180] In one embodiment a two stage hierarchical training process is
employed. The
clusterer 232 generates a gaming and behavior models 222. The models 22
includes a
number of clusters where each cluster represents a set of game features.
Suitable
game features are described throughout this disclosure. Groups of clusters may
be
assembled and assigned to particular gaming trends or behaviors. For instance,
a group
of clusters may be assembled to identify game players that prefer short games
with
relatively low wagers. Another group may be assembled for game players that
prefer
games with multiple rounds of betting or larger wager amounts.
[0181] As an alternative to or in addition to clustering, the statistical
analysis may
employ other data analytic techniques such as factor or regression analysis.
[0182] At 252, game classifier 234 is operable to associate clusters with game
titles of
games database 238. Each game title may be associated with a set of game
features.
66

CA 02821177 2013-07-12
Game classifier 234 is operable to map the set of game features for a game
title to the
clusters or models (which are in turn a collection of game features) to
associated a set
of games with each cluster or model. The game titles may be associated with
gaming
machines 10, venues and locations. This may enable of further filtering or
processing to
provide recommended games that are available to specific mobile game devices
11.
[0183] An anonymous recommendation may be possible using the session events as

only a small amount of collected real time game play data (e.g. a single
session event,
or a few session events) is required to start the recommendation process. As
cluster
analysis is built using session events once a session event is collected it
can be used to
determine the closest cluster or model to start recommending games to the
player. As
additional session events are collected the recommendations may be refined as
different clusters may be closer models of the player's gaming behavior. The
data
representation append many consecutive session events to create records of
what
happens over time. A large database of the data representations are used to
determine
cluster models. By looking at which games are typically played 'near' each
centroid the
system then knows what to recommend as an unseen player progresses through
time.
[0184] A detailed example implementation of parts of the method 240 (FIG. 14)
for
generating the gaming and play behavior models 222 will be described herein.
This is a
non-limiting example for illustrative purposes.
[0185] A Symbiotic Evolutionary Subspace Clustering Algorithm (ESC) may be
used as
means for multi-objective optimization. ESC is based on a multi-objective
algorithm
which searches for optimal trade-off solutions within the two or more
objectives, rather
than converting multi-objectives problem to a single objective problem as done
in more
traditional methods . In the case of ESC, a two-population model may be used
to
generate candidate cluster solutions from a pool of subspace cluster
centroids. The
subspace cluster centroids may be generated in a pre-processing stage, whereby
the
game play data input is broken down to 1-dimensional attribute files (e.g.
game features
or game factors), each of which fed into a clustering algorithm and the
resultant 1-
dimensional attribute-by-attribute centroids are then outputted to a grid that
forms the
basis for the subspace cluster centroids.
67

CA 02821177 2013-07-12
[0186] The second stage involves the construction of subspace cluster
centroids (SCC)
that may be representative of the attributes (e.g. game features or game
factors) and 1-
d clusters in the grid. A typical SCC would randomly sample a 1-d centroid
from the
grid's attributes, thus would be composed of two main entries, a centroid
index
corresponding to the index of the 1-dimensional centroid in the grid and it's
matching
attribute index. The combination of the SCC representations are what forms the
final
Candidate Clustering Solutions (CCS), which in turn are evaluated based on the
multi-
objective evolutionary algorithm. FIG. 18 outlines an example construction
process of
single SCC and CCS.
[0187] The solutions that "dominate" the dominated solutions will be ranked at
the top,
and those with the best combinations of subspace cluster centroids will be
considered
as the final clustering solution(s) for the algorithm. FIG. 19 outlines the
general
procedure of the ESC algorithm.
[0188] The ESC Algorithm, in example implementations, can take up to 4
different
objectives for its multi-objective evaluations: Connectivity, Compactness,
Cluster Count,
and Attribute count. Compactness refers to cluttered, densely packed clusters.
The
higher the compactness score a cluster has, the more points are packed inside
and vice
versa.
q ISCC,1
COM(CS) =E Edis(xEscce)
[0189].In Connectivity, the distances between all points are evaluated and
weights are
given to the subspace clusters that assign more neighboring points within the
same
subspace cluster.
[0190] The remaining two objectives, Attribute & Cluster count, may not be as
accurate
as the aforementioned compactness and connectivity but provide an efficient
way of
accounting for the difference between compactness and connectivity. Cluster
Count is
the measure of how many clusters does a given candidate solution has. The less

clusters a given solution has, the better. Similarly, Attribute count accounts
for the
number of attributes used in a given candidate solution, with a minimizing
preference.
68

CA 02821177 2013-07-12
Attribute count, as we will demonstrate later, has no effective use for our
work, as we
need to utilize all attributes.
[0191] ESC has been designed and tested for datasets with large attributes,
however
the dimensionality and scalability of the algorithm is unaccounted for. The
largest
dataset used had a large number of attributes (3814) but relatively low number
of
entries (100). ESC may be modified to take inputs larger than 2 million
entries.
[0192] Furthermore, ESC does not take the whole attribute space when
constructing
SSCs, as its original primary objective was to retain the optimal solution
with the lowest
number of possible attributes. Thus, the resultant SCCs were variant in sizes
and
inconclusive of the whole attribute set. This is not-feasible for datasets
that have non-
reducible attributes; therefore, ESC was modified to have all SCCs set to a
constant
size and include centroids from each single attribute.
[0193] Removing variable-sized SCCs meant that we have to modify the mutation
operator of the ESC algorithm. In the original implementation, mutation occurs
in both
the SCC and CCS levels. In the CCS level, a new SCC link can be added or
replace an
existing link within a single Candidate Solution, or an existing link can be
removed all
together. In the SCC-level, an attribute can be added, removed or a centroid
of single
attribute be replaced of another centroid from within the same attribute's 1-d
centroids.
Since the SSC have constant sizes and account for all attributes, attribute-
manipulation
within the mutation process is not practical. Thus we limit the mutation
operator to
switch attribute centroids during each call.
[0194] In terms of objectives used, Connectivity and Cluster Count are the
most
computationally efficient. Attribute Count is not useful when all attributes
are used and
the scope of the algorithm no longer becomes optimal attribute number in a
given
solution. Compactness produces the best results out of all possible
objectives, however,
due to the computational resources and time consumed, it is not suited for
handling
extremely large dataset; more so when it's 0(n2).
[0195] While modifications to ESC enable processing data of high-
dimensionality, there
remains a problem of efficiently scaling the algorithm without compromising
efficiency or
speed. A data filtering procedure may eliminate unnecessary data overhead.
Eliminating
points that are redundant or insignificant in position (outliers) can greatly
reduce the size
69

CA 02821177 2013-07-12
of the dataset fed to the clustering algorithm without compromising the
quality of the
results. Nearest-neighbor based calculations can classify points into outliers
("untypical
points") and prototypes ("significantly typical points"). The three major
measures
outlined by the paper are as follows:
Kappa: The distances between point x and its nearest k neighbor, defined as:
1((x) =11x ¨zk(x)11
Gamma: The sum of all distances between the nearest k points and x divided by
k;
defined as:
1
F(x) = ¨ z i(x)11
k j=1
Delta: The length of mean of distances between x and its nearest k neighbors.
1 I+
A(x) =
[0196] Taking the weighted average, defined below, of all three measures gives
a
threshold to identify outliers and prototypes. The weights can be changed to
reflect the
significant of specific measures, or the weights may be equally distributed.
K(x) +F(x) + A(x)
Average(x) =
3
[0197] FIG. 20 shows two example clusters of Gaussian-distributed points where
the
average of the 3 measures have been applied. Prototypes with a cut-off
threshold of 0.2
are displayed in "black" while outliers with distances ranging from 0.2 ¨ 0.4
are in "red".
Outliers in "blue" are further away as those belong in the 0.4- 0.6 range,
while those
highlighted in "cyan" and "yellow" are furthest away (belong in0.6 ¨ 0.8 & 0.8
< ranges
respectively).
[0198] An example key to the filtering method is computing the appropriate
value of k
(number of points in consideration) and the cut-off threshold that separates
outliers from
prototypes. Percentile distribution of calculated distances between points of
given radius
k is used as a measurement to separate both classes. Thus our initial step
involves
running a random sample of a given dataset with a range of k values, over a
range of

CA 02821177 2013-07-12
cut-off thresholds. Once the distances between all points have been
calculated, each
point is evaluated using the three aforementioned measures on a given value of
k. The
next step involves separating all entries into outliers and prototypes based
on the sum
of the three measures. In other words, if the sum of the three measures is
less than a
given cut-off threshold, the entry would be classified as a prototype or else
treated as an
outlier. The points are then fed to confusion matrix, which in turn uses
cluster
memberships generated by a standard clustering algorithm to evaluate True
Positives,
True Negatives, False Positives and False Positives. If a given set has more
than 2
clusters, a single cluster is chosen as a prototypes cluster, then based on
that
classification, a True Positive is scored when an entry is correctly
identified as
belonging to that cluster. A False Positive is scored when an entry is falsely
identified as
a prototype. Likewise, a True Negative is scored when an entry is correctly
identified as
an outlier and a False Negative is scored when an entry is falsely identified
as an
outlier. As an example, ROC Area Under the Curve (AUC) may be used for final
evaluation, where the True Positive and False Positive Rates may be calculated
as
such:
TP
True Positive rate (TPrate) ¨ __
TP FN
FP
Face Positive rate (FPrate)= __
FP + TN
[0199] This process may be repeated for all cut-off threshold values, after
then the
calculated TPrate & FPrate are then fed to a AUG graph such as the one shown
in FIG.
21.
[0200] Most datasets have more than 2 clusters in most cases, ROC graphs may
be
generated for each given cluster through the same process detailed herein. The
AUG
gives an indication of the classification performance of a given k value. An
AUG value of
0.5 or below indicates a failed classification, while graphs with areas above
0.5 are
those taken in consideration. An area of 1.0 is considered "perfect", thus the
higher the
AUC area is, the more favorable is its k-value. With clusters more than 2, the
ROC AUC
may be generated for each, then take the mean of all cluster areas for final
consideration, before repeating the same process for the rest values of k. The
best k-
value is that with the highest mean ROC AUC value.
71

CA 02821177 2013-07-12
[0201] The following example pseudo-code may describe the full process of this
stage:
Read input from file
// Calculate Distances between all points
For (i = 0; I < number of records ? -; i++)
For (z = z < number of records ? 1; z++)
For (j = 0; j < number of attributes; j++)
Calculate Euclidean Distance between records[i][j] & (z] [ii
For ( k = 1 to k = 50)
//Calculate Kappa, Delta & Gamma
For ( i = 0; i < number of records; i++)
Sort Distances vector for given i
Get nearest k points to i
Calculate Kappa, Gamma, Delta and Average
Lowerlimit = Lowest Numeric Distance
Upperlimit = Greatest Numeric Distance
For ( j = 0; j < 20; j++) // increment in 5%
Threshold = (lowerlimit + j *(upperlimit-lowerlimit/20))
If ( given record < threshold)
Store in Prototypes Array
Else
Store in Outliers Array
// Evaluate Classifications
ConfusionMatrix(Prototypes, Outliers, Clustermemberships)
Repeat for the next values of k
[0202] Once the ideal value of k is retrieved, the whole dataset is passed
through the
second stage of the filtering algorithm, where the dataset is separated into
prototypes &
outliers. The initial part of the second stage is similar to that of the first
stage's, where
the same Euclidean distances and consequent measures calculations are
executed,
however this time, applied on all dataset entries and using the calculated k
value from
the previous stage. The Euclidean distances between a given entry i and the
rest of the
entries are calculated then sorted in ascending order with the nearest k
points taken into
consideration for the three measures calculations. The final measurement, the
weighted
average of Kappa, Gamma and Delta is then compared with the cut-off threshold
for file
output. Any entry that has an average lower than the threshold is outputted
into the
prototypes file, otherwise to the outliers file. For datasets of large
dimension space,
processing them in a single run may be unfeasible; this is when breaking such
sets into
smaller blocks for separate processing can induce a huge speed increase. The
following pseudo code describes the second stage:
72

CA 02821177 2013-07-12
ReadInputFromFile();
for (int i =0; i < Number_of_records ; i++)
Calculate Euclidean Distance between all records and record Li]
Sort_All_Distances_of_given_record[i]();
for ( int j = 0; j < kradius + i; j++)
gammatemp = gammatemp + sorted_distances[j];
deltatemp = deltatemp + powf(sorted_distances[j],2.0);
kappatemp = sorted_distances[j];
float gamma = gammatemp/kradius;
float delta = sqrt(deltatemp/kradius);
float average = (gamma + delta + kappatemp)/3;
if (average < threshold)
Output record Li] into prototypes file
else
Output record Li] into outliers file
[0203] FIG. 15 depicts components of an exemplary computer system 260 for
recommending games. FIG. 16 illustrates a flowchart of a method 280 for
recommending games.
[0204] In this embodiment, at 282, a game play collector 262 collects real
time or near
real time data related to actions taken by a player during game play. Game
play
collector 262 may real time or near real time data from mobile gaming device
11 or
gaming machine 10. This data may include various game features or game
factors,
where suitable game features are described throughout this disclosure. The
data may
also relate to the player. The game play collector 262 may collect a pre-
recommendation threshold amount of game play data which may be the minimum
amount of game play data that may be required by system 260 in order to
provide
recommendations. For example, game play collector 262 may collect data
equivalent to
one or more session events. A session event may be a number of game actions,
such
as 5 game actions for example. A pre-recommendation threshold may specify that
the
collected game play data must include at least 5 actions before a
recommendation may
be made. If the pre-recommendation threshold has not be collected then default

configurations may be used to make recommendations, such as the location of
the
73

CA 02821177 2013-07-12
mobile gaming device 11, the location of the gaming machine 10, the type of
gaming
machine 10, the current game being played that the collected game data relates
to, and
so on. For example, the location may be used to suggest or recommend the most
popular games for that location. Game play collector 262 may collect
additional
attributes about the game play and the player such as the location of the
mobile gaming
device 11, the location of the gaming machine 10, the type of gaming machine
10, the
current game being played that the collected game data relates to, gaming
machine 10
identifier, mobile gaming device 11 identifier, available credits, and the
like.
[0205] In one embodiment, the player may identify themselves using a player
action
card, or other identification such as a username and password. In other
embodiments,
the player may be anonymous. Game play collector 262 may collect player data
and
game play data from the moment a player inserts a player card or begins a
wagering
game, for instance by inserting a wager, or pressing a start button or
otherwise
providing an indication of a player's desire to play a wagering game. In
certain
embodiments, the player data comes directly from the mobile gaming device 11.
In
other embodiments, the player data comes directly from the gaming machine 10.
The
computer system 262 may be configured to collect data for a predetermined or
preset
length of time or amount, which time period may be adjustable by the game
operator.
[0206] Preprocessor 264 may be programmed to perform a preprocessing step,
involving cleaning the data collected by game play collector 262. Cleaning the
data may
involve any one or more of the following subtasks: noise reduction or removal,

identification and removal of outlying data entries, and resolving
inconsistencies in the
data. Cleaning may also refer to taking data in a raw or uncleaned state or
form and
converting the data into a form that is better suited for a mining or modeling
task. For
instance, cleaning may include processing or removal of extraneous or
unnecessary
data such as meta data, tags, or empty fields. Preprocessor 264 may also be
configured
to filter the data from the game play collector 262. In this context,
filtering refers to a
specific approach to feature extraction where redundancies (i.e., attributes
carrying less
information) are eliminated by a function or ranking process. Other techniques
for data
manipulation may also be used or they may be used in the alternative, for
instance
wrapper, embedded and search based models of data management and manipulation.
74

CA 02821177 2013-07-12
The preprocessing and feature extracting step may be performed separately, in
sequence or in parallel, or they may be performed together.
[0207] At 284, event partitioner 266 is operable to partition collected game
play data into
session events. That is, event partitioner 266 partitions the stream of game
play data
into equal chunks corresponding to session events. Session events may include
a set
number of player actions or may be for a pre-defined time period. A threshold
amount of
game play data may be required to be collected prior to event partitioner 266
partitioning into session events. For example, game play data equivalent to at
least one
session event may be required.
[0208] In one embodiment, in a pre-defined time period, for instance a time
period
beginning from the start of game play, or after the collected game play data
corresponds to at least one session event, at 286, the player classifier 268
finds the
nearest model centroid, or cluster. The player classifier 268 begins to
attempt to match
the player's session gaming behavior with one or more specific clusters of
game content
that have previously been identified by the model building steps, described
herein
(those steps involved in cluster model generation or other suitable analysis).
The result
of this matching are used to determine which of the one or more previously
identified
clusters of game content are most closely matched with the player and game
wagering
behavior defined by the sampled game play data.
[0209] In one embodiment, each previously identified cluster of game content
is
matched to at least one unique game player type. In this way, the player may
be
assigned one of several game player types. The matching and determination of a
game
player type may be determined by a player classifier 268 in a classifying or
determining
step where the game player is classified into a game player type.
[0210] In another embodiment, a player may provide and the computer system may

receive a selection of a game to play from the game player. This selection may
be used
in the determination of the at least one game player type or cluster.
[0211] In another embodiment, a player may provide or the computer system may
receive (either from the player or otherwise) geographical data related to the
location of
the game. This geographical data may be provided by the game operator. This

CA 02821177 2013-07-12
geographical data may be used in the determination of the at least one game
player
type or cluster.
[0212] In another embodiment, a player may provide or the computer system may
receive (either from the player or otherwise) data related to the language of
the game.
This language data may be provided by the game operator or a game itself. This

language data may be used in the determination of the at least one game player
type or
cluster. Other game features may also be collected and used to determine at
least one
game player type or cluster.
[0213] After or responsive to the determination of a game player type or
nearest
centroid, at 288, game selector 270 provides the player with a plurality of
games from
which to choose from (e.g. a set of recommended games). The plurality of games
may
be associated with the cluster (nearest centroid) or game player type. The
plurality of
games may be filtered based on availability to the mobile gaming device 11.
For
example, only a subset of games may be available to the mobile gaming device
11
based on its location, available gaming machines 10, licensing regulations,
and the like.
The plurality of games may be filtered based on availability of gaming
machines 10 in
other embodiments.
[0214] The plurality of games may be provided to the player through a real-
time window
on the gaming machine. The player may be offered a choice on whether they
would like
to be informed of new games before initiating the first game play. The
recommender
system 260 may send an alert message to the gaming machine during the game
play or
at the end of a game. The alert message may provide new or different game
selections
expected to satisfy the player experience for the identified nearest cluster
or game
player type. Alternatively, or additionally, the selection of different games
may be
provided to the player on a video screen between rounds of a game.
[0215] Alternatively, the player may be offered a choice of selected games
based on the
identified nearest cluster or game play type through a separate area on the
screen of
the gaming machine. In such an embodiment, the new game may run and operate
and
be displayed in the same separate area on the screen of the gaming machine. In
this
embodiment, the player has the option of playing the pre-loaded game on the
machine
and, at the same time, trying out one or more games suggested based on the
identified
76

CA 02821177 2013-07-12
game player type. The new games suggested to the player could be different
themes
and genre (linked, community, social, progressive, tournament, episodic etc.)
than the
pre-loaded games on the gaming machines.
[0216] In addition, in another embodiment the system 260 may recommend games
based one or more time slices, where a time slice represents a discrete
duration of
activity, such as game play. For instance analysis of a 7 day time slice may
provide a
different cluster or game player type and selection of games than an analysis
for the
same player based on a longer time slice, for instance a 10 day time slice.
The
computer system 260 may be configured to calculate the differences between the
two
analyses (the 7 day time slice and the 10 day time slice). The computer system
260
may then recommend games based wholly or in part on only the more recent or
longer
duration time slice. Alternatively, the computer system 260 may recommend
games
based on a combination of the recent time slice match and the longer time
slice match.
Further, the computer system 260 is configured to have the ability to store
and partition
data to later defined time slice based patterns. In this instance, the system
is configured
to allow for time slicing a data set into discrete time slices, as an example,
1 hour slices,
or 1 day slices, or whatever time period is deemed desirable by the game
operator.
[02171 In another embodiment, a player, either unregistered or registered, may
be
prompted, at least once, by an electronic gaming machine, to agree to the
computer
system 260 monitoring his game playing and collecting game play data.
Alternatively, or
additionally, the player may be prompted to agree to the system 260 collecting
game
play data related to the activity of the player. Accordingly, the method 280
may include
the steps of: receiving an indication of agreement to monitoring of game play
from the
game player, and/or receiving an indication of agreement to collection of game
play
data from the game player.
[0218] According to subsequent live game playing data collection and analysis,
the
player may then be presented with a set of games selected to match the
player's
gaming preferences. Further, the computer system 260 may update or change the
player's game player type based on live or near live game playing data or
metrics by
repeating steps of method 280 after additional game play data is available for
collection
and analysis. The results of the analysis may be the same or different set of
77

CA 02821177 2013-07-12
recommended games. As more data is collected about a player's activities the
more
tailored the recommendations may be as more intelligence about the player is
gathered.
[0219] In one embodiment, the computer system 260 may update the nearest
cluster or
player's game player type after a predetermined number of games are played,
after a
predetermined number of player actions (or session events) are collected, or
after a
predetermined length of time. The predetermined number of games, predetermined

number of player actions (or session events), or predetermined length of time
may be
set by a game operator or administrator, for instance a casino of electronic
gaming
machine operator or by the game player, for instance by requesting that the
game
player input how often or frequently they would like to be presented with a
new selection
of games. The unregistered player may be prompted again to agree to the system
260
monitoring his game playing at another electronic gaming machine within the
same
establishment (for instance a casino or a video lottery terminal system with
geographical
limits, or within geographical limits, for instance, by an online gaming
system).
[0220] In another embodiment, a registered player having an account or other
method
by which the player might be identifiable to a gaming system is logged into
the computer
system, for instance with an electronic gaming machine, or online, and is
prompted for
approval at least once, at the electronic gaming machine or online, to agree
to the
system monitoring his game playing. According to subsequent live game playing
data
collection and analysis the player may then be presented with a set of games
selected
to match the player's gaming preferences. For instance, the computer system
260 may
have previously assigned the player a cluster or game player type based on
historical
game play data. Further, the computer system 260 may update or change the
player's
cluster or game player type based on live or near live game playing data or
metrics. In
one embodiment, the computer system 260 may update the player's game player
type
after a predetermined number of games are played or after a predetermined
length of
time. The predetermined number of games or predetermined length of time may be
set
by a game operator, for instance a casino of electronic gaming machine
operator or by
the game player, for instance by requesting that the game player input how
often they
would like to be presented with a new selection of games.
78

CA 02821177 2013-07-12
[0221] In one embodiment, a registered player has a responsible gaming account
or
profile. In such an embodiment, the system 260 is configured to consider data
or other
information from the responsible gaming account in determining the profile for
the player
or in adjusting a game selection previously offered to a player or previously
determined
without consideration of the existence of a responsible gaming account or data

associated with that account. In adjusting a game selection, the computer
system 260
may take a selection of games based on a determined player profile and then
add or
remove games, the addition or subtraction of games being based on the data
associated with or the presence of the player registration or the responsible
gaming
account. In one embodiment, the computer system 260 may recommend a selection
of
games in whole or in part also due to the existence of the responsible gaming
profile of
the player, in addition to, or as an alternative to, data associated with the
responsible
gaming profile. The responsible gaming data may be processed by the computer
system 260 but stored separately, for instance in a separate responsible
gaming
database or module. In one embodiment, the methods include the step of
determining
that the wagering game system has responsible gaming data related to
registered game
players and including the responsible gaming data in the determination of the
at least
one game player type. Additionally, the computer system may recommend at least
one
game to the current player that has previously been recommended to registered
game
players having the same game player type, a similar game player type or a
substantially
similar game player type.
[0222] For a non-registered player, or a player that is unidentified to the
gaming system,
if the player profile resulting from a live session based analysis falls
within a particular
risk category, or otherwise identifies certain risk factors, then the computer
system 260,
may, in part or whole, recommend a selection of games which it would otherwise

recommend to registered players also having that risk category.
[0223] In another embodiment, the player may request to be presented with a
new
selection of games, for instance at any time during game player. In one such
embodiment, the player would press a button or other indicator to cause the
machine to
present a new selection of games based on recent or historical game play
behavior.
This would trigger an updated set of recommendations and initiate the method
400.
79

CA 02821177 2013-07-12
[0224] Additionally, the gaming preferences of a player and even game player
type may
be derived or obtained from a player's social networking accounts. In this
instance, the
computer system 260 would customarily request permission to access the
player's
social networking account. This embodiment where social networking information
or
data is factored in to the selection of games or the determination of the
nearest cluster
or game player type may be used only with registered players, or it may also
be used
with players that are unregistered or unidentified or even those that do not
have a player
account. In such instance, the system 260 may hold or have no access to
information or
any player account identifying the player. The persona may be derived through
proprietary software or third party available software. The persona may be
used in part
to recommend games to registered players or even to players which have
patterns
similar to registered players being offered the selections. In addition,
eligible games
may be offered for selections which are non-wagering games, online games as
well as
wagering games for electronic gaming machines.
[0225] The collected game play data relates to game factors or features for
game play in
an ongoing game by a current game player. This collection of data is performed
during
a game player's actual game play, in real time or near real time. These game
factors
may be the same as or a larger set or subset of the game factors described
with respect
to analyzing the larger data set used to generate clusters or game player
types. Game
play collector 262 may be provided in any suitable location or device, for
instance, a
gaming device, a controller in a gaming venue, a local computer system in the
gaming
venue, a computer system in a data center, a computer system in a social media

network or in a private cloud, public cloud, hybrid cloud or community cloud.
[0226] Player classifier 268 may weight certain game factors, or indicators,
or the
dimensions of measurement adjusted so that they are more important or less
important
than other factors in the overall analysis of the data. In one embodiment, the
data
analysis is performed using a cluster analysis of the collected set of data.
Additionally,
or alternatively, the analysis may simply involve identification of particular
game factors,
the frequency of these game factors, any trends in the appearance of the game
factors
(for instance, whether particular actors tend to appear closer together in
time), or a
combination of these different indicators.

CA 02821177 2013-07-12
[0227] Instead of matching the player directly to a cluster, the method may
also include
determining at least one game player type for the current game player based on
the
analysis of the collected set of data. As described above, for instance, the
analysis may
reveal that a game player continually selects different games. The system 260
may, for
instance, interpret and determine this as an indicator that the player does
not favor
games of the type that he stopped playing and use this information to assign
the player
an appropriate game player type. In another example, if the game player
continues to
play longer games with multiple rounds of wagers, then the system 260 would
identify a
game player type that exhibits these features. Each cluster may be associated
with one
or more game player types or a set of game features. The clusters may also be
associated with a set of games, where each game is associated with a set of
game
features.
[0228] The system 260 may then transmit data for display, on a video display,
representing the selection of games identified for the nearest cluster or game
player
type determined by the analysis of the collected set of data. The player may
then make
a selection of the one of the displayed games and the game machine presents
the
selected game to the player. For instance, the selection of games may be
presented on
a video lottery terminal, electronic gaming machine, personal computer, laptop

computer, tablet, mobile phone, or a functional equivalent of one of the
foregoing. The
selection may be collected as additional game play data for further
recommendations.
[0229] The method 400 may repeat steps to collect a second or additional set
of data
related to game factors for game play in an ongoing game by a current game
player.
Thus, this collection of data is performed at or near real time during ongoing
actual
game play by a game player. The second or additional set of data may be
provided in a
time period separate from (for instance after) or overlapping the first set of
data. The
second set of data may relate to a longer period of time than the first set of
data.
Alternatively, the second set of data may relate to a different set of game
factors than
the first set of data. The second set of data may be used for additional
session events,
where the data representation may append consecutive session events to
generate a
record of play behavior over time.
81

CA 02821177 2013-07-12
[0230] These game factors may be the same as or a larger set or subset of the
game
factors described above with respect to analyzing the larger data set used to
generate
clusters and game player types and suitable game factors are described
throughout this
disclosure. Additionally, the second set of data may be larger than the first
set of data.
[0231] The second or additional set of data may be partitioned into events,
used to find
the nearest cluster to game play type, and then used to recommend additional
games.
This may be repeated for further additional sets of collected game play data.
Certain
game factors may be weighted or the dimensions of measurement adjusted so that
they
are more important or less important than other factors in the overall
analysis of the
data. In one embodiment, the data analysis is performed using a cluster
analysis of the
second set of data. Additionally, or alternatively, the analysis may simply
involve
identification of particular game factors, the frequency of these game
factors, any trends
in the appearance of the game factors (for instance, whether particular actors
tend to
appear closer together in time), or a combination of these different
indicators.
[0232] Thus, in this way, the computer system 260 may continually monitor,
collect data,
and update the player's previously-determined nearest cluster or current game
player's
previously-determined game player type. In one embodiment, the step of
determining
the nearest cluster or at least one game player type for the current game
player
includes factoring and/or updating a previously identified clusters or game
player type.
[0233] The updated cluster or game player type may be different from a
previously
identified cluster or game player type. In this embodiment, the method may
further
include the step of changing the previously identified cluster or game player
type for the
current game player to the updated cluster or game player type to make
additional
recommendations.
[0234] In another embodiment, a cluster or game player type may be updated
based on
an analysis of an additional set of not just one, but a plurality of game play
periods, data
sets, factors, or a combination of any of the foregoing.
[0235] In another embodiment, the computer system 260 may request and receive
feedback from the game player related to the player's rating of the recently
played
game. For instance the computer system 260 may be configured so that a player
can
assign a numeric rating to the recently played game. Data from this rating may
be
82

CA 02821177 2013-07-12
combined with data about the recently played game to update a previously-
determined
cluster or game player type. In another embodiment, the method involves
updating a
previously-determined cluster or game player type based on an additional set
of data,
the additional set of data related to game player feedback reflecting a player
indication
of how often the player would play the game. The indication of how often the
player
would play the game may be received from the player in the form of a selected
set of
responses, for instance indicating the player would play often, sometimes, or
never.
[0236] A set of game player types may be created by system 220, 260 for use
recommending games. The game player types may be associated with clusters,
which
may in turn be associated with a set of games. System 220, 260 may collect a
set of
data related to one or more game factors or game features, for instance based
on
actual, simulated or historical game play. In another embodiment, the set of
data related
to one or more game factors may be previously available so that the step of
collecting
the data may not be required. Suitable game factors, also referred to herein
as game
features, are described throughout this disclosure.
[0237] An optional step involves partitioning the set of data into one or more
game play
periods or session events. Each game play period may represent a continuous or

relatively continuous period of game play, for instance, a series of
consecutive games
played by a player in one sitting at an electronic gaming machine. Each
session event
may represent a number of consecutive game actions over a time period. This
may be
combined with collecting the data and analyzing the data. In addition, gaming
data may
be held in a central repository and be partitioned based on geo zones which
may reflect
local or country based partitioning. The computer system 220, 260 may offer a
mix of
selection from within various partitions based upon language; geo zones as
well as time
sliced processed data.
[0238] The data is analyzed to identify instances of the game factors
described above,
including the frequency of appearance of the game factors, their distribution
within the
data set, and clusters, trends or other patters are identified. Certain game
factors, or
indicators, may be weighted or the dimensions of measurement adjusted so that
they
are more important or less important than other factors in the overall
analysis of the
data. In one embodiment, the data analysis is performed using a cluster
analysis of the
83

CA 02821177 2013-07-12
set of data within each game play period. Additionally, or alternatively, the
analysis may
be performed against the set of data without partitioning into game play
periods.
[0239] The data analysis allows the computer system to create at least one
game player
type and/or associated cluster representing a collection of game factors. In
one
embodiment, the game player type or cluster is an association or collection of
one or
more game factors. This association or collection may represent a particular
model of
game player. For instance, the data analysis may show that certain players
prefer
games that are quickly resolved (from start to finish) and have small wager
amounts.
Data suggesting this trend could be used to create a cluster or game player
type based
on this trend. In one embodiment, the cluster or game player type is a
collection of data
including an identifier that allows the computer system to identify the
collection of data,
and, optionally, that the data provides a game player type. The cluster or
game player
type may also include data which indicates the game factors defining the
particular
features of the games to be affiliated with the game player type. These
features may be
identified in the affirmative, for instance as features that should or are
preferably present
in the games to be affiliated with the game player type. Alternatively, or
additionally,
some features may be identified in the negative, for instance features that
should not be
or are preferably not present in the games to be affiliated with the game
player type.
[0240] In one embodiment, computer system 260 may select games for the cluster

game player type based at least in part on the analysis of data from one or
more game
play periods or from analysis of the data set at large, without any
partitioning or
consideration of partitioning of the data into game play periods. The
selection or
identification is based on data related to the games and the information or
data from the
game player type or cluster. For instance, if the game player type is for
players that like
longer games with multiple rounds of wagers, then the computer system would
identify
a selection of games that exhibit these features. Data related to a game could
be
provided manually or it could be generated in a separate data analysis step,
for instance
analysis of data representative of game play activity, for instance, live,
virtual or
historical play of a given game. The data related to the games could include a

combination of data entered manually, for instance game theme data, as well as
other
data collected or assembled through analysis of game play activity.
Alternatively, the
84

CA 02821177 2013-07-12
computer system may identify a selection of games based directly on the
analysis of the
set of data, without any creation of a game player type. In this embodiment,
the
selection of games may be based directly on the results of the cluster or
trend analysis.
LOADING AND UNLOADING GAME ASSETS
[0241] As described herein, a connection may be established between a mobile
gaming
device 11 and a gaming machine 10 to enable remote gaming by player. The game
may
be selected from a set of recommended games. In order to configure and control
the
mobile gaming device 11 to remotely play a game associated with a gaming
machine 10
game assets may be transferred to the mobile gaming device 11.
[0242] Referring now to FIG. 22 there is shown a system 300 for transferring
game
assets to a mobile gaming device 11 for remote gaming. For remote gaming,
multiple
issues may be addressed, including for example, how to load game assets to a
mobile
device 11 and what to do with the loaded game assets after a game ends and the

player/mobile device 11 leaves a venue or predefined area (e.g. geo-fence). A
venue,
game developer or operator may not want players to have subsequent access to
game
assets that may cost a lot to produce. Further, licensing regulations may
prohibit access
to games via loaded game assets once a player leaves a licensed area.
[0243] The game assets may be download to the mobile gaming device 11 from the

gaming machine 10. In some embodiments, the mobile gaming device 11 and the
gaming machine 10 may be coupled to an asset server 302 to enable transfer to
the
mobile gaming device 11 from the gaming machine 10. The game assets may also
be
stored on a content storage device 304 (e.g. dedicated game asset server(s))
storing all
game assets available. The game assets may be downloaded to the mobile gaming
device 11 from the content storage device 304. The asset server 302 and/or
content
storage device 304 may be represented in FIG. 12 as gaming server 214 in some
embodiments. The asset server 302 and/or content storage device 304 may also
form
part of system 220 of FIG 13 and system 260 of FIG. 15 in some embodiments.
These
are examples only and other configurations may be used to transfer game assets
to
mobile device 11.

CA 02821177 2013-07-12
[0244] The game asset transfer may be triggered by selection of a game (e.g.
from a set
of recommended games), after registration by a player, initiation of game
play,
progression through a game, and so on.
[0245] The asset server 302 and/or content storage device 304 may be per venue
or
shared per jurisdiction or in the cloud serving multiple jurisdictions. The
asset server
302 and/or content storage device 304 may be partitioned based on geographic
location
and licensing restrictions, for example.
[0246] In some embodiments, the mobile player may need to register to be able
to down
load the game assets to their corresponding mobile device 11. In other
embodiments,
the mobile player may download the assets to their corresponding mobile device
11 if
he/she are within the geo-fenced zone without the need for registration.
[0247] In some embodiments, the game assets may contain the images and sounds
for
the game, but may not include the gameplay engine code. This may be downloaded
to
the mobile device 11 via a separate server or application. In other
embodiments, the
gameplay engine code may reside on the gaming machine 10 or a separate server
and
the mobile device may display an interface of certain aspects of the game and
the final
results. The game play may be carried out by the engine on the gaming machine
10 or
separate server. The game assets can download to the mobile device 11 from a
web
server, data storage device 304, asset server 302, or other server.
[0248] The game assets may be scaled for different target devices and display
configurations on the host server side (e.g. asset server 302) and sent to the
mobile
device 11 depending on its screen resolution and hardware capability. Example
conversions are described herein.
[0249] When the mobile device 11 leaves the geo-fenced zone the assets may be
deleted or a free play version of the game may be enabled.
[0250] Accordingly, asset server 302 is operable to detect when the mobile
device 11
leaves a geo-fenced zone to trigger deletion of the game assets, in accordance
with
some embodiments.
[0251] In other embodiments, a free-paly feature may be enabled. Asset server
302 may
implement hierarchal concentric geo-fenced zones. When the mobile device 11
leaves
86

CA 02821177 2013-07-12
the inside zone, the game assets may remain on the mobile device 11 but the
player
may be limited to play without wagering (free-play). In some embodiments, when
the
player leaves an outside zone, the game assets will be deleted to prohibit
wagering and
free-play.
[0252] In some embodiments, the game assets may remain on the mobile device 11
for
a certain amount of time. After the amount of time has passed the game assets
may be
deleted.
FREE PLAY MODE
[0253] Referring now to FIG. 23 there is shown a flowchart of a method 310 for
free-play
of a game on a mobile device tethered to a gaming machine in accordance with
some
embodiments.
[0254] With mobile tethered play (e.g. connection between the gaming machine
10 and
the mobile device 11), if a player or mobile device 11 leaves the geo-fenced
area, the
system may disable gameplay. In other embodiments, the game may have a
wagering
mode and a free play mode. If a player or mobile device 11 leaves the geo-
fenced area,
the system may switch to a free-to-play version of the game to continue play.
The
system may receive a warning that the mobile device 11 has left the geo-fenced
area,
but instead of exiting the game, it could switch to an internally run version
of the game
(provided via the loaded game assets). For example, fake reel strips may be
displayed
and the player may be allowed to play for free. Once back in the geo-fence
area, the
player may have the option to play in the wagering mode again.
[0255] In accordance with some embodiments, in the geo-fence area, if all the
gaming
machines 10 are taken, the player can play for free using mobile device 11
(e.g. game
assets may be downloaded to mobile device 11 and free-play may be enabled).
Once a
gaming machine 10 becomes available, the mobile device 11 will receive a
notification
that a gaming machine 10 is free and ask if they wish to play.
[0256] At 312, mobile device is operable to initiate a connection to a gaming
machine 10
(e.g. terminal) to play one or more games associated with the gaming machine
10.
87

CA 02821177 2013-07-12
[0257] If the player is unable to connect to gaming machine 10, such as if the
player is
outside the geo-fenced zone or otherwise cannot connect to gaming machine 10,
then
at 314 the player may play the desired game in free-play mode.
[0258] At 316, the player may register for the gaming machine 10. The player
may set a
spending limit in some example embodiments for responsible gaming.
[0259] At 318, it is determined whether the desired gaming machine is
available. If a
player registers on a gaming machine 10 that is not available and is queued to
play, at
314, they can play for free on their mobile device 10 until the gaming machine
10 (e.g.
terminal) is available.
[0260] Once the gaming machine 10 is available, at 320, a popup may appear on
the
screen display of the mobile device asking if they want to play for real (e.g.
wagering
mode), or cash out the gaming machine 10 and continue to play for free.
[0261] At 322, it is determined whether the player is inside the geo-fence
area while
playing for free.
[0262] If the player plays for free in the venue or geo-fenced area, then they
may be
rewarded with player loyalty points at 324. The free play acts may act as an
advertisement or enticement for the establishment. If they play for free
outside the geo-
fence area, they may not receive any loyalty points. If the player is playing
for free
because the gaming machine 10 is not available, at 326, it is determined
whether the
gaming machine is available. If the gaming machine 10 is available, at 328, it
is
determined whether the player registers to play the game in the wagering mode.
[0263] The free game acts may operate in the same manner as the regular
tethered
game, where a difference may be that logic of the game in free-play may come
from the
mobile device 11 itself (e.g. via loaded assets) in some example embodiments.
The
mobile device 11 may communicate with the asset server 302 or gaming machine
10
through wireless communication, for example, but may not transmit outcomes in
some
example embodiments. When in the geo-fence area, game information may be
transmitted to track how much and what games are played, to determine who much

loyalty points to award, to recommend games, and so on. The system may keep
track of
the number of loyalty points and display them on the mobile device.
88

CA 02821177 2013-07-12
[0264] This system can be used as a responsible gaming feature. At the first
of a
session, the player may choose how much their spending limit is (e.g. at 316).
At 330, it
is determined whether the player has reached their spending limit. If the
player
overspends their budget, at 332, they can switch to free-play to continue
their
experience, but without spending more money. At 334, the player is
unregistered from
the gaming machine 10. This frees up the gaming machine 10 for another party
to play
the game and may help curve overspending.
[0265] The core logic for free-play may be stored in the game assets, but may
disabled
while in tethered wagering mode, only activating once the free-play mode is
enabled.
During wagering play, at any time, the player may switch to free play mode at
332, but
may be cashed out of and unregistered from gaming machine 10 at 334 to allow
the
next player to take over. They can re-queue again to play via the gaming
machine 10
after the next player, for example.
[0266] At 336, it is determined whether the player is inside or outside the
geo-fence area
to in turn determine whether the player can continue playing in wagering mode,
or
whether the game should switch to free play mode.
TOURNAMENT
[0267] Another feature of the free-play is the use a tournament style system.
FIG. 24
illustrates a flowchart of a method for free-play with a tournament style.
Players with
mobile gaming devices 11 loaded with the remote gaming application may
participate in
mini-tournaments. In some embodiments, the winner may receive a prize of some
sort.
The prize may be advertised. For example, the tournament system may run a
simple
reel game with very high return percentage math. The gaming machine 10 may be
switched to tournament play, via e.g. the back office of the venue. Each
mobile device
would be then be registered with one or more gaming machines 10. The
tournament
may support a time limit, a credit limit or a combination of the both. Once
the
tournament commences, each player plays until time has elapsed or run out of
credits,
whichever comes first. The tournament can run on the same gaming machine 10 to

increase the number of participants.
[0268] The player rankings may be displayed on all of the gaming machines 10
involved
in the tournament. The winner of the tournament is then determined and may be
89

CA 02821177 2013-07-12
awarded a prize by the venue. The prize can be free food or drink, loyalty
points, for
example.
[0269] Once the tournament is finished, the player can return to regular play
either in
wagering mode or free play.
[0270] At 342, mobile device 11 is operable to initiate a connection to a
gaming machine
(e.g. terminal) to play one or more games associated with the gaming machine
10.
[0271] At 346, it is determined whether the mobile device 11 has registered
with the
gaming machine 10 to participate in a tournament.
[0272] At 348, the game assets for the game are loaded to the mobile device
11, as
described herein, for free play mode.
[0273] At 350, a central tournament system (e.g. central system 212 of FIG.
12)
configures a tournament between all mobile devices 11 registered for the
tournament.
The tournament starts at 352 and the players via mobile devices 11 play the
tournament
game at 354 using the loaded game assets.
[0274] At 356, central tournament server determines whether the tournament has
ended
based on conditions and rules programmed for the tournament. At 358, the
rankings for
the tournament are displayed on each mobile device 11 participating in the
tournament.
The rankings may also be displayed on the associated gaming machines 10 the
mobile
devices 10 registered with.
[0275] At 360, a prize is awarded to the winner(s) of the tournament and at
362 the
tournament completes.
DISTRIBUTED DATA STORAGE
[0276] In accordance with embodiments described herein, game play data used
for
recommendations and model generation may be stored in a distributed
configuration
across a variety of data storage devices. The data storage devices may be
located in
different jurisdictions and may contain different subsets of game play data.
The data
storage devices may store overlapping game play data in some example
embodiments.
The data may be exported to other servers due to the large amount of playing
data and
the resource restrictions of a single server. Further, data may be exported to
generate a

CA 02821177 2013-07-12
collective pool of data for data mining and analysis. For example, the
collective pool of
data may be used for cluster model generation, recommendations, and so on.
[0277] Game play data may be collected from game play by players located in a
jurisdiction and stored locally on data storage devices. The game play data
may include
player data including private information about a player, such as their name,
credit
score, credit card number, citizenship, residency, address, phone-number,
total
spending amount, and the like. This information may be collected during
registration for
example. Gaming and privacy regulations may govern and restrict where the
private
data may be stored and which locations the private data may be transferred to.
User
preferences may also restrict access and export of private data.
[0278] It may be desirable to pool game play data at a central server or a
collection of
distributed central servers to collect a large amount of game play data for
model
generation and recommendations. The central server(s) may coordinate analytics
for
model and recommendation generation between different servers and
jurisdictions. This
provides increased processing power, increased memory resources for large
amounts
of game play data, and access to a larger data set.
[0279] If the central server is located in one or more different jurisdictions
than where
the data was originally collected then the gaming and privacy regulations and
user
preferences may restrict the export of the private data (a subset of the game
play data)
to the central server. Accordingly, the private data may be separated from the
non-
private gaming behavior data, where only the non-private data may be
transferred.
Further, a summary of private data may be generated such that the summary
abstracts
from and summarizes the private data to generate non-private summary data. The
non-
private data may be anonymous data but may include game factors used to
generate
models and recommendations. The data may also be separated to reduce the
amount
of data to be stored on a single data storage device.
[0280] Local servers may be configured with parsing rules to implement
regulatory
restrictions and user preferences to govern export of data to the central
server(s). That
is, local servers may be configured with parsing rules to process player and
game play
data stored thereon to generate export data for transmission to the central
server. The
local export servers may be configured with parsing rules specific to
regulatory
91
I

I
CA 02821177 2013-07-12
requirements of relevant jurisdictions (e.g. privacy regulation) and user
preferences
(current location of data, location that data will be exported to). For
example, player and
game play data may include private and non-private data, and the local servers
may
separate the private and non-private data based on the parsing rules and apply
tags to
the exported data. To separate the private data (e.g. personal information
about
players) from the non-private data (e.g. playing behavior) a hashing algorithm
may be
used to create an index or tag linking the private and non-private data. That
is, a tag for
the non-private data may identify (directly or indirectly) associated private
data. The tag
or index may otherwise provide relevant information about the non-private data
such as
the location or jurisdiction it is coming from. This may enable central
server(s) to
aggregate data based on the tag. For example, the non-private data may be
aggregated
based on location or jurisdiction.
[0281] The collective pool of data on central server(s) may be partitioned by
jurisdiction,
tag, game, and the like. The tag may include jurisdictional data. When the
collective
pool of data is used to generate models and recommendations different
weightings can
be applied to the data based on jurisdiction. For example, a game
recommendation to a
Canadian playing a game in the United States may be generated by weighting
Canadian data more than data from other jurisdictions. The collective pool of
data may
provide a larger data set (e.g. playing data from multiple countries) in
improve models
and recommendations. Trends and playing behavior may be analyzed using the
collective pool of data.
[0282] Referring now to FIG. 25 there is shown a system 300 for implementing
user
preferences, privacy and regulatory restrictions on export and use of game
play data.
Player and game play data may be stored in a distributed fashion on local game
play
data storage devices 374, 376 and central data storage servers 378. The game
play
data storage devices 374, 376 and central data storage servers 378 may be in
different
or the same jurisdictions. The game play data may be exported from local game
play
data storage devices 374, 376 to central data storage servers 378 using
parsing rules.
The parsing rules may be in accordance with privacy and regulatory
restrictions
implemented by data management server 362 using parsing rules.
92

CA 02821177 2013-07-12
[0283] Data management server 362 provides a middleware component and
mechanism (e.g. in a cloud computing configuration in this example) which will
enables
owner of personal data (e.g. game player) to monitor use of personal data and
implement regulatory restrictions on personal data export.
[0284] Data management server 362 enables a game player to agree or disagree
to the
location where his / her data are stored, by whom data are accessed and how,
how and
by whom data are processed, when and how data are transferred, and so on.
[0285] Data management server 362 would give players the possibility to fully
control
processing, storing or transmitting of their gaming data and to agree/disagree
with
processing, storing or transmitting of their gaming data. To a regulator and
auditor this
may help to increase confidence in transparency how data are treated.
[0286] Data management server 362 includes a Privacy Manager 364 which enables
a
user to access and set his / her preferences for: where his data may be stored

physically, who can access their data and which level of access they can have,
who
can process data, who can transmit data (transfer), what data may be
transferred , what
actions need permission and approval, and so on. Privacy manager 364 may
interact
with a device-based privacy manager 380 residing on mobile device 11. The
preferences may be used to define parsing rules.
[0287] In other words, Privacy Manager 364, 380 collects, stores, and manages
privacy
preferences requested by the game players. In addition, privacy manager 364
may
allow a player to monitor processing, storing or transmitting actions on their
data. For
example, privacy manager 364 may generate a log of all actions and changes and

present to the player on request or in a report.
[0288] Access Control Preference Manager 366 determines what processing,
storing or
transmitting actions are required of personal data in order for the
recommendation
system, export software or other component to perform required or desired
functions.
The required processing, storing or transmitting actions may be implemented as
parsing
rules. Access Control Preference Manager 366 serves as the component managing
cloud service attributes required for the remote evaluation of access control
policies.
That is, Access Control Preference Manager 366 determines desired or required
processing, storing or transmitting actions with respect to game play data.
93

CA 02821177 2013-07-12
[0289] Negotiation Manager 368 may serve as mediator for negotiation between
Privacy
Manager 364 and Access Control Preference Manager 366 so actions can occur or
be
prevented because of privacy limitations. In other words, Negotiation Manager
368 acts
as an interface between Privacy Manager 364 and Access Control Preference
Manager
366 to map required or desired actions to privacy restrictions based on user
preferences. Negotiation Manager 368 provides negotiation functionalities and
protocols.
[0290] Regulatory Requirements Manager 370 may implement regulatory
requirements
on game play data through restriction rules (e.g. parsing rules). For example,

Regulatory Requirements Manager 370 may receive and process relevant privacy
regulations governing use of private data to generate restriction rules for
types of data
and export thereof. Regulatory Requirements Manager 370 will serve to manage
functions related to regulator and specific standards or jurisdictions.
Negotiation
Manager 368 may serve as mediator for negotiation between Regulatory
Requirements
Manager 370 and Access Control Preference Manager 366 to consider required or
desired actions in view of regulatory restrictions.
[0291] Tag manager 372 is operable to implement hashing algorithms and add
tags to
game play data, when separated for export and pooling purposes, for example.
For
tagging data, hashing algorithms may be used. Tag manager 372 can add tags
which
will protect data due to tampering together with tamper proof time stamping
and logging.
Coupled also with low level access controls and monitoring / alerting
technologies tag
manager 372 can help to prevent or, at least, alert unauthorized change or
moving data.
Tag manager 372 may add tags that provide relevant information about game play
data,
such as the location the data was collected in. For hashing, Tag manager 372
may
implement a variety of hashing algorithms, such as SHA 3 (Keccak) hashing
algorithm
which recently. Additional level hashing would be to "seed" data with some
proprietary
system which than will give ownership and control over the data.
[0292] Referring to FIG. 26 there is shown a method 400 for distributing
storage of
game play data using parsing rules (e.g. based on user preferences, privacy
and
regulatory restrictions on game play data).
94

CA 02821177 2013-07-12
[0293] At 402, data management server 362 receives player and game play data
corresponding to players' real time game play for storage on local game play
servers
376.
[0294] At 404, data management server 362 is operable to generate export data
from
player and game play data stored on local game play servers 376. The data
management server 362 is operable to generate the export data using parsing
rules.
The export data includes filtered the player and game play data. For example,
as noted
herein, private data (e.g. personal player data) may be filtered from the
player and
game play data to generate the export data. The parsing rules may implement
user
preferences (as received by privacy manager 364), required processing, storing
or
transmitting actions (as determined by access control manager 366), and
regulatory
requirements (as per regulatory manager 370). The negotiation manager 368 may
generate a subset of parsing relevant to generating particular export data in
consideration of the local game play server 376 where the player and game play
data
originally resides, and the destination of the export data, e.g. the central
play data
server 378 or another local game play server 376. The tag manager 372 is
operable to
tag export data with a tag or index to provide a link between the export data
and the
original player and game play data it was originally generated from.
[0295] At 406, the export data is transmitted from the local game play server
376 to a
central server 378 (or other local game play server 376). In other words, the
export data
is received at a central server 378.
[0296] The central server 378 may receive export data from multiple local game
play
servers 376 or other central server 378 (e.g. organized in a tiered manner).
The central
server 378 stores received export data as part of a collective pool of game
play data.
The collective pool of game play data includes data received from multiple
sources. This
may provide a larger collection of data from which to generate cluster models
and make
recommendations.
[0297] At 408, recommendation server 216 generates a set of game
recommendations,
as described in detail herein. The set of game recommendations may be
generated
using received export data and the collective pool of game play data. For
example, the
received export data may identify a jurisdiction which may be used by
recommendation

CA 02821177 2013-07-12
server 216 to generate recommendations specific to that jurisdiction using the
collective
pool of game play data.
[0298] The recommendation server 216 (or central play data server 378) may
receive
additional player and game play data corresponding to a player's real time
game play in
a game on a gaming machine 10 (or tablet 11). This additional player and game
play
data may be used in connection with the collective pool of game play data at
central
play data server 378 to make recommendations for the player. The
recommendations
leverage the increased size of the collective pool of data. The collective
pool of game
play data may be used to generate the cluster models as described herein. The
models
may be applied to real time game data to make game recommendations for
players, as
described herein. The detailed description of game recommendations herein
applies to
generating game recommendations using the collective pool of data on the
central
server 378.
[0299] At 410, the recommendation server 216 provides the set of game
recommendations. The set of game recommendations may be received at a local
gaming device 10 or tablet 11 from recommendation server 216. The set of game
recommendations may be received via another local computing device for
provision to
the player.
[0300] The player may select a game from the set of game recommendations, and
the
method 400 may return to 402 where additional player and game play data
corresponding to a player's real time game play will be received, for export
or further
recommendations, for example. Accordingly, some or all of the steps of method
400
may repeat for additional data collection, recommendations, or a combination
of both.
MICROGAMING
[0301] A mobile device 11 may establish a connection to a variety of types of
gaming
machines 10, such as for example an electronic gaming table 10 that enables
community or individual games.
[0302] FIG. 27 is a top down view of a substantially horizontal gaming table
10 showing
a particular icon-selection game in progress. In this example, four mobile
devices 11
96

CA 02821177 2013-07-12
are coupled to the gaming table 10. A user interface on the mobile devices 11
may
replicate the surface of the gaming table 10, receive input data from players,
and
provide output data to players. There may be physical players 392 at the
gaming table
in a non-remote configuration. The physical players 392 at the gaming table
may
also play with one or more players using mobile gaming devices 11 in a remote
configuration. The entire top surface of the gaming table 10 may be a touch
screen 390
which may be replicated on user interface of mobile gaming device 11, which
may also
have a touch screen.
[0303] The touch screen 390 technology may be conventional, such as a flat
screen
monitor with a capacitive-type touch screen overlay. The touch screen 390 is
preferably
square to make all the players' positions equivalent; however, rectangular
touch
screens are more commercially available. The position of the player's may be
less
relevant with remote gaming configurations as the players need not be
physically
present at gaming table 10. All player controls may be via the touch screen
390 or
through user interface of mobile device 11.
[0304] When a player arrives at the gaming table 10 or connects thereto via a
mobile
device 11, the player creates a bank of credits, which are displayed at screen
areas
394. The screen areas 394 may be replicated on user interface of mobile gaming
device
11. The player may use a player tracking card, cash, a paper ticket, or other
means to
create the bank of credits. A conventional card reader or cash/ticket receiver
may be
located in the table 10 support structure or on a registration terminal as
described
herein.
[0305] In the game illustrated in FIG. 27, a variety of icons 396 are
displayed having
different wager amounts (or denominations). At least some of the icons 396 are

associated with a randomly selected hidden prize. Other ones of the icons 396
may be
losing icons awarding no prize. Generally, the awards for the higher wager
icons 396
are higher than the lower wager icons 396 . Examples of the wagers are 5
cents, 10
cents, 25 cents, and one dollar. When an icon 20 is touched (which may be via
user
interface of mobile gaming device 11), the advertised wager is deducted from
the
player's bank and the hidden prize is revealed and credited to the player's
bank. The
wager may even be a fraction of a single credit, and the fractions are added
by the
97

CA 02821177 2013-07-12
processor in the gaming system when deducting from or adding credits to the
player's
bank. The fractions may displayed in an area of the screen 390 (or on user
interface of
mobile gaming device 11).
[0306] So that the gaming system knows which player made the icon selection,
the
selecting player touches a "player active" button 398 on the screen (or on
user interface
of mobile gaming device 11) to briefly lock out other players until the
selection is made.
The button 398 may need to be touched while the player touches the icon 396
(or user
interface of mobile gaming device 11), or the button 398 remains activated
once
touched until the player makes the selection. In one example, each player is
associated
with a different color and, when a player touches the button 398, all icons
396 turn that
color to indicate to the other players who is the active player.
[0307] In one embodiment, players that concurrently touch their buttons 398
(or user
interface of mobile gaming device 11) effectively select the same icon 396
that is
touched by any one of the active players. This allows the players to truly
share in the
same gaming experience. Each player then wins a prize as if the players
separately
touched the icon 396 (or user interface of mobile gaming device 11).
[0308] The players may play independently in a random order so as to play at
their own
comfortable rate. Any player may join the game or cash out without affecting
the other
players. Cash-out may be by printed ticket, chips, crediting the player's
central account
(if the player uses a player tracking card), or other suitable means such as
NFC based
credit transfer on a smart phone.
[0309] Any or all players may elect to play an individual game on a portion
399 of the
large screen 390. Any game may remain as the community game or any other game,

and the community game is not affected by any player choosing to play an
individual
game. The gaming system may adapt the community game, as needed, due to the
portion 399 not being used for the community game. The player may select from
a
variety of games (including any community game) by touching a selection button
(or
user interface of mobile gaming device 11), which displays a menu of available
games
in the portion 399 (or on user interface of mobile gaming device 11). The
player then
selects any available game, such as a conventional video poker game, a
conventional
video reels type game, etc., and plays the game in a conventional way. Any
number of
98

CA 02821177 2013-07-12
players may play individual games. Even a single player may be able to player
the
"community game," since it is desirable that no action by any player can
adversely affect
another player's enjoyment of all the games offered by the gaming table 10. In
one
embodiment, a player playing an individual game may also simultaneously
participate in
a community game by selecting a community game to join.
[0310] In another embodiment, the player may choose to initiate another
community
game in portion 399, and additional players may elect to join the community
game by
menu selection (or via user interface of mobile gaming device 11). The
community
game screen display would then expand to the other players' locations (e.g.,
from 25%
of the screen 18 to 50% of the screen 390). None of the players' gaming
experiences
are interrupted by such selections. The players may even elect to
simultaneously
participate in multiple community games.
OTHER FEATURES
[0311] In alternative embodiments, the mobile gaming device may be connected
to the
gaming machine with a cable, either directly connected to a port of the gaming
machine
or via a network communicating with the gaming machine.
[0312] The software used to program the gaming machines and servers in
accordance
with the embodiments described herein may be initially stored on a ROM, such
as a CD
or an electronic memory device. Such CDs and devices are non-transitory
computer
readable mediums having the appropriate computer instructions stored thereon.
The
programming may also be downloaded to the gaming machines via the casino's
network.
[0313] It should be appreciated that the terminals, processors, or computers
described
herein may be embodied in any of a number of forms, such as a rack-mounted
computer, a desktop computer, a laptop computer, or a tablet computer.
Additionally, a
computer may be embedded in a device perhaps not generally regarded as a
computer
but with suitable processing capabilities, including an electronic gaming
machine, a
Web TV, a Personal Digital Assistant (PDA), a smart phone or any other
suitable
portable or fixed electronic device.
[0314] Also, a computer may have one or more input and output devices. These
devices
can be used, among other things, to present a user interface. Examples of
output
99

CA 02821177 2013-07-12
devices that can be used to provide a user interface include printers or
display screens
for visual presentation of output and speakers or other sound generating
devices for
audible presentation of output. Examples of input devices that can be used for
a user
interface include keyboards, and pointing devices, such as mice, touch pads,
and
digitizing tablets. As another example, a computer may receive input
information
through speech recognition or in other audible format.
[0315] Such computers may be interconnected by one or more networks in any
suitable
form, including as a local area network or a wide area network, such as an
enterprise
network or the Internet. Such networks may be based on any suitable technology
and
may operate according to any suitable protocol and may include wireless
networks,
wired networks or fiber optic networks. As used herein, the term "online"
refers to such
networked systems, including computers networked using, e.g., dedicated lines,

telephone lines, cable or ISDN lines as well as wireless transmissions. Online
systems
include remote computers using, e.g., a local area network (LAN), a wide area
network
(WAN), the Internet, as well as various combinations of the foregoing.
Suitable user
devices may connect to a network for instance, any computing device that is
capable of
communicating over a network, such as a desktop, laptop or notebook computer,
a
mobile station or terminal, an entertainment appliance, a set-top box in
communication
with a display device, a wireless device such as a phone or smartphone, a game

console, etc. The term "online gaming" refers to those systems and methods
that make
use of such a network to allow a game player to make use of and engage in
gaming
activity through networked, or online systems, both remote and local. For
instance,
"online gaming" includes gaming activity that is made available through a
website on the
Internet.
[0316] Also, the various methods or processes outlined herein may be coded as
software that is executable on one or more processors that employ any one of a
variety
of operating systems or platforms. Additionally, such software may be written
using any
of a number of suitable programming languages and/or programming or scripting
tools,
and also may be compiled as executable machine language code or intermediate
code
that is executed on a framework or virtual machine.
100

CA 02821177 2013-07-12
[0317] In this respect, embodiments may provide a tangible, non-transitory
computer
readable storage medium (or multiple computer readable storage media) (e.g., a

computer memory, one or more floppy discs, compact discs (CD), optical discs,
digital
video disks (DVD), magnetic tapes, flash memories, circuit configurations in
Field
Programmable Gate Arrays or other semiconductor devices, or other non-
transitory,
tangible computer-readable storage media) encoded with one or more programs
that,
when executed on one or more computers or other processors, perform methods
that
implement the various embodiments discussed above. The computer readable
medium
or media can be transportable, such that the program or programs stored
thereon can
be loaded onto one or more different computers or other processors to
implement
various aspects as discussed above. As used herein, the term "non-transitory
computer-
readable storage medium" encompasses only a computer-readable medium that can
be
considered to be a manufacture (i.e., article of manufacture) or a machine and
excludes
transitory signals.
[0318] The terms "program" or "software" are used herein in a generic sense to
refer to
any type of computer code or set of computer-executable instructions that can
be
employed to program a computer or other processor to implement various aspects
of as
discussed above. Additionally, it should be appreciated that according to one
aspect of
this embodiment, one or more computer programs that when executed perform
methods need not reside on a single computer or processor, but may be
distributed in a
modular fashion amongst a number of different computers or processors to
implement
various aspects of embodiments described herein.
[0319] Computer-executable instructions may be in many forms, such as program
modules, executed by one or more computers or other devices. Generally,
program
modules include routines, programs, objects, components, data structures, etc.
that
perform particular tasks or implement particular abstract data types.
Typically the
functionality of the program modules may be combined or distributed as desired
in
various embodiments.
[0320] Also, data structures may be stored in computer-readable media in any
suitable
form. For simplicity of illustration, data structures may be shown to have
fields that are
related through location in the data structure. Such relationships may
likewise be
101

CA 02821177 2013-07-12
achieved by assigning storage for the fields with locations in a computer-
readable
medium that conveys relationship between the fields. However, any suitable
mechanism
may be used to establish a relationship between information in fields of a
data structure,
including through the use of pointers, tags, addresses or other mechanisms
that
establish relationship between data elements.
[0321] Various aspects of embodiments described herein may be used alone, in
combination, or in a variety of arrangements not specifically discussed in the

embodiments described in the foregoing and the concepts described herein are
therefore not limited in their application to the details and arrangement of
components
set forth in the foregoing description or illustrated in the drawings. For
example, aspects
described in one embodiment may be combined in any manner with aspects
described
in other embodiments.
[0322] Also, embodiments described herein may provide a method, of which an
example has been provided. The acts performed as part of the method may be
ordered
in any suitable way. Accordingly, embodiments may be constructed in which acts
are
performed in an order different than illustrated, which may include performing
some acts
simultaneously, even though shown as sequential acts in illustrative
embodiments.
[0323] While embodiments have been described with reference to certain
exemplary
features thereof, those skilled in the art may make various modifications to
the
described embodiments. The terms and descriptions used herein are set forth by
way of
illustration only and not meant as limitations. In particular, although
embodiments have
been described by way of examples, a variety of devices would practice the
inventive
concepts described herein. Embodiments have been described and disclosed in
various
terms, the scope of the embodiments is not intended to be, nor should it be
deemed to
be, limited thereby and such other modifications or embodiments as may be
suggested
by the teachings herein are particularly reserved, especially as they fall
within the
breadth and scope of the claims here appended. Those skilled in the art will
recognize
that these and other variations are possible as defined in the following
claims and their
equivalents.
102

Representative Drawing
A single figure which represents the drawing illustrating the invention.
Administrative Status

For a clearer understanding of the status of the application/patent presented on this page, the site Disclaimer , as well as the definitions for Patent , Administrative Status , Maintenance Fee  and Payment History  should be consulted.

Administrative Status

Title Date
Forecasted Issue Date Unavailable
(22) Filed 2013-07-12
Examination Requested 2014-06-06
(41) Open to Public Inspection 2014-07-10
Dead Application 2018-07-12

Abandonment History

Abandonment Date Reason Reinstatement Date
2017-07-12 FAILURE TO PAY APPLICATION MAINTENANCE FEE

Payment History

Fee Type Anniversary Year Due Date Amount Paid Paid Date
Application Fee $400.00 2013-07-12
Request for Examination $800.00 2014-06-06
Registration of a document - section 124 $100.00 2014-10-22
Maintenance Fee - Application - New Act 2 2015-07-13 $100.00 2015-05-05
Registration of a document - section 124 $100.00 2016-01-28
Maintenance Fee - Application - New Act 3 2016-07-12 $100.00 2016-07-07
Owners on Record

Note: Records showing the ownership history in alphabetical order.

Current Owners on Record
IGT CANADA SOLUTIONS ULC
Past Owners on Record
GTECH CANADA ULC
SPIELO INTERNATIONAL CANADA ULC
Past Owners that do not appear in the "Owners on Record" listing will appear in other documentation within the application.
Documents

To view selected files, please enter reCAPTCHA code :



To view images, click a link in the Document Description column. To download the documents, select one or more checkboxes in the first column and then click the "Download Selected in PDF format (Zip Archive)" or the "Download Selected as Single PDF" button.

List of published and non-published patent-specific documents on the CPD .

If you have any difficulty accessing content, you can call the Client Service Centre at 1-866-997-1936 or send them an e-mail at CIPO Client Service Centre.


Document
Description 
Date
(yyyy-mm-dd) 
Number of pages   Size of Image (KB) 
Abstract 2013-07-12 1 25
Description 2013-07-12 102 5,927
Claims 2013-07-12 30 1,187
Drawings 2013-07-12 24 400
Representative Drawing 2014-06-12 1 5
Cover Page 2014-08-11 1 45
Description 2016-03-18 92 5,258
Claims 2016-03-18 35 1,416
Assignment 2013-07-12 5 165
Correspondence 2014-04-17 4 128
Correspondence 2014-05-02 1 16
Prosecution-Amendment 2014-06-06 2 74
Assignment 2014-10-22 8 387
Examiner Requisition / Examiner Requisition 2015-09-18 7 380
Assignment 2016-01-28 5 284
Amendment 2016-03-18 267 14,534
Correspondence 2016-07-26 7 459
Office Letter 2016-08-29 1 30
Office Letter 2016-08-30 1 38
Examiner Requisition 2016-09-19 5 308
Amendment 2017-03-17 90 4,257
Description 2017-03-17 97 5,154
Claims 2017-03-27 29 1,213