Adaptable Printer Driver Framework for Dynamic Configuration

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional printer drivers are inflexible and require specific compilation for processor architectures, leading to a need for numerous drivers for different combinations of printer brands, models, operating systems, and architectures, which are often managed by hardware vendors with limited expertise in developing drivers for diverse systems.

Innovation Solution

A framework that allows printer drivers to be modified and supplemented over time by automatically acquiring configuration data from various sources, including the printer device and online sources, and incorporating it into the driver, enabling enhanced features and capabilities without user intervention, while resolving conflicts using scripting languages that can execute across different architectures.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a printer driver is compiled specifically for a particular processor architecture and operating system combination, then reliability and performance are improved, but adaptability deteriorates as numerous driver versions are needed for different systems

Engineering Contradiction:
Improvedriver reliabilityVSAvoiddriver adaptability
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent creates a universal printer driver framework that can operate across multiple processor architectures and operating systems. The driver uses a configuration file-based approach with scripting language (e.g., JavaScript) that can be executed by a universal runtime environment, allowing the same driver code to serve multiple platforms without requiring architecture-specific compilation.

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

Solution Approach 2:

The patent introduces a configuration file and scripting language layer as an intermediary between the printer driver and the printer device. This intermediary layer handles architecture-specific variations, allowing the core driver logic to remain universal while adapting to different systems through the configurable script layer.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Manufacturing precision

If configuration files are hard-modified and re-tested for each printer model, then manufacturing precision is improved, but ease of manufacture deteriorates as the process becomes complex and time-consuming

Engineering Contradiction:
Improvedriver configuration precisionVSAvoiddriver development ease
Core Design Contradiction:
Manufacturing precisionVSEase of manufacture

Solution Approach 1:

The patent transforms static, hard-coded configuration files into dynamic, programmable configurations using scripting languages. Instead of manually editing and re-testing configuration files for each printer model, the system uses executable scripts that can be automatically generated, modified, and tested, making the driver development process more flexible and easier to maintain.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent enables configuration parameters to be changed programmatically through scripting language commands rather than requiring manual file editing. This allows for automated configuration generation and modification, reducing the complexity and time required to adapt drivers for different printer models while maintaining configuration precision.

Inventive Principle:
Principle #35Parameter changes

3Adaptability or versatility

If a printer driver includes extensive functionality for all possible printer features, then adaptability is improved, but device complexity increases making the driver harder to maintain

Engineering Contradiction:
Improvedriver versatilityVSAvoiddriver complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent segments the printer driver functionality into modular components: a core driver framework, configuration files, and executable scripting language programs. Each segment handles specific aspects of printer operation, allowing for independent development, testing, and maintenance. The scripting language programs can be selectively enabled or disabled based on the specific printer model, reducing overall complexity while maintaining versatility.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS8891111B2Adaptable printer driver
Publication Date: 2014.11.18 MICROSOFT TECHNOLOGY LICENSING LLC
  • US8891111B2 patent drawing
  • US8891111B2 patent drawing
  • US8891111B2 patent drawing

AI summary

Some embodiments of the invention provide techniques whereby a printer driver may be modified and supplemented over time. For example, a framework may be provided which enables a printer driver's functionality to be supplemented over time to include new and/or enhanced features, such as features relating to the manner in which the capabilities of a printer are configured, print settings are manipulated, information is presented to users, print-related system events are handled, etc. In some embodiments, one or more components (which may be included in a print subsystem provided by an operating system of a computing device, in a printer driver, and/or some other system element) may be configured to automatically seek and acquire configuration data from any of various sources, including the printer device, one or more online sources, and/or other sources.