Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
VIDEOGAME MANAGEMENT SYSTEM
Document Type and Number:
WIPO Patent Application WO/2013/152042
Kind Code:
A1
Abstract:
A videogame management system manages profiles for a plurality of videogame users. A single account may include a plurality of profiles, each of which corresponds to a distinct user. One or more profiles in an account may be designated as a "master" profile which grants its corresponding user special privileges, such as the ability to purchase videogames and the ability to specify which videogames are accessible to other users associated with the account. Each user's profile may include a plurality of in-game personas associated with that user. The system may enable users to play videogames from a plurality of computing devices having different platforms. The system may gather and display videogame-related data to users and enable users to make videogame-related purchases and to engage in videogame-related communications with each other. The system may make recommendations to users based on the data that it gathers.

Inventors:
MACRAE DOUGLAS BRUCE (US)
MACRAE WILLIAM ROSS (US)
MROCHEK WILLIAM ALLAN (US)
ROBERTS JASON MICHAEL (US)
KIRSANOV PHILIPPE (US)
GHERARDINI JONATHAN SCOTT (US)
DUPRAS DEREK WILLIAM (US)
Application Number:
PCT/US2013/035024
Publication Date:
October 10, 2013
Filing Date:
April 02, 2013
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
38 STUDIOS LLC (US)
International Classes:
A63F13/12
Foreign References:
US20040121835A12004-06-24
US20110263322A12011-10-27
US20110300923A12011-12-08
US20060287099A12006-12-21
US20070149288A12007-06-28
US20100105481A22010-04-29
Attorney, Agent or Firm:
PLOTKIN, Robert (P.C.15 New England Executive Par, Burlington Massachusetts, US)
Download PDF:
Claims:
CLAIMS

1. A method performed by at least one computer processor executing computer program instructions stored on at least one computer-readable medium, the method comprising:

(A) receiving first account data representing a first account, wherein the first account data comprises first profile data representing a first plurality of profiles, wherein the first profile data comprises: (1) first user profile data representing a first persona of a first user in a first videogame, and (2) second user profile data representing a second persona of a second user in the first videogame;

(B) generating, based on the first account data, a recommendation for the first user to perform a first action within the first videogame;

(C) providing output, to the first user, representing the recommendation.

2. The method of claim 1, further comprising:

(D) receiving input, from the first user, indicating whether the first user

accepts the recommendation;

(E) implementing the recommendation within the first videogame only if the input indicates that the first user accepts the recommendation.

3. The method of claim 2, wherein the recommendation comprises a

recommendation to purchase an in-game item, and wherein (E) comprises purchasing the in-game item.

4. The method of claim 2, wherein the recommendation comprises a

recommendation for the first persona to form a relationship with the second persona in the first videogame, and wherein (E) comprises forming the relationship between the first persona and the second persona in the first videogame.

5. The method of claim 2, wherein the recommendation comprises a

recommendation for the first persona to form an relationship with a third persona in the first videogame, and wherein (E) comprises forming the relationship between the first persona and the third persona in the first videogame.

6. The method of claim 2, wherein the recommendation comprises a

recommendation for the first persona to form an relationship with the second persona in a second videogame, and wherein (E) comprises forming the relationship between the first persona and the second persona in the second videogame.

7. The method of claim 2, wherein the recommendation comprises a

recommendation for the first persona to form an relationship with a third persona in second videogame, and wherein (E) comprises forming the relationship between the first persona and the third persona in the second videogame.

8. The method of claim 1, further comprising:

(D) receiving second account data representing a second account, wherein the second account data comprises second profile data representing a second plurality of profiles, wherein the second profile data comprises: (1) third user profile data representing a third persona of a third user in the first videogame, and (2) fourth user profile data representing a fourth persona of a fourth user in the first videogame; and

wherein (B) comprises generating the recommendation based on the first account data and the second account data.

9. A non-transitory computer-readable medium comprising computer program instructions executable by at least one computer processor to perform a method, the method comprising:

(A) receiving first account data representing a first account, wherein the first account data comprises first profile data representing a first plurality of profiles, wherein the first profile data comprises: (1) first user profile data representing a first persona of a first user in a first videogame, and (2) second user profile data representing a second persona of a second user in the first videogame;

(B) generating, based on the first account data, a recommendation for the first user to perform a first action within the first videogame;

(C) providing output, to the first user, representing the recommendation.

10. The computer-readable medium of claim 9, further comprising:

(D) receiving input, from the first user, indicating whether the first user

accepts the recommendation;

implementing the recommendation within the first videogame only if the input indicates that the first user accepts the recommendation.

11. The computer-readable medium of claim 10, wherein the recommendation comprises a recommendation to purchase an in-game item, and wherein (E) comprises purchasing the in-game item.

12. The computer-readable medium of claim 10, wherein the recommendation comprises a recommendation for the first persona to form a relationship with the second persona in the first videogame, and wherein (E) comprises forming the relationship between the first persona and the second persona in the first videogame.

13. The computer-readable medium of claim 10, wherein the recommendation comprises a recommendation for the first persona to form an relationship with a third persona in the first videogame, and wherein (E) comprises forming the relationship between the first persona and the third persona in the first videogame.

14. The computer-readable medium of claim 10, wherein the recommendation comprises a recommendation for the first persona to form an relationship with the second persona in a second videogame, and wherein (E) comprises forming the relationship between the first persona and the second persona in the second videogame.

15. The computer-readable medium of claim 10, wherein the recommendation comprises a recommendation for the first persona to form an relationship with a third persona in second videogame, and wherein (E) comprises forming the relationship between the first persona and the third persona in the second videogame.

16. The computer-readable medium of claim 9, further comprising:

(D) receiving second account data representing a second account, wherein the second account data comprises second profile data representing a second plurality of profiles, wherein the second profile data comprises: (1) third user profile data representing a third persona of a third user in the first videogame, and (2) fourth user profile data representing a fourth persona of a fourth user in the first videogame; and

wherein (B) comprises generating the recommendation based on the first account data and the second account data.

Description:
Videogame Management System

BACKGROUND

[0001] Videogames have evolved significantly in recent years. For example, in the early years of the videogame industry, a single videogame would be played by a single user on a single device (such as a videogame console or a personal computer), or perhaps by multiple users on such a single device. Now, thousands of users may simultaneously play a single massively multiplayer online (MMO) videogame from thousands of devices connected to the Internet. Different users may participate in a single MMO videogame using different types of devices. For example, one user may participate using a personal computer, while another may participate using a videogame console, while yet another may participate using a mobile device.

[0002] As another example, many modern videogames enable items for use within the videogames (such as swords, shields, potions, and spells) to be purchased within the videogame and/or outside the videogame, using either in-game currency or out-of-game (i.e., real world) currency. This has led to the development of various markets for in-game items.

[0003] As yet another example, many modern videogames enable players to create and maintain increasingly sophisticated in-game "personas," i.e., playable characters having combinations of a wide variety of characteristics, such as race, class, gender, age, size, and strength. A single user may create and maintain many such personas for use within a particular videogame and additional personas for use within other videogames.

[0004] As yet a further example, the appeal of videogames has grown considerably in recent years. Although early videogames appealed primarily to children and young men, today's videogames are played by people of all ages, genders, and other demographic characteristics. One consequence of this phenomenon is that many members of a single family may play videogames regularly using one or more devices in the family's household.

SUMMARY

[0005] A videogame management system manages profiles for a plurality of videogame users. A single account may include a plurality of profiles, each of which corresponds to a distinct user. One or more profiles in an account may be designated as a "master" profile which grants its corresponding user special privileges, such as the ability to purchase videogames and the ability to specify which videogames are accessible to other users associated with the account. Each user's profile may include a plurality of in-game personas associated with that user. The system may enable users to play videogames from a plurality of computing devices having different platforms. The system may gather and display videogame-related data to users and enable users to make videogame-related purchases and to engage in videogame-related communications with each other. The system may make recommendations to users based on the data that it gathers.

[0006] Other features and advantages of various aspects and embodiments of the present invention will become apparent from the following description and from the claims.

BRIEF DESCRIPTION OF THE DRAWINGS

[0007] FIG. 1 is a dataflow diagram of a videogame account management system according to one embodiment of the present invention;

[0008] FIG. 2 is a flowchart of a method performed by the system of FIG. 1 according to one embodiment of the present invention;

[0009] FIG. 3A is a diagram of data contained within an account record according to one embodiment of the present invention;

[0010] FIG. 3B is a diagram of data contained with a user profile record according to one embodiment of the present invention;

[0011] FIG. 4 A is a dataflow diagram of a system for receiving data from and providing data to a videogame according to one embodiment of the present invention;

[0012] FIG. 4B is a dataflow diagram of a system for receiving data from and providing data to a videogame server according to one embodiment of the present invention;

[0013] FIG. 5 A is a flowchart of a method performed by the system of FIG. 4A according to one embodiment of the present invention;

