IP Library Granted Patent US 11,194,813
Granted Patent B2
US 11,194,813 · App. 16/503,186 · Granted Dec 7, 2021

Adaptive big data service

Inventors: Claiborne Holt Johnson, III (Austin, TX); Michael Gerard Jaskiewicz (Urbandale, IA)
Assignee: Open Text SA ULC
G06F16/24556G06F16/221G06F16/2219
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,194,813
App. No.
16/503,186
Granted
Dec 7, 2021
Kind
B2
Abstract

An event processing system comprising a processor and a non-transitory computer readable medium coupled to the processor. The non-transitory computer readable medium stores computer-readable code executable to provide a domain-agnostic service for analyzing data and process heterogeneous events conforming to a plurality of schemas using the service. The domain-agnostic service comprises an adaptive data model and an adaptive processing model. The adaptive data model supports runtime event type discovery and event schema management that reacts to new schemas discovered at runtime. The adaptive processing model supports configurable partitioning of events by event type and time and is reactive to create new aggregations and analyses based on the propagation of new partitions.

Claims (89)

1. An event processing system comprising:

a processor;

a non-transitory computer readable medium coupled to the processor, the non-transitory computer readable medium storing computer-readable code, the computer-readable code executable to:

provide a domain-agnostic service for analyzing data over a network, the domain-agnostic service comprising:

an adaptive data model that supports runtime event type discovery and event schema management that reacts to new event schemas discovered at runtime, the adaptive data model modelling events for multiple tenants in a multi-tenant environment; and

an adaptive processing model that supports configurable partitioning of events by event type and time and is reactive to create new aggregations and analyses based on propagation of new partitions;

receive heterogeneous events for a plurality of tenant integrations in a multi-tenant environment, the heterogeneous events conforming to a plurality of schemas; and

process the heterogeneous events using the domain-agnostic service during runtime, the processing including automatically updating the adaptive data model for new event types and event schemas discovered from the heterogeneous events and automatically propagating new partitions from the heterogeneous events.

2. The event processing system of claim 1 , wherein the computer-readable code is executable to:

receive a set of heterogeneous events comprising events from plurality of tenants; and

isolate events in the set of heterogeneous events to collections of homogeneous events based on event types, such that each collection of homogeneous events includes events of a corresponding event type from a plurality of event types, each event type in the plurality of event types associated with a corresponding tenant in the adaptive data model.

3. The event processing system of claim 2 , wherein the computer-readable code is executable to:

for a first event in the set of heterogeneous events, determine a first event type from the first event;

based on a determination that the first event type is not in the adaptive data model, add the first event type to the adaptive data model; and

start a first collection of homogeneous events for events of the first event type and write the first event to the first collection of homogeneous events.

4. The event processing system of claim 3 , wherein the adaptive processing model is configured to react to a propagation of a first collection of homogeneous events containing events of a first event type to:

determine a first event schema for the first event type; and

store the events of the first event type from the first collection of homogeneous events to a first micro-batch according to a first structured format that reflects the first event schema.

5. The event processing system of claim 4 , wherein the first event schema describes an event structure comprising a set of schema attributes and wherein the first structured format comprises columns corresponding to the schema attributes from the set of schema attributes.

6. The event processing system of claim 4 , wherein the adaptive processing model is configured to react to a propagation of a second collection of homogeneous events containing events of a second event type to:

determine a second event schema for the second event type; and

store the events of the second event type from the second collection of homogeneous events to a second micro-batch that uses a second structured format that reflects the second event schema, the second structured format different than the first structured format.

7. The event processing system of claim 4 , wherein the adaptive processing model is configured to determine if the first event schema is part of the adaptive data model and based on a determination that the first event schema is not part of the adaptive data model, determine the first event schema by discovering the first event schema from the events in the first collection of homogeneous events.

8. The event processing system of claim 4 , wherein the computer-readable code is executable to:

create a plurality of micro-batches containing events of the first event type;

store the plurality of micro-batches in a first data store;

select the plurality of micro-batches from the first data store based on the first event type; and

coalesce the plurality of micro-batches from the first data store into a first partition in a second data store.

9. The event processing system of claim 8 , wherein adaptive processing model is configured to:

receive an aggregation rule applicable to the first event type;

execute the aggregation rule to:

select, from the first data store, a first set of events that meet the aggregation rule;

select, from the second data store, a second set of events that meet the aggregation rule; and

write the first set of events and second set of events to a first aggregation.

10. The event processing system of claim 9 , wherein the adaptive processing model is configured to react to a propagation of a new micro-batch by creating a real-time aggregation of events using events from the new micro-batch and propagating the real-time aggregation of events.

11. The event processing system of claim 9 , wherein adaptive processing model is configured to:

receive an analysis rule applicable to the first event type;

execute the analysis rule to:

apply the analysis rule to the first aggregation; and

store an analysis result generated by applying the analysis rule to the first aggregation.

