Inter-VM Shared Memory Graphics Transfer for Low-Latency Screencasting
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing screencasting technologies in virtual machine environments suffer from video quality degradation, latency, system overhead, application compatibility, and hardware platform compatibility issues, particularly when sharing discrete GPUs across multiple guest virtual machines, leading to suboptimal gaming performance and user experience.
Innovation Solution
Implementing a shared memory-based inter-VM mechanism using virtio-based drivers and hypervisor-provided shared memory to directly transmit graphics output between virtual machines, bypassing network protocols and reducing overhead, ensuring lossless video quality and low latency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If network-based screencasting protocols (DLNA, Miracast, AirPlay) are used to transmit graphics output between virtual machines, then application compatibility and ease of operation are improved, but video quality degradation and latency occur
Solution Approach 1:
The patent introduces a shared memory mechanism as an intermediary between the first and second virtual machines. Instead of using network protocols that encode/decode video streams, the graphics output is directly transmitted through shared memory buffers, eliminating the intermediary network stack and preserving lossless video quality while maintaining ease of operation through standardized memory access interfaces
Solution Approach 2:
The patent extracts the graphics output data from the network transmission path and directs it through a dedicated shared memory channel. By taking out the video data from the general-purpose network protocol stack and routing it through a specialized memory-based pathway, the system eliminates video quality degradation while maintaining broad application compatibility
2Ease of operation
If network-based screencasting protocols are used to transmit graphics output between virtual machines, then application compatibility is improved, but latency increases
Solution Approach 1:
The shared memory mechanism serves as a direct intermediary between VMs, eliminating the network stack intermediary that causes latency. Graphics frames are copied directly between shared memory buffers without network encoding, transmission, and decoding delays, while still supporting diverse applications through standardized memory interfaces
Solution Approach 2:
The patent replaces the mechanical network communication system (with its protocol processing, packetization, and transmission delays) with a direct memory access mechanism. This substitution eliminates the inherent latency of network protocols while maintaining application compatibility through unified memory access patterns that work with any application
3Productivity
If discrete GPUs are shared across multiple guest virtual machines using traditional virtualization, then hardware resource utilization is improved, but gaming performance and FPS stability deteriorate
Solution Approach 1:
The patent segments the discrete GPU's graphics output into separate shared memory buffers that can be independently accessed by multiple virtual machines. This segmentation allows each VM to have dedicated buffer space while sharing the underlying GPU hardware, maintaining FPS stability through isolated memory regions while maximizing hardware utilization
Solution Approach 2:
The patent merges multiple VMs' graphics output requirements into a unified shared memory framework that interfaces with the discrete GPU. By combining the resource management of multiple VMs into a single coordinated system, the patent achieves high hardware utilization while maintaining stable performance through centralized buffer management and synchronized access patterns
Data Source
AI summary
Various examples relate to apparatuses, devices, methods, non-transitory computer-readable media and computer system for a first and a second virtual machine. A non-transitory computer-readable medium storing instructions that, when executed by one or more processing circuitries, cause the one or more processing circuitries to perform a method for a first virtual machine, with the method comprising executing an application, providing a virtual screen for a graphics output of the application, providing the graphics output provided to the virtual screen to a second virtual machine via an inter-virtual machine shared memory mechanism.


