U.S. Pat. No. 9,861,896

METHOD AND SYSTEM FOR AN INTEGRATED PLATFORM WIDE PARTY SYSTEM WITHIN A MULTIPLAYER GAMING ENVIRONMENT

AssigneeMicrosoft Technology Licensing, LLC

Issue DateSeptember 4, 2008

Patent Arcade analysis Read the full post

U.S. Patent no. 9,861,896: Method and system for an integrated platform wide party system within a multiplayer gaming environment

U.S. Patent no. 9,861,896: Method and system for an integrated platform wide party system within a multiplayer gaming environment

Issued January 9, 2018 to Microsoft Technology Licensing, LLC
Priority Date September 4, 2008

Summary:
U.S. Patent No. 9,861,896 (the ‘896 Patent) relates to multiplayer video games. The invention provides a system for platform wide party multiplayer gaming. Players may be grouped together into one or more parties. This party system allows for messaging between players across their respective consoles. Event notifications can be shared between the consoles as well. Even while playing a different game a player may be able to receive notifications from other party members playing other video games. This increased functionality and accessibility allows for greater connectivity and communication between players. This invention attempts to bridge the gap between multiplayer game parties and the inter-connectivity created by modern social media groups.

Abstract:
A method and system for a platform wide party system that may be deployed in a multiplayer gaming environment. Players may associate themselves with one or more parties, wherein players within a party may choose to automatically exchange messages associated with changes in state of the players in a gaming environment. The party system exposes an API providing a plurality of function calls that may be integrated seamlessly with game play. A first player may indicate desired notification events to be received from a second player associated with the same party as the first player. Upon detection of a desired notification event on the video game console of the second player, an event notification may be communicated to a video game console of the first player causing an action to be performed on the first player’s video game console. Actions may include event notifications via text and/or sound, which may be displayed to the first player while engaged in any game session and without requiring the first player to exit the current game session.

Illustrative Claim:
1. A method for providing party services in a multiplayer gaming environment comprising at least one first player and a second player, wherein the at least one first player is respectively associated with a first video game console and the second player is associated with a second video game console, the method comprising: receiving party association information, wherein the party association information indicates a party relationship between the at least one first player and the second player; receiving recipient event information indicating an association of each of at least one first player and each of at least one desired notification event, wherein each of the at least one desired notification event pertains to a session behavior of the second player; and in response to detecting that an event has occurred with respect to the second player: determining whether the event is a desired notification event of the at least one desired notification event of an associated first player using the recipient event information; and when the event is a desired notification event of the associated first player, alerting the associated first player of the event while the associated first player is in a first game session and without cancelling or exiting the first game session and wherein the second player is in a second game session that is different from the first game session; wherein the at least one desired notification event is requested via an application programming interface (API) that is configured to provide a plurality of function calls that are integrated with game play of the first and second video game consoles; and wherein an event table is used to identify recipients who have subscribed to notification events, the event table stored at least on the second video game console and accessed by an party event handler of the second video game console to determine the at least one desired notification event.

Illustrative Figure

Abstract

A method and system for a platform wide party system that may be deployed in a multiplayer gaming environment. Players may associate themselves with one or more parties, wherein players within a party may choose to automatically exchange messages associated with changes in state of the players in a gaming environment. The party system exposes an API providing a plurality of function calls that may be integrated seamlessly with game play. A first player may indicate desired notification events to be received from a second player associated with the same party as the first player. Upon detection of a desired notification event on the video game console of the second player, an event notification may be communicated to a video game console of the first player causing an action to be performed on the first player's video game console. Actions may include event notifications via text and/or sound, which may be displayed to the first player while engaged in any game session and without requiring the first player to exit the current game session.

Description

