Parallel Visualization Rendering via Background Data Retrieval
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Mobile computing devices face limitations in handling resource-intensive tasks due to their smaller size and reduced resources compared to stationary devices, which restricts their ability to process complex visualizations efficiently.
Innovation Solution
A method that utilizes a main processing thread for rendering visualizations while concurrently retrieving data for other visualizations using a background processing thread, storing data in cache for faster access, and employing parallel data retrieval to optimize network and memory usage.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If data retrieval is performed sequentially for each visualization, then processing is simple and memory usage is low, but rendering speed is slow and network resources are overused
Solution Approach 1:
The system performs preliminary data retrieval operations by starting background threads to fetch data for multiple visualizations before they are actually needed for rendering. This allows data to be prepared in advance, reducing waiting time during the actual rendering process and improving overall productivity without significantly increasing processing complexity.
Solution Approach 2:
The patent introduces a new dimension of parallel processing by using multiple background threads to retrieve data simultaneously for different visualizations. This transforms the single-threaded sequential approach into a multi-threaded parallel approach, dramatically improving rendering speed while managing complexity through structured thread management.
2Reliability
If all visualization data is retrieved from the computing system, then data freshness is high, but network resource usage increases and duplicate retrieval occurs
Solution Approach 1:
The system merges multiple data retrieval operations into a single coordinated process. When multiple visualizations require data, the system combines their data requests and retrieves them in parallel using background threads, reducing redundant network trips while ensuring all visualizations receive fresh data from the computing system.
Solution Approach 2:
The system performs preliminary checks to determine if data is already available in memory before initiating network retrieval. This preliminary action prevents duplicate data retrieval from the network while ensuring that when data is retrieved, it is fresh and up-to-date, thus reducing network resource usage without compromising data freshness.
3Productivity
If mobile devices process complex visualizations using available resources, then device utilization is high, but processing speed is limited compared to stationary devices
Solution Approach 1:
The system extracts the computationally intensive data retrieval operations from the main processing thread and places them in background threads. This separation allows the main thread to focus on rendering visualizations while background threads handle data fetching, improving overall processing efficiency without requiring additional computational power beyond what the mobile device already possesses.
Solution Approach 2:
The system performs preliminary data retrieval in background threads before the main rendering process needs the data. This preliminary action reduces the computational burden on the main thread during rendering, allowing mobile devices to process complex visualizations more efficiently by pre-loading data and minimizing real-time processing requirements.
Data Source
AI summary
Some embodiments provide a program. The program receives a visualization collection definition specifying a plurality of visualizations. The program further processes a first visualization in the plurality of visualization using a main processing thread. While processing the first visualization, the program also retrieves data for a second visualization in the plurality of visualizations from a computing system using a background processing thread. After the processing of the first visualization is completed, the program further processes the second visualization using the main processing thread.


