DE69029766T2 - Adaptive Leitweglenkung in Netzwerken - Google Patents

Adaptive Leitweglenkung in Netzwerken

Info

Publication number
DE69029766T2
DE69029766T2 DE69029766T DE69029766T DE69029766T2 DE 69029766 T2 DE69029766 T2 DE 69029766T2 DE 69029766 T DE69029766 T DE 69029766T DE 69029766 T DE69029766 T DE 69029766T DE 69029766 T2 DE69029766 T2 DE 69029766T2
Authority
DE
Germany
Prior art keywords
node
header
output link
network
link
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.)
Expired - Fee Related
Application number
DE69029766T
Other languages
English (en)
Other versions
DE69029766D1 (de
Inventor
Alexander Hamilton Frey
Joel Mark Gould
Charles Marion Higgins
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE69029766D1 publication Critical patent/DE69029766D1/de
Application granted granted Critical
Publication of DE69029766T2 publication Critical patent/DE69029766T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/24Multipath
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/06Deflection routing, e.g. hot-potato routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/22Alternate routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/32Flooding

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multi Processors (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Description

  • Die vorliegende Erfindung betrifft im allgemeinen eine adaptive Leitweglenkung in Netzwerken und die effektive Datenlenkung zwischen parallelen Rechnerelementen durch ein zusammenhängendes Netzwerk mit multiplen Verbindungspfaden (z.B. ein mehrdimensionales Torus-Netzwerk).
  • Die hier diskutierte Anordnung spricht das Problem der Verarbeitung von Meldungen geringer Latenz an, das in den heutigen Parallelcomputern auftritt. Ein solches Computersystem besteht aus einer großen Anzahl "Knoten", die über ein Hochgeschwindigkeits-Kommunikationsnetz untereinander verbunden sind. Jeder Knoten besteht in der Regel aus einem Prozessor und einem Speicher. Die Knoten arbeiten unabhängig und verkehren miteinander durch Senden von Meldungen und Datenblöcken über das Kommunikationsnetz.
  • Das Kommunikationsnetz verbindet die Knoten miteinander, weil aber die Anzahl der Knoten potentiell sehr hoch ist (sie geht z.B. in die Tausende), ist es unpraktisch, wenn jeder Knoten eine festgelegte Standleitung zu jedem anderen Knoten des Systems hat. Daher wird im allgemeinen eine Art Topologie der Verbindungsglieder angewandt, wobei jeder Knoten Direktverbindungen nur zu eine paar Nachbarn hat. In einem solchen Netzwerk muß zum Versenden von Informationen zwischen Knoten, die nicht direkt miteinander verbunden sind, ein Pfad gefunden werden durch Benutzen zwischenliegender Knoten und der Verbindungsbrücken, die sie bilden.
  • Wenn in einer solchen Umgebung ein Knoten eine Meldung zu einem nichtanliegenden Knoten schicken will, muß es einen Mechanismus zum Festlegen der zu benutzenden Zwischenglieder und -knoten und zum Schicken der Meldung über diese Zwischenglieder in kürzester Zeit geben. In einem regulären Netzwerk kann es zwischen zwei gegebenen Knoten eine Vielzahl möglicher Pfade geben. Der Meldungsübertragungsmechanismus ist in der Lage, einen Pfad aus den vielen Pfaden auszuwählen, und dabei besetzte oder unterbrochene Zwischenverbindungen und Knoten zu umgehen. Auch kann der Meldungsübertragungsmechanismus unabhängig vom Prozessor jedes Zwischenknotens arbeiten.
  • Im allgemeinen ist die betreffende Netzwerk-Topologie anwendbar auf Netzwerk-Muster mit Mehrfachknoten, wobei jeder Knoten Verbindungsglieder zu seinen Nachbarn nach allen Seiten aufweist. Ein Beispiel für ein solches Topologieschema ist das mehrdimensionale Torus-Netzwerk.
  • Beschreibungen für Parallelcomputersysteme sind zu finden in den US-Patenten 4,636,948, erteilt an IBM; 4,514,807 erteilt an Tatsuo; 4,814,980 und 4,730,322 erteilt an das California Jnstitute of Technology; 4,811,412 erteilt an die Princeton University; 4,814,979, 4,445,171 und 4,543,630 erteilt an Teradata; 4,748,660 erteilt an Jeumont-Schneider; und 4,598,400 erteilt an Thinking Machines Corp. Diese Patente beschreiben verschiedene Architekturen für Parallelverarbeitung, die frühere Entwicklungen für Leitwegsysteme ähnlich dem der vorliegenden Erfindung darstellen.
  • Die nachstehend geoffenbarte Anordnung wurde entwickelt, um die folgenden Forderungen zu erfüllen, die bisher in einer Parellelverarbeitungsumgebung noch nie möglich waren. Eine Schlüsselforderung ist die Fähigkeit zum dynamischen Ausfindigmachen des kürzesten verfügbaren Pfades und zum Senden einer Meldung über diesen Pfad, von jedem beliebigen Knoten zu jedem beliebigen anderen Knoten in einem mehrdimensionalen Netzwerk, auch wenn diese nicht direkt verbunden sind. Diese Fähigkeit ist kombiniert mit einer Gesamtübertragungsgeschwindigkeit, die nur um einen Bruchteil langsamer ist als die Verbindungsglied-Grundgeschwindigkeit. Das Verbindungsglied muß auch in der Lage sein, sich dynamisch an sich verändernde Netzwerkzustände, einschließlich Überlastung und nichtbetriebsbereite Verbindungen anzupassen, ggf. durch Verwendung alternativer Leitwege. Das Senden über einen Leitweg wird erreicht ohne Puffern in den Zwischenknoten. Das nindert die Kosten und eliminiert sequentielles Suchen, wenn eine Netzwerkbetriebsmittelblockierung angetroffen wird. Schließlich muß jedes Netzwerkelement freigeschaltet werden können, wenn die Weiterleitung der Meldung zeitweilig blockiert ist.
  • Beispiele für Systeme auf dem Stand der Technik, die die obigen Vorgaben nicht erfüllen, sind in Artikeln wie z.B. "The torus routing chipy", Distributed Computing, Springer- Verlag New York, 1986, und Chow et al., "Hyperswitch Network For the Hypercube Computer", Computer Architecture News, Bd. 16, Nr. 2, Mai 1988 zu finden.
  • Der Torus-Artikel beschreibt einen parallel rechnenden Netzwerk-Leitwegchip, der spezifisch dafür konstruiert wurde, eine Leitwegsuche geringer Latenz in einem mehrdimensionalen Torus-Netzwerk zu ermöglichen. Der Chip setzt eine Reihenfolge fest, in der die Meldungen über Zwischenknoten zu ihrem Bestimmungsort geschickt werden. Angewandt wird hier eine Technik, die als "Cut through" (Durchbruch)-Leitwegsuche bekannt ist. Diese Technik schickt jedes Byte sofort wieder auf seinen Weg sobald es an einem Zwischenknoten ankommt. Somit nähert sich die Gesamtübertragungszeit der Verbindungsglied- Grundgeschwindigkeit und Puffern an den Zwischenknoten ist nicht erforderlich. Eine etwas genauere Beschreibung der Durchbruch-Leitwegsuche ist enthalten in "A Framework for Adaptive Routing in Multicomputer Networks", ACM Symposium on Parallel Algorithms and Architectures, 1989.
  • Das Problem mit dem Torus-Chip und insbesondere mit der "Durchbruch"-Leitwegsuche ist, daß die vorgegebenen Leitwege statisch sind und sich nur auf die relativen Stellungen des Quellknotens und des Zielknotens gründen. Wenn eine Verbindung auf dem Weg unterbrochen wird, kann die Meldung nicht durch das Netz geschickt werden, auch wenn ein alternativer Leitweg hätte benutzt werden können. Auch wenn es eine Überlappung zwischen einigen der Verbindungsglieder im Netzwerk gibt, wird die Weiterleitung für eine oder mehrere Meldungen zeitweilig blockiert. Das könnte seinerseits den Durchgang einer oder mehrerer anderer Meldungen blockieren. Das Blockieren dieser Meldungen seinerseits hat Auswirkungen auf andere Meldungen, weil blockierte Meldungen den Weg, den sie benutzen, nicht freigeben. Somit gibt es keine Möglichkeit, Netzwerkbetriebsmittel freizumachen, wenn der Fortgang einer Meldung zeitweilig blockiert wird.
  • Im Hyperswitch-Artikel wird beschrieben, wie Meldungen in einem Hypercube-Rechner geleitet schicken. Der Hypercube ist ein Sonderfall des mehrdimensionalen Torus, in dem die Anzahl Knoten in jeder Dimension immer zwei ist. Das Hyperswitch- Netzwerk führt eine anpassungsfähige Leitwegsuche durch. Dabei wird vor Absenden einer Meldung das Durchsuchen aller möglichen Pfade durchgeführt, um Leitwege zu identifizieren, überlastungen und um unterbrochene Verbindungswege umgehen. Das gibt der Hyperswitch-Leitwegsuche die Möglichkeit, sich dynamisch an sich laufend verändernde Netzwerkzustände und nicht betriebsbereite Verbindungen anzupassen. Auch hier erfordert die Leitwegsuche kein Puffern und es besteht zusätzlich die Möglichkeit, Netzwerkbetriebsmittel freizuschalten, wenn bei der anfänglichen Durchsuchung des Netzwerks Blockierungen gefunden werden.
  • Wie oben gesagt, ist die im Hyperswitch-Artikel beschriebene Eähigkeit nur bei einem Hypercube-Rechner von Nutzen. Das ist eine extreme Einschränkung angesichts der heutigen mehrdimensionalen Netzwerkimplementierungen. Ferner bedeutet die anfängliche sequentielle Hyperswitchsuche einen unerwünschten Aufwand.
  • In der Europäischen Patentanmeldung EP-A-234191 wird ein paketvermittelndes Kommunikationsnetz mit mehrfachen virtuellen Schaltkreisen zum Umleiten von Meldungsblockpaketen geoffenbart. Zwischen Quell- und Zielterminal werden mehrfache logische Kanäle parallel aufgebaut und die Meldungsblockpakete werden über einen der aufgebauten logischen Kanäle übertragen. Bei Störungen oder Verkehrsüberlauf im logischen Kanal werden die Nachrichtenblockpakete auf einen anderen der festgelegten Kanäle umgeschaltet.
  • EP-A-221360 beschreibt ein Übertragungsnetzwerk, in dem jeder Knoten Topologie-Datenbanken führt, die die möglichen verfügbaren Leitwege durch das Netzwerk aufzeichnen, wobei die Leitwegfindung den sich verändernden Netzwerkzustände durch den Einsatz geeigneter Rückmeldungen, die von anliegenden Knoten her eingehen, dynamisch angepaßt wird.
  • Wie man sieht, weist die vorliegende Erfindung keine der obigen Probleme oder Einschränkungen auf.
  • Die vorliegende Erfindung sieht vor ein Gerät zum Führen eines Nachrichtenblocks zwischen einem Quellknoten und einem Zielknoten eines Knotennetzwerks regulärer Topologle, wobei der Quellknoten eine Datentransaktion aufbaut, die einen Nachrichtenblock und eine Kopfzeile enthält, wobei die Kopfzeile Bitgruppen beinhaltet, die Pfade durch das Knotennetzwerk definieren, wobei mindestens ein Knoten in einem der Pfade beinhaltet: Schaltermittel; eine Vielzahl von Ausgabeverbindungssendern, wobei jeder der Ausgabeverbindungssender mit einem nachfolgenden Knoten verbunden ist; eine Vielzahl von Eingabeverbindungsempfängern, wobei jeder der Eingabeverbindungsempfänger mit einem vorangehenden Knoten verbunden ist und auf eine empfangene Bitgruppe einer Kopfzeile anspricht, um mehrfache nebenläufige Verbindungen über die Schaltermittel zu Ausgabeverbindungssendern innerhalb des einen Knotens herzustellen und zum Kopieren der Kopfzeile in jedem der angeschlossenen Ausgabeverbindungssender; und Mittel zum Modifizieren jeder kopierten Kopfzeile zum Definieren der Knotennetzwerkpfade zum Zielknoten von nachfolgenden Knoten aus, die mit einem der Ausgabeverbindungssender verbunden sind, in die die Kopfzeile kopiert wurde, wobei jeder der Ausgabeverbindungssender seine veränderte Kopfzeile und den Nachrichtenblock an den nachfolgenden Knoten sendet, mit dem einer der Ausgabeverbindungssender verbunden ist.
  • Wie nachstehend geoffenbart, sind in einer solchen Anordnung, die identische Leitwegverfahren anwendet, in jedem Systemknoten Mechanismen angeordnet, um effektiv Informationen von Knoten zu Knoten weiterzugeben. Jeder Leitweumechanismus enthält ein Sender/Empfänger-Paar, das über einen herkömmlichen Kreuzschienenschalter (Raummultiplexdurchschalter) gekoppelt ist. Eingebaut in jedes Sender/Empfänger-Paar sind bidirektionale Kommunikationsverbindungen mit anderen benachbarten Knoten. Jedes Sender/Empfänger-Paar beinhaltet Standleitungsverbindungen zum Prozessor und Speicher des residen ten Knoten.
  • Die Informationen werden von Knoten zu Knoten weitergegeben unter Verwendung einer Kopfzeile, die aus Leitwegbeschreibungsbits besteht. Das Empfänger/Sender-Paar jedes Knotens verändert den Zustand bei der Weiterleitung der Information zum Zielknoten. Die Meldung wird über mehrere Knoten gleichzeitig geführt, um die Knoten schnell zu druchqueren und den Zielknoten zu erreichen. Wenn die Endknotenverbindung hergestellt ist, werden alle nachfolgenden Kommunikationsverbindungen über einen Befehl, der über das Netzwerk zurückgeschickt wird, freigeschaltet.
  • Daraus ergibt sich die Fähigkeit, Meldungen in einem mehrdimensionalen Netzwerk von einem beliebigen Knoten zu einem beliebigen anderen Knoten zu schicken, auch wenn diese nicht direkt miteinander verbunden sind. Das Leitweg-Senden erfolgt mit einer Gesamtübertragungszeit, die der Punkt-zu-Punkt-Verbindungszeit nahekommt.
  • Das Leitweg-Senden weist eine solche Architektur auf, daß es sich dynamisch an sich verändernde Netzwerkzustände anpaßt, einschließlich Überlastungen und nichtbetriebsbereite Verbindungen, indem es nötigenfalls einen alternativen Leitweg sucht, und Meldungen werden nicht gepuffert. Die Architektur ist genügend flexibel, daß sie blockierte Meldungen entdeckt und dynamisch Netzwerkbetriebsmittel freischaltet, um Zwänge im Netzwerk zu erleichtern.
  • Die vorliegende Erfindung soll jetzt beispielhaft noch eingehender beschrieben werden anhand einer in den begleitenden Zeichnungen dargestellten Ausführungsform, wobei
  • Fig. 1 die Netzwerktopologie eines zweidimensionalen Torus- Netzwerks zeigt;
  • Fig. 2 ist eine Illustration der Beziehungen zwischen dem Leitwegmechanismus und seinen Knoten;
  • Fig. 3 ist eine Illustration der Innenstruktur des Leitwegmechanismus;
  • Fig. 4 ist eine Illustration eines Musternetzwerks;
  • Fig. 5 ist eine Illustration einer Musternetzwerksuche;
  • Fig. 6 ist eine Illustration einer anderen Musternetzwerksuche;
  • Fig. 7 ist eine Illustration einer anderen Musternetzwerksuche;
  • Fig. 8 ist eine Illustration einer anderen Musternetzwerksuche;
  • Fig. 9 ist ein Flußdiagramm, das die Zustandsänderungen für die Empfänger- und Injektormodule zeigt;
  • Fig. 10 ist ein Flußdiagramm, das den Leerlaufzustand für die Sender- und Extraktormodule zeigt;
  • Fig. 11 ist eine Flußdiagramm, das den Suchzustand für die Sender- und Extraktormodule zeigt;
  • Fig. 12 ist ein Flußdiagramm, das die Verarbeitung im Aktivzustand für die Sender- und Extraktormodule zeigt; und
  • Fig. 13 ist ein Flußdiagramm, das den Wartezustand für die Sender- und Extraktormodule zeigt.
  • Fig. 1 illustriert die Topologie eines zweidimensionalen Torus. Jeder Kasten 10 stellt einen Knoten dar und jede Linie 20 stellt ein Verbindungsglied dar. In Fig. 1 sind zwanzig Knoten in einem Fünf-mal-Vier-Torus verschaltet. Ein dreidimensionaler Torus würde eine Vielzahl von zweidimensionalen Netzwerken aufweisen, die logisch in der dritten Dimension gestapelt sind. Jeder Knoten hätte dann noch zwei zusätzliche Verbindungen, eine zum Gegenstück im darüberliegenden zweidimensionalen Torus und eine zum Gegenstück im darunterliegenden zweidimensionalen Torus. Auch noch höherdimensionale Torus-Netzwerke sind möglich.
  • Die geoffenbarte Ausführungsform benutzt mehrfache, identische Leitwegmechanismen, die jeweils eins zu eins jedem Knoten im System zugeordnet sind. Nehmen wir Bezug auf Fig. 2; die Verbindungsglieder zwischen den Knoten 10, 11, 12 und 13 sind direkt verbunden mit den Leitweumechanismen 200, 210, 220 und 230.
  • Bei den Verbindungsgliedern kann es sich um lokale Netze oder beliebige, unterschiedliche, sonstige Standard-Kommunikationsmedien handeln, die heute zur Kommunikation zwischen Knoten üblicherweise eingesetzt werden. Leitweumechanismus, Prozessor und Speicher können aus einer Reihe allgemein benutzter Prozessoren und Speicher ausgewählt werden, wie z.B. ein 80386er Prozessor und ein kompatibler Speicher.
  • Jeder Leitwegmechanismus sieht seinerseits eine Verbindung zu dem Prozessor oder Speicher 100, 110, 120 und 130 des entsprechenden Knotens vor. Beim Knoten 10 ist jede seiner Kommunikationsverbindungen 21, 22, 23 und 24 gesondert bezeichnet, damit sie mit der detaillierten Beschreibung der Fig. 3 übereinstimmen.
  • Die Anzahl der vom Leitwegmechanismus unterstützten Verbindungen ist variabel und hängt von der Anzahl der Dimensionen des Netzwerks ab. Zwecks Vereinfachung der Erklärung nehmen wir ein zweidimensionales Netzwerk an, wie es in Fig. 1 gezeigt wird. In Fig. 1 ist jeder Knoten 10 jeweils über ein Verbindungsglied 20 mit seinen vier benachbarten Knoten verbunden. Eine spätere Erklärung zeigt die zusätzlichen Verbindungen, die zur Unterstützung weiterer Dimensionen erforderlich sind.
  • Fig. 3 zeigt die interne Architektur des Leitwegnechanismus für einen zweidimensionalen Torus. Für einen zweidimensionalen Torus unterstützt jeder Leitwegmechanismus vier bidirektonale Verbindungen, die ankommenden Verbindungen 300 und die ausgehenden Verbindungen 320 zu anderen Leitwegmechanismen (in anderen Knoten) und eine gesonderte ankommende Verbindung 310 und ausgehende Verbindung 330 zum Prozessor bzw. zum Speicher seines eigenen Knotens. Da die Verbindungen bidirektional sind, sind fünf Empfänger 301, 302, 303, 304 und 311, und fünf Sender 321, 322, 323, 324 und 331 erforderlich. Ein Kreuzschienenschalter 350 wird als Beispiel für die benutzte Hardware gezeigt, der benutzt wird, um die Informationen zwischen den verschiedenen Gliedern zu schalten. Statt des Kreuzschienenschalters kann auch ein Raummultiplexdurchschalter benutzt werden.
  • Jede Verbindung ist geeignet bezeichnet gemäß der Richtung, in der die Datenübertragungsverbindung Daten sendet. So entsprechen der Empfänger für W+ 301 und der Sender für W+ 321 der Datenübertragungsverbindung 21 in Fig. 2, der Empfänger für W- 302 und der Sender für W- 322 entsprechen der Datenübertragungsverbindung 22, der Empfänger für X+ 303 und der Sender für X+ 323 entsprechen der Datenübertragungsverbindung 23 und der Empfänger für X- 304 und der Sender für X- 324 entsprechen der Datenübertragungsverbindung 24. Der "Injektor" 310 ist ein besonderer Empfänger, der Daten aus dem Prozessor oder Speicher des Knotens anstatt von einem anderen Knoten erhält. Der "Extraktor" 330 ist ein besonderer Sender, der Daten an den Prozessor oder Speicher des Knotens anstatt an einen anderen Knoten sendet.
  • Der Kreuzschienenschalter 350 ist ein Vielpol-Umschalter von den Verbindungsempfängern 301-310 zu den Verbindungssendern 321-330. Zum Herstellen der Verbindungen legt jeder Empfänger 301-310 eine Wahlmaske auf den Kreuzschienenschalter 350, die den Sender 321-330 anzeigt, durch den er senden will. Verbindungen über den Kreuzschienenschalter 350 werden nur dann hergestellt, wenn der betreffende Sender frei ist. Nachdem ein Pfad geöffnet ist, fordert ein Sender den Kreuzschienenschalter auf, die Datenverbindung freizugeben, die vorher zusammengeschaltet war.
  • Die Wahlmaske besteht aus einem Vier-Bit-Befehlswort, das von jedem Empfänger an den Kreuzschienenschalter gegeben wird. Wenn die Wahlmaske nur aus Nullen besteht, öffnet der Kreuzschienenschalter einen Pfad von diesem Empfänger zum Extraktor. Wenn die Wahlmaske nicht Null ist, wird jedes Bit verwendet, um anzuzeigen ob ein Pfad zum entsprechenden Sender geöffnet werden soll. Zum Beispiel bestimmt eine Wahlmaske 0001, daß der Kreuzschienenschalter 350 versucht, einen Pfad vom Empfänger, der die Maske eingebracht hat, sagen wir Empfänger 301, an den W+ Sender 321 zu schicken. Eine Wahlmaske 1010 fordert zwei Pfade an, einen vom Empfänger 301 zum W- Sender 322, und einen vom Empfänger 301 zum X- Sender 324. Wenn durch den Kreuzschienenschalter 350 mehr als ein Pfad geöffnet wird, wird jedes vom Empfänger generierte Byte an alle angeschlossenen Sender geschickt.
  • Nehmen wir jetzt Bezug auf Fig. 9; dort wird ein Flußdiagramm gezeigt, das die Zustandsänderungen der Empfänger- und Jnjektormodule zeigt. Jeder Empfänger hat zwei Primärzustände -- IDLE und ACTIVE. Wenn IDLE (im Leerlauf), markiert das erste über eine Verbindung eingehende Byte den Anfang einer Meldung und bewirkt, daß der Empfänger in den ACTIVE Zustand übergeht. Der Entscheidungsblock 900 sucht nach einem Byte von der Datenverbindung oder vom Speicher. Wenn ein Byte gefunden wird, geht der Empfänger in den ACTIVE Zustand über. Wenn nicht, kehrt der Empfänger in den IDLE Zustand zurück. Im Funktionsblock 910 benutzt der Empfänger das niedrigstwertige Halbbyte (vier Bits) des "ersteingehenden" Byte als Wahlmaske (siehe oben) für den Kreuzschienenschalter. Die Wahlmaske repräsentiert, wenn sie dem Kreuzschienenschalter aufgelegt wird, einen Satz gewünschter Pfade zu einem oder mehreren Sendern.
  • Der Entscheidungsblock 920 sucht nach besetzten oder nicht betriebsbereiten Sendern. Wenn kein Sender verfügbar ist, wird die Verarbeitung im Funktionsblock 960 fortgesetzt, wo ein LINK-CLOSE Befehl über das Verbindungsglied zurückgeschickt wird. Wenn wenigstens ein Pfad durch den Kreuzschienenschalter verfügbar ist, sucht der Entscheidungsblock 940 nach einem zusätzlichen Datenbyte. Wenn die Daten existieren, werden sie, wie in Funktionsblock 950 gezeigt, durch den Kreuzschienenschalter geschickt. Wenn kein zusätzliches Byte existiert, geht die Steuerung auf Funktionsblock 960 über.
  • Beziehen wir uns jetzt auf Fig. 10; jeder Sender hat vier Zustände -- IDLE, SEARCHING, ACTIVE und DELAYED. Ein Sender beginnt im IDLE Zustand und bleibt in diesem Zustand, solange er nicht über den Kreuzschienenschalter an einen Empfänger angeschlossen ist, wie im Entscheidungsblock 8000 gezeigt wird. Weder empfängt er noch sendet er Daten in diesem Zustand. Wenn der Kreuzschienenschalter 350 einen Sender mit einem Empfänger verbindet, ist das erste beim Sender eingehende Byte das "Wahlmasken"-Byte.
  • Der Funktionsblock 8010 führt eine bitweise UND-Verknüpfung zwischen der "Wahlmaske" als ein Operand und einer auf Identität gegründeten Bit-Maske als der andere Operand durch. Diese Operation wählt einen Pfad durch den Kreuzschienenschalter 350. Die möglichen Werte und ihre zugeordneten Funktionsblöcke werden nachstehend gezeigt.
  • 1110 für den W+ Sender (8020)
  • 1101 für den W- Sender (8030)
  • 1011 für den X+ Sender (8040)
  • 0111 für den X- Sender (8050)
  • 0000 für den Extraktor (8055)
  • Im Funktionsblock 8060 wird dann das Ergebnis in einem Register gespeichert, das WORK bezeichnet ist. Nach Speichern im WORK Register bestimmt der Entscheidungsblock 8070, ob der Wert Nicht-Null ist. Wenn der Wert Nicht-Null ist, wird die Verarbeitung fortgesetzt mit Funktionsblock 8090, wo das "Masken-Byte" abgelegt wird. Nach dem Ablegen des "Masken- Byte" tritt der Sender in den SEARCHING Zustand ein. Wenn der Wert Null ist, fährt der Prozeß mit dem Ablegen des "Masken- Byte" und mit dem Eintreten in den ACTIVE Zustand als Extraktor fort.
  • Im SEARCHING Zustand modifiziert der Sender jedes nachfolgende, von ihm aufgenommene Byte und sendet das Ergebnis an sein Verbindungsglied. Fig. 11 stellt ein Flußdiagramm dar, das die SEARCHING Zustandslogik umreißt, die vom Sender und vom Extraktor benutzt wird.
  • Entscheidungsblock 9100 führt einen Test durch, in dem bestimmt wird, ob das aufgenommene Byte ein LINK-CLOSE (Verbindungsschluß) Zustand ist.
  • Wenn das eingegangene Byte ein LINK-CLOSE Befehl ist, geht die Verarbeitung zum Funktionsblock 9190 über, wo der Pfad durch den Kreuzschienenschalter geschlossen und der IDLE Zustand wird.
  • Wenn das eingegangene Byte nicht der LINK-CLOSE Befehl ist, bestimmt der Entscheidungsblock 9110, ob ein zusätzliches Byte vom Kreuzschienenschalter verfügbar ist. Wenn nicht, kehrt die Verarbeitung zum Funktionsblock 9100 zurück, oder sonst wird ein bitweises ODER zwischen dem WORK Register und dem aufgenommenen Byte durchgeführt. Das geschieht im Funktionsblock 9120.
  • Dann werden im Entscheidungsblock 9130 die Ergebnisse der Operation mit 0000, 0011, 1100 und 1111 verglichen. Wenn der Test mit im Entscheidungsblock 9130 nein zeigt (das heißt, keine Übereinstimmung gefunden wird) geht der Prozeß weiter mit Funktionsblock 9140, wo das Ergebnis der Operation an den nächsten Knoten geschickt wird. Wenn eine Übereinstimmung gefunden wird, führt der Funktionsblock 9150 ein bitweises UND zwischen dem eingegangenen Byte und dem WORK Register durch. Das Ergebnis wird der neue Wert des WORK Registers, wie im Funktionsblock 9160 ersichtlich ist.
  • Im Entscheidungsblock 9170 wird das eingegangene Byte mit 0000 verglichen. Wenn das eingegangene Byte gleich 0000 ist, tritt der Sender in den DELAYED Zustand (Wartezustand) ein. Wenn nicht, werden die neuen Inhalte des WORK Registers im Entscheidungsblock 9180 mit 0000 verglichen. Wenn der Inhalt gleich 0000 ist, verwirft der Sender das eingegangene Byte im Funktionbsblock 9200 und tritt in den ACTIVE Zustand ein.
  • Wenn nicht, wiederholt sich der ganze Prozeß durch Rücksprung zu Block 9100.
  • In den Zuständen ACTIVE und DELAYED wird jedes eingehende Byte unverändert über die Verbindungen des Senders weitergesendet. Wenn die Information für den Extraktor bestimmt ist, heißt das, daß das Byte dem Knotenprozessor oder -speicher direkt zur Verfügung gestellt wird. Der Unterschied zwischen diesen beiden Zuständen ist, daß im DELAYED Zustand ein Extrabyte mitgesendet werden muß, so daß sich die eingehenden Bytes im WORK Register um einen Zyklus verzögern.
  • Das Flußdiagramm in Fig. 12 umreißt die Zustände ACTIVE und DELAYED für die Sender- und Extraktormodule. Im ACTIVE Zustand bestimmt der Funktionsblock 1200, ob das eingegangene Byte ein LINK-CLOSE Befehl ist. Wenn das eingegangene Byte ein LINK-CLOSE Befehl ist, fährt der Prozeß mit dem Funktionsblock 1270 fort und schließt den Pfad durch den Kreuzschienenschalter zu diesem Modul. Wenn das eingegangene Byte kein LINK-CLOSE Befehl ist, bestimmt der Entscheidungsblock 1210, ob ein zusätzliches Byte existiert. Wenn nicht, fährt der Prozeß mit Entscheidungsblock 1200 fort, sonst sendet der Funktionsblock 1220 das letzte Byte zum nächsten Knoten.
  • Das Flußdiagramm in Fig. 13 illustriert die Verarbeitung des Zustands DELAYED. Die Verarbeitung beginnt mit einem Test im Entscheidungsblock 1230, um festzustellen, ob das eingegangene Byte ein LINK-CLOSE Befehl ist. Wenn das eingegangene Byte ein LINK-CLOSE Befehl ist, fährt der Prozeß mit dem Funktionsblock 1280 fort und schließt den Pfad durch den Kreuzschienenschalter zu diesem Modul. Wenn das eingegangene Byte kein LINK-CLOSE Befehl ist, bestimmt der Entscheidungsblock 1240, ob ein zusätzliches Byte existiert. Wenn nicht, fährt der Prozeß mit Entscheidungsblock 1230 fort, sonst sendet der Funktionsblock 1250 das letzte Byte zum nächsten Knoten. Der Funktionsblock 1260 speichert dann das eingegangene Byte im WORK Register ab. Schließlich wird, wie in Funktionsblock 1290 gezeigt wird, das eingegangene Byte verworfen.
  • Wenn in einem der Zustände SEARCHING, ACTIVE oder DELAYED, der Empfänger, an den der Sender gerade Daten sendet (d.h. der am anderen Ende der Verbindung) einen LINK-CLOSE Befehl zurücksendet, beendet der Sender seine Teilnahme an der Übertragung dieser Meldung, instruiert den Kreuzschienenschalter, ihn vom Empfänger, an den er augenblicklich Daten sendet, abzuschalten und in den IDLE Zustand zurückzukehren. Wenn alle mit einem Empfänger verbundenen Sender in den IDLE Zustand zurückgekehrt sind, wird dieser Empfänger informiert, daß er nicht mehr mit einem Sender verbunden ist, und kehrt in den IDLE Zustand zurück. Wenn eine Verbindung nicht mehr betriebsbereit ist, geht der diese Verbindung treibende Sender nicht aus dem IDLE Zustand heraus. Wenn ein Byte durch den Kreuzschienenschalter für eine nicht betriebene Verbindung ankommt, instruiert der Sender unverzüglich den Kreuzschienenschalter, die Verbindung abzubrechen, so als ob er einen LINK-CLOSE Befehl erhalten hätte. Wenn schließlich eine Verbindung mitten in einer Übertragung nicht betriebsbereit wird, bricht der Sender die Verbindung auf gleiche Weise ab.
  • Zusätzlich zu den Daten können ein paar Befehle über jede Verbindung und durch den Kreuzschienenschalter rückwärts und vorwärts gesendet werden. Diese Befehle werden als gesonderte Steuerleitungen oder als besondere Inband-Umschaltzeichen in den Daten implementiert. Die Implementierung ist unterschiedlich, je nach der Verbindungskonstruktion.
  • Der LINK-CLOSE Befehl wird über eine Verbindung rückwärts (gegen den Datenfluß) von einem Empfänger in einem Knoten zu einem Sender in einem anderen Knoten zurückgesendet. Wie bereits beschrieben, bewirkt LINK-CLOSE, daß der Sender in den IDLE Zustand geht und seine Verbindung durch den Kreuzschienenschalter schließt. Wenn es nur einen offenen Pfad durch den Kreuzschienenschalter gibt, bewirkt er auch, daß ein weiterer LINK-CLOSE Befehl gesendet wird, dieses Mal über eine Verbindung, die einen Sprung näher am Quellknoten liegt.
  • Der END-OF-MESSAGE Befehl wird über Verbindungsglieder und durch die Kreuzschienenschalter vom Quellknoten zum Zielknoten geschickt. Die Zwischenempfänger und -sender senden den END-OF-MESSAGE Befehl durch das System, so als ob er ein Datenbyte wäre. Sobald der END-OF-MESSAGE Befehl beim Zielknoten eingeht, führt dieser die zyklische Redundanzprüfung CRC durch. Wenn die CRC richtig ist, sendet er einen ACKNOWLEDGE Befehl gefolgt von einem LINK-CLOSE Befehl. Wenn die CRC falsch ist, wird nur ein LINK-CLOSE Befehl gesendet.
  • Der ACKNOWLEDGE Befehl wird über jedes Verbindungsglied rückwärts vom Empfänger zum Sender und über jeden Kreuzschienenschalter vom Sender wieder zurück zum Empfänger geschickt. Er wird vom Zielknoten nur nach erfolgreichem Eingang der Meldung generiert. Jeder Zwischenleitwegmechanismus sendet den ACKNOWLEDGE Befehl zurück zum Quellknoten ohne etwas zu unternehmen. Am Quellknoten wird der ACKNOWLEDGE Befehl benutzt, um anzuzeigen, daß eine Meldung erfolgreich eingegangen ist.
  • Zur Übertragung einer Meldung generiert der Quellknoten einen Datenstrom, der aus den nachstehenden Abschnitten besteht (aufgeführt in der Reihenfolge der Übertragung). Die Daten müssen mit der gleichen Geschwindigkeit, wie bei jedem Verbindungsglied im Netzwerk, an den Injektor des Leitwegmechanismus des Quellknotens geschickt werden.
  • 1. Eine Leitweg-Kopfzeile (Null, oder mehr Bytes)
  • 2. Ein Null-Byte (als Abschluß der Kopfzeile)
  • 3. Die zu sendende Meldung (Null, oder mehr Bytes)
  • 4. Die CRC der Meldung (nicht einschließlich der Kopfzeile)
  • 5. Ein END-OF-MESSAGE Befehl
  • Wenn die Meldung korrekt eingegangen ist, muß der Quellknoten einen ACKNOWLEDGE Befehl von seinem Injektor erhalten, gefolgt von einem LINK-CLOSE Befehl.
  • Wenn der LINK-CLOSE Befehl ohne einen ACKNOWLEDGE Befehl auftritt, weiß der Quellknoten, daß die Meldung nicht eingegangen ist und noch einmal gesendet werden muß.
  • Wenn eine Meldung am Zielknoten ankommt, erscheinen die gesendeten Bytes, in der gesendeten Reihenfolge, vom Extraktor des Zielknotenleitwegmechanismus her mit der gleichen Geschwindigkeit wie die der Verbindungsglieder im Netzwerk. Die Kopfzeile (einschließlich des Null-Byte, das ihr Ende kennzeichnet) kommt nicht am Ziel an, nur die Meldung, CRC und der END-OF-MESSAGE Befehl verlassen den Extraktor.
  • Die Kontrolle der CRC und die Generierung der Befehle END-OF-MESSAGE, ACKNOWLEDGE und LINK-CLOSE wird von der Hardware zwischen dem Leitwegmechanismus und dem Knotenprozessor oder -speicher gehandhabt. Die Verzögerung zwischen END-OF- MESSAGE, ACKNOWLEDGE und LINK-CLOSE muß möglichst kurz sein, weil der Leitwegmechanismus einen Weg zurück zum Quellknoten offen hält, bis das End-LINK-CLOSE erscheint.
  • Die Kopfzeile, die vom Quellknoten generiert und am Anfang der Meldung gesendet wird, legt fest, welchen Pfad oder welche Pfade die Meldung einschlagen soll. In einem zweidimensionaler Torus wird nur das niedrigstwertige Halbbyte jedes Kopfzeilenbyte benutzt. Die einzelnen Bytes der Kopfzeile werden wie folgt interpretiert. (Bit 0 ist das niedrigstwertige)
  • Bit 0 wird 1 gesetzt um eine Verbindung in W+ Richtung zu bewegen
  • Bit 1 wird 1 gesetzt um eine Verbindung in W- Richtung zu bewegen
  • Bit 2 wird 1 gesetzt um eine Verbindung in X+ Richtung zu bewegen
  • Bit 3 wird 1 gesetzt um eine Verbindung in X- Richtung zu bewegen
  • Bits 4-7 werden in einem zweidimensionalen Netzwerk gesetzt.
  • Um den einfachsten Kopfzeilentyp aufzubauen, bestimmt der Quellknoten den relativen Abstand zwischen sich und dem Zielknoten in jeder Richtung. Die Länge der Kopfzeile (in Bytes) ist gleich der in der längsten Richtung zu durchlaufenden Entfernung plus ein Byte nur aus Nullen.
  • Wenn man die Kopfzeilenbytes als Tabelle ansieht, wobei jedes Byte eine Zeile und jede Spalte eine Richtung darstellt (wie oben gezeigt), muß jede Spalte mit so vielen Einsen gefüllt sein wie Bewegungen in dieser Richtung zum Zielknoten vorhanden sind. In jeder Spalte müssen alle Einsen vor den Nullen kommen. So hat das erste Byte der Kopfzeile die meisten Bits gesetzt und das letzte Byte besteht nur aus Nullen.
  • Als Beispiel, das Senden einer Meldung vom Knoten 0,0 zum Knoten 3,2 erfordert drei Bewegungen in W+ Richtung und zwei Bewegungen in X+ Richtung. Die Grundkopfzeile, die diese Bewegung darstellt, ist vier Bytes lang, wie nachstehend gezeigt wird.
  • 0000 0101 - erstes gesendetes Byte
  • 0000 0101
  • 0000 0001
  • 0000 - Kopfzeile Ende
  • Wenn die Kopfzeile eingeht, sucht der Leitwegmechanismus nach allen möglichen direkten Pfaden zwischen Quellknoten und Zielknoten. Jeder Pfad wird gleichzeitig versucht. Der erste Bytestrom, der den Zielknoten erreicht, wird benutzt (wird offengehalten bis zum Ende der Meldung). Alle anderen Pfade werden abgebrochen (unter Verwendung eines LINK-CLOSE), sobald sie das Ziel nicht erreichen.
  • Im obigen Beispiel werden alle folgenden Pfade parallel durchsucht:
  • 0,0 nach 0,1 nach 0,2 nach 1,2 nach 2,2 nach 3,2
  • 0,0 nach 0,1 nach 1,1 nach 1,2 nach 3,1 nach 3,2
  • 0,0 nach 0,1 nach 1,1 nach 2,1 nach 2,2 nach 3,2
  • 0,0 nach 0,1 nach 2,0 nach 2,1 nach 3,1 nach 3,2
  • 0,0 nach 1,0 nach 1,1 nach 1,2 nach 2,2 nach 3,2
  • 0,0 nach 1,0 nach 1,1 nach 2,1 nach 2,2 nach 3,2
  • 0,0 nach 1,0 nach 1,1 nach 2,1 nach 3,1 nach 3,2
  • 0,0 nach 1,0 nach 2,0 nach 2,1 nach 2,2 nach 3,2
  • 0,0 nach 1,0 nach 2,0 nach 2,1 nach 3,1 nach 3,2
  • 0,0 nach 1,0 nach 2,0 nach 3,0 nach 3,1 nach 3,2
  • Das läßt sich grafisch darstellen durch Zeigen der durchsuchten Teilmenge des Netzwerks, wenn diese Kopfzeile benutzt wird. In Fig. 4 ist der Quellknoten mit einen "S" 400 bezeichnet und der Zielknoten ist mit einem "D" 401 bezeichnet. Alle anderen gezeigten Knoten 402 werden während der Suche angesteuert (falls keine nichtbetriebsbereiten Verbindungsglieder vorkommen).
  • Falls eines oder mehrere der Verbindungsglieder im Netz besetzt oder nicht betriebsbereit sind, erreichen die Daten, die diese Verbindungsglieder enthaltende Pfade entlang laufen, ihre Ziel nicht. Ein großes Suchmuster wird benutzt, um die Wahrscheinlichkeit zu erhöhen, daß wenigstens ein durchsuchter Pfad zu seinem Ziel durchkommt. Wenn keiner der Pfade das Ziel erreicht, wird ein LINK-CLOSE Befehl ohne einen ACKNOWLEDGE Befehl an den Quellknoten zurückgegeben. In diesem Fall muß der Quellknoten versuchen, die Meldung noch einmal durchzugeben.
  • Während einer Suche laufen mehrere Datenströme, die der gleichen Meldung entsprechen, gleichzeitig an Zwischenknoten und am Zielknoten zusammen. Wenn zwei Ströme am gleichen Knoten ankommen, schicken zwei Empfänger Anwahlmasken an den Kreuzschienenschalter und verlangen den gleichen Sendersatz. Jetzt ist der Kreuzschienenschalter gehalten, unter seinen verschiedenen Eingängen zu wählen, damit garantiert ist, daß jeder Sender nur mit einem einzigen Ausgang verbunden wird. Empfänger, die nicht angeschlossen werden, werden unterrichtet, daß sie mit keinem Sender verbunden sind, und senden daher LINK-CLOSE Befehle zurück.
  • Der Leitwegmechanismus durchsucht das Netzwerk unter Verwendung des in der Kopfzeile spezifizierten Musters. Keine Kopfzeile ist ungültig. Beim oben beschriebenen Wechseln des Kopfzeilen-Grundmusters kann die Anzahl der zu durchsuchenden Pfade wunschgemäß erhöht oder vermindert werden.
  • Zum Beispiel kann durch Verwenden so vieler Bytes als es insgesamt Bewegungen zum Ziel gibt (plus eins) und durch Setzen nur eines Bits in der Kopfzeile ein einziger Pfad spezifiziert werden. Siehe in Fig. 5 die Kopfzeile 500 zwecks Leitwegbestimmung von (0,0) 501 nach (1,2) 502 und das sich ergebende Suchmuster.
  • Das Suchmuster kann verengt werden für Meldungen, die durch viele Knoten geschickt werden, durch Einfügen von extra Null- Bits mitten in den Spalten der Kopfzeile 600. Ein Beispiel dafür wird in Fig. 6 gezeigt. Hier beachte man, daß jede Zeile außer der letzten Nicht-Null sein muß.
  • Durch Einschließen redundanter Bewegungen (positiv und negativ in der gleichen Bewegung) ist es möglich, das Suchmuster zu erweitern, so daß es alternative Leitwege einschließt, wie in Fig. 7 bei 700, und Fig. 8 bei 800 gezeigt wird.
  • Die beiden nachfolgenden Beispiele erweitern einen eindimensionalen Pfad zu einer zweidimensionalen Suche. In beiden Fällen benutzt der Suchmechanismus den direkten Pfad, falls dieser zur Verfügung steht, weil dieser als erster gefunden wird. Die Verknüpfungsfähigkeit kann auf unterschiedliche Weise erweitert werden. Der einfachste Weg zur Erweiterung der Verknüpfungsfähigkeit ist die Anwendung der vorliegenden Erfindung in einem Netzwerk mit mehr als zwei Dimensionen. Zwecks Erhöhung der Anzahl der Dimensionen wird der Leitwegmechanismus in jedem Knoten erweitert durch Hinzufügen zusätzlicher Empfänger und Sender. Das Folgende ist z.B. eine Zusammenstellung der Veränderungen, die zur Erweiterung der obigen Muster auf ein vierdimensionales Torus-Netzwerk erforderlich sind:
  • 1. Je Knoten werden vier Verbindungsglieder hinzugefügt (Y+, Y-, Z+ und Z-);
  • 2. die Anzahl der Empfänger wird auf acht erhöht;
  • 3. die Anzahl der Sender wird auf acht erhöht;
  • 4. der Kreuzschienenschalter wird auf neun Ports vergrößert;
  • 5. alle acht Bits jedes Kopfzeilen-Byte werden jetzt benutzt; und
  • 6. die Liste der unterdrückten Kopfzeilenwerte (siehe SEARCHING Zustand) wird auf sechzehn erhöht.
  • Eine weitere Möglichkeit zur Erweiterung der Verknüpfungsfähigkeit ist das Vergrößern der Anzahl der Injektoren und Extraktoren in jedem Knoten. Das Vergrößern der Anzahl Injektoren erfordert nur, daß die Breite des Kreuzschienenschalters vergrößert wird. Multiple Injektoren bedeuten, daß die Knoten gleichzeitig mehrfache Meldungen senden können.
  • Das Vergrößerung der Anzahl der Extraktoren läßt es zu, daß jeder Knoten eine Anzahl gesondert adressierbarer Ports aufweist. Zum Vergrößern der Anzahl Extraktoren wird die Breite des Kreuzschienenschalters erweitert. Zum Adressieren der zusätzlichen Extraktoren wird einer der normalerweise unterdrückten Kopfzeilenwerte benutzt (z.B. 0011). Die folgende Liste ist ein Beispiel der erforderlichen Anderungen zum Hinzufügen eines zweiten Injektor/Extraktor-Paars zu einem zweidimensionalen Netzwerk.
  • 1. Ein zusätzlicher Injektor wird hinzugefügt.
  • 2. Ein zusätzlicher Extraktor wird hinzugefügt.
  • 3. Die Breite des Kreuzschienenschalters wird um Eins vergrößert.
  • 4. Der Kopfzeilenwert 0011 wird benutzt, um den zweiten Extraktor anzuwählen. Wenn der Kreuzschienenschalter eine Anwahlmaske 0011 vorgelegt erhält, verbindet er nicht den Empfänger mit den Sendern W+ und W-, sondern der Empfänger wird nur mit dem zweiten Extraktor verbunden.
  • 5. Wenn ein Sender im SEARCHING Zustand ist und das eben bei ihm eingegangenen Byte 0011 ist, muß er die folgenden Schritte durchführen anstatt der sonst üblichen:
  • a. Wenn das WORK Register NICHT 0000, 0011, 1100 oder 1111 ist, dann sende diesen Wert über das Verbindungsglied zum nächsten Knoten;
  • b. speichere das eben erhaltene Byte (0011) im WORK Register;
  • c. schalte zum DELAYED Zustand um; und
  • d. verwerfe das eben erhaltene Byte.
  • Externe Verbindungen zum Leitwegsystem können hergestellt werden durch Benutzen eines zusätzlichen Injektor/Extraktor- Paars. Zu diesem Zweck werden ein zusätzlicher Injektor und Extraktor als Empfänger und Sender für ein zusätzliches bidirektionales Verbindungsglied eingesetzt. Dieses "Externe Verbindungsglied" wird dann mit einem externen System, wie z.B. ein Terminal oder ein Durchgang zu einem Weitbereichsnetz, verbunden. Nach Herstellung der Verbindung mit dem Netzwerk, das ein externes Verbindungsglied benutzt, kann das externe System Meldungen zu jedem Knoten im System senden und empfangen, unabhängig davon, mit welchem Knoten-Leitwegsystem es direkt verbunden ist.
  • Ein weiterer Einsatz eines externen Verbindungsglieds ist der Zusammenschluß zweier obiger Systeme. Durch Verbinden des Injektor/Extraktor-Paars eines Knotens in einem System mit dem Injektor/Extraktor-Paars eines Knotens in einem anderen System können Meldungen von einem beliebigen Knoten des einen Systems zu einem beliebigen Knoten des anderen Systems geschickt werden. Die Kopfzeilen zum Leiten der Meldungen zwischen den Systemen bestehen aus den folgenden Teilen:
  • 1. Eine Kopfzeile, die zum Knoten mit dem externen Verbindungsglied leitet;
  • 2. ein Byte 0011 zum Durchqueren des externen Verbindungsglieds;
  • 3. eine Kopfzeile, die zum Zielknoten leitet, ausgehend vom Knoten mit dem externen Verbindungsglied im zweiten System; und
  • 4. ein Byte 0000 zum Leiten in den Zielknoten.
  • Die Technologie zum Implementieren der Zwischenknoten-Verbindungsglieder kann unterschiedlich sein. Die Erfindung setzt nur voraus, daß die Verbindungsglieder eine bidirektionale Kommunikation ermöglichen und in etwa mit der gleichen Geschwindigkeit laufen. Zum Beispiel könnten die Verbindungsglieder aus einem ein Byte breiten Parallelbus mit Steuergliedern zwischen den Knoten bestehen. Eine andere mögliche Implementierung ist ein Paar serieller Verbindungen, jeweils eine in jeder Richtung. Die Verbindungsglieder können eine ganze Reihe verschiedenartiger Protokolle benutzen und eine Vielzahl von Fehlerberichtigungseinrichtungen aufweisen.

Claims (15)

1. Gerät zum Führen eines Nachrichtenblocks zwischen einem Quellknoten und einem Zielknoten eines Knotennetzwerks regulärer Topologie, wobei der Quellknoten eine Datentransaktion aufbaut, die einen Nachrichtenblock und eine Kopfzeile enthält, wobei die Kopfzeile Bitgruppen beinhaltet, die Pfade durch das Knotennetzwerk definieren, wobei mindestens ein Knoten in einem der Pfade beinhaltet:
Schaltermittel (350);
eine Vielzahl von Ausgabeverbindungssendern (320), wobei jeder der Ausgabeverbindungssender mit einem nachfolgenden Knoten verbunden ist;
eine Vielzahl von Eingabeverbindungsempfängern (300), wobei jeder der Eingabeverbindungsempfänger mit einem vorangehenden Knoten verbunden ist und auf eine empfangene Bitgruppe einer Kopfzeile anspricht, um mehrfache nebenläufige Verbindungen über die Schaltermittel zu Ausgabeverbindungssendern innerhalb des einen Knotens herzustellen und zum Kopieren der Kopfzeile in jedem der angeschlossenen Ausgabeverbindungssender; und
Mittel und Modifizieren jeder kopierten Kopfzeile zum Definieren der Knotennetzwerkpfade zum Zielknoten von nachfolgenden Knoten aus, die mit einem der Ausgabeverbindungssender verbunden sind, in die die Kopfzeile kopiert wurde, wobei jeder der Ausgabeverbindungssender seine veränderte Kopfzeile und den nzchrichtenblock an den nachfolgenden Knoten sendet, mit dem einer der Ausgabeverbindungssender verbunden ist.
2. Gerät gemäß Anspruch 1, in dem die Kopfzeile mindestens eine Bitposition aufweist, die jedem Ausgabeverbindungssender in dem einen Knoten entspricht, wobei das Schaltermittel auf einen von einem der Eingabeverbindungsempfänger übermittelten Binärwert der Bitposition in der Kopfzeile anspricht, um die Verbindung zwischen dem entsprechenden Ausgabeverbindungssender und dem Empfänger herzustellen.
3. Gerät gemäß Anspruch 1 oder Anspruch 2, in dem einer der Eingabeverbindungsempfänger eine der Verbindungen zu einem entsprechenden Ausgabeverbindungssender herstellt, falls nicht der entsprechende Ausgabeverbindungssender Besetzt- oder Nichtbetriebsbereit-Signale sendet, um einen Nichtbereitzustand anzuzeigen, und falls so, als Reaktion auf das Besetzt- oder Nichtbetriebsbereit-Signal an den vorhangenden Knoten ein Verbindungs-Ende-Signal sendet.
4. Gerät gemäß einem beliebigen vorstehenden Anspruch, in dem die Kopfzeile eine Vielzahl von Bitgruppen enthält, wobei jeder Bitposition in einer Bitgruppe ein Netzwerkpfad entlang einer vorgegebenen Dimension im Netzwerk entspricht und wobei identische Bitpositionen in jeder Bitgruppe Netzwerkpfadrichtungen entlang einer identischen vordefinierten Dimension entsprechen.
5. Gerät gemäß einem beliebigen vorstehenden Anspruch, in dem das Mittel zum Modifizieren in jedem der Ausgabeverbindungssender resident ist.
6. Gerät gemäß Anspruch 5, in dem jedes Mittel zum Modifizieren eine erste Bitgruppe der Kopfzeile verändert, um Netzwerkpfade von einen der nachfolgenden Knoten aus anzuzeigen, der mit dem Zielknoten kommuniziert, und dann zusätzliche Bitgruppen in der Kopfzeile verändert, um Netzwerkpfade von zusätzlichen nachfolgenden Knoten aus anzuzeigen, die mit dem Zielknoten kommunizieren, wobei jeder der Ausgabeverbindungssender zuerst die ersten geänderten Bitgruppen der Kopfzeile an einen verbundenen nachfolgenden Knoten sendet.
7. Gerät gemäß einem beliebigen vorstehenden Anspruch, in dem der Nachrichtenblock von einem Nachrichtenblock-Ende- Befehl begleitet ist, der den Nachrichtenblock beendet, wobei der Nachrichtenblock eine variable Länge von Null oder mehr Bytes aufweist.
8. Gerät gemäß einem beliebigen vorstehenden Anspruch, in dem der Eingabeverbindungsempfänger in dem einen Knoten bei Eingang eines Nachrichtenblock-Ende-Befehls einen Bestätigungsbefehl an den vorangehenden Knoten sendet, der von einem Verbindungs-Ende-Befehl gefolgt wird.
9. Ein Verfahren zum Leiten eines Nachrichtenblocks zwischen einem Quellknoten und einem Zielknoten eines Knotennetzwerks regulärer Topologie, wobei der Quellknoten eine Datentransaktion aufbaut, die einen Nachrichtenblock und eine Kopfzeile enthält, wobei die Kopfzeile Bitgruppen beinhaltet, die Pfade durch das Knotennetzwerk definieren, wobei mindestens ein Knoten in einem der Pfade die folgenden Schritte ausführt:
(a) Benutzen einer der Bitgruppen der Kopfzeile, um multiple Verbindungen von einem Eingabeverbindungsempfänger zu Ausgabeverbindungssendern innerhalb dieses einen Knotens herzustellen, wobei jeder der Ausgabeverbindungssender mit einem nachfolgenden Knoten verbunden wird und der Eingabeverbindungsempfänger mit einem vorangehenden Knoten verbunden ist;
(b) Kopieren der Kopfzeile aus dem Eingabeverbindungsempfänger in jeden der Ausgabeverbindungssender;
(c) Modifizieren jeder kopierten Kopfzeile, so daß die kopierte Kopfzeile Netzwerkpfade zum Zielknoten von nachfolgenden Knoten aus definiert, die mit einem der angeschlossenen Ausgabeverbindungssender verbunden sind, in den die Kopfzeile kopiert wurde; und
(d) Senden der modifizierten Kopfzeilen und des Nachrichtenblocks an die nachfolgenden Knoten.
10. Das Verfahren gemäß Anspruch 9, wobei in Schritt (a) der Kopfzeilenteil wenigstens eine Bitposition beinhaltet, die jedem Ausgabeverbindungssender in diesem einen Knoten entspricht, wobei das Verfahren die folgenden weiteren Schritte beinhaltet:
Ansprechen auf einen Bitgruppenzustand zum Herstellen der Verbindung mit einem entsprechenden Ausgabeverbindungssender, abgesehen davon, wenn dieser entsprechende Ausgabeverbindungssender Besetzt- oder Nichtbetriebsbereit- Signale sendet, um anzuzeigen, daß er sich in einem Nichtbetriebsbereit-Zustand befindet; und
Senden eines Verbindungs-Ende-Signals an den vorangehenden Knoten als Reaktion auf das Senden eines Besetztoder Nichtbetriebsbereit-Signals.
11. Das Verfahren gemäß Anspruch 10, in dem die Kopfzeile eine Vielzahl von Bitgruppen aufweist, wobei jede Bitposition in einer Bitgruppe einem Netzwerkpfad entlang einer vordefinierten Dimension im Netzwerk entspricht und identische Bitpositionen in jeder Bitgruppe jeweils Netzwerkpfadrichtungen entlang einer identischen vordefinierten Dimension entsprechen.
12. Das Verfahren gemäß einem beliebigen der Ansprüche 9 - 11, in dem der Nachrichtenblock von einem Nachrichtenblock-Ende-Befehl begleitet wird, der diesen Nachrichtenblock beendet, wobei der Nachrichtenblock eine variable Länge von Null oder mehr Bytes aufweist.
13. Das Verfahren gemäß Anspruch 12, in dem der eine Knoten bei Eingang eines Nachrichtenblock-Ende-Befehls die folgenden Schritte durchführt:
Senden eines Bestätigungsbefehls an den vorangehenden Knoten, gefolgt von einem Verbindungs-Ende-Befehl.
14. Das Verfahren gemäß einem beliebigen der Ansprüche 9 - 13, das ferner folgende Schritte beinhaltet:
anstatt gemäß Schritt (a) eine Verbindung zu einem der Ausgabeverbindungssender herzustellen, Senden eines Verbindungs-Ende-Signals zum vorangehenden Knoten, wenn der eine Ausgabeverbindungssender besetzt oder nicht betriebsbereit signalisiert.
15. Das Verfahren gemäß Anspruch 14, enthaltend zwischen den Schritten (c) und (d) die folgenden zusätzlichen Schritte: Modifizieren einer ersten Bitgruppe der Kopfzeile, um Netzwerkpfade von einem der nachfolgenden Knoten aus, die mit dem Zielknoten kommunizieren, anzuzeigen und dann Modifizieren zusätzlicher Bitgruppen in der Kopfzeile, um Netzwerkpfade von zusätzlichen nachgeschalteten Knoten aus anzuzeigen, die mit dem Zielknoten kommunizieren.
DE69029766T 1989-07-27 1990-06-14 Adaptive Leitweglenkung in Netzwerken Expired - Fee Related DE69029766T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US07/386,521 US5181017A (en) 1989-07-27 1989-07-27 Adaptive routing in a parallel computing system

Publications (2)

Publication Number Publication Date
DE69029766D1 DE69029766D1 (de) 1997-03-06
DE69029766T2 true DE69029766T2 (de) 1997-07-17

Family

ID=23525932

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69029766T Expired - Fee Related DE69029766T2 (de) 1989-07-27 1990-06-14 Adaptive Leitweglenkung in Netzwerken

Country Status (11)

Country Link
US (1) US5181017A (de)
EP (1) EP0410568B1 (de)
JP (1) JP2505060B2 (de)
KR (1) KR930004910B1 (de)
CN (1) CN1020533C (de)
AR (1) AR245303A1 (de)
AU (1) AU622815B2 (de)
BR (1) BR9003630A (de)
CA (1) CA2015968C (de)
DE (1) DE69029766T2 (de)
PE (1) PE10891A1 (de)

Families Citing this family (81)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0509058A4 (en) * 1990-01-05 1993-11-18 Maspar Computer Corporation Router chip with quad-crossbar and hyperbar personalities
AU630299B2 (en) * 1990-07-10 1992-10-22 Fujitsu Limited A data gathering/scattering system in a parallel computer
US5708836A (en) * 1990-11-13 1998-01-13 International Business Machines Corporation SIMD/MIMD inter-processor communication
US5630162A (en) 1990-11-13 1997-05-13 International Business Machines Corporation Array processor dotted communication network based on H-DOTs
US5734921A (en) 1990-11-13 1998-03-31 International Business Machines Corporation Advanced parallel array processor computer package
US5963745A (en) 1990-11-13 1999-10-05 International Business Machines Corporation APAP I/O programmable router
US5765012A (en) 1990-11-13 1998-06-09 International Business Machines Corporation Controller for a SIMD/MIMD array having an instruction sequencer utilizing a canned routine library
US5765011A (en) 1990-11-13 1998-06-09 International Business Machines Corporation Parallel processing system having a synchronous SIMD processing with processing elements emulating SIMD operation using individual instruction streams
US5815723A (en) 1990-11-13 1998-09-29 International Business Machines Corporation Picket autonomy on a SIMD machine
US5625836A (en) 1990-11-13 1997-04-29 International Business Machines Corporation SIMD/MIMD processing memory element (PME)
US5966528A (en) 1990-11-13 1999-10-12 International Business Machines Corporation SIMD/MIMD array processor with vector processing
EP0485690B1 (de) 1990-11-13 1999-05-26 International Business Machines Corporation Paralleles Assoziativprozessor-System
US5828894A (en) 1990-11-13 1998-10-27 International Business Machines Corporation Array processor having grouping of SIMD pickets
US5590345A (en) * 1990-11-13 1996-12-31 International Business Machines Corporation Advanced parallel array processor(APAP)
US5588152A (en) 1990-11-13 1996-12-24 International Business Machines Corporation Advanced parallel processor including advanced support hardware
US5794059A (en) 1990-11-13 1998-08-11 International Business Machines Corporation N-dimensional modified hypercube
US5765015A (en) 1990-11-13 1998-06-09 International Business Machines Corporation Slide network for an array processor
US5617577A (en) 1990-11-13 1997-04-01 International Business Machines Corporation Advanced parallel array processor I/O connection
US5809292A (en) 1990-11-13 1998-09-15 International Business Machines Corporation Floating point for simid array machine
US5963746A (en) 1990-11-13 1999-10-05 International Business Machines Corporation Fully distributed processing memory element
IE920032A1 (en) * 1991-01-11 1992-07-15 Marconi Gec Ltd Parallel processing apparatus
US5471623A (en) * 1991-02-26 1995-11-28 Napolitano, Jr.; Leonard M. Lambda network having 2m-1 nodes in each of m stages with each node coupled to four other nodes for bidirectional routing of data packets between nodes
US5825773A (en) * 1991-03-20 1998-10-20 Hitachi, Ltd. Switching system for transferring broadcast packet held in broadcast buffer received from input port to output ports according to the state of each output port
US5408646A (en) * 1991-03-29 1995-04-18 International Business Machines Corp. Multipath torus switching apparatus
US5426427A (en) * 1991-04-04 1995-06-20 Compuserve Incorporated Data transmission routing system
US5594918A (en) 1991-05-13 1997-01-14 International Business Machines Corporation Parallel computer system providing multi-ported intelligent memory
US5689719A (en) * 1991-06-28 1997-11-18 Sanyo Electric O., Ltd. Parallel computer system including processing elements
JP3679813B2 (ja) * 1991-07-22 2005-08-03 株式会社日立製作所 並列計算機
JPH0752437B2 (ja) * 1991-08-07 1995-06-05 インターナショナル・ビジネス・マシーンズ・コーポレイション メッセージの進行を追跡する複数ノード・ネットワーク
US5715391A (en) * 1991-11-15 1998-02-03 International Business Machines Corporation Modular and infinitely extendable three dimensional torus packaging scheme for parallel processing
JP2642039B2 (ja) 1992-05-22 1997-08-20 インターナショナル・ビジネス・マシーンズ・コーポレイション アレイ・プロセッサ
US5758053A (en) * 1992-07-22 1998-05-26 Hitachi, Ltd. Fault handling and recovery for system having plural processors
JP3287901B2 (ja) * 1993-03-12 2002-06-04 シャープ株式会社 データ駆動型情報処理システムにおける識別データ確認方法
US5598568A (en) * 1993-05-06 1997-01-28 Mercury Computer Systems, Inc. Multicomputer memory access architecture
US5463486A (en) * 1993-08-23 1995-10-31 Unisys Corporation Self-routing multi-stage photonic interconnect
US5371621A (en) * 1993-08-23 1994-12-06 Unisys Corporation Self-routing multi-stage photonic interconnect
JP3237736B2 (ja) * 1993-09-07 2001-12-10 ヒュンダイ エレクトロニクス アメリカ データ記憶装置のマトリックス構造
US5471589A (en) * 1993-09-08 1995-11-28 Unisys Corporation Multiprocessor data processing system having nonsymmetrical channel(x) to channel(y) interconnections
JPH07143140A (ja) * 1993-11-15 1995-06-02 Fujitsu Ltd ユニバーサル・リンク・コンフィギュレータ
US5528762A (en) * 1993-12-27 1996-06-18 Intel Corporation Self-timed data streaming receiver and transmitter having reduced latency and increased data streaming capability
JP3389315B2 (ja) * 1994-03-18 2003-03-24 富士通株式会社 コネクションレス通信におけるメッセージ転送方法及び装置
US5768539A (en) * 1994-05-27 1998-06-16 Bell Atlantic Network Services, Inc. Downloading applications software through a broadcast channel
JP3172387B2 (ja) * 1994-06-01 2001-06-04 インターナショナル・ビジネス・マシーンズ・コーポレ−ション 入出力通信サブシステム及び方法
US5793964A (en) * 1995-06-07 1998-08-11 International Business Machines Corporation Web browser system
US5774067A (en) * 1995-06-07 1998-06-30 International Business Machines Corporation Flash-flooding multi-stage interconnection network with parallel path seeking switching elements
US5721908A (en) * 1995-06-07 1998-02-24 International Business Machines Corporation Computer network for WWW server data access over internet
US5745754A (en) * 1995-06-07 1998-04-28 International Business Machines Corporation Sub-agent for fulfilling requests of a web browser using an intelligent agent and providing a report
US5710918A (en) * 1995-06-07 1998-01-20 International Business Machines Corporation Method for distributed task fulfillment of web browser requests
US5701451A (en) * 1995-06-07 1997-12-23 International Business Machines Corporation Method for fulfilling requests of a web browser
US5835024A (en) * 1995-06-07 1998-11-10 International Business Machines Corporation Multi-stage interconnection network with selectable function switching apparatus
US5752246A (en) * 1995-06-07 1998-05-12 International Business Machines Corporation Service agent for fulfilling requests of a web browser
US5996020A (en) 1995-07-21 1999-11-30 National Security Agency Multiple level minimum logic network
AU768042B2 (en) * 1995-07-21 2003-11-27 Coke S. Reed Multiple level minimum logic network
JPH0962741A (ja) * 1995-08-25 1997-03-07 Casio Comput Co Ltd データ通信システムにおけるデータ処理方法
KR0170493B1 (ko) * 1995-12-08 1999-03-30 양승택 다중 프로세서 시스템을 위한 논블록킹 결함허용 감마 연결망
US6289021B1 (en) 1997-01-24 2001-09-11 Interactic Holdings, Llc Scaleable low-latency switch for usage in an interconnect structure
US6122277A (en) * 1997-08-19 2000-09-19 International Business Machines Corporation Parallel computer network broadcasting and acknowledgement
KR100250437B1 (ko) 1997-12-26 2000-04-01 정선종 라운드로빈 중재 및 적응 경로 제어를 수행하는경로제어 장치
US6717942B1 (en) * 1998-06-25 2004-04-06 Avici Systems, Inc. Space-efficient source routing
US6687754B1 (en) * 1998-08-27 2004-02-03 Intel Corporation Method of detecting a device in a network
DE10001874A1 (de) * 2000-01-18 2001-07-19 Infineon Technologies Ag Multi-Master-Bus-System
US20020029287A1 (en) * 2000-02-02 2002-03-07 Yechiam Yemini Method and apparatus for dynamically addressing a circuits based network
US7047196B2 (en) * 2000-06-08 2006-05-16 Agiletv Corporation System and method of voice recognition near a wireline node of a network supporting cable television and/or video delivery
US7246111B1 (en) * 2000-06-30 2007-07-17 Ncr Corporation Capturing database system information
AU2001296628A1 (en) 2000-09-27 2002-04-08 Hrl Laboratories, Llc Method and apparatus for providing directed communications through a networked array of nodes
US20020040391A1 (en) * 2000-10-04 2002-04-04 David Chaiken Server farm formed of systems on a chip
US20040158663A1 (en) * 2000-12-21 2004-08-12 Nir Peleg Interconnect topology for a scalable distributed computer system
US7072976B2 (en) * 2001-01-04 2006-07-04 Sun Microsystems, Inc. Scalable routing scheme for a multi-path interconnection fabric
KR100620835B1 (ko) * 2001-02-24 2006-09-13 인터내셔널 비지네스 머신즈 코포레이션 최적화된 가변 네트워크 스위치
JP3508857B2 (ja) * 2001-07-31 2004-03-22 日本電気株式会社 ノード間データ転送方法およびデータ転送装置
AU2003244925A1 (en) * 2002-07-25 2004-02-16 Koninklijke Philips Electronics N.V. System and method for data routing
US7461166B2 (en) * 2003-02-21 2008-12-02 International Business Machines Corporation Autonomic service routing using observed resource requirement for self-optimization
US7376859B2 (en) * 2003-10-20 2008-05-20 International Business Machines Corporation Method, system, and article of manufacture for data replication
US20060227774A1 (en) * 2005-04-06 2006-10-12 International Business Machines Corporation Collective network routing
US8526463B2 (en) 2005-06-01 2013-09-03 Qualcomm Incorporated System and method to support data applications in a multi-homing, multi-mode communication device
GB0524126D0 (en) * 2005-11-26 2006-01-04 Cogniscience Ltd Data transmission method
US9244793B1 (en) 2008-11-04 2016-01-26 Teradata Us, Inc. Using target database system statistics in emulation
US20110093540A1 (en) * 2009-09-30 2011-04-21 Bae Systems Information And Electronic Systems Integration Inc. Method and system for communications using cooperative helper nodes
US9426067B2 (en) 2012-06-12 2016-08-23 International Business Machines Corporation Integrated switch for dynamic orchestration of traffic
JP2016038649A (ja) * 2014-08-06 2016-03-22 富士通株式会社 並列計算機システム及び並列計算機システムの制御方法
JPWO2020166378A1 (ja) * 2019-02-15 2021-12-09 ソニーセミコンダクタソリューションズ株式会社 通信装置および通信方法、並びにプログラム

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS56111931A (en) * 1980-02-07 1981-09-04 Nippon Telegr & Teleph Corp <Ntt> Data transfer device
US4399531A (en) * 1980-09-29 1983-08-16 Rockwell International Corporation Distributed digital data communications network
EP0221360B1 (de) * 1985-11-04 1992-12-30 International Business Machines Corporation Digitale Nachrichtenübertragungsnetzwerke und Aufbau von Übertragungswegen in diesen Netzwerken
US4679189A (en) * 1985-11-27 1987-07-07 American Telephone And Telegraph Company Alternate routing arrangement
EP0234191B1 (de) * 1986-01-09 1993-12-29 Nec Corporation Paketvermitteltes Fernmeldenetz mit parallelen virtuellen Verbindungen zur Umweglenkung von Nachrichtenpaketen
US4872197A (en) * 1986-10-02 1989-10-03 Dti Peripherals, Inc. Dynamically configurable communications network
US4942517A (en) * 1987-10-08 1990-07-17 Eastman Kodak Company Enhanced input/output architecture for toroidally-connected distributed-memory parallel computers
JP3072646B2 (ja) * 1989-03-20 2000-07-31 富士通株式会社 並列計算機間通信制御方式

Also Published As

Publication number Publication date
EP0410568A3 (en) 1993-03-03
KR910003969A (ko) 1991-02-28
DE69029766D1 (de) 1997-03-06
EP0410568B1 (de) 1997-01-22
CA2015968C (en) 1995-12-19
KR930004910B1 (ko) 1993-06-10
AU5786390A (en) 1991-01-31
CN1049066A (zh) 1991-02-06
AR245303A1 (es) 1993-12-30
JPH0365750A (ja) 1991-03-20
US5181017A (en) 1993-01-19
JP2505060B2 (ja) 1996-06-05
AU622815B2 (en) 1992-04-16
CN1020533C (zh) 1993-05-05
PE10891A1 (es) 1991-03-30
BR9003630A (pt) 1991-08-27
EP0410568A2 (de) 1991-01-30
CA2015968A1 (en) 1991-01-27

Similar Documents

Publication Publication Date Title
DE69029766T2 (de) Adaptive Leitweglenkung in Netzwerken
DE69433126T2 (de) Verfahren zum Einrichten von virtuellen Mehrfachsendeverbindungen
DE3787492T2 (de) Verteilte Sprach-Datenvermittlung in Mehrstufenverbindungsnetzen.
DE69832884T2 (de) Wegesucheinheit mit zuteilung von virtuellen kanälen
DE3687525T2 (de) Paketvermittlungsnetzwerk mit rundsendefaehigkeit.
DE3686254T2 (de) Verbindung von rundsendenetzwerken.
DE68926650T2 (de) Hochgeschwindigkeitspaketvermittlungsknotenentwurf
DE69031368T2 (de) Weglenkung von Nachrichtenpaketen
DE69207822T2 (de) Weglenkung in Kommunikationsnetzwerken
DE3533845C2 (de) Weglenkende Paket-Vermittlungsanlage mit Mehrfachwegen
DE69733107T2 (de) System und verfahren zur dynamischen netzwerk-topologie erforschung
DE69022300T2 (de) Verfahren und Vorrichtung zur Wiederanordnung eines maschenverknüpften lokalen Netzes hoher Geschwindigkeit.
DE3685599T2 (de) Vermittlungssystem fuer datenuebertragung.
DE102005032479B4 (de) Fernsteuerung eines Vermittlungsknotens in einem Stapel von Vermittlungsknoten
DE3838945C2 (de)
DE3786298T2 (de) Verfahren und Schalter zum Vermitteln von Informationen.
DE60030737T2 (de) Hochleistungs-Vermittlungselement und -Vermittlungssystem
DE3850258T2 (de) Nichtblockierendes kopiernetz für mehradresspaketvermittlung.
DE69026494T2 (de) Selbstleitweglenkendes Mehrwege-Vermittlungsnetzwerk zum Vermittlen von Zellen mit asynchroner Zeitvielfachübermittlung
DE69217437T2 (de) WIEDERHOLER FüR DIGITALE DATENNETZWERKE
DE69917555T2 (de) Vermittlungseinrichtung mit mehrstufiger Warteschlangeschema
DE68923619T2 (de) Vermittlungskomponenten und ihre verwendung in einem blockierungsfreien vermittlungsnetzwerk mit mehrfachen datenraten.
DE69021790T2 (de) Mehrstufiges Netz mit verteilter Steuerung.
DE3787600T2 (de) Koppelpunktschaltung für Datenpaketraumvermittlung.
DE69014992T2 (de) Gleichlaufende Mehrstufennetzwerk-Kontrollmethode.

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee