-
Gebiet der
Erfindung
-
Diese
Erfindung bezieht sich auf Kommunikationsnetze und insbesondere
auf eine Kommunikation in Echtzeitsystemen.
-
Hintergrund
der Erfindung
-
Man
weiß auf
dem Gebiet dieser Erfindung, dass Fehlertoleranz eine allgemeine
Voraussetzung ist, um mit Kommunikationsfehlern in solchen Systemen
fertig zu werden.
-
Man
kennt die Bereitstellung redundanter Kommunikationskanäle, die
im Falle eines Versagens eines primären Kommunikationskanals verwendet
werden können.
Allerdings wird auf Grund von technischen/wirtschaftlichen Zwängen (erhöhten Kosten,
die durch redundante Verkabelung und zusätzliche Knotenschnittstellen
anfallen) die Anzahl an Kanälen
in bekannten Systemen, wie z. B. dem etablierten 'Time-Triggered Protocol' (TTP) und den in noch
jüngerer
Zeit eingeführten
fehlertoleranten Echtzeitkraftfahrzeugkommunikationssystemen 'FlexRay', auf zwei beschränkt.
-
Man
kennt auch die Verwendung von intelligenten Netzroutern, die eine
Datenübertragung
im Falle eines Fehlers in einer Netzverbindung auf intelligente
Weise umleiten. Allerdings erhöht
ein Ausstatten von Netzsternkopplern (z. B. in Systemen, wie z. B.
Weitverkehrs-/Lokalnetzen WAN/LAN) mit Mikroprozessoren die Gesamtsystemkosten
erheblich. Darüber
hinaus führen
solche Router eine Zeitverzögerung
ein, die in verteilten sicherheitskritischen Anwendungen zu Problemen
führen
kann.
-
Die
US-A-4 701 756 offenbart ein selbstroutendes Kommunikationsnetz,
das Sternkoppler umfasst, Mittel umfassend, um Frames an Information, die
eine Frame-Start-Sequenz
aufweisen, zu senden. Im Falle eines Pfadfehlers stellt sich dieses selbstroutende
Kommunikationsnetz selbst wieder her, allerdings stellt es keinen
Fehler signalisierenden Mechanismus zur Verfügung, so dass zusätzliche
Zeitverzögerungen
eingeführt
werden.
-
Zusammengefasst
weisen demzufolge Lösungen
des Stands der Technik die Nachteile hoher Kosten und/oder zusätzlicher
Zeitverzögerungen
in dem Kommunikationspfad auf.
-
Es
besteht daher ein Bedarf an selbstroutender hochverfügbarer Netzarchitektur
auf Basis von Sternkopplern, wobei der/die oben erwähnte(n) Nachteil(e)
verringert werden können.
-
Angabe der
Erfindung
-
Gemäß einem
ersten Aspekt der vorliegenden Erfindung wird ein selbstroutendes
Netz nach Anspruch 1 zur Verfügung
gestellt.
-
Gemäß einem
zweiten Aspekt der vorliegenden Erfindung wird ein Sternkoppler
nach Anspruch 7 zur Verfügung
gestellt.
-
Kurze Beschreibung
der Zeichnungen
-
Nur
als Beispiel wird nun – die
vorliegende Erfindung umfassend – eine selbstroutende hochverfügbare Netzarchitektur
auf Basis von Sternkopplern beschrieben – und zwar mit Bezug auf die
Begleitzeichnungen, in denen:
-
1 ein
Blockschemadiagramm des Netzes darstellt, das Verbindungen zwischen
Sternkopplern und Knoten des Netzes veranschaulicht;
-
2 ein
Blockschemadiagramm darstellt, das eine Frameübertragung zwischen einigen
der Sternkoppler und Knoten des Netzes veranschaulicht;
-
3 ein
Blockschemadiagramm eines Sternkopplers, der in dem Netz von 1 und 2 verwendet
werden kann, darstellt; und
-
4 ein
Timingdiagramm der in 2 veranschaulichten Frameübertragung
darstellt.
-
Beschreibung bevorzugter
Ausführungsformen
-
Bezieht
man sich zunächst
auf 1, erkennt man, dass ein selbstroutendes hochverfügbares Echtzeitnetzkommu nikationssystem 100 einen Satz
räumlich
verteilter Knoten (N1-N15) umfasst, der durch einen sternbasierten
Netz (umfassend Sternkoppler S1-S4, deren Verbindung durch Einzelstrichlinien
dargestellt wird)-Kanal, der einen bestimmten Weg zwischen jeglichen
zwei der Knoten zur Verfügung
stellt, verbunden ist. Die Knoten kommunizieren durch Austauschen
von Frames, die jeweils eine Frame-Start-Sequenz (FSS) aufweisen. Wie
bis jetzt beschrieben, kann das System zum Beispiel ein 'FlexRay'-Kommunikationssystem
sein und braucht nicht in weiteren Einzelheiten beschrieben werden.
-
Im
Unterschied zu einem bekannten 'FlexRay'-Kommunikationssystem fügt das System 100 allerdings
weitere Verbindungen L1, L2 und L3 (dargestellt durch Doppelstrichlinien)
dementsprechend zwischen den Sternkopplern S3 und S4, den Sternkopplern
S1 und S4 und den Sternkopplern S1 und S3 hinzu. Diese zusätzlichen
Verbindungen zwischen den Sternkopplern verhindern dadurch, dass sie
einen alternativen Kommunikationspfad zur Verfügung stellen, eine Partitionierung
des Netzes im Falle von Verbindungsfehlern unter Sternkopplern.
In der in 1 dargestellten Konfiguration
kann das System 100 zwei solchen Verbindungsfehlern ohne Kommunikationsverlust
unter den Knoten standhalten. Zum Zwecke der Veranschaulichung wird
in 1 zwischen den Sternkopplern S2 und S3 eine Unterbrechung 110 dargestellt.
-
Wie
unten ausführlicher
erörtert
wird, lösen die
Sternkoppler Framekollisionen dadurch, dass genau ein Eingang (der
erste detektierte Eingangsframe) gewählt wird und er an die übrigen Ausgänge weitergeleitet
wird. Jeder der Sternkoppler führt
diese Funktion durch kontinuierliches Erfassen seiner Eingangsleitungen
auf der Suche nach einer Frame-Start-Sequenz auf eine Art und Weise,
die derjenigen in einem bekannten 'FlexRay'-System ähnlich ist, aus. In einem vorgegebenen
Netz wird automatisch die kürzeste
(im Sinne von: die schnellste) Verbindung zwischen Sternkopplern
gefunden.
-
Nun
bezieht man sich auch auf 2, die einen
Teil des Systems von 1 darstellt, der aus den Knoten
N1, N2 & N7,
den Sternkopplern S1, S2 & S3 und
den Verbindungen dazwischen (umfassend die Unterbrechung 110)
besteht. 2 stellt drei Fälle dar:
Fall
1 – Ein
einzelner Eingangsframe kommt (von dem Knoten N1) an dem Sternkoppler
S2 an einem seiner Eingänge
(z. B. an Eingang 2) an, was dazu führt, dass dieser Eingang selektiert
wird, und bedingt, dass der Sternkoppler diesen Frame an allen anderen
seiner Ausgänge
ausgibt.
-
Fall
2 – Drei
Eingangsframes kommen an dem Sternkoppler S1 (z. B. an Eingängen 2,
3 und 4) an. Von diesen Eingängen
wird in diesem Fall der Eingang von dem Sternkoppler S2 (sagen wir,
Eingang 4) selektiert, da er als erster ankommt.
-
Fall
3 – An
dem Sternkoppler S3 wird der Eingang (z. B. Eingang 1) von dem Sternkoppler
S1 über
die zusätzliche
Verbindung L3 selektiert, da er durch den Sternkoppler als der erste
Eingang detektiert (d. h. erfasst) wird.
-
Bei
der Bereitstellung von Echtzeitverfügbarkeit ist die Diagnose (d.
h. Fehlerdetektion) ein wesentliches Thema. In dem System von 1 und 2 wird
eine Fehlerdetektion wie folgt erzielt. Ein Sternkoppler (S1, S2,
S3 oder S4) kürzt
den Frame zur Ausgabe (verglichen mit einem selektierten Eingangsframe),
indem er Bits von der Frame-Start-Sequenz
innerhalb des Sternkopplers entfernt oder verbraucht. Durch Analysieren
eines empfangenen Frames kann ein Empfängerknoten die von dem empfangenen
Frame genommene Route detektieren. Ein Kürzen der Frame-Start-Sequenz
kann entweder durch (a) interne(n) Zeitbasis/Takt (um das Auftreten der
vorgegebenen Menge der Frame-Start-Sequenz zu timen) oder (b) Bitdetektion
(um das Auftreten der vorgegebenen Menge der Frame-Start-Sequenz
zu detektieren) realisiert werden.
-
3 stellt
einen Sternkoppler (wie z. B. den Sternkoppler S1, S2, S3 oder S4) 300 dar,
der Eingänge
(von denen vier dargestellt werden), Ausgänge (von denen vier dargestellt
werden), einen Eingangsdetektor 310, einen FSS-Kürzer 320 und einen Ausgangsaktivierer 330 aufweist.
Der Eingangsdetektor 310 (dessen detaillierte Struktur
einem ordentlichen Fachmann klar ist und nicht weiter beschrieben
werden muss) detektiert, welcher der Eingänge empfangend ist oder als
erster eine Frame-Start-Sequenz empfängt, und selektiert diesen
Eingang. Der selektierte Eingang wird an den FSS-Kürzer 320 (wie oben
erwähnt
wird, entweder eine/ein interne(r) Zeitbasis/Takt oder ein Bitdetektor,
deren detaillierte Struktur einem ordentlichen Fachmann klar ist
und nicht weiter beschrieben werden muss) angelegt, der 2 Bits der
Frame-Start-Sequenz entfernt (wie unten beschrieben wird). Die gekürzte FSS
und die folgenden Framedaten werden an den Ausgangsaktivierer 330 angelegt,
der den gekürzten
FSS-Frame an alle Ausgänge
mit Ausnahme desjenigen, der durch den Eingangsdetektor 310 selektiert
wurde, anlegt.
-
Ein
Beispiel für
die Fehlerdetektionsprozedur, auf die sich oben bezogen wird, wird
in 2 (und auch in 4, auf die
sich unten ausführlicher bezogen
wird) dargestellt, in der jeder Sternkoppler 2 Bits von der Frame-Start- Sequenz eines Frames,
der den Sternkoppler durchquert, entfernt.
-
In
dem dargestellten Beispiel überträgt der Knoten
N1 einen Frame mit einer 8-Bit Frame-Start-Sequenz 210.
Von dem 8-Bit FSS-Frame 210 gibt der Sternkoppler S2 einen
6-Bit FSS-Frame 220 aus.
Von dem 6-Bit FSS-Frame 220 gibt der Sternkoppler S1 einen
4-Bit FSS-Frame 230 aus. Da der Pfad zwischen den Sternkopplern
S2 und S3 unterbrochen ist, empfängt
der Knoten N7 einen Frame 240 (der von Knoten 1 Sternkoppler
S2, S1 und S3 durchquert hat) mit einer verbleibenden 2-Bit Frame-Start-Sequenz,
da der Frame drei Sternkoppler passieren musste. Vergleichsweise
würde der
an dem Knoten 7 empfangene Frame 240 (der von Knoten 1
Sternkoppler S2 und S3 durchquert hätte) in dem fehlerfreien Fall,
falls es keine Unterbrechung zwischen den Sternkopplern S2 und S3
gäbe, eine 4-Bit
Frame-Start-Sequenz aufweisen. Somit kann der Knoten N7 durch Ermitteln
der Anzahl an FSS-Bits in dem von dem Knoten N1 herstammenden empfangenen
Frame ermitteln, ob sich der Frame über den Pfad N1-S2-S3-N7 (4-Bit FSS) fortbewegt
hat oder ob sich der Frame über
den Pfad N1-S2-S1-S3-N7 (2-Bit FSS) fortbewegt hat.
-
Bezieht
man sich nun auch auf 4, erkennt man, dass die Verhalten
der Sternkoppler S2, S1 und S3 dementsprechend für die drei Fälle 1, 2 & 3, auf die sich
oben bezogen wird, dargestellt werden.
-
Auf
diese Weise kann man erkennen, dass in dem Fall 1 (an dem Sternkoppler
S29 'Frame 1' an dem Eingang 2
des Sternkopplers ankommt (von dem Knoten N1). Nach einer maximalen
Signaldetektionszeit T_in wird der Eingang 'Frame 1' selektiert und dann wird kein weiteres
Eingangssignal angenommen. Nach einer anschließenden maximalen Zeit T_out
zum Starten der Ausgänge
wird der 'Frame
1' (nun, wo 2 Bits
von seiner FSS entfernt sind) an jedem der anderen Ausgänge (Ausgängen 1,
3 und 4) des Sternkopplers ausgegeben.
-
In
dem Fall 2 (an dem Sternkoppler S1) kommt 'Frame 2' (von dem Sternkopplerknoten N1 über den
Sternkoppler S2) an dem Eingang 4 des Sternkopplers an, 'Frame 3' kommt an dem Eingang 3
des Sternkopplers an und 'Frame
4' kommt an dem Eingang
2 des Sternkopplers an. Nach einer maximalen Signaldetektionszeit
T_in wird 'Frame
2' selektiert, da
er als erster ankommt, und dann wird kein weiteres Eingangssignal
angenommen. Nach einer anschließenden
maximalen Zeit T_out zum Starten der Ausgänge wird der 'Frame 2' (nun, wo weitere
2 Bits von seiner FSS entfernt sind) an jedem der anderen Ausgänge (Ausgängen 1,
2 und 3) des Sternkopplers ausgegeben.
-
In
dem Fall 3 (an dem Sternkoppler S3) kommt 'Frame 5' (von dem Sternkopplerknoten N1 über den
Sternkoppler S2 und den Sternkoppler S1) an dem Eingang 1 des Sternkopplers
an und 'Frame 6' kommt an dem Eingang
4 des Sternkopplers an. Nach einer maximalen Signaldetektionszeit
T_in wird der Eingang 'Frame
5' selektiert, da
er als erster detektiert wird, und dann wird kein weiteres Eingangssignal
angenommen. Nach einer anschließenden
maximalen Zeit T_out zum Starten der Ausgänge wird der 'Frame 5' (nun, wo weitere
2 Bits von seiner FSS entfernt sind) an jedem der anderen Ausgänge (Ausgängen 2,
3 und 4) des Sternkopplers ausgegeben.
-
Es
versteht sich, dass die selbstroutende hochverfügbare Netzarchitektur auf Basis
der oben beschriebenen Sternkoppler die folgenden Vorteile bietet:
- • Verbesserung
der Verfügbarkeit
des Netzes durch Bereitstellung zusätzlicher alternativer Kommunikationspfade
(L1, L2, L3);
- • Ermöglichung
von Fehlerdetektion durch Detektieren, ob die Headerlänge (FSS)
kürzer
ist als für kürzeste Pfadkommunikation;
- • Automatische
Aktivierung von alternativen Pfaden basierend auf physikalischem
Prinzip der Laufzeitverzögerung
(da, falls die alternativen Pfade, wie z. B. L1, L2, L3, nicht benötigt werden, über diese
redundanten Pfade übertragene
Frames nicht weiter fortschreiten, weil ihre längere Laufzeitverzögerung verhindert,
dass ihre Frames durch weitere Sternkoppler selektiert werden);
- • kein
Bedarf an intelligenten Funktionen in den Sternkopplern außer einem
Selektieren der ersten Nachricht und einem Reduzieren von FSS-Bits des
Frames um eine definierte Anzahl.
-
Es
versteht sich ebenfalls, dass einem ordentlichen Fachmann Varianten
zu dem oben beschriebenen Netz offensichtlich sind, ohne dass von der
Erfindung abgewichen wird.
-
Zwar
werden zum Beispiel die Sternkoppler als die Frame-Start-Sequenz
um 2 Bits kürzend
beschrieben, doch kann das Netz mit Sternkopplern, die die Frame-Start-Sequenz
auf jede gewünschte
Art und Weise ändern,
so dass ein Verbindungsfehler durch Analysieren der Frame-Start-Sequenz
diagnostiziert werden kann, implementiert werden. Bei der Frame-Start-Sequenz
könnte
es sich zum Beispiel um eine spezielle Frequenz (z. B. 50 MHz-Sinuswelle)
oder ein Symbol, um den Eingang zu aktivieren, handeln, und der
Sternkoppler könnte
diese Frequenz in 40 MHz an seinem Eingang ändern oder würde ein
anderes Symbol senden. Der nächste Sternkoppler
könnte
die FSS von 40 in 30 MHz ändern
und so weiter oder würde
erneut das Symbol ändern.
-
Ferner
ist das Netz zwar in Zusammenhang mit einem 'FlexRay'-Kommunikationssystem beschrieben worden,
doch kann das Netz in jedes System, das ein deterministisches Medienzugriffschema, wie
z. B. TDMA (Mehrfachzugriff im Zeitmultiplex), verwendet, implementiert
werden.