Predictive Ad Hoc Report Pre-execution for BI Latency Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Ad hoc reporting in Business Intelligence (BI) tools often faces performance issues due to the time it takes to execute reports, which is influenced by factors such as data volume, complexity, network performance, and concurrent user load, leading to suboptimal user experience.

Innovation Solution

A predictive method that anticipates user ad hoc reporting requests by identifying report objects and queries, dynamically generating and executing code to pre-execute queries based on historical patterns and user behavior, making pre-request execution data available for faster report generation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If ad hoc reports are generated dynamically based on user selections, then report flexibility and adaptability are improved, but report execution time increases

Engineering Contradiction:
Improvereport flexibilityVSAvoidreport execution time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The system performs preliminary actions by predicting user reporting requests before they are actually made. It analyzes user behavior patterns, historical data, and contextual information to anticipate what reports users will need, then pre-generates these reports in advance. This eliminates the need for real-time dynamic generation when users actually request the reports, thus resolving the contradiction between report flexibility and execution time.

Inventive Principle:
Principle #10Preliminary action

2Loss of time

If pre-calculation is performed to speed up report generation, then report execution time is reduced, but system resource consumption increases

Engineering Contradiction:
Improvereport execution timeVSAvoidsystem resource consumption
Core Design Contradiction:
Loss of timeVSUse of energy by moving object

Solution Approach 1:

Instead of performing complete pre-calculation for all possible reports, the system applies partial action by only pre-generating reports that are predicted to be actually requested by users. It uses behavioral analysis and prediction algorithms to identify a subset of high-probability reports and pre-calculates only those, avoiding the excessive resource consumption that would result from pre-calculating all possible reports while still achieving significant performance improvements.

Inventive Principle:
Principle #16Partial or excessive action

3Adaptability or versatility

If complex queries are executed to handle sophisticated reporting requirements, then report functionality is improved, but query execution performance deteriorates

Engineering Contradiction:
Improvereport functionalityVSAvoidquery execution performance
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The system executes complex queries in advance as part of the prediction-based pre-generation process. By analyzing the predicted reporting requirements, it prepares the necessary data and executes complex queries before users actually request the reports, transforming post-request processing into pre-request preparation, thus improving query execution performance without sacrificing report functionality.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10621205B2Pre-request execution based on an anticipated ad hoc reporting request
Publication Date: 2020.04.14 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10621205B2 patent drawing
  • US10621205B2 patent drawing
  • US10621205B2 patent drawing

AI summary

In the Business Intelligence (BI) realm, ad hoc reporting refers to relatively fast on-the-fly building of computer data reports in real-time. A process for pre-report execution based on an anticipated ad hoc reporting request is provided. This process predicts an ad hoc reporting request to generate an ad hoc report will be received from a user. Based on the ad hoc reporting request being predicted, and prior to receiving the ad hoc reporting request, the process dynamically generates and executes code to execute a query(ies) and acquires pre-request execution report data from execution of the query(ies). The ad hoc reporting request is received from the user, and based on receiving the ad hoc reporting request, the process identifies pre-request execution report data acquired prior to receiving the ad hoc reporting requests and generates the ad hoc report using the pre-request execution report data.