Integrated Bandwidth Latency Scheduler apparatus, method and system
(collectively, IBLS) combines Fair Queuing and Priority Schedulers in a
single stage to provide bandwidth fairness guarantees as well as latency
prioritization. The IBLS includes a scheduler and process that dequeues
packets from multiple queues in an order based upon an algorithm of the
IBLS that arranges and dequeues those queues having the highest priority
based on content therein. The IBLS also utilizes quotas and deficit
counters to ensure that packets from each source receive their fair
portion of the outgoing link bandwidth. To determine which first in first
out queue an incoming data packet is placed, the enqueue agent utilized by
the present invention classifies incoming packets based on the type of
data included within the data packet, the source of the packet, the type
of data flow, or another attribute of the packet, such as a header
associated with the packet. Additionally, a weighted fair queuing
algorithm provides express paths to latency critical components of user
flows while providing overall bandwidth guarantees, and uses bandwidth
borrowing from non-critical flows to ensure latency prioritization for
high priority flows.
Le matériel intégré, la méthode et le système de programmateur de latence de largeur de bande (collectivement, IBLS) combine des programmateurs d's'aligner et prioritaires de foire à une étape simple pour fournir des garanties d'equitabilité de largeur de bande comme le prioritization de latence. L'IBLS inclut un programmateur et un processus qui retire des paquets de la file d'attente des files d'attente multiples dans un ordre basé sur un algorithme de l'IBLS qui arrange et retire ces files d'attente ayant la priorité la plus élevée basée sur le contenu là-dedans. L'IBLS utilise également des quotes-parts et des compteurs de déficit pour s'assurer que les paquets de chaque source reçoivent leur partie juste de la largeur de bande sortante de lien. Pour déterminer ce que d'abord dans le premier hors de la file d'attente un paquet entrant de données est placé, l'agent de mettre en file d'attente utilisé par la présente invention classifie les paquets entrants basés sur le type de données incluses dans le paquet de données, la source du paquet, le type de données flux, ou un autre attribut du paquet, tel qu'un en-tête lié au paquet. En plus, un algorithme s'alignant pesé de foire fournit les chemins exprès aux composants critiques de latence des écoulements d'utilisateur tout en fournissant des garanties globales de largeur de bande, et emploie l'emprunt de largeur de bande des écoulements non critiques pour assurer le prioritization de latence pour des écoulements prioritaires élevé.