Methods and systems for improved content generation in multiplayer gaming environments

Information

  • Patent Grant
  • 11040286
  • Patent Number
    11,040,286
  • Date Filed
    Wednesday, September 27, 2017
    7 years ago
  • Date Issued
    Tuesday, June 22, 2021
    3 years ago
Abstract
Computer-implemented methods and systems for simulating a multiplayer game environment to allow players of different skill levels to concurrently play the same level of a gaming session, to encourage and incentivize cooperative team behavior, to match players based on subjective variables, such as likeability and a general fun factor, and to tailor gaming content based on the social group itself.
Description
FIELD

The present specification discloses systems and methods for improving multiplayer gaming environments. More specifically, the present specification is related to improving player matching, generating content derived from, or based on, social networks, customizing content to a player's skill level, and incentivizing cooperative team behavior within online multiplayer gaming environments.


BACKGROUND

Online gaming platforms enable social interactions between players who may or may not be known to each other. Multiplayer gaming environments often enable players to form teams and therefore foster virtual interaction while they play in the same gaming environment at the same time. Individuals can form partnerships and participate in play against the system via pre-programmed challenges and/or against another team of individuals, thereby allowing for either cooperative or competitive play. Each gameplay session may be played with either the same or a different group of matched players.


Typically, when a player logs into an online multiplayer gaming environment, the player may engage in a gameplay session in which he or she is matched, based on skill, with other players to play together on the same team or as opponents. A given player may engage in multiple gameplay sessions during a login session. In addition, each gameplay session may be played with either the same or a different group of players that are compatible with their individual skill levels. Conventionally, when interested in playing in a group with other players, an individual player may ask other players who are of the same skill level to form a player group. The player may also study profiles of other players and invite them to play together. There are often times when players invite their friends to play together in a game. However, friends may or may not be familiar with the specific game and/or gaming levels within the specific game to which they have been invited. Alternatively, some friends may be familiar with the game but may have different comfort levels and/or levels of proficiency at playing the game. While some players enjoy playing videogames interactively with friends, these differences in skill set, experience or proficiency at a game and/or certain levels within the game may prevent them from playing with the people they would most enjoy playing with.


There is thus a need for a gaming environment that enables players of different skill levels to play together, while still providing players at the various different skill levels the appropriate amount of challenge for their given skill level, thereby avoiding having lower skilled players be overwhelmed or higher skilled players be bored. A gaming environment is needed that enables players within the same team to experience a different degree of difficulty or challenge while participating in the same gameplay session on the same game level.


With respect to team formation or opponent matching itself, different types of matchmaking processes are utilized to connect players for online gaming sessions. Most processes attempt to match based on complimentary gaming skills. Examples of matchmaking elements used may include game profile, player profile, prior match scores, and prior quality scores. Conventionally, when interested in playing in a group with other players, an individual player may ask friends to form a player group, may ask other players who are of the same skill level to form a player group, and/or may otherwise form a group by sending invitations to other players. Some systems may automatically group or match players based solely on a limited number of hard-coded characteristics (e.g., skill level), which are not dynamically adjusted. Such systems may create sets of rigidly segregated pools of players. For example, in some conventional systems, a player who is at a lower skill level may never be matched with a player at a higher skill level, which may result in one dimensional and unsatisfying gameplay.


Additionally, prospectively enjoyable gaming partnerships may not be formed between players of different skills due to these pre-defined criteria for matching players. Thus, there is also a need for methods and systems that enable players in a multiplayer gaming environment to play together effectively based on subjective variables, such as a degree of likeability or a fun factor between the players. There is also a need to incorporate stronger social elements in multiplayer games.


Once a team is formed, it would be preferable to encourage and incentivize cooperation among teammates. Such cooperation increases the satisfaction among players and typically results in improved performance. However, conventional gaming environments do not recognize, or quantify, cooperation between team players. Therefore, players are unable to track whether they are taking steps to improve their cooperation and fail to identify, or pay attention to, opportunities to behave cooperatively. Therefore, there is also a need for a gaming environment to recognize team cooperation and encourage cordial team performance through quantified metrics and visual representations thereof.


Some gaming environments allow players to interact with each other, and virtual characters, via social networking platforms. These platforms provide a virtual space to connect with other players with common interests and profiles related to certain gaming environments, are used by the players to discuss their gaming activities and experiences, and often provide a way for players to offer suggestions and feedback that could improve their gaming experiences. Frequently, groups of players, who are connected with each other over a social network and who often play together, have different suggestions and desires for what they wish to see in the gaming environment, and these suggestions and desires may vary greatly between players' various social groups, which have different interests, discussions, suggestions and feedback. While these varied social groups are rich in ideas and content suggestions, conventional gaming systems are unable to efficiently collect and utilize this feedback from each social group to generate different, tailored gaming environments. Therefore, there is also a need for a gaming system and environment that may identify players and/or player groups active over a social network, monitor and track content suggestions made within the social group, and dynamically modify the gaming parameters for that player or group of players within the tracked social group, based on their activities, suggestions, feedback, or other information provided within the social network.


SUMMARY

The following embodiments and aspects thereof are described and illustrated in conjunction with systems, tools and methods, which are meant to be exemplary and illustrative, not limiting in scope.


In some embodiments, the present specification discloses a computer-implemented method for simulating a multiplayer game environment in a game session for multiple players where at least two players of the multiple players have different skill levels to play the game, the method being implemented in a computer having a processor and a random access memory, wherein the processor is in data communication with a display and with a storage unit, the method comprising: acquiring, by the computer, a skill level data of each player of the multiple players; modifying, by the computer, parameters of the game session for each player of the multiple players, wherein the modifying is based on the skill level data for each player; and presenting data, by the computer, to each player of the multiple players, via a game console, wherein the data presented are based on the parameters and, when processed, result in each player of the multiple players experiencing a different degree of difficulty while still concurrently experiencing a common level in the game session.


Optionally, the acquiring comprises detecting and tracking skill based on measurable session behavior of each player of the multiple players. Optionally, the measurable session behavior includes one or more of time played, successful games won, times helping other players, weapon accuracy, favorite weapon usage, and number of games left.


Optionally, the acquiring comprises each player rating each other player for one or more subjective skill traits. Optionally, the subjective skill traits include at least one of ability to shoot a weapon with accuracy, ability to be a cooperative team player, and ability to lead.


Optionally, the acquiring comprises weighing each metric of the skill level data of each player of the multiple players.


In some embodiments, the present specification discloses a computer-implemented method for simulating a multiplayer game environment in a game session for multiple players where at least two players of the multiple players have different skill levels to play the game, the method being implemented in a computer having a processor and a random access memory, wherein the processor is in data communication with a display and with a storage unit, the method comprising: acquiring, by the computer, a skill level data of each player of the multiple players; aggregating, by the computer, the skill level data of each player to arrive at an overall skill level data; modifying, by the computer, parameters of the game session for the multiple players, wherein the modifying is based on the aggregate skill level data; and presenting data, by the computer, to each player of the multiple players, via a game console, wherein the data presented are based on the parameters and, when processed, result in the multiple players experiencing a customized degree of difficulty in a level in the game session.


Optionally, the acquiring comprises detecting and tracking skill based on measurable session behavior of each player of the multiple players. Optionally, the measurable session behavior includes one or more of time played, successful games won, times helping other players, weapon accuracy, favorite weapon usage, and number of games left.


Optionally, the acquiring comprises each player rating each other player for one or more subjective skill traits. Optionally, the subjective skill traits include at least one of ability to shoot a weapon with accuracy, ability to be a cooperative team player, and ability to lead.


In some embodiments, the present specification discloses a system for simulating a multiplayer game environment in a game session for multiple players where at least two players of the multiple players have different skill levels to play the game, the system comprising: a computer having a processor and a random access memory, wherein the processor is in data communication with a display and with a storage unit, the computer configured to: acquiring a skill level data of each player of the multiple players; modifying parameters of the game session for each player of the multiple players, wherein the modifying is based on the skill level data for each player; and presenting data to each player of the multiple players, via a game console, wherein the data presented are based on the parameters and, when processed, result in each player of the multiple players experiencing a different degree of difficulty while still concurrently experiencing a common level in the game session.


Optionally, the acquiring comprises detecting and tracking skill based on measurable session behavior of each player of the multiple players. Optionally, the measurable session behavior includes one or more of time played, successful games won, times helping other players, weapon accuracy, favorite weapon usage, and number of games left.


Optionally, the acquiring comprises each player rating each other player for one or more subjective skill traits. Optionally, the subjective skill traits include at least one of ability to shoot a weapon with accuracy, ability to be a cooperative team player, and ability to lead.


Optionally, the acquiring comprises weighing each metric of the skill level data of each player of the multiple players.


In some embodiments, the present specification discloses a system for simulating a multiplayer game environment in a game session for multiple players where at least two players of the multiple players have different skill levels to play the game, the system comprising: a computer having a processor and a random access memory, wherein the processor is in data communication with a display and with a storage unit, the computer configured to: acquiring a skill level data of each player of the multiple players; aggregating the skill level data of each player to arrive at an overall skill level data; modifying parameters of the game session for the multiple players, wherein the modifying is based on the aggregate skill level data; and presenting data to each player of the multiple players, via a game console, wherein the data presented are based on the parameters and, when processed, result the multiple players experiencing a customized degree of difficulty in a level in the game session.


Optionally, the acquiring comprises detecting and tracking skill based on measurable session behavior of each player of the multiple players. Optionally, the measurable session behavior includes one or more of time played, successful games won, times helping other players, weapon accuracy, favorite weapon usage, and number of games left.


The aforementioned and other embodiments of the present specification shall be described in greater depth in the drawings and detailed description provided below.





BRIEF DESCRIPTION OF THE DRAWINGS

These and other features and advantages of the present specification will be appreciated, as they become better understood by reference to the following detailed description when considered in connection with the accompanying drawings, wherein:



FIG. 1A is a block diagram of a system for providing multiplayer video games, according to one implementation of the present specification;



FIG. 1B is a block diagram of another system for providing multiplayer video games, according to one implementation of the present specification;



FIG. 2A illustrates an exemplary system configuration in which a server hosts a plurality of computer devices to facilitate a multiplayer game, according to an implementation of the present specification;



FIG. 2B illustrates an exemplary system configuration in which a plurality of computer systems are networked together to facilitate a multiplayer game, according to an implementation of the present specification;



FIG. 2C illustrates an exemplary system configuration in which a computer system is used by a plurality of users to facilitate a multiplayer game, according to an implementation of the present specification;



FIG. 3A is a flow diagram illustrating a method of determining a player's skill level and modifying a degree of difficulty of a gameplay session based on the acquired skill level, in accordance with an implementation of the present specification;



FIG. 3B is a table providing an exemplary list of parameters of a gameplay session that are modified based on a player's skill level and the corresponding experience for players of different skill levels;



FIG. 3C is a table providing an exemplary list of parameters of a gameplay session that are modified differently for different experiences by players based on a player's skill level;



FIG. 3D is a flow diagram illustrating a method of determining a player's skill level and modifying a degree of difficulty of a gameplay session based on the acquired skill level, in accordance with another implementation of the present specification;



FIG. 4A is a flow diagram illustrating a method of encouraging cooperation between players of a team, who play together during a gaming session containing one or more levels;



FIG. 4B is a table providing an exemplary list of actions that may be performed by players of a team during a game play session and the corresponding cooperation metrics associated with each of the actions;



FIG. 5 is a screenshot displaying an overall team metric in the form of a meter or bar;



FIG. 6A is a flow diagram illustrating a method of determining a match between two or more players based on their explicit and implicit likeability metrics tracked throughout a game play session, in accordance with an implementation of the present specification;



FIG. 6B is a table providing a list of exemplary player actions during a gameplay session that may be used for determining likeability metrics with respect to at least one other player;



FIG. 7A is a flow diagram describing a method for implementing gaming social networks in accordance with some implementations of the present specification; and



FIG. 7B is a table providing a list of exemplary user feedback during or after a gameplay session that may be used for modifying one or more gaming levels.





DETAILED DESCRIPTION

The present specification relates to dynamically adjusting a gaming environment in real time in order to improve matchmaking systems and methods that facilitate optimization of player matches for multiplayer video games, as well as facilitate friendly social interaction during and after game play. In embodiments of the present specification, the gaming environment may include gaming parameters, display parameters, and parameters related to social media for the players of a game. The systems and methods of the present specification may continually tune the gaming environment and its various parameters based on observations of player behavior, gameplay quality, gaming experiences of individuals as well as a group of players who play together, suggestions from social groups of players, and/or other information.


The present specification is directed towards multiple embodiments. The following disclosure is provided in order to enable a person having ordinary skill in the art to practice the invention. Language used in this specification should not be interpreted as a general disavowal of any one specific embodiment or used to limit the claims beyond the meaning of the terms used therein. The general principles defined herein may be applied to other embodiments and applications without departing from the spirit and scope of the invention. Also, the terminology and phraseology used is for the purpose of describing exemplary embodiments and should not be considered limiting. Thus, the present invention is to be accorded the widest scope encompassing numerous alternatives, modifications and equivalents consistent with the principles and features disclosed. For purpose of clarity, details relating to technical material that is known in the technical fields related to the invention have not been described in detail so as not to unnecessarily obscure the present invention.


