(57)【特許請求の範囲】
【請求項１】
複数のノード装置がリング状に双方向のリンクによって接続され、さらに前記ノード装置にそれぞれ異なる処理装置が接続され、処理装置からの通信をノード装置間で送受信して目的の処理装置に到達させる双方向リングネットワークにおいて、
該ネットワークは、前記各ノード装置ごとにデッドロック回避のためのリング上に位置するリソース間の依存関係の終端に位置するリソースを有している場合にセットされる切断点表示フラグと、該ネットワーク上で２つ以上のノードの切断点表示フラグがセットされたことを読み取り該切断点表示フラグがセットされていないノード装置に隣接する箇所をノード装置の追加可能箇所として特定する特定手段と、を有することを特徴とする双方向リングネットワーク。
【請求項２】
前記切断点表示フラグは、前記各ノード装置内又は前記各ノード装置に直接接続される前記処理装置内の何れかにセットされることを特徴とする請求項１に記載の双方向リングネットワーク。
【請求項３】
前記各ノード装置は、運用に必要な情報を設定するネットワーク制御用端末と接続されており、前記切断点表示フラグは前記ネットワーク制御用端末内にセットされることを特徴とする請求項１に記載の双方向リングネットワーク。
【請求項４】
前記各ノード装置は、運用に必要な情報を設定するネットワーク制御用端末と接続されており、前記特定手段は前記ネットワーク制御用端末により実現されることを特徴とする請求項１に記載の双方向リングネットワーク。
【請求項５】
複数のノード装置がリング状に双方向のリンクによって接続され、さらに前記ノード装置にそれぞれ異なる処理装置が接続され、処理装置からの通信要求に対し、ルーティングテーブルを参照することにより送信先のノード装置の番号から出力方向を決定し、ノード装置間で送受信して目的の処理装置に到達させる双方向リングネットワークにおいて、
該ネットワークは、前記各ノード装置ごとにデッドロック回避のためのリング上に位置するリソース間の依存関係の終端に位置するリソースを有している場合にセットされる切断点表示フラグを有し、
該ネットワークにノード装置を追加することで双方向リングネットワークを拡張する際に、前記追加されたノード装置のルーティングテーブルは、隣接するノード装置のうち切断点表示フラグがセットされていないノード装置からルーティングテーブルのコピーを取得し、前記隣接するノード装置を送信先とするエントリを追加することによって作成されることを特徴とする双方向リングネットワーク。
【請求項６】
前記ルーティングテーブルのコピーの取得は、追加されたノード装置からリングネットワーク上に沿って発行される制御用パケットによって要求し、隣接するノード装置からの該制御用パケットへの応答パケットによって行うことを特徴とする請求項５に記載の双方向リングネットワーク。
【請求項７】
新規に追加されたノード装置のルーティングテーブル作成時に、既設のノード装置のルーティングテーブルの既存のエントリに変更を加えることなく、新規に追加されたノード装置を送信先とする場合のエントリのみを追加することによりルーティングテーブルの更新を行うことを特徴とする請求項５又は６記載の双方向リングネットワーク。
【請求項８】
既設のノード装置のルーティングテーブルにおける新規に追加されたノード装置を送信先とする場合のエントリの出力先を示す欄に、新規に追加されたノード装置のルーティングテーブルのコピー元のノード装置の番号と自ノード装置の番号とを比較し、一致したノード装置は新規に追加されたノード装置を通信先とする場合の出力方向と逆の方向の値を記述し、一致しないノード装置は自ノード装置のルーティングテーブルの既に運用されているエントリのうち、該コピー元となったノード装置を通信先とする場合の出力方向と同じ方向の値を記述することを特徴とする請求項７記載の双方向リングネットワーク。
【請求項９】
新規に追加されたノード装置が発行する制御用パケットはネットワーク上をリングに沿って周回し、既設の全ノード装置のルーティングテーブルに対して、新規に追加されたノード装置を送信先とする通信のルーティングを決定するエントリの追加を指示することを特徴とする請求項８記載の双方向リングネットワーク。
【請求項１０】
複数のノード装置がリング状に双方向のリンクによって接続され、さらに前記ノード装置にそれぞれ異なる処理装置が接続され、処理装置からの通信をノード装置間で送受信して目的の処理装置に到達させる双方向リングネットワークを構成するための前記ノード装置であって、
前記各ノード装置は、運用に必要な情報を設定するネットワーク制御用端末と接続されており、該双方向リングネットワークの構成時に、デッドロック回避のためのリング上に位置するリソース間の依存関係の終端に位置するリソースを有している場合にセットされる切断点表示フラグを有し、
前記ネットワーク制御用端末は、該ネットワーク上で２つ以上のノードの切断点表示フラグがセットされたことを読み取り該切断点表示フラグがセットされていないノード装置に隣接する箇所をノード装置の追加可能箇所として特定する特定手段を有し、
前記ノード装置が、前記特定手段に対して該切断点表示フラグの内容を通知する通知手段を有する、ことを特徴とするノード装置。
【請求項１１】
前記切断点表示フラグは、前記各ノード装置内又は前記各ノード装置に直接接続される前記処理装置内の何れかにセットされることを特徴とする請求項１０に記載のノード装置。
【請求項１２】
複数のノード装置がリング状に双方向のリンクによって接続され、さらに前記ノード装置にそれぞれ異なる処理装置が接続され、処理装置からの通信要求に対し、ルーティングテーブルを参照することにより送信先のノード装置の番号から出力方向を決定し、ノード装置間で送受信して目的の処理装置に到達させる双方向リングネットワークを構成するための前記ノード装置であって、
該双方向リングネットワークの構成時に、デッドロック回避のためのリング上に位置するリソース間の依存関係の終端に位置するリソースを有している場合にセットされる切断点表示フラグを有し、
該ネットワークへ追加されることで双方向リングネットワークを拡張する際に、前記ルーティングテーブルは、隣接するノード装置のうち切断点表示フラグがセットされていないノード装置からルーティングテーブルのコピーを取得し、前記隣接するノード装置を送信先とするエントリを追加することによって作成されることを特徴とするノード装置。
【請求項１３】
前記ルーティングテーブルのコピーの取得は、リングネットワーク上に沿って発行する制御用パケットによって要求し、隣接するノード装置からの該制御用パケットへの応答パケットによって行うことを特徴とする請求項１２に記載のノード装置。
【請求項１４】
ネットワークに新規に追加されルーティングテーブルを新たに設定する際に、隣接するノード装置に対してルーティングテーブルのコピーを要求する制御用パケットを生成して送信し、該制御用パケットへの応答パケットによって隣接ノード装置のルーティングテーブルのコピーを取得することを特徴とする請求項１３に記載のノード装置。
【請求項１５】
ネットワークに新規に追加されたノード装置からルーティングテーブルのコピーを要求する制御用パケットを受信すると、ルーティングテーブルのコピーを含む応答パケットを生成して隣接するノード装置に対して出力することを特徴とする請求項１３に記載のノード装置。
【請求項１６】
前記制御用パケットへの応答パケットの生成時に、自ノード装置の切断点表示フラグを確認し、切断点表示フラグがセットされていた場合にはルーティングテーブルの取得不可を示す応答パケットを生成してルーティングテーブルのコピーを要求したノード装置に応答することを特徴とする請求項１５記載のノード装置。
【請求項１７】
隣接するノード装置に対して制御用パケットによってルーティングテーブルのコピーを要求し、その応答としてルーティングテーブルの取得不可を示す制御用パケットを受信したとき、応答パケットを発行したノード装置とリングに沿って反対側に接続された隣接するノード装置に対して、再度ルーティングテーブルのコピーを要求する制御用パケットを発行することを特徴とする請求項１６記載のノード装置。
【請求項１８】
複数のノード装置がリング状に双方向のリンクによって接続され、さらに前記ノード装置にそれぞれ異なる処理装置が接続され、処理装置からの通信をノード装置間で送受信して目的の処理装置に到達させる双方向リングネットワークを構成する前記ノード装置と接続されたネットワーク制御用端末であって、
該双方向リングネットワークの構成時にデッドロック回避のためのリング上に位置するリソース間の依存関係の終端に位置するリソースを有している場合にセットされる各ノード装置に対応する切断点表示フラグを参照して、該ネットワーク上で２つ以上のノードの切断点表示フラグがセットされたことを読み取り該切断点表示フラグがセットされていないノード装置に隣接する箇所をノード装置の追加可能箇所として特定する特定手段を実現することを特徴とするネットワーク制御用端末。
【請求項１９】
前記切断点表示フラグは、前記各ノード装置内又は前記各ノード装置に直接接続される前記処理装置内の何れかにセットされることを特徴とする請求項１８に記載のネットワーク制御用端末。
【請求項２０】
前記切断点表示フラグは、前記ネットワーク制御用端末内にセットされることを特徴とする請求項１８に記載のネットワーク制御用端末。
【請求項２１】
複数のノード装置がリング状に双方向のリンクによって接続され、さらに前記ノード装置にそれぞれ異なる処理装置が接続され、送信先のノード装置の番号から出力方向を決定するルーティングテーブルと、前記各ノード装置ごとにデッドロック回避のためのリング上に位置するリソース間の依存関係の終端に位置するリソースを有している場合にセットされる切断点表示フラグと、を有する双方向リングネットワークにおいて、ノード装置を追加することにより双方向リングネットワークを拡張する際に、新規に追加されるノード装置のルーティングテーブルのルーティング情報を構成するルーティング情報構成方法であって、
前記ルーティング情報は、隣接するノード装置のうち切断点表示フラグがセットされていないノード装置からルーティングテーブルのコピーを取得し、前記隣接するノード装置を送信先とするエントリを追加することによって構成することを特徴とするルーティング情報構成方法。
【請求項２２】
前記ルーティングテーブルのコピーの取得は、新規に追加されたノード装置からリングネットワーク上に沿って発行される制御用パケットによって要求し、隣接するノード装置からの該制御用パケットへの応答パケットによって行うことを特徴とする請求項２１に記載のルーティング情報構成方法。
【請求項２３】
新規に追加されたノード装置のルーティングテーブル作成時に、既設のノード装置のルーティングテーブルの既存のエントリに変更を加えることなく、新規に追加されたノード装置を送信先とする場合のエントリのみを追加することによりルーティングテーブルの更新を行うことを特徴とする請求項２１又は２２に記載のルーティング情報構成方法。
【請求項２４】
既設のノード装置のルーティングテーブルにおける新規に追加されたノード装置を送信先とする場合のエントリの出力先を示す欄に、新規に追加されたノード装置のルーティングテーブルのコピー元のノード装置の番号と自ノード装置の番号とを比較し、一致したノード装置は新規に追加されたノード装置を通信先とする場合の出力方向と逆の方向の値を記述し、一致しないノード装置は自ノード装置のルーティングテーブルの既に運用されているエントリのうち、該コピー元となったノード装置を通信先とする場合の出力方向と同じ方向の値を記述することを特徴とする請求項２３に記載のルーティング情報構成方法。
【請求項２５】
新規に追加されたノード装置が発行する制御用パケットはネットワーク上をリングに沿って周回し、既設の全ノード装置のルーティングテーブルに対して、新規に追加されたノード装置を送信先とする通信のルーティングを決定するエントリの追加を指示することを特徴とする請求項２４に記載のルーティング情報構成方法。
【請求項２６】
複数のノード装置がリング状に双方向のリンクによって接続され、前記各ノード装置ごとにデッドロック回避のためのリング上に位置するリソース間の依存関係の終端に位置するリソースを有している場合にセットされる切断点表示フラグを有し、さらに前記ノード装置にそれぞれ異なる処理装置が接続され、処理装置からの通信をノード装置間で送受信して目的の処理装置に到達させるためのルーティングテーブルを有する双方向リングネットワークにおいて、追加増設されるノード装置のルーティングテーブルのルーティング情報構成方法であって、
隣接するノード装置のうち切断点表示フラグがセットされていないノード装置のルーティングテーブルを元に、該ノード装置を送信先のノード装置とするエントリを追加し、該エントリの出力方向としては該隣接するノード装置が直接接続されている方向を指定することを特徴とするルーティング情報構成方法。
【請求項２７】
複数のノード装置がリング状に双方向のリンクによって接続され、前記各ノード装置ごとにデッドロック回避のためのリング上に位置するリソース間の依存関係の終端に位置するリソースを有している場合にセットされる切断点表示フラグを有し、さらに前記ノード装置にそれぞれ異なる処理装置が接続され、処理装置からの通信をノード装置間で送受信して目的の処理装置に到達させる双方向リングネットワークにおける、追加増設されたノード装置を送信先ノード装置とするエントリを追加する際のルーティングテーブルのルーティング情報構成方法であって、
送信先のノード装置として追加されたノード装置の番号を記録し、該追加されたノード装置の番号から連想される出力方向として、該追加されたノード装置がルーティングテーブルの設定時にルーティングテーブルを参照したコピー元のノード装置の番号を用い、自ノード装置の番号と該コピー元のノード装置の番号が一致する場合においては隣接する追加されたノード装置に直接通信可能なリンクを通信方向として指定し、自ノード装置と該コピー元のノード装置の番号が不一致の場合には該コピー元のノード装置の番号のエントリに記された出力方向と同じ方向を指定することを特徴とするルーティング情報構成方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はコンピュータ間のデータ通信ネットワークに関し、さらに詳しくは複数のノードをリング状に接続して双方向に通信する双方向リングネットワークの制御方式に関する。
【０００２】
【従来の技術】
コンピュータネットワークの一つの方式としてリングネットワークがある。一般に複数のノード装置をリング状に接続したものをリングネットワークと呼び、各ノード装置間の通信が一方向にのみ可能であるものを単方向リングネットワーク、各ノード装置間が双方向に通信可能であるものを双方向リングネットワークと呼ぶ。リングネットワークにはノード装置数に比してリンク数が比較的少ないため、安価に実現できるというメリットがある。
【０００３】
リングネットワークによってデータ通信を行う場合の一つの課題に、デッドロックの回避がある。デッドロックとはリソース獲得時の競合によって処理が先に進めなくなる「すくみ」の状態を指す。一般にパケット交換方式によって通信を行う場合には、各パケットがノード装置内のバッファをリソースとして取り合うことになる。このときリソースの依存関係がループを構成すると、デッドロックの可能性がある。
【０００４】
次に、４つのノード装置をリング状に接続した４ノードリングネットワークにおいてデッドロックに陥るケースを説明する。
図７は４ノードリングネットワークを示す図である。各ノード装置701(0)〜701(3)は計算機などの処理装置703(0)〜703(3)と一対一に接続されており、隣接するノード装置から入力されたパケットを一つだけ保持するバッファ702(0)〜702(3)と、処理装置703(0)〜703(3)から入力されたパケットを保持するバッファ704(0)〜704(3)とを有している。
【０００５】
入力されたパケットが自ノード装置（に接続された処理装置）宛でなかった場合には、リング接続された次のノード装置にパケットをフォワードする。しかし、パケットを次のノード装置に渡すためには次のノード装置のバッファが空いている必要がある。バッファ702(0)〜702(3)にはそれぞれ固有の宛先が記述されたパケット705(0)〜705(3)が保持されている。図中のパケット705(0)〜705(3)に記述された数字1,2,3,0はそれぞれ宛先のノード装置の番号を示している。例えばノード装置701(1)内のバッファ702(1)にはノード装置701(2)に通信すべきパケット705(2)が保持されているが、宛先のノード装置701(2)内のバッファ702(2)には既に別のパケット705(3)が保持されており、ノード装置701(1)はノード装置701(2)にパケット705(2)を渡すことができない。すべてのノード装置において上記と同様の状態が発生するため、すべてのノード装置がリソースが空くのを待ち続けるすくみ状態、すなわちデッドロックに陥る。
【０００６】
これは蓄積交換によるルーティングを行っている場合だが、ワームホールルーティングの場合にもリソースとしてリンクを取り合うために、同様のデッドロックに陥ることがある。
【０００７】
富田眞治著「並列コンピュータ工学」（昭晃堂,1996）p.42〜p.47では、「相互結合網におけるデッドロック」として４ノードで構成された単方向リングネットワークのデッドロックの例が紹介され、以下の解決策が提示されている。
【０００８】
１．チャネルの共有化、すなわち仮想チャネルによって依存関係のサイクルを切断する。さらにノード装置内のバッファ数、仮想チャネル数を増やして任意のノードペア間の通信において競合を回避するよう構成した構造化バッファプールと呼ばれる方式もある。
【０００９】
２．チャネルが獲得できない場合に獲得してきたチャネルを開放する。しかし、この場合チャネル解放のためのバッファに関してデッドロック問題が発生するため、デッドロックの根本的な解決にはならない。
【００１０】
３．一度に全チャネルを獲得する。この方式は集中制御を必要とし、各ノード装置による分散制御では実現困難である。
【００１１】
４．特定のパケットが優先的にチャネルを獲得する方式。この方式はデッドロックの可能性がない場合にも特定のパケットが優先的にチャネルを獲得することを回避できず、非効率となる。
【００１２】
５．リングの切断、すなわちリソースの依存関係が構成するサイクルを断ち切る。但し単方向リングネットワークにおいては直接通信不可能なノード装置ができてしまうため、通信を中継ノードにおいて一旦完結させるか、あるいは逆方向のリングを付加するなどの対策をとる必要がある。
【００１３】
デッドロックの回避方法としてもっとも一般的なのは、1.に示した仮想チャネルを使用してリソースの依存関係にあるサイクルを断ち切ることである。仮想チャネルの基本的な考え方は、物理的なリンクの本数を増やさずに仮想的にノード装置間のチャネル本数を増やし、チャネルの依存関係がサイクルを構成しないようにリソースの獲得を制御することである。これはノード装置内に複数のバッファを用意し、パケット送信先などによって使用バッファを決定することによって実現されている。これらの手法はDallyらの米国特許（U.S.patent 4,933,933 Torus routing chip）などに詳述されている。
【００１４】
このような仮想チャネルによってデッドロックを回避した場合には、チャネルの数分のバッファを用意する必要があり、複数のバッファを制御するための回路も複雑化する。また、必要となるチャネル数はノード数に依存するため、ネットワークにノード装置を追加増設しようとする場合はチャネル数を増やす必要がある。しかしチャネル数は物理的なリソースの量によって制限されるため、ノード数をあらかじめ想定した数以上に増やすことができず、拡張性に乏しいという問題がある。
構造化バッファプールの場合にもノード装置内のバッファ増加と、それに伴う制御回路の複雑化の問題は避けられない。
【００１５】
次に、上記５．のリングの切断、すなわちリソースの依存関係が構成するサイクルを断ち切る解決策について説明する。
逆方向のリング接続を付加した４ノード双方向リングネットワークにおいて、ルーティングの方向を制限することによって特定チャネル間の依存関係を解消し、デッドロックを回避する例を図８〜図１１により説明する。
【００１６】
図８は４ノード双方向リングネットワークの構成図である。ノード装置801(0)〜801(3)は二重のリング接続によって双方向に通信可能なリングネットワークを形成している。ノード装置間の接続には説明のためにC1〜C8のように番号を付与している。今仮に、時計回り方向を順方向、反時計回り方向を逆方向と呼ぶと、接続C1〜C4は順方向のリング、接続C5〜C8は逆方向のリングを形成している。各ノード装置801(0)〜801(3)はそれぞれ計算機などの処理装置802(0)〜802(3)と一対一に接続されており、順方向リング上のパケットを保持するバッファ803(0)〜803(3)と、逆方向リング上のパケットを保持するバッファ804(0)〜804(3)と、直接接続された処理装置802(0)〜802(3)から受信したパケットを保持するバッファ805(0)〜805(3)を有している。
【００１７】
隣接するノード装置801(0)〜801(3)からパケットを受信した場合には、その送信先のノード装置の番号（送信先ノード装置番号）を確認して処理装置802(0)〜802(3)に渡すか、次のノード装置801(0)〜801(3)にフォワードするかのいずれかの処理を行う。処理装置802(0)〜802(3)から受信してバッファ805(0)〜805(3)に保持しているパケットに対しては、その送信先ノード装置番号を確認して順方向もしくは逆方向のリングに沿って隣接するノード装置801(0)〜801(3)にフォワードする。このように受信パケットの送信先ノード装置番号を識別して出力先を判定する機能は、具体的にはテーブル参照のような形で実現することができる。ここで用いられるパケットの出力先判定に用いられる情報を設定したテーブルをルーティングテーブルと呼ぶ。ルーティングテーブルによる出力先判定では、ネットワークを構成するノード装置（あるいは処理装置）に付与される番号を自由に設定できる（例えばリングに沿って順に番号をつけるなどの制限がない）というメリットがある。
【００１８】
次にこのような双方向リングネットワークにおいてデッドロックを回避する方法について説明する。
図９は図８の双方向リングネットワークにおける、バッファの依存関係を有向グラフで表現したものである。順方向のリングに関しては803(0)→803(1)→803(2)→803(3)→803(0)のようなサイクルが存在し、逆方向のリングに関しては804(0)→804(3)→804(2)→804(1)→804(0)のようなサイクルが存在する。このようなサイクルが存在する場合にはデッドロックの可能性がある。
【００１９】
そこで、ルーティングに以下のような制限を設ける。「ノード装置801(0)はパケットを中継しない、すなわち、ノード装置801(0)のバッファ803(0)とバッファ804(0)には、常に送信先ノード装置番号が0を示すパケットのみが入力される。」
図１０は、上記の制限を加えた場合のバッファの依存関係のグラフを示す図である。図１０においては依存関係のサイクルは存在せず、デッドロックは回避されている。
【００２０】
図１１は、上記のルーティング制限によってデッドロック回避を行った場合の具体的なルーティング経路を示す図である。同図に示すように、送信元ノード（source node）装置と送信先ノード（destination node）装置とによってパケットがどの接続を通過して送信先ノードに到達するかが固定的に決定される。ノード装置801(0)が送信元ノード装置、もしくは送信先ノードである場合には、パケットが選択可能な経路が複数存在する。図１１ではそのような場合に経路の短い方を選択して記している。ノード装置801(0)からノード装置801(2)への通信、およびノード装置801(2)からノード装置801(0)への通信は距離の等しい二つの選択可能な経路が存在し、図１１にはその両方を記してある。
【００２１】
このように受信したパケットを後段に位置するノード装置にフォワードしないノード装置に関し、本発明では“依存関係の切断点”と記述する。依存関係の切断点となるノード装置とは、リソース（つまりここではリング上でパケットを保持するバッファ）の依存関係を有向グラフで示したとき、終端に位置するバッファを有するノード装置である。図１０を参照してもわかるように、順方向リングおよび逆方向リングにおいてノード装置801(0)内の入力バッファ部803(0)と804(0)は有向グラフの終端点に位置している。
【００２２】
このように、ノード数が４以下であればデッドロックフリーで且つノード間距離が最短になるようにパケットのルートを決定可能であることが、”A Survey of Wormhole Routing Techniques in Direct Networks”,L.M.Ni and P.K.McKinley,IEEE Computer,Feb 1993,p.62-86などに示されている。NiとMcKinleyのサーベイではワームホールルーティングを行うネットワークに関してノード装置間のチャネルをリソースとして説明しているが、同様の理論を蓄積交換網の場合に適用する場合には上述のようにバッファをリソースとして取り扱う。
【００２３】
このように依存関係のリングを切断することによってデッドロックを回避した場合には、ノード数が増加した場合にパケット経路を最短距離で設定できないという問題はあるものの、ノード装置の構成は比較的単純であり、しかもネットワークの規模が大きい場合、つまりノード数が多い場合にも、ノード装置の構成には影響を与えないというメリットがある。
【００２４】
【発明が解決しようとする課題】
しかしこのようなリングネットワークにおいては、ノード装置の追加増設が容易でないという問題がある。
依存関係のリングを切断することによってデッドロックを回避したリングネットワークでは、ノード装置の追加の際にはルーティングテーブルを書き換え、依存関係のリングが切断された状態に再設定する必要がある。このときネットワークの運用中にルーティングテーブルを書き換えると、ネットワーク内を通過中のパケットが誤ってルーティングされる可能性があるため、ルーティングテーブルの書き換え前にはネットワーク内に通過中のパケットが存在しないことを保証するか、ネットワークの動作を停止させるなどの処理が必要となる。
また、テーブルの書き換えの際にはチャネルの依存関係を考慮した上で人手で設計する必要があるため、ネットワークへのノード装置の追加はさらに困難であった。
【００２５】
（発明の目的）
本発明は上記の課題に鑑みてなされたものであり、その主要な目的は運用を継続したままノード装置を追加できる双方向リングネットワーク、ノード装置、および双方向リングネットワークのルーティング情報構成方法を提供することにある。本発明の双方向リングネットワークによって、拡張性と保守性に優れたシステムを提供することができる。
本発明の目的を具体的に説明すると、第一の目的は上記ノード装置の追加に際し、ネットワーク中の適切な追加位置を判定する手段を提供することにある。
【００２６】
第二の目的は上記ノード装置の追加に際し、追加されたノード装置のルーティングテーブルの設定を容易に行う手段を提供することにある。
【００２７】
第三の目的は上記ノード装置の追加に際し、既に運用中のノード装置内にある、運用時に使用されているルーティングテーブルの情報を変更せずに、新たな情報の追加だけで正しく経路を設定可能なノード装置、および双方向リングネットワークを提供することにある。
【００２８】
【課題を解決するための手段】
本発明では、基本的にリングの切断によってデッドロックを回避するアプローチを取る。このためにノード装置の数が５以上の場合にパケットが遠回りの経路を選択することがあるが、ノード装置の数が増えた場合にも同一のノード装置でリングネットワークを構成することが可能となる。
【００２９】
上記の目的を達成するために、本発明による双方向リングネットワークは、ノード装置が双方向リングネットワーク中のリソースの依存関係の切断点であるか否かを表示する切断点表示フラグを有し、依存関係の切断点ではないノード装置と隣接する箇所にしかノード装置の追加増設を許可しない構成とする。
【００３０】
また、本発明による双方向リングネットワークは、追加されるノード装置のルーティングテーブルを、隣接する依存関係の切断点ではないノード装置のルーティングテーブルのコピーを元に、このコピー元となるノード装置を送信先ノード装置とするエントリを追加することによって作成することを特徴とする。
【００３１】
本発明による双方向リングネットワークは、追加されたノード装置が隣接するノード装置の切断点表示フラグを調べ、依存関係の切断点ではないと判定できた場合にそのルーティングテーブルのコピーを要求する制御用パケットと、該要求に対する応答として受信したルーティングテーブルのコピーを元に追加されたノード装置のルーティングテーブルを作成する機能を有してもよい。
【００３２】
また、本発明による双方向リングネットワークは、追加されたノード装置を送信先ノード装置とするパケットのルーティングのために、既設のノード装置のルーティングテーブルにおいて既存のエントリを書き換えることなく、追加されたノード装置固有の番号を持つ新規のエントリを追加する機能を有する。該新規のエントリに記述されるルーティング情報は、追加されたノード装置のルーティングテーブル作成の際にコピー元として参照されたノード装置の番号と、自ノード装置の番号を比較し、一致する場合には隣接する追加されたノード装置に直接接続されたリンクを使用するよう設定し、不一致であった場合にはコピー元として参照されたノード装置へのルーティング方向と同一の方向となるように設定するという特徴を持つ。
【００３３】
本発明による双方向リングネットワークは、追加されたノード装置が発行した制御用パケットがリングネットワーク上を周回することによって、既設のノード装置に対し該新規エントリの追加を指示する機能を有してもよい。
【００３４】
なお、本方式は仮想チャネルによるデッドロック回避アプローチと併用することで、チャネルによって規定される数以上にノード装置の数を増加させることも可能である。
【００３５】
【発明の実施の形態】
次に、本発明の双方向リングネットワーク、ノード装置、および双方向リングネットワークのルーティング情報構成方法の一実施の形態について図面を参照して詳細に説明する。
図１は、本発明の実施の形態のブロック図であり、双方向リングネットワークを構成するノード装置の一例を示す図である。
【００３６】
ここでは説明の簡略化のために蓄積交換式のネットワークを例にとって説明する。しかし以下に示す方式は、パケットを第一番目のフリットと読み替え、行き先アドレスを持たない第二番目以降のフリットを第一番目のフリットと同じ行き先にルーティングするよう制御することで、容易にワームホールルーティングの場合にも適用可能である。
【００３７】
ノード装置101は３つの入出力ポートを有している。一つ目の入出力ポートは入力ポート113と出力ポート114から構成され、計算機などの処理装置（図示せず）に接続される。入力バッファ部107は処理装置からの入力を入力ポート113を介して受け取るバッファ部であり、出力制御部108は出力ポート114を介して処理装置へのパケットの出力を制御する。
【００３８】
残る二つの入出力ポートは、リングネットワークを構成する別のノード装置と接続される。二つ目の入出力ポート、すなわち入力ポート115と出力ポート116は別のノード装置に接続され、三つ目の入出力ポート、すなわち入力ポート117と出力ポート118もまた別のノード装置に接続される。したがって入力ポート115および出力ポート117の接続はリングネットワークにおける一方向のリングを形成する接続であり、入力ポート118と出力ポート116は双方向リングネットワークにおいて前記のリングと逆方向のリングを形成する接続である。ここでは、入力ポート115および出力ポート117によって形成されるリングを順方向のリング、入力ポート118および出力ポート116によって形成されるリングを逆方向のリングと呼ぶ。
【００３９】
順方向のリングを形成する入力バッファ部109は、内部に順方向のリングを流れるパケットを保持するバッファを有している。このバッファはファーストイン・ファーストアウト（First In First Out）の規則に従って制御される。入力バッファ部109は、順方向のリングを形成する出力制御部111のほかに処理装置への出力制御部108とルーティング制御部102に接続されている。
【００４０】
逆方向のリングを形成する入力バッファ部112は、内部に逆方向のリングを流れるパケットを保持するバッファを有している。このバッファはFirst In First Outの規則に従って制御される。入力バッファ部112は、逆方向のリングを形成する出力制御部110のほかに処理装置への出力制御部108とルーティング制御部102に接続されている。
【００４１】
処理装置からの入力を受ける入力バッファ部107は、パケットを保持するバッファを有している。このバッファはFirst In First Outの規則に従って制御される。入力バッファ部107はルーティング制御部102に接続されており、順方向のリングを形成する出力制御部111と逆方向のリングを形成する出力制御部110に対してパケットを出力することができる。
【００４２】
ルーティング制御部102はルーティングテーブル103と切断点表示フラグ104を有し、制御インタフェース105と入出力ポート106を介して外部のネットワーク制御用端末（図示せず）に接続され、さらに入力バッファ部107との入出力インタフェース、入力バッファ部109および入力バッファ部112からの入力インタフェース、出力制御部110および出力制御部111への出力インタフェースを有する。ネットワーク制御用端末とは、ルーティングテーブルなどネットワークの運用に必要な情報を設定し、新しいノード装置の追加可能箇所を特定する等のための端末であり、パケットの動きを直接制御するものではない。制御インタフェース105は比較的低速のインタフェースを使用できる。
【００４３】
図２は、ルーティングテーブル103の構成例を示す図である。ルーティングテーブル103の構成と機能については、以下の本実施の形態の動作説明の項において述べる。切断点表示フラグ104は、順方向逆方向いずれかのリングに関し依存関係の切断点である場合にこれを示すフラグであり、１ビットのレジスタで構成できる。本実施の形態では順方向逆方向いずれかのリングに関し依存関係の切断点である場合に１がセットされ、それ以外の場合には０を表示する。
【００４４】
次にノード装置101の通常運用時の動作について説明する。なお、通常運用時の動作は、ルーティングテーブルを使用してパケットの経路を決定する従来の双方向リングネットワークのノード装置と大きく変わるところはない。
【００４５】
順方向のリングにおいては、入力バッファ部109がリングを流れるパケットを受信する。入力バッファ部109では受け取ったパケットの送信先ノード装置番号を判定し、これがノード装置101固有の番号と一致している場合にはパケットは出力制御部108、出力ポート114を介して処理装置に出力される。送信先ノード装置番号とノード装置101固有の番号が異なる場合には順方向のリングに沿って出力制御部111、出力ポート117を介して次のノード装置にパケットを受け渡す。
【００４６】
逆方向のリングにおいては、入力バッファ部112がリングを流れるパケットを受信する。入力バッファ部112では、順方向のリングの場合と同様に、受け取ったパケットの送信先ノード装置番号とノード装置101固有の番号とを比較する。一致した場合にはパケットは出力制御部108と出力ポート114を介して処理装置へと受け渡され、不一致であった場合には、パケットは逆方向のリングに沿って出力制御部110と出力ポート116を介して隣接するノード装置に出力される。
【００４７】
処理装置から入力されたパケットは入力バッファ部107に保持される。入力バッファ部107では、パケットの送信先ノード装置番号を読み出してルーティング制御部102に通知する。ルーティング制御部102では入力バッファ部107から受け取った送信先ノード装置番号を元にルーティングテーブルを参照し、受信パケットを順方向のリング、逆方向のリングのうちどちらを使って通信するかを決定する。
【００４８】
図２はルーティング制御部102内のルーティングテーブルの一例を示している。この図において左側の列には送信先ノード装置番号、右側の列に出力先方向が記されている。ルーティング制御部102では通知された送信先ノード装置番号と一致する行を選択し、右側の列に記述された値を読み出す。右側の列の欄には“順”、“逆”の区別が記述されている。読み出された値が“順”であった場合には、パケットを順方向のリングを形成する出力制御部111に出力する。“逆”の場合にはパケットを逆方向のリングを形成する出力制御部116に出力する。
【００４９】
同一ノードへのパケット転送（つまり送信元ノード装置番号と送信先ノード装置番号が一致する場合）を許すこともできる。この場合、送信先ノード装置番号が自ノード装置のノード番号と一致していた場合に、ルーティング制御部102の指示によって入力バッファ部107から出力制御部108にパケットを出力するように構成すればよいが、以降の説明では簡略化のために省略する。
【００５０】
次に、本発明に関するノード装置の追加増設時における動作について説明する。
図３は、図１のノード装置101をリング状に接続した５ノード双方向リングネットワークの一例を示す図である。ノード装置101(0)〜101(4)はそれぞれ処理装置に接続されているが、図３では処理装置は省略している。ネットワーク制御用端末301は各ノード装置101(0)〜101(4)に接続されている。本実施の形態ではネットワーク制御用端末301がすべてのノード装置101(0)〜101(4)と一対一に接続されているが、ネットワーク制御用端末の接続形態は任意の形態を取ることが可能であり、複数のネットワーク制御用端末によって分散制御されていても良い。各ノード装置101(0)〜101(4)において接続された処理装置から受信したパケットは、ルーティングテーブル103(0)〜103(4)に従って出力方向が決定される。なお、本実施の形態の図において時計回り方向のリングを順方向、反時計回り方向のリングを逆方向と呼ぶ。入力バッファ部109(0)〜109(4)は順方向のリングを形成する入力バッファ部であり、入力バッファ部112(0)〜112(4)は逆方向のリングを形成する入力バッファ部である。さらにノード装置101(0)〜101(4)はそれぞれ切断点表示フラグ104(0)〜104(4)を有している。ノード装置101(0)〜101(4)の上記以外の構成要素は以下の説明において使用しないため省略している。
【００５１】
本実施の形態の５ノード双方向リングネットワークにおいては、ルーティング方向に制限を課すことによってリソースの依存関係がサイクルを構成することを回避し、デッドロックフリーの構成を実現している。
図４は、図３のネットワークおいて入力バッファ部の依存関係を有向グラフによって示したものである。
【００５２】
順方向のリングに関しては入力バッファ部109(4)と入力バッファ部109(0)の間に依存関係が存在しない。これはつまり、ノード装置101(4)内の入力バッファ部109(4)が保持するパケットは、すべてノード装置101(4)（あるいはそれに接続された処理装置）を送信先ノード装置として指定しており、ノード装置101(0)の入力バッファ部109(0)へとフォワードされることがないということを示す。実際に順方向のリングを使用するパケットは“送信元ノード装置番号→送信先ノード装置番号”の書式で示すと“0→1”、“0→2”、“1→2”、“1→3”、“1→4”、“2→3”、“2→4”、“3→4”、“4→0”、“4→1”の10通りであり、これらはすべてノード装置101(4)を経由せずに通信が行われている。従ってノード装置101(4)は順方向のリングに関して依存関係の切断点となるノード装置であり、図３でノード装置101(4)の切断点表示フラグ104(4)は１にセットされている。
【００５３】
一方、逆方向のリングに関しては入力バッファ部112(0)と入力バッファ部112(4)の間に依存関係が存在しない。これはつまり、ノード装置101(0)内の入力バッファ部112(0)が保持するパケットは、すべてノード装置101(0)（あるいはそれに接続された処理装置）を送信先ノード装置として指定しており、ノード装置101(4)の入力バッファ部112(4)へとフォワードされることがないということを示す。実際に逆方向のリングを使用するパケットは“0→3”、“0→4”、“1→0”、“2→0”、“2→1”、“3→0”、“3→1”、“3→2”、“4→2”、“4→3”の10通りであり、これらはすべてノード装置101(0)を経由せずに通信が行われている。従ってノード装置101(0)は逆方向のリングに関して依存関係の切断点となるノード装置であり、図３でノード装置101(0)の切断点表示フラグ104(0)は１にセットされている。
【００５４】
このネットワークに新たにノード装置を追加して６ノード双方向リングネットワークとする。
【００５５】
各ノード装置101(0)〜101(4)の切断点表示フラグ104(0)〜104(4)にセットされた値は制御インターフェース105を介してネットワーク制御用端末301等で読み取ることができる。この場合、ルーティング制御部102、制御インターフェース105等は本発明の通知手段を実現し、ネットワーク制御用端末301は本発明の特定手段を実現する。本発明における双方向リングネットワークでは、切断点表示フラグ104がセットされていないノード装置に隣接する場合にだけ、該当箇所に新規ノード装置を追加可能となる。本実施の形態の図ではノード装置101(0)〜101(4)間のリンク302(0)〜302(4)のうち、リンク302(1)〜302(3)はリンクを挟んだ両側のノード装置101とも切断点表示フラグ104は０を示しており、ここにノード装置を追加できることがわかる。また、リンク302(0)に関してはノード装置101(1)が、リンク302(3)に関してはノード装置101(3)の切断点表示フラグが０を示しており、やはりノード装置の追加増設が可能であることがわかる。
しかし、リンク302(4)に関しては、両端のノード装置101(0)および101(4)の切断点表示フラグ104(0)および104(4)にいずれも１がセットされているため、このリンク箇所へのノード装置の追加増設が不可であることがネットワーク制御用端末301によって確認できる。
【００５６】
図３のリンク302(0)の位置にノード装置を追加増設するケースについて、主に図５を参照しながら説明する。ノード内の動作に関しては必要に応じて図１を参照する。
リングネットワークにノード装置の追加増設を行うためには、リングを構成するリンクを一時的に切断する必要がある。リンクの切断時には当該リンクを通過しようとするパケットは、出力ポート手前で動作を停止させる、別のバッファに退避させる、迂回路を経由させるなどの手段を用いて、消失しないように制御する必要がある。このようにして切断された箇所に新たなノード装置を追加増設する。
【００５７】
図５はノード装置を追加増設した双方向リングネットワークの一例を示す図である。新規に追加されたノード装置101(5)と既設のノード装置101(0)〜101(4)内ルーティングテーブルの新規に追加されるエントリは網掛けで描かれている。ノード装置101(5)は他のノード装置と同様、ネットワーク制御用端末301に接続されている。この状態においてノード装置101(5)の両側に位置するリンクは論理的には切断されたままであり、通常の通信用パケットは通過していない。
【００５８】
次にノード装置101(5)は自ノード装置内のルーティングテーブルを設定する必要がある。以下、ノード装置101(5)内の動作については図１を参照しながら説明する。
ルーティング制御部102はルーティング情報取得のための制御用の特殊なパケットである制御用パケット（ルーティング情報要求パケット）を生成し、該パケットを隣接するノード装置に対して出力する。出力は順方向／逆方向のどちらでも良いが、以下では逆方向を優先して出力した場合について説明する。ルーティング情報要求パケットを逆方向のリングに沿って出力する場合は、ルーティング制御部102から出力制御部110と出力ポート116を経由して出力する。この場合図５におけるノード装置101(0)がルーティング情報要求パケットを受信する。
【００５９】
ルーティング情報要求パケットを受信したノード装置101(0)内部の動作について図１を参照して説明する。該パケットは入力ポート118を経由して入力バッファ部112に入力される。入力バッファ部112では該パケットがルーティング情報要求パケットであることを判別し、パケットの到着をルーティング制御部102に対して通知してパケット自身は消去する。ルーティング制御部102では、ルーティング情報要求パケットの到着を受けて切断点表示フラグ104をチェックする。切断点表示フラグ104が０に設定されていた場合、ルーティングテーブル103の内容を読み出してコピーを作り、該コピーを含む応答（リプライ）パケット（ルーティング情報通知パケット）を作成して出力制御部111に送る。仮に切断点表示フラグ104が１にセットされていた場合、ルーティング制御部102はルーティング情報の通知を拒否する応答（リプライ）パケット（ルーティング情報拒否パケット）を生成して出力制御部111に送る。本実施の形態では図５のノード装置101(0)は切断点表示フラグ104(0)が１にセットされているため、ルーティング情報拒否パケットが生成されている。出力制御部111はルーティング情報通知パケットもしくはルーティング情報拒否パケットを受け取ると、出力ポート117を経由して隣接ノード装置（ルーティング情報要求パケットを生成した、図５におけるノード装置101(5)）に対して出力する。
【００６０】
ルーティング情報拒否パケットを受信したノード装置101(5)の動作について図１を参照して説明する。該パケットは入力ポート115を経由して入力バッファ部109に入力される。入力バッファ部109では該パケットがルーティング情報拒否パケットであることを判別し、パケットの到着をルーティング制御部102に対して通知してパケット自身は消去する。
【００６１】
ルーティング制御部102ではもう一度ルーティング情報要求パケットを生成し、先に送った方向と逆向きのリングに沿ってパケットを出力する。一度目のルーティング情報要求パケットは逆方向のリングに沿って出力しているので、今回は順方向のリングに沿って出力する。つまり、出力制御部111および出力ポート117を経由して隣接するノード装置（図５におけるノード装置101(1)）に対して出力する。
【００６２】
ルーティング情報要求パケットを受信したノード装置101(1)内部の動作について図１を参照して説明する。該パケットは入力ポート115を経由して入力バッファ部109に入力される。入力バッファ部109では該パケットがルーティング情報要求パケットであることを判別し、パケットの到着をルーティング制御部102に対して通知してパケット自身は消去する。ルーティング制御部102では、ルーティング情報要求パケットの到着を受けて切断点表示フラグ104をチェックする。切断点表示フラグ104が０に設定されていた場合、ルーティングテーブル103の内容を読み出してコピーを作り、該コピーとコピー元のノード装置の番号（コピー元ノード装置番号、この場合ノード装置101(1)の固有の番号“1”）を含むパケット（ルーティング情報通知パケット）を作成して出力制御部110に送る。仮に切断点表示フラグ104が１にセットされていた場合、ルーティング制御部102はルーティング情報拒否パケットを生成して出力制御部110に送る。本実施の形態では図４のノード装置101(1)は切断点表示フラグ104(1)が０にセットされているため、ルーティング情報通知パケットが生成されている。出力制御部110はルーティング情報通知パケットもしくはルーティング情報拒否パケットを受け取ると、出力ポート116を経由して隣接ノード装置（ルーティング情報要求パケットを生成した、図５におけるノード装置101(5)）に対して出力する。
【００６３】
ルーティング情報通知パケットを受信したノード装置101(5)の動作について図１を参照して説明する。該パケットは入力ポート118を経由して入力バッファ部112に入力される。入力バッファ部112では該パケットがルーティング情報通知パケットであることを判別し、パケットに記述されたルーティング情報をすべてルーティング制御部102に出力する。ルーティング制御部102では受け取ったルーティング情報をルーティングテーブル103に書き込む。この時点で図５のノード装置101(5)のルーティングテーブル103(5)は隣接するノード装置101(1)のルーティングテーブル103(1)と同一の内容のコピーを持つことになる。
【００６４】
このルーティングテーブル103(5)は、ノード装置101(1)の内容をコピーしているため、ノード装置101(1)を宛先とする場合のエントリが不足している。ルーティング制御部102はこのエントリを追加する。追加に際してはルーティング情報通知パケットによって指定されたコピー元ノード装置番号をルーティングテーブル101(5)の左側の欄に追加し、右側の欄にはルーティング情報通知パケットを受け取ったリングと逆向きにパケットが流れるリングの方向を指定する。この場合ルーティング情報通知パケットは逆方向のリングに沿って入力バッファ部112を経由して受信されたため、ルーティングテーブル103(5)の右側の欄に“順”の値を記す。
追加増設されたノード装置101(5)の切断点表示フラグ104(5)には、初期値として０が設定されていればよい。
【００６５】
以上で追加増設されたノード装置101(5)の設定が完了する。この後、通常パケットの送信を停止していたノード装置101(0)とノード装置101(1)が、通常パケットの送信を再開できる。
【００６６】
次に、ノード装置101(0)〜101(4)のルーティングテーブル103(0)〜103(4)に対し、追加増設されたノード装置101(5)を送信先ノード装置とするパケットのルーティング情報を設定する。このためにノード装置101(5)は自ノード装置の追加を通知するノード追加通知パケットを生成し、リングネットワーク上を周回させて他のノード装置101(0)〜101(4)にノード装置の追加を通知し、ルーティングテーブルに新規エントリの追加を指示する。
【００６７】
ノード追加通知パケットを生成するノード装置101(5)の動作について、図１を参照して説明する。ノード追加通知パケットはルーティング制御部102によって生成される。ノード追加通知パケットは、発行元ノード装置の固有の番号（この場合ノード装置101(5)の固有の番号である“5”）と該ノード装置がルーティングテーブル103の設定に際して使用したコピー元ノード装置番号（この場合ノード装置101(1)の固有の番号である“1”）を含んでいる。パケットはまずコピー元となったノード装置に出力され、そのままリング上を周回する。本実施の形態ではノード装置101(1)がコピー元ノード装置であるため、パケットは順方向のリングを形成する出力制御部111および出力ポート117を介して順方向のリングに沿って出力される。
【００６８】
ノード追加通知パケットを受信したノード装置101(1)の動作について図１を参照して説明する。ノード装置101(1)では入力ポート115を介して入力バッファ部109においてノード追加通知パケットを受信する。入力バッファ部109ではノード追加通知パケットを識別すると、パケットから発行元ノード装置の固有の番号とコピー元ノード装置番号を読み出してルーティング制御部102に通知する。パケット自身は出力制御部111および出力ポート117を介して隣接するノード装置101(2)にフォワードされる。ルーティング制御部102では、ルーティングテーブル103にあらたなエントリを追加する。このとき追加されるエントリの左側の欄は、発行元ノード装置の固有の番号（この場合ノード装置101(5)の固有の番号である“5”）が記述され、右側の欄の値は以下の規則によって決定される。すなわち、自ノード装置の番号とコピー元ノード装置番号が一致する場合には、ノード追加通知パケットが流れている方向と逆向きの方向を記述し、不一致である場合には、コピー元ノード装置のエントリの右側の欄の値をコピーする。ノード装置101(1)においては、コピー元ノード装置番号が１で自ノード装置番号と一致するため、ノード追加通知パケットが流れている方向（順方向）と逆向きの方向である“逆”の値を右側の欄に記述する。次にノード追加通知パケットを受信したノード装置101(2)では、コピー元ノード装置番号１と自ノード装置番号２が不一致であるため、コピー元ノード装置のエントリの右側の欄の値（この場合コピー元ノード装置番号１であるから、左側の欄が１のエントリの右側の欄の値“逆”）をコピーする。ノード装置101(3)、101(4)においてこの操作が繰り返される。
ノード追加通知パケットはリングネットワークの周回して発行元のノード装置101(5)に戻ってくると、このノード装置の入力バッファ部109(5)において消去される。
【００６９】
以上の操作によって追加増設されたノード装置101(5)を送信先ノード装置とするパケットのルーティング情報の設定が終了し、６ノード双方向リングネットワークとしての運用が可能となる。この状態でのリソースの依存関係を示す有向グラフは図６のようになる。
【００７０】
以上の実施の形態において、ノード装置の追加増設に際するルーティング情報の設定はルーティング制御部102が主体となってリング上を通信される制御用パケットが行ったが、ルーティングテーブル103および切断点表示フラグ104の設定・読み出しはすべて制御インタフェース105を介してネットワーク制御用端末301によって行ってもよい。この場合ルーティング情報要求パケット、ルーティング情報拒否パケット、ルーティング情報通知パケット、ノード追加通知パケットは使用されず、すべてネットワーク制御用端末301を介したオペレータもしくは制御プログラムの操作によって等価な設定が可能である。ネットワーク制御用端末301を介したルーティング情報の設定は制御用パケットを使用した設定方法に比べて低速であるが、ノード装置101の構成を単純化できるというメリットがある。
【００７１】
本発明の別の実施の形態では、処理装置がネットワーク制御用端末を兼ねることもできる。この場合図１において、ルーティングテーブルと切断点表示フラグの書き換えおよび参照は処理装置が入力バッファ部107を介して実行する。
【００７２】
上述のようにネットワーク制御用端末あるいは処理装置によって、ルーティングテーブルおよび切断点表示フラグの書き換えおよび参照が行われる場合においては、ルーティングテーブルのコピーをネットワーク制御用端末あるいは処理装置内に保持することで、参照の高速化を図ることもできる。
【００７３】
【発明の効果】
以上説明したように、本発明によれば、次のような効果を奏する。
【００７４】
第一の効果は、双方向リングネットワークへの新規ノード装置の追加に際し、ネットワーク中の適切な追加位置を判定できるということである。
【００７５】
第二の効果は、上記ノード装置の追加に際し、追加されたノード装置のルーティングテーブルの設定を容易に行うことができるということである。
【００７６】
第三の効果は、上記ノード装置の追加に際し、既に運用中のノード装置内にある運用時に使用されているルーティングテーブルの情報を変更せずに、新たな情報の追加だけで正しく経路を設定できるということである。
【００７７】
これらの効果によって、本発明の主目的である、運用を継続したままノード装置の追加増設を可能とし、拡張性と保守性に優れた双方向リングネットワークの提供が可能となる。
【図面の簡単な説明】
【図１】本発明にかかるノード装置101の構成例を示すブロック図である。
【図２】ルーティングテーブルの構成例を示す図である。
【図３】５ノード双方向リングネットワークの構成例を示すブロック図である。
【図４】図３の５ノード双方向リングネットワークのリソース間の依存関係に関する有向グラフの一例を示す図である。
【図５】図３の５ノード双方向リングネットワークに、新規にノードを追加増設した６ノード双方向リングネットワークの構成例を示すブロック図である。
【図６】図５の６ノード双方向リングネットワークのリソース間の依存関係に関する有向グラフの一例を示す図である。
【図７】単方向リングネットワークにおけるデッドロックの一例を示す図である。
【図８】従来技術による４ノード双方向リングネットワークの構成例を示すブロック図である。
【図９】図８の４ノード双方向リングネットワークのリソース間の依存関係に関する有向グラフの一例を示す図である。
【図１０】図８の４ノード双方向リングネットワークにおいて、ルーティング方向制限によるデッドロック回避を実現した場合のリソース間の依存関係に関する有向グラフの一例を示す図である。
【図１１】図８の４ノード双方向リングネットワークにおいて、ルーティング方向制限によるデッドロック回避を実現した場合のルーティング設定の一例を示す図である。
【符号の説明】
101  ノード装置
102  ルーティング制御部
103  ルーティングテーブル
104  切断点表示フラグ
105  制御インタフェース
106  入出力ポート
107  処理装置からの入力を受ける入力バッファ部
108  処理装置への出力を制御する出力制御部
109  順方向リングを構成する入力バッファ部
110  逆方向リングを構成する出力制御部
111  順方向リングを構成する出力制御部
112  逆方向リングを構成する入力バッファ部
113  処理装置からの入力ポート
114  処理装置への出力ポート
115  順方向リングを構成する入力ポート
116  逆方向リングを構成する出力ポート
117  順方向リングを構成する出力ポート
118  逆方向リングを構成する入力ポート
301  ネットワーク制御用端末
302  ノード装置間のリンク
701  ノード装置
702  ループを構成するバッファ
703  処理装置
704  処理装置からの入力を受けるバッファ
705  パケット
801  ノード装置
802  処理装置
803  順方向リングを構成するバッファ
804  逆方向リングを構成するバッファ
805  処理装置からの入力を受けるバッファ
C1〜C8  ノード装置間の接続
【図１】
0003821377.tif 000002
【図２】
0003821377.tif 000003
【図３】
0003821377.tif 000004
【図４】
0003821377.tif 000005
【図５】
0003821377.tif 000006
【図６】
0003821377.tif 000007
【図７】
0003821377.tif 000008
【図８】
0003821377.tif 000009
【図９】
0003821377.tif 000010
【図１０】
0003821377.tif 000011
【図１１】
0003821377.tif 000012