(57)【要約】  送信権を持つ通信装置がフレームを送信する通信システムにおける通信装置であって、受信したフレームから、受信したフレームの送信元の通信装置である隣接通信装置が次にフレームを送信するまでの間隔を示す送信間隔の情報を抽出する受信部（１１）と、隣接通信装置から連続して送信されるフレームの受信間隔を計測する受信間隔計測部（１３）と、受信間隔と送信間隔の情報とを比較して、受信間隔の方が大きい場合、隣接通信装置との間の通信において通信障害が発生したことを検出する通信障害検出部（１４）と、を備える。
2017154180.tif 000002
【特許請求の範囲】
【請求項１】
送信権を持つ通信装置がフレームを送信する通信システムにおける前記通信装置であって、
受信したフレームから、前記受信したフレームの送信元の通信装置である隣接通信装置が次にフレームを送信するまでの間隔を示す送信間隔の情報を抽出する受信部と、
前記隣接通信装置から連続して送信されるフレームの受信間隔を計測する受信間隔計測部と、
前記受信間隔と前記送信間隔の情報とを比較して、前記受信間隔の方が大きい場合、前記隣接通信装置との間の通信において通信障害が発生したことを検出する通信障害検出部と、
を備えることを特徴とする通信装置。
【請求項２】
前記受信部は、前記受信したフレームから、フレームの破損チェック用コードであるチェックサムを抽出し、
前記通信障害検出部は、通信障害を検出した場合、前記チェックサムを用いて通信障害が発生した箇所を検出する、
ことを特徴とする請求項１に記載の通信装置。
【請求項３】
自装置からフレームを連続して送信する場合、次にフレームを送信するまでの間隔を示す送信間隔の情報を生成する送信権管理部と、
前記送信権管理部で生成された送信間隔の情報をフレームに格納して送信する送信部と、
を備えることを特徴とする請求項１または２に記載の通信装置。
【請求項４】
トークンフレームを送信する送信部と、
前記トークンフレームを再送信する制御を行うトークン再送信制御部と、
を備え、
前記通信障害検出部は、通信障害を検出した場合、前記トークン再送信制御部に対して前記トークンフレームの再送信を指示する、
ことを特徴とする請求項１または２に記載の通信装置。
【請求項５】
通信障害を検出した通信装置が、通信障害が検出された通信装置を特定する情報である通信障害情報を格納した障害検出フレームを送信した場合に、
前記受信部は、受信した前記障害検出フレームから、前記通信障害情報を抽出し、
前記通信障害検出部は、前記通信障害情報に基づいて、自装置と隣接していない通信装置で通信障害が発生したことを検出する、
ことを特徴とする請求項４に記載の通信装置。
【請求項６】
通信障害が検出された通信装置を特定する情報である通信障害情報を生成する通信障害情報生成部と、
前記通信障害情報を格納した障害検出フレームを送信する送信部と、
を備え、
前記通信障害検出部は、通信障害を検出した場合、前記通信障害情報生成部へ前記通信障害情報の生成を指示する、
ことを特徴とする請求項１または２に記載の通信装置。
【請求項７】
前記受信間隔計測部は、最後にフレームを受信してから、最後に受信したフレームから抽出された送信間隔の情報で示される期間次のフレームを受信できなかった場合、最後にフレームを受信してから前記送信間隔の情報で示される期間が経過した旨を前記通信障害検出部へ通知し、
前記通信障害検出部は、前記送信間隔の情報で示される期間が経過した旨の通知に基づいて、前記隣接通信装置との間の通信において通信障害が発生したことを検出する、
ことを特徴とする請求項１から６のいずれか１つに記載の通信装置。
【請求項８】
請求項４または５に記載の通信装置と、
請求項６に記載の複数の通信装置と、
を備えることを特徴とする通信システム。
【請求項９】
送信権を持つ通信装置がフレームを送信する通信システムにおいて前記通信装置が通信障害を検出する通信障害検出方法であって、
受信部が、受信したフレームから、前記受信したフレームの送信元の通信装置である隣接通信装置が次にフレームを送信するまでの間隔を示す送信間隔の情報を抽出する受信ステップと、
受信間隔計測部が、フレームの受信間隔を計測する計測ステップと、
通信障害検出部が、前記受信間隔と前記送信間隔の情報とを比較して、前記受信間隔の方が大きい場合、前記隣接通信装置との間の通信において通信障害が発生したことを検出する検出ステップと、
を含むことを特徴とする通信障害検出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信システムにおいて通信障害を検出する通信装置、通信システムおよび通信障害検出方法に関する。
【背景技術】
【０００２】
従来、ネットワークを構成する通信システムおいて、ネットワーク内の各ノードが通信可能な状態にあるのか否かを検出する技術が提案されている。特許文献１では、トークンパッシング方式のループ状ネットワークにおいて、通信障害を検出する技術が開示されている。送信権を管理する送信権管理ノードは、設定された時間内にトークンフレームを受信しない場合に通信障害を検出する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平９−２９８５５２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記従来の技術によれば、ネットワーク内のノード数が多くなる程、設定された時間を長くする必要がある。そのため、ノード数の増加によって通信障害を検出するまでの時間が長くなる、という問題があった。【０００５】
本発明は、上記に鑑みてなされたものであって、通信システムを構成する通信装置の数によらず、通信障害検出時間の増加を抑えることができる通信装置を得ることを目的とする。
【課題を解決するための手段】
【０００６】
上述した課題を解決し、目的を達成するために、本発明は、送信権を持つ通信装置がフレームを送信する通信システムにおける通信装置である。通信装置は、受信したフレームから、受信したフレームの送信元の通信装置である隣接通信装置が次にフレームを送信するまでの間隔を示す送信間隔の情報を抽出する受信部を備える。また、通信装置は、隣接通信装置から連続して送信されるフレームの受信間隔を計測する受信間隔計測部を備える。また、通信装置は、受信間隔と送信間隔の情報とを比較して、受信間隔の方が大きい場合、隣接通信装置との間の通信において通信障害が発生したことを検出する通信障害検出部を備えることを特徴とする。
【発明の効果】
【０００７】
本発明にかかる通信装置は、通信システムを構成する通信装置の数によらず、通信障害検出時間の増加を抑えることができる、という効果を奏する。
【図面の簡単な説明】
【０００８】
【図１】実施の形態１にかかる通信システムの構成例を示す図
【図２】実施の形態１にかかる通信システムにおいて通信障害を検出した端末ノードの動作の例を示す図
【図３】実施の形態１にかかるノード間で送受信されるトークンフレームのフォーマットの例を示す図
【図４】実施の形態１にかかるノード間で送受信されるデータフレームのフォーマットの例を示す図
【図５】実施の形態１にかかるノード間で送受信される障害検出フレームのフォーマットの例を示す図
【図６】実施の形態１にかかる送信権管理ノードの構成例を示すブロック図
【図７】実施の形態１にかかる送信権管理ノードの受信間隔計測部において受信間隔を計測する動作を示すフローチャート
【図８】実施の形態１にかかる送信権管理ノードの通信障害検出部において通信障害を検出する動作を示すフローチャート
【図９】実施の形態１にかかる送信権管理ノードの通信障害検出部において通信障害を検出する詳細動作を示すフローチャート
【図１０】実施の形態１にかかる端末ノードの構成例を示すブロック図
【図１１】実施の形態１にかかる端末ノードの受信間隔計測部において受信間隔を計測する動作を示すフローチャート
【図１２】実施の形態１にかかる端末ノードの通信障害検出部において通信障害を検出する動作を示すフローチャート
【図１３】実施の形態１にかかる端末ノードの通信障害検出部において通信障害を検出する詳細動作を示すフローチャート
【図１４】実施の形態１にかかる受信間隔計測部においてタイマによる受信間隔の計測を制御する機能、通信障害検出部、トークン再送信制御部、送信権制御部を専用のハードウェアで構成する場合の例を示す図
【図１５】実施の形態１にかかる受信間隔計測部においてタイマによる受信間隔の計測を制御する機能、通信障害検出部、トークン再送信制御部、送信権制御部をＣＰＵおよびメモリで構成する場合の例を示す図
【図１６】実施の形態２にかかる送信権管理ノードの受信間隔計測部において受信間隔を計測する動作を示すフローチャート
【図１７】実施の形態２にかかる送信権管理ノードの通信障害検出部において通信障害を検出する動作を示すフローチャート
【図１８】実施の形態２にかかる送信権管理ノードの通信障害検出部において通信障害を検出する詳細動作を示すフローチャート
【図１９】実施の形態２にかかる端末ノードの受信間隔計測部において受信間隔を計測する動作を示すフローチャート
【図２０】実施の形態２にかかる端末ノードの通信障害検出部において通信障害を検出する動作を示すフローチャート
【図２１】実施の形態２にかかる端末ノードの通信障害検出部において通信障害を検出する詳細動作を示すフローチャート
【発明を実施するための形態】
【０００９】
以下に、本発明の実施の形態にかかる通信装置、通信システムおよび通信障害検出方法を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
【００１０】
実施の形態１．
図１は、本発明の実施の形態１にかかる通信システム６の構成例を示す図である。通信システム６は、送信権管理ノード１と、端末ノード２Ａ，２Ｂ，２Ｃ，２Ｄと、を備える。以降の説明において、端末ノード２Ａ〜２Ｄを区別しない場合は、端末ノード２と称することがある。また、送信権管理ノード１および端末ノード２Ａ〜２Ｄをまとめてノードと称することがある。各ノードにおいて、自ノードと隣接しているノードを隣接ノードとする。図１の例では、端末ノード２の数を４つとしているが、一例であり、３つ以下または５つ以上でもよい。
【００１１】
送信権管理ノード１は、通信障害などで通信システム６からトークンフレーム３が喪失した場合にトークンフレーム３を再送信する通信装置である。端末ノード２は、自ノードまたは自ノードと接続する計測器により計測されたセンサ情報、または各ノードへの制御データなどのデータをデータフレーム４により送受信する通信装置である。通信システム６において、例えば、送信権管理ノード１はセンサ情報を収集するマスタの通信装置であり、端末ノード２はセンサ情報を送信権管理ノード１へ向けて送信するスレーブの通信装置である。
【００１２】
トークンフレーム３は、通信システム６内を巡回するフレームである。データフレーム４は、センサ情報、または制御データなどのデータを格納するフレームである。以降の説明において、トークンフレーム３、データフレーム４、および後述する障害検出フレームをまとめてフレームと称することがある。
【００１３】
通信システム６は、送信権を持つノードがフレームを送信するネットワークを構成する。通信システム６は、例えば、トークンフレーム３を受けたノードがフレームを送信するトークンパッシング方式のネットワークを構成する。通信システム６では、送信権管理ノード１がネットワーク内にトークンフレーム３を送信し、トークンフレーム３を受けた端末ノード２または送信権管理ノード１がデータフレーム４の送信権を得る。図１に示す通信システム６については、各ノード間をイーサネット（登録商標）などによる有線接続のネットワークを想定しているが、一例であり、各ノード間を無線接続する形態であってもよい。
【００１４】
トークンフレーム３を受けた端末ノード２は、送信権を得てデータフレーム４を送信し、データフレーム４の送信が完了すると、トークンフレーム３を次のノードへ送信する。端末ノード２は、トークンフレーム３の受信順に送信権を獲得し、ノード間の通信を実現している。図１に示す通信システム６の例では、トークンフレーム３、すなわちデータフレーム４を送信できる送信権は、送信権管理ノード１→端末ノード２Ａ→端末ノード２Ｂ→端末ノード２Ｃ→端末ノード２Ｄ→送信権管理ノード１の順に巡回するものとする。
【００１５】
通信システム６では、例えば、トークンフレーム３を受けた端末ノード２Ａは、自ノードで取得したセンサ情報をデータフレーム４により端末ノード２Ｂへ送信する。端末ノード２Ａは、データフレーム４の送信完了後、トークンフレーム３を端末ノード２Ｂへ送信する。トークンフレーム３を受けた端末ノード２Ｂは、自ノードで取得したセンサ情報および端末ノード２Ａから受信した端末ノード２Ａで取得されたセンサ情報をデータフレーム４により端末ノード２Ｃへ送信する。端末ノード２Ｂは、データフレーム４の送信完了後、トークンフレーム３を端末ノード２Ｃへ送信する。トークンフレーム３を受けた端末ノード２Ｃは、自ノードで取得したセンサ情報および端末ノード２Ｂから受信した端末ノード２Ａ，２Ｂで取得されたセンサ情報をデータフレーム４により端末ノード２Ｄへ送信する。端末ノード２Ｃは、データフレーム４の送信完了後、トークンフレーム３を端末ノード２Ｄへ送信する。トークンフレーム３を受けた端末ノード２Ｄは、自ノードで取得したセンサ情報および端末ノード２Ｃから受信した端末ノード２Ａ，２Ｂ，２Ｃで取得されたセンサ情報をデータフレーム４により送信権管理ノード１へ送信する。端末ノード２Ｄは、データフレーム４の送信完了後、トークンフレーム３を送信権管理ノード１へ送信する。このように端末ノード２がセンサ情報を送信することにより、送信権管理ノード１では、各端末ノード２からのセンサ情報を収集することができる。
【００１６】
なお、通信システム６では、各ノードがフレームに格納可能なデータのデータサイズには最大値が設定されているものとする。そのため、最大値よりも大きいデータを送信したいノードは、データを最大値よりも小さいデータサイズに分割し、分割した各データを複数のフレームに格納して送信する。すなわち、各ノードは、分割されたデータが格納された複数のフレームを連続して送信することで、所望のデータサイズのデータを送信することができる。
【００１７】
本実施の形態は、ノード間で複数のデータフレーム４を連続して送受信する場合の通信において、隣接ノードからデータフレーム４を受信するノードが、隣接ノードとの間の通信障害を検出するものである。
【００１８】
図２は、実施の形態１にかかる通信システム６において通信障害を検出した端末ノード２Ｂの動作の例を示す図である。端末ノード２間で正常に通信が行われている場合、図１に示すように、送信権を持つ端末ノード２のみがフレームの送信を行う。一方で、端末ノード２間の通信で通信障害が発生した場合、図２に示すように、通信障害を検出した端末ノード２、ここでは端末ノード２Ｂが、通信障害を検出したことを通知するためフレームである障害検出フレーム５を全てのノードに対して送信、すなわち障害検出フレーム５をブロードキャストで送信する。
【００１９】
障害検出フレーム５を受信した端末ノード２は、障害検出フレーム５を隣接する端末ノード２または送信権管理ノード１へ転送する。このように、通信システム６内を障害検出フレーム５が転送されることによって、送信権管理ノード１は、障害検出フレーム５を受信することができる。送信権管理ノード１は、障害検出フレーム５を受信したことによって、通信システム６内で通信障害が発生したことを検出できるため、通信システム６内にトークンフレーム３を再送信する。通信障害を検出したノードが送信権管理ノード１であった場合、送信権管理ノード１は、障害検出フレーム５を送信することなく、通信システム６内にトークンフレーム３を再送信する。
【００２０】
具体的に、図１および図２の例では、端末ノード２Ａから端末ノード２Ｂへフレームが送信されている場合、端末ノード２Ｂは、端末ノード２Ａから送信されてくるデータフレーム４が遅延しているなどの理由で端末ノード２Ａ，２Ｂ間で通信障害を検出すると、障害検出フレーム５をブロードキャストで送信する。端末ノード２Ｂから障害検出フレーム５を受信した端末ノード２Ｃは、障害検出フレーム５をブロードキャストで転送する。端末ノード２Ｃから障害検出フレーム５を受信した端末ノード２Ｄは、障害検出フレーム５をブロードキャストで転送する。これにより、送信権管理ノード１は、端末ノード２Ｂから送信された障害検出フレーム５を、端末ノード２Ｃ，２Ｄ経由で受信することができる。
【００２１】
なお、図１および図２に示す通信システム６の構成はリング型のネットワーク構成であるが、一例であり、論理的にトークンフレーム３が巡回する構成であれば、スター型またはバス型などのネットワーク構成でもよく、ネットワーク構成に依存しない。
【００２２】
ここで、各フレームのフォーマットについて説明する。各フレームのフォーマットは、ＩＥＥＥ（Institute  of  Electrical  and  Electronic  Engineers）８０２．３などに規定されているイーサネットのフレームフォーマットと同様の構成である。
【００２３】
図３は、実施の形態１にかかるノード間で送受信されるトークンフレーム３のフォーマットの例を示す図である。トークンフレーム３は、宛先３１、送信元３２、フレームデータ長３３、フレーム種別３４、データ部３５、チェックサム３７の領域を含む。宛先３１は、フレームの送信先ノードのアドレスである。送信元３２は、フレームの送信元ノードのアドレスである。フレームデータ長３３は、フレーム全体の長さを示す。フレーム種別３４は、フレームの種別、ここではトークンフレーム３を示す値となる。データ部３５は、トークンフレーム３の経路情報などのデータが格納される。チェックサム３７は、トークンフレーム３の宛先３１からフレーム種別３４のヘッダ部分から算出されるフレームの破損チェック用コードである。
【００２４】
図４は、実施の形態１にかかるノード間で送受信されるデータフレーム４のフォーマットの例を示す図である。データフレーム４は、宛先４１、送信元４２、フレームデータ長４３、フレーム種別４４、データ部４５、送信間隔Ｔ２（４６）、チェックサム４７の領域を含む。宛先４１は、フレームの送信先ノードのアドレスである。送信元４２は、フレームの送信元ノードのアドレスである。フレームデータ長４３は、フレーム全体の長さを示す。フレーム種別４４は、フレームの種別、ここではデータフレーム４を示す値となる。データ部４５は、センサ情報または制御データなどのデータが格納される。送信間隔Ｔ２（４６）は、連続してフレームを送信するノードが次にフレームを送信するまでの送信間隔を示す。チェックサム４７は、データフレーム４の宛先４１からフレーム種別４４のヘッダ部分から算出されるフレームの破損チェック用コードである。
【００２５】
図５は、実施の形態１にかかるノード間で送受信される障害検出フレーム５のフォーマットの例を示す図である。障害検出フレーム５は、宛先５１、送信元５２、フレームデータ長５３、フレーム種別５４、通信障害ノード番号５５、通信障害箇所５６、チェックサム５７の領域を含む。宛先５１は、フレームの送信先ノードのアドレス、ここではブロードキャストとなる。送信元５２は、フレームの送信元ノードのアドレスである。フレームデータ長５３は、フレーム全体の長さを示す。フレーム種別５４は、フレームの種別、ここでは障害検出フレーム５を示す値となる。通信障害ノード番号５５は、通信障害を検出したノードに隣接するノードの番号を示す。通信障害箇所５６は、通信障害がノードで発生したのか通信経路で発生したのかを示す。チェックサム５７は、障害検出フレーム５の宛先５１からフレーム種別５４のヘッダ部分から算出されるフレームの破損チェック用コードである。
【００２６】
つづいて、送信権管理ノード１の構成および動作について説明する。図６は、実施の形態１にかかる送信権管理ノード１の構成例を示すブロック図である。送信権管理ノード１は、受信部１１と、記憶部１２と、受信間隔計測部１３と、通信障害検出部１４と、トークン再送信制御部１５と、送信権制御部１６と、送信部１７と、を備える。
【００２７】
受信部１１は、隣接するノードからトークンフレーム３、データフレーム４、障害検出フレーム５などのフレームを受信する。受信部１１は、各フレームからヘッダなどを除去してデータ部分を抽出する。
【００２８】
受信部１１は、トークンフレーム３を受信した場合、トークンフレーム３からチェックサム３７の情報およびヘッダ部分の情報を抽出して記憶部１２に記憶させる。また、受信部１１は、トークンフレーム３を受信した場合、トークンフレーム３を受信した旨を受信間隔計測部１３および送信権制御部１６へ通知する。
【００２９】
受信部１１は、データフレーム４を受信した場合、データフレーム４から、データフレーム４の送信元のノードである隣接ノードが次にフレームを送信するまでの間隔を示す送信間隔Ｔ２（４６）の情報、チェックサム４７の情報、およびヘッダ部分の情報を抽出して記憶部１２に記憶させる。また、受信部１１は、データフレーム４を受信した場合、データフレーム４を受信した旨を受信間隔計測部１３へ通知する。
【００３０】
受信部１１は、障害検出フレーム５を受信した場合、障害検出フレーム５から通信障害ノード番号５５および通信障害箇所５６を抽出し、通信障害ノード番号５５および通信障害箇所５６をまとめて通信障害情報として受信間隔計測部１３へ出力する。
【００３１】
記憶部１２は、受信部１１において受信したフレームから抽出された、送信間隔Ｔ２（４６）の情報、チェックサム３７，４７の情報、およびヘッダ部分の情報を記憶する。なお、記憶部１２では、フレーム１つ分の送信間隔Ｔ２（４６）の情報、チェックサム３７，４７の情報、およびヘッダ部分の情報を記憶していればよい。そのため、受信部１１は、記憶部１２に送信間隔Ｔ２（４６）の情報、チェックサム３７，４７の情報、およびヘッダ部分の情報を記憶させる場合、既に記憶部１２に送信間隔Ｔ２（４６）の情報、チェックサム３７，４７の情報、およびヘッダ部分の情報が記憶されているときは、上書きで送信間隔Ｔ２（４６）の情報、チェックサム３７，４７の情報、およびヘッダ部分の情報を更新する。
【００３２】
受信間隔計測部１３は、隣接ノードから連続して送信されるフレームの受信間隔を計測する。隣接ノードから連続して送信される複数のフレームは、同一のフレームではなく、内容の異なるフレームとする。具体的に、受信間隔計測部１３は、タイマを備えており、受信部１１においてデータフレーム４またはトークンフレーム３が受信された場合、タイマを使用して前回フレームを受信してから今回フレームを受信するまでの受信間隔を示す受信間隔Ｔ１を計測する。また、受信間隔計測部１３は、受信部１１から通信障害情報が入力された場合は、通信障害情報を通信障害検出部１４へ出力する。なお、受信間隔計測部１３では、受信間隔Ｔ１を計測できるものであれば、タイマ以外のものを用いてもよい。
【００３３】
通信障害検出部１４は、受信間隔計測部１３で計測された受信間隔Ｔ１、記憶部１２に記憶されている送信間隔Ｔ２（４６）などの情報を用いて、自ノードである送信権管理ノード１と隣接ノードとの間の通信障害を検出する。具体的に、通信障害検出部１４は、最新の受信間隔Ｔ１と前回受信したフレームから抽出された送信間隔Ｔ２（４６）とを比較して、最新の受信間隔Ｔ１の方が大きい場合、隣接ノードとの間の通信において通信障害が発生したことを検出する。通信障害検出部１４は、通信障害を検出した場合、記憶部１２に記憶されているチェックサム３７，４７を用いて通信障害が発生した箇所を検出する。また、通信障害検出部１４は、通信障害情報が入力された場合、隣接ノード以外のノードの通信障害を検出する。通信障害検出部１４は、通信障害を検出した場合、トークン再送信制御部１５へトークンフレーム３の再送信を指示する。また、通信障害検出部１４は、通信障害を検出した場合、通信障害を検出した旨を送信権制御部１６へ通知する。
【００３４】
トークン再送信制御部１５は、通信障害検出部１４で通信障害が検出された場合、通信障害検出部１４からのトークンフレーム３の再送信の指示に基づいて、トークンフレーム３を再送信するための制御を行う。トークン再送信制御部１５は、例えば、トークンフレーム３のデータ部３５に格納されるトークンフレーム３の経路情報などのデータを送信部１７へ出力する。
【００３５】
送信権制御部１６は、受信部１１からトークンフレーム３が受信された旨の通知を受けた場合、または通信障害検出部１４において通信障害が検出された旨の通知を受けた場合、送信部１７へフレームの送信を許可する制御を行う。また、送信権制御部１６は、自ノードからデータフレーム４を連続して送信する場合、送信間隔Ｔ２（４６）の情報を生成して送信部１７に通知する。送信権制御部１６は、自ノードから送信するデータフレーム４が１つの場合でも、次にトークンフレーム３を送信するので、送信間隔Ｔ２（４６）の情報を生成して送信部１７に通知する。
【００３６】
送信部１７は、トークン再送信制御部１５からトークンフレーム３の経路情報などのデータを取得した場合、トークン再送信制御部１５の制御により、経路情報などのデータをデータ部３５に格納したトークンフレーム３を生成して隣接ノードへ送信する。また、送信部１７は、送信権制御部１６から送信許可を受けている場合、図示しない制御部などから取得した制御データをデータ部４５に格納し、送信間隔Ｔ２（４６）を格納したデータフレーム４を生成して隣接ノードへ送信する。送信部１７は、データ部３５、データ部４５および送信間隔Ｔ２（４６）などのデータ部分にヘッダなどを付与してフレームを生成する。
【００３７】
つぎに、送信権管理ノード１の受信間隔計測部１３の動作について詳細に説明する。図７は、実施の形態１にかかる送信権管理ノード１の受信間隔計測部１３において受信間隔Ｔ１を計測する動作を示すフローチャートである。
【００３８】
受信間隔計測部１３は、受信部１１からフレーム受信の通知を受けると（ステップＳ１）、受信されたフレームが障害検出フレーム５か否かを確認する（ステップＳ２）。障害検出フレーム５の場合（ステップＳ２：Ｙｅｓ）、受信間隔計測部１３は、受信部１１から入力された障害検出フレーム５の通信障害情報を通信障害検出部１４へ出力する（ステップＳ３）。障害検出フレーム５ではない場合（ステップＳ２：Ｎｏ）、受信間隔計測部１３は、受信間隔Ｔ１を計測するためのタイマが動作中か否かを確認する（ステップＳ４）。タイマが動作していない場合（ステップＳ４：Ｎｏ）、受信間隔計測部１３は、タイマを起動する（ステップＳ５）。
【００３９】
タイマが動作中の場合（ステップＳ４：Ｙｅｓ）、受信間隔計測部１３は、タイマの値を計測、すなわち受信間隔Ｔ１を計測し（ステップＳ６）、計測した受信間隔Ｔ１の情報を通信障害検出部１４へ通知する（ステップＳ７）。受信間隔計測部１３は、受信されたフレームがトークンフレーム３か否かを確認する（ステップＳ８）。トークンフレーム３の場合（ステップＳ８：Ｙｅｓ）、受信間隔計測部１３は、タイマを停止する（ステップＳ９）。トークンフレーム３ではない場合、すなわちデータフレーム４の場合（ステップＳ８：Ｎｏ）、受信間隔計測部１３は、タイマをリセットして再起動する（ステップＳ１０）。なお、受信間隔計測部１３では、タイマを起動すると、トークンフレーム３を受信して（ステップＳ８：Ｙｅｓ）タイマを停止する（ステップＳ９）までは、タイマを継続して動作させているものとする。
【００４０】
つぎに、送信権管理ノード１の通信障害検出部１４の動作について詳細に説明する。図８は、実施の形態１にかかる送信権管理ノード１の通信障害検出部１４において通信障害を検出する動作を示すフローチャートである。
【００４１】
通信障害検出部１４は、受信間隔計測部１３からの通知により受信間隔Ｔ１の情報を取得する（ステップＳ１１）。通信障害検出部１４は、記憶部１２から読み出して送信間隔Ｔ２（４６）の情報を取得する（ステップＳ１２）。通信障害検出部１４は、記憶部１２から読み出してチェックサム３７，４７の情報を取得する（ステップＳ１３）。このとき、通信障害検出部１４は、チェックサム３７，４７の確認用として記憶部１２からヘッダ部分の情報も併せて取得する。通信障害検出部１４は、受信部１１で障害検出フレーム５が受信されていた場合、受信間隔計測部１３経由で通信障害情報を取得する（ステップＳ１４）。通信障害検出部１４は、ステップＳ１１〜Ｓ１４で取得した情報に基づいて通信障害を検出した場合（ステップＳ１５：Ｙｅｓ）、トークン再送信制御部１５へトークンフレーム３の再送信を指示する（ステップＳ１６）。通信障害検出部１４は、通信障害を検出しない場合（ステップＳ１５：Ｎｏ）、処理を終了する。なお、受信部１１で障害検出フレーム５が受信されていない場合はステップＳ１４の処理を省略する。
【００４２】
つぎに、送信権管理ノード１の通信障害検出部１４が通信障害を検出するステップＳ１５の動作について詳細に説明する。図９は、実施の形態１にかかる送信権管理ノード１の通信障害検出部１４において通信障害を検出する詳細動作を示すフローチャートである。
【００４３】
通信障害検出部１４は、通信障害情報を取得している場合、すなわち受信部１１において障害検出フレーム５が受信されている場合（ステップＳ２１：Ｙｅｓ）、自ノードと隣接していないノード、すなわち隣接ノード以外のノードで通信障害が発生していることを検出する（ステップＳ２２）。通信障害検出部１４は、通信障害情報を確認することで、どの端末ノード２で通信障害が発生したかを検出することができる。
【００４４】
通信障害検出部１４は、通信障害情報を取得していない場合、すなわち受信部１１において障害検出フレーム５が受信されていない場合（ステップＳ２１：Ｎｏ）、受信間隔Ｔ１と送信間隔Ｔ２（４６）とを比較する（ステップＳ２３）。受信間隔Ｔ１≦送信間隔Ｔ２（４６）の場合（ステップＳ２３：Ｎｏ）、通信障害検出部１４は、隣接ノードとの間で通信障害は発生していないとして処理を終了する。
【００４５】
受信間隔Ｔ１＞送信間隔Ｔ２（４６）の場合（ステップＳ２３：Ｙｅｓ）、通信障害検出部１４は、隣接ノードとの間で通信障害が発生していることを検出する（ステップＳ２４）。通信障害検出部１４は、ヘッダ部分の情報を用いてチェックサムが正常か否かを確認する（ステップＳ２５）。チェックサムが正常の場合（ステップＳ２５：Ｙｅｓ）、通信障害検出部１４は、隣接ノードと自ノードとの間の通信経路は異常無いとして、通信障害は隣接ノード本体の異常が原因であることを検出する（ステップＳ２６）。チェックサムが異常の場合（ステップＳ２５：Ｎｏ）、通信障害検出部１４は、通信障害は隣接ノードと自ノードとの間の通信経路の異常が原因であることを検出する（ステップＳ２７）。
【００４６】
図９のステップＳ２３：Ｎｏの場合が図８のステップＳ１５：Ｎｏに相当し、図９のその他の場合が図８のステップＳ１５：Ｙｅｓに相当する。
【００４７】
このように、送信権管理ノード１は、隣接ノードから取得した送信間隔Ｔ２（４６）、および隣接ノードから受信したフレームの受信間隔Ｔ１に基づいて、隣接ノードとの間の通信障害を検出することができる。また、送信権管理ノード１は、隣接ノードとの間の通信障害を検出した場合、チェックサムを確認することで、通信障害箇所が隣接ノード本体か通信経路かを検出することができる。また、送信権管理ノード１は、障害検出フレーム５を受信することで、隣接ノード以外の端末ノード２における通信障害を検出することができる。
【００４８】
つづいて、端末ノード２の構成および動作について説明する。端末ノード２Ａ〜２Ｄは同一構成のため、端末ノード２Ａを例にして説明する。図１０は、実施の形態１にかかる端末ノード２Ａの構成例を示すブロック図である。端末ノード２Ａは、受信部２１と、記憶部２２と、受信間隔計測部２３と、通信障害検出部２４と、通信障害情報生成部２５と、送信権制御部２６と、送信部２７と、を備える。
【００４９】
受信部２１は、隣接するノードからトークンフレーム３、データフレーム４、障害検出フレーム５などのフレームを受信する。受信部２１は、各フレームからヘッダなどを除去してデータ部分を抽出する。
【００５０】
受信部２１は、トークンフレーム３を受信した場合、トークンフレーム３からチェックサム３７の情報およびヘッダ部分の情報を抽出して記憶部２２に記憶させる。また、受信部２１は、トークンフレーム３を受信した場合、トークンフレーム３を受信した旨を受信間隔計測部２３および送信権制御部２６へ通知する。
【００５１】
受信部２１は、データフレーム４を受信した場合、データフレーム４から、データフレーム４の送信元のノードである隣接ノードが次にフレームを送信するまでの間隔を示す送信間隔Ｔ２（４６）の情報、チェックサム４７の情報、およびヘッダ部分の情報を抽出して記憶部２２に記憶させる。また、受信部２１は、データフレーム４を受信した場合、データフレーム４を受信した旨を受信間隔計測部２３へ通知する。
【００５２】
受信部２１は、障害検出フレーム５を受信した場合、障害検出フレーム５を送信権制御部２６経由で送信部２７へ転送する。なお、受信部２１は、障害検出フレーム５を直接送信部２７へ転送するようにしてもよい。
【００５３】
記憶部２２は、受信部２１において受信したフレームから抽出された、送信間隔Ｔ２（４６）の情報、チェックサム３７，４７の情報、およびヘッダ部分の情報を記憶する。なお、記憶部２２では、フレーム１つ分の送信間隔Ｔ２（４６）の情報、チェックサム３７，４７の情報、およびヘッダ部分の情報を記憶していればよい。そのため、受信部２１は、記憶部２２に送信間隔Ｔ２（４６）の情報、チェックサム３７，４７の情報、およびヘッダ部分の情報を記憶させる場合、既に記憶部２２に送信間隔Ｔ２（４６）の情報、チェックサム３７，４７の情報、およびヘッダ部分の情報が記憶されているときは、上書きで送信間隔Ｔ２（４６）の情報、チェックサム３７，４７の情報、およびヘッダ部分の情報を更新する。
【００５４】
受信間隔計測部２３は、隣接ノードから連続して送信されるフレームの受信間隔を計測する。隣接ノードから連続して送信される複数のフレームは、同一のフレームではなく、内容の異なるフレームとする。具体的に、受信間隔計測部２３は、タイマを備えており、受信部２１においてデータフレーム４またはトークンフレーム３が受信された場合、タイマを使用して前回フレームを受信してから今回フレームを受信するまでの受信間隔を示す受信間隔Ｔ１を計測する。なお、受信間隔計測部２３では、受信間隔Ｔ１を計測できるものであれば、タイマ以外のものを用いてもよい。
【００５５】
通信障害検出部２４は、受信間隔計測部２３で計測された受信間隔Ｔ１、記憶部２２に記憶されている送信間隔Ｔ２（４６）などの情報を用いて、自ノードである端末ノード２と隣接ノードとの間の通信障害を検出する。具体的に、通信障害検出部２４は、最新の受信間隔Ｔ１と前回受信したフレームから抽出された送信間隔Ｔ２（４６）とを比較して、最新の受信間隔Ｔ１の方が大きい場合、隣接ノードとの間の通信において通信障害が発生したことを検出する。通信障害検出部２４は、通信障害を検出した場合、記憶部２２に記憶されているチェックサム３７，４７を用いて通信障害が発生した箇所を検出する。通信障害検出部２４は、通信障害を検出した場合、通信障害情報生成部２５へ通信障害情報の生成を指示する。また、通信障害検出部２４は、通信障害を検出した場合、通信障害を検出した旨を送信権制御部２６へ通知する。
【００５６】
通信障害情報生成部２５は、通信障害検出部２４で通信障害が検出された場合、通信障害検出部２４からの通信障害情報の生成の指示に基づいて、通信障害が検出されたノードを特定する情報である通信障害情報、すなわち障害検出フレーム５に格納される通信障害ノード番号５５および通信障害箇所５６を生成する。通信障害情報生成部２５は、通信障害情報を送信部２７へ出力する。
【００５７】
送信権制御部２６は、受信部２１からトークンフレーム３が受信された旨の通知を受けた場合、または通信障害検出部２４において通信障害が検出された旨の通知を受けた場合、送信部２７へフレームの送信を許可する制御を行う。また、送信権制御部２６は、自ノードからデータフレーム４を連続して複数回送信する場合、送信間隔Ｔ２（４６）の情報を生成して送信部２７に通知する。送信権制御部２６は、自ノードから送信するデータフレーム４が１つの場合でも、次にトークンフレーム３を送信するので、送信間隔Ｔ２（４６）の情報を生成して送信部２７に通知する。
【００５８】
送信部２７は、通信障害情報生成部２５から通信障害情報を取得した場合、通信障害情報である通信障害ノード番号５５および通信障害箇所５６を格納した障害検出フレーム５を生成してブロードキャストで隣接ノードへ送信する。また、送信部２７は、送信権制御部２６から送信許可を受けている場合、図示しないセンサなどから取得したセンサ情報をデータ部４５に格納し、送信間隔Ｔ２（４６）を格納したデータフレーム４を生成して隣接ノードへ送信する。送信部２７は、通信障害ノード番号５５および通信障害箇所５６、データ部３５、データ部４５および送信間隔Ｔ２（４６）などのデータ部分にヘッダなどを付与してフレームを生成する。
【００５９】
つぎに、端末ノード２Ａの受信間隔計測部２３の動作について詳細に説明する。図１１は、実施の形態１にかかる端末ノード２Ａの受信間隔計測部２３において受信間隔Ｔ１を計測する動作を示すフローチャートである。
【００６０】
受信間隔計測部２３は、受信部２１からフレーム受信の通知を受けると（ステップＳ３１）、受信間隔Ｔ１を計測するためのタイマが動作中か否かを確認する（ステップＳ３２）。タイマが動作していない場合（ステップＳ３２：Ｎｏ）、受信間隔計測部２３は、タイマを起動する（ステップＳ３３）。
【００６１】
タイマが動作中の場合（ステップＳ３２：Ｙｅｓ）、受信間隔計測部２３は、タイマの値を計測、すなわち受信間隔Ｔ１を計測し（ステップＳ３４）、計測した受信間隔Ｔ１の情報を通信障害検出部２４へ通知する（ステップＳ３５）。受信間隔計測部２３は、受信されたフレームがトークンフレーム３か否かを確認する（ステップＳ３６）。トークンフレーム３の場合（ステップＳ３６：Ｙｅｓ）、受信間隔計測部２３は、タイマを停止する（ステップＳ３７）。トークンフレーム３ではない場合、すなわちデータフレーム４の場合（ステップＳ３６：Ｎｏ）、受信間隔計測部２３は、タイマをリセットして再起動する（ステップＳ３８）。なお、受信間隔計測部２３では、タイマを起動すると、トークンフレーム３を受信して（ステップＳ３６：Ｙｅｓ）タイマを停止する（ステップＳ３７）までは、タイマを継続して動作させているものとする。
【００６２】
つぎに、端末ノード２Ａの通信障害検出部２４の動作について詳細に説明する。図１２は、実施の形態１にかかる端末ノード２Ａの通信障害検出部２４において通信障害を検出する動作を示すフローチャートである。
【００６３】
通信障害検出部２４は、受信間隔計測部２３からの通知により受信間隔Ｔ１の情報を取得する（ステップＳ４１）。通信障害検出部２４は、記憶部２２から読み出して送信間隔Ｔ２（４６）の情報を取得する（ステップＳ４２）。通信障害検出部２４は、記憶部２２から読み出してチェックサム３７，４７の情報を取得する（ステップＳ４３）。このとき、通信障害検出部２４は、チェックサム３７，４７の確認用として記憶部２２からヘッダ部分の情報も併せて取得する。通信障害検出部２４は、ステップＳ４１〜Ｓ４３で取得した情報に基づいて通信障害を検出した場合（ステップＳ４４：Ｙｅｓ）、通信障害情報生成部２５へ通信障害情報の生成を指示する（ステップＳ４５）。通信障害検出部２４は、通信障害を検出しない場合（ステップＳ４４：Ｎｏ）、処理を終了する。
【００６４】
つぎに、端末ノード２Ａの通信障害検出部２４が通信障害を検出するステップＳ４４の動作について詳細に説明する。図１３は、実施の形態１にかかる端末ノード２Ａの通信障害検出部２４において通信障害を検出する詳細動作を示すフローチャートである。
【００６５】
通信障害検出部２４は、受信間隔Ｔ１と送信間隔Ｔ２（４６）とを比較する（ステップＳ５１）。受信間隔Ｔ１≦送信間隔Ｔ２（４６）の場合（ステップＳ５１：Ｎｏ）、通信障害検出部２４は、隣接ノードとの間で通信障害は発生していないとして処理を終了する。
【００６６】
受信間隔Ｔ１＞送信間隔Ｔ２（４６）の場合（ステップＳ５１：Ｙｅｓ）、通信障害検出部２４は、隣接ノードとの間で通信障害が発生していることを検出する（ステップＳ５２）。通信障害検出部２４は、ヘッダ部分の情報を用いてチェックサムが正常か否かを確認する（ステップＳ５３）。チェックサムが正常の場合（ステップＳ５３：Ｙｅｓ）、通信障害検出部２４は、隣接ノードと自ノードとの間の通信経路は異常無いとして、通信障害は隣接ノード本体の異常が原因であることを検出する（ステップＳ５４）。チェックサムが異常の場合（ステップＳ５３：Ｎｏ）、通信障害検出部２４は、通信障害は隣接ノードと自ノードとの間の通信経路の異常が原因であることを検出する（ステップＳ５５）。
【００６７】
図１３のステップＳ５１：Ｎｏの場合が図１２のステップＳ４４：Ｎｏに相当し、図１３のその他の場合が図１２のステップＳ４４：Ｙｅｓに相当する。
【００６８】
このように、端末ノード２は、隣接ノードから取得した送信間隔Ｔ２（４６）、および隣接ノードから受信したフレームの受信間隔Ｔ１に基づいて、隣接ノードとの間の通信障害を検出することができる。また、端末ノード２は、隣接ノードとの間の通信障害を検出した場合、チェックサムを確認することで、通信障害箇所が隣接ノード本体か通信経路かを検出することができる。
【００６９】
つづいて、送信権管理ノード１および端末ノード２のハードウェア構成について説明する。送信権管理ノード１および端末ノード２は同様のハードウェア構成により実現されるため、送信権管理ノード１を例にして説明する。送信権管理ノード１において、受信部１１および送信部１７はイーサネットでフレームを送受信するインターフェース回路により実現される。記憶部１２はメモリにより実現される。受信間隔計測部１３において一部の機能はタイマにより実現される。受信間隔計測部１３においてタイマによる受信間隔Ｔ１の計測を制御する機能、通信障害検出部１４、トークン再送信制御部１５、送信権制御部１６は、処理回路により実現される。すなわち、送信権管理ノード１は、受信間隔Ｔ１の計測を制御し、通信障害を検出し、トークンフレーム３の再送信を制御し、フレーム送信を制御するための処理回路を備える。処理回路は、専用のハードウェアであってもよいし、メモリに格納されるプログラムを実行するＣＰＵ（Central  Processing  Unit）およびメモリであってもよい。
【００７０】
図１４は、実施の形態１にかかる受信間隔計測部１３においてタイマによる受信間隔Ｔ１の計測を制御する機能、通信障害検出部１４、トークン再送信制御部１５、送信権制御部１６を専用のハードウェアで構成する場合の例を示す図である。処理回路が専用のハードウェアである場合、図１４に示す処理回路９１は、例えば、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ＡＳＩＣ（Application  Specific  Integrated  Circuit）、ＦＰＧＡ（Field  Programmable  Gate  Array）、またはこれらを組み合わせたものが該当する。受信間隔計測部１３においてタイマによる受信間隔Ｔ１の計測を制御する機能、通信障害検出部１４、トークン再送信制御部１５、送信権制御部１６の各機能を機能別に処理回路９１で実現してもよいし、各機能をまとめて処理回路９１で実現してもよい。
【００７１】
図１５は、実施の形態１にかかる受信間隔計測部１３においてタイマによる受信間隔Ｔ１の計測を制御する機能、通信障害検出部１４、トークン再送信制御部１５、送信権制御部１６をＣＰＵおよびメモリで構成する場合の例を示す図である。処理回路がＣＰＵ９２およびメモリ９３で構成される場合、受信間隔計測部１３においてタイマによる受信間隔Ｔ１の計測を制御する機能、通信障害検出部１４、トークン再送信制御部１５、送信権制御部１６の機能は、ソフトウェア、ファームウェア、またはソフトウェアとファームウェアとの組み合わせにより実現される。ソフトウェアまたはファームウェアはプログラムとして記述され、メモリ９３に格納される。処理回路では、メモリ９３に記憶されたプログラムをＣＰＵ９２が読み出して実行することにより、各機能を実現する。すなわち、送信権管理ノード１は、受信間隔計測部１３においてタイマによる受信間隔Ｔ１の計測を制御する機能、通信障害検出部１４、トークン再送信制御部１５、送信権制御部１６が処理回路により実行されるときに、受信間隔Ｔ１の計測を制御するステップ、通信障害を検出するステップ、トークンフレーム３の再送信を制御するステップ、フレーム送信を制御するステップが結果的に実行されることになるプログラムを格納するためのメモリ９３を備える。また、これらのプログラムは、送信権管理ノード１の手順および方法をコンピュータに実行させるものであるともいえる。ここで、ＣＰＵ９２は、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサ、またはＤＳＰ（Digital  Signal  Processor）などであってもよい。また、メモリ９３とは、例えば、ＲＡＭ（Random  Access  Memory）、ＲＯＭ（Read  Only  Memory）、フラッシュメモリ、ＥＰＲＯＭ（Erasable  Programmable  ＲＯＭ）、ＥＥＰＲＯＭ（Electrically  ＥＰＲＯＭ）などの、不揮発性または揮発性の半導体メモリ、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、またはＤＶＤ（Digital  Versatile  Disc）などが該当する。
【００７２】
なお、受信間隔計測部１３においてタイマによる受信間隔Ｔ１の計測を制御する機能、通信障害検出部１４、トークン再送信制御部１５、送信権制御部１６の各機能について、一部を専用のハードウェアで実現し、一部をソフトウェアまたはファームウェアで実現するようにしてもよい。例えば、受信間隔計測部１３においてタイマによる受信間隔Ｔ１の計測を制御する機能については専用のハードウェアとしての処理回路９１でその機能を実現し、通信障害検出部１４、トークン再送信制御部１５、送信権制御部１６の各機能についてはＣＰＵ９２がメモリ９３に格納されたプログラムを読み出して実行することによってその機能を実現することが可能である。
【００７３】
このように、処理回路は、専用のハードウェア、ソフトウェア、ファームウェア、またはこれらの組み合わせによって、上述の各機能を実現することができる。
【００７４】
以上説明したように、本実施の形態によれば、複数のデータフレーム４を連続して送受信する場合において、送信権管理ノード１および端末ノード２では、隣接ノードから取得した送信間隔Ｔ２（４６）、および隣接ノードから受信したフレームの受信間隔Ｔ１に基づいて、隣接ノードとの間の通信障害を検出する。また、送信権管理ノード１および端末ノード２では、隣接ノードとの間の通信障害を検出した場合、チェックサムを確認することで、通信障害箇所が隣接ノード本体か通信経路かを検出する。さらに、送信権管理ノード１では、障害検出フレーム５を受信することで、隣接ノード以外の端末ノード２における通信障害を検出する。これにより、通信システム６では、端末ノード２の接続数が多い場合または処理時間の遅い端末ノード２が存在する場合でも、各ノードがフレームの送信元のノード、すなわち隣接ノードのみを通信障害検出の対象とすることで、通信システム６を構成するノードの数によらず、通信障害検出時間の増加を抑えることができる。また、通信システム６では、通信障害検出時間の増加を抑えることができるため、通信障害が発生した場合、通信システム６の停止などフェールセーフ処理を遅延なく行うことができる。また、通信システム６では、ノード間で送受信されるフレームを用いて通信障害を検出するため、通信障害検出用の監視フレームを使用することなく、通信効率を低減せずに通信障害を検出できる。
【００７５】
実施の形態２．
実施の形態１では、ノード間で複数のデータフレーム４を連続して送受信する際に、フレームが遅延した場合に通信障害を検出していた。本実施の形態では、ノード間で複数のデータフレーム４を連続して送受信する際、送信間隔Ｔ２（４６）で示される期間が経過してもフレームを受信できなかった場合に通信障害を検出する。実施の形態１と異なる部分について説明する。
【００７６】
通信システム６の構成は実施の形態１（図１、図２）と同様である。また、送信権管理ノード１および端末ノード２の構成も実施の形態１（図６、図１０）と同様である。
【００７７】
本実施の形態では、送信権管理ノード１の受信部１１は、データフレーム４から送信間隔Ｔ２（４６）の情報を抽出すると、送信間隔Ｔ２（４６）の情報を受信間隔計測部１３に通知する。受信間隔計測部１３は、最後にフレームを受信してから、最後に受信したフレームから抽出された送信間隔Ｔ２（４６）で示される期間において次のフレームを受信できなかった場合、最後にフレームを受信してから送信間隔Ｔ２（４６）で示される期間が経過した旨を通信障害検出部１４へ通知する。通信障害検出部１４は、受信間隔計測部１３からの送信間隔Ｔ２（４６）で示される期間が経過した旨の通知によって、隣接ノードとの間で通信障害が発生していることを検出する。通信障害検出部１４では、実施の形態１のように、通信障害の原因が隣接ノード本体の異常か通信経路の異常かまでは特定できないが、トークン再送信制御部１５へトークンフレーム３の再送信を指示することは可能である。
【００７８】
図１６は、実施の形態２にかかる送信権管理ノード１の受信間隔計測部１３において受信間隔Ｔ１を計測する動作を示すフローチャートである。受信間隔計測部１３は、受信部１１からフレーム受信の通知を受けていない場合（ステップＳ６１：Ｎｏ）、受信間隔Ｔ１を計測するためのタイマが動作中か否かを確認する（ステップＳ６２）。タイマが動作中の場合（ステップＳ６２：Ｙｅｓ）、受信間隔計測部１３は、前回のフレーム受信時に受信部１１から通知されていた送信間隔Ｔ２（４６）が経過したか否かを確認する（ステップＳ６３）。受信間隔計測部１３は、送信間隔Ｔ２（４６）が経過した場合、すなわち前回フレームを受信してから送信間隔Ｔ２（４６）で示される期間が経過しても次のフレームを受信できなかった場合（ステップＳ６３：Ｙｅｓ）、送信間隔Ｔ２（４６）内でフレームを受信できなかったことを通信障害検出部１４へ通知する（ステップＳ６４）。受信間隔計測部１３は、タイマが動作していない場合（ステップＳ６２：Ｎｏ）、および送信間隔Ｔ２（４６）が経過していない場合（ステップＳ６３：Ｎｏ）、ステップＳ６１の処理に戻る。なお、受信間隔計測部１３において、受信部１１からフレーム受信の通知を受けている場合（ステップＳ６１：Ｙｅｓ）、以降の処理は実施の形態１の図７に示すフローチャートのステップＳ２〜Ｓ１０と同様である。
【００７９】
図１７は、実施の形態２にかかる送信権管理ノード１の通信障害検出部１４において通信障害を検出する動作を示すフローチャートである。実施の形態１の図８に示すフローチャートの処理に加えて、通信障害検出部１４は、受信間隔計測部１３から送信間隔Ｔ２（４６）経過の通知を取得する（ステップＳ７１）。なお、受信部１１で送信間隔Ｔ２（４６）が経過していない場合はステップＳ７１の処理を省略する。
【００８０】
図１８は、実施の形態２にかかる送信権管理ノード１の通信障害検出部１４において通信障害を検出する詳細動作を示すフローチャートである。通信障害検出部１４は、受信部１１から送信間隔Ｔ２（４６）経過の通知を取得した場合（ステップＳ８１：Ｙｅｓ）、隣接ノードとの間で通信障害が発生していることを検出する（ステップＳ８２）。なお、通信障害検出部１４において、受信部１１から送信間隔Ｔ２（４６）経過の通知を取得していない場合（ステップＳ８１：Ｎｏ）、以降の処理は実施の形態１の図９に示すフローチャートのステップＳ２１〜Ｓ２７と同様である。
【００８１】
このように、送信権管理ノード１は、隣接ノードから送信間隔Ｔ２（４６）が経過してもフレームを受信できなかった場合、隣接ノードとの間の通信障害を検出することができる。
【００８２】
端末ノード２についても同様である。端末ノード２の受信部２１は、データフレーム４から送信間隔Ｔ２（４６）の情報を抽出すると、送信間隔Ｔ２（４６）の情報を受信間隔計測部２３に通知する。受信間隔計測部２３は、最後にフレームを受信してから、最後に受信したフレームから抽出された送信間隔Ｔ２（４６）で示される期間において次のフレームを受信できなかった場合、最後にフレームを受信してから送信間隔Ｔ２（４６）で示される期間が経過した旨を通信障害検出部２４へ通知する。通信障害検出部２４は、受信間隔計測部２３からの送信間隔Ｔ２（４６）で示される期間が経過した旨の通知によって、隣接ノードとの間で通信障害が発生していることを検出する。通信障害検出部２４では、実施の形態１のように、通信障害の原因が隣接ノード本体の異常か通信経路の異常かまでは特定できないが、通信障害情報生成部２５へ通信障害情報の生成を指示することは可能である。
【００８３】
図１９は、実施の形態２にかかる端末ノード２の受信間隔計測部２３において受信間隔Ｔ１を計測する動作を示すフローチャートである。受信間隔計測部２３は、受信部２１からフレーム受信の通知を受けていない場合（ステップＳ９１：Ｎｏ）、受信間隔Ｔ１を計測するためのタイマが動作中か否かを確認する（ステップＳ９２）。タイマが動作中の場合（ステップＳ９２：Ｙｅｓ）、受信間隔計測部２３は、前回のフレーム受信時に受信部２１から通知されていた送信間隔Ｔ２（４６）が経過したか否かを確認する（ステップＳ９３）。受信間隔計測部２３は、送信間隔Ｔ２（４６）が経過した場合、すなわち前回フレームを受信してから送信間隔Ｔ２（４６）で示される期間が経過しても次のフレームを受信できなかった場合（ステップＳ９３：Ｙｅｓ）、送信間隔Ｔ２（４６）内でフレームを受信できなかったことを通信障害検出部２４へ通知する（ステップＳ９４）。受信間隔計測部２３は、タイマが動作していない場合（ステップＳ９２：Ｎｏ）、および送信間隔Ｔ２（４６）が経過していない場合（ステップＳ９３：Ｎｏ）、ステップＳ９１の処理に戻る。なお、受信間隔計測部２３において、受信部２１からフレーム受信の通知を受けている場合（ステップＳ９１：Ｙｅｓ）、以降の処理は実施の形態１の図１１に示すフローチャートのステップＳ３２〜Ｓ３８と同様である。
【００８４】
図２０は、実施の形態２にかかる端末ノード２の通信障害検出部２４において通信障害を検出する動作を示すフローチャートである。実施の形態１の図１２に示すフローチャートの処理に加えて、通信障害検出部２４は、受信間隔計測部２３から送信間隔Ｔ２（４６）経過の通知を取得する（ステップＳ１０１）。なお、受信部２１で送信間隔Ｔ２（４６）が経過していない場合はステップＳ１０１の処理を省略する。
【００８５】
図２１は、実施の形態２にかかる端末ノード２の通信障害検出部２４において通信障害を検出する詳細動作を示すフローチャートである。通信障害検出部２４は、受信部２１から送信間隔Ｔ２（４６）経過の通知を取得した場合（ステップＳ１１１：Ｙｅｓ）、隣接ノードとの間で通信障害が発生していることを検出する（ステップＳ１１２）。なお、通信障害検出部２４において、受信部２１から送信間隔Ｔ２（４６）経過の通知を取得していない場合（ステップＳ１１１：Ｎｏ）、以降の処理は実施の形態１の図１３に示すフローチャートのステップＳ５１〜Ｓ５５と同様である。
【００８６】
このように、端末ノード２は、隣接ノードから送信間隔Ｔ２（４６）が経過してもフレームを受信できなかった場合、隣接ノードとの間の通信障害を検出することができる。
【００８７】
以上説明したように、本実施の形態によれば、送信権管理ノード１および端末ノード２では、隣接ノードから送信間隔Ｔ２（４６）で示される期間が経過してもフレームを受信できなかった場合、隣接ノードとの間の通信障害を検出する。これにより、通信システム６では、受信側のノードでフレームを受信できなくなった場合に、直ちに通信障害を検出することができる。
【００８８】
なお、送信権管理ノード１および端末ノード２では、送信間隔Ｔ２（４６）に付加時間αを設定し、受信間隔計測部１３，２３は、送信間隔Ｔ２（４６）＋付加時間αの期間が経過してもフレームを受信できなかった場合に、通信障害検出部１４，２４へ通知をしてもよい。
【００８９】
以上のように、本発明にかかる通信装置、通信システム、および通信障害検出方法は、接続台数の多いネットワークシステムの通信障害検出に有用であり、特に通信障害発生時に原因箇所を追究することに好適である。
【００９０】
以上の実施の形態に示した構成は、本発明の内容の一例を示すものであり、別の公知の技術と組み合わせることも可能であるし、本発明の要旨を逸脱しない範囲で、構成の一部を省略、変更することも可能である。
【符号の説明】
【００９１】
１  送信権管理ノード、２Ａ，２Ｂ，２Ｃ，２Ｄ  端末ノード、３  トークンフレーム、４  データフレーム、５  障害検出フレーム、６  通信システム、１１，２１  受信部、１２，２２  記憶部、１３，２３  受信間隔計測部、１４，２４  通信障害検出部、１５  トークン再送信制御部、１６，２６  送信権制御部、１７，２７  送信部、２５  通信障害情報生成部。
【図１】
2017154180.tif 000003
【図２】
2017154180.tif 000004
【図３】
2017154180.tif 000005
【図４】
2017154180.tif 000006
【図５】
2017154180.tif 000007
【図６】
2017154180.tif 000008
【図７】
2017154180.tif 000009
【図８】
2017154180.tif 000010
【図９】
2017154180.tif 000011
【図１０】
2017154180.tif 000012
【図１１】
2017154180.tif 000013
【図１２】
2017154180.tif 000014
【図１３】
2017154180.tif 000015
【図１４】
2017154180.tif 000016
【図１５】
2017154180.tif 000017
【図１６】
2017154180.tif 000018
【図１７】
2017154180.tif 000019
【図１８】
2017154180.tif 000020
【図１９】
2017154180.tif 000021
【図２０】
2017154180.tif 000022
【図２１】
2017154180.tif 000023
【国際調査報告】
2017154180.tif 000024
2017154180.tif 000025
2017154180.tif 000026
2017154180.tif 000027