Device-Independent Print Driver Architecture

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The complexity and resource consumption associated with managing and distributing numerous device-specific print drivers across various client devices, particularly in print sharing scenarios, where architecture differences between client and print servers can hinder large-scale sharing due to the need for specific drivers.

Innovation Solution

Implementing a client device-independent 'personality' for print servers to publish capabilities and configurations, allowing client devices to use a device-independent print driver to select and record print job settings in a device-independent format, which the print server then converts into a device-specific format for processing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If device-specific print drivers are used on client devices, then the client device can communicate with and print on specific print devices, but the complexity and resource consumption of managing and distributing numerous drivers increases significantly

Engineering Contradiction:
Improveprint device compatibilityVSAvoiddriver management complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

A print server is introduced as an intermediary between the client device and the print device. The client device communicates with the print server using a generic driver, and the print server handles the conversion to device-specific formats. This mediator eliminates the need for client devices to have device-specific drivers, reducing complexity while maintaining compatibility.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The device-specific driver functionality is extracted from the client device and relocated to the print server. The print server maintains the device-specific drivers and processing logic, while client devices use a simplified generic driver. This extraction reduces the driver management burden on client devices and centralizes complexity on the server.

Inventive Principle:
Principle #2Taking out (Extraction)

2Reliability

If device-specific print drivers are installed on client devices, then printing functionality is achieved, but significant device memory and storage resources are consumed

Engineering Contradiction:
Improveprint functionalityVSAvoidclient device resource consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The print server acts as an intermediary that hosts the resource-intensive device-specific drivers, allowing client devices to offload memory and storage resources. Client devices only need to maintain a lightweight generic driver, significantly reducing their resource consumption while preserving full print functionality through the server.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Adaptability or versatility

If print servers support multiple processor architectures with specific drivers, then compatibility with various client devices is achieved, but large-scale print sharing becomes difficult to manage

Engineering Contradiction:
Improvearchitecture compatibilityVSAvoidprint server software management
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The print server is designed with universal functionality to handle multiple processor architectures and device types through a single generic interface. The server can process print jobs from any architecture using its own device-specific drivers, eliminating the need for client devices to have architecture-matched drivers. This universal approach simplifies large-scale print sharing while maintaining broad compatibility.

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

Data Source

PatentUS9092164B2Printing using a platform-independent driver
Publication Date: 2015.07.28 MICROSOFT TECHNOLOGY LICENSING LLC
  • US9092164B2 patent drawing
  • US9092164B2 patent drawing
  • US9092164B2 patent drawing

AI summary

In one or more embodiments, a print server can publish, to client devices, capabilities and configurations of one or more print devices utilizing a device-independent “personality.” Client devices can then use an associated device-independent print driver to select print job settings and record print job content for a particular print job, in a device-independent format, that is then to be sent to the print server. The print server can then process the device-independent format that describes the print job, and convert the print job into a print device-specific format that can be consumed by a particular specific print device. In at least some embodiments, the client device can cause a print job to be printed on a print device, via a print server, without downloading, utilizing or otherwise accessing a print driver that is specific to the print device.