Abstract:
An apparatus comprising a virtual queue configured to virtually receive virtual data units as the data units are actually received by a real queue. In various embodiments, the virtual queue may include a token counter decrementor configured to, as an entering data unit virtually enters the virtual queue, attempt to allocate the entering data unit to either the committed burst or the excess burst and decrement either the committed token counter (CTC) or the excess token counter (ETC) respectively. In one embodiment, a token counter incrementer configured to, as a data unit virtually exits the virtual queue, increment one of the token counters. In some embodiments, the virtual queue may include a congestion indicator configured to categorize the entering data unit. In various embodiments, the virtual queue may be configured to provide congestion feedback information based, at least in part, upon the state of the CTC & ETC.