DE102005032479A1 - Fernsteuerung eines Vermittlungsknotens in einem Stapel von Vermittlungsknoten - Google Patents

Fernsteuerung eines Vermittlungsknotens in einem Stapel von Vermittlungsknoten Download PDF

Info

Publication number
DE102005032479A1
DE102005032479A1 DE102005032479A DE102005032479A DE102005032479A1 DE 102005032479 A1 DE102005032479 A1 DE 102005032479A1 DE 102005032479 A DE102005032479 A DE 102005032479A DE 102005032479 A DE102005032479 A DE 102005032479A DE 102005032479 A1 DE102005032479 A1 DE 102005032479A1
Authority
DE
Germany
Prior art keywords
block
node
switching
stack
command
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
DE102005032479A
Other languages
English (en)
Other versions
DE102005032479B4 (de
Inventor
Rong-Feng Irvine Chang
Craig Irvine Barrack
Mike Yorba Linda Twu
Allen San Simas Yu
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Conexant Systems LLC
Original Assignee
Zarlink Semoconductor Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zarlink Semoconductor Inc filed Critical Zarlink Semoconductor Inc
Publication of DE102005032479A1 publication Critical patent/DE102005032479A1/de
Application granted granted Critical
Publication of DE102005032479B4 publication Critical patent/DE102005032479B4/de
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/55Prevention, detection or correction of errors
    • H04L49/557Error correction, e.g. fault recovery or fault tolerance
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/65Re-configuration of fast packet switches
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5603Access techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/55Prevention, detection or correction of errors
    • H04L49/555Error detection

Abstract

Verfahren und Einrichtungen für das Fern-Management von Vermittlungsnetzknoten in einem Stapel über eine Inband-Mitteilungsübermittlung werden dargestellt. Beim Start, Neustart und Rücksetzen sind die Vermittlungsnetzknoten in dem Stapel auf reservierte Vermittlungsknoten-Identifizierer voreingestellt, und die Stapelports sind auf einen Sperrzustand eingestellt. Jeder Befehlsblock, der über einen Sperrzustand empfangen wird, wird an eine Befehlsmaschine an jedem Vermittlungsknoten weitergeleitet und wird mit dem aktuellen Vermittlungsknoten-Identifizierer bestätigt. Jeder Bestätigungsblock, der den reservierten Netzknoten-Identifizierer trägt, löst die Konfigurierung des bestätigenden Vermittlungsknotens aus. Die Vermittlungsknoten und der Management-Prozessor verfolgen die Unterbrechungszustand-Vektoren bezüglich der Ereignisse. Es wird ein Unterbrechungs-Bestätigungsprozess angewendet, um die hervorgerufenen Unterbrechungen zu verfolgen. Die Konfigurierung des Vermittlungsknotens wird über Befehlsblöcke ausgeführt, die von dem Management-Prozessor übermittelt werden und für eine Befehlsmaschine bestimmt sind, die dem Vermittlungsknoten zugeordnet ist. Dienste, die von dem Management-Prozessor bereitgestellt werden, werden über Steuerblöcke angefordert, die für den Vermittlungsknoten bestimmt sind, an welchen der Management-Prozessor angeschlossen ist, und sind für den Management-Port desselben bestimmt. Die Vorteile ergeben sich aus den durchdachten Anordnungen der ...

Description

  • Gebiet der Erfindung
  • Die Erfindung bezieht sich auf die Steuerung von Vermittlungsnetzknoten in Kommunikationsnetzwerken, und insbesondere auf Verfahren zur Steuerung mehrerer Vermittlungsnetzknoten in einem Stapel, in welchem nur einige Vermittlungsnetzknoten in dem Stapel einen an diese angeschlossenen Management-Prozessor haben.
  • Hintergrund der Erfindung
  • Auf dem Gebiet der paketvermittelten Kommunikation werden Vermittlungsnetzknoten eingesetzt, um den Paketverkehr zu den entsprechenden Netzwerkzielen zu lenken. Vermittlungsnetzknoten können in einem verwalteten Modus arbeiten, in welchem der Vermittlungsknoten die Dienste eines Management-Prozessors nutzt, oder sie können in einem unverwalteten Modus arbeiten, in welchem der Vermittlungsknoten selbständig arbeitet. Beide Betriebsmodi werden gewünscht, weil im verwalteten Modus der Management-Prozessor beispielsweise eine Lernfunktionalität für den Vermittlungsknoten bereitstellt, während der diesbezügliche Management-Mehraufwand im unverwalteten Modus nicht anfällt. Während des normalen Betriebs umfassen die Hauptverkehrsquellen zum und vom Management-Prozessor: Datenpakete, die durch die Hardware-Klassifizierung nicht analysiert werden können, oder Pakete, die eine besondere Software-Unterstützung benötigen; Hardware-ausgelöste Unterbrechungen, einschließlich Statistikzählerumläufe; Einfügungen oder Löschungen aus der Media-Access-Control (MAC)-Adress-Nachschlagetabelle; oder Warnungen zur Ressourcenverfügbarkeit. Es gibt Kosten, die mit der Entwicklung, Implementierung, dem Einsatz und dem Management des Management-Prozessors selbst verbunden sind.
  • Verschiedene diesbezügliche Lösungen, die andernorts beschrieben werden, adressieren Probleme, die mit der Optimierung des Management-Prozessors und der Reduzierung des Mehraufwands für das Management verbunden sind.
  • Eines der Szenarien zur Anordnung von Vermittlungsnetzknoten beinhaltet das Stapeln mehrerer Vermittlungsnetzknoten, die üblicherweise in einem einzigen Baugruppenrahmen gemeinsam installiert sind.
  • Ein Schalterstapel ist eine Konfiguration einer Gruppe von Vermittlungsnetzknoten, welche sich gemeinsam wie ein einzelner logischer Vermittlungsnetzknoten verhalten, während ein höherer Gesamtdatendurchsatz ermöglicht wird. Es sei beispielsweise angenommen, dass ein einzelner Netzwerkschalter 102 24 Fast-Ethernet-Ports und 4 Gigabit-Ethernet-Ports aufweist. Obwohl der Netzwerkschalter 102 bis zu 6,4 Gbps unterstützt, wie in 1 dargestellt, kann das Kaskadieren mehrerer derartiger Netzwerkschalter 102 den Gesamtdatendurchsatz des Systems erhöhen. Die in 1 a) gezeigte Stapel-Konfiguration 100 liefert einen Gesamtdatendurchsatz von 13,2 Gbps mit drei Vermittlungsknoten 102, die in einer Ring-Konfiguration 104 angeordnet sind. Die in 1 b) gezeigte Stapel-Konfiguration 110 liefert einen Gesamtdatendurchsatz von 22,4 Gbps mit sechs Vermittlungsknoten 102, die in einer Doppelring-Konfiguration (104) angeordnet sind. Und die in 1 c) gezeigte Stapel-Konfiguration 120 liefert einen Gesamtdatendurchsatz von 17,6 Gbps mit drei Vermittlungsknoten 102, die in einer Stern-Konfiguration 104 angeordnet sind.
  • Obwohl die Erhöhung des Gesamtdatendurchsatzes Stapel-Anordnungen höchst wünschenswert macht, krankt es an einer Schwierigkeit des Konfigurierens und Steuerns der Vermittlungsknoten 102, die sich in einem derartigen Stapel befinden.
  • 2 stellt den Stand der Technik bei verwalteten Vermittlungsknoten-Anordnungen dar. Die in 2 a) dargestellte Anordnung 200 zeigt jeden Vermitt lungsknoten 102, der einen individuellen Management-Prozessor 204 zur Steuerung desselben hat. Wenn dies auch ein einfacher Ansatz ist, ist er doch kostenaufwändig. Die in 2 b) dargestellte Anordnung 210 zeigt den gesamten Vermittlungsknotenstapel, der von einem einzelnen Management-Prozessor 206 gesteuert wird. In Übereinstimmung mit diesem Ansatz wird gesagt, dass der Management-Prozessor 206 die Steuerung und Konfiguration für die einzelne Domäne, die durch die Vermittlungsknoten 102 in dem Stapel bestimmt wird, ermöglicht. Der Management-Prozessor 206 sendet Signale oder Mitteilungen an alle Vermittlungsknoten 102 in dem Stapel über eine separate Steuerungsebene 208, die üblicherweise als ein gemeinsam genutztes Medium implementiert ist. Wie aus 2 a) und 2 b) ersichtlich ist, reserviert jeder Vermittlungsknoten 102 einen dedizierten Port, um die Dienste des Management-Prozessors 204/206 in Anspruch zu nehmen, und die gemeinsam genutzte Management-Prozessor-Anordnung 210 krankt an einem Mehraufwand, der durch. den Einsatz, die Konfiguration, das Management und die Wartung des gemeinsam genutzten Mediums 208 anfällt.
  • Es besteht daher ein Bedarf, die oben genannten Probleme bei der Bereitstellung der Steuerung und Konfiguration von Vermittlungsknoten in einem Stapel von Vermittlungsknoten zu lösen.
  • Zusammenfassende Darstellung der Erfindung
  • In Übereinstimmung mit einem Aspekt der Erfindung wird ein Vermittlungsnetzknoten einer Mehrzahl von Vermittlungsnetzknoten, die an einem Stapel von Vermittlungsnetzknoten beteiligt sind, bereitgestellt. Der Vermittlungsknoten umfasst: wenigstens einen Stapelport für den Austausch von Blöcken mit wenigstens einem anderen Vermittlungsknoten in dem Stapel, ein Vermittlungsknoten-Identifizierungsregister, das die Vermittlungsknoten-Identifikation des Vermittlungsknotens spezifiziert, ein Management-Knoten-Identifizierungsregister, das den Vermittlungsknoten-Identifizierer des Vermittlungsknotens der Mehrzahl von Vermittlungsknoten in dem Stapel spezifiziert, an welche ein Management-Prozessor angeschlossen ist, und eine Weiterleitungstabelle, um für jeden Vermittlungsknoten in dem Stapel einen entsprechenden Stapelport festzulegen, über welchen die Blöcke an besagten Vermittlungsknoten weiterzuleiten sind.
  • In Übereinstimmung mit einem weiteren Aspekt der Erfindung wird ein Management-Prozessor für das Fern-Management einer Mehrzahl von Vermittlungsnetzknoten in einem Stapel bereitgestellt. Der Management-Prozessor umfasst: Mittel zum Identifizieren eines empfangenen Steuerblocks; Mittel zum Bestätigen des empfangenen Steuerblocks; eine Ablage zum Verfolgen der Vermittlungsknotenzustände; Mittel zum Einkapseln eines Befehls beim Erzeugen eines Steuerblocks; und Übertragungsmittel zum Weiterleiten der erzeugten Steuerblöcke.
  • In Übereinstimmung mit einem weiteren Aspekt der Erfindung wird ein Verfahren zum Auffinden einer Mehrzahl von Vermittlungsnetzknoten in einem Stapel von Vermittlungsnetzknoten bereitgestellt, wobei jeder Vermittlungsnetzknoten in dem Stapel einen Vermittlungsknoten-Identifizierer hat, der einen reservierten Identifizierungswert festlegt, und wenigstens einen Stapelport, der konfiguriert ist, um in einem Sperrzustand alle Befehlsblöcke an eine Befehlsmaschine weiterzuleiten, und in einem Weiterleitungszustand die Befehlsblöcke in Übereinstimmung mit den Leitinformationen weiterzuleiten, die in einer Weiterleitungstabelle spezifiziert sind. Die Verfahrensschritte, die der Vermittlungsknoten ausführt, umfassen: Empfangen eines Befehlsblocks, der für einen Vermittlungsknoten bestimmt ist, der den reservierten Identifizierungswert hat, über einen im Sperrzustand konfigurierten Stapelport; Weiterleiten des Befehlsblocks an die Befehlsmaschine; Bestätigen des Befehlsblocks mit dem Vermittlungsknoten-Identifizierer; Einstellen des Vermittlungsknoten-Identifizierers auf einen neuen Wert, der in einem empfangenen Befehlsblock spezifiziert ist, der einen Befehl einkapselt, der das Verändern des Vermittlungsknoten-Identifizierers auf einen Wert, der von dem reservierten Wert abweicht, spezifiziert; und Weiterleiten des nachfolgenden Befehlsblocks, der für einen Vermittlungsknoten bestimmt ist, der den reservierten Identifizierungswert hat, der über einen Stapelport empfangen wurde, der im Weiterleitungszustand konfiguriert ist, in Übereinstimmung mit den Leitinformationen, die in der Weiterleitungstabelle angegeben sind.
  • In Übereinstimmung mit einem weiteren Aspekt der Erfindung wird ein Verfahren zum Auffinden einer Mehrzahl von Vermittlungsnetzknoten in einem Stapel von Vermittlungsnetzknoten bereitgestellt, wobei jeder Vermittlungsnetzknoten in dem Stapel einen Vermittlungsknoten-Identifizierer hat, der einen reservierten Identifizierungswert festlegt, und wenigstens einen Stapelport, der konfiguriert ist, um in einem Sperrzustand alle Befehlsblöcke an eine Befehlsmaschine weiterzuleiten, und in einem Weiterleitungszustand die Befehlsblöcke in Übereinstimmung mit den Leitinformationen weiterzuleiten, die in einer Weiterleitungstabelle spezifiziert sind. Die zyklischen Verfahrensschritte, die der Management-Prozessor ausführt, sind: Übermitteln eines Befehlsblocks, der einen Ziel-Vermittlungsknoten spezifiziert, der den reservierten Identifizierungswert hat; Empfangen einer Bestätigung von dem Vermittlungsknoten, die den reservierten Identifizierungswert von dem neu aufgefundenen Vermittlungsknoten spezifiziert; Konfigurieren des Vermittlungsknoten-Identifizierers des neu aufgefundenen Vermittlungsknotens auf einen eindeutigen Identifizierungswert, der von dem reservierten Identifizierungswert abweicht; Abrufen der Stapelport-Identifizierer von dem neu aufgefundenen konfigurierten Vermittlungsknoten; Auswählen eines Stapelports; und Einstellen des ausgewählten Stapelports im Weiterleitungszustand.
  • In Übereinstimmung mit einem weiteren Aspekt der Erfindung wird ein Verfahren zur Bereitstellung der Dienste des Management-Prozessors an einen Vermittlungsnetzknoten in einem Stapel von Vermittlungsnetzknoten bereitgestellt. Das Verfahren umfasst: Einkapseln von Daten bezüglich des Dienstes, der in einen Block bereitgestellt wird; Zuordnen eines Block-Stapel-Tags (FTAG) zu dem Block; Schreiben des Vermittlungsknoten-Identifizierers des Vermittlungsknotens in ein Ziel-Vermittlungsknoten-Feld des FTAG; Übermitteln des Blocks, welcher das FTAG trägt, an den Vermittlungsknoten.
  • In Übereinstimmung mit noch einem weiteren Aspekt der Erfindung wird ein Verfahren zur Verarbeitung von Blöcken am Vermittlungsnetzknoten in einem Stapel von Vermittlungsnetzknoten bereitgestellt. Das Verfahren umfasst: selektives Weiterleiten eines empfangenen Blocks basierend auf den Leitinformationen, die in einer Vermittlungsdatenbank gespeichert sind, die dem Vermittlungsknoten zugeordnet ist, wenn der empfangene Block einen anderen Klassifizierungsaktionswert trägt als den Klassifizierungsaktionswert, der für Steuerblöcke reserviert ist; selektives Weiterleiten eines empfangenen Blocks basierend auf den Leitinformationen, die in einer gespeicherten Weiterleitungstabelle gespeichert sind, die dem Vermittlungsknoten zugeordnet ist, wenn der empfangene Block einen Klassifizierungsaktionswert trägt, der für Steuerblöcke reserviert ist; und selektives Verändern des Klassifizierungsaktionswerts eines Blocks zu einem Klassifizierungsaktionswert, der für Steuerblöcke reserviert ist, für jeden Block, der Management-Prozessor-Dienste benötigt.
  • Die Vorteile ergeben sich aus den durchdachten Anordnungen der Vermittlungsknoten, bei welchen eine geeignete Anzahl von Management-Prozessoren, weniger als die Anzahl der Vermittlungsknoten in dem Stapel, basierend auf den Anforderungen an Verarbeitung, Steuerung und Konfigurierungsbandbreite verwendet wird, um Dienste an die entsprechenden Vermittlungsknoten in dem Stapel bereitzustellen. Die Inband-Konfiguration und die Steuerung der Vermittlungsknoten in dem Stapel reduzieren den Mehraufwand bei Einsatz, Konfiguration, Management und Wartung.
  • Kurzbeschreibung der Zeichnungen
  • Die Merkmale und Vorteile der Erfindung werden aus der folgenden detaillierten Beschreibung des/der exemplarischen Ausführungsbeispiels/Ausführungsbeispiele deutlicher ersichtlich, wobei auf die angefügten Zeichnungen Bezug genommen wird, bei welchen:
  • 1 a, b und c schematische Darstellungen sind, die die beispielhaften Anordnungen der Vermittlungsknotenstapel zeigen, welche einen erhöhten Gesamtdatendurchsatz bereitstellen;
  • 2 a und b schematische Darstellungen sind, welche dem Stand der Technik entsprechende Anordnungen von verwalteten Vermittlungsknotenstapeln zeigen;
  • 3 eine schematische Darstellung ist, die in Übereinstimmung mit dem exemplarischen Ausführungsbeispiel der Erfindung die Elemente zeigt, die die Fernsteuerung der Vermittlungsknoten in einem Vermittlungsknotenstapelimplementieren;
  • 4 ein Ablaufdiagramm ist, das in Übereinstimmung mit dem exemplarischen Ausführungsbeispiel der Erfindung die Prozessschritte zeigt, die ein Management-Prozessor ausführt, der die Fernsteuerung und Konfiguration in einem Vermittlungsknotenstapelimplementiert.
  • 5 ein Ablaufdiagramm ist, das in Übereinstimmung mit dem exemplarischen Ausführungsbeispiel der Erfindung die Prozessschritte zeigt, die ein Vermittlungsknoten in einem Vermittlungsknotenstapel, ferngesteuert und konfiguriert von einem Management-Prozessor, ausführt;
  • 6 ein Prozessdiagramm ist, das in Übereinstimmung mit dem exemplarischen Ausführungsbeispiel der Erfindung die Schritte eines Unterbrechungs-Bestätigungsprozesses zeigt;
  • 7 ein Prozessdiagramm ist, das in Übereinstimmung mit dem exemplarischen Ausführungsbeispiel der Erfindung einen Stapelinitialisierungsprozess zeigt;
  • 8 a und b schematische Darstellungen sind, die die Initialisierung von Vermittlungsnetzknoten in einem Stapel zeigen, der eine Ring-Konfiguration und eine Schleifenauffindung der Steuerblöcke hat;
  • 9 eine schematische Darstellung ist, die in Übereinstimmung mit dem exemplarischen Ausführungsbeispiel der Erfindung die Steuerblock-Schleifenerkennung zeigt; und
  • 10 eine schematische Darstellung ist, die in Übereinstimmung mit dem exemplarischen Ausführungsbeispiel der Erfindung mehrere Steuer- und Konfigurationsdomänen in einem Stapel zeigt, wobei jede Domäne einen zugeordneten Management-Prozessor hat.
  • Es sei angemerkt, dass bei den angefügten Zeichnungen gleiche Merkmale ähnliche Bezeichnungen tragen.
  • Detaillierte Beschreibung der Ausführungsbeispiele
  • Es wird auf 3 Bezug genommen; in Übereinstimmung mit einem exemplarischen Ausführungsbeispiel der Erfindung werden die Netzwerkschalter 302 in einem Stapel 300 von einem Management-Prozessor 306 konfiguriert und gesteuert, der mit einem der Vermittlungsnetzknoten 302 verbunden 304 ist, ohne einen separaten Management-Prozessor für jeden Vermittlungsnetzknoten 302 in dem Stapel 300 einzusetzen. Die hierin dargestellte Methode wird als Fernkonfiguration und -steuerung der Vermittlungsknoten 302 in einem Stapel 300 bezeichnet.
  • Die beispielhaften Elemente einer Anordnung für Fernkonfiguration und -steuerung in einer Stapel-Konfiguration umfassen Verknüpfungen, die die Vermittlungsknoten 302 miteinander verbinden, bezeichnet als Stapelverknüpfungen 307, die die Stapelports 308 verbinden.
  • In Übereinstimmung mit dem exemplarischen Ausführungsbeispiel der Erfindung weist jeder Block 400, der von über einen Stapelport 308 übermittelt wird, ein Block-Stapel-TAG (FTAG) 406 auf, das das folgende beispielhafte Format hat:
    Figure 00090001
  • Die Größe des FTAG 406 korreliert mit dem Mehraufwand, der durch eine derartige Implementierung entsteht, die Größe des verwendeten FTAG 406 bleibt der Designauswahl überlassen, welche für jede Anordnung ein Gleichgewicht zwischen dem entstehenden Mehraufwand und der unterstützten Funktionalität darstellt.
  • Jedes FTAG 406 enthält Informationen über einen verarbeiteten Block, was beispielsweise einschließt, ob der Block an einen einzelnen Empfänger oder eine Gruppe adressiert ist, eine Übermittlungspriorität, eine VLAN-Zuordnung, die ursprüngliche "Quelle" – den Vermittlungsknoten 302 und den externen Port, über welchen der Block 400 zuerst empfangen wurde, etc. Wie nachstehend detaillierter beschrieben werden wird, bestimmt ein Klassifiziereraktions-Feld für jeden Block 400, wohin der Block 400 von jedem Vermittlungsknoten 302 in dem Stapel 300 weitergeleitet wird.
  • In Übereinstimmung mit dem exemplarischen Ausführungsbeispiel der Erfindung bilden, obwohl die meisten Blöcke, die über einen Stapelport 308 befördert werden, tatsächlich ein FTAG 406 beinhalten, MAC-Fluss-Steuerblöcke eine Ausnahme. Daher wird eine FTAG-Signatur benötigt, um die Blöcke, die ein FTAG 406 enthalten, von den Blöcken ohne FTAG zu unterscheiden. Eine derartige FTAG-Signatur identifiziert beispielhaft die erste Zahl der Bits/Bytes nach der Präambel als ein FTAG und nicht als die eigentlichen Blockdaten 404. Das FTAG 406 und die FTAG-Signatur können dem Block-Kopfteil 402 zugeordnet werden, ohne die Erfindung darauf zu beschränken.
  • In Übereinstimmung mit dem exemplarischen Ausführungsbeispiel der Erfindung beinhaltet jeder Vermittlungsknoten 302 in dem Stapel 300 eine Befehlsmaschine 310. Die beispielhafte Funktionalität der Befehlsmaschine 310 umfasst: Decodieren der Befehlsblöcke 410, die vom Management-Prozessor 306 empfangen werden, Ausführen der darin enthaltenen Befehle und Erzeugen einer Bestätigung und/oder Antwort. Wenn der Management-Prozessor 306 ein „ferner" Prozessor ist – das heißt, er ist nicht direkt an den Subjekt-Vermittlungsknoten 302 angeschlossen – dann agiert die Befehlsmaschine 310 als das lokale Surrogat des Management-Prozessors 302, indem sie die Logik des Vermittlungsnetzknotens 302 konfiguriert und auf die erfolgte Fernsteuerung antwortet. Außerdem kann die Befehlsmaschine 310 ausgehende Befehlsblocks 410 initiieren, um den fernen Management-Prozessor 306 zu unterbrechen, wenn Dienste und/oder Unterstützung benötigt werden. Die folgende Tabelle zeigt ein beispielhaftes Format eines solchen beispielhaften Befehlsblocks 410:
    Figure 00110001
  • Der Operationscode eines Befehlsblocks 410 wird verwendet, um den Typ des Befehls oder der Antwort, der in den Blockdaten 404 codiert ist, zu identifizieren. Die Abtastbefehl-Operationscodes sind nachstehend aufgeführt, obwohl die Vielfalt der Fernbefehle/-anforderungen, die bei einer bestimmten Implementierung verwendet werden können, praktisch unbegrenzt ist:
    Figure 00120001
  • Der Inhalt der eigentlichen Blockdaten 404 eines Befehlsblocks 410 variiert in Abhängigkeit vom Operationscode des Befehlsblocks 410. Beispielsweise enthält der Inhalt eines Befehlsblocks 410 mit dem Operationscode „000011" (Registerschreibanforderung) die Adressen der Register, in die geschrieben werden soll, und die zugeordneten Werte. Im Gegensatz dazu enthält der Inhalt eines Befehlsblocks 410 mit dem Operationscode „001000" (Statistikzählerumlauf) eine Bitmap aller Hardware-Statistikzähler in dem Vermittlungsknoten 302, aus welchem der Befehlsblock 410 stammte, mit einer Logik hoch „1" in nur denjenigen Bit-Positionen, für welche die Zähler umgelaufen sind.
  • In Übereinstimmung mit dem exemplarischen Ausführungsbeispiel der Erfindung beinhaltet jeder Vermittlungsknoten 302 in dem Stapel 300 eine Weiterleitungstabelle 350, die nachstehend für den Vermittlungsknoten 302-2 in dem Stapel 300 beispielhaft dargestellt ist:
    Figure 00130001
  • An jedem Vermittlungsknoten 302 in dem Stapel 300 speichert die lokale Weiterleitungstabelle 350 den Stapelport-Identifizierer, über welchen ein Block 400/410 weitergeleitet werden muss, um einen anderen Vermittlungsknoten 302 in dem Stapel 300 zu erreichen.
  • In Übereinstimmung mit dem exemplarischen Ausführungsbeispiel der Erfindung speichert zusätzlich zu der Weiterleitungstabelle 350 jeder Vermittlungsknoten 302 in dem Stapel 300 auch seine eigene eindeutige ID, sowie die ID des Vermittlungsknotens 302, an welchen sein steuernder Management-Prozessor 306 direkt angeschlossen ist. Diese Informationen werden üblicherweise in den lokalen Registern 352 gespeichert.
  • In Übereinstimmung mit dem exemplarischen Ausführungsbeispiel der Erfindung arbeiten die oben genannten Elemente zusammen, um den Inband-Steuerblock-Transport in einem Vermittlungsknotenstapel 300 zu ermöglichen, für welchen die Fernsteuerung angewendet wird.
  • In Übereinstimmung mit einem ersten beispielhaften Szenario erzeugt der Management-Prozessor 306 einen Befehl für einen fernen Vermittlungsknoten 302.
  • Es wird nun auf 4 Bezug genommen; der Management-Prozessor 306 verkapselt 422 den Befehl in einem Befehlsblock 410, einschließlich eines FTAG 406. Das „Klassifiziereraktions"-Feld des FTAG 406 ist beispielsweise auf „2"eingestellt 424, wobei das „Ziel-Vermittlungsknoten"-Feld auf die Vermittlungsknoten-ID des Vermittlungsknotens 302 eingestellt 426 ist, für welchen der Befehl bestimmt ist. Das „Ziel-Port"-Feld ist auf einen Wert eingestellt 428, der reserviert worden ist, um die Befehlsmaschine 310 des beabsichtigten Ziel-Vermittlungsknotens 302 anzuzeigen. In Übereinstimmung mit einer beispielhaften Implementierung des exemplarischen Ausführungsbeispiels der Erfindung kann – wenn kein Vermittlungsknoten 302 in dem Stapel 300 mehr als 29 physikalische Ports enthält – ein spezieller Wert „31" in dem „Ziel-Port"-Feld verwendet werden, um anzuzeigen, dass der Steuerblock 410 für die Befehlsmaschine 310 bestimmt ist. Und, der Befehlsblock 410 wird an den beabsichtigten Vermittlungsknoten 302 gesendet 430.
  • Es wird nun auf 5 Bezug genommen; wenn ein Befehlsblock 410 einen Stapel 300 durchläuft, erkennt 432 die Vermittlungsknoten-Hardware an oder in der Nähe der Schnittstelle eines Stapelports 308, das Media-Access-Control (MAC)-Modul, an jedem Vermittlungsknoten 302 entlang des Weges den Befehlsblock 410 an seiner FTAG-Signatur. Das MAC-Modul extrahiert 434 die FTAG 406 für die Verwendung durch einen Klassifizierer des Vermittlungsknotens 302.
  • Eine Such- und Klassifizierungsmaschine beobachtet 436, dass das „Klassifiziereraktions"-Feld, das in dem FTAG 406 spezifiziert ist, auf „2" eingestellt ist, was bedeutet, dass das Ziel des Steuerblocks, das in dem FTAG 406 angegeben ist, die Ergebnisse einer Datenbanksuche oder Klassifizierung außer Kraft setzt.
  • Wenn die Such- und Klassifizierungsmaschine eines Vermittlungsknotens 302 beobachtet 438, dass der „Ziel-Vermittlungsknoten" in dem FTAG 306 mit der Vermittlungsknoten-ID des Vermittlungsknotens 302 übereinstimmt, der die Bestimmung vornimmt, dann muss der Befehlsblock 410 für einen lokalen Port oder die lokale Befehlsmaschine 310 bestimmt sein. Wenn das „Ziel-Port"-Feld auf den Wert eingestellt 440 ist, der für die Befehlsmaschine 310 reserviert ist, gibt 442 die Such- und Klassifizierungsmaschine den Befehlsblock 410 an die lokale Befehlsmaschine 310 weiter.
  • Wenn der Befehlsblock 410 von der Ziel-Befehlsmaschine 310 empfangen wird, decodiert die Befehlsmaschine 310 den Befehl durch Lesen und Interpretieren des Operationscodes und führt 444 den Befehl aus. Das Ausführen 444 eines Befehls involviert üblicherweise die Interaktion mit anderen Hardware-Modulen des Vermittlungsknotens 302, in welchen sich relevante Register oder Aufzeichnungen, die zu lesen oder zu aktualisieren sind, befinden können.
  • Wenn die Such- und Klassifizierungsmaschine beobachtet 438, dass der „Ziel-Vermittlungsknoten" in dem FTAG 406 nicht mit der Subjekt-Vermittlungsknoten-ID übereinstimmt, dann muss der Befehlsblock 410 für einen anderen Vermittlungsknoten 302 in dem Stapel 300 bestimmt sein. In diesem Fall konsultiert 446 die Such- und Klassifizierungsmaschine die Weiterleitungstabelle 350, wobei sie die angegebene Ziel-Vermittlungsknoten-ID als Index zur Bestimmung des richtigen Ausgangsstapelports 308 für den Steuerblock 410 verwendet, und leitet 448 den Steuerblock 410 über den festgelegten Stapelport 308 weiter.
  • In Übereinstimmung mit einem zweiten Szenario antwortet die Befehlsmaschine auf einen Befehl von dem fernen Management-Prozessor 306.
  • Wenn die Befehlsmaschine 310 die Ausführung eines Befehls abgeschlossen hat, kann die Befehlsmaschine 310 den Abschluss bestätigen und üblicherweise, aber nicht notwendigerweise, mit einer diesbezüglichen Information antworten. Bei der Bestätigung/Antwort verkapselt 450 die Befehlsmaschine 310 eine Antwort/Bestätigung in einem Befehlsblock 410, einschließlich eines FTAG 406. Das „Klassifiziereraktions"-Feld des FTAG 406 ist auf „2" eingestellt 452, wobei das „Ziel-Vermittlungsknoten"-Feld auf den Vermittlungsknoten 302 eingestellt 454 ist, an welchen der steuernde Management-Prozessor 306 direkt angeschlossen ist. Das „Ziel-Port"-Feld ist auf die Management-Prozessor-Port-ID eingestellt 456. Die Befehlsmaschine 310 schreibt (450) den Inhalt des Antwortblocks 410, beispielsweise die Daten, die aus einem oder mehreren Registern ausgelesen wurden.
  • In Übereinstimmung mit einer beispielhaften Implementierung des exemplarischen Ausführungsbeispiels der Erfindung wird der Mehraufwand bezüglich der Verarbeitung der Steuerblöcke 410 an dem Vermittlungsknoten 302 beim Beantworten/Bestätigen eines Steuerblocks 410, der von dem Management-Prozessor 306 gesendet wurde, reduziert, indem der empfangene Anforderungssteuerblock 410, der bereits am Vermittlungsknoten 302 mit dem entsprechenden Antwortsteuerblock 410 gespeichert ist, überschrieben, wenn der Antwortsteuerblock 410 erzeugt 450 wird, unter der Annahme, dass jeder Antwortsteuerblock 410 höchstens so groß wie der empfangene Anforderungssteuerblock 410 ist.
  • Der Bestätigungs-/Antwortsteuerblock 410 wird dann über einen Stapelport 308 gesendet 458, wie er in der Weiterleitungstabelle 350 spezifiziert ist,. Wenn der Bestätigungs-/Antwortsteuerblock 410 für den lokalen Vermittlungsknoten 302 bestimmt ist, ist davon auszugehen, dass der Bestätigungs-/Antwortsteuerblock 410 über einen Spiegel-Stapelport gesendet 458 wird, und der Prozess wird ab Schritt 432 fortgesetzt.
  • Wenn die Spezifikation des „Ziel-Vermittlungsknotens" des Antwortsteuerblocks die ID des lokalen Vermittlungsknotens angibt 438, wobei der lokale Vermittlungsknoten 302 den Bestätigungs-/Antwortsteuerblock 410 erzeugte, und der „Ziel-Port" der Port 303 ist 460, an welchen der Management-Prozessor 306 angeschlossen ist, dann sendet 462 die Befehlsmaschine 310 den Steuerblock 410 an den Port 303 des lokalen Management-Prozessors.
  • Wenn die Spezifikation des „Ziel-Vermittlungsknotens" des Antwortblocks die ID des lokalen Vermittlungsknotens nicht festlegt 438, dann ist der steuernde Manage ment-Prozessor 306 mit einem anderen Vermittlungsknoten 302 in dem Stapel 300 verbunden. In diesem Fall konsultiert 446 die Befehlsmaschine 310 die Weiterleitungstabelle 350, um den richtigen Ausgangsstapelport 308 für die Weiterleitung 448 des Antwortsteuerblocks 410 an den Vermittlungsnetzknoten 302 zu bestimmen, an welchen der steuernde Management-Prozessor 306 direkt angeschlossen ist.
  • Die Weiterleitung 448 des Antwortsteuerblocks 410 durch den Stapel 300 wird Vermittlungsknoten 302 für Vermittlungsknoten 302 fortgesetzt, bis er schließlich seinen Weg zu dem richtigen Ziel-Vermittlungsknoten 302 findet, wie oben unter Bezugnahme auf das erste Szenario beschrieben wird. Wenn am richtigen 438 Ziel-Vermittlungsknoten 302, beobachtet 460 die lokale Steuermaschine 310, dass der „Ziel-Port", der in dem FTAG 406 spezifiziert ist, der Port 303 des Management-Prozessors ist, und der Bestätigungs-/Antwortsteuerblock 410 wird an den Management-Prozessor 306 weitergeleitet 462.
  • In Übereinstimmung mit einem dritten Szenario liefert die Befehlsmaschine 310 eine Unterbrechung an den fernen Management-Prozessor 306.
  • Wenn irgendein Hardware-Modul des Vermittlungsknotens 302 eine Management-Prozessor-Unterbrechung anfordert, codiert 466 die lokale Befehlsmaschine 310 die Unterbrechungs-Informationen in einen Befehlsblock 410, der ein FTAG 406 hat. Das „Klassifiziereraktions"-Feld des FTAG 406 ist auf „2" eingestellt 452, wobei das „Ziel-Vermittlungsknoten"-Feld auf die Vermittlungsknoten-ID des Vermittlungsknotens 302 eingestellt 454 ist, an welchen der steuernde Management-Prozessor 306 direkt angeschlossen ist. Das „Ziel-Port"-Feld ist ebenfalls auf den Port 303 des Management-Prozessors eingestellt 456.
  • Die Weiterleitung des Befehlsblocks 410 wird fortgesetzt, wie oben unter Bezugnahme auf das zweite Szenario beschrieben wird.
  • In Übereinstimmung mit einem vierten Szenario leitet die Such-/Klassifizierungsmaschine einen Block an den Management-Prozessor 306 um.
  • Unter bestimmten Bedingungen kann die Such-/Klassifizierungsmaschine einen Block 400 an den Management-Prozessor 306 umleiten 470, indem ein FTAG 406 in den Subjekt-Block 400 einbezogen wird. Wenn zum Beispiel die Ziel-IP-Adresse eines Layer-3-Blocks 400 in der Datenbank des lokalen Vermittlungsknotens 302 nicht gefunden wird, dann kann der Vermittlungsknotens 302 den Block 400 an den Management-Prozessor 306 umleiten 458, welcher eine Routing-Funktionalität bereitstellt. Außerdem können andere, spezielle Typen von Blöcken 400, wie beispielsweise Blöcke 400 nach dem Bridge Protocol Data Units (BPDUs) oder Spanning Tree Protocol (STP), durch die Such-/Klassifizierungsmaschine des lokalen Vermittlungsknotens 302 abgefangen und an den Management-Prozessor 306 zur speziellen Bearbeitung weitergeleitet werden. Wenn an einen derartigen Block 400 ein FTAG 406 „angegefügt" 472 wird, ist das „Klassifiziereraktions"-Feld des FTAG 406 auf „2" eingestellt 452, wobei das „Ziel-Vermittlungsknoten"-Feld auf den Vermittlungsknoten 302 eingestellt 454 ist, an welchen der steuernde Management-Prozessor 306 direkt angeschlossen ist. Das „Ziel-Port"-Feld ist außerdem auf den Port 303 des Management-Prozessors eingestellt 456. Die Weiterleitung 458 des modifizierten Blocks 400 wird fortgesetzt, wie oben unter Bezugnahme auf das zweite Szenario beschrieben wird.
  • In Übereinstimmung mit einem fünften Szenario sendet der Management-Prozessor 306 einen Block 400, der über einen Port weiterzuleiten ist, an einen fernen Vermittlungsknoten 302.
  • Es wird auf 4 Bezug genommen; der häufigste Zeitpunkt, zu welchem ein Nicht-Befehlsblock 400 vom Management-Prozessor 306 gesendet wird, ist der Zeitpunkt, nachdem der Management-Prozessor 306 die IP-Adresse eines Blocks aufgelöst 478 hat, das heißt, als Reaktion auf einen Block 400, der an den Management-Prozessor 306 weitergeleitet 458 wird, wie hierin oben unter Bezugnahme auf das vierte Szenario beschrieben wird. In diesem Fall modifiziert 480 der Management-Prozessor 306 das FTAG 406 und die Nutzinformationen des empfangenen 476 Blocks 400, bevor der Block 400 an den fernen Vermittlungsknoten 302 gesendet wird. Das „Klassifiziereraktions"-Feld des FTAG 406 ist auf „2" eingestellt 482, und das „Ziel-Vermittlungsknoten"-Feld und das „Ziel-Port"-Feld sind auf die Quell-Vermittlungsknoten-ID und die Ausgangsport-ID eingestellt 484/486, basierend auf der aufgelösten IP-Adresse.
  • Die Weiterleitung des Blocks 400 wird fortgesetzt, wie hierin oben unter Bezugnahme auf das erste Szenario beschrieben wird.
  • Wenn der Block schließlich den Ziel-Vermittlungsknoten 302 erreicht, identifiziert 432 die lokale Such-/Klassifizierungsmaschine den Block 400 und leitet 490 den Block 400 an den angegebenen Ausgangsport um. Bei diesem Prozess lernt 492 die Such-/Klassifizierungsmaschine die neue Ziel-IP-Adressen-/Ausgangsport-Zuordnung.
  • Dementsprechend repräsentieren die fünf hierin vorstehend beschriebenen Szenarien die Inband-Konfiguration und die Steuerblock-Weiterleitung.
  • Die Blöcke werden über einen externen Port am Vermittlungsknoten 302 empfangen und werden mit einem FTAG versehen 510.
  • In Übereinstimmung mit einem sechsten Szenario werden die Blöcke 400 zwischen den Stapelports 308 in einem Stapel 300 weitergeleitet 458, indem Layer-2- oder Layer-3-Datenbanksuchen 502 bei jedem Sprung ausgeführt werden. Das „Klassifiziereraktions"-Feld in dem FTAG 406 derartiger Blöcke 400 ist auf „0" eingestellt 500. Alternativ kann der Erstsprung-Vermittlungsknoten 302 dem Block 400 nach der Klassifizierung eine Fluss-ID zuweisen 504 und die Fluss-ID in dem FTAG 406 speichern. Durch Einstellen 506 der „Klassifiziereraktion" auf „1" kann die Such-/Klassifizierungsmaschine nachfolgende Sprünge zwingen 508, die vorher zugewiesene Fluss-ID zu verwenden, um die Ergebnisse der lokalen Datenbanksuchen außer Kraft zu setzen.
  • Dementsprechend beschreiben die obigen sechs beispielhaften Szenarien ausführlich die Blockweiterleitung in dem Stapel 300.
  • In Übereinstimmung mit dem exemplarischen Ausführungsbeispiel der Erfindung wird ein Unterbrechungs-Bestätigungsprotokoll bereitgestellt.
  • Wenn ein einzelner Management-Prozessor 306 mehrere Vermittlungsnetzknoten 302 in einem Stapel 300 über Inband-Mitteilungen steuert, wird die Zuverlässigkeit des Inband-Kommunikationskanals zu einem entscheidenden Problem.
  • Wie unter Bezugnahme auf das erste und zweite Szenario oben beschrieben wird, bestätigen die Befehlsmaschinen 310 jeden empfangenen Befehlsblock 410, so dass der Management-Prozessor 306 überwachen kann, ob ausgegebene Befehle tatsächlich ihre Ziele erreichten und ausgeführt wurden. Wenn der Management-Prozessor 306 keine Bestätigung erhält, dann muss er annehmen, dass der Befehlsblock 410 verloren gegangen ist, und sendet daher den Befehlsblock 410 erneut.
  • Es ist möglich, dass der Befehl tatsächlich empfangen und ausgeführt wurde, während die Bestätigung selbst verloren ging oder verzögert wurde. Dieser Zustand führt dazu, dass der Management-Prozessor 306 denselben Befehl mehrere Male ausgibt, wodurch der ferne Vermittlungsknoten 302 veranlasst wird, einen solchen unbestätigten Befehl versehentlich mehrere Male auszuführen.
  • Implementierungen, die auf dem hierin beschriebenen exemplarischen Ausfüh rungsbeispiel basieren, sollten im möglichen Umfang gewährleisten, dass vom Management-Prozessor 306 ausgegebene Befehle, wenn sie zweimal ausgeführt werden, harmlos sind.
  • Vorteilhafterweise sind die meisten der Befehle, die benötigt werden, um die Vermittlungsnetzknoten 302 in einem Stapel 300 zu steuern und zu konfigurieren, harmlos; Beispiele sind Lesen eines Registers/Schreiben in ein Register oder Updates von Vermittlungsdatenbanken.
  • Es sei jedoch an die obige Beschreibung erinnert, dass die Befehlsmaschine 310 immer dann einen Befehlsblock 410 erzeugt, wenn eine Unterbrechung des Management-Prozessors 306 benötigt wird. Um einen zuverlässigen Inband-Kanal zu gewährleisten, stellt die Befehlsmaschine 310 fest, ob jede Unterbrechungsmiteilung tatsächlich den Management-Prozessor 306 erreicht, indem sie die Bestätigungen (410) überwacht. Wie oben beschrieben, könnte die Befehlsmaschine 310 wegen einer verlorenen oder verzögerten Bestätigung vom Management-Prozessor 306 irrtümlicherweise dieselbe Unterbrechung zweimal ausgeben, was den Management-Prozessor 306 veranlasst, die Absicht der Befehlsmaschine falsch zu interpretieren. Angenommen, der Management-Prozessor 306 empfängt zwei Unterbrechungsmitteilungen von dem Vermittlungsknoten 302-3 in kurzen Zeitabständen, wobei jede Unterbrechungsmitteilung angibt, dass der Statistikzähler für „Gesamt-Bytes, empfangen an Port 7" umgelaufen ist. Der Management-Prozessor 306 kann fälschlicherweise feststellen, dass dieser Zähler tatsächlich zweimal umgelaufen ist, während es real einfach dieselbe Unterbrechungsmitteilung sein kann, die zweimal ausgegeben wurde.
  • Die Mehrdeutigkeit wird in Übereinstimmung mit dem exemplarischen Ausführungsbeispiel der Erfindung adressiert, indem ein Unterbrechungs-Bestätigungsprotokoll 600, wie in 6 gezeigt, verwendet wird. Das Unterbrechungs-Bestätigungsprotokoll bezieht drei beteiligte Entitäten ein: das Unterbrechungs-Client-Modul 602 des zugeordneten Vermittlungsknotens 302, die zugeordnete Befehlsmaschine 310 an dem lokalen Vermittlungsknoten 302 und den Management-Prozessor 306. Die folgende Terminologie wird hierin verwendet, um eine beispielhafte Unterbrechungs-Bestätigungsprotokoll-Implementierung zu beschreiben.
    • – Ein Unterbrechungs-Client-Modul 602 ist ein Hardware-Block eines Subjekt-Vermittlungsknotens 302, im Hinblick auf welchen ein Unterbrechungsereignis initiiert wird. Wenn, aus dem obigen Beispiel, ein Statistikzähler in dem MAC-Block umläuft, ist der Management-Prozessor 306 zu informieren. Der MAC-Block verhält sich wie das Unterbrechungs-Client-Modul 602.
    • – Lokaler Unterbrechungsvektor 604: Ein Unterbrechungs-Client-Modul 602 kann mehrere Ereignisse erfahren, die eine Unterbrechung des Management-Prozessors 306 auslösen, das Unterbrechungs-Client-Modul 602 muss eine Bitmap führen, welche angibt, welches Ereignis oder Ereignisse für das Auslösen des Management-Prozessors 306 verwendet werden. Diese Bitmap, bezeichnet als ein lokaler Unterbrechungsvektor 604, ist lokal an dem Subjekt-Vermittlungsknoten 302 gespeichert.
    • – CMD-Unterbrechungszustand-Vektor 606: Die Befehlsmaschine 310 unterhält einen Unterbrechungszustand-Vektor 606 für jedes Unterbrechungs-Client-Modul 602 des Subjekt-Vermittlungsknotens 302. Eine Unterbrechungsanforderung eines Client wartet so lange, bis der Empfang derselben von dem Management-Prozessor 306 bestätigt worden ist. Dieser Wartezustand wird durch ein Logik hoch „1" in dem CMD-Unterbrechungszustand-Vektor 606 wiedergegeben.
    • – Thread: Wenn ein Unterbrechungs-Client-Modul 602 ein oder mehrere Unterbrechungsereignisse ausgelöst hat, formuliert und sendet die Befehlsmaschine 310 einen Befehlsblock 410, der den Unterbrechungszustand für dieses Unterbrechungs-Client-Modul 620 enthält, und wartet dann auf eine Bestätigung vom Management-Prozessor 306. Die Befehlsmaschine 310 kann mehrere Clients 602 gleichzeitig bedienen, das heißt, es können mehrere solche Befehlsblöcke 410, oder ihre entsprechenden Bestätigungen, zu einem gegebenen Zeitpunkt im Transit sein. Diese mehreren parallelen Operationen werden als Threads bezeichnet. Für jeden Thread muss ein geringer Umfang von Zustandsinformationen von der Befehlsmaschine 310 und von dem Management-Prozessor 306 aufrecht erhalten werden.
    • – Folgenummer: Die Befehlsblöcke 410 und Bestätigungen (410) werden durch die Thread-Nummer und durch eine Folgenummer, welche für jeden gesendeten/bestätigten Befehlsblock 410 um 1 inkrementiert wird, identifiziert. Die Folgenummer ist in dem Kopfteil des Steuerblocks 410 enthalten, wie oben gezeigt. Für jeden Thread werden Zähler unterhalten.
  • Dementsprechend verfolgt der Management-Prozessor 306 die CMD-Unterbrechungszustand-Vektorinformationen in einer Ablage, die dort zugeordnet ist.
  • Wenn ein Unterbrechungsereignis 650 eintritt, stellt 652 das Unterbrechungs-Client-Modul 602 das entsprechende Bit in dem entsprechenden lokalen Unterbrechungsvektor 604 ein. Das Auslösen der Unterbrechung beginnt damit, dass das Unterbrechungs-Client-Modul 602 den Zugriff 654 auf die Befehlsmaschine 310 anfordert. Wenn der Zugriff auf die Befehlsmaschine gewährt 656 wird, aktualisiert 658 die Befehlsmaschine 310 den CMD-Unterbrechungszustand-Vektor 606, der diesem Unterbrechungs-Client-Modul 602 zugeordnet ist. In Übereinstimmung mit einer beispielhaften Implementierung des exemplarischen Ausführungsbeispiels der Erfindung ist der neue CMD-Unterbrechungszustand-Vektor 606 das bitweise ODER des alten Vektors 606 und der lokale Unterbrechungsvektor 604 des Client. Und, das Unterbrechungs-Client-Modul 602 löscht 660 seinen lokalen Unterbrechungsvektor 604.
  • Jeder CMD-Unterbrechungszustand-Vektor 606, der ein Logik hoch „1" an irgendeiner Bit-Position enthält, macht es erforderlich, dass ein Befehlsblock 410 an den Management-Prozessor 306 im Auftrag dieses Unterbrechungs-Client-Moduls 602 gesendet wird. In Übereinstimmung mit einer beispielhaften Implementierung der Erfindung repräsentiert die Anzahl der aktiven Threads eine verwaltete Ressource an dem Vermittlungsnetzknoten 302, und daher wählt die Befehlsmaschine 310, wenn einer der mehreren Threads frei wird, eines der in Frage kommenden Unterbrechungs-Client-Module 602 aus, um es zu verwenden. Zum Beispiel kann der Arbitrierungsalgorithmus, der verwendet wird, um ein Unterbrechungs-Client-Modul 602 für den Dienst auszuwählen, an einer Round-Robin-Disziplin festhalten. Wenn der ausgewählte Thread belegt wird, wird die Folgenummer für den Thread inkrementiert.
  • Die Befehlsmaschine 310 erzeugt 662 einen Befehlsblock 410 und sendet 664 den Befehlsblock 410 im Auftrag des Unterbrechungs-Client-Moduls 602. Der Befehlsblock 410 enthält den aktuellen Wert des CMD-Unterbrechungszustand-Vektors 606 (Bitmap) für dieses Unterbrechungs-Client-Modul 602. Der Befehlsblock 410 wird durch die Thread-Nummer und durch die aktuelle Folgenummer des Thread identifiziert. Der Thread bleibt belegt, während die Befehlsmaschine 310 auf eine Bestätigung (410) wartet.
  • Wenn für einen bestimmten Thread eine Bestätigung empfangen 670 wird, aber die Folgenummer der Bestätigung nicht mit dem Wert der Folgezählers des Thread übereinstimmt 672, oder wenn der Thread frei 674 ist, dann ignoriert die Befehlsmaschine 310 die Bestätigung, wodurch die schädlichen Effekte mehrerer Bestätigungen reduziert werden.
  • Wenn eine Bestätigung (410) für einen belegten Thread empfangen wird, und die Folgenummer der Bestätigung mit dem Wert auf dem Folgezähler 676 des Thread übereinstimmt, dann ist die Bestätigung gültig. Die Befehlsmaschine 310 aktualisiert 678 den CMD-Unterbrechungszustand-Vektor 606, der dem Unterbrechungs-Client-Modul 602 zugeordnet ist. In Übereinstimmung mit der beispielhaften Implementierung des exemplarischen Ausführungsbeispiels der Erfindung ist der neue CMD-Unterbrechungszustand-Vektor 606 das bitweise UND des alten Vektors und die Umkehrung des Vektors, der in der Bestätigung (410) enthalten ist. Und, der Thread ist frei.
  • Wenn nach einem (programmierbaren) Zeitüberschreitungszeitraum 680 keine gültige Bestätigung 410 empfangen wird, setzt die Befehlsmaschine 310 fort, indem sie Schritte unternimmt, um einen weiteren Befehlsblock 410 zu formulieren 662 und auszugeben 664, wie oben beschrieben.
  • Für jeden Thread verfolgt der Management-Prozessor 306 die letzte empfangene 664 Folgenummer in einem Steuerblock 410, sowie den ersten empfangenen Unterbrechungszustand-Vektor 606 entsprechend dieser Folgenummer.
  • Wenn ein Befehlsblock 410 für einen bestimmten Thread empfangen 664 wird, und die Folgenummer des Blocks nicht mit der letzten empfangenen Folgenummer übereinstimmt 680, dann wird der Steuerblock 410 als gültig angesehen. Der Management-Prozessor 306 führt eine Aktion 680 aus, basierend auf dem Wert des Unterbrechungszustand-Vektors 606, der in dem Steuerblock 410 spezifiziert ist, oder eigentlich basierend auf den darin festgelegten Logik-hoch-Bits.
  • Der Management-Prozessor 306 formuliert 684 und sendet 670 einen Bestätigungsblock 410. Der Bestätigungsblock 410 enthält dieselbe Folgenummer wie der entsprechende Befehlsblock 410 und denselben Inhalt des Unterbrechungszustand-Vektors 606. Der Management-Prozessor 306 zeichnet die empfangene Folgenummer und den Inhalt des Befehlsblocks (Nutzinformationen, in diesem Fall der Unterbrechungszustand-Vektor 606) auf.
  • Wenn ein Befehlsblock 410 für einen Thread empfangen wird, und die Folgenummer des Blocks der letzten empfangenen Folgenummer entspricht 679, dann ist der Steuerblock 410 ungültig, welches eine Wiederholungsunterbrechung ist, die ausgegeben wird, weil die Bestätigung 670 des ersten Auslösens der Unterbrechung den Subjekt-Vermittlungsknoten 302 nicht erreicht hat. Der Management-Prozessor 306 führt keine Aktionen hinsichtlich des Vektorinhalts des Befehlsblocks 410 aus. Der Management-Prozessor 306 formuliert 684 und sendet 670 einen (weiteren) Bestätigungsblock 410. Die Bestätigung enthält dieselbe Folgenummer wie der Befehlsblock und den vorher gespeicherten Inhalt anstelle des Inhalts, der aktuell in dem ungültigen Befehlsblock 410 vorhanden ist. Der Management-Prozessor 306 zeichnet die empfangene Folgenummer und den Inhalt nicht auf.
  • In der obigen Beschreibung setzte die Interaktion zwischen dem Management-Prozessor 306 und den ferngesteuerten Vermittlungsknoten 302 in dem Stapel 300 voraus, dass jeder Vermittlungsknoten 302 in dem Stapel 300 seine eigene ID kennt, die ID des Vermittlungsknotens 302, an welchen der Management-Prozessor 306 angeschlossen ist, und den richtigen Stapelport 308 für das Erreichen jedes Vermittlungsknotens 302 in dem Stapel 300, das heißt, jeder Vermittlungsknotens 302 in dem Stapel 300 ist mit den Informationen vorkonfiguriert, die in der Weiterleitungstabelle 350 und den Registern 352 gespeichert sind.
  • Diese drei Informationen werden jedem Vermittlungsknotens 302 in dem Stapel 300 bei der Initialisierung zur Verfügung gestellt. Ein scheinbarer Teufelskreis wird sichtbar: der Stapel 300 muss initialisiert sein, um den Stapel 300 zu konfigurieren. Da die Fernsteuerung, die durch den Management-Prozessor 306 erfolgt, ohne die drei oben genannten Informationen nicht ausgeführt werden kann – das heißt, solange die Vermittlungsknoten 302 nicht initialisiert sind – könnte man erwarten, dass die Initialisierung selbst nicht über Fernsteuerung ausgeführt werden kann.
  • In Übereinstimmung mit dem exemplarischen Ausführungsbeispiel der Erfindung wird für die Initialisierung der fernen Vermittlungsnetzknoten Unterstützung bereitgestellt.
  • In Übereinstimmung mit einer beispielhaften Implementierung des exemplarischen Ausführungsbeispiels der Erfindung werden zwei zusätzliche Grundelemente verwendet:
    • – Vermittlungsknoten-Standard-ID – Vor der Initialisierung hat jeder Vermittlungsknoten 302 in dem Stapel 300 eine Vermittlungsknoten-ID gleich der reservierten ID „0". Weil „0" eine reservierte ID ist, kann während des normalen Betriebs nach der Initialisierung kein Vermittlungsknoten 302 in dem Stapel 300 seine Vermittlungsknoten-ID gleich 0 haben.
    • – Portsperrung – Jeder Stapelport 308 kann entweder in einem „Sperrzustand" oder in einem „Weiterleitungszustand" eingestellt sein. Wenn sich ein Stapelport 308 im Sperrzustand befindet, werden eingehende Befehlsblöcke 410 immer direkt an die lokale Befehlsmaschine 310 gesendet. Wenn sich der Stapelport 308 im Weiterleitungszustand befindet, werden eingehende Befehlsblöcke 410 basierend auf den Informationen weitergeleitet, die in den FTAGs 406 und in der Weiterleitungstabelle 350 gespeichert sind. Standardmäßig befinden sich alle Stapelports 308 im Sperrzustand.
  • In Übereinstimmung mit einer beispielhaften Implementierung des exemplarischen Ausführungsbeispiels der Erfindung wird ein Prozess 700 zur Stapeluntersuchung und -initialisierung eingesetzt, bei welchem ein Tiefendurchlauf, wie in 7 gezeigt, verwendet wird. Es folgt ein einfacher Bericht:
  • Der Management-Prozessor 306 beginnt den Initialisierungsprozess 700 durch die Initialisierung des Vermittlungsknotens 302, der diesem am nächsten ist, indem ein Befehlsblock 410 erzeugt 702 wird, der ein FTAG 406 hat, wobei der „Ziel-Vermittlungsknoten" gleich „0" ist, und der „Ziel-Port" gleich dem reservierten Port-Wert der Befehlsmaschine ist. Der Befehlsblock 410 wird über einen Stapelport 308 gesendet 704. Die Suchmaschine des am nächsten gelegenen Vermittlungsknotens 302 empfängt 704 den Befehlsblock 410 und leitet ihn an die Befehlsmaschine 310 weiter.
  • Die Befehlsmaschine 310 führt 706 den Befehl in dem Befehlsblock 410 gemäß dem angegebenen Operationscode aus. Die Befehlsmaschine 310 bestätigt 708 auch den Befehl 410, indem sie die Bestätigung 410 an den lokalen Stapelport 308 sendet 708, über welchen der ursprüngliche Befehlsblock 410 einging (704).
  • Der Management-Prozessor 306 empfängt 710 die Bestätigung und verfügt danach über die notwendigen Informationen für die Konfigurierung 710 des am nächsten gelegenen Vermittlungsknotens 302 durch das Senden einer Reihe von Befehlsblöcken 410. Die Vermittlungsknoten-ID des am nächsten gelegenen Vermittlungsknotens 302 wird auf „1" neu zugewiesen 712.
  • Bevor fortgesetzt wird, wählt 714 der Management-Prozessor 306 einen ausgehenden Stapelport 308 aus, um den nächsten zu untersuchen. Hier wird der Tiefendurchlauf-Algorithmus angewendet. Der Management-Prozessor 306 konfiguriert 716/718 die Weiterleitungstabelle 350 der Vermittlungsknoten-ID 1, um die Blöcke, die für die Vermittlungsknoten-ID 0 bestimmt sind, zu dem ausgewählten Ausgangsport 308 zu lenken.
  • Der Management-Prozessor 306 erzeugt 720 erneut einen Befehlsblock 410 und sendet 722 ihn mit „Ziel-Vermittlungsknoten" gleich 0 und „Ziel-Port" gleich dem reservierten Wert der Befehlsmaschine. Die Vermittlungsknoten-ID 1, die bereits initialisiert ist, stellt 724 den Steuerblock 410 fest, der für den Vermittlungsknoten 302-0 bestimmt ist, und übermittelt 726 den Befehlsblock 410 an den ausgewählten Stapelport 308, der vorher konfiguriert wurde. Der nächste Vermittlungsknoten 302 in dem Stapel 300, der über den Stapelport 308 erreichbar ist, ist nicht initialisiert und identifiziert sich daher selbst als standardmäßige Vermittlungsknoten-ID 0. Beim Empfangen des Befehlsblocks 410 leitet er den Block an die lokale Befehlsmaschine 310 weiter. Die Konfigurierung des zweiten Vermittlungsknotens 302 in dem Stapel 300 wird auf die gleiche Weise fortgesetzt wie die oben beschriebene Konfigurierung des Vermittlungsknotens 302, der sich am dichtesten am Management-Prozessor 306 befindet, was darin gipfelt, dass die Vermittlungsknoten-ID auf „2" eingestellt wird.
  • Die Konfigurierung aller Vermittlungsknoten 302 in dem Stapel 300 wird auf diese Weise fortgesetzt. Der Management-Prozessor 306 sendet einen Befehlsblock 410 an die „Vermittlungsknoten-ID 0", welche von den bereits initialisierten Vermittlungsknoten 302 weitergeleitet wird, bis der erste nicht initialisierte Vermittlungskoten 302 angetroffen wird. Dann weist der Management-Prozessor 306 dem neu angetroffenen Vermittlungsknoten 302 eine neue ID zu und konfiguriert ihn nach Notwendigkeit. In dem Prozess konfiguriert der Management-Prozessor 306 die Weiterleitungstabellen 350 in den konfigurierten Vermittlungsknoten 302, so dass die Suche nach der nächsten Vermittlungsknoten-ID 0 durch einen vorher nicht untersuchten Stapelports 308 fortgesetzt wird.
  • Die oben beschriebene Methode löst beinahe das Problem der Stapel-Initialisierung. 8 stellt ein verbleibendes Problem dar.
  • In 8 a) hat der Management-Prozessor 306 die Schalter 302-1, 302-2 und 302-3 bereits initialisiert. Wenn der Management-Prozessor 306 versucht, einen vierten Vermittlungsknoten 302 aufzufinden, erzeugt er einen Befehlsblock 410, der ein FTAG mit „Ziel-Vermittlungsknoten" gleich „0" hat, wie beschrieben. Bevor dieser Befehlsblock 410 gesendet wird, konfiguriert der Management-Prozessor 306 die Weiterleitungstabellen in 302-1, 302-2 und 302-3, um die Befehlsblöcke 410, die für die Vermittlungsknoten-ID 0 bestimmt sind, entlang dem Weg, der mit fett gedruckten Linien dargestellt ist, weiterzugeben.
  • 8 b) stellt dar, was geschieht, wenn der Vermittlungsknoten 302-3 tatsächlich an den Vermittlungsknoten 302-1 zurück verbunden wird, wobei – wie gewünscht – eine Schleife in einem ringförmigen 104 Vermittlungsknotenstapel 100 gebildet wird, der oben beschrieben wird. In diesem Fall wird der Befehlsblock 410, der für die Vermittlungsknoten-ID 0 bestimmt ist, auf der Suche nach einem nicht konfigurierten Vermittlungsknoten 302, der nicht existiert, immer um den Stapel 300 herum geleitet. Anscheinend kann kein Vermittlungsknoten 302 den Kreis unterbrechen, weil jeder Vermittlungsknoten 302 in dem Ring 104 von dem Management-Prozessor 302 konfiguriert wurde, jegliche derartigen Befehlsblöcke 410 weiterzuleiten, und sich daher als konfiguriert verhält.
  • Die Schleifenerkennung ist ein entscheidender Aspekt der Topologie-Auffindung. In Übereinstimmung mit der beispielhaften Implementierung ist ein einfaches Verfahren zur Erkennung und Auflösung von Schleifen in 9 dargestellt. Bevor ein Befehlsblock 410 über einen nicht untersuchten Stapelport 308 weitergeleitet wird, konfiguriert 902 der Management-Prozessor 306 alle Stapelports 308, die nicht Bestandteil des Untersuchungsweges sind, als Sperrports, und konfiguriert 904 die Stapelports 308 auf dem Untersuchungsweg als Weiterleitungsports.
  • Daher kommt der Befehlsblock 410, wenn er eine Rückschleife zu Vermittlungsknoten 302-1 bildet, an einem Sperrport (308) an und wird sofort an die lokale Befehlsmaschine 310 weitergeleitet, wie hierin vorstehend beschrieben. Die lokale Befehlsmaschine 310 führt den Befehl aus und sendet eine Bestätigung zurück an den Management-Prozessor 306. Der Management-Prozessor 306 empfängt die Bestätigung und beobachtet von dem „Quell-Vermittlungsknoten"-Feld in dem FTAG 406, dass die Bestätigung (410) von der Vermittlungsknoten-ID 1 und nicht von der Vermittlungsknoten-ID 0 kommt, was das Auffinden einer Schleife in der Topologie signalisiert.
  • Im vorausgehenden Text ist die Erfindung im Hinblick auf einen einzelnen Stapel 300 von Vermittlungsknoten 302 beschrieben worden, der von einem einzelnen Management-Prozessor 306 verwaltet wird. Um spezielle Applikationen zu implementieren und/oder um beispielsweise eine Lastverteilung bereitzustellen, kann ein Stapel von Vermittlungsknoten 302 von zwei oder mehreren Management-Prozessoren 306 gesteuert werden, wie in 10 dargestellt. Solange jeder Vermittlungsknoten 302 den Ort seines eigenen steuernden Management-Prozessors 306 kennt, treffen die oben beschriebenen Verfahren und Algorithmen ohne Modifikation zu. Jeder Management-Prozessor 306 und die entsprechenden verwalteten Vermittlungsknoten 302 bilden eine Management-Domäne. Stapeluntersuchung und -initialisierung sind noch weitgehend dieselben, Abweichungen davon werden am besten unter Bezugnahme auf 10 erläutert.
  • In 10 initialisieren Management-Prozessor 306-A und Management-Prozessor 306-B beide ihre eigenen Domänen, wie oben beschrieben. Es kommt zu einem Konflikt, wenn beide Management-Prozessoren versuchen, denselben Vermittlungsknoten 302-S zu initialisieren. Um den Konflikt zu adressieren, sei angenommen, dass der Management-Prozessor 306-A den Vermittlungsknoten 302-S zuerst initialisiert. Wenn der Management-Prozessor 306-B versucht, den Vermittlungsknoten 302-S erneut zu initialisieren, indem er ihm einen Befehlsblock 410 sendet, sendet die Befehlsmaschine 310 des Vermittlungsknoten 302-S die entsprechende Bestätigung zurück an den Management-Prozessor 306-A, weil – in Übereinstimmung mit der aktuellen Konfiguration – der Management-Prozessor 306-A der steuernde Management-Prozessor 306 des Vermittlungsknotens 302-S ist. Der Management-Prozessor 306-A erkennt den Konflikt, wenn der Management-Prozessor 306-A eine Bestätigung für einen Befehlsblock 410 empfängt, den er nie gesendet hat. Nach dem Empfang einer solchen Bestätigung kommunizieren die Management-Prozessoren 306-A und 306-B direkt miteinander und verhandeln, welche Vermittlungsknoten von welchem Management-Prozessor gesteuert werden.
  • Die dargelegten Ausführungsbeispiele haben nur exemplarischen Charakter und Fachleute würden erkennen, dass Variationen zu den oben beschriebenen Ausführungsbeispielen vorgenommen werden können, ohne vom Geist der Erfindung abzuweichen. Der Bereich der Erfindung wird ausschließlich durch die angefügten Ansprüche definiert.

