(57)【特許請求の範囲】
【請求項１】
フレームを中継するためのメイン系及びサブ系ラインと前記メイン系及びサブ系ライン間を接続する系間ラインを含み且つ多段に縦列接続され得てＬＡＮを形成する中継ユニットであって、
前記系間ラインを介して互いに接続され且つ前記メイン系及びサブ系ラインにそれぞれ接続され前記フレームを各々が中継するメイン系及びサブ系スイッチと、
前記メイン系及びスイッチの各々の中継動作を制御する制御部と、を含み、
前記制御部は、前記ＬＡＮにおける中継ユニットの接続段数の情報及び自身の属する中継ユニットの接続順位の情報を保持可能であって、前記メイン系及びサブ系スイッチの少なくとも一方の中継動作の制御態様を前記接続段数及び前記接続順位に応じて選択することを特徴とする中継ユニット。
【請求項２】
前記制御部は、前記接続段数及び前記接続順位の情報を書き換え自在に保持することを特徴とする請求項１に記載の中継ユニット。
【請求項３】
前記制御部は、前記接続段数が２である場合に、前記メイン系及びサブ系スイッチが、前記系間ラインを経て到来したフレームを前記メイン系若しくはサブ系ラインに中継しないように制御するフレーム中継抑制制御を行なうことを特徴とする請求項１又は２に記載の中継ユニット。
【請求項４】
前記制御部の各々は、前記制御部相互間の接続状態を示す接続状態情報を保持し、当該接続状態情報と他の制御部から得られた接続状態情報とに基づいて当該保持している接続状態情報を更新して当該更新後の接続状態情報が特定の接続状態となった場合に前記フレーム中継抑制制御を行なうことを特徴とする請求項３に記載の中継ユニット。
【請求項５】
前記特定の接続状態は、前記制御部の各々が相互に通信可能な状態であることを特徴とする請求項４に記載の中継ユニット。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、フレームを中継する２系統のスイッチを各々が含み、多段に縦列接続されてＬＡＮを形成する中継ユニットに関する。
【背景技術】
【０００２】
従来より、例えばレイヤ２ネットワークなどの通信網においては、フレーム中継に関して冗長性を持たせるために複数のスイッチをリング状又はメッシュ状に相互接続する構成が採用されている。かかる構成を単に採用した場合、フレームがスイッチ間でループし続けてしまうことが知られている。フレームの無限ループを回避するための技術としては、例えばスパニングツリー技術が知られている。当該技術においては、スイッチ間で相互に交換し合ったＩＤに基づいてルートとなるスイッチを決定し、ルートスイッチからのパスコストに基づいて無効にするポートを決定することにより、ループの無いツリー構造を形成している。また、例えば特許文献１にもループ回避のための技術が開示されている。特許文献１には、スイッチがリング状に構成され、当該スイッチのうちの１つであるマスタ装置がループを検出したときに特定ポートを用いた中継をブロッキングすることにより、フレームのループを回避しようとする技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００７−１７４１１９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、スパニングツリーにおいては１つのスイッチをルートとするツリー構造を形成するので、フレーム中継をブロッキングする箇所が固定化され、障害発生時の中継ルートの切り替えを柔軟に行なえない懼れがあり、各スイッチ間に形成され得る中継路を効率的に活用できないという問題も考えられる。また、特許文献１においては、マスタ装置を起点としてループを検出してマスタ装置が特定ポートによる中継をブロッキングするので、やはり同様の問題がある。また、これらの技術においては、スイッチを含む中継ユニットを多段に縦列接続する場合に、その接続段数に応じて中継ルートの切り替え態様を柔軟に変更できないと考えられる。
【０００５】
本発明は上記した如き問題点に鑑みてなされたものであって、柔軟に接続段数を増減できるようにネットワークを形成可能とし、各スイッチ間に形成され得る中継路を効率的に活用することができる中継ユニットを提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明による中継ユニットは、フレームを中継するためのメイン系及びサブ系ラインと前記メイン系及びサブ系ライン間を接続する系間ラインを含み且つ多段に縦列接続され得てＬＡＮを形成する中継ユニットであって、前記系間ラインを介して互いに接続され且つ前記メイン系及びサブ系ラインにそれぞれ接続され前記フレームを各々が中継するメイン系及びサブ系スイッチと、前記メイン系及びスイッチの各々の中継動作を制御する制御部と、を含み、前記制御部は、前記ＬＡＮにおける中継ユニットの接続段数の情報及び自身の属する中継ユニットの接続順位の情報を保持可能であって、前記メイン系及びサブ系スイッチの少なくとも一方の中継動作の制御態様を前記接続段数及び前記接続順位に応じて選択することを特徴とする。
【発明の効果】
【０００７】
本発明による中継ユニットによれば、柔軟に接続段数を増減できるようにネットワークを形成可能とし、各スイッチ間に形成され得る中継路を効率的に活用することができる。
【図面の簡単な説明】
【０００８】
【図１】本発明の第1の実施例である中継システムの構成を示すブロック図である。
【図２】図１の０系スイッチの構成を示すブロック図である。
【図３】図２の経路情報テーブルの一例を示す図である。
【図４】図１の１系スイッチの構成を示すブロック図である。
【図５】図１の０系制御部の構成を示すブロック図である。
【図６】図１の１系制御部の構成を示すブロック図である。
【図７】図５及び図６の接続状態保持部が保持し得る接続状態を示す図である。
【図８】図７の接続状態が「完全状態」のときの通信状態を矢印で示す図である。
【図９】図７の接続状態が「他系ユニット間障害」及び「自系ユニット間障害」のときの通信状態を矢印で示す図である。
【図１０】図７の接続状態が「自ユニット内障害」及び「対向ユニット内障害」のときの通信状態を矢印で示す図である。
【図１１】図７の接続状態が「ユニット間２重障害」のときの接続状態を矢印で示す図である。
【図１２】図７の接続状態が「１重化状態」のときの通信状態を矢印で示す図である。
【図１３】図７の接続状態が「他系ユニット間＋対向ユニット内障害」の状態を含むときの通信状態を矢印で示す図である。
【図１４】図１の制御部間で通知される情報の一覧を示す図である。
【図１５】図１の各制御部から制御対象スイッチに対して発することができる命令の一覧を示す図である。
【図１６】他系制御部との間の初期通信確立処理ルーチンを示すフローチャートである。
【図１７】他系制御部との間の初期通信確立処理時における両系の制御部及びスイッチの動作を示すシーケンス図である。
【図１８】他系制御部との間の初期通信確立処理時における接続状態の遷移表を示す図である。
【図１９】中継制御適用判定処理ルーチンを示すフローチャートである。
【図２０】対向制御部との間の初期通信確立処理ルーチンを示すフローチャートである。
【図２１】対向制御部との間の初期通信確立処理時における両系の制御部及びスイッチの動作を示すシーケンス図である。
【図２２】ユニット間通信確立通知受信時処理ルーチンを示すフローチャートである。
【図２３】ユニット間通信確立通知受信時における接続状態の遷移表を示す図である。
【図２４】対向制御部との間の初期通信確立処理時における接続状態の遷移表を示す図である。
【図２５】特定フレーム中継抑制時における１系スイッチからのフレーム中継フローを示す図である。
【図２６】特定フレーム中継抑制時における０系スイッチからのフレーム中継フローを示す図である。
【図２７】ユニット間障害検出時処理ルーチンを示すフローチャートである。
【図２８】ユニット間障害検出時における接続状態の遷移表を示す図である。
【図２９】自ユニット内障害検出時処理ルーチンを示すフローチャートである。
【図３０】自ユニット内障害検出時における接続状態の遷移表を示す図である。
【図３１】ユニット間障害発生通知受信時処理ルーチンを示すフローチャートである。
【図３２】ユニット間障害発生通知受信時における接続状態の遷移表を示す図である。
【図３３】ユニット内障害発生通知受信時処理ルーチンを示すフローチャートである。
【図３４】ユニット内障害発生通知受信時における接続状態の遷移表を示す図である。
【図３５】ユニット内通信確立通知受信時処理ルーチンを示すフローチャートである。
【図３６】ユニット内通信確立通知受信時における接続状態の遷移表を示す図である。
【図３７】障害がない状況でのユニット内障害発生時の動作フローを示す図である。
【図３８】障害がない状況でのユニット間障害発生時の動作フローを示す図である。
【図３９】ユニット内障害が復旧し、ユニット間障害から復旧する場合の動作フローを示す図である。
【図４０】ユニット間障害復旧し、ユニット間障害から復旧する場合の動作フローを示す図である。
【図４１】両系のユニット間で障害が発生した場合の動作フローを示す図である。
【図４２】両系のユニット間障害状態から片系側において障害復旧した場合の動作フローを示す図である。
【図４３】両ユニットのユニット内で障害発生した場合の動作フローを示す図である。
【図４４】両ユニットのユニット内障害から片ユニットにおいて障害復旧した場合の動作フローを示す図である。
【図４５】片ユニットでのユニット内障害中にユニット間障害が発生した場合の動作フローを示す図である。
【図４６】ユニット内障害中＋ユニット間障害中にユニット間障害から復旧した場合の動作フローを示す図である。
【図４７】ユニット間障害中にユニット内障害が発生した場合の動作フローを示す図である。
【図４８】ユニット内障害中＋ユニット間障害中にユニット内障害から復旧した場合の動作フローを示す図である。
【図４９】両系ともユニット間２重障害の場合にユニット内障害が発生した場合の動作フローを示す図である。
【図５０】両系ともに独立状態であるユニット内において障害から復旧した場合の動作フローを示す図である。
【図５１】両ユニットともに１重化状態であるユニット間において障害が発生した場合の動作フローを示す図である。
【図５２】両ユニットともに独立状態であるユニット間において障害から復旧した場合の動作フローを示す図である。
【図５３】片ユニットのユニット内障害＋対向ユニット間障害中に別ユニットのユニット内障害が発生した場合の動作フローを示す図である。
【図５４】両ユニットのユニット内障害＋片系ユニット間障害中に片ユニットのユニット内障害から復旧した場合の動作フローを示す図である。
【図５５】片方のユニットのユニット内障害、及び、片系側のユニット間障害時に、他系においてユニット間障害が発生した場合の動作フローを示す図である。
【図５６】片方のユニットのユニット内障害、及び、両系のユニット間障害時に、片系ユニット間で障害から復旧した場合の動作フローを示す図である。
【図５７】本発明の第２の実施例である中継システムの構成を示すブロック図である。
【図５８】図５７の中継システムにおける障害復旧箇所、障害発生箇所、中継抑制有効箇所、及び系間通信有効通知のフローを示す図である。
【図５９】図５７の中継システムにおける障害発生箇所、中継抑制無効箇所、及び系間通信無効通知のフローを示す図である。
【図６０】中継ユニットを４段接続したときの特定フレーム中継抑制時における１系スイッチからのフレーム中継フローを示す図である。
【図６１】中継ユニットを４段接続したときの特定フレーム中継抑制時における０系スイッチからのフレーム中継フローを示す図である。
【発明を実施するための形態】
【０００９】
以下、本発明に係る実施例について添付の図面を参照しつつ詳細に説明する。
【００１０】
＜第1の実施例＞
図１には、本発明の実施例である中継システム１００の構成が示されている。中継システム１００は、ホスト端末５１−１〜５１−ｎ（ｎは２以上の整数）とホスト端末５２−１〜５２−ｍ（ｍは２以上の整数）との間でフレームを中継する中継ユニット１−１及び１−２を含む。中継ユニット１−１と中継ユニット１−２とが中経路６２及び６３を介して縦列に接続されてＬＡＮ（Local Area Network）を形成している。
【００１１】
中継ユニット１−１は、フレーム中継経路冗長化のために二重化された０系スイッチ１０−１及び１系スイッチ３０−１と、０系スイッチ１０−１を制御する０系制御部２０−１及び１系スイッチ３０−１を制御する１系制御部４０−１と、を含む。同様に、中継ユニット１−２は、フレーム中継経路冗長化のために二重化された０系スイッチ１０−２及び１系スイッチ３０−２と、０系スイッチ１０−２を制御する０系制御部２０−２及び１系スイッチ３０−２を制御する１系制御部４０−２と、を含む。以下、０系スイッチ１０−１及び１０−２をメイン系スイッチとも称し、１系スイッチ３０−１及び３０−２をサブ系スイッチとも称する。
【００１２】
ホスト端末５１−１〜５１−ｎの各々は、０系スイッチ１０−１及び１系スイッチ３０−１のうちの現用系として選択されている一方のスイッチとの間でフレームを送受信できる。同様に、ホスト端末５２−１〜５２−ｍの各々は、０系スイッチ１０−２及び１系スイッチ３０−２のうちの現用系として選択されている一方のスイッチとの間でフレームを送受信できる。これらのホスト端末は、例えばパーソナルコンピュータなどの通信機能を備えた端末である。
【００１３】
０系スイッチ１０−１と１系スイッチ３０−１とは、中継ユニット１−１内において中継路６１−１を介して相互にフレームを中継できる。同様に、０系スイッチ１０−２と１系スイッチ３０−２とは、中継ユニット１−２内において中継路６１−２を介して相互にフレームを中継できる。また、０系スイッチ１０−１と０系スイッチ１０−２とは、中継路６２を介してユニット間で相互にフレームを中継できる。同様に、１系スイッチ３０−１と１系スイッチ３０−２とは、中継路６３を介してユニット間で相互にフレームを中継できる。これらのスイッチは、例えばレイヤ２スイッチ（Ｌ２ＳＷ）である。以下、中継路６２及び中継路６３をそれぞれメイン系ライン及びサブ系ラインとも称する。また、中継路６１−１及び６１−２の各々を系間ラインとも称する。
【００１４】
０系制御部２０−１は、通信路６４−１を介して０系スイッチ１０−１に各種の命令を発して制御することができる。１系制御部４０−１は、通信路６５−１を介して１系スイッチ３０−１に各種の命令を発して制御することができる。同様に、０系制御部２０−２は、通信路６４−２を介して０系スイッチ１０−２に各種の命令を発して制御することができる。１系制御部４０−２は、通信路６５−２を介して１系スイッチ３０−２に各種の命令を発して制御することができる。
【００１５】
０系制御部２０−１と１系制御部４０−１とは、通信路６４−１、中継路６１−１及び通信路６５−１を介して相互にユニット内通信を確立することができる。同様に、０系制御部２０−２と１系制御部４０−２とは、通信路６４−２、中継路６１−２及び通信路６５−２を介して相互にユニット内通信を確立することができる。また、０系制御部２０−１と０系制御部２０−２とは、通信路６４−１、中継路６２及び通信路６４−２を介して相互にユニット間通信を確立することができる。同様に、１系制御部３０−１と１系制御部３０−２とは、通信路６５−１、中継路６３及び通信路６５−２を介して相互にユニット間通信を確立することができる。これらの制御部は、例えば、所定の通信制御プログラムを実行するＣＰＵである。
【００１６】
図２には、０系スイッチ１０−１の構成が示されている。
【００１７】
中継部１１は、自ユニットである中継ユニット１−１内の０系制御部２０−１、自ユニット内の１系スイッチ３０−１、及び次順位ユニットである中継ユニット１−２の０系スイッチ１０−２との間で各種フレームの中継を行なう。本実施例においては、中継ユニット１−１及び１−２の２つの中継ユニットのみを含むので、中継ユニット１−１を主体とした場合に中継ユニット１−２を対向ユニットとも称する。
中継部１１は、到来したフレームの送信元アドレスが経路情報テーブル１２に記憶されている場合には、当該送信元アドレスに対応する中継路にフレームを送出する。中継部１１は、送信元アドレスが経路情報テーブル１２に記憶されていない場合には、当該フレームの属するＶＬＡＮに対応する全ての中継路に当該フレームを中継する。また、中継部１１は、０系制御部２０−１からの中継許可、中継禁止、中継抑制有効、中継抑制無効の命令に応じて、特定のトラフィックについてのフレームの中継を開始、停止、抑制、再開する。これらの命令は、通信路６４−１を介してフレームにより通知される。
【００１８】
図３には、経路情報テーブル１２の一例が示されている。「宛先」は、中継先のＭＡＣアドレスである。「仮想グループ」は、仮想ネットワークすなわちＶＬＡＮのグループである。当該グループは、例えば、ユーザフレームを中継するためのグループ（以下、ＶＬＡＮ＿Ａと称する）、同一ユニット内の制御部間で制御フレームを中継するためのグループ（以下、ＶＬＡＮ＿Ｂと称する）、対向ユニットの制御部間で制御フレームを中継するためのグループ（以下、ＶＬＡＮ＿Ｃと称する）である。
【００１９】
同一ユニット内の中継路６１−１及び６１−２は、トランクラインとしてＶＬＡＮ＿Ａ及びＶＬＡＮ＿Ｂの両方に属し、互いのＶＬＡＮのフレームが交わらないように仮想的にトラフィックがＶＬＡＮ＿ＡとＶＬＡＮ＿Ｂとに分離されている。
【００２０】
対向ユニット間の中継路６２及び６３は、トランクラインとしてＶＬＡＮ＿Ａ及びＶＬＡＮ＿Ｃの両方に属し、互いのＶＬＡＮのフレームが交わらないように仮想的にトラフィックがＶＬＡＮ＿ＡとＶＬＡＮ＿Ｃとに分離されている。
【００２１】
各スイッチ−制御部間の通信路６４−１、６４−２、６５−１及び６５−２は、トランクラインとしてＶＬＡＮ＿Ｂ及びＶＬＡＮ＿Ｃの両方に属し、互いのＶＬＡＮのフレームが交わらないように仮想的にトラフィックがＶＬＡＮ＿ＢとＶＬＡＮ＿Ｃとに分離されている。
【００２２】
「送出経路」は、フレームの中継先を示している。図３では、例として中継路６１−１及び中継路６２が示されている。送出経路の各々はポートと１対１で対応している。中継部１１は、到来したフレームの送信元ＭＡＣアドレスに対応する送出経路に当該フレームを送出する。
【００２３】
経路情報更新部１３は、中継部１１に到来したフレームに含まれる送信元ＭＡＣアドレスが経路情報テーブル１２に記憶されていないときは、当該送信元ＭＡＣアドレスと送出経路とを対応付けて経路情報テーブル１２に記憶させる。また、経路情報更新部１３は、０系制御部２０−１からの１つのＭＡＣアドレス削除指令に応じて、経路情報テーブル１２内の当該ＭＡＣアドレスを削除する。
【００２４】
障害検出部１４は、中継部１１により中継されるフレームの監視や、中継部１１に接続されている通信路の状態を監視してトラフィック障害を検出する。障害の検出は、例えばCisco Systems社製スイッチのキープアライブ機能により実行されることができる。障害検出部１４は、障害を検出した場合には、障害検出通知を０系制御部２０−１に発する。この際、障害検出部１４は、障害が発生した中継路（例えば中継路６１−１や６２）も併せて０系制御部２０−１に通知する。
【００２５】
０系スイッチ１０−２も、０系スイッチ１０−１と同様の構成である。
【００２６】
図４には、１系スイッチ３０−１の構成が示されている。
【００２７】
中継部３１は、自ユニットである中継ユニット１−１内の０系制御部４０−１、自ユニット内の０系スイッチ１０−１、及び次順位（対向）ユニットである中継ユニット１−２の１系スイッチ３０−２との間で各種フレームの中継を行なう。中継部３１は、到来したフレームの送信元アドレスが経路情報テーブル３２に記憶されている場合には、当該送信元アドレスに対応する中継路にフレームを送出する。中継部３１は、送信元アドレスが経路情報テーブル３２に記憶されていない場合には、当該フレームの属するＶＬＡＮに対応する全ての中継路に当該フレームを中継する。また、中継部３１は、０系制御部４０−１からの中継許可、中継禁止、中継抑制有効、中継抑制無効の命令に応じて、特定のトラフィックについてのフレームの中継を開始、停止、抑制、再開する。これらの命令は、通信路６５−１を介してフレームにより通知される。経路情報テーブル３２は、図４に示されるものと同様である。
【００２８】
経路情報更新部３３は、中継部３１に到来したフレームに含まれる送信元ＭＡＣアドレスが経路情報テーブル３２に記憶されていないときは、当該送信元ＭＡＣアドレスと送出経路とを対応付けて経路情報テーブル３２に記憶させる。また、経路情報更新部３３は、１系制御部４０−１からの１つのＭＡＣアドレス削除指令に応じて、経路情報テーブル３２内の当該ＭＡＣアドレスを削除する。
【００２９】
障害検出部３４は、中継部３１により中継されるパケットの監視や、中継部３１に接続されている通信路の状態を監視してトラフィック障害を検出する。障害の検出は、例えばCisco Systems社製スイッチのキープアライブ機能により実行されることができる。障害検出部３４は、障害を検出した場合には、障害検出通知を１系制御部４０−１に発する。この際、障害検出部３４は、障害が発生した中継路（例えば中継路６１−１や６３）も併せて１系制御部４０−１に通知する。
【００３０】
１系スイッチ３０−２も、１系スイッチ３０−１と同様の構成である。
【００３１】
図５には、０系制御部２０−１の構成が示されている。０系制御部２０−１は、０系スイッチ１０−１を制御対象スイッチとする。
【００３２】
接続状態保持部２１は、各スイッチ及び各制御部相互間の接続状態を示すデータを保持している。接続状態は、状態更新部２３によって更新され得る。接続状態の詳細については後述する（図７を参照）。また、接続状態保持部２１は、中継ユニット１−１及び１−２の接続段数（Ｎ）、及び自ユニットである中継ユニット１−１の接続順位（Ｐ）についても保持することができる。本実施例においては、接続段数は「２」である。また、中継ユニット１−１の接続順位は例えば「１」であり、中継ユニット１−２の接続順位は例えば「２」である。接続状態保持部２１は、例えばＲＡＭやハードディスク等の記憶装置であり、接続段数及び接続順位はこれらの記憶装置に保持され、書き換え自在である。
【００３３】
通知受信部２２は、０系スイッチ１０−１からの障害検出通知、及び自ユニット内の１系制御部４０−１又は対向ユニットの０系制御部２０−２から接続状態通知、通信確立通知及び障害発生通知を受信する。
【００３４】
状態更新部２３は、上記通知の内容に応じて接続状態保持部２１の接続状態を更新する。更新の内容については後述する（図１８、図２２、図２６、図２８、図３０、図３２、図３４及び図３６を参照）。
【００３５】
接続状態通知部２４は、接続状態保持部２１に保持されている接続状態を、自ユニット内の１系制御部４０−１及び／又は対向ユニットの０系制御部２０−２に対して通知する。また、接続状態通知部２４は、１系制御部４０−１及び／又は０系制御部２０−２に対して、通信確立通知及び障害発生通知を発することもできる。
【００３６】
命令部２５は、接続状態保持部２１に保持されている接続状態に基づいて、制御対象スイッチである０系スイッチ１０−１に対して各種の命令を発することによりこれを制御する。命令の詳細については後述する（図１４）。
【００３７】
通信確立部２６は、１系制御部４０−１及び０系制御部２０−２との間で通信を確立する。
【００３８】
通知受信部２２、状態更新部２３、接続状態通知部２４及び命令部２５は、接続状態保持部２１に保持されている接続段数を参照してその接続段数が「２」である場合に本実施例の動作を行なう。
【００３９】
０系制御部２０−２も、０系制御部２０−１と同様の構成である。０系制御部２０−２は、０系スイッチ１０−２を制御対象スイッチとする。
【００４０】
図６には、１系制御部４０−１の構成が示されている。１系制御部４０−１は、１系スイッチ３０−１を制御対象スイッチとする。
【００４１】
接続状態保持部４１は、各スイッチ及び各制御部相互間の接続状態を示すデータを保持している。接続状態は、状態更新部４３によって更新され得る。接続状態の詳細については後述する（図７を参照）。
【００４２】
通知受信部４２は、１系スイッチ３０−１からの障害検出通知、及び自ユニット内の０系制御部２０−１又は対向ユニットの１系制御部４０−２から接続状態通知、通信確立通知及び障害発生通知を受信する。
【００４３】
状態更新部４３は、上記通知の内容に応じて接続状態保持部４１の接続状態を更新する。更新の内容については後述する（図１８、図２２、図２６、図２８、図３０、図３２、図３４及び図３６を参照）。
【００４４】
接続状態通知部４４は、接続状態保持部４１に保持されている接続状態を、自ユニット内の０系制御部２０−１及び／又は対向ユニットの１系制御部４０−２に対して通知する。また、接続状態通知部４４は、０系制御部２０−１及び／又は１系制御部４０−２に対して、通信確立通知及び障害発生通知を発することもできる。
【００４５】
命令部４５は、接続状態保持部４１に保持されている接続状態に基づいて、制御対象スイッチである１系スイッチ３０−１に対して各種の命令を発することによりこれを制御する。命令の詳細については後述する（図１４）。
【００４６】
通信確立部４６は、０系制御部２０−１及び１系制御部４０−２との間で通信を確立する。
【００４７】
１系制御部４０−２も、１系制御部４０−１と同様の構成である。１系制御部４０−２は、１系スイッチ３０−２を制御対象スイッチとする。
【００４８】
図７には、接続状態保持部２１及び４１が保持し得る接続状態が示されている。以下、動作の主体となっている制御部を自制御部と称する。また、動作の主体となっている制御部の系列を自系、他方の系列を他系とそれぞれ称する。また、自制御部と同一の中継ユニット内に存在する他系の制御部を他系制御部と称する。また、自制御部を含む中継ユニットを自ユニットと称する。また、自ユニットに対向する中継ユニットを対向ユニットと称する。また、対向ユニットに含まれる２つの制御部を、対応する系列に応じてそれぞれ自制御部又は他系制御部についての対向制御部と称する。また、自制御部が制御対象としているスイッチを制御対象スイッチと称する。また、他系制御部が制御対象としているスイッチを他系スイッチと称する。また、対向ユニットに含まれる２つのスイッチを、対応する系列に応じてそれぞれ制御対象スイッチ又は他系スイッチについての対向スイッチと称する。
【００４９】
「独立状態」は、自制御部と自ユニット内の他系制御部との間の通信を確立できない状態、且つ自制御部とその対向制御部との間の通信を確立できない状態である。また、「独立状態」は、制御部の初期状態である。
【００５０】
「完全状態」は、自ユニット内、対向ユニット内、及び自ユニットと対向ユニットとの間で障害が発生していない状態である。換言すれば、制御部の各々が相互に通信可能な状態である。図８には「完全状態」のときの接続状態が矢印により示されている。
【００５１】
「他系ユニット間障害」は、自制御部と自ユニット内の他系制御部との間、及び自制御部と対向制御部との間は通信が確立できているが、自ユニット内の他系スイッチとその対向スイッチとの間で障害が発生している状態である。図９には「他系ユニット間障害」のときの接続状態が矢印により示されている。
【００５２】
「自系ユニット間障害」は、自制御部と自ユニット内の他系制御部との間、及び、自ユニット内の他系制御部とその対向制御部との間の通信は確立しているが、自制御部とその対向制御部との間で障害が発生している状態である。図９には「自系ユニット間障害」のときの接続状態が矢印により示されている。
【００５３】
「対向ユニット内障害」は、自制御部と自ユニット内の他系制御部との間、自制御部とその対向制御部との間、及び、自ユニット内の他系制御部とその対向制御部との間の通信は確立できているが、対向ユニット内の両制御部間の通信が確立できない状態である。図１０には「対向ユニット内障害」のときの接続状態が矢印により示されている。
【００５４】
「自ユニット内障害」は、自制御部と自ユニット内の他系制御部との間の通信が確立できないが、自ユニット内の両制御部と対向ユニット内の両制御部間の通信は確立している状態である。図１０には「自ユニット内障害」のときの接続状態が矢印により示されている。
【００５５】
「ユニット間２重障害」は、自制御部と自ユニット内の他系制御部との間は通信が確立できているが、制御対象スイッチとその対向スイッチとの間、及び、自ユニット内の他系スイッチとその対向スイッチとの間で障害が発生している状態である。図１１には「ユニット間２重障害」のときの接続状態が矢印により示されている。
【００５６】
「１重化状態」は、自制御部とその対向制御部との間の通信は確立しているが、自制御部と自ユニット内の他系制御部との間、及び、対向ユニット内の両制御部間の通信が確立できない状態である。図１２には「１重化状態」のときの接続状態が矢印により示されている。
【００５７】
「対向ユニット＋他系ユニット間障害」は、自制御部と自ユニット内の他系制御部との間、及び、自制御部とその対向制御部との間の通信は確立できているが、対向ユニット内の両制御部間の通信、及び、他系制御部とその対向制御部との間の通信が確立できていない状態である。図１３には「他系ユニット間＋対向ユニット内障害」の状態を含むときの接続状態が矢印により示されている。
【００５８】
図１４には、制御部間で相互に通知される情報の一覧を示す図である。これらの情報は、接続状態通知部２４及び４４によって通知される。
【００５９】
「接続状態」は、接続状態保持部２１及び４１に保持されているデータであり、その内容は図１３に示される状態のいずれか１つを示す。当該通知は、自ユニットである中継ユニット１−１内の他系制御部である１系制御部４０−１、及び／又は対向制御部である０系制御部２０−２に対して通知される。
【００６０】
「ユニット間障害発生」は、制御対象スイッチによる対向スイッチとの間の通信障害検出、又は、対向制御部との間の通信障害検出についての通知である。当該通知は、自ユニット内の他系制御部に対して通知される。
【００６１】
「ユニット間通信確立」は、対向制御部との間の通信確立についての通知である。当該通知は、自ユニット内の他系制御部に対して通知される。
【００６２】
「ユニット内障害発生」は、制御対象スイッチによる他系スイッチとの間の通信障害検出、又は、自ユニット内の他系制御部との間の通信障害検出についての通知である。当該通知は、対向制御部に対して通知される。
【００６３】
「ユニット内通信確立」は、自ユニット内の他系制御部との間の通信確立についての通知である。当該通知は、対向制御部に対して通知される。
【００６４】
図１５には、各制御部から制御対象スイッチに対して発することができる命令の一覧を示す図である。これらの命令は、命令部２５及び４５から発せられる。
【００６５】
「命令１」は、他系スイッチ向けユーザトラフィックの中継を許可する命令（他系スイッチ向け中継許可命令）である。
【００６６】
「命令２」は、対向スイッチ向けユーザトラフィックの中継を許可する命令（対向スイッチ向け中継許可命令）である。
【００６７】
「命令３」は、他系制御部との通信切断後に通知する命令であり、他系スイッチ向けユーザトラフィックの中継を禁止する命令（他系スイッチ向け中継禁止命令）である。
【００６８】
「命令４」は、対向制御部との通信切断後に通知する命令であり、対向スイッチ向けユーザトラフィックの中継を禁止する命令（対向スイッチ向け中継禁止命令）である。
【００６９】
「命令５」は、他系スイッチから受信したユーザトラフィックを対向スイッチに中継する処理を抑制する命令（中継抑制有効命令）である。
【００７０】
「命令６」は、他系スイッチから受信したユーザトラフィックを対向スイッチに中継する処理の抑制を解除する命令（中継抑制無効命令）である。
【００７１】
「命令７」は、送出経路が対向スイッチに設定されているＭＡＣアドレスを経路制御テーブルから削除する命令（対向スイッチ向け経路削除命令）である。
【００７２】
「命令８」は、送出経路が他系スイッチに設定されているＭＡＣアドレスを経路制御テーブルから削除する命令（他系スイッチ向け経路削除命令）である。
【００７３】
以下、図１６及び図１７を参照しつつ、自制御部である０系制御部２０−１が他系制御部である１系制御部４０−１との間で初期通信確立するときの動作について説明する。０系制御部２０−１は、１系制御部４０−１との間で初期通信を確立できるまで当該フローを断続的に実行する。以下、０系制御部２０−１の接続状態保持部２１及び１系制御部４０−１の接続状態保持部４１の各々が初期接続状態として「独立状態」を保持している前提で説明する。また、０系制御部２０−１を主体として各動作を記載する。
【００７４】
先ず、通信確立部２６が、１系制御部４０−１の通信確立部４６との間で通信確立を試みる（ステップＳ０１、Ｓ１０１）。通信確立できなかった場合には当該フローを終了する。
【００７５】
通信確立できた場合には、接続状態通知部２４は、１系制御部４０−１に接続状態を通知する。また、１系制御部４０−１の接続状態通知部４４からも、０系制御部２０−１に接続状態を通知される（ステップＳ０２、Ｓ１０２）。この際、互いに通知し合う接続状態は「独立状態」である。
【００７６】
次に、接続状態通知部２４は、対向制御部である０系制御部２０−２との間で既に通信確立されていると判別した場合には（ステップＳ０３）、０系制御部２０−２にユニット内通信確立通知を行なう（ステップＳ０４）。現時点においては接続状態が「独立状態」であり、０系制御部２０−２との間では通信確立されていない。故に、接続状態通知部２４はユニット内通信確立通知を発せず、ステップＳ０５に移行する。
【００７７】
次に、状態更新部２３が、接続状態保持部２１に保持されている接続状態と、１系制御部４０−１から通知された接続状態とに基づいて接続状態保持部２１の接続状態を更新する（ステップＳ０５）。
【００７８】
図１８には、他系制御部との初期通信確立処理時における接続状態の遷移表が示されている。「自制御部接続状態」は自制御部（ここでは、０系制御部２０−１）の現在接続状態を示している。「他系制御部接続状態」は他系制御部（ここでは、１系制御部４０−１）から通知された接続状態を示している。更に、これら両状態によって定まる接続状態が遷移表中にマトリクス上に示されている。
【００７９】
状態更新部２３は、接続状態保持部２１の接続状態をこの遷移表に従って更新する。詳細には、現時点における自制御部の現在接続状態は「独立状態」であり、且つ他制御部から通知された接続状態も「独立状態」であるので、状態更新部２３は、接続状態保持部２１の接続状態を「ユニット間２重障害」とする。
【００８０】
次に、命令部２５は、中継制御適用判定を行なう（ステップＳ０６）。以下、図１９を参照しつつ、中継制御適用判定処理の動作について説明する。命令部２５は、接続状態保持部２１の接続状態が「完全状態」であるか否か判別する（ステップＳ１１）。現在の接続状態は「ユニット間２重障害」なので、命令部２５は、中継抑制指令（ステップＳ１２）を発せずに当該判定処理を終了する。
【００８１】
次に、命令部２５は、制御対象スイッチである０系スイッチ１０−１に対して他系スイッチである１系スイッチ３０−１への中継を許可する命令１を発する（ステップＳ０７、Ｓ１０４）。０系スイッチ１０−１は、命令１に応じて、これ以降到来したユーザトラフィックのフレームを１系スイッチ３０−１に対して中継することができる。
【００８２】
次に、命令部２５は、接続状態保持部２１の接続状態が「完全状態」であるか否か判別する（ステップＳ０８）。現在の接続状態は「ユニット間２重障害」なので、命令部２５は、ＭＡＣアドレスの削除命令７（ステップＳ０９）を発せずに当該判定処理を終了する。
【００８３】
なお、当該接続状態が「完全状態」である場合には、命令部２５は、０系制御部２０−１に対して命令７を発する。この場合、０系制御部２０−１の経路情報更新部１３は、命令７に応じて、送出経路が対向スイッチに設定されているＭＡＣアドレスを経路制御テーブルから削除する。０系スイッチ１０−１は、これ以降、他系スイッチである１系スイッチ２０−１から到来したフレームを、対向スイッチである０系スイッチ１０−２には中継しない。また、中継部１１は、その後到来したフレームのＭＡＣアドレスを「宛先」として経路制御テーブル１２に追加することにより、新たなフレーム中継先を設定できる。
【００８４】
以下、図２０及び図２１を参照しつつ、自制御部である０系制御部２０−１が対向制御部である０系制御部２０−２との間で初期通信確立するときの動作について説明する。０系制御部２０−１は、０系制御部２０−２との間で初期通信を確立できるまで当該フローを断続的に実行する。以下、０系制御部２０−１の接続状態保持部２１及び０系制御部２０−２の接続状態保持部２１の各々が接続状態として「ユニット間２重障害」を保持している前提で説明する。また、０系制御部２０−１を主体として各動作を記載する。
【００８５】
先ず、通信確立部２６が、０系制御部２０−２の通信確立部２６との間で通信確立を試みる（ステップＳ２１、Ｓ１１１）。通信確立できなかった場合には当該フローを終了する。通信確立できた場合には、ステップＳ２２に移行する。
【００８６】
接続状態通知部２４は、他系制御部である１系制御部４０−１との間で既に通信確立されているか判別する（ステップＳ２２）。現段階においては０系制御部２０−１と１系制御部４０−１との間で通信確立されているので、接続状態通知部２４は１系制御部４０−１に対してユニット間通信確立通知を発する（ステップＳ２３、Ｓ１１２）。
【００８７】
また、１系制御部４０−１の接続状態通知部４４も、０系制御部２０−１に対してユニット間通信確立通知を発する（ステップＳ１１２）。通知受信部２２は、１系制御部４０−１からの当該ユニット間通信確立通知を受信する（ステップＳ１１２）。
【００８８】
以下、図２２も併せて参照しつつ、０系制御部２０−１を主体とした場合における、ユニット間通信確立通知受信時の動作について説明する。０系制御部２０−１は、他系制御部である１系制御部４０−１からのユニット間通信確立通知を受信したときに当該ルーチンを実行する。
【００８９】
図２３には、ユニット間通信確立通知受信時における接続状態の遷移表が示されている。「通知受信前の接続状態」は、ユニット間通信確立通知を受信する前の接続状態である。なお、０系制御部２０−１における現時点の接続状態は「ユニット間２重障害」である。「通信受信後の接続状態」は、ユニット間通信確立通知を受信した後の接続状態すなわち更新後の接続状態である。
【００９０】
先ず、状態更新部２３は、図２３の遷移表に従って接続状態保持部２１に保持されている接続状態を更新する（ステップＳ３１）。接続状態保持部２１の接続状態は「ユニット間２重障害」であるので、状態更新部２３は、当該接続状態を「自系ユニット間障害」とする（ステップＳ３１）。
【００９１】
次に、命令部２５は、図１９に示される中継制御適用判定を行なう（ステップＳ３２）。命令部２５は、接続状態保持部２１の接続状態が「完全状態」であるか否か判別する（ステップＳ１１）。現在の接続状態は「自系ユニット間障害」なので、命令部２５は、中継抑制指令（ステップＳ１２）を発せずに当該判定処理を終了する。
【００９２】
続いて、接続状態通知部２４は、０系制御部２０−２に接続状態を通知する（ステップＳ２４、Ｓ１１４）。また、０系制御部２０−２の接続状態通知部２４からも、０系制御部２０−１に対して接続状態を通知する（ステップＳ１１４）。この際、互いに通知し合う接続状態は「自系ユニット間障害」である。
【００９３】
次に、状態更新部２３は、接続状態保持部２１に保持されている接続状態と、０系制御部２０−２から通知された接続状態とに基づいて接続状態保持部２１の接続状態を更新する（ステップＳ２５）。
【００９４】
図２４には、対向制御部との初期通信確立処理時における接続状態の遷移表が示されている。状態更新部２３は、接続状態保持部２１の接続状態をこの遷移表に従って更新する。詳細には、現時点における自制御部の現在接続状態は「自系ユニット間障害」であり、且つ他制御部から通知された接続状態も「自系ユニット間障害」であるので、状態更新部２３は、接続状態保持部２１の接続状態を「完全状態」とする（ステップＳ１１５）。
【００９５】
次に、命令部２５は、図１９に示される中継制御適用判定を行なう（ステップＳ２６、Ｓ１１６）。命令部２５は、接続状態保持部２１の接続状態が「完全状態」であるか否か判別する（ステップＳ１１）。現在の接続状態は「完全状態」なので、命令部２５は、制御対象スイッチである０系スイッチ１０−１に対して、他系スイッチである１系スイッチ３０−１から到来した特定フレームを、対向スイッチである０系スイッチ１０−２に中継することを抑制する中継抑制有効命令５を発する（ステップＳ１２、Ｓ１１７）。特定フレームは例えばユーザトラフィックのフレームである。０系スイッチ１０−１は、命令５に応じて、これ以降１系スイッチ３０−１から到来した特定フレームを０系スイッチ１０−２には中継しない。なお、特定フレームが０系スイッチ１０−２から到来したものであるか否かは、例えば、当該特定フレームが到来したポート番号により判別できる。
【００９６】
次に、命令部２５は、制御対象スイッチである０系スイッチ１０−１に対して、その対向スイッチである０系スイッチ１０−２への一般フレームの中継を許可する命令２を発する（ステップＳ２７、Ｓ１１８）。一般フレームは例えばユニット制御用フレームである。０系スイッチ１０−１は、命令２に応じて、これ以降到来した一般フレームを０系スイッチ１０−２に中継することができる。
【００９７】
次に、命令部２５は、接続状態保持部２１の接続状態が「完全状態」であるか否か判別する（ステップＳ２８）。現在の接続状態は「完全状態」なので、命令部２５は、制御対象スイッチである０系スイッチ１０−１に対して、送出経路が他系スイッチに指定されているMACエントリを経路制御テーブル１２から削除する他系スイッチ向け経路削除命令８を発する。（ステップＳ２９、Ｓ１１９）。
【００９８】
上記動作により、０系スイッチ１０−１は、接続状態が「完全状態」である場合に、特定フレームを対向スイッチである０系スイッチ１０−２には中継しなくなる。かかる動作により、中継路６１−１、６１−２、６２及び６３によって形成されるリング状の中継路をフレームがループすることがなくなる。
【００９９】
図１６〜図２４を参照しての上記説明においては、０系制御部２０−１を中心に説明したが、図１７及び図２２に示されるように、０系制御部２０−２、１系制御部４０−１及び４０−２についても０系制御部２０−１と同様の動作を各々独立して行なう。
【０１００】
図２５には、上記処理によって各スイッチについて特定フレームの中継抑制がなされたときにおける、１系スイッチ３０−１からのフレームの中継フローが矢印で示されている。１系スイッチ３０−１は、例えば図１に示されるホスト端末５１−１から到来したフレームを０系スイッチ１０−１及び／又は１系スイッチ３０−２に中継する。１系スイッチ３０−２は、フレームを０系スイッチ１０−２に中継する場合もある。
【０１０１】
０系スイッチ１０−１は、０系制御部２０−１からの中継抑制有効命令５に応じて、他系スイッチである１系スイッチ３０−１から到来した特定フレームを、対向スイッチである０系スイッチ１０−２には中継しない。同様に、０系スイッチ１０−２も、０系制御部２０−２からの中継抑制有効命令５に応じて、他系スイッチである１系スイッチ３０−２から到来した特定フレームを、対向スイッチである０系スイッチ１０−１には中継しない。かかる動作により、接続状態が「完全状態」である場合に、１系スイッチ３０−１から送出されるフレームが中継路６１−１、６１−２、６２及び６３をループすることを防止できる。なお、１系スイッチ３０−２からから送出されるフレームについても同様にループが防止される。
【０１０２】
図２６には、上記処理によって各スイッチについて特定フレームの中継抑制がなされたときにおける、０系スイッチ１０−１からのフレームの中継フローが矢印で示されている。０系スイッチ１０−１は、例えば図１に示されるホスト端末５１−１から到来したフレームを１系スイッチ３０−１及び／又は０系スイッチ１０−２に中継する。０系スイッチ１０−２は、フレームを１系スイッチ３０−２に中継する場合もある。
【０１０３】
１系スイッチ３０−１は、１系制御部４０−１からの中継抑制有効命令５に応じて、他系スイッチである０系スイッチ１０−１から到来した特定フレームを、対向スイッチである１系スイッチ３０−２には中継しない。同様に、１系スイッチ３０−２も、１系制御部４０−２からの中継抑制有効命令５に応じて、他系スイッチである１系スイッチ３０−２から到来した特定フレームを、対向スイッチである１系スイッチ３０−１には中継しない。かかる動作により、接続状態が「完全状態」である場合に、０系スイッチ１０−１から送出されるフレームが中継路６１−１、６１−２、６２及び６３をループすることを防止できる。なお、０系スイッチ１０−２からから送出されるフレームについても同様にループが防止される。
【０１０４】
このように、本実施例の中継システム１００においては、スイッチ１０−１、１０−２、３０−１及び３０−２を制御する制御部２０−１、２０−２、４０−１及び４０−２がそれぞれ設けられている。これらの制御部は、自身が保持している接続状態を相互に通知し合い、自身が保持している接続状態と、他系又は対向の制御部から通知された接続状態とに基づいて所定の遷移表に従って自身の接続状態を更新する。そして、接続状態が「完全状態」すなわち何れの中継路にも障害が発生しておらずフレームがループし得る状態になったときに、制御対象スイッチがその対向スイッチに向けて特定のフレームを中継することを抑制する。かかる動作により、フレーム中継路の冗長性を保ちつつ、フレームが中継路をループすることを回避することができる。
【０１０５】
上記の例は、他系制御部との間の初期通信確立処理、及び対向制御部との間の初期通信確立処理を行う場合の例であるが、中継ユニット１−１及び１−２は以下の処理についても行なう。
【０１０６】
以下、図２７を参照しつつ、０系制御部２０−１を主体とした場合における、ユニット間障害検出時の動作について説明する。０系制御部２０−１は、制御対象スイッチである０系スイッチ１０−１の障害検出部１４からのユニット間障害検出通知を受信したときに当該ルーチンを実行する。ユニット間障害検出通知は、障害検出部１４が中継路６２において障害発生を検出した場合に通知される。
【０１０７】
先ず、接続状態通知部２４は、他系制御部である１系制御部４０−１との間で既に通信確立されているか判別する（ステップＳ４１）。通信確立されていない場合にはステップＳ４３に移行する。通信確立されている場合には、接続状態通知部２４は１系制御部４０−１に対してユニット間障害の通知をする（ステップＳ４２）。
【０１０８】
次に、命令部２５は、制御対象スイッチである０系スイッチ１０−１に対して、その対向スイッチである０系スイッチ１０−２への特定フレームの中継を禁止する命令４を発する（ステップＳ４３）。０系スイッチ１０−１は、命令４に応じて、これ以降到来した特定フレームを０系スイッチ１０−２には中継しない。
【０１０９】
次に、命令部２５は、接続状態保持部２１の接続状態が「完全状態」であるか否か判別する（ステップＳ４４）。現在の接続状態が「完全状態」でない場合には、命令部２５は、命令７及び命令６を発せず、ステップＳ４７に移行する。現在の接続状態が「完全状態」である場合には、命令部２５は、０系スイッチ１０−１に対して、送出先が対向スイッチとなるＭＡＣアドレスを経路制御テーブル１２から削除する命令７を発し（ステップＳ４５）、０系スイッチ１０−２への特定パケットの中継抑制の解除命令６を発する（ステップＳ４６）。
【０１１０】
次に、状態更新部２３は、接続状態保持部２１に保持されている接続状態に基づいて接続状態保持部２１の接続状態を更新する（ステップＳ４７）。図２８には、ユニット間障害検出時における接続状態の遷移表が示されている。「通信不可前の接続状態」は現時点の接続状態である。「通信不可後の接続状態」は更新後の接続状態である。例えば、現時点の接続状態が「１重化状態」である場合、状態更新部２３は、接続状態保持部２１の接続状態を「独立状態」とする。
【０１１１】
以下、図２９を参照しつつ、０系制御部２０−１を主体とした場合における、自ユニット内障害検出時の動作について説明する。０系制御部２０−１は、制御対象スイッチである０系スイッチ１０−１の障害検出部１４からの自ユニット内障害検出通知を受信したときに当該ルーチンを実行する。ユニット内障害検出通知は、障害検出部１４が中継路６１−１において障害発生を検出した場合に通知される。
【０１１２】
先ず、接続状態通知部２４は、対向制御部である０系制御部２０−２との間で既に通信確立されているか判別する（ステップＳ５１）。通信確立されていない場合にはステップＳ５３に移行する。通信確立されている場合には、接続状態通知部２４は０系制御部２０−２に対してユニット内障害の通知をする（ステップＳ５２）。
【０１１３】
次に、命令部２５は、制御対象スイッチである０系スイッチ１０−１に対して、その他系スイッチである１系スイッチ３０−１への特定フレームの中継を禁止する命令３を発する（ステップＳ５３）。０系スイッチ１０−１は、命令４に応じて、これ以降到来した特定フレームを１系スイッチ３０−１には中継しない。
【０１１４】
次に、命令部２５は、接続状態保持部２１の接続状態が「完全状態」であるか否か判別する（ステップＳ５４）。現在の接続状態が「完全状態」でない場合には、命令部２５は、命令８及び命令６を発せず、ステップＳ５７に移行する。現在の接続状態が「完全状態」である場合には、命令部２５は、０系スイッチ１０−１に対して、送出先が他系スイッチとなるＭＡＣアドレスを経路制御テーブル１２から削除する命令８を発し（ステップＳ５５）、０系スイッチ１０−２への特定パケットの中継抑制の解除命令６を発する（ステップＳ５６）。
【０１１５】
次に、状態更新部２３は、接続状態保持部２１に保持されている接続状態に基づいて接続状態保持部２１の接続状態を更新する（ステップＳ５７）。図３０には、ユニット内障害検出時における接続状態の遷移表が示されている。「通信不可前の接続状態」は現時点の接続状態である。「通信不可後の接続状態」は更新後の接続状態である。例えば、現時点の接続状態が「ユニット間２重障害」である場合、状態更新部２３は、接続状態保持部２１の接続状態を「独立状態」とする。
【０１１６】
以下、図３１を参照しつつ、０系制御部２０−１を主体とした場合における、ユニット間障害発生通知受信時の動作について説明する。０系制御部２０−１は、他系制御部である１系制御部４０−１からのユニット間障害検出通知を受信したときに当該ルーチンを実行する。
【０１１７】
先ず、命令部２５は、接続状態保持部２１の接続状態が「完全状態」であるか否か判別する（ステップＳ６１）。現在の接続状態が「完全状態」でない場合には、命令部２５は、中継抑制無効命令６を発せず、ステップＳ６３に移行する。現在の接続状態が「完全状態」である場合には、命令部２５は、制御対象スイッチである０系スイッチ１０−１に対してその対向スイッチである０系スイッチ１０−２への特定フレームの中継抑制を無効とする命令６を発する（ステップＳ６２）。
【０１１８】
次に、状態更新部２３は、接続状態保持部２１に保持されている接続状態に基づいて接続状態保持部２１の接続状態を更新する（ステップＳ６３）。図３２には、ユニット間障害発生通知受信時における接続状態の遷移表が示されている。「通知受信前の接続状態」は現時点の接続状態である。「通信受信後の接続状態」は更新後の接続状態である。例えば、現時点の接続状態が「自系ユニット間障害」である場合、状態更新部２３は、接続状態保持部２１の接続状態を「ユニット間２重障害」とする。
【０１１９】
以下、図３３を参照しつつ、０系制御部２０−１を主体とした場合における、ユニット内障害発生通知受信時の動作について説明する。０系制御部２０−１は、対向制御部である０系制御部２０−２からのユニット内障害検出通知を受信したときに当該ルーチンを実行する。
【０１２０】
先ず、命令部２５は、接続状態保持部２１の接続状態が「完全状態」であるか否か判別する（ステップＳ７１）。現在の接続状態が「完全状態」でない場合には、命令部２５は、中継抑制無効命令６を発せず、ステップＳ７４に移行する。現在の接続状態が「完全状態」である場合には、命令部２５は、制御対象スイッチである０系スイッチ１０−１に対してその対向スイッチである０系スイッチ１０−２への特定フレームの中継抑制を無効とする命令６を発する（ステップＳ７２）。
【０１２１】
次に、命令部２５は、０系制御部２０−１に対して命令７を発する。０系制御部２０−１の経路情報更新部１３は、命令７に応じて、対向スイッチである０系スイッチ１０−２に対し、送出先が対向スイッチとなるＭＡＣアドレスを経路制御テーブル１２から削除する。なお、中継部１１は、その後到来したフレームのＭＡＣアドレスを「宛先」として経路制御テーブル１２に追加することにより、新たなフレーム中継先を設定できる。
【０１２２】
次に、状態更新部２３は、接続状態保持部２１に保持されている接続状態に基づいて接続状態保持部２１の接続状態を更新する（ステップＳ７４）。図３４には、ユニット内障害発生通知受信時における接続状態の遷移表が示されている。「通知受信前の接続状態」は現時点の接続状態である。「通信受信後の接続状態」は更新後の接続状態である。例えば、現時点の接続状態が「自系ユニット間障害」である場合、状態更新部２３は、接続状態保持部２１の接続状態を「１重化状態」とする。
【０１２３】
以下、図３５を参照しつつ、０系制御部２０−１を主体とした場合における、ユニット内通信確立通知受信時の動作について説明する。０系制御部２０−１は、対向制御部である０系制御部２０−２からのユニット内障害検出通知を受信したときに当該ルーチンを実行する。
【０１２４】
先ず、状態更新部２３は、接続状態保持部２１に保持されている接続状態に基づいて接続状態保持部２１の接続状態を更新する（ステップＳ８１）。図３６には、ユニット内通信確立通知受信時における接続状態の遷移表が示されている。「通知受信前の接続状態」は現時点の接続状態である。「通信受信後の接続状態」は更新後の接続状態である。例えば、現時点の接続状態が「１重化状態」である場合、状態更新部２３は、接続状態保持部２１の接続状態を「自系ユニット間障害」とする。
【０１２５】
次に、命令部２５は、図１９に示される中継制御適用判定を行なう（ステップＳ８２）。命令部２５は、接続状態保持部２１の接続状態が「完全状態」であるか否か判別する（ステップＳ１１）。現在の接続状態が「完全状態」でない場合、命令部２５は、中継抑制指令（ステップＳ１２）を発せずに当該判定処理を終了する。現在の接続状態が「完全状態」である場合、命令部２５は、制御対象スイッチである０系スイッチ１０−１に対して、その対向スイッチである０系スイッチ１０−２への特定フレームの中継を抑制する中継抑制有効命令５を発する（ステップＳ１２）。
【０１２６】
次に、命令部２５は、接続状態保持部２１の接続状態が「完全状態」であるか否か判別する（ステップＳ８３）。現在の接続状態が「完全状態」でない場合には、命令部２５は、命令８を発せず、当該ルーチンを終了する。現在の接続状態が「完全状態」である場合には、命令部２５は、制御対象スイッチである０系スイッチ１０−１に対し、送出先が他系スイッチとなるＭＡＣアドレスを経路制御テーブル１２から削除する命令８を発する（ステップＳ８４）。
【０１２７】
０系制御部２０−１の経路情報更新部１３は、命令８に応じて、０系スイッチ１０−１に対し、送出先が他系スイッチとなるＭＡＣアドレスを経路制御テーブル１２から削除する。なお、中継部１１は、その後到来したフレームのＭＡＣアドレスを「宛先」として経路制御テーブル１２に追加することにより、新たなフレーム中継先を設定できる。
【０１２８】
なお、ユニット間通信確立通知受信時の動作及び遷移表については図２２及び図２３に示されている。また、０系制御部２０−２、１系制御部４０−１及び４０−２の各々も０系制御部２０−１と同様の処理を行なう。
【０１２９】
図２７〜図３６を参照しつつ上記に説明したように、各制御部は、障害検出時、障害発生通知受信時、及び通信確立時においても、自身が保持している接続状態を相互に通知し合い、自身の接続状態を更新する。そして、接続状態が「完全状態」となった場合には、制御対象スイッチに対してその対向スイッチへのフレームの中継を抑制する命令を発する。かかる処理により、障害検出時、障害発生通知受信時、及び通信確立時においても、フレーム中継路の冗長性を保ちつつ、フレームが中継路６１−１、６１−２、６２及び６３をループすることを回避することができる。
【０１３０】
障害検出時、障害発生通知受信時、及び通信確立時における中継ユニット１−１及び１−２の動作フローについては様々なパターンが考えられる。図３７〜図５６には、中継ユニット１−１及び１−２の様々なパターンの動作フローが示されている。制御部の各々が保持している接続状態、障害中箇所、及び障害復旧箇所についても併せて記載している。これらのフローは、図２２、図２３、図２７〜図３６に示される処理ルーチンの動作に従ってなされるものである。図３７〜図５６に示されるように、本実施例の中継システム１００は、様々なパターンの障害検出時及び障害発生通知受信時においても、フレーム中継路の冗長性を保ちつつ、フレームが中継路６１−１、６１−２、６２及び６３をループすることを回避することができることがわかる。また、通信確立時すなわち通信障害から復旧した場合にも、フレームが中継路６１−１、６１−２、６１−３、６２及び６３をループすることを回避しつつ、フレームの中継路を有効活用することができる。
【０１３１】
＜第２の実施例＞
図５７には、本発明の第２の実施例である中継システム１００の構成が示されている。本実施例の中継システム１００においては、中継ユニット１−１、１−２及び１−３が多段接続されている。以下、第1の実施例と異なる部分について主に説明する。なお、各スイッチには、ホスト端末（図示せず）が図1の場合と同様に接続されている。
【０１３２】
接続状態保持部４１は、接続段数として「３」を保持している。通知受信部４２、状態更新部４３、接続状態通知部４４及び命令部４５は、接続状態保持部４１に保持されている接続段数を参照してその接続段数が「３」以上である場合に本実施例の動作を行なう。また、中継ユニット１−１、１−２及び１−３の各々の接続状態保持部４１が保持する接続順位は、それぞれ例えば「１」、「２」及び「３」である。この場合、番号が小さいほど上位である。
【０１３３】
接続状態通知部４４は、通信確立部４６によって自ユニット内の制御部間の通信が確立された場合に、その旨を示す通知（以下、系間通信有効通知と称する）を接続順位が上位の制御部に発する。例えば、１系制御部４０−３の接続状態通知部４４は、１系制御部４０−３と０系制御部２０−３との間の通信が確立された場合に、上位装置である１系制御部４０−２に対して系間通信有効通知を発する。
【０１３４】
また、接続状態通知部４４は、通知受信部４２が下位装置から系間通信有効通知を受信したときに、通信確立部４６によって自ユニット内の制御部間の通信が確立されていない場合には、当該受信した系間通信有効通知を上位装置に中継する。例えば、１系制御部４０−２の接続状態通知部４４は、１系制御部４０−２の通知受信部４２が下位装置の１系制御部４０−３から系間通信有効通知を受信したときに、１系制御部４０−２と０系制御部２０−２との間の通信が確立されていない場合には、当該受信した系間通信有効通知を上位装置である１系制御部４０−１に中継する。
【０１３５】
また、接続状態通知部４４は、通知受信部４２が下位装置から系間通信有効通知を受信したときに、通信確立部４６によって自ユニット内の制御部間の通信が既に確立されており且つ他系制御部から系間通信有効通知を未だ受信していない場合には、当該受信した系間通信有効通知を他系制御部に中継する。例えば、１系制御部４０−２の接続状態通知部４４は、１系制御部４０−２の通知受信部４２が下位装置の１系制御部４０−３から系間通信有効通知を受信したときに、１系制御部４０−２と０系制御部２０−２との間の通信が確立されており且つ０系制御部２０−２から系間通信有効通知を未だ受信していない場合には、当該受信した系間通信有効通知を他系制御部である０系制御部２０−２に中継する。なお、接続状態通知部４４は、通知受信部４２が他系制御部から系間通信有効通知を既に受信している場合には、当該他系制御部に対して系間通信有効通知を行わない。
【０１３６】
命令部４５は、通知受信部４２が下位装置及び他系制御部の各々から系間通信有効通知を受信した場合に、制御対象スイッチに対して中継抑制有効命令５を発する。例えば、１系制御部４０−１の命令部４５は、１系制御部４０−１の通知受信部４２が下位装置の１系制御部４０−２及び他系制御部の０系制御部２０−１の各々から系間通信有効通知を受信した場合に、制御対象スイッチである１系スイッチ３０−１に対して中継抑制有効命令５を発する。
【０１３７】
接続状態保持部２１、通知受信部２２、状態更新部２３、接続状態通知部２４、命令部２５、及び通信確立部２６も、接続状態保持部４１、通知受信部４２、状態更新部４３、接続状態通知部４４、命令部４５、及び通信確立部４６と同様の動作を行なう。
【０１３８】
図５８には、中継システム１００における障害復旧箇所、障害発生箇所、中継抑制有効箇所、及び系間通信有効通知のフローが示されている。系間通信有効通知のフローは破線の矢印によって示されている。
【０１３９】
１系制御部４０−３の接続状態通知部４４は、１系制御部４０−３と０系制御部２０−３との間の通信が確立された場合すなわち障害から復旧した場合に、上位装置である１系制御部４０−２に対して系間通信有効通知を発する。同様に、０系制御部２０−３の接続状態通知部２４も、上位装置である０系制御部２０−２に対して系間通信有効通知を発する。
【０１４０】
１系制御部４０−２の接続状態通知部４４は、通知受信部４２が下位装置の１系制御部４０−３から系間通信有効通知を受信したときには、１系制御部４０−２と０系制御部２０−２との間の通信が確立されていないすなわち中継路６１−２に通信障害が発生しているので、当該受信した系間通信有効通知を上位装置である１系制御部４０−１に中継する。同様に、０系制御部２０−２の接続状態通知部２４も、上位装置である０系制御部２０−１に対して系間通信有効通知を中継する。
【０１４１】
０系制御部２０−１の接続状態通知部２４は、０系制御部２０−１の通知受信部２２が下位装置の０系制御部２０−２から系間通信有効通知を受信したときには、０系制御部２０−１と１系制御部４０−１との間の通信が確立されており且つ１系制御部４０−１から系間通信有効通知を未だ受信していないので、当該受信した系間通信有効通知を他系制御部である１系制御部４０−１に中継する。１系制御部４０−１の接続状態通知部４４は、他系制御部である０系制御部２０−１から系間通信有効通知を既に受信しているので、当該受信した系間通信有効通知を０系制御部２０−１に中継しない。
【０１４２】
１系制御部４０−１の命令部４５は、１系制御部４０−１の通知受信部４２が下位装置の１系制御部４０−２及び他系制御部の０系制御部２０−１の各々から系間通信有効通知を受信した場合に、制御対象スイッチである１系スイッチ３０−１に対して中継抑制有効命令５を発する。なお、０系制御部２０−１の命令部４５は、他系制御部である１系制御部４０−１から系間通信有効通知を受信していないので、下位装置である０系制御部２０−１から受信した系間通信有効通知を１系制御部４０−１に中継しない。
【０１４３】
１系スイッチ３０−１は、１系制御部４０−１の命令部４５からの命令５に応じて、例えばユーザトラフィックのフレームなどの特定フレームについては、対向スイッチである１系スイッチ３０−２には中継しない。
【０１４４】
かかる動作により、中継ユニット１−１、１−２及び１−３が３段接続された場合にも、フレーム中継路の冗長性を保ちつつ、フレームが中継路６１−１、６１−２、６１−３、６２及び６３をループすることを回避することができることがわかる。
【０１４５】
以下、上記した中継抑制を無効とする場合の動作について説明する。
【０１４６】
接続状態通知部２４は、制御対象スイッチとその対向スイッチとの間に通信障害が発生したことを検出した旨の障害検出通知を当該制御対象スイッチの障害検出部１４から受信したときに上位装置に対して系間通信無効通知を発する。例えば、０系制御部２０−２の接続状態通知部２４は、制御対象スイッチである０系スイッチ１０−２とその対向スイッチである１系スイッチ３０−２との間に通信障害が発生したことを検出した旨の障害検出通知を０系スイッチ１０−２の障害検出部１４から受信したときに上位装置である０系制御部２０−１に対して系間通信無効通知を発する。
【０１４７】
また、接続状態通知部２４は、通知受信部２２が下位装置から系間通信無効通知を受信したときに、通信確立部２６によって自ユニット内の制御部間の通信が確立されていない場合には、当該受信した系間通信無効通知を上位装置に中継する。例えば、０系制御部２０−２の接続状態通知部２４は、０系制御部２０−２の通知受信部２２が下位装置の０系制御部２０−３から系間通信無効通知を受信したときに、０系制御部２０−２と１系制御部４０−２との間の通信が確立されていない場合には、当該受信した系間通信無効通知を上位装置である０系制御部２０−１に中継する。
【０１４８】
また、接続状態通知部２４は、通知受信部２２が下位装置から系間通信無効通知を受信したときに、通信確立部２６によって自ユニット内の制御部間の通信が既に確立されている場合には、当該受信した系間通信無効通知を他系制御部に中継する。例えば、０系制御部２０−２の接続状態通知部２４は、０系制御部２０−２の通知受信部２２が下位装置の０系制御部２０−３から系間通信無効通知を受信したときに、０系制御部２０−２と１系制御部４０−２との間の通信が確立されている場合には、当該受信した系間通信無効通知を他系制御部である１系制御部４０−２に中継する。
【０１４９】
命令部２５は、制御対象スイッチに対して命令５を発している場合において、通知受信部４２が他系装置から系間通信無効通知を受信したときには、当該制御対象スイッチに対して中継抑制無効命令６を発する。例えば、１系制御部４０−１の命令部２５は、制御対象スイッチである１系スイッチ３０−１に対して命令５を発している場合において、１系制御部４０−１の通知受信部４２が他系装置である０系制御部２０−１から系間通信無効通知を受信したときには、１系スイッチ３０−１に対して中継抑制無効命令６を発する。
【０１５０】
接続状態保持部４１、通知受信部４２、状態更新部４３、接続状態通知部４４、命令部４５、及び通信確立部４６も、接続状態保持部２１、通知受信部２２、状態更新部２３、接続状態通知部２４、命令部２５、及び通信確立部２６と同様の動作を行なう。
【０１５１】
図５９には、中継システム１００における障害発生箇所、中継抑制無効箇所、及び系間通信無効通知のフローが示されている。系間通信無効通知のフローは破線の矢印によって示されている。
【０１５２】
０系制御部２０−２の接続状態通知部２４は、制御対象スイッチである０系スイッチ１０−２とその対向スイッチである１系スイッチ３０−２との間に通信障害が発生したことを検出した旨の障害検出通知を０系スイッチ１０−２の障害検出部１４から受信したときに上位装置である０系制御部２０−１に対して系間通信無効通知を発する。
【０１５３】
０系制御部２０−１の接続状態通知部２４は、０系制御部２０−１の通知受信部２２が下位装置の０系制御部２０−２から系間通信無効通知を受信したときに、０系制御部２０−１と１系制御部４０−１との間の通信が確立されている場合には、当該受信した系間通信無効通知を他系制御部である１系制御部４０−１に中継する。
【０１５４】
１系制御部４０−１の命令部２５は、制御対象スイッチである１系スイッチ３０−１に対して命令５を発しているので、１系制御部４０−１の通知受信部４２が他系装置の０系制御部２０−１から系間通信無効通知を受信したときに、１系スイッチ３０−１に対して中継抑制無効命令６を発する。
【０１５５】
１系スイッチ３０−１は、１系制御部４０−１の命令部４５からの命令６に応じて、これ以降に到来した特定フレームを対向スイッチである１系スイッチ３０−２に中継することができる。
【０１５６】
かかる動作により、中継ユニット１−１、１−２及び１−３が３段接続された場合にも、通信障害から復旧した場合には、制御対象スイッチに対して中継抑制を無効とする命令を発して特定フレームの中継を再開できるようにするので、フレームが中継路６１−１、６１−２、６１−３、６２及び６３をループすることを回避しつつ、フレームの中継路を有効活用することができる。
【０１５７】
また、上記の実施例は、中継ユニット１−１、１−２及び１−３を３段接続した場合の例であるが、４つ以上の多段接続とした場合にも、同様の効果を奏する。例として中継ユニットを４段接続したときの特定フレーム中継抑制時における１系スイッチ３０−１からのフレーム中継フローを図６０に示す。また、中継ユニットを４段接続したときの特定フレーム中継抑制時における０系スイッチ１０−１からのフレーム中継フローを図６１に示す。このような中継フローにより、中継ユニットが多段接続された場合にも、フレーム中継路の冗長性を保ちつつ、中継路におけるフレームのループを回避することができる。
【０１５８】
第１及び第２の実施例に説明したように、本発明の中継ユニットにおいては、各制御部は、自身の接続状態保持部２１又は４１が保持している接続段数に応じて、制御対象スイッチの中継動作の制御態様について、第１の実施例及び第２の実施例に示されるいずれかの制御態様を選択して実行することができる。また、第２の実施例に説明したように、接続順位が下位の中継ユニットから上位の中継ユニットに対して系間通信有効通知を発し、上位の中継ユニットは障害状況に応じてこれを更に上位に中継するといったように接続順位に応じても中継動作の制御態様を選択することができる。
【符号の説明】
【０１５９】
１−１、１−２、１−３  中継ユニット
１０−１、１０−２  ０系スイッチ
１１  中継部
１２  経路情報テーブル
１３  経路情報更新部
１４  障害検出部
２０−１、２０−２  ０系制御部
２１  接続状態保持部
２２  通知受信部
２３  状態更新部
２４  接続状態通知部
２５  命令部
２６  通信確立部
３０−１、３０−２  １系スイッチ
３１  中継部
３２  経路情報テーブル
３３  経路情報更新部
３４  障害検出部
４０−１、４０−２  １系制御部
４１  接続状態保持部
４２  通知受信部
４３  状態更新部
４４  接続状態通知部
４５  命令部
４６  通信確立部
５１−１〜５１−ｎ、５２−１〜５２−ｍ  ホスト端末
６１−１、６１−２、６２、６３  中継路
６４−１、６４−２、６５−１、６５−２  通信路
１００  中継システム
【図１】
0005686082.tif 000002
【図２】
0005686082.tif 000003
【図３】
0005686082.tif 000004
【図４】
0005686082.tif 000005
【図５】
0005686082.tif 000006
【図６】
0005686082.tif 000007
【図７】
0005686082.tif 000008
【図８】
0005686082.tif 000009
【図９】
0005686082.tif 000010
【図１０】
0005686082.tif 000011
【図１１】
0005686082.tif 000012
【図１２】
0005686082.tif 000013
【図１３】
0005686082.tif 000014
【図１４】
0005686082.tif 000015
【図１５】
0005686082.tif 000016
【図１６】
0005686082.tif 000017
【図１７】
0005686082.tif 000018
【図１８】
0005686082.tif 000019
【図１９】
0005686082.tif 000020
【図２０】
0005686082.tif 000021
【図２１】
0005686082.tif 000022
【図２２】
0005686082.tif 000023
【図２３】
0005686082.tif 000024
【図２４】
0005686082.tif 000025
【図２５】
0005686082.tif 000026
【図２６】
0005686082.tif 000027
【図２７】
0005686082.tif 000028
【図２８】
0005686082.tif 000029
【図２９】
0005686082.tif 000030
【図３０】
0005686082.tif 000031
【図３１】
0005686082.tif 000032
【図３２】
0005686082.tif 000033
【図３３】
0005686082.tif 000034
【図３４】
0005686082.tif 000035
【図３５】
0005686082.tif 000036
【図３６】
0005686082.tif 000037
【図３７】
0005686082.tif 000038
【図３８】
0005686082.tif 000039
【図３９】
0005686082.tif 000040
【図４０】
0005686082.tif 000041
【図４１】
0005686082.tif 000042
【図４２】
0005686082.tif 000043
【図４３】
0005686082.tif 000044
【図４４】
0005686082.tif 000045
【図４５】
0005686082.tif 000046
【図４６】
0005686082.tif 000047
【図４７】
0005686082.tif 000048
【図４８】
0005686082.tif 000049
【図４９】
0005686082.tif 000050
【図５０】
0005686082.tif 000051
【図５１】
0005686082.tif 000052
【図５２】
0005686082.tif 000053
【図５３】
0005686082.tif 000054
【図５４】
0005686082.tif 000055
【図５５】
0005686082.tif 000056
【図５６】
0005686082.tif 000057
【図５７】
0005686082.tif 000058
【図５８】
0005686082.tif 000059
【図５９】
0005686082.tif 000060
【図６０】
0005686082.tif 000061
【図６１】
0005686082.tif 000062