-
Querverweis zu zugehörigen Anmeldungen
-
Diese
Anmeldung steht in Beziehung mit den Patentanmeldenummern [Agentreferenznummern: 200034,
200035, 200036, 200037, 200038, 200039], die gleichzeitig hierzu
am 3. Oktober 2000 eingereicht wurden.
-
Gebiet der Erfindung
-
Die
vorliegende Erfindung bezieht sich allgemein auf die Übertragung
von digitalen Paketen in Telekommunikationssystemen, und insbesondere, aber
nicht ausschließlich,
auf die Verwaltung von Konkurrenzsituationen innerhalb und zwischen
Paketströmen
in Speicher- und Weiterleitungsnetzwerken.
-
Hintergrund der Erfindung
-
Es
existieren viele Techniken zur Steuerung von digitalen Paketinformationsflüssen. Einige
solcher Techniken schließen
das Bereitstellen einer bestimmten Qualität eines Dienstes für verschiedene Arten
von Verkehr mit ein. Es existiert eine Anzahl von allgemeinen Anforderungen,
die mit der Sicherstellung der Qualität von Diensthöhen verknüpft sind. Dort,
wo Qualitätsunterscheidung
für mehr
als einen Strom bereitgestellt wird, ist es notwendig sicherzustellen,
dass verschiedene Qualitätsanforderungen für die verschiedenen
Paketströme
individuell und kollektiv innerhalb der Randbedingung der begrenzt verfügbaren Qualität erfüllt werden.
Um unterschiedliche Höhen
von Verlust und von Verzögerung
als auch Durchsatz bereitzustellen, muß die Quantität von Eingabedaten
und ihr temporales Muster beschränkt
werden. Die Quantität
der bedienten Eingabedaten, d. h. der Datendurchsatz, ist auch als
Langzeitverwaltung bekannt. Das Steuern des temporären Musters
von Daten ist als Kurzzeitverwaltung bekannt. Der Verkehr in bestimmten
Strömen
muß auch vor
den aus einer Burstiness in anderen Strömen folgenden Effekten geschützt werden.
Zum Beispiel müssen
einzelne Verkehrsströme
vor den Effekten von Protokollen wie beispielsweise TCP geschützt werden,
das so konstruiert ist, dass es so viel Bandbreite wie möglich ohne
Rücksicht
auf andere Ströme verwendet,
und vor bösartigen
Absichten oder Fehlern in den Endvorrichtungen des Netzwerks. Es
ist ebenso notwendig, das Interleaving von einzelnen Strömen innerhalb
der Randbedingungen der verfügbaren
Ressourcen zu verwalten.
-
Die
Verwaltung der Dienstqualität
ist insbesondere an dem Rand oder der Kante eines Netzwerks schwierig,
da hier Vorrichtungen nicht unter der Steuerung des zentralen Administrators
des Netzwerks sind. Daher kann das Verhalten in diesen Vorrichtungen
nicht angenommen oder vorhergesagt werden. Die ständig steigende
Vielfalt bei Anwendungen, Verkehr und Konvergenz macht die Verwaltung der
Dienstqualität
ebenfalls schwieriger. Unterschiedlicher Verkehr hat unterschiedliche
Anforderungen an die Dienstqualität und die Konsequenzen von
Verzögerung
und/oder Verlusten unterscheidet sich für verschiedene Arten von Verkehr,
entsprechend der Interpretation, die auf sie von einer Anwendung
angewendet wird.
-
Die
Möglichkeit
replizierender Netzwerkvorrichtungen Verkehr mit unterschiedlichen
Qualitätsanforderungen
zu ermöglichen
und physikalisch getrennt zu sein und getrennt verarbeitet zu werden,
ist unpraktisch, da die Implementierung von Netzwerkvorrichtungen
teuer ist. Aus diesem Grund ist es wünschenswert, die Dienstqualität von verschiedenem Verkehr
unter Verwendung einer einzelnen Netzwerkvorrichtung zu verwalten.
-
Es
existiert ein aktueller Trend dahingehend, Verkehrsmuster als konstante
Bitratenmuster zu bilden, mit dem Ziel steigender Vorhersagbarkeit.
Dies ist eine deterministische Steuerung, die sich darauf konzentriert,
die Verlusteigenschaften und Effizienzen eines Netzwerks zu verbessern.
Allerdings haben solche Techniken den Nachteil, dass Qualitätssicherung
bei Vorhandensein von "Überbuchen" das totale globale
Wissen über
das Verhalten der Quellen in dem Netzwerk benötigt, wie beispielsweise deren Ein-/Auszeiten, deren
relativen Phasen und die Auswirkungen deren zurückliegenden Vergangenheit auf den
Zustand des Netzwerks.
-
Die
Ankunft von Datenpaketen von verschiedenen Quellen ist von Natur
aus unsteuerbar. Es ist unmöglich,
deren exakte Zeit und relativen Phasen zu wissen. Unter gewissen
Umständen
manifestieren sich solche Eigenschaften selbst, indem sie einen
extrem unfairen Dienst an einige oder alle der Datenströme überbringen.
Es ist unmöglich,
im voraus vorherzusagen, welche Ströme diese Unfairness ertragen
müssen.
-
US-Patent 5,602,845 von
Wahl offenbart eine Implementierung zum Verkehrsmischen in einem
ATM-Schaltelement. Chao H. J. et al: "Q Management with Multiple Delay and
Lost Priorities for ATM Switches" International
Conference an Communications (ICC), US, New York IEEE, 1. Mai 1994, Seiten
1184 bis 1189 offenbart ein Verfahren zum Priorisieren von Verkehr
in einem ATM-Netzwerk.
-
Es
ist daher eine Aufgabe der vorliegenden Erfindung, eine verbesserte
Technik zum Steuern eines Informationsflusses in einem Datenübertragungssystem
bereitzustellen, die es ermöglicht
die Steuerung der Qualität
von Dienstanforderungen für verschiedene
Arten von Verkehr zu verbessern.
-
Kurzfassung der Erfindung
-
In Übereinstimmung
mit der vorliegenden Erfindung wird ein Verfahren zum Steuern eines
Informationsflusses in einem Datenübertragungssystem bereitgestellt,
umfassend: Empfangen von mehreren Datenpaketen; und Erzeugen eines
veränderten Informationsflusses,
dadurch gekennzeichnet, dass die Pakete in dem veränderten
InformationsFluss variabel beabstandet sind, während die Reihenfolge der Pakete
in der Reihenfolge wie sie ankommt, beibehalten wird, wobei der
variable Abstand zwischen den Paketen exponentiell verteilt ist.
-
Folglich
befaßt
sich die Erfindung mit dem oben genannten Problem durch die Einführung von Lücken zwischen
Paketen, welche die Ströme
kohärieren,
und die Konkurrenzen um Ressourcen zu einem eher vorhersagbaren
Vorgang machen.
-
Der
PaketFluss wird vorzugsweise mit einem variablen Muster abgestimmt,
um dadurch den veränderten
InformationsFluss zu erzeugen. Der variable Abstand kann zufällig oder
pseudo-zufällig sein. Der
variable Abstand kann zwischen den Vorderseiten der Pakete bemessen
sein. Der Abstand wenigstens einiger Pakete kann dem Abstand in
dem unveränderten
InformationsFluss entsprechen.
-
Bei
einem weiteren Aspekt stellt die vorliegende Erfindung eine Steuerung
zum Steuern eines Informationsflusses in einem Datenübertragungssystem
bereit, umfassend: ein Veränderungsmittel
zum Erzeugen eines veränderten
Informationsflusses, dadurch gekennzeichnet, dass die Pakete in
dem veränderten
InformationsFluss variabel beabstandet sind, während die Reihenfolge der Pakete
in der Reihenfolge, wie sie empfangen werden, beibehalten wird,
wobei der variable Abstand zwischen den Paketen exponentiell verteilt
ist.
-
Das
Veränderungsmittel
umfaßt
vorzugsweise einen Modulator. Der Modulator kann den empfangenen
InformationsFluss entweder mit einem variablen Muster, einem Zufallsmuster
oder einem Pseudo-Zufallsmuster abstimmen.
-
Das
Veränderungsmittel
kann einen Policer/Former oder einen Ratenbegrenzer umfassen.
-
Kurzbeschreibung der Figuren
-
Die
Erfindung wird am besten als Beispiel unter Bezugnahme auf die beigefügten Figuren
verstanden, in welchen:
-
1 ein
Blockdiagramm der Architektur eines Multiplexers in Übereinstimmung
mit einem beispielhaften Ausführungsbeispiel
der Erfindung veranschaulicht;
-
2 das
Prinzip einer Warteschlange in Übereinstimmung
mit einem beispielhaften Ausführungsbeispiel
der Erfindung veranschaulicht;
-
3 das
Prinzip des Zuweisens von Prioritätshöhen in Übereinstimmung mit einem beispielhaften
Ausführungsbeispiel
der Erfindung veranschaulicht;
-
4 das
Prinzip des stochastischen Bedienens von Paketen in Übereinstimmung
mit einem beispielhaften Ausführungsbeispiel
der Erfindung veranschaulicht;
-
5 das
Prinzip einer konzeptionellen Paketlängen in Übereinstimmung mit einem beispielhaften
Ausführungsbeispiel
der Erfindung veranschaulicht;
-
6(A) und 6(B) das
Prinzip von kaskadierenden Formern/Policern in Übereinstimmung mit einem beispielhaften
Ausführungsbeispiel
der Erfindung veranschaulicht;
-
7 das
Prinzip des Festlegens einer transportierten Last in Abhängigkeit
einer angebotenen Last in einem beispielhaften Ausführungsbeispiel
der vorliegenden Erfindung veranschaulicht;
-
8 ein
beispielhaftes Ausführungsbeispiel
eines Policers/Formers zum Ausführen
der vorliegenden Erfindung veranschaulicht;
-
9 ein
beispielhaftes Ausführungsbeispiel
eines Schätz-/Dringlichkeits-Multiplexers
zur Ausführung
der vorliegenden Erfindung veranschaulicht;
-
10 das
Lastprofil für
eine beispielhafte Policer/Former-Ausführung veranschaulicht.
-
Beschreibung der bevorzugten Ausführungsbeispiele
-
Bezugnehmend
auf 1 ist dort ein Diagramm gezeigt, das die Architektur
eines Basis-Multiplexers, bezüglich
dessen der Betrieb der vorliegenden Erfindung hierin beschrieben
wird, veranschaulicht. Es soll angemerkt werden, dass die Anwendung der
vorliegenden Erfindung nicht auf die spezielle Architektur, wie
sie in 1 gezeigt ist, begrenzt ist, und durch Lesen der
folgenden Beschreibung wird der Fachmann die allgemeine Anwendbarkeit
der vorliegenden Erfindung begrüßen. Der
exemplarische Multiplexer 100 von 1 multiplext
Datenströme
in einem paketbasierten Netzwerk, wie detaillierter hierin weiter
unten beschrieben werden wird.
-
Der
exemplarische Multiplexer, der allgemein durch das Bezugszeichen 100 bezeichnet
ist, umfaßt
eine Eingabeschnittstelle 100, einen Stromkennzeichner 102,
mehrere Policer/Former 104, einen Schätz-/Dringlichkeits-Multiplexer 106,
einen Ratenbegrenzer 108, eine Ausgabeschnittstelle 110, einen
Warteschlangenspeicher 112 und einen Warteschlangenspeicherverwalter 114.
-
Der
Multiplexer 100 empfängt
als eine Eingabe auf den Leitungen 116 einen InformationsFluss. Der
InformationsFluss umfaßt
Pakete, die zu verschiedenen Arten von Datenverkehr zugehörig sein können. Die
Pakete können
parallel oder in Reihe empfangen werden. Der Eingang an Leitung 116 kann
parallele Informationsflüsse
empfangen. Der Eingangsdatenstrom 116 kann Pakete enthalten,
die zu verschiedenen Arten von Verkehr zugehörig sind. Zum Zwecke des beschriebenen
Beispiels wird angenommen, dass der Datenstrom einen Voice-over-IP-Strom
enthält,
einen Blockdatenübertragungsstrom
und einen Telnetverkehrsstrom.
-
Die
Eingabeschnittstelle 100 stellt die notwendige Basisfunktionalität bereit,
um übertragene Datenpakete
von einem externen System und einer Vorrichtung über ein Übertragungsmedium zu empfangen.
Die Eingabeschnittstelle 100 empfängt Pakete aus dem Eingangsdatenstrom 116 und
leitet die empfangenen Pakete, vorzugsweise parallel, auf Leitungen 118 sowohl
an den Stromkennzeichner 102 als auch den Warteschlangenspeicherverwalter 114 weiter.
Die Eingabeschnittstelle muß eine
Funktionalität
aufweisen, die für
das besondere externe System oder die Vorrichtung geeignet ist,
in der die Pakete in dem Eingangsdatenstrom 116 ihren Ursprung haben.
Die Eingabeschnittstelle ist nicht direkt verantwortlich für irgendeinen
Prozeß bezüglich der Qualitätsverwaltung
des Datenstroms in Übereinstimmung
mit der vorliegenden Erfindung. Die Eingabeschnittstelle kann eine
gewisse Basisfunktionalität aufweisen,
um eine anfängliche Überprüfung von
Paketen, die in dem Eingangsdatenstrom empfangen wurden, auszuführen. zum
Beispiel kann die Eingabeschnittstelle, wenn sie ein beschädigtes Paket empfängt, das
Paket verwerfen.
-
Die
Struktur der Eingangsschnittsstelle ist von der Ausführung abhängig. Die
Basisfunktionalität der
Eingabeschnittstelle, die benötigt
wird, um irgendein benötigtes
Merkmal auszuführen,
ist dem Fachmann ersichtlich.
-
Der
Warteschlangenspeicherverwalter 114 ist für die Verwaltung
eines Satzes von Warteschlangen und eines Paketspeicherbereiches
verantwortlich. Der Warteschlangenspeicherverwalter 114 empfängt Pakete
von der Eingabeschnittstelle 100. Nach Ankunft eines Paketes
weist der Warteschlangenspeicherverwalter dem Paket eine eindeutige
Kennung zu und sendet die Kennung für das Paket auf Leitung 140 an
den Stromkennzeichner 102. Zusätzlich speichert der Warteschlangenspeicherverwalter das
Paket in einem temporären Paketpuffer.
Der Warteschlangenspeicherverwalter vergibt auch an das Paket einen
Bezugszähler
und initialisiert den Bezugszähler
für das
Paket auf Null. Wie weiter unten beschrieben werden wird, wird der
Bezugszähler von
dem Warteschlangenspeicherverwalter verwendet, um zu bestimmen,
ob das Paket, das mit dem Bezugszähler verknüpft ist, immer noch von dem Multiplexer 100 verarbeitet
wird, oder ob es aus (oder anfangs nicht eingetreten ist in) dem
Warteschlangenspeicher 112 entfernt werden soll.
-
Die
Paketkennung ist eine Kennung, die ein Paket eindeutig kennzeichnet.
Die Paketkennung kennzeichnet das Paket eindeutig zum Zwecke des Speicherns
der Paketkennung in dem Warteschlangenspeicher 112, wie
weiter unten hierin beschrieben wird, und zum Unterscheiden jedes
Paketes von anderen Paketen in dem Speicher. Bei einer einfachen Ausführung ist
die Paketkennung eine Zahl, wobei jedem Paket eine Paketkennung
zugewiesen wird, die die nachfolgend nächste Nummer ist. Alternativ
kann die Paketkennung durch eine eindeutige Information aus dem
Paketkopf zusammengesetzt sein. Bei Systemen, bei welchen die Paketgröße variabel
ist, kann die Länge
des Pakets in der Paketkennung eingeschlossen sein.
-
Der
Stromkennzeichner 102 empfängt auch Pakete von der Eingabeschnittstelle
auf Leitungen 118 und empfängt die Paketkennung für jedes
Paket auf Leitung 140 von dem Warteschlangenspeicherverwalter 114.
Der Stromkennzeichner 102 ist verantwortlich für die Bestimmung,
zu welchem Strom jedes Paket gehört.
Folglich wird beispielsweise der Stromkennzeichner bestimmen, ob
ein bestimmtes Paket mit einem Voice-over-IP-Strom verknüpft ist,
einem Blockdatenübertragungsstrom
oder einem Telnetverkehrsstrom. In Übereinstimmung mit dem Strom,
zu welchem die bestimmte empfangene Paketkennung gehört, leitet
der Stromkennzeichner die Paketkennung für das Paket zu einem der Policer/Former 104 für die weitere
Verarbeitung weiter.
-
Wie
aus der folgenden Beschreibung offensichtlich wird, basiert der
Rest der Verarbeitung auf der Paketkennung und nicht auf dem Paket.
Die Paketkennung stellt vorteilhafterweise eine effiziente Darstellung
des Pakets dar. Wie hierin nachfolgend beschrieben werden wird,
stellen der Wartenschlangenspeicher und die Paketkennungen sicher,
dass die ursprüngliche
Position in der Reihenfolge jedes einzelnen Pakets bei dem Multiplexingbetrieb
nicht verlorengeht.
-
Die
Policer/Former 104 sind eine Betriebsvariante einer FIFO-Warteschlange, bei
welcher die nachfolgende Verarbeitung mit dem Einsetzen und Entfernen
von Elementen von beziehungsweise in die Warteschlange verknüpft ist.
Solche FIFO-Warteschlangen
sind wohlbekannt und deren Ausführung befindet
sich innerhalb des Könnens
eines Fachmanns. Die Konfiguration der Policer/Former hängt von
der Ausführung
ab.
-
In
dem einfachen in 1 gezeigten Beispiel ist angenommen,
dass ein Policer/Former jeweils den verschiedenen Arten der empfangenen
Verkehrsströme
zugewiesen ist. Folglich ist beispielsweise der Policer/Former 104a einem
Voice over IP Verkehr zugewiesen, der Policer/Shaper 104b einem Blockdatenübertragungsverkehr
zugewiesen und der Policer/Former 104c einem Telnetverkehr
zugewiesen. Der Policer/Former 104d ist in 1 beispielhaft als
ein Mittel zum Verwalten von Paketen veranschaulicht, das mit anderen
Strömen
als diesen verknüpft
ist, die durch die Policer/Former 104a bis 104c verarbeitet
werden. Folglich leitet der Stromkennzeichner 102 Paketkennungen,
die mit Voice-over-IP-Paketen verknüpft sind, auf Leitung 120a an
den Policer/Former 104a weiter, leitet Paketkennungen,
die mit Blockdatenübertragungspaketen verknüpft sind,
auf Leitung 120b an den Policer/Former 104b weiter
und leitet Paketkennungen, die mit den Telnetverkehrspaketen verknüpft sind,
auf Leitung 120c an den Policer/Former 104c weiter.
-
Im
Falle von Multicasting oder anderen Diensten, die eine Replizierung
benötigen
(zum Beispiel Überwachung),
kann der Stromkennzeichner 102 die Paketkennungen an mehr
als einen Policer/Former 104 weiterleiten.
-
Es
soll angemerkt werden, dass der Stromkennzeichner 102 Pakete
nicht für
die weitere Verarbeitung innerhalb des Multiplexers 100 weiterleitet. Stattdessen
leitet der Stromkennzeichner die Paketkennungen, die den Paketen
zugewiesen sind, zur weiteren Verarbeitung an den Multiplexer 100 weiter.
-
Die
Policer/Former 104 sind für die Vergebung von Qualitätsklassifikationen
an die Pakete innerhalb eines Stromes verantwortlich und verantwortlich
für die
Qualitätssteuerung
des Stromes sowohl bei der Kurzzeit als auch bei der Langzeit, indem
wahlweise Paketkennungen in den Strom verworfen werden und wahlweise
Pakete in den Strom zeitverschoben werden.
-
Eine
Funktion der Policer/Former ist es, Pakete unter Verwendung der
entsprechenden Paketkennungen mit einer variablen Dienstrate zu
bedienen. Als Ergebnis sind die Paketkennungen, die einen Policer/Former
verlassen, variabel beabstandet, vorzugsweise mit einem zufälligen oder
pseudo-zufälligen Abstand.
Das zufällige
Beabstanden der Pakete stellt sicher, dass der am wenigsten dringende Verkehr
irgendwann einmal von dem Schätz-/Dringlichkeits-Multiplexer 106 bedient
wird. Der variable Abstand der Pakete an dem Ausgang der Policer/Former 104 verringert
die Kohärenz
zwischen Strömen
von unabhängigen
Quellen. Das Erzeugen unabhängiger
temporärer
Muster zwischen Strömen vergrößert die
Fairness des Schätz-/Dringlichkeits-Multiplexerentscheidungsvorgangs.
Die Schätz-/Dringlichkeitsklassifikationen,
die den Paketkennungen in den Policern/Formern zugewiesen werden,
stellen nicht von sich aus die Fairness bedingungslos sicher.
-
Zum
Beispiel hängt
die Verzögerung,
die ein Paket mit einer zugehörigen
niedrigen Dringlichkeitshöhe
erfahren wird, von dem temporären
Muster der dringenderen Verkehrsströme ab. Wenn zwei Ströme mit unterschiedlichen
Schätz-/Dringlichkeitshöhen temporär kohärent sind,
werden die besser geschätzten
Pakete immer das Rennen "gewinnen", in den Schätz-/Dringlichkeits-Multiplexer 106 einzutreten und/oder
die dringenderen Daten werden immer zuerst übertragen. Dies wird statistisch
unwahrscheinlich, wenn die Ströme
variabel beabstandete Pakete haben.
-
Bezugnehmend
auf 4 sind dort zwei der Policer/Former 104a und 104b von 1,
mit Beispielen von Datenpaketströmen
an deren Eingängen und
Ausgängen
veranschaulicht. Der Policer/Former 104a empfängt Pakete 200 mit
einem konstanten Abstand t an seiner Eingangsleitung 120a.
Der Policer/Former 104b empfängt Paketkennungen 202 mit einem
konstanten Abstand t an seiner Eingangsleitung 120b. Der
Policer/Former 104a bedient die Paketkennungen in seiner
Warteschlange, so dass die Pakete 200a, 200b und 200c an
seiner Ausgangsleitung 122a mit einem variablen Abstand
dazwischen erzeugt werden. Auf ähnliche
Art und Weise führt
die Bedienung der Paketkennungen durch den Policer/Former 104b zu
Paketkennungen 202a, 202b und 202c an
seiner Ausgangsleitung 122b mit einem variablen Abstand.
-
Eine
zweite Funktion der Policer/Former ist, das Verkehrsvolumen in einem
Strom zu begrenzen, das durch das wahlweise Verwerfen von Paketen
erreicht wird. Die Eigenschaft der Kontrollrichtlinie ist mittels
eines Lastprofils spezifiziert, das eine Funktion von (wenigstens)
der angebotenen Last ist (d. h. der Rate ankommender Pakete in einem
Strom). Daher, und vorteilhaft, können dort verschiedene Eigenschaften
durch verschiedene Lasthöhen
definiert werden. Das heißt,
die Qualität
kann herabgesetzt oder heraufgesetzt werden, sowie die Ankunftsrate sich
vergrößert. Die
Transporteigenschaften können deshalb
eingerichtet werden, um besser zu den Anwendungsanforderungen zu
passen und den Effekt einer abnormalen angebotenen Last zu vermeiden, zum
Beispiel Verweigerung-des-Dienstes-Attacken (Deny of Service Attacks).
Bezugnehmend auf 7 ist dort das Prinzip der Festlegung
von Transporteigenschaften mittels angebotener Last veranschaulicht.
-
In 7 veranschaulicht
die X-Achse die angebotene Last und die Y-Achse veranschaulicht
die Last, die gerade transportiert wird. Wie aus 7 gesehen
werden kann, existieren zwei Schwellwerthöhen: eine untere Schwellwerthöhe 250,
und eine obere Schwellwerthöhe 252.
Wenn die angebotene Last nicht die Schwellwerthöhe 252 übersteigt,
kann die angebotene Last innerhalb der eingerichteten Garantien
transportiert werden. Wenn die angebotene Last die Schwellwerthöhe 252 übersteigt,
kann die angebotene Last nicht garantiert übertragen werden. Die untere
Schwellwerthöhe 250 stellt
die minimal transportierte Last dar, unabhängig davon, wie hoch die angebotene
Last wird.
-
Auf
diese Weise wird, nochmals bezogen auf 7, sobald
die angebotene Last die obere Schwellwerthöhe 252 und Punkt 254 erreicht,
die transportierte Last so eingestellt, dass sie verringert wird.
So wie die angebotene Last sich vergrößert, wird damit fortgefahren,
die transportierte Last auf die Punkte zu verringern, an denen sie
sich festigt und tendiert dann in Richtung der unteren Schwellwerthöhe 250.
-
Folglich
wird die Rate verworfener Pakete durch die angebotene Last festgelegt.
Die obere Schwellwerthöhe
legt eine Höhe
fest, bei der das wahlweise Verwerfen von Paketen ausgelöst wird. Pakete
werden vorzugsweise basierend auf einer augenblicklichen Approximation
der angebotenen Last verworfen. Pakete können wahrscheinlichkeitsstatistisch
basierend auf einer augenblicklichen Approximation der angebotenen
Last verworfen werden. Wenn die angebotene Last zu einer transportierten Last
führt,
die die obere Schwellwerthöhe übersteigt, wird
die transportierte Last unterhalb der oberen Schwellwerthöhe durch
wahlweises Verwerfen von Paketen reduziert. Wenn sie reduziert wird,
wird die transportierte Last vorzugsweise auf eine Höhe reduziert,
die oberhalb der unteren Schwellwerthöhe liegt. Die Reduzierung der
transportierten Last wird größer, je
größer die
angebotene Last wird. Die transportierte Last wird in Reaktion auf
eine Vergrößerung der
angebotenen Last weiter verringert.
-
Ein
Policer/Former erreicht ein gewünschtes Lastprofil
durch wahlweises Verwerfen von Paketen. Pakete werden vorzugsweise
basierend auf einer augenblicklichen Approximation der angebotenen
Last verworfen. Bezugnehmend auf 10 ist
dort ein Lastprofil für
eine beispielhafte Ausführung
eines Policers/Formers veranschaulicht. 10 veranschaulicht
ein Lastprofil für
einen beispielhaften Policer/Former, der als eine Warteschlange
mit 10 Puffern ausgeführt
ist und mit stochastischen Dienstzeiten, die aus einer exponentiellen
Verteilung abgetastet wurden, mit Ratenparametern: 1=2= ... =:9=1,3234,:10=0.5. Der Graph stellt ein Lastprofil für einen
Policer/Former dar, der als eine Warteschlange mit 10 Puffern ausgeführt ist,
mit Dienstzeiten, die aus einer exponentiellen Verteilung abgetastet
wurden, dessen Ratenparameter von der Zahl der Pakete in der Warteschlange
abhängt.
Eine Beschreibung einer solchen Ausführung wird hierin anschließend in einem
Beispiel bereitgestellt. Die Dienstratenparameter sind: 1=2= ... =:9=1.3234,:10=0.5,
wobei die numerischen Werte für
die Dienstraten und die angebotene und transportierte Last so skaliert
sind, dass die obere Schwellwerthöhe den Wert 1 einnimmt. Das
in 10 veranschaulichte Lastprofil zeigt die durchschnittlich
transportierte Last, wenn der ankommende Verkehr ein Poisson-Muster hat. Die Anwendung von
Standard-Warteschlangen-Theorie-Ergebnissen erlauben
die Bestimmung der erwarteten Verlustrate.
-
Eine
dritte Funktion der Policer/Former 104 ist, Schätzungs-/Dringlichkeitsklassifikationen
den Paketkennungen zuzuweisen, die in ihren Warteschlangen eingeschlossen
sind.
-
Durch
die Zuweisung solcher Klassifikationen zu den Paketkennungen, sind
die Pakete selbst von sich aus derselben Klassifikation zugewiesen. Das
Prinzip der Schätz-
und Dringlichkeitshöhen
ist in dem Internationalen Patent
WO
00/65738 diskutiert. Eine Schätzhöhe zeigt eine Klasse oder eine Höhe eines
Verlusts für
ein Paket an. Die Verlustklasse zeigt die Tendenz des Pakets, verworfen
zu werden, an. Eine Dringlichkeitshöhe zeigt die Höhe einer Dringlichkeit
an, bei der ein Paket bearbeitet werden sollte. Die Dringlichkeits- und Schätzhöhen können in Kombination
betrachtet werden, um eine Prioritätshöhe für ein Paket zu bilden. Auf
diese Weise hat eine Prioritätshöhe zwei
Komponenten in diesem Zusammenhang.
-
Wie
hierin weiter oben diskutiert wurde, sind in diesem beispielhaften
Policer/Former Transporteigenschaften für einen Strom, einschließlich Zuweisung
von Schätz-
und Dringlichkeitshöhen,
basierend auf der angebotenen Last festgelegt. Die Schätz- und
Dringlichkeitsklassifikationen sind vorzugsweise für eine Paketkennung
gleichzeitig festgelegt, auf der Grundlage einer Funktion des aktuellen Zustandes
der Warteschlange, wenn die Klassifikation berechnet wird. Die Wahrscheinlichkeit
in einem bestimmten Zustand zu sein, ist eine Funktion der angebotenen
Last. Diese Klassifikationsfunktion ist einrichtbar und kann ohne
Randbedingungen gewählt werden.
Zum Beispiel kann ein gegebener Policer/Former so eingerichtet sein,
dass er eine von zwei Klassifikationen basierend auf einer wahrscheinlichkeitsstatistischen
Wahl den Paketen zuordnet. Die verwendete Klassifikationswahrscheinlichkeit
kann mit der Länge
der Warteschlange zusammenhängen.
Das heißt,
so eine Einrichtung kann so konstruiert sein, dass höhere Klassifikationen
Paketen mit einer höheren
Wahrscheinlichkeit zugewiesen werden, wenn die angebotene Last niedrig
ist.
-
Die
Klassifikation eines Pakets bestimmt den maximalen Verlust und die
Verzögerung,
die es am wahrscheinlichsten erfahren wird, wenn es mit anderen
Strömen
an dem Ausgang der Policer/Former gemultiplext wird, wie hierin
weiter unten beschrieben werden wird. Dies ist ein von dem Konzept,
bei welchem der Verlust durch die Verzögerung des Pakets innerhalb
des Policers/Formers selbst erfahren wird, getrenntes. Der Verlust
in dem Policer/Former, der von einem Paket erfahren wird, hängt von
der aktuellen Ankunftsrate des Stromes und der Länge der Warteschlange ab. Die
Verzögerung
ist durch die eingerichteten Dienstraten und die Länge der
Warteschlange festgelegt.
-
Jeder
der Policer/Former 104 ist vorzugsweise unter Verwendung
einer Warteschlange mit einer variablen Dienstrate ausgebildet.
Wenn ein Policer/Former 104 eine Paketkennung empfängt, bestimmt
er, ob die Paketkennung in seiner internen Warteschlange gespeichert
werden sollte oder verworfen werden sollte. Die Steuerung der Aufnahme einer
Paketkennung in eine Policer/Former Warteschlange wird hierin weiter
unten diskutiert.
-
Im
Folgenden wird zuerst der Vorgang, bei welchem Pakete aufgenommen
oder von den Policern/Formern 104 verworfen werden, diskutiert.
Für die
Zwecke der Diskussion wird ein Beispiel eines Policers/Formers genommen,
der ein Warteschlangensystem verwendet, das eine Warteschlangenlänge von
4, wie in 2 veranschaulicht, hat. Jeder
Zustand in 2 ist mit der Länge der
Warteschlange in diesem Zustand markiert. Die Dienstzeiten in jedem Zustand
werden durch Abtasten einer exponentiellen Verteilung mit einem
Ratenparameter μ erhalten.
Die Dienstzeiten legen die konzeptionelle Rate des Dienstes für das Paket
fest. In dem in 2 gezeigten Beispiel werden
zwei verschiedene Dienstraten verwendet. Wenn die Warteschlange
im Zustand 1 ist (d. h. die Warteschlange hat nur ein Paket), dann
legt μ1 die Dienstrate für das Paket an dem Kopf der
Warteschlange fest. Wenn die Warteschlange länger ist, zum Beispiel im Zustand
3, wird die Dienstrate μ2 verwendet. Dieses Ausführungsbeispiel des Policers/Formers
hat auch wahlweise Verwerfungswahrscheinlichkeiten, die zu jedem
Zustand zugehörig sind.
Das heißt
bei Ankunft existiert eine Wahrscheinlichkeit, dass die Paketkennung
wahlweise verworfen wird. In diesem Beispiel hängt die Wahrscheinlichkeit dieses
Ereignisses von dem Zustand der Warteschlange ab, wenn die Paketkennung
ankommt. Der Betrieb eines Policers/Formers wird nun hinsichtlich des
Zustands der Warteschlange bei Ankunft der Paketkennung beschrieben.
-
Bei
einem ersten Fall wird angenommen, dass die Warteschlange zu dem
Zeitpunkt voll ist, an dem die Paketkennung ankommt. Bei so einem
Fall ist die Wahrscheinlichkeit, dass die Paketkennung in die Warteschlange
eintritt, gleich Null. Das bedeutet nicht notwendigerweise, dass
das Paket automatisch verworfen wird, da das Paket zu mehr als einer
der verfügbaren
Policer/Former geschickt worden sein konnte. In so einem Fall leitet
der Policer/Former 104 einen Befehl auf seiner entsprechenden
Leitung 138 weiter, um den Bezugszähler für das Paket, das zu einer bestimmten
Kennung zugehörig
ist, zu verringern. Der Warteschlangenspeicherverwalter wird dann
das Paket verwerfen, auf das durch die Paketkennung verwiesen wird,
wenn sein Bezugszähler Null
oder weniger ist.
-
Bei
einem zweiten Fall ist zur Ankunftszeit einer Paketkennung an dem
Policer/Former 104 die Warteschlange nahezu voll. Als Beispiel
wird angenommen, dass die Warteschlange im Zustand 3 ist. Im Zustand
3 existiert eine 30%ige Wahrscheinlichkeit, dass die Paketkennung
nicht in die Warteschlange hineingelassen wird. Wenn die Paketkennung
hereingelassen wird, dann wird sie in der Warteschlange des Policers/Formers
gespeichert und die Warteschlange bewegt sich in den Zustand 4.
Die Warteschlange ist dann voll und jede Paketkennung, die ankommt,
bevor eine Paketkennung in der Warteschlange abgeht, wird nicht
hereingelassen.
-
Wenn
die Paketkennung in die Warteschlange des Policers/Formers 104 eingetreten
ist, sendet der Policer/Former 104 ein geeignetes Signal
auf seiner entsprechenden Leitung 138 an den Warteschlangenspeicherverwalter,
das anzeigt, dass das Paket, das zu der Paketkennung gehört, in den
Warteschlangenspeicher 112 hereingelassen wird, und in einer
bestimmten Warteschlange, die für
Pakete, die zu diesem Strom gehören,
zugewiesen ist, gespeichert wird.
-
Wenn
ein Abgang geplant ist, wird die Paketkennung an dem Kopf der Warteschlange
bedient. Die Abtastrate, die für
die Bedienung dieser Paketkennung verwendet wird, hängt von
dem Zustand der Warteschlange ab. Auf der Grundlage, dass die Warteschlange
in dem Zustand 4 ist, wird die Abtastdienstrate, die für die Bedienung
in dieser Paketkennung verwendet wird, durch eine exponentiell verteilte
Zufallsvariable mit Mittelwert μ2 festgelegt. Die berechnete Dienstzeit dieses
Pakets basiert auf der Abtastdienstrate und der Länge des
Pakets.
-
Bei
einem dritten Fall kommt eine Paketkennung zu einer Zeit an, wenn
die Warteschlange nahezu leer ist. Die Verarbeitung der Paketkennung
in diesem Fall ist sehr ähnlich
zu derjenigen des Falles, wenn die Warteschlange nahezu voll ist.
Angenommen, eine Paketkennung kommt an, wenn die Warteschlange in
dem Zustand 1 ist. In dem Fall besteht keine Wahrscheinlichkeit,
dass das Paket wahlweise verworfen wird, da die Wahrscheinlichkeit
dieses Ereignisses als Null eingerichtet ist. Daher wird die Paketkennung
in der Warteschlange gespeichert und die Warteschlange bewegt sich
in den Zustand 2. Wenn ein Abgangereignis geplant ist, bevor eine
andere Ankunft auftaucht, wird die Paketkennung an dem Kopf der
Warteschlange basierend auf der Dienstrate für Zustand 2, die hier μ1 ist,
bedient.
-
Bei
einem vierten Fall kommt die Paketkennung zu einem Zeitpunkt an,
an dem die Warteschlange leer ist. In diesem Fall, wie in dem dritten Fall,
wird die Paketkennung in die Warteschlange hereingelassen.
-
Die
Beschreibung, die hierin oben enthalten ist, hat angenommen, dass
der Policer/Former nicht eingerichtet ist, irgendwelche Pakete ohne
Verzögerung
zu senden. Mit anderen Worten hat der Policer/Former vorzugsweise
keine niedrigere Lasttransparenz, alle Pakete werden verzögert.
-
In
ihrer einfachsten Form erlaubt die niedrige Lasttransparenz, dass
das erste Paket, das an einer leeren Warteschlange ankommt, sofort
weitergeleitet wird. Trotz dieser Aktion bewegt sich die Warteschlange
in Zustand 1. Pakete, die nachfolgend ankommen, werden verarbeitet,
obwohl dieses Paket vorhanden ist, ausgenommen, dass, wenn dieses Paket
normal nach Auslaufen seines Zeitgebers weitergeleitet wurde, wird
es nicht gesendet. Ob oder ob nicht eine Paketkennung sofort nach
ihrer Ankunft weitergeleitet wurde oder nicht, wird sie in der Warteschlange
gespeichert. Dieses Konzept kann einfach auf viele Pakete erweitert
werden.
-
Bevor
eine Paketkennung einen Policer/Former verläßt, bestimmt der Policer/Former
eine Qualitätsklassifikation
für die
Paketkennung. Die Policer/Former klassifizieren die Paketkennungen,
wie hierin oben beschrieben wurde, mit Schätz- und Dringlichkeitsklassifikationen.
Jede Paketkennung muß mit
einer Schätz-
und Dringlichkeitsklassifikation klassifiziert werden, bevor sie
an den Schätz-/Dringlichkeits-Multiplexer 106 weitergeleitet wird.
Die Klassifikation, die einer Paketkennung zugeordnet wurde, ist
eine Funktion des aktuellen Zustandes der Warteschlange.
-
Angenommen,
ein Policer/Former hat wiederum eine Warteschlange mit Länge 4. Wie
in 2 gezeigt ist, wird angenommen, dass die Warteschlange
des Policers/Formers so eingerichtet ist, dass die Dienstraten für Zustände 1 und
2 als μ1 festgelegt sind, und die wahlweise Verlustwahrscheinlichkeit
für die
Zustände
1 und 2 Null ist. Die Zustände
3 und 4 haben eine festgelegte Dienstrate von μ2 und
eine wahlweise Verlustwahrscheinlichkeit von 0,3 (d. h. 30%).
-
In
einem bevorzugten Ausführungsbeispiel ist
jeder Policer/Former mit einer primären und eine sekundären Schätz-/Dringlichkeitsklassifikation
eingerichtet und eine Paketkennung wird einer der Klassifikationen
nach Ankunft zugeordnet. Jeder Zustand hat eine zugehörige Wahrscheinlichkeit,
dass ein Paket mit der primären
Klassifikation klassifiziert wird. Die Wahrscheinlichkeit, ein Paket
mit der primären Klassifikation
zu klassifizieren, ist in jedem Zustand in diesem Beispiel folgendermaßen eingerichtet:
für Zustand
1, 100%, für
Zustand 2, 80%, für
Zustand 3, 60%, und für
Zustand 4, 40%. Diese Wahrscheinlichkeiten sind in 3 veranschaulicht.
-
Beispielsweise
kann die primäre
Klassifikation eine wünschenswertere
Klassifikation sein als die sekundäre Klassifikation. Wenn die
in dem Strom angebotene Last niedrig ist, haben die Pakete eine
höhere
Wahrscheinlichkeit der wünschenswerteren
primären
Klassifikation zugeordnet zu werden, da die Warteschlange meistens
im Zustand 1 oder 2 sein wird. Wenn die angebotene Last sich vergrößert, existiert
eine höhere
Wahrscheinlichkeit, dass eine Paketkennung der sekundären Klassifikation
zugeordnet werden wird, die weniger wünschenswert ist, so dass dies
bedeuten kann, dass die Paketkennung eine größere Verzögerung erfahren wird und/oder Verlust
in dem Schätz-/Dringlichkeits-Multiplexer.
-
Bezugnehmend
auf die hierin oben ausgeführte
Diskussion der Kriterien für
die Hereinlassung einer Paketkennung in die Warteschlange, wenn
eine Paketkennung in die Warteschlange im Fall 2 hereingelassen
wird (das heißt
in dem Beispiel, wenn die Warteschlange in dem Zustand 3 ist und
die Paketkennung hereingelassen wird, sich die Warteschlange in
den Zustand 4 bewegt), ist die Wahrscheinlichkeit der Klassifizierung
der Paketkennung mit der primären
Klassifikation 40%, da die Warteschlange dann in dem Zustand 4 ist.
Daher existiert eine 40%ige Wahrscheinlichkeit, dass die Paketkennung der
primären Klassifikation
zugeordnet werden wird und eine 60%ige Wahrscheinlichkeit, dass
sie der sekundären
Klassifikation zugeordnet wird. Diese Klassifikation der Paketkennung
basiert auf einer einfachen wahrscheinlichkeitsstatistischen Wahl.
-
Am
Ende der berechneten Dienstzeit wird dann eine Paketkennung aus
der Policer-/Former-Warteschlange emittiert und die Warteschlange bewegt
sich in den Zustand 3. Eine neu berechnete Dienstzeit basierend
auf den festgelegten Parametern des Zustandes 3 legt dann fest,
wann der nächste
Abgang ausgeführt
wird. Wenn eine Ankunft vor Auslaufen dieser Zeitdauer auftaucht,
kann sich die Warteschlange wiederum in den Zustand 4 bewegen, auf
der Grundlage, ob die Ankunft wahlweise verworfen wurde oder nicht.
-
Bezugnehmend
auf den obigen Fall 3, in dem Fall, dass eine Paketkennung ankommt,
wenn die Warteschlange nahezu leer ist, wird die Paketkennung mit
der Verwendung der zum Zustand 2 zugehörigen Wahrscheinlichkeit klassifiziert.
In diesem Falle existiert eine 80%ige Wahrscheinlichkeit, dass die
Paketkennung zu dem Schätz-/Dringlichkeits-Multiplexer 106 mit
der primären
Klassifikation gesendet wird.
-
Das
wahlweise Verwerfen von Paketen bei ihrer Ankunft bei einem Policer/Former
reduziert nicht nur die Ankunftsrate des Stromes, sondern hilft auch
dabei, Burst-Verluste zu vermeiden. Zum Beispiel würden, wenn
ein Burst von sechs Paketen in dem Warteschlangensystem von 2 ankommt, die
letzten zwei Pakete verlorengehen, wenn die Pakete nicht wahlweise
verworfen werden würden.
Auf der anderen Seite, wenn die Wahrscheinlichkeit des wahlweisen
Verwerfens sich mit der Warteschlangenlänge vergrößert, kann es der Fall sein,
dass zum Beispiel, das vierte oder dritte Paket bei Ankunft verworfen
wird, weswegen die Verlustverteilung in dem Burst fairer sein wird.
-
Eine
andere Funktion des Policers/Formers, wie hierin weiter oben beschrieben
wurde, ist, das Paket, das mit der Paketkennung verknüpft ist,
zur Verarbeitung in dem Warteschlangenspeicher 112 zu halten,
indem er mit dem Warteschlangenspeicherverwalter 114 interagiert.
Das Speichern von Paketen in der Warteschlange ist notwendig, um
sicherzustellen, dass Pakete in einem Strom nicht durch den Dienstvorgang
des Schätz-/Dringlichkeits-Multiplexers 106 neu
geordnet werden. Abhängig
von der Funktion, die zur Zuordnung von Schätz-/Dringlichkeitshöhen zu Paketen
gewählt
wurde, existiert die Möglichkeit,
dass die Pakete während
des Multiplexens auf Leitung 124 neu geordnet werden, wie
hierin nachfolgend weiter diskutiert wird.
-
Betrachte
als ein Beispiel die einfache wahrscheinlichkeitsstatistische Klassifikationsfunktion, die
hierin weiter oben beschrieben wurde. Angenommen ein Burst von vier
Paketkennungen kommt in dem Policer/Former an und alle Pakete werden
in der Warteschlange gespeichert. Man nehme weiterhin an, dass keine
weiteren Ankünfte
während
der ersten in Frage kommenden Periode auftauchen. Man nimmt wiederum
wiederum an, dass der Schätz-/Dringlichkeits-Multiplexer nicht
mit Paketen, die ursprünglich
von anderen Policern/Formern kommen, leer ist. Schlußendlich
nehme man an, dass die primäre
Schätz-/Dringlichkeits-Klassifikation
eine wünschenswerte
hohe Dringlichkeitshöhe
hat, während
die zweite Klassifikation eine niedrige Dringlichkeitshöhe hat.
Unter diesen Bedingungen hat die Paketkennung bei dem Beginn des
Bursts, die hier als "Paketkennung
1" bezeichnet wird,
eine höhere Wahrscheinlichkeit
der zweiten Schätz-/Dringlichkeits-Klassifikation
zugeordnet zu werden als ein Paket, das nahe dem Ende des Bursts
ist, welches hier "Paketkennung
4" genannt wird.
Wenn die Paketkennung 1 der zweiten Klassifikation zugeordnet wird, während die
Paketkennung 4 der primären
Klassifikation zugeordnet wird, kann der Unterschied in den Dringlichkeitshöhen dazu
führen,
dass die Paketkennung 4 vor der Paketkennung 1 in dem Schätz-/Dringlichkeits-Multiplexer 106 bedient
wird.
-
Um
dies zu vermeiden, instruieren die Policer/Former den Warteschlangenspeicherverwalter 114,
die Pakete in dem Warteschlangenspeicher 112 entsprechend
der Reihenfolge in der Warteschlange zu plazieren, in welcher die
entsprechenden Paketkennungen von dem Policer/Former empfangen werden.
Das heißt,
bei Ankunft in dem Policer/Former, wenn eine Paketkennung nicht
verworfen wird, wird der Warteschlangenspeicher so instruiert, dass
das Paket in der Warteschlange des relevanten Stromes in der Reihenfolge,
in der es angekommen ist, plaziert wird.
-
8 zeigt
eine beispielhafte Aufführung
eines Policers/Formers 104. Der beispielhafte Policer/Former
weist einen Policer/Former-Ankunftsverarbeitungsblock 701 auf,
einen Paketkennungswarteschlangenblock 702, einen Policer/Former-Abgangverarbeitungsblock 704,
einen Zeitgeber 203, einen Verwerfungs-Wahrscheinlichkeitserzeuger 706 und
einen Dienstzeiterzeuger 707.
-
Paketkennungen
kommen über
Leitung 708 in dem Policer/Former-Ankunftsverarbeitungsblock 701 an.
Der Policer/Former-Ankunftsverarbeitungsblock 701 benachrichtigt
den Policer/Former-Einrichtungsverwaltungsblock 705 über Leitung 720 darüber, dass
eine Paketkennung angekommen ist. Der Policer/Former-Einrichtsverwaltungsblock
fragt den Paketkennungswarteschlangenblock 702 über Leitung 724 ab,
um die aktuelle Länge
der Warteschlange innerhalb des Policers/Formers zu erhalten. Basierend
auf der Antwort des Paketkennungswarteschlangenblocks über Leitung 726 bestimmt
der Policer/Former-Einrichtungsverwaltungsblock, ob die Warteschlange
voll ist oder nicht. Wenn eine verfügbare Kapazität in der
Warteschlange existiert, bestimmt dann der Policer-/Former-Einrichtungsverwaltungsblock 705 ob
oder ob nicht die Paketkennung wahlweise verworfen werden sollte,
unter Verwendung einer Eingabe von dem Verwerfungs-Wahrscheinlichkeitserzeuger 706 auf
Leitung 732.
-
Wenn
die Paketkennung in die Warteschlange hereingelassen werden soll,
warnt der Policer-/Former-Einrichtungsverwaltungsblock 705 den Policer-/Former-Ankunftsverarbeitungsblock 701 über Leitung 722,
um die Paketkennung hereinzulassen. Nach Empfang dieser Antwort
sendet der Policer/Former-Ankunftsverarbeitungsblock 701 eine
Anfrage über
Leitung 736 (die äquivalent
zu einer der Leitungen 138 ist) an den Warteschlangenspeicherverwalter 114,
um das Paket in die eine Warteschlange in den Warteschlangenspeicher
einzureihen, die für
diesen Strom zugewiesen ist. Der Policer-/Formerankunftsvorgang
leitet dann die Paketkennung an den Paket-Kennungswarteschlangenblock 702 über Leitung 710 weiter.
Der Policer/Former-Einrichtungsverwaltungsblock 705 berechnet
eine neue Dienstzeit, auf der Grundlage einer Eingabe von dem Dienstzeiterzeuger 707 auf
Leitung 734 und der Länge
der Pakete, und sendet diese Dienstzeit an den Policer/Former-Abgangverarbeitungsblock 704 über Leitung 728.
Der Policer/Former-Abgangvorgang leitet die neue Dienstzeit an den
Zeitgeber 703 über Leitung 716 weiter.
Der Zeitgeber 703 setzt sich selbst zurück, um an dem Ende der neuen
Dienstzeit aufzuwachen.
-
Wenn
der Policer/Former-Einrichtungsverwaltungsblock 705 erkennt,
dass die Warteschlange voll ist, instruiert er den Policer/Former-Ankunftsverarbeitungsblock 701 über Leitung 722,
die Paketkennung zu verwerfen. In diesem Falle sendet der Policer/Former-Ankunftsverarbeitungsblock 701 eine Verwerfungsinstruktion
an den Warteschlangenspeicherverwalter 114 über Leitung 736.
Dann verwirft der Policer/Former-Ankunftsverwaltungsblock
die Paketkennung.
-
Wenn
der Zeitgeber 703 aufwacht, sendet er eine Anfrage über Leitung 718 an
den Policer/Former-Abgangverwaltungsblock 704, um eine
Paketkennung abzusenden. Der Policer/Former-Abgangverarbeitungsblock sendet eine
Anfrage an den Policer/Former-Einrichtungsverwaltungsblock 705 über Leitung 730 für eine Klassifikation
und eine neue Dienstzeit. Der Einrichtungsverwaltungsblock 705 fragt
den Paketkennungswarteschlangenblock 702 über Leitungen 724 und 726 ab,
um die aktuelle Länge
der Warteschlange zu erhalten. Der Einrichtungsverwaltungsblock
verwendet die aktuelle Länge
der Warteschlange, um die Klassifikation für die Paketkennung festzulegen,
die gerade abgesendet werden soll. Die Klassifikation wird zu dem
Policer/Former-Abgangverarbeitungsblock über Leitung 728 gesendet.
Der Policer/Former-Abgangvorgang 704 verbindet eine Warteschlangenkennung,
die spezifiziert, welche Warteschlangen in dem Warteschlangenspeicher 112 zur
Speicherung von Paketen von diesem Strom verwendet wird, und die
Klassifikation zusammen zu der Paketkennung und leitet dieses Datentupel
auf Leitung 738 weiter.
-
Es
soll angemerkt werden, dass in dieser beispielhaften Ausführung die
Klassifikation der Paketkennungen so ausgeführt wird, wie die Pakete die Warteschlange
verlassen. Der Punkt, an dem die Pakete innerhalb der Policer/Former
klassifiziert werden ist jedoch ausführungsabhängig und nicht auf das hierin
gegebene Beispiel beschränkt.
Wie hierin weiter oben beschrieben wurde, können die Paketkennungen bei
Ankunft statt bei Abgang klassifiziert werden.
-
Wenn
die Warteschlange, die in dem Paketkennungswarteschlangenblock 702 identifiziert
wird, nicht leer ist, sendet der Policer/Former-Einrichtungsverwaltungsblock 705 auch
eine neue Dienstzeit an den Policer/Former-Abgangverarbeitungsblock 704 über Leitung 728.
Diese Dienstzeit wird an den Zeitgeber 703 über Leitung 716 weitergeleitet und
der Zeitgeber setzt sich selbst, um nach dieser Zeit aufzuwachen.
Wenn die Warteschlange leer ist, wird keinerlei Aktion ausgeführt.
-
Weitere
mögliche
Abänderungen
an den in 1 gezeigten Policern/Formern 104 werden
unter Bezugnahme auf 6 veranschaulicht. Wie in 6 gezeigt
ist, können
die Policer/Former auf verschiedene Arten kaskadiert werden.
-
Bezugnehmend
auf 6(a) ist eine vorteilhafte Anordnung
veranschaulicht, bei welcher die Ausgabe eines Policers/Formers 210 eine
Eingabe an zwei parallelen Policer/Former 212 und 214 bereitstellt.
Der Policer/Former 210 empfängt Paketkennungen auf Leitung 222 von
dem Stromkennzeichner 102. Gemäß dem Standardbetrieb der Policer/Former,
wählt der
Policer/Former 210 wahlweise die Verwerfung von Paketkennungen
aus und verschiebt die Paketkennungen in der Zeit, um einen veränderten
Fluss von Paketkennungen an seinem Ausgang bereitzustellen. In einem
ersten Ausführungsbeispiel
wird der auf diese Art und Weise veränderte Fluss von Paketkennungen
auf Leitungen 234 und 236 zu jedem der parallelen
Policer/Former 212 und 214 gesendet. Die entsprechenden
Policer 212 und 214 verwerfen dann wahlweise Paketkennungen und
verschieben Paketkennungen in der Zeit, um zwei weitere modifizierte
Paketkennungsflüsse
an ihren Ausgängen 224 und 226 zu
erzeugen. In einem zweiten Ausführungsbeispiel
wird die Ausgabe des Policers/Formers 210 wahlweise entweder
dem einem oder dem anderen der Policer/Former 212 und 214 bereitgestellt.
Der geeigneten der Policer/Former 212 und 214 verwirft
dann wahlweise die Paketkennungen und verschiebt die Paketkennungen
in der Zeit an seinem entsprechenden Ausgang.
-
Bezugnehmend
auf 6(b) ist eine weitere Anordnung
veranschaulicht, bei welcher zwei parallele Policer/Former 216 und 218 Eingaben
empfangen, die Paketkennungen in Flüssen auf Leitungen 228, 230 enthalten.
Die Ausgabe der beiden Policer/Former 216 und 218 an
ihren entsprechenden Ausgängen 238 und 240 bilden
eine Eingabe für
einen weiteren Policer/Former 220. Der Policer/Former 220 gibt
Paketkennungen auf Leitung 232 aus.
-
Es
ist für
den Fachmann ersichtlich, wie die Policer/Former in verschiedenen
Kombinationen in ihren in 6 gezeigten
Anordnungen kaskadieren können.
Zum Beispiel können
die Anordnungen von 6(a) und 6(b) kaskadiert sein.
-
Zusätzlich kann
irgendeiner der Policer/Former auch Eingaben von anderen Quellen
empfangen. Zum Beispiel kann der Policer/Former 212 von 6(a) eine zusätzliche Eingabe empfangen,
die nicht von einem anderen Policer/Former abgeleitet wurde. Der
Fachmann wird begrüßen, wie
verschiedene kaskadierende Anordnungen ausgeführt werden können. Die
einzige Randbedingung ist die, dass die kaskadierten Policer/Former
in einem azyklischen Graph verbunden sein müssen.
-
Bei
Abgang sendet der Policer/Former beide Paketkennungen und zugehörige Warteschlangenkennung
und Klassifikation an den Schätz-/Dringlichkeits-Multiplexer 106 über eine
entsprechende Ausgangsleitung 122. Der Schätz-/Dringlichkeits-Multiplexer
benötigt
die Paketkennung zusätzlich
zu der Warteschlangenkennung in dem Fall, dass er eine Verwerfungsinstruktion
an den Warteschlangenspeicherverwalter 114 ausstellen muß, wie detaillierter hierin
weiter unten beschrieben werden wird.
-
Der
Schätz-/Dringlichkeits-Multiplexer
106 verwaltet
die Konkurrenzsituation zwischen zwei oder mehreren Strömen durch
Bedienen der Pakete (über
deren Paketkennungen) in Abhängigkeit
ihrer Dringlichkeitshöhe
und, wenn notwendig, durch Verwerfen von Paketen in Abhängigkeit
von deren Schätzhöhen. Die
Schätzhöhe bestimmt,
welche Pakete in den Schätz-/Dringlichkeits-Multiplexer
eintreten dürfen.
Die Dringlichkeitshöhe
bestimmt die Reihenfolge, in der die Pakete aus dem Schätz-/Dringlichkeits-Multiplexer
genommen werden. Die Klassifizierung der Pakete unter Verwendung
von Schätz- und
Dringlichkeitshöhen
ist in der internationalen Patentanmeldung Nr.
PCT/GB00/01569 (PWF) Nr.
101926 beschrieben. Auf diese
Art und Weise verwaltet der Schätz-/Dringlichkeits-Multiplexer
106 die Konkurrenzsituation
zwischen den drei Strömen
122a,
122b und
122c an
den Ausgängen
der Policer/Former
104a,
104b und
104c.
-
Wenn
eine Paketkennung mit ihrer zugehörigen Schätz-/Dringlichkeitsklassifikation ankommt, bestimmt
der Schätz-/Dringlichkeits-Multiplexer 106, ob
die Paketkennung gespeichert werden soll oder verworfen werden soll.
Dies ist durch die verfügbare Speicherkapazität in dem
Schätz-/Dringlichkeits-Multiplexer
und durch die Schätzhöhe, die
zu der Kennung gehört,
festgelegt.
-
Bei
einem bekannten Verfahren zur Ausführung des Schätzens wird
der Zugriff auf einen Puffer in dem Schätz-/Dringlichkeits-Multiplexer durch Verknüpfen einer
Schätzhöhe mit einem
bestimmten Bereich des Puffers festgelegt. Das heißt, man
nehmen ein, ein Paket kann mit irgendeinem von N Schätzhöhen klassifiziert
werden. Man nehme weiterhin an, dass es insgesamt Kn-Puffer
gibt. Der Verkehr mit einer Schätzhöhe 1 kann
in jeden der KN-Puffer eintreten, während der
Verkehr mit einer Schätzhöhe i nur in
die ersten KN-i+1-Puffer eintreten kann, wobei K0 = 0 < K1 < ... < KN ist.
Daher haben Pakete mit einer Schätzhöhe 1 eine
höhere
Wahrscheinlichkeit zum Auffinden von verfügbaren Pufferressourcen als
Pakete mit einer Schätzhöhe i, wobei
i > 1 ist.
-
Es
ist ebenfalls ein Schema notwendig, um zu bestimmen, welche Paketkennung
weitergeleitet werden soll, d. h., wie die Dringlichkeitshöhen verwendet
werden sollen, um die Reihenfolge zu bestimmen, in der die Pakete
bedient werden sollen. Ein Ansatz ist, die Kennung an dem Kopf der
Warteschlange mit der höchsten
Dringlichkeitshöhe
weiterzuleiten, obwohl auch andere Ansätze möglich sind.
-
Die
Verlustrate für
Paketkennungen in einem gegebenen Strom wird sowohl durch die Schätzhöhe bestimmt,
die den Paketen zugeordnet ist, als auch durch die maximale Ankunftsrate
für alle
anderen Ströme,
die eine Schätzhöhe für einen
gleichen oder größeren Wert
haben. Die Reihenfolge, in der die Pakete in dem Schätz-/Former-Multiplexer
bedient werden, hängt
von deren Dringlichkeitshöhen
ab und den Ankunftsraten und Mustern für Verkehr mit einer höheren Dringlichkeit.
Dies legt die Verzögerung,
die von einer Paketkennung erfahren wird, in dem Schätz-/Former-Multiplexer
fest.
-
Wenn
der Schätz-/Former-Multiplexer 106 eine
Paketkennung verwirft, instruiert er den Warteschlangenspeicherverwalter über die
Leitung 136, um den Bezugszähler für das entsprechende Paket aus
dem Warteschlangenspeicher 112 zu verringern.
-
Der
Schätz-/Dringlichkeits-Multiplexer
nimmt Statistiken über
die Verkehrsflüsse
auf, einschließlich,
aber nicht begrenzt, auf, der Anzahl von Bytes und/oder der Anzahl
von Paketen, die beide akzeptiert und verworfen werden für jede Dringlichkeitshöhe und jede
Schätzhöhe.
-
In
Reaktion auf eine Anfrage des Ratenbegrenzers auf Leitung 126 leitet
der Schätz-/Dringlichkeits-Multiplexer
eine der gespeicherten Paketkennungen zusammen mit ihrer zugehörigen Warteschlangenkennung
aus einem internen Puffer an den Ratenbegrenzer 108 auf
Leitung 124 weiter. Die Wahl des Kennungspaares, das an
den Ratenbegrenzer weitergeleitet werden soll, in Reaktion auf eine
Anfrage davon, wird durch die Dringlichkeitshöhe der Paketkennung und dem
Auswahlmechanismus des Schätz-/Dringlichkeits-Multiplexers
festgelegt.
-
Eine
beispielhafte Ausführung
für einen Schätz-/Dringlichkeits-Multiplexer 106 ist
in 9 veranschaulicht. Der Schätz-/Dringlichkeits-Multiplexer
weist einen Schätz-/Dringlichkeits-Ankunftsverarbeitungsblock 801 auf,
einen Satz von Dringlichkeitswarteschlangen 814, die Warteschlangen 802 bis 805 umfassen,
einen Schätz-/Dringlichkeits-Abgangverarbeitungsblock 816 und
einen Schätz-/Dringlichkeits-Einrichtungsverwaltungsblock 807.
-
Paketkennungen
kommen über
Leitungen 810 an dem Schätz-/Dringlichkeits-Ankunftsverarbeitungsblock 801 an.
Der Schätz-/Dringlichkeits-Ankunftsverarbeitungsblock
benachrichtigt den Schätz-/Dringlichkeits-Einrichtungsverwaltungsblock 807,
dass eine Paketkennung angekommen ist und leitet seine Schätzhöhe über Leitung 822 weiter. Der
Schätz-/Dringlichkeits-Einrichtungsverwaltungsblock 807 fragt
die Länge
jeder der Dringlichkeits-Warteschlangen 802 bis 805 über die
Leitung 826 ab. Basierend auf der aktuellen gesamten Anzahl
von Paketkennungen, die in der Warteschlange in dem Schätz-/Dringlichkeits-Multiplexer 106 sind, und
der Schätzhöhe der Paketkennung,
bestimmt der Schätz-/Dringlichkeits-Einrichtungsverwaltungsblock,
ob das Paket verworfen wird oder ob nicht.
-
Wenn
die Paketkennung verworfen werden soll, benachrichtigt der Schätz-/Dringlichkeits-Einrichtungsverwaltungsblock 807 den
Schätz-/Dringlichkeits-Ankunftsvorgang 801 entsprechend über Leitung 824.
In diesem Falle sendet der Schätz-/Dringlichkeits-Ankunftsvorgang
eine Instruktion, das Paket zu verwerfen, über die Leitung 812 an den
Warteschlangenspeicher, wobei das zu verwerfende Paket durch seine
Paketkennung und seine Warteschlangenkennung identifiziert wird.
Diese Kennungen werden dann durch den Schätz-/Dringlichkeits-Ankunftsverarbeitungsblock 801 verworfen.
-
Ansonsten
benachrichtigt der Schätz-/Dringlichkeits-Einrichtungsverwaltungsblock 807 den Schätz-/Dringlichkeits-Ankunftsprozeß 801 über Leitung 722,
die Paketkennung an eine der Dringlichkeitswarteschlangen 802 bis 805 weiterzuleiten.
Es existiert eine Dringlichkeitswarteschlange für jede Dringlichkeitshöhe. Diese
beispielhafte Ausführung veranschaulicht
einen Schätz-/Dringlichkeits-Multiplexer,
der für
vier mögliche
Dringlichkeitshöhen
eingerichtet ist. Der Schätz-/Dringlichkeits-Ankunftsvorgang
erhält
die Dringlichkeitshöhe
für die
Paketkennung und leitet die Paketkennung und ihre zugehörige Warteschlangenkennung über eine
der Leitungen 830 an die entsprechende Dringlichkeitswarteschlange
weiter.
-
Anfragen
für Pakete
von dem Ratenbegrenzer werden durch den Schätz-/Dringlichkeits-Abgangverarbeitungsblock 806 über Leitung 818 empfangen.
Wenn eine Paketanfrage ankommt, fragt der Schätz-/Dringlichkeits-Abgangvorgang
das Kopfelement eines der Dringlichkeitswarteschlangen 801 bis 805 über eine
der Leitungen 834 ab. In dem bevorzugten Ausführungsbeispiel
werden die Kennungen an dem Kopf der dringlichsten Warteschlange
abgefragt. Das Paketkennungs- und Warteschlangenkennungspaar an
dem Kopf der Warteschlange, die die Anfrage empfangen hat, werden
an den Schätz-/Dringlichkeits-Abgangverarbeitungsblock 806 über eine
der Leitungen 832 weitergeleitet. Der Schätz-/Dringlichkeits-Abgangverarbeitungsblock 806 leitet
das Kennungspaar sofort an den Ratenbegrenzer über Leitung 124 weiter.
-
Der
Ratenbegrenzer 108 bewegt die Konkurrenzsituation von einem
Punkt stromabwärts
in dem Netzwerk nach innerhalb des Multiplexers 100 durch Begrenzen
der Dienstrate auf einen Punkt, an dem das Netzwerk ausreichend
Ressourcen hat. Der Ratenbegrenzer stellt sicher, dass die maximale
Dienstrate in der Langzeit nicht übertroffen wird, indem er sicherstellt,
dass ausreichende Lücken
zwischen übertragenen
Paketen eingehalten werden.
-
Der
Ratenbegrenzer 108 fragt Paketkennungen von dem Schätz-/Dringlichkeits-Multiplexer
auf einer Abfrageleitung 126 ab und empfängt Paketkennungen
mit deren zugehörigen
Warteschlangenkennungen auf Leitung 124. Nach Empfang des
Kennungspaares auf Leitung 124 stellt der Ratenbegrenzer
die Warteschlangenkennung auf Leitungen 134 dem Warteschlangenspeicherverwalter 114 bereit.
In Reaktion darauf stellt der Warteschlangenspeicherverwalter 114 das
Paket an dem Kopf der identifizierten Warteschlange aus dem Warteschlangenspeicher
dem Ratenbegrenzer auf Leitung 132 bereit. Der Ratenbegrenzer
leitet dann das Paket zur Übertragung
an die Ausgabeschnittstelle auf Leitung 128 weiter. Nach
Weiterleiten eines Paketes an die Ausgabeschnittstelle, setzt der
Ratenbegrenzer einen Zeitgeber, der die Dienstzeit des bestimmten
Pakets bei der eingerichteten Rate darstellt. Am Ende der Zeitgeberperiode,
die dem Dienst für
das bestimmte Paket zugeordnet ist, fragt der Ratenbegrenzer ein weiteres
Paket auf Leitung 126 von dem Schätz-/Dringlichkeits-Multiplexer 106 ab.
-
Wenn
in dem Schätz-/Dringlichkeits-Multiplexer
keine Neuordnung aufgetaucht ist, wird das Paket, das von dem Warteschlangenspeicherverwalter gesendet
wurde, dasselbe Paket sein, das durch die Paketkennung identifiziert
wurde. Ansonsten wird die Paketkennung, die von dem Ratenbegrenzer
empfangen wurde, sich auf ein Paket beziehen, das noch in der Warteschlange
in dem Warteschlangenspeicher wartet.
-
Der
Ratenbegrenzer kann Pakete stochastisch oder deterministisch bedienen.
Der Ratenbegrenzer kann Pakete auf derartige Weise bedienen, dass
diese einen variablen Abstand haben, wie hierin weiter oben unter
Bezugnahme auf die Policer/Former diskutiert wurde.
-
Eine
Einheit kann aus der Kombination eines Schätz-/Dringlichkeits-Multiplexers 106 und
eines Ratenbegrenzers 108, der vorzugsweise einer ist, der
Pakete stochastisch bedient, hergestellt werden. Derartige Einheiten
können
mit mehreren Policern/Formern und anderen derartigen Schätz-/Dringlichkeits-Multiplexern
und Ratenbegrenzereinheiten kaskadiert sein und zusätzliche
Eingaben von anderen Quellen empfangen. Der Fachmann wird begrüßen, wie
die verschiedenen Kaskadierungsanordnung ausgeführt werden können. Die
einzige Randbedingung ist, dass die kaskadierte Kombination dieser
Einheiten in einem azyklischen Graph verbunden sein müssen.
-
Wenn
stochastische Dienstraten verwendet werden, existiert die Möglichkeit,
dass die abgetastete Dienstrate eventuell schneller ist, als die
Rate, bei der Pakete physikalisch durch die Ausgabeschnittstelle übertragen
werden können.
In diesem Fall wird die berechnete Resourcengröße der Pakete kleiner sein,
als die aktuelle Größe des Pakets,
wie es in 5 veranschaulicht ist. Bezugnehmend
auf 5a, ist dort die aktuelle Größe des Pakets
veranschaulicht, in Übereinstimmung
mit der physikalischen Übertragungsrate
des Übertragungsmediums, an
das es weitergeleitet werden wird. 5b veranschaulicht
die Größe des Pakets,
bei welchem die für das
Paket gewählte
Dienstrate größer ist
als die Rate, bei der das Paket an das physikalische Medium übertragen
werden wird. 5c veranschaulicht die Größe des Pakets
in dem Fall, bei welchem die Dienstrate, die für das Paket gewählt ist,
kleiner ist als die Rate, bei der das Paket gerade an die Ausgabeschnittstelle 110 übertragen
werden wird.
-
Wie
aus 5 gesehen werden kann, können zwei Pakete überlappen,
wenn die berechnete Ressourcengröße gerade
kleiner ist als die aktuelle Ressourcengröße des Pakets. In einem praktischen System
können
Pakete während
der Übertragung nicht überlappen.
Stattdessen wird ein Burst von zwei oder mehr Paketen beobachtet.
Daher gibt es, wenn die Paketkennungen stochastisch bedient werden, eine
begrenzte Wahrscheinlichkeit, dass zwei oder mehr Pakete aufeinanderfolgend
gesendet werden.
-
Die
Ausgabeschnittstelle 110 stellt eine Flusssteuerrückkopplung
auf Leitungen 130 an den Ratenbegrenzer 108 bereit.
Wenn die Ausgabeschnittstelle dem Ratenbegrenzer anzeigt, dass die Übertragung
vorübergehend
ausgesetzt werden soll, wird der interne Zeitgebermechanismus des
Ratenbegrenzers beeinFlusst. In diesem Falle kann der Ratenbegrenzer
eine von mehreren Aktionen ausführen.
Zum Beispiel kann der Ratenbegrenzer so eingerichtet sein, dass
er jedes Paket, das für
die Bedienung während
der Aussetzperiode geplant ist, verworfen wird. Ein derartiges Verwerfen
von Paketen durch den Ratenbegrenzer erfordert, dass der Ratenbegrenzer
ein Alarmsignal erzeugt.
-
Der
Ratenbegrenzer 108 kann auch dahingehend optimiert sein,
dass er die Ressource des externen Systems einer niedrigen Last
maximiert. Das heißt,
bei einer niedrigen Last, kann die Dienstrate gewählt werden,
die schneller ist als die eingerichtete Rate. So wie sich die Last
in dem System vergrößert, wird
die Dienstrate solange begrenzt, dass sie nahe oder bei der eingerichteten
Rate ist.
-
Die
Ausgabeschnittstelle 110 stellt die Basisfunktionalität bereit,
die notwendig für
die fortschreitende Übertragung
von Datenpaketen ist. Die Ausgabeschnittstelle 110 stellt
eine Flusssteuerrückkopplung
auf Leitungen 130 an dem Ratenbegrenzer 108 bereit,
wenn ein externer Rückstau
(zum Beispiel aus dem Übertragungsmedium)
auftaucht. Auf diese Weise überträgt die Ausgabeschnittstelle
Pakete auf Leitung 142 und empfängt Flusssteuersignale auf
Leitung 144 von dem Betriebssystem oder Vorrichtungstreiber.
-
Die
Ausgabeschnittstelle ist nicht verantwortlich für eine direkte Verarbeitung
bezüglich
der Qualitätsverwaltung
des Datenstroms. Wenn ein Paket durch die Ausgabeschnittstelle empfangen
wird und das externe System oder die Vorrichtung anzeigt, dass es
verfügbare
Ressourcen für
die Übertragung hat,
dann wird das Paket durch die Ausgabeschnittstelle ohne Verzögerung übertragen.
Wenn der Ratenbegrenzer im deterministischen Modus arbeitet und
die Flusssteuerung nicht überstiegen
wurde, wird niemals mehr als ein Paket in dem Puffer der Ausgabeschnittstelle
gleichzeitig sein.
-
Auf
diese Weise wurde eine Erfindung beschrieben, die vorteilhafterweise
in einem Multiplexer zum Garantieren einer vorgegebenen Dienstqualität verwendet
werden kann. Obwohl die hierin beschriebene Erfindung unter Bezugnahme
auf ein bestimmtes exemplarisches Ausführungsbeispiel beschrieben
wurde, wird der Fachmann begrüßen, dass
die Erfindung in ihrer Anwendung nicht beschränkt ist und auch allgemeiner
angewendet werden kann.