Direct3D Remoting Architecture for Client-Side Graphics Rendering

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current graphics remoting technologies face limitations in scalability, stability, and user experience due to architectural constraints, particularly when rendering high-end graphics applications over remote sessions, as they often rely on server-side GPU rendering, which can lead to poor performance and frame rate control issues.

Innovation Solution

Implementing a Direct3D remoting architecture that shifts the rendering of 3D graphics from the server to the client, using a D3D abstraction module to abstract commands and objects into data streams sent over the network, allowing the client's GPU to execute and render graphics, along with techniques for frame rate control and progressive texture rendering.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If graphics applications are run remotely on server computers using traditional remoting technologies, then remote session access is enabled, but scalability and stability deteriorate due to lack of graphics acceleration support

Engineering Contradiction:
Improveremote session accessVSAvoidstability
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The patent introduces a Virtualization Graphics Adapter (VGA) as an intermediary component that sits between the remote graphics applications and the physical graphics hardware. The VGA virtualizes graphics acceleration resources, allowing multiple remote sessions to access graphics hardware simultaneously through virtualization. This mediator enables remote sessions to obtain graphics acceleration support while maintaining system stability and scalability.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent creates virtual copies of graphics acceleration resources through the VGA layer. Instead of providing direct access to physical graphics cards, the system creates virtual instances of graphics adapters that can be allocated to multiple virtual machines and remote sessions. This copying approach allows scalable distribution of graphics resources while maintaining isolation and stability between different remote users.

Inventive Principle:
Principle #26Copying

2Use of energy by moving object

If server-side GPU rendering is used for remote graphics applications, then graphics acceleration is provided, but frame rate control and scalability worsen due to architectural limitations

Engineering Contradiction:
Improvegraphics accelerationVSAvoidframe rate control
Core Design Contradiction:
Use of energy by moving objectVSProductivity

Solution Approach 1:

The patent segments the graphics rendering pipeline by separating the virtualization layer (VGA) from the physical graphics hardware. This segmentation allows independent optimization of each layer - the VGA handles resource management and virtualization tasks, while the physical GPU focuses on rendering operations. This division enables better frame rate control and scalability by allowing multiple virtual sessions to share the physical hardware efficiently.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements dynamic resource allocation through the VGA, which can dynamically adjust graphics resource distribution based on session requirements and system load. The virtualization layer dynamically manages memory allocation, command routing, and hardware access, enabling flexible frame rate control and adaptive scalability that static server-side rendering architectures cannot achieve.

Inventive Principle:
Principle #15Dynamics

3Device complexity

If traditional remoting architecture is used without graphics virtualization, then system complexity is reduced, but adaptability worsens due to inability to support multiple user connections and window scaling

Engineering Contradiction:
Improvesystem complexityVSAvoidmulti-user support
Core Design Contradiction:
Device complexityVSAdaptability or versatility

Solution Approach 1:

The patent makes the graphics subsystem universal by designing the VGA to serve multiple functions: it virtualizes graphics hardware for multiple users, provides window scaling support, enables high-DPI rendering, and manages resource allocation across different virtual machines. This single universal virtualization layer replaces multiple specialized components, increasing adaptability while actually reducing overall system complexity through consolidation.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentEP2248101B1Graphics remoting architecture
Publication Date: 2018.12.05 MICROSOFT TECHNOLOGY LICENSING LLC
  • EP2248101B1 patent drawingFigure 1
  • EP2248101B1 patent drawingFigure 2
  • EP2248101B1 patent drawingFigure 3

AI summary

Systems and methods to implement a graphics remoting architecture for rendering graphics images at remote clients are disclosed. In one implementation, when a D3D application hosted on a remote server is used by a remote client, the graphics associated with the D3D application are created and rendered at the remote client. For this, the D3D commands and D3D objects corresponding to the graphics are abstracted into data streams at the remote server. The data streams are then sent to the remote client. At the remote client, the D3D commands and D3D objects are extracted from the data streams and executed to create the graphics images. The graphics images are then rendered and displayed using output devices at the remote client.