← Back to Patent Explorer
US6449618B1 Expired / Lapsed US ⏱️ 0.0 years remaining

Real-time event processing system with subscription model

Assignee: Nokia of America Corp
•
Filing: 1999-03-25
•
Granted: 2002-09-10
•
Expires: 2019-03-25
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

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.

Inventors

  • 👤 Stephen M. Blott
  • 👤 Benson L. Branch
  • 👤 Frank Frastaci, Jr.

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-02 23:49
CPC Classifications
G; G06; G06F; G06F16/00; G06F16/20; G06F16/24; G06F16/245; G06F16/2455; G06F16/24568; Y; Y10; Y10S; Y10S707/00; Y10S707/99941; Y10S707/99942; Y10S707/99944; Y10S707/99945

Claims Analysis

Total Claims: 29
Claim 1
Independent Claim 113 words
An apparatus for processing a plurality of 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 events in accordance with subscription information stored in a main-memory database system and indicating subscription of customers to one or more services supported by the real-time analysis engine, and wherein the subscription information is stored in the form of a compact subscription table generated by applying at least one of a translation operation and an update propagation operation to at least one more complex subscription table generated by the system application.
Claim 2
Independent Claim 113 words
An apparatus for processing a plurality of 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 events in accordance with subscription information stored in a main-memory database system and indicating subscription of customers to one or more services supported by the real-time analysis engine, and wherein the subscription information is stored in the form of a compact subscription table generated by applying at least one of a translation operation and an update propagation operation to at least one more complex subscription table generated by the system application.
Claim 3
Dependent Claim 47 words
The apparatus of claim 1 wherein the real-time analysis engine receives the events in the form of one or more input streams from at least one data source, and delivers information representative of processed events in one or more output streams to at least one data sink.
Claim 4
Dependent Claim 38 words
The apparatus of claim 2 wherein at least one of the data source and the data sink comprises at least one of a network element of the system, a client associated with the application, and a database element.
Claim 5
Dependent Claim 23 words
The apparatus of claim 1 further including a plurality of processors for executing code to implement the at least one real-time analysis engine.
Claim 6
Dependent Claim 21 words
The apparatus of claim 1 wherein the processor executes code to implement at least a portion of the main-memory database system.
Claim 7
Dependent Claim 31 words
The apparatus of claim 1 wherein the stored subscription information indicates at least one service that should be executed for at least one of a given event and a given subscriber.
Claim 8
Dependent Claim 21 words
The apparatus of claim 1 wherein the compact subscription table is stored in the memory portion of the main-memory database system.
Claim 9
Dependent Claim 28 words
The apparatus of claim 7 wherein the compact subscription table includes at least one of a subscriber identifier, a start timestamp, an end timestamp, and a subscription term.
Claim 10
Dependent Claim 25 words
The apparatus of claim 8 wherein the compact subscription table at any particular point in time includes at most one relevant entry for each subscriber.
Claim 11
Dependent Claim 17 words
The apparatus of claim 8 wherein the subscription term is specified using a run-time interpretable subscription language.
Claim 12
Dependent Claim 30 words
The apparatus of claim 8 wherein the subscription term for a given event is generated by concatenating a pre-processing subscription term, an explicit subscription term, and a post-processing subscription term.
Claim 13
Dependent Claim 29 words
The apparatus of claim 11 wherein the pre- and post-processing terms are cached between events such that the pre- and post-processing terms do not require a run-time look-up operation.
Claim 14
Dependent Claim 56 words
The apparatus of claim 7 wherein the real-time analysis engine determines if a given event is a non-subscribed event or a subscribed event, directly invokes a corresponding event handler if the event is a non-subscribed event, and accesses the stored subscription information to determine at least one event handler if the event is a subscribed event.
Claim 15
Dependent Claim 40 words
The apparatus of claim 13 wherein the real-time analysis engine accesses the stored subscription information to determine a plurality of event handlers and an order in which to call the event handlers if the given event is a subscribed event.
Claim 16
Independent Claim 102 words
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, in accordance with subscription information stored in a memory portion of a main-memory database system and indicating subscription of customers to one or more services supported by the real-time analysis engine, and wherein the subscription information is stored in the form of a compact subscription table generated by applying at least one of a translation operation and an update propagation operation to at least one more complex subscription table generated by the system application.
Claim 17
Independent Claim 102 words
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, in accordance with subscription information stored in a memory portion of a main-memory database system and indicating subscription of customers to one or more services supported by the real-time analysis engine, and wherein the subscription information is stored in the form of a compact subscription table generated by applying at least one of a translation operation and an update propagation operation to at least one more complex subscription table generated by the system application.
Claim 18
Dependent Claim 52 words
The method of claim 15 further including the steps of 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.
Claim 19
Dependent Claim 31 words
The method of claim 15 wherein the stored subscription information indicates at least one service that should be executed for at least one of a given event and a given subscriber.
Claim 20
Dependent Claim 21 words
The method of claim 15 wherein the compact subscription table is stored in the memory portion of the main-memory database system.
Claim 21
Dependent Claim 28 words
The method of claim 18 wherein the compact subscription table includes at least one of a subscriber identifier, a start timestamp, an end timestamp, and a subscription term.
Claim 22
Dependent Claim 25 words
The method of claim 19 wherein the compact subscription table at any particular point in time includes at most one relevant entry for each subscriber.
Claim 23
Dependent Claim 20 words
The method of claim 19 further including the step of specifying the subscription term using a run-time interpretable subscription language.
Claim 24
Dependent Claim 33 words
The method of claim 19 further including the step of generating the subscription term for a given event by concatenating a pre-processing subscription term, an explicit subscription term, and a post-processing subscription term.
Claim 25
Dependent Claim 32 words
The method of claim 22 further including the step of caching the pre- and post-processing terms between events such that the pre- and post-processing terms do not require a run-time look-up operation.
Claim 26
Dependent Claim 56 words
The method of claim 18 further including the steps of determining if a given event is a non-subscribed event or a subscribed event, directly invoking a corresponding event handler if the event is a non-subscribed event, and accessing the stored subscription information to determine at least one event handler if the event is a subscribed event.
Claim 27
Dependent Claim 40 words
The method of claim 24 further including the step of accessing the stored subscription information to determine a plurality of event handlers and an order in which to call the event handlers if the given event is a subscribed event.
Claim 28
Dependent Claim 115 words
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 step of processing the events in at least one real-time analysis engine, in accordance with subscription information stored in the form of a compact subscription table in a main-memory database system and indicating subscription of customers to one or more services supported by the real-time analysis engine wherein the compact subscription table is generated by applying at least one of a translation operation and an update propagation operation to at least one more complex subscription table generated by the system application.
Claim 29
Dependent Claim 115 words
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 step of processing the events in at least one real-time analysis engine, in accordance with subscription information stored in the form of a compact subscription table in a main-memory database system and indicating subscription of customers to one or more services supported by the real-time analysis engine wherein the compact subscription table is generated by applying at least one of a translation operation and an update propagation operation to at least one more complex subscription table generated by the system application.

References Cited (Backward Citations)

US5828845A Cited
US5751798A Cited
US5878126A Cited
US5740423A Cited
EP0809387A2 Cited
EP0809410A2 Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2005-09-09 2006-03-11 2006-09-10 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2009-09-09 2010-03-11 2010-09-10 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2013-09-09 2014-03-11 2014-09-10 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag