DE60300504T2 - Auf Krediten basierendes gewichtetes Schiedsverfahren unter Verwendung vergangener Kredithöhen - Google Patents
Auf Krediten basierendes gewichtetes Schiedsverfahren unter Verwendung vergangener Kredithöhen Download PDFInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/08—Payment architectures
- G06Q20/10—Payment architectures specially adapted for electronic funds transfer [EFT] systems; specially adapted for home banking systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/03—Credit; Loans; Processing thereof
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/39—Credit based
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/52—Queue scheduling by attributing bandwidth to queues
- H04L47/527—Quantum based scheduling, e.g. credit or deficit based scheduling or token bank
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/62—Queue scheduling characterised by scheduling criteria
- H04L47/622—Queue service order
- H04L47/623—Weighted service order
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/62—Queue scheduling characterised by scheduling criteria
- H04L47/625—Queue scheduling characterised by scheduling criteria for service slots or service orders
- H04L47/6255—Queue scheduling characterised by scheduling criteria for service slots or service orders queue load conditions, e.g. longest queue first
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/62—Queue scheduling characterised by scheduling criteria
- H04L47/625—Queue scheduling characterised by scheduling criteria for service slots or service orders
- H04L47/6265—Queue 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 von1 ; -
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 von1 ; und -
4 ein Flussdiagramm ist eines Prozesses zum Hinzufügen von Übertragungskrediten zu der Kreditfenster-Datenstruktur von2 . - DETAILLIERTE BESCHREIBUNG DER ERFINDUNG
-
1 zeigt einen Teil einer Netzwerkvermittlung, in der bei einem Eingang10 empfangene Datenpakete oder Zellen in einer der mehreren Eingangswarteschlangen12-1 ,12-2 , ...,12-N gespeichert werden, abhängig davon, für welchen entsprechenden Ausgang14-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 von1 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 Ausgang14 ist eine entsprechende Ausgangswarteschlange16 . Zwischen zwei Warteschlangenmengen12 und16 ist ein gemeinsam genutzter bzw. geteilter Datenpfad, der einen Multiplexer18 und einen Demultiplexer20 enthält. Der Multiplexer18 und Demultiplexer20 werden durch eine Schiedsverfahrenlogik bzw. Arbitrierungslogik22 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 Eingangswarteschlange12 platziert. Somit, wenn z.B. ein empfangenes Paket als für Ausgang14-2 ausersehen bestimmt wird, wird das Paket in Eingangswarteschlange12-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 Eingangswarteschlangen12 zum Identifizieren derer, die weiterzuleitende Pakete haben, und für ein Überwachen der Ausgangswarteschlangen14 zum Bestimmen, welche fähig sind zum Annehmen weitergeleiteter Pakete. Zusätzlich führt Schiedsverfahrenlogik22 einen vorbestimmten Algorithmus aus zum Identifizieren von "Kandidat"-Eingangswarteschlangen12 , 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 Schiedsverfahrenlogik22 ausgeführte Prozesse sind unten beschrieben. - Sobald ein Paket von einer Eingangswarteschlange
12 durch den Multiplexer18 und Demultiplexer20 zu einer Ausgangswarteschlange16 übermittelt worden ist, ist es zu dem entsprechenden Ausgang14 übertragen bei Erreichen des Kopfes der Ausgangswarteschlange16 . Somit arbeiten zu Ausgangswarteschlange16-2 gelieferte Pakete sich z.B. ihren Weg in einer first-in-first-out (FIFO)-Art zu dem Kopf der Warteschlange16-2 und werden dann übertragen auf einer mit dem Ausgang14-2 verbundenen Netzwerkverbindung (nicht gezeigt). -
2 zeigt eine Datenstruktur, die in Verbindung mit dem Betrieb des Systems von1 verwendet wird, im Besonderen die Operationen der Schiedsverfahrenlogik22 . Eine solche Datenstruktur wird für jede Eingangswarteschlange12 unterhalten. Die Struktur beinhaltet eine reguläre Kreditgröße24 , eine Vergangenheitskreditgröße26 , eine Wertigkeit28 , eine Sendegröße30 , und einen Grenzwert32 . In einer Ausführungsform ist die reguläre Kreditgröße24 vorzugsweise eine Vorzeichen-behaftete, Mehr-Bit Ganzzahl, wohingegen die anderen Datenelemente vorzugsweise Vorzeichenlose Werte sind. Die reguläre Kreditgröße24 verfolgt die Anzahl von Übertragungskrediten eines ersten Typs, hier als "reguläre" Kredite bezeichnet, die zugunsten der entsprechenden Eingangswarteschlange12 angesammelt worden sind. Diese regulären Kredite werden zu der Größe unter gewissen Umständen hinzugefügt, wie unten beschrieben. Die Vergangenheitskreditgröße26 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ößen24 ,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 Eingangswarteschlange12 gegenüber dem Verkehr der anderen Eingangswarteschlangen12 anzeigt. Die Sendegröße30 ist ebenso ein Betriebsparameter, der der Anzahl von Bytes oder Dateneinheiten entspricht, die "aus der Warteschlange entfernt" sind, oder von einer Eingangswarteschlange12 übertragen sind, zu einer Zeit, wenn die Eingangswarteschlange12 ein Schiedsverfahren gewinnt. Der Grenzwert32 setzt einen maximalen Wert fest, der durch die Vergangenheitskreditgröße26 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. Arbitrierungslogik22 beim Identifizieren von Kandidaten zur Übertragung und beim Auswählen unter den identifizierten Kandidaten. Der Zyklus beginnt in einem Leerlaufzustand34 . Ein externer Mechanismus (nicht gezeigt) wird verwendet zum Überführen des Prozesses in entweder einen Zustand36 , in dem reguläre Kredite abgerufen werden, oder in einen Zustand38 , 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 Zustand36 oder38 . 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 Startzustand36 oder38 verwendet werden. - Wenn der Prozess in dem "Vergangenheit abrufen" Zustand
38 startet, wird der Vergangenheitskreditwert26 (2 ) für jede Eingangswarteschlange12 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 Entscheidungszustand40 über, der unten beschrieben ist. - Der Prozess kann den "Regulär abrufen" Zustand
36 entweder direkt von dem Leerlaufzustand34 (über einen externen Mechanismus wie oben beschrieben) oder von dem "Vergangenheit abrufen" Zustand38 betreten, wenn keine Kandidaten identifiziert sind (d.h., alle der Eingangswarteschlangen12 haben Null Vergangenheitskredite26 ). In dem "Regulär abrufen" Zustand36 werden die regulären Kreditgrößen24 für jede Eingangswarteschlange untersucht, zusammen mit Zustandssignalen, die anzeigen, ob die Eingangswarteschlange leer ist, und ob die entsprechende Ausgangswarteschlange16 ein "Gegendruck" Signal geltend macht, das anzeigt, dass sie aktuell eine Übermittlung nicht annehmen kann. Alle Eingangswarteschlangen, die eine reguläre Kreditgröße24 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 Entscheidungszustand40 über. - Wenn keine Kandidaten in dem "Regulär abrufen" Zustand
36 gefunden sind, schreitet der Prozess zu dem "Kredit hinzufügen" Zustand42 über. In diesem Zustand werden die Kredite für jede Eingangswarteschlange12 bedingungsweise in einer oben beschriebenen Weise erhöht. Der Prozess schreitet dann zu einem "Hinzugefügt abrufen" Zustand44 über. - In dem "Hinzugefügt abrufen" Zustand
44 werden die regulären Kreditgrößen24 für jede Eingangswarteschlange erneut untersucht, zusammen mit den Statussignalen einer leeren Warteschlange und eines Gegendrucks. Alle Eingangswarteschlangen12 , die eine reguläre Kreditgröße24 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 Entscheidungszustand40 über. Wenn keine Kandidaten gefunden sind, kann eines aus mehreren Dingen geschehen. Wenn die durch Schritte42 und44 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 Schritt42 zurück und die Schleife wird wiederholt. Wenn die Schleifenwiederholung übergelaufen ist, wird der Prozess entweder zu einem "Wartenschlangenlänge abrufen" Zustand46 oder einem "Gültig abrufen" Zustand48 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 Eingangswarteschlangen12 , die eine Warteschlangenlänge größer als einen spezifizierten Wert haben, als Kandidaten identifiziert. Wenn welche gefunden sind, schreitet der Prozess zu dem Entscheidungszustand40 fort. Andernfalls schreitet der Prozess zu dem "Gültig abrufen" Zustand48 fort. - In dem "Gültig abrufen" Zustand
48 werden die Eingangswarteschlangen12 als Kandidaten identifiziert, die nicht leer sind. Wenn welche gefunden sind, schreitet der Prozess zu dem Entscheidungszustand40 fort. Andernfalls kehrt der Prozess zu dem Leerlaufzustand34 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 und26 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 Eingangswarteschlange12 an die entsprechende Ausgangswarteschlange16 . Zur selben Zeit wird entweder die reguläre Kreditgröße24 oder die Vergangenheitskreditgröße26 für die gewinnende Warteschlange verringert um einen Betrag, der der Anzahl von Dateneinheiten entspricht, die übermittelt werden, wie durch den Sendegrößenwert30 angezeigt. Die Vergangenheitskreditgröße26 wird dekrementiert, wenn der Entscheidungszustand40 über den "Vergangenheit abrufen" Zustand38 betreten wurde; andernfalls wird die reguläre Kreditgröße24 dekrementiert. -
4 zeigt die Weise, in der Kredite bedingungsweise zu der regulären Kreditgröße24 und zu der Vergangenheitskreditgröße26 für jede Eingangswarteschlange12 hinzugefügt werden. Der Prozess von4 tritt für jede Eingangswarteschlange12 jedes Mal auf, wenn der Prozess von3 durch den "Kredit hinzufügen" Zustand42 schreitet. - In Schritt
50 wird bestimmt, ob die reguläre Kreditgröße24 geringer als oder gleich Null ist. Wenn dies der Fall ist, wird die reguläre Kreditgröße24 in Schritt52 durch die Wertigkeit28 (2 ) erhöht. Diese Aktion kann oder kann nicht die reguläre Kreditgröße24 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" Zustands36 oder eines "Hinzugefügt abrufen" Zustands44 in einem folgenden Durchlauf des Prozesses von3 . 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öße24 gestoppt werden soll. Es kann vorteilhaft sein, einen unterschiedlichen oberen Schwellenwert in alternativen Ausführungsformen einzusetzen. - Mit erneutem Bezug auf
4 , wenn in Schritt50 die reguläre Kreditgröße24 bereits größer als Null ist, schreitet der Prozess dann zu Schritt54 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öße26 geringer als der Grenzwert32 ist, schreitet der Prozess zu Schritt56 fort, in dem die Vergangenheitskreditgröße26 um die Wertigkeit28 erhöht wird. Diese Operation ist für die Ansammlung von Krediten in der Vergangenheitskreditgröße26 verantwortlich bis zu dem Wert des Grenzwertes32 , dessen angesammelte Kredite in dem "Vergangenheit abrufen" Zustand38 in dem Prozess von3 verwendet werden. Als ein Ergebnis hat die entsprechende Eingangswarteschlange12 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)
- 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. - 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 ). - 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. - 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.
- Ein Verfahren gemäß Anspruch 1, wobei das Durchführen eines Schiedsverfahrens das Durchführen eines Wettkampf-Schiedsverfahrens (round-robin arbitration) umfasst.
- Ein Verfahren gemäß Anspruch 1, wobei der erste vorbestimmte minimale Wert null ist.
- Ein Verfahren gemäß Anspruch 1, wobei der zweite vorbestimmte minimale Wert null ist.
- 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. - 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. - Ein Verfahren gemäß Anspruch 9, wobei die Wertigkeiten, die für die unterschiedlichen Warteschlangen unterhalten werden, allgemein unterschiedlich sind.
- Ein Verfahren gemäß Anspruch 1, wobei jede Warteschlange einem anderen Ausgang einer Netzwerkvorrichtung entspricht.
- 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. - 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. - 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. - 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. - 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.
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)
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)
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 |
-
2002
- 2002-01-14 US US10/047,467 patent/US7324452B2/en not_active Expired - Fee Related
-
2003
- 2003-01-08 DE DE60300504T patent/DE60300504T2/de not_active Expired - Fee Related
- 2003-01-08 EP EP03000082A patent/EP1328094B1/de not_active Expired - Fee Related
- 2003-01-10 JP JP2003004840A patent/JP4287157B2/ja not_active Expired - Fee Related
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 |