Remote Session Input Prioritization for Low-Latency Virtual Displays

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current desktop virtualization systems face challenges in delivering high-quality user input and graphics updates over networks with high latency and packet loss, particularly in cloud-based environments, leading to laggy user experiences, especially with high-resolution displays and complex graphics applications.

Innovation Solution

The system employs a prioritization method where critical user input data packets are sent over a reliable channel, while less critical packets are sent over a channel with higher packet loss, using forward error correction (FEC) to reconstruct user input data and optimize graphics rendering, thereby improving interactivity and reducing bandwidth impact.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If all user input data packets are sent over a reliable channel with low packet loss, then data reliability is improved, but network bandwidth consumption increases and latency worsens

Engineering Contradiction:
Improvedata delivery reliabilityVSAvoidnetwork latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent segments user input data packets into two categories: critical packets (sent over reliable channels) and non-critical packets (sent over lossy channels). This segmentation allows the system to apply different transmission strategies to different packet types, improving overall efficiency while maintaining reliability for essential data.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies different quality levels of transmission to different packets based on their importance. Critical packets receive high-quality reliable transmission, while non-critical packets use lower-quality lossy transmission. This local quality differentiation optimizes the balance between reliability and performance.

Inventive Principle:
Principle #3Local quality

2Productivity

If critical user input packets are prioritized over other data, then interactivity is improved, but bandwidth allocation complexity increases

Engineering Contradiction:
Improveuser interactivityVSAvoidbandwidth management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent performs preliminary classification of packets into critical and non-critical categories before transmission. This advance preparation allows the system to establish clear transmission priorities and channel allocations, simplifying real-time bandwidth management while ensuring critical packets receive preferential treatment.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If forward error correction is applied to reconstruct lost packets, then data reliability is improved, but processing overhead and bandwidth consumption increase

Engineering Contradiction:
Improvedata reconstruction reliabilityVSAvoidprocessing overhead
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The patent applies forward error correction selectively and partially - only to critical packets that require high reliability, rather than to all packets. This partial application of FEC reduces processing overhead and bandwidth consumption while still providing sufficient reliability for essential user input data.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS11138026B2Systems and methods for remote computing session display based upon user input event prioritization
Publication Date: 2021.10.05 CITRIX SYSTEMS INC
  • US11138026B2 patent drawing
  • US11138026B2 patent drawing
  • US11138026B2 patent drawing

AI summary

A computing system may include a server configured to host virtual computing sessions, and a client device. The client device may be configured to remotely access a virtual computing session from the server, and receive user input data associated with the virtual computing session and classify the data into first (higher priority) and second (lower priority) data packets. The client device may also be configured to send the first data packets to the server via a first virtual channel, and send the second data packets to the server via a second virtual channel having a higher packet loss rate associated therewith than the first virtual channel. The server may be configured to assemble the second data packets to reconstruct and inject the user input data into the virtual computing session based upon the first data packets.