Visual Analytics Pipeline for Progressive Low-Latency Data Exploration
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing tools for analyzing large datasets suffer from high latency due to the inability to load and process millions or billions of data points efficiently, impairing interactivity and usability.
Innovation Solution
A system and method for explorable visual analytics that processes large datasets in parallel, updates views progressively as data is processed, and manages data reuse and discard based on user interactions, utilizing a client-server architecture with pre-processing, bulk data delivery, and parallel processing to reduce latency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of information
If all data points in the dataset are loaded onto the client for analysis, then the completeness of data analysis is improved, but the loading time and processing latency increase significantly
Solution Approach 1:
The patent divides the large dataset into multiple partitions or chunks that can be loaded and processed separately. Instead of loading all data points at once, the system segments the data into manageable portions, processes them in parallel, and aggregates the results. This segmentation allows complete data analysis to be achieved without the bottleneck of loading the entire dataset simultaneously, thereby reducing loading time while maintaining analytical completeness.
Solution Approach 2:
The system performs preliminary actions by pre-processing and indexing the dataset on the server side before transmission to the client. Data is prepared, filtered, and organized in advance, so that when data is loaded onto the client, it is already in an optimized state for analysis. This preliminary processing reduces the amount of work needed on the client side and minimizes loading and processing latency.
2Manufacturing precision
If a large number of data points are processed sequentially, then the processing thoroughness is improved, but the processing speed decreases
Solution Approach 1:
The processing pipeline is segmented into multiple independent stages that can operate in parallel. Each stage processes a specific aspect of the data (e.g., filtering, aggregation, transformation) and can be executed simultaneously across multiple data partitions. This maintains processing thoroughness by ensuring each data point undergoes complete processing, while achieving high speed through parallel execution of segmented processing tasks.
Solution Approach 2:
The system implements continuous processing where data loading, processing, and result generation occur in an overlapping manner. While one batch of data is being processed, the next batch is being loaded, and results from completed batches are being aggregated. This continuous pipeline eliminates idle time and maintains high processing throughput without sacrificing the thoroughness of individual data point processing.
3Measurement precision
If analytics and rendering are performed on the client with all data, then the analysis accuracy is improved, but the client resource consumption and latency increase
Solution Approach 1:
The patent extracts and moves heavy computational tasks from the client to the server. Complex analytics, data filtering, and aggregation operations are performed on the server where abundant computational resources are available. The client receives only the essential processed results or pre-computed analytics, maintaining analysis accuracy while dramatically reducing client resource consumption and associated latency.
Solution Approach 2:
An intermediary processing layer is introduced between the data source and the client. This intermediary server performs preliminary analytics, data transformation, and result aggregation, serving as a mediator that reduces the computational burden on the client. The client interacts with this intermediary layer which handles resource-intensive operations, thereby preserving analysis accuracy while minimizing client resource usage.
Data Source
AI summary
A method and system for processing datasets having a number of data points are described. A portion of the dataset is received and processed in parallel. A view on a display is updated to include a first section of the portion of the dataset after the first section completes processing but before a remainder of the portion of the dataset completes processing. In some aspects, the portion of the dataset can include up to one million or more data points. In some aspects, if a change from the view to a second view is received before processing has completed, an unusable part of the dataset is discarded and/or a reusable part of the dataset that has completed processing is reused for the second view. In some aspects, columns of different dataset may be correlated and/or processed data is provided such that the processed data may be rapidly rendered.


