-
Verweis auf verwandte Anmeldungen
-
Diese
Anmeldung steht in Beziehung zu den Patentveröffentli-
WO02/30062 ,
WO02/30065 ,
WO02/30063 die gleichzeitig hierzu
am 3. Oktober 2000 eingereicht wurden.
-
Gebiet der Erfindung
-
Die
vorliegende Erfindung bezieht sich im Allgemeinen auf die Übertragung
von digitalen Datenpaketen in Telekommunikationsanordnungen und im
Besonderen, aber nicht ausschließlich, auf die Handhabung von
Konkurrenzsituationen innerhalb und zwischen Datenströmen von
Datenpaketen in Netzwerken zur Speicherung und Weitersendung.
-
Hintergrund der Erfindung
-
Es
existieren viele Verfahren zur Steuerung des Informationsflusses
von digitalen Datenpaketen. Einige dieser Verfahren umfassen, eine
gewisse Qualität
des Dienstes für
verschiedene Arten des Datenverkehrs zur Verfügung zu stellen. Es gibt eine Anzahl
von allgemeinen Erfordernissen, die damit verbunden sind, die Qualität von Servicegraden
sicherzustellen. Wo eine Qualitätsdifferenzierung
für mehr
als einen Datenstrom zur Verfügung
gestellt wird, ist es notwendig, sicherzustellen, dass verschiedene
Qualitätsanforderungen
für die
verschiedenen Ströme
von Datenpaketen individuell und kollektiv innerhalb der Beschränkung der
begrenzten verfügbaren
Qualität
erfüllt
werden. Um sowohl unterschiedliche Grade von Verlust und Verzögerung als
auch Durchsatz zur Verfügung
zu stellen, müssen die
Menge von Eingangsdaten und deren zeitliches Muster eingeschränkt werden.
Die Menge von abgearbeiteten Eingangsdaten, das heißt der Durchsatz von
Daten, ist als langfristiges Management bekannt. Das zeitliche Muster
von Daten zu steuern, ist als kurzfristiges Management bekannt.
Der Verkehr in bestimmten Datenströmen muss auch vor den Folgewirkungen
von Signalfolgen in anderen Datenströmen geschützt werden. Zum Beispiel müssen einzelne
Ströme
des Datenverkehrs geschützt
werden vor den Auswirkungen von Protokollen wie zum Beispiel TCP,
das dazu entworfen ist, ohne Rücksicht
auf andere Datenströme
so viel Bandbreite wie möglich
zu verwenden, und vor arglistigen Absichten oder Fehlern in den
Endvorrichtungen des Netzwerks. Es ist auch notwendig, das Verschachteln
von einzelnen Datenströmen
innerhalb der Einschränkungen
der verfügbaren
Ressourcen zu verwalten.
-
Das
Management der Qualität
des Dienstes ist besonders schwierig an der Peripherie oder dem Rand
eines Netzwerks, da Vorrichtungen hier nicht unter der Kontrolle
der zentralen Verwaltung des Netzwerks sind. Das Verhalten dieser
Vorrichtungen kann deshalb nicht angenommen oder vorhergesagt werden.
Die ständig
wachsende Vielfalt an Anwendungen, Datenverkehr und deren Konzentration kompliziert
auch das Management der Qualität
des Dienstes. Unterschiedlicher Datenverkehr weist unterschiedliche
Anforderungen der Qualität
des Dienstes auf und die Folgen von Verzögerung und/oder Verlust für unterschiedlichen
Datenverkehr unterscheiden sich entsprechend der auf diese von einer Anwendung
angewandten Interpretation.
-
Die
Möglichkeit,
Netzwerkgeräte
zu replizieren, um Datenverkehr mit unterschiedlichen Qualitätserfordernissen
zu ermöglichen,
physisch getrennt und gesondert verarbeitet zu werden, ist unpraktisch, da
die Implementierung von Netzwerkvorrichtungen teuer ist. Aus diesem
Grund ist es wünschenswert, die
Qualität
des Dienstes für
unterschiedlichen Datenverkehr unter Verwendung einer einzelnen
Netzwerkvorrichtung zu verwalten.
-
Es
gibt gegenwärtig
eine Tendenz in Richtung der Ausformung von Datenverkehrsmustern
als Muster mit konstanten Bitraten mit dem Ziel wachsender Vorhersagbarkeit.
Dies ist eine deterministische Steuerung, die sich darauf konzentriert,
die Verlustmerkmale und die Effizienz eines Netzwerks zu verbessern.
Solche Verfahren weisen jedoch den Nachteil auf, dass eine Qualitätssicherung
in der Gegenwart von "Überbuchung" eine vollständige globale
Kenntnis vom Verhalten der Quellen im Netzwerk, wie zum Beispiel
deren Ein-/Aus-Zeiten, ihrer relativen Phase und deren Auswirkungen
ihrer zurückliegenden
Historie auf den Zustand des Netzwerks erfordert.
-
WU
J-S et al: "GCRA-based
architecture of multi-connection shaper and enforcer in multi-service ATM
networks" Computer
Communications, NL, Elsevier Science Publishers BV, Amsterdam, vol
20, no. 8, 25. August 1997 (1997-08-25), Seiten 681–693, XP004126721
ISSN: 0140-3664 offenbart den Entwurf einer Former und Enforcer
Architektur für
vielfache Verbindungen, die sich mit unterschiedlichen Datenverkehrsparametern
und Zellenprioritäten
beschäftigt,
und offenbart im Besonderen Algorithmen und eine Architektur für einen
auf GCRA basierenden Former und Enforcer für Datenverkehr für vielfache
priorisierte Verbindungen.
-
Neuere
Arbeiten des Anmelders haben gezeigt, wie einzelne Datenströme in ihrer
Verwendung von Ressourcen durch sich selbst und im Wettbewerb um
die Verwendung von Ressourcen mit anderen zu steuern und zu verwalten
sind. Dieser Ansatz erzeugt eine Klasse von nützlichen Mechanismen. Es ist
deshalb ein Ziel der vorliegenden Erfindung, ein verbessertes Verfahren
zur Steuerung des Informationsflusses in einer Datenübertragungsanordnung
zur Verfügung
zu stellen, das es ermöglicht, dass
die Steuerung der Qualität
von Diensterfordernissen für
unterschiedliche Arten des Datenverkehrs verbessert wird.
-
Zusammenfassung der Erfindung
-
Entsprechend
der vorliegenden Erfindung wird ein Verfahren zur Steuerung eines
Informationsdatenstroms in einer Datenübertragungsanordnung zur Verfügung gestellt,
das Nachfolgendes umfasst: das Empfangen einer Vielzahl von Datenpaketen;
dadurch gekennzeichnet dass das Verfahren weiterhin selektives Verwerfen
und selektives zeitliches Verschieben der Vielzahl von Datenpaketen
in eine vorgegebene Weise umfasst, um dadurch einen modifizierten
Ausgabedatenstrom zu erzeugen; selektives Verwerfen und selektives
zeitliches Verschieben der Datenpakete des modifizierten Ausgabedatenstroms in
mindestens einem einer Vielzahl von weiteren parallelen Schritten,
um dadurch mindestens einen weiteren modifizierten Ausgabedatenstrom
zu erzeugen.
-
Auf
diese Weise wird eine Verallgemeinerung zur Verfügung gestellt, bei der Datenströme von zusammengesetzter
Form in einer willkürlichen
Weise miteinander kombiniert werden können. Solche zusammengesetzten
Mechanismen erlauben das Management von Eigenschaften von vereinigten
Datenströmen,
um zum Beispiel eine Anzahl von Datenströmen auf eine jeweils individuelle
Belastungsgrenze einzugrenzen und ihre gemeinsame Belastung auf eine
andere solche Grenze, die niedriger sein kann, als die Summe der
individuellen Grenzen. Die Erfindung deckt alle möglichen
azyklischen Kombinationen von einzelnen Qualitätsmanagementvorrichtungen und
kollektiven Qualitätsmanagementvorrichtungen
ab.
-
Der
modifizierte Ausgabedatenstrom kann in allen der Vielzahl von weiteren
parallelen Schritten weiter modifiziert werden.
-
Der
modifizierte Ausgabedatenstrom kann in einem ausgewählten der
Vielzahl von weiteren parallelen Schritten weiter modifiziert werden.
-
Der
gefilterte Ausgabedatenstrom kann in ausgewählten der Vielzahl von weiteren
parallelen Schritten weiter modifiziert werden.
-
Der
Schritt des selektiven Verwerfens und des selektiven zeitlichen
Verschiebens der Datenpakete kann weiterhin umfassen, einen modifizierten Ausgabedatenstrom
zu erzeugen, in dem die Datenpakete variabel verteilt sind.
-
Die
vorliegende Erfindung stellt weiterhin eine Steuereinheit zur Steuerung
eines Informationsdatenstroms in einer Datenübertragungsanordnung zur Verfügung, wobei
die Steuereinheit gekennzeichnet ist durch: erste Steuerungsmittel
für das
selektive Verwerfen und das selektive zeitliche Verschieben einer
Vielzahl von Datenpaketen auf eine vorgegebene Weise, um dadurch
einen modifizierten Informationsdatenstrom zu erzeugen; und eine
Vielzahl von parallelen zweiten Steuerungsmitteln für das selektive Verwerfen
und das selektive zeitliche Verschieben des modifizierten Informationsdatenstroms
auf eine vorgegebene Weise, um dadurch einen weiteren modifizierten
Informationsdatenstrom zur Verfügung
zu stellen.
-
Mindestens
ein Steuerungsmittel kann Modifizierungsmittel zur Erzeugung des
modifizierten Informationsdatenstroms umfassen, in dem die Datenpakete
variabel verteilt sind. Das modifizierte Mittel kann einen Modulator
umfassen. Mindestens ein Steuerungsmittel kann Policer/Former umfassen.
-
Kurze Beschreibung der Figuren
-
Die
Erfindung wird am besten auf dem Weg des Beispiels mit Bezug auf
die begleitenden Figuren verstanden, in denen:
-
1 ein
Blockdiagramm der Architektur eines Multiplexers entsprechend einer
beispielhaften Ausführungsform
der Erfindung veranschaulicht;
-
2 das
Prinzip des Einreihens in eine Warteschlange entsprechend einer
beispielhaften Ausführungsform
der Erfindung veranschaulicht;
-
3 das
Prinzip veranschaulicht, Prioritätsebenen
entsprechend einer beispielhaften Ausführungsform der Erfindung zu
vergeben;
-
4 das
Prinzip veranschaulicht, Datenpakete entsprechend einer beispielhaften
Ausführungsform
der Erfindung stochastisch abzuarbeiten;
-
5 das
Prinzip der konzeptionellen Datenpaketlänge entsprechend einer beispielhaften Ausführungsform
der Erfindung veranschaulicht.
-
6(a), und 6(b) das
Prinzip veranschaulichen, Former/Policer entsprechend einer beispielhaften
Ausführungsform
der Erfindung zu kaskadieren;
-
7 in
einer beispielhaften Ausführungsform
der vorliegenden Erfindung das Prinzip veranschaulicht, eine transportierte
Last in Abhängigkeit von
einer angebotenen Last zu definieren;
-
8 eine
beispielhafte Ausführungsform eines
Policer/Former zur Ausführung
der vorliegenden Erfindung veranschaulicht;
-
9 eine
beispielhafte Ausführungsform eines
Multiplexers für
Wertigkeit und Dringlichkeit zur Ausführung der vorliegenden Erfindung
veranschaulicht;
-
10 das
Lastprofil für
eine beispielhafte Implementierung der Policer/Former veranschaulicht.
-
Beschreibung der bevorzugten Ausführungsform
-
Sich
auf 1 beziehend, wird ein Diagramm gezeigt, das die
Architektur eines einfachen Multiplexers veranschaulicht, wobei
unter Bezugnahme auf diesen der Betrieb der vorliegenden Erfindung hierin
beschrieben wird. Es sollte beachtet werden, dass die Anwendung
der vorliegenden Erfindung nicht auf die spezifische Architektur
beschränkt
ist, die in 1 gezeigt wird, und durch Lesen
der nachfolgenden Beschreibung wird ein Fachmann die allgemeine
Anwendbarkeit der vorliegenden Erfindung erkennen. Der beispielhafte
Multiplexer 100 gemäß 1 multiplext
Datenströme
aus Daten in einem auf Datenpaketen basierten Netzwerk, wie hierin
im weiteren Detail untenstehend beschrieben wird.
-
Der
beispielhafte, im Allgemeinen durch das Bezugszeichen 100 gekennzeichnete
Multiplexer umfasst eine Eingangsschnittstelle 100, einen
Datenstromkennzeichner 102, eine Vielzahl von Policer/Formern 104,
einen Multiplexer für
Wertigkeit und Dringlichkeit 106, einen Geschwindigkeitsbegrenzer 108,
eine Ausgabeschnittstelle 110, einen Warteschlangendatenspeicher 112 und
einen Warteschlangenspeichermanager 114.
-
Der
Multiplexer 100 empfängt
einen Informationsdatenstrom als einen Input auf den Leitungen 116.
Der Informationsdatenstrom umfasst Datenpakete, die mit verschiedenen
unterschiedlichen Arten des Datenverkehrs verknüpft sein können. Die Datenpakete können parallel
oder in Serie empfangen werden. Der Input auf Leitung 116 kann
parallele Informationsströme
empfangen. Der Eingangsdatenstrom 116 kann mit verschiedenen
unterschiedlichen Arten des Datenverkehrs verknüpfte Datenpakete enthalten.
Für die
Zwecke des beschriebenen Beispiels wird angenommen, dass der Datenstrom
einen Voice over IP Datenstrom, einen Blockdatenübertragungsstrom und einem
Telnet Datenverkehrsstrom umfasst.
-
Die
Eingangsschnittstelle 100 stellt die Grundfunktionalität zur Verfügung, die
notwendig ist, um gesendete Datenpakete von einer externen Anordnung
oder Vorrichtung über
ein Übertragungsmedium
zu erhalten. Die Eingangsschnittstelle 100 erhält Datenpakete
vom Eingangsdatenstrom 116 und leitet die entgegengenommenen
Datenpakete vorzugsweise parallel über die Leitungen 118 sowohl
zu dem Datenstromkennzeichner 102 als auch zu dem Warteschlangenspeichermanager 114 weiter.
Die Eingangsschnittstelle muss Funktionalität aufweisen, die für die bestimmte
externe Anordnung oder Vorrichtung, von der Datenpakete in dem Eingangsdatenstrom 116 herrühren, geeignet
ist. Die Eingangsschnittstelle ist nicht direkt für jede mit
dem Qualitätsmanagement
des Datenstroms entsprechend der vorliegenden Erfindung verbundene
Verarbeitung verantwortlich. Die Eingangsschnittstelle kann eine Grundfunktionalität aufweisen,
um eine Anfangsprüfung
auf im Eingangsdatenstrom empfangene Datenpakete auszuführen. Wenn
zum Beispiel ein korrumpiertes Datenpaket empfangen wird, kann die
Eingangsschnittstelle das Datenpaket verwerfen.
-
Die
Ausführungsform
der Eingangsschnittstelle ist von der Implementierung abhängig. Die Grundfunktionalität der Eingangsschnittstelle,
die erforderlich ist, um alle gewünschten Merkmale auszuüben, wird
jemandem, der in der Technik ausgebildet ist, offensichtlich sein.
-
Der
Warteschlangenspeichermanager 114 ist dafür verantwortlich,
einen Satz von Warteschlangen und einen Datenpaketspeicherbereich
zu verwalten. Der Warteschlangenspeichermanager 114 erhält Datenpakete
von der Eingangsschnittstelle 100. Beim Eintreffen eines
Datenpakets vergibt der Warteschlangenspeichermanager einen eindeutigen Kennzeichner
an das Datenpaket und sendet den Kennzeichner für das Datenpaket über die
Leitung 140 an den Datenstromkennzeichner 102.
Der Warteschlangenspeichermanager speichert das Datenpaket außerdem in
einem temporären
Datenpaketpuffer. Der Warteschlangenspeichermanager weist dem Datenpaket
auch einen Referenzzähler
zu und initialisiert den Referenzzähler für dieses Datenpaket auf Null.
Wie hierin untenstehend weiterhin beschrieben wird, wird der Referenzzähler vom
Warteschlangenspeichermanager verwendet, um zu bestimmen, ob das
dem Referenzzähler
zugeordnete Datenpaket immer noch durch den Multiplexer 100 verarbeitet wird,
oder ob es entfernt werden sollte aus dem (oder gar nicht erst eingetragen
werden sollte in den) Warteschlangendatenspeicher 112.
-
Der
Datenpaketkennzeichner ist ein Kennzeichner, der ein Datenpaket
eineindeutig identifiziert. Der Datenpaketkennzeichner identifiziert
das Datenpaket eindeutig für
den Zweck, den Datenpaketkennzeichner im Warteschlangendatenspeicher 112 abzulegen,
wie hierin weiter unten beschrieben wird, und um jede Datenpaketform
von anderen Datenpaketen im Datenspeicher zu unterscheiden. In einer
einfachen Implementierung ist der Datenpaketkennzeichner eine Nummer,
wobei jedes Datenpaket, dem ein Datenpaketkennzeichner zugeordnet wird,
die nächste
Nummer in der Folge ist. Alternativ kann der Datenpaketkennzeichner
aus eindeutiger Information aus dem Datenpaketanfangsblock zusammengesetzt
werden. In Anordnungen, in denen die Datenpaketgröße variabel
ist, kann die Länge
des Datenpakets in den Datenpaketkennzeichner einbezogen werden.
-
Der
Datenstromkennzeichner 102 erhält die Datenpakete von der
Eingangsschnittstelle auf den Leitungen 118 ebenfalls und
erhält
den Datenpaketkennzeichner für
jedes Datenpaket über
die Leitung 140 vom Warteschlangenspeichermanager 114.
Der Datenstromkennzeichner 102 ist dafür verantwortlich festzulegen,
zu welchem Datenstrom jedes Datenpaket gehört. Daher bestimmt der Datenstromkennzeichner
zum Beispiel, ob ein bestimmtes Datenpaket mit einem Voice over
IP Datenstrom, einem Blockdatenübertragungsstrom
oder einem Telnet Datenverkehrsstrom verknüpft ist. Entsprechend dem Datenstrom,
zu dem der bestimmte empfangene Datenpaketkennzeichner gehört, leitet
der Datenstromkennzeichner den Datenpaketkennzeichner für dieses
Datenpaket zur weiteren Verarbeitung an einen der Policer/Former 104 weiter.
-
Wie
aus der folgenden Beschreibung offensichtlich wird, basiert der
Rest der Verarbeitung auf dem Datenpaketkennzeichner und nicht auf
dem Datenpaket. Der Datenpaketkennzeichner stellt vorteilhaft eine
effiziente Darstellung des Datenpakets zur Verfügung. Wie nachstehend beschrieben
werden wird, stellen der Warteschlangendatenspeicher und die Datenpaketkennzeichner
sicher, dass die Originalposition jedes einzelnen Datenpakets in
der Reihenfolge im Multiplexbetrieb nicht verloren geht.
-
Policer/Former 104 sind
eine Betriebsvariante einer FIFO Warteschlange, in der eine untergeordnete
Verarbeitung mit der Einfügung
und dem Entfernen von Elementen in und aus der Warteschlange verbunden
ist. Solche FIFO Warteschlangen sind gut bekannt, und ihre Implementierung
ist vollständig
innerhalb des Wissensbereichs einer in der Technik ausgebildeten
Person. Die Konfiguration der Policer/Former ist von der Implementierung
abhängig.
-
In
dem in 1 gezeigten einfachen Beispiel wird angenommen,
dass jedem der verschiedenen Arten von Datenverkehrsströmen, die
empfangen werden, ein Policer/Former zugeordnet ist. Auf diese Weise
ist zum Beispiel der Policer/Former 104a Voice over IP
Datenverkehr zugeordnet, der Policer/Former 104b ist Blockdatenübertragungsverkehr zugeordnet,
und der Policer/Former 104c ist Telnet Datenverkehr zugeordnet.
Der Policer/Former 104d ist in 1 dargestellt
durch Veranschaulichung eines Mittels zur Verwaltung von Datenpaketen,
die anderen Datenströmen
zugeordnet sind als jenen, die von den Policer/Formern 104a und 104c verarbeitet werden.
Auf diese Weise leitet der Datenstromkennzeichner 102 mit
Voice over IP Datenpaketen auf Leitung 120 verbundene Datenpaketkennzeichner
weiter an den Policer/Former 104a, leitet mit Blockdatenübertragungsdatenpaketen
verbundene Datenpaketkennzeichner auf Leitung 120b weiter
an den Policer/Former 104b, und leitet mit Telnet Verkehrsdatenpaketen
verbundene Datenpaketkennzeichner auf Leitung 120c weiter
an den Policer/Former 104c.
-
Im
Falle von Multicasting oder anderen Diensten, die Replikation (zum
Beispiel Überwachung)
erfordern, kann der Datenstromkennzeichner 102 Datenpaketkennzeichner
an mehr als einen Policer/Former 104 weiterleiten.
-
Es
sollte beachtet werden, dass der Datenstromkennzeichner 102 keine
Datenpakete für
das weitere Verarbeiten innerhalb des Multiplexers 100 weiterleitet.
Vielmehr leitet der Datenstromkennzeichner die an Datenpakete vergebenen
Datenpaketkennzeichner für
das weitere Verarbeiten im Multiplexer 100 weiter.
-
Die
Policer/Former 104 sind für die Zuordnung von Qualitätsklassifizierungen
an die Datenpakete innerhalb eines Stroms verantwortlich und verantwortlich
für die
Qualitätssteuerung
des Datenstroms, sowohl kurzfristig als auch langfristig, durch selektives
Verwerfen von Datenpaketkennzeichnern im Datenstrom und selektives
zeitliches Verschieben von Datenpaketen im Datenstrom.
-
Eine
Funktion von Policer/Formern ist es, Datenpakete unter Verwendung
der entsprechenden Datenpaketkennzeichner mit einer variablen Dienstgeschwindigkeit
zu bedienen. Als Ergebnis sind die Datenpaketkennzeichner, die die
Policer/Former verlassen, variabel verteilt, vorzugsweise mit einem
zufälligen
oder pseudozufälligen
Abstand. Die Datenpakete zufällig
zu vertei len stellt sicher, dass der am wenigsten dringende Datenverkehr
irgendwann einmal durch den Multiplexer für Wertigkeit und Dringlichkeit 106 verarbeitet
wird. Der variable Abstand der Datenpakete am Ausgang der Policer/Former 104 reduziert
die Kohärenz
zwischen Datenströmen
aus unabhängigen
Quellen. Das Erzeugen unabhängiger zeitlicher
Muster zwischen den Datenströmen
steigert die Gerechtigkeit der Entscheidungsprozesse des Multiplexers
für Wertigkeit
und Dringlichkeit. Die in den Policer/Formern an die Datenpaketkennzeichner
vergebenen Klassifizierungen für
Wertigkeit/Dringlichkeit stellen allein keine bedingungslose Gerechtigkeit
sicher.
-
Zum
Beispiel hängt
die von einem Datenpaket mit einer niedrigen zugehörigen Dringlichkeitsgrad
erfahrene Verzögerung
vom zeitlichen Muster der dringenderen Verkehrsströme ab. Wenn
zwei Datenströme
mit unterschiedlichen Graden der Wertigkeit/Dringlichkeit zeitweise
kohärent
sind, können
die Datenpakete mit höherer
Wertigkeit das Rennen um den Eintritt in den Multiplexer für Wertigkeit
und Dringlichkeit 106 immer gewinnen, und/oder die Datenpakete
mit höherer
Dringlichkeit können
immer zuerst gesendet werden. Dies wird statistisch weniger wahrscheinlich,
wenn die Datenströme
variabel verteilte Datenpakete aufweisen.
-
Sich
auf 4 beziehend, sind dort zwei der Policer/Former 104a und 104b gemäß 1 veranschaulicht,
mit Beispielen für
Datenpaketströme
an ihren Eingängen
und Ausgängen.
Der Policer/Former 104a empfängt Datenpakete 200 mit
einem konstanten Abstand t auf seiner Eingangsleitung 120a.
Der Policer/Former 104b empfängt Datenpaketkennzeichner 202 mit
einem konstanten Abstand t auf seiner Eingangsleitung 120b.
Der Policer/Former 104a verarbeitet die Datenpaketkennzeichner
in seiner Warteschlange, so dass die Datenpakete 200a, 200b und 200c auf
seiner Ausgangsleitung 122a mit einem variablen Abstand
zwischen diesen erzeugt werden. Ebenso führt das Verar beiten von Datenpaketkennzeichnern
durch den Policer/Former 104b zu Datenpaketkennzeichnern 202a, 202b und 202c auf
seiner Ausgangsleitung 122b, die einen variablen Abstand aufweisen.
-
Eine
zweite Funktion der Policer/Former besteht darin, das Volumen des
Datenverkehrs in einem Datenstrom einzugrenzen, erreicht durch das
selektive Verwerfen von Datenpaketen. Die Eigenschaft der Policerrichtlinie
ist in Bezug auf ein Lastprofil spezifiziert, das eine Funktion
(mindestens) der angebotenen Last (das heißt der Geschwindigkeit der
Ankunft von Datenpaketen in einem Datenstrom) ist. Deshalb, und
vorteilhaft, können
verschiedene Merkmale für
unterschiedliche Lastgrade definiert werden. Das heißt, die
Qualität
kann herabgestuft oder hochgestuft werden, wenn die Ankunftsrate
ansteigt. Die Transportmerkmale können deshalb konfiguriert werden,
um besser zu den Erfordernissen der Anwendung zu passen, und um
die Wirkungen anormaler angebotener Last zu vermeiden, zum Beispiel
Denial of Service Angriffe. Sich auf 7 beziehend,
ist das Prinzip, Transportmerkmale in Bezug auf die angebotene Last
zu definieren, veranschaulicht.
-
In 7 veranschaulicht
die X-Achse die angebotene Last, und die Y-Achse veranschaulicht
die Last, die tatsächlich
transportiert wird. Wie aus 7 ersehen
werden kann, gibt es zwei Schwellenstufen: eine untere Schwellenstufe 250;
und eine obere Schwellenstufe 252. Wenn die angebotene
Last die Schwellenstufe 252 nicht übersteigt, dann kann die angebotene
Last innerhalb konfigurierter Garantien transportiert werden. Wenn
die angebotene Last die Schwellenstufe 252 übersteigt,
dann kann der angebotenen Last nicht garantiert werden, gesendet
zu werden. Die untere Schwellenstufe 250 stellt die minimal
transportierte Last dar, ohne Rücksicht
darauf, wie hoch die angebotene Last wird.
-
Daher
wird, noch einmal auf 7 verweisend, sobald die angebotene
Last die obere Schwellenstufe 252 und den Punkt 254 erreicht,
die transportierte Last so eingestellt, dass sie reduziert wird. Wenn
die angebotene Last zunimmt, fährt
die transportierte Last fort, auf den Punkt reduziert zu werden, wo
sie sich stabilisiert und sich der unteren Schwellenstufe 250 annähert.
-
Auf
diese Weise wird die Geschwindigkeit des Verwerfens von Datenpaketen
von der angebotenen Last festgelegt. Die obere Schwellenstufe definiert
einen Grad, bei dem ein selektives Verwerfen von Datenpaketen ausgelöst wird.
Datenpakete werden vorzugsweise auf Grundlage einer unmittelbaren Näherung der
angebotenen Last verworfen. Datenpakete können probabilistisch auf Grundlage
einer unmittelbaren Näherung
der angebotenen Last verworfen werden. Wenn die angebotene Last
zu einer transportierten Last führt,
die die obere Schwellenstufe übersteigt,
wird die transportierte Last durch selektives Verwerfen von Datenpaketen
unterhalb die obere Schwellenstufe reduziert. Wenn sie reduziert wird,
wird die transportierte Last vorzugsweise auf einen Grad über der
unteren Schwellenstufe reduziert. Die Reduktion der transportierten
Last ist umso größer, je
größer die
angebotene Last ist. Die transportierte Last wird in Reaktion auf
eine Zunahme der angebotenen Last weiter reduziert.
-
Ein
Policer/Former erreicht ein gewünschtes Lastprofil
durch selektives Verwerfen von Datenpaketen. Datenpakete werden
vorzugsweise auf Grundlage von einer unmittelbaren Näherung der
angebotenen Last verworfen. Sich auf 10 beziehend,
ist dort ein Lastprofil für
eine beispielhafte Implementierung von einem Policer/Former veranschaulicht. 10 veranschaulicht
ein Lastprofil für
einen beispielhafte Policer/Former, der implementiert ist als eine
Warteschlange mit 10 Puffern und stochastischen Dienstdauern, erstellt
aus einer exponen tiellen Verteilung mit Geschwindigkeitsparametern
:1 = :2 = ... =
:g = 1,3234, :10 =
0,5. Der Graph zeigt ein Lastprofil für einen Policer/Former, der
als Warteschlange mit 10 Puffern ausgeführt ist, die aus einer exponentiellen
Verteilung erstellte Dienstdauern aufweisen, deren Geschwindigkeitsparameter
von der Anzahl von Datenpaketen abhängig ist, die in der Warteschlange
stehen. Eine Beschreibung solch einer Implementierung wird in einem
nachstehenden Beispiel zur Verfügung
gestellt. Die Dienstgeschwindigkeitsparameter sind: :1 =
:2 = ... = :g =
1,3234, :10 = 0,5, wobei die numerischen
Werte für
die Dienstgeschwindigkeiten und die angebotene und transportierte
Last so skaliert sind, dass die obere Schwellenstufe den Wert 1
annimmt. Das in 10 veranschaulichte Lastprofil
beschreibt die durchschnittlich transportierte Last, wenn der ankommende
Datenverkehr ein Poisson Muster aufweist. Die Anwendung von Standardergebnissen
der Warteschlangentheorie erlaubt die Bestimmung der erwarteten
Verlustrate.
-
Eine
dritte Funktion der Policer/Former
104 ist, Wertigkeits-
und Dringlichkeitsklassifizierungen an die Datenpaketkennzeichner
zu vergeben, die in ihren Warteschlangen beinhaltet sind. Durch
Vergeben von solchen Klassifizierungen an die Datenpaketkennzeichner
wird an die Datenpakete selbst inhärent dieselbe Klassifizierung
vergeben. Das Prinzip von Wertigkeits- und Dringlichkeitsgraden
wird in der internationalen Patentveröffentlichung Nr.
WO00/65783 erörtert. Ein Wertigkeitsgrad
kennzeichnet eine Klasse oder einen Grad des Verlusts für ein Datenpaket.
Die Klasse des Verlusts zeigt die Tendenz des Datenpakets an, verworfen
zu werden. Ein Dringlichkeitsgrad kennzeichnet den Grad der Dringlichkeit,
mit dem ein Datenpaket verarbeitet werden sollte. Die Dringlichkeits- und die Wertigkeitsgrade
können
in Kombination als einen Prioritätsgrad für ein Datenpaket
bildend betrachtet werden. Daher weist ein Prioritätsgrad in
diesem Zusammenhang zwei Komponenten auf.
-
Wie
vorstehend erörtert,
werden in diesem beispielhaften Policer/Former Übertragungseigenschaften für einen
Datenstrom, umfassend die Zuordnung von Wertigkeits- und Dringlichkeitsgraden, auf
Grundlage der angebotenen Last festgelegt. Die Wertigkeits- und
Dringlichkeitsklassifizierungen werden Datenpaketkennzeichnern vorteilhaft
simultan basierend auf einer Funktion des gegenwärtigen Zustands der Warteschlange
zugeteilt, wenn die Klassifizierung berechnet wird. Die Wahrscheinlichkeit,
in einem bestimmten Zustand zu sein, ist eine Funktion der angebotenen
Last. Diese Klassifizierungsfunktion ist konfigurierbar und kann
ohne Einschränkung gewählt werden.
Zum Beispiel kann ein vorgegebener Policer/Former konfiguriert werden,
um eine von zwei Klassifizierungen basierend auf einer probabilistischen
Wahlmöglichkeit
an Datenpakete zuzuteilen. Die verwendete Klassifizierungswahrscheinlichkeit kann
mit der Länge
der Warteschlange in Beziehung stehen. Das heißt, solch eine Konfiguration
kann dazu entworfen werden, höhere
Klassifizierungen an Datenpakete mit einer höheren Wahrscheinlichkeit zu
vergeben, wenn die angebotene Last niedrig ist.
-
Die
Klassifizierung eines Datenpakets legt den maximalen Verlust und
die maximale Verzögerung
fest, die es am wahrscheinlichsten erfahren wird, wenn es mit anderen
Datenströmen
am Ausgang der Policer/Former gemultiplext wird, wie hierin weiter
unten beschrieben werden wird. Dies ist ein separates Konzept zu
dem des Verlusts und der Verzögerung,
die das Datenpaket in dem Policer/Former selbst erfahren kann. Der
von einem Datenpaket in dem Policer/Former erfahrene Verlust hängt von
der jüngsten
Ankunftsgeschwindigkeit des Datenstroms und der Länge der
Warteschlange ab. Die Verzögerung
wird durch die konfigurierten Dienstgeschwindigkeiten und die Länge der
Warteschlange festgelegt.
-
Jeder
der Policer/Former 104 wird vorzugsweise unter Verwendung
einer Warteschlange mit einer variablen Dienstgeschwindigkeit ausgeführt. Wenn
ein Policer/Former 104 einen Datenpaketkennzeichner empfängt, bestimmt
er, ob der Datenpaketkennzeichner in seiner internen Warteschlange
gespeichert oder verworfen werden soll. Die Steuerung der Zulassung
eines Datenpaketkennzeichners in eine Warteschlange eines Policer/Former
wird hierin weiter unten erörtert.
-
Im
Folgenden wird der Betrieb, durch den Datenpakete zugelassen werden
zu oder verworfen werden von einem Policer/Former 104,
zuerst erörtert.
Für die
Zwecke dieser Beschreibung wird ein Beispiel eines Policer/Formers
herangezogen, der Gebrauch macht von einer Warteschlangenanordnung,
die eine Warteschlangenlänge
von vier aufweist, wie in 2 veranschaulicht.
Jeder Zustand in 2 ist mit der Länge der
Warteschlange in diesem Zustand bezeichnet. Die Dienstdauern in
jedem Zustand werden durch Abtasten einer exponentiellen Verteilung
mit dem Ratenparameter μ erzielt.
Die Dienstdauern legen die konzeptionelle Geschwindigkeit des Dienstes
für das
Datenpaket fest. Zwei verschiedene Dienstgeschwindigkeiten werden
in dem in 2 gezeigten Beispiel verwendet.
Wenn sich die Warteschlange in Zustand 1 befindet (das heißt, die
Warteschlange nur ein Datenpaket aufweist), dann legt μ1 die
Geschwindigkeit des Dienstes für das
Datenpaket an der Spitze der Warteschlange fest. Wenn die Warteschlange
länger
ist, sich zum Beispiel in Zustand 3 befindet, würde die Dienstgeschwindigkeit μ2 verwendet.
Diese beispielhafte Ausführungsform
des Policer/Formers weist auch willkürliche Wahrscheinlichkeiten
für das
Verwerfen auf, die jedem Zustand zugeordnet sind. Das heißt, bei
der Ankunft gibt es eine Wahrscheinlichkeit, dass der Datenpaketkennzeichner
willkürlich
verworfen wird. In diesem Beispiel hängt die Wahrscheinlichkeit
dieses Ereignisses vom Zustand der Warteschlange ab, wenn der Datenpaketkennzeichner
ankommt. Der Betrieb eines Policer/Formers wird jetzt in Bezug auf den
Zustand der Warteschlange bei der Ankunft des Datenpaketkennzeichners
beschrieben.
-
In
einem ersten Fall wird angenommen, dass die Warteschlange voll ist
zum Zeitpunkt, zu dem der Datenpaketkennzeichner ankommt. In solch
einem Fall ist die Wahrscheinlichkeit, dass der Datenpaketkennzeichner
in die Warteschlange aufgenommen wird, null. Dies bedeutet nicht
unbedingt, dass das Datenpaket automatisch verworfen wird, da das
Datenpaket an mehr als einen der verfügbaren Policer/Former gesandt
worden sein kann. In solch einem Fall leitet der Policer/Former 104 einen
Befehl auf seiner entsprechenden Leitung 138 weiter, um die
Referenzzählung
für das
mit einem bestimmten Kennzeichner verbundene Datenpaket zu vermindern.
Der Warteschlangenspeichermanager verwirft dann das Datenpaket,
auf das durch den Datenpaketkennzeichner verwiesen wird, wenn seine
Referenzzählung
0 oder weniger beträgt.
-
In
einem zweiten Fall ist die Warteschlange zum Zeitpunkt der Ankunft
eines Datenpaketkennzeichners an dem Policer/Former 104 fast
voll. Nehmen wir zum Beispiel an, dass sich die Warteschlange in
Zustand 3 befindet. In Zustand 3 gibt es eine Wahrscheinlichkeit
von 30%, dass der Datenpaketkennzeichner nicht in die Warteschlange
eingetragen wird. Wenn der Datenpaketkennzeichner zugelassen wird,
dann wird er in der Warteschlange des Policer/Formers gespeichert
und die Warteschlange bewegt sich zu Zustand 4. Die Warteschlange
ist dann voll, und alle Datenpaketkennzeichner, die ankommen, bevor
ein Datenpaketkennzeichner in der Warteschlange diese verlässt, werden
nicht zugelassen.
-
Wenn
der Datenpaketkennzeichner in die Warteschlange des Policer/Formers 104 eintritt,
sendet der Policer/Former 104 ein entsprechendes Signal
auf seiner entsprechenden Leitung 138 an den Warteschlangenspeichermanager
um anzuzeigen, dass das Datenpaket, dass dem Datenpaketkennzeichner
zugeordnet ist, in den Warteschlangendatenspeicher 112 zugelassen
werden soll und in eine spezifische Warteschlange abgespeichert
werden soll, die für
Datenpakete zugewiesen ist, die zu diesem Datenstrom gehören.
-
Wenn
ein Abgang geplant ist, wird der Datenpaketkennzeichner an der Spitze
der Warteschlange abgearbeitet. Die abgetastete Geschwindigkeit,
die verwendet wird, um diesen Datenpaketkennzeichner zu bedienen,
hängt vom
Zustand der Warteschlange ab. Auf der Basis, dass die Warteschlange
sich in Zustand 4 befindet, wird die Abtastdienstrate, die verwendet
wird, um diesen Datenpaketkennzeichner zu bedienen, durch eine zufällige exponentiell
verteilte Variable mit dem Mittelwert μ2 festgelegt.
Die berechnete Dienstdauer dieses Datenpakets basiert auf der Abtastdienstrate
und der Länge
des Datenpakets.
-
In
einem dritten Fall kommt ein Datenpaketkennzeichner zu einer Zeit
an, zu der die Warteschlange fast leer ist. Die Verarbeitung des
Datenpaketkennzeichners in diesem Fall ist dem Fall sehr ähnlich,
wenn die Warteschlange fast voll ist. Nehmen wir an, dass ein Datenpaketkennzeichner
ankommt, wenn sich die Warteschlange in Zustand 1 befindet. Es gibt
keine Chance, dass das Datenpaket willkürlich verworfen wird, da die
Wahrscheinlichkeit dieses Ereignisses so konfiguriert wird, dass
es null beträgt.
Deshalb wird der Datenpaketkennzeichner in der Warteschlange gespeichert,
und die Warteschlange bewegt sich zu Zustand 2. Wenn ein Abgangsereignis
geplant ist, bevor eine weitere Ankunft auftritt, wird der Datenpaketkennzeichner
an der Spitze der Warteschlange auf Grundlage der Dienstgeschwindigkeit
für Zustand
2 abgearbeitet, die μ1 ist.
-
In
einem vierten Fall kommt der Datenpaketkennzeichner zu einer Zeit
an, zu der die Warteschlange leer ist. In diesem Fall wird, wie
im dritten Fall, der Datenpaketkennzeichner in die Warteschlange
zugelassen.
-
Die
vorstehend enthaltene Beschreibung ist von der Annahme ausgegangen,
dass der Policer/Former nicht konfiguriert wird, um Datenpakete ohne
Verzögerung
zu senden. Mit anderen Worten weist der Policer/Former vorzugsweise
keine Niedriglasttransparenz auf, alle Datenpakete werden verzögert.
-
In
ihrer einfachsten Form ermöglicht
eine Niedriglasttransparenz, dass das erste Datenpaket, das an einer
leeren Warteschlange ankommt, sofort weitergeleitet wird. Trotz
dieser Aktion bewegt sich die Warteschlange in den Zustand 1. Anschließend ankommende
Datenpakete werden so verarbeitet, als ob dieses Datenpaket vorliegend
wäre, außer dass,
wenn dieses Datenpaket normalerweise bei Ablauf seines Zeitnehmers
weitergeleitet worden wäre,
es nicht gesandt wird. Ob ein Datenpaketkennzeichner sofort bei
der Ankunft weitergeleitet worden ist oder nicht, wird in der Warteschlange
aufgezeichnet. Dieses Konzept kann ebenso auf mehrfache Datenpakete
ausgedehnt werden.
-
Bevor
ein Datenpaketkennzeichner einen Policer/Former verlässt, legt
der Policer/Former eine Qualitätsklassifizierung
für diesen
Datenpaketkennzeichner fest. Die Policer/Former klassifizieren die Datenpaketkennzeichner,
wie vorstehend beschrieben, mit Wertigkeits- und Dringlichkeitsklassifizierungen.
Jeder Datenpaketkennzeichner muss mit einer Wertigkeits- und Dringlichkeitsklassifizierung
klassifiziert werden, bevor er an den Multiplexer für Wertigkeit
und Dringlichkeit 106 weitergeleitet wird. Die einem Datenpaketkennzeichner
zugeteilte Klassifizierung ist eine Funktion des gegenwärtigen Zustands der
Warteschlange.
-
Nehmen
wird wieder einen Policer/Former an, der eine Warteschlange der
Länge 4
aufweist. Wie in 2 gezeigt, wird angenommen,
dass die Warteschlange des Policer/Formers so konfiguriert ist,
dass die Dienstgeschwindigkeiten für die Zustände 1 und 2 als μ1 definiert
sind, und die willkürliche Verlustmöglichkeit
für die
Zustände
1 und 2 null ist. Die Zustände
3 und 4 weisen eine definierte Dienstgeschwindigkeit von μ2 auf
und weisen eine willkürliche
Verlustwahrscheinlichkeit von 0,3 auf (das heißt 30%).
-
In
einer bevorzugten Ausführungsform
ist jeder Policer/Former mit einer primären und einer sekundären Wertigkeits-
und Dringlichkeitsklassifizierung konfiguriert und einem Datenpaketkennzeichner wird
eine der Klassifizierungen bei der Ankunft zugeteilt. Jeder Zustand
weist eine zugehörige
Wahrscheinlichkeit auf, dass ein Datenpaket mit der primären Klassifizierung
klassifiziert wird. Die Wahrscheinlichkeit, ein Datenpaket in jedem
Zustand mit der primären
Klassifizierung zu klassifizieren, wird in diesem Beispiel konfiguriert
wie folgt: 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.
-
Die
primäre
Klassifizierung kann zum Beispiel eine wünschenswertere Klassifizierung
sein als die sekundäre
Klassifizierung. Wenn die angebotene Last in dem Datenstrom niedrig
ist, weisen die Datenpakete eine höhere Wahrscheinlichkeit auf,
die wünschenswertere
primäre
Klassifizierung zugeteilt zu bekommen, da die Warteschlange am häufigsten
in Zustand 1 oder 2 sein wird. Wenn die angebotene Last zunimmt,
gibt es eine höhere
Wahrscheinlichkeit, dass einem Datenpaketkennzeichner die sekundäre Klassifizierung,
die weniger wünschenswert
ist, zugeteilt wird, da dies bedeuten könnte, dass der Datenpaketkennzeichner
mehr an Verzögerung und/oder
Verlust in dem Multiplexer für
Wertigkeit und Dringlichkeit erfährt.
-
Sich
auf die vorstehend Beschreibung der Kriterien, um einen Datenpaketkennzeichner
zur Warteschlange zuzulassen, beziehend, ist die Wahrscheinlichkeit,
wenn ein Datenpaketkennzeichner für den Fall 2 zur Warteschlange
zugelassen wird (das heißt
im Beispiel, wenn sich die Warteschlange in Zustand 3 befindet und
der Datenpaketkennzeichner zugelassen wird und die Warteschlange
sich in den Zustand 4 bewegt) den Datenpaketkennzeichner mit der
primären
Klassifizierung zu klassifizieren 40%, da die Warteschlange dann
in Zustand 4 ist. Deshalb gibt es eine Wahrscheinlichkeit von 40%,
dass dem Datenpaketkennzeichner die primäre Klassifizierung zugeteilt
wird, und eine Wahrscheinlichkeit von 60%, dass ihm die sekundäre Klassifizierung
zugeteilt wird. Diese Klassifizierung des Datenpaketkennzeichners
basiert auf einer einfachen probabilistischen Wahlmöglichkeit.
-
Ein
Datenpaketkennzeichner wird dann am Ende der berechneten Dienstdauer
von der Warteschlange des Policer/Former ausgegeben und die Warteschlange
bewegt sich in den Zustand 3. Eine neue berechnete Dienstdauer,
basierend auf den definierten Parametern des Zustands 3, legt dann
fest, wann der nächste
Abgang ausgeführt
wird. Wenn eine Ankunft auftritt, bevor dieser Zeitraum abgelaufen
ist, kann sich die Warteschlange dann in den Zustand 4 bewegen,
basierend darauf, ob die Ankunft willkürlich verworfen wird oder nicht.
-
Sich
auf den obigen Fall 3 beziehend, den Fall, in dem ein Datenpaketkennzeichner
ankommt, wenn die Warteschlange fast leer ist, wird der Datenpaketkennzeichner
unter Verwendung der mit Zustand 2 verbundenen Wahrscheinlichkeit
klassifiziert. In diesem Fall gibt es eine Wahrscheinlichkeit von 80%
der primären
Klassifizierung des Datenpaketkennzeichners, der an den Multiplexer
für Wertigkeit und
Dringlichkeit 106 gesandt wird.
-
Willkürliches
Verwerfen von Datenpaketen bei ihrer Ankunft am Policer/Former reduziert
nicht nur die Ankunftsrate des Datenstroms, sondern hilft auch,
Verluste bei hohen Datenfolgen zu vermeiden. Wenn zum Beispiel eine
Datenfolge von sechs Datenpaketen in der Warteschlangenanordnung
gemäß 2 angekommen
ist, würden
die letzten zwei Datenpakete verloren gehen, wenn Datenpakete nicht willkürlich verworfen
wurden. Wenn auf der anderen Seite die Wahrscheinlichkeit des willkürlichen
Verwerfens mit der Warteschlangenlänge zunimmt, kann es der Fall
sein, dass zum Beispiel das vierte oder dritte Datenpaket bei der
Ankunft verworfen wird und der Verlust in der Datenfolge auf diese
Weise gerecht verteilt wird.
-
Eine
weitere Funktion des Policer/Formers, wie hierin weiter oben beschrieben,
ist, das Datenpaket mit dem Datenpaketkennzeichner verbunden zu halten,
der im Warteschlangendatenspeicher 112 durch Interaktion
mit dem Warteschlangenspeichermanager 114 verarbeitet wird.
Datenpakete in Warteschlangen zu speichern ist notwendig, um sicherzustellen,
dass Datenpakete in einem Datenstrom nicht vom Dienstprozess des
Multiplexers für
Wertigkeit und Dringlichkeit 106 in der Reihenfolge geändert werden.
In Abhängigkeit
von der gewählten
Funktionsweise, um Wertigkeits- und Dringlichkeitsgrade an die Datenpakete
zuzuteilen, gibt es die Möglichkeit,
dass die Datenpakete während
des Multiplexens auf die Leitung 124 in der Reihenfolge
geändert
werden könnten,
wie nachstehend weiter erörtert.
-
Als
ein Beispiel betrachten wird die einfache probabilistische Klassifizierungsfunktion
wie oben beschrieben. Nehmen wird an, dass eine Datenfolge von vier
Datenpaketkennzeichnern im Policer/Former ankommt und alle Datenpakete
in der Warteschlange gespeichert werden. Nehmen wird weiterhin an,
dass keine weiteren Ankünfte
während
der ersten fraglichen Zeit auftreten. Weiterhin nehmen wir wieder
an, dass der Multiplexer für
Wertigkeit und Dringlichkeit nicht leer ist, enthaltend Datenpa kete, die
von anderen Policer/Formern herrühren.
Zuletzt nehmen wird an, dass die primäre Wertigkeits- und Dringlichkeitsklassifizierung
einen erwünschten
hohen Dringlichkeitsgrad aufweist, während die sekundäre Klassifizierung
einen niedrigen Dringlichkeitsgrad aufweist. Unter der Voraussetzung
dieser Bedingungen weist der Datenpaketkennzeichner am Anfang der
Datenfolge, auf den als "Datenpaketkennzeichner
1" verwiesen wird,
eine höhere
Wahrscheinlichkeit auf, der sekundären Wertigkeits- und Dringlichkeitsklassifizierung
zugeteilt zu werden, als ein Datenpaket nahe an dem Ende der Datenfolge, bezeichnet
als "Datenpaketkennzeichner
4". Wenn dem Datenpaketkennzeichner
1 die sekundäre
Klassifizierung zugeteilt wird, während dem Datenpaketkennzeichner
4 die primäre
Klassifizierung zugeteilt wird, kann die Differenz in den Dringlichkeitsgraden bewirken,
dass in dem Multiplexer für
Wertigkeit und Dringlichkeit 106 der Datenpaketkennzeichner
4 vor dem Datenpaketkennzeichner 1 bedient wird.
-
Um
dies zu vermeiden, weisen die Policer/Former den Warteschlangenspeichermanager 114 an,
Datenpakete im Warteschlangendatenspeicher 112 gemäß der Reihenfolge
einzureihen, in der die entsprechenden Datenpaketkennzeichner in
dem Policer/Former empfangen werden. Das heißt, bei Ankunft in dem Policer/Former
und wenn ein Datenpaketkennzeichner nicht verworfen wird, wird der Warteschlangendatenspeicher
angewiesen, das Datenpaket in der Warteschlange des betreffenden
Datenstroms in der Reihenfolge einzureihen, in der es ankam.
-
8 zeigt
ein Beispiel einer Implementierung eines Policer/Formers 104.
Der beispielhafte Policer/Former umfasst den Policer/Former Ankunftsverarbeitungsblock 701,
einen Datenpaketkennzeichnerwarteschlangenblock 702, einen
Policer/Former Abgangsverarbeitungsblock 704, einen Zeitnehmer 703,
einen Verwurfswahrscheinlichkeitsgenerator 706 und einen
Dienstdauergenerator 707.
-
Datenpaketkennzeichner
kommen über
die Leitung 708 am Policer/Former Ankunftsverarbeitungsblock 701 an.
Der Policer/Former Ankunftsverarbeitungsblock 701 benachrichtigt
den Policer/Former Konfigurationsmanagementblock 705 über die Leitung 720 darüber, dass
ein Datenpaketkennzeichner angekommen ist. Der Policer/Former Konfigurationsmanagementblock
fragt den Datenpaketkennzeichnerwarteschlangenblock 702 über die
Leitung 724 zyklisch ab, um die gegenwärtige Länge der Warteschlange innerhalb
der Policer/Former zu erhalten. Auf Grundlage der Antwort des Datenpaketkennzeichnerwarteschlangenblocks über die
Leitung 726 stellt der Policer/Former Konfigurationsmanagementblock
fest, ob die Warteschlange voll ist oder nicht. Wenn es verfügbare Kapazität in der
Warteschlange gibt, legt der Policer/Former Konfigurationsmanagementblock 705 dann
unter Verwendung von Input von dem Verwurfswahrscheinlichkeitsgenerator 706 auf
Leitung 732 fest, ob der Datenpaketkennzeichner willkürlich verworfen
werden sollte oder nicht.
-
Wenn
der Datenpaketkennzeichner zur Warteschlange zugelassen werden soll,
macht der Policer/Former Konfigurationsmanagementblock 705 den
Policer/Former Ankunftsverarbeitungsblock 701 über die
Leitung 722 darauf aufmerksam, den Datenpaketkennzeichner
zuzulassen. Nach dem Empfang dieser Antwort sendet der Policer/Former
Ankunftsverarbeitungsblock 701 über die Leitung 736 (die gleichbedeutend
einer der Leitungen 138 ist) eine Anfrage an den Warteschlangenspeichermanager 114,
um das Datenpaket in der einen Warteschlange im Warteschlangendatenspeicher
einzureihen, der für
diesen Datenstrom vergeben ist. Der Policer/Former Ankunftsprozess
leitet dann den Datenpaketkennzeichner über die Leitung 710 an
den Datenpaketkennzeichnerwarteschlangenblock 702 weiter.
Der Policer/Former Konfigurationsmanagementblock 705 berechnet
eine neue Dienstdauer, basierend auf Input aus dem Dienstdauergenerator 707 auf
Leitung 734 und der Länge
des Datenpakets und sendet diese Dienstdauer über die Leitung 728 zum Policer/Former
Abgangsverarbeitungsblock 704. Der Policer/Former Abgangsprozess
leitet die neue Dienstdauer über
die Leitung 716 an den Zeitnehmer 703 weiter.
Der Zeitnehmer 703 stellt sich selbst zurück, um am
Ende der neuen Dienstdauer wieder aktiv zu werden.
-
Wenn
der Policer/Former Konfigurationsmanagementblock 705 bestimmt,
dass die Warteschlange voll ist, weist er den Policer/Former Ankunftsverarbeitungsblock 701 über die
Leitung 722 an, den Datenpaketkennzeichner zu verwerfen.
In diesem Fall sendet der Policer/Former Ankunftsverarbeitungsblock 701 über die
Leitung 736 eine Ausschussanweisung an den Warteschlangenspeichermanager 114.
Der Policer/Former Ankunftsverarbeitungsblock verwirft dann den
Datenpaketkennzeichner.
-
Wenn
der Zeitnehmer 703 wieder aktiv wird, sendet er eine Anfrage über die
Leitung 718 an den Policer/Former Abgangsverarbeitungsblock 704,
um einen Datenpaketkennzeichner auszusenden. Der Policer/Former
Abgangsverarbeitungsblock sendet über die Leitung 730 eine
Anfrage an den Policer/Former Konfigurationsmanagementblock 705 für eine Klassifizierung
und eine neue Dienstdauer. Der Konfigurationsmanagementblock 705 befragt
den Datenpaketkennzeichnerwarteschlangenblock 702 über die
Leitungen 724 und 726, um die gegenwärtige Länge der
Warteschlange zu erhalten. Der Konfigurationsmanagementblock verwendet
die gegenwärtige
Länge der
Warteschlange, um die Klassifizierung für den Datenpaketkennzeichner
festzulegen, der im Begriff ist, ausgesandt zu werden. Die Klassifizierung
wird über
die Leitung 728 an den Policer/Former Abgangsverarbeitungsblock
gesandt. Der Policer/Former Abgangsprozess 704 verkettet einen
Warteschlangenkennzeichner, der spezifiziert, welche Warteschlange
im Warteschlangendatenspeicher 112 für das Speichern von Datenpaketen dieses
Stroms und die Klassifi zierung zum Datenpaketkennzeichner verwendet
wird und leitet dieses Tupel von Daten über die Leitung 738 weiter.
-
Es
sollte beachtet werden, dass in dieser beispielhaften Implementierung
die Klassifizierung der Datenpaketkennzeichner ausgeführt wird,
wenn die Datenpakete die Warteschlange verlassen. Der Punkt, an
dem die Datenpakete innerhalb des Policer/Formers klassifiziert
werden, ist jedoch von der Implementierung abhängig, und ist nicht auf das
hierin gegebene Beispiel beschränkt.
Wie zuvor vorstehend beschrieben, können die Datenpaketkennzeichner
bei Ankunft statt bei Abgang klassifiziert werden.
-
Wenn
die im Datenpaketkennzeichnerwarteschlangenblock 702 identifizierte
Warteschlange nicht leer ist, sendet der Policer/Former Konfigurationsmanagementblock 705 durch
die Leitung 728 auch eine neue Dienstdauer zum Policer/Former
Abgangsverarbeitungsblock 704. Diese Dienstdauer wird über die
Leitung 716 an den Zeitnehmer 703 weitergeleitet,
und der Zeitnehmer stellt sich so ein, dass er nach dieser Zeit
wieder aktiv wird. Wenn die Warteschlange leer ist, werden keine
Maßnahmen ergriffen.
-
Weiter
mögliche Änderungen
am Policer/Former 104, die in 1 gezeigt
werden, werden mit Bezug auf 6 veranschaulicht.
Wie in 6 gezeigt, können
die Policer/Former auf verschiedene Weisen kaskadiert werden.
-
Sich
auf 6(a) beziehend, wird dort eine vorteilhafte
Anordnung veranschaulicht, in der die Ausgabe von einem Policer/Former 210 einen
Input an zwei parallele Policer/Former 212 und 214 zur Verfügung stellt.
Der Policer/Former 210 erhält Datenpaketkennzeichner über die
Leitung 222 vom Datenstromkennzeichner 102. In Übereinstimmung
mit dem Standardbetrieb des Policer/Formers, verwirft der Policer/Former 210 selektiv
Datenpaketkennzeichner und verschiebt Datenpaketkennzeichner zeitlich,
um einen modifizierten Datenstrom von Datenpaketkennzeichnern an
seinem Ausgang zur Verfügung
zu stellen. In einer ersten Ausführungsform wird
der auf diese Weise modifizierte Datenstrom von Datenpaketkennzeichnern
auf Leitungen 234 und 236 zu jedem der parallelen
Policer/Former 212 und 214 gesendet. Die entsprechenden
Policer/Former 212 und 214 verwerfen dann selektiv
Datenpaketkennzeichner und verschieben Datenpaketkennzeichner zeitlich,
um zwei weitere modifizierte Datenpaketkennzeichnerströme an ihren
Ausgängen 224 und 226 zu
erzeugen. In einer zweiten Ausführungsform
wird die Ausgabe des Policer/Formers 210 selektiv entweder
dem einen oder dem anderen der Policer/Former 212 und 214 zur
Verfügung
gestellt. Der entsprechende der Policer/Former 212 und 214 verwirft
dann selektiv Datenpaketkennzeichner und verschiebt Datenpaketkennzeichner
zeitlich auf seinen entsprechenden Ausgang.
-
Sich
auf 6(b) beziehend, ist dort eine weitere
Anordnung veranschaulicht, in der zwei parallele Policer/Former 216 und 218 Inputs
empfangen, die Datenpaketkennzeichner auf Datenströmen auf den
Leitungen 228 und 230 umfassen. Die Ausgabe der
beiden Policer/Former 216 und 218 auf ihren entsprechenden
Ausgängen 238 und 240 formen
einen Input in einen weiteren Policer/Former 220 aus. Der Policer/Former 220 gibt
Datenpaketkennzeichner auf Leitung 232 aus.
-
Es
wird der in der Technik ausgebildeten Person klar sein, wie Policer/Former
in verschiedenen Kombinationen der in 6 gezeigten
Anordnungen kaskadiert werden können.
Zum Beispiel können
die Anordnungen gemäß 6(a) und 6(b) kaskadiert werden.
Außerdem
kann jeder der Policer/Former auch Input aus anderen Quellen empfangen.
Zum Beispiel kann der Policer/Former 212 gemäß 6(a) einen zusätzlichen Input empfangen, der nicht
von einem anderen Policer/Former abge leitet wird. Eine Person, die
in der Technik ausgebildet ist, erkennt, wie verschiedene Anordnungen
von Kaskadierungen implementiert werden können. Die einzige Einschränkung ist,
dass kaskadierte Policer/Former in einem azyklischen Graphen verbunden
sein müssen.
-
Bei
einem Abgang sendet der Policer/Former sowohl den Datenpaketkennzeichner
als auch seine zugehörigen
Warteschlangenkennzeichner und die Klassifizierung über eine
entsprechende Ausgangsleitung 122 an den Multiplexer für Wertigkeit
und Dringlichkeit 106. Der Multiplexer für Wertigkeit
und Dringlichkeit erfordert den Datenpaketkennzeichner zusätzlich zu
dem Warteschlangenkennzeichner, falls er eine Verwurfsanweisung
an den Warteschlangenspeichermanager 114 ausgeben muss,
wie im weiteren Detail hierin untenstehend erörtert werden wird.
-
Der
Multiplexer für
Wertigkeit und Dringlichkeit 106 verwaltet die Konkurrenzsituation
zwischen zwei oder mehr Datenströmen
für die
Netzwerkressourcen. Der Multiplexer für Wertigkeit und Dringlichkeit 106 empfängt Datenpaketkennzeichner
von den unterschiedlichen Policer/Formern 104, wobei jeder Datenpaketkennzeichner
mit einer Wertigkeits- und Dringlichkeitsklassifizierung gekennzeichnet
wird.
-
Die
Klassifizierung eines Datenpaketkennzeichners definiert einen Wertigkeitsgrad
und einen Dringlichkeitsgrad für
das Datenpaket, dem sie zugehörig
ist. Der Multiplexer für
Wertigkeit und Dringlichkeit verwaltet die Konkurrenzsituation zwischen
zwei oder mehr Datenströmen
durch das Abarbeiten von Datenpaketen (über ihre Datenpaketkennzeichner)
in Abhängigkeit
von ihrem Dringlichkeitsgrad und, wenn notwendig, durch Verwerfen
von Datenpaketen in Abhängigkeit
von ihrem Wertigkeitsgrad. Der Wertigkeitsgrad bestimmt, welche
Datenpakete in den Multiplexer für
Wertigkeit und Dringlichkeit eintreten. Der Dringlichkeitsgrad bestimmt
die Reihenfolge, in der die Datenpakete vom Multiplexer für Wertigkeit
und Dringlichkeit angenommen werden. Das Klassifizieren von Datenpaketen
unter Verwendung von Dringlichkeits- und Wertigkeitsgraden ist in
der internationalen Patentveröffentlichung
Nr.
WO00/65783 beschrieben.
Auf diese Weise verwaltet der Multiplexer für Wertigkeit und Dringlichkeit
106 die
Konkurrenzsituation zwischen den drei Datenströmen
122a,
122b und
122c an
den Ausgängen
der Policer/Former
104a,
104b und
104c.
-
Wenn
ein Datenpaketkennzeichner mit seiner zugehörigen Wertigkeits- und Dringlichkeitsklassifizierung
ankommt, bestimmt der Multiplexer für Wertigkeit und Dringlichkeit 106,
ob der Datenpaketkennzeichner gespeichert oder verworfen werden soll.
Dies wird durch die verfügbare
Speicherkapazität
in dem Multiplexer für
Wertigkeit und Dringlichkeit und dem mit dem Kennzeichner verbundenen
Wertigkeitsgrad festgelegt.
-
In
einem bekannten Verfahren zur Durchführung der Wertigkeitszuordnung,
wird der Zugriff auf einen Puffer in dem Multiplexer für Wertigkeit
und Dringlichkeit durch Zuordnen eines Wertigkeitsgrad zu einem
bestimmten Bereich des Puffers festgelegt. Das heißt man kann
sich vorstellen, dass ein Datenpaket mit irgendeinem von N Wertigkeitsgraden
klassifiziert werden kann. Dann nehmen wir an, dass es insgesamt
KN Puffer gibt. Datenverkehr des Wertigkeitsgrades
1 kann in jeden der KN Puffer eintreten, während Datenverkehr
des Wertigkeitsgrades i nur in die ersten KN–i+1 Puffer
eintreten kann, wobei K0 = 0 < K1 < ... < KN.
Deshalb werden Datenpakete des Wertigkeitsgrades 1 eine größere Wahrscheinlichkeit
aufweisen, verfügbare
Pufferressourcen zu finden, als Datenpakete des Wertigkeitsgrades
i, wobei i > 1 ist.
-
Ein
Schema ist auch notwendig um festzulegen, welcher Datenpaketkennzeichner
weiterzuleiten ist, das heißt,
wie die Dring lichkeitsgrade verwendet werden sollten, um die Reihenfolge
festzulegen, in der die Datenpakete abgearbeitet werden. Ein Ansatz
ist, den Kennzeichner mit dem höchsten
Dringlichkeitsgrad an der Spitze der Warteschlange weiterzuleiten,
obwohl andere Ansätze
möglich
sind.
-
Die
Verlustrate für
Datenpaketkennzeichner in einem vorgegebenen Datenstrom wird sowohl
festgelegt durch den an die Datenpakete zugewiesenen Wertigkeitsgrad
wie auch durch die maximale Ankunftsrate für alle anderen Datenströme, die
einen Wertigkeitsgrad mit gleichem oder größerem Wert aufweisen. Die Reihenfolge
in der Datenpakete in dem Multiplexer für Wertigkeit und Dringlichkeit
abgearbeitet werden, hängt
von ihren Dringlichkeitsgraden und den Ankunftsraten und den Mustern
des dringenderen Datenverkehrs ab. Dies legt die vom Datenpaketkennzeichner
erfahrene Verzögerung
in dem Multiplexer für
Wertigkeit und Dringlichkeit fest.
-
Wenn
der Multiplexer für
Wertigkeit und Dringlichkeit 106 einen Datenpaketkennzeichner
verwirft, weist er den Warteschlangenspeichermanager über die
Leitung 136 an, die Referenzzählung für das entsprechende Datenpaket
vom Warteschlangendatenspeicher 112 zu vermindern.
-
Der
Multiplexer für
Wertigkeit und Dringlichkeit zeichnet Statistiken über die
Verkehrsströme
auf, umfassend, aber nicht darauf eingeschränkt, die Anzahl der Bytes und/oder
die Anzahl von Datenpaketen, die für jeden Dringlichkeitsgrad
und jeden Wertigkeitsgrad sowohl akzeptiert als auch zurückgewiesen
werden.
-
Der
Multiplexer für
Wertigkeit und Dringlichkeit leitet einen von den gespeicherten
Datenpaketkennzeichnern zusammen mit seinem zugehörigen Warteschlangenkennzeichner
in Reaktion auf eine Anforderung des Geschwindigkeitsbegrenzers 108 an
Leitung 126 von seinen internen Puffern über die Leitung 124 zum
Geschwindigkeitsbegrenzer 108 weiter. Die Auswahl darüber, welches
von den Kennzeichnerpaaren an den Geschwindigkeitsbegrenzer weitergeleitet
wird als Reaktion auf eine Anforderung von diesem, wird von dem
Dringlichkeitsgrad des Datenpaketkennzeichners und dem Auswahlmechanismus
des Multiplexers für
Wertigkeit und Dringlichkeit festgelegt.
-
Eine
beispielhafte Implementierung eines Multiplexers für Wertigkeit
und Dringlichkeit 106 ist in 9 veranschaulicht.
Der Multiplexer für
Wertigkeit und Dringlichkeit umfasst einen Ankunftsverarbeitungsblock
für Wertigkeit
und Dringlichkeit 801, eine Reihe von Dringlichkeitswarteschlangen 814,
umfassend die Warteschlangen 802 bis 805, einen
Abgangsverarbeitungsblock für
Wertigkeit und Dringlichkeit 816, und einen Konfigurationsmanagementblock
für Wertigkeit
und Dringlichkeit 807.
-
Datenpaketkennzeichner
kommen über
die Leitung 810 an dem Ankunftsverarbeitungsblock für Wertigkeit
und Dringlichkeit 801 an. Der Ankunftsverarbeitungsblock
für Wertigkeit
und Dringlichkeit benachrichtigt den Konfigurationsmanagementblock
für Wertigkeit
und Dringlichkeit 807, dass ein Datenpaketkennzeichner
angekommen ist und leitet seinen Wertigkeitsgrad über die
Leitung 822 weiter. Der Konfigurationsmanagementblock für Wertigkeit
und Dringlichkeit 807 erfragt die Länge jeder der Dringlichkeitswarteschlangen 802–805 über die
Leitung 826. Basierend auf der gegenwärtigen Gesamtzahl von Datenpaketkennzeichnern,
die in dem Multiplexer für
Wertigkeit und Dringlichkeit 106 Schlange stehen und dem
Wertigkeitsgrad des Datenpaketkennzeichners, bestimmt der Konfigurationsmanagementblock
für Wertigkeit
und Dringlichkeit, ob das Datenpaket verworfen werden soll oder
nicht.
-
Wenn
der Datenpaketkennzeichner verworfen werden soll, benachrichtigt
der Konfigurationsmanagementblock für Wertigkeit und Dringlichkeit 807 den
Ankunftsprozess für
Wertigkeit und Dringlichkeit 801 dementsprechend über die
Leitung 824. In diesem Fall sendet der Ankunftsprozess
für Wertigkeit
und Dringlichkeit eine Anweisung über die Leitung 812 zum
Warteschlangendatenspeicher, um das Datenpaket zu verwerfen, wobei
das Datenpaket durch seinen Datenpaketkennzeichner und seinen Warteschlangenkennzeichner
identifiziert wird. Diese Kennzeichner werden dann durch den Ankunftsverarbeitungsblock
für Wertigkeit
und Dringlichkeit 801 verworfen.
-
Andernfalls
benachrichtigt der Konfigurationsmanagementblock für Wertigkeit
und Dringlichkeit 807 den Ankunftsprozess für Wertigkeit
und Dringlichkeit 801 über
die Leitung 722, um den Datenpaketkennzeichner an eine
der Dringlichkeitswarteschlangen 802 bis 805 weiterzuleiten.
Es gibt für
jeden Dringlichkeitsgrad eine Dringlichkeitswarteschlange. Diese
beispielhafte Implementierung veranschaulicht einen für vier mögliche Dringlichkeitsgrade
konfigurierten Multiplexer für
Wertigkeit und Dringlichkeit. Der Ankunftsprozess für Wertigkeit
und Dringlichkeit erzielt den Dringlichkeitsgrad für den Datenpaketkennzeichner
und leitet den Datenpaketkennzeichner und seinen zugehörigen Warteschlangenkennzeichner über eine
der Leitungen 830 an die entsprechende Dringlichkeitswarteschlange
weiter.
-
Anfragen
für Datenpakete
vom Geschwindigkeitsbegrenzer werden vom Abgangsverarbeitungsblock
für Wertigkeit
und Dringlichkeit 806 über die
Leitung 818 empfangen. Wenn eine Datenpaketanforderung
ankommt, fordert der Abgangsprozess für Wertigkeit und Dringlichkeit
das Kopfelement von einer der Dringlichkeitswarteschlangen 802 bis 805 über eine
der Leitungen 834 an. In der bevorzugten Ausführungsform
werden die Kennzeichner an der Spitze der dringendsten Warteschlange
angefordert. Das Paar aus Datenpaketkennzeichner und Warteschlangenkennzeichner
an der Spitze der Warteschlange, die die Anfrage empfangen hat,
wird über eine
der Leitungen 832 weitergeleitet zum Abgangsverarbeitungsblock
für Wertigkeit
und Dringlichkeit 808. Der Abgangsverarbeitungsblock für Wertigkeit und
Dringlichkeit 806 leitet das Paar von Kennzeichnern über die
Leitung 124 sofort an den Geschwindigkeitsbegrenzer weiter.
-
Der
Geschwindigkeitsbegrenzer 108 bewegt eine Konkurrenzsituation
von einem Punkt flussabwärts
im Netzwerk nach innerhalb des Multiplexers 100 durch Beschränken der
Dienstgeschwindigkeit auf eine solche, für die das Netzwerk ausreichende Ressourcen
aufweist. Der Geschwindigkeitsbegrenzer stellt sicher, dass die
maximale Dienstgeschwindigkeit nicht langfristig überschritten
wird durch Sicherstellen, dass entsprechende Abstände zwischen gesendeten
Datenpaketen aufrechterhalten werden.
-
Der
Geschwindigkeitsbegrenzer 108 fordert auf einer Anforderungsleitung 126 Datenpaketkennzeichner
von dem Multiplexer für
Wertigkeit und Dringlichkeit an, und empfängt Datenpaketkennzeichner
zusammen mit ihren zugehörigen
Warteschlangenkennzeichnern auf der Leitung 124. Beim Empfangen
des Paars von Kennzeichnern auf der Leitung 124 stellt
der Geschwindigkeitsbegrenzer den Warteschlangenkennzeichner auf
der Leitung 134 dem Warteschlangenspeichermanager 114 zur Verfügung. In
Reaktion darauf stellt der Warteschlangenspeichermanager 114 dem
Geschwindigkeitsbegrenzer auf der Leitung 132 das Datenpaket
an der Spitze der identifizierten Warteschlange aus dem Warteschlangendatenspeicher
zur Verfügung.
Der Geschwindigkeitsbegrenzer leitet dann Datenpakete zur Übertragung
auf die Ausgabeschnittstelle auf der Leitung 128 weiter.
Zum Zeitpunkt der Weiterleitung eines Datenpakets an die Ausgangsschnittstelle
stellt der Geschwindigkeitsbegrenzer einen Zeitnehmer ein, um die
Dienstdauer dieses bestimmten Datenpakets mit der konfigurierten
Geschwindigkeit darzustellen. Am Ende der für das Abarbeiten des bestimmten
Datenpakets zugeteilten Zeitperiode fordert der Geschwindigkeitsbegrenzer
ein weiteres Datenpaket auf Leitung 126 von dem Multiplexer
für Wertigkeit
und Dringlichkeit 106 an.
-
Wenn
keine Änderung
in der Reihenfolge in dem Multiplexer für Wertigkeit und Dringlichkeit
aufgetreten ist, wird das vom Warteschlangenspeichermanager gesandte
Datenpaket dasselbe sein wie das vom Datenpaketkennzeichner identifizierte
Datenpaket. Andernfalls bezieht sich der vom Geschwindigkeitsbegrenzer
empfangene Datenpaketkennzeichner auf ein Datenpaket, das immer
noch in der Warteschlange im Warteschlangendatenspeicher wartet.
-
Der
Geschwindigkeitsbegrenzer kann Datenpakete stochastisch oder deterministisch
abarbeiten. Der Geschwindigkeitsbegrenzer kann auf diese Weise Datenpakete
so abarbeiten, dass sie einen variablen Abstand aufweisen, wie vorstehend
unter Bezugnahme auf den Policer/Former besprochen.
-
Eine
Einheit kann ausgebildet werden durch Kombinieren eines Multiplexers
für Wertigkeit
und Dringlichkeit 106 und eines Geschwindigkeitsbegrenzers 108,
vorzugsweise eines solchen, der Datenpakete stochastisch abarbeitet.
Solche Einheiten können
mit einer Vielzahl von Policern/Formern kaskadiert werden und anderen
solchen Multiplexern für Wertigkeit
und Dringlichkeit und als Geschwindigkeitsbegrenzereinheiten und
können
zusätzliche
Inputs aus anderen Quellen empfangen. Eine Person, die in der Technik
ausgebildet ist, erkennt, wie verschiedene Kaskadierungsanordnungen
ausgeführt werden
können.
Die einzige Einschränkung
ist, dass die kaskadierte Kombination dieser Einheiten in einem
azyklischen Graphen verbunden sein muss.
-
Wenn
stochastische Dienstgeschwindigkeiten verwendet werden, gibt es
das Potential, dass die abgetastete Dienstgeschwindigkeit viel schneller
ist, als die Geschwindigkeit, mir der das Datenpaket physisch durch
die Ausgangsschnittstelle übertragen werden
kann. In diesem Fall wird die berechnete Ressourcengröße des Datenpakets
kleiner sein als die tatsächliche
Größe des Datenpakets,
wie in 5 veranschaulicht. Sich auf 5a beziehend, ist
dort die tatsächliche
Größe des Datenpakets
entsprechend der physischen Übertragungsrate
des Übertragungsmediums
veranschaulicht, an das es weitergeleitet wird. 5b veranschaulicht
die Größe des Datenpakets,
bei dem die für
das Datenpaket gewählte
Dienstgeschwindigkeit größer ist
als die Geschwindigkeit, mit der das Datenpaket tatsächlich auf
dem physischen Medium gesendet wird. 5c veranschaulicht
die Größe des Datenpakets
für den Fall,
in dem die für
das Datenpaket gewählte
Dienstgeschwindigkeit kleiner ist als die Geschwindigkeit, mit der
das Datenpaket tatsächlich
von der Ausgabeschnittstelle 110 gesendet wird.
-
Wie
aus 5 ersehen werden kann, können zwei Datenpakete überlappen,
wenn die berechnete Ressourcengröße tatsächlich kleiner
ist als die tatsächliche
Ressourcengröße des Datenpakets.
In einer praktischen Anordnung können
zwei Datenpakete während
einer Übertragung
nicht überlappen. Stattdessen
wird eine Datenfolge von zwei oder mehr Datenpaketen beobachtet.
Deshalb gibt es, wenn die Datenpaketkennzeichner stochastisch abgearbeitet werden,
eine endliche Wahrscheinlichkeit, dass zwei oder mehr Datenpakete
Rücken
an Rücken
gesandt werden.
-
Die
Ausgabeschnittstelle 110 stellt eine Datenstromsteuerungsrückmeldung über die
Leitung 130 zum Geschwindigkeitsbegrenzer 108 zur
Verfügung.
Wenn die Ausgangsschnittstelle dem Geschwindigkeitsbegrenzer anzeigt,
dass die Übertragung
ausgesetzt worden ist, wird der interne Zeitberechnungsmechanismus
des Geschwindigkeitsbegrenzers beeinflusst. In diesem Fall kann
der Geschwindigkeitsbegrenzer eine von mehreren Aktionen ausführen. Zum
Beispiel kann der Geschwindigkeitsbegrenzer konfiguriert werden,
um jedes Datenpaket zu verwerfen, das während der Zeit des Aussetzens
für die
Abarbeitung eingeplant ist. Solch ein Verwerfen von Datenpaketen
durch den Geschwindigkeitsbegrenzer erfordert, dass der Geschwindigkeitsbegrenzer
ein Alarmsignal erzeugt.
-
Der
Geschwindigkeitsbegrenzer 108 kann auch optimiert werden,
um die Ressourcen der externen Anordnung bei einer niedrigen Last
zu maximieren. Das heißt,
unter niedriger Last kann die Dienstgeschwindigkeit gewählt werden,
die schneller ist, als die konfigurierte Geschwindigkeit. Wenn die
Last auf der Anordnung zunimmt, wird die Dienstgeschwindigkeit vermindert,
bis diese nahe bei oder bei der konfigurierten Geschwindigkeit ist.
-
Die
Ausgabeschnittstelle 110 stellt die für die vorwärts gerichtete Übertragung
von Datenpaketen notwendige Grundfunktionalität zur Verfügung. Die Ausgabeschnittstelle 110 stellt
Datenstromsteuerungsrückmeldung über die
Leitungen 130 zum Geschwindigkeitsbegrenzer 108 zur
Verfügung,
wenn ein externer Rückstau
(zum Beispiel durch das Übertragungsmedium)
auftritt. Auf diese Weise überträgt die Ausgabeschnittstelle
Datenpakete über
die Leitung 142, und empfängt Datenstromsteuerungssignale
vom Betriebssystem oder dem Vorrichtungstreiber auf der Leitung 144.
-
Die
Ausgabeschnittstelle ist für
kein direktes Verarbeiten in Bezug auf das Qualitätsmanagement des
Datenstroms verantwortlich. Wenn ein Datenpaket von der Ausgabeschnittstelle
empfangen wird und die externe Anordnung oder Vorrichtung anzeigt, dass
sie verfügbare
Ressourcen für
die Übertragung aufweist,
dann wird das Datenpaket von der Ausgabeschnittstelle ohne Verzögerung gesandt.
Wenn der Geschwindigkeitsbegrenzer im de terministischen Modus arbeitet
und keine Datenflusssteuerung ausgeübt wird, gibt es zu jedem beliebigen
Zeitpunkt nie mehr als ein Datenpaket im Puffer der Ausgangsschnittstelle.
-
Daher
ist eine Erfindung beschrieben worden, von der in einem Multiplexer
vorteilhaft Gebrauch gemacht werden kann, um eine vorgegebene Qualität des Dienstes
zu garantieren. Obwohl die Erfindung hierin mit Bezug auf eine bestimmte
beispielhafte Ausführungsform
beschrieben wird, erkennt die in der Technik ausgebildete Person,
dass die Erfindung in ihrer Anwendbarkeit nicht so eingegrenzt ist und
mehr im Allgemeinen angewandt werden kann.