Patent ID: 8434056

Claim:
A method for controlling a participating application based on facts corresponding to an entity using the participating application, the method comprising: providing an endpoint module, executing on a first processor operably connected to the Internet; providing a data system receiving general data; providing a rule engine executing on a second processor and comprising an interpreter effective to process a language; providing the language, domain specific to the rule engine, executable exclusively by the rule engine, and defining a set of rules by which the rule engine evaluates requests received thereby; identifying a participating application, characterized by a type and comprising operations, characterized by functionality thereof, and a participating protocol, native thereto and supporting communication therewith; operably connecting the endpoint module to the participating application; operably connecting the rule engine to the endpoint module; communicating by the endpoint with the participating application in accordance with the participating protocol; receiving from a developer of a rule language file in the language, salient events corresponding to activity of the participating application; defining conditions relating to control of the participating application and based on facts corresponding to the entity controlling the participating application; identifying, by the rule engine from the rule language file, the salient events; communicating, by the rule engine, to the end point, the salient events; detecting, by the end point, the occurrence, in the participating application, of at least one of the salient events; reporting, by the end point to the rule engine the occurrence; receiving, by the rule engine, the reporting from the endpoint module containing data reflecting the at least one salient event, selected data, selected out of the general data by the data system in accordance with instructions from the rule engine and based on the content of the rule language file, and evaluation instructions from the rule language file controlling operation of the rule engine; receiving, by the rule engine, from the data system, selected data from the general data; evaluating, by the rule engine, a set of conditions reflecting the selected data, information representing at least one of a state of the participating application and values of parameters recognizable by the rule engine as relating to control of the participating application; generating, by the rule engine, based on the occurrence, directives corresponding to actions to be executed by the participating application; instructing, by the rule engine, the endpoint module to invoke the functionality of the participating application by sending the directives to the end point module; controlling, by the end point module, in the native protocol, the participating application.