Multi-Host USB Router for Fair Bandwidth Distribution
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Information handling systems face challenges in efficiently routing data between multiple devices and nodes within a server chassis, particularly in managing virtual USB devices and ensuring fair bandwidth distribution across USB host controllers.
Innovation Solution
A multi-host USB router with a packet router, packet snooper, packet merger and arbiter, and routing control module dynamically manages routing tables to assign virtual USB devices to server nodes and distributes packets using algorithms like time division and round-robin to ensure efficient bandwidth utilization.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If multiple USB host controllers share a common USB bus without routing management, then device connectivity is simplified, but bandwidth distribution becomes unfair and some controllers may overwhelm the bus
Solution Approach 1:
A USB router is introduced as an intermediary device between multiple USB host controllers and the common USB bus. The router receives packets from host controllers, manages bandwidth allocation through arbitration mechanisms, and forwards packets to appropriate destinations. This mediator ensures fair bandwidth distribution while maintaining simplified connectivity for end devices.
Solution Approach 2:
The USB routing system segments network traffic into discrete packets with headers containing source and destination information. Each packet is independently routed through the USB router, allowing granular control over bandwidth allocation and enabling fair queuing mechanisms to prevent any single host controller from monopolizing the bus.
2Adaptability or versatility
If virtual USB devices are dynamically assigned to server nodes, then system adaptability improves, but routing management complexity increases
Solution Approach 1:
The USB router incorporates automatic routing table update capabilities where the routing control module dynamically adjusts routing entries based on device attachment/detachment events. The system self-manages the complexity of virtual device assignment through automated packet snooping and routing table regeneration, reducing manual configuration requirements.
Solution Approach 2:
The routing control module continuously monitors USB bus activity and packet flow patterns, using this feedback to dynamically optimize routing decisions. The system adjusts routing tables in real-time based on observed device assignments and bandwidth utilization, enabling adaptive management of virtual USB devices without increasing operational complexity.
3Productivity
If packet routing uses dynamic routing tables, then routing efficiency improves, but memory usage and processing overhead increase
Solution Approach 1:
The routing control module pre-calculates and populates routing tables based on anticipated device assignments and traffic patterns. By preparing routing information in advance rather than computing it in real-time during packet transmission, the system achieves efficient routing with reduced processing overhead during actual data transmission.
Solution Approach 2:
The routing tables are updated periodically or event-driven (e.g., upon device attachment/detachment) rather than continuously for every packet. This periodic update mechanism maintains routing efficiency while minimizing the frequency of memory writes and processing operations, thereby reducing overall energy consumption.
Data Source
AI summary
An information handling system includes a management controller and a router. The management controller includes a universal serial bus hub and first and second devices. The management controller to assign the first device to a first server node, to assign the second device to a second server node, and to create a routing table associated with the assignment of the first and second devices respectively to the first and second server nodes. The router is in communication with the management controller. The router to receive the routing table from the management controller, to receive data from the first server node, and to route the data to the first device based on the routing table. The universal serial bus hub communicates with the router via a single physical port of the management controller.


