Deferred Web Page Rendering with Browser Offloading
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Web page load times are prolonged due to slow response times from services, which can be exacerbated by network latency and computational demands, making it challenging to display important data promptly to users without delaying the overall page loading process.
Innovation Solution
Implement a dynamic page generation system where the web server defers rendering of data from slow services and offloads the task to a page update handler executed by the web browser, allowing for initial page loading with placeholders and subsequent data population by the browser, reducing server load and improving user experience.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of time
If the web server waits for slow service data before rendering the web page, then the service data can be displayed at a prominent location on the page, but the page load time increases significantly
Solution Approach 1:
The patent segments the web page rendering process into two phases: initial page rendering without slow service data, and subsequent data population after service completion. This allows the page structure and fast content to be displayed immediately, while slow service data is fetched and inserted asynchronously, resolving the contradiction between fast page load and complete data display
Solution Approach 2:
The patent performs preliminary page rendering and sends the HTML structure to the client before the slow service data is available. The page skeleton with placeholders is prepared in advance, allowing the user to see the page layout immediately, and the slow service data is subsequently populated into the predefined placeholder elements
2Productivity
If the web server generates a fully rendered page with all service data, then data accuracy is ensured, but server processing time and load increase
Solution Approach 1:
The patent extracts the slow service data retrieval task from the main page rendering process. Instead of waiting for slow service data before rendering, the system separates the page structure generation from the data population, allowing the server to complete rendering quickly and send the HTML skeleton, while the slow service data is fetched separately and inserted by the client-side script
Solution Approach 2:
The patent introduces a placeholder element as an intermediary between the page structure and the slow service data. The placeholder serves as a temporary substitute that allows the page to be rendered and displayed immediately, while the actual service data is subsequently populated into this intermediary element, reducing server processing time
3Loss of time
If the web page is designed with service data at the bottom of the page, then page load time is reduced, but the data visibility and prominence are compromised
Solution Approach 1:
The patent inverts the traditional approach of placing slow service data at the bottom of the page. Instead, it uses client-side scripting to populate service data at the desired prominent location (such as the top of the page) after the page structure is loaded. This inversion allows the page to display quickly with a skeleton structure, then dynamically populate data at visually prominent positions without delaying the initial page load
Data Source
AI summary
A web server system that incorporates service data into web pages defers the task of generating a portion of a web page associated with late-arriving service data, and offloads this task to the web browser that requested the page. Upon receiving a page request that involves a service request to a potentially slow service, the web server system generates and serves a “deferred rendering”, version of the web page that lacks the data from this service, but which includes most or all of the other visual elements of the page. Upon receiving the requested service data, the web server system forwards this data to the browser, which executes a page update handler (preferably a JavaScript function) to update the page with the service data. The data may be added near the top of the visual page, within a display object that initially serves as a placeholder for the service data.


