-
HINTERGRUND DER ERFINDUNG
-
Technisches Gebiet der
Erfindung
-
Die
vorliegende Erfindung bezieht sich allgemein auf Burstvermittlungsnetze.
Insbesondere bezieht sich die vorliegende Erfindung, ohne dass dies den
Anwendungsbereich einschränkt,
auf Steuerungsverfahren für
Burstvermittlungsnetze.
-
Beschreibung zum entsprechenden
Stand der Technik
-
Bei
der Burstvermittlungstechnologie wie insbesondere bei der optischen
Burstvermittlungstechnologie („Optical
Burst Switching",
OBS) werden Datenpakete, die jeweils aus mehreren Paketen bestehen,
optisch an Kernknoten oder Router im OBS-Netzwerk weitervermittelt. Unter der
Annahme, dass Datenpakete nicht gepuffert werden, benötigt der
Kernknoten im Voraus Informationen zu den Datenpaketen, um den Switch
zu konfigurieren. Zur Bereitstellung dieser Informationen wird ein
kleines Steuerpaket, das so genannte „Burst Header Packet" (BHP), zeitlich
versetzt vor dem Datenpaket übertragen.
Das BHP enthält
Informationen über
die Ankunftszeit des Datenpakets, das Ziel des Datenpakets, etc.
-
Ein
Konkurrenzbetrieb kann auftreten bei dem Versuch, mehrere Datenpakete über den
gleichen Ausgang zu übertragen.
Für die
Verwendung in OBS-Netzwerken wurden verschiedene verteilte Steuerungsverfahren
mit unterschiedlichem Verhalten und unterschiedlicher Komplexität vorgeschlagen.
So gehören
beispielsweise die Algorithmen First-Fit, Horizon und Horizon „Void Filling" zu den am häufigsten
verwendeten Techniken. Alle diese Techniken verwenden ein ähnliches
Kriterium zur Konkurrenzauflösung,
das auf dem Löschen
des zuletzt angekommenen Datenpakets basiert. Diese Techniken berücksichtigen
lediglich Datenpakete, die während eines
einzigen Zeitschlitzes in Konkurrenz stehen. Die Leistung des OBS-Netzwerks
kann anhand der Paketverlustrate definiert werden; diese Rate gibt den
Prozentanteil der Paketverluste bei der Steuerung an. Diese bestehenden
Steuerungsalgorithmen sind nicht effizient und führen zu hohen Paketverlusten
in OBS-Systemen, da beispielsweise das zuletzt angekommene Datenpaket
das längste
unter den in Konkurrenz stehenden Datenpaketen sein kann.
-
In
jüngster
Zeit wurde die Verwendung von Varianten eines als Segmentierung
bekannten Konzepts der Konkurrenzauflösung in Verbindung mit dem
Algorithmus Horizon Void Filling zur Reduzierung des Datenpaketverlusts
und zur Verbesserung der Bandbreite vorgeschlagen. Die Segmentierung umfasst
nur das Löschen
des zuletzt angekommenen Datenpakets, das in Konkurrenz zu den anderen Datenpaketen
steht. Diese Technik erfordert eine komplexe Implementierung des
Zusammensetzens und Zerlegens von Datenpaketen.
-
Der
Artikel „Burst
Segmentation: An Approach für
Reducing Packet Loss In Optical Burst Switched Networks" (Paketsegmentierung:
Ein Ansatz zur Reduzierung der Paketverluste) von V. Vokkarane et
al., 2002, Piscataway, NJ, USA, IEEE, USA, vom 28. April 2002, Seite
2673-2677, behandelt das Problem der Konkurrenzauflösung in
optischen Burstvermittlungsnetzen. In diesem Artikel wird ein Ansatz
zur Reduzierung der Paketverluste vorgestellt, der auf dem Konzept
der Paketsegmentierung basiert. Bei der Paketsegmentierung wird
im Konkurrenzbetrieb nicht das gesamte Paket gelöscht, sondern es kann in mehrere
Segmente zerlegt werden, und nur die überlappenden Segmente werden
gelöscht.
Das Segmentierungskonzept wird in Verbindung mit einem Konzept der
Ablenkung durch Simulation untersucht, und es wird aufgezeigt, dass über die
Segmentierung mit Ablenkung eine erheblich verringerte Paketverlustrate
erzielt werden kann.
-
Was
wir brauchten, war daher eine Technik zur Konkurrenzauflösung, die
die Paketverlustrate in OBS-Netzwerken
verringert.
-
ZUSAMMENFASSUNG DER ERFINDUNG
-
Entsprechend
schafft die vorliegende Erfindung ein Verfahren und ein Gerät zur Implementierung
einer vorherschauenden Konkurrenzauflösung („Look-ahead Contention Resolution", LCR). Der Scheduler
erzielt ein kollektives Wissen über
den Status der Datenpakete über
einen Zeitraum in der Zukunft. Dies stellt einen Gegensatz zu anderen
vorgeschlagenen Steuerungsalgorithmen dar, bei denen der Switch
im Voraus nur Informationen über
einen einzigen Zeitschlitz in der Zukunft hat. Das kollektive Wissen über den
Status der Datenpakete kann aus dem vor dem eigentlichen Datenpaket
ankommenden BHP erfasst werden oder über andere Mittel.
-
In
einer Hinsicht umfasst die Erfindung ein Verfahren zur Steuerung
von Datenpaketen in einem Burstvermittlungsnetz, wobei die Datenpakete
zwischen Knoten über
ein oder mehrere Kanäle
in Zeitschlitzen mit fester Länge
kommuniziert werden, jedes Paket ein oder mehrere Zeitschlitze in
einem Kanal belegt und das Verfahren die Schritte zur Bestimmung
eines Datenpaketfensters umfasst, wobei das Datenpaketfenster einen
Zeitraum umfasst, der mit dem Zeitraum für eine Gruppe von Zeitschlitzen übereinstimmt
und zu einem vorgegebenen Versatz-Zeitraum ab einem Zeitpunkt t = 0 beginnt;
das Feststellen, ob eine Konkurrenz zwischen den Datenpaketen innerhalb
des Datenpaketfensters vorliegt, weil die Datenpakete überlappende
Zeitschlitze belegen; falls eine Konkurrenz zwischen den Datenpaketen
vorliegt, werden ein oder mehrere Datenpakete, zwischen denen eine
Konkurrenz vorliegt, entsprechend der Analyse des kürzesten
Pfads gelöscht.
-
In
einer weiteren Hinsicht umfasst die Erfindung ein Verfahren zum
Steuern von Datenpaketen über
einen Router in einem Burstvermittlungsnetz, wobei Datenpakete vom
Router über
eine erste Gruppe einer Vielzahl optischer Übertragungsleitungen empfangen
und an eine zweite Gruppe optischer Übertragungsleitungen weitervermittelt
werden, wobei die Datenpakete über
diese erste und zweite Gruppe optischer Übertragungsleitungen über einen oder
mehrere Kanäle
mithilfe synchroner Zeitschlitze fester Länge kommuniziert werden, wobei
jedes Paket ein oder mehrere Zeitschlitze in einem Kanal belegt;
dabei umfasst das Verfahren die Schritte zur Bestimmung eines Datenpaketfensters
(„BW"), wobei das Datenpaketfenster
einen Zeitraum umfasst, der mit dem Zeitraum für eine Gruppe von Zeitschlitzen übereinstimmt
und zu einem vorgegebenen Versatz-Zeitraum ab einem Zeitpunkt t
= 0 beginnt; das Bestimmen eines Auflösungsbereichs („Resolution Region", RR) innerhalb des
Datenpaketfensters, wobei der Auflösungsbereich die Datenpakete
umfasst, die nur die Zeitschlitze belegen, die vollständig innerhalb
der Grenzen des Datenpaketfensters liegen; Feststellen, ob ein Konkurrenzbetrieb
zwischen den Datenpaketen innerhalb des RR vorliegt, weil die Datenpakete überlappende
Zeitschlitze belegen; falls ein Konkurrenzbetrieb zwischen den Datenpaketen vorliegt,
Bestimmen von ein oder mehreren zu löschenden Datenpaketen, um eine
möglichst
geringe Menge von Daten innerhalb des RR zu verlieren.
-
In
einer weiteren Hinsicht umfasst die Erfindung ein System zur Steuerung
von Datenpaketen in einem Burstvermittlungsnetz, wobei die Datenpakete zwischen
Knoten über
ein oder mehrere Kanäle
in Zeitschlitzen mit fester Länge
kommuniziert werden, jedes Paket ein oder mehrere Zeitschlitze in
einem Kanal belegt und das System Mittel zur Bestimmung eines Vorherschaufensters
(„Look-Ahead
Window", LAW) von
Burst Header Packets („BHP") umfasst; Mittel
zum Bestimmen eines Datenpaketfensters entsprechend den BHPs im
LAW, wobei das Datenpaketfenster bei einem vorgegebenen Versatz
vom LAW beginnt; Feststellen, ob ein Konkurrenzbetrieb zwischen
den Datenpaketen innerhalb des Datenpaketfensters vorliegt, weil
die Datenpakete überlappende
Zeitschlitze an einem gemeinsamen Ausgangs-Port belegen; und Mittel
zum Reagieren auf das Vorliegen einer Konkurrenz zwischen Datenpaketen
zum Löschen
eines der Datenpakete, zwischen denen die Konkurrenz vorliegt.
-
KURZBESCHREIBUNG
DER ZEICHNUNGEN
-
Ein
vollständigeres
Verständnis
der vorliegenden Erfindung lässt
sich mit Bezug auf die folgende detaillierte Beschreibung in Verbindung
mit den beigefügten
Zeichnungen erzielen, für
die gilt:
-
1 zeigt
BHPs und Datenpakete, die an einem 2x2 optischen Switch innerhalb
eines OBS-Routers ankommen;
-
2A und 2B zeigen
jeweils ein Vorherschaufenster und ein Paketfenster sowie einen Auflösungsbereich
gemäß einer
Ausführungsform;
-
3A-3D zeigen
eine Technik zur Vorherschau-Konkurrenzauflösung („Look-Ahead
Contention Resolution",
LCR) gemäß einer
Ausführungsform;
-
4 und 5 zeigen
Ablaufdiagramme zum Betrieb der LCR-Technik gemäß einer Ausführungsform;
-
6 zeigt
ein gerichtetes Schaubild, das entsprechend der LCR-Technik gemäß einer
Ausführungsform
erstellt wurde.
-
DETAILLIERTE
BESCHREIBUNG DER ZEICHNUNGEN
-
In
den Zeichnungen werden gleiche oder ähnliche Elemente in allen Ansichten,
in denen sie vorkommen, mit gleichen Bezugszeichen gekennzeichnet,
und die verschiedenen Elemente sind nicht notwendigerweise maßstabsgetreu
dargestellt.
-
Zur
Vereinfachung und ohne Verzicht auf allgemeine Gültigkeit wird diese Technik
hier anhand eines Beispiels beschrieben, bei dem die Pakete eine variable
Länge haben,
keine Pufferung erfolgt und eine durch Taktimpulse synchronisierte Übertragung mit
Zeitschlitz-Körnung
verwendet wird. Es ist jedoch erkennbar, dass diese Bedingungen
für die
hier beschriebene Technik nicht unbedingt erforderlich sind. Darüber hinaus
wird bei dem nachfolgend beschriebenen Beispiel davon ausgegangen,
dass BHPs mit einem festgelegten Zeitversatz zu den Datenpaketen auf
einem separaten Steuerkanal empfangen werden. Alternativ dazu können Voraus-Informationen zu Datenpaketen
auf beliebige Arten empfangen werden einschließlich über Inband-Signale, einzelne Steuerpakete
zur Beschreibung mehrerer Datenpakete, BHPs, die in verschiedenen
Versatz-Zeiträumen
ankommen, etc.
-
1 zeigt
die relative Position der BHPs 100(1)-100(15) und die entsprechenden
Datenpakete 101(1)-101(15) an verschiedenen Eingangskanälen. In
dem gezeigten Fall wird davon ausgegangen, dass ein Switch 102 innerhalb
eines OBS-Routers zwei
eingehende Ports 103a, 103b und zwei ausgehende
Ports 104a, 104b aufweist. Jeder der Ports 103a, 103b, 104a, 104b umfasst
zwei Datenkanäle DC1,
DC2 und einen einzelnen Steuerkanal CC1. Des Weiteren wird davon
ausgegangen, dass die maximale Paketlänge („Lmax") 4 Zeitschlitze beträgt.
-
Da
die BHPs gemäß einer
Ausführungsform vor
den entsprechenden DBs empfangen werden, ist es möglich, ein
Vorherschaufenster („LAW") mit der Länge W Zeitschlitze
zu konstruieren zur Identifikation einiger eingehender Pakete t
Zeitschlitze in der Zukunft. Für
das hier verwendete Beispiel wird davon ausgegangen, dass W gleich
2·Lmax
entspricht, wobei Lmax die maximale Paketlänge darstellt.
-
2A zeigt
ein Beispiel der an allen Steuerkanälen empfangenen BHPs, die für den gleichen Ausgangs-Port
bestimmt sind, wie beispielsweise den Ausgangs-Port 104a (1)
innerhalb eines LAW 200, der in diesem Fall W = acht Zeitschlitze breit
ist. In der in 2A gezeigten Ausführungsform erstreckt
sich das LAW 200 von t19 bis t27. Für dieses Beispiel wird ein
Versatz („t") von 9 Zeitschlitzen zwischen
den BHPs 101(1)-101(15) und ihren entsprechenden
Datenpaketen 102(1)-102(15) angenommen. Dementsprechend
kann später
unter Verwendung der in 2B dargestellten
BHP-Informationen
ein Datenpaketfenster („Data
Burst Window", BW) 210 der
Länge W
für eine
Versatzdauer t ([t19-t27] + 9 oder [t28-t36]) konstruiert werden.
Die Anfangs- und Endpunkte des BW 210 auf der Zeitachse
sind über
TSo und TSw definiert, wobei der Unterschied zwischen TSo und TSw
der Breite W entspricht. Wie in 2B dargestellt,
gilt TSo = t28 und TSw = t36. Das BW 210 umfasst die DBs 102(1)-102(15) entsprechend
den BHPs 101(1)-101(15) des LAW 200 (2).
-
Das
Erstellen des LAW aus BHPs stellt wiederum nur ein Verfahren zum
Konstruieren eines Paketfensters aus Datenpaketen dar, die in einem
zukünftigen
vorgegebenen Zeitraum vor t = 0 ankommen. Weitere Verfahren können zum
Konstruieren des Paketfensters verwendet werden. Es ist jedoch unbedingt
zu beachten, dass der Anfang des Paketfensters ausreichend vorzeitig
ist, um die Konkurrenzauflösung
zu verarbeiten und den Switch zu konfigurieren.
-
Nachdem
die Ankunftszeiten der DBs innerhalb eines Paketfensters 210 ermittelt
wurden, wie in 2B gezeigt, kann ein Auflösungsbereich
(„RR") 212 definiert
werden, in dem heuristische Entscheidungen hinsichtlich der Datenpakete getroffen
werden können,
um einen Konkurrenzbetrieb zu vermeiden. Der Anfangs- und Endpunkt
des Auflösungsbereichs
ist TSo bzw. TSr. TSo ist immer identisch mit dem Anfangspunkt des
BW 210. In einer Ausführungsform
ist TSr als der früheste
Zeitpunkt definiert, bei dem die Länge eines DB über die
Ankunft des DB 210 hinausgeht. Dementsprechend reicht in
dem in 2A und 2B gezeigten
Beispiel der RR 212 von t28 bis t34. Dieser Punkt kann
wie folgt bestimmt werden. Als Erstes wird B gleich (Bi(L, ts))
gesetzt, wobei Bi ein Paket innerhalb des BW mit der Dauer L und
dem Startzeitpunkt ts ist. Eine Gruppe v, die alle Pakete über die
Grenzen des Paketfensters hinaus umfasst, wird ermittelt. Insbesondere
gilt: V = {Bj(Lj, tsj)|(Lj + tsj > TSw)};V ⊂ B. Als Nächstes wird
das DB in der Gruppe V mit dem niedrigsten Startzeitpunkt ermittelt.
Insbesondere gilt TSr = min(tsj|Bj ∊ V); (TSr ≤ TSw). Zum
Abschluss werden die Grenzen des Auflösungsbereichs auf [TSo-TSr]
festgelegt.
-
Die
Technik der Konkurrenzauflösung
kann nur auf die DBs innerhalb eines RR angewandt werden, beispielsweise
auf den RR 212. In diesem Fall können das LAW 200 und
daher das BW 210 über
die gesamte Breite des RR weiter geschoben werden. Mit Bezug auf 2B ist
beispielsweise zu erkennen, dass der RR 212, wie hier dargestellt,
von t28 bis t34 reicht. Sobald die Konkurrenzauflösung für die darin
enthaltenen DBs (d. h. die DBs 102(1)-102(16)) durchgeführt wurde,
können
das LAW und damit das BW um die gesamte Breite des RR bzw. sechs
Zeitschlitze weiter geschoben werden. Somit kann das nächste BW
(und damit der RR) an t34 beginnen. Alternativ dazu kann das BW 210 nur
um einen Zeitschlitz weiter geschoben und die Konkurrenzauflösung für DBs innerhalb
des Auflösungsbereichs
erneut durchgeführt
werden.
-
Neben
dem Auflösungsbereich
kann der Bereich, in dem das Verfahren zur Konkurrenzauflösung innerhalb
des BW 210 verwendet werden kann, auch über ein anderes Verfahren definiert
werden. Das Verfahren zur Konkurrenzauflösung kann auf alle DBs innerhalb
des gesamten BW angewendet werden, wobei in diesem Fall das BW im
Wesentlichen als RR agiert. Es ist jedoch erkennbar, dass in diesem
Fall definitive Entscheidungen nur auf DBs angewendet werden können, deren
Startzeitpunkt dem TSo entspricht, und das LAW 200 (und
damit das BW 210) kann damit immer nur um jeweils einen
Zeitschlitz weiter verschoben werden. Zur Illustration wird das
Verfahren, bei dem sich der RR mit dem BW über den gleichen Bereich erstreckt
und bei dem das LAW und das BW jeweils nur um einen Zeitschlitz weiter
verschoben werden, nachfolgend mit Bezug auf 3A-3D beschrieben.
-
3A ist
in allen Punkten mit 2B identisch außer darin,
dass in 3A der RR 212 aus 2B nicht
dargestellt ist. Dies liegt daran, dass, wie zuvor beschrieben,
das in 3A-3D dargestellte
Beispiel von der Annahme ausgeht, dass das nachfolgend beschriebene
Verfahren zur Konkurrenzauflösung
auf alle DBs im BW 210 angewendet wird. Wie oben beschrieben,
kann das Paketfenster in 3A aus
BHPs in einem LAW wie das in 2A dargestellte
konstruiert werden oder über
ein anderes Verfahren zum Erfassen von Vorab-Informationen zu den
Datenpaketen. Bezug nehmend auf 3A ist
zu beachten, dass bei N = 2 verfügbaren Datenkanälen an jeder
der beiden Verbindungen an einigen Zeitschlitzen ein Konkurrenzbetrieb
vorliegt. Insbesondere lassen sich drei Konkurrenzbereiche („Contention
Region", CR) definieren:
CR = {CR1, CR2, CR3}, wobei CR1 = [t30-t31], CR2 = [t32-t33] und CR3 = [t34-t36].
Der Konkurrenzbereich CRx ist definiert als eine Reihe aufeinander
folgender Zeitschlitze, die einen gewissen Konkurrenzgrad aufweisen.
Obwohl das Verfahren zur Konkurrenzauflösung die Konkurrenz für das gesamte
BW 210 löst,
werden in diesem Beispiel zu jedem Zeitpunkt nur diejenigen DBs
mit dem Anfangspunkt gleich TSo gelöscht.
-
In 3A sind
die DBs 102(4) und 102(7) schattiert dargestellt,
um darauf hinzuweisen, dass es sich dabei um DBs handelt, die potenziell
gelöscht werden.
Die Auswahl dieser DBs wird Bezug nehmend auf 4 und 5 ausführlicher
beschrieben. Es ist zu beachten, dass keine definitive Entscheidung
hinsichtlich der Löschung
von DBs getroffen werden kann, da die Startzeitpunkte der DBs noch
nicht dem TSo entsprechen, der in 3A dem t28
entspricht. Das einzige DB mit einem Startzeitpunkt gleich dem TSo
ist DB 102(1), das eingeplant werden kann, weil es nicht
innerhalb eines Konkurrenzbereichs liegt.
-
Das
BW 210 (und der effektive RR) wird um einen Zeitschlitz
mit den Begrenzungen [t29-37] verschoben. Wie in 3B gezeigt,
wird DB 102(1) eingeplant. Drei CRs sind definiert: CR
= {CR1, CR2, CR3}, wobei CR1 = [t30-t31], CR2 = [t32-t33] und CR3 = [t34-t36].
-
Wiederum
sind die DBs 102(4) und 102(7) schattiert dargestellt,
um darauf hinzuweisen, dass es sich dabei um DBs handelt, die potenziell
gelöscht werden,
jedoch wurde wiederum keine definitive Entscheidung hinsichtlich
der Löschung
dieser DBs getroffen, da die Startzeitpunkte der DBs noch nicht dem
TSo entsprechen, der in 3B dem
Zeitpunkt t29 entspricht. Es liegen jetzt zwei DBs mit einem Startzeitpunkt
gleich dem TSo vor: DB 102(2) und DB 102(3), die
eingeplant werden können,
da sie nicht zur Berücksichtigung
für die
Löschung
gekennzeichnet sind.
-
Bezug
nehmend auf 3C wird das BW 210 (und
der entsprechende Auflösungsbereich)
um einen Zeitschlitz weiter verschoben, sodass seine Grenzen jetzt
bei [t30-t38] liegen. Wie in 3C gezeigt,
haben DB 102(2) und DB 102(3) diesen Prozess abgeschlossen
und wurden eingeplant. Drei CRs sind definiert: CR = {CR1, CR2,
CR3}, wobei CR1 = [t30-t31], CR2 = [t32-t33] und CR3 = [t34-t38].
-
DB 102(4) ist
wiederum schattiert dargestellt, um darauf hinzuweisen, dass es
sich dabei um ein DB handelt, das potenziell gelöscht wird; DB 102(7) wurde
dagegen aus der Berücksichtigung
für die
Löschung
entfernt, und DB 102(8) wird jetzt stattdessen für die Löschung berücksichtigt.
Dies verdeutlicht den Grund dafür,
dass keine definitive Entscheidung hinsichtlich der Löschung eines
DB getroffen werden sollte, dessen Startzeitpunkt nicht dem TSo
entspricht, der in 3C dem Zeitpunkt t30 entspricht. Da
in diesem Fall der Startzeitpunkt von DB 102(4) dem TSo
entspricht, kann eine Entscheidung zum Löschen des DB getroffen werden.
Darüber
hinaus werden DB 102(2) und DB 102(3) eingeplant.
-
Bezug
nehmend auf 3D wird das BW 210 (und
der entsprechende RR) um einen Zeitschlitz weiter verschoben, sodass
seine Grenzen jetzt bei [t31-t39] liegen. Wie in 3D gezeigt,
wurde für
DB 102(4) keine Reservierung zugelassen, und das DB wird
daher gelöscht.
-
In
diesem Beispiel werden nur die DBs mit einem Startzeitpunkt, der
dem TSo entspricht, zu einem bestimmten Zeitpunkt gelöscht. In
einer oben beschriebenen alternativen Ausführungsform kann das Verfahren
zur Konkurrenzauflösung
auf alle DBs innerhalb eines Auflösungsbereichs angewendet werden,
beispielsweise auf den in 2B dargestellten
RR 212. In dieser Situation kann das Paketfenster um die
gesamte Breite des RR weiter verschoben werden, und die Datenpakete
können
vor t = 0 gelöscht
werden.
-
Es
ist zu beachten, dass der Zeitversatz zwischen dem BHP und seinen
DBs lang genug sein muss, um sicherzustellen, dass das DB nicht
ankommt, bevor die Verarbeitung seines BHP abgeschlossen ist; das
bedeutet, t muss größer oder gleich
W sein. Im dargestellten Beispiel ist W = 8 und t = 9; die Bedingung
ist damit erfüllt.
-
Das
Konzept des LCR-Verfahrens lässt
sich in drei grundsätzliche
Schritte unterteilen mit (1) Erstellen eines Datenpaketfensters
aus Datenpaketen, die um einen Zeitversatz t später am gleichen Ausgangs-Port
bzw. der gleichen Ausgangsverbindung ankommen; (2) Bestimmen der
Konkurrenzbereiche („CRx") und Definieren
des Ausflösungsbereichs
in jedem BW; und (3) Anwenden heuristischer Daten, über die
festgelegt wird, welche der in Konkurrenz stehenden Datenpakete
in den einzelnen CRs innerhalb des RR (oder BW) gelöscht werden
müssen.
Die beiden ersten Schritte werden Bezug nehmend auf 4 weiter
unten ausführlicher
beschrieben. Der dritte Schritt wird Bezug nehmend auf 5 weiter unten
ausführlicher
beschrieben.
-
Bezug
nehmend auf 4 wird davon ausgegangen, dass
Daten für
ein Datenpaketfenster aus einem LAW der Länge W konstruiert werden, wie
in 2A gezeigt, wobei W = 2·Max_Burst_Length = 2·Lmax ist.
Das LAW wird aus BHPs konstruiert, die um einen Zeitversatz t vor
den Datenpaketen empfangen werden. In Schritt 400 werden
Zeitschlitze ab einer aktuellen Zeit akkumuliert, bis ein LAW voller Größe (d. h.
W Zeitschlitze) erzielt wird. In Schritt 402 wird aus den
Daten in den BHPs ein BW für
Pakete einem spezifischen Ausgangs-Port oder einer spezifischen
Ausgangsverbindung im LAW zugeordnet. Insbesondere sind die Grenzen
des BW [TSo-TSw], wobei TSo = aktuelle Zeit + Versatz (t) und TSw
= TSo + W. In Schritt 404 wird innerhalb des BW der RR
definiert. In der in 3A-3E dargestellten
Ausführungsform
ist der RR als identisch mit dem BW definiert.
-
In
einer alternativen Ausführungsform
liegen die Grenzen des RR bei [TSo-TSr], wobei TSr als der früheste Punkt
definiert ist, in der ein DB ankommt, dessen Länge sich über die Grenze des DB hinaus erstreckt
(d. h. über
TSw hinaus). Dieser Punkt kann wie weiter vorn beschrieben mathematisch
bestimmt werden.
-
In
Schritt 406 werden alle Konkurrenzbereiche innerhalb des
RR ermittelt, insbesondere CR = {CR1, CR2, ... CRu}, wobei u ≤ W/2. Dementsprechend
gilt in diesem Beispiel u ≤ 4.
In Schritt 408 werden Konkurrenzbereiche innerhalb des
RR aufgelöst durch
Ermitteln einer Gruppe von P von DBs, die potenziell gelöscht werden
können.
In Schritt 409 wird eine Gruppe D von DBs, die zum Löschen gekennzeichnet
werden können,
ermittelt. Insbesondere umfasst die Gruppe D DBs, die zur Gruppe
P gehören und
für die
ts = TSo gilt. Die Schritte 408 und 409 sind in 5 weiter
unten ausführlich
beschrieben.
-
In
Schritt 410 werden DBs mit dem Startzeitpunkt ts = TSo,
die nicht zum Löschen
gekennzeichnet wurden, eingeplant. In Schritt 412 wird
das LAW weiter geschoben. In der hier beschriebenen Ausführungsform
wird das LAW um einen Zeitschlitz weiter geschoben, d. h. TSo =
TSo + 1. In einer alternativen Ausführungsform kann das LAW um
die gesamte Breite des LAW weiter geschoben werden; d. h. TSo =
TSo + W. Die Ausführung
kehrt anschließend
zurück
zu Schritt 402.
-
Nachdem
das Datenpaketfenster konstruiert und die Ankunftszeit der eingehenden
DBs zusammen mit der entsprechenden Dauer ermittelt wurden, kann
das Problem der Konkurrenzauflösung
auf den folgenden Punkt reduziert werden: Wenn mehr als N Pakete
an den gleichen Ausgangs-Port am Switch adressiert werden (wobei
N die Anzahl der an dem Port verfügbaren Datenkanäle ist),
wie kann der Konkurrenzbetrieb durch Minimieren des BLR optimal aufgelöst werden?
-
Ein
Verfahren ist die Verwendung der Vorgehensweise des kürzesten
Datenpakets, bei der das kürzeste
Datenpaket in einem Konkurrenzbereich gelöscht wird. Durch das Löschen des
kürzesten
Datenpakets werden jedoch nicht immer die gelöschten Daten minimiert. Das
Löschen
eines längeren
Datenpakets kann bessere Ergebnisse zur Folge haben, wenn zwei oder
mehr CRs innerhalb des gleichen Datenpaketfensters durch das Löschen des
größeren Pakets
aufgelöst
werden. Stattdessen wird ein zentralisierter Algorithmus „Kürzester
Pfad" verwendet,
um die kleinste Datenmenge zu finden, die gelöscht werden muss, damit keine
weitere Port-Konkurrenz vorliegt.
-
Der
Inhalt des Datenpaketfensters kann als ein gerichtetes Schaubild
bzw. ein „Digraph" G = (n, A) dargestellt
werden. Der Parameter n ist definiert als die Gruppe von (ts(i),
te(i)), wobei ts(i) und te(i) jeweils den Start- und den Endzeitpunkt
eines Pakets i („Bi") angeben. A steht
für eine
Sammlung geordneter Paare eindeutiger Knoten von n mit einer Gewichtung
entsprechend der Dauer von Bi („LBi").
-
Bei
einer Gruppe von Konkurrenzbereichen CR = {CR1, CR2, ... CRu) innerhalb
des Datenpaketfensters, wobei CRi = [ts(m)-te(n)] ist, liegt das Problem des kürzesten
Pfads einfach darin, den kürzesten
Pfad p durch die Gruppe der Konkurrenzbereiche CR zu finden. Zur
Lösung
des Problems des kürzesten
Pfads muss der ursprüngliche
Digraph G so geändert
werden, dass er verbunden ist. Dementsprechend wurde eine Reihe
einfacher Regeln entwickelt, um die aneinander angrenzenden Knoten
im Digraph G miteinander zu verbinden. Details zu diesen Regeln
sind in 5 weiter unten angegeben. Der
resultierende Digraph G' =
(n, A') kann mithilfe
der Standardalgorithmen zum Problem des kürzesten Pfads auf Konkurrenzbetrieb
gelöst
werden.
-
Bezug
nehmend auf 5 wird in Schritt 500 mit
dem BW ein Digraph G konstruiert. In diesem Schritt wird jedem Zeitpunkt
im BW mit einem Start- oder Endzeitpunkt eines Pakets Bi ein Knoten
zugeordnet. Dabei wird ein Pfad konstruiert zwischen jedem Anfangsknoten
und Endknoten eines Pakets Bi, und diesem Pfad wird ein Wert zugeordnet,
der der Paketdauer Bi entspricht. In Schritt 502 werden
bestimmte aneinander angrenzende Knoten miteinander verbunden. Insbesondere
die gerichteten Nullpfad-Verbindungen Zk, k+1 und
Zk+1, k werden zwischen allen angrenzenden
Knotenpaaren [(k, k + 1) und (k + 1, k)] innerhalb des BW hinzugefügt. Zk, k+1 und Zk+1, k werden
jedoch entfernt, wenn der Knoten k der Startknoten eines Konkurrenzbereichs
ist, und Zk, k-1 und Zk-1,
k werden entfernt, wenn der Knoten k der Endknoten eines Konkurrenzbereichs
ist. Zk, k+1 wird entfernt, wenn der Knoten
k innerhalb eines Konkurrenzbereichs liegt. Somit sind angrenzende
Knotenpaare, die Zeiten zwischen Konkurrenzbereichen darstellen,
nicht verbunden. Ein negativer Pfad Nk+1, k wird
zugeordnet aus k – 1
bis k, wenn der Knoten k innerhalb eines Konkurrenzbereichs liegt.
Zk, k+1 wird durch einen nicht-nullgerichteten
Pfad von k nach k + 1 ersetzt.
-
In
Schritt 504 wird eine Kostenmatrix Cij für den Digraph
G erzeugt. In Schritt 506 wird mit einem Algorithmus für den kürzesten
Pfad wie beispielsweise Dijkstra oder Bellmann-Ford das kürzeste Paket aus
CR1 bis CRu ermittelt. In diesem Schritt gilt P = {Bi, Bj, ...}.
In Schritt 508 ist die Untergruppe von Paketen in P so
angeordnet, dass ihr Startpunkt TSo entspricht und diese Pakete
zum Löschen
gekennzeichnet werden. In diesem Schritt gilt D = {Bj(L, ts)|(tsj
= TSo)}; D ⊂ P
und somit D ⊂ B.
In Schritt 510 wird die Dauer der verbleibenden Pakete,
die sich über
TSw hinaus erstrecken, in unendlich geändert, sodass diese Pakete
nicht im nächsten
BW gelöscht werden.
-
Der
in 5 dargestellte Ansatz lässt sich mit Bezug auf das
in 3A gezeigte Beispiel verdeutlichen. Zunächst wird
ein gerichteter Graph G = (n, A) erstellt. Die Gruppe aus Paketen
innerhalb des Datenpaketfensters 210 wird dargestellt durch
B = {B1, B2 ... Bq}, wobei q = 9 ist. Somit gibt es in G neun Bögen mit
11 eindeutigen Knoten. Jedem Bogen (ts(i), te(i))
wird eine Gewichtung zugeordnet, die die Paketdauer LBi darstellt.
Dementsprechend gilt n = {t28, t29, t31, ... T38} und A = {(t28,
t29), (t29, t31), (t29, t32), ...}. In diesem Fall gilt CR1 = {t30,
t31), CR2 = {t32, t33), usw. Beim Auflösen nach p, wie in 5 gezeigt,
liefert D = {B4, B7}. Es ist zu beachten, dass keines dieser Pakete
einen Startzeitpunkt („ts") von TSo hat. Es
werden daher keine Pakete gelöscht,
und das LAW wird um einen Zeitschlitz weiter verschoben. Der resultierende
gerichtete Graph G ist in 6 dargestellt.
-
Die
Nullpfad-Verbindungen zwischen angrenzenden Knoten, wie in 5,
Schritt 502 beschrieben, sind zum Verbinden des Graphen
erforderlich. Der Grund dafür
ist, dass in vielen Fällen
die Konkurrenzbereiche nicht miteinander verbunden sind. Andererseits
sind angrenzende Knoten innerhalb eines Konkurrenzbereichs eventuell
nicht verbunden. Außerdem
wird durch die Notwendigkeit zum Zuordnen negativ gerichteter Pfade
zwischen aufeinander folgenden Knoten innerhalb des CRx sichergestellt,
dass die überlappenden
Pakete zwischen zwei Knoten vor einem einzelnen Paket mit der gleichen
Länge entfernt
werden. Dies kann anhand eines Beispiels verdeutlicht werden.
-
Nach
dem Erzeugen eines gerichteten Graphen wird ein Algorithmus zum
kürzesten
Pfad ausgeführt,
um das kleinste an der Konkurrenz beteiligte Paket zu finden. In
diesem Fall ist die Länge
von B1 und B2 + B3 gleich, es scheint daher, dass kein Unterschied
zwischen dem Löschen
der einen oder anderen Gruppe besteht. Wenn jedoch B1 entfernt wird, liegt
weiterhin eine Konkurrenz zwischen den Knoten 4 und 3 vor. Um dies
zu vermeiden, wird Priorität
auf die Fälle
gelegt, bei denen sich Pakete überlappen (d.
h. B2 und B3).
-
Diese
Technik bietet außerdem
eine höhere Fairness
hinsichtlich der Löschung
von Paketen mit unterschiedlichen Pfaden zwischen Quelle und Ziel. Der
Wert des negativ gerichteten Pfads Nk kann
ein Bruchteil einer Einheit sein (z. B. –0,01).
-
Nachdem
ein verbundener Graph G' =
(n, A') definiert
wurde, kann seine zugeordnete Abstandsmatrix Cij konstruiert
werden. Dabei ist zu beachten: Wenn (i, j) kein Bogen des Digraphen
G' ist, wird dij als unendlich gekennzeichnet. Die Komplexität bei der
Berechnung der kürzesten
Gruppe von Paketen in jedem Fenster hängt von der Auswahl des Algorithmus
für den
kürzesten
Pfad ab. Varianten der Algorithmen Bellmann-Ford oder Dijkstra erscheinen hierbei
praktisch und effizient.
-
Dementsprechend
bietet die vorliegende Erfindung in vorteilhafter Weise ein Verfahren
und ein Gerät
zur Implementierung einer vorherschauenden Konkurrenzauflösung („Look-Ahead
Contention Resolution",
LCR). Die LCR-Technik nutzt die Vorteile der bestehenden Trennung
der Datenpakete und ihrer BHPs in der Zeit (Versatz oder „t"). Durch ein Vorherschaufenster
(„LAW") mit einer Breite
wie W Zeiteinheiten kann der Scheduler BHPs verarbeiten, bevor die
entsprechenden Pakete ankommen, und somit ein kollektives Wissen über den
Status des Switch in der Zukunft erzielen. Dies stellt einen Unterschied
zu anderen vorgeschlagenen Algorithmen zur Einplanung dar, bei denen
der Switch vorab nur Informationen über einen einzigen Zeitschlitz
t Zeiteinheiten in der Zukunft hat. Die Erfindung verarbeitet anschließend die
Konkurrenz innerhalb des konstruierten Paketfensters, eliminiert
die Konkurrenz und minimiert gleichzeitig die Menge der zu löschenden
Daten.
-
Es
ist zu beachten, dass die hierin beschriebenen Ausführungsformen
insbesondere für
Systeme geeignet sind, bei denen die Größe der Datenpakete variabel
ist und denen es an Mitteln zur Pufferung der Datenpakete mangelt.
Darüber
hinaus gelten die Ausführungsformen,
wenn der Versatz t variabel ist und unabhängig davon, ob die Datenpakete segmentiert
sind oder nicht.
-
Darüber hinaus
eignen sich die hier beschriebenen Ausführungsformen für verschiedene Formen
von Burstvermittlungsnetzen unabhängig von dem verwendeten Transportmedium.
Die Ausführungsformen
können
insbesondere auf „Electronic Burst
Switching" (EBS), „Advanced
Manufacturing Systems" (AMS)
und „Radio
Burst Switching" (RBS) Netzwerke
angewendet werden.
-
Aufbauend
auf der obigen ausführlichen
Beschreibung sollte klar sein, dass die vorliegende Erfindung eine
innovative und effiziente Lösung
zur Implementierung einer LCR-Technik in einem OBS-Netzwerk darstellt.
Die hier beschriebene LCR ist ein generischer Mechanismus, der in
Verbindung mit zahlreichen anderen Algorithmen zur Einplanung verwendet
werden kann, beispielsweise Segmentierung oder anderen Algorithmen.
Darüber
hinaus kann die LCR auch in Anwendungen mit Anforderungen hinsichtlich
der Dienstgüte
(„QoS") hilfreich sein. Und
die LCR-Technik ist nicht auf ein bestimmtes Übertragungsschema begrenzt
(z. B. segmentiert oder nicht segmentiert), und sie kann für ein Umschaltsystem
mit oder ohne „Fiber
Delay Lines" (FDLs)
oder optische Puffer verwendet werden. Darüber hinaus hat es auf den Funktionsumfang
der LCR-Technik keine Auswirkung, ob die Versatzgröße konstant
oder variabel ist.
-
Es
ist anzunehmen, dass der Betrieb und die Konstruktion der vorliegenden
Erfindung aus der obigen ausführlichen
Beschreibung klar ist. Die exemplarischen Ausführungsformen der Erfindung
wurden hier zwar entsprechend der bevorzugten Form gezeigt und beschrieben,
es sollte jedoch klar sein, dass verschiedene Änderungen und Variationen möglich sind,
ohne vom Anwendungsbereich der vorliegenden Erfindung gemäß den folgenden
Ansprüche
abzuweichen.
-
1
-
- Jedes BHP wird um 10 Zeitschlitze im Voraus übertragen;
Max DB = 4 Zeitschlitze
-
- Datenpakete werden an 2 separaten Paketen übertragen
-
- BHP/Ermittlung der Paketlänge und des eingehenden DB
-
- (Time) – Zeit
- (Switch) – Switch
- (Port) – Port
- (Packets) – Pakete
-
2A
-
- (Current Time) – Aktueller
Zeitpunkt
- (Time) – Zeit
- (Look-Ahead Window) – Vorherschaufenster
(LAW)
-
2B
-
- (Time) – Zeit
- (Current Time + Offset) – Aktueller
Zeitpunkt + Versatz
- (Resolution Region (RR)) – Auflösungsbereich
(RR)
- (Burst Window) – Paketfenster
(BW)
-
3A
-
- (Current Time + Offset) – Aktueller Zeitpunkt + Versatz
- (Time) – Zeit
- (Potential Bursts to be dropped) – Potenziell zu löschende
Pakete
- (Burst Window) – Paketfenster
(BW)
-
3B
-
- (Time) – Zeit
- (Current Time + Offset) – Aktueller
Zeitpunkt + Versatz
- (B1 is scheduled) – B1
ist eingeplant
- (Burst Window) – Paketfenster
(BW)
-
3C
-
- (Current Time + Offset) – Aktueller Zeitpunkt + Versatz
- (Time) – Zeit
- (Burst Window) – Paketfenster
(BW)
-
3D
-
- (Time) – Zeit
- (Current Time + Offset) – Aktueller
Zeitpunkt + Versatz
- (B4 will be discarded) – B4
wird gelöscht
- (Burst Window) – Paketfenster
(BW)
-
4
-
- 400: Zeitschlitze akkumulieren bis zum Erreichen
eines LAW voller Größe
- 402: BW Zuweisen
- 404: RR definieren
- 406: Gruppe CR aus Konkurrenzbereichen ermitteln
- 408: Innerhalb der CR-Gruppe eine Gruppe P aus Paketen
ermitteln, die potenziell gelöscht
werden können.
- 409: Alle Pakete in Gruppe D zum Löschen markieren, wobei D alle
Pakete in Gruppe P mit ts = TSo umfasst
- 410: Alle Pakete mit ts = TS0, die nicht zur Gruppe
D gehören,
ermitteln
- 412: LAW weiterschieben
-
5
-
- 500: Digraph G konstruieren
- 502: Angrenzende Knoten nach Regeln zur Konstruktion
von Digraph G miteinander verbinden
- 504: Kostenmatrix Cij konstruieren
- 506: Gruppe P von Paketen ermitteln, die die kürzesten
Pakete von CR1 bis CRu umfassen
- 508: Gruppe D mit einer Teilgruppe der Gruppe P aus Paketen
ermitteln, für
die ts = TSo
- 510: Dauer der verbleibenden Pakete ändern, die sich über TSw
hinaus bis unendlich erstrecken.