[0001] 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.
[0002] 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 November 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).
[0003] 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.
[0004] 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.
[0005] 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.
[0006] Figure 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 Figure 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:
Tab 1) Hold'em - poker games of the Texas Hold'em variety;
Tab 2) Omaha - poker games of the Omaha variety;
Tab 3) Omaha - poker games of the Omaha Hi/Lo variety;
Tab 4) 7 Stud - poker games of the 7-Card Stud variety;
Tab 5) 5 Stud - poker games of the 5-Card Stud variety;
Tab 6) Private - invitation-only poker games established by players;
Tab 7) Sit & Go - non-scheduled tournaments; and
Tab 8) MTT (Multi-Table Tournaments) - scheduled tournaments.
[0007] 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 Figure 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:
a) name of the table (typically, fanciful names to spark player interest, but may
also be in the form of a number or index);
b) table stakes in the format: Small Blind/Big Blind;
c) number of Participating Players/Max number of Players that can be accommodated;
d) whether the table is a no limit table, a pot limit table or a fixed limit table;
e) average size of pots at that table;
f) average number of players who have not yet folded at the flop stage of the game;
g) number of players waiting to join the table; and
h) number of hands played per hour.
Note the scroll feature 10 of Figure 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 Figure 1.
[0008] Sit & Go Tournaments (Tab 7 of Figure 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:
a) a tournament identification code;
b) a name of the tournament;
c) a type of poker game played in the tournament;
d) whether the tournament is a no limit, pot limit or fixed limit tournament;
e) number of seats available in the tournament;
f) the current size of blinds for active tournaments, and the number of players already
entered for pending tournaments.
[0009] MTT (Tab 8 of Figure 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 Figure 2. For each MTT tournament in the list, the
following attributes are displayed:
a) a tournament identification code;
b) a name of the tournament;
c) a type of poker game played in the tournament;
d) buy-in rules;
e) number of entrants for the tournament; and
f) a current size of blinds for active tournaments and a scheduled start time for
pending tournaments.
[0010] If one considers the amount of information displayed in the displays of Figure 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 Figure 1 or Figure 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 Figure 1 or Figure 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.
[0011] 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 Figures 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 retransmitted
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.
[0012] 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 Figures 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.
[0013] 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.
[0014] 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
[0015] 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.
[0016] 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.
[0017] In one aspect, the solution presented by this disclosure is to replace scrollable
windows in the game lobby page (as shown in Figures 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.
[0018] 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.
[0019] 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.
[0020] 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.
[0021] The present solution is applicable to online games generally, such as SCRABBLE ®
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.
[0022] 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.
[0023] 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.
[0024] 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.
[0025] 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.
[0026] 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
[0027] 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.
Figure 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.
Figure 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.
Figure 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
Figure 3 shows a distributed network topology, the principles of this disclosure are
applicable to a centralized topology.
Figures 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 Figures 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 Figures 1 and 2.
Figures 7A and 7B are a flow chart showing a process by which a user accesses a gaming
web site of Figure 3 and is provided with lobby data and updated lobby information
in accordance with an exemplary embodiment.
DETAILED DESCRIPTION OF PREFERRED AND ALTERNATIVE EMBODIMENTS
Overview
[0028] 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.
[0029] In one aspect, the solution presented by this disclosure is to replace scrollable
windows in the game lobby page (as shown in Figures 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 Figures
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.
[0030] 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.
[0031] 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.
[0032] 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.
[0033] 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.
[0034] Referring to Figure 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.
[0035] 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 Figures 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.
[0036] 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.
[0037] 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
Figure 1 as separate logical communication networks (26, 27, 28, 29, 30 and 31).
[0038] 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.
[0039] 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.
[0040] 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.
[0041] 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 (23 a, 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.
[0042] 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.
[0043] 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.
[0044] 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.
[0045] 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.
[0046] Referring now to Figure 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 Figure 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.
[0047] When the computing device 24 accesses the server 22, it is provided with the main
lobby page shown in Figure 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
Figure 4) are automatically sent the updated lobby page.
[0048] Window 56 in Figure 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.
[0049] Figure 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 Figure 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 Figure 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 Figures 1 and 2 with scrolling provided to see all
the available virtual tables.
[0050] Figure 6 shows another example of a new, inventive lobby page. The user has navigated
to a Multi-table tournament tab in Figure 5 and selected one of the tournaments for
display of additional information on the selected tournament. The display of Figure
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.
[0051] Note further that the update concepts for Figure 4 and 5 (updating only the displayed
page) can be applied to Figure 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.
[0052] 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 Figure 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.
[0053] Figure 7A and 7B are a flow chart showing a process by which a user accesses a gaming
web site 23a or 23b of Figure 3 and is provided with lobby data in accordance with
an exemplary embodiment. Figures 7A and 7B should be considered in conjunction with
Figure 3 and the screen shots of Figures 4-6.
[0054] At step 100, the user accesses a web site 23 a 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 Figure 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.
[0055] 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 Figure 4.
[0056] 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 Figure
4 or 5. The lobby page is then presented on the workstation GUI.
[0057] 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.
[0058] 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
Figure 3 as "master" pages.
[0059] Suppose the user has navigated to lobby page such as shown in Figures 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 Figure 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 Figure 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 Figure
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.
[0060] 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 Figure 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 Figure 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.
[0061] It will be apparent to persons skilled in the art that the client application and
method of Figures 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 Figure 4 or the fifteen virtual card tables shown in
Figures 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 Figure 5 or select Multi-table tournaments
in window 50 of Figure 4.
[0062] 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 Figures 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 Figure 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 Figure 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 (Figure 4 or 5) includes a page icon (see
examples of page icons 54 in Figures 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 Figure 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.
[0063] 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 Figure 1).
[0064] Preferably when a game lobby page such as shown in Figures 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 Figures 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 Figures 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.
[0065] 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 Figure 4 or the window 62 of Figure 5 or
the window 72 of Figure 6. Further, game data or information for non-displayed instances
of a game are not periodically updated. For example, in Figure 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 Figure 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.
[0066] 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 Figures 4 and 5), or additional players
in a tournament as in Figure 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 Figures 4 and 5 or 20 players in the page of players in Figure 6) translates into
less processing burden on the server 22.
[0067] 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 Figures 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.
[0068] 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 Figures 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.
[0069] It will be further appreciated that in still another aspect, a method is disclosed
of providing game lobby pages (as shown in Figures 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 (Figure 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.
[0070] 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 Figure 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.
[0071] A software product in accordance with the invention may be in the form of physical
media carrying the instructions, such as a CD or DVD, or may be in the form of signals
supplied from a remote location, for example over the Internet.
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 any preceding claim, 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 any preceding claim, wherein when a game lobby page is displayed,
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 any of claims 7 or 8, wherein the games comprise card games and
wherein the instances of said card games each comprises a tournament of said card
game.
10. The gaining server of any of claims 7, 8 or 9, 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 any of claims 7 to 10, 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 any of claims 7 to 11, 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 any of claims 7 to 12, 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 any of claims 14 or 15, wherein the games comprise card games, wherein
the plurality of instances of games comprise a plurality of virtual card tables.
17. The method of any of claims 14 or 15, 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 any of claims 15, 16 or 17, 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 any of claims 20 or 21, 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 any of claims 20, 21 or 22, wherein the game lobby page displays information
for a plurality of virtual card tables.
24. The method of any of claims 20, 21 or 22, wherein the game lobby page displays information
for a plurality of tournaments.
25. The method of any of claims 20 to 24, 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 any of claims 7 to 13, wherein the server communicates with the
distributed computing devices in a distributed network gaming topology.
27. The gaming server of any of claims 7 to 13, wherein the server communicates with the
distributed computing devices in a centralized network gaming topology.
28. A computer software product carrying instructions which when carried out on apparatus
will cause the apparatus to be configured in accordance with claim 1.
29. A computer software product carrying instructions which when carried out on a server
will cause the server to be configured in accordance with claim 7.