Certains contenus de cette application ne sont pas disponibles pour le moment.
Si cette situation persiste, veuillez nous contacter àObservations et contact
1. (WO2002087130) PROCEDE ADAPTATIF ET REPARTI POUR LE CALCUL DE CHEMINS OPTIMAUX POUR LE SYSTEME DANS DES RESEAUX DE COMMUNICATION A COMMUTATION DE PAQUETS
Note: Texte fondé sur des processus automatiques de reconnaissance optique de caractères. Seule la version PDF a une valeur juridique

Adaptives verteiltes Verfahren zur Berechnung systemoptimaler Routen in paketvermittelnden Kommunikationsnetzen

Einleitende Bemerkungen
An die Leistungsfähigkeit paketvermittelnder Rechnernetze werden heutzutage immer größere Anforderungen gestellt. Zum einen erfordert der stetig zunehmende Verkehr immer leistungsfähigere Routing- Verfahren, die die Last optimal auf das zur Verfügung stehende Kommunikationsnetz verteilen. Andererseits ist aufgrund der Heterogenität der zu erbringenden Dienste die Berücksichtigung anwendungsbezogener Dienstgüteparameter (quality of Service) durch die Kommunikationssysteme unabdingbar. Um auf die verschiedenen Anforderungen der Anwendungen reagieren und geeignete Datenwege bzw. Routen bereitstellen zu können, werden effiziente Wegewahl- bwz. Routing-Algorithmen benötigt, die eine dynamische Anpassung der Routen an die aktuellen Lastmuster auf dem Netz leisten sollen. Solche Routing-Algorithmen sollten verschiedene Routing-Metriken oder Zielfunktionen zur anwendungsbezogenen Bewertung von Routen in ihr Kalkül mit einbeziehen.
Aus Performance-Gründen werden meist sog. Kürzeste Wege Verfahren implementiert, die für einzelne Quelle-Ziel-Beziehungen geeignete Routen durch das Netz berechnen, ohne aber die Routenwahl der jeweils anderen Quelle-Ziel-Beziehungen mit ins Kalkül zu nehmen. Dies führt in der Regel nicht zu einem systemoptimalen Zustand! Die beiden folgenden Kürzeste Wege Verfahren sind besonders bekannt und haben sich (so oder in abgewandelter Form) auf breiter Ebene durchgesetzt:

Distance-Vector Routing - Das Verfahren basiert auf dem Algorithmus von Bellman-Ford. Jeder Router versendet einen Teil seiner Routing-Tabelle (Zieladresse, Distanz) periodisch an seine Nachbarn. Mit Hilfe dieser Informationen berechnet jeder Router, welcher Nachbar momentan die günstigste Route zu einem Ziel anbietet und trägt ihn zusammen mit dem errechneten Distanzwert in seine Routing-Tabelle ein. Es erfolgt so eine verteilte Berechnung der Routen (kein Router braucht die vollständige Route zu kennen). Das Verfahren zeichnet sich insgesamt durch seine Einfachheit und einen niedrigen Speicheraufwand aus. Es besitzt aber auch gravierende Nachteile, zu denen etwa seine Trägheit (das sogenannte Count-to-Infinity-Problem), seine Neigung zur Ausbildung von Routing-Schleifen und Oszillationen, sein Unvermögen die Leitungsbandbreiten in die Wegewahl einzu-beziehen und auch seine Langsamkeit gehören. Aufgrund dieser Nachteile ist das Distance-Vector Routing mehr und mehr vom Link-State Routing abgelöst worden.
Link-State Routing - Dieses Verfahren gilt als eine flexiblere und robustere Alternative zum oben beschriebenen Distance-Vector Routing. Dabei besitzt jeder einzelne Router-Rechner Informationen über die gesamte Topologie des Netzes. Es werden die Zustände des Systems, die link states, durch das gesamte Netz propagiert (flooding), so daß jeder Router, mit einer kleinen Verzögerung, den gesamten Netzzustand kennt. Diese Datenbasis nutzt jeder Router, um autonom mit Hilfe des Dijkstra-Algorithmus die kürzesten Routen für jede ihn betreffende Quelle-Ziel-Beziehung zu berechnen. Nachteile des Verfahrens Link State Routing sind vor allem die relativ hohe Netzbelastung, die durch das Flooding verursacht wird, und die hohen Speicher und Prozessoranforderungen. Außerdem können sich in bestimmten Situationen Routenschleifen ausbilden (besonders, wenn die Last des Netzes mit in das Wegewahlkalkül aufgenommen wird). Dies liegt daran, dass die Berechnungen unabhängig voneinander in den einzelnen Router-Rechnern durchgeführt werden.
Beide Algorithmen berechnen für jedes Quelle-Ziel-Paar genau einen Weg (singlepath routing).

