Virtual Aperture Mapping for VM Graphics Buffering

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current virtual machine technologies experience performance degradation and increased power consumption due to frequent copying of large graphical data between domU and dom0 virtual machines, which hampers the efficiency of graphics rendering and display in virtualized environments.

Innovation Solution

The solution involves mapping virtual apertures and buffers between domU and dom0 virtual machines using a shared physical memory space, allowing graphical data to be processed and displayed without copying, by allocating physical memory space in a textual buffer associated with the dom0 virtual machine and using page tables for mapping, thereby eliminating the need for data transfer between the two machines.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If graphical data is frequently copied from domU virtual machine to dom0 virtual machine for display, then the display function is achieved, but system performance degrades and power consumption increases

Engineering Contradiction:
Improvegraphics rendering efficiencyVSAvoidpower consumption
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The patent merges the graphical data storage space of domU virtual machine with the display buffer space of dom0 virtual machine by establishing a mapping relationship between their respective buffers. This allows the domU virtual machine to directly utilize the dom0's display buffer for graphical data, eliminating the need for frequent data copying between virtual machines and thereby reducing system performance degradation and power consumption.

Inventive Principle:
Principle #5Merging (Combining)

2Productivity

If graphical data is frequently copied from domU virtual machine to dom0 virtual machine for display, then the display function is achieved, but overall system efficiency is reduced

Engineering Contradiction:
Improvedisplay efficiencyVSAvoiddata copying time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent eliminates the need for physical data copying by establishing a virtual address mapping between the domU virtual machine's buffer and the dom0 virtual machine's display buffer. The domU virtual machine can write graphical data to its buffer, and the dom0 virtual machine can directly access and display this data through the mapped buffer, effectively replacing time-consuming data copying operations with efficient memory mapping operations.

Inventive Principle:
Principle #26Copying

3Ease of operation

If large amount of graphical data is transferred between virtual machines, then display functionality is maintained, but system performance degrades

Engineering Contradiction:
Improvedisplay functionalityVSAvoidsystem performance
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The patent introduces a buffer mapping mechanism as an intermediary between the domU virtual machine's graphical data storage and the dom0 virtual machine's display system. This mapping layer allows the domU virtual machine to generate and store graphical data in its own buffer while enabling the dom0 virtual machine to access and display this data without requiring actual data transfer, thus maintaining display functionality while preserving system performance.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10635468B2Displaying graphics for local virtual machine by allocating and mapping textual buffer
Publication Date: 2020.04.28 CITRIX SYSTEMS INC
  • US10635468B2 patent drawing
  • US10635468B2 patent drawing
  • US10635468B2 patent drawing

AI summary

A computing device for displaying images includes one or more processors to obtain graphical data that has been generated by one or more applications associated with a first virtual machine, and to map one or more virtual apertures or one or more actual buffers associated with the first virtual machine to a textual buffer associated with a second virtual machine, and process the graphical data based on the mapping. The virtual apertures are in a virtual memory space and the actual buffers being in a physical memory space. The graphical data includes rendered composite graphical data representing a desktop and one or more application windows. The one or more processors allocate physical memory space in the textual buffer associated with the second virtual machine to support the mapping. A display device displays images using the processed graphical data.