JP3174046B2 - メッセージルーチング方法、コンピュータネットワーク、ルーチングスイッチ - Google Patents

メッセージルーチング方法、コンピュータネットワーク、ルーチングスイッチ

Info

Publication number
JP3174046B2
JP3174046B2 JP17434890A JP17434890A JP3174046B2 JP 3174046 B2 JP3174046 B2 JP 3174046B2 JP 17434890 A JP17434890 A JP 17434890A JP 17434890 A JP17434890 A JP 17434890A JP 3174046 B2 JP3174046 B2 JP 3174046B2
Authority
JP
Japan
Prior art keywords
routing
header
switch
packet
node
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
JP17434890A
Other languages
English (en)
Other versions
JPH03132131A (ja
Inventor
マイケル、デイビッド、メイ
ブライアン、ジェレミー、パーソンズ
ピーター、ウィリアム、トンプソン
クリストファー、ポール、ハルム、ウォーカー
Original Assignee
エスジーエス―トムソン、マイクロエレクトロニクス、リミテッド
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 エスジーエス―トムソン、マイクロエレクトロニクス、リミテッド filed Critical エスジーエス―トムソン、マイクロエレクトロニクス、リミテッド
Publication of JPH03132131A publication Critical patent/JPH03132131A/ja
Application granted granted Critical
Publication of JP3174046B2 publication Critical patent/JP3174046B2/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
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • G06F15/17356Indirect interconnection networks
    • G06F15/17368Indirect interconnection networks non hierarchical topologies
    • G06F15/17375One dimensional, e.g. linear array, ring
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/06Deflection routing, e.g. hot-potato routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/40Wormhole routing
    • 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/104Asynchronous transfer mode [ATM] switching fabrics
    • H04L49/105ATM switching elements
    • H04L49/106ATM switching elements using space switching, e.g. crossbar or matrix
    • 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
    • H04QSELECTING
    • H04Q11/00Selecting arrangements for multiplex systems
    • H04Q11/04Selecting arrangements for multiplex systems for time-division multiplexing
    • H04Q11/0428Integrated services digital network, i.e. systems for transmission of different types of digitised signals, e.g. speech, data, telecentral, television signals
    • H04Q11/0478Provisions for broadband connections
    • 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/25Routing or path finding in a switch fabric
    • H04L49/253Routing or path finding in a switch fabric using establishment or release of connections between ports
    • H04L49/254Centralised controller, i.e. arbitration or scheduling
    • 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
    • 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/3018Input queuing
    • 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/3027Output queuing

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Multi Processors (AREA)

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明はメツセージルーチング、とくにメツセージを
コンピユータネツトワーク内でルーチングする方法およ
びルーチングスイツチを有するコンピユータネツトワー
クに関する。
〔従来の技術〕
ネツトワーク内のマイクロコンピユータのような処理
装置を、一つのマイクロコンピユータがネツトワーク内
の他のコンピユータと通信するように接続することがし
ばしば望まれる。そのようなネツトワークにおいて、マ
イクロコンピユータがその付近のものすなわち硬線で接
続されたものとしか通信し得ないならばはなはだしく不
便である。ネツトワークのマイクロコンピユータはその
機能がネツトワークを通してメツセージをルーチングす
る処理を実施しうることが現在知られている。すなわ
ち、処理はメツセージをうけ取りかつ通知をすることで
あり、その効果はメツセージ処理を繰り返そうとする適
当な隣接するマイクロコンピユータに伝達することであ
る。これはマイクロコンピユータの処理の実施時間に関
してまたとくにネツトワーク構造において異なつたマイ
クロコンピユータに対するプログラムの処理を割り当て
るのに必要な仕事に関して高価につく。
〔発明が解決しようとする課題〕
種々のメツセージルーチング装置が知られている。あ
るものは特定のネツトワーク構造に接続された処理装置
の間の切替えチヤネルを設けることにより作用する。多
くのネツトワークにおいて、ルーチング装置はそれぞれ
パケツトを入力し、その宛先を決定し、ついでパケツト
をつぎの段階に前進させる。これは各装置において伝送
されるパケツトを蓄積する必要があり、パケツトの出力
とそのうけ入れとの間にポテンシヤル的に長い遅れを生
ずるから、好ましくない。今日まで、ネツトワーク内で
メツセージをルーチングする融通の利く、迅速かつ有効
なルーチング装置は存在していない。
〔課題を解決するための手段〕
本発明の一特徴によれば、複数のノードを有しその少
くともあるものがそれぞれ識別を有するコンピユータネ
ツトワークであつて、前記ネツトワークが、 それぞれ処理を実施するプロセツサ、ネツトワークの
他の装置との間でメツセージを入力および出力するメツ
セージリンク、および宛先ノード識別を示すヘツダ部分
およびヘツダ部分に続くメツセージ部分を備えたメツセ
ージパケツトを発生するパケツト発生回路を有する複数
のコンピユータ装置、および、 少くとも一つのルーチングスイツチであつて、前記ル
ーチングスイツチはソースノードからメツセージパケツ
トをうけ入れる入力、それぞれ宛先ノード識別の各範囲
を指定する複数の出力、前記入力を前記出力の選択され
た一つに選択的に接続するスイツチ回路およびすべての
パケツトをうけ入れる前に入力にうけ入れられたパケツ
トのヘツダ部分を読出すヘツダ読出し回路を有し、前記
ヘツダ読出し回路は前記スイツチ回路に組み合わされ前
記入力を前記ヘツダ部分のノード識別を含むノード識別
範囲を有する前記出力の一つに接続する前記ルーチング
スイツチ、 を有するコンピユータネツトワークが提供される。
本発明の別の特徴によれば、複数のノードを有し、そ
の少くともあるものがそれぞれ識別を有するコンピユー
タネツトワークにおいてメツセージパケツトをルーチン
グする方法において、 a)ソースノードと直列にメツセージパケツトを出力
し、前記メツセージパケツトは宛先ノードを識別するヘ
ツダ部分および前記ヘツダ部分に続くメツセージ部分を
有し、 b)前記メツセージパケツトを前記入力に選択的に接続
しうる複数の出力を有するルーチングスイツチを有する
ノードの入力に直列に供給し、前記各出力は宛先ノード
認識の各範囲に対して選択可能であり、 c)前記ルーチングスイツチによるうけ入れの際全部の
メツセージパケツトをうけ入れる前に前記ヘツダ部分を
読出して宛先ノード識別を決定し前記ヘツダ部分の宛先
ノード識別を含むノード識別範囲を有する前記出力の一
つを前記入力の一つに選択的に接続し、 d)メツセージ部分を前記ルーチングスイツチを通して
前記入力から前記出力の一つに伝送する、 各工程を有する前記方法が提供される。
本発明はさらに、別の特徴によれば、複数のノードを
有しその少くともあるものがそれぞれ識別を有するネツ
トワーク内のコンピユータ装置間にメツセージをルーチ
ングするルーチングスイツチにおいて、各コンピユータ
装置は宛先ノード識別およびヘツダ部分に続くメツセー
ジ部分を有するメツセージパケツトを発生するパケツト
発生回路を有し、前記ルーチングスイツチはソースノー
ドからメツセージパケツトをうけ入れる入力、それぞれ
宛先ノードの各範囲を示す複数の出力、前記入力を選択
的に前記出力の選択された一つに選択的に接続するスイ
ツチ回路およびすべてのメツセージパケツトをうけ入れ
る前に入力にうけ入れられたパケツトのヘツダ部分を読
出すヘツダ読出し回路を有し、前記ヘツダ読出し回路は
前記スイツチ回路に組み合わされ前記入力を前記ヘツダ
部分のノード識別を有するノード識別範囲を有する前記
出力の一つに接続するルーチングスイツチが提供され
る。
本発明の特徴はとくに、ただし限定的ではないが、他
の装置を備えたマイクロコンピユータにネツトワークに
適用しうるものである。とくに一対の一方向通信線によ
つて組み合わされた装置間の通信に適用され、その線に
沿つて一つ以上のフオーマツトの直列ビツトパケツトが
一つの特定の直列ビットパケツト(以下流れ制御トーケ
ンと称する)が伝送され他の通信線に沿つて伝送される
他の直列ビツトパケツトの量を制御する。とくに、ただ
し限定的ではないがデータの連続したバイトを連続マー
カーの終わりの特定の連続ビツトパケツトが続く直列ビ
ツトパケツトの連続として伝送する装置間の通信に適用
しうる。とくに、各連続の最初の一つまたはいくつかの
バイトがヘツダ部分である直列ビツトパケツトの連続と
してデータの連続したバイトを伝送する二つ以上の装置
の間に適用することができる。そのような通信方式は同
時出願の第 号(ページ・ホワイトお
よびフアーラー Ref64199)に記載され、その内容をこ
こに参照する。
全パケツトのうけ入れ前のヘツダ部分の読みおよび引
き続くスイツチを通るメツセージ部分の伝送は“ウオー
ムホールルーチング”と称せられる。それは好ましい実
施例においてバツフア空間がヘツダ部分に対してだけ必
要で、完全なパケツトに対しては必要でない公知のルー
チング技術以上にかなりの利点を有する。それはまたメ
ツセージ部分がメツセージバツフアに入りついでそこか
ら出るよりもむしろ直接スイツチを通過しうるため要す
る時間が少ない。このことは複数のルーチングスイツチ
を有するネツトワークに対してパケツトはネツトワーク
のいくつかのルーチングスイツチを同時に通過し、パケ
ツトのヘツダ部分は全パケツトがソースノードによつて
伝送される前に宛先ノードをうけ入れられる。
宛先ノード識別の範囲に対する出力の選択は“間隔ラ
ベリング”と称せられる。それはヘツダ読取り回路が、
たとえばスイツチ出力の数に等しいレジスタの数を有す
る、迅速かつ多くのチツプスペースを要しない。小さい
索引表を含むきわめて簡単な形式を採用することができ
る。必要なことはヘツダ部分によつて識別される宛先ノ
ードが入る範囲を決定することである。ヘツダ読取り回
路を小さくすることができるため、ルーチングスイツチ
に対するいくつかの入力のため各入力とまたは少数の入
力のグループに対して関連する読み取り回路が設けられ
るようにそれを数回チツプ上で複製することができる。
このことはルーチング機能を各入力または入力のグルー
プに対して実施しうるため、そうでなければ、メツセー
ジパケツトがいくつかの入力に同時に到達する場合、ル
ーチング装置の効率を低下する隘路を除去する。
“間隔ラベリング”計画は理論的に存在するけれど
も、間隔ラベリング計画がネツトワークを通る任意のメ
ツセージルーチングを許しもせずまた接続された一連の
ネツトワークを通つて有効に伝送することも許さないと
いう課題が存在する。ルーチングは、各ネツトワークに
特別の、ヘツダ部分およびヘツダ読取り回路に使用され
る間隔選択アルゴリズムによつて予め決定される。
これらの課題は出力回路を通つて出る直前にパケツト
のヘツダ部分を削除するように設定しうるルーチングス
イツチヘツダ削除回路を各出力と関連して設けることに
よる本発明の好ましい実施例によつて解決された。この
ようにして、二つのヘツダ部分を備えたメツセージパケ
ツトが連続したルーチングスイツチを有するコンピユー
タネツトワークを通つて処理されるならば、第1のヘツ
ダ部分はパケツトがまずルーチング装置をヘツダ削除回
路がヘツダ部分を削除するように設定された出力からで
るとき消耗する。そこで第2ヘツダ部分がメツセージパ
ケツトのヘツダ部分となる。これはルーチングスイツお
よび処理装置のネツトワーク接続が互いに形成され、ネ
ツトワーク構造にかなりの融通性を与える。ヘツダ部分
を短くしうること、ヘツダ部分に対する伝送時間を最少
にしうることおよび間隔選択アルゴリズムを、構成しう
るネツトワークのサイズを制限することなく、迅速に作
動することを意味している。
大型ネツトワークを通つてメツセージをルーチングす
ることに関する他の公知の課題は“ホツトスポツト”す
なわち少数の硬線接続がデータ通信量によりオーバーワ
ークとなることである。これはルーチングスイツチの各
入力に関連して、ネツトワークのルーチングスイツチを
指定するヘツダの一定の設定とはランダムに選択された
ヘツダ部分に入力に到達する各パケツトを追加するよう
に設定しうる、ランダムヘツダ発生装置を設けることに
よつて回避またはいちじるしく緩和することができる。
ランダムに発生されたヘツダ部分はヘツダ読取り回路に
よつて読取られパケツトをネツトワークの指定されたル
ーチングするのに使用される。
もちろん、ランダムに発生されたヘツダ部分によつて
識別されたルーチングスイツチにおいて、ランダムに発
生されたヘツダ部分はデイスカードされてパケツトの正
確な宛先ノード識別アドレスを現す。理論的にネツトワ
ークを通るメツセージのランダム方向はそうでなければ
オーハーワークになる装置間の硬線接続を緩和する。
好ましくは、ルーチングスイツチのスイツチ回路は、
複数の入力に同時に到達するパケツトが共通の出力を必
要とするとき、各出力の使用を制御するアービトレーシ
ヨン回路を有する。
ルーチングスイツチはメツセージをソースノードにお
ける第1コンピユータ装置と、ソースノードによる各パ
ケツト出力はパケツトがうけ入れられるとき宛先ノード
によつて承認される。宛先ノードにおける第2コンピユ
ータ装置との間にメツセージをルーチングするのにとく
に有用である。このためコンピユータ装置のパケツト発
生回路はデータパケツトのうけ入れの際承認パケツトを
発生することができる。この点に関して同時出願の第
号(ページ・ホワイトおよびフアーラー
Ref:64199)を参照する。前記出願には本発明はとくに
適用しうるコンピユータネツトワークを形成するコンピ
ユータ装置が記載されている。データパケツトおよび承
認パケツトは、プロセツサによつて実施される処理と遠
隔のコンピユータ装置との間の通信の同期化された処理
の基礎をなす。
通信を処理する同期化された処理は、通信処理がメツ
セージ伝送が実施されるとき、対応するプログラム段階
にあることを意味する。
ルーチング計画に対して従来生じた他の課題は、コン
ピユータネツトワークにおけるデツトロツクの課題およ
びルーチング計画が妥当であることすなわちすべてのメ
ツセージがその宛先ノードにルーチングされ無限に循環
しないことを確かめることである。本発明者等は、下記
の明細書の記載において一層詳細に説明される、これら
の課題を解決する、間隔ラベリングアルゴリズムを考案
した。
本発明の別の特徴によれば、ビツトパケツトの伝送の
ためデータをエンコーデイングする方法が提供され、そ
の方法において各パケツトは1と0の同じ数を有し、前
記パケツトは一定のビツト長のもとで1と0の同数の置
換の一定の組を形成し、前記一定の組の第1のサブの組
はデータパケツトとして選択され、第2の前記一定の組
の別のサブの組は制御パケツトとして使用するため選択
される。
本発明はまたメツセージルーチングにおけるデツトロ
ツクを回避する方法を提供し、その方法は各装置の出力
を二つのサブの組に分割し、ランダムに発生されたヘツ
ダを備えたメツセージパケツトはつねに第1組に属する
出力を出力し、ランダムに発生されたヘツダが削除され
たメツセージパケツトはつねに第2組に属する出力を出
力する。
本発明はまたメツセージパケツトコーデイング計画を
提供し、その方法は6ビツト長のビツトパケツトを形成
することを含み、各パケツトは三つの1と三つの0とを
有し、その16の組み合わせはデータの4ビツトの異なつ
た値をとり、一つの組み合わせはメツセージ終了を現す
のに使用され、一つの組み合わせはデータコードの流れ
および反対方向へのパケツトコードの終了を制御するの
に使用される。
〔実施例〕
第1図は本発明の好ましい実施例によるルーチングス
イツチの基本的構造的特徴を示している。第1図におい
て、太い矢印はデータ経路を示し一方細い矢印は命令経
路を示す。ルーチングスイツチはクロスバースイツチ10
の形式のスイツチ回路を有し複数のメツセージ入力12a
・・12nのうちのいずれか一つを複数のメツセージ出力1
4a・・14nのいずれか一つに接続することができる。好
ましい実施例において32の入力と32の出力が対になつて
32のメツセージリンクを形成している。クロスバースイ
ッチは出力リンクアービトレーシヨン回路32を有し、一
つ以上の入力が互いに一時に各出力に接続されるのを防
止している。簡単のため二つだけのリンクがリンクの要
素を囲む破線によつて示され、符号La、Lnを付されてい
る。下記の記載はリンクLaに関するものであるが、他の
すべてのリンクも下記に論ぜられるそれらの要素のある
ものの可能なシエアリングを同様にうけることができ
る。
リンクLaはリンクモジユール18として示された通信装
置を有し、該装置はルーチングスイツチを他の同様のル
ーチングスイツチに接続するかまたはルーチングスイツ
チとの間にメツセージパケツトを授受する他の装置に接
続するように設けられている。この接続は一方向チヤネ
ル4a、6aの二方向対によつて達成される。各メツセージ
パケツトは直列データフオーマツトであり、パケツトの
宛先ノードを識別するヘツダを有する。コンピユータネ
ツトワークの宛先またはソースノードは、一般的にただ
し必ずという訳ではないが実行処理可能なコンピユータ
装置である。
直列データフオーマツト リンクモジユールとくに適した直列データフオーマツ
トはクロツク対データエンコーデイングである。各6ビ
ツト期間中三つの0ビツトおよび三つの1ビツトを送る
ことにより、DCバランスが保持され、クロツク信号は位
相ロツクループを使用して抽出することができる。この
技術は6−から3コーデイングと称せられる。ここには
20の異なつた6−から−3コードが存在する。データの
バイトを有効に伝送するため16のこれらのれコードはニ
ツプル(4ビツト)の異なつた可能な値を現すように割
当てられる。しかしてバイトは二つのコードによつて送
ることができる。伝送が連続しなければならないとき
(たとえば位相ロツクループ方式)、いかなる他のコー
ドも伝送しえないとき伝送される単一の0コードをもつ
必要がある。
メツセージパケツトが直接ソース装置から宛先装置へ
送られるならば、それはパケツト内に現れるパケツトの
長さに対して必要でなく、ソース装置および宛先装置が
長さで確実に一致することが必要である。しかしなが
ら、パケツトがルーチングスイツチを通過する場合、こ
れらのルーチングスイツチに対して通過するパケツトの
長さを、(一時的に接続される)スイツチ回路10を通る
経路がパケツトの終わりが出力されるとき遮断しうるよ
うに、決定することが可能でなければならない。各パケ
ツトが同じ長さでなければ、これはブロトコルがパケツ
トの長さを終了マークまたは最初の長さのカウントによ
つてパケツトの長さを指示することが必要である。最初
の長さのカウントの導入は、ルーチングスイツチを通る
パケツトの遅れを増加し、またパケツトを通つてカウン
トするロジツクを必要とする。したがつて一層良い技術
はパケツト終了マークとして制御トーケンを保持するこ
とである。
したがつて、6−から−3コード方式用の完全なプロ
トコルは下記の表に示されている。完全に任意なトーケ
ンに対するビツトパターンはここでは図示されない。
6−から−3コーデイング計画は、パケツト終了およ
び流れ制御トーケン(下記参照)が適合するとすると、
使用しうる多くのものの中の一つに過ぎない。とくに、
バイトの流れを有効に伝送しうるとすれば、エンコーデ
イングされたデータ値と同じフオーマツトまたは長さを
もつ制御コードのもしくはデータが一連の4ビツト値と
して伝送される必要性が存在しないことを認識すべきで
ある。
リンクモジユールは入力データ経路36および出力命令
経路34によつてヘツダバツフア20に接続される。リンク
モジユールはまた出力データ経路40および入力命令経路
38によつてヘツダストリツパ28に接続されている。ヘツ
ダバツフア20は間隔セレクタ22の形式のヘツダ読出し回
路にデイスカードおよび選択経路21、61を通して接続
し、またヘツダ接続23を通して間隔セレクタ22に永久的
に接続することができる。間隔セレクタ22は入力パケツ
トのヘツダ部分を読出し、そこからスイツチ回路10の出
力を決定し、それに対してメツセージが指向され、スイ
ツチ回路10を設定する。このため命令アドレス経路26は
間隔セレクタ22がスイツチ回路10と連通することができ
るようにしている。スイツチ回路は命令を経路19を通し
てヘツダバツフアに伝送することができる。ヘツダバツ
フア20はまた、下記に記載する目的で、ランダムヘツダ
バツフアゼネレータ24と要求およびヘツダ経路25、27を
通して連通することができる。メツセージパケツトはヘ
ツダストリツパ28を通ずるスイツチからの出力であり、
その目的は下記に記載される。ヘツダストリツパは命令
をスイツチ回路10との間で経路29、31、7を通して伝送
することができる。参照符号30は作用のためルーチング
スイツチを設定するのに使用される初期化回路を示す。
ルーチングスイツチの各要素の作用は下記に記載され
る。
各ブロツクのデータが、データ伝送に利用しうる有効
時間したがつて有効データバンド幅を減少する前に、パ
ケツトヘツダに伝送する必要のあることが分かるであろ
う。しかして、パケツトヘツダをできるだけ短くするこ
とが好ましい。しかしながら、巨大なネツトワークが必
要である場合、ネツトワークの多数の端子リンクのいず
れか1つを特定しうることが望ましい。このため、本発
明はパケツトヘツダのサイズを変更することができるよ
うにし、それらは巨大なネツトワークのすべての端子リ
ンクを特定しうるように十分に大きいか、または小さい
ネツトワークの場合有効データバンド幅の微少化を減少
するように小さくされる。好ましい実施例において、各
ルーチング装置はパケツトヘツダを1または2バイトの
長とするように決定するフラグを有する。1バイトは連
続したバイトよりなるパケツトの視点を混乱させないヘ
ツダのもつとも短いサイズで、2バイトは65、536の端
子リンクを識別しうるのに十分である。
リンクモジユールおよびその流れ制御機構 各リンクモジユール18はデータの要求をヘツダバツフ
ア20から経路34に沿つてうけ、引続いてデータを経路36
に沿つて伝達する。それはまたヘツダストリツパ28から
のデータの要求を経路38に沿つて伝達し、引続いてデー
タを経路40に沿つてうけ入れる。流れ制御がルーチング
スイツチとリンクモジユールによつてそこに接続された
装置との間に維持されることは重要である。このため、
リンクモジユール18はルーチングスイツチとそこに接続
された装置との間のデータ流れへの流れ制御情報を多重
送信する。このため、データの伝送量を最大にするため
に広すぎるバンド幅を使うことなく、リンクモジユール
はデータ項目の流れを別々でなくむしろバツチとして制
御する。このため、各リンクモジユールはデータ項目の
完全なバツチを保持するのに十分大きいバツフアを有
し、かついくつのデータ項目が送られるならびにうけ入
れられるために残されているかをカウントすることがで
きる。データのブロツクの流れを規制する簡単な方法
は、流れ制御トーケンとしてリンクモジユール18が伝
送、受信する一組のコードから特殊なコードを保持する
ことである。流れ制御トーケンはルーチングスイツチの
リンクモジユール18がデータの全バツチに対して十分な
バツフアスペースを有するときはいつでも伝送される。
リンクモジユールはデータ項目の流れをそれらを構成
しうるパケツトに係わらず規制する。いつでも、リンク
モジユールにより緩衝記憶されるデータ項目は一つ以上
の連続パケツトの一部またはすべてを構成する。
第2図において、各リンクモジユールは、データ項目
および情報を伝送に使用され、それらをクロツク信号φ
によつて決定された周波数において伝送するのに使用さ
れる直列フオーマツトに変換する出力バツフア42、およ
び記憶するデータ項目および直列フオーマツトを出力バ
ツフア42に伝送する流れ制御情報にデコードする入力バ
ツフア44を備えている。
流れ制御のユニツトは流れ制御バツチである。データ
の各バッチは複数のコードよりなり、各コードは4ビツ
トのデータを示すかまたはパケツト終了コードである。
たとえば、流れ制御バツチは16のコードからなるものと
することができる。
それ自体のリンクモジユールまたは同様の通信装置を
有する別の装置に接続された各リンクモジユールは、そ
れ以上の流れ制御情報をうけることなく、他のリンクモ
ジユールに送るデータ項目のカウントを維持する。この
カウントはクレジツトと称せられる。接続されたリンク
モジユールの対の各リンクは、他のリンクモジユールに
よつてそれ以上の流れ制御情報を送ることなく他のリン
クモジユールによつて送られる、データ項目の数のカウ
ントを維持する。このカウントはデビツトと称せられ
る。
リンクモジユールの接続された対の各リンクは流れ制
御トーケンを送ることによりそれがデータ項目の他のバ
ツチをうけ入れるように準備されることを示している。
そうなるとき、バツチのデータ項目の数によるそのデビ
ツトを増加する。他の対のリンクが流れ制御トーケンを
うけるとき、バツチのデータ項目の数によりそのクレジ
ツトを増加する。
以上、リンクモジユールの流れ制御機構を、第2図に
基づいてかつ直列データフオーマツトが上記のものと同
じであるとして説明した。しかしながら、流れ制御機構
は、異なつたデータフオーマツトが使用されるかまたは
実際データ項目が直列形式よりむしろ平行信号を使用し
て送られるならば、本質的に同じ方法で作用することが
分かる。
入力バツフア44がチヤネル4においてうけ入れた流れ
制御トーケンをデコードするときはいつも、出力バツフ
アに経路41において被呼fct.inを信号する。出力バツフ
アが通路41においてfct.seen信号を受信するときはいつ
も、流れ制御バツチのサイズによつて、(そのクレジツ
トを)伝送されるコード数のカウントを増加する(イン
クルメント)。
入力バツフア44は別の装置の接続されたリンクモジユ
ールのクレジツトが排出される前にうけ入れられるコー
ド数のカウントを維持する。このカウントは、二つのリ
ンクモジユール間を通過中のコードによつて生じた差か
ら離れて、ルーチングスイツチに接続された別の装置の
リンクモジユールに接続された出力バツフアにおける対
応するクレジツトと同じとすべきである。
入力バツフア44は第1in、第1outバツフア(FIFO)を
有し、それらは少くとも流れ制御バツチに含まれるのと
同じだけのコードを緩衝することができる。ゼロコード
以外のコードおよび流れ制御トーケンはバツフアに蓄積
され、カウントは多数のコードの中からバツフアに維持
される。信号が経路34において被呼request.inにうけ入
れられるとき、入力バツフア44はFIFOから第1要素を除
去し、それを経路36において被呼データoutに送り、FIF
Oにコードがない限りFIFOに蓄積されたコード数のカウ
ントを減らす。その場合それがうけるゼロ以外の第1コ
ードおよび流れ制御トーケンを、直接経路にデータout
する。
入力バツフア44のコード数と電流流れ制御バツチ前方
にうけ入れられるコード数の和が排出されるときはいつ
も、(デビツト)はバツフアのサイズと流れ制御バツチ
のサイズとの差より小さく、入力バツフア44は経路43に
おいて被呼fct.requestを上の出力バツフア42に信号す
る。出力バツフアはついで流れ制御トーケンを第1の機
会に送る。
もし入力バツフアFIFOのサイズが正確に流れ制御バツ
チのサイズに等しければ、入力バツフアは入力バツフア
FIFOが完全に空で現在の流れ制御バツチが完全に排出さ
れているときだけ流れ制御トーケンを出力バツフアに送
るように信号することが分かるであろう。このため、デ
ータの流れが停止しないように、入力バツフアFIFOを流
れ制御バツチのサイズよりいくぶん大きくすることは有
利である。
下記は入力および出力バツフアのOCCAM2言語の記載に
よる。これらの記載において、コードはバイトで示さ
れ、信号はブール値のみを使用するチヤネルによつて現
される。OCCAM言語はOCCAM2基準マニユアルに記載さ
れ、ここに参照する。
OCCAM2において、リンクモジユール18は入力および出
力バツフア44、42の平行構成によつて現される。モジユ
ールに出入りする経路は広い範囲に画定されるものとす
る。リンクモジユールは下記のように現される。
CHAN OF BOOL fct.seen,send.fct、fct.sent:PAR 出力バツフア(クロツク.in,データ.out,データ.in,r
equest.out,fct.seen,send,fct,fctsent) 入力バツフア(コード.in,データ.out,request.in,fc
t.seen,send,fct,fct.sent) 入力バツフアは付録1および1AのOCCAM頁に記載され
ている。FIFOはここでは入力容量、バツフア、サイズを
備え、(第1および最後の)二つの指針が設けられた環
状バツフアとして実施される。
これは入力バツフア自体のランダム・アクセス.メモ
リの小片の使用に対応する。他の技術もリンクモジユー
ルの流れ制御機構に影響することなくFIFOを実施するた
め使用することができる。入力バツフアのサイズは少く
とも流れ制御バツチのサイズと同じ大きさでなければな
らない。もし流れ制御バツチのサイズを16とすると、入
力バツフアサイズは少くとも16とすべきであり、データ
の流れを円滑にするためそれはいくぶん大きく、たとえ
ば20とすべきである。
出力バツフアはまたデータの流れを円滑にするため短
FIFOを有する。流れ制御機構によつて与えられるこのFI
FOのサイズには制限はない。出力バツフアは、コードを
緩衝する空間を有するときはいつでも、経路38において
request.outを信号することにより送るためデータを要
求する。その後いつか経路40においてデータinを伝送す
るためコードをうけ入れる。
出力バツフアは、なお現在の流れ制御バツチが排出さ
れる前に伝送されるべき、コード数のカウントを維持す
る。ゼロコードおよび流れ制御トーケン以外のコードを
伝送するときはいつも。このカウントを1だけ減少す
る。
出力バツフアは付録2のOCCAMの頁に示されている。
それはたとえば3とすることができる容量出力、バツフ
ア、サイズを有するFIFOを備える。このOCCAMの頁(付
録2)は、コードが底部から除去されるときはいつも内
容が連続的に動かされる直線的配列として、別のFIFOの
例を示している。同様の手段を入力バツフアに対して使
用できること、または入力バツフアに使用された環状バ
ツフア手段を出力バツフアに使用することができること
が分かる。
同じ程度の流れ制御が別の方式においても得られ、前
記方式は、出力および入力バツフアをここに示すように
ゼロに初期化する代わりに、出力バツフアはその流れ制
御バツチのサイズに対するクレジツトを初期化しかつ入
力バツフアはその“顕著なトーケン”を同じ値に初期化
する。その場合、流れ制御トーケンは、上記のように前
記の代わりに、第1の流れ制御バツチが伝送された後に
だけ送られる。
ヘツダバツフア 各リンクLa・・・Lnのヘツダバツフア20は第3図に示
されている。ヘツダバツフアは全体的に51で示された制
御ロジツクによつて制御される。一つのトーケンを有
し、少量のデータニツプルまたはパケツト終了トーケン
とすることができるトーケンバツフア50が設けられる。
このトーケンバツフア50は経路36に沿つてうけ入れると
きGot.EOPと符号を付した導線にパケツト終了トーケン
である信号を発生し、他のトーケンをうけ入れるときは
いつも、導線にGotトーケンbと符号を付した信号を発
生する。それは制御ロジツク51から信号をSend.tにうけ
入れるとき内容をスイツチ52に伝送する。スイツチは制
御ロジツク51によつて、信号Set.s1が強いときスイツチ
52がその入力をマルチプレクサ54に入力するように制御
される。信号Set.s1が弱いときスイツチ52はその入力を
出力マルチプレクサ56に伝送する。マルチプレクサ54、
56は制御ロジツク51からの信号Set.m2およびset.m1によ
つて制御される。ヘツダバツフア20は2バイトヘツダ
(4トーケン)用に十分な容量を備えた第1in−第1out
バツフア(FIFO)58をも有する。それは第3図には示さ
れないヘツダ接続23によつて間隔セレクタ22に永久的に
接続されている。信号Set.m1が強いとき、マルチプレク
サ56はFIFOの出力をデータOutチヤネル12aに伝送する。
信号Set.m1が弱いとき出力マルチプレクサ56はスイツチ
52の出力を経路12aのデータでかに伝送する。信号Set.m
2が強いとき、マルチプレクサ54は経路27にうけ入れら
れたランダムヘツダ・ゼレネータ24(第1図)の出力信
号をFIFOに伝送する。信号Set.m2が弱いときマルチプレ
クサ54はスイツチ52の出力をFIFOに伝送する。FIFO58が
トーケンをうけるときはいつも、それがトーケンによつ
て充満していない限りGotトーケンfを通路に信号す
る。それが経路上の信号Send.hをうけるときはいつもト
ーケンを出力する。それが空になると経路にEmptyを信
号する。経路上の入力Resetをうけるとき、それはその
すべての内容をデイスカードするが、経路にEmptyを信
号しない。FIFOの有効サイズは、パケツトヘツダ長フラ
グである、関連したフラグ60によつて制御される。フラ
グが設定されなければ、パケツトヘツダは長さ2バイト
であり、FIFOはその内容が4トーケンを含むときだけ経
路にFu11を信号する。このフラグが設定されなければ、
パケツトヘツダは1バイト長でありFIFOは経路にそれが
2トーケンを含むときだけFu11を信号する。この場合、
FIFOの上方の二つのトーケンはゼロにされる。パケツト
ヘツダ長フラグ60はすべてのリンクLaないしLnとは別に
設定され、それらは出力がすべてのリンクにフアンアウ
トされる単一のラツチが設けられることが分かる。また
リンク用のランダム化フラグである制御ロジツク51に関
連したフラグ62が設けられる。このフラグが設定される
と、ランダムヘツダはリンクを通つて到達する各パケツ
ト用のランダムヘツダゼネレータ24から得られる。この
フラグを各リンクに対して別々に設定しうるため、各リ
ンクに別々のラツチが設けられる。
ヘツダバツフア20の作用はリンクLaのこのランダム化
フラグの設計に依存する。
もしフラグ62が設定されると、ヘツダバツフア20はラ
ンダムヘツダゼネレータ24に信号し、戻されたランダム
ヘツダに蓄積する。リンクモジユール18からなにかのデ
ータが到達すると、それは経路61において被呼Selsetに
接続された間隔セレクタ22に信号する。
フラグ62が設定されなければ、ヘツダバツフアは到達
する第1データによつて充満され、ヘツダを有するとき
(パケツトヘツダ長に従つて、1または2バイト)、接
続された間隔セレクタ22に信号する。
セレクタ22がバツフア20にヘツダがデイスカードされ
ることを信号すると、これはFIFOを再設定することによ
つて実施され、ヘツダバツフアはデータ流れから再充満
され、それがヘツダを有するとき(パケツトヘツダ長の
設定に従つて、1または2バイト)、接続された間隔セ
レクタに信号する。ヘツダバツフアはクロスバースイツ
チ10からうけた要求に応じてその内容を伝送する。もし
リンクのランダム化フラグが設定されると、ヘツダバツ
フアはそれ自体ランダムヘツダ発生装置から再充填さ
れ、さもなければ、データ流から再充填され、流れ制御
トーケンを通過した後、サイクルを繰り返す。
制御ロジツクの機械の状態は表Iに示される。
間隔(Interval)セレクタ 間隔セレクタ22の作用を第4図に基づいて説明する。
間隔セレクタは間隔選択アルゴリズムによる各パケツト
のルーチング決定を実施する。ヘツダバツフア20におけ
るFIFO58の内容は33ベースの“ラダー”およびその中の
四つが図面の右側に示された、リミツトコンパレータ66
a・・・66nに連続的に現される。33個のコンパレータが
設けられ、32のリンクが実施例に図示されている。各コ
ンパレータは、ベースがゼロに固定された最下端のコン
パレータ66aを除いて、一対のレジスタ68a・・・68nに
接続されている。各レジスタ68i−Iはコンパレータ68i
の一つのベースおよび、最上のコンパレータ66nのリミ
ツトのみに接続された頂部レジスタ68iを除いて、他の6
8i−Iのリミツトに接続されている。通常の使用におい
て、レジスタはI6ビツト値の非減少設定にプログラムさ
れ、“ラダー”の頂部はゼロではない。各コンパレータ
の出力はそれぞれ5ビツトレジスタ70a・・70nに接続さ
れ、その内容は、パケツトヘツダがベースより大きいか
または等しくかつ関連するコンパレータに接続されたリ
ミツトより小さいならば、アドレスゲート72に送られ
る。第4図の下部には単一値“ポータル”コンパレータ
74が示され、その出力はヘツダバツフア20から“セレク
ト”信号をうけるセレクトゲート73によつて開閉され
る。セレクタ信号がヘツダバツフアによつて送られると
き、ヘツダバツフアFIFO58の内容は、ヘツダ経路23によ
つてコンパレータ74に接続された、パケツトヘツダであ
る。もしパケツトヘツダがコンパレータ74に接続された
I6ビツトレジスタ76の内容と同じでなければ、“No"信
号がセレクトゲート74に送られ、ベースおよびリミツト
コンパレータ66a・・・66nの“ラダー”から発生された
アドレスが経路26に沿つてクロスバースイツチに送られ
ることができるようにする。バケツトヘツダがコンパレ
ータ74に接続された16ビツトレジスタ76の内容と同じで
あるならば、“YES"信号がヘツダバツフア20に送られ、
ヘツダは経路21を介してそれをデイスカードされること
を伝える。この場合、コンパレータのラダーにおける出
力はクロスバースイツチ10に送られない。
ランダムヘツダゼネレータ ランダムヘツダゼネレータ第5図に基づいて説明す
る。第5図上端のランダム数ゼネレータ80は、フイード
バツクを備えた桁送りレジスタまたはある他の方法を使
用する16ビツト類似ランダム数を発生する。剰余ユニツ
ト82から信号をうける。剰余ユニツト82から信号をうけ
るとき、そのような数を発生する。剰余ユニツト82は関
連する16ビツトレジスタ83に保持された値によりこの数
の剰余を計算する。剰余ユニツト82がトーケナイザユニ
ツト86から信号をうけるとき、計算されたをこの16ビツ
トに送りランダム数発生装置80から他の類似ランダム数
を要求する。トーケナイザは16ビツト剰余を、それが経
路25に沿つて要求うけるまで蓄積する。ついで重要性の
もつとも少ない剰余の4ビツトに伝送し、四つの位置に
よつて残りのビツトをシフトダウンする。この作用を、
それがヘツダの長さに対応する(第3図に示された関連
するフラグ60の設定に従つて2または4である)ニツブ
ル数を送るまで、繰り返し、ついでそのサイクルを再始
動する。発生されたランダムヘツダの範囲は付加的16ビ
ツトレジスタおよび加算機構に加え結果がトーケナイザ
に達する前にその内容を剰余ユニツトの出力に加えるこ
とにより完全に一般的にすることができる。
ヘツダストリツパ 第6図に基づいてヘツダストリツパの作用を説明す
る。実際、ヘツダバツフア20(第3図)のトーケンバツ
フア50と同じ、単一のトーケンバツフア80が設けられて
いるのが分かる。トーケンバツフア85はGot.EOPで示さ
れた導線にバケツト終了トーケンであるデータinを経路
14aに沿つてうけ入れられたとき制御ロジツク84に信号
を入れ、また他のトーケンをうけ入れるときはいつもGo
t.トーケンbで示された導線において制御ロジツク84に
信号を入れる。それは制御ロジツク84からSend.tの信号
をうけるとき内容をデータOut通路40において内容を伝
送する。
クロスバースイツチ クロスバースイツチ10は32×32列のスイツチ要素88で
ある。第7図は、データの流れを示す太い矢印によつて
20個のスイツチ要素を示す、クロスバースイツチ10の一
部を示している。データの要求は反対方向に流れ、第7
図には示されていない。最初すべてのスイツチ要素は
“オフ”すなわち第7図の状態Aである。入力iが出力
jに接続されるとスイツチ要素88(i、j)は“オン”
に切替えられ、データは入力から第7図に示された状態
Bのように、選択された出力に流れる。
第8図は、二つのスイツチ要素YおよびZが“オン”
に設定され他のすべてが“オフ”である、クロスバース
イツチ10の4×5の部分におけるデータの流れを示して
いる。この構造において、入力12bin2は出力14out3に接
続され、また入力12cin3は出力14bout3に接続されるこ
とに注意されたい。“オフ”状態にあるスイツチ要素U8
8(2、2)はこれらの接続の双方に対してデータを通
過させることに注意されたい。また、“オン”状態のス
イツチY88(3、2)およびZ88(2、3)はスイツチV8
8(3、3)から遮断されるが、入力in3はスイツチYを
通してout2に接続されるためこのことは重要でなく、そ
こでスイツチVはデータをその入力から通すため必要で
はなく、出力out3は入力in2に接続していることに注意
されたい。アービトレーシヨン回路32はスイツチVがデ
ータを出力out3に通すのに必要でないことを意味してい
る。
各スイツチ要素88(i、j)の外部接続は第9図に示
されている。間隔セレクタ22からのアドレス経路26であ
る線ADDRは、各列のすべてのスイツチ要素、すなわち同
じi値を有するものに接続される。これらの接続は下記
に一層詳細に説明する。クロスバースイツチの各スイツ
チ要素88(i、j)は同じものであり、これら要素のブ
ロツク構造は第10図に示されている。三つの主要な要素
が設けられている。すなわち、スイツチ90、コンパレー
タ92および下記に記載されるアービタサーバ(ARB)94
である。
スイツチ要素間のおよび各スイツチ要素のアービタサ
ーバ間の通信がすべて同期していること、すなわちそれ
ぞれに暗黙の初期接続手順が存在することに注意された
い。これらのアービタサーバは第1図に参照符号32によ
つて線図的に示されたアービトレーシヨン回路を形成し
ている。
スイツチ90は内部経路を通して被呼セツトに設定され
る。その“オフ”状態(第7図、A)において、データ
および要求信号はスイツチ90を分流しないで通過する。
すなわち、 data.in(i、j)はdata. in(i、j+1)に接続される。
request.in(i、j)は reque st.in(i、j+1) に接続される。
data.out(i、j)はdata. out(i+1、j)に接続される。
request.out(i、j)は request.out(i+1、j) に接続される。
“セツト”信号をうけると、スイツチは“オン”(第
7図、B)に設定され入力iからのデータは出力jに分
類され、出力jからの要求は入力iに分割される。すな
わち、 data.in(i、j)はdata.in (i、1、j)に接続される。
request.in(i、j)は request.out(i+1、j) に接続される。
スイツチは設定の信号によつて再設定される。
ステートマーシンの佐用は表IIIに示されている。
コンパレータ92はスイツチ90が設定または再設定され
るとき決定する。スイツチ90を設定するため、アドレス
が経路26に沿つて間隔セレクタ22からうけられ(第1
図)、これがスイツチ要素の出力インデツクスjに対応
するならば、コンパレータ92はアービタサーバ94に要求
に沿つて信号を入れる。間隔セレクタ22のアドレス出力
ADDRは入力列iの全スイツチ要素に接続されるが、出力
インデツクスjが列の各スイツチ要素に対し異なつてい
るため唯一つのコンパレータが対応する。チヤネルの信
号reqがアービタサーバ94にうけ入れられるとき、これ
は入力iが出力jを使用するように選択され(すなわち
入力iは“特権”を有する)、コンパレータが内部経路
に沿つて信号を入れスイツチ90を設定することを示して
いる。データに対する要求は出力から入力に伝送され、
入力から出力へスイツチ90を通るデータはパケツト終了
トーケンが、パケツトが通過した“完成した”通路29に
沿つて通信する、ヘツダストリツパ28によつてうけ入れ
られるまで、コーデイングする。スイツチは再設定さ
れ、特権はそれぞれ設定および要求に沿つて信号を入れ
るコンパレータによつて放棄される。コンパレータのス
テートマシーンの説明は表IVに示されている。
一定の出力jに対して、要素88(i、j)のアービタ
サーバ94はその出力をサービスする環状アービタサーバ
を形成している。そこでいつでも唯一の入力がその出力
に確実に接続される。アービタサーバ94iは第11図に示
されたように、リングにチヤネルLおよびRを通して接
続される。いつでもサーバ94の一つが“特権”を保持
し、すなわちそれのスイツチ90に対する出力の使用を容
認することができる。コンパレータは通路reqに沿う出
力の使用を要求し、また前記を候補にする。要求がうけ
入れられるならば、スイツチ90は出力および通信を完成
したときに同じ経路に沿つてふたたび通信する。特権の
ないサーバ94は要求をそのコンパレータからまたはその
左側チヤネルからRに沿つてリングに伝送する。要求が
特権付きのアービタサーバに到達するとき、特権付きに
なる要求を提出するアービタサーバに到達するまで、左
に反射される。候補のサーバはそれがそのコンパレータ
にサーブされるまで時計方向循環要求を無視する。この
要求を時計方向に通し、特権を反時計方向に反射するこ
の方策の実施は、実際メツセージを反射する必要がない
ことを意味し、reqチヤネルに沿う通信の完成はそのス
イツチに対する出力の使用を認めるように解釈される。
アービタサーバのステートマシーンの説明は表Vに示
されている。
下記の例を考察する。第11図において、アービタサー
バ94i+2が特権を有し、アービタサーバ94i+1が特権
を有せずかつ候補でもないとすると、アービタサーバ94
iは正に候補になる。各サーバのLおよびRチヤネルに
何が起こつたか考える。
アービタサーバ94i:ペンデイングされた要求reqに存
在するが、このアービタサーバは依然としてそれがRに
出力しるうまでノツトプリブ状態(notprive)にある。
この通信はアービタサーバ94i+1がそのLチヤネルに
入力する時だけ完成しうる。
アービタサーバ94i+1:上記のRの出力は効果におい
てアービタサーバ94i+1のLチヤネルにおける通信は
ペンデイングされる。チヤネルLに通信するためまずチ
ヤネルRに出力しなければならない。
アービタサーバ94i+2:これは出力を使用しその入力
Lへの通信はペンデイングされる。通信を完成するた
め、まずreqに沿うその第2の通信をうけ入れ(すなわ
ちこのスイツチ要素は出力を使用して完成された)その
状態をプリブ(priv)に変化しなければならない。一旦
この状態になると、Lに沿う通信を完成することができ
る。
完成されたこの通信はアービタサーバ94i+1がRに
沿うその通信を完成することができアービタサーバ94i
はこのサーバに特権を通すreqにおいてその通信を完成
することができる。
フラグの初期化 下記のパラメータはルーチングスイツチが作用しうる
前に供給されなければならない:すなわち パケツトヘツダ長(1または2バイト)間隔セレクタ
22のコンパレータ設定、および各宛先ノード特定範囲の
関列する出力リンク数 間隔セレクタ22のポータルコンパレータ値 各リンクに対して:“入力におけるランダム化”およ
び“出力におけるストリツプヘツダ”フラグが設定され
なければならない。
ランダムヘツダの範囲(“入力のランダム化”フラグ
が設定されるならば)。
これらはルーチングスイツチにより入力され、適当な
ラツチおよびレジスタに負荷されなければならない。こ
れは種々の方法、たとえば、予め画定された指令コード
をとくに設けられた専用リンクに送ることにより実施す
ることができ、リンクはすべてのラツチおよびレジスタ
に対してチヤネルを有する。すべての間隔セレクタおよ
びランダムヘツダゼネレータは同一にプログラムされな
ければならない。この初期化は第1図に、初期化ロジツ
ク30によつて線図的に示されている。
装置はリンク当たりの、一つの間隔セレクタおよび一
つのランダムヘツダ発生装置に関して記載された。これ
らユニツトの双方はリンクによるパケツト入力の1回ま
たは2回だけ使用され、理論的に母線によつて接続され
たいくつかのリンクの間で、いずれかのソースに対する
同時の多数の要求を解決するアービトレーシヨン計画を
使用して、分割される。たとえばクロスバースイツチ10
に使用されるアービトレーシヨン法は、間隔セレクタま
たはランダムヘツダ発生装置をいくつかのリンクの間で
分割して使用することができる。
コンピユータネツトワークにおけるメツセージの有効
なルーチングを達成するルーチングスイツチの作用を記
載する。第13図は複数のルーチングスイツチRSを使用し
てメツセージをソースノードと円Nによつて第13図に示
された宛先ノードとの間にルーチンするネツトワークの
例を示す。ルーチングスイツチはそれらのリンクLによ
つて接続され、各リンクは第1図に符号4、6によつて
示された一方向チヤネルの二方向の硬線対を有する。ネ
ツトワークのソースと宛先ノードNはいかなる型のコン
ピユータ装置とすることもできるが、ここに記載するル
ーチングスイツチはとくに英国特許第111399号および本
出願人の同時継続中の英国特許出願第
号(ページ・ホワイト・アンド・フエラー、Ref61499)
に記載されたマイクロコンピユータを有するネツトワー
クにとくに適用しうるものである。宛先とソースノート
Nとの接続は第13図において端子リンクと称せられる。
第13図において、実際上記実施例では323であるが、各
ルーチングスイツチは四つのメツセージリンクを備えて
いる。
ウオームホール(WormhOle)ルーチング 第1図のルーチングスイツチはメツセージパケツトを
その入力からその出力にパケツトヘツダの値に従つてダ
イナミツクに切替えられる。
もつとも多くの公知のパケツト切替えネツトワークに
おいて、各中間ルーチングスイツチはパケツトを入力
し、ヘツダをデコードし、ついでパケツトをつぎのルー
チングスイツチに前進させる。これは蓄積交換ルーチン
グと称せられる。これは、各ルーチングスイツチに伝送
されたパケツトを蓄積する必要がありまたパケツトの出
力とそのうけ入れとの間にポテンシヤル的に長い遅れが
生ずるため望ましくない。
一層有効なアプローチがウオームホールルーチングで
あり、ルーチング決定はパケツトのヘツダがルーチング
スイツチによつて入力されると直ちに実施される。選択
された出力チヤネル6a・・6nが自由になると、ヘツダは
そこから出力され、パケツトの残りは入力からルーチン
グスイツチに蓄積されることなく直接出力に送られる。
このことはパケツトのデータがいくつかのルーチングス
イツチを同時に通過し、パケツトのヘツダは、パケツト
全部がソースノードNSによつて伝送される前に、宛先ノ
ードNDによつてうけ入れられることを意味している。し
かしてこの方法はダイナミツクな回路切替え形式と考え
られ、パケツトのヘツダはネツトワークを通過するとき
データが通る一時的回路(ウオームホール)を作り出
す。パケツトの終わりが引出されるとき、回路は消失す
る。
この方法は蓄積交換ルーチングにおける課題を解決す
るが、ルーチングスイツチが(所望の出力チヤネル14が
塞がつているため)パケツトを直ちに送ることができな
ければパケツトが現在通過しているすべてのメツセージ
リンクはそれが進行しうるまで(その方向に)占有され
る。停止されたウオームによつて“占有されている”メ
ツセージリンクの数はパケツトサイズ対リンクのそれぞ
れ接続された対のバツフアの比である。
パケツトの送信側と受信側に関する限り、ウオームホ
ールルーチングは不可視である。その唯一つの効果はメ
ツセージ伝送の待ち時間を長短にすることである。一つ
以上の中間ルーチングスイツチがパケツトを蓄積交換さ
れるならば、それはなお正確に伝送される。したがつ
て、本発明のルーチングスイツチきは別の型のルーチン
グ装置を有するネツトワークにも接続することができ
る。
第1図において、チヤネルデータin4aのリンクLaに到
達するメツセージパケツトのヘツダは、リンクモジユー
ル18によつてヘツダバツフア20に伝達される。ランダム
ヘツダゼネレータ24によつて発生されたそのまたは一つ
のヘツダは、ヘツダに従つてクロスバースイツチ10にア
ドレスする間隔セレクタ22に送られる。スイツチ回路10
はリンクモジユールLaの入力12aを適当な出力141に接続
し、入つてくるメツセージをルーチングスイツチに通
す。
デツドロツク 通信ネツトワークの重要な特性は“デツトロツク”し
てはならないことである。実際、デツトロツクはネツト
ワークのルーチングスイツチがそれを防止するように設
計されるルーチングアルゴリズムに従つて作動しなけれ
ば、大部分のネツトワークに起こる。たとえば、第12図
に示された4の二乗のルーチングスイツチを考える。伝
送されるメツセージは矢印M1〜M4で示されている。各ル
ーチングスイツチはメツセージを反対側コーナーに同時
に送ろうと試み、またルーチングアルゴリズムはメツセ
ージを時計方向にルーチングするものと仮定する。各リ
ンクは“使用中”となりメツセージを隣のルーチングス
イツチに送り、メツセージを宛先に送りえないため、ネ
ツトワークはデツトロツク状態となる。
デツトロツクはネツトワークトポロジーおよび使用さ
れるルーチングアルゴリズムの特性であり、そこでパケ
ツトが伝送される前にルーチングスイツチにおいてバツ
フアされうるにしてもデツトロツクが起こりうる。上記
の例において、各コーナーにおける単一パケツトバツフ
アは(最初の四つが処理される前には新しいメツセージ
が入つてこないとすると)デツドロツクを除去するのに
十分である。しかしながら一般的に、デツトロツクを除
去するのに必要なパケツトバツフアの数は、ネツトワー
クトポロジー、ルーチングアルゴリズムおよび適用業務
プログラムに依存する。これは明らかに一般的目的のル
ーチング方式の構成の満足しうるベースではない。ウオ
ームホールルーチングは、長いメツセージがいくつかの
リンクを占有するネツトワークを通して伝送(トレイ
ル)しうるため、デツトロツクの問題を悪化させるもの
とつねに考えられてきた。
そのような問題はデツトロツクのないウオームホール
アルゴリズムを考案しうるネツトワークを選択すること
によつて回避することができる。そのようなネツトワー
クにおいて、バツフアはネツトワークを通るデータの流
れを円滑にしかつ混雑を減少するためにだけ使用する必
要があり、バツフアのサイズはこの目的に十分なパケツ
トの長さより短い。もつとも重要なことは、必要なバツ
フアリンクはネツトワークのサイズまたは通信パターン
に依存するものでないことであり、本発明者等は単一の
汎用ルーチングスイツチを構成することが可能でありそ
のスイツチは任意のサイズのネツトワークに対してまた
任意に複雑な通信パターンに対して使用しうることを発
見した。間隔セレクタ22に使用する一つの適当なアルゴ
リズムを“間隔ルーチング”のタイトルを付して記載す
る。
間隔ルーチング 二方向メツセージリンクによつて互いに接続されたル
ーチングスイツチRSの集合よりなるネツトワークを考え
る。ルーチングスイツチのあるリンクはネツトワーク外
部の装置、たとえばトランスピユータのようなマイクロ
コンピユータに接続されている。そのようなリンクは、
第13図の例に示すように、端子リンクと称せられる。メ
ツセージパケツトは端子リンクを通してソースと宛先ノ
ードとの間でネツトワークに出入りする。
ルーチングスイツチ自体パケツトを作成、破壊するこ
とはできない。
間隔ラベルリング計画は各端子リンクに別のラベルを
付与することにより宛先ノードに対する識別を確立す
る。簡単のため、n個の端子リンクを備えたネツトワー
クのラベルは〔0、1・・・・n−1〕の数とすること
ができる。ネツトワークの各ルーチングスイツチRSにお
いて、各出力チヤネルは一つ以上の関連する間隔−この
例では一組の連続したラベル−を有する。出力チヤネル
に関連する間隔は重なることがなく、すべてのラベルは
正確に一つの間隔で起こる。上記のように、これらの間
隔は第4図のベースおよびリミツトコンパレータ66a・
・・nによつて間隔セレクタ22において設定される。
メツセージパケツトがルーチングスイツチに到達する
と、そのヘツダ部分は間隔セレクタ22によつて試験され
適合するラベルを有する間隔を決定され、メツセージは
ついでその間隔に関連する出力チヤネル14に沿つて前進
される。
たとえば、第14図に示された簡単なネツトワークを考
える。この図は、四つの端子リンクを有し、その各リン
クがトランスピユータT0、T1T2、T3に接続された四つの
ルーチングスイツチ(RS1、RS2、RS3、RS4)のネツトワ
ークを示している。端子リンクに付された数字はそれら
のトランスピユータに示されている。ルーチングスイツ
チの出力チヤネルに関連する間隔は対応するメツセージ
のつぎに示されている。各間隔は対の符号〔x、y)と
して示されている。対応するリンクは、パケツトのヘツ
ダが間隔の第1数より大きいかまたは等しくかつ間隔の
第2の数より小さいようにかつそのようにだけ選択され
る。
たとえば、間隔が〔1、4)であるならば、ヘツダ
1、2または3を備えたパケツトが選択されるが、0、
4およびそれ以上は選択されない。
図示されないルーチングスイツチの他のリンクは、二
つの数が同じ(x=y)でありしたがつて決して選択さ
れないような、間隔と関連すると考えることができる。
第14図のトランスピユータT0が1のヘツダを備えたパ
ケツトを、第14図にRS1とラベルを付された、その接続
されたルーチングスイツチに送るとき何が起こるか考え
ることにする。ルーチングスイツチRS1はヘツダをそれ
ぞれの間隔と比較し、ヘツダが間隔〔1、4)を有する
ことを発見する。しかしてルーチングスイツチRS2に接
続された出力リンクが選択される。パケツトのヘツダが
ルーチングスイツチRS2によつて入力されるとき、それ
はその装置のすべての間隔と比較される。ヘツダは間隔
〔1、2)になり、トランスピユータ1に接続されたリ
ングが選択される。パケツトはトランスピユータにルー
チングされる。
トランスピユータT2が0のヘツダを備えたパケツト
を、第14図にRS3とラベルを付されたその接続されたル
ーチングスイツチに送るとき何が起こるか考えることに
する。ルーチングスイツチはヘツダをその各間隔と比較
し、ヘツダが間隔〔0、2)で含まれていることを発見
する。しかして、ルーチングスイツチRS2に接続された
出力リンクが選択される。パケツトのヘツダがルーチン
グスイツチRS2によつて入力されると、それはその装置
のすべての間隔と比較される。ヘツダは間隔〔0、1)
となり、ルーチングスイツチRS1に接続されたリンクが
選択される。パケツトのヘツダがルーチングスイツチRS
によつて入力されると、それはその装置のすべての間隔
と比較される。ヘツダは間隔〔0、1)になり、トラン
スピユータT0に接続されたリンクが選択される。パケツ
トはトランスピユータT0にルーチングされる。
しかしてこの例においてはルーチングスイツチのネツ
トワークにおけるリンクは、パケツトがトランスピユー
タT0からトランスピユータT1にそしてトランスピユータ
T2からトランスピユータT0に送るように、間隔を設けら
れている。メツセージはこの例において実際トランスピ
ユータのいかなる対の間にも送ることができる。
しかしながら、そのようなラベリング計画はつねにす
べてのパケツトをそれらの宛先にルーチングするのに成
功することができるかどうか明らかでない。実際、サイ
クルを含む、すなわちパケツトが永久に循環するため、
ランダムに選択されたものはほとんど確実にそうはなら
ない。すべてのパケツトを確実に伝送するラベリング計
画は妥当と称せられる。さてネツトワークの妥当なラベ
リング計画を創成するアロガリズムについて述べる。
ネツトワークを間隔ラベリングするアロガリズム 下記の記載において、“ノード”なる語がネツトワー
クの接続ノード、すなわちルーチングスイツチを示すの
に使用されることに留意されたい。それは上記宛先およ
びソースノードに限定されるものではない。
まずネツトワークをすべての端子リンクを含む広がつ
た樹木でカバーする。端子リンクのない葉つぱのノード
を除去し、樹木(Tree)のノード間の重複したリンクを
除去する。樹木の一部でないすべてのリンクは上下の限
界をもつた同じ間隔が与えられ、それらは決して選択さ
れない。ここで下記のように広がつた樹木にラベリング
する。すなわち、 Nをネツトワークの端子リンクの総称とする。つね
に、iをそのように(iは最初0である)ラベリングさ
れた端子リンクの数とする。広がつた樹木の根のノード
Rから始まつて、各ノードVに対してiの現在値に対し
てjvを設定し、ついで連続的に現在のノードVから各端
子リンクを間隔〔i、i+1)にラベリングする(増分
はつねにi)。ついで、樹木の出力リンクをVから取出
し、それに間隔〔i、α)を与える。ここにαは下記の
ように決定される。接続されたノードに進み、この工程
を広がつた樹木の葉のノードに達するまで繰り返し、す
べての端子リンクはラベリングされる。
元に戻ると、リンクが樹木を横切る度に、木に対する
戻りリンクは対の間隔〔i、N)〔0、i)をラベリン
グされる(これは32本のリンクをルーチング装置に33の
間隔で設ける理由である)。丁度ラベリングされたサブ
の樹木が樹木の最後の葉ノードを有しi=D、第2の間
隔をデイスカードする。以前のノードに逆戻りすると、
vは決定されないαvとiとを交換する(iの値は間隔
の下方限界が示されるとき、端子リンクがその間にラベ
リングされるため、指定されることを認識されたい。)
樹木のラベリングされない枝を取出して、それに間隔
〔i、α)を与え、すべてのサブの樹木がラベリングさ
れるまで進行する。
このアルゴリズムは付表3に示された帰納的手順によ
つて形式化されている。アルゴリズムは根のノードRの
端子リンクTを取出し、iを0に設定し、ラベル樹木
(i、T、R、N)と称することによりインボークされ
ている。
例として第14図に示されたネツトワークを考える。図
示されたラベリングは上記アルゴリズムによつて創成さ
れ、RによつてRS1、TはトランスピユータT0に対する
リンク、iは0にNは4に等しい。
妥当性の証明 上記アルゴリズムによつて創成されたラベリングがつ
ねに妥当であることを示すことができる。
ノードVに到達したヘツダmを備えたパケツトを考え
る。端子リンク第N番がサブの樹木Vに属するか否かに
よつて二つの場合が考えられる。
場合I:mがサブの樹木Vに属するとき サブの樹木(sabtree)Vに対する各リンクは間隔
〔i、α)をラベリングされ、ここにiはサブの樹木の
第1端子リンクであり、αはサブの樹木の最後の端子リ
ンクのラベルより1大きい。Vの端子リンクはこのルー
ルの特別の場合である。
しかして、ヘツダを備えたパケツトmはリンクをサブ
の樹木にルーチングされ、サブの樹木はラベルmを備え
た端子リンクを有し、誘導によりパケツトは正確な端子
リンクからルーチングされる。
場合II:mがサブの樹木Vに属しないとき アルゴリズムから、あるノードVのサブの樹木のすべ
ての端子リンクはj(アルゴリズムがVに達するときラ
ベリングされた端子リンクの数)とivの間のラベルを有
することが分かる(ここにivはアルゴリズムがVから戻
るときのiの値である)。構成により、Vから樹木の残
りまでのリンクはこの範囲の外側のすべてのラベルを含
む間隔と関連する。しかして、mとラベリングされた端
子リンクがサブの樹木Vに属しないならば、パケツトは
樹木を上方にルーチングされる。
誘導により、パケツトは、mとラベリングされた端子
リンクがそのノードのサブの樹木に属するように、均一
にノードに達しなければならない。
上記アルゴリズムはまたそれに従つて作用するネツト
ワークはデツドロツクしないという重要な特性を有す
る。
デツドロツクのないことの証明 二つのノードVおよびWを接合するリンクの両端を考
える。ここにVは樹木の根に近い。Vにおいて、リンク
は間隔〔i、α)をラベリングされている。ここにiは
Wで始まるサブの樹木の第1端子リンクのラベルであ
り、αはサブの樹木の最後の端子リンクのラベルより1
大きい。Wにおいて、リンクは一対の間隔〔i、N)
〔O、j)をラベリングされている。これらの間隔が共
通のラベルを有しないため、リンクに沿つて一方向にル
ーチングされるパケツトは決して同じリンクに沿つて反
対方向にルーチングされることはない。しかして、いか
なるパケツトも必要以上にさらに樹木の上方に贈られ根
ことはなく、もしそうであれば、一つ以上のリンクに沿
つて戻され、上記の説明は不可能になる。
指標kを有するサブの樹木Tkの集合について考える。
各サブの樹木Tkは大きい樹木にそれを連結する一つの根
のリンクrkを有する。すべてのTkの根のリンクをルーチ
ングノードRに接続することにより形成される大きいサ
ブの樹木Tを考える。Tからの別のリンクは樹木全体の
根のリンクrkである。いずれかのrkに沿つてRに到達す
るパケツトはrj(j≠k)の一つまたはrにルーチング
される。誘導的仮定として、各Tkはデツトロツクするこ
とがなく、Tjの一つにルーチングされるいかなるパケツ
トも結局端子リンクの外にルーチングされ消耗するもの
とする。rに沿つてルーチングされるいかにるパケツト
も周囲によつて消耗される。rに達するいかなるパケツ
トもTkからルーチングされ同様に消耗する。唯一つノー
ドを有するサブの樹木だけがデツトロツクを免れること
が示され、これは端子リンクが同時にパケツトを送りか
つ受けとるとすれば真実である。サブの樹木のサイズの
誘導により、デツトロツクのない全ネツトワークは下記
の通りである。
それはこのアルゴリズムによつて創成されたラベリン
グは、ネツトワークがそれ自体樹木でない限り、もつと
も短い可能なルートによつてパケツトをルーチングしな
い。しかしながら、そは妥当なデツトロツクのないルー
チングである。
ある他のネツトワークのクラス(たとえば周囲を囲ま
れない2進n面体およびm次元格子)に対して、妥当な
デツドロツクのない間隔ラベリングは高知であり、パケ
ツトをもつとも短いルートによつて供給する。
冗長なラベリング 間隔セレクタの作用はルーチングスイツチの各端子リ
ンクが一つ以上のラベルに関連するようにしうることが
分かるであろう。各端子リンクが一つのラベルに関連す
る妥当なラベリング計画は、選択された端子リンクが、
下記のように、ぁる範囲のラベルを備えた計画に変化す
ることができる。すなわち、 選択された端子リンクに関連するラベルがkであるな
らば、関連する間隔は〔k、k+1)である。この間隔
を〔k、k+m)に延ばすため、他の間隔を計画におい
て下記のように変更する、すなわち a≦kおよびk<bである(すなわち間隔kを含む)
間隔〔a、b)を、〔a、b+m)に置換する。
a>kである間隔〔a、b)を、間隔〔a、m、b+
m)に置換する。
他の間隔は変更しない。
この操作を繰り返すことにより、ある数の端子リンク
が関連するラベルの一定範囲内とすることができる。
一つ以上のラベルを有する間隔が端子リンクに関連す
るならば、ヘツダ値の範囲を備えたパケツトがそのリン
クからルーチングされることが認められる。しかしてラ
ベリングは唯一つのラベルがそのリンクのパケツトをル
ーチングするのに必要であるという意味において冗長で
ある。しかしながら、端子リンクがそれを通してネツト
ワークから出るパケツトのヘツダを削除しないならば、
ラベリングの冗長はパケツトヘツダの付加的情報をエン
コードするのに使用される。このことはたとえば同時出
願中の第 号(ページ・ホワイト・アンド
・フアラーRef:64199)の場合に有用であり、ラベリン
グの冗長さはネツトワークの端子リンクに接続されたマ
イクロコンピユータの特定の仮想的リンクを認識するの
に使用することができる。
仮想的リンクの選択と付加的詳報とを組み合わせるこ
とにより、パケツトに含まれるヘツダ情報の長さを最少
にすることができる。
汎用ルーチング マクチプロセツサ相互接続ネツトワークはホツトスポ
ツトの現象によつてきわめて厄介であり、ネツトワーク
全体の作用は通信量がいくつかのルーチングスイツチま
たはメツセージリンクを通して集中するため制限され
る。このことは適用業務プログラムの結果として(その
場合ほとんど何もできない)または使用されるルーチン
グアルゴリズムのために起こり、ネツトワークの端子リ
ンクに接続されたプロセツサが対をなしてだけ通信する
場合でさえも、ネツトワークは原理的にすべての所要の
メツセージを錯綜することなくルーチングし、あるルー
チングアルゴリズムはある程度の大きさまたはネツトワ
ークの容量より一層下の機能しか奏することができな
い。
上記ネツトワークの単一ルーチングアルゴリズムの作
用は下記に記載され、二つの位相よりなる。第1の位相
において各パケツトは適当な(デツトロツクのない)貧
欲なアルゴリズムを使用してランダムに選択されたノー
ドに伝送される。第2の場合、各パケツトはこれもまた
適当な(デツトロツクのない)貧欲なアルゴリズムを使
用してその最終的宛先ノードに前進される。貧欲なアル
ゴリズムはその宛先までもつとも短い経路をとるアルゴ
リズムである。
ランダムヘツダの付加およびデイスカード これは本発明のネツトワークの端子リンクであるルー
チングスイツチの各端子リンクLa・・・Lnにランダム化
フラグ60(第5図)を設定することによつてルーチング
スイツチを使用して設けられる。パケツトがそのような
リンクに沿つて到達し始めるときはいつも、ランダムヘ
ツダ発生装置24はランダム数を発生し、ヘツダバツフア
20および間隔セレクタ22はパケツトヘツダであるかのよ
うに作用する。パケツトの残りはヘツダが中間(ランダ
ム)宛先に達するまで、新しく供給されたランダムヘツ
ダにネツトワークを通して従う。この点において、ルー
チングアルゴリズムの第1の位相は完了しランダムヘツ
ダはパケツトが第2の位相においてその最終的宛先に前
進することができるため除去されなれければならない。
ランダムヘツダを除去するため、各ルーチングスイツチ
は中間宛先としてその識別をプログラムされ、スイツチ
に到達する各パケツトはこの値に対してチエツクされた
ヘツダを有する。パケツトのヘツダがルーチングスイツ
チの中間識別に対応するときはいつも、そのヘツダは間
隔セレクタ22のデイスカード信号に応じてデイスカード
され、最初のパケツトヘツダを現すパケツトのバイトは
中間ラベリングアルゴリズムによつて処理される。
このようにしてパケツトはランダムヘツダに、それら
をランダムに選択された中間宛先にルーチングするた
め、与えることができ、それらは中間宛先において再び
削除され、ルーチングアルゴリズムの第2の位相がパケ
ツトをそれらの最初に選択された端子リンクに送るよう
に処理される。
デツドロツクの回避 遺憾ながら、ルーチングを同じネツトワークで二つの
位相において実施することはパケツトの経路を一層複雑
にする。その結果はデツトロツクが起こりうることであ
る。
この課題の一つの解決法はルーチングアルゴリズムの
二つの位相が完全に別のリンクを使用することである。
間隔ラベリングのため発生した一組のラベルは二つのサ
ブの組に分けられる。第1のサブの組たとえば下の半分
は中間宛先を認識するのに使用されるラベルを有し、こ
のサブの組のラベルはランダムに発生されランダム化位
相のためのヘツダとして使用される。第2のサブの組の
ラベルは、たとえば上の半分は端子リンクに使用され、
パケツトの最初のヘツダはこのサブの組から選択されか
つ第2および最終(宛先)位相のために使用される。同
様にリンクは二つのサブの組すなわち、第1のランダム
化位相用の一つのサブの組および第2の宛先位相用の一
つのサブの組に分けられる。第1のサブの組のリンクは
ラベルの組の下の半分に含まれる間隔と関連し、第2の
サブの組のリンクはラベルの組の上の半分に含まれる間
隔と関連する。
この計画は二つの別のネツトワークを備えるのが有効
であり、一つはランダム化位相のため、他の一つは宛先
位相のためである。組み合わせは、ネツトワークの双方
がデツドロツクすることがなければ、デツドロツクする
ことはない。もつとも簡単な配置はランダム化ネツトワ
ークが宛先ネツトワークと同じ構成を有すること、およ
び双方にデツドロツクすることのないルーチングアルゴ
リズムを使用することである。
多相ルーチング 間隔ラベリング計画の主要な欠点は、それがネツトワ
ークを通る任意のルートを許さないこと、またそれがメ
ツセージを一連のネツトワークを通つてルーチングする
ことを許さないことである。これらの課題はヘツダスト
リツパ28によつて上記ルーチングスイツチを改善するこ
とである。上記のように、ルーチングスイツチの各メツ
セージリンクはそれが伝送される直前に各メツセージの
ヘツダを削除するように設定される。その結果すぐ後の
データはメツセージがつぎのノードに入るとき新しいヘ
ツダになる。
ラベルされたネツトワークが存在し、その端子リンク
のあるものが他のそのようなモジユールに接続されると
する。これらのメツセージリンクがヘツダを除去するよ
うに設定されるならば、それらの一つにアドレスされた
パケツトは実際、メツセージの引き続いた部分によつて
置換され、さらに宛先に送る新しいヘツダを形成するヘ
ツダによつて伝送される。
一つ以上のリンクによつて接続された二つのそのよう
なモジユールを考える。一方のモジユールのルーチング
スイツチが一方のモジユールに接続された他方のモジユ
ールの端子リンクの一つにアドレスすることによつてパ
ケツトを送るならば、パケツトが接続するメツセージリ
ンクを通る前にヘツダは削除され新しいアドレスがヘツ
ダとして現れる。これが他のモジユールのネツトワーク
に対する適当なラベルであるとすると、パケツトは通常
の方法で実施することができる。僅かに複雑なことは、
パケツトがデータ部分に予め決定されない最終的アドレ
スによつて送られなければならないことである。
パケツトがアドレスされる第2モジユールの端子リン
クが第3モジユールに接続されまたヘツダを削除するよ
うに設定されるならば、パケツトは第3のアドレスが前
方に引出されるさらに別のモジユールに指向される。こ
のようにして、パケツトが最初に送られるとき、十分に
余分なヘツダが設けられるならば、任意数のモジユール
境界を設けることができる。
極端な場合、“モジユール”は別々のルーチングスイ
ツチとすることができ、パケツトはヘツダの設定により
明瞭に操作することができ、間隔ラベリングは単純にな
る。これは人が混乱のないルーチングを得ようとする代
替ネツトワークに対して有用である。
ネツトワークのモジユール構成 ネツトワークモジユールが互いに接続されると、注意
はデツドロツクの可能性を導入しないことである。各モ
ジユール内のラベリング計画がデツドロツクなしであつ
ても、多相メツセージの組はデツドロツク構造を形成す
るかも知れない。
高いレベルのネツトワークを有するとして、その各ノ
ードはモジユールである。ネツトワーク全体デツトロツ
クしない条件は、単に トツプレベルのネツトワークにおけるルーチング戦略
はデツトロツクのないことである。
個々のモジユールはデツドロツクのないことが必要で
あり、 モジユールは完全な相互接続性を有しなければならな
い、 ことである。
最後の点はモジユールのノードへのパケツトの経路、
モジユールのノードからのパケツトの経路および他のモ
ジユールに通過するパケツトの経路は、同じリンクを同
じ方向に通過してはならないことを意味している。
これらの条件が満たされると、ヘツダ削除の簡単な機
構が任意のサイズおよび複雑さは、ネツトワークが、メ
ツセージパケツトのデツトロツクのない有効なルーチン
グによつて構成されることを可能にする。
上記の記載は集積回路または単一チツプとして構成さ
れ、専用ピンを有する入力および出力データ通路4a・・
4n、6a・・・6nを備えたルーチングスイツチに関する。
またルーチングスイツチは単一のマイクロコンピユータ
と組み合わせることができ、その場合、マイクロコンピ
ユータのすべてのメツセージリンクはチツプ接点によつ
て有効に永久的にルーチングスイツチのリンクに接続さ
れる。オフチツプ接続はつねにルーチングスイツチの自
由リンクを通して起こる。
【図面の簡単な説明】
第1図はルーチングスイツチのブロツク線図であり、 第2図はルーチングスイツチの通信装置のブロツク線図
であり、 第3図はルーチングスイツチのヘツダ部分におけるバツ
フアのブロツク線図であり、 第4図はルーチングスイツチのヘツダ読出し回路のブロ
ツク線図であり、 第5図はランダムヘツダゼネレータのブロツク線図であ
り、 第6図はヘツダ削除回路のブロツク線図であり、 第7図はルーチングスイツチの切替え回路の一部を示す
図であり、 第8図は切替え回路の一部を通るデータの流れを示す図
であり、 第9図は切替え回路の切替え要素の一つの外部接続を示
す図であり、第10図は切替え要素の構造のブロツク線図
であり、 第11図は切替え回路のアービトレーシヨン回路の作用を
示す線図であり、 第12図はデツトロツクのコンピユータネツトワークの例
を示す図であり、 第13図はグリッドコンピュータネットワークの一例であ
り、 第14図はインターバルセレクションを説明するコンピュ
ータネットワークの他の一例である。
フロントページの続き (72)発明者 ブライアン、ジェレミー、パーソンズ イギリス国ブリストル、クリフトン、ロ ドニー、プレイス、7、フラット、7 (72)発明者 ピーター、ウィリアム、トンプソン イギリス国ブリストル、ホーフィール ド、ウェセックス、アベニュ、47 (72)発明者 クリストファー、ポール、ハルム、ウォ ーカー イギリス国エーボン、ポーティスエッ ド、ドレイクス、ウェイ、35 (56)参考文献 特開 昭63−95751(JP,A) 特開 昭58−161443(JP,A) 特開 昭61−84945(JP,A) 特表 昭60−500934(JP,A) IEEE Trans.on Com puters,Vol.c−36,No. 5,May1987,pp.547−553

