Real-time event processing system for telecommunications and other applications
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; and
a main-memory database system associated with the processor, wherein the real-time analysis engine processes the events in accordance with at least one service implemented in the real-time analysis engine, utilizing data stored in a memory portion of the main-memory database system accessible to the real-time analysis engine, and wherein the real-time analysis engine processes events in further accordance with at least one of (i) subscription information stored in the form of a compact subscription table generated as a function of contents of at least one additional more complex table associated with the system application, and (ii) the at least one service being generated by compiling code generated in a service authoring environment associated with the real-time analysis engine.
5 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.
-
Citations
20 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; and
a main-memory database system associated with the processor, wherein the real-time analysis engine processes the events in accordance with at least one service implemented in the real-time analysis engine, utilizing data stored in a memory portion of the main-memory database system accessible to the real-time analysis engine, and wherein the real-time analysis engine processes events in further accordance with at least one of (i) subscription information stored in the form of a compact subscription table generated as a function of contents of at least one additional more complex table associated with the system application, and (ii) the at least one service being generated by compiling code generated in a service authoring environment associated with the real-time analysis engine. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A method of processing events generated by at least one system application, the method comprising the steps of:
-
processing the events in at least one real-time analysis engine, utilizing data stored in a memory portion of a main-memory database system accessible to the real-time analysis engine, in accordance with at least one service implemented in the real-time analysis engine, and wherein the real-time analysis engine processes events in further accordance with at least one of (i) subscription information stored in the form of a compact subscription table generated as a function of contents of at least one additional more complex table associated with the system application, and (ii) the at least one service being generated by compiling code generated in a service authoring environment associated with the real-time analysis engine.
-
-
17. 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 one or more programs when executed by a processor implement the step of processing the events in at least one real-time analysis engine, utilizing data stored in a memory portion of a main-memory database system accessible to the real-time analysis engine, in accordance with at least one service implemented in the real-time analysis engine, and wherein the real-time analysis engine processes events in further accordance with at least one of
(i) subscription information stored in the form of a compact subscription table generated as a function of contents of at least one additional more complex table associated with the system application, and (ii) the at least one service being generated by compiling code generated in a service authoring environment associated with the real-time analysis engine.
-
18. An apparatus for processing events generated by at least one system application, the apparatus comprising:
-
at least one real-time analysis engine; and
a main-memory database system associated with the real-time analysis engine, wherein the real-time analysis engine processes the events in accordance with at least one service implemented in the real-time analysis engine, utilizing data stored in a memory portion of the main-memory database system accessible to the real-time analysis engine, and wherein the real-time analysis engine processes events in further accordance with at least one of (i) subscription information stored in the form of a compact subscription table generated as a function of contents of at least one additional more complex table associated with the system application, and (ii) the at least one service being generated by compiling code generated in a service authoring environment associated with the real-time analysis engine.
-
-
19. A method of processing events generated by at least one system application, the method comprising:
-
configuring a plurality of real-time analysis engines to operate in parallel; and
mapping a given one of the events to a particular one of the real-time analysis engines, wherein the real-time analysis engines process the events utilizing data stored in a memory portion of a main-memory database system accessible to at least a subset of the real-time analysis engines, and wherein the real-time analysis engines process the events in further accordance with at least one of (i) subscription information stored in the form of a compact subscription table generated as a function of contents of at least one additional more complex table associated with the system application, and (ii) the at least one service being generated by compiling code generated in a service authoring environment associated with the real-time analysis engines.
-
-
20. An apparatus for processing events generated by at least one system application, the apparatus comprising:
-
a plurality of real-time analysis engines operating in parallel; and
at least one mapper for mapping a given one of the events to a particular one of the real-time analysis engines, wherein the real-time analysis engines process the events utilizing data stored in a memory portion of a main-memory database system accessible to at least a subset of the real-time analysis engines, and wherein the real-time analysis engines process the events in farther accordance with at least one of (i) subscription information stored in the form of a compact subscription table generated as a function of contents of at least one additional more complex table associated with the system application, and (ii) the at least one service being generated by compiling code generated in a service authoring environment associated with the real-time analysis engines.
-
Specification