Attribute-Based Indexing for USB Device Lists
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional methods for locating USB devices are inefficient and prone to errors due to lengthy and semantically unnatural algorithms that require re-coding for each different attribute search, leading to complex circuit design and communication protocols.
Innovation Solution
The implementation of attribute-based indexing using a device list class and index operators allows for the creation and population of a device list with objects that can be accessed using familiar array-indexing syntax, enabling efficient location and access of USB devices by utilizing device attributes as indices.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If conventional device location algorithms are used, then USB devices can be located and accessed, but the code becomes lengthy and complex requiring re-coding for each attribute search
Solution Approach 1:
The device location functionality is segmented into reusable code modules. The patent creates separate functions for establishing device handles, querying attributes, and comparing values. This modular segmentation allows the same code structure to be applied repeatedly for different attribute searches without re-coding the entire algorithm.
Solution Approach 2:
The patent implements a universal device location algorithm that can search for devices based on any attribute type (Vendor ID, Product ID, Friendly Name, etc.). The same core loop structure handles different attribute queries by parameterizing the search criteria, making the code multi-functional and eliminating the need for separate code paths for each attribute type.
2Reliability
If conventional device location algorithms are used, then USB devices can be located, but the implementation is lengthy and prone to errors
Solution Approach 1:
The patent performs preliminary actions by establishing device handles and organizing attribute data before the actual search operation. Device handles are obtained and stored in advance, and attribute information is queried and structured beforehand. This preliminary organization reduces errors during the search phase and eliminates the need for repeated setup operations.
Solution Approach 2:
The patent introduces intermediary data structures to mediate between the raw device data and the search operations. Attribute information is stored in structured formats that facilitate efficient comparison and matching. These intermediary structures act as buffers that organize data in error-resistant ways, reducing the complexity of direct comparisons.
3Productivity
If conventional device location methods are used, then devices can be found by attribute, but the process is inefficient requiring multiple steps for each device
Solution Approach 1:
The patent implements continuous device enumeration that maintains persistent handles to all connected devices. Rather than creating and destroying handles for each search operation, the system continuously maintains device information in memory. This continuous state allows rapid successive searches without the overhead of repeated handle establishment and teardown operations.
Solution Approach 2:
The patent performs preliminary device enumeration and attribute querying to populate structured data structures before actual device location is needed. By pre-loading device information and organizing it in searchable formats, the system eliminates the need for repeated full scans when location operations are requested, significantly reducing search time.
Data Source
AI summary
A device list is created including one or more device objects, wherein each device object represents a physical device coupled to a computer system, wherein each device object includes one or more device attributes of the physical device. The device list is indexed into using a device attribute.


