DE69131794T2 - Gerechter Zugriff von Verkehr verschiedener Prioritäten auf Netzwerke, bestehend aus zwei Bussen und einer verteilten Wortenschlange - Google Patents
Gerechter Zugriff von Verkehr verschiedener Prioritäten auf Netzwerke, bestehend aus zwei Bussen und einer verteilten WortenschlangeInfo
- Publication number
- DE69131794T2 DE69131794T2 DE69131794T DE69131794T DE69131794T2 DE 69131794 T2 DE69131794 T2 DE 69131794T2 DE 69131794 T DE69131794 T DE 69131794T DE 69131794 T DE69131794 T DE 69131794T DE 69131794 T2 DE69131794 T2 DE 69131794T2
- Authority
- DE
- Germany
- Prior art keywords
- node
- priority value
- priority
- data
- bus
- 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
- 238000000034 method Methods 0.000 claims description 35
- 230000008569 process Effects 0.000 claims description 14
- 230000005540 biological transmission Effects 0.000 claims description 10
- 238000002347 injection Methods 0.000 claims 3
- 239000007924 injection Substances 0.000 claims 3
- 230000001174 ascending effect Effects 0.000 claims 1
- 238000013459 approach Methods 0.000 description 41
- 238000011144 upstream manufacturing Methods 0.000 description 10
- 238000004891 communication Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 230000014509 gene expression Effects 0.000 description 4
- 239000002699 waste material Substances 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 230000002459 sustained effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/2852—Metropolitan area networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Small-Scale Networks (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Description
- Die vorliegende Erfindung betrifft Kommunikationssysteme und insbesondere Protokolle für die faire Zuteilung von Übertragungsbetriebsmitteln in einem Kommunikationssystem.
- Der Doppelbus mit verteilter Warteschlange (DQDB - Distributed-Queue Dual-Bus) ist ein Kommunikationsnetz mit einem Schlitz-Zugangsprotokoll, das gegenwärtig durch die IEEE 802.6-Arbeitsgruppe standardisiert wird. Mit zunehmenden Übertragungsraten und durch Netzwerke überbrückten Distanzen können Schlitz-Netze wesentlich effizienter als Token weitergebende Netze sein. Bei Schlitz-Netzen kann der Knoten bereitgestellte Dienstgrad jedoch von deren relativer Position abhängen. Die Kombination aus Netzspanne, Übertragungsrate und Schlitzgröße von DQDB gestattet, daß sich viele Schlitze im Transit zwischen den Knoten befinden. Auf einem langen Netz können Benutzer, wenn das Zugangsprotokoll zu effizient ist und versucht, niemals einen Schlitz zu verschwenden, insbesondere während großer Dateitransfers einen sehr ungerechten Dienst erhalten. Wenn die Dateitransfers außerdem verschiedene Prioritäten aufweisen, kann der Prioritätsmechanismus darüber hinaus völlig ineffectiv sein.
- In einer in den eigenen US-Patentanmeldungen Nr. 07/387247, registriert am 28. 7. 1989 (entsprechend der US-A-5072443, veröffentlicht am 10.12.1991) beschriebenen Erfindung wird eine Anzahl von Verfahren zum expliziten Bandbreitenausgleich beschrieben. Dieser beschriebene Bandbreitenausgleich verschwendet absichtlich eine geringe Menge Busbandbreite, um die Koordination zwischen den diesen Bus gerade verwendenden Knoten zu erleichtern, teilt die übrige Bandbreite jedoch gleichmäßig unter diesen Knoten auf. Die Schlüsselidee besteht darin, daß die maximal zulässige Knoten-Durchgangsrate proportional zu der freien Buskapazität ist; und daß jeder Knoten diese freie Kapazität bestimmen kann, indem er lokal das Volumen von belegten Schlitzen und Reservierungen beobachtet. Das System erzielt allmählich Fairness über ein Intervall, das mehrmals länger als die Laufzeitverzögerung zwischen konkurrierenden Knoten ist.
- Ein ähnliches System wird in "Improving the Fairness of Distributed-Queue-Dual-Bus Networks" (IEEE Infocom '90, The Conference On Computer Communications, Juni 1990, San Francisco, CA, USA, Seiten 175-184, E. L. Hahne, A. K. Choudhury, N. F. Maxemchuk) besprochen, wobei einem Knoten gestattet wird, nur einen Teil der verfügbaren Zeit zu senden.
- Dieser Bandbreitenausgleich, der als eine DQDB- Protokolloption in den vorläufigen Standard IEEE 802.6 integriert wurde, garantiert gleiche Zuteilungen von Busbandbreite zu Knoten mit großem Bedarf und dem niedrigsten Prioritätswert. Es zeigt sich, daß einem Knoten mit Verkehr mit höherer Priorität mindestens soviel Bandbreite wie einem Knoten mit niedrigster Priorität garantiert wird, aber keine weiteren Garantien möglich sind. Solange die Anwendungen mit höherer Priorität nicht mehr Bandbreite als die Anwendungen mit der niedrigsten Priorität erfordern, ist diese Leistungsgarantie ausreichend. Wenn jedoch Prioritäten Anwendungen mit wesentlichem Volumen zugewiesen werden sollen, wie zum Beispiel bei Paketvideo und Überbrückung von schnellen lokalen Netzen, dann können Verbesserungen wünschenswert sein.
- Es ist schwierig, mit den gegenwärtigen Steuerinformationen eine effektive Funktionsweise von Prioritäten über lange DQDB-Netze zu erzielen. Dies ist in dem Umstand begründet, daß der Prioritätswert einer Reservierung zwar bekannt ist, der Prioritätswert der Daten in einem belegten Schlitz jedoch nicht bekannt ist. (Der Prioritätswert wird in der Regel mit einem Priorität anzeigenden Feld gekennzeichnet, das jeder Reservierung zugeordnet ist.)
- Es ist eine Aufgabe der vorliegenden Erfindung, das Netz in einer Umgebung, die Verkehr mit mehreren Prioritätswerten unterstützt, fairer zu machen und die verschiedenen Prioritäten von Paketen bei der Zuteilung von Busbandbreite zumindest in Betracht zu ziehen.
- Gemäß den Prinzipien der vorliegenden Erfindung wird der Bandbreitenausgleich in DQDB-Netzen erzielt, die Verkehr mit mehreren Prioritäten abwickeln, indem bewirkt wird, daß jeder Knoten seine eigene Übertragungsrate gemäß der Priorität der Daten, die der Knoten sendet, drosselt, und zwar gemäß den Merkmalen von Anspruch 1. Alle beschrieben Ansätze verlassen sich auf das Verschwenden eines Bruchteils der verfügbaren Bandbreite zur Sicherstellung von Fairness.
- Gemäß einem Ansatz begrenzt jeder Knoten seinen Durchsatz auf das Produkt aus einem bestimmten Bruchteil und der freien Buskapazität. Der Bandbreitenausgleichsfaktor schwankt gemäß dem Prioritätswert, mit dem der Knoten gerade sendet. In jedem Knoten verarbeitet der Knoten beim Empfang von Paketen verschiedener Prioritäten seine Pakete in strikter Prioritätsreihenfolge; Pakete mit niedrigerer Priorität werden nur dann versorgt, wenn keine Pakete mit höherer Priorität warten. Somit teilt dieses Verfahren allen Knoten proportional zu den Bandbreitenausgleichsfaktoren ihrer aktuellen (höchsten) Prioritätswerte Bandbreite zu. Dieser erste Ansatz wird als "lokal pro Knoten" bezeichnet - "lokal", weil dem Knoten nur die Priorität seiner eigenen lokal erzeugten Daten bekannt sein muß, und "pro Knoten", weil einzelne Knoten die fair behandelten Elemente sind.
- Gemäß einem weiteren Ansatz erhalten alle aktiven Pakete in einem Knoten etwas Bandbreite. Der Durchsatz jedes Pakets wird auf das Produkt aus dem Bandbreitenausgleichsfaktor (der von dem Prioritätswert des Pakets abhängt) und der freien Buskapazität begrenzt. Somit teilt dieses Verfahren, ungeachtet dessen, zu welchem Knoten sie gehören, allen Paketen Bandbreite proportional zu ihren Bandbreitenausgleichsfaktoren zu. Dies wird als der Ansatz "lokal pro Paket" bezeichnet.
- Gemäß noch einem weiteren Ansatz begrenzt jedes Verkehrspaket seinen Durchsatz auf das Produkt aus dem Bandbreitenausgleichsfaktor und der Buskapazität, die nicht von Paketen gleicher oder höherer Priorität verwendet wird. Somit teilt dieses Verfahren zuerst den Paketen mit höherer Priorität Bandbreite zu, und teilt dann den Paketen mit niedriger Priorität die Reste zu. Pakete mit niedrigerer Priorität wirken sich nicht auf die stationären Durchsätze von Paketen höherer Priorität aus. Dies wird als der Ansatz "global pro Paket" bezeichnet - "global", weil jedem Knoten die Priorität der durch alle anderen Knoten erzeugten Daten bekannt sein muß.
- Fig. 1 zeigt einen Teil eines DQDB-Netzes und zeigt einen der in den beiden Bussen des Netzes von Fig. 1 erscheinenden Zeitschlitze;
- Fig. 2 zeigt eine Ausführungsform eines Knotens mit Bandbreitenausgleich, der für einen Einprioritätsbetrieb verwendet werden kann;
- Fig. 3 zeigt eine Ausführungsform für einen Knoten mit mehreren Prioritäten, wobei Pakete in der Prioritätsreihenfolge in das Netz eingespeist werden;
- Fig. 4 ist ein Blockschaltbild eines Knotens mit mehreren Prioritäten, der alle Pakete gleichzeitig abwickelt;
- Fig. 5 ist eine vereinigte Version der Ausführungsform von Fig. 4; und
- Fig. 6 zeigt ein Blockschaltbild eines Knotens mit mehreren Prioritäten, in dem alle Pakete gleichzeitig mit Prioritätsinformationen auf dem Datenbus und auf dem Reservierungsbus abgewickelt werden.
- Der wesentliche Unterschied zwischen dem DQDB- Protokoll und bisherigen Schlitz-Zugangsprotokollen ist die Verwendung jedes Busses zur Reservierung von Schlitzen auf dem anderen Bus, um den Zugang fairer zu machen. Fig. 1 zeigt einen Teil eines DQDB-Netzes mit, den Knoten 11, 12, 13 und 14, und wobei die Busse 10 und 20 die Knoten durchlaufen. Jeder Knoten ist in der Lage, Verkehr zu "signalabwärts" befindlichen Knoten zu senden und Verkehr aus "signalaufwärts" befindlichen Knoten zu empfangen. Der Verkehr liegt in Form des Schlitzes 15 vor, und jeder Schlitz enthält ein Kopffeld und ein Datenfeld. Der gegenwärtige Vorschlag für das Kopffeld enthält ein einziges Belegtbit, zwei Bit, mit denen die Priorität der Daten in dem belegten Schlitz angezeigt werden kann, und ein Anforderungsbitfeld mit einem Anforderungsbit für jeden Prioritätswert. Die Anforderungsbit auf einem Bus werden verwendet, um Knoten mit vorrangigem Zugang zu den Datenschlitzen auf dem anderen Bus mitzuteilen, daß ein Knoten wartet. Wenn ein Knoten ein Datensegment auf einem Bus senden möchte, setzt er ein Anforderungsbit auf dem entgegengesetzten Bus und wartet auf einen leeren Schlitz auf dem gewünschten Bus. Das Belegtbit zeigt an, ob ein anderer Knoten (signalaufwärts) bereits ein Datensegment in den Schlitz eingefügt hat.
- Der Betrieb für Datenübertragungen ist in beiden Richtungen gleich. Deshalb wird im Rest der vorliegenden Beschreibung nur der Betrieb in einer Richtung beschrieben. Genauer gesagt ist von nun an der Bus 10 der Datenbus und der Bus 20 der Reservierungsbus.
- Eine kurze Übersicht des Bandbreitenausgleichsansatzes, der in der genannten Anmeldung beschrieben und von der Arbeitsgruppe IEEE 802.6 angenommen wurde, ist möglicherweise angemessen.
- Es sollte an diesem Punkt beachtet werden, daß bei dem zuvor offenbarten Bandbreitenausgleichsansatz die Knoten eine "faire Behandlung" erhalten. Wenn Knoten jedoch Verkehr mit verschiedenen Prioritätswerten aufweisen, sollte vielleicht jedoch ein abweichendes grundsätzliches Element der "fairen Behandlung" betrachtet werden - wie zum Beispiel Pakete, wobei ein Paket Verkehr ist, der mit einem bestimmten Prioritätswert aus einem Knoten stammt und über den Datenbus übertragen werden soll.
- Im folgenden wird angenommen, daß die Verkehrsnachfrage jedes Knotens n eine bestimmte feste Rate p(n) aufweist. Diese angebotene Last kann stochastisch sein, solange sie eine wohldefinierte mittlere Rate aufweist. Die angebotene Last des Verkehrspakets des Prioritätswerts p am Knoten n beträgt ρp(n). Der tatsächliche Langzeit-Mittelwert des Durchsatzes des Knotens n beträgt r(n), und der seines Pakets p beträgt rp(n). Die freie Buskapazität ist U.
- Mit der obigen Nomenklatur bei dem zuvor offenbarten Bandbreitenausgleichsansatz beträgt die freie Buskapazität auf dem Bus 10
- wobei N die Gesamtzahl von Knoten im Netz ist. (1)
- Natürlich hat ein einzelner Knoten n zum Zeitpunkt t keine direkte Kenntnis der über definierten Langzeit-Mittelwerte der Raten. Der Knoten kann nur die Rate von belegten Schlitzen, die zum Zeitpunkt t aus signalaufwärts befindlichen Knoten in dem Knoten n eintreffen (als B(n, t) bezeichnet), die Rate von zum Zeitpunkt t aus signalabwärts befindlichen Knoten im Knoten n eintreffenden Anforderungen (als R(n, t) bezeichnet) und die Rate, mit der der Knoten n seine eigenen Datensegmente zum Zeitpunkt t versorgt (als S(n, t) bezeichnet), sehen. Mit diesen Beobachtungen kann die zum Zeitpunkt t durch den Knoten n nicht zugeteilte Buskapazität bestimmt werden, d. h. U(n, t). U(n, t) = 1-B(n, t)-R(n, t)-S(n, t). (2) Die "nicht zugeteilte" Kapazität ist die Kapazität, die weder von signalaufwärts von n befindlichen Knoten verwendet noch von signalabwärts von n befindlichen Knoten angefordert noch vom Knoten n selbst in Anspruch genommen wird.
- Für Verkehr ohne Prioritätsbezeichnungen (oder Einpriorität) erzielt der Bandbreitenausgleich Fairness durch die Garantie, daß eine gewisse freie Buskapazität existiert, und indem jeder Knoten aufgefordert wird, seinen Durchsatz auf ein bestimmtes Vielfaches F (Bandbreitenausgleichsfaktor) dieser freien Kapazität zu begrenzen. Knoten mit geringerem Bedarf als diesem können soviel Bandbreite haben, wie sie wünschen. Somit ist der mittlere Durchsatz eines Knotens n mit Bandbreitenausgleich wie folgt:
- Der durch Gleichung 3 widergespiegelte Ansatz ist in dem Sinne fair, als alle ratengesteuerten Knoten dieselbe Bandbreite erhalten. Äquivalent kann die Gleichung 3 folgendermaßen geschrieben werden:
- Gleichung 3 stellt eine Menge nahezu linearer Gleichungen (eine für jeden Knoten) mit den Unbekannten r(n) dar. Im Spezialfall, bei dem alle N Knoten eine große Nachfrage aufweisen (ρ(n) ist groß), hat die Lösung dieser Gleichungen die einfache Form von:
- Das heißt, alle N Knoten haben denselben Durchsatz, wobei ein Wert durch Gleichung 5 angegeben wird. Dies bedeutet, daß, wenn F = 4 ist und drei Knoten mit großem Bedarf vorliegen, jeder Knoten 4/13 der Buskapazität erhält, und 1/13 der Buskapazität bleibt ungenutzt. Die Gesamt-Busauslastung (die in dem Fall von Gleichung 5 F·N/l+F·N beträgt) nimmt mit N und/oder F zu.
- Um den oben beschriebenen Einprioritätsbandbreitenausgleich zu implementieren, muß der Schlitz- Kopf nur das Belegtbit und ein einziges Anforderungsbit enthalten. Ein Knoten kann die Busauslastung bestimmen, indem er die Rate von Belegtbit auf dem Bus 10, die Rate von Anforderungen auf dem Bus 20 und die eigene Übertragungsrate des Knotens summiert. Auf lange Sicht sollte diese Summe in jedem Knoten dieselbe sein (obwohl die einzelnen Komponenten von Knoten zu Knoten unterschiedlich sind). Anders ausgedrückt besitzt jeder Knoten genug verfügbare Informationen zur Implementierung von Gleichung 3.
- Glücklicherweise muß der Knoten nicht explizit über ein bestimmtes langes Intervall die Bus- Auslastungsrate messen. Stattdessen reicht es aus, daß der Knoten n auf das Eintreffen von Belegtbit und Anforderungsbit dergestalt reagiert, daß die Rate, mit der er seine eigenen Daten versorgt, kleiner oder gleich F mal die zugeteilte Kapazität ist. Das heißt, S(n, t) ≤ F · U (n, t) bzw. U(n, t) ≥ S(n, t) / F
- Im stationären Zustand nähert sich S(n, t) von Gleichungen 6 und 7 r(n) von Gleichung 3 an.
- Es gibt mehrere Möglichkeiten zur Implementierung der Ausdrücke 6 und 7. Zum Beispiel zeigt Fig. 2 eine Implementierung zur Ausführung des Bandbreitenausgleichs gemäß Ausdruck 6. Sie enthält einen lokalen FIFO-Speicher 21, eine Dateneinfügevorrichtung 22, eine Anforderungseinfügevorrichtung 23, ein OR-Gatter 24 und einen Segmentzähler 25. Die Dateneinfügevorrichtung 22 sitzt auf dem Bus 10. Sie empfängt Signale aus signalaufwärts von sich selbst befindlichen Knoten und sendet Signale zu signalabwärts von sich selbst befindlichen Knoten (im Zusammenhang mit Signalen auf den Bussen 10 und 20 bedeuten die Ausdrücke "signalaufwärts" und "signalabwärts" immer Knoten, die in Bezug auf den betreffenden Bus "signalaufwärts" und "signalabwärts" liegen). Die Dateneinfügevorrichtung 22 reagiert ebenfalls auf den lokalen FIFO 21 und ist über die Anforderungseinfügevorrichtung 23 und das OR-Gatter 24 mit dem Bus 20 verbunden. Die Anforderungseinfügevorrichtung 23 sitzt auf dem Bus 20, oder genauer gesagt empfängt die Anforderungseinfügevorrichtung 23 eine Eingabe aus dem signalaufwärts von sich selbst befindlichen Bus 20 und liefert auf dem Bus 20 eine Ausgabe an die signalabwärts befindlichen Knoten. Eine weitere Eingabe für die Anforderungseinfügevorrichtung 23 stammt aus der Dateneinfügevorrichtung 22. Das OR- Gatter 24 reagiert ebenfalls auf den Bus 20 und liefert seine Ausgabe an die Dateneinfügevorrichtung 22. Der Zähler 25 liefert als Reaktion auf Daten, die aus dem FIFO 21 abgeleitet werden, Signale an das OR-Gatter 24.
- Die Funktion des FIFO 21 besteht darin, Datensegmente zu speichern, die durch lokale Benutzer erzeugt werden, während diese Segmente warten, bis die Dateneinfügevorrichtung 22 entsprechende leere Schlitze auf dem Datenbus 10 findet. Die Dateneinfügevorrichtung 22 verarbeitet jeweils ein lokales Datensegment; wenn der FIFO 21 ein Segment zu der Dateneinfügevorrichtung 22 weitergeleitet hat, kann er kein weiteres Segment weiterleiten, bis die Einfügevorrichtung das aktuelle Segment auf den Datenbus 10 geschrieben hat. Wenn die Dateneinfügevorrichtung 22 dem FIFO 21 ein Segment entnimmt, leitet sie die Anforderungseinfügevorrichtung 23 an, auf dem Anforderungsbus (20) eine Anforderung zu senden, und fährt fort, indem sie den entsprechenden freien Schlitz für das lokale Segment bestimmt. Diese Bestimmung wird durch Einfügen des Segments in die Sendewarteschlange 26 der Dateneinfügevorrichtung erzielt. Alle anderen Elemente dieser Warteschlange sind Anforderungen aus signalabwärts befindlichen Knoten, die über das OR-Gatter 24 durch die Dateneinfügevorrichtung 22 aus dem Bus 20 empfangen wurden. Manche der Anforderungen in der Sendewarteschlange kamen vor dem lokalen Datensegment an und werden vor diesem in die Warteschlange eingereiht, andere kamen jedoch später an und werden hinter ihm eingereiht. Die Dateneinfügevorrichtung 22 versorgt ihre Sendewarteschlange 26 immer dann, wenn auf dem Datenbus 10 ein freier Schlitz auftaucht. Wenn der Eintrag am Kopf der Sendewarteschlange 26 eine Anforderung aus einem signalabwärts befindlichen Knoten ist, läßt die Dateneinfügevorrichtung 22 den freien Schlitz vorüber. Wenn der Kopfeintrag das lokale Datensegment ist, dann wird das Belegtbit gesetzt, und das Segment wird auf diesen Schlitz aufgebracht und in diesem gesendet.
- Die Sendewarteschlange 26 kann mit einem Ein- Bit-Register und zwei Zählern implementiert werden. Das Ein-Bit-Register zeigt an, ob ein lokales Datensegment in der Warteschlange vorliegt, und die beiden Zähler zeigen die Anzahl von Anforderungen an, die vor und nach der Ankunft des lokalen Datensegments in der Dateneinfügevorrichtung auf dem Bus 20 ankamen.
- Die Schaltkreise, die den Bandbreitenausgleichsfaktor F tatsächlich berücksichtigen, sind in der Ausführungsform von Fig. 2 durch den Segmentzähler 25 implementiert. Der Zähler 25 zählt Datensegmente, während diese durch die Dateneinfügevorrichtung 22 dem FIFO 21 entnommen werden. Nachdem F Datensegmente gezählt wurden, setzt sich der Zähler 25 auf Null zurück und erzeugt ein Signal für das OR-Gatter 24. Die Die Dateneinfügevorrichtung empfängt dieses Signal über das OR-Gatter 24, so als ob es eine Anforderung aus einem (in Bezug auf den Bus 20) signalaufwärts befindlichen Knoten wäre. Diese künstliche, lokale Anforderung bewirkt, daß die Dateneinfügevorrichtung 22 eine Schlitz unzugeteilt vorüber läßt, und so wird die Bandbreitenausgleichsfunktion ausgeführt.
- Bei Verkehr mit mehreren Prioritäten ist die Situation natürlich anders. Gemäß den Prinzipien der vorliegenden Erfindung kann jedoch immer noch F effektiv zum Ausgleich des Übertragungsbetriebsmittels des Netzes verwendet werden. Genauer gesagt wird in Situationen, bei denen verschiedene Knoten in einem DQDB-Netz Verkehr mit verschiedenen Prioritäten anbieten, der Bandbreitenausgleich erzielt, indem zugelassen wird, daß der Bandbreitenausgleichsfaktor F in jedem der Knoten gemäß dem Prioritätswert des Verkehrs des Knotens einen abweichenden Wert annimmt. Das heißt, es wird eine Anzahl verschiedener Bandbreitenausgleichsfaktoren F&sub1;, ... Fp, ... Fp verwendet, wobei F&sub1; der Bandbreitenausgleichsfaktor für Verkehr der Priorität 1 (niedrigste Priorität), Fp ein verschiedener Bandbreitenausgleichsfaktor für Verkehr der Priorität P (höchste Priorität) und Fp ein "dazwischenliegender" Bandbreitenausgleichsfaktor für "dazwischenliegenden" Verkehr der Priorität p ist. Wenn jedem Knoten gestattet wird, Datenverkehr mit seinem gewählten Prioritätswert zu senden, beträgt die freie Kapazität
- (8) und der Durchsatz, den ein Knoten, der Verkehr der Priorität p führt, erreichen kann, wird auf Fp mal die nicht zugeteilte Kapazität begrenzt. Somit ist
- Äquivalent kann die Gleichung 11 folgendermaßen geschrieben werden:
- Dieses Verfahren ist fair in dem Sinne, daß alle mit demselben Prioritätswert aktiven Knoten dieselbe Bandbreite erhalten. Knoten, die mit anderen Prioritäten senden, erhalten Bandbreite proportional zu den Bandbreitenausgleichsfaktoren ihrer Prioritätswerte. Dadurch wird die Bereitstellung einer größeren Kapazität für Knoten berücksichtigt, die Verkehr mit einer höhe ren Priorität führen. Nebenbei bemerkt kann man zweckmäßigerweise annehmen, daß die Bandbreitenausgleichsfaktoren F&sub1; (1 ≤ i ≤ P) ganze Zahlen sind, es können aber tatsächlich auch rationale Zahlen verwendet werden. An diesem Punkt kann hervorgehoben werden, daß sich jedem Knoten die Prioritätswerte der belegten Schlitze und dei Prioritätswerte der Reservierungsfelder völlig unbekannt sind (obwohl Informationen über letzteres leicht mit der Schlitzstruktur von Fig. 1 gewonnen werden können). Jedem Knoten ist nur der Prioritätswert seiner eigenen Daten bekannt, und er drosselt sich selbst nur gemäß diesen Informationen.
- Das Obige beschäftigt sich mit der Situation, in der jeder Knoten in dem Netz nur ein Paket aufweist, das er zu einem gegebenen zeitpunkt senden möchte. Es entsteht natürlich sofort die Frage, was passiert, wenn ein Knoten Verkehr mit mehreren Prioritätswerten aufweist. Das heißt, die Situation kann dergestalt sein, daß jeder Knoten eine Anzahl von Paketen aufweist oder zumindest aufweisen darf. Zur Sicherstellung einer fairen Zuteilung von Bandbreite können zwei Ansätze angewandt werden. Einer gleicht etwas der Zeitmultiplexierung, während der andere eher der Raummultiplexierung gleicht.
- Bei dem Ansatz "Zeitmultiplex" ordnet jeder Knoten seine Pakete gemäß ihren Prioritätswerten und bietet dem Netz die Pakete in der Reihenfolge an. Mit diesem Ansatz bietet somit zu jedem gegebenen Zeitpunkt jeder Knoten nur ein Paket an, und in jedem Knoten hat(unter den Paketen in dem Knoten) das Paket mit der höchsten Priorität P den bevorzugten Zugang. Was das Netz betrifft, folgt die Operation Gleichung 10. Wenn das Paket mit der höchsten Priorität einen ausreichenden Bedarf vorlegt (d. h., es muß eine große Menge von Daten übertragen werden), dann kommt der Durchsatz des Knotens seiner Zuteilung für das Paket mit der höchsten Priorität gleich. In diesem Fall jedoch erhalten die Pakete mit der niedrigeren Priorität in dem Knoten nichts. Wenn die Verkehrsbelastung des Pakets mit der höchsten Priorität jedoch andererseits kleiner als die Zuteilung des Knotens ist, dann erhält das Paket mit der höchsten Priorität soviel Bandbreite, wie es wünscht, und das Paket bzw. die Pakete mit den niedrigeren Prioritäten in dem Knoten n verwenden einen Teil der übrigen Kapazität. Bei zwei Paketen (Priorität P und P-1) wird ihr Gebrauch zum Beispiel durch den entsprechend gewichteten Mittelwert ihrer beiden Durchsatzgrenzen begrenzt:
- Auf diese Weise werden die Durchsätze der verschiedenen Verkehrspakete sequentiell von der Priorität P bis 1 bestimmt. Die Formel für rp(n) ist folgendermaßen:
- Wenn U mit den Paketdurchsätzen rp(n) ausgedrückt wird, dann stellt Gleichung 12 eine Menge von fast linearen Gleichungen (eine für jeden Knoten und Prioritätswert) mit den Unbekannten rp(n) dar. Im Spezialfall, bei dem jeder Knoten in seinem Paket mit der höchsten Priorität einen großen Bedarf hat (ρq(n) ist in Gleichung 12 "außerhalb des Bildes"), und Np Knoten mit dem Prioritätswert p aktiv sind, dann hat die Lösung dieser Gleichungen eine einfache Form:
- Dies bedeutet, daß zum Beispiel bei drei Prioritätswerten, wenn F&sub3; = 8, F&sub2; = 4 und F&sub1; = 2 ist, und wenn ein Knoten mit großem Bedarf bei jedem Prioritätswert vorliegt, die Knoten-Durchsatzraten 8/15, 4/15 und 2/15 und die freie Bandbreite 1/15 der Buskapazität betragen.
- Der oben beschriebene Ansatz "Zeitmultiplex" des Bandbreitenausgleichs, bei dem es sich im Prinzip um einen Ansatz "lokal, pro Knoten" handelt, erfordert, daß der Schlitzkopf nur das Belegtbit und ein einziges Anforderungsbit enthält. Wie bereits erwähnt, sind die Prioritätswerte der Reservierungs- oder Belegtanzeigen auf den Bussen 10 und 20 nicht wichtig. Um die Gleichung 13 zu implementieren, sollte der Knoten auf die Ankunft von Belegtbit und Anforderungsbit dergestalt reagieren, daß:
- Die Ausführungsform von Fig. 3 zeigt einen Ansatz zur Ausführung dieses Bandbreitenausgleichsansatzes. Wie in Fig. 3 gezeigt, gleicht der abgebildete Knoten sehr der Ausführungsform von Fig. 2. Er unterscheidet sich von der Ausführungsform in Fig. 2 insofern, als anstelle des FIFO 21 Fig. 3 eine Prioritätsplansteuerung 27 einsetzt. Die Plansteuerung 27 dient derselben Funktion wie der FIFO 21, mit der Ausnahme, daß sie außerdem die von dem Benutzer oder den Benutzern ankommenden Pakete gemäß der Priorität ordnet, so daß Pakete hoher Priorität absolut Vorzugspakete niedrigerer Priorität besitzen. Der Zähler 37 muß diese Prioritätsschwankungen sowie die Auswirkung der Funktion des Bandbreitenausgleichsfaktors berücksichtigen. Ein Ansatz besteht lediglich darin, daß der Zähler verschiedene Schwellenwerte aufweisen muß. Als Alternative kann man in dem Zähler 37 einen festen Schwellenwert einsetzen, das Zählen erfolgt jedoch in Schritten verschiedener Größe. Wenn zum Beispiel F für die höchste Priorität 16 ist, für den nächsten Prioritätswert 8 und für den niedrigsten Prioritätswert 4 ist, kann man einen Zähler 37 mit einem auf 16 eingestellten Schwellenwert verwenden und für den Verkehr mit hoher Priorität in Schritten von 1 zählen, für den Verkehr mit mittlerer Priorität in Schritten von 2 und für den Verkehr mit niedriger Priorität in Schritten von 4. Wenn der Zähler 37 seinen Schwellenwert erreicht, wird wie zuvor ein Signal zu der Dateneinfügevorrichtung 22 gesendet (über das OR-Gatter 24), um eine "Anforderung" zu simulieren.
- Bei der Behandlung der verschiedenen Verkehrspakete in einem Knoten, als ob sie von separaten Knoten kämen (der Ansatz "Raummultiplex"), ergibt sich eine andere Betriebsart. Bei einer solchen Anordnung wird das Paket der Priorität p aufgefordert, seinen Durchsatz auf ein Vielfaches Fp der restlichen Buskapazität zu begrenzen; Pakete mit geringerem Bedarf als diesem können soviel Bandbreite erhalten, wie sie wünschen. Bei einer solchen Anordnung ist der resultierende Durchsatz eines Pakets:
- oder äquivalent
- Dieses Verfahren ist fair in dem Sinne, daß alle ratengesteuerten Pakete mit demselben Prioritätswert dieselbe Bandbreite erhalten. Paketen mit verschiedenen Prioritätswerten wird Bandbreite proportional zu ihren Bandbreitenausgleichsfaktoren Fp angeboten.
- Wie in Verbindung mit den vorherigen Ausdrücken ist zu beachten, daß der Ausdruck 15 eine Menge von fast linearen Gleichungen darstellt (eine für jeden Knoten und Prioritätswert) in den Unbekannten rp(n). Im Spezialfall, bei dem alle Np Pakete des Prioritätswerts p einen großen Bedarf aufweisen, hat die Lösung dieser Gleichungen die einfache Form von Gleichung 13. Wenn somit zum Beispiel drei Prioritätswerte vorliegen und F&sub3; = 8, F&sub2; = 4 und F&sub1; = 2 ist und ein Paket mit hoher Priorität, zwei Pakete mit mittlerer Priorität und ein Paket mit niedriger Priorität vorliegen, dann betragen die Durchsatzraten der Pakete 8/19, 4/19, 4/19 und 2/19, und die freie Bandbreite beträgt 1/19 der Buskapazität. Man beachte, daß bei diesem Ansatz das Konzept von "Knoten" im wesentlichen verlorengeht.
- Zur Implementierung dieser "Raummultiplex"- Version des Bandbreitenausgleichs, bei dem es sich um einen Ansatz "lokal, pro Paket" handelt, muß der Schlitzkopf nur das Belegtbit und ein einziges Anforderungsbit enthalten (d. h., es besteht wieder keine Notwendigkeit für Prioritätswertinformationen). Zur Implementierung von Gleichung 15 sollte der Teil jedes Knotens, der Verkehr mit der Priorität p abwickelt, auf die Ankunft von Belegtbit und Anforderungsbit dergestalt reagieren, daß Sp(n, t) ≤ Fp · U(n, t). (17)
- Bei der einfachen Implementierung von Gleichung 17, die in Fig. 4 gezeigt ist, weist der Knoten einen separaten Teil zur Verwaltung von Daten für jeden Prioritätswert auf. Es sind Teile 11-1, 11-p und 11-P gezeigt, die Pakete der Priorität 1, Priorität p und Priorität P behandeln. P ist der höchste Prioritätswert und p ist größer als 1 und kleiner als P. Jeder Teil hat seine eigene Dateneinfügevorrichtung 22, Anforderungseinfügevorrichtung 23, seinen eigenen lokalen FIFO 21, ein Gatter 28 und den Zulassungszähler 29. Die Ungleichung 17 wird durch den Knotenteil der Priorität p folgendermaßen implementiert. Immer wenn die Dateneinfügevorrichtung 22 einen nicht zugeteilten Schlitz beobachtet (einen Schlitz, der weder belegt noch für einen signalabwärts befindlichen Knoten reserviert ist oder ein lokales Datensegment der Priorität p überträgt), erzeugt sie Fp-Zulassungen durch Erhöhen ihres Zulassungszählers 29 um den Bandbreitenausgleichsfaktor Fp. Das Gatter 28 verhindert, daß Segmente des FIFO 21 die Dateneinfügevorrichtung 22 erreichen, es sei denn, daß der Zähler 29 positiv ist. Während der Zähler 29 positiv ist, entnimmt die Dateneinfügevorrichtung 22 dem FIFO 21 ein Segment und fügt es in seine (in Fig. 4 nicht gezeigte, aber in Fig. 2 gezeigte) Sendewarteschlange 26 ein. In der Sendewarteschlange werden die Anforderungen, die aus dem Bus 20 empfangen werden, gemäß ihrer Ankunftszeit auf die oben beschriebene Weise geordnet. Bei jedem Erscheinen eines nicht belegten Schlitzes läßt die Dateneinfügevorrichtung 22 den nicht belegten Schlitz ungefüllt, solange die Sendewarteschlange 26 Anforderungen aus signalabwärts befindlichen Knoten versorgt. Wenn das dem FIFO 21 entnommene Segment den Anfang der Sendewarteschlange erreicht, fügt die Dateneinfügevorrichtung 22 das Segment in den nicht belegten Schlitz ein, markiert den Schlitz als belegt und erniedrigt den Zähler 29 um 1. Der Zähler 29 wird immer dann auf Null gesetzt, wenn keine weiteren Segmente in dem FIFO 21 vorliegen. Wenn der Zähler 29 auf Null steht, weil entweder keine weiteren Segmente in dem FIFO 21 vorliegen oder weil F Segmente eingefügt wurden, verhindert die Wirkung des Gatters 28, daß die Dateneinfügevorrichtung 22 dem lokalen FIFO 21 ein weiteres Datensegment entnimmt, bis ein Schlitz unzugeteilt bleibt, woraufhin sich der Prozeß wiederholt.
- Eine kompaktere Implementierung ist in Fig. 5 gezeigt. Hier besitzt der Knoten nur einen Teil, wobei eine Dateneinfügevorrichtung 32 und eine Anforderungseinfügevorrichtung 31 Daten aller Prioritätswerte verwalten. Es sind jedoch einen separate Warteschlange für den lokalen FIFO (31-1, 31-p, 31-P) für jede Priorität sowie separate Zulassungszähler 33 und Gatter 34 erforderlich. Zusätzlich enthält Fig. 5 eine lokale Prioritätswarteschlange 35, die auf die Gatter 34 reagiert und ihr Signal an die Dateneinfügevorrichtung 32 anlegt. Alle lokalen Datensegmente mit Zulassungen werden nicht in den separaten lokalen FIFOs 31, sondern in der einen Warteschlange 35 gespeichert. Die Dateneinfügevorrichtung 32 verarbeitet lokale Datensegmente einzeln aus der Warteschlange 35.
- Immer wenn die Dateneinfügevorrichtung 32 einen nicht zugeteilten Schlitz beobachtet, der zu signalabwärts befindlichen Knoten weitergeleitet wird, erzeugt sie genauer gesagt Fp-Zulassungen für jeden Prioritätswert p. Das heißt, sie weist jeden lokalen FIFO 31-i an, bis zu Fi; Segmente oder Datenpakete zu der Warteschlange 35 zu übertragen. Dies wird in Fig. 4 mit Zählern 33 erzielt, die durch den entsprechenden Bandbreitenausgleichsfaktor erhöht und bei jeder Übertragung eines Segments aus dem entsprechenden lokalen FIFO 33 in die lokale Warteschlange 35 erniedrigt werden.
- Wenn die lokale Warteschlange 35 Daten enthält und die Sendewarteschlange 36 in der Dateneinfügevorrichtung 32 kein lokales Datensegment enthält, das der Warteschlange 35 entnommen wurde, dann wird ein solches Segment hinter den Anforderungen in die Sendewarteschlange eingefügt, die zuvor aus dem Bus 20 ankamen. Bei jedem Erscheinen eines nicht belegten Schlitzes auf dem Bus 10 wird die lokale Sendewarteschlange 36 versorgt. Wenn das lokale Datensegment (aus der lokalen Warteschlange 35) den Anfang der Sendewarteschlange 36 erreicht, wird das lokale Datensegment in den nicht belegten Schlitz des Busses 10 eingefügt, und das Belegtbit dieses Schlitzes wird gesetzt. Der Prozeß wiederholt sich dann, wobei die lokale Warteschlange 35 ein lokales Datensegment in die Sendewarteschlange einträgt. Wenn die lokale Warteschlange 35 leer wird, läßt die Dateneinfügevorrichtung 32 einen nicht zugeteilten Schlitz an einem entsprechenden Zeitpunkt auf den Bus 10, und der gesamte Prozeß wiederholt sich, wobei die Warteschlange 35 wieder aus den FIFOs 31 gefüllt wird. Es gibt zwei Ansätze zur Bestimmung des "entsprechenden Zeitpunkts", zu dem der nicht zugeteilte Schlitz auf den Bus 1Q gesendet wird. Bei einem ist die lokale Warteschlange 35 leer, und die Sendewarteschlange 36 ist leer. Bei einem anderen ist die lokale Warteschlange 35 leer, und die Anforderungen in der Sendewarteschlange 36, die sich angesammelt haben, seit die Warteschlange 35 leer wurde, werden erfüllt.
- Wenn jeder Knoten die Auslastung des Busses 10 aufgrund von Verkehr von anderen Knoten jedes Prioritätswerts bestimmen kann, dann kann noch ein weiterer Bandbreitenausgleichsansatz in einem DQDB-Netz implementiert werden. Anders ausgedrückt kann Priorität von Verkehr anderer Knoten berücksichtigt werden, wenn sich ein Knoten drosselt, doch sollte dies am vorteilhaftesten symmetrisch erfolgen. Das heißt, unter Berücksichtigung der Priorität des Verkehrs in den reservierten Schlitzen und des Verkehrs in den belegten (gefüllten) Schlitzen. Zu diesem Zweck kann ein zusätzliches Maß für die Buskapazität betrachtet werden, nämlich die Kapazität, die von Paketen der Priorität p und darüber zurückgelassen wird, diese Kapazität ist:
- Wenn der Knoten n Prioritätswerte der Reservierungsbit und der Daten in belegten Schlitzen beobachten kann, dann kann er Up+(n, t) messen, wobei es sich um die Buskapazität handelt, die zum Zeitpunkt t nicht durch den Knoten n Paketen der Priorität p oder darüber zugeteilt wurde. Es ist dann:
- Der Bandbreitenausgleich wird bei diesem Ansatz erzielt, indem das Paket der Priorität p aufgefordert wird, seinen Durchsatz auf ein bestimmtes Vielfaches Fp der übrigen Buskapazität zu begrenzen, die nicht von Paketen gleicher oder größerer Priorität als p verwendet wird. Pakete mit unter dieser Bedarf Grenze liegendem müssen sich natürlich nicht begrenzen.
- Gemäß diesem Ansatz beträgt der Durchsatz des Pakets p am Knoten n:
- oder äquivalent
- Dieses Verfahren ist fair in dem Sinne, daß alle ratengesteuerten Pakete in dem Netz mit demselben Prioritätswert dieselbe Bandbreite erhalten.
- Die Zuteilung von Bandbreite über die verschiedenen Prioritätswerte hinweg ist wie folgt: Als erstes wird die gesamte Buskapazität über die Pakete mit der höchsten Priorität hinsichtlich der Bandbreite ausgeglichen, als ob es die Pakete mit der niedrigeren Priorität nicht gäbe. Der Bandbreitenausgleich stellt sicher, daß ein Teil der Buskapazität von den Paketen mit der höchsten Priorität unbenutzt bleibt. Es erfolgt dann ein Bandbreitenausgleich dieser freien Bandbreite über die Pakete mit der zweithöchsten Priorität. Es erfolgt dann ein Bandbreitenausgleich über die Pakete der dritthöchsten Priorität der übrigen Bandbreite, nachdem die beiden höchsten Prioritäten verarbeitet wurden, usw. Es sollte betont werden, daß bei diesem Ansatz, im Gegensatz zu den zuvor beschriebenen Ansätzen, der durch ein Paket einer gegebenen Priorität erreichte Durchsatz unabhängig von dem Vorliegen von Paketen niedrigerer Priorität an beliebigen Orten im Netz ist.
- Wie bei den früher beschriebenen Ansätzen stellt Gleichung 21 eine Menge von fast linearen Gleichungen dar (eine für jeden Knoten und Prioritätswert), in den Unbekannten von rp(n). Im Spezialfall, bei dem alle Np Pakete des Prioritätswerts p einen großen Bedarf aufweisen, hat die Lösung dieser Gleichungen eine einfache Form:
- Dies bedeutet, daß, wenn F&sub1; = F&sub2; = F&sub3; = F&sub4; ist und ein Paket mit hoher Priorität, zwei Pakete mit mittlerer Priorität und ein Paket mit niedriger Priorität vorliegen, die Durchsatzraten der Pakete 4/5, 4/45, 4/45 und 4/225 betragen und die freie Bandbreite 1/225 der Buskapazität beträgt.
- Für diese "global, pro Paket"-Version des Bandbreitenausgleichs muß der Schlitzkopf das Belegtbit, eine Anzeige des Prioritätswerts des Datensegments in einem belegten Schlitz und eine Anzeige des Prioritätswerts der Anforderungen enthalten. Wie bei der Priorität von Anforderungen liefert die vorliegende Schlitzzuweisung ein Mehrbit-Anforderungsfeld mit einem Anforderungsbit für jeden Prioritätswert (siehe Fig. 1), wodurch man den Prioritätswert von Anforderungen durch Auswahl eines bestimmten Bit in dem Anforderungsfeld angeben kann, das gesetzt wird. Wie bei den Prioritätsinformationen der belegten Schlitze wird vorgeschlagen, die beiden übrigen Bit in dem Kopf von Fig. 1 zu verwenden. Durch Lesen der Belegt- Prioritätsbit und der Anforderungsbit kann jeder Knoten den Prioritätswert des gesamten Verkehrs auf dem Bus bestimmen.
- Zur Implementierung von Gleichung 21 sollte der Knoten n auf ankommende Belegt- und Anforderungsinfor mationen dergestalt reagieren, daß Sp(n, t) ≤ Fp · Up+(n, t) ist. (24)
- Fig. 6 zeigt eine Ausführungsform zur Ausführung des Bandbreitenausgleichs von Gleichung 21. Sie umfaßt eine Vielzahl von Teilen in jedem Knoten, wobei jeder Teil Daten eines anderen Prioritätswerts verwaltet. Somit zeigt Fig. 6 Teile 11-1, 11-p und 11- P, wobei der Teil 11-1 signalaufwärts von dem Teil 11-p liegt und Daten der Priorität 1 (der niedrigsten Priorität) verwaltet, und der Teil 11-P liegt signalabwärts von dem Teils 11-p liegt ist und Daten der Priorität P (der höchsten Priorität) verwaltet.
- Obwohl das Layout von Fig. 4 und 6 nicht der tatsächlichen physikalischen Implementierung eines Knotens 11 entsprechen muß, wäre es funktionsmäßig dasselbe; und es ist deshalb für die Darstellungszwecke der vorliegenden Beschreibung sinnvoll, die Ausführungsform von Fig. 6 zu beschreiben. Es wird jedoch erwartet, daß die Teile in einem tatsächlichen DQDB- Knoten zu einer kompakteren Ausführungsform vereinigt werden, bei der die Zeichengabe zwischen den Teilen anstatt explizit erfolgt, über die Busse, und wobei alle Teile einen Bus an derselben Stelle lesen, bevor sie eine Chance bekommen, zu schreiben.
- In Fig. 6 verfügt jeder Teil über seine eigene Dateneinfügevorrichtung 42, Anforderungseinfügevorrichtung 43, seinen eigenen lokalen FIFO 41 und einen Zulassungszähler 45 mit Gatter 44. Wie in Fig. 4 sitzt die Dateneinfügevorrichtung 42 auf dem Bus 10. Der FIFO 41 empfängt Daten von Benutzern, und zwischen dem FIFO 41 und der Dateneinfügevorrichtung 42 ist das Gatter 44 angeordnet. Der Zähler 45 steuert das Gatter 44 als Folge von Signalen, die durch die Dateneinfügevorrichtung 42 dem Zähler 45 geliefert werden. Die Dateneinfügevorrichtung 42 steuert außerdem die Anforderungseinfügevorrichtung 43, die auf dem Bus 20 sitzt.
- Die Dateneinfügevorrichtung 42 enthält eine Sendewarteschlange 46, die höchstens ein lokales Datensegment der Priorität p halten kann. Alle Anforderungen der Priorität p oder darüber, die auf dem Bus 20 an dem Knotenteil p eintreffen, werden außerdem Elemente der Sendewarteschlange 46; Anforderungen mit Priorität von weniger als p kommen nicht in die Warteschlange 46. Wenn auf dem Bus 10 ein leerer Schlitz erscheint, wird die Sendewarteschlange 46 versorgt. Wenn der Kopfeintrag das lokale Datensegment ist, dann wird der Schlitzkopf so modifiziert, daß er anzeigt, daß der Schlitz nun mit Daten der Priorität p belegt ist, und das lokale Datensegment wird in diesem Schlitz gesendet.
- In der Sendewarteschlange 46 werden die Anforderungen zuerst nach Priorität sortiert und dann nach Ankunftszeit. Dabei sind immer noch nur zwei Zähler erforderlich. Ein Zähler zählt Anforderungen der Priorität p, die vor dem lokalen Datensegment an der Sendewarteschlange 46 ankamen, plus alle Anforderungen mit Priorität größer als p, ungeachtet der Ankunftszeit. Der andere Zähler zählt Anforderungen der Priorität p, die nach dem lokalen Datensegment an der Warteschlange 46 ankamen. (Man erinnere sich, daß die Warteschlange 46 keine Anforderungen mit geringerer Priorität als p hält.)
- Die Ungleichung 24 wird folgendermaßen in dem Teil des Knotens implementiert, der die Priorität p behandelt. Immer, wenn die Dateneinfügevorrichtung 42 einen Schlitz beobachtet, der keinem Verkehr der Priorität p oder höher zugeteilt ist, erzeugt sie Fp Zulassungen (d. h., sie erhöht den Zähler 45 um den Bandbreitenausgleichsfaktor). Im Gegensatz zu den zuvor beschriebenen Ansätzen gibt es zwei Umstände, unter denen die Dateneinfügevorrichtung 42 einen solchen Schlitz beobachtet: (a) der Schlitz kommt leer an und findet die Sendewarteschlange 46 in der Dateneinfügevorrichtung 42 ebenfalls leer und weder ein lokales Datensegment noch Anforderungen von signalabwärts befindlichen Knoten haltend vor, und (b) der Schlitz ist bereits mit einem Segment einer Priorität von weniger als p belegt, wenn der Schlitz in der Dateneinfügevorrichtung 42 ankommt.
- Während der Zähler 45 positiv ist, wird immer dann, wenn ein lokales Datensegment aus dem FIFO 41 durch das Gatter 44 zu der Sendewarteschlange 46 in der Dateneinfügevorrichtung 42 verschoben wird, der Zähler 45 um Eins erhöht. Der Zähler 45 wird immer dann auf Null zurückgesetzt, wenn der Knoten keine zu sendenden Daten der Priorität p aufweist.
- Es wurden mehrere Ansätze (lokal, pro Knoten; lokal, pro Paket; und global, pro Paket) beschrieben, die einen Bandbreitenausgleich für Verkehr mit mehreren Prioritäten bereitstellen. Alle diese Verfahren konvergieren über mehrere Umlaufverzögerungszeiten auf einen stationären Zustand. Die drei Verfahren verschwenden sogar im stationären Zustand eine bestimmte Busbandbreite. Vorteilhafterweise sind alle diese Verfahren vorhersagbar. Die Durchsatzraten im stationären Zustand der Knoten werden nur durch deren angebotene Lasten und nicht durch deren relative Buspositionen und auch nicht durch ihre relativen Einschaltzeiten bestimmt. Es besteht ein Kompromiß zwischen der Konvergenzrate und der Busausnützung, die durch den Bandbreitenausgleichsfaktor ausgeübt werden kann. Außerdem sind diese Verfahren insofern fair, als Knoten, die mit demselben Prioritätswert aktiv sind, im stationären Zustand dieselbe Bandbreite erhalten, wenn jeder Knoten Verkehr nur eines Prioritätswerts aufweist und der Bedarf seines Pakets groß ist.
- Die Verfahren unterscheiden sich darin, wie sie Busbandbreite über die verschiedenen Prioritätswerte hinweg zuteilen. Bei dem Verfahren "lokal, pro Knoten" begrenzt jeder Knoten seinen Durchsatz auf das Produkt aus dem Bandbreitenausgleichsfaktor und der freien Buskapazität. Bei diesem Ansatz schwankt der Bandbreitenausgleichsfaktor gemäß dem Prioritätswert, mit dem der Knoten gerade sendet. Jeder Knoten verarbeitet seine eigenen Datensegmente in strenger Prioritätsreihenfolge; Segmente mit niedrigerer Priorität werden nur dann versorgt, wenn keine Segmente mit höherer Priorität warten. Anders ausgedrückt teilt dieses Verfahren allen Knoten proportional zu den Bandbreitenausgleichsfaktoren ihrer aktuellen (höchsten) Prioritätswerte Bandbreite zu. Der Durchsatz in stationärem Zustand eines Verkehrspakets mit höherer Priorität wird durch das Vorliegen von Paketen niedrigerer Priorität in demselben Knoten nicht beeinflußt, kann aber durch das Vorliegen von Paketen mit niedrigerer Priorität in anderen Knoten beeinflußt werden. Bei den beiden Ansätzen "pro Paket" erhalten alle aktiven Pakete in einem Knoten etwas Bandbreite. Bei dem Ansatz "lokal, pro Paket" begrenzt jedes Verkehrspaket seinen Durchsatz auf das Produkt aus dem Bandbreitenausgleichsfaktor und der freien Buskapazität. Natürlich hängt der Bandbreitenausgleichsfaktor von dem Prioritätswert des Pakets ab. Anders ausgedrückt teilt dieser Ansatz allen Paketen (ungeachtet dessen, zu welchen Knoten sie gehören) proportional zu ihren Bandbreitenausgleichsfaktoren Bandbreite zu. Nun wird der Durchsatz im stationären Zustand eines Verkehrspakets durch das Vorliegen von jedem anderen Paket für diesen Bus, darunter Pakete niedrigerer Priorität in demselben Knoten, beeinflußt. Bei dem Ansatz "global, pro Paket" begrenzt jedes Verkehrspaket seinen Durchsatz auf das Produkt aus dem Bandbreitenausgleichsfaktor und der freien Buskapazität, die nicht von Paketen gleicher oder höherer Priorität verwendet wird. Grob ausgedrückt teilt dieser Ansatz Bandbreite zuerst den Paketen höherer Priorität zu, und teilt dann die Reste den Paketen niedrigerer Priorität zu. Pakete niedrigerer Priorität wirken sich nicht auf die Durchsätze von Paketen höherer Priorität im stationären Zustand aus.
- Bei allen drei Verfahren besteht Symmetrie zwischen den Prioritätsinformationen, die in Bezug auf Anforderungen benötigt werden, und denjenigen, die in Bezug auf belegte Schlitze benötigt werden, jedoch müssen diese Informationen bei verschiedenen Verfahren verschieden sein. Die beiden "lokalen" Verfahren sind elegant, es werden keine Prioritätsinformationen auf den Bussen übertragen, und demzufolge werden in den Knoten weniger Zähler benötigt. Das "globale" Verfahren weist ein größeres Kommunikations- und Berechnungsoverhead auf. Alle drei Verfahren können durch mäßige Änderungen des DQDB-Schlitzformats und -protokolls implementiert werden.
- Es sollte erwähnt werden, daß die beiden "lokalen" Ansätze mit einer vereinfachten "Dateneinfügevorrichtung" implementiert werden können (was dem Ansatz "global pro Paket" gleicht), die ihre "Sendewarteschlange" versorgt, indem folgendes erfüllt wird: alle vor dem lokalen Datensegment empfangenen Anforderungen werden ungeachtet der Ankunftszeiten der Anforderungen versorgt. (Da alle Knoten in dem Netz dem Bandbreitenausgleichverfahren folgen, wird das lokale Datensegment letztendlich versorgt.) Der Vorteil dieses Warteschlangenverfahrens besteht, wie oben beschrieben, darin, daß es, anstelle zwei Zählern mit einem Zähler implementiert werden kann.
- Die Zwei-Zähler-Beschreibung wurde gegeben, um die Implementierung der Dateneinfügevorrichtung auf DQDB-Basis mit zwei Zählern aus den folgenden Gründen zu betonen: (1) Obwohl beide Implementierungen dieselbe Durchsatzleistung bei anhaltender Überlast aufweisen, ist die Verzögerungsleistung bei mäßiger Last bei der Implementierung mit zwei Zählern häufig besser. (2) Viele DQDB-Netze verfügen über keine wesentliche Fairness- oder Prioritätsprobleme (z. B. wenn die Busse kurz sind, oder wenn die Übertragungsrate gering ist oder wenn die Anwendung statt mit Mehrfachzugriff von Punkt zu Punkt erfolgt). In diesen Fällen wäre es wünschenswert, den Bandbreitenausgleich zu sperren (da er etwas Bandbreite verschwendet) und das reine DQDB- Protokoll zu verwenden, das eine Dateneinfügevorrichtung mit zwei Zählern erfordert. Es ist zweckmäßig, eine Dateneinfügevorrichtung aufzubauen, die mit oder ohne Bandbreitenausgleich verwendet werden kann, und dabei würde es sich um die Version mit zwei Zählern handeln.
- Hiermit wird ein letzter Vorteil des "globalen" Bandbreitenausgleichsverfahren gegenüber den "lokalen" erwähnt. Wenn die "lokalen" Verfahren physikalisch durch Verringerung der Anzahl von Anforderungsbit auf eines pro Schlitz (von allen Prioritätswerten gemeinsam benutzt) implementiert wird, dann verfügt das Netz immer dann über keinen Prioritätsmechanismus, wenn der Bandbreitenausgleich gesperrt ist. Mit dem "globalen" Verfahren verfügt jeder Prioritätswert über ein Anforderungsbit pro Schlitz, so daß der Prioritätsmechanismus des reinen DQDB beibehalten werden kann, wenn der Bandbreitenausgleich gesperrt wird.
Claims (12)
1. Verfahren zur Zuteilung von
Übertragungskapazität in einem Netz mit einem Datenbus (10), der die
Netzknoten 1 bis N des Netzes in aufsteigender
Reihenfolge durchläuft, und einem Anforderungsbus (20),
der die Netzknoten N bis 1 des Netzes in absteigender
Reihenfolge durchläuft, wobei Übertragungskapazität auf
dem Datenbus (10) in Schlitze (15) aufgeteilt wird und
jeder Schlitz auf dem Datenbus ein Datenfeld und ein
Kopffeld enthält, das ein Belegt-Teilfeld und ein
Anforderungsteilfeld enthält, und wobei jeder Knoten j,
wobei j eine ganze Zahl zwischen 1 und N ist, Daten aus
einem Benutzerport des Knotens annimmt, die zur
Übertragung zu einem Knoten K auf dem Netz bestimmt
sind, wobei j < k ≤ N ist, und die Einspeisung der
Daten in den Datenbus gemäß einer Vorgehensweise mit
den folgenden Schritten steuert:
jeder Knoten (11-14) bestimmt eine effektive
Reservekapazität für sich selbst auf dem Datenbus (10)
auf der Grundlage des Vorliegens von Anforderungsbit in
dem Anforderungsteilfeld von Schlitzen auf dem
Anforderungsbus (20) und der Belegt-Bit in dem
Anforderungsteilfeld von Schlitzen auf dem Datenbus
(10); und
jeder Knoten (11-14) drosselt seine
Dateneinspeisungsrate in den Datenbus (10) auf einen
Bruchteil der effektiven Reservekapazität;
dadurch gekennzeichnet, daß
den dem Knoten zugeführten Daten ein
Prioritätswert zugeordnet ist und der Bruchteil mit dem
Prioritätswert in Beziehung steht.
2. Verfahren nach Anspruch 1, wobei die effektive
Reservekapazität weder mit dem Prioritätswert von auf
dem Anforderungsbus (20) angeforderten Schlitzen noch
mit dem Prioritätswert von Informationen in den Belegt-
Schlitzen auf dem Datenbus (10) in Beziehung steht.
3. Verfahren nach Anspruch 1, wobei die effektive
Reservekapazität mit dem Prioritätswert von auf dem
Anforderungsbus (20) angeforderten Schlitzen und mit
dem Prioritätswert von Informationen in den Belegt-
Schlitzen auf dem Datenbus (10) in Beziehung steht.
4. Verfahren nach Anspruch 1, wobei die effektive
Reservekapazität mit dem Prioritätswert von
Anforderungsbit auf dem Anforderungsbus (20) und mit
dem Prioritätswert von Belegt-Bit in den Belegt-
Schlitzen auf dem Datenbus (10) in Beziehung steht.
5. Verfahren nach Anspruch 4, wobei der Schritt
des Bestimmens der effektiven Reservekapazität die
folgenden Schritte umfaßt:
Bestimmen des Prioritätswerts p des Pakets
eines Knotens,
Bestimmen der Rate von mit einem Prioritätswert
p oder mehr in dem Anforderungsteilfeld von am
Anforderungsbus (20) erscheinenden Schlitzen gesetzten
Anforderungen, und
Bestimmen der Rate von Belegt-Anzeigen mit
einer Priorität von p oder mehr in dem Belegt-Teilfeld
von am Datenbus (10) erscheinenden Schlitzen.
6. Verfahren nach Anspruch 1, wobei der Schritt,
bei dem ein Knoten seine Übertragungsrate drosselt, die
folgenden Schritte umfaßt:
Auswahl des Pakets mit dem höchsten
Prioritätswert aus durch den Knoten (11-14) empfangenen
Paketen zur Übertragung auf der Datenbasis (10), und
Drosseln der Übertragungsrate des Pakets mit
dem höchsten Prioritätswert gemäß einem
Bandbreitenausgleichsfaktor für den Prioritätwert.
7. Verfahren nach Anspruch 1, weiterhin mit einem
Schritt:
jeder Knoten (11-14) ordnet aus dem
Benutzerport empfangene Pakete nach Priorität; und
die Pakete werden einzeln der Reihe nach gemäß
der Reihenfolge auf den Schritt des Drosselns
angewandt.
8. Verfahren nach Anspruch 1, weiterhin mit den
folgenden Schritten:
jeder Knoten (11-14) stellt das Erscheinen von
aus dem Benutzerport angenommenen Daten fest, die eine
Vielzahl von Paketen umfassen, und
jeder Knoten trennt die Pakete zur
individuellen Drosselung der Einspeisungsrate von Daten
der Pakete in den Datenbus (10) auf,
wobei der Schritt, bei dem jeder Knoten seine
Dateneinspeisungsrate drosselt, eine Vielzahl von
Drosselungsprozessen umfaßt, wobei jeder Prozeß die
Dateneinspeisungsrate eines anderen der getrennten
Pakete auf einen Bruchteil der effektiven
Reservekapazität drosselt, wobei der in jedem der
Vielzahl von Drosselungsprozessen verwendete Bruchteil
mit dem Prioritätswert des gedrosselten Pakets in
Beziehung steht.
9. Verfahren nach Anspruch 8, wobei die effektive
Reservekapazität in jedem Drosselungsprozeß weder mit
dem Prioritätswert von auf dem Anforderungsbus (20)
angeforderten Schlitzen noch mit dem Prioritätswert von
Informationen in den Belegt-Schlitzen auf dem Datenbus
(10) in Beziehung steht.
10. Verfahren nach Anspruch 8, wobei die effektive
Reservekapazität in jedem Drosselungsprozeß mit dem
Prioritätswert von auf dem Anforderungsbus (20)
angeforderten Schlitzen und mit dem Prioritätswert von
Informationen in den Belegt-Schlitzen auf dem Datenbus
(10) in Beziehung steht.
11. Verfahren nach Anspruch 8, wobei die effektive
Reservekapazität in jedem Drosselungsprozeß mit dem
Prioritätswert von auf dem Anforderungsbus (20)
angeforderten Schlitzen, die größer als p sind, und mit
dem Prioritätswert von Informationen in den Belegt-
Schlitzen auf dem Datenbus (10), die größer als p sind,
in Beziehung steht, wobei p der Prioritätswert
unmittelbar unterhalb des Prioritätswerts des durch den
Drosselungsprozeß gedrosselten Pakets ist.
12. Verfahren nach Anspruch 8, wobei der Schritt,
bei dem jeder Knoten eine effektive Reservekapazität
bestimmt, eine Vielzahl von Schritten der Bestimmung
effektiver Reservekapazität umfaßt, die jeweils gemäß
dem Prioritätswert des Pakets eine effektive
Reservekapazität für ein Paket entwickeln, wobei die
effektive Reservekapazität für einen Prioritätswert p
bei der Drosselung der Dateneinspeisungsrate des Pakets
mit der Priorität p verwendet wird.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US07/586,661 US5115430A (en) | 1990-09-24 | 1990-09-24 | Fair access of multi-priority traffic to distributed-queue dual-bus networks |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69131794D1 DE69131794D1 (de) | 1999-12-30 |
DE69131794T2 true DE69131794T2 (de) | 2000-06-29 |
Family
ID=24346648
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69131794T Expired - Fee Related DE69131794T2 (de) | 1990-09-24 | 1991-09-13 | Gerechter Zugriff von Verkehr verschiedener Prioritäten auf Netzwerke, bestehend aus zwei Bussen und einer verteilten Wortenschlange |
Country Status (8)
Country | Link |
---|---|
US (1) | US5115430A (de) |
EP (1) | EP0478190B1 (de) |
JP (1) | JP3359926B2 (de) |
KR (1) | KR100212104B1 (de) |
AU (1) | AU632709B2 (de) |
CA (1) | CA2050692C (de) |
DE (1) | DE69131794T2 (de) |
ES (1) | ES2143460T3 (de) |
Families Citing this family (91)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
NL9001173A (nl) * | 1990-05-21 | 1991-12-16 | Nederland Ptt | Werkwijze ter verbetering van de overdracht van informatie in de vorm van datapakketten, volgens een gedistribueerd-wachtrij protocol. |
DE69115881D1 (de) * | 1991-03-15 | 1996-02-08 | Ibm | Übertragungsnetz und Verfahren zur Steuerung des Zugangs zu den Bussen in diesem Netz |
CA2095755C (en) * | 1992-08-17 | 1999-01-26 | Mark J. Baugher | Network priority management |
EP0584405B1 (de) * | 1992-08-21 | 1998-09-23 | Alcatel | Datenübertragungssystem und -schnittstellenmodul und zugehörige Prioritätserzeugung |
US5349582A (en) * | 1992-11-04 | 1994-09-20 | International Business Machines Corporation | Scheme for source assisted partial destination release of slots in slotted networks |
GB9304636D0 (en) * | 1993-03-06 | 1993-04-21 | Ncr Int Inc | A method of accessing a communication system |
US5619647A (en) * | 1994-09-30 | 1997-04-08 | Tandem Computers, Incorporated | System for multiplexing prioritized virtual channels onto physical channels where higher priority virtual will pre-empt a lower priority virtual or a lower priority will wait |
US5541912A (en) * | 1994-10-04 | 1996-07-30 | At&T Corp. | Dynamic queue length thresholds in a shared memory ATM switch |
US5521916A (en) * | 1994-12-02 | 1996-05-28 | At&T Corp. | Implementation of selective pushout for space priorities in a shared memory asynchronous transfer mode switch |
US5539729A (en) * | 1994-12-09 | 1996-07-23 | At&T Corp. | Method for overload control in a packet switch that processes packet streams having different priority levels |
US5793842A (en) * | 1995-02-27 | 1998-08-11 | Schloemer; Jerry R. | System and method of call routing and connection in a mobile (remote) radio telephone system |
ES2211725T3 (es) * | 1995-04-28 | 2004-07-16 | Matsushita Electric Industrial Co., Ltd. | Metodo de transmision de datos. |
KR0146762B1 (ko) * | 1995-07-24 | 1998-08-17 | 양승택 | 병렬 공통 버스형 고속 패킷 교환 시스템에 중재 교환 장치 및 그 방법 |
KR0146446B1 (ko) * | 1995-07-24 | 1998-08-17 | 양승택 | 병렬 공통 버스형 고속 패킷 교환 시스템의 가입자 입출력 장치 |
US5966163A (en) * | 1995-10-20 | 1999-10-12 | Scientific-Atlanta, Inc. | Providing constant bit rate upstream data transport in a two way cable system by scheduling preemptive grants for upstream data slots using selected fields of a plurality of grant fields |
US5724358A (en) * | 1996-02-23 | 1998-03-03 | Zeitnet, Inc. | High speed packet-switched digital switch and method |
US6921467B2 (en) * | 1996-07-15 | 2005-07-26 | Semitool, Inc. | Processing tools, components of processing tools, and method of making and using same for electrochemical processing of microelectronic workpieces |
US6752584B2 (en) * | 1996-07-15 | 2004-06-22 | Semitool, Inc. | Transfer devices for handling microelectronic workpieces within an environment of a processing machine and methods of manufacturing and using such devices in the processing of microelectronic workpieces |
US5935218A (en) * | 1997-04-04 | 1999-08-10 | Siemens Information And Communication Networks, Inc. | Method and apparatus for bus network prioritization using the broadcast of delay time to lower priority users from high priority users in a token or loop network |
US6968379B2 (en) * | 1997-05-30 | 2005-11-22 | Sun Microsystems, Inc. | Latency-reducing bandwidth-prioritization for network servers and clients |
US6028841A (en) * | 1997-06-06 | 2000-02-22 | Nortel Networks Corporation | Distributed bus throttle and method |
EP0913969A1 (de) * | 1997-10-30 | 1999-05-06 | Alcatel | Verfahren, Anordnung und Übertragungssystem zur Zuweisung von aufwärtsgerichteten Zeitschlitzen |
SE510147C2 (sv) * | 1997-11-04 | 1999-04-26 | Telia Ab | Metod för resursoptimering i ett data- och telekommunikationssystem |
US7244677B2 (en) | 1998-02-04 | 2007-07-17 | Semitool. Inc. | Method for filling recessed micro-structures with metallization in the production of a microelectronic device |
US6632292B1 (en) * | 1998-03-13 | 2003-10-14 | Semitool, Inc. | Selective treatment of microelectronic workpiece surfaces |
US6197181B1 (en) | 1998-03-20 | 2001-03-06 | Semitool, Inc. | Apparatus and method for electrolytically depositing a metal on a microelectronic workpiece |
US6565729B2 (en) | 1998-03-20 | 2003-05-20 | Semitool, Inc. | Method for electrochemically depositing metal on a semiconductor workpiece |
TWI223678B (en) | 1998-03-20 | 2004-11-11 | Semitool Inc | Process for applying a metal structure to a workpiece, the treated workpiece and a solution for electroplating copper |
US6459899B1 (en) * | 1998-09-14 | 2002-10-01 | Jerry R. Schloemer | Cellular radio routing system |
US7160421B2 (en) * | 1999-04-13 | 2007-01-09 | Semitool, Inc. | Turning electrodes used in a reactor for electrochemically processing a microelectronic workpiece |
US6916412B2 (en) * | 1999-04-13 | 2005-07-12 | Semitool, Inc. | Adaptable electrochemical processing chamber |
CN1217034C (zh) | 1999-04-13 | 2005-08-31 | 塞米用具公司 | 具有改进的处理流体流的处理腔的工件处理装置 |
US6665701B1 (en) * | 1999-08-03 | 2003-12-16 | Worldcom, Inc. | Method and system for contention controlled data exchange in a distributed network-based resource allocation |
WO2002004887A1 (en) * | 2000-07-08 | 2002-01-17 | Semitool, Inc. | Methods and apparatus for processing microelectronic workpieces using metrology |
GB2375927B (en) * | 2001-05-26 | 2004-09-29 | Cambridge Broadband Ltd | Method and apparatus for communications bandwidth allocation |
US7072344B2 (en) * | 2001-07-16 | 2006-07-04 | International Business Machines Corporation | Redistribution of excess bandwidth in networks for optimized performance of voice and data sessions: methods, systems and program products |
WO2003018874A2 (en) | 2001-08-31 | 2003-03-06 | Semitool, Inc. | Apparatus and methods for electrochemical processing of microelectronic workpieces |
US6893505B2 (en) * | 2002-05-08 | 2005-05-17 | Semitool, Inc. | Apparatus and method for regulating fluid flows, such as flows of electrochemical processing fluids |
US7293091B2 (en) * | 2002-05-30 | 2007-11-06 | Intel Corporation | Method and apparatus for disruption sensitive network data management |
US7230929B2 (en) * | 2002-07-22 | 2007-06-12 | Qlogic, Corporation | Method and system for dynamically assigning domain identification in a multi-module fibre channel switch |
US7154886B2 (en) * | 2002-07-22 | 2006-12-26 | Qlogic Corporation | Method and system for primary blade selection in a multi-module fiber channel switch |
US7334046B1 (en) | 2002-08-05 | 2008-02-19 | Qlogic, Corporation | System and method for optimizing frame routing in a network |
US7025866B2 (en) * | 2002-08-21 | 2006-04-11 | Micron Technology, Inc. | Microelectronic workpiece for electrochemical deposition processing and methods of manufacturing and using such microelectronic workpieces |
US7397768B1 (en) | 2002-09-11 | 2008-07-08 | Qlogic, Corporation | Zone management in a multi-module fibre channel switch |
US7362717B1 (en) | 2002-10-03 | 2008-04-22 | Qlogic, Corporation | Method and system for using distributed name servers in multi-module fibre channel switches |
US6886141B1 (en) * | 2002-10-07 | 2005-04-26 | Qlogic Corporation | Method and system for reducing congestion in computer networks |
US7319669B1 (en) | 2002-11-22 | 2008-01-15 | Qlogic, Corporation | Method and system for controlling packet flow in networks |
US7620059B2 (en) | 2003-07-16 | 2009-11-17 | Qlogic, Corporation | Method and apparatus for accelerating receive-modify-send frames in a fibre channel network |
US7388843B2 (en) * | 2003-07-16 | 2008-06-17 | Qlogic, Corporation | Method and apparatus for testing loop pathway integrity in a fibre channel arbitrated loop |
US7463646B2 (en) * | 2003-07-16 | 2008-12-09 | Qlogic Corporation | Method and system for fibre channel arbitrated loop acceleration |
US7525910B2 (en) * | 2003-07-16 | 2009-04-28 | Qlogic, Corporation | Method and system for non-disruptive data capture in networks |
US7453802B2 (en) | 2003-07-16 | 2008-11-18 | Qlogic, Corporation | Method and apparatus for detecting and removing orphaned primitives in a fibre channel network |
US7355966B2 (en) * | 2003-07-16 | 2008-04-08 | Qlogic, Corporation | Method and system for minimizing disruption in common-access networks |
US7471635B2 (en) * | 2003-07-16 | 2008-12-30 | Qlogic, Corporation | Method and apparatus for test pattern generation |
US7583597B2 (en) * | 2003-07-21 | 2009-09-01 | Qlogic Corporation | Method and system for improving bandwidth and reducing idles in fibre channel switches |
US7646767B2 (en) | 2003-07-21 | 2010-01-12 | Qlogic, Corporation | Method and system for programmable data dependant network routing |
US7512067B2 (en) * | 2003-07-21 | 2009-03-31 | Qlogic, Corporation | Method and system for congestion control based on optimum bandwidth allocation in a fibre channel switch |
US7522529B2 (en) * | 2003-07-21 | 2009-04-21 | Qlogic, Corporation | Method and system for detecting congestion and over subscription in a fibre channel network |
US7792115B2 (en) | 2003-07-21 | 2010-09-07 | Qlogic, Corporation | Method and system for routing and filtering network data packets in fibre channel systems |
US7430175B2 (en) * | 2003-07-21 | 2008-09-30 | Qlogic, Corporation | Method and system for managing traffic in fibre channel systems |
US7525983B2 (en) | 2003-07-21 | 2009-04-28 | Qlogic, Corporation | Method and system for selecting virtual lanes in fibre channel switches |
US7630384B2 (en) * | 2003-07-21 | 2009-12-08 | Qlogic, Corporation | Method and system for distributing credit in fibre channel systems |
US7466700B2 (en) * | 2003-07-21 | 2008-12-16 | Qlogic, Corporation | LUN based hard zoning in fibre channel switches |
US7477655B2 (en) * | 2003-07-21 | 2009-01-13 | Qlogic, Corporation | Method and system for power control of fibre channel switches |
US7558281B2 (en) * | 2003-07-21 | 2009-07-07 | Qlogic, Corporation | Method and system for configuring fibre channel ports |
US7406092B2 (en) * | 2003-07-21 | 2008-07-29 | Qlogic, Corporation | Programmable pseudo virtual lanes for fibre channel systems |
US7580354B2 (en) * | 2003-07-21 | 2009-08-25 | Qlogic, Corporation | Multi-speed cut through operation in fibre channel switches |
US7522522B2 (en) * | 2003-07-21 | 2009-04-21 | Qlogic, Corporation | Method and system for reducing latency and congestion in fibre channel switches |
US7420982B2 (en) * | 2003-07-21 | 2008-09-02 | Qlogic, Corporation | Method and system for keeping a fibre channel arbitrated loop open during frame gaps |
US7573909B2 (en) * | 2003-07-21 | 2009-08-11 | Qlogic, Corporation | Method and system for programmable data dependant network routing |
US7447224B2 (en) * | 2003-07-21 | 2008-11-04 | Qlogic, Corporation | Method and system for routing fibre channel frames |
US7684401B2 (en) | 2003-07-21 | 2010-03-23 | Qlogic, Corporation | Method and system for using extended fabric features with fibre channel switch elements |
US7894348B2 (en) | 2003-07-21 | 2011-02-22 | Qlogic, Corporation | Method and system for congestion control in a fibre channel switch |
US7352701B1 (en) | 2003-09-19 | 2008-04-01 | Qlogic, Corporation | Buffer to buffer credit recovery for in-line fibre channel credit extension devices |
US20050092611A1 (en) * | 2003-11-03 | 2005-05-05 | Semitool, Inc. | Bath and method for high rate copper deposition |
US7480293B2 (en) * | 2004-02-05 | 2009-01-20 | Qlogic, Corporation | Method and system for preventing deadlock in fibre channel fabrics using frame priorities |
US7564789B2 (en) * | 2004-02-05 | 2009-07-21 | Qlogic, Corporation | Method and system for reducing deadlock in fibre channel fabrics using virtual lanes |
US7930377B2 (en) | 2004-04-23 | 2011-04-19 | Qlogic, Corporation | Method and system for using boot servers in networks |
US7340167B2 (en) * | 2004-04-23 | 2008-03-04 | Qlogic, Corporation | Fibre channel transparent switch for mixed switch fabrics |
US7404020B2 (en) * | 2004-07-20 | 2008-07-22 | Qlogic, Corporation | Integrated fibre channel fabric controller |
US7593997B2 (en) * | 2004-10-01 | 2009-09-22 | Qlogic, Corporation | Method and system for LUN remapping in fibre channel networks |
US8295299B2 (en) | 2004-10-01 | 2012-10-23 | Qlogic, Corporation | High speed fibre channel switch element |
US7411958B2 (en) * | 2004-10-01 | 2008-08-12 | Qlogic, Corporation | Method and system for transferring data directly between storage devices in a storage area network |
JP2006109258A (ja) * | 2004-10-07 | 2006-04-20 | Hitachi Ltd | 通信方法及び通信装置 |
US7519058B2 (en) | 2005-01-18 | 2009-04-14 | Qlogic, Corporation | Address translation in fibre channel switches |
US7548560B1 (en) | 2006-02-27 | 2009-06-16 | Qlogic, Corporation | Method and system for checking frame-length in fibre channel frames |
US20080264774A1 (en) * | 2007-04-25 | 2008-10-30 | Semitool, Inc. | Method for electrochemically depositing metal onto a microelectronic workpiece |
US8438301B2 (en) * | 2007-09-24 | 2013-05-07 | Microsoft Corporation | Automatic bit rate detection and throttling |
US8239564B2 (en) * | 2008-06-20 | 2012-08-07 | Microsoft Corporation | Dynamic throttling based on network conditions |
US8000237B1 (en) * | 2010-01-28 | 2011-08-16 | Telefonaktiebolaget L M Ericsson (Publ) | Method and apparatus to provide minimum resource sharing without buffering requests |
US11314558B2 (en) | 2019-07-23 | 2022-04-26 | Netapp, Inc. | Methods for dynamic throttling to satisfy minimum throughput service level objectives and devices thereof |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US497757A (en) * | 1893-05-23 | Vaginal syringe | ||
US5001707A (en) * | 1989-11-02 | 1991-03-19 | Northern Telecom Limited | Method of providing reserved bandwidth in a dual bus system |
US4977557A (en) * | 1989-12-14 | 1990-12-11 | Northern Telecom Limited | Method of providing effective priority access in a dual bus system |
-
1990
- 1990-09-24 US US07/586,661 patent/US5115430A/en not_active Expired - Lifetime
-
1991
- 1991-09-05 CA CA002050692A patent/CA2050692C/en not_active Expired - Fee Related
- 1991-09-13 DE DE69131794T patent/DE69131794T2/de not_active Expired - Fee Related
- 1991-09-13 ES ES91308393T patent/ES2143460T3/es not_active Expired - Lifetime
- 1991-09-13 EP EP91308393A patent/EP0478190B1/de not_active Expired - Lifetime
- 1991-09-17 AU AU84565/91A patent/AU632709B2/en not_active Ceased
- 1991-09-17 KR KR1019910016169A patent/KR100212104B1/ko not_active IP Right Cessation
- 1991-09-18 JP JP23673791A patent/JP3359926B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
ES2143460T3 (es) | 2000-05-16 |
KR920007393A (ko) | 1992-04-28 |
KR100212104B1 (ko) | 1999-08-02 |
JP3359926B2 (ja) | 2002-12-24 |
EP0478190A2 (de) | 1992-04-01 |
DE69131794D1 (de) | 1999-12-30 |
AU8456591A (en) | 1992-03-26 |
EP0478190A3 (en) | 1994-07-13 |
US5115430A (en) | 1992-05-19 |
EP0478190B1 (de) | 1999-11-24 |
AU632709B2 (en) | 1993-01-07 |
JPH04227146A (ja) | 1992-08-17 |
CA2050692A1 (en) | 1992-03-25 |
CA2050692C (en) | 1998-12-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69131794T2 (de) | Gerechter Zugriff von Verkehr verschiedener Prioritäten auf Netzwerke, bestehend aus zwei Bussen und einer verteilten Wortenschlange | |
DE69835781T2 (de) | Vorrichtung mit einem gewichteten gerechten Warteschlangenverfahren und mit adaptiver Umverteilung der Bandbreite | |
DE68911695T2 (de) | Überlastfreies paketvermittlungsnetzwerk. | |
DE69534540T2 (de) | Apparat und Methode zur Verarbeitung von Bandbreitenanforderungen in einer ATM-Vermittlungsstelle | |
DE3587092T2 (de) | Kommunikationssystem. | |
DE69130286T2 (de) | Verfahren zur priorisierung, selektiven ablösung und multiplexierung von schnellen paketen verschiedener verkehrsarten | |
DE69025558T2 (de) | Verfahren und Vorrichtung zur Überlastregelung in einem Datennetzwerk | |
DE69533695T2 (de) | Busarbitrierungsverfahren für fernmeldevermittlung | |
DE69334005T2 (de) | Überlastregelung in Hochgeschwindigkeitsnetzen | |
DE3780799T2 (de) | Anordnung zur ueberlastregelung durch bandbreitenverwaltung fuer paketvermittlungssystem. | |
DE69520576T2 (de) | Verfahren und Vorrichtung zur Formung und Multiplexierung von Burst-Verkehr | |
DE60117957T2 (de) | Verfahren, System und Rechnerprogrammprodukt zur Bandbreitenzuteilung in einem System mit Mehrfachzugriff | |
DE3780800T2 (de) | Anordnung zur ueberlastregelung fuer paketvermittlungssystem. | |
DE69636825T2 (de) | Verzögerungsminimalisierungssystem mit garantierter Bandbreite für Echtzeitverkehr | |
DE69827053T2 (de) | Verfahren zur Zuteilung von Betriebsmitteln in einem digitalen Datenübertragungsnetzwerk | |
DE68916231T2 (de) | Verfahren und Vorrichtung zum Vielfachzugriff mit verteilten Warteschlangen in einem Kommunikationssystem. | |
DE69025713T2 (de) | Dynamische Fensterbestimmung in einem Datennetzwerk | |
DE69033176T2 (de) | Paketnetzwerk mit Zuordnung von Kommunikationsbetriebsmitteln und Steuerung des Anrufaufbaus mit höherer Servicequalität | |
DE69533680T2 (de) | Verfahren und Vorrichtung zur dynamischen Bestimmung und Zuteilung von Zugriffsguoten für ein gemeinsames Betriebsmittel | |
DE69626946T2 (de) | Verfahren und Vorrichtung für eine auf Übertragungsgeschwindigkeit basierender Ablaufplanung unter Verwendung eines relativen Fehler-Ansatzes | |
DE69633051T2 (de) | Verfahren zur Kontrolle der Datenstromgeschwindigkeit, des Warteschlangenetzknoten und des Paketvermittlungsnetzwerkes | |
DE68917562T2 (de) | Verfahren und System zum Übertragen gepufferter Datenpakete über ein Kommunikationsnetzwerk. | |
DE69733129T2 (de) | Verfahren und Vorrichtung zur Übertragung von Datenpaketen mit Prioritäten | |
DE69030033T2 (de) | Verbessertes Kommunikationssystem | |
EP0351014B1 (de) | Koppelfeld für ein Vermittlungssystem |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |