(57)【要約】【課題】迂回路専用に多くのハードウェアを追加することなく、一部のリンク障害に対処して迂回路を設定することのできるネットワークコントローラの障害処理装置、リンク障害時パケット転送システムおよび方法を得ること。【解決手段】エラー検出部２１８2はリンク２３１52の障害を検出すると、健全側の迂回指示生成部２１９1にエラー検出表示をアサートし、ここから迂回指示パケット２５３MDAを障害側のリンクＩＤを付して相手ネットワークコントローラに送出する。障害側のデータ受信部２１５5はこれを受信して健全側の迂回指示生成部２１９6に迂回指示了承パケット２８１MDBを送出させてデータ送出部２１６1のデータ送出を再開させると共にデータ送出部２１６5にデータの送出再開を指示する。【選択図】図１０
2007159063.tif 000002
【特許請求の範囲】
【請求項１】
自装置と同一構成の相手側装置との間で通信を行う際の一対の装置の間の通信路を形成する複数のリンクのそれぞれについて障害を検出する前記リンクの数に対応した複数のリンク障害検出手段と、
これら複数のリンク障害検出手段のいずれかが対応するリンクについての障害を検出したとき、残りの健全側のリンクを使用して前記相手側装置に対してそのリンクを特定するリンク特定情報を付加した形で通信路の迂回を指示する迂回指示手段と、
前記相手側装置の前記迂回指示手段から前記リンク特定情報を付加した形で通信路の迂回を指示してきたとき、迂回を指示された前記健全側のリンクを使用して前記相手側装置に対して通信路の迂回を了解する迂回指示了解通知を送出する迂回指示了解通知送出手段
とを具備することを特徴とするネットワークコントローラの障害処理装置。
【請求項２】
自装置と同一構成の相手側装置との間で通信を行う際の一対の装置の間の通信路を形成する複数のリンクのそれぞれについて障害を検出する前記リンクの数に対応した複数のリンク障害検出手段と、
前記相手側装置との間でそれぞれ対応するリンクを使用し、これらのリンクを特定するリンク特定情報をそれぞれ付加した形で通信を行う複数の通信手段と、
前記複数のリンク障害検出手段のいずれかが対応するリンクについての障害を検出したとき、残りの健全側のリンクを使用して前記相手側装置に対してその障害の生じたリンクを特定するリンク特定情報を付加した形で通信路の迂回を指示する迂回指示手段と、
前記相手側装置の前記迂回指示手段から前記リンク特定情報を付加した形で迂回の指示が送られてきたとき前記複数の通信手段のうちの前記迂回指示手段によって通信路の迂回を指示した通信手段に対して前記健全側のリンクを代わりに使用して送信を再開させる指示を行う障害通知受信側送信再開指示手段と、
前記相手側装置の障害通知受信側送信再開指示手段が前記健全側のリンクを代わりに使用して送信を再開させる指示を行って前記相手側装置の該当する通信手段から送信が再開されたとき前記リンク特定情報を用いて前記健全側のリンクを介して送られてきたデータから前記障害の生じたリンクに対応する通信手段のデータを選択して受信するデータ選択受信手段
とを具備することを特徴とするネットワークコントローラの障害処理装置。
【請求項３】
前記一対の装置の間の通信路を形成する複数のリンクは、第１および第２のリンクであることを特徴とする請求項２記載のネットワークコントローラの障害処理装置。
【請求項４】
前記第１のリンクを使用して送信を行う第１の送信手段および第１のリンクを使用して受信を行う第１の受信手段と、前記第２のリンクを使用して送信を行う第２の送信手段および第２のリンクを使用して受信を行う第２の受信手段を備え、前記障害通知受信側送信再開指示手段が通信を再開させる指示を行うとき前記相手側装置に対して迂回指示の了解を通知する迂回指示了解通知手段と、前記相手側装置の迂回指示了解通知手段から迂回指示の了解が通知されたとき前記障害の生じたリンクに対応する第１または第２の送信手段に対して前記健全側のリンクを使用して送信を再開させる指示を行う障害通知送信側送信再開指示手段
とを具備することを特徴とする請求項３記載のネットワークコントローラの障害処理装置。
【請求項５】
ネットワークコントローラ同士がそれぞれ複数組のリンクによって接続されることで構成されるネットワーク網における任意のネットワークコントローラ内で障害の生じたリンクを検出するリンク障害検出手段と、
このリンク障害検出手段が障害の生じたリンクを検出したとき、そのネットワークコントローラとその障害の生じたリンクを介して接続されるネットワークコントローラに対して障害の生じたリンクを特定するリンク特定情報を付加して障害の生じていないリンクを介して通信路の迂回を指示する迂回指示データを送出する迂回指示データ送出手段と、
この迂回指示データ送出手段の送出した前記迂回指示データを受け取ったネットワークコントローラ内でこの迂回指示データに付加された前記リンク特定情報を用いて前記障害の生じたリンクを使用してデータを受信していたデータ受信手段にこの迂回指示データを選択して出力するデータ選択手段と、
前記データ受信手段が前記迂回指示データを受信したとき、前記障害の生じたリンクを使用してデータの送信を行っていたデータ送信手段に対して前記迂回指示データの転送されてきた前記障害の生じていないリンクを使用して前記リンク特定情報を付加したデータの送出を開始させる第１のデータ送出開始制御手段と、
前記データ受信手段が前記迂回指示データを受信したとき、前記障害の生じていないリンクを介して前記障害の生じたリンクを検出したリンク障害検出手段の存在するネットワークコントローラに対して前記迂回指示データの迂回指示に対する了承を表わした迂回指示了承データを送信する迂回指示了承データ送信手段と、
この迂回指示了承データ送信手段の送信した迂回指示了承データを受信したネットワークコントローラ内の前記障害の生じたリンクを使用していた前記データ送信手段に前記迂回指示データの転送されてきた前記障害の生じていないリンクを介して前記リンク特定情報を付加したデータの送出を開始させる第２のデータ送出開始制御手段
とを具備することを特徴とするリンク障害時パケット転送システム。
【請求項６】
ネットワークコントローラ同士がそれぞれ複数組のリンクによって接続されることで構成されるネットワーク網における任意のネットワークコントローラ内で障害の生じたリンクを検出するリンク障害検出ステップと、
このリンク障害検出ステップで障害の生じたリンクを検出したとき、そのネットワークコントローラとその障害の生じたリンクを介して接続されるネットワークコントローラに対して障害の生じたリンクを特定するリンク特定情報を付加して障害の生じていないリンクを介して通信路の迂回を指示する迂回指示データを送出する迂回指示データ送出ステップと、
この迂回指示データ送出ステップで送出した前記迂回指示データを受け取ったネットワークコントローラ内でこの迂回指示データに付加された前記リンク特定情報を用いて前記障害の生じたリンクを使用してデータを受信していたデータ受信手段にこの迂回指示データを選択して出力するデータ選択ステップと、
前記データ受信手段が前記迂回指示データを受信したとき、前記障害の生じたリンクを使用してデータの送信を行っていたデータ送信手段に対して前記迂回指示データの転送されてきた前記障害の生じていないリンクを使用して前記リンク特定情報を付加したデータの送出を開始させる第１のデータ送出開始制御ステップと、
前記データ受信手段が前記迂回指示データを受信したとき、前記障害の生じていないリンクを介して前記障害の生じたリンクを検出したネットワークコントローラに対して前記迂回指示データの迂回指示に対する了承を表わした迂回指示了承データを送信する迂回指示了承データ送信ステップと、
この迂回指示了承データ送信ステップで送信した迂回指示了承データを受信したネットワークコントローラ内の前記障害の生じたリンクを使用していた前記データ送信手段に前記迂回指示データの転送されてきた前記障害の生じていないリンクを介して前記リンク特定情報を付加したデータの送出を開始させる第２のデータ送出開始制御ステップ
とを具備することを特徴とするリンク障害時パケット転送方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のリンクを持ったネットワークコントローラを相互接続することによって構成されるネットワーク網でリンクに障害が発生したときに対処するためのネットワークコントローラの障害処理装置、リンク障害時パケット転送システムおよび方法に関する。
【背景技術】
【０００２】
ネットワークのリンクに障害が発生すると、リンク先へデータの転送を行うことができなくなる。このような不具合を解消するために、ネットワークを完全二重化して、運用系ループで障害が発生した場合に待機系を用いてデータを転送することが従来から行われている。ところが、このようにネットワークを二重化すると、障害発生時に使用するだけの待機系を常時維持しなければならず、効率的なネットワークを構築することができない。そこで、リンクの障害が発生した場合にその箇所の送信側と受信側の対のパスを他に迂回させる迂回路を形成することが提案されている。
【０００３】
図１８は、複数のネットワークコントローラを用いて迂回路を形成した例を示したものである。この図では、第１〜第４のネットワークコントローラ１０１1〜１０１4が存在している。それぞれのネットワークコントローラ１０１1〜１０１4は、それぞれデータの受信機能を持った受信部（Ｒ）１０２1〜１０２8と、送信機能を持った送信部（Ｔ）１０３1〜１０３8を備えているものとする。
【０００４】
今、図示しないネットワークに一端を接続された送受信用の対のパス（以下、単にパスという）１０４の他端が第１のネットワークコントローラ１０１1の受信部１０２1と送信部１０３1に接続されているものとする。また、第１のネットワークコントローラ１０１1の受信部１０２6と送信部１０３6の対と、第２のネットワークコントローラ１０１2の受信部１０２1と送信部１０３1の対の間にパス１０５が設定されているものとする。第２のネットワークコントローラ１０１2の受信部１０２6と送信部１０３6の対に他のパス１０６の一端が接続されているものとすれば、第１および第２のネットワークコントローラ１０１1、１０１2を介して、パス１０４とパス１０６が結ばれることになる。
【０００５】
このようなネットワークで、パス１０５に×印で示すように何らかの障害が発生し、リンクが切断されたものとする。このような場合には、たとえば第１のネットワークコントローラ１０１1の受信部１０２7と送信部１０３7の対と、第３のネットワークコントローラ１０１3の受信部１０２4と送信部１０３4の対との間に新たにパス１０７を設定し、第３のネットワークコントローラ１０１3の受信部１０２5と送信部１０３5の対と、第４のネットワークコントローラ１０１4の受信部１０２2と送信部１０３2の対との間に新たにパス１０８を設定し、更に第４のネットワークコントローラ１０１4の受信部１０２3と送信部１０３3の対と、第２のネットワークコントローラ１０１2の受信部１０２8と送信部１０３8の対との間に新たにパス１０９を設定するようにする。これにより、第１、第３、第４および第２のネットワークコントローラ１０１1、１０１3、１０１4、１０１2を介して、パス１０４とパス１０６を結ぶ迂回路としてのパス１０７〜１０９が形成されることになる。これにより、第１および第２のネットワークコントローラ１０１1、１０１2の間の障害箇所を回避することができる。
【０００６】
ところが、この図１８に示したような迂回パスを通るルーティングでは、特定の１つのパスを通常使用する通常経路と迂回時に使用する迂回経路のいずれにでも設定できるようにすると、パケットのオーダリングの際に一方の経路の設定が他方の経路の設定を妨げる事態が発生して、デッドロックを発生させるといった問題が発生する。このような問題を解消させるためには、それぞれのネットワークコントローラに、通常経路と迂回経路それぞれ専用の回路をハードウェアとして設ける必要がある。
【０００７】
図１９は、このようなネットワークコントローラの対を表わしたものである。ここでは第１のネットワークコントローラ１０１1と第２のネットワークコントローラ１０１2の関係を表わしている。この図に示すように、それぞれのネットワークコントローラ１０１1、１０１2の受信部１０２の方には、通常の経路の受信処理を行う通常経路受信部１１１と、迂回経路の受信処理を行う迂回経路受信部１１２が設けられており、送信部１０３の方には、通常の経路の送信処理を行う通常経路送信部１１３と、迂回経路の送信処理を行う迂回経路送信部１１４が設けられている。これらの通常経路受信部１１１、迂回経路受信部１１２、通常経路送信部１１３および迂回経路送信部１１４は、データの流れる量の制御としてのフロー制御を行ったり、障害時にパスを切り替えることでデータを再度送信させる再送制御を行うためのハードウェアで構成されている。このように、通常経路と迂回経路の処理を独立させることにより、上記した問題を回避することができる。しかしながら、このように通常経路と迂回経路の処理を独立させると、ハードウェアの量が倍必要になるといった問題がある。
【０００８】
また、ハードウェアの増大に対する対策として、障害が発生し、これによって使用しなくなったリンクに関係するハードウェアを活用するといった提案もある。しかしながら、この提案では障害リンクのデータのパスについての健全性の確保が困難であるという問題がある。
【０００９】
そこで、リンク障害の発生時に、これによるリンクの切断点の直前から折り返しを行って迂回路を設けることが提案されている（たとえば特許文献１参照）。
【００１０】
図２０は、この後者の提案の内容を表わしたものである。第１のネットワークコントローラ１０１1と第２のネットワークコントローラ１０１2の間のパス１０５に障害が発生したとする。この場合、第１のネットワークコントローラ１０１1のパス１０４における受信部１０２1に受信したデータを送信部１０３1に折り返す。また、第２のネットワークコントローラ１０１2の受信部１０２6に受信したデータを送信部１０３6に折り返す。
【特許文献１】特開２００２−３６８７６９号公報（第００４２段落、図４）
【発明の開示】
【発明が解決しようとする課題】
【００１１】
このようにリンクの切断点の直前から折り返しを行って迂回路を設ける提案では、閉ループ形状にパスが形成されているネットワーク網であることを前提としている。このようなネットワーク網では、同一のループパスで１つのリンクが切断された場合には、折り返しのループによって目的とするノードに到達することができる。ところが同一のループパスで複数のリンクが切断されてしまうと、迂回のための経路を形成することができないという問題がある。
【００１２】
そこで本発明の目的は、迂回路専用に多くのハードウェアを追加することなく、一部のリンク障害に対処して迂回路を設定することのできるネットワークコントローラの障害処理装置、リンク障害時パケット転送システムおよび方法を提供することにある。
【課題を解決するための手段】
【００１３】
本発明では、（イ）自装置と同一構成の相手側装置との間で通信を行う際の一対の装置の間の通信路を形成する複数のリンクのそれぞれについて障害を検出するリンクの数に対応した複数のリンク障害検出手段と、（ロ）これら複数のリンク障害検出手段のいずれかが対応するリンクについての障害を検出したとき、残りの健全側のリンクを使用して相手側装置に対してそのリンクを特定するリンク特定情報を付加した形で通信路の迂回を指示する迂回指示手段と、（ハ）相手側装置の迂回指示手段からリンク特定情報を付加した形で通信路の迂回を指示してきたとき、迂回を指示された健全側のリンクを使用して相手側装置に対して通信路の迂回を了解する迂回指示了解通知を送出する迂回指示了解通知送出手段とをネットワークコントローラの障害処理装置に具備させる。
【００１４】
すなわち本発明では、複数のリンクで接続された一対のネットワークコントローラの一方でこれらのリンクの一部について障害を検出したとき、障害の生じていない健全側のリンクを使用し、障害の生じたリンクを特定するリンク特定情報を付加したデータを相手方のネットワークコントローラに送って通信路の迂回を指示するようにしている。この指示を受け取ったネットワークコントローラ側では、迂回を指示された健全側のリンクを使用して、この指示を行ったネットワークコントローラに対して通信路の迂回を了解する迂回指示了解通知を送出するようにしている。これにより、本来のデータを再送する前に、障害の生じたリンクに関連する一対のネットワークコントローラで、データパスのチェックが可能になる。従って、迂回路を確実に設定することができる。
【００１５】
また、本発明では、（イ）自装置と同一構成の相手側装置との間で通信を行う際の一対の装置の間の通信路を形成する複数のリンクのそれぞれについて障害を検出するリンクの数に対応した複数のリンク障害検出手段と、（ロ）相手側装置との間でそれぞれ対応するリンクを使用し、これらのリンクを特定するリンク特定情報をそれぞれ付加した形で通信を行う複数の通信手段と、（ハ）前記した複数のリンク障害検出手段のいずれかが対応するリンクについての障害を検出したとき、残りの健全側のリンクを使用して相手側装置に対してその障害の生じたリンクを特定するリンク特定情報を付加した形で通信路の迂回を指示する迂回指示手段と、（ニ）相手側装置の迂回指示手段からリンク特定情報を付加した形で迂回の指示が送られてきたとき前記した複数の通信手段のうちの迂回指示手段によって通信路の迂回を指示した通信手段に対して健全側のリンクを代わりに使用して送信を再開させる指示を行う障害通知受信側送信再開指示手段と、（ホ）相手側装置の障害通知受信側送信再開指示手段が健全側のリンクを代わりに使用して送信を再開させる指示を行って相手側装置の該当する通信手段から送信が再開されたときリンク特定情報を用いて健全側のリンクを介して送られてきたデータから障害の生じたリンクに対応する通信手段のデータを選択して受信するデータ選択受信手段とをネットワークコントローラの障害処理装置に具備させる。
【００１６】
すなわち本発明では、複数のリンクで接続された一対のネットワークコントローラの一方でこれらのリンクの一部について障害を検出したとき、障害の生じていない健全側のリンクを使用し、障害の生じたリンクを特定するリンク特定情報を付加したデータを相手方のネットワークコントローラに送って通信路の迂回を指示するようにしている。この指示を受け取ったネットワークコントローラ側では、迂回指示手段によって通信路の迂回を指示した通信手段に対して健全側のリンクを代わりに使用して送信を再開させる指示を行う。これにより、健全側のリンクを使用したデータの送信が可能になるが、障害を検出した受信側では、リンク特定情報を用いて健全側のリンクを介して送られてきたデータから障害の生じたリンクに対応する通信手段のデータを選択して受信することで、障害の生じたリンクに対応する通信手段がデータの受信を可能にする。ここでは触れていないが、障害を検出した受信側から迂回を指示した先のネットワークコントローラに対するデータの送信も健全側のリンクを代わりに使用して行うことができる。
【００１７】
また、本発明では、（イ）ネットワークコントローラ同士がそれぞれ複数組のリンクによって接続されることで構成されるネットワーク網における任意のネットワークコントローラ内で障害の生じたリンクを検出するリンク障害検出手段と、（ロ）このリンク障害検出手段が障害の生じたリンクを検出したとき、そのネットワークコントローラとその障害の生じたリンクを介して接続されるネットワークコントローラに対して障害の生じたリンクを特定するリンク特定情報を付加して障害の生じていないリンクを介して通信路の迂回を指示する迂回指示データを送出する迂回指示データ送出手段と、（ハ）この迂回指示データ送出手段の送出した迂回指示データを受け取ったネットワークコントローラ内でこの迂回指示データに付加されたリンク特定情報を用いて障害の生じたリンクを使用してデータを受信していたデータ受信手段にこの迂回指示データを選択して出力するデータ選択手段と、（ニ）データ受信手段が迂回指示データを受信したとき、障害の生じたリンクを使用してデータの送信を行っていたデータ送信手段に対して迂回指示データの転送されてきた障害の生じていないリンクを使用してリンク特定情報を付加したデータの送出を開始させる第１のデータ送出開始制御手段と、（ホ）データ受信手段が迂回指示データを受信したとき、障害の生じていないリンクを介して障害の生じたリンクを検出したリンク障害検出手段の存在するネットワークコントローラに対して迂回指示データの迂回指示に対する了承を表わした迂回指示了承データを送信する迂回指示了承データ送信手段と、（へ）この迂回指示了承データ送信手段の送信した迂回指示了承データを受信したネットワークコントローラ内の障害の生じたリンクを使用していたデータ送信手段に迂回指示データの転送されてきた障害の生じていないリンクを介してリンク特定情報を付加したデータの送出を開始させる第２のデータ送出開始制御手段とをリンク障害時パケット転送システムに具備させる。
【００１８】
すなわち本発明では、ネットワークコントローラ同士がそれぞれ複数組のリンクによって接続されることで構成されるネットワーク網において、任意のネットワークコントローラ内で障害の生じたリンクをリンク障害検出手段で検出するようにし、このリンク障害検出手段が障害の生じたリンクを検出したときに、障害の生じたリンクを特定するリンク特定情報を付加して障害の生じていないリンクを介して通信路の迂回を指示する迂回指示データを迂回指示データ送出手段によって対向するネットワークコントローラに送出するようにしている。この迂回指示データ送出手段の送出した迂回指示データを受け取ったネットワークコントローラ内では、この迂回指示データに付加されたリンク特定情報を用いて障害の生じたリンクを使用してデータを受信していたデータ受信手段にこの迂回指示データを選択して出力して受信させ、これによりデータ受信手段が迂回指示データを受信したとき、障害の生じたリンクを使用してデータの送信を行っていたデータ送信手段に対して迂回指示データの転送されてきた障害の生じていないリンクを使用してリンク特定情報を付加したデータの送出を開始させるようにしている。また、データ受信手段が迂回指示データを受信したとき、障害の生じていないリンクを介して障害の生じたリンクを検出したリンク障害検出手段の存在するネットワークコントローラに対して迂回指示データの迂回指示に対する了承を表わした迂回指示了承データを送信することも迂回指示了承データ送信手段によって併せて行われる。この迂回指示了承データ送信手段の送信した迂回指示了承データを受信したネットワークコントローラ内の障害の生じたリンクを使用していたデータ送信手段に迂回指示データの転送されてきた障害の生じていないリンクを介してリンク特定情報を付加したデータの送出を開始させることができる。これにより、障害の生じたリンクに関係する一対のネットワークコントローラが障害の生じていない健全側のリンクを代わりに使用して、データの送受信が可能になる。
【００１９】
また、本発明では、（イ）ネットワークコントローラ同士がそれぞれ複数組のリンクによって接続されることで構成されるネットワーク網における任意のネットワークコントローラ内で障害の生じたリンクを検出するリンク障害検出ステップと、（ロ）このリンク障害検出ステップで障害の生じたリンクを検出したとき、そのネットワークコントローラとその障害の生じたリンクを介して接続されるネットワークコントローラに対して障害の生じたリンクを特定するリンク特定情報を付加して障害の生じていないリンクを介して通信路の迂回を指示する迂回指示データを送出する迂回指示データ送出ステップと、（ハ）この迂回指示データ送出ステップで送出した迂回指示データを受け取ったネットワークコントローラ内でこの迂回指示データに付加されたリンク特定情報を用いて障害の生じたリンクを使用してデータを受信していたデータ受信手段にこの迂回指示データを選択して出力するデータ選択ステップと、（ニ）データ受信手段が迂回指示データを受信したとき、障害の生じたリンクを使用してデータの送信を行っていたデータ送信手段に対して迂回指示データの転送されてきた障害の生じていないリンクを使用してリンク特定情報を付加したデータの送出を開始させる第１のデータ送出開始制御ステップと、（ホ）データ受信手段が迂回指示データを受信したとき、障害の生じていないリンクを介して障害の生じたリンクを検出したネットワークコントローラに対して迂回指示データの迂回指示に対する了承を表わした迂回指示了承データを送信する迂回指示了承データ送信ステップと、（へ）この迂回指示了承データ送信ステップで送信した迂回指示了承データを受信したネットワークコントローラ内の障害の生じたリンクを使用していたデータ送信手段に迂回指示データの転送されてきた障害の生じていないリンクを介してリンク特定情報を付加したデータの送出を開始させる第２のデータ送出開始制御ステップとをリンク障害時パケット転送システムに具備させる。
【００２０】
すなわち本発明では、ネットワークコントローラ同士がそれぞれ複数組のリンクによって接続されることで構成されるネットワーク網において、任意のネットワークコントローラ内で障害の生じたリンクをリンク障害検出ステップで検出するようにし、このリンク障害検出ステップで障害の生じたリンクを検出したときに、障害の生じたリンクを特定するリンク特定情報を付加して障害の生じていないリンクを介して通信路の迂回を指示する迂回指示データを迂回指示データ送出ステップで対向するネットワークコントローラに送出するようにしている。この迂回指示データ送出ステップで送出した迂回指示データを受け取ったネットワークコントローラ内では、この迂回指示データに付加されたリンク特定情報を用いて障害の生じたリンクを使用してデータを受信していたデータ受信手段にこの迂回指示データを選択して出力して受信させ、これによりデータ受信手段が迂回指示データを受信したとき、障害の生じたリンクを使用してデータの送信を行っていたデータ送信手段に対して迂回指示データの転送されてきた障害の生じていないリンクを使用してリンク特定情報を付加したデータの送出を開始させるようにしている。また、データ受信手段が迂回指示データを受信したとき、障害の生じていないリンクを介して障害の生じたリンクを検出したネットワークコントローラに対して迂回指示データの迂回指示に対する了承を表わした迂回指示了承データを送信することも迂回指示了承データ送信と共に併せて行われる。これにより、この迂回指示了承データを受信したネットワークコントローラ内の障害の生じたリンクを使用していた送信手段に迂回指示データの転送されてきた障害の生じていないリンクを介してリンク特定情報を付加したデータの送出を開始させることができる。また、障害の生じたリンクに関係する一対のネットワークコントローラが障害の生じていない健全側のリンクを代わりに使用して、データの送受信が可能になる。
【発明の効果】
【００２１】
以上説明したように本発明によれば、リンクの障害が生じた対向する一対のネットワークコントローラ間で迂回路の設定を行うので、従来の技術として説明したような他のネットワークコントローラに迂回路を設定する必要がない。このため、単純なネットワークの部分でも障害に対応して迂回路を設定することができる。また、実際に迂回路を設定する前に迂回指示を相手方のネットワークコントローラに送って了承を受け、かつ了承の通知を迂回指示を行ったネットワークコントローラに送らせて確認できるようにしたので、そのパスに障害が生じていないことが確認されることになり、信頼性の高い迂回路を設定することが可能になる。
【００２２】
しかも本発明手は、迂回パスをリンクの障害が発生した一対のネットワークコントローラ間で形成するので、この一対のネットワークコントローラの全リンクに障害が発生しない限り、複数箇所でリンクの障害が発生してもシステムダウンが生じることがない。このため、極めて信頼性の高いネットワーク網を実現することができる。
【発明を実施するための最良の形態】
【００２３】
以下実施例につき本発明を詳細に説明する。
【実施例１】
【００２４】
＜システムの概要＞
【００２５】
図１は、本発明の一実施例で使用するネットワークコントローラの構成の概要を表わしたものである。ネットワークコントローラ２０１は、その全体的な制御を行う制御部２０２を備えている。制御部２０２は、すべてハードウェアとしての回路で構成されるものであってもよいし、ＣＰＵ（Central Processing Unit）２０３と、各種の制御プログラムを格納した記憶媒体としてのＲＯＭ（Read Only Memory）２０４と、ＣＰＵ２０３が制御プログラムを実行するに際して一時的に必要となるデータを格納するメモリ領域としてのＲＡＭ（Random Access Memory）２０５を備えるものであってもよい。また、ネットワークコントローラ２０１は、図１８に示した受信部（Ｒ）１０２1〜１０２8に対応する受信機能を持った受信部（Ｒ）２１１1〜２１１8と、送信部（Ｔ）１０３1〜１０３8に対応する送信機能を持った送信部（Ｔ）２１２1〜２１２8を備えている。
【００２６】
更に、ネットワークコントローラ２０１は、データ調停部２１３、データ選択部２１４、データ受信部２１５、データ送出部２１６、データ切替部２１７、エラー検出部２１８および迂回指示生成部２１９を備えている。これらの各部は制御部２０２内のＣＰＵ２０３が制御プログラムを実行することによって実現するものであってもよいし、それらの一部または全部がハードウェアとしての実際の回路で構成されていてもよい。データ調停部２１３、データ選択部２１４、データ受信部２１５、データ送出部２１６、データ切替部２１７、エラー検出部２１８および迂回指示生成部２１９は、図１では１つずつ示しているが、実際には受信部２１１1〜２１１8と送信部２１２1〜２１２8の対に相当する８組が設けられている。もちろん、１つのネットワークコントローラ２０１が同時に送受信を行うパケットのパスがこれよりも少ない組数であれば、その組数だけであってもよい。なお、本実施例では、各受信部２１１1〜２１１8と送信部２１２1〜２１２8に対応したデータ調停部２１３、データ選択部２１４、データ受信部２１５、データ送出部２１６、データ切替部２１７、エラー検出部２１８および迂回指示生成部２１９を説明に用いる際には符号部分にそれぞれ添え字の「１」〜「８」を付して説明するものとする。
【００２７】
このうち、データ調停部２１３は、後に説明する通常データ、迂回指示パケット、迂回了承パケットおよび迂回データの調停を行うようになっている。データ選択部２１４は、障害発生時におけるパスの切り替えや不要なパケットの廃棄を行うようになっている。データ受信部２１５は、受信したデータについて再送制御やフロー制御等の各種の処理を行うようになっている。データ送信部２１６はパケットの送出を行うようになっている。データ切替部２１７は、データ選択部２１４の切替指示をアサートするために用いられる。エラー検出部２１８は、リンクにおけるデータの再送の失敗、フロー制御エラー等のリンク障害を検出し、同一ネットワークコントローラ内のこの障害側とは異なる側の迂回指示生成部２１９に対してエラー検出表示をアサートするようになっている。迂回指示生成部２１９は、エラー検出表示がアサートされると、迂回指示パケットを生成するようになっている。これらの各部については、後に具体的に説明する。
【００２８】
図２は、本実施例のネットワークコントローラが複数接続された本実施例のネットワーク網を表わしたものである。ここで、第１〜第４のネットワークコントローラ２０１1〜２０１4は、それぞれ図１に一般化して示したネットワークコントローラ２０１と同一の構造となっている。このうち、第１のネットワークコントローラ２０１1と第２のネットワークコントローラ２０１2の受信部２１１1と送信部２１２1の対と受信部２１１2と送信部２１２2の対とは、それぞれＣＰＵノード２２１の対応する部位に接続されている。また、第３のネットワークコントローラ２０１3と第４のネットワークコントローラ２０１4の送信部２１２5と受信部２１１5の対と送信部２１２6と受信部２１１6の対は、それぞれＩ／Ｏ（Input Output）ノード２２２の対応する部位に接続されている。更に、第１のネットワークコントローラ２０１1の送信部２１２5と受信部２１１5の対は、第４のネットワークコントローラ２０１4の受信部２１１2と送信部２１２2の対と接続され、第１のネットワークコントローラ２０１1の送信部２１２6と受信部２１１6の対は、第４のネットワークコントローラ２０１4の受信部２１１1と送信部２１２1の対と接続されている。
【００２９】
同様に、第２のネットワークコントローラ２０１2の送信部２１２5と受信部２１１5の対は、第３のネットワークコントローラ２０１3の受信部２１１2と送信部２１２2の対と接続され、第２のネットワークコントローラ２０１2の送信部２１２6と受信部２１１6の対は、第３のネットワークコントローラ２０１3の受信部２１１1と送信部２１２1の対と接続されている。また、第１のネットワークコントローラ２０１2の送信部２１２3と受信部２１１3の対は、第２のネットワークコントローラ２０１2の受信部２１１8と送信部２１２8の対と接続され、第１のネットワークコントローラ２０１1の送信部２１２4と受信部２１１4の対は、第２のネットワークコントローラ２０１2の受信部２１１7と送信部２１２7の対と接続されている。同様に、第４のネットワークコントローラ２０１4の送信部２１２3と受信部２１１3の対は、第３のネットワークコントローラ２０１3の受信部２１１8と送信部２１２8の対と接続され、第４のネットワークコントローラ２０１4の送信部２１２4と受信部２１１4の対は、第３のネットワークコントローラ２０１2の受信部２１１7と送信部２１２7の対と接続されている。
【００３０】
図３は、一例として第１および第４のネットワークコントローラの対向する箇所のリンクの状態を具体的に表わしたものである。図１を参照すると分かりやすいが、第１のネットワークコントローラ２０１1における第４のネットワークコントローラ２０１4と対向する側には、送信部２１２5と受信部２１１5の対と、送信部２１２6と受信部２１１6の対が存在している。また、第４のネットワークコントローラ２０１4の第１のネットワークコントローラ２０１1と対向する側には、受信部２１１2と送信部２１２2の対と、受信部２１１1と送信部２１２1の対が配置されている。したがって、第１のネットワークコントローラ２０１1と第４のネットワークコントローラ２０１4の対向する箇所には、４つのリンク２３１52、２３１25、２３１61、２３１16が存在することになる。他の箇所についての説明は省略する。
【００３１】
本実施例では、たとえば図２に示したＣＰＵノード２２１に接続された第１のネットワークコントローラ２０１1と、Ｉ／Ｏノード２２２に接続された第４のネットワークコントローラ２０１4とが１対のリンク２３１61、２３１16を介してデータ通信を行っているときに、この１対のリンク２３１61、２３１16のいずれかあるいは双方に障害が発生したときのネットワークコントローラ２０１1〜２０１4の障害処理を扱っている。
【００３２】
図４は、図３に示した第１および第４のネットワークコントローラの回路構成の要部を表わしたものである。ここでは、図２に示したように第１および第４のネットワークコントローラ２０１1、２０１4を使用してＣＰＵノード２２１とＩ／Ｏノード２２２との間で通信を行うことを前提として説明を行う。また、この前提では、第１および第４のネットワークコントローラ２０１1、２０１4の対向する部位での４つのリンク２３１52、２３１25、２３１61、２３１16に着目する。
【００３３】
第１のネットワークコントローラ２０１1の送信部２１２5は、データ調停部２１３5で調停されたデータをリンク２３１52を経て第４のネットワークコントローラ２０１4の受信部２１１2に送出するようになっている。同様に、第１のネットワークコントローラ２０１1の送信部２１２6は、データ調停部２１３6で調停されたデータをリンク２３１61を経て第４のネットワークコントローラ２０１4の受信部２１１1に送出するようになっている。ここで、２つのデータ調停部２１３5、２１３6には、送信部２１２5に本来対応したデータ送出部２１６5と、送信部２１２6に本来対応したデータ送出部２１６6の双方の出力するデータが入力されるようになっている。このうち送信部２１２5に対応したデータ調停部２１３5は、迂回指示生成部２１９5からの指示に基づいてデータの調停を行う。同様に、送信部２１２6に対応したデータ調停部２１３6は、迂回指示生成部２１９6からの指示に基づいてデータの調停を行うことになる。
【００３４】
一方、第４のネットワークコントローラ２０１4の受信部２１１2の受け取ったデータは、対応するデータ選択部２１４2に送られて、ここで選択されたデータがデータ受信部２１５2で受信される。同様に、第４のネットワークコントローラ２０１4の受信部２１１1の受け取ったデータは、対応するデータ選択部２１４1に送られて、ここで選択されたデータがデータ受信部２１５1で受信されることになる。第４のネットワークコントローラ２０１4内には、リンク２３１52、２３１25のエラーを検出するエラー検出部２１８2と、リンク２３１61、２３１16のエラーを検出するエラー検出部２１８1が存在している。データ受信部２１５2に対応するエラー検出部２１８2の検出結果は、他方のデータ受信部２１５1に対応するデータ切替部２１７1に入力される。同様に、データ受信部２１５1に対応するエラー検出部２１８1の検出結果は、他方のデータ受信部２１５2に対応するデータ切替部２１７2に入力されるようになっている。
【００３５】
＜ネットワークコントローラの各部の構成＞
【００３６】
次に、この図４に示した各部の具体的な構成を説明する。
【００３７】
図５は、データ送出部の構成を表わしたものである。ここではデータ送出部２１６5について説明するが、データ送出部２１６6等の他のデータ送出部についても構成は同一となっている。データ送出部２１６5は、第１のネットワークコントローラ２０１1の内部から送られてくるデータ２４０5を入力して再送を制御する再送制御部２４１と、フロー制御を行うフロー制御部２４２と、図４に示したデータ調停部２１３5およびデータ調停部２１３6にデータ２４４5を送出する送出部２４３から構成されている。再送制御部２４１は、対応するリンク２３１52でエラーが発生した場合の再送制御を行うことになる。なお、再送制御およびフロー制御は当業者によってよく知られた技術であり、本実施例の障害処理と直接関係しない。したがって、その詳細な説明は省略する。
【００３８】
図６は、データ調停部の構成を表わしたものである。ここではデータ調停部２１３5について説明するが、データ調停部２１３6等の他のデータ調停部についても構成は同一となっている。データ調停部２１３5は、経路設定部２５１と調停部２５２から構成されている。経路設定部２５１は、図５に示した対応するデータ送出部２１６5から送られてきた通常のデータ２４４5と、図４のデータ送出部２１６6から送られてきた迂回用のデータ２４４6と、迂回指示生成部２１９5から送られてきた迂回指示パケット２５３5を入力した場合、それぞれの入力パスに応じた仮想経路種別が設定される。調停部２５２はデータ２４４5とデータ２４４6の調停を行って、これをデータ２５４5として対応する送信部２１２5に送出することになる。
【００３９】
ここで、迂回指示生成部２１９5は、障害発生時に迂回を指示する迂回指示パケットあるいは迂回指示を了承する迂回指示了承パケットを生成するようになっている。ここで、迂回指示生成部２１９5は、たとえば図４に示すリンク２３１52に障害が検出されたとすると、第４のネットワークコントローラ２０１4のエラー検出部２１８2からのエラー検出表示の有効性を示すアサート（assert）により、迂回指示了承パケットを生成する。これについては、後に具体的に説明する。
【００４０】
図７は、データ選択部の構成を表わしたものである。ここでは図４に示す第１のネットワークコントローラ２０１1からデータを受信する第４のネットワークコントローラ２０１4のデータ選択部２１４2について説明する。データ選択部２１４1等の他のデータ選択部についても構成は同一となっているので、これらの説明は省略する。データ選択部２１４2は、図４に示した受信部２１１2で受信したデータ２６１2と、他方の受信部２１１1で受信したデータ２６１1とを選択対象として入力する選択部２６２と、この選択部２６２の選択したデータをマスクした後のデータ２６３2を、図４におけるデータ受信部２１５2に送出するマスク部２６４を備えている。選択部２６２およびマスク部２６４には、図４に示すデータ切替部２１７2から切替指示データ２６５2が供給され、パスの切り替えやパケットの出力あるいは廃棄の制御を行うようになっている。
【００４１】
このうちマスク部２６４は、データ切替部２１７2の切替指示データ２６５2と、受信するパケットの仮想経路種別に従って、パケットの廃棄を行うことで不要なデータをマスクする。具体的には、切替指示データ２６５2によって切替指示がアサートされた場合に、通常経路のデータ２６１2を廃棄する。切替指示がアサートされない場合には、迂回経路のデータデータ２６１1を廃棄することになる。
【００４２】
次に図４と共にデータ切替部２１７を説明する。たとえばリンク２３１52に障害が発生したとする。この場合、第１のネットワークコントローラ２０１1内の図示しないデータ切替部２１７5は、第４のネットワークコントローラ２０１4内の図示しない迂回指示生成部２１９1から迂回指示パケットを受信して、そのパケット内のリンクＩＤ（Identification）と、自身の属するリンクのリンクＩＤとを比較するようになっている。リンクＩＤが一致していなければ、受信したパケットの廃棄のみ行う。一致していれば、図示しないデータ選択部２１４5に対して対向するリンク側（健全リンク）のデータを、図示しない障害リンク側のデータ受信部２１５5に送出するよう、切替指示をアサートする。また、第１のネットワークコントローラ２０１1内の迂回指示生成部２１９6から迂回指示了承パケットを受信して、そのパケット内のリンクＩＤと、自身の属するリンクのリンクＩＤとを比較し、両リンクＩＤが一致していなければ、受信したパケットの廃棄のみ行う。一致していれば、データ選択部２１４2に対して対向するリンク側（健全リンク）のデータを、障害リンク側のデータ受信部２１５2に送出するよう、切替指示をアサートする。
【００４３】
図８はデータ受信部の構成を表わしたものである。ここでは、図４に示す第４のネットワークコントローラ２０１4のデータ受信部２１５2について説明する。データ受信部２１５1等の他のデータ受信部についても構成は同一となっているので、これらの説明は省略する。データ受信部２１５2は、図７に示したデータ選択部２１４2からマスク後のデータ２６３2を受信する受信部２７１の他に、このデータ２６３2を並行して受信する再送制御部２７２およびフロー制御部２７３を備えている。受信部２７１は、図示しないデータバッファを備えており、受信したデータ２６３2を蓄積した後、迂回指示受信部２７４に出力するようになっている。再送制御部２７２およびフロー制御部２７３は、当業者にとってよく知られており、また本発明とは直接関係しないので、その詳細な構成は省略する。
【００４４】
迂回指示受信部２７４は、受信部２７１から迂回指示パケットを受信すると、迂回指示受信表示２７５により、この迂回指示パケットの受信の通知を行うと共に、迂回指示パケット内のリンクＩＤの通知を、第１のネットワークコントローラ２０１1の他方の組に対応して設けられた迂回指示生成部２１９6に対して行う。そして、第４のネットワークコントローラ２０１4内部へは迂回指示パケットの送出は行わず、これを廃棄した後、障害の生じた第１のネットワークコントローラ２０１1のデータ送出部２１６5に対して、データ出力の再開指示を行うことになる。
【００４５】
また、この迂回指示受信部２７４が迂回指示了承パケットを受信した場合には、迂回指示了承受信表示２７６により、この迂回指示了承パケットの受信の通知を行う。この場合、自身の第４のネットワークコントローラ２０１4内部には迂回指示了承パケットの送出を行わず、これを廃棄した後、第１のネットワークコントローラ２０１1のデータ送出部２１６5に対して、データ出力指示を送出する。もちろん、受信部２７１が受信したデータ２６３2のうちの迂回指示パケットおよび迂回指示了承パケット以外のパケットは、受信データ２７７として第４のネットワークコントローラ２０１4の内部に送出されることになる。
【００４６】
ところで図９は、本実施例で使用されるパケットのフォーマットを示したものである。パケット２８１は、データ部２８２と属性部２８３で構成されている。データ部２８２のＣＭＤ（command）フィールドは、該当するパケットが管理パケットである時に意味を持つコマンドコードで構成される。本実施例の場合、迂回指示パケット２５３MDAおよび迂回指示了承パケット２８１MDB（図１０参照）が管理パケットに相当し、それぞれがユニークなコマンドが付与される。ＬＩＮＫ  ＩＤ（リンクＩＤ）フィールド２８５には、２つのネットワークコントローラ２０１が接続されるリンク２３１に対するユニークな番号が付与される。たとえば、図３に示した第１のネットワークコントローラ２０１1と第４のネットワークコントローラ２０１4の対向する箇所の場合には２組のリンク（リンク２３１52、リンク２３１25）、（リンク２３１61、リンク２３１16）のうちのエラーが発生した側の組のリンク番号が付与される。本実施例では、図４で左側のリンク２３１52、リンク２３１25についてのリンクＩＤを値“０”とし、同図で右側のリンク２３１61、リンク２３１16のリンクＩＤを“１”とすることにする。
【００４７】
このようなリンクＩＤは、データ切替部２１７2で迂回指示パケットあるいは迂回指示了承パケット内のリンクＩＤと、自リンクの属する番号とが一致したような場合、すなわち障害リンク側のみについて、データ選択部２１４2の切替指示をアサートするのに用いられる。
【００４８】
属性部２８３は、Ｎ／Ｍフィールド２８７と、Ｎ／Ｄフィールド２８８を備えている。このうちＮ／Ｍフィールド２８７は、このパケット２８１が通常データ「Ｎ」であるか管理パケット「Ｍ」であるかの種別を示すようになっている。迂回指示パケットおよび迂回指示了承パケットは、管理パケットとして設定される。これ以外のパケットについては、通常データとしての設定が行われる。一般的にフロー制御でも管理パケットが用いられるが、ここでは説明を簡単にするために、このような管理パケットが存在しない前提で説明を行う。
【００４９】
Ｎ／Ｄフィールド２８８は、該当リンクを使用するデータ転送の仮想経路種別が通常経路「Ｎ」であるか、迂回経路「Ｄ」であるのかを示している。図６に示した経路設定部２５１は、Ｎ／Ｄフィールド２８８の設定を行う。図７に示したマスク部２６４は、このＮ／Ｄフィールド２８８をチェックして、フィルタリングすなわちデータの廃棄を行う。このようにして、適切なパスでのデータの受信が行われる。
【００５０】
＜リンク障害発生時のネットワーク網の動作＞
【００５１】
次に、このようなネットワークコントローラ２０１を使用したネットワーク網でリンクに障害が発生した場合の説明を具体的に行う。
【００５２】
図１０は、図４に対応するもので、第１および第４のネットワークコントローラにおけるリンク障害発生時の信号処理の様子を表わしている。今、第４のネットワークコントローラ２０１4の受信部２１１2に対応するリンク２３１52に障害が発生したものとする。
【００５３】
図１１は、この場合のエラー検出部の処理の流れを表わしたものである。図１０と共に説明する。エラー検出部２１８2は対応するリンク２３１52のエラーを検出すると（ステップＳ４０１：Ｙ）、エラー検出表示３０１をアサートする（ステップＳ４０２）。これにより、障害の生じたリンク２３１52のリンクＩＤ（この場合には、リンクＩＤ“０”）と共に、今回の障害と関係しない健全側のリンク（リンク２３１61、リンク２３１16）の迂回指示生成部２１９1に対してエラーの発生が通知されることになる。
【００５４】
図１２は、迂回指示生成部の処理の流れを表わしたものである。図９および図１０と共に説明する。迂回指示生成部２１９1はエラー検出表示３０１がアサートされると（ステップＳ４２１：Ｙ）、これを基にして迂回指示パケット２５３MDAを生成する（ステップＳ４２２）。そして、この迂回指示パケット２５３MDAを、対応する健全側のデータ調停部２１３1に送出する（ステップＳ４２３）。
【００５５】
具体的には、図９に示すデータ部２８２のＣＭＤフィールド２８４には、迂回指示を表わすユニークなコマンド列が、また属性部２８３のＮ／Ｍフィールド２８７には管理パケットを示す値「Ｍ」が設定され、リンクＩＤフィールド２８５には、エラー検出表示３０１の検出結果に従って、障害側のリンク２３１52、リンク２３１25に対応した値“０”が設定される。この迂回指示パケット２５３MDAは、経路情報自体は意味を持たない。そこで、図６に示す構成のデータ調停部２１３1の経路設定部２５１では経路情報の更新は行われない。
【００５６】
迂回指示パケット２５３MDAを受け取ったデータ調停部２１３1は、健全側の通常のデータ転送との競合調停動作を行う。その結果として、データ調停部２１３1を通過した迂回指示パケット２５３MDAは、送信ハードマクロとしての送信部２１２1からリンク２３１16および受信ハードマクロとしての受信部２１１6を順に経て、経路３０３で示すように第１のネットワークコントローラ２０１1内の異常パス側のデータ切替部２１７5に入力される。
【００５７】
このとき、受信部２１１6で受信されたこの迂回指示パケット２５３MDAは健全側（正常パス側）の図示しないデータ切替部２１７6にも入力される。しかしながら、データ切替部２１７6では、自身の属するリンクＩＤの値が“１”であるため、値“０”が設定された迂回指示パケット２５３MDAとはリンクＩＤが一致しない。このため、図７で説明したように迂回指示パケット２５３MDAを廃棄する。この結果、正常パス側では切替指示もアサートされない。
【００５８】
これに対して、異常パス側のデータ切替部２１７5では、自身の属するリンクＩＤの値が“０”であるため、同様に値“０”が設定された迂回指示パケット２５３MDAとリンクＩＤが一致することになる。そこで、受信部２１１6から送られてきたデータ３０４を選択出力するようにデータ選択部２１４5に対して切替指示データ２６５5がアサートされることになる。
【００５９】
図１３は、以上説明したデータ切替部の一般的な制御の様子を表わしたものである。データ切替部２１７は迂回指示パケット２５３MDAを受信すると（ステップＳ４４１：Ｙ）、そのリンクＩＤを自身のリンクＩＤと比較する（ステップＳ４４２）。そして、両者が一致した場合には（ステップＳ４４３：Ｙ）、切替指示データ２６５5をアサートする（ステップＳ４４４）。これに対して、両者のリンクＩＤが不一致となった場合には（ステップＳ４４３：Ｎ）、受信した迂回指示パケット２５３MDAを廃棄することになる（ステップＳ４４５）。
【００６０】
このようにして異常パス側のデータ切替部２１７5による切替指示データ２６５5のアサートにより、データ選択部２１４5の選択部２６２（図７）の出力は、異常パス側の受信ハードマクロとしての受信部２１１5側から正常パス側の受信ハードマクロとしての受信部２１１6に切り替わってマスク部２６４に入力することになる。切替指示データ２６５5のアサートにより、マスク部２６４では、図９に示したＮ／Ｍフィールド２８７が通常データ「Ｎ」で、かつ、Ｎ／Ｄフィールド２８８が通常経路「Ｎ」の場合に、そのパケットが廃棄されるように制御される。これは、健全リンク側のデータ転送によるパケットが流れ込まないようにするためである。
【００６１】
一方、図示しない健全リンク側のデータ選択部２１４6では、リンクＩＤが一致しないので、切替指示データ２６５6がアサートされない。したがって、そのマスク部２６４では、Ｎ／Ｍフィールド２８７が通常データ「Ｎ」で、かつ、Ｎ／Ｍフィールド２８７が迂回経路「Ｄ」の場合に、そのパケットが廃棄されるように制御される。すなわち、障害発生により迂回指示生成部２１９1から出力された迂回指示パケット２５３MDAは健全リンク側のデータ選択部２１４6にも入力されるが、これ自体は廃棄されることになる。
【００６２】
図１４は、以上説明したデータ選択部の選択部におけるパケットの処理の流れを表わしたものである。図７に示した選択部２６２は切替指示データ２６５がアサートされている場合（ステップＳ４６１：Ｙ）、異常パス側の受信部２１１から正常パス側の受信部２１１にパスを切り替える（ステップＳ４６２）。切替指示データ２６５がアサートされていない場合には（ステップＳ４６１：Ｎ）、このようなパスの切り替えは行わない（エンド）。
【００６３】
図１５は、データ処理部のマスク部における選択部から送られてきたパケットの処理の流れを表わしたものである。図７に示したマスク部２６４は、切替指示データ２６５がアサートされている場合（ステップＳ４８１：Ｙ）、図９に示したＮ／Ｍフィールド２８７が通常データ「Ｎ」で、かつ、Ｎ／Ｄフィールド２８８が通常経路「Ｎ」であれば（ステップＳ４８２：Ｙ）、そのパケットを廃棄する（ステップＳ４８３）。それ以外の場合には（ステップＳ４８２：Ｎ）データ２６３2として出力することになる（ステップＳ４８４）。ステップＳ４８１で切替指示データ２６５がアサートされていない場合には（Ｎ）、Ｎ／Ｍフィールド２８７が通常データ「Ｎ」で、かつ、Ｎ／Ｍフィールド２８７が迂回経路「Ｄ」の場合に（ステップＳ４８５：Ｙ）、ステップＳ４８３に進んでそのパケットが廃棄される。これ以外の場合には（ステップＳ４８５：Ｎ）、ステップＳ４８４に進んでそのパケットが出力されることになる。このようにして、この例の障害発生の場合、迂回指示パケット２５３MDAがデータ受信部２１５5に送られる。
【００６４】
図１６は、データ受信部の迂回指示パケットあるいは迂回指示了承パケットの受信処理の流れを示したものである。ここでは、迂回指示パケットが受信されたものとして説明する。データ受信部２１５5は、図８に示した迂回指示受信部２７４でこの迂回指示パケット２５３MDAを受信すると（ステップＳ５０１）、迂回指示受信表示２７５をアサートし（ステップＳ５０２）、迂回指示のリンクＩＤを障害側の値“０”に合わせる（ステップＳ５０３）。そして、この迂回指示受信表示２７５を正常パス側のリンク２３１61に対応する迂回指示生成部２１９6に通知３０６する（ステップＳ５０４）。迂回指示了承パケットの受信処理も同様である。
【００６５】
図１７は、迂回指示生成部の迂回指示了承パケットの生成の様子を表わしたものである。迂回指示生成部２１９6は、迂回指示受信表示２７５がアサートされると（ステップＳ５２１：Ｙ）、迂回指示了承パケット２８１MDBを生成する（ステップＳ５２２）。具体的には、図９に示す迂回指示了承パケット２８１MDBのデータ部２８２におけるＣＭＤフィールド２８４に対して、迂回指示了承を表わすユニークなコマンド列が設定される。また、属性部２８３におけるＮ／Ｍフィールド２８７に対しては管理パケットを示す値「Ｍ」が設定される。リンクＩＤフィールド２８５には、迂回指示受信表示のリンクＩＤに従って、障害側の値“０”が設定される。このようにして生成された迂回指示了承パケット２８１MDBは、図１０に示すように第１のネットワークコントローラ２０１1内のデータ調停部２１３6に送られることになる（ステップＳ５２３）。
【００６６】
データ調停部２１３6は、この迂回指示了承パケット２８１MDBを受信する。迂回指示了承パケット２８１MDB自体の経路情報は意味を持たないので、図６に示すデータ調停部２１３6の経路設定部２５１では仮想経路種別の更新は行われない。
【００６７】
ところで迂回指示生成部２１９6は、迂回指示了承パケット２８１MDBの生成後に、障害リンク２３１52に対応するデータ送出部２１６5に対して、障害によって中断したデータ転送について再開指示３０７を行う（ステップＳ５２４）。
【００６８】
一方、管理パケットである迂回指示了承パケット２８１MDBは、図６に示すデータ調停部２１３6の調停部２５２で健全側の通常のデータ転送と競合した場合、調停動作が行われる。そして、送信ハードマクロとしての送信部２１２6、リンク２３１61、受信ハードマクロとしての受信部２１１1を順に介して、迂回パス３１１を通り、障害側のデータ切替部２１７2に入力される。
【００６９】
この迂回指示了承パケット２８１MDBは、図示しない正常パス側のデータ切替部２１７1にも入力される。しかしながら、データ切替部２１７1ではその迂回指示了承パケット２８１MDBのリンクＩＤの値“０”と自身の属するリンクＩＤの値“１”が不一致であるため、これを廃棄し、切替指示もアサートされない。このデータ切替部２１７1の制御は、図１３に示した迂回指示パケット２５３MDAについての処理と同様である。そこで、迂回指示了承パケット２８１MDBについてのデータ切替部２１７1の処理の流れの図示は省略する。
【００７０】
障害側のデータ切替部２１７2は、リンクＩＤの一致した迂回指示了承パケット２８１MDBを受信すると、健全側の受信ハードマクロとしての受信部２１１1の受信したデータが出力されるように、データ選択部２１４2に対して切替指示データ２６５2がアサート３１２される。
【００７１】
データ切替部２１７2からの切替指示データ２６５2のアサートにより、図７に示すデータ選択部２１４2の選択部２６２は、健全側のリンク２３１61側の受信部２１１1を選択して、マスク部２６４へ出力する。マスク部２６４では、図１５で説明したように切替指示データ２６５2のアサートがあると（ステップＳ４８１：Ｙ）、図９に示したＮ／Ｍフィールド２８７が通常データ「Ｎ」で、かつ、Ｎ／Ｄフィールド２８８が通常経路「Ｎ」であれば（ステップＳ４８２：Ｙ）、そのパケットを廃棄する（ステップＳ４８３）。これは、健全リンク側のデータ転送が流れ込まないようにするためである。
【００７２】
同様に、健全リンク側のデータ選択部２１４1（図４参照）では、選択指示がアサートされない（ステップＳ４８１：Ｎ）。したがって、マスク部２６４は、Ｎ／Ｍフィールド２８７が通常データ「Ｎ」で、かつ、Ｎ／Ｄフィールド２８８が迂回経路「Ｄ」の場合に（ステップＳ４８５：Ｙ）、そのパケットが廃棄されるように制御が行われる（ステップＳ４８３）。
【００７３】
一方、障害側のデータ受信部２１５2は迂回指示了承パケット２８１MDBを受信３１４する。データ受信部２１５2が迂回指示了承パケット２８１MDBを受信した際の制御は、図１６に示した迂回指示パケット２５３MDAを受信した際と同様であるので、そのステップ番号を使用する。データ受信部２１５2内の図８に示す迂回指示受信部２７４は、この迂回指示了承パケット２８１MDBを受け取ると（ステップＳ５０１）、迂回指示了承受信表示をアサートし（ステップＳ５０２）、迂回指示了承の受信を、正常側のリンクの迂回指示生成部２１９1に通知する（ステップＳ５０４）。この迂回指示了承受信表示２７６により、迂回指示了承が通知３１５されると、迂回指示生成部２１９1から、障害側のデータ送出部２１６1に対して、第１のネットワークコントローラ２０１1へのデータ転送の再開指示３１６が行われる。この迂回指示了承受信表示２７６のアサートでは、迂回指示パケット２５３MDAは生成されない。
【００７４】
＜障害側に対する通常データの転送再開＞
【００７５】
そこで、次に異常パスが生じた障害リンク２３１52側を本来は伝送されるはずであった通常データ（以下、障害側通常データという。）が、このような処理によってどのように転送されるかについて説明を行う。図１０に示すデータ送出部２１６5は、迂回指示生成部２１９6からデータ転送の再開の指示３０７を受けると、リンク２３１52の障害により中断していたデータ転送が開始される。中断された障害側通常データについてのデータ転送は、第１のネットワークコントローラ２０１1における図５に示すデータ送出部２１６5内の再送制御部２４１と、第４のネットワークコントローラ２０１4における図８に示すデータ受信部２１５2内の再送制御部２７２で管理されている。これらの再送制御部２４１、２７２の制御によって、データ転送の再開の指示３０７により再送すべき適切なデータから障害側通常データの転送が可能となる。この再送制御に関しては、一般に行われている障害側通常データの再送制御の技術を用いることができるので、その説明を省略する。
【００７６】
再送される障害側通常データのデータパケット２８１Dは、図９に示すＮ／Ｍフィールド２８７が、通常データ「Ｎ」となっており、Ｎ／Ｄフィールド２８８が、通常経路「Ｎ」に設定されている。このデータパケット２８１Dは、障害側のデータ送出部２１６5からデータ調停部２１３6にデータ２４４5（図６）として送出３２１される。データ調停部２１３6では、図６に示す経路設定部２５１がＮ／Ｄフィールド２８８（図９）を迂回経路「Ｄ」に変更する。この後、データパケット２８１Dは調停部２５２に入力される。
【００７７】
データ調停部２１３6内の調停部２５２では、図４に示したように第１のネットワークコントローラ２０１1内のデータ送出部２１６6から健全側の通常データ（以下、健全側通常データという。）についてのデータパケット２８１Dをデータ２４４6（図６）として受信するようになっている。調停部２５２は、これら障害側通常データおよび健全側通常データとしてのデータ２４４5、２４４6の競合時の調停を行うことになる。データ送出部２１６5から送られてきた調停後の障害側通常データとしてのデータパケット２８１Dは、送信部２１２6、リンク２３１61、受信部２１１1を介して、パス３２３を通り、図４に示す健全リンク側のデータ選択部２１４1および障害リンク側のデータ選択部２１４2に入力３２４される。なお、ここでは障害側通常データの転送について説明しており、障害側通常データの再送時の健全側通常データの転送については後に説明する。
【００７８】
障害側通常データについてのデータパケット２８１Dが送られてきた健全リンク側のデータ選択部２１４1では、図７に示すマスク部２６４が図１５で説明したように、Ｎ／Ｍフィールド２８７が通常データ「Ｎ」で、かつ、Ｎ／Ｄフィールド２８８が迂回経路「Ｄ」となり（ステップＳ４８５：Ｙ）、そのパケットが廃棄される（ステップＳ４８３）。これに対して、障害側のデータ選択部２１４1では、Ｎ／Ｍフィールド２８７が通常データ「Ｎ」で、かつ、Ｎ／Ｄフィールド２８８が通常経路「Ｎ」のパケット（ステップＳ４８２：Ｙ）が廃棄される。この結果、データ送出部２１６5から送出された障害側通常データが、次々と障害側のデータ受信部２１５2に受信されていくことになる。
【００７９】
＜障害側からの障害側通常データの転送再開＞
【００８０】
ところで、迂回指示了承受信表示２７６により、迂回指示了承が通知３１５されて、迂回指示生成部２１９1から対向する障害パスのデータ送出部２１６5（図４参照）に対して、データ転送の再開が指示された後に、第４のネットワークコントローラ２０１4内の障害リンク側の図示しないデータ送出部２１６2からデータ転送が開始されたとする。この再開された障害側通常データのデータパケット２８１Dは、送信部２１２1からリンク２３１16および受信部２１１6を順に経て、第１のネットワークコントローラ２０１1内に到達する。そして、障害側通常データのデータパケット２８１Dは健全リンク側のデータ選択部２１４6と障害側のデータ選択部２１４5の双方に送られることになる。このうち、健全リンク側のデータ選択部２１４6に入力された障害側のデータパケット２８１Dは、対応するデータ受信部２１５6に入力されて廃棄される。これに対して、障害側のデータ選択部２１４5に入力された障害側通常データのデータパケット２８１Dは、障害側のデータ受信部２１５5に次々に入力され、廃棄されないように制御されることになる。
【００８１】
＜健全側通常データの転送＞
【００８２】
一方、第４のネットワークコントローラ２０１4内の図示しない健全側のデータ送出部２１６1から障害発生と関係なく送出される健全側通常データのデータパケット２８１Dは、これに本来的に対応した送信部２１２1からリンク２３１16および受信部２１１6を順に経て、第１のネットワークコントローラ２０１1内に到達する。この健全側のデータパケット２８１Dは、障害側のデータ受信部２１５5に入力されて廃棄される。これに対して、健全側のデータ選択部２１４6に入力された健全側通常データのデータパケット２８１Dは、データ受信部２１５6に次々に入力され、廃棄されないように制御されることになる。
【００８３】
以上説明した実施例のリンク障害時パケット転送システムでは、転送するパケットに通常経路か迂回経路かを示す属性情報を付与することにしたので、迂回経路用の専用のハードウェアを設けることなく、リンク障害時のパケットの迂回を実現することができる。
【００８４】
また、迂回指示パケットおよび迂回指示了承パケットを用いることにしたので、通常のデータ転送に先立って、データパスの正常確認を行うことができ、障害発生時においてもデータの完全性としてのデータインテグリティ（data integrity）の確保を実現することができる。
【００８５】
更に本実施例のリンク障害時パケット転送システムでは、迂回パスをネットワークコントローラ２０１間を接続するリンク２３１のみで形成するため、これらネットワークコントローラ２０１間の全リンク２３１に障害が発生しない限り、すなわちネットワークコントローラ２０１間での一部のリンク障害が複数箇所で発生しても、システムダウンが発生しない高信頼のネットワーク網を実現することができる。
【００８６】
なお、実施例ではＣＰＵノード２２１とＩ／Ｏノード２２２の間のパケット通信について本発明を適用したが、通信の対象はこれに限定されないことは当然である。また、実施例では第１のネットワークコントローラ２０１1と第４のネットワークコントローラ２０１4の対向する箇所のリンクの数を２組としたが、３組以上存在してもよいことは当然である。
【００８７】
＜リンクの数が３組以上の場合の制御＞
【００８８】
以上説明した実施例と異なり、第１および第４のネットワークコントローラ２０１1、２０１4の対向する箇所に３組のリンクＡ、Ｂ、Ｃが存在したとする。このうちの１つの組のリンクＡに障害が発生したとする。この場合には、エラー検出を行ったネットワークコントローラ内における他の２組のリンクＢ、Ｃのいずれに対応する迂回指示生成部が迂回指示パケットを生成して、他方のネットワークコントローラ内の障害側のリンクのデータ受信部に迂回指示パケットを送出するかが問題となる。予め対応するリンクを定めておいて、たとえばリンクＡに障害が発生したときにはリンクＢに対応する迂回指示生成部が迂回指示パケットを生成するような処理をしてもよい。ただし、この場合にはリンクＡとリンクＢが同時に障害を発生させている場合には救済できない。そこで、リンクＡ、Ｂ、Ｃのそれぞれに１つずつ対応するエラー検出部が、同時に他のリンクの障害の発生情報を取得しておき、障害の発生していないリンクに対応する迂回指示生成部に対してエラー検出表示をアサートすることが好ましい。
【００８９】
これとは異なり、たとえばリンクＡに障害が発生したときに残りの２組のリンクＢ、Ｃのそれぞれに対応する迂回指示生成部にエラー検出表示をアサートしてもよい。この場合には、２組の迂回指示生成部がそれぞれ迂回指示パケットを送出することになり、２組のリンクＢ、Ｃのそれぞれが障害が発生していなければ、障害側のリンクＡに対応するデータ受信部が２組の迂回指示パケットを受信することになる。そこで、この場合には障害側のリンクＡに対応するデータ受信部が実際に迂回するリンクについての優先順位を定めておき、優先順位に従って１つのリンクを使用して、障害の発生した側のデータの送受信を行わせるようにすればよい。このとき、優先順位の代わりにリンクＢ、Ｃにおけるデータの転送の割合を把握して、データの転送量の少ない側のリンクを迂回用に使用することも有効である。
【００９０】
このように障害側のリンクＡ以外のリンクに対応するすべての迂回指示生成部に迂回指示パケットを送出させるようにエラー検出表示をアサートすると、２組のリンクＢ、ＣのうちのリンクＢで同様に障害が発生していたような場合、リンクＣに対応する迂回指示生成部のみが迂回指示パケットを、障害側のリンクＡに対応するデータ受信部に迂回指示パケットを送出できることになる。従って、ネットワークコントローラ間のトラヒックが多少増大する危険があるものの、障害側のリンクＡに対応するデータ受信部は迂回指示パケットの受信を待機し、これが単数であればその送出元の迂回指示生成部に対応するリンクを使用して迂回路を設定し、複数であればこれらに１つずつ対応する複数のリンクの中から迂回路を設定すればよく、処理が単純化する。
【００９１】
以上、３組のリンクＡ、Ｂ、Ｃの場合を説明したが、１対のネットワークコントローラの対向する箇所のリンクが４組以上存在する場合の処理はこれと基本的に同一である。
【図面の簡単な説明】
【００９２】
【図１】本発明の一実施例におけるネットワークコントローラの構成の概要を表わしたブロック図である。
【図２】本実施例のネットワークコントローラが複数接続されたネットワークの一例を表わしたネットワーク構成図である。
【図３】本実施例における第１および第４のネットワークコントローラの対向する箇所のリンクの状態を表わした説明図である。
【図４】本実施例における第１および第４のネットワークコントローラの回路構成の要部を表わしたブロック図である。
【図５】本実施例におけるネットワークコントローラのデータ送出部の構成を表わしたブロック図である。
【図６】本実施例におけるネットワークコントローラのデータ調停部の構成を表わしたブロック図である。
【図７】本実施例におけるネットワークコントローラのデータ選択部の構成を表わしたブロック図である。
【図８】本実施例におけるネットワークコントローラのデータ受信部の構成を表わしたブロック図である。
【図９】本実施例で使用されるパケットのフォーマットを示した説明図である。
【図１０】本実施例で第１および第４のネットワークコントローラにおける信号処理の様子を表わした説明図である。
【図１１】本実施例でエラー検出部の処理の流れを表わした流れ図である。
【図１２】本実施例で迂回指示生成部の処理の流れを表わした流れ図である。
【図１３】本実施例でデータ切替部の一般的な制御の様子を表わした流れ図である。
【図１４】本実施例でデータ選択部の選択部におけるパケットの処理の流れ図である。
【図１５】本実施例でデータ処理部のマスク部におけるパケットの処理の流れ図である。
【図１６】本実施例でデータ受信部の迂回指示パケットの受信処理の流れ図である。
【図１７】本実施例で迂回指示生成部の迂回指示了承パケットの生成の様子を表わした流れ図である。
【図１８】従来における複数のネットワークコントローラで迂回路を形成した場合を示す説明図である。
【図１９】従来におけるネットワークコントローラの対を表わしたブロック図である。
【図２０】従来提案されたリンクの切断点の直前から折り返しを行うネットワークコントローラの対を表わした説明図である。
【符号の説明】
【００９３】
２０１1  第１のネットワークコントローラ
２０１4  第４のネットワークコントローラ
２１１、２７１  受信部
２１２  送信部
２１３  データ調停部
２１４  データ選択部
２１５  データ受信部
２１６  データ送出部
２１７  データ切替部
２１８  エラー検出部
２１９  迂回指示生成部
２２１  ＣＰＵノード
２２２  Ｉ／Ｏノード
２３１  リンク
２４０  データ
２４１  再送制御部
２５１  経路設定部
２５２  調停部
２６２  選択部
２６４  マスク部
２７２  再送制御部
２７４  迂回指示受信部
２８１MDB  迂回指示了承パケット
【図１】
2007159063.tif 000003
【図２】
2007159063.tif 000004
【図３】
2007159063.tif 000005
【図４】
2007159063.tif 000006
【図５】
2007159063.tif 000007
【図６】
2007159063.tif 000008
【図７】
2007159063.tif 000009
【図８】
2007159063.tif 000010
【図９】
2007159063.tif 000011
【図１０】
2007159063.tif 000012
【図１１】
2007159063.tif 000013
【図１２】
2007159063.tif 000014
【図１３】
2007159063.tif 000015
【図１４】
2007159063.tif 000016
【図１５】
2007159063.tif 000017
【図１６】
2007159063.tif 000018
【図１７】
2007159063.tif 000019
【図１８】
2007159063.tif 000020
【図１９】
2007159063.tif 000021
【図２０】
2007159063.tif 000022