Visual Debugging of Complex Event Processing Query Flows

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Complex event processing systems face challenges in determining the correctness and validity of results due to their time-sensitive and real-time nature, making it difficult to present event information in a manner easily evaluable by developers, especially with high-volume and high-speed event streams.

Innovation Solution

A visual analysis and debugging system is implemented, where a Complex Event Processing (CEP) engine generates an event flow that is used to create a user interface (UI) representing the query and event flow, including a graph with nodes for operators and edges for connections, allowing users to visually analyze and debug the query through tools like filtering, root cause analysis, and event propagation analysis.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If CEP systems process high-volume and high-speed event streams in real-time, then processing speed and throughput are improved, but the ability to determine correctness and validity of results deteriorates

Engineering Contradiction:
Improveevent processing throughputVSAvoidresult correctness verification
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system performs preliminary actions by logging intermediate event states at each operator node before final results are produced. This allows developers to later examine and verify the correctness of event transformations without reprocessing the entire high-volume event stream, thus maintaining both high processing throughput and result verification capability.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system creates copies of event data in the form of logged intermediate states at each operator. These copies preserve the event information needed for validation without interfering with the real-time processing flow, enabling developers to analyze result correctness separately from the high-speed processing operation.

Inventive Principle:
Principle #26Copying

2Productivity

If CEP systems process large numbers of events in short periods, then processing speed is improved, but the ease of presenting and evaluating event information deteriorates

Engineering Contradiction:
Improveevent processing speedVSAvoidevent information evaluation
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

The system segments event information presentation by displaying intermediate states at individual operator nodes rather than presenting all events together. The graphical interface allows developers to focus on specific operators and their transformations, making it easier to evaluate event flow correctness even when processing large volumes of events at high speed.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system introduces an intermediary graphical user interface that mediates between the high-speed event processing and developer evaluation needs. This interface provides visual representation of event flows and intermediate states, translating complex high-volume event data into an easily evaluable format without reducing processing speed.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Difficulty of detecting and measuring

If detailed event flow information is captured for debugging, then debugging capability is improved, but the complexity of the system increases

Engineering Contradiction:
Improvedebugging capabilityVSAvoidsystem complexity
Core Design Contradiction:
Difficulty of detecting and measuringVSDevice complexity

Solution Approach 1:

The CEP operators automatically log their intermediate event states without requiring additional complex debugging infrastructure. Each operator self-services by capturing and storing its own output events, providing detailed debugging information through the graphical interface while avoiding the need for complex external monitoring systems.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS10496525B2Visual analysis and debugging of event flows
Publication Date: 2019.12.03 MICROSOFT TECHNOLOGY LICENSING LLC
  • US10496525B2 patent drawing
  • US10496525B2 patent drawing
  • US10496525B2 patent drawing

AI summary

Methods, systems, and computer-readable media for analyzing a query are disclosed. A particular method includes receiving data representing an event flow associated with execution of a query that includes a plurality of operators. A graph is generated that includes a plurality of nodes that corresponds to operators of the query, and edges of the graph that correspond to streams between operators of the query. The method includes receiving an input identifying a particular node of the graph, where the particular node corresponds to a particular operator of the query. In response to the input, an output associated with at least one event processed by the particular operator is displayed.