Cloud Analytics Runtime Parallel Data Retrieval

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current systems face performance bottlenecks when retrieving visualization data from cloud-based analytics engines, as this process is often coupled with rendering, leading to application unresponsiveness and sequential loading of software widgets on mobile devices.

Innovation Solution

Implementing a runtime system with a scripting engine that executes programming code for data retrieval on a background thread, while the in-app web browser renders the data presentation on the main thread, allowing parallel processing and maintaining application responsiveness.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If visualization data retrieval is performed on the main thread, then the application can maintain responsiveness, but the data retrieval process blocks user interface rendering and interactions

Engineering Contradiction:
Improveapplication responsivenessVSAvoiddata retrieval time
Core Design Contradiction:
Ease of operationVSLoss of time

Solution Approach 1:

The patent divides the application execution into separate threads: the main thread handles user interface rendering and interactions, while a background thread performs visualization data retrieval. This segmentation allows simultaneous execution of UI tasks and data fetching without mutual interference, resolving the contradiction between maintaining responsiveness and completing data retrieval.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a threading mechanism as an intermediary between the main thread and data retrieval operations. The background thread acts as a mediator that handles time-consuming data fetches without blocking the main thread's UI responsibilities, enabling both responsiveness and efficient data retrieval to coexist.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Quantity of substance

If software widgets are loaded sequentially on mobile devices, then memory resources are conserved, but the loading time increases significantly

Engineering Contradiction:
Improvememory usageVSAvoidwidget loading speed
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The patent implements preliminary loading of software widgets by fetching and caching their code in the background before they are actually needed. This allows widgets to be ready for immediate execution when triggered, significantly reducing perceived loading time while maintaining efficient memory management through selective pre-loading.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent maintains continuous useful action by implementing a background thread that continuously pre-loads and caches widget code while the application runs. This continuous background activity ensures that when widgets are needed, they are already prepared, eliminating idle waiting time while keeping memory usage optimized through on-demand caching.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS11176204B2Application runtime for cloud-based analytics engine
Publication Date: 2021.11.16 SAP IRELAND LTD
  • US11176204B2 patent drawing
  • US11176204B2 patent drawing
  • US11176204B2 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 that includes a software widget configured to create, based on a portion of data stored in a database coupled with a cloud-based analytics engine, a data presentation providing a visual representation of the portion of data. In response to the request to load the data story, a scripting engine associated with the application may execute a first programming code associated with the software widget. The first programming code may be executed to retrieve, from the cloud-based analytics engine, visualization data for rendering the data presentation. An in-app web browser associated with the application may execute a second programming code associated with the software widget. The second programming code may be executed to render, based on the visualization data retrieved from the cloud-based analytics engine, the data presentation.