Input Data Sampling via Execution Path Recording

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In streaming processing applications, debugging is hindered by the slow speed of operation modules in debugging mode and reliance on manual analysis, making it difficult to test without affecting the entire application or requiring extensive expertise.

Innovation Solution

A method and system for sampling input data based on execution paths, allowing for automated formation of test suites that can be used for debugging without stopping the online application, by buffering input data, recording execution paths, and sampling data accordingly.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If the operation module runs in debugging mode, then debugging can be performed, but the running speed becomes much lower than in on-line execution mode

Engineering Contradiction:
Improvedebugging capabilityVSAvoidrunning speed
Core Design Contradiction:
Ease of operationVSSpeed

Solution Approach 1:

The patent segments the data processing flow by introducing a separate buffering mechanism that captures input data independently of the operation module's execution mode. This allows the operation module to run in debugging mode with buffered data while the buffering component continues to operate at full speed, effectively separating the debugging function from the execution speed constraint.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a buffering mechanism as an intermediary component between the data source and the operation module. This buffer acts as a mediator that stores input data and supplies it to the operation module during debugging, allowing the operation module to run slower without affecting the overall system throughput and enabling debugging capability to be maintained independently of execution speed.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of manufacture

If manual analysis and experience are used to design test cases, then test cases can be created, but the effectiveness depends heavily on the capability and experience level of manual analysis

Engineering Contradiction:
Improvetest case creationVSAvoidtest case effectiveness
Core Design Contradiction:
Ease of manufactureVSReliability

Solution Approach 1:

The patent implements self-service by enabling the system to automatically generate test cases through execution path recording and analysis. Instead of relying on manual analysis and human expertise, the system autonomously captures actual execution paths from the buffering data and uses them to create test cases, making the test case creation process independent of human capability and experience levels.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent employs feedback by recording actual execution paths from buffered input data and using this information to automatically generate test cases. The system continuously monitors and captures real execution behavior, feeds this information back into the test case generation process, and thereby creates test cases that reflect actual system behavior rather than relying on manual estimation or experience.

Inventive Principle:
Principle #23Feedback

3Reliability

If debugging is performed on a streaming application, then errors can be detected, but the whole streaming application must be stopped

Engineering Contradiction:
Improveerror detectionVSAvoidapplication continuity
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent applies preliminary action by buffering input data before it reaches the operation module. This pre-capture of data allows the system to prepare test data in advance, enabling debugging to be performed on buffered data without interrupting the live streaming application. The buffering action is performed preliminarily, separating the debugging process from the application execution flow.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent segments the system into distinct components: a buffering mechanism that operates independently, an operation module that can be debugged, and a live streaming application that continues to run. This segmentation allows debugging to be performed on the operation module using buffered data while the streaming application maintains its execution, enabling error detection without stopping the entire application.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS8132051B2Method and system for sampling input data
Publication Date: 2012.03.06 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US8132051B2 patent drawing
  • US8132051B2 patent drawing
  • US8132051B2 patent drawing

AI summary

A method and system for sampling input data. The method includes: buffering input data; recording an execution path of the buffered input data in an online operation module; determining whether the buffered input data passes through a desired execution path, and responsive to the buffered input data passing through the desired execution path, sampling the buffered input data to a data set. The system includes: buffering means for buffering input data; recording means for recording an execution path; sampling means for determining whether the buffered input data passes through a desired execution path.