Es ist daher die Aufgabe der vorliegenden Erfindung, ein Verfahren zur Berechnung von Routen in paketvermittelnden Kommunikationsnetzen zu beschreiben, welches in der Lage ist, systemoptimale Routen bzgl. Beliebig voegebbarer Zielfunktionen zu ermitteln. Die Aufgabe wird erfindungsgemäß gelöst durch ein Verfahren mit den Merkmalen des Anspruchs 1.

Die hier beschriebene Erfindung realisiert ein adaptives und verteiltes Verfahren zur systemoptimalen Routenwahl in paketvermittelnden Kommunikationsnetzen mit beliebig vorgebbarem Optimierungskriterium (Zielfunktion). Dazu werden das eigentliche Kommunikationsnetz und das zugehörige Routing- Verfahren auf spezielle, miteinander kooperierende neuronale Netze abgebildet, die ldentifikations- und Fehlerpropagierungsnetz genannt werden.
In Figur 1 ist dargestellt, dass die Aufgabe als Steuerungsproblem interpretiert werden kann, indem das eigentliche Kommunikationsnetz als das zu steuerende System (Identifikationsnetz) aufgefasst wird, und die optimale Wegewahl als Steuerung des ersten Subsystems. Strukturen und Zustände des Identifikationsnetzes werden durch die Topologie des Kommunikationsnetzes und dessen spezifische Attribute (Queuespeichergrößen, Service-Raten, etc.) definiert. Die freien einzustellenden Parameter des Identifikationsnetzes sind die Einträge der Routingtabellen der einzelnen Router-Rechner. Die Steuerung (das Fehlerpropagierungsnetz) stellt diese Parameter entsprechend einer gegebenen Zielfunktion ein. Beide Subsysteme kooperieren permanent miteinander: das Identifikationsnetz übermittelt zyklisch seinen aktuellen Systemzustand, während das Fehlerpropagierungsnetz zyklisch die jeweils neuen Korrekturen der Routingtabellen zurückgibt.
Die Bestimmung der optimalen Routen geschieht mit Hilfe des Fehlerpropagierungsnetzes, das als lineares rekurrentes neuronales Netz eine modifizierte Version des besonders effizienten Lernverfahrens Rekurrentes Backpropagation realisiert. Die Berechnungen des Fehlerpropa-gierungsnetzes sind durchweg lokal, d.h. dass jeder Router-Rechner nur einen geringen Teil der Gesamtberechnimg durchführen muss. Das Modell ist fähig, beliebige Teilmengen des Datenverkehrs (z.B. den Verkehr eines Zieles) in sogenannten Schichten separat zu routen, wobei die Abhängigkeiten der Schichten untereinander berücksichtigt werden.
Das Verfahren ist sowohl für verbindungslose Vermittlerschichten (also Datengrammteilnetze wie TCP/IP), als auch für verbindungsorientierte Dienste (Teilnetze mit virtuellen Verbindungen wie ATM), oder auch für Mischformen der beiden geeignet. Es ist einfach, robust und stabil. Weitere Kriterien wie Fairness und Optimalität lassen sich über geeignet definierte Zielfunktionen einbringen.

Lösung von Routing-Problemen mit Hilfe von Rekurrenten Neuronalen Netzen
Abbildung von Topolgie und Dynamik eines Routing-Netzes auf ein Rekurrentes Neuronales Netz

Ein Routing-Netz sei definiert durch einen gerichteten Graph $ = fe,S) , mit "K - Menge von N Router-Rechnern und S = Menge von M Router- Verbindungen, wobei „Router- Verbindung" hier für den Übertragungskanal zusammen mit dem entsprechenden Router-Ausgang und seinem Warteschlangenspeicher (output queue) steht! Q bzw. Z sei die Anzahl der Datenquellen bzw. Datenziele des Netzes. Weiter seien . c 5 die Menge der Quellanbindungen und cz S die Menge der Zielanbin-dungen.
Zunächst wird ein erstes rekurrentes neuronales Netz (RANN) konstruiert, das Topologie und Dynamik des Verkehrsgeschehens im Kommunikationsnetz möglichst realistisch nachbildet. Dieses Netz soll, entsprechend der üblichen Terminologie von Steuerungsmodellen, Identifikationsnetz oder auch

Identifikations-RANN heißen. Die Topologien von Kommunikationsnetz und neuronalem Netz werden aufeinander abgebildet, indem die Router-Verbindungen S des Kommunikationsnetzes mit den

