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

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

Info

Publication number
JPH03132131A
JPH03132131A JP2174348A JP17434890A JPH03132131A JP H03132131 A JPH03132131 A JP H03132131A JP 2174348 A JP2174348 A JP 2174348A JP 17434890 A JP17434890 A JP 17434890A JP H03132131 A JPH03132131 A JP H03132131A
Authority
JP
Japan
Prior art keywords
header
packet
routing
switch
message
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2174348A
Other languages
English (en)
Other versions
JP3174046B2 (ja
Inventor
Michael D May
マイケル、デイビッド、メイ
Brian J Parsons
ブライアン、ジェレミー、パーソンズ
Peter W Thompson
ピーター、ウィリアム、トンプソン
Christopher P H Walker
クリストファー、ポール、ハルム、ウォーカー
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.)
Inmos Ltd
Original Assignee
Inmos Ltd
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 Inmos Ltd filed Critical Inmos Ltd
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)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明はメッセージルーチング、とくにメツセージをコ
ンピュータネットワーク内でルーチングする方法および
ルーチングスイツチを有するコンピュータネットワーク
に関する。
〔従来の技術〕
ネットワーク内のマイクロコンピュータのような処理装
置を、一つのマイクロコンピュータがネットワーク内の
他のコンピュータと通信するように接続することがしば
しば望まれる。そのようなネットワークにおいて、マイ
クロコンピュータがその付近のものすなわち硬線で接続
されたものとしか通信し得ないならばはなはだしく不便
である。
ネットワークのマイクロコンピュータはその機能がネッ
トワークを通してメツセージをルーチングする処理を実
施しうろことが現在知られている。
すなわち、処理はメツセージをうけ取りかつ通知をする
ことであり、その効果はメツセージ処理を繰り返そうと
する適当な隣接するマイクロコンピュータに伝達するこ
とである。これはマイクロコンピュータの処理の実施時
間に関してまたとくにネットワーク構造において異なっ
たマイクロコンピュータに対するプログラムの処理を割
り当てるのに必要な仕事に関して高価につく。
〔発明が解決しようとする課題〕
種々のメッセージルーチング装置が知られている。ある
ものは特定のネットワーク構造に接続された処理装置の
間の切替えチャネルを設けることにより作用する。多く
のネットワークにおいて、ルーチング装置はそれぞれパ
ケットを入力し、その宛先を決定し、ついでパケットを
つぎの段階に前進させる。これは各装置において伝送さ
れるパケットを蓄積する必要があり、パケットの出力と
そのうけ入れとの間にポテンシャル的に長い遅れを生ず
るから、好ましくない。今日まで、ネットワーク内でメ
ツセージをルーチングする融通の利く、迅速かつ有効な
ルーチング装置は存在していない。
〔課題を解決するための手段〕 本発明の一特徴によれば、複数のノードを有しその少く
ともあるものがそれぞれ識別を有するコンピュータネッ
トワークであって、前記ネットワークが、 それぞれ処理を実施するプロセッサ、ネットワークの他
の装置との間でメツセージを入力および出力するメツセ
ージリンク、および宛先ノード識別を示すヘッダ部分お
よびヘッダ部分に続くメツセージ部分を備えたメツセー
ジパケットを発生するパケット発生回路を有する複数の
コンピュータ装置、および、 少くとも一つのルーチングスイツチであって、前記ルー
チングスイツチはソースノードからメツセージパケット
をうけ入れる入力、それぞれ宛先ノード識別の各範囲を
指定する複数の出力、前記入力を前記出力の選択された
一つに選択的に接続するスイッチ回路およびすべてのパ
ケットをうけ入れる前に入力にうけ入れられたパケット
のヘッダ部分を読出すヘッダ読出し回路を有し、前記ヘ
ッダ読出し回路は前記スイッチ回路に組み合わされ前記
入力を前記ヘッダ部分のノード識別を含むノード識別範
囲を有する前記出力の一つに接続する前記ルーチングス
イツチ、 を有するコンピュータネットワークが提供される。
本発明の別の特徴によれば、複数のノードを有し、その
少くともあるものがそれぞれ識別を有するコンピュータ
ネットワークにおいてメツセージパケットをルーチング
する方法において、a)ソースノードと直列にメツセー
ジパケットを出力し、前記メツセージパケットは宛先ノ
ードを識別するヘッダ部分および前記ヘッダ部分に続く
メツセージ部分を有し、 b)前記メツセージパケットを前記入力に選択的に接続
しうる複数の出力を有するルーチングスイツチを有する
ノードの入力に直列に供給し、前記各出力は宛先ノード
認識の各範囲に対して選択可能であり、 C)前記ルーチングスイツチによるうけ入れの際全部の
メツセージパケットをうけ入れる前に前記ヘッダ部分を
読出して宛先ノード識別を決定し前記ヘッダ部分の宛先
ノード識別を含むノード識別範囲を有する前記出力の一
つを前記入力の一つに選択的に接続し、 d)メツセージ部分を前記ルーチングスイツチを通して
前記入力から前記出力の一つに伝送する、各工程を有す
る前記方法が提供される。
本発明はさらに、別の特徴によれば、複数のノードを有
しその少くともあるものがそれぞれ識別を有するネット
ワーク内のコンピュータ装置間にメツセージをルーチン
グするルーチングスイツチにおいて、各コンピュータ装
置は宛先ノード識別およびヘッダ部分に続くメツセージ
部分を有するメツセージパケットを発生するパケット発
生回路を有し、前記ルーチングスイツチはソースノード
からメツセージパケットをうけ入れる入力、それぞれ宛
先ノードの各範囲を示す複数の出力、前記入力を選択的
に前記出力の選択された一つに選択的に接続するスイッ
チ回路およびすべてのメツセージパケットをうけ入れる
前に入力にうけ入れられたパケットのヘッダ部分を読出
すヘッダ読出し回路を有し、前記ヘッダ読出し回路は前
記スイッチ回路に組み合わされ前記入力を前記ヘッダ部
分のノード識別を有するノード識別範囲を有する前記出
力の一つに接続するルーチングスイツチが提供される。
本発明の特徴はとくに、ただし限定的ではないが、他の
装置を備えたマイクロコンピュータにネットワークに適
用しうるちのである。とくに一対の一方向通信線によっ
て組み合わされた装置間の通信に適用され、その線に沿
って一つ以上のフォーマットの直列ビットパケットが一
つの特定の直列ビットパケット(以下流れ制御トーケン
と称する)が伝送され他の通信線に沿って伝送される他
の直列ビットパケットの量を制御する。とくに、ただし
限定的ではないがデータの連続したバイトを連続マーカ
ーの終わりの特定の連続ビットパケットが続く直列ビッ
トパケットの連続として伝送する装置間の通信に適用し
うる。とくに、各連続の最初の一つまたはいくつかのバ
イトがヘッダ部分である直列ビットパケットの連続とし
てデータの連続したバイトを伝送する二つ以上の装置の
間に適用することができる。そのような通信方式は同時
出願の第         号(ページ・ホワイトおよ
びファーラー Ref64199)に記載され、その内
容をここに参照する。
全パケットのうけ入れ前のヘッダ部分の読みおよび引き
続くスイッチを通るメツセージ部分の伝送は“ウオーム
ホールルーチングゝと称せられる。
それは好ましい実施例においてバッファ空間がヘッダ部
分に対してだけ必要で、完全なパケットに対しては必要
でない公知のルーチング技術以上にかなりの利点を有す
る。それはまたメツセージ部分がメツセージバッファに
入りついでそこから出るよりもむしろ直接スイッチを通
過しうるため要する時間が少ない。このことは複数のル
ーチングスイツチを有するネットワークに対してパケッ
トはネットワークのいくつかのルーチングスイツチを同
時に通過し、パケットのヘッダ部分は全パケットがソー
スノードによって伝送される前に宛先ノードをうけ入れ
られる。
宛先ノード識別の範囲に対する出力の選択は“間隔ラベ
リングと称せられる。それはヘッダ読取り回路が、たと
えばスイッチ出力の数に等しいレジスタの数を有する、
迅速かつ多くのチップスペースを要しない。小さい索引
表を含むきわめて簡単な形式を採用することができる。
必要なことはヘッダ部分によって識別される宛先ノード
が入る範囲を決定することである。ヘッダ読取り回路を
小さくすることができるため、ルーチングスイツチに対
するいくつかの入力のため各入力とまたは少数の入力の
グループに対して関連する読み取り回路が設けられるよ
うにそれを数回チップ上で複製することができる。この
ことはルーチング機能を各入力または入力のグループに
対して実施しうるため、そうでなければ、メツセージパ
ケットがいくつかの入力に同時に到達する場合、ルーチ
ング装置の効率を低下する隘路を除去する。
“間隔ラベリング計画は理論的に存在するけれども、間
隔ラベリング計画がネットワークを通る任意のメッセー
ジルーチングを許しもせずまた接続された一連のネット
ワークを通って杓゛効に伝送することも許さないという
課題が存在する。ルーチングは、各ネットワークに特別
の、ヘッダ部分およびヘッダ読取り回路に使用される間
隔選択アルゴリズムによって予め決定される。
これらの課題は出力回路を通って出る直前にパケットの
ヘッダ部分を削除するように設定しうるルーチングスイ
ツチヘッダ削除回路を各出力と関連して設けることによ
る本発明の好ましい実施例によって解決された。このよ
うにして、二つのヘッダ部分を備えたメツセージパケッ
トが連続したルーチングスイツチを有するコンピュータ
ネットワークを通って処理されるならば、第1のヘッダ
部分はパケットがまずルーチング装置をヘッダ削除回路
がヘッダ部分を削除するように設定された出力からでる
とき消耗する。そこで第2ヘッダ部分がメツセージパケ
ットのヘッダ部分となる。これはルーチングスイツおよ
び処理装置のネットワーク接続が互いに形成され、ネッ
トワーク構造にかなりの融通性を与える。ヘッダ部分を
短くしうろこと、ヘッダ部分に対する伝送時間を最少に
しうろことおよび間隔選択アルゴリズムを、構成しうる
ネットワークのサイズを制限することなく、迅速に作動
することを意味している。
大型ネットワークを通ってメツセージをルーチングする
ことに関する他の公知の課題は“ホットスポット°すな
わち少数の硬線接続がデータ通信量によりオーバーワー
クとなることである。これはルーチングスイツチの各入
力に関連して、ネットワークのルーチングスイツチを指
定するヘッダの一定の設定とはランダムに選択されたヘ
ッダ部分に入力に到達する各パケットを追加するように
設定しうる、ランダムヘッダ発生装置を設けることによ
って回避またはいちじるしく緩和することができる。ラ
ンダムに発生されたヘッダ部分はヘッダ読取り回路によ
って読取られパケットをネットワークの指定されたルー
チングするのに使用される。
もちろん、ランダムに発生されたヘッダ部分によって識
別されたルーチングスイツチにおいて、ランダムに発生
されたヘッダ部分はディスカードされてパケットの正確
な宛先ノード識別アドレスを現す。理論的にネットワー
クを通るメツセージのランダム方向はそうでなければオ
ーバーワークになる装置間の硬線接続を緩和する。
好ましくは、ルーチングスイツチのスイッチ回路は、複
数の入力に同時に到達するパケットが共通の出力を必要
とするとき、各出力の使用を制御するアービトレーショ
ン回路を有する。
ルーチングスイツチはメツセージをソースノードにおけ
る第1コンピユータ装置と、ソースノードによる各パケ
ット出力はパケットがうけ入れられるとき宛先ノードに
よって承認される。宛先ノードにおける第2コンピユー
タ装置との間にメツセージをルーチングするのにとくに
有用である。
このためコンピュータ装置のパケット発生回路はデータ
パケットのうけ入れの際承認パケットを発生することが
できる。この点に関して同時出願の第       号
(ページ・ホワイトおよびファーラー Ref:641
99)を参照する。前記出願には本発明はとくに適用し
うるコンピュータネットワークを形成するコンピュータ
装置が記載されている。データパケットおよび承認パケ
ットは、プロセッサによって実施される処理と遠隔のコ
ンピュータ装置との間の通信の同期化された処理の基礎
をなす。
通信を処理する同期化された処理は、通信処理がメツセ
ージ伝送が実施されるとき、対応するプログラム段階に
あることを意味する。
ルーチング計画に対して従来化じた他の課題は、コンピ
ュータネットワークにおけるデッドロックの課題および
ルーチング計画が妥当であることすなわちすべてのメツ
セージがその宛先ノードにルーチングされ無限に循環し
ないことを確かめることである。本発明者等は、下記の
明細書の記載において一層詳細に説明される、これらの
課題を解決する、間隔ラベリングアルゴリズムを考案し
た。
本発明の別の特徴によれば、ビットパケットの伝送のた
めデータをエンコーディングする方法が提供され、その
方法において各パケットは1と0の同じ数を有し、前記
パケットは一定のビット長のもので1と0の同数の置換
の一定の組を形成し、前記一定の組の第1のサブの組は
データパケットとして選択され、第2の前記一定の組の
別のサブの組は制御パケットとして使用するため選択さ
れる。
本発明はまたメッセージルーチングにおけるプツトロッ
クを回避する方法を提供し、その方法は各装置の出力を
二つのサブの組に分割し、ランダムに発生されたヘッダ
を備えたメツセージパケットはつねに第1組に属する出
力を出力し、ランダム、に発生されたヘッダが削除され
たメツセージパケットはつねに第2組に属する出力を出
力する。
本発明はまたメツセージパケットコーディング計画を提
供し、その方法は6ビット長のビットパケットを形成す
ることを含み、各パケットは三つの1と三つの0とを6
し、その16の組み合わせはデータの4ビットの異なっ
た値をとり、一つの組み合わせはメツセージ終了を現す
のに使用され、一つの組み合わせはデータコードの流れ
および反対方向へのパケットコードの終了を制御するの
に使用される。
〔実施例〕 第1図は本発明の好ましい実施例によるルーチングスイ
ツチの基本的構造的特徴を示している。
第1図において、太い矢印はデータ経路を示し一方細い
矢印は命令経路を示す。ルーチングスイツチはクロスバ
−スイッチ10の形式のスイッチ回路を有し複数のメツ
セージ入力12a・・12nのうちのいずれか一つを複
数のメツセージ出力14a・・14nのいずれか一つに
接続することができる。好ましい実施例において32の
入力と32の出力が対になって32のメツセージリンク
を形成している。クロスバ−スイッチは出力リンクアー
ビトレーション回路32を有し、一つ以上の入力が互い
に一時に各出力に接続されるのを防止している。簡単の
ため二つだけのリンクがリンクの要素を囲む破線によっ
て示され、符号La。
Lnを付されている。下記の記載はリンクLaに関する
ものであるが、他のすべてのリンクも下記に論ぜられる
それらの要素のあるものの可能なシェアリングを同様に
うけることができる。
リンクLaはリンクモジュール18として示された通信
装置を有し、該装置はルーチングスイツチを他の同様の
ルーチングスイツチに接続するかまたはルーチングスイ
ツチとの間にメツセージパケットを授受する他の装置に
接続するように設けられている。この接続は一方向チャ
ネル4a、6aの二方向対によって達成される。各メツ
セージパケットは直列データフォーマットであり、パケ
ットの宛先ノードを1別するヘッダを有する。
コンピュータネットワークの宛先またはソースノードは
、一般的にただし必ずという訳ではないが実行処理可能
なコンピュータ装置である。
直列データフォーマット リンクモジュールにとくに適した直列データフォーマッ
トはクロック対データエンコーディングである。各6ビ
ット期間中三つの0ビットおよび三つの1ビットを送る
ことにより、DCバランスが保持され、クロック信号は
位相ロックループを使用して抽出することができる。こ
の技術は6−から3コーデイングと称せられる。ここに
は20の異なった6−から−3コードが存在する。デー
タのバイトを有効に伝送するため16のこれらのれコー
ドはニップル(4ビット)の異なった可能な値を現すよ
うに割当てられる。しかしてバイトは二つのコードによ
って送ることができる。伝送が連続しなければならない
とき(たとえば位相ロックループ方式)、いかなる他の
コードも伝送しえないとき伝送されるli−〇〇コード
をもつ必要がある。
メツセージパケットが直接ソース装置から宛先装置へ送
られるならば、それはパケット内に現れるパケットの長
さに対して必要でなく、ソース装置および宛先装置が長
さで確実に一致することが必要である。しかしながら、
パケットがルーチングスイツチを通過する場合、これら
のルーチングスイツチに対して通過するパケットの長さ
を、(−時的に接続される)スイッチ回路10を通る経
路がパケットの終わりが出力されるとき遮断しうるよう
に、決定することが可能でなければならない。各パケッ
トが同じ長さでなければ、これはプロトコルがパケット
の長さを終了マークまたは最初の長さのカウントによっ
てパケットの長さを指示することが必要である。最初の
長さのカウントの導入は、ルーチングスイツチを通るパ
ケットの遅れを増加し、またパケットを通ってカウント
するロジックを必要とする。したがって−層良い技術は
パケット終了マークとして制御トーケンを保持すること
である。
したがって、6−から−3コ一ド方式用の完全なプロト
コルは下記の表に示されている。完全に任意なトーケン
に対するビットパターンはここでは図示されない。
6−から−3コ一デイング計画は、パケット終了および
流れ制御トーケン(下記参照)が適合するとすると、使
用しうる多くのものの中の一つに過ぎない。とくに、バ
イトの流れを有効に伝送しうるとすれば、エンコーディ
ングされたデータ値と同じフォーマットまたは長さをも
つ制御コードのもしくはデータが一連の4ビット値とし
て伝送される必要性が存在しないことを認歳すべきであ
る。
リンクモジュールは入力データ経路36および出力命令
経路34によってヘッダバッファ20に接続される。リ
ンクモジュールはまた出力データ経路40および入力命
令経路38によってヘッダストリッパ28に接続されて
いる。ヘッダバッファ20は間隔セレクタ22の形式の
ヘッダ読出し回路にディスカードおよび選択経路21.
61を通して接続し、またヘッダ接続23を通して間隔
セレクタ22に永久的に接続することができる。
間隔セレクタ22は入力パケットのヘッダ部分を読出し
、そこからスイッチ回路10の出力を決定し、それに対
してメツセージが指向され、スイッチ回路10を設定す
る。このため命令アドレス経路26は間隔セレクタ22
がスイッチ回路10と連通ずることができるようにして
いる。スイッチ回路は命令を経路1つを通してヘッダバ
ッファに伝送することができる。ヘッダバッファ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において被呼fat。
inを信号する。出力バッファが通路41においてfC
t、5een信号を受信するときはいつも、流れ制御バ
ッチのサイズによって、(そのクレジットを)伝送され
るコード数のカウントを増加する(インクルメント)。
入力バッファ44は別の装置の接続されたリンクモジュ
ールのクレジットが排出される前にうけ入れられるコー
ド数のカウントを維持する。このカウントは、二つのリ
ンクモジュール間を通過中のコードによって生じた差か
ら離れて、ルーチングスイツチに接続された別の装置の
リンクモジュールに接続された出力バッファにおける対
応するクレジットと同じとすべきである。
入力バッファ44は第1 L ns ml Ou tバ
ッファ(FIFO)を有し、それらは少くとも流れ制御
バッチに含まれるのと同じだけのコードを緩衝すること
ができる。ゼロコード以外のコードおよび流れ制御トー
ケンはバッファに蓄積され、カウントは多数のコードの
中からバッファに維持される。信号が経路34において
被呼 request、inにうけ入れられるとき、入力バッ
ファ 44はFIFOから第1要素を除去し、それを経
路36において被呼データoutに送り、FIFOにコ
ードがない限りFIFOに蓄積されたコード数のカウン
トを減らす。その場合それかうけるゼロ以外の第1コー
ドおよび流れ制御トーケンを、直接経路にデータout
する。
入力バッファ44のコード数と電流流れ制御バッチ前方
にうけ入れられるコード数の和が排出されるときはいつ
も、(デビット)はバッファのサイズと流れ制御バッチ
のサイズとの差より小さく、入力バッファ44は経路4
3において被呼f c t。
reques tを上の出力バッファ42に信号する。
出力バッファはついで流れ制御トーケンを第1の機会に
送る。
もし入力バッファFIFOのサイズが正確に流れ制御バ
ッチのサイズに等しければ、入力バッファは入力バッフ
ァFIFOが完全に空で現在の流れ制御バッチが完全に
排出されているときだけ流れ制御トーケンを出力バッフ
ァに送るように信号することが分かるであろう。このた
め、データの流れが停止しないように、入力バッファF
IFOを流れ制御バッチのサイズよりいくぶん大きくす
ることは有利である。
下記は入力および出力バッファのOCCA M2言語の
記載による。これらの記載において、コードはバイトで
示され、信号はプール値のみを使用するチャネルによっ
て現される。OCCAM言語はOCCAM22&準マニ
ュアルに記載され、ここに参照する。
OCCAM2において、リンクモジュール18は入力お
よび出力バッファ44.42の平行構成によって現され
る。モジュールに出入りする経路は広い範囲に画定され
るものとする。リンクモジュールは下記のように現され
る。
CHAN  OF  BOOL  fct、5een。
5end、fCt、fct、5ent:AR 出力バッファ(クロック、in、データ。
out、  データ、in、request。
out、  fct、 5een、  5end。
fct、  fctsent) 入力バッファ(コード、in、データ。
out、request、in、fct。
5een、5end、fct、fct。
5ent) 入力バッファは付録1およびIAのOCCAM頁に記載
されている。FIFOはここでは入力容量、バッファ、
サイズを備え、(第1および最後の)二つの指針が設け
られた環状バッファとして実施される。
これは入力バッファ自体のランダム・アクセス。
メモリの小片の使用に対応する。他の技術もリンクモジ
ュールの流れ制御機構に影響することなくFIFOを実
施するため使用することができる。
入力バッファのサイズは少くとも流れ制御バッチのサイ
ズと同じ大きさでなければならない。もし流れ制御バッ
チのサイズを16とすると、入力バッファサイズは少く
とも16とすべきであり、データの流れを円滑にするた
めそれはいくぶん人さく、たとえば20とすべきである
出力バッファはまたデータの流れを円滑にするため短F
IFOを有する。流れ制御機構によって与えられるこの
FIFOOサイズには制限はない。
出力バッファは、コードを緩衝する空間を有するときは
いつでも、経路38においてrequest、outを
信号することにより送るためデータを要求する。その後
いつか経路40においてデータinを伝送するためコー
ドをうけ入れる。
出力バッファは、なお現在の流れ制御バッチが排出され
る前に伝送されるべき、コード数のカウントを維持する
。ゼロコードおよび流れ制御トーケン以外のコードを伝
送するときはいつも。このカウントを1だけ減少する。
出力バッファは付録2のOCCAMの頁に示されている
。それはたとえば3とすることができる容量出力、バッ
ファ、サイズを有するFIFOを備える。このOCCA
Mの頁(付録2)は、コードが底部から除去されるとき
はいつも内容が連続的に動かされる直線的配列として、
別のPIFOの例を示している。同様の手段を入力バッ
ファに対して使用できること、または入力バッファに使
用された環状バッファ手段を出力バッファに使用するこ
とができることが分かる。
同じ程度の流れ制御が別の方式においても得られ、前記
方式は、出力および入力バッファをここに示すようにゼ
ロに初期化する代わりに、出力バッファはその流れ制御
バッチのサイズに対するクレジットを初期化しかつ入力
バッファはその“顕著なトーケン”を同じ値に初期化す
る。その場合、流れ制御トーケンは、上記のように前記
の代わりに、第1の流れ制御バッチが伝送された後にだ
け送られる。
ヘッダバッファ 各リンクLa・争・Lnのへラダバッファ20は第3図
に示されている。ヘッダバッファは全体的に51で示さ
れた制御ロジックによって制御される。一つのトーケン
を白゛シ、少量のデータニップルまたはパケット終了ト
ーケンとすることができるトーケンバツファ50が設け
られる。このトーケンバツファ50は経路36に沿って
うけ入れるときGot、EOPと符号を付した導線にパ
ケット終了トーケンである信号を発生し、池のトーケン
をうけ入れるときはいつも、導線にGOtトーケンbと
符号を付した信号を発生する。それは制御ロジック51
から信号を5end、tにうけ入れるとき内容をスイッ
チ52に伝送する。スイッチは制御ロジック51によっ
て、信号Set。
slが強いときスイッチ52がその入力をマルチプレク
サ54に入力するように制御される。信号Set、sl
か弱いときスイッチ52はその入力を出力マルチプレク
サ56に伝送する。マルチプレクサ54.56は制御ロ
ジック51からの信号Set、m2およびSet、ml
によって制御される。ヘッダバッファ20は2バイトヘ
ツタ(4トーケン)用に十分な容量を備えた第1in−
第1ou tバッファ(FIFO)58をも有する。
それは第3図には示されないヘッダ接続23によって間
隔セレクタ22に永久的に接続されている。
信号Set、mlが強いとき、マルチプレクサ56はF
IFOの出力をデータOutチャネル12aに伝送する
。信号Set、mlが弱いとき出力マルチプレクサ56
はスイッチ52の出力を経路12aのデータでかに伝送
する。信号Set。
m2が強いとき、マルチプレクサ54は経路27にうけ
入れられたランダムヘッダ・ゼネレータ24(第1図)
の出力信号をFIFOに伝送する。
信号Set、m2が弱いときマルチプレクサ54はスイ
ッチ52の出力をFIFOに伝送する。
P I F05gがトーケンをうけるときはいつも、そ
れがトーケンによって充満していない限りGot)−ケ
ンfを通路に信号する。それが経路上の信号5end、
hをうけるときはいつもトーケンを出力する。それが空
になると経路にEmp t yを(信号する。経路上の
入力Re5etをうけるとき、それはそのすべての内容
をディスカードするが、経路にEmp t yを信号し
ない。
FIFOの有効サイズは、パケットヘッダ長フラグであ
る、関連したフラグ60によって制御される。フラグが
設定されなければ、パケットヘッダは長さ2バイトであ
り、FIFOはその内容が4トーケンを含むときだけ経
路にFullを信号する。このフラグが設定されなけれ
ば、パケットヘッダは1バイト長でありFIFOは経路
にそれが2トーケンを含むときだけFullを信号する
この場合、FIFOの上方の二つのトーケンはゼロにさ
れる。パケットヘッダ長フラグ60はすべてのリンク 
LaないしLnとは別に設定され、それらは出力がすべ
てのリンクにファンアウトされる単一のラッチが設けら
れることが分かる。またリンク用のランダム化フラグで
ある制御ロジック51に関連したフラグ62が設けられ
る。このフラグが設定されると、ランダムヘッダはリン
クを通って到達する各パケット用のランダムヘッダゼネ
レータ24から得られる。このフラグを各リンクに対し
て別々に設定しうるため、各リンクに別々のラッチが設
けられる。
ヘッダバッファ20の作用はリンクLaのこのランダム
化フラグの設計に依存する。
もしフラグ62が設定されると、ヘツダバツフア20は
ランダムヘッダゼネレータ24に信号し、戻されたラン
ダムヘッダに蓄積する。リンクモジュール18からなに
かのデータが到達すると、それは経路61において被呼
5elsetに接続された間隔セレクタ22に信号する
フラグ62が設定されなければ、ヘッダバッファは到達
する第1データによって充満され、ヘッダを有するとき
(パケットヘッダ長に従って、1または2バイト)、接
続された間隔セレクタ22に信号する。
セレクタ22がバッファ20にヘッダがディスカードさ
れることを信号すると、これはFIFOを再設定するこ
とによって実施され、ヘッダバッファはデータ流れから
再充満され、それがヘッダを有するとき(パケットヘッ
ダ長の設定に従って、1または2バイト)、接続された
間隔セレクタに信号する。ヘッダバッファはクロスバ−
スイッチ10からうけた要求に応じてその内容を伝送す
る。
もしリンクのランダム化フラグが設定されると、ヘッダ
バッファはそれ自体ランダムヘッダ発生装置から再充填
され、さもなければ、データ流から再充填され、流れ制
御トーケンを通過した後、サイクルを繰り返す。
制御ロジックの機械の状態は表Iに示される。
間隔(Interval)セレクタ 間隔セレクタ22の作用を第4図に基づいて説明する。
間隔セレクタは間隔選択アルゴリズムによる各パケット
のルーチング決定を実施する。ヘッダバッファ20にお
けるPIF05gの内容は33ベースの“ラダー“およ
びその中の四つが図面の右側に示された、リミットコン
パレータ66a・・・66nに連続的に現される。33
個のコンパレータが設けられ、32のリンクが実施例に
図示されている。各コンパレータは、ベースがゼロに固
定された最下端のコンパレータ66aを除いて、一対の
レジスタ68a・・・68nに接続されている。各レジ
スタ68 i −Iはコンパレータ68iの一つのベー
スおよび、最上のコンパレータ66nのリミットのみに
接続された頂部レジスタ68iを除いて、他の68 i
 −1のりミツトに接続されている。通常の使用におい
て、レジスタは16ビット値の非減少設定にプログラム
され、  “ラダー”の頂部はゼロではない。各コンパ
レータの出力はそれぞれ5ビットレジスタ70a・・7
0nに接続され、その内容は、パケットヘッダがベース
より大きいかまたは等しくかつ関連するコンパレータに
接続されたリミットより小さいならば、アドレスゲート
72に送られる。
第4図の下部には単一値“ポータル゛コンパレータ74
が示され、その出力はへラダバッファ20から”セレク
ト”信号をうけるセレクトゲート73によって開閉され
る。セレクタ信号かへラダバッファによって送られると
き、ヘッダバッファPIF058の内容は、ヘッダ経路
23によってコンパレータ74に接続された、パケット
ヘッダである。もしパケットヘッダがコンパレータ74
に接続された16ビットレジスタ76の内容と同じでな
ければ、−No”信号がセレクトゲート74に送られ、
ベースおよびリミットコンパレータ66a・・・66n
の“ラダー”から発生されたアドレスが経路26に沿っ
てクロスバ−スイッチに送られることができるようにす
る。パケットヘッダがコンパレータ74に接続された1
6ビットレジスタ76の内容と同じであるならば、’Y
ES”信号かへラダバッファ20に送られ、ヘッダは経
路21を介してそれをディスカードされることを伝える
。この場合、コンパレータのラダーにおける出力はクロ
スバ−スイッチ10に送られない。
ランダムヘッダゼネレータ ランダムヘッダゼネレータ第5図に基づいて説明する。
第5図上端のランダム数ゼネレータ80は、フィードバ
ックを備えた桁送りレジスタまたはある他の方法を使用
する16ビット類似ランダム数を発生する。剰余ユニッ
ト82から信号をうける。剰余ユニット82から信号を
うけるとき、そのような数を発生する。剰余ユニット8
2は関連する16ビットレジスタ83に保持された値に
よりこの数の剰余を計算する。剰余ユニット82がトー
ケナイザユニット86から信号をうけるとき、計算され
たをこの16ビットに送りランダム数発生装置80から
他の類似ランダム数を要求する。トーケナイザは16ビ
ット剰余を、それが経路25に沿って要求をうけるまで
蓄積する。ついで重要性のもつとも少ない剰余の4ビッ
トに伝送し、四つの位置によって残りのビットをシフト
ダウンする。この作用を、それがヘッダの長さに対応す
る(第3図に示された関連するフラグ60の設定に従っ
て2または4である)ニップル数を送るまで、繰り返し
、ついでそのサイクルを再始動する。発生されたランダ
ムヘッダの範囲は付加的16ビットレジスタおよび加算
機構に加え結果がトーケナイザに達する前にその内容を
剰余ユニットの出力に加えることにより完全に一般的に
することができる。
ヘッダストリッパ 第6図に基づいてヘッダストリッパの作用を説明する。
実際、ヘッダバッファ20(第3図)のトーケンバツフ
ァ50と同じ、+11−のトーケンバツファ80が設け
られているのが分かる。トーケンバツファ85はGot
、EOPで示された導線にパケット終了トーケンである
データinを経路14aに沿ってうけ入れられたとき制
御ロジック84に信号を入れ、また他のトーケンをうけ
入れるときはいつもGot、  トーケンbで示された
導線において制御ロジック84に信号を入れる。それは
制御ロジック84から5end、tの信号をうけるとき
内容をデータOut通路40において内容を伝送する。
クロスバ−スイッチ クロスバ−スイッチ10は32X32列のスイッチ要素
88である。第7図は、データの流れを示す太い矢印に
よって20個のスイッチ要素を示す、クロスバ−スイッ
チ10の一部を示している。
データの要求は反対方向に流れ、第7図には示されてい
ない。最初すべてのスイッチ要素は“オフ”すなわち第
7図の状態Aである。入力iが出力jに接続されるとス
イッチ要$88 (t、j)は“オン”に切替えられ、
データは入力から第7図に示された状態Bのように、選
択された出力に流れる。
第8図は、二つのスイッチ要素YおよびZが“オン”に
設定され他のすべてが“オフ“である、クロスバ−スイ
ッチ10の4×5の部分におけるデータの流れを示して
いる。この構造において、入力12bin2は出力14
out3に接続され、また入力12cin3は出力14
bou t 3に接続されることに注意されたい。“オ
フ”状態にあるスイッチ要素U88 (2,2)はこれ
らの接続の双方に対してデータを通過させることに注意
されたい。また、“オン”状態のスイッチY88(3,
2)および288 (2,3)はスイッチV88(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および下l己1こd己載され
るアービタサーバ(ARB)94である。
スイッチ要素間のおよび各スイッチ要素のアーとタサー
バ間の通信がすべて同期していること、すなわちそれぞ
れに暗黙の初期接続手順が存在することに注意されたい
。これらのアービタサーバは第1図に参照符号32によ
って線図的に示されたアービトレーション回路を形成し
ている。
スイッチ90は内部経路を通して被呼セットに設定され
る。その“オフ1状態(第7図、A)において、データ
および要求信号はスイッチ90を分流しないで通過する
。すなわち、 data、in (is j)はdata。
in (L  j+1)に接続される。
request、 in (L j)はreque  
st、in (iSj+1)に接続される。
data、out (i、j)はdata。
out  (i+1、j)に接続される。
request、 out (i、 j)はreque
st、out  (i+1、j)に接続される。
°セット°信号をうけると、スイッチは“オン“(第7
図、B)に設定され入力iからのデータは出力jに分類
され、出力jからの要求は入力iに分割される。すなわ
ち、 data、in (is j)はdata、1n(11
1、j)に接続される。
request、 in (iSj)はrequest
、out  (i+1、j)に接続される。
スイッチは設定の信号によって再設定される。
ステートマージンの佐用は表■に示されている。
コンパレータ92はスイッチ90が設定または再設定さ
れるとき決定する。スイッチ90を設定するため、アド
レスが経路26に沿って間隔セレクタ22からうけられ
(第1図)、これがスイッチ要素の出力インデックスj
に対応するならば、コンパレータ92はアービタサーバ
94に要求に沿って信号を入れる。間隔セレクタ22の
アドレス出力ADDRは入力列iの全スイッチ要素に接
続されるが、出力インデックスjが列の各スイッチ要素
に対し異なっているため唯一つのコンパレータが対応す
る。チャネルの信号reqがアービタサーバ94にうけ
入れられるとき、これは入力iが出力jを使用するよう
に選択され(すなわち入力iは“特権”を有する)、コ
ンパレータが内部経路に沿って信号を入れスイッチ90
を設定することを示している。データに対する要求は出
力から入力に伝送され、入力から出力へスイッチ90を
通るデータはパケット終了トーケンが、バゲットが通過
した“完成した0通路29に沿って通信する、ヘッダス
トリッパ28によってうけ入れられるまで、コーディン
グする。スイッチは再設定され、特権はそれぞれ設定お
よび要求に沿って信号を入れるコンパレータによって放
棄される。
コンパレータのステートマシーンの説明は表■に示され
ている。
一定の出力jに対して、要素88 (iSj)のアービ
タサーバ94はその出力をサービスする環状アービタサ
ーバを形成している。そこでいつでも唯一つの入力がそ
の出力に確実に接続される。
アービタサーバ94iは第11図に示されたように、リ
ングにチャネルLおよびRを通して接続される。いつで
もサーバ94の一つが“特権°を保持し、すなわちそれ
のスイッチ90に対する出力の使用を容認することがで
きる。コンパレータは通路reqに沿う出力の使用を要
求し、また前記を候補にする。要求がうけ入れられるな
らば、スイッチ90は出力および通信を完成したときに
同じ経路に沿ってふたたび通信する。特権のないサーバ
94は要求をそのコンパレータからまたはその左側チャ
ネルからRに沿ってリングに伝送する。
要求が特権付きのアービタサーバに到達するとき、特権
付きになる要求を提出するアービタサーバに到達するま
で、左に反射される。候補のサーバはそれがそのコンパ
レータにサーブされるまで時計方向循環要求を無視する
。この要求を時計方向に通し、特権を反時計方向に反射
するこの方策の実施は、実際メツセージを反射する必要
がないことを意味し、reqチャネルに沿う通信の完成
はそのスイッチに対する出力の使用を認めるように解釈
される。
アービタサーバのステートマシーンの説明は表Vに示さ
れている。
下記の例を考察する。第11図において、アービタサー
バ94 i +2が特権を有し、アービタサーバ94i
+1が特権を有せずかつ候補でもないとすると、アービ
タサーバ94iは正に候補になる。各サーバのしおよび
Rチャネルに何が起こったか考える。
アービタサーバ941: ベンディングされた要求re
qに存在するが、このアービタサーバは依然としてそれ
がRに出力しうるまでノットブリブ状態(notpri
ve)にある。この通信はアービタサーバ94i+1が
そのLチャネルに入力する時だけ完成しうる。
アービタサーバ94i+1:  上記のRの出力は効果
においてアービタサーバ94L+1のしチャネルにおけ
る通信はベンディングされる。チャネルLに通信するた
めまずチャネルRに出力しなければならない。
アービタサーバ94i+2:  これは出力を使用しそ
の入力しへの通信はベンディングされる。
通信を完成するため、まずreqに沿うその第2の通信
をうけ入れ(すなわちこのスイッチ要素は出力を使用し
て完成された)その状態をブリブ(p r i v)に
変化しなければならない。−旦この状態になると、Lに
沿う通信を完成することができる。
完成されたこの通信はアービタサーバ941+1がRに
沿うその通信を完成することができアービタサーバ94
iはこのサーバに特権を通すjeqにおいてその通信を
完成することができる。
フラグの初期化 下記のパラメータはルーチングスイツチが作用しうる前
に供給されなければならない:すなわちパケットヘッダ
長(1または2バイト)間隔セレクタ22のコンパレー
タ設定、および各宛先ノード特定範囲の関連する出力リ
ンク数 間隔セレクタ22のポータルコンパレータ値各リンクに
対して:  “入力におけるランダム化”および4出力
におけるストリップヘッダフラグが設定されなければな
らない。
ランダムヘッダの範囲(“入力のランダム化。
フラグが設定されるならば)。
これらはルーチングスイツチにより入力され、適当なラ
ッチおよびレジスタに負荷されなければならない。これ
は種々の方法、たとえば、予め画定された指令コードを
とくに設けられた専用リンクに送ることにより実施する
ことができ、リンクはすべてのラッチおよびレジスタに
対してチャネルを有する。すべての間隔セレクタおよび
ランダムヘッダゼネレータは同一にプログラムされなけ
ればならない。この初期化は第1図に、初期化ロジック
30によって線図的に示されている。
装置はリンク当たりの、一つの間隔セレクタおよび一つ
のランダムヘッダ発生装置に関して記載された。これら
ユニットの双方はリンクによるパケット入力の1回また
は2回だけ使用され、理論的に母線によって接続された
いくつかのリンクの間で、いずれかのソースに対する同
時の多数の要求を解決するアービトレーション計画を使
用して、分割される。たとえばクロスバ−スイッチ10
1;使用されるアービトレーション法は、間隔セレクタ
またはランダムヘッダ発生装置をいくつかのリンクの間
で分割して使用することができる。
コンピュータネットワークにおけるメツセージの有効な
ルーチングを達成するルーチングスイツチの作用を記載
する。第13図は複数のルーチングスイツチR8を使用
してメツセージをソースノードと円Nによって第13図
に示された宛先ノードとの間にルーチングするネットワ
ークの例を示す。ルーチングスイツチはそれらのリンク
Lによって接続され、各リンクは第1図に符号4.6に
よって示された一方向チャネルの二方向の硬線対を有す
る。ネットワークのソースと宛先ノードNはいかなる型
のコンピュータ装置とすることもできるが、ここに記載
するルーチングスイツチはとくに英国特許第11139
9号および本出願人の同時継続中の英国特許出願節  
      号(ページ・ホワイト争アンドーフエラー
、Ref64199)に記載されたマイクロコンピュー
タを有するネットワークにとくに適用しうるちのである
。宛先とソースノートNとの接続は第13図において端
子リンクと称せられる。第13図において、実際上記実
施例では323であるが、各ルーチングスイツチは四つ
のメツセージリンクを備えている。
ウオームホール(worrAhOle)ルーチング第1
図のルーチングスイツチはメツセージパケットをその入
力からその出力にパケットヘッダの値に従ってダイナミ
ックに切替えられる。
もつとも多くの公知のパケット切替えネットワークにお
いて、各中間ルーチングスイツチはパケットを入力し、
ヘッダをデコードし、ついでパケットをつぎのルーチン
グスイツチに前進させる。
これは蓄積交換ルーチングと称せられる。これは、各ル
ーチングスイツチに伝送されたパケットを蓄積する必要
がありまたパケットの出力とそのうけ入れとの間にポテ
ンシャル的に長い遅れが生ずるため望ましくない。
一層有効なアプローチがウオームホールルーチングであ
り、ルーチング決定はパケットのヘッダがルーチングス
イツチによって入力されると直ちに実施される。選択さ
れた出力チャネル6a・・6nが自由になると、ヘッダ
はそこから出力され、パケットの残りは入力からルーチ
ングスイツチに蓄積されることなく直接出力に送られる
。このことはパケットのデータがいくつかのルーチング
スイツチを同時に通過し、パケットのヘッダは、パケッ
ト全部がソースノードNsによって伝送される前に、宛
先ノードNDによってうけ入れられることを意味してい
る。しかしてこの方法はダイナミックな回路切替え形式
と考えられ、パケットのヘッダはネットワークを通過す
るときデータが通る一時的回路(ウオームホール)を作
り出す。パケットの終わりが引出されるとき、回路は消
失する。
この方法は蓄積交換ルーチングにおける課題を解決する
が、ルーチングスイツチが(所要の出力チャネル14が
塞がっているため)パケットを直ちに送ることができな
ければパケットが現在通過しているすべてのメツセージ
リンクはそれが進行しうるまで(その方向に)占有され
る。停止されたウオームによって“占有されている”メ
ツセージリンクの数はパケットサイズ対リンクのそれぞ
れ接続された対のバッファの比である。
パケットの送信側と受信側に関する限り、ウオームホー
ルルーチングは不可視である。その唯一つの効果はメツ
セージ伝送の待ち時間を長短にすることである。一つ以
上の中間ルーチングスイツチがパケットを蓄積交換され
るならば、それはなお正確に伝送される。したがって、
本発明のルーチングスイツチきは別の型のルーチング装
置を有するネットワークにも接続することができる。
第1図において、チャネルデータ1n4aのリンクLa
に到達するメツセージパケットのヘッダは、リンクモジ
ュール18によってヘッダバッファ20に伝達される。
ランダムヘッダゼネレータ24によって発生されたその
または一つのヘッダは、ヘッダに従ってクロスバ−スイ
ッチ10にアドレスする間隔セレクタ22に送られる。
スイッチ回路10はリンクモジュールLaの入力12a
を適当な出力141に接続し、入ってくるメツセージを
ルーチングスイツチに通す。
デッドロック 通信ネットワークの重要な特性は“プツトロック”して
はならないことである。実際、デッドロックはネットワ
ークのルーチングスイツチがそれを防止するように設計
されるルーチングアルゴリズムに従って作動しなければ
、大部分のネットワークに起こる。たとえば、第12図
に示された4の二乗のルーチングスイツチを考える。伝
送されるメツセージは矢印M1〜M4で示されている。
各ルーチングスイツチはメツセージを反対側コーナーに
同時に送ろうと試み、またルーチングアルゴリズムはメ
ツセージを時計方向にルーチングするものと仮定する。
各リンクは“使用中°となりメツセージを隣のルーチン
グスイツチに送り、メツセージを宛先に送りえないため
、ネットワークはプツトロック状態となる。
プツトロックはネットワークトポロジーおよび使用され
るルーチングアルゴリズムの特性であり、そこでパケッ
トが伝送される前にルーチングスイツチにおいてバッフ
ァされうるにしてもプツトロックが起こりうる。上記の
例において、各コーナーにおける単一パケットバッファ
は(最初の四つが処理される前には新しいメツセージが
人ってこないとすると)デッドロックを除去するのに十
分である。しかしながら一般的に、プツトロックを除去
するのに必要なパケットバッファの数は、ネットワーク
トポロジー、ルーチングアルゴリズムおよび適用業務プ
ログラムに依存する。これは明らかに一般的目的のルー
チング方式の構成の満足しうるベースではない。ウオー
ムホールルーチングは、長いメツセージがいくつかのリ
ンクを占有するネットワークを通して伝送(トレイル)
しうるため、プツトロックの問題を悪化させるものとつ
ねに考えられてきた。
そのような問題はプツトロックのないウオームホールア
ルゴリズムを考案しうるネットワークを選択することに
よって回避することができる。そのようなネットワーク
において、バッファはネットワークを通るデータの流れ
を円滑にしかつ混雑を減少するためにだけ使用する必要
があり、バッファのサイズはこの目的に十分なパケット
の長さより短い。もつとも重要なことは、必要なバッフ
ァリンクはネットワークのサイズまたは通信パターンに
依存するものでないことであり、本発明者等は単一の汎
用ルーチングスイツチを構成することが可能でありその
スイッチは任意のサイズのネットワークに対してまた任
意に複雑な通信パターンに対して使用しうろことを発見
した。間隔セレクタ22に使用する一つの適当なアルゴ
リズムを“間隔ルーチングのタイトルを付して記載する
間隔ルーチング 二方向メツセージリンクによって互いに接続されたルー
チングスイツチR8の集合よりなるネットワークを考え
る。ルーチングスイツチのあるリンクはネットワーク外
部の装置、たとえばトランスピユータのようなマイクロ
コンピュータに接続されている。そのようなリンクは、
第13図の例に示すように、端子リンクと称せられる。
メツセージパケットは端子リンクを通してソースと宛先
ノードとの間でネットワークに出入りする。
ルーチングスイツチ自体パケットを作成、破壊すること
はできない。
間隔ラベルリング計画は各端子リンクに別のラベルを付
与することにより宛先ノードに対する識別を確立する。
簡単のため、n個の端子リンクを備えたネットワークの
ラベルは〔0,1・・・・n−1〕の数とすることがで
きる。ネットワークの各ルーチングスイツチR3におい
て、各出力チャネルは一つ以上の関連する間隔−二の例
では一組の連続したラベル−を有する。出力チャネルに
関連する間隔は重なることがなく、すべてのラベルは正
確に一つの間隔で起こる。上記のように、これらの間隔
は第4図のベースおよびリミットコンパレータ66a・
・linによって間隔セレクタ22において設定される
メツセージパケットがルーチングスイツチに到達すると
、そのヘッダ部分は間隔セレクタ22によって試験され
適合するラベルを有する間隔を決定され、メツセージは
ついでその間隔に関連する出力チャネル14に沿って前
進される。
たとえば、第14図に示された簡単なネットワークを考
える。この図は、四つの端子リン九を有し、その各リン
クがトランスピユータTO1T1T2、T3に接続され
た四つのルーチングスイツチ(RSI、RS2、RS3
、R54)のネットワークを示している。端子リンクに
付された数字はそれらのトランスピユータに示されてい
る。ルーチングスイツチの出力チャネルに関連する間隔
は対応するメツセージのつぎに示されている。各間隔は
対の符号(x、y)として示されている。
対応するリンクは、パケットのヘッダが間隔の第1数よ
り大きいかまたは等しくかつ間隔の第2の数より小さい
ようにかつそのようにだけ選択される。
たとえば、間隔が(1,4)であるならば、ヘッダ1.
2または3を備えたパケットが選択されるが、0.4お
よびそれ以上は選択されない。
図示されないルーチングスイツチの他のリンクは、二つ
の数が同じ(x−y)でありしたがって決して選択され
ないような、間隔と関連すると考えることができる。
第14図のトランスピユータTOが1のヘッダを備えた
パケットを、第14図にRSIとラベルを付された、そ
の接続されたルーチングスイツチに送るとき何が起こる
か考えることにする。ルーチングスイツチR8Iはヘッ
ダをそれぞれの間隔と比較し、ヘッダが間隔〔1,4)
を有することを発見する。しかしてルーチングスイツチ
RS2に接続された出力リンクが選択される。パケット
のヘッダがルーチングスイツチR32によって入力され
るとき、それはその装置のすべての間隔と比較される。
ヘッダは間隔〔1,2)になり、トランスピユータ1に
接続されたリンクが選択される。パケットはトランスピ
ユータにルーチングされる。
トランスピユータT2が0のヘッダを備えたパケットを
、第14図にR53とラベルを付されたその接続された
ルーチングスイツチに送るとき何が起こるか考えること
にする。ルーチングスイツチはヘッダをその各間隔と比
較し、ヘッダが間隔〔0,2)で含まれていることを発
見する。しかして、ルーチングスイツチRS2に接続さ
れた出力リンクが選択される。パケットのヘッダがルー
チングスイツチRS2によって入力されると、それはそ
の装置のすべての間隔と比較される。ヘッダは間隔〔0
,1)となり、ルーチングスイツチR8Iに接続された
リンクが選択される。パケットのヘッダがルーチングス
イツチRSによって入力されると、それはその装置のす
べての間隔と比較される。ヘッダは間隔〔0,1)にな
り、トランスピユータTOに接続されたリンクが選択さ
れる。パケットはトランスピユータTOにルーチングさ
れる。
しかしてこの例においてはルーチングスイツチのネット
ワークにおけるリンクは、パケットがトランスピユータ
TOからトランスピユータT1にそしてトランスピユー
タT2からトランスピユータTOに送るように、間隔を
設けられている。メツセージはこの例において実際トラ
ンスピユータのいかなる対の間にも送ることができる。
しかしながら、そのようなラベリング計画はつねにすべ
てのパケットをそれらの宛先にルーチングするのに成功
することができるかどうか明らかでない。実際、サイク
ルを含む、すなわちパケットが永久に循環するため、ラ
ンダムに選択されたものはほとんど確実にそうはならな
い。すべてのパケットを確実に伝送するラベリング計画
は妥当と称せられる。さてネットワークの妥当なラベリ
ング計画を創成するアロガリズムについて述べる。
ネットワークを間隔ラベリングするアロガリズム 下記の記載において、“ノード°なる語がネットワーク
の接続ノード、すなわちルーチングスイツチを示すのに
使用されることに留意されたい。
それは上記宛先およびソースノードに限定されるもので
はない。
まずネットワークをすべての端子リンクを含む広がった
樹木でカバーする。端子リンクのない葉っばのノードを
除去し、樹木(Tree)のノード間の重複したリンク
を除去する。樹木の一部でないすべてのリンクは上下の
限界をもった同じ間隔が与えられ、それらは決して選択
されない。ここで下記のように広がった樹木にラベリン
グする。すなわち、 Nをネットワークの端子リンクの総称とする。
つねに、iをそのように(iは最初0である)ラベリン
グされた端子リンクの数とする。広がった樹木の根のノ
ードRから始まって、各ノードVに対してiの現在値に
対してj を設定し、ついで■ 連続的に現在のノードVから各端子リンクを間隔(tS
 i+1)にラベリングする(増分はつねにi)。つい