[0014] FIG. 5B is a flowchart of a method performed by the system of FIG. 4B according to one embodiment of the present invention; and [0015] FIG. 6 is a flowchart of a method for recommending user entity relationships according to one embodiment of the present invention,

DETAILED DESCRIPTION

[0016] Referring to FIG. 1, a dataflow diagram is shown of a videogame account management system 100 according to one embodiment of the present invention. Referring to FIG. 2, a flowchart is shown of a method 200 performed by the system 100 of FIG. 1 to create and manage accounts according to one embodiment of the present invention.

[0017] The system 100 includes an account database 102, which contains records 104a-/? representing user accounts. Although only three records 104a, 104b, and 104/? are shown in FIG. 1 for ease of illustration, the account database 102 may contain any number of records (i.e., n may be any number). Furthermore, although the account database 102 is shown and described herein as a "database," more generally the database 102 may be any data store, implemented using any data structure(s) suitable for performing the functions disclosed herein. The records 104a-/?, therefore, need not be database records; more generally, they may be implemented using any data structure(s) suitable for performing the functions disclosed herein. Although the account database 102 is shown as a single data store for ease of illustration in FIG. 1, the account database 102 may be distributed across any number of data stores. The data in the account database 102 may be stored in one or more non-transitory computer-readable media. These characteristics of the account database 102 apply equally to any other database and/or data structure disclosed herein.

[0018] The system 100 also includes an account server 106. In general, the account server 106 includes means for creating the account records 104a-/?, means for storing data in the account records 104a-/?, means for reading data from the account records 104a-/?, means for deleting data in the account records 104a-/?, and means for deleting one or more of the account records 104a-/?. Furthermore, the account server 106 may include any means for performing conventional database functions, such as sorting some or all of the account records 104a-/? and generating reports based on the account records 104a-/?. The account server 106 may, for example, be implemented as a computer program executing on one or more computing devices. Although the account server 106 is shown as a single element in FIG. 1 for ease of illustration, the account server 106 may be distributed across any number of computing devices.

Furthermore, although the account server 106 is shown and described herein as a "server," more generally the account server 106 may be implemented in any manner that performs the functions disclosed herein, whether or not such implementations use a client-server architecture. These characteristics of the account server 106 apply equally to any other server disclosed herein.

[0019] The system 100 also includes a plurality of user computing devices 1 lOa-m. In general, users 114a-f of the system 100 use the computing devices 1 lOa-m to provide account information to the account server 106 and to receive account information from the account server 106. Although only three computing devices 1 lOa-m are shown in FIG. 1 for ease of illustration, the system 100 may include any number of computing devices (i.e., m may be any number). Similarly, although only six users 114a-f are shown in FIG. 1 for ease of illustration, the system 100 may include any number of users.

[0020] The devices 1 lOa-m may communicate with the account server 106 over a network 108. The network may be any kind of network, such as a local area network (LAN), a wide area network (WAN), the public Internet, or a private intranet, or any combination thereof. The network 108 may be a wired or wireless network or a combination thereof.

[0021] Each of the devices 1 lOa-m may be any computing device that is capable of communicating with the account server 106, such as a personal computer (e.g., desktop, notebook, or tablet computers), videogame console, smartphone, or cell phone. The computing devices 1 lOa-m may include computing devices of different types, such as computing devices having different platforms than each other(e.g., different hardware and/or different operating systems than each other). For example, the computing devices 1 lOa-m may include any combination of desktop computers, notebook computers, tablet computers, videogame consoles, smartphones, and cell phones.

[0022] Each of the computing devices 1 lOa-m may be used by any number of users. For purposes of example and without limitation, in the embodiment shown in FIG. 1, three users 114a-c use computing device 110a, two users 114c-d use computing device 110b, and two users 114e-f use computing device 112m. As illustrated in FIG. 1, a single computing device may be used by more than one user, either at the same time (as in the case in which two users participate in the same videogame at the same time using a single computing device), or at different times (as in the case in which one user participates in one videogame using a computing device, and in which another user subsequently participates in another videogame using the computing device). In practice, users may use multiple computing devices, such as multiple computing devices in their own homes, to play videogames and perform other functions disclosed herein. As another example, a single user may use a computing device in his or her own home and a computing device at the home of a friend to perform the functions disclosed herein. As another example, a single user may use multiple computing devices owned by and/or otherwise accessible to the user (such as a videogame console at the user's home, the user's smart phone, and a videogame console at a house of a friend of the user) to perform the functions disclosed herein.

[0023] In particular, FIG. 1 shows an example in which user 114c uses both computing device 110a and 110b (either simultaneously or sequentially). This is merely one example for ease of illustration. More generally, any of the users 114a-f may use any of the computing devices 1 lOa-m at any time(s). Therefore, the lines connecting users 114a-f to computing devices 112a-m in FIG. 1 merely illustrate a particular example of use of the devices 1 lOa-m by the users 114a-f, and need not represent physical connections or use restrictions.

[0024] As will be described in more detail below, there may be any mappings between users 114a-f of the system 100 and accounts represented by the account records 104a-/? in the account database. For example:

• Any particular account represented by one of the account records 104a-/? may be associated with exactly one of the users 114a-f.

• Any particular account represented by one of the account records 104a-/? may be associated with two or more of the users 114a-f.

• Any particular one of the users 114a-f may be associated with exactly one of the accounts represented by one of the account records 104a-/?.

• Any particular one of the users 114a-f may be associated with two or more accounts represented by two or more of the account records 104a-/?.

[0025] An account record in the account database 102 may include data representing the user(s) associated with the account. Such user(s) may be referred to herein as the account's

"users," "owners," or "holders." Such terms, however, need not designate legal ownership or control over the account. Instead, any such term used herein merely indicates that an account associated with a particular user contains data related to that user for performing the functions disclosed herein.

[0026] Any one of the account records 104a-/? may include data representing one or more profiles. The data representing a particular profile may include data representing one or more personas associated with the particular profile. Before describing such data in more detail, the terms "persona," "profile," and "master profile" will be defined:

• Persona: The term "persona," as used herein, refers to a particular character in a

videogame. A persona is associated with a particular set of characteristics, which may, for example, include any one or more of the following: race, age, gender, class, inventory, level, achievements, and entitlements. These particular characteristics are merely examples and do not constitute a limitation of the present invention. An example of a persona is a particular character, within a particular videogame, having a race of Elf, an age of 45 years, a gender of male, and a level of 14. As this implies, different personas may be associated with different sets of characteristics. For example, a first persona may be associated with a first set of characteristics, and a second persona may be associated with a second set of characteristics that differs from the first set of characteristics. A particular persona may be associated with exactly one particular videogame. Alternatively, for example, a single persona may be associated with multiple videogames. Any particular persona may be represented by data, referred to herein as "persona data," stored in the account database 102.

• User Profile: The term "user profile," as used herein, refers to data associated with a particular user of the system 100. Any particular user profile may be represented by data, referred to herein as "user profile data," stored in the account database 102. For example, a particular user profile associated with a particular user may contain any one or more of the following:

o the user's real name;

o the user's mailing address;

o the user's telephone number;

o the user's email address; o the user's login credentials (e.g., username and password) within the system 100;

o the user's payment information (e.g., credit card number);

o the user's payment history;

o a list of videogames owned by, played by, or otherwise accessible to the user (e.g., videogames for which the user has at least one associated persona), where the data for each videogame on the list contains data representing one or more of the following:

name of the videogame;

unique identifier of the videogame;

type of subscription to the videogame;

achievements within the videogame;

entitlements within the videogame;

play style within the videogame;

out-of-game domain data;

persona(s) of the user within the videogame, which may be represented by links to the persona data representing such personas. Master Profile: The term "master profile," as that term is used herein, refers to a user profile (as defined above) which includes additional data that links the master profile to one or more other user profiles. A master profile may, for example, be used to provide a particular user (such as a parent in a family) with control over certain aspects of the user profiles of other particular users (such as children in the family) within the same account as the master profile. Any particular master profile may be represented by data, referred to herein as "master profile data," stored in the account database. A master profile may include some or all of the data described above in connection with a user profile, plus additional data, such as links to the user profiles associated with the master profile. User profiles that are not master profiles may omit certain information described above (such as any one or more of real name, mailing address, telephone number, email address, payment information, and payment history), and such information may instead be included in master profiles. [0027] Referring to FIG. 3A, a diagram is shown of data contained within account record 104a, to illustrate how master profile data, user profile data, and persona data may be stored within an account record 104a according to one embodiment of the present invention. The particular embodiment shown in FIG. 3A is merely an example and does not constitute a limitation of the present invention. Furthermore, although account record 104a is shown in FIG. 3 A, the contents of FIG. 3 A and the description thereof are equally applicable to the other account records 104b-/? in the account database 102.

[0028] Assume, for purposes of example in the following description, that users 114a-d are members of the same family, that user 114a is a parent in the family, and that users 114b-d are children in the family. Assume further that account record 104a contains data representing an account of the family (i.e., users 114a-d). As this example illustrates, a single account record may represent an account associated with one or more users.

