Caching Visualization Data for Widget Rendering

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current database processing systems face performance bottlenecks when rendering data presentations from cloud-based analytics engines, particularly due to the need for repeated queries to retrieve visualization data, which can lead to delays and inefficiencies in rendering multiple software widgets simultaneously.

Innovation Solution

The system employs caching of processed visualization data from a cloud-based analytics engine, allowing for parallel retrieval and processing of data during the rendering of one software widget, and subsequent rendering of another widget using cached data without additional queries, thereby optimizing performance and reducing bottlenecks.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the system retrieves visualization data from the cloud-based analytics engine for each software widget sequentially, then data accuracy is ensured, but rendering performance deteriorates due to repeated queries and sequential processing

Engineering Contradiction:
Improverendering performanceVSAvoidquery execution time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system performs preliminary actions by retrieving and caching visualization data from the cloud-based analytics engine before the software widgets are actually rendered. This allows the data to be prepared in advance and stored in a cache, eliminating the need for repeated queries during the rendering process and significantly improving rendering performance.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements beforehand cushioning by pre-fetching and caching visualization data before it is needed for widget rendering. This creates a buffer of pre-prepared data that cushions against the performance degradation that would otherwise occur from repeated sequential queries to the cloud-based analytics engine during rendering operations.

Inventive Principle:
Principle #11Beforehand cushioning (Prior cushioning)

2Reliability

If the system sends multiple queries to the cloud-based analytics engine for different software widgets, then complete visualization data is obtained, but system load increases causing bottlenecks

Engineering Contradiction:
Improvedata completenessVSAvoidsystem load
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system merges multiple separate queries to the cloud-based analytics engine into a single consolidated query. By combining the data retrieval operations, the system reduces the total number of queries sent to the cloud service, thereby decreasing system load and avoiding bottlenecks while still obtaining complete visualization data for all software widgets.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The system implements universality by creating a single cached data structure that serves multiple software widgets simultaneously. Instead of querying the cloud-based analytics engine separately for each widget, the system retrieves data once and makes it universally available to all widgets that need it, reducing system load while maintaining data completeness.

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

3Speed

If the system processes visualization data sequentially for each software widget, then processing accuracy is maintained, but rendering speed decreases

Engineering Contradiction:
Improverendering speedVSAvoiddata processing complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The system performs preliminary processing of visualization data by retrieving and caching it from the cloud-based analytics engine before the software widgets are rendered. This preliminary action allows the data to be prepared in advance, enabling faster rendering speeds without compromising processing accuracy, as the data is already processed and ready for use.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system uses copying by creating cached copies of visualization data from the cloud-based analytics engine. These cached copies are stored locally and can be quickly accessed and rendered without requiring repeated processing operations, thereby increasing rendering speed while maintaining data integrity through accurate copying of the original visualization data.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS10866707B2Caching data for rendering data presentation
Publication Date: 2020.12.15 SAP SE
  • US10866707B2 patent drawing
  • US10866707B2 patent drawing
  • US10866707B2 patent drawing

AI summary

A method for accessing data stored in a database may include receiving, at an application, a request to load a data story including a first software widget and a second software widget. The first software widget and the second software widget each being configured to create, based on a portion of data stored in a database coupled with a cloud-based analytics engine, a corresponding data presentation providing a visual representation of at least the portion of data. The first software widget may be rendered while visualization data for the second software widget is retrieved from the cloud-based analytics engine, processed, and stored in a cache. Upon completing the rendering of the first software widget, the processed visualization data for the second software widget may be retrieved from the cache in order to render the second software widget. Related systems and articles of manufacture are also provided.