U.S. Pat. No. 10,013,134
SYSTEM AND METHOD FOR DETERMINING QUALITY OF SERVICE IN A VIDEO GAME BASED ON PRIORITY
AssigneeELECTRONIC ARTS INC.
Issue DateDecember 4, 2012
Illustrative Figure
Abstract
A virtual space may be provided to users. In providing the virtual space to users, actions performed in the virtual space responsive to user input may be dynamically assigned a quality of service that is dependent on one or more of user value, past user action requests, past action requests cumulatively for all users, server health, and/or other criteria. This may facilitate an operator of the virtual space increasing overall user engagement and/or value, and/or provide other enhancements.
Description
DETAILED DESCRIPTION FIG. 1illustrates a system10configured to provide a virtual space to users. System10is configured such that limited processing, storage, communication bandwidth, and/or other resources may be allocated to user requests based on one or more of user value, activities of the individual users in the virtual space, activities of the users cumulatively in the virtual space, server health, and/or other parameters. This may be done by dynamically assigning quality of service to actions performed responsive to users requests based on the aforementioned (and/or other) parameters. User value for individual users may be determined based on past monetary expenditures in the virtual space, engagement with the virtual space, and/or other parameters. In some implementations, system10may include a server12. Server12may be configured to communicate with one or more client computing platforms14according to a client/server architecture. The users may access system10and/or the virtual game environment via client computing platforms14. Server12may be configured to execute one or more computer program modules. The computer program modules may include one or more of an a space module16, a user account module18, a financial value module20, an engagement module22, a user value module24, a user activity module26, an instance activity module28, a server health module30, a quality of service module32, and/or other modules. Space module16may be configured to host a virtual space for access by users via client computing platforms14. This may include executing an instance of the virtual space, and implementing the instance of the virtual space to determine view information representing views of the virtual space. The view information may then be communicated from server12to client computing platforms14to facilitate presentation of the views to the users. The users may participate in the virtual space by inputting input commands to their respective client computing platforms14that request an action to be taken within the instance of ...
DETAILED DESCRIPTION
FIG. 1illustrates a system10configured to provide a virtual space to users. System10is configured such that limited processing, storage, communication bandwidth, and/or other resources may be allocated to user requests based on one or more of user value, activities of the individual users in the virtual space, activities of the users cumulatively in the virtual space, server health, and/or other parameters. This may be done by dynamically assigning quality of service to actions performed responsive to users requests based on the aforementioned (and/or other) parameters. User value for individual users may be determined based on past monetary expenditures in the virtual space, engagement with the virtual space, and/or other parameters.
In some implementations, system10may include a server12. Server12may be configured to communicate with one or more client computing platforms14according to a client/server architecture. The users may access system10and/or the virtual game environment via client computing platforms14.
Server12may be configured to execute one or more computer program modules. The computer program modules may include one or more of an a space module16, a user account module18, a financial value module20, an engagement module22, a user value module24, a user activity module26, an instance activity module28, a server health module30, a quality of service module32, and/or other modules.
Space module16may be configured to host a virtual space for access by users via client computing platforms14. This may include executing an instance of the virtual space, and implementing the instance of the virtual space to determine view information representing views of the virtual space. The view information may then be communicated from server12to client computing platforms14to facilitate presentation of the views to the users. The users may participate in the virtual space by inputting input commands to their respective client computing platforms14that request an action to be taken within the instance of the virtual space (e.g., manipulate an object, control a character, speak to another character, and/or other actions). The input commands may be transmitted from client computing platforms14to server12, and received by space module16. Responsive to reception of the input commands, space module16may initiate the requested actions in the instance of the virtual space such that the actions are reflected in the views of the virtual space determined by space module16.
A virtual space may comprise a simulated space that is accessible by users via clients (e.g., client computing platforms14) that present the views of the virtual space to a user. The simulated space may have a simulated physical layout, express ongoing real-time interaction by one or more users, and/or be constrained by simulated physics that governs interactions between virtual objects in the simulated space. In some instances, the simulated physical layout may be a 2-dimensional layout. In other instances, the simulated physical layout may be a 3-dimensional layout. An instance of a virtual space may be persistent. That is, the instance of the virtual space may continue to exist whether or not any given user (or set of users) are currently logged in and/or receiving view information.
The above description of virtual spaces is not intended to be limiting. Space module16may be configured to express the virtual space in a more limited, or more rich, manner. For example, views of the virtual space presented to the users may be selected from a limited set of graphics depicting an event in a given place within the virtual space. The views may include additional content (e.g., text, audio, pre-stored video content, movable icons, avatars, and/or other content) that describes particulars of the current state of the space, beyond the relatively generic graphics. For example, a view of the virtual space may depict a given location in a relatively static manner that may or may not include representations of the characters present at the location. Text may be used to express the actions of the characters present at the location (and/or effects of the actions), and/or actions of the characters (and/or effects) may be represented with a relatively limited set of still images and/or short animations. For example, a battle, a meeting, a game, and/or other activities at the given location may be depicted in this manner. Other expressions of individual places within the virtual space are contemplated.
Within the instance of the virtual space (or other virtual environment) executed by space module16, users may control avatars to interact with the virtual space and/or each other. As used herein, the term “avatar” may refer to an object (or group of objects) present in the virtual space that represents an individual user. The avatar may be controlled by the user with which it is associated. The avatars may move through and interact with the virtual space (e.g., non-user characters in the virtual space, other objects in the virtual space), or the avatars may be relatively static visually within views of virtual space. The avatar representing a given user may be created and/or customized by the given user. The user may have an “inventory” of virtual goods and/or currency that the user can use (e.g., by manipulation of an avatar or other user controlled element, and/or other items), display, gift, and/or otherwise interact with within the virtual space.
User account module18may be configured to manage accounts associated with the individual users. The accounts may include user information associated with the individual users. Such user information may include one or more of identification information, inventory information, financial information, relationship information, information related to the users determined by one or more of the other modules16,20,22,24,26,28,30, and/or32, demographic information, usage information, past purchase history, and/or other information related to the users. The identification information may include one or more of a username, an avatar name, a real world identification, and/or other identification information. The inventory information may identify virtual objects, virtual currency, and/or other assets available to the users. The virtual objects and/or virtual currency available to a given user may include the virtual objects and/or the virtual currency that is under the control of the given user within the virtual space. The financial information may include payment information such as an account identification that identifies an account that can be used by the user to purchase virtual goods and/or virtual currency for use within the virtual space. The funds available in the account may include real world money or funds, virtual money or funds that are not usable within the virtual space, and/or other funds. The relationship information may indicate associations between users. These associations may include one or more of friendships, links, guild-mates, faction-mates, and/or other relationships. The associations may be formed affirmatively by the users (e.g., through a request and answer), formed intrinsically within the virtual space (e.g., faction-mates are formed based on avatar configuration), recognized through user behavior over time (e.g., raid members or player-versus-player partners), and/or other associations.
Financial value module20may be configured to determine values of a financial value metric for the individual users. The value of the financial value metric determined for a given user may quantify the financial value of the given user to an operator of the virtual space (e.g., an operator of system10). Values for the financial value metric may be determined based on expenditures by the users in the virtual space. The expenditures used to determine financial value metric may include expenditures by the users having quantifiable real world value. By way of non-limiting example, such expenditures may include one or more of a purchase of a virtual currency for use in the virtual space with real world value (e.g., with real world funds, with virtual funds not usable within the virtual space, and/or with other real world value), a purchase of a virtual good for use in the virtual space with real world value, a purchase of a virtual good for use in the virtual space with virtual currency of the virtual space (e.g., virtual currency that was previously purchased with real world value), other purchases for use in the virtual space, a subscription level of the user, and/or other expenditures.
Financial value module20may be configured to determine values of the financial value metric based on other parameters instead of or along with expenditures in determining values of the financial value metric. For example, a first user may be more financially valuable than a second user based on an advertizing conversion rate of the first user. That is, the first user may take actions with respect to advertisements that are presented within the virtual space that enable the virtual space operator to collect money from an advertiser. These actions may include one or more of accessing an external website associated with an advertisement (e.g., through selection of a link), purchasing an advertised good and/or service, and/or other actions that are chargeable by the virtual space operator to an advertiser. As another non-limiting example, a first user may be more financially valuable than a second user based on a number of new users the first user brings to the virtual space. Other parameters for determining values of financial value metric for the users may be used.
Financial value module20may be configured such that the values of the financial value metric are determined based on a temporally limited amount of information. For example, expenditures and/or other actions may be included determination of the financial value metric only if they have taken place within some sliding window of time (e.g., the previous week, month, year, etc.). Financial value module20may be configured such that determination of the values of the financial value metric includes weighting expenditures and/or other actions based on the time at which they occurred. This may ensure that expenditures and/or actions that have occurred more recently are more heavily reflected in the quantification provided by the values of the financial value metric.
Engagement module22may be configured to determine values of an engagement metric for the individual users. The value of the engagement metric determined for a given user may quantify the level of engagement of the given user in the virtual space. The value of the engagement metric for the given user may be determined based on, for example, one or more of a length of time the given user has had an account in the virtual space, a length of usage session(s) of the given user (e.g., an average usage session length), usage session frequency, a period of between a current usage session and a previous usage session, a number of friendships the given user has with other users, a level of the user in the virtual space, and/or other mechanisms for quantifying user engagement. Engagement module22may be configured such that the usage sessions and/or actions used to determine values for the engagement metric may be temporally limited. For example, usage sessions and/or actions may be included in determination of the engagement metric only if they have taken place within some sliding window of time (e.g., the previous week, month, year, etc.). Engagement module22may be configured such that determination of the values of the engagement metric includes weighting usage session and/or actions based on the time at which they occurred. This may ensure that expenditures and/or actions that have occurred more recently are more heavily reflected in the quantification provided by the values of the engagement metric.
User value module24may be configured to determine user values of the individual users of the virtual space. The user values may reflect the financial value of the individual users, the engagement of the individual users, and/or other aspects of the relationship between the individual users and the virtual space or the operator thereof. The user values may be determined based on one or both of the financial value metric and/or the engagement metric determined by modules20and22, respectively. Determination of the user values may include determining values of a user value metric for the individual users.
In determining values of the user value metric, user value module24may be configured to implement the values of the financial value metric. The determination of the values of the user value metric may be configured such that the higher a value for the financial value metric determined for a given user, the higher the value of the user value metric for the given user will be. This may ensure that users that are more financially valuable are determined to have relatively higher user value, while users that are less financially valuable are determined to have relatively less user value.
In determining values of the user value metric, user value module24may be configured to implement the values of the engagement metric. The determination of the values of the user value metric may be configured such that the higher a value for the engagement metric determined for a given user, the lower the value of the user value metric for the given user will be. Conversely, a relatively low value for the engagement metric for the given user may produce a higher value of the user value metric for the given user. At first, this determination may seem counterproductive, but this relationship between the engagement metric and the user value metric may be effective at enhancing overall user engagement.
For example, users having lower levels of engagement with the virtual space may be viewed as having greater potential for increasing in value than users having higher levels of engagement. By way of illustration, a user that is new to the virtual space or a user that used to participate in the virtual space but has been absent for some time, may not be determined to have high values for the engagement metric. However, each of these users have the potential to become more engaged in the virtual space, which may lead to the users becoming far more financially valuable to the operator of the virtual space than they currently are. On the other hand, users that are heavily engaged in the virtual space may be unlikely to significantly increase in financial value to the operator of the virtual space. As such, this determination of user value may result in server resources being allocated to users in a manner that may enhance future financial value of users.
User activity module26may be configured to monitor actions performed in the instance of the virtual space responsive to input commands received from the individual users on a per-action-type basis. The action types may include, for example, one or more of an attack type, a defense type, an exploring type, a travel type, a resource cultivation and/or extraction type, and/or other types. Such monitoring may include determining metrics for a given user on a given action-type based on one or more of an action-type frequency, a number of actions within the action-type performed in a given time period, and/or other parameters of action performance within the given action-type.
Instance activity module28may be configured to monitor actions performed in the instance of the virtual space responsive to input commands received from the users cumulatively on a per-action-type basis. Such monitoring may include determining metrics for a given action-type based on one or more of an action-type frequency, a number of actions within the action-type performed in a given time period, and/or other parameters of action performance within the given action-type.
Server health module30may be configured to monitor a health level of server12. The health of server12may be quantified by one or more parameters that indicate responsiveness and/or functionality of server12. For example, server health module30may be configured to determine one or more of CPU usage, available storage space, a proportion of CPU cycles waiting for 10 (e.g., disk or network) events (or “10 wait”), a proportion CPU cycles spent performing kernel-level processing (or “System”), a proportion of CPU cycles spent performing user instigated processing (or “User”), spare CPU capacity (or “Idle”), load average, disk10, network traffic, RAM usage, system uptime, and/or other parameters.
Quality of service module32may be configured to determine quality of service to be provided by space module16in initiating and/or carrying out individual actions requested by input commands from the users. The quality of service determined for and/or assigned to a given action by quality of service module32may impact the resources dedicated to the action by space module16. Such resources may include, for example, processing, storage, communication bandwidth, and/or other resources. The quality of service assigned to the given action may impact the speed at which the action is initiated and/or performed, a resolution of the representation of the action in the views of the virtual space, an effectiveness of the action in the virtual space, a rate at which the given action will be executed for the user in response to successive requests (and/or a waiting time between performance of the given action) (a higher rate would correspond to a higher quality of service), and/or other factors of the action.
Quality of service module32may be configured such that the quality of service determined for a given action requested by a given user may be based on one or more of the user value of the given user, an activity level of the given user for the action-type of the requested action, an activity level of the users cumulatively for the action-type of the requested action, the health of server12, and/or other parameters. Quality of service module32may be configured such that responsive to the given user having a higher user value, the requested action will be assigned a higher quality of service, and responsive to the given user having a lower user value, the requested action will be assigned a lower quality of service. Quality of service module32may be configured such that responsive to the activity level of the given user for the action-type of the requested action being high, the requested action will be assigned a lower quality of service, and vice versa. Quality of service module32may be configured such that responsive to the activity level of the users cumulatively for the action-type of the requested action being high, the requested action will be assigned a lower quality of service, and vice versa. Quality of service module32may be configured such that the more healthy server12is, the higher the quality of service assigned to requested action will be.
Space module16may be configured such that subsequent to the requested action being assigned a quality of service, space module16may initiate the requested action with the assigned quality of service. This may ensure that actions requested by the users may be executed by space module16with the appropriate quality of service.
In some implementations,12server and client computing platforms14may be operatively linked via one or more electronic communication links. For example, such electronic communication links may be established, at least in part, via a network such as the Internet and/or other networks. It will be appreciated that this is not intended to be limiting, and that the scope of this disclosure includes implementations in which server12and/or client computing platforms14.
A given client computing platform14may include one or more processors, and electronic display, a control interface, and/or other components. The one or more processors may be configured to execute computer program modules. The computer program modules may be configured to enable or user associated with the given client computing platform14to interface with system10, and/or provide other functionality attributed herein to client computing platforms14. For example, the computer program modules may include a view module configured to receive view information from server12(e.g., generated by space module16), and to present a view of the virtual game environment (e.g., as described above) based on the received view information. This may facilitate participation by the user of the given client computing platform14in the game taking place in the virtual game environment. By way of non-limiting example, the given client computing platform14may include one or more of a desktop computer, a laptop computer, a handheld computer, a tablet computing platform, a NetBook, a Smartphone, a gaming console, and/or other computing platforms.
The server12may include electronic storage50, one or more processors52, and/or other components. The server12may include communication lines, or ports to enable the exchange of information with a network and/or other computing platforms. Illustration of server12inFIG. 1is not intended to be limiting. The server12may include a plurality of hardware, software, and/or firmware components operating together to provide the functionality attributed herein to server12. For example, server12may be implemented “in the cloud” by a plurality of computing platforms operating together as server12.
Electronic storage50may comprise electronic storage media that electronically stores information. The electronic storage media of electronic storage50may include one or both of system storage that is provided integrally (i.e., substantially non-removable) with server50and/or removable storage that is removably connectable to server50via, for example, a port (e.g., a USB port, a firewire port, etc.) or a drive (e.g., a disk drive, etc.). Electronic storage50may include one or more of optically readable storage media (e.g., optical disks, etc.), magnetically readable storage media (e.g., magnetic tape, magnetic hard drive, floppy drive, etc.), electrical charge-based storage media (e.g., EEPROM, RAM, etc.), solid-state storage media (e.g., flash drive, etc.), and/or other electronically readable storage media. The electronic storage50may include one or more virtual storage resources (e.g., cloud storage, a virtual private network, and/or other virtual storage resources). Electronic storage50may store software algorithms, information determined by processor52, information received from server12, information received from client computing platforms14, and/or other information that enables server12to function as described herein.
Processor(s)52is configured to provide information processing capabilities in server12. As such, processor52may include one or more of a digital processor, an analog processor, a digital circuit designed to process information, an analog circuit designed to process information, a state machine, and/or other mechanisms for electronically processing information. Although processor52is shown inFIG. 1as a single entity, this is for illustrative purposes only. In some implementations, processor52may include a plurality of processing units. These processing units may be physically located within the same device, or processor52may represent processing functionality of a plurality of devices operating in coordination. The processor52may be configured to execute modules16,18,20,22,24,26,28,30, and/or32. Processor52may be configured to execute modules16,18,20,22,24,26,28,30, and/or32by software; hardware; firmware; some combination of software, hardware, and/or firmware; and/or other mechanisms for configuring processing capabilities on processor52.
It should be appreciated that although modules16,18,20,22,24,26,28,30, and32are illustrated inFIG. 1as being co-located within a single processing unit, in implementations in which processor52includes multiple processing units, one or more of modules16,18,20,22,24,26,28,30, and/or32may be located remotely from the other modules. As a non-limiting example, some or all of the functionality attributed to modules16,18,20,22,24,26,28,30, and/or32may be provided “in the cloud” by a plurality of processors connected through a network. The description of the functionality provided by the different modules16,18,20,22,24,26,28,30, and/or32herein is for illustrative purposes, and is not intended to be limiting, as any of modules16,18,20,22,24,26,28,30, and/or32may provide more or less functionality than is described. For example, one or more of modules16,18,20,22,24,26,28,30, and/or32may be eliminated, and some or all of its functionality may be provided by other ones of modules16,18,20,22,24,26,28,30, and/or32. As another example, processor52may be configured to execute one or more additional modules that may perform some or all of the functionality attributed below to one of modules16,18,20,22,24,26,28,30, and/or32.
FIG. 2illustrates a method60of providing a virtual space to users. The operations of method60presented below are intended to be illustrative. In some embodiments, method60may be accomplished with one or more additional operations not described, and/or without one or more of the operations discussed. Additionally, the order in which the operations of method60are illustrated inFIG. 2and described below is not intended to be limiting.
In some embodiments, method60may be implemented in one or more processing devices (e.g., a digital processor, an analog processor, a digital circuit designed to process information, an analog circuit designed to process information, a state machine, and/or other mechanisms for electronically processing information). The one or more processing devices may include one or more devices executing some or all of the operations of method60in response to instructions stored electronically on an electronic storage medium. The one or more processing devices may include one or more devices configured through hardware, firmware, and/or software to be specifically designed for execution of one or more of the operations of method60.
At an operation62, the virtual space may be hosted. Hosting the virtual space may include one or more of executing an instance of the virtual space, using the instance to determine view information that describes views of the virtual space, and/or transmitting the view information to one or more client computing platforms to facilitate presentation of the views to the users. In some implementations, operation62may be performed by a space module similar to or the same as space module16(shown inFIG. 1and described herein).
At an operation63, a command input may be received from a first user. The command input may request an action to be performed in the instance of the virtual space. The command input may have been input by the first user to a client computing platform. In some implementations, operation63may be performed by a space module similar to or the same as space module16(shown inFIG. 1and described herein).
At an operation64, a financial value of users may be determined and/or quantified. Operation64may include determining values of a financial value metric for individual users. The financial value metric may reflect the relative financial values of the individual users to an operator of the virtual space. In some implementations, operation64may be performed by a financial value module similar to or the same as financial value module20(shown inFIG. 1and described herein).
At an operation66, an engagement level of users may be determined and/or quantified. Operation66may include determining values of an engagement metric for the individual users. The engagement metric may reflect the relative engagement of the individual users with the virtual space. In some implementations, operation68may be performed by an engagement module similar to or the same as engagement module22(shown inFIG. 1and described herein).
At an operation68, user value of the users may be determined. Operation68may include determining a user value metric that quantifies the value of the users to the operator of the virtual space. In some implementations, operation68may be performed by a user value module similar to or the same as user value module24(shown inFIG. 1and described herein).
At an operation70, actions requested by users for performance in the instance of the virtual space may be monitored on a per-user, per-action-type basis. This may include monitoring actions requested by the first user that have the same action-type as the requested action. In some implementations, operation70may be performed by a user activity module similar to or the same as user activity module26(shown inFIG. 1and described herein).
At an operation72, actions requested by users for performance in the instance of the virtual space may be monitored on a per-action-type basis for the users cumulatively. This may include monitoring actions requested by the users cumulatively that have the same action-type as the requested action. In some implementations, operation72may be performed by an instance activity module similar to or the same as instance activity module28(shown inFIG. 1and described herein).
At an operation74, a health of a server on which the instance of the virtual space is being executed may be monitored. In some implementations, operation74may be performed by a server health module similar to or the same as server health module30(shown inFIG. 1and described herein).
At an operation76, a quality of service for the requested action may be determined. The quality of service may be determined based on information derived at one or more of operations64,66,68,70,72, and/or74. In some implementations, operation76may be performed by a quality of service module similar to or the same as quality of service module32(shown inFIG. 1and described herein).
At an operation78, the requested action may be initiated and/or performed in the instance of the virtual space with the quality of service determined at operation76. In some implementations, operation78may be performed by a space module similar to or the same as space module16(shown inFIG. 1and described herein).
Although the system(s) and/or method(s) of this disclosure have been described in detail for the purpose of illustration based on what is currently considered to be the most practical and preferred implementations, it is to be understood that such detail is solely for that purpose and that the disclosure is not limited to the disclosed implementations, but, on the contrary, is intended to cover modifications and equivalent arrangements that are within the spirit and scope of the appended claims. For example, it is to be understood that the present disclosure contemplates that, to the extent possible, one or more features of any implementation can be combined with one or more features of any other implementation.
Claims
- A system configured to provide a virtual space to users, wherein the users include a first user and a second user, wherein the users are associated with client computing platforms, wherein the first user is associated with a first client computing platform, the system comprising: one or more processors configured by machine-readable instructions to: execute an instance of the virtual space, and use the instance to generate state information that is transmitted to client computing platforms over a network, the state information facilitating presentation of views of the virtual space via the client computing platforms associated with the users, wherein execution of the instance further enables interaction by the users with the virtual space and/or each other by performing operations in the instances of the virtual space in response to commands received over the network from the client computing platforms;facilitate interaction between the users and the virtual space by receiving input commands from the users via the client computing platforms, wherein the client computing platforms are configured to communicatively link with the system via the network;receive the input commands from the users via the client computing platforms, the input commands indicating actions that should be taken in the instance of the virtual space, wherein the input commands include a first input command received from the first user via the first client computing platform, the first input command indicating a first action that should be taken in the instance of the virtual space;determine values for a user value metric for the individual users, wherein the determined values reflect financial values of previous expenditures by the individual users within the virtual space, wherein the determined values include a first determined value for the first user;determine a first quality of service for the first action indicated by the first input command from the first user, wherein the first quality of service is based on the first determined value for the first user and further based on the first action;and responsive to reception of the input commands including the first input command, initiate actions including the first action in the instance of the virtual space that correspond to the input commands such that the actions are reflected in the views of the virtual space;wherein responsive to the determination of the first quality of service for the first action, the first action is initiated in the instance of the virtual space with the first quality of service.
- The system of claim 1 , wherein the one or more processors are further configured such that the determinations of the values of the user value metric for the individual users are based on monetary expenditures made by the users for virtual items usable in the virtual space.
- The system of claim 1 , wherein the one or more processors are further configured such that determined values of the user value metric reflect levels of engagement of the individual users with the virtual space.
- The system of claim 3 , wherein the one or more processors are further configured such that the determinations of the values of the user value metric for the individual users are based on one or more of length of usage sessions of the users, frequency of usage sessions of the users, periods of time between usage sessions of the users, or amounts of time the users have been using the virtual space.
- The system of claim 1 , wherein the one or more processors are further configured to monitor actions performed in the instance of the virtual space responsive to input commands received from the individual users on a per-action-type basis, and wherein determination of the first quality of service for the first action is further based on the common action-type of the first action previously initiated in the instance of the virtual space responsive to input commands from the first user.
- The system of claim 5 , wherein the one or more processors are further configured to: determine a first frequency that reflects a number of actions performed in the virtual space in a given period having an action-type similar to a first action-type of the first action;receive a second input command from the second user via a second client computing platform, wherein the second input command indicates a second action that should be taken in the instance of the virtual space;determine a second value for the second user that reflects financial values of previous expenditures by the second user within the virtual space;determine a second quality of service for the second action indicated by the second input command from the second user, wherein the second quality of service is based on the second determined value for the second user and further based on the second action, wherein the second action is initiated in the instance of the virtual space with the second quality of service, determine a second frequency that reflects a number of actions performed in the virtual space in the given period having an action-type similar to a second action-type of the second action, such that the second quality of service for the second action is determined to be lower than the first quality of service responsive to the second frequency being higher than the first frequency, and such that the second quality of service for the second action is determined to be higher than the first quality of service responsive to the second frequency being lower than the first frequency.
- The system of claim 1 , wherein the one or more processors are further configured to monitor a health level of a server that includes at least one of the one or more processors, and such that determination of the first quality of service for the first action is further based on the health level of the server.
- A computer-implemented method of providing a virtual space to users, wherein the users include a first user and a second user, wherein the users are associated with client computing platforms, wherein the first user is associated with a first client computing platform, the method being implemented in a computer system comprising one or more processors configured by machine-readable instructions, the method comprising: executing an instance of the virtual space;using the instance of the virtual space to generate state information that is transmitted to client computing platforms over a network, the state information facilitating presentation of views of the virtual space via the client computing platforms associated with the users, wherein execution of the instance further enables interaction by the users with the virtual space and/or each other by performing operations in the instances of the virtual space in response to commands received over the network from the client computing platforms;facilitating interaction between the users and the virtual space by receiving input commands from the users via the client computing platforms, wherein the client computing platforms are configured to communicatively link with the system via the network;receiving the input commands, at the one or more processors, from the users via the client computing platforms, the input commands indicating actions that should be taken in the instance of the virtual space, wherein the input commands include a first input command received from the first user via the first client computing platform, the first input command indicating a first action that should be taken in the instance of the virtual space;determining values for a user value metric for the individual users, wherein the determined values reflect financial values of previous expenditures by the individual users within the virtual space, wherein the determined values include a first determined value for the first user;determining a first quality of service for the first action indicated by the first input command from the first user, wherein the first quality of service is based on the first determined value for the first user and further based on the first action responsive to reception of the input commands including the first input command, initiating actions including the first action in the instance of the virtual space that correspond to the input commands such that the actions are reflected in the determined views of the virtual space;wherein responsive to the determination of the first quality of service for the first action, the first action is initiated in the instance of the virtual space with the first quality of service.
- The method of claim 8 , wherein the determinations of the values of the user value metric for the individual users are based on monetary expenditures made by the users for virtual items usable in the virtual space.
- The method of claim 8 , wherein the determined values of the user value metric reflect levels of engagement of the individual users with the virtual space.
- The method of claim 10 , wherein the determined values of the user value metric for the individual users are based on one or more of length of usage sessions of the users, frequency of usage sessions of the users, periods of time between usage sessions of the users, or amounts of time the users have been using the virtual space.
- The method of claim 8 , further comprising monitoring actions performed in the instance of the virtual space responsive to input commands received from the individual users on a per-action-type basis, and wherein the determination of the first quality of service for the first action is further based on the common action-type of the first action previously initiated in the instance of the virtual space responsive to input commands from the first user.
- The method of claim 12 , further comprising: determining a first frequency that reflects a number of actions performed in the virtual space in a given period having an action-type similar to a first action-type of the first action;receiving a second input command from the second user via a second client computing platform, wherein the second input command indicates a second action that should be taken in the instance of the virtual space;determining a second value for the second user that reflects financial values of previous expenditures by the second user within the virtual space;determining a second quality of service for the second action indicated by the second input command from the second user, wherein the second quality of service is based on the second determined value for the second user and further based on the second action, wherein the second action is initiated in the instance of the virtual space with the second quality of service, determining a second frequency that reflects a number of actions performed in the virtual space in the given period having an action-type similar to a second action-type of the second action, wherein the second quality of service for the second action is determined to be lower than the first quality of service responsive to the second frequency being higher than the first frequency, and such that the second quality of service for the second action is determined to be higher than the first quality of service responsive to the second frequency being lower than the first frequency.
- The method of claim 8 , further comprising monitoring a health level of a server that includes at least one of the one or more processors, and wherein the first quality of service for the first action is further based on the health level of the server.
Disclaimer: Data collected from the USPTO and may be malformed, incomplete, and/or otherwise inaccurate.