# US 2011/0088035 A1 · Retrospective event processing pattern language and execution model extension

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2011/0088035 A1
- Document ID: US20110088035A1
- Status: Published application
- Kind: A1
- Application number: 12/578,604
- Filed: 2009-10-14
- Published: 2011-04-14
- Earliest claimed: 2009-10-14
- Assignees: International Business Machines Corporation
- Inventors: Opher Zvi Etzion; Segev Eliezer Wasserkrug
- Web page: https://patentgrep.com/patent/US20110088035A1

## CPC

- G06F 9/542: {Event management; Broadcasting; Multicasting; Notifications}
- G06F 16/2477: {Temporal data queries}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A novel and useful method, system and framework for extending event processing pattern language to include constructs and patterns in the language to support historical patterns and associated retrospective event processing that enable a user to define patterns that consist of both on-line streaming and historical (retrospective) patterns. This enables entire functions to be expressed in a single pattern language and also enables event processing optimization whereby function processing is mapped to a plurality of event processing agents (EPAs). The EPAs in turn are assigned to a physical processor and to threads within the processor.

## Claims

### Claim 1

A method of event processing, said method comprising the steps of:
providing an event processing pattern language;
extending said event processing pattern language to support historical patterns thereby enabling a user to define patterns comprised of both on-line streaming and retrospective historical patterns utilizing a single pattern language; and
wherein said steps of providing and extending are implemented in either of computer hardware configured to perform said providing and extending steps, and computer software embodied in a non-transitory, tangible, computer-readable storage medium.

### Claim 2 (depends on 1)

The method according to claim 1, wherein said extended event processing language is operative to extend event processing execution model to support two phased retrospective processing execution based on primary and secondary contexts.

### Claim 3 (depends on 1)

The method according to claim 1, wherein said step of extending comprises mapping extended event processing pattern language functions into one or more physical event processing agents (EPAs).

### Claim 4 (depends on 1)

The method according to claim 1, wherein said extended event processing pattern language is operative to provide a primary and secondary context pattern language extension for looking backwards in time on past events while simultaneously handling time advancing forward in on-line streaming events.

### Claim 5

A method of event processing, said method comprising the steps of:
providing an event processing language suitable for handling streaming event processing;
adding retrospective pattern language extensions to said event processing language such that the resulting extended event processing language is capable of handling retrospective event processing in addition to said streaming event processing; and
wherein said steps of providing and adding are implemented in either of computer hardware configured to perform said providing and adding steps, and computer software embodied in a non-transitory, tangible, computer-readable storage medium.

### Claim 6 (depends on 5)

The method according to claim 5, wherein said retrospective pattern language extensions enable an event processing system to reinforce pattern assumptions.

### Claim 7 (depends on 5)

The method according to claim 5, wherein said retrospective pattern language extensions are operative to extend event processing execution model to support two phased retrospective processing execution based on primary and secondary contexts.

### Claim 8 (depends on 5)

The method according to claim 5, wherein said retrospective pattern language extensions comprise mapping pattern functions into one or more physical event processing agents (EPAs).

### Claim 9 (depends on 8)

The method according to claim 8, wherein said EPAs are part of an application event processing network (EPN) with dependencies modeled therein.

### Claim 10 (depends on 5)

The method according to claim 5, wherein said retrospective pattern language extensions enable retrospective processing to participate in an optimal process based on the structure of a respective event processing network (EPN).

### Claim 11 (depends on 5)

The method according to claim 5, further comprising the step of partitioning an EPN dependency graph into one or more collections of EPAs that are capable of executing in parallel without dependencies therebetween, each collection defining an EPN stratum.

### Claim 12 (depends on 5)

The method according to claim 5, further comprising the step of mapping retrospective event processing into one or more event processing agents (EPAs).

### Claim 13 (depends on 12)

The method according to claim 12, wherein step of mapping comprises the step of assigning EPAs to physical processes and to threads within a processor.

### Claim 14 (depends on 13)

The method according to claim 13, further comprising the step of performing real-time load balancing between said processes.

### Claim 15 (depends on 5)

The method according to claim 5, wherein said extended event processing language is operative to provide a single optimal language for performing both on-line streaming and retrospective pattern matching.

### Claim 16 (depends on 5)

The method according to claim 5, wherein said extended event processing language is operative to provide a primary and secondary context pattern language extension for looking backwards in time on past events while simultaneously handling time advancing forward in on-line streaming events.

### Claim 17 (depends on 5)

The method according to claim 5, further comprising the step of applying modal patterns on a set of sets of events utilizing said extended event processing language.

### Claim 18 (depends on 5)

The method according to claim 5, further comprising the step of storing historical events in memory and passing said historical events to one or more event processing agents.

### Claim 19 (depends on 5)

The method according to claim 5, further comprising the step of storing historical events in a database for one or more patterns and passing said stored historical events to one or more event processing agents.

### Claim 20

An event processing apparatus, comprising:
an extended event processing pattern language framework comprising both streaming event patterns and retrospective event pattern extensions; and
an event processing framework operative to support said extended event processing pattern language including retrospective extensions thereby enabling multi-phased retrospective processing execution based on multiple contexts.

### Claim 21 (depends on 20)

The apparatus according to claim 20, wherein said extended event processing pattern language is operative to extend event processing execution model to support two phased retrospective processing execution based on primary and secondary contexts.

### Claim 22 (depends on 20)

The apparatus according to claim 20, wherein said event processing framework comprises means for mapping extended event processing pattern language functions into one or more physical event processing agents (EPAs).

### Claim 23 (depends on 20)

The apparatus according to claim 20, wherein said extended event processing pattern language is operative to provide a primary and secondary context pattern language extension for looking backwards in time on past events while simultaneously handling time advancing forward in on-line streaming events.

### Claim 24

A computer program product for performing event processing, the computer program product comprising:
a computer usable medium having computer usable code embodied therewith, the computer usable program code comprising:
computer usable code configured for providing an event processing language suitable for handling streaming event processing; and
computer usable code configured for adding retrospective pattern language extensions to said event processing language such that the resulting extended event processing language is capable of handling retrospective event processing in addition to said streaming event processing.

### Claim 25

A computer program product for performing event processing, the computer program product comprising:
a computer usable medium having computer usable code embodied therewith, the computer usable program code comprising:
computer usable code configured for providing an event processing pattern language; and
computer usable code configured for extending said event processing pattern language to support historical patterns thereby enabling a user to define patterns comprised of both on-line streaming and retrospective historical patterns utilizing a single pattern language.
