×

Multi-level architecture for dynamically generating interactive program modules

  • US 9,753,618 B1
  • Filed: 05/11/2016
  • Issued: 09/05/2017
  • Est. Priority Date: 05/11/2016
  • Status: Active Grant
First Claim
Patent Images

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 all claims
  • 1 Assignment
Timeline View
Assignment View
    ×
    ×