Printer Selection Program for Cross-OS Environment Adaptation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing terminal apparatuses cannot handle situations where linked applications may not operate as expected due to the operating environment, despite being registered in a whitelist based on application-specific IDs and device host names.

Innovation Solution

A program capable of handling multiple operating environments, which controls the execution of appropriate programs based on the operating environment, by displaying discovered printers, accepting printer selections, and performing processing related to alternative programs when the selected printer is not supported.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a whitelist-based trust determination method is used to filter applications, then application security is improved, but the ability to handle diverse operating environments deteriorates

Engineering Contradiction:
Improveapplication securityVSAvoidoperating environment adaptability
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent changes the parameter for trust determination from static whitelist-based criteria to dynamic runtime environment detection. The system determines trustworthiness by detecting actual execution environment parameters (guest OS presence, host OS type) rather than relying on pre-registered application identifiers, enabling adaptation to diverse operating environments while maintaining security.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent implements feedback by detecting the actual operating environment at runtime and using this information to determine whether to launch the linked application or an alternative. The system receives feedback about the execution environment (through API calls to detect guest OS and host OS) and adjusts its behavior accordingly, creating a closed-loop trust determination mechanism.

Inventive Principle:
Principle #23Feedback

2Adaptability or versatility

If linked applications are launched without environment verification, then operational flexibility is improved, but system reliability deteriorates

Engineering Contradiction:
Improveapplication launch flexibilityVSAvoidapplication operation reliability
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent applies preliminary action by detecting the operating environment before launching a linked application. The system performs environment detection (checking for guest OS and host OS) in advance, and only launches the application if the environment is deemed trustworthy. This prevents unreliable applications from executing in unsupported environments while maintaining flexibility in launching applications in appropriate environments.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces an intermediary environment detection mechanism between the application launcher and the actual application execution. The environment detection API acts as a mediator that verifies whether the current operating environment is suitable for running linked applications, mediating between the desire for operational flexibility and the need for execution reliability.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Adaptability or versatility

If environment-specific processing is implemented for each OS type, then operating environment compatibility is improved, but system complexity increases

Engineering Contradiction:
ImproveOS compatibilityVSAvoidprocessing logic complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent achieves universality by implementing a single environment detection mechanism that works across multiple operating environments (Windows, macOS, Linux, Chrome OS). The same detection code uses different APIs depending on the host OS, and the same trust determination logic applies to all environments, reducing complexity compared to separate processing logic for each OS type.

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

Solution Approach 2:

The patent manages complexity by changing parameters dynamically based on the detected environment rather than implementing separate processing logic. The system detects the host OS and guest OS types as parameters and adjusts its behavior accordingly through a unified decision-making framework, reducing code complexity while maintaining broad OS compatibility.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS20250117172A1Computer-readable medium and control method
Publication Date: 2025.04.10 CANON KK
  • US20250117172A1 patent drawing
  • US20250117172A1 patent drawing
  • US20250117172A1 patent drawing

AI summary

A method of controlling a first apparatus and a second apparatus is provided. The first apparatus has a first operating environment that is on a host OS, but is not on a guest OS, and the second apparatus has a second operating environment that is on the guest OS. In the first apparatus, a program accepts a selection of any from discovered printers, and when the selected printer is a printer not supported by the program, performs processing related to an other program different from the program. In the second apparatus, the program accepts a selection of any from discovered printers, and when the selected printer is a printer not supported by the program, performs processing related to a printing program standard in the host OS, the printing program being different from the program and the other program.