Input Device Data Buffering for High Latency Networks

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

High network latency causes data loss and degrades the user experience when interacting with input devices across virtualization environments, as requests for input device data often arrive after new data has been overwritten, leading to incomplete data transmission.

Innovation Solution

A computing device with a processor configured to determine network latency and adjust the frequency of requests for input device data, using a data buffer queue to store and manage the data, ensuring that only the most recent data is sent across the network, thereby preventing data loss and maintaining a consistent user experience.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of information

If the host application waits for client responses before requesting additional input device data, then network bandwidth is conserved and processing is simplified, but data loss occurs when network latency causes requests to arrive after new data has overwritten old data

Engineering Contradiction:
Improveinput device data lossVSAvoiddata transmission reliability
Core Design Contradiction:
Loss of informationVSReliability

Solution Approach 1:

The host application determines the data buffer queue size in advance based on network latency measurements and device polling information. This preliminary calculation allows the system to allocate sufficient buffer space before data loss can occur, ensuring that incoming data requests will have available storage even when network latency delays subsequent requests.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

A data buffer queue is introduced as an intermediary storage mechanism between the client and host application. This buffer queue temporarily holds input device data, allowing the host to process data at its own pace while the client continues to receive new data from the device. The buffer acts as a cushion that prevents data loss during network latency periods.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Speed

If the host application increases the frequency of requests for input device data, then data freshness is improved, but network latency causes requests to arrive too late and data is overwritten

Engineering Contradiction:
Improvedata request frequencyVSAvoidinput device data loss
Core Design Contradiction:
SpeedVSLoss of information

Solution Approach 1:

The host application performs preliminary determination of the optimal data buffer queue size based on measured network latency and device polling frequency. This advance calculation allows the system to configure the buffer capacity needed to handle the round-trip time of network communications, ensuring that increased request frequency does not result in data loss.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system dynamically adjusts the data buffer queue size parameter based on network latency conditions. When latency increases, the buffer size is increased to accommodate longer round-trip times. This parameter adaptation allows the system to maintain reliable data transmission even when request frequency increases, preventing data loss by matching buffer capacity to actual network conditions.

Inventive Principle:
Principle #35Parameter changes

3Ease of operation

If a fixed polling frequency is used for requesting input device data, then device operation is simplified, but changing network latency conditions cause data loss

Engineering Contradiction:
Improvedevice polling simplicityVSAvoidnetwork condition adaptation
Core Design Contradiction:
Ease of operationVSAdaptability or versatility

Solution Approach 1:

The system implements feedback by measuring actual network latency and using this information to determine the appropriate data buffer queue size. The host application continuously monitors network conditions and adjusts the buffer configuration accordingly. This feedback mechanism allows the system to adapt to changing network latency conditions while maintaining a simple fixed polling frequency approach for device data requests.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The data buffer queue size parameter is dynamically adjusted based on measured network latency conditions. When network latency changes, the system recalculates and updates the buffer size to match current conditions. This parameter adaptation enables the system to maintain reliable operation across varying network environments without changing the fundamental fixed-frequency polling mechanism, thus preserving ease of operation while gaining adaptability.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS10637907B2Input devices in high latency networks
Publication Date: 2020.04.28 CITRIX SYSTEMS INC
  • US10637907B2 patent drawing
  • US10637907B2 patent drawing
  • US10637907B2 patent drawing

AI summary

A first computing device for interacting with an input device across a network includes a processor to run an executable capable of accepting device data, provide a data buffer queue size to a second computing device coupled to the network, and request the device data from the second computing device. The amount of data requested is less than or equal to the data buffer queue size. The device data is received from the second computing device to be provided to the executable.