In the description and claims of the application, each of the words “comprise” “include” and “have”, and forms thereof, are not necessarily limited to members in a list with which the words may be associated.


It should be noted herein that any feature or component described in association with a specific embodiment may be used and implemented with any other embodiment unless clearly indicated otherwise.


It should be appreciated that the programmatic methods described herein may be performed on any computing device, including a laptop, desktop, smartphone, tablet computer, specialized gaming console, or virtual reality system. The computing device comprises at least one processor and a nonvolatile memory that stores the programmatic instructions which, when executed by the processor, perform the methods or steps disclosed herein, including the generation of a graphical user interface that is communicated to a local or remote display. The computing device is in communication with at least one remotely located server through a network of any type.


The embodiments disclosed herein are directed to an improvement in computer-related technology (enabling computers to enable improved gaming experiences in an online multiplayer gaming environment), and thus do not recite abstract ideas or concepts. The improved computing gaming experiences are achieved through the use of specific rules to collect and evaluate player data within the gaming environment which, when executed, enable the automation of specific content generation, player matching, and other gaming experiences that previously were not available or could not be automated. These new computer gaming rules improve existing technological processes in gaming and, therefore, are not abstract or conceptual in nature. This specification therefore teaches how the disclosed inventions improve a gaming technology using a specific set of rules, and particular solutions to the aforementioned failures in conventional gaming systems to achieve the desired outcomes.


While aspects of the present specification may be described herein with reference to various game levels or modes, characters, roles, game items, etc. associated with a First-Person-Shooter (FPS) game, it should be appreciated that any such examples are for illustrative purposes only, and are not intended to be limiting. The matchmaking system and method described in detail herein may be used in any genre of multiplayer video game, without limitation.


The terminology used within this specification and detailed description of the various embodiments is for the purpose of describing particular embodiments only and is not intended to limit the invention.


As used herein, the term “a degree of” may be construed to mean a measure calculated by a processing device to a certain parameter, and used to assist in inferring an extent of that parameter.


The terms “skill level” and “skill level data” may be construed to mean a relative measure or a statistic and/or associated data used to arrive at the measure or statistic, established by a processor, which is used to determine an ability of a player in playing a game, when compared to other players and/or when compared to the ability of an expert or reference player.


The term “modifying parameters of a game session” may be construed to mean a technical process of using a processor to change data entries which are used by the processor of a gaming console or gaming server in the process of programmatically generating one or more levels of a gameplay session.


The term “a degree of difficulty or challenge” may be construed to mean a technical process of using a processor to select, by a player, the technical difficulty of performing a task such as playing a game in order to achieve a score in the game.


The term “common level in a game session” may be construed to mean a portion of a game that is commonly presented by the processor of a gaming console or gaming server to all the players who are playing the game together and simultaneously.


The term “explicit indicator of likeability between a first player and a second player” may refer to data determined by a processor of a gaming console or gaming server from data provided by a first player towards a second player, which indicates that the first player likes or is favorable toward the second player or vice versa.


The term “implicit indicator of likeability between a first player and a second player” may refer to data determined by a processor of a gaming console or gaming server interpreted from one or more data sets collected by the processor from the actions of a first player towards a second player, which indicate that the first player likes or is favorable to the second player or vice versa.


The term “a level of cooperation between a first player and a second player” may be construed to mean an extent of assistance provided by the two players to each other through one or more actions that are directed towards achieving a common or mutual benefit during a gaming session where the two players are playing together and/or simultaneously.


The term “celebratory actions” may be construed to mean one or more data points in the form of graphics, text, or voice, that may be used to acknowledge enjoyment or achievement of an event during or after a gaming session by one or more players engaged in that gaming session.


The term “positive or negative chatting between a first player and a second player” may be construed to mean data exchanged between the first and the second players towards each other that may be in the form of text, graphics, and/or voice, and that are indicative of either a favorable or a cynical viewpoint directed from one player to the other.


The term “a multiplayer game environment” or “massively multiplayer online game” may be construed to mean a specific hardware architecture in which one or more servers electronically communicate with, and concurrently support game interactions with, a plurality of client devices, thereby enabling each of the client devices to simultaneously play in the same instance of the same game. Preferably the plurality of client devices number in the dozens, preferably hundreds, preferably thousands. In one embodiment, the number of concurrently supported client devices ranges from 10 to 5,000,000 and every whole number increment or range therein. Accordingly, a multiplayer game environment or massively multiplayer online game is a computer-related technology, a non-generic technological environment, and should not be abstractly considered a generic method of organizing human activity divorced from its specific technology environment.


Exemplary System Architecture



FIGS. 1A and 1B illustrate systems for providing multiplayer video games, according to some implementations of the present specification, referred to as a multiplayer game environment or multiplayer gaming environment. FIG. 1A illustrates an implementation in which server(s) 150 function as a host computer that hosts gameplay between other devices, such as computer system(s) 110. FIG. 1B illustrates an implementation in which a given computer system 110 functions as a host computer that hosts gameplay between (or with) other devices, such as other computer system(s) 110. Unless specifically stated otherwise, the description of various system components may refer to either or both of FIGS. 1A and 1B.


System 100 may be used to implement various embodiments described in subsequent sections of the present specification. For example, system 100 may implement various programs that result in greater performance by the players, better satisfaction with the play experience irrespective of the level of skill, result in greater satisfaction/enjoyment by the players, and/or otherwise will lead to positive gameplay outcomes for the players. In one implementation, system 100 may include one or more computer systems 110, one or more servers 150, one or more databases 160, and/or other components.


Computer system 110 may be configured as a gaming console, a handheld gaming device, a personal computer (e.g., a desktop computer, a laptop computer, etc.), a smartphone, a tablet computing device, a smart television, and/or other device that can be used to interact with an instance of a video game.


Referring to FIG. 1B, computer system 110 may include one or more processors 112 (also interchangeably referred to herein as processors 112, processor(s) 112, or processor 112 for convenience), one or more storage devices 114 (which may store one or more applications 120), one or more peripherals 140, and/or other components. Processors 112 may be programmed by one or more computer program instructions. For example, processors 112 may be programmed by application 120 and/or other instructions (such as gaming instructions used to instantiate the game).


Depending on the system configuration, application 120 (or portions thereof) may be part of a game application, which creates a game instance to facilitate gameplay. Alternatively or additionally, application 120 may run on a device such as a server 150 to perform its designated function(s) for users in an “online” game hosted by server 150.


Application 120 may include instructions that program computer system 110, each of which are described in greater detail herein. As used herein, for convenience, the various instructions will be described as performing an operation, when, in fact, the various instructions program the processors 112 (and therefore computer system 110) to perform the operation.


Peripherals 140 may be used to obtain an input (e.g., direct input, measured input, etc.) from a player. Peripherals 140 may include, without limitation, a game controller, a gamepad, a keyboard, a mouse, an imaging device such as a camera, a motion sensing device, a light sensor, a biometric sensor, and/or other peripheral device that can obtain an input from and/or relating to a player. Peripherals 140 may be coupled to a corresponding computer system 110 via a wired and/or wireless connection.


Server 150 may include one or more computing devices. Referring back to FIG. 1A, Server 150 may include one or more physical processors 152 (also interchangeably referred to herein as processors 152, processor(s) 152, or processor 152 for convenience) programmed by computer program instructions, one or more storage devices 154 (which may store a matchmaking application 120), and/or other components. Processors 152 may be programmed by one or more computer program instructions. For example, processors 152 may be programmed by gaming instructions used to instantiate the game.


Depending on the system configuration, application 120 (or portions thereof) may be part of a game application, which creates a game instance to facilitate gameplay. Alternatively, or additionally, portions or all of application 120 may run on computer system 110 or server 150. Application 120 may include instructions that program server 150 to perform various operations, each of which are described in greater detail herein. As used herein, for convenience, the various instructions will be described as performing an operation, when, in fact, the various instructions program the processors 152 (and therefore server 150) to perform the operation.


Although illustrated in FIGS. 1A and 1B as a single component, computer system 110 and server 150 may each include a plurality of individual components (e.g., computer devices) each programmed with at least some of the functions described herein. In this manner, some components of computer system 110 and/or server 150 may perform some functions while other components may perform other functions, as would be appreciated. The one or more processors (112, 152) may each include one or more physical processors that are programmed by computer program instructions. Thus, either or both server 150 and computer system 100 may function as a host computer programmed by application 120. The various instructions described herein are exemplary only. Other configurations and numbers of instructions may be used, so long as the processor(s) (112, 152) are programmed to perform the functions described herein.


Furthermore, it should be appreciated that although the various instructions are illustrated in FIGS. 1A and 1B as being co-located within a single processing unit, in implementations in which processor(s) (112, 152) includes multiple processing units, one or more instructions may be executed remotely from the other instructions.


The description of the functionality provided by the different instructions described herein is for illustrative purposes, and is not intended to be limiting, as any of instructions may provide more or less functionality than is described. For example, one or more of the instructions may be eliminated, and some or all of its functionality may be provided by other ones of the instructions.


As another example, processor(s) (112, 152) may be programmed by one or more additional instructions that may perform some or all of the functionality attributed herein to one of the instructions.


The various instructions described herein may be stored in a storage device (114, 154) which may comprise random access memory (RAM), read only memory (ROM), and/or other memory. The storage device may store the computer program instructions (e.g., the aforementioned instructions) to be executed by processor (112, 152) as well as data that may be manipulated by processor (112, 152). The storage device may comprise floppy disks, hard disks, optical disks, tapes, or other storage media for storing computer-executable instructions and/or data.


The various components illustrated in FIG. 1 may be coupled to at least one other component via a network, which may include any one or more of, for instance, the Internet, an intranet, a PAN (Personal Area Network), a LAN (Local Area Network), a WAN (Wide Area Network), a SAN (Storage Area Network), a MAN (Metropolitan Area Network), a wireless network, a cellular communications network, a Public Switched Telephone Network, and/or other network. In FIG. 1, as well as in other drawing Figures, different numbers of entities than those depicted may be used. Furthermore, according to various implementations, the components described herein may be implemented in hardware and/or software that configure hardware.


The various databases 160 described herein may be, include, or interface to, for example, an Oracle™ relational database sold commercially by Oracle Corporation. Other databases, such as Informix™, DB2 (Database 2) or other data storage, including file-based, or query formats, platforms, or resources such as OLAP (On Line Analytical Processing), SQL (Structured Query Language), a SAN (storage area network), Microsoft Access™ or others may also be used, incorporated, or accessed. The database may comprise one or more such databases that reside in one or more physical devices and in one or more physical locations. The database may store a plurality of types of data and/or files and associated data or file descriptions, administrative information, or any other data.



FIG. 2A illustrates an exemplary system configuration 200A in which a server hosts a plurality of computer devices to facilitate a multiplayer game, according to an implementation of the present specification. In one implementation, one or more servers 150 (illustrated in FIGS. 1A and 1B) may host a number of computer systems 110 (illustrated as computer systems 110A, 110B, . . . , 110N) via a network 102. Each computer system 110 may include one or more peripherals (illustrated as peripherals 140A, 140B, . . . , 140N). In this manner, one or more servers 150 may facilitate the gameplay of different players using different computer systems 110 and/or otherwise provide one or more operations of application 120 (illustrated in FIGS. 1A and 1B).


In some instances, a given server 150 may be associated with a proprietary gameplay network system, such as, without limitation, the Sony PlayStation® Network, Microsoft Xbox Live®, and/or any other gameplay network system. In this implementation, a given computer system 110 may be associated with a particular type of gaming console. Other types of computer systems 110 using other types of gameplay networks may be used as well.



FIG. 2B illustrates an exemplary system configuration 200B in which a plurality of computer systems 110 are networked together to facilitate a multiplayer game, according to an implementation of the present specification. Any one or more of the computer devices 110 may serve as a host and/or otherwise provide one or more operations of application 120 (illustrated in FIGS. 1A and 1B).



FIG. 2C illustrates an exemplary system configuration 200C in which a computer system 110 is used by a plurality of users to facilitate a multiplayer game, according to an implementation of the present specification. In an implementation, computer system 110 may be considered to host the multiplayer game and/or otherwise provide one or more operations of application 120 (illustrated in FIGS. 1A and 1B).


Referring to FIGS. 2A-2C, simultaneously, in an implementation, a host may facilitate the multiplayer game by dynamically modifying the gaming environment and/or gaming parameters to suit the skill levels of one or more players within a gaming session, measuring a team's performance in a gaming session, using likeability factors between players as a factor to perform matchmaking, using social groups to modify gaming environments and/or gaming parameters to differently suit the requirements of each social group, and/or performing other operations described herein. In an implementation, at least some of these operations may also or instead be performed by one or more individual computer systems 110. Furthermore, the illustrated system configurations are exemplary only and should not be viewed as limiting in any way. Other system configurations may be used as well, as would be appreciated by those having skill in the art.


