U.S. patent application number 13/330320 was filed with the patent office on 2013-06-20 for system and method for determining quality of service for actions to be performed in a virtual space.
This patent application is currently assigned to Kabam, Inc.. The applicant listed for this patent is David Chang, Clifford J. Harrington, Amit Ranade, Timothy Villanueva, Daniel Williams. Invention is credited to David Chang, Clifford J. Harrington, Amit Ranade, Timothy Villanueva, Daniel Williams.
Application Number | 20130159068 13/330320 |
Document ID | / |
Family ID | 48611106 |
Filed Date | 2013-06-20 |
United States Patent
Application |
20130159068 |
Kind Code |
A1 |
Chang; David ; et
al. |
June 20, 2013 |
SYSTEM AND METHOD FOR DETERMINING QUALITY OF SERVICE FOR ACTIONS TO
BE PERFORMED IN A VIRTUAL SPACE
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.
Inventors: |
Chang; David; (San
Francisco, CA) ; Villanueva; Timothy; (Los Gatos,
CA) ; Ranade; Amit; (San Francisco, CA) ;
Harrington; Clifford J.; (San Francisco, CA) ;
Williams; Daniel; (Mountain View, CA) |
|
Applicant: |
Name |
City |
State |
Country |
Type |
Chang; David
Villanueva; Timothy
Ranade; Amit
Harrington; Clifford J.
Williams; Daniel |
San Francisco
Los Gatos
San Francisco
San Francisco
Mountain View |
CA
CA
CA
CA
CA |
US
US
US
US
US |
|
|
Assignee: |
Kabam, Inc.
Redwood City
CA
|
Family ID: |
48611106 |
Appl. No.: |
13/330320 |
Filed: |
December 19, 2011 |
Current U.S.
Class: |
705/7.41 |
Current CPC
Class: |
A63F 13/00 20130101;
A63F 2300/534 20130101; G06Q 10/06313 20130101; G06F 3/048
20130101; A63F 2300/5513 20130101 |
Class at
Publication: |
705/7.41 |
International
Class: |
G06Q 10/00 20120101
G06Q010/00; G06F 15/16 20060101 G06F015/16 |
Claims
1. A system configured to provide a virtual space to users, the
system comprising: one or more processors configured to execute
computer program modules, the computer program modules comprising:
a space module configured to host a virtual space by executing an
instance of the virtual space, and implementing the instance of the
virtual space to determine views of the virtual space for
communication to client computing platforms associated with users,
wherein the space module is configured to: receive 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; responsive to reception of the input commands,
initiate actions 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 determined by the space
module; a user value module configured to determine values for a
user value metric for the individual users; and a quality of
service module configured such that responsive to reception of an
input command from a first user the quality of service module
determines a quality of service for the action indicated by the
input command based on the user value metric for the first user and
a requested action indicated by the input command, and wherein the
space module is configured such that responsive to the
determination of the quality of service for the requested action,
the requested action is initiated in the instance of the virtual
space with the determined quality of service.
2. The system of claim 1, wherein the user value module is
configured such that the determined values of the user value metric
reflect the financial value of the individual users to an operator
of the virtual space.
3. The system of claim 2, wherein the user value module is
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 in the virtual space.
4. The system of claim 1, wherein the user value module is
configured such that determined values of the user value metric
reflect levels of engagement of the individual users with the
virtual space.
5. The system of claim 4, wherein the user value module is
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.
6. The system of claim 1, further comprising a user activity module
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 the
quality of service module is further configured such that
determination of the quality of service for the requested action is
further based on the actions of a common action-type with the
requested action previously initiated in the instance of the
virtual space responsive to input commands from the first user.
7. The system of claim 6, wherein the quality of service module is
configured such that the quality of service for the requested
action is determined to be relatively low responsive to an action
frequency for the common action-type initiated by the first user
being relatively high, and to be relatively high responsive to the
action frequency for the common action-type initiated by the first
user being relatively high.
8. The system of claim 1, further comprising an instance activity
module 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, and wherein the
quality of service module is further configured such that
determination of the quality of service for the requested action is
further based on the actions of a common action-type with the
requested action previously initiated in the instance of the
virtual space responsive to input commands from the users
cumulatively.
9. The system of claim 8, wherein the quality of service module is
configured such that the quality of service for the requested
action is determined to be relatively low responsive to an action
frequency for the common action-type initiated by the users
cumulatively being relatively high, and to be relatively high
responsive to the action frequency for the common action-type
initiated by the users cumulatively being relatively high.
10. The system of claim 1, wherein the modules further comprise a
system health module configured to monitor a health level of a
server that includes at least one of the one or more processors,
and wherein the quality of service module is further configured
such that determination of the quality of service for the requested
action is further based on the health level of the server.
11. A computer-implemented method of providing a virtual space to
users, the method being implemented in a computer system comprising
one or more processors configured to execute computer program
modules, the method comprising: hosting a virtual space by:
executing an instance of the virtual space; implementing the
instance of the virtual space to determine views of the virtual
space for communication to client computing platforms associated
with users; receiving 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; responsive to
reception of the input commands, initiating actions 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; determining values for a user value metric for the
individual users; and responsive to reception of an input command
from a first user, determining a quality of service for the action
indicated by the input command based on the user value metric for
the first user and a requested action indicated by the input
command, wherein responsive to the determination of the quality of
service for the requested action, the requested action is initiated
in the instance of the virtual space with the determined quality of
service.
12. The method of claim 11, wherein the determined values of the
user value metric reflect the financial value of the individual
users to an operator of the virtual space.
13. The method of claim 12, wherein the determinations of the
values of the user value metric for the individual users are based
on monetary expenditures made by the users in the virtual
space.
14. The method of claim 11, wherein the determined values of the
user value metric reflect levels of engagement of the individual
users with the virtual space.
15. The method of claim 14, 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.
16. The method of claim 11, 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 quality of service for
the requested action is further based on the actions of a common
action-type with the requested action previously initiated in the
instance of the virtual space responsive to input commands from the
first user.
17. The method of claim 16, wherein the quality of service for the
requested action is determined to be relatively low responsive to
an action frequency for the common action-type initiated by the
first user being relatively high, and to be relatively high
responsive to the action frequency for the common action-type
initiated by the first user being relatively high.
18. The method of claim 11, further comprising monitoring actions
performed in the instance of the virtual space responsive to input
commands received from the users cumulatively on a per-action-type
basis, and wherein the quality of service for the requested action
is further based on the actions of a common action-type with the
requested action previously initiated in the instance of the
virtual space responsive to input commands from the users
cumulatively.
19. The method of claim 18, wherein the quality of service for the
requested action is determined to be relatively low responsive to
an action frequency for the common action-type initiated by the
users cumulatively being relatively high, and to be relatively high
responsive to the action frequency for the common action-type
initiated by the users cumulatively being relatively high.
20. The method of claim 11, further comprising monitoring a health
level of a server that includes at least one of the one or more
processors, and wherein the quality of service for the requested
action is further based on the health level of the server.
Description
FIELD
[0001] The disclosure relates to determining quality of service for
requested actions to be performed in a virtual space based on one
or more of a user value of requesting users, actions previously
requested by requesting users, actions previously performed by
users cumulatively, server health, and/or other criteria
BACKGROUND
[0002] Typically, a system that hosts a virtual space executes an
instance of the virtual space for interaction by users. The users
interact with the virtual space, in part, by requesting actions to
be performed in the instance of the virtual space. Conventional
systems handle actions with a quality of service that may be
relatively uniform for any requesting user at a time of the
request. While the quality of service may vary over time,
generally, the quality of service assigned to an action does not
vary based on the requesting user.
SUMMARY
[0003] One aspect of the disclosure relates to a system and method
of providing a virtual space to users. In providing the virtual
space to users, actions performed in the virtual space responsive
to user input are 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.
[0004] In some implementations, the system may include a server
that communicates with client computing platforms associated with
the users in a client/server configuration. The server may include
one or more processors configured to execute one or more of a space
module, a financial value module, an engagement module, a user
value module, a user activity module, an instance activity module,
a server health module, a quality of service module, and/or other
modules.
[0005] The space module may be configured to host a virtual space.
This may include executing an instance of the virtual space, and
implementing the instance of the virtual space to determine views
of the virtual space for communication to client computing
platforms associated with users. The space module may be configured
to receive input commands from the users via the client computing
platforms. The input commands may indicate actions that should be
taken in the instance of the virtual space. Responsive to reception
of the input commands, the space module may initiate actions 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 determined by the space module.
[0006] The financial value module may be configured to determine
and/or quantify a financial value of individual users to an
operator of the virtual space. The financial value module may be
configured to determine values of a financial value metric that
indicates the financial value of individual users to the operator
of the virtual space. The financial value metric may reflect
previous financial expenditures by the users in the virtual space,
a subscription level of the users in the virtual space, other
expenditure of real world value to the operator of the virtual
space, advertizing conversion, and/or other sources of financial
value to the operator of the virtual space.
[0007] The engagement module may be configured to determine and/or
quantify user engagement of individual users with the virtual
space. The engagement module may be configured to determine values
of an engagement metric that indicates a level of user engagement
with the virtual space. The engagement value metric may reflect
length of usage sessions, frequency of usage sessions, periods of
time between usage sessions, amount of time users have had accounts
with the virtual space, and/or other criteria.
[0008] The user value module may be configured to determine overall
user value for individual users. The user value module may be
configured to determine values for a user value metric for the
individual users. The determination of a value for the user value
metric for a given user may be based on determinations made by the
financial value module and/or the engagement module. For example,
the value of the user value metric for the given user may be based
on the value for the financial value metric and/or the value for
the engagement metric. As such, the user value for the given user
determined by the user value module may reflect the financial value
of the given user to the operator of the virtual space and/or the
engagement of the given user in the virtual space.
[0009] The user activity module may 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.
[0010] The instance activity module may 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.
[0011] The server health module may be configured to monitor a
health level of server. The health of server may be quantified by
one or more parameters that indicate responsiveness and/or
functionality of the server. For example, the server health module
may be configured to determine one or more of CPU usage, available
storage space, a proportion of CPU cycles waiting for IO (e.g.,
disk or network) events (or "IO 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, disk IO, network traffic, RAM usage, system uptime, and/or
other parameters.
[0012] The quality of service module may be configured such that
responsive to reception of an input command from a first user, the
quality of service module determines a quality of service for the
action indicated by the input command. The quality of service may
be determined based on one or more of the user value metric for the
first user and a requested action indicated by the input command.
The quality of service module may be further configured such that
determination of the quality of service for the requested action is
further based on the actions of a common action-type with the
requested action previously initiated in the instance of the
virtual space responsive to input commands from the first user. For
example, the quality of service for the requested action may be
determined to be relatively low responsive to an action frequency
for the common action-type initiated by the first user being
relatively high, and to be relatively high responsive to the action
frequency for the common action-type initiated by the first user
being relatively high. The quality of service module may be further
configured such that determination of the quality of service for
the requested action may be further based on the actions of a
common action-type with the requested action previously initiated
in the instance of the virtual space responsive to input commands
from the users cumulatively. For example, the quality of service
for the requested action may be determined to be relatively low
responsive to an action frequency for the common action-type
initiated by the users cumulatively being relatively high, and to
be relatively high responsive to the action frequency for the
common action-type initiated by the users cumulatively being
relatively high. The quality of service module may be further
configured such that determination of the quality of service for
the requested action is further based on the health level of the
server.
[0013] The space module may be further configured such that
responsive to the determination of the quality of service for the
requested action, the requested action is initiated in the instance
of the virtual space with the determined quality of service. This
may result in the requested action being executed with resources
commiserate with the value of the first user, the current activity
level of the first user, the current activity level of the users
cumulatively, the server health, and/or other criteria.
[0014] These and other objects, features, and characteristics of
the system and/or method disclosed herein, as well as the methods
of operation and functions of the related elements of structure and
the combination of parts and economies of manufacture, will become
more apparent upon consideration of the following description and
the appended claims with reference to the accompanying drawings,
all of which form a part of this specification, wherein like
reference numerals designate corresponding parts in the various
figures. It is to be expressly understood, however, that the
drawings are for the purpose of illustration and description only
and are not intended as a definition of the limits of the
invention. As used in the specification and in the claims, the
singular form of "a", "an", and "the" include plural referents
unless the context clearly dictates otherwise.
BRIEF DESCRIPTION OF THE DRAWINGS
[0015] FIG. 1 illustrates a system configured to provide a virtual
space to users.
[0016] FIG. 2 illustrates a method of providing a virtual space to
users.
DETAILED DESCRIPTION
[0017] FIG. 1 illustrates a system 10 configured to provide a
virtual space to users. System 10 is 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.
[0018] In some implementations, system 10 may include a server 12.
Server 12 may be configured to communicate with one or more client
computing platforms 14 according to a client/server architecture.
The users may access system 10 and/or the virtual game environment
via client computing platforms 14.
[0019] Server 12 may be configured to execute one or more computer
program modules. The computer program modules may include one or
more of an a space module 16, a user account module 18, a financial
value module 20, an engagement module 22, a user value module 24, a
user activity module 26, an instance activity module 28, a server
health module 30, a quality of service module 32, and/or other
modules.
[0020] Space module 16 may be configured to host a virtual space
for access by users via client computing platforms 14. 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 server 12 to client
computing platforms 14 to 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
platforms 14 that 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 platforms
14 to server 12, and received by space module 16. Responsive to
reception of the input commands, space module 16 may 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 module 16.
[0021] A virtual space may comprise a simulated space that is
accessible by users via clients (e.g., client computing platforms
14) 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.
[0022] The above description of virtual spaces is not intended to
be limiting. Space module 16 may 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.
[0023] Within the instance of the virtual space (or other virtual
environment) executed by space module 16, 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 in the virtual
space.
[0024] User account module 18 may 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 modules 16, 20, 22, 24, 26, 28, 30, and/or 32,
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.
[0025] Financial value module 20 may 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 system 10). 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.
[0026] Financial value module 20 may 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.
[0027] Financial value module 20 may 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 module 20 may 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.
[0028] Engagement module 22 may 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 module 22 may 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 module 22 may 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.
[0029] User value module 24 may 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 modules 20 and 22, respectively. Determination
of the user values may include determining values of a user value
metric for the individual users.
[0030] In determining values of the user value metric, user value
module 24 may 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.
[0031] In determining values of the user value metric, user value
module 24 may 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.
[0032] 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.
[0033] User activity module 26 may 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.
[0034] Instance activity module 28 may 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.
[0035] Server health module 30 may be configured to monitor a
health level of server 12. The health of server 12 may be
quantified by one or more parameters that indicate responsiveness
and/or functionality of server 12. For example, server health
module 30 may be configured to determine one or more of CPU usage,
available storage space, a proportion of CPU cycles waiting for IO
(e.g., disk or network) events (or "IO 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, disk IO, network traffic, RAM usage, system uptime, and/or
other parameters.
[0036] Quality of service module 32 may be configured to determine
quality of service to be provided by space module 16 in 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 module 32 may
impact the resources dedicated to the action by space module 16.
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.
[0037] Quality of service module 32 may 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 server 12, and/or other parameters. Quality of service
module 32 may 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 module 32 may 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 module 32 may 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 module 32 may be configured such that the more healthy
server 12 is, the higher the quality of service assigned to
requested action will be.
[0038] Space module 16 may be configured such that subsequent to
the requested action being assigned a quality of service, space
module 16 may initiate the requested action with the assigned
quality of service. This may ensure that actions requested by the
users may be executed by space module 16 with the appropriate
quality of service.
[0039] In some implementations, 12 server and client computing
platforms 14 may 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 server 12 and/or
client computing platforms 14.
[0040] A given client computing platform 14 may 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 platform 14 to interface with system 10, and/or provide
other functionality attributed herein to client computing platforms
14. For example, the computer program modules may include a view
module configured to receive view information from server 12 (e.g.,
generated by space module 16), 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 platform 14 in the game taking place in
the virtual game environment. By way of non-limiting example, the
given client computing platform 14 may 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.
[0041] The server 12 may include electronic storage 50, one or more
processors 52, and/or other components. The server 12 may include
communication lines, or ports to enable the exchange of information
with a network and/or other computing platforms. Illustration of
server 12 in FIG. 1 is not intended to be limiting. The server 12
may include a plurality of hardware, software, and/or firmware
components operating together to provide the functionality
attributed herein to server 12. For example, server 12 may be
implemented "in the cloud" by a plurality of computing platforms
operating together as server 12.
[0042] Electronic storage 50 may comprise electronic storage media
that electronically stores information. The electronic storage
media of electronic storage 50 may include one or both of system
storage that is provided integrally (i.e., substantially
non-removable) with server 50 and/or removable storage that is
removably connectable to server 50 via, for example, a port (e.g.,
a USB port, a firewire port, etc.) or a drive (e.g., a disk drive,
etc.). Electronic storage 50 may 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 storage 50 may include one or more virtual storage
resources (e.g., cloud storage, a virtual private network, and/or
other virtual storage resources). Electronic storage 50 may store
software algorithms, information determined by processor 52,
information received from server 12, information received from
client computing platforms 14, and/or other information that
enables server 12 to function as described herein.
[0043] Processor(s) 52 is configured to provide information
processing capabilities in server 12. As such, processor 52 may
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
processor 52 is shown in FIG. 1 as a single entity, this is for
illustrative purposes only. In some implementations, processor 52
may include a plurality of processing units. These processing units
may be physically located within the same device, or processor 52
may represent processing functionality of a plurality of devices
operating in coordination. The processor 52 may be configured to
execute modules 16, 18, 20, 22, 24, 26, 28, 30, and/or 32.
Processor 52 may be configured to execute modules 16, 18, 20, 22,
24, 26, 28, 30, and/or 32 by software; hardware; firmware; some
combination of software, hardware, and/or firmware; and/or other
mechanisms for configuring processing capabilities on processor
52.
[0044] It should be appreciated that although modules 16, 18, 20,
22, 24, 26, 28, 30, and 32 are illustrated in FIG. 1 as being
co-located within a single processing unit, in implementations in
which processor 52 includes multiple processing units, one or more
of modules 16, 18, 20, 22, 24, 26, 28, 30, and/or 32 may be located
remotely from the other modules. As a non-limiting example, some or
all of the functionality attributed to modules 16, 18, 20, 22, 24,
26, 28, 30, and/or 32 may be provided "in the cloud" by a plurality
of processors connected through a network. The description of the
functionality provided by the different modules 16, 18, 20, 22, 24,
26, 28, 30, and/or 32 herein is for illustrative purposes, and is
not intended to be limiting, as any of modules 16, 18, 20, 22, 24,
26, 28, 30, and/or 32 may provide more or less functionality than
is described. For example, one or more of modules 16, 18, 20, 22,
24, 26, 28, 30, and/or 32 may be eliminated, and some or all of its
functionality may be provided by other ones of modules 16, 18, 20,
22, 24, 26, 28, 30, and/or 32. As another example, processor 52 may
be configured to execute one or more additional modules that may
perform some or all of the functionality attributed below to one of
modules 16, 18, 20, 22, 24, 26, 28, 30, and/or 32.
[0045] FIG. 2 illustrates a method 60 of providing a virtual space
to users. The operations of method 60 presented below are intended
to be illustrative. In some embodiments, method 60 may 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 method 60 are
illustrated in FIG. 2 and described below is not intended to be
limiting.
[0046] In some embodiments, method 60 may 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 method 60 in 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 method 60.
[0047] At an operation 62, 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, operation 62 may be performed by a space
module similar to or the same as space module 16 (shown in FIG. 1
and described herein).
[0048] At an operation 63, 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, operation 63 may be performed by a space
module similar to or the same as space module 16 (shown in FIG. 1
and described herein).
[0049] At an operation 64, a financial value of users may be
determined and/or quantified. Operation 64 may 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, operation 64 may be performed by a financial value
module similar to or the same as financial value module 20 (shown
in FIG. 1 and described herein).
[0050] At an operation 66, an engagement level of users may be
determined and/or quantified. Operation 66 may 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,
operation 68 may be performed by an engagement module similar to or
the same as engagement module 22 (shown in FIG. 1 and described
herein).
[0051] At an operation 68, user value of the users may be
determined. Operation 68 may include determining a user value
metric that quantifies the value of the users to the operator of
the virtual space. In some implementations, operation 68 may be
performed by a user value module similar to or the same as user
value module 24 (shown in FIG. 1 and described herein).
[0052] At an operation 70, 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, operation 70 may
be performed by a user activity module similar to or the same as
user activity module 26 (shown in FIG. 1 and described herein).
[0053] At an operation 72, 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, operation 72 may be performed by an instance
activity module similar to or the same as instance activity module
28 (shown in FIG. 1 and described herein).
[0054] At an operation 74, a health of a server on which the
instance of the virtual space is being executed may be monitored.
In some implementations, operation 74 may be performed by a server
health module similar to or the same as server health module 30
(shown in FIG. 1 and described herein).
[0055] At an operation 76, 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 operations 64, 66,
68, 70, 72, and/or 74. In some implementations, operation 76 may be
performed by a quality of service module similar to or the same as
quality of service module 32 (shown in FIG. 1 and described
herein).
[0056] At an operation 78, the requested action may be initiated
and/or performed in the instance of the virtual space with the
quality of service determined at operation 76. In some
implementations, operation 78 may be performed by a space module
similar to or the same as space module 16 (shown in FIG. 1 and
described herein).
[0057] 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.
* * * * *