Asynchronous Content Pre-fetching to Reduce Page Rendering Latency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Dynamic network pages often experience delayed rendering due to asynchronous content that takes a long time to process, leading to user frustration as the content is typically loaded synchronously, which can result in an incomplete page being rendered initially.

Innovation Solution

Implementing a pre-fetching mechanism at the network page server to cache asynchronous content before receiving a callback from the client, allowing for faster rendering of the page by reducing latency and improving user experience.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If asynchronous content is loaded synchronously, then the content can be fully processed and rendered, but the page rendering is delayed and user access is frustrated

Engineering Contradiction:
Improvecontent processing completenessVSAvoidpage rendering delay
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system pre-fetches asynchronous content in advance before the client actually needs it, by detecting asynchronous content markers in the network page and proactively requesting the content from services. This preliminary action allows the content to be ready when needed, eliminating rendering delays while maintaining processing completeness.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The content loading process is segmented into synchronous page rendering and asynchronous content loading. The network page is divided into synchronous content (rendered immediately) and asynchronous content (loaded separately via callbacks), allowing the page to be accessed partially while complete content loads in the background.

Inventive Principle:
Principle #1Segmentation

2Loss of time

If asynchronous content is loaded asynchronously, then the page can be rendered quickly, but the content may not be ready when needed causing incomplete page display

Engineering Contradiction:
Improvepage rendering speedVSAvoidcontent availability
Core Design Contradiction:
Loss of timeVSReliability

Solution Approach 1:

The system performs preliminary action by pre-fetching asynchronous content before the client's asynchronous callback occurs. The server detects the need for asynchronous content and proactively requests it from services, ensuring the content is ready when the client needs it, thus maintaining both speed and reliability.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If pre-fetching is implemented, then content can be cached and rendering speed improves, but additional server processing and caching mechanisms are required

Engineering Contradiction:
Improvecontent rendering speedVSAvoidserver processing complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The server implements preliminary action by automatically detecting asynchronous content markers in network pages and proactively pre-fetching content before callbacks occur. This automation reduces the need for complex manual caching mechanisms while improving rendering speed through automated content preparation.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system employs self-service mechanisms where the server automatically detects and handles asynchronous content requirements without extensive manual intervention. The pre-fetching mechanism operates autonomously based on content markers, reducing operational complexity while maintaining high productivity.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS8516041B1Pre-fetching asynchronously requested content
Publication Date: 2013.08.20 AMAZON TECH INC
  • US8516041B1 patent drawing
  • US8516041B1 patent drawing
  • US8516041B1 patent drawing

AI summary

Disclosed are various embodiments for pre-fetching data from a service in advance of obtaining an asynchronous callback for the data from a client. It is determined whether a network page requested by a client is configured to prompt the client to initiate an asynchronous callback for data that may be pre-fetched. The data is pre-fetched from a service before obtaining the asynchronous callback for the data from the client. The data that has been pre-fetched from the service is sent to the client in response to obtaining the asynchronous callback for the data from the client.