Virtual Driver for Remote Device Redirection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In remote client access systems, accessing and controlling local devices connected to client computers from a server computer is challenging, especially when multiple clients need to share access to these devices, as existing technologies require specific software drivers for each device, which can be cumbersome and inefficient.

Innovation Solution

The implementation of virtual device drivers at the server computer, which are recognized and controlled by the server, allowing commands to be passed through a virtual driver to the device driver on the client computer, enabling seamless access and control of local devices across multiple client computers.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If specific software drivers are installed on each client computer to support local devices, then device functionality is achieved, but device complexity and installation burden increase

Engineering Contradiction:
Improvedevice accessVSAvoiddriver installation
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent creates a virtual driver on the server that is a copy or representation of the actual device driver. This virtual driver receives commands from the server, translates them into appropriate operations, and communicates with the actual device through the client computer's driver stack, eliminating the need for multiple specific drivers on different client machines.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The virtual driver acts as an intermediary between the server computer and the local device. It mediates the communication by receiving commands from the server, translating them into device-specific operations, and passing them through the client's driver stack to the actual hardware device.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If multiple client computers need to access the same local device, then device sharing capability is improved, but driver management complexity increases

Engineering Contradiction:
Improvedevice sharingVSAvoiddriver management
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The virtual driver provides universal access to the local device for multiple client computers. Instead of requiring each client to have its own specific driver configuration, the single virtual driver on the server handles device communication for all connected clients, enabling multi-functionality and device sharing.

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

3Reliability

If device drivers are installed on each client computer, then local device support is achieved, but time consumption for setup increases

Engineering Contradiction:
Improvedevice supportVSAvoidsetup time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The virtual driver is pre-configured on the server computer before client connections are established. This preliminary setup eliminates the need for clients to install or configure drivers individually, as the virtual driver is already in place to handle device communication for any connecting client.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS8918530B2Plug and play device redirection for remote systems
Publication Date: 2014.12.23 MICROSOFT TECHNOLOGY LICENSING LLC
  • US8918530B2 patent drawing
  • US8918530B2 patent drawing
  • US8918530B2 patent drawing

AI summary

A remote access system connects a server computer with one or more client computers, where devices are connected locally at the client computers. The devices are recognized by the client computers and a device driver is provided for each connected and recognized device. A virtual driver is created at the server computer from information specific to the device, such that the virtual driver acts as an actual driver to an application on the server computer. The application through the virtual driver is able to recognize and provide commands to the connected device.