Printer Driver Prohibition Processing Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Version 4 printer drivers for Windows operating systems experience significant delays in print processing due to lengthy prohibition processing times, particularly when using JavaScript, which increases the time required to resolve conflicts between option values, thereby delaying the start of print processing and impacting user convenience.

Innovation Solution

The printer driver employs a script language like JavaScript to perform prohibition processing by creating check data from setup items and option values, checking for conflicts, and replacing conflicting option values with non-conflicting ones, using a smaller data structure like a setup condition table to reduce processing time, thereby streamlining the prohibition processing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If JavaScript is used for prohibition processing in version 4 printer driver, then the printer driver can run on Windows 8 and Windows Server 2012, but the prohibition processing time increases significantly

Engineering Contradiction:
Improvecompatibility with Windows operating systemsVSAvoidprohibition processing time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent pre-processes constraint expressions and converts them into an optimized format before runtime. By performing the conversion of constraint expressions from structured data to binary data in advance, the system reduces the computational burden during prohibition processing, thereby decreasing processing time while maintaining JavaScript compatibility with Windows 8 and Server 2012

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent creates a simplified copy of the constraint checking functionality. Instead of directly interpreting complex structured constraint expressions during runtime, the system creates a pre-compiled binary representation that replicates the constraint logic, enabling faster evaluation while preserving the original constraint semantics

Inventive Principle:
Principle #26Copying

2Reliability

If the printer driver reads large PrintTicket data for each constraint expression check, then all constraint conditions can be verified, but the processing time increases

Engineering Contradiction:
Improveconstraint conflict detection accuracyVSAvoidtime to complete print data creation
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent extracts only the necessary constraint information from the large PrintTicket data structure. By identifying and extracting relevant constraint expressions and their associated parameters, the system avoids processing unnecessary data, thereby reducing processing time while maintaining accurate conflict detection

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent segments the constraint checking process into independent, manageable units. By dividing constraint expressions into separate, pre-compiled binary representations, the system can evaluate each constraint independently and efficiently, reducing the overall processing time while ensuring all constraints are properly verified

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS9652189B2Non-transitory computer-readable storage medium storing printer driver causing computing device to perform prohibition processing, and print control method of the printer driver
Publication Date: 2017.05.16 KONICA MINOLTA INC
  • US9652189B2 patent drawing
  • US9652189B2 patent drawing
  • US9652189B2 patent drawing

AI summary

A non-transitory computer-readable storage medium storing a printer driver, when being executed by a processor of the computing device, causes a computing device to perform prohibition processing including: obtaining setup items associated with print features of the printer device and corresponding option values from PrintTicket, to create check data; checking the check data for a setup item causing a conflict between option values; and in response to finding a setup item causing a conflict between option values, replacing an option value in the PrintTicket, which is set for the setup item causing the conflict, with another option value.