U.S. patent application number 10/564812 was filed with the patent office on 2006-08-10 for multi-session user launching and invitation system and method.
Invention is credited to Michael J. Cooper, MattewT Shea.
Application Number | 20060178216 10/564812 |
Document ID | / |
Family ID | 34102720 |
Filed Date | 2006-08-10 |
United States Patent
Application |
20060178216 |
Kind Code |
A1 |
Shea; MattewT ; et
al. |
August 10, 2006 |
Multi-session user launching and invitation system and method
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.
Inventors: |
Shea; MattewT; (Bellevue,
WA) ; Cooper; Michael J.; (Renton, WA) |
Correspondence
Address: |
SCHWABE, WILLIAMSON & WYATT, P.C.;PACWEST CENTER, SUITE 1900
1211 SW FIFTH AVENUE
PORTLAND
OR
97204
US
|
Family ID: |
34102720 |
Appl. No.: |
10/564812 |
Filed: |
July 15, 2004 |
PCT Filed: |
July 15, 2004 |
PCT NO: |
PCT/US04/22709 |
371 Date: |
January 13, 2006 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
60487773 |
Jul 15, 2003 |
|
|
|
Current U.S.
Class: |
463/42 |
Current CPC
Class: |
A63F 2300/537 20130101;
A63F 13/352 20140902; A63F 2300/513 20130101; H04L 51/04 20130101;
A63F 2300/5546 20130101; A63F 13/12 20130101; A63F 2300/5566
20130101; A63F 13/795 20140902; A63F 2300/50 20130101; A63F
2300/556 20130101; H04L 65/4038 20130101 |
Class at
Publication: |
463/042 |
International
Class: |
A63F 9/24 20060101
A63F009/24 |
Claims
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 ID of the multi-user session formed employing at least in
part a user ID of an instant message service offered by the instant
messaging server.
3. The method of claim 1, wherein said invitation comprises an IP
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 claim
1.
14. A computer readable medium containing computer executable
instructions for performing the method of claim 1.
15. A computer implemented method comprising: facilitating
acceptance, at a recipient device, an instant message invitation,
from an inviter 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 claim
15.
18. A computer readable medium containing computer executable
instructions for performing the method of claim 15.
Description
CROSS-REFERENCES TO RELATED APPLICATIONS
[0001] This application claims the benefit of U.S. Provisional
Application No. 60/487,773 filed on Jul. 15, 2003, and entitled
WILDTANGENT IM 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 ("IM") protocols and services have been
implemented by a variety of service providers, such as America
On-Line's AIM protocol and Microsoft's MSN Instant Messenger
protocol.
[0007] However, these IM protocols and services do not indicate how
IM 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
embodiments but not limitations, illustrated in the accompanying
drawings in which like references to note similar elements, and in
which:
[0009] FIG. 1 illustrates a system view of an example operating
environment suitable for use to practice the present invention, in
accordance with one embodiment.
[0010] FIG. 2 illustrates an architectural view of a device
suitable for use as an inviter device, in accordance with one
embodiment.
[0011] FIG. 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] FIG. 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] FIG. 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] FIG. 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] FIG. 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] FIG. 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 phase
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 FIG. 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, IM 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. FIG. 2 illustrates
one exemplary embodiment of a inviter device 200, which is
described below. FIGS. 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, IM 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, IM 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, IM provider server 110,
relay server 120 and recipient device 150 are equipped to operate
in accordance with the at least one IM 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] FIG. 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 FIG. 2. However, it is not
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 FIG. 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 IM message to) a recipient device 150 to
participate in the gaming session. FIG. 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] FIG. 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 IM 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 FIG. 3.
[0031] In FIG. 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 IM message and sent
315 via the IM 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
inviter 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 IM
protocol used by the instant messenger 260 and IM 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 FIG. 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 IM 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 ID and the
reservation ID. The choice between the two may be determined by the
network topology a given game uses. The session ID 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 ID may be used if a Relay
Server 120 (see FIG. 5, and discussion below) and/or a Central Game
Server 130 were present (see FIGS. 7 and 8, and discussion
below).
[0037] The generation of the two ID types may follow industry
standard practices, as long as they were unique for the
participants of the IM conversation. One method for generating IDs
is to take the IM screen name (assumed to be unique) of the inviter
and append a random number (e.g. "Joe9375873934"). Another method
is to generate a GUID (Globally Unique Identifier), using
well-known algorithms. The location of ID generation may be
determined by whether the GCM is an active program that runs on the
inviter device or not. If so, the appropriate ID 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 IDs 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, 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. 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 IM message to a recipient, such as an IM 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 IM 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 IP Exchange may be used for game clients to
translate a given session ID into a collection of IP Addresses for
all participants. Since the session ID is unique to a given IM
Conversation, and reasonably random in generation, only the
appropriate clients will have access to these IP Addresses. After
the IP 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, FIG. 5 illustrates a similar gaming session to
the one shown in FIG. 3, however using a Relay Server 120. In FIG.
5, in like manner, the gaming session begins 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 IM message and sent 515 via the IM
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 IDs to the relay server 120.
The relay server 120 associates 540 all the user names with the
same session IDs 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 FIG. 5 are merely one exemplary set of communications
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, 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 ID
are obtained. In block 610, the user names with a common session ID
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 IDs) 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 IDs for invitations that are sent
via an IM Message. The reservation ID provides clients a facility
to designate a location to meet "within" the Central Game Server.
The clients provide the reservation ID to the central game server
when a connection is established. If that reservation ID 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 ID is generated in a
manner that ensures only participants in the IM conversation should
have access to the game instance.
[0046] In the central game server embodiment, a reservation ID is
sent from the inviter device 200 to the recipient device 150 via an
IM message. The game client 265 is launched on both machines with
the reservation ID. The reservation ID 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 FIG. 7 and described below.
[0047] In FIG. 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
IM message and sent 715 via the IM 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 IDs to the central game server 130. The
central game server 130 associates 740 all the user names with the
same reservation IDs 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 ID. Next, the central
game server 130 returns 750 access data (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
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 FIG. 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
connect to the central game server 130 as clients, they would
communicate a reservation ID 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
IDs can be generated before the games 265 have been launched, or
even installed. While an existing game 265 is in progress, the
appropriate reservation ID 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, 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 ID are obtained. In block 810,
the user names with a common reservation ID 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 ID 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 ID
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., IP address and
connection IDs) 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.
* * * * *