Multi-level architecture for dynamically generating interactive program modules
First Claim
1. A method performed by a server system, the method comprising:
- storing, by the server system, program data for a program that provides interactive content to an application that runs on mobile computing devices that include one or more sensors,the program comprising a sequence of multiple segments each corresponding to one of different time periods, each segment including multiple tracks and multiple levels,the program data indicating rules for the program that vary the interactive content provided to different users according to at least (i) the respective tracks, levels, and segments of the program associated with the different users, and (ii) sensor data indicating physical characteristics of the different users or activity of the different users that is separate from interaction with the application;
receiving, by the server system, first activity data from a first mobile computing device indicating interaction of a first user with the first mobile computing device during a particular segment of the multiple segments of the program, the first activity data including first sensor data that indicates (i) physical characteristics of the first user or (ii) activity of the first user that is separate from interactions of the first user with the application;
in response to receiving the first activity data from the first mobile computing device;
accessing, by the server system, (i) data indicating that the first user is associated with the program, and (ii) data indicating that a particular segment is a current segment for the first user, a particular track is a current track for the first user, and a particular level is a current level for the particular user;
identifying, by the server system and from among the rules indicated by the program data, a first rule that is applicable to the particular segment, the particular track, and the particular level in the program for the first user;
determining, by the server system, that a trigger of the first rule is satisfied and that one or more conditions specified by the first rule are satisfied wherein the determination that the trigger of the first rule is satisfied or the determination that the one or more conditions specified by the first rule are satisfied is based on the first sensor data that indicates (i) physical characteristics of the first user or (ii) activity of the first user that is separate from interactions of the first user with the application; and
in response to determining that the trigger of the first rule is satisfied and that the one or more conditions specified by the first rule are satisfied, dynamically selecting, by the server system, a first set of content specified by the first rule to provide for display in the application of the first mobile computing device associated with the first user;
receiving, by the server system, second activity data from a second mobile computing device indicating interaction of a second user with the second mobile computing device during the particular segment of the multiple segments of the program, the second activity data including second sensor data that indicates (i) physical characteristics of the second user or (ii) activity of the second user that is separate from interactions of the second user with the application;
in response to receiving the activity data from the second mobile computing device;
accessing, by the server system, (i) data indicating that the second user is associated with the program, and (ii) data indicating that the particular segment is a current segment for the second user, the particular track is a current track for the second user, and the particular level is the current level for the second user;
identifying, by the server system and from among the rules indicated by the program data, a second rule that is applicable to the particular segment, the particular track, and the particular level in the program;
determining, by the server system, that a trigger of the second rule is satisfied and that one or more conditions specified by the second rule are satisfied, wherein the determination that the trigger of the second rule is satisfied or the determination that the one or more conditions specified by the second rule is satisfied is based on the second sensor data that indicates (i) physical characteristics of the second user or (ii) activity of the second user that is separate from interactions of the second user with the application; and
in response to determining that the trigger of the second rule is satisfied and that the one or more conditions specified by the second rule are satisfied, dynamically selecting, by the server system, a second set of content specified by the second rule to provide for display in the application of the second mobile computing device associated with the second user, the second set of content being different from the first set of content.
1 Assignment
0 Petitions
Accused Products
Abstract
In some implementations, program data for a program is used to provide interactive content to an application that runs on mobile computing devices. The program includes a sequence of multiple segments each corresponding to different time periods, multiple selectable tracks and multiple levels within each track. The program data indicates rules for the program that are used to vary the interactive content provided to different users. The program data is used to identify a rule that correspond to a current segment, a current track, and a current level in the program for a particular user. A trigger and one or more conditions specified by the identified rule is be determined to be satisfied, and in response, content specified by the identified rule is provided for display on the mobile computing device associated with the particular user.
-
Citations
25 Claims
-
1. A method performed by a server system, the method comprising:
-
storing, by the server system, program data for a program that provides interactive content to an application that runs on mobile computing devices that include one or more sensors, the program comprising a sequence of multiple segments each corresponding to one of different time periods, each segment including multiple tracks and multiple levels, the program data indicating rules for the program that vary the interactive content provided to different users according to at least (i) the respective tracks, levels, and segments of the program associated with the different users, and (ii) sensor data indicating physical characteristics of the different users or activity of the different users that is separate from interaction with the application; receiving, by the server system, first activity data from a first mobile computing device indicating interaction of a first user with the first mobile computing device during a particular segment of the multiple segments of the program, the first activity data including first sensor data that indicates (i) physical characteristics of the first user or (ii) activity of the first user that is separate from interactions of the first user with the application; in response to receiving the first activity data from the first mobile computing device; accessing, by the server system, (i) data indicating that the first user is associated with the program, and (ii) data indicating that a particular segment is a current segment for the first user, a particular track is a current track for the first user, and a particular level is a current level for the particular user; identifying, by the server system and from among the rules indicated by the program data, a first rule that is applicable to the particular segment, the particular track, and the particular level in the program for the first user; determining, by the server system, that a trigger of the first rule is satisfied and that one or more conditions specified by the first rule are satisfied wherein the determination that the trigger of the first rule is satisfied or the determination that the one or more conditions specified by the first rule are satisfied is based on the first sensor data that indicates (i) physical characteristics of the first user or (ii) activity of the first user that is separate from interactions of the first user with the application; and in response to determining that the trigger of the first rule is satisfied and that the one or more conditions specified by the first rule are satisfied, dynamically selecting, by the server system, a first set of content specified by the first rule to provide for display in the application of the first mobile computing device associated with the first user; receiving, by the server system, second activity data from a second mobile computing device indicating interaction of a second user with the second mobile computing device during the particular segment of the multiple segments of the program, the second activity data including second sensor data that indicates (i) physical characteristics of the second user or (ii) activity of the second user that is separate from interactions of the second user with the application; in response to receiving the activity data from the second mobile computing device; accessing, by the server system, (i) data indicating that the second user is associated with the program, and (ii) data indicating that the particular segment is a current segment for the second user, the particular track is a current track for the second user, and the particular level is the current level for the second user; identifying, by the server system and from among the rules indicated by the program data, a second rule that is applicable to the particular segment, the particular track, and the particular level in the program; determining, by the server system, that a trigger of the second rule is satisfied and that one or more conditions specified by the second rule are satisfied, wherein the determination that the trigger of the second rule is satisfied or the determination that the one or more conditions specified by the second rule is satisfied is based on the second sensor data that indicates (i) physical characteristics of the second user or (ii) activity of the second user that is separate from interactions of the second user with the application; and in response to determining that the trigger of the second rule is satisfied and that the one or more conditions specified by the second rule are satisfied, dynamically selecting, by the server system, a second set of content specified by the second rule to provide for display in the application of the second mobile computing device associated with the second user, the second set of content being different from the first set of content. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 21, 22, 23, 24, 25)
-
-
15. A system comprising:
-
one or more computers of a server system; 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; storing, by the server system, program data for a program that provides interactive content to an application that runs on mobile computing devices that include one or more sensors, the program comprising a sequence of multiple segments each corresponding to one of different time periods, each segment including multiple tracks and multiple levels, the program data indicating rules for the program that vary the interactive content provided to different users according to at least (i) the respective tracks, levels, and segments of the program associated with the different users, and (ii) sensor data indicating physical characteristics of the different users or activity of the different users that is separate from interaction with the application; receiving, by the server system, first activity data from a first mobile computing device indicating interaction of a first user with the first mobile computing device during a particular segment of the multiple segments of the program, the first activity data including first sensor data that indicates (i) physical characteristics of the first user or (ii) activity of the first user that is separate from interactions of the first user with the application; in response to receiving the first activity data from the first mobile computing device; accessing, by the server system, (i) data indicating that the first user is associated with the program, and (ii) data indicating that a particular segment is a current segment for the first user, a particular track is a current track for the first user, and a particular level is a current level for the particular user; identifying, by the server system and from among the rules indicated by the program data, a first rule that is applicable to the particular segment, the particular track, and the particular level in the program for the first user; determining, by the server system, that a trigger of the first rule is satisfied and that one or more conditions specified by the first rule are satisfied wherein the determination that the trigger of the first rule is satisfied or the determination that the one or more conditions specified by the first rule are satisfied is based on the first sensor data that indicates (i) physical characteristics of the first user or (ii) activity of the first user that is separate from interactions of the first user with the application; and in response to determining that the trigger of the first rule is satisfied and that the one or more conditions specified by the first rule are satisfied, dynamically selecting, by the server system, a first set of content specified by the first rule to provide for display in the application of the first mobile computing device associated with the first user; receiving, by the server system, second activity data from a second mobile computing device indicating interaction of a second user with the second mobile computing device during the particular segment of the multiple segments of the program, the second activity data including second sensor data that indicates (i) physical characteristics of the second user or (ii) activity of the second user that is separate from interactions of the second user with the application; in response to receiving the activity data from the second mobile computing device; accessing, by the server system, (i) data indicating that the second user is associated with the program, and (ii) data indicating that the particular segment is a current segment for the second user, the particular track is a current track for the second user, and the particular level is the current level for the second user; identifying, by the server system and from among the rules indicated by the program data, a second rule that is applicable to the particular segment, the particular track, and the particular level in the program; determining, by the server system, that a trigger of the second rule is satisfied and that one or more conditions specified by the second rule are satisfied, wherein the determination that the trigger of the second rule is satisfied or the determination that the one or more conditions specified by the second rule is satisfied is based on the second sensor data that indicates (i) physical characteristics of the second user or (ii) activity of the second user that is separate from interactions of the second user with the application; and in response to determining that the trigger of the second rule is satisfied and that the one or more conditions specified by the second rule are satisfied, dynamically selecting, by the server system, a second set of content specified by the second rule to provide for display in the application of the second mobile computing device associated with the second user, the second set of content being different from the first set of content. - View Dependent Claims (16, 17, 18, 19)
-
-
20. One or more non-transitory computer-readable media storing instructions that, when executed by one or more computers of a server system, cause the server system to perform operations comprising:
-
storing, by the server system, program data for a program that provides interactive content to an application that runs on mobile computing devices that include one or more sensors, the program comprising a sequence of multiple segments each corresponding to one of different time periods, each segment including multiple tracks and multiple levels, the program data indicating rules for the program that vary the interactive content provided to different users according to at least (i) the respective tracks, levels, and segments of the program associated with the different users, and (ii) sensor data indicating physical characteristics of the different users or activity of the different users that is separate from interaction with the application; receiving, by the server system, first activity data from a first mobile computing device indicating interaction of a first user with the first mobile computing device during a particular segment of the multiple segments of the program, the first activity data including first sensor data that indicates (i) physical characteristics of the first user or (ii) activity of the first user that is separate from interactions of the first user with the application; in response to receiving the first activity data from the first mobile computing device; accessing, by the server system, (i) data indicating that the first user is associated with the program, and (ii) data indicating that a particular segment is a current segment for the first user, a particular track is a current track for the first user, and a particular level is a current level for the particular user; identifying, by the server system and from among the rules indicated by the program data, a first rule that is applicable to the particular segment, the particular track, and the particular level in the program for the first user; determining, by the server system, that a trigger of the first rule is satisfied and that one or more conditions specified by the first rule are satisfied wherein the determination that the trigger of the first rule is satisfied or the determination that the one or more conditions specified by the first rule are satisfied is based on the first sensor data that indicates (i) physical characteristics of the first user or (ii) activity of the first user that is separate from interactions of the first user with the application; and in response to determining that the trigger of the first rule is satisfied and that the one or more conditions specified by the first rule are satisfied, dynamically selecting, by the server system, a first set of content specified by the first rule to provide for display in the application of the first mobile computing device associated with the first user; receiving, by the server system, second activity data from a second mobile computing device indicating interaction of a second user with the second mobile computing device during the particular segment of the multiple segments of the program, the second activity data including second sensor data that indicates (i) physical characteristics of the second user or (ii) activity of the second user that is separate from interactions of the second user with the application; in response to receiving the activity data from the second mobile computing device; accessing, by the server system, (i) data indicating that the second user is associated with the program, and (ii) data indicating that the particular segment is a current segment for the second user, the particular track is a current track for the second user, and the particular level is the current level for the second user; identifying, by the server system and from among the rules indicated by the program data, a second rule that is applicable to the particular segment, the particular track, and the particular level in the program; determining, by the server system, that a trigger of the second rule is satisfied and that one or more conditions specified by the second rule are satisfied, wherein the determination that the trigger of the second rule is satisfied or the determination that the one or more conditions specified by the second rule is satisfied is based on the second sensor data that indicates (i) physical characteristics of the second user or (ii) activity of the second user that is separate from interactions of the second user with the application; and in response to determining that the trigger of the second rule is satisfied and that the one or more conditions specified by the second rule are satisfied, dynamically selecting, by the server system, a second set of content specified by the second rule to provide for display in the application of the second mobile computing device associated with the second user, the second set of content being different from the first set of content.
-
Specification