Browser Table Tiling for Data Retrieval Performance
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Web-based systems face performance issues due to the extensive data retrieval and display, leading to database timeouts and slow response times, especially when dealing with large datasets, as existing methods either load entire pages at once or discard data upon scrolling, resulting in inefficient resource usage and increased server requests.
Innovation Solution
Implementing client-side caching of rendered pages and optimizing data retrieval by dividing tables into tiles, where only visible tiles are initially loaded and rendered, with additional data downloaded and cached as the user scrolls, allowing for efficient rendering without additional server calls.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of information
If all applicable data is retrieved from the database when the page is initially accessed, then the user has access to complete information, but database timeouts or slow response times occur
Solution Approach 1:
The patent divides the table data into multiple tiles, where each tile represents a portion of the table. Only the visible tiles are initially loaded and rendered, while other tiles are loaded on-demand as the user scrolls. This segmentation allows the system to provide complete information access while avoiding the performance penalty of loading all data at once, as each tile is an independent unit that can be loaded separately.
Solution Approach 2:
The patent implements client-side caching of rendered pages and pre-loads tiles that are likely to be viewed next based on user scrolling behavior. This preliminary action ensures that when users navigate to previously viewed portions of the table, the data is already cached and available immediately without requiring additional database queries, thus maintaining both data completeness and fast response times.
2Reliability
If only a screen full of data is loaded at a time, then database timeouts are avoided, but additional server requests are required when users scroll to previously viewed data
Solution Approach 1:
The patent implements client-side caching of rendered pages and pre-loads tiles that are likely to be viewed next based on user scrolling behavior. This preliminary action ensures that when users navigate to previously viewed portions of the table, the data is already cached and available immediately without requiring additional database queries, thus maintaining both data completeness and fast response times.
3Loss of time
If rendered pages are cached at the client, then response times improve, but expensive maintenance is required to manage the cache
Solution Approach 1:
The patent divides the table data into multiple tiles, where each tile represents a portion of the table. Only the visible tiles are initially loaded and rendered, while other tiles are loaded on-demand as the user scrolls. This segmentation allows the system to provide complete information access while avoiding the performance penalty of loading all data at once, as each tile is an independent unit that can be loaded separately.
4Ease of manufacture
If cached pages are stored as images, then rendering is simplified, but the cache must be cleared and emptied when the browser is resized, reducing efficiency
Solution Approach 1:
The patent changes the storage format from images to structured data (HTML tables with DOM elements). This allows the cached content to be dynamically adjusted when browser resizing occurs, as the structured data can be re-rendered at different sizes without requiring cache clearance. The DOM-based storage maintains rendering simplicity while eliminating the need to clear cache on resize events.
Data Source
AI summary
A method is provided for managing retrieval of content for display in a table by a browser. When large tables of data are displayed by browsers, not all the data can be viewed at once. To improve performance, only the data in the visible portion of table may be downloaded when the user first accesses the page. The table may be divided into tiles such that each tile comprises multiple table cells, each tile to be treated as a separate component to be independent loaded and rendered. When a user accesses the page, the relevant data for the initially displayed tile(s) is downloaded from the server, stored in the browser's document object model (DOM), and rendered for display. As the user scrolls, additional data not yet stored in the DOM is downloaded, cached in the DOM and rendered.