DETAILED DESCRIPTION OF ILLUSTRATIVE EMBODIMENTS FIG. 1Adetects an exemplary environment in which a party system may be deployed. An arbitrary number of players105a-105dmay each be associated with a respective video game console135a-135d. Video game consoles135a-135dmay each provide a platform for hosting a video game for a respective player105a-105d. A video game also referred to herein as a video game title or title may comprise program instructions, resources, multimedia content involving sound and graphics etc., which when executed on a respective video game console may provide a multimedia video game experience to a user. A party system (shown and described with respect toFIG. 1B) may be deployed on any of the video game consoles135a-135d. As described in more detail below, a party system may comprise any number of processes to receive information regarding associations between players and parties, maintain state information regarding players' associations with particular parties, detect events relating to particular game players and allow for communication of selected events between and among game players associated with a particular party even if players within the party are engaged in different game play session. An expanded view of a video game console135aon which a participant system may be deployed is also shown inFIG. 1A. Video game console135amay include network interface107, GPU (“Graphics Processing Unit”)110, and CPU (“Central Processing Unit”)115. CPU115may provide a general-purpose computer that may concurrently execute any number of processes or tasks. Video game titles running on videogame console135a(not shown inFIG. 1) may each comprise a process or task executed by CPU115. Memory block121may store program instructions and/or data relating to processes or tasks executed by CPU115. Thus, CPU115may retrieve or store data in memory block121in order to perform processing. For example, videogame titles may be stored in memory block121and CPU115may access these instructions. GPU110may provide a specialized and ...

DETAILED DESCRIPTION OF ILLUSTRATIVE EMBODIMENTS

FIG. 1Adetects an exemplary environment in which a party system may be deployed. An arbitrary number of players105a-105dmay each be associated with a respective video game console135a-135d. Video game consoles135a-135dmay each provide a platform for hosting a video game for a respective player105a-105d. A video game also referred to herein as a video game title or title may comprise program instructions, resources, multimedia content involving sound and graphics etc., which when executed on a respective video game console may provide a multimedia video game experience to a user.

A party system (shown and described with respect toFIG. 1B) may be deployed on any of the video game consoles135a-135d. As described in more detail below, a party system may comprise any number of processes to receive information regarding associations between players and parties, maintain state information regarding players' associations with particular parties, detect events relating to particular game players and allow for communication of selected events between and among game players associated with a particular party even if players within the party are engaged in different game play session.

An expanded view of a video game console135aon which a participant system may be deployed is also shown inFIG. 1A. Video game console135amay include network interface107, GPU (“Graphics Processing Unit”)110, and CPU (“Central Processing Unit”)115. CPU115may provide a general-purpose computer that may concurrently execute any number of processes or tasks. Video game titles running on videogame console135a(not shown inFIG. 1) may each comprise a process or task executed by CPU115. Memory block121may store program instructions and/or data relating to processes or tasks executed by CPU115. Thus, CPU115may retrieve or store data in memory block121in order to perform processing. For example, videogame titles may be stored in memory block121and CPU115may access these instructions.

GPU110may provide a specialized and dedicated processor for performing graphics processing and rendering. GPU110may utilize frame buffer111and rendering buffer109in order to perform graphics processing and rendering. Frame buffer111may be a video output device that displays a video display from a complete frame of data. Information in frame buffer111may comprise color values for every pixel to be displayed on a display device140. Data in frame buffer111may be subject to further processing and rendering by GPU111the result of which may be stored in rendering buffer109. Additional rendering may include personal information of a user105a.

Audio buffer113may store rendered audio data relating to a video game title executing on video came console135. Data stored in audio buffer may be digital audio samples of audio information.

CPU110may interact with network interface107to cause information to be transmitted over network125. In addition, CPU110may interact with network interface107in order to receive information transmitted over network125, for example, for other users such as users105b-105d. Video game console135amay output rendered video for display on display device142and rendered audio for playback on audio device144.

FIG. 1Bdepicts a deployment of a party system in a multiplayer gaming environment. Players105a-105cmay respectively use video game consoles135a-135to participate in video games, which may include multiplayer video game sessions. Thus, for example players105aand105bmay respectively use video game consoles135aand135bto participate in a multiplayer game session. As shown inFIG. 1Bvideo game consoles135a-135cand party server294are coupled to network125and may communicate with one another via network125.