Content Customization Based on Player Skill Level


In a first implementation of the present specification, the system enables players of different skill levels to play together, in the same level of a gaming session, by providing players of different skill levels challenges tailored to their particular skill level. In embodiments, a multiplayer game environment is simulated by a computing system. The gaming parameters are adjusted within the gaming environment according to skill levels of the different players participating in the game. Adjustments result in each player in a team experiencing a different degree of difficulty or challenge while still experiencing the same content within the same level of the gameplay session and while still being able to cooperatively play as a team. In embodiments, the skill levels of the players are different for at least two or more players.


In an embodiment, a computer program that executes the gaming environment identifies a skill level of each player among the multiple players, and subsequently modifies one or more parameters of the game for each player amongst the multiple players. The skill level can be based on a variety of factors, including experience level, achievement within a game, in-game performance statistics (e.g., kill/death ratio, win/loss rate, etc.). In an embodiment, the computer program that executes the gaming environment automatically detects and tracks a player's skill-level (tracked skill traits) based on measurable session behaviour, such as but not limited to: time played, successful games won, times helping other players, weapon accuracy, favorite weapon usage, and number of games left. In another embodiment, teammates can rate each other for various subjective skill traits (assigned skill traits). The subjective rating could be such as but not limited to: expert sniper, great team player, and good leader. The computer program that executes the gaming environment may discern a higher skill-level for a player if the player has more votes for these traits in their career. In yet another embodiment, a combination of tracked skill traits and assigned skill traits is used to ascertain a player's skill-level. In an embodiment, each metric within the tracked skill traits and assigned skill traits are allocated weights in order to make balanced decisions.


The modification of the gaming parameters is based on the skill level of each player. In embodiments, the modification of gaming parameters is executed in real time during a gaming session. In embodiments, the modification of the gaming parameters are executed on a player-by-player basis, based on their skill levels, which may be different for different players. Therefore, the online multiplayer gaming environment generates a gaming environment within which two or more players can play cooperatively as a team within the same gaming environment of the same level of the same game and tailors the experiences in that gaming environment to the specific skill level of each player.



FIG. 3A is a flow diagram illustrating a method of determining a player's skill level and modifying a degree of difficulty of a gameplay session based on the acquired skill level, in accordance with an implementation of the present specification. At 302, data corresponding to a skill level of each player in the multiplayer gaming environment is acquired. In an embodiment, skill levels of players playing together in a single session of the multiplayer game are acquired and are known to the computing system. In an embodiment, data defining the skill level of a player is acquired from a database where the data has been pre-stored at an earlier stage, for example, at the time of registering for a game play session. In embodiments, the data defining the skill levels is based on tracked skill traits, assigned skill traits, a combination of the tracked and assigned skill traits, or any other. In another embodiment, each user is prompted to enter their skill level by answering a set of pre-defined questions. In another embodiment, a skill level of each player is assessed via one or more test gameplay scenarios which the player is prompted to play, in order to acquire the player's skill level.


At 304, a predefined set of parameters in the gameplay session are modified, based on the acquired skill level data of the players. In an embodiment, before a gameplay session begins, the computer program that executes the gaming environment assesses the overall skill level of the team, based on individual players' skill levels. In one embodiment, assessment of the overall skill level is based on a flexible set of attributes. In one embodiment, the assessment is based on the game, on a particular level of the game, or specific attributes within a particular level of the game. In one embodiment, the assessment may be based on an average skill level of all the players for the game. In some embodiments, a combination of one or more of the above-stated embodiments for assessing the overall skill level is used. If a particular level favors a particular type of play style, for example, attributes favoring that level may be weighted more heavily. In an example of a basketball game, each position may be weighted differently. For example, the skill for the point guard position may be based on the player's passing and dribbling attributes, while the skill for a center position may be determined based on the player's height, blocking ability, and strength.


Once an assessment is made, the computer program that executes the gaming environment modifies elements of the session and/or gameplay parameters as the session is being created based on the aggregate skill level. In embodiments, session modifications may include, but are not limited to: adjusting the number of enemies, adjusting the complexity of puzzles; and player adjustments, which may include the player's health, damage, speed, available abilities, and difficulty level. In one embodiment, a player's health is scaled based on the player's skill level by. At 306, data corresponding to acquired skill level of each player is generated and presented to a player via a game console, resulting in each player within a team experiencing a different degree of difficulty or challenge while still experiencing the same content in the same gameplay session.



FIG. 3B illustrates a table providing an exemplary list of parameters of a gameplay session that are modified based on a player's skill level and the corresponding experience for players of different skill levels. For example, in a first-shooter gaming environment, when a first player aims his weapon at a target, a parameter defining the tolerance for how accurate the player's aim must be to hit the target is modified based on the acquired skill level of the player. The computer assigns the tolerance for how accurate the player's aim must be to hit the target differently based on the skill level of the first player. A player having a higher skill level will be assigned a lower tolerance parameter and therefore, will have to be more accurate in aiming in order to hit the target. A player having a lower skill level be assigned a higher tolerance parameter and, therefore, could be less accurate in aiming in order to hit the target. As shown, column 310 of Table 1 lists modifiable parameters such as ‘degree of accuracy required to hit a target’, column 312 lists the experience of a player having a ‘high’ skill level, which may be ‘high degree of accuracy required’, column 314 lists the experience of a player having a ‘medium’ skill level, which may be ‘medium degree of accuracy required’, and column 316 lists the experience of a player having a ‘low’ skill level, which may be ‘low degree of accuracy required’. Similarly, the table lists other modifiable parameters, such as ‘likelihood of being targeted by enemy’, where the experience of a player having a ‘high’ skill level may be ‘high degree of likelihood’, the experience of a player having a ‘medium’ skill level may be ‘medium degree of likelihood’, and the experience of a player having a ‘low’ skill level may be ‘low degree of likelihood’. Another example parameter is ‘difficulty of an in-game puzzle’, where the experience of a player having a ‘high’ skill level may be ‘high degree of difficulty’, the experience of a player having a ‘medium’ skill level may be ‘medium degree of difficulty’, and the experience of a player having a ‘low’ skill level may be ‘low degree of difficulty’. Another example parameter is ‘bonus chance of finding powerful treasure’, where the experience of a player having a ‘high’ skill level may be ‘medium degree of chance’, the experience of a player having a ‘medium’ skill level may be ‘high degree of chance’, and the experience of a player having a ‘low’ skill level may be ‘very high degree of chance’. Yet another example parameter is ‘number of challenging enemies in a single encounter’, where the experience of a player having a ‘high’ skill level may be a high number, for example 10-20, the experience of a player having a ‘medium’ skill level may be a medium number, for example 5-10, and the experience of a player having a ‘low’ skill level may be a low number, for example 1-5. Still another example parameter is ‘gold earned multiplier’, where the earning of a player having a ‘high’ skill level may be ‘high’, for example 1.5×, the earning of a player having a ‘medium’ skill level may be ‘medium’, for example 1.25×, and the earning of a player having a ‘low’ skill level may be ‘low’, for example 1×. One more example parameter is ‘friendly-fire damage amount to team-mates’, where the experience of a player having a ‘high’ skill level may be ‘high degree of damage’, for example 100% of damage, the experience of a player having a ‘medium’ skill level may be ‘medium degree of damage’, for example 50% of damage, and the experience of a player having a ‘low’ skill level may be ‘low degree of damage’, for example 0% of damage.


One of ordinary skill in the art would understand that the skill-levels of players may not be on the scales listed above, but rather, any scale which quantifiably differentiates “high”, “medium”, and “low” by assigning a first value to high, a second value to medium and a third value to low, wherein each of the first, second, and third values are different and are quantifiably separated by an amount and indicative of a relatively high, medium, and low level of skill respectively. Furthermore, one of ordinary skill in the art would appreciate that the scale may be more incrementally divided into further categories, such as high-high, medium-high, medium-low, etc., each of which would be assigned a value, where each of the values are different, are quantifiably separated by an amount, and indicative of a relative difference in skill.


In embodiments, adjustments and/or modifications may be made for various play parameters during battles, healing, finding rewards, and other parameters. FIG. 3C illustrates a table providing an exemplary list of parameters of a gameplay session that are modified differently for different experiences by players based on a player's skill level. As shown, column 318 of Table 2 lists topics such as ‘Equipment Selection’, column 320 lists how modifications under the corresponding topic of column 318 are made for players with higher skill levels, and column 322 lists how modifications under the same topic of column 318 are made for players with lower skill levels. For example, the ‘equipment selection’ may call for modifications provided to high skill level players that involve access to numerous, complex equipment, whereas, modifications provided to low skill level players may involve access to fewer, simplified equipment. In an embodiment, the term “equipment” may include to mean any resources that are made available to a player, which is used by the player to play the game. Accordingly, a table, database, or other dataset includes an “equipment” entry, wherein a different value is separately assigned to each skill level and wherein each of the different values is associated with a number and/or complexity of equipment, with higher skill levels having values associated therewith a greater number and/or complexity of equipment and with lower skill levels having values associated therewith a lower number and/or complexity of equipment.


In another example, the ‘accuracy of enemy attacks’ may call for modifications provided to high skill level players that involve ‘enemy attacks never missing the player’, whereas, modifications provided to low skill level players may involve ‘enemy attacks sometimes missing the player’. Accordingly, a table, database, or other dataset includes an “enemies attacks” entry, wherein a different value is separately assigned to each skill level and wherein each of the different values is associated with an accuracy of enemies attack, with higher skill levels having values associated therewith a greater accuracy of enemies attack and with lower skill levels having values associated therewith a lower accuracy of enemies attack.


In yet another example, the ‘accuracy of player attacks’ may call for modifications provided to high skill level players that involve higher or absolute precision in the attack to hit the enemy, whereas, modifications provided to low skill level players may allow player attacks having a generous leeway and may not need great precision to hit the enemy. Accordingly, a table, database, or other dataset includes a “player attacks” entry, wherein a different value is separately assigned to each skill level and wherein each of the different values is associated with a required accuracy of player attack towards an enemy to be able to hit the enemy, with higher skill levels having values associated therewith a greater required accuracy of player's attack and with lower skill levels having values associated therewith a lower required accuracy of player's attack.


In another example, the ‘chance to find bonus treasure’ may call for modifications provided to high skill level players that provide a higher chance, for example 80% chance, on session completion, whereas, modifications provided to low skill level players may provide a lower chance, for example 35% chance, on session completion. Accordingly, a table, database, or other dataset includes a “bonus treasure” entry, wherein a different value is separately assigned to each skill level and wherein each of the different values is associated with a probability of a player finding a bonus treasure, with higher skill levels having values associated therewith a greater probability of finding and with lower skill levels having values associated therewith a lower probability of finding.


In another example, the ‘frequency of hints given to player in a session’ may call for modifications provided to high skill level players that provide no hints, whereas, modifications provided to low skill level players may always provide hints. Accordingly, a table, database, or other dataset includes a “hints” entry, wherein a different value is separately assigned to each skill level and wherein each of the different values is associated with a frequency of a player being provided with hints, with higher skill levels having values associated therewith a lower frequency of hints and with lower skill levels having values associated therewith a higher frequency of hints.


In another example, the ‘customization options’ may call for modifications provided to high skill level players that a wide range of unique ways to customize character appearance, whereas, modifications provided to low skill level players may provide a limited range of ways to customize character appearance. Accordingly, a table, database, or other dataset includes a “customization” entry, wherein a different value is separately assigned to each skill level and wherein each of the different values is associated with a range of tools and options available to a player to enable customization of available resources including character appearance, with higher skill levels having values associated therewith a wider range with lower skill levels having values associated therewith a smaller range.


In another embodiment, the computer program that executes the gaming environment determines an average skill level of the entire team and subsequently assigns a skill-appropriate, pre-constructed, level session to the team. In some embodiments, the parameters of the gameplay session are averaged based on the aggregate skill-level of the entire team, such that each player is provided with a uniform session and/or gameplay parameters. For example, an aggregate skill level of the entire team is used to define a number of challenging enemies that each player will face in a single encounter. In this example, the number of challenging enemies may be modified to a number that is custom-calculated for the aggregate team skill-level and provided uniformly to each player. While in the previous embodiment, each player in a session is presented with a possibly different number of challenging enemies in a single encounter where the number of each player is based on their skill-level, in this embodiment, each player is presented with a uniform number of enemies in a single encounter where the number is based on the overall team average. Similarly, other session and/or gameplay parameters may be averaged based on the overall aggregate skill-level of the team.



FIG. 3D is a flow diagram illustrating a method of determining a player's skill level and modifying a degree of difficulty of a gameplay session based on the acquired skill level, in accordance with another implementation of the present specification. At 352, data corresponding to a skill level of each player in the multiplayer gaming environment is acquired. In an embodiment, skill levels of players playing together in a single session of the multiplayer game are acquired and are known to the computing system. In an embodiment, data defining the skill level of a player is acquired from a database where the data has been pre-stored at an earlier stage, for example, at the time of registering for a game play session. In embodiments, the data defining the skill levels is based on tracked skill traits, assigned skill traits, a combination of the tracked and assigned skill traits, or any other. In another embodiment, each user is prompted to enter their skill level by answering a set of pre-defined questions. In another embodiment, a skill level of each player is assessed via one or more test gameplay scenarios which the player is prompted to play, in order to acquire the player's skill level.