で、樹木の出力リンクをVから取出し、それに間隔(t
qα)を与える。ここにαは下記のように決定される。
接続されたノードに進み、この工程を広がった樹木の葉
のノードに達するまで繰り返し、すべての端子リンクは
ラベリングされる。
元に戻ると、リンクが樹木を横切る度に、木に対する戻
りリンクは対の間隔(iSN)(0、l)をラベリング
される(これは32本のリンクをルーチング装置に33
の間隔で設ける理由である)。
丁度ラベリングされたサブの樹木が樹木の最後の葉ノー
ドを有しi−D、第2の間隔をデイスカードする。以前
のノードに逆戻りすると、■は決定されないαVとiと
を交換する(iの値は間隔の下方限界が示されるとき、
端子リンクがその間にラベリングされるため、指定され
ることを認識されたい。)樹木のラベリングされない枝
を取出して、それに間隔 (tsα)を与え、すべての
サブの樹木がラベリングされるまで進行する。
このアルゴリズムは付表3に示された帰納的手順によっ
て形式化されている。アルゴリズムは根のノードRの端
子リンクTを取出し、iをOに設定し、ラベル樹木(i
、TSR,N)と称することによりインボークされてい
る。
例として第14図に示されたネットワークを考える。図
示されたラベリングは上記アルゴリズムによって創成さ
れ、RによってR81、TはトランスピユータTOに対
するリンク、iは0にNは4に等しい。
妥当性の証明 上記アルゴリズムによって創成されたラベリングがつね
に妥当であることを示すことができる。
ノードVに到達したヘッダmを備えたパケットを考える
。端子リンク第N番がサブの樹木Vに属するか否かによ
って二つの場合が考えられる。
場合l: mがサブの樹木■に属するときfフッ樹木(
sabtree) Vに対する各リンクは間隔〔11α
)をラベリングされ、ここにiはサブの樹木の第1端子
リンクであり、αはサブの樹木の最後の端子リンクのラ
ベルより1大きい。■の端子リンクはこのルールの特別
の場合である。
しかして、ヘッダを備えたパケットmはリンクをサブの
樹木にルーチングされ、サブの樹木はラベルmを備えた
端子リンクを有し、誘導によりパケットは正確な端子リ
ンクからルーチングされる。
場合■: mがサブの樹木Vに属しないときアルゴリズ
ムから、あるノードVのサブの樹木のすべての端子リン
クはj (アルゴリズムがvl;達するときラベリング
された端子リンクの数)とivの間のラベルを有するこ
とが分かる(ここにiVはアルゴリズムがVから戻ると
きのiの値である)。構成により、■から樹木の残りま
でのリンクはこの範囲の外側のすべてのラベルを含む間
隔と関連する。しかして、mとラベリングされた端子リ
ンクがサブの樹木Vに属しないならば、パケットは樹木
を上方にルーチングされる。
誘導により、パケットは、mとラベリングされた端子リ
ンクがそのノードのサブの樹木に属するように、均一に
ノードに達しなければならない。
上記アルゴリズムはまたそれに従って作用するネットワ
ークはデッドロックしないという重要な特性を有する。
デッドロックのないことの証明 二つのノードVおよびWを接合するリンクの両端を考え
る。ここにVは樹木の根に近い。■において、リンクは
間隔(1%α)をラベリングされている。ここにiはW
で始まるサブの樹木の第1端子リンクのラベルであり、
αはサブの樹木の最後の端子リンクのラベルより1大き
い。Wにおいて、リンクは一対の間隔(iSN)(0、
j)をラベリングされている。これらの間隔が共通のラ
ベルを有しないため、リンクに沿って一方向にルーチン
グされるパケットは決して同じリンクに沿って反対方向
にルーチングされることはない。しかして、いかなるパ
ケットも必要以上にさらに樹木の上方に贈られ根ごとは
なく、もしそうであれば、一つ以上のリンクに沿って戻
され、上記の説明は不可能になる。
指標kを有するサブの樹木Tkの集合について考える。
各サブの樹木Tkは大きい樹木にそれを連結する一つの
根のリンク「、を有する。すべてのT、の根のリンクを
ルーチングノードRに接続することにより形成される大
きいサブの樹木Tを考える。Tからの別のリンクは樹木
全体の根のりンク「にである。いずれかの「kに沿って
Rに到達するパケットは「、(j≠k)の一つまたはr
」 にルーチングされる。誘導的仮定として、各T。
はプツトロックすることがなく、T、の一つにル」 一チングされるいかなるパケットも結局端子リンクの外
にルーチングされ消耗するものとする。「に沿ってルー
チングされるいかにるパケットも周囲によって消耗され
る。rに達するいかなるパヶットもTkからルーチング
され同様に消耗する。
唯一つノードを有するサブの樹木だけがプツトロックを
免れることが示され、これは端子リンクが同時にパケッ
トを送りかつ受けとるとすれば真実である。サブの樹木
のサイズの誘導により、デッドロックのない全ネットワ
ークは下記の通りである。
それはこのアルゴリズムによって創成されたラベリング
は、ネットワークがそれ自体樹木でない限り、もつとも
短い可能なルートによってパケットをルーチングしない
。しかしながら、そは妥当なデッドロックのないルーチ
ングである。
ある他のネットワークのクラス(たとえば周囲を囲まれ
ない2進n面体およびm次元格子)に対して、妥当なデ
ッドロックのない間隔ラベリングは高知であり、パケッ
トをもつとも短いルートによって供給する。
冗長なラベリング 間隔セレクタの作用はルーチングスイツチの各端子リン
クが一つ以上のラベルに関連するようにしうろことが分
かるであろう。各端子リンクが一つのラベルに関連する
妥当なラベリング計画は、選択された端子リンクが、下
記のように、ある範囲のラベルを備えた計画に変化する
ことができる。
すなわち、 選択された端子リンクに関連するラベルがkであるなら
ば、関連する間隔は(k、に+1)である。この間隔を
(k、に+m)に延ばすため、他の間隔を計画において
下記のように変更する、すなわち a≦におよびk<bである(すなわち間隔kを含む)間
隔(a、b)を、(aSb十m)に置換する。
arkである間隔(alb)を、間隔(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・・
4ns 6a・・−60を備えたルーチングスイツチに
関する。またルーチングスイツチは単一のマイクロコン
ピュータと組み合わせることができ、その場合、マイク
ロコンピュータのすべてのメツセージリンクはチップ接
点によって有効に永久的にルーチングスイツチのリンク
に接続される。オフチップ接続はつねにルーチングスイ
ツチの自由リンクを通して起こる。
PROCXhpmhuH@t (CKN40r m:口
x coams、xn、  Data、Os+t。
C)IAIIOrmoOLLm(rll嘲m*、工n、
rCt、s’au、S嘲rtdJet、Fetj@fi
tlr口IC・d・ : ?罠! ^Lτ Ca4w、工atesda 口1z 釧圓− d−bL*+曽dabit−1 r bqv@am、!a ? s五gaal −a g働−
st tut buttmX@dム1aThe pro
cedure 5sndOnToken is as 
follows:PROCS@ndOnTok@n  
l)EQ Data、Out I buffer(firstJf
ir!t  :m  (first + 1)  \1
nput、buffer、5izatok*ns、bu
fi*x*d  :冒tok*ns、buffar電d
 −1x@tp@st、p@nding :s+ TA
LSt!IILOCOutpul−Buffet(01
λN0rfl!、e工oek、Xn。
口L%JI Or rα1 eedss、out、Da
ta、Xn、     ・IJAJIorsoozλ*
qumst、Out、rct、s噛@n、j噛ttd、
Fet、rct、5@n仁ItQ m−シutL&!ij・ 曲エーエ ミスσt Qock、Xn)sig+saエ −  C工oclc
 ’e、工+j酊5and a codevaatje
t+th11iAputbutterhasasked
foraf、c、t、tabesenttQ eedss、o蟻tl  バゴ raJaatljigns上−−t@lユtb−五np
utbullettb*codeAssemwaat、
fet  :m  r入Lsteewtt  +冒C口
unt  −LcJedムt  :m cxedit 
 −工fi五t1n9.for、toksa&Data
、!n?buffez會d、tokeasicewn乞
IS冨Q a冗1把 :璽C噸仁 +1 罠・呵り1st、o+am  I  s4鵠−1より諏
×ズD着シLuELフIJC!  (’VXjl i、
  η二π恥 り、町choos@ an  +aa↓
ahaエエad t*=1より為↓ 1工nに;L&b
L@ it  wLth (1,1十IIJL :雪L
+1: K)n)J 目コヨth@re axllaxsy 1laiaha
uad nユbatセbus nodeBEG工y カ鶴; 7!21 表u −」ζユ■ 一ノζ誌 表、V
【図面の簡単な説明】
第1図はルーチングスイツチのブロック線図であり、 第2図はルーチングスイツチの通信装置のブロック線図
であり、 第3図はルーチングスイツチのヘッダ部分におけるバッ
ファのブロック線図であり、 第4図はルーチングスイツチのヘッダ読出し回路のブロ
ック線図であり、 第5図はランダムヘッダゼネレータのブロック線図であ
り、 第6図はヘッダ削除回路のブロック線図であり、第7図
はルーチングスイツチの切替え回路の一部を示す図であ
り、 第8図は切替え回路の一部を通るデータの流れを示す図
であり、 第9図は切替え回路の切替え要素の一つの外部接続を示
す図であり、 第10図は切替え要素の構造のブロック
線図であり、 第11図は切替え回路のアービトレーション回路の作用
を示す線図であり、 第12図はプツトロックのコンピュータネットワークの
例を示す図であり、 第13図はグリッドコンピュータネットワークの一例で
あり、 第14図はインターバルセレクションを説明するコンピ
ュータネットワークの他の一例である。

Claims (1)

  1. 【特許請求の範囲】 1、複数のノードを有し、その少くともあるものがそれ
    ぞれ識別を有するコンピュータネットワークにおいてメ
    ッセージパケットをルーチングする方法であつて、 a)ソースノードと直列にメッセージパケットを出力し
    、前記メッセージパケットは宛先ノードを識別するヘッ
    ダ部分および前記ヘッダ部分に続くメッセージ部分を有
    し、 b)前記メッセージパケットを前記入力に選択的に接続
    しうる複数の出力を有するルーチングスイツチを有する
    ノードの入力に直列に供給し、前記各出力は宛先ノード
    認識の各範囲に対して選択可能であり、 c)前記ルーチングスイツチによるうけ入れの際全部の
    メッセージパケットをうけ入れる前に前記ヘッダ部分を
    読出して宛先ノード識別を決定し前記ヘッダ部分の宛先
    ノード識別を含むノード識別範囲を有する前記出力の一
    つを前記入力の一つに選択的に接続し、 d)メッセージ部分を前記ルーチングスイツチを通して
    前記入力から前記出力の一つに伝送する各工程を有する
    前記方法。 2、同様の連続したルーチングスイツチを使用してメッ
    セージをソースノードからその宛先ノードにルーチング
    することを含む請求項1に記載の方法。 3、ヘッダ部分を削除して連続したルーチングスイツチ
    によるパケットのうけ入れの際、パケットの引続いた部
    分がヘッダ部分を形成する前記ルーチングスイツチの一
    つにおける工程を含む請求項2に記載の方法。 4、最初のヘッダ部分によつて識別された宛先ノードに
    達する前に少くとも一つの他のルーチングスイツチを通
    してパケットをルーチングするように、ランダムに発生
    された新しいヘッダ部分をルーチングスイツチによつて
    うけ入れるパケットを形成することを含む請求項2また
    は3に記載の方法。 5、前記新しいヘッダ部分が利用しうる選択された入力
    の組においてすべての入力に対して設けられた請求項4
    に記載の方法。 6、前記ヘッダ部分は利用しうる出力の選択された組か
    らすべての出力に対してディスカードされた請求項3に
    記載の方法。 7、識別されたルーチングスイツチにおいて前記ランダ
    ムに発生されたヘッダ部分をディスカードして前記最初
    のヘッダ部分を現すことを含む請求項4に記載の方法。 8、ソースノードを構成する第1の処理装置と各パケッ
    ト出力がソースノードによつてそのパケットがうけ入れ
    られるとき宛先ノードによつて認識された宛先ノードを
    構成する第2処理装置との間にメッセージをルーチング
    するのに使用される請求項1ないし7のいずれか一項に
    記載の方法。 9、複数のノードを有しその少くともあるものがそれぞ
    れ識別を有するコンピュータネットワークであつて、前
    記ネットワークが、 それぞれ処理を実施するプロセッサ、ネットワークの他
    の装置との間でメッセージを入力および出力するメッセ
    ージリンク、および宛先ノード識別を示すヘッダ部分お
    よびヘッダ部分に続くメッセージ部分を備えたメッセー
    ジパケットを発生するパケット発生回路を有する複数の
    コンピュータ装置、および 少くとも一つのルーチングスイツチであつて、前記ルー
    チングスイツチはソースノードからメッセージパケット
    をうけ入れる入力、それぞれ宛先ノード識別の各範囲を
    指定する複数の出力、前記入力を前記出力の選択された
    一つに選択的に接続するスイッチ回路およびすべてのパ
    ケットをうけ入れる前に入力にうけ入れられたすべての
    パケットのヘッダ部分を読出すヘッダ読出し回路を有し
    、前記ヘッダ読出し回路は前記スイッチ回路に組み合わ
    され前記入力を前記ヘッダ部分のノード識別を含むノー
    ド識別範囲を有する前記出力の一つに接続する前記ルー
    チングスイツチ を有するコンピュータネットワーク。 10、ルーチングスイツチのスイッチ回路はヘッダ読出
    し回路によるヘッダの読出しに応じて入力と選択された
    出力との間の接続を有効にするように作用しうる請求項
    9に記載コンピュータネットワーク。 11、スイッチ回路はメッセージパケットの終わりを検
    出したとき選択された出力から入力を遮断して、引き続
    くメッセージパケットの前記出力を自由にする請求項9
    または10のいずれか一項に記載のコンピュータネット
    ワーク。 12、複数の相互に接続されたルーチングスイツチを有
    しパケットはソースと宛先ノードとの間のそのような連
    続したルーチングスイツチを使用する請求項9、10ま
    たは11のいずれか一項に記載のコンピュータネットワ
    ーク。 13、該または各ルーチングスイツチは複数の入力を有
    し、各入力は前記複数の出力のいずれかに選択的に接続
    しうる請求項9、10、11または12のいずれか一項
    に記載のコンピュータネットワーク。 14、各コンピュータ装置のパケット発生回路は直列の
    一定のビット長さを有する連続ビットパケットを発生す
    るように配置され、ルーチングスイツチはヘッダ読出し
    回路に組み合わされ、かつパケット発生回路によつて発
    生された連続ビットパケットのビット長さより短いビッ
    ト容量を有する、パケットのヘッダ部分の蓄積部分を有
    する請求項9ないし13のいずれか一項に記載のコンピ
    ュータネットワーク。 15、ルーチングスイツチはうけ入れられたパケットの
    ヘッダ部分を削除してパケットのうけ入れの際連続した
    ルーチングスイツチによりパケットの引続く部分がヘッ
    ダ部分を形成するヘッダ削除回路を有する請求項9ない
    し14のいずれか一項に記載のコンピュータネットワー
    ク。 16、ルーチングスイツチはランダムアドレスを発生し
    て進入するパケットの新しいヘッダ部分を形成するよう
    に作用しうるランダムヘッダ発生回路を要する請求項9
    ないし15のいずれか一項に記載のコンピュータネット
    ワーク。 17、ルーチングスイツチが1つ以上の入力に接続され
    るように選択された出力の使用を制御するアービトレー
    シヨン回路を有する請求項13に記載のまたはそれに加
    えられた請求項12ないし14のいずれかに記載のコン
    ピュータネットワーク。 18、複数のノードを有しその少くともあるものがそれ
    ぞれ識別を有するネットワーク内のコンピュータ装置間
    にメッセージをルーチングするルーチングスイツチにお
    いて、各コンピュータ装置は宛先ノード識別を示すヘッ
    ダ部分およびヘッダ部分後方のメッセージ部分を備えた
    、メッセージパケットを発生するパケット発生回路を有
    し、前記ルーチングスイツチはソースノードからメッセ
    ージパケットをうけ入れる入力、それぞれ宛先ノード識
    別の各範囲を示す複数の出力、前記入力を選択的に前記
    出力の選択された一つに選択的に接続するスイッチ回路
    およびすべてのメッセージパケットをうけ入れる前に入
    力にうけ入れられたパケットのヘッダ部分を読出すヘッ
    ダ読出し回路を有し、前記ヘッダ読出し回路は前記スイ
    ッチ回路に組み合わされ前記入力を前記ヘッダ部分のノ
    ード識別を有するノード識別範囲を有する前記出力の一
    つに接続するルーチングスイツチ。 19、複数の入力を有し、各入力は前記複数の出力のい
    ずれかに選択的に接続しうる請求項18に記載のルーチ
    ングスイツチ。 20、スイッチ回路は入力とヘッダ読出し回路によるヘ
    ッダの読出しに応じて選択された出力との間の接続を実
    施するように作用する請求項18または19に記載のル
    ーチングスイツチ。 21、スイッチ回路は入力をメッセージパケットの終わ
    りの検出の際、選択された出力から遮断して前記出力を
    引続くパケットに対して自由にする請求項18、19ま
    たは20に記載のルーチングスイツチ。 22、ルーチングスイツチがうけ入れられたパケットの
    ヘッダ部分を削除してそこに接続された引続くルーチン
    グスイツチによるパケットのうけ入れの際パケットの引
    続いた部分がヘッダ部分を形成するヘッダ削除回路を有
    する請求項18または19に記載のルーチングスイツチ
    。 23、ルーチングスイツチがランダムアドレスを発生し
    て進入するパケットの新しいヘッダ部分を形成するよう
    に作用しうるランダムヘツダゼネレーシヨン回路を有す
    る請求項18に記載のルーチングスイツチ。 24、一つ以上の入力に接続されるように選択された出
    力の使用を制御するアービトレーシヨン回路を有する請
    求項18ないし23のいずれか一項に記載のルーチング
    スイツチ。25、ビットパケットにおいて伝送するデー
    タをエンコーデイングする方法であつて、各パケットは
    1および0の同じ数を有し、前記パケットは一定のビッ
    ト長を有しかつ1と0の同じ数の順列の一定の組を構成
    し、前記一定の組のサブの組はデータパケットとして使
    用するため選択され、前記一定の組の第2の別のサブの
    組は制御パケットとして使用するため選択される前記デ
    ータをエンコーデイングする方法。 26、各パケットは三つの0と三つの1を有する6ビッ
    トの長さを有し、16の順列がデータパケットとして使
    用するため選択され4の順列が制御パケットとして使用
    するため選択された請求項25に記載の方法。
