RULE ENGINE SYSTEM CONTROLLING DEVICES OF DISPARATE TYPES AND PROTOCOLS
First Claim
1. 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.
2 Assignments
0 Petitions
Accused Products
Abstract
A rule engine system works with physical systems monitored by Internet-enabled endpoints on one hand and developer custom applications on the other. Endpoints operate in both the domain specific language of the rule engine, and communicate with participating applications in the native protocols thereof. Whether new or legacy, whether hardware, software, or firmware, whether having much, little, or no digital processing or communication capacity, the participating application may be monitored and controlled by an endpoint that communicates over the Internet with the rule engine. Individual developers prepare rule language files, containing data and instructions for the rule engine to implement through the end point. Any apparatus, whether exclusively mechanical, electrical, electronic, highly sophisticated electronic, or some combination may be monitored and controlled. Any participating application, from a mechanical lawn sprinkler to an Internet commerce server may be implemented thus.
-
Citations
20 Claims
-
1. 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. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. An apparatus controlling a participating application based on facts corresponding to an entity corresponding thereto, the apparatus comprising:
-
an endpoint comprising an endpoint processor operably connected to the Internet and executing an endpoint module; a memory device operably connected to the endpoint processor to receive general data; a rule processor executing a rule engine comprising an interpreter effective to process a domain specific language corresponding thereto exclusively, and defining a set of rules by which the rule engine evaluates requests received thereby; the rule processor, further programmed to identify a participating application, characterized by a type and comprising operations, characterized by functionality thereof, and a participating protocol, native thereto and supporting communication therewith; the endpoint, operably connected to the participating application and the rule engine, the endpoint communicating with the participating application exclusively in accordance with the participating protocol; the rule processor, further programmed to define conditions relating to control of the participating application and based on facts corresponding to the entity controlling the participating application, identify from the rule language file, the salient events, communicate to the end point, the salient events, receive from the endpoint, report data reflecting the at least one salient event, selected data in accordance with instructions from the rule engine and based on the content of the rule language file, and evaluate instructions from the rule language file; the endpoint processor, further programmed to detect the occurrence, in the participating application, of at least one of the salient events, reporting to the rule engine the occurrence; and the rule processor, further programmed to evaluate 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, generate, based on the occurrence, directives corresponding to actions to be executed by the participating application, instruct the endpoint module to invoke the functionality of the participating application by sending the directives to the end point processor, and control in the native protocol thereof, the participating application.
-
-
17. An article of manufacture comprising a computer readable medium storing executable and non-executable data structures, the data structures comprising:
-
an endpoint module, connected to the Internet and effecting communication between a rule engine and a participating application; the rule engine, receiving requests from the endpoint module; the rule engine, wherein the requests each contain data reflecting occurrence of a salient event corresponding to the participating application; the rule engine, characterized by a domain specific language defining a set of rules by which the rule engine evaluates the requests; the participating application, characterized by a type and a functionality; the participating application, further having a participating protocol, native thereto, and configured to communicate exclusively in accordance with the participating protocol; the endpoint module, further configured to communicate with the participating application in accordance with the participating protocol; the rule engine, further programmed to generate directives and send the directives to the end point module; the rule engine, wherein the generation of the directives is in accordance with the evaluation of the requests, to instruct the endpoint module to invoke the functionality of the participating application; and the rule engine, further comprising an interpreter effective to process a domain specific language, unique to the rule engine. - View Dependent Claims (18, 19, 20)
-
Specification