DE60300504T2 - Auf Krediten basierendes gewichtetes Schiedsverfahren unter Verwendung vergangener Kredithöhen - Google Patents

Auf Krediten basierendes gewichtetes Schiedsverfahren unter Verwendung vergangener Kredithöhen Download PDF

Info

Publication number
DE60300504T2
DE60300504T2 DE60300504T DE60300504T DE60300504T2 DE 60300504 T2 DE60300504 T2 DE 60300504T2 DE 60300504 T DE60300504 T DE 60300504T DE 60300504 T DE60300504 T DE 60300504T DE 60300504 T2 DE60300504 T2 DE 60300504T2
Authority
DE
Germany
Prior art keywords
queue
size
arbitration
regular
loan
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE60300504T
Other languages
English (en)
Other versions
DE60300504D1 (de
Inventor
Hong Xu
Mark A.W. Stewart
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Network Communications Inc
Original Assignee
Fujitsu Network Communications Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Network Communications Inc filed Critical Fujitsu Network Communications Inc
Application granted granted Critical
Publication of DE60300504D1 publication Critical patent/DE60300504D1/de
Publication of DE60300504T2 publication Critical patent/DE60300504T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/10Payment architectures specially adapted for electronic funds transfer [EFT] systems; specially adapted for home banking systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/03Credit; Loans; Processing thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/39Credit based
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/52Queue scheduling by attributing bandwidth to queues
    • H04L47/527Quantum based scheduling, e.g. credit or deficit based scheduling or token bank
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/622Queue service order
    • H04L47/623Weighted service order
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/625Queue scheduling characterised by scheduling criteria for service slots or service orders
    • H04L47/6255Queue scheduling characterised by scheduling criteria for service slots or service orders queue load conditions, e.g. longest queue first
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/625Queue scheduling characterised by scheduling criteria for service slots or service orders
    • H04L47/6265Queue scheduling characterised by scheduling criteria for service slots or service orders past bandwidth allocation

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Theoretical Computer Science (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Economics (AREA)
  • Development Economics (AREA)
  • Technology Law (AREA)
  • Marketing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

  • HINTERGRUND DER ERFINDUNG
  • Die vorliegende Erfindung bezieht sich auf das Gebiet einer Datenkommunikationsvorrichtung, und im Besonderen auf eine Vorrichtung, die ein Kredit-basiertes Schiedsverfahren bzw. Kredit-basierte Arbitrierung einsetzt für den Gebrauch einer gemeinsam genutzten Datenübertragungsressource.
  • Schiedsverfahrenstechniken bzw. Arbitrierungstechniken werden in einer Datenkommunikationsvorrichtung verwendet, wenn es mehrere Benutzer für eine gemeinsam genutzte Ressource gibt. Z.B. können mehrere Warteschlangen vorliegen, die Datenpakete enthalten, die über einen gemeinsamen Datenpfad innerhalb der Vorrichtung übertragen werden sollen. Ein Schiedsverfahren bzw. Arbitrierung wird verwendet zum Sicherstellen, dass die Übertragungskapazität des Datenpfades passend gemeinsam unter den verschiedenen Warteschlangen genutzt wird. Der Datenpfad kann gemäß einem relativ einfachen Kriterium gemeinsam genutzt bzw. geteilt werden, so wie Zuteilen eines gleichen Kapazitätsteils an jede Warteschlange, oder kann gemeinsam genutzt bzw, geteilt werden gemäß einem komplexeren Kriterium, so wie allgemein Zuteilen unterschiedlicher Spitzen- und Durchschnittsteile an jede Warteschlange.
  • Eine bekannte Schiedsverfahrentechnik ist das sogenannte "Wettkammpf"-Schiedsverfahren beziehungsweise "Round-Robin"-Arbitrierung. Jedesmal, wenn eine Arbitrierungsoperation durchgeführt wird, wird ein Zeiger verwendet zum Identifizieren der Warteschlange mit der höchsten Priorität für die Ressource, und den anderen Warteschlangen wird eine niedrigere Priorität gegeben. Der Pointer wird in einer vorbestimmten Art einmal pro Arbitrierungszyklus vorgerückt, so dass der Status einer "höchsten Priorität" der Reihe nach an jede Warteschlange gegeben wird. Unter der Annahme, dass jede Warteschlange jedes Schiedsverfahren, das sie gewinnt, voll verwenden kann, unterstützt das Round-Robin-Schema eine faire Verwendung der gemeinsam geteilten Ressource durch alle Warteschlangen.
  • Es ist auch bekannt, Übertragungs-"Kredite" einzusetzen beim Verwalten eines Zugriffs auf eine gemeinsam genutzte Ressource. In Kredit-basierten Schemata ist eine Kreditgröße mit einer Warteschlange oder anderen Datenquellen verknüpft. Eine Warteschlange ist zum Gebrauch der geteilten Ressource solange berechtigt, wie sie ausreichend Kredit hat. Der Kredit wird um eine passende Menge verringert, immer wenn Daten von der Warteschlange übermittelt sind, und die Kredite werden periodisch erhöht gemäß einem vorspezifizierten Kriterium. Kredit-basierte Schemen können nützlich sein zum Erreichen eines komplexen Gemisches von Verkehr von verschiedenen Quellen auf einem gemeinsam geteilten Datenpfad. Unterschiedliche periodische Kreditzuteilungen können an unterschiedlichen Warteschlangen durchgeführt werden zum Wiedergeben unterschiedlicher Anteile der Datenpfadübertragungskapazität. Die Verwendung von Krediten auf diese Weise kann als "gewichtete" Kredit-basierte Arbitrierung bezeichnet werden.
  • In gewissen Anwendungen können Nachteile vorliegen beim Verwenden einer gewichteten Round-Robin Arbitrierung zum Zweck eines genauen Zuteilens der Verwendung eines gemeinsam genutzten Datenpfades unter einer Anzahl von Benutzern. Wenn es eine Möglichkeit einer konkurrierenden Anforderung für weiter-abwärts bzw. weiter-downstream liegende Ressourcen gibt, kann es z.B. Zeiten geben, wenn eine Übermittlung von einer Warteschlange verhindert wird aufgrund einer solchen konkurrierenden Anforderung, selbst wenn die Warteschlange die höchste Priorität für den Gebrauch des Datenpfades hat. Diese Bedingung kann als "Gegendruck" bezeichnet werden. Alternativ kann der in eine gegebene Warteschlange fließende Verkehr besonders "stoßhaft" sein, d.h., er kann ein hohes Verhältnis von Spitze-zu-Durchschnittsdatenraten haben. Solch eine Warteschlange kann leer sein zu Zeiten, wenn sie den höchsten Prioritätsarbitrierungsstatus erhält. In beiden Fällen wird die an die Warteschlange zugeteilte Übertragungskapazität nicht durch die Warteschlange verwendet, und wird somit verschwendet oder durch andere Warteschlangen als Überschusskapazität verwendet. Solch eine Operation verzerrt effektiv das Ressourcenzuteilungsschema, resultierend in einem tatsächlichen Betriebsverhalten, das signifikant von dem gewünschten Verhalten abweichen kann. Im Besonderen können Benutzer der Vorrichtung eine tatsächliche Leistung erleben, die hinter der angepriesenen oder anderweitig erwarteten Leistung zurückbleibt, mit den Problemen einer Bedienperson von nicht erfüllten Erwartungen.
  • Aus US 5 920 568 ist eine Zeitplanungsvorrichtung und ein Zeitplanungsverfahren bekannt, die fähig sind zum Lesen von Datenelementen von einer Mehrzahl von Warteschlangen derart, dass sich die Vergangenheitshysterese darin widerspiegelt.
  • Aus EP-A-1 162790 ist ein Ansatz bekannt zum Vermeiden einer Stauung in einem Satellitenübertragungssystem. Im Besonderen zeigt dieses Dokument ein Verfahren zum Verwalten von Verkehr in Aufwärts- bzw. Uplinkverbindungen zu einem Satellit mit einer Mehrzahl von Warteschlangen, um eine Stauung in diesen Warteschlangen zu reduzieren, und somit die Wahrscheinlichkeiten von verlorenen Paketen aufgrund von Warteschlangenüberlauf zu reduzieren. Obwohl dieses Dokument ebenfalls einen Zeitplaner bzw. Scheduler zeigt, der verantwortlich ist für das Verwalten einer Übertragung von den Warteschlangen auf Abwärtsverbindungen an eine Mehrzahl von Zellen, ist die detaillierte Arbeitsweise des Schedulers in diesem Bezug nicht beschrieben. Die Beschreibung des Schedulers ist allgemein beschränkt auf die Art des Sammelns von gewissen Messungen oder Metriken einer tatsächlichen Leistung. Diese werden in einem verfügbaren Bandbreitensteuerungsmechanismus ABCM verwendet, dessen elementarer Effekt ein Begrenzen der Menge eines zu den Warteschlangen zugelassenen Verkehrs ist in Übereinstimmung mit einem Gesamtübertragungsplan.
  • Aus Shreedhar M. et al.: "Efficient Fair Queuing Using Deficit Round-Robin", IEEE/ACM Transactions on Networking, IEEE Inc. New York, US, Vol. 4, Nr. 3, 1. Juni 1996 (1996-06-001), Seiten 375–385, XP000591077 ISSN: 1963-6692 ist es bekannt, jedem durch ein Netzwerkgerät passierendem Fluss zu ermöglichen, einen fairen Teil der Netzwerkressourcen zu haben basierend auf etwas, das in diesem Dokument unzureichendes Round-Robin genannt wird, was von dem traditionellen Round-Robin sich darin unterscheidet, dass wenn eine Warteschlange nicht fähig zum Senden eines Paketes in der vorherigen Runde war, weil ihre Paketgröße zu groß war, der Rest von der vorherigen Menge zu der Menge für die nächste Runde hinzugefügt wird, so dass Warteschlangen, die in einer Runde schädigend vernachlässigt wurden, in der nächsten Runde entschädigt werden.
  • KURZE ZUSAMMENFASSUNG DER ERFINDUNG
  • Gemäß der vorliegenden Erfindung werden Verfahren und eine Vorrichtung offenbart zum Verwalten der Übertragung von Datenverkehr von einer Anzahl von Warteschlangen auf eine Weise, die die Fähigkeit einer Datenkommunikationseinrichtung verbessert zum Bereitstellen eines erwarteten Leistungspegels trotz der Anwesenheit von Bedingungen, so wie Stoßhaftigkeit im Datenfluss, die andernfalls die Leistung verschlechtern könnten.
  • In dem offenbarten Verfahren werden eine reguläre Kreditgröße und eine Vergangenheitskreditgröße für jede der Warteschlangen unterhalten. Die regulären Kreditgrößen werden allgemein verwendet zum Identifizieren von Kandidaten für eine Arbitrierung. Eine Warteschlange wird als ein Kandidat identifiziert, wenn eine Datenübertragung von der Warteschlange nicht blockiert ist, und die Warteschlange eine reguläre Kreditgröße größer als einen vorbestimmten minimalen Wert hat, so wie Null. Die reguläre Kreditgröße einer Warteschlange wird verringert, wenn Daten von der Warteschlange übertragen sind nach Gewonnenhaben des folgenden Schiedsverfahrens bzw, der folgenden Arbitrierung. Die reguläre Kreditgröße wird periodisch um ein Warteschlangen-spezifisches Gewicht erhöht, solange wie eine Datenübertragung von der Warteschlange nicht blockiert ist. In einem System, in dem die Warteschlangen einem Gegendruck unterworfen werden, der temporär eine Übertragung von der Warteschlange blockieren kann, wird z.B. die reguläre Kreditgröße zu einer gegebenen Zeit erhöht, wenn kein Gegendruck vorliegt.
  • Die Vergangenheitskreditgrößen werden ebenso verwendet zum Identifizieren von Kandidaten für ein Schiedsverfahren, aber in einer leicht unterschiedlichen Art. Ein Auswahlmechanismus wird verwendet zum periodischen Abrufen der Vergangenheitskreditgrößen, eher als der regulären Kreditgrößen. Die Identifizierung von Kandidaten, Arbitrierung, und Verringern der Vergangenheitskreditgröße werden in hohem Maße wie für die regulären Kreditgrößen durchgeführt. Jedoch wird die Vergangenheitskreditgröße auf eine andere Art erhöht. Die Vergangenheitskreditgröße wird anstelle eines Erhöhens der regulären Kreditgröße erhöht, wenn eine Übertragung von der Warteschlange blockiert ist. Somit verfolgt die Vergangenheitskreditgröße mögliche Übertragungsgelegenheiten, die aufgrund des Blockierens einer Übertragung von der Warteschlange durch einen Nicht-Arbitrierungsmechanismus verloren werden würden, sowie Gegendruck. Das periodische Abrufen der Vergangenheitskreditgrößen anstelle der regulären Kreditgrößen gibt jeder Warteschlange eine Gelegenheit zum "Einholen" bei ihrer Verwendung von Übertragungsgelegenheiten, was die Fairness verbessert, mit der die Übertragungsbandbreite von allen Warteschlangen verwendet wird.
  • Andere Aspekte, Merkmale und Vorteile der vorliegenden Erfindung werden aus der folgenden detaillierten Beschreibung ersichtlich werden.
  • KURZE BESCHREIBUNG DER MEHREREN ANSICHTEN DER ZEICHNUNGEN
  • Die Erfindung wird besser und voll verstanden werden durch Verweis auf die folgende detaillierte Beschreibung der Erfindung in Verbindung mit der Zeichnung, von der:
  • 1 ein Blockdiagramm ist eines Systems mit Warteschlangen für unterschiedliche Bestimmungsorte über einen gemeinsam genutzten bzw. geteilten Datenpfad gemäß der vorliegenden Erfindung;
  • 2 ein Diagramm ist einer Kreditfenster-Datenstruktur, verknüpft mit jeder Warteschlange in dem System von 1;
  • 3 ein Flussdiagramm ist eines Prozesses zum Identifizieren von Warteschlangen als Kandidat für ein Schiedsverfahren und Auswählen einer der Kandidatwarteschlangen zum Übertragen von Daten in dem System von 1; und
  • 4 ein Flussdiagramm ist eines Prozesses zum Hinzufügen von Übertragungskrediten zu der Kreditfenster-Datenstruktur von 2.
  • DETAILLIERTE BESCHREIBUNG DER ERFINDUNG
  • 1 zeigt einen Teil einer Netzwerkvermittlung, in der bei einem Eingang 10 empfangene Datenpakete oder Zellen in einer der mehreren Eingangswarteschlangen 12-1, 12-2, ..., 12-N gespeichert werden, abhängig davon, für welchen entsprechenden Ausgang 14-1, 14-2, ..., 14-N das Paket oder die Zelle bestimmt ist. Zur Annehmlichkeit verwendet der Rest dieser Beschreibung den Begriff "Paket", um auf Nachrichteneinheiten innerhalb der Vermittlung von 1 oder eines Netzwerks zu verweisen, in dem es arbeitet, ob solche Einheiten von variabler Größe oder von fester Größe sind. Verknüpft mit jedem Ausgang 14 ist eine entsprechende Ausgangswarteschlange 16. Zwischen zwei Warteschlangenmengen 12 und 16 ist ein gemeinsam genutzter bzw. geteilter Datenpfad, der einen Multiplexer 18 und einen Demultiplexer 20 enthält. Der Multiplexer 18 und Demultiplexer 20 werden durch eine Schiedsverfahrenlogik bzw. Arbitrierungslogik 22 gesteuert, die ihre Operationen teilweise basierend auf einer als Eingangswarteschlangenstatus und Ausgangswarteschlangenstatus gezeigten Warteschlangenstatusinformation ausführt.
  • Beim Betrieb werden empfangene Pakete untersucht zum Bestimmen des Ausgangs 14, zu dem jedes Paket weitergeleitet wird, und jedes Paket wird in der entsprechenden Eingangswarteschlange 12 platziert. Somit, wenn z.B. ein empfangenes Paket als für Ausgang 14-2 ausersehen bestimmt wird, wird das Paket in Eingangswarteschlange 12-2 platziert. Die Bestimmung des passenden Bestimmungsortes innerhalb der Vermittlung, allgemein als "weiterleiten" bezeichnet, kann auf irgendeine der im Fachgebiet bekannten Weisen durchgeführt werden.
  • Die Schiedsverfahrenlogik 22 ist verantwortlich für ein Überwachen der Eingangswarteschlangen 12 zum Identifizieren derer, die weiterzuleitende Pakete haben, und für ein Überwachen der Ausgangswarteschlangen 14 zum Bestimmen, welche fähig sind zum Annehmen weitergeleiteter Pakete. Zusätzlich führt Schiedsverfahrenlogik 22 einen vorbestimmten Algorithmus aus zum Identifizieren von "Kandidat"-Eingangswarteschlangen 12, d.h. von denen, die berechtigt zum Weiterleiten von Paketen sind, und zum Auswählen aus den Kandidaten auf eine Weise, die gewisse Betriebsziele der Vermittlung fördert. Diese Ziele fallen allgemein in das Reich einer "Verkehrsformung", d.h. Steuern von Spitzen- und Durchschnittsübertragungsraten einer Anzahl von Strömen, während eines Maximierens des effizienten Gebrauchs einer verfügbaren Übertragungsbandbreite. Spezifische durch die Schiedsverfahrenlogik 22 ausgeführte Prozesse sind unten beschrieben.
  • Sobald ein Paket von einer Eingangswarteschlange 12 durch den Multiplexer 18 und Demultiplexer 20 zu einer Ausgangswarteschlange 16 übermittelt worden ist, ist es zu dem entsprechenden Ausgang 14 übertragen bei Erreichen des Kopfes der Ausgangswarteschlange 16. Somit arbeiten zu Ausgangswarteschlange 16-2 gelieferte Pakete sich z.B. ihren Weg in einer first-in-first-out (FIFO)-Art zu dem Kopf der Warteschlange 16-2 und werden dann übertragen auf einer mit dem Ausgang 14-2 verbundenen Netzwerkverbindung (nicht gezeigt).
  • 2 zeigt eine Datenstruktur, die in Verbindung mit dem Betrieb des Systems von 1 verwendet wird, im Besonderen die Operationen der Schiedsverfahrenlogik 22. Eine solche Datenstruktur wird für jede Eingangswarteschlange 12 unterhalten. Die Struktur beinhaltet eine reguläre Kreditgröße 24, eine Vergangenheitskreditgröße 26, eine Wertigkeit 28, eine Sendegröße 30, und einen Grenzwert 32. In einer Ausführungsform ist die reguläre Kreditgröße 24 vorzugsweise eine Vorzeichen-behaftete, Mehr-Bit Ganzzahl, wohingegen die anderen Datenelemente vorzugsweise Vorzeichenlose Werte sind. Die reguläre Kreditgröße 24 verfolgt die Anzahl von Übertragungskrediten eines ersten Typs, hier als "reguläre" Kredite bezeichnet, die zugunsten der entsprechenden Eingangswarteschlange 12 angesammelt worden sind. Diese regulären Kredite werden zu der Größe unter gewissen Umständen hinzugefügt, wie unten beschrieben. Die Vergangenheitskreditgröße 26 verfolgt die Anzahl von Übertragungskrediten eines zweiten Typs, als "Vergangenheits"-Kredite bezeichnet, die durch die entsprechende Warteschlange angesammelt worden sind, wobei die Vergangenheitskredite zu der Größe unter gewissen Umständen hinzugefügt werden, wie unten beschrieben. Die regulären und Vergangenheitskreditgrößen 24, 26 werden ebenso unterschiedlich in dem Schiedsverfahrenprozess verwendet, wie auch unten beschrieben.
  • Die Wertigkeit 28 ist ein bereitgestellter Parameter, der die relative Priorität des Verkehrs von der entsprechenden Eingangswarteschlange 12 gegenüber dem Verkehr der anderen Eingangswarteschlangen 12 anzeigt. Die Sendegröße 30 ist ebenso ein Betriebsparameter, der der Anzahl von Bytes oder Dateneinheiten entspricht, die "aus der Warteschlange entfernt" sind, oder von einer Eingangswarteschlange 12 übertragen sind, zu einer Zeit, wenn die Eingangswarteschlange 12 ein Schiedsverfahren gewinnt. Der Grenzwert 32 setzt einen maximalen Wert fest, der durch die Vergangenheitskreditgröße 26 erreicht werden kann. Er ist vorzugsweise ein konfigurierbarer Parameter zum Ermöglichen eines Grades eines "Abstimmens" des Schiedsverfahrenalgorithmus, wie weiter unten detaillierter beschrieben.
  • 3 zeigt den Betrieb der Schiedsverfahrenlogik bzw. Arbitrierungslogik 22 beim Identifizieren von Kandidaten zur Übertragung und beim Auswählen unter den identifizierten Kandidaten. Der Zyklus beginnt in einem Leerlaufzustand 34. Ein externer Mechanismus (nicht gezeigt) wird verwendet zum Überführen des Prozesses in entweder einen Zustand 36, in dem reguläre Kredite abgerufen werden, oder in einen Zustand 38, in dem Vergangenheitskredite abgerufen werden. Dieser Mechanismus kann z.B. ein mit einem binären Muster programmiertes Schieberegister sein zum Wiedergeben eines gewünschten Verhältnisses eines Startens in entweder Zustand 36 oder 38. Z.B. kann jede "1" in dem Muster anzeigen, dass reguläre Kredite abgerufen werden sollen, wohingegen jede "0" anzeigt, dass Vergangenheitskredite zuerst abgerufen werden sollen. Die relative Anzahl von "1"en und "0"en zeigt dann das gewünschte Verhältnis dieser Aktivitäten an. Eine Zahl wie "11110" zeigt an, dass Vergangenheitskredite einen aus fünf Schiedsverfahrenzyklen abgerufen werden sollten, wohingegen eine Zahl wie 11100" anzeigt, dass Vergangenheitskredite zwei aus fünf Schiedsverfahrenzyklen abgerufen werden sollten. Das Schieberegister wird einmal für jeden Schiedserfahrenzyklus verschoben, und der Wert eines Bits bei einer vorbestimmten Position (z.B. das signifikanteste Bit) stellt die Anzeige bereit. Selbstverständlich können andere Mechanismen zum Leiten des Prozesses zu dem gewünschten Startzustand 36 oder 38 verwendet werden.
  • Wenn der Prozess in dem "Vergangenheit abrufen" Zustand 38 startet, wird der Vergangenheitskreditwert 26 (2) für jede Eingangswarteschlange 12 untersucht. Jede Eingangswarteschlange mit einem Vergangenheitskreditwert größer als Null wird als ein Kandidat für ein Schiedsverfahren bzw. eine Arbitrierung identifiziert. Wenn einer oder mehrere solcher Kandidaten gefunden sind, geht der Prozess zu einem Entscheidungszustand 40 über, der unten beschrieben ist.
  • Der Prozess kann den "Regulär abrufen" Zustand 36 entweder direkt von dem Leerlaufzustand 34 (über einen externen Mechanismus wie oben beschrieben) oder von dem "Vergangenheit abrufen" Zustand 38 betreten, wenn keine Kandidaten identifiziert sind (d.h., alle der Eingangswarteschlangen 12 haben Null Vergangenheitskredite 26). In dem "Regulär abrufen" Zustand 36 werden die regulären Kreditgrößen 24 für jede Eingangswarteschlange untersucht, zusammen mit Zustandssignalen, die anzeigen, ob die Eingangswarteschlange leer ist, und ob die entsprechende Ausgangswarteschlange 16 ein "Gegendruck" Signal geltend macht, das anzeigt, dass sie aktuell eine Übermittlung nicht annehmen kann. Alle Eingangswarteschlangen, die eine reguläre Kreditgröße 24 größer als Null haben und nicht leer sind und keinen Gegendruck erfahren, werden als Kandidaten für ein Schiedsverfahren identifiziert. Wenn wenigstens ein solcher Kandidat gefunden ist, geht der Prozess zu dem Entscheidungszustand 40 über.
  • Wenn keine Kandidaten in dem "Regulär abrufen" Zustand 36 gefunden sind, schreitet der Prozess zu dem "Kredit hinzufügen" Zustand 42 über. In diesem Zustand werden die Kredite für jede Eingangswarteschlange 12 bedingungsweise in einer oben beschriebenen Weise erhöht. Der Prozess schreitet dann zu einem "Hinzugefügt abrufen" Zustand 44 über.
  • In dem "Hinzugefügt abrufen" Zustand 44 werden die regulären Kreditgrößen 24 für jede Eingangswarteschlange erneut untersucht, zusammen mit den Statussignalen einer leeren Warteschlange und eines Gegendrucks. Alle Eingangswarteschlangen 12, die eine reguläre Kreditgröße 24 größer als Null haben, und nicht leer sind und keinen Gegendruck erfahren, werden als Kandidaten für ein Schiedsverfahren identifiziert. Wenn wenigstens ein solcher Kandidat gefunden ist, geht der Prozess zu dem Entscheidungszustand 40 über. Wenn keine Kandidaten gefunden sind, kann eines aus mehreren Dingen geschehen. Wenn die durch Schritte 42 und 44 geformte Schleife nicht für mehr als eine annehmbare maximale Anzahl von Malen wiederholt worden ist, angezeigt als "OVF" für "Overflow", dann kehrt der Prozess zu Schritt 42 zurück und die Schleife wird wiederholt. Wenn die Schleifenwiederholung übergelaufen ist, wird der Prozess entweder zu einem "Wartenschlangenlänge abrufen" Zustand 46 oder einem "Gültig abrufen" Zustand 48 fortschreiten, abhängig von dem Setzen einer Steuerungsvariable QLN, die anzeigt ob die auf einer Warteschlangenlänge basierende Identifizierung von Kandidaten unternommen werden soll. Die Variable QLN kann durch einen Aufsichtsprozessor (nicht gezeigt) in dem System gesteuert werden.
  • In dem "Wartenschlangenlänge abrufen" Zustand 46 werden die Eingangswarteschlangen 12, die eine Warteschlangenlänge größer als einen spezifizierten Wert haben, als Kandidaten identifiziert. Wenn welche gefunden sind, schreitet der Prozess zu dem Entscheidungszustand 40 fort. Andernfalls schreitet der Prozess zu dem "Gültig abrufen" Zustand 48 fort.
  • In dem "Gültig abrufen" Zustand 48 werden die Eingangswarteschlangen 12 als Kandidaten identifiziert, die nicht leer sind. Wenn welche gefunden sind, schreitet der Prozess zu dem Entscheidungszustand 40 fort. Andernfalls kehrt der Prozess zu dem Leerlaufzustand 34 zurück.
  • Das Abrufen von Warteschlangenlänge und Nicht-Leer-Zustand wird bereitgestellt, um von einer Übertragungskapazität Gebrauch zu machen, die unverwendet bleiben könnte basierend auf den Kreditgrößen 24 und 26 allein. Beide dieser Abrufe können in der Identifizierung einer Kandidatenwarteschlange resultieren, selbst wenn die Warteschlange nicht ausreichend reguläre Kredite oder Vergangenheitskredite hat zum Qualifizieren als ein Kandidat auf dieser Basis.
  • In dem Entscheidungszustand 40 wird einer der identifizierten Kandidaten auf einer Round-Robin Basis ausgewählt. Die Identität der höchsten Prioritätseingangswarteschlange rückt in der Reihenfolge zwischen den Warteschlangen voran während jedes Arbitrierungszyklus, und die verbleibenden Warteschlangen werden in entsprechender Reihenfolge eingereiht. Somit werden während eines Arbitrierungszyklus, z.B. Prioritäten von 1, 2, ... 12 an Warteschlangen 4, 5, ..., 12, 1, 2 bzw. 3 gegeben. Während des nächsten Arbitrierungszyklus verschieben sich die Prioritäten zu Warteschlangen 5, 6, ..., 12, 1, 2, 3, bzw. 4. Während eines gegebenen Arbitrierungszyklus wird die Warteschlange einer höchsten Priorität, die als ein Kandidat identifiziert ist, als der Gewinner des Schiedsverfahrens bzw. der Arbitrierung ausgewählt. Einige Nummern von Dateneinheiten werden kann übermittelt von der gewinnenden Eingangswarteschlange 12 an die entsprechende Ausgangswarteschlange 16. Zur selben Zeit wird entweder die reguläre Kreditgröße 24 oder die Vergangenheitskreditgröße 26 für die gewinnende Warteschlange verringert um einen Betrag, der der Anzahl von Dateneinheiten entspricht, die übermittelt werden, wie durch den Sendegrößenwert 30 angezeigt. Die Vergangenheitskreditgröße 26 wird dekrementiert, wenn der Entscheidungszustand 40 über den "Vergangenheit abrufen" Zustand 38 betreten wurde; andernfalls wird die reguläre Kreditgröße 24 dekrementiert.
  • 4 zeigt die Weise, in der Kredite bedingungsweise zu der regulären Kreditgröße 24 und zu der Vergangenheitskreditgröße 26 für jede Eingangswarteschlange 12 hinzugefügt werden. Der Prozess von 4 tritt für jede Eingangswarteschlange 12 jedes Mal auf, wenn der Prozess von 3 durch den "Kredit hinzufügen" Zustand 42 schreitet.
  • In Schritt 50 wird bestimmt, ob die reguläre Kreditgröße 24 geringer als oder gleich Null ist. Wenn dies der Fall ist, wird die reguläre Kreditgröße 24 in Schritt 52 durch die Wertigkeit 28 (2) erhöht. Diese Aktion kann oder kann nicht die reguläre Kreditgröße 24 auf größer als Null erhöhen. Wenn sie dies tut, dann kann die entsprechende Warteschlange als ein Kandidat identifiziert werden während des "Regulär abrufen" Zustands 36 oder eines "Hinzugefügt abrufen" Zustands 44 in einem folgenden Durchlauf des Prozesses von 3. In der erläuterten Ausführungsform ist der Wert von Null ein geeigneter oberer Schwellenwert zum Bestimmen, wann das Erhöhen der regulären Kreditgröße 24 gestoppt werden soll. Es kann vorteilhaft sein, einen unterschiedlichen oberen Schwellenwert in alternativen Ausführungsformen einzusetzen.
  • Mit erneutem Bezug auf 4, wenn in Schritt 50 die reguläre Kreditgröße 24 bereits größer als Null ist, schreitet der Prozess dann zu Schritt 54 fort, in dem bestimmt wird, ob die Warteschlange entweder Gegendruck begegnet oder leer ist, anzeigend, dass die Warteschlange aktuell keinen Gebrauch von neuen Krediten machen kann. Wenn irgendeine von den zwei Bedingungen vorliegt, und die Vergangenheitsgröße 26 geringer als der Grenzwert 32 ist, schreitet der Prozess zu Schritt 56 fort, in dem die Vergangenheitskreditgröße 26 um die Wertigkeit 28 erhöht wird. Diese Operation ist für die Ansammlung von Krediten in der Vergangenheitskreditgröße 26 verantwortlich bis zu dem Wert des Grenzwertes 32, dessen angesammelte Kredite in dem "Vergangenheit abrufen" Zustand 38 in dem Prozess von 3 verwendet werden. Als ein Ergebnis hat die entsprechende Eingangswarteschlange 12 eine Gelegenheit zum "Einholen" in ihrem Gebrauch von Krediten, trotz des Auftretens von Bedingungen, die andernfalls in dem Verlust von zugeteilter Bandbreite resultieren könnten, wie oben beschrieben.
  • Dem Fachmann wird offensichtlich sein, dass Modifizierungen und Variationen der offenbarten Verfahren und der Vorrichtungen möglich sind, ohne von den hier offenbarten erfinderischen Konzepten abzuweichen, und deshalb sollte die Erfindung nicht als beschränkt auf den vollen Bereich der beigefügten Ansprüche begrenzt angesehen werden.

Claims (16)

  1. Ein Verfahren zum Verwalten der Übertragung von Datenverkehr von einer Vielzahl von Warteschlangen (12) mit: Unterhalten einer regulären Kreditgröße (24) und einer Vergangenheitskreditgröße (26) für jede der Warteschlangen; periodischem Abrufen (38) der Vergangenheitskreditgrößen (26) der Warteschlangen zum Identifizieren von Kandidaten für ein Schiedsverfahren, wobei eine Warteschlange als ein Kandidat identifiziert wird, wenn eine Datenübertragung von der Warteschlange nicht blockiert ist, und die Warteschlange eine Vergangenheitskreditgröße (26) größer als ein erster vorbestimmter minimaler Wert hat; Abrufen (36), sowohl periodisch als auch bei Identifizieren keiner Kandidaten für ein Schiedsverfahren durch Abrufen der Vergangenheitskreditgrößen (26), der regulären Kreditgrößen (24) der Warteschlangen (12) zum Identifizieren von Kandidaten für ein Schiedsverfahren, wobei eine Warteschlange als ein Kandidat identifiziert wird, wenn eine Datenübertragung von der Warteschlange nicht blockiert ist, und die Warteschlange eine reguläre Kreditgröße (24) größer als ein zweiter vorbestimmter minimaler Wert hat; bei Identifizieren von Kandidaten für ein Schiedsverfahren basierend auf entweder den Vergangenheitskreditgrößen (26) oder den regulären Kreditgrößen (24), Durchführen eines Schiedsverfahrens zwischen diesen als Kandidaten identifizierten Warteschlangen; periodischem Erhöhen der regulären Kreditgröße (52) oder Vergangenheitskreditgröße (56) für jede Warteschlange, wobei die reguläre Kreditgröße für eine Warteschlange erhöht wird, wenn eine Datenübertragung von der Warteschlange nicht blockiert ist, und wobei die Vergangenheitskreditgröße für eine Warteschlange erhöht wird, wenn eine Datenübertragung von der Warteschlange blockiert ist; und Verringern entweder der regulären Kreditgröße (24) oder der Vergangenheitskreditgröße (26) für jede Warteschlange, wenn Daten gesendet werden von der Warteschlange bei Gewinnen eines Schiedsverfahrens, wobei die Vergangenheitskreditgröße verringert wird, wenn das Schiedsverfahren gewonnen worden ist auf Basis der Vergangenheitskreditgröße, und die reguläre Kreditgröße verringert wird, wenn das Schiedsverfahren gewonnen worden ist auf der Basis der regulären Kreditgröße.
  2. Ein Verfahren gemäß Anspruch 1, ferner umfassend: Unterhalten eines Schieberegisters mit einem Muster, das die relativen Häufigkeiten festsetzt, bei denen die reguläre Kreditgröße (24) und die Vergangenheitskreditgröße (26) abgerufen werden; periodisches Verschieben der Inhalte des Schieberegisters; und bei jeder Verschiebung des Schieberegisters, Bestimmen basierend auf dem Wert der binären Ziffer bei einer vorbestimmten Position in dem Schieberegister, ob die Vergangenheitskreditgröße abgerufen werden soll (38) oder die reguläre Kreditgröße abgerufen werden soll (36).
  3. Ein Verfahren gemäß Anspruch 1, wobei die Datenübertragung von der Warteschlange (12) bestimmt wird, blockiert zu sein, wenn die Warteschlange entweder leer ist oder Gegendruck begegnet, und wobei die Datenübertragung von der Warteschlange bestimmt wird, nicht blockiert zu sein, wenn die Warteschlange nichtleer ist und keinen Gegendruck begegnet.
  4. Ein Verfahren gemäß Anspruch 1, wobei das Erhöhen der regulären Kreditgröße und der Vergangenheitskreditgröße von jeder Warteschlange geschieht bei Identifizieren keiner Kandidaten während des Abrufens der regulären Kreditgröße.
  5. Ein Verfahren gemäß Anspruch 1, wobei das Durchführen eines Schiedsverfahrens das Durchführen eines Wettkampf-Schiedsverfahrens (round-robin arbitration) umfasst.
  6. Ein Verfahren gemäß Anspruch 1, wobei der erste vorbestimmte minimale Wert null ist.
  7. Ein Verfahren gemäß Anspruch 1, wobei der zweite vorbestimmte minimale Wert null ist.
  8. Ein Verfahren gemäß Anspruch 1, ferner umfassend das Unterhalten eines Vergangenheitskreditgrenzwertes (32) für jede der Warteschlangen, und wobei die Vergangenheitskreditgröße (26) für jede Warteschlange erhöht wird (56), wenn die Datenübertragung von der Warteschlange blockiert ist, und die Vergangenheitskreditgröße geringer ist als der Vergangenheitskreditgrenzwert.
  9. Ein Verfahren gemäß Anspruch 1, ferner umfassend das Unterhalten einer Wertigkeit (28) für jede Warteschlange, und wobei das Erhöhen der Vergangenheitskreditgröße (26) und der regulären Kreditgröße (24) von jeder Warteschlange das Erhöhen (52, 56) der Kreditgröße durch die entsprechende Wertigkeit (28) umfasst.
  10. Ein Verfahren gemäß Anspruch 9, wobei die Wertigkeiten, die für die unterschiedlichen Warteschlangen unterhalten werden, allgemein unterschiedlich sind.
  11. Ein Verfahren gemäß Anspruch 1, wobei jede Warteschlange einem anderen Ausgang einer Netzwerkvorrichtung entspricht.
  12. Ein Verfahren gemäß Anspruch 1, ferner umfassend das erneute Abrufen (44) der regulären Kreditgröße von jeder Warteschlange bei Erhöhen (42) der regulären Kreditgröße (24) und der Vergangenheitskreditgröße (26) von jeder Warteschlange; und bei Identifizieren von Kandidaten für das Schiedsverfahren basierend auf dem erneuten Abrufen von den regulären Kreditgrößen, Durchführen des Schiedsverfahrens zwischen diesen als Kandidaten identifizierten Warteschlangen.
  13. Ein Verfahren gemäß Anspruch 12, ferner umfassend das Wiederholen des Erhöhens (42) der Kreditgrößen (24, 26), des erneuten Abrufens (44), und des bedingten Durchführens des Schiedsverfahrens zwischen basierend auf dem erneuten Abrufen identifizierten Kandidaten bis zu einer vorbestimmten maximalen Anzahl von Durchläufen.
  14. Ein Verfahren gemäß Anspruch 1, ferner umfassend: das Abrufen (46) der jeweiligen Längen der Warteschlangen, wenn keine Kandidaten identifiziert werden bei dem Abrufen (36) der regulären Kreditgrößen (24); und bei Identifizieren von Kandidaten für das Schiedsverfahren basierend auf dem Abrufen (46) der Warteschlangenlängen, Durchführen des Schiedsverfahrens zwischen diesen als Kandidaten identifizierten Warteschlangen.
  15. Ein Verfahren gemäß Anspruch 1, ferner umfassend: Abrufen (48) der Warteschlangen zum Identifizieren der Warteschlangen, die Daten enthalten, wenn keine Kandidaten identifiziert werden bei dem Abrufen (36) der regulären Kreditgrößen (24); und bei Identifizieren von Kandidaten für das Schiedsverfahren basierend auf Identifizieren von Warteschlangen, die Daten enthalten, Durchführen des Schiedsverfahren zwischen diesen als Kandidaten identifizierten Warteschlangen.
  16. Eine Netzwerkvermittlung mit: einer Vielzahl von Warteschlangen (12), wobei jede Warteschlange angepasst ist zum Datenempfangen von einem Eingang (10) der Vermittlung und verknüpft ist mit einem entsprechenden unterschiedlichen Ausgang (14) der Vermittlung, wobei jede Warteschlange eine entsprechende reguläre Kreditgröße (24) und Vergangenheitskreditgröße (26) beinhaltet; Datenübertragungslogik (18, 20), wirkend auf Übertragungsdaten von einer ausgewählten der Warteschlangen zu dem entsprechenden Ausgang der Vermittlung; und Schiedsverfahrenlogik (22), wirkend auf: periodisches Abrufen der Vergangenheitskreditgrößen (26) der Warteschlangen zum Identifizieren von Kandidaten für das Schiedsverfahren, wobei eine Warteschlange als ein Kandidat identifiziert ist, wenn die Datenübertragung von der Warteschlange nicht blockiert ist, und die Warteschlange eine Vergangenheitskreditgröße (26) größer als ein erster vorbestimmter minimaler Wert hat; Abrufen (36), sowohl periodisch als auch bei Identifizieren keiner Kandidaten für das Schiedsverfahren durch Abrufen der Vergangenheitskreditgrößen (26), der regulären Kreditgrößen (24) der Warteschlangen (12) zum Identifizieren von Kandidaten für das Schiedsverfahren, wobei eine Warteschlange als ein Kandidat identifiziert ist, wenn die Datenübertragung von der Warteschlange nicht blockiert ist, und die Warteschlange eine reguläre Kreditgröße (24) größer als ein zweiter vorbestimmter minimaler Wert hat; bei Identifizieren von Kandidaten für das Schiedsverfahren basierend auf entweder den Vergangenheitskreditgrößen (26) oder den regulären Kreditgrößen (24), Durchführen des Schiedsverfahrens zwischen den als Kandidaten identifizierten Warteschlangen; periodisches Erhöhen entweder der regulären Kreditgröße (52) oder der Vergangenheitskreditgröße (56) von jeder Warteschlange (12), wobei die reguläre Kreditgröße für eine Warteschlange erhöht wird, wenn die Datenübertragung von der Warteschlange nicht blockiert ist, und wobei die Vergangenheitskreditgröße für eine Warteschlange erhöht wird, wenn die Datenübertragung von der Warteschlange blockiert ist; und Verringern entweder der regulären Kreditgröße (24) oder der Vergangenheitskreditgröße (26) für jede Warteschlange, wenn Daten übertragen werden von der Warteschlange bei Gewinnen eines Schiedsverfahrens, wobei die Vergangenheitskreditgröße verringert wird, wenn das Schiedsverfahren gewonnen ist auf der Basis der Vergangenheitskreditgröße, und die reguläre Kreditgröße verringert wird, wenn das Schiedsverfahren gewonnen ist auf der Basis der regulären Kreditgröße.
DE60300504T 2002-01-14 2003-01-08 Auf Krediten basierendes gewichtetes Schiedsverfahren unter Verwendung vergangener Kredithöhen Expired - Fee Related DE60300504T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US47467 2002-01-14
US10/047,467 US7324452B2 (en) 2002-01-14 2002-01-14 Weighted credit-based arbitration using credit history

Publications (2)

Publication Number Publication Date
DE60300504D1 DE60300504D1 (de) 2005-05-25
DE60300504T2 true DE60300504T2 (de) 2006-02-23

Family

ID=21949148

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60300504T Expired - Fee Related DE60300504T2 (de) 2002-01-14 2003-01-08 Auf Krediten basierendes gewichtetes Schiedsverfahren unter Verwendung vergangener Kredithöhen

Country Status (4)

Country Link
US (1) US7324452B2 (de)
EP (1) EP1328094B1 (de)
JP (1) JP4287157B2 (de)
DE (1) DE60300504T2 (de)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6249775B1 (en) * 1997-07-11 2001-06-19 The Chase Manhattan Bank Method for mortgage and closed end loan portfolio management
US7062462B1 (en) 1999-07-26 2006-06-13 The Chase Manhattan Bank On-line higher education financing system
US7599879B2 (en) * 2000-03-24 2009-10-06 Jpmorgan Chase Bank, National Association Syndication loan administration and processing system
US7472088B2 (en) * 2001-01-19 2008-12-30 Jpmorgan Chase Bank N.A. System and method for offering a financial product
US7724760B2 (en) * 2001-07-05 2010-05-25 Broadcom Corporation Method and apparatus for bandwidth guarantee and overload protection in a network switch
JP2004534462A (ja) * 2001-07-05 2004-11-11 サンドバースト コーポレーション リンク帯域幅割り当て方法および装置
US7324452B2 (en) * 2002-01-14 2008-01-29 Fujitsu Limited Weighted credit-based arbitration using credit history
US7539199B2 (en) * 2003-02-21 2009-05-26 Gireesh Shrimali Switch fabric scheduling with fairness and priority consideration
US7668777B2 (en) 2003-07-25 2010-02-23 Jp Morgan Chase Bank System and method for providing instant-decision, financial network-based payment cards
US20090313163A1 (en) * 2004-02-13 2009-12-17 Wang ming-huan Credit line optimization
US7685064B1 (en) 2004-11-30 2010-03-23 Jp Morgan Chase Bank Method and apparatus for evaluating a financial transaction
JP2006195714A (ja) * 2005-01-13 2006-07-27 Matsushita Electric Ind Co Ltd リソース管理装置
US8457131B2 (en) * 2005-02-18 2013-06-04 Broadcom Corporation Dynamic table sharing of memory space within a network device
US8027256B1 (en) * 2005-06-02 2011-09-27 Force 10 Networks, Inc. Multi-port network device using lookup cost backpressure
ATE385371T1 (de) * 2005-07-22 2008-02-15 Alcatel Lucent Verfahren zum betreiben einer ablaufsteuerung eines kreuzvermittlungsschalters und ablaufsteuerung
US7925578B1 (en) 2005-08-26 2011-04-12 Jpmorgan Chase Bank, N.A. Systems and methods for performing scoring optimization
US8489497B1 (en) 2006-01-27 2013-07-16 Jpmorgan Chase Bank, N.A. Online interactive and partner-enhanced credit card
US7903558B1 (en) * 2007-09-28 2011-03-08 Qlogic, Corporation Method and system for monitoring a network link in network systems
CN101286947B (zh) * 2008-05-30 2010-12-01 杭州华三通信技术有限公司 数据输出控制方法和装置
US8687639B2 (en) 2009-06-04 2014-04-01 Nvidia Corporation Method and system for ordering posted packets and non-posted packets transfer
US8284660B2 (en) 2009-10-30 2012-10-09 Qualcomm, Incorporated Method and apparatus for scheduling of quality of service (QoS) transmissions in a wireless communication system
US8532098B2 (en) * 2009-11-30 2013-09-10 Nvidia Corporation System and method for virtual channel communication
US9331869B2 (en) 2010-03-04 2016-05-03 Nvidia Corporation Input/output request packet handling techniques by a device specific kernel mode driver
US9253111B2 (en) 2013-02-27 2016-02-02 Futurewei Technologies, Inc. Bandwidth distribution based on prior granting cycles
WO2015152891A1 (en) 2014-03-31 2015-10-08 Hewlett-Packard Development Company, L.P. Credit distribution to clients
US11221853B2 (en) * 2015-08-26 2022-01-11 Huawei Technologies Co., Ltd. Method of dispatching instruction data when a number of available resource credits meets a resource requirement
US10853077B2 (en) * 2015-08-26 2020-12-01 Huawei Technologies Co., Ltd. Handling Instruction Data and Shared resources in a Processor Having an Architecture Including a Pre-Execution Pipeline and a Resource and a Resource Tracker Circuit Based on Credit Availability
KR102505855B1 (ko) * 2016-01-11 2023-03-03 삼성전자 주식회사 가중치 기반 멀티-큐 가능 리소스 공유 방법
US10243866B2 (en) * 2016-07-01 2019-03-26 International Business Machines Corporation Controlling packet data transmissions via data transmission media
US10637919B2 (en) * 2017-03-23 2020-04-28 Microsoft Technology Licensing, Llc Autonomous resource governor in distributed systems for protecting shared resources
AU2020396956B2 (en) 2019-12-02 2022-10-27 DRW Technologies, LLC System and method for latency critical quality of service using continuous bandwidth control

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5231633A (en) * 1990-07-11 1993-07-27 Codex Corporation Method for prioritizing, selectively discarding, and multiplexing differing traffic type fast packets
US5479407A (en) 1991-05-24 1995-12-26 Ko; Cheng-Hsu Channel utilization method and system for ISDN
US6104724A (en) 1993-09-20 2000-08-15 Transwitch Corp. Asynchronous data transfer and source traffic control system
US5548581A (en) 1994-08-17 1996-08-20 Bellsouth Corporation System and method for making connection acceptance/rejection decisions in a communication system
US5710549A (en) 1994-09-30 1998-01-20 Tandem Computers Incorporated Routing arbitration for shared resources
US5473604A (en) 1994-11-21 1995-12-05 At&T Corp. Method for avoiding node overload in a packet switching network
US5805577A (en) 1995-07-20 1998-09-08 Jain; Raj Erica: explicit rate indication for congestion avoidance in ATM networks
EP0781068A1 (de) 1995-12-20 1997-06-25 International Business Machines Corporation Methode und System für adaptive Bandbreitenzuordnung in einem schnellen Datennetzwerk
JP2929991B2 (ja) * 1996-01-29 1999-08-03 日本電気株式会社 最適化クレジット制御方法
US5793747A (en) 1996-03-14 1998-08-11 Motorola, Inc. Event-driven cell scheduler and method for supporting multiple service categories in a communication network
JPH104431A (ja) 1996-06-17 1998-01-06 Fujitsu Ltd スケジューリング装置およびスケジューリング方法
US6011776A (en) 1996-06-20 2000-01-04 International Business Machines Corporation Dynamic bandwidth estimation and adaptation in high speed packet switching networks
GB9618128D0 (en) 1996-08-30 1996-10-09 Sgs Thomson Microelectronics Improvements in or relating to an ATM switch
DE19745020B4 (de) 1996-10-29 2008-01-31 Keymile Ag Verfahren zum Steuern des Datenverkehrs in einem ATM-Netzwerk
US6260073B1 (en) * 1996-12-30 2001-07-10 Compaq Computer Corporation Network switch including a switch manager for periodically polling the network ports to determine their status and controlling the flow of data between ports
SE516249C2 (sv) * 1997-02-19 2001-12-10 Ericsson Telefon Ab L M Flödeskontroll vid switching
US5864540A (en) 1997-04-04 1999-01-26 At&T Corp/Csi Zeinet(A Cabletron Co.) Method for integrated traffic shaping in a packet-switched network
US6359861B1 (en) * 1997-10-08 2002-03-19 Massachusetts Institute Of Technology Method for scheduling transmissions in a buffered switch
US6084856A (en) 1997-12-18 2000-07-04 Advanced Micro Devices, Inc. Method and apparatus for adjusting overflow buffers and flow control watermark levels
US6044061A (en) 1998-03-10 2000-03-28 Cabletron Systems, Inc. Method and apparatus for fair and efficient scheduling of variable-size data packets in an input-buffered multipoint switch
ATE362684T1 (de) * 2000-03-02 2007-06-15 Alcatel Lucent Gekennzeichneter prioritätswarteschlangescheduler
US6992984B1 (en) * 2000-03-07 2006-01-31 Lucent Technologies Inc. Credit-based adaptive flow control for multi-stage multi-dimensional switching architecture
US7215678B1 (en) 2000-04-10 2007-05-08 Switchcore, A.B. Method and apparatus for distribution of bandwidth in a switch
IL143539A0 (en) 2000-06-09 2002-04-21 Hughes Electronics Corp Queue and scheduler utilization metrics
US7224671B2 (en) * 2000-09-28 2007-05-29 Force10 Networks, Inc. Method and apparatus for load balancing in network processing device
US7457297B2 (en) * 2001-11-16 2008-11-25 Enterasys Networks, Inc. Methods and apparatus for differentiated services over a packet-based network
US7324452B2 (en) * 2002-01-14 2008-01-29 Fujitsu Limited Weighted credit-based arbitration using credit history

Also Published As

Publication number Publication date
EP1328094A1 (de) 2003-07-16
JP4287157B2 (ja) 2009-07-01
JP2003249952A (ja) 2003-09-05
US7324452B2 (en) 2008-01-29
US20030135449A1 (en) 2003-07-17
EP1328094B1 (de) 2005-04-20
DE60300504D1 (de) 2005-05-25

Similar Documents

Publication Publication Date Title
DE60300504T2 (de) Auf Krediten basierendes gewichtetes Schiedsverfahren unter Verwendung vergangener Kredithöhen
DE69635880T2 (de) Anlage und Methode zur Übertragung von Paketen, geeignet für eine grosse Anzahl von Eingangstoren
DE60132307T2 (de) Paketvermittlung
DE60128413T2 (de) Gekennzeichneter Prioritätswarteschlangescheduler
DE10350504B4 (de) Verfahren und Vorrichtung zum Festlegen bzw. Zuteilen einer verfügbaren Verknüpfungsbandbreite zwischen paketvermittelten Datenflüssen
DE69025713T2 (de) Dynamische Fensterbestimmung in einem Datennetzwerk
DE60113967T2 (de) Mehrstufige ablaufsteuerungsverfahren zum paketmultiplexen in einem kommunikationsnetzwerk
DE69931587T2 (de) RRGS-Round-Robin-Greedy Ablaufsteuerung für Eingangs-/Ausgangsgepufferte Terabitswitches
DE69114084T2 (de) Unterstützung für Datenverkehr mit konstanter Bitrate in Breitbandvermittlungsschaltern.
DE69835330T2 (de) Überlastungsverwaltung in einem Mehrtorigen-Vermittlungssystem mit gemeinsamen Speicher
DE60036031T2 (de) Zuweisung von prioritätsstufen in einem datenfluss
DE69924057T2 (de) Verfahren, Ablauffolgesteuerung, intelligenter Pufferspeicher, Prozessor und Telekommunikationssystem zum Verteilen verfügbahrer Bandbreite
DE60027639T2 (de) Buffersystem mit Überlastregelung mit verbindungsweiser Verkehrsverwaltung
DE69025558T2 (de) Verfahren und Vorrichtung zur Überlastregelung in einem Datennetzwerk
DE60127366T2 (de) Verfahren und Struktur zur Unterstützung von Rahmen variabler Länge in einer Vermittlungsanlage mit gemeisamem Speicher
DE69835781T2 (de) Vorrichtung mit einem gewichteten gerechten Warteschlangenverfahren und mit adaptiver Umverteilung der Bandbreite
DE102007038964A1 (de) Verfahren und Vorrichtung zum Verarbeiten von Netzwerkdaten
DE69029343T2 (de) Paket-Vermittlungssystem
DE3850881T2 (de) Verfahren und Vorrichtung zur Nachrichtenübertragung zwischen Quellen- und Zielanwender durch einen anteilig genutzten Speicher.
DE69534540T2 (de) Apparat und Methode zur Verarbeitung von Bandbreitenanforderungen in einer ATM-Vermittlungsstelle
DE102015017100B3 (de) Verteilte Switch-Architektur
DE602004004831T2 (de) Verfahren und Vorrichtung zur Ablauffolgeplanung von Paketen auf einer Netzwerkverbindung mit einer auf der Eingangsrate basierenden Priorität
DE69636825T2 (de) Verzögerungsminimalisierungssystem mit garantierter Bandbreite für Echtzeitverkehr
DE60314205T2 (de) Arbiter für ein Vermittlungssystem mit Eingangspuffer
DE60022243T2 (de) Verfahren in ATM Vermittlungsstellen zur optimalen Verwaltung eines Puffers mit dynamischen Schwellwerten für die Länge von Warteschlangen

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee