Isochronous USB Extender for Long-Range Data Transfer
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The existing USB transmission method has a limited range, typically a few meters, due to the requirement that data must be received by the host controller within a specific time frame, which restricts the physical range of USB devices and hinders isochronous data transfer over extended distances.
Innovation Solution
A method involving a first and second extender device coupled via USB cables and a non-USB cable, where the USB host transmits a request for data, and the extender devices generate or retrieve data packets with non-zero lengths to maintain protocol compliance and extend the transmission range by storing and forwarding data packets between the host and the isochronous USB device.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If data transmission follows USB protocol timing requirements (receive within 16 bit-times), then bandwidth utilization efficiency is improved, but transmission range is limited to a few meters
Solution Approach 1:
The patent introduces extender devices as intermediaries between the USB host and peripheral devices. These extenders receive data requests, generate synthetic data packets with non-zero payloads locally, and forward them to the host within the required 16 bit-time window. Simultaneously, they relay requests to remote devices and forward received data back through the network, effectively mediating between the host's timing requirements and the physical distance constraints.
Solution Approach 2:
The extender devices perform preliminary actions by generating and buffering synthetic data packets in advance. When a data request arrives, the extender can immediately transmit pre-prepared data with non-zero payload length, satisfying the USB protocol's timing requirements without waiting for actual data from remote devices, thus maintaining efficient bandwidth utilization while extending range.
2Length of moving object
If extender devices transmit zero-length payload packets to satisfy timing requirements, then transmission range is extended, but actual data information is lost
Solution Approach 1:
The extender acts as an intelligent intermediary that maintains two separate data flows: synthetic data packets for protocol compliance (non-zero payload) and actual device data for information preservation. The extender buffers real data from remote devices and transmits it in subsequent packets, ensuring both timing requirements and data integrity are satisfied simultaneously.
Solution Approach 2:
The extender dynamically changes the payload parameter of transmitted packets based on the data source. For synthetic packets generated to meet timing requirements, it uses non-zero payload lengths. For actual device data packets, it preserves the original data content with appropriate payload lengths, thus adapting the parameter to serve different functional requirements.
3Reliability
If extender devices buffer and store data packets, then protocol compliance is maintained, but device complexity increases
Solution Approach 1:
The extender device is segmented into distinct functional modules: a USB protocol handling module that generates and transmits compliant data packets, a data buffering module that stores actual device data, and a data forwarding module that relays information between remote devices and the host. This segmentation allows each module to perform its function independently, maintaining protocol compliance while managing complexity through modular design.
Data Source
AI summary
A method for extending the range of isochronous USB data transfer, by providing a local extender and a remote extender, coupled respectively to the USB host and the USB device, and coupled to each other via a non-USB cable. After receiving a first In-token from the host, the local extender transmits a first data packet to the host, which contains a data payload having a non-zero length; the data is either generated by the first extender, or previously received from the USB device and stored in a buffer. The local extender forwards the first In-token to the USB device via the remote extender; in response, the USB device generates a second data packet containing requested data and transmits it to the local extender via the remote extender. The local extender stores the second data packet and transmits it to the host in response to a second In-token from the host.


