JP2988972B2 - メッセージルーチング方法、コンピュータネットワーク及びルーチングスイッチ - Google Patents
メッセージルーチング方法、コンピュータネットワーク及びルーチングスイッチInfo
- Publication number
- JP2988972B2 JP2988972B2 JP17434790A JP17434790A JP2988972B2 JP 2988972 B2 JP2988972 B2 JP 2988972B2 JP 17434790 A JP17434790 A JP 17434790A JP 17434790 A JP17434790 A JP 17434790A JP 2988972 B2 JP2988972 B2 JP 2988972B2
- Authority
- JP
- Japan
- Prior art keywords
- node
- packet
- routing
- message
- switch
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/25—Routing or path finding in a switch fabric
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations 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/163—Interprocessor communication
- G06F15/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
- G06F15/17356—Indirect interconnection networks
- G06F15/17368—Indirect interconnection networks non hierarchical topologies
- G06F15/17375—One dimensional, e.g. linear array, ring
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
- H04L45/06—Deflection routing, e.g. hot-potato routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/40—Wormhole routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/10—Packet switching elements characterised by the switching fabric construction
- H04L49/104—Asynchronous transfer mode [ATM] switching fabrics
- H04L49/105—ATM switching elements
- H04L49/106—ATM switching elements using space switching, e.g. crossbar or matrix
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/25—Routing or path finding in a switch fabric
- H04L49/253—Routing or path finding in a switch fabric using establishment or release of connections between ports
- H04L49/254—Centralised controller, i.e. arbitration or scheduling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/10—Packet switching elements characterised by the switching fabric construction
- H04L49/101—Packet switching elements characterised by the switching fabric construction using crossbar or matrix
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/30—Peripheral units, e.g. input or output ports
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/30—Peripheral units, e.g. input or output ports
- H04L49/3018—Input queuing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/30—Peripheral units, e.g. input or output ports
- H04L49/3027—Output 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)前記付加的ノードインジケータを読取りかつ前記ラ
ンダムに発生された付加的ノードインジケータに依存し
て前記出力の一つを前記入力に選択的に接続し、 e)メツセージパケツトを前記ルーチングスイツチを通
して前記入力から前記出力の一つを通して前記付加的ノ
ードインジケータによつて識別された中間ノードに伝送
し、かつ f)前記中間ノードにおいて、最初の宛先ノードインジ
ケータを使用して、メツセージパケツトの別のルーチン
グを決定する方法が提供される。
少くともあるものがそれぞれ識別を有するコンピユータ
ネツトワークにおいて、前記ネツトワークが、 それぞれ処理を実施するプロセツサ、ネツトワークの
他の装置との間でメツセージを入力および出力するメツ
セージリンク、および宛先ノード識別を示すノードイン
ジケータならびにメツセージ部分を備えたメツセージパ
ケツトを発生するパケツト発生回路を有する複数のコン
ピユータ装置、および 少くとも一つのルーチングスイツチであつて、前記ル
ーチングスイツチはソースノードからメツセージパケツ
トをうけ入れる入力、複数の出力、前記入力を選択され
た前記出力の一つに選択的に接続するスイツチ回路、前
記入力に組合わされメツセージパケツトの付加的ノード
インジケータを発生するように作用しうる発生回路を有
し、付加的ノードインジケータはネツトワークの複数の
ノードからランダムに選択された中間ノードを識別し、
また付加的ノードインジケータを読出し前記ランダムに
発生されたノードインジケータに従つて出力の一つを前
記入力に接続するよう前記スイツチ回路に組合わされた
前記ルーチングスイツチを有するコンピユータネツトワ
ークが提供される。
しその少くともあるものがそれぞれ識別を有するネツト
ワーク内のコンピユータ装置間にメツセージをルーチン
グするルーチングスイツチにおいて、各コンピユータ装
置は宛先ノード識別を示すヘツダ部分およびヘツダ部分
後方のメツセージ部分を有する、メツセージパケツトを
発生するパケツト発生回路を有し、前記ルーチングスイ
ツチはソースノードからメツセージパケツトをうけ入れ
る入力、複数の出力、前記入力を選択的に前記出力の選
択された一つに選択的に接続するスイツチ回路、前記入
力に組合わされメツセージパケツトのネツトワークの複
数のノードからランダムに選択された中間ノードを有す
る、付加的ノードインジケータを発生するように作用し
うるゼネレーテング回路、および付加的ノードインジケ
ータを読出し前記スイツチ回路に組合わされ前記入力を
前記ランダムに発生したノードインジケータに従つて前
記出力の一つに接続するように組合わされた読出し回路
を有するルーチングスイツチが提供される。
方向は装置間ハードライン接続のオーバーワークを緩和
することが分かる。
の装置を備えたマイクロコンピユータにネツトワークに
適用しうるものである。とくに一対の一方向通信線によ
つて組み合わされた装置間の通信に適用され、その線に
沿って一つ以上のフオーマツトの直列ビツトパケツトが
一つの特定のビツトパケツト(以下流れ制御トーケン
(token)と称する)が伝送され他の通信線に沿つて伝
送される他のビツトパケツトの量を制御する。とくに、
ただし限定的ではないがデータの連続したバイトを連続
マーカーの終わりの特定の連続ビツトパケツトが続くビ
ツトパケツトの連続として伝送する装置間に適用するこ
とができる。そのような通信方式は同時出願の第
号(ページ・ホワイトおよびフアーラー Re
f64199)に記載され、その内容をここに参照する。
択可能である。これは“間隔ラベリング”と称せられ
る。それはヘツダ読取り回路が、たとえばスイツチ出力
の数に等しいレジスタの数を有する、迅速に作用しうる
小さい索引表を含むきわめて簡単な形式の採用を可能に
する。必要なことはヘツダ部分によつて識別される宛先
ノードが入る範囲を決定することである。ヘツダ読取り
回路を小さくすることができるため、ルーチングスイツ
チに対する数回の入力のため各入力または少数の入力の
グループに対して関連する読み取り回路が設けられるよ
うにそれを数回チツプ上で複製することができる。この
ことは、そうでなければ、いくつかの入力に同時に到達
する場合ルーチング装置の効率を低下する隘路を除去す
る。
も、間隔ラベリング計画がネツトワークを通る任意のメ
ツセージルートを許しもせずまた接続された一連のネツ
トワークを通つて有効に伝送することも許さないという
課題が存在する。ルートは各ネツトワークに特別の読取
り回路に使用される間隔選択アルゴリズムによつて予め
決定される。
ンジケータを削除するように設定しうるルーチングスイ
ツチ削除回路を設けることによる本発明の好ましい実施
例によつて解決された。このようにして、二つのノード
インジケータを備えたメツセージパケツトが連続したル
ーチングスイツチを有するコンピユータネツトワークを
通つて処理されるならば、第1のノードインジケータは
第1のルーチングスイツチにおいて“消耗し”削除回路
はノードインジケータを削除するように設定され、第2
のノードインジケータはそれらが送られる引き続くルー
チングスイツチにおいて使用される。これはルーチング
スイツチおよび処理装置のネツトワークの相互の接続を
可能にし、ネツトワークフオーマツトにかなりの融通性
を与える。ノードインジケータがメツセージを一つのル
ーチングスイツチを通つて指向することだけが必要であ
るため、ルーチングスイツチの出力を識別する十分な情
報を含むことだけが必要で、したがつて、短くすること
ができる。このことはインジケータをデコードするため
間隔選択アルゴリズムを迅速に作用することを可能にす
るばかりでなく、ノードインジケータの伝送時間を最少
にすることを意味している。
複数の入力に同時に到達するパケツトが共通の出力を必
要とするとき、各出力の使用を制御するアービトレーシ
ヨン回路を有する。ルーチングスイツチはメツセージを
ソースノードにおける第1コンピユータ装置と、ソース
ノードによる各パケツト出力がパケツトがうけ入れられ
るとき宛先ノードによつて承認される。宛先ノードにお
ける第2コンピユータ装置との間にメツセージをルーチ
ングするのにとくに有用である。このためコンピユータ
装置のパケツト発生回路はデータパケツトのうけ入れの
際承認パケツトを発生することができる。この点に関し
て同時出願の第 号(ページ・ホワイトお
よびフアーラー Ref:64199)を参照する。前記出願に
は本発明はとくに適用しうるコピユータネツトワークを
形成するコンピユータ装置が記載されている。データパ
ケツトおよび承認パケツトは、プロセツサによつて実施
される処理と遠隔のコンピユータ装置との間の通信の同
期化された処理の基礎をなしている。
セージ伝送が実施されるとき、対応するプログロム段階
にあることを意味している。
ピユータネツトワークにおけるデツトロツクの課題およ
びルーチング計画が妥当であることすなわちすべてのメ
ツセージがその宛先ノードにルーチングされ無限に循環
しないことを確かめることである。本発明者等は、下記
の明細書の記載において一層詳細に説明される、これら
の課題を解決する、間隔ラベリングアルゴリズムを考案
した。
ためデータをエンコーデイングする方法が提供され、そ
の方法において各パケツトは1と0の同じ数を有し、前
記パケツトは一定のビツト長のもので1と0の同数の置
換の一定の組を形成し、前記一定の組の第1のサブの組
はデータパケツトとして選択され、第2の前記一定の組
の別のサブの組は制御パケツトとして使用するため選択
される。
ツクを回避する方法を提供し、その方法は各装置の出力
を二つのサブの組に分割し、ランダムに発生されたヘツ
ダを備えたメツセージパケツトはつねに第1組に属する
出力を出力し、ランダムに発生されたヘツダが削除され
たメツセージパケツトはつねに第2組に属する出力を出
力する。
提供し、その方法は6ビツト長のビツトパケツトを形成
することを含み、各パケツトは三つの1つ三つの0とを
有し、その16の組み合わせはデータの4ビツトの異なつ
た値をとり、一つの組み合わせはメツセージ終了を現す
のに使用され、一つの組み合わせはデータコードの流れ
および反対方向へのパケツトコードの終了を制御するの
に使用される。
イツチの基本的構造的特徴を示している。第1図におい
て、太い矢印はデータ経路を示し一方細い矢印は命令経
路を示す。ルーチングスイツチはクロスバースイツチ10
の形式のスイツチ回路を有し複数のメツセージ入力12a
・・12nのうちのいずれか一つを複数のメツセージ出力1
4a・・14nのいずれか一つに接続することができる。好
ましい実施例において32の入力と32の出力が対になつて
32のメツセージリンクを形成している。クロスバースイ
ツチは出力リンクアービトレーシヨン回路32を有し、一
つ以上の入力が互いに一時に各出力に接続されるのを防
止している。簡単のため二つだけのリンクがリンクの要
素を囲む破線によつて示され、符号La、Lnを付されてい
る。下記の記載はリンクLaに関するものであるが、他の
すべてのリンクも下記に論ぜられるそれらの要素のある
ものの可能なシエアリングを同様にうけることができ
る。
置を有し、該装置はルーチングスイツチを他の同様のル
ーチングスイツチに接続するかまたはルーチングスイツ
チとの間にメツセージパケツトを授受する他の装置に接
続するように設けられている。この接続は一方向チヤネ
ル4a、6aの二方向対によつて達成される。各メツセージ
パケツトは直列データフオーマツトであり、パケツトの
宛先ノードを識別するヘツダを有する。コンピユータネ
ツトワークの宛先またはソースノードは、一般的にただ
し必ずという訳ではないが実行処理可能なコンピユータ
装置である。
ツトはクロツク対データエンコーデイングである。各6
ビツト期間中三つの0ビツトおよび三つの1ビツトを送
ることにより、DCバランスが保持され、クロツク信号は
位相ロツクループを使用して抽出することができる。こ
の技術は6−から3コーディングと称せられる。ここに
は20の異なつた6−から−3コードが存在する。データ
のバイトを有効に伝送するため16のこれらのれコードは
ニツプル(4ビツト)の異なつた可能な値を現すように
割当てられる。しかしてバイトは二つのコードによつて
送ることができる。伝送が連続しなければならないとき
(たとえば位相ロツクループ方式)、いかなる他のコー
ドも伝送しえないとき伝送される単一の0コードをもつ
必要がある。
送られるならば、それはパケツト内に現れるパケツトの
長さに対して必要でなく、ソース装置および宛先装置が
長さで確実に一致することが必要である。しかしなが
ら、パケツトがルーチングスイツチを通過する場合、こ
れらのルーチングスイツチに対して通過するパケツトの
長さを、(一時的に接続される)スイツチ回路10を通る
経路がパケツトの終わりが出力されるとき遮断しうるよ
うに、決定することが可能でなければならない。各パケ
ツトが同じ長さでなければ、これはブルトコルがパケツ
トの長さを終了マークまたは最初の長さのカウントによ
つてパケツトの長さを指示することが必要である。最初
の長さのカウントの導入は、ルーチングスイツチを通る
パケツトの遅れを増加し、またパケツトを通つてカウン
トするロジツクを必要とする。したがつて一層良い技術
はパケツト終了マークとして制御トーケンを保持するこ
とである。
トコルは下記の表に示されている。完全に任意なトーケ
ンに対するビツトパターンはここでは図示されない。
び流れ制御トーケン(下記参照)が適合するとすると、
使用しうる多くのものの中の一つに過ぎない。とくに、
バイトの流れを有効に伝送しうるとすれば、エンコーデ
イングされたデータ値と同じフオーマツトまたは長さを
もつ制御コードのもしくはデータが一連の4ビツト値と
して伝送される必要性が存在しないことを認識すべきで
ある。
経路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の端子
リンクを識別しうるのに十分である。
ア20から経路34に沿つてうけ、引続いてデータを経路36
に沿つて伝達する。それはまたヘツダストリツパ28から
のデータの要求を経路38に沿つて伝達し、引続いてデー
タを経路40に沿つてうけ入れる。流れ制御がルーチング
スイツチとリンクモジユールによつてそこに接続された
装置との間に維持されることは重要である。このため、
リンクモジユール18はルーチングスイツチとそこに接続
された装置との間のデータ流れへの流れ制御情報を多重
送信する。このため、データの伝送量を最大にするため
に広すぎるバンド幅を使うことなく、リンクモジユール
はデータ項目の流れを別々でなくむしろバツチとして制
御する。このため、各リンクモジユールはデータ項目の
完全なバツチを保持するのに十分大きいバツフアを有
し、かついくつのデータ項目が送られるならびにうけ入
れられるために残されているかをカウントすることがで
きる。データのブロツクの流れを規制する簡単な方法
は、流れ制御トーケンとしてリンクモジユール18が伝
送、受信する一組のコードから特殊なコードを保持する
ことである。流れ制御トーケンはルーチングスイツチの
リンクモジユール18がデータの全バツチに対して十分な
バツフアスペースを有するときはいつでも伝送される。
しうるパケツトに係わらず規制する。いつでも、リンク
モジユールにより緩衝記憶されるデータ項目は一つ以上
の連続パケツトの一部またはすべてを構成する。
および情報を伝送に使用され、それらをクロツク信号φ
によつて決定された周波数において伝送するのに使用さ
れる直列フオーマツトに変換する出力バツフア42、およ
び記憶するデータ項目および直列フオーマツトを出力バ
ツフア42に伝送する流れ制御情報にデコードする入力バ
ツフア44を備えている。
の各バツチは複数のコードよりなり、各コードは4ビツ
トのデータを示すかまたはパケツト終了コードである。
たとえば、流れ制御バツチは16のコードからなるものと
することができる。
有する別の装置に接続された各リンクモジユールは、そ
れ以上の流れ制御情報をうけることなく、他のリンクモ
ジユールに送るデータ項目のカウントを維持する。この
カウントはクレジツトと称せられる。接続されたリンク
モジユールの対の各リンクは、他のリンクモジユールに
よつてそれ以上の流れ制御情報を送ることなく他のリン
クモジユールによつて送られる、データ項目の数のカウ
ントを維持する。このカウントはデビツトと称せられ
る。
御トーケンを送ることによりそれがデータ項目の他のバ
ツチをうけ入れるように準備されることを示している。
そうなるとき、バツチのデータ項目の数によるそのデビ
ツトを増加する。他の対のリンクが流れ制御トーケンを
うけるとき、バツチのデータ項目の数によりそのクレジ
ツトを増加する。
基づいてかつ直列データフオーマツトが上記のものと同
じであるとして説明する。しかしながら、流れ制御機構
は、異なつたデータフオーマツトが使用されるかまたは
実際データ項目が直列形式よりもしろ平行信号を使用し
て送られるならば、本質的に同じ方法で作用することが
分かる。
制御トーケンをデコードするときはいつも、出力バツフ
アに経路41において被呼fct.inを信号する。出力バツフ
アが通路41においてfct.seen信号を受信するときはいつ
も、流れ制御バツチのサイズによつて、(そのクレジツ
トを)伝送されるコード数のカウントを増加する(イン
クルメント)。
ールのクレジツトが排出される前にうけ入れられるコー
ド数のカウントを維持する。このカウントは、二つのリ
ンクモジユール間を通過中のコードによつて生じた差か
ら離れて、ルーチングスイツチに接続された別の装置の
リンクモジユールに接続された出力バツフアにおける対
応するクレジツトと同じとすべきである。
有し、それらは少くとも流れ制御バツチに含まれるのと
同じだけのコードを緩衝することができる。ゼロコード
以外のコードおよび流れ制御トーケンはバツフアに蓄積
され、カウントは多数のコードの中からバツフアに維持
される。信号が経路34において被呼request.inにうけ入
れられるとき、入力バツフア44はFIFOから第1要素を除
去し、それを経路36において被呼データoutに送り、FIF
Oにコードがない限りFIFOに蓄積されたコード数のカウ
ントを減らす。その場合それがうけるゼロ以外の第1コ
ードおよび流れ制御トーケンを、直接経路にデータout
する。
にうけ入れられるコード数の和が排出されるときはいつ
も、(デビツト)はバツフアのサイズと流れ制御バツチ
のサイズとの差より小さく、入力バツフア44は経路43に
おいて被呼fct.requestを上の出力バツフア42に信号す
る。出力バツフアはついで流れ制御トーケンを第1の機
会に送る。
チのサイズに等しければ、入力バツフアは入力バツフア
FIFOが完全に空で現在の流れ制御バツチが完全に排出さ
れているときだけ流れ制御トーケンを出力バツフアに送
るように信号することが分かるであろう。このため、デ
ータの流れが停止しないように、入力バツフアFIFOを流
れ制御バツチのサイズよりいくぶん大きくすることは有
利である。
よる。これらの記載において、コードはバイトで示さ
れ、信号はブール値のみを使用するチヤネルによつて現
される。OCCAM言語はOCCAM2基準マニユアルに記載さ
れ、ここに参照する。
力バツフア44、42の平行構成によつて現される。モジユ
ールに出入りする経路は広い範囲に画定されるものとす
る。リンクモジユールは下記のように現される。
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だけ減少す
る。
それはたとえば3とすることができる容量出力、バツフ
ア、サイズを有するFIFOを備える。このOCCAMの頁(付
録2)は、コードが底部から除去されるときはいつも内
容が連続的に動かされる直線的配列として、別のFIFOの
例を示している。同様の手段を入力バツフアに対して使
用できること、または入力バツフアに使用された環状バ
ツフア手段を出力バツフアに使用することができること
が分かる。
記方式は、出力および入力バツフアをここに示すように
ゼロに初期化する代わりに、出力バツフアはその流れ制
御バツチのサイズに対するクレジツトを初期化しかつ入
力バツフアはその“顕著なレーケン”を同じ値に初期化
する。その場合、流れ制御トーケンは、上記のように前
記の代わりに、第1の流れ制御バツチが伝送された後に
だけ送られる。
されている。ヘツダバツフアは全体的に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から得られる。この
フラグを各リンクに対して別々に設定しうるため、各リ
ンクに別々のラツチが設けられる。
フラグの設計に依存する。
ンダムヘツダゼネレータ24に信号し、戻されたランダム
ヘツダに蓄積する。リンクモジユール18からなにかのデ
ータが到達すると、それは経路61において被呼Selsetに
接続された間隔セレクタ22に信号する。
する第1データによつて充満され、ヘツダを有するとき
(パケツトヘツダ長に従つて、1または2バイト)、接
続された間隔セレクタ22に信号する。
ることを信号すると、これはFIFOが再設定することによ
つて実施され、ヘツダバツフアはデータ流れから再充満
され、それがヘツダを有するとき(パケツトヘツダ長の
設定に従つて、1または2バイト)、接続された間隔セ
レクタに信号する。ヘツダバツフアはクロスバースイツ
チ10からうけた要求に応じてその内容を伝送する。もし
リンクのランダム化フラグが設定されると、ヘツダバツ
フアはそれ自体ランダムヘツダ発生装置から再充填さ
れ、さもなければ、データ流から再充填され、流れ制御
トーケンを通過した後、サイクルを繰り返す。
間隔セレクタは間隔選択アルゴリズムによる各パケツト
のルーチング決定を実施する。ヘツダバツフア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図上端のランダム数ゼネレータ80は、フイード
バツクを備えた桁送りレジスタまたはある他の方法を使
用する16ビツト類似ランダム数を発生する。剰余ユニツ
ト82から信号をうける。剰余ユニツト82から信号をうけ
るとき、そのような数を発生する。剰余ユニツト82は関
連する16ビツトレジスタ83に保持された値によりこの数
の剰余を計算する。剰余ユニツト82がトーケナイザユニ
ツト86から信号をうけるとき、計算されたをこの16ビツ
トに送りランダム数発生装置80から他の類似ランダム数
を要求する。トーケナイザは16ビツト剰余を、それが経
路25に沿つて要求をうけるまで蓄積する。ついで重要性
のもつとも少ない剰余の4ビツトに伝送し、四つの位置
によつて残りのビツトをシフトダウンする。この作用
を、それがヘツダの長さに対応する(第3図に示された
関連するフラグ60の設定に従つて2または4である)ニ
ツブル数を送るまで、繰り返し、ついでそのサイクルを
再始動する。発生されたランダムヘツダの範囲は付加的
16ビツトレジスタおよび加算機構に加え結果がトーケナ
イザに達する前にその内容を剰余ユニツトの出力に加え
ることにより完全に一般的にすることができる。
る。実際、ヘツダバツフア20(第3図)のトーケンバツ
フア50と同じ、単一のトーケンバツフア80が設けられて
いるのが分かる。トーケンバツフア85はGot.EOPで示さ
れた導線にバケツト終了トーケンであるデータinを経路
14aに沿つてうけ入れられたとき制御ロジツク84に信号
を入れ、また他のトッケンをうけ入れるときはいつもGo
t.トーケンbで示された導線において制御ロジツク84に
信号を入れる。それは制御ロジツク84からSend.tの信号
をうけるとき内容をデータOut通路40において内容を伝
送する。
ある。第7図は、データの流れを示す太い矢印によつて
20個のスイツチ要素を示す、クロスバースイツチ10の一
部を示している。データの要求は反対方向に流れ、第7
図には示されていない。最初すべてのスイツチ要素は
“オフ”すなわち第7図の状態Aである。入力iが出力
jに接続されるとスイツチ要素88(i、j)は“オン”
に切替えられ、データは入力から第7図に示された状態
Bのように、選択された出力に流れる。
に設定され他のすべてが“オフ”である、クロスバース
イツチ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に通すのに必要でないことを意味してい
る。
されている。間隔セレクタ22からのアドレス経路26であ
る線ADDRは、各列のすべてのスイツチ要素、すなわち同
じi値を有するものに接続される。これらの接続は下記
に一層詳細に説明する。クロスバースイツチの各スイツ
チ要素88(i、j)は同じものであり、これら要素のブ
ロツク構造は第10図に示されている。三つの主要な要素
が設けられている。すなわち、スイツチ90、コンパレー
タ92および下記に記載されるアービタサーバ(ARB)94
である。
ーバ間の通信がすべて同期していること、すなわちそれ
ぞれに暗黙の初期接続手順が存在することに注意された
い。これらのアービタサーバは第1図に参照符号32によ
つて線図的に示されたアービトレーシヨン回路を形成し
ている。
る。その“オフ”状態(第7図、A)において、データ
および要求信号はスイツチ90を分流しないで通過する。
すなわち、 data.in(i、j)はdata.in(i、j+1)に接続さ
れる。
れる。
される。
7図、B)に設定され入力iからのデータは出力jに分
類され、出力jからの要求は入力iに分割される。すな
わち、 data.in(i,j)はdata.in(i、1、j)に接続され
る。
るとき決定する。スイツチ90を設定するため、アドレス
が経路26に沿つて間隔セレクタ22からうけられ(第1
図)、これがスイツチ要素の出力インデツクスjに対応
するならば、コンパレータ92はアービタサーバ94に要求
に沿つて信号を入れる。間隔セレクタ22のアドレス出力
ADDRは入力列iの全スイツチ要素に接続されるが、出力
インデツクスjが列の各スイツチ要素に対し異なつてい
るため唯一つのコンパレータが対応する。チヤネルの信
号reqがアービタサーバ94にうけ入れられるとき、これ
は入力iが出力jを使用するように選択され(すなわち
入力iは“特権”を有する)、コンパレータが内部経路
に沿つて信号を入れスイツチ90を設定することを示して
いる。データに対する要求は出力から入力に伝送され、
入力から出力へスイツチ90を通るデータはパケツト終了
トーケンが、パケツトが通過した“完成した”通路29に
沿つて通信する、ヘツダストリツパ28によつてうけ入れ
られるまで、コーデイングする。スイツチは再設定さ
れ、特権はそれぞれ設定および要求に沿つて信号を入れ
るコンパレータによつて放棄される。コンパレータのス
テートマシーンの説明は表IVに示されている。
サーバ94はその出力をサービスする環状アービタサーバ
を形成している。そこでいつでも唯一の入力がその出力
に確実に接続される。アービタサーバ94iは第11図に示
されたように、リングにチヤネルLおよびRを通して接
続される。いつでもサーバ94の一つが“特権”を保持
し、すなわちそれのスイツチ90に対する出力の使用を容
認することができる。コンパレータは通路reqに沿う出
力の使用を要求し、また前記を候補にする。要求がうけ
入れられるならば、スイツチ90は出力および通信を完成
したときに同じ経路に沿つてふたたび通信する。特権の
ないサーバ94は要求をそのコンパレータからまたはその
左側チヤネルからRに沿つてリングに伝送する。要求が
特権付きのアービタサーバに到達するとき、特権付きに
なる要求を提出するアービタサーバに到達するまで、左
に反射される。候補のサーバはそれがそのコンパレータ
にサーブされるまで時計方向循環要求を無視する。この
要求を時計方向に通し、特権を反時計方向に反射するこ
の方策の実施は、実際メツセージを反射する必要がない
ことを意味し、reqチヤネルに沿う通信の完成はそのス
イツチに対する出力の使用を認めるように解釈される。
されている。
バ94i+2が特権を有し、アービタサーバ94i+1が特権
を有せずかつ候補でもないとすると、アービタサーバ94
iは正に候補になる。各サーバのLおよびRチヤネルに
何が起こつたか考える。
するが、このアービタサーバは依然としてそれがRに出
力しうるまでノツトプリブ状態(notprive)にある。こ
の通信はアービタサーバ94i+1がそのLチヤネルに入
力する時だけ完成しうる。
てアービタサーバ94i+1のLチヤネルにおける通信は
ペンデイングされる。チヤネルLに通信するためまずチ
ヤネルRに出力しなければならない。
Lへの通信はペンデイングされる。通信を完成するた
め、まずreqに沿うその第2の通信をうけ入れ(すなわ
ちこのスイツチ要素は出力を使用して完成された)その
状態をプリブ(priv)に変化しなければならない。一旦
この状態になると、Lに沿う通信を完成することができ
る。
沿うその通信を完成することができアービタサーバ94i
はこのサーバに特権を通すreqにおいてその通信を完成
することができる。
前に供給されなければならない:すなわちパケツトヘツ
ダ長(1または2バイト) 間隔セレクタ22のコンパレータ設定、および各宛先ノ
ード特定範囲の関連する出力リンク数 間隔セレクタ22のポータルコンパレータ値 各リンクに対して:“入力におけるランダム化”およ
び“出力におけるストリツプヘツダ”フラグが設定され
なければならない。
が設定されるならば)。
ラツチおよびレジスタに負荷されなければならない。こ
れは種々の方法、たとえば、予め画定された指令コード
をとくに設けられた専用リンクに送ることにより実施す
ることができ、リンクはすべてのラツチおよびレジスタ
に対してチヤネルを有する。すべての間隔セレクタおよ
びランダムヘツダゼネレータは同一にプログラムされな
ければならない。この初期化は第1図に、初期化ロジツ
ク30によつて線図的に示されている。
つのランダムヘツダ発生装置に関して記載された。これ
らユニツトの双方はリンクによるパケツト入力の1回ま
たは2回だけ使用され、理論的に母線によつて接続され
たいくつかのリンクの間で、いずれかのソースに対する
同時に多数の要求を解決するアービトレーシヨン計画を
使用して、分割される。たとえばクロスバースイツチ10
に使用されるアービトレーシヨン法は、間隔セレクタま
たはランダムヘツダ発生装置をいくつかのリンクの間で
分割して使用することできる。
なルーチングを達成するルーチングスイツチの作用を記
載する。第13図は複数のルーチングスイツチRSを使用し
てメツセージをソースノードと円Nによつて第13図に示
された宛先ノードとの間にルーチングするネツトワーク
の例を示す。ルーチングスイツチはそれらのリンクLに
よつて接続され、各リンクは第1図に符号4、6によつ
て示された一方向チヤネルの二方向の硬線対を有する。
ネツトワークのソースと宛先ノードNはいかなる型のコ
ンピユータ装置とすることもできるが、ここに記載する
ルッチングスイツチはとくに英国特許第111399号および
本出願人の同時継続中の英国特許出願第
号(ページ・ホワイト・アンド・フエラー、Ref6419
9)に記載されたマイクロコンピユータを有するネツト
ワークにとくに適用しうるものである。宛先とソースノ
ートNとの接続は第13図において端子リンクと称せられ
る。第13図において、実際上記実施例では323である
が、各ルーチングスイツチは四つのメツセージリンクを
備えている。
その入力からその出力にパケツトヘツダの値に従つてダ
イナミツクに切替えられる。
おいて、各中間リーチングスイツチはパケツトを入力
し、ヘツダをデコードし、ついでパケツトをつぎのルー
チングスイツチに前進させる。これは蓄積交換ルーチン
グと称せられる。これは、各ルーチングスイツチに伝送
されたパケツトを蓄積する必要がありまたパケツトの出
力とそのうけ入れとの間にポテンシヤル的に長い遅れが
生ずるため望ましくない。
あり、ルーチング決定はパケツトのヘツダがルーチング
スイツチによつて入力されると直ちに実施される。選択
された出力チヤネル6a・・6nが自由になると、ヘツダは
そこから出力され、パケツトの残りは入力からルーチン
グスイツチに蓄積されることなく直接出力に送られる。
このことはパケツトのデータがいくつかのルーチングス
イツチを同時に通過し、パケツトのヘツダは、パケツト
全部がソースノードNSによつて伝送される前に、宛先ノ
ードNDによつてうけ入れられることを意味している。し
かしてこの方法はダイナミツクな回路切替え形式と考え
られ、パケツトのベツダはネツトワークを通過するとき
データが通る一時的回路(ウオームホール)を作り出
す。パケツトの終わりが引出されるとき、回路は消失す
る。
るが、ルーチングスイツチが(所要の出力)チヤネル14
が塞がつているため)パケツトを直ちに送ることができ
なければパケツトが現在通過しているすべてのメツセー
ジリンクはそれが進行しうるまで(その方向に)占有さ
れる。停止されたウオームによつて“占有されている”
メツセージリンクの数はパケツトサイズ対リンクのそれ
ぞれ接続された対のバツフアの比である。
ールルーチングは不可視である。その唯一つの効果はメ
ツセージ伝送の待ち時間を長短にすることである。一つ
以上の中間ルーチングスイツチがパケツトを蓄積交換さ
れるならば、それはなお正確に伝送される。したがつ
て、本発明のルーチングスイツチきは別の型のルーチン
グ装置を有するネツトワークにも接続することができ
る。
達するメツセージパケツトのヘツダは、リンクモジユー
ル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に沿つて前進
される。
える。この図は、四つの端子リンクを有し、その各リン
クがトランスピユータT0、T1、T2、T3に接続された四つ
のルーチングスイツチ(RS1、RS2、RS3、RS4)のネツト
ワークを示している。端子リンクに付された数字はそれ
らのトランスピユータに示されている。ルーチングスイ
ツチの出力チヤネルに関連する間隔は対応するメツセー
ジのつぎに示されている。各間隔は対の符号〔x、y)
として示されている。対応するリンクは、パケツトのヘ
ツダが間隔の第1数より大きいかまたは等しくかつ間隔
の第2の数より小さいようにかつそのようにだけ選択さ
れる。
1、2または3を備えたパケツトが選択されるが、0、
4およびそれ以上は選択されない。
つの数が同じ(x=y)でありしたがつて決して選択さ
れないような、間隔と関連すると考えることができる。
ケツトを、第14図にRS1とラベルを付された、その接続
されたルーチングスイツチに送るとき何が起こるか考え
ることにする。ルーチングスイツチRS1はヘツダをそれ
ぞれ間隔と比較し、ヘダが間隔〔1、4)を有すること
を発見する。しかしてルーチングスイツチRS2に接続さ
れた出力ルリンクが選択される。パケツトのヘツダがル
ーチングスイツチRS2によつて入力されるとき、それは
その装置のすべての間隔と比較される。ヘツダは間隔
〔1、2)になり、トランスピユータ1に接続されたリ
ンクが選択される。パケツトはトランスピユータにルー
チングされる。
を、第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、α)を与え、すべてのサブの樹木がラベリングさ
れるまで進行する。
つて形式化されている。アルゴリズムは根のノードRの
端子リンクTを取出し、iを0に設定し、ラベル樹木
(i、T、R、N)と称することによりインボークされ
ている。
示されたラベリングは上記アルゴリズムによつて創成さ
れ、RによつてRS1、TはトランスピユータT0に対する
リンク、iは0にNは4に等しい。
ねに妥当であることを示すことができる。
る。端子リンク第N番がサブの樹木Vに属するか否かに
よつて二つの場合が考えられる。
〔i、α)をラベリングされ、ここにiはサブの樹木の
第1端子リンクであり、αはサブの樹木の最後の端子リ
ンクのラベルより1大きい。Vの端子リンクはこのルー
ルの特別の場合である。
の樹木にルーチングされ、サブの樹木はラベルmを備え
た端子リンクを有し、誘導によりパケツトは正確な端子
リンクからルーチングされる。
ての端子リンクはj(アルゴリズムがVに達するときラ
ベリングされた端子リンクの数)とivの間のラベルを有
することが分かる(ここにivはアルゴリズムがVから戻
るときのiの値である)。構成により、Vから樹木の残
りまでのリンクはこの範囲の外側のすべてのラベルを含
む間隔と関連する。しかして、mとラベリングされた端
子リンクがサブの樹木Vに属しないならば、パケツトは
樹木を上方にルーチングされる。
リンクがそのノードのサブの樹木に属するように、均一
にノードに達しなければならない。
ワークはデツドロツクしないという重要な特性を有す
る。
える。ここにVは樹木の根に近い。Vにおいて、リンク
は間隔〔i、α)をラベリングされている。ここにiは
Wで始まるサブの樹木の第1端子リンクのラベルであ
り、αはサブの樹木の最後の端子リンクのラベルより1
大きい。Wにおいて、リンクは一対の間隔〔i、W)
〔O、j)をラベリングされている。これらの間隔が共
通のラベルを有しないため、リンクに沿つて一方向にル
ーチングされるパケツトは決して同じリンクに沿つて反
対方向にルーチングされることはない。しかして、いか
なるパケツトも必要以上にさらに樹木の上方に贈られ根
ことはなく、もしそうであれば、一つ以上のリンクに沿
つて戻され、上記の説明は不可能になる。
各サブの樹木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)に置換する。
m)に置換する。
が関連するラベルの一定範囲内とすることができる。
るならば、ヘツダ値の範囲を備えたパケツトがそのリン
クからリーチングされることが認められる。しかしてラ
ベリングは唯一つのラベルがそのリンクのパケツトをル
ーチングするのに必要であるという意味において冗長で
ある。しかしながら、端子リンクがそれを通してネツト
ワークから出るパケツトのヘツダを削除しないならば、
ラベリングの冗長はパケツトヘツダの付加的情報をエン
コードするのに使用される。このことはたとえば同時出
願中の第 号(ページ・ホワイト・アンド
・フアラーRef:64199)の場合に有用であり、ラベリン
グの冗長さはネツトワークの端子リンクに接続されたマ
イクロコンピユータの特定の仮想的リンクを認識するの
に使用することができる。
とにより、パケツトに含まれるヘツダ情報の長さを最少
にすることができる。
ツトの現象によつてきわめて厄介であり、ネツトワーク
全体の作用は通信量がいくつかのルーチングスイツチま
たはメツセージリンクを通して集中するため制限され
る。このことは商用業務プログラムの結果として(この
場合ほとんど何もできない)または使用されるルーチン
グアルゴリズムのために起こり、ネツトワークの端子リ
ンクに接続されたプロセツサが対をなしてだけ通信する
場合でさえも、ネツトワークは原理的にすべての所要の
メツセージを錯綜することなくルーチングし、あるルー
チングアルゴリズムはある程度の大きさまたはネツトワ
ークの容量より一層下の機能しか奏することができな
い。
用は下記に記載され、二つの位相よりなる。第1の位相
において各パケツトは適当な(デツトロツクのない)貧
欲なアルゴリズムを使用してランダムに選択されたノー
ドに伝送される。第2の場合、各パケツトはこれもまた
適当な(デツトロツクのない)貧欲なアルゴリズムを使
用してその最終的宛先ノードに前進される。貧欲なアル
ゴリズムはその宛先までもつとも短い経路をとるアルゴ
リズムである。
チングスイツチの各端子リンクLa・・・Lnにランダム化
フラグ60(第5図)を設定することによつてルーチング
スイツチを使用して設けられる。パケツトがそのような
リンクに沿つて到達し始めるときはいつも、ランダムヘ
ツダ発生装置24はランダム数を発生し、ヘツダバツフア
20および間隔セレクタ22はパケツトヘツダであるかのよ
うに作用する。パケツトの残りはヘツダが中間(ランダ
ム)宛先に達するまで、新しく供給されたランダムヘツ
ダにネツトワークを通して従う。この点において、ルー
チングアルゴリズムの第1の位相は完了しランダムヘツ
ダはパケツトが第2の位相においてその最終的宛先の前
進することができるため除去されなければならない。ラ
ンダムヘツダを除去するため、各ルーチングスイツチは
中間宛先としてその識別をプログラムされ、スイツチに
到達する各パケツトはこの値に対してチエツクされたヘ
ツダを有する。パケツトのヘツダがルーチングスイツチ
の中間識別に対応するときはいつも、そのヘツダは間隔
セレクタ22のデイスカード信号に応じてデイスカードさ
れ、最初のパケツトヘツダを現すパケツトのバイトは中
間ラベリングアルゴリズムによつて処理される。
をランダムに選択された中間宛先にルーチングするた
め、与えることができ、それらは中間宛先において再び
削除され、ルーチングアルゴリズムの第2の位相がパケ
ツトをそれらの最初に選択された端子リンクに送るよう
に処理される。
位相において実施することはパケツトの経路を一層複雑
にする。その結果はデツトロツクが起こりうることであ
る。
二つの位相が完全に別のリンクを使用することである。
間隔ラベリングのため発生した一組のラベルは二つのサ
ブの組に分けられる。第1のサブの組たとえば下の半分
は中間宛先を認識するのに使用されるラベルを有し、こ
のサブの組のラベルはランダムに発生されランダム化位
相のためのヘツダとして使用される。第2のサブの組の
ラベルは、たとえば上の半分は端子リンクに使用され、
パケツトの最初のヘツダはこのサブの組から選択されか
つ第2および最終(宛先)位相のために使用される。同
様にリンクは二つのサブの組すなわち、第1のランダム
化位相用の一つのサブの組および第2の宛先位相用の一
つのサブの組に分けられる。第1のサブの組のリンクは
ラベルの組の上の半分に含まれる間隔と関連し、第2の
サブの組のリンクはラベルの組の上の半分に含まれる間
隔と関連する。
であり、一つはランダム化位相のため、他の一つは宛先
位相のためである。組み合わせは、ネツトワークの双方
がデツドロツクすることがなければ、デツドロツクする
ことはない。もつとも簡単な配置はランダム化ネツトワ
ークが宛先ネツトワークと同じ構成を有すること、およ
び双方にデツドロツクすることのないルーチングアルゴ
リズムを使用することである。
ークを通る任意のルートを許さないこと、またそれがメ
ツセージを一連のネツトワークを通つてルーチングする
ことを許さないことである。これらの課題はヘツダスト
リツパ28によつて上記ルーチングスイツチを改善するこ
とである。上記のように、ルーチングスイツチの各メツ
セージリンクはそれが伝送される直前に各メツセージの
ヘツダを削除するように設定される。その結果すぐ後の
データはメツセージがつぎのノードに入るとき新しいヘ
ツダになる。
のあるものが他のそのようなモジユールに接続されると
する。これらのメツセージリンクがヘツダを除去するよ
うに設定されるならば、それらの一つのアドレスされた
パケツトは実際、メツセージの引き続いた部分によつて
置換され、さらに宛先に送る新しいヘツダを形成するヘ
ツダによつて伝送される。
なモジユールを考える。一方のモジユールのルーチング
スイツチが一方のモジユールに接続された他方のモジユ
ールの端子リンクの一つにアドレスすることによつてパ
ケツトを送るならば、パケツトが接続するメツセージリ
ンクを通る前にヘツダは削除され新しいアドレスがヘツ
ダとして現れる。これが他のモジユールのネツトワーク
に対する適当なラベルであるとすると、パケツトは通常
の方法で実施することができる。僅かに複雑なことは、
パケツトがデータ部分に予め決定されない最終的アドレ
スによつて送られなければならないことである。
クが第3モジユールに接続されまたヘツダを削除するよ
うに設定されるならば、パケツトは第3のアドレスが前
方に引出されるさらに別のモジユールに指向される。こ
のようにして、パケツトが最初に送られるとき、十分に
余分なヘツダが設けられるならば、任意数のモジユール
境界を設けることができる。
ツチとすることができ、パケツトはヘツダの設定により
明瞭に操作することができ、間隔ラベリングは単純にな
る。これは人が混乱のないルーチングを得ようとする代
替ネツトワークに対して有用である。
はデツドロツクの可能性を導入しないことである。各モ
ジユール内のラベリング計画がデツトロツクなしであつ
ても、多相メツセージの組はデツドロツク構造を形成す
るかも知れない。
ードはモジユールである。ネツトワーク全体デツトロツ
クしない条件は、単に トツプレベルのネツトワークにおけるルーチング戦略
はデツトロツクのないことである。
あり、 モジユールは完全な相互接続性を有しなければならな
い、 ことである。
モジユールのノードからのパケツトの経路および他のモ
ジユールに通過するパケツトの経路は、同じリンクを同
じ方向に通過してはならないことを意味している。
構が任意のサイズおよび複雑さは、ネツトワークが、メ
ツセージパケツトのデツトロツクのない有効なルーチン
グによつて構成されることを可能にする。
れ、専用ピンを有する入力および出力データ通路4a・・
4n、6a・・・6nを備えたルーチングスイツチに関する。
またルーチングスイツチは単一のマイクロコンピユータ
と組み合わせることができ、その場合、マイクロコンピ
ユータのすべてのメツセージリンクはチツプ接点によつ
て有効に永久的にルーチングスイツチのリンクに接続さ
れる。オフチツプ接続はつねにルーチングスイツチの自
由リンクを通して起こる。
であり、 第3図はルーチングスイツチのヘツダ部分におけるバツ
フアのブロツク線図であり、 第4図はルーチングスイツチのヘツダ読出し回路のブロ
ツク線図であり、 第5図はランダムヘツダゼネレータのブロツク線図であ
り、 第6図はヘツダ削除回路のブロツク線図であり、 第7図はルーチングスイツチの切替え回路の一部を示す
図であり、 第8図は切替え回路の一部を通るデータの流れを示す図
であり、 第9図は切替え回路の切替え要素の一つの外部接続を示
す図であり、第10図は切替え要素の構造のブロツク線図
であり、 第11図は切替え回路のアービトレーシヨン回路の作用を
示す線図であり、 第12図はデツトロツクのコンピユータネツトワークの例
を示す図であり、 第13図はグリッドコンピュータネットワークの一例であ
り、 第14図はインターバルセレクションを説明するコンピュ
ータネットワークの他の一例である。
Claims (21)
- 【請求項1】複数のノード(N)を有しその少くともあ
るものがそれぞれ識別部を有するコンピュータネットワ
ークにおいて、一連のルーチングスイッチ(RS)を介し
て、メッセージパケットをルーチングする方法であっ
て、 a) 開始ノードから直列にメッセージパケットを出力
し、前記メッセージパケットはネットワークの宛先ノー
ドを識別する指標ならびにメッセージ部分を有し、 b) 前記メッセージパケットを、前記入力(12a,…,1
2n)に選択的に接続しうる複数の出力(14a,…,14n)を
有するルーチングスイッチ(RS)の入力(12a,…,12n)
に供給し、前記メッセージパケットは付加的なノード指
標を含んでおり、 c) 前記付加的ノード指標を読取り、かつ前記付加的
ノード指標に応じて前記出力の一つを前記入力に選択的
に接続し、 d) メッセージパケットを前記ルーチングスイッチの
前記入力から前記出力の一つに伝送する、 方法であって、 前記付加的ノード指標は、前記ルーチングスイッチにお
いて生成され、前記付加的ノード指標は、前記ネットワ
ークにおける複数のノードからランダムに選択される中
間ノードを識別するようになっており、 前記メッセージパケットは、前記付加的ノード指標によ
って識別された中間ノードへ送られ、さらに前記中間ノ
ードにおいて元の宛先ノードが使用されてメッセージパ
ケットのさらなるノードが決められる、 メッセージルーチング方法。 - 【請求項2】前記ルーチングスイッチの一つが元のノー
ド指標を削除し、一連のルーチングスイッチによるパケ
ット受信の際、パケットの異なった部分がノード指標を
形成する請求項1に記載の方法。 - 【請求項3】開始ノードを構成する第1処理装置(N)
と宛先ノードを構成する第2処理装置(N)との間でメ
ッセージをルーチングするために用いられるときには、
開始ノードから出力された各パケットはそのパケットが
受信されるときに宛先ノードによって識別される請求項
1または請求項2に記載の方法。 - 【請求項4】各ルーチングスイッチの出力は少なくとも
二つの組に分割され、付加的ノード指標を備えたメッセ
ージパケットは常に一つの組に属する出力を出力し、宛
先ノード指標を備えたメッセージパケットは常に他の組
に属する出力を出力する請求項1ないし3のいずれか一
項に記載の方法。 - 【請求項5】ルーチングスイッチの各出力は宛先ノード
指標の各範囲に対して選択可能である請求項1ないし4
のいずれか一項に記載の方法。 - 【請求項6】メッセージパケットは、中間ノードを識別
する付加的ノード指標なしに、中間ノードから出力され
る請求項1または2に記載の方法。 - 【請求項7】各ルーチングスイッチごとに複数の入力が
設けられ、これら入力のうち選択されたものに入力され
るメッセージパケットすべてに付加的ノード指標が設け
られる請求項1ないし6のいずれかに記載の方法。 - 【請求項8】複数のノードを有しその少くともあるもの
がそれぞれ識別部を有するコンピュータネットワークで
あって、前記ネットワークは、 それぞれ処理を実行するプロセッサ、ネットワーク内の
他の装置との間でメッセージを入力および出力するメッ
セージリンク、および宛先ノード識別を示すノード指標
ならびにメッセージ部分を備えたメッセージパケットを
生成するパケット生成回路を有する複数のコンピュータ
装置(N)と、 少くとも一つのルーチングスイッチであって、 前記ルーチングスイッチは、開始ノードからメッセージ
パケットを受信する入力(12a,…,12n)と、複数の出力
(14a,…,14n)と、前記入力を選択された前記出力の一
つに選択的に接続するスイッチ回路(10)と、前記入力
に接続されメッセージパケットの付加的ノード指標を生
成しうる生成回路(24)とを有しており、 前記付加的ノード指標は、ネットワークにおける複数の
ノードからランダムに選択された中間ノードを識別する
ものであり、 さらに前記ルーチングスイッチは、この付加的中間ノー
ドを読み、さらに、前記ランダムに生成されたノード指
標に応じた前記出力の一つを前記入力に接続するために
前記スイッチ回路に接続される読み取り回路(22)を有
している、ルーチングスイッチと、 を有するコンピュータネットワーク。 - 【請求項9】複数の互いに接続されたルーチングスイッ
チ(RS)を有し、パケットは開始ノードと宛先ノードと
の間でこのような一連のルーチングスイッチを使用する
請求項8に記載のコンピュータネットワーク。 - 【請求項10】ルーチングスイッチはそれぞれ前記複数
の出力のいずれかに選択的に接続しうる複数の入力を有
する請求項8または9に記載のコンピュータネットワー
ク。 - 【請求項11】ルーチングスイッチは、その入力と、対
応する生成回路と、前記生成回路のうち選択されたもの
の動作状態を設定する制御回路と、有する請求項10に記
載のコンピュータネットワーク。 - 【請求項12】ルーチングスイッチは、一連のルーチン
グスイッチによりパケットを受信する際、パケットの後
に続く部分がノード指標を形成するように、受信された
パケットの元のノード指標を削除する削除回路を有する
請求項8〜11のいずれかに記載のコンピュータネットワ
ーク。 - 【請求項13】ルーチングスイッチは、ノード指標をル
ーチングスイッチの識別部と比較し、かつ、そのノード
指標が検索中のルーチングスイッチと一致するとき、ラ
ンダムに生成されたノード指標を廃棄する廃棄回路を備
える請求項8ないし12のいずれか一項に記載のコンピュ
ータネットワーク。 - 【請求項14】ルーチングスイッチは、1つ以上の入力
に接続されるために選択された出力の使用を制御するア
ービトレーション回路(32)を有する請求項10に記載の
コンピュータネットワーク。 - 【請求項15】宛先ノードは第1組のアドレスから選択
されたアドレスによって識別され、中間ノードは第2組
のアドレスから選択されたアドレスによって識別され、
前記第2組は前記第1組とは別である請求項9ないし14
のいずれか一項に記載のコンピュータネットワーク。 - 【請求項16】複数のノード(N)を有しその少くとも
あるものがそれぞれ識別部を有するネットワーク内のコ
ンピュータ装置間でメッセージをルーチングするルーチ
ングスイッチにおいて、 各コンピュータ装置は宛先ノード識別を示すノード指標
とメッセージ部分を備えたメッセージパケットを生成す
るパケット生成回路を有し、 前記ルーチングスイッチは、開始ノードからメッセージ
パケットを受信する入力(12a,…,12n)と、複数の出力
(14a,…,14n)と、前記入力を前記出力の選択された一
つに選択的に接続するスイッチ回路(10)と、前記入力
に接続されメッセージパケット用の付加的なオード指標
であってネットワーク内の複数のノードからランダムに
選択された中間ノードを識別するノード指標を生成しう
る生成回路(24)と、前記付加的なノード指標を読み取
るとともに、前記ランダムに生成されたノード指標に対
応する前記出力の一つが前記入力に接続されるように前
記スイッチ回路に接続される読み取り回路(22)と、 を有するルーチングスイッチ。 - 【請求項17】各出力は、宛先ノード識別の各範囲を指
定する請求項16に記載のルーチングスイッチ。 - 【請求項18】前記複数の出力のいずれかに選択的に接
続しうる複数の入力を有する請求項16または17に記載の
ルーチングスイッチ。 - 【請求項19】前記入力のそれぞれに対応して設けられ
る生成回路と、前記生成回路のうち選択されたものの動
作状態を設定する制御回路と、を備える請求項18に記載
のルーチングスイッチ。 - 【請求項20】受信されたパケットの元のノード指標を
廃棄する廃棄回路(28)を備え、この廃棄回路に接続さ
れた一連のルーチングスイッチによりパケットを受信す
る際に、パケット中の元のノード指標以外の部分がノー
ド指標を構成する請求項16〜19のいずれかに記載のルー
チングスイッチ。 - 【請求項21】前記ノード指標を前記ルーチングスイッ
チの識別部と比較可能で、ノード指標が検索中の前記ル
ーチングスイッチと一致するときに以前にランダムに生
成された前記ノード指標を廃棄する請求項16〜20のいず
れかに記載のルーチングスイッチ。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB898915137A GB8915137D0 (en) | 1989-06-30 | 1989-06-30 | Message routing |
GB8915137.7 | 1989-06-30 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH03132130A JPH03132130A (ja) | 1991-06-05 |
JP2988972B2 true JP2988972B2 (ja) | 1999-12-13 |
Family
ID=10659383
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP17434790A Expired - Lifetime JP2988972B2 (ja) | 1989-06-30 | 1990-06-30 | メッセージルーチング方法、コンピュータネットワーク及びルーチングスイッチ |
Country Status (5)
Country | Link |
---|---|
US (3) | US5130977A (ja) |
EP (1) | EP0405989B1 (ja) |
JP (1) | JP2988972B2 (ja) |
DE (1) | DE69029763T2 (ja) |
GB (1) | GB8915137D0 (ja) |
Families Citing this family (77)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB8915137D0 (en) * | 1989-06-30 | 1989-08-23 | Inmos Ltd | Message routing |
DE69219385T2 (de) * | 1991-02-27 | 1997-08-21 | Nippon Electric Co | Vielfachzugriffskommunikationssystem mit Verbindungswegaufbau zwischen Zentrale, Verstärkerstationen und Endstationen |
US5426427A (en) * | 1991-04-04 | 1995-06-20 | Compuserve Incorporated | Data transmission routing system |
EP0515989A3 (en) * | 1991-05-28 | 1993-11-24 | Siemens Ag | Method for the selection of a switching route |
FR2681164A1 (fr) * | 1991-09-06 | 1993-03-12 | Thomson Csf | Procede pour l'acheminement d'un paquet de donnees dans un reseau de transmission numerique. |
US5398245A (en) * | 1991-10-04 | 1995-03-14 | Bay Networks, Inc. | Packet processing method and apparatus |
DE59310324D1 (de) * | 1992-04-24 | 2003-02-13 | Siemens Ag | Verfahren zur Überwachung von virtuellen Verbindungen innerhalb eines digitalen Fernmeldenetzes |
AU4661793A (en) * | 1992-07-02 | 1994-01-31 | Wellfleet Communications | Data packet processing method and apparatus |
US5355364A (en) * | 1992-10-30 | 1994-10-11 | International Business Machines Corporation | Method of routing electronic messages |
US6157967A (en) * | 1992-12-17 | 2000-12-05 | Tandem Computer Incorporated | Method of data communication flow control in a data processing system using busy/ready commands |
US5598568A (en) * | 1993-05-06 | 1997-01-28 | Mercury Computer Systems, Inc. | Multicomputer memory access architecture |
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 |
DE69419255T2 (de) * | 1993-07-30 | 2000-01-20 | British Telecommunications P.L.C., London | Kommunikationssystem mit verkehrsverteilung über mehrere wege |
US5481673A (en) * | 1993-08-20 | 1996-01-02 | Bell Communications Research Inc. | Method for cluster routing in direct link using two associated routing tables at node or signaling transfer point |
US5668809A (en) * | 1993-10-20 | 1997-09-16 | Lsi Logic Corporation | Single chip network hub with dynamic window filter |
US5802287A (en) * | 1993-10-20 | 1998-09-01 | Lsi Logic Corporation | Single chip universal protocol multi-function ATM network interface |
US5708659A (en) * | 1993-10-20 | 1998-01-13 | Lsi Logic Corporation | Method for hashing in a packet network switching system |
US5446726A (en) * | 1993-10-20 | 1995-08-29 | Lsi Logic Corporation | Error detection and correction apparatus for an asynchronous transfer mode (ATM) network device |
US5640399A (en) * | 1993-10-20 | 1997-06-17 | Lsi Logic Corporation | Single chip network router |
JP3129143B2 (ja) * | 1994-05-31 | 2001-01-29 | 松下電器産業株式会社 | データ転送方法 |
US5555543A (en) * | 1995-01-03 | 1996-09-10 | International Business Machines Corporation | Crossbar switch apparatus and protocol |
US5956521A (en) * | 1995-06-26 | 1999-09-21 | Wang; Kevin Kuan-Pin | System for universal electronic mail delivery where messaging devices are notified using a particular dialing, ringing, and hanging-up pattern |
AU6503396A (en) * | 1995-07-19 | 1997-02-18 | Ascom Nexion Inc. | Asynchronous transfer mode based service consolidation switch |
US5905729A (en) * | 1995-07-19 | 1999-05-18 | Fujitsu Network Communications, Inc. | Mapping a data cell in a communication switch |
WO1997010656A1 (en) | 1995-09-14 | 1997-03-20 | Fujitsu Network Communications, Inc. | Transmitter controlled flow control for buffer allocation in wide area atm networks |
US5870631A (en) * | 1995-12-15 | 1999-02-09 | International Business Machines Corporation | System for operating system software providing input buffer for receiving variable-length bit stream with a header containing synchronization data recognized by universal serial controller |
AU1697697A (en) | 1996-01-16 | 1997-08-11 | Fujitsu Limited | A reliable and flexible multicast mechanism for atm networks |
US5991296A (en) | 1996-02-22 | 1999-11-23 | Fujitsu, Ltd. | Crossbar switch and method with reduced voltage swing and no internal blocking data path |
US9619841B2 (en) | 1996-03-28 | 2017-04-11 | Integrated Claims Systems, Llc | Systems to assist in the creation, transmission, and processing of health insurance claims |
US6003007A (en) * | 1996-03-28 | 1999-12-14 | Dirienzo; Andrew L. | Attachment integrated claims system and operating method therefor |
US6243667B1 (en) * | 1996-05-28 | 2001-06-05 | Cisco Systems, Inc. | Network flow switching and flow data export |
GB9617553D0 (en) * | 1996-08-21 | 1996-10-02 | Walker Christopher P H | Communication system with improved routing switch |
US5748905A (en) | 1996-08-30 | 1998-05-05 | Fujitsu Network Communications, Inc. | Frame classification using classification keys |
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 |
US6275861B1 (en) * | 1996-09-27 | 2001-08-14 | Pmc-Sierra, Inc. | Method and apparatus to identify flows in data systems |
US6581104B1 (en) * | 1996-10-01 | 2003-06-17 | International Business Machines Corporation | Load balancing in a distributed computer enterprise environment |
US6088356A (en) * | 1997-06-30 | 2000-07-11 | Sun Microsystems, Inc. | System and method for a multi-layer network element |
US6119196A (en) * | 1997-06-30 | 2000-09-12 | Sun Microsystems, Inc. | System having multiple arbitrating levels for arbitrating access to a shared memory by network ports operating at different data rates |
US6081512A (en) * | 1997-06-30 | 2000-06-27 | Sun Microsystems, Inc. | Spanning tree support in a high performance network device |
US6115378A (en) * | 1997-06-30 | 2000-09-05 | Sun Microsystems, Inc. | Multi-layer distributed network element |
US6094435A (en) * | 1997-06-30 | 2000-07-25 | Sun Microsystems, Inc. | System and method for a quality of service in a multi-layer network element |
US6081522A (en) * | 1997-06-30 | 2000-06-27 | Sun Microsystems, Inc. | System and method for a multi-layer network element |
US6049528A (en) * | 1997-06-30 | 2000-04-11 | Sun Microsystems, Inc. | Trunking ethernet-compatible networks |
US6128666A (en) * | 1997-06-30 | 2000-10-03 | Sun Microsystems, Inc. | Distributed VLAN mechanism for packet field replacement in a multi-layered switched network element using a control field/signal for indicating modification of a packet with a database search engine |
US6044087A (en) * | 1997-06-30 | 2000-03-28 | Sun Microsystems, Inc. | Interface for a highly integrated ethernet network element |
US6021132A (en) * | 1997-06-30 | 2000-02-01 | Sun Microsystems, Inc. | Shared memory management in a switched network element |
US6016310A (en) * | 1997-06-30 | 2000-01-18 | Sun Microsystems, Inc. | Trunking support in a high performance network device |
US6044418A (en) * | 1997-06-30 | 2000-03-28 | Sun Microsystems, Inc. | Method and apparatus for dynamically resizing queues utilizing programmable partition pointers |
US6246680B1 (en) | 1997-06-30 | 2001-06-12 | Sun Microsystems, Inc. | Highly integrated multi-layer switch element architecture |
US5999963A (en) * | 1997-11-07 | 1999-12-07 | Lucent Technologies, Inc. | Move-to-rear list scheduling |
GB9725372D0 (en) | 1997-11-28 | 1998-01-28 | 3Com Ireland | Trunking in stacked communication devices |
GB9725374D0 (en) * | 1997-11-28 | 1998-01-28 | 3Com Ireland | Port mirroring and security in stacked communication devices |
EP1050144A1 (en) * | 1998-01-22 | 2000-11-08 | Maxon Systems Inc. (London) Ltd. | Secure data communication system |
US6442171B1 (en) * | 1998-05-26 | 2002-08-27 | Qualcomm Incorporated | Logical topology and address assignment for interconnected digital networks |
US6163819A (en) | 1998-07-21 | 2000-12-19 | Micron Technology, Inc. | Sequential data transfer circuit |
US6088812A (en) * | 1998-07-21 | 2000-07-11 | Micron Technology, Inc. | Sequential data transfer method |
US6745234B1 (en) * | 1998-09-11 | 2004-06-01 | Digital:Convergence Corporation | Method and apparatus for accessing a remote location by scanning an optical code |
US6145032A (en) * | 1998-09-21 | 2000-11-07 | International Business Machines Corporation | System for recirculation of communication transactions in data processing in the event of communication stall |
US6323867B1 (en) * | 1999-04-26 | 2001-11-27 | Mediaq Inc. | Parsing graphics data structure into command and data queues |
US6757742B1 (en) * | 2000-05-25 | 2004-06-29 | Advanced Micro Devices, Inc. | Computer-based system for validating hash-based table lookup schemes in a network switch |
JP2001339448A (ja) * | 2000-05-29 | 2001-12-07 | Denso Corp | 受信装置に用いられる復号装置 |
US6452903B1 (en) | 2000-05-31 | 2002-09-17 | Fujitsu Network Communications, Inc. | Network switch supporting rate-based and credit-based flow control mechanisms on a link-by-link basis |
US6466541B1 (en) | 2000-05-31 | 2002-10-15 | Fujitsu Network Communications, Inc. | Cell pacing on a network link employing a rate-based flow control protocol with underlying credit-based flow control mechanisms |
US6671739B1 (en) * | 2000-07-10 | 2003-12-30 | International Business Machines Corporation | Controlling network access by modifying packet headers at a local hub |
US7061907B1 (en) | 2000-09-26 | 2006-06-13 | Dell Products L.P. | System and method for field upgradeable switches built from routing components |
US6775518B2 (en) * | 2002-01-25 | 2004-08-10 | Svi Systems, Inc. | Interactive education system |
TWI234374B (en) * | 2003-03-04 | 2005-06-11 | Realtek Semiconductor Corp | Spread spectrum encoding method and spread spectrum encoding modulation method |
US8352724B2 (en) | 2003-07-23 | 2013-01-08 | Semiconductor Energy Laboratory Co., Ltd. | Microprocessor and grid computing system |
US7804906B2 (en) * | 2004-11-01 | 2010-09-28 | Metanoia Technologies, Inc. | Multicarrier transceiver |
US7307554B2 (en) * | 2004-12-20 | 2007-12-11 | Kawasaki Microelectronics, Inc. | Parallel data transmission method and parallel data transmission system |
US8203971B2 (en) * | 2007-01-12 | 2012-06-19 | Samsung Electronics Co., Ltd. | Group communication in a mobile ad-hoc network |
TW201001224A (en) * | 2008-06-24 | 2010-01-01 | Inventec Corp | Address-simulation device and method thereof |
US9978265B2 (en) | 2016-04-11 | 2018-05-22 | Tti (Macao Commercial Offshore) Limited | Modular garage door opener |
Family Cites Families (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB111399A (en) | 1917-07-04 | 1917-11-29 | Edgar Peckham | Improvements in Electrical Massage Appliances. |
NL121716C (ja) * | 1961-04-04 | 1967-02-08 | ||
US4216460A (en) * | 1977-07-14 | 1980-08-05 | Independent Broadcasting Authority | Transmission and/or recording of digital signals |
FR2507035B1 (fr) * | 1981-06-02 | 1988-09-16 | Thomson Csf | Procede de codage de donnees binaires et dispositif de transmission de signal video numerise mettant en oeuvre un tel procede |
US4486739A (en) * | 1982-06-30 | 1984-12-04 | International Business Machines Corporation | Byte oriented DC balanced (0,4) 8B/10B partitioned block transmission code |
US4663706A (en) * | 1982-10-28 | 1987-05-05 | Tandem Computers Incorporated | Multiprocessor multisystem communications network |
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 |
SE457505B (sv) * | 1984-01-10 | 1989-01-09 | Lejus Medical Ab | Laminatbelagd oral farmaceutisk komposition och foerfarande foer dess framstaellning |
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 |
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 |
DE3614062A1 (de) * | 1986-04-23 | 1987-10-29 | Siemens Ag | Verfahren zur flusssteuerung von daten innerhalb eines vermaschten datennetzes |
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 |
US4839891A (en) * | 1987-07-24 | 1989-06-13 | Nec Corporation | Method for controlling data flow |
GB8724208D0 (en) * | 1987-10-15 | 1987-11-18 | Newman P | Self-routing switching element |
US4908823A (en) * | 1988-01-29 | 1990-03-13 | Hewlett-Packard Company | Hybrid communications link adapter incorporating input/output and data communications technology |
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 |
US4939724A (en) * | 1988-12-29 | 1990-07-03 | Intel Corporation | Cluster link interface for a local area network |
US4995056A (en) * | 1989-01-13 | 1991-02-19 | International Business Machines Corporation | System and method for data communications |
NL8900269A (nl) * | 1989-02-03 | 1990-09-03 | Nederland Ptt | Methode voor het via een meervoud van asynchroon tijdverdeelde transmissiekanalen overdragen van een stroom van datacellen, waarbij per transmissiekanaal een tellerstand wordt bijgehouden, die afhankelijk is van het aantal datacellen per tijd. |
GB8915137D0 (en) * | 1989-06-30 | 1989-08-23 | Inmos Ltd | Message routing |
GB8915135D0 (en) * | 1989-06-30 | 1989-08-23 | Inmos Ltd | Message routing |
-
1989
- 1989-06-30 GB GB898915137A patent/GB8915137D0/en active Pending
-
1990
- 1990-06-28 EP EP90307108A patent/EP0405989B1/en not_active Expired - Lifetime
- 1990-06-28 DE DE69029763T patent/DE69029763T2/de not_active Expired - Lifetime
- 1990-06-29 US US07/546,092 patent/US5130977A/en not_active Expired - Lifetime
- 1990-06-30 JP JP17434790A patent/JP2988972B2/ja not_active Expired - Lifetime
-
1992
- 1992-04-17 US US07/870,393 patent/US5327127A/en not_active Expired - Lifetime
-
1993
- 1993-01-12 US US08/033,143 patent/US5422879A/en not_active Expired - Lifetime
Non-Patent Citations (1)
Title |
---|
IEEE Trans.on Comp.Vol.C−36,No.5,p.547−553 |
Also Published As
Publication number | Publication date |
---|---|
US5130977A (en) | 1992-07-14 |
GB8915137D0 (en) | 1989-08-23 |
US5327127A (en) | 1994-07-05 |
EP0405989A2 (en) | 1991-01-02 |
DE69029763D1 (de) | 1997-03-06 |
EP0405989B1 (en) | 1997-01-22 |
US5422879A (en) | 1995-06-06 |
JPH03132130A (ja) | 1991-06-05 |
EP0405989A3 (en) | 1992-10-14 |
DE69029763T2 (de) | 1997-09-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2988972B2 (ja) | メッセージルーチング方法、コンピュータネットワーク及びルーチングスイッチ | |
JP3174046B2 (ja) | メッセージルーチング方法、コンピュータネットワーク、ルーチングスイッチ | |
US5422881A (en) | Message encoding | |
EP3776231B1 (en) | Procedures for implementing source based routing within an interconnect fabric on a system on chip | |
US7668970B2 (en) | Optimized scalable network switch | |
US4933933A (en) | Torus routing chip | |
US10182021B2 (en) | Crossbar switch and recursive scheduling | |
US7680126B2 (en) | Two-dimensional pipelined scheduling technique | |
US6370145B1 (en) | Internet switch router | |
US8285789B2 (en) | Flattened butterfly processor interconnect network | |
JP2001514463A (ja) | 仮想チャネル割当てを持つルータ | |
US6278709B1 (en) | Routing switch | |
JPH06203001A (ja) | 電子メッセージ通信の経路選択方法 | |
JP2003508954A (ja) | ネットワーク・スイッチ及びコンポーネント及び操作方法 | |
JP2003508967A (ja) | ネットワーク・プロセッサ及び方法を用いるネットワーク・スイッチ | |
JPH01123548A (ja) | 通信交換装置 | |
US6999453B1 (en) | Distributed switch fabric arbitration | |
JP2000224198A (ja) | 衛星通信システムにおけるア―ビトレ―ション装置及び方法 | |
US20050190795A1 (en) | Method and allocation device for allocating pending requests for data packet transmission at a number of inputs to a number of outputs of a packet switching device in successive time slots | |
US20040076147A1 (en) | Variable sized information frame switch for on-board security networks | |
Dobinson et al. | Triggering and event building results using the C104 packet routing chip | |
JP2002207648A (ja) | 並列計算機の識別番号変換方法 | |
Shepherd et al. | Next Generation Transputers and Beyond-1: Transputers and Routers: Components for Concurrent Machines |
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 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20071008 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081008 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091008 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101008 Year of fee payment: 11 |
|
EXPY | Cancellation because of completion of term | ||
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101008 Year of fee payment: 11 |