Real-Time USB Class Decoding via Hardware-Software Segmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current USB analyzers lack the capability to perform real-time class level decoding of USB communications, leading to inefficiencies in detecting timeouts and displaying relevant information to users, as they often require non-real-time analysis and may obscure important data with unnecessary packet displays.

Innovation Solution

A hardware USB analyzer configured to monitor and decode USB communications, providing an analysis stream to a PC that can decode and display class level information, including timeouts, while using a circular buffer to store packets and preserving enumeration data for real-time class level decoding, and selectively displaying only relevant packets to prevent clutter.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If USB analyzers perform non-real-time analysis of USB communications, then comprehensive analysis can be conducted, but real-time detection capability is lost and important timeout events may be missed

Engineering Contradiction:
Improveanalysis accuracyVSAvoidreal-time detection capability
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The analysis system is divided into two independent components: a hardware USB analyzer that performs real-time packet capture and forwarding, and a software analysis tool that performs comprehensive class-level decoding. This segmentation allows the hardware component to operate in real-time while the software component performs detailed analysis, resolving the contradiction between real-time detection and comprehensive analysis accuracy.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a circular buffer as an intermediary data structure between the hardware USB analyzer and the software analysis tool. The buffer stores captured USB packets temporarily, allowing the system to process data at different speeds - real-time capture by hardware and deferred comprehensive analysis by software - while ensuring no data is lost and timeout events are detected promptly.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Loss of information

If USB analyzers display all captured packets, then complete communication data is visible, but the display becomes cluttered and important information is obscured

Engineering Contradiction:
Improvedata completenessVSAvoiddisplay clarity
Core Design Contradiction:
Loss of informationVSEase of operation

Solution Approach 1:

The software analysis tool extracts and displays only class-level information from the raw USB packet data, separating the essential communication semantics from the low-level protocol details. This extraction process maintains complete data availability for analysis while presenting only the most relevant information in the user interface, eliminating display clutter.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The system transforms the display from showing individual USB packets (one-dimensional view) to showing class-level communication semantics (higher-dimensional abstraction). By decoding packets to the USB class level, the system provides a more meaningful view of communication flow that groups related packets together, making important patterns visible while reducing visual noise.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

3Loss of information

If USB analyzers perform detailed class level decoding, then meaningful communication information is obtained, but processing time and computational resources increase

Engineering Contradiction:
Improvecommunication semanticsVSAvoidprocessing time
Core Design Contradiction:
Loss of informationVSLoss of time

Solution Approach 1:

The hardware USB analyzer performs preliminary packet capture and stores raw packet data in a buffer before detailed analysis is required. This preliminary action allows the system to prepare data for class-level decoding without immediately performing the computationally intensive decoding process, enabling fast startup and real-time capture while deferring detailed analysis until needed.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS8321604B2Real-time USB class level decoding
Publication Date: 2012.11.27 TOTAL PHASE
  • US8321604B2 patent drawing
  • US8321604B2 patent drawing
  • US8321604B2 patent drawing

AI summary

Real-time USB class level decoding is disclosed. In some embodiments, a first packet associated with a USB class level operation and a second packet generated by a USB analyzer are received. It is determined based at least in part on a first time associated with the first packet and a second time associated with the second packet that the class level operation has timed out. In some embodiments, an enumeration record is copied from a buffer configured to store USB data associated with a target USB device to a storage location not in the buffer, based at least in part on an indication that the enumeration record as stored in the buffer may be overwritten. In some embodiments, USB data is displayed for analysis at least in part by grouping packets not likely to be of interest differently depending on whether class level decoding is enabled.