Language selection

Search

Patent 2635836 Summary

Third-party information liability

Some of the information on this Web page has been provided by external sources. The Government of Canada is not responsible for the accuracy, reliability or currency of the information supplied by external sources. Users wishing to rely upon this information should consult directly with the source of the information. Content provided by external sources is not subject to official languages, privacy and accessibility requirements.

Claims and Abstract availability

Any discrepancies in the text and image of the Claims and Abstract are due to differing posting times. Text of the Claims and Abstract are posted:

  • At the time the application is open to public inspection;
  • At the time of issue of the patent (grant).
(12) Patent Application: (11) CA 2635836
(54) English Title: JOIN IN-PROGRESS ON-LINE GAME SESSION
(54) French Title: PARTIE DE JEU EN LIGNE ACCEPTANT DE NOUVEAUX PARTICIPANTS PENDANT SON DEROULEMENT
Status: Deemed Abandoned and Beyond the Period of Reinstatement - Pending Response to Notice of Disregarded Communication
Bibliographic Data
(51) International Patent Classification (IPC):
  • A63F 13/30 (2014.01)
  • A63F 13/45 (2014.01)
(72) Inventors :
  • SHAW, DAVID (United States of America)
  • PROTEAU, STEVE (United States of America)
  • HANSEN, JOHAN PETER (United States of America)
  • BORTNIK, MICHAL (United States of America)
  • JEN, JAMES (United States of America)
  • O'KELLEY, PATRICK W. (United States of America)
(73) Owners :
  • MICROSOFT CORPORATION
(71) Applicants :
  • MICROSOFT CORPORATION (United States of America)
(74) Agent: SMART & BIGGAR LP
(74) Associate agent:
(45) Issued:
(86) PCT Filing Date: 2006-12-29
(87) Open to Public Inspection: 2007-08-02
Examination requested: 2011-12-19
Availability of licence: N/A
Dedicated to the Public: N/A
(25) Language of filing: English

Patent Cooperation Treaty (PCT): Yes
(86) PCT Filing Number: PCT/US2006/049642
(87) International Publication Number: US2006049642
(85) National Entry: 2008-07-15

(30) Application Priority Data:
Application No. Country/Territory Date
11/335,953 (United States of America) 2006-01-20

Abstracts

English Abstract


A computer-based, multi-player, on-line, game session is capable of being
joined while the session is in progress without requiring an invitation from
the host of the game session. A player can join the game session via a set of
User Interfaces (UIs) provided by the gaming system. The player is not
required to contact the host prior to joining the game session. A game session
is joinable if slots are available for additional players, the host has not
declared the game session private, the player requesting to join the game
session is not currently in the game session, and parental controls have not
be set preventing the player from joining the game session.


French Abstract

L'invention concerne une partie de jeu électronique en ligne à joueurs multiples, qui accepte de nouveaux participants pendant son déroulement, sans nécessité d'obtenir une invitation de l'hôte de la partie. Un joueur peut participer à la partie par l'intermédiaire d'un ensemble d'interfaces utilisateur (UI) mises en oeuvre par le système de jeu. Le joueur n'est pas tenu de contacter l'hôte comme préalable à sa participation à la partie de jeu. On peut s'introduire dans une partie de jeu si des créneaux sont disponibles pour des joueurs supplémentaires, si la partie de jeu n'est pas déclaré privée par l'hôte, si le joueur demandeur ne participe pas déjà à la partie en cours, et si un contrôle parental n'interdit pas au joueur de participer à la partie.

Claims

Note: Claims are shown in the official language in which they were submitted.


What is Claimed:
1. A method for joining an in-progress on-line game session, said method
comprising:
determining if said in-progress on-line game session is one of joinable and
not
joinable;
choosing (200) to join said game session if said game session is joinable; and
joining (222) said game session without requiring an invitation from a host of
said
game session.
2. A method in accordance with claim 1, wherein:
a game session can be determined to be joinable without requiring a game disc
to be
inserted into a game console; and
a game session can be determined to be joinable without requiring a joining
party to
have previously launched said game.
3. A method in accordance with claim 1, wherein:
said game session is determined to be not joinable if said host of said game
session
declares said game session private; and
said game session is determined to be joinable if said host of said game
session
declares said game session public.
4. A method in accordance with claim 1, wherein:
said game session is determined to be not joinable if a player attempting to
join said
game session is in said game session; and
said game session is determined to be not joinable if said game session has no
available slots.
-19-

5. A method in accordance with claim 1, wherein said game session is
determined to be
not joinable if parental controls prevent joining said game session.
6. A method in accordance with claim 1, wherein said game session is partially
joinable.
7. A method in accordance with claim 1, wherein said game session is joinable
if at least
one predetermined flag in an application programming interface for starting
said game
session is indicative of said game session being joinable.
8. A method in accordance with claim 1, wherein, if a game is not detected on
a game
console of a joining party, said game is automatically launched at said game
console of said
joining party.
9. A computer-readable medium having computer-executable instructions for
performing
the acts of:
determining if an in-progress on-line game session is one of joinable and not
joinable;
providing means for choosing (200) to join said game session if said game
session
is joinable; and
providing means for joining (222) said game session without requiring an
invitation
from a host of said game session.
10. A computer-readable medium in accordance with claim 9, wherein:
a game session can be determined to be joinable without requiring a game disc
to be
inserted into a game console; and
a game session can be determined to be joinable without requiring a game to be
launched.
-20-

