JPH11511634A - 非同期パケット交換 - Google Patents

非同期パケット交換

Info

Publication number
JPH11511634A
JPH11511634A JP9530406A JP53040697A JPH11511634A JP H11511634 A JPH11511634 A JP H11511634A JP 9530406 A JP9530406 A JP 9530406A JP 53040697 A JP53040697 A JP 53040697A JP H11511634 A JPH11511634 A JP H11511634A
Authority
JP
Japan
Prior art keywords
packet
frame
mover
node
serial number
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
JP9530406A
Other languages
English (en)
Other versions
JP3816531B2 (ja
Inventor
マーチン ウィッキ,トーマス
ジェイ. ヘーランド,パトリック
シミズ,タケシ
ウェバー,ウルフ−ディートリッヒ
ダブリュ. ウィルク,ウィンフリード
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of JPH11511634A publication Critical patent/JPH11511634A/ja
Application granted granted Critical
Publication of JP3816531B2 publication Critical patent/JP3816531B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/34Source routing

Landscapes

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

Abstract

(57)【要約】 マルチプロセッサシステムは複数のノードとルータを含む相互接続とを含んでいる。各ノードはリライアブルパケットムーバとファストフレームムーバを含んでいる。リライアブルパケットムーバはファストフレームムーバにパケットを供給し、ファストフレームムーバはパケットにルーチング情報を付加してフレームを形成する。各ノードへのルートは予め決定される。フレームはルータに供給されそれはルーチング情報からルートを削除する。フレームがルーチング中に損なわれたらルータはそのフレームを廃棄する。パケットが宛先ノードで受信されたらそのノードのリライアブルパケットムーバはパケットがエラー検知を通過したら発信元ノードへアクノリッジメントを送る。発信元ノードのリライアブルパケットムーバは予め定められた時間内にアクノリッジメントを受信しなければパケットを再送する。ファストフレームムーバは宛先ノードへの複数の予め定められたルートから確率分布に従ってランダムにルートを選択する。

Description

【発明の詳細な説明】 非同期パケット交換 関連出願の相互参照 本願発明の主題は、下記に掲げる出願の主題と関連している。 出願番号 、弁護士用ドケット番号2269、“ダイナミックなネットワ ーク・トポロジー探査のシステムおよび方法”の名称で、Thomas M.Wicki,Patr ick J.Helland,Wolf-Dietrich Weberおよび Winfried W.Wilckeによって1996年 2月22日に出願、 出願番号 、弁護士用ドケット番号2270、“低い待ち時間、高いクロ ック周波数 プレジオ非同期 パケットベース クロスバー・スイッチング・チ ップ・システムおよび方法”の名称で、Thomas M.Wicki,Jeffrey D.Larson,Al bert MuおよびRaghu Sastryによって1996年2月22日に出願、 出願番号 、弁護士用ドケット番号2271、“パケットスイッチングネ ットワーク内のルーチングデバイス出力アクセス用調整方法および装置”の名称 で、Jeffrey D.Larson,Albert MuおよびThomas M.Wickiによって1996年2月22 日に出願、 出願番号 、弁護士用ドケット番号2272、“電圧の揺れを少なくし、 かつ、内部のブロック化データパスを生じさせないクロスバースイッチおよびそ の方法”の名称で、Albert MuおよびJeffrey D.Larsonによって1996年2月22日 に出願、 出願番号 、弁護士用ドケット番号2274、“フロー制御プロトコル・ システムおよび方法”の名称で、Thomas M.Wicki,Patrick J.Helland,Jeffrey D.Larson,Albert Mu,Raghu SastryおよびRichard L.Schober,Jr.によって19 96年2月22日に出願、 出願番号 、弁護士用ドケット番号2275、“相互接続の障害検出およ びその位置特定方法および装置”の名称で、Raghu Sastry,Jeffrey D.Larson, Albert Mu,John R.Slice,Richard L.Schober,Jr.およびThomas M.Wickiによ って1996年2月22日に出願、 出願番号 、弁護士用ドケット番号2277、“多重ワード通信における エラー検出方法および装置”の名称で、Thomas M.Wicki,Patrick J.Hellandお よび Takeshi Shimizuによって1996年2月22日に出願、 出願番号 、弁護士用ドケット番号2278、“正のソース帰還をそなえ たクロック動作されるセンス増幅器”の名称で、Albert Muによって1996年2月2 2日に出願、 参考として、上記の出願の全てを本願発明の全体に亘って取り入れている。 発明の分野 本発明は、ネットワーク上のデータ転送、特に、マルチプロセッサ環境におけ る非同期パケット交換データ転送に関する。 発明の背景 マルチプロセッサシステムは1つまたはそれ以上のメモリに接続されたいくつ かのプロセッサを含んでいる。それらの相互接続は、例えば共有バス、クロスバ ー等のいくつかの形の1つを取り得る。そのような相互接続は高速アクセス(短 かい待ち時間)と広い帯域幅をサポートしなければならない。現在存在している 相互接続には(バス相互接続におけるように)帯域幅が制限されるか(クロスバ ー相互接続におけるように)スケーラビリティの問題があるか(一 般のネットワークにおけるように)待ち時間が長過ぎるといった欠点がある。 すべてのメモリに対して短かい待ち時間で広い帯域幅のアクセスを可能にする マルチプロセッサシステムが望まれている。さらにプロセッサ/メモリが追加さ れたとき利用可能な帯域幅が増える(比例的に増える)べきである。 発明の概要 本発明において、マルチノードシステムは互いに結合された複数のノードを具 備している。ノードはポイント−ポイント間のパケットで互いに通信している。 各ノードはパケットムーバとフレームムーバを含んでいる。パケットムーバはフ レームムーバへパケットを供給し、他のパケットムーバの1つからのパケットの 受信に応答してアクノリッジメントを供給し、アクノリッジメントが予め定めら れた時間内に他のパケットムーバの1つから受信されないならばパケットをフレ ームムーバへ再送する。各パケットは宛先ノードを指示する。フレームムーバは パケットをフレームに変換し宛先ノードまでのルートを生成する。フレームに欠 陥があれば廃棄されパケットムーバがそのパケットを再送する。フレームムーバ はソースルーチングとノードまでの複数ルートを提供する。相互接続はフレキシ ブルなトポロジで良い。パケットは制限された有限の寿命を有する。 フレームムーバは宛先ノードまでの予め選択されたルートを選択し、該予め選 択されたルートを含むフレームを生成し、フレームを宛先ノードへの伝達のため に複数のルータへ供給する。ルートはそれらの間での伝達のための複数のルータ のうちのいくつかを通るルートステップの連鎖を含んでいる。フレームムーバは 宛先ノードま での複数の予め選択されたルートを格納するためのルーチングテーブルを含み、 フレームに含めるために複数の予め選択されたルートの1つを選択するためのコ ントローラを含んでいる。 図面の簡単な説明 図1は本発明に係るマルチプロセッサシステムを表わすブロック図である。 図2は図1のマルチプロセッサシステムのプロトコル階層を表わすブロック図 である。 図3はフレームとパケットを表わす図である。 図4はファストフレームムーバを表わすブロック図である。 図5はフレームのルートの選択を表わすブロック図である。 図6はフレームが相互接続を経て伝達される間のフレームヘッダ内のルーチン グ情報の修正を表わすブロック図である。 図7は半メッシュリンクを表わす図である。 図8はメッシュリンクのレシーバとトランスミッタの対に対する異なるクロッ クドメインを表わすブロック図である。 図9は本発明の第2の実施例におけるフォールトトレラントな相互接続を表わ すブロック図である。 図10はバーチャルカットスルールーチングを表わすブロック図である。 図11は図1のマルチプロセッサシステムのリライアブルパケットムーバを表わ すブロック図である。 図12aはリライアブルパケットムーバによるパケットの送信動作を表わすフロ ーチャートである。 図12bはリライアブルパケットムーバによるアクノリッジメントの処理とパケ ットの再送の動作を表わすフローチャートである。 図13はリライアブルパケットムーバによるパケットの受信の動作を表わすフロ ーチャトである。 図14はペンディングパケットバッファをチェックする動作を表わすフローチャ ートである。 好適な具体例の詳細な記述 本発明の好適な具体例が図面を参照して記述されるが、そこでは同じ参照番号 は同一または機能的に類似の要素を示している。また各参照番号の下2桁以外の 数字はその参照番号が最初に使われる図面に対応している。 図1を参照すると、本発明に係るマルチプロセッサシステム 100を表わすブロ ック図が示されている。マルチプロセッサシステム 100は各々がメッシュリンク 120で相互接続 104に結合された複数のプロセッサノード 102を含んでいる。各 プロセッサノード 102はプロセッサ 106、コヒーレンス制御ユニット 110及びロ ーカルメモリ 112を含んでいる。コヒーレンス制御ユニット 110はリライアブル パケットムーバ(RPM)114とファストフレームムーバ(FFM)116を含んでいる。 リライアブルパケットムーバ 114はプロセッサノード 102間の信頼性のあるエ ンド−エンド間データ通信を提供する。ファストフレームムーバ 116はデータを 発信元プロセッサノード 102から宛先プロセッサノード 102へルーチングする。 各プロセッサノード 102に対して、あらゆる宛先プロセッサノード 102へ向かう 少なくとも1つの経路がファストフレームムーバ 116に格納されている。相互接 続 104におけるトポロジー及びその中の失敗の領域の決定方法は、米国出願番号 、弁護士用ドケット番号2269、““ダイナミックなネットワート・ト ポロジー探査のシステムおよび方法”の名 称で、Thomas M.Wicki,Patrick J.Helland,Wolf-Dietrich Weberおよび Winfr ied W.Wilckeによって1996年2月22日に出願、に記述されており、その事項は参 照することによりここに組み入れられる。 プロセッサ 102の他のアーキテクチャも使用可能である。例えば、コヒーレン ス制御ユニット 110はプロセッサ 106に結合されたキャッシュメモリに結合され ても良い。 相互接続 104はメッシュリンク 120で相互接続された複数のルータ 118を含ん でいる。複数のプロセッサノード 102はメッシュリンク 120でルータ 118に結合 されている。1つ以上のプロセッサノード 102が同じルータ 118に結合されても 良い。ルータ 118は好ましくはクロスバースイッチである。図示の目的のために ここに記述される特別の実現形態において、ルータ 118は6つのポートを有して いる。勿論、プロセッサノード 102の数が少ないシステムにおいては、相互接続 104は唯1つのルータ 118を含んでおり、2つのプロセッサノード 102を含むシ ステムでは、ルータ 118が含まれる必要はない。ルータの一例は、米国出願番号 、弁護士用ドケット番号2273、“低い待ち時間、高いクロック周波数 プレジオ非同期 パケットベース クロスバー・スイッチング・チップ・シス テムおよび方法”の名称で、Thomas M.Wicki,Jeffrey D.Larson,Albert Muお よびRaghu Sastryによって1996年2月22日に出願、に記述されており、その事項 は参照することによりここに組み入れられる。 相互接続 104はすべての通信がプロセッサノード 102−プロセッサノード 102 間で直接行なわれるパケットベースのプロトコルを使用する。相互接続 104は多 数同報または放送機能を提供する必要はない。すべての転送データは、図3との 関連において以下に記述さ れるパケットに分けられる。 マルチプロセッサシステム 100は不均一なメモリアクセス時間を提供する共有 メモリシステムである。プロセッサ 106は他のローカルメモリ 112をアクセスす ることもできる。第1のプロセッサノード 102のローカルメモリ 112へのアクセ スは他のプロセッサノード 102のメモリへのアクセス時間よりも短かい。プロセ ッサ 106がローカルメモリ 112をより多く使用することを許すソフトウェアを書 くことにより、待ち時間は減少する。ネットワークの待ち時間は、メモリ要求が 送信されたときから測定された、要求中のプロセッサノード 102へ要求されたデ ータがもたらされるまでに必要な時間である。言い換えれば、待ち時間はデータ が要求された後にそれが受け取られるまでにどれだけの時間がかかるかを示して いる。 コヒーレンス制御ユニット 110とローカルメモリ 112の間のリンクの帯域幅は 、コヒーレンス制御ユニット 112と相互接続 104の間のリンクの帯域幅に実質的 に等しいことが好ましい。帯域幅はデータを受け取りまたは送出することのでき る速度とパスの幅の双方に依存する。 マルチプロセッサシステム 100は好適には分散メモリシステムである。より特 定すれば、システム 100は物理的に分散されているがローカルメモリ 112が論理 的に共有されるメモリアーキテクチャを有している。例えば、プロセッサノード 102例えばノードAは、このノード 102がローカルであるものとして処理するが それは実際には異なるプロセッサノード 102例えばノードBに結合された異なる ローカルメモリ 112に物理的に位置するメモリ位置へのアクセスを要求すること ができる。要求中のノードまたは発信元のノード(ノードA)のコヒーレンス制 御ユニット 110はメモリの位置を特定しその位置に格納されたデータがすばやく 取り出される。 マルチプロセッサシステム 100はプロセッサとしての能力を持たない入力/出 力(I/O)ノード 103もまた含んでいる。明確化のため、唯一のI/Oノード 103が示されている。そのようなノード 103は PCIバスまたはSバスのようなバ スとのインターフェースをとるためのバス変換器であっても良い。そのようなI /Oノード 103はここに記述されたような発信元または宛先ノード 102として機 能することもできる。このように、ここでのデータの通信及び処理の記述におい て、プロセッサノード 102が記述されるとき、I/Oノード 103もまた使用する ことができる。 図2を参照すると、プロセッサノード 102と相互接続 104のプロトコル階層を 表わすブロック図が示されている。プロトコル階層は相互接続サービスマネージ ャ(ISM)層 202、リライアブルパケットムーバ(RPM)層 104、ファストフレームム ーバ(FFM)層 206、及び物理層 208を含んでいる。コヒーレンス制御ユニット 11 0は、プロセッサ 106が実行するソフトウェアで制御可能な相互接続サービスマ ネージャ層 202、リライアブルパケットムーバ層 204、ファストフレームムーバ 層 206、及び物理層 208の一部、の機能を提供する。それらの階層ではシステム 100の機能のより能率的な分割とシステムの一部の独立な更新及び試験のことが 考慮されている。相互接続サービスマネージャ層 202はコヒーレンスを保証する ためにポイント−ポイント間でメッセージを通信する。第1のプロセッサノード 202の相互接続マネージャ層 202が他のプロセッサノード 102へデータを送るか またはそれからのデータを要求するとき、第1のプロセッサノード 102の相互接 続マネージャ層 202は、リライアブルパケットムーバ 114にデータを送るべきで あるかまたは要求すべきであること及びデータの発信元または宛先を知らせるコ マンドをリライアブルパケットムーバ 114へ送る。 リライアブルパケットムーバ層 204では、発信元のプロセッサノード 102が宛 先のプロセッサノード 102へデータを送り、相互接続 104内の経路を決定するこ とまたは経路に関する何らの情報を使用することもない。リライアブルパケット ムーバ層 204は、パケット 302を通信するためにファストフレームムーバ層 206 を使うことによって、プロセッサノード 102間でパケット 302(図3参照)の信頼 性のある配送を提供する。リライアブルパケットムーバ層 204はエンド−エンド 間のデータの一貫性を提供する。リライアブルパケットムーバ層 204では、リラ イアブルパケットムーバ 114はデータを送りそのデータが受けとられたことを示 すアクノリッジ信号を監視する。もしそれが或るタイムアウト期間内にアクノリ ッジされなかったら、リライアブルパケットムーバ 114はデータを再送する。こ れは好ましくはソフトウェアによる実現ではなくハードウェアで実現される。こ のように、リライアブルパケットムーバ層 204は伝送中に失なわれたかまたは破 壊されたデータを再送する。リライアブルパケットムーバ層 204はパケットの重 複を抑制し、誤った順序で受信されたデータパケットの並べ換えを行なう。リラ イアブルパケットムーバ層 204は宛先プロセッサノード 102の送信パケットバッ ファ1106(図11)のオーバーランを避けるべくノード−ノード間のフロー制御を 提供する。リライアブルパケットムーバ層では、通信はプロセッサ 102間で行な われ1対多または同報通信ではない。パケット 302が2以上のプロセッサノード 102へ送られるときは、相互接続サービスマネージャ層 202が各宛先プロセッサ ノード 102へパケット 302のコピーを別々に送る。 ファストフレームムーバ層 206では、通信は直接に接続されたエレメント(例 えばプロセッサノード 102とルータ 118)間のポイント−ポイント間通信である 。フレーム300(図3参照)は発信元プロ セッサノード 102から相互接続 104のルータ 118を経て他のルータ 118へ送られ さらに宛先プロセッサノード 102へ送られる。ファストフレームムーバ層 206は 隣り合ったエレメント(ルータ 118とプロセッサノード 102)間の各ステップに ついてフロー制御を提供する。ファストフレームムーバ層 206はこれらのステッ プをつないだルートを提供し、それによってフレームを或るノードから他へ送達 する。ファストフレームムーバ層 206は使用されるフレーム 300の部分のみにつ いて簡単な一貫性チェックを行なうがエラーの訂正は行なわない。もしエラーが 起こったらファストフレームムーバ層 206はそのフレーム 300を廃棄し、その後 に、センダがデータを再送する。ファストフレームムーバ層 206はメッシュリン ク 120の他端に接続された直接の隣人のオーバーランを避けるためのメッシュリ ンクフロー制御を提供する。ファストフレームムーバ層 206は各フレーム 300に 対するエラー検出を行なわず悪いフレーム 300をドロップすることにより短かい 待ち時間でストリームライン化されている。 物理層 208は相互接続 104のケーブル、コネクタ等とプロセッサノード 102と のインターフェースを含んでいる。 図3を参照すると、フレーム 300とパケット 302を表わす図が示されている。 フレーム 300はファストフレームムーバ 116で使用されるデータ転送の単位であ る。フレーム 300はフレームヘッダ 304とフレーム本体であるパケット 302を含 んでいる。フレームヘッダ 304はルーチング情報 318、フロー制御情報 320、及 びプライオリティ情報 322を含んでいる。ルーチング情報 318はそのフレームを 処理しそのルーチングを制御する予定のルータ 118の連鎖を含んでいる。フロー 制御情報 320は次の下流のルータ 118またはプロセッサノード 102の容量に関す る情報を含んでおり、データの流れの制 御または停止を可能にする。プライオリティ情報 322はフレーム 300の優先度レ ベルを含んでいる。フレームヘッダ 304は好ましくは ム本体(パケット 302)は好適には大きさが2〜18(68ビット)ワードである。 パケット 302はパケットヘッダ 306とパケットデータ 308を含んでいる。パケ ットヘッダ 306はパケットヘッダディスクリプタ 310、プライオリティアクノリ ッジメントリクエスト 324、及びエラー検出コード(EDC)312を含んでいる。パ ケットヘッダ 306は好適には68ビットのワードで2ワードであり、各ワードは64 ビット(8バイト)のデータと4ビットの EDCである。パケット 302はパケット データ 308を含んでいなくても良い。パケットデータ 308は可変長であり、好ま しくは0ないし 128バイトのデータ(0ないし16ワード)である。例えばアクト リッジメントパケット(後述)はパケットヘッダ 306と EDC 312のみを含んでい る。パケットデータ 308はデータであって良い。パケットヘッダディスクリプタ 310は宛先プロセッサノード 102を示す情報を含んでいる。図12とともに後に説 明するように、リライアブルパケットムーバ 114はそれがパケット 302を処理す るときパケット 302に EDC 312を付加する。EDC 312は好ましくはパケット 308 の16バイトごとに1バイト(8ビット)である。EDC 312はパケットデータ 308 の各8バイトに対して4ビットとして格納され、16バイトまたは2ワードに対す る8ビットが1度にチェックされる。プライオリティアクノリッジメントリクエ スト 324はパケット 302が受信されたという既座のアクノリッジメントを宛先プ ロセッサノード 102が送ることの要求である。 リライアブルパケットムーバ 114はパケット 302の通し番号を含むパケットヘ ッダを生成する。通し番号は識別子であり発信元プロ セッサノード 102から宛先ノード 102へ送られるパケット 302の順序のインジケ ータである。通し番号は各発信元−宛先ノードのペアについて生成される。ファ ストフレームムーバ 116はフレーム本体(パケット 302)を調べたり修正したり はしない。ファストフレームムーバ 116はパケット 302を受信するとフレームヘ ッダ 304を生成する。ファストフレームムーバ層 206の一部であるルータ 118は 図5〜6に関連して以下に記述されるように相互接続 104を経てフレームが通信 されるときフレームヘッダ 304を修正する。宛先プロセッサノード 102のファス トフレームムーバ 116は宛先プロセッサノード 102のリライアブルパケットムー バ 114へパケット 302を引き渡すときフレームヘッダ 304を廃棄する。 図4を参照すると、送信回路 402と受信回路 404を含むファストフレームムー バ 116を表わすブロック図が示されている。各ファストフレームムーバ 116は送 信回路 402と受信回路 404の双方を含んでいるが、明確化のために、1つの送信 回路 402と1つの受信回路 404のみが示されている。送信回路 402はルーチング テーブル 406、乱数発生器 407、及び FFM送信コントローラ 408を含んでいる。 受信回路 404はバッファマネージャ 410、バッファ 412、及び FFM受信コントロ ーラ 414を含んでいる。ルーチングテーブル 406は相互接続 104を経て各宛先プ ロセッサノード 102へ至る少なくとも1つのルートを格納している。フレーム 3 00がルートに沿って通信されるときルート上の各ルータ 118はルートから1つの ルーチングステップを取り除くことによってフレームヘッダ 304を修正する。 ファストフレームムーバ 114及びルータ 118はメッシュリンク 120上のフロー 制御を維持する。受信回路 404のバッファマネージャ 410はバッファ 412のステ ータスを監視し、ルータ 118またはプロセッサノード 102のいずれかである次の 上流の隣人にメッシュリン ク 120を介してステータス情報を送る。同様に、各ルータ 118はその中のバッフ ァ(図示せず)のステータスを監視し、同様にルータ 118またはプロセッサノー ド 102のいずれかである次の上流の隣人にメッシュリンク 120を介してステータ ス情報を送る。発信元プロセッサノード 102のファストフレームムーバ 114また はルータはバッファ 412に空きができるまで次の下流の隣人(プロセッサノード 102またはルータのいずれか)へのフレーム 300の送信を遅くするかまたは停止 する。フロー制御のそのような実現の1つは米国出願番号 、弁護士用 ドケット番号2274、“フロー制御プロトコル・システムおよび方法”の名称で、 1996年2月22日に出願、に記述されており、その事項は参照することによりここ に組み入れられる。 ルータ 118はルータ 118の動作として許される範囲内のエラー検出を行なう。 例えば、ルータ 118はルータ 118の次のリンクが存在するかどうかを決定する。 例えば、ルータ 118が6つのポートを持っておりフレームヘッダ 304はフレーム 300がポート0のような存在していないポートへ供給されるべきであることを示 しているならばルータ 118はフレーム 300を廃棄する。 図5を参照すると、フレーム 300のルートの選択を表わすブロック図が示され ている。図6を参照すると、フレーム 300が相互接続 104を介して通信される間 におけるフレームヘッダ 304内のルーチング情報 318の修正を表わすブロック図 が示されている。ルートの選択は発信元プロセッサノード 102と宛先プロセッサ ノード 102と複数のルートの1つを取り出すための乱数のみに依存する。ルート は好ましくはフレーム 300の大きさまたは種類に基づかない。 相互接続 104を通るルートは決定論的である。ルートの選択は予め定められた ルートのテーブルを格納するルーチングテーブル 406 から選択される。ルートが選択されフレーム 300が相互接続 104へ供給されると パスが決定される。フレーム 300は宛先プロセッサノード 102までのこのルート に従うかまたはエラーの際にルートの途中で廃棄される。決定論的なルーチング はいくつかの利点をもたらす。第1に、ルータ 118による決定を伴うことなくフ レーム 300がフレーム 300の次の宛先を定めるのでルータ 118がフレーム 300を すばやく処理することができる。第2に、フレーム 300の相互接続内での寿命が 制限される。フレーム 300は有限の長さの予め定められたルートによって通信さ れる。このことはリライアブルパケットムーバ 114が有限の長さの通し番号を使 用することを許し、それによってパケットヘッダ 306の大きさが小さくなる。ほ とんどの場合に、このことは相互接続 104からの古いパケット 802をなくす。第 3に、予め選択されたルートは相互接続 104を通る任意のパスに従うことができ る。相互接続の負荷を適切に分散させることができる。 ルートは発信元プロセッサノード 102と宛先プロセッサノード 102の間で直接 結合されたルータ 118の連鎖を含んでいる。ルートは特別のトポロジを必要とし ない。実際、2つの直接結合されたルータ 118間のリンクがユニークに定められ る任意のトポロジが使用可能である。 特に図5〜6を参照すると、ファストフレームムーバ 116は、予め特定された 宛先ノード例えばプロセッサノードBに送られるべきであるパケット 302で示さ れるパケット 302をリライアブルパケットムーバ 114から受け取る。ファストフ レームムーバ 116は乱数発生器 407から1つの乱数を受け取る。ファストフレー ムムーバ 116は確率分布テーブル 502内の複数のメモリ位置 504の1つを選択す るためにこの乱数を使用する。各メモリ位置 504は、発信元プロセ ッサノード 102(例えばノードA)から宛先プロセッサノード 102(例えばノード B)までの複数の予め特定されたルートの1つを格納している。次にファストフ レームムーバ 116は選択されたメモリ位置 504からその中に格納されている予め 特定されたルートを抽出する。確率分布テーブル 502は好適にはルートの選択を 偏らせる予め特定された確率分布に従ってつくられる。例えば、ファストフレー ムムーバ 116はルーチングテーブル 406に格納されたルートの1つを予め定めら れた数のメモリ位置 504に格納することによって確率分布を生成する。確率分布 502はルートの各々がメモリ位置 504に格納される頻度によって決定される。フ ァストフレームムーバ 116はこのように選択された予め特定されたルートを含む フレームヘッダ 304を生成し、このフレームヘッダ 304をパケット 302に付加し てフレーム 300を生成する。 さて、特に図6を参照する。前述したようにフレームヘッダ 304は発信元プロ セッサノード 102から相互接続 104を経て宛先プロセッサノード 102に至る予め 定められたパスを特定するルーチング情報 318を含んでいる。前に指摘したよう に、ルートは一連のルートステップを含んでいる。各ルートステップはルータ 1 18がフレーム 300を送り出すルータ 118のポートを定める。各ルートステップは 可変の大きさを有する。例えば、6ポートのルータ 118においては3ビットがポ ートを定める。12ポートのルータ 118においては4ビットがポートを定める。従 って、1つのルートが様々な大きさのルータ 118を含む場合がある。勿論、ルー トが異なる数のルートステップを含む場合がある。この場合に、ルートは異なる 大きさのルートステップを含む。図6のリンク1において、ルーチングパスはリ ンク3、リンク5、リンク2及び宛先プロセッサノード 102である。ルーチング パスの各リンクはフレームヘッダ 304から次のリンク のコードを取り去り、フレームヘッダ 304内のルーチングパスをシフトし、フレ ームヘッダ 304の終りを存在しないプロセッサノードの番号すなわち0で満たす 。次にそのリンクは修正されたフレームヘッダ 304を有するフレーム 300を次の リンクに供給する。例えばリンク#3はポート5を経てフレーム 300を供給しフ レームヘッダ 304からリンク5を除去する。勿論、ルートの最後のリンクはフレ ーム 300を宛先プロセッサノード 102へ供給する。 図7を参照すると、メッシュリンク 120の半分を表わす線図が示されている。 メッシュリンク 120は1対の単方向のデータパスを含んでいる。この対は送信か ら受信へスイッチされる共有媒体よりも広い帯域幅を提供し、そのような共有媒 体に対して起こる伝幡遅延への依存性をなくす。高速度システムに対しては多ビ ットの情報がメッシュリンク 120上に一度に存在しうる。その対はルータ 118が 双方向で同時に通信することを可能にする。メッシュリンク 120はポイント−ポ イント間の電気接続を提供する。メッシュリンク 120は好適にはバスではない。 各単方向データパスはデータライン 702と制御ライン、特に、クロックライン 7 04、データ/ステータス指示ライン 706、フレームエンベロープライン 708及び 基準電圧ライン 710を含む半メッシュリンクである。データライン 702はフレー ム 300を伝達するためのパスを提供する。バッファステータス情報はフレーム 3 00が送られないときに同じデータライン 702上に多重化される。相互接続 104の 帯域幅はデータライン 702の数に依存する。データライン 702は好適にはクロッ クエッジあたり1/2ワードのフレーム 300を伝達するために34線である。クロ ックライン 704はフレーム 300を相互接続 104を経て供給しているプロセッサノ ード 102のクロックのための通信パスを提供する。クロックライン 704は好適に は2線上の完全差動単一クロックである。データ/ス テータス指示ライン 706はデータライン 702上の信号がデータであるかステータ スであるかを示す信号を供給する。例えば、図4との関連において前述されたよ うなメッシュリンク 120のフロー制御については、データ/ステータス指示ライ ン 706はバッファ 412のステータス情報がデータライン 702上で通信されている ことを示す。データ/ステータス指示ライン 706は好ましくは1本の線を有して いる。フレームエンベロープライン 708はフレームの始まりを示すフレームエン ベロープ信号を供給する。特に、フレームエンベロープ信号はフレームヘッダ 3 04の始まりを示し、フレームの伝送中はアクティブにとどまる。フレームエンベ ロープ信号はフレームの終りでまたはフレームが背中合わせで伝送されることを 可能にするためその終りよりも充分な時間だけ前にイナクティブになる。フレー ムエンベロープライン 708は好ましくは単一の線を有している。基準電圧ライン 710は単線差動であるすべてのデータ及び制御ライン 702,706,708上での小信 号の変化を可能にするため、ルータ 118またはプロセッサノード 102に対する基 準電圧を提供する。基準電圧ライン 710は好ましくは5線である。各メッシュラ イン 120は好ましくは各方向で43線或いは全体で86線を有している。これにより メッシュリンク 120上で34ビットのパラレル伝送が可能となる。したがって1ワ ードは2クロックサイクルで伝送され、それは双方のエッジでラッチされれば1 クロックサイクルに等しい。 図8を参照すると、メッシュリンク 120の1対のレシーバとトランスミッタに 対する異なるクロックドメインを表わすブロック図が示されている。各プロセッ サノード 102と各ルータ 118はクロック信号を提供するための内部クロック発生 器 802を有している。クロック発生器 802は好ましくは実質的に等しいクロック 信号を提供する。クロックはメッシュリンク 120上で次の隣人(宛先プロセッサ ノード 102またはルータ 118)へ供給され、それはデータを受け入れるためにこ のクロックを使用する。より特定すれば、このクロックは宛先プロセッサノード 102またはルータ 118においてファーストインファーストアクト(FIFO)バッフ ァ 804にデータをラッチするために使用される。宛先プロセッサノード 102また はルータ 118はFIFOバッファ 804からデータを読み出すためにそれ自身の内部ク ロック発生器 802を使用する。これにより宛先プロセッサノー ド 102またはル ータ 118のクロックからの周波数シフト及び位相シフトを有するクロックに基づ くデータを宛先プロセッサノード 102またはルータ 118が受け入れることが可能 になる。このクロック手法はすべてのクロック全体の同期化の必要性をなくす。 クロックドメインはプレジオ同期クロックドメインである。クロックはデータラ イン 702上のデータとともにメッシュリンク 120上に提供される。クロック手法 の一例は米国出願番号08/223,575、“データ同期化システム及び方法”の名称 で1994年4月6日に出願、にあり、その事項は参照することによりここに組み入 れられる。 図9を参照すると、本発明の第2の実施例に係るフォールトトレラントな相互 接続を表わすブロック図が示されている。相互接続 104はプロセッサノード 102 間にフォールトトレラントにするために冗長なパスを提供する少なくとも2つの サブメッシュ 902を含んでいる。ファストフレームムーバ 116は、動的に、機能 していないかまたは取り除かれたルータ 118またはメッシュリンク 120のまわり に再ルーチングするか他のサブメッシュ 902を使用する。 各サブメッシュ 902はすべてのプロセッサノード 102へメッシュリンク 120に より結合される。各サブメッシュ 902は好ましくはフォールトトレラントでない メッシュに類似している。各プロセッサノード 102はサブメッシュ 902の各々と 別のメッシュリンク 120で 結合されているルータ 118にメッシュリンク 120で結合される。 各ルータ 118はルータ 118がフレーム 300を廃棄するごとにインクリメントさ れるカウンタ(図示せず)を含んでいる。マルチプロセッサシステム 100は周期 的にカウンタを読みそれに接続されているルータ 118またはメッシュリンク 120 が欠陥を有しているかを決定する。そのような決定がなされたら、マルチプロセ ッサシステム 100は欠陥冗長性のあるシステムにおいて予め定められたルートか らそのルータ 118またはサブメッシュ 902を取り除く。例えば、プロセッサノー ド 102はルーチングテーブル 406からルートを選択するための確率分布テーブル 502からこのルートを削除する。プロセッサノード 102は各宛先プロセッサノー ド 102について要求されるパケット 302の再送の回数をカウントし、カウント値 が予め定められた閾値よりも大きければパス内のルータ 118が高い欠陥カウント を有しているかを決定する。 図10を参照すると、フレーム 300終りがまだ受信されていなくてもルート内の 次のルータ 118またはプロセッサノード 102へフレーム 300の始まりが送られる バーチャルカットスルールーチングを表わすブロック図が示されている。より特 定すれば、パケット 302は複数のセグメント1002、例えば7に区切られる。セグ メント1002は好ましくは異なるサイズである。前述のように、発信元プロセッサ ノード 102は宛先プロセッサノード 102へパケットを送るためのルートを選択す る。発信元プロセッサノード 102はフレーム 300をルート内の最初のルータ 118 に供給する。フレームヘッダ 306を受信すると、ルート内の第1のルータ 118は フレーム 300を送るための次のメッシュリンク 120を決定し受け側のバッファ資 源が利用可能であり出力ポートが利用可能であればフレーム 300の送出を開始す る。フレーム 300は宛先プロセッサノード 102を含む多くのルータ 118とメッシュリンクにまたがる可能性がある。図10に示されるように、フレー ム 300の第1セグメント1002は宛先プロセッサノード 102に到着し第2〜第6セ グメント1002はルート内の異なるルータ 118及びメッシュリンク 120にある。発 信元プロセッサノード 102は第7セグメント1002をまだ送っていない。バーチャ ルカットスルールーチングの待ち時間は代表的には中間のルータ 118におけるバ ッファリングを含んでいない。これに対して、蓄積交換ルーチングではメッセー ジ全体が転送の前に蓄積される。このようなルーチングでは待ち時間はバッファ リングを含んでいる。 図11を参照すると、リライアブルパケットムーバ 114を表わすブロック図が示 され、それは送信回路1102と受信回路1104を含んでいる。各リライアブルパケッ トムーバ 114は送信回路1102と受信回路1104の双方を含んでいるが、明確化のた め、1つの送信回路1102と1つの受信回路1104のみが示されている。送信回路11 02は失われたかまたは破壊されたデータの再送の制御のために送信パケットバッ ファ1106、 RPM送信コントローラ1108、パートナインフォメーションテーブル11 10及びタイムアウト回路1112を含んでいる。送信パケットバッファ1106は送信さ れたがアクノリッジされていないパケット 302を格納する。送信パケットバッフ ァ1106はソフトウェアで実現されるシステムにおけるよりもサイズが小さい。そ の理由は、バーチャルカットスルールーチングとの組み合わせにおいてシステム 100の待ち時間を小さくすればパケット 302の受信順序の誤りが少なくなりもし 送信パケットバッファ1106が一杯になったら相互接続サービスマネージャ層 202 がパケット 302を保持するからである。パートナ情報テーブル1110は各宛先プロ セッサノード 102について送る予定でありその宛先プロセッサノード 102からア クノリッジされる予定である次のパケット 302の通し番号を格納する。 RPM送信 コントローラ1108は送信回路1102の動作を制御する。タイムアウト回路1112は失 なわれたかまたは破壊されたデータの再送の制御のための時間カウントを提供す る。 受信回路1104はペンディングパケットバッファ1114、 RPM受信コントローラ11 16、及びパートナ情報テーブル1118を含んでいる。ペンディングパケットバッフ ァ1114は誤った順序で受信されたパケット 302を格納する。ペンディングパケッ トバッファ1114はソフトウェアで実現されたシステムにおけるよりもサイズが小 さい。その理由はシステム 100の待ち時間が小さいのでパケット 302を誤った順 序で受信することがより少ないからである。 RPM受信コントローラ1116は受信回 路1104の動作を制御する。パートナ情報テーブル1118は各発信元プロセッサノー ド 102についてその発信元プロセッサノード 102からの次に期待されるパケット 302の通し番号を格納する。 リライアブルパケットムーバ 114はパケット 302の通し番号を含むパケットヘ ッダ 306を生成する。通し番号は宛先プロセッサノード 102にパケット 302の順 序を知らせるために使われる。宛先ノードは順番にパケット 302を処理するのみ である。正しい順序のパケットを受信したら宛先プロセッサノードは発信元プロ セッサノードへパケット 302の受信を知らせるアクノリッジメントを発信元プロ セッサノードに送り返す。発信元プロセッサノード 102が所定の時間内にアクノ リッジメントを受け取らないならば発信元プロセッサノード 102は同じ通し番号 を使ってパケット 302を再送する。 図12aを参照すると、リライアブルパケットムーバ 114の送信回路1102の動作 を表わすフローチャートが示されている。データを送信するために、コヒーレン ス制御ユニット 110はデータと宛先プロセッサノード 102の識別子をリライアブ ルパケットムーバ 114へ供 給し、それはデータをパケット 302に変換して各パケット 302に通し番号を割り 当てる。各送信パケット 302は発信元プロセッサノード 102において送信パケッ トバッファ1106に格納される。もし1201それが容量を持っていたら、送信パケッ トバッファ1106はデータを受け入れ、リライアブルパケットムーバ 114はパケッ ト 302を送信する。もしそうでなければ、相互接続サービスマネージャ層 202は パケット 302の送出を停止して待つ。 リライアブルパケットムーバ 114がパケット 302を送るとき、送信回路1102は 宛先プロセッサノード 102に対応するパートナ情報テーブル1110から通し番号を 取得する1202。送信回路1102は取得した通し番号をパケット 302のパケットヘッ ダ 306に付加し1206エラー検出を行なう1207。送信回路1102は前述のように送信 するためにパケット 302をファストフレームムーバ 116へ送る1208。送信回路11 02はまたパケットが受信されたとのアクノリッジメントが受信されるまで、パケ ット 302をそのパケット 302のためのセットされていないマークビットとともに 送信パケットバッファ1106に格納する1210。パートナ情報テーブル1110の通し番 号は次のパケット 302の送信のためにインクリメントされる1204。通し番号は有 限であるからそれらは結局巡回する。従って、通し番号の領域は同じ通し番号の パケット 302がシステム 100内に同時にないように充分に大きい。 図12bを参照すると、パケットが送られた後のリライアブルパケットムーバに よるアクノリッジメントパケットの処理とパケットの再送の動作を表わすフロー チャートが示されている。アクノリッジメントパケットとはパケット 302が受信 されエラー検出を通過したことを示す受信回路1104から発信元プロセッサノード 102への制御パケットである。アクノリッジメントパケットは宛先ノード番号、 受信パケット 302の通し番号及び EDCを含み好適には16バイトであ る。アクノリッジメントパケットは発信元宛先ノード 102へ送られるべき他のパ ケット 302に付加されても良い。これにより相互接続 104におけるトラヒックが 軽減される。アクノリッジメントパケッ自身はアクノリッジされずそれ自身の通 し番号を含まない。アクノリッジメントパケット内の通し番号はすべての先行す るパケット、すなわちアクノリッジメント内の通し番号または前に指摘した巡回 を考慮して調整したものよりも小さい通し番号をもつすべてのパケットを暗黙的 にアクノリッジしている。このことは受信回路1104がパケット 302のアクノリッ ジメントを出し遅れることを許し2以上のパケット 302をアクノリッジするため に1つのアクノリッジメントパケットを使うことによりアクノリッジメントパケ ットのトラヒックが減少する。 送信回路1102はアクノリッジメントパケットが受信されたかを決定する1212。 もしそうであれば送信回路1102は送信パケットバッファ1106から受信されたアク ノリッジメントに対応するパケット 302を削除する1214。この削除には発信元− 宛先プロセッサノード 102の対に対する送信パケットバッファ1106内のすべての 先行するパケット 302が含まれている。これらのパケット 302はアクノリッジメ ントパケット内の通し番号或いは巡回を考慮して適切に調節された通し番号より も小さいか等しい通し番号を有している。 アクノリッジメントパケットが所定のタイムアウト期間内に受信されないなら ばパケット 302は再送される。特に、アクノリッジメントパケットが受信されな いならば1212、送信回路1102はタイムアウト回路1112がタイムアウトしたかを決 定する1216。もしそうでなければ、送信回路1102はアクノリッジメントが受信さ れるかの決定1212を続行する。 一方、タイムアウト回路1112がタイムアウトしたならば、送信回 路1102は送信パケットバッファ1106に格納された各パケット 302をチェックして 1218そのパケット 302にマークビットがセットされているか決定する。ビットが セットされていなければ、送信回路1102はそのパケット 302にマークビットをセ ットする1220。このことはパケット 302が再送される前に1ないし2回のタイム アウト期間を許すものである。マークビットがセットされている1218パケット 3 02については、送信回路1102は送信パケットバッファ1106からパケット 302を取 り出し1222そのパケット 302を再送信する1224。相互接続 104に欠陥があるかを 決めるために、制限されたまたは最大数の再送信が行なわれる。より特定すれば 、送信回路1102はパケット 302が所定の回数だけ再送されたかを決める1225。も しそうであれば、送信回路1102は相互接続サービスマネージャ層 202にその再送 の回数を知らせ1227、層 202は発信元−宛先ノードの対の間でパケット 302のル ートを再設定する。再送回数が最大に達していなければ、最後のパケット 302に 達したら1226、送信回路1102は前述のようなアクノリッジメントパケットが受信 されるかの決定1212を続行する。 図13を参照すると、リライアブルパケットムーバ 114の受信回路1104の動作を 表わすフローチャートが示されている。リライアブルパケットムーバ 114の受信 回路1104はパケット 302を相互接続サービスマネージャ層 202へ通し番号の順序 で供給する。受信回路1104は相互接続 104からパケット 302を受け取る1302。ペ ンディングパケットバッファ1114が満杯であれば、受信回路1104はパケット 302 を廃棄する。或いは、受信回路1104がペンディングパケットバッファ1114に格納 された最後のパケット 302を廃棄するようにしても良い。これは処理量のための もので正確さのためのものではないから、勿論他のパケットをペンディングパケ ットバッファ1114から廃棄 するようにしても良い。受信回路1104はパケット 302についてエラー検出を行な う1316。パケット 302がエラー検出で失敗すれば1318、パケット 302は廃棄され 1310、受信回路1104はパケット 302の受信1302を続行する。一方、パケット 302 がエラー検出で失敗しなければ1318、受信回路1104はパケットヘッダ306から通 し番号と発信元ノード番号を抽出する1304。受信回路1104はパートナ情報テーブ ル1118から発信元プロセッサノードについての次に期待される通し番号を読み出 し1306、次に期待される通し番号を抽出された通し番号と比較する1308。抽出さ れた通し番号が期待される通し番号よりも小さければそのパケット 302は既に受 信回路1104で処理されており重複している。ここでも通し番号の巡回が適切に考 慮される。そのパケット 302は廃棄され1310、受信回路1104はパケット 302の受 信1302を続行する。 抽出された通し番号が期待された通し番号よりも小さくなければ、受信回路は 抽出された通し番号が期待された通し番号に等しいかを決める1312。一致がなけ れば受信されたパケット 302は正しい順序でない。受信回路1104はパケット 302 をペンディングパケットバッファ1114に格納し1314、受信回路1104はパケット 3 02の受信1302を続行する。 一方、次に期待される通し番号が抽出された通し番号に一致すると1312、受信 回路1104は相互接続 104へアクノリッジメントを供給する1320。受信したパケッ ト 302は期待したパケット 302であるから、受信回路1104は対応する発信元プロ セッサについてのパートナ情報テーブル1118をインクリメントする1322。受信回 路1104は順番における次のパケット 302についてのペンディングパケットバッフ ァ1114を処理しチェックする1326ためにパケット 302を相互接続サービスマネー ジャ層 202へ供給する1324。 図14を参照すると、ペンディングバッファ1114をチェックする1326動作を表わ すフローチャートが示されている。受信回路1104は順番において次のパケット 3 02についてペンディングパケットバッファ1114をチェックする1402。次の期待さ れたパケット 302がペンディングバッファ1114にあれば、受信回路1104はアクノ リッジメントを送り1104通し番号をインクリメントする1406。受信回路1104は相 互接続サービスマネージャ層 202へそのパケット 302を供給する1408。受信回路 1104は次に期待されるパケット 302についてそのようなパケットがみつからなく なるまでペンディングパケットバッファ1114のチェックを続行する。受信回路11 04は受信されたパケット 302について監視1302(図13)を続行する。 上記の記述は好適な実施例の動作の説明のためのものであり、本発明の範囲を 限定することを意味するものではない。上記の議論から、当業者にとって本発明 の精神と範囲に含まれる多くの変形が明らかである。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 シミズ,タケシ アメリカ合衆国,カリフォルニア 95117, サンホセ,サン トーマス アキノ ロー ド #214 1255 (72)発明者 ウェバー,ウルフ−ディートリッヒ アメリカ合衆国,カリフォルニア 94020, ラホンダ,ボックス 411,スター ルー ト 2 (72)発明者 ウィルク,ウィンフリード ダブリュ. アメリカ合衆国,カリフォルニア 95120, サンホセ,カッパー ピーク レーン 1285

Claims (1)

  1. 【特許請求の範囲】 1.複数のノードを具備するマルチノードシステムであって、各ノードはパケ ットムーバとフレームムーバを含み、パケットムーバはフレームムーバへパケッ トを供給し、他のパケットムーバの1つからのパケットの受信に応答してアクノ リッジメントを供給し、予め定められた時間内に他のパケットムーバの1つから アクノリッジメントが受信されないならばパケットをフレームムーバへ再送し、 各パケットは宛先ノードを指示し、フレームムーバはパケットをフレームに変換 し、宛先ノードまでのルートを生成し、フレームに欠陥があればフレームを廃棄 し、フレームは該ルートを含む、マルチノードシステム。 2.少なくとも1つのルータをさらに具備し、複数のノードの各々は該少なく とも1つのルータに結合される請求項1のマルチノードシステム。 3.各パケットは通し番号を含み、パケットムーバは他のノードの各々のパケ ットムーバから受信される次に期待されるパケットに対する通し番号のテーブル を含み、次に期待されるパケットの通し番号ではない通し番号を有し以前には受 信されていないパケットを格納するためのバッファを含み、複数のノードの1つ から受信したパケットの通し番号を複数のノードの該1つに対応するテーブル内 の通し番号と比較して該通し番号が該次に期待されるパケットの通し番号でなく 以前に受信され格納されたものでなければ受信したパケットをバッファに格納し 、該通し番号が該次に期待されるパケットの通し番号であれば受信したパケット を処理して該通し番号をインクリメントし、インクリメントされた通し番号がバ ッファに格納されているパケットの通し番号に一致すれば該パケットを取り除い て処理するためのコントローラを含む請求項2のマルチノードシステム。 4.複数のルータと、 該複数のルータに結合された複数のノードであって、各ノードは宛先ノードへ の予め選択されたルートを選択し、該予め選択されたルートを含むフレームを生 成し、宛先ノードへの伝達のために該複数のルータへ該フレームを供給するため のフレームムーバを含み、該ルートはフレームをそれらの間に伝えるために複数 のルータのいくつかの連鎖を含むものを具備するシステム。 5.フレームムーバは宛先ノードへの複数の予め選択されたルートを格納する ためのルーチングテーブルを含み、フレーム内に含めるために該複数の予め選択 されたルートの1つを選択するためのコントローラを含む請求項4のシステム。 6.コントローラは前記複数の予め選択されたルートの確率分布に従ってフレ ーム内に含めるために該複数の予め選択されたルートの前記1つを選択する請求 項4のシステム。 7.識別子を有するパケットを送出し、 パケットを格納し、 アクノリッジメント内の識別子を各格納されたパケットの識別子と比較し、 アクノリッジメント内の識別子が格納されたパケットの識別子と一致すれば格 納されたパケットを取り除き、 予め定められた時間の後に格納されたパケットを再送するステップを具備する 方法。 8.識別子は通し番号であり格納されたパケットを取り除くステップはアクノ リッジメントの識別子よりも小さいか等しい識別子を有する格納されたパケット を取り除くステップを含む請求項7の方 法。 9.格納されたパケットを再送するステップは セットされたマークビットを有する各格納されたパケットを再送し、 セットされたマークビットを有しない各格納されたパケットのマークビットを セットするステップを含む請求項7の方法。
JP53040697A 1996-02-22 1997-02-20 非同期パケット交換 Expired - Fee Related JP3816531B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08/605,677 1996-02-22
US08/605,677 US5959995A (en) 1996-02-22 1996-02-22 Asynchronous packet switching
PCT/US1997/002943 WO1997031464A1 (en) 1996-02-22 1997-02-20 Asynchronous packet switching

Publications (2)

Publication Number Publication Date
JPH11511634A true JPH11511634A (ja) 1999-10-05
JP3816531B2 JP3816531B2 (ja) 2006-08-30

Family

ID=24424724

Family Applications (1)

Application Number Title Priority Date Filing Date
JP53040697A Expired - Fee Related JP3816531B2 (ja) 1996-02-22 1997-02-20 非同期パケット交換

Country Status (5)

Country Link
US (1) US5959995A (ja)
EP (1) EP0823165B1 (ja)
JP (1) JP3816531B2 (ja)
DE (1) DE69735740T2 (ja)
WO (1) WO1997031464A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010079789A (ja) * 2008-09-29 2010-04-08 Hitachi Ltd 4重化コンピュータシステムおよび2重化リングネットワーク

Families Citing this family (84)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6683876B1 (en) * 1996-09-23 2004-01-27 Silicon Graphics, Inc. Packet switched router architecture for providing multiple simultaneous communications
US6282195B1 (en) * 1997-01-09 2001-08-28 Silicon Graphics, Inc. Packetized data transmissions in a switched router architecture
EP0868103A3 (de) * 1997-03-27 2002-10-16 Siemens Aktiengesellschaft Annahme von Verbindungen niedriger Priorität, insbesondere non-real-time (NRT)-Verkehr, von nur einem redundanter Übertragungswege
US6252851B1 (en) * 1997-03-27 2001-06-26 Massachusetts Institute Of Technology Method for regulating TCP flow over heterogeneous networks
US6181704B1 (en) * 1997-08-29 2001-01-30 Intel Corporation Method and apparatus for input/output link retry, failure and recovery in a computer network
US6683850B1 (en) * 1997-08-29 2004-01-27 Intel Corporation Method and apparatus for controlling the flow of data between servers
US20020144696A1 (en) 1998-02-13 2002-10-10 A. Adam Sharkawy Conduits for use in placing a target vessel in fluid communication with a source of blood
US6651670B2 (en) 1998-02-13 2003-11-25 Ventrica, Inc. Delivering a conduit into a heart wall to place a coronary vessel in communication with a heart chamber and removing tissue from the vessel or heart wall to facilitate such communication
US6529932B1 (en) 1998-04-01 2003-03-04 Microsoft Corporation Method and system for distributed transaction processing with asynchronous message delivery
US6205498B1 (en) * 1998-04-01 2001-03-20 Microsoft Corporation Method and system for message transfer session management
US6393023B1 (en) * 1998-05-08 2002-05-21 Fujitsu Limited System and method for acknowledging receipt of messages within a packet based communication network
US7075937B1 (en) * 1998-05-19 2006-07-11 Canon Kabushiki Kaisha Method and device for sending data, method and device for receiving data
FR2779019B1 (fr) * 1998-05-19 2003-01-24 Canon Kk Procede et dispositif d'emission de donnees, procede et dispositif de reception de donnees
US6185631B1 (en) 1998-10-14 2001-02-06 International Business Machines Corporation Program for transferring execution of certain channel functions to a control unit and having means for combining certain commands and data packets in one sequence
US6415312B1 (en) * 1999-01-29 2002-07-02 International Business Machines Corporation Reliable multicast for small groups
US7285235B2 (en) * 1999-05-19 2007-10-23 Medtronic, Inc. Manufacturing conduits for use in placing a target vessel in fluid communication with a source of blood
US6609165B1 (en) 1999-09-27 2003-08-19 International Business Machines Corporation Method and apparatus for using fibre channel extended link service commands in a point-to-point configuration
US6499066B1 (en) 1999-09-27 2002-12-24 International Business Machines Corporation Method and apparatus for using fibre channel test extended link service commands for interprocess communication
US6771659B1 (en) * 2000-01-21 2004-08-03 Nokia Mobile Phones Ltd. Method and apparatus for a selective acknowledgement scheme in a modified unacknowledge mode for use over a communications link
US6810031B1 (en) 2000-02-29 2004-10-26 Celox Networks, Inc. Method and device for distributing bandwidth
US6967950B2 (en) * 2000-08-11 2005-11-22 Texas Instruments Incorporated Pull transfers and transfer receipt confirmation in a datapipe routing bridge
US7095753B1 (en) * 2000-09-19 2006-08-22 Bbn Technologies Corp. Digital network processor-based multi-protocol flow control
US6826645B2 (en) 2000-12-13 2004-11-30 Intel Corporation Apparatus and a method to provide higher bandwidth or processing power on a bus
US6907490B2 (en) * 2000-12-13 2005-06-14 Intel Corporation Method and an apparatus for a re-configurable processor
GB2370380B (en) 2000-12-19 2003-12-31 Picochip Designs Ltd Processor architecture
US20020118692A1 (en) * 2001-01-04 2002-08-29 Oberman Stuart F. Ensuring proper packet ordering in a cut-through and early-forwarding network switch
KR20040008124A (ko) * 2001-01-31 2004-01-28 인터내셔널 비지네스 머신즈 코포레이션 제어 정보 제공 방법 및 통신 스위치 및 이를 포함하는호스트 컴퓨터 시스템
US7184401B2 (en) * 2001-02-05 2007-02-27 Interdigital Technology Corporation Link-aware transmission control protocol
US7921188B2 (en) * 2001-08-16 2011-04-05 Newisys, Inc. Computer system partitioning using data transfer routing mechanism
US6920106B1 (en) 2001-09-07 2005-07-19 Agilent Technologies, Inc. Speculative loading of buffers within a port of a network device
US7054330B1 (en) 2001-09-07 2006-05-30 Chou Norman C Mask-based round robin arbitration
US6950394B1 (en) 2001-09-07 2005-09-27 Agilent Technologies, Inc. Methods and systems to transfer information using an alternative routing associated with a communication network
US7237016B1 (en) 2001-09-07 2007-06-26 Palau Acquisition Corporation (Delaware) Method and system to manage resource requests utilizing link-list queues within an arbiter associated with an interconnect device
US6763418B1 (en) 2001-09-07 2004-07-13 Agilent Technologies, Inc. Request bus arbitration
US6922749B1 (en) 2001-10-12 2005-07-26 Agilent Technologies, Inc. Apparatus and methodology for an input port of a switch that supports cut-through operation within the switch
US6839794B1 (en) 2001-10-12 2005-01-04 Agilent Technologies, Inc. Method and system to map a service level associated with a packet to one of a number of data streams at an interconnect device
US7209476B1 (en) 2001-10-12 2007-04-24 Avago Technologies General Ip (Singapore) Pte. Ltd. Method and apparatus for input/output port mirroring for networking system bring-up and debug
US7574597B1 (en) 2001-10-19 2009-08-11 Bbn Technologies Corp. Encoding of signals to facilitate traffic analysis
US7290277B1 (en) * 2002-01-24 2007-10-30 Avago Technologies General Ip Pte Ltd Control of authentication data residing in a network device
US6907028B2 (en) * 2002-02-14 2005-06-14 Nokia Corporation Clock-based time slicing
US7016996B1 (en) 2002-04-15 2006-03-21 Schober Richard L Method and apparatus to detect a timeout condition for a data item within a process
EP1367499A1 (en) * 2002-05-28 2003-12-03 Fujitsu Siemens Computers, LLC Compute node to mesh interface for highly scalable parallel processing system
US7058034B2 (en) * 2002-09-09 2006-06-06 Nokia Corporation Phase shifted time slice transmission to improve handover
GB2398650B (en) * 2003-02-21 2006-09-20 Picochip Designs Ltd Communications in a processor array
JP4038147B2 (ja) * 2003-04-17 2008-01-23 株式会社日立製作所 情報処理システム
US7814222B2 (en) * 2003-12-19 2010-10-12 Nortel Networks Limited Queue state mirroring
US7660583B2 (en) * 2004-03-19 2010-02-09 Nokia Corporation Advanced handover in phased-shifted and time-sliced networks
US7600023B2 (en) * 2004-11-05 2009-10-06 Hewlett-Packard Development Company, L.P. Systems and methods of balancing crossbar bandwidth
WO2006130199A1 (en) * 2005-03-14 2006-12-07 Auto Meter Products, Inc. System and method of modular vehicle gauge system and illumination
US7889654B2 (en) 2005-03-30 2011-02-15 At&T Intellectual Property Ii, L.P. Loss tolerant transmission control protocol
US7366132B2 (en) * 2005-03-30 2008-04-29 At&T Corp. Loss tolerant transmission control protocol
KR101224591B1 (ko) * 2006-02-23 2013-01-22 삼성전자주식회사 네트워크 중계 장치 및 그 방법
US8031614B2 (en) * 2006-10-06 2011-10-04 International Business Machines Corporation Method and apparatus for routing data in an inter-nodal communications lattice of a massively parallel computer system by dynamic global mapping of contended links
US7839786B2 (en) * 2006-10-06 2010-11-23 International Business Machines Corporation Method and apparatus for routing data in an inter-nodal communications lattice of a massively parallel computer system by semi-randomly varying routing policies for different packets
US7835284B2 (en) * 2006-10-06 2010-11-16 International Business Machines Corporation Method and apparatus for routing data in an inter-nodal communications lattice of a massively parallel computer system by routing through transporter nodes
US8423987B2 (en) * 2007-01-30 2013-04-16 International Business Machines Corporation Routing performance analysis and optimization within a massively parallel computer
GB2454865B (en) 2007-11-05 2012-06-13 Picochip Designs Ltd Power control
US8055879B2 (en) * 2007-12-13 2011-11-08 International Business Machines Corporation Tracking network contention
JP4901777B2 (ja) * 2008-02-05 2012-03-21 アラクサラネットワークス株式会社 ネットワーク中継装置およびネットワーク中継方法
US8015313B2 (en) * 2008-03-04 2011-09-06 Sony Corporation Method and apparatus for managing transmission of TCP data segments
US9225545B2 (en) 2008-04-01 2015-12-29 International Business Machines Corporation Determining a path for network traffic between nodes in a parallel computer
JP4592800B2 (ja) * 2009-03-12 2010-12-08 パナソニック株式会社 経路選択装置、経路選択方法、およびプログラム
GB2470037B (en) 2009-05-07 2013-07-10 Picochip Designs Ltd Methods and devices for reducing interference in an uplink
GB2470891B (en) 2009-06-05 2013-11-27 Picochip Designs Ltd A method and device in a communication network
GB2470771B (en) 2009-06-05 2012-07-18 Picochip Designs Ltd A method and device in a communication network
JP4796668B2 (ja) 2009-07-07 2011-10-19 パナソニック株式会社 バス制御装置
GB2474071B (en) 2009-10-05 2013-08-07 Picochip Designs Ltd Femtocell base station
US9565094B2 (en) * 2009-11-13 2017-02-07 International Business Machines Corporation I/O routing in a multidimensional torus network
WO2011089899A1 (ja) 2010-01-25 2011-07-28 パナソニック株式会社 半導体システム、中継器およびチップ回路
US9954760B2 (en) 2010-01-29 2018-04-24 International Business Machines Corporation I/O routing in a multidimensional torus network
JP5573942B2 (ja) * 2010-03-17 2014-08-20 日本電気株式会社 通信システム、ノード、制御サーバ、通信方法およびプログラム
CN102893268B (zh) 2010-05-27 2015-11-25 松下电器产业株式会社 总线控制装置以及向总线控制装置输出指示的控制装置
GB2482869B (en) 2010-08-16 2013-11-06 Picochip Designs Ltd Femtocell access control
US8949453B2 (en) 2010-11-30 2015-02-03 International Business Machines Corporation Data communications in a parallel active messaging interface of a parallel computer
GB2489716B (en) 2011-04-05 2015-06-24 Intel Corp Multimode base system
GB2489919B (en) 2011-04-05 2018-02-14 Intel Corp Filter
GB2491098B (en) 2011-05-16 2015-05-20 Intel Corp Accessing a base station
US8949328B2 (en) 2011-07-13 2015-02-03 International Business Machines Corporation Performing collective operations in a distributed processing system
WO2013054497A1 (ja) 2011-10-14 2013-04-18 パナソニック株式会社 中継器、中継器の制御方法、およびコンピュータプログラム
US8930962B2 (en) 2012-02-22 2015-01-06 International Business Machines Corporation Processing unexpected messages at a compute node of a parallel computer
US8990662B2 (en) * 2012-09-29 2015-03-24 Intel Corporation Techniques for resilient communication
US10789115B2 (en) * 2014-10-09 2020-09-29 Hewlett Packard Enterprise Development Lp Transmitter that does not resend a packet despite receipt of a message to resend the packet
WO2017053964A1 (en) 2015-09-25 2017-03-30 Fsa Technologies, Inc. Data flow prioritization system and method
US11741050B2 (en) 2021-01-29 2023-08-29 Salesforce, Inc. Cloud storage class-based variable cache availability

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4058838A (en) * 1976-11-10 1977-11-15 International Telephone And Telegraph Corporation Packet-switched facsimile communications system
AU1199888A (en) * 1987-03-13 1988-09-15 Northern Telecom Limited Communications system and components and methods for use therein
US5115433A (en) * 1989-07-18 1992-05-19 Metricom, Inc. Method and system for routing packets in a packet communication network
US5524116A (en) * 1992-02-14 1996-06-04 At&T Corp. Packet framer
JP2826416B2 (ja) * 1992-06-05 1998-11-18 日本電気株式会社 ローカルエリアネットワーク間の接続ルータ
EP0602693B1 (en) * 1992-12-18 2001-11-21 Alcatel ATM switching node and ATM switching element having routing logic means
US5444718A (en) * 1993-11-30 1995-08-22 At&T Corp. Retransmission protocol for wireless communications
US5590122A (en) * 1994-12-22 1996-12-31 Emc Corporation Method and apparatus for reordering frames
US5544161A (en) * 1995-03-28 1996-08-06 Bell Atlantic Network Services, Inc. ATM packet demultiplexer for use in full service network having distributed architecture

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010079789A (ja) * 2008-09-29 2010-04-08 Hitachi Ltd 4重化コンピュータシステムおよび2重化リングネットワーク

Also Published As

Publication number Publication date
JP3816531B2 (ja) 2006-08-30
US5959995A (en) 1999-09-28
EP0823165B1 (en) 2006-04-26
EP0823165A1 (en) 1998-02-11
DE69735740D1 (de) 2006-06-01
DE69735740T2 (de) 2006-09-14
WO1997031464A1 (en) 1997-08-28

Similar Documents

Publication Publication Date Title
JPH11511634A (ja) 非同期パケット交換
CA2564363C (en) Method and apparatus for group communication with end-to-end reliability
US6393023B1 (en) System and method for acknowledging receipt of messages within a packet based communication network
US6445717B1 (en) System for recovering lost information in a data stream
JP2825120B2 (ja) マルチキャスト伝送のための方法及び通信ネットワーク
JP3816529B2 (ja) 相互接続の障害検出およびその位置特定方法および装置
Topolcic Experimental internet stream protocol: Version 2 (ST-II)
JP3739798B2 (ja) ダイナミックなネットワークトポロジー探査のシステム及び方法
US7876751B2 (en) Reliable link layer packet retry
Li et al. OTERS (On-tree efficient recovery using subcasting): A reliable multicast protocol
Kim et al. Fault tolerant source routing for network-on-chip
CN103959722A (zh) 改进以太网网络的系统
EP1139602A1 (en) Method and device for multicasting
US20050188107A1 (en) Redundant pipelined file transfer
Jones et al. Protocol design for large group multicasting: the message distribution protocol
US20080107116A1 (en) Large scale multi-processor system with a link-level interconnect providing in-order packet delivery
KR20060054250A (ko) 멀티캐스트 교환 장치 및 이를 이용한 멀티캐스트 데이터패킷 전송 방법
WO2001050687A1 (en) Method and apparatus for multi-tiered data multicasting
Edmond RFC1221: Host Access Protocol (HAP) specification: Version 2
Perlis et al. 21. Distributed Systems
JPS63316539A (ja) マルチキャスト通信装置における再送制御装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040218

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20051011

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20051212

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060131

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060314

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20060509

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060608

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20100616

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20100616

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20100616

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20100616

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20110616

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20120616

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20120616

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20130616

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20140616

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees