Pre-fetch Cache for Visualization Latency Reduction
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Distributed software applications face user experience delays due to latency issues from communication between client and server devices, particularly when updating visualizations, as they require processing-intensive tasks and data transmission across networks.
Innovation Solution
A client computing device with a pre-fetch cache system that includes transformations labeled with visualization states, allowing for local updating of visualizations based on user interactions without relying solely on server processing, using an interaction detector, cache analyzer, and visualization updater components to leverage pre-fetched transformations.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of time
If the server computing device processes and transmits visualization updates to the client computing device, then the visualization can be updated with server-side processing, but the user experience is degraded due to network latency and server processing time
Solution Approach 1:
The server computing device pre-computes and stores transformations for potential visualization updates before they are requested. When a user interacts with the visualization, the client device can immediately apply these pre-computed transformations from the pre-fetch cache without waiting for server processing, thereby eliminating the latency associated with real-time server computation while maintaining updated visualization states.
2Reliability
If the client computing device requests visualization updates from the server computing device, then the visualization state can be synchronized, but network communication overhead and latency increase
Solution Approach 1:
The server anticipates potential user interactions and pre-computes the corresponding visualization transformations, storing them in the pre-fetch cache on the client device. This allows the client to immediately apply transformations locally when user interactions occur, maintaining synchronization with the server while eliminating the need for real-time network communication during update operations.
Solution Approach 2:
The client computing device maintains a local pre-fetch cache that contains copies of transformation data normally stored on the server. This local cache enables the client to perform updates independently by applying stored transformations without requiring continuous communication with the server, thereby reducing network overhead while preserving data consistency.
3Manufacturing precision
If the server computing device generates visualizations based on user input and data queries, then accurate visualizations can be produced, but processing-intensive tasks increase server load and response time
Solution Approach 1:
The server computing device pre-computes transformations for various potential user interactions and data queries, storing these transformations in the pre-fetch cache on the client device. When users interact with the visualization, the client can immediately apply these pre-computed transformations locally without requiring the server to perform intensive processing in real-time, thereby maintaining visualization accuracy while dramatically reducing processing time.
Data Source
Figure 1
Figure 2~3
Figure 4
AI summary
Various technologies pertaining to modifying visualizations are described herein. A client computing device requests a visualization from a server computing device, and the server computing device constructs the visualization responsive to receipt of the request. The server computing device further identifies anticipated transformations for the visualization, and transmits the visualization and the transformations to the client computing device. The client computing device displays the visualization, and responsive to receipt of a request to modify the visualization, executes a transformation provided by the server computing device to update the visualization.