Document Preloading via Viewport Prediction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Client devices with limited memory and processing capacity experience lag and high resource usage due to the need to retrieve data from remote servers, especially when navigating through documents, exacerbated by limited network bandwidth.

Innovation Solution

Implementing a scheduling policy that employs a prediction policy and pre-rendering of data based on the current viewport state, using a preloader to predict and preload subsequent document portions, thereby reducing wait times and resource usage by pre-rendering data in a local cache.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Use of energy by moving object

If data is stored and processed on a remote server in the cloud, then client device memory capacity and processing speed are preserved, but user experience suffers due to lag and wait time when retrieving data

Engineering Contradiction:
Improveclient device processing capacityVSAvoiddata retrieval wait time
Core Design Contradiction:
Use of energy by moving objectVSLoss of time

Solution Approach 1:

The system performs preliminary actions by predicting which data will be needed next and preloading it into the client device's memory before the user actually requests it. This involves analyzing user behavior patterns, document structure, and navigation history to anticipate future data needs, thereby eliminating wait time when the user actually accesses the predicted data.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent segments data retrieval into multiple stages: currently viewed data is loaded immediately, while future data is segmented into prediction-based batches that are preloaded in the background. This segmentation allows the system to manage limited client device memory efficiently while reducing perceived wait time through selective preloading of only the most likely needed data segments.

Inventive Principle:
Principle #1Segmentation

2Loss of time

If data is preloaded into client device memory, then user wait time is reduced, but client device memory capacity is exceeded and processing capacity is overwhelmed

Engineering Contradiction:
Improveuser wait timeVSAvoidclient device memory usage
Core Design Contradiction:
Loss of timeVSQuantity of substance

Solution Approach 1:

The system applies local quality by making different parts of the data access system have different properties: hot data (currently viewed) is kept in fast local memory, while cold data (historical or rarely accessed) remains on the remote server. The prediction mechanism creates a intermediate zone of preloaded data that is locally cached based on specific quality metrics like predicted access probability and data size, optimizing the balance between speed and memory consumption.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The system dynamically changes parameters such as cache size allocation, data compression ratios, and preloading depth based on available memory conditions, network bandwidth, and predicted user behavior. When memory is constrained, the system adjusts by reducing preloaded data volume or increasing compression, while maintaining the core benefit of reduced wait time for critical data.

Inventive Principle:
Principle #35Parameter changes

3Speed

If more data is cached locally, then data access speed improves, but network bandwidth is consumed for continuous data transfers

Engineering Contradiction:
Improvedata access speedVSAvoidnetwork bandwidth consumption
Core Design Contradiction:
SpeedVSLoss of energy

Solution Approach 1:

The prediction-driven preloading system operates autonomously by monitoring user interactions and automatically determining what data to preload without requiring explicit user requests or continuous server communication. This self-service mechanism reduces network overhead by making intelligent local decisions about data preloading based on observed usage patterns, thereby improving access speed while minimizing unnecessary network bandwidth consumption.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS8892638B2Predicting and retrieving data for preloading on client device
Publication Date: 2014.11.18 MICROSOFT TECHNOLOGY LICENSING LLC
  • US8892638B2 patent drawing
  • US8892638B2 patent drawing
  • US8892638B2 patent drawing

AI summary

Retrieval and local storage of data at mobile devices is managed by employing a scheduling policy based on a prediction policy of a preloader, a pre-render policy, and with respect to a current viewport state to reduce waiting time and mobile device resource usage. Portions of data maintained on a server associated with a client device are retrieved and preloaded into the client device memory to enable a user to view documents seamlessly while navigating through a document without overburdening the client device memory and/or processing capacity based on a prediction. A current viewing position of the document and user navigation on the document via a touch action or gesture are detected and next portion of data to present another portion of the document is predicted. A request manager may retrieve the requested data from the server and pre-rendered so that it is available when requested by the user.