WO2005010680A2 - Multi-session user launching and invitation system and method - Google Patents

Multi-session user launching and invitation system and method Download PDF

Info

Publication number
WO2005010680A2
WO2005010680A2 PCT/US2004/022709 US2004022709W WO2005010680A2 WO 2005010680 A2 WO2005010680 A2 WO 2005010680A2 US 2004022709 W US2004022709 W US 2004022709W WO 2005010680 A2 WO2005010680 A2 WO 2005010680A2
Authority
WO
WIPO (PCT)
Prior art keywords
game
invitation
inviter
session
user
Prior art date
Application number
PCT/US2004/022709
Other languages
French (fr)
Other versions
WO2005010680A3 (en
Inventor
Matthew T. Shea
Michael J. Cooper
Original Assignee
Wildtangent, Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Wildtangent, Inc. filed Critical Wildtangent, Inc.
Priority to EP04778287A priority Critical patent/EP1652044A4/en
Priority to US10/564,812 priority patent/US20060178216A1/en
Publication of WO2005010680A2 publication Critical patent/WO2005010680A2/en
Publication of WO2005010680A3 publication Critical patent/WO2005010680A3/en

Links

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/70Game security or game management aspects
    • A63F13/79Game security or game management aspects involving player-related data, e.g. identities, accounts, preferences or play histories
    • A63F13/795Game security or game management aspects involving player-related data, e.g. identities, accounts, preferences or play histories for finding other players; for building a team; for providing a buddy list
    • A63F13/12
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • A63F13/352Details of game servers involving special game server arrangements, e.g. regional servers connected to a national server or a plurality of servers managing partitions of the game world
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/04Real-time or near real-time messaging, e.g. instant messaging [IM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • H04L65/403Arrangements for multi-party communication, e.g. for conferences
    • H04L65/4038Arrangements for multi-party communication, e.g. for conferences with floor control
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/51Server architecture
    • A63F2300/513Server architecture server hierarchy, e.g. local, regional, national or dedicated for different tasks, e.g. authenticating, billing
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/53Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing
    • A63F2300/537Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing for exchanging game data using a messaging service, e.g. e-mail, SMS, MMS
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/55Details of game data or player data management
    • A63F2300/5546Details of game data or player data management using player registration data, e.g. identification, account, preferences, game history
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/55Details of game data or player data management
    • A63F2300/5546Details of game data or player data management using player registration data, e.g. identification, account, preferences, game history
    • A63F2300/556Player lists, e.g. online players, buddy list, black list
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/55Details of game data or player data management
    • A63F2300/5546Details of game data or player data management using player registration data, e.g. identification, account, preferences, game history
    • A63F2300/5566Details of game data or player data management using player registration data, e.g. identification, account, preferences, game history by matching opponents or finding partners to build a team, e.g. by skill level, geographical area, background, play style

Definitions

  • the present invention relates to the field of electronic data/information processing. More specifically, the present invention relates to methods and apparatuses for initiating multi-user sessions, such as multi-player computer gaming.
  • Figure 1 illustrates a system view of an example operating environment suitable for use to practice the present invention, in accordance with one embodiment.
  • Figure 2 illustrates an architectural view of a device suitable for use as an inviter device, in accordance with one embodiment.
  • Figure 3 illustrates an overview of the protocol and methods for the various devices to interact with the inviter device, in accordance with one embodiment.
  • Figure 4 illustrates the operational flow of relevant aspects of a process at the inviter device for having a gaming session with a recipient device.
  • Figure 5 illustrates an overview of an alternate protocol and methods for the various devices to interact with the inviter device, in accordance with one embodiment.
  • Figure 6 illustrates the operational flow of relevant aspects of a process at the relay server for forwarding between inviter and recipient devices during a gaming session.
  • Figure 7 illustrates an overview of an alternate protocol and methods for the various devices to interact with the inviter device, in accordance with one embodiment.
  • Figure 8 illustrates the operational flow of relevant aspects of a process at the central game server for a gaming session with an inviter and recipient device during a gaming session.
  • Embodiments of the present invention include a user-friendly technique for having an invited multi-user sessions, such as multi-player gaming session between computing devices.
  • a user-friendly technique for having an invited multi-user sessions such as multi-player gaming session between computing devices.
  • multi-player gaming session between computing devices.
  • the description will be presented primarily in the context of multi-player gaming. However, embodiments of the present invention are not so limited, and may be practiced for other multi-user session applications.
  • the operating environment may also be considered and/or referred to as a system or a cluster of systems.
  • example operating environment 100 includes inviter device 200, LM provider server 110, relay server 120, central game server 130 and recipient device 150 operationally coupled to each other.
  • operating environment 100 may exclude relay server 120.
  • Inviter device 200 may comprise a number of components.
  • Figure 2 illustrates one exemplary embodiment of a inviter device 200, which is described below.
  • Figures 3 and 5 illustrate exemplary communication protocol/methods, one each, for operating environment 100 without and with the employment of relay server 120 respectively.
  • the inviter device 200, LM provider server 110, relay server 120, central game server 130 and recipient device 150 are coupled to each other wirelessly, i.e., they are members of a wireless network. In other embodiments, the inviter device 200, LM provider server 110, relay server 120, central game server 130 and recipient device 150 are coupled to each other as members of a wire-based or mixed wireless and wire-based network. Regardless of the manner the devices are coupled to each other, for various embodiments, inviter device 200, LM provider server 110, relay server 120 and recipient device 150 are equipped to operate in accordance with the at least one LM protocol, if needed.
  • recipient device 150 may be an inviter device 200 and operate in the role of an inviter to initiate one or more gaming sessions of one or more games.
  • inviter device and recipient device as used herein, for the purpose of this specification, including the claims, shall be interpreted with the meaning of of an appropriately equipped device, operating a corresponding one of the inviter or recipient role.
  • FIG. 2 illustrates an exemplary inviter device 200 suitable for use in an embodiment of the present invention.
  • the inviter device 200 may include many more components (or less) of those shown in Figure 2. However, it isnot necessary that all of these generally conventional computing components be shown in order to disclose an enabling embodiment for practicing the present invention.
  • the inviter device 200 includes a communications interface 230, which, in some embodiments of the present invention, may be a Network Interface Controller ("NIC").
  • the inter-device communications of the communications interface 230 may be designed to support a local area network, wide area network, personal area network, telephone network, power line network, serial bus or wireless connection.
  • Such a communications interface 230 would also include the necessary circuitry, driver(s) and/or transceiver for such a connection and would be constructed for use with the appropriate transmission protocols for such connections.
  • the inviter device 200 also includes a processing unit 210, a display 240 and a memory 250, all interconnected along with the communications interface 230 via a bus 220.
  • the memory 250 generally comprises a random access memory (“RAM”), a read only memory (“ROM”) and a permanent mass storage device, such as a disk drive, flash RAM or the like.
  • RAM random access memory
  • ROM read only memory
  • the memory 250 stores an operating system 255, an instant messenger 260, a game 265 and game catalog manager (“GCM”) 275.
  • bus 220 may be an hierarchy of bridged buses.
  • operating system 255, instant messenger 260, game 265 and GCM 275 are illustrated as separate software components, in alternate embodiments, they may be comprised of multiple software components, implemented in hardware, or may be subparts of one or more integrated software components.
  • the GCM is adapted to present a list of games for a user of the inviter device 200 to choose from (e.g. in a hierarchical or otherwise arranged fashion).
  • GCM may be embedded into the instant messenger 260, via a plug-in interface, or may be a separate component external to the instant messenger 260.
  • One embodiment utilizes a GCM that is an active program that runs on the inviter device 200, while in an alternate embodiment the GCM may comprise a static collection of links provided by a remote computer or the like.
  • the software components may be loaded from a computer readable medium into memory 250 of the inviter device 200 using a mechanism (not shown) associated with the computer readable medium such as a floppy, tape, DVD (Digital Versatile Disk) /CD (Compact Disk)-ROM drive, flash RAM or communications interface 230.
  • the loading may be performed during the manufacturing of device 200, or in the field.
  • the software components may be downloaded from one or more networked servers.
  • the communications interface 230 may facilitate the connection of remote devices to the inviter device 200.
  • devices for reading and/or writing in machine readable media digital cameras, printers, digital music players/recorders (such as MP3 players, etc.), Smart appliances, televisions, and the like.
  • Various input mechanisms may also be coupled to the inviter device 200, such as, for example, keyboards and/or mice (not shown).
  • the inviter device 200 initiates a gaming session at the inviter device 200 but " invite" (e.g., sends an LM message to) a recipient device 150 to participate in the gaming session.
  • Figure 3 illustrates one exemplary series of application level communications between an inviter device 200 and a recipient device 150 in accordance with various embodiments.
  • Figure 3 shows the flow of a communication protocol, including the parameters, for operating environment 100 without the employment of relay server 120 (which may also be referred to as a peer-to-peer connection topology).
  • a session ID is sent from the inviter device 200 to the recipient device 150 via an LM message.
  • the game client is launched on both machines with the session ID.
  • the gaming session begins with a game selection 305 by a user.
  • the user of inviter device 200 composes 310 an invitation link to the gaming session for the recipient device 150.
  • the invitation link is encapsulated within an LM message and sent 315 via the LM provider server 110 to the recipient device 150.
  • the inviter device may launch 320 the game 265 for which an invitation was sent to the recipient device 150.
  • game 265 may be executing on mviter device 200, or recipient device 150 or both.
  • the link can be a uniform resource locator ("URL") pointing to the location of the game with the parameters necessary to launch the game (e.g., session ID as described below).
  • a similar link may be used to launch the game on the inviter device 200, potentially with additional parameters (e.g. that this game client instance will be the host). In both situations, this means that the game 265 does not necessarily need to be installed on either the recipient device 150 or inviter device 200 before the invitation is composed and sent.
  • the fact that the link is a URL means that the invitation does not need to be distinctly supported by the LM protocol used by the instant messenger 260 and LM provider server 110.
  • the game invitation link is accepted 325 and in due course, the game is launched 330 on one or both of devices 150 and 200.
  • the recipient device 150 and the inviter device 200 exchange game event data 335 to commence and play the gaming session.
  • the communications described above and shown in Figure 3 are merely one exemplary set of communications between the inviter device 200 and the recipient device 150.
  • Other communications both more and fewer, may be employed in other embodiments.
  • the communications are performed using an LM protocol.
  • different transmission protocols for gaming sessions may be employed.
  • the exact type of gaming protocol employed is not significant to embodiment of the invention.
  • the invitation link contains the information necessary to connect players before any game clients are launched. This may be accomplished by two separate but similar ideas: the earlier described session LD and the reservation LD. The choice between the two may be determined by the network topology a given game uses.
  • the session LD may be used for games where players connect to each other in a peer-to-peer fashion, as described earlier.
  • the inviter device 200 could be the host and the recipient device 150 would connect directly to the host.
  • the reservation LD may be used if a Relay Server 120 (see Figure 5, and discussion below) and/or a Central Game Server 130 were present (see Figures 7 and 8, and discussion below).
  • the generation of the two LD types may follow industry standard practices, as long as they were unique for the participants of the LM conversation.
  • One method for generating LDs is to take the LM screen name (assumed to be unique) of the inviter and append a random number (e.g. "Joe9375873934").
  • Another method is to generate a GULD (Globally Unique Identifier), using well-known algorithms. The location of LD generation may be determined by whether the GCM is an active program that runs on the inviter device or not. If so, the appropriate LD would be generated on demand when the user selects a game to play.
  • FIG. 4 illustrates a process within the inviter device 200 for a gaming session with at least one recipient device 150.
  • the gaming session process 400 begins at block 405 where a game is selected from the GCM 275.
  • recipient information is obtained (e.g., from user input, or from a storage location [not show]).
  • a user input may be a selection of a member of a "buddy" list.
  • the recipient information directly or indirectly includes information for sending an LM message to a recipient, such as an LM screen name or an e-mail address.
  • an invitation is composed for the recipient that includes an indication and/or link to the selected game (from block 405) and the recipient information for delivery to the recipient.
  • the invitation is sent in block 420 to an L provider server 120 for delivery to the recipient (or recipients if more than one recipient is to be invited).
  • the game 265 is launched on the inviter device 200.
  • the game play may be suspended until the recipient joins the gaming session.
  • decision block 430 processing loops in a waiting period until it is determined that game data has been received from at least sufficient number of the recipient devices 150 in response to the sent invitation(s) for the game to commence.
  • decision block 430 determines that "sufficient" game data has been received from the required number of recipients (which may be zero or more)
  • processing proceeds to block 435 where inviter device 200 responds and game play commences.
  • Decision black 440 determines if game play (and the game) is still active and if so, continues the game play process by cycling back to decision black 430. Once decision black 440 determines that game play is no longer active, then the gaming session may end at block 445.
  • the inviter device's address (e.g., Internet Protocol address) might not be available in a reliable fashion for peer-to-peer games (e.g. the user is behind a network address translation ["NAT"] device).
  • session IDs are then used in conjunction with a Relay Server 120 in order to establish reliable connections between participants.
  • the Relay Server may provide two services in order to accomplish this - IP Exchange and Data Relay.
  • the devices also referred to as Clients in this context
  • the devices may connect to the Relay Server using standard Internet protocols (e.g. TCP/IP).
  • TCP/IP standard Internet protocols
  • the LP Exchange may be used for game clients to translate a given session LD into a collection of L? Addresses for all participants.
  • the session LD is unique to a given LM Conversation, and reasonably random in generation, only the appropriate clients will have access to these IP Addresses.
  • the clients After the LP Addresses have been exchanged, the clients will attempt to make a direct connection to a designated host. If the connection was not successful, they may rely on the Relay Server to proxy data between the clients. In one embodiment, the Relay Server does not contain any game logic and only ferries the data, unaware of its meaning. If the GCM 275 is an active application, and can figure out the IP Address of the inviter, that information can be appended to the invitation link. In that case, the relay server 120 would only be used in the case that the clients could not directly connect to the host.
  • FIG. 5 illustrates a similar gaming session to the one shown in Figure 3, however using a Relay Server 120.
  • the gaming session be'gins with a game selection 505.
  • the inviter device 200 composes 510 an invitation link to the gaming session for the recipient device 150.
  • the invitation link is encapsulated within an LM message and sent 515 via the LM provider server 110 to the recipient device 150.
  • the inviter device may launch 520 the game 265 for which an invitation was sent to the recipient device 150.
  • the game may execute on the inviter device, the recipient device or both.
  • the game may also execute on a game server, such as Central Game Server 130.
  • the game invitation link is accepted 525 and another copy the game may also be optionally launched 530 on the recipient device 150.
  • both the recipient device 150 and the inviter device 200 send 535 their user names and session LDs to the relay server 120.
  • the relay server 120 associates 540 all the user names with the same session LDs as part of the same game session.
  • the relay server 120 returns access data 545 (e.g., IP address and connection IDs) along with a list of current user names to each of the inviter device 200 and recipient device(s) 150.
  • the recipient device(s) 150 and inviter device 200 respond with game event data 550 back to the relay server 120 to commence and play the gaming session.
  • the communications described above and shown in Figure 5 are merely one exemplary set of commumcations between the inviter device 200, the relay server 120 and the recipient device 150. Other communications, both more and fewer, may be employed in other embodiments.
  • FIG. 6 illustrates a process within the relay server for a gaming session with at least one inviter device 200 and at least one recipient device 150.
  • the gaming session process 600 begins at block 605 where user names with a common session LD are obtained.
  • the user names with a common session LD are associated with each other as belonging to a common gaming session.
  • the relay server responds to the users of the gaming session with access data (e.g., IP address and connection LDs) along with a list of current user names for the gaming session.
  • access data e.g., IP address and connection LDs
  • game data is obtained from users of the active game session.
  • the game data is then relayed (e.g., forwarded or otherwise communicated) to the other users of the game session in block 630.
  • Processing loops back to decision block 620 until a determination has been made in decision block 620 that the game session is no longer active. At which point, the game session ends in block 635.
  • Central Game Server(s) 130 may be used in the case of games that have true client/server topologies, and game logic is run on the game server to facilitate play.
  • Games of this variety may use reservation LDs for invitations that are sent via an LM Message.
  • the reservation ID provides clients a facility to designate a location to meet "within" the Central Game Server.
  • the clients provide the reservation LD to the central game server when a connection is established. If that reservation LD is currently in use, the Central Game Server 130 will provide all the necessary routing information for the client to navigate to it. If the reservation ID is not currently in use, the central game server will create a new instance of that game and then provide the routing information. This allows the clients to connect in any order and still arrive at the same "location.”
  • the reservation ID can be queried from the central game server during game play, such that an invitation can be composed while the game is already in progress. Again, the reservation LD is generated in a manner that ensures only participants in the LM conversation should have access to the game instance.
  • a reservation LD is sent from the inviter device 200 to the recipient device 150 via an LM message.
  • the game client 265 is launched on both machines with the reservation LD.
  • the reservation LD is sent to the central game server 130 at connect time.
  • the central game server 130 will provide routing information to let the client navigate to the correct game instance. It will also create the game instance as needed. After both clients navigate directly, the central game server 130 will perform game logic and be sending/receiving game play data.
  • the specific communications between the devices are shown in Figure 7 and described below. [0047] In Figure 7, where one embodiment of the communication protocol is illustrated, the gaming session begins with a game selection 705.
  • the inviter device 200 composes 710 an invitation link with a reservation ID to the gaming session for the recipient device 150.
  • the invitation link is encapsulated within an LM message and sent 715 via the LM provider server 110 to the recipient device 150.
  • the inviter device optionally launches 720 a "thin" client of the game 265 for which an invitation was sent to the recipient device 150.
  • the game invitation link is accepted 725 and another "thin client" of the game is launched 730 on recipient device 150.
  • both the recipient device 150 and the inviter device 200 send 735 their user names and reservation LDs to the central game server 130.
  • the central game server 130 associates 740 all the user names with the same reservation LDs as part of the same game session.
  • the central game server 130 also creates 745 (or accesses and existing) game instance corresponding to the reservation LD.
  • the central game server 130 returns 750 access data (e.g., IP address and connection LDs) along with a list of current user names to each of the inviter device 200 and recipient device(s) 150.
  • the recipient device(s) 150 and inviter device 200 respond with game event data 755 back to the central game server 130 to commence and play the gaming session.
  • the communications described above and shown in Figure 7 are merely one exemplary set of communications between the inviter device 200, the central game server 130 and the recipient device 150. Other communications, both more and fewer, may be employed in other embodiments.
  • the inviter device 200 and all recipient devices 150 comiect to the central game server 130 as clients, they would communicate a reservation LD from the invitation link, and the central game server 130 would direct them to a specific instance of the game hosted at the central game server 130.
  • These reservation LDs can be generated before the games 265 have been launched, or even installed. While an existing game 265 is in progress, the appropriate reservation LD would be queried from the game instance and included in an invitation link.
  • FIG. 8 illustrates a process within the central game server 130 for such a gaming session.
  • the gaming session process 800 begins at block 805 where user names with a common reservation LD are obtained, h block 810, the user names with a common reservation ED are associated with each other as belonging to a common gaming session.
  • decision block 815 a determination is made whether a game instance corresponding to the received reservation ID is already active. If no game instance is active, then in block 820 a new game instance corresponding to the reservation ED is created and processing continues to block 825.
  • processing proceeds directly to block 825.
  • the central game server 130 responds to the users of the gaming session with access data (e.g., EP address and connection LDs) along with a list of current user names for the gaming session.
  • access data e.g., EP address and connection LDs
  • decision block 830 a determination is made that the game session is still active (e.g., has not timed out or obtained an explicit indication of a session end).
  • game data is obtained from users of the active game session.
  • the central game server 130 processes the game data for the game instance in block 840.
  • the status of the game instance is updated with the processed game data.
  • updated game data is then sent to the users of the game session in block 850. Processing loops back to decision block 830 until a determination has been made in decision block 830 that the game session is no longer active. At which point, the game session may end in block 855.

Abstract

A system, apparatus and method for enabling users to launch and invite users to join multi-user sessions, such as multi player game sessions, via Instant Messages are described herein.

Description

MULTI-SESSION USER LAUNCHING AND INVITATION SYSTEM AND METHOD
CROSS-REFERENCES TO RELATED APPLICATIONS [0001] This application claims the benefit of U.S. Provisional Application
No. 60/487,773 filed on July 15, 2003, and entitled WILDTANGENT LM GAME
LAUNCHING AND INVITATION. FIELD OF THE INVENTION [0002] The present invention relates to the field of electronic data/information processing. More specifically, the present invention relates to methods and apparatuses for initiating multi-user sessions, such as multi-player computer gaming.
BACKGROUND [0003] Advances in microprocessor related technology have lead to widespread development and the adoption of computing devices. Computing powers that used to be available only in expensive mainframe computers requiring special operating environments are now available in many personal-computing devices. The form factors vary from desktop, laptop, palm sized and so forth. A number of these computing devices are packaged as "special purpose" devices, such as set top boxes, entertainment personal digital assistants ("PDA"), pagers, text messengers, smart appliances and wireless mobile phones.
[0004] Concurrently, advances in networking, telecommunications and related technologies, in particular, in the area of wireless networking/communications, have lead to increased connectivity between computing devices, over local, private, wide area, and/or public networks. Of particular notoriety is the Internet.
[0005] Together, these and other related factors contributed to the availability of rich content and functionality available from a variety of devices. Recently, this availability of connected devices has made significant advances in the electronic gaming environment. [0006] To facilitate communications between a wide range of devices, instant messaging ("LM") protocols and services have been implemented by a variety of service providers, such as America On-Line's ALM protocol and Microsoft's MSN Instant Messenger protocol.
[0007] However, these LM protocols and services do not indicate how LM protocols or services could initiate multi-player gaming sessions.
BRIEF DECRIPTION OF THE DRAWINGS [0008] The present invention will be described by way of exemplary embodimentsbut not limitations, illustrated in the accompanying drawings in which like references to note similar elements, and in which:
[0009] Figure 1 illustrates a system view of an example operating environment suitable for use to practice the present invention, in accordance with one embodiment. [0010] Figure 2 illustrates an architectural view of a device suitable for use as an inviter device, in accordance with one embodiment.
[0011] Figure 3 illustrates an overview of the protocol and methods for the various devices to interact with the inviter device, in accordance with one embodiment. [0012] Figure 4 illustrates the operational flow of relevant aspects of a process at the inviter device for having a gaming session with a recipient device. [0013] Figure 5 illustrates an overview of an alternate protocol and methods for the various devices to interact with the inviter device, in accordance with one embodiment. [0014] Figure 6 illustrates the operational flow of relevant aspects of a process at the relay server for forwarding between inviter and recipient devices during a gaming session.
[0015] Figure 7 illustrates an overview of an alternate protocol and methods for the various devices to interact with the inviter device, in accordance with one embodiment. [0016] Figure 8 illustrates the operational flow of relevant aspects of a process at the central game server for a gaming session with an inviter and recipient device during a gaming session. DETAILED DESCRIPTION
[0017] In the following description, reference is made to the accompanying drawings which form a part hereof wherein like numerals designate like parts throughout, and in which are shown, by way of illustration, specific embodiments in which the invention may be practiced. It is to be understood that other embodiments may be utilized and structural or logical changes may be made without departing from the scope of the present invention. Therefore, the following detailed description is not to be taken in a limiting sense, and the scope of the present invention is defined by the appended claims and their equivalents.
[0018] Embodiments of the present invention include a user-friendly technique for having an invited multi-user sessions, such as multi-player gaming session between computing devices. For ease of understanding, the description will be presented primarily in the context of multi-player gaming. However, embodiments of the present invention are not so limited, and may be practiced for other multi-user session applications.
[0019] In the following description, various aspects of selected embodiments of the present invention will be described. However, it will be apparent to those of ordinary skill in the art and others that alternate embodiments may be practiced with only some or all of the aspects of the present invention. For purposes of explanation, specific numbers, materials and configurations are set forth in order to provide a thorough understanding of the present invention. However, it will be apparent to those of ordinary skill in the art and others that alternate embodiments may be practiced without the specific details. In other instances, well-known features are omitted or simplified in order not to obscure the illustrated embodiments.
[0020] The various operations will be described as multiple discreet steps in turn, in a manner that is most helpful to understanding of the present invention. However, the order of description should not be construed to imply that these operations are necessarily order dependent. In particular, these operations may not be performed in the order of presentation. [0021] The phrase "in one embodiment" is used repeatedly. The phrase generally does not refer to the same embodiment, however, it may. The terms "comprising," "having" and "including" are synonymous, unless the context dictates otherwise. [0022] Referring now to Figure 1, wherein an overview of an example operating environment incorporated with the teachings of the present invention, in accordance with one embodiment, is shown. The operating environment may also be considered and/or referred to as a system or a cluster of systems. As illustrated, example operating environment 100 includes inviter device 200, LM provider server 110, relay server 120, central game server 130 and recipient device 150 operationally coupled to each other. In alternate embodiments, operating environment 100 may exclude relay server 120. Inviter device 200 may comprise a number of components. Figure 2 illustrates one exemplary embodiment of a inviter device 200, which is described below. Figures 3 and 5 illustrate exemplary communication protocol/methods, one each, for operating environment 100 without and with the employment of relay server 120 respectively. [0023] In various embodiments, the inviter device 200, LM provider server 110, relay server 120, central game server 130 and recipient device 150 are coupled to each other wirelessly, i.e., they are members of a wireless network. In other embodiments, the inviter device 200, LM provider server 110, relay server 120, central game server 130 and recipient device 150 are coupled to each other as members of a wire-based or mixed wireless and wire-based network. Regardless of the manner the devices are coupled to each other, for various embodiments, inviter device 200, LM provider server 110, relay server 120 and recipient device 150 are equipped to operate in accordance with the at least one LM protocol, if needed. In various embodiments, recipient device 150 may be an inviter device 200 and operate in the role of an inviter to initiate one or more gaming sessions of one or more games. Thus, the terms inviter device and recipient device, as used herein, for the purpose of this specification, including the claims, shall be interpreted with the meaning of of an appropriately equipped device, operating a corresponding one of the inviter or recipient role.
[0024] Figure 2 illustrates an exemplary inviter device 200 suitable for use in an embodiment of the present invention. In alternate embodiments, the inviter device 200 may include many more components (or less) of those shown in Figure 2. However, it isnot necessary that all of these generally conventional computing components be shown in order to disclose an enabling embodiment for practicing the present invention. As shown in Figure 2, the inviter device 200 includes a communications interface 230, which, in some embodiments of the present invention, may be a Network Interface Controller ("NIC"). The inter-device communications of the communications interface 230 may be designed to support a local area network, wide area network, personal area network, telephone network, power line network, serial bus or wireless connection. Such a communications interface 230 would also include the necessary circuitry, driver(s) and/or transceiver for such a connection and would be constructed for use with the appropriate transmission protocols for such connections.
[0025] The inviter device 200 also includes a processing unit 210, a display 240 and a memory 250, all interconnected along with the communications interface 230 via a bus 220. The memory 250 generally comprises a random access memory ("RAM"), a read only memory ("ROM") and a permanent mass storage device, such as a disk drive, flash RAM or the like. The memory 250 stores an operating system 255, an instant messenger 260, a game 265 and game catalog manager ("GCM") 275. In alternate embodiments, bus 220 may be an hierarchy of bridged buses. While for ease of understanding, operating system 255, instant messenger 260, game 265 and GCM 275 are illustrated as separate software components, in alternate embodiments, they may be comprised of multiple software components, implemented in hardware, or may be subparts of one or more integrated software components.
[0026] The GCM is adapted to present a list of games for a user of the inviter device 200 to choose from (e.g. in a hierarchical or otherwise arranged fashion). In various embodiments, GCM may be embedded into the instant messenger 260, via a plug-in interface, or may be a separate component external to the instant messenger 260. One embodiment utilizes a GCM that is an active program that runs on the inviter device 200, while in an alternate embodiment the GCM may comprise a static collection of links provided by a remote computer or the like. [0027] It will be appreciated that the software components may be loaded from a computer readable medium into memory 250 of the inviter device 200 using a mechanism (not shown) associated with the computer readable medium such as a floppy, tape, DVD (Digital Versatile Disk) /CD (Compact Disk)-ROM drive, flash RAM or communications interface 230. In various embodiments, the loading may be performed during the manufacturing of device 200, or in the field. In other embodiments, the software components may be downloaded from one or more networked servers. [0028] In various embodiments, the communications interface 230 may facilitate the connection of remote devices to the inviter device 200. For example, devices for reading and/or writing in machine readable media, digital cameras, printers, digital music players/recorders (such as MP3 players, etc.), Smart appliances, televisions, and the like. Various input mechanisms may also be coupled to the inviter device 200, such as, for example, keyboards and/or mice (not shown).
[0029] In embodiments of the present invention the inviter device 200 initiates a gaming session at the inviter device 200 but "invites" (e.g., sends an LM message to) a recipient device 150 to participate in the gaming session. Figure 3 illustrates one exemplary series of application level communications between an inviter device 200 and a recipient device 150 in accordance with various embodiments. [0030] Figure 3 shows the flow of a communication protocol, including the parameters, for operating environment 100 without the employment of relay server 120 (which may also be referred to as a peer-to-peer connection topology). In this embodiment, a session ID is sent from the inviter device 200 to the recipient device 150 via an LM message. The game client is launched on both machines with the session ID. At that point, the clients make a direct connection to each other. The specific communications between the device are described in more below and shown in Figure 3. [0031] In Figure 3, the gaming session begins with a game selection 305 by a user. Next, the user of inviter device 200 composes 310 an invitation link to the gaming session for the recipient device 150. The invitation link is encapsulated within an LM message and sent 315 via the LM provider server 110 to the recipient device 150. Concurrently, or shortly thereafter, the inviter device may launch 320 the game 265 for which an invitation was sent to the recipient device 150. In various embodiments, game 265 may be executing on mviter device 200, or recipient device 150 or both.
[0032] The link can be a uniform resource locator ("URL") pointing to the location of the game with the parameters necessary to launch the game (e.g., session ID as described below). A similar link may be used to launch the game on the inviter device 200, potentially with additional parameters (e.g. that this game client instance will be the host). In both situations, this means that the game 265 does not necessarily need to be installed on either the recipient device 150 or inviter device 200 before the invitation is composed and sent. Also, the fact that the link is a URL means that the invitation does not need to be distinctly supported by the LM protocol used by the instant messenger 260 and LM provider server 110.
[0033] Meanwhile, at the recipient device 150, the game invitation link is accepted 325 and in due course, the game is launched 330 on one or both of devices 150 and 200. With one or both the inviter device 200 and the recipient device 150 executing the game, the recipient device 150 and the inviter device 200 exchange game event data 335 to commence and play the gaming session.
[0034] In various embodiments, the communications described above and shown in Figure 3 are merely one exemplary set of communications between the inviter device 200 and the recipient device 150. Other communications, both more and fewer, may be employed in other embodiments.
[0035] In various embodiments, the communications are performed using an LM protocol. In other embodiments, different transmission protocols for gaming sessions may be employed. The exact type of gaming protocol employed is not significant to embodiment of the invention.
[0036] In general, the various embodiments, the invitation link contains the information necessary to connect players before any game clients are launched. This may be accomplished by two separate but similar ideas: the earlier described session LD and the reservation LD. The choice between the two may be determined by the network topology a given game uses. The session LD may be used for games where players connect to each other in a peer-to-peer fashion, as described earlier. In particular, the inviter device 200 could be the host and the recipient device 150 would connect directly to the host. The reservation LD may be used if a Relay Server 120 (see Figure 5, and discussion below) and/or a Central Game Server 130 were present (see Figures 7 and 8, and discussion below).
[0037] The generation of the two LD types may follow industry standard practices, as long as they were unique for the participants of the LM conversation. One method for generating LDs is to take the LM screen name (assumed to be unique) of the inviter and append a random number (e.g. "Joe9375873934"). Another method is to generate a GULD (Globally Unique Identifier), using well-known algorithms. The location of LD generation may be determined by whether the GCM is an active program that runs on the inviter device or not. If so, the appropriate LD would be generated on demand when the user selects a game to play. If the GCM is a collection of static links provided by a web server, the LDs would be generated beforehand while creating the GCM itself. [0038] In accordance with the above-described peer-to-peer communications between an inviter device 200 and a recipient device 150, Figure 4 illustrates a process within the inviter device 200 for a gaming session with at least one recipient device 150. The gaming session process 400 begins at block 405 where a game is selected from the GCM 275. In block 410, recipient information is obtained (e.g., from user input, or from a storage location [not show]). A user input may be a selection of a member of a "buddy" list. The recipient information directly or indirectly includes information for sending an LM message to a recipient, such as an LM screen name or an e-mail address. Next, in block 415 an invitation is composed for the recipient that includes an indication and/or link to the selected game (from block 405) and the recipient information for delivery to the recipient. The invitation is sent in block 420 to an L provider server 120 for delivery to the recipient (or recipients if more than one recipient is to be invited). In block 425, for the embodiment, the game 265 is launched on the inviter device 200. [0039] In various embodiments, e.g. where game play requires multiple players, the game play may be suspended until the recipient joins the gaming session. Accordingly, in decision block 430, processing loops in a waiting period until it is determined that game data has been received from at least sufficient number of the recipient devices 150 in response to the sent invitation(s) for the game to commence. Once decision block 430 determines that "sufficient" game data has been received from the required number of recipients (which may be zero or more), processing proceeds to block 435 where inviter device 200 responds and game play commences. Decision black 440 determines if game play (and the game) is still active and if so, continues the game play process by cycling back to decision black 430. Once decision black 440 determines that game play is no longer active, then the gaming session may end at block 445.
[0040] In alternate embodiments, the inviter device's address (e.g., Internet Protocol address) might not be available in a reliable fashion for peer-to-peer games (e.g. the user is behind a network address translation ["NAT"] device). Accordingly, in one embodiment, session IDs are then used in conjunction with a Relay Server 120 in order to establish reliable connections between participants. In such an embodiment, the Relay Server may provide two services in order to accomplish this - IP Exchange and Data Relay. The devices (also referred to as Clients in this context) may connect to the Relay Server using standard Internet protocols (e.g. TCP/IP). The LP Exchange may be used for game clients to translate a given session LD into a collection of L? Addresses for all participants. Since the session LD is unique to a given LM Conversation, and reasonably random in generation, only the appropriate clients will have access to these IP Addresses. After the LP Addresses have been exchanged, the clients will attempt to make a direct connection to a designated host. If the connection was not successful, they may rely on the Relay Server to proxy data between the clients. In one embodiment, the Relay Server does not contain any game logic and only ferries the data, ignorant of its meaning. If the GCM 275 is an active application, and can figure out the IP Address of the inviter, that information can be appended to the invitation link. In that case, the relay server 120 would only be used in the case that the clients could not directly connect to the host. The Relay Server and direct connections to the host can be used in combination to transmit data between all participants. Furthermore, even if the relay server 120 is used for an initial connection, in some embodiments, further attempts to connect at a peer-to-peer level may be attempted. [0041] Accordingly, Figure 5 illustrates a similar gaming session to the one shown in Figure 3, however using a Relay Server 120. In Figure 5, in like manner, the gaming session be'gins with a game selection 505. Next, the inviter device 200 composes 510 an invitation link to the gaming session for the recipient device 150. The invitation link is encapsulated within an LM message and sent 515 via the LM provider server 110 to the recipient device 150. Concurrently, or shortly thereafter, the inviter device may launch 520 the game 265 for which an invitation was sent to the recipient device 150. As described earlier, the game may execute on the inviter device, the recipient device or both. With the employment of a Relay Server 120, the game may also execute on a game server, such as Central Game Server 130.
[0042] Meanwhile, at the recipient device 150, the game invitation link is accepted 525 and another copy the game may also be optionally launched 530 on the recipient device 150. With one or both the inviter device 200 and the recipient device 150 executing the game, both the recipient device 150 and the inviter device 200 send 535 their user names and session LDs to the relay server 120. The relay server 120 associates 540 all the user names with the same session LDs as part of the same game session. Next, the relay server 120 returns access data 545 (e.g., IP address and connection IDs) along with a list of current user names to each of the inviter device 200 and recipient device(s) 150. The recipient device(s) 150 and inviter device 200 respond with game event data 550 back to the relay server 120 to commence and play the gaming session. [0043] In various embodiments, the communications described above and shown in Figure 5 are merely one exemplary set of commumcations between the inviter device 200, the relay server 120 and the recipient device 150. Other communications, both more and fewer, may be employed in other embodiments.
[0044] In accordance with the above-described communications between an inviter device 200 and a recipient device 150 using a relay server 120, Figure 6 illustrates a process within the relay server for a gaming session with at least one inviter device 200 and at least one recipient device 150. The gaming session process 600 begins at block 605 where user names with a common session LD are obtained. In block 610, the user names with a common session LD are associated with each other as belonging to a common gaming session. In block 615, the relay server responds to the users of the gaming session with access data (e.g., IP address and connection LDs) along with a list of current user names for the gaming session. Next in decision block 620 a determination is made that the game session is still active (e.g., has not timed out or obtained an explicit indication of a session end). In block 625, game data is obtained from users of the active game session. The game data is then relayed (e.g., forwarded or otherwise communicated) to the other users of the game session in block 630. Processing loops back to decision block 620 until a determination has been made in decision block 620 that the game session is no longer active. At which point, the game session ends in block 635. [0045] As described earlier, Central Game Server(s) 130 may be used in the case of games that have true client/server topologies, and game logic is run on the game server to facilitate play. Games of this variety may use reservation LDs for invitations that are sent via an LM Message. The reservation ID provides clients a facility to designate a location to meet "within" the Central Game Server. The clients provide the reservation LD to the central game server when a connection is established. If that reservation LD is currently in use, the Central Game Server 130 will provide all the necessary routing information for the client to navigate to it. If the reservation ID is not currently in use, the central game server will create a new instance of that game and then provide the routing information. This allows the clients to connect in any order and still arrive at the same "location." In addition, the reservation ID can be queried from the central game server during game play, such that an invitation can be composed while the game is already in progress. Again, the reservation LD is generated in a manner that ensures only participants in the LM conversation should have access to the game instance.
[0046] In the central game server embodiment, a reservation LD is sent from the inviter device 200 to the recipient device 150 via an LM message. The game client 265 is launched on both machines with the reservation LD. The reservation LD is sent to the central game server 130 at connect time. The central game server 130 will provide routing information to let the client navigate to the correct game instance. It will also create the game instance as needed. After both clients navigate directly, the central game server 130 will perform game logic and be sending/receiving game play data. The specific communications between the devices are shown in Figure 7 and described below. [0047] In Figure 7, where one embodiment of the communication protocol is illustrated, the gaming session begins with a game selection 705. Next, the inviter device 200 composes 710 an invitation link with a reservation ID to the gaming session for the recipient device 150. The invitation link is encapsulated within an LM message and sent 715 via the LM provider server 110 to the recipient device 150. Concurrently, or substantially thereafter, the inviter device optionally launches 720 a "thin" client of the game 265 for which an invitation was sent to the recipient device 150. [0048] Meanwhile, at the recipient device 150, the game invitation link is accepted 725 and another "thin client" of the game is launched 730 on recipient device 150. With both the inviter device 200 and the recipient device 150 executing the game, both the recipient device 150 and the inviter device 200 send 735 their user names and reservation LDs to the central game server 130. The central game server 130 associates 740 all the user names with the same reservation LDs as part of the same game session. The central game server 130 also creates 745 (or accesses and existing) game instance corresponding to the reservation LD. Next, the central game server 130 returns 750 access data (e.g., IP address and connection LDs) along with a list of current user names to each of the inviter device 200 and recipient device(s) 150. The recipient device(s) 150 and inviter device 200 respond with game event data 755 back to the central game server 130 to commence and play the gaming session.
[0049] In various embodiments, the communications described above and shown in Figure 7 are merely one exemplary set of communications between the inviter device 200, the central game server 130 and the recipient device 150. Other communications, both more and fewer, may be employed in other embodiments. [0050] When the inviter device 200 and all recipient devices 150 comiect to the central game server 130 as clients, they would communicate a reservation LD from the invitation link, and the central game server 130 would direct them to a specific instance of the game hosted at the central game server 130. These reservation LDs can be generated before the games 265 have been launched, or even installed. While an existing game 265 is in progress, the appropriate reservation LD would be queried from the game instance and included in an invitation link.
[0051] In accordance with the above-described communications between an inviter device 200 and a recipient device 150 having a central game server 130 hosted gaming session, Figure 8 illustrates a process within the central game server 130 for such a gaming session. The gaming session process 800 begins at block 805 where user names with a common reservation LD are obtained, h block 810, the user names with a common reservation ED are associated with each other as belonging to a common gaming session. Next, in decision block 815 a determination is made whether a game instance corresponding to the received reservation ID is already active. If no game instance is active, then in block 820 a new game instance corresponding to the reservation ED is created and processing continues to block 825. If however in decision block 815 it was determined that a game instance corresponding to the reservation ED is already active, then processing proceeds directly to block 825. In block 825, the central game server 130 responds to the users of the gaming session with access data (e.g., EP address and connection LDs) along with a list of current user names for the gaming session. Next in decision block 830 a determination is made that the game session is still active (e.g., has not timed out or obtained an explicit indication of a session end). In block 835, game data is obtained from users of the active game session. The central game server 130 processes the game data for the game instance in block 840. In block 845, the status of the game instance is updated with the processed game data. Next, in block 850, updated game data is then sent to the users of the game session in block 850. Processing loops back to decision block 830 until a determination has been made in decision block 830 that the game session is no longer active. At which point, the game session may end in block 855.
[0052] Although specific embodiments have been illustrated and described herein, it will be appreciated by those of ordinary skill in the art and others, that a wide variety of alternate and/or equivalent implementations may be substituted for the specific embodiment shown in the described without departing from the scope of the present invention. For example, while illustrative linear on-line gaming sessions have been described above; in various embodiments more complex games having multiple threads and flows of operation may be implemented. This application is intended to cover any adaptations or variations of the embodiment discussed herein. Therefore, it is manifested and intended that the invention be limited only by the claims and the equivalence thereof.

Claims

CLAIMS The embodiments of the invention in which an inclusive property or privilege is claimed are hereby defined as follows: 1. A computer implemented method comprising: facilitating composition at an inviter device an invitation comprising control information for formation of a multi-user session; transmitting said invitation to an instant messaging server for delivery to a recipient device associated with an instant messaging identifier; executing at said inviter device a process specified by said control information; and if first multi-user session data is received from said recipient device, responding with second multi-user session data to said recipient device.
2. The method of Claim 1, wherein said invitation comprises a session ED of the multi-user session formed employing at least in part a user ED of an instant message service offered by the instant messaging server.
3. The method of Claim 1, wherein said invitation comprises an EP address of said inviter device.
4. The method of Claim 1, wherein the method further comprises receiving said first multi-user session data via a relay server.
5. The method of Claim 4, wherein responding comprises delivering said second multi-user session data to said relay server for relaying to said recipient device.
6. The method of Claim 1, further comprising receiving an indication that a user at said recipient device has accepted said invitation.
7. The method of Claim 1, wherein said invitation comprises an instant message.
8. The method of Claim 1, wherein said executing of a process performed automatically and unconditionally.
9. The method of Claim 8, wherein said executing of a process occurs in response to an indication of a user at said recipient device accepting said invitation.
10. The method of Claim 1, wherein multi-user session is a multi-player game session, and said invitation comprises at least one game parameter of a game.
11. The method of Claim 10, wherein said at least one game parameter specifies a type of game play.
12. The method of Claim 10, wherein said at least one parameter specifies a game name for a user at the inviter device.
13. A computing device having a processor and a memory containing computer executable instructions for performing the method of any of Claims 1-12.
14. A computer readable medium containing computer executable instructions for performing the method of any of Claims 1-4, 6-8 and 10.
15. A computer implemented method comprising: facilitating acceptance, at a recipient device, an instant message invitation, from an mviter device, comprising control information for formation of a multi-user session; in response to accepting said invitation, executing a process specified by said control information; and transmitting to said inviter device data generated by said process to contribute to the formation of said multi-user session.
16. The method of Claim 15, wherein said transmitting comprises transmitting said game data to a relay server for relay to the inviter device.
17. A computing device having a processor and a memory containing computer executable instructions for performing the method of any of Claims 15-16.
18. A computer readable medium containing computer executable instructions for performing the method of any of Claims 15-16.
PCT/US2004/022709 2003-07-15 2004-07-15 Multi-session user launching and invitation system and method WO2005010680A2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP04778287A EP1652044A4 (en) 2003-07-15 2004-07-15 Multi-session user launching and invitation system and method
US10/564,812 US20060178216A1 (en) 2003-07-15 2004-07-15 Multi-session user launching and invitation system and method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US48777303P 2003-07-15 2003-07-15
US60/487,773 2003-07-15

Publications (2)

Publication Number Publication Date
WO2005010680A2 true WO2005010680A2 (en) 2005-02-03
WO2005010680A3 WO2005010680A3 (en) 2005-09-01

Family

ID=34102720

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2004/022709 WO2005010680A2 (en) 2003-07-15 2004-07-15 Multi-session user launching and invitation system and method

Country Status (3)

Country Link
US (1) US20060178216A1 (en)
EP (1) EP1652044A4 (en)
WO (1) WO2005010680A2 (en)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2008698A1 (en) * 2007-06-29 2008-12-31 Kabushiki Kaisha Square Enix (also trading as Square Enix Co., Ltd.) Server apparatus, cellular phone, opponent selection system and method, program, and recording medium
WO2009046772A1 (en) * 2007-10-04 2009-04-16 T-Mobile International Ag Interconnection of virtual worlds by means of mobile message services
CN101155044B (en) * 2006-09-29 2010-06-09 腾讯科技(深圳)有限公司 Method and user's set for inviting instant communication user into network game
WO2010082958A1 (en) * 2009-01-13 2010-07-22 Igt Gaming involving devices in multiple locations
US8745138B2 (en) 2006-09-29 2014-06-03 Tencent Technology (Shenzhen) Company Ltd. Method, apparatus and system for joining online game
WO2017201472A1 (en) * 2016-05-19 2017-11-23 Google Llc Methods and systems for facilitating participation in a game session
US10898812B2 (en) 2018-04-02 2021-01-26 Google Llc Methods, devices, and systems for interactive cloud gaming
US11077364B2 (en) 2018-04-02 2021-08-03 Google Llc Resolution-based scaling of real-time interactive graphics
US11110348B2 (en) 2018-04-10 2021-09-07 Google Llc Memory management in gaming rendering
US11140207B2 (en) 2017-12-21 2021-10-05 Google Llc Network impairment simulation framework for verification of real time interactive media streaming systems
US11369873B2 (en) 2018-03-22 2022-06-28 Google Llc Methods and systems for rendering and encoding content for online interactive gaming sessions
US11662051B2 (en) 2018-11-16 2023-05-30 Google Llc Shadow tracking of real-time interactive simulations for complex system analysis
US11684849B2 (en) 2017-10-10 2023-06-27 Google Llc Distributed sample-based game profiling with game metadata and metrics and gaming API platform supporting third-party content
US11872476B2 (en) 2018-04-02 2024-01-16 Google Llc Input device for an electronic system

Families Citing this family (52)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040097287A1 (en) * 2002-11-14 2004-05-20 Richard Postrel Method and system for gaming over a computer network
JP2005056246A (en) * 2003-08-06 2005-03-03 Sony Corp Information terminal device, server device, and program
US7288028B2 (en) * 2003-09-26 2007-10-30 Microsoft Corporation Method and apparatus for quickly joining an online game being played by a friend
US7593988B2 (en) * 2003-10-23 2009-09-22 Microsoft Corporation Systems and methods for multiparty session invite
US7534169B2 (en) 2005-07-08 2009-05-19 Cfph, Llc System and method for wireless gaming system with user profiles
US7811172B2 (en) 2005-10-21 2010-10-12 Cfph, Llc System and method for wireless lottery
US8092303B2 (en) 2004-02-25 2012-01-10 Cfph, Llc System and method for convenience gaming
US20070060358A1 (en) 2005-08-10 2007-03-15 Amaitis Lee M System and method for wireless gaming with location determination
US8616967B2 (en) 2004-02-25 2013-12-31 Cfph, Llc System and method for convenience gaming
US7637810B2 (en) 2005-08-09 2009-12-29 Cfph, Llc System and method for wireless gaming system with alerts
JP4313703B2 (en) * 2004-03-12 2009-08-12 彼方株式会社 Information processing apparatus, system, method, and program
US8312110B2 (en) * 2004-03-12 2012-11-13 Kanata Limited Content manipulation using hierarchical address translations across a network
US7587502B2 (en) * 2005-05-13 2009-09-08 Yahoo! Inc. Enabling rent/buy redirection in invitation to an online service
US20060259632A1 (en) * 2005-05-13 2006-11-16 Yahoo! Inc. Redirection and invitation for accessing an online service
US20060258461A1 (en) * 2005-05-13 2006-11-16 Yahoo! Inc. Detecting interaction with an online service
US7664816B2 (en) * 2005-06-10 2010-02-16 Microsoft Corporation Multi-participant online activities
US10510214B2 (en) 2005-07-08 2019-12-17 Cfph, Llc System and method for peer-to-peer wireless gaming
US8070604B2 (en) 2005-08-09 2011-12-06 Cfph, Llc System and method for providing wireless gaming as a service application
US7841517B2 (en) * 2006-01-13 2010-11-30 Microsoft Corporation Visual identity mechanisms
AU2006336486A1 (en) 2006-01-24 2007-08-02 Acei Ab Game session management
KR100810759B1 (en) * 2006-02-17 2008-03-07 엔에이치엔(주) P2P File Transmission System and Method
US7644861B2 (en) 2006-04-18 2010-01-12 Bgc Partners, Inc. Systems and methods for providing access to wireless gaming devices
US7549576B2 (en) 2006-05-05 2009-06-23 Cfph, L.L.C. Systems and methods for providing access to wireless gaming devices
US8939359B2 (en) 2006-05-05 2015-01-27 Cfph, Llc Game access device with time varying signal
US7861175B2 (en) * 2006-09-29 2010-12-28 Research In Motion Limited IM contact list entry as a game in progress designate
US8292741B2 (en) 2006-10-26 2012-10-23 Cfph, Llc Apparatus, processes and articles for facilitating mobile gaming
US9306952B2 (en) 2006-10-26 2016-04-05 Cfph, Llc System and method for wireless gaming with location determination
US8616976B2 (en) 2006-11-07 2013-12-31 Core Wireless Licensing S.A.R.L. Gaming via peer-to-peer networks
US9411944B2 (en) 2006-11-15 2016-08-09 Cfph, Llc Biometric access sensitivity
US8510567B2 (en) 2006-11-14 2013-08-13 Cfph, Llc Conditional biometric access in a gaming environment
US8645709B2 (en) 2006-11-14 2014-02-04 Cfph, Llc Biometric access data encryption
US7734717B2 (en) * 2006-12-05 2010-06-08 Nokia Corporation Software distribution via peer-to-peer networks
US8319601B2 (en) 2007-03-14 2012-11-27 Cfph, Llc Game account access device
US8581721B2 (en) 2007-03-08 2013-11-12 Cfph, Llc Game access device with privileges
US9183693B2 (en) 2007-03-08 2015-11-10 Cfph, Llc Game access device
CN101068194B (en) * 2007-06-15 2010-12-01 腾讯科技(深圳)有限公司 Method and system for realizing on-line game invitation
KR101005592B1 (en) * 2007-06-29 2011-01-05 엔에이치엔(주) system for providing game supporting consecutive distribution in network and method thereof
CN100539599C (en) * 2007-06-29 2009-09-09 腾讯科技(深圳)有限公司 A kind of method and system that realize that game on line is invited
US9700791B2 (en) * 2008-08-14 2017-07-11 Valve Corporation Overlaying interactive video game play with real-time chat sessions with game switching
US8550919B2 (en) * 2008-10-08 2013-10-08 Sony Corporation Game control program, game device, game server, and game control method
US8444490B2 (en) 2008-12-15 2013-05-21 Tetris Online, Inc. Interactive asynchronous game offline play architecture
US8430755B2 (en) 2008-12-15 2013-04-30 Tetris Online, Inc. Interactive asynchronous game play architecture
US8496531B2 (en) 2008-12-15 2013-07-30 Tetris Online, Inc. Interactive hybrid asynchronous computer game infrastructure with dynamic difficulty adjustment
US8357045B2 (en) * 2008-12-15 2013-01-22 Tetris Online, Inc. Interactive asynchronous computer game infrastructure
US8585505B2 (en) * 2008-12-15 2013-11-19 Tetris Online, Inc. Inter-game interactive hybrid asynchronous computer game infrastructure
US8621585B2 (en) * 2009-06-16 2013-12-31 Z2Live, Inc. Invitation service for multi-device application sessions
US8956231B2 (en) 2010-08-13 2015-02-17 Cfph, Llc Multi-process communication regarding gaming information
US8974302B2 (en) 2010-08-13 2015-03-10 Cfph, Llc Multi-process communication regarding gaming information
US10130872B2 (en) * 2012-03-21 2018-11-20 Sony Interactive Entertainment LLC Apparatus and method for matching groups to users for online communities and computer simulations
US10186002B2 (en) 2012-03-21 2019-01-22 Sony Interactive Entertainment LLC Apparatus and method for matching users to groups for online communities and computer simulations
CN105094771A (en) 2014-05-07 2015-11-25 阿里巴巴集团控股有限公司 Invitation method, device and system used for participating in and responding to applications
JP7195818B2 (en) * 2018-08-31 2022-12-26 グリー株式会社 Game system, game processing method, and information processing device

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6179713B1 (en) * 1997-06-18 2001-01-30 Circadence Corporation Full-time turn based network multiplayer game
US6539421B1 (en) * 1999-09-24 2003-03-25 America Online, Inc. Messaging application user interface
US6699125B2 (en) * 2000-07-03 2004-03-02 Yahoo! Inc. Game server for use in connection with a messenger server
US6884172B1 (en) * 2000-10-25 2005-04-26 Ngame Limited Electronic game system

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See references of EP1652044A4 *

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101155044B (en) * 2006-09-29 2010-06-09 腾讯科技(深圳)有限公司 Method and user's set for inviting instant communication user into network game
US8745138B2 (en) 2006-09-29 2014-06-03 Tencent Technology (Shenzhen) Company Ltd. Method, apparatus and system for joining online game
EP2008698A1 (en) * 2007-06-29 2008-12-31 Kabushiki Kaisha Square Enix (also trading as Square Enix Co., Ltd.) Server apparatus, cellular phone, opponent selection system and method, program, and recording medium
WO2009046772A1 (en) * 2007-10-04 2009-04-16 T-Mobile International Ag Interconnection of virtual worlds by means of mobile message services
CN101884204A (en) * 2007-10-04 2010-11-10 德国电信股份公司 Interconnection of virtual worlds by means of mobile message services
WO2010082958A1 (en) * 2009-01-13 2010-07-22 Igt Gaming involving devices in multiple locations
CN102349095A (en) * 2009-01-13 2012-02-08 Igt公司 Gaming involving devices in multiple locations
US8221241B2 (en) 2009-01-13 2012-07-17 Igt Gaming involving devices in multiple locations
EP3610933A1 (en) * 2016-05-19 2020-02-19 Google LLC. Methods and systems for facilitating participation in a game session
US10456672B2 (en) 2016-05-19 2019-10-29 Google Llc Methods and systems for facilitating participation in a game session
WO2017201472A1 (en) * 2016-05-19 2017-11-23 Google Llc Methods and systems for facilitating participation in a game session
US11305186B2 (en) 2016-05-19 2022-04-19 Google Llc Methods and systems for facilitating participation in a game session
US11684849B2 (en) 2017-10-10 2023-06-27 Google Llc Distributed sample-based game profiling with game metadata and metrics and gaming API platform supporting third-party content
US11140207B2 (en) 2017-12-21 2021-10-05 Google Llc Network impairment simulation framework for verification of real time interactive media streaming systems
US11369873B2 (en) 2018-03-22 2022-06-28 Google Llc Methods and systems for rendering and encoding content for online interactive gaming sessions
US10898812B2 (en) 2018-04-02 2021-01-26 Google Llc Methods, devices, and systems for interactive cloud gaming
US11077364B2 (en) 2018-04-02 2021-08-03 Google Llc Resolution-based scaling of real-time interactive graphics
US11872476B2 (en) 2018-04-02 2024-01-16 Google Llc Input device for an electronic system
US11110348B2 (en) 2018-04-10 2021-09-07 Google Llc Memory management in gaming rendering
US11662051B2 (en) 2018-11-16 2023-05-30 Google Llc Shadow tracking of real-time interactive simulations for complex system analysis

Also Published As

Publication number Publication date
EP1652044A4 (en) 2006-08-30
WO2005010680A3 (en) 2005-09-01
US20060178216A1 (en) 2006-08-10
EP1652044A2 (en) 2006-05-03

Similar Documents

Publication Publication Date Title
US20060178216A1 (en) Multi-session user launching and invitation system and method
US7401150B2 (en) Joint consumption of content invitation methods and apparatus
USRE41848E1 (en) System using transport protocol objects located at agent location to generate session ID and to provide translation between different instant messaging protocols
CN1578278B (en) The Transmission system of instant message
US9003042B2 (en) P2P file transmission system and method
US6976092B1 (en) System that using transport protocol objects located at agent location to generate session ID and to provide translation between different instant messaging protocols
US7469301B2 (en) Server-based message protocol translation
US20060194596A1 (en) System and method for direct peer to peer mobile messaging
EP1365553A1 (en) Method and device for instant messaging
US20020007398A1 (en) Instant messaging account system
EP1571791B1 (en) Mobile communication system and method for providing a real time messenger service among mobile communication terminals
EP1678886B1 (en) Method and devices for relayed peer-to-peer communications between terminals in mobile networks
WO2003094011A1 (en) Instant messaging architecture and system for interoperability and presence management
CN101179520A (en) Method and system for sensing mail status
WO2013063886A1 (en) Gateway, inter-community group information processing system and method
US20140089441A1 (en) Method And System Of Transferring Electronic Messages Using An Instant Messaging Protocol
US10567183B2 (en) System and method for conference messaging between telephony devices in a first network and devices connected to a second network
EP2868067A1 (en) Client-emulating gateways for communication network migration
JP2004318486A (en) Home network constituting equipment
US10075403B2 (en) Method and system for managing voice mails in a universal plug and play network environment
EP1305725B1 (en) Instant messaging account system
EP2619942B1 (en) System and method for conference messaging between universal plug and play enabled telephony devices and wan devices
Jia et al. Session and signaling control in mobile network game platform
Mustaza Mobile IM as a Text Messaging Alternative Using Mobile Phone through the Development of Message Conveying System (MCS)
TW201014276A (en) Network access sharing system and related message transmission methods, and machine readable medium thereof

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): BW GH GM KE LS MW MZ NA SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
ENP Entry into the national phase

Ref document number: 2006178216

Country of ref document: US

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 10564812

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 2004778287

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 2004778287

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 10564812

Country of ref document: US