11. A computer-readable medium in accordance with claim 9, wherein said game
session
is not joinable if at least one of the following conditions is true:
said host of said game session declares said game session private;
a player attempting to join said game session is in said game session;
said game session has no available slots; and
parental controls prevent joining said game session.
12. A computer-readable medium in accordance with claim 9, said computer-
readable
medium having further computer-executable instructions for setting at least
one
predetermined flag in an application programming interface for starting said
game session
to be indicative of said game session being one of joinable and not joinable.
13. A system for joining an in-progress on-line game session, said system
comprising:
a plurality of databases for storing information pertaining to whether said in-
progress on-line game session is one of joinable and not joinable; and
a service (150) for:
determining if said game session is one of joinable and not joinable, in
accordance with said information;
providing means for choosing (200) to join said game session if said game
session is joinable; and
providing means for joining (222) said game session without requiring an
invitation from a host of said game session.
14. A system in accordance with claim 13, wherein:
a game session can be determined to be joinable without requiring a game disc
to be
inserted into a game console; and
a game session can be determined to be joinable without requiring a game to be
launched.
-21-

15. A system in accordance with claim 13, wherein:
said service determines said game session to be not joinable if said host of
said
game session declares said game session private; and
said service determines said game session to be joinable if said host of said
game
session declares said game session public.
16. A system in accordance with claim 13, wherein said service determines said
game
session to be not joinable if a player attempting to join said game session is
in said game
session.
17. A system in accordance with claim 13, wherein said service determines said
game
session to be not joinable if said game session has no available slots.
18. A system in accordance with claim 13, wherein said service determines said
game
session to be not joinable if parental controls prevent joining said game
session.
19. A system in accordance with claim 13, wherein said service is further
capable of
setting at least one predetermined flag in an application programming
interface for starting
said game session to be indicative of said game session being one of joinable
and not
joinable.
20. A system in accordance with claim 19, wherein each predetermined flag is
indicative
of a respective portion of said game session being one of joinable and not
joinable.
-22-

Description

Note: Descriptions are shown in the official language in which they were submitted.


CA 02635836 2008-07-15
WO 2007/087078 PCT/US2006/049642
JOIN IN-PROGRESS ON-LINE GAME SESSION
Copyright Notice / Permission
[0001] A portion of the disclosure of this patent document contains material,
which is subject to copyright protection. The copyright owner has no objection
to the
facsimile reproduction by anyone of the patent document or the patent
disclosure, as it
appears in the Patent and Trademark Office patent files or records, but
otherwise reserves
all copyright rights whatsoever. The following notice applies to the software
and data as
described below and in the drawings hereto: Copyright 2004, Microsoft
Corporation,
All Rights Reserved.
Technical Field
[0002] The technical field relates generally to gaming and more specifically
relates to joining on-line,,computer-based games in progress.
Background
[0003] Computer-based, on-line gaming provides the ability for a large numbers
of players to play a large variety of games. Thus, at any point in time,
numerous game
sessions could be ongoing. Joining a game session, in progress, however, can
be
cumbersome and time consuming. In current systems, for example, a player
wishing to
join a game in progress must be invited to the game session. This typically
requires the
player to contact, either directly or indirectly, the host of the game session
and request an
invite. Contacting the host may be difficult. Further, if contacting the host
takes too long,
the invite could occur after the session is complete, or close to completion.
Summary
[0004] This Summary is provided to introduce a selection of concepts in a
simplified form that are further described below in the Detailed Description
Of The
Illustrative Embodiments. This Summary is not intended to identify key
features or
-1-

CA 02635836 2008-07-15
WO 2007/087078 PCT/US2006/049642
essential features of the claimed subject matter, nor is it intended to be
used to limit the
scope of the claimed subject matter.
[0005] A game player can join a computer-based, on-line game while the game is
in
progress. The player does not have to contact the host to request an invite.
The player can
join the game session without requiring an invitation from the host of the
game session.
The player is not required to contact the host, or any other player in the
game session, prior
to joining the game session. The player can join a game session in progress if
slots are
available in the game session, the game allows joining while in progress, and
no settings
preclude join in progress. The player can join the session by interacting with
a User
Interface (UI) provided by the game system.- It is not necessary for the
player to insert a
game disc or to launch the game to determine whether the host is joinable.
Thus, initiating
the joining of a game session can be accomplished without requiring a game
disc to be
inserted into a game console and without requiring the joining party to have
previously
launched the game. Thus, a player can quickly scan all hosts that player may
be interested
in joining. If the game allows joining while in progress, but no slots are
available, the
player can wait in a lobby until a slot becomes available. Joining a game
session in
progress can be prevented if the host of the game session declares the game
session private,
if a player trying to join a game session is currently in the game session,
and/or if parental
controls prevent joining the game session.
Brief Description Of The Drawings
[0006] The foregoing summary, as well as the following detailed description,
is
better understood when read in conjunction with the appended drawings. For the
purpose
of illustrating joining in-progress on-line game sessions, there is shown in
the drawings
exemplary constructions thereof; however, joining in-progress on-line game
sessions is not
limited to the specific methods and instrumentalities disclosed. In the
drawings:
[0007] Figure 1 is a block diagram of an exemplary computer network
environment in which aspects of joining an in-progress on-line game session
can be
implemented;
-2-

CA 02635836 2008-07-15
WO 2007/087078 PCT/US2006/049642
[0008] Figure 2 is a block diagram illustrating an exemplary console that can
be
incorporated into a network computing environment such as the network
computing
environment of Figure 1;
[0009] Figure 3 is a block diagram illustrating the interaction of a console
with
the remote service;
[0010] Figure 4 illustrates the information gathered to build a user profile;
[0011] Figure 5 through Figure 14 are example illustrations of a user
interfaces
displaying user profile information;
[0012] Figure 15 is a flow diagram of an exemplary process for joining an in-
progress on-line game session; and
[0013] Figure 16 through Figure 18 are example illustrations of user
interfaces for
joining an in-progress game session.
Detailed Description Of Illustrative Embodiments
[0014] Figure 1 is diagram of an exemplary computer network that serves to
illustrate aspects of joining an in-progress on-line game session. Here
computers 100a-
100e can host various ones of the computing objects such as games and other
applications.
Although the physical environment shows the connected devices as computers,
such
illustration is merely exemplary and can comprise various digital devices such
as PDAs,
game consoles, etc. Moreover, communications network 160 can itself comprise a
number
of computers, servers and network devices such as routers and the like.
[0015] There is a variety of systems, components, and network configurations
that
support distributed computing environments. For example, computing systems can
be
connected together by wireline or wireless systems, by local networks or
widely distributed
networks. Currently, many of the networks are coupled to the Internet, which
provides the
infrastructure for widely distributed computing and encompasses many different
networks.
Aspects of joining an in-progress, on-line game session can be usable to
distribute
computer-readable instructions, code fragments, applications and the like to
various
distributed computing devices.
-3-

