# US 10,872,003 B2 · Flexible event ingestion framework in an event processing system

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

- Number: US 10,872,003 B2
- Document ID: US10872003B2
- Status: Granted
- Kind: B2
- Application number: 16/550,757
- Filed: 2019-08-26
- Published: 2019-12-19
- Granted: 2020-12-22
- Earliest claimed: 2015-12-23
- Assignees: Oracle International Corporation
- Applicants: Oracle International Corporation
- Inventors: Hoyong Park; Vitaly Bychkov; Prabhu Thukkaram
- Web page: https://patentgrep.com/patent/US10872003B2

## CPC

- G06F 9/542: {Event management; Broadcasting; Multicasting; Notifications}
- G06F 8/36: Software reuse
- G06F 16/24568: {Data stream processing; Continuous queries}
- G06F 16/2477: {Temporal data queries}
- G06F 16/254: {Extract, transform and load [ETL] procedures, e.g. ETL data flows in data warehouses}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Systems and methods described herein are directed towards a flexible event ingestion framework. In some examples, an input source comprising information that identifies a plurality of events may be identified. Additionally, in some examples, an adapter for ingesting the information of the input source may be implemented. At least one additional component for modifying the adapter may be received. The adapter may be modified by implementing the at least one additional component with a transport component and a mapper component as part of ingesting the information. Further, a tuple for at least a first event may be generated based at least in part on the modified adapter, and the tuple may be provided to an event server.

## Claims

### Claim 1

A method, comprising:
identifying an input source comprising information identifying a plurality of events;
implementing an adapter for ingesting the information, the adapter comprising:
a transport component that receives the information from the input source; and
a mapper component that converts a first input type of a first event extracted from the input source into a second input type;
receiving at least one additional component for modifying the adapter, wherein the at least one additional component comprises at least a change detector component that detects a change of content of the first event from a previous content of a previous event associated with the first event, and wherein the change detector component comprises at least one of a content level change detector component or a tuple-level change detector component;
modifying the adapter by implementing the at least one additional component with the transport component and the mapper component as part of ingesting the information;
generating a tuple for at least the first event based at least in part on the modified adapter; and
providing the tuple to an event server.

### Claim 2 (depends on 1)

The method of claim 1, further comprising enabling creation of the at least one additional component to customize the adapter for a particular input stream.

### Claim 3 (depends on 1)

The method of claim 1, wherein the at least one additional component further comprises a plurality of additional components, and wherein the adapter is modified to implement at least a subset of the plurality of additional components along with the transport component and the mapper component.

### Claim 4 (depends on 1)

The method of claim 1, wherein the at least one additional component further comprises at least a trigger component that invokes the transport component to extract the first event from the information based at least in part on a schedule or an occurrence.

### Claim 5 (depends on 1)

The method of claim 1, wherein an extractor component extracts a field from the first event.

### Claim 6 (depends on 1)

The method of claim 1, wherein the at least one additional component further comprises at least a filter component that filters the first event based at least in part on a field of the first event.

### Claim 7 (depends on 1)

The method of claim 1, wherein the at least one additional component further comprises at least a converter component that converts a type of the first event to a second type.

### Claim 8

A non-transitory computer-readable medium storing computer-executable instructions that, when executed by one or more processors, configures one or more computer systems to perform at least:
instructions that cause the one or more processors to implement an adapter for ingesting information that identifies a plurality of events of a source document, the adapter comprising:
a transport component that receives at least a first event of the plurality of events of the source document; and
a mapper component that converts a first input type of the first event into a second input type;
instructions that cause the one or more processors to receive at least one additional component for modifying the adapter, wherein the at least one additional component comprises at least a change detector component that detects a change of content of the first event from a previous content of a previous event associated with the first event, and wherein the change detector component comprises at least one of a content level change detector component or a tuple-level change detector component;
instructions that cause the one or more processors to modify the adapter by implementing the at least one additional component with the transport component and the mapper component as part of ingesting the information of the source document;
instructions that cause the one or more processors to execute the modified adapter to generate a tuple for at least the first event; and
instructions that cause the one or more processors to provide the tuple to an event server.

### Claim 9 (depends on 8)

The non-transitory computer-readable medium of claim 8, further comprising instructions that cause the one or more processors to enable creation of the additional component to customize the adapter for a particular input source.

### Claim 10 (depends on 8)

The non-transitory computer-readable medium of claim 8, wherein the trigger component comprises at least one of a scheduled trigger, a monitoring trigger, a loop back trigger, or an input trigger.

### Claim 11 (depends on 10)

The non-transitory computer-readable medium of claim 10, wherein the trigger component invokes the transport component to extract the first event from the information based at least in part on a schedule or an occurrence.

### Claim 12 (depends on 8)

The non-transitory computer-readable medium of claim 8, wherein the converter component converts geometry-type events.

### Claim 13 (depends on 12)

The non-transitory computer-readable medium of claim 12, wherein the converter component converts a type of the first event to a second type.

### Claim 14

A system, comprising:
a memory storing a plurality of instructions; and
a processor configured to access the memory, the processor further configured to execute the plurality of instructions to at least:
identify an input source comprising information that identifies a plurality of events;
implement an adapter for ingesting the information of the input source, the adapter comprising:
a transport component that receives at least a first event of the plurality of events of the input source; and
a mapper component that converts a first input type of the first event into a second input type;
receive at least one additional component for modifying the adapter, wherein the at least one additional component comprises at least a change detector component that detects a change of content of the first event from a previous content of a previous event associated with the first event, and wherein the change detector component comprises at least one of a content level change detector component or a tuple-level change detector component;
modify the adapter by implementing the at least one additional component with the transport component and the mapper component as part of ingesting the information;
generate a tuple for at least the first event based at least in part on the modified adapter; and
provide the tuple to an event server.

### Claim 15 (depends on 14)

The system of claim 14, wherein the additional component is implemented by executing an application programming interface corresponding to the additional component.

### Claim 16 (depends on 14)

The system of claim 14, wherein the trigger component invokes the transport component to extract the first event from the information based at least in part on a schedule or an occurrence.
