Browser Data Visualization with QuadTree-Based Point Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Browser-based visualization of large datasets with millions of data points faces challenges due to memory limitations, processing demands, and JavaScript's single-threaded execution model, leading to performance issues like the 'Aw, Snap!' error and sluggish interactions.

Innovation Solution

A modified Douglas-Peucker algorithm combined with a QuadTree data structure, leveraging GPU-assisted parallelization and machine learning, optimizes data simplification and spatial indexing to process only relevant data subsets efficiently.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If browser-based visualization tools are used to display large datasets, then accessibility and ease of operation are improved, but memory limitations and processing demands cause performance degradation and crashes

Engineering Contradiction:
Improveease of operationVSAvoidreliability
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The patent segments the dataset into multiple manageable chunks and processes them in batches rather than loading the entire dataset at once. This segmentation approach divides the large data into smaller subsets that can be processed and rendered incrementally, preventing memory overflow while maintaining the ability to visualize comprehensive data over time.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary data processing, filtering, and aggregation operations before visualization occurs. By pre-processing the data to identify and retain only the most relevant information, the system reduces the data volume that needs to be rendered in real-time, thereby preventing browser crashes while preserving essential data insights.

Inventive Principle:
Principle #10Preliminary action

2Measurement precision

If all data points are rendered to maintain visual accuracy, then measurement precision is improved, but rendering time and processing demands increase significantly

Engineering Contradiction:
Improvevisual accuracyVSAvoidrendering time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent applies different levels of detail to different regions of the visualization based on their importance. High-density or critical areas are rendered with full precision and detail, while low-density or less critical areas are rendered with reduced detail. This local quality differentiation maintains visual accuracy where needed while significantly reducing overall rendering time.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent selectively renders only the necessary subset of data points rather than all data points. By using algorithms to identify and render only the most relevant data, the system achieves sufficient visual accuracy for analysis while reducing rendering time and computational resources required.

Inventive Principle:
Principle #16Partial or excessive action

3Productivity

If data simplification is applied to reduce complexity, then productivity and rendering speed are improved, but information loss occurs

Engineering Contradiction:
Improverendering speedVSAvoidinformation loss
Core Design Contradiction:
ProductivityVSLoss of information

Solution Approach 1:

The patent implements feedback mechanisms that continuously monitor the visualization quality and data representation during simplification processes. Based on this feedback, the system dynamically adjusts the level of simplification to maintain the most important data patterns and insights while optimizing rendering performance. This feedback loop prevents excessive information loss.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent dynamically adjusts simplification parameters such as tolerance thresholds and aggregation granularities based on data characteristics and user interaction patterns. By adapting these parameters in real-time, the system optimizes the balance between data simplification for faster rendering and information preservation for accurate analysis.

Inventive Principle:
Principle #35Parameter changes

4Ease of operation

If JavaScript's single-threaded execution model is used, then ease of operation and browser compatibility are improved, but processing speed and interactivity are reduced

Engineering Contradiction:
Improvebrowser compatibilityVSAvoidprocessing speed
Core Design Contradiction:
Ease of operationVSSpeed

Solution Approach 1:

The patent segments computational tasks into independent units that can be processed in parallel using Web Workers. By dividing the data processing workload into separate threads, the system overcomes JavaScript's single-threaded limitation while maintaining browser compatibility. This allows complex data processing to occur concurrently with user interaction without blocking the main thread.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces asynchronous processing and event-driven architectures that operate in a different temporal dimension from the main UI thread. By using promises, async/await patterns, and event listeners, the system achieves multi-threaded processing capabilities within the browser environment, significantly improving processing speed while preserving ease of operation and compatibility.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

Data Source

PatentUS20260030266A1Systems and Methods for Rendering Large-Scale Data Visualizations
Publication Date: 2026.01.29 SALESFORCE INC
  • US20260030266A1 patent drawing
  • US20260030266A1 patent drawing
  • US20260030266A1 patent drawing

AI summary

A computer system obtains an initial dataset for rendering a data visualization. The initial dataset includes a plurality of data points, and each data point has a respective spatial location in the visualization. The system dynamically generates a data structure, including (i) recursively dividing the plurality of data points into a plurality of nodes until each node satisfies a set of criteria and (ii) allocating a respective subset of data points to each node according to a spatial location of a respective data point in the data visualization. For each node, the system recursively applies a linearization algorithm to an initial subset of data points to obtain a reduced subset of data points. The system obtains a reduced dataset, generates a data visualization according to data in the reduced dataset, and causes display of the visualization on a browser application.