Predictive UI Element Caching for Virtual Desktop Latency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In desktop virtualization systems, high latency and packet loss between client computing devices and remote servers lead to a poor user experience, particularly when navigating user interface elements due to increased network latency across continents.

Innovation Solution

A computing system that includes a virtualization server configured to run virtual machine sessions and provide hosted applications with ordered hierarchies of graphical control elements, where client computing devices display these elements as local virtual UI elements, generate predicted responses to user input, and update graphics overlays based on estimated latency, ensuring seamless user interaction.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If desktop virtualization is implemented with remote servers across continents, then resource consolidation and flexibility are improved, but network latency and packet loss increase leading to poor user experience

Engineering Contradiction:
ImproveflexibilityVSAvoidnetwork latency
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The system performs preliminary actions by predicting the user's next UI navigation target before the actual navigation occurs. The client device sends predictive navigation requests ahead of time, and the server prepares and returns UI element data in advance. This allows the system to cache UI elements locally before they are needed, so when the user actually navigates to those elements, the data is already available locally, eliminating the latency of real-time network requests.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements local quality by maintaining local caches of UI element data on the client device. Instead of relying entirely on remote server access, frequently accessed or predictably accessed UI elements are stored locally with their associated data (such as control properties, event handlers, and rendering information). This local storage allows immediate access to UI elements without network latency, while still maintaining the virtualized desktop architecture with remote server management.

Inventive Principle:
Principle #3Local quality

2Ease of operation

If UI elements are navigated in real-time over remote networks, then user interface functionality is maintained, but response time deteriorates due to high latency

Engineering Contradiction:
Improveuser interface functionalityVSAvoidresponse time
Core Design Contradiction:
Ease of operationVSSpeed

Solution Approach 1:

The system performs preliminary actions by predicting the user's next UI navigation target before the actual navigation occurs. The client device sends predictive navigation requests ahead of time, and the server prepares and returns UI element data in advance. This allows the system to cache UI elements locally before they are needed, so when the user actually navigates to those elements, the data is already available locally, eliminating the latency of real-time network requests.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements feedback mechanisms by monitoring user interaction patterns and using this information to improve prediction accuracy. The client device tracks which UI elements the user navigates to and in what sequence, feeding this information back to refine the prediction model. This continuous feedback loop allows the system to anticipate user actions more accurately over time, further reducing latency by pre-loading the correct UI elements before they are needed.

Inventive Principle:
Principle #23Feedback

3Ease of manufacture

If graphical control elements are transmitted from remote server to client device, then centralized management is achieved, but network bandwidth consumption increases

Engineering Contradiction:
Improvecentralized managementVSAvoidnetwork bandwidth consumption
Core Design Contradiction:
Ease of manufactureVSLoss of energy

Solution Approach 1:

The system implements local quality by maintaining local caches of UI element data on the client device. Instead of relying entirely on remote server access, frequently accessed or predictably accessed UI elements are stored locally with their associated data (such as control properties, event handlers, and rendering information). This local storage allows immediate access to UI elements without network latency, while still maintaining the virtualized desktop architecture with remote server management.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The system performs preliminary actions by predicting the user's next UI navigation target before the actual navigation occurs. The client device sends predictive navigation requests ahead of time, and the server prepares and returns UI element data in advance. This allows the system to cache UI elements locally before they are needed, so when the user actually navigates to those elements, the data is already available locally, eliminating the latency of real-time network requests.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11693674B2Providing user interface (UI) elements having an ordered hierarchy of graphical control elements in virtual machine sessions at reduced latency and related methods
Publication Date: 2023.07.04 CITRIX SYSTEMS INC
  • US11693674B2 patent drawing
  • US11693674B2 patent drawing
  • US11693674B2 patent drawing

AI summary

A computing system includes a virtualization server that runs virtual machine sessions and provides a hosted application with user interface (UI) elements having an ordered hierarchy of graphical control elements when sequenced therethrough. A client computing device accesses the hosted application and receives the ordered hierarchy of graphical control elements and displays the graphical control elements as local virtual UI elements, applies user input to one of the graphical control elements in focus, generates a local virtual UI element graphics overlay for display corresponding to a predicted response to the user input as a next graphical control element in the ordered hierarchy and sends the user input to the virtualization server.