-
HINTERGRUND
DER ERFINDUNG
-
1. Gebiet
der Erfindung
-
Diese
Erfindung bezieht sich auf die Störungserfassung in einem paketvermittelten
Netzwerk und insbesondere auf die Erfassung und Lokalisierung von
Zwischenverbindungsstörungen
in einem paketvermittelten Netzwerk, das ein Statusnachrichten-basiertes
Verknüpfungssteuerprotokoll
verwendet.
-
2. Beschreibung des Stands
der Technik
-
Ein
effizientes paketvermitteltes Netzwerk erfordert zuverlässige elektrische
Verbindungen zwischen Knoten in dem Netzwerk. Netzwerkfehler (Störungen)
können
auftreten, wenn die Leiter (beispielsweise ein Draht), die die Knoten
in einem Netzwerk physikalisch verknüpfen, entweder in einem "anhaftenden (stuck-at)" oder "offenen" Zustand sind. Ein Leiter
ist in einem "anhaftenden" Zustand, wenn die Kopplungsverknüpfung fehlerhafterweise
auf einen spezifischen Spannungspegel gezogen oder geschoben wird.
Somit haftet der Leiter an dem gezogenen oder geschobenen Pegel
ohne Rücksicht
auf den Pegel des an der physikalischen Verknüpfung angelegten Signals. Ein "offener" Zustand bedeutet,
dass die Verknüpfung
nicht mit dem Signal gekoppelt ist, sondern stattdessen kein Signal
befördert
und somit auf einem unbestimmten Spannungspegel "schwebt". Sowohl die "anhaftenden" und "offenen" Zustände in einer elektrischen Verknüpfung verursachen
Störungszustände in einem
paketvermittelten Netzwerk. Die Erfassung und Lokalisierung von
Störungen
ist beim Unterstützen eines
Netzwerkmanagers bei der Netzwerkwartung und während des Betriebs bedeutsam,
wobei die Erfassung und Lokalisierung von Störungen ermöglicht, dass Quellenknoten
Pakete umleiten können,
um Bereiche eines Netzwerks zu vermeiden, die eine unannehmbare
Anzahl von Störungen
aufweisen. Somit ist die Erfassung und Lokalisierung von Störungen bei
der Aufrechterhaltung eines zuverlässigen paketvermittelten Netzwerks
bedeutsam. Ein herkömmliches
Verfahren der Störungserfassung
verwendet Fehlercodes, wie beispielsweise einen zyklischen Redundanzcode
(CRC = Cyclic Redundancy Code), der in jedem über das paketvermittelte Netzwerk
gesendeten Paket enthalten ist. Bei diesem herkömmlichen Schema erzeugt der
Knoten, von dem ein Paket abgeht, einen Fehlererfassungscode und
hängt den
Code an das Paket zur Übertragung
an. Der Empfangsknoten (Ziel) führt
dann herkömmlicherweise
eine Fehlerprüfung
an dem empfangenen Datenpaket durch, um zu bestimmen, ob das Paket
irgendeinen Übertragungsfehler
erfahren hat. Dieses Störungserfassungsschema
weist den Nachteil auf, das es die Fehlererfassung mit der Datenübertragung
integriert durchführt,
sodass Störungen
nur erfasst werden, nachdem Datenpakete an dem Zielknoten empfangen
wurden. Dieses herkömmliche
Schema weist ebenfalls den zusätzlichen Nachteil
auf, dass Störungen
lediglich erfasst und nicht zu einer spezifischen physikalischen
Verknüpfung
isoliert werden. Eine herkömmliche
Variation dieses Erfassungsschemas führt eine Störungsprüfung an einem Paket an Zwischenknoten
in dem Netzwerk durch, um die Störung
auf eine Region in dem Netzwerk zu isolieren. Dieses Schema fügt jedoch
eine Latenzzeit zu der Gesamtübertragungszeit eines
Pakets hinzu und verschlechtert somit die Netzwerkleistung.
-
Ein
weiteres herkömmliches
Störungserfassungsschema überträgt ein Prüfpaket von
einer Prüfquelle
entlang eines Knotenpfads in dem Netzwerk. Jeder Knoten entlang
des Pfads überträgt das Prüfpaket und
wartet auf eine Bestätigung
von dem Empfangsknoten. Wenn keine Bestätigung empfangen wird, meldet
der Knoten einen Fehler zusammen mit Fehlerlokalisierungsinformation
entlang des Knotenpfads der Testquelle zurück. Auf diese Art und Weise wird
eine Störung
während
eines Prüfbetriebsmodus erfasst
und isoliert. Mit diesem Schema werden Störungen nur während eines
Prüfbetriebsmodus
erfasst und lokalisiert, und es erfordert die Verwendung eines fest
zugeordneten Prüfpakets.
Dieses herkömmliche
Störungserfassungsschema
weist den zusätzlichen
Nachteil auf, dass in einigen Fällen
viele Prüfpakete
erforderlich sind, um das gesamte Netzwerk zu prüfen.
-
Somit
gibt es einen Bedarf an einem Verfahren und einer Vorrichtung zum
effizienten Erfassen und Lokalisieren von Störungen in einem paketvermittelten
Netzwerk, das keine Erzeugung von fest zugeordneten Prüfpaketen
während
eines Prüfmodus erfordert
und das Störungen
sogar erfasst, wenn Datenpakete nicht gesendet werden.
-
Das
Patentdokument
EP 0520580 offenbart ein
System zum Prüfen
von ATM-Verbindungen durch Verwenden eines Prüfzellengenerators und einer
Auswertungsschaltung. Der veröffentlichte
Artikel mit dem Titel "Monitoring
method for cell transfer performance in ATM networks", Murakami u.a.,
NTT Review, Band 4, Nr. 4, 1. Juli 1992, Seiten 38–44, XP000310841
offenbart ein Verfahren, das OAM-Zellen als ein Mittel zum Erreichen
einer Sensorfunktion zum Überwachen
der Zellentransferleistung benutzt. Das Patentdokument
EP 0486915 offenbart ein Verfahren
zum Übertragen
von Steuerinformation zur asynchronen Zeitteilungsmultiplex-Übertragungsverknüpfung. Diese
Steuerinformation wird in der Form von Steuerzellen übertragen,
und leere Zellen werden ebenfalls auf der gleichen Verknüpfung übertragen.
An dem Empfangsende der Verknüpfung
werden die Steuerzellen erfasst und extrahiert, um bei dem Steu erprozess
verwendet zu werden, und werden nach Bedarf mit leeren Zellen ausgetauscht.
-
ZUSAMMENFASSUNG
DER ERFINDUNG
-
In Übereinstimmung
mit der vorliegenden Erfindung wird ein Verfahren gemäß Anspruch
1 und eine Störungserfassungsvorrichtung
gemäß Anspruch
8 bereitgestellt.
-
Ausführungsformen
der vorliegenden Erfindung liefern eine Vorrichtung und ein Verfahren
zum effizienten Erfassen und Lokalisieren von Störungen in einem paketvermittelten
Netzwerk, das ein Statusnachrichten-basiertes Verknüpfungssteuerprotokoll verwendet,
um Datenfluss zu steuern. In Übereinstimmung
mit diesem Protokoll werden Statusnachrichten zwischen benachbarten
Knoten gesendet, um dem Sendeknoten Pufferverfügbarkeit in dem Empfangsknoten
mitzuteilen. In Übereinstimmung
mit der vorliegenden Erfindung wird ein Fehlerprüfcodeabschnitt für jeden
Statusnachrichtenabschnitt erzeugt. Insbesondere erzeugt ein erster
Knoten einen Statusnachrichtenabschnitt und einen entsprechenden Fehlerprüfcodeabschnitt.
Vorzugsweise ist der Fehlerprüfcodeabschnitt
ein Einbit-Paritätsprüfcode und somit
eine invertierte (komplementäre)
Version des Statusnachrichtenabschnitts. Der Statusnachrichtenabschnitt
wird von dem ersten Knoten zu einem zweiten benachbarten Knoten
mit einer Verknüpfung
gesendet. Der Fehlerprüfcodeabschnitt
wird ebenfalls von dem ersten Knoten zu dem zweiten Knoten mit der
gleichen Verknüpfung
gesendet, die verwendet wurde, um den Statusnachrichtenabschnitt
zu senden. Vorzugsweise weisen der Statusnachrichtenabschnitt und
der Fehlerprüfcodeabschnitt
jeweils eine Bitbreite auf, die gleich der Bitbreite der Datenverknüpfung ist.
An dem zweiten Knoten vergleicht ein Störungsdetektor den Statusnachrichtenabschnitt und
den Fehlerprüfcodeab schnitt,
um zu bestimmen, ob eine untereinander verbundene Störung aufgetreten
ist. Vorzugsweise ist der Vergleich eine Einbit-Paritätsprüfung jedes
Bits des empfangenen Statusnachrichtenabschnitts unter Verwendung
des Fehlerprüfcodeabschnitts
als ein Paritätsprüfcode. Bei
einer Ausführungsform
wird die Parität
mit einem Logiknetzwerk geprüft,
das eine Mehrzahl von "EXKLUSIV-ODER"-Gatter und einen "UND"-Gatter-Baum aufweist.
-
Vorzugsweise
wird, wenn eine Störung
erfasst wird, ein Zähler
in einem Zählermonitor
implementiert, der in dem Netzwerkknoten lokalisiert ist. Der Fehlermonitor
speichert die Störungsinformation und
ist durch einen Bearbeitungsknoten zugänglich.
-
KURZBESCHREIBUNG
DER ZEICHNUNG
-
1 ist
ein Diagramm, das ein paketvermitteltes Netzwerk in Übereinstimmung
mit der vorliegenden Erfindung veranschaulicht;
-
2 ist
ein Funktionsblockdiagramm eines Routerknotens in Übereinstimmung
mit der vorliegenden Erfindung;
-
3 ist
ein Funktionsblockdiagramm eines Ports an einem Routerchip in Übereinstimmung
mit der vorliegenden Erfindung;
-
4A veranschaulicht die Bitanordnung eines
Zwischenstatusworts in Übereinstimmung
mit der vorliegenden Erfindung;
-
4B veranschaulicht die Bitanordnung einer
Statusnachricht mit ihrem Paritätsprüfcode in Übereinstimmung
mit der vorliegenden Erfindung; und
-
5 ist
ein schematisches Diagramm einer Störungsdetektorschaltung in Übereinstimmung
mit der vorliegenden Erfindung.
-
BESCHREIBUNG
DER BEVORZUGTEN AUSFÜHRUNGSFORM
-
1 ist
ein Diagramm, das ein paketvermitteltes Netzwerk 100 mit
einer Mehrzahl von Zentralverarbeitungseinheits-Knoten (CPU-Knoten) 101 und Eingangs-
und Ausgangs-Knoten
(E/A-Knoten) 102 aufweist, die untereinander über einer
Masche mit einer Mehrzahl von Routerknoten 103 verbunden
sind, die durch Knoten-zu-Knoten-Zwischenverbindungen (Verknüpfungen) 104 untereinander
verbunden sind. Im Betrieb werden Datenpakete von einem Ursprungsknoten
(Quellenknoten) zu einem Zielknoten durch Vermitteln des Pakets
(in einem Datenrahmen) durch einen Router 103 oder eine
Reihe von Routern 103 gesendet. Jede Zwischenverbindung 104 ist
typischerweise ein Kabel von der Größenordnung von mehreren Metern
in Länge
und umfasst 86 Drähte. Die
86 Drähte
umfassen zwei Sätze
von 34 Drähten für Daten
(d.h. zwei 34-Bit-breite Datenpfade, einen für jede Richtung zwischen zwei
Knoten), zwei Drähte,
die dem Befördern
von Rahmen und Steuerinformation fest zugeordnet sind, zwei Drähte zum
Befördern
eines Differenz-Taktsignals
und fünf
Drähte
für Spannungsbezugssignale
für die
Daten.
-
Obwohl
die Prinzipien der vorliegenden Erfindung auf paketvermittelte Netzwerke
mit verschiedenen Routingverfahren Anwendung finden, ist das bei
der veranschaulichten Ausführungsform
verwendete Routingverfahren eine Quellenroutingtechnik, wobei der
gesamte Pfad (Route durch das Netzwerk) eines Pakets an der Quelle
des Pakets bestimmt wird und in einem Datenrahmen mit einem Rahmenkopf codiert
ist. Somit wird jedes Paket von dem Quellenknoten zu dem Zielknoten
entlang eines in den Kopf eines Datenrahmens spezifizierten Pfads
gesendet.
-
In Übereinstimmung
mit der vorliegenden Erfindung verwenden CPU-Knoten 101,
E/A-Knoten 102 und Routerknoten 103 einen Statusnachrichten-basierten
(einen Kredit-basierten) Flusssteuermechanismus für ihr Verknüpfungsprotokoll.
In Übereinstimmung
mit diesem Protokoll werden Datenrahmen zwischen CPU-Knoten 101,
E/A-Knoten 102 und Routerknoten 103 nur gesendet,
wenn leere Buffer an einem stromabwärtigen Nachbar (benachbarten
Knoten) verfügbar
sind. Ein Empfangs-Routerknoten
(Ziel-Routerknoten) 103 (oder CPU-Knoten 101 oder
E/A-Knoten 102) sendet eine Statusnachricht an einen Sende-Routerknoten
(Quellen-Routerknoten) 103 (oder CPU-Knoten 101 oder
E/A-Knoten 102). Die Statusnachricht gibt den Status (voll
oder leer) jedes Eingangspuffers 313 (in 3 veranschaulicht)
an, die an den Empfangsknoten 101, 102 oder 103 lokalisiert
sind. Da Statusnachrichten mit Datenpaketen verschachtelt sind,
und da Statusnachrichten der Standardverkehr auf einer ruhenden Zwischenverbindung 104 sind,
werden Statusnachrichten über
die Zwischenverbindung 104 mit einem hohen Zeitanteil gesendet.
Da das Verfahren zur Erfassung und Lokalisierung von Störungen der
vorliegenden Erfindung eine Paritätsprüfung der Statusnachrichten
verwendet, sammelt die vorliegende Erfindung vorteilhafterweise
Störungsinformation
während
des normalen Netzwerkbetriebs und während der Ruhezeit. Somit wird
in Übereinstimmung
mit der vorliegenden Erfindung Information zur Erfassung und Lokalisierung
von Störungen
akkumuliert, ohne zu verlangen, dass das Netzwerk oder ein Abschnitt davon
in einem fest zugeordneten Prüfmodus
arbeitet.
-
In 2 wird
ein Funktionsblockdiagramm eines Routerknotens 103 in Übereinstimmung
mit der vorliegenden Erfindung veranschaulicht. Der Routerknoten 103 umfasst
einen Routerchip 201, der mit einem Diagnoseprozessor 203 durch
ein Abtastport gekoppelt ist. Der Diagnoseprozessor 203 ist
eben falls mit einem externen Port gekoppelt. Auf den externen Port
kann durch einen Verarbeitungsknoten (wie beispielsweise einen CPU-Knoten 101)
für die Zwecke
des Lesens von Fehler- und
Leistungsinformation zugegriffen werden. Der mit dem Diagnoseprozessor 203 gekoppelte
externe Port ist ein Standardschnittstellenport, wie beispielsweise
ein serieller RS232C-Port
oder eine modifizierte Version eines derartigen Schnittstellenports.
-
Der
Routerchip 201 umfasst sechs bidirektionale Ports 205 zum
Koppeln mit sechs Zwischenverbindungen 104 in dem paketvermittelten
Netzwerk 100. Der Routerchip 201 umfasst zusätzlich einen
mit jedem Port 205 gekoppelten Kreuzschienenschalter 207.
-
Die
Ports 205 koppeln jeweils den Kreuzschienenschalter 207 mit
einer Zwischenverbindung 104 und führen jeweils sowohl Sende-
als auch Empfangsfunktionen durch. Jeder Port 205 empfängt Datenpakete
(in einem Datenrahmen) von einem benachbarten Knoten und leitet
den Rahmen durch den Kreuzschienenschalter 207 zu einen
ausgewählten Port 205 zum
Senden (Koppeln) mit einem nächsten Knoten. 3 ist
ein Funktionsblockdiagramm eines Ports 205. Der Port 205 umfasst
einen Datensynchronisator 301, eine Eingangspuffereinheit 302,
einen Controller 303, einen Ausgangsselektor/Fehlercodegenerator 304,
eine Maschenschnittstelle 305 und einen Fehlermonitor 306.
-
Der
Datensynchronisator 301 ist mit der Zwischenverbindung 104 gekoppelt
und empfängt
Wörter
(34 Bits breit) von einem benachbarten Knoten. Die empfangenen Wörter sind
entweder Abschnitte eines Datenrahmens oder einer Statusnachricht.
Der Datensynchronisator 301 führt eine Taktsynchronisation
an Datenrahmen durch und bestimmt, ob ein empfangenes Wort ein Abschnitt
eines Datenrahmens oder eine Statusnachricht ist. Wenn der Datensynchronisator 301 bestimmt,
dass das empfange ne Wort ein Abschnitt eines Datenrahmens ist, koppelt der
Datensynchronisator 301 das empfangene Wort mit der Eingangspuffereinheit 302.
Wenn der Datensynchronisator 301 jedoch bestimmt, dass
das empfangene Wort eine Statusnachricht ist, dann wird das empfangene
Wort mit dem Controller 303 und dem Störungsdetektor 307 (im
Datensynchronisator 301 lokalisiert) gekoppelt.
-
Die
Eingangspuffereinheit 302 umfasst Datenpfade, die mit dem
Datensynchronisator 301 und dem Kreuzschienenschalter 207 gekoppelt
sind, und empfängt
Steuersignale von dem Controller 303. Die Eingangspuffereinheit 302 empfängt und
speichert eine Mehrzahl von Datenrahmen. Da die Eingangspuffereinheit 302 sechs
Puffer 313 umfasst, die jeweils groß genug sind, um einen vollständigen Datenrahmen
zu speichern, weist die Eingangspuffereinheit 302 eine
Kapazität
auf, um bis zu sechs Datenrahmen während Zeitspannen eines Ausgangsportkonflikts
zu speichern.
-
Wie
erläutert,
umfasst der Port 205 ebenfalls den Controller 303,
der mit dem Datensynchronisator 301, der Eingangspuffereinheit 302 und
dem Ausgangsselektor/Fehlercodegenerator 304 gekoppelt ist.
Vorzugsweise umfasst der Controller 303 eine Arbitrierungseinheit,
um Datenrahmen in der Eingangspuffereinheit 302 eine Priorität zuzuweisen.
Der Controller 303 erzeugt ebenfalls Steuersignale, die
mit der Eingangspuffereinheit 302 und dem Ausgangsselektor/Fehlercodegenerator 304 zum
Auswählen der
Kopplung von entweder Statusnachrichten oder Datenrahmen mit der
Zwischenverbindung 104 gekoppelt sind.
-
Der
Ausgangsselektor 304 empfängt Steuersignale und ein Zwischenstatuswort
(nachstehend mit Bezug auf 4A beschrieben)
von dem Controller 303 und erzeugt reagierend auf die empfangenen Steuersignale
an seinem Ausgang entweder (i) eine Statusnachricht mit einem Fehlerprüfabschnitt
oder (ii) einen von dem Kreuzschienenschalter 207 empfangenen
Rahmen. Der Ausgangsselektor 304 ist mit der Maschenschnittstelle 305 verbunden.
-
Das
durch den Controller 303 erzeugte Zwischenstatuswort (Buff_Stat[15:0])
umfasst Pufferstatusinformation, die angibt, welche, falls überhaupt, von
den sechs Eingangspuffern 313 der Eingangspuffereinheit 302 gegenwärtig voll
(nicht verfügbar) sind
und die verwendet wurden, seitdem die letzte Statusnachricht an
einen benachbarten Knoten gesendet wurde. 4A veranschaulicht
die Bitanordnung eines Zwischenstatusworts in Übereinstimmung mit der vorliegenden
Erfindung. Das Zwischenstatuswort 400 ist ein 16-Bit-Wort.
Bits 0 bis 5 sind Next_Msg_To_Send-Bits 401, Bits 6 und
7 sind reservierte Bits 402 (bei der dargestellten Ausführungsform
auf eine digitale "1" gesetzt), Bits 8
bis 13 sind Currently_Full-Bits 403 und Bits 14 und 15
sind reservierte Bits 404 (bei der dargestellten Ausführungsform
auf eine digitale "1" gesetzt). Next_Msg_To_Send-Bits 401 sind
jeweils einem der sechs Eingangspuffer 313 (in der Eingangspuffereinheit 302 lokalisiert)
zugeordnet und werden auf eine "1" gesetzt, wenn der
zugeordnete Eingangspuffer 313 einen Eingangsrahmen empfangen
hat, seitdem die letzte Statusnachricht an einen benachbarten Knoten
gesendet wurde. Somit enthalten Next_Msg_To_Send-Bits 401 jeweils
kumulative Information hinsichtlich des Status der Eingangspuffer 313 zwischen
dem Senden jeder Statusnachricht. Reservierte Bits 402 sind
für Konfigurationen
reserviert, die bis zu acht Eingangspuffer anstatt der bei der dargestellten
Ausführungsform
implementierten sechs Puffer aufweisen. Currently_Full-Bits 403 sind jeweils
einem der sechs Eingangspuffer 313 zugeordnet und werden
auf eine "1" gesetzt, wenn der entsprechende
Eingangspuffer aktuell voll und somit nicht verfügbar ist. Reservierte Bits 404 werden
für Konfigurationen
mit bis zu acht Eingangspuffern anstatt der bei der veranschaulichten
Ausführungsform implementierten
sechs Puffer reserviert.
-
Mit
erneutem Bezug auf 3 umfasst der Ausgangsselektor 304 Inverterbänke 310, 311 und einen
Multiplexer 312. Der Multiplexer 312 umfasst einen
ersten und zweiten Eingang (A, B), wobei jeder Eingang eine Breite
von 68 Bit aufweist, einen einzigen 68-Bit breiten Ausgang und ein
Auswahlsteuersignal zum Auswählen
entweder des ersten oder zweiten Eingangs. Der erste Multiplexereingang
umfasst einen unteren Abschnitt mit 34 Bits und einen oberen Abschnitt
mit 34 Bits. Inverterbänke 310, 311 sind
jeweils mit einem Abschnitt des Zwischenstatusworts gekoppelt. Vorzugsweise
ist die Inverterbank 310 mit den unteren acht Bits gekoppelt,
die die Next_Msg_To_Send-Bits 401 enthalten, und der Inverter 311 ist
mit den Currently_Full-Bits 403 gekoppelt. Die Inverterbänke 310, 311 invertieren
jedes Bit des Zwischenstatusworts, um einen Einbit-Paritätsprüfcode zu
erzeugen, der dem Zwischenstatuswort 400 entspricht. Die
Ausgänge
der Inverterbänke 310, 311 sind
mit dem oberen Abschnitt des ersten Multiplexereingangs verbunden.
Das Zwischenstatuswort 400 ist mit dem unteren Abschnitt
des ersten Eingangs des Multiplexers 312 gekoppelt. Die
zusätzlichen
Eingangsbit (15–8,
33–24),
die dem unteren Abschnitt des Multiplexereingangs zugeordnet sind, sind
entweder mit einer "hohen" (digitale "1") Spannungsquelle oder einer Masse (digitale "0") gekoppelt, um volle Puffer, Routerversionsinformation,
Statusinformation oder andere Systeminformation, wie gewünscht, anzugeben.
Die entsprechenden zusätzlichen
Eingangsbits (49–42,
67–58),
die dem oberen Abschnitt der ersten Multiplexerbits zugeordnet sind, werden
ausgewählt,
um einen Einbit-Paritätsprüfcode mit
dem unteren Abschnitt zu bilden. Somit erzeugt, wenn der erste Multiplexereingang
ausgewählt
wird, der Multiplexer 312 eine Statusnachricht mit Statusinformation
und einen entsprechenden Einbit-Paritätsprüfcode.
-
4B veranschaulicht die durch den Selektor 304 erzeugte
68-Bit-Statusnachricht. Die Statusnachricht 410 ist 68
Bit breit und umfasst eine Statusinformation in den unteren 34 Bits 411 und
einen Paritätsprüfcode in
den oberen 34 Bits 412. Somit sind die oberen Bits 412 (Bits
67–34)
invertierte (komplementäre)
Versionen der unteren 34 Bits (Bits 33–0) der Statusnachricht.
-
Der
Ausgangsselektor 304 arbeitet in einem Statusmodus oder
einem Datenflussmodus, wie durch den Controller 303 ausgewählt. Wenn
der Controller 303 den Datenflussmodus auswählt, koppelt der
Ausgangsselektor 304 von dem Kreuzschienenschalter 207 empfangene
Daten mit der Maschenschnittstelle 305. Wenn jedoch der
Controller 303 den Statusmodus auswählt, dann erzeugt der Selektor 304 eine
Statusnachricht mit einem Paritätsprüfcode und
koppelt die Statusnachricht an die Maschenschnittstelle 305.
-
Die
Maschenschnittstelle 305 koppelt den 68-Bit-breiten Ausgang
des Multiplexers 312 mit der Zwischenverbindung 104.
Die Maschenschnittstelle 305 trennt den Statusnachrichtenabschnitt
des Ausgangs des Multiplexers 312 (die unteren 34 Bits)
von dem Paritätsprüfcodeabschnitt
des Ausgangs des Multiplexers 312 (die unteren 34 Bits)
zur sequentiellen Übertragung
mit der Zwischenverbindung 104. Somit empfängt die
Maschenschnittstelle 305 ein 68-Bit-breites Datenwort und
multiplext die oberen und unteren Abschnitte des 68-Bit-Worts, um zwei sequentielle
34-Bit-Wörter
zu erzeugen. Die Maschenschnittstelle 305 sendet dann die
beiden 34-Bit-Datenwörter in
Folge an einen benachbarten Knoten mit dem 34-Bit-breiten Datenabschnitt der Zwischenverbindung 104.
Dies garantiert, dass jeder Draht (Leiter), der den übertragenen
Datenbits entspricht, einen Übergang
während
des Sendens ei ner Pufferstatusnachricht zusammen mit ihrem zugeordneten
Paritätsprüfcode aufweist.
-
Bei
der bevorzugten Ausführungsform
transferiert die Maschenschnittstelle 305 zwei Bits je
Draht je Taktzyklus, um die Bandbreite der Zwischenverbindung 104 zu
maximieren. Diese erhöhte
Bandbreitenverwendung wird durch Multiplexen eines Datenbits während einer
ersten Taktphase und eines zweiten Datenbits während einer zweiten Taktphase
erreicht. Somit ist, obwohl die physikalische Verknüpfung (Zwischenverbindung 104)
zwischen benachbarten Knoten nur 34 Bits breit ist, die wirksame Bandbreite
gleich 68 Bits über
einen vollständigen Taktzyklus.
Die Prinzipien der vorliegenden Erfindung erfordern jedoch nicht
die Verwendung von Zwischenverbindungen, die eine erhöhte Bandbreitennutzung
aufweisen (die zwei Phasen eines Takts verwenden), wie oben beschrieben.
Stattdessen können die
Statusnachricht und der Fehlerprüfcode
sequentiell an den benachbarten Knoten jeweils auf der gleichen
Phase eines Takts auf sequentiellen Taktzyklen oder durch Verwenden
irgendeines anderen Taktschemas gesendet werden, um sowohl die Statusnachricht
als auch den Fehlerprüfcode über die
gleiche physikalische Verknüpfung
zu unterschiedlichen Zeiten zu transferieren.
-
Mit
erneutem Bezug nun auf 3 umfasst ein Port 205 einen
Störungsdetektor 307 (im
Datensynchronisator 301 lokalisiert) zum Erfassen und Melden
von Zwischenverbindungsstörungen
an den Fehlermonitor 306. 5 ist ein
schematisches Diagramm des Störungsdetektors 307 in Übereinstimmung
mit der vorliegenden Erfindung. Der Störungsdetektor 307 umfasst
ein 34 Bit breites, mit ansteigender Flanke ausgelöstes Register 501,
das mit einem mit abfallender Flanke ausgelöstes 68-Bit-Register 502 gekoppelt
ist. Da das Register 501 mit ansteigender Flanke und das
Register 502 mit abfallender Flanke ausgelöst wird,
speichert das Register 502 die 68 Bits, die die Statusnachricht
und den Fehlerprüfcode über einen
einzigen Taktzyklus umfassen, mit entgegengesetzten Taktphasen zwischen. Somit
speichert das Register 502 die Statusnachricht in den unteren
34 Bits und den Fehlerprüfcode
(Einbit-Paritätsprüfcode) in
den oberen 34 Bits. Der Störungsdetektor 307 umfasst
ebenfalls ein Logiknetzwerk 503, das mit dem Register 502 zum
Durchführen
einer bitweisen Paritätsprüfung der
Statusnachricht gekoppelt ist. Bei der veranschaulichten Ausführungsform
umfasst das Logiknetzwerk 503 ein "EXKLUSIV-ODER"-Logiknetzwerk 504, das seriell
mit einem "UND-Baum" 505 gekoppelt
ist, der einen invertierten Eingang aufweist. Bei dieser Ausführungsform
erzeugt das Logiknetzwerk 503 ein Störungsstatussignal (Buff_Stat_Err),
das angibt, ob eine Störung
erfasst wurde (ob ein Paritätsfehler
an irgendeinem der Statusnachrichtenbits aufgetreten ist). Bei einer
alternativen Ausführungsform
sind die Ausgänge
des "EXKLUSIV-ODER"-Logiknetzwerks 504 zusätzlich mit
einem Register (nicht gezeigt) oder anderen Speichervorrichtung
zum Speichern der Störungsinformation
gekoppelt, die jedem Bit der Datenverknüpfung an der Zwischenverbindung 104 zugeordnet
ist. Mit dieser Konfiguration werden erfasste Störungen bis zu der spezifischen
Bitstörung
hinunter isoliert.
-
Durch
Senden der Statusnachricht während einer
ersten Taktphase und des entsprechenden Einbit-Paritätsprüfcodes während einer
zweiten Taktphase über
die gleiche physikalische Verknüpfung (über die
gleichen 34 Drähte),
ist der Störungsdetektor 307 imstande,
sowohl "anhaftende" als auch "offene" Fehler zu identifizieren
und zu isolieren, die an der Zwischenverbindung 104 vorhanden
sein können.
Es sollte ersichtlich sein, dass das Schema zur Erfassung und Lokalisierung
von Störungen
der vorliegenden Erfindung ebenfalls Störungen isolieren kann, die
in nicht physikalischen Verknüpfungen,
beispielsweise in Netzwerken, auftreten, die Funkver knüpfungen
oder irgendeine andere nicht verdrahtete Verknüpfung verwendet.
-
Mit
erneutem Bezug auf 3 umfasst der Port 205 ebenfalls
eine Fehlermonitoreinheit 306. Die Fehlermonitoreinheit 306 ist
mit dem Störungsdetektor 307 gekoppelt
und sammelt Fehlerdaten zur Wiederherstellung und Verarbeitung durch
den Diagnoseprozessor 203. Die Fehlermonitoreinheit 306 umfasst
einen Zähler,
der jedes Mal inkrementiert wird, wenn eine Störung durch den Störungsdetektor 307 erfasst
wird, um einen laufenden Zählwert
von Störungen
zu halten, die an einer gegebenen Zwischenverbindung 104 erfasst
werden. Der laufende Zählwert
wird in einem Fehlerregister für
Zugriff durch den Diagnoseprozessor 203 gespeichert.
-
Vorzugsweise
wird der Zählerwert
periodisch von dem Diagnoseprozessor 203 gelesen (und dann gelöscht), der
die von der Fehlermonitoreinheit 306 wiederhergestellten
Zählwerte
akkumuliert. Bei einer Ausführungsform
führt der
Diagnoseprozessor 203 eine Schwellenanalyse durch, um Störungen zu
identifizieren, die als Ergebnis von transienten Netzwerkzustände oder "Störimpulse
(glitches)" erfasst
wurden, und akkumuliert diese Information. Alternativ oder zusätzlich könnte ein
von einem CPU-Knoten 101 ausgeführtes Diagnoseprogramm eine
Schwellenanalyse durchführen.
-
Bei
einer Ausführungsform
ist der Zähler
bei der Fehlermonitoreinheit 306 ein 10-Bit-Zähler, der den
maximalen Zählwert
(beispielsweise alles "1en") hält, sobald
das Maximum erreicht ist. Somit wird sich in dem Fall, dass eine
Verknüpfung
eine besonders hohe Störungsrate
erzeugt, der Zähler
nicht "herumwickeln
(wrap around)" und
von Null beginnen zu zählen,
sondern wird stattdessen den maximalen Zustand, der eine Fehlerrate
(Störungsrate)
signalisiert, die über
das Zählermaximum
hinausgeht, beibehalten.
-
Da
das Verfahren und die Vorrichtung zur Störungserfassung der vorliegenden
Erfindung einem spezifischen Satz von Drähten einer Zwischenverbindung 104 an
einem spezifischen Knoten fest zugeordnet ist, liefert die Fehlermonitoreinheit 306 vorzugsweise
lokalisierte Störungserfassungsinformation
für ein
Diagnoseprogramm oder einen anderen Typ eines Netzwerküberwachungsprogramms, das
auf die in der Fehlermonitoreinheit 306 und dem Diagnoseprozessor 203 akkumulierten
Störungsdaten
zugreift. Somit können
derartige Diagnose- und Netzwerkprogramme das Netzwerk rekonfigurieren oder
die Routingtabellen aktualisieren, um zu vermeiden, eine Zwischenverbindung 104 mit
einer Störungsrate
zu verwenden. Außerdem
werden, da das Verfahren zur Erfassung und Lokalisierung von Störungen auf
den von dem Verknüpfungssteuerprotokoll
verwendeten Statusnachrichten basiert, die Störungen erfasst und lokalisiert,
ohne die Verwendung von Prüfpaketen
oder eines Prüfbetriebsmodus
oder sogar die Übertragung
von Datenpaketen zu erfordern.
-
Somit
liefert das Verfahren und die Vorrichtung der vorliegenden Erfindung
eine effiziente Erfassung und Lokalisierung von Störungen in
einem paketvermittelten Netzwerk, das ein Statusnachrichten-basiertes
Verknüpfungsflusssteuerprotokoll
verwendet.