Claims (25)

  1. Ein Vermittlungsnetzknoten einer Mehrzahl von Vermittlungsnetzknoten, die an einem Vermittlungsnetzknotenstapel beteiligt sind, umfassend: a. wenigstens einen Stapelport zum Austauschen von Blöcken mit wenigstens einem anderen Vermittlungsknoten in dem Stapel; b. ein Vermittlungsknoten-Identifizierungsregister zum Spezifizieren der Vermittlungsknoten-Identifikation des Vermittlungsknotens; c. ein Management-Knoten-Identifizierungsregister zum Spezifizieren des Vermittlungsknoten-Identifizierers des Vermittlungsknotens der Mehrzahl von Vermittlungsknoten in dem Stapel, an welchen ein Management-Prozessor angeschlossen ist; und d. eine Weiterleitungstabelle, um für jeden Vermittlungsknoten in dem Stapel einen entsprechenden Stapelport zu spezifizieren, über welchen die Blöcke an besagten Vermittlungsknoten weiterzuleiten sind.
  2. Der Vermittlungsknoten nach Anspruch 1, bei welchem der Stapel entweder eine Topologie eines einfachen Rings, eines Mehrfachrings oder eines Sterns aufweist.
  3. Der Vermittlungsknoten nach Anspruch 1, bei welchem jeder Stapelport ein Zustandsspezifizierungsregister aufweist, um den gestapelten Port entweder in einen Weiterleitungszustand oder einen Sperrzustand zu versetzen.
  4. Der Vermittlungsknoten nach Anspruch 1, der ferner eine Klassifizierungsmaschine umfasst, die selektiv zwischen Steuerblöcken und Datenblöcken unter scheidet.
  5. Der Vermittlungsknoten nach Anspruch 1, der ferner über einen Management-Port für die Verbindung mit einem Management-Prozessor verfügt.
  6. Der Vermittlungsknoten nach Anspruch 1, der ferner umfasst: a. eine Mehrzahl von lokalen externen Ports zum Empfangen eines Datenblocks, der von der Mehrzahl der Vermittlungsknoten in dem Stapel zu verarbeiten ist; b. eine Vermittlungsdatenbank zum Speichern der Leitinformationen, bezüglich welcher Netzwerkadressen erreicht werden können, über welche der entsprechende externe Port der Mehrzahl von externen Ports der Mehrzahl von Vermittlungsknoten in dem Stapel erreicht werden kann; c. eine Suchmaschine für das selektive Festlegen, über welchen lokalen externen Port der Mehrzahl von lokalen externen Ports der Datenblock weiterzuleiten ist; und d. eine Befehlsmaschine für das selektive Einbetten eines Block-Stapel-Tags (FTAG) in den Datenblock für das Weiterleiten des Datenblocks in dem Stapel, wenn der Datenblock ein Datenblock ist, der aus einem Block ausgewählt wurde, für welchen von der Suchmaschine ein externer Port nicht festgelegt worden war, und ein Block, für welchen der festgelegte externe Port einem anderen Vermittlungsknoten in dem Stapel zugeordnet ist.
  7. Der Vermittlungsknoten nach Anspruch 1, der ferner umfasst: a. wenigstens ein Modul zum Ausführen von Aktionen, die der Verarbeitung von Blöcken an dem Vermittlungsknoten zugeordnet sind, was entweder das Hervorrufen einer Unterbrechung oder das Erzeugen einer Antwort umfasst; und b. eine Befehlsmaschine für das Erzeugen eines Steuerblocks, der als Reaktion auf das Hervorrufen der Unterbrechung an den Management-Prozessor zu senden ist, für das Ausführen der Befehle, die in einem empfangenen Steuerblock eingekapselt sind, und für das Bestätigen eines empfangenen Steuerblocks.
  8. Der Vermittlungsknoten nach Anspruch 7, bei welchem das Modul ferner einen lokalen Unterbrechungsvektor zum Verfolgen einer Mehrzahl von Unterbrechungsereignissen, die dem Modul zugeordnet sind, umfasst.
  9. Der Vermittlungsknoten nach Anspruch 7, der ferner einen Befehlsunterbrechungszustand-Vektor zum Verfolgen einer Mehrzahl von Unterbrechungsereignissen umfasst, die an von dem Vermittlungsknoten erzeugt werden.
  10. Ein Management-Prozessor für das Fern-Management einer Mehrzahl von Vermittlungsnetzknoten in einem Stapel, der umfasst: a. Mittel zum Identifizieren eines empfangenen Steuerblocks; b. Mittel zum Bestätigen des empfangenen Steuerblocks; c. Eine Ablage zum Verfolgen der Vermittlungsknotenzustände; d. Mittel zum Einkapseln eines Befehls beim Erzeugen eines Steuerblocks; und e. Übermittlungsmittel zum Weiterleiten der erzeugten Steuerblöcke.
  11. Der Management-Prozessor nach Anspruch 10, der ferner umfasst: a. Mittel zum Empfangen einer Adressauflösungsabfrage, eingekapselt in einem Datenblock; b. Netzknotenadressauflösungsmittel; und c. Mittel zum Ausgeben einer Adressauflösungsantwort, eingekapselt in einem Datenblock.
  12. Ein Verfahren zum Auffinden einer Mehrzahl von Vermittlungsnetzknoten in einem Stapel von Vermittlungsnetzknoten, wobei jeder Vermittlungsnetzknoten in dem Stapel einen Vermittlungsknoten-Identifizierer hat, der einen reservierten Identifizierungswert spezifiziert, und wenigstens einen Stapelport, der konfiguriert ist, um in einem Sperrzustand alle Befehlsblöcke an eine Befehlsmaschine weiterzuleiten, und in einem Weiterleitungszustand die Befehlsblöcke in Übereinstimmung mit den Leitinformationen weiterzuleiten, die in einer Weiterleitungstabelle spezifiziert sind, wobei das Verfahren die folgenden Vermittlungsknotenschritte umfasst: a. Empfangen – über einen Stapel-Port, der im Sperrzustand konfiguriert ist – eines Befehlsblocks, der für einen Vermittlungsknoten bestimmt ist, der den reservierten Identifizierungswert hat; b. Weiterleiten des Befehlsblocks an die Befehlsmaschine; c. Bestätigen des Befehlsblocks mit dem Vermittlungsknoten-Identifizierer; d. Einstellen des Vermittlungsknoten-Identifizierers auf einen neuen Wert, der in einem empfangenen Befehlsblock spezifiziert ist, der einen Befehl einkapselt, der das Verändern des Vermittlungsknoten-Identifizierers auf einen von dem reservierten Wert abweichenden Wert spezifiziert; und e. Weiterleiten des nachfolgenden Befehlsblocks, der für einen Vermittlungsknoten bestimmt ist, der den reservierten Identifizierungswert hat, der über einen Stapelport empfangen wurde, der im Weiterleitungszustand konfiguriert ist, in Übereinstimmung mit den Leitinformationen, die in der Weiterleitungstabelle spezifiziert sind.
  13. Ein Verfahren zum Auffinden einer Mehrzahl von Vermittlungsnetzknoten in einem Stapel von Vermittlungsnetzknoten, wobei jeder Vermittlungsnetzknoten in dem Stapel einen Vermittlungsknoten-Identifizierer hat, der einen reservierten Identifizierungswert spezifiziert, und wenigsten einen Stapelport, der konfiguriert ist, um in einem Sperrzustand alle Befehlsblöcke an eine Befehlsmaschine weiterzuleiten, und in einem Weiterleitungszustand die Befehlsblöcke in Übereinstimmung mit den Leitinformationen weiterzuleiten, die in einer Weiterleitungstabelle spezifiziert sind, wobei das Verfahren die folgenden zyklischen Schritte des Management-Prozessors umfasst: a. Übermitteln eines Befehlsblocks, der einen Ziel-Vermittlungsknoten spezifiziert, der den reservierten Identifizierungswert hat; b. Empfangen einer Bestätigung von dem Vermittlungsknoten, die den reservierten Identifizierungswert von dem neu aufgefundenen Vermittlungsknoten spezifiziert; c. Konfigurieren des Vermittlungsknoten-Identifizierers des neu aufgefundenen Vermittlungsknotens auf einen eindeutigen Identifizierungswert, der von dem reservierten Identifizierungswert abweicht, d. Abrufen des Stapelport-Identifizierers von dem neu aufgefundenen konfigurierten Vermittlungsknoten; e. Auswählen eines Stapelports; und f. Einstellen des ausgewählten Stapelports in den Weiterleitungszustand.
  14. Das Verfahren des Auffindens nach Anspruch 13, das ferner das Konfigurieren der Weiterleitungstabelle des neu aufgefundenen Vermittlungsknotens in dem Stapel umfasst.
  15. Das Verfahren des Auffindens nach Anspruch 13, das ferner das Konfigurieren einer Vermittlungsdatenbank des neu aufgefundenen Vermittlungsknotens in dem Stapel umfasst.
  16. Ein Verfahren zur Bereitstellung von Management-Prozessor-Diensten an einen Vermittlungsnetzknoten in einem Stapel von Vermittlungsnetzknoten, wobei das Verfahren umfasst: a. Einkapseln von Daten, die den Dienst betreffen, der in einen Block bereitgestellt wird; b. Zuordnen eines Block-Stapel-Tags (FTAG) zu dem Block; c. Schreiben des Vermittlungsknoten-Identifizierers des Vermittlungsknotens in ein Ziel-Vermittlungsknoten-Feld des FTAG; und d. Übermitteln des Blocks, der das FTAG trägt, an den Vermittlungsknoten.
  17. Das Verfahren nach Anspruch 16, bei welchem der Block ein Steuerblock ist, wobei das Verfahren ferner umfasst: a. Schreiben eines Klassifizierungsaktionswerts, der für Steuerblöcke reserviert ist, in ein Klassifizierungsaktions-Feld des FTAG; und b. Schreiben eines Ziel-Port-Werts, der für eine Steuermaschine an dem Vermittlungsknoten reserviert ist, in ein Ziel-Port-Feld des FTAG.
  18. Das Verfahren nach Anspruch 16, bei welchem der Block ein gerouteter Datenblock ist, wobei das Verfahren ferner umfasst: a. Auflösen der Ziel-Adresse des Datenblocks für einen externen Ausgangszielport des Stapels; b. Schreiben eines Klassifizierungsaktionswerts, der für Steuerblöcke reserviert ist, in ein Klassifizierungsaktions-Feld des FTAG; und c. Schreiben eines Ziel-Port-Identifizieres des aufgelösten Ziel-Ports in ein Ziel-Port-Feld des FTAG.
  19. Ein Verfahren zur Verarbeitung von Blöcken an Vermittlungsnetzknoten in einem Stapel von Vermittlungsnetzknoten, umfassend: a. selektives Weiterleiten eines empfangenen Blocks basierend auf Leitinformationen, die in einer Vermittlungsdatenbank gespeichert sind, die dem Vermittlungsknoten zugeordnet ist, wenn der empfangene Block einen anderen Klassifizierungsaktionswert trägt als den Klassifizierungsaktionswert, der für Steuerblöcke reserviert ist; b. selektives Weiterleiten eines empfangenen Blocks basierend auf Leitinformationen, die in einer Weiterleitungstabelle gespeichert sind, die dem Vermittlungsknoten zugeordnet ist, wenn der empfangene Block einen Klassifizierungsaktionswert trägt, der für Steuerblöcke reserviert ist; und c. selektives Verändern des Klassifizierungsaktionswerts eines Blocks auf den Klassifizierungsaktionswert, der für Steuerblöcke reserviert ist, für jeden Block, der Management-Prozessor-Dienste benötigt.
  20. Das Verfahren nach Anspruch 19, bei welchem das Weiterleiten des Blocks basierend auf Leitinformationen erfolgt, die in der Vermittlungsdatenbank gehalten werden, wobei das Verfahren ferner umfasst: a. Modifizieren eines Ziel-Vermittlungsknoten-Feldes, das dem Block zugeordnet ist, um einen aufgelösten Ziel-Vermittlungsknoten in dem Stapel zu spezifizieren; und b. Modifizieren eines Ziel-Port-Feldes, das dem Block zugeordnet ist, um einen aufgelösten externen Ausgangsport des aufgelösten Ziel-Vermittlungsknotens zu spezifizieren.
  21. Das Verfahren nach Anspruch 19, bei welchem das Weiterleiten eines empfangenen Blocks basierend auf Leitinformationen erfolgt, die in einer Weiterleitungstabelle spezifiziert sind, wobei das Verfahren ferner umfasst: a. Modifizieren eines Ziel-Vermittlungsknoten-Feldes, das dem Block zugeordnet ist, um einen Vermittlungsknoten in dem Stapel zu spezifizieren, mit welchem ein Management-Prozessor verbunden ist; und b. Modifizieren eines Ziel-Port-Feldes, das dem Block zugeordnet ist, um einen Management-Port zu spezifizieren, an welchen der Management-Prozessor an dem Ziel-Vermittlungsknoten angeschlossen ist.
  22. Das Verfahren nach Anspruch 19, ferner umfassend: a. Empfangen eines Blocks, der den Klassifizierungsaktionswert trägt, der für Steuerblöcke reserviert ist, und den Identifizierer eines externen Ausgangsports in einem Ziel-Port-Feld trägt, das dem Block zugeordnet ist; und b. Aktualisieren der Vermittlungsdatenbank mit der Zuordnung zwischen der Ziel-Netzwerkadresse, die in dem Block-Kopfteil spezifiziert ist, und dem angegebenen Identifizierer des externen Ausgangsports.
  23. Das Verfahren nach Anspruch 19, ferner umfassend: a. Empfangen eines Blocks, der den Klassifizierungsaktionswert trägt, der für Steuerblöcke reserviert ist, der den Identifizierer des lokalen Vermittlungsknotens trägt, und der einen Ziel-Port-Identifizierer trägt, der für eine Befehlsmaschine reserviert ist; b. Ausführen eines Befehls, der in dem Block spezifiziert ist; und c. Bestätigen des Empfangs des Blocks.
  24. Das Verfahren nach Anspruch 23, das ferner das Einkapseln einer Antwort umfasst, die aus der Ausführung des Befehls in den Bestätigungsblock abgeleitet wird.
  25. Das Verfahren nach Anspruch 19, das ferner das Bestimmen umfasst, dass ein Block Management-Prozessor-Dienste benötigt, wenn die Ziel-Adresse, die in dem Block spezifiziert ist, basierend auf den Leitinformationen, die in der Vermittlungsdatenbank spezifiziert sind, nicht aufgelöst werden kann.
