Encoded Pixels in Display Channel for Virtual Desktop Performance Measurement
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Measuring the performance of remote applications in virtualized desktop environments is challenging due to latency issues and the lack of semantic information, making it difficult to accurately record the end of events across network boundaries and various client devices.
Innovation Solution
Embedding encoded pixels in the display channel to communicate timing information, allowing for performance analysis independent of underlying communication protocols, and using these pixels to measure action performance times by detecting their arrival at the client computer.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If response times are measured by recording events across network boundaries, then performance assessment capability is improved, but measurement accuracy deteriorates due to lack of semantic information
Solution Approach 1:
The patent introduces an intermediary mechanism (encoded pixels embedded in display frames) that acts as a mediator between the client and server to convey timing information. This intermediary carries semantic meaning through the display channel, enabling accurate measurement of event completion times without requiring direct communication or semantic understanding between client and server components.
Solution Approach 2:
The system implements feedback by embedding encoded pixels in response display frames that confirm event completion to the client. This feedback loop provides verifiable timing information, allowing the client to accurately measure response times by detecting when the encoded pixels appear in the display stream, thus resolving the measurement accuracy problem.
2Measurement precision
If encoded pixels are embedded in display frames to communicate timing information, then measurement accuracy is improved, but device complexity increases
Solution Approach 1:
The display channel serves multiple functions: it transmits visual information to the user and simultaneously carries timing measurement data through encoded pixels. This multi-functionality allows the same infrastructure to be used for both display purposes and performance measurement, avoiding the need for separate dedicated measurement channels or hardware.
Solution Approach 2:
The system uses its own display output as the measurement channel, making it self-service. The encoded pixels are embedded in the normal display frames that are already being generated and transmitted to the client, eliminating the need for additional external measurement equipment or separate communication infrastructure.
3Adaptability or versatility
If performance measurement is implemented across virtualized desktop services, then service monitoring capability is improved, but scalability deteriorates due to protocol dependencies
Solution Approach 1:
The encoded pixels serve as a protocol-independent intermediary that conveys timing information through the display channel without depending on specific communication protocols. This approach allows performance measurement to be implemented across different virtualized desktop services and communication protocols, enhancing scalability and interoperability.
Data Source
AI summary
Methods, systems, and computer programs for measuring performance of virtual desktop services offered by a server computer are presented. The method includes receiving an action request at the server computer, where the server computer is configured to generate display views for the requesting client. The method further embeds, at the server computer, a first encoded area into a first image frame that is communicated to a client computer when acknowledging receipt of the action request. After the action associated with the action request is completed, the method embeds a second encoded area into a second image frame that is communicated to the client computer. Action performance time is stored in memory, where the action performance time is based on the time difference between arrivals of the first and second image frames at the client computer. The stored timing information is used to generate statistical performance data.