Neuronen des RANN identifiziert werden. Die durch das Kommunikationsnetz und seinen Router-Rechnern realisierten Verbindungen von Router- Ausgängen entsprechen so den Kopplungen der

Neuronen. Das damit definierte Netzwerk ist ein rekurrentes neuronales Netz, da prinzipiell jedes

Neuron mit jedem anderen verbunden sein kann. Die Neuronen sind in diesem Falle aber spärlich gekoppelt, da ein Router in der Regel nur mit einigen wenigen anderen Routern in Verbindung steht.

Man beachte, daß es zwischen zwei Neuronen keine Verbindungen in beide Richtungen geben kann, da die Strecken des Graphen G gerichtet sind.
Die Figuren 2 und 3 veranschaulichen die beschriebenen Zuordnungen der Topologien anhand eines einfachen Beispiels. In Figur 2 ist ein einfaches Kommunikationsnetz dargestellt mit Router-Rechnern (__ bis R4), Datenquellen (Q;, Q2), Datenzielen (Z;, Z2), und Verbindungsleitungen mit den zugehörigen Warteschlangenspeichern (__/ bis L,2). Beispielsweise hat der Router R3 die Möglichkeit, die über Leitung L5 eintreffenden Datenpakete über die Leitungen L6, L,0 oder L,, weiterzurouten. Die Figur zeigt die Abbildung des Kommunikationsnetzes aus Figur 2 auf ein rekurrentes neuronales Netz. Die einzelnen Neuronen (N/ bis N12) entsprechen den Verbindungsleitungen mit den zugehörigen Warteschlangenspeichern des Kommunikationsnetzes. Die Einträge der Routingtabellen der Router-Rechner, die das Multipath-Routing des Kommunikationsnetzes definieren, sind die Kopplungs-gewichte wLk des neuronalen Netzes. Die Kopplungsgewichte müssen aufsummiert den Betrag 1 ergeben (Bsp.: w + w, = 1).
Dem Aktivitätszustand x,(t) des .-ten Neurons zum Zeitpunkt t entspricht, aufgrund der beschriebenen Identifikation von Router- Verbindungen und Neuronen, die Anzahl der Datenpakete, die sich zu diesem Zeitpunkt in der Warteschlange des Router-Ausganges i e S befinden. Die Propagierung der Datenpakete im Kommunikationsnetz wird im neuronalen Netz mit Hilfe spezieller Aktivitätsfunktionen s„ rt und Kopplungsgewichten wlk , i,k S , realisiert. Diese vom Zustand des Neurons (bzw. der Anzahl der Datenpakete) abhängigen Funktionen werden als Service (_, ) bzw. als Speicherrestriktionen (r, ) des Kommunikationssystems interpretiert. Sie bestimmen, wie sich die neuronalen Zustände pro Zeitschritt ändern, oder in der Sprache des Kommunikationssystems, wieviele Datenpakete in einem Zeitschritt einen Router-Ausgangsspeicher erreichen bzw. verlassen. Die Kopplungsgewichte wik legen fest, wie die an den Router-Eingängen i ankommenden Datenpakete auf die Router-Ausgänge k verteilt werden. Sie definieren damit eine Routing-Tabelle. Zum Beispiel besagt ein Gewicht wlk = 0.5 , dass der Router, der den Router-Ausgang k enthält, genau die Hälfte der an seinem Router-Eingang vom Router-Ausgang eines anderen Router-Rechners ankommenden Datenpakete zum Router-Ausgang k leitet. Für die Gewichte des RANN wird aus Gründen der Datenerhaltung
≤ wtJ ≤ \, V ,y und ,w„ =l> v (0.1)