Game hosting modules237a-237cmay be respectively deployed on each video game console135a-135c. Each game hosting module237a-237cmay provide services to allow a respective player (i.e.,105a-105c) to participate in a single player or multiplayer video game session. The services may be made available via an API (“Application Programming Interface”), which is not depicted inFIG. 1B. For example, game hosting modules237a-237cmay each provide services for low level support for a video game session such as APIs for interacting with graphics hardware, loading a desired video game from a library, establishing network connections with other players in a multiplayer session, saving and retrieving state information regarding video games in progress, etc.

A party system may be deployed in the multiplayer environment shown inFIG. 1Bcomprising the aggregate collection of a plurality of party client modules220a-220cand party server294. In particular, a party client module220a-220cmay be deployed on each respective video game console135a-135c. As described in detail below, each party client module220a-220cmay perform services including detecting events related to respective users105a-105cincluding events related to game play as well as other events that relate to the state of a player within an online session. Other events may include, for example, a player's logging onto party server294, a party navigating a menu system, etc. Party server294, as described in detail below, may maintain state information regarding game players' associations with particular parties, game player preferences, etc. In addition, party server294may from time to time update party client processes220a-220cusing the state information as described below.

FIG. 2Adepicts an exemplary architecture of a party client module220according to one embodiment. Game hosting module237A may be deployed to execute on CPU115. Party client module220may also be deployed to execute on CPU115. Party client module220may comprise party communication module203, party event handler module205and player interface module230. Game hosting module237A may invoke services and function of party client module220via party system API295, which is described in more detail below. Thus, games executing via game hosting module237A may call services and functions of party client module220via party system API295in order to invoke these services with tight integration with game play. Further, using the arrangement shown inFIG. 2A, services provided by party client module may be available within games running via game hosting module237A without requiring players to exit a running game before executing the services.

Party client module220may comprise party communication module203, party event handler module205and player interface module230. Party event handler module205may perform functions to detect events occurring on a video game console on which party client process is executing. Events may comprise events occurring in video games executing via game process210or other events relating to the state of the player using the video game console. For example, state events may comprise events relating to the player's logging onto party server294, navigating various administrative menus, changing preference information, electing to join a particular multiuser game session, etc. Depending on the nature of detected events, party event handler module205may perform certain functions including notifying other players of the occurrence of the events.

Party communication module203may perform functions to transmit information over a network and receiving information from a network. Thus, for example, upon receiving notification of a relevant event, party event handler module205may transmit information regarding the event to party communication module203in order to cause the transmission of the event over a network to a relevant party. On the other hand, party communication module203may also receive notification of events generated by other players in a multiplayer environment and transmit those notifications to party event handler module for processing205. An exemplary process executed by a party communication module both for detection of events and processing of received events is described in detail below.

Player interface module230may perform functions to display a graphical user interface (“GUI”) to players. Exemplary information that may be displayed on a GUI may include information regarding relevant events generated by other players. According to one embodiment, this information may be displayed seamlessly with a game play screen. An exemplary GUI is described in detail below.

FIG. 2Bdepicts an exemplary architecture of a party server according to one embodiment. Party server294may comprise party communication system296and party database237. Party database237may store state information regarding particular players including their party affiliations, online/offline status, etc. An exemplary schema of a party database237is described below. Party communication system294may perform functions to establish communications with game players including transmission of state information regarding players to other players in an associated party. For example, party communication system294may transmit the online or offline status of particular players to other players of a party with which the player is associated.

FIG. 2Cdepicts an exemplary recipient event table according to one embodiment. According to one embodiment, players acting as recipients may subscribe to events from other players they wish to know about. Event subscription may be accomplished by sending a request to the player for whom particular event notifications are requested. Recipient event table281may be stored locally on a video game console associated with a user and utilized by party event handler module205running on that video game console to determine events of the player to transmit to other players, herein referred to as recipients. According to one embodiment, event action table281may comprise recipient column, party column, event column and cache column. Recipient column may store identifiers of players that have been designated as recipients to receive particular events. Party column stores a name of an associated party for a recipient. Event column stores a particular event to transmit to a recipient. As will be described below, an event may be transmitted in a specific format herein referred to as an event message. Cache column stores a binary value indicating whether the event should be cached locally if the recipient is not online when the event is generated.

