Kernel Mode Graphics Command Synchronization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing remote graphics technologies, particularly command level remoting, face complexity and synchronization challenges in rendering operations across multiple remoting components, leading to issues like misplaced or incorrectly timed text in graphical user interfaces, due to the lack of effective synchronization of commands from different applications.

Innovation Solution

A method involving kernel mode processes to synchronize vertices for graphics primitives with bit-block transfer commands, generating and sending synchronized vertices and commands across a machine boundary, ensuring correct rendering by merging separate streams into the correct execution order.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Power

If command level remoting is used to offload graphics rendering to the client, then processing power required on the server is reduced, but more bandwidth is needed to send data representing 3D graphics

Engineering Contradiction:
Improveprocessing power required on serverVSAvoidbandwidth required
Core Design Contradiction:
PowerVSQuantity of substance

Solution Approach 1:

The patent segments the graphics rendering process into two parts: command generation remains on the server while primitive execution moves to the client. This segmentation allows the server to send only rendering commands rather than complete bitmap data, reducing server processing load while optimizing network bandwidth utilization through selective data transmission.

Inventive Principle:
Principle #1Segmentation

2Adaptability or versatility

If custom remoting components are used to capture commands from different applications, then specific API constructs can be captured, but the system architecture becomes increasingly complex

Engineering Contradiction:
Improveability to capture specific API constructsVSAvoidsystem architecture complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent implements a universal remoting component architecture that can capture commands from multiple different applications and APIs through a single standardized interface. This multi-functional component replaces the need for separate custom components for each application, reducing system complexity while maintaining the ability to adapt to different API constructs through configurable capture rules.

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

3Adaptability or versatility

If commands from multiple applications are remoted without synchronization, then more applications can be supported, but rendering operations cannot be synchronized leading to misplaced or incorrectly timed graphical elements

Engineering Contradiction:
Improvenumber of applications supportedVSAvoidrendering synchronization accuracy
Core Design Contradiction:
Adaptability or versatilityVSManufacturing precision

Solution Approach 1:

The patent implements a synchronization mechanism that uses feedback from timestamp information embedded in captured commands. Each command is tagged with timing data that allows the remoting system to track and coordinate rendering operations across multiple applications, ensuring that graphical elements are rendered in the correct sequence and position while supporting multiple simultaneous applications.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS10002403B2Command remoting
Publication Date: 2018.06.19 MICROSOFT TECHNOLOGY LICENSING LLC
  • US10002403B2 patent drawing
  • US10002403B2 patent drawing
  • US10002403B2 patent drawing

AI summary

Various techniques for remoting graphics are described in the claims, drawings, and text forming a part of the present disclosure.