gefordert.
Das so konstruierte Identifikations-RANN ist jedoch als Teilmodell für ein Routing- Verfahren zu unspezifisch, da damit noch nicht die Quelle-Ziel-Beziehungen der Datenpakete berücksichtigt werden können. Diese Beziehungen seien formal duch zeitabhängige Datenverkehrsmatrizen U(t) = ulk(t) , dim(U) = Q Z , gegeben. Die Matrixeinträge ulk(t) geben an, wieviele Datenpakete pro Zeiteinheit von der Quelle i ≡ O zum Ziel k & $ transportiert werden müssen.
Die Einbeziehung der Quelle-Ziel- Verkehrsnachfragen in das Modell geschieht über eine Erweiterung des Identifikations-RANN. Dazu wird das Identifikations-RANN aus Z einzelnen Schichten aufgebaut, von denen jede einzelne eine Kopie der originalen Netztopologie ist. Jede Schicht soll dabei die Teilflüsse des Gesamtszenarios simulieren, die, von irgendeiner Datenquelle ausgehend, zu genau einem Ziel führen. Die Anzahl der Schichten eines so erweiterten Identifikations-RANN ist identisch mit der Anzahl Z der Ziele des Kommunikationsnetzes. In jeder Schicht wird auf diese Weise eine bestimmte Teilmenge des Gesamtdatenverkehrs modelliert. Um Sackgassen zu vermeiden, werden noch in jeder Schicht d alle Neuronen und Verbindungen entfernt, die nicht auf irgendeiner zum Ziel d führenden Route liegen (von wo aus das betreffende Ziel nicht erreicht werden kann).
In Figur 4 (a und b) wird veranschaulicht, wie für die Subdatenströme eines jeden Ziels eine identische Kopie des orginalen neuronalen Netzes konstruiert wird. Diese Kopien werden Schichten genannt. Mit der Einführung der Schichten werden auch alle Zustandgrößen des orginalen Netzes vervielfacht. Die neuen Größen werden durch einen Topindex unterschieden (Bsp.: w327 ist ein Kopplungsgewicht der Schicht 2). Die Abbildung zeigt die beiden Schichten für das Beispiel aus den Figuren 2 und 3. In der Schicht i werden danach genau die Datenströme des Gesamtsystems modelliert, die das Ziel i haben. Es ist aber zu beachten, dass die Schichten nicht vollkommen unabhängig voneinder sind, da in die dynamischen Gleichungen (0.2) des neuronalen Netzes auch Summen von schichtspezifϊschen Zustandgrößen über alle Schichten eingehen. In jeder Schicht werden die Sackgassen zu den jeweils anderen Zielen entfernt (d.h. die Kopplungsgewichte dieser Verbindungen werden konstant auf den Wert 0 gesetzt).
Die Quelldatenflüsse qkd einer jeden Schicht d lassen sich leicht entweder aus der vorgegebenen Datenverkehrsmatrix berechnen (qkά -= uω ), oder direkt aus den Statistiken des betreffenden Quell-Routers ablesen.
Für das erweiterte Identifikations-RANN gilt:
1.



Ausgangs ;' mit dem Ziel d. Für das Weitere seien noch xl:= (x],x^,...,xf) der Vektor Datenmengen aller Schichten, xrf := (xd,xd ,—,xMd ) der Vektor der Datenmengen der Schicht d, und x:= (x',x2,...,x'!) der Vektor aller Datenmengen.
2. Die Datenflüsse der einzelnen Schichten sind nicht unabhängig voneinander. Wie später gezeigt wird, hängen sowohl der Service sd als auch die Speicherrestriktion rt von den Aktivitätszu- ständen x, aller Schichten ab.
Die zeitdiskreten dynamischen Gleichungen der einzelnen Schichten des Identifikations-RANN sind gegeben durch
xd t + τx) = xd t) + ukd{t)-hi{t) + τxqkd(t)
- ^(t)+rt( X vIl(t ''(t)-^(/)£^(t)r,(t) + τArf(t)- (0-2)

Das durch die Gleichungen (0.2) definierte RANN ist ein sogenanntes Σ-II-Netz, da es gewichtete Summen von Produkten von (sigmoiden) Funktionen enthält.
Hier und im nachfolgenden bezeichnet der Top-Index d immer die Nummer der Schicht. Die q sind die Quelldatenflüsse der Schicht d, und τx ist das diskrete Zeitintervall der Entwicklung.
Der Service sd der Schicht d ist der Teil des totalen Service s, , der dem Verhältnis der Datenmenge xd der Schicht d zur Gesamtdatenmenge xt entspricht:

^(x,) :=s{x)^, mit sd (x,) :=0 , falls *, = 0 (0.3)

Der totale Service s,(xt) e [0;_,] beschreibt die gesamte Sendeleistung des Router-Rechners über die Verbindung i in Abhängigkeit der Datenmenge x, des zugehörigen Ausgangsspeichers, wobei c, die maximale Servicerate für den Ausgangsspeicher / ist.
Die Form einer solchen Funktion zeigt die Figur 6. Hier ist die grobe Funktionsgestalt der totalen Services s^x,) aufgetragen über der Paketzahl x, des Warteschlangenspeichers. Die Sendeleistung s, ist nach oben beschränkt durch die Servicerate c, .
Die genaue Definition von _, wird im konkreten Anwendungsfall durch eine Reihe weiterer (fixer) Parameter bestimmt, wie z.B. die Leistungsfähigkeit der Rechner-Hardware und die Kanalkapazität der Leitung. Das hier beschriebene Verfahren kann beliebige Service-Funktionen st verwenden, solange sie monoton steigend und stetig differenzierbar sind. Ein Beispiel für s, ist _ , (x, ) : = 2 τx c, (l + exp (-α, xt )) - 1 mit freiem Parameter α, .
Die monoton fallenden rk e [0;1] sind die Speicherrestriktionen. Sie drücken das Unvermögen eines vollgelaufenen Ausgangspeichers aus, noch weitere Datenpakete aufzunehmen. Die rk hängen von der totalen Datenmenge der Ausgangspeicher k ab, d.h. rk(t) = rk(xk(t)) . Anforderungen an die rk sind: monoton fallend, differenzierbar und einen Wertebereich zwischen 0 und 1. Ein Beispiel für rk ist .;(.;,) :=l-(l + exp(α, -bl( xllxmaxj)))'1 mit freien Parametern at ,b, und einer Datenspeichergröße x^, . Die genauen Definitionen der rk sind für das Verfahren unwesentlich, solange sie die obigen Anforderungen erfüllen.
Die Form einer solchen Funktion zeigt die Figur 5, wobei die Speicherrestriktionen .;(;.,) über dem Füllgrad x xmax,, des Speichers aufgetragen sind. Bis zu einem bestimmten Füllstand (x xmaι., - < l ) können alle ankommenden Pakete aufgenommen werden, danach müssen zunehmend viele Pakete verworfen werden, bis schließlich bei vollem Speicher (x,/xmaxι = 1 ) keine Pakete mehr aufgenommen werden können.
Die Definition der dynamischen Gleichungen (0.2) zeigt, dass die real zu- und abfliessenden Datenströme ud(t) und hk (t) sowohl von den Serviceraten als auch den Speicherrestriktionen der beteiligten Router-Rechner abhängen. Im Fall des abfliessenden Datenstroms hk (r) entspricht dies nicht ganz den realen Verhältnissen, da Pakete, die nicht von den nachfolgenden Routern und deren Ausgangsspeichern aufgenommen werden können, verloren gehen und erneut verschickt werden müssen, wohingegen dieses Simulationsmodell davon ausgeht, dass Datenpakete, die von den nachfolgenden Router-Rechnern nicht aufgenommen werden können, gar nicht erst verschickt werden. Entscheidend in diesem Zusammenhang ist aber, dass das später dazu passende Fehlerpropagierungsnetz rückstaufreie Routen berechnet, die automatisch die Verlustrate und das Wiederversenden von Datenpakten minimieren.
Mit Einführung der Korrelationsterme adk(t) = sd(t) rk(t) lässt sich (0.2) auch wie folgt schreiben:
xi(t + τx) = xd t) + ∑ (t)adk(t)- jwhd(t)aii:t) + τxqkd(t). (Q 4)

