(57)【要約】【課題】異常状態から正常状態への切り戻し時に通信が長時間に渡って遮断される。【解決手段】トポロジ情報管理フレームを当該トポロジ情報管理フレームに格納された内容に基づいて分類し、分類の結果に応じて、トポロジ情報管理フレームに格納された内容に基づいてデータベースに格納された情報を更新する。【選択図】図２
2009188525.tif 000002
【特許請求の範囲】
【請求項１】
情報が格納されて送受信されるパケットである通信フレームをリング状に双方向に転送する２重リングネットワークを構成するネットワークノードであって、
前記２重リングネットワークのトポロジ状態を示す情報を格納するデータベースと、
前記２重リングネットワークを構成する当該ネットワークノード以外のネットワークノードのそれぞれから送信されてきた前記通信フレームのうちトポロジ情報管理フレームを識別するフレーム解析部と、
前記フレーム解析部で識別された前記トポロジ情報管理フレームを分類して出力するトポロジフレーム解析処理部と、
前記トポロジフレーム解析処理部から出力された前記トポロジ情報管理フレームの内容に基づいて前記２重リングネットワークのトポロジ状態を解析するトポロジ解析処理部と、
前記トポロジ解析処理部における解析結果に基づいて、前記データベースに格納された情報を更新するデータベース更新処理部とを備え、
前記トポロジフレーム解析処理部は、前記分類の結果に応じて、前記トポロジ情報管理フレームの内容に基づいて前記データベースに格納された情報を更新するネットワークノード。
【請求項２】
請求項１に記載のネットワークノードにおいて、
前記トポロジフレーム解析処理部は、前記分類の結果に応じて、前記データベース更新処理部へ前記データベースに格納された情報を更新する指示を行い、
前記データベース更新処理部は、前記トポロジフレーム解析処理部からの指示に基づいて前記データベースに格納された情報を更新することを特徴とするネットワークノード。
【請求項３】
請求項２に記載のネットワークノードにおいて、
前記トポロジフレーム解析処理部は、前記トポロジ情報管理フレームに格納された識別番号と前記データベースに格納された当該トポロジ情報管理フレームの送信元ネットワークノードの識別番号とが一致し、かつ、前記データベースに格納された当該トポロジ情報管理フレームの送信元ネットワークノードの有効性を示す有効性情報が無効を示すものである場合、前記データベース更新処理部へ前記有効性情報を有効を示すものへ更新する指示を行うことを特徴とするネットワークノード。
【請求項４】
請求項１に記載のネットワークノードにおいて、
前記トポロジフレーム解析処理部は、前記分類の結果に応じて、前記データベースに格納された情報を直接更新することを特徴とするネットワークノード。
【請求項５】
請求項４に記載のネットワークノードにおいて、
前記データベースは、前記データベースに格納された当該トポロジ情報管理フレームの送信元ネットワークノードの有効性を示す有効性情報に相当する前記トポロジフレーム解析処理部が更新可能な仮有効性情報を格納し、
前記トポロジフレーム解析処理部は、前記トポロジ情報管理フレームに格納された識別番号と前記データベースに格納された当該トポロジ情報管理フレームの送信元ネットワークノードの識別番号とが一致し、かつ、前記データベースに格納された当該トポロジ情報管理フレームの送信元ネットワークノードの仮有効性情報が無効を示すものである場合、前記仮有効性情報を有効を示すものへ更新し、当該トポロジ情報管理フレームを前記トポロジ解析処理部へ出力することを特徴とするネットワークノード。
【請求項６】
請求項１に記載のネットワークノードにおいて、
前記フレーム解析部は、前記トポロジ情報管理フレームを解析し、該解析の結果に応じて、前記データベースに格納された情報を更新することを特徴とするネットワークノード。
【請求項７】
請求項６に記載のネットワークノードにおいて、
前記データベースは、前記データベースに格納された当該トポロジ情報管理フレームの送信元ネットワークノードの有効性を示す有効性情報に相当する前記フレーム解析部が更新可能な仮有効性情報を格納し、
前記フレーム解析部は、前記トポロジ情報管理フレームに格納された識別番号と前記データベースに格納された当該トポロジ情報管理フレームの送信元ネットワークノードの識別番号とが一致し、かつ、前記データベースに格納された当該トポロジ情報管理フレームの送信元ネットワークノードの仮有効性情報が無効を示すものである場合、前記仮有効性情報を有効を示すものへ更新し、当該トポロジ情報管理フレームを前記トポロジフレーム解析処理部へ出力することを特徴とするネットワークノード。
【請求項８】
請求項１乃至７のいずれか１項に記載のネットワークノードが複数、かつ２重リングネットワーク状に互いに接続されて構成される通信システム。
【請求項９】
情報が格納されて送受信されるパケットである通信フレームを、リング状に双方向に転送する２重リングネットワークを構成するネットワークノードの状態を切り替える状態切り替え方法であって、
前記２重リングネットワークを構成する当該ネットワークノード以外のネットワークノードのそれぞれから送信されてきた前記通信フレームのうちトポロジ情報管理フレームを識別するステップと、
前記識別された前記トポロジ情報管理フレームに格納された識別番号と当該ネットワークノードが有するデータベースに格納された当該トポロジ情報管理フレームの送信元ネットワークノードの識別番号とを比較するステップと、
前記比較の結果、前記フレーム解析部で識別された前記トポロジ情報管理フレームに格納された識別番号と当該ネットワークノードが有するデータベースに格納された当該トポロジ情報管理フレームの送信元ネットワークノードの識別番号とが一致し、かつ、前記データベースに格納された当該トポロジ情報管理フレームの送信元ネットワークノードの有効性を示す有効性情報が無効を示すものである場合、前記有効性情報を有効を示すものへ更新するステップとを有する状態切り替え方法。
【請求項１０】
情報が格納されて送受信されるパケットである通信フレームを、リング状に双方向に転送する２重リングネットワークを構成するネットワークノードに、
前記２重リングネットワークを構成する当該ネットワークノード以外のネットワークノードのそれぞれから送信されてきた前記通信フレームのうちトポロジ情報管理フレームを識別する手順と、
前記識別された前記トポロジ情報管理フレームに格納された識別番号と当該ネットワークノードが有するデータベースに格納された当該トポロジ情報管理フレームの送信元ネットワークノードの識別番号とを比較する手順と、
前記比較の結果、前記フレーム解析部で識別された前記トポロジ情報管理フレームに格納された識別番号と当該ネットワークノードが有するデータベースに格納された当該トポロジ情報管理フレームの送信元ネットワークノードの識別番号とが一致し、かつ、前記データベースに格納された当該トポロジ情報管理フレームの送信元ネットワークノードの有効性を示す有効性情報が無効を示すものである場合、前記有効性情報を有効を示すものへ更新する手順とを実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信フレームを双方向に転送する２重リングネットワークを構成するネットワークノード、通信システム、ネットワークノードにおける状態切り替え方法およびプログラムに関する。
【背景技術】
【０００２】
インターネットの普及により、データのみならず、通話や映像配信にもインターネットが利用されるようになった。その結果、基幹系通信システムにおけるトラフィック量は急激に増大している。
【０００３】
そのため、リンクの切断やネットワークノードの故障等の異常による通信の遮断を回避する高信頼化技術は、安定した通信を継続的に提供する上で極めて重要である。
【０００４】
一方、基幹系通信システムを構築するネットワーク技術として、Ｅｔｈｅｒｎｅｔと呼ばれるパケットネットワーク技術が、低コスト性や利便性の元もとの長所に加えて、信頼性の向上や帯域制御機能の実装により、広く利用されるようになってきている。
【０００５】
以降では、高い信頼性を実現可能な基幹系通信システム向けのパケットネットワーク技術として、２００４年にＩＥＥＥ（ｔｈｅ  Ｉｎｓｔｉｔｕｔｅ  ｏｆ  Ｅｌｅｃｔｒｉｃａｌ  ａｎｄ  Ｅｌｅｃｔｒｏｎｉｃｓ  Ｅｎｇｉｎｅｅｒｓ）から発行された標準化文書であるＩＥＥＥ  Ｓｔａｎｄａｒｄｓ  ８０２．１７（非特許文献１）に開示されているＲｅｓｉｌｉｅｎｔ  Ｐａｃｋｅｔ  Ｒｉｎｇ（ＲＰＲ）が適用されたネットワーク（以下、ＲＰＲネットワークと記述する）を取り上げる。
【０００６】
図１２は、一般的なＲＰＲネットワークを構成する通信システムを示す図である。
【０００７】
ＲＰＲネットワーク３０００は、図１２に示すように、互いに逆方向（時計回り方向と反時計回り方向との双方向）に通信フレーム（情報が格納されて送受信されるパケット）が転送されるリング（リングレット）を有する２重リングネットワークを構築するためのネットワークプロトコルである。
【０００８】
図１２に示した通信システムは、８台のＲＰＲに準拠して動作するノード（以下、ＲＰＲノード１０００，１１００，１２００，１３００，１４００，１５００，１６００，１７００と記述する）によりＲＰＲネットワーク３０００を構成した上で、各ＲＰＲノード１０００，１１００，１２００，１３００，１４００，１５００，１６００，１７００それぞれの配下に端末２０００，２１００，２２００，２３００，２４００，２５００，２６００，２７００それぞれを収容した例である。
【０００９】
ＲＰＲの特徴として障害回復時間の短い高速のプロテクション機能が知られている。
【００１０】
例えば、ＲＰＲノード間のリンクが切断されたとしても、そのリンクの両側のＲＰＲノードが切断を検出した直後に、即座に他の全てのＲＰＲノードにその旨を通知する。障害発生の通知を受信した他のＲＰＲノードは、リンクの切断箇所を迂回するように、トラフィックを送信する動作状態に遷移する。そのため、通信を続行することが可能である。
【００１１】
ＲＰＲは、都市網のように、大容量のトラフィックが流れる基幹系通信システムへの採用を前提として、従来のＳＤＨ又はＳＯＮＥＴと同等の５０ミリ秒以内の短時間で通信を回復するように設計されている。そのため、信頼性の高い通信システムを構築することが可能である。
（ＲＰＲのプロテクション方式の障害復旧の動作）
以降では、ＩＥＥＥ８０２．１７に開示されているプロテクション方式の障害発生時における動作を、図１２に示すＲＰＲネットワーク３０００を構成するＲＰＲノード１０００，１１００，１２００，１３００，１４００，１５００，１６００，１７００の動作を例に詳細に説明する。
（一般的なＲＰＲノードのノード構成）
図１３は、図１２に示した通信システムにおけるＲＰＲノード１０００のノード構成を示すブロック図である。
【００１２】
以降では、ＲＰＲノード１０００のノード構成のみを説明するが、ＲＰＲノード１１００，１２００，１３００，１４００，１５００，１６００，１７００のノード構成についても、ＲＰＲノード１０００のノード構成と同様である。
【００１３】
図１３に示すように、ＲＰＲノード１０００は、入力ポート５００−１〜５００−３と、フレーム解析部５１０−１〜５１０−２と、ＲＰＲスイッチ処理部５２０と、フレーム多重部５３０−１〜５３０−２と、出力ポート５４０−１〜５４０−３と、ポート状態監視部５５０と、トポロジ解析部５６００と、ＴＤＢ５７００と、ＭＡＣアドレス管理テーブル５８０とを備えて構成される。
【００１４】
ＲＰＲノード１０００の入力ポート５００−１〜５００−３は、図１２におけるＲＰＲノード１０００のポートＰ１〜Ｐ３の受信側に対応しており、隣接のＲＰＲノードから送信されるＲＰＲフレーム、又は、配下の端末から送信されるデータフレームを受信するポートである。
【００１５】
具体的には、ＲＰＲノード１０００の入力ポート５００−１は、ＲＰＲノード１１００の出力ポート５４０−２から送信されるＲＰＲフレームを受信するポートである。
【００１６】
また、ＲＰＲノード１０００の入力ポート５００−２は、ＲＰＲノード１７００の出力ポート５４０−１から送信されるＲＰＲフレームを受信するポートである。
【００１７】
また、ＲＰＲノード１０００の入力ポート５００−３は、ＲＰＲノード１０００の配下の端末２０００から送信されるデータフレームを受信するポートである。
【００１８】
ＲＰＲノード１０００のフレーム解析部５１０−１〜５１０−２は、入力ポート５００−１〜５００−３にて受信されたフレームを識別し、トポロジ情報を管理するためのＴｏｐｏｌｏｇｙ  Ｐｒｏｔｅｃｔｉｏｎフレーム（トポロジ情報管理フレーム、以下、ＴＰフレームと記述する）をＲＰＲノード１０００のトポロジ解析部５６００に送り、また、それ以外のＲＰＲフレームをＲＰＲノード１０００のＲＰＲスイッチ処理部５２０に送る。
【００１９】
図１４は、図１３に示したフレーム解析部５１０−１〜５１０−２が実行する処理を説明するためのフローチャートである。
【００２０】
まず、フレーム解析部５１０−１〜５１０−２における受信ＲＰＲフレームがＴＰフレームであるかどうかを判断する（ステップＳ１０１）。
【００２１】
ステップＳ１０１にて受信ＲＰＲフレームがＴＰフレームではないと判断した場合、ＲＰＲスイッチ処理部５２０へ当該ＲＰＲフレームを送信する（ステップＳ１０２）。
【００２２】
ステップＳ１０１にて受信ＲＰＲフレームがＴＰフレームであると判断した場合、トポロジ解析部５６００へ当該ＴＰフレームを送信する（ステップＳ１０３）。
【００２３】
ＴＰフレームは、ＩＥＥＥ８０２．１７で定義されている制御フレームであって、ＲＰＲノードが保持している情報を他のＲＰＲノードに通知するために、各ＲＰＲノードがＩＥＥＥ８０２．１７に定められた時間周期で広告するＲＰＲフレームである。
【００２４】
ＲＰＲノード１０００のＲＰＲスイッチ処理部５２０は、ＩＥＥＥ８０２．１７において定義されているＲＰＲに関する様々な処理を行う。
【００２５】
ＲＰＲノード１０００のＲＰＲスイッチ処理部５２０が行う処理の例として、隣接ＲＰＲノードから受信したＲＰＲフレームの転送、ＦａｉｒｎｅｓｓによるＲＰＲネットワーク３０００上のトラフィックの通信帯域の動的制御、ＯＡＭ（Ｏｐｅｒａｔｉｏｎｓ，Ａｄｍｉｎｉｓｔｒａｔｉｏｎ，Ｍａｉｎｔｅｎａｎｃｅ）によるＲＰＲネットワーク３０００の運用管理、端末から受信したデータフレームによるＲＰＲフレームの生成、ＲＰＲフレームに格納されたデータフレームの抽出と端末への送信等がある。
【００２６】
以降では、上述のＲＰＲスイッチ処理部５２０の処理の詳細については、本発明の動作に深く関わる動作を除いて省略する。
【００２７】
ＲＰＲノード１０００のフレーム多重部５３０−１〜５３０−２は、ＲＰＲノード１０００のＲＰＲスイッチ処理部５２０から送られたＲＰＲフレームとトポロジ解析部５６００から送られたＴＰフレームとを多重した上で、ＲＰＲノード１０００の出力ポート５４０−１〜５４０−２から送信する。
【００２８】
ＲＰＲノード１０００の出力ポート５４０−１〜５４０−３は、図１２におけるＲＰＲノード１０００のポートＰ１〜Ｐ３の送信側に対応しており、隣接のＲＰＲノード、又は、配下の端末にＲＰＲフレーム、又は、イーサネットフレームを送信するポートである。
【００２９】
具体的には、ＲＰＲノード１０００の出力ポート５４０−１は、ＲＰＲノード１１００の入力ポート５００−２にＲＰＲフレームを送信するポートである。
【００３０】
また、ＲＰＲノード１０００の出力ポート５４０−２は、ＲＰＲノード１７００の入力ポート５００−１にＲＰＲフレームを送信するポートである。
【００３１】
また、ＲＰＲノード１０００の出力ポート５４０−３は、ＲＰＲノード１０００の配下の端末にイーサネットフレームを送信するポートである。
【００３２】
ＲＰＲノード１０００のポート状態監視部５５０は、ＲＰＲノード１０００の入力ポート５００−１〜５００−２及び出力ポート５４０−１〜５４０−２の接続状態を、ＲＰＲノード１０００のトポロジ解析部５６００に通知する。
【００３３】
接続状態とは、そのポートに接続される隣接のＲＰＲノードと通信可能か否かを表し、隣接のＲＰＲノードと通信可能な接続状態をノーマル状態と呼び、また、通信不可能な接続状態をエッジ状態と呼ぶ。
【００３４】
ＲＰＲノード１０００のトポロジ解析部５６００は、ＩＥＥＥ８０２．１７に記載されているＴｏｐｏｌｏｇｙ  Ｄｉｓｃｏｖｅｒｙ  Ｐｒｏｔｏｃｏｌに基づいて、ＲＰＲネットワーク３０００のトポロジ状態を管理する。
【００３５】
トポロジ状態とは、ＲＰＲネットワークを構成するＲＰＲノードの数、各ＲＰＲノードの位置、障害発生状況、各ＲＰＲノードの設定等のＲＰＲネットワークに関する様々な情報の総体により表され、トポロジ状態を参照することによりＲＰＲネットワーク上の切断されているリンクの位置やダウンしているＲＰＲノードの位置等を知ることができる。
【００３６】
図１５は、図１３に示したトポロジ解析部５６００の内部構成を示すブロック図である。
【００３７】
以降では、ＲＰＲノード１０００のトポロジ解析部５６００を構成する各処理ブロックを説明する。
【００３８】
ＲＰＲノード１０００のＴＰ（トポロジ）フレーム解析処理部６０００は、ＲＰＲノード１０００のフレーム解析部５１０−１〜５１０−２から受け取ったＴＰフレームを分類する。具体的には、さらに解析処理が必要なＴＰフレームを解析処理用キュー６１０に格納し、それ以外のＴＰフレームを廃棄する。
【００３９】
図１６は、図１５に示したＴＰフレーム解析処理部６０００が実行する処理を説明するためのフローチャートである。処理の詳細については、後述する。
【００４０】
ＲＰＲノード１０００の解析処理用キュー６１０は、解析処理が必要なＴＰフレームを格納するためのバッファメモリである。
【００４１】
ＲＰＲノード１０００のトポロジ解析処理部６２０は、ＲＰＲノード１０００の解析処理用キュー６１０に格納されているＴＰフレームの解析結果、及び、ＲＰＲノード１０００のポート状態監視部５５０から取得したＲＰＲノード１０００のポートＰ１〜Ｐ２の接続状態に基づいて、ＲＰＲネットワーク３０００のトポロジ状態を解析し、その解析結果に基づいてＲＰＲノード１０００のＴＤＢ更新処理部６３０にＲＰＲノード１０００のＴＤＢ５７００の内容を更新するよう指示する。
【００４２】
また、ＲＰＲノード１０００のトポロジ解析処理部６２０は、ＲＰＲネットワーク３０００のトポロジ状態の解析結果に基づいて、ＴＰフレーム送信処理部６４０にＴＰフレームを送信する周期を変更するように指示する。
【００４３】
ＲＰＲノード１０００のＴＤＢ更新処理部６３０は、ＲＰＲノード１０００のトポロジ解析処理部６２０の指示に従って、ＲＰＲノード１０００のＴＤＢ５７００の内容を更新するデータベース更新処理部である。
【００４４】
ＲＰＲノード１０００のＴＰフレーム送信処理部６４０は、ＲＰＲノード１０００のＴＤＢ５７００の内容に従ってＴＰフレームを生成し、予め定められた時間周期でＲＰＲノード１０００のフレーム多重部５３０−１〜５３０−２にＴＰフレームを送る。
【００４５】
ＴＰフレームは、ＲＰＲノード１０００のフレーム多重部５３０−１〜５３０−２において、ＲＰＲノード１０００のＲＰＲスイッチ処理部５２０から送られたフレームと多重された上で、時計回り方向と反時計回り方向との双方にブロードキャスト送信される。
【００４６】
なお、ＲＰＲノード１０００のＴＰフレーム送信処理部６４０がＴＰフレームを送信する時間周期は、後述するように、ＲＰＲノード１０００のトポロジ解析処理部６２０の指示により、一時的に短縮化されることがある。
【００４７】
以上では、ＲＰＲノード１０００のトポロジ解析部５６００を構成する各処理ブロックについて説明した。
【００４８】
以降では、ＲＰＲノード１０００を構成する他の処理ブロックの説明を続ける。
【００４９】
ＲＰＲノード１０００のＴＤＢ（Ｔｏｐｏｌｏｇｙ  ＤａｔａＢａｓｅ）５７００は、ＲＰＲネットワーク３０００のトポロジ状態に関する情報を格納するためのデータベースであって、ＲＰＲノード１０００のトポロジ解析部５６００により管理される。
【００５０】
図１７に示すように、ＲＰＲノード１０００のＴＤＢ５７００は、ＲＰＲネットワーク情報データベース７００と、ＲＰＲノード情報データベース７１０と、リグレット０情報データベース７２００と、リングレット１情報データベース７３００との４個のデータベースにより構成されるデータベースである。
【００５１】
ＲＰＲネットワーク情報データベース７００は、ＲＰＲネットワーク３０００を構成するＲＰＲノードのノード数等のＲＰＲネットワーク３０００全体に関係する情報を格納するためのデータベースである。
【００５２】
ＲＰＲノード情報データベース７１０は、ＲＰＲノード１０００のノード識別子等のＲＰＲノード１０００に関係する情報を格納するデータベースである。
【００５３】
リングレット０情報データベース７２００は、時計回り方向にＲＰＲフレームを転送するリング（リングレット０）上に配置されるＲＰＲノードに関係する情報を格納するデータベースである。
【００５４】
リングレット１情報データベース７３００は、反時計回り方向にＲＰＲフレームを転送するリング（リングレット１）上に配置されるＲＰＲノードに関係する情報を格納するデータベースである。
【００５５】
なお、以降で単にリングレット情報データベースと記述した場合は、リングレット０情報データベース７２００とリングレット１情報データベース７３００との少なくとも一方を意味するものとする。
【００５６】
図１８は、図１７に示したリングレット０情報データベースの構成の一例を示す図であり、図１９は、図１７に示したリングレット１情報データベースの構成の一例を示す図である。
【００５７】
図１８と図１９とにそれぞれ示すリングレット０情報データベース７２００とリングレット１情報データベース７３００とにおいては、ＲＰＲノード１０００からのホップ数と、そのホップ数に配置されているＲＰＲノードのノード識別子と、そのＲＰＲノードのポートＰ１〜Ｐ２のポートの接続状態及びプロテクション状態、その接続状態とプロテクション状態の情報が格納されていたＴＰフレームのシーケンス番号と、リングレット情報データベースのエントリが有効であるか、又は、無効であるかを示す有効性情報が管理されている。
【００５８】
ＩＥＥＥ８０２．１７においては、上述の情報以外の様々な情報も管理されるが、本明細書では簡単のため省略した。
【００５９】
ＲＰＲノード１０００のＭＡＣアドレス管理テーブル５８０は、ＲＰＲノード１０００のノード識別子として割り当てられたＭＡＣアドレスを管理するテーブルであって、通信システムの管理者により管理インタフェースより設定され、ＲＰＲノード１０００のトポロジ解析部５６００により参照される。
【００６０】
また、ＲＰＲノード１０００のノード識別子は、ＲＰＲノード１０００のＲＰＲノード情報データベース７１０にも記憶され、ＲＰＲノード１０００のＲＰＲスイッチ処理部５２０によりＲＰフレームの生成等の様々な処理の実行時に参照される。
（ＲＰＲネットワークのトポロジ状態の取得方法）
ＲＰＲノードは、自身のプロテクションに関係する情報を他のＲＰＲノードに通知するため、ＴＰフレームを一定の時間周期で時計回り方向と反時計回り方向との双方にブロードキャスト送信している。
【００６１】
ＲＰＲノードが送信するＴＰフレームには、各ＲＰＲノードのポートＰ１〜Ｐ２における接続状態とプロテクション状態、シーケンス番号、及び、ＴＴＬ（Ｔｉｍｅ  Ｔｏ  Ｌｉｖｅ）が格納される。
【００６２】
ポートの接続状態には前述のようにノーマル状態とエッジ状態とがあり、ノーマル状態は隣接ノードと通信可能な状態であり、また、エッジ状態はリンクの切断等により隣接ノードとの通信が不可能な状態である。
【００６３】
ポートの接続状態は、ＲＰＲノードのポート状態監視部５５０によりトポロジ解析部５６００に通知される。
【００６４】
プロテクション状態は、ポートの接続状態に基づいてトポロジ解析処理部６２０により決定される。
【００６５】
ＩＥＥＥ８０２．１７においては、プロテクション状態として数種類が定義されているが、ここでは簡単のためアイドル（Ｉｄｌｅ）状態およびＳＦ（Ｓｉｇｎａｌ  Ｆａｉｌ）状態のみを説明する。
【００６６】
アイドル状態は、ポートの接続状態がノーマル状態であって、プロテクションを起動する必要の無い状態である。また、ＳＦ状態は、ポートの接続状態がエッジ状態であって、プロテクションを起動する必要のある状態である。
【００６７】
シーケンス番号は、ポートの接続状態またはプロテクション状態が変更される度に、インクリメントされる番号である。
【００６８】
ＲＰＲノードのＴＰフレーム送信処理部６４０は、ＴＤＢ５７００において、自身のポートＰ１又はＰ２のポートの接続状態またはプロテクション状態が更新されたことを検出すると、以降に生成するＴＰフレームには、検出前のシーケンス番号をインクリメントした値を格納する。
【００６９】
このＴＰフレームを受信した他のＲＰＲノードは、ＴＰフレームのシーケンス番号の変化を確認するだけで、ポートの接続状態またはプロテクション状態の変化を知ることが可能である。
【００７０】
すなわち、シーケンス番号が変化していない場合は、そのＴＰフレームを送信したＲＰＲノードのポートの各状態に変化は無いものとして、それ以上のＴＰフレームの解析処理を中断することにより、ＲＰＲネットワークのトポロジ状態を解析する処理の負荷を軽減することができる。
【００７１】
上記の処理は、ＲＰＲノードのＴＰフレーム解析処理部６０００により、図１６に示すフローチャートに従って実行される。
【００７２】
ＴＴＬはＴＰフレームを中継可能な回数の最大値である。ＴＴＬの初期値は２５５であって、ＲＰＲノードを中継される度にデクリメントされる。従って、ＲＰＲネットワークを構成するＲＰＲノードの最大数は２５５である。ＲＰＲノードは、ＴＴＬの初期値＝２５５とＴＰフレームのＴＴＬの値との差を計算することにより、自ノードからそのＴＰフレームを送信したＲＰＲノードまでのホップ数を取得することができる。
【００７３】
ＲＰＲノードは、自ノードのポートＰ１〜Ｐ２の接続状態とプロテクション状態、及び、他のＲＰＲノードから送信されたＴＰフレームより取得した他のＲＰＲノードのポートＰ１〜Ｐ２の接続状態、プロテクション状態、及び、ＴＴＬから、各ＲＰＲノードの配置や各ＲＰＲノード間のリンクの接続状況を解析することにより、ＲＰＲネットワークのトポロジ状態を取得することができる。
【００７４】
以上のようにして取得したＲＰＲネットワークのトポロジ状態は、ＲＰＲノードのＴＤＢ５７００において管理される。
（障害発生時のＲＰＲノードの動作）
以降では、図１２に示すＲＰＲノード１３００のポートＰ１とＲＰＲノード１４００のポートＰ２とを接続するリンクが切断した場合を例に取り上げて、ＲＰＲのプロテクション方式の動作を詳細に説明する。
【００７５】
ＲＰＲノード１３００のトポロジ解析処理部６２０は、ＲＰＲノード１３００のポート状態監視部５５０からポートＰ１の接続状態がエッジ状態に変化したことを通知されると、ポートＰ１のプロテクション状態をＳＦ状態に変更した上で、ＲＰＲノード１３００のＴＤＢ更新処理部６３０に対して、ＴＤＢ５７００のＲＰＲノード情報データベース７１０におけるＲＰＲノード１３００に関する情報の変更を指示する。
【００７６】
同時に、ＲＰＲノード１３００のトポロジ解析処理部６２０は、ＲＰＲノード１３００とＲＰＲノード１４００とが送信するＴＰフレームが他のＲＰＲノードに迅速かつ確実に受信されるように、正常時のＴＰフレームの送信周期よりも短い送信周期で１０回連続して送信するように、ＲＰＲノード１３００のＴＰフレーム送信処理部６４０に指示する。
【００７７】
この結果、ＲＰＲノード１３００のＴＰフレーム送信処理部６４０は、ＴＰフレームのポートＰ１の接続状態とプロテクション状態とをそれぞれエッジ状態とＳＦ状態とに変更する。また、シーケンス番号をインクリメントした上で、ＴＰフレームを正常時よりも短い時間周期でブロードキャスト送信する。
【００７８】
以上に述べたＲＰＲノード１３００の動作は、ＲＰＲノード１４００においても同様である。
【００７９】
次に、ＲＰＲノード１３００とＲＰＲノード１４００とから送信されたＴＰフレームを受信した他のＲＰＲノードの動作を、ＲＰＲノード１０００がＲＰＲノード１０００のポートＰ１においてＲＰＲノード１３００から反時計回り方向に送信されたＴＰフレームを受信した場合を例として、図１６に示すＴＰフレーム解析処理部６０００が実行する処理のフローチャートを参照して説明する。
【００８０】
ＲＰＲノード１３００から送信されたＴＰフレームは、ＲＰＲノード１０００のポートＰ１で受信されると、ＲＰＲノード１０００のフレーム解析部５１０−１に送られる。
【００８１】
ＲＰＲノード１０００のフレーム解析部５１０−１は、フレームがＴＰフレームであるため、ＲＰＲノード１０００のトポロジ解析部５６００を構成するＴＰフレーム解析処理部６０００にＴＰフレームを送る。
【００８２】
ＲＰＲノード１０００のＴＰフレーム解析処理部６０００は、ＴＰフレームに格納されているシーケンス番号が、ＴＤＢ５７００のリングレット１情報データベース７３００に格納されているＴＰフレームの送信元ＲＰＲノード（ＲＰＲノード１３００）のシーケンス番号と一致しない場合、又は、送信元ノードに関する情報を格納するエントリの有効性情報が無効である場合（図１６のステップＳ１１１のＹｅｓ）、ＲＰＲノード１０００の解析処理用キュー６１０にＴＰフレームを格納し（ステップＳ１１２）、それ以外の場合（ステップＳ１１１のＮｏ）、ＴＰフレームを廃棄する（ステップＳ１１３）。
【００８３】
ＲＰＲノード１０００のトポロジ解析処理部６２０は、ＲＰＲノード１０００の解析処理用キュー６１０に格納されているＴＰフレームの内容に基づいて、ＲＰＲネットワーク３０００のトポロジ状態を解析する。
【００８４】
ＲＰＲノード１０００のトポロジ解析処理部６２０は、ＲＰＲノード１３００のポートＰ１の接続状態がエッジ状態であり、プロテクション状態がＳＦ状態であることから、時計回り方向にＲＰＲノード１４００以降に配置されるＲＰＲノード１４００，１５００，１６００，１７００宛てのデータフレームを転送することが不可能な状態であることを認識すると、ＲＰＲノード１０００のリングレット１情報データベース７３００におけるＲＰＲノード１３００のポートＰ１の接続状態とプロテクション状態、シーケンス番号の更新と、リングレット１情報データベース７３００におけるＲＰＲノード１４００，１５００，１６００，１７００の有効性情報の無効化を、ＲＰＲノード１０００のＴＤＢ更新処理部６３０に指示する。
【００８５】
以上の処理によりＲＰＲノード１０００のＴＤＢ５７００の内容が更新されると、ＲＰＲノード１３００が短い時間周期で送信したＴＰフレームを受信したとしても、ＴＰフレームとＴＤＢ５７００に格納されているシーケンス番号の値とが同一であるため、ＴＰフレームはＲＰＲノード１０００のＴＰフレーム解析処理部６０００により廃棄されるので、再度解析処理を実行する必要は無い。
【００８６】
同様に、ＲＰＲノード１４００から時計回り方向に送信されたＴＰフレームを受信することにより、ＲＰＲノード１０００のリングレット０情報データベース７２００におけるＲＰＲノード１４００のポートＰ２に関する情報が更新されるとともに、ＲＰＲノード１０００のリングレット０情報データベース７２００におけるＲＰＲノード１１００，１２００，１３００に関するエントリの有効性情報が無効化される。
【００８７】
他のＲＰＲノード１１００，１２００，１３００，１４００，１５００，１６００，１７００の動作も同様である。
【００８８】
その後、ＲＰＲノード１０００，１１００，１２００，１３００，１４００，１６００，１７００は、自身のポートＰ１及びＰ２の接続状態の変化または他のノードから受信したＴＰフレームによりトポロジ状態の変化を検出した時刻から所定の時間が経過した後、自身の両隣のＲＰＲノードと（ただし、ＲＰＲノード１３００とＲＰＲノード１４００とは通信可能な隣接ノードとのみ）、互いのノードが認識しているＲＰＲネットワーク３０００のトポロジ状態が同一であることを確認できれば、ＲＰＲネットワーク３０００のトポロジ状態を確定することができる。
【００８９】
なお、ＩＥＥＥ８０２．１７においては、ＲＰＲノード間のトポロジ状態の同一性は、ＴＤＢ５７００に格納されている各ＲＰＲノードのシーケンス番号から演算されるチェックサムの値が一致することにより確認される。
【００９０】
なお、以降では、２台のＲＰＲノードがそれぞれ保持するＲＰＲネットワークのトポロジ状態が同一であることを、互いのＴＤＢの内容が一致すると簡略して記述することもある。
【００９１】
ＲＰＲノード間で互いのトポロジ状態が一致しない場合、どちらかのＲＰＲノードが、ＲＰＲノード１３００又はＲＰＲノード１４００から送信されたＴＰフレームを受信できていない恐れがあるため、さらに所定の時間だけ待った後、再度互いのトポロジ状態が一致するかを確認する。
【００９２】
もし所定の回数だけ確認しても互いのトポロジ状態が一致しない場合は、それらのＲＰＲノードはＲＰＲネットワークのトポロジ状態を確定する処理を中断する。
【００９３】
ＲＰＲノード１３００とＲＰＲノード１４００とについては、障害を検出してからＲＰＲネットワーク３０００のトポロジ状態を確定するまでの期間中、データフレームの送信方向の変更によりデータフレームの到着順序が入れ替わる恐れがある。また、他のＲＰＲノードについては、ＲＰＲノード１３００又はＲＰＲノード１４００のＴＰフレームを受信してからＲＰＲネットワーク３０００のトポロジ状態を確定するまでの期間中は、データフレームの送信方向の変更によりデータフレームの到着順序が入れ替わる恐れがある。そのため、それらはデータフレームの送信を停止しており、ＲＰＲネットワークのトポロジ状態の確定後にデータフレームの送信を再開するようになっている。
【００９４】
従って、上記のように、両隣のＲＰＲノードとトポロジ状態が一致しないために、トポロジ状態を確定する処理を中断すると、そのＲＰＲノードは通信を再開することができなくなるため、通信が停止してしまう。
【００９５】
一方、両隣のＲＰＲノードとＴＤＢの内容とが一致することにより、ＲＰＲネットワークのトポロジ状態が確定されれば、ＲＰＲノードは、データフレームをＲＰＲネットワーク内に送信する際に、ＴＤＢの有効性情報を参照することにより、時計回り方向と反時計回り方向との何れに送出すれば、その宛先ＲＰＲノードまでデータフレームを中継可能であるかを知ることが可能である。そのため、障害発生時も通信を続行することができる。
【００９６】
また、障害を検出したＲＰＲノード以外のＲＰＲノードは、障害を検出したＲＰＲノードから送信されるＴＰフレームをそれぞれ１個受信するだけで、自身のＴＤＢを更新することができる。そのため、ＲＰＲネットワークの新しいトポロジ状態を短時間で確定することが可能であることから、短時間で通信を再開することが可能である。
【００９７】
なお、ＩＥＥＥ８０２．１７において、データフレームの送出時に参照される変数は実際には接続性情報と呼ばれる変数であるが、本発明で対象とする障害に対しては接続性情報と有効性情報とを等価な変数と考えても差し支えない上に、本発明においては有効性情報の取り扱いが重要である。そのため、接続性情報を有効性情報と等価な変数を見なすものとする。
【非特許文献１】“ＲＰＲ（Ｒｅｓｉｌｉｅｎｔ  Ｐａｃｋｅｔ  Ｒｉｎｇ）”、ＩＥＥＥ Ｓｔａｎｄａｒｄｓ  ８０２．１７、ＩＥＥＥ、２００４年
【発明の開示】
【発明が解決しようとする課題】
【００９８】
しかしながら、非特許文献１に開示されるプロテクション方式においては、障害が発生している状態（異常状態、または、異常時）から、障害箇所の修復により障害発生以前の状態（正常状態、または、正常時）に切り戻す際に、長時間に渡って通信が遮断される恐れがあるという問題がある。
【００９９】
また、ＲＰＲネットワークを構成するＲＰＲノード数が増大した場合には、通信の再開が遅れるだけに留まらず、ＲＰＲネットワークのトポロジ状態を確定できないために、ＲＰＲネットワークが停止してしまうという最悪の事態に陥る恐れもある。
【０１００】
それは、ＩＥＥＥ８０２．１７に記載されているプロテクション方式においては、障害が発生した場合は、ＲＰＲノードは障害を検出したＲＰＲノードからのＴＰフレームをそれぞれ１個受信するだけで、自ノードのＴＤＢの更新を完了することができるにも関わらず、切り戻す場合には、ＴＤＢの有効性情報が無効となっている全てのＲＰＲノードから送信されるＴＰフレームを受信し、各ＲＰＲノードの有効性情報を有効化する必要があるため、ＴＰフレームの解析処理の負荷が増大するからである。
（ＲＰＲノードの切り戻しの動作）
以降では、ＩＥＥＥ８０２．１７に準拠したＲＰＲノードが異常状態から正常状態に切り戻す際の動作を、背景技術の項で切断されたＲＰＲノード１３００とＲＰＲノード１４００との間のリンクが修復により再度接続された場合を例にして詳細に説明する。
【０１０１】
ＲＰＲノード１３００のトポロジ解析処理部６２０は、ＲＰＲノード１３００のポート状態監視部５５０よりポートＰ１の接続状態がノーマル状態に変化したことを通知されると、ポートＰ１のプロテクション状態をアイドル状態に変更した上で、ＲＰＲノード１３００のＴＤＢ更新処理部６３０にＴＤＢ５７００における自身のポートＰ１の情報を更新するように指示する。
【０１０２】
以降のＲＰＲノード１３００の動作はリンク切断時の動作と同様であるので省略する。
【０１０３】
また、ＲＰＲノード１４００の動作も上述のＲＰＲノード１３００と同様である。
【０１０４】
次に、ＲＰＲノード１０００，１２００，１５００，１６００，１７００がＲＰＲノード１３００又はＲＰＲノード１４００のＴＰフレームを受信した場合の動作を、ＲＰＲノード１０００がＲＰＲノード１３００から反時計回り方向に送信されたＴＰフレームを受信した場合の動作を例に詳細に説明する。
【０１０５】
ＲＰＲノード１０００が、ＲＰＲノード１３００から反時計回り方向に送信されたＴＰフレームをＲＰＲノード１０００のポートＰ１で受信し、ＲＰＲノード１０００のリングレット１情報データベース７３００におけるＲＰＲノード１３００のポートＰ１の接続状態とプロテクション状態、シーケンス番号を更新する動作については、背景技術の項で述べた通りである。
【０１０６】
しかしながら、リンクの切断時に無効化されたＲＰＲノード１０００のリングレット１情報データベース７３００のエントリのうち、ＲＰＲノード１３００に関するエントリのみを有効化し、他のＲＰＲノード１４００，１５００，１６００，１７００に関するエントリの有効性情報は無効のまま変更しない点が、障害発生時の動作と異なる。
【０１０７】
また、ＲＰＲノード１０００のトポロジ解析処理部６２０が、ＲＰＲネットワーク３０００上のリンクが復旧したことを検出した場合には、ＲＰＲノード１０００のＴＰフレーム送信処理部６４０に対して、通常よりも短い時間周期で１０回だけＴＰフレームを送信するよう指示する点も、障害発生時の動作と異なる。
【０１０８】
ＲＰＲノード１０００が、ＲＰＲノード１３００から時計回り方向に送信されたＴＰフレーム、または、ＲＰＲノード１４００から時計回り方向又は反時計回り方向に送信されたＴＰフレームを受信した場合の動作も同様である。
また、他のＲＰＲノード１１００，１２００，１５００，１６００，１７００の動作も以上に述べたＲＰＲノード１０００の動作と同様である。
【０１０９】
次に、ＲＰＲノードが、障害発生によりＴＤＢのエントリの有効性情報が無効化されたＲＰＲノードから送信されたＴＰフレームを受信した場合の動作を、ＲＰＲノード１５００から反時計回り方向に送信されたＴＰフレームをＲＰＲノード１０００がポートＰ１で受信した場合を例に挙げて説明する。
【０１１０】
ＲＰＲノード１０００のＴＰフレーム解析処理部６０００は、ＲＰＲノード１５００が反時計回り方向に送信したＴＰフレームをＲＰＲノード１０００のポートＰ１で受信すると、障害発生時の場合と同様に、ＴＰフレームのシーケンス番号とＲＰＲノード１０００のリングレット１情報データベース７３００に格納されているＲＰＲノード１５００のシーケンス番号とを比較しても、シーケンス番号の変化を検出できない。そのため、次にリングレット１情報データベース７３００に格納されているＲＰＲノード１５００に関するエントリの有効性情報を参照する。
【０１１１】
ＲＰＲノード１０００のＴＰフレーム解析処理部６０００は、リングレット１情報データベース７３００におけるＲＰＲノード１５００に関するエントリの有効性情報が無効である場合、ＲＰＲノード１０００の解析処理用キュー６１０にＴＰフレームを格納する。また、有効である場合、ＴＰフレームを廃棄する。
【０１１２】
ＲＰＲノード１０００のトポロジ解析処理部６２０は、ＲＰＲノード１０００の解析処理用キュー６１０に格納されたＴＰフレームの内容とＲＰＲノード１０００のリングレット１情報データベース７３００に格納されている内容とが同一であるため、ＲＰＲノード１０００のリングレット１情報データベース７３００におけるＲＰＲノード１５００に関するエントリの有効性情報を有効化する処理のみを、ＲＰＲノード１０００のＴＤＢ更新処理部６３０に指示する。
【０１１３】
同時に、ＲＰＲノード１０００のトポロジ解析処理部６２０は、ＲＰＲノード１０００のＴＰフレーム送信処理部６４０に対して、通常よりも短い時間周期でＴＰフレームを１０回送信するように指示する。
【０１１４】
すなわち、ＲＰＲノードは、切り戻し時には、障害箇所を検出したＲＰＲノードからのＴＰフレームの受信と、障害発生時に有効性情報が無効化されたＲＰＲノードからのＴＰフレームの受信との両方をトリガとして、ＴＰフレームを１０回送信するだけの間、ＴＰフレームの送信周期を短縮する。
【０１１５】
ＲＰＲノード１３００とＲＰＲノード１４００とについては、リンクの復旧を検出してから、所定の時間が経過した後、背景技術の項で述べたように、両隣のＲＰＲノードと互いのＴＤＢの内容が同一であることを確認する。また、他のＲＰＲノードについては、ＲＰＲノード１３００又はＲＰＲノード１４００から送信されたＴＰフレームを受信してから、所定の時間が経過した後、背景技術の項で述べたように、両隣のＲＰＲノードと互いのＴＤＢの内容が同一であることを確認する。それにより、ＲＰＲネットワークのトポロジ状態を確定すれば、障害発生以前の正常状態に戻ることができる。
【０１１６】
ＲＰＲネットワークのトポロジ状態を確定する処理中は、障害発生時と同様に、データフレームの送信方向の変更によりデータフレームの到着順序が入れ替わる恐れがある。そのため、データフレームの送信は停止されており、ＲＰＲネットワークのトポロジ状態の確定後にデータフレームの送信が再開される。
【０１１７】
ところで、以上に説明した切り戻しの動作が行われている間は、障害発生時の動作と比べて、大量のＴＰフレームが短期間に送信されることが分かる。
【０１１８】
というのは、各ＲＰＲノードは、障害発生時には、障害を検出した２台のＲＰＲノードに関するＴＤＢのエントリの有効性情報を有効に変更した場合のみ、ＴＰフレームの送信周期を短縮して送信する処理を実行したが、切り戻し時には、ＴＤＢのエントリの有効性情報が無効であるＲＰＲノードから送信されたＴＰフレームを受信した場合も、ＴＰフレームの送信周期を短縮して送信する処理を実行するからである。
【０１１９】
ＲＰＲノードが切り戻しの動作の開始直後に受信する大量のＴＰフレームのほとんどは、トポロジ解析処理部６２０が解析する必要があるＴＰフレームであるが、解析処理を一度に実行することはできない。そのため、あるＴＰフレームの解析処理を実行している間は、他のＴＰフレームは解析処理用キュー６１０に一時的に保存されることになる。
【０１２０】
このとき、ＲＰＲノードが解析処理用キュー６１０に保存されているＴＰフレームと同一のＴＰフレームを受信すると、このＴＰフレームの解析処理はまだ実行されておらず、ＴＤＢ５７００の内容は更新されていない。そのため、ＴＰフレーム解析処理部６０００は同一のＴＰフレームにも関わらず解析処理が必要なＴＰフレームと判断してしまい、解析処理用キュー６１０に格納してしまう。
【０１２１】
その結果、トポロジ解析処理部６２０の負荷が高まるため、さらに同一のＴＰフレームが解析処理用キュー６１０に格納されるという悪循環が生じる。
【０１２２】
また、解析処理対象のＴＰフレームが増大することにより、解析処理用キュー６１０が溢れてしまった場合、本当に解析処理が必要なＴＰフレームを解析処理用キュー６１０に格納できずに、廃棄してしまう恐れがある。
【０１２３】
このような状態で所定の時間が経過した後、両隣のＲＰＲノードとＴＤＢの内容とを比較した場合、互いのＴＤＢの内容が一致しない。そのため、ＲＰＲネットワークのトポロジ状態を確定する処理を再実行する必要がある。
【０１２４】
すなわち、さらに所定の時間が経過するのを待った後、再度両隣のＲＰＲノードとＴＤＢの内容とが一致するか否かを確認するため、通信が再開される時間が遅延することになる。
【０１２５】
また、解析処理を完了できたＰフレームは、ＲＰＲノード間で一般に異なることが予想されるため、両隣のＲＰＲノードとトポロジ状態を確認する処理がＲＰＲネットワークの随所で何度も再実行される可能性が高い。
【０１２６】
もしトポロジ状態を確定できなければ、トポロジ状態を確定する処理が中断され、その結果、データフレームの送信を再開することができずに、ＲＰＲネットワークが停止する事態となってしまう。
【０１２７】
また、ＲＰＲネットワークを構成するＲＰＲノード数が増大するにつれて、切り戻し時に送信されるＴＰフレームはさらに増大するため、上記の問題はより一層顕著となる。
【０１２８】
上述の問題を解決する最も簡単な方法は、高速のプロセッサを用いてＴＰフレームの解析処理を実行することであるが、この方法はＥｔｈｅｒｎｅｔの低コスト性のメリットを著しく損なうという問題がある。
【０１２９】
本発明の目的は、上述したような従来の技術が有する問題を鑑みてなされたものであって、Ｅｔｈｅｒｎｅｔの長所を保持しながらも、異常状態から正常状態に切り戻す際の通信遮断時間を短縮可能な信頼性の高いネットワークノード、通信システム、ネットワークノードにおける状態切り替え方法およびプログラムを提供することにある。
【課題を解決するための手段】
【０１３０】
上記目的を達成するために本発明は、
情報が格納されて送受信されるパケットである通信フレームをリング状に双方向に転送する２重リングネットワークを構成するネットワークノードであって、
前記２重リングネットワークのトポロジ状態を示す情報を格納するデータベースと、
前記２重リングネットワークを構成する当該ネットワークノード以外のネットワークノードのそれぞれから送信されてきた前記通信フレームのうちトポロジ情報管理フレームを識別するフレーム解析部と、
前記フレーム解析部で識別された前記トポロジ情報管理フレームを分類して出力するトポロジフレーム解析処理部と、
前記トポロジフレーム解析処理部から出力された前記トポロジ情報管理フレームの内容に基づいて前記２重リングネットワークのトポロジ状態を解析するトポロジ解析処理部と、
前記トポロジ解析処理部における解析結果に基づいて、前記データベースに格納された情報を更新するデータベース更新処理部とを備え、
前記トポロジフレーム解析処理部は、前記分類の結果に応じて、前記トポロジ情報管理フレームの内容に基づいて前記データベースに格納された情報を更新する。
【０１３１】
また、通信システムであって、前記ネットワークノードが複数、かつ２重リングネットワーク状に互いに接続されて構成される。
【０１３２】
また、情報が格納されて送受信されるパケットである通信フレームを、リング状に双方向に転送する２重リングネットワークを構成するネットワークノードの状態を切り替える状態切り替え方法であって、
前記２重リングネットワークを構成する当該ネットワークノード以外のネットワークノードのそれぞれから送信されてきた前記通信フレームのうちトポロジ情報管理フレームを識別するステップと、
前記識別された前記トポロジ情報管理フレームに格納された識別番号と当該ネットワークノードが有するデータベースに格納された当該トポロジ情報管理フレームの送信元ネットワークノードの識別番号とを比較するステップと、
前記比較の結果、前記フレーム解析部で識別された前記トポロジ情報管理フレームに格納された識別番号と当該ネットワークノードが有するデータベースに格納された当該トポロジ情報管理フレームの送信元ネットワークノードの識別番号とが一致し、かつ、前記データベースに格納された当該トポロジ情報管理フレームの送信元ネットワークノードの有効性を示す有効性情報が無効を示すものである場合、前記有効性情報を有効を示すものへ更新するステップとを有する。
【０１３３】
また、情報が格納されて送受信されるパケットである通信フレームを、リング状に双方向に転送する２重リングネットワークを構成するネットワークノードに実行させるプログラムであって、
前記２重リングネットワークを構成する当該ネットワークノード以外のネットワークノードのそれぞれから送信されてきた前記通信フレームのうちトポロジ情報管理フレームを識別する手順と、
前記識別された前記トポロジ情報管理フレームに格納された識別番号と当該ネットワークノードが有するデータベースに格納された当該トポロジ情報管理フレームの送信元ネットワークノードの識別番号とを比較する手順と、
前記比較の結果、前記フレーム解析部で識別された前記トポロジ情報管理フレームに格納された識別番号と当該ネットワークノードが有するデータベースに格納された当該トポロジ情報管理フレームの送信元ネットワークノードの識別番号とが一致し、かつ、前記データベースに格納された当該トポロジ情報管理フレームの送信元ネットワークノードの有効性を示す有効性情報が無効を示すものである場合、前記有効性情報を有効を示すものへ更新する手順とを実行させる。
【発明の効果】
【０１３４】
以上説明したように本発明においては、ＲＰＲネットワークが異常状態から正常状態に切り戻る動作において、ＲＰＲネットワークのトポロジ状態を短時間で確定することが可能であるため、通信が遮断される時間を短縮することが可能である。
【発明を実施するための最良の形態】
【０１３５】
以下に、本発明の実施の形態について、図面を参照して詳細に説明する。なお、以下の説明にて用いる図面中、背景技術にて説明した符号と同じ符号を付与した要素については、動作および構造が背景技術にて説明したものと同じものである。
（第１の実施の形態）
（通信システムの構成）
図１は本実施の形態における通信システムの構成である。
【０１３６】
図１に示した通信システムは、８台のＲＰＲに準拠して動作する複数のノード（以下、ＲＰＲノード１００，１１０，１２０，１３０，１４０，１５０，１６０，１７０と記述する）により双方向の通信を行う２重のリングネットワーク状のＲＰＲネットワーク１０を構成した上で、各ＲＰＲノード１００，１１０，１２０，１３０，１４０，１５０，１６０，１７０それぞれの配下に端末２００，２１０，２２０，２３０，２４０，２５０，２６０，２７０それぞれを収容した例である。
（本形態におけるＲＰＲノードの構成）
本実施の形態におけるＲＰＲノードの構成は、一般的なＲＰＲノードと同様に、図２に示すブロック図の通りである。
【０１３７】
図２に示すように、ＲＰＲノード１００は、入力ポート５００−１〜５００−３と、フレーム解析部５１０−１〜５１０−２と、ＲＰＲスイッチ処理部５２０と、フレーム多重部５３０−１〜５３０−２と、出力ポート５４０−１〜５４０−３と、ポート状態監視部５５０と、トポロジ解析部５６０と、ＴＤＢ５７０と、ＭＡＣアドレス管理テーブル５８０とを備えて構成される。
【０１３８】
本実施の形態におけるＲＰＲノードでは、図３に示す構成を有するトポロジ解析処理部５６０が、一般的なＲＰＲノードにおいて図１５に示した構成を有するトポロジ解析処理部５６００と異なる。また、図２に示したデータベースであるＴＤＢ５７０の構造は、図１３に示したＴＤＢ５７００の構造と同じであるが、内部のデータベースに格納されるＲＰＲノード識別子が、ＲＰＲノード１００，１１０，１２０，１３０，１４０，１５０，１６０，１７０のＭＡＣアドレスとなる。
【０１３９】
本実施の形態におけるＲＰＲノードのトポロジ解析処理部５６０においては、ＴＰ（トポロジ）フレーム解析処理部６００が、図１５に示したＴＰフレーム解析処理部６０００が有する機能に加えて、ＴＤＢ更新処理部６３１に対して、ＲＰＲノードのＴＤＢ５７０の内容を更新することを直接指示することができる構成となっている。これは、受信したＴＰフレームを第１〜３のフレームに分類し、それぞれに応じた処理を行う構成である。分類方法については、後述する。また、ＴＤＢ更新処理部６３１は、図１５に示したＴＤＢ更新処理部６３０が有する機能に加えて、トポロジ解析処理部６２０からの指示だけではなく、ＴＰフレーム解析処理部６００からの直接的な指示により、ＴＤＢ５７０の内容を更新する構成となっているデータベース更新処理部である。
（本形態におけるＲＰＲノードの切り戻し時の動作）
以降では、図２及び図３に示すノード構成を有する本発明のＲＰＲノードが、ＲＰＲネットワーク上のリンクが切断から復旧する場合の切り戻しのプロセスにおける動作を、図４に示すＲＰＲノードのＴＰフレーム解析部６００が実行する処理のフローチャートを参照して説明する。
【０１４０】
ＲＰＲノードが切り戻し時にＴＰフレームを受信し、フレーム解析部５１０−１〜５１０−２によりＴＰフレーム解析処理部６００に送られると、ＴＰフレーム解析処理部６００は、自身のＴＤＢ５７０を参照する。それにより、ＴＰフレームに格納されている識別番号であるシーケンス番号とＴＤＢ５７０に格納されているそのＴＰフレームの送信元ネットワークノードである送信元ＲＰＲノードの識別番号であるシーケンス番号とを比較した結果、値が異なる場合には（図４のステップＳ１のＹｅｓ）、当該ＴＰフレームは上述した第１のフレームであると判断して解析処理用キュー６１０にＴＰフレームを格納する（ステップＳ２）。
【０１４１】
値が一致する場合（ステップＳ１のＮｏ）、ＴＰフレーム解析処理部６００は、ＴＤＢ５７０におけるそのＴＰフレームの送信元ＲＰＲノードに関するエントリの有効性情報を調査する。その結果、有効性情報が無効である場合（ステップＳ３のＹｅｓ）、当該ＴＰフレームは上述した第２のフレームであると判断してそのエントリの有効性情報を有効に変更するようにＴＤＢ更新処理部６３１に指示する（ステップＳ４）。
【０１４２】
また、有効性情報が有効である場合（ステップＳ３のＮｏ）、当該ＴＰフレームは上述した第３のフレームであると判断してＴＰフレーム解析処理部６００はそのＴＰフレームを廃棄する（ステップＳ５）。
【０１４３】
以上の処理によれば、シーケンス番号の変化が無いものの、有効性情報を有効化する処理が必要となるＴＰフレームについては、解析処理用キュー６１０及びトポロジ解析処理部６２０を経由することなく、ＴＰフレーム解析処理部６００がＴＤＢ更新処理部６３０にＴＤＢ５７０のエントリの有効化処理を直接指示する。これにより、トポロジ解析処理部６２０の負荷を軽減するとともに、ＴＤＢ５７０の内容を迅速に更新できるため、ＲＰＲネットワークのトポロジ状態を確定する処理に要する時間を短縮可能である。
【０１４４】
また、トポロジ解析処理部６２０の処理負荷が軽減されれば、解析処理用キュー６１０の溢れによるＴＰフレームの廃棄が防止される。これにより、ＲＰＲノード間で互いのＴＤＢの内容が一致するタイミングのばらつきを抑制することができるため、データフレームの送信を早期に再開することが可能である。
【０１４５】
以上に説明したように、本実施の形態によれば、ＲＰＲネットワークのトポロジ状態を確定する時間を短縮することができるため、切り戻し時に通信が遮断される時間を短縮可能な信頼性の高いネットワークを構築することができる。
（第２の実施の形態）
（通信システムの構成）
本実施の形態における通信システムの構成は、第１の実施の形態と同様に、図１に示す通りである。
（本形態におけるＲＰＲノードの構成）
本実施の形態におけるＲＰＲノードの構成は、第１の実施の形態におけるＲＰＲノードと同様に、図２に示すブロック図の通りである。
【０１４６】
ただし、本実施の形態におけるＲＰＲノードは、図５に示すトポロジ解析処理部５６０が有する構成が、第１の実施の形態（図３）におけるトポロジ解析処理部５６０が有する構成と異なる。また、ＴＤＢ更新処理部６３０は、図１５に示した一般的なものである。
【０１４７】
本実施の形態におけるＲＰＲノードのトポロジ解析処理部５６０においては、ＴＰ（トポロジ）フレーム解析処理部６０１がＴＤＢ５７０の内容を直接更新することができる構成となっている。
【０１４８】
また、図６に示すようにＴＤＢ５７０の内部構造が、図１７に示したＴＤＢ５７００の内部構造と異なる。本実施の形態におけるＲＰＲのリングレット情報０データベース７２０及びリングレット情報１データベース７３０は、それぞれ図７又は図８に示す構成を有している点で、第１の実施の形態におけるＲＰＲノードと異なる。
【０１４９】
本実施の形態におけるＲＰＲノードのリングレット０情報データベース７２０及びリングレット情報１データベース７３０においては、有効性情報と同様の意味を有する有効性情報相当の仮有効性情報を格納できる点において、第１の実施の形態におけるＲＰＲノードと異なる。この仮有効性情報は、ＴＰフレーム解析処理部６０１が直接更新可能なものである。
（本形態におけるＲＰＲノードの障害発生時の動作）
従来のＲＰＲノードは、障害発生時にリングレット情報０データベース７２０又はリングレット情報１データベース７３０の有効性情報を無効化する処理を実行したが、本発明のＲＰＲノードは、無効化したエントリの仮有効性情報を無効化する処理も合わせて実行する。
【０１５０】
本発明のＲＰＲノードの障害発生時における動作は、上述の仮有効性情報の無効化処理以外は、背景技術で説明した一般的なＲＰＲノードと同様である。
（本形態におけるＲＰＲノードの切り戻し時の動作）
以降では、図２及び図５に示すノード構成を有する本発明のＲＰＲノードがＲＰＲネットワーク上のリンクが切断から復旧する場合の切り戻しのプロセスにおける動作を、図９に示すＲＰＲノードのＴＰフレーム解析処理部６０１が実行する処理のフローチャートを参照して説明する。
【０１５１】
ＲＰＲノードが切り戻し時にＴＰフレームを受信し、フレーム解析部５１０−１〜５１０−２によりＴＰフレーム解析処理部６０１に送られると、ＴＰフレーム解析処理部６０１は、自身のＴＤＢ５７０のリングレット０情報データベース７２０又はリングレット情報１データベース７３０を参照する。それにより、ＴＰフレームに格納されているシーケンス番号とＴＤＢ５７０に格納されているそのＴＰフレームの送信元ＲＰＲノードのシーケンス番号とを比較した結果、値が異なる場合には（図９のステップＳ１１のＹｅｓ）、解析処理用キュー６１０にＴＰフレームを格納する（ステップＳ１２）。
【０１５２】
値が一致する場合（ステップＳ１１のＮｏ）、ＴＰフレーム解析処理部６０１は、ＴＤＢ５７０におけるそのＴＰフレームの送信元ＲＰＲノードに関するエントリの仮有効性情報を調査する。その結果、仮有効性情報が無効である場合（ステップＳ１３のＹｅｓ）、そのエントリの仮有効性情報を有効に変更した後（ステップＳ１４）、解析処理用キュー６１０にＴＰフレームを格納する（ステップＳ１２）。
【０１５３】
また、仮有効性情報が有効である場合（ステップＳ１３のＮｏ）、ＴＰフレーム解析処理部６０１は、そのＴＰフレームを廃棄する（ステップＳ１５）。
【０１５４】
以上の処理によれば、ＴＤＢ更新処理部６３０において、ＴＰフレーム解析処理部６０１からの指示によるＴＤＢ５７０の更新処理とトポロジ解析処理部６２０からの指示によるＴＤＢ５７０の更新処理が重複することにより、ＴＤＢ５７０の更新処理が遅延することを防止することができる。
【０１５５】
また、ＴＰフレーム解析処理部６０１が参照または変更する情報（仮有効性情報）と、ＴＤＢ更新処理部６３０が変更する情報（有効性情報）とを分離することにより、ＴＤＢ更新処理部６３０とＴＰフレーム解析処理部６０１とがＴＤＢ５７０に同時にアクセスできるため、ＴＤＢ５７０の更新処理に要する時間を短縮可能である。
【０１５６】
本実施の形態によれば、仮有効性情報を導入することにより、ＴＤＢのエントリの有効性情報を迅速に更新することができるため、ＲＰＲネットワークのトポロジ状態を確定する処理に要する時間を短縮可能である。
（第３の実施の形態）
（通信システムの構成）
本実施の形態における通信システムの構成は、第１および第２の実施の形態と同様に、図１に示す通りである。
（本形態におけるＲＰＲノードの構成）
図１０は本実施の形態におけるＲＰＲノードの構成を示すブロック図である。
【０１５７】
本実施の形態におけるＲＰＲノードは、フレーム解析部５１１−１〜５１１−２が、図１３に示したフレーム解析部５１０−１〜５１０−２が有する機能に加えて、ＴＤＢ５７０を直接参照および更新することが可能である点において、図１３に示したＲＰＲノードと異なる。
【０１５８】
また、本実施の形態におけるＲＰＲノードのトポロジ解析部５６０のブロック構成は、第１の実施の形態におけるＲＰＲノードと同様に、図３に示す通りである。
【０１５９】
また、本発明のＲＰＲノードのリングレット０情報データベース７２０およびリングレット１情報データベース７３０の構成は、第２の実施の形態におけるＲＰＲノードと同様に、図７及び図８に示す通りである。
（本形態におけるＲＰＲノードの障害発生時の動作）
本発明のＲＰＲノードの障害発生時における動作は、第２の実施の形態におけるＲＰＲノードと同様に、有効性情報の無効化とともに、仮有効性情報の無効化処理を合わせて実行する点を除いては、第２の実施の形態におけるＲＰＲノードと同様である。
（本形態におけるＲＰＲノードの切り戻し時の動作）
以降では、図３及び図１０に示すノード構成を有する本発明のＲＰＲノードが、ＲＰＲネットワーク上のリンクが切断から復旧する場合の切り戻しのプロセスにおける動作を、図１１に示すＲＰＲノードのフレーム解析部５１１−１〜５１１−２が実行する処理のフローチャートを参照して説明する。
【０１６０】
ＲＰＲノードが切り戻し時にＲＰＲフレームを受信すると、フレーム解析部５１１−１〜５１１−２は、ＲＰＲフレームがＴＰフレームではない場合（図１１のステップＳ２１のＹｅｓ）、ＲＰＲスイッチ処理部５２０にフレームを送る（ステップＳ２２）。
【０１６１】
ＲＰＲフレームがＴＰフレームである場合（ステップＳ２１のＮｏ）、フレーム解析部５１１−１〜５１１−２は、自身のＴＤＢ５７０のリングレット０情報データベース７２０又はリングレット１情報データベース７３０を参照する。それにより、ＴＰフレームに格納されているシーケンス番号とＴＤＢ５７０に格納されているそのＴＰフレームの送信元ＲＰＲノードのシーケンス番号とを比較した結果、値が異なる場合には（ステップＳ２３のＹｅｓ）トポロジ解析部５６０にＴＰフレームを送る（ステップＳ２４）。
【０１６２】
値が一致する場合（ステップＳ２３のＮｏ）、フレーム解析部５１１−１〜５１１−２は、ＴＤＢ５７０におけるそのＴＰフレームの送信元ＲＰＲノードに関するエントリの仮有効性情報を調査する。その結果、仮有効性情報が無効である場合（ステップＳ２５のＹｅｓ）、そのエントリの仮有効性情報を有効に変更した後（ステップＳ２６）、トポロジ解析部５６０にＴＰフレームを送る（ステップＳ２４）。
【０１６３】
以降のトポロジ解析部５６０の動作は、第１の実施の形態で述べた通りである。
【０１６４】
また、仮有効性情報が有効である場合（ステップＳ２５のＮｏ）、フレーム解析部５１１−１〜５１１−２はそのＴＰフレームを廃棄する（ステップＳ２７）。
【０１６５】
以上によれば、第２の実施の形態におけるＲＰＲノードのトポロジ解析部５６０のＴＰフレーム解析部６０１が実行していた処理をフレーム解析部５１１−１〜５１１−２に担当させることができる。
【０１６６】
ＲＰＲノードのトポロジ解析部５６０が実行するＴｏｐｏｌｏｇｙ  Ｄｉｓｃｏｖｅｒｙ  Ｐｒｏｔｏｃｏｌと呼ばれる処理は非常に複雑であることから、通常ソフトウェア処理としてネットワークノードに実装されることが多い。
【０１６７】
しかしながら、そのような構成は柔軟性に富むものの、ハードウェア処理に比べて一般に実行速度が遅いという問題がある。
【０１６８】
そこで、従来ＴＰフレーム解析処理部６００が実行していた比較的単純な処理をハードウェア処理として実装することにより、上記の問題をある程度解決することが可能である。
【０１６９】
また、フレーム解析部５１１−１〜５１１−２は、大量のトラフィックを処理する必要があるため、ハードウェア処理として実装されることが多いため、ＴＰフレーム解析処理部６００の処理をハードウェア処理として実装するのは比較的容易である。
【０１７０】
以上より、本実施の形態によれば、トポロジ状態の解析処理に含まれるＴＰフレームの解析処理を分離し、ＴＰフレームの解析処理をハードウェア処理として実装することが容易なノード構成とすることにより、トポロジ解析処理の負荷を軽減できるとともに、ＴＤＢ５７０の更新処理に要する時間を短縮できるため、切り戻し時の通信遮断時間を短縮することが可能である。
【０１７１】
なお、本実施の形態において、ＲＰＲノードのＴＰフレーム解析処理部６００を実装せずに、フレーム解析部５１１−１〜５１１−２から送られた全てのＴＰフレームを解析処理用キュー６１０に格納するような構成とすることにより、トポロジ解析処理部６２０の負荷が若干増大するものの、ノード構成を簡略化することもできる。
【０１７２】
上記の実施の形態においては、ＲＰＲノードがトポロジ解析部などの各処理部を備える構成として説明したが、ＲＰＲノードがコンピュータと記憶媒体とを予め備えた上で、そのコンピュータが記憶媒体に記憶されたＲＰＲノード用プログラムに従って動作することにより、各処理部と同様の動作を実現する構成であっても良い。ここで記録媒体とは、フロッピーディスク（登録商標）、光磁気ディスク、ＤＶＤ、ＣＤなどの移設可能な記録媒体の他、ＲＰＲノードに内蔵されたＨＤＤ等を指す。
【図面の簡単な説明】
【０１７３】
【図１】本実施の形態における通信システムの構成である。
【図２】図１に示した形態におけるＲＰＲノードのノード構成を示すブロック図である。
【図３】図２に示したトポロジ解析部の構成を示すブロック図である。
【図４】図３に示したＴＰフレーム解析処理部が実行するＴＰフレーム解析処理を説明するためのフローチャートである。
【図５】第２の実施の形態におけるトポロジ解析部の構成を示すブロック図である。
【図６】図５に示したＴＤＢの内部構造を示す図である。
【図７】図６に示したリングレット０情報データベースの構成の一例を示す図である。
【図８】図６に示したリングレット１情報データベースの構成の一例を示す図である。
【図９】図５に示したＴＰフレーム解析処理部が実行するＴＰフレーム解析処理を説明するためのフローチャートである。
【図１０】第３の実施の形態におけるＲＰＲノードのノード構成を示すブロック図である。
【図１１】図１０に示したフレーム解析部が実行するフレーム解析処理を説明するためのフローチャートである。
【図１２】一般的なＲＰＲネットワークを構成する通信システムを示す図である。
【図１３】図１２に示した通信システムにおけるＲＰＲノードのノード構成を示すブロック図である。
【図１４】図１３に示したフレーム解析部が実行する処理を説明するためのフローチャートである。
【図１５】図１３に示したトポロジ解析部の内部構成を示すブロック図である。
【図１６】図１５に示したＴＰフレーム解析処理部が実行する処理を説明するためのフローチャートである。
【図１７】図１３に示したＴＤＢの内部構造を示す図である。
【図１８】図１７に示したリングレット０情報データベースの構成の一例を示す図である。
【図１９】図１７に示したリングレット１情報データベースの構成の一例を示す図である。
【符号の説明】
【０１７４】
１０    ＲＰＲネットワーク
１００，１１０，１２０，１３０，１４０，１５０，１６０，１７０    ＲＰＲノード
２００，２１０，２２０，２３０，２４０，２５０，２６０，２７０    端末
５００−１〜５００−３    入力ポート
５１０−１〜５１０−２，５１１−１〜５１１−２    フレーム解析部
５２０    ＲＰＲスイッチ処理部
５３０−１〜５３０−２    フレーム多重部
５４０−１〜５４０−３    出力ポート
５５０    ポート状態監視部
５６０    トポロジ解析部
５７０    ＴＤＢ
５８０    ＭＡＣアドレス管理テーブル
６００，６０１    ＴＰフレーム解析処理部
６１０    解析処理用キュー
６２０    トポロジ解析処理部
６３０，６３１    ＴＤＢ更新処理部
６４０    ＴＰフレーム送信処理部
７００    ＲＰＲネットワーク情報データベース
７１０    ＲＰＲノード情報データベース
７２０    リングレット０情報データベース
７３０    リングレット１情報データベース
【図１】
2009188525.tif 000003
【図２】
2009188525.tif 000004
【図３】
2009188525.tif 000005
【図４】
2009188525.tif 000006
【図５】
2009188525.tif 000007
【図６】
2009188525.tif 000008
【図７】
2009188525.tif 000009
【図８】
2009188525.tif 000010
【図９】
2009188525.tif 000011
【図１０】
2009188525.tif 000012
【図１１】
2009188525.tif 000013
【図１２】
2009188525.tif 000014
【図１３】
2009188525.tif 000015
【図１４】
2009188525.tif 000016
【図１５】
2009188525.tif 000017
【図１６】
2009188525.tif 000018
【図１７】
2009188525.tif 000019
【図１８】
2009188525.tif 000020
【図１９】
2009188525.tif 000021