Server-Hosted App Scrolling via Prefetched Tile Caching
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Server-hosted applications accessed by mobile devices face significant network latency issues, leading to lag between user input and graphical feedback, especially on touch-based devices with limited computing capabilities and unpredictable network conditions.
Innovation Solution
A method where a server determines if graphical content contains scrollable UI controls, retrieves metadata, and transmits this information along with prefetched tile content to a remote device, allowing the client to process scrolling input actions and adjust the viewport, reducing server-side updates to zero latency by caching and displaying local video buffer content.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If server-hosted applications are accessed over network connections, then application accessibility and mobility are improved, but network latency causes lag between user input and graphical feedback
Solution Approach 1:
The system performs preliminary actions by prefetching tile content and caching it locally on the remote device before it is actually needed. When scrolling occurs, the viewport can immediately display cached content without waiting for network responses, effectively anticipating user navigation patterns and preparing data in advance.
Solution Approach 2:
The patent introduces an intermediary caching mechanism between the server and the remote device. This cache stores tile content locally, acting as a buffer that decouples the interaction between user input and server response, allowing the system to mask network latency by serving content from local storage when available.
2Extent of automation
If scrolling operations are processed through the server over the network, then centralized control is maintained, but responsiveness and user experience deteriorate due to network latency
Solution Approach 1:
The scrolling functionality is segmented into two parts: the viewport rendering and display operations are handled locally on the remote device for immediate responsiveness, while the server maintains centralized control over the application state and data. This division allows local operations to proceed without network latency while the server remains the authority on application logic.
Solution Approach 2:
The remote device performs self-service by locally caching tile content and handling viewport rendering independently. When a scroll gesture is detected, the device immediately displays cached content without requiring server intervention, making the scrolling operation self-sufficient and highly responsive while maintaining eventual consistency with the server.
3Reliability
If continuous server updates are transmitted to maintain synchronized display, then data consistency is ensured, but network bandwidth consumption and server resource usage increase
Solution Approach 1:
Instead of continuous updates, the system uses periodic or event-driven updates only when the viewport actually changes to new content. The server transmits tile content selectively based on scrolling actions, and the cache is updated periodically or on-demand rather than maintaining constant synchronization, reducing unnecessary network traffic while preserving data consistency when needed.
Data Source
AI summary
Environments are disclosed in which a server executes an application on behalf of a client device and, in particular, to providing responsive scrolling in server-hosted applications. In one example, a remote computing device may be a mobile (or stationary) computing device with (or without) a touch screen input surface. Some or all of the client-server communication between a client-side scrollable UI control module of the remote computing device and a server-side scrollable UI control module of the server device may occur in an asynchronous manner.


