Worker Thread Processing for Dashboard Visualization Rendering

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Enterprise software systems face performance bottlenecks in rendering data visualizations due to the need to repeatedly fetch and process visualization definitions and model data, leading to slow response times.

Innovation Solution

Implementing query and model data persistence at a backend data source, allowing one thread to render a story page while another thread issues queries and builds results, and using a priority queue algorithm to manage query execution.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a reporting tool fetches visualization definitions and model data from a backend data source for each user request, then the system can provide up-to-date data, but the response time becomes slow due to repeated data fetching and query processing

Engineering Contradiction:
Improvedata freshnessVSAvoidresponse time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs preliminary actions by persisting queries and model data in association with visualization definitions at the backend data source before they are needed. This allows the data to be pre-positioned and ready for rapid retrieval when visualization requests occur, eliminating the need to fetch model data separately each time

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system creates copies of queries and model data and stores them in association with visualization definitions at the backend data source. These copied data elements can be quickly retrieved and used without requiring repeated fetching from the original sources, significantly reducing response time while maintaining data accuracy

Inventive Principle:
Principle #26Copying

2Adaptability or versatility

If the reporting tool builds and issues queries for each visualization request, then the queries are customized to user needs, but the repeated query building and processing creates performance bottlenecks

Engineering Contradiction:
Improvequery customizationVSAvoidquery processing speed
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

Queries are built and persisted in association with visualization definitions in advance, before actual user requests. This preliminary query construction eliminates the need to repeatedly build the same queries, while the system maintains the ability to execute customized queries when needed

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system creates and stores copies of queries alongside visualization definitions. These query copies can be executed directly without rebuilding, maintaining query customization capabilities while dramatically improving processing speed by avoiding repeated query construction and compilation

Inventive Principle:
Principle #26Copying

3Measurement precision

If model data is fetched separately for each visualization, then the system ensures data accuracy, but the separate fetching process increases overall processing time

Engineering Contradiction:
Improvedata accuracyVSAvoiddata fetching time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The system merges the fetching of visualization definitions and model data into a single operation. By persisting model data in association with visualization definitions at the backend, both data types are retrieved together in one operation rather than separately, reducing total fetching time while ensuring data accuracy through their persistent associations

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

Model data copies are stored in association with visualization definitions, allowing both to be retrieved simultaneously in a single fetch operation. This eliminates the need for separate model data fetching while maintaining data accuracy through the persistent relationships embedded in the copied data structures

Inventive Principle:
Principle #26Copying

Data Source

PatentUS11693822B2Worker thread processing
Publication Date: 2023.07.04 SAP SE
  • US11693822B2 patent drawing
  • US11693822B2 patent drawing
  • US11693822B2 patent drawing

AI summary

A system includes reception of a request to display a first dashboard, transmission of a request for a first dashboard data file associated with the first dashboard from a server system, reception of the first dashboard data file associated with the first dashboard from the server system, issuance a first plurality of queries of the first dashboard data file to the server system, reception of result sets in response to the first plurality of queries, building of results based on the result sets and the model data, rendering of one or more data visualizations based on the results, and presentation of the one or more data visualizations on the display.