Die adk werden später für weitere Berechnungen verwendet werden.

Die Konstruktion eines kooperierenden Fehlerpropagierungsnetzes
Das Fehlerpropagierungsnetz ist der Routing-Modellteil des Verfahrens. In ihm werden Fehlersignale in entgegengesetzter Richtung zu den Datenpaketen des Identifikationsnetzes propagiert. Die Zustände dieses linearen rekurrenten neuronalen Netzes werden benutzt, um Korrekturen Awk der Gewichte wdk des Identifikationsnetzes entsprechend vorgegebener Optimierungskriterien zu berechnen (die wdk legen die Routen der Datenpakete durch das Kommunikationsnetz fest).
Das Fehlerpropagierungsnetz realisiert über einen Gradientenabstieg entlang einer vorgegebenen Ziel-funktion eine modifizierte Version des Lernverfahrens rekurrentes Backpropagation. Die Entwicklung der benötigten Formeln wird hier verkürzt - ohne Zwischenschritte - wiedergegeben, da die vollständigen Ausführungen den Rahmen dieser Erfindungsbeschreibung sprengen würde. Die Ausführungen folgen aber prinzipiell der bekannten Herleitung des rekurrenten Backpropagation Lemverfahrens, so wie es z.B. in [4] erklärt ist. Der Unterschied besteht vor allem darin, das es sich bei dem Identifikations-Netz um ein sogenanntes Σ-11-Netz handelt.
Die Zielfunktionen können, je nach Einsatzfall und gewünschtem Optimierungsziel, fast beliebig definiert werden (sie müssen differenzierbar in xt sein). Sinnvolle Zielfunktionen für optimale Routing- Verfahren in Kommunikationsnetzen sind beispielsweise:

E( = ∑x, (s,(xXt)) ,,(*,(,)) = ∑C| .^)) • (0-5)

mit einer M/M 1 -Wartezeitfunktion π, (s) = s/(c, -s) , oder einfach:

E(t) = φ, x t), (0.6)