Claims (30)

    (57)【特許請求の範囲】
  1. 【請求項1】複数のノード(N,RS)を有すると共に、そ
    の少なくともあるものがそれぞれ識別部を有する、コン
    ピュータネットワークにおけるメッセージパケットのル
    ーチング方法であって、 a) 開始ノードから直列にメッセージパケットを出力
    し、前記メッセージパケットは宛先ノードを識別するヘ
    ッダ部分と前記ヘッダ部分に続くメッセージ部分を有す
    るものであり、 b) 前記メッセージパケットを、ルーチングスイッチ
    (RS)を有するノードの入力(12a,…,12n)に直列に供
    給し、前記ルーチングスイッチ(RS)は、前記入力に選
    択的に接続しうる複数の出力(14a,…,14n)を有するも
    のであり、 c) 前記ヘッダ部分を読み取って宛先ノード識別を決
    定し、前記出力の一つを前記入力の一つに選択的に接続
    し、前記出力は、前記ヘッダ部分の宛先ノード識別によ
    って決定されるものであり、 d)メッセージ部分を前記ルーチングスイッチを介して
    前記入力から前記出力の一つに伝送し、 という各ステップを有する方法であり、さらに、 前記各出力にはノード識別範囲が設定されており、 デッドロックを起こさないように、かつ前記ヘッダ部分
    の宛先ノード識別が前記ノード識別範囲に含まれるよう
    に、前記各出力は決定され、 前記ヘッダ部は、メッセージパケット全体の受信に先立
    ち、前記ルーチングスイッチによって読まれる、ように
    なっていることを特徴とするメッセージパケットルーチ
    ング方法。
  2. 【請求項2】同種の一連のルーチングスイッチを使用す
    ることにより、メッセージを開始ノードから宛先ノード
    にルーチングすることを特徴とする請求項1に記載の方
    法。
  3. 【請求項3】前記メッセージパケットは、前記開始ノー
    ドから第1及び第2宛先ノード指標を付加して出力さ
    れ、一連のルーチングスイッチによるそのパケットの受
    信時に、前記第2ノード指標がヘッダ部として使用され
    るように、前記ルーチングスイッチの一つで前記第1ノ
    ード指標を削除することを特徴とする請求項2に記載の
    方法。
  4. 【請求項4】元のヘッダ部分によって識別された宛先ノ
    ードに達する前に、少なくと一つの他のルーチングスイ
    ッチを介してパケットをルーチングするために、ルーチ
    ングスイッチによって受信されたパケットに対して、ラ
    ンダムに生成された新しいヘッダ部分を与えることを特
    徴とする請求項2または3に記載の方法。
  5. 【請求項5】前記ルーチングスイッチは複数の入力を有
    し、利用可能な前記入力のうち、選択されたものすべて
    に前記新しいヘッダ部が設けられることを特徴とする請
    求項4に記載の方法。
  6. 【請求項6】利用可能な前記出力のうち、選択されたも
    のすべてにおいて前記第1ノード指標が削除されること
    を特徴とする請求項4に記載の方法。
  7. 【請求項7】識別されたルーチングスイッチにおいて前
    記ランダムに生成されたヘッダ部分を廃棄して元のヘッ
    ダ部分を現すことを特徴とする請求項4に記載の方法。
  8. 【請求項8】開始ノードを構成する第1の処理装置と宛
    先ノードを構成する第2の処理装置との間でのメッセー
    ジ伝達に用いられるときには、前記開始ノードにより出
    力された各パケットは、パケットが受信される前記宛先
    ノードにより認識されることを特徴とする請求項1〜7
    のいずれかに記載の方法。
  9. 【請求項9】前記ルーチングスイッチは複数の入力を有
    しており、少なくとも前記複数の入力のいくつかに対し
    て、直列に、複数のメッセージパケットを供給するステ
    ップと、 各メッセージパケットに対する出力を選択するために、
    前記メッセージパケットのヘッダ部を同時に読むステッ
    プと、 各入力からそれぞれの選択済出力に、前記ルーチングス
    イッチを介して、前記メッセージパケットのメッセージ
    部分を伝送するステップと、を有する請求項1,2,3のい
    ずれかに記載の方法。
  10. 【請求項10】複数のノードを有しその少なくともある
    ものがそれぞれ識別部を有するコンピュータネットワー
    クであって、 前記ネットワークが、それぞれ処理を実行するプロセッ
    サ、ネットワーク内の他の装置との間でメッセージを入
    力および出力するメッセージリンク、および宛先ノード
    識別を示すヘッダ部分およびヘッダ部分に続くメッセー
    ジ部分を備えたメッセージパケットを生成するパケット
    生成回路を有する複数のコンピュータ装置(N)と、少
    なくとも一つのルーチングスイッチであって、前記ルー
    チングスイッチは、開始ノードからのメッセージパケッ
    トを受信するための入力(12a,…,12n)と、複数の出力
    (14a,…,14n)と、前記入力を前記出力の選択されたも
    のに選択的に接続するスイッチ回路(10)と、入力にう
    け入れられたパケットのヘッダ部分を読み取るヘッダ読
    み取り回路(22)と、を有し、 前記ヘッダ読み取り回路は前記スイツチ回路に接続され
    て、前記出力の一つを前記入力に接続し、前記出力は前
    記ヘッダ部分のノード識別によって決定されるノードを
    有している、コンピュータネットワークであって、 前記各出力にはノード識別範囲が設定されており、 デッドロックを起こさないように、かつ前記ヘッダ部分
    の宛先ノード識別が前記ノード識別範囲に含まれるよう
    に、前記各出力は決定され、 前記選択された出力は、前記ヘッド部のノード識別部を
    含むノード識別範囲を有するものとして構成され、さら
    に、そのヘッダ読み取り回路(22)は、全てのパケット
    を受け取るに先立ち、そのヘッダ部を読み出すように構
    成されていることを特徴とするコンピュータネットワー
    ク。
  11. 【請求項11】前記ルーチングスイッチの前記スイッチ
    回路は、前記ヘッダ読み取り回路(22)によるヘッダの
    読み取りに応じて、入力と選択された出力との間の接続
    を有効にしうる請求項10に記載コンピュータネットワー
    ク。
  12. 【請求項12】前記スイッチ回路(10)は、メッセージ
    パケットの終端を検出したとき選択された出力から入力
    を遮断して、後に続くメッセージパケットの前記出力の
    影響を受けないようにする請求項10または11のいずれか
    一項に記載のコンピュータネットワーク。
  13. 【請求項13】複数の相互に接続されたルーチングスイ
    ッチを有し、パケットは、開始ノードと宛先ノードとの
    間に接続された一連の前記ルーチングスイッチを使用す
    る請求項10〜12のいずれかに記載のコンピュータネット
    ワーク。
  14. 【請求項14】前記各ルーチングスイッチは複数の入力
    (12a,…,12n)を有し、各入力は前記複数の出力(14a,
    …,14n)のいずれかに選択的に接続しうる請求項10〜13
    のいずれかに記載のコンピュータネットワーク。
  15. 【請求項15】各コンピュータ装置のパケット生成回路
    は、所定のビット長を有するシリアルビットパケットを
    生成するように構成され、 前記各ルーチングスイッチは蓄積部(20)を有し、この
    蓄積部は、パケットのヘッダ部分に対応して前記ヘッダ
    読み取り回路に接続され、 前記各ルーチングスイッチは、前記パケット生成回路に
    より生成される前記シリアルビットパケットのビット長
    未満のビット容量を有する請求項10ないし14のいずれか
    一項に記載のコンピュータネットワーク。
  16. 【請求項16】各メッセージパケットは第1及び第2の
    宛先ノード識別とともに生成され、 前記少なくとも一つのルーチングスイッチは受信したメ
    ッセージパケットの第1宛先ノード指標を削除する削除
    回路を備え、 一連のルーチングスイツチによるメッセージパケットの
    受信時に、前記第2宛先ノード指標がヘッド部として使
    用されるようにする請求項10〜15のいずれか一項に記載
    のコンピュータネットワーク。
  17. 【請求項17】前記各ルーチングスイッチは、入力され
    たパケットの新しいヘッダ部分を生成しうるランダムヘ
    ッダ生成回路(24)を有する請求項10〜16のいずれか一
    項に記載のコンピュータネットワーク。
  18. 【請求項18】前記ルーチングスイッチの少なくとも一
    つは廃棄回路を備え、この回路は、ヘッダ部をルーチン
    グスイッチの識別部と比較すると共に、ランダムに生成
    されたアドレスが検索中の前記ルーチングスイッチと一
    致するときにはランダムに生成されたヘッダ部を廃棄す
    る請求項17に記載のコンピュータネットワーク。
  19. 【請求項19】前記ルーチングスイツチは、アービトレ
    ーション回路(32)を有し、この回路は、一つ以上の入
    力に接続されるように選択された出力の使用を制御する
    請求項14,15〜18のいずれかに記載のコンピュータネッ
    トワーク。
  20. 【請求項20】複数のノードを有しその少なくともある
    ものがそれぞれ識別部を有するネットワーク内のコンピ
    ュータ装置間でメッセージをルーチングするルーチング
    スイツチにおいて、 各コンピュータ装置は宛先ノード識別を示すヘッダ部分
    およびヘッダ部分の後に続くメッセージ部分を備えた、
    メッセージパケットを生成するパケット生成回路を有
    し、 前記ルーチングスイッチは、開始ノードからメッセージ
    パケットをうけ入れる入力と、複数の出力と、前記入力
    を前記出力の選択されたものに選択的に接続するスイッ
    チ回路(10)と、入力に受け入れられたパケットのヘッ
    ダ部分を読み取るヘッダ読み取り回路とを有し、 前記ヘッダ読み取り回路部(22)は、前記スイッチ回路
    (10)に接続されて、前記出力の一つを前記入力に接続
    し、前記出力は、前記ヘッダ部のノード識別部分によっ
    て決定されるノードを有するルーチングスイッチであっ
    て、 前記各出力にはノード識別範囲が設定されており、 デッドロックを起こさないように、かつ前記ヘッダ部分
    の宛先ノード識別が前記ノード識別範囲に含まれるよう
    に、前記各出力は決定され、 前記選択された出力は、前記ヘッダ部のノード識別を含
    むノード識別範囲を有し、さらに、ヘッダ読み取り回路
    部(22)は、メッセージパケット全体の受信に先立っ
    て、ヘッダ部を読み取る、という特徴を有するルーチン
    グスイッチ。
  21. 【請求項21】複数の入力(12a,…,12n)を有し、各入
    力は前記複数の出力(14a,…,14n)のいずれかに選択的
    に接続しうる請求項20に記載のルーチングスイッチ。
  22. 【請求項22】ヘッダ読み取り回路部は複数のヘッダ読
    み取り回路を有し、各ヘッダ読み取り回路は、スイツチ
    によって同時に受信されたメッセージパケットのヘッダ
    部を受信可能に構成されている、請求項21に記載のルー
    チングスイツチ。
  23. 【請求項23】前記複数のヘッダ読み取り回路は、ルー
    チングスイッチの各入力にそれぞれ関連づけられたヘッ
    ダ読み取り用の回路を有する、請求項22に記載のルーチ
    ングスイッチ。
  24. 【請求項24】前記スイツチ回路(10)は、前記ヘッダ
    読み取り回路によるヘッダの読み取りに応じて、入力と
    選択出力との間の接続を有効にしうる請求項20〜23のう
    ちの一つに記載のルーチングスイツチ。
  25. 【請求項25】前記スイッチ回路は、メッセージパケッ
    トの終端を検出した結果に基づいて、選択された出力か
    ら入力を遮断し、一連のメッセージパケットの出力の影
    響を受けないようにする請求項20〜24のうちの一つに記
    載のルーチングスイツチ。
  26. 【請求項26】各メッセージパケットは第1及び第2宛
    先ノード指標を有するものとして生成され、前記ルーチ
    ングスイッチは受信したメッセージパケットの第1宛先
    ノード指標を削除する削除回路を備え、 前記削除回路に接続された一連のルーチングスイッチに
    よるメッセージパケットの受信時に、第2宛先ノード指
    標をヘッド部として使用する請求項20〜24のうちの一つ
    に記載のルーチングスイツチ。
  27. 【請求項27】前記ルーチングスイッチは、ランダムア
    ドレスを発生して、入力されたパケットの新しいヘッダ
    部を生成するランダムヘッダ生成回路(24)を有する請
    求項20〜26のうちの一つに記載のルーチングスイツチ。
  28. 【請求項28】前記ルーチングスイッチの少なくとも一
    つは廃棄回路を備え、この回路は、ヘッダ部をルーチン
    グスイッチの識別部と比較すると共に、ランダムに生成
    されたアドレスが検索中のルーチングスイッチと一致す
    るときにはランダムに生成されたヘッダ部を廃棄する請
    求項20〜27のうちの一つに記載のルーチングスイツチ。
  29. 【請求項29】一つ以上の入力に接続されるように選択
    された出力の使用を制御するアービトレーション回路を
    有する請求項20〜28のうちの一つに記載のルーチングス
    イッチ。
  30. 【請求項30】ルーチングスイッチであって、ネットワ
    ーク内のコンピュータ装置間でメッセージをルート付け
    するためのものであり、そのネットワークは、複数のノ
    ードを有し、それらのノードの少なくともあるものは識
    別部をそれぞれ有しており、 各コンピュータ装置はパケット生成回路を有しており、
    この回路は宛先ノード識別を示すノード指標とメッセー
    ジ部を有するメッセージパケットを生成するためのもの
    であり、 前記ルーチングスイッチは、複数の入力、複数の出力、
    スイッチ回路、生成回路、読み取り回路及び廃棄回路を
    有し、 前記複数の入力は開始ノードからのメッセージパケット
    を受けるためのものであり、 前記各出力回路は宛先ノード識別のそれぞれの範囲を指
    定するものであり、 前記スイッチ回路は選択的に前記入力のそれぞれを前記
    出力の一つに相互接続するものであり、 前記生成回路は前記入力に接続され、前記メッセージパ
    ケットに対する付加的なノード指標を生成し、そのノー
    ド指標は、ネットワーク内の複数のノードからランダム
    に選ばれた中間ノードを指すものであり、 前記読み取り回路は、第1のノード指標を読み取るもの
    であり、且つ前記スイッチ回路に接続されて前記ランダ
    ムに生成されたノード指標に応じて前記出力の一つを前
    記入力に接続するものであり、 前記廃棄回路は、ノード指標を前記ルーチングスイッチ
    の識別部と比較し、そのノード指標が検索中の前記ルー
    チングスイッチと一致するとき、以前にランダムに生成
    されたノード指標を廃棄するものであり、 前記各出力にはノード識別範囲が設定されており、 デッドロックを起こさないように、かつ前記ヘッダ部分
    の宛先ノード識別が前記ノード識別範囲に含まれるよう
    に、前記各出力は決定されるルーチングスイッチ。
