System and method for rules engine that dynamically adapts application behavior
First Claim
1. A method performed by one or more computers, the method comprising:
- providing, by the one or computers, a configuration interface for setting rules that dynamically adjust output of an application provided to a plurality of users, the configuration interface permitting the rules to be specified using combinations of triggers, conditions, and actions;
receiving, by the one or more computers through the configuration interface, data indicating first one or more rules and, for each of the first one or more rules, data that specifies (i) at least one trigger or condition, and (ii) one or more system actions to be performed in response to a satisfaction of the at least one trigger or condition;
receiving, by the one or more computers and from multiple client devices, activity (i) user interaction data indicating user interaction with the application, the user interaction data indicating at least user responses to a survey provided through the application or user selections using the application, (ii) sensor data from client devices of at least some of the plurality of users of the application, and (iii) and medical history data for at least some of the plurality of users of the application;
identifying, by the one or more computers, multiple rules configured to dynamically adjust output of the application, each of the multiple rules specifying a system action, a trigger that indicates when the associated rule is activated, and a condition for the one or more computers to evaluate to determine whether to perform the system action when the trigger occurs,wherein the multiple rules are organized in a hierarchy in which different sets of the multiple rules are assigned different at least partially overlapping scopes of applicability such that rules in at least one set of the multiple rules are applied to each of the plurality of users of the application, and rules in other sets of the multiple rules are applied only to different groups of users within the plurality of users;
determining, for each user of the plurality of users, a subset of the multiple rules that apply to the user based on the assigned scope of applicability for the multiple rules in the hierarchy, the subset including at least some rules assigned different scopes of applicability, wherein the first one or more rules are determined to be applicable to users in a first subset of the plurality of users and to users in a second subset of the plurality of users;
determining, by the one or more computers and based on the user;
interaction data, the sensor data, or the medical history data, that (i) the at least one condition or trigger of the first one or more rules is satisfied for the users in the first subset of the plurality of the users, and (ii) the at least one condition or trigger of the first one or more rules is not satisfied for the users in the second subset of the plurality of the users; and
based on determining that the at least one trigger or condition is satisfied for the users in the first subset and not satisfied for the users in the second subset, communicating, by the one or more computers, with client devices associated with the users in the first subset to adjust output of the application according to the one or more system actions of the first one or more rules, while not adjusting the output of the application for the users in the second subset based on the first one or more rules.
1 Assignment
0 Petitions
Accused Products
Abstract
In some implementations, a system enables an administrator to customize a set of rules to dynamically adjust the configuration and output of an application provided to users. A configuration interface for setting rules that dynamically adjust output of an application is provided. Data indicating one or more rules are received through the configuration interface. Activity data indicating user interaction with the application or sensor data for at least some of a plurality of users of the application are then received from multiple client devices. A determination relating to the activity data satisfying at least one condition or trigger is then made. Instructions to adjust output of the application according to one or more system actions of the one or more rules are then communicated to client devices associated with the users in the first subset of the plurality of users.
208 Citations
20 Claims
-
1. A method performed by one or more computers, the method comprising:
-
providing, by the one or computers, a configuration interface for setting rules that dynamically adjust output of an application provided to a plurality of users, the configuration interface permitting the rules to be specified using combinations of triggers, conditions, and actions; receiving, by the one or more computers through the configuration interface, data indicating first one or more rules and, for each of the first one or more rules, data that specifies (i) at least one trigger or condition, and (ii) one or more system actions to be performed in response to a satisfaction of the at least one trigger or condition; receiving, by the one or more computers and from multiple client devices, activity (i) user interaction data indicating user interaction with the application, the user interaction data indicating at least user responses to a survey provided through the application or user selections using the application, (ii) sensor data from client devices of at least some of the plurality of users of the application, and (iii) and medical history data for at least some of the plurality of users of the application; identifying, by the one or more computers, multiple rules configured to dynamically adjust output of the application, each of the multiple rules specifying a system action, a trigger that indicates when the associated rule is activated, and a condition for the one or more computers to evaluate to determine whether to perform the system action when the trigger occurs, wherein the multiple rules are organized in a hierarchy in which different sets of the multiple rules are assigned different at least partially overlapping scopes of applicability such that rules in at least one set of the multiple rules are applied to each of the plurality of users of the application, and rules in other sets of the multiple rules are applied only to different groups of users within the plurality of users; determining, for each user of the plurality of users, a subset of the multiple rules that apply to the user based on the assigned scope of applicability for the multiple rules in the hierarchy, the subset including at least some rules assigned different scopes of applicability, wherein the first one or more rules are determined to be applicable to users in a first subset of the plurality of users and to users in a second subset of the plurality of users; determining, by the one or more computers and based on the user;
interaction data, the sensor data, or the medical history data, that (i) the at least one condition or trigger of the first one or more rules is satisfied for the users in the first subset of the plurality of the users, and (ii) the at least one condition or trigger of the first one or more rules is not satisfied for the users in the second subset of the plurality of the users; andbased on determining that the at least one trigger or condition is satisfied for the users in the first subset and not satisfied for the users in the second subset, communicating, by the one or more computers, with client devices associated with the users in the first subset to adjust output of the application according to the one or more system actions of the first one or more rules, while not adjusting the output of the application for the users in the second subset based on the first one or more rules. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A system comprising:
-
one or more computers; and one or more storage devices storing instructions that, when executed by the one or more computers, cause the one or more computers to perform operations comprising; providing, by the one or computers, a configuration interface for setting rules that dynamically adjust output of an application provided to a plurality of users, the configuration interface permitting the rules to be specified using combinations of triggers, conditions, and actions; receiving, by the one or more computers through the configuration interface, data indicating first one or more rules and, for each of the first one or more rules, data that specifies (i) at least one trigger or condition, and (ii) one or more system actions to be performed in response to a satisfaction of the at least one trigger or condition; receiving, by the one or more computers and from multiple client devices, (i) user interaction data indicating user interaction with the application, the user interaction data indicating at least user responses to a survey provided through the application or user selections using the application, (ii) sensor data from user devices, and (iii) and medical history data for at least some of the plurality of users of the application; identifying, by the one or more computers, multiple rules configured to dynamically adjust output of the application, each of the multiple rules specifying a system action, a trigger that indicates when the associated rule is activated, and a condition for the one or more computers to evaluate to determine whether to perform the system action when the trigger occurs, wherein the multiple rules are organized in a hierarchy in which different sets of the multiple rules are assigned different at least partially overlapping scopes of applicability such that rules in at least one set of the multiple rules are applied to each of the plurality of users of the application, and rules in other sets of the multiple rules are applied only to different groups of users within the plurality of users; determining, for each user of the plurality of users, a subset of the multiple rules that apply to the user based on the assigned scope of applicability for the multiple rules in the hierarchy, the subset including at least some rules assigned different scopes of applicability, wherein the first one or more rules are determined to be applicable to users in a first subset of the plurality of users and to users in a second subset of the plurality of users; determining, by the one or more computers and based on the user interaction data, the sensor data, or the medical history data, that (i) the at least one condition or trigger of the first one or more rules is satisfied for the users in the first subset of the plurality of the users, and (ii) the at least one condition or trigger of the first one or more rules is not satisfied for the users in the second subset of the plurality of the users; and based on determining that the at least one trigger or condition is satisfied for the users in the first subset and not satisfied for the users in the second subset, communicating, by the one or more computers, with client devices associated with the users in the first subset to adjust output of the application according to the one or more system actions of the first one or more rules, while not adjusting the output of the application for the users in the second subset based on the first one or more rules. - View Dependent Claims (15)
-
-
16. A non-transitory computer-readable storage device encoded with computer program instructions that, when executed by one or more computers, cause the one or more computers to perform operations comprising:
-
providing, by the one or computers, a configuration interface for setting rules that dynamically adjust output of an application provided to a plurality of users, the configuration interface permitting the rules to be specified using combinations of triggers, conditions, and actions; receiving, by the one or more computers through the configuration interface, data indicating first one or more rules and, for each of the first one or more rules, data that specifies (i) at least one trigger or condition, and (ii) one or more system actions to be performed in response to a satisfaction of the at least one trigger or condition; receiving, by the one or more computers and from multiple client devices, (i) user interaction data indicating user interaction with the application, the user interaction data indicating at least user responses to a survey provided through the application or user selections using the application, (ii) sensor data from user devices, and (iii) and medical history data for at least some of the plurality of users of the application; identifying, by the one or more computers, multiple rules configured to dynamically adjust output of the application, each of the multiple rules specifying a system action, a trigger that indicates when the associated rule is activated, and a condition for the one or more computers to evaluate to determine whether to perform the system action when the trigger occurs, wherein the multiple rules are organized in a hierarchy in which different sets of the multiple rules are assigned different at least partially overlapping scopes of applicability such that rules in at least one set of the multiple rules are applied to each of the plurality of users of the application, and rules in other sets of the multiple rules are applied only to different groups of users within the plurality of users; determining, for each user of the plurality of users, a subset of the multiple rules that apply to the user based on the assigned scope of applicability for the multiple rules in the hierarchy, the subset including at least some rules assigned different scopes of applicability, wherein the first one or more rules are determined to be applicable to users in a first subset of the plurality of users and to users in a second subset of the plurality of users; determining, by the one or more computers and based on the user interaction data, the sensor data, or the medical history data, that (i) the at least one condition or trigger of the first one or more rules is satisfied for the users in the first subset of the plurality of the users, and (ii) the at least one condition or trigger of the first one or more rules is not satisfied for the users in the second subset of the plurality of the users; and based on determining that the at least one trigger or condition is satisfied for the users in the first subset and not satisfied for the users in the second subset, communicating, by the one or more computers, with client devices associated with the users in the first subset to adjust output of the application according to the one or more system actions of the first one or more rules, while not adjusting the output of the application for the users in the second subset based on the first one or more rules. - View Dependent Claims (17, 18, 19, 20)
-
Specification