Printer UI Redirection via Dummy Driver in Terminal Services

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current printer redirection techniques require exact matching drivers on both terminal servers and client computers, which is time-consuming and complex, and generic drivers fail to expose complete printing and document preferences interfaces to users, degrading the user experience in terminal server sessions.

Innovation Solution

A dummy driver is installed on the terminal server to redirect user interface calls to a process on the client, allowing user input for printer preferences to be recorded and passed back, using a virtual channel and XPS format for print jobs, enabling a rich client-side printer UI and full printing preferences during terminal server sessions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If exact matching printer drivers are installed on both terminal server and client, then printer redirection functionality is achieved, but driver installation complexity and time consumption increase significantly

Engineering Contradiction:
Improveprinter redirection functionalityVSAvoiddriver installation complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

A dummy printer driver is introduced as an intermediary component on the terminal server. This dummy driver acts as a mediator that redirects printer UI calls to the client machine where the actual printer driver resides, eliminating the need to install multiple exact matching drivers on the terminal server while maintaining printer redirection functionality

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The dummy printer driver is designed to be a universal driver that can handle multiple printer types and models. Instead of requiring specific matching drivers for each printer model, the dummy driver provides a standardized interface that redirects to the appropriate client-side driver, reducing the number of drivers needed on the terminal server

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

2Adaptability or versatility

If generic printer driver is installed on terminal server to avoid driver installation problems, then driver compatibility is improved, but complete printer preferences interface is lost

Engineering Contradiction:
Improvedriver compatibilityVSAvoidprinter preferences interface
Core Design Contradiction:
Adaptability or versatilityVSEase of operation

Solution Approach 1:

The dummy driver serves as an intermediary that preserves access to the complete printer preferences interface. When the user interacts with the printer UI, the dummy driver on the terminal server redirects the calls to the client machine where the actual printer driver and full preferences interface reside, allowing users to access all printer-specific settings while maintaining driver compatibility

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The solution moves the printer preferences interface from the terminal server dimension to the client machine dimension. By redirecting UI calls through the dummy driver to the client where the actual driver resides, the complete preferences interface becomes accessible in a different computational dimension (the client machine) while maintaining compatibility at the terminal server

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

Data Source

PatentUS7949741B2Printer user interface redirection over a terminal services session
Publication Date: 2011.05.24 MICROSOFT TECHNOLOGY LICENSING LLC
  • US7949741B2 patent drawing
  • US7949741B2 patent drawing
  • US7949741B2 patent drawing

AI summary

User interface (“UI”) redirection for a local device, such as a printer that is operatively coupled to a client, is provided by an arrangement in which a dummy driver is installed on the terminal server. When an application on the terminal server makes a call to show a UI, the dummy driver redirects the call to a process operating on the client that exposes the specific UI associated with the local device. User input to the UI indicative of preferences and/or other user-selected parameters is recorded and passed to the terminal server through the dummy driver and reported to the calling application. In an illustrative example, the terminal server and client communicate over a virtual channel using a remote desktop protocol in order to redirect print jobs to a local printer that is coupled to the client either directly or over a network such as a local area network.