U.S. patent application number 12/041656 was filed with the patent office on 2008-09-11 for method and system for providing a seamless tournament system for multiplayer games.
Invention is credited to Nikos Michalakis, Emmanuel Zavolas.
Application Number | 20080220870 12/041656 |
Document ID | / |
Family ID | 39742188 |
Filed Date | 2008-09-11 |
United States Patent
Application |
20080220870 |
Kind Code |
A1 |
Zavolas; Emmanuel ; et
al. |
September 11, 2008 |
METHOD AND SYSTEM FOR PROVIDING A SEAMLESS TOURNAMENT SYSTEM FOR
MULTIPLAYER GAMES
Abstract
An interactive gaming system is described that comprises a host
gaming server comprising memory and a processor; said host gaming
server being capable of remotely communicating with at least two
client consoles that are capable of running application software;
an SDK capable of being integrated with the application software
running on the at least two client consoles wherein said SDK will
facilitate communication with said host gaming server; a tournament
management program stored in said memory and capable of being run
on said processor; wherein said tournament management program will
manage the operation of a tournament involving games to be played
by players on the at least two client consoles; wherein said games
are hosted on one of the at least two client consoles involved in
said game and said SDK will communicate information regarding said
game after said game has ended.
Inventors: |
Zavolas; Emmanuel; (East
Williston, NY) ; Michalakis; Nikos; (Brooklyn,
NY) |
Correspondence
Address: |
VON SIMSON & CHIN
62 WILLIAM STREET, 6TH FLOOR
NEW YORK
NY
10005
US
|
Family ID: |
39742188 |
Appl. No.: |
12/041656 |
Filed: |
March 3, 2008 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
60904479 |
Mar 2, 2007 |
|
|
|
Current U.S.
Class: |
463/40 |
Current CPC
Class: |
G07F 17/32 20130101;
G07F 17/3276 20130101 |
Class at
Publication: |
463/40 |
International
Class: |
A63F 9/24 20060101
A63F009/24 |
Claims
1. An interactive gaming system comprising: a. a host gaming server
comprising memory and a processor; said host gaming server being
capable of remotely communicating with at least two client consoles
that are capable of running application software; b. an SDK capable
of being integrated with the application software running on the at
least two client consoles wherein said SDK will facilitate
communication with said host gaming server; c. a tournament
management program stored in said memory and capable of being run
on said processor; wherein said tournament management program will
manage the operation of a tournament involving games to be played
by players on the at least two client consoles; wherein said games
are hosted on one of the at least two client consoles involved in
said game and said SDK will communicate information regarding said
game after said game has ended.
2. The interactive gaming system as recited in claim 1, wherein
said host gaming server communicates with the at least two client
consoles through the Internet.
3. The interactive gaming system as recited in claim 1, wherein the
application software running on the at least two client consoles
are video games.
4. The interactive gaming system as recited in claim 1 further
comprising a database stored on said memory that contains records
pertaining to the players.
5. The interactive gaming system as recited in claim 4 further
comprising a ranking program that is capable of keeping statistics
on said players stored in said database.
6. The interactive gaming system as recited in claim 5 further
comprising a matchmaking software that can run on said processor
that is capable of evaluating said statistics kept in said database
to determine appropriate matchups between the players for each game
in said tournament.
7. The interactive gaming system as recited in claim 1 wherein a
prize is awarded to the winner of said tournament.
8. The interactive gaming system as recited in claim 1 further
comprising a payment processing program that can run on said
processor that can manage financial accounts maintained for each of
said players.
9. The interactive gaming system as recited in claim 8 wherein said
payment processing program is capable of negotiating financial
transactions with third party financial institutions.
10. The interactive gaming system as recited in claim 9 wherein
said payment processing program negotiates the financial
transactions with said third party financial institutions through
the Internet.
11. The interactive gaming system as recited in claim 1 wherein
said tournament management program will determine which client
console will be the host of the match.
12. The interactive gaming system as recited in claim 1 wherein
said tournament management program will determine the player that
will advance in the tournament based on the information regarding
said game that was communicated by said SDK.
Description
CROSS REFERENCES TO RELATED APPLICATIONS
[0001] This application claims priority to provisional application
No. 60/904,479 filed on Mar. 2, 2007, the entire disclosure of
which is hereby incorporated by reference.
TECHNICAL FIELD
[0002] The present invention relates to a method and system for
providing a seamless gaming environment for multiple users,
including a tournament system that can involve peer to peer
hosting.
BACKGROUND OF THE INVENTION
[0003] Since the advent of the Internet and its increasing
popularity, technology has made advances in electronic
connectivity. In particular, the interconnectivity on the Internet
has developed rapidly with regard to playing games involving
multiple players.
[0004] Typically, game servers will host games so that multiple
users can join and play on the game server. A player will need to
have a computer or other processor that will allow them to connect
to the Internet. Since the game is hosted and run on the game
server, the player often only needs browser software that allows
communications between the player's computer and the host server.
Control of the operation of the game and the players in the game
reside with the host server. With that control, the host server can
control the gaming environment and provide additional features to
the game player.
[0005] For example, several gaming sites located on the Internet
allow many players to connect to their game server to play against
anyone else connected at that time. Since the game is hosted on the
game server, the game server allows the player to access a lobby
wherein available games are listed and the player can enter into an
available game. Additionally, the results of the game can be
recorded to maintain statistics on the players. Both the lobby
listing of available games and the operation of the game are hosted
on the host server. Since the particular game to be played on the
game server is known, the game server can be customized to fit the
particular features of the game. Games such as chess would require
different handling than the game of bridge.
[0006] One of the disadvantages of having a host server is that the
entire game must be run on the host server. While some games are
easy to implement, some games are complex and require a lot of
processor time. The complexities of some gaming software and the
number of the players playing on the host game server
simultaneously can cause major bandwidth problems as the host
server cannot function at appropriate speeds to accommodate the
game play.
[0007] Another method of allowing multiple players to play via the
Internet is to have a peer to peer type system. In peer to peer
type systems, one of the computers that is involved in the game
will serve as the host computer instead of the game server. The
host computer will control the operation of the game in accordance
with the rules of that particular game. The game server could
simply be facilitating the electronic connection between the
players by creating a common place for players to meet.
[0008] Commercial gaming consoles are typically involved with peer
to peer systems because the games are often complex and utilize
significant processor memory. In addition, gaming consoles are
typically adapted to play a large amount of different games and
these games are usually produced by different game produces. While
the games produced by the various game producers must conform to
play on that particular game console, there is generally a lack of
conformity in how the game operates. As such, any game host server
would only be able to be customized to handle one particular game
on that gaming console.
[0009] One disadvantage of a peer to peer system is that the host
gaming server that is facilitating the connection will cede control
of the game to the player console. Thus, the ability to provide a
complete gaming environment to the players is limited. Any host
gaming server is relegated to only arranging the match and allowing
the game to proceed on one of the individual's game console.
Additional features such as keeping statistics and offering cash
and/or prizes based on the game outcome are also difficult to do
with any level of security or reliability.
[0010] Another disadvantage of the peer to peer system is that the
host gaming server would not be able to offer a tournament styled
competition. A tournament consists of several rounds wherein the
winner of a game would advance to the next round. Without being
able to reliably account for the results of the games on a peer to
peer system, any tournament hosted by the host gaming server would
be dependant on the individual participants reporting the results.
Moreover, the smooth operation of the tournament would be
disjointed as results would not be immediately reported to the
tournament organizer.
SUMMARY OF THE INVENTION
[0011] The present invention solves the problems of the prior art
by creating a seamless gaming environment for players to connect to
and play online games with other players for cash and prizes. The
players will be using console type devices that will have their own
game software. The invented system will incorporate SDKs into game
software that is being played on the individual consoles. The SDKs
will facilitate communication with gaming servers that is hosting
the gaming environment. The gaming environment will allow players
to create and manage financial accounts associated with a user id.
The gaming environment will allow the players to meet other players
interested in playing games in either a head to head format or a
tournament styled format. For the tournament styled format, the
game server will manage the operation of the tournament by
arranging matchups between players, determining the host consoles,
running anti-cheat software and determining advancement in the
tournament by monitoring results that have been reported back to it
by the SDKs in the consoles. The game server will also compile and
calculate various statistical data for each player to be able to
assess a rating of each player. The rating will help to determine
appropriate matchups between the players. A financial server will
administer to the maintenance of the financial accounts of the
players and administer to the fees and awards that can be deducted
or added to a player's financial account.
BRIEF DESCRIPTION OF DRAWINGS
[0012] FIG. 1 shows the components of the invented system in
accordance with one embodiment of the present invention.
[0013] FIGS. 2a-2e show flowcharts depicting the operation of the
invented system in accordance with one embodiment of the present
invention
DETAILED DESCRIPTION OF THE DRAWINGS
[0014] For the purposes of understanding the invention, reference
will now be made to the embodiments illustrated in the drawings. It
will be understood that no limitation of the scope of the invention
is thereby intended. Any alterations and further modifications in
the described embodiments, and any further applications of the
principles of the invention as described herein are contemplated as
would normally occur to one skilled in the art to which the
invention relates.
[0015] FIG. 1 shows the components of the invented system. Host
gaming server 101 is comprised of a processor and memory. Several
operating programs will run on the host gaming server: (1)
Matchmaker software, (2) Payment Processing software, and (3) Web
Service software. Web service is further comprised of the following
subsystems: (a) Tournament Web Service, (b) Head to Head Web
Service, (c) Game Stats Web Service, (d) Account Management Web
Service and (E) Web Content Web Service. Host gaming server 101
also stores and maintains a database in memory.
[0016] The database is stored on memory located in the host gaming
server 101. The database can be comprised of many different
databases that will pertain to the different software programs to
be run on the hosting game server. For example, the Games Stats Web
Service will receive and store player data relating to determining
any ranking of the players such as wins/losses, points and final
score. Each of the different software programs will have access to
the various databases that are needed for it to accomplish its
intended functions.
[0017] Client 103 is the gaming console used by the player who
wishes to play the multiple player game. Client 103 is comprised of
the gaming console and the game disc/content with appropriate
gaming software that will run on the gaming console's processor.
Part of the gaming software is an SDK that will be facilitate the
communications with the host gaming processor 101. The SDK will
communicate with the Web Service via HTTP for interactions with the
host gaming server 101.
[0018] The SDK is an application programming interface (API) that
is provided to the gaming software producers to be integrated with
their gaming software. The SDK will be customized to the
particulars of each game by the gaming software producers. The main
purpose of the SDKs is to facilitate the communication between the
game software and the host gaming server. While the SDK will have a
persistent connection to the host gaming server once a user logs
into the host gaming server, the SDKs will initiate and govern the
format of the communication between the two at specific times. The
SDKs will have set rules to determine the times of communication
and the format of the communication. For example, at the completion
of any game that has been hosted on any particular game console,
the SDK will prompt communication that reports the results along
with any statistical information about that game that needs to be
captured by the gaming host server. Such information could be used
by the gaming host server to maintain the rankings or to determine
who advances in an ongoing tournament.
[0019] The gaming console will have an appropriate user interface
("UI"). The UI is the means by which a person playing a game will
view and interact with the host gaming server 101. The UI includes
on-screen representation of information and interactive components
controlled by the user input. The UI will be able to display
information from the gaming software and from the host gaming
server through the SDK. The UI templates that will display
information from the host gaming server will be designed to be
simple and easily integrated into the game software.
[0020] External payment services 105 are third party financial
institutions that can execute financial transactions through the
Internet. Typical financial institutions would be banks or credit
card companies.
[0021] The host gaming server has basically two main purposes:
facilitating matches and/or tournaments and handling monetary
tranactions. Monetary transactions are handled by the Payment
Processor program. The Payment Processor program will have access
to the financial database that will have records pertaining to each
user. It will perform the duties of interfacing with the third
party financial institutions in debiting and/or crediting each
player's financial account as stored on the database. Monetary
transactions are typically handled by contacting online payment
services such as paypal.com and bank accounts such as chase.com and
bankofamerica.com.
[0022] The Payment Processor program will also control the
financial transactions that occur as a result of the games played
on the host gaming server. Accordingly, the Payment Processor
program will accept entry-fees and then award the winners according
to the payment schedule for that particular event.
[0023] In addition, in another embodiment, the Payment Processor
program could implement financial transactions by direct crediting
and debiting from the financial institutions. Instead of each user
establishing an account maintained by the Payment Processor
program, the payment services are directly debited and credited as
a result of the real money payment processing.
[0024] In terms of facilitating matches and tournaments, the host
gaming server performs the following functions: player ranking,
matchmaking, tournament management and anti-cheating. Ranking is
performed by the Game Stats Web Service. The database will have
records pertaining to each user account created in the host gaming
server. Associated with each database records are relevant game
statistics that show the performance of that player in various
games. Since each game will generate different statistics, the
statistics will be maintained for each game per each player. For
example, games which are categorized as being shooting games could
generate statistics such as kill ratio and accuracy. In addition,
statistics about the performance of the player with regard to
matches and/or tournaments played on the host gaming server can be
kept.
[0025] The ideal purpose behind this ranking function is to
generate a rating for each user so that users will be able to be
equally matched when competing. The rating could be simply
calculated on statistics such as the win/loss record, but could
also account for particular aspects of the game such as hit/miss
ratios, number of kills, etc. Ratings can also be derived from
statistical data stored in the database.
[0026] Such a rating could be a weighted rating with such factors
as playing history, opponent ranking, and entry fee amount paid
affecting the rating. In addition to the numerical rating system,
the ranking function could implement a reputation system wherein
comments or other statistics are generated and kept for each user.
With such a reputation system associated with each user, each user
could be scouted out to better ensure an equal playing competition.
In addition, the ranking server could be used in equalizing the
matchup by altering the entry fees.
[0027] Matchmaking is performed by the Matchmaking program.
Matchmaking requires an analysis of the statistics kept for each
player and determining an appropriate opponent for a particular
person. The determination of an appropriate opponent can depend on
the particulars of the game and/or the setting of the contest. For
example, in a tournament setting, the players could be ranked and
assigned a seed. The lowest seed would typically play the highest
seed in the first round of the tournament.
[0028] Tournament management is performed by the Tournament Web
Service program and it involves setting up the appropriate matches,
monitoring the results of each game and determining the advancement
of the players through the tournament structure. In a single
elimination tournament, the players are grouped into appropriate
brackets with each bracket representing a game to be played. The
winner of each bracketed game will advance to the next bracketed
match. The tournament web server will keep track of the results of
a particular bracketed game through communication with the
SDKs.
[0029] Anti-cheating is performed by the host server and it
involves instituting several security checks to ensure that
cheating does not occur. In general, each individual client console
will implement a trusted processor that will have its own security
protections. However, host gaming server can also implement its own
security protections. One such security measure entails having the
SDK send selected portions of the game code as it occurs during the
playing of the game. The anti-cheating software on the host gaming
server can analyze the data to determine outliers in the data
received to detect instances of cheating.
[0030] FIGS. 2a-2e depict flowcharts that show the steps that the
host gaming server will perform when the player is interfacing with
the host gaming server. In FIG. 2a, the user will first connect to
the host gaming server in step 201. Upon connection to the host
gaming server, the user will be able to do two things: (1) login to
his/her account or (2) create a new account.
[0031] If the player chooses to create a new account, then the
payment processor software is activated as depicted in FIG. 2b. The
player will be prompted to choose a new user id and associated
password in step 221. The new user id and password is stored in the
database maintained by the host gaming server in step 223. In
addition, the user id and password can be stored on memory in the
game console of the user to provide an additional security measure.
That memory would only be accessible through the game software.
[0032] Once a new database record has been created for that user
id, then the payment processor will allow the user to setup his
financial account. The user will be able to create a monetary
account that can be funded through his third party financial
institution. The payment processor can directly access the player's
finances through established online payment processes. For example,
the host gaming server could issue a charge against the player's
credit card as a vendor of services and maintain a balance in the
payment processor for that player. The player's financial
information will be stored in the database in step 225. Upon
completion of the new account setup, the player will be given
access to the web service portions of the host gaming server in
step 227.
[0033] If the player chooses to login into his account, the host
gaming server will check identification in step 205 of FIG. 2a. The
check of information will typically involve the comparing of
user-id with an associated password that has been stored on the
databases of the host gaming server. The check of identification
can also involve comparing data stored on the player's game console
against the information contained in the host gaming server's
database. The host server can also integrate third party software
to compare user information against other databases (driver's
license, public records, etc.) to ensure that user identification
is authentic. If the identification is verified, then the player is
allowed access to the web service portion of the host gaming server
in step 207. If the identification is not verified, then the player
will have the chance to either create a new account or to login
again.
[0034] FIG. 2c depicts a flowchart showing the basic process that
occurs once the player is given access to the web service features
of the host gaming server. The user will essentially be given three
choices in step 231: (1) access/edit his account, (2) enter a head
to head match or (3) enter a tournament run on the host gaming
server. The user can be presented with various other options and
still be within the scope of the present invention.
[0035] If the user chooses to access/edit his account, the payment
processor will give the user access to the information that has
been stored in the database that pertains to his record. The user
will be able to change any of the details of his account, delete
his account and/or view the information. For example, the user can
decide to change the financial institution through which he funds
his account on the host gaming server. Upon any changes being made
by the user and saved in the database, the user will be returned to
the three choices presented in step 231.
[0036] If the user chooses to enter a head to head match, then the
Head To Head Web Service program is initiated. The Head To Head Web
Service program provides interfaces for the needs of a single match
participation. FIG. 2d shows the operation of the Head To Head Web
Service program. The user will be presented a screen showing the
various games that are open for him to join. Each listed game will
display the particular format of the match to be played. The format
can include the entry fee to be paid to the host gaming server, the
prize to be won at the end of the match, the conditions for
determining a win for the match and/or any other limitations or
rules that will be in play during the match.
[0037] The format of the match will be dependent on the nature of
the particular game to be played. Restrictions on time or the
conditions that constitute a win are factors that can be variable.
The host gaming software will be able to accommodate each of these
variable factors because it does not get involved in the actual
operation of the game. The operation of the game will be hosted by
one of the participating player's console or by a dedicated console
server. The host gaming server can optionally communicate the
format of the game to the game console through the SDK or the users
can independently setup the game on the game console to comport
with the agreed upon format. Upon reviewing the relevant
information regarding a match, the user will choose an open match
to join or create his own match as shown in step 241.
[0038] The head to head web service will monitor the amount of
players that enter the game and stop entries that do not match up
with the stated format. While most head to head matches will
involve only two players, there can be matches that involve team
play, which would require more than two players, or multiplayer
games that involve more than 2 players in a single match, such as a
racing game with 6 players racing against each other. Once the
required number of players have agreed to play that match, the
payment processor will deduct the appropriate entry fee from each
of the player's accounts in step 243.
[0039] After deducting the entry fees, the host gaming server
determines the host console in step 245. The determination of the
host console can involve polling the "pings" of the participants
and selecting the ideal host. The Head To Head Web Service program
will identify the host and the participants by their respective IP
addresses. The host is responsible for facilitating the
communications between the participants. That communication can be
optionally through the SDK and the host web server, but it does not
have to be performed through the SDK. After the ideal host is
determined, then the game is started.
[0040] While the host gaming server will not be involved during the
actual playing of the game, the host gaming server can perform
anti-cheating measures during the playing of the game as depicted
in step 247. In those instances, communications would be directed
through the SDK to anti-cheating software running on the host
gaming server. For example, if the anti-cheating software mines
data from a game to discover that one player was shooting 100
bullets per second as opposed to the limit of 5 bullets per second
that the game is programmed to allow, then it can detect
cheating.
[0041] Once the match has been completed according to the
established format of the game, the SDK will initiate the game
software to report the results of the match to the host gaming
server in step 249. In addition to the results of the match,
statistics regarding features of the game play can be forwarded to
the host gaming server through the SDK. Examples of statistics
regarding game play features could include kill ratio and accuracy
for shooting games or final score and margin of victory for sports
games. The format of the communication can also be formatted to fit
the structure of the appropriate database.
[0042] Upon the reporting of the results, the Payment Processor
program is initiated to award the prizes according to the
predetermined format of the match in step 251. The corresponding
accounts of the winners and losers are respectively credited and
debited. In addition, the results and the statistical information
will be forwarded to the Games Stats Web Service program wherein
the database records are updated and any derived ratings are
calculated.
[0043] Referring back to FIG. 2c, the user can opt to enter a
tournament. Upon this selection from the user, the Tournament Web
Service program is initiated which is depicted in FIG. 2e. The
Tournament Web Service program will be presented with a screen that
shows the available tournaments that he can join. Along with each
available tournament, the screen will display information about the
format of each tournament. The format of the tournament can
include: (a) the game to be played, (b) the win conditions for each
match played in the tournament, (c) the entry fee and payout
schedule, (d) the nature of the tournament, (e) the time that the
tournament will start and (f) any limitations on the game during
play. The nature of the tournament could indicate whether the
tournament is single or double elimination brackets and the types
of limitations that could be used are whether there is a time
limit. The format of the tournament will vary greatly depending on
the nature of the game. Similar to head to head matches, the format
of the matches in the tournament will not greatly affect the
operation of the host gaming server since the operation of the game
will be hosted by individual consoles. Upon viewing the available
tournaments, the user will select a tournament to join in step
261.
[0044] The Tournament Web Service program will monitor will monitor
the time to determine when to start the tournament in step 263.
Alternatively, if there is a limit to the amount of players that
can play, the Tournament Web Service will monitor the amount of
players that have signed up for a particular tournament to
determine when the tournament is filled. After the tournament is
started, the Tournament Web Service will instruct the Payment
Processor program to deduct the entry fee from each corresponding
player's account.
[0045] After the fees have been deducted, the host gaming server
will perform matchmaking to determine the appropriate matches
between the players as depicted in step 265. The criteria used by
the matchmaking program will depend on various factors. For
example, if the tournament is a single elimination tournament, then
the matchmaking program could ranking the players according to
relevant statistics maintained by the Game Stats Web Service and
assign seeds to each player. According to the format of the single
elimination tournament, the highest seed will play the lowest seed.
Other criteria can be used by the matchmaking program depending on
the various factors and it would be under the scope of this present
invention.
[0046] After the matchups have been determined, the host gaming
server will determine the host console and communicate the various
IP addresses to facilitate the game play as depicted in step 267.
Similar to the head to head process, anti-cheating software can be
run during the playing of the matches and the SDK will initiate
communication of results and relevant statistics back to the Game
Stats Web Service program as indicated in steps 269 and 271.
[0047] Once match results and relevant statistics are reported to
the host gaming server, the Tournament Web Service program will
determine the ranking of the players as according to the tournament
format and whether the player will continue to the next round. If
the player is to continue, then the Tournament Web Service program
will communicate that to the player's console through the SDK. If
the player is not eligible to continue, that player will be
informed that his Tournament participation has ended and he will
not proceed to the next round. If the tournament has not ended,
then the process returns to the matchmaking step 265 for the
players that will advance to the next round. If the tournament has
ended, then the Tournament Web Service will prompt the Payment
Processor to credit the winner's account with the prize in step 275
and update the statistics kept by the Game Stats Web Service in
step 277.
* * * * *