JP17434890A 1989-06-30 1990-06-30 メッセージルーチング方法、コンピュータネットワーク、ルーチングスイッチ Expired - Lifetime JP3174046B2 (ja)

Applications Claiming Priority (2)

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

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 true JPH03132131A (ja) 1991-06-05
JP3174046B2 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) DE69034133T2 (ja)
GB (1) GB8915135D0 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05173992A (ja) * 1991-12-19 1993-07-13 Fujitsu Ltd 他プロセッサからのデータ読出し制御方式
JPH0728763A (ja) * 1993-07-15 1995-01-31 Fujitsu Ltd 放送通信方法および放送ルーティング装置

Families Citing this family (55)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3546683C3 (de) * 1985-02-22 2003-10-09 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 インターナショナル・ビジネス・マシーンズ・コーポレイション プロトコル変換機構、交換ネットワーク及びコンピュータ・システム
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 日本電気株式会社 パケット交換装置におけるバッファ制御方式
JP3003418B2 (ja) * 1992-09-25 2000-01-31 株式会社日立製作所 プロセッサ間データ通信方法
GB2295473B (en) * 1992-09-25 1996-10-30 Hitachi Ltd Method for interprocessor communication
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
GB9312136D0 (en) * 1993-06-11 1993-07-28 Inmos Ltd Transmission of messages
GB9312071D0 (en) * 1993-06-11 1993-07-28 Inmos Ltd Encoding scheme
GB9312135D0 (en) * 1993-06-11 1993-07-28 Inmos Ltd Generation of checking data
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> 通信方法及び装置
US5991296A (en) * 1996-02-22 1999-11-23 Fujitsu, Ltd. Crossbar switch and method with reduced voltage swing and no internal blocking data path
US5838684A (en) * 1996-02-22 1998-11-17 Fujitsu, Ltd. Low latency, high clock frequency plesioasynchronous packet-based crossbar switching chip system and method
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
US5841772A (en) * 1996-03-07 1998-11-24 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
US5848068A (en) * 1996-03-07 1998-12-08 Lsi Logic Corporation ATM communication system interconnect/termination unit
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
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
US7957385B2 (en) * 2009-03-26 2011-06-07 Terascale Supercomputing Inc. Method and apparatus for packet routing
US7957400B2 (en) * 2009-03-26 2011-06-07 Terascale Supercomputing Inc. Hierarchical network topology
JP2012048573A (ja) * 2010-08-27 2012-03-08 Canon Inc 半導体集積回路、データ処理装置
US9407461B2 (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
EP3151111B1 (en) * 2014-06-30 2018-10-17 Huawei Technologies Co., Ltd. Data processing method executed by network apparatus, and associated device
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
DE3853118T2 (de) * 1987-09-30 1995-06-14 Hewlett Packard Co Verfahren und Vorrichtung zur Datenübertragung.
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

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05173992A (ja) * 1991-12-19 1993-07-13 Fujitsu Ltd 他プロセッサからのデータ読出し制御方式
JPH0728763A (ja) * 1993-07-15 1995-01-31 Fujitsu Ltd 放送通信方法および放送ルーティング装置

Also Published As

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

Similar Documents

Publication Publication Date Title
JPH03132131A (ja) メッセージルーチング方法、コンピュータネットワーク、ルーチングスイッチ
JP2988972B2 (ja) メッセージルーチング方法、コンピュータネットワーク及びルーチングスイッチ
US10585825B2 (en) Procedures for implementing source based routing within an interconnect fabric on a system on chip
US4933933A (en) Torus routing chip
US5422881A (en) Message encoding
US7668970B2 (en) Optimized scalable network switch
US5218676A (en) Dynamic routing system for a multinode communications network
US5347450A (en) Message routing in a multiprocessor computer system
EP0018755B1 (en) Digital communication networks employing speed independent switches
US6278709B1 (en) Routing switch
US9479455B2 (en) Simultaneous transfers from a single input link to multiple output links with a timesliced crossbar
JP2001514463A (ja) 仮想チャネル割当てを持つルータ
JPH06203001A (ja) 電子メッセージ通信の経路選択方法
US5398317A (en) Synchronous message routing using a retransmitted clock signal in a multiprocessor computer system
US5594866A (en) Message routing in a multi-processor computer system with alternate edge strobe regeneration
Feige Observations on hot potato routing
JP2977402B2 (ja) 競合パケット調停装置
Iwama et al. An O (N) Oblivious Routing Algorithm for Two-Dimensional Meshes of Constant Queue-Size
GB2249243A (en) Message routing in a multiprocessor computer system
JP2002207648A (ja) 並列計算機の識別番号変換方法
JPS62502229A (ja) パケット・スイッチング・多重キュ−n×mスイッチ・ノ−ド及び処理方法

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