DE102005032479A 2004-07-29 2005-07-12 Fernsteuerung eines Vermittlungsknotens in einem Stapel von Vermittlungsknoten Expired - Fee Related DE102005032479B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/901,873 US7974272B2 (en) 2004-07-29 2004-07-29 Remote control of a switching node in a stack of switching nodes
US10/901,873 2004-07-29

Publications (2)

Publication Number Publication Date
DE102005032479A1 true DE102005032479A1 (de) 2006-03-09
DE102005032479B4 DE102005032479B4 (de) 2011-12-08

Family

ID=35732063

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102005032479A Expired - Fee Related DE102005032479B4 (de) 2004-07-29 2005-07-12 Fernsteuerung eines Vermittlungsknotens in einem Stapel von Vermittlungsknoten

Country Status (6)

Country Link
US (1) US7974272B2 (de)
JP (1) JP4224620B2 (de)
KR (1) KR20060048807A (de)
CN (2) CN101777998B (de)
DE (1) DE102005032479B4 (de)
TW (1) TWI289013B (de)

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7644147B1 (en) * 2005-03-25 2010-01-05 Marvell International Ltd. Remote network device management
US7623501B2 (en) * 2005-05-26 2009-11-24 Intel Corporation Methods and apparatus for resolving address mapping associated with a wireless mesh network
ES2393214T3 (es) * 2006-05-30 2012-12-19 Mcafee Ireland Holdings Limited Procedimiento y sistema para la determinación de la topología de una red dinámica
US8811224B2 (en) * 2006-05-30 2014-08-19 McAfee Ireland Holdings, Limited Method and system for determining physical connectivity in a dynamic network
CN100435524C (zh) * 2006-06-13 2008-11-19 杭州华三通信技术有限公司 堆叠系统中设备的拓扑结构形成方法
JP4991254B2 (ja) * 2006-11-17 2012-08-01 株式会社東芝 二重リング・ネットワークの通信制御方法及び二重リング・ネットワークの伝送局
US8117336B2 (en) * 2007-05-31 2012-02-14 Extreme Networks, Inc. Methods, systems, and computer program products for providing accidental stack join protection
CN101340456B (zh) * 2008-08-15 2012-04-18 杭州华三通信技术有限公司 一种分布式链路聚合故障收敛方法和一种堆叠设备
CN101355520B (zh) * 2008-09-12 2010-08-25 杭州华三通信技术有限公司 防止堆叠中的流量中断的方法及堆叠设备
US9282057B2 (en) * 2009-05-11 2016-03-08 Brocade Communication Systems, Inc. Flexible stacking port
CN101599906B (zh) * 2009-07-08 2012-04-18 杭州华三通信技术有限公司 端口状态设置的方法及装置
CN101674198B (zh) * 2009-10-23 2011-09-28 杭州华三通信技术有限公司 一种堆叠的实现方法及装置
CN101702678B (zh) * 2009-11-19 2012-01-04 杭州华三通信技术有限公司 一种星形堆叠系统和方法
US8958292B2 (en) 2010-07-06 2015-02-17 Nicira, Inc. Network control apparatus and method with port security controls
US9525647B2 (en) 2010-07-06 2016-12-20 Nicira, Inc. Network control apparatus and method for creating and modifying logical switching elements
US8867405B2 (en) 2012-03-30 2014-10-21 Cisco Technology, Inc. Voice service discovery
US9559897B2 (en) 2012-12-21 2017-01-31 Brocade Communications Systems, Inc. Device ID assignment in a system of devices
US9577955B2 (en) * 2013-03-12 2017-02-21 Forrest Lawrence Pierson Indefinitely expandable high-capacity data switch
US9148387B2 (en) 2013-05-10 2015-09-29 Brocade Communications Systems, Inc. Hardware hash table virtualization in multi-packet processor networking systems
US9313102B2 (en) 2013-05-20 2016-04-12 Brocade Communications Systems, Inc. Configuration validation in a mixed node topology
US9853889B2 (en) 2013-05-20 2017-12-26 Brocade Communications Systems, Inc. Broadcast and multicast traffic reduction in stacking systems
CN104243324B (zh) * 2013-06-07 2017-10-03 新华三技术有限公司 转发报文的方法和设备
US10284499B2 (en) 2013-08-22 2019-05-07 Arris Enterprises Llc Dedicated control path architecture for systems of devices
CN104427012B (zh) 2013-09-04 2018-12-11 新华三技术有限公司 端口协商方法和设备
US9185049B2 (en) 2013-10-31 2015-11-10 Brocade Communications Systems, Inc. Techniques for simplifying stacking trunk creation and management
CN104683208B (zh) * 2013-11-29 2018-10-19 华为技术有限公司 堆叠的建立方法和通信设备
US9577932B2 (en) 2014-02-12 2017-02-21 Brocade Communications Systems, Inc. Techniques for managing ternary content-addressable memory (TCAM) resources in heterogeneous systems
US9692695B2 (en) 2014-03-27 2017-06-27 Brocade Communications Systems, Inc. Techniques for aggregating hardware routing resources in a multi-packet processor networking system
US9692652B2 (en) 2014-04-03 2017-06-27 Brocade Communications Systems, Inc. Framework for reliably communicating port information in a system of devices
CN105471752B (zh) * 2014-08-21 2019-11-19 中兴通讯股份有限公司 基于交换网实现机架堆叠的设备、方法和系统
US10091059B2 (en) 2014-12-16 2018-10-02 Arris Enterprises Llc Handling connections between network devices that support multiple port communication modes
US10171430B2 (en) 2015-07-27 2019-01-01 Forrest L. Pierson Making a secure connection over insecure lines more secure
TWI575922B (zh) 2015-08-27 2017-03-21 瑞昱半導體股份有限公司 能應用於堆疊通訊系統之通訊裝置與方法
CN106487689B (zh) * 2015-09-02 2019-12-27 瑞昱半导体股份有限公司 能应用于堆叠通信系统的通信装置与方法
US10564969B2 (en) 2015-12-03 2020-02-18 Forrest L. Pierson Enhanced protection of processors from a buffer overflow attack
US11675587B2 (en) 2015-12-03 2023-06-13 Forrest L. Pierson Enhanced protection of processors from a buffer overflow attack
CN106254243B (zh) * 2016-09-30 2019-09-06 新华三技术有限公司 一种报文转发方法及装置
CN110460544B (zh) 2018-05-08 2021-09-07 华为技术有限公司 一种堆叠中交换机的标识分配方法、光缆及相关设备
CN112073236B (zh) * 2020-09-01 2023-09-08 深信服科技股份有限公司 堆叠系统的故障处理方法、框式交换机、堆叠系统及介质
CN112019459B (zh) * 2020-09-09 2021-10-26 苏州盛科通信股份有限公司 基于堆叠系统中设备动态上下线的报文处理方法及系统

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5978912A (en) * 1997-03-20 1999-11-02 Phoenix Technologies Limited Network enhanced BIOS enabling remote management of a computer without a functioning operating system
WO2000003256A1 (en) 1998-07-08 2000-01-20 Broadcom Corporation Network switch utilizing packet based per head-of-line blocking prevention
US6674727B1 (en) * 1998-11-30 2004-01-06 Cisco Technology, Inc. Distributed ring protocol and database
US6853623B2 (en) * 1999-03-05 2005-02-08 Cisco Technology, Inc. Remote monitoring of switch network
WO2000072533A1 (en) * 1999-05-21 2000-11-30 Broadcom Corporation Stacked network switch configuration
US6785272B1 (en) * 1999-06-24 2004-08-31 Allied Telesyn, Inc. Intelligent stacked switching system
GB2357390B (en) * 1999-12-16 2002-09-25 3Com Corp Ethernet units adapted for loop configuration and method of operating same
US6868086B1 (en) * 2000-03-29 2005-03-15 Intel Corporation Data packet routing
US7120683B2 (en) * 2000-04-03 2006-10-10 Zarlink Semiconductor V.N. Inc. Single switch image for a stack of switches
US6675221B1 (en) 2000-04-06 2004-01-06 International Business Machines Corporation Method and apparatus for customizing and fowarding parameters in a network processor
US6954437B1 (en) * 2000-06-30 2005-10-11 Intel Corporation Method and apparatus for avoiding transient loops during network topology adoption
US6665742B2 (en) * 2001-01-31 2003-12-16 Advanced Micro Devices, Inc. System for reconfiguring a first device and/or a second device to use a maximum compatible communication parameters based on transmitting a communication to the first and second devices of a point-to-point link
US7127523B2 (en) * 2001-07-27 2006-10-24 Corrigent Systems Ltd. Spanning tree protocol traffic in a transparent LAN
US7257134B2 (en) * 2001-10-03 2007-08-14 Zarlink Semiconductor V.N. Inc. Method of pacing the synchronization of routing information in a data switching environment
US7177946B1 (en) * 2001-12-06 2007-02-13 Cisco Technology, Inc. Optimal sync for rapid spanning tree protocol
US7319664B2 (en) * 2002-01-10 2008-01-15 Accton Technology Corporation Redundant link management switch for use in a stack of switches and method thereof
GB2384956B (en) * 2002-02-02 2004-01-21 3Com Corp Stacked network routers
ATE405056T1 (de) * 2002-05-03 2008-08-15 Nokia Siemens Networks Oy Verfahren und system in einem kommunikationsnetz zur zuteilung und änderung von adressen auf streckenebene
US7542470B2 (en) * 2003-03-31 2009-06-02 Alcatel-Lucent Usa Inc. Method and apparatus for routing a packet within a plurality of nodes arranged in a line or a tree given a maximum stack depth
US8321584B2 (en) * 2003-04-04 2012-11-27 Ellacoya Networks, Inc. Method and apparatus for offering preferred transport within a broadband subscriber network