JP17434890A 1989-06-30 1990-06-30 メッセージルーチング方法、コンピュータネットワーク、ルーチングスイッチ Expired - Lifetime JP3174046B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB8915135.1 1989-06-30
GB898915135A GB8915135D0 (en) 1989-06-30 1989-06-30 Message routing

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP10349142A Division JPH11243415A (ja) 1989-06-30 1998-12-08 データエンコーディング方法、通信装置、メッセージ伝送方法、およびルーチングスイッチ

Publications (2)

Publication Number Publication Date
JPH03132131A JPH03132131A (ja) 1991-06-05
JP3174046B2 true JP3174046B2 (ja) 2001-06-11

Family

ID=10659381

Family Applications (2)

Application Number Title Priority Date Filing Date
JP17434890A Expired - Lifetime JP3174046B2 (ja) 1989-06-30 1990-06-30 メッセージルーチング方法、コンピュータネットワーク、ルーチングスイッチ
JP10349142A Pending JPH11243415A (ja) 1989-06-30 1998-12-08 データエンコーディング方法、通信装置、メッセージ伝送方法、およびルーチングスイッチ

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP10349142A Pending JPH11243415A (ja) 1989-06-30 1998-12-08 データエンコーディング方法、通信装置、メッセージ伝送方法、およびルーチングスイッチ

