U.S. Pat. No. 7,914,381
SYSTEM AND METHOD FOR FACILITATING MULTIPLAYER ONLINE GAMING
AssigneeAG 18 LLC
Issue DateMarch 16, 2004
Illustrative Figure
Abstract
A system and method for facilitating multiplayer online gaming is disclosed. The system 100 includes a client gaming program 108 and a gaming layered service provider (“LSP”) 114, which are stored and operate on a client computer terminal 120. The client gaming program 108 detects when certain individuals identified by a user are playing online games and notifies the user of the individuals currently playing games online and the games that the individuals are playing. The client gaming program 108 allows the user to easily join the games in progress. The gaming program 108 and LSP 114 also monitor and detect games that are running on the terminal 120 and the connection status of the games. The gaming program 108 communicates data regarding the user, games and connection status over the computer network for receipt by selected individuals.
Description
DETAILED DESCRIPTION OF THE EMBODIMENTS The present invention will now be described in detail with reference to the drawings, which are provided as illustrative examples of the invention so as to enable those skilled in the art to practice the invention. Notably, the implementation of certain elements of the present invention can be accomplished using software, hardware, firmware or any combination thereof, as would be apparent to those of ordinary skill in the art, and the figures and examples below are not meant to limit the scope of the present invention. Moreover, where certain elements of the present invention can be partially or fully implemented using known components, only those portions of such known components that are necessary for an understanding of the present invention will be described, and detailed descriptions of other portions of such known components will be omitted so as not to obscure the invention. Preferred embodiments of the present invention are illustrated in the Figures, like numerals being used to refer to like and corresponding parts of various drawings. The present invention provides a system and method for facilitating multiplayer online gaming.FIG. 1illustrates one embodiment of a system100for facilitating multiplayer online gaming, according to the present invention. System100is preferably implemented over a computer network102(e.g., the Internet), which connects client elements104to server elements106. The client elements104may be installed and run on a user's computer terminal120and include a client gaming program108, a Internet programming interface and support program110, layered service provider (“LSP”) programs112including a gaming LSP114, one or more multiplayer online computer games116and low level network support programs118, such as TCP/IP layers. The server elements106may include one or more connection servers122, a presence server124, a database server126, a database128and a game server130. The user computer terminal120may be a conventional microprocessor-based computer system including hardware and software components adapted ...
DETAILED DESCRIPTION OF THE EMBODIMENTS
The present invention will now be described in detail with reference to the drawings, which are provided as illustrative examples of the invention so as to enable those skilled in the art to practice the invention. Notably, the implementation of certain elements of the present invention can be accomplished using software, hardware, firmware or any combination thereof, as would be apparent to those of ordinary skill in the art, and the figures and examples below are not meant to limit the scope of the present invention. Moreover, where certain elements of the present invention can be partially or fully implemented using known components, only those portions of such known components that are necessary for an understanding of the present invention will be described, and detailed descriptions of other portions of such known components will be omitted so as not to obscure the invention. Preferred embodiments of the present invention are illustrated in the Figures, like numerals being used to refer to like and corresponding parts of various drawings.
The present invention provides a system and method for facilitating multiplayer online gaming.FIG. 1illustrates one embodiment of a system100for facilitating multiplayer online gaming, according to the present invention. System100is preferably implemented over a computer network102(e.g., the Internet), which connects client elements104to server elements106. The client elements104may be installed and run on a user's computer terminal120and include a client gaming program108, a Internet programming interface and support program110, layered service provider (“LSP”) programs112including a gaming LSP114, one or more multiplayer online computer games116and low level network support programs118, such as TCP/IP layers. The server elements106may include one or more connection servers122, a presence server124, a database server126, a database128and a game server130.
The user computer terminal120may be a conventional microprocessor-based computer system including hardware and software components adapted to run multiplayer online computer games116and communicate over computer network102. For example, the computer terminal120may include a control and memory unit, user input devices, a visual display or monitor, and a communications unit. The control and memory unit may contain one or more microprocessors, volatile and non-volatile memory, and one or more persistent storage devices. In the preferred embodiment, the control and memory unit stores at least a portion of the operating software that directs the operation of system100. User input devices may include one or more conventional and commercially available devices adapted to allow a user to enter data into and receive data from the computer terminal120and to play computer games. The user input devices may include a keyboard, mouse, joystick, and the like. The visual display may be a conventional and commercially available device for allowing the computer terminal120to display visual data to a user, such as a computer monitor, a flat panel display or other conventional display device. Communications unit may be a suitable and commercially available device or a combination of devices for transferring data over communications network102(e.g., the Internet). It should be appreciated that user input device, display and communications unit cooperatively permit a user or operator to play games with other individuals over the computer network102.
In one embodiment, computer terminal120is running a Windows™-based operating system. Client gaming program108is preferably a Windows-based program that is stored and operating on the computer terminal120. The client gaming program108allows the user to send and receive information, join online games, and communicate with other individuals over the network102. In one embodiment, the client gaming program108is adapted to perform several functions. First, the client program108opens a TCP/IP connection to a connection server122. The client gaming program108also searches the operating system of the user computer terminal120for a predetermined list of games and notifies the connection server of the games the user is running. The client gaming program108communicates with the gaming LSP114to determine the IP addresses to which the games116are connected. The client gaming program108sends this information to the connection servers122, which share the data with other players (i.e., with other instances of the client gaming program). The client gaming program108maintains this information and allows a user to easily join friends and/or friends of friends in an online game by automatically running the game instance116and connecting it to the corresponding network address (i.e., the address hosting the online game). The operation of client gaming program108is described in greater detail below relative toFIG. 2.
In one embodiment, the Internet programming interface and support program110includes Winsock. Winsock110handles input/output requests for Internet applications. The LSPs112may include conventional layered service provider programs that plug into Winsock. Gaming LSP114is mapped into all of the system processes. In this manner, the LSP114can detect and monitor when a user is connected to a remote gaming server and will provide the information (e.g., the connection address) to the client gaming program108. Low level network support programs118are conventional programs for network communication such as TCP/IP layers.
In one embodiment, the connection servers122may include Linux applications that may be running on one or more conventional server machines. The connection servers122receive connections from clients104. The connection servers122forward some requests to the database server126and some to the presence server124. In one embodiment, the connection severs122send the database server126all requests that can be handled through retrieving data from or storing data to the database128, such as getting a list of a user's friends, verifying a user's password, adding a friend to a friend list, deleting a friend from a friend list, or searching for a user. The connection servers122may send communications to the presence server124, such as transmissions involved in logging in, sending an instant message, or saving a user's preferences. The connection servers122also receive messages from the database server126and presence server124and forward the messages to clients104. In the preferred embodiment, the database server126sends back one response to each message sent by the connection server122indicating success or failure of the request, and the associated data. The presence server124can generate many messages in response to each message from a connection server122. For example, when one user enters a game, a message (e.g., identifying the user, game and connection address) may be sent from the client gaming program108to a connection server122, which forwards the message to the presence server124. The presence server124may then send the message to the connection servers122for each of the user's friends (and all of their friends if the “friends of friends” option is selected). The connection servers122forward the message to each of those users' client gaming program108. In this manner, each client gaming program108has the information needed to inform a user of which friends are currently playing online games, and to connect the user to such games if desired (e.g., by running the game instance and connecting to the corresponding connection address). Other messages from the connection server122might only generate one message from the presence server124, such as when a user is sending an instant message to another user.
In one embodiment, the presence server124may include a Linux application running on a conventional server machine. The presence server124receives messages from the connection servers122and routes the messages back to clients104. Each user is assigned a unique number upon successfully logging into the system, and the connection servers122and the presence server124store a mapping between users and their current unique numbers. These unique numbers are used by the presence server124to determine which connection server122to send a message to forward to any given user. The database server126may include a Linux application running on a conventional server machine. The database server126communicates with the connection servers122and presence server124to provide information from the database128. The database128may be a conventional relational database that stores account names, passwords, friend lists, profiles or information about the users, and the like. The game server130may be a conventional game server for handling communication of data in interactive online games. Some games116that a user may run will connect to an Internet game server130in order to play the game with other users over a network.
In one embodiment, the client gaming program108also functions as an instant messaging client, allowing users to send instant messages to other users through our servers122and124. Particularly, the client gaming program108, connection server122, and presence server124together can be used to send text messages between different users running the client gaming program108. This is commonly known as instant messaging, or IM. Users may send messages to any of their friends that are displayed by their client gaming program108. When a user sends an IM to a friend, the friend will be forwarded the text message through the connection servers122and the presence server124by use of the mapping. While the present embodiment sends messages through the connection servers122to the recipient, in alternate embodiment, instant messages may be sent directly from the sender to the receiver (e.g., bypassing the connection servers). Upon receipt, the message will be displayed immediately on the friend's computer. Users may also send messages to any friends of their friends that are also displayed by the client gaming program108(see e.g., description ofFIG. 7below), and the message will be delivered similarly.
In the preferred embodiment, each user of the system is assigned an account or user name and a password, which are stored in the database128. Each user can create and modify a list of “friends” that is stored in the database128. A “friend” is defined as an individual that a user desires to share online and/or gaming status with and that is stored on the user's friend list. When a user is online or playing a game, the user's status (i.e., whether the user is online, what if any game the user is playing, and/or if the user currently desires to play a game) may be communicated to every individual on that user's friend list. Likewise, the status of all of the user's friends may be transmitted to the user. In one embodiment, a user can also select to share status information with “friends of friends.” A “friend of a friend” is an individual that is not on the user's friend list, but is on a friend list of one or more of the user's friends.
In operation, the client gaming program108and gaming LSP114operate together to monitor the online and game status of the various users of the system and to share status information among groups of designated individuals. In this manner, the system100notifies users of the online and game status of designated individuals and allows users to easily join the individuals in online games (e.g., through selecting an item in a graphical user interface). In one embodiment, the client gaming program108determines which games are presently running on a client computer120(FIG. 2), and the LSP program114determines the connection status of the games (FIG. 3).
FIG. 2illustrates one embodiment of a method200that an application, which may be running in the client gaming program108, may perform to determine which games are presently running on a client computer120. The method begins at step202, where the application determines which system processes have terminated since the last iteration of the method200. In step204, the application looks at the first of the terminated processes and compares it to a current list of running games or the “running game set.” If the process is not in the running game set, the application proceeds to step206and determines whether there are additional terminated system processes. If there are no additional terminated system processes, the application proceeds to step212. Otherwise, the application repeats step204. If the application determines in step204that the system process is in the running game set, the application proceeds to step208. In step208, the application notifies the client gaming program108that the game associated with the process is no longer active, and in step210, the client gaming program108removes the process from the running game set.
In steps212-220, the application looks at each system process in the running game set and determines whether the same game is still detected in the system process. Steps212-220allow the system to compensate for system processes that may run multiple games. In step214, the application determines whether the same game is active in the system process. If the same game is not active, the application notifies the client gaming program108in step216, and the program108removes the system process from the running game set in step218. In step220, the application determines whether there are any additional system processes to analyze and repeats steps214-220if additional processes exist. After all system processes are reviewed, the application proceeds to steps222-230, where it reviews all running processes for game instances that are not in the running game set. In step222, the process determines all running system processes. In step224, the process reviews the first running system process to determine if there is any game instance detected in the process. If there is a game instance in the process, the application notifies the client gaming program108of the new active game instance in block226. In step228, the client gaming program108adds the system process to the running game set. If in step224, there is no game detected in the system process, the application proceeds to the step230. If there are no other running processes to review, the method200restarts. The method may restart either immediately, after a predetermined period of time, or after a predetermined event. If there are other running processes to review, the application repeats steps224-230. In this manner, method200provides the client gaming program108with a complete and current running game set. The client gaming program108communicates this running game set to the gaming LSP114.
FIG. 3illustrates one embodiment of a method300that the gaming LSP114may performs to determine the connection status of the games that are running on a client computer120, e.g., whether the games are connected online and the network addresses to which the games are connected. The LSP114communicates this information to the client gaming program108. The client gaming program108then communicates the information to the connection servers122, which, in turn, communicate the information to anyone that is listed as a “friend” (or a “friend of a friend”) of the user. In step302, the LSP determines all active remote network addresses that the client computer120is connected to. The LSP can determine this in the manner shown in steps304-308. In step304, the LSP, which is mapped to all system processes, detects when any system process receives network input or sends network output. In step306, the LSP tracks the remote network address that the process receives input from or sends output to. In step308, the LSP records the most active remote network address for each system process.
In steps310-324, the LSP goes through each game instance recorded in the running game set to determine the current network connection status for each game. In step312, the LSP determines whether the game instance in the running game set is connected to a remote game server. If the game instance does have a network connection, the LSP proceeds to step314. In step314, the LSP determines if the game instance is connected to the same network address as it was during the previous iteration of method300. If the game instance is connected to the same network address, the LSP proceeds to step324and repeats steps312-324for any additional game instances in the running game set. If no additional game instances exist in the running game set, the method300restarts. If in step314, the game instance does not have the same network connection, the LSP proceeds to step316and notifies the client gaming program108that the game instance has a new connection address. In step320, the client gaming program108stores all changes to the connection status including the remote network address for the game instance. If in step312, the LSP determines that the game instance does not have a network connection, the LSP proceeds to step322. In step322, the LSP determines whether the game instance had a network connection during the last iteration of method300. If it did not, the LSP proceeds to step324. If the game instance did have a network connection, the LSP proceeds to step318and notifies the client gaming program108that the game instance is no longer connected. The client gaming program108communicates all changes to the connection status and the remote network address for the game instances to the connection servers122, which in turn, communicate these changes to the appropriate users (e.g., “friends” and “friends of friends” of the user). In this manner, all users connected to the network receive current information as to their friends who are online and the games that they are playing. This information may be displayed to the user by way of a conventional graphical user interface.
In the preferred embodiment, the client gaming program108provides a main graphical user interface that allows users to view selected individuals (e.g., friends and friends of friends) that are currently playing online games and to allow a user to easily join the games.FIG. 4is an example of a main graphical user interface400that may be generated by the client gaming program108. A user may access the main graphical user interface400by selecting an icon appearing on the user's desktop. As shown, interface400includes a username column410, which displays the screen names or usernames of players, and a status column420, which displays the names of games that the players are currently playing. The username column410includes entries for “friends,” which are individuals designated as friends by the user and “friends of friends,” which are individuals designated as friends by the friends of the user. The name of the game that the individual is playing is provided adjacent to the user name in the status column420. The user name column410also includes “Friends Offline” entries, which represent friends of the user who are not currently playing any online games. In one embodiment, the system tracks when a user is playing games offline (e.g., through method200) and communicates this information to the other users so that other users can invite the user to play the game in an online multiplayer environment. The system may also allow online users to indicate that they would like to play a game together with another friend or user. If a user selects this option, the phrase “Up For Game” will appear in the status column420next to the player's username.
The main graphical user interface400may also include an “add” friend icon430, an “IM” icon440, a “join game” icon450and a “profile” icon460. When a user selects the join game icon450, the client gaming program108allows the user to join the selected individual in the selected game by automatically running an instance of the game on the user's terminal and connecting the terminal to the IP address hosting the game. The profile icon460allows a user to enter miscellaneous information regarding the user. The add friend icon430can be selected by a user in order to add one or more friends or to the user's friend list, and to modify the user's friend list. In one embodiment, when the add icon430is selected, the system generates an add friend graphical user interface.FIG. 5is an example of a graphical user interface500that may be generated by the client gaming program108for adding individuals to a friend list. As shown, the interface500includes entries where a user can enter a username, email address, first name, and last name. By entering information into these entries, a user can search the entire system for players who correspond to the information. For example, by entering the first name of “Mike” and selecting the search button510, the client gaming program108will communicate with a connection server122. The connection server122will communicate with the database and retrieve all players who have the first name of “Mike”. This list of players will then be communicated to the client gaming program108, which will display the players in the area520. A user may then scroll down the list until he finds the player that he wants to add. By selecting that player, the system will automatically add the player the user's friend list. The user may also send an invitation to the player to add the user to the player's friend list. The user may send the invitation through IM by selecting button530. The IM may be sent in the manner described above. In another embodiment, the user can also send the invitation through email. In order to send an e-mail, the client gaming program108may open a web browser to a page that will send an email from the system in a conventional manner.
FIG. 7is an example showing a graphical user interface700that may be generated by the client gaming program108for sending instant messages. Unlike prior IM systems, the user interface700lists not only friends, but also friends of friends. In the example shown inFIG. 7, the user has selected an individual (“wyndairn”) who is listed as a friend of a friend in screen400. After highlighting the individual's name, the user then selects the IM icon440. In response, the client gaming program108generates user interface700. As shown, the interface700includes a message history area710that displays several past messages that were sent by the individuals and a message drafting area720in which a user can draft messages. After drafting a message in area720, a user can send the message by selecting send button730. The interface700may also include an information area740that contains various information regarding the individual with whom the user is chatting. For example, the information area740may contain the individual's screen name, a link to the individual's profile, the server IP address where the individual is playing an online game, and common friends shared by the user and the individual.
A system may also include a graphical user interface for selecting options that may be accessible through the main graphical user interface400(e.g., under the Tools menu).FIG. 6is an example of a graphical user interface600that may be generated by the client gaming program108for changing options. The interface600includes privacy options that allow a user to select the type of status information that the system provides for the user. As shown, a user may select to share (or not to share) his game status (i.e., which game(s) the user is playing) to friends and/or to friends of friends. The user can also select to share (or not to share) the identity of the game server on which the user is playing. The interface600may also allow a user to turn on/off sound for the client gaming program108.
In this manner, the present invention provides a system and method for facilitating multiplayer online gaming. The system monitors and detects when certain individuals identified by a user are playing online games. The system notifies the user of the individuals currently playing games online, of games that the individuals are playing, and allows the user to easily join the games in progress.
While the invention has been particularly shown and described with respect to illustrative and preferred embodiments thereof, it will be understood by those skilled in the art that the foregoing and other changes in form and details may be made therein without departing from the spirit and scope of the invention that should be limited only by the scope of the appended claims.
Claims
- A system for facilitating multiplayer gaming over a computer network, the system comprising: a computer terminal configured with a client program and a second program;wherein the client program automatically detects when selected individuals are playing one or more multiplayer games on the computer network, notifies a user of the games and selected individuals playing the games, searches for and detects when one or more of the games are executing on the terminal, and communicates data identifying the running games and the user over the computer network for receipt by selected individuals;wherein the second program, which is separate from the games executing on the terminal, determines a connection status of the executing games and communicates the connection status to the client program;and wherein the client program communicates the connection status of the executing games over the computer network for receipt by the selected individuals.
- The system of claim 1 , wherein the client program assists the user in joining an individual in a game by running an instance of the game on the terminal and connecting the terminal to a location hosting the game.
- The system of claim 1 wherein the second program comprises a layered service provider program.
- The system of claim 1 wherein the connection status comprises an IP address hosting a corresponding game.
- The system of claim 1 further comprising: one or more servers adapted to receive the data and connection status and to communicate the data and connection status to the selected individuals.
- The system of claim 2 wherein the client program further generates a user interface that allows the user to join the individual in a game by selecting an icon.
- The system of claim 2 wherein the program is further adapted to allow the user to send and receive instant messages to and from selected individuals.
- The system of claim 7 wherein the selected individuals include individuals other than the user stored on a friend list created by the user.
- The system of claim 8 wherein the selected individuals include individuals other than the user stored on a friend list created by an individual other than the user stored on a friend list created by the user.
- A computerized method for facilitating multiplayer games over a computer network, comprising: searching for and detecting when one or more multiplayer games are executing on a user terminal;detecting when selected individuals are playing one or more of the multiplayer games on the computer network;notifying the user of the games and selected individuals playing the games;detecting, by a separate program, a connection status of the executing games;and communicating, by the separate program, data identifying the user, executing games and connection status to the selected individuals over the computer network;and assisting the user in joining an individual in a game by executing an instance of the game on the user terminal and connecting, based on the connection status, the user terminal to an address hosting the game.
- The method of claim 10 wherein the connection status comprises an IP address hosting a corresponding game.
- The method of claim 11 further comprising: sending and receiving instant messages between the user and the selected individuals.
- The method of claim 12 wherein the selected individuals comprise first individuals contained on a list associated with the user.
- The method of claim 13 wherein the selected individuals comprise second individuals included on a list, other than the user, associated with one or more of the first individuals.
- A non-transitory computer-readable storage medium having computer-executable instructions for performing a method for facilitating multiplayer online gaming, the method comprising: searching for and detecting when one or more multiplayer games are running on a user terminal;detecting when selected individuals are playing one or more of the games on the computer network;notifying a user of the games and selected individuals playing the games;cause a second computer program to execute that determines a connection status of the executing games and communicates the connection status to the data processing apparatus;and assist the user in joining one of the selected individuals in a game by executing an instance of the game on the user terminal and connecting, based on the connection status, the user terminal to an address hosting the game.
- The non-transitory computer-readable storage medium of claim 15 , wherein the method further comprises: detecting a connection status of the executing games;and communicating data identifying the user, executing games and connection status to the selected individuals over the computer network.
- The non-transitory computer-readable storage medium of claim 16 , wherein the connection status comprises an IP address hosting a corresponding game.
- The non-transitory computer-readable storage medium of claim 16 , wherein the method further comprises: sending and receiving instant messages between the user and the selected individuals.
- The non-transitory computer-readable storage medium of claim 18 , wherein the selected individuals comprise first individuals included on a list chosen by the user.
- The non-transitory computer-readable storage medium of claim 19 , wherein the selected individuals comprise second individuals included on a list chosen by one or more of the first individuals.
- A system for facilitating multiplayer gaming over a computer network, the system comprising: a computer terminal configured with a client program and a second program;wherein the client program automatically detects when selected individuals are playing one or more multiplayer games on the computer network, notifies a user that the selected individuals are on the network and the games the selected individuals are playing, searches the terminal's operating system processes to detect when one or more of the games are executing on the user's terminal and communicates data identifying the executing games and the user over the computer network for receipt by selected individuals;wherein the second program, which is not in communication with the games executing on the terminal, determines a connection status of the executing games and communicates the connection status to the client program;and wherein the client program is further adapted to communicate the connection status of the executing games over the computer network to the selected individuals.
- A non-transitory computer-readable storage medium having computer-executable instructions for performing a method for facilitating multiplayer online gaming, the method comprising: automatically detecting when selected individuals are playing one or more multiplayer games on the computer network, and notifying a user that the selected individuals are on the network and the games the selected individuals are playing;searching the terminal's operating system to detect when one or more of the games are executing on the user's terminal and communicating data identifying the executing games and the user over the computer network for receipt by selected individuals;executing a second computer program that determines a connection status of the executing games and communicates the connection status to the data processing apparatus;and communicating the connection status of the executing games over the computer network to the selected individuals.
- The non-transitory computer-readable storage medium of claim 22 wherein the method further comprises assisting the user in joining one of the selected individuals in a game by executing an instance of the game on the user terminal and connecting, based on the connection status, the user terminal to an address hosting the game.
- A non-transitory computer-readable storage medium having computer-executable instructions for facilitating multiplayer online gaming, comprising: computer-executable instructions for searching for and detecting when one or more multiplayer games are running on a user terminal;computer-executable instructions for detecting when selected individuals are playing one or more of the games on the computer network;computer-executable instructions for notifying a user of the games and selected individuals playing the games;computer-executable instructions to cause a second computer program to execute that determines a connection status of the executing games and communicates the connection status to the data processing apparatus;and computer-executable instructions to assist the user in joining one of the selected individuals in a game by executing an instance of the game on the user terminal and connecting, based on the connection status, the user terminal to an address hosting the game.
- The non-transitory computer-readable storage medium of claim 24 , comprising: computer-executable instructions for detecting a connection status of the executing games;and computer-executable instructions for communicating data identifying the user, executing games and connection status to the selected individuals over the computer network.
- The non-transitory computer-readable storage medium of claim 25 , wherein the connection status comprises an IP address hosting a corresponding game.
- The non-transitory computer-readable storage medium of claim 25 , further comprising: computer-executable instructions for sending and receiving instant messages between the user and the selected individuals.
- The non-transitory computer-readable storage medium of claim 27 , wherein the selected individuals comprise first individuals included on a list chosen by the user.
- The non-transitory computer-readable storage medium of claim 28 , wherein the selected individuals comprise second individuals included on a list chosen by one or more of the first individuals.
- A non-transitory computer-readable storage medium having computer-executable instructions for performing a method for facilitating multiplayer online gaming, comprising: computer-executable instructions for automatically detecting when selected individuals are playing one or more multiplayer games on the computer network, and notifying a user that the selected individuals are on the network and the games the selected individuals are playing;computer-executable instructions for searching the terminal's operating system to detect when one or more of the games are executing on the user's terminal and communicating data identifying the executing games and the user over the computer network for receipt by selected individuals;computer-executable instructions for executing a second computer program that determines a connection status of the executing games and communicates the connection status to the data processing apparatus;and computer-executable instructions for communicating the connection status of the executing games over the computer network to the selected individuals.
- The non-transitory computer-readable storage medium of claim 30 , further comprising computer-executable instructions for assisting the user in joining one of the selected individuals in a game by executing an instance of the game on the user terminal and connecting, based on the connection status, the user terminal to an address hosting the game.
Disclaimer: Data collected from the USPTO and may be malformed, incomplete, and/or otherwise inaccurate.