It is assumed for purposes of this discussion that the exemplary event table belongs281shown inFIG. 2Cbelongs to a hypothetical player Rex and may be stored locally on his video game console. According to this example, Dino who is a member of the party Marauders has been designated to receive an event message when Jim logs onto a party sever. And, this event is designated to be cached. Dino is also designated to receive an event message when Rex commences play of the video game entitled Blood Puzzle. This event is designated not to be cached. GameGirl, who is a member of the Screamers party, has been designated to receive an event notification if Rex achieves a high score in Doomsday and the event is not to be cached. Henry who is also a member of the Screamers party has been designated to receive an event notification if Rex exits (i.e., logs off) the system. Jasper who is a member of the party called GameGang has been designated to receive an event notification if Rex installs the game Attack Force 9 and this event is to be cached. Further, according to exemplary recipient event table281, Joe15 of the Cogs party is to be notified if Rex logs on and the event is not to be cached. Noelle of the cogs is designated to receive an event notification if Rex reaches level 7 of StarFighter and the event is not to be cached.

FIG. 2Ddepicts an exemplary sender event table. The sender event table may comprise a sender column, a party column, an event column, and an action column. The sender column may my store the name of a sending player. The party column may store the name of an associated party for each sending player. The event column stores information regarding a type of incoming event that may be received from a corresponding player. The action column may store an action to be undertaken with respect to a particular incoming event received from a player.

According to one embodiment, actions may be undertaken by party event handler module205as described below. In particular, in order to undertake an action, a function or service implemented by party system API295may be called using that API. As described in more detail below, party system API295may provide services for player notification, initiation of communication sessions between players, automated invitations for players to join particular games. In general, any action may be automated and made available via a function or service available through party system API in order to execute the action. In addition, a scripting functionality may be provided to allow the combination of multiple actions and thereby multiple calls via party system API295.

For purposes of this discussion, it is assumed that sender event table282belongs to a hypothetical player Dino, who was also referenced in recipient event table281. According to this example, upon receiving an event notification from Rex of the Marauders that Rex has logged on, Dino is notified of this event with a text notification that may be displayed without requiring Dino to cancel or close any game play session currently in progress. In addition, according to exemplary sender event table282, upon receiving an event notification from Rex of the Marauders that Rex has commenced the game Blood Puzzle, an audio notification is provided to Dino, a request to join Rex in the Blood Puzzle session is provided to Dino and a voice communication session is initiated between Dino and Rex.

FIG. 2Edepicts an exemplary structure of an event message according to one embodiment. Event message241may comprise unique event identifier field (“UEID”)242, Sender field243, Recipient field244field and Supporting Data field245. UEID field242may store a unique identifier of an event in the message. According to one embodiment, a master table of event types may be generated and a UEID assigned to each event type. Sender field243may store an identifier of the sender of the event. Recipient field244may store a unique identifier of the intended recipient of the event message. Supporting Data field245may store any additional data that may assist an event handler at the recipient in interpreting the event or carrying out an associated action in response to receiving the event message.

FIG. 3is a flowchart of a process that may be performed by a party event handler module. The process is initiated in305. In315, if an event is not detected (‘No’ branch of315), flow continues with315. If an event is detected in315(Yes' branch of315), flow continues with330and a recipient event table on the video game console is consulted to determine whether the detected event is one for which a recipient has requested notification. In335, if the detected event is not a desired notification event (‘No’ branch of335), flow continues with345. If the event is a desired notification event (Yes' branch of335), flow continues with340and an event message is created and sent to the intended recipient(s) as determined from the recipient event table.

