Data Stream Window Logic via Parameterized Code

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data stream management systems are limited in specifying flexible windows, as they rely on pre-defined constructs that cannot adequately describe windows with variable widths, such as those based on time intervals that change, like the current month.

Innovation Solution

A data stream management system that allows users to specify flexible windows using software code, enabling the definition of windows with variable widths through executable code that determines which data values are included or excluded based on time-specific functions, such as 'visibleW' and 'expireW', allowing for dynamic window definitions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If pre-defined window constructs are used, then system simplicity is maintained, but window flexibility and adaptability are limited

Engineering Contradiction:
Improvewindow flexibilityVSAvoidsystem complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent implements dynamic window definitions by allowing users to specify custom windowing logic through code rather than being constrained by static pre-defined constructs. The system accepts user-provided functions that dynamically determine window boundaries based on time intervals, enabling adaptive window behavior that responds to varying data characteristics and analytical needs.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent enables parameterized window specifications where users can define window properties (such as time interval duration, start/end points) through configurable parameters. The system processes these parameter changes by executing user-defined functions with varying input parameters, allowing flexible adjustment of window characteristics without requiring system redesign.

Inventive Principle:
Principle #35Parameter changes

2Measurement precision

If pre-defined window constructs are used, then ease of operation is maintained, but measurement precision for variable time intervals is insufficient

Engineering Contradiction:
Improvetime interval precisionVSAvoidwindow specification ease
Core Design Contradiction:
Measurement precisionVSEase of operation

Solution Approach 1:

The patent introduces an intermediary layer between the user and the window execution engine. Users provide high-level windowing logic through code functions, while the system translates these into precise time interval calculations. This intermediary abstraction allows users to specify windows conceptually while the system handles the precise measurement and execution details.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Adaptability or versatility

If fixed window definitions are used, then processing speed is maintained, but adaptability to varying time intervals is reduced

Engineering Contradiction:
Improvetime interval adaptabilityVSAvoidquery processing speed
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent implements preliminary action by allowing users to pre-define windowing logic and parameters before query execution. The system can pre-process and validate window definitions, compile user-provided functions, and prepare execution plans in advance. This enables the system to maintain high processing speeds during actual query execution while supporting adaptable time intervals through pre-configured flexibility.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS8103655B2Specifying a family of logics defining windows in data stream management systems
Publication Date: 2012.01.24 ORACLE INT CORP
  • US8103655B2 patent drawing
  • US8103655B2 patent drawing
  • US8103655B2 patent drawing

AI summary

Simplifying a user's task in specifying a family of logics, with each logic designed to potentially select different subsets of values from the same continuous data stream at the same time instant. In one embodiment, all the logics are together specified by a common user specified software code design to accept a set of parameters, with different logics resulting from execution of the software code with different parametric values. Thus, when closely related family of logics are to be developed, the common software code may be formulated, with the code being designed to accept parameters and providing different logics for different sets of parametric values corresponding to the parameters.