Techniques for managing priority queues and escalation considerations in USB wireless communication systems
Abstract
Quality of Service (QoS) mechanisms and facilities are introduced into USB-based wireless Local Area Networking (LAN) communication systems. Techniques are provided for managing multiple priority queues in USB-based wireless communications systems, and for ensuring that lower priority traffic is not precluded from accessing the medium during sustained periods of use by high(er) priority traffic. A method is provided to resolve Quality of Service issues in emerging high-speed USB-based communications systems by offering support for multiple queue management within the system. A further embodiment provides an escalation mechanism for the purposes of mitigating low priority class data starvation in these communications systems, when it becomes an issue. QoS initiatives escalate a lower priority traffic class for the purposes of mitigating low priority class data starvation of the present invention, and/or use a single data buffer with management techniques to temporarily block or flow control data on a lower priority channel.
Claims
exact text as granted — not AI-modified1 . A media access controller in a Universal. Serial Bus (USB) system, comprising:
a plurality of data queues having different priorities; at least one escalation data queue; a channel access interface; and a queue manager to manage said plurality of data queues for service by said channel access interface; wherein said queue manager places data from a lower priority one of said plurality of data queues into said at least one escalation data queue to alleviate a data starvation possibility to a lower priority one of said plurality of data queues.
2 . The media access controller in a Universal Serial Bus (USB) system according to claim 1 , wherein:
said media access controller is integrated into a Universal Serial Bus (USB) device.
3 . The media access controller in a Universal Serial Bus (USB) system according to claim 2 , wherein:
said USB device is a wireless device.
4 . The media access controller in a Universal Serial Bus (USB) system according to claim 1 , wherein said plurality of data queues comprises:
at least two data queues.
5 . The media access controller in a Universal Serial Bus (USB) system according to claim 1 , wherein said plurality of data queues comprises:
at least three data queues.
6 . The media access controller in a Universal Serial Bus (USB) system according to claim 1 , further comprising:
a register adapted to block a USB packet for a certain endpoint as a function of a frame structure waiting in an incoming data queue.
7 . The media access controller in a Universal Serial Bus (USB) system according to claim 6 , wherein:
said USB packet is blocked using a NAK/NYET mechanism.
8 . A method for flow controlling a lower priority traffic class on a different Universal Serial Bus (USB) endpoint to mitigate low priority class data starvation, comprising:
grouping a plurality of groups of data into respective classes for queuing and transmission; and as quality of service rules require, escalating data of a lower priority to a highest class; wherein lower priority class traffic is allowed to be transmitted periodically on a communication medium during sustained periods of high(er) class priority traffic transmission.
9 . The method for flow controlling a lower priority traffic class on a different Universal Serial Bus (USB) endpoint to mitigate low priority class data starvation according to claim 8 , wherein:
said transmission is over a USB device.
10 . The method for flow controlling a lower priority traffic class on a different Universal Serial Bus (USB) endpoint to mitigate low priority class data starvation according to claim 8 , wherein:
said USB device is a wireless USB device.
11 . The method for flow controlling a lower priority traffic class on a different Universal Serial Bus (USB) endpoint to mitigate low priority class data starvation according to claim 8 , further comprising:
arbitrating between a pending transfer in a transmit state and a pending transfer in a receive state.
12 . The method for flow controlling a lower priority traffic class on a different Universal Serial Bus (USB) endpoint to mitigate low priority class data starvation according to claim 11 , wherein said arbitrating comprises:
rotating between said transmit state and said receive state.
13 . The method for flow controlling a lower priority traffic class on a different Universal Serial Bus (USB) endpoint to mitigate low priority class data starvation according to claim 8 , further comprising:
maintaining a request history buffer; and blocking a subsequent request that is lower priority then a highest priority captured in said history buffer; wherein an endpoint is blocked temporarily.
14 . The method for flow controlling a lower priority traffic class on a different Universal Serial Bus (USB) endpoint to mitigate low priority class data starvation according to claim 8 , further comprising:
blocking a USB packet for a certain endpoint as a function of a frame structure waiting in an incoming data queue.
15 . The method for flow controlling a lower priority traffic class on a different Universal Serial Bus (USB) endpoint to mitigate low priority class data starvation according to claim 14 , further comprising:
releasing said USB packet as soon as at least one of said plurality of queues empties to an acceptable level.
16 . Apparatus for flow controlling a lower priority traffic class on a different Universal Serial Bus (USB) endpoint to mitigate low priority class data starvation, comprising:
means for grouping a plurality of groups of data into respective classes for queuing and transmission; and means for escalating data of a lower priority to a highest class as quality of service rules require; wherein lower priority class traffic is allowed to be transmitted periodically on a communication medium during sustained periods of high(er) class priority traffic transmission.
17 . The apparatus for flow controlling a lower priority traffic class on a different Universal Serial Bus (USB) endpoint to mitigate low priority class data starvation according to claim 16 , wherein:
said transmission is over a USB device.
18 . The apparatus for flow controlling a lower priority traffic class on a different Universal Serial Bus (USB) endpoint to mitigate low priority class data starvation according to claim 16 , wherein:
said USB device is a wireless USB device.
19 . The apparatus for flow controlling a lower priority traffic class on a different Universal Serial Bus (USB) endpoint to mitigate low priority class data starvation according to claim 16 , further comprising:
means for arbitrating between a pending transfer in a transmit state and a pending transfer in a receive state.
20 . The apparatus for flow controlling a lower priority traffic class on a different Universal Serial Bus (USB) endpoint to mitigate low priority class data starvation according to claim 19 , wherein said arbitrating comprises:
means for rotating between said transmit state and said receive state.
21 . The apparatus for flow controlling a lower priority traffic class on a different Universal Serial Bus (USB) endpoint to mitigate low priority class data starvation according to claim 16 , further comprising:
means for maintaining a request history buffer; and means for blocking a subsequent request that is lower priority then a highest priority captured in said history buffer; wherein an endpoint is blocked temporarily.
22 . The apparatus for flow controlling a lower priority traffic class on a different Universal Serial Bus (USB) endpoint to mitigate low priority class data starvation according to claim 16 , further comprising:
means for blocking a USB packet for a certain endpoint as a function of a frame structure waiting in an incoming data queue.
23 . The apparatus for flow controlling a lower priority traffic class on a different Universal Serial Bus (USB) endpoint to mitigate low priority class data starvation according to claim 22 , further comprising:
means for releasing said USB packet as soon as at least one of said plurality of queues empties to an acceptable level.Join the waitlist — get patent alerts
Track US2006277330A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.