CA 02635836 2008-07-15
WO 2007/087078 PCT/US2006/049642
[0016] The network infrastructure enables a host of network topologies such as
client/server, peer-to-peer, or hybrid architectures. The "client" is a member
of a class or
group that uses the services of another class or group to which it is not
related. Thus, in
computing, a client is a process (i.e., roughly a set of instructions or
tasks) that requests a
service provided by another program. The client process utilizes the requested
service
without having to "know" any working details about the other program or the
service itself.
In a client/server architecture, particularly a networked system, a client is
usually a
computer that accesses shared network resources provided by another computer
(i.e., a
server). A server is typically a remote computer system accessible over a
remote network
such as the Internet. The client process can be active in a first computer
system, and the
server process can be active in a second computer system, communicating with
one another
over a communications medium, thus providing distributed functionality and
allowing
multiple clients to take advantage of the information-gathering capabilities
of the server.
[0017] Clients and servers communicate with one another utilizing the
functionality provided by a protocol layer. For example, Hypertext-Transfer
Protocol
(HTTP) is a common protocol that is used in conjunction with the World Wide
Web
(WWW) or, simply, the "Web." Typically, a computer network address such as a
Uniform
Resource Locator (URL) or an Internet Protocol (IP) address is used to
identify the server
or client computers to each other. Communication among computing devices is
provided
over a communications medium. In particular, the client and server can be
coupled to one
another via TCP/IP connections for high-capacity communication.
[0018] In general, the computer network can comprise both server devices and
client devices deployed in a network environment (in a peer-to-peer
environment devices
can be both clients and servers). Communications network 160 can be a LAN,
WAN,
intranet or the Internet, or a combination of any of these that facilitates
communication
among a number of computing devices 100a-100e. Moreover, communication
netvvork
160 can. comprise wireless, wireline, or combination wireless and wireline
connections.
Additionally, the computer network can comprise a distributed computing
environment. In
such an environment a computing task can be spread over a number of computing
devices
that are addressable elements in a computer network.
-4-

CA 02635836 2008-07-15
WO 2007/087078 PCT/US2006/049642
[0019] According to an aspect ofjoining an in-progress on-line game session,
communication network 160 can host a service 150 that is accessible from the
plurality of
computers 100a-100e. The service 150 gathers information'and tracks users of
computers
100a-100e to provide computing services for all of the users of the service
150.
[0020] Figure 2 ill,ustrates functional components of a multimedia/gaming
console
100 that can be used as the computers 100a-100e in the network of Figure 1.
The
multimedia console 100 has a central processing unit (CPU) 101 having a level
1 cache
102, a level 2 cache 104, and a flash ROM (Read Only Memory) 106. The level 1
cache
102 and a level 2 cache 104 temporarily store data and hence reduce the number
of memory
access cycles, thereby improving processing speed and throughput. The CPU 101
can be
provided having more than one core, and thus, additional level 1 and level 2
caches 102 and
104. The flash ROM 106 can store executable code that is loaded during an
initial phase of
a boot process when the multimedia console 100 is powered- ON.
100211 A graphics processing unit (GPU) 108 and a video encoder/video codec
(coder/decoder) 114 form a video processing pipeline for high speed and high
resolution
graphics processing. Data is carried from the graphics processing unit 108 to
the video
encoder/video codec 114 via a bus. The video processing pipeline outputs data
to an A/V
(audio/video) port 140 for transmission to a television or other display. A
memory
controller I 10 is connected to the GPU 108 to facilitate processor access to
various types of
memory 112, such as, but not limited to, a RAM (Random Access Memory).
[0022] In an exemplary embodiment, the multimedia console 100 includes an I/O
controller 120, a system management controller 122, an audio processing unit
123, a
network interface controller 124, a first USB host controller 126, a second
USB controller
128 and a front panel I/O subassembly 13 0 that can be implemented on a module
118. The
USB controllers 126 and 128 serve as hosts for peripheral controllers 142(1)-
142(2), a
wireless adapter 148, and an external memory device 146 (e.g., flash memory,
external
CD/DVD ROM drive, removable media, etc.). The network interface 124 and/or
wireless
adapter 148 provide access to a network (e.g., the Internet, home network,
etc.) and can be
any of a wide variety of various wired or wireless adapter components
including an
Ethernet card, a modem, a Bluetooth module, a cable modem, and the like.
-5-