Country Status (5)

Country Link
US (1) US5140583A (ja)
EP (2) EP0405990B1 (ja)
JP (2) JP3174046B2 (ja)
DE (2) DE69031368T2 (ja)
GB (1) GB8915135D0 (ja)

Families Citing this family (57)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3546662C3 (de) * 1985-02-22 1997-04-03 Bosch Gmbh Robert Verfahren zum Betreiben einer Datenverarbeitungsanlage
GB8915137D0 (en) * 1989-06-30 1989-08-23 Inmos Ltd Message routing
US5379295A (en) * 1990-07-31 1995-01-03 Nec Corporation Cross-connect system for asynchronous transfer mode
JPH0756644B2 (ja) * 1990-08-31 1995-06-14 インターナショナル・ビジネス・マシーンズ・コーポレイション 状態変化通知装置及び方法
US5774698A (en) * 1991-02-22 1998-06-30 International Business Machines Corporation Multi-media serial line switching adapter for parallel networks and heterogeneous and homologous computer system
US5612953A (en) * 1991-02-22 1997-03-18 International Business Machines Corporation Multi-media serial line switching adapter for parallel networks and heterogeneous and homologous computer systems
US5617547A (en) * 1991-03-29 1997-04-01 International Business Machines Corporation Switch network extension of bus architecture
US5398245A (en) * 1991-10-04 1995-03-14 Bay Networks, Inc. Packet processing method and apparatus
JP2571655B2 (ja) * 1991-11-27 1997-01-16 インターナショナル・ビジネス・マシーンズ・コーポレイション プロトコル変換機構、交換ネットワーク及びコンピュータ・システム
JP2764867B2 (ja) * 1991-12-19 1998-06-11 富士通株式会社 他プロセッサからのデータ読出し制御方式
EP0566962B1 (de) * 1992-04-24 2003-01-08 Siemens Aktiengesellschaft Verfahren zur Überwachung von virtuellen Verbindungen innerhalb eines digitalen Fernmeldenetzes
JP2876914B2 (ja) * 1992-09-07 1999-03-31 日本電気株式会社 パケット交換装置におけるバッファ制御方式
GB2295473B (en) * 1992-09-25 1996-10-30 Hitachi Ltd Method for interprocessor communication
JP3003418B2 (ja) * 1992-09-25 2000-01-31 株式会社日立製作所 プロセッサ間データ通信方法
US5355364A (en) * 1992-10-30 1994-10-11 International Business Machines Corporation Method of routing electronic messages
GB2272545A (en) * 1992-11-13 1994-05-18 White Cross Syst Ltd A database network.
JPH06324998A (ja) * 1993-05-14 1994-11-25 Fujitsu Ltd メッセージ受信方式
EP0629067B1 (en) * 1993-06-11 2003-01-22 STMicroelectronics Limited 4B6B Coding
GB9312135D0 (en) * 1993-06-11 1993-07-28 Inmos Ltd Generation of checking data
GB9312071D0 (en) * 1993-06-11 1993-07-28 Inmos Ltd Encoding scheme
GB9312136D0 (en) * 1993-06-11 1993-07-28 Inmos Ltd Transmission of messages
JP3251723B2 (ja) * 1993-07-15 2002-01-28 富士通株式会社 放送通信方法
US5802287A (en) * 1993-10-20 1998-09-01 Lsi Logic Corporation Single chip universal protocol multi-function ATM network interface
US5446726A (en) * 1993-10-20 1995-08-29 Lsi Logic Corporation Error detection and correction apparatus for an asynchronous transfer mode (ATM) network device
US5708659A (en) * 1993-10-20 1998-01-13 Lsi Logic Corporation Method for hashing in a packet network switching system
US5745703A (en) * 1995-07-18 1998-04-28 Nec Research Institute, Inc. Transmission of higher-order objects across a network of heterogeneous machines
JPH0981508A (ja) * 1995-08-31 1997-03-28 Internatl Business Mach Corp <Ibm> 通信方法及び装置
US5838684A (en) * 1996-02-22 1998-11-17 Fujitsu, Ltd. Low latency, high clock frequency plesioasynchronous packet-based crossbar switching chip system and method
US5991296A (en) * 1996-02-22 1999-11-23 Fujitsu, Ltd. Crossbar switch and method with reduced voltage swing and no internal blocking data path
US5841772A (en) * 1996-03-07 1998-11-24 Lsi Logic Corporation ATM communication system interconnect/termination unit
US5848068A (en) * 1996-03-07 1998-12-08 Lsi Logic Corporation ATM communication system interconnect/termination unit
US5982749A (en) * 1996-03-07 1999-11-09 Lsi Logic Corporation ATM communication system interconnect/termination unit
US5920561A (en) * 1996-03-07 1999-07-06 Lsi Logic Corporation ATM communication system interconnect/termination unit
US6373846B1 (en) 1996-03-07 2002-04-16 Lsi Logic Corporation Single chip networking device with enhanced memory access co-processor
US6535512B1 (en) 1996-03-07 2003-03-18 Lsi Logic Corporation ATM communication system interconnect/termination unit
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
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
US5831980A (en) * 1996-09-13 1998-11-03 Lsi Logic Corporation Shared memory fabric architecture for very high speed ATM switches
US5959993A (en) * 1996-09-13 1999-09-28 Lsi Logic Corporation Scheduler design for ATM switches, and its implementation in a distributed shared memory architecture
US6289021B1 (en) 1997-01-24 2001-09-11 Interactic Holdings, Llc Scaleable low-latency switch for usage in an interconnect structure
US6359882B1 (en) * 1997-04-01 2002-03-19 Yipes Communications, Inc. Method and apparatus for transmitting data
FR2766313B1 (fr) * 1997-07-18 1999-10-08 Canon Kk Dispositif et procede de communication et systemes les utilisant
US7162730B1 (en) 1998-01-07 2007-01-09 Honeywell International, Inc. Information communication systems
US6704316B1 (en) * 1998-07-29 2004-03-09 Lucent Technologies Inc. Push-out technique for shared memory buffer management in a network node
EP1043913A3 (en) 1999-04-08 2001-05-09 Canon Kabushiki Kaisha Apparatus and method for switching data packets
US6594261B1 (en) * 1999-12-22 2003-07-15 Aztech Partners, Inc. Adaptive fault-tolerant switching network with random initial routing and random routing around faults
US7061907B1 (en) 2000-09-26 2006-06-13 Dell Products L.P. System and method for field upgradeable switches built from routing components
US8352724B2 (en) 2003-07-23 2013-01-08 Semiconductor Energy Laboratory Co., Ltd. Microprocessor and grid computing system
US7962717B2 (en) * 2007-03-14 2011-06-14 Xmos Limited Message routing scheme
US20100250784A1 (en) * 2009-03-26 2010-09-30 Terascale Supercomputing Inc. Addressing Scheme and Message Routing for a Networked Device
US7957400B2 (en) * 2009-03-26 2011-06-07 Terascale Supercomputing Inc. Hierarchical network topology
US7957385B2 (en) * 2009-03-26 2011-06-07 Terascale Supercomputing Inc. Method and apparatus for packet routing
JP2012048573A (ja) * 2010-08-27 2012-03-08 Canon Inc 半導体集積回路、データ処理装置
US9407460B2 (en) 2013-03-20 2016-08-02 Marvell World Trade Ltd. Cut-through processing for slow and fast ports
US10601713B1 (en) 2013-10-15 2020-03-24 Marvell Israel (M.I.S.L) Ltd. Methods and network device for performing cut-through
WO2016000170A1 (zh) 2014-06-30 2016-01-07 华为技术有限公司 网络装置执行的数据处理方法和相关设备
WO2017180290A1 (en) 2016-04-11 2017-10-19 Tti (Macao Commercial Offshore) Limited Modular garage door opener

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3068177D1 (en) * 1980-06-19 1984-07-19 Ibm Flow control mechanism for block switching nodes
US4475192A (en) * 1982-02-16 1984-10-02 At&T Bell Laboratories Data packet flow control scheme for switching networks
FR2538976A1 (fr) * 1982-12-29 1984-07-06 Servel Michel Systeme de commutation de paquets synchrones de longueur fixe
US4665517A (en) * 1983-12-30 1987-05-12 International Business Machines Corporation Method of coding to minimize delay at a communication node
US4661947A (en) * 1984-09-26 1987-04-28 American Telephone And Telegraph Company At&T Bell Laboratories Self-routing packet switching network with intrastage packet communication
JPH0628361B2 (ja) * 1984-11-27 1994-04-13 国際電信電話株式会社 パケツト交換方式
US4651318A (en) * 1984-11-30 1987-03-17 At&T Bell Laboratories Self-routing packets with stage address identifying fields
US4742511A (en) * 1985-06-13 1988-05-03 Texas Instruments Incorporated Method and apparatus for routing packets in a multinode computer interconnect network
GB8528891D0 (en) * 1985-11-23 1986-01-02 Int Computers Ltd Data transmission system
US4679189A (en) * 1985-11-27 1987-07-07 American Telephone And Telegraph Company Alternate routing arrangement
US4727537A (en) * 1985-12-24 1988-02-23 American Telephone And Telegraph Company Flow control arrangement for the transmission of data packets to a communication network
US4862461A (en) * 1987-01-12 1989-08-29 International Business Machines Corp. Packet switch network protocol
US4682283A (en) * 1986-02-06 1987-07-21 Rockwell International Corporation Address range comparison system using multiplexer for detection of range identifier bits stored in dedicated RAM's
US4780870A (en) * 1986-09-05 1988-10-25 American Telephone And Telegraph Company, At&T Bell Laboratories Packet switch
US4813038A (en) * 1987-06-29 1989-03-14 Bell Communications Research, Inc. Non-blocking copy network for multicast packet switching
EP0310360B1 (en) * 1987-09-30 1995-02-22 Hewlett-Packard Company Data communication method and apparatus
GB8724208D0 (en) * 1987-10-15 1987-11-18 Newman P Self-routing switching element
JP2667868B2 (ja) * 1988-04-06 1997-10-27 株式会社日立製作所 セル・スイッチング・システム
US4937817A (en) * 1988-12-29 1990-06-26 American Telephone And Telegraph Company Packet selection for packet distribution arrangements

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
IEEE Trans.on Computers,Vol.c−36,No.5,May1987,pp.547−553

