USB Peripheral Staged Identification for Software Compatibility

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The existing USB host and peripheral device interactions often result in users being inconvenienced by requests to load missing support software, as vendors cannot anticipate all possible peripheral device functions, leading to incomplete software support and user frustration.

Innovation Solution

The method involves a peripheral device initially providing identification data that specifies a widely supported function, allowing the host to select generic or vendor-specific support software, and then simulating detachment and re-attachment to provide accurate functionality information, enabling the selection of appropriate support software to utilize the device's full capabilities without requiring additional software installation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the peripheral device provides accurate identification data specifying all its functions, then the host can select the most appropriate support software, but the user may be burdened with requests to install missing software

Engineering Contradiction:
Improvesoftware support accuracyVSAvoiduser convenience
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The peripheral device performs preliminary action by sending identification data that specifies a widely supported function first, enabling the host to select and load appropriate support software before the user interacts with the device. This preliminary identification allows the system to be prepared with software before the user needs to use the device, avoiding mid-operation software installation requests.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The identification data is segmented into multiple stages: first sending data specifying a widely supported function, then later sending additional data specifying the true function. This segmentation allows the host to process identification in phases, first ensuring basic software support is available, then progressively enabling additional functions as software becomes available, reducing user burden while maintaining reliability.

Inventive Principle:
Principle #1Segmentation

2Ease of operation

If the peripheral device specifies a function that is widely supported, then the host can use existing support software, but the device's full functionality cannot be utilized

Engineering Contradiction:
Improvesoftware availabilityVSAvoiddevice functionality
Core Design Contradiction:
Ease of operationVSAdaptability or versatility

Solution Approach 1:

The peripheral device dynamically changes its identification behavior based on the software support status. Initially, it specifies a widely supported function to ensure software availability. After the host loads the appropriate support software, the device then specifies its true function to enable full functionality. This dynamic adaptation resolves the contradiction between software availability and device versatility.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The identification data transmission occurs periodically in stages: first transmission specifies a widely supported function for immediate software matching, then after software is loaded, a second transmission specifies the true function for full functionality. This periodic re-transmission of identification data allows the system to progress from basic compatibility to full capability utilization.

Inventive Principle:
Principle #19Periodic action

3Adaptability or versatility

If vendors load all possible support software on hosts, then all peripheral device functions can be supported, but the host device size and cost increase

Engineering Contradiction:
Improvesoftware support coverageVSAvoidhost configuration
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The solution implements universality by making the peripheral device capable of communicating its function requirements dynamically. Instead of requiring the host to have all possible support software pre-loaded, the device universally adapts to whatever software is available on the host, then guides the system toward optimal functionality through staged identification data transmission. This shifts the adaptability burden from the host to the device.

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

Solution Approach 2:

The peripheral device performs self-service by autonomously managing its own identification strategy. It monitors the host's software support status and adjusts its identification data accordingly, selecting which functions to specify based on what software is available. This self-service approach eliminates the need for the host vendor to pre-load all possible support software, reducing host complexity while maintaining versatility.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS7711863B2Method and apparatus for variably enabling USB interaction
Publication Date: 2010.05.04 MALIKIE INNOVATIONS LTD
  • US7711863B2 patent drawing
  • US7711863B2 patent drawing
  • US7711863B2 patent drawing

AI summary

A method and apparatus for variably enabling interaction across a USB interconnect between a host and a peripheral device capable of performing a plurality of functions including enabling selection and execution of a vendor-specific support software supporting peripheral devices of a specific vendor by sending a first identification data to the host indicating that the peripheral device is of the same specific vendor and indicating that the peripheral device performs at least one of the functions indicated to be supported by the vendor-specific support software, awaiting receipt of an indication from the host of a selected subset of the plurality of the functions of the peripheral device that are to be enabled, simulating a detachment from and attachment to the host; and enabling the vendor-specific support software to again be selected and executed by sending a second identification data to the host indicating that the peripheral device is of the same specific vendor and indicating that the peripheral device performs the selected subset of functions.