In345, it is determined whether an incoming event has been received from a sender. If not (‘No’ branch of345), flow continues with315. If so (‘Yes’ branch of345) flow continues with350and the sender event table is consulted to look up the received event. In355, the action corresponding to the event as determined from the sender event table is performed. Flow then continues with315.

FIG. 4Adepicts an exemplary schema of a party database that may be stored at a party server. According to one embodiment party database237may comprise party table475, player table481, party-player association table490, game table470and device table492. In general, party database237may store any information related to a party system. According to one embodiment, information regarding the current state of a player with respect to games he or she is currently playing is stored locally and the respective video game console. However, according to alternative embodiments this information may be stored at the party server within party database237.

Party table475may comprise party ID field422, party name field425and party description field410. Party ID field422may store a unique identifier for a party. Party name field425may store a unique name for a party. Party description field410may store a description of a party.

Player table481may comprise player ID field487, player name field487and IP address field489. Player ID field may store a unique identifier of a player. Player name field487may store a name for a player associated with a player ID stored in player ID field487. IP address field489may store an IP address of a player that has logged onto party server294. In the case that the player is not logged on, IP address field489may be set to NULL.

Device table492may comprise device ID field421, video profile field424, audio profile field426and processor profile field428. Device ID field421may store a unique identifier of a device and in particular a video game console. Video profile field424may store information indicating an associated video profile and capabilities for the device. Audio profile field426may store information indicating an associated audio profile and capabilities for a device. Processor profile field428may store information indicating a processor profile of a device.

Party player association table490may comprise party ID field422, player ID field485and device ID field421. Thus, in order to associate a player with a particular party and device, corresponding entries in a player association table490may be created. According to one embodiment a single player may be associated with more than one party and/or multiple players may be associated with a single device.

Game table470may comprise game ID field410and game name field415. Game ID field410may store a unique identifier of a video game. Game name field may store a name of a video game associated with a game ID stored in game ID field410.

FIG. 4Bdepicts an exemplary GUI for integrated presentation of game play and party system information. GUI461may be generated and displayed by a player interface module230running on a video game console associated with a game player. GUI461may comprise game play pane446, party members pane442, automated events selection button444, games pane451, video chat pane448and text event notification pane449.

Game play pane446may present game play action for a current game that a player is currently playing. Party members pane442may show other players and their respective online/offline status (indicated in bold) along with their associated party. Thus, according to the example shown inFIG. 4B, gamers GameLover295, Darth, Dino, GameGirl, RedJoe15, GameAlie and Henry are all players associated with the player. Dino and GameGirl are currently online. As shown inFIG. 4Bassociated players may belong to different parties as noted because a player may be associated with multiple parties. Automated events selection button444may allow a player to initiate a selection of events the player desires to be notified of with respect to other players and may cause the initiation of an additional GUI for selection of these event. Games pane451may show current games installed on the associated video game console. Video chat pane448may allow for a video and audio chat session with a player even if that that player is not currently in a multiplayer game session with the associated game player.

Event notification pane449may display textual indicators of events that the associated player has subscribed to with respect to other players. These event notifications may be displayed to the associated player without requiring the player to exit the current gaming session.

FIG. 5shows an exemplary computing environment in which aspects of the example embodiments may be implemented. Computing system environment500is only one example of a suitable computing environment and is not intended to suggest any limitation as to the scope of use or functionality of the described example embodiments. Neither should computing environment500be interpreted as having any dependency or requirement relating to any one or combination of components illustrated in exemplary computing environment500.

The example embodiments are operational with numerous other general purpose or special purpose computing system environments or configurations. Examples of well known computing systems, environments, and/or configurations that may be suitable for use with the example embodiments include, but are not limited to, personal computers, server computers, hand-held or laptop devices, multiprocessor systems, microprocessor-based systems, set top boxes, programmable consumer electronics, network PCs, minicomputers, mainframe computers, embedded systems, distributed computing environments that include any of the above systems or devices, and the like.

The example embodiments may be described in the general context of computer-executable instructions, such as program modules, being executed by a computer. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types. The example embodiments also may be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network or other data transmission medium. In a distributed computing environment, program modules and other data may be located in both local and remote computer storage media including memory storage devices.

