Temporal Predicate Segmentation for Event Processing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing event processing methods for temporal predicates are inefficient in maintaining the set of events that satisfy the predicate as time progresses, and they either incur high computational costs or restrict expressiveness by using explicitly-specified windows.
Innovation Solution
Separate the predicate into a temporal and non-temporal part, compare the temporal part against known window types, and replace the non-temporal part with a filter and the temporal part with an instance of the matching window type, parameterized for efficient tracking.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If tracking truth of predicates for each event separately is used, then expressiveness is maintained, but computational cost increases
Solution Approach 1:
The predicate is segmented into a temporal part and a non-temporal part. The temporal part is matched against known window type predicates to identify applicable window optimizations, while the non-temporal part is retained for filtering. This segmentation allows the system to maintain expressiveness through the full predicate while reducing computational cost by applying efficient window-based tracking to the temporal component.
2Productivity
If explicitly-specified window is used, then computational efficiency is improved, but expressiveness is restricted
Solution Approach 1:
The system introduces an intermediary matching process that compares the temporal part of arbitrary predicates against a library of known window type predicates. This intermediary layer enables the system to automatically discover and apply appropriate window optimizations without requiring explicit window specifications in the original predicate, thus maintaining expressiveness while achieving computational efficiency.
3Measurement precision
If discovery operation is performed for all historical events, then truth value accuracy is maintained, but time consumption increases
Solution Approach 1:
The system performs preliminary action by matching the temporal part of the predicate against known window type predicates before processing historical events. This preliminary matching identifies applicable window optimizations in advance, allowing the system to efficiently track only the relevant events that satisfy the predicate without performing expensive discovery operations on all historical events, thus maintaining accuracy while reducing time consumption.
Data Source
AI summary
A method and system are provided. The method includes separating a predicate that specifies a set of events into a temporal part and a non-temporal part. The method further includes comparing the temporal part of the predicate against a predicate of a known window type. The method also includes determining whether the temporal part of the predicate matches the predicate of the known window type. The method additionally includes replacing (i) the non-temporal part of the predicate by a filter, and (ii) the temporal part of the predicate by an instance of the known window type, responsive to the temporal part of the temporal predicate matching the predicate of the known window type. The instance is parameterized with substitutions used to match the temporal part of the predicate to the predicate of the known window type.


