Enabling rent/buy redirection in invitation to an online service
Claim Score by NHIP
Abstract
A system and method are directed towards enabling a user to access a client service such as a client game program that interacts with an online service such as a multiplayer game. A client probe detects execution of the client service on a first client device, and sends an instant message with address information to a second client device. A messaging service on the second client device, displays a presence of the first client and provides a selectable button to initiate the client service. If not already installed, the messaging service requests the client service from a remote online service such as a portal that may be independent from the online game service. The remote online service may provide options to freely try, rent, or buy the client service. The second client device downloads the client service and uses the address to connect to the same online multiplayer game.

Term
Projected expiry 21 October 2027.
- Priority
- Filed
- Published
- Today
- Projected expiry
20 claims: 5 independent, 15 dependent
- 1A method for enabling a user to access a client service that interacts with an online service, comprising:receiving an indication that a first client service is executing and is interacting with the online service, wherein the indication includes an address to the online service;providing a selectable interface control for accessing a second client service that can interact with the online service;detecting selection of the selectable interface control;and providing access to the second client service via a remote service if the second client service is not currently available for local execution.
- 10Broadest claimClaim Score 73, broad(NHIP)A computer readable medium, comprising executable instructions for performing actions, including:receiving an indication that a first client service is executing and is interacting with the online service, wherein the indication includes an address to the online service;providing a selectable interface control for accessing a second client service that can interact with the online service;detecting selection of the selectable interface control;and providing access to the second client service via a remote service if the second client service is not currently available for local execution.
- 11A modulated data signal for communicating data over a network, the modulated data signal comprising instructions that enable a computing device to perform the actions of:receiving an indication that a first client service is executing and is interacting with the online service, wherein the indication includes an address to the online service;providing a selectable interface control for accessing a second client service that can interact with the online service;detecting selection of the selectable interface control;and providing access to the second client service via a remote service if the second client service is not currently available for local execution.
- 12A client device for enabling a user to access a client service that interacts with an online service, comprising:a communication interface in communication with the online service and a remote service;a memory for storing instructions;and a processor in communication with the communication interface and with the memory, wherein the processor performs actions based at least in part on the stored instructions, including: receiving an indication that a first client service is executing and is interacting with the online service, wherein the indication includes an address to the online service;providing a selectable interface control for accessing a second client service that can interact with the online service;detecting selection of the selectable interface control;and providing access to the second client service via the remote service if the second client service is not currently available for local execution.
- 19A server device for enabling a user to access a client service that interacts with an online service, comprising:a communication interface in communication with a first client device, with a second client device, and with the online service;a memory for storing instructions;and a processor in communication with the communication interface and with the memory, wherein the processor performs actions based at least in part on the stored instructions, including: communicating an indication that a first client service is executing on the first client device and is interacting with the online service, wherein the indication includes an address to the online service;receiving a request from the second client device to access a second client service that can interact with the online service via the address, wherein the request is received from a messaging service of the second client device that detected selection of a selectable interface control associated with the second client service and the second client service is not currently available on the second client device;providing the second client device with access to the second client service.
Independent claims5
45 paragraphs in 5 sections, as filed
CROSS-REFERENCE TO RELATED APPLICATIONS
0001This application claims the benefit of U.S. Provisional Application, titled “Enabling Rent/Buy Redirection in an Invitation to an Online Service,” Ser. No. 60/681,085 filed on May 13, 2005, the benefit of the earlier filing date of which is hereby claimed under 35 U.S.C. § 119(e), and further is incorporated by reference.
FIELD OF THE INVENTION
0002The present invention relates generally to multi-person online services, and more particularly, but not exclusively, to enabling a user to access a client program through an indication from another client that is participating in the online service.
BACKGROUND OF THE INVENTION
0003Online multiplayer games and other collaboration services have become increasingly popular as network communications have improved. Users who may be geographically distant from each other may communicate with an online service to participate together in games and/or other collaboration services. Typically, users run a client program that performs local processing and communicates with the online service to coordinate joint state of the multi-user game or service. For users to initiate participation in the same online game or online service, users may meet in an online lobby or other matching system that is associated with the online game or online service. However, if a person is not already communicating with the same lobby, or already participating in the same online service, the person may not be aware that a friend or colleague is participating. The friend or colleague can manually telephone the person or send a message with an identifier to invite the person to participate in the same online game or service. To reach people outside of the online game service, a message is typically sent through an independent messaging service, such as an online portal email service or instant message service, which is generally not limited to registered users of the online game service. However, this out-of-band messaging may be time consuming to find contact information and may distract from a current game session or other service session.
0004The other users that are contacted may not have the client program needed to participate in the online service. In that case, the other users typically access the online service independently to obtain the client program. Typically, the other users obtain a permanent copy of the client program, which may be costly, and may not be desired for permanent use. Sometimes, the other users can obtain a limited-capability client program that may not be able to join the same online session as the friend or colleague who informed the other users of the online service. Also, once the client program is installed, the other users may be required to search for the friend or colleague to join the same online session, or use the out-of-band communication to obtain address information from the friend or colleague to join the same online session.
BRIEF DESCRIPTION OF THE DRAWINGS
0005Non-limiting and non-exhaustive embodiments of the present invention are described with reference to the following drawings. In the drawings, like reference numerals refer to like parts throughout the various figures unless otherwise specified.
0006For a better understanding of the present invention, reference will be made to the following Detailed Description of the Invention, which is to be read in association with the accompanying drawings, wherein:
0007<figref idref="DRAWINGS">FIG. 1</figref> shows a functional block diagram illustrating one embodiment of an environment for practicing the invention;
0008<figref idref="DRAWINGS">FIG. 2</figref> shows one embodiment of a client and/or server device that may be included in a system implementing the invention;
0009<figref idref="DRAWINGS">FIG. 3</figref> illustrates one embodiment of an architecture for the present invention;
0010<figref idref="DRAWINGS">FIG. 4</figref> is a flow diagram illustrating exemplary logic for one embodiment of a games monitor to provide a listing and status of currently available games;
0011<figref idref="DRAWINGS">FIG. 5</figref> is a flow diagram illustrating exemplary logic for one embodiment of a game probe to detect execution of a game program and notify another client; and
0012<figref idref="DRAWINGS">FIG. 6</figref> is a flow diagram illustrating exemplary logic of a second client device for accessing the client game program (or other client service) and interacting with the online game (or other online service).
DETAILED DESCRIPTION OF THE INVENTION
0013The present invention now will be described more fully hereinafter with reference to the accompanying drawings, which form a part hereof, and which show, by way of illustration, specific exemplary embodiments by which the invention may be practiced. This invention may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein; rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the invention to those skilled in the art. Among other things, the present invention may be embodied as methods or devices. Accordingly, the present invention may take the form of an entirely software embodiment, an entirely hardware embodiment or an embodiment combining software and hardware aspects. The following detailed description is, therefore, not to be taken in a limiting sense. Briefly stated, the present invention is directed towards detecting execution of a program on a client and notifying other related clients that wish to interact with the first client. Although the invention is not so limited, an exemplary embodiment is described below in terms of a client executing a game program to participate in an online game system, and informing other clients through an instant message system that is not directly associated with the online game system.
0000Illustrative Operating Environment
0014<figref idref="DRAWINGS">FIG. 1</figref> illustrates one embodiment of an environment in which the present invention may operate. However, not all of these components may be required to practice the invention, and variations in the arrangement and type of the components may be made without departing from the spirit or scope of the invention.
0015As shown in the figure, a system <b>10</b> includes client devices <b>12</b>-<b>14</b>, a network <b>15</b>, a portal service <b>16</b>, and a third party game service <b>17</b> that is not directly associated with the portal service. Network <b>15</b> is in communication with and enables communication between each of client devices <b>12</b>-<b>14</b>, portal service <b>16</b>, and game service <b>17</b>.
0016Client devices <b>12</b>-<b>14</b> may include virtually any computing device capable of receiving and sending a message over a network, such as network <b>15</b>, to and from another computing device, such as portal service <b>16</b>, each other, and the like. The set of such devices may include mobile terminals that are usually considered more specialized devices and typically connect using a wireless communications medium such as cell phones, smart phones, pagers, walkie talkies, radio frequency (RF) devices, infrared (IR) devices, CBs, integrated devices combining one or more of the preceding devices, or virtually any mobile device, and the like. The set of such devices may also include devices that are usually considered more general purpose devices and typically connect using a wired communications medium such as personal computers, multiprocessor systems, microprocessor-based or programmable consumer electronics, network PCs, and the like. Similarly, client devices <b>12</b>-<b>14</b> may be any device that is capable of connecting using a wired or wireless communication medium such as a personal digital assistant (PDA), POCKET PC, wearable computer, and any other device that is equipped to communicate over a wired and/or wireless communication medium.
0017Each client device within client devices <b>12</b>-<b>14</b> includes a user interface that enables a user to control settings, such as presence settings, and to instruct the client device to perform operations. Each client device also includes a communication interface that enables the client device to send and receive messages from another computing device employing the same or a different communication mode, including, but not limited to instant messaging (IM), email, short message service (SMS) messaging, multi-media message service (MMS) messaging, internet relay chat (IRC), Mardam-Bey's internet relay chat (mIRC), Jabber, and the like. Client devices <b>12</b>-<b>14</b> may be further configured with a browser application that is configured to receive and to send web pages, web-based messages, and the like. The browser application may be configured to receive and display graphics, text, multimedia, and the like, employing virtually any web based language, including, but not limited to Standard Generalized Markup Language (SGML), HyperText Markup Language (HTML), Extensible Markup Language (XML), a wireless application protocol (WAP), a Handheld Device Markup Language (HDML), such as Wireless Markup Language (WML), WMLScript, JavaScript, and the like.
0018Network <b>15</b> is configured to couple one computing device to another computing device to enable them to communicate. Network <b>15</b> is enabled to employ any form of medium for communicating information from one electronic device to another. Also, network <b>15</b> may include a wireless interface, such as a cellular network interface, and/or a wired interface, such as an Internet interface, in addition to an interface to local area networks (LANs), wide area networks (WANs), direct connections, such as through a universal serial bus (USB) port, other forms of computer-readable media, or any combination thereof. On an interconnected set of LANs, including those based on differing architectures and protocols, a router acts as a link between LANs, enabling messages to be sent from one to another. Also, communication links within LANs typically include twisted wire pair or coaxial cable, while communication links between networks may utilize cellular telephone signals over air, analog telephone lines, full or fractional dedicated digital lines including T1, T2, T3, and T4, Integrated Services Digital Networks (ISDNs), Digital Subscriber Lines (DSLs), wireless links including satellite links, or other communications links that are equivalent and/or known to those skilled in the art. Furthermore, remote computers and other related electronic devices could be remotely connected to either LANs or WANs via a modem and temporary telephone link. In essence, network <b>15</b> includes any communication method by which information may travel between client devices <b>12</b>-<b>14</b>, portal service <b>16</b>, and/or game service <b>17</b>. Network <b>15</b> is constructed for use with various communication protocols including transmission control protocol/internet protocol (TCP/IP), WAP, code division multiple access (CDMA), global system for mobile communications (GSM), and the like.
0019The media used to transmit information in communication links as described above generally includes any media that can be accessed by a computing device. Computer-readable media may include computer storage media, wired and wireless communication media, or any combination thereof. Additionally, computer-readable media typically embodies computer-readable instructions, data structures, program modules, or other data in a modulated data signal such as a carrier wave, data signal, or other transport mechanism and includes any information delivery media. The terms “modulated data signal,” and “carrier-wave signal” includes a signal that has one or more of its characteristics set or changed in such a manner as to encode information, instructions, data, and the like, in the signal. By way of example, communication media includes wireless media such as acoustic, RF, infrared, and other wireless media, and wired media such as twisted pair, coaxial cable, fiber optics, wave guides, and other wired media.
0020One embodiment of a general purpose client computing device, such as a client device <b>20</b>, is described in more detail below in conjunction with <figref idref="DRAWINGS">FIG. 2</figref>. Briefly, client device <b>20</b> may include any computing device capable of connecting to network <b>15</b> to enable a user to communicate with other client devices, portal server <b>16</b>, and/or game service <b>17</b>. Client device <b>20</b> may include many more components than those shown. The components shown, however, are sufficient to disclose an illustrative embodiment for practicing the invention. Many of the components of client device <b>20</b> may also be duplicated in a server of portal service <b>16</b>, a server of game service <b>17</b>, and/or other server devices.
0021As shown in the figure, client device <b>20</b> includes a processing unit <b>22</b> in communication with a mass memory <b>24</b> via a bus <b>23</b>. Mass memory <b>24</b> generally includes a RAM <b>26</b>, a ROM <b>28</b>, and other storage means. Mass memory <b>24</b> illustrates a type of computer-readable media, namely computer storage media. Computer storage media may include 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. Other examples of computer storage media include EEPROM, flash memory or other semiconductor 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 be accessed by a computing device.
0022Mass memory <b>24</b> stores a basic input/output system (“BIOS”) <b>30</b> for controlling low-level operation of client device <b>20</b>. The mass memory also stores an operating system <b>31</b> for controlling the operation of client device <b>20</b>. It will be appreciated that this component may include a general purpose operating system such as a version of Windows™, UNIX, LINUX™, or the like. The operating system may also include, or interface with a virtual machine module that enables control of hardware components and/or operating system operations via application programs.
0023Mass memory <b>24</b> further includes one or more data storage units <b>32</b>, which can be utilized by client device <b>20</b> to store, among other things, programs <b>34</b> and/or other data. Programs <b>34</b> may include computer executable instructions which can be executed by client device <b>20</b> to implement an HTTP handler application for transmitting, receiving and otherwise processing HTTP communications. Similarly, programs <b>34</b> can include an HTTPS handler application for handling secure connections, such as initiating communication with an external application in a secure fashion. Other examples of application programs include schedulers, calendars, web services, transcoders, database programs, word processing programs, spreadsheet programs, and so forth. Accordingly, programs <b>34</b> can process web pages, audio, video, and enable telecommunication with another user of another electronic device.
0024In addition, mass memory <b>24</b> stores one or more programs for messaging, gaming and/or other applications. A messaging client module <b>36</b> may include computer executable instructions, which may be run under control of operating system <b>31</b> to enable instant messaging, SMS, e-mail, and/or other messaging services. Similarly, a server device configured much like client device <b>20</b> (and/or client device <b>20</b> itself) may include a messaging server module <b>37</b>, which provides routing, access control, and/or other server-side messaging services. Client device <b>20</b> may further include a game <b>38</b>, which interacts with a game service to enable client device <b>20</b> to participate in an online game. A game probe <b>39</b> may further detect execution of game <b>38</b> and notify other clients through messaging client <b>36</b> and/or messaging server <b>37</b>.
0025Client device <b>20</b> also includes an input/output interface <b>40</b> for communicating with input/output devices such as a keyboard, mouse, wheel, joy stick, rocker switches, keypad, printer, scanner, and/or other input devices not specifically shown in <figref idref="DRAWINGS">FIG. 2</figref>. A user of client device <b>20</b> can use input/output devices to interact with a user interface that may be separate or integrated with operating system <b>31</b> and/or programs <b>34</b>-<b>39</b>. Interaction with the user interface includes visual interaction via a display, and a video display adapter <b>42</b>.
0026For higher capability client devices such as a personal computer, client device <b>20</b> may include a removable media drive <b>44</b> and/or a permanent media drive <b>46</b> for computer-readable storage media. Removable media drive <b>44</b> can comprise one or more of an optical disc drive, a floppy disk drive, and/or a tape drive. Permanent or removable storage media may include volatile, 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. Examples of computer storage media include a CD-ROM <b>49</b>, digital versatile disks (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, RAM, ROM, EEPROM, flash memory or other memory technology, or any other medium which can be used to store the desired information and which can be accessed by a computing device.
0027Via a network communication interface unit <b>44</b>, client device <b>20</b> can communicate with a wide area network such as the Internet, a local area network, a wired telephone network, a cellular telephone network, or some other communications network, such as network <b>15</b> in <figref idref="DRAWINGS">FIG. 1</figref>. Network communication interface unit <b>44</b> is sometimes known as a transceiver, transceiving device, network interface card (NIC), and the like.
0000Exemplary Program Detection and Notification
0028<figref idref="DRAWINGS">FIG. 3</figref> illustrates one embodiment of an architecture <b>10</b><i>a </i>for the present invention. However, not all of the illustrated modules may be required to practice the invention, and variations in the arrangement and type of the components may be made without departing from the spirit or scope of the invention.
0029As shown in the figure, a first client <b>12</b><i>a </i>includes a game <b>38</b><i>a </i>that may communicate through network <b>15</b> and interface with game service <b>17</b> to participate in an online, multiplayer game. A games monitor <b>18</b> also communicates through network <b>15</b> with game service <b>17</b> and other game services to determine which online games and/or other programs are available. Games monitor <b>18</b> may also monitor a changing status of the games and/or other programs. An example, of a games monitor is an All Seeing Eye™ (ASE) server that detects new games, monitors loading on numerous games servers, matches clients for play, and performs other services. In particular, games monitor <b>18</b> provides executable process names and status information through network <b>15</b> to portal service <b>16</b> and/or to clients. Games monitor <b>18</b> may provide information services related to a wide variety of games and games providers. Accordingly, games monitor <b>18</b> may comprise a collection of monitors that may or may not be directly associated with particular games and/or game services.
0030While first client <b>12</b><i>a </i>executes game <b>38</b><i>a </i>as an application program process, the corresponding process name is listed in an operating system process list <b>31</b><i>a</i>. A game probe <b>39</b><i>a </i>monitors operating system process list <b>31</b><i>a </i>to detect when game <b>38</b><i>a </i>and/or other predetermined programs are executing. When game probe <b>39</b><i>a </i>detects executing game <b>38</b><i>a</i>, the game probe instructs a messenger client <b>36</b><i>a </i>to inform portal service <b>16</b> that first client <b>12</b><i>a </i>is participating in the online game. The game probe also instructs the messenger client to request that portal service <b>16</b> notify other clients that first client <b>12</b><i>a </i>is participating in the online game. The other clients are generally members of a contact list associated with first client <b>12</b><i>a</i>. The contact list may comprise contacts in an instant messenger list, an email address book, and/or other collections of communication contacts. First client <b>12</b><i>a </i>and/or portal service <b>16</b> may store the contact list. Some contacts may be obtained from game service <b>17</b>, however the contact list is not limited to members of game service <b>17</b>. Portal service <b>16</b> is also generally independent of game service <b>17</b>, which might be limited to a single game, or a small subset of programs. Although portal service <b>16</b> may include one or more game services, portal service <b>16</b> need not be directly related to, or controlled by game service <b>17</b>. Instead, portal service <b>16</b> may act as an intermediary between a wide variety of game services, enabling clients to interact beyond the boundaries of an particular game service.
0031For example, portal service <b>16</b> can communicate the notification through network <b>15</b> to a messenger client <b>38</b><i>b </i>of a second client <b>12</b><i>b </i>who may, or may not be a current member of game service <b>17</b>. The notification can be displayed and/or otherwise provided to a user of second client <b>12</b><i>b</i>, who may choose to download and/or execute a game <b>38</b><i>b </i>and participate in the online multiplayer game with the user of first client <b>12</b><i>a</i>. If the user of second client <b>12</b><i>b </i>executes game <b>38</b><i>b</i>, the corresponding process name will be added to an operating system process list <b>31</b><i>b</i>. If second client <b>12</b><i>b </i>includes a game probe <b>39</b><i>b</i>, it can instruct messenger client <b>38</b><i>b </i>to notify first client <b>12</b><i>a </i>and/or other clients that second client <b>12</b><i>b </i>is also participating in the online multiplayer game.
0032<figref idref="DRAWINGS">FIG. 4</figref> is a flow diagram illustrating exemplary logic for one embodiment of a games monitor to provide a listing and status of currently available games. At an operation <b>102</b>, the games monitor determines which games and/or other programs are available from one or more game services and/or other services. The games monitor may obtain information from program publishers, program developers, users, reviewers, and the like. On a periodic basis, such as each day, the games monitor updates a configuration data file (e.g., config.dat), with the name and other information about any new program executable files that have become available. At an operation <b>104</b>, the games monitor creates a table of game services (and/or other services). The table includes communication information, such as a network address(s), port(s), protocol requirements, and the like. A sample table is illustrated in Table 1 below: <tables id="TABLE-US-00001" num="1"><table frame="none" colsep="0" rowsep="0" pgwide="1"><tgroup align="left" colsep="0" rowsep="0" cols="7"><colspec colname="1" colwidth="49PT" align="left" /><colspec colname="2" colwidth="35PT" align="left" /><colspec colname="3" colwidth="56PT" align="center" /><colspec colname="4" colwidth="35PT" align="center" /><colspec colname="5" colwidth="56PT" align="center" /><colspec colname="6" colwidth="42PT" align="center" /><colspec colname="7" colwidth="28PT" align="center" /><thead><row><entry namest="1" nameend="7" align="center">TABLE 1</entry></row><row><entry /></row><row><entry namest="1" nameend="7" align="center" rowsep="1" /></row><row><entry>Program Name</entry><entry>File Name</entry><entry>Server Address</entry><entry>Port No.</entry><entry>No. of Messages</entry><entry>Time Period</entry><entry>Status</entry></row><row><entry namest="1" nameend="7" align="center" rowsep="1" /></row></thead><tbody valign="top"><row><entry /></row></tbody></tgroup><tgroup align="left" colsep="0" rowsep="0" cols="8"><colspec colname="1" colwidth="49PT" align="left" /><colspec colname="2" colwidth="35PT" align="left" /><colspec colname="3" colwidth="56PT" align="center" /><colspec colname="4" colwidth="35PT" align="center" /><colspec colname="5" colwidth="56PT" align="center" /><colspec colname="6" colwidth="21PT" align="right" /><colspec colname="7" colwidth="21PT" align="left" /><colspec colname="8" colwidth="28PT" align="center" /><tbody valign="top"><row><entry>Half Life 2</entry><entry>HL2.exe</entry><entry>123.456.789.101</entry><entry>80</entry><entry>10</entry><entry>1</entry><entry>sec.</entry><entry>98%</entry></row><row><entry>Half Life 2</entry><entry>HL2.exe</entry><entry>963.852.741.951</entry><entry>80</entry><entry>10</entry><entry>1</entry><entry>sec.</entry><entry>53%</entry></row><row><entry>Quake 3</entry><entry>Q3D.exe</entry><entry>101.987.654.321</entry><entry>60</entry><entry>20</entry><entry>1.5</entry><entry>sec.</entry><entry>84%</entry></row><row><entry>Sims</entry><entry>Sims.exe</entry><entry>147.258.369.741</entry><entry>40</entry><entry>10</entry><entry>.5</entry><entry>sec.</entry><entry>46%</entry></row><row><entry namest="1" nameend="8" align="center" rowsep="1" /></row></tbody></tgroup></table></tables><br /> The table may also include information that the game probe may use to determine whether the game is truly an online game in which other clients can participate. For example, the table may include information on communication traffic that would indicate an executing game is interacting with the online game service. Such information may include a number of messages that typically pass between the game service and the client within a specified time period.
0033At an operation <b>106</b>, the games monitor makes the table available to game probes that are installed on clients. Each game probe may check for and download the table upon initiation of the game probe. Alternatively, the games monitor may push the table down to clients that are known to have a game probe installed. At an operation <b>108</b>, the games monitor regularly updates the table with a current status of each game server. The status information may be used by newly initiated game probes to determine which game server(s) may be better to connect with and/or determine whether sufficient resources are available on a game server on which a friend is playing.
0034<figref idref="DRAWINGS">FIG. 5</figref> is a flow diagram illustrating exemplary logic for one embodiment of a game probe to detect execution of a game program and notify another client. At an operation <b>110</b>, a client device receives permission to install the game probe. Permission may be provided when the client requests the game probe, when the game probe initiates its installation process, and/or at another suitable time. At an operation <b>112</b>, the game probe is installed on the client device. The game probe contacts the games monitor and downloads the current table of game services at an operation <b>114</b>.
0035At a decision operation <b>116</b>, the game probe monitors the operating system process list for filenames of predefined executable files corresponding to games and/or other application programs that are listed in the table. If the game probe does not detect one the predefined executable files, the game probe continues to monitor the process list. The game probe may wait that have predefined or selectable intervals, such as every 15 seconds, to check for any of the predefined executable files. Once the game probe detects a predefined executable file in the process list, the game probe checks headers of communication traffic associated with the predefined executable file, at an operation <b>118</b>. The game probe may check to see whether most the communication traffic is with the same game server, on the same port, and/or other communication characteristics. At a decision operation <b>120</b>, the game probe determines whether a large amount of communication traffic is associated with the predefined executable file. For example, the game probe may detect whether a certain number of user datagram protocol (UDP) messages have been exchanged with the same game server within a specific time period. The number of messages and time period are generally provided in the table. However, the threshold number of messages and time period may depend on communication optimizations for each game, game servers, and/or other aspects.
0036If the communication traffic indicates that the client is communicating with an online game service, the game probe instructs the messenger client to send an instant message to one or more contacts, at an operation <b>122</b>. The client user may preselect contacts to which a message should be sent and/or predefine other limitations on sending messages related to execution of the predefined program(s). The instant message may include information associated with the game service, so that contacts may communicate with the same game service. This provides an automated way to invite friends to participate in an online game and/or other services. The message may be sent directly to contacts based on information stored on the client. Alternatively, or in addition, the message may be communicated to a portal service which may distribute the message to other clients based on an address book and/or other contact information stored by the portal service. Conversely, if the communication traffic indicates that the client is not communicating with an online game service, but instead may be playing the game only locally, no message is sent.
0037And decision operation <b>124</b>, the game probe detects whether the predefined executable file is still executing as indicated by the process list. If the game is still executing, the game probe determines, at a decision operation <b>126</b>, whether a messages already been sent. If a message has already been sent, the game probe continues to monitor the process list to detect delisting of the predefined executable file. However, if a message was not previously sent control returns to operation <b>118</b> to continue to monitor communication traffic related to the predefined executable file. If the game has ended, the predefined executable file will no longer be listed, and the game probe can return to detecting and/or monitoring any other predefined executable files.
0038<figref idref="DRAWINGS">FIG. 6</figref> is a flow diagram illustrating exemplary logic of a second client device for accessing the client game program (or other client service) and interacting with the online game (or other online service). At an operation <b>130</b>, the second client device receives the message that the first client device is engaged in the online service. The message includes address information needed for the second client device to communicate with the same online game service. The message may come in the form of a presence indication through a messaging service, such as an instant message service, running on second client device. For example, the messaging service may provide an audio tone and/or a visual icon indicating that the first client is online. The audio tone and/or visual icon may also include an identifier of the online service with which the first client is interacting. The identifier is displayed at an operation <b>132</b> with a selectable control (e.g., a button, text, a link, etc.) that enables a user to initiate the game being played by the first client. At an operation <b>134</b>, the user selects the control to initiate the game.
0039At a decision operation <b>136</b>, the messaging service of the second client determines whether the same game program is installed on the second client device. If the same game program is already installed on the second client device, the second client device launches the game program at an operation <b>138</b>. The game program then uses the address information to connect to the same online game service as the first client.
0040However, if the game program is not already installed, the second client device determines at a decision operation <b>140</b> whether the online portal service has distribution rights for the game program. This determination may be made with the above table or other data that may be stored by the messaging service on the second client device and/or that may be accessible from the online portal service. If the online portal service does not have distribution rights, the second client device may be redirected to a distributor of the game program at an operation <b>142</b>. Conversely, if the online portal service does have distribution rights, the second client device is directed to a portion of the online portal service at an operation <b>144</b> that provides information about the game program and/or enables the second client device to access the game program. The information may include a status of the first client, such as a current state in the online game (whether in need of help from friends), an indication of whether the first client is available for voice chat, and/or other information.
0041The information from the online portal service may also provide options for freely trying, renting, or purchasing the game program. The information and/or options may be provided through a web page, through the messaging service, and/or other service. At a decision operation <b>146</b>, the second client device determines whether the user has selected to rent the game program. If the user chooses to rent, the online portal service may download a trial version of the game program that may expire and/or have limited capabilities and an operation <b>148</b>. However, the trial version will generally still include the ability to communicate with the online game service. Accordingly, the downloaded trial version of the game program may use the address information to connect to second client device to the same online game session as the first client device.
0042Alternatively, if the user does not choose to rent the game program, the second client device determines at a decision operation <b>150</b>, whether the user has selected to purchase the game program. If the user chooses to purchase, the online portal service downloads a permanent or subscription version of the game program and an operation <b>152</b>. The permanent or subscription version of the game program may also use the address information to connect to second client device to the same online game session as the first client device. If the user chooses not to rent or buy, the user may be given an option for free trial, may be given information on other game programs, may be redirected to another area of the online portal service, or provided other information.
0043The above specification, examples, and data provide a complete description of the manufacture and use of the composition of the invention. However other embodiments will be clear to one skilled in the art. For example, the client probe may detect any type of predetermined process being executed on a client, besides games, and notify other clients. Since many embodiments of the invention can be made without departing from the spirit and scope of the invention, the invention resides in the claims hereinafter appended.
Contents5
6 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6
Every citation, both ways
| Document | Relation | Office | Cited during |
|---|---|---|---|
| US2009270077A1 | Cited by | United States of America | Pre-grant |
| US8197313B2 | Cited by | United States of America | Applicant |
| US9289687B2 | Cited by | United States of America | Applicant |
| US8311518B2 | Cited by | United States of America | Search report |
| US2009082101A1 | Cited by | United States of America | Pre-grant |
| US8769010B2 | Cited by | United States of America | Applicant |
| US2009111576A1 | Cited by | United States of America | Pre-grant |
| US2009111581A1 | Cited by | United States of America | Pre-grant |
| US8591341B2 | Cited by | United States of America | Applicant |
| US8979647B2 | Cited by | United States of America | Applicant |
| US8262472B2 | Cited by | United States of America | Applicant |
| EP2375694A1 | Cited by | European Patent Office (EPO) | Search report |
| WO2009133472A2 | Cited by | World Intellectual Property Organization (WIPO) | Applicant |
| WO2009133472A3 | Cited by | World Intellectual Property Organization (WIPO) | International search |
| US2004128250A1 | Cites | United States of America | Pre-grant |
| US2004128252A1 | Cites | United States of America | Pre-grant |
| US2004235567A1 | Cites | United States of America | Pre-grant |
| US2005091164A1 | Cites | United States of America | Pre-grant |
| US2005097007A1 | Cites | United States of America | Pre-grant |
| US2005273439A1 | Cites | United States of America | Pre-grant |
| US2006036549A1 | Cites | United States of America | Pre-grant |
| US2006178216A1 | Cites | United States of America | Pre-grant |
| US6009458A | Cites | United States of America | Pre-grant |
| US6466969B1 | Cites | United States of America | Pre-grant |
| US6699125B2 | Cites | United States of America | Pre-grant |
| US6769989B2 | Cites | United States of America | Pre-grant |
| US7043530B2 | Cites | United States of America | Pre-grant |
| US7056217B1 | Cites | United States of America | Pre-grant |
| US7240093B1 | Cites | United States of America | Pre-grant |
| US7288028B2 | Cites | United States of America | Pre-grant |
| US7376621B1 | Cites | United States of America | Pre-grant |
| US7418663B2 | Cites | United States of America | Pre-grant |
4 members in 1 office
Priority claims6
| Document | Office | Kind | Date |
|---|---|---|---|
| 68108505 | United States of America | P | |
| 68108505 | United States of America | P | |
| 38318006 | United States of America | A | |
| 60681085 | – | – | – |
| US20050681085P | – | – | – |
| US20060383180 | – | – | – |
Members4
| Document | Office | Kind | |
|---|---|---|---|
| US2006258460A1 | United States of America | A1 | |
| US2009019154A1 | United States of America | A1 | |
| US7587502B2 | United States of America | B2 | |
| US8108515B2 | United States of America | B2 |
45 transactions on the USPTO file
Allowed after 1 non-final rejection.
- Non-final rejections
- 1
- Final rejections
- 0
- RCEs
- 0
- Appeals
- 0
Over time
Point at a mark for the transactionTransactions
| Event | Code | |
|---|---|---|
| Application Is Considered for C of CCOFC | COFC | |
| Mail-Petition Decision - GrantedMP034 | MP034 | |
| Petition Decision - GrantedP034 | P034 | |
| Petition EnteredPET. | PET. | |
| Recordation of Patent Grant MailedPGM/ | PGM/ | |
| Patent Issue Date Used in PTA CalculationAllowedPTAC | PTAC | |
| Issue Notification MailedAllowedWPIR | WPIR | |
| Dispatch to FDCD1935 | D1935 | |
| Dispatch to FDCD1935 | D1935 | |
| Application Is Considered Ready for IssuePILS | PILS | |
| Mail PUB Notice of non-compliant IDSMM327-B | MM327-B | |
| Issue Fee Payment VerifiedN084 | N084 | |
| Issue Fee Payment ReceivedIFEE | IFEE | |
| PUB Notice of non-compliant IDSM327-B | M327-B | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Information Disclosure Statement (IDS) FiledWIDS | WIDS | |
| Mail Examiner's AmendmentMEX.A | MEX.A | |
| Mail Miscellaneous Communication to ApplicantMM327 | MM327 | |
| Examiner's Amendment CommunicationEX.A | EX.A | |
| Miscellaneous Communication to Applicant - No Action CountM327 | M327 | |
| Mail Notice of AllowanceAllowedMN/=. | MN/=. | |
| Notice of Allowance Data Verification CompletedAllowedN/=. | N/=. | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Response after Non-Final ActionA... | A... | |
| Request for Extension of Time - GrantedXT/G | XT/G | |
| Mail Miscellaneous Communication to ApplicantMM327 | MM327 | |
| Miscellaneous Communication to Applicant - No Action CountM327 | M327 | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Mail Non-Final RejectionNon-final rejectionMCTNF | MCTNF | |
| Non-Final RejectionNon-final rejectionCTNF | CTNF | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| IFW TSS Processing by Tech Center CompleteTSSCOMP | TSSCOMP | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Reference capture on IDSRCAP | RCAP | |
| Electronic Information Disclosure StatementEIDS. | EIDS. | |
| Information Disclosure Statement (IDS) FiledWIDS | WIDS | |
| Application Is Now CompleteCOMP | COMP | |
| Application Return from OIPEWROIPE | WROIPE | |
| Application Return TO OIPEROIPE | ROIPE | |
| Application Dispatched from OIPEOIPE | OIPE | |
| Application Is Now CompleteCOMP | COMP | |
| Cleared by OIPE CSRL194 | L194 | |
| IFW Scan & PACR Auto Security ReviewSCAN | SCAN | |
| Initial Exam Team nnIEXX | IEXX |
35 legal events, as the office reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | |
|---|---|---|
| Lapsed due to failure to pay maintenance feeLapsedFP | FP | |
| Lapse for failure to pay maintenance feesLapsedPATENT EXPIRED FOR FAILURE TO PAY MAINTENANCE FEES (ORIGINAL EVENT CODE: EXP.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITYLAPS | LAPS | |
| Information on status: patent discontinuationPATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362STCH | STCH | |
| Fee payment procedureMAINTENANCE FEE REMINDER MAILED (ORIGINAL EVENT CODE: REM.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITYFEPP | FEPP | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| Fee paymentFPAY | FPAY | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| Fee paymentFPAY | FPAY | |
| Certificate of correctionCC | CC | |
| Information on status: patent grantGrantedPATENTED CASESTCF | STCF | |
| Fee payment procedurePAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITYFEPP | FEPP | |
| AssignmentAS | AS |
Numbers
- Publication
- 20060258460
- Publication, DOCDB
- 2006258460
- Publication, EPODOC
- US2006258460
- Application
- 11383180
- Application, DOCDB
- 38318006
- Application, EPODOC
- US20060383180
Titles
- English
- ENABLING RENT/BUY REDIRECTION IN INVITATION TO AN ONLINE SERVICE
Classification
- CPC, 7
- H04L67/34
- A63F13/12
- A63F2300/57
- H04L67/14
- H04L67/131
- A63F13/30
- A63F13/77
- IPC, 1
- A63F9 24
- USPC, 1
- 463042000