Also Published As

Publication number Publication date
DE69031368T2 (de) 1998-04-09
EP0611014A2 (en) 1994-08-17
EP0611014B1 (en) 2004-03-24
GB8915135D0 (en) 1989-08-23
EP0405990A3 (en) 1993-01-13
EP0405990A2 (en) 1991-01-02
EP0611014A3 (en) 1997-10-01
DE69034133T2 (de) 2004-09-16
JPH03132131A (ja) 1991-06-05
EP0405990B1 (en) 1997-09-03
JPH11243415A (ja) 1999-09-07
US5140583A (en) 1992-08-18
DE69034133D1 (de) 2004-04-29
DE69031368D1 (de) 1997-10-09

Similar Documents

Publication Publication Date Title
JP3174046B2 (ja) メッセージルーチング方法、コンピュータネットワーク、ルーチングスイッチ
JP2988972B2 (ja) メッセージルーチング方法、コンピュータネットワーク及びルーチングスイッチ
US5422881A (en) Message encoding
US10585825B2 (en) Procedures for implementing source based routing within an interconnect fabric on a system on chip
US7668970B2 (en) Optimized scalable network switch
US5218676A (en) Dynamic routing system for a multinode communications network
EP0595751B1 (en) Method of routing electronic messages
US7680126B2 (en) Two-dimensional pipelined scheduling technique
EP0018755B1 (en) Digital communication networks employing speed independent switches
US6278709B1 (en) Routing switch
JP2001514463A (ja) 仮想チャネル割当てを持つルータ
JPH01123548A (ja) 通信交換装置
KR20020024330A (ko) 네트워크 스위치와 그 콤포넌트 및 동작 방법
JP2000224198A (ja) 衛星通信システムにおけるア―ビトレ―ション装置及び方法
JP2977402B2 (ja) 競合パケット調停装置
Dobinson et al. Triggering and event building results using the C104 packet routing chip
JP3012313B2 (ja) コピースイッチ網
JP2002207648A (ja) 並列計算機の識別番号変換方法
Shepherd et al. Next Generation Transputers and Beyond-1: Transputers and Routers: Components for Concurrent Machines
JPH04287541A (ja) コネクションレス通信のセル振り分け方法

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090330

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100330

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110330

Year of fee payment: 10

EXPY Cancellation because of completion of term
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110330

Year of fee payment: 10