Patent ID: 8775573

Claim:
A method for modifying a behavior of a client device in a data collection system wherein the client device collects data and transmits data to a server, the method comprising the steps of: the client device transmitting data to the server; the server using at least a portion of the data received from the client device to generate information that is used to modify a target behavior of the client device, wherein said generated information comprises contextual information that is not locally available to the client device and which is relevant to modifying the target behavior of the client device, wherein the contextual information comprises context data about a user of the client device, wherein the context data comprises information about a condition of the user or the user's environment, which dynamically varies and is unknown or unavailable to the client device; the server device transmitting the generated information with said contextual information to the client device; and the client device subsequently modifying the target behavior of the client device based on the generated information received from the server at times when the client device is connected to the server and based on the generated information that was previously received from the server at times when the client device is disconnected from the server, wherein the client device modifies the target behavior by using the contextual information received from the server to determine one or more locally stored rules on the client, which are triggered, modified or invalidated based on the contextual information, wherein each of the one or more locally stored rules include a predicate component that specifies a contextual condition under which the rule is considered valid, and an action component that specifies a resulting behavior of the client device, wherein the contextual information is used by the client device to determine which of a plurality of locally available predicate or action components of the locally stored rules is applicable at a given time, and select a predicate or action component of a given one of the locally stored rules that is determined to be applicable at the given time.