Streams Engine Temporal Data Identification

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing stream applications fail to account for inherent temporal data, leading to incomplete temporal analysis and queries about past, present, or future data states due to the lack of built-in logic for processing temporal data, especially in distributed programming environments.

Innovation Solution

A streams engine identifies temporal data from data streams, generates context data, and stores records with reliability factors in a temporal database, enabling complete temporal analysis without requiring logic within the stream application itself.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If the stream application does not have built-in logic for processing temporal data, then the stream application is simpler and easier to operate, but temporal data is missed and temporal analysis becomes incomplete

Engineering Contradiction:
Improveease of operationVSAvoidloss of temporal data
Core Design Contradiction:
Ease of operationVSLoss of information

Solution Approach 1:

The patent introduces a streams engine as an intermediary component between the data source and the stream application. This mediator automatically identifies temporal data in streaming data, extracts temporal information, and stores it in a temporal database, thereby compensating for the stream application's lack of built-in temporal processing logic while keeping the application itself simple and easy to operate.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If logic is built into the stream application to process temporal data, then temporal analysis becomes complete, but the device complexity increases

Engineering Contradiction:
Improvecompleteness of temporal analysisVSAvoiddevice complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent extracts the temporal data processing logic from the stream application and places it in a separate streams engine. This extraction ensures complete temporal analysis while reducing the complexity of the main stream application, as the temporal processing functionality is isolated in a dedicated component that can operate independently.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The streams engine serves as an intermediary that handles all temporal data processing operations. By delegating this functionality to a mediator component, the system achieves complete temporal analysis without increasing the complexity of the core stream application, as the mediator manages the complexity externally.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If a temporal database is not used, then the system is simpler, but queries about past, present, or future data states cannot be answered completely

Engineering Contradiction:
Improvecompleteness of query answersVSAvoiddevice complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent implements preliminary action by having the streams engine automatically identify and store temporal data in a temporal database as data streams are processed. This pre-processing and pre-storage of temporal information enables complete answers to queries about past, present, or future data states without adding complexity to the query processing itself, as the temporal data is already organized and ready for retrieval.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11334575B2Integrating relational database temporal tables with a distributed programming environment
Publication Date: 2022.05.17 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US11334575B2 patent drawing
  • US11334575B2 patent drawing
  • US11334575B2 patent drawing

AI summary

Certain aspects of the present disclosure provide techniques for identifying temporal data in data streams to create a temporal database for a stream(s) application to query for temporal data. An example technique includes receiving streams of data at a streams engine and processing the streams of data according to a priority order. The streams engine identifies whether the database is a temporal database and identifies temporal data in each stream of data based on frame analysis, natural language processing techniques, metadata, and optical character recognition. Further, the streams engine generates context data corresponding to the temporal data. The streams engine generates a temporal data record based on the temporal data and context data, and the streams engine generates a reliability factor. The temporal data record and reliability factor are stored in the temporal database for a stream application to query regarding temporal information at a later point in time.