Virtual Desktop Frame Redirect Module Reduces Server Processing Overhead

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current systems serving virtual desktops often incur overhead costs due to unnecessary decoding, compositing, and re-encoding processes when relaying application data from a virtual application server to a client, especially when handling graphics-intensive applications.

Innovation Solution

Implementing a virtual machine monitor (VMM) with an application frame redirect module that receives and redirects encoded application frames from the virtual application server to the client, allowing the client to decode and composite both desktop and application frames for display, thereby eliminating redundant processing on the virtual desktop server.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the virtual desktop server performs decoding, compositing, and re-encoding of application frames, then the client can receive complete desktop frames, but the processing overhead and computational demands on the server increase

Engineering Contradiction:
Improvecompleteness of desktop frame deliveryVSAvoidprocessing overhead on virtual desktop server
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent extracts the decoding, compositing, and re-encoding functions from the virtual desktop server and relocates them to the client device. The server only transmits encoded application frames and desktop frames, while the client performs all processing operations, thereby eliminating the processing overhead on the server while still delivering complete composite frames to the client.

Inventive Principle:
Principle #2Taking out (Extraction)

2Extent of automation

If the virtual desktop server handles all frame processing, then the system maintains centralized control, but the computational demands on the server increase for graphics-intensive applications

Engineering Contradiction:
Improvecentralized control of frame processingVSAvoidcomputational demands on virtual desktop server
Core Design Contradiction:
Extent of automationVSPower

Solution Approach 1:

The patent segments the frame processing workload by dividing responsibilities between server and client. The server retains control over frame generation and transmission, while the client handles the computationally intensive tasks of decoding, compositing, and re-encoding. This segmentation reduces the power consumption and computational burden on the server while maintaining centralized control over the virtual desktop infrastructure.

Inventive Principle:
Principle #1Segmentation

3Productivity

If encoded application frames are transmitted directly to the client without server-side processing, then processing efficiency improves, but the client must handle additional decoding and compositing operations

Engineering Contradiction:
Improveprocessing efficiency of frame transmissionVSAvoidprocessing requirements on client device
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent introduces an intermediary processing model where the server transmits encoded frames efficiently, and the client acts as the intermediary that performs decoding, compositing, and re-encoding. This intermediary approach at the client end enables efficient frame transmission over the network while the client's processing capabilities handle the additional operational complexity, balancing the workload away from the server.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentEP3198843B1Method and system for serving virtual desktop to client
Publication Date: 2019.02.06 HUAWEI TECH CO LTD
  • EP3198843B1 patent drawingFigure 1
  • EP3198843B1 patent drawingFigure 2
  • EP3198843B1 patent drawingFigure 3

AI summary

A method and system for serving a virtual desktop to a client are introduced herein. In one embodiment, the method includes rendering and encoding an application frame on a first server, rendering and encoding a desktop frame that confines the application frame on a second server, communicating the application frame to the second server, and communicating the desktop frame and redirecting the application frame from the second server to the client.