U.S. Pat. No. 8,070,601
SIP BASED VOIP MULTIPLAYER NETWORK GAMES
AssigneeInternational Business Machines Corporation
Issue DateAugust 12, 2009
Illustrative Figure
Abstract
This invention is directed to a system and method for the close coupling of Session Initiation Protocol (SIP) based Voice over Internet Protocol (VoIP) with multiplayer network games. Game state dependent voice communications are used as another method of player interaction in the game environment. The system uses SIP enhanced game servers and conference servers with audio mixing capabilities, and the game server controls the creation, maintenance and changing of the voice conferences. Participation in a voice conference is determined by the game state features associated with each player including distance and direction to determine how the voices are mixed in a voice conference.
Description
DETAILED DESCRIPTION Referring initially toFIGS. 1 and 2, the present invention is directed to a system10for providing simultaneous context based audio interaction among a plurality of participants or players12in a network based gaming environment. Audio interactions include the transfer of audible communications or signals among the participants including voice communications. In one embodiment as illustrated inFIG. 1, the system10includes a single centralized game server14in communication with the plurality of game participants12. In another embodiment as illustrated inFIG. 2, the system includes a plurality of distributed game servers14, wherein each game server12is associated with at least one game participant12. Game server14can be any type of server known and available in the art and capable of hosting a dynamic, multi-user, network based gaming environment and maintaining a game state profile for each game participant12. When the system10includes a plurality of game servers14, each game server maintains a game state profile for each game participant12. This information can be stored in one or more databases16in communication with the game server14. Any protocol suitable for implementing a Voice over Internet Protocol (VoIP) conference can be used in the present invention. Preferably, the protocol is a Session Initiation Protocol (SIP), which has emerged as the frontrunner in VoIP applications. Therefore, in one embodiment, game server14includes an SIP stack. SIP is a HyperText Transfer Protocol (HTTP)-like protocol that is useful to establish sessions among groups of users or locations. SIP provides for a variety of functionality among the users, for example permitting a user to subscribe to interesting events that are hosted at another user's location and to receive notifications whenever those events occur. Additional details about SIP can be found in Internet Architecture Board (IAB) Request For Proposal number 3261 (RFC 3261). Game server14is in communication with the participants through one or more local or ...
DETAILED DESCRIPTION
Referring initially toFIGS. 1 and 2, the present invention is directed to a system10for providing simultaneous context based audio interaction among a plurality of participants or players12in a network based gaming environment. Audio interactions include the transfer of audible communications or signals among the participants including voice communications. In one embodiment as illustrated inFIG. 1, the system10includes a single centralized game server14in communication with the plurality of game participants12. In another embodiment as illustrated inFIG. 2, the system includes a plurality of distributed game servers14, wherein each game server12is associated with at least one game participant12. Game server14can be any type of server known and available in the art and capable of hosting a dynamic, multi-user, network based gaming environment and maintaining a game state profile for each game participant12. When the system10includes a plurality of game servers14, each game server maintains a game state profile for each game participant12. This information can be stored in one or more databases16in communication with the game server14.
Any protocol suitable for implementing a Voice over Internet Protocol (VoIP) conference can be used in the present invention. Preferably, the protocol is a Session Initiation Protocol (SIP), which has emerged as the frontrunner in VoIP applications. Therefore, in one embodiment, game server14includes an SIP stack. SIP is a HyperText Transfer Protocol (HTTP)-like protocol that is useful to establish sessions among groups of users or locations. SIP provides for a variety of functionality among the users, for example permitting a user to subscribe to interesting events that are hosted at another user's location and to receive notifications whenever those events occur. Additional details about SIP can be found in Internet Architecture Board (IAB) Request For Proposal number 3261 (RFC 3261).
Game server14is in communication with the participants through one or more local or wide area networks18, for example the internet or World Wide Web. Other suitable networks include secure area networks, private networks, virtual private networks and combinations thereof. In one embodiment, game server14communicates with the game participants12using SIP.
The system also includes one or more audio conference servers20in communication with the game server14. In one embodiment, game server14communicates with the audio conference server20using SIP. The audio conference server20can be any type or server capable of hosting a VoIP based audio conference between two or more of the game participants12. Suitable servers are available and known in the art. The conference server20and game server14are also networked together to provide for communication. In one embodiment, the conference server20and game server14are in communication through the wide area network18. This can be the same network across which the game server14communicates with the game participants12or can be a separate network. Other suitable networks include local area networks, secure area networks, private networks, virtual private networks and combinations thereof.
The system10also includes at least one audio mixer22in communication with the audio server20capable of providing the audio mixing for the audio conferences. In one embodiment, the audio mixer22and audio server20are in communication through the wide area network18. This can be the same network across which the game server14communicates with the game participants12or can be a separate network. Other suitable networks include local area networks, secure area networks, private networks, virtual private networks and combinations thereof. In another embodiment, audio mixer22can be centrally located at the audio server20including being integrated into the audio conference server20.
In order to participate in an audio conference, each participant12has an audio communication device24capable of sending and receiving audio communications such as voice communications. Suitable audio communication devices24include an internet protocol phone26, a software based phone28and conventional telephone equipment30using an SIP gateway interface through a public switched telephone network (PSTN)32. The audio mixer22is in communication with each audio communication device24. In one embodiment, the audio mixer22and communication devices24are in communication through the wide area network18. This can be the same network across which the game server14communicates with the game participants12or can be a separate network. Other suitable networks include local area networks, secure area networks, private networks, virtual private networks and combinations thereof. In an alternative embodiment, a plurality of distributed, for example geographically distributed, audio conference servers20and audio mixers22can be used to improve audio conference performance. In this embodiment, each audio mixer22and audio server20is in communication with at least one of the audio conference participants12. Suitable distributed arrangements of audio conference servers20and mixers22are described in U.S. patent application Ser. No. 10/697,834, titled “System and Apparatus for Geographically Distributed VoIP Service with Enhanced QoS”, which is incorporated herein by reference in its entirety.
Audio conferences among two or more participants are established by the audio conference server20in response to instructions from the game server14. The audio mixer22controls and delivers the audio signal directly to each audio communication device24as instructed by the audio conference server20. The game server14initiates and controls the audio conferences based upon the game state profiles of the game participants. For example, the game server14uses the game state profiles to determine which participants12are to be included in a given audio conference. The participants12do not initiate or control the audio conferences. Therefore, as illustrated inFIG. 3, the game participants12communicate with the game server14and the audio mixer22, but do not directly send instructions or queries to the conference server20.
For a given audio conference, the game server14determines or selects, based upon the current game state profiles for each game participant12, a group of game participants12. Alternatively, the game server14manages a plurality of simultaneous and independent audio conferences, each audio communication containing a group of two or more game participants12. The number of participants in the group can be from one, for example for hearing echoed sound, up to the entire current number of game participants12. The communication can be two-way or one-way, for example when eavesdropping. Each game participant12can simultaneously be a member of two or more groups and participate in two or more independent audio conferences. In general game participants12in a given group have one or more shared game contexts. As used herein, shared context defines a set of parameters or attributes within the game state profiles that allow audio communication between two or more participants.
For example as illustrated inFIG. 4, the shared context can be physical proximity. As illustrated, the game environment includes a physical structure34, for example a house, having interior and exterior regions and a plurality of rooms36. The audio conference groups would include game participants12located in the same region or room. This could be referred to as room-based conferencing or view-based conferencing. For example, players in the same game room can talk to each other (talking trash, strategizing).
As game participants12move between rooms or regions, the game server14monitors the changes to the game state profiles and dynamically switches game participants12between the appropriate groups. The game server14can also eliminate groups or initiate new groups depending upon the game state profiles. As game participants12change rooms, the audio changes seamlessly in conjunction with the visual state of the game. Changes are made without additional input from the game participants12.
Other shared contexts include possession of a communication medium, for example a two-way radio, membership in a group, for example belonging to the same airplane squadron or army, telepathic connections, and shared language. Therefore, the present invention adds game specific context to communications among the participants, enhancing the gaming experience.
In another embodiment of the present invention, the gaming experience is further enhanced by the use of sophisticated audio mixing of the audio signals delivered to each game participant. In general, each game participant12receives an audio signal that simply contains the cumulative input from all the other game participants22in the group for a particular audio conference. In accordance with the present invention, however, the received audio is not simply a straight combination of audio signals, but is game-state dependent. For example, in a soccer game, players hear the voices of all of the other players on the soccer field. That is the group contains all of the game participants located on the soccer field. However, the loudness of the voices from various players depends upon factors like distance from the listener. Thus the forward hears louder voices from other forwards and midfielders and the other team's defenders than from its own defenders. This provides for a greater life-like simulated experience and integrates well with the game.
As illustrated inFIG. 4, a first participant38receives an audio signal that contains the Σ (audio signals or voices from all other participants12in the same room36). In order to add additional context, a feature vector, X, is defined between the first participant and every other participant in the room. This feature vector is determined by the game server14based upon game context features including, but not limited to distance from the first participant, communication medium (air, water, telephone, etc.), transmission frequency, transmission amplitude, tone of the speaker's voice, room acoustics and room layout, for example the existence of partial barriers40. The game server14sends the feature vector for each game participant12to the audio mixer22through the audio conference server20.
A separate feature vector can be provided for each game participant12, or different feature vectors can be calculated, some that apply to all of the participants in the group and some that are specific to a single participant or a single pair of participants.
Therefore, the audio signal received by the first participant is Σ (X2(audio from second participant42)+X3(audio from third participant44)+X4(audio from fourth participant46)+X5(audio from fifth participant48)). Similar calculations are made for the other group members.
In addition, the feature vector can indicate not only scalar qualities of the audio signal such as distance and loudness but can indicate directional information including left or right, up or down and forward or back. Therefore, based upon the audio signal received by the first participant38, that participant would be able to tell that in the game environment that both the second and fourth participants42,46are to the left and upstairs and that the second participant42is farther away than that fourth participant46. The directional information is particularly well suited for stereo, surround sound, virtual reality or holographic applications. The exact values for the feature vectors can be set to any values suitable to provide the desired game environment effects.
In order to provide simultaneous context based audio interaction among the plurality of game participants12in a network based gaming environment, a network based game environment containing a plurality of game participants12is established. Referring toFIG. 5, in order to join the gaming environment, each game participant12contacts50the game server14and gives an address for its audio communication device24to use for audio or voice communication in conjunction with the game. After the game participant12has contacted the game server, the game participant12can play the game. While the game is being played, the game server, either centralized or distributed, maintains a game state profile for each one of the game participants12that have joined.
For a centralized game sever14embodiment, the game server14acts as a link between all the game participants12and maintains the game state profiles for each game participant12. In the distributed game server14embodiment, the maintenance and exchange of game state profile information is done by the each one of the distributed game servers14. In an embodiment having a game server14associated with each participant12, the participants12themselves maintain and exchange the game state information. In this embodiment, whenever any participant12performs any action (moves, shoots, leaves, etc.), that participant12notifies all other participants12about this action, and the other participants update their game state profiles accordingly.
After a game participant12has contacted the game server14and joined the game, the game server14brings the participant into the game and initiates the audio communication device and gaming device identified by the game participant52, for example by using the SIP “INVITE” command to invite the devices into the game. The participant responds by sending its signal description protocol (SDP)53, for example by using the SIP “OK” command.
The game server14maintains game state profiles for each participant in the game, and as participants12join the game or participate in the game, the game server14, in accordance with the present invention, establishes one or more VoIP based audio conferences among the game participants12based upon the game state profiles. Preferably, the game server establishes an SIP based VoIP based audio conference. Establishing the audio conferences includes creating new conferences and modifying or terminating existing conferences.
In one embodiment as illustrated inFIG. 5, the game server14obtains the media or audio path information for the game participant12from the received SDP. This information is forwarded to the audio conference server54which passes it along to the audio mixer56, both using, for example, the SIP “INVITE” command. The audio mixer responds to the conference server58which responds to the game server60, both using, for example, the SIP “OK” command. These responses contain the SDP for the conference server and audio mixer. The game server extracts the necessary media information from these SDP's and forwards this information to the game participant62, for example using the SIP “ACK” command. The game server, also using, for example, the SIP “ACK” command, contacts the audio conference server64which in turn contacts the audio mixer66. This establishes and enables the audio path68between the game participant12and the audio mixer22to be used in the VoIP audio conference.
In an embodiment having a plurality of distributed game servers, game servers associated with each game participant maintain sessions directly with the conference server and, depending upon the game state, initiate the establishment and dynamic switching of audio conferences. In this embodiment, the interactions performed by the game servers are done by a client side utility, and the communications with the conference servers come from each one of the participant associated game servers.
When establishing audio conferences, the game server14determines at least one group, or a plurality of groups, of game participants possessing a shared context that permits the transmission or receipt of audio communications among game participants in that group. The game server14maintains or modifies the participants in each group based upon changes in the game state profiles of those game participants. This includes the addition or removal of participants from the groups and the switching of at least one participant between two distinct groups. The switching of participants between groups is accomplished dynamically and seamlessly by the game server without any disruption in the game or audio conference or without the need for additional input from the participants. In the room-based conferencing example, as soon as a game participant moves to another room, the game server notices the change and switches that participant to an audio conference associated with the new room. In general, the game participants do not do any SIP signaling with the conference server themselves. The game server acts as a back-to-back user agent and maintains their sessions on their behalf, setting up the media path to point to each audio communication device.
Referring toFIG. 6, when a game participant12moves or acts within the game environment, this information is communicated to the game server70. If the actions or motion of the game participant12dictate the need to transfer that participant from one conference group to another, the game server14updates the media information at both the audio mixer22and the game participant12. The game server14initiates the transfer process by removing the game participant from one audio conference, for example by sending an SIP “BYE” command to the conference sever72which sends an SIP “BYE” command to the audio mixer74. The change is acknowledge back to the game server14, for example by sending an SIP “OK” command to the conference server76which sends an SIP “OK” command to the game server78.
The game server14then, using for example an SIP “RE-INVITE” command, obtains the media or audio path information for the game participant80. This information is forwarded to the audio conference server54which passes it along to the audio mixer56, both using, for example, the SIP “INVITE” command. The audio mixer responds to the conference server58which responds to the game server60, both using, for example, the SIP “OK” command. These responses contain the SDP for the conference server and audio mixer. The game server extracts the necessary media information from these SDP's and forwards this information to the game participant62, for example using the SIP “ACK” command. The game server, also using, for example, the SIP “ACK” command, contacts the audio conference server64which in turn contacts the audio mixer66. This establishes and enables the audio path68between the game participant12and the audio mixer22to be used in the VoIP audio conference.
In one embodiment, establishing an audio conference includes delivering an audio signal to each audio conference participant that comprises the sum of all received audio signals from all other audio conference participants. Preferably, the game server determines the audio feature vector for each pair of audio conference participants based upon the game state profiles associated with the participants and modifies audio signals transmitted between the pair of audio conference participants in accordance with the audio feature vector. In one embodiment, the game server modifies the audio feature vector in response to changes in the game state profiles of the audio conference participants.
In one embodiment, the feature vectors are transmitted by the game server to the conference server and audio mixer. This can be achieved by the conference server subscribing to such information at the game server, using for example an SIP “SUBSCRIBE” command, and the gaming server sending messages to the conference server containing such feature vectors for the players, using for example an SIP “NOTIFY” command.
The present invention is also directed to a computer readable medium containing a computer executable code that when read by a computer causes the computer to perform a method for providing simultaneous context based audio interaction among a plurality of participants in a network based gaming environment. In one embodiment, this code is maintained, read and executed by the game server.
While it is apparent that the illustrative embodiments of the invention disclosed herein fulfill the objectives of the present invention, it is appreciated that numerous modifications and other embodiments may be devised by those skilled in the art. Additionally, feature(s) and/or element(s) from any embodiment may be used singly or in combination with other embodiment(s). Therefore, it will be understood that the appended claims are intended to cover all such modifications and embodiments, which would come within the spirit and scope of the present invention.
Claims
- A system for providing simultaneous context based audio interaction among a plurality of participants in a network based gaming environment, the system comprising: a single centralized game server separate from and in communication with a plurality of audio communication devices associated with a plurality of game participants, the game server configured to host the network based gaming environment, to generate game state profiles for each game participant and to maintain the game state profile for each game participant comprising game specific context for that game participant;an audio conference server separate from and in communication with the game server, the audio conference server configured to host voice over internet protocol based audio conferences between two or more game participants;a plurality of geographically distributed audio mixers, each audio mixer in communication with the audio conference server and one of the plurality of audio communication devices and separate from the audio communication devices, audio conference server and game server;and a plurality of simultaneous and independent voice over internet protocol based audio conferences within the network based game environment, all of the audio conferences contained with a single instance of a dynamic network based game in the network based game environment and each audio conference comprising the audio communication devices associated with a distinct group of participants, each group of participants comprising a plurality of participants having a shared game context within the game state profiles comprising parameters or attributes that permit audio communication among the game participants and each audio conference comprising audio paths between the plurality of geographically distributed audio mixers and the audio communication devices associated with each game participant in that group;wherein the single centralized game server is configured to initiate and to control the plurality of simultaneous and independent voice over internet protocol based audio conferences within the single instance of the network based game based on the generated and maintained game state profiles and to switch the audio communication devices among the plurality of audio conferences seamlessly and dynamically during the single network based game instance and non-disruptively to the single network based game instance and any of the audio conferences and wherein the audio conference server is configured to establish each audio conference solely in response to instructions from the game server.
- The system of claim 1 , wherein the participants in each audio conference are determined by the game server solely based upon the game state profiles of the game participants.
- The system of claim 1 , wherein the participants in each audio conference comprise a shared context.
- The system of claim 1 , wherein the game server comprises a session initiation protocol stack and each audio conference is a session initiation protocol based voice over internet protocol communication.
- The system of claim 4 , wherein the game server is further configured to use session initiation protocol signaling messages to switch participants among the audio conferences.
- The system of claim 5 , wherein the game server is configured to obtain a signal description protocol from a game participant identification associated with each game participant using session initiation protocol signaling messages and to obtain a signal description protocol for the conference server and each audio mixer using session initiation protocol signaling messages.
- The system of claim 6 , wherein the game server is further configured to obtain audio path information for each game participant identification from its signal description protocol and to communicate the obtained audio path information to the conference server and each audio mixer, to obtain audio path information for the conference server and each audio mixer from its signal description protocol and to communicate the obtained audio path information to the game participant identifications and to use the communicated audio path information to establish the audio paths between the plurality of geographically distributed audio mixers and the audio communication devices associated with each game participant identification in each group.
- The system of claim 1 , wherein each audio communication device is in communication with one of the plurality of audio mixers to provide the audio mixing for its audio conference.
- The system of claim 8 , wherein the audio communication device comprises an internet protocol phone, a software based phone or conventional telephone equipment.
- The system of claim 1 , wherein each game participant can simultaneously participate in two or more independent audio conferences.
- The system of claim 10 , wherein the independent audio conferences are based on a single shared context within the game state profile of each game participant that comprises attributes separate from physical proximity.
- The system of claim 1 , further comprising a plurality of distributed audio servers in communication with the game server, each audio server capable of hosting an audio conference between two or more game participants.
Disclaimer: Data collected from the USPTO and may be malformed, incomplete, and/or otherwise inaccurate.