(57)【特許請求の範囲】
【請求項１】
ノード装置を相互に接続する伝送路により複数のノード装置がリング状に接続されて構成されたデータ通信ネットワークシステムにおいて、前記複数のノード装置のうちのいずれか１つのノード装置をマスタノード装置とし、他のノード装置をスレーブノード装置とするとき、前記マスタノード装置が自らに接続された前記リング状の伝送路の一方の伝送路に対する伝送フレームの送受信を停止する機能であるブロッキング機能の喪失を検知するネットワーク障害検知方法であって、
前記データ通信ネットワークシステムを構成するスレーブノード装置のうち複数のスレーブノード装置が、
前記リングを形成する伝送路に所定の診断用フレームを所定の時間ごとに送出し、
前記伝送路から前記診断用フレームを受信し、その受信した診断用フレームの送信元が自ノード装置であったときには、前記マスタノード装置が前記ブロッキング機能を喪失していると判定して、前記ブロッキング機能の喪失を検知し、
前記ブロッキング機能の喪失を検知したときには、優先度のデータを含んでなる競合調停用フレームを送出するとともに、他のスレーブノード装置から送出される競合調停用フレームを受信し、その受信した競合調停用フレームに含まれる優先度のデータを、自らが送出した競合調停用フレームに含まれる優先度のデータと比較し、その比較結果に基づき、自らが新たなマスタノード装置になるか、または、スレーブ装置のままでいるかを決定すること
を特徴とするネットワーク障害検知方法。
【請求項２】
前記スレーブノード装置は、
前記診断用フレームを送出するときには、前記診断用フレームの送信元アドレスフィールドの他に、前記診断用フレームのデータフィールドにも自らのアドレス情報を付すこと
を特徴とする請求項１に記載のネットワーク障害検知方法。
【請求項３】
ノード装置を相互に接続する伝送路により複数のノード装置がリング状に接続されて構成され、前記複数のノード装置のうちのいずれか１つのノード装置をマスタノード装置とし、他のノード装置をスレーブノード装置とするデータ通信ネットワークシステムであって、
前記マスタノード装置が、
自らに接続された前記リング状の伝送路の一方の伝送路に対して伝送フレームの送受信を停止する伝送フレームブロッキング手段
を備え、
前記データ通信ネットワークシステムを構成するスレーブノード装置のうち複数のスレーブノード装置が、
前記リングを形成する伝送路に所定の診断用フレームを所定の時間ごとに送出する診断用フレーム送出手段と、
前記伝送路から前記診断用フレームを受信し、その受信した診断用フレームの送信元が自ノード装置であったときには、前記マスタノード装置における前記伝送フレームブロッキング手段がそのブロッキング機能を喪失していると判定して、前記ブロッキング機能の喪失を検知するブロッキング喪失検知手段と、
前記ブロッキング機能喪失検知手段により、前記ブロッキング機能の喪失を検知したときには、優先度のデータを含んでなる競合調停用フレームを送出するとともに、他のスレーブノード装置から送出される競合調停用フレームを受信し、その受信した競合調停用フレームに含まれる優先度のデータを、自らが送出した競合調停用フレームに含まれる優先度のデータと比較し、その比較結果に基づき、自らが新たなマスタノード装置になるか、または、スレーブ装置のままでいるかを決定する動作モード決定手段と、
を備えること
を特徴とするデータ通信ネットワークシステム。
【請求項４】
前記スレーブノード装置は、
前記診断用フレームを送出するときには、前記診断用フレームの送信元アドレスフィールドの他に、前記診断用フレームのデータフィールドにも自らのアドレス情報を付すこと
を特徴とする請求項３に記載のデータ通信ネットワークシステム。
【請求項５】
ノード装置を相互に接続する伝送路により複数のノード装置がリング状に接続されて構成され、前記複数のノード装置のうちのいずれか１つのノード装置をマスタノード装置とし、他のノード装置をスレーブノード装置とするデータ通信ネットワークシステムにおいて、前記スレーブノード装置として用いられるノード装置であって、
前記リングを形成する伝送路に所定の診断用フレームを所定の時間ごとに送出する診断用フレーム送出手段と、
前記伝送路から前記診断用フレームを受信し、その受信した診断用フレームの送信元が自ノード装置であったときには、前記マスタノード装置における前記伝送フレームブロッキング手段がそのブロッキング機能を喪失していると判定して、前記ブロッキング機能の喪失を検知するブロッキング喪失検知手段と、
前記ブロッキング機能喪失検知手段により、前記ブロッキング機能の喪失を検知したときには、優先度のデータを含んでなる競合調停用フレームを送出するとともに、他のスレーブノード装置から送出される競合調停用フレームを受信し、その受信した競合調停用フレームに含まれる優先度のデータを、自らが送出した競合調停用フレームに含まれる優先度のデータと比較し、その比較結果に基づき、自らが新たなマスタノード装置になるか、または、スレーブ装置のままでいるかを決定する動作モード決定手段と、
を備えること
を特徴とするノード装置。
【請求項６】
前記診断用フレームを送出するときには、前記診断用フレームの送信元アドレスフィールドの他に、前記診断用フレームのデータフィールドにも自らのアドレス情報を付すこと
を特徴とする請求項５に記載のノード装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ノード装置が伝送路によりリング状に接続されて構成されたデータ通信ネットワークシステムに好適なネットワーク障害検知方法、ならびに、そのネットワーク障害検知方法を適用したデータ通信ネットワークシステム、および、ノード装置に関する。
【背景技術】
【０００２】
工場や事業所の構内のＬＡＮ（Local Area Network）を構築する場合、しばしば、リング型のデータ通信ネットワークが採用される。ここで、リング型のデータ通信ネットワークとは、複数のノード装置（ルータやスイッチングハブなど）を光ファイバなどの伝送路によってリング状に接続して構成したデータ通信ネットワークをいう。
【０００３】
リング型のデータ通信ネットワークでは、ノード装置間を接続する伝送路のうち１箇所の伝送路に障害が生じた場合であっても、なお、すべてのノード装置間で通信を継続して行うことができる。これはリング型のデータ通信ネットワークの大きな長所となっているが、一方、伝送路に障害がない場合には、ノード装置からリング状に接続された伝送路に伝送フレーム（以下、フレームという）が送出されると、その送出されたフレームは、リング状の伝送路を何回も周回することになる。そこで、フレームの複数周回を防止するために、ブロッキングという概念が導入されている。
【０００４】
ブロッキングは、ノード装置間を接続する伝送路のいずれか１箇所の伝送路に設定され、そのブロッキングが設定された伝送路の伝送機能を喪失させる。従って、ブロッキングが設定されると、リング状の伝送路は、実質的に紐状の伝送路に変換される。紐状の伝送路においては、フレームの複数周回は生じ得ないので、フレームの複数周回を防止することができる。
【０００５】
ところで、伝送路にブロッキングを設定するには、つまり、その伝送路の伝送機能を喪失させるには、例えば、その伝送路に接続されるノード装置がその伝送路に対するフレームの送受信を停止する（ブロッキングする）ようにすればよい。従って、ブロッキングが設定された伝送路に対するフレーム送受信の停止機能（以下、ブロッキング機能という）を担うことになるノード装置は、紐状に変換された伝送路の端に位置するノード装置（以下、端局という）であり、しばしば、マスタ局またはマスタノード装置と呼ばれる。
【０００６】
このようなリング型のデータ通信ネットワークにおいて、マスタノード装置が、何らかの原因によりブロッキング機能を喪失した場合には、紐状に変換された伝送路は、元のリング状の伝送路に戻る。すなわち、このリング型のデータ通信ネットワークは、フレームの複数周回が生じるネットワーク障害の状況に陥る。
【０００７】
そこで、例えば、特許文献１に開示された例においては、マスタノード装置は、ブロッキングによってブロッキングされない管理用フレームを、所定の時間間隔で送出し、その管理用フレームがリング状の伝送路を１周して自ノード装置へ戻ってきたことを検知することにより、リング状の伝送路の健全性を確認する。一方、マスタノード装置でないノード装置（以下、スレーブ局またはスレーブノード装置という）は、マスタノード装置から送信される管理用フレームを監視し、所定の時間以上経過しても、その管理用フレームを受信しなかったときには、自らがマスタノード装置としての動作を開始する。このようにして、マスタノード装置の不在が検知されると、新たなマスタノード装置が設定されるので、フレームの複数周回が防止される。
【特許文献１】特開２００３−２１８８９４号公報（請求項１、請求項１０、段落０００７、段落００１６）
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、特許文献１に開示された例においては、マスタノード装置の不在を検知しているが、マスタノード装置のブロッキング機能の喪失そのものを検知しているわけではない。従って、マスタノード装置が、管理用フレームを所定の時間間隔で送出する機能を有したまま、何らかの原因により、ブロッキング機能を喪失したような場合には、フレームの複数周回を防止することができない。
【０００９】
また、特許文献１に開示された例においては、スレーブノード装置は、管理用フレームの受信を監視し、所定時間以上経過しても受信しなかった場合、マスタノード装置の不在を検知するが、その時間監視の時間待ちがあるため、検知時間をどうしてもその待ち時間以下にすることができない。
【００１０】
以上の従来技術の問題点に鑑み、本発明の目的は、マスタノード装置におけるブロッキング機能の喪失を直接的に検知することができ、かつ、その検知時間を短縮することができるネットワーク障害検知方法、データ通信ネットワークシステムおよびノード装置を提供することにある。
【課題を解決するための手段】
【００１１】
前記目的を達成するために本発明においては、ノード装置は、診断用フレーム送出部とブロッキング喪失検知部を備え、その診断用フレーム送出部により、リング状のデータ通信ネットワークを形成する伝送路に、所定の時間ごとにその診断用フレームを送出するようにし、ブロッキング喪失検出部により、その送出された診断用フレームを受信し、その受信した診断用フレームが自らが送出したものであるのか否かを判定し、自らが送出したものであった場合には、その診断用フレームは、伝送路を１周したものであると判定し、ブロッキングの喪失を検知する。
【００１２】
本発明によれば、スレーブノード装置は、マスタノード装置のブロッキング機能の喪失を直接的に検知するので、確実にそのブロッキング機能の喪失を検知することができる。また、マスタノード装置のブロッキング機能の喪失があった場合には、スレーブノード装置は、送出した診断用フレームがリング状に接続された伝送路を１周して戻って来るだけで、マスタノード装置のブロッキング機能の喪失を検知することができる。この場合、その検知時間は、診断用フレームがリング状に接続された伝送路を１周して戻って来るときの遅れ時間だけであり、従来のように、ある設定時間を待つことがないので、マスタノード装置のブロッキング機能の喪失を検知するのに要する時間を短縮することができる。
【発明の効果】
【００１３】
本発明によれば、マスタノード装置におけるブロッキング機能の喪失を、直接的に検知することができ、かつ、その検知時間を短縮することができるようになる。
【発明を実施するための最良の形態】
【００１４】
以下、本発明の実施形態について、図面を参照して詳細に説明する。
【００１５】
図１は、本発明の実施形態に係るデータ通信ネットワークシステムの構成の例を示した図である。図１に示すように、データ通信ネットワークシステム１は、リング型の双方向の幹線伝送路４ａ，４ｂに、複数のノード装置２（２ａ〜２ｄ）が接続されて構成され、さらに、そのそれぞれのノード装置２には、端末として１つ以上のパソコンなどの計算機３が接続されている。
【００１６】
ここで、ノード装置２（２ａ〜２ｄ）は、スイッチングハブなど、いわゆる、ＬＡＮスイッチ（Ｌ２スイッチ）と呼ばれるものであるが、Ｌ３スイッチやルータであっても構わない。また、図１においては、幹線伝送路４ａ，４ｂに４つのノード装置２が接続されているが、そのノード装置２の数は、「４」に限定されるものではない。
【００１７】
データ通信ネットワークシステム１においては、フレームは、幹線伝送路４ａではＡ方向に沿って伝送され、また、幹線伝送路４ｂではＢ方向に沿って伝送される。このとき、フレームがリング状の幹線伝送路４ａ，４ｂを複数回にわたって伝送されるのを防止するために、例えば、ノード装置２ａとノード装置２ｄとの間にブロッキングＢＬが設けられる。
【００１８】
ブロッキングＢＬが設けられた部分の幹線伝送路４ａ，４ｂは、物理的には接続された伝送路のままであり、ブロッキングＢＬが設けられても変わりがないが、論理的にフレームの通過がブロッキングされる。従って、論理的には、リング状の幹線伝送路４ａ，４ｂは、ブロッキングＢＬで分断されて、ノード装置２ａおよびノード装置２ｄを端局とする紐状の伝送路となる。この場合、ノード装置２ａとノード装置２ｄとの間で送受信されるフレームは、遠くなるが、ノード装置２ｂおよびノード装置２ｃを経由して伝送されることになる。
【００１９】
ブロッキングＢＬを実現するには、端局であるノード装置２ａおよびノード装置２ｄが、ブロッキングＢＬが設定された幹線伝送路４ａ，４ｂの部分に対し、フレームの送出を停止すればよい。逆にいえば、隣接する２つのノード装置２が、その２つのノード装置２を接続する伝送路に対し、それぞれフレームの送出を停止することによってブロッキングＢＬが設定される。以下、本実施形態では、ノード装置２がブロッキングＢＬが設定される伝送路に対し、フレームの送出を停止する機能をブロッキング機能という。
【００２０】
ところで、端局であるノード装置２ａおよびノード装置２ｄの一方は、しばしば、マスタノード装置と呼ばれ、また、他のノード装置２は、スレーブノード装置と呼ばれる。図１では、Ａ方向の伝送路の終端となるノード装置２ａをマスタノード装置としている。なお、マスタノード装置は、一般的には、当該リング型ネットワーク（図１では、データ通信ネットワークシステム１）の構成やノード装置のアドレスなどを管理する機能を備えるが、本実施形態ではそれを考慮しないものとする。
【００２１】
図１の場合、Ａ方向の幹線伝送路４ａのブロッキング機能は、ノード装置２ａが担うが、Ｂ方向の幹線伝送路４ｂのブロッキング機能は、ノード装置２ｄが担う。このようにして、幹線伝送路４ａ，４ｂのある部分に対し、ブロッキングＢＬを設定した場合には、そのブロッキングを担うノード装置２ａ，２ｄは、一方の方向のフレームの送出を停止するだけでなく、実質的には、その伝送路部分に対してフレームの送受信が停止されることになる。
【００２２】
以下、本実施形態では、特に断らない限り、ブロッキング機能を有するノード装置をマスタノード装置と呼ぶ。従って、図１の場合、Ａ方向の幹線伝送路４ａのマスタノード装置は、ノード装置２ａであり、Ｂ方向の幹線伝送路４ｂのマスタノード装置は、ノード装置２ｄである。また、以下、ノード装置の動作の説明では、その説明を簡単にするために、Ｂ方向の幹線伝送路４ｂおよびそのマスタノード装置についての説明を省略する。
【００２３】
図２は、本実施形態に係るノード装置２の内部構成の例を示した図である。図２に示すように、ノード装置２は、２つの幹線ポート制御部２０、４つの支線ポート制御部２１、ポート間接続制御部２２、障害検知制御部２３などの機能ブロックを含んで構成される。図２では、ノード装置２に４つの支線ポート制御部２１が設けられているが、その数は、４つに限定されるものではない。
【００２４】
このとき、２つの幹線ポート制御部２０は、ポート入力端子２４およびポート出力端子２５を介して、幹線伝送路４に接続されている。また、４つの支線ポート制御部２１は、それぞれ、ポート入力端子２４およびポート出力端子２５を介して、支線ａ〜ｄの伝送路に接続されている。そして、支線ａ〜ｄの伝送路の先には、図示しない計算機３（図１参照）が接続されている。
【００２５】
図２において、幹線ポート制御部２０は、ポート入力端子２４側に受信フレームバッファ２０１、受信フレーム制御部２０２などを備え、また、ポート出力端子２５側に送信フレームバッファ２０３、送信フレーム制御部２０４などを備える。
【００２６】
受信フレーム制御部２０２は、ポート入力端子２４から入力される伝送フレームの信号を受信し、同期化し、所定のフォーマットのフレームに復元する。また、受信フレーム制御部２０２は、復元したフレームの中から宛先アドレス、送信元アドレス、伝送対象のデータなどを、適宜、抽出するとともに、その復元したフレームを受信フレームバッファ２０１に格納する。ここで、受信フレームバッファ２０１は、受信、復元されたフレームを一時記憶するメモリである。
【００２７】
一方、送信フレームバッファ２０３は、送信すべきフレームを一時記憶するメモリである。また、送信フレーム制御部２０４は、送信フレームバッファ２０３に格納され、送信待ちになっているフレームを、ポート出力端子２５を介して幹線伝送路４へ送出する。また、送信フレーム制御部２０４は、障害検知制御部２３などからの指示に従って、適宜、診断用フレームなどのネットワーク管理用フレームを送出する。
【００２８】
ポート間接続制御部２２は、ルーティングテーブル２２１を含んで構成され、そのルーティングテーブル２２１には、例えば、それぞれの幹線ポート制御部２０または支線ポート制御部２１に対応させて、その幹線ポート制御部２０または支線ポート制御部２１が接続される伝送路の先に接続されている他のノード装置２または計算機３のＭＡＣ（Media Access Control）アドレスなどが登録される。
【００２９】
そこで、あるポート入力端子２４から入力されたフレームが、そのポート入力端子２４が接続された幹線ポート制御部２０または支線ポート制御部２１の受信フレームバッファ２０１に格納されると、ポート間接続制御部２２は、そのフレームに含まれている宛先アドレスに基づき、ルーティングテーブル２２１を参照して、転送先の幹線ポート制御部２０または支線ポート制御部２１を決定する。そして、受信フレームバッファ２０１に格納されているフレームを読み出し、その読み出したフレームを、先に決定した幹線ポート制御部２０または支線ポート制御部２１の送信フレームバッファ２０３に格納する。
【００３０】
なお、図１におけるＡ方向の端局つまりマスタノード装置（ノード装置２ａ）の場合には、そのルーティングテーブル２２１では、ブロッキングが設定された幹線伝送路４ａ，４ｂに接続される幹線ポート制御部２０に対して登録される他のノード装置２のアドレスは、存在しない。従って、その幹線ポート制御部２０の送信フレームバッファ２０３に他の幹線ポート制御部２０または支線ポート制御部２１からフレームが転送されることはなく、よって、ブロッキングが設定された幹線伝送路４ａ，４ｂに対し、フレームが送出されることはない。この事情は、Ｂ方向の端局（ノード装置２ｂ）の場合も、同様である。
【００３１】
次に、障害検知制御部２３は、データ通信ネットワークシステム１（図１参照）においてブロッキングＢＬが喪失するという障害を検出する。ブロッキングＢＬが喪失すると、フレームがリング状の幹線伝送路４ａ，４ｂを複数回、さらに放置すれば、無限回周回することになるので、幹線伝送路４の伝送帯域が圧迫されることになる。そこで、障害検知制御部２３は、ブロッキングＢＬが喪失する障害を検知し、その解決を図る。
【００３２】
障害検知制御部２３は、診断用フレーム送出部２３１、ブロッキング喪失検知部２３２、マスタ競合調停部２３３、動作モード管理部２３４、ブロッキング制御部２３５などのサブ機能ブロックを含んで構成される。なお、これらのサブ機能ブロックの動作については後記するが、このような構成を有する障害検知制御部２３は、ＣＰＵ（Central Processing Unit）とメモリとを備えたマイクロプロセッサ（図示せず）などによって実現することができる。その場合、障害検知制御部２３を構成するサブ機能ブロックの動作は、前記ＣＰＵがメモリに格納された所定のプログラムを実行することによって実現される。
【００３３】
続いて、障害検知制御部２３の動作について詳細に説明する前に、障害検知制御部２３で用いるネットワークの管理用フレームについて説明する。
【００３４】
図３は、ネットワークの管理用フレームの構成の例を示した図であり、（ａ）は、診断用フレームの例、（ｂ）は、競合調停用フレームの例である。これらのフレームの構成において、宛先アドレス、送信元アドレス、フレーム長／タイプ、データ部、および、ＣＲＣ（Cyclic Redundancy Check Code）の各フィールドは、いわゆるイーサネット（登録商標）フレームを構成するフィールドである。
【００３５】
ここで、宛先アドレスおよび送信元アドレスは、ノード装置２または計算機３にそれぞれ割り当てられた物理アドレスであり、いわゆる、ＭＡＣアドレスで表される。ただし、診断用フレームおよびマスタ競合調停用フレームのような管理用フレームの場合には、そのフレームをすべてのノード装置２に送信可能なように、その宛先アドレスには、マルチキャストが指定される。
【００３６】
また、図３の管理用フレームの構成において、タグフィールドは、ＩＥＥＥ８０２．１Ｑの規格に準拠して設けたものである。タグフィールドを利用することにより、いわゆるＶＬＡＮ（Virtual Local Area Network）を実現することができる。また、本実施形態では、タグフィールドを、管理用フレームの種別を識別するのにも利用する。
【００３７】
図３（ａ）に示す診断用フレームは、ブロッキングＢＬの喪失を検知するためのフレームであり、従って、ブロッキングＢＬが設定された伝送路を通過できないフレームであるとする。そして、少なくとも１つのスレーブノード装置が、所定の時間間隔ごとに、宛先アドレスにマルチキャストを指定して、その診断用フレームを幹線伝送路４に送出する。そして、スレーブノード装置は、自らが送出した診断用フレームを自らが受信したときには、その診断用フレームは、幹線伝送路４を１周したことを意味するので、ブロッキングＢＬが喪失されたものと判断する。
【００３８】
なお、図３（ａ）に示すように、診断用フレームのデータ部には、管理フレーム識別情報および送信元アドレスが付されているものとする。ここで、管理フレーム識別情報は、このフレームが診断用フレームであることを示す情報である。また、送信元アドレスは、イーサネット（登録商標）フレームの送信元アドレスと同じものである。
【００３９】
このように、本実施形態では、フレームに同じ情報を２重に付加している。すなわち、送信元アドレスを２重化することにより、伝送誤りなどによって発生し得る診断用フレームの誤検出を防止することができる。当然であるが、送信元アドレスの２重化は、必須ではなく、データ部には送信元アドレスが付されなくてもよい。
【００４０】
また、図３（ｂ）に示すマスタ競合調停用フレームは、ブロッキングＢＬの喪失を検知した後に、マスタ競合の調停を実施するために、ブロッキングＢＬの喪失を検知したスレーブノード装置が送出するフレームである。マスタ競合調停用フレームのデータ部には、管理フレーム識別情報および優先度が付されているものとする。ここで、管理フレーム識別情報は、このフレームがマスタ競合調停用フレームであることを示す情報である。また、優先度は、マスタ競合調停時に用いられる優先順位を示す情報である。
【００４１】
次に、フレームの種別について説明しておく。まず、通常のデータが伝送される場合に用いられるフレームは、ブロッキングＢＬによってその伝送がブロッキングされる。これを第１種のフレームとする。
【００４２】
また、図３（ａ）の診断用フレームは、ブロッキングＢＬによってその伝送がブロッキングされる必要がある。また、診断用フレームは、ブロッキングＢＬが喪失した場合を前提として送出される。ブロッキングＢＬが喪失した状況で診断用フレームを送出すると、診断用フレームが無限に周回することになる。そこで、診断用フレームについては、送出したノード装置が自らに戻ってきたときに、そのフレームの送出を停止するようにする。この種のフレームを第２種のフレームとする。
【００４３】
また、ブロッキングがあってもそのブロッキングを通り抜けるような種別のフレームがあってもよい。この種別のフレームは、フレームの無限周回を防止するために、送出したノード装置が自らに戻ってきたときに、そのフレームの送出を停止するようにする。この種のフレームを第３種のフレームとする。なお、図３（ｂ）のマスタ競合調停用フレームは、この第３種のフレームに分類される。
【００４４】
なお、フレームフォーマットは、図３に示したフレームフォーマットに限定されるものではなく、他のフレームフォーマットであっても構わない。
【００４５】
図２に戻って、障害検知制御部２３の動作について、以下、詳しく説明する。
【００４６】
診断用フレーム送出部２３１は、自ノード装置がスレーブノード装置である場合に、所定の時間、例えば、０．１秒ごとに、図３（ａ）に示した構成を有する診断用フレームを生成し、生成した診断用フレームを幹線伝送路４へ送出する。
【００４７】
すなわち、診断用フレーム送出部２３１の処理は、ノード装置２がスレーブノード装置である場合に、例えば、ノード装置２が内蔵する図示しない周期タイマなどによって起動され、障害検知制御部２３の図示しないＣＰＵ（以下、単にＣＰＵという）によって実行される。ＣＰＵは、まず、前記の診断用フレームを生成し、生成した診断用フレームを送信フレームバッファ２０３に格納し、送信フレーム制御部２０４に対し、幹線伝送路４への診断用フレームの送出を指示する。このとき、診断用フレームの宛先アドレスには、マルチキャストが指定される。
【００４８】
なお、診断用フレーム送出部２３１の処理は、幹線伝送路４によりリング状に接続されたノード装置２のすべてのスレーブノード装置で実行される必要はなく、少なくとも１つのスレーブノード装置で実行されればよい。ただし、ここでは、信頼性向上のために、２つ以上のスレーブノード装置が実行するものとする。
【００４９】
次に、ブロッキング喪失検知部２３２は、自ノード装置がスレーブノード装置である場合に、診断用フレームを受信し、その送信元アドレスが自ノード装置のアドレス（以下、自アドレスという）と同じであったときには、幹線伝送路４のどこかに設定されているはずのブロッキングＢＬが喪失していると判定し、つまり、ブロッキングの喪失を検知し、新たなブロッキングを設定するべく、新しいマスタノード装置決定のためのマスタ競合調停処理を起動する。
【００５０】
図４は、ブロッキング喪失検知部２３２におけるブロッキング喪失検知処理の処理フローの例を示した図である。ブロッキング喪失検知処理は、幹線ポート制御部２０が診断用フレームを受信することによって開始される。ただし、自ノード装置の診断用フレーム送出部２３１が診断用フレームの送出を行わない場合には、ＣＰＵは、以下のブロッキング喪失検知処理を実行する必要がない。
【００５１】
図４に示すように、ＣＰＵは、まず、受信フレームバッファ２０１を参照して、受信した診断用フレームに含まれる送信元アドレスを取得する（ステップＳ０１）。ここで、送信元アドレスは、図３（ａ）に示すように、診断用フレームのアドレスフィールドとデータ部の両方に付されているので、その両者に付されている送信元アドレスを取得する。
【００５２】
次に、ＣＰＵは、その取得した２つの送信元アドレスを自アドレスと比較し、アドレスフィールドの送信元アドレスが自アドレスと同じであり（ステップＳ０２でＹｅｓ）、さらに、データ部の送信元アドレスが自アドレスと同じであったときには（ステップＳ０３でＹｅｓ）、自ノード装置が送出した診断用フレームが幹線伝送路を１周して自ノード装置に戻ってきたことになるので、ブロッキングが喪失している、つまり、マスタノード装置が不在であると判定し、マスタ競合調停処理を開始する（ステップＳ０４）。
【００５３】
一方、アドレスフィールドの送信元アドレスが自アドレスと異なっていたか（ステップＳ０２でＮｏ）、あるいは、データ部の送信元アドレスが自アドレスと異なっていたときには（ステップＳ０３でＮｏ）、受信した診断用フレームは他のノード装置から送出されたものであるので、そのまま処理を終了する。
【００５４】
なお、以上のブロッキング喪失検知処理において、ＣＰＵは、送信元アドレスの判定に用いた診断用フレームについては、その使用後速やかに破棄する。従って、診断用フレームの複数周回が防止される。また、ＣＰＵは、マスタ競合調停処理を開始する前に、診断用フレーム送出部２３１に対し、マスタノード装置が新たに動作を開始するまでの間、診断用フレームの送出を停止させる。それまでの間は、ブロッキングが喪失していることが認識されている状態であるので、診断用フレームの送出は不要だからである。
【００５５】
再び、図２に戻り、説明を続ける。マスタ競合調停部２３３は、ブロッキング喪失検知部２３２によりブロッキング喪失が検知されたとき、つまり、マスタノード装置の不在が検知されたときには、複数のスレーブノード装置がマスタノード装置になろうとするマスタ競合を調停するマスタ競合調停処理を実行する。すなわち、当該ノード装置の立場では、マスタ競合調停処理は、自らが新たなマスタノード装置になるか、または、スレーブノード装置のままでいるかを決定する処理である。
【００５６】
マスタ競合の調停の手順としては、種々のものを想定することができる。例えば、特開２００７−１２９６０６号公報に開示されている調停手順を利用することが可能である。ここでは、その調停方法に準じる形で、ブロッキング喪失時の最も簡便なマスタ競合調停手順について説明する。
【００５７】
図５は、マスタ競合調停部２３３におけるマスタ競合調停処理の処理フローの例を示した図である。マスタ競合調停処理は、ブロッキング喪失検知部２３２によりブロッキング喪失が検知されたとき開始される。
【００５８】
図５に示すように、ＣＰＵは、まず、図３（ｂ）に示した構成を有するマスタ競合調停用フレームを幹線伝送路へ送出する（ステップＳ１１）。すなわち、ＣＰＵは、前記のマスタ競合調停用フレームを生成し、生成したマスタ競合調停用フレームを送信フレームバッファ２０３に格納し、送信フレーム制御部２０４に対し、幹線伝送路へのマスタ競合調停用フレームの送出を指示する。このとき、マスタ競合調停用フレームの宛先アドレスではマルチキャストが指定され、また、そのデータ部には自ノード装置のマスタ競合調停用の優先度が付される。
【００５９】
次に、ＣＰＵは、受信フレーム制御部２０２および受信フレームバッファ２０１から得られる情報に基づき、他のノード装置からのマスタ競合調停用フレームを受信したか否かを判定する（ステップＳ１２）。その判定の結果、他のノード装置からのマスタ競合調停用フレームを受信していた場合には（ステップＳ１２でＹｅｓ）、ＣＰＵは、受信したマスタ競合調停用フレームのデータ部を参照して、その送信元ノード装置の優先度と自ノード装置の優先度とを比較する（ステップＳ１３）。このとき、他の複数のノード装置からのマスタ競合調停用フレームをそれぞれ受信していたときには、そのそれぞれについて優先度を比較する。
【００６０】
その優先度の比較の結果、他のすべてのノード装置の優先度より、自ノード装置の優先度が高かった場合には（ステップＳ１４でＹｅｓ）、ＣＰＵは、動作モード管理部２３４に指示して自ノード装置をマスタノード装置にし（ステップＳ１５）、自ノード装置がマスタノード装置になったことを他のノード装置に知らせるマスタ決定通知用フレームを送信する（ステップＳ１６）。
【００６１】
なお、マスタ決定通知用フレームは、前記した第３種のフレームに分類され、その構成は、診断用フレームと同様である。また、その宛先アドレスには、マルチキャストが指定される。従って、このマスタ決定通知用フレームは、他のすべてのノード装置によって受信され、それを受信したノード装置は、その送信元アドレスによって、どのノード装置がマスタノード装置であるかを知ることができる。
【００６２】
また、ステップＳ１３の判定において、他のノード装置からのマスタ競合調停用フレームを受信しなかった場合には、ＣＰＵは、動作モード管理部２３４に指示して自ノード装置をマスタノード装置にし（ステップＳ１５）、自ノード装置がマスタノード装置になったことを他のノード装置に知らせるマスタ決定通知用フレームを送信する（ステップＳ１６）。
【００６３】
また、ステップＳ１３における優先度の比較の結果、自ノード装置の優先度が、他のいずれかのノード装置の優先度より高くなかった場合には（ステップＳ１４でＮｏ）、ＣＰＵは、そのままマスタ競合調停処理を終了する。すなわち、そのノード装置は、スレーブノード装置であることを継続する。
【００６４】
なお、以上に説明したマスタ競合調停処理において、マスタ競合調停用フレームを送出する（ステップＳ１１）前に、他のノード装置からのマスタ競合調停用フレームを受信していた（ステップＳ１２）場合には、マスタ競合調停用フレームの送出、つまり、ステップＳ１１の実行は不要である。
【００６５】
また、以上に説明したマスタ競合調停処理により実現されるマスタ競合調停手順は、診断用フレームを送出したスレーブノード装置のうち、ブロッキング喪失を検知したスレーブノード装置に対しマスタノード装置になる資格を与え、その資格が与えられたノード装置のうち、最も優先度が高いノード装置がマスタノード装置になるというものである。従って、優先度がいくら高くても、診断用フレームを送出しないノード装置は、マスタノード装置になれない。
【００６６】
そこで、診断用フレームを送出しないノード装置をも含めて最も優先度が高いノード装置がマスタノード装置になれるように変更することは可能である。その場合には、マスタ競合調停用フレームを受信した他のすべてのノード装置は、そのマスタ競合調停用フレームに応答する応答フレームを送出し、その応答フレームに自ノード装置の優先度を付す。そして、各ノード装置は、他のノード装置から送出された応答フレームを受信することにより、他のノード装置の優先度を取得し、自ノード装置の優先度と他のノード装置の優先度とを比較する。このようにして、優先度が最も高いノード装置がマスタノード装置になることができる。
【００６７】
再び、図２に戻り、説明を続ける。動作モード管理部２３４は、ノード装置２の動作モードを管理する。ここで、動作モードとしては、マスタモードとスレーブモードがあり、ノード装置２は、初期状態でスレーブモードが設定され、マスタ競合調停部２３３の指示に従って、マスタモードに遷移させる。
【００６８】
なお、マスタモードとスレーブモードとは、幹線伝送路４ａ，４ｂの方向（Ａ方向またはＢ方向）ごとに設定される。従って、マスタ競合調停部２３３により、その一方の方向（例えば、Ａ方向）についてマスタノード装置が設定された場合には、他の方向（例えば、Ｂ方向）についてのマスタノード装置は、そのとき一方の方向（例えば、Ａ方向）により設定されたブロッキングを含む伝送路によって接続される相手側のノード装置が他の方向（例えば、Ｂ方向）についてのマスタノード装置となる。
【００６９】
また、ブロッキング制御部２３５は、動作モード管理部２３４によりマスタモードが設定された場合には、ルーティングテーブル２２１を、適宜、書き換えることにより、幹線ポート制御部２０または支線ポート制御部２１へ入力されたフレームが、ブロッキングを設定する伝送路に接続される幹線ポート制御部２０へ転送されないようにする。
【００７０】
以上、本実施形態では、スレーブノード装置は、伝送路に設定されたブロッキングでブロッキングされる診断用フレームを送出し、その後、自ら送出した診断用フレームを自ら受信したことを検知するによって、ブロッキングの喪失を直接的に検知する。従って、本実施形態では、診断用フレームがリング状の幹線伝送路４ａ，４ｂを１周さえすれば、ブロッキングの喪失を検知することができる。従って、その検知時間は、診断用フレームがリング状の幹線伝送路４ａ，４ｂを１周する時間に、ＣＰＵがその診断用フレームのアドレスを判定する時間を加えた程度の時間となる。
【００７１】
これに対し、従来技術の場合には、マスタノード装置が送出する管理用フレームの受信を待つわけであるので、その待ち時間は、管理用フレームが幹線伝送路４ａ，４ｂを数周伝送される時間を見込んでおく必要がある。この場合、ＣＰＵの処理時間のほうが、管理用フレームの伝送時間よりも充分小さいので、本実施形態により、ブロッキング喪失の検知時間を短縮することができる。
【図面の簡単な説明】
【００７２】
【図１】本発明の実施形態に係るデータ通信ネットワークシステムの構成の例を示した図。
【図２】本発明の実施形態に係るノード装置の内部構成の例を示した図。
【図３】本発明の実施形態に係るネットワークの管理用フレームの構成の例を示した図。
【図４】ブロッキング喪失検知部におけるブロッキング喪失検知処理の処理フローの例を示した図。
【図５】マスタ競合調停部におけるマスタ競合調停処理の処理フローの例を示した図。
【符号の説明】
【００７３】
１      データ通信ネットワークシステム
２，２ａ，２ｂ，２ｃ，２ｄ  ノード装置
３      計算機
４，４ａ，４ｂ  幹線伝送路
２０    幹線ポート制御部
２１    支線ポート制御部
２２    ポート間接続制御部
２３    障害検知制御部
２４    ポート入力端子
２５    ポート出力端子
２０１  受信フレームバッファ
２０２  受信フレーム制御部
２０３  送信フレームバッファ
２０４  送信フレーム制御部
２２１  ルーティングテーブル
２３１  診断用フレーム送出部
２３２  ブロッキング喪失検知部
２３３  マスタ競合調停部
２３４  動作モード管理部
２３５  ブロッキング制御部
【図１】
0004585560.tif 000002
【図２】
0004585560.tif 000003
【図３】
0004585560.tif 000004
【図４】
0004585560.tif 000005
【図５】
0004585560.tif 000006