With reference toFIG. 5, an exemplary system for implementing the example embodiments includes a general purpose computing device in the form of a computer510. Components of computer510may include, but are not limited to, a processing unit520, a system memory530, and a system bus521that couples various system components including the system memory to processing unit520. Processing unit520may represent multiple logical processing units such as those supported on a multi-threaded processor. System bus521may be any of several types of bus structures including a memory bus or memory controller, a peripheral bus, and a local bus using any of a variety of bus architectures. By way of example, and not limitation, such architectures include Industry Standard Architecture (ISA) bus, Micro Channel Architecture (MCA) bus, Enhanced ISA (EISA) bus, Video Electronics Standards Association (VESA) local bus, and Peripheral Component Interconnect (PCI) bus (also known as Mezzanine bus). System bus521may also be implemented as a point-to-point connection, switching fabric, or the like, among the communicating devices.

Computer510typically includes a variety of computer readable media. Computer readable media can be any available media that can be accessed by computer510and includes both volatile and nonvolatile media, removable and non-removable media. By way of example, and not limitation, computer readable media may comprise computer storage media and communication media. Computer storage media includes both volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data. Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CDROM, digital versatile disks (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can accessed by computer510. Communication media typically embodies computer readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transport mechanism and includes any information delivery media. The term “modulated data signal” means a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal. By way of example, and not limitation, communication media includes wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared and other wireless media. Combinations of any of the above should also be included within the scope of computer readable media.

System memory530includes computer storage media in the form of volatile and/or nonvolatile memory such as read only memory (ROM)531and random access memory (RAM)532. A basic input/output system533(BIOS), containing the basic routines that help to transfer information between elements within computer510, such as during start-up, is typically stored in ROM531. RAM532typically contains data and/or program modules that are immediately accessible to and/or presently being operated on by processing unit520. By way of example, and not limitation,FIG. 5illustrates operating system534, application programs535, other program modules536, and program data537.

Computer510may also include other removable/non-removable, volatile/nonvolatile computer storage media. By way of example only,FIG. 6illustrates a hard disk drive540that reads from or writes to non-removable, nonvolatile magnetic media, a magnetic disk drive551that reads from or writes to a removable, nonvolatile magnetic disk552, and an optical disk drive555that reads from or writes to a removable, nonvolatile optical disk556, such as a CD ROM or other optical media. Other removable/non-removable, volatile/nonvolatile computer storage media that can be used in the exemplary operating environment include, but are not limited to, magnetic tape cassettes, flash memory cards, digital versatile disks, digital video tape, solid state RAM, solid state ROM, and the like. Hard disk drive541is typically connected to system bus521through a non-removable memory interface such as interface540, and magnetic disk drive551and optical disk drive555are typically connected to system bus521by a removable memory interface, such as interface550.

The drives and their associated computer storage media discussed above and illustrated inFIG. 5, provide storage of computer readable instructions, data structures, program modules and other data for computer510. InFIG. 5, for example, hard disk drive541is illustrated as storing operating system544, application programs545, other program modules546, and program data547. Note that these components can either be the same as or different from operating system534, application programs535, other program modules536, and program data537. Operating system544, application programs545, other program modules546, and program data547are given different numbers here to illustrate that, at a minimum, they are different copies. A user may enter commands and information into computer510through input devices such as a keyboard562and pointing device561, commonly referred to as a mouse, trackball or touch pad. Other input devices (not shown) may include a microphone, joystick, game pad, satellite dish, scanner, or the like. These and other input devices are often connected to processing unit520through a user input interface560that is coupled to the system bus, but may be connected by other interface and bus structures, such as a parallel port, game port or a universal serial bus (USB). A monitor591or other type of display device is also connected to system bus521via an interface, such as a video interface590. In addition to the monitor, computers may also include other peripheral output devices such as speakers597and printer596, which may be connected through an output peripheral interface595.

Computer510may operate in a networked environment using logical connections to one or more remote computers, such as a remote computer580. Remote computer580may be a personal computer, a server, a router, a network PC, a peer device or other common network node, and typically includes many or all of the elements described above relative to computer510, although only a memory storage device581has been illustrated inFIG. 5. The logical connections depicted inFIG. 5include a local area network (LAN)571and a wide area network (WAN)573, but may also include other networks. Such networking environments are commonplace in offices, enterprise-wide computer networks, intranets and the Internet.

When used in a LAN networking environment, computer510is connected to LAN571through a network interface or adapter570. When used in a WAN networking environment, computer510typically includes a modem572or other means for establishing communications over WAN573, such as the Internet. Modem572, which may be internal or external, may be connected to system bus521via user input interface560, or other appropriate mechanism. In a networked environment, program modules depicted relative to computer510, or portions thereof, may be stored in the remote memory storage device. By way of example, and not limitation,FIG. 5illustrates remote application programs585as residing on memory device581. It will be appreciated that the network connections shown are exemplary and other means of establishing a communications link between the computers may be used.

Computing environment500typically includes at least some form of computer readable media. Computer readable media can be any available media that can be accessed by computing environment500. By way of example, and not limitation, computer readable media may comprise computer storage media and communication media. Computer storage media includes volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data. Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can accessed by computing environment500. Communication media typically embodies computer readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transport mechanism and includes any information delivery media. The term “modulated data signal” means a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal. By way of example, and not limitation, communication media includes wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared and other wireless media. Combinations of the any of the above should also be included within the scope of computer readable media. Although the subject matter has been described in language specific to structural features and/or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as example forms of implementing the claims.

Although the subject matter has been described in language specific to the structural features and/or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features or acts described above are disclosed as example forms of implementing the claims.

The inventive subject matter is described with specificity to meet statutory requirements. However, the description itself is not intended to limit the scope of this patent. Rather, it is contemplated that the claimed subject matter might also be embodied in other ways, to include different steps or combinations of steps similar to the ones described in this document, in conjunction with other present or future technologies.

Claims

  1. A method for providing party services in a multiplayer gaming environment comprising at least one first player and a second player, wherein the at least one first player is respectively associated with a first video game console and the second player is associated with a second video game console, the method comprising: receiving party association information, wherein the party association information indicates a party relationship between the at least one first player and the second player;receiving recipient event information indicating an association of each of at least one first player and each of at least one desired notification event, wherein each of the at least one desired notification event pertains to a session behavior of the second player;and in response to detecting that an event has occurred with respect to the second player: determining whether the event is a desired notification event of the at least one desired notification event of an associated first player using the recipient event information;and when the event is a desired notification event of the associated first player, alerting the associated first player of the event while the associated first player is in a first game session and without cancelling or exiting the first game session and wherein the second player is in a second game session that is different from the first game session;wherein the at least one desired notification event is requested via an application programming interface (API) that is configured to provide a plurality of function calls that are integrated with game play of the first and second video game consoles;and wherein an event table is used to identify recipients who have subscribed to notification events, the event table stored at least on the second video game console and accessed by an party event handler of the second video game console to determine the at least one desired notification event.
  1. The method of claim 1 , wherein each video game console is coupled to a network.
  2. The method of claim 2 , wherein alerting the associated first player of the event further comprises transmitting a message via the network to the first video game console of the associated first player, wherein the message includes an identifier of the desired notification event.
  3. The method of claim 3 , wherein upon receipt of the message, an associated action is automatically performed on the first video game console of the associated first player.
  4. The method of claim 4 , wherein the action is performed by: parsing the message to determine the identifier of the desired notification event;and calling an API function corresponding to the identifier.
  5. The method of claim 5 , wherein the action corresponds to displaying a notification on a GUI (“Graphical User Interface”) provided by the first video game console of the associated first player, wherein the GUI includes at least a game play pane and a message pane, wherein the game play pane displays game play information and the message is displayed in the message pane.
  6. The method of claim 1 , wherein the at least one desired notification event includes a logging on of the second player to a game server.
  7. The method of claim 1 , wherein the at least one desired notification event includes an achievement of a high score in a video game.
  8. The method of claim 1 , wherein the at least one desired notification event includes an achievement of a particular level in a video game.
  9. The method of claim 1 , wherein the at least one desired notification event includes an installation of a particular video game title.
  10. A system for providing party services in a multiplayer gaming environment comprising at least one first player and a second player, wherein the at least one first player is respectively associated with a first video game console and the second player is associated with a second video game console, the system comprising: a processor and a memory storing instructions that, when executed by the processor, cause the system to perform operations comprising to: receive party association information, wherein the party association information indicates a party relationship between the at least one first player and the second player;receive recipient event information indicating an association of each of at least one first player and each of at least one desired notification event, wherein each of the at least one desired notification event pertains to a session behavior of the second player;and in response to detecting that an event has occurred with respect to the second player: determine whether the event is a desired notification event of the at least one desired notification event of an associated first player using the recipient event information;and when the event is a desired notification event of the associated first player, alert the associated first player of the event while the associated first player is in a first game session and without exiting the first game session and wherein the second player is in a second game session that is different from the first game session;wherein the at least one desired notification event is requested via an application programming interface (API) that is configured to provide a plurality of function calls that are integrated with gameplay of the first and second video game consoles;and wherein an event table is used to identify recipients who have subscribed to notification events, the event table stored at least on the second video game console and accessed by an party event handler of the second video game console to determine the at least one desired notification event.
  11. The system of claim 11 , wherein each video game console is coupled to a network.
  12. The system of claim 12 , the processor is further adapted to transmit a message via the network to the first video game console of the associated first player, wherein the message includes an identifier of the desired notification event.
  13. The system of claim 13 , wherein the first video game console of the associated first player comprises a second processor adapted to upon receipt of the message, automatically perform an action on the first video game console of the associated first player.
  14. The system of claim 14 , wherein the second processor is further adapted to: parse the message to determine the identifier of the desired notification event;and call an API function corresponding to the identifier.
  15. The system of claim 15 , wherein the action corresponds to displaying a notification on a GUI (“Graphical User Interface”) provided by the first video game console of the associated first player, wherein the GUI includes at least a game play pane and a message pane, wherein the game play pane displays game play information and the message is displayed in the message pane.
  16. A machine readable storage medium, other than a signal, containing instructions for providing party services in a multiplayer gaming environment comprising at least one first player and a second player, wherein the at least one first player is respectively associated with a first video game console and the second player is associated with a second video game console, the instructions comprising instructions for: receiving party association information, wherein the party association information indicates a party relationship between the at least one first player and the second player;receiving recipient event information indicating an association of each of at least one first player and each of at least one desired notification event, wherein each of the at least one desired notification event pertains to a session behavior of the second player;in response to detecting that an event has occurred with respect to the second player: determining whether the event is a desired notification event of the at least one desired notification event of an associated first player using the recipient event information;when the event is a desired notification event of the associated first player, transmitting an event message to the associated first player while the associated first player is in a first game session and without exiting the first game session and wherein the second player is in a second game session that is different from the first game session;wherein the at least one desired notification event is requested via an application programming interface (AP) that is configured to provide a plurality of function calls that are integrated with gameplay of the first and second video game consoles;and wherein an event table is used to identify recipients who have subscribed to notification events, the event table stored at least on the second video game console and accessed by an party event handler of the second video game console to determine the at least one desired notification event.
  17. The machine readable storage medium of claim 17 , wherein each video game console is coupled to a network.
  18. The machine readable storage medium of claim 18 , wherein alerting the associated first player of the event further comprises transmitting a message via the network to the first video game console of the associated first player, wherein the message includes an identifier of the desired notification event.
  19. The machine readable storage medium of claim 19 , wherein upon receipt of the message, an associated action is automatically performed on the first video game console of the associated first player.

Disclaimer: Data collected from the USPTO and may be malformed, incomplete, and/or otherwise inaccurate.