Real-time event processing system with service authoring environment
First Claim
1. An apparatus for processing events generated by at least one system application, the apparatus comprising:
- a processor for executing code to implement at least a portion of at least one real-time analysis engine, wherein the real-time analysis engine processes the events in accordance with at least one service implemented therein, wherein the service is generated by compiling code generated in a service authoring environment associated with the real-time analysis engine;
wherein the service authoring environment includes a declarative language for use in generating the services, wherein the language includes a set of procedural programming constructs and a set of declarative data-management constructs; and
wherein the declarative language includes one or more of the following data structures;
(i) a base table which supports insert, update, delete and select operators, (ii) a chronicle which supports insert and select operators, wherein an insert into a chronicle corresponds to generation of a record on an output stream, and (iii) a view which supports a select operator and whose contents are derived from one or more other tables.
9 Assignments
0 Petitions
Accused Products
Abstract
A real-time event processing system (EPS) for processing a sequence of events generated by one or more applications. In an illustrative embodiment, the EPS includes a set of real-time analysis engines (RAEs) operating in parallel, e.g., a set of clusters each including one or more RAEs, and one or more mappers for mapping a given input event to a particular one of the clusters. A main-memory database system is coupled to the RAEs, and the RAEs process events associated with input streams from one or more data sources and deliver output streams to one or more data sinks. The data source and data sinks may be, e.g., network elements, clients, databases, etc. The events are processed in accordance with services implemented in the RAEs, and utilize data stored in a memory portion of the main-memory database system accessible to the RAEs. The data may include, e.g., a subscription table storing subscription information indicating the service or services that should be executed for a given event. The services are generated in a service authoring environment (SAE) in the EPS, using a declarative language. The SAE generates the services in the form of object code components, e.g., dynamically linked libraries, which may be dynamically linked into the RAEs without interrupting event processing. Recovery information regarding a recovery point for a given RAE or set of RAEs in the EPS may be stored in a memory portion of the main-memory database system, and utilized to implement a roll-back of the RAE to the recovery point.
230 Citations
21 Claims
-
1. An apparatus for processing events generated by at least one system application, the apparatus comprising:
-
a processor for executing code to implement at least a portion of at least one real-time analysis engine, wherein the real-time analysis engine processes the events in accordance with at least one service implemented therein, wherein the service is generated by compiling code generated in a service authoring environment associated with the real-time analysis engine;
wherein the service authoring environment includes a declarative language for use in generating the services, wherein the language includes a set of procedural programming constructs and a set of declarative data-management constructs; and
wherein the declarative language includes one or more of the following data structures;
(i) a base table which supports insert, update, delete and select operators, (ii) a chronicle which supports insert and select operators, wherein an insert into a chronicle corresponds to generation of a record on an output stream, and (iii) a view which supports a select operator and whose contents are derived from one or more other tables.- View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. An apparatus for processing events generated by at least one system application, the apparatus comprising:
-
a processor for executing code to implement at least a portion of at least one real-time analysis engine, wherein the real-time analysis engine processes the events in accordance with at least one service implemented therein, wherein the service is generated by compiling code generated in a service authoring environment associated with the real-time analysis engine;
wherein the service authoring environment includes at least one graphical user interface for generating at least one of the services, a static check element for processing a service generated by the graphical user interface, and a translation and compilation element for generating program code for implementing the service within the real-time analysis engine.
-
-
10. An apparatus for processing events generated by at least one system application, the apparatus comprising:
-
a processor for executing code to implement at least a portion of at least one real-time analysis engine, wherein the real-time analysis engine processes the events in accordance with at least one service implemented therein, wherein the service is generated by compiling code generated in a service authoring environment associated with the real-time analysis engine;
wherein the service authoring environment generates at least one of the services in the form of object code which is dynamically linked into the real-time analysis engine without interrupting event processing.
-
-
11. An apparatus for processing events generated by at least one system application, the apparatus comprising:
-
a processor for executing code to implement at least a portion of at least one real-time analysis engine, wherein the real-time analysis engine processes the events in accordance with at least one service implemented therein, wherein the service is generated by compiling code generated in a service authoring environment associated with the real-time analysis engine;
wherein at least one service generated by the service authoring environment includes;
a set of event handlers for implementing an application-specific service;
configuration, summary and aggregation data used to support event processing;
a set of queries that can be invoked within the system application; and
a set of input and output streams which interface the real-time analysis engine to a data source and data sink, respectively.
-
-
12. An apparatus for processing events generated by at least one system application, the apparatus comprising:
-
a processor for executing code to implement at least a portion of at least one real-time analysis engine, wherein the real-time analysis engine processes the events in accordance with at least one service implemented therein, wherein the service is generated by compiling code generated in a service authoring environment associated with the real-time analysis engine;
wherein the service authoring environment includes a translation and compilation element that converts code in a service authoring language into a component comprising at least one dynamically linked library which is linked into a running process associated with the real-time analysis engine to implement at least a portion of an application-specific service implemented in the real-time analysis engine.
-
-
13. A method of processing events generated by at least one system application, the method comprising the steps of:
-
generating code in a service authoring environment associated with at least one real-time analysis engine to provide a service which is implemented in the real-time analysis engine; and
processing the events in the real-time analysis engine in accordance with the service;
wherein the service authoring environment includes a declarative language for use in generating the services, wherein the language includes a set of procedural programming constructs and a set of declarative data-management constructs; and
wherein the declarative language includes one or more of the following data structures;
(i) a base table which supports insert, update, delete and select operators, (ii) a chronicle which supports insert and select operators, wherein an insert into a chronicle corresponds to generation of a record on an output stream, and (iii) a view which supports a select operator and whose contents are derived from one or more other tables.- View Dependent Claims (14, 15, 16, 17)
receiving the events in the real-time analysis engine in the form of one or more input streams from at least one data source; - and
delivering information representative of processed events in one or more output streams to at least one data sink.
-
-
15. The method of claim 13 wherein the processing step further includes processing the events utilizing data stored in a memory portion of a main-memory database system accessible to the real-time analysis engine.
-
16. The method of claim 13 wherein both base tables and views are stored explicitly in a memory portion of a main-memory database system accessible to the real-time analysis engine, but chronicles are not stored in the memory portion of the main-memory database system.
-
17. The method of claim 13 wherein at least one of the services generated in the service authoring environment and implemented in the real-time analysis engine is an application-specific service associated with the system application.
-
18. A method of processing events generated by at least one system application, the method comprising the steps of:
-
generating code in a service authoring environment associated with at least one real-time analysis engine to provide a service which is implemented in the real-time analysis engine; and
processing the events in the real-time analysis engine in accordance with the service;
wherein the service authoring environment includes at least one graphical user interface for generating at least one of the services, a static check element for processing a service generated by the graphical user interface, and a translation and compilation element for generating program code for implementing the service within the real-time analysis engine.
-
-
19. A method of processing events generated by at least one system application, the method comprising the steps of:
-
generating code in a service authoring environment associated with at least one real-time analysis engine to provide a service which is implemented in the real-time analysis engine; and
processing the events in the real-time analysis engine in accordance with the service;
wherein the generating step includes generating at least one of the services in the form of object code which is dynamically linked into the real-time analysis engine without interrupting event processing.
-
-
20. A method of processing events generated by at least one system application, the method comprising the steps of:
-
generating code in a service authoring environment associated with at least one real-time analysis engine to provide a service which is implemented in the real-time analysis engine; and
processing the events in the real-time analysis engine in accordance with the service;
wherein the service authoring environment includes a translation and compilation element that converts code in a service authoring language into a component comprising at least one dynamically linked library which is linked into a running process associated with the real-time analysis engine to implement at least a portion of an application-specific service implemented in the real-time analysis engine.
-
-
21. An article of manufacture comprising a machine-readable medium for storing one or more programs for processing events generated by at least one system application, wherein the programs when executed by a processor implement the steps of (i) generating code in a service authoring environment associated with at least one real-time analysis engine to provide a service which is implemented in the real-time analysis engine, and (ii) processing the events in the real-time analysis engine in accordance with the service;
-
wherein the service authoring environment includes a declarative language for use in generating the services, wherein the language includes a set of procedural programming constructs and a set of declarative data-management constructs; and
wherein the declarative language includes one or more of the following data structures;
(i) a base table which supports insert, update, delete and select operators, (ii) a chronicle which supports insert and select operators, wherein an insert into a chronicle corresponds to generation of a record on an output stream, and (iii) a view which supports a select operator and whose contents are derived from one or more other tables.
-
Specification