Printer Driver Dynamic Data Structure Adaptation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional printer drivers require re-design and re-compilation of data structures when printer functions increase or decrease, necessitating re-creation and re-distribution of the printer driver to accommodate changes in printer functionality.

Innovation Solution

A printer driver that includes an assigning unit for setting values based on storage location information, a compressing unit to generate compressed data, and decompressing units to interpret setting values, allowing the printer driver to dynamically manage and display print settings without altering the data structure's size.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of manufacture

If the data structure is statically determined when coded to store print settings, then the structure is simple and easy to implement, but the data structure must be updated and re-coded when the number of printer functions increases or decreases

Engineering Contradiction:
Improveease of implementationVSAvoidadaptability to function changes
Core Design Contradiction:
Ease of manufactureVSAdaptability or versatility

Solution Approach 1:

The patent applies dynamics by making the data structure flexible and adaptable rather than static. The printer driver dynamically adjusts the data structure based on the actual printer functions present, allowing the system to accommodate function additions or removals without requiring complete re-coding. This is achieved through dynamic allocation and configuration of data structure elements that can be modified at runtime based on detector information about printer capabilities.

Inventive Principle:
Principle #15Dynamics

2Adaptability or versatility

If the data structure is re-coded and re-compiled to extend print settings storage, then the printer driver can support new functions, but the driver must be re-created and re-distributed

Engineering Contradiction:
Improvesupport for new functionsVSAvoidcomplexity of driver updates
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent applies preliminary action by pre-configuring the data structure with the capability to accommodate various printer functions without actually implementing all possible functions. The structure is designed in advance to be extensible, with placeholder elements and dynamic configuration mechanisms that allow new functions to be added through simple configuration changes rather than requiring complete re-coding and re-compilation of the driver.

Inventive Principle:
Principle #10Preliminary action

3Adaptability or versatility

If the data structure stores all possible print setting values, then it can accommodate any printer function, but the data structure size increases and becomes harder to manage

Engineering Contradiction:
Improvecoverage of all functionsVSAvoiddata structure size
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

Solution Approach 1:

The patent applies local quality by making different parts of the data structure have different levels of detail and complexity based on actual needs. Rather than uniformly storing all possible print setting values for all potential functions, the data structure dynamically allocates storage and detail only for the functions that are actually present in the connected printer. This allows the system to maintain full adaptability while keeping the actual data structure size proportional to the actual printer capabilities.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS9329825B2Information processing apparatus, computer-readable storage medium, and method that generate a screen based on stored screen information and functional information
Publication Date: 2016.05.03 RICOH CO LTD
  • US9329825B2 patent drawing
  • US9329825B2 patent drawing
  • US9329825B2 patent drawing

AI summary

A printer driver includes an assigning unit that assigns a setting value based on storage location information specifying a storage location for each setting value; a compressing unit that converts each of the setting values thus assigned to have a format identifying each storage location, and generates compressed data therefrom; a storage unit that stores each piece of the compressed data compressed by the compressing unit in a storage location specified by the storage location information; a first decompressing unit and a second decompressing unit that decompress the compressed data stored in the storage location; a setting window displaying unit that displays a print setting window using each of the setting values obtained by decompression performed by the first decompressing unit; and a print data generating unit that generates print data using each of the setting values obtained by decompression performed by the second decompressing unit.