At 354, the acquired skill-level data for each player is aggregated to arrive at an overall skill-level data for the combination of the players. At 356, a predefined set of parameters in the gameplay session are modified, based on the aggregate skill level data of the players. In some embodiments, the parameters of the gameplay session are averaged based on the aggregate skill-level of the entire team, such that each player is provided with a uniform session and/or gameplay parameters. In an embodiment, before a gameplay session begins, the computer program that executes the gaming environment assesses the overall skill level of the team, based on individual players' skill levels. In one embodiment, assessment of the overall skill level is based on a flexible set of attributes. In one embodiment, the assessment is based on the game, on a particular level of the game, or specific attributes within a particular level of the game. In one embodiment, the assessment may be based on an average skill level of all the players for the game. In some embodiments, a combination of one or more of the above-stated embodiments for assessing the overall skill level is used. If a particular level favors a particular type of play style, for example, attributes favoring that level may be weighted more heavily. In an example of a basketball game, each position may be weighted differently. For example, the skill for the point guard position may be based on the player's passing and dribbling attributes, while the skill for a center position may be determined based on the player's height, blocking ability, and strength.


Once an assessment is made, the computer program that executes the gaming environment modifies elements of the session and/or gameplay parameters as the session is being created based on the aggregate skill level. In embodiments, session modifications may include, but are not limited to: adjusting the number of enemies, adjusting the complexity of puzzles; and player adjustments, which may include players' health, damage, speed, available abilities, and difficulty level. In one embodiment, the players' health are scaled based on the aggregate skill level. At 358, data corresponding to aggregated skill level for all the players is generated and presented to the players via a game console, resulting in each player within a team experiencing a customized degree of difficulty or challenge within a content in the gameplay session. The degree of difficulty or challenge, or any other game parameter is customized for the team of players, based on their aggregate skill-level information.


As a result, instead of having people of the same level teaming up, embodiments of the present specification enable people of differing levels to work together within gameplay. Therefore, even though the players may all be in the same environment, the various parameters that define death and success, among others, will change depending on the player's skill level.


Incentivizing Team Cooperation


In a second implementation of the present specification, systems and methods are provided to encourage performance of a team or a group of players. In embodiments, a computer-implemented method is used in a multiplayer gaming environment to monitor actual gameplay in real time in order to determine a degree of cooperation provided individually by each player to the player's team members, as well as an overall degree of mutual cooperation between all the players in the team. The team performance may be then determined based on a function of the individual and/or overall degree of cooperation among the players of the team. In an exemplary embodiment, the determined team performance may be displayed to the team players during the course of the game and/or after a gaming session and rewards or benefits may be distributed based thereon. In embodiments, the team performance is calibrated within a range or over a scale. In some embodiments, reaching certain thresholds of team performance could provide tangible in-game benefits such as but not limited to temporarily increased power, or access to new abilities. In some embodiments, a measure of team performance could be used as a form of currency that players or team members can use to purchase unique in-game bonuses or treasure.



FIG. 4A is a flow diagram illustrating a method of encouraging players of a team, who play together during a gaming session containing one or more levels. The team players are encouraged based on their degree of cooperation in the gameplay session, in accordance with an embodiment of the present specification. At 402, a cooperation metric corresponding to each player in the team is determined. The metric may indicate a level of cooperation provided by a player to one or more other players for the benefit of the team. In an embodiment, a negative cooperation metric is determined against a team player who performs an un-cooperative action during a game play session.


At 404, an overall team metric is assessed. The overall team metric may be indicative of measure of a degree of cooperation among all the players in the team. In an embodiment, the overall team metric is assessed on the basis of individual cooperation metric determined for each player at 402. In some embodiments, an overall team metric is computed as a sum of points, which may be benchmarked at different intervals during a gameplay session. At step 406, a visual representation of the assessed overall team metric, assessed during a game play session, may be generated, as described below with respect to FIG. 5.



FIG. 4B is a table providing an exemplary list of actions, both cooperative and uncooperative, that may be performed by players of a team during a game play session and the corresponding cooperation metrics associated with each of the actions. As shown, in Table 3, column 410 provides an exemplary list of actions, both cooperative and uncooperative. Column 412 provides whether or not the corresponding action listed in column 410 was performed.


Entries in column 412 may be marked as a ‘yes’ or a ‘no’. Column 414 provides a cooperative metrics associated with the corresponding action listed in column 410. In embodiments, advantages may accumulate for a team for each cooperative action and consequences may accumulate against a team for each uncooperative action performed by any of the team's players. In an embodiment, ten points may be allotted to a team for each cooperative action performed by any of the team's players. For example, the column 412 entry associated with the action ‘healing another player of the same team’ is ‘Yes’ and the corresponding measure is ‘+5’, provided in column 414, as shown in Table 3. In an embodiment, ten points may be deducted from a team for each uncooperative action performed by any of the team's players. In another example, the column 412 entry associated with the action ‘sharing weapon with a team member’ is ‘No’ and the corresponding measure is ‘0’, provided in column 414. In another example, the column 412 entry associated with the action ‘saving a team member's life’ is ‘Yes’ and the corresponding measure provided in column 414 is ‘+25’. In another example, the column 412 entry associated with the action ‘killing a team member’ is ‘Yes’ and the corresponding measure provided in column 414 is ‘-50’. In another example, the column 412 entry associated with an action where several team mates contributes to defeating and enemy is ‘Yes’ and the corresponding measure provided in column 414 is ‘+15’, which may be provided to each team member who was involved in the action. In another example, the column 412 entry associated with the action ‘activating a coordinated team combo attack’ is ‘Yes’ and the corresponding measure provided in column 414 is ‘+40’. In another example, the column 412 entry associated with the action ‘completing level objectives alone’ is ‘No’ and the corresponding measure provided in column 414 is ‘0’. In another example, the column 412 entry associated with the action ‘completing level objectives with teammates’ is ‘Yes’ and the corresponding measure provided in column 414 is ‘+10’. In another example, the column 412 entry associated with the action ‘complimenting, praising, or positive gestures to other teammates’ is ‘Yes’ and the corresponding measure provided in column 414 is ‘+5’. Accordingly, a table, database, or other dataset includes entries for various actions that may be performed, where the actions are indicative of cooperation between multiple players within a team. For each action performed, a corresponding entry may be created to indicate whether the action was performed in a manner that promotes team cooperation or vice versa. A value that contributes to the cooperation metrics may be assigned for each action that is performed. A different value may be assigned separately to one player or collectively to the multiple players of a team, based on that action and based on whether the performed action promotes team cooperation or vice versa. A positive value is assigned that increases the team metric, for actions promoting team cooperation; and no or a negative value is assigned that contributes negatively to the team metric, for actions that either do not promote or disrupt team cooperation.



FIG. 5 is a screenshot displaying an overall team metric in the form of a meter or bar. Team performance and/or the degree of cooperation may be determined by monitoring interactive behavior between team members during the game and within the gaming environment, such as, but not limited to, one player giving items to another player; one player healing another player; working cooperatively with another player to terminate an enemy; working cooperatively to solve a puzzle or overcome an obstacle, or any other behavior including but not limited to those discussed in Table 3. Positive team behavior may be rewarded in various forms. In an embodiment, a high metric (number indicated by team meter 500) for overall team performance is rewarded with bonus points, additional weapons, or any other type of reward. If the opposite is true, the team meter may not change or may decrease. Different rewards may be associated with the team meter. In an exemplary embodiment, the team meter may be displayed to the team players during the course of the game and/or after a gaming session and rewards or benefits may be distributed based thereon. In some embodiments, reaching certain thresholds on the team meter may provide tangible in-game benefits such as but not limited to temporarily increased power or access to new abilities. In some embodiments, a measure on the team meter may be used as a form of currency that players or team members can use to purchase unique in-game bonuses or treasure. In an embodiment, rewards are disbursed gradually to the team members, where the entire team becomes proportionally stronger as the team meter increases. In alternative embodiments, rewards are disbursed immediately, where every time the team meter levels up, all team-mates gain a powerful but temporary bonus to their weapon damage. In some embodiments, team meter rewards are accrued, where at the conclusion of a session, players can spend the team meter points to buy unique treasure, vanity outfits, or other benefits. Accordingly, a table, database, or other dataset includes entries for various threshold levels that may be achieved over a team meter, wherein a different value is separately assigned to each threshold level and wherein each of the different values is associated with a reward or a set of rewards for the team.


Improved Player Matching


In a third implementation of the present specification, systems and methods are provided to match players on the basis of common interests that encourage entertainment and therefore an ability of players to like the gaming environment. As used herein, the term “match” refers to a matching of two or more players, rather than a contest. For example, a potential match refers to a potential grouping of two or more players. Players are matched with people they've had fun with to nurture gaming friendships. The embodiments of the present specification offer player matching based on subjective variables, such as fun or likeability, so that habitual play may be encouraged and player retention is increased. The matching may be performed independent of other factors such as, a latency between players, a relative skill level, a presence of preferred players (e.g., clan mates or friends), a team composition, a time that a given player has been waiting to be matched (e.g., in a game lobby), or any other information used to assess a potential match.


In one embodiment, matchmaking is performed in real time at a peer-to-peer level through the use of a distributed application architecture. In this embodiment, the computer program in accordance with the present specification is programmed to match players who can potentially play a game together. In another embodiment, a central server is used to process and store matchmaking information. In some embodiments, a multitude of matchmaking servers that are geographically distributed within the central server architecture are used to process and store matchmaking information. The central server may be in communication with the one or more computing systems that deliver gaming environments to players. An application within a scoring engine in communication with the central server may obtain one or more match variables used to generate a match score for the potential match. In embodiments, a degree of likeability between two potential team players is used to determine a level of match between them. The degree of likeability may be in the form of the match variable that is based on at least two different types of variables. First, an explicit set of variables may be used to influence the match variable. The explicit set of variables may include, but may not be limited to, an indication of a positive thought or emotion towards another player. The indication may be provided in the form of a ‘thumbs-up’ sign by one player for another player, during or after a game play session, where the two players participated. If the player gives a ‘thumbs up’, then this is an express statement of likeability. In another example, pre-define keywords or phrases picked up from spoken/typed chats may be an indication of a positive thought or emotion. Some exemplary keywords and phrases may include ‘good’, ‘you played well’, and ‘congratulations’. In another example, a survey may be conducted to probe interest of various players. Results of the surveys may be used to determine likeability between different players who took the survey. In yet another example, any other impressions may be identified by the system in accordance with the present specification, to analyze the interest of the players and use it to determine a likeability between them. Second, an implicit determination of the degree of likeability may be made on the basis of various tracked parameters. If a player quit the game in less than a predefined amount of time, one may assume less likeability. If the players opt for same or similar music, or music from the same artist/genre, to listen to while playing, an increased likeability may be assumed. If the players, opt to buy same or similar item from the game store, an increased likeability may be assumed. If the players choose to watch the same games/gameplay sequences in replays, increased likeability may be assumed. If the players cooperated, increased likeability may be assumed. In an embodiment, a reading from the team meter is used to determine the degree of likeability between the players. If the players engaged in celebratory actions in the game or positive chatting, increased likeability may further be assumed. These variables can be used to adjust a matchmaking algorithm accordingly.


A given match variable may be assigned a coefficient that indicates a level of importance, or weight, of the given match variable. The scoring engine may generate a match score based on the match variables and their corresponding coefficients. In this manner, the scoring engine may consider multiple variables, each of which may be assigned with varying degrees of importance. In an embodiment, a score may be in the form of a percentage. A threshold score may be defined, which should be exceeded in order for a match to be indicated.


A game designer or others may assign a default value to a given coefficient based on the game designer's opinion of the relative importance of a corresponding match variable. The default value of a coefficient may be used unless it is changed. A coefficient may be tuned by changing its default value. Coefficients may be tuned in various ways, and by various parties, to respond to preferences, changing game conditions, and/or other information that may be available in real time during a gaming session. In this manner, the scoring engine may determine match scores based on dynamically changing information, and adjust the matchmaking process accordingly. For example, a player may tune coefficients by expressly indicating likeability towards another player during a gaming session. For example, a player may imply likeability towards another player by cheering them or engaging in positive chatting on a social media interface linked to the gaming environment during or after a gaming session. In examples, the likeability is determined towards any other player who may or may not be matching with a player in skills, gaming preferences, wait times, or any other information.



FIG. 6A is a flow diagram illustrating a method of determining a match between two or more players based on their explicit and implicit likeability metrics tracked throughout a game play session, in accordance with an implementation of the present specification. At step 602, implicit likeability metrics between a first player and one or more other players corresponding to actions denoting likeability among the players during a gameplay session, are tracked. In embodiments, various actions/behavior of the first player during a game play session may be used to determine implicit likeability of the first player towards one or more players in the session.



