U.S. patent application number 11/159051 was filed with the patent office on 2006-12-21 for online, real-time game playing with serving of pages of information to a multitude of players.
This patent application is currently assigned to Waterleaf Limited. Invention is credited to Martin Paul Moshal.
Application Number | 20060287097 11/159051 |
Document ID | / |
Family ID | 36934187 |
Filed Date | 2006-12-21 |
United States Patent
Application |
20060287097 |
Kind Code |
A1 |
Moshal; Martin Paul |
December 21, 2006 |
Online, real-time game playing with serving of pages of information
to a multitude of players
Abstract
A central gaming server transmits game lobby pages to a
multitude of distributed computing devices accessing a gaming
website or websites over a network such as the Internet. To
overcome scalability problems in keeping the lobby displays
up-to-date and accurate in all the participating distributed
workstations, particularly in a dynamic gaming environment where
hundreds or thousands of games may be going on simultaneously, game
or player data in the lobby displays is transmitted as individual
pages along with icons by which the users of the computing devices
can request additional pages. Updates are performed for only the
displayed pages. This approach provides a significant improvement
in server and network performance over prior techniques in which
all game statistics for a particular selected type of game (or
statistics on all the current players) was sent to each workstation
and the workstation would scroll through the entire data set as
necessary to view all the game or player data.
Inventors: |
Moshal; Martin Paul; (Queens
Way Quay, GI) |
Correspondence
Address: |
MCDONNELL BOEHNEN HULBERT & BERGHOFF LLP
300 S. WACKER DRIVE
32ND FLOOR
CHICAGO
IL
60606
US
|
Assignee: |
Waterleaf Limited
Douglas
GB
|
Family ID: |
36934187 |
Appl. No.: |
11/159051 |
Filed: |
June 21, 2005 |
Current U.S.
Class: |
463/42 |
Current CPC
Class: |
G07F 17/32 20130101;
G07F 17/3288 20130101 |
Class at
Publication: |
463/042 |
International
Class: |
A63F 9/24 20060101
A63F009/24 |
Claims
1. Apparatus comprising: a machine readable medium storing a set of
program instructions, said instructions comprising instructions for
displaying a game lobby page on a user interface of a computing
device, wherein the game lobby page displays information as to a
game type available for play over a computer network and, for the
game type, information as to individual instances of games of said
game type or players playing in games of the game type, and wherein
the game lobby page includes a page icon wherein information on
additional instances of said games or players playing in games of
the game type not included on the lobby page may be requested from
a gaming server in the form of an additional page or pages.
2. The apparatus of claim 1, wherein the game type comprises a card
game and wherein the individual instances of games comprises a
virtual card table.
3. The apparatus of claim 1, wherein the game type comprises a card
game and wherein the individual instances of games comprises a
tournament of said card game.
4. The apparatus of claim 3, wherein said card game comprises a
wager game.
5. The apparatus of claim 1, wherein the machine readable
instructions are stored on a general purpose computer and wherein
the instructions are downloaded from a server to the computer over
the Internet.
6. The apparatus of claim 1, wherein when a game lobby page is
displayed on the computing device, the page is periodically updated
by transmission of an updated page from the gaming server, and
wherein game information for non-displayed instances of games not
included in the game lobby page are not periodically updated.
7. A gaming server providing updated game information to a
plurality of distributed computing devices engaging in game playing
over a computer network, comprising: a processing unit; a database
coupled to the processing unit storing game information data for a
plurality of instances of games, wherein the database is updated to
store real-time or near real time information as to the plurality
of instances of games, and wherein the gaming server provides
periodic updates to displays of instances of games to the plurality
of distributed computing devices by means of transmitting pages of
said data, and wherein game information for instances of a game
type not included in the pages of data are not periodically updated
at the computing devices, thereby improving the ability of said
server to update the plurality of distributed computing devices in
real time or substantial real time without substantial degradation
in performance of the gaming server.
8. The gaming server of claim 7, wherein the games comprise card
games and wherein the instances of said card games each comprises a
virtual card table.
9. The gaming server of claim 7, wherein the games comprise card
games and wherein the instances of said card games each comprises a
tournament of said card game.
10. The gaming server of claim 7, wherein the database stores a
list of players currently playing games and wherein the gaming
server provides periodic updates to displays of players playing
games to the plurality of distributed computing devices by means of
transmitting pages of said data, and wherein pages containing
player information that are not currently displayed on the
distributed computing devices are not periodically updated at the
computing devices.
11. The gaming server of claim 7, wherein the server receives a
page request for information as to additional instances of games,
and wherein the requested page is transmitted to a requesting
computing device over the Internet.
12. The gaming server of claim 7, wherein the database stores game
information for a plurality of wager games, the game information
for each of the wager games comprising statistics for a plurality
of virtual card tables playing said wager games, and wherein the
display includes a display of the statistics.
13. The gaming server of claim 7, wherein: the gaming server stores
state information for each of the distributed computing devices,
the state information including a current display on the
distributed computing devices; and wherein in the event that a
distributed computing device is currently displaying a game lobby
page to a user of the distributed computing device the gaming
server periodically transmits an updated lobby page corresponding
to the displayed lobby page to the distributed computing device but
does not transmit updated information for instances of games not
included in the game lobby page.
14. A method of periodically updating displays of game information
on a plurality of distributed computing devices connected to a
server over a computer network, comprising the steps of: presenting
game information as to a plurality of instances of games on the
display of the plurality of distributed computing devices in the
form of a page of game information; maintaining state information
at the server, including the current page displayed for each of the
distributed computing devices; and the server periodically updating
the displayed page on each of the distributed computing devices by
transmitting an updated page to each of the distributed computing
devices, wherein only the displayed page at the distributed
computing devices is updated and wherein game information for other
instances of games not included in the page of game information are
not updated at the computing devices.
15. The method of claim 14, wherein the game information is
presented as a lobby page, wherein the lobby page displays a
plurality of game types and a plurality of instances of games of at
least one of the game types, and wherein the display of the
plurality of instances of games includes an icon providing a user
to request transmission of an additional page of game information
for additional instances of the game.
16. The method of claim 14, wherein the games comprise card games,
wherein the plurality of instances of games comprise a plurality of
virtual card tables.
17. The method of claim 14, wherein the games comprise card games
and wherein the instances of said card games each comprises a
tournament of said card game.
18. The method of claim 16, wherein the game types include at least
one poker game, and wherein the plurality of instances of the poker
game comprise virtual poker tables.
19. The method of claim 16, wherein the games are selected from the
group consisting of poker, blackjack, punto banco, craps, and
bridge.
20. A method of providing game lobby pages to a multitude of
distributed computing devices connected to a server over a computer
network, the game lobby page displaying information for a plurality
of instances of games, comprising the steps of: receiving a request
for a game lobby page from each of the multitude of distributed
computing devices; and transmitting a game lobby page from the
gaming server to each of the multitude of distributed computing
devices, wherein each game lobby page includes an icon providing
the user with the ability to request additional pages and wherein
information, if requested, for instances of games not displayed on
the game lobby page is requested and transmitted to each of the
multitude of distributed computing devices as one or more
pages.
21. The method of claim 20, wherein the server maintains state
information, including the current page displayed for each of the
multitude of distributed computing devices; and wherein the server
periodically updates the displayed page on each of the distributed
computing devices by transmitting an updated page to each of the
distributed computing devices, wherein only the displayed page at
the distributed computing devices is updated and wherein game
information for other, non-displayed instances of games are not
updated at the computing devices.
22. The method of claim 20, wherein the game lobby page displays a
plurality of game types and wherein a selection of a game type
presents a display of a plurality of instances of the game type in
the form of a page of game information for the plurality of
instances and a page icon wherein additional instances of the game
type may be requested.
23. The method of claim 20, wherein the game lobby page displays
information for a plurality of virtual card tables.
24. The method of claim 20, wherein the game lobby page displays
information for a plurality of tournaments.
25. The method of claim 20, wherein the game lobby page displays a
page of players currently playing games and a page icon whereby
additional pages of players may be requested for transmission.
26. The gaming server of claim 7, wherein the server communicates
with the distributed computing devices in a distributed network
gaming topology.
27. The gaming server of claim 7, wherein the server communicates
with the distributed computing devices in a centralized network
gaming topology.
Description
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] Not applicable.
STATEMENT REGARDING FEDERALLY SPONSORED RESEARCH OR DEVELOPMENT
[0002] Not applicable.
BACKGROUND
[0003] This disclosure relates generally to methods and systems for
providing online, real-time game playing over computer networks
such as the Internet. More particularly, this disclosure relates to
methods of presenting up-to-date, game-related information to a
multitude of players in a scalable manner. Aspects of this
invention allow a gaming server coordinating a multitude of online
game playing to provide real time game information simultaneously
to a larger number of game players (e.g., many thousands of such
players) in a more efficient manner than previously known.
[0004] A system and method for playing games, such as card games,
over a computer network is described in published PCT application
WO 03/093921 A2, published Nov. 13, 2003, which is assigned to the
assignee of the present invention. The entire contents of WO
03/093921 A2 are incorporated by reference herein. The system of
the '921 PCT publication includes a central gaming server
accessible over the Internet and enables participation in games
such as poker games by individuals accessing diverse portal
websites (gaming websites).
[0005] In the last several years, systems have been commercialized
such as described in the '921 patent publication wherein a gaming
website provides a facility for online game playing, particularly
online poker playing. Such systems have become quite popular and
gaming sites may host hundreds, even thousands of players at a
time. In online poker, the success of an online poker web site
("online poker room") is directly related to the magnitude of a
pool of would-be players who desire to play a game of online poker.
Simply put, the larger the pool of players, the more virtual poker
tables (i.e. poker games each accommodating a maximum of, say, 10
players) the online poker software can spawn, thereby increasing
the overall liquidity of the online poker room and increasing its
attractiveness to other would-be players.
[0006] In order to maximize this size advantage, some online poker
rooms operate under a centralized topology, in which there is a
single operating entity ("operator") that owns and runs the gaming
web site and the player pool is homogeneous (i.e. all players are
registered with, or "belong to", this single operator). The
operator makes its money by charging a proportion (a "rake") of the
collective wagers ("the pot") of all players participating in each
game of poker that is played in the online poker room. Under a
centralized topology, a player will always be playing only with
other players who are registered with the same (i.e. the only)
operator. Settlement of player wagers is straightforward: 1) the
operator deducts it's rake from the pot; 2) the balance is paid
over to the player that has won the game; and 3) the next game
starts and the process repeats.
[0007] Other online poker rooms may operate under a distributed
topology (also referred to, in the art, as a network topology).
Under this topology, the player pool is heterogeneous, as players
registered with different operators are pooled together to maximize
liquidity of the collective player pool. This means that players
registered with different operators could find themselves playing
in the same poker game. In this instance settlement of player
wagers is more complex than in the centralized topology as
situations invariably arise in which funds have to be transferred,
(or "cleared"), between different operators whose players are
playing on the poker network involving a multitude of operators.
The principles underlying a distributed topology are set forth in
the above-referenced patent application WO 03/093921 A2. The
present inventive methods apply to both the centralized and
distributed topologies.
[0008] FIG. 1 is a screen shot from an online poker room home or
"lobby" page, showing a prior art arrangement for providing real
time game information to a potential game player. The player
accesses the gaming web site using a personal computer or other
computing device with Internet access. As shown in FIG. 1, the
lobby is presented on the user interface of the computing device.
The lobby presents a display of eight categories or types of card
games that are currently available for play via the web site
(either under a centralized or a distributed topology). Each game
type is associated with a tab:
[0009] Tab 1) Hold'em--poker games of the Texas Hold'em
variety;
[0010] Tab 2) Omaha--poker games of the Omaha variety;
[0011] Tab 3) Omaha--poker games of the Omaha Hi/Lo variety;
[0012] Tab 4) 7 Stud--poker games of the 7-Card Stud variety;
[0013] Tab 5) 5 Stud--poker games of the 5-Card Stud variety;
[0014] Tab 6) Private--invitation-only poker games established by
players;
[0015] Tab 7) Sit & Go--non-scheduled tournaments; and
[0016] Tab 8) MTT (Multi-Table Tournaments)--scheduled
tournaments.
[0017] When any of the first five tabbed categories or types is
selected, a player is presented with a list of all tables with
poker games of that particular variation that are currently active.
See FIG. 1, which shows the tables for the Hold'em game (tab 1).
For each active game instance (virtual table) in the list, the
following attributes are displayed:
[0018] a) name of the table (typically, fanciful names to spark
player interest, but may also be in the form of a number or
index);
[0019] b) table stakes in the format: Small Blind/Big Blind;
[0020] c) number of Participating Players/Max number of Players
that can be accommodated;
[0021] d) whether the table is a no limit table, a pot limit table
or a fixed limit table;
[0022] e) average size of pots at that table;
[0023] f) average number of players who have not yet folded at the
flop stage of the game;
[0024] g) number of players waiting to join the table; and
[0025] h) number of hands played per hour.
[0026] Note the scroll feature 10 of FIG. 1. If the person scrolls
down using the slide bar 12, additional virtual tables in the
Hold-em category are presented. Note that there may be dozens,
potentially hundreds, of tables available under this category. The
user scrolls down to see all the available tables. This scroll
feature is typically found in each of the game categories or tabs
of FIG. 1.
[0027] Sit & Go Tournaments (Tab 7 of FIG. 1) are poker
tournaments that have no pre-set start time and that commence when
a prescribed number of players required for the tournament have
entered the tournament. Sit-and-Go tournaments can be single-table
or multi-table tournaments. When the Sit & Go tabbed category
is selected, a player is presented with a list of all Sit & Go
tournaments that are either active or are pending. For each Sit
& Go tournament in the list, the following attributes are
displayed:
[0028] a) a tournament identification code;
[0029] b) a name of the tournament;
[0030] c) a type of poker game played in the tournament;
[0031] d) whether the tournament is a no limit, pot limit or fixed
limit tournament;
[0032] e) number of seats available in the tournament;
[0033] f) the current size of blinds for active tournaments, and
the number of players already entered for pending tournaments.
[0034] MTT (Tab 8 of FIG. 1) are poker tournaments that have a
scheduled start time. Players are required to enter the tournament
and to be available to commence play in time for the scheduled
start of the tournament. When the MTT tabbed category is selected,
a player is presented with a list of all MTT tournaments (same
instances) that are either active or are pending. See FIG. 2. For
each MTT tournament in the list, the following attributes are
displayed:
[0035] a) a tournament identification code;
[0036] b) a name of the tournament;
[0037] c) a type of poker game played in the tournament;
[0038] d) buy-in rules;
[0039] e) number of entrants for the tournament; and
[0040] f) a current size of blinds for active tournaments and a
scheduled start time for pending tournaments.
[0041] If one considers the amount of information displayed in the
displays of FIG. 1-2, and the fact that a multitude (hundreds or
even thousands) of players and potential players may be
simultaneously playing (particularly in a distributed topology
where players registered with multiple different web site operators
are pooled into one large pool), it is apparent that a substantial
burden is placed on a central gaming server coordinating play to
keep each player's lobby screen display updated with current
information. The information displayed on each player's lobby
screen is dynamic since players are continually joining and
dropping out of games, and table statistics constantly change. For
example, if a table that would appear from FIG. 1 or FIG. 2 to have
one or more vacant "seats," dozens if not hundreds of persons may
attempt to join the table within a span of a few minutes,
especially in a period of high demand. As a result, vacant seats
may be taken up in a matter of seconds. Persons who may think they
are going to join a particular table may not be able to do so, as
the information in FIG. 1 or FIG. 2 will be inaccurate as it might
not yet have updated by a heavily loaded gaming server to indicate
that there are no more vacant seats available. Similarly, the
statistics on pot size, average payout, number of hands played per
hour, etc. will change constantly and players expect this
information to be up to date and accurate. However, given the
dynamic nature of online gaming playing, such statistics may in
fact change continuously. As a result, it is important that the
lobby information presented to players accessing and using online
gaming software be both current and accurate, and remain so on an
ongoing basis. If it is not (for example, a player keeps trying to
join a table that indicates a vacant seat, but is unable to do so),
the player may get discouraged or frustrated and quit playing or
log onto a different site.
[0042] To summarize, every player that is logged on to gaming
website or a gaming system must be presented with all the data that
can be displayed on the lobby page, as described above in FIGS. 1
and 2. The data on the lobby page is obtained from a central gaming
server and transmitted to a player's client computing device by
means of the Internet. The data is dynamic, since players may enter
and leave non-tournament poker games at any time, new poker tables
may be spawned by the poker server during periods of high player
demand and may be collapsed and consolidated during times of low
player demand. Further, tournaments commence and terminate, and
numbers of players entered in tournaments change over time. This
means that fresh data must be re-transmitted from the gaming server
to each computing device periodically. The data is, ideally,
real-time (or substantially real-time), giving the player an
accurate snapshot of the state of the poker network. Further, it is
not uncommon for several thousand players to be connected and
playing simultaneously during peak periods.
[0043] The net result of this situation is that the gaming server
can be swamped by the load placed on it in servicing (i.e.,
updating) the lobby data tables (e.g., as shown in FIGS. 1 and 2)
to the computers of all of the players that are logged in. The
result of this overload may cause the responsiveness of the gaming
server to degrade, i.e., slow down or even crash. The update
frequency of the lobby data on each computer workstation
consequently decreases, which results in unfortunate consequences
such as, for example, a player wishing to join a poker table or a
tournament on the basis of stale lobby data that indicates, say,
that a vacant seat exists at that poker table or tournament but
which, in reality, has no vacancies as the last remaining seat has
already been taken up.
[0044] This problem of timely and accurate updating of client
computers as to game or tournament information and game statistics,
without degradation of gaming server performance, is one of
scalability. Moreover, the more players that join the network the
more load is placed on the central gaming server to provide
updates. As more players join and the overload problem gets worse,
the result may be that players stop playing or go elsewhere to
play. Thus, this problem presents a bottleneck that seriously
limits the ability of the gaming website operators to accommodate
more players. The inability to accommodate more players diminishes
the potential revenue of the gaming website operators.
[0045] The conventional solution to the problem is to utilize more
server hardware. However, even this approach leaves something to be
desired since it is more expensive to provide more server hardware,
and even with more server hardware some degradation in performance
may still occur during peak times, particularly as the number of
participants in online gaming continues to grow. The art has failed
to adequately address this problem.
SUMMARY
[0046] The following embodiments and aspects thereof are described
and illustrated in conjunction with systems, tools and methods
which are meant to be exemplary and illustrative, not limiting in
scope. In various embodiments one or more of the above-described
problems have been reduced or eliminated, while other embodiments
are directed to other improvements. Moreover, the principles of the
present invention are applicable both to a centralized gaming
topology where all players are registered with a single operator,
as well as to a distributed topology as described above.
[0047] The present inventor has appreciated that a primary cause of
the scalability and load problem of providing real-time game
information to a multitude of distributed computing devices from a
central gaming server can be traced to the manner in which
information is displayed on the distributed computing devices.
Having made this insight, the present disclosure provides for new
methods of presenting and updating information to players engaged
in online gaming which overcomes this problem and allows for new
levels of scalability to be achieved, far surpassing the ability of
the prior art.
[0048] In one aspect, the solution presented by this disclosure is
to replace scrollable windows in the game lobby page (as shown in
FIGS. 1 and 2 as items 10 and 12), which display relatively large
sets of data, with individual pages of data that can be requested
individually from the gaming server. It has been discovered that
the presentation of lobby data by way of pages, and requiring the
distributed computing devices to individually request additional
pages, places much less of a burden on a central gaming server both
in presenting initial game lobby pages to requesting computing
devices as well as providing periodic updates to the displayed game
lobby pages for all the currently active computing devices.
[0049] For example, a given lobby page may be presented and the
user may click on or select the MTT category. The lobby presents a
single page listing one subset of the available tournaments, and
the data for the subset of tournaments is sized such that it fits
into a window pane on the GUI of the computing device, preferably
without requiring any scrolling to view the subset of available
tournaments data. If the user wishes to view data for additional
tournaments, they request an additional page or pages. When an
update of their lobby page needs to occur (e.g., after a certain
time T elapses, or, alternatively, when any change in the
statistics for a table in the page occurs) only the currently
displayed page is updated and non-displayed game instances (e.g.,
other pages of tournaments or other virtual card tables) are not
updated since they are not displayed.
[0050] As another example, if the user double-clicks on any active
MTT tournament in the MTT tabbed category, the user is presented
with a second level lobby display for that particular selected
tournament. A window lobby screen displays player information that
is split into a multitude of pages, each of which can be retrieved
by means of a corresponding page icon displayed at the bottom of
the window. For example, additional player information can be
requested by clicking on the corresponding page icon whereupon a
page request is sent to the gaming server and the requested page is
sent to the requesting computing device.
[0051] The solution to the scalability problem described herein has
been successful in that it may allow a poker network in a
distributed topology to host tournaments accommodating
approximately double the number of players, without substantial
degradation in server performance, as compared to in tournaments
hosted by gaming servers in systems that use the prior art
scrolling approach. This presents a substantial advance and
improvement over the prior art.
[0052] The present solution is applicable to online games
generally, such as SCRABBLE.RTM. and is not necessarily limited to
card games. The solution is also applicable to lobbies that would
display other types of card games besides wager games, such as
bridge, and also to other multiplayer games, such as blackjack,
punto banco, craps, and the like.
[0053] In one specific embodiment of the invention, an apparatus is
provided comprising a machine readable medium storing a set of
program instructions. The instructions comprise instructions
preferably in the form of a client gaming application for
displaying a game lobby page on a user interface of a computing
device. The game lobby page displays information as to a game type
(e.g., hold'em, craps, bridge, 7 card stud, or tournament)
available for play over a computer network and, for the game type,
information as to individual instances of games of the game type.
The individual instances may take the form of individual games,
virtual poker tables, or individual game tournaments. The game
lobby page includes a page icon wherein information on additional
instances of the games not displayed on the lobby page may be
requested from a gaming server in the form of an additional page or
pages.
[0054] In another embodiment, a gaming server is disclosed that
provides updated game information to a plurality of distributed
computing devices engaging in game playing over a computer network.
The gaming server comprises a processing unit and a database
coupled to the processing unit storing game information data for a
plurality of instances of games. The database is regularly updated
to store real-time or near real time information as to the
plurality of instances of games. The gaming server provides
periodic updates (e.g., every minute, or when table statistics
change) to the displays of instances of games (e.g., individual
games, virtual card tables, or specific tournaments) to the
plurality of distributed computing devices by means of transmitting
pages of data. Further, game information for non-displayed
instances are not periodically updated at the plurality of
distributed computing devices. For example, if a computing device
is displaying page 5 of the 40 pages devoted to Hold'em tables,
that computing device would only have page 5 updated. It will be
understood that the server will ordinarily be updating all of
database information for all the tables continuously, but the only
updated pages that are sent to the distributed computing devices
are those that are currently displayed on the computing devices.
Accordingly, the ability of the server to update the plurality of
distributed computing devices in real time or substantial real time
without substantial degradation in performance of the gaming server
is achieved.
[0055] In still another aspect, a method is provided of
periodically updating displays of game information on a plurality
of distributed computing devices connected to a server over a
computer network. The method includes the step of presenting game
information as to a plurality of instances of games on the display
of the plurality of distributed computing device in the form of a
page of game information. The method further comprises the step of
maintaining state information at the server, including the current
page displayed for each of the distributed computing devices. The
method further includes the step of the server periodically
updating the displayed page on each of the distributed computing
devices by transmitting an updated page to each of the distributed
computing devices, wherein only the displayed page at the
distributed computing devices is updated and wherein game
information for other, non-displayed instances of games are not
updated. As in the example above, if a computing device is
displaying page 5 of the 40 pages devoted to Hold'em tables, that
computing device would only have page 5 updated. It will be
understood that the server will ordinarily be updating all of
database information for all the tables continuously, but the only
updated pages that are sent to the distributed computing devices
are those that are currently displayed on the computing
devices.
[0056] In still another aspect, a method is disclosed of providing
game lobby pages to a multitude of distributed computing devices
connected to a gaming server over a computer network, the game
lobby pages displaying information for a plurality of instances of
games. The method comprising the steps of receiving a request for a
game lobby page from each of the multitude of distributed computing
devices, and transmitting a game lobby page from the gaming server
to each of the multitude of distributed computing devices, wherein
each game lobby page includes an icon providing the user with the
ability to request additional pages and wherein information for
instances of games not currently displayed on the game lobby page
is requested and transmitted to each of the multitude of
distributed computing devices as one or more pages.
[0057] In addition to the exemplary aspects and embodiments
described above, further aspects and embodiments will become
apparent by reference to the drawings and by study of the following
detailed descriptions.
BRIEF DESCRIPTION OF THE DRAWINGS
[0058] Exemplary embodiments are illustrated in referenced figures
of the drawings. It is intended that the embodiments and figures
disclosed herein are to be considered illustrative rather than
restrictive.
[0059] FIG. 1 is a prior art lobby page displayed on a workstation
by a client application providing for game playing over a computer
network, the lobby page including a plurality of tabs corresponding
to particular game types and under each tab a display of a
plurality of instances of games of the selected game type, wherein
scrolling is a tool for display of additional instances of games
under the selected game type.
[0060] FIG. 2 is a prior art lobby page displayed on a workstation
by a client application providing for game playing, wherein in the
user has selected the MTT (multi-table tournaments) and a number of
instances of tournaments are displayed, again with scrolling being
the tool for display of additional instances of the
tournaments.
[0061] FIG. 3 is a schematic diagram of a system for providing game
playing for a plurality of distributed computing devices, in which
a central server provides lobby page data to the distributed
computing devices using the techniques of this disclosure. While
FIG. 3 shows a distributed network topology, the principles of this
disclosure are applicable to a centralized topology.
[0062] FIGS. 4-6 show representative examples of lobby pages in
which game instance information is displayed as a page of
information and the user is provided with graphical user interface
tools such as "next page", "first page," or page number icons to
request additional pages. The use of pages as shown in FIGS. 4-6,
the feature of the user requesting of additional pages, and the
periodic updating of only the displayed page, has been discovered
to solve the scalability problems associated with the design of the
lobby pages of FIGS. 1 and 2.
[0063] FIGS. 7A and 7B are a flow chart showing a process by which
a user accesses a gaming web site of FIG. 3 and is provided with
lobby data and updated lobby information in accordance with an
exemplary embodiment.
DETAILED DESCRIPTION OF PREFERRED AND ALTERNATIVE EMBODIMENTS
[0064] Overview
[0065] The present inventor has appreciated that a primary cause of
the scalability and load problem of providing real-time game
information to a multitude of distributed computing devices from a
central gaming server can be traced to the manner in which
information is transmitted to and displayed on the distributed
computing devices. Having made this insight, the present disclosure
provides for new methods of presenting and updating information to
players accessing an online gaming site which overcomes this
problem and allows for new levels of scalability to be achieved,
far surpassing the ability of the prior art.
[0066] In one aspect, the solution presented by this disclosure is
to replace scrollable windows in the game lobby page (as shown in
FIGS. 1 and 2), which display relatively large sets of data, with
individual pages of data, generally smaller in size, that can be
requested individually from the gaming server. Examples are shown
in FIGS. 4-6 and will be described in detail subsequently. It has
been discovered that the presentation of lobby data by way of
pages, and the ability of the computing devices to individually
request additional pages, places much less of a burden on a central
gaming server, both in terms of presenting initial game lobby pages
to requesting computing devices, as well as providing periodic
updates to the displayed game lobby pages.
[0067] For example, a given lobby page may be presented and the
user may click on or select the MTT category. The lobby presents a
single page listing one subset of the available tournaments, and
data for the subset is sized such that it fits into a window pane
on the GUI of the computing device, preferably without requiring
any scrolling to view the subset of available tournaments. If the
user wishes to view additional tournaments, they request additional
pages. When an update of their lobby page needs to occur (e.g.,
after a certain time T elapses) only the currently displayed page
is updated and non-displayed game instances (e.g., other pages of
tournaments or other virtual card tables) are not updated on the
computing device since they are not displayed. However, as noted
above, the server will be continuously updating its database on
table statistics and will be able to serve any update page to a
computing device that is currently displaying such page.
[0068] As another example, if the user double-clicks on any active
MTT tournament in the MTT tabbed category, the user is presented
with a second lobby display for that particular selected
tournament. A window on the right-hand-side of the tournament lobby
screen displays a table of player information that is split into a
multitude of pages, each of which can be retrieved by means of a
corresponding numbered icon (page number icon) displayed at the
bottom of the window. Additional player information can be
requested by clicking on the corresponding number icon whereupon a
page request is sent to the gaming server and the requested page is
sent to the requesting computing device.
[0069] The solution to the scalability problem described herein has
been successful in that it may allow a poker network in a
distributed topology to host tournaments accommodating
approximately double the number of players, without substantial
degradation in server performance, as compared to in tournaments
hosted by gaming servers in systems that use the prior art
scrolling approach. This presents a substantial advance and
improvement over the prior art.
[0070] Before describing the preferred embodiments in greater
detail, an explanation will be provided first of a computer-based
system for online game playing, in which multiple distributed
computing devices engage in playing of card games using a central
server, and in particular wager games such as poker. The following
description is offered by way illustration, and not limitation, of
one possible environment in which the invention can be
practiced.
[0071] Referring to FIG. 3, a system for playing a game of
multiplayer poker is indicated generally by reference numeral 20.
The system 20 includes a central gaming server 22, and a number of
portals (23a, 23b) in the form of portal websites on the World Wide
Web of the Internet. In this embodiment each one of the portal
websites is an online casino website hosted on a corresponding
casino web server (not shown). Each one of the online casino
websites (23a, 23b) is accessible by a would-be poker player (not
shown) through a user access facility 24 in the form of computing
device such as an Internet-enabled computer workstation having a
display 25 and an associated pointing device 25a, such as a mouse
or, alternatively, a touchpad. In this embodiment, the online
casino website 23a is shown as having one computer workstation 24
logically connected thereto, whereas casino website 23b is shown as
being logically connected to two computer workstations 24. It will
be appreciated by those skilled in the art that such an online
casino websites 23a, 23b can be logically connected to any desired
number of such computer workstations 24 simultaneously, which
number is physically limited primarily by considerations of
processing power, website hardware, and Internet access
bandwidth.
[0072] The gaming server 22 includes a processing unit (such as a
central processing unit, not shown) and a database 33 coupled to
the processing unit which stores game information data for a
plurality of instances of games played by the workstations 24. The
database 33 is updated continuously to store real-time or near real
time information as to the plurality of instances of games, such as
the name of each instance (e.g., table name), the players at each
table, the stakes, available seats, waiting time, etc. The gaming
server 22 provides the game information data (lobby pages) to the
distributed computing devices 24, in the form of pages. The pages
include icons or tools by which the users of the devices 24 can
request additional pages. Additionally, the server 22 transmits
periodic updates to displays of instances of games (e.g., lobby
pages) to the plurality of distributed computing devices 24 by
means of transmitting pages of updated data. As described in
further detail later, game information for instances of a game type
that are not currently displayed in the lobby page are not
periodically updated, as would be the case with a scrolling
solution as shown in FIGS. 1 and 2. Accordingly, the ability of the
server 22 to update the plurality of distributed computing devices
24 in real time or substantial real time without substantial
degradation in performance of the gaming server 22 is achieved.
[0073] The system 20 includes, further, an administration facility
32 in the form of an application server, which is communicable with
the gaming server 22 along a communication network 29. Although the
operation of the application web server 32 will be outlined briefly
in the description that follows, further details are not
particularly pertinent to the present discussion and the reader is
directed to the published '932 PCT application cited above for
further reference.
[0074] The gaming server 22, the online casino web servers (not
shown) corresponding to the online casino websites 23a, 23b, the
computer workstations 24 and the application web server 32 are
capable of communicating with each other by means of an open
communication network that is, in this embodiment, the Internet.
The Internet is represented in FIG. 1 as separate logical
communication networks (26, 27, 28, 29, 30 and 31).
[0075] The application web server 32 provides a clearing account
facility 38 (e.g., database) that has a clearing account
corresponding to each one of the online casino websites 23a, 23b.
Analogously, each online casino websites 23a, 23b includes a
corresponding credit account facility 34a, 34b with a credit
account corresponding to each player who participates in the game
of poker through a computer workstation 24 logically connected to
that casino website. In the illustrated embodiment, therefore, the
credit account facility 34a has one player credit account
associated with it, while credit account facility 34b has two
associated player credit accounts. The manner of clearing accounts
among the operators of the web sites 33a, 33b is not particularly
important and is described in the aforementioned published '921 PCT
application.
[0076] The gaming server 22 operates under control of a
server-stored program (not shown) capable of enabling a
predetermined maximum number, say 8 or 10, of players to play an
instance of the game of multiplayer poker. Each instance of the
game may take the form of a virtual card table playing a particular
game (e.g., Hold'em) or virtual game tournament, such as a virtual
poker tournament. When the number of players for a given instance
of a game reaches this predetermined maximum number, the
server-stored program causes a further instance of the game to be
initiated (e.g., a new virtual poker table), the new instance of
the game also being capable of accommodating a further 10 players.
In this manner the gaming server is capable, under server-stored
program control, to spawn as many separate instances of the game of
multiplayer poker as required in order to accommodate a pool of
players who desire to play the game, in groups of a maximum of 10.
Each instance of the game spawned in this manner is treated as
totally independent of the other instances.
[0077] The online casino websites (23a, 23b) enable a player who
desires to join the game of multiplayer poker to request, by means
of one of the computing devices 24, participation in the game and,
once admitted to an instance of the game, to place a wager on a
turn of that instance of the game. During the play, each
participating player is presented with an identical graphical user
interface (GUI) on his respective computing device 24 by a
separate, locally stored, program in the computing device. The GUI
presents to the player a suitable display of a poker game (not
shown) with appropriate activatable icons that enable the player to
make his own desired game play decisions and to monitor the
progress of the multiplayer game by viewing the game play decisions
of the other participating players in the same instance of the
game.
[0078] The server-stored program also provides a wagering means 37
in the form of computer instructions operable by any participating
player to place a wager on a turn of the game, as well as a
discrimination means in the form of computer instructions 35
capable of determining whether any wager placed by anyone of the
participating players on the turn of the instance of the game of
multiplayer poker is successful or unsuccessful. The stored program
in the gaming server 22 also maintains a dynamic register 36 of all
players admitted to, and actively participating in, all the spawned
instances of the poker game from time to time, together with data
representative of a corresponding portal (23a, 23b) through which
each participating player accessed the game. The dynamic register
36 also contains data representative of an instance of the game in
which the player is participating. The application web server 32
also settles the wagers of the participating players after the
completion of every turn of any instance of the game.
[0079] As a part of this dynamic register 36, or using a separate
mechanism such as a state engine or state machine, the gaming
server 22 preferably keeps track of the current screen display of
each computing device 24. Consequently, when a lobby page is
displayed on a computing device 24, the gaming server 22 knows what
update needs to occur (i.e., which is the current page displayed on
each computing device and therefore which updated page to transmit
to the client process for display). Such updated pages are
constructed by reference to the stored game instance data in the
database 33.
[0080] The computing devices 24 may take the form of a conventional
personal computer operating under a Windows, Linux, or Macintosh
operating system, provisioned with a web browser and a connection
to the Internet. The computing devices 24 may also take the form of
portable, hand-held computing devices with a web browser and
wireless internet access. The gaming server 22 may also operate
under a Windows NT or other conventional operating system.
[0081] A game of multiplayer poker using a computing device or
workstation 24 is facilitated by means of workstation-stored
program (not shown) referred to, for convenience, as a client
process that is executable on a computer workstation 24, and a
corresponding server-stored program (not shown), or server process,
that is executable on the gaming server 22. The server process (not
shown) generates one or more random events that affect the outcome
of the game of poker, such as the dealing of cards to participating
players. The client process (not shown) obtains the result of the
random events from the gaming server 22, across the communication
network 28 and displays the outcome of the game on the display
monitor 25 in an intelligible manner.
[0082] In order to play multiplayer poker or other games from any
computer workstation 24, the client process (not shown) must first
be downloaded, e.g., from the gaming server 22 (or from the web
site 23a or 23b) to that computer workstation. Such download will
typically occur when the computing device 24 first accesses the
home page of the web site 23a and 23b, and the user is presented
with a message asking the user whether they wish to download the
client process in order to play the games. The user selects a "yes"
icon and the download then proceeds. The client process is then
launched and communication between the computing device 24 and the
gaming server 22 then proceeds. In a distributed topology scenario,
a player wishing to participate in the multiplayer games such as
poker uses a computing device 24 to access an online casino website
23a, 23b) of his choice, but regardless of their choice of website
the user is presented with the same underlying client process. The
client processes will typically have different trademarks, color
schemes, or "look and feel" depending on which online casino
website they downloaded the client process from.
[0083] Referring now to FIG. 4, a first example of a new, inventive
lobby page 40 is shown. The lobby page provides information as to a
variety of game types which are shown in the window or pane 50. The
game types in this example are wager type card games, including
Hold'em, Omaha, Omaha Hi/Lo, 7 Card Stud, 5 Card Stud, Sit and Go
poker tournaments, Multitable poker tournaments and feature
tournaments such as Caribbean Poker Classic. The user selects one
of the game types that they are interested in and the window 52
displays information on individual instances of games in the
selected game type. The instances in window 52 in this example are
individual virtual poker tables. The window shows statistics or
data for each instance, such as the name of the table, the stakes,
the number of available seats and the number of players currently
at the table, the limit, average pot, etc. In the example of FIG.
4, the tables are empty (no players) but ordinarily such tables
would have 2 or more players. The data in the window 52 essentially
is in the form of a page of data, wherein the amount of data to
show in the window 52 is such that it fits in the available space
in the window 52 and scrolling is not necessary. The window 52
includes page icons 54 by which the user can select an additional
page, go back a page, go forward a page, request the first page,
request the last page, etc.
[0084] When the computing device 24 accesses the server 22, it is
provided with the main lobby page shown in FIG. 4. This page will
be referred to as page N, one of the 50 available pages under this
game type. The display may get updated, for example if one of the
virtual tables shown in joined by two or more players and play
commences. The server 22 would then just update the displayed page
N and would not update any of the other 49 available pages under
this game type. One way this could be done is if the state machine
in the gaming server 22 starts a timer when the page N is initially
sent to the requesting computing device 24 and when a certain time
T has elapsed, a new page N is sent. Server 22 tracks statistics on
all the games in process and generates new pages 1-50 continually
and stores them in the database 33. Such pages may be considered
"master" pages. Another way this could be done is any time a change
is made to any "master" lobby page in the database 33, all
currently connected workstations that have a state in which they
are observing a lobby page (such as page N shown in FIG. 4) are
automatically sent the updated lobby page.
[0085] Window 56 in FIG. 4 shows the currently active players in a
selected game instance (virtual table). Note that since there are a
maximum of ten players per table and all player names can fit in
window 56, there is no need to display additional page icons to
request additional player names in this example.
[0086] FIG. 5 shows another example of a new, inventive lobby page.
The lobby page 40 includes a plurality of tabs 60 in a window 62
with teach tab having a legend showing a type of game available for
play. The user has selected the Hold'em tab on the left. A request
is sent to the server for the first page of data on instances of
the Hold'em game and the results are shown in FIG. 5. There are 15
instances of Hold'em that are included in the page, and statistics
as shown for each instance, such as name, stakes, number of
players, limit, average pot size, etc. If the user wishes to see
additional tables, they select a page icon in the displayed page
icons 54, such as PREV, NEXT, or a specific page number. In
response to such a selection, the gaming server will send the
selected page to the requesting computing device and it will be
displayed. The updating of the page shown in FIG. 5 on the
computing device display is as described previously. Note that data
on non-displayed instances of the Hold'em game, such as for example
the instances to be found in page 23 or page 39 (not currently
displayed) would not be updated on the computing device since those
pages are not currently displayed. This manner of displaying game
lobby pages overcomes the scalability problems found with the
design of FIGS. 1 and 2 with scrolling provided to see all the
available virtual tables.
[0087] FIG. 6 shows another example of a new, inventive lobby page.
The user has navigated to a Multi-table tournament tab in FIG. 5
and selected one of the tournaments for display of additional
information on the selected tournament. The display of FIG. 6
includes a window 72 wherein a page of player data is displayed.
The window 72 is the place where the user can view information on
all of the players in the tournament. Preferably, the amount of
player data in each page is chosen such that it fits into the size
of the window 72 so as to avoid the need for scrolling. If the user
wishes to see data on additional players, they select an additional
page using one of the page icons 54.
[0088] Note further that the update concepts for FIGS. 4 and 5
(updating only the displayed page) can be applied to FIG. 6 in that
only the player data in the displayed page in window 72 is updated.
No updates occur for non-displayed pages since they are not
displayed in the first place. The attendant advantages of
scalability and reduced processing burden on the central server 22
are obtained in this embodiment as well.
[0089] Note further that a given lobby page may present some
information using scrolling, such as the data in window 74, but
this information (e.g., prize information) is static, not dynamic,
and hence the need for current, up-to-the minute information is not
acute. As another example, the window 50 of FIG. 4 could use a
scroll tool in order to display all the available game types, but
again this information is static, not dynamic, and hence the use of
scrolling for such static information is not a problem for
scalability.
[0090] FIGS. 7A and 7B are a flow chart showing a process by which
a user accesses a gaming web site 23a or 23b of FIG. 3 and is
provided with lobby data in accordance with an exemplary
embodiment. FIGS. 7A and 7B should be considered in conjunction
with FIG. 3 and the screen shots of FIGS. 4-6.
[0091] At step 100, the user accesses a web site 23a offering
online gaming with their computer 24. When they access the site for
the first time, they are presented with an icon by which they can
choose to download a client application to play games and they
click a "yes" or "download" icon. The client application is
downloaded from the server 22 and installed on the user's computer.
Thereafter, at step 102, the application is launched. Every time
the client application is run, the server at step 104 sends a lobby
page such as shown in FIG. 5. The client application is
configurable to request, at start-up, a default lobby page from the
gaming server. For example, the application could be configured to
display a preferred category of games, such as Hold'em games, and
the default lobby page would be page 1 of the Hold'em pages. Also
at step 104, the server starts a state engine for the computer
whereby the state of the display of the computer can be
continuously tracked. Another mechanism for monitoring computer
state could be used.
[0092] At step 106 the user makes a selection of a type of game for
which they wish to view the current table data, which may be
different from the preferred (i.e., default) category of games
described above. For example, they may select one of the game types
as shown in window 50 in FIG. 4.
[0093] At step 108, the selection made at step 106 is sent to the
gaming server 22 and the gaming server responsively sends to the
computing device 24 the lobby page with the data for first page of
game instance information, as shown for exampled in FIG. 4 or 5.
The lobby page is then presented on the workstation GUI.
[0094] At step 110, the user may then request a different page,
such as the second of many pages of virtual card tables for the
selected game type, by activating a NEXT page icon or taking
similar action with the page icons 54. At step 112, the requested
page is sent from the server 22. As indicated at 113, the user may
select additional pages and such additional pages are sent by the
server 22.
[0095] At step 114, the gaming server checks a timer to see if the
elapsed time for a display of a lobby page is greater than a
threshold time T. T may be one minute or any other desired time
period, and may be dynamically determined based on activity on the
poker network. The purpose of the timer check is to see if the
screen display of the current selected page needs to be updated
with new table information. (Alternatively, instead of using a
timer, the server can check to see if any updates have been made to
the "master" lobby page stored in the database or in the underlying
data for the tables in the page). If the amount of elapsed time is
less that T (or no changes have occurred), the server waits (116)
and no update occurs. If the elapsed time is greater than T (or a
change has occurred), the server sends an updated page to the
computer device 24 (step 118). Such updated page may be generated
internally by a separate instruction set or application executed by
the server 22 devoted to generating updated lobby pages. Such
updated page (and other pages) are preferably generated
continuously by the server 22 or by a separate server or computing
platform, and stored in the database 33 of FIG. 3 as "master"
pages.
[0096] Suppose the user has navigated to lobby page such as shown
in FIGS. 4 or 5 and wishes to view specific information on a
selected table or tournament. At step 120, they may double click on
one of the rows in the display page of FIG. 4 or 5. The server
receives this request and responsively may send a new page with
more information on the selected table. For example, the user may
select the MTT category of games and then select a particular
tournament displayed on the initial lobby page, whereupon the data
for the display of FIG. 6 is sent to the workstation. This display
is considered a second level of a lobby display, showing detailed
information on the selected tournament and also the display of a
page of player data in the window 72. At step 124, the player may
select an additional page of player data by using the page icons 54
in FIG. 6. At step 126, the server sends the new page of player
data. Preferably, there is no scrolling and each page of data
contains just the right amount of data to fit into the size of the
window 72. As indicated at 126, the user may request additional
pages.
[0097] As indicated at steps 130, 132 and 134, an updated process
can be performed when the workstation displays the second level of
lobby page such as shown in FIG. 6. The server 22 monitors the
amount of time that has elapsed since the last page was sent to the
workstation, and if the elapsed time is greater than a threshold T,
an updated page is sent to the workstation. The value of the
threshold T need not be the same as the threshold T for updating
the main lobby page of FIG. 4 or 5. Again, in an alternative
embodiment, the updating of the display in the second level could
be initiated by the occurrence of new data in the displayed page,
and not necessarily by the passing of a predetermined time period
T. At step 136, the processing continues, e.g., by selection of new
pages, navigation back to the main lobby page, or the user joining
a virtual card table.
[0098] It will be apparent to persons skilled in the art that the
client application and method of FIGS. 4-5 can be applied to games
generally; the present example is particularly suitable when the
type of game is a card game such as wager games and wherein the
individual instances of games comprises a virtual card table (such
as the seventeen virtual card tables shown in FIG. 4 or the fifteen
virtual card tables shown in FIG. 5). However, the individual
instances could as well be individual instances of a tournament,
e.g., poker tournaments, as would be the case if the user were to
select the Multi-table tournament tab in FIG. 5 or select
Multi-table tournaments in window 50 of FIG. 4.
[0099] Thus, from the foregoing, it will be appreciated that one
specific embodiment of the invention takes the form of an apparatus
in the form of machine readable medium (e.g., hard disk memory)
storing a set of program instructions. The instructions comprises
instructions preferably in the form of a client gaming application
for displaying a game lobby page (examples shown in FIGS. 4-7) on a
user interface 25 of a computing device 24. The game lobby page
displays information as to a game type (e.g., Hold'em, craps,
bridge, 7 card stud, or tournament), such as shown in FIG. 4 or 5,
available for play over a computer network and, for the game type,
information as to individual instances of games of the game type.
For example, in FIG. 4 a user has selected a 5 card stud icon in
field 40 and individual tables are shown in window 52. The
individual instances may take the form of individual games, virtual
poker tables, or individual game tournaments. The main game lobby
page (FIG. 4 or 5) includes a page icon (see examples of page icons
54 in FIGS. 4 and 5) wherein information on additional instances of
the games not displayed on the lobby page may be requested from a
gaming server in the form of an additional page or pages. For
example, if the user were to select the "NEXT" icon in the set of
icons 54 in FIG. 5, another set of 15 virtual card tables under the
Hold'em tab will be requested from the gaming server 22 and the
server will responsively send data for the next 15 virtual card
tables.
[0100] As noted previously, the machine readable instructions are
stored on the general purpose computing device 24 and the
instructions are preferably downloaded from the server 22 to the
computer 24 over the Internet (28 in FIG. 1).
[0101] Preferably when a game lobby page such as shown in FIGS. 4-6
is displayed on the computing device, the page is periodically
updated. The updating can be on a fixed period or it can be when
there is any change in the underlying data, or both. Since the
gaming server 22 includes a state machine or other mechanism for
keeping track of the current lobby page displayed on each
workstation, the server can customize the updating for each
workstation by transmission of an updated page from the gaming
server to each computing device displaying a lobby page. (For those
computers actually engaged in gaming activity, they may not have a
lobby page also displayed and so for them no updating need occur).
As noted previously, because the lobby display is of a discrete
page, with each page being sized so that it can be fully displayed
in the available window (as shown in FIGS. 4 and 5), there is no
need or occasion to update data for instances of games that are not
currently displayed. Accordingly, when the server sends the update
page to the distributed computing devices displaying lobby pages,
there is no updating of game information for non-displayed
instances of games as there would be if scrolling were done as in
FIGS. 1 and 2 in order to view all the instances of the selected
game type. As a result, the processing burden on a central server
continuously updating hundred or thousands of computers all at the
same time is substantially reduced, enabling improved server and
poker network performance to surpass the capability of the prior
art. As a further benefit, the individual gaming web site operators
can host more players.
[0102] In another embodiment, a gaming server 22 is disclosed that
provides updated game information to a plurality of distributed
computing devices 24 engaging in game playing over a computer
network (e.g., Internet 28). The gaming server 22 includes a
processing unit (not shown) and a database 33 coupled to the
processing unit storing game information data for a plurality of
instances of games. The database 33 is regularly updated to store
real-time or near real time information as to the plurality of
instances of games. The gaming server provides periodic updates
(e.g., every minute) to the displays of instances of games (e.g.,
individual games, virtual card tables, or specific tournaments) to
the plurality of distributed computing devices 24 by means of
transmitting pages of data, such as shown in the window 52 of FIG.
4 or the window 62 of FIG. 5 or the window 72 of FIG. 6. Further,
game data or information for non-displayed instances of a game are
not periodically updated. For example, in FIG. 5 only the fifteen
tables (game instances) shown in window 62 would be updated on this
particular computing device (and other computing devices displaying
the same page at the same time) and none of the other 39 pages of
tables would be updated on that computing device. Likewise, in FIG.
6, if there were any updates to the list of players forming the
page in window 72, only that page would be updated at the
workstation and none of the other 13 pages of players in the
tournament would be updated (since they are not displayed).
Accordingly, the ability of the server to update the plurality of
distributed computing devices in real time or substantial real time
without substantial degradation in performance of the gaming server
is achieved.
[0103] As noted above, when the player wishes to review additional
pages, they select a page using a page icon 54 and the server 22
receives a page request for information as to additional instances
of games (as in FIGS. 4 and 5), or additional players in a
tournament as in FIG. 6. The requested page is transmitted to a
requesting computing device over the Internet. The transmission of
data to the computers as discrete pages, with a limited amount of
data per page (such as 15 or 17 virtual card tables in FIGS. 4 and
5 or 20 players in the page of players in FIG. 6) translates into
less processing burden on the server 22.
[0104] In a preferred embodiment, the database 33 stores game
information in the form of statistics for each the wager games, and
in the examples of FIGS. 4 and 5 the page that is displayed shows
the statistics for a plurality of virtual card tables playing the
wager games such as table name, limit, seats available, average pot
size, or other statistics that may be pertinent to the game in
question. The updating of the database 33 may be performed by the
server 22 or by an ancillary computer. Such game information may be
organized logically (or capable of being organized logically) as
"master" lobby display pages. Such "master" lobby pages are
continuously updated in the database 33. Particular pages
corresponding to the displayed pages are fetched from the database
33 and sent to the distributed workstations by reference to the
state engine indicating which page is currently displayed on each
workstation, as explained herein.
[0105] From the foregoing description, it will also be appreciated
that a method is disclosed for periodically updating displays of
game information on a plurality of distributed computing devices 24
connected to a server 22 over a computer network 28. The method
includes the step of presenting game information as to a plurality
of instances of games on the display of the plurality of
distributed computing device in the form of a page of game
information, e.g., as in FIGS. 4 and 5. The method further
comprises the step of maintaining state information at the server
22, including the current page displayed for each of the
distributed computing devices 24. The method further includes the
step of the server periodically updating the displayed page on each
of the distributed computing devices by transmitting an updated
page to each of the distributed computing devices, wherein only the
displayed page at the distributed computing devices is updated and
wherein game information for other, non-displayed instances of
games (i.e., games instances not in the current page) are not
updated at the workstation.
[0106] It will be further appreciated that in still another aspect,
a method is disclosed of providing game lobby pages (as shown in
FIGS. 4-7) to a multitude of distributed computing devices 24
connected to a server 22 over a computer network 28. The game lobby
page displays information for a plurality of instances of games.
The method includes a step of receiving a request for a game lobby
page from each of the multitude of distributed computing devices
24. Such request may occur for example when the workstation
launches the client application described herein or navigates back
to a lobby page after playing a game. The server then transmits a
game lobby page (FIG. 4, 5 or 6) from the gaming server to each of
the requesting multitude of distributed computing devices 24. Each
game lobby page includes an icon 54 providing the user with the
ability to request additional pages. Information for instances of
games not displayed on the game lobby page is requested and
transmitted to each of the multitude of distributed computing
devices as one or more pages.
[0107] While presently preferred embodiments have been described in
some detail, persons skilled in the art will appreciate that
variation can be made from the specifics of the disclosed
embodiments without departure from the scope of the invention. For
example, the detailed processing shown in FIG. 7 is offered by way
of example and not limitation as to a particular processing
sequence and communication flow between the client workstation 24
and the gaming server 22. Other processing steps or message flow
sequences can occur. While a number of exemplary aspects and
embodiments have been discussed above, those of skill in the art
will recognize certain modifications, permutations, additions and
sub-combinations thereof. It is therefore intended that the
following appended claims and claims hereafter introduced are
interpreted to include all such modifications, permutations,
additions and sub-combinations as are within their true spirit and
scope.
* * * * *