mit den positiven Gewichtungskonstanten φt , oder eine Funktion, die für alle alternativen Routen eines Quelle-Ziel-Paares gleiche Transportzeiten erzwingt:



mit einer beliebiger Verzögerungszeitfunktion π, (s) .
Für die Korrektur der Gewichte ergibt sich nach dem Gradientenabstiegsverfahren



mit einer Schrittweite ε des Abstiegs und den von der verwendeten Zielfunktion abgeleiteten Konstanten!^ = dEk/dxk . Für die Zielfunktion (0.5) ergibt sich beispielsweise:
_ , 2ck -sk
* = **** rr- (0.9)

Die unbekannten partiellen Ableitungen dxl/dwd werden über die dynamische Gleichung (0.4) bestimmt; es ergibt sich



mit
a<
3



(lim_^(._,) = 0 und limG,Jl(Λ:,) = l/π(0) > 0 ). Durch Umstellungen und Substitutionen von (0.10) ergibt sich ein neues lineares RANN (das Fehlerpropagierungsnetz) mit der dynamischen Gleichung



und Kopplungsgewichten

Das in (0.12) definierte lineare System ist jedoch nicht kontrahierend, da die Matrix v'k" einen Spektralradius größer 1 besitzt. Eine Umstellung der Gleichungen in die Form

v7k y = -∑∑ y,' (0.14)
ι "t / l≠e
gestattet aber eine Interpretation des Systems als zwei miteinander kooperierende Fehlerpropagierungsnetze. Die linke Seite der Gleichung definiert das 1. Fehlerpropagierungsnetz mit einer Gewichte-Matrix v" . Seine Aufgabe ist es, das lineare Gleichungssystem (0.14) bei festgehaltener rechter Seite iterativ zu lösen. Das 2. Fehlerpropagierungsnetz mit der Gewichte-Matrix v^k dagegen löst das Gleichungssystem (0.14) bei festgehaltener linker Seite. Die dynamische Gleichung des 1. linearen Netzes ist also

(0.15)

während das 2. Netz die folgende lineare Operation realisiert