CA 02635836 2008-07-15
WO 2007/087078 PCT/US2006/049642
[00231 System memory 143 is provided to store application data that is loaded
during the boot process. A media drive 144 is provided and can comprise a
DVD/CD
drive, hard drive, or other removable media drive, etc. The media drive 144
can be internal
or extemal to the multimedia console 100. Application data can be accessed via
the media
drive 144 for execution, playback, etc. by the multimedia console 100. The
media drive
144 is connected to the UO controller 120 via a bus, such as a Serial ATA bus
or other high
speed connection (e.g., IEEE 1394).
[0024] The system management controller 122 provides a variety of service
functions related to assuring availability of the multimedia console 100. The
audio
processing unit 123 and an audio codec 132 form a corresponding audio
processing
pipeline with high fidelity and stereo processing. Audio data is carried
between the audio
processing unit 123 and the audio codec 132 via a communication link. The
audio
processing pipeline outputs data to the A/V port 140 for reproduction by an
external audio
player or device having audio capabilities.
[0025] The front panel I/O subassembly 130 supports the functionality of the
power button 153 and the eject button 152, as well as any LEDs (light
ernitting diodes) or
other indicators exposed on the outer surface of the multimedia console 100. A
system
power supply module 136 provides power to the components of the multimedia
console
100. A fan 138 cools the circuitry within the multimedia console 100.
[0026] The CPU 101, GPU 108, memory controller 110, and various other
components within the multimedia console 100 are interconnected via one or
more buses,
including serial and parallel buses, a memory bus, a peripheral bus, and a
processor or local
bus using any of a variety of bus architectures. By way of example, such
architectures can
include a Peripheral Component Interconnects (PCI) bus, PCI-Express bus, etc.
[0027] When the multimedia console 100 is powered ON, application data can be
loaded from the system memory 143 into memory 112 and/or caches 102, 104 and
executed on the CPU 101. The application can present a graphical user
interface that
provides a consistent user experience when navigating to different media types
available on
the multimedia console 100. In operation, applications and/or other media
contained within
the media drive 144 can be launched or played from the media drive 144 to
provide
additional functionalities to the multimedia console 100.
-6-

CA 02635836 2008-07-15
WO 2007/087078 PCT/US2006/049642
[0028] The multimedia console 100 can be operated as a standalone system by
simply connecting the system to a television or other display. In this
standalone mode, the
multimedia console 100 allows one or more users to interact with the system,
watch
movies, or listen to music. However, with the integration of broadband
connectivity made
available through the network interface 124 or the wireless adapter 148, the
multimedia
console 100 can further be operated as a participant in the larger network
community as
illustrated in Figure 1.
[0029] According to an aspect of j oining an in-progress on-line game session,
when a game is executed on console 100, it provides information to a service
150 operating
on communications network 160. The service 150 tracks the information for all
of the
users connected to the service 150 to provide a rich user experience. The
service 150
tracks user information across games, consoles, computing devices, etc. By
tracking the
infonnation for all users of the service 150, the service 150 can aggregate
statistics for all
users and measure game playing ability, provide a richer user experience by
providing
information about friends (e.g., what game they are playing and what skill
level they have
attained), track user achievements, and generally measure statistics for a
game aggregated
over a large user community.
[0030J In order to provide a consistent data set across games, the system
contemplates a schematized, configuration driven process where each game
generates a
configuration file (according to the schema defined by the service) that
defines the game
data for a particular game. Through a game configuration process, games
describe the data
the game generates about each game player. By using the configuration process,
the
service 150 is able to understand the data as it flows from the game, and is
able to integrate
it in meaningful ways with the other data that the service understands to
create a rich
profile of each user of the service. The profile will follow the user wherever
he goes on the
service, i.e., it is game and location independent.
[0031] For each user (alternatively referred to as a player or gamer), the
service
collects a number of pieces of data (called Profile Data) to build the User
Profile in every
game session-and even after a game session is concluded. In general, the
pieces of the
service experience that feed a profile can include:
-7-

CA 02635836 2008-07-15
WO 2007/087078 PCT/US2006/049642
1. What the user says about himself/herself (including account set up and the
construction of an elaborate personal profile, including the preferred social
gameplay "zone").
2. What others say about the user (feedback scores and a publicly visible
reputation).
3. What the games say about the user (game configuration and integration of
data that comes out of game play to compute a player's skill, among other
things).
4. What the system says about the user (time online, aggregates of games
played, Friends list, console behavior etc.)
[0032] The system creates a "User Profile," which serves as a building block
for
services and applications that aim to create a social community of gamers and
grow
relationships among players. The User Profile is the entirety of information
(e.g.,
metadata) related to a specific user (i.e., the game player's digital
identity). The User
Profile is developed from a set of services that collect and exposes this
information in a
meaningful way to the community. The User Profile also provides for
personalization such
that users can customize and enhance their gaming experience. The User Profile
comprises
various components, including, but not limited to, a Gamercard, game
achievements, and
gamer preferences.
[0033] Referring to Figure 3, there is illustrated an overview of an exemplary
architecture that can be used to implement the User Profile interaction as
well as user
interaction with the game session service. The console 100 interacts with a
remote service
158 that provides services 16.1 such as voice/chat, a friends list,
matchmaking, content
download, roaming, feedback, tournaments, voice messaging, join in progress,
and updates
to gamers. The service 158 also maintains the Profiles in a profile database
162 and
configuration data 164 used by the services 158 and games 154. The service 158
collects
Profiles, aggregates, processes information supplied by other services 158,
and fulfills real-
time client requests for retrieving Profile-related services. The Profiles in
the database 162
are also used by the games 154 to enable, among other things, personalization
and
customization, etc.
-8-

CA 02635836 2008-07-15
WO 2007/087078 PCT/US2006/049642
[0034] Using the console 100, the user can interact with a Guide 156. The
Guide
156 provides an interface by which the user can navigate to, and enter,
various online areas
and options provided by the remote service 158. The configuration data 164
stored by the
service can be used to determine features and options provided by the Guide
156. When
the game 154 is running, a defined set of APIs (including SetContext,
SetProperty,
SetAchievement, and Session APIs for writing data about players, and a number
of
specialized read APIs for viewing statistics, achievements, and other Profile
data) are used
to call and interact with the services 158. When requesting Profile
information via the
APIs, the game 154 can pass a unique identifier of a user. The service can
return a
Gamercard (discussed below), game statistics, game achievements, affiliations,
game
settings, etc. pertaining to a user.
[0035] Service 158 assists in tracking and displaying a wide-variety of in-
game
statistics, such as number of points, best lap times, and (importantly, for
calculating the
skill value needed in Matchmaking) win/loss. These statistics can be provided
for a user.
All statistics are provided by the various games that a user plays and
provided to the service
for inclusion in a player's User Profile. For example, a first-person shooter
title may want
to define a`Point' Property to be tracked independently for each `Map' Context
(e.g. 5
Points on Blood Creek vs. 10 Points on Battle Range). That information could
be
displayed as:
"PER-h1,1P POINTS"
Map Points
Blood Creek 5
Battle Range 10
[0036] Referring to Figure 4, the Profile 166 represents a User Profile. The
Profile 166 is created when a user creates a profile (selected from the guide
156) and
chooses his/her unique Gamertag (a unique name), tile (picture/avatar
associated with the
user), and other options during an account sign-up phase. From there, a base
Profile 166 is
created. The Profile 166 can then be populated from several sources. For
example, the
Profile 166 can include self-described data 168 from the Profile owner. Other
gamers 170
can provide feedback regarding the Profile owner. The service 158 can track
the gamer's
-9-

CA 02635836 2008-07-15
WO 2007/087078 PCT/US2006/049642
online and offline activity, In addition, the games 154 can report the gamer's
statistics and
game achievements.
[00371 The owner of a Profile can edit his/her Profile 166 directly and
control
who can view each section of the Profile. The Profile 166 can be edited via
general fields
(e.g., tile, country, language, gender, greeting, etc.)Iand/or system settings
(e.g., voice
output, controller vibration, character name, game format, game mode, etc.).
Privacy/Opt-
out Settings can be tuned for the Profile to, e.g., restrict presence
information only to
friends, allow game achievements to be visible to all, etc.
[0038] The Profile 166 can include feedback provided by other players 170.
Feedback helps others learn about a particular gamer. For example, if the
gamer uses foul
language or aggressive play in game sessions, other gamers can submit feedback
to the
service 158. The feedback mechanism improves user experience by building
reputations.
Players can therefore be anonymous, but not unknown because of the accumulated
feedback.
[0039] In another aspect of joining in-progress on-line game sessions, the
service
158 and games 154 track online and offline activity of gamers to provide usage
statistics in
the Profile 166. When a gamer plays online, a particular game title is added
to list of
games played that is made visible to others. While offline, the game console
100 and game
154 track the gamer's activity via a mechanism for instrumenting games to
collect detailed
information about a specific player's in-game statistics and accomplishments.
The Profile
166 is updated during the next connection to the service 158 to reflect the
offline play.
Game achievements can be reported to the service 154 by games via the Gamer
Profile data
mechanisms.
[0040] As noted above the Profile 166 can be used for customization and
preference setting on a global level, as well as a per game level. Gamer
preferences aid
games 154 in choosing defaults for common settings such as game profile name,
controller
inversion and controller vibration, etc. For example, if a gamer likes using
an inverted
controller, this preference will be used for new titles as they are played.
Games 154 have
access to Gamer Profiles via the database 162 and services 161. In addition,
game usage
data can be mined to tune the game 154 to the user's particular preferences
and game
features updated after the initial game launch.
-10-

CA 02635836 2008-07-15
WO 2007/087078 PCT/US2006/049642
[0041] A presence service can be included to provide information about user's
whereabouts and activities. Presence information is available to those users
that the gamer
wishes to share it. The Gamer Profile is the primary ways to access the
presence
information.
[0042] Referring to Figure 5 through Figure 13, the Profile can be viewed in a
number of ways and forms, and is typically displayed in the Gamercard 172. The
Gamercard 172 is the visual representation of the Gamer Profile (e.g., Profile
166 as
applied to a gamer) that is available to games on the console 100 and, e.g.,
the web. The
Gamercard 172 serves as a summary or snapshot of a player's Profile 166.
Gamers can use
the Gamercard to set up a matchmaking list where gamers are added to a
preferred players
list to play again in the future.
[0043] As shown in Figure 5, the Gamercard 172 can be divided into two
regions,
a base area 174 and a context-specific (or extended) area 176. The base area
174 provides
a set of Gamer Profile information in a standard and consistent way across
multiple
contexts, whereas the extended area 176 can be customized to fit a specific
context.
Although the Gamercard 172 of Figure 5 through Figure 13 are shown in the
context of the
guide 156, the Gamercard 172 can be visually separated from the rest of the
screen and
adopt the background color of the screen it is displayed on. In addition, the
Gamercard 172
can be temporarily replaced by an animation while it is being loaded for
viewing.
[0044] The base area 174 can be provided in different variants corresponding
to
differing contexts, while being a consistent view within each context. For
example, an
online Gamercard 172 is shown when one player is looking at another player's
Gamercard
172 during an online session. The online base area 174 includes details such
as the player's
Gamertag, gamer tile, overall community rating, gamer Cred (a points-based
reward points
system), gamer zone, country, membership tier, awards, etc. An offline
Gamercard 172 is
shown when a player is looking at his/her own Gamercard 172. The offline base
area 174
can include a subset of the online base area and cari further include
information regarding
titles played and time played. In an exemplary embodiment, the base area 174
of a
Gamercard 172 can be fixed in size, have a consistent, static layout and have
a fixed
placement of all information elements, such as Tile or Gamer Cred. '
-11-

CA 02635836 2008-07-15
WO 2007/087078 PCT/US2006/049642
[0045] The extended area 176 can include a set of Gamercard Actions, such as
"View Profile" and "Send Feedback," etc. In an exemplary embodiment, the
extended area
of the Gamercard is not fixed in size, because it can vary based on the
context. As shown
in Figure 5 through Figure 13 a user can scroll through the list of other
users via the guide
156 and a friends list 178. The Gamercard for other users can be displayed as
the user
scrolls among his/her friends or the user can be presented with an option to
see a full view
of the Gamer Profile. The full view mode consists of different views of the
extended area
176 and can include several sections, such as a Profile Summary, Community
Feedback,
Game Achievements, Activity, and Social Network. The guide 156 can advance
through
the list of friends, recent players (and summary sections for each player), a
user home page
for navigating to various options and settings, etc.
[0046] The profile summary includes information regarding number of games
played, time played, tile, greeting, etc. The community feedback includes
ratings on style,
sportsmanship, language, cooperation, etc. The game achievements section
includes recent
titles, experience points (gamer Cred), time played, game-specific statistics
and
achievements, etc. The activity section includes Gamer Cred earned, sessions
played, total
time played, active days on the service, etc. The social network includes
friends, groups,
positive/negative feedback count, etc.
[0047] The system can match players to game sessions based on social and/or
skill related interests. For online, multi-player games, Matchmaking connects
a game
.player to a session. A Match made session is an instance of game play that
includes 2 or
more gamers playing a game until they either decide to terminate the session
or until the
session meets its end criteria (as defined by the game). In an exemplary
embodiment, the
person who creates the session is the host. Some games are hostless, meaning
that the
game does not assign any special function to the person who originated the
game. In such a
case, the originator can be a person who was searching for a session with
specific criteria
and, when it was not found, the game created a session for the person and
advertised it for
others to match into it. Matchmaking involves joining a session that has, as a
minimum,
one player already in place. A gamer makes a Match by selecting "Matchmaking"
in a
game or in an out-of-game Matchmaking system. The Matchmaking UI can allow a
gamer
to add some filters to his search for a session (e.g., specifying a map or
difficulty level), or
it can push a gamer directly into a search query. In most cases, with or
without filters, a
-12-

CA 02635836 2008-07-15
WO 2007/087078 PCT/US2006/049642
gamer is given a session search result which consists of a list of sessions.
Each session is
defined by a session descriptor that includes a short summary of pertinent
information
about that session. If no search result is shown, a player can be dropped
directly in the
lobby of the game that best meets his/her search criteria.
[0048] When a game player chooses to Matchmake into a session, in the first
session, the profile data he has set describing himself is used to "prime the
pump" and find
the best fellow new gamers to play with. Just by playing, the game player
associates with a
group of fellow gamers who become "Recent Players" on the Affiliates List. The
service
preferably prioritizes playing with Recent Players over strangers in future
session, but once
a game player give positive feedback, these "positive feedback" people are
remembered by
the system and are given even higher priority. Over time, as a gamer becomes
very
familiar with a set of players, he invites them to become friends. These
friend gamers are
given higher priority.
[0049] In addition to Matchmaking based on a query with User Profile, the
Social
Matchmaking system, in conjunction with the tracking of friends, recent
players, and
feedback on recent players, builds a network of Affiliates who are prioritized
for Match.
[0050] The Affiliates list is a prioritized list of people for a player that
includes
(1) Friends (i.e. people who the player has invited, and who have accepted the
invitation, to
a preferred social network that allows exchange of messages and state
information), (2)
Positive Feedback people (i.e., people about whom the player has given
positive feedback),
and (3) Recent Players. The Social Matchmaking service always looks first
(before
conducting the query above) for the presence of Affiliate sessions on the
service. If any
person on a player's Affiliates list is online and in a joinable session, the
service will return
that session. If there are multiple Affiliate sessions, the ones with Friends
are given
priority over those with Positive Feedback People or those with Recent
Players. Positive
Feedback People are given priority over Recent Players.
[00511 In accordance with the above, Figure 6 illustrates a list of Recent
Players
in the guide 156. The Gamercard displayed, when browsing recent players, can
show the
base area and an extended area that provides information regarding recent
games, feedback,
and presence of the recent players. Figure 6 through Figure 9 illustrate
further details that
can be obtained about recent players, such as general achievements and gamer
Cred (Figure
-13-

CA 02635836 2008-07-15
WO 2007/087078 PCT/US2006/049642
7); game specific achievements, gamer Cred, times/sessions played (Figure 8);
and a date-
sorted achievement display (Figure 9).
[0052] Figure 10 illustrates an exemplary user home page from which the user
can
navigate among the various options provided by the service 158, edit Gamercard
information, change game settings, set preferences and privacy settings, etc.
Such settings
and preferences can be accessed using the exemplary user interfaces of Figure
11, Figure
12, and Figure 13. It is emphasized that the user interfaces (Uls) of Figure 5
through
Figure 13 are provided for exemplary purposes only and are not intended to
limit joining an
in-progress on-line game as recited in the claims.
[00531 There can be differences, between how the guide 156, games 154, and
players trigger Gamer Profile viewing. One instance is a user-instantiated
Gamercard.
Here, if a user receives a request from another gamer, the user and/or the
game can pause
the game 154 and bring up the Gamercard 172 to find out who is sending the
request.
There can also be a game-instantiated Gamercard 172, where a user can select
to view the
Gamercard 172, which brings up a Gamercard system application.
[0054] Players can join an in-progress, on-line game session without requiring
an
invitation from the host of the game session. In fact, a player is not
required to contact,
prior to joining the session, any player currently in the game session.
Further, a player is
not required to launch the game to determine whether a session is joinable.
Players can
join games in progress via the Gamer Profile UI, for example, depicted in
Figure 14. As
indicated in the area 180, a player has several options from which to select.
For example,
as depicted in Figure 14, the player can invite another into a game session,
join a game
session in progress (182), send a message, compare games, file a complaint,
and block
conimunication. Selectiing join in progress (182) starts a process for
allowing the player to
join the game indicated in the Gamer Profile. A game session can bejoinable if
there are
open slots available to the person seeking a slot. Some games that have join
in progress
sessions will advertise that a session is joinable until every public slot is
filled. If a slot is
available, a gamer can select a session and join it. If all slots are filled,
a player can enter a
lobby and wait until a slot becomes available.
[0055] Figure 15 is a flow diagram of an exemplary process for joining an in-
progress on-line game session. As described above, the player can search for a
game
-14-

CA 02635836 2008-07-15
WO 2007/087078 PCT/US2006/049642
session to join. Upon finding a game session to join, the player decides to
join the game in
progress at step 200. An exemplary UI for making this selection is shown in
Figure 14.
The UI indicates if the game session is joinable or not. For example, as
depicted in Figure
14, the selectable button 182 would not be rendered, or be grayed out for
example, if the
associated game were not capable of being joined in progress. Also, the
selectable join in
progress button 182 would not be rendered, or grayed out, if the player was
already in the
game session. Further, for games that are capable of being joined in progress,
in an
exemplary embodiment, the host of the game session can decide whether the game
is to be
public or private. If the host declares the game private, the game session can
not be joined
in progress (not joinable). If the host'declares the game session public, and
the game is
capable of being joined in progress, the game is joinable in progress. This
declaration
could be implemented, for example, by setting a flag, or flags, in a call game
session API.
Also, a game session can be not joinable if parental controls, or the like,
prevent a player
from joining a game. Thus, a game session can be not joinable if no slots are
available to
accommodate additional players, if the game is a non-joinable game, if the
host of the game
session declares the game session private, if the player attempting to join
the game session
is currently in the game session, and/or if parental controls prevent a player
from joining a
game session.
(0056] A game session can be partially joinable. A game session can be joined
within a time frame, during predetermined portions of a game, of a combination
thereof.
For example, a race game may be joinable until the race begins. As opposed to
a shooter
game that be joinable at all times and during all portions. Flags in a call
game session API
can be set to indicate if respective portions of a game session are joinable
or not joinable.
The game can give the session host the option to advance the session into a
state where it is
no longer joinable. Alternatively, the game can require all session
participants to confirm
their readiness in order to advance the session into a non-joinable state.
[0057] If the player decides not to join (step 202), the guide is closed at
step 204.
This might be the case, for example, if after selecting join in progress, the
player realizes
that he misplaced the game disc. Also at step 202, the source of the game code
is
determined. If the game code is in the memory of the player's game console, it
is
determined at step 206 if the player is currently in a game session. If the
player is not
-15-

CA 02635836 2008-07-15
WO 2007/087078 PCT/US2006/049642
currently in a game session (step 206), the game is launched at step 212 and
the game
session is joined at step 222.
;[0058] If the player is currently in a game session (step 206), the player is
asked if
he wants to exit the current game at step 208. An exemplary UI for presenting
this question
is shown in Figure 16. If the player does not want to exit the current game
session, the
player responds according (selects "No" as depicted in Figure 16), the guide
is closed at
step 210. If the player decides to exit the current game session (selects
"Yes" as depicted
in Figure 16), the game is launched at step 212 and the session is joined at
step 222.
[0059] If the game (step 202) cannot be detected on any connected disk drive
device, the player is prompted to insert the disk at step 214. An exemplary UI
for
prompting the player to insert the game disk is shown in Figure 17. The player
also is
given the option to cancel the join in progress at step 214. If the player
decides to cancel,
the guide is closed at step 218: If the player decides to continue, the disk
is inserted and the
game is loaded into the game console at step 216. The game is then launched at
step 220
and the session is joined at step 222.
[0060] If the game code was not found either in game console memory or on a
disk (step 202), or the player selects to download the game code, the game
code is
downloaded at step 224. That is, if the game is not detected on the game
console of the
joining party, the game is automatically downloaded and launched at the
joining party's
console. In an exemplary embodiment, this is true only for the games that are
configured
on the system as "Downloadable." If the game is not configured as
Downloadable, then the
user is informed that a disc must be inserted. In an exemplary embodiment, the
player is
told that the game could not be found and that the player has the option to
download the
game, search again, or cancel the join in progress. An exemplary UI for
providing this
information and presenting these options is shown in Figure 18. If the player
decides to
cancel, the guide is closed at step 204. If the player decides to search
again, the process
proceeds to step 202. A player could be instructed to search again, for
example, after
attaching a removable memory unit. If the player decides to continue (select
"Yes" as
depicted in Figure 18, the game is launched at step 226 and the session is
joined at step
222.
-16-

CA 02635836 2008-07-15
WO 2007/087078 PCT/US2006/049642
[00611 If the player would rather create a game session than join an existing
session, the player can proceed to a screen that allows the player to pick a
game title for
which he would like to create a session. At that point, the player can define
the game based
on the game configuration options. For example, the player can select the
level of play, the
number of players, and so on. After the player defines the game session
(defined by the
game in the configuration process), the player enters a game lobby until
participants join.
That game session will then show up on other gamers' screens that were
searching for a
game to join. Games set up in this way are "hosted" games (hosted by the
player who
created the session) that result in a game "Party," and when they are
completed, all of the
players have the option of either continuing in the same game, letting the
host change the
game settings for that game, or returning to the out-of-game lobby.
[0062] Private Parties can be managed in by identifying the assembly of
players in
the party separately from the gathering of players for a particular session of
game play. In
addition to waiting for gamers to join the game session, the player can
actively seek
participants and build a Party. The player can browse the Gamercards on
friends list,
Recent Players list and or otherwise find gamers with User Profiles that meet
certain search
criteria, e.g., having a certain skill level, locale, and/or reputation, or
who are otherwise
friends or Affiliates. After finding the various matching garners, the player
can invite them
to join a Party session directly by sending that gamer an invite to the Party
session. If the
player accepts the invite, he is joined in the OOG match Party lobby.
Alternatively, a voice
channel can be opened whereby the gamers can communicate, e.g., about the game
session.
Finally, while browsing for gamers, selected gamers can be added to the
player's Affiliates
list so that they will be noted as Affiliates in future game selections.
[0063] Rather than selecting to join an existing competition, the player can
create
a new competition and invite other to join via the process described above. A
player has
two options to create an out-of-game competition. First, the player can
quickly enter a
competition out-of-game on the web or in the Guide that was previously defined
in its
entirety via the corifiguration process. That is, the game developer provides
a predefined
competition setting for a game that is provided to the service via the
configuration data. In
that case, the player selects a game and then selects one of the available
predefined
competitions for that game. Similarly, the player can create a custom
cornpetition by
selecting a game that has competition enabled and defining the various
parameters for the
-17-

CA 02635836 2008-07-15
WO 2007/087078 PCT/US2006/049642
competition that were defined by the configuration data for that game, e.g.,
the number of
rounds, single elimination, and so on. A player selects these options on the
web or in the
Guide and creates a competition structure.
[0064] Whichever, mechanism the player engages to enter the competition, after
entering the competition, the service maintains the competition structure and
is viewable on
the service over a web connection or directly from the Guide on the console.
The
competition structure for example includes the topology of the competition,
e.g., single
elimination tree structure, match ups of the, various competition entrants,
and so on. A
competition home is set up where the topology and match-ups are viewable, both
on the
web and in the Guide, by all participants. Thereafter, the information is sent
to the host
console 100, e.g., the lobby unique ID, unique competition ID, unique round ID
and unique
match ID and the game play arbitration is started. Each round then starts and
completes.
At then end of each round, each console sends results back to the host along
with the
competition ID, unique round ID and unique round match ID. Thereafter the next
round of
competition is set up by the service and the process repeats until the
competition is
complete.
[0065] Those of ordinary skill in the art will understand that there are
various
modifications that will fall within the scope of the appended claims. While
joining an in-
progress, on-line game session has been described in connection with the
illustrative
embodiments of the various figures, it is to be understood that other similar
embodiments
can be used or modifications and additions can be made to the described
embodiments for
performing the same function of joining an in-progress, on-line game session
without
deviating therefrom.
-18-

Representative Drawing
A single figure which represents the drawing illustrating the invention.
Administrative Status

2024-08-01:As part of the Next Generation Patents (NGP) transition, the Canadian Patents Database (CPD) now contains a more detailed Event History, which replicates the Event Log of our new back-office solution.

Please note that "Inactive:" events refers to events no longer in use in our new back-office solution.

For a clearer understanding of the status of the application/patent presented on this page, the site Disclaimer , as well as the definitions for Patent , Event History , Maintenance Fee  and Payment History  should be consulted.

Event History

Description Date
Inactive: IPC assigned 2015-07-13
Inactive: First IPC assigned 2015-07-13
Inactive: IPC assigned 2015-07-13
Inactive: IPC expired 2014-01-01
Time Limit for Reversal Expired 2013-12-31
Application Not Reinstated by Deadline 2013-12-31
Inactive: IPC removed 2013-12-31
Inactive: IPC deactivated 2013-01-19
Deemed Abandoned - Failure to Respond to Maintenance Fee Notice 2012-12-31
Inactive: IPC assigned 2012-01-09
Inactive: First IPC assigned 2012-01-09
Letter Sent 2012-01-09
Inactive: IPC expired 2012-01-01
Request for Examination Requirements Determined Compliant 2011-12-19
All Requirements for Examination Determined Compliant 2011-12-19
Amendment Received - Voluntary Amendment 2011-12-19
Request for Examination Received 2011-12-19
Inactive: Cover page published 2008-11-06
Inactive: Notice - National entry - No RFE 2008-10-21
Inactive: First IPC assigned 2008-08-19
Application Received - PCT 2008-08-18
National Entry Requirements Determined Compliant 2008-07-15
Application Published (Open to Public Inspection) 2007-08-02

Abandonment History

Abandonment Date Reason Reinstatement Date
2012-12-31

Maintenance Fee

The last payment was received on 2011-11-04

Note : If the full payment has not been received on or before the date indicated, a further fee may be required which may be one of the following

  • the reinstatement fee;
  • the late payment fee; or
  • additional fee to reverse deemed expiry.

Patent fees are adjusted on the 1st of January every year. The amounts above are the current amounts if received by December 31 of the current year.
Please refer to the CIPO Patent Fees web page to see all current fee amounts.

Fee History

Fee Type Anniversary Year Due Date Paid Date
Basic national fee - standard 2008-07-15
MF (application, 2nd anniv.) - standard 02 2008-12-29 2008-07-15
MF (application, 3rd anniv.) - standard 03 2009-12-29 2009-11-05
MF (application, 4th anniv.) - standard 04 2010-12-29 2010-11-09
MF (application, 5th anniv.) - standard 05 2011-12-29 2011-11-04
Request for examination - standard 2011-12-19
Owners on Record

Note: Records showing the ownership history in alphabetical order.

Current Owners on Record
MICROSOFT CORPORATION
Past Owners on Record
DAVID SHAW
JAMES JEN
JOHAN PETER HANSEN
MICHAL BORTNIK
PATRICK W. O'KELLEY
STEVE PROTEAU
Past Owners that do not appear in the "Owners on Record" listing will appear in other documentation within the application.
Documents

To view selected files, please enter reCAPTCHA code :



To view images, click a link in the Document Description column. To download the documents, select one or more checkboxes in the first column and then click the "Download Selected in PDF format (Zip Archive)" or the "Download Selected as Single PDF" button.

List of published and non-published patent-specific documents on the CPD .

If you have any difficulty accessing content, you can call the Client Service Centre at 1-866-997-1936 or send them an e-mail at CIPO Client Service Centre.


Document
Description 
Date
(yyyy-mm-dd) 
Number of pages   Size of Image (KB) 
Description 2011-12-18 20 1,072
Abstract 2008-07-14 2 76
Description 2008-07-14 18 1,008
Drawings 2008-07-14 18 1,644
Claims 2008-07-14 4 132
Representative drawing 2008-10-21 1 12
Claims 2011-12-18 5 165
Notice of National Entry 2008-10-20 1 208
Reminder - Request for Examination 2011-08-29 1 122
Acknowledgement of Request for Examination 2012-01-08 1 177
Courtesy - Abandonment Letter (Maintenance Fee) 2013-02-24 1 173
PCT 2008-07-14 2 71