FIG. 6B is a table providing a list of exemplary player action of a player during a gameplay session that may be used for determining likeability metrics with respect to at least one other player. As shown in Table 4, column 620 provides a list of actions taken by a first player during a gameplay session with one or more other players; while columns 622, 624 provide a list of positive or negative implicit likeability metrics associated with each listed action corresponding to a second player and a third payer respectively. It would be apparent that Table 4 is only an exemplary illustration and that various other player actions as well as a plurality of other players may be added to the table without departing from the scope of the present specification. For example, column 620 lists an action taken by the first player of quitting a gameplay session before finishing the session and columns 622, 624 list a negative likeability metrics associated with the action corresponding to both the second and the third player. Similarly, as column 620 lists an action taken by the first player of engaging in positive chatting during the gameplay session with the second player, column 622 lists a positive likeability metric associated with the action corresponding to the second player but column 624 lists a negative likeability metric associated with the action corresponding to the third player. As column 620 lists an action taken by the first player of co-operating with both the other players during the gameplay session, columns 622, 624 list a positive likeability metrics associated with the action corresponding to both the second and the third player. Further, as column 620 lists an action taken by the first player of engaging in celebratory behavior with both the other players during/or after the gameplay session, columns 622, 624 list a positive likeability metrics associated with the action corresponding to both the second and the third player.


At step 604, an overall implicit likeability metric indicative of a degree of implicit likeability between the first player and the one or more other players is determined by using the tracked implicit likeability metrics. In an embodiment, all the positive implicit likeability metric tracked between two players is summed to obtain the overall implicit likeability metric between the two players. In another embodiment, degrees of likeability may be recorder/listed in columns 622, 624 of Table 4 in terms of ‘points’, rather than just a positive or a negative metric. These points may then be summed to obtain an overall implicit likeability metric between two players.


At step 606, the first player is prompted to provide feedback regarding the player's gaming experience with the one or more other players at the end of the gameplay session. In an embodiment, the first player may be given an option of selecting a ‘thumbs up’ icon or a ‘thumbs down’ option to indicate the experience. In other embodiments, any other suitable method of taking player feedback may be employed.


At step 608 a positive or negative explicit likeability metric respectively, indicative of explicit likeability between the first player and the one or more other players is generated based on the positive or negative feedback received from the first player. For example, a ‘thumbs up’ icon selection made by the first player is recorded as a positive explicit likeability metric, while a ‘thumbs down’ icon selection made by the first player is recorded as a negative explicit likeability metric. In other embodiments, other actions of the player may also be used to generate the explicit likeability metric.


At step 610, an overall likeability metric indicative of a degree of likeability between the first player and the one or more other players is generated, by using the determined overall implicit likeability metric and the generated positive or negative overall explicit likeability metric. In an embodiment, a positive value is associated with each positive explicit/implicit metric obtained between two players, and the positive values are summed to obtain an overall likeability metric between the players.


At step 612, a match between the first player and the one or more other players is determined by using at least the determined overall likeability metric corresponding to the first player and the one or more other players. In an embodiment, one or more match making algorithms may be used to determine a match between two players based on their mutual likeability metric.


Content Generation from Social Networks


In a fourth implementation of the present specification, systems and methods are provided that create more meaningful social gaming networks by tailoring social content of the game based on ideas generated within the social group itself. In embodiments, a computer implemented method of integrating a social network into one or more gaming environments of a multi-player game is used to identify at least one social group comprising a group of players where the players have played together during one or more prior gameplay sessions of the multi-player game, customize content for each of the at least one social group, and provide customized content customized for a social group, to the players of the social group.



FIG. 7 is a flow diagram describing a method for implementing gaming social networks in accordance with some implementations of the present specification. At 702, a computer implemented method of integrating a social network into one or more gaming environments of a multi-player game is used to identify at least one social group comprising a group of players where the players have played together during one or more prior gameplay sessions of the multi-player game. At 704, content for each of the at least one social group is customized based on the data identified at 702. At 706, the customized content, customized for a specific social group, is presented to the players of the social group. The content may be customized in one or more of various methods.


A centralized social network tool may be provided that interfaces with and integrates into one or more gaming environments. In an embodiment, a central server communicates with multiple computing devices that provide the gaming environment to different players. In an embodiment, the centralized social network tool is implemented by the central server. The social network tool may be integral to the theme of the games and be pervasive within game play. In embodiments, members of the social network include actual players representing real people. At 708, a comment or a note sourced by any one player of a social group may be fed to the display of other players within the same group. For example, a social feed of a friend is integrated into the display of one or more other friends, where all friends are a part of a social group. The feed may be provided during a gaming session. In embodiments, the feed selected for display may be based on metrics or events that are relevant to the social group. Exemplary metric or events that trigger a social feed may include, but may not be limited to, actions such as new weapons unlocked, levels completed, and new members. Additionally, in an embodiment, content of the feed is tailored based on trending interests or recurring behaviors within the group.


Groups may include sets of members that have a dedicated space within the virtual network of the gaming environment, for posting content and/or communications. These spaces may be private (e.g., only open to members who are a part of the group) or public. Groups' memberships in a given group may be reflected in the member pages of the members that are a part of the given group. Social feeds by group's members may be displayed during game's progression.


In another aspect, at 710, the social network may be leveraged to obtain user feedback concerning game play elements. Content postings, member messages, and/or other interactions of members conveying information about gaming elements, including, but not limited to, gaming characters, weapon types, special powers, treasure, or any other gaming element, may be monitored. In embodiments, if the game accepts one or more suggestions, modifications corresponding to the accepted suggestions may be made to one or more gaming levels. Further, in embodiments, accepted suggestions that were provided within a specific social group may be used to modify one or more gaming levels for that group only. Therefore, different social groups may have different content in similar levels of the game, making the nature of the social group very meaningful.



FIG. 7B is a table providing a list of exemplary user feedback elements during or after a gameplay session that may be used for modifying one or more gaming levels. As shown in Table 5, column 730 provides a list of user feedback provided by more players over a social network; while column 732 provides a list of corresponding modifications to gameplay. It would be apparent that Table 5 is only an exemplary illustration and that various other types of user feedback and corresponding modifications may be added to the table without departing from the scope of the present specification. For example, column 730 lists an element of user feedback that members are playing the same level repeatedly, and column 732 provides a possible corresponding modification in the form of incentivizing a new level by providing special rewards on completion of new level. In another example, feedback is detected in the form of a post from a member stating that the member has earned a new, rare special weapon during gameplay, and correspondingly a modification is provided by providing a higher probability to all other members to receive this same weapon. In another example, feedback is detected from one or more members who repeatedly fail a particular mission, and complain about it in messages and posts, and in response a modification is made where the mission becomes offered at a lower difficulty, with slightly reduced rewards.


In another aspect, at 712, the game may rotate levels in and out of the game over time and differently for different social groups. Therefore, different social groups may have different levels available to them at any one time. In embodiments, gaming content is customized on the basis of characteristics of a social group. In embodiments, both the content and a sequence of one or more gaming levels of the multi-player game are customized. A combination of one or more group characteristics may be utilized to determine levels that may be offered to the group. In an embodiment, if a group is continuously struggling to complete a task or is finding the levels too easy, the social network tool may provide an indication, and correspondingly additional levels may be included and adjusted to a certain difficulty. In another embodiment, if a group has not used a certain game mode, used a particular item during gameplay, or relies too much on a particular strategy, the gaming content is customized for that group in the form of additional or modified levels with unique incentives and styles unfamiliar to the group. In another embodiment, if a group is lapsing or losing interest in the game, the gaming content is customized for that group by offering levels with highly unique and special rewards to retain engagement. In another embodiment, if a group member shares with the group an activity that they performed, the gaming content is customized for the entire group in order to suggest similar levels that feature this activity for other members of the group to attempt.


In another aspect, at 714, game play snippets are selected from a level of the multi-player game played by players of the social group. In embodiments, the selected snippets are presented to the players of the social group. The selected snippets may be displayed after the corresponding level, of which the snippets are used, of the gaming session. In embodiments, the snippets are displayed when going between levels. In an embodiment, the snippet may be a wrap-up video that summarizes what happened in the last levels. The game may incorporate actual game play snippets, such as those corresponding to crucial moves by the players in the last level, into that wrap-up video. The game progresses differently for each group of players, making each social group's wrap-up video different.


The above examples are merely illustrative of the many applications of the system of present invention. Although only a few embodiments of the present invention have been described herein, it should be understood that the present invention might be embodied in many other specific forms without departing from the spirit or scope of the invention. Therefore, the present examples and embodiments are to be considered as illustrative and not restrictive, and the invention may be modified within the scope of the appended claims.

Claims
  • 1. A computer-implemented method for simulating a multiplayer game environment in a game session for multiple players where at least two players of the multiple players are assigned to a same team and have different skill levels to play in the game session, the method being implemented in a computer having a processor and a random access memory, wherein the processor is in data communication with a display and with a storage unit, the method comprising: acquiring, by the computer, skill level data of the at least two players by detecting and tracking skill based on measurable session behavior of each player of the at least two players, wherein the measurable session behavior includes one or more of a total amount of time played, successful games won, times helping other players, favorite weapon usage, and number of games left;determining an aggregate skill level based on each of the skill level data of the at least two players;modifying, by the computer, parameters of the game session for each player of the at least two players, wherein the modifying is based on the aggregate skill level data for the at least two players and wherein the parameters comprise at least one of a tolerance in the game session for how accurate each of the at least two players' aim must be to hit a target in the game session, an amount of damage friendly-fire does to each of the at least two players' teammates, each of the at least two players' likelihood of being targeted by an enemy, each of the at least two players' chance of finding bonus treasure, a number of challenging enemies each of the at least two players is likely to experience in a single encounter, or a multiplier for an amount of value earned by each of the at least two players; andpresenting data, by the computer, to each of the at least two players, via a game console, wherein the data presented are based on the parameters and, when processed, result in each of the at least two players of the multiple players experiencing a modified degree of difficulty, based on said aggregate skill level, while still concurrently experiencing a common level in the game session.
  • 2. The method of claim 1, wherein the acquiring further comprises each player of the at least two players rating each other player for one or more subjective skill traits.
  • 3. The method of claim 2, wherein the subjective skill traits include at least one of an ability to shoot a weapon with accuracy, an ability to be a cooperative team player, or an ability to lead.
  • 4. The method of claim 1, wherein the acquiring further comprises weighing each metric of the skill level data of each player of the at least two players.
  • 5. A computer-implemented method for simulating a multiplayer game environment in a game session for multiple players where at least two players of the multiple players are assigned to a same team and have different skill levels to play in the game session, the method being implemented in a computer having a processor and a random access memory, wherein the processor is in data communication with a display and with a storage unit, the method comprising: acquiring, by the computer, skill level data of the at least two players by detecting and tracking skill based on measurable session behavior of each player of the at least two players, wherein the measurable session behavior includes one or more of a total amount of time played, successful games won, times helping other players, favorite weapon usage, and number of games left;aggregating, by the computer, each of the skill level data of the at least two players to arrive at an aggregate skill level data;modifying, by the computer, parameters of the game session for each player of the at least two players, wherein the modifying is based on the aggregate skill level data and wherein the parameters comprise at least one of a tolerance in the game session for how accurate each of the at least two players' aim must be to hit a target in the game session, an amount of damage friendly-fire does to each of the at least two players' teammates, each of the at least two players' likelihood of being targeted by an enemy, each of the at least two players' chance of finding bonus treasure, a number of challenging enemies each of the at least two players is likely to experience in a single encounter, or a multiplier for an amount of value earned by each of the at least two players; andpresenting data, by the computer, to each of the at least two players, via a game console, wherein the data presented are based on the parameters and, when processed, result in each of the at least two players experiencing a customized degree of difficulty in a same level in the game session.
  • 6. The method of claim 5, wherein the acquiring further comprises each player of the at least two players rating each other player for one or more subjective skill traits.
  • 7. The method of claim 6, wherein the subjective skill traits include at least one of ability to shoot a weapon with accuracy, ability to be a cooperative team player, or ability to lead.
  • 8. A system for simulating a multiplayer game environment in a game session for multiple players where at least two players of the multiple players are assigned to a same team and have different skill levels to play in the game session, the system comprising: a computer having a processor and a random access memory, wherein the processor is in data communication with a display and with a storage unit, the computer configured to: acquiring skill level data of the at least two players by detecting and tracking skill based on measurable session behavior of each player of the at least two players, wherein the measurable session behavior includes one or more of a total amount of time played, successful games won, times helping other players, favorite weapon usage, and number of games left;determining an aggregate skill level based on each of the skill level data of the at least two players;modifying parameters of the game session for each player of the at least two players, wherein the modifying is based on the aggregate skill level data for the at least two players and wherein the parameters comprise at least one of a tolerance in the game session for how accurate each of the at least two players' aim must be to hit a target in the game session, an amount of damage friendly-fire does to each of the at least two players' teammates, each of the at least two players' likelihood of being targeted by an enemy, each of the at least two players' chance of finding bonus treasure, a number of challenging enemies each of the at least two players is likely to experience in a single encounter, or a multiplier for an amount of value earned by each of the at least two players; andpresenting data to each of the at least two players, via a game console, wherein the data presented are based on the parameters and, when processed, result in each of the at least two players of the multiple players experiencing a customized degree of difficulty while experiencing a common level in the game session.
  • 9. The system of claim 8, wherein the acquiring further comprises each player of the at least two players rating each other player for one or more subjective skill traits.
  • 10. The system of claim 9, wherein the subjective skill traits include at least one of an ability to shoot a weapon with accuracy, an ability to be a cooperative team player, or an ability to lead.
  • 11. The system of claim 8, wherein the acquiring further comprises weighing each metric of the skill level data of each player of the at least two players.
  • 12. A system for simulating a multiplayer game environment in a game session for multiple players where at least two players of the multiple players are assigned to a same team and have different skill levels to play in the game session, the system comprising: a computer having a processor and a random access memory, wherein the processor is in data communication with a display and with a storage unit, the computer configured to: acquiring a skill level data of the at least two players by detecting and tracking skill based on measurable session behavior of each player of the at least two players, wherein the measurable session behavior includes one or more of a total amount of time played, successful games won, times helping other players, favorite weapon usage, and number of games left;aggregating each of the skill level data of the at least two players to arrive at an aggregate skill level data;modifying parameters of the game session for each player of the at least two players, wherein the modifying is based on the aggregate skill level data and wherein the parameters comprise at least one of a tolerance in the game session for how accurate each of the at least two players' aim must be to hit a target in the game session, an amount of damage friendly-fire does to each of the at least two players' teammates, each of the at least two players' likelihood of being targeted by an enemy, each of the at least two players' a chance of finding bonus treasure, a number of challenging enemies each of the at least two players is likely to experience in a single encounter, or a multiplier for an amount of value earned by each of the at least two players; andpresenting data to each of the at least two players, via a game console, wherein the data presented are based on the parameters and, when processed, result in each of the at least two players experiencing a customized degree of difficulty in a level in the game session.
  • 13. The system of claim 12, wherein the acquiring further comprises each player of the at least two players rating each other player for one or more subjective skill traits.
  • 14. The system of claim 13, wherein the subjective skill traits include at least one of an ability to shoot a weapon with accuracy, an ability to be a cooperative team player, or an ability to lead.