Also Published As

Publication number Publication date
US7974272B2 (en) 2011-07-05
CN100591035C (zh) 2010-02-17
TWI289013B (en) 2007-10-21
JP2006042368A (ja) 2006-02-09
CN101777998B (zh) 2014-05-28
TW200610328A (en) 2006-03-16
JP4224620B2 (ja) 2009-02-18
CN101777998A (zh) 2010-07-14
US20060023640A1 (en) 2006-02-02
KR20060048807A (ko) 2006-05-18
DE102005032479B4 (de) 2011-12-08
CN1728688A (zh) 2006-02-01

Similar Documents

Publication Publication Date Title
DE102005032479B4 (de) Fernsteuerung eines Vermittlungsknotens in einem Stapel von Vermittlungsknoten
DE69908295T2 (de) Virtuelles lokales netz mit mehrfachsendeschutz
DE69933417T2 (de) Vorrichtung und Verfahren zur routerfreien Schicht 3 Wegelenkung in einem Netz
DE69727447T2 (de) Übertragungstrennung und Ebene-3-Netzwerk-Vermittlung
DE69434330T2 (de) Übertragungsvorrichtgung und verfahren
DE60301717T2 (de) Verfahren und Vorrichtung zur inhaltsorientierten Weiterleitung von Paketen im Netz mit Datenspeichervorrichtungen
DE69827201T2 (de) Verfahren und system zur server-netzwerkvermittlung-mehrverbindung
DE60114942T2 (de) Verfahren und System für das Verwenden eines Kernnetz-Protokolls zur Verbesserung der Netzleistung
DE69922690T2 (de) Fehlertolerante netze
DE102011114278B4 (de) Verfahren und Vorrichtung, die eine Ausfallumschaltung für einen Punkt-Punkt-Tunnel für Split-Plane-Umgebungen drahtloser lokaler Netze bereitstellen
DE602005001601T2 (de) Protokoll-Failover in einem Softrouter
DE69934192T2 (de) Verfahren und Einrichtung zur Netzverbindung mittels Brücken
DE60318878T2 (de) Verfahren und systeme zum austausch von erreichbarkeitsinformationen und zum umschalten zwischen redundanten schnittstellen in einem netzwerkcluster
DE102011112852B4 (de) Zugangsnetz-Doppelwegkonnektivität
US7620040B2 (en) Application non disruptive task migration in a network edge switch
US20160212048A1 (en) Openflow service chain data packet routing using tables
DE112012001320T5 (de) Prioritätsgestützte Flusssteuerung in einer Switching-Netzwerkarchitektur mit einem Protokoll einer verteilten Stuktur (Distributed Fabric Protocol DFP)
DE112016005600T5 (de) Querverbindung von Switches auf der Basis eines hierarchischen Overlay-Tunneling
DE202015009244U1 (de) Routing von Datenverkehr innerhalb von und zwischen autonomen Systemen
DE602004005242T2 (de) Zentralisierte konfiguration von verwalteten objekten des link-scope-typs in netzwerken, die auf dem internet-protokoll (ip) basieren
EP2130329A1 (de) Verfahren zum rekonfigurieren eines kommunikationsnetzwerks
DE102014117460A1 (de) Programmierbares verteiltes Networking
DE102011114276B4 (de) Ausfallsicherheit durch Routed Split Multi-Link Trunking für Split-Plane-Umgebungendrahtloser lokaler Netze
DE60133175T2 (de) Kommunikationsnetz
DE60215416T2 (de) Zeigerbasierte binäre Suchmaschine und dafür geeignetes Verfahren

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8127 New person/name/address of the applicant

Owner name: CONEXANT SYSTEMS, INC., NEWPORT BEACH, CALIF., US

R018 Grant decision by examination section/examining division
R020 Patent grant now final

Effective date: 20120309

R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee