JP2577269B2 - 高速メッシュ接続式ローカルエリアネットワーク - Google Patents

高速メッシュ接続式ローカルエリアネットワーク

Info

Publication number
JP2577269B2
JP2577269B2 JP15742290A JP15742290A JP2577269B2 JP 2577269 B2 JP2577269 B2 JP 2577269B2 JP 15742290 A JP15742290 A JP 15742290A JP 15742290 A JP15742290 A JP 15742290A JP 2577269 B2 JP2577269 B2 JP 2577269B2
Authority
JP
Japan
Prior art keywords
switch
network
link
routing
switch means
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 - Lifetime
Application number
JP15742290A
Other languages
English (en)
Other versions
JPH0332252A (ja
Inventor
ディー シュローダー マイケル
エム ニーダム ロジャー
ピー タッカー チャールズ
ディー ビーラル アンドリュー
エル ローデヘッフェル トーマス
エイチ サッタースウエイト ジュニア エドウィン
ジー マーレイ ジュニア ハーラム
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.)
Digital Equipment Corp
Original Assignee
Digital Equipment 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 Digital Equipment Corp filed Critical Digital Equipment Corp
Publication of JPH0332252A publication Critical patent/JPH0332252A/ja
Application granted granted Critical
Publication of JP2577269B2 publication Critical patent/JP2577269B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/16Multipoint 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/28Routing or path finding of packets in data switching networks using route fault recovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/48Routing tree calculation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/35Switches specially adapted for specific applications
    • H04L49/351Switches specially adapted for specific applications for local area network [LAN], e.g. Ethernet switches
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/44Star or tree networks
    • H04L2012/445Star or tree networks with switching in a hub, e.g. ETHERNET switch
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/10Packet switching elements characterised by the switching fabric construction
    • H04L49/101Packet switching elements characterised by the switching fabric construction using crossbar or matrix
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/20Support for services
    • H04L49/201Multicast operation; Broadcast operation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric
    • H04L49/251Cut-through or wormhole routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3009Header conversion, routing tables or routing tags

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Transition And Organic Metals Composition Catalysts For Addition Polymerization (AREA)
  • Superconductors And Manufacturing Methods Therefor (AREA)

Description

【発明の詳細な説明】 本発明は一般にコンピュータを相互接続するためのコ
ンピュータ通信ネットワークに関し、特に、コンピュー
タ相互間で情報パケットを経路指定するためのメッシュ
接続式ローカルエリアネットワークに関する。
〔従来の技術〕
ローカルエリアネットワーク(LAN)は一般に比較的
近接配置されたコンピュータ相互間でメッセージを伝達
するために用いられている。第1A図、第1B図及び第2図
について説明すると、少なくとも3つの基本型式のLAN
のための組織アーキテクチャ、即ち、線形(第1A図)、
リング形(第1B図)及びメッシュ形(第2図)のアーキ
テクチャがある。例えば、エサーネットはコンピュータ
ワークステーション、メインフレーム及びミニコンピュ
ータを相互接続するために広く用いられている線形LAN
である。
以下の説明のために、線形LANを、ネットワーク上の
全てのホスト(H)によって聞き取られるようにメッセ
ージが同報通信される単一チャネルLANと定義する。但
し、通例は、このメッセージを聞き取ろうとするのはパ
ケットによってアドレス指定されたホストだけである。
本発明は、相互接続された多数のホストコンピュータ
間の信頼性ある高速通信をメッシュ接続式LANが提供す
ることを従来は妨げていた主な問題を解決しようとする
ものである。以下の説明に対し、「メッシュ接続式ネッ
トワーク」とは、任意の形態に接続されたスイッチのネ
ットワークを意味する。
本発明が解決しようとするこの問題の意義を説明する
前に、メッシュ接続式ローカルエリアネットワークと線
形ネットワーク及びリング形ネットワークとの間の差
異、並びにメッシュ接続式ネットワークを敢えて構築し
ようとする動機について考察する。即ち、メッシュ接続
式ネットワークは一般に線形及びリング形のLANよりも
高価且つ複雑なのである。
線形及びリング形LANは、アーキテクチャが簡単であ
り、商業的適用のために要求される問題の大部分に対す
る解決法がよく解っており、信頼性についての定評があ
る。しかし、線形及びリング形LANには少なくとも2つ
の大きな技術上の制限がある。即ち、ホスト(即ち、ワ
ークステーション及び他のコンピュータ)の数、及びか
かるLANを通じて伝送することのできるデータの量が、
いずれも、利用可能なデータ伝送路が唯1つしかないと
いうことによって制限される。線形またはリング形LAN
に付け加えられるホストが多くなるにつれ、単一データ
通路上のトラフィックの量が増し、各ホストがメッセー
ジを送る際に待たなければならない平均時間も増加す
る。結局、十分に多くのホストが単一のLANを共用した
としても、この遅延は許容し難いものとなる。
線形及びリング形LAN上のデータ伝送速度を単に増大
させるだけでは、このネットワーク混雑の問題を完全に
は解決することができない。即ち、かかるネットワーク
における遅延のうちの若干は、メッセージがネットワー
クの長さを通過するのに要する時間の長さに関係するか
らである。即ち、若干の遅延は、データ伝送速度のいか
んにかかわらず、ネットワークの物理的長さに比例する
のである。
例えば、線形LANにおける使用可能最大データ伝送速
度はネットワークの物理的長さに反比例する。その結
果、実用的な線形LANとしては、エサーネットによって
現在使用されている10メガボーの速度よりも余り高いデ
ータ伝送速度を使用することはできない。即ち、相当に
高いデータ速度はネットワークの長さを制限することに
なるからである。更にまた、線形LANには、一度に1つ
のデータパケットしか送れないので、誰(即ち、LANに
おけるどのホスト)が何時もLANを管理しているかとい
うことを決定するための機構がなければならない。光速
によって加えられる信号速度の制限について簡単に考え
ると、線形LANの長さはかなり(例えば数キロメートル
に)制限されることになり、そして、ネットワークの性
能は、LANの制御に対するコンテンションのため、LANに
付け加えられるホストが多くなるほど劣化することにな
る。
リング形LANは任意の高いデータ速度で実行すること
が可能であるが、リング形LANは高い待ち時間、即ち、
メッセージの伝送と受信との間の遅延の影響を受けるの
であり、この遅延は、ネットワークの長さ及び通過すべ
きノードの数に比例する。リング形LANはまた余りフォ
ールトトレラントではなく、またその構成について非常
に制限される。
〔発明が解決しようとする課題〕
線形及びリング形のLANについての前述の問題は、今
まではその有用性を過度に阻害するものではなかった
が、数百のホストを持っているLAN、及び1秒当たり100
メガビットの範囲にあるデータ伝送速度に対する要求が
高まるにつれ、これは現存の線形及びリング形LANの能
力を越えることになってきている。
メッシュ接続式LANを使用することの主な利点は多数
の並列通信路が使用可能となるということである。これ
により、ネットワークホストの相異なる対間のメッセー
ジの同時伝送が可能となる。即ち、メッシュ接続式ネッ
トワークは、ネットワークのスループットがネットワー
クのリンクのスループット制限によって制限されるとい
うことがないので、類似の線形またはリング形のネット
ワークよりも遥かに高い帯域幅を得ることができる。
リング形LANに対するメッシュ接続式ネットワークの
他の利点は、メッシュ式ネットワークの待ち時間が比較
的低くなるということである。待ち時間は、メッセージ
パケットを受信及び再伝送しなければならないノードの
数にほぼ比例する。良好に設計されたメッシュ式LANに
おいては、同様数のホストを有するリング形LANに比
べ、ホストのうちの選択された全ての対間のノードの数
が比較的少なくなる。
メッシュ接続式ネットワークの更に他の利点は、良好
に設計されたメッシュ接続式ネットワークにおいては、
ホストのうちの選択された全ての対間にいくつかの可能
性ある通信路が提供され、これにより、ホストがメッセ
ージを伝送する前に平均として待たなければならない時
間が減少するということである。換言すれば、多くのホ
ストがネットワークを同時に使用することができるの
で、ネットワークの使用のためのコンテンションが大幅
に低減するのである。
従来、メッシュ式ネットワークはコンピュータ科学文
献及び若干の特許明細書において説明されているが、メ
ッシュ式ネットワークは、いくつかの周知且つ処理困難
な問題のため、商業的成功を得るに至ってなかった。特
に、最も困難な問題として、(1)デッドロック、
(2)同報通信メッセージの取扱、(3)ネットワーク
構成部材が故障した場合にネットワークをどのように再
構成するかということ、及び(4)ネットワークを通る
メッセージの経路指定を、このネットワークのスループ
ットが単一リンクのスループットを越えるように、どの
ように編成するかということ、がある。
本発明はメッシュ式ネットワークについての前記従来
の問題を解決することを目的とする。
〔課題を解決するための手段〕
概略説明すると、本発明は高速メッシュ接続式ネット
ワークに関するものであり、このネットワークはホスト
間帯域幅が高く、ホスト間待ち時間が低く、集合体帯域
幅が高い。このメッシュ接続式ネットワークは相互接続
された複数のスイッチから成っており、これらスイッチ
は、ローカルネットワークの構成要素であるホストに順
々に接続されている。これらスイッチはカットスルー
(cutthrough)非ブロック化スイッチであり、複数の二
点間リンクによって互いに及びホストに接続されてい
る。
前記スイッチはスパニングツリーとして編成され、一
つのスイッチはこのツリーの根ノードと呼ばれる。後述
するノード整列規則を用い、全てのスイッチは、このス
イッチが根ノードにどのように「近い」かということの
見地から整列させられる。
ネットワーク内の全てのリンクは、一つの方向では
「アップ」リンクと呼ばれ、他の方向では「ダウン」リ
ンクと呼ばれる。アップ方向とは、リンクの一端部にあ
るスイッチがリンクの他端部にあるスイッチよりも根に
近いという方向である。
また、各スイッチは、受信したメッセージパケットを
その目標ホストの法へ自動的に経路指定するための経路
指定機構を有す。詳述すると、本発明における経路指定
機構は、複数のパケットをネットワークを通って同時に
経路指定することを可能にし、そして、全てのメッセー
ジパケットが1つまたは複数のアップリンクの順序に従
い、その後に1つまたは複数のダウンリンクが続くとい
うことを確実にすることによりデッドロックを防止す
る。単一のダウンリンクであるにしても、メッセージパ
ケットがダウン方向に経路指定された後に通過させられ
るアップリンクはない。
多数のデータパケットをネットワークを通して同時に
経路指定することにより、高い集合体帯域幅が得られ
る。一部は、パケットの再伝送(即ち、前送り)をこれ
らパケットの終わりの受信よりも十分に前に開始するス
イッチを設けることにより、低い待ち時間が得られる。
これはカットスルースイッチングとして知られてい
る。。
パケットバッファリング機構により、ノードの枯渇が
防止され、同報通信メッセージの経路指定が可能にな
る。また、本発明におけるフロー制御及びデータバッフ
ァリングにより、相隣るスイッチ間の全ての不整合が補
償される。
本発明においては、メッシュ接続式ネットワークの商
業的適用を従来妨げておった問題を克服するいくつかの
自己管理特徴がある。ネットワーク内のスイッチは、ス
イッチ及びリンクの追加及びネットワーク構成部材の取
り外しまたは故障のようなネットワークの構成の全ての
変化を自動的に検出する。ネットワーク構成の変化が検
出されると、全てのスイッチは分散再構成処理に参画
し、ネットワークを通してメッセージパケットを経路指
定するための全ての合法的通路を再計算することによっ
てネットワークを自動的且つ迅速に再構成する。この再
構成処理は十分に速く、ネットワークの性能及び動作に
与える影響は最小限となる。
この再構成処理の重要な態様として、スパニングツリ
ーの根の自動識別及び分散再構成処理の完了についての
自動検出がある。
本発明の他の目的及び特徴は以下に図面を参照して行
う本発明の実施例についての詳細な説明から明らかにな
る。
〔実施例〕
第2図は本発明にかかるメッシュ接続式ローカルエリ
アネットワークの概念を示すものである。但し、本発明
の多くの重要な特徴はこの図には示してない。従来のメ
ッシュ式ネットワークと異なり、本発明のネットワーク
においては、ノードの格別の階層はなく、また、どのよ
うにしてネットワークのノードを相互接続するかについ
ての必要条件もない。本発明のネットワークのノードは
ランダムに相互接続してよく、それでもこのネットワー
クは適正に機能する。但し、よく考えられた様式の相互
接続があれば、何等かの更に良い性能が得られるであろ
う。
第2図において、このネットワークを用いるホストコ
ンピュータを記号Hで示してあり、このローカルエリア
ネットワーク(LAN)を構成するノードをスイッチと呼
び、記号Sで示してある。この概念図においては、16個
のスイッチを用いて約80個のホストを相互接続してい
る。スイッチSはマルチポート形のカットスルー非ブロ
ック化スイッチであり、複数の受信リンクを選択された
種々の発信リンクに同時に接続することができる。これ
らスイッチにより、数多くのデータパケットをネットワ
ークを通して同時に経路指定することができる。
用語 以下の説明を明瞭にするため、用語の定義を次に掲げ
る。
「チャネル」は、次に定義するように、リンクの2分
の1について用いる語である一般に、各チャネルは単方
向通信チャネルであり、データパケットをネットワーク
の2つの構成要素間で伝送する。場合により、チャネル
は、該チャネル内のデータフローの方向を識別するた
め、「アップリンク」または「ダウンリンク」と呼ばれ
る。
「ホスト」は、ネットワークに接続されておってメッ
セージの送信及び受信に用いることのできる任意のコン
ピュータまたはワークステーションである。
「ネットワークの構成要素」または「ネットワーク構
成要素」は、ホストまたはスイッチのいずれかである。
「メッシュ接続式ネットワーク」は、任意の形態に接
続されたスイッチのネットワークである。
「メッセージ」は、ネットワークの一つの構成要素か
ら他の構成要素へ伝送される任意のセットである。後で
詳述するように、大部分のメッセージは一つのホストか
ら他のホストへ送られるが、時としては、ネットワーク
制御メッセージが一つのスイッチから他のスイッチへ送
られる。
「パケット」、「データパケット」及び「メッセージ
パケット」は、全て、ネットワークを通って伝送される
情報の基本ユニットを意味する。基本的には、ネットワ
ークを通って送られる情報の全てのセットは、先ず、1
つまたは複数のパケットに実装される。各パケットは、
パケットの宛先を特定するヘッダ、及び、パケットの終
わりを宣言するテールを含んでいる。即ち、短いメッセ
ージ(例えば、10,000バイト未満)は一般に単一のパケ
ットとして伝送され、長いメッセージ(例えば、長い書
類またはデータファイル)は連続的に伝送されるパケッ
トのストリームニ分割される。
パケットを「再伝送する」とは、スイッチによって受
信または部分的に受信されたパケットを送り出すことで
ある。
「ポート」は、スイッチ(またはホスト)をリンクに
接続する該スイッチ(またはホスト)内の回路である。
「スイッチ」は、パケットを受信してネットワークを
通って経路指定する物理的装置である。本発明実施例に
おいては、スイッチを少なくとも1ダースのホスト及び
/又は他のスイッチに接続することができる。第2図に
おける各円に、1つのスイッチを示す記号「S」を付し
てある。
「リンク」は、ネットワークの任意の2つの構成要素
を物理的に接続する装置である。第2図において、ホス
トHとスイッチSとの間、または2つのスイッチの間の
各直線はリンクを表す。本発明の説明において、2つの
ネットワーク構成要素間の各リンクは全二重、双方向チ
ャネルであり、これにより、両方向の同時通信が可能に
なる。各リンクの両端は、「ポート」とも呼ばれる「リ
ンク回路」で終わっている。
「ネットワークアドレス」は、各ネットワーク構成要
素に割り当てられ、「経路指定テーブル」内にアドレス
するのに用いられる値である。ネットワークアドレスに
よって特定される経路指定テーブル内のエントリは、ネ
ットワークを通ってネットワーク構成要素へ至る合法的
経路に対応する情報を提供する。
「再構成」は、ネットワークによって伝送されるデー
タパケットに対する全ての合法的データ伝送路を決定す
る処理である。新しいスイッチまたはリンクがネットワ
ークに付け加えられる度毎に、及びスイッチまたはリン
クがネットワークから取り外されるかまたは適正に働か
なくなった度毎に、ネットワーク再構成が行われる。本
発明の一つの重要な特徴として、2つのホスト間の物理
的マルチリンク通路の全てが合法的伝送通路であるとい
うわけではない。
本明細書における「スパニングツリー」とは、メッシ
ュ接続式ネットワーク内のスイッチ間相互接続の表示を
意味する。技術的には、スパニングツリーは、ホストコ
ンピュータ及びスイッチ間の若干のリンクを除き、ネッ
トワークの一部を表す非循環接続サブグラフである。前
記除かれたリンクはネットワークを、ツリーせずに、非
環式グラフとなす。即ち、スパニングツリーのノードは
このグラフの各レベル内で相互接続を持つことができる
からである。
「ネットリスト」は、ネットワーク内のスイッチ相互
間のスイッチ及びリンクを表示するものである。
ネットワークの「根」、「根ノード」または「根スイ
ッチ」は、ネットワークのスパニングツリーの根として
指定されるスイッチSである。根ノードは、ネットワー
クの再構成中に、また、同報通信メッセージ、即ち、ネ
ットワーク内の全てのホストへ送られるメッセージを再
伝送するために、いくつかの特別の応答性を持つ。
ネットワークの接続及び経路指定 第3図に本発明にかかるメッシュ接続式ネットワーク
の1つのセクションを示す。本実施例においては、ネッ
トワーク内の各ホスト120は、ホスト120を別々のスイッ
チ(例えば、ホスト120の場合にはスイッチ124及び12
6)に接続する制御器122を有す。ホスト120をスイッチ1
24及び126に接続する2つのリンク128及び130は同構造
である。但し、これら2つのリンクのうちの一方だけは
常に活性的である。それで、リンク130を破線で示し、
これが非活性的であるということを示す。
ホストコンピュータとスイッチとの間の活性リンクが
故障すると、このホストのネットワーク制御器122が自
動的に他のリンクを活性化し、このホストをネットワー
クに再接続する。また、各ホストに対する2つのリンク
128及び130を2つの異なるスイッチに接続しておくこと
が極めて好ましい。即ち、このようにしておけば、一つ
のスイッチ全体が故障しても、このスイッチに接続され
ている全てのホストはネットワークへの代替え通路を持
つことになるからである。一般に、各ホストからネット
ワークへの2つの代替え通路またはチャネルを設ければ
十分な冗長度が与えられ、一つのハードウェアが故障し
てもホストをネットワークから隔離するということがな
い。
ネットワーク構成要素間の各「リンク」は、事実上、
データを互いに反対方向に同時に運ぶ2つの通信チャネ
ルである。本実施例においては、ネットワーク内の各リ
ンク128は、同軸ケーブルを用いる場合には長さが100メ
ートルまであってもよく、また、光ファイバ布線を用い
る場合には長さが2キロメートルまであってもよい。
同軸ケーブルを用いると、ケーブルの単線を用いて信
号をリンク上で双方向に伝送することにより、ネットワ
ークに必要な配線の量を減らすことができる。ケーブル
の各端部には送信器及び検出器がある。この検出器は、
ケーブルの他端部にある送信器によって送られた信号
を、ケーブルの同じ端部にある送信器の出力を、ケーブ
ルのその端部にある検出器によって受信された信号から
減算することにより、再表示する。このような全二重単
線式通信チャネルは周知であり、本発明の実施に不可欠
なものではない。
数多くのデータパケットをネットワークを通して同時
に伝送することができる。一例を挙げると、第1のパケ
ットをホスト132からホスト134へ送りながら第2のパケ
ットをホスト136からホスト138へ送る。第3図に示す経
路P1は、2つのリンクで接続された3つのリンクを具備
しており、これを用いて第1のパケットをホスト132か
らホスト134へ送ることができる。第3図に示す経路P2
を同時に用いて第2のパケットをホスト136からホスト1
38へ送ることができる。本例においては、両方のデータ
パケットをスイッチ140を通じて同時に送る。これが可
能であるのは、本発明において用いるスイッチがマルチ
ポート形非ブロック化スイッチであるからである。各ス
イッチは、複数の受信リンクを別々の発振リンクに同時
に接続することのできるクロスバー回路を有している。
パケットは一般にネットワーク内のホストHから他の
ホストHへ送られるが、ネットワークの再構成中は、デ
ータパケットはスイッチ自体内のコンピュータへ送られ
る。データパケット経路指定のこの態様については「経
路指定テーブル」及び「再構成処理」の項において後で
説明する。
デッドロック 本発明の一つの特徴として、「デッドロック」の影響
を受けることのないメッシュ接続式ネットワークが提供
される。ネットワークにおけるデッドロックは、トラフ
ィック交叉部におけるグリッドロックに類似の電子回路
と考えることができる。第4図に、4つのホストコンピ
ュータA、B、C及びD並びに4つのスイッチSを示
す。各ホストは、データパケット148を、2つのスイッ
チでこの送信ホストから分離されている他のホストへ送
ろうとする。各パケットの宛先は、このパケットを表す
枠148内の記号で示されている。例えば、ホストAによ
って送られるパケット148はホストCの宛先を有す。
本例に対し、送信中のデータパケットはスイッチ内の
データバッファよりも大きく、従って、このデータパケ
ットは、パケットの送信中、2つまたはそれ以上のリン
クのチェインを占めるものと仮定する。第4図に示すよ
うに、各データパケットの進行は、送信の次のステップ
に必要なリンクが前記パケットのうちの他のものによっ
て阻止されるので、阻止される。
当業者は解るように、デッドロックはまた小さいデー
タパケットについても生ずる可能性がある。詳述する
と、スイッチ内のデータバッファは2つまたはそれ以上
のデータパケットで一杯になる可能性があり、そのた
め、この一杯になったデータバッファに接続されている
リンクを通じてそれ以上のデータを送ることを妨げる。
即ち、第4図において、阻止された各パケット148は2
つまたはそれ以上のパケットの連なりで置き替えること
ができ、その最初のものは、その経路における次のステ
ップに必要なリンクがパケットのうちの他のもので阻止
されるので、阻止されている。
明らかに、デッドロック状態はしばしば生ずるという
ものではない。即ち、それには、新しいデータパケット
の送信を事実上同時に開始するために4つのホストが必
要であるからである。しかし、デッドロックが生ずると
いうことは許容不能である。即ち、デッドロックはネッ
トワークを「クラッシュ」させ、メッセージを失わせ
る。
アップ/ダウン経路指定 本発明は、メッセージを互いにデッドロックすること
のないように自動的に経路指定するという新しい型式の
経路指定手続きを用いることにより、デッドロックを完
全に防止するものである。再び第4図について説明する
と、図示のデータ通路は、データパケットが4つのスイ
ッチを通る無端ループ内に送られるという「サイクル」
が生ずることが、少なくとも理論的には可能であるとい
うことを含意している。サイクルは、それ自体は、通例
は問題とならないが、サイクルを形成するデータ通路の
可用性は、デッドロックの被害を受ける可能性のあるメ
ッシュ式ネットワークの兆候である。
第5図に、スイッチS1からスイッチS10へ至る10ノー
ドネットワークの若干複雑な例を示す。スイッチ間の全
ての線路は双方向性リンクを示している。
後で説明する理由のため、スイッチ間の全てのリンク
は、リンク上の矢印で示すように、一方向に割り当てら
れている。このリンク上の矢印は、ネットワークの根ノ
ードへ向かう「アップ」を指示するものと言われてい
る。詳述すると、データパケットがリンク上の矢印と同
じ方向にリンクを通って送られる場合、このデータパケ
ットは、「アップリンク」、または更に正確には「アッ
プチャネル」を進みつつあると言われる。データパケッ
トがリンク上の矢印と反対方向にリンクを通って送られ
る場合、このデータパケットは「ダウンリンク」または
「ダウンチャネル」を進みつつあると言われる。
本発明において用いる基本的経路指定規則は、データ
パケットに対する全ての合法的経路はゼロまたはそれ以
上のアップチャネルを具備し、その後にゼロまたはダウ
ンチャネルが続くということである。データパケットが
ダウンチャネルを通って送られると、このデータパケッ
トはアップチャネルを通って送られるということはな
い。
前述の基本的経路指定規則は、「大域的見解」から、
即ち、ネットワークを全体として考察する者の観点か
ら、パケットに対する合法的経路を定義する。単一スイ
ッチについての見解から、パケットがこのスイッチへ向
かって「アップリンク」を進む場合、このパケットはダ
ウンリンクで受信される。即ち、「ローカルスイッチの
見解」から、「ダウンリンク」で受信されたパケットは
アップまたはダウンのどちらのリンクへも進ませられる
ことが可能であり、「アップリンク」で受信されたパケ
ットはダウンリンクへしか進ませられない。
また、ホストとスイッチとの間の全てのリンクに対
し、アップ方向はこのスイッチ方向へ向かう方向であ
る。ホストコンピュータからスイッチへ至るチャネルは
常にアップリンクまたはアップチャネルであり、スイッ
チからホストコンピュータへ至るチャネルは常にダウン
リンクまたはダウンチャネルである。即ち、ホストコン
ピュータがデータパケットを送信する場合、このデータ
パケットが進む最初のチャネルは常にアップチャネルで
あり、同様に、データパケットがホストコンピュータに
受信されるときにこのデータパケットが進む最後のチャ
ネルは常にダウンチャネルである。
次に、スイッチS1、S3、S5及びS10がある第5図の左
下部分を用い、何故にデッドロックがアップ/ダウン経
路指定機構を用いて不可能であるかを示す。第4図から
第5図内のこれらスイッチ上へのデータ通路を用いよう
とすると、第4図内の全てのデータ通路は、1つのデー
タ通路を除き、合法的であるといくとが解る。即ち、ス
イッチS3、S5次いでS10を通ってホストBからホストD
へ至るデータ通路は合法的でない。その理由は、S3から
S5へ至る通路はタウンチャネルであり、S5からS10へ至
る通路はアップチャネルであるからである。これは、ア
ップチャネルはダウンチャネルの後で使用できないとい
う規則に反する。その解決法としては、ホストBからホ
ストDへ至るメッセージを先ずS3からS1へ進ませ(これ
はアップチャネルである)、次いで、S1からS10へ進ま
せる(これはダウンチャネルである)。
このネットワークにおけるスイッチ間の各リンクの指
向性は次のようにして決定される。全てのスイッチ(及
びホストコンピュータ)は、UIDと呼ばれる一意的48ビ
ット識別子を永久的に割り当てられている。かかるUID
はエサーネットにおいて用いられ、ネットワークの全て
の構成要素を一意的に識別する。後で説明するように、
ネットワーク内の全てのスイッチは7ビットSHORT IDを
割り当てられ、全てのホストコンピュータは11ビット・
ネットワークアドレスを割り当てられている。
第1の規則は、全ネットワーク内の最低UIDを有する
スイッチは根ノードと呼ばれ、ゼロのネットワークレベ
ルを割り当てられるということである。この第1の規則
は必然的結果として、根ノードに対する全てのリンクは
根へ向かって上方へ方向づけされる。
第5図において、各スイッチはその基準数に等しいUI
Dを割り当てられているものとする。即ち、S1は1のUID
を割り当てられ、S2は2のUIDを割り当てられ、以下同
様になっている。即ち、スイッチS1は根であり、スイッ
チS2、S3、S9及びS10からS1へ至るリンクはスイッチS1
へ向かって上方へ方向づけされる。
第2の規則は、スイッチはスイッチと根との間のリン
クの最小数に基づくネットワークレベルを割り当てられ
るということ、及び異なるネットワークレベルにあるス
イッチ間のリンクは低い方のネットワークレベルへ向か
って上方へ方向づけされるということである。例えば、
スイッチS3はネットワークレベル1にあり、スイッチS8
はネットワークレベル2にあり、従って、S8からS3まで
のリンクはS3へ向かって上方へ方向づけされる。
リンクに指向性を割り当てるための第3の最後の規則
は、同じネットワークレベルにあるスイッチ間のリンク
は低い方のUIDを有するスイッチへ向かって上方へ方向
づけされるということである。即ち、スイッチS2及びS3
はいずれもネットワークレベル1にあるから、これらの
間のリンクはS2へ向かって上方へ方向づけされる。
ネットワークを通る合法的経路についての他の例は次
の通りである。即ち、パケットをホストCからホストE
へ送り、このパケットは通路P3またはP4を通って進むこ
とができる。スイッチS5、S3、S8及びS9を通って進む通
路P3は、アップチャネルに従い、次いでダウンチャネル
に従うから、合法的である。スイッチS5、S7次いでS8を
通って進む通路P4は、2つのダウンチャネルに従うか
ら、合法的である。
通路P4は通路P3よりも短いが、P4の最初のリンクが阻
止されておって通路P3内の最初のリンクが可用である場
合にはP3の方が好ましくなる。即ち、ネットワークを通
るこの好ましい通路は、どのリンクが他のデータパケッ
トによって既に使用されているかに依存するのであり、
そしてこの好ましい通路は必ずしも最短の合法的通路で
あるとは限らない。
ホストFからホストGへ送られるパケットに対する非
合法路の例としては、スイッチS7からS6へ至り(ダウン
リンク)、その後にS6からS8へ至るもの(アップリン
ク)が続くというものがある。この経路は、ダウンリン
ク(S7からS6へ)の後にアップリンク(S6からS8へ)を
有しており、これは許されないので、非合法である。F
からGまでの合法的経路は、S7からS5へ(アップ)、S5
からS3へ(アップ)及びS3からS8へ(ダウン)進む。
ネットワーク内のリンクに方向性を割り当てるという
こと、及びネットワークを通る合法的経路を定義すると
いうことの前述の方法は本発明者等が見いだしたもので
あり、後で詳述するように、デッドロック問題を除去す
るのみでなく、更に、同報通信メッセージパケットを取
り扱うための便利な機構を提供する。
パケットフロー制御 本発明実施例の多くの特徴を理解するため、どのよう
にして「フロー制御」が働くかということを理解するこ
とが先ず必要である。第3図を参照し、ホスト132から
ホスト134へ送られつつある16,000バイト・パケットの
例を考えてみる。この例に対し、各スイッチポートは、
受信データパケットの一部を一時的に記憶するための4k
バイトFIFOバッファを有しているものとする。
先ず、パケットをスイッチ142への通路P1に沿ってホ
スト132によって伝送する。リンク144が他のデータパケ
ット伝送のために既に使用されている場合には、ホスト
132に命令してこのデータパケットの伝送を一時的に停
止させない限り、スイッチ1422内の4kバッファは間もな
くあふれる。
本実施例においては、データは、ホスト132とスイッ
チ142との間のリンク146のような全てのリンク上で両方
向に連続的に送られる。送信すべきデータがない場合に
は、同期バイトが送られる。同期バイトは単なる空デー
タである。
データが伝送されるのと同時に、フローコマンド信号
も単純型式の時多重化によって送られる。即ち、伝送さ
れる256番目ごとのバイトがフロー制御コマンドである
フローコマンドの伝送はパケット境界と同期しない。即
ち、フローコマンドは、リンクがどのようなデータを運
んでいるかとは関係なしに、256バイトサイクルごとに
1回、リンク上にある。即ち、700バイト・メッセージ
がリンク上で送られている場合には、このメッセージを
表すデータストリームは次のように見える。即ち、メッ
セージの最初の200バイトの後に1バイト・フローコマ
ンドが続き、その後にメッセージの次の255バイトが続
き、その後に第2の1バイト・フローコマンドが続き、
次いでメッセージの残りの245バイトが続く。パケット
の終わりの後に10同期バイトが続き、次いで他のフロー
コマンドが続く。
コマンドからデータを識別するため、8ビットごとの
バイトを、9ビットを用いて、ネットワークのスイッチ
内で論理的にコード化する。9番目のビットは、このバ
イトがデータであるかコマンドであるかを示すフラグで
ある。前述したように、通例唯1つのコマンドが256バ
イトごとに送られるだけである。ネットワークの正常動
作中、2つの頻繁に用いられるフローコマンドがある。
即ち、ストップデータフロー及びスタートデータフロー
がある。ある状況中では、データの正常なフローは他の
コマンドで中断される。
本実施例においては、スイッチ内で用いられる9ビッ
ト・データ/コマンド値がコード化され、標準のTAXI送
信器及び受信器チップ(アドバンスド・マイクロ・デバ
イセズ(Advanced Micro Devices)社製のAm7968難及び
Am7069型集積回路)によって直列に伝送される。
第3の頻繁に使用される「コマンド」は「同期バイ
ト」と呼ばれる。同期バイトは単に空データであり、送
信されるデータがないということを受信側に知らせる
「コマンド」であると考えられる。
第6図は、ホスト132によってリンク146上で送信(T
X)及び受信(RX)されつつある信号を示すものであ
る。前述したように、ネットワーク構成要素相互間の各
リンクは、事実上は、互いに反対方向にデータを同時に
運ぶ2つの通信チャネルである。それで、第6図に2つ
のデータストリームを示してある。例えば、第3図を参
照して説明すると、これらデータストリームはホスト13
2とスイッチ142との間のデータストリームである。本例
において、ホスト132によって送信されるTXデータスト
リームはかなり長いメッセージパケットを含んでおり、
その始まり及び終わりを「B」バイト及び「E」バイト
で示してある。「B」バイトはそれぞれのパケットに先
行する「ビギンパケットコマンド」(begin packet com
mand)を示し、「E」バイトはそれぞれのパケットの後
に続く「エンドパケットコマンド」(end packet comma
nd)を示す。
「D」バイトはメッセージパケット内のデータを示
し、「0」バイトは、送信すべきデータがないか、また
はパケットの流れが一時的に中止された場合に送られる
同期バイトを示す。
スイッチ142によってホスト132へ送られるRXデータス
トリームは、ホスト132によって送られつつあるパケッ
トの流れを制御するためのフロー制御信号S(開始のた
めの)及びX(停止のための)を含んでいる。スイッチ
142によって送られるストップコマンドはホストによっ
て送られつつあるパケットの流れを一時的に停止させ、
スイッチ142によって送られるスタートコマンドはホス
ト132にパケットの送信を再開させる。スイッチ142によ
って送られるRXデータストリームはまた、パケットの始
まり及び終わりにおいて「B」バイト及び「E」バイト
で示されるような小さいデータパケットを有す。
第6図に示すように、最初のスタートフローコマンド
150がスイッチ142によって送り出された若干時間後(RX
データストリームにおいて)、ホストはそのデータパケ
ットを送信し始める。ホストは、ストップフローコマン
ドX152が受信されるまでデータパケットを送信し続け
る。後で「スイッチフロー制御」の項で詳述するよう
に、これが生ずる主な理由は、スイッチの受信ポートに
おけるデータバッファがあふれることを防ぐためであ
る。スイッチは、もっと多くのデータを受信する準備が
できると、スタートフローコマンドS154を送り出し、ホ
ストはこれに応答してデータパケットの送信を再開す
る。
256番目のバイトごとに送り出されるフロー制御信号
は、「スタートフロー」コマンドを送り出しているネッ
トワーク構成要素内のパケットバッファに残っている自
由スペースが或る量よりも少なくなる(これは、データ
のフローを停止しないとバッファがあふれる危険がある
ということを意味する)ことのない限り、通例は「スタ
ートフロー」コマンドである。即ち、或る特定のリンク
上のスイッチによって受信されるデータがない場合、こ
のスイッチは「スタートフロー」信号を送り出し続け
る。各スイッチは、隣のスイッチによって使用されるフ
ロー制御タイムスロットとは関係のない或る特定のタイ
ムスロットにおいて、フロー制御信号を送り出す。
ホスト制御器122は、ホスト制御器122が「ストップフ
ロー」コマンドを送り出すことはないという点を除き、
スイッチと同じフロー制御機構を使用する。即ち、ホス
ト制御器は、スイッチに、該スイッチが接続される(即
ち、256番目のバイトごとに)という「スタートフロ
ー」制御信号を常に送り出す。その一例を第6図に示し
てあり、TXデータストリームは「スタートフロー」制御
信号156、158及び160を有している。
ホストネットワーク制御器 次に、ネットワークの主要なハードウェア構成要素、
即ち、ホストコンピュータをネットワークに接続するホ
スト制御器、及びデータパケットの経路指定を取り扱う
スイッチについて詳細に説明する。
第7図に、1つのホストコンピュータ120に対するネ
ットワーク制御器122のブロック線図を示す。機能的に
は、ネットワーク制御器122はホストコンピュータをネ
ットワークに接続するためのホストコンピュータ上のポ
ートである。この制御器は「Q22−バス制御プロトコ
ル」として知られているものを採用しており、Qバス制
御回路161を用いてホストコンピュータを制御器122に接
続する。Q22−バスプロトコルの説明は、ディジタル・
エキップメント社(Digital Equipment Corporation)
発行(1985年)の「マイクロシステムズ・ハンドブッ
ク」(Microsystems Handbook)、付録Aに記載されて
いる。他のコンピュータバスを用いるホストコンピュー
タに対しては、異なるバスインタフェース回路が用いら
れる。
マイクロプロセッサ162、コード化回路164及びエラー
補正回路166が、メッセージをコード化するため及びエ
ラー補正コードを発生するために通例の仕方で用いられ
る。制御器122のこれら構成部材の全ては共通データバ
ス168に接続されている。一般に、マイクロプロセッサ1
62はホスト120から受信したデータパケットをQバスイ
ンタフェース161を介してパケットバッファ174内に保存
する。このホストからのデータパケットは、パケットを
どのように取り扱うかを制御器122内のマイクロプロセ
ッサ162に命令する。詳述すると、制御器122は、このパ
ケットをコード化回路164を用いて指定のコード化キー
でコード化するように命令される。更に、エラー補正コ
ードがCRC回路、即ちエラー補正回路166を用いて計算さ
れ、バッファ174内のパケットの終わりに付加される。
データバス168にはデータ送信回路170及びデータ受信
回路172が接続されている。データ送信回路170は、パケ
ット全体を送信前に記憶するために用いられるパケット
バッファ174を有す。バッファ174内のパケットは、送信
器178によってリンクセレクタ182を介してリンクインタ
フェース回路180へ伝送される前に1kバイトFIFO(先入
れ先出し)バッファ回路176へ転送される。
リンクセレクタ182はリンクインタフェース回路180ま
たはリンクインタフェース回路184のいずれかを選択的
に活性化する。本実施例においては、リンク制御回路18
6の制御の下にあるリンクセレクタ182は、2つのリンク
インタフェース回路のうちの所定のもの、例えば回路18
0を、この回路に接続されているリンクが働いていない
ということ(即ち、このリンクに受信されるフロー制御
コマンドがない場合)が解らない限り、自動的に選択す
る。正常に選択されたリンクが働いていない場合には、
リンク制御回路186はセレクタ182をして他のリンクイン
タフェース回路184をイネーブルさせる。
詳述すると、リンク制御回路186は、受信回路172に受
信されたフローコマンドをモニタし、フローコマンドが
ネットワークから規則的に受信されていない場合にフロ
ー制御コマンドの不存在を検出する。回路186はフロー
制御コマンドの欠如をマイクロプロセッサ162に知ら
せ、そしてマイクロプロセッサ162は、ネットワークへ
の制御器の接続の再確立を試みるために複数のステップ
を行う。これらの処置が有効に作用しない場合には、マ
イクロプロセッサ162は制御器の他のリンクインタフェ
ース回路を試みるために信号をリンク制御回路186へ送
る。
活性リンクとしてリンクインタフェース180または184
を選択するために各ホスト制御器122によってフロー制
御信号がどのように用いられるかを次に簡単に説明す
る。この過程についての詳細な説明は、後で「再構成フ
ェーズ1」の項において行う。
賦勢されると、ホスト制御器122は、最初に選択され
たリンク上に同期信号を送信し始め、そして、フロー制
御信号の受信について前記最初に選択されたリンクをモ
ニタする。所定の期間中にフロー制御信号が受信されな
い場合には、セレクタ182は他の可用リンクを選択する
ように命令される。現在選択されているリンク上でフロ
ー制御信号を探し、そして何も検出されない場合にリン
クを切り換えるという過程は、フロー制御信号が2つの
リンクの一方に確実に受信されるまで継続する。
リンク制御回路186は、現在活性となっているリンク
インタフェース180または184に受信されるフロー制御信
号をモニタする。この最初の説明のため、フロー制御信
号には2つの型、即ち、ストップコマンド信号及びスタ
ートコマンド信号しかないものとする。スタートコマン
ド信号が受信されると、送信器178はイネーブルされ、
そして、パケットバッファ174に記憶されているデータ
が、パケットバッファ174が空になるか、またはストッ
プコマンド信号が受信されるかするまで、送信される。
ストップコマンド信号が受信されると、リンク制御回路
186は送信器178を「使用禁止」となし、これにより、同
期信号「即ち、空データコマンド」が、新しいデータの
代わりに、パケットバッファ174から送信される。
本実施例においては、制御器122によって一旦パケッ
トの送信が開始されると、ホスト制御器122は要求に応
じてパケット内の全てのデータを送信するという準備が
常にできているということになる。本実施例において
は、パケットは、約10バイト程度に小さい場合も、1600
0バイト程度に大きい場合もある。
送信されるべきパケット全体は、このパケットの送信
が始まる前に、先ずパケットバッファ174に記憶され
る。次いで、リンク制御回路186が、前述したように、
活性リンクに受信されたフロー制御信号に従って、パケ
ットの送信を可能にする。
受信回路は、データ受信器190、大型(例えば4kバイ
ト)FIFOバッファ192、及びその後に続く受信パケット
バッファ194を含んでいる。データパケットが活性リン
クから受信されるにつれ、このデータは最初FIFOバッフ
ァ192に記憶される。多くの小型パケットを保持するこ
とのできるFIFOバッファ192から、データはパケットバ
ッファ194内に転送される。全体パケットの終わりが検
出されると、バッファ194内のパケットは次いで処理さ
れ(即ち、ホストコンピュータへ転送され)、そしてパ
ケットバッファ194からクリアされる。
本実施例においては、ホスト制御器122は、ストップ
フロー信号を送り出すことはなく、そして一続きのいく
つかのパケットを受信するように準備させられるように
なっている。バッファ194内の一つのパケットが処理さ
れている間、他のパケットが同じバッファ194に受信及
び記憶されることができる。即ち、バッファ194は大型
のデュアルポート形循環バッファであり、いくつかの大
型パケットを保持するための十分な容量(例えば128kバ
イト)を有す。データはバッファ194の一つのポートを
通じて読み出され、マイクロプロセッサ162によって処
理されてホスト120へ転送される。そして新しいデータ
パケットがバッファ194の他のポートを介して読み込ま
れる。
大型のFIFOバッファ192の使用は一般に好ましいもの
である。即ち、ホスト制御器による遅い処理のためにパ
ケットが失われるということがない。FIFOバッファ192
があふれてパケットが失わせられると、受信済みパケッ
トの肯定応答を要求するより高いレベルのプロトコルが
前記失われたパケットを再送信させる。
リンクインタフェース回路180の主要な構成要素は2
つの「TAXI」チップ196及び198であり(送信器196のた
めのAm7968型チップ、及び受信器198のためのAm7969型
チップであり、いずれもアドバンスド・マイクロ・デバ
イセズ(Advanced Micro devices)社製の集積回路であ
る)、これらは標準の「透過」非同期送信器及び受信器
インタフェース回路である。これらの回路は、点間リン
クにわたる高速データ電送を取り扱い、従って、本実施
例において用いる100メガビット・データ伝送速度に好
適する。
検出器200は単一ブースタであり、受信回路198が弱い
入力信号を取り扱うのを助ける。
カットスルー非ブロック化スイッチ 第8図及び第9図に示すスイッチ210は全体的ネット
ワークの重要な構成要素である。スイッチ210は、いく
つかの対の選択されたリンクを同時に相互接続すること
ができるので、非ブロック化スイッチと呼ばれる。これ
はまた、パケット全体が受信される前にデータパケット
の再伝送(即ち、送り出し)を開始することができるの
で、カットスルースイッチとも呼ばれる。
本発明のネットワークを制御する中央制御器または知
能(インテリジェント)は存在しない。このネットワー
クの知能及び論理ロジックは、経路指定決定をなし、及
び他の種々のネットワーク管理タスクを行うものであ
り、ネットワーク内の全てのスイッチにわたって分布さ
れている。例えば、各スイッチは、各データパケットを
伝送するのに用いられた前のリンクについての知識なし
に、経路指定決定を独立に行う。しかし、これらスイッ
チは、各々がパケットの効率的且つエラーなし経路指定
を容易にするたように設計されている。
先ず第8図のブロック線図について説明すると、スイ
ッチ210の主要な構成要素は、非ブロック化クロスバー
スイッチ212、リンク制御装置214と呼ばれる複数(本例
においては12)のスイッチポート214、スイッチ制御プ
ロセッサ(SCP)216、及び経路指定論理回路218とも呼
ばれるルータ218である。また、SCP216をクロスバース
イッチ212に接続するための特別のリンク回路214aがあ
る。
各リンク装置214はクロスバースイッチ212を1つの全
二重リンク215に接続する。各リンク215は2つのデータ
チャネルを有し、従って、データをリンク215上で双方
向に同時に伝送することができる。即ち、各リンク装置
214は2つの構成要素、即ち、入力リンク装置220(Rx)
及び出力リンク装置222(Tx)を有す。
新しいデータパケットがスイッチ210に受信される
と、このデータパケットを受信する入力リンク装置220
はクロスバースイッチ212によって出力リンク装置222A
に(入力リンクと異なるリンクに対し)接続される。出
力リンク装置222は前記受信されたデータパケットを他
のリンク上で伝送し、このパケットをその宛先へ送り出
す。
第9図について後で更に詳細に説明するように、クロ
スバースイッチ212は、入力リンク装置220のうちの任意
のものまたは全部を出力リンク装置222の別々のセット
に同時に接続することのできるように設計されている。
ルータ218の目的は、どの出力リンク装置222を各入力
リンク装置220に接続すべきかを決めることである。新
しいデータパケットが入力リンク装置220に受信される
と、入力リンク装置220は経路指定要求をルータ218へ送
る。この経路指定要求はこのパケットの宛先及び入力リ
ンク装置の識別を特定する。第8図に示すように、リン
ク装置220はこのパケットの宛先アドレスをバス230上で
ルータ218へ送る。
パケットの宛先は、各パケットの始まりにおいて、こ
のパケットの送り先のネットワーク構成要素を特定する
数バイトとして記憶される。
ルータバス232はリンクマスクを含んでおり、このリ
ンクマスクは、リンク装置の各々に対応する1ビット、
並びに、4ビット・リンクインデックス、同報通信ビッ
ト及び有効フラグを有す。バス232のリンクマスク部の
線路の各々は、ルータ218とリンク装置214のうちの一つ
との間の単ビット通信線と考えることができる。
可用性フラグが各リンク装置222によってルータ218へ
周期的に送られる。可用性フラグは、出力リンクが使用
中でなく、「閉塞されてなく」、従って新しいデータパ
ケットを経路指定するのに使用可能であるときにオンと
なる。出力リンク装置は、リンク(即ち、出力リンクに
接続されているリンク)装置の他端部にあるスイッチが
ストップフローコマンドを送ったときに、閉塞される。
ストップフローコマンドは、リンクの他の側にあるスイ
ッチがこれ以上のデータを受信する準備ができていな
い、ということを示す。出力リンク装置222が使用中で
あるかまたは閉塞されているときには、その可用性マス
クはオフとなる。出力リンク装置からの13の可溶性マス
クビットがルータ218によって周期的にサンプリングさ
れ、経路選択を行うために用いられる。
入力リンク装置220によって送られた情報を用い、ル
ータ218は、どの出力リンク装置222を用いてデータパケ
ットを再伝送すべきかを決める。ルータ218が行った経
路選択はルータバス232上でリンク装置214及びクロスバ
ースイッチ212へ伝送され、これらはこの経路選択を用
いてクロスバースイッチ212内の適切な接続をセットア
ップする。
ルータ218については、第13図ないし第16図について
後で更に詳細に説明する。ルータ218のための回路の実
施例が、米国特許第5179558号に記載される。
この最初の実施例には12のスイッチポート(即ち、リ
ンク装置)214しかないが、将来の装置はもっと多くの
かかるポートを有するであろうことが考えられる。
SCP 216は標準のマイクロプロセッサであり(例え
ば、モトローラ(Motorola)社製の68010型マイクロプ
ロセッサが本実施例に用いられている)、これは、スイ
ッチ210が賦勢またはリセットされるとルータ218を初期
設定するように、及びネットワークの構成要素が故障す
るかまたは新しい構成要素がネットワークに付け加えら
れると再構成プログラムを行うように、プログラムされ
ている。SCPはSCPバス225によって全てのリンク装置214
に接続され、SCPがリンク装置の状態をモニタし、リン
クに接続されていない装置及び誤差動する装置を識別す
ることのできるようになっている。
リンク装置214aはスイッチ制御プロセッサ(SCP)216
をクロスバースイッチに接続し、従って、SCP 216はネ
ットワーク内のホストコンピュータと同じ通信機構を用
いてクロスバースイッチ212を介してデータパケットを
送受することができる。ネットワークの再構成中、SCP
216は隣のスイッチ内のSCPへデータパケットを送って
ネットワークの形態を決定し、及びネットワークのスイ
ッチ内のルータ218に対する経路指定テーブルの新しい
セットを発生する。
入力リンク装置220と出力リンク装置との間の接続は
クロスバースイッチ212によって次のようにして行われ
る。一般に、ルータ218が新しいリンク選択を発行する
たびごとに、クロスバースイッチ内の2つのマルチプレ
クサがセットされ、選択された入力リンク装置が選択さ
れた出力リンク装置に接続されるようになっている。2
つのマルチプレクサが必要である。即ち、一方はデータ
を入力リンク装置から出力リンク装置へ伝送し、他方の
マルチプレクサはフロー制御信号を入力リンク装置へ送
り返すのである。同報通信パケットを伝送する場合に
は、リンク選択信号によってセットアップされるマルチ
プレクサの数は使用される出力リンクの数に応じて定ま
る。
クロスバー回路 第9図において、各リンク装置の入力部220と出力部2
22とを分離し、クロスバースイッチ212に対するこれら
の関係を示すようにしてある。図では、入力リンク装置
220はクロスバースイッチ212の左側に添い、出力リンク
装置222はクロスバースイッチ212の下部に添って配置さ
れている。しかし、後で説明するように、これら2つの
装置220及び222の回路は相互接続され、これら2つの装
置に対する制御ロジックは完全に分離されてはいない。
また、この図においては、後で説明する理由で、各リン
ク装置220をクロスバースイッチ212の下部に再度示して
ある。
第9図に示すように、各入力リンク装置は9ビット幅
データ通路234及び1ビット幅フロー制御線236に接続さ
れている。データ通路234はデータパケットからデータ
を運び、フロー制御線236はフロー制御情報を運ぶ。
クロスバースイッチ212は各リンク装置214に対する2
つのマルチプレクサ(MUX)240及び242を有す。第1の
マルチプレクサ240は、データ伝送マルチプレクサと呼
ばれ、対応の出力リンク装置222をデータ通路234のうち
の選択されたものに接続する。リンク装置214と同数の
データ伝送マルチプレクサ240があるので、出力リンク
装置222のうちのいくつかまたは全数を入力リンク装置2
20のうちの対応する選択されたものに同時に接続するこ
とができる。換言すれば、スイッチ212は非ブロック化
スイッチであり、多くのパケットを同時に経路指定する
ことができる。
また、2つまたはそれ以上の送信リンク装置222を、
単にそれらのデータ伝送マルチプレクサ240をして同じ
データ通路234を選択させることにより、同じデータ通
路234に接続することができる。この後者の能力は、デ
ータパケットをネットワーク上の全てのホストへ同報通
信する場合に用いられる。
第2のマルチプレクサ242は、フロー制御マルチプレ
クサと呼ばれ、対応する入力リンク装置220をフロー制
御線236のうちの選択されたものに接続する。換言すれ
ば、一つの入力リンク装置220が受信したフロー制御コ
マンドはクロスバースイッチ212を介して入力リンク装
置のうちの他のもの内の制御回路に接続される。リンク
装置214と同数のフロー制御マルチプレクサ242があるか
ら、各入力リンク装置220を他のリンク装置214のうちの
選択された対応のものに同時に接続することができる。
各マルチプレクサ240及び242は付属の選択レジスタ
(図示せず)を有しており、このレジスタは、ルータ21
8によってこれに送られる4ビット選択値を記憶するの
に用いられる。この選択値は、どのデータ通路及びフロ
ー制御線をリンク装置の各々に接続するかを決定する。
要約すると、クロスバースイッチはフロー制御コマン
ドを入力及び出力リンク装置220及び222の各々へ導くた
めのマルチプレクサ240または242を有す。
マルチプレクサ240及び242に対する選択信号が発生さ
れ、ルータ218によてルータバス232上に出力される。新
しいパケットの始まりが入力リンク装置220内のFIFOバ
ッファの前部に到達する度毎に、入力リンク装置220は
経路指定要求をバス路線230を介してルータ218へ送る。
ルータは経路指定要求に応答し、マルチプレクサ制御信
号を発生してルータバス232上で伝送する。ルータバス2
32は次の構成部材を有す。即ち、 リンクマスク リンクインデックス 同報通信フラグ ルータバス有効フラグ ルータ218の動作及びこれがどのようにしてこれら値
を発生するかについては「ルータ回路」の項において後
で説明する。
出力リンクマスクは出力リンク装置222の各々に対す
る別々のオン/オフ・フラグを有す。「1」の植付きの
マスクフラグを有する各出力リンク222は特定の入力リ
ク装置に接続される。同報通信フラグは、同報通信パケ
ットが複数の複数のネットワーク構成要素へ同時に経路
指定されているときにセットされる。ルータバス有効フ
ラグは、ルータ218がバス232上では経路選択を主張して
いるとセットされ、さもないときにはリセットされる。
ルータバス232のリンクマスク部は選択された出力リ
ンクに対応するビットを送り出すのに用いられ、リンク
インデックスは入力リンク装置を識別する4ビット値で
ある。クロスバースイッチは、この4ビット・リンクイ
ンデックスを、前記選択された出力リンク装置に接続さ
れたデータ伝送マルチプレクサ240に対するマルチプレ
クサ選択信号として用いる。例えば、リンクマスクが出
力リンク装置5に対する「1」フラグを有し、入力リン
ク選択が0011(即ち3)の値を有している場合には、値
0011は、第5の出力リンク装置222に関連するマルチプ
レクサ240に対する選択信号として用いられる。出力リ
ンクマスクがいくつかの出力リンク装置に対する「1」
フラグを有している場合には、前記入力リンク選択値は
各対応のマルチプレクサに対して用いられる。
ルータ218によって送り出されるリンクインデックス
値はまたフロー制御マルチプレクサ242をセットアップ
するために用いられる。これを行うため、有効ビットが
オンとなっているときに、クロスバースイッチ212は、
ルータ218によって送られたリンクマスク及びリンクイ
ンデックスを思い出し、次いで、このリンクインデック
ス値によって特定された入力リンクに対してフロー制御
マルチプレクサ242をセットアップする。ルータバス上
の同報通信ビットがオフとなっている場合には、フロー
制御マルチプレクサ242にロードされる選択値は前記バ
スのリンクマスク部上で識別される出力リンクに対応す
る。
入力リンク装置220に受信されたデータパケットが複
数の出力リンクマスクへ同報通信されている場合には、
ルータバス上の同報通信ビットはオンとなり、フロー制
御マルチプレクサ242にロードされる選択値は特定値
(例えば15)となる。これにより、入力リンク装置は、
正常の制御信号の代わりに、Clk256と呼ばれるクロック
ジェネレータ246からの特定クロック信号を使用させら
れる。前述したように、正常フロー制御信号とは無関係
に同報通信パケットが伝送される。
要約すると、ルータ218はリンク選択値を、クロスバ
ー回路のマルチプレクサ240及び242の選択レジスタ内に
対応の値を記憶させるためにクロスバー回路212によっ
て用いられるバス232上で伝送し、これにより、クロス
バー回路を、選択された入力及び出力リンク装置に接続
させる。
ルータバス232上で送られるリンク選択値も入力及び
出力リンク装置によってモニタされ、これにより、クロ
スバースイッチ212を通って次いで出力リンク装置を通
って他のネットワーク構成要素へ行くデータパケットの
伝送を調整する。
ルータ218の動作及びルータバス232上で用いられる記
号プロトコルについては第13図ないし第15図について後
で詳細に説明する。
スイッチフロー制御 第10図について説明すると、スイッチ相互間、及びス
イッチとホストとの間のフロー制御のための基本的機構
は次の通りである。各入力リンク装置は、受信したデー
タを一時的に記憶するために用いられる内部FIFOバッフ
ァを有す。理想的には、データは、これが記憶されるの
と同じくらいに速くFIFOバッファから読み出されるべき
である。しかし、閉塞された(即ち、使用中である)リ
ンクのような種々の要因のため、データはFIFOバッファ
内にバックアップさせられる。FIFOバッファが或る程度
一杯になると、該バッファは、これにデータを送りつつ
あるネットワーク構成要素(「送信気」)へストップフ
ローコマンドを送り出す。この送信気がストップフロー
コマンドを受信すると、該送信器は、スタートフローコ
マンドが受信されるまで、データを送ることを一時的に
停止する。受信用FIFOバッファは、このFIFOバッファか
ら十分なデータが読み出されてその量が所定の充満量よ
りも少なくなると、スタートフローコマンドを送り出
す。
どのチャネルに対するフローコマンドも、同じリンク
の逆チャネルと反対の方向に伝送され、この逆チャネル
上で伝送されるデータと多重化される。
いうまでもなく、ストップフローコマンドがスイッチ
に受信されると、また、データはこのスイッチ内のFIFO
バッファ内でバックアップを開始する。即ち、スイッチ
のチェインの各々内のFIFOバッファが一杯になるにつれ
て発生されるストップフローコマンドのチェイン反作用
がある。結局、データパケットが十分に長いならば、パ
ケットを送り出しているホストはストップフローコマン
ドを受信し、パケットの残りを送り出すことを一時的に
停止する。
また、ログジャムの原因がなくなり、最初のストップ
フローコマンドを発生したFIFOバッファが該バッファが
記憶しているデータを伝送することができるようになる
ときに発生されるスタートフローコマンドのチェイン反
作用がある。
第10図は、本実施例において用いられ、ネットワーク
を通るデータパケットの流れに特に適切であるリンク装
置の細部の若干を示すものである。第10図には、2つの
スイッチ300及び302の連なりを通るホストコンピュータ
120からのデータパケットの流れを示してある。データ
パケットがスイッチ300内のリンク装置iに受信される
と、該スイッチは、入力リンク装置iをそのクロスバス
イッチを介して出力リンク装置TXjに接続することによ
り、前記パケットを経路指定する。このデータパケット
は、次いで、第2のスイッチ302を通過し、該スイッチ
はこのパケットを再び経路指定する。どれかのRxリンク
装置内のFIFOバッファ310、340が半ば一杯になると、該
バッファは、このFIFOバッファ内に既にあるデータが処
理されるまで、データ伝送チェイン内にある前のネット
ワーク構成要素にデータ伝送を停止させる。
ホストがデータパケットをリンク306上で伝送開始す
るにつれ、スイッチ300内の入力リンク装置308は受信し
たデータをFIFOバッファ310に一時的に記憶する。パケ
ットのヘッダ(図示せず)内のデータを用い、スイッチ
300は、そのリンクのうちのどれがデータパケットをそ
の宛先へ送り出すのに適切なリンクであるかを決定す
る。本例においては、リンク312が選択される。
リンク312が使用中でない場合には、スイッチは入力
リンク装置308を、選択されたリンク312に接続されてい
る出力リンク装置322に、クロスバースイッチ320を通じ
て接続する。通例、スイッチ300は出力スイッチを選択
することができ、及び入力リンク装置308を出力リンク
装置322に、データパケットの最初の25バイトを受信す
るのに要するよりも短い時間で、接続することができ
る。
しかし、リンク312が使用中でない場合には、スイッ
チ300はデータパケットをFIFOバッファ310内に記憶し続
け、適当するリンクが使用可能となるのを待つ。本実施
例においては、FIFOバッファ310は、4kバイトのパケッ
トデータを記憶することができ、そして、バッファが少
なくともハーフフル(half full)になると線路324上に
ハーフフルフラグを発生する組込み回路を有している。
FIFOバッファ310がハーフフル未満である場合には、こ
のフラグは「スタートフロー」コマンドと解釈される。
FIFOバッファがハーフフルを越えている場合には、この
フラグは「ストップフロー」コマンドと解釈される。
FIFOバッファ310からのハーフフルフラグの現在値
は、リンク306に接続されている出力リンク装置326によ
り、フロー制御値としてホスト120へ送り戻される。フ
ロー制御値が「0」となると、ホスト内のデータ「スロ
ットル」(即ち、第7図におけるリンク制御回路)が、
ホスト120によるデータパケットの伝送を可能にする。
しかし、FIFOバッファ310がハーフフルに到達すると、
このFIFOバッファによって発生する「ストップフロー」
コマンドが、ホストコンピュータ120内のスロットル186
をして、ホストによるデータの伝送を一時的に停止させ
る。スイッチ300が、FIFOバッファ310がハーフフル未満
になるのに十分なデータを伝送すると、FIFOバッファ31
0は「スタートフロー」コマンドを送り出し、このコマ
ンドはホストのスロットル186がデータパケット伝送を
再開することを可能にする。
第11図について後で説明するように、若干の組込み伝
送遅延及びパケット取扱要求があり、そのため、FIFOバ
ッファ310が最初「ストップフロー」コマンドを発生す
るときに該バッファ内に約2kバイトの余地を持っている
ことが必要となる。一般に、最小限要求されるFIFOバッ
ファ310の大きさは最大リンク長及び最大同報通信パケ
ットの大きさの関数である。その結果、例えばIDT 720
4型のような、4k x 9FIFOバッファを用いるのが便利
であるというが認められた。前記IDT 7204型は、FIFO
バッファが空であるかどうかを、及び少なくともハーフ
フルになっているかどうかを示すフラグを発生する回路
を既に含んでいる。
第10図に示すように、第1のスイッチ300がデータパ
ケットをリンク312上に経路指定するとき、このデータ
パケットは他のスイッチ302に受信される。ここで、こ
のデータパケットは入力リンク装置342内のFIFOバッフ
ァ340に再び記憶され、一方、このスイッチはこのパケ
ットをどこへ経路指定するかを決定する。データパケッ
トを経路指定することのできる可用リンクがない場合に
は、FIFOバッファ340は、これがハーフフルとなると、
線路344上に「ストップフロー」コマンドを発生する。
このストップフローコマンドはリンク312上でスイッチ
1へ送られる。詳述すると、このストップフローコマン
ドはスイッチ300の入力装置330に受信され、次いで、こ
のフローコマンドは、出力リンク装置332を、次いでク
ロスバースイッチ320を通じて、データパケットを受信
しつつある入力リンク装置308へ経路指定される。そこ
で、このフローコマンドはスロットル回路、即ち出力リ
ンク装置332を制御し、この回路は、スタートフローコ
マンドを受信するとFIFOバッファ310に記憶されている
データの伝送を可能にし、ストップフローコマンドを受
信すると伝送を不能にする。
リンク346が使用可能となると、スイッチ302はFIFOバ
ッファ340内のデータを出力リンク装置348を介してリン
ク346上へ伝送し始める。FIFOバッファ340がハーフフル
未満となると、該バッファはスタートフローコマンドを
線路344上へ送り出し、スイッチ300がデータパケットの
伝送を再開することを可能にする。
リンク装置 第11図は第10図に示したスイッチ300の入力及び出力
リンク装置を更に詳細に示すものである。各入力リンク
装置308及び310はTAXI受信器チップ350を有し、このチ
ップは受信リンク306または312上で受信したビット直列
データを9ビット並列信号に変換し、この信号は9ビッ
ト幅バス上でデマルチプレクサ(DMUX)352へ送られ
る。データの各バイトは、このバイトがデータであるか
コマンドであるかを示すデータ型フラグを有し、このフ
ラグは各バイトの9番目のビットを構成する。
デマルチプレクサ352はTAXI Rx回路350から受信した
信号の型フラグをモニタし、データからのデータストリ
ーム内のコマンドを分割する。データ信号、及びパケッ
ト「コマンドバイト」の終わりはFIFOバッファ310に記
憶される。リンク306上で受信されたフロー制御コマン
ドはオン/オフ(即ち、1/0)2進信号に変換され、こ
の信号は線路354上で伝送される。線路354上のフロー制
御コマンドはラッチ356にラッチされ、このラッチは対
応の出力リンク装置322の伝送クロックClk256でクロッ
クされる。ラッチされたフロー制御信号は、次いで、AN
Dゲート358によって伝送クロックClk256とAND処理さ
れ、その結果の信号はクロスバースイッチ320を通って
送り出されて他の入力リンク装置308へ伝送される。AND
ゲート358の出力は、クロスバースイッチ320により、入
力リンク装置308内のスロットル制御線360へ接続され
る。
ラッチ356及びANDゲート358は、入力リンク装置308へ
送られたフロー制御信号を出力リンク装置322の伝送ク
ロックと同期させる。また、ANDゲート358は、伝送済み
フローコマンドを256バイト毎に1回オフとなしてクロ
スバースイッチ320を通るデータの伝送を1バイト間停
止させる。この間、出力リンク装置322はデータの代わ
りにフロー制御信号を送り出す。要するに、出力リンク
装置322は、クロックClk256で定まる256バイトサイクル
毎に「ストップフロー」コマンドをスロットル制御線上
に送り出し、従って、対応のFIFOバッファ310のスロッ
トル332は、スイッチのフロー制御サイクル中はデータ
を送り出すことがない。
前述したように、入力リンク装置に受信されたフロー
制御信号は、ラッチされ、次いで、その出力リンク装置
を通るデータの流れを開始及び停止するのに用いられ
る。
各出力リンク装置322はクロスバースイッチ320から受
信した9ビット配列信号をビット直列信号に変換し、こ
の直列信号は出力リンク312上で伝送される。詳述する
と、出力リンク装置322はマルチプレクサ362を有す。マ
ルチプレクサ362はクロックClk256に接続され、このク
ロックは、線路364からのデータの伝送を255データバイ
トサイクルずつ交互に可能にし、次いで1フローコマン
ドバイトの伝送を可能にする。Clk256と同じ同期を持つ
クロックがデマルチプレクサ352に接続されており、従
って、FIFOバッファ310は、平均として、空になるより
も速く一杯になることはない。
マルチプレクサ362は、これが送り出すフローコマン
ドを、路線366の状態から導出する。線路366は、入力リ
ンク装置330内のFIFOバッファ310によって発生されるハ
ーフフルフラグを運ぶ。一般に、FIFOバッファ310が少
なくともハーフフルになると、オン(即ち、ストップ)
信号が線路366上で送られ、さもない場合にはオフ(即
ち、スタート)信号が線路366上で送られる。線路366上
の信号はエンコーダ回路368によって9ビット「ストッ
プフロー」または「スタートフロー」コマンドに変換さ
れ、Taxi Tx回路370によって伝送される。
マルチプレクサ362によって出力されたデータ及びフ
ローコマンドはTAXI送信器370によってビット直列デー
タストリームに変換され、この送信器は多重化されたデ
ータ及びコマンドをリンク312上で伝送する。
第12図はリンク装置回路の細部を更に示すものであ
る。第11図に示す入力リンク装置308内のデマルチプレ
クサ352は、第12図では、パイプラインレジスタ380、状
態レジスタ382及び制御ロジック384を用いて実現されて
いる。受信された全てのデータは、1バイトサイクル
間、パイプラインレジスタ380に記憶され、これは、各
バイトをFIFOバッファ310にロードすべきかどうかを決
めるための時間を制御ロジック384に与える。フローコ
マンドはデコードされ、状態レジスタ382に記憶され
る。制御ロジック384は、受信中のデータと同期させら
れる線路385上のクロック信号を受信する。このクロッ
ク信号はTAXI Rx回路350によって発生される。制御ロ
ジック384は状態レジスタ382を読み出し、或るコマンド
が受信されると、FIFOバッファ310内へのデータのロー
ディングを不能にする。もっと一般的には、制御ロジッ
ク384は1セットのクロック信号を発生する有限状態マ
シンであり、この信号は、入力リンク装置の一部を通っ
てFIFOバッファ310の入力ポートにまで至ってこれを含
むデータの流れを制御するのに用いられる。
FIFOバッファ310の入力側は、TAXI Rx回路350に受信
されるデータで同期化され、FIFOバッファ310の出力側
はスイッチ内の独立クロック回路によって発生される異
なるクロック信号によってクロックされる。これら2つ
のクロック速度は約0.02%以内でほぼ等しいが、同期は
させられない。
FIFOバッファ310の出力部にパイプラインレジスタ390
を連続させることにより、第2の制御ロジック回路392
は各新パケットの始まりを識別することができる。この
新パケットはパケットの宛先アドレスを含んでいる。こ
のパケットの宛先アドレスはバッファ394を介してルー
タへ送られる。
第11図に示すスロットル332は、FIFOバッファ310に対
する出力クロック信号を発生する制御ロジック392、及
びパイプラインレジスタ392によって実現される。制御
ロジック392は線路354からフロー制御信号を受信する。
この受信されたフロー制御信号は他の入力リンク装置に
よってクロスバースイッチを通って伝送されたものであ
る。ストップフローコマンドが受信されると、制御ロジ
ック392はFIFOバッファ310及びパイプラインレジスタ39
0に対する出力クロック信号を単に使用禁止となし、こ
れにより、FIFOバッファ310からのデータの流れを停止
させる。
制御ロジック392はまた、データの各9ビット・バイ
トのデータ/コマンド・ビットがFIFOバッファ310から
読み出されるときにこれをモニタし、各パケットの終わ
りを識別する。データ及びパケットコマンドバイトの終
わりだけがFIFOバッファ310に記憶される。従って、イ
ネーブルされたコマンドビットがFIFOバッファ310から
読み出されと、パケットの終りが制御ロジック392によ
って検出される。各パケットの終りの後、制御ロジック
392は、現在パケットがパイプラインをクリアするまで
待ち、次いで、送り出すべき新しいデータパケットを探
し始める。
制御ロジック392はルータバス232を介してルータ218
と会話する。新しいパケットの始まりが検出されると、
制御ロジック392は、ルータバス232のリンクマスク部上
で経路指定要求を送り出し、そして、その後のタイムス
ロット中に、ルータバスの同じリンクマスク部上の「グ
ラント」(grant)信号を受け取る。グラント信号が受
け取られると、前記新しいパケットに対するパケットの
宛先アドレスがバス230上のバッファ394によって主張さ
れる。制御ロジック392はまた、新しいパケットの伝送
を、バス232上のルータによって送られる経路指定選択
信号と同期させる。
両方のロジック回路384及び392は、入力リンク装置30
8の現在状態を示す状態信号を状態レジスタ382に記憶さ
せる。スイッチ制御プロセッサ(SPC)は状態レジスタ3
82に記憶されている状態値のうちの若干を周期的に読み
出し、どのリンク装置が生きているリンクに接続されて
いるか、及びどのリンク装置が適正に働いているかを測
定する。
第12図に示す出力リンク装置326は、パイプラインレ
ジスタ402、デコーダ404、有限状態マシン(FSM)406、
及びTAXI送信器370からなっている。クロスバースイッ
チからのデータは、1クロックサイクル間、パイプライ
ンレジスタ402内に保持され、TAXIタイミング仕様によ
って要求されるデコーダ404のセットアップを許す。パ
ケットコマドバイトの終りがパイプラインレジスタ402
に受信されると、FSM 406はこのコマンドを認識し、そ
してその内部状態を変更する。その後、対応の出力リン
クが、入力リンク装置308によって受信されたストップ
(STOP)フロー制御信号によって阻止されていないなら
ば、FMS 406は「リンク可用」信号をルータ218へ送り
出し、そこでルータは、このリンクが新しいパケットを
経路指定するために使用可能であるということを知る。
FMS 406はまた、パケットコマンドバイトの終りを送り
出すことをTAXI Tx回路370に指令し、次いで、ルータ2
18が他のパケットの伝送のために出力リンク装置326を
入力リンクに再接続するまで、同期化バイトを送り出す
ことをTAXI 370に指令する。
デコーダ404はFSM 406とともに、第1図のマルチプ
レクサ362として働く。詳述すると、FSM 406はClk256
クロック信号を用い、何時TAXIがクロスバースイッチか
らデータを伝送するか、及び何時該TAXIがフローコマン
ドを伝送するかを測定する。デコーダ404は入力リンク
装置からFIFOハーフフル状態信号を受け取る。フロー制
御信号を伝送するための各期間中、デコーダ404はFIFO
ハーフフル信号をデコードし、TAXI 370に対する適切
なコマンドを形成する。各パケットの始まりにおいて該
パケットはビギン(BEGIN)コマンドを形成し、各パケ
ットの終りにおいてデコーダ404はエンド(END)コマン
ドを形成する。出力リンク装置がストップフローコマン
ドによって阻止されている場合、または出力リンク装置
がアイドルとなっている場合には、デコーダ404はSYNK
コマンドを形成する。他の全ての期間中は、デコーダ40
4は「データ伝送」コマンドをTAXI 370へ送る。FSM 4
06は、出力リンク装置326の状態、及びどのコマンドを
デコーダ404がTAXI 370へ送るべきかを決定する。
出力リンクFSM 406はまた、新しいデータパケットの
伝送を、バス232上のルータによって送られる経路指定
選択信号と同期させる。同じ経路指定選択信号をクロス
バースイッチ内の経路選択ロジック408が用い、特定の
入力リンク装置を1つまたは複数の特定の出力リンク装
置に接続するためのデータ及びフローマルチプレクサを
セットアップする。
同報通信パケットに対するフロー制御 同報通信の項において後で説明するように、同報通信
パケットの伝送をパケットの中間で停止させることはで
きない。同報通信パケットに対しては所定の最大大きさ
があるから(例えば、1528バイト)、FIFOバッファ310
(第11図)には、パケットを受信しているスイッチによ
ってフローコマンドが発生させられるときに丁度送り出
されつつある同報通信パケット全体を吸収するための余
地がある。
全同報通信パケットを受信することのできるために、
FIFOバッファ310がストップフローコマンドを送り出す
ときに該バッファ内に残っているべき余地の量を測定す
るには、次の因子がある。即ち、ストップフローコマン
ドが送り出される前の最大遅延、伝送用ネットワーク構
成要素がストップコマンドを受信してこれに対して働く
ときに既に伝送されてしまっているデータの最大量、及
び、同報通信パケットの最大大きさ、がある。また、10
0メガビット/秒の伝送速度を持つ2キリメートルの光
ファイバケーブルに対しては、伝送用ネットワーク構成
要素がストップコマンドを受信するときに既に伝送され
てしまっているデータの量は約260バイトである。前記
遅延因子に加え、FIFOバッファ310は、送り出されよう
としている同報通信パケットを該パケット内のデータを
何も失うことなしに該バッファが吸収することのできる
ようにするため、該バッファがストップフローコマンド
を発生するときに少なくとも2044(256+260+1528)バ
イトの未使用記憶装置を必要とする。その他の遅延に備
え、及び追加の安全マージンを提供するため、FIFOバッ
ファ310は、これが残りの記憶装置の2k(即ち(204
8))バイトを持つときに、ストップフローコマンドを
発生する。
本実施例においては、各入力FIFOバッファ310は4kバ
イトのデータを記憶するのに十分な大きさである。これ
らFIFOバッファ310は、ハーフフル未満(即ち、2kより
も多くのバイトが未使用のまま残っている)である限り
スタートフローコマンドを発生するように、及び、これ
らが少なくともハーフフル(即ち、未使用のバイトが2k
またはそれ以下)となるとストップコマンドを発生する
ように設計されている。
パケット連続性 メッセージを部分的に伝送したスイッチが、その前の
スイッチから更に多くのメッセージを受信する準備がで
きているが、該その前のスイッチはメッセージの残りを
伝送する準備ができていない場合に、パケットまたはデ
ータアンダーランが生ずる。本発明の特徴として、パケ
ットアンダーランを不可能にする特徴がある。第10図の
回路においては、これら特徴は、パケットの終りが受信
されるまでは、伝送されるべきデータが常にFIFOバッフ
ァ310内にあることを保証するように設計されている。
第1に、第7図のホスト制御器は、全パケットがパケ
ットバッファ174内に記憶されるまではパケットの伝送
が開始されないようにプログラムされている。これによ
り、ホスト制御器は要求に応じてパケットの残りを伝送
することができるようになる。
第2に、第8図について説明すると、スイッチが新し
いデータパケットを受信すると、該スイッチは、このデ
ータパケットに対する経路指定要求を処理するため、及
び、どの出力リンクを用いてこのパケット再伝送するか
を決めるための時間を必要とする。ルータ218がこれに
対して働いている時間中、少なくとも25バイトのデータ
がFIFOバッファ310に記憶される。
パケットアンダーランを防止するための唯一の残りの
要件は、FIFOバッファ310にその前のネットワーク構成
要素から更に多くのデータが到達する前には、該バッフ
ァ内の全てのデータを読み出すことが不可能でなければ
ならないということである。基本的には、これは、各ス
イッチ内のデータ送信決に対するクロック速度不整合の
量に対する限界があるということを意味する。例えば、
スイッチ内の送信決がその前のネットワーク構成要素内
の送信器よりも若干速い場合には、FIFOバッファ310内
のデータの量は、パケットがスイッチを横切るにつれて
ゆっくりと減ることになる。従って、パケットアンダー
ランを防止するためには、最大の合法的データパケット
を伝送するのに要する時間の最大量に最大クロック速度
食違いを乗じたものが、新しいパケットの伝送がイネー
ブルされる前にFIFOバッファ310に記憶されているデー
タの量よりも小さい、ということが必要である。
本実施例においては、最大長パケットは長さ16kバイ
トであり、最大クロックスキューは約0.02%である。そ
の結果、パケットアンダーランを防止するためにFIFOバ
ッファ310に最初に記憶させることが必要なデータの量
は約4バイトである。本実施例においては、経路選択を
行なうにはルータ218は少なくとも25バイトサイクル(1
00メガビット/秒において)を要し、入力リンク装置を
選択済み出力リンク装置に接続するためにはスイッチは
少なくとも更に1バイトサイクルを要する。即ち、パケ
ットの再伝送開始ができるようになる前に、少なくとも
25バイトがFIFOバッファ310に記憶されることになる。
本発明において用いられるフロー制御装置の一つの利
点は、入力リンク装置内の制御ロジック392がFIFOバッ
ファ310を検査してパケットアンダーランを検出すると
いう必要がなくなり、従って、FIFOバッファ310の出力
側を入力側と同期させるという必要がなくなるというこ
とである。同期化済みFIFOアクセス回路は従来からあ
り、スイッチ相互間の全てのクロック速度不整合を解決
することができるが、かかる回路は本発明のバッファリ
ング手段よりも遥かに高価である。
ルータ回路 ネットワーク内の全てのスイッチにはその48ビットUI
Dに加え、一意的7ビットSHORTIDが割り当てられてい
る。SHORT IDはネットワークの構成中に割り当てら
れ、何等かの特定のスイッチに対するSHORT IDはネッ
トワークが再構成されるときに変化する。各ホストコン
ピュータには11ビット「ネットワークアドレス」が割り
当てられる。ホストコンピュータのネットワークアドレ
スは、そのスイッチのSHORT IDを、このホストをスイ
ッチに接続しているリンクポートの4ビット値と連結す
ることによって発生される。各スイッチのネットワーク
アドレスは、そのSHORT IDに、SCPリンク装置のリンク
番号に対応する所定の4ビット値(例えば、ゼロ)を加
えたものである。
ネットワークアドレスは、ネットワークを通って伝送
されるパケットの宛先を特定するのに用いられるアドレ
ス値である。
各ネットワーク構成要素にネットワークアドレス及び
UIDが割り当てられるという理由は、ネットワークを通
るパケットの経路指定を容易にするためにはなるべく短
い値が必要であったからである。7ビットSHORT IDは1
28個までのスイッチを考慮したものである。各スイッチ
は多くとも12の外部ポートしか有しておらず、そのうち
の少なくとも一つを用いてネットワーク内のスイッチを
他のスイッチに接続することが必要であるから、多くと
も1408のホストしかありえない。これは、本発明の予想
される全ての用途に対して十二分であると考えられる。
いうまでもなく12ビット・ネットワークアドレスをも用
いることにより、ネットワーク構成要素の許容数を簡単
に倍増することができる。
データパケットを初めて伝送するとき、このデータパ
ケットが送られるネットワーク構成要素のネットワーク
アドレスはパケットの最初の数バイトに記憶される。ル
ータ218は、ショートアドレス(short address)の値、
及びパケットを受信する入力リンクを用い、どの出力リ
ンクを用いてデータパケットを再伝送すべかを決定す
る。
一般に、ルータ218の目的は、システム資源(即ち、
出力リンク)を公正且つ正当にデータパケットに割り当
てることである。パケット枯渇を防止することもルータ
218のジョブである。ルータは、先着先行的経路指定優
先順序を用い、資源に対する要求を、該要求が受け取ら
れた順序で利用可能資源のセットと比較する。利用可能
資源に整合すべき最初の要求を選択し、これが必要とす
る資源を割り当てる。この処理を繰り返す。
先着先行的経路指定秩序を用いると、割当てが、早く
来た要求の必要性と衝突することのないかぎり、この早
く来た要求の前に、遅く来た要求に資源が割当てられ
る。この経路指定秩序により、利用可能資源が資源要求
者に割当てられる速度が最大となる。同報通信データパ
ケットに対して、この経路指定秩序は、要求された資源
が同報通信要求によって留保されるということを意味
し、遅く来た要求が同報通信データパケットの進行を妨
げるということがない。
第13図は本実施例において用いるルータ回路218の基
本的構成部材を示すものである。第9図に示すように、
ルータ218はバス230上でパケット宛先アドレスを受信す
る。経路指定要求及び出力リンク可用信号は、ルータバ
ス232上で、ルータ218によるリンク選択値の伝送ととも
に時多重化される。
各「経路指定アドレス」は11ビット・パケットアドレ
ス及び4ビット入力リンク番号を有す。経路指定アドレ
スはレジスタ420に記憶される。経路指定テーブル422は
経路指定アドレス値によってインデックスされるルック
アップテーブルである。経路指定テーブル422は、可能
性ある全ての経路指定アドレス値に対するエントリを含
んでおり、これは、経路指定アドレスに対応するパケッ
トを経路指定するために用いられる可能性ある出力リン
クを特定する。
入力リンク装置がそのFIFOバッファの出力部における
新しいパケットの受信を検出すると、該装置はリンクマ
スク部232A上に要求信号を送る。
経路指定選択回路424がバス232Aをモニタし、何等か
の経路指定要求が主張されているかどうかを調べる。ど
れか一つの経路指定エンジンサイクル中に1つまたは複
数の経路指定要求が主張されている場合には、選択回路
424が要求のうちの一つを選択する。選択された要求
は、選択されたリンク装置へ適切な時にバス232A上でオ
ン信号を送ることにより、肯定応答される。この肯定応
答信号は、前記信号を送られたリンク装置がその経路指
定要求をバス230上で伝送するように選択されたという
ことを、該リンク装置に知らせ、次いで、この選択され
た入力リンク装置は、その経路指定要求に対するパケッ
ト宛先アドレスをバス230を介してバッファ、即ち、レ
ジスタ420へ送る。
要求選択回路424は循環優先順位エンコーダであり、
要求が選択された最後のリンク装置上で競合する要求の
なかから選択するための優先順位に基礎を置く。これに
より、全ての要求が短時間内に受容され、パケット枯渇
防止を助ける。
各経路指定テーブルアドレスは、線路230上で受信さ
れる11ビット・パケット宛先アドレス、及び要求選択回
路424によって提供される付属の4ビット入力リンク番
号を含んでいる。経路指定テーブルアドレスはレジスタ
420に記憶され、経路指定テーブルによって用いられ
る。経路指定テーブル422はランダムアクセスメモリに
記憶され、レジスタ420内の15ビット値が経路指定テー
ブル422から一つの値(経路指定マスクと呼ばれる)を
検索するためのアドレスとして用いられる。経路指定テ
ーブル422によって出力される選択済み経路指定マスク
は、後で詳細に説明するように、次の経路指定エンジン
サイクルの始まりにおいて経路指定エンジン430によっ
てラッチされる。
第14図は、線路230によって送られるパケットアドレ
スがどのようにして到来パケットの最初の2つのデータ
バイトから引き出されるか、及び、このデータが、要求
選択回路424によって発生される入力リンク番号とどの
ようにして結合されるかを示すものである。なお、第12
図をも参照されたい。本実施例においては、パケットア
ドレスは長さ15ビットである。将来は、パケットアドレ
スまたは入力リンク番号に対して用いられるビット数が
増す可能性がある。
経路指定テーブル422は可能性ある全ての経路指定ア
ドレスのためのエントリ426を有す。換言すれば、該テ
ーブルは、4ビット入力リンク番号と11ビット・パケッ
トアドレスとの可能性ある全ての組合せのためのエント
リを有す。これら2つの値は15ビットを占めるから、テ
ーブル422内のエントリの数は215、または32,768とな
る。各エントリは記憶装置の2バイトを占め、従ってテ
ーブル422は65,536バイトの記憶装置を必要とする。一
般に、経路指定テーブル内のエントリのうちの少数だけ
が「合法的」経路指定要求を表し、他の全てのものは、
改悪されたかまたは違法な要求値を表す。違法要求に対
するテーブルエントリはBC=1であり、マスクの残りの
部分は全てゼロに等しい。データパケットが違法経路指
定要求を発生する場合には、このデータパケットはスイ
ッチから追い出される。
経路指定テーブル422が入力リンク番号及びネットワ
ークアドレスによってインデックスされ、ネットワーク
アドレスのみによってはインデックスされないという理
由は次の通りである。パケット内のネットワークアドレ
スが改悪されているということがないならば、経路指定
テーブルをネットワークアドレスによってインデックス
することができる。経路指定テーブル内のエントリは、
なお、アップ/ダウン経路指定規則に従っている。これ
が可能であるのは、ネットワーク内の任意の所定位置か
ら特定ネットワークアドレスまでの少なくとも1つの通
路が常にあるからであり、これは、パケットがネットワ
ーク内のその現在位置への合法的経路上を進むものと仮
定すると、アップ/ダウン経路指定規則に違反しない。
この合法的通路は、ネットワークアドレスのみによって
インデックスされるスイッチ経路指定テーブルに記憶さ
せることが可能である。しかし、パケット内のネットワ
ークアドレスが改悪されており、経路指定テーブルが入
力リンク番号によってインデックスされないとすると、
デッドロックを持つ可能性がある。これは、パケット
が、その宛先ネットワークアドレスが改悪された後に
「間違った順番をとる」可能性があるからである。
80のネットワーク構成要素を持つネットワークにおい
ては、81程度の合法的パケットアドレスがあるに過ぎ
ず、これには、各ネットワーク構成要素に対する1つの
アドレス、及びパケットをネットワーク上の全てのホス
トへ送るための1つまたは複数の「同報通信」アドレス
が含まれている。また、入力リンク番号とパケットアド
レスとの若干の組合せは違法となる。即ち、これらは、
パケットをその宛先から遠ざける経路に対応している
か、またはデッドロックを生じさせる可能性があるから
である。従って、80構成要素ネットワークにおいては、
任意の特定スイッチに対する経路指定テーブルは320か
ら750までの合法的エントリを持つのが普通である。
経路指定テーブル内の各エントリは、経路指定マスク
とも呼ばれるリングベクトルを含んでいる。経路指定マ
スクの一例を次に示す。
経路指定テーブル内の各アドレスは、入力リンクから
受け取られる可能性のある経路指定要求値のうちの一つ
を表し、従って、ここでは、入力リンク番号とパケット
アドレスとの連結によって表されている。
各経路指定テーブルエントリ426内の経路指定マスク
は13のマスクビットを含んでおり、SCP含むスイッチの
出力リンクの各々に対して1つのビットがある。オン
(即ち、「1」に等しい)となっている各マスクビット
は、パケットの経路指定に用いられる出力リンクを表。
経路指定マスクも同報通信ビットBCを含んでおり、これ
は、パケットアドレスが同報通信アドレスであるか、通
常アドレスであるかを示す。経路指定マスク428の一例
を第14図に示してあり、これも、以下に説明する理由
で、経路指定マスク上の有効ビット及びその下のリンク
番号を示している。
同報通信ビットBCがオン(即ち、「1」に等しい)と
なっている場合には、このパケットは同報通信パケット
と呼ばれる。同報通信パケットは、経路指定マスクによ
って特定される全ての出力リンクへ必ず同時に送り出さ
れる。
同報通信ビットBCがオン(即ち、「0」に等しい)と
なっている場合には、このパケットは非同報通信パケッ
トと呼ばれる。非同報通信パケットに対しては、経路指
定マスクは各出力リンクに対して「1」に等しいマスク
ビットを有し、これは、パケットをその宛先へ経路指定
するのに用いられる(即ち、パケットは、経路指定マス
クによって特定される出力リンクのうちの任意の単一の
もの上で経路指定される)。多くの場合、いくつかの異
なる交互出力リンクを用いてパケットをその宛先へ経路
指定することができる。これはメッシュ接続式ネットワ
ークの一つの利点である。経路指定エンジン430は、パ
ケットを経路指定するための経路指定マスクによって特
定される出力リンクのうちの適正のものを選択する。
各経路指定テーブルエントリ426の経路指定マスク内
のビット値は、前述のアップ/ダウン経路指定規則によ
って決定される。アップ/ダウン経路指定規則によれ
ば、データパケットに対する合法的経路のセットは、使
用された最後のリンク(即ち、現在スイッチを取るため
に使用されたリンク)がアップリンクであったがダウン
リンクであったかによって定まる。前のスイッチがパケ
ットをダウンリンク上で伝送していた場合には、ダウン
リンクのみが次のスイッチによって用いられる。しか
し、前のスイッチがアップリンクを使用していた場合に
は、アップ及びダウンの両方のリンクが次のスイッチに
よって合法的に使用される。また、各経路指定マスク内
に示される使用可能リンクのセットは、データパケット
を移動させてその宛先へ近付けるリンクを含んでいるだ
けである。
第14図は、経路指定エンジン430に読み込まれるとき
の「経路指定要求」、即ち、経路指定マスク428のフォ
ーマットを示すものである。有効フラグと呼ばれる最上
位のビットは、経路指定要求が経路指定エンジンにロー
ドされつつあるときには「1」にセットされ、処理され
つつある新しい経路指定要求がないときには「0」にリ
セットされる。次の14ビットは、前述したように、経路
指定テーブル422のうちの選択されたエントリから得ら
れるリンクベクトルである。最後の4ビットは経路指定
中のパケットに対する入力リンク番号である。
経路指定エンジン430は、現在使用可能な出力リンク
を表すリンク可用マスクを経路指定要求と比較する。詳
述すると、経路指定エンジ430の目的は、各新しいパケ
ットの出力リンク必要性をスイッチの可用出力リンクと
整合させることである。経路指定エンジン430によって
発生される経路指定選択値はクロスバースイッチ212
(例えば第8図及び第9図に示す)によって使用されて
そのマルチプレクサをセットアップし、これにより、特
定の入力リンクを1つまたは複数の特定の出力リンクに
接続する。経路指定エンジンは、米国特許第5179558号
の主題である。
第12図について前述したように、各出力リンク装置32
6は「リンク可用」信号を伝送し、これは、この出力リ
ンクが経路指定のために利用可能であるか、または既に
使用または阻止されているかを示す。バス232は全ての
出力リンクからのリンク可用信号線を持っている。経路
指定エンジン430は、各新しい経路指定エンジンサイク
ルの始まりにおいてバス232上のリンク可用信号をサン
プリングする。次いで、経路指定エンジン430は可用リ
ンクマスクを用いて経路指定選択を行なう。
経路指定エンジン430が、1つまたは複数の可用リン
クをもって経路指定要求に整合することのできるように
なると、該エンジンは経路指定選択値を発生し、これを
バス232上に出力する。この経路指定選択値は、4ビッ
ト入力リンク番号、充足された経路指定要求からの同報
通信ビット及び有効ビット、並びに、入力リンクに接続
されるべき出力リンクを識別する出力リンクマスクから
成っている。前記の入力リンク番号、同報通信ビット及
び有効ビットはルータバスの部分232B上で伝送され、出
力リンクマスクはルータバスの部分232A上で伝送され
る。ルータバス233上で伝送される経路選択値は、入力
リンク装置220及び出力リンク装置222並びにクロスバー
スイッチ212(第9図)によって用いられ、特定入力リ
ンクを1つまたは複数の特定出力リンクに接続する。
「有効」出力ビットは、経路指定エンジン430が新し
い経路選択を出力しているサイクル中にのみオンとな
る。従って、経路指定エンジン430によって出力される
「有効」ビットは、経路指定エンジン430がいずれの未
決定経路指定要求をも可用出力リンクと整合させること
のできないサイクル中は、オフとなる。
制御回路435は経路指定エンジン430及び要求選択回路
424に対するクロック信号を発生する。これらクロック
信号はまたパケットアドレスバス230及びルータバス232
の使用を制御する。そのタイミングプロトコルについて
は第16図について後で説明する。
制御ロジック435はまたSCP216によって用いられ、ネ
ットワークの再構成中に経路指定テーブル428を再ロー
ドし、ルータ218の状態のトラックを保持し、及び、ス
イッチ全体が賦勢またはリセットされると成るファーム
ウェアを経路指定エンジン430にロードする。
経路指定エンジン 第15図は経路指定エンジン430の実施例を示すもので
ある。本実施例においては、経路指定エンジンは計算構
成部材のアレイ450で形成されており、該部材の各々を
第15図においてボックスで表してある。図示のアレイ
は、ザイリンクス(Xilinx)社製のザイリンクス3090型
と呼ばれるプログラマブルゲートアレイを表している。
ザイリンクス3090型アレイは16の桁を有しており、各桁
には12の組合せ論理ブロック(CLB)がある。CLBは、種
々の論理及び記憶の機能を行なうように電気的にプログ
ラムされる。各CLBは2つのフリップフロップ及び2つ
の機能装置を有す。各機能装置は4つの入力変数までの
すべてのブール関数を計算することができる。CLBは、
機能ブロックまたはフリップフロップから直接に来るこ
とができる2つの出力を発生する。また、各CLBの近く
には2つのトライステートドライバがある。これらドラ
イバは、チップを横切る水平の金属トレースに接続さ
れ、バスを構成することができる。プログラマブルロジ
ックを提供するほかに、ザイリンクス3090型アレイは、
相隣るCLB間、及び該アレイの外側の回路に対するイン
タフェースを提供する複数のパッドセル間のプログラマ
ブル相互接続を提供する。即ち、このアレイの挙動及び
機能は、外部転送元(例えば、各スイッチ内のSCP)か
ら該アレイにロードされる制御ビットのパターンによっ
て決定される。チップ製造の一部としてカスタマイゼー
ション(customization)は行なわれない。
経路指定エンジンアレイ450は13の桁451〜463を用
い、その各々には19の論理ブロックがある。これら桁45
1〜463の各々は単一の経路指定要求を記憶及び処理す
る。また、アレイの右側には、13のレディ信号ジェネレ
ータ(RG)の桁465及び13の出力信号ジェネレータ
(O)の桁468がある。
経路指定要求はアレイの左側で受け取られる。アレイ
の左側に示してある信号記号は第14図に示す経路指定要
求のフォーマットに整合する。
出力リンク可用マスクはアレイ450の右側で受け取ら
れる。出力リンク可用マスクを記号RDY0ないしRDY12で
表してあり、これは、第13図に示すようにバッファ440
から受け取られる。
アレイ450からの出力は、経路指定エンジンによって
作られる経路指定選択であり、アレイの右側からバス47
0上に現われる。第13図について前述したように、経路
指定選択は、19ビット、即ち、経路指定選択がなされた
ということを示す有効ビット、13ビット出力マスク、並
びに経路指定要求からの同報通信ビット及び4ビット入
力リンク番号を含んでいる。
アレイの13の桁451〜463はルータの先着先行的秩序を
実行する行列として働く。行列の右側にある桁は古い未
充足の経路指定要求を保持し、左側の桁はもっと新しい
要求を保持する。
全アレイは周期的クロックサイクルで働く。経路指定
エンジンはクロックサイクル当り1つの経路指定要求を
受け入れ、各クロックサイクル中に経路指定選択を行な
おうと1回試みる。
第16図について説明すると、各クロックサイクルは6
つの位相T0〜T5を有す。各位相は80ナノ秒継続し、総計
クロックサイクルは480ナノ秒になる。ルータクロック
サイクルは、クロック信号T03で示す2つの主な副位相
を有す。第1の副位相中はT03=1であり、第2の副位
相中はT03=0である。
後で説明するように、経路指定要求をルータ218へ送
り、この要求を処理し、次いで経路指定選択をリンク装
置及びクロスバースイッチへ送るには3ルータサイクが
かかる。
経路指定要求は次のようにしてルータ218へ送られ
る。T4中、ルータへ送られることを必要とする経路指定
要求を有する各入力リンク装置は、ルータバス232のそ
の対応の線路上でオン信号を主張する。経路指定選択回
路424はT4中にルータバス232をモニタし、何等かの経路
指定要求が主張されているかどうかを調べる。唯1つの
要求が主張されている場合には、これは肯定応答され
る。いずれか1つのクロックサイクル中に複数の経路指
定要求が主張されている場合には、経路指定選択回路42
4は、前述したように、これら要求のうちの1つだけを
選択する。
選択された要求は、次のルータサイクルのT3中、選択
されたリンク装置へバス232上でオン信号を送ることに
よって肯定応答される。この肯定応答信号は、信号を送
られたリンク装置に、該装置がその経路指定要求をバス
230上で伝送するように選択された、ということを知ら
せる。クロック位相T3〜T5中、選択された前記リンク装
置はその経路指定要求に対するパケットアドレスをバッ
ファ420を介して経路指定テーブル422へ送る。位相T3〜
T5中、経路指定テーブル422はアクセスされ、前記経路
指定要求に対応するリンクベクトルは、T5の終りまで
に、その出力部においてレディ状態となる。
位相T5中、全ての出力リンク装置はその可用フラグ値
をルータバス232上で主張し、これにより、これら信号
は次のルータサイクルの始まりにおいて経路指定エンジ
ンに対してレディ状態となる。
T0の始まりにおいて、経路指定エンジン430は、ルー
タバス232からの可用フラグを、及び現在経路指定要求
がある場合にはこれを、リンク内にラッチする。現在経
路指定要求は、経路指定テーブル422によって出力され
るリンクベクトル、並びに要求選択回路424によって出
力されるリンク番号及び有効ビットを含んでいる。
ルータサイクルT0〜T5の残りの部分中、経路指定エン
ジン430はリンク内にラッチされた可用データを、経路
指定エンジン430のデータ桁内に記憶されている全ての
未充足の経路指定要求と比較する。この比較の結果は、
T5の終りにおいて、経路指定エンジンの出力桁468内に
ラッチされる。しかし、経路指定エンジンによて発生さ
れた経路指定選択は、次ぎに続くルータサイクルのT1ま
では、ルータバス232上に主張されない。このルータサ
イクルのT1〜T5中、経路指定選択のビットがオンとなっ
ている場合には、リンク装置及びクロスバースイッチは
経路指定選択出力を処理し、これにより、特定入力リン
ク装置を特定出力リンク装置と接続する。これらリンク
装置はまた、前記特定入力リンク装置のFIFOバッファ31
0内のデータを伝送開始する準備をする。
このルータサイクルのT3中、クロスバー回路212は、
経路指定エンジン及び特定出力リンクによって主張され
た入力リンク番号を覚えているのであり、出力リンク番
号をルータバスのリンクインデックス部上で主張し、こ
の特定入力リンクマ番号に対応するフロー制御マルチプ
レクサをセットアップする。しかし、経路指定選択内の
同報通信ビットがオンとなっている場合には、T3中に主
張された出力リンク番号は所定の番号(例えば、15また
はF)にセットされる。
要約すると、ルータ218の各部分は各6分の1ルータ
サイクル中に個別のタスクを行なう。また、ルータバス
232は時多重化されて、経路指定要求を経路指定要求選
択回路424へ送り、及び、経路指定選択をリク装置へ送
る。
1段当り6つの80nsクロックサイクルが3段パイプラ
インにおいて用いると、ルータ218は1秒当り2百万を
若干越えるパケットを経路指定することができ、そして
1スイッチ当り約1.44ミリ秒に待ち時間を各パケットの
通路内に加える。このルータパイプラインの3つの段
は、(1)経路指定要求マスクを発生するための入力リ
ンク選択及び経路指定テーブル索引、(2)経路指定エ
ンジンサイクル、及び()クロスバースイッチ212及び
リンク装置への経路指定選択の伝送である。
ルータサイクルの各位相中の経路指定エンジの動作に
ついて次に更に詳細に説明する。各ルータサイクルの始
まりに、T0の始まりにおいて、経路指定要求及び可用出
力リンクマスクが読み込まれる。経路指定要求はアレイ
451の左端桁にラッチされ、リンク可用マスク(RDY0〜R
DY12)はレデイ信号桁465にラッチされる。また、アレ
イに既に記憶されている各未充足経路指定要求は、アレ
イ内の右に、未充足要求によって占められていない少な
くとも1つの桁がある場合には、アレイ内で右へ1桁シ
フトされる。
ルータサイクルの最初の副位相中、いくつかのセット
の信号がアレイを横切って伝播する。先ず、リンク可用
マスクが右から左へアレイを横切って伝播する。要求取
扱い桁451〜463の各々における回路はその桁に記憶され
ている経路指定要求をリンク可用マスクと比較する。非
同報通信要求(BD=0となっている)を記憶している桁
において、少なくとも1つの使用可能MASKビットが使用
可能RDYビットと整合する場合にMATCH信号が発生され
る。
同報通信要求(BC=1となっている)を記憶している
桁において、全ての使用可能MASKビットが対応のRDYビ
ットに整合する場合にのみ(即ち、この要求が必要とす
る全ての出力リンクが使用可能である場合にのみ)、MA
TCH信号が発生される。
同報通信信号要求(BD=1の)を記憶している桁はま
た、この同報通信要求のMASKビットに整合するRDY信号
の伝播を阻止する。事実、同報通信要求は、この要求が
必要とする可用出力リンクを「リザーブ」(reserve)
する。これが行なわれないと、同報通信パケットの経路
指定は、同報通信パケットが必要とする出力リンクの個
々のものに整合してこれを使用する後続の要求によって
永久に妨害される可能性がある。
MATCH信号は、整合が見いだされる桁を通って上方へ
伝播される。即ち、MATCH信号は、クロックサイクルの
最初の位相中に伝播する第2のセットの信号である。
2つまたはそれ以上の桁がMATCH信号を発生すること
は完全に可能である。最も古い未充足要求に最初の考慮
を与えるためには、整合が見いだされた右端桁を選択す
ることが必要である。これを行なうため、ANSWEREDと呼
ばれる信号が、アレイの最上位にあるC1セルを通ってア
レイの右側から左へ伝播する。ANSWERED信号は、これ
が、使用可MATCH信号を持つ有効桁(即ち、VALID=
“1")に出会うまで、「0」の値を有し、この時点でAN
SWEREDは「1」に等しくセットされる。
ANSWERED信号は、ルータサイクルの最初の副位相中に
伝播する第3の型の信号である。
T3の終りにおいて、出力イネーブル信号ND_ENABLE
が、右隣の桁から「0」のANSWERED信号を受け取る使用
可能MATCH信号を持つ右端桁に対して発生される。いう
までもなく、多くのクロックサイクル中は、可用リンク
マスクに整合する桁はなく、また、出力イネーブル信号
は発生されない。さしあたりは、出力イネーブル信号が
1つの選択された桁に対して発生される場合について考
える。
多くとも、唯1つの桁が、全ての1クロックサイクル
中に、使用可能ND_ENABLE信号を有しているだけであ
る。使用可能ND_ENABLE信号を有している桁が無い場合
には、これは、経路指定エンジンが、可用出力リンクに
整合した経路指定要求を見付けることに失敗した、とい
うことを意味する。
ルータサイクルの第2の副位相中、使用可能ND_ENABL
E信号を持つ桁からの次のデータ値が、即ち、全ての整
合済み経路指定マスクビット(即ち、可用出力リンクが
ある使用可能マスクビット)、同報通信ビット、リンク
番号ビット、及び有効ビットが、アレイの出力桁468へ
伝播される。
出力桁468における回路は次のように働く。非同報通
信要求(BC=0)に対しては、使用可能マスクビットの
うちの最下位のものが出力されるだけであり、他の全て
のビットは使用禁止となる。同報通信要求(BC=1)に
対しては、全ての使用可能マスクビットが出力される。
両方の型の要求に対しては、同報通信ビット、リンク番
号ビット、及び有効ビットも出力桁468によって出力さ
れる。
その結果の経路指定選択値は、使用可能有効ビット、
1つの使用可能マスクビット(同報通信パケットでない
限り)、並びに経路指定要求の同報通信ビット及び入力
リンク番号を持つ。
明らかに考えられるように、パケットが必要とする出
力リンクが使用中である場合がしばしばあるので、或る
パケットを即時に経路指定することのできない場合があ
る。従って、経路指定エンジンアレイ450の桁451〜463
は、未充足経路指定要求が記憶されて可用出力リンクと
周期的に比較される行列として働く。
経路指定エンジンが可用出力リンクをいずれかの未充
足経路指定要求と整合させることに失敗すると、アレイ
によって出力されるデータは使用禁止VALIDビットを持
つ。スイッチ内のリンク装置及びクロスバー回路は、VA
LIDビットが使用禁止となるサイクル中には経路指定エ
ンジンの出力を無視する。
新しい要求がアレイ450に入力されるにつれ、未充足
または無効要求を含んでいる要求取扱い桁は、この新し
い経路指定要求のための余地を作るために、右へシフト
することが必要である。アレイ内の全ての要求取扱い桁
451〜463は、未充足要求を保持しているアレイ右側にあ
る桁を除き、各サイクル中に右へシフトされる。
詳述すると、各桁451〜463は、次のような或る条件が
見たされる場合、桁からその左へデータをロードする
(左端桁は経路指定要求バッファ428からロードす
る)。即ち、 (1)桁が無効要求を含んでいる場合にこの桁が該桁か
ら左へデータを重ね書きされる場合、または、 (2)右にある少なくとも1つの桁が該桁からその左へ
データをロードする場合、または、 (3)桁内の経路指定要求が既に充足され、出力するよ
うに選択されている場合、 である。
桁が結果を供給し、そして右へシフトする桁がない場
合、要求は桁の内容でその左へ重ね書きされる。他方、
アレイが、結果を供給する桁の右へ無効要求を含んでい
る場合には、既に充足された要求は右へ1桁シフトして
アレイ内に留まる。
このような要求が後続のサイクルにおいて結果を供給
することのないようにするには、各桁内にBC及びVALIED
値を記憶しているレジスタの入力を、桁から左へ、ND_E
NABLE信号とAND処理する。これは、桁が結果を供給して
同じサイクル内でシフトする場合、要求は、これが次の
桁内に右へシフトすると、無効化され、そしてそのBCビ
ットはクリアされると、いうことを意味する。
出力桁468によって発生される最後の出力は、各サイ
クルの終りにおいて出力桁468内のラッチ(図示せず)
に記憶される。この出力桁に記憶された出力信号は、次
の経路指定エンジンサイクルのT1サブサイクル中にルー
タバス232上で伝送される。
サブシステムをモニタする出力リンクによって(即
ち、第13図におけるラッチングバッファ440を介して)
供給されるRDY信号は、経路指定エンジンによって直接
使用することができない。これは、ルータ218がパイプ
ライン回路の一部であるからである。経路指定エンジン
430が、特別の出力リンクを使用する出力を供給する場
合には、この出力リンクを、ルータの後続のクロックサ
イクル中の使用にレディ状態となっていない(即ち、使
用可能でない)ように見えさせることが必要である。こ
れは、受信RDYマスクを出力マスクの補数とAND処理し、
その後、これを、経路指定エンジンの桁451〜463内の経
路指定要求の行列へ送り出すことによって、行なうこと
ができる。
同報通信パケット取扱い 同報通信パケットは、一般に、1つのホストコンピュ
ータによってネットワーク内の他の全てのホストへ送ら
れるメッセージである。スイッチによって始動される同
報通信パケット及び限定配布先同報通信を含む他の型の
同報通信パケットも使用可能であるが、同じ経路指定及
び枯渇防止の配慮を全ての型の同報通信パケットに適用
する。
同報通信パケットは、多数のネットワーク−リンク上
で同報通信メッセージを同時に伝送することが必要であ
るので、一般に、メッシュ接続式ネットワークにおいて
取り扱うのに最も難しい型のパケットである。また、同
報通信パケットを全ての宛先へ迅速に確実に進ませるこ
とが必要である。即ち、これは同報通信パケットによっ
て与えられる重要な機能であるからである。
同報通信パケットの典型的な使用は次の通りである。
ホストAはホストBへメッセージを送りたいと欲する。
しかし、ホストAはホストBのネットワークアドレス
を、即ち、各パケットの最初の2バイトに記憶されてい
る11ビット・アドレスを知っていない。そこで、ホスト
Aは、ホストBのネットワークアドレスを得るための気
候が必要になる。これは、周知の解決手段を持っている
ローカルエリアネットワークにおける周知の問題であ
る。この解決手段は、「同報通信メッセージ」またはパ
ケットをシステム内の全てのホストへ送ることである。
この同報通信メッセージの内容は、「ホストB、あなた
のネットワークアドレスを含んでいるメッセージをネッ
トワークアドレスXにおけるホストAに送ってくださ
い」というものである。この同報通信メッセージはネッ
トワーク内の全てのホストコンピュータへ送られる。し
かし、ホストBだけが(Bが居る場合)これに応答し
て、要求された上方をホストAへ送る。そこで、ホスト
AはそのメッセージをホストBへ送ることができる。良
好に設計されたローカルエリアネットワークにおいて
は、この伝送全体に要する時間は、一般に、1秒のうち
の極めて小さな部分である。
同報通信メッセージが用いられる他の場合は、ホスト
AがホストBへパケットを送ろうとするが、ホストBが
このパケットの受信を肯定応答しない場合である。この
状態に対する一般的なプロトコルは、ホストAがパケッ
トを再び送ることである。それでも肯定応答が受信され
ない場合には、ホストAは、このパケットがホストBに
対する正しいアドレスを持っていないものと結論する
(例えば、アドレスが転化したため、または、ホストA
は知らないでいたが、ホストBのアドレスが変更されて
いたため)。そこで、ホストAは前述の同報通信パケッ
トプロトコルを用いてホストBの現在のネットワークア
ドレスを見付ける。
同報通信パケットが有用であるという多くの状態は周
知であるが、メッシュ接続式ネットワークにおいてどの
ようにして同報通信パケットを経路指定するかというこ
とはよく知られていない。次ぎに、これを本発明におい
てどのようにして行なうかを説明する。
第17図にメッシュ接続式ネットワーク700を略示す
る。このネットワークは16のスイッチ710〜740、及び27
のホストH1〜H27を有す。スイッチ710は、後で説明する
理由で、ネットワークの根ノードと呼ばれる。第17図
は、主として、スイッチ間のリンクが次の2つの特徴を
割り当てられるという点において、第2図とは異なる。
即ち、(1)「アップ」として知られている主方向、及
び(2)いわゆる「スパニングツリー」リンクが「追
加」線よりも太い実線で示されている、という点であ
る。スイッチ710〜740及びスパニングツリーリンクが全
体で「スパニングツリー」を形成する。
ホストH19で始まる同報通信パケットが後に続く通路
について考えてみる。このパケットには「8FF」のよう
な一意的11ビット「同報通信パケットアドレス」が与え
られている。最初、このパケットはスイッチ732、724、
712、次いで710を通ってネットワークツリーを上方へ移
動して根に至る。これを行なうため、これらスイッチの
各々内の経路指定テーブルは、使用される入力リンクに
対応するリンクベクトルエントリ及び同報通信パケット
アドレスを有す。スイッチ732、724及び712の各々内の
リンクベクトルは、パケットに使用可能な経路のみが、
パケットをツリー710の根の方へ上方へ移動させるリン
クに沿っている、ということを示す。
パケットが根スイッチ710に到達すると、同報通信パ
ケットはネットワーク内の全てのホストへ向かって全て
のスパニングツリーリンク(第17図において追加リンク
よりも太い実線で示す)を通って下方へ再経路指定され
る。根内の経路指定テーブルは、同報通信パケットが到
達する入力リンクとは関係なしに、同報通信パケットに
対する同じ同報通信リンクベクトル値を有す。詳述する
と、同報通信リンクベクトルは、受信された同報通信パ
ケットが、スイッチに接続された全てのスパニングツリ
ーリンク上で同時に伝送される、ということを特定す
る。これは、受信されたデータパケットが、これが受信
されたと同じリンク上で再伝送される、という唯一の場
合である。
第17図に示すネットワーク700においては、同報通信
パケットは根パケット710からスイッチ712、714、716、
718及び720へ同時に伝送される。また同時に、同報通信
パケットは、根スイッチに接続された全てのホスト(第
17図には示していない)へ送られる。この伝送は、要求
された全てのリンクが使用可能となると生ずる。
受信スイッチの各々において、同報通信パケットは、
(1)スイッチに接続された全てのホストへ、及び
(2)ダウンスパニングツリーリンクによって送信スイ
ッチに接続された全ての相隣るスイッチへ、再伝送され
る。換言すれば、同報通信パケットは、ネットワーク内
の全てのホストが同報通信パケットを受け取るまで、ス
パニングツリーを下方へ通って送られる。
要するに、同報通信パケットは、先ず、ネットワーク
のスパニングツリーを上方へ通って根へ経路指定され、
次いで、該ツリー下方へ通ってネットワーク内の全ての
ホストへ伝送される。
どのリンクが「スパニングツリー」であるかを決定
し、ネットワークの根ノードを識別し、及びスイッチに
対する経路指定テーブルを発生する、というプロセスに
ついては以下に説明する。
再構成プロセス 本発明の再構成プロセスは、3つのフェーズを有する
分散プロセスである。このプロセスの第1のフェーズ
は、何時ネットワーク再構成が必要となるかを決定す
る、第2のフェーズはネットワークの現在トポロジを識
別する。即ち、ネットワーク内の全ての機能スイッチ、
リンク及びホストを識別する。フェーズ3においては、
ネットワーク内のスイッチは、ネットワーク内のデータ
パケットに対する全ての合法的経路を定義する経路指定
テーブルを生成する。
故障したネットワーク構成部材の取扱い メッシュ接続式ネットワークにある潜在的問題とし
て、故障したスイッチまたはリンクのために1つまたは
複数のホストがネットワークから隔離させられるという
可能性がある。本発明は、ホストがネットワークから隔
離させられることを防止するための機構を提供するもの
である。第1に、第3図に示すように、全てのホストの
それぞれを別々のリンクで2つのスイッチに接続する。
一つのリンクに接続されたリンクまたはスイッチのうち
の一つが故障しても、他のリンクを賦勢することができ
る。同様に、全てのスイッチのそれぞれを少なくとも2
つのリンクによってネットワークの残部に接続すること
が好ましく、これにより、1つのリンクが故障しても、
ネットワークのブランチ全体がネットワークの残部から
隔離されることのないようにする。
第2の故障取扱い機構は、全てのスイッチのSCP216内
に存在する再構成プログラムである。この再構成プログ
ラムはスイッチ内のリンク装置を絶えずモニタし、ネッ
トワークのいずれの部分の故障をも自動的に検出する。
故障が検出されると(または、新しいネットワーク構成
部材が検出されると)、全てのスイッチ内の再構成プロ
グラムが自動的にネットワークを再構成する。これは、
ネットワーク上のホスト相互間の全ての合法的通路が再
計算されてスイッチ内のルータに記憶される、というこ
とを意味する。その結果、単一のハードウェア故障によ
ってホストがネットワークから隔離されるということが
なくなる。
再構成フェーズ1 再構成開始 第17図について説明すると、スイッチまたはリンクが
ネットワーク700に追加されるかまたはこれから取り去
られると、ネットワークのスイッチ内の経路指定テーブ
ルはネットワークのトポロジを正しく反映しなくなる。
例えば、スイッチ726が故障するかまたはネットワーク
から取り去られると、ネットワーク内の全てのスイッチ
内の経路指定テーブルエントリは間違った値を持ち、ネ
ットワークの構成を正確に反映しなくなる。ネットワー
クを通ずる正しい経路指定を再確立するには、ネットワ
ークを「再構成」すること、即ち、ネットワークを通っ
て伝送されるパケットに対する合法的通路のセットを再
計算すること、が必要である。
第17図に示すように、ホストH11はスイッチ716に対す
る第2のリンクを有し、ホストH12はスイッチ728に対す
る第2のリンクを有す。スイッチ726が故障するかまた
は取り去られると、ホストH11及びH122はそれらの2次
リンクを賦勢する。その結果、ネットワークが再構成さ
れた後、これらホストは新しいネットワークアドレスを
持つことになる。
同様に、新しいスイッチまたはリンクがネットワーク
に追加された場合、全てのスイッチに対する経路指定テ
ーブルは再計算され、ネットワーク内に新しいネットワ
ーク構成要素及び新しい合法的通路を含むこととなる。
第18図について説明すると、ネットワークの構成にお
ける変化を検出するためのプロセスは次のように働く。
同じプロセスがネットワーク内の全てのスイッチにおい
て、及び各スイッチ内の全てのリンク装置に対して実行
される。その理由は、ネットワークのトポロジにおける
全ての変化はリンク装置の状態の変化によって反映され
るからである。即ち、ネットワークに対する追加はリン
ク装置に対する新しい接続として検出され、ネットワー
ク構成要素の取り去りはリンク装置に対する接続の損失
として検出される。第18図に示す流れ図は単一スイッチ
の単一リンク装置に対する状態を変化を測定するための
プロセスを表すものである。
変化を検出するためのプロセス(これは再構成プロセ
スのフェーズ1である)は、再構成プロセスのフェーズ
2及び3最中であっても、常に継続する。
リンク状態検査プロセスは多重レベルプロセスであ
り、各レベルはその結果を階層を上方へ次のレベルへ送
る。状態検査プロセス800のレベルは次の通りである。
ハードウェア調査レベル802は各リンク装置におけるハ
ードウェアによって実行されるエラー検査プロセスであ
る。ハードウェアポーリングレベル804は各スイッチに
おけるルーチンであり、ハードウェア調査レベル802の
出力を周期的に読取り、データ及びフロー制御信号が或
る特定のリンク上で両方向に間違いなく送られているか
どうかを測定する。
メッセージ交換レベル806は、ハードウェアポーリン
グレベル804によって測定されるように、リンクの状態
の変化に反応するソフトウェアルーチンである。リンク
が、ハードウェアポーリングにより、ALIVEである(即
ち、リンクの他端に他のネットワーク構成要素があり、
リンク上で信号を間違いなく送受している)と報告され
ると、メッセージ交換レベル806はリンク上で短いメッ
セージを周期的に送り、リンクが十分に良好な順序でメ
ッセージを送受していることを確認する。
状態変化フィルタ808は、リンク装置の状態がDEADか
らALIVEへ余りに頻繁に変化することを妨げる。
ハードウェア調査レベル 新しいネットワーク接続、及びネットワーク構成部材
の取り去りを検出するほかに再構成プロセスの第1フェ
ーズは間欠的エラー及びランダムノイズの問題を取り扱
う。例えば、緩いリンク接続またはスイッチもしくはホ
スト制御器内の不適正に動作する構成部材は適正動作と
不適正動作との間で揺れる可能性がある。また、ノイズ
のために、ノイズがなければ適正に働くはずのリンク上
で伝送されるデータが転化される場合がある。
再構成プロセスの第2及び第3のフェーズは、これら
がネットワーク全体を、或る短い期間、停止させるの
で、比較的費用がかかる。再構成プロセスの第1フェー
ズの役目は、全再構成プロセスが必要な場合にのみ実行
されるということを確かめることである。
第12図について説明すると、各リンク装置及び対応の
制御ロジック384に対する状態レジスタ382は、ネットワ
ークの構成が何時変化したかを測定する再に重要な役目
をなす。各リンク装置内のハードウェアによって行なわ
れる3つの型の状態検査がある。即ち、コード違反検
査、フロー制御検査、及び往復フロー制御検査がある。
これら3つのハードウェア状態検査の結果は状態レジス
タ382に記憶される。
TAXI Rx350及びTAXI Tx370のチップは、データバイ
ト及びコマンドがスイッチ内で11ビットで表されている
にしても、事実上は、データのバイト毎に、及びフロー
制御毎に10ビットを伝送する。その理由は、リンク上に
アップ/ダウン遷移のない長いストリングの「ゼロ」を
持つことが許容されないからである。即ち、このように
なると、TAXI回路がリンク上のデータの流れと同期され
ない可能性があるからである。10ビットを用いることに
より、各10ビット中に少なくとも1つのアップ/ダウン
(または、0/1)遷移があることを確実にすることがで
きる。
各データバイト及びフロー制御コマンドを表すために
10ビットが使用されるにしても、256個の有効データ
値、及び16個の有効フロー制御コマンドが存在している
に過ぎない。その結果、272個の有効10ビット伝送コー
ド及び725個の無効伝送コードが存在する。無効伝送コ
ードが入力リンク装置に受信されると、これは、コーデ
ィング違反の受信を示すビットを状態レジスタ382内に
セットする。
明らかに解るように、単一コード違反の受信は、リン
クが故障したということを必ずしも意味しない。また逆
に、単一有効コードの受信は、リンクが働いているとい
うことを必ずしも意味しない。
フロー制御の項で前述したように、フロー制御コマン
ドは、256バイトサイクル毎に1回、各出力リンク装置
によって伝送される。これは、このリンク装置のための
リンクに接続されたネットワーク構成部材が存在してい
なくとも、生ずる。その結果、各入力リンク装置のハー
ドウェアは、256バイトサイクル毎に1回、有効フロー
制御コマンドを受信することを期待する。この有効フロ
ーコマンドのセットは、スイッチからのスタート及びス
トップフローコマンド、及びホストからのスタート及び
ストップフローコマンドを含んでいる。ホストに対する
スタートフローコマンドはスイッチから受信されるもの
とは別個のものである。他のフローコマンドはIDHY
(“I don't hear you)と呼ばれる。これらのコマンド
及びハードウェア調査レベルによるそれらの使用につい
ては次に説明する。
いずれかの256バイトサイクル中に有効フローコマン
ドの受信に失敗したことは状態レジスタ382内に示され
る。
往復フロー制御検査は次のように働く。リンク装置
が、受信中のデータにおけるコード違反を確実に検出す
るか、またはフロー制御コマンドの受信に失敗すると、
このリンク装置はIDHYコマンドと呼ばれる特別のフロー
コマンドを伝送する。これは、標準の「スタートフロ
ー」コマンドの特別のバージョンであると考えられる。
リンク装置が有効コード及びフロー制御信号を受信し
ているが、何らかの理由で、転化した信号を送り出して
いる、という状態を考えてみる。例えば、そのTAXI Tx
回路が適正に働いていない。転化した信号を受信する
「遠隔」リンク装置はIDHYフロー制御信号を伝送し始
め、信号がリンク上で「往復」的に間違いなく送られて
はいない、ということをリンク装置に知らせる。即ち、
IDHYフローコマンドにより、リンク装置はこれが適正に
働いていないということを見付けることができる。
IDHYフローコマンドが受信されると、この事がリンク
装置に対する状態レジスタ382内に示される。
要約すると、ハードウェア調査レベルは、各リンク装
置内に、3つのエラーフラグをセットすることのできる
ハードウェアを具備している。何らかの無効コードが受
信されると、コード違反フラグがセットされ、256バイ
ト毎に1回、フロー制御コマンドが受信されないと、フ
ロー制御エラーフラグがセットされ、何らかのIDHYコマ
ンドが受信されると、往復エラーフラグがセットされ
る。
ハードウェア・ポーリング・レベル 1ミリ秒毎にほぼ1回、各スイッチ内のSCP216はポー
リングし、リンク装置の各々に対する状態レジスタ382
内に3つのエラーフラグをセットする。ポーリング相互
間の時間は、好ましくは、正常動作中のフロー制御コマ
ンド相互間の間隔の10ないし25倍長くあるべきである。
各型の「エラー」が1つでもあると、対応のエラーフラ
グがセットされる。1つのリンク装置に対するポーリン
グプロセスは次の通りである。
付録1に、スイッチ内のリンク装置の各々に対するSC
Pによって実行されるハードウェア・ポーリング・ルー
チン(Hardware Polling Routine)の疑似コード表示を
記載してある。本明細書の末尾にある付録1〜9におけ
る疑似コードプログラムは、ユニバーサル・コンピュー
タ・プログラミング・コンベンションを用いて記載して
あり、当業者たる全てのコンピュータプログラマに理解
可能に設計してある。注釈及び実行不能ステートメント
は2重星印「**」で始まっている。付録におけるこれ
ら疑似コードプログラムは再構成プログラム及びそのピ
ース相互間のインタラクションを図によるよりは詳細に
示す。
リンク装置に対する3つのエラーフラグが読み取られ
てリセットされる。その結果、リンク装置ハードウェア
は、各ポートリング期間毎に1回、改めてエラーに対す
るサーチを開始する。また、ハードウェアポーリングレ
ベル804が何らかのアクションを取る前に、5ポーリン
グ期間にわたってフラグの値が集積される。5ポーリン
グ期間中の3期間内にコード違反がある場合、または5
ポーリング期間中の3期間内にフロー制御エラーがある
場合には、ポーリングルーチンはこのリンクをDEADと呼
ぶ。これはまたリンクの状態レジスタ内にフラグをセッ
トし、このリンク装置をして、正常フロー制御コマンド
の場所にIDHYコマンドを伝送させ、このリンクの他の側
にあるネットワーク構成要素に、これが有効信号を受信
しつつはないということを知らせる。
5ポーリング期間中の3期間内にIDHYコマドが受信さ
れていた場合には、他のエラーフラグの形態とは関係な
しに、このリンクはハードウェアポーリングルーチンに
よってDEADと呼ばれる。即ち、リンク上の信号の間違い
のない往復伝送を頑強に阻止する何らかの問題がある
と、ハードウェアポーリングルーチンはこのリンクをDE
ADと呼ぶ。
メッセージ交換レベル 有効コード及びフロー制御コマンドが受信されつつあ
る場合であっても、リンクの他の側にあるスイッチがメ
ッセージを受信してこれに応答することができないとい
う可能性がある。そうである場合には、このリンクは死
んでいる(dead)とみなされる。メッセージ交換レベル
806はスイッチに対してリンクを試験するだけである。
別々のスタートフローコマンドがホスト及びスイッチに
よって使用され、各リンクポートに接続されたネットワ
ーク構成要素の型はこのポートに受信されるスタートフ
ローコマンドの型によって決定される。
付録2にはメッセージ交換ルーチンの疑似表示を記載
してある。
ALIVEであると表示されている他のスイッチに対する
リンクに対しては、リンクの適正動作を検査するために
「キープ・アライブ・メッセージ」(keep alive messa
ge)が用いられる。ほぼ5秒毎に、「キープアライブメ
ッセージ」がリンクの他の側にある遠隔ネットワーク構
成要素へ送られる。第19図について説明すると、「キー
プアライブメッセージ」850はデータパケットであり、
このデータパケットは、伝送スイッチのUID(即ち、一
意的48ビット識別子)851、リンクに対するポート番号8
52、及び受信側がそれ自体を識別することによって応答
するということを示す回路フラグ859を示すものであ
る。キープアライブメッセージはまた、リンクネットワ
ークの他の側におけるスイッチによって最後に報告され
たUID(R_UID856)、及びこのスイッチによって最後に
報告されたポート番号(R_PORT858)を含んでいる。
遠隔ネットワーク構成要素が真に生きている(aliv
e)場合には、これは、キープアライブメッセージ850と
同じフォーマットを用いる肯定応答メッセージをもって
応答する。即ち、この肯定応答メッセージはそのUID及
びポート番号を示すだけでなく、更に、キープアライブ
メッセージで受信されたUID及びポート番号をエコーす
る。
最後に、肯定応答メッセージが受信されると、スイッ
チは肯定応答メッセージを遠隔ネットワーク構成要素へ
送り出す。これにより、両方のスイッチはそのメッセー
ジが肯定応答されたことになる。即ち、ALIVEリンクの
状態を確認するためのメッセージ交換は1連の3つのメ
ッセージを用いる。これら3つのメッセージは各スイッ
チ内のSCPによって生成及び処理される。
肯定応答レコードが相応の時間内に受信されない場合
には、元のキープアライブメセージが遠隔ネットワーク
構成要素へ数回再伝送される。肯定応答がなおも受信さ
れない場合には、これは、遠隔ネットワーク構成要素が
存在していないか、またはこれが適正に働いていない、
ということを意味する。そこでリンクはDEADであると宣
言される。
受信された肯定応答メッセージが、リンクが同じスイ
ッチの2つのリクポートに接続されているということを
示す場合には、かかるリンクは有効でないから、これら
リンクの両方がDEADと表示される。
ハードウェアポーリングレベル804が、リンクがDEAD
であると報告した場合、この状態は状態変化フィルタレ
ベル808へ送られる。キープアライブメッセージは、DEA
Dであるリンク上では送られない。また、ハードウェア
ポーリングレベル804が、リンクがALIVEであると前に報
告しており、次いで、このリンクがDEADであると報告す
る場合には、状態変化フィルタレベルは再構成ルーチン
の第2フェーズを直ちに開始する。即ち、死んでいるリ
ンクが新たに検出されると、ネットワークは直ちに再構
成される。
しかし、ハードウェアポーリングレベル804が、リン
クがDEADであると前に報告しており、次いで、このリン
クがALIVEであると報告する場合には、若干の予防措置
が取られる。詳述すると、メッセージ交換レベル806
は、ハードウェアポーリングレベル804からの、DEADか
らALIVEへの状態変化を、15秒毎に1回だけ受け入れ
る。従って、リンクがDEADからALIVEになり、DEADに戻
り、次いで再びALIVEになると、ALIVEへの最後の遷移
は、DEADからALIVEへの遷移が生じた最後の時から少な
くとも15秒経過するまでは、無視される。このフィルタ
作用が、間欠的に働くネットワーク構成部材によって生
ずる可能性のある頻繁な再構成を防止することを助け、
かかる不適正に働く構成部材がDEADである、と宣言する
に至る。
状態変化フィルタレベル このレベル808は、リクがALIVEからDEADへの遷移を行
なったということをメッセージ交換レベル806が報告す
ると、直ちに再構成ルーチンを呼び出す。
しかし、DEADからALIVEへの遷移はフィルタされる。
詳述すると、状態変化フィルタレベル808は、メッセー
ジ交換レベル806からのDEADからALIVEへの状態の変化を
15秒毎に1回だけ受け入れる。このフィルタ作用は、間
欠的に働くネットワーク構成部材によって生ずる頻繁な
再構成を防止することを助ける。
付録3には、状態変化フィルタルーチンの疑似コード
表示を記載してある。
再構成フェーズ2 スパニングツリー発生 本発明の説明においては、スパニングツリーは、ロー
カルエリアネットワーク全体にまたがるノード(即ち、
スイッチ)のツリーである。このスパニングツリーは、
各親ノードのその子につなぐのに必要であるリンクのみ
を含む。このスパニングツリー内のリンクを、本明細書
においては、スパニングツリーリンクと呼び、他の全て
のリンクを追加リンクと呼ぶ。
スパニングツリーリンクは、本発明においては、2つ
の特別の役目を有す。第1に、同報通信メッセージをス
パニングツリーリンク上で伝送し、これらメッセージが
予想どおりの効率的な仕方で伝送されることを確実にす
る。第2に、再構成中にスパニングツリーを用いて、ネ
ットワークのトポロジに関する情報をネットワークの根
まで伝送し、次いで根の下の全てのスイッチへ戻らせ
る。これら2つの特別機能のほかは、ネットワーク内の
全てのリンクは同じ機能をなす。異なる深さレベルにあ
るスイッチ相互間の並列リンク、及び同じ深さにあるス
イッチ相互間の追加のリンクは、ネットワークの動作を
増大させ、数多くのデータパケットを同時に伝送するた
めのネットワークの能力を拡大する。
フェーズ2の概観 第19図及び第20図を参照し、再構成プロセスの第2フ
ェーズがどのように働くかを次に簡単に説明する。再構
成プロセス900はフェーズ2及び3最中に3つの重要な
データ構造902〜906を用いる。ポート情報アレイ902
は、隣のもののUID及び各隣のものによって報知される
ネットワーク内の位置のような、スイッチの直ぐ隣のも
のの各々に関する情報を記憶する。
メッセージデータ構造904は、再構成プロセスのフェ
ーズ2最中に隣のスイッチに送られる情報を記憶するの
に用いられる。
ネットリスト(netlist)906は、ネットワークのトポ
ロジの完全記述を構築するのに用いられ、及び再構成プ
ロセスのフェーズ2及びフェーズ3の両方において用い
られる。
ネットワークの正常動作中は、全てのスイッチは、エ
ポック(Epoch)と呼ばれる同じ「再構成バージョン番
号」を記憶する。例えば、スイッチは全て1225のエポッ
ク値を記憶する。1つのスイッチまたはリンクがネット
ワークに追加されると、再構成後のエポック値は少なく
とも1226になる。
スイッチがネットワークの構成における変化を検出す
ると、該スイッチは、そのエポック番号を増加し、及び
全てのデータパケットの流れを停止することにより、新
しいエポックを宣言する。前記スイッチは、ネットワー
クの構成について記憶していた全ての情報を削除し、次
いで、新しいエポックが存在すること、及びこれがネッ
トワークの根であると考えられるということのメッセー
ジを、直ぐ隣の全てのスイッチへ送る。
このメッセージを受信したスイッチは、この受信した
エポックを該スイッチが記憶していたエポック番号と比
較する。前記受信したエポック番号の方が高い場合に
は、前記スイッチは、ネットワークの構成について記憶
していた全ての情報を削除し、そしてこの新しいエポッ
ク番号を採用する。前記スイッチは、また、前記受信し
たメッセージ内の情報を用い、ネットワークについての
情報の新しいセットを構築開始する。後述の所定基準の
セットを用い、各スイッチは、その既知の隣のものに対
する「スパニングツリー」内のその位置を決定すること
により、「ツリー位置」を開発する。次いで、前記スイ
ッチは全てのその隣のものへメッセージを送り、新しい
エポック及びそのツリー位置について報知する。スイッ
チが再構成メッセージを受け取る度毎に該スイッチは、
ネットワークのトポロジについてのその情報を更新し、
ネットワークについて今まで該スイッチが知っているこ
とを基礎としてそのツリー位置を更新する。メッセージ
内に何等かの新しい情報があった場合には、スイッチは
それ自体及び全てのその隣のものへメッセージを送り、
その新しいツリー位置を知らせる。
このようにして、新しいエポックについてのメッセー
ジはネットワーク全体に迅速に広がる。また、メッセー
ジは、全てのスイッチが、根ノードのIDについて、及び
ネットワーク内の全てのスイッチの位置を定義するスパ
ニングツリーリンクのセットについて合意するまで、隣
接のもの相互間で交換され続ける。これについては後で
詳細に説明する。
再構成プロセスは「分散プロセス」と呼ばれる。即
ち、ネットワーク内の全てのスイッチは、結局はスパニ
ングツリーという共通の結果の発生へ通ずる計算を同時
に行なうからである。
再構成プロセスはまた「競合プロセス」と呼ばれる。
即ち、ネットワーク内の全てのスイッチは、先ず、それ
自体をネットワーク根ノードと呼ぶことを試み、そし
て、それが根でないとその隣のものから情報を得るとそ
のツリー位置を変えるだけである。各スイッチは、該ス
イッチの主張したツリー位置を特定するメッセージをそ
の隣のものへ送り、次いで、各受信スイッチはこの情報
をそれ自体の情報と比較し、どのセットの情報が適正ス
パニングツリーに対する基準をよりよく満足するかを決
定する。
本発明の重要な態様は、再構成プロセスが何時完成す
るかを決定する再構成プロセスの能力である。換言すれ
ば、各スイッチ内の再構成プロセスは、再構成メッセー
ジをその隣のものへ送ることを何時停止するかを知って
おり、そして、根ノードは、このプロセスの第2フェー
ズが何時完成するかを知っている。これは本発明に独特
なものである。
データ構造 第19図について説明すると、ネットワーク内のスイッ
チの「ツリー位置」をツリー位置アレイ910で表してあ
る。アレイ910の構成素子は、ツリーの根のUID912、ス
パニングツリー内のスイッチの深さ914(即ち、スイッ
チと根ノードとの間のリンク数)、スイッチの親916、
及び親スイッチに対するスイッチのアップリンクのリン
ク番号918である。
重要なこととして、再構成最中はスイッチはスパニン
グツリー内の該スイッチの真の位置を未だ知っておら
ず、そして、ツリー位置アレイ910を用いて、スパニン
グツリー内のスイッチの位置についてのスイッチの現在
の状態を表す。また、ネットワーク内の根ノードは親91
6をも、または親に対するアップリンク918をも有してな
い。根ノードに対し、ツリー位置のこれら構成阻止は特
別の「位置ホルダ」値を与えられる。
スイッチの「現在」のツリー位置は、CPOS920と呼ば
れるツリー位置アレイ内に記憶される。
スイッチは、次の場合「安定」であるとみなされる。
即ち、該スイッチが全ての隣接スイッチのID及び位置を
知っており、全ての隣接スイッチは基のスイッチのツリ
ー位置を知らされており、そして、(1)スパニングツ
リー内のこのスイッチの下には隣接スイッチがないか、
または(2)スパニングツリー内のこのスイッチの下の
全ての隣接スイッチは安定である場合である。スイッチ
の現在安定値はCSTB922と呼ばれ、.FALSEまたは.TRUEの
いずれかに等しい。
「S」924はスイッチのUIDであり、SHORTID926はスイ
ッチに前に割り当てられた7ビットSHORT IDである。
スイッチSがネットワークに追加されてターンオンされ
た場合には、このスイッチに前に割り当てられているSH
ORT IDはない。
ポート情報アレイ902はポート情報レコード930のセッ
トを有す。各ポート情報レコード930は、スイッチのポ
ートの各々に接続されたネットワーク構成要素に関する
情報を記憶する。前記レコードの各々は項INFO〔P〕に
よって識別される。ここに、「INFO」はポート情報アレ
イ902の識別子であり、「〔P〕」は、Pに割り当てら
れた値に従ってレコード930のうちの一つの識別する。
各ポート情報レコードの構成阻止は次の通りである。
INFO.〔P〕TYPE932は、隣のものが、スイッチ
(「S」)、ホストコンピュータ(「H」)、またはDE
AD(「D」)であるかどうかを識別する。TYPE値はハー
ドウェアポーリング層804によって連続的に発生され、
従って再構成プロセスのフェーズ2に対して使用可能で
ある。スイッチ及びホストは別々のセットのフロー制御
コマンドを使用する。第18図について前述したハードウ
ェア調査レベル802は、どのフロー制御コマンドが受信
されつつあるかを検出し、そしてTYPE値を状態レジスタ
382に記憶し、リンクによって接続されているものがス
イッチであるかまたはホストコンピュータであるかを示
す。ポーリンクがハードウェアポーリングレベル804に
よってALIVEであると確認されると、このTYPE値は、各
ポートPに対するポート情報アレイ902のINFO〔P〕.TY
PE構成素子に記憶される。同様に、DEADリンクもアレイ
902のINFO〔P〕.TYPE構成素子内に示される。
TYPE情報は、再構成プロセスの第2フェーズ中は廃棄
されない。もっと一般的にいうと、再構成の始めにおい
て、スイッチ自体のポートに関する状態情報は留保さ
れ、他のスイッチの状態及びツリー位置に関して引き出
された情報だけが廃棄される。
ポート情報アレイ902の他の構成素子は、スイッチに
接続されたポート、即ち、INFO〔P〕.TYPE=“S"を有
するポートに対してのみ用いられる。
INFO〔P〕.R_POS934はポートP上のネットワーク構
成素子によって最後に報知されたツリー位置である。
「ツリー位置」は、常に、アレイ910内に示される4つ
の値のセットである。
INFO〔P〕.E_POS936は、ツリー位置がある場合に
は、ポートPの隣のものが最後にスイッチにエコーし返
したツリー位置である。この説明において、全ての「エ
コー済み」値は他のネットワーク構成要素へ送られた値
であり、これに対してネットワーク構成要素は既に受信
を肯定応答している。
INFO〔P〕.R_STB938はポートPの隣のものによって
最後に報知された安定性値である。INFO〔P〕.E_STBWS
GはポートPの隣のものによって最後にエコーされた安
定性値である。
INFO〔P〕.R_UID942はポートPの隣のもののUIDであ
る。
INFO〔P〕.R_PORT944は、隣のスイッチのポートPに
接続されたこのスイッチのポートである。
INFO〔P〕.NEW946は、新しいといわれている情報を
持つメッセージがポートPの隣のものから受信されてお
り、そしてこのメッセージがまだ肯定応答されていない
ときに、TRUEとなる。
要するに、ポート情報アレイ902は、再構成プロセス
のフェーズ2最中にこのプロセスに参加するためにスイ
ッチSが必要とする全ての情報を含んでいる。
メッセージデータ構造904は次の素子を含んでいる。
メッセージの各素子は「M.素子」と呼ばれる。また、メ
ッセージデータ構造内の情報は、常に、或る一つのスイ
ッチからこのスイッチの或るポートの隣のものへ送られ
つつあるメッセージに対するものである。
M.EPOCH950はスイッチSに知られているエポック番号
(即ち、最後の構成バージョン番号)を表す。
M.S._UID952はスイッチSのUIDである。
M.S._POS956はスイッチSの現在ツリー位置である
(即ち、CPOSに等しい)。M.S._STB960はスイッチSの
現在安定性値である(即ち、CSTBに等しい)。
M.E_POS958は、このメッセージが送られつつあるスイ
ッチによって最後に報知されたツリー位置であり、エコ
ー済みツリー位置と呼ばれる。換言すれば、M.E_POS
は、メッセージが送られつつあるポートに対するR_POS9
32のゴピーである。同様に、M.E_STB962は、このメッセ
ージが送られつつあるスイッチによって最後に報知され
た安定性値であり(即ち、メッセージが送られつつある
ポートに対するR_STBに等しい)、エコー済み安定性値
と呼ばれる。
M.NEW964は、メッセージM内の情報が「新しい」と、
即ち、新しい情報を含んでいると、考えられるかどうか
を示す。メッセージは、メッセージの目的が前のメッセ
ージの受信を肯定応答するためのみである場合には、新
しい情報を何も含まない。即ち、M.NEWは、M.S._POSがI
NFO〔P〕.E_POSに等しくないか、またはM.S._STBがINF
O〔P〕.E_STBに等しくない場合に、真となる。
NETLISTデータ構造906は、スパニングツリーの少なく
ともブランチ内のネットワーク構成要素及びネットワー
ク構成要素相互間接続を表す可変長構造である。NETLIS
Tの各構成素子は「NLST.素子」と表示される。
NLST.COMPLETE970は、スパニングツリーの根が識別さ
れ、そしてネットワーク内の全てのスイッチがその部分
的ネットリストを根まで送ったときのみ、TRUEとなる。
これは再構成プロセスのフェーズ2の終わりに生ずる。
NLST.NN972はNETLIST906にリストされるネットワーク
構成要素(即ち、スイッチ及びホスト)の数である。
NLST.NODELIST974はNETLIST906内のネットワーク構成
要素のリストであり、UID値によって分類される。ノー
ドリスト974はNN個の項目976を有す。ノードリスト内の
各項目976は、1つのネットワーク構成要素のUID値、及
び、前に割り当てられている場合に、前記構成要素のSH
ORTIDを含む。
NETLISTの残部はNN個の接続リストである。各接続リ
スト978は、1つのネットワーク構成要素に対し、他の
どのスイッチが第1のネットワーク構成要素のポートの
各々に接続されているかを識別する。新しいNETLISTが
最初にスイッチによって発生されるときに、NETLIST906
に含まれている唯一のスイッチはこのスイッチの直接隣
のものであり、これはポート情報アレイ902によって識
別される。部分的ネットリストが他のスイッチから受信
されると、この部分的ネットリスト内の情報はスイッチ
自体のネットリスト内の情報と併合され、より完全なネ
ットリストを形成する。
本実施例の接続リスト978内にはスイッチのみを表示
してあるが、本発明の他の実施例においてはホストに対
する接続を表示することもできる。そこでホストに関す
る追加情報を用い、ネットワーク内のスイッチ以外の全
てのネットワーク構成要素を含むネットワークを開発す
ることができる。しかし、再構成プロセスの第3フェー
ズについて後で説明するように、スイッチのみしか含ん
でいないネットリストは、スイッチが必要とする経路指
定テーブルを発生するのに十分である。
フェーズ2の詳細な説明 フェーズ2において用いるデータ構造及びルーチンの
疑似表示を本明細書の末尾の付録4〜8に記載してあ
る。なお、第20図を参照されたい。
再構成プロセスのフェーズ1がネットワークの構成に
おける変化を検出すると、この変化を検出したスイッチ
は次のアクションをとる(第20図におけるボックス1000
0)。付録6には、再構成を開始するスイッチが従うプ
ロセスの疑似表示を記載してある。第1に、これは、ス
イッチが伝送の過程にある全てのパケットをクリアし、
そして、このスイッチに接続されている全てのホストへ
「ストップフロー」信号を送るようにリンク装置をセッ
トする。伝送の途中に割り込まれたパケットは、再構成
後に再伝送しなければならない。第2に、再構成プログ
ラムは、TYPE情報を除き、そのポート情報アレイ902内
の全ての情報をクリアする。TYPE情報、このポートがス
イッチまたはホストに接続されているか、またはDEADで
あるかのいずれであるかを示す。TYPE値はスイッチによ
って局所的に発生され、従って、正確であると知られ
る。
再構成プロセスはまたネットリスト906の古いバージ
ョンを消去する。フェーズ2が開始すると、外部情報源
から引き出されたネットワークのトポロジに関する全て
の情報は、不精確となる可能性があるので、廃棄され
る。
次に、再構成プログラムは、スイッチをスパニングツ
リーの根ノードと定義する初期省略時ツリー位置CPOSを
セットアップし、且つ、CSTBを、スイッチが安定でない
ということを示すようにFALSEに等しくセットアップす
る。次いで、このプログラムは、第19図に示すメッセー
ジデータ構造904を用いて、このツリー位置を報知する
初期再構成メッセージをセットアップし、そしててこの
メッセージ1002をそのスイッチの全ての隣のものへ送
る。
再構成プロセス最中に送られるメッセージはスイッチ
相互間で送られるのみである。ホストコンピュータは再
構成プロセスに参画しない。また、全ての再構成メッセ
ージに対して用いられる「汎用の所定SCPネットワーク
アドレス」がある。この所定SCPアドレスは、メッセー
ジがどのリンク上で送られても、このリンクの他端にあ
るスイッチのSCPへメッセージを経路指定するのに用い
られる。
第20図における破線矢印は一つつのスイッチから他の
スイッチへのメッセージの伝送を示す。即ち、破線矢印
の始まりにおけるプロセスは、この破線矢印の終わりに
おけるプロセスとは異なるスイッチにおいて行なわれ
る。他方、実線矢印は、再構成プロセスの一つの部分か
らこのプロセスの次の部分までのスイッチによる進行を
示す。即ち、実線矢印の両端におけるプロセスは同じス
イッチによって実行される。
スイッチが再構成メッセージを他のスイッチから受け
取ると(ボックス1004)、次のプロセスが行なわれる。
付録7にはこのプロセスの疑似表示を記載してある。
エポック 先ず、受信スイッチは受信したエポック値を試験す
る。M.EPOCHはそれ自体のエポック値を有す。受信した
エポック値がそれ自体のエポック値よりも大きい場合に
は、スイッチは同じ除去処理を行い、次いでこのスイッ
チは再構成プロセスを開始する。次いで、このスイッチ
はこの新しいエポック値をそれ自体のエポック値として
採用し、そして、それ自体をスパニングツリーの根と表
示する初期ツリー位置をセットアップする。
受信したメッセージ内のエポック番号がスイッチ自体
のエポック番号よりも小さい場合には、該スイッチはこ
のメッセージ全体を無視する。
受信した再構成メッセージを処理するためのプロセス
の残部を理解するため、先ず、一つのツリー位置が他の
ものよりも良いかどうかを測定するためのプロセスにつ
いて説明する。
ツリー位置の比較 一のスイッチがそのツリー位置を隣のスイッチに報知
するとき、受信スイッチは、その隣のものによって報知
されたツリー位置がこのスイッチの現在ツリー位置CPOS
よりも「良い」かどうかを決めることが必要である。受
信した位置のほうが良い場合には、受信スイッチは、送
信スイッチをその「親」と識別し、及びメッセージを受
信したポートをその「アップリンク」と識別する。即
ち、比較プロセスは、事実上、受信スイッチが、これが
送信スイッチの「子」であるとしたら、CPOSよりも良い
ツリー位置を獲得するかどうかを決定することである。
受信メッセージにおいて報知されるツリー位置はM.S_
POSと表示される。次いで、受信ツリー位置M.S_POSを処
理する際の第1のステップは「道出ツリー位置」を計算
することであり、この道出ツリー位置は、受信スイッチ
が送信スイッチの子であるとした場合の受信スイッチの
ツリー位置である。道出ツリー位置は次のようにして計
算される。
T.根 =M.S_POS.根 T.深さ =M.S_POS.深さ+1 T.親 =M.S_UID T.アップリンク=P ここに、Pはメッセージを受信したポートである。
次のステップは、導出ツリー位置Tがスイッチの現在
ツリー位置CPOSよりも良いかまたは悪いかということを
調べることである。2つのツリー位置T及びCPOSを比較
するための基準は次の通りである。
(1) Tにおける根UID(即ち、T.根)がCPOSにおけ
る根UID(即ち、CPOS.根)よりも小さい場合には、Tが
より良いツリー位置である。CPOS.根=T.根である場合
には、第2の比較試験を用いる。
(2) Tの深さ(即ちT.深さ)がCPOSの深さ(即ち、
CPOS.深さ)よりも小さい場合には、Tがより良いツリ
ー位置である。CPOS.深さ<T.深さである場合には、第
3の比較試験を用いる。
(3) Tの親UID(即ち、T.親)がCPOSの親UID(即
ち、CPOS.親)よりも小さい場合には、Tがより良いツ
リー位置である。CPOS.親がT.親よりも小さい場合に
は、CPOSがより良いツリー位置である。CPOS.親=T.親
である場合には、最後の比較試験を用いる。
(4) Tのアップリンク(即ち、T.アップリンク)が
CPOSのリンク(即ち、CPOS.アップリンク)よりも小さ
い場合には、Tがより良いツリー位置である。CPOS.ア
ップリンクがT.アップリンクよりも小さい場合には、CP
OSがより良いツリー位置である。CPOS.アップリンク=
T.アップリンクである場合には、これら2つのツリー位
置は同じ、即ち、等しい。2つのツリー位置の比較は、
本明細書においては、「より小さい記号」(<)及び
「より大きい記号」(>)を用いて示してある。ツリー
位置Tがツリー位置CPOSよりも良い場合には、T<CPOS
となる。換言すれば、より良いツリー位置はより悪いツ
リー位置よりも小さい。
この比較プロセスは自動的に「アップリンク」を選択
し、これは第17図に示すスパニングツリーリンクであ
る。スイッチ相互間に第17図におけるスイッチ726と714
との間の並列リンクのような2つまたはそれ以上の並列
リンクがある場合には、比較プロセスは、最低ポート番
号を持つリンクをアップリンク(即ち、スパニングツリ
ーリンク)として選択する。
他の重要な点は、各スイッチのツリー位置が再構成最
中に単調に改善されるということである。即ち、スイッ
チのツリー位置は、その現在位置よりも良いツリー位置
を採用するのみであるから、決して悪くならない。
メッセージの処理 先ず、受け取られたメッセージを検査し、このメッセ
ージがスイッチに対するALIVEリンク上に受け取られた
ということを確認する。DEADリンク及びホストコンピュ
ータに対するリンクからのメッセージは無視される。次
に、メッセージのエポック番号を検査し、新しいエポッ
クが隣のスイッチによって宣言されているかどうかを調
べる。
次に、送出し側のM.S_POSの報知されたツリー位置が
スイッチによってポートP上に報知された最後のツリー
位置よりも悪くないということを確認する。ツリー位置
は単調に改善されるので、より悪いツリー位置M.S_POS
は、隣のスイッチにおける転化されたメッセージまたは
再構成プログラムについての問題を示し、従ってこのメ
ッセージは無視される。同様に、エコー済みツリー位置
M.E_POSは、スイッチによってポートP上に最後に報知
されたエコー済みツリー位置INFO〔P〕.E_POSよりも悪
くなることはない。
次に、メッセージ内の全ての情報をポート情報アレイ
902に設定する。
即ち、 INFO〔P〕.R_UID=M.S_UID INFO〔P〕.R_POS=M.S_POS INFO〔P〕.E_POS=M.E_POS INFO〔P〕.R_STB=M.S_STB INFO〔P〕.E_STB=M.E_STB INFO〔P〕.NEW =M.NEW 次いで、受信スイッチが、報知されたツリー位置から
派生ツリー位置XPOSを発生する。派生ツリー位置を計算
するための前述の説明を参照されたい。XPOSがCPOSより
も良い場合には、XPOSをCPOSの新しい値として採用し、
そしてNEWと呼ばれる内部フラグをTRUEにセットする。
さもない場合には、NEWをFALSEにセットする。NEWは、
スイッチが新しいツリー位置を採用したかどうかを示
す。
安定性の評価 次に、スイッチはこれが「安定」であるかどうかを評
価する。安定性は次のように定義される。即ち、スイッ
チは、(1)スイッチの現在ツリー位置が、スイッチの
隣のものによって最後にエコーされた全ての位置に整合
するとき、及び(2)このスイッチの子である全ての隣
のもの(即ち、このスイッチが彼らの親であるとみなさ
れる)が安定であるときに、安定である。これらの基準
を基礎とし、スイッチが安定であるならばCSTBをTRUEに
セットし、これが安定でないならばFALSEにセットす
る。
以下に更に詳細に説明するように、根スイッチが安定
となると、根のプログラムは再構成プロセスの第2フェ
ーズが行なわれるということを知る。
安定となることを請求するスイッチは、後でこの請求
を取り消すことができる。これが生ずる可能性のあるの
は、安定性請求後に、スイッチが新しいメッセージを受
信することによってそのツリー位置を更新する場合であ
る。スイッチがそのツリー位置を更新すると、該スイッ
チは安定性に対する前の全ての請求を取り消し、そして
新しいメッセージをその全ての隣接スイッチへ送って該
スイッチが安定性を取り消したということを示す。
新しいメッセージの送り出し スイッチがメッセージを受け取ると、このメッセージ
を処理した後、該スイッチは、(1)スイッチのツリー
位置CPOSが変化したか、(2)スイッチの安定性値CSTB
が変化したか、または(3)受信済みメッセージが、新
しい情報といわれるものを含んでおり(M.NEWはTRUEで
あった)、従って肯定応答メッセージを要求する、とい
う場合に、メッセージ送り出しルーチンを実行する。
メッセージ送り出しルーチンは、呼び出されると、ス
イッチの現在ツリー位置(即ち、INFO〔P〕.E_POS#CP
OS)を知っていないかまたは肯定応答してない全ての隣
のものへ再構成メッセージ(ボックス1006)を送る。肯
定応答メッセージは、最後のメッセージが送られた以後
に新しい情報を受信した該情報の送り出し元である全て
の隣のものへ送られる(即ち、INFO〔P〕.NEW=TRU
E)。また、親INFO〔P〕.E_STBによってエコーされた
最後の安定性値がスイッチの現在安定性値CSTBに等しく
ない場合、メッセージがスイッチの親へ送られる。
メッセージのフォーマットは常に同じである。
M.EPOCH=現在EPOCH M.S_UID=S M.S_POS=CPOS M.S_STB=CSTB M.E_POS=INFO〔P〕.R_POS M.E_STB=INFO〔P〕.R_STB そして、CPOSまたはCSTBのいずれかが、メッセージが送
られつつあるスイッチからのエコー済み値に整合しない
場合にはM.NEWがTRUEにセットされる。これらの値を用
い、メッセージMをポートPの隣接スイッチへ送る。
メッセージが隣りのスイッチへ送られた後、このスイ
ッチに対するINFO〔P〕.NEW値がFALSEにセットされ、
このスイッチからの最後のメッセージが肯定応答された
ということを示す。
次に、特別の「メッセージタイマ」を用い、新しい情
報を持つ全てのメッセージが受信且つ肯定応答されたと
いうことを確認する。これは、メッセージが逸失または
転化されることが時としてあるので、重要であり、この
場合には、メッセージを再度送ることが大切である。本
実施例においては、肯定応答すべきメッセージに対する
通例のターンアラウンドタイムは約1ミリ秒である。こ
のメッセージタイマはソフトウェアタイマであり、通例
のターンアラウンドタイムの2倍の周期、即ち、約2ミ
リ秒の周期を有す。
タイマは、該タイマが既に実行中でないかぎり、新し
い情報を持つメッセージが送られると始動させられる。
次いで、特別のメッセージタイミングルーチンが、前記
タイマが満了するのを待ち、この時点で、このルーチン
は、ここに説明する同じメッセージ送り出しルーチンを
呼び出す。メッセージタイマが既に始動している場合に
は、該タイマは新しい各メッセージで再始動させられな
い。メッセージ送り出しルーチンがタイマルーチンによ
って送り出されるときにメッセージがまだ肯定応答され
ていない場合には、メッセージを再度送り出し、メッセ
ージタイマを再度始動させる。
要約すると、スイッチがメッセージを受け取る度ごと
に、このメッセージがこのスイッチにそのツリー位置ま
たは安定性状態を変化させる場合には、このスイッチは
更新メッセージをその隣のものへ送る。その結果、全て
のスイッチが直接または間接に他の全てのスイッチから
聞くまで、メッセージの連鎖がネットワーク全体にわた
ってスイッチからスイッチへ迅速に送られる。
ネットリストの発生 スイッチ相互間を通過するメッセージが進行するにつ
れ、スイッチのうちの若干はスパニングツリーの最上位
にある位置に到達し、若干はスパニングツリーの最下位
にある位置に到達する。
最大深さを有してスパニングツリーの最下位にあるス
イッチは、安定性を「請求」する最初のものである。新
しい情報が後で受け取られてスイッチがその安定性の請
求を取り消させられる可能性があるので、安定性は「請
求」されるのみであるといわれる。
安定性を請求するための基準については「安定性の評
価」の項において前述した。
スイッチが安定性を請求し、そしてまだこの請求をそ
の親へ送っていないと、これは部分的ネットリストを親
まで送るためのルーチンを呼び出す。前述したように、
スイッチによって発生されたネットリストは、このスイ
ッチに既知となっている全てのスイッチのリストであ
り、スイッチ相互間の既知の全ての接続のリストを含
む。NETLISTデータ構造906についての前述の説明を参照
されたい。
付録8には、ネットリストを処理してスパニングツリ
ーを上下に送るルーチンの疑似コード表示を記載してあ
る。
スイッチが安定性を請求し、そしてネットリストをそ
の親まで送る準備ができると、次のプロセスが用いられ
る(ボックス1008)。先ず、スイッチがツリーの最下位
にある場合、該スイッチはそのポート情報アレイ内の情
報から部分的ネットリストを構築し、そしてこの部分的
ネットリストをその親へ送る。ツリーの最下位にない場
合には、スイッチは受信済みネットリストをそのポート
情報アレイ内の情報に追加し、次いで、その結果のネッ
トリストをその親へ送る。
ネットリストの受信 スイッチがその子のうちの一つからネットリストを受
け取ると(ボックス1010)、該スイッチは次のプロセス
を行なう。このスイッチが既に他の子からネットリスト
を受け取っていた場合には、該スイッチはこの受け取り
済みネットリストを前のネットリストに併合してより完
全なネットリストを作る。このスイッチはまた、ポート
情報アレイ902から知られる全ての新しい情報を追加す
る。
ネットリストを受け取るスイッチが安定でない場合に
は、このルーチンは単に終了し、そして、このネットリ
ストは、スイッチが安定となるまで記憶される。
ネットリストを受け取るスイッチが安定であり、そし
てそのツリー位置がそれ自体を根と識別する場合には、
再構成プロセスのフェーズ2は完了する。その理由は、
安定性の定義が、根を除く全てのスイッチが安定となっ
て、それ自体を根と識別するツリー位置を持つというこ
とを阻止するからである。
再構成フェーズ3 経路指定テーブルの発生 根スイッチがその子から最後の部分的ネットリストを
受け取って(該スイッチはこれを前に受け取った他の部
分的ネットリストと併合して完全なネットリストを作
る)安定になると、該スイッチはNETLISTデータ構造906
内のCOMPLETEフラグ970をTRUEにセットし、次いで次の
手続きを行なう。
先ず、根スイッチは7ビットSHORT IDをネットワー
ク内の全てのスイッチに割り当てる。一般に、このスイ
ッチは受信済みネットリスト内のSHORT ID値を留保
し、前のエポックからのネットワークアドレスがなお有
効であるように試みる。しかし、スイッチがパワーを失
い、次いで最始動させられて順次続く2つの再構成を生
じさせると、その古いSHORT IDは失われ、そして該ス
イッチ及びこのスイッチに接続されている全てのホスト
は新しいネットワークアドレスを割り当てられる可能性
が生ずる。
ツリー下方のネットリスト送り出し 次いで、前記スイッチは、完全リストを、その全ての
スパニングツリー上でリンクを下方へ、該スイッチが親
となっている相手のスイッチへ送る(即ち、これに対し
て、INFO〔P〕.R_POS.UPLINK=INFO〔P〕.R_PORTとな
る)。第17図に例示のネットワークにおいては、根710
は完全リストをスイッチ712、714、716、718及び720へ
送る。
最後に、根スイッチはスイッチの経路指定テーブルを
計算するためのルーチンを呼び出す(ボックス1014)。
これについては次に詳細に説明する。
親から完全ネットリストを受け取る各スイッチは(ボ
ックス1016)その古いネットリストをこの完全リストで
置き換え、そして、子がある場合には、この完全ネット
リストを子へ再伝送する(ボックス1012)。次いで、前
記スイッチはこのスイッチの経路指定テーブルを計算す
るためのルーチンを呼び出す(1014)。その結果、完全
リストはスパニングツリー全体を下方へ迅速に送られ、
そして全てのスイッチは新しい経路指定テーブルを計算
するためにほぼ同時に働く。
経路指定テーブルの計算 第14図は経路指定テーブル422の構造を示すものであ
る。付録9に、経路指定テーブル内のリンクベクトルを
計算するためのプロセスの疑似コード表示を記載する。
先ず、経路指定テーブル全体内の全てのエントリを違
法ネットワークアドレスに対する値にリセットする。即
ち、同報通信ビットを「1」に等しくセットし、全ての
リンクマスクビットを「0」に等しくセットする。ま
た、スイッチのSCPへ送られつつある再構成メッセージ
に対応するエントリを、これらメッセージをSCPへ経路
指定するようにセットアップする。再構成メッセージを
隣接スイッチ間に送るための単一の所定アドレスがあ
る。このアドレスに対する(即ち、全てのALIVE入力リ
ンクに対する)リンクベクトルは単一マスクビットを有
し、これはSCPに対するポートに対応し、「1」にセッ
トされる。
経路指定テーブルメモリ422のリセットは、処理最中
の全てのホストパケットをスイッチから追い出すよう
に、再構成の第2フェーズの始まりに事実上行なわれ、
そして再構成メッセージが受信されたということを確認
する。
再構成の第3フェーズ中に、新しい経路指定テーブル
がSCPの正規メモリ内に発生される。この新しい経路指
定テーブルが完成すると、これは経路指定テーブルメモ
リ422内にコピーされる。経路指定テーブルを計算する
ための開始点はフェーズ2の始まりに発生されるリセッ
ト経路指定テーブルである。
経路指定テーブルのリンクベクトルを計算するとき、
次のプロセスが、このプロセスを実行しつつあるスイッ
チに対する生きている各入力リンクに対して繰り返され
る。即ち、完全ネットリストにおいて定義される各ネッ
トワークアドレスに対し、4ビット入力リンク番号と11
ビット・ネットワークアドレスとの連結によって定義さ
れるアドレスにおいてリンクベクトルが発生される。生
きている出力ポートに対応するリンクベクトル内の各マ
スクビットは、(1)アップ/ダウン経路指定規則に違
反することなしに出力リンクを介して特定ネットワーク
アドレスに到達することが可能な場合、及び(2)ポー
トを通る通路が、この特定ネットワークアドレスへ至る
最短経路よりも長くない場合に、「1」にセットされ
る。
このネットリストを用い、経路指定ルーチンは各リン
クがアップリンクであるかまたはダウンリンクであるか
を決定する。入力リンクがアップリンクである場合には
(これは、受信されたパケットがツリーを下方へ走行し
つつあることを意味する)、このリンクは、ダウンリン
クに対してのみイネーブルされたマスクビットを持つこ
とができる。
経路指定テーブルの計算は、先ず、スイッチ間でメッ
セージを送るための「サブネット」経路指定テーブルを
計算し、次いで、このサブネットを拡大して経路指定テ
ーブル全体を満たすことによって行なわれる。付録9を
参照されたい。
他の実施例においては、特定ネットワークアドレスへ
至る許容された通路は、同じスイッチからの最短通路よ
りも長いN個のリンクまでの通路を含む。ここにNは特
定の整数である。他の実施例においては、他の基準を用
いて過度に長い通路を除去することができる。
次に、同報通信パケット及び再構成メッセージパケッ
トに対するリンクベクトルを経路指定テーブルに追加す
る。本実施例においては、単一の所定の11ビット・ネッ
トワークアドレスを全ての同報通信パケットに対して用
いてあるが、他の実施例においては(例えば、ネットワ
ーク内のホストの所定サブセットに対する部分的同報通
信に対しては)、複数のアドレスを用いることができ
る。
同報通信パケットに対しては、根スイッチに対し、他
のスイッチに対するとは異なるプロセスが用いられる。
根以外の全てのスイッチに対し、同報通信パケットはス
パニングツリーを上下両方向に走行することができ、走
行の方向は、パケットが受け取られる入力リンクによっ
て定まる。同報通信パケットがダウンリンク上に受け取
られると、該パケットはスパニングツリーを根へ向かっ
て上方へ走行する。同報通信パケットがアップリンク上
に受け取られると、該パケットはスパニングツリーを下
方へ走行する。即ち、入力ダウンリンクに対しては、リ
ンクベクトル内の「1」にセットされるマスクビットの
みがスイッチのその親に対するアップリンクである。入
力アップリンクに対しては、ベクトル内の「1」にセッ
トされるマスクビットが、そのスイッチに接続される全
てのスパニングツリーダウンリンクに対するものであ
る。
根ノードに対しては、同報通信パケットはダウンリン
クからのみ受け取られ、そして全ての根のスパニングツ
リー上をリンクを下方へ再伝送される。従って、全ての
入力ダウンリンクに対しては、リンクベクトル内の
「1」にセットされるマスクビットが、そのスイッチに
接続される全てのスパニングツリーダウンリンクに対す
るものである。
経路指定テーブルの計算完了後、この完成テーブルは
経路指定テーブルメモリ422内にコピーされる。この時
点で、このスイッチは「ビジネスのために開いて」い
る。即ち、データパケットは、排除されないで、経路指
定テーブルに従って送られるようになるからである。
本実施例におけるネットリストはネットワーク内のス
イッチの位置を定義するのみである。従って、他のスイ
ッチに対応するネットワークアドレスに対するリンクベ
クトルを発生するとき、前記他のスイッチに対する全数
12の経路指定テーブルエントリは同じ値で満たされるこ
とになる。他方、経路指定テーブルを含んでいるスイッ
チに対応するネットワークアドレスに対するリンクベク
トルを発生するとき、ポート情報アレイは、どのポート
がALIVEであるか、及びどれがDEADであるかを特定す
る。DEADポートに対する経路指定テーブルエントリは全
てゼロにセットされ、これにより、このアドレスへ送ら
れる全てのパケットは消去またはドロップされることに
なる。
これは、無効ネットワークアドレスを持つパケットは
スイッチへ送られ、これはDEADポートへアドレス指定さ
れているので、これが到達すると、メッセージを消去さ
せるのみになるという可能性がある、ということを意味
する。経路指定テーブルエントリをセットすることに
は、かかるパケットの伝送を全て阻止するという或る小
さな利点があるが、不法アドレスを持つのは極めて少数
のパケットしかないこと、及びかかるパケットを少数の
スイッチを通して伝送することによって生ずる害はない
ということが考えられる。ネットワーク内の全てのDEAD
リンクを考慮する経路指定テーブルを発生するには、ネ
ットリストは、ネットワーク内のホストコンピュータへ
の全ての接続、及びスイッチ相互間接続についての情報
を持つことが必要である。
自滅協定 エポック番号があふれる(即ち、264の値に到達す
る)時及び場合に、「次の」エポック値(即ち、エポッ
ク=0またはエポック=1)を持つメッセージは前のエ
ポックよりも小さいエポック値を持つので、若干の問題
がある。この問題を解決するには、全てのスイッチはエ
ポック値を所定の開始値(例えば、0または1)にリセ
ットすることが必要である。これを行なうため、スイッ
チがそのエポック番号を増してこの番号のあふれを検出
するとき、該スイッチは特別の再構成メッセージを全て
のその隣接スイッチへ送り、これらスイッチにそれらの
エポック値をリセットすることを要求する。このメッセ
ージは、「自滅協定」と呼ばれ、次いで、全てのスイッ
チがメッセージを受け取るまで、これらスイッチによ
り、これらの全ての隣のものへ送られる。この「自滅協
定」メッセージを受け取り及び再伝送した後、全てのス
イッチは所定の時間(例えば、5秒間)待ち、その後、
標準の再構成プロセスを開始する。その結果、エポック
機構は全ての状態においてその保全を保有する。
多重ネットワーク変化 第2のネットワーク構成部材が再構成の最中に変化す
る場合、次のことが生ずる。この変化を検出するスイッ
チが、第1の変化を既に知っており、そして再構成プロ
グラムを実行しつつあった場合には、このスイッチは、
そのエポック番号をインクリメントし、且つ再構成プロ
セスのフェーズ2を再度開始することにより、「新しい
エポックを宣言する」。即ち、このスイッチは新しい再
構成メッセージをその隣のものへ送り、このエポックに
ついて報知する。この新しいより高いエポック番号はよ
り小さいエポック番号に打ち勝ち、そして再構成プロセ
スは前述のように進行する。
第2の変化を検出するスイッチが第1の変化について
まだ知っていなかった場合、該スイッチは、他のスイッ
チによって使用されているのと同じ新しいエポック番号
で再構成プロセスを独立に開始する。2つのセットの再
構成メッセージはネットワーク内の或る点において合流
し、そこで再構成プロセスは正規の仕方で進行する。
以上から解るように、短時間内に生ずるどんな数のネ
ットワーク変化も、第1の変化によって開始された再構
成プロセス内に編入される。
〔発明の効果〕
要約すると、本発明の再構成手続きは極めて早く、そ
して従来なかった次のような特性を有す。即ち、ネット
ワーク内には、再構成プロセスが何時完了するかを知っ
ているスイッチがあり、及びこのスイッチは他の全ての
スイッチに知らせる。その結果、ネットワーク内の全て
のスイッチは再構成プロセスが何時完了するかを知る。
本発明の実施例においては、再構成のための最長時間は
200ミリ秒以下であると考えられ、これは、このシステ
ムの利用者に不利を与えることのない十分に短い時間で
あると考えられる。
以上、本発明をその実施例について説明したが、これ
は本発明を例示するものであり、本発明は前記実施例に
限定されるものではない。当業者に解るように、本発明
においては、特許請求の範囲に記載のごとき本発明の精
神及び範囲を逸脱することなしに種々の変形を行なうこ
とができる。
【図面の簡単な説明】
第1A図は従来の線形ローカルエリアネットワークのブロ
ック線図、第1B図は従来のリング形ローカルエリアネッ
トワークのブロック線図、第2図は本発明の小型のメッ
シュ接続式ローカルエリアネットワークのブロック線
図、第3図は本発明のローカルエリアネットワークの一
つのセクションの詳細なブロック線図、第4図はメッシ
ュ接続式LANにおけるデッドロックの例を示す説明図、
第5図はメッシュ接続式LANにおけるアップリンク及び
ダウンリンクの概念図、第6図はデータパケット及び対
応のフロー制御信号の伝送を示すタイミング線図、第7
図は一つのホストコンピュータに対するネットワーク制
御器のブロック線図、第8図は本発明実施例において用
いられるスイッチのブロック線図、第9図は本発明実施
例において用いられるクロスバースイッチのブロック線
図、第10図は互いに接続されたネットワーク構成要素の
チェインに対するデータフロー制御回路のブロック線
図、第11図はスイッチ内の互いに接続された2つのリン
ク装置のブロック線図、第12図はリンク装置の詳細なブ
ロック線図、第13図は第8図のスイッチにおいて用いら
れるルータのブロック線図、第14図はネットワークアド
レスをルックアップアドレスの一部として用いて経路指
定テーブルからリンクベクトルを選択するプロセスを説
明するための略図、第15図は第13図におけるルータの経
路選択機構のブロック線図、第16図は第13図のルータに
対するタイミング線図、第17図はメッシュ式ネットワー
クをスパニングツリーとして示す図、第18図はネットワ
ーク再構成プロセスの第1フェーズの流れ図、第19図は
ネットワーク再構成プロセスの第2及び第3のフェーズ
中に用いられる主データ構造を示す図、第20図はネット
ワーク再構成プロセスの第2及び第3のフェーズの流れ
図である。 120,132〜138:ホスト 122:ネットワーク制御器 124,126,140,142:スイッチ 128,130,144,146:リンク 210:非ブロック化スイッチ 212:クロスバースイッチ 216:スイッチ制御プロセッサ 218:経路指定回路 308,330:入力リンク装置 322,326:出力リンク装置 350:TAXI受信器チップ
フロントページの続き (72)発明者 チャールズ ピー タッカー アメリカ合衆国 カリフォルニア州 94301 パロ アルト テニソン アベ ニュー 543 (72)発明者 アンドリュー ディー ビーラル アメリカ合衆国 カリフォルニア州 94022 ロス アルトス ラウクス ア ベニュー 313 (72)発明者 トーマス エル ローデヘッフェル アメリカ合衆国 カリフォルニア州 94040 マウンテン ヴィュー 231 デ ル メディオ アベニュー 141 (72)発明者 エドウィン エイチ サッタースウエイ ト ジュニア アメリカ合衆国 カリフォルニア州 94306 パロ アルト ウィルマー ド ライヴ 4189 (72)発明者 ハーラム ジー マーレイ ジュニア アメリカ合衆国 カリフォルニア州 94025 メンロ パーク スターリング アベニュー 2044

Claims (13)

    (57)【特許請求の範囲】
  1. 【請求項1】複数のホストを相互接続するためのメッシ
    ュ接続式ローカルエリアネットワークにおいて、 前記ネットワーク内のホスト相互間で複数のデータパケ
    ットを同時に経路指定するための複数のスイッチ手段
    (124、126、140、142、210)を備え、各前記スイッチ
    手段は、前記スイッチ手段を他のスイッチ手段及びホス
    ト(120、132、134、136、138)に接続するための複数
    のポート手段と、前記ポート手段の選択された複数の対
    相互間でデータパケットを同時に接続及び経路指定する
    ための非ブロック化クロスバースイッチとを含み、前記
    ホスト及びスイッチ手段は共にネットワーク構成要素を
    構成しており、更に、 ネットワーク内の前記スイッチ手段及ホストを相互接続
    するための複数の二点間リンク手段(128)を備えて成
    り、各前記二点間リンク手段は2つの前記ネットワーク
    構成要素間に通信チャネルを提供し、 各前記ポート手段は、前記ポート手段において前記スイ
    ッチ手段によって受信されたデータパケットを緩衝する
    ためのバッファ手段(310)と、受信済みデータパケッ
    トを、前記受信済みデータパケットの終わりが受信され
    る前に、前記非ブロック化クロスバースイッチを通して
    再伝送開始するためのカットスルー手段(404、406)と
    を含んでいることを特徴とするメッシュ接続式ローカル
    エリアネットワーク。
  2. 【請求項2】各データパケットは前記データパケットが
    送りつけられつつある特定ホストを有し、 各スイッチ手段をネットワークの通る合法的データパケ
    ット伝送経路を所定の基準に従って定義するための経路
    指定手段(218)を含み、前記経路指定手段は、受信済
    みデータパケットが通過して再伝送させられ得る前記ス
    イッチ手段のポート手段のサブセットを定義し、前記ポ
    ート手段のサブセットは、前記データパケットを受信す
    る前記スイッチのポート手段及び前記データパケットが
    送りつけられつつあるホストに従って、前記経路指定手
    段によって選択される請求項1記載のメッシュ接続式ロ
    ーカルエリアネットワーク。
  3. 【請求項3】複数のリンク手段はスパニングツリーリン
    クと複数の追加リンクとを含み、 複数のスイッチ手段及び前記スパニングツリーリンクは
    共にスパニングツリー(700)を構成し、前記スイッチ
    手段のうちの一つは前記スパニングツリーの根(710)
    と呼ばれ、 各前記データパケットは前記データパケットが送りつけ
    られつつある特定ホストを有し、 各前記スイッチ手段はネットワークを通る合法的データ
    パケット伝送経路を定義するための経路指定手段を含
    み、前記経路指定手段は2つのスイッチ手段のうちのど
    れが前記スパニングツリー内のよりよい位置を有し及び
    どれがより悪い位置を有するかを定義するためのスイッ
    チ配列手段を含んでおり、 前記経路指定手段(218)は、ホストを前記スイッチ手
    段に接続する各リンク手段をアップリンクと表示するた
    め、前記スイッチ手段を前記スパニングツリー内のより
    良い位置を持つ他のスイッチに接続する各リング手段を
    アップリンクと表示するため、及び前記スイッチ手段を
    前記スパニングツリー内のより悪い位置を持つ他のスイ
    ッチ手段に接続する各リンク手段をダウンリンクと表示
    するため、前記スイッチ配列手段に接続された構成手段
    を更に含んでおり、 前記経路指定手段は、前記アップリンクのいずれかに受
    信されたデータパケットを前記アップリンク及びダウの
    リンクのうちの選択されたものへ送るための手段と、前
    記ダウンリンクのいずれかに受信されたデータパケット
    を前記ダウンリンクのうちの選択されたものへ送るため
    の手段とを更に含んでおり、 もって、前記経路指定手段はメッシュ接続式ローカルエ
    リアネットワークを通るデータパケットのデッドロック
    なし経路指定を提供する請求項1記載のメッシュ接続式
    ローカルエリアネットワーク。
  4. 【請求項4】複数のリンク手段はスパニングツリーリン
    クと複数の追加リンクとを含み、複数のスイッチ手段及
    び前記スパニングツリーリンクは共にスパニングツリー
    を構成し、前記スイッチ手段のうちの一つは前記スパニ
    ングツリーの根(710)と呼ばれ、 前記スイッチ手段のうちのいずれか2つの特定されたも
    のに対し、前記特定スイッチ手段のうちのどれが前記ス
    パニングツリー内のよりよい位置を有し及びどれがより
    悪い位置を有するかを定義するためのスイッチ配列手段
    を更に含んでおり、 前記スイッチ手段のうちの2つの相互接続する各前記リ
    ンク手段は、前記スイッチ手段間で互いに反対の方向に
    データパケットを伝送するアップチャネル及びダウンチ
    ャネルを含み、前記アップチャネルはデータパケットを
    より悪い位置にあるスイッチ手段からよりよい位置にあ
    るスイッチ手段へ伝送するようになっており、 各前記スイッチ手段は、データパケットをネットワーク
    の構成要素のうちの特定の一つへ送るための経路指定手
    段(218)を含んでおり、もって、前記データパケット
    をネットワークを通って伝送する通路は、ゼロまたはそ
    れ以上のダウンチャネルが後に続くゼロまたはそれ以上
    のアップチャネルを具備し、 もって、前記経路指定手段はメッシュ接続式ローカルエ
    リアネットワークを通るデータパケットのデッドロック
    なしの経路指定を提供する請求項1記載のメッシュ接続
    式ローカルエリアネットワーク。
  5. 【請求項5】複数のホストを相互接続するためのメッシ
    ュ接続式ローカルエリアネットワークにおいて、 前記ネットワーク内のホスト相互間で複数のデータパケ
    ットを同時に経路指定するための複数のスイッチ手段
    (124、126、140、142、210)を備え、各前記スイッチ
    手段は、前記スイッチ手段を他のスイッチ手段及びホス
    ト(120、132、134、136、138)に接続するための複数
    のポート手段と、前記ポート手段の選択された複数の対
    相互間でデータパケットを同時に接続及び経路指定する
    ための非ブロック化クロスバースイッチとを含み、前記
    ホスト及びスイッチ手段は共にネットワーク構成要素を
    構成しており、更に、 ネットワーク内の前記スイッチ手段及ホストを相互接続
    するための複数の二点間リンク手段(128)を備えて成
    り、各前記二点間リンク手段は2つの前記ネットワーク
    構成要素間に通信チャネルを提供し、 各前記データパケットは前記データパケットが送りつけ
    られつつある特定ホストを有し、 各前記スイッチ手段はネットワークを通る合法的データ
    パケット伝送経路を所定の基準に従って定義するための
    経路指定手段(218)を含み、前記経路指定手段は、受
    信済みデータパケットが通過して再伝送させられ得る前
    記スイッチ手段の前記ポート手段のサブセットを定義
    し、前記ポート手段のサブセットは、前記データパケッ
    トを受信する前記スイッチのポート手段及び前記データ
    パケットが送りつけられつつあるホストに従って、前記
    経路指定手段によって選択されるメッシュ接続式ローカ
    ルエリアネットワーク。
  6. 【請求項6】複数のリンク手段はスパニングツリーリン
    クと複数の追加リンクとを含んでおり、 複数のスイッチ手段及び前記スパニングツリーリンクは
    共にスパニングツリーを構成し、前記スイッチ手段のう
    ちの一つは前記スパニングツリーの根(710)と呼ば
    れ、 前記スイッチ手段のうちのいずれか2つの特定されたも
    のに対し、前記特定スイッチ手段のうちのどれが前記ス
    パニングツリー内のよりよい位置を有し及びどれがより
    悪い位置を有するかを定義するためのスイッチ配列手段
    を更に含んでおり、 前記スイッチ手段のうちの2つの相互接続する各前記リ
    ンク手段(128)は、前記スイッチ手段間で互いに反対
    の方向にデータパケットを伝送するアップチャネル及び
    ダウンチャネルを含み、前記アップチャネルはデータパ
    ケットをより悪い位置にあるスイッチ手段からよりよい
    位置にあるスイッチ手段へ伝送するようになっており、 各前記スイッチ手段はデータパケットをネットワーク構
    成要素の特定のものへ送るための経路指定手段(218)
    を含み、もって、前記データパケットがネットワーク通
    って伝送される通路は、ゼロまたはそれ以上のダウンチ
    ャネルが後に続くゼロまたはそれ以上のアップチャネル
    を具備し、 もって、前記経路指定手段はメッシュ接続式ローカルエ
    リアネットワークを通るデータパケットのデッドロック
    なしの経路指定を提供する請求項5記載のメッシュ接続
    式ローカルエリアネットワーク。
  7. 【請求項7】複数のリンク手段はスパニングツリーリン
    クと複数の追加リンクとを含んでおり、 複数のスイッチ手段及び前記スパニングツリーリンクは
    共にスパニングツリーを構成し、前記スイッチ手段のう
    ちの一つは前記スパニングツリー(700)の根(710)と
    呼ばれ、 データパケットは、ネットワーク内のホストのうちの特
    定された単一のものへ送られる非同報通信データパケッ
    ト及びネットワーク内の全ての前記ホストへ送られるべ
    き同報通信データパケットを含んでおり、 経路指定手段(218)は、2つの同報通信パケット伝送
    経路を表示するための構成手段を含み、前記構成手段
    は、所定の基準に従い、前記スイッチ手段を前記スパニ
    ングツリーの前記根に近いほうの他のスイッチ手段に接
    続する前記スイッチ手段の一つのポート手段をアップリ
    ンクポートと呼ぶための、及び前記スイッチ手段の他の
    もののアップリングポートに接続された各ポート手段を
    ダウンリンクポートと表示するための手段を含んでお
    り、 各前記スイッチ手段の前記経路指定手段は、ネットワー
    クの前記根(710)と呼ばれる前記スイッチ手段を除
    き、前記アップリンクポートによって受信された同報通
    信データパケットを全ての前記ダウンリンクポートへ経
    路指定するための、及び前記アップリングポート以外の
    何らかの前記ポート手段によって受信された同報通信デ
    ータパケットを前記アップリングポートへ経路指定する
    ための経路選択手段を更に含んでいる請求項5記載のメ
    ッシュ接続式ローカルエリアネットワーク。
  8. 【請求項8】複数のホストを相互接続するためのメッシ
    ュ接続式ローカルエリアネットワークにおいて、 前記ネットワーク内のホスト相互間で複数のデータパケ
    ットを同時に経路指定するための複数のスイッチ手段
    (124、126、140、142、210)を備え、各前記スイッチ
    手段は、前記スイッチ手段を他のスイッチ手段及びホス
    ト(120、132、134、136、138)に接続するための複数
    のポート手段と、前記ポート手段の選択された複数の対
    相互間でデータパケットを同時に接続及び経路指定する
    ための非ブロック化クロスバースイッチとを含み、更
    に、 ネットワーク内の前記スイッチ手段及びホストを相互接
    続するための複数の二点間リンク手段(128)を備えて
    成り、各前記二点間リンク手段は、前記ネットワーク内
    のスイッチ手段及び前記ネットワーク内のホストから成
    るセットから選択された2つのネットワーク構成要素間
    に通信チャネルを提供し、 前記複数のリンク手段はスパニングツリーリンクと複数
    の追加リンクとを含んでおり、 前記複数のスイッチ手段及び前記スパツリーリンクは共
    にスパニングツリー(700)を構成し、前記スイッチ手
    段のうちの一つは前記スパニングツリーの根(710)と
    呼ばれ、 各前記データパケットは前記データパケットが送りつけ
    られつつある特定ホストを有し、 各前記スイッチ手段はネットワークを通る合法的データ
    パケット伝送経路を定義するための経路指定手段(21
    8)を含み、前記経路指定手段は、所定の基準に従い、
    前記スイッチ手段を前記スパニングツリーの前記根(71
    0)に近いほうの他のスイッチ手段に接続する前記スイ
    ッチ手段の各ポート手段をアップポートと表示するため
    の、及び前記スイッチ手段の他の全てのポート手段をダ
    ウンポートと表示するための構成手段を含んでおり、 前記経路指定手段(218)は、受信済みデータパケット
    が通過して再伝送され得る前記スイッチ手段の前記ポー
    ト手段のサブセットを定義するための経路指定テーブル
    手段を含み、前記ポート手段のサブセットは、前記デー
    タパケットを受信する前記スイッチ手段のポート手段及
    び前記データパケットが送りつけられつつあるホストに
    従って、前記経路指定手段によって選択され、前記ポー
    ト手段のサブセットは、前記データパケットを受信する
    前記ポート手段がダウンポートと表示されるときに前記
    構成手段によってダウンポートと表示される前記ポート
    手段のうちの選択されたもののみを含み、 もって、前記経路指定手段はメッシュ接続式ローカルエ
    リアネットワークを通るデータパケットのデッドロック
    なしの経路指定を提供するメッシュ接続式ローカルエリ
    アネットワーク。
  9. 【請求項9】複数のホストを相互接続するためのメッシ
    ュ接続式ローカルエリアネットワークにおいて、 前記ネットワーク内のホスト(120、132、134、136、13
    8)相互間で複数のデータパケットを同時に経路指定す
    るための複数のスイッチ手段(124、126、140、142、21
    0)を備え、各前記スイッチ手段は、前記スイッチ手段
    を他のスイッチ手段及びホストに接続するための複数の
    ポート手段と、前記ポート手段の選択された複数の対相
    互間でデータパケットを同時に接続及び経路指定するた
    めの非ブロック化クロスバースイッチとを含んでおり、
    更に、 ネットワーク内の前記スイッチ手段及びホストを相互接
    続するための複数の二点間リンク手段(128)を備え、
    各前記二点間リンク手段は、前記ネットワーク内のスイ
    ッチ手段と前記ネットワーク内のホストとから成るセッ
    トから選択された2つのネットワーク構成要素間に双方
    向通信チャネルを提供し、前記複数のリンク手段はスパ
    ニングツリーリンクと複数の追加リンクとを含んでお
    り、 前記複数のスイッチ手段及び前記スパニングツリーリン
    クは共にスパニングツリーを構成し、前記スイッチ手段
    のうちの一つは前記スパニングツリー(700)の根(71
    0)と呼ばれ、更に、 各前記リンク手段にアップ方向及びダウン方向を割り当
    てるための手段と、 データパケットを第1の特定ネットワーク構成要素から
    第2の特定ネットワーク構成要素へ伝送するための経路
    指定手段(218)とを備えて成り、前記経路指定手段
    は、前記データパケットを少なくとも1つの前記リンク
    手段上で前記アップ方向に伝送し、次いで前記データパ
    ケットを少なくとも1つの前記リンク手段上で前記ダウ
    ン方向に、前記第2の特定ネットワーク構成要素へ伝送
    するための手段を含んでおり、 もって、前記経路指定手段は前記メッシュ接続式ローカ
    ルエリアネットワークを通るデータパケットのデッドロ
    ックなしの経路指定を提供することを特徴とするメッシ
    ュ接続式ローカルエリアネットワーク。
  10. 【請求項10】データパケットは、ネットワーク内のホ
    ストのうち特定の単一のものへ送られる非同報通信デー
    タパケットと、ネットワーク内の全ての前記ホストへ送
    られるべき同報通信データパケットとを含んでおり、前
    記同報通信データパケットは所定の最大大きさを有し、 各ポート手段は前記ポート手段においてスイッチ手段に
    よって受信されるデータパケットを緩衝するためのバッ
    ファ手段(310)を含み、前記バッファ手段は、前記所
    定の最大大きさの同報通信データパケット全体を記憶す
    るのに十分以上の余地と、何時前記バッファ手段が同報
    通信データパケット全体を受信するのに十分な余地を持
    つかを示すための手段とを有しており、 前記ポート手段は、前記ポート手段に接続されたネット
    ワーク構成要素へフロー制御信号を送るため、前記バッ
    ファ手段に接続されたフロー制御手段を含み、前記フロ
    ー制御信号は、前記ポート手段へデータパケットを伝送
    することを停止することを前記ネットワーク構成要素に
    要求するストップフロー信号と、前記ポート手段へデー
    タパケットを送ることを再開することを前記ネットワー
    ク構成要素に許すスタートフロー信号とを含み、前記フ
    ロー制御手段は、前記バッファ手段が同報通信データパ
    ケット全体を受信するのに十分な余地を持つときにのみ
    スタートフロー信号を送るための手段を含んでいる請求
    項9記載のメッシュ接続式ローカルエリアネットワー
    ク。
  11. 【請求項11】複数のホストを相互接続するためのメッ
    シュ接続式ローカルエリアネットワークにおいて、 前記ネットワーク内のホスト(120、132、134、136、13
    8)相互間で複数のデータパケットを同時に経路指定す
    るための複数のスイッチ手段(124、126、140、142、21
    0)を備え、各前記スイッチ手段は、前記スイッチ手段
    を他のスイッチ手段及びホストに接続するための複数の
    ポート手段と、前記ポート手段の選択された複数の対相
    互間でデータパケットを同時に接続及び経路指定するた
    めの非ブロック化クロスバースイッチとを含み、前記ホ
    スト及びスイッチ手段は共にネットワーク構成要素を構
    成しており、更に、 ネットワーク内の前記スイッチ手段及びホストを相互接
    続するための複数の二点間リンク手段(128)を備えて
    成り、各前記二点間リンク手段は2つの前記ネットワー
    ク構成要素間に通信チャネルを提供し、 前記複数のリンク手段はスパニングツリーリンクと複数
    の追加リンクとを含んでおり、 前記複数のスイッチ手段及び前記スパニングツリーリン
    クは共にスパニングツリーを構成し、前記スイッチ手段
    のうちの一つは前記スパニングツリー(700)の根(71
    0)と呼ばれ、 前記データパケットは、ネットワーク内の前記ホストの
    うちの特定された単一のものへ送られる非同報通信デー
    タパケット及びネットワーク内の全ての前記ホストへ送
    られるべき同報通信データパケットを含んでおり、 各前記スイッチ手段はネットワークを通る合法的データ
    パケット伝送経路を所定の基準に従って定義するための
    経路指定手段を含み、前記経路指定手段は、所定の基準
    に従い、前記スイッチ手段を前記スパニングツリーの前
    記根(710)に近いほうの他のスイッチ手段に接続する
    前記スイッチ手段の一つのポート手段をアップリンクポ
    ートと呼ぶための、及び前記スイッチ手段の他のものの
    アップリンクポートに接続された各ポート手段をダウン
    リンクポートと表示するための手段を含んでおり、 各前記スイッチ手段の前記経路指定手段(218)は、ネ
    ットワークの前記根と呼ばれる前記スイッチ手段を除
    き、前記アップリンクポートによって受信された同報通
    信データパケットを全ての前記ダウンリンクポートへ経
    路指定するための、及び前記アップリンクポート以外の
    何らかの前記ポート手段によって受信された同報通信デ
    ータパケットを前記アップリンクポートへ経路指定する
    ための経路選択手段を更に含んでいるメッシュ接続式ロ
    ーカルエリアネットワーク。
  12. 【請求項12】複数のホストを相互接続するためのメッ
    シュ接続式ローカルエリアネットワークにおいて、 前記ネットワーク内のホスト(120、132、134、136、13
    8)相互間で複数のデータパケットを同時に経路指定す
    るための複数のスイッチ手段を備え、前記ホスト及びス
    イッチ手段(124、126、140、142、210)は共にネット
    ワーク構成要素を構成しており、更に、 ネットワーク内の前記スイッチ手段及びホストを相互接
    続するための複数の二点間リンク手段を備えて成り、各
    前記二点間リンク手段は2つの前記ネットワーク構成要
    素間に通信チャネルを提供し、 前記複数のリンク手段はスパニングツリーリンクと複数
    の追加リンクとを含んでおり、 前記複数のスイッチ手段及び前記スパニングツリーリン
    クは共にスパニングツリーを構成し、前記スイッチ手段
    のうちの一つは前記スパニングツリー(700)の根(71
    0)と呼ばれ、 各前記スイッチ手段は前記スパニングツリー内の前記ス
    イッチ手段の位置を決定するための再構成手段(900、1
    000−1016)を含み、前記再構成手段は、 前記スパニングツリー内のツリー位置を表示するための
    位置表示手段(910)と、 前記ツリー位置に付属のエポック値を表示するためのエ
    ポック表示手段(950)と、 前記ネットワークの構成の変化を検出するための構成変
    化検出手段(800)とを含み、前記検出手段は、前記ス
    イッチ手段と前記ネットワーク構成要素の他の一つとの
    間の新しい接続の存在を検出するための、及び前記スイ
    ッチ手段と前記ネットワーク構成要素の他の一つとの間
    の接続の破断を検出するための手段と、 前記構成変化検出手段が、前記ネットワークの構成の変
    化を検出されるときに前記エポック値をインクリメント
    するための手段(1000、1004)と、 前記スイッチ手段に隣接する各スイッチ手段へ前記ツリ
    ー位置と前記エポック値とを含む構成メッセージを送る
    ため、前記位置表示手段に接続されたメッセージ送信手
    段(1004)と、 各受信済み構成メッセージ内のツリー位置の関数である
    派生ツリー位置を発生するため、及び前記派生ツリー位
    置が前記位置表示手段によって表示されたツリー位置よ
    りも良い場合に前記位置表示手段によって表示されたツ
    リー位置を前記派生ツリー位置と置き換えるため、隣接
    スイッチ手段から構成メッセージを受信するためのメッ
    セージ受信手段とを含んでおり、 前記メッセージ受信手段は、前記受信済み構成メッセー
    ジ内の前記エポック値が前記エポック表示手段によって
    表示されたエポック値よりも大きい場合に前記ツリー位
    置を前記派生ツリー位置と置き換え且つ前記エポック値
    を前記受信済み構成メッセージ内のエポック値と置き換
    えるための手段を含んでおり、 前記メッセージ送信手段は、前記位置表示手段によって
    表示された前記ツリー位置が前記派生ツリー位置によっ
    て置き換えられるときに前記隣接スイッチ手段へ構成メ
    ッセージを送るための手段を含んでおり、 もって、ネットワークの構成の変化が、自動的に、前記
    ネットワーク内のスイッチ手段をして前記スパニングツ
    リー内のそれらの関係するツリー位置を再決定せしめる
    ようになっていることを特徴とするメッシュ接続式ロー
    カルエリアネットワーク。
  13. 【請求項13】複数のホストを相互接続するためのメッ
    シュ接続式ローカルエリアネットワークにおいて、 前記ネットワーク内のホスト(120、132、134、136、13
    8)相互間で複数のデータパケットを同時に経路指定す
    るための複数のスイッチ手段(124、126、140、142、21
    0)を備え、前記ホスト及びスイッチ手段は共にネット
    ワーク構成要素を構成しており、更に、 ネットワーク内の前記スイッチ手段及びホストを相互接
    続するための複数の二点間リンク手段(128)を備えて
    成り、各前記二点間リンク手段は2つの前記ネットワー
    ク構成要素間に通信チャネルを提供し、 前記複数のリンク手段はスパニングツリーリンクと複数
    の追加リンクとを含んでおり、 前記複数のスイッチ手段及び前記スパニングツリーリン
    クは共にスパニングツリーを構成し、前記スイッチ手段
    のうちの一つは前記スパニングツリー(700)の根(71
    0)と呼ばれ、 各前記スイッチ手段は前記スパニングツリー内の前記ス
    イッチ手段の位置を決定するための再構成手段(900、1
    000−1016)を含み、前記再構成手段は、 前記スパニングツリー内のツリー位置を表示するための
    位置表示手段(910)と、 前記ネットワークの構成の変化を検出するための構成変
    化検出手段(800)であって、前記スイッチ手段と前記
    ネットワーク構成要素の他の一つとの間の新しい接続の
    存在を検出するための、及び前記スイッチ手段と前記ネ
    ットワーク構成要素の他の一つとの間の接続の破断を検
    出するための手段とを含む、前記構成変化検出手段と、 前記構成変化検出手段に接続され、前記ネットワークの
    構成の変化が前記再構成変化手段により検出されるとき
    に再構成開始メッセージを送るための再構成開始手段
    (1000)と、 前記位置表示手段に接続され、前記スパニングツリー内
    の前記スイッチ手段のツリー位置を再決定するための再
    構成計算手段(1004、1008、1010、1012、1014、1016)
    であって、(A)再構成メッセージを前記スイッチ手段
    に隣接するスイッチ手段との間で送受し、且つ(B)前
    記受信された構成メッセージから導出される導出ツリー
    位置を前記位置指示手段内に記憶するための手段とを含
    む再構成計算手段と、を含み、 前記複数のスイッチ手段が、前記スパニングツリー内の
    全ての前記スイッチ手段のツリー位置を指示するネット
    ワーク構成データを全ての前記スイッチ手段に送信する
    ための手段(1012)を含み、 各スイッチ手段が、前記ネットワーク構成データ及び所
    定の経路選択基準に従って、特定のネットワーク構成要
    素へ受信データパケットを経路指定する、経路選択手段
    (218、408)を含んでおり、 もって、ネットワークの構成の変化が、自動的に、前記
    ネットワーク内のスイッチ手段をして前記スパニングツ
    リー内のそれらツリー位置を再決定せしめるようになっ
    ていることを特徴とするメッシュ接続式ローカルエリア
    ネットワーク。
JP15742290A 1989-06-22 1990-06-15 高速メッシュ接続式ローカルエリアネットワーク Expired - Lifetime JP2577269B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/370,285 US5088091A (en) 1989-06-22 1989-06-22 High-speed mesh connected local area network
US370285 1989-06-22

Publications (2)

Publication Number Publication Date
JPH0332252A JPH0332252A (ja) 1991-02-12
JP2577269B2 true JP2577269B2 (ja) 1997-01-29

Family

ID=23458997

Family Applications (1)

Application Number Title Priority Date Filing Date
JP15742290A Expired - Lifetime JP2577269B2 (ja) 1989-06-22 1990-06-15 高速メッシュ接続式ローカルエリアネットワーク

Country Status (6)

Country Link
US (1) US5088091A (ja)
EP (2) EP0817424A3 (ja)
JP (1) JP2577269B2 (ja)
AT (1) ATE178175T1 (ja)
CA (1) CA2011593A1 (ja)
DE (1) DE69033016T2 (ja)

Families Citing this family (177)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5179558A (en) * 1989-06-22 1993-01-12 Digital Equipment Corporation Routing apparatus and method for high-speed mesh connected local area network
EP0509058A4 (en) * 1990-01-05 1993-11-18 Maspar Computer Corporation Router chip with quad-crossbar and hyperbar personalities
US5249184A (en) * 1990-01-30 1993-09-28 Johnson Service Company Network control system with improved reliability
US5224095A (en) * 1990-01-30 1993-06-29 Johnson Service Company Network control system and method
US5243595A (en) * 1990-01-30 1993-09-07 Johnson Service Company Combined connectionless and connection-oriented network control system
US5237568A (en) * 1990-01-30 1993-08-17 Johnson Service Company Network control system with improved priority protocol
US5214646A (en) * 1990-01-31 1993-05-25 Amnon Yacoby System and method for interconnecting local area networks
US5150360A (en) * 1990-03-07 1992-09-22 Digital Equipment Corporation Utilization of redundant links in bridged networks
US5276678A (en) * 1990-06-18 1994-01-04 Intelect, Inc. Distributed switching and telephone conferencing system
JPH0756644B2 (ja) * 1990-08-31 1995-06-14 インターナショナル・ビジネス・マシーンズ・コーポレイション 状態変化通知装置及び方法
WO1992006547A1 (en) * 1990-09-28 1992-04-16 Hewlett-Packard Company Method of ascertaining topology features of a network
US5223968A (en) * 1990-12-20 1993-06-29 The United States Of America As Represented By The Secretary Of The Air Force First come only served communications network
US5321813A (en) * 1991-05-01 1994-06-14 Teradata Corporation Reconfigurable, fault tolerant, multistage interconnect network and protocol
US5224100A (en) * 1991-05-09 1993-06-29 David Sarnoff Research Center, Inc. Routing technique for a hierarchical interprocessor-communication network between massively-parallel processors
US5280607A (en) * 1991-06-28 1994-01-18 International Business Machines Corporation Method and apparatus for tolerating faults in mesh architectures
US5469542A (en) * 1991-07-22 1995-11-21 International Business Machines Corporation Serial diagnostic interface bus for multiprocessor systems
US5241540A (en) * 1991-07-31 1993-08-31 International Business Machines Corporation Reverse ordered control information transmission
US5625780A (en) * 1991-10-30 1997-04-29 I-Cube, Inc. Programmable backplane for buffering and routing bi-directional signals between terminals of printed circuit boards
WO1993009504A1 (en) * 1991-10-30 1993-05-13 I-Cube Design Systems Inc. Field programmable circuit board
WO1993009502A1 (en) * 1991-10-30 1993-05-13 I-Cube Design Systems, Inc. Field programmable logic module
US5490250A (en) * 1991-12-31 1996-02-06 Amdahl Corporation Method and apparatus for transferring indication of control error into data path of data switcher
US5412782A (en) 1992-07-02 1995-05-02 3Com Corporation Programmed I/O ethernet adapter with early interrupts for accelerating data transfer
US5579527A (en) * 1992-08-05 1996-11-26 David Sarnoff Research Center Apparatus for alternately activating a multiplier and a match unit
US5581778A (en) * 1992-08-05 1996-12-03 David Sarnoff Researach Center Advanced massively parallel computer using a field of the instruction to selectively enable the profiling counter to increase its value in response to the system clock
US5694547A (en) * 1992-10-13 1997-12-02 Bay Networks, Inc. System for registration of clients in an ATM network providing for communication of client registration messages to a central manager
US5586267A (en) * 1992-10-13 1996-12-17 Bay Networks, Inc. Apparatus for providing for automatic topology discovery in an ATM network or the like
US5781715A (en) * 1992-10-13 1998-07-14 International Business Machines Corporation Fault-tolerant bridge/router with a distributed switch-over mechanism
US5390173A (en) * 1992-10-22 1995-02-14 Digital Equipment Corporation Packet format in hub for packet data communications system
US5388099A (en) * 1992-10-22 1995-02-07 Digital Equipment Corporation Backplane wiring for hub in packet data communications system
US5701120A (en) * 1992-12-13 1997-12-23 Siemens Business Communication Systems, Inc. Partitioned point-to-point communications networks
US5838894A (en) * 1992-12-17 1998-11-17 Tandem Computers Incorporated Logical, fail-functional, dual central processor units formed from three processor units
US6157967A (en) * 1992-12-17 2000-12-05 Tandem Computer Incorporated Method of data communication flow control in a data processing system using busy/ready commands
US5640513A (en) * 1993-01-22 1997-06-17 International Business Machines Corporation Notification of disconnected service machines that have stopped running
EP1130848B1 (en) * 1993-03-08 2004-10-06 Hewlett-Packard Company (a Delaware corporation) Network analysis method
US5623698A (en) * 1993-04-30 1997-04-22 Cray Research, Inc. Memory interconnect network having separate routing networks for inputs and outputs using switches with FIFO queues and message steering bits
US5905723A (en) * 1993-06-23 1999-05-18 Cabletron Systems, Inc. System for achieving scalable router performance
JPH0779233A (ja) * 1993-06-29 1995-03-20 Synoptics Commun Inc トポロジを確定する装置及びトポロジ情報を通信する方法及び装置
JPH0738596A (ja) * 1993-07-16 1995-02-07 Toshiba Corp ネットワーク間接続装置
US5598581A (en) * 1993-08-06 1997-01-28 Cisco Sytems, Inc. Variable latency cut through bridge for forwarding packets in response to user's manual adjustment of variable latency threshold point while the bridge is operating
US5377182A (en) * 1993-08-18 1994-12-27 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Non-blocking crossbar permutation engine with constant routing latency
FR2710167B1 (fr) * 1993-09-13 1995-11-24 Ouest Standard Telematique Sa Dispositf de commutation d'unités de protocole à haut débit, et procédé de commutation correspondant.
JP2637918B2 (ja) * 1993-10-15 1997-08-06 インターナショナル・ビジネス・マシーンズ・コーポレイション カスケード・スイッチの競合解消方法及びその装置
US5668809A (en) * 1993-10-20 1997-09-16 Lsi Logic Corporation Single chip network hub with dynamic window filter
US5708659A (en) * 1993-10-20 1998-01-13 Lsi Logic Corporation Method for hashing in a packet network switching system
US5446726A (en) * 1993-10-20 1995-08-29 Lsi Logic Corporation Error detection and correction apparatus for an asynchronous transfer mode (ATM) network device
US5519694A (en) * 1994-02-04 1996-05-21 Massachusetts Institute Of Technology Construction of hierarchical networks through extension
US5544330A (en) * 1994-07-13 1996-08-06 Emc Corporation Fault tolerant interconnect topology using multiple rings
JP2871469B2 (ja) * 1994-07-19 1999-03-17 日本電気株式会社 Atm網構成管理方法
JP3810449B2 (ja) * 1994-07-20 2006-08-16 富士通株式会社 キュー装置
US5521909A (en) * 1994-07-22 1996-05-28 Newbridge Networks Corporation Frame relay management system
US5751967A (en) * 1994-07-25 1998-05-12 Bay Networks Group, Inc. Method and apparatus for automatically configuring a network device to support a virtual network
FI112729B (fi) * 1994-08-23 2003-12-31 Nokia Corp Menetelmä vikaantuneen yksikön elvyttämiseksi sekä elvytysjärjestelmä
US5699520A (en) * 1994-08-25 1997-12-16 Hewlett-Packard Company Flow control apparatus and method for a computer interconnect using adaptive credits and flow control tags
CA2153445C (en) * 1994-09-08 2002-05-21 Ashok Raj Saxena Video optimized media streamer user interface
US5521913A (en) * 1994-09-12 1996-05-28 Amber Wave Systems, Inc. Distributed processing ethernet switch with adaptive cut-through switching
IT1267645B1 (it) * 1994-12-09 1997-02-07 Cselt Centro Studi Lab Telecom Struttura di comunicazione ad anello su vettore ottico e relativo nodo riconfigurabile.
US5613069A (en) * 1994-12-16 1997-03-18 Tony Walker Non-blocking packet switching network with dynamic routing codes having incoming packets diverted and temporarily stored in processor inputs when network ouput is not available
US5717862A (en) * 1995-04-27 1998-02-10 International Business Machines Corporation Method and system for message status reporting in a multi-node network
US5802278A (en) * 1995-05-10 1998-09-01 3Com Corporation Bridge/router architecture for high performance scalable networking
JP3365705B2 (ja) * 1995-05-24 2003-01-14 インターナショナル・ビジネス・マシーンズ・コーポレーション 分散型データ処理システム
US5784559A (en) * 1995-11-06 1998-07-21 Sun Microsystems, Inc. Full duplex flow control for ethernet networks
US5644575A (en) * 1995-12-06 1997-07-01 Dsc Communications Corporation Managing memory within a local telecommunications network
US6662240B1 (en) * 1996-05-08 2003-12-09 Ncr Corporation Automated configuration of computer accessories
US5781545A (en) * 1996-05-22 1998-07-14 Harris Corporation Packet source exclusion method
US5881241A (en) * 1996-06-19 1999-03-09 Sun Microsystems, Inc. System for transmitting data packet after matching data packet's routing pattern with predetermined data routes stored in a route table
US5812549A (en) * 1996-06-25 1998-09-22 International Business Machines Corporation Route restrictions for deadlock free routing with increased bandwidth in a multi-stage cross point packet switch
US5781546A (en) * 1996-06-25 1998-07-14 International Business Machines Corporation Route restrictions for deadlock free routing with increased bandwidth in a multi-stage cross point packet switch
US6683876B1 (en) * 1996-09-23 2004-01-27 Silicon Graphics, Inc. Packet switched router architecture for providing multiple simultaneous communications
US5905873A (en) * 1997-01-16 1999-05-18 Advanced Micro Devices, Inc. System and method of routing communications data with multiple protocols using crossbar switches
US5867484A (en) * 1997-01-31 1999-02-02 Intellect Network Technologies Switchable multi-drop video distribution system
US20030133417A1 (en) * 1997-03-12 2003-07-17 Sig H. Badt Method and message therefor of monitoring the spare capacity of a dra network
US6122277A (en) * 1997-08-19 2000-09-19 International Business Machines Corporation Parallel computer network broadcasting and acknowledgement
US6370145B1 (en) * 1997-08-22 2002-04-09 Avici Systems Internet switch router
US6285679B1 (en) 1997-08-22 2001-09-04 Avici Systems, Inc. Methods and apparatus for event-driven routing
GB9725372D0 (en) * 1997-11-28 1998-01-28 3Com Ireland Trunking in stacked communication devices
US6563837B2 (en) 1998-02-10 2003-05-13 Enterasys Networks, Inc. Method and apparatus for providing work-conserving properties in a non-blocking switch with limited speedup independent of switch size
US6865154B1 (en) 1998-01-12 2005-03-08 Enterasys Networks, Inc. Method and apparatus for providing bandwidth and delay guarantees in combined input-output buffered crossbar switches that implement work-conserving arbitration algorithms
US6072772A (en) * 1998-01-12 2000-06-06 Cabletron Systems, Inc. Method for providing bandwidth and delay guarantees in a crossbar switch with speedup
US6112251A (en) 1998-01-13 2000-08-29 Cabletron Systems, Inc. Virtual local network for sending multicast transmissions to trunk stations
US6301224B1 (en) 1998-01-13 2001-10-09 Enterasys Networks, Inc. Network switch with panic mode
US6195349B1 (en) * 1998-01-28 2001-02-27 3Com Corporation Scalable logical LAN
US6058116A (en) * 1998-04-15 2000-05-02 3Com Corporation Interconnected trunk cluster arrangement
US20020150056A1 (en) * 1998-05-15 2002-10-17 Martin Abadi Method for avoiding broadcast deadlocks in a mesh-connected network
US6480502B1 (en) 1998-05-15 2002-11-12 Compaq Information Technologies Group, L.P. Method for avoiding broadcast deadlocks in a mesh-connected network
US6205532B1 (en) 1998-05-22 2001-03-20 Avici Systems, Inc. Apparatus and methods for connecting modules using remote switching
US6636932B1 (en) 1998-05-27 2003-10-21 Micron Technology, Inc. Crossbar switch and control for data networks switching
US6606297B1 (en) 1998-05-29 2003-08-12 Tellabs Operations, Inc. Bi-directional ring network having minimum spare bandwidth allocation and corresponding connection admission control
US6553355B1 (en) 1998-05-29 2003-04-22 Indranet Technologies Limited Autopoietic network system endowed with distributed artificial intelligence for the supply of high volume high-speed multimedia telesthesia telemetry, telekinesis, telepresence, telemanagement, telecommunications, and data processing services
US20030086367A1 (en) * 1998-09-08 2003-05-08 Lee D. Bengston Method for monitoring spare capacity of a dra network
US6570881B1 (en) * 1999-01-21 2003-05-27 3Com Corporation High-speed trunk cluster reliable load sharing system using temporary port down
US6263415B1 (en) * 1999-04-21 2001-07-17 Hewlett-Packard Co Backup redundant routing system crossbar switch architecture for multi-processor system interconnection networks
US6621798B1 (en) * 1999-04-21 2003-09-16 Lucent Technologies Inc. Method to sequence changes for IP network configuration
US6614764B1 (en) 1999-05-03 2003-09-02 Hewlett-Packard Development Company, L.P. Bridged network topology acquisition
US6721275B1 (en) 1999-05-03 2004-04-13 Hewlett-Packard Development Company, L.P. Bridged network stations location revision
JP2003512746A (ja) * 1999-05-21 2003-04-02 エイヴィシー・システムズ フリット・キャッシングを備えたファブリック・ルータ
US7069320B1 (en) 1999-10-04 2006-06-27 International Business Machines Corporation Reconfiguring a network by utilizing a predetermined length quiescent state
DE19954377C2 (de) * 1999-11-12 2003-04-17 Airbus Gmbh Datenübertragungssystem für Luftfahrzeuge
US6745240B1 (en) 1999-11-15 2004-06-01 Ncr Corporation Method and apparatus for configuring massively parallel systems
US6418526B1 (en) 1999-11-15 2002-07-09 Ncr Corporation Method and apparatus for synchronizing nodes in massively parallel systems
US6412002B1 (en) 1999-11-15 2002-06-25 Ncr Corporation Method and apparatus for selecting nodes in configuring massively parallel systems
US6519697B1 (en) 1999-11-15 2003-02-11 Ncr Corporation Method and apparatus for coordinating the configuration of massively parallel systems
US6728779B1 (en) 1999-12-01 2004-04-27 Lucent Technologies Inc. Method and apparatus for exchanging routing information in a packet-based data network
DE10001874A1 (de) * 2000-01-18 2001-07-19 Infineon Technologies Ag Multi-Master-Bus-System
US6768735B1 (en) * 2000-03-31 2004-07-27 Alcatel Method and apparatus for controlling signaling links in a telecommunications system
JP4436960B2 (ja) * 2000-05-16 2010-03-24 日本電気株式会社 パケット通信システムおよび移動通信システム
US6606630B1 (en) * 2000-08-21 2003-08-12 Hewlett-Packard Development Company, L.P. Data structure and method for tracking network topology in a fiber channel port driver
KR100901547B1 (ko) * 2000-10-10 2009-06-08 인텔 코오포레이션 통신 메시들을 형성하기 위한 방법 및 장치
US6937562B2 (en) 2001-02-05 2005-08-30 Ipr Licensing, Inc. Application specific traffic optimization in a wireless link
FR2820921A1 (fr) * 2001-02-14 2002-08-16 Canon Kk Dispositif et procede de transmission dans un commutateur
GB2375917B (en) * 2001-03-19 2004-04-28 Bob Tang A method of implementing on existing internet infrastructure technology and existing protocols, with similar end to end transmissions reception qualities,
FR2824434B1 (fr) * 2001-05-02 2004-12-10 Canon Kk Procede de diffusion d'un paquet de donnees au sein d'un reseau commute, base sur un calcul optimise de l'arbre de recouvrement
US7243160B2 (en) * 2001-05-10 2007-07-10 Intel Corporation Method for determining multiple paths between ports in a switched fabric
US20030065811A1 (en) * 2001-05-16 2003-04-03 Lin Philip J. Methods and apparatus for allocating working and protection bandwidth in a network
CA2451648A1 (en) * 2001-06-19 2002-12-27 Baker Hughes Incorporated Full duplex dmt modulation in well-logging applications
US7030739B2 (en) * 2003-01-27 2006-04-18 Audiovox Corporation Vehicle security system and method for programming an arming delay
US7379444B2 (en) 2003-01-27 2008-05-27 International Business Machines Corporation Method to recover from node failure/recovery incidents in distributed systems in which notification does not occur
JP4385834B2 (ja) * 2003-04-15 2009-12-16 パナソニック株式会社 ルーティング制御方法およびルータ装置
US20050210311A1 (en) * 2004-03-08 2005-09-22 Rodeheffer Thomas L Method and system for probabilistic defect isolation
US7664902B1 (en) * 2004-03-16 2010-02-16 Super Talent Electronics, Inc. Extended SD and microSD hosts and devices with USB-like high performance packetized interface and protocol
US11451275B2 (en) 2004-04-02 2022-09-20 Rearden, Llc System and method for distributed antenna wireless communications
US11309943B2 (en) 2004-04-02 2022-04-19 Rearden, Llc System and methods for planned evolution and obsolescence of multiuser spectrum
US11394436B2 (en) 2004-04-02 2022-07-19 Rearden, Llc System and method for distributed antenna wireless communications
US8654815B1 (en) 2004-04-02 2014-02-18 Rearden, Llc System and method for distributed antenna wireless communications
US10277290B2 (en) 2004-04-02 2019-04-30 Rearden, Llc Systems and methods to exploit areas of coherence in wireless systems
US9826537B2 (en) 2004-04-02 2017-11-21 Rearden, Llc System and method for managing inter-cluster handoff of clients which traverse multiple DIDO clusters
US10886979B2 (en) 2004-04-02 2021-01-05 Rearden, Llc System and method for link adaptation in DIDO multicarrier systems
US10187133B2 (en) 2004-04-02 2019-01-22 Rearden, Llc System and method for power control and antenna grouping in a distributed-input-distributed-output (DIDO) network
US9312929B2 (en) 2004-04-02 2016-04-12 Rearden, Llc System and methods to compensate for Doppler effects in multi-user (MU) multiple antenna systems (MAS)
US10749582B2 (en) 2004-04-02 2020-08-18 Rearden, Llc Systems and methods to coordinate transmissions in distributed wireless systems via user clustering
US10985811B2 (en) 2004-04-02 2021-04-20 Rearden, Llc System and method for distributed antenna wireless communications
US10425134B2 (en) 2004-04-02 2019-09-24 Rearden, Llc System and methods for planned evolution and obsolescence of multiuser spectrum
US9819403B2 (en) 2004-04-02 2017-11-14 Rearden, Llc System and method for managing handoff of a client between different distributed-input-distributed-output (DIDO) networks based on detected velocity of the client
US8542763B2 (en) 2004-04-02 2013-09-24 Rearden, Llc Systems and methods to coordinate transmissions in distributed wireless systems via user clustering
US10200094B2 (en) 2004-04-02 2019-02-05 Rearden, Llc Interference management, handoff, power control and link adaptation in distributed-input distributed-output (DIDO) communication systems
US7486672B2 (en) * 2004-04-20 2009-02-03 Samsung Electronics Co., Ltd. Apparatus and method for searching trie trees using masks with non-symbol boundaries and flooding default routes in a massively parallel router
US7567571B2 (en) * 2004-05-26 2009-07-28 Samsung Electronics Co., Ltd. Apparatus and method using vector table indirection to maintain forwarding tables in a router
US9491084B2 (en) * 2004-06-17 2016-11-08 Hewlett Packard Enterprise Development Lp Monitoring path connectivity between teamed network resources of a computer system and a core network
CA2554938A1 (en) * 2004-06-29 2006-01-12 Siemens Aktiengesellschaft Method of providing a reliable server function in support of a service or a set of services
US9685997B2 (en) * 2007-08-20 2017-06-20 Rearden, Llc Systems and methods to enhance spatial diversity in distributed-input distributed-output wireless systems
DE102005001956B4 (de) * 2005-01-14 2006-11-09 Infineon Technologies Ag Verfahren und Vorrichtung zur Datenübertragung mit einer DSL-Technik
US7474620B2 (en) * 2005-07-10 2009-01-06 Hewlett-Packard Development Company, L.P. Communications network having transport diversity
US20070150140A1 (en) * 2005-12-28 2007-06-28 Seymour Shafer B Incident alert and information gathering method and system
US20070248111A1 (en) * 2006-04-24 2007-10-25 Shaw Mark E System and method for clearing information in a stalled output queue of a crossbar
JP4840135B2 (ja) 2006-12-30 2011-12-21 トヨタ自動車株式会社 車両用駆動装置の制御装置
US20100174608A1 (en) * 2007-03-22 2010-07-08 Harkness David H Digital rights management and audience measurement systems and methods
US8989155B2 (en) * 2007-08-20 2015-03-24 Rearden, Llc Systems and methods for wireless backhaul in distributed-input distributed-output wireless systems
US20100046363A1 (en) * 2008-05-02 2010-02-25 Rochester Institute Of Technology Methods for managing an election of a cluster head in ad hoc mobile communication network and systems thereof
US8160248B2 (en) * 2009-04-02 2012-04-17 Broadcom Corporation Authenticated mode control
DE102009030204A1 (de) * 2009-06-24 2010-12-30 Audi Ag Sternkoppler für ein Bussystem, Bussystem mit einem solchen Sternkoppler sowie Verfahren zum Austauschen von Signalen in einem Bussystem
US11190947B2 (en) 2014-04-16 2021-11-30 Rearden, Llc Systems and methods for concurrent spectrum usage within actively used spectrum
US11050468B2 (en) 2014-04-16 2021-06-29 Rearden, Llc Systems and methods for mitigating interference within actively used spectrum
US10194346B2 (en) 2012-11-26 2019-01-29 Rearden, Llc Systems and methods for exploiting inter-cell multiplexing gain in wireless cellular systems via distributed input distributed output technology
US11189917B2 (en) 2014-04-16 2021-11-30 Rearden, Llc Systems and methods for distributing radioheads
US10164698B2 (en) 2013-03-12 2018-12-25 Rearden, Llc Systems and methods for exploiting inter-cell multiplexing gain in wireless cellular systems via distributed input distributed output technology
US9923657B2 (en) 2013-03-12 2018-03-20 Rearden, Llc Systems and methods for exploiting inter-cell multiplexing gain in wireless cellular systems via distributed input distributed output technology
US10488535B2 (en) 2013-03-12 2019-11-26 Rearden, Llc Apparatus and method for capturing still images and video using diffraction coded imaging techniques
US9973246B2 (en) 2013-03-12 2018-05-15 Rearden, Llc Systems and methods for exploiting inter-cell multiplexing gain in wireless cellular systems via distributed input distributed output technology
RU2767777C2 (ru) 2013-03-15 2022-03-21 Риарден, Ллк Системы и способы радиочастотной калибровки с использованием принципа взаимности каналов в беспроводной связи с распределенным входом - распределенным выходом
FR3005384B1 (fr) * 2013-05-02 2015-06-19 Thales Sa Module de routage ; circuit logique programmable, noeud, reseau maille de communication et procede de routage associes.
US10218524B2 (en) 2013-09-17 2019-02-26 Cisco Technology, Inc. Bit indexed explicit replication for layer 2 networking
EP3047604B1 (en) 2013-09-17 2021-03-24 Cisco Technology, Inc. Bit indexed explicit replication
US10003494B2 (en) 2013-09-17 2018-06-19 Cisco Technology, Inc. Per-prefix LFA FRR with bit indexed explicit replication
US9806897B2 (en) 2013-09-17 2017-10-31 Cisco Technology, Inc. Bit indexed explicit replication forwarding optimization
US10461946B2 (en) 2013-09-17 2019-10-29 Cisco Technology, Inc. Overlay signaling for bit indexed explicit replication
US11451474B2 (en) * 2013-09-17 2022-09-20 Cisco Technology, Inc. Equal cost multi-path with bit indexed explicit replication
US11290162B2 (en) 2014-04-16 2022-03-29 Rearden, Llc Systems and methods for mitigating interference within actively used spectrum
US9906378B2 (en) 2015-01-27 2018-02-27 Cisco Technology, Inc. Capability aware routing
US10341221B2 (en) 2015-02-26 2019-07-02 Cisco Technology, Inc. Traffic engineering for bit indexed explicit replication
US10630743B2 (en) 2016-09-23 2020-04-21 Cisco Technology, Inc. Unicast media replication fabric using bit indexed explicit replication
US10637675B2 (en) 2016-11-09 2020-04-28 Cisco Technology, Inc. Area-specific broadcasting using bit indexed explicit replication
FR3062007B1 (fr) * 2017-01-16 2019-05-24 Thales Reseau maille de communication, procede de configuration et produit programme d'ordinateur associes
US10447496B2 (en) 2017-03-30 2019-10-15 Cisco Technology, Inc. Multicast traffic steering using tree identity in bit indexed explicit replication (BIER)
US10164794B2 (en) 2017-04-28 2018-12-25 Cisco Technology, Inc. Bridging of non-capable subnetworks in bit indexed explicit replication
CA3063572A1 (en) * 2017-05-31 2018-12-06 Crypto4A Technologies Inc. Integrated multi-level network appliance, platform and system, and remote management method and system therefor
US11321493B2 (en) 2017-05-31 2022-05-03 Crypto4A Technologies Inc. Hardware security module, and trusted hardware network interconnection device and resources
US11310198B2 (en) 2017-05-31 2022-04-19 Crypto4A Technologies Inc. Integrated multi-level or cross-domain network security management appliance, platform and system, and remote management method and system therefor
EP4122254A1 (en) 2020-03-20 2023-01-25 Katholieke Universiteit Leuven KU Leuven Research & Development Wireless mesh network and method of relaying signal in wireless mesh network

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3916380A (en) * 1974-11-06 1975-10-28 Nasa Multi-computer multiple data path hardware exchange system
FR2432804A1 (fr) * 1978-08-03 1980-02-29 Trt Telecom Radio Electr Commutateur de donnees a haute vitesse
US4814979A (en) * 1981-04-01 1989-03-21 Teradata Corporation Network to transmit prioritized subtask pockets to dedicated processors
US4439826A (en) * 1981-07-20 1984-03-27 International Telephone & Telegraph Corporation Diagnostic system for a distributed control switching network
US4466060A (en) * 1982-02-11 1984-08-14 At&T Bell Telephone Laboratories, Incorporated Message routing in a computer network
US4598400A (en) * 1983-05-31 1986-07-01 Thinking Machines Corporation Method and apparatus for routing message packets
US4556972A (en) * 1983-12-27 1985-12-03 At&T Bell Laboratories Arrangement for routing data packets through a circuit switch
US4651318A (en) * 1984-11-30 1987-03-17 At&T Bell Laboratories Self-routing packets with stage address identifying fields
US4670871A (en) * 1985-06-27 1987-06-02 American Telephone And Telegraph Company, At&T Bell Laboratories Reliable synchronous inter-node communication in a self-routing network
US4698803A (en) * 1985-08-02 1987-10-06 Gte Laboratories Incorporated Burst-switching communications system
US4706080A (en) * 1985-08-26 1987-11-10 Bell Communications Research, Inc. Interconnection of broadcast networks
US4663620A (en) * 1985-09-05 1987-05-05 International Business Machines Corporation Modified crossbar switch operation with fixed priority conflict resolution and apparatus for performing same
CA1245327A (en) * 1985-09-06 1988-11-22 Northern Telecom Limited Path oriented routing system and method for packet switching networks
US4701756A (en) * 1985-09-10 1987-10-20 Burr William E Fault-tolerant hierarchical network
US4679189A (en) * 1985-11-27 1987-07-07 American Telephone And Telegraph Company Alternate routing arrangement
US4696000A (en) * 1985-12-12 1987-09-22 American Telephone And Telegraph Company, At&T Bell Laboratories Nonblocking self-routing packet and circuit switching network
US4862461A (en) * 1987-01-12 1989-08-29 International Business Machines Corp. Packet switch network protocol
US4754451A (en) * 1986-08-06 1988-06-28 American Telephone And Telegraph Company, At&T Bell Laboratories N-by-N "knockout" switch for a high-performance packet switching system with variable length packets
US4740954A (en) * 1986-12-31 1988-04-26 Bell Communications Research, Inc. Multicast routing algorithm
US4811337A (en) * 1988-01-15 1989-03-07 Vitalink Communications Corporation Distributed load sharing
US4962497A (en) * 1989-09-21 1990-10-09 At&T Bell Laboratories Building-block architecture of a multi-node circuit-and packet-switching system

Also Published As

Publication number Publication date
EP0817424A3 (en) 2000-11-22
EP0404337A2 (en) 1990-12-27
DE69033016T2 (de) 1999-11-25
DE69033016D1 (de) 1999-04-29
US5088091A (en) 1992-02-11
CA2011593A1 (en) 1990-12-22
EP0404337B1 (en) 1999-03-24
EP0404337A3 (en) 1993-05-12
EP0817424A2 (en) 1998-01-07
ATE178175T1 (de) 1999-04-15
JPH0332252A (ja) 1991-02-12

Similar Documents

Publication Publication Date Title
JP2577269B2 (ja) 高速メッシュ接続式ローカルエリアネットワーク
JPH0817385B2 (ja) 高速メッシュ接続式ローカルエリアネットワーク用再構成システム
US4396983A (en) Distributed data processing system having several local system and communication modules for use in such data processing system
FI80975C (fi) Naet i ett multiprocessorsystem.
EP0042447B1 (en) Flow control mechanism for block switching nodes
US4933933A (en) Torus routing chip
US4667287A (en) Multiprocessor multisystem communications network
US7940788B2 (en) System for transmitting data within a network between nodes of the network and flow control process for transmitting the data
JP5781586B2 (ja) フルメッシュ・ネットワークにおける集中制御を排除したダイナミック・マルチパス・ルーティングによるセル・ベース・データの送信
US20020150056A1 (en) Method for avoiding broadcast deadlocks in a mesh-connected network
JPH05216849A (ja) メッセージの進行を追跡する複数ノード・ネットワーク
JP4146080B2 (ja) 通信ネットワーク
JP3639651B2 (ja) 少なくとも2台のプロセッサからなる情報処理装置
WO2000074310A2 (en) Method and system for path protection in a communications network
Temple The design of a ring communication network
Joerg et al. The Monsoon Interconnection Network.
Hatada et al. A Microprocessor-Based Multi-Loop Network System
EP0630496A4 (en) ACCELERATED TOKEN RING NETWORK.
Farazdel et al. Understanding and using the SP Switch
Perlis et al. 21. Distributed Systems
RAISES et al. 27. Distributed Transactions
Kang Hybrid-Meshnet, a local area mesh network with distributed control
Dao Mechanisms for reliable message delivery in pipelined interconnection networks
Patel New protocol for multistage interconnection networks
Links 22. Paper: Autonet: A High-Speed, Self-Configuring Local Area Network Using Point-to-Point Links