US Referenced Citations (587)
Number Name Date Kind
4461301 Ochs Jul 1984 A
4908761 Tai Mar 1990 A
5031089 Liu Jul 1991 A
5058180 Khan Oct 1991 A
5365360 Torres Nov 1994 A
5371673 Fan Dec 1994 A
5432934 Levin Jul 1995 A
5442569 Osano Aug 1995 A
5493692 Theimer Feb 1996 A
5497186 Kawasaki Mar 1996 A
5530796 Wang Jun 1996 A
5539883 Allon Jul 1996 A
5561736 Moore Oct 1996 A
5563946 Cooper Oct 1996 A
5606702 Diel Feb 1997 A
5630129 Wheat May 1997 A
5685775 Bakoglu Nov 1997 A
5694616 Johnson Dec 1997 A
5706507 Schloss Jan 1998 A
5708764 Borrel Jan 1998 A
5726883 Levine Mar 1998 A
5736985 Lection Apr 1998 A
5736990 Barrus Apr 1998 A
5737416 Cooper Apr 1998 A
5745113 Jordan Apr 1998 A
5745678 Herzberg Apr 1998 A
5758079 Ludwig May 1998 A
5761083 Brown Jun 1998 A
5762552 Vuong Jun 1998 A
5768511 Galvin Jun 1998 A
5774668 Choquier Jun 1998 A
5793365 Tang Aug 1998 A
5825877 Dan Oct 1998 A
5828839 Moncreiff Oct 1998 A
5835692 Cragun Nov 1998 A
5860137 Raz Jan 1999 A
5877763 Berry Mar 1999 A
5878233 Schloss Mar 1999 A
5880731 Liles Mar 1999 A
5883628 Mullaly Mar 1999 A
5900879 Berry May 1999 A
5903266 Berstis May 1999 A
5903271 Bardon et al. May 1999 A
5911045 Leyba Jun 1999 A
5920325 Morgan Jul 1999 A
5920692 Nguyen Jul 1999 A
5920848 Schutzer Jul 1999 A
5923324 Berry Jul 1999 A
5926100 Escolar Jul 1999 A
5933818 Kasravi Aug 1999 A
5938722 Johnson Aug 1999 A
5958014 Cave Sep 1999 A
5969724 Berry Oct 1999 A
5977979 Clough Nov 1999 A
5983003 Lection Nov 1999 A
5990887 Redpath Nov 1999 A
5990888 Blades Nov 1999 A
6006223 Agrawal Dec 1999 A
6008848 Tiwari Dec 1999 A
6009455 Doyle Dec 1999 A
6012096 Link Jan 2000 A
6014145 Bardon et al. Jan 2000 A
6018734 Zhang Jan 2000 A
6021268 Johnson Feb 2000 A
6021496 Dutcher Feb 2000 A
6023729 Samuel Feb 2000 A
6025839 Schell Feb 2000 A
6032129 Greef Feb 2000 A
6049819 Buckle Apr 2000 A
6058266 Megiddo May 2000 A
6059842 Dumarot May 2000 A
6061722 Lipa May 2000 A
6067355 Lim May 2000 A
6069632 Mullaly May 2000 A
6070143 Barney May 2000 A
6076093 Pickering Jun 2000 A
6081270 Berry Jun 2000 A
6081271 Bardon et al. Jun 2000 A
6088727 Hosokawa Jul 2000 A
6088732 Smith Jul 2000 A
6091410 Lection Jul 2000 A
6094196 Berry Jul 2000 A
6098056 Rusnak Aug 2000 A
6101538 Brown Aug 2000 A
6104406 Berry Aug 2000 A
6108420 Larose Aug 2000 A
6111581 Berry Aug 2000 A
6115718 Huberman Sep 2000 A
6134588 Guenthner et al. Oct 2000 A
6138128 Perkowitz Oct 2000 A
6141699 Luzzi Oct 2000 A
6144381 Lection Nov 2000 A
6148294 Beyda Nov 2000 A
6148328 Cuomo Nov 2000 A
6157953 Chang Dec 2000 A
6177932 Galdes Jan 2001 B1
6179713 James Jan 2001 B1
6182067 Presnell Jan 2001 B1
6185614 Cuomo Feb 2001 B1
6195657 Rucker Feb 2001 B1
6199067 Geller Mar 2001 B1
6201881 Masuda Mar 2001 B1
6212494 Boguraev Apr 2001 B1
6212548 DeSimone Apr 2001 B1
6216098 Clancey Apr 2001 B1
6222551 Schneider Apr 2001 B1
6226686 Rothschild May 2001 B1
6233583 Hoth May 2001 B1
6249779 Hitt Jun 2001 B1
6266649 Linden Jul 2001 B1
6271842 Bardon Aug 2001 B1
6271843 Lection Aug 2001 B1
6275820 Navin-Chandra Aug 2001 B1
6282547 Hirsch Aug 2001 B1
6293865 Kelly Sep 2001 B1
6301609 Aravamudan et al. Oct 2001 B1
6308208 Jung Oct 2001 B1
6311206 Malkin Oct 2001 B1
6314465 Paul Nov 2001 B1
6330281 Mann Dec 2001 B1
6334127 Bieganski Dec 2001 B1
6334141 Varma Dec 2001 B1
6336134 Varma Jan 2002 B1
6337700 Kinoe Jan 2002 B1
6345264 Breese Feb 2002 B1
6345287 Fong Feb 2002 B1
6349091 Li Feb 2002 B1
6351775 Yu Feb 2002 B1
6353449 Gregg Mar 2002 B1
6356297 Cheng Mar 2002 B1
6360254 Linden Mar 2002 B1
6363174 Lu Mar 2002 B1
6370560 Robertazzi Apr 2002 B1
6396513 Helfman May 2002 B1
6411312 Sheppard Jun 2002 B1
6418424 Hoffberg Jul 2002 B1
6418462 Xu Jul 2002 B1
6426757 Smith Jul 2002 B1
6445389 Bossen Sep 2002 B1
6452593 Challener Sep 2002 B1
6462760 Cox, Jr. Oct 2002 B1
6463078 Engstrom Oct 2002 B1
6466550 Foster Oct 2002 B1
6469712 Hilpert, Jr. Oct 2002 B1
6473085 Brock Oct 2002 B1
6473103 Bailey Oct 2002 B1
6473597 Johnson Oct 2002 B1
6476830 Farmer Nov 2002 B1
6499053 Marquette Dec 2002 B1
6501834 Milewski Dec 2002 B1
6505208 Kanevsky Jan 2003 B1
6509925 Dermler Jan 2003 B1
6525731 Suits Feb 2003 B1
6539415 Mercs Mar 2003 B1
6549933 Barrett Apr 2003 B1
6559863 Megiddo May 2003 B1
6567109 Todd May 2003 B1
6567813 Zhu May 2003 B1
6574477 Rathunde Jun 2003 B1
6580981 Masood Jun 2003 B1
6594673 Smith Jul 2003 B1
6601084 Bhaskaran Jul 2003 B1
6618751 Challenger et al. Sep 2003 B1
6640230 Alexander Oct 2003 B1
6641481 Mai Nov 2003 B1
6645153 Kroll Nov 2003 B2
RE38375 Herzberg Dec 2003 E
6657617 Paolini Dec 2003 B2
6657642 Bardon et al. Dec 2003 B1
6684255 Martin Jan 2004 B1
6717600 Dutta Apr 2004 B2
6734884 Berry May 2004 B1
6742032 Castellani May 2004 B1
6765596 Lection Jul 2004 B2
6781607 Benham Aug 2004 B1
6801930 Dionne Oct 2004 B1
6807562 Pennock Oct 2004 B1
6819669 Rooney Nov 2004 B2
6832239 Kraft Dec 2004 B1
6836480 Basso Dec 2004 B2
6845389 Sen Jan 2005 B1
6854007 Hammond Feb 2005 B1
6886026 Hanson Apr 2005 B1
6901379 Balter May 2005 B1
6941236 Huelsbergen Sep 2005 B2
6948168 Kuprionas Sep 2005 B1
RE38865 Dumarot Nov 2005 E
6970929 Bae Nov 2005 B2
6993596 Hinton Jan 2006 B2
7006616 Christofferson Feb 2006 B1
7028296 Irfan Apr 2006 B2
7031473 Morais Apr 2006 B2
7050868 Graepel May 2006 B1
7062533 Brown Jun 2006 B2
7089266 Stolte Aug 2006 B2
7124071 Rich Oct 2006 B2
7124164 Chemtob Oct 2006 B1
7139792 Mishra Nov 2006 B1
7143409 Herrero Nov 2006 B2
7159217 Pulsipher Jan 2007 B2
7185067 Viswanath Feb 2007 B1
7192352 Walker Mar 2007 B2
7209137 Brokenshire Apr 2007 B2
7230616 Taubin Jun 2007 B2
7240093 Danieli Jul 2007 B1
7249123 Elder Jul 2007 B2
7263511 Bodin Aug 2007 B2
7278108 Duarte Oct 2007 B2
7287053 Bodin Oct 2007 B2
7292870 Heredia Nov 2007 B2
7305438 Christensen Dec 2007 B2
7308476 Mannaru Dec 2007 B2
7314411 Lannert Jan 2008 B2
7328242 McCarthy Feb 2008 B1
7353295 Crow Apr 2008 B1
7376474 Graepel May 2008 B2
7383307 Kirkland Jun 2008 B2
7404149 Fox Jul 2008 B2
7426538 Bodin Sep 2008 B2
7427980 Partridge Sep 2008 B1
7428588 Berstis Sep 2008 B2
7429987 Leah Sep 2008 B2
7436407 Doi Oct 2008 B2
7439975 Hsu Oct 2008 B2
7443393 Shen Oct 2008 B2
7447996 Cox Nov 2008 B1
7467180 Kaufman Dec 2008 B2
7467181 McGowan Dec 2008 B2
7475354 Guido Jan 2009 B2
7478127 Creamer Jan 2009 B2
7484012 Hinton Jan 2009 B2
7503007 Goodman Mar 2009 B2
7506264 Polan Mar 2009 B2
7509388 Allen Mar 2009 B2
7515136 Kanevsky Apr 2009 B1
7525964 Astley Apr 2009 B2
7527191 Takayama May 2009 B2
7552177 Kessen Jun 2009 B2
7565650 Bhogal Jul 2009 B2
7571224 Childress Aug 2009 B2
7571389 Broussard Aug 2009 B2
7580888 Ur Aug 2009 B2
7590984 Kaufman Sep 2009 B2
7596596 Chen Sep 2009 B2
7614955 Farnham Nov 2009 B2
7617283 Aaron Nov 2009 B2
7640587 Fox Dec 2009 B2
7667701 Leah Feb 2010 B2
7677970 O'Kelley, II Mar 2010 B2
7698656 Srivastava Apr 2010 B2
7702730 Spataro Apr 2010 B2
7702784 Berstis Apr 2010 B2
7714867 Doi May 2010 B2
7719532 Schardt May 2010 B2
7719535 Tadokoro May 2010 B2
7734691 Creamer Jun 2010 B2
7737969 Shen Jun 2010 B2
7743095 Goldberg Jun 2010 B2
7747679 Galvin Jun 2010 B2
7765478 Reed Jul 2010 B2
7768514 Pagan Aug 2010 B2
7770114 Sriprakash Aug 2010 B2
7773087 Fowler Aug 2010 B2
7774407 Daly Aug 2010 B2
7780525 Walker Aug 2010 B2
7782318 Shearer Aug 2010 B2
7792263 D'Amora Sep 2010 B2
7792801 Hamilton, II Sep 2010 B2
7796128 Radzikowski Sep 2010 B2
7808500 Shearer Oct 2010 B2
7814152 McGowan Oct 2010 B2
7827318 Hinton Nov 2010 B2
7843471 Doan Nov 2010 B2
7844663 Boutboul Nov 2010 B2
7844673 Bostick Nov 2010 B2
7846024 Graepel Dec 2010 B2
7847799 Taubin Dec 2010 B2
7853594 Elder Dec 2010 B2
7856469 Chen Dec 2010 B2
7865393 Leason Jan 2011 B2
7873485 Castelli Jan 2011 B2
7882222 Dolbier Feb 2011 B2
7882243 Ivory Feb 2011 B2
7884819 Kuesel Feb 2011 B2
7886045 Bates Feb 2011 B2
7890623 Bates Feb 2011 B2
7893936 Shearer Feb 2011 B2
7904829 Fox Mar 2011 B2
7921128 Hamilton, II Apr 2011 B2
7940265 Brown May 2011 B2
7945620 Bou-Ghannam May 2011 B2
7945802 Hamilton, II May 2011 B2
7955171 Jorasch Jun 2011 B2
7970837 Lyle Jun 2011 B2
7970840 Cannon et al. Jun 2011 B2
7985132 Walker Jul 2011 B2
7985138 Acharya Jul 2011 B2
7990387 Hamilton, II Aug 2011 B2
7996164 Hamilton, II Aug 2011 B2
7997987 Johnson Aug 2011 B2
8001161 Finn Aug 2011 B2
8004518 Fowler Aug 2011 B2
8005025 Bodin Aug 2011 B2
8006182 Bates Aug 2011 B2
8013861 Hamilton, II Sep 2011 B2
8018453 Fowler Sep 2011 B2
8018462 Bhogal Sep 2011 B2
8019797 Hamilton, II Sep 2011 B2
8019858 Bauchot Sep 2011 B2
8022948 Garbow Sep 2011 B2
8022950 Brown Sep 2011 B2
8026913 Garbow Sep 2011 B2
8028021 Reisinger Sep 2011 B2
8028022 Brownholtz Sep 2011 B2
8037416 Bates Oct 2011 B2
8041614 Bhogal Oct 2011 B2
8046700 Bates Oct 2011 B2
8051462 Hamilton, II Nov 2011 B2
8055656 Cradick Nov 2011 B2
8056121 Hamilton, II Nov 2011 B2
8057307 Berstis Nov 2011 B2
8062130 Smith Nov 2011 B2
8063905 Brown Nov 2011 B2
8070601 Acharya Dec 2011 B2
8082245 Bates Dec 2011 B2
8085267 Brown Dec 2011 B2
8089481 Shearer Jan 2012 B2
8092288 Theis Jan 2012 B2
8095881 Reisinger Jan 2012 B2
8099338 Betzler Jan 2012 B2
8099668 Garbow Jan 2012 B2
8102334 Brown Jan 2012 B2
8103640 Lo Jan 2012 B2
8103959 Cannon Jan 2012 B2
8105165 Karstens Jan 2012 B2
8108774 Finn Jan 2012 B2
8113959 De Judicibus Feb 2012 B2
8117551 Cheng Feb 2012 B2
8125485 Brown Feb 2012 B2
8127235 Haggar Feb 2012 B2
8127236 Hamilton, II Feb 2012 B2
8128487 Hamilton, II Mar 2012 B2
8131740 Cradick Mar 2012 B2
8132235 Bussani Mar 2012 B2
8134560 Bates Mar 2012 B2
8139060 Brown Mar 2012 B2
8139780 Shearer Mar 2012 B2
8140340 Bhogal Mar 2012 B2
8140620 Creamer Mar 2012 B2
8140978 Betzler Mar 2012 B2
8140982 Hamilton, II Mar 2012 B2
8145676 Bhogal Mar 2012 B2
8145725 Dawson Mar 2012 B2
8149241 Do Apr 2012 B2
8151191 Nicol, II Apr 2012 B2
8156184 Kurata Apr 2012 B2
8165350 Fuhrmann Apr 2012 B2
8171407 Huang May 2012 B2
8171408 Dawson May 2012 B2
8171559 Hamilton, II May 2012 B2
8174541 Greene May 2012 B2
8176421 Dawson May 2012 B2
8176422 Bergman May 2012 B2
8184092 Cox May 2012 B2
8184116 Finn May 2012 B2
8185450 McVey May 2012 B2
8185829 Cannon May 2012 B2
8187067 Hamilton, II May 2012 B2
8199145 Hamilton, II Jun 2012 B2
8203561 Carter Jun 2012 B2
8214335 Hamilton, II Jul 2012 B2
8214433 Dawson Jul 2012 B2
8214750 Hamilton, II Jul 2012 B2
8214751 Dawson Jul 2012 B2
8217953 Comparan Jul 2012 B2
8219616 Dawson Jul 2012 B2
8230045 Kawachiya Jul 2012 B2
8230338 Dugan Jul 2012 B2
8233005 Finn Jul 2012 B2
8234234 Shearer Jul 2012 B2
8234579 Do Jul 2012 B2
8239775 Beverland Aug 2012 B2
8241131 Bhogal Aug 2012 B2
8245241 Hamilton, II Aug 2012 B2
8245283 Dawson Aug 2012 B2
8265253 D'Amora Sep 2012 B2
8310497 Comparan Nov 2012 B2
8334871 Hamilton, II Dec 2012 B2
8360886 Karstens Jan 2013 B2
8364804 Childress Jan 2013 B2
8425326 Chudley Apr 2013 B2
8442946 Hamilton, II May 2013 B2
8489925 Antukh Jul 2013 B1
8496531 Youm Jul 2013 B2
8506372 Chudley Aug 2013 B2
8514249 Hamilton, II Aug 2013 B2
8554841 Kurata Oct 2013 B2
8607142 Bergman Dec 2013 B2
8607356 Hamilton, II Dec 2013 B2
8624903 Hamilton, II Jan 2014 B2
8626836 Dawson Jan 2014 B2
8692835 Hamilton, II Apr 2014 B2
8696465 Gatto Apr 2014 B2
8721412 Chudley May 2014 B2
8827816 Bhogal Sep 2014 B2
8838640 Bates Sep 2014 B2
8849917 Dawson Sep 2014 B2
8911296 Chudley Dec 2014 B2
8992316 Smith Mar 2015 B2
9083654 Dawson Jul 2015 B2
9152914 Haggar Oct 2015 B2
9205328 Bansi Dec 2015 B2
9286731 Hamilton, II Mar 2016 B2
9299080 Dawson Mar 2016 B2
9364746 Chudley Jun 2016 B2
9525746 Bates Dec 2016 B2
9583109 Kurata Feb 2017 B2
9682324 Bansi Jun 2017 B2
9764244 Bansi Sep 2017 B2
9789406 Marr Oct 2017 B2
9795887 Lin Oct 2017 B2
9808722 Kawachiya Nov 2017 B2
9827488 Pearce Nov 2017 B2
9942013 Malladi Apr 2018 B2
20010032240 Malone Oct 2001 A1
20020002514 Kamachi Jan 2002 A1
20020007319 Yu Jan 2002 A1
20020026388 Roebuck Feb 2002 A1
20020035480 Gordon Mar 2002 A1
20020035593 Salim Mar 2002 A1
20020043568 Hess Apr 2002 A1
20020065870 Baehr-Jones May 2002 A1
20020095586 Doyle Jul 2002 A1
20020096831 Nakayama Jul 2002 A1
20020097856 Wullert Jul 2002 A1
20020116466 Trevithick Aug 2002 A1
20020124137 Ulrich Sep 2002 A1
20020130904 Becker Sep 2002 A1
20020135618 Maes Sep 2002 A1
20020169665 Hughes Nov 2002 A1
20020184373 Maes Dec 2002 A1
20020184391 Phillips Dec 2002 A1
20020188688 Bice Dec 2002 A1
20030008712 Poulin Jan 2003 A1
20030014297 Kaufman Jan 2003 A1
20030032476 Walker Feb 2003 A1
20030050977 Puthenkulam Mar 2003 A1
20030055892 Huitema Mar 2003 A1
20030056002 Trethewey Mar 2003 A1
20030076353 Blackstock Apr 2003 A1
20030101343 Eaton May 2003 A1
20030112952 Brown Jun 2003 A1
20030135621 Romagnoli Jul 2003 A1
20030141977 Brown Jul 2003 A1
20030145128 Baird Jul 2003 A1
20030149675 Ansari Aug 2003 A1
20030158827 Ansari Aug 2003 A1
20030177187 Levine Sep 2003 A1
20030195957 Banginwar Oct 2003 A1
20030210265 Haimberg Nov 2003 A1
20040014514 Yacenda Jan 2004 A1
20040054667 Kake Mar 2004 A1
20040059781 Yoakum Mar 2004 A1
20040078432 Manber Apr 2004 A1
20040078596 Kent Apr 2004 A1
20040088303 Elder May 2004 A1
20040097287 Postrel May 2004 A1
20040103079 Tokusho May 2004 A1
20040113756 Mollenkopf Jun 2004 A1
20040127277 Walker Jul 2004 A1
20040128181 Zurko Jul 2004 A1
20040172339 Snelgrove Sep 2004 A1
20040174392 Bjoernsen Sep 2004 A1
20040186886 Galli et al. Sep 2004 A1
20040205134 Digate Oct 2004 A1
20040210627 Kroening Oct 2004 A1
20040228291 Huslak Nov 2004 A1
20040244006 Kaufman Dec 2004 A1
20040260771 Gusler et al. Dec 2004 A1
20050015571 Kaufman Jan 2005 A1
20050021484 Bodin Jan 2005 A1
20050027696 Swaminathan Feb 2005 A1
20050050137 Bodin Mar 2005 A1
20050060368 Wang Mar 2005 A1
20050071428 Khakoo Mar 2005 A1
20050071462 Bodin Mar 2005 A1
20050080859 Lake Apr 2005 A1
20050091380 Gonen Apr 2005 A1
20050097440 Lusk May 2005 A1
20050113164 Buecheler May 2005 A1
20050132009 Solie Jun 2005 A1
20050138108 Galvin Jun 2005 A1
20050149620 Kirkland Jul 2005 A1
20050161878 Nally Jul 2005 A1
20050165893 Feinberg Jul 2005 A1
20050216346 Kusumoto Sep 2005 A1
20050223075 Swearingen et al. Oct 2005 A1
20050246711 Berstis Nov 2005 A1
20050277472 Gillan Dec 2005 A1
20060003305 Kelmar Jan 2006 A1
20060004659 Hutchison Jan 2006 A1
20060026253 Kessen Feb 2006 A1
20060031322 Kessen Feb 2006 A1
20060031326 Ovenden Feb 2006 A1
20060036688 McMahan Feb 2006 A1
20060121990 O'Kelley Jun 2006 A1
20060128460 Muir Jun 2006 A1
20060129643 Nielson Jun 2006 A1
20060155813 Dietz et al. Jul 2006 A1
20060160589 Okada Jul 2006 A1
20060161852 Chen Jul 2006 A1
20060178968 Jung Aug 2006 A1
20060184260 Graepel Aug 2006 A1
20060190591 Bobde Aug 2006 A1
20060252526 Walker Nov 2006 A1
20060258463 Cugno Nov 2006 A1
20070026934 Herbrich Feb 2007 A1
20070066403 Conkwright Mar 2007 A1
20070073582 Jung Mar 2007 A1
20070106526 Jung May 2007 A1
20070111789 van Deursen May 2007 A1
20070112624 Jung May 2007 A1
20070112706 Herbrich May 2007 A1
20070117623 Nelson May 2007 A1
20070130001 Jung Jun 2007 A1
20070168444 Chen Jul 2007 A1
20070168447 Chen Jul 2007 A1
20070173323 Johnson Jul 2007 A1
20070180040 Etgen Aug 2007 A1
20070265718 Graepel Nov 2007 A1
20070281285 Jayaweera Dec 2007 A1
20070298867 Huang Dec 2007 A1
20080019353 Foote Jan 2008 A1
20080059304 Kimsey Mar 2008 A1
20080064467 Reiner Mar 2008 A1
20080113815 Weingardt May 2008 A1
20080126350 Shoemaker May 2008 A1
20080155019 Wallace Jun 2008 A1
20080176655 James Jul 2008 A1
20080207329 Wallace Aug 2008 A1
20080214287 Lutnick Sep 2008 A1
20080242420 Graepel Oct 2008 A1
20080254893 Patel Oct 2008 A1
20080268943 Jacob Oct 2008 A1
20080270605 Berstis Oct 2008 A1
20080270916 Chen Oct 2008 A1
20080301405 Kaufman Dec 2008 A1
20090005172 Shibahara Jan 2009 A1
20090075738 Pearce Mar 2009 A1
20090088233 O'Rourke Apr 2009 A1
20090113448 Smith Apr 2009 A1
20090137320 Kimura May 2009 A1
20090253494 Fitch Oct 2009 A1
20090325711 Bronstein Dec 2009 A1
20100304839 Johnson Dec 2010 A1
20100306672 McEniry Dec 2010 A1
20110190063 Kajii Aug 2011 A1
20120009997 Youm Jan 2012 A1
20120010734 Youm Jan 2012 A1
20120021823 Youm Jan 2012 A1
20120021825 Harp Jan 2012 A1
20120064968 Youm Mar 2012 A1
20120122552 Youm May 2012 A1
20130225260 Cudak Aug 2013 A1
20130252737 Mescon Sep 2013 A1
20130296046 Mianji Nov 2013 A1
20140004955 Nahari Jan 2014 A1
20140004960 Soti Jan 2014 A1
20140011595 Muller Jan 2014 A1
20140162763 Kim Jun 2014 A1
20140162781 Butler Jun 2014 A1
20140274402 Michel Sep 2014 A1
20140344725 Bates Nov 2014 A1
20140349753 Imai Nov 2014 A1
20150031426 Alloway Jan 2015 A1
20150038233 Rom Feb 2015 A1
20150310698 Polis Oct 2015 A1
20160001181 Marr Jan 2016 A1
20160001182 Marr Jan 2016 A1
20160001186 Marr Jan 2016 A1
20160005270 Marr Jan 2016 A1
20160067611 Ware Mar 2016 A1
20160067612 Ntoulas Mar 2016 A1
20160191671 Dawson Jun 2016 A1
20160296840 Kaewell Oct 2016 A1
20180169515 Rice Jun 2018 A1
20190081848 Zou Mar 2019 A1
Foreign Referenced Citations (99)
Number Date Country
768367 Mar 2004 AU
2005215048 Oct 2011 AU
2143874 Jun 2000 CA
2292678 Jul 2005 CA
2552135 Jul 2013 CA
1334650 Feb 2002 CN
1202652 Oct 2002 CN
1141641 Mar 2004 CN
1494679 May 2004 CN
1219384 Sep 2005 CN
1307544 Mar 2007 CN
100407675 Jul 2008 CN
100423016 Oct 2008 CN
100557637 Nov 2009 CN
101001678 May 2010 CN
101436242 Dec 2010 CN
101801482 Dec 2014 CN
668583 Aug 1995 EP
0627728 Sep 2000 EP
0717337 Aug 2001 EP
1207694 May 2002 EP
1209849 May 2002 EP
0679977 Oct 2002 EP
0679978 Mar 2003 EP
0890924 Sep 2003 EP
1377902 Aug 2004 EP
0813132 Jan 2005 EP
1380133 Mar 2005 EP
1021021 Sep 2005 EP
0930584 Oct 2005 EP
0883087 Aug 2007 EP
1176828 Oct 2007 EP
2076888 Jul 2015 EP
2339938 Oct 2002 GB
2352154 Jul 2003 GB
H11191097 Apr 1999 JP
11191097 Jul 1999 JP
3033956 Apr 2000 JP
3124916 Jan 2001 JP
2001119403 Apr 2001 JP
3177221 Jun 2001 JP
2001204973 Jul 2001 JP
3199231 Aug 2001 JP
2001230883 Aug 2001 JP
3210558 Sep 2001 JP
3275935 Feb 2002 JP
3361745 Jan 2003 JP
3368188 Jan 2003 JP
3470955 Sep 2003 JP
3503774 Dec 2003 JP
2004062539 Feb 2004 JP
3575598 Jul 2004 JP
3579823 Jul 2004 JP
3579154 Oct 2004 JP
3701773 Oct 2005 JP
3777161 Mar 2006 JP
3914430 Feb 2007 JP
3942090 Apr 2007 JP
3962361 May 2007 JP
4009235 Sep 2007 JP
4225376 Dec 2008 JP
4653075 Dec 2010 JP
5063698 Aug 2012 JP
5159375 Mar 2013 JP
5352200 Nov 2013 JP
5550720 Jul 2014 JP
2015002839 Jan 2015 JP
5734566 Jun 2015 JP
20020038229 May 2002 KR
20030039019 May 2003 KR
117864 Aug 2004 MY
55396 Dec 1998 SG
424213BB Mar 2001 TW
527825BB Apr 2003 TW
200836091 Sep 2008 TW
200937926 Sep 2009 TW
201002013 Jan 2010 TW
201009746 Mar 2010 TW
201024997 Jul 2010 TW
201028871 Aug 2010 TW
0060444 Oct 2000 WO
0062231 Oct 2000 WO
0137162 May 2001 WO
0201455 Jan 2002 WO
0203645 Jan 2002 WO
2002073457 Sep 2002 WO
20020087156 Oct 2002 WO
03044755 May 2003 WO
03049459 Jun 2003 WO
03058518 Jul 2003 WO
2004086212 Oct 2004 WO
2005079538 Sep 2005 WO
2007101785 Sep 2007 WO
2008037599 Apr 2008 WO
2008074627 Jun 2008 WO
2008095767 Aug 2008 WO
2009037257 Mar 2009 WO
2009104564 Aug 2009 WO
2010096738 Aug 2010 WO
Non-Patent Literature Citations (41)
Entry
Office Action dated Oct. 19, 2017 for U.S. Appl. No. 14/712,514; (pp. 1-12).
Office Action dated Mar. 14, 2018 for U.S. Appl. No. 14/712,541 (pp. 1-16).
Office Action dated Mar. 14, 2018 for U.S. Appl. No. 15/703,757.
Duong et al; “A dynamic load sharing algorithm for massivly multiplayer online games” published Sep. 28, 2003-Oct. 1, 2003.http://ieeexplore.ieee.org/iel5/8945/28322/01266179.pdf?tp=&arnumber- =1266179&isnumber=28322http://ieeexplore.ieee.org/xpl/absprintf.jsp?arnumb- er=1266179.
“A multi-server architecture for distributed virtual walkthrough” http://delivery.acm.org/10.1145/590000/585768/p163-ng.pdf?key1=585768&key-2=0554824911&coll=GUIDE&dl=GUIDE&CFID=41712537&CFTOKEN=50783297.
Mauve, M., Fischer, S., and Widmer, J. 2002. A generic proxy system for networked computer games. In Proceedings of the 1st Workshop on Network and System Support for Games (Braunschweig, Germany, Apr. 16-17, 2002). NetGames '02. ACM, New York, NY, 25-28. DOI= http://doi.acm.org/10.1145/566500.566504.
IBM developer Works, OptimalGrid—autonomic computing on the Grid, James H. Kaufman; Tobin J. Lehman; Glenn Deen; and John Thomas, Jun. 2003.
IBM, Transcoding: Extending e-business to new environments, Britton et al., Sep. 22, 2000.
Lee et al., “A Self-Adjusting Data Distribution Mechanism for Multidimensional Load Balancing in Multiprocessor-Based Database Systems,” Information Systems vol. 19, No. 7, pp. 549-567, 1994.
Ma et al., “A Scalable Parallel Cell-Projection Volume Rendering Algorithm for Three-Dimensional Unstructured Data”, IEEE 1997, pp. 1-10.
Feng et al., “A Parallel Hierarchical Radiosity Algorithm for Complex Scenes,” Proceedings IEEE Symposium on Parallel Rendering (PRS) '97), IEEE Computer Society Technical Committee on Computer Graphics in cooperation with ACM SIGGRAPH pp. 71-79, 1997.
Hassen et al., “A Task-and Data-Parallel Programming Language Based on Shared Objects,” ACM Transactions on Programming Languages and Systems, vol. 20, No. 6, Nov. 1998, pp. 1131-1170.
Andert, “A Simulation of Dynamic Task Allocation in a Distributed Computer System,” Proceedings of the 1987 Winter Simulation Conference, 1987, pp. 1-9.
Supplementary European Search from the European Patent Office for EP05723458.5, dated Jul. 19, 2010.
International Search Report as Published as WO2005/079538 in corresponding international application No. PCT/US2005/005550. Dated Jul. 5, 2006.
K. Loesing et al., “Privacy-aware presence management in instant messaging systems”, Distributed & Mobile Syst. Group, Otto-Friedrich-Univ. Germany, Proceedings. 20th International Parallel and Distributed Processing Symposium Rhodes Island, Greece; (IEEE Cat. No. 06TH8860), 2006, 8 pp.
Y. Zhao et al., “A 3D virtual shopping mall that has the intelligent virtual purchasing guider and cooperative purchasing functionalities”, CSCWD 2004—8th International Conference on Computer Supported Cooperative Work in Design—Proceedings, 2004, p. 381-385.
V. Stojanovic, “Virtual boutique-try clothes on-line”, 5th International Conference on Telecommunications in Modern Satellite, Cable and Broadcasting Service. Telsiks 2001. Proceedings of Papers (Cat. No. 01EX517), 2001, pt. 2, p. 802-3 vol. 2.
Roaming Virtual World Is a Real Trip; [Final Edition] Leslie Walker. The Washington Post. Washington, D.C.: Mar. 30, 2006.
E-Entrepreneurship: Learning in a Simulated Environment Salim Jiwa, Dawn Lavelle, Arjun Rose. Journal of Electronic Commerce in Organizations. Hershey: Jul.-Sep. 2005. vol. 3, Iss. 3.
Kautz, H., B. Selman, M. Shah.. “Referral Web: Combining Social Networks and Collaborative Filtering”. Communications of the ACM, vol. 40, No. 3, Mar. 1997.
Schwartz, M. F., D. C. M. Wood. “Discovering shared interests among people using graph analysis of global electronic mail traffic”. Department of Computer Science, University of Colorado, Boulder CO. Oct. 1992.
Wellman, B. “For a social network analysis of computer networks: a sociological perspective on collaborative work and virtual community”. Proceedings of the 1996 conference on ACM SIGCPR/SIGMIS. 1-11.
Qureshi, S. “Supporting electronic group processes: a social perspective”. Proceedings of the 1995 ACM SIGCPR Conference on Supporting teams, groups, and learning inside the IS function. ACM Press. 24-34.
Ackerman, M.S., B. Starr. “Social activity indicators: interface components for CSCW systems”. Proceedings of the 8th ACM Symposium on User Interface and Software Technology. ACM Press. 159-168, Nov. 14-17, 1995.
Garton, L., C. Haythornthwaite, B. Wellman. “Studying on-line social networks in Doing Internet Research”, Jun. 1997.
Srivastava, Jaidepp, Robert Cooley, Mukund Deshpande, Pang-Ning Tan. “Web Usage Mining: Discovery and Applications of Usage Patterns from Web Data”. SIGKDD Explorations, vol. 1, Issue 2. Jan. 2000. 12-23.
Wang, Y. “Web Mining and Knowledge Discovery of Usage Patterns”. CS748T Project (Part I) Feb. 2000.
Sack, W. “Conversation Map: a content-based Usenet newsgroup browser”. Proceedings of the 2000 International Conference on Intelligent User Interfaces. ACM Press. 233-240.
Feldman, R. “Mining unstructured data”. Tutorial notes for ACK SIGKDD 1999. ACM Press. 182-236.
“Universally Unique Identifier”, 2006 (http://en.wikipedia.org/wiki/UUID).
Office Action dated May 24, 2018 for U.S. Appl. No. 14/712,359 (pp. 1-20).
Office Action dated Sep. 21, 2018 for U.S. Appl. No. 14/712,608 (pp. 1-9).
Notice of Allowance dated Dec. 21, 2018 for U.S. Appl. No. 14/712,541 (pp. 1-9).
Notice of Allowance dated Jan. 30, 2019 for U.S. Appl. No. 14/712,359 (pp. 1-8).
Notice of Allowance dated Jan. 30, 2019 for U.S. Appl. No. 14/712,514 (pp. 1-11).
Office Action dated Mar. 24, 2017 for U.S. Appl. No. 14/712,514.
Office Action dated Jan. 20, 2017 for U.S. Appl. No. 14/712, 566.
Notice of Allowance dated Jun. 14, 2017 for U.S. Appl. No. 14/712,566 (pp. 1-9).
Office Action dated Feb. 13, 2017 for U.S. Appl. No. 14/712,541.
Office Action dated Aug. 7, 2017 for U.S. Appl. No. 14/712,541 (pp. 1-16).
Related Publications (1)
Number Date Country
20190091582 A1 Mar 2019 US