Event Processor Translation from CQL to SQL

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional database systems are inadequate for handling continuous data streams and long-running queries in applications like network monitoring and sensor networks, as they prioritize current data states and treat notifications and triggers with low priority, failing to support asynchronous data arrival and incomplete information computations effectively.

Innovation Solution

Implementing event processors as a network of Continuous Query Language (CQL) operators, translated into Structured Query Language (SQL), allowing for high-performance and scalable execution in SQL databases, enabling interaction with different computing environments like Java Business Integration (JBI) systems.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of information

If conventional database systems are used to store and process data, then current data state can be easily obtained, but previous values can only be found by decoding database log files and the system cannot effectively support continuous data streams and asynchronous data arrival

Engineering Contradiction:
Improveaccess to previous data valuesVSAvoiddata access complexity
Core Design Contradiction:
Loss of informationVSDevice complexity

Solution Approach 1:

The patent segments the monolithic database system into separate event storage mechanisms and query processing components. Event stores maintain historical event sequences separately from the relational database, allowing efficient access to previous values without complex log decoding. This segmentation enables the system to handle both current state queries and historical event retrieval independently.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces event stores as an intermediary layer between data sources and the relational database. These event stores capture and maintain sequences of events with timestamps, serving as a buffer that allows the system to process asynchronous data arrival and provide historical data access without directly querying the main database or decoding logs.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Measurement precision

If conventional database systems prioritize current data state, then current values are easy to obtain, but the system treats notifications and triggers with low priority and cannot support long-running continuous queries

Engineering Contradiction:
Improvecurrent data state accuracyVSAvoidsupport for continuous queries
Core Design Contradiction:
Measurement precisionVSAdaptability or versatility

Solution Approach 1:

The patent makes the event processing system multi-functional by enabling it to handle both traditional relational queries and continuous stream processing. The same infrastructure supports ad-hoc queries on current state, continuous long-running queries on data streams, event subscriptions, and historical analysis, replacing the need for separate specialized systems.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The patent introduces dynamic query execution capabilities where queries can run continuously over time rather than being static one-time operations. The system dynamically adapts to ongoing data streams, allowing queries to automatically execute as new events arrive, with results updated in real-time without requiring manual intervention or query re-submission.

Inventive Principle:
Principle #15Dynamics

3Extent of automation

If CQL event processors are implemented in C++ programming language, then execution control is precise, but development complexity increases and leverages less industry knowledge

Engineering Contradiction:
Improveexecution control precisionVSAvoiddevelopment ease
Core Design Contradiction:
Extent of automationVSEase of manufacture

Solution Approach 1:

The patent uses SQL as a copied and adapted version of CQL that runs on existing SQL database platforms. Rather than implementing CQL natively in C++, the system translates CQL queries into SQL statements that execute on standard database engines. This copying approach preserves the expressive power of CQL while leveraging the extensive industry knowledge, tooling, and expertise already invested in SQL ecosystems.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS7870167B2Implementing event processors
Publication Date: 2011.01.11 ORACLE AMERICAN INC
  • US7870167B2 patent drawing
  • US7870167B2 patent drawing
  • US7870167B2 patent drawing

AI summary

Novel techniques for implementing applications, such as event processors (“EPs”), designed in CQL are provided. Event processors, created as a network of CQL operators, can be implemented in SQL. Implementing an event processor in SQL allows the leveraging of significant industry knowledge and experience in research and development of SQL engines. A user can interact with an EP-generator application to design an event processor in CQL. The EP-generator application can implement the event processor by translating the CQL into SQL statements. Event-processing systems can execute the SQL implementation of the event processor in a first computing environment, such as an SQL database. In this manner, systems described herein can execute event processors defined as a network of CQL operators with high performance and scalability.