12. The event processing system of claim 11 , wherein applying the analysis rule to the first aggregation comprises applying a relational function or a relational transformation to events in the first aggregation.

13. The event processing system of claim 11 , wherein the adaptive processing model is configured to react to a propagation of a real-time aggregation of events by applying the analysis rule to the real-time aggregation of events to generate a real-time analysis result.

14. A computer program product comprising a non-transitory computer readable medium, the non-transitory computer readable medium storing computer-readable code, the computer-readable code executable to:

provide a domain-agnostic service for analyzing data over a network, the domain-agnostic service comprising:

an adaptive data model that supports runtime event type discovery and event schema management that reacts to new event schemas discovered at runtime, the adaptive data model modelling events for multiple tenants in a multi-tenant environment; and

an adaptive processing model that supports configurable partitioning of events by event type and time and is reactive to create new aggregations and analyses based on propagation of new partitions; and

receiving heterogeneous events from a plurality of tenant integrations, the heterogeneous events conforming to a plurality of schemas; and

process the heterogeneous events using the domain-agnostic service during runtime, the processing including automatically updating the adaptive data model for new event types and event schemas discovered from the heterogeneous events and automatically propagating new partitions from the heterogeneous events.

15. The computer program product of claim 14 , wherein the computer-readable code is executable to:

receive a set of heterogeneous events from a plurality of tenants; and

isolate events in the set of heterogeneous events to collections of homogeneous events based on event types, such that each collection of homogeneous events includes events of a corresponding event type from a plurality of event types, each event type in the plurality of event types associated with a corresponding tenant in the adaptive data model.

16. The computer program product of claim 15 , wherein the computer-readable code is executable to:

for a first event in the set of heterogeneous events, determine a first event type from the first event;

based on a determination that the first event type is not in the adaptive data model, add the first event type to the adaptive data model; and

start a first collection of homogeneous events for events of the first event type and write the first event to the first collection of homogeneous events.

17. The computer program product of claim 16 , wherein the computer-readable code is executable to:

determine a first event schema for the first event type; and

store the events of the first event type from the first collection of homogeneous events to a first micro-batch according to a first structured format that reflects the first event schema.

18. The computer program product of claim 17 , wherein the computer-readable code is executable to, wherein the first event schema describes an event structure comprising a set of schema attributes and wherein the first structured format comprises columns corresponding to the schema attributes from the set of schema attributes.

19. The computer program product of claim 17 , wherein the computer-readable code is executable to:

for a second event in the set of heterogeneous events, determine a second event type from the second event;

add the second event to a second collection of homogeneous events;

determine a second event schema for the second event type; and

store the events of the second event type from the second collection of homogeneous events to a second micro-batch that uses a second structured format that reflects the second event schema, the second structured format different than the first structured format.

20. The computer program product of claim 17 , wherein the computer-readable code is executable to:

determine if the first event schema is part of the adaptive data model; and

based on a determination that the first event schema is not part of the adaptive data model, determine the first event schema by discovering the first event schema from the events in the first collection of homogeneous events.

21. The computer program product of claim 17 , wherein the computer-readable code is executable to:

create a plurality of micro-batches containing events of the first event type;

store the plurality of micro-batches in a first data store;

select the plurality of micro-batches from the first data store based on the first event type; and

coalesce the plurality of micro-batches from the first data store into a first partition in a second data store.

22. The computer program product of claim 21 , wherein the computer-readable code is executable to:

receive an aggregation rule applicable to the first event type;

execute the aggregation rule to:

select, from the first data store, a first set of events that meet the aggregation rule;

select, from the second data store, a second set of events that meet the aggregation rule; and

write the first set of events and second set of events to a first aggregation.

23. The computer program product of claim 15 , wherein the computer-readable code is executable to:

based on a propagation of a new micro-batch, create a real-time aggregation of events using events from the new micro-batch; and

propagate the real-time aggregation of events.

24. The computer program product of claim 15 , wherein the computer-readable code is executable to:

receive an analysis rule applicable to a first event type;

execute the analysis rule to:

apply the analysis rule to the first aggregation; and

store a first analysis result generated by applying the analysis rule to the first aggregation.

25. The computer program product of claim 24 , wherein applying the analysis rule to the first aggregation comprises applying a relational function or a relational transformation to events in the first aggregation.

26. The computer program product of claim 24 , wherein the computer-readable code is executable to:

based on a propagation of a real-time aggregation of events, apply the analysis rule to the real-time aggregation of events to generate a real-time analysis result.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 9, 2019
From: JOHNSON, CLAIBORNE HOLT, III; JASKIEWICZ, MICHAEL GERARD
To: OPEN TEXT SA ULC
Reel/Frame 049705/0404 →
Continuity (2)
Provisional Application 62694701 · Jul 6, 2018
Related Publication 20200012647A1 · Jan 9, 2020
Cited By (2)
US 12,248,490 US 12,517,915