FIELD OF THE INVENTIONEmbodiments of the present invention are related to a system and method for implementing tag-based grouping of online communities.
BACKGROUND OF THE INVENTIONOnline communities have grown increasingly pervasive over the years. These online communities have taken on the form of forums, blogs, social networks, etc. In the context of gaming, online communities have been developed to promote group-based game play. These gaming communities are known as clans or guilds. These gaming communities facilitate online play amongst large groups by forming clans that compete against each other, or communities that allow exclusive competition amongst members.
Several motivations exist for joining a clan. One strong motivating factor for joining a clan involves placing a person within a social network which provides access to resources, knowledge, and help needed to accomplish game-related goals. Another strong motivating factor is that clans fulfill a human desire for social interaction. These clans promote competition, a strong sense of teamwork, and also provide a model for dividing labor to attain game-related achievements.
Depending on the purpose and goals of a clan, membership may range anywhere from being all-inclusive to being extremely exclusive. Some clans grant membership based on a performance metric and need. Other clans welcome all interested members and promote a friendly and social environment. However, all of these clans suffer from the same problem. These clans must be located by and membership must be sought out by an interested user rather than an interested clan. Thus, clans suffer from more limited membership due to the nature of the membership process.
BRIEF DESCRIPTION OF THE DRAWINGSFIG. 1 is a schematic diagram illustrating a gaming environment implementing a method for tag-based grouping of online communities accompanied by a flow diagram illustrating said method according to an embodiment of the present invention.
FIG. 2 is a schematic diagram illustrating an example of a group-affiliated computer-game related activity according to an embodiment of the present invention.
FIG. 3A is a schematic diagram illustrating another example of a group-affiliated computer-game related activity according to an embodiment of the present invention.
FIG. 3B is a schematic diagram illustrating another example of a group-affiliated computer-game related activity according to an embodiment of the present invention.
FIG. 4 illustrates a block diagram of a server that may be used to implement a method for tag-based grouping of online communities according to an embodiment of the present invention.
FIG. 5 illustrates a block diagram of a client device that may be used to implement a method for tag-based grouping of online communities according to an embodiment of the present invention.
FIG. 6 illustrates an example of a non-transitory computer readable storage medium in accordance with an embodiment of the present invention.
DESCRIPTION OF THE SPECIFIC EMBODIMENTSFIG. 1A is a schematic diagram illustrating a gaming environment implementing a method for tag-based grouping of online communities accompanied by a flow diagram illustrating said method according to an embodiment of the present invention. Auser101 of acomputer system103 may interact with thecomputer system103 by way of a user interface107 (e.g., wireless controller, joystick, etc.). Thecomputer system103 may be operably connected to avisual display102 configured to display images associated with a program running on thecomputer system103.
By way of example, and not by way of limitation, thecomputer system103 may include aclient device105, such as a video game console. Thedisplay102 may be directly or indirectly connected to theclient device105 by a wired or wireless connection. Similarly, the user interface may be connected to theclient device105 by a wired or wireless connection. In thecomputer system103, the client device104 may be connected to aserver106 and/or other client devices108 via anetwork109. Theclient device105,server106 and other client devices108 may be implemented as general purpose computers that operate as special purpose computers when programmed by suitable software. Alternatively,client device105,server106 and other client devices108 may be implemented as special purpose built hardware implemented, e.g., using, inter alia, application-specific integrated circuit (ASIC) components. Theclient devices105,111 may be implemented in a variety of ways, including as computers, portable digital assistants (PDAs), video game consoles, portable gaming devices, portable communication devices, cellular telephones, and the like. Theclients105,111, andserver106 may be equipped with conventional mechanisms to transmit and receive information via thenetwork109, such as ports, network cards, receivers, modems, and so on.
Thenetwork109 is representative of many different network types, including public networks (e.g., the Internet) and proprietary networks. Thenetwork109 may be implemented using wireless technologies (e.g., radiofrequency, microwave, cellular, and the like), wire-based technologies (e.g., cable, fiber optic, twisted pair wire, co-axial cable, and the like), or any combination of wired and/or wireless technologies. Any one of many diverse protocols and formats may be used to package data and transmit it among theclient device105,server106 and other client devices108.
Thecomputer system103 may be configured to store data and information associated with theuser101 for subsequent retrieval by theuser101. By way of example, and not by way of limitation, such data may include a user-created profile or behavioral data associated with theuser101 of thecomputer game system103. Thecomputer system103 may also be configured to facilitate interaction between theuser101 and other users (not illustrated) of one or moreother client devices111 connected to thenetwork109. By way of example, and not by way of limitation, some of these other client devices may belong to users who are members of an online community (e.g., a group or clan), while other client devices may belong to users who are independent and have no affiliation with an online community.
Thecomputer system103 may implement a method for tag-based grouping of online communities in accordance with an embodiment of the present invention. By way of example, and not by way of limitation, this method may be implemented each time the user signs on, each time the user updates his/her profile, each time the user's behavior changes, or any other time the user interacts with the computer game system depending on the application. The method may proceed as shown in the flow diagram ofFIG. 1B.
Thecomputer game system103 may initially obtain one or more tags associated with theuser101 as indicated at113. As used herein, the term “tag” refers to a non-hierarchical keyword or term attached to a piece of information. A tag may be regarded as a type of metadata that helps describe information. Auser101 may have several tags associated with him to help identify him and indicate his preferences and interests. These tags may be pre-defined by thecomputer game system103 or may be open field text tags created by the user, or a combination of both. Pre-defined tags allow for better organization by removing homonyms (i.e. same tag used with different meanings) and synonyms (i.e., multiple tags for the same concept) from the set of available tags. Open field text tags give the user more flexibility and freedom over the types of tags associated with him.
Various methods exist for obtaining tags associated with a given user. By way of example, and not by way of limitation, thecomputer system103 may store a user profile which indicates certain user preferences (e.g., favorite game, favorite sports team, etc.) and user identifiers (e.g., age, location, etc.). The profile may be stored on the user'sclient device105 or on theserver106. It is also possible for different portions of the information contained in the profile to be stored at distributed locations, which may include the user'sclient device105, theserver106, and theother client devices111. The computer system103 (e.g., the user'sclient device105 or theserver106 or some combination of both) may then discover several tags associated with theuser101 by accessing the information in this profile and searching the data in the profile for matches with data corresponding to tags for one or more user groups.
In some implementations, the tags may be obtained by theclient device105 or theserver106 when the user provides input. For example, the system103 (e.g., the user'sclient device105 or theserver106 or some combination of both) may prompt the user to enter the data into the profile via theclient device105. The client device may obtain the tags when the input is entered by the user and the server may obtain the tags if the input is transmitted from the client device to the server. Alternatively, by way of example, and not by way of limitation, the computer system103 (e.g., theclient device105,server106 or some combination of both) may monitor a user's behavior and associate certain tags with the user based on the user's habits. For example, a user who habitually plays the same game title everyday may have a tag associated with him that indicates his affinity for that particular game title.
Once thecomputer game system103 has obtained tags associated with theuser101, it may then proceed to identify one or more groups compatible with the user's tags as indicated at115. By way of example, and not by way of limitation, such groups may include users of client devices on thenetwork109 or on another network (not illustrated) to which thegame network109 is connected. As discussed above, such groups may be formed solely for the purpose of competition and game-related achievement or may be formed to promote social interaction and a sense of community. Groups may compete against opposing groups or may allow exclusive competition amongst its members. Additionally, groups, sometimes referred to as clans, may be game-specific or may span across multiple game titles.
It is noted that embodiments of the present invention are not limited to implementations involving pre-existing groups. Identifying groups at115 may involve the generation of entirely new groups based on compatibility with one or more user tags. For example, one of the tags in a user's profile may identify a user's favorite sport or sport's team. If, e.g., a user is a fan of the San Francisco Giants, thesystem103 may generate a new group whose members are also San Francisco Giants fans. Thesystem103 may also automatically generate a rival group whose members are fans of a rival team, such as the Los Angeles Dodgers. Thesystem103 may identify the rival group based on a context of real world events. For example, during the regular season, Giants and Dodgers fans are likely to be rivals. However, if the Giants make the playoffs and the Dodgers do not, the Giants group's rival group may be comprised of fans of the Giants playoff opponents, e.g., the Texas Rangers.
Thecomputer system103 may identify the group or groups in any of a number of different ways. For example, theclient105 may query a database, which could be stored on theclient105 orserver106 or elsewhere, to see if any groups in the database have one or more group tags that match corresponding tags in a user's profile. Theclient105 could then identify the groups when it receives a listing of matching groups in response to the database query. Alternatively, theclient105 orserver106 may identify the groups in generating the response to the database query.
Thecomputer system103 may then prompt the user to join the one or more of the identified groups as indicated at117. By way of example, and not by way of limitation, these groups may be presented to the user as a list for the user to choose from or may be prioritized based on their compatibility to the user's associated tags. By way of example, and not by way of limitation, theclient device105 may prompt the user by generating or receiving the list and presenting it to the user, e.g., on thedisplay102. Alternatively, theserver106 may prompt the user by generating the list, and transmitting it to theclient device105. The server may also send a signal or instruction that causes the client device to display the list to the user.
Following the prompt, thecomputer game system103 may then enroll the user as a member of one or more groups upon receiving notification from the user as indicated at119. Theclient device105 may enroll the user, e.g., by forwarding a notification from the user to theserver106. Theserver106 may enroll the user in a group, e.g., by adding the user to a listing of group members and granting the user to access group-related computer activities that are restricted to members of the group. By way of example, and not by way of limitation, each group may have a group profile associated with it. This group profile may include individual member profiles, group achievements, group rankings, group assets, and any other relevant information related to the group. Once the user has been enrolled as a member of the group, tags associated with the user may contribute to the group profile.
It is noted that thesystem103 and/or method112 may be configured allow a user to enroll as a member of more than one group at a single time so long as membership in multiple groups does not create a conflict (e.g., joining rival clans with exclusive membership).
Having thecomputer system103 automatically locate groups for the user to join eliminates the burden on the user of having to identify online communities. Moreover, thecomputer system103 may further streamline the process of joining online communities by providing the user of a computer system with a list of groups tailored to the user's interests. This promotes both social interaction and competition for a user of a computer game.
There are a number of different ways of implementing group-affiliated activity on a computer system having multiple networked devices.FIG. 2 andFIGS. 3A-3B illustrate just some examples among many possible examples of group-affiliated computer-game activity.
By way of example, and not by way of limitation, such computer-related activities may include turn-based clan competitions (e.g., chess, scrabble, etc.), quiz-based clan competitions, competition among clan members, or clan versus clan competition.
Turn-based clan competition and quiz-based clan competition may implement member participation by allowing each member a vote, and subsequently performing an action that coincides with the majority of votes. By way of example, and not by way of limitation, user votes may be weighted differently, e.g., according to user skill level.
FIG. 2 is a schematic diagram illustrating an example of a clan-affiliated computer-game related activity according to an embodiment of the present invention. In this example, twoclans201,203 are competing against each other in a quiz-based clan competition. Eachclan201,203 is composed of a plurality of users (not illustrated) on a plurality ofcomputer game systems205 which are all connected to thesame game network207. Thegame network207 facilitates communication between members of thesame clan201,203 and also between opposing clans. By way of example, and not by way of limitation, each member of theclan201,203 may be allocated a single vote for each quiz-game question, with the answer choice receiving the most votes being ultimately selected by the clan. In the example shown inFIG. 2,clan1 chose Albany as the capital of New York based on popularity amongst clan members.Clan2 chose Michael Jordan as the NBA's all-time leading scorer based on popularity amongst clan members.
In the context of the example inFIG. 2, the computer system may assign each user's vote a weight according a user's skill, e.g., based on the percentage and/or number of the user's chosen answers that are correct over the course of one or more sessions of playing the game.
FIG. 3A is a schematic diagram illustrating another example of a clan-affiliated computer-game related activity according to an embodiment of the present invention. In this example, twoclans301,303 are competing against each other in a turn-based competition (i.e., checkers). Eachclan301,303 is composed of a plurality of users (not illustrated) on a plurality ofcomputer game systems305 which are all connected to thesame game network307. Thegame network307 facilitates communication between members of thesame clan301,303 and also between opposing clans. By way of example, and not by way of limitation, each member of theclan301,303 may be allocated a single vote for each subsequent action to be performed by the clan. The subsequent action that receives the most votes may be ultimately selected by the clan as their action of choice. In our example,clan1 moves their checker piece from square c3 to d4 based on the popularity of this particular move amongst the clan members.Clan2 moves their checker piece from square b6 to a5 based on popularity amongst clan members.
In some embodiments, a user's vote may be weighted according to his skill in a related game. For example, in the context of the example inFIG. 3A, the computer system may assign each user's vote a weight according a user's skill in playing checkers one-on-one against other users or against the computer system. By way of example, the weight may be assigned, e.g., based on the user's winning percentage and/or number of wins in playing checkers one-on-one.
FIG. 3B is a schematic diagram illustrating another example of a group-affiliated computer-game related activity according to another embodiment of the present invention. In this example, twogroups301,303 of users compete against each other in a group versus group competition. By way of example, and not by way of limitation, this group versus group competition may take the form of a 1stperson/3rdperson shooter. Eachgroup301,303 is composed of a plurality of users (not illustrated) on a plurality of computer game systems305 (e.g., client devices) which are all connected to thesame game network307. Thegame network307 facilitates communication between members of thesame clan301,303 and also between opposing clans. Each group member (i.e., each user) may control acharacter309,309′ in a game. Thecharacters309,309′ are segregated according to clan. By way of example, and not by way of limitation, eachcomputer system305 may recognize a particular clan and perform an action signifying identification of the group.
In this example, each character may be outfitted with a uniform containing a group identifier (e.g., star, cross).
By way of example, and not by way of limitation, each group may also have a set of group assets (e.g., medals, trophies, virtual currency, game assets, and other achievements) accumulated over the course of competition. During group versus group competition, each group may be given the opportunity to wager a clan asset. In our example,clan1 wagers a medal from its set of clan assets andclan2 wagers three trophies from its set of clan assets. Allowing clans to wager assets during such computer-game related activities gives additional value to the game and supports a more intense sense of competition.
There are a number of different implementations in which thecomputer system103 depicted inFIG. 1A may implement tag-based grouping of online communities, e.g., as described above. In some, but not all, of these embodiments, the method112 may be implemented primarily through theserver106. By way of example, and without loss of generality, theserver106 in thesystem103 may be configured as shown inFIG. 4. As illustrated inFIG. 4, aserver400 may include a central processing unit (CPU)404 configured to run software applications and optionally an operating system. TheCPU404 may include one or more processing cores. By way of example and without limitation, theCPU404 may be a parallel processor module, such as a Cell Processor or other multi-core processor module.
Amemory406 is coupled to theCPU404. Thememory406 may store applications and data for use by theCPU404. Thememory406 may be in the form of an integrated circuit, e.g., RAM, DRAM, ROM, and the like). Acomputer program403 may be stored in thememory406 in the form of instructions that can be executed on theprocessor404. A current update value401 may be stored in thememory406. The instructions of theprogram403 may be configured to implement, amongst other things, a method for tag-based grouping of online communities, e.g., as described above with respect toFIG. 1B. Specifically, theserver400 may be configured, e.g., through appropriate programming of theprogram403, to obtain one or more tags associated with a user, identify one or more groups compatible with the user's one or more tags, and prompt the user to join one or more of the identified groups.
Thememory406 may also contain group-relateddata405 which theprogram403 may use to obtain the tags and/or identify the relevant groups. Such data may include, e.g., auser profile407, which may contain computer accessible information corresponding to the tags. Such information may include one or more pre-set tags, and one or more open-text tags. Thedata405 may also include one or more group profiles409 that contain computer accessible information relating to one or more groups.
Theserver400 may also include well-known support functions410, such as input/output (I/O)elements411, power supplies (P/S)412, a clock (CLK)413 andcache414. Themediation server400 may further include astorage device415 that provides non-volatile storage for applications and data. Thestorage device415 may be used for temporary or long-term storage of information416. By way of example, the information416 may include the user profile(s)407 and/or group profile(s)409. By way of example, thestorage device415 may be a fixed disk drive, removable disk drive, flash memory device, tape drive, CD-ROM, DVD-ROM, Blu-ray, HD-DVD, UMD, or other optical storage devices.
One or more user input devices420 may be used to communicate user inputs from one or more users to theserver400. By way of example, one or more of the user input devices420 may be coupled to theserver400 via the I/O elements411. Examples of suitable input device420 include keyboards, mice, joysticks, touch pads, touch screens, light pens, still or video cameras, and/or microphones. Theserver400 may include anetwork interface425 to facilitate communication via anelectronic communications network427. Thenetwork interface425 may be configured to implement wired or wireless communication over local area networks and wide area networks such as the Internet. Theserver400 may send and receive data and/or requests for files via one ormore message packets426 over thenetwork427.
The components of theserver400, including theCPU405,memory406, support functions410,data storage415, user input devices420, andnetwork interface425, may be operably connected to each other via one ormore data buses460. These components may be implemented in hardware, software or firmware or some combination of two or more of these.
As noted above, embodiments of the present invention may be implemented partly on a client device104. By way of example, the client device104 may be configured as shown inFIG. 5, which depicts a block diagram illustrating the components of aclient device500 according to an embodiment of the present invention. By way of example, and without loss of generality, theclient device500 may be implemented as a computer system, such as a personal computer, video game console, personal digital assistant, or other digital device, suitable for practicing an embodiment of the invention. Theclient device500 may include a central processing unit (CPU)505 configured to run software applications and optionally an operating system. TheCPU505 may include one or more processing cores. By way of example and without limitation, theCPU505 may be a parallel processor module, such as a Cell Processor that uses one or more main processors, sometimes called power processor units (PPU) and one or more co-processor elements sometimes called synergistic processor elements (SPE) having dedicated local storage units. Alternatively, the CPU may be any single-core or multi-core processor.
Amemory506 is coupled to theCPU505. Thememory506 may store applications and data for use by theCPU505. Thememory506 may be in the form of an integrated circuit, e.g., RAM, DRAM, ROM, and the like). Acomputer program501 may be stored in thememory506 in the form of instructions that can be executed on theprocessor505. The instructions of theprogram501 may be configured to implement, amongst other things, a method for tag-based grouping of online communities, e.g., as described above with respect toFIG. 1B. Specifically, theserver500 may be configured, e.g., through appropriate programming of theprogram501, to obtain one or more tags associated with a user, identify one or more groups compatible with the user's one or more tags, and prompt the user to join one or more of the identified groups. By way of example and not by way of limitation the tags may be obtained from auser profile507, portions of which can be stored in thememory506. Compatible groups may be identified by comparing tags obtained from theuser profile507 to corresponding information in one or more group profiles509, portions of which can be stored inmemory506. Thegrouping program503 may operate in concert with amain program503, which may be a game program in some embodiments.
Theclient device500 may also include well-known support functions510, such as input/output (I/O)elements511, power supplies (P/S)512, a clock (CLK)513 andcache514. Theclient device500 may further include astorage device515 that provides non-volatile storage for applications and data. Thestorage device515 may be used for temporary or long-term storage of information, such as theuser profile507 and/or group profile(s)509 can be generated by thegroup program503 or downloaded from a remote server. By way of example, thestorage device515 may be a fixed disk drive, removable disk drive, flash memory device, tape drive, CD-ROM, DVD-ROM, Blu-ray, HD-DVD, UMD, or other optical storage devices. Stored grid information516 or statistics517 may be stored in thestorage device515 for quick loading into thememory506.
One or more user input devices520 may be used to communicate user inputs from one or more users to thecomputer client device500. By way of example, one or more of the user input devices520 may be coupled to theclient device500 via the I/O elements511. Examples of suitable input device520 include keyboards, mice, joysticks, touch pads, touch screens, light pens, still or video cameras, and/or microphones. Theclient device500 may include anetwork interface525 to facilitate communication via anelectronic communications network527. Thenetwork interface525 may be configured to implement wired or wireless communication over local area networks and wide area networks such as the Internet. Theclient device500 may send and receive data and/or requests for files via one ormore message packets526 over thenetwork527.
Theclient device500 may further comprise a graphics subsystem330, which may include a graphics processing unit (GPU)535 andgraphics memory540. Thegraphics memory540 may include a display Memory (e.g., a frame buffer) used for storing pixel data for each pixel of an output image. Thegraphics memory540 may be integrated in the same device as theGPU535, connected as a separate device with GPU335, and/or implemented within thememory506. Pixel data may be provided to thegraphics memory540 directly from theCPU505. Alternatively, theCPU505 may provide theGPU535 with data and/or instructions defining the desired output images, from which theGPU535 may generate the pixel data of one or more output images. The data and/or instructions defining the desired output images may be stored in memory510 and/orgraphics memory540. In an embodiment, theGPU535 may be configured (e.g., by suitable programming or hardware configuration) with 3D rendering capabilities for generating pixel data for output images from instructions and data defining the geometry, lighting, shading, texturing, motion, and/or camera parameters for a scene. TheGPU535 may further include one or more programmable execution units capable of executing shader programs.
The graphics subsystem530 may periodically output pixel data for an image from thegraphics memory540 to be displayed on avideo display device550. By way of example, and not by way of limitation, such images may include images similar to those depicted inFIG. 3A,FIG. 3B, orFIG. 3C. Thevideo display device550 may be any device capable of displaying visual information in response to a signal from theclient device500, including CRT, LCD, plasma, and OLED displays. Thecomputer client device500 may provide thedisplay device550 with an analog or digital signal. By way of example, thedisplay550 may include a cathode ray tube (CRT) or flat panel screen that displays text, numerals, graphical symbols or images. In addition, thedisplay550 may include one or more audio speakers that produce audible or otherwise detectable sounds. To facilitate generation of such sounds, theclient device500 may further include anaudio processor555 adapted to generate analog or digital audio output from instructions and/or data provided by theCPU505,memory506, and/orstorage515.
The components of theclient device500, including theCPU505,memory506, support functions510,data storage515, user input devices520,network interface525,audio processor555, and an optional geo-location device556 may be operably connected to each other via one ormore data buses560. These components may be implemented in hardware, software or firmware or some combination of two or more of these.
It is noted that in some embodiments it may be desirable to determine a location for theclient device500 in order to facilitate the operation of the location-basedleaderboard program503. Knowledge of the location of theclient device500 can facilitate determining a relevant region, sub-region, or sub-sub region for a user of the device. By way of example, and not by way of limitation, theleaderboard program503 may use information obtained by the geo-location device556 to facilitate determination of the location of theclient device500. Thegrouping program503 can utilize this information, e.g., to obtain tags for theuser profile507 or to identify suitable groups from the group profiles509.
By way of example, and not by way of limitation, the geo-location device556 may include a global positioning satellite (GPS) receiver. The GPS receiver can send and receive signals from a plurality of global positioning satellites and determine the distance from the satellites through measurement of the round trip time for the signals. Theleaderboard program503 ormain program501 may implement a suitable triangulation or circulation algorithm to determine the location of the device using distances to different satellites. It is noted that embodiments of the invention are not limited to those that utilize GPS to determine location. For example, geo-location may be based on a cellular telephone network that uses a plurality of cell towers. The geo-location device may be a cellular network interface that receives a signal that includes, among other things, information identifying a cell tower with which thedevice500 is in direct communication. The location of the device may be approximately determined from the location of the cell tower.
According to another embodiment, instructions for implementing a method for tag-based grouping of online communities may be stored in a computer readable storage medium. By way of example, and not by way of limitation,FIG. 6 illustrates an example of a non-transitory computerreadable storage medium600 in accordance with an embodiment of the present invention. Thestorage medium600 contains computer-readable instructions stored in a format that can be retrieved, interpreted, and executed by a computer processing device. By way of example, and not by way of limitation, the computer-readable storage medium600 may be a computer-readable memory, such as random access memory (RAM) or read only memory (ROM), a computer readable storage disk for a fixed disk drive (e.g., a hard disk drive), or a removable disk drive. In addition, the computer-readable storage medium600 may be a flash memory device, a computer-readable tape, a CD-ROM, a DVD-ROM, a Blu-Ray, HD-DVD, UMD, or other optical storage medium.
Thestorage medium600 contains instructions for tag-based grouping ofonline communities601 configured to implement a method for tag-based grouping of online communities in accordance with the method described above with respect toFIG. 1B. In particular, the instructions for tag-based grouping ofonline communities601 may include obtaining user tag instructions603 that are used to determine one or more tags associated with a user of a computer system. These tags may include pre-set tags or open-text field tags and may be selected by the user or determined by the computer game system based on user behavior, as discussed above.
The instructions for tag-based grouping ofonline communities601 may also include group identification instructions605 that are used to identify one or more groups compatible with the user's one or more tags from a network associated with the computer system. These groups may be prioritized in accordance with their compatibility with the one or more tags associated with the user of the computer system, as discussed above.
The instructions for tag-based grouping ofonline communities601 may also include promptinguser instructions607 that are used to prompt the user to join the one or more compatible groups identified by execution of thegroup identification instructions607. Prompting of the user may occur each time the user signs on, each time the user's profile is updated, or each time the user's behavior changes, as discussed above.
The instructions for tag-based grouping ofonline communities601 may further include user enrollment instructions609 that can enroll the user as a member of an identified group upon receiving a notification of acceptance from the user. The enrollment instructions609 may additionally allow the user to compete in a computer-related activity as a member of the group joined by the user. Such computer-related activities may include turn-based games, team-based quiz games, or a team-based event that involves competing against an opposing clan, as discussed above.
Although examples have been described herein in terms of grouping uses for purposes of online computer games, embodiments of the present invention are also applicable to non-game based groupings. For example, embodiments of the present invention may be applied to groupings for other online communities, such as chat groups, forums, or other types of group found in a social network system.
While the above is a complete description of the preferred embodiment of the present invention, it is possible to use various alternatives, modifications, and equivalents. Therefore, the scope of the present invention should be determined not with reference to the above description, but should, instead be determined with reference to the appended claims, along with their full scope of equivalents. Any feature described here, whether preferred or not, may be combined with any other feature described herein, whether preferred or not. In the claims that follow, the indefinite article “A” or “An” refers to a quantity of one or more of the item following the article, except where expressly stated otherwise. The appended claims are not to be interpreted as including means-plus-function limitations, unless such a limitation is explicitly received in a given claim using the phrase “means for”.