[0029] In general, the account record 104a represents an account that is associated with one or more users, each of whom is associated with a corresponding user profile. The account record 104a in FIG. 3 A contains a plurality of user profile data records 302a-d, each of which represents a user profile of a corresponding one of the users 114a-d. In this example, therefore, users 114a-d are all members of the account represented by account record 104a. It should be understood that the account data record 104a shown in FIG. 3 A contains four user profile data records 302a-d because, in this example, the account data record 104a represents an account associated with the four users 114a-d, and that in general the account data record 104a may contain any number of user profile data records.

[0030] Assume, for purposes of example, that user profile data record 302a represents a profile associated with user 114a, that user profile data record 302b represents a profile associated with user 114b, that user profile data record 302c represents a profile associated with user 114c, and that user profile data record 302d represents a profile associated with user 114d. Each of the user profile data records 302a-d may contain any of the user profile data described above in connection with the definition of user profile data. For example, referring to FIG. 3B, a diagram is shown of the user profile data 302a associated with user 114a according to one embodiment of the present invention. In general, the user profile data 302a includes videogame data records 312a-c for a plurality of videogames played by user 114a. Although three videogame data records 312a-c are shown in FIG. 3B for ease of illustrate, more generally the user profile data record 302a may contain any number of videogame data records. Each of the videogame data records 312a-c corresponds to a distinct videogame, and may contain any of the data described above in connection with the definition of user profile data. In particular, each of the videogame data records 312a-c may contain data representing one or more personas of user 114a within the corresponding videogame. Such persona data may be contained within the videogame data records 312a-c or contained in separate data records (not shown) which are linked to by the videogame data records 312a-c.

[0031] In the particular example shown in FIG. 3B, the user profile data record 302a contains only videogame data records associated with the corresponding user 114a. The user profile data record 302a may, however, contain other data described above in connection with the definition of user profile data, such as the real name and email address of the user 114a. In the particular example of FIG. 3B, however, such data are omitted from the user profile data 302a; instead, such additional data are stored only in connection with master profiles, as will now be described.

[0032] Returning to FIG. 3 A, the account record 104a may further include master profile data 304. The master profile data 304 may, for example, include data indicating which of the user profile data records 302a-d represents a master profile. For example, the master profile data 304 may indicate that only a single one of the user profile data records 302a-d represents a master profile, or that two or more of the user profile data records 302a-d represents a master profile. In the example described above, in which user 114a is a parent of users 114b-d, the master profile data 304 may include data indicating that user profile data 302a represents a master profile, and (optionally) that user profile data records 302b-d do not represent master profiles.

[0033] The master profile data record 304 may also include additional data not included within the user profile data records 302a-d, such as the real name, mailing address, email address, and payment information of the user represented by user profile data record 302a. It should be appreciated that any of the data described herein as being stored in the master profile data record 304 may additionally or alternatively be stored in the user profile data record of the user who is the master account holder (e.g., the user profile data record 302a in the present example). The account record 104a may, therefore, not include the separate master profile data record 304, but may use the user profile data record 302a to perform the same functions as the master profile data record 304.

[0034] As should be appreciated from the description above, embodiments of the present invention may be used to store data about a variety of user accounts, where each user account may have one or more users as members. Each such account may contain one or more user profiles, each of which is associated with a corresponding user. Each user profile in an account may be associated with one or more in-game personas of the corresponding user. One or more users who are members of an account may be designated as master account members. A master account member is associated with a master user profile in the account, which may contain both user profile data for the master account member and additional data, such as the master account member's real name, billing address, email address, and payment information. The user profile data associated with non-master members of an account may lack such additional data. In this way, embodiments of the present invention enable master account members to perform certain functions, such as making payments and performing account management functions, which non- master account members cannot perform.

[0035] Embodiments of the present invention may create and manage account records 104a-/7 in any of a variety of ways. For example, referring to FIG. 2, a flowchart is shown of a method 200 for creating an account record according to one embodiment of the present invention. For purposes of example, the method 200 will be described in connection with account record 104a.

[0036] Referring again to FIG. 1, the computing devices 1 lOa-m may contain account clients 112a-m, respectively. Each such client may, for example, be a computer program installed on the corresponding computing device. Such a computer program may, for example, be a software application specifically designed to communicate with the account server 106. As another example, such a computer program may be a conventional web browser, which may be used to connect to the account server 106 at a particular URL to perform the functions disclosed herein.

[0037] Assume for purposes of example that user 114a wishes to create a new account with the account server 106. The user 114a may use the account client 112a to provide a request to the account server 106 to create a new account (FIG. 2, operation 202). The user 114a may provide any suitable input to cause the client 112a to provide the request, such as clicking on a "Create New Account" button.

[0038] In response to receiving the new account request, the account server 106 may prompt the user 114a to provide input sufficient to create a master account, such as the user 114a's real name, billing address, email address, telephone number and payment information. In response to such a prompt, the user 114a may use the client 112a to provide input representing the requested master account data. The account server 106 may receive the master account data (FIG. 2, operation 204) and, in response, create a new account record (e.g., account record 104a) and store the received master account data in the account record (FIG. 2, operation 206).

[0039] The user 114a may also use the client 112a to create one or more user profiles within the newly-created account. For example, the user 114a may use the client 112a to provide any of the user profile data described above to the server 106 in connection with a first one of the users 114a-f. For example, the user 114a may use the client 112a to provide user profile data for himself/herself to the account server 106. The account server 106 may receive this user profile data (FIG. 2, operation 208) and, in response, create a new user profile record (e.g., user profile record 302a in FIG. 3A) and store the received user profile data in the new user profile record (FIG. 2, operation 210). The user 114a may provide user profile data for one or more additional users, in response to which the account server 106 may repeat operations 208 and 210 to create and populate user profile records in the same account record.

[0040] As the description above makes clear, the account server 106 may perform a variety of functions to create and maintain data representing accounts, profiles (including both master profiles and user profiles), and personas, and the relationships among them. As a result, the account server 106 may be used to:

• store data representing an account;

• store data representing the user profile(s) associated with any particular account;

• store data representing the master profile(s) associated with any particular account;

• store data representing the persona(s) associated with any particular profile;

• identify, for any particular account:

o the user profile(s) associated with that account; o the master profile(s) associated with that account;

o the persona(s) associated with that account;

• identify, for any particular user profile:

o the account(s) of which that user profile is a member;

o the master profile(s) associated with that user profile;

o the persona(s) associated with that user profile; and

• identify, for any particular persona:

o the account(s) of which that persona is a member;

o the user profile(s) associated with that persona; and

o the master profile(s) associated with that persona.

[0041] Once an account has been created, the account server 106 may provide a variety of services in connection with the account. Consider again the example in which users 114a-d are members of the same family, in which account record 104a represents an account for that family, in which user 114a is associated with the master profile 302a in that account, and in which users 114b-d are associated with user (non-master) profiles 302b-d in that account. In some embodiments of the present invention, the master user 114a is required to log in to the account, such as by providing the login credentials (e.g., username and password) for the account to the server 106 via one of the account clients 112a-m, to open a session between that account client and the account server 106, before any of the users 114a-d may interact with the account server 106 (e.g., play videogames). In such embodiments, users 114a-d may interact with the account server 106 (e.g., play videogames) only while such a session is open. As a result, the master user 114a may log out of the session with the account server 106 (e.g., by providing a "log out" command to the server 106 via one of the account clients 112a-m), and thereby prevent the other users 114b-d associated with the same account from playing videogames via the server 106 or performing any other functions via the server 106.

[0042] In other embodiments, any one of the users 1 14a-d may use one of the account clients 112a-m to log in to that user's profile within the account represented by account record 104a, and thereby create a personal session between that account client and the account server 106. As a result, multiple such personal sessions may be open contemporaneously. For example, user 114b may use account client 112a to log in to user 114b's profile 302b at the server 106 and thereby open a session for user 114b between account client 112a and the server 106, and user 114c may use account client 112b to log in to user 114c's profile 302c at the server 106 and thereby open a session for user 114c between account client 112b and the server 106. Both such sessions may be open contemporaneously, whether or not there is an open session associated with master user 114a between one of the account clients 112a-m and account server 106. As a result, in this example, users 114b and 114c may contemporaneously interact with the account server 106 in any of the ways disclosed herein, such as contemporaneously launching and paying videogames via multiple ones of the clients 112a-m.

[0043] The account server 106 may enable only the master user(s) associated with an account (e.g., user 114a in the case of the account 104a associated with users 114a-d), and not the non-master users (e.g., users 114b-d in the case of the account 104a associated with users 114a-d) to perform certain functions in connection with the account, such as any one or more of the following: adding new profiles to the account, closing the account, viewing/modifying payment data (e.g., credit card numbers) associated with the account, purchasing videogames within the account, associating videogames with user profiles in the account (e.g., granting permission to particular user profiles in the account to play particular videogames), making purchases using out-of-game currency (such as out-of-game purchases using out-of-game currency and/or in-game purchases using out-of-game currency), accessing particular out-of- game features of the server 106, and accessing particular in-game features of any particular videogame (such as playing particular levels within a particular videogame, playing a particular videogame using a particular persona, or changing particular settings within a particular videogame).

