-
Gebiet der Erfindung
-
Die
vorliegende Erfindung betrifft allgemein die Übertragung digitaler Datenpakete
in Fernmeldesystemen und insbesondere, jedoch nicht ausschließlich, die
Konkurrenzverwaltung innerhalb und zwischen Paketströmen in Speicher-
und Weiterleitungs-Netzwerken.
-
Hintergrund der Erfindung
-
Es
gibt viele Techniken zur Steuerung digitaler Paket-Informationsströme. Einige
dieser Techniken befassen sich mit der Gewährleistung einer bestimmten
Dienstqualität
für unterschiedliche
Verkehrsarten. Es gibt mehrere allgemeine Voraussetzungen im Zusammenhang
mit der Gewährleistung
von Dienstqualitätsstufen. Wenn
eine Qualitätsdifferenzierung
für mehr
als einen Strom vorgesehen ist, ist es erforderlich sicherzustellen, daß unterschiedliche
Qualitätsanforderungen
für die
verschiedenen Paketströme
individuell und kollektiv im Rahmen der Einschränkungen des endlichen Qualitätsangebots
erfüllt
werden. Um differenzierte Stufen für Verlust und Verzögerung sowie
den Durchsatz zur Verfügung
zu stellen, müssen
die Menge der Eingangsdaten und ihr zeitliches Muster eingeschränkt werden.
Die abgearbeitete Menge von Eingangsdaten, das heißt der Datendurchsatz,
wird als langfristige Verwaltung bezeichnet. Die Steuerung des zeitlichen
Musters der Daten wird als kurzfristige Verwaltung bezeichnet. Der
Datenverkehr in bestimmten Strömen
muß auch
gegen die Auswirkungen von Bursttendenzen in anderen Strömen geschützt werden.
Beispielsweise müssen
individuelle Datenverkehrströme
gegen den Einfluß von
Protokollen wie TCP, das so gestaltet ist, daß so viel Bandbreite wie möglich ohne
Rücksicht
auf andere Ströme
genutzt wird, und auch gegen böswillige
Absichten oder Fehler in den Endgeräten des Netzwerks geschützt werden.
Es ist ebenfalls erforderlich, die Verschachtelung der einzelnen
Ströme
im Rahmen der verfügbaren
Ressourcen zu bewältigen.
-
Die
Verwaltung der Dienstqualität
in der Peripherie oder am Rand eines Netzwerks ist besonders schwierig,
da die Geräte
hier nicht unter der Kontrolle des zentralen Administrators des
Netzwerks stehen. Deshalb kann das Verhalten dieser Geräte weder
als gegeben betrachtet noch vorausgesagt werden. Die ständig zunehmende
Diversität
in den Anwendungen, dem Verkehr und der Konvergenz verkompliziert
ebenfalls die Verwaltung der Dienstqualität. Unterschiedlicher Verkehr
weist unterschiedliche Dienstqualitäts-Erfordernisse auf, und die
Konsequenzen von Verzögerung
und/oder Verlust unterscheiden sich für verschiedene Verkehrsarten
entsprechend der ihnen von einer Anwendung auferlegten Interpretation.
-
Die
Möglichkeit
des Replizierens von Netzwerkgeräten,
um eine physikalische Trennung und eine separate Abarbeitung von
Verkehr mit unterschiedlichen Qualitätsanforderungen zu ermöglichen,
ist nicht praktikabel, da die Implementierung von Netzwerkgeräten kostspielig
ist. Aus diesem Grund ist es wünschenswert, die
Dienstqualität
verschiedener Verkehrsarten mit einem einzigen Netzwerkgerät zu verwalten.
-
Zur
Zeit existiert ein Trend zur Bildung von Verkehrsmustern als Muster
mit konstanter Bitrate, mit dem Ziel einer verbesserten Vorhersagbarkeit.
Dies ist eine deterministische Steuerung, die sich mit einer Verbesserung
der Verlustcharakteristik und der Effizienz eines Netzwerks befaßt. Solche
Techniken haben jedoch den Nachteil, daß die Qualitätsgewährleistung
in Gegenwart einer "kapazitätsübersteigenden
Buchung" umfassende
globale Kenntnisse des Verhaltens der Quellen im Netzwerk erfordert,
wie beispielsweise ihre Ein-/Auszeiten,
ihre relative Phase sowie die Einflüsse ihrer Vorgeschichte auf
den Zustand des Netzwerks.
-
Jüngste Forschungsergebnisse
bezüglich
der Dienstqualität
haben gezeigt, daß es
in endlichen Warteschlangensystemen zwei Freiheitsgrade gibt. Die
Zuweisung der einzelnen Freiheitsgrade an ein individuelles Paket
war kein Thema früherer
Studien.
-
Chao
H.J. et al, "Queue
Management with Multiple Delay and Loss Priorities for ATM switches", International Conference
an Communications, USA, New York, IEEE, Band –, 1. Mai 1994, Seiten 1184–1189, XP000438688,
offenbart die Zuweisung einer Dienstklasse an jeden Dienst in einem
ATM. Eine solche Dienstklasse weist eine assoziierte Verzögerungspriorität und Verlustpriorität auf.
-
Deshalb
ist es ein Ziel der vorliegenden Erfindung, eine verbesserte Technik
zur Verfügung
zur Steuerung des Informationsflusses in einem Datenübertragungssystem
zu stellen, welche eine Verbesserung der Steuerung der Dienstqualitäts-Erfordernisse
für unterschiedliche
Verkehrsarten ermöglicht.
-
Zusammenfassung der Erfindung
-
Gemäß der vorliegenden
Erfindung wird ein Verfahren zur Prioritätszuteilung in einem Informationsfluß in einem
Datenübertragungssystem
zur Verfügung
gestellt, welches folgendes aufweist; Empfang einer Anzahl von Datenpaketen;
und Zuteilen einer Prioritätsstufe
an jedes Datenpaket; wobei der Schritt des Zuteilens einer Prioritätsstufe
zugleich die Bestimmung einer Klasse für den Verlust des Pakets und
eine Klasse für
die Abarbeitung des Pakets aufweist, dadurch gekennzeichnet, daß die Prioritätsstufen
in Abhängigkeit
von der aktuellen Auslastung des Informationsflusses zugeteilt werden.
-
Es
wurde festgestellt, daß die
Wahl für
jeden Freiheitsgrad unabhängig
und gleichzeitig getroffen werden muß. Deshalb beinhaltet diese
Erfindung ein Verfahren zum Ausführen
einer solchen zusammengesetzten Wahl.
-
Das
Verfahren kann des weiteren die Erzeugung eines abgeänderten
Informationsflusses aufweisen, in dem die Pakete variable Abstände haben.
Die variable Beabstandung kann zufällig oder pseudo-zufällig sein.
-
Die
Prioritätsstufen
können
unabhängig
vom Zustand einer Warteschlange, welcher der Informationsfluß selektiv
zugeführt
wird, zugewiesen werden. Jedes Paket kann selektiv wenigstens einer
von einer Anzahl von Warteschlangen zugeführt werden.
-
Die
vorliegende Erfindung stellt auch eine Prioritätssteuerung für die Zuteilung
einer Priorität
in einem Informationsfluß zur
Verfügung,
welche folgendes aufweist: Mittel zum Zuteilen einer Prioritätsstufe
an jedes Paket, und darin enthalten; Mittel zur Bestimmung einer
Klasse für
den Verlust des Pakets und Mittel für die gleichzeitige Bestimmung
einer Klasse für
die Dringlichkeit des Pakets, dadurch gekennzeichnet, daß die Prioritätssteuerung
dafür eingerichtet
ist, Prioritätsstufen
in Abhängigkeit
von der aktuellen Auslastung des Informationsflusses zuzuteilen.
-
Die
Mittel zur Zuteilung einer Priorität können einen Überwacher/Bearbeiter umfassen.
Eine Anzahl paralleler Steuerungen kann zum Erzeugen einer Anzahl
von Informationsflüssen
vorgesehen werden. Ein Multiplexer kann zum Multiplexen der Anzahl
von Informationsströme
vorgesehen werden.
-
Kurze Beschreibung der Zeichnung
-
Die
Erfindung ist am besten an Hand eines Beispiels zu verstehen sowie
mit Bezugnahme auf die Zeichnung, in der:
-
1 zeigt
ein Blockdiagramm der Architektur einer Multiplexers gemäß einer
beispielhaften Ausführungsform
der Erfindung;
-
2 zeigt
das Warteschlangenprinzip gemäß einer
beispielhaften Ausführungsform
der Erfindung;
-
3 zeigt
das Prinzip der Zuteilung von Prioritätsstufen gemäß einer
beispielhaften Ausführungsform
der Erfindung;
-
4 zeigt
das Prinzip der stochastischen Abarbeitung von Paketen gemäß einer
beispielhaften Ausführungsform
der Erfindung;
-
5 zeigt
das Prinzip einer konzeptionellen Paketlänge gemäß einer beispielhaften Ausführungsform
der Erfindung;
-
die 6(a) und 6(b) zeigen
das Prinzip des Verkettens von Bearbeitern/Überwachern gemäß einer beispielhaften
Ausführungsform
der Erfindung;
-
7 zeigt
das Prinzip des Definierens einer transportierten Auslastung in
Abhängigkeit
von einer angebotenen Auslastung gemäß einer beispielhaften Ausführungsform
der vorliegenden Erfindung;
-
8 zeigt
eine beispielhafte Ausführungsform
eines Überwachers/Bearbeiters
zum Implementieren der vorliegenden Erfindung;
-
9 zeigt
eine beispielhafte Ausführungsform
eines Sorgfalt/Dringlichkeit-Multiplexers
zum Implementieren der vorliegenden Erfindung;
-
10 zeigt das Auslastungsprofil für eine beispielhafte
Implementierung eines Überwachers/Bearbeiters.
-
Beschreibung der bevorzugten Ausführungsform
-
Mit
Bezug auf 1 wird ein Diagramm gezeigt,
das die Architektur eines grundsätzlichen
Multiplexers veranschaulicht, an Hand derer die Arbeitsweise der
vorliegenden Erfindung beschrieben wird. Es ist zu beachten, daß die Anwendung
der vorliegenden Erfindung nicht auf die in 1 gezeigte,
spezifische Architektur beschränkt
ist, und aus der Lektüre
der folgenden Beschreibung wird der Fachmann die verallgemeinerte
Anwendbarkeit der vorliegenden Erfindung erkennen. Der beispielhafte
Multiplexer 100 in 1 multiplexiert
die Datenströme
in einem paketbasierten Netzwerk, wie weiter unten näher beschrieben
wird.
-
Der
generell mit der Bezugsnummer 100 bezeichnete, beispielhafte
Multiplexer umfaßt
eine Eingangsschnittstelle 100, eine Strom-Identifizierung 102, eine
Anzahl von Überwachern/Bearbeitern 104,
einen Sorgfalt/Dringlichkeit-Multiplexer 106,
einen Ratenbegrenzer 108, eine Ausgangsschnittstelle 110,
einen Warteschlangenspeicher 112 und eine Warteschlangenverwaltung 114.
-
Der
Multiplexer 100 empfängt
einen Informationsfluß als
ein Eingangssignal auf den Leitungen 116. Der Informationsfluß umfaßt Pakete,
die zu verschiedenen unterschiedlichen Datenverkehrstypen gehören können. Die
Pakete können
parallel oder seriell empfangen werden. Der Eingang an der Leitung 116 kann
parallele Informationsströme
empfangen. Der Eingangsdatenstrom 116 kann Pakete enthalten,
die zu verschiedenen unterschiedlichen Datenverkehrstypen gehören. Für den Zweck
des beschriebenen Beispiels wird angenommen, daß der Datenstrom einen Sprachverkehr-über-IP-Strom,
einen Datenblocktransfer-Strom und einen Telnetverkehr-Strom umfaßt.
-
Die
Eingangsschnittstelle 100 stellt die grundsätzliche
Funktionalität,
die für
den Empfang übertragener
Datenpakete von einem externen System oder Gerät über ein Übertragungsmedium erforderlich
ist, zur Verfügung.
Die Eingangsschnittstelle 100 empfängt Datenpakete aus dem Eingangsdatenstrom 116 und
leitet die empfangenen Pakete, vorzugsweise in parallel, auf den
Leitungen 118 sowohl zur Stromidentifizierung 102 wie
auch zur Warteschlangenspeicher-Verwaltung 114 weiter.
Die Eingangsschnittstelle muß eine
Funktionalität
aufweisen, die geeignet ist für
das gegebene externe System oder Gerät, von welchem die Pakete im
Eingangsdatenstrom 116 stammen. Die Eingangsschnittstelle
ist nicht direkt verantwortlich für eine etwaige Bearbeitung
bezüglich
der Qualitätsverwaltung
des Datenstroms gemäß der vorliegenden
Erfindung. Die Eingangsschnittstelle kann eine grundsätzliche
Funktionalität
aufweisen, um eine Vorabprüfung
der im Eingangsdatenstrom empfangenen Pakete auszuführen. Wird
beispielsweise ein verfälschtes
Paket empfangen, kann das Paket von der Eingangsschnittstelle verworfen
werden.
-
Die
Struktur der Eingangsschnittstelle ist von der Implementierung abhängig. Die
grundsätzliche
Funktionalität
der Eingangsschnittstelle, die zur Implementierung etwaiger gewünschter
Merkmale erforderlich ist, wird dem Fachmann ersichtlich sein.
-
Die
Warteschlangenspeicher-Verwaltung 114 ist für die Verwaltung
einer Gruppe von Warteschlangen und eines Paketspeicherbereichs
verantwortlich. Die Warteschlangenspeicher-Verwaltung 114 empfängt Pakete
von der Eingangsschnittstelle 100. Bei Ankunft eines Pakets
weist die Warteschlangenspeicher-Verwaltung dem Paket eine eindeutige
Identifizierung zu und sendet die Identifizierung für das Paket
an die Strom-Identifizierung 102 auf der Leitung 140.
Zusätzlich
speichert die Warteschlangenspeicher-Verwaltung das Paket in einem
temporären
Paket-Pufferspeicher. Die Warteschlangenspeicher-Verwaltung weist
dem Paket auch einen Referenzzähler
zu und initialisiert den Referenzzähler für dieses Paket mit dem Zählerstand Null.
Wie weiter unten beschrieben wird, wird der Referenzzähler von
der Warteschlangenspeicher-Verwaltung verwendet, um festzustellen,
ob das dem Referenzzähler
assoziierte Paket noch vom Multiplexer 100 bearbeitet wird,
oder ob es aus dem Warteschlangenspeicher 112 entfernt
(oder dort gar nicht erst eingegeben) werden soll.
-
Die
Paketidentifizierung ist eine Identifizierung, die ein Paket eindeutig
identifiziert. Die Paketidentifizierung identifiziert das Paket
für den
Zweck des Speicherns der Paketidentifizierung im Warteschlangenspeicher 112,
wie weiter unten beschrieben wird, und um jedes Paket von den anderen
Paketen im Speicher zu unterscheiden. In einer einfachen Implementierung
ist die Paketidentifizierung eine Zahl, wobei jedem Paket eine Paketidentifizierung,
die die nächste
Zahl in numerischer Folge ist, zugewiesen wird. Als Alternative
kann die Paketidentifizierung aus eindeutiger Information aus dem
Paketkopf zusammengesetzt sein. In Systemen, in welchen die Paketgröße variabel
ist, kann die Länge
des Pakets mit in der Paketidentifizierung untergebracht werden.
-
Die
Strom-Identifizierung 102 empfängt auf den Leitungen 118 ebenfalls
die Pakete von der Eingangsschnittstelle und empfängt auf
der Leitung 140 die Paketidentifizierung für jedes
Paket von der Warteschlangenspeicher-Verwaltung 114. Die
Strom-Identifizierung 102 ist für die Bestimmung, zu welchem
Strom jedes Paket gehört,
zuständig.
Daher bestimmt beispielsweise die Strom-Identifizierung, ob ein
bestimmtes Paket zu einem Spachverkehr-über-IP-Strom, einem Blockdaten-Übertragungsstrom oder einem
Telnetverkehr-Strom gehört.
Entsprechend dem Strom, zu welchem die gegebene empfangene Paketidentifizierung
gehört,
leitet die Stromidentifizierung die Paketidentifizierung für das betreffende
Paket weiter an einen der Überwacher/Bearbeiter 104 für die weitere
Bearbeitung.
-
Wie
aus der folgenden Beschreibung ersichtlich wird, basiert die restliche
Bearbeitung auf der Paketidentifizierung und nicht auf dem Paket.
Die Paketidentifizierung erweist sich als eine effiziente stellvertretende Darstellung
des Pakets als vorteilhaft. Wie weiter unten beschrieben wird, gewährleisten
der Warteschlangenspeicher und die Paketidentifizierungen, daß die Originalposition
in der Sequenz jedes einzelnen Pakets in der Multiplexoperation
nicht verlorengeht.
-
Die Überwacher/Bearbeiter 104 sind
eine operative Variante einer FIFO-Warteschlange, in der das Einfügen und
das Entfernen von Elementen in der Warteschlange mit Bearbeitungs-Nebenaufgaben
behaftet sind. Solche FIFO-Warteschlangen
sind wohlbekannt, und ihre Implementierung liegt gut im Rahmen der
Fähigkeiten
des Fachmanns. Die Konfiguration der Überwacher/Bearbeiter ist von
der Implementierung abhängig.
-
In
dem in 1 dargestellten einfachen Beispiel wird angenommen,
daß jedem
der empfangenen verschiedenen Verkehrsströmen ein Überwacher/Bearbeiter zugewiesen
ist. Daher ist beispielsweise der Überwacher/Bearbeiter 104a dem
Sprachverkehr-über-IP
zugewiesen, der Überwacher/Bearbeiter 104b ist
dem Datenblockübertragungs-Verkehr
zugewiesen, und der Überwacher/Bearbeiter 104c ist
dem Telnetverkehr zugewiesen. Der Überwacher/Bearbeiter 104d ist
in 1 als beispielhaftes Mittel zur Verwaltung von
Paketen dargestellt, die zu Strömen
gehören,
die andere sind als die mit den Überwachern/Bearbeitern 104a bis 104c bearbeiteten
Strömen.
Somit leitet die Stromidentifizierung 102 die mit der Spachübertragung-über-IP assoziierten
Paketidentifizierungen auf der Leitung 120a weiter zum Überwacher/Bearbeiter 104a,
die mit Blockdatenübertragungspaketen
assoziierten Paketidentifizierungen auf der Leitung 120b weiter
zum Überwacher/Bearbeiter 104b,
und die mit Telnetverkehrpaketen assoziierten Paketidentifizierungen
auf der Leitung 120c weiter zum Überwacher/Bearbeiter 104c.
-
Im
Fall von Multicasting oder anderen Diensten, die Replikation erfordern
(beispielsweise Überwachungsdienste),
kann die Stromidentifizierung 102 Paketidentifizierungen
an mehr als einen Überwacher/Bearbeiter 104 weiterleiten.
-
Es
sei bemerkt, daß die
Stromidentifizierung 102 keine Pakete zur Weiterbearbeitung
innerhalb des Multiplexers 100 weiterleitet. Statt dessen
leitet die Stromidentifizierung die den Paketen zugeteilten Paketidentifizierungen
weiter zur weiteren Bearbeitung im Multiplexer 100.
-
Die Überwacher/Bearbeiter 104 sind
verantwortlich für
die Zuteilung der Qualitäts-Klassifizierungen
an die Pakete innerhalb eines Stroms, und verantwortlich für die Qualitätskontrolle
des Stroms, sowohl kurzfristig wie auch langfristig, mittels selektivem
Verwerfen von Paketidentifizierungen im Strom und selektivem zeitlichem
Versatz von Paketen im Strom.
-
Eine
Aufgabe des Überwachers/Bearbeiters
ist die Abarbeitung von Paketen mit einer variablen Abarbeitungsrate,
indem die entsprechenden Paketidentifizierungen verwendet werden.
Als ein Ergebnis haben die den Überwacher/Bearbeiter
verlassenden Paketidentifizierungen variable Abstände, vorzugsweise
mit zufälliger
oder pseudo-zufälliger
Beabstandung. Zufällige
Beabstandung der Pakete gewährleistet,
daß der
am wenigsten dringende Datenverkehr schließlich vom Sorgfalt/Dringlichkeit-Multiplexer 106 abgearbeitet
wird. Die variable Beabstandung der Pakete am Ausgang des Überwachers/Bearbeiters 104 vermindert
die Kohärenz zwischen
Strömen
von unabhängigen
Quellen. Die Erzeugung unabhängiger
zeitlicher Muster zwischen Strömen
erhöht
die Gerechtigkeit des Entscheidungsvorgangs des Sorgfalt/Dringlichkeit-Multiplexers.
Die den Paketidentifizierungen zugewiesenen Sorgfalt/Dringlichkeit-Klassifizierungen
in den Überwachern/Bearbeitern bewirken
alleine noch keine bedingungslose Gerechtigkeit.
-
Beispielsweise
ist die von einem Paket mit einer assoziierten niedrigen Dringlichkeits-Einstufung
erlittene Verzögerung
vom zeitlichen Muster der dringenderen Datenverkehrsströme abhängig. Wenn
zwei Ströme mit
unterschiedlichen Sorgfalt/Dringlichkeit-Stufen zeitliche Kohärenz aufweisen,
können
die mit höherer
Sorgfalt eingestuften Pakete den Wettlauf für den Eintritt in den Sorgfalt/Dringlichkeit-Multiplexer 106 möglicherweise
immer "gewinnen" und/oder die dringenderen
Daten werden möglicherweise
immer zuerst übertragen.
Dies wird statistisch weniger wahrscheinlich, wenn die Ströme variabel
beabstandete Pakete aufweisen.
-
Mit
Bezugnahme auf 4 sind dort zwei der Überwacher/Bearbeiter 104a und 104b aus 1 dargestellt,
mit Beispielen der Datenpaketströme
an ihren Eingängen
und Ausgängen.
Der Überwacher/Bearbeiter 104a empfängt Pakete 200 mit
konstanter Beabstandung t auf seiner Eingangsleitung 120a.
Der Überwacher/Bearbeiter 104b empfängt Paketidentifizierungen 202 mit
konstanter Beabstandung t auf seiner Eingangsleitung 120b.
Der Überwacher/Bearbeiter 104a bearbeitet
die Paketidentifizierungen in seiner Warteschlange in einer solchen
Weise, daß die
Pakete 200a, 200b und 200c auf seiner
Ausgangsleitung 122a mit variabler Beabstandung dazwischen
generiert werden. In ähnlicher
Weise ergibt die Bearbeitung der Paketidentifizierungen durch den Überwacher/Bearbeiter 104b die
Paketidentifizierungen 202a, 202b und 202c auf seiner
Ausgangsleitung 122b mit variabler Beabstandung.
-
Eine
zweite Funktion des Überwachers/Bearbeiters
ist die Begrenzung des Verkehrsvolumens in einem Strom, indem Pakete
selektiv verworfen werden. Die Art der Überwachungsstrategie wird an
Hand eines Auslastungsprofils spezifiziert, welches eine Funktion
ist von (wenigstens) der angebotenen Auslastung (das heißt die Ankunftsrate
von Paketen in einem Strom). Deshalb, und zwar vorteilhaft, können verschiedene
Charakteristika für
unterschiedliche Auslastungsstufen definiert werden. Das heißt, die
Qualität
kann bei steigender Ankunftsrate niedriger oder höher eingestuft
werden. Somit können
die Transporteigenschaften so eingestellt werden, daß sie den
Bedürfnissen
der Anwendung besser angepaßt
sind und die Auswirkungen von abnormalen angebotenen Auslastungen,
beispielsweise Dienstverweigerungsangriffe, können vermieden werden. Mit
Bezugnahme auf 7 wird dort das Prinzip des
Definierens von Transportcharakteristika in Abhängigkeit von der angebotenen
Auslastung dargestellt.
-
In 7 wird
die angebotene Auslastung auf der X-Achse und die tatsächlich übertragene
Auslastung auf der Y-achse dargestellt. Wie in 7 zu
erkennen ist, gibt es zwei Schwellenpegel: einen unteren Schwellenpegel 250 und
einen oberen Schwellenpegel 252. Wenn das Verkehrsangebot
den Schwellenpegel 252 nicht überschreitet, kann die angebotene
Auslastung im Rahmen der eingestellten Gewährleistungen übertragen
werden. Wenn die angebotene Auslastung den Schwellenpegel 252 überschreitet,
kann die Übertragung der
angebotenen Auslastung nicht garantiert werden. Der untere Schwellenpegel 250 entspricht
der Auslastung, die auf jeden Fall übertragen wird, egal wie hoch
die angebotene Auslastung wird.
-
Nochmals
mit Bezugnahme auf 7 gilt daher, daß sobald
die angebotene Auslastung den oberen Schwellenpegel 252 und
den Punkt 254 erreicht, wird die übertragene Auslastung so eingestellt,
daß sie
reduziert ist. Bei weiterer Zunahme der angebotenen Auslastung wird
die übertragene
Auslastung weiter reduziert, mit einem Trend zur Stabilisierung
beim unteren Schwellenpegel 250.
-
Folglich
wird die Rate des Verwerfens von Paketen von der angebotenen Auslastung
bestimmt. Der obere Schwellenpegel definiert einen Pegel, bei welchem
das selektive Verwerfen von Paketen angestoßen wird. Pakete werden vorzugsweise auf
der Grundlage einer momentanen Approximierung der angebotenen Auslastung
verworfen. Pakete können
probabilistisch auf der Grundlage einer momentanen Approximierung der
angebotenen Auslastung verworfen werden. Wenn die angebotene Auslastung
zu einer übertragenen
Auslastung führt,
die den oberen Schwellenpegel überschreitet,
wird die übertragene
Auslastung auf einen Wert unterhalb des oberen Schwellenpegels reduziert,
indem Pakete selektiv verworfen werden. Wenn sie reduziert wird,
wird die übertragene
Auslastung vorzugsweise auf einen Pegel reduziert, der oberhalb
des unteren Schwellenpegels liegt. Die Reduktion der übertragenen
Auslastung ist um so stärker,
je größer die
angebotene Auslastung ist. Die übertragene
Auslastung wird als Reaktion auf eine Zunahme der angebotenen Auslastung weiter
reduziert.
-
Ein Überwacher/Bearbeiter
erzielt ein gewünschtes
Auslastungsprofil durch das selektive Verwerten von Paketen. Die
Pakete werden vorzugsweise auf der Grundlage einer momentanen Approximierung
der angebotenen Auslastung verworfen. Mit Bezugnahme auf 10 wird dort ein Auslastungsprofil für eine beispielhafte
Implementierung eines Überwachers/Bearbeiters
dargestellt. 10 zeigt ein Auslastungsprofil
für einen beispielhaften Überwacher/Bearbeiter,
der als eine Warteschlange mit 10 Pufferspeichern und stochastischen Abarbeitungszeiten
implementiert ist, die einer exponentiellen Verteilung entnommen
sind, deren Ratenparameter μ1 = μ2 = ... = μ9 = 1,3234, μ10 =
0,5 sind. Der Graph weist ein Auslastungsprofil für einen
als Warteschlange mit 10 Pufferspeichern implementierten Überwacher/Bearbeiter
auf, mit Abarbeitungszeiten die einer Exponentialverteilung entnommen
sind, deren Ratenparameter von der Anzahl Pakete in den Warteschlangen
abhängen.
Eine Beschreibung einer solchen Implementierung wird weiter unten
an Hand eines Beispiels gegeben. Die Abarbeitungsratenparameter
sind μ1 = μ2= ... = μ9 = 1,3234, μ10 =
0,5, wobei die numerischen Werte für die Abarbeitungsraten sowie
für die
angebotenen und übertragenen
Auslastungen so skaliert sind, daß der obere Schwellenpegel
den Wert 1 annimmt. Das in 10 dargestellte
Auslastungsprofil zeigt die durchschnittliche übertragene Auslastung, wenn
der ankommende Verkehr eine Poissonverteilung aufweist. Die Anwendung
standardmäßiger Ergebnisse
der Warteschlangentheorie ermöglicht
die Bestimmung der erwarteten Verlustrate.
-
Eine
dritte Funktion der Überwacher/Bearbeiter
104 ist
die Zuteilung von Sorgfalt- und Dringlichkeit-Klassifizierungen
an die Paketidentifizierungen, die sich in ihren Warteschlangen
befinden. Indem solche Klassifizierungen den Paketidentifizierungen
zugewiesen werden, werden den Paketen selbst schon von sich aus
die gleichen Klassifizierungen zugewiesen. Das Prinzip der Sorgfalt-
und Dringlichkeitstufen wird in der
europäischen Patentanmeldung
unter der Offenlegungsnummer 1 177 659 diskutiert. Eine
Sorgfaltstufe bezeichnet eine Klasse oder eine Stufe für den Verlust
eines Pakets. Die Verlustklasse ist ein Indikator für die Tendenz,
daß das
Paket verworfen wird. Eine Dringlichkeitstufe bezeichnet den Grad
der Dringlichkeit, mit welcher ein Paket abgearbeitet werden sollte.
Die Dringlichkeit- und Sorgfaltstufen, zusammen betrachtet, können so
verstanden werden, daß sie
eine Prioritätsstufe
für ein
Paket darstellen. Somit hat eine Prioritätsstufe in diesem Kontext zwei
Komponenten.
-
Wie
weiter oben diskutiert wurde, werden in diesem beispielhaften Überwacher/Bearbeiter
die Übertragungs-Charakteristika
für einen
Strom, einschließlich
der Zuteilung von Sorgfalt- und Dringlichkeitstufen, auf der Grundlage
der angebotenen Auslastung bestimmt. Die Sorgfalt- und Dringlichkeit-Klassifizierungen
werden vorteilhaft den Paketindentifizierungen auf der Grundlage
einer Funktion des aktuellen Zustands der Warteschlange zum Zeitpunkt
der Berechnung der Klassifizierung gleichzeitig zugewiesen. Die
Wahrscheinlichkeit des Vorliegens eines bestimmten Zustands ist
eine Funktion der angebotenen Auslastung. Diese Klassifizierungsfunktion
ist konfigurierbar und kann ohne Einschränkung gewählt werden. Beispielsweise
kann ein gegebener Überwacher/Bearbeiter
so konfiguriert werden, daß er
den Paketen eine von zwei Klassifizierungen auf der Grundlage eine
probabilistischen Wahl zuweist. Die verwendete Klassifizierungs-Probabilität kann sich
auf die Länge
der Warteschlange beziehen. Das heißt, eine solche Konfiguration
kann mit der Absicht gewählt werden,
eine höhere
Klassifizierungen den Paketen mit höherer Wahrscheinlichkeit zuzuteilen,
wenn die angebotene Auslastung niedrig ist.
-
Die
Klassifizierung eines Pakets bestimmt die maximale Verlustgefahr
und Verzögerung,
die das Paket am wahrscheinlichsten erleiden wird, wenn es mit anderen
Strömen
am Ausgang des Überwachers/Bearbeiters
multiplexiert wird, wie hier unten näher beschrieben wird. Dies
ist ein vom möglichen
Verlust und von der möglichen
Verzögerung
des Pakets innerhalb des Überwachers/Bearbeiters
separates Konzept. Der erlittene Verlust eines Pakets im Überwacher/Bearbeiter
hängt von
der jüngsten
Ankunftsrate des Stroms und der Länge der Warteschlange ab. Die
Verzögerung
wird von den eingestellten Abarbeitungsraten und der Länge der Warteschlange
bestimmt.
-
Jeder
der Überwacher/Bearbeiter 104 wird
vorzugsweise mit Verwendung einer Warteschlange mit variabler Abarbeitungsrate
ausgeführt.
Wenn ein Überwacher/Bearbeiter 104 eine
Paketidentifizierung empfängt, bestimmt
er, ob die Paketidentifizierung in seiner internen Warteschlange
gespeichert oder verworfen werden soll. Die Steuerung der Aufnahme
einer Paketidentifizierung in die Warteschlange eines Überwachers/Bearbeiters
wird weiter unten diskutiert.
-
Zuerst
wird nachfolgend die Operation, mit welcher Pakete von den Überwachern/Bearbeitern 104 zugelassen
oder verworfen werden, diskutiert. Für den Zweck dieser Diskussion
wird als Beispiel ein Überwacher/Bearbeiter
genommen, der ein Warteschlangensystem mit einer Warteschlangenlänge von
vier aufweist, wie dies in 2 dargestellt
ist. Jeder Zustand in 2 ist mit der Länge der
Warteschlange in diesem Zustand bezeichnet. Die Abarbeitungszeiten
in jedem Zustand ergeben sich aus dem Sampling einer exponentiellen Verteilung
mit Ratenparameter μ.
Die Abarbeitungszeiten bestimmen die konzeptmäßige Abarbeitungsrate für das Paket.
Zwei unterschiedliche Abarbeitungsraten werden im in 2 gezeigten
Beispiel verwendet. Wenn sich die Warteschlange im Zustand 1 befindet
(das heißt,
es befindet sich nur ein Datenpaket in der Warteschlange), dann
bestimmt μ1 die Abarbeitungsrate für das Paket am Kopf der Warteschlange.
Wenn die Warteschlange länger
ist, beispielsweise im Zustand 3, dann würde die Abarbeitungsrate μ2 verwendet
werden. Diese beispielhafte Ausführungsform
des Überwachers/Bearbeiters
weist auch willkürliche
Wahrscheinlichkeiten des mit jedem Zustand assoziierten Verwerfens
auf. Das heißt,
bei Ankunft existiert eine Wahrscheinlichkeit, daß die Paketidentifizierung
willkürlich
verworfen wird. In diesem Beispiel ist die Wahrscheinlichkeit für dieses
Ereignis vom Zustand der Warteschlange bei Ankunft der Paketidentifizierung
abhängig.
Die Arbeitsweise eines Überwachers/Bearbeiters
wird nun bezüglich
des Zustands der Warteschlange bei Ankunft der Paketidentifizierung
beschrieben.
-
In
einem ersten Fall wird angenommen, daß die Warteschlange zum Zeitpunkt
der Ankunft der Paketidentifizierung voll ist. In einem solchen
Fall ist die Wahrscheinlichkeit, daß die Paketidentifizierung
in die Warteschlange aufgenommen wird, null. Dies bedeutet nicht
notwendigerweise, daß das
Paket automatisch verworfen wird, da das Paket möglicherweise an mehr als einen
der verfügbaren Überwacher/Bearbeiter
geschickt wurde. In einem solchen Fall leitet der Überwacher/Bearbeiter 104 einen
Befehl auf seiner zugehörigen Leitung 138 weiter,
um die Referenzzählung
für das
mit einer bestimmten Identifizierung assoziierte Paket zu dekrementieren.
Die Warteschlangenspeicher-Verwaltung wird dann das von der Paketidentifizierung
bezeichnete Paket verwerfen, wenn seine Referenzzählung 0
oder weniger ist.
-
In
einem zweiten Fall ist zum Zeitpunkt der Ankunft einer Paketidentifizierung
am Überwacher/Bearbeiter 104 die
Warteschlange fast voll. Beispielsweise sei angenommen, daß sich die
Warteschlange im Zustand 3 befindet. Im Zustand 3 ist die Wahrscheinlichkeit,
daß die
Paketidentifizierung nicht in die Warteschlange eingegeben wird
30%. Wenn die Paketidentifizierung zugelassen wird, wird sie in
der Warteschlange des Überwachers/Bearbeiters
gespeichert und die Warteschlange geht in den Zustand 4 über. Die
Warteschlange ist dann voll und etwaige Paketidentifizierungen,
die ankommen, bevor eine Paketidentifizierung in der Warteschlange
sie verläßt, werden
nicht zugelassen.
-
Wenn
die Paketidentifizierung in die Warteschlange des Überwachers/Bearbeiters 104 eingegeben wird,
sendet der Überwacher/Bearbeiter 104 ein
entsprechendes Signal auf seiner zugehörigen Leitung 138 an
die Warteschglangenspeicher-Verwaltung, als Anzeige, daß das mit
der Paketidentifizierung assoziierte Paket dem Warteschlangenspeicher 112 zugeführt und
in einer bestimmten Warteschlange, die für diesem Strom zugehörige Pakete
zugewiesen ist, gespeichert werden soll.
-
Wenn
der Zeitpunkt für
einen Abgang gekommen ist, wird die Paketidentifizierung am Kopf
der Warteschlange abgearbeitet. Die zur Abarbeitung dieser Paketidentifizierung
verwendete Samplingrate hängt
vom Zustand der Warteschlange ab. Auf der Grundlage, daß sich die
Warteschlange im Zustand 4 befindet, wird die verwendete Samplig-Abarbeitungsrate
zur Abarbeitung dieser Paketidentifizierung von einer exponentiell verteilten
Zufallsvariable mit Mittelwert μ2 bestimmt. Die berechnete Abarbeitungszeit
dieses Pakets basiert auf der Sampling-Abarbeitungsrate und der Länge des
Pakets.
-
In
einem dritten Fall trifft eine Paketidentifizierung zu einem Zeitpunkt
ein, zu welchem die Warteschlange fast leer ist. In diesem Fall
ist die Bearbeitung der Paketidentifizierung dem Fall mit fast voller
Warteschlange sehr ähnlich.
Angenommen, eine Paketidentifizierung trifft ein, wenn sich die
Warteschlange im Zustand 1 befindet. Es existiert keine Möglichkeit,
daß das
Paket willkürlich
verworfen wird, weil die Wahrscheinlichkeit für ein solches Ereignis auf
Null eingestellt ist. Deshalb wird die Paketidentifizierung in der
Warteschlange gespeichert, und die Warteschlange geht in den Zustand
2 über.
Wenn ein Abgangereignis zeitlich vor dem Eintreffen einer weiteren
Ankunft vorgesehen ist, wird die Paketidentifizierung am Kopf der
Warteschlange auf der Grundlage der Abarbeitungsrate für den Zustand
2 abgearbeitet, die μ1 ist.
-
In
einem vierten Fall trifft die Paketidentifizierung zu einem Zeitpunkt
ein, zu welchem die Warteschlange leer ist. In diesem Fall wird,
wie im dritten Fall, die Paketidentifizierung zur Aufnahme in die
Warteschlange zugelassen.
-
Die
hier oben gegebene Beschreibung geht davon aus, daß der Uberwacher/Bearbeiter
nicht für
das verzögerungsfreie Übertragen
etwaiger Pakete konfiguriert ist. Mit anderen Worten, der Überwacher/Bearbeiter
weist vorzugsweise keine Transparenz bei niedriger Auslastung auf,
so daß alle
Pakete verzögert
werden.
-
In
seiner einfachsten Form erlaubt eine Transparenz bei niedriger Auslastung
die sofortige Weiterleitung eines an einer leeren Warteschlange
eintreffenden, ersten Pakets. Trotz dieser Aktion wechselt die Warteschlange
in den Zustand 1. Danach eintreffende Pakete werden so bearbeitet,
als ob dieses Paket vorhanden wäre,
mit Ausnahme, daß wenn
dieses Paket normalerweise bei Ablauf seines Zeitgebers weitergeleitet worden
wäre, es
nicht übertragen
wird. Ob eine Paketidentifizierung sofort bei Ankunft weitergeleitet
wurde oder nicht, wird in der Warteschlange protokolliert. Dieses
Konzept kann in ähnlicher
Weise auf mehrere Pakete erweitert werden.
-
Bevor
eine Paketidentifizierung einen Überwacher/Bearbeiter
verläßt, bestimmt
der Überwacher/Bearbeiter
eine Qualitäts-Klassifizierung
für diese
Paketidentifizierung. Wie hier oben beschrieben, klassifizieren die Überwacher/Bearbeiter
die Paketidentifizierungen mit Sorgfalt- und Dringlichkeit-Klassifizierungen.
Jede Paketidentifizierung muß mit
einer Sorgfalt- und Dringlichkeit-Klassifizierung klassifiziert
werden, bevor sie an den Sorgfalt/Dringlichkeit-Multiplexer 106 weitergeleitet
wird. Die einer Paketidentifizierung zugewiesene Klassifizierung
ist eine Funktion des aktuellen Zustands der Warteschlange.
-
Wir
gehen nochmals von einem Überwacher/Bearbeiter
aus, der eine Warteschlange mit einer Länge von 4 aufweist. Wie in 2 gezeigt
ist, wird angenommen, daß die
Warteschlange des Überwachers/Bearbeiters
so konfiguriert ist, daß die
Abarbeitungsraten für
die Zustände
1 und 2 als μ1 definiert sind, und die Möglichkeit
des willkürlichen
Verlustes für
die Zustände
1 und 2 null ist. Die Zustände
3 und 4 weisen eine definierte Abarbeitungsrate von μ2 und
eine Wahrscheinlichkeit von 0,3 (das heißt 30%) für den willkürlichen Verlust auf.
-
In
einer bevorzugten Ausführungsform
ist jeder Überwacher/Bearbeiter
mit einer primären
und einer sekundären
Sorgfalt/Dringlichkeit-Klassifizierung konfiguriert, und einer Paketidentifizierung
wird bei Ankunft eine dieser Klassifizierungen zugewiesen. Jeder
Zustand hat eine zugehörige
Wahrscheinlichkeit, daß ein
Paket mit der primären
Klassifikation klassifiziert wird. In diesem Beispiel ist die Wahrscheinlichkeit
der Klassifizierung eines Pakets mit der primären Klassifizierung in den
jeweiligen Zuständen
wie folgt eingestellt: 100% für
den Zustand 1, 80% für
den Zustand 2, 60% für
den Zustand 3 und 40% für
den Zustand 4. Diese Wahrscheinlichkeiten sind in 3 dargestellt.
-
Beispielsweise
könnte
die primäre
Klassifizierung eine wünschenswertere
Klassifizierung als die sekundäre
Klassifizierung sein. Wenn die angebotenen Auslastung im Strom niedrig
ist, ist die Wahrscheinlichkeit größer, daß die Pakete die wünschenswertere
primäre
Klassifizierung zugewiesen bekommen, da sich die Warteschlange am
häufigsten
im Zustand 1 oder 2 befinden wird. Mit zunehmender angebotener Auslastung ergibt
sich eine höhere
Wahrscheinlichkeit, daß einer
Paketidentifizierung die sekundäre
Klassifizierung zugewiesen wird, die weniger wünschenswert ist, da dies bedeuten
könnte,
daß die
Paketidentifizierung eine höhere
Verzögerung
und/oder Verlustwahrscheinlichkeit im Sorgfalt/Dringlichkeit-Multiplexer erfahren
wird.
-
Bezugnehmend
auf die oben erfolgte Diskussion der Kriterien für die Zulassung einer Paketidentifizierung
zur Warteschlange, wenn eine Paketidentifizierung im Fall 2 (das
heißt
für das
Beispiel, bei dem die Warteschlange sich im Zustand 3 befindet und
die Paketidentifizierung zugelassen wird, was die Warteschlange
in den Zustand 4 bringt) in die Warteschlange aufgenommen wird,
beträgt
die Wahrscheinlichkeit der Klassifizierung der Paketidentifizierung
mit der primären
Klassifizierung 40%, da sich die Warteschlange dann im Zustand 4
befindet. Deshalb existiert eine Wahrscheinlichkeit von 40%, daß der Paketidentifizierung
die primäre Klassifizierung
zugewiesen wird, und eine Wahrscheinlichkeit von 60%, daß ihr die
sekundäre
Klassifizierung zugewiesen wird. Diese Klassifizierung der Paketidentifizierung
beruht auf einer einfachen wahrscheinlichkeitsbasierten Auswahl.
-
Eine
Paketidentifizierung wird dann aus der Überwacher-/Bearbeiter-Warteschlange am
Ende der berechneten Abarbeitungszeit ausgegeben, und die Warteschlange
begibt sich in den Zustand 3. Eine neu berechnete Abarbeitungszeit
auf der Grundlage der für
den Zustand 3 definierten Parameter bestimmt dann, wann der nächste Abgang
ausgeführt
wird. Wenn eine Ankunft vor Ablauf dieser Zeitperiode stattfindet,
kann die Warteschlange wieder in den Zustand 4 übergehen, und dies in Abhängigkeit
davon, ob die Ankunft willkürlich
verworfen wird oder nicht.
-
Mit
Bezug auf den Fall 3 oben gilt, daß wenn eine Paketidentifizierung
ankommt, wenn die Warteschlange fast leer ist, die Paketidentifizierung
mit der dem Zustand 2 zugeordneten Wahrscheinlichkeit klassifiziert
wird. In diesem Fall existiert eine Wahrscheinlichkeit von 80%,
daß die
Paketidentifizierung an den Sorgfalt/Dringlichkeit-Multiplexer 106 mit
der primären
Klassifizierung weitergeleitet wird.
-
Das
willkürliche
Verwerfen von Paketen bei ihrer Ankunft an einem Überwacher/Bearbeiter
reduziert nicht nur die Ankunftsrate des Stroms, sondern ist auch
dabei behilflich, einen Burst-Verlust zu vermeiden. Wenn beispielsweise
ein Burst von sechs Paketen im Warteschlangensystem von 2 eingetroffen
ist, würden
die letzten zwei Pakete verlorengehen, weil die Pakete nicht willkürlich verworfen
werden. Andererseits gilt, daß wenn
die Wahrscheinlichkeit des willkürlichen
Verwerfens mit der Länge
der Warteschlange zunimmt, könnte
es beispielsweise sein, daß das
vierte oder dritte Paket bei Ankunft verworfen wird, so dass der
Paketverlust gerechter im Burst verteilt wird.
-
Eine
weitere Funktion des hier oben beschriebenen Überwachers/Bearbeiters ist
die Aufbewahrung des mit der in Bearbeitung befindlichen Paketidentifizierung
assoziierten Pakets im Warteschlangenspeicher 112 mittels
Wechselwirkung mit der Warteschlangenspeicher-Verwaltung 114.
Das Speichern von Paketen in Warteschlangen ist erforderlich, um
sicherzustellen, daß die
Reihenfolge der Pakete in einem Strom durch den Abarbeitungsprozeß des Sorgfalt/Dringlichkeit-Multiplexers 106 nicht
verändert
wird. In Abhängigkeit
von der gewählten
Funktion für
die Zuteilung von Sorgfalt/Dringlichkeit-Stufen an Pakete, ergibt
sich die Möglichkeit, daß die Reihenfolge
der Pakete während
des Multiplexierens auf der Leitung 124 verändert werden
könnte, wie
hier weiter unten diskutiert wird.
-
Als
ein Beispiel soll die oben beschriebene einfache wahrscheinlichkeitsbasierte
Klassifizierung betrachtet werden. Angenommen, es trifft ein Burst
von vier Paketidentifizierungen im Überwacher/Bearbeiter ein, und
alle Pakete werden in der Warteschlange gespeichert. Es wird des
weiteren angenommen, daß keine weiteren
Ankünfte
während
der ersten betreffenden Periode stattfinden. Des weiteren wird auch
angenommen, daß der
Sorgfalt/Dringlichkeit-Multiplexer nicht leer ist, sondern daß er Pakete
enthält,
die von anderen Überwachern/Bearbeitern
stammen. Und es wird schließlich
auch angenommen, daß die
primäre
Sorgfalt/Dringlichkeit-Klassifizierung eine wünschenswerte, höhere Dringlichkeitstufe
aufweist, während
die sekundäre
Klassifizierung eine niedrige Dringlichkeitstufe aufweist. Unter
diesen Bedingungen hat die Paketidentifizierung am Anfang des Bursts,
die als "Paketidentifizierung
1" bezeichnet wird,
eine höhere
Wahrscheinlichkeit, die sekundäre
Sorgfalt/Dringlichkeit-Klassifizierung zugewiesen zu bekommen, als
ein Paket in der Nähe
des Burstendes, welches als "Paketidentifizierung
4" bezeichnet wird.
Wenn der Paketidentifizierung 1 eine sekundäre Klassifizierung zugewiesen
wird, während
der Paketidentifizierung 4 eine primäre Klassifizierung zugewiesen wird,
kann der Unterschied der Dringlichkeitstufen dazu führen, daß die Paketidentifizierung
4 früher
als die Paketidentifizierung 1 im Sorgfalt/Dringlichkeit-Multiplexer 106 abgearbeitet
wird.
-
Um
dies zu vermeiden, fordern die Überwacher/Bearbeiter
die Warteschlangenspeicher-Verwaltung 114 auf, die Pakete
im Warteschlangenspeicher 112 als Warteschlange aufzustellen,
in der Reihenfolge der Ankunft ihrer zugeordneten Paketidentifizierungen
im Überwacher/Bearbeiter.
Das heißt,
bei Ankunft im Überwacher/Bearbeiter
wird, wenn eine Paketidentifizierung nicht verworfen wird, der Warteschlangenspeicher
aufgefordert, das Paket in der Warteschlange des betreffenden Stroms
in der Reihenfolge seiner Ankunft zu speichern.
-
8 zeigt
eine beispielhafte Implementierung eines Überwachers/Bearbeiters 104.
Der beispielhafte Überwacher/Bearbeiter
umfaßt
einen Überwacher-/Bearbeiter-Ankunftsbearbeitungsblock 701,
einen Paketidentifizierung-Warteschlangenblock 702, einen Überwacher-/Bearbeiter- Abgangsbearbeitungsblock 704,
einen Zeitgeber 703, einen Verwurf-Wahrscheinlichkeitsgenerator 706 und
einen Abarbeitungszeitgenerator 707.
-
Paketidentifizierungen
treffen auf der Leitung 708 am Überwacher-/Bearbeiter-Ankunftsbearbeitungsblock 701 ein.
Der Überwacher-/Bearbeiter-Ankunftsbearbeitungsblock 701 benachrichtigt
den Überwacher-/Bearbeiter-Konfigurationsverwaltungsblock 705 über die
Leitung 720, daß eine
Paketidentifizierung angekommen ist. Der Überwacher-/Bearbeiter-Konfigurationsverwaltungsblock
fragt den Paketidentifizierung-Warteschlangenblock 702 über die
Leitung 724 ab, um die aktuelle Länge der Warteschlange innerhalb des Überwachers/Bearbeiters
zu erfahren. Auf der Grundlage der vom Paketidentifizierung-Warteschlangenblock
auf der Leitung 726 erhaltenen Antwort ermittelt der Überwacher-/Bearbeiter-Konfigurationsverwaltungsblock,
ob die Warteschlange voll oder nicht voll ist. Wenn Kapazität in der
Warteschlange verfügbar
ist, bestimmt dann der Überwacher-/Bearbeiter-Konfigurationsverwaltungsblock 705,
ob die Paketindentifizierung willkürlich verworfen werden soll,
wobei er Eingangsinformation vom Verwurf-Wahrscheinlichkeitsgenerator 706 auf
der Leitung 732 verwendet.
-
Wenn
die Paketidentifizierung in die Warteschlange zugelassen werden
soll, fordert der Überwacher-/Bearbeiter-Konfigurationsverwaltungsblock 705 den Überwacher-/Bearbeiter-Ankunftbearbeitungsblock 701 über die
Leitung 722 auf, die Paketidentifizierung zuzulassen. Beim
Empfang dieser Reaktion sendet der Überwacher-/Bearbeiter-Ankunftbearbeitungsblock 701 eine
Aufforderung über
die Leitung 736 (äquivalent
zu einer der Leitung 138) an die Warteschlangenspeicher-Verwaltung 114,
das Paket in die eine Warteschlange im Warteschlangenspeicher zu
stellen, die diesem Strom zugeordnet ist. Die Überwacher-/Bearbeiter-Ankunftsbearbeitung
leitet die Paketidentifizierung dann über die Leitung 710 weiter
an den Paketidentifizierungs-Warteschlangenblock 702. Der Überwacher-/Bearbeiter-Konfigurationsverwaltungsblock 705 berechnet eine
neue Abarbeitungszeit auf der Grundlage des Eingangssignals vom
Abarbeitungszeit-Generator 707 auf der
Leitung 734 und der Länge
des Pakets, und sendet diese Abarbeitungszeit über die Leitung 728 an
den Überwacher-/Bearbeiter-Abgangsbearbeitungsblock 704.
Die Überwacher-/Bearbeiter-Abgangsbearbeitung leitet
die neue Abarbeitungszeit über
die Leitung 716 weiter an den Zeitgeber 703. Der
Zeitgeber 703 setzt sich zurück, um am Ende der neuen Abarbeitungszeit
aufzuwachen.
-
Wenn
der Überwacher-/Bearbeiter-Konfigurationsverwaltungsblock 705 feststellt,
daß die
Warteschlange voll ist, weist er den Überwacher-/Bearbeiter-Ankunftsbearbeitungsblock 701 über die
Leitung 722 an, die Paketidentifizierung zu verwerfen.
In diesem Fall sendet der Überwacher-/Bearbeiter-Ankunftsbearbeitungsblock 701 über die
Leitung 736 eine Anweisung zum Verwerfen an die Warteschlangenspeicher-Verwaltung 114.
Der Überwacher-/Bearbeiter-Ankunftsbearbeitungsblock
verwirft dann die Paketidentifizierung.
-
Wenn
der Zeitgeber 703 aufwacht, sendet er über die Leitung 718 eine
Aufforderung an den Überwacher-/Bearbeiter-Abgangsbearbeitungsblock 704,
eine Paketidentifizierung auszugeben. Der Überwacher-/Bearbeiter-Abgangsbearbeitungsblock
sendet auf der Leitung 730 eine Anforderung an den Überwacher-/Bearbeiter-Konfigurationsverwaltungsblock 705 für eine Klassifizierung
und eine neue Abarbeitungszeit. Der Konfigurationsverwaltungsblock 705 fragt
den Paketidentifizierung-Warteschlangenblock 702 über die
Leitungen 724 und 726 ab, um die aktuelle Länge der
Warteschlange zu erfahren. Der Konfigurationsverwaltungsblock verwendet
die aktuelle Länge
der Warteschlange, um die Klassifizierung für die nun abzugebende Paketidentifizierung
zu bestimmen. Die Klassifizierung wird an den Überwacher-/Bearbeiter-Abgangsbearbeitungsblock über die
Leitung 728 gesendet. Der Überwacher-/Bearbeiter-Abgangsbearbeitungsblock 704 verkettet
eine Warteschlangenidentifizierung, welche angibt, welche Warteschlange
im Warteschlangenspeicher 112 zum Speichern von Paketen
dieses Stroms verwendet wird, und die Klassifizierung für die Paketidentifizierung,
und leitet diesen Datensatz auf der Leitung 738 weiter.
-
Es
sei darauf hingewiesen, daß in
dieser beispielhaften Implementierung die Klassifizierung der Paketidentifizierungen
beim Abgang der Pakete aus der Warteschlange ausgeführt wird.
Die Stelle, an welcher die Pakete innerhalb der Überwacher/Bearbeiter klassifiziert
werden, ist jedoch von der jeweiligen Implementierung abhängig und
nicht auf das hier gebrachte Beispiel beschränkt. Wie weiter oben beschrieben
wurde, können
die Paketidentifizierungen bei ihrer Ankunft anstatt bei ihrem Abgang
klassifiziert werden.
-
Wenn
die im Paketidentifizierung-Warteschlangenblock 702 identifizierte
Warteschlange nicht leer ist, sendet der Überwacher-/Bearbeiter- Konfigurationsverwaltungsblock 705 auch
eine neue Abarbeitungszeit über
die Leitung 728 an den Überwacher-/Bearbeiter-Abgangsbearbeitungsblock 704.
Diese Abarbeitungszeit wird über
die Leitung 716 an den Zeitgeber 703 weitergeleitet,
und der Zeitgeber stellt sich so ein, daß er nach Ablauf dieser Zeit
aufwacht. Wenn die Warteschlange leer ist, findet keine Aktion statt.
-
Weitere
mögliche
Modifikationen der Überwacher/Bearbeiter 104 sind
in 1 mit Bezugnahme auf 6 dargestellt.
Wie in 6 gezeigt ist, können die Überwacher/Bearbeiter in unterschiedlicher
Weise verkettet werden.
-
Bezugnehmend
auf 6(a) ist dort eine vorteilhafte
Anordnung dargestellt, in der das Ausgangssignal eines Überwachers/Bearbeiters 210 das
Eingangssignal an zwei parallele Überwacher/Bearbeiter 212 und 214 liefert.
Der Überwacher/Bearbeiter 210 empfängt von
der Stromidentifizierung 102 auf der Leitung 222 Paketidentifizierungen.
Gemäß der standardmäßigen Arbeitsweise
des Überwachers/Bearbeiters,
verwirft der Überwacher/Bearbeiter 210 Paketidentifizierungen
selektiv und er verschiebt Paketidentifizierungen, um an seinem
Ausgang einen modifizierten Strom von Paketidentifizierungen bereitzustellen.
In einer ersten Ausführungsform
wird der so modifizierte Strom von Paketidentifizierungen auf den
Leitungen 234 und 236 an jeden der parallelen Überwacher/Bearbeiter 212 und 214 gesendet.
Die jeweiligen Überwacher/Bearbeiter 212 und 214 verwerfen
dann Paketidentifizierungen selektiv und sie verschieben Paketidentifizierungen
zeitlich, um an ihren Ausgängen 224 und 226 zwei
weitere modifizierte Paketidentifizierungenströme zu erzeugen. In einer zweiten
Ausführungsform
wird die Ausgabe des Überwachers/Bearbeiters 210 selektiv
dem einem oder dem anderen der Überwacher/Bearbeiter 212 und 214 zur
Verfügung
gestellt. Der entsprechende Überwacher/Bearbeiter
der beiden Überwacher/Bearbeiter 212 und 214 verwirft
dann Paketidentifizierungen selektiv und er verschiebt Paketidentifizierungen
zeitlich auf seinen jeweiligen Ausgang.
-
Bezugnehmend
auf 6(b) wird dort eine weitere Anordnung
gezeigt, in der zwei parallele Überwacher/Bearbeiter 216 und 218 Eingangsströme empfangen,
die Paketidentifizierungen aus Strömen auf den Leitungen 228 und 230 umfassen.
Die Ausgabe beider Überwacher/Bearbeiter 216 und 218 an
ihren jeweiligen Ausgängen 238 und 240 bildet
eine Eingabe an einen weiteren Überwacher/Bearbeiter 220.
Der Überwacher/Bearbeiter 220 gibt
Paketidentifizierungen auf der Leitung 232 aus.
-
Für den Fachmann
ist es ersichtlich, wie Überwacher/Bearbeiter
in unterschiedlichen Kombinationen der in 6 gezeigten
Anordnungen verkettet werden können.
Beispielsweise können
die Anordnungen der 6(a) und 6(b) verkettet werden. Zusätzlich kann
ein beliebiger der Überwacher/Bearbeiter
auch Eingangssignale von anderen Quellen empfangen. Beispielsweise
kann der Überwacher/Bearbeiter 212 in 6(a) einen zusätzlichen Eingang erhalten,
der nicht von einem anderen Überwacher/Bearbeiter
gespeist wird. Für den
Fachmann ist es ersichtlich, wie verschiedene Verkettungsanordnungen
implementiert werden können. Die
einzige Einschränkung
ist, daß die Überwacher/Bearbeiter
in einem azyklischen Graphen verkettet sein müssen.
-
Beim
Abgang sendet der Überwacher/Bearbeiter über eine
zugehörige
Ausgangsleitung 122 die Paketidentifizierung und ihre assoziierte
Warteschlangenidentifizierung und Klassifizierung an den Sorgfalt/Dringlichkeit-Multiplexer 106.
Der Sorgfalt/Dringlichkeit-Multiplexer benötigt zusätzlich zur Warteschlangenidentifizierung
die Paketidentifizierung, falls er eine Verwurf-Anweisung an die Warteschlangenspeicher-Verwaltung 114 senden
muß, wie
weiter unten detaillierter diskutiert wird.
-
Der
Sorgfalt/Dringlichkeit-Multiplexer 106 verwaltet die Konkurrenz
für die
Netzwerkressourcen zwischen zwei oder mehreren Strömen. Der
Sorgfalt/Dringlichkeit-Multiplexer 106 empfängt Paketidentifizierungen
von den verschiedenen Überwachern/Bearbeitern 104,
wobei jede Paketidentifizierung mit einer Sorgfalt/Dringlichkeit-Klassifizierung
gekennzeichnet ist.
-
Die
Klassifizierung einer Paketidentifizierung definiert eine Sorgfaltstufe
und eine Dringlichkeitstufe für das
Paket, mit dem sie assoziiert ist. Der Sorgfalt/Dringlichkeit-Multiplexer
verwaltet die Konkurrenz zwischen zwei oder mehreren Strömen, indem
er Pakete (über
ihre Paketidentifizierungen) in Abhängigkeit von ihrer Dringlichkeitstufe
abarbeitet und, falls erforderlichen, Pakete in Abhängigkeit
von ihrer Sorgfaltstufe verwirft. Die Sorgfaltstufe bestimmt, welche
Pakete in den Sorgfalt/Dringlichkeit-Multiplexer eingegeben werden.
Die Dringlichkeitstufe bestimmt die Reihenfolge, in der die Pakete
aus dem Sorgfalt/Dringlichkeit-Multiplexer entnommen werden. Die
Klassifizierung von Paketen unter Verwendung von Sorgfalt- und Dringlichkeitstufen
wird in der
europäischen Patentanmeldung
mit der Offenlegungsnummer 1 177 659 beschrieben. Somit
verwaltet der Sorgfalt/Dringlichkeit-Multiplexer
106 die Konkurrenz
zwischen den drei Strömen
122a,
122b und
122c an den
Ausgängen
der Überwacher/Bearbeiter
104a,
104b und
104c.
-
Wenn
eine Paketidentifizierung mit ihrer assoziierten Sorgfalt/Dringlichkeit-Klassifizierung eintrifft,
ermittelt der Sorgfalt/Dringlichkeit-Multiplexer 106, ob
die Paketidentifizierung gespeichert oder verworfen werden soll.
Dies wird von der verfügbaren
Speicherkapazität
im Sorgfalt/Dringlichkeit-Multiplexer und von der mit der Identifizierung
assoziierten Sorgfaltstufe bestimmt.
-
In
einem bekannten Verfahren zur Implementierung einer Sorgfaltzuteilung
wird der Zugriff auf einen Pufferspeicher im Sorgfalt/Dringlichkeit-Multiplexer
bestimmt, indem eine Sorgfaltstufe mit einem bestimmten Bereich
des Pufferspeichers assoziiert wird. Dies bedeutet folgendes: angenommen,
ein Paket kann mit einer beliebigen von N Sorgfaltstufen klassifiziert
werden. Ebenfalls angenommen, daß insgesamt KN Pufferspeicher existieren.
Datenverkehr der Sorgfaltstufe 1 kann in einen beliebigen der KN Pufferspeicher hineinlaufen, wogegen Datenverkehr
auf Sorgfaltsstufe i nur in die ersten KN-i+1 Pufferspeicher
hineinlaufen kann, wobei K0 = 0 < K1 < ... < KN.
Deshalb ist für
Pakete mit der Sorgfaltstufe 1 die Wahrscheinlichkeit, verfügbare Pufferspeicher-Ressourcen
zu finden, größer als
für Pakete
mit der Sorgfaltstufe i, wobei i > 1.
-
Es
ist ebenfalls ein Schema erforderlich, um zu bestimmen, welche Paketidentifizierung
weitergeleitet werden soll, das heißt, wie die Dringlichkeitstufen
verwendet werden sollen, um die Reihenfolge zu bestimmen, in der
Pakete abgearbeitet werden. Eine Vorgehensweise wäre die Weiterleitung
der Identifizierung am Kopf der Warteschlange mit der höchsten Dringlichkeitstufe,
obwohl auch andere Vorgehensweisen möglich sind.
-
Die
Verlustrate für
Paketidentifizierungen in einem gegebenen Strom wird sowohl von
der den Paketen zugewiesenen Sorgfaltstufe wie auch von der maximalen
Ankunftsrate für
alle anderen Ströme,
die eine gleiche oder höhere
Sorgfaltstufe aufweisen, bestimmt. Die Reihenfolge, in welcher Pakete
im Sorgfalt/Dringlichkeit-Multiplexer abgearbeitet werden, hängt von
ihren Dringlichkeitstufen sowie von den Ankunftsraten und Mustern
dringenderen Verkehrs ab. Dies bestimmt die von der Paketidentifizierung
im Sorgfalt-/Dringlichkeit-Multiplexer
erhaltene Verzögerung.
-
Wenn
der Sorgfalt/Dringlichkeit-Multiplexer 106 eine Paketidentifizierung
verwirft, fordert er die Warteschlangenspeicher-Verwaltung über die
Leitung 136 auf, die Referenzzählung für das betreffende Paket im Warteschlangenspeicher 112 zu
dekrementieren.
-
Der
Sorgfalt-/Dringlichkeit-Multiplexer protokolliert Statistiken bezüglich der
Verkehrsströme,
einschließlich,
jedoch nicht beschränkt
auf die Anzahl der Bytes und/oder die Anzahl der Pakete, und dies
sowohl für
die akzeptierten wie auch für
die verworfenen Pakete für
jede Dringlichkeitstufe und für
jede Sorgfaltstufe.
-
Der
Sorgfalt-/Dringlichkeit-Multiplexer leitet eine der gespeicherten
Paketidentifizierungen zusammen mit ihrer assoziierten Warteschlangen-Identifizierung aus
seinen internen Pufferspeichern auf der Leitung 124 weiter
zum Ratenbegrenzer 108, als Antwort auf eine Anforderung
vom Ratenbegrenzer auf der Leitung 126. Die Wahl, welches
Paar Identifizierungen zum Ratenbegrenzer als Antwort auf eine Anforderung
von dort weitergeleitet wird, wird von der Dringlichkeitstufe der
Paketidentifizierung und vom Auswahlmechanismus des Sorgfalt/Dringlichkeit-Multiplexers
bestimmt.
-
Eine
beispielhafte Implementierung eines Sorgfalt/Dringlichkeit-Multiplexers 106 ist
in 9 dargestellt. Der Sorgfalt/Dringlichkeit-Multiplexer
umfaßt
einen Sorgfalt/Dringlichkeit-Ankunftsbearbeitungsblock 801,
einen Satz Dringlichkeit-Warteschlangen 814,
welcher die Warteschlangen 802 bis 805 aufweist,
einen Sorgfalt/Dringlichkeit-Abgangsbearbeitungsblock 816 und
einen Sorgfalt/Dringlichkeit-Konfigurationsverwaltungsblock 807.
-
Paketidentifizierungen
treffen über
die Leitung 810 am Sorgfalt/Dringlichkeit-Ankunftsbearbeitungsblock 801 ein.
Der Sorgfalt/Dringlichkeit-Ankunftsbearbeitungsblock
benachrichtigt den Sorgfalt/Dringlichkeit-Konfigurationsverwaltungsblock 807,
daß eine
Paketidentifizierung eingetroffen ist und leitet ihre Sorgfaltstufe über die
Leitung 822 weiter. Der Sorgfalt/Dringlichkeit-Konfigurationsverwaltungsblock 807 erfragt
die Länge
von jeder einzelnen Dringlichkeit-Warteschlange 802–805 über die
Leitung 826. Basierend auf der aktuellen Gesamtanzahl von
Paketidentifizierungen, die sich in Warteschlangen im Sorgfalt/Dringlichkeit-Multiplexer 106 befinden,
und der Sorgfaltstufe der Paketidentifizierung, bestimmt der Sorgfalt/Dringlichkeit-Konfigurationsverwaltungsblock,
ob das Paket verworfen werden soll oder nicht.
-
Wenn
die Paketidentifizierung verworfen werden soll, benachrichtigt der
Sorgfalt/Dringlichkeit-Konfigurationsverwaltungsblock 807 die
Sorgfalt/Dringlichkeit-Bearbeitung 801 entsprechend über die
Leitung 824. In diesem Fall sendet die Sorgfalt/Dringlichkeit-Ankunftsbearbeitung über die
Leitung 812 eine Anweisung, das Paket zu verwerfen, an
den Warteschlangenspeicher, wobei das zu verwerfende Paket mit seiner
Identifizierung und mit seiner Warteschlangen-Identifizierung identifiziert
wird. Diese Identifizierungen werden dann vom Sorgfalt/Dringlichkeit-Ankunftsbearbeitungsblock 801 verworfen.
-
Andernfalls
fordert der Sorgfalt/Dringlichkeit-Konfigurationsverwaltungsblock 807 den
Sorgfalt/Dringlichkeit-Ankunftsbearbeitungsblock 801 über die
Leitung 722 auf, die Paketidentifizierung an eine der Dringlichkeit-Warteschlangen 802–805 weiterzuleiten.
Es gibt eine Dringlichkeit-Warteschlange für jede Dringlichkeitstufe.
Diese beispielhafte Implementierung zeigt einen Sorgfalt/Dringlichkeit-Multiplexer,
der für
vier mögliche
Dringlichkeitstufen konfiguriert ist. Die Sorgfalt/Dringlichkeit-Ankunftbearbeitung
erhält
die Dringlichkeitstufe für
die Paketidentifizierung und leitet die Paketidentifizierung und
ihre assoziierte Warteschlangenidentifizierung über eine der Leitungen 830 an
die passende Dringlichkeit-Warteschlange weiter.
-
Anforderungen
für Pakete
aus dem Ratenbegrenzer werden vom Sorgfalt/Dringlichkeit-Abgangsbearbeitungsblock 806 über die
Leitung 818 empfangen. Wenn eine Paketanforderung eintrifft,
fordert die Sorgfalt/Dringlichkeit-Abgangsbearbeitung das Kopfelement von
einer der Dringlichkeit-Warteschlangen 802–805 über eine
der Leitungen 834 an. In der bevorzugten Ausführungsform
werden die Identifizierungen am Kopf der dringendsten Warteschlange
angefordert. Das Paketidentifizierungs- und Warteschlangenidentifizierungs-Paar
am Kopf der Warteschlange, welche die Anforderung empfangen hat,
wird an den Sorgfalt/Dringlichkeit-Abgangsbearbeitungsblock 806 über eine
der Leitungen 832 weitergeleitet. Der Sorgfalt/Dringlichkeit-Abgangsbearbeitungsblock 806 leitet
das Paar von Identifizierungen sofort über die Leitung 124 an
den Ratenbegrenzer weiter.
-
Der
Ratenbegrenzer 108 versetzt die Konkurrenzverwaltung von
einem Punkt stromabwärts
im Netzwerk in den Multiplexer 100, indem er die Abarbeitungsrate
auf eine Rate begrenzt, für
welche das Netzwerk ausreichende Ressourcen aufweist. Der Ratenbegrenzer
gewährleistet,
daß die
maximale Abarbeitungsrate langfristig nicht überschritten wird, indem er
dafür sorgt,
daß die
entsprechenden Lücken
zwischen den übertragenen
Paketen eingehalten werden.
-
Der
Ratenbegrenzer 108 fordert Paketidentifizierungen vom Sorgfalt/Dringlichkeit-Multiplexer
auf einer Anforderungsleitung 126 an und er empfängt Paketidentifizierungen
zusammen mit ihren assoziierten Warteschlangen-Identifizierungen auf der Leitung 124.
Beim Empfang des Paares von Indentifizierungen auf der Leitung 124 liefert
der Ratenbegrenzer die Warteschlangen-Identifizierung auf der Leitung 134 an
die Warteschlangenspeicher-Verwaltung 114.
Als Reaktion darauf, liefert die Warteschlangenspeicher-Verwaltung 114 auf
der Leitung 132 das Paket am Kopf der identifizierten Warteschlange
aus dem Warteschlangenspeicher an den Ratenbegrenzer. Der Ratenbegrenzer
leitet dann Pakete zur Übertragung
an die Ausgangsschnittstelle auf der Leitung 128 weiter.
Beim Weiterleiten eines Pakets an die Ausgangsschnittstelle stellt
der Ratenbegrenzer einen Zeitgeber auf die Abarbeitungszeit des
betreffenden Pakets mit der konfigurierten Rate ein. Am Ende der
für die
Abarbeitung des betreffenden Pakets zugewiesenen Zeitperiode fordert
der Ratenbegrenzer ein weiteres Paket auf der Leitung 126 vom
Sorgfalt/Dringlichkeit-Multiplexer 106 an.
-
Wenn
keine Änderung
der Reihenfolge im Sorgfalt/Dringlichkeit-Multiplexer stattgefunden
hat, ist das von der Warteschlangernspeicher-Verwaltung gesendete
Paket dasselbe Paket, das mit der Paketidentifizierung identifiziert
wurde. Sonst wird die vom Ratenbegrenzer empfangene Paketidentifizierung
sich auf ein Paket beziehen, welches noch in der Warteschlange im
Warteschlangenspeicher wartet.
-
Der
Ratenbegrenzer kann Pakete stochastisch oder deterministisch abarbeiten.
Somit kann der Ratenbegrenzer die Pakete so abarbeiten, daß sie eine
variable Beabstandung aufweisen, wie weiter oben mit Bezugnahme
auf die Überwacher/Bearbeiter
diskutiert wurde.
-
Es
kann eine Einheit erzeugt werden, vorzugsweise eine solche, welche
die Pakete stochastisch abarbeitet, indem ein Sorgfalt/Dringlichkeit-Multiplexer 106 und
ein Ratenbegrenzer 108 kombiniert werden. Solche Einheiten
können
mit einer Anzahl von Überwachern/Bearbeitern
und anderen solchen Sorgfalt/Dringlichkeit-Multiplexer- und Ratenbegrenzer-Einheiten
verkettet werden und sie können
zusätzliche
Eingangssignale von anderen Quellen empfangen. Für den Fachmann ist es ersichtlich,
wie unterschiedliche Verkettungs-Anordnungen implementiert werden
können.
Die einzige Einschränkung
ist, daß die
verkettete Kombination dieser Einheiten in einem azyklischen Graphen
verbunden sein muß.
-
Wenn
stochastische Abarbeitungsraten verwendet werden, ist es potentiell
möglich,
daß die
Abarbeitungsrate viel schneller ist als die Rate, mit der das Paket
physikalisch von der Ausgangsschnittstelle übertragen werden kann. In diesem
Fall wird die berechnete Ressourcengröße des Pakets kleiner als die
tatsächliche Größe des Pakets
sein, wie in 5 dargestellt ist. Bezugnehmend
auf 5a, wird dort die tatsächliche
Größe des Pakets
gezeigt, entsprechend der physikalischen Übertragungsrate des Übertragungsmediums,
an welches es weitergeleitet wird. 5b zeigt
die Größe des Pakets,
wenn die für
das Paket gewählte
Abarbeitungsrate größer ist
als die Rate, mit welcher das Paket auf dem physikalischen Medium
tatsächlich übertragen wird. 5c zeigt die Größe des Pakets im Fall, in welchem
die für
das Paket gewählte
Abarbeitungsrate kleiner ist als die Rate, mit welcher das Paket
von der Ausgangsschnittstelle 110 tatsächlich übertragen wird.
-
Wie
aus 5 ersichtlich ist, können sich zwei Pakete überlappen,
wenn die berechnete Ressourcengröße tatsächlich kleiner
als die tatsächliche
Ressourcengröße des Pakets
ist. In einem realen System können sich
zwei Pakete während
der Übertragung
nicht überlappen.
Statt dessen wird ein Burst von zwei oder mehreren Paketen beobachtet.
Wenn die Paketidentifizierungen stochastisch abgearbeitet werden,
existiert deshalb eine endliche Wahrscheinlichkeit, daß zwei oder
mehrere Pakete direkt aufeinanderfolgend übertragen werden.
-
Die
Ausgangsschnittstelle 110 liefert ein Datenfluß-Rückkopplungs-Steuersignal auf
der Leitung 130 an den Ratenbegrenzer 108. Wenn
die Ausgangsschnittstelle dem Ratenbegrenzer mitteilt, daß die Übertragung
suspendiert wurde, wird der interne Zeitsteuerungsmechanismus des
Ratenbegrenzers beeinflußt.
In diesem Fall kann der Ratenbegrenzer eine von mehreren Aktionen
ausführen.
Beispielsweise kann der Ratenbegrenzer so konfiguriert sein, daß er ein
etwaiges Paket, welches während
der Suspensionszeit zum Abarbeiten vorgesehen ist, verwirft. Ein
solches Verwerfen von Paketen durch den Ratenbegrenzer erfordert,
daß der
Ratenbegrenzer ein Alarmsignal erzeugt.
-
Der
Ratenbegrenzer 108 kann auch zum Maximieren der Ressourcen
des externen Systems bei einer niedrigen Auslastung optimiert werden.
Dies bedeutet, daß bei
niedrigen Auslastungen, die Abarbeitungsrate, die schneller als
die konfigurierte Rate ist, gewählt
werden kann. Mit zunehmender Auslastung im System wird die Abarbeitungsrate
verringert, bis sie in die Nähe
der konfigurierten Rate kommt oder die konfigurierte Rate erreicht
hat.
-
Die
Ausgangsschnittstelle 110 stellt die grundsätzlich erforderliche
Funktionalität
für die
weiterleitende Übertragung
der Datenpakete zur Verfügung.
Die Ausgangsschnittstelle 110 liefert Rückmeldesignale zur Datenflußsteuerung
auf den Leitungen 130 an den Ratenbegrenzer 108,
wenn ein externer rückwirkender
Druck (beispielsweise vom Übertragungsmedium)
erscheint. Somit sendet die Ausgangsschnittstelle Pakete auf der Leitung 142 und
empfängt
Datenfluß-Steuersignale vom
Betriebssystem oder Gerätetreiber
auf der Leitung 144.
-
Die
Ausgangsschnittstelle ist nicht verantwortlich für irgendeine Direktbearbeitung
bezüglich
der Qualitätsverwaltung
des Datenstroms. Wenn die Ausgangsschnittstelle ein Paket empfängt, und
das externe System oder Gerät
meldet, daß es
verfügbare
Ressourcen für
die Übertragung
hat, dann wird das Paket unverzüglich
von der Ausgangsschnittstelle übertragen.
Wenn der Ratenbegrenzer in deterministischer Betriebsart arbeitet
und eine Datenflußsteuerung
nicht aktiviert wurde, dann befindet sich zu keinem Zeitpunkt mehr
als ein Paket im Pufferspeicher der Ausgangsschnittstelle.
-
Somit
wurde hier eine Erfindung beschrieben, die vorteilhaft in einem
Multiplexer verwendet werden kann, um eine vorbestimmte Dienstqualität zu gewährleisten.
Obwohl die Erfindung hier mit Bezugnahme auf eine bestimmte, beispielhafte
Ausführungsform
beschrieben ist, wird der Fachmann erkennen, daß die Erfindung bezüglich ihrer
Anwendbarkeit nicht darauf beschränkt ist, sondern in allgemeinerer
Weise eingesetzt werden kann. Legende zu den Figuren:
| Englisch | Deutsch |
Fig.
1 | | |
112 | Queue
memory | Warteschlangenspeicher |
114 | Queue
memory manager | Warteschlangenspeicher-Verwaltung |
100 | Input
interface | Eingangsschnittstelle |
102 | Stream
identifier | Stromidentifizierung |
104a–d | Shaper/policers | Bearbeiter/Überwacher |
106 | Cherish/urgency
multiplexer | Sorgfalt/Dringlichkeit-Multiplexer |
108 | Rate
limiter | Ratenbegrenzer |
110 | Output
interface | Ausgangsschnittstelle |
| | |
Fig.
2 | | |
| The
arbitrary loss probabilities and the service rates assigned to the
states of the shaper/policer queue | den
Zuständen
der Bearbeiter/Überwacher-Warteschlange zugeordnete
willkürliche
Verlustwahrscheinlichkeiten und Abarbeitungsraten |
| | |
Fig.
3 | | |
| The
classification probabilities associated with each state of the queue | Die
mit jedem Zustand der Warteschlange verbundenen Klassifizierungswahrscheinlichkeiten |
| | |
Fig.
5 | | |
| Size
of packet based an configured service rate | Paketgröße auf der
Basis der konfigurierten Abarbeitungsrate |
| Size
of packet based an sampled service rate (faster than mean) | Paketgröße auf der
Basis der gesampelten Abarbeitungsrate (schneller als durchschnittlich) |
| Size
of packet based an sample service rate (slower than mean) | Paketgröße auf der
Basis der gesampelten Abarbeitungsrate (langsamer als durchschnittlich) |
| | |
Fig.
7 | | |
| Transported
load | übertragene
Auslastung |
| Offered
load | angebotene
Auslastung |
| | |
Fig.
8 | | |
703 | Timer | Zeitgeber |
701 | P/S
arrival process block | Überwacher/Bearbeiter-Ankunftsbearbeitungsblock |
702 | Packet
ID queue block | Paketidentifizierung-Warteschlangenblock |
704 | P/S
departure process block | Überwacher/Bearbeiter-Abgangbeabbeitungsblock |
705 | P/S
configuration management block | Überwacher/Bearbeiter-Konfigurationsverwaltungsblock |
706 | Discard
probability generator | Verwurfwahrscheinlichkeitsgenerator |
707 | Service
time generator | Abarbeitungszeitgenerator |
| | |
Fig.
9 | | |
814 | Urgency
queues | Dringlichkeit-Warteschlangen |
801 | C/U
arrival process block | Sorgfalt/Dringlichkeit-Ankunftbearbeitungsblock |
806 | C/U
departure process block | Sorgfalt/Dringlichkeit-Abgangsbearbeitungsblock |
807 | C/U
configuration management block | Sorgfalt/Dringlichkeit-Konfigurationsverwaltungsblock |
| | |
Fig.
10 | | |
| Transported
load | übertragene
Auslastung |
| Offered
load | angebotene
Auslastung |