Sliding Window Testing Framework for Event Processing Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing event processing systems lack efficient automated testing frameworks to validate their performance, especially in handling real-time data streams and complex event processing scenarios, which hinders their ability to process large volumes of data effectively.

Innovation Solution

A testing framework that utilizes an XML-based schema to automate the testing of event processing systems by sending timestamped input events in batches, applying event windows, and verifying outputs, allowing for flexible input and verification strategies, including support for multiple input streams and sliding windows based on system or application timestamps.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Extent of automation

If manual testing methods are used for event processing systems, then testing can be performed, but automation capability is lacking and testing efficiency is low

Engineering Contradiction:
Improvetesting automationVSAvoidtesting efficiency
Core Design Contradiction:
Extent of automationVSProductivity

Solution Approach 1:

The testing framework enables self-service automation by automatically generating test cases from event processing configurations, executing tests without manual intervention, and producing verification reports autonomously. The system serves itself by transforming event processing definitions into executable test scenarios that validate the system behavior.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The framework performs preliminary actions by pre-defining test scenarios based on event processing configurations before actual system execution. Test cases are prepared in advance using the event processing language definitions, allowing systematic validation to occur automatically when the system processes events.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If comprehensive testing coverage is implemented for complex event processing scenarios, then system reliability improves, but testing complexity increases

Engineering Contradiction:
Improvesystem reliabilityVSAvoidtesting framework complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The testing framework achieves universality by designing a single unified system that can handle multiple event processing scenarios, different event types, and various testing requirements through a common event processing language. This multi-functional approach covers complex event correlations, temporal patterns, and stream processing without requiring separate testing mechanisms for each scenario.

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

Solution Approach 2:

The framework manages complexity through parameter changes by allowing flexible configuration of event processing parameters such as time windows, event thresholds, and correlation rules. These parameters can be adjusted to match different testing scenarios while maintaining the same underlying testing mechanism, reducing the need for complex specialized testing code.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If real-time data stream processing is validated, then system performance is ensured, but testing time and resources increase

Engineering Contradiction:
Improvedata processing capabilityVSAvoidtesting time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The testing framework uses copying by creating virtual representations of real-time data streams through event objects that mimic actual stream behavior. Instead of requiring physical real-time data sources, the framework copies essential stream characteristics into testable event objects, enabling validation of real-time processing without the overhead of actual real-time data generation and collection.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS10140196B2System and method for configuring a sliding window for testing an event processing system based on a system time
Publication Date: 2018.11.27 ORACLE INT CORP
  • US10140196B2 patent drawing
  • US10140196B2 patent drawing
  • US10140196B2 patent drawing

AI summary

Systems and methods can use a testing framework for testing an event processing system. The testing framework operates to send a stream of input events for an event processing system, wherein each said input event is associated with a timestamp that is based on a system time, and wherein said event processing system processes the stream of input events in a batch mode with one or more sliding cycles. Furthermore, the testing framework can determine a base time for an event window in the system time, wherein said event window includes one or more input events in a sliding cycle that corresponds to a plurality of expected output events associated with a shared timestamp, and applies the event window on the stream of input events that are sent to the event processing system.