[0044] Any user associated with an account may log in to and otherwise interact with the account server 106 via any of the account clients 112a-m on any of the devices 1 lOa-m. For example, user 114a may log in to account 104a and otherwise interact with the account 104a via account server 106 from any of the account clients 112a-m on any of the devices 1 lOa-m. The same is true of any of the other users 114b-f. The only requirements for a user to log into and otherwise interact with a particular account are that the user has access to an account client that is capable of logging in to and otherwise interacting with the account server 106 and that the user is able to provide sufficient credentials (e.g., username and password) to log in to the account. As one example, any particular user may log in to the user's account (or profile within an account) using any of a plurality of devices owned or otherwise controlled by the user (e.g., the user's desktop computer, laptop computer, and smartphone). As another example, any particular user may log in to the user's account from any of the user's own devices (e.g., the user's desktop computer, laptop computer, or smartphone), from a friend's computer, or from a public computer (e.g., a computer at a library or airport), so long as such computers satisfy the requirements described above.

[0045] When a particular user logs in to the user's account and/or profile via a particular one of the account clients 112a-m, that account client may access the user's account and/or profile via the account server 106 and retrieve some or all of the data in the user's account and/or profile from the account server 106 over the network 108. The account client 112 may enable the user to perform any of a variety of functions in connection with the user's account and/or profile. For example, if the user is a master user (i.e., a user associated with a master profile), then the account client may enable the user to perform any of the functions disclosed above (e.g., adding profiles, changing billing information, associating videogames with user profiles), such as by using any suitable graphical user interface.

[0046] As another example, the account client may display or otherwise generate output (e.g., via synthesized voice or other output) to the user (via the user's computing device) representing some or all of the data in the user's account and/or profile. For example, the account client may display a list of the videogames associated with the user's profile, a list of personas associated with the user for each such videogame, and data associated with such videogames and personas, such as the name of each videogame and an associated image, and for each persona, any data associated with the persona, such as its name, avatar, race, class, level, age, inventory, achievements, and entitlements.

[0047] The account client may provide a mechanism for enabling the user to select a particular videogame to play. For example, next to the name of each videogame the account client may display a "Play" button. The user may click on the "Play" button next to a particular videogame, in response to which the account client may launch the particular videogame on the user's client device, or transmit a command to the account server 106 and/or other computing device to cause the particular videogame to be launched remotely (e.g., on a device other than the device on which the user's account client is executing). This is merely one example of a way in which the user may provide input which selects a particular videogame and which instructs the account client to launch the particular videogame, in response to which the account client may launch the particular videogame selected by the user. In addition to launching the particular videogame, the account client may log the user in to the videogame automatically, such as by retrieving the user's login credentials for that videogame from the user's profile in the account database 102 via the account server 106, and then use the retrieved credentials to log the user into that videogame (e.g., on the account server 106 or other computing device). Alternatively, for example, the account client may log the user in to all of the videogames associated with the user's profile in response to the user logging in to the profile, i.e., without waiting for the user to issue an instruction to play a particular videogame. Logging in to all of the user's videogames may enable the account client to retrieve additional information from each such videogame and to display such information to the user in any of the ways disclosed herein before the user provides an instruction to play any particular videogame.

[0048] Embodiments of the present invention may receive data and commands from and provide data and commands to a variety of videogames. For example, embodiments of the present invention may receive data representing personas of a user from a plurality of videogames and store such data in the profile data record of the user. As another example, embodiments of the present invention may provide data representing an out-of-game purchase (such as an out-of-game purchase of an in-game item, such as a sword) to a videogame and thereby enable the out-of-game purchase to be reflected in the videogame (such as by equipping the user's in-game persona with the purchased in-game item, e.g., sword). As these examples illustrate, embodiments of the present invention may be used to enable a plurality of videogames to interoperate with each other, including videogames played by a plurality of users on a plurality of computing devices, including computing devices of different types (e.g., desktop computers, tablet computers, and smartphones). As a result, embodiments of the present invention enable users to enjoy a more seamless experience across videogames and devices than is now possible. Furthermore, embodiments of the present invention enable analytics related to users' in-game and out-of-game behavior to be collected across videogames and devices in ways that were not previously possible. [0049] Embodiments of the present invention may communicate with (e.g., read data/commands from and send data/comands to) videogames in any of a variety of ways. As is well-known to those having ordinary skill in the art, videogames may be installed on computing devices and execute in a variety of ways. For example:

• Some videogames are installed on the user's local computing device (e.g., a desktop computer) and execute directly on that local computing device, without

communicating with a server (e.g., to link to an account of the user or to obtain in- game data).

• Some videogames are installed on the user's local computing device and execute directly on that local computing device, but require the user to log in to an account of the user associated with the videogame, where such an account is maintained by a server associated with the videogame (e.g., the account server 106 or a server other than the account server 106).

• Some videogames are installed on a server (e.g., a social networking server) and execute remotely on that server. The user provides input to and receives output from such videogames on the user's local computing device via a web browser or other software that executes on the user's local computing device and which receives data from and transmits data to the game server (e.g., the social networking server). Such videogames may require the user to log in to an account on the game server to play the game.

[0050] These are merely examples of ways in which videogames may be installed and executed. In general, embodiments of the present invention may receive data from and provide data to videogames that are installed and executed in any of the ways described above and in other ways. For example, referring to FIG. 4A, a dataflow diagram is shown of a system 400 for receiving data from and providing data to a videogame 402 according to one embodiment of the present invention. Referring to FIG. 5A, a flowchart is shown of a method 500 performed by the system 400 of FIG. 4A according to one embodiment of the present invention.

[0051] In the example of FIG. 4A, a videogame 402 is installed on the computer device 110a. Also stored on the computing device 110a is profile data 404 maintained by the videogame 402. The profile data 404 includes user profile data for one or more users. In the particular example of FIG. 4A, the profile data 404 includes users profile data 406a, representing a profile of user 114a, and profile data 406b, representing a profile of user 114b. The user profile data 406a-b contains user profile data for each of one or more profiles of each user. In the particular example of FIG. 4A, the profile data 406a associated with user 114a contains persona data 408a representing a first persona of user 114a and persona data 408b representing a second persona of user 114a; and the profile data 406b contains persona data 408c representing a first persona of user 114b. Some videogames may not maintain persona data within user profile data, but may instead merely maintain persona data without associating each persona with a corresponding user. Those having ordinary skill in the art will appreciate how to apply the techniques disclosed herein to such videogames.

[0052] In general, the client 112a may receive some or all of the profile data 404 from the videogame 402 (FIG. 5, operation 502). The client 112a and the videogame 402 may communicate with each other (e.g., send and receive profile data 404) using any suitable mechanism, such as an application program interface (API) provided by the client 112a. For example, the client 1 12a may provide a request to the videogame 402 for some or all of the profile data 404 (such as a particular one of the user profiles 406a-b, or a particular one of the personas 408a-c, or any portion thereof), in response to which the videogame 402 may provide the requested data to the client 112a. Such a technique is referred to herein as a "pull" technique for receiving data from the videogame 402 because the client 112a initiates the transfer of data from the videogame 402 by requesting such data.

[0053] As another example, the videogame 402 may provide some or all of the profile data 404 (such as a particular one of the user profiles 406a-b, or a particular one of the personas 408a-c, or any portion thereof) to the client 112a on the initiative of the videogame 402, i.e., not in response to a request from the client 112a. Such a technique is referred to herein as a "push" technique for providing data to the client 112a because the videogame 402 initiates the transfer of data from the videogame 402 to the client 112a.

[0054] Embodiments of the present invention may provide some or all of the profile data 404 from the videogame 402 to the client 112a using pull techniques, push techniques, or any combination thereof. Embodiments of the present invention may, for example, provide such data to the client 112a periodically (e.g., every second, minute, hour, or day). Alternatively or additionally, embodiments of the present invention may provide such data to the client 112a in response to an event, such as in response to detection of any one or more of the following: input from the user 114a, an in-game event (e.g., any in-game event that causes a change in the profile data 404, such as an increase in the level of a persona or completion of a quest), or an out-of- game event (such as an out-of-game purchase). As this implies, the client 112a may receive frequent and repeated updates of the profile data 404 from the videogame 402, such as while the user 114a is playing the videogame 402. In response to receiving such updated data, the client 112a may store and/or display such updated data to the user 114a.

[0055] The client 112a may provide some or all of the profile data 404 to the account server 106 (FIG. 5, operation 504). For example, in response to receiving notification from the videogame 402 of an update to the profile data 404, the client 112a may transmit data

representing the update to the account server 106. The account server 106 may update the corresponding account record in the account database 102 to reflect the updated profile data (FIG. 5, operation 506). For example, the account server 106 may receive the updated profile data from the client 112a and identify, based on the received profile data, the account record and/or profile record in the account database 102 that corresponds to the received profile data, such as by using identifying information contained within the received profile data (e.g., any one or more of a username, password, account name, and profile name) to identify the corresponding account record and/or profile record. The account server 106 may then update the identified account record and/or profile record based on the received profile data.

[0056] As described elsewhere herein, the account server 106 may provide data from the account database 102 to one or more of the account clients 1 12a-m, such as by pushing such data to the account clients 112a-m, or by the account clients 112a-m pulling such data from the account server 106. As a result, when the account client 112a provides updated profile data to the account server 106, the account server 106 may update the account database 102 based on such updated profile data, and then account server 106 may provide such updated profile data to one or more of the account clients 112a-m (FIG. 5, operation 508), which may update their individual copies of such profile data (FIG. 5, operation 510) and (optionally) display such updated profile data to the users of such account clients 112a-m and take any other actions disclosed herein. In this way, updates within a particular videogame, such as the videogame 402, may be transmitted to and reflected in the output of account clients executing on computing devices other than the computing device on which the particular videogame 402 is executing. For example, an achievement of the user 114a within the videogame 402 executing on computing device 110a may be displayed by an account client executing on another computing device (e.g., account client 112b executing on computing device 110b). This is true even if, as in the example of FIG. 4A, the particular videogame 402 is installed and executes locally on a single computing device and is not otherwise designed to include networking features. This is one example of various ways in which embodiments of the present invention may be used to enable videogames to be integrated across multiple computing devices.

[0057] As mentioned above, each of the clients 112a-m may display information and perform other functions in connection with a plurality of videogames. For example, while user 114a is logged in to client 112a, the client 112a may display information related to the videogames associated with user 114a, or with all of the users 114a-d associated with the same account as user 114a. In either case, updates of the kind described above may be displayed by the clients 112a-m for multiple videogames. For example, if user 114a is playing a first videogame on computing device 110a and user 114b (who shares the same account with user 114a) is playing a second videogame on computing device 110b, then client 112a may display updates from both the first videogame being played by user 114a and the second videogame being played by user 114b, while the client 112b may display updates from both the first videogame being played by user 114a and the second videogame being played by user 114b. As will be described in more detail below, such updates need not be limited to updates from users sharing the same account. More generally, an account client may display updates from videogames associated with any plurality of users, including users who are not members of the same account.

[0058] As described above, when a user logs into the server 106 via one of the clients 112a-m, that client may display to the user a variety of information. In particular, any of the updates disclosed herein may be displayed to a user when the user accesses the server 106 via any of the clients 112a-m. For example, if user 114a obtains an achievement in videogame 402 while playing videogame 402 on computing device 110a, the client 112a on computing device 110a may display information representing that achievement to user 114a. If, however, user 114a subsequently logs in to the server 106 via client 112b on computing device 110a, then client 112b may display the same information representing that achievement to user 114a via computing device 110b. More generally, the clients 112a-m may provide a consistent view of information to all users via all of the computing devices 1 lOa-m. The clients 112a-m may, however, be configured to display different information and/or to display the same information differently on different devices, such as to conform to different display capabilities of full-screen monitors and touchscreen displays.

[0059] In the embodiments described above in connection with FIG. 4A, the client 112a receives data from and provides data to the videogame 402. It should be appreciated that the other clients 1 \2b-m may perform the same functions as those disclosed herein for client 112a. Furthermore, it should be appreciated that the mechanisms disclosed in connection with FIG. 4A may be used to provide any data/commands to videogames and to receive any data/commands from videogames as described herein.

[0060] Furthermore, components in addition to and/or other than the clients 112a-m may receive data from and provide data to videogames. For example, referring to FIG. 4B, a dataflow diagram is shown of a system 420 for receiving data from and providing data to a videogame 422 according to one embodiment of the present invention. Referring to FIG. 5B, a flowchart is shown of a method 520 performed by the system 420 of FIG. 4B according to one embodiment of the present invention.

[0061] In the embodiment shown in FIG. 4B, the videogame 422 is installed and executes on computing device 110a, but the computing device 110a does not store the profile data 404. Instead, a videogame server 424 located remotely from the computing device 110a stores and maintains the profile data 404. Although the videogame server 424 may store profile data for a plurality of users, for ease of illustration FIG. 4B only shows the profile data 404 for users 114a and 114b.

[0062] The users 114a and 114b may log in to the videogame server 424 in any of a variety of ways. For example, as described above, one or both of the users 114a and 114b may log in to the account client 112a on the computing device 110a, and the account client 112a may log in to the account and/or profile of one or both of the users 114a-b. Alternatively, for example, one or both of the users 114a-b may provide their credentials with the videogame server 424 to the videogame 422, in response to which the videogame 422 may log into the videogame server 424 on behalf of one or both of the users 114a-b. Although the videogame server 424 may perform functions in addition to managing the profile data 404 (such as streaming the videogame to the client device 110a to enable the users 114a-b to play the videogame over the network 108), only the account management functions of the videogame server 424 are described herein.

[0063] The account server 106 may receive some or all of the profile data 404 from the videogame server 424 in FIG. 4B any of the ways disclosed above in connection with the account client 112a receiving some or all of the profile data 404 from the videogame 402 in FIG. 4A (FIG. 5B, operation 522). For example, the account server 106 may pull profile data from the videogame server 424. As another example, the videogame server 424 may push profile data to the account server 106. The account server 106 may provide any profile data that it receives from the videogame server 424 to the account client 112a and/or one or more of the other account clients 112b-m in any of the ways disclosed above (FIG. 5B, operation 524). Upon receiving profile data from the account server 106, the account clients 1 lOa-m may update their individual copies of the profile data (FIG. 5B, operation 526) and (optionally) display some or all of the updated profile data to the users 114a-m.

[0064] The configurations of FIGS. 4 A and 4B are merely examples and do not constitute limitations of the present invention. Those having ordinary skill in the art will appreciate that profile data, and other data disclosed herein (such as account data more generally), may be exchanged among the account server 106, the videogame server 424, the videogame 422, and the client 112a in any of a variety of ways. For example, in the system 420 of FIG. 4B, the videogame 422 may receive profile data from the videogame server 424 and provide that data to the account client 112a, which may provide the profile data to the account server 106. As another example, the account client 112a may receive profile data from the videogame server 424 and provide the profile data to the account server 106. Any of the techniques disclosed herein for exchanging profile data among the account server 106, the videogame server 424, the videogame 422, and the account client 112a may be applied to data disclosed herein other than profile data (such as account data more generally). Furthermore, any of the techniques disclosed herein for exchanging profile data among the account server 106, the videogame server 424, the videogame 422, and the account client 112a may be applied to providing commands, not merely data, from one such component to another.

[0065] In the examples of FIG. 4A-4B, the client 112a is shown as a distinct component from the videogame 402. The videogame 402 may, for example, be a pre-existing videogame that was designed and installed independently of the client 112a, with the possible exception of being designed to communicate with the client 112a using a particular communications mechanism, such as the API mentioned above. Alternatively, for example, the functions performed by the client 112a may be integrated into the videogame 402, such that two distinct components are not required.

[0066] As described above, the account server 106 may maintain data about individual users 114a-f of the system, and the accounts, profiles, and personas associated with those users 114a-f. The term "user entity," as used herein, includes, for example:

• accounts;

• master profiles;

• user profiles;

• personas;

• email accounts (as represented, for example, by email addresses);

• social networking accounts (as represented, for example, by social networking

account usernames); and

• telephone numbers.

[0067] Embodiments of the present invention may monitor, create, and maintain various relationships among user entities (referred to herein as "user entity relationships"). In the embodiments disclosed herein, the account server 106 creates and maintains such relationships, but such functions may be performed, additionally or alternatively, by components other than the account server 106. Examples of relationships among user entities that may be monitored, created, and maintained by embodiments of the present invention include:

• Friends: A "friend" relationship between two or more user entities is a semipermanent connection between the two or more user entities. For example, two users may establish a friend relationship between their personas in a particular videogame for the purpose of receiving in-game and/or out-of-game chat messages from each other.

• Groups: A "group" relationship between two or more user entities is a temporary relationship among those user entities, often formed to complete a common in-game goal, such as an in-game quest.

• Guilds: A "guild" relationship between two or more user entities is a semi-permanent relationship among those user entities, often formed to complete multiple common in- game goals, such as in-game quests, over time.

[0068] A set containing two or more user entities that are related to each other by a user entity relationship is itself an example of a "user entity," as that term is used herein. For example, three personas having a friend relationship with each other collectively form a single user entity as that term is used herein. As another example, five profiles having a guild relationship with each other collectively form a single user entity as that term is used herein. Such user entities may themselves form user entity relationships with other user entities.

[0069] As described herein, a profile may include one or more personas. A user entity relationship between a profile and another user entity, therefore, may be a relationship between all or each of the personas in the profile and the other user entity. Similarly, as described herein, an account may include one or more profiles. A user entity relationship between an account and another user entity, therefore, may be a relationship between all or each of the profiles in the account and the other user entity.

[0070] Some existing videogames enable users to create certain limited types of user entity relationships, such as friend, group, and guild relationships among in-game personas within a single videogame. Embodiments of the present invention may use the techniques of FIGS. 4-5 to obtain data about such user entity relationships and to update the account database 102 based on such data. Even if such user entity relationships are created and modified using videogames without the involvement of embodiments of the present invention, embodiments of the present invention may still use the techniques disclosed herein to obtain data about such in- game user entity relationships from videogames, to display such information using the account clients 112a-m, and to share such information across users. For example, if a particular user creates a particular user entity relationship in a particular videogame (such as by joining a build), embodiments of the present invention may receive information representing such a new user entity relationship and perform any of the actions disclosed herein in connection with FIGS. 4-5 in response. Such embodiments of the present invention provide advantages over existing videogames that merely enable users to create and maintain user entity relationships within individual videogames. For example, embodiments of the present invention may display, to a particular user (e.g., user 114a), information about that user's user entity relationships within each of a plurality of videogames (such as the user's friends, groups of which the user is a member, and guilds of which the user is a member) via a single graphical user interface, even if the individual videogames represented therein were not designed to interoperate with the other videogames represented therein.

[0071] Furthermore, embodiments of the present invention may use the techniques of FIGS. 4-5 to provide data about user entity relationships to each of a plurality of videogames for purposes such as creating and/or modifying such user entity relationships within each of one or more of the plurality of videogames. For example, the account clients 112a-m may provide a mechanism for receiving out-of-game input from any one of the users 114a-f indicating a desired new friend, group, or guild relationship within a specified videogame, whether or not the user currently is playing the videogame. In response to receiving such input from a particular user, the account client may provide an instruction to the specified videogame to add the particular user to the specified friend, group, or guild relationship, in response to which the specified videogame may add the particular user to the specified friend, group, or guild relationship. The account clients 112a-m may use similar techniques to sever (i.e., delete) existing user entity relationships, to create new groups and guilds, and to delete existing groups and guilds within individual videogames. As with all other changes to in-game data disclosed herein, any such changes may be propagated to the other account clients 112a-m, such as by first propagating such changes to the account server 106, which may update the account database 102 to reflect the changes, and which may then propagate the changes to some or all of the account clients 112a-m.

[0072] As described above, out-of-game entities, such as accounts, profiles, email accounts, and social networking accounts may be members of user entity relationships according to embodiments of the present invention. A single out-of-game entity may be associated with a plurality of videogames. For example, a single user profile may be associated with a first persona in a first videogame and a second persona in a second videogame. As a result, a user entity relationship according to embodiments of the present invention include relationships between two in-game entities (e.g., a relationship between two personas within the same videogame), relationships between one in-game entity and one out-of-game entity (e.g., a relationship between a persona in one videogame and a user profile), and relationships between two out-of-game entities (e.g., a relationship between a first user profile and a second user profile).

[0073] If an out-of-game entity is a member of a user entity relationship, then

embodiments of the present invention may apply, or attempt to apply, that relationship to all in- game entities (e.g., profiles and personas) associated with that out-of-game entity. For example, consider a friend relationship between: (1) an out-of-game profile of a first user Ui that is associated with a first persona Ui(Pi) in a first videogame and a second persona Ui(P 2 ) in a second videogame; and (2) an in-game persona U 2 (Pi) of a second user U 2 in the first videogame. In response to determining that such a relationship exists, embodiments of the present invention may determine that the following relationships exist, and store records in the account database 102 representing such relationships: (1) a friend relationship between the first persona Ui(Pi) of user Ui and the persona U 2 (Pi) of U 2 ; and (2) a friend relationship between the second persona Ui(P 2 ) of user Ui and the persona U 2 (Pi) of U 2 . Alternatively, for example, embodiments of the present invention may only recognize persona-persona relationships between personas that are in the same game as each other. In the example above, this would result in only recognizing a friend relationship between the first persona Ui(Pi) of user Ui and the persona U 2 (Pi) of U 2 , because the second persona Ui(P 2 ) of user Ui and the persona U 2 (Pi) of U 2 are not in the same game as each other. It should be appreciated that the same techniques may be applied to any out-of-game user entity that is associated with a plurality of in-game entities, such as accounts, email accounts, and social networking accounts. Furthermore, in response to determining that any relationship described above exists, embodiments of the present invention may create such relationships within the associated videogames or modify existing relationships within the associated videogames to reflect the determined relationship.

[0074] Embodiments of the present invention may recommend that a particular user entity form a particular user entity relationship or sever a particular user entity relationship. Embodiments of the present invention may generate such a recommendation based on any of the data disclosed herein in a variety of ways. For example, FIG. 6 shows a flowchart of a method 600 that is used in one embodiment of the present invention to recommend user entity relationships. The method 600 may, for example, be performed by the account server 106, one or more of the account clients 112a-m, or any combination thereof.

[0075] The method 600 generates a user entity relationship recommendation, such as a recommendation to create or sever a particular user entity relationship (FIG. 6, operation 602). The method 600 provides output representing such a recommendation to one or more of the users associated with one or more of the user entities that are the subject of the recommendation (FIG. 6, operation 604). For example, if the recommendation is a recommendation for two personas to enter into a friend relationship, then the method 600 may notify one or both users associated with the two personas of the recommendation. As another example, if the recommendation is a recommendation for a persona to join a guild, then the method 600 may notify the user associated with the persona, one or more users associated with personas that are members of the guild, or any combination thereof, of the recommendation.

[0076] In response, such user(s) may provide input indicating acceptance or rejection of the recommendation (FIG. 6, operation 606). The method 600 determines whether the user input indicates acceptance of the recommendation (FIG. 6, operation 608). The method 600 implements the recommendation (e.g., creates or severs the user entity relationship) only if the user input(s) indicate acceptance of the recommendation (FIG. 6, operation 610).

[0077] The method 600 illustrated in FIG. 6 is merely one example of techniques that may be used to recommend and implement recommendations according to embodiments of the present invention. Additionally or alternatively, for example, embodiments of the present invention may implement the recommended relationship automatically, i.e., without requiring user approval (i.e., without the use of operation 608 in FIG. 6). Additionally or alternatively, for example, embodiments of the present invention may create, delete, or otherwise modify user entity relationships in response to input from one or more users specifying such creation, deletion, or other modification, whether or not the system recommends such actions.

Embodiments of the present invention may require approval from all user entities in a relationship to approve of the creation, deletion, or modification of such a relationship before taking any such action, or they may take such action solely in response to input from a subset (e.g., a single one) of the user entities in the relationship.

[0078] Embodiments of the present invention may generate user entity relationship recommendations in any of a variety of ways. For example, embodiments of the present invention may perform any one or more of the following:

• determine that two user entities have an existing friend relationship with each other and, based on such a determination, recommend that the two user entities enter a group and/or guild relationship with each other;

• determine that two user entities have an existing group or guild relationship with each other and, based on such a determination, recommend that the two user entities enter a friend relationship with each other;

• determine that two user entities have engaged in one or more in-game activities with each other, such as engaging in a particular quest together, obtaining a particular achievement together, or obtaining a particular entitlement together, and, in response to such a determination, recommend that the two user entities enter a friend, group, and/or guild relationship with each other;

• determine that two user entities have the same or similar play style as each other and, in response to such a determination, recommend that the two user entities enter a friend, group, and/or guild relationship with each other;

• determine that two user entities have complementary play styles to each other and, in response to such a determination, recommend that the two user entities enter a friend, group, and/or guild relationship with each other;

• determine that a first user entity A has an existing relationship (e.g., a friend, group, or guild relationship) with a second user entity B, determine that the second user entity B has an existing relationship (e.g., a friend, group, or guild relationship) with a third user entity C, and, in response to such determinations, recommend that user entity A enter a relationship (e.g., a friend, group, or guild relationship) with user entity C; • determine that a first user entity A has suggested that a second user entity B enter a relationship with a third user entity C and, in response to such a suggestion, recommend that user entity B enter a relationship with user entity C;

• determine that a particular user entity has achieved a certain minimum level

associated with one or more groups and/or guilds and, in response to such a determination, recommend that the particular user entity join the group(s) and/or guild(s); and

• determine that two user entities have similar preferences to each other and, in

response to such a determination, recommend that the two user entities enter a relationship with each other.

[0079] Data representing user entity relationships ("user entity relationship data") may be stored in the account database, such as within account data, profile data, and/or persona data. User entity relationship data, therefore, may be an example of account data, profile data, and/or persona data.

[0080] Embodiments of the present invention may associate a relationship strength with any particular user entity relationship. Such a relationship strength may be represented using any value selected from any range of values, such as a value selected from the range one through ten, where one represents a weak relationship and where ten represents a strong relationships. Such a strength value may be stored in association with its corresponding relationship in the account database 102. Embodiments of the present invention may associate strengths with in-game relationships even when the videogames in which such in-game relationships were created do not associate strengths with such relationships. Embodiments of the present invention may, in other words, effectively add strength as a parameter to in-game relationships in videogames that do not associated strengths with such relationships.

[0081] Embodiments of the present invention may automatically generate

recommendations to assign strengths to particular relationships, to increase (e.g., increment) strengths of particular relationships, and to decrease (e.g., strengths) of particular relationships.

Embodiments of the present invention may then either automatically apply such

recommendations or apply such recommendations only upon receiving user approval in any of the ways disclosed herein. Embodiments of the present invention may generate such recommendations in any of a variety of ways, such as by recommending that the strength of an existing relationship between two user entities be increased in response to determining that those user entities have:

• been in the relationship for more than some predetermined minimum amount of out- of-game time (e.g., one week, one month, one year);

• been in the relationship for more than some predetermined minimum amount of in- game (i.e., simulated) time (e.g., one week, one month, one year);

• been in more than some predetermined minimum number of groups or guilds with each other;

• have obtained more than some predetermined minimum number of achievements or entitlements with each other.

[0082] Embodiments of the invention may also assign "roles" to user entities within larger user entities (e.g., groups, guilds) of which they are members, whether or not the underlying videogame supports such roles. The role of each user entity may be stored in the account database 102 and may therefore constitute account data, profile data, and/or persona data. Examples of roles include "leader" and "follower." Embodiments of the present invention may associate a particular role with a particular user entity in response to user input specifying such an association. Additionally or alternatively, embodiments of the present invention may identify the roles of user entities automatically. For example, embodiments of the present invention may identify a particular persona as having a "leader" role within a particular group, guild, or other user entity if that persona has a high reputation score (e.g., a reputation score that is higher than a predetermined minimum score, or a reputation score that has the highest value among all reputation scores within the user entity). As another example, if a persona achieves a particular achievement while the persona is part of a user entity (e.g., group or guild), then embodiments of the present invention may associate the role of "leader" to that persona within the user entity.

[0083] Relationship strength and relationship role are merely two examples of parameters that embodiments of the present invention may associate with user entities and store within user entity data (e.g., account data, profile data, and/or persona data), whether or not the videogames that created the associated user entities recognize such parameters. In this way, embodiments of the present invention may add a variety of parameters to videogame user entities and perform any of the functions disclosed herein in connection with such parameters, without necessarily requiring modification to the corresponding videogames.

[0084] Embodiments of the present invention may make recommendations that are not related to user entity relationships. For example, embodiments of the present invention may recommend that a particular user entity engage in a particular in-game or out-of-game action. Examples of in-game actions that embodiments of the present invention may recommend include:

• making in-game purchases of in-game items, such as particular in-game equipment, potions, skills, bonus content (e.g., additional game levels, quests, achievements and entitlements), and other in-game items;

• making in-game use of in-game items, such as particular equipment, potions, skills, and other in-game items;

• visiting particular in-game locations;

• engaging in particular quests;

• pursuing particular achievements; and

• pursuing particular entitlements.

[0085] Examples of out-of-game actions that embodiments of the present invention may recommend include:

• purchasing particular out-of-game items, such as particular board games, toys, event tickets, and other videogames;

• making out-of-game purchases of items that may be used in-game, such as particular in-game equipment, potions, skills, and other in-game items.

[0086] Embodiments of the present invention may make such recommendations based on any of the data disclosed herein (e.g., account data, profile data, and/or persona data) in any of a variety of ways. For example, embodiments of the present invention may make

recommendations to a user entity based on that user entity's play style, the user entity's relationships with other user entities, and the user entity's in-game behavior. For example, if embodiments of the present invention determine that a particular user entity often engages in in- game quests that cause the user entity to sustain a large amount of damage, then a recommendation may be generated for the user entity to obtain stronger armor or take other action to defend against damage. As another example, embodiments of the present invention may determine that a user entity is having difficulty completing a particular in-game quest (such as by determining that the user entity has failed the quest more than some predetermined number of times, or that the user entity has engaged in the quest for more than some predetermined amount of time without completing the quest) and, in response to such a determination, generate a recommendation for the user entity, such as a recommendation that the user entity engage in another quest, or that the user entity perform an action that will increase the likelihood that the user entity will complete the quest (such as joining a particular group or guild, obtaining a particular item (e.g., weapon, armor, or potion), or obtaining a particular level).

[0087] Examples of play styles include "grinders" (user entities who tend to attack other user entities), "questers" (user entities who tend to seek to complete quests and obtain achievements and entitlements), "healers" (user entities who tend to heal other user entities), and "tanks" (user entities who are capable of taking significant damage). The play style(s) of a user entity may be stored in the account database 102, and may therefore constitute account data, profile data, and/or persona data. Embodiments of the present invention may identify the play style(s) of a user entity based on user input specifying such play style(s). Additionally or alternatively, embodiments of the present invention may identify such play styles automatically based on the in-game behavior of user entities.

[0088] Examples of out-of-game data that embodiments of the present invention may obtain and use to generate recommendations for a user entity include, for example, the birthday, income, address, and out-of-game purchases of the user entity and/or of one or more other user entities. For example, in response to determining that it is a first user's birthday, an embodiment of the present invention may generate a recommendation to a second user (such as a user who has a particular user entity relationship with the first user, such as membership in a group or guild with the first user) that the first user purchase an in-game or out-of-game item for the first user. Embodiments of the present invention may obtain out-of-game data from any of a variety of sources, such as the account database 102, social networking accounts (e.g. Facebook accounts of users 114a-m of the system), and other accounts (e.g., Apple iCloud accounts, Microsoft Exchange accounts).

[0089] Embodiments of the present invention may be used to enable users to engage in a wide variety of communications with each other. For example, embodiments of the present invention may be used to enable users to engage in in-game chat with each other (e.g., chat from one user entity in a videogame to another user entity in the same or different videogame) and in out-of-game chat with each other.

[0090] Users 114a-m may initiate a communication manually, such as by providing input (e.g., typed text or speech) representing the content of the communicate and the recipient user entity of the communication, in response to which embodiments of the present invention may provide the communication to the specified user entity. As another example, embodiments of the present invention may initiate communications automatically, such as by transmitting messages representing in-game information (e.g., updates to account data, profile data, and/or persona data) to other user entities, whether in-game or out-of-game. For example, embodiments of the present invention may transmit such messages to user entities by email, text message, or social networking message (e.g., by transmitting such messages via Facebook and/or Twitter).

[0091] Conversely, embodiments of the present invention may receive information from out-of-game sources (such as social networking accounts) and provide in-game and/or out-of- game messages to users of the system 114a-m based on such received information. For example, if a first user sends a tweet using Twitter to a second user, embodiments of the present invention may locate the profile of the second user in the account database 102, determine that the second user is playing a particular videogame and, in response to the determination, forward the tweet to the second user as an in-game chat message within the videogame that the second user is playing.

[0092] Embodiments of the present invention may associate one or more communication rules with any user entity. A communication rule may, for example, specify which types of messaging the user entity is permitted to engage in (e.g., in-game messaging, out-of-game messaging, SMS, social networking messaging, email). The user associated with the master profile of an account may, for example, specify communication rules for all profiles in the account. For example, a rule may specify that persona A may send an in-game message to master profile holder B's cell phone by way of SMS, provided that it meets the communication rules associated with persona A and master profile B.

[0093] Embodiments of the present invention may generate personalized messages to one or more user entities containing any account data, profile data, and/or persona data associated with another user entity. For example, embodiments of the present invention may obtain data about the results achieved (e.g., quests completed, levels attained, opponents defeated) by a first user entity, and transmit a message to the first user entity and/or one or more second user entities (e.g., user entities having a particular user entity relationship with the first user entity) representing the obtained data. Embodiments of the present invention may enable a first user entity to have one or more "follower" user entities. A particular user entity may, for example, submit a request to be a follower of the first user entity. Embodiments of the present invention may store data representing the followers of the particular user entity in the account database (e.g., in the account data, profile data, and/or persona data). Embodiments of the present invention may transmit messages containing data related to the particular user entity to some or all followers of the particular user entity, in any of the ways disclosed herein (e.g., by email, in- game message, or social networking message).

[0094] A user entity may obtain an achievement within a videogame. In general, a user entity may obtain an achievement for accomplishing a particular goal within the videogame, such as defeating a particular opponent, completing a certain quest, obtaining a certain level, or performing any other action(s) associated with the achievement. Obtaining a particular achievement within a particular videogame may unlock additional features within that videogame, such as abilities, quests, and/or entitlements. Embodiments of the present invention may store data representing the achievements of a user entity in the account database 102 (e.g., in the account data, profile data, and/or persona data). Embodiments of the present invention may, therefore, provide output representing user entity achievements in any of the ways disclosed herein, generate recommendations based on achievements in any of the ways disclosed herein, and more generally perform in connection with achievements any of the actions disclosed herein for account data, profile data, and/or persona data.

[0095] A user entity may obtain an entitlement within a videogame. In general, a user entity may obtain an entitlement for accomplishing a particular goal within the videogame, such as obtaining a particular achievement, defeating a particular opponent, completing a certain quest, obtaining a certain level, or performing any other action(s) associated with the

achievement. Examples of entitlements include in-game items such as equipment, currency, and titles, and include out-of-game items such as merchandise, discounts (e.g., on the subscription to the current videogame, the purchase of a future videogame, a book, or a toy figure), in-game currency, out-of-game currency, keys (e.g., the ability to unlock features and/or other games), social networking badges, and newsletter mentions. Entitlements may be triggered by out-of- game events. For example, embodiments of the present invention may grant an entitlement of extra game play to a child who earns a good grade in school.

[0096] Any particular entitlement may be locked, meaning that its use may not be transferred to another user entity. Any particular entitlement may be unlocked. An unlocked entitlement may be transferred from one user entity to another, such as by trading it for another entitlement.

[0097] As described above, embodiments of the present invention may receive a variety of information from a plurality of videogames. Embodiments of the present invention may generate any of a variety of statistics and other analytic data based on such received information. For example, embodiments of the present invention may calculate, based on any of the data disclosed herein:

• the total and/or average amount of time (over any period) that any particular user entity or entities have played a particular videogame and/or set of videogames;

• frequency of use of particular in-game features over any period of time, and by any user entity or entities;

• trends in content of in-game and/or out-of-game messages over any period of time, and by any user entity or entities; and

• sales volume of one or more videogames, over any period of time, and by any user entity or entities.

[0098] As described above, embodiments of the present invention may receive a variety of information from a plurality of videogames. A further example of such data is data representing in-game and out-of-game purchases by users 1 14a-m of the system. Such purchases may include purchases of in-game items and out-of-game items. Embodiments of the present invention may store data representing such purchases in the account database 102 (e.g., in the account data, profile data, and/or persona data). As a result, embodiments of the present invention may perform any of the functions disclosed herein in connection with account data, profile data, and/or persona data on data representing purchases. Examples of in-game items that may be purchased include characteristics, achievements, entitlements, objects, levels, and content.

[0100] Embodiments of the present invention may provide a "looking for group" (LFG) feature to users 114a-m of the system. The LFG feature enables user entities to more easily find other user entity with whom to form user entity relationships. For example, embodiments of the present invention may associate a particular set of play styles with a user entity (e.g., a group or guild). Embodiments of the present invention may determine whether, for each of the play styles, the user entity includes at least one user entity having that play style. If the user entity is determined to be lacking at least one such user entity, embodiments of the present invention may generate an LFG request specifying the user entity that is in need (the "requesting user entity") of the missing play style(s). Such a request may, for example, request a persona having a play style of "tank" for a group that does not include any personas having the play style of "tank."

Embodiments of the present invention may also maintain one or more lists of user entities who are looking for a group or other user entity to join. Embodiments of the present invention may identify one or more user entities having the play style specified by a particular LFG request and, in response, either recommend to the requesting user entity that the requesting user entity add the identified user entities to the requesting user entity, or automatically add the identified user entities to the requesting user entity. Embodiments of the present invention may give priority to a particular user entity in the list of user entities who are looking for a user entity to join, based on factors such as the level of subscription for which the particular user entity has paid.

[0101] Embodiments of the present invention have a variety of advantages. For example, embodiments of the present invention may be used to provide a multi-tiered identity system, in which a single account may include multiple profiles and in which a single profile may include multiple personas. Within this system, access rights (such as access to particular videogames and to features within particular videogames) may be assigned to an account as a whole, to individual profiles separately within an account, and to individual personas separately within a profile. Such access rights may be configured by one or more master users associated with master profiles of the account. Such master users may, for example, be parents in a household, whereas the non-master users may, for example, be children in the household. In this way, embodiments of the present invention may enable parents to grant individual children access only to certain videogames and only to certain features within those videogames. Embodiments of the present invention may enforce such access rights across all devices through which all account members access and play videogames.

[0102] Another advantage of embodiments of the present invention is that they may be used to provide social features that enable users to communicate with each other both in-game and across games. For example, embodiments of the present invention may be used to enable users to chat with each other in-game, to chat with each other out-of-game (e.g., for a first user to send an out-of-game message to a second user, and for the message to be output to the second user out-of-game), and to chat with each other across videogames (e.g., for a first user who is playing a first videogame to chat with a second user who is playing a second videogame, and for the chat messages sent by each user to be displayed within the videogame being played by the other user). As additional examples, embodiments of the present invention may be used to enable users to send messages from within a videogame to the email accounts, social networking accounts, text messaging accounts, and other out-of-game accounts of other users. Conversely, embodiments of the present invention may be used to enable users to send messages from the email accounts, social networking accounts, text messaging accounts, and other out-of-game accounts to other users in-game. This wide variety of communications features significantly increases the ability of users to integrate communication into their gameplay and to communicate about their gameplay with other users, including users who do not play videogames.

[0103] Another advantage of embodiments of the present invention is that they may be used to enable a wide range of commerce functions, such as purchasing in-game items from within videogames, purchasing in-game items from outside videogames, purchasing in-game items from outside videogames, and purchasing out-of-game items (such as items related to videogames, e.g., toys, comic books, and movies) from outside videogames. Embodiments of the present invention may be used to enable all such purchases to be made using real (out-of- game) currency, such as U.S. dollars, or using virtual (in-game) currency. Furthermore, embodiments of the present invention may monitor and record any such purchases across all videogames, enable users to view their purchase histories, and generate recommendations based on such purchase histories.

[0104] Another advantage of embodiments of the present invention is that they provide a single user interface which provides users with information about their accounts, profiles, personas, and videogames. Through such a single user interface a user may view all information related to the videogames to which the user has access, videogames which the user may purchase, the user's profiles and personas, profiles and personas of other users within the same account as the user, profiles and personas of users who have relationships with the user, and communications from other users. For example, such a user interface may provide the user with information about the achievements, entitlements, and purchases of the user and of other users. Furthermore, the user interface may enable the user to perform actions, such as launching videogames, purchasing new videogames, making in-game and out-of-game purchases, modifying relationships with other users, and communicating with other users. In this way, the user interface may provide a centralized videogame hub for the user across all of the user's videogames and devices.

[0105] It is to be understood that although the invention has been described above in terms of particular embodiments, the foregoing embodiments are provided as illustrative only, and do not limit or define the scope of the invention. Various other embodiments, including but not limited to the following, are also within the scope of the claims. For example, elements and components described herein may be further divided into additional components or joined together to form fewer components for performing the same functions.

[0106] Any of the functions disclosed herein may be implemented using means for performing those functions. Such means include, but are not limited to, any of the components disclosed herein, such as the computer-related components described below.

[0107] The techniques described above may be implemented, for example, in hardware, one or more computer programs tangibly stored on one or more computer-readable media, firmware, or any combination thereof. The techniques described above may be implemented in one or more computer programs executing on (or executable by) a programmable computer including any combination of any number of the following: a processor, a storage medium readable and/or writable by the processor (including, for example, volatile and non-volatile memory and/or storage elements), an input device, and an output device. Program code may be applied to input entered using the input device to perform the functions described and to generate output using the output device.

[0108] Each computer program within the scope of the claims below may be

implemented in any programming language, such as assembly language, machine language, a high-level procedural programming language, or an object-oriented programming language. The programming language may, for example, be a compiled or interpreted programming language.

[0109] Each such computer program may be implemented in a computer program product tangibly embodied in a machine-readable storage device for execution by a computer processor. Method steps of the invention may be performed by one or more computer processors executing a program tangibly embodied on a computer-readable medium to perform functions of the invention by operating on input and generating output. Suitable processors include, by way of example, both general and special purpose microprocessors. Generally, the processor receives (reads) instructions and data from a memory (such as a read-only memory and/or a random access memory) and writes (stores) instructions and data to the memory. Storage devices suitable for tangibly embodying computer program instructions and data include, for example, all forms of non-volatile memory, such as semiconductor memory devices, including EPROM, EEPROM, and flash memory devices; magnetic disks such as internal hard disks and removable disks; magneto-optical disks; and CD-ROMs. Any of the foregoing may be supplemented by, or incorporated in, specially-designed ASICs (application-specific integrated circuits) or FPGAs (Field-Programmable Gate Arrays). A computer can generally also receive (read) programs and data from, and write (store) programs and data to, a non-transitory computer-readable storage medium such as an internal disk (not shown) or a removable disk. These elements will also be found in a conventional desktop or workstation computer as well as other computers suitable for executing computer programs implementing the methods described herein, which may be used in conjunction with any digital print engine or marking engine, display monitor, or other raster output device capable of producing color or gray scale pixels on paper, film, display screen, or other output medium. [0110] Any data disclosed herein may be implemented, for example, in one or more data structures tangibly stored on a non-transitory computer-readable medium. Embodiments of the invention may store such data in such data structure(s) and read such data from such data structure(s).

[0111] What is claimed is: