Modular Printer Driver Architecture for Dynamic Plug-in Expansion

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional printer driver expansion technologies require recompilation and reinstallation, leading to high development costs and user inconvenience, as they necessitate creating all modules for plug-ins to add new functions, making dynamic expansion difficult and costly.

Innovation Solution

A printer driver architecture with modular design, including an interface unit for plug-in addition, a storage unit for setting information, and a core driver that allows partial process execution by existing modules, reducing the need for all modules in plug-ins and enabling dynamic expansion without recompilation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If a new function is added as a plug-in using conventional technology, then the function can be added dynamically without recompilation, but a lot of processes such as display of screen, saving of setting, and control of print must be performed by the plug-in itself, making development costly

Engineering Contradiction:
Improvefunction expansion capabilityVSAvoidplug-in development complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The printer driver is divided into a core driver portion and a plug-in portion. The core driver contains common processes such as display of screen, saving of setting, and control of print. The plug-in only needs to provide the specific additional function, while relying on the core driver for common processes. This segmentation reduces plug-in development complexity while maintaining function expansion capability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The core driver is designed to provide universal services that can be shared by multiple plug-ins. It implements common functions such as user interface display, setting management, and print control that are needed regardless of which specific plug-in is used. This multi-functionality approach allows different plug-ins to leverage the same infrastructure, reducing overall system complexity.

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

2Adaptability or versatility

If the function of a printer driver is expanded by conventional methods, then new functions can be added, but it is necessary to recompile the printer driver and reinstall it, deteriorating user convenience

Engineering Contradiction:
Improvefunction expansion capabilityVSAvoiduser convenience
Core Design Contradiction:
Adaptability or versatilityVSEase of operation

Solution Approach 1:

The printer driver is designed with dynamic loading capability, allowing plug-ins to be added or removed at runtime without requiring recompilation or reinstallation of the core driver. The system can dynamically load the plug-in module when needed and unload it when not needed, providing flexible function expansion that maintains user convenience.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The core driver is pre-configured with an interface that can accept and integrate plug-ins. The framework for plug-in integration is established in advance in the core driver, so that when a plug-in is added, it can be seamlessly integrated without requiring modifications to the core driver. This preliminary preparation enables easy function expansion.

Inventive Principle:
Principle #10Preliminary action

3Adaptability or versatility

If all processes are implemented in a plug-in to realize a predetermined function, then the function can be independently added, but the development cost becomes high because all processes must be developed

Engineering Contradiction:
Improvefunction modularityVSAvoiddevelopment cost
Core Design Contradiction:
Adaptability or versatilityVSEase of manufacture

Solution Approach 1:

Common processes such as display of screen, saving of setting, and control of print are extracted from the plug-in and placed in the core driver. The plug-in only needs to implement the specific additional function logic, while relying on the core driver for common processes. This extraction significantly reduces the development burden on plug-ins while maintaining functional independence.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The core driver acts as an intermediary between the user and the plug-in. It handles common interactions such as displaying settings, saving configurations, and controlling the printing process. The plug-in communicates with the core driver through defined interfaces, allowing the plug-in to focus on its specific function while the core driver manages the complex interaction processes.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS9052850B2Printer driver, storage medium, and information processing apparatus
Publication Date: 2015.06.09 RICOH CO LTD
  • US9052850B2 patent drawing
  • US9052850B2 patent drawing
  • US9052850B2 patent drawing

AI summary

A printer driver includes a plurality of modules, an interface unit that accepts the addition of plug-in including one or more additional modules for realizing a predetermined function, and a storage unit that stores setting information that defines information related to a partial process for realizing the predetermined function of the plug-in. The plurality of modules performs a process that is the partial process for realizing the predetermined function and cannot be realized in the additional modules included in the plug-in in accordance with the setting information.