;('+*,)=Σ∑ - ∑ , (')- + ∑∑ *Jtf( (0.16)

Die beiden linearen Netzwerke arbeiten wechselweise solange, bis sich ein stabiler Zustand einstellt (die Lösung y* des durch (0.12) definierten Gleichungssystems). Mit Hilfe der Lösung y* können die benötigten Korrekturen der Gewichte wie folgt bestimmt werden:
Δ =β ( - tf) β (0.17)

Arbeitsweise des Gesamtmodells
Die Arbeitsweise des Gesamtmodells besteht darin, das Identifikationsnetz und die beiden Fehlerpropagierungsnetze wechselweise oder parallel entsprechend ihrer dynamischen Gleichungen zu entwickeln, und nach einer einstellbaren Anzahl Zeittakte tldenl bzw. tError die aktuellen Netzzustände dem jeweils anderen RANN zur Berechnung seiner Gewichtskorrekturen zu übergeben. Die ganzzahligen Zeittaktparameter tldent und tError bestimmen, wie oft Korrekturen an den Gewichten erfolgen und wie genau diese Korrekturen sind. Sie können als eine Art Trägheit des Systems inteφretiert werden (größere Werte entsprechen einer größeren Trägheit).
Die folgenden Schritte werden zyklisch entweder hintereinander oder parallel ausgeführt: 1. Identifikationsnetz: Entwickle den Systemzustand über tldeπl diskrete Zeitschritte der Länge τ. nach den dynamischen Gleichungen (0.2),
2. Fehlerpropagierungsnetz: Übernehme den aktuellen Zustand xd(t) des Identifikationsnetzes und berechne die Gewichte v nach (0.13),
3. Fehlerpropagierungsnetz: Entwickle den Systemzustand über tError diskrete Zeitschritte der Länge Xy nach den dynamischen Gleichungen (0.15) und (0.16),
4. Identifikationsnetz: Übernehme den aktuellen Zustand y(t) des Fehlerpropagierungsnetzes und Aktualisiere die Gewichte wdk unter Verwendung von (0.17).
Eine Übersicht über das Gesamtmodell zeigt die Figur 7. Man erkennt, dass das Gesamtmodell im Wesentlichen zweigeteilt ist: das geschichtete Identifikationsnetz mit den Funktionen s, (totale Services) und r( (Speicherrestriktionen), die beide von Summen von Zustandswerten der einzelnen Schichten abhängen, und dem zweigeteilten Fehlerpropagierungsnetz, das die systemoptimale Wegewahl realisiert. Die Fehleφropagierungssubnetze erhalten zyklisch aus Zustandsvariablen des Identifikationsnetzes berechnete Gewichte v| bzw. v* , und geben Gewichtskorrekturen für die Kopplungsgewichte des Identifikationsnetzes zurück. Durch ein permanentes Wechselspiel der Subsysteme nach vorgebbaren Zyklen werden die Routingtabellen des Kommunikationsnetzes dynamisch an die wechselnden Bedingungen (Netzbelastung und Verkehrsnachfiage) angepasst.

Übertragung des RANN-Routing-Modells in den Kontext paketvermittelnder Kommunikationsnetze
Implementation des RANN-Routing-Modells in einzelnen Router-Rechnern
Entscheidend für die Implementation des RANN-Routing-Modells als Verfahren in einzelnen Router-Rechnern sind zwei Feststellungen:
1. Sowohl das geschichtete Identifikations- als auch das Fehlerpropagierungsnetz können direkt auf das Kommunikationsnetz abgebildet werden, da alle die gleiche Topologie besitzen. Dazu werden den einzelnen Router-Rechnern gerade die Neuronen bzw. Schichtneuronen zugeordnet, die ihren Ausgangsspeichern entsprechen. Die Services sd und Speicherrestriktionen rt des Identifikationsnetzes, die für die Berechnungen des Fehleφropagierungsnetzes gebraucht werden, können entweder so definiert werden, dass sie den Leistungscharakteristiken von Router-Rechnern und Verbindungsleitungen entsprechen, oder die benötigten Funtionswerte und deren Ableitungen werden einfach von den Router-Rechnern als Statistiken geführt und bei Bedarf verwendet.
2. Alle vorkommenden Rechenoperationen des Fehleφropagierungsnetzes sind lokaler Natur, d.h. sie können auf die einzelnen Router-Rechner so verteilt werden, dass jeder Router-Rechner nur einen geringen Teil der Gesamtberechnung ausführen muss, und dafür nur eigene Zustandsdaten und die der direkt verbundenen Nachbar-Router-Rechner benötigt. Es entsteht so ein vollständig verteiltes Verfahren.
Der konkrete Ablauf des Verfahrens in einem paketvermittelnden Kommunikationsnetz zerfällt in vier Funktionsblöcke, die parallel arbeiten, und von denen jeder Block seinen eigenen festen Ausführungs-zyklus besitzt: 1. Datenpakete routen und Statistiken erstellen
Jeder Router-Rechner routet die ankommenden Datenpakete entsprechend seiner Routing-Tabelle, die aus den Gewichten wdk gebildet wird. Dabei sind die Gewichte mit dem Index d für die Pakete mit dem Ziel-Router d (oder für einen entsprechend definierten Teilstrom d) zuständig. Das durch die wdk definierte Multipath-Routing (in der Regel existieren für festes i Indizes j„j2 mit w j, 'w > 0 wi1^ realisiert, indem die Datenpakete in einem entsprechenden Verhältnis auf die Ausgänge _/, und j2 aufgeteilt werden. Diese Aufteilung soll weitgehend so erfolgen, dass die Datenpakete einer Quell-IP-Adresse genau einem Ausgang zugeordnet werden. Weiter führt jeder Router k Statistiken (zeitliche Mittelwerte) über alle seine Teildatenströme sk ,sk , deren zeitliche Veränderungen sk' und die Längen seiner Ausgangs-Warteschlangen xk ,xk .
2. Statusvariable propagieren und v-Gewichte berechnen
Die statistischen Werte des Routers werden nach definierten Zeitintervallen τStatm zyklisch an alle direkt verbundenen Nachbar-Router-Rechner geschickt. Nach Erhalt dieser Daten ist jeder Router in der Lage, entsprechend der Formel (0.13), seine Fehleφropagierungs-Gewichte v*,v* zu berechnen.
3. Fehlersignale berechnen und propagieren
Nach fest vorgegebenen Zyklen τErrl und τ Err2 berechnet jeder Router seine Fehlersignale yk und zd nach dem dynamischen Gesetzen (0.15) und (0.16). Die neuen Fehlersignale werden an alle direkt verbundenen Nachbar-Router-Rechner geschickt.
4. Gewichtskorrekturen berechnen und propagieren
Nach einem festen vorgegebenen Zeittakt τKor berechnet jeder Router k die Korrekturen Aw ,Awk seiner Routing-Gewichte whd,wdk mit Hilfe der aktuellen Werte yd nach der Formel (0.17), und normalisiert die neuen Gewichte. Die neuen Gewichte werden an alle direkt verbundenen Nachbar-Router-Rechner geschickt.

Vorteile und besondere Leistungsmerkmale des Verfahrens
1. Das Modell ist ein systemoptimales Routing-Verfahren, optimal bezüglich beliebig vorgebbarer Zielfunktionen. Systemoptimal heisst auch, dass das Verfahren die einzelnen Routen nicht unabhängig voneinander berechnet; im Gegensatz etwa zum Link-State-Routing, wo jeder Router-Rechner unabhängig von den Berechnungen der a jeweils anderen Router-Rechner seine kürzesten Wege berechnet (was Oszillationen verursachen kann). Die Routen werden grundsätzlich lastabhängig berechnet, wobei die Routenmuster sich permanent an die aktuelle Verkehrsnachfrage und die Zustände der Ausgangsspeicher anpassen.
2. Das Berechnungsverfahren zur dynamischen Bestimmung der optimalen Routen ist besonders effizient, da der Backpropagation-Algorithmus derzeit die schnellste Möglichkeit darstellt, um Gradienten für ein Gradientenabstiegsverfahren zu berechnen.
3. Das Modell ist ein verteiltes Verfahren, bei dem jeder einzelne Router des Netzes nur einen geringen Teil der Gesamtberechnung ausführt. Die Arbeitsschritte des Fehleφropagierungsnetzes zerfallen in elementare Operationen, die alle nur lokale Informationen - die eigenen und die der nächs- ten Nachbarn - benötigen. Die lokalen Operationen sind einfach und stellen keine besonderen Anforderungen an die einzelnen Routern bezüglich Rechenzeit und Speicherbedarf (im Gegensatz zum Link-State-Routing). Der zusätzliche Kommunikationsaufwand für die Fehlersignale ist gering. Die einzelnen Router-Rechner brauchen nicht die gesamte Topologie des Kommunikationsnetzes zu kennen.
4. Obwohl die zugrundeliegende Theorie mit den rekurrenten neuronalen Netzen von der Mathematik her relativ kompliziert erscheint, sind in der konkreten Implementation die lokalen Rechenoperationen für die einzelnen Router-Rechner besonders einfach.
5. Das Modell realisiert ein multipath routing ( wdk ^ [ ;l , k wk = 1 ). Es routet die Informations-pakete einer Quelle-Ziel-Beziehung bei starker Netzbelastung auch über verschiedene, alternative Routen, wodurch die zur Verfügung stehenden Netzkapazitäten maximal genutzt werden können. Eine Aufteilung der Datenpakete auf die verschiedenen Routen kann z.B. quellspezifisch erfolgen. Ein multipath routing kann weder durch das Distance-Vector-Routing, noch durch das Link-State-Routing realisiert werden.
6. Das Modell ist robust bezüglich Ausfällen von Routern. Ein ausgefallener Router-Rechner kann sich nicht mehr an der Verarbeitung der Fehlersignale beteiligen. Daraus resultiert, dass die ihn betreffenden Abbiegeraten der Nachbarrechner sofort (oder sehr schnell) zurückgesetzt werden. Dies ist gleichbedeutend mit einer automatischen Reduzierung der Topologie um diesen ausgefallenen Router. Der entgegengesetzte Vorgang ist ebenso möglich: ein Router-Rechner wird neu ins Netz eingebunden, nimmt Verbindung mit seinen Nachbarn auf und wird damit automatisch in die globale Routing-Strategie aufgenommen, ohne dass der neue Rechner allen Rechnern des Kommunikationsnetzes bekanntgegeben werden müsste.
7. Das Modell ist in der Lage, heterogener Dienste (Priorisierung, Garantierung eines quality-of-service, multicast-routing oder gemischtes single- und multipath-routing) bereitzustellen, da einerseits in den Schichten des Identifikationsnetzes beliebige Teile des Gesamtverkehrs modelliert und optimiert werden können, und andererseits jede einzelne Schicht mit unterschiedlichen Dynamikparametern und Zielfunktionen versehen werden kann. Die Unterstützung solch spezifischer Dienste ist mit den gängigen Verfahren (Distance-Vector-Routing, Link-State-Routing) nicht zu erreichen.

Zitierte Veröffentlichungen
[ 1 ] P. Mathias, Statische und dynamische V erkehr sumlegung mit Rekurrenten Neuronalen Netzen, Shaker Verlag, ISBN 3-8265-6720-X, 1999.
[2] M. A. Sportack, IP Routing Fundamentals, Cisco Press, ISBN 1-57870-071-X, 1999.
[3] A. S. Tanenbaum, Computernetzwerke, Kapitel 5, Prentice Hall, 3. Auflage,
ISBN 3-8272-9568-8, 1998.
[4] J. Hertz, A. Krogh, R. G. Palmer, Introduction to the Theory ofNeural Computation, Chapter 7, Addison Wesley, ISBN 0-201-51560-1, 1991.