System, computer product and method for enabling multi-player gaming on a wireless device
Claim Score by NHIP
Abstract
A system, computer program and method for enabling multi-player gaming on a wireless device is provided. At least one wireless device being is linked to a client application and to a memory, and associated with a first player. At least one remote network-connected device, consisting of a remote wireless device, an artificial intelligence player, or a client computer, the at least one remote network-connected device is associated with at least one second player. The wireless device an remote network-connected device are each connected to a communication network. The remote network-connected device is also linked to a client application generally corresponding to the client application. An intermediary server is operable to connect to each of the at least one wireless device and the at least one remote network-connected device. The client application enables the first player or at least one second player to send and receive a plurality of communications defining one or more steps involved in playing a game to and from the intermediary server, the intermediary server acting as a intermediary for gaming communications as between the at least one wireless device and the at least one remote network-connected device. The intermediary server is linked to a server application which in cooperation with the client application provides a multi-player gaming platform. The invention also includes a method of development of multi-player games to this multi-player gaming platform.

Term
Term ended
Projected expiry passed 30 July 2024, 2.1 years ago.
- Priority
- Filed
- Published
- Projected expiry
- Today
22 claims: 4 independent, 18 dependent
- 1A method for providing multi-player gaming on a wireless device comprising the steps of:(a) Providing on the wireless device a wireless application that enables a user associated with the wireless device to send and receive a plurality of communications defining one or more steps involved in playing a game to at least one remote network-connected device consisting of at least one of a remote wireless device, an artificial intelligence player and/or a remote client computer, via an intermediary server, the at least one remote network-connected device being linked to a wireless application generally corresponding to the wireless application;(b) Sending a request for multi-player gaming to the intermediary server from the wireless device;(c) In response to (b), matching the user associated with the wireless device with at least one other player associated with the at least one remote network-connected device, by operation of a matching facility linked to the intermediary server;(d) Activating a multi-player game linked to the wireless application, thereby enabling the user to make one or more initial moves by providing input to the wireless application, thereby engaging the wireless application to assemble a gaming communication, and deliver the gaming communication to the intermediary server;and (e) Each of the user and the at least one other player thereafter polling the intermediary server for a plurality of gaming communications consisting of moves from the at least one network-connected device, said gaming communications being interpreted by the wireless application in accordance with the multi-player game, and in response to such game communications, each of the user and the at least one other player making further moves by providing input to the wireless application or the corresponding wireless application, thereby engaging the wireless application or the corresponding wireless application to assemble further gaming communications, and deliver the further gaming communications to the intermediary server, until an end game defined by the multi-player game is achieved.
- 7A system for providing multi-player gaming on a wireless device comprising:(a) At least one wireless device being linked to a client application and to a memory, and associated with a first player;(b) At least one remote network-connected device, consisting of a remote wireless device, an artificial intelligence player, or a client computer, the at least one remote network-connected device being associated with at least one second player, the at least one remote network-connected device also being linked to a client application generally corresponding to the client application, and further linked to a memory;(c) An intermediary server operable to connect to each of the at least one wireless device and the at least one remote network-connected device, the intermediary server client computer and the wireless device, the intermediary server being linked to a server application and a server database;Wherein the client application enables the first player or at least one second player to send and receive a plurality of communications defining one or more steps involved in playing a game to and from the intermediary server, the intermediary server acting as a intermediary for gaming communications as between the at least one wireless device and the at least one remote network-connected device;Wherein the client application is operable to send a request for multi-player gaming to the intermediary server from the at least one wireless device, and in response the server application is operable to match the first player with the at least one second player, by operation of a matching facility linked to the intermediary server;Wherein the client application and the corresponding client application are linked to a gaming utility that includes at least one multi-player game that enables the first player and the at least one second player to make one or more moves, and in response to such moves the client application being operable to assemble a corresponding one or more gaming communications for delivery to the intermediary server;and Wherein the client application is further operable to poll the intermediary server for gaming communications received from the other matched players, namely the other of the first player or the at least one second player, and to interpret the polled gaming communications in accordance with the multi-player game, and in response to such game communications, each of the first player and the at least one second player making further moves by providing input to the gaming utility, thereby engaging the client application to assemble further gaming communications, and deliver the further gaming communications to the intermediary server, until an end game defined by the multi-player game is achieved.
- 14A method of creating multi-player games operable as between a wireless device and at least one other remote network-connected device comprising the steps of:(a) Providing a server computer linked to a server application and a client application operable on a wireless device, the server application and the client application being operably linked to provide a multi-player gaming platform, the multi-player gaming platform consisting of a plurality of utilities that enable multi-player gaming, such utilities including a matching utility for matching a first player associated with a wireless device with at least one second player associated with another wireless device, an artificial intelligence player or a client computer, and also one or more of the following utilities: (i) a buddy list facility;(ii) a chat facility;(iii) a contest facility;(iv) a ranking facility, and/or (v) an SMS facility;(b) Providing a toolkit that enables the development and deployment of one or more multi-player games, whereby the toolkit includes at least one game interface that enables game content including one or more of graphics, text, and game logic to be created that is operable to interface with the multi-player gaming platform, thereby enabling the creation of a multi-player game that interoperates with the matching utilities and one or more of the buddy list facility, the chat facility, the contest facility, the ranking facility and/or the SMS facility;and (c) Creating one or more multi-player games to the at least one game interface.
- 16Broadest claimClaim Score 26, narrow(NHIP)A computer program for enabling multi-player gaming in connection with at least one wireless device, the wireless device being operable to communicate with a wireless communication network and including a memory, and being associated with a first player, and in connection with at least one remote network-connected device also linked to the wireless communication network, consisting of a remote wireless device, an artificial intelligence player, or a client computer, the at least one remote network-connected device being associated with at least one second player, the computer program comprising instructions for defining on the wireless device:(a) A client application operable to connect to an intermediary server that acts as an intermediary between the wireless device and the at least one remote network-connected device, the intermediary server being operable to negotiate a plurality of gaming communications created and processed by the client application and a corresponding application linked to each of the at least one remote network-connected device, wherein the client application also defines on the wireless device: (i) a matching facility for matching the first player associated with the at least one second player, in co-operation with the intermediary server;and (ii) one or more of the following utilities: (A) a buddy list facility;(B) a chat facility;(C) a contest facility;(D) a ranking facility, and/or (E) an SMS facility;Wherein the matching facility and the one or more utilities of (ii) are operable to co-operate with corresponding resources linked to the intermediary computer so as to enable multi-player gaming on the wireless device, as between the first player and the at least one second player.
Independent claims4
123 paragraphs in 5 sections, as filed
FIELD OF THE INVENTION
0001This invention relates in general to gaming technologies for use on one or more network-connected devices, including a wireless device. This invention further relates to multi-player gaming technologies for use on wireless devices. This invention also relates to a system architecture for enabling multi-player gaming on at least one wireless device.
BACKGROUND OF THE INVENTION
0002Wireless devices of numerous types are commonplace. First, there are WAP-enabled cell phones. These devices generally have a small text display and allow the user to set up a connection session to the Internet. Second, there are 2-way pager devices. These devices generally establish “session-less” connections to the Internet, i.e. they send and receive messages without the overhead of logging in, establishing credentials, etc. Examples of such 2-way paging devices include RIM's Blackberry™ pager that includes a memory. A third type of wireless device is known as a Wireless Personal Digital Assistant (PDA) or wireless terminal. These devices provide a small screen and permit inputting of text. Some wireless terminals include an ASCII keyboard. The wireless terminal operates similarly to the WAP-enabled cell phone, except the wireless terminal can generally support a richer user experience, e.g. colour screens and audio output and generally have more processing capability than WAP-enabled cell phones.
0003A fourth type of device is a cell phone that provides wireless Internet access using network connectivity other than WAP and in association with applications resident on the wireless device. Another aspect of such wireless devices is that they generally include a memory, such that applications can be loaded on the device, and data can be stored on the device itself.
0004References to wireless devices herein generally mean a wireless device or wireless devices that include a memory, such that they can receive applications and can store data to a memory linked to the device. Examples of such wireless devices include, for example, MOTOROLA's T720 and the Blackberry™.
0005The gaming software and device industry is relatively large. Gaming technology products are popular with consumers, and numerous companies are engaged in developing and exploiting technologies directed to this market demand.
0006A growing trend in the gaming industry is deploying games on wireless devices. Prior art technologies for use on wireless devices include, for example, the wireless gaming titles of Jamdat Mobile Inc. Jamdat Mobile Inc. sells a gaming platform that enables gaming in relation to a number of titles including, for example, SPACE INVADERS™. Another representative company producing wireless gaming technologies and publishing wireless gaming titles is Unplugged Games Inc.
0007A disadvantage of such wireless games is that they generally do not allow multi-player gaming. Multi-player Internet gaming is well known and very popular due in part to the social aspect of interplay with other individuals including friends but strangers also. In some cases one or more of the other players actually consists of a computer, or one or more Artificial Intelligence (AI) players. Even multi-play involving at least one AI player enables the advantages of multi-play such as for example competition with an opponent.
0008What is needed is a multi-player gaming platform that is easy and relatively inexpensive to deploy. There is a further need for a multi-player gaming facility that enables multi-player gaming between a plurality of network-connected devices, including wireless devices. In other words, there is a need for a gaming platform that enables the easy deployment of network-aware wireless games.
0009One of the attributes of a strong gaming platform, including wireless gaming platforms, is the roll out a wide selection of games on that platform. A wide selection of games is a significant contributor to market acceptance of a particular gaming platform. The selection should preferably include new games, but also adaptations of existing game titles with broad consumer following.
0010At present there are a number of barriers to maximizing the selection of game titles available on a wireless platform. Availability of a broad selection of games generally requires enabling a large number of game authors to write to a wireless gaming platform. Currently, developers of prior art wireless gaming platforms engage in game development in-house, or under co-development arrangement with third parties. Development of a game that will resonate with the wireless gaming user base can be unpredictable. Generally what is required is to open the wireless gaming platform to as many gaming authors possible. Developing a wireless game, however, can be complicated from a development and interoperability perspective. For example, creating a server that supports a wireless game, and also developing specialized API's and command protocols compliant with network requirements for each network game function can be complex.
0011Also, most wireless network operators will require certification of a game before enabling the game on their network. Obtaining such certification can be a time consuming and costly process. Also, from the perspective of a wireless network operator, there can be variance in the quality of games emanating from different authors. This variance in quality can cause frustration to the valuable game user base.
0012There is a need therefore for a wireless gaming platform that provides tools that enable rapid development and deployment of wireless game titles. There is a further need for a wireless gaming platform that stimulates the development of new wireless games and adaptation of existing games to a wireless gaming platform by means of easy game development and deployment. There is a still further need for an improved gaming platform for wireless multi-player gaming.
0013The J2ME™ platform refers to the “JAVA 2 PLATFORM, MICRO EDITION” which is a JAVA™ based platform from Sun Microsystems for consumer and embedded devices such as mobile phones, PDAs, and TV set-top boxes. One aspect of J2ME is that it enables rapid deployment of applications on wireless devices by providing a series of tools including easy to use API's, user interfaces, security features, support for networked and disconnected applications, and tools for managing the resources of particular wireless devices.
0014There is a further need for a solution that leverages J2ME to provide a wireless gaming platform, and particularly a multi-player wireless gaming platform for use as between one or more J2ME compliant wireless devices and one or more remote computer devices. There is a further need for a particular system architecture that enables the leveraging of J2ME to provide wireless gaming as between one or more J2ME compliant wireless devices and one or more remote computer devices. There is a further need for such a system architecture to enable multi-player gaming as between J2ME compliant wireless device.
SUMMARY OF THE INVENTION
0015A multi-player gaming platform is provided that enables multi-player gaming involving at least one wireless device.
0016The system of the present invention includes a server computer. The server computer includes a server application that manages communications as between the at least one wireless device and the remote devices associated with the other players. The server application includes a server post office facility that receives a series of data communications from a device authorized by the access facility, and sends the data communications to the appropriate device. This occurs independent of gaming logic associated with a particular game.
0017A wireless application is linked to the at least one wireless device, and also the other remote devices. The wireless application includes logic defining the data communications, and processing of such data communications, required in order to play a particular multi-player game. The wireless application is adapted to receive data communications from the server computer and determine if such data communications relate to a multi-player game, and process the data communication in accordance with the logic defining a particular multi-player game. The wireless application is also adapted to poll the server computer for data communications related to a particular multi-player game.
0018The wireless application and the server application cooperate to provide a number of functions at the wireless device related to multi-player gaming. One such function enables a user associated with the wireless device to be matched for multi-player gaming with a user of another wireless device, an Internet client user, and/or an artificial intelligence player.
0019A still other aspect invention is a development toolkit that enables game developers to develop and deploy games to the multi-player gaming platform of the present invention with relative ease and efficiency.
0020A still other particular aspect of the present invention is a method that enables game developers to develop and deploy games to the multi-player gaming platform of the present invention using the development toolkit.
0021An object of the present invention is to provide a system, computer program and method for enabling multi-player gaming involving at least one wireless device.
0022The multi-player gaming platform described enables multi-player gaming between at least one wireless device and one or more Internet client or artificial intelligence player.
0023In one aspect of the present invention, there is provided A method for providing multi-player gaming on a wireless device including the steps of: providing on the wireless device a wireless application that enables a user associated with the wireless device to send and receive a plurality of communications defining one or more steps involved in playing a game to at least one remote network-connected device consisting of at least one of a remote wireless device, an artificial intelligence player and/or a remote client computer, via an intermediary server, the at least one remote network-connected device being linked to a wireless application generally corresponding to the wireless application; sending a request for multi-player gaming to the intermediary server from the wireless device; in response to matching the user associated with the wireless device with at least one other player associated with the at least one remote network-connected device, by operation of a matching facility linked to the intermediary server; activating a multi-player game linked to the wireless application, thereby enabling the user to make one or more initial moves by providing input to the wireless application, thereby engaging the wireless application to assemble a gaming communication, and deliver the gaming communication to the intermediary server; and each of the user and the at least one other player thereafter polling the intermediary server for a plurality of gaming communications consisting of moves from the at least one network-connected device, said gaming communications being interpreted by the wireless application in accordance with the multi-player game, and in response to such game communications, each of the user and the at least one other player making further moves by providing input to the wireless application or the corresponding wireless application, thereby engaging the wireless application or the corresponding wireless application to assemble further gaming communications, and deliver the further gaming communications to the intermediary server, until an end game defined by the multi-player game is achieved.
0024In another aspect of the present invention, there is provided a system for providing multi-player gaming on a wireless device including: at least one wireless device being linked to a client application and to a memory, and associated with a first player; at least one remote network-connected device, consisting of a remote wireless device, an artificial intelligence player, or a client computer, the at least one remote network-connected device being associated with at least one second player, the at least one remote network-connected device also being linked to a client application generally corresponding to the client application, and further linked to a memory; an intermediary server operable to connect to each of the at least one wireless device and the at least one remote network-connected device, the intermediary server client computer and the wireless device, the intermediary server being linked to a server application and a server database; wherein the client application enables the first player or at least one second player to send and receive a plurality of communications defining one or more steps involved in playing a game to and from the intermediary server, the intermediary server acting as a intermediary for gaming communications as between the at least one wireless device and the at least one remote network-connected device; wherein the client application is operable to send a request for multi-player gaming to the intermediary server from the at least one wireless device, and in response the server application is operable to match the first player with the at least one second player, by operation of a matching facility linked to the intermediary server; wherein the client application and the corresponding client application are linked to a gaming utility that includes at least one multi-player game that enables the first player and the at least one second player to make one or more moves, and in response to such moves the client application being operable to assemble a corresponding one or more gaming communications for delivery to the intermediary server; and wherein the client application is further operable to poll the intermediary server for gaming communications received from the other matched players, namely the other of the first player or the at least one second player, and to interpret the polled gaming communications in accordance with the multi-player game, and in response to such game communications, each of the first player and the at least one second player making further moves by providing input to the gaming utility, thereby engaging the client application to assemble further gaming communications, and deliver the further gaming communications to the intermediary server, until an end game defined by the multi-player game is achieved.
0025In yet another aspect of the present invention, there is provided a method of creating multi-player games operable as between a wireless device and at least one other remote network-connected device including the steps of: providing a server computer linked to a server application and a client application operable on a wireless device, the server application and the client application being operably linked to provide a multi-player gaming platform, the multi-player gaming platform consisting of a plurality of utilities that enable multi-player gaming, such utilities including a matching utility for matching a first player associated with a wireless device with at least one second player associated with another wireless device, an artificial intelligence player or a client computer, and also one or more of the following utilities: a buddy list facility; a chat facility; a contest facility; a ranking facility, and/or an SMS facility; providing a toolkit that enables the development and deployment of one or more multi-player games, whereby the toolkit includes at least one game interface that enables game content including one or more of graphics, text, and game logic to be created that is operable to interface with the multi-player gaming platform, thereby enabling the creation of a multi-player game that interoperates with the matching utilities and one or more of the buddy list facility, the chat facility, the contest facility, the ranking facility and/or the SMS facility; and creating one or more multi-player games to the at least one game interface.
0026In a further aspect of the present invention, there is provided a computer program for enabling multi-player gaming in connection with at least one wireless device, the wireless device being operable to communicate with a wireless communication network and including a memory, and being associated with a first player, and in connection with at least one remote network-connected device also linked to the wireless communication network, consisting of a remote wireless device, an artificial intelligence player, or a client computer, the at least one remote network-connected device being associated with at least one second player, the computer program comprising instructions for defining on the wireless device: a client application operable to connect to an intermediary server that acts as an intermediary between the wireless device and the at least one remote network-connected device, the intermediary server being operable to negotiate a plurality of gaming communications created and processed by the client application and a corresponding application linked to each of the at least one remote network-connected device, wherein the client application also defines on the wireless device: a matching facility for matching the first player associated with the at least one second player, in co-operation with the intermediary server; and one or more of the following utilities: a buddy list facility; a chat facility; a contest facility; a ranking facility, and/or an SMS facility; Wherein the matching facility and the one or more utilities of are operable to co-operate with corresponding resources linked to the intermediary computer so as to enable multi-player gaming on the wireless device, as between the first player and the at least one second player.
BRIEF DESCRIPTION OF THE DRAWINGS
0027A detailed description of the preferred embodiment(s) is(are) provided herein below by way of example only and with reference to the following drawings, in which:
0028<figref idref="DRAWINGS">FIG. 1</figref> is a system architecture diagram generally illustrating the system architecture of the present invention in one aspect thereof.
0029<figref idref="DRAWINGS">FIG. 2</figref> is a program resource diagram illustrating the resources of the server application of the present invention in one aspect thereof.
0030<figref idref="DRAWINGS">FIG. 3</figref> is a table illustrating generally the gaming communication structure of the present invention, in a particular aspect thereof.
0031<figref idref="DRAWINGS">FIG. 4</figref> is a program resource chart generally illustrating the resources of the client application of the present invention in one aspect thereof.
0032<figref idref="DRAWINGS">FIG. 5</figref> is a system resource diagram illustrating the resources of the system in one aspect thereof.
0033<figref idref="DRAWINGS">FIG. 6</figref> is a still further system resource diagram illustrating the resources system of the present invention in one aspect thereof.
0034<figref idref="DRAWINGS">FIG. 7</figref> illustrates the processes as between the client and the server computer of the present invention.
0035<figref idref="DRAWINGS">FIG. 8</figref><i>a </i>illustrates the processes as between the client and the server computer involved in multi-player gaming, including matching, by reference to a particular implementation thereof.
0036<figref idref="DRAWINGS">FIG. 8</figref><i>b </i>illustrates the processes as between the client and the server computer involved in multi-player gaming, including matching, by reference to another implementation thereof.
0037<figref idref="DRAWINGS">FIG. 9</figref> illustrates the resources of the development toolkit of the present invention.
0038<figref idref="DRAWINGS">FIG. 10</figref><i>a </i>illustrates the method whereby a game developer creates a multi-player wireless game to the multi-player wireless gaming platform of the present invention.
0039<figref idref="DRAWINGS">FIG. 10</figref><i>b </i>illustrates the method whereby a game developer creates a multi-player wireless game to the multi-player wireless gaming platform of the present invention, in another aspect thereof.
0040In the drawings, preferred embodiments of the invention are illustrated by way of example. It is to be expressly understood that the description and drawings are only for the purpose of illustration and as an aid to understanding, and are not intended as a definition of the limits of the invention.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT
0041Referring to <figref idref="DRAWINGS">FIG. 1</figref>, there is illustrated a system resource diagram generally illustrating the resources of the system of the present invention in one aspect thereof.
0042<figref idref="DRAWINGS">FIG. 1</figref> illustrates that one aspect of the present invention is a multi-player gaming platform <b>10</b>. The multi-player gaming platform consists generally of a server computer <b>12</b> and a plurality of network-connected devices <b>14</b><i>a</i>, <b>14</b><i>b</i>, <b>14</b><i>c</i>. As illustrated in <figref idref="DRAWINGS">FIG. 1</figref>, at least one of such network-connected devices (<b>14</b><i>a</i>) is a wireless device. The multi-player gaming platform <b>10</b> of the present invention and the one or more wireless devices are connected to a wireless network <b>16</b>. The wireless device <b>14</b><i>a </i>is generally connected to the Internet <b>20</b> via a wireless gateway <b>28</b>.
0043The multi-player gaming platform <b>10</b> of the present invention also enables multi-player gaming as between a user associated with a wireless device and a user who is an Internet Client <b>14</b><i>b </i>associated with a known computer connected to the Internet <b>20</b>.
0044The multi-player gaming platform <b>10</b> of the present invention also enables multi-play gaming with an AI player <b>14</b><i>c </i>consisting generally of a known computer that includes a known artificial intelligence gaming engine.
0045As illustrated in <figref idref="DRAWINGS">FIG. 1</figref>, the multi-player gaming system of the present invention includes a server computer <b>12</b>. The server computer <b>12</b> is provided in a manner that is known. It generally includes hardware/software configured to communicate with the wireless network <b>16</b>, and further to communicate with the Internet <b>20</b>. This is provided using a known communication facility (not shown). The communication facility is best understood as a series of known communication interfaces that enable communication as between the server computer <b>12</b> and the network-connected devices <b>14</b><i>a</i>, <b>14</b><i>b</i>, <b>14</b><i>c </i>(which are collectively referred to as the “Client” or “Clients”), whether via the wireless network <b>16</b> or the Internet <b>20</b>. A known wireless gateway <b>28</b> usually enables the interface as between the Internet and the one or more wireless devices <b>14</b><i>a. </i>
0046A representative hardware configuration for the server computer <b>12</b> includes a J2EE application server or servlet container such as RESIN™ or TOMCAT™ or IBM WEBSPHERE™.
0047The connection of the server computer <b>12</b> to the Internet <b>20</b>, is preferably via a permanent Internet connection provided, for example, by a coaxial cable connection or high speed xDSL telephone connection or the like.
0048<figref idref="DRAWINGS">FIG. 2</figref> illustrates generally the principal resources associated with the server computer <b>12</b> in one aspect thereof. The server computer <b>12</b> is linked to a known database <b>28</b>. Loaded on the server computer <b>12</b> is the server application <b>30</b> of the present invention. The server application <b>30</b> of the present invention provides the functions particularized below.
0049One aspect of the server application <b>30</b> of the present invention is an access facility <b>52</b>. The access facility <b>52</b> is a known facility for restricting access to the resources of the server computer <b>12</b> to users known to the server computer <b>12</b>. The access facility <b>52</b> is linked to the database <b>28</b>. The database <b>28</b> includes an authorized user list with associated passwords corresponding to authorized Clients.
0050One of the aspects of the invention illustrated below is that the system of the present invention uses a series of data communications, and more specifically gaming communications <b>42</b> (illustrated in <figref idref="DRAWINGS">FIG. 3</figref>, and particularized below) having a common structure. In one particular aspect of the present invention, the gaming communication <b>42</b> sent by a network-connected device <b>14</b> includes the password associated with the player linked to that network-connected device <b>14</b>. The database <b>28</b> also preferably includes a list of registered games with their identifiers.
0051Therefore the access facility <b>52</b> is adapted to query the database <b>28</b> in relation to each data communication <b>42</b> to ensure that each data communication <b>42</b> described (1) is in regard to a registered game; and (2) is from a player who is “signed on”, i.e. s/he has given a recognized username/password via the Client.
0052Provided that the above requirements are met in relation to the access facility <b>52</b>, data communications <b>42</b> are provided to a server post office facility or server messaging facility <b>54</b>. The server post office facility or server messaging facility <b>54</b> is a utility similar to an email server. The server messaging facility <b>54</b> is best understood as a server based messaging utility that is operable to send, receive and manage a plurality of data communications including wireless email, Internet-based communications, text messages and the like. One of the functions of the server messaging facility <b>54</b> is to define and manage a series of groups of messages including the various gaming communications described in this disclosure created and processed in the context of multi-player gaming. In one particular implementation of the server messaging facility <b>54</b>, a server post office facility <b>54</b> is provided, which is a utility similar to an email server. The server post office facility <b>54</b> is linked to the database <b>28</b>, and adapted to create a plurality of temporary mailboxes for all logged in users. These temporary mailboxes are used to (1) receive data communications <b>42</b> and associate such data communications <b>42</b> with a particular multi-player game <b>38</b> that is in play between logged in players and to enable the polling of the server computer <b>12</b> by the network-connected devices <b>14</b> for data communications <b>42</b> related to a particular multi-player game.
0053The server computer <b>12</b> is preferably provided in a manner that is scalable to accommodate a growing game user base. This is achieved in a manner that is well known.
0054The network-connected devices <b>14</b><i>a</i>, <b>14</b><i>b</i>, <b>14</b><i>c </i>generally include a memory (not shown). One aspect of the present invention is that a client application <b>32</b> is loaded on the network-connected device <b>14</b>, the resources of which client application <b>32</b> are generally illustrated in <figref idref="DRAWINGS">FIG. 4</figref>. Where the network-connected device <b>14</b> is a wireless device, the client application <b>32</b> consists of a wireless application loaded on the wireless device in a manner that is known.
0055The network-connected device <b>14</b><i>a</i>, <b>14</b><i>b</i>, <b>14</b><i>c </i>will also generally include a known communication facility (not shown). The client communication facility enables communication as between the Client and the server computer <b>12</b>.
0056The client application <b>32</b> of the present invention consists of a general usage multi-player client application that enables multi-play as described herein. In one particular embodiment of the present invention, the client application <b>32</b> as deployed on a wireless device consists of a client application built on an existing wireless communication platform such as J2ME™ (of Sun Microsystems) or BREW™ (of Qualcomm) in a manner that is known.
0057As generally illustrated in <figref idref="DRAWINGS">FIG. 4</figref>, the client application <b>32</b> includes a client messaging facility <b>34</b> provided in a manner that is known. The client messaging facility <b>34</b> is adapted to send and receive data communications, including the gaming communications <b>42</b> particularized below.
0058The client application <b>32</b> is adapted to run one or more wireless games <b>38</b> that enable the wireless multi-play as described herein. The wireless games <b>38</b> are loaded to the memory of the Client.
0059Where the Client is a wireless device, the wireless device and the wireless network <b>16</b> enable both the downloading of the client application <b>32</b> and the various wireless games <b>38</b>, including over the air, in a manner that is known.
0060It should be understood that the client application <b>32</b>, as implemented on a wireless device, does not consist of a thin client but rather a relatively thick client. The thick client preferably includes a relatively rich user interface and access to resources and functions on the wireless device rather than relying on the server computer <b>12</b> to provision each processing step to a WAP browser, for example. This further provides relatively fast speed of processing and therefore gaming at the wireless device.
0061As illustrated in <figref idref="DRAWINGS">FIG. 4</figref>, and mentioned above, one aspect of the client application <b>32</b> is a client messaging facility <b>34</b>. The client messaging facility <b>34</b> is a generally a known data communication facility enabled to support, in one particular aspect thereof, the key functions described herein.
0062One aspect of the client messaging facility <b>34</b> is that it is adapted to filter data communications received by the Client. As explained below, the client application <b>32</b> further includes a plurality of facilities that are best understood as software utilities consisting of daemons that sit in the background until in operation a request for the functions that they enable is made, in one particular implementation of the present invention. These facilities are linked to the client application <b>32</b>, or part thereof. These facilities include, for example, the matching facility <b>100</b>, buddy list facility <b>102</b>, chat facility <b>104</b>, contest facility <b>106</b>, ranking facility <b>108</b>, sponsorship facility <b>110</b>, and SMS facility <b>112</b>, as illustrated in <figref idref="DRAWINGS">FIG. 5</figref>.
0063The client messaging facility <b>34</b>, in a manner that is known, enables a plurality of functions. First, the client messaging facility <b>34</b> is adapted to compare a data communication received at the Client to the current state of the client application <b>32</b>. Second, the client messaging facility <b>34</b> determines if the data communication relates to a particular facility described. Third, the client messaging facility <b>34</b> passes on the particular data communication to the particular facility to which it relates. Fourth, the client messaging facility <b>34</b> is adapted to ignore the data communications that do not appear to relate to the operation of a particular facility described above that is linked to, or forms part of the client application <b>32</b>, for example if the data communication is a mistake, e.g. it has been sent to the wrong address. This particular aspect of the client messaging facility <b>34</b> reduces the potential impact of errors on the operation of the client application <b>32</b> overall.
0064An illustration of the operation of the client messaging facility <b>34</b> consists of the Client receiving a data communication that is a gaming communication <b>42</b>, for example, a HANDLEMOVE as described below. The nature of this particular data communication is recognized by the client messaging facility <b>34</b> whereby it is passed on to the game model facility <b>40</b> for processing.
0065Another aspect of the client application <b>32</b> is the client post office facility <b>44</b>, as illustrated in <figref idref="DRAWINGS">FIG. 3</figref>. The client post office facility <b>44</b> is best understood as a known passive message store for retaining data communications for processing by the client application <b>32</b> as described herein.
0066The client post office facility <b>44</b> and client messaging facility <b>34</b> co-operate to (1) assemble data communications, including gaming communications <b>42</b>; (2) send data communications including gaming communications <b>42</b> to the server computer <b>12</b>; (3) poll the server computer <b>12</b> for data communications including gaming communications <b>42</b>; (4) if a gaming communication <b>42</b> consisting of a move is received from the server computer <b>12</b>, the client post office facility <b>44</b> and client messaging facility <b>34</b> assemble a further gaming communication <b>42</b> identifying the other players in a particular multi-play game for dispatch to such other players via the server computer <b>12</b>; and (5) make gaming communications <b>42</b> available to the game model facility <b>40</b> for interpretation thereof in order to process the gaming communications <b>42</b> as input for multi-player gaming.
0067As illustrated in <figref idref="DRAWINGS">FIG. 5</figref>, another aspect of the client application <b>32</b> is the game model facility <b>40</b>. The game model facility <b>40</b> is best understood as a programmatic interface that abstracts the steps of each wireless game <b>38</b> into a data communication, or gaming communication <b>42</b>, having a common structure. The game model facility <b>40</b> is a common entry point for gaming communications <b>42</b> for processing regardless of the specific game <b>38</b> to which they relate.
0068This common structure of the gaming communications <b>42</b>, in accordance with one very particular aspect of the present invention, is generally as follows: <ul id="ul6S-d0e47300001" list-style="none"><li id="ul6S-d0e47300002-li00002"><ul id="ul6S-d0e47300002" list-style="none"><li id="ul6S-d0e47300002-p00069" num="00069"> <recipient>|<command>|<data></li></ul></li></ul>
0070<figref idref="DRAWINGS">FIG. 3</figref> includes a list of representative gaming communications <b>42</b>. The common structure facilitates the relaying of messages by the server computer <b>12</b>, and interpretation thereof by the client application <b>32</b>. The common structure shown illustrates the structure of data communications generally in accordance with the present invention, not just gaming communications.
0071Another aspect of the game model facility <b>40</b> is that it interprets incoming gaming communications <b>42</b> received from the server computer <b>12</b> as explained below such that the game model facility <b>40</b> enables the client application <b>32</b> to process multi-player games based on the input of such data communications <b>42</b>.
0072In this regard, one particular aspect of the game model facility <b>40</b> is that it is adapted to filter the data communications passed on to the game model facility <b>40</b> by the client messaging facility <b>34</b> and handle only those data communications that are recognized gaming communications <b>42</b>.
0073A still other particular aspect of the game model facility <b>40</b> is that it processes recognized gaming communications <b>42</b> whether they are from an AI player, another Wireless player or an interactive player.
0074One of the advantages of the present invention is that the use of the game model facility <b>40</b> loaded on the Client that processes gaming communications <b>42</b> having a common structure, it is relatively easy deploy new games with little or no change to the gaming platform <b>10</b> overall. This is because the functions of the multi-player gaming platform <b>10</b> of the present invention can be extended, maintained, updated or otherwise modified without any changes being required to the game itself. This is in turn reduces the investment of time and other resources required to development multi-player games enabling play from at least one wireless device. This also reduces the barriers to entry to game developers and therefore encourages the rapid expansion of game titles available on the multi-player gaming platform <b>10</b>. It should be understood that a particular advantage of the present invention is that the operator of the server computer addresses threading and network issues related to the deployment of multi-player games.
0075In another aspect of the client application <b>32</b>, and also of the method of the present invention, the client application <b>32</b> enables the following steps: (1) the client application <b>32</b> determines how many players are involved in a wireless game <b>38</b> and their identities (e.g. network username); (2) the client application <b>32</b> sends a gaming communication <b>42</b> consisting of a move to the server computer <b>12</b>; (3) if a gaming communication <b>42</b> consists of a move, the server application <b>32</b> sends the move as a gaming communication <b>42</b> to the other players over the wireless network <b>16</b> or Internet <b>20</b>. The other players are selected as detailed below.
0076The server application <b>30</b> also includes a series of utilities linked to the operation of the server, including the statistics facility <b>114</b>, scalability facility <b>116</b>, logging facility <b>118</b> and room manager facility <b>120</b> as illustrated in represented in <figref idref="DRAWINGS">FIG. 6</figref>. The processes enabled by these server side facilities are particularized below.
0077On the Client side, the various facilities linked to the client application <b>32</b> described, are best understood as DAEMON applications provided in a manner that is known, as mentioned above.
0078Another aspect of the client application <b>32</b> of the present invention is that it provides a plurality of gaming interfaces for soliciting game-related input from the Client, in providing game-related input. These gaming interfaces are provided in a manner that is known. The gaming interfaces provided in accordance with the present invention are generally relatively abstracted. This enables new games to be written to the gaming platform <b>10</b> of the present invention relatively quickly, as further particularized below.
0079Representative gaming interfaces include:
0080HANDLESTARTOFGAME is generally a standard user interface that resolves start of game issues including (1) soliciting the player to initialize the board interface provided by the client application <b>32</b>, (2) whether s/he plays first or second (depending on the game) and so on.
0081SETSKILL LEVEL is an interface that solicits input from the player as to the skill level at which the player decides the AI Player to play. In another particular embodiment of the present invention, the interface enables the player to determine a historical skill level to be associated with matched “live” players in accordance with the matching process described below.
0082GETMOVE is a standard interface whereby the player is asked for his/her move, e.g. in chess the player provides input that results in the creation of the string ‘move|a<b>3</b><i>a</i><b>4</b>’.
0083HANDLEMOVE is a standard interface that requests the player to handle a game move such as for example in chess the move ‘move|a<b>3</b><i>a</i><b>4</b>’, i.e. move your pawn up one space.
0084HANDLEENDOFGAME is an interface that pops us once a game is over, displays the outcome, and communicates back to the server computer <b>12</b> for the purpose of network tracking, contests and so on.
0085SERIALIZE/DESERIALIZE GAME is an interface that permits the player to save and load a particular game state. The game state can be reloaded at a later time in which case this interface enables a player to send an AUTOMATCH request (detailed below) to resume the particular game.
0086The gaming communications <b>42</b> as between Clients and the server computer <b>12</b> generally occur, in one particular aspect of the present invention, as HTTP request-response pairs, provided in a manner that is known.
0087In accordance with one particular aspect of the method and computer program of the present invention, <figref idref="DRAWINGS">FIG. 7</figref> illustrates the processes as between the Client and server computer <b>12</b> of the present invention. A login request is sent by the Client to the server computer <b>12</b>. The login request contains the user ID and password. The server computer <b>12</b> sends in response an HTTP response indicating success or failure. When the Client is logged in to the server computer <b>12</b> but not playing a game, it will poll the server computer <b>12</b> every 45 seconds for a listing of players logged in to the server computer <b>12</b>, in one particular implementation of the present invention. The Client logs out of the server computer <b>12</b> with a logout request. The server computer <b>12</b> confirms the logout in an HTTP response.
0088In accordance with yet another aspect of the method and computer program of the present invention, <figref idref="DRAWINGS">FIG. 8</figref> illustrates the processes as between the Client and the server computer <b>12</b> involved in multi-player gaming, including matching, by reference to a particular implementation. The scenario illustrated involves two players only, namely Client1 and Client 2.
0089These processes are enabled by the matching facility <b>100</b> linked to the client application <b>32</b>, and also associated facilities described above including the client post office facility <b>44</b> and the client messaging facility <b>34</b>. The processes described below depend on the operation of the server post office facility <b>54</b> which acts a list of “mailboxes” stored to the database <b>28</b>. The various Clients involved in multi-player gaming in accordance with the present invention routinely poll the mailboxes created by the server post office facility <b>54</b> to pick up new messages that relate to them. In one particular aspect of the server post office facility <b>54</b>, once a particular message has been picked up, it is deleted from the database <b>28</b>.
0090Accordingly, the following processes are involved in matching players in accordance with the multi-player gaming method of the present invention: <ul id="ul6S-d0e47300003" list-style="none"><li id="ul6S-d0e47300004-li00004"><ul id="ul6S-d0e47300004" list-style="none"><li id="ul6S-d0e47300002-p00091" num="00091"> Client1 challenges Client2 to a game. This is accomplished by Client1 sending a challenge request to the server computer <b>12</b>. The challenge request is one particular gaming communication <b>42</b>. </li><li id="ul6S-d0e47300002-p00092" num="00092"> The server computer <b>12</b> acknowledges the challenge request. This acknowledgment does not yet indicate whether Client2 has accepted the challenge or not. </li><li id="ul6S-d0e47300002-p00093" num="00093"> Client1 sends a request to the server computer <b>12</b> to verify whether client2 has accepted the challenge or not. This request is repeated within a predetermined interval (e.g. every 15 seconds) until Client2 either accepts or rejects the challenge. It should be understood that this very particular aspect of the present invention contributes to minimize network errors and down time that might interfere with multi-player gaming. </li><li id="ul6S-d0e47300002-p00094" num="00094"> The next time Client2 polls the server computer <b>12</b>, as indicated above, Client2 will be informed of the challenge from Client1. </li><li id="ul6S-d0e47300002-p00095" num="00095"> Client2 will send a request to the server computer <b>12</b> indicating that the challenge is accepted (if this is the case). The server computer <b>12</b> will acknowledge this request with a response. </li><li id="ul6S-d0e47300002-p00096" num="00096"> As in the case of Client1, Client2 is required to send a request to the server computer <b>12</b> asking for a color. </li></ul></li></ul>
0097Once the matching of the various players has occurred, the multi-player gaming method of the present invention is also illustrated having regard to <figref idref="DRAWINGS">FIG. 8</figref>, and the following description of the related processes enables by the facilities described: <ul id="ul6S-d0e47300005" list-style="none"><li id="ul6S-d0e47300006-li00006"><ul id="ul6S-d0e47300006" list-style="none"><li id="ul6S-d0e47300002-p00098" num="00098"> The client application <b>30</b> knows which of the players has to make the first move. The moves are solicited from the players by the interfaces described above. </li><li id="ul6S-d0e47300002-p00099" num="00099"> Once the move is made, the Client will send the move as a request to the server computer <b>12</b>. An acknowledgment will be sent back to the Client by the server computer <b>12</b>. </li><li id="ul6S-d0e47300002-p00100" num="00100"> While it is the opponent's turn to move, the Client will poll the server computer <b>12</b> within predetermined intervals (e.g. every 5 seconds) to receive the opponent's next move. Client sends a response either with the move or indicating that the Client has not yet moved. </li><li id="ul6S-d0e47300002-p00101" num="00101"> In the example illustrated in <figref idref="DRAWINGS">FIG. 8</figref>, Client1 is white and Client2 is black (the first player is generally white and the second player is generally black, in one particular implementation). Because white has the first move, Client1 moves first, and Client2 receives the move on its next request to the server computer <b>12</b>. Client2 then makes its first move and Client1 receives this move on its next request to the server computer <b>12</b>. If Client1 takes a long time to make its second move such that Client2 will continue to make requests to the server computer <b>12</b> which will result in the server computer <b>12</b> sending a “MOVE UNKNOWN” response. </li><li id="ul6S-d0e47300002-p00102" num="00102"> This continues until a winning move is made, in which the client application <b>32</b> on each Client (based on operation of the game model facility <b>40</b>) will know that the game has ended and will send a response to this effect to the server computer <b>12</b>. </li></ul></li></ul>
0103It is important to highlight that in the present invention, communication is facilitated by the server application <b>30</b> that enables multi-player gaming, but in a manner that the nature of the game is transparent. The processes that differentiate one game from another are handled on the Client side by the game model facility <b>40</b>.
0104There are a number of benefits to the foregoing process. For example, unnecessary waiting time at either Client is avoided in that if Client1 continues to be logged on, but has not made a responding move yet, Client2 continues to receive responses from the server computer <b>12</b> to the effect that Client1 is logged on, but has not yet made a move. If a player involved in multi-player gaming logs out during play, then the server computer <b>12</b> will notify each of the other Clients in which case in most games <b>38</b> the game will continue minus the logged out player. Generally in this case, a message is displayed saying “OPPONENT ABORTED GAME” or equivalent, and the game ends.
0105In another particular aspect of the present invention, if Client1 takes a long time to make a request after it has logged on, the server computer <b>12</b> will generally log out the associated network-connected device <b>14</b>.
0106Now referring to <figref idref="DRAWINGS">FIGS. 5 and 6</figref>, one aspect of the system of the present invention is a system architecture whereby the server application <b>30</b> and the client application <b>32</b> generally include corresponding resources such as the matching facility <b>100</b>, buddy list facility <b>102</b>, chat facility <b>104</b>, contest facility <b>106</b>, ranking facility <b>108</b>, sponsorship facility <b>110</b> and SMS facility <b>112</b>. These facilities linked generally linked to the server application <b>30</b> and the client application <b>32</b> enable communication as between the various Clients for the purpose of enabling the functions of these facilities, as particularized below.
0107It should be understood that at the Client side, particular facilities can be downloaded (for example by air) on an as needed basis as particular functions are required by the Client user.
0108In relation to these facilities linked to the client application <b>30</b>, these facilities generally act as daemons operating in the background, until their resources are requested from the client application <b>32</b> by the user. The various daemons in response to such a request enable the client application <b>32</b> and server application <b>30</b> to cooperate to process the requests/responses required to enable those functions.
0109The facilities on the Client side bear “a” identifiers in their assigned numbers, the corresponding facilities on the server computer <b>12</b> side bear “b” identifiers. References to the functions provided on the Client and server side together are generally referred to as “ab”.
0110The description below illustrates the functions/operations enabled by the facilities described. These functions are generally enabled by requests/responses exchanged as between the Client and server computer <b>12</b> by operation of the server post office facility <b>54</b> and the client post office facility <b>44</b> (in cooperation with the other utilities described above to which they are linked, as illustrated in <figref idref="DRAWINGS">FIG. 6, 7</figref>). The details of the related processes (including particular sequences of requests/responses) are not fully detailed in regard to these facilities, but operate in a manner that is analogous to the matching process described above.
0111Another aspect of the matching facility <b>110</b><i>ab </i>not described above is that it enables a process whereby every player making a request to play will be matched whether the challenge is responded to by another player or not. The matching facility <b>100</b><i>b </i>maintains a hash, in a manner that is known, of all requests made by players by game, skill level, player type and player type requested. The matching facility <b>100</b><i>b </i>is adapted to match the request against the contents of the hash and communicate the match results as move request send by the players selected by this process. If no matching player is found in the hatch, the matching facility <b>100</b><i>b </i>is adapted to match the player with an AI player, in one particular embodiment of the present invention.
0112The buddy list facility <b>102</b><i>a </i>is best understood as a daemon on the Client side that stores the contact data for a list of buddies to the memory associated with the network-connected device <b>14</b>. Another aspect of the buddy list facility <b>102</b><i>a </i>is that it cooperates with the client messaging facility <b>34</b> to send requests to the server computer <b>12</b> for the buddy list facility <b>102</b><i>b </i>to check to see the status of the one or more individuals listed on the buddy list and report back to the Client as to whether such individuals are “online” or “offline”.
0113The chat facility <b>104</b><i>ab </i>is best understood as a facility that enables the data communications exchanged between the Client and the server computer <b>12</b> to include simple chat-type text messages, with the normal functions generally associated with chat in a manner that is known. On the server computer <b>12</b> side this happens as a matter of course as text messages are distributed in accordance with the operation of the server post office facility <b>54</b> much as any other type of message. On the client application <b>32</b> side, the chat facility <b>104</b><i>a </i>cooperates with the client application <b>32</b> to display text messages as “CHAT” in a format that is well known as they are received at the wireless device <b>104</b><i>a. </i>
0114A further aspect of the present invention is the room manager facility <b>120</b> that cooperates with the chat facility <b>104</b><i>ab</i>. The room manager facility is a known facility on the server computer <b>12</b> side that keeps an internal list of chat rooms. These chat rooms are initially populated from the database <b>28</b> (and configurable over the web). Authorized users can request to see a list of rooms, join a room and then chat in the room, in co-operation with the chat facility <b>104</b><i>ab</i>. The manager (administrator of server computer <b>12</b>) is responsible for broadcasting a message from any one user to all other users in a room. This is enabled by the data communications described above. This aspect of the present invention can also be associated with a website using JSP, in a manner that is known. One very particular aspect of the present invention is that both a Wireless Device <b>14</b><i>a </i>and an Internet Client <b>14</b><i>b </i>can plug into the computer architecture described to use the same chat rooms by operation of the room manager facility <b>114</b>.
0115The contest facility <b>106</b><i>a </i>on the Client side is best understood as an aspect of the client application <b>30</b> that enables the Client to select to participate in a contest that is linked with multi-player gaming of a particular game <b>38</b>. More significantly, on the server computer <b>12</b> side, the contest facility <b>106</b><i>b </i>enables the operator of the server computer <b>12</b> to set up contests, and the parameters thereof. The contest facility is linked to the statistics facility <b>114</b> referenced below.
0116The ranking facility <b>108</b><i>a </i>on the Client side is best understood as an aspect of the client application <b>30</b> whereby once a game has ended, the players communicate the results to the server computer <b>12</b> along with whom they were playing. One aspect of the ranking facility <b>108</b><i>b </i>on the server side is that it maintains a file on the database <b>28</b> that includes the rankings of each authorized user associated with the server computer <b>12</b>. The ranking facility <b>108</b><i>b </i>is responsive to the results provided by the client application <b>30</b> described above to alter the ranking files of the players involved in the game based on a predetermined formula to reflect the results of new recorded game. The ranking facility <b>108</b><i>b </i>is further adapted to add ranking data to challenge requests referred to above to ensure that players know the ranking of potential opponents. This is to avoid players taking on opponents that are ranked higher or lower than they want.
0117The sponsorship facility <b>110</b><i>a </i>is best understood on the Client side as an aspect of the client application <b>32</b> whereby graphic material, text and the like can be displayed to the gaming interface (not shown) of the network-connected device <b>14</b> to promote a particular contest. More importantly, on the server computer <b>12</b> side, the sponsorship facility <b>110</b><i>b </i>is best understood as a utility that enables the operator of the server computer <b>12</b> to (1) specify a particular sponsor for a specific game for a period of time; create and load marketing materials such as splash screens, logos on the gaming interface and the like.
0118The server application <b>30</b> further includes a statistics facility <b>114</b> that is a known utility that tracks the activities of the various authorized users. The function of the statistics facility <b>114</b> is to track what contests players have signed up for, what games have been played, how many entries in each contest each person has, what phone they used, what network (AT&T, Telus etc.). The information is stored to the database <b>28</b>. The statistics facility <b>114</b> cooperates with the contest facility <b>106</b><i>b </i>and the sponsorship facility <b>110</b><i>b </i>to provide the functionality described.
0119The server application <b>30</b> also includes a known SMS facility <b>112</b><i>b </i>that enables SMSing between users who are offline. The SMS facility <b>112</b><i>ab </i>is a known utility, implemented in a manner that is known. It is best understood as a helper daemon on the Client side. On the server side, in one particular implementation of the present invention, the SMS facility <b>112</b><i>b </i>consists of a known SMS server connected to the server computer <b>12</b>.
0120In one particular aspect of the present invention, the server application <b>30</b> is provided with a scalability facility <b>116</b>. This facility is best understood as a series of scalability features associated with the server computer <b>12</b> in a manner that is known. One particular aspect of such a feature is to enable the server post office facility <b>54</b> to be dynamically expanded as the need for a total number of mailboxes described expands as the usage of the server computer <b>12</b> increases. For example, in one aspect of the present invention, the server post office facility <b>54</b> is implemented using a tool such as the JGROUPS™ open source library, which enables the various mailboxes created to span multiple computers thereby providing a resources scalable across a plurality of computers, implemented in a manner that is known.
0121Another aspect of the present invention is the statistics facility <b>114</b>. This is a known facility that collects historical data and further provides access to one or more interfaces for generating, accessing, viewing, printing, storing, and sending reports based on such data. The historical data relates to, for example, usage of the multi-player gaming platform described. The statistics facility <b>114</b> enables generation of billing information, electronic invoicing, e-commerce facility for pay as you go charge-out of multi-player gaming and so on.
0122Yet another aspect of the present invention is administration facility <b>118</b>. This is a known facility that enables a series of functions such as the administration of an authorized user list; management of various installations related to production, development, testing, debugging; management of log-in parameters; turnaround times (e.g. average message, current message); memory management and so on.
0123A still other aspect of the invention, is a method whereby games for play between a plurality of users, at least one of which is associated with a wireless device, can be written to the multi-player gaming platform described above with relative ease and speed.
0124In one particular aspect of this method, this involves making available to a plurality of game developers what is best understood as a development toolkit. A number of aspects of this toolkit are illustrated in <figref idref="DRAWINGS">FIG. 9</figref>.
0125As illustrated in <figref idref="DRAWINGS">FIG. 10</figref>, the method described involves the following: <ul id="ul6S-d0e47300007" list-style="none"><li id="ul6S-d0e47300008-li00008"><ul id="ul6S-d0e47300008" list-style="none"><li id="ul6S-d0e47300002-p00126" num="00126"> (a) Downloading the toolkit. </li><li id="ul6S-d0e47300002-p00127" num="00127"> (b) Setting up the programming environment <b>118</b> illustrated in <figref idref="DRAWINGS">FIG. 9</figref>. This includes, for example, in a particular implementation, the set-up of the compiler, basic JAVA tools, interface paint tools, windowing libraries and so on. </li><li id="ul6S-d0e47300002-p00128" num="00128"> (c) Filling in the game skeleton <b>120</b> with logic and graphics. The game skeleton <b>120</b> includes the basic routines and interfaces required to play any multi-player wireless game, including coding to enable different players to interface with the game (AI, Interactive and Meta Provider). The various steps of the game are then implemented based on the logic. The logic is based on the basic elements described above such as handleMOVE, getMOVE, serializeGAME and so on. Specific coding for particular routines is obtained from the build library <b>124</b> and brought into the game skeleton <b>120</b>. </li><li id="ul6S-d0e47300002-p00129" num="00129"> (d) Enabling features from the feature library <b>122</b>. In one particular embodiment of the present invention, this enabling of the features occurs automatically. This involves linking the game being created with the functions of particular facilities described above and their functions, e.g. the buddy list facility <b>102</b><i>ab </i>to enable maintenance of a buddy list of preferred other players in regard to a particular game. The present invention enables “plug and play” deployment of these facilities and the functions that they enable. </li><li id="ul6S-d0e47300002-p00130" num="00130"> (e) Apply the build scripts. The build scripts are contained in the build library <b>124</b>. The application of the build scripts to the game skeleton <b>120</b> and selected features results in the creation of a plurality of the multi-player wireless game. In one particular implementation of the present invention, this game consists of a series of JAVA source files. </li><li id="ul6S-d0e47300002-p00131" num="00131"> (f) Deploy the multi-player wireless game. </li></ul></li></ul>
0132One of the advantages of the method of the present invention, is that it enables an easy method to plug in features supported by the multi-player gaming platform described, without the need for extensive testing or debugging of new games created based on this method. This is because creation of a game as described herein results in the automatic application of programming standards subsumed in the toolkit (including its elements). The deployment of a multi-player wireless game to various wireless networks, interfaces supported by particular wireless devices and so on can be time consuming. The present invention enables the developer to focus more on game development and less on these deployment issues.
0133The toolkit overall is best understood as a known jar file or equivalent. The file contains various programmatic routines and interfaces to produce a multi-player wireless game deployed to the multi-player gaming platform described. The jar file notably includes the programming environment <b>118</b> which is a known execution framework that enables the selection of routines and interfaces to the execution framework, which enables the compilation of deployable programs, namely the multi-player games discussed herein.
0134The jar file enables the distribution of tools for creating an executable program without the various source files.
0135The jar file is usually obtained in a compressed format, for example as a zip file.
0136A still other particular aspect of the present invention, is the order in which a new game is written to the multi-player gaming platform described. It has been found that programming the game logic correctly is a relatively challenging aspect of creating games as described. This is easier where (1) the game board is created and debugged; and (2) then the game logic is implemented.
0137With greater particularity, this can be achieved in accordance with the following method which is yet another particular aspect of the present invention that illustrates the invention having regard to implementation of different types of players in creation of a multi-player wireless game: <ul id="ul6S-d0e47300009" list-style="none"><li id="ul6S-d0e47300010-li00010"><ul id="ul6S-d0e47300010" list-style="none"><li id="ul6S-d0e47300002-p00138" num="00138"> (a) Create a basic test platform for an AI player. This involves selection of the AI player functions of a game skeleton <b>120</b>. These functions either do not include specific functions, or these are cleared out. This now provides the “AI PLAYER”. </li><li id="ul6S-d0e47300002-p00139" num="00139"> (b) Create a basic test platform for a player using a wireless device. This involves selection of the interactive player functions of a game skeleton <b>120</b>. These functions either do not include specific interactive player functions, or these are cleared out. This provides the key programming interfaces and routines for an “INTERACTIVE PLAYER”. </li><li id="ul6S-d0e47300002-p00140" num="00140"> (c) Code a representation of the playing board in a separate object, and note that the Al and wireless device client will use this object to represent the game board. In one still more particular implementation of the present invention, known programming guidelines are used to ensure adherence to the J2ME platform. </li><li id="ul6S-d0e47300002-p00141" num="00141"> (d) For both the AI PLAYER and the INTERACTIVE PLAYER, implement the handleStartGame routine that means that the player number is passed to each type of player such that each player knows, for example, whether they are “WHITE” or “BLACK”. </li><li id="ul6S-d0e47300002-p00142" num="00142"> (e) The rendering of the game board is then tested. This involves compiling both the AI PLAYER and the INTERACTIVE PLAYER. This is specifically accomplished by launching the jar components for the INTERACTIVE PLAYER in a J2ME emulator, and the jar components of the AI PLAYER on the command line of a desktop. In the emulator, the “PLAY COMPUTER” option is engaged. This will enable the wireless device to find the AI PLAYER, start the game, and display the rendering of the game board previously provided. The rendering is debugged, if necessary. </li></ul></li></ul>
0143In one particular aspect of the present invention, it should be understood that some routines or interfaces described may be displayed when selected in whole code format, whereas others for the sake of protection of key confidential information such as critical interfaces may be kept hidden and shown, for example, as a representative identifier or icon only.
0144It should be understood, in relation to the methods or processes described herein, that the order of one or more of the steps described can be changed without affecting the essential aspects of the method described.
0145References to “multi-player wireless games” herein refer to a multi-player game that enables at least one user associated with a wireless device to play the game with other players who may be one or more users associated with a wireless device, one or more AI clients, or one or more Internet clients.
0146Numerous extensions or modifications of the present invention are possible. For example, added features can be provided to the system of the present invention, for the purpose of enhanced sponsorship functionality. The multi-player gaming portal described can be modified to link with the computer systems associated with third party gaming portals. Numerous other processes can be added to operation of the system of the present invention, including for example enhanced matching of players. For example, a player can be matched with a computer opponent after waiting for a response to a challenge for so long.
Contents5
12 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6 Sheet 7 Sheet 8 Sheet 9 Sheet 10 Sheet 11 Sheet 12
Every citation, both ways
| Document | Relation | Office | Cited during |
|---|---|---|---|
| US2010197406A1 | Cited by | United States of America | Pre-grant |
| US8257178B2 | Cited by | United States of America | Search report |
| US8677250B2 | Cited by | United States of America | Applicant |
| US10391397B2 | Cited by | United States of America | Applicant |
| US8290920B2 | Cited by | United States of America | Search report |
| US8858332B2 | Cited by | United States of America | Applicant |
| US9681193B2 | Cited by | United States of America | Search report |
| US2008113787A1 | Cited by | United States of America | Pre-grant |
| US10546107B2 | Cited by | United States of America | Applicant |
| US2016098894A1 | Cited by | United States of America | Pre-grant |
| US11024120B2 | Cited by | United States of America | Applicant |
| WO2014165862A1 | Cited by | World Intellectual Property Organization (WIPO) | International search |
| US8285693B2 | Cited by | United States of America | Search report |
| US2016098894A1 | Cited by | United States of America | Search report |
| WO2007056144A3 | Cited by | World Intellectual Property Organization (WIPO) | International search |
| US2007093296A1 | Cited by | United States of America | Pre-grant |
| US10535221B2 | Cited by | United States of America | Applicant |
| US9272210B2 | Cited by | United States of America | Applicant |
| US8221241B2 | Cited by | United States of America | Search report |
| US11514748B2 | Cited by | United States of America | Applicant |
| US2008218312A1 | Cited by | United States of America | Pre-grant |
| US11229835B2 | Cited by | United States of America | Applicant |
| US2007015580A1 | Cited by | United States of America | Pre-grant |
| US10092835B2 | Cited by | United States of America | Applicant |
| US2018078851A1 | Cited by | United States of America | Search report |
| US2007093294A1 | Cited by | United States of America | Pre-grant |
| US10286300B2 | Cited by | United States of America | Applicant |
| US2006135261A1 | Cited by | United States of America | Pre-grant |
| US9327194B2 | Cited by | United States of America | Applicant |
| US2007060305A1 | Cited by | United States of America | Pre-grant |
| US10406446B2 | Cited by | United States of America | Applicant |
| US10783744B2 | Cited by | United States of America | Applicant |
| US2011077084A1 | Cited by | United States of America | Pre-grant |
| US10366562B2 | Cited by | United States of America | Applicant |
| US2012331058A1 | Cited by | United States of America | Pre-grant |
| US2011045842A1 | Cited by | United States of America | Pre-grant |
| US2009082098A1 | Cited by | United States of America | Pre-grant |
| US10733847B2 | Cited by | United States of America | Applicant |
| US10332155B2 | Cited by | United States of America | Applicant |
| US10653952B2 | Cited by | United States of America | Applicant |
| US8892291B2 | Cited by | United States of America | Applicant |
| US2007275779A1 | Cited by | United States of America | Pre-grant |
| US2009005172A1 | Cited by | United States of America | Pre-grant |
| US2008311994A1 | Cited by | United States of America | Pre-grant |
| US2007054739A1 | Cited by | United States of America | Pre-grant |
| US2007060306A1 | Cited by | United States of America | Pre-grant |
| US10339759B2 | Cited by | United States of America | Applicant |
| US9242179B2 | Cited by | United States of America | Search report |
| US2011320401A1 | Cited by | United States of America | Pre-grant |
| US2009098925A1 | Cited by | United States of America | Pre-grant |
| US2011230269A1 | Cited by | United States of America | Pre-grant |
| US8291067B2 | Cited by | United States of America | Search report |
| US10460557B2 | Cited by | United States of America | Applicant |
| US2014157246A1 | Cited by | United States of America | Pre-grant |
| US10068418B2 | Cited by | United States of America | Applicant |
| US2009075729A1 | Cited by | United States of America | Pre-grant |
| US9011249B2 | Cited by | United States of America | Applicant |
| US11055954B2 | Cited by | United States of America | Applicant |
| US2008113786A1 | Cited by | United States of America | Pre-grant |
| US2009209325A1 | Cited by | United States of America | Pre-grant |
| US10515511B2 | Cited by | United States of America | Applicant |
| US10460566B2 | Cited by | United States of America | Applicant |
| US2007099658A1 | Cited by | United States of America | Pre-grant |
| US2008224822A1 | Cited by | United States of America | Pre-grant |
| US2008102957A1 | Cited by | United States of America | Pre-grant |
| US2010178986A1 | Cited by | United States of America | Pre-grant |
| US2005197190A1 | Cited by | United States of America | Pre-grant |
| US2008015013A1 | Cited by | United States of America | Pre-grant |
| US2016094885A1 | Cited by | United States of America | Pre-grant |
| US2012016904A1 | Cited by | United States of America | Pre-grant |
| US2008102956A1 | Cited by | United States of America | Pre-grant |
| US2007281785A1 | Cited by | United States of America | Pre-grant |
| US2007257101A1 | Cited by | United States of America | Pre-grant |
| US2006052153A1 | Cited by | United States of America | Pre-grant |
| US10874937B2 | Cited by | United States of America | Search report |
| US2007066401A1 | Cited by | United States of America | Pre-grant |
| US2017011595A1 | Cited by | United States of America | Pre-grant |
| US2015126287A1 | Cited by | United States of America | Pre-grant |
| US11182462B2 | Cited by | United States of America | Applicant |
| US8128485B2 | Cited by | United States of America | Applicant |
| US10510214B2 | Cited by | United States of America | Applicant |
| US2007066402A1 | Cited by | United States of America | Pre-grant |
| US10744416B2 | Cited by | United States of America | Applicant |
| US2021308572A1 | Cited by | United States of America | Search report |
| US10360755B2 | Cited by | United States of America | Applicant |
| US2007060358A1 | Cited by | United States of America | Pre-grant |
| WO2007056144A2 | Cited by | World Intellectual Property Organization (WIPO) | Search report |
| US8589488B2 | Cited by | United States of America | Search report |
| US11103781B2 | Cited by | United States of America | Applicant |
| US2018078851A1 | Cited by | United States of America | Search report |
| US2006252544A1 | Cited by | United States of America | Pre-grant |
| US2008125225A1 | Cited by | United States of America | Pre-grant |
| US10706673B2 | Cited by | United States of America | Applicant |
| US10424153B2 | Cited by | United States of America | Applicant |
| US2007066395A1 | Cited by | United States of America | Pre-grant |
| US10726664B2 | Cited by | United States of America | Applicant |
| US2006229121A1 | Cited by | United States of America | Pre-grant |
| US2011306426A1 | Cited by | United States of America | Pre-grant |
| US2009203449A1 | Cited by | United States of America | Pre-grant |
| US11055958B2 | Cited by | United States of America | Applicant |
3 members in 2 offices
Priority claims6
| Document | Office | Kind | Date |
|---|---|---|---|
| 49096603 | United States of America | P | |
| 49096603 | United States of America | P | |
| 90216404 | United States of America | A | |
| 60490966 | – | – | – |
| US20030490966P | – | – | – |
| US20040902164 | – | – | – |
Members3
| Document | Office | Kind | |
|---|---|---|---|
| CA2476158A1 | Canada | A1 | |
| US2005026697A1 | United States of America | A1 | |
| CA2476158C | Canada | C |
24 transactions on the USPTO file
Abandoned after 1 non-final rejection.
- Non-final rejections
- 1
- Final rejections
- 0
- RCEs
- 0
- Appeals
- 0
Over time
Point at a mark for the transactionTransactions
| Event | Code | |
|---|---|---|
| Mail Abandonment for Failure to Respond to Office ActionAbandonedMABN2 | MABN2 | |
| Aband. for Failure to Respond to O. A.AbandonedABN2 | ABN2 | |
| Mail Non-Final RejectionNon-final rejectionMCTNF | MCTNF | |
| Non-Final RejectionNon-final rejectionCTNF | CTNF | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Response to Election / Restriction FiledELC. | ELC. | |
| Mail Restriction RequirementMCTRS | MCTRS | |
| Restriction/Election RequirementCTRS | CTRS | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Correspondence Address ChangeC.AD | C.AD | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| IFW TSS Processing by Tech Center CompleteTSSCOMP | TSSCOMP | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Application Return from OIPEWROIPE | WROIPE | |
| Application Return TO OIPEROIPE | ROIPE | |
| Application Dispatched from OIPEOIPE | OIPE | |
| Application Is Now CompleteCOMP | COMP | |
| Cleared by OIPE CSRL194 | L194 | |
| IFW Scan & PACR Auto Security ReviewSCAN | SCAN | |
| Initial Exam Team nnIEXX | IEXX |
3 legal events, as the office reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | |
|---|---|---|
| Information on status: application discontinuationABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTIONSTCB | STCB | |
| AssignmentAS | AS | |
| AssignmentAS | AS |
Numbers
- Publication
- 20050026697
- Publication, DOCDB
- 2005026697
- Publication, EPODOC
- US2005026697
- Application
- 10902164
- Application, DOCDB
- 90216404
- Application, EPODOC
- US20040902164
Titles
- English
- System, computer product and method for enabling multi-player gaming on a wireless device
Classification
- CPC, 11
- A63F13/12
- A63F13/795
- A63F2300/406
- A63F2300/5513
- A63F2300/5526
- A63F2300/556
- A63F13/30
- A63F13/48
- A63F13/332
- A63F13/71
- A63F13/35
- IPC, 4
- A63F13 12
- G06F17 00
- G06F19 00
- H04Q7 32
- USPC, 1
- 463042000