(57)【要約】【課題】メッセージを長時間受信できない状態のノード装置が発生するのを回避可能な無線メッシュネットワークを実現すること。【解決手段】本発明は、無線メッシュネットワークを構成するノード装置２０であって、メッセージ送受信部２２は、ブロードキャストメッセージの受信頻度に応じて送信動作の実行頻度を調整する送信頻度調整手段と、ブロードキャストメッセージの送受信動作に関する統計情報を収集する情報収集手段と、前記情報収集手段が収集した統計情報に基づいて、自身周辺に存在するノード装置の状況を推定する推定手段と、を備える。【選択図】図２
2015144393.tif 000002
【特許請求の範囲】
【請求項１】
無線メッシュネットワークを構成するノード装置であって、
ブロードキャストメッセージの受信頻度に応じて送信動作の実行頻度を調整する送信頻度調整手段と、
ブロードキャストメッセージの送受信動作に関する統計情報を収集する情報収集手段と、
前記情報収集手段が収集した統計情報に基づいて、自身周辺に存在するノード装置の状況を推定する推定手段と、
を備えることを特徴とするノード装置。
【請求項２】
前記情報収集手段は、同じ内容のブロードキャストメッセージを受信する間隔を前記統計情報として収集し、
前記推定手段は、自身の周辺に存在する他のノード装置から一定時間以上にわたってブロードキャストメッセージを受信できなくなるおそれがあるか否かを推定することを特徴とする請求項１に記載のノード装置。
【請求項３】
前記情報収集手段は、ブロードキャストメッセージの送信間隔および規定時間内でブロードキャストメッセージの送信を見送った回数の少なくとも一方を前記統計情報として収集し、
前記推定手段は、一定時間以上にわたってブロードキャストメッセージを受信できなくなるおそれがあるノード装置が自身の周辺に存在するか否かを推定することを特徴とする請求項１に記載のノード装置。
【請求項４】
前記情報収集手段は、同じ内容のブロードキャストメッセージを受信する間隔と、ブロードキャストメッセージの送信間隔および規定時間内でブロードキャストメッセージの送信を見送った回数の少なくとも一方と、を前記統計情報として収集し、
前記推定手段は、前記同じ内容のブロードキャストメッセージを受信する間隔に基づいて、自身の周辺に存在する他のノード装置から一定時間以上にわたってブロードキャストメッセージを受信できなくなるおそれがあるか否かを推定し、前記ブロードキャストメッセージの送信間隔および規定時間内でブロードキャストメッセージの送信を見送った回数の少なくとも一方、に基づいて、一定時間以上にわたってブロードキャストメッセージを受信できなくなるおそれがあるノード装置が自身の周辺に存在するか否かを推定する、ことを特徴とする請求項１に記載のノード装置。
【請求項５】
前記情報収集手段は、同じ内容のブロードキャストメッセージを受信する間隔と、ブロードキャストメッセージの送信間隔および規定時間内でブロードキャストメッセージの送信を見送った回数の少なくとも一方と、を前記統計情報として収集し、さらに、収集した統計情報をブロードキャストメッセージで送信し、
前記推定手段は、前記情報収集手段が収集した統計情報に基づいて、自身が通信可能な他のノード装置の数を推定し、他のノード装置から受信した統計情報に基づいて、当該受信した統計情報の送信元の他のノード装置が通信可能なノード装置の数を推定する、ことを特徴とする請求項１に記載のノード装置。
【請求項６】
一定時間以上にわたってブロードキャストメッセージを受信できなくなるおそれがあるノード装置が自身の周辺に存在すると前記推定手段が推定した場合、
前記送信頻度調整手段は、ブロードキャストメッセージの送信動作を実行する頻度を上げることを特徴とする請求項３または４に記載のノード装置。
【請求項７】
前記送信頻度調整手段は、Ｔｒｉｃｋｌｅアルゴリズムに従ってブロードキャストメッセージの送信頻度を調整し、前記ブロードキャストメッセージの送信動作を実行する頻度を上げる必要性が生じた場合には、Ｔｒｉｃｋｌｅアルゴリズムで規定されているパラメータを調整することにより、送信動作の実行頻度を上げることを特徴とする請求項６に記載のノード装置。
【請求項８】
前記送信頻度調整手段は、Ｔｒｉｃｋｌｅアルゴリズムに従ってブロードキャストメッセージの送信頻度を調整し、一定時間以上にわたってブロードキャストメッセージを受信できなくなるおそれがあるノード装置が自身の周辺に存在すると前記推定手段が推定した場合には、Ｔｒｉｃｋｌｅアルゴリズムを無視した制御を行うことを特徴とする請求項３または４に記載のノード装置。
【請求項９】
自身の周辺に存在する他のノード装置から一定時間以上にわたってブロードキャストメッセージを受信できなくなるおそれがあると前記推定手段が推定した場合、
前記一定時間以上にわたってブロードキャストメッセージを受信できない状態を検知しても通信障害の発生と判断しないことを特徴とする請求項２または４に記載のノード装置。
【請求項１０】
自身の周辺に存在する他のノード装置から一定時間以上にわたってブロードキャストメッセージを受信できなくなるおそれがあると前記推定手段が推定した場合、
前記他のノード装置に対して、ブロードキャストメッセージの送信頻度を必要以上に下げないように依頼することを特徴とする請求項２または４に記載のノード装置。
【請求項１１】
前記推定手段による推定結果を外部に通知する通知手段を備えることを特徴とする請求項１から１０のいずれか一つに記載のノード装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、無線メッシュネットワークにおける通信技術に関するものであり、特に、ネットワーク内のノード装置が電文メッセージをネットワーク内の他の全ノード装置に受信させるブロードキャスト方法に関する。
【背景技術】
【０００２】
無線メッシュネットワークは、複数のノードが無線リンクによって相互に接続され、各ノードが通信の終端ノードであると同時に中継ノードとしての機能をも持つという特徴を有するネットワークである。一方、センサー等の、電力、メモリ、計算能力、通信容量といったリソースに制約がある小型ノードによって構成されるネットワークでは、上記制約を考慮した通信プロトコルが必要である。
【０００３】
Ｔｒｉｃｋｌｅアルゴリズム（非特許文献１参照）は、上述したリソース制約のある無線メッシュネットワークにおいて、電文メッセージを全ノードに配布するのに適した方式である。Ｔｒｉｃｋｌｅアルゴリズムは、メッセージを全ノード装置に行きわたらせることを目的としているため、通信路上などでのメッセージ喪失に備えたメッセージの再送を行う。Ｔｒｉｃｋｌｅアルゴリズムの特徴点は、上記再送を行う際に、再送タイマのランダム設定や、再送期間の指数関数的な増加に加え、他ノードからの再送メッセージの受信回数をカウントし、その数が一定値を超えた場合にはタイマが満了しても送信を抑制し、ネットワーク内で送受信されるメッセージ量を削減する。すなわち、ネットワーク全体でのリソース使用量を削減することを特徴としている。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】ＲＦＣ６２０６  “The  Trickle  Algorithm”（http://tools.ietf.org/rfc/rfc6206.txt）
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上述した再送メッセージ削減の技術は、ノードが高密度に配置されるエリアにおいて効果的にメッセージ削減を発揮する一方で、高密度エリアに近接して孤立したノードが存在し、孤立したノードが高密度エリアに設置されたノードのうち少数のノードのみと接続されている場合（孤立したノードと通信可能なノードが少数の場合）においては、孤立したノードと接続する高密度エリアに設置されたノードのメッセージ再送が抑制されることによって、孤立したノードがメッセージを長時間受信できない可能性があるという問題があった。
【０００６】
上述した問題の検知および解決を目的とする場合をはじめ、様々な状況において、ノード密度すなわち通信可能なノード装置の数を検知することは、ネットワークの挙動の把握および制御を行う上で有用である。ノード密度を検知するための直接的な手段は、自身の通信可能なノードの数を記憶する方法である。しかし、この方法では、自身の通信可能なノードの数だけノードの識別子を記憶しておく必要があり、特にノードの数が大きい場合において、メモリ消費量が大きくなるという問題がある。
【０００７】
本発明は、上記に鑑みてなされたものであって、メッセージを長時間受信できない状態のノード装置が発生するのを回避可能な無線メッシュネットワークを実現するノード装置を得ることを目的とする。
【課題を解決するための手段】
【０００８】
上述した課題を解決し、目的を達成するために、本発明は、無線メッシュネットワークを構成するノード装置であって、ブロードキャストメッセージの受信頻度に応じて送信動作の実行頻度を調整する送信頻度調整手段と、ブロードキャストメッセージの送受信動作に関する統計情報を収集する情報収集手段と、前記情報収集手段が収集した統計情報に基づいて、自身周辺に存在するノード装置の状況を推定する推定手段と、を備えることを特徴とする。
【発明の効果】
【０００９】
本発明によれば、ネットワーク管理者等が、ブロードキャストメッセージを長時間受信できない状態となりうるノード装置が存在するか否かを知ることができ、ブロードキャストメッセージを長時間受信できないノード装置が発生する前に対策を立てることが可能となる、という効果を奏する。また、周辺に存在しているノードの状況を検知する機能をメモリ消費量の増加を抑制しつつ実現できる、という効果を奏する。
【図面の簡単な説明】
【００１０】
【図１】図１は、本発明にかかるノード装置により構成された無線メッシュネットワークの一例を示す図である。
【図２】図２は、ノード装置の構成例を示す図である。
【図３】図３は、ブロードキャストメッセージを受信した実施の形態１のノード装置の動作例を示すフローチャートである。
【図４】図４は、タイマｔが満了した場合のメッセージ送受信部の動作例を示すフローチャートである。
【図５】図５は、タイマτが満了した場合のメッセージ送受信部の動作例を示すフローチャートである。
【図６】図６は、ブロードキャストメッセージを受信した実施の形態２のノード装置の動作例を示すフローチャートである。
【図７】図７は、タイマｔが満了した場合の実施の形態２のメッセージ送受信部の動作例を示すフローチャートである。
【図８】図８は、自ノードの周辺状態および接続中の他のノードの周辺状態の組み合わせを示す図である。
【発明を実施するための形態】
【００１１】
以下に、本発明にかかるノード装置の実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
【００１２】
実施の形態１．
図１は、本発明にかかるノード装置（以下、「ノード」と記載する）により構成された無線メッシュネットワークの一例を示す図である。図１に示した無線メッシュネットワーク１０は、ノード２０1から２０10の複数のノードによって構成されている。本実施の形態および後述する各実施の形態においては、一例として、ノード２０1がブロードキャストメッセージを送信しようとするノード（送信元ノード）として動作し、他のノード２０2〜２０10がブロードキャストメッセージを受信する場合の例を説明する。なお、ノード２０2〜２０10がブロードキャストメッセージの送信元ノードとして動作することも可能である。送信元ノード２０1は、無線メッシュネットワーク１０の外部に接続されているゲートウェイ装置である場合もあるし、その他のノード２０2〜２０10と同様に無線メッシュネットワーク内部のノードである場合もある。無線メッシュネットワーク１０を構成するノードのそれぞれは、無線通信が可能な範囲に設置された他のノードと通信することにより、自律的にネットワークを構成する。上記の自律的な方法で構成されるネットワークは、ノードの設置箇所や、無線通信環境に依存したトポロジーをとる。したがって、図１に例示するように、多数のノードと通信可能なノード２０2〜２０9と、少数のノードとのみ通信可能なノード２０10とが、同時に存在する場合がある。
【００１３】
無線メッシュネットワーク１０において送信元ノード２０1がブロードキャストメッセージを送信する場合を考える。この場合にＴｒｉｃｋｌｅアルゴリズムを適用すると、ノード２０2〜２０9は、多数のノードと通信可能であるため、ブロードキャストメッセージを受信する機会が多く、送信の抑制が発生する。一方、ノード２０10は、ノード２０9のみと通信可能であるため、ノード２０9で送信の抑制が発生した場合、長時間にわたってブロードキャストメッセージを受信することができない。
【００１４】
そこで、本実施の形態にかかるノードは、他のノードより受信したブロードキャストメッセージから、メッセージの不到達（ブロードキャストメッセージを一定時間以上にわたって受信できない状態）が発生しうる状態にあるか否かを判別する。メッセージの不到達が発生した場合、ノードは、例えば、メッセージの送信元ノードとの間で通信障害が発生したと判断し、再接続のための処理や新たな接続先を探索する処理などが必要となる。本実施の形態によれば、メッセージの不到達が発生しうる状態にあるか否かを、ブロードキャストメッセージの送信元ノードの識別情報（ＩＤ）を記録することなく判定可能となる。
【００１５】
図２は、実施の形態１にかかるノード２０（ノード２０1から２０10）の構成例を示す図である。ノード２０は、無線通信部２１、メッセージ送受信部２２、アプリケーション部２３、記憶部２４および通信アンテナ２５を備えている。ノード２０1から２０10は同じ構成であるが、例えばノード２０1がゲートウェイとして動作する機能を有する場合には、図２に示した構成の他に、ゲートウェイとして動作するために必要な構成要素を備える。なお、メッセージ送受信部２２は、送信頻度調整手段、情報収集手段および推定手段として動作する。
【００１６】
無線通信部２１は、通信アンテナ２５を介して他のノードと無線通信フレームの送受信を行う。
【００１７】
メッセージ送受信部２２は、無線フレームの受信、生成および転送の処理を行う。ブロードキャストメッセージの送受信処理ならびに転送処理については、Ｔｒｉｃｋｌｅアルゴリズムに基づいて行う。
【００１８】
アプリケーション部２３は、無線メッシュネットワークを介した通信を利用するアプリケーションを制御し、必要な情報の送受信を行う。アプリケーションとは、具体的にはルーティングプロトコルなどのネットワーク制御、センサーデータの収集などであり、アプリケーションが必要とする情報とは、具体的にはルーティングテーブルなどのネットワーク制御情報、センサーデータ、センサー制御情報などである。
【００１９】
記憶部２４は、メッセージ送受信部２２、アプリケーション部２３が必要とする情報を記憶する。具体的には、上述したＴｒｉｃｋｌｅアルゴリズムが必要とする、状態を示す情報、アプリケーションが必要とする情報（ルーティングテーブルなどのネットワーク制御情報、センサーデータ、センサー制御情報など）を含む。
【００２０】
次に、本実施の形態のノード２０の特徴的な動作、具体的には、ブロードキャストメッセージを受信した場合の動作について説明する。図３は、ブロードキャストメッセージを受信したノード２０のメッセージ送受信部２２の動作例を示すフローチャートである。
【００２１】
図３に示したように、ノード２０のメッセージ送受信部２２はブロードキャストメッセージを受信すると、まず、今回受信したメッセージと同じメッセージを過去に受信済みか否かを判定する。すなわち、既に受信済みのメッセージを再度受信したものか否かを判定する（ステップＳ１１）。メッセージが受信済みか否かを判定する方法は、アプリケーションの種類に依存する。例えば、メッセージに含まれるシーケンス番号、バージョン番号といった情報要素が前回に受信したメッセージのものと比較して増加している場合には真（メッセージを受信済み）、情報要素が前回に受信したメッセージのものと比較して同一もしくは減少している場合には偽と判定する。
【００２２】
メッセージ送受信部２２は、メッセージを受信済みの場合（ステップＳ１１：Ｙｅｓ）、パラメータｃの値を１加算する（ステップＳ１２）。なお、初期において、パラメータｃの値は０である。パラメータｃは、例えば記憶部２４が保持する。
【００２３】
一方、メッセージを受信済みではない場合（ステップＳ１１：Ｎｏ）、メッセージ送受信部２２は、パラメータτの値が、予め設定されているパラメータτｍｉｎ（固定値）と同一であるかを判定する（ステップＳ１３）。なお、初期において、τの値は、τｍｉｎの値以上、かつ、パラメータτｍａｘ（固定値）以下の範囲にあたる乱数値をとる（ただし、τｍｉｎ＜τｍａｘ）。τｍｉｎおよびτｍａｘは、ノード２０になされた初期設定に従う値であり、タイマτの最小値および最大値をそれぞれ示している。τｍｉｎおよびτｍａｘは、例えば記憶部２４が保持する。
【００２４】
メッセージ送受信部２２は、τｍｉｎ＜τの場合（ステップＳ１３：Ｎｏ）、タイマτおよびタイマｔを起動するとともに、パラメータｃを０に設定する（ステップＳ１４）。タイマτはパラメータτの時間が経過した場合に満了するタイマである。タイマτを起動する際にメッセージ送受信部２２は、τの値をτｍｉｎに設定する。また、タイマｔは、パラメータｔの時間が経過した場合に満了するタイマである。上記τの設定後、タイマｔを起動する際にノードは、ｔをτ／２以上かつτ以下の乱数値に設定する。
【００２５】
なお、上述したステップＳ１１からステップＳ１４、パラメータｃ、τおよびｔの設定に関しては、Ｔｒｉｃｋｌｅアルゴリズムに準ずる動作である。
【００２６】
メッセージ送受信部２２は、上記のステップＳ１２を実行すると、次に、前回にメッセージを受信した時から、今回のメッセージを受信する時までに経過した時間（同一内容のメッセージの受信間隔）を算出し、記録する（ステップＳ１５）。メッセージ送受信部２２は、このステップＳ１５において記録したメッセージの受信間隔が、継続的に一定値よりも大きい値か否かを確認することによって、自身が高密度エリアに隣接して設置された、孤立したノードか否かを判定する。すなわち、記録したメッセージの受信間隔が、継続的に一定値よりも大きい場合には、自身が高密度エリアに隣接して設置された、孤立したノード（以下、孤立ノード）であると判定する。例えば、ステップＳ１５で記録したメッセージの受信間隔が、過去ｍ回（ｍは正の整数）にわたって、予め決定しておいた一定値よりも大きい場合、自身が孤立ノードに該当すると判断する。すなわち、一定時間以上にわたってブロードキャストメッセージを受信できなくなる可能性があると判断する。本実施の形態においては、このステップＳ１５が最も重要なステップとなる。
【００２７】
次に、上記のステップＳ１４で起動するタイマτおよびｔが満了となった場合の動作について説明する。上述したように、τ／２≦ｔ≦τであるため、タイマｔはタイマτよりも早いタイミングまたは同じタイミングで満了する。
【００２８】
図４は、タイマｔが満了した場合のメッセージ送受信部２２の動作例を示すフローチャートである。タイマｔが満了した場合、メッセージ送受信部２２は、上述したパラメータｃとパラメータｋの値を比較し、ｃ＜ｋの場合（ステップＳ２１：Ｙｅｓ）、ブロードキャストメッセージを送信する（ステップＳ２２）。一方、ｋ≦ｃの場合はブロードキャストメッセージを送信しない（ステップＳ２１：Ｎｏ）。ここで、パラメータｋはメッセージ送受信部２２になされた初期設定に従う値であり、ｋ以上のブロードキャストメッセージを受信した場合に送信の抑制を行うことを示す。すなわち、メッセージ送受信部２２は、タイマｔが満了するまでの間に同じブロードキャストメッセージをｋ回以上受信した場合には、ブロードキャストメッセージの送信を行わない。
【００２９】
また、図５は、タイマτが満了した場合のメッセージ送受信部２２の動作例を示すフローチャートである。タイマτが満了すると、メッセージ送受信部２２は、タイマτとタイマｔを再起動するとともに、パラメータｃを０に設定する（ステップＳ３１）。このステップＳ３１において、メッセージ送受信部２２は、まず、タイマτを起動する際にτの値を、現在値の２倍とτｍａｘのうち、小さい方の値に設定し、次に、タイマｔを起動する際に、ｔをτ／２以上かつτ以下の乱数値に設定する。
【００３０】
次に、図１に示した無線メッシュネットワーク１０の全体動作について説明する。
【００３１】
送信元ノード２０1がブロードキャストメッセージを送信する場合、ノード２０2〜２０9は、接続中の他のノード２０が多数存在するため、上述した図４のステップＳ２１の動作において、ｋ≦ｃと判断し、送信の抑制が発生する。ノード２０9で送信の抑制が発生した場合、ノード２０10では、ブロードキャストメッセージを受信することができないという事象が発生する。したがって、ノード２０10では、ノード２０9での送信の抑制により、ブロードキャストメッセージの受信間隔が長くなる。しかしながら、ノード２０10は、同じメッセージの受信間隔を記録しているため（図３のステップＳ１５参照）、上記の事象（ノード２０9で送信の抑制が発生している状態）の検知が可能である。
【００３２】
上記の事象を検知したノード２０10は、例えば、検知結果を表示することで、ネットワーク管理者などに通知する。検知結果の表示は、ノード２０10が具備する表示ランプを点灯させる方法や、無線メッシュネットワーク１０を含むネットワークを介した通信によって外部装置に通知する方法など、広く知られた方法により行う。
【００３３】
このように、本実施の形態のノードは、同じメッセージの受信間隔に基づいて、自身が孤立ノードに該当するか否か、すなわち、接続中の他のノードにおいて送信の抑制が発生しているか否かを判定することとした。これにより、例えば、送信の抑制が発生していることを検出した場合にその旨を外部（例えばネットワークの管理者）へ通知し、通知を受けたネットワーク管理者等は、ブロードキャストメッセージを長時間受信できない状態となりうるノードが存在することを知ることができる。この結果、ネットワーク管理者は、ブロードキャストメッセージを長時間受信できない状態のノードが発生する前に対策を立てることが可能となる。また、他のノードにおける送信抑制の発生を検知する機能をメモリ消費量の増加を抑制しつつ実現できる。
【００３４】
実施の形態２．
実施の形態２について説明する。なお、本実施の形態のノードにより構成された無線メッシュネットワークの構成は実施の形態１と同様とする（図１参照）。各ノードの構成も実施の形態１と同様とする（図２参照）。本実施の形態を適用した場合、無線メッシュネットワーク１０のノード２０は、Ｔｒｉｃｋｌｅアルゴリズムの特徴を利用して、ブロードキャストメッセージ送信時の動作から、通信可能な他のノード２０の概数（通信可能な他のノードの数が多いか少ないか）を、他のノード２０のＩＤを記録することなく算出可能となる。
【００３５】
本実施の形態のノード２０の特徴的な動作、具体的には、ブロードキャストメッセージを受信した場合の動作について説明する。図６は、ブロードキャストメッセージを受信したノード２０のメッセージ送受信部２２の動作例を示すフローチャートである。本実施の形態のメッセージ送受信部２２の動作は、実施の形態１のメッセージ送受信部２２の動作（図３参照）からステップＳ１５を削除したものである。ステップＳ１１からＳ１４の動作は実施の形態１と同様であるため、説明を省略する。
【００３６】
図７は、タイマｔが満了した場合のメッセージ送受信部２２の動作例を示すフローチャートである。タイマｔが満了した場合のメッセージ送受信部２２の動作は、実施の形態１におけるタイマｔ満了時の動作（図４参照）に対してステップＳ２３およびＳ２４を追加したものである。
【００３７】
本実施の形態のノード２０において、メッセージ送受信部２２は、タイマｔの満了に伴いブロードキャストメッセージを送信した場合（ステップＳ２１：Ｙｅｓ→ステップＳ２２）、ブロードキャストメッセージの送信間隔を記録する（ステップＳ２３）。すなわち、メッセージ送受信部２２は、前回にメッセージを送信してから今回のメッセージを送信するまでに経過した時間を算出し、記録する。メッセージ送受信部２２は、このステップＳ２３において記録するメッセージの送信間隔が、継続的に一定値よりも大きい値か否かを確認することによって、自身が高密度エリアに設置されたノードか否かを判定する。すなわち、記録したメッセージの送信間隔が、継続的に一定値よりも大きい場合には、自身が高密度エリアに設置されたノードであると判定する。例えば、ステップＳ２３で記録したメッセージの送信間隔が、過去ｎ回（ｎは正の整数）にわたって、予め決定しておいた一定値よりも大きい場合、自身が高密度エリアに設置されていると判断する。
【００３８】
また、メッセージ送受信部２２は、タイマｔの満了後にブロードキャストメッセージを送信しない場合（ステップＳ２１：Ｎｏ）、抑制回数を記録する（ステップＳ２４）。例えば、送信抑制を行った回数を示す情報に１を加算する。メッセージ送受信部２２は、このステップにおいて記録する抑制回数が、一定時間内に一定回数を超えたか否かを確認することによって、自身が高密度エリアに設置されたノードか否かを判定する。すなわち、一定時間内における抑制回数が一定回数を超えた場合、高密度エリアに設置されていると判定する。判定結果は、実施の形態１のノードと同様の方法にて、ネットワーク管理者などに通知する。
【００３９】
タイマτが満了した場合の動作は実施の形態１と同様である（図５参照）。
【００４０】
なお、上述したステップＳ２３およびＳ２４において記録した情報に基づいて判定を行うこととしたが、送信間隔と抑制回数の少なくとも一方の情報を記録しておくことにより、高密度エリアに設置されているか否かを判定できる。
【００４１】
このように、本実施の形態のノードは、ブロードキャストメッセージの送信間隔と、一定時間内においてブロードキャストメッセージの送信抑制が発生した回数である抑制回数を記録し、記録した送信間隔および抑制回数の少なくとも一方に基づいて、自身が高密度エリアに設置されているノードか否か（通信可能な他のノードが多数存在しているか否か）を判定することとした。これにより、自身が高密度エリアに設置されていると判定した場合に外部（例えばネットワークの管理者）に通知することができる。すなわち、ネットワークの管理者などは、ブロードキャストメッセージを長時間受信できない状態となるノードが存在するか否かを知ることができる。また、自身が高密度エリアに設置されているノードか否かを判定する機能をメモリ消費量の増加を抑制しつつ実現できる。
【００４２】
実施の形態３．
実施の形態３について説明する。なお、本実施の形態のノードにより構成された無線メッシュネットワークの構成は実施の形態１と同様とする（図１参照）。各ノードの構成も実施の形態１と同様とする（図２参照）。本実施の形態を適用した場合、上述した実施の形態２と同様に、無線メッシュネットワーク１０のノード２０は、Ｔｒｉｃｋｌｅアルゴリズムの特徴を利用して、ブロードキャストメッセージ送信時の動作から、通信可能な他のノード２０の概数（通信可能な他のノードの数が多いか少ないか）を、他のノード２０のＩＤを記録することなく算出可能となる。さらに、メッセージ不到達が発生しうる状態にあるノードを、より高精度に、メッセージの送信元ノードの識別情報（ＩＤ）を記録することなく算出可能となる。
【００４３】
本実施の形態のノード２０の基本的な動作は、実施の形態１で説明した動作（接続中の他のノードにおいて送信の抑制が発生しているか否かを判別する動作）と実施の形態２で説明した動作（自身が高密度エリアに設置されているか否か判別する動作）を組み合わせたものである。すなわち、ブロードキャストメッセージを受信した場合及びタイマτが満了した場合の動作は、実施の形態１と同様に、それぞれ図３及び図４に従った動作となる。タイマｔが満了した場合の動作は、実施の形態２と同様に、図７に従った動作となる。
【００４４】
ただし、実施の形態１および２で説明した動作に加え、以下の動作を実施する。
【００４５】
タイマｔが満了した場合のステップＳ２２において、ブロードキャストメッセージに次の情報を挿入して送信する。すなわち、図３のステップＳ１５で記録したメッセージの受信間隔と、図７のステップＳ２３で記録したメッセージの送信間隔と、図７のステップＳ２４で記録した送信抑制回数と、をブロードキャストメッセージに挿入する。または、上記の各情報（受信間隔、送信間隔、送信抑制回数）に基づいて導き出される、自ノード周辺の状態を示す情報（自身が孤立ノードに該当するか否か、自身が高密度エリアに設置されたノードに該当するか否か）をブロードキャストメッセージに挿入する。
【００４６】
また、ノード２０は、ブロードキャストメッセージを受信した場合、図３のステップＳ１１において、ブロードキャストメッセージに挿入されている上記の情報（受信間隔、送信間隔および送信抑制回数、または、メッセージの送信元ノードの周辺の状態を示す情報）を抽出する。そして、ノード２０は、受信した情報を図３のステップＳ１５、図７のステップＳ２３、図７のステップＳ２４と同様に処理することにより（受信間隔、送信間隔および送信抑制回数が挿入されている場合）、あるいは、受信した情報をそのまま使用して、「送信元ノードの周辺の状態を示す情報」を取得し、記憶する。
【００４７】
上記のステップＳ１１で記憶する「送信元ノードの周辺の状態を示す情報」は、ブロードキャストメッセージの送信元のノードが、孤立ノード、高密度エリアに設置されたノード、および、その他のノード（孤立ノードと高密度エリアに設置されたノードのいずれにも該当しないノード）のいずれに該当するのかを示す情報となる。
【００４８】
ノード２０は、上記の「送信元ノードの周辺の状態を示す情報」を、接続中の他のノード２０ごとに、過去一定回数分だけ記憶する。過去一定回数分だけ記憶する情報は、単数もしくは複数の「送信元ノードの周辺の状態を示す情報」のリストである。ノード２０は、記憶しているリストから、各送信元ノード（接続中の他のノード）の状態を知ることができる。ノード２０は、実施の形態１および２で説明した手順に基づいて、自身周辺の状態（自身が孤立ノード、高密度エリアに設置されたノード、その他のノードのいずれに該当するか）を判定し、この判定結果と、上記の「送信元ノードの周辺の状態を示す情報」のリストとを考慮することにより、より高い精度に、自身周辺の状態を把握することができる。
【００４９】
なお、ノード２０は、受信したブロードキャストメッセージを、上述したタイマｔが満了した時点で送信実施条件を満たしていれば送信する。すなわち、図７に示したように、タイマｔ満了時にｃ＜ｋであればブロードキャストメッセージを送信する。このとき、受信したブロードキャストメッセージに挿入されていた情報（受信間隔、送信間隔および送信抑制回数、または、メッセージの送信元ノードの周辺の状態を示す情報）を、自身が記憶している情報（受信間隔、送信間隔および送信抑制回数）または、記憶している情報に基づいて生成した「自身周辺の状態を示す情報」に書き換えた上で送信する。
【００５０】
本実施の形態のノード２０が自身周辺の状態を把握する動作の一例について、図８を参照しながら説明する。図８は、自ノード（自身）の周辺状態および接続中の他のノード（通信可能なノード）の周辺状態の組み合わせを示す図である。
【００５１】
ノード２０は、本実施の形態で検知可能な４種類の状態、すなわち、自身が孤立ノードに該当するか否かの判定結果、自身が高密度エリアに設置されたノードに該当するか否かの判定結果、通信可能なノードの中に孤立ノードが存在するか否かの判定結果、および、通信可能なノードの中に、高密度エリアに設置されたノードが存在するか否かの判定結果の情報を保持している。
【００５２】
図８に示した１６の状態のうち、状態１から状態４（状態番号が１から４の状態）は、自身が孤立ノードかつ高密度エリアに設置されたノードであることを示しており、情報（判定結果）の組み合わせが矛盾しているために、ありえない組み合わせである。
【００５３】
図８に示した状態５〜状態８は、自身が孤立ノードであることを示しており、自身に対するメッセージの不到達が発生しうる状態である。特に、状態５および状態７は、通信可能なノードの中に、高密度エリアに設置されたノードが存在することを示しているため、メッセージの不到達が発生しうる状態である蓋然性が高いといえる。
【００５４】
図８に示した状態９、状態１０、状態１３および状態１４は、ノード２０が通信可能なノードの中に孤立ノードが存在することを示しており、ノード２０自身が送信抑制を行うことによって、周辺ノードに対するメッセージの不到達が発生しうる状態である。特に、状態９および状態１０は、自ノードが高密度エリアに設置されていることを示しているため、メッセージの不到達が発生しうる状態である蓋然性が高いといえる。
【００５５】
本実施の形態のノード２０は、実施の形態１および２で示した手順に従って行う判定結果（自身の周辺状態）および通信可能なノードから収集した情報に基づいて行う判定結果（通信可能なノードの周辺状態）の組み合わせが図８に示した状態１から１６（実際には５から１６）のいずれに該当するのかを検知すると、実施の形態１や２と同様の方法にて、検知結果をネットワーク管理者などに通知する。
【００５６】
また、ノード２０は、上記検知結果の通知と同時に、メッセージの不到達が発生しうる状態を改善するための制御を行う。なお、この制御によって上記状態（メッセージの不到達が発生しうる状態）が直ちに改善される場合には、上記検知結果の通知を行わないようにしてもよい。上記検知結果の表示および状態改善のための制御は、上述した蓋然性を検知の精度の高低とみなし、検知の精度によって実行するか否かを決定してもよい。例えば、状態改善のための制御は検知精度が高い場合にのみ行うようにする。
【００５７】
以下、メッセージの不到達が発生しうる状態を改善するための制御方法の例を示す。
【００５８】
（制御方法１）
ノード２０は、通信可能なノードの中に孤立ノードが存在する状態を検知した場合、Ｔｒｉｃｋｌｅアルゴリズムの動作パラメータを変更し、自身の送信頻度が上がるように制御する。具体的には、実施の形態１で説明したパラメータのうち、τｍｉｎを減少させる、または、ｋを増加させることにより、自身の送信頻度を上げる。
【００５９】
（制御方法２）
ノード２０は、通信可能なノードの中に孤立ノードが存在する状態を検知した場合、Ｔｒｉｃｋｌｅアルゴリズムの動作を一時的に無視する。具体的には、上記状態が解消されるまでの間、ブロードキャストメッセージの送信を一定もしくは不定の周期で実行する（送信を抑制しない）。または、一定回数、ブロードキャストメッセージの送信を一定もしくは不定の周期で実行する。
【００６０】
（制御方法３）
ノード２０は、自身が孤立ノードであることを検知した場合、アプリケーションの機能により、ブロードキャストメッセージの不到達が発生しても問題が発生しない制御を実行する。例えば、アプリケーションが有する、ブロードキャストメッセージの到達を監視するタイマを延長することにより、メッセージの不到達が発生しても、タイムアウトが発生しない（通信障害発生と判定しない）ようにする。
【００６１】
（制御方法４）
ノード２０は、自身が孤立ノードであることを検知した場合、通信可能なノードの一部または全部に対して、ブロードキャストメッセージの送信頻度を必要以上に下げないように依頼する。例えば、ある時刻にブロードキャストメッセージの送信を要求することを意味する電文を送信し、この電文を受信したノードは、受信した電文を解釈し、指定された時刻に送信元に対してブロードキャストメッセージの送信を行う。
【００６２】
上述した制御方法１から４のうち、少なくとも一つを実施することにより、ブロードキャストメッセージを長時間にわたって受信できないノードが発生するのを回避できる。制御方法１および２は、孤立ノード（自身のみに接続している他のノード）を検出したノードが自身の送信頻度を調整することによりメッセージの不到達が発生しうる状態を改善する方法である。制御方法３および４は、自身が孤立ノードの場合に、メッセージの不到達を想定した制御（問題が発生しないようにする制御）を行う、または、通信可能なノードに対して、メッセージの送信間隔が必要以上に大きくならないよう（問題が発生しない程度の間隔を維持するよう）要求することにより、問題が発生するのを回避する方法である。例えば、本実施の形態においては、第１のノードが、自身が孤立ノードであることを検知した場合、この第１のノードと通信可能な第２のノードにおいては、第１のノードが孤立ノードであることを検知できるため、第１のノードと第２のノードのいずれか一方が、孤立ノードが存在している場合の対策（上記の制御方法１から４に相当）を実施することにより、不具合が発生するのを回避できる。
【００６３】
通信可能なノードに孤立ノードが存在することを検知した場合の制御（上記の制御方法１，２）と自身が孤立ノードであることを検知した場合の制御（上記の制御方法３，４）の双方を実施する構成とした場合（例えば、上記の制御方法１と制御方法３を実施する構成とした場合）、制御方法１から４のいずれか一つを実施する場合と比較して、より確実に、不具合が発生するのを回避できる。
【００６４】
このように、本実施の形態のノードは、同じメッセージの受信間隔に基づいて、自身が孤立ノードか否かを判定するとともに、メッセージの送信間隔および一定時間内における送信抑制の発生回数の少なくとも一方に基づいて、自身が高密度エリアに設置されているノードか否かを判定する。また、ノードは、自身の周辺状態（孤立ノード、高密度エリアに設置されているノード、その他のノードのいずれに該当するか）を判別可能な情報を挿入したメッセージを送信し、通信可能なノードに対して自身の周辺状態を通知することとした。さらに、自身が孤立ノードであることを検知した場合および通信可能なノードの中に孤立ノードが存在することを検知した場合の少なくとも一方において、検知結果を考慮した制御を行う。これにより、上述した実施の形態１と同じ効果をより高い精度で得ることができるとともに、通信可能なノードの周辺状態（孤立ノードか否か）を検知することができる。また、ノード自身および通信可能なノードの周辺状態に応じた制御を行うことによって、メッセージの不到達が発生するのを回避できる、または、メッセージの不到達発生に伴い不具合が発生するのを回避できる。
【００６５】
ノードは、自身が孤立ノードか否かを判定する動作、および通信可能なノードが孤立ノードか否かを判定する動作において、受信メッセージの送信元ノードの識別子を使用しないため、メモリ使用量を抑えることができる。
【００６６】
なお、実施の形態１から３においては、ノード２０にＴｒｉｃｋｌｅアルゴリズムが適用されている場合の動作例について説明したが、同様のアルゴリズムが適用されたノード、すなわち、メッセージの受信頻度に応じて送信頻度を変化させる（受信頻度が高い場合は送信頻度を下げる制御を行う）ノードであれば、実施の形態１から３で説明した動作を適用できる。
【産業上の利用可能性】
【００６７】
以上のように、本発明にかかるノード装置は、無線メッシュネットワークを構成するノード装置として有用である。
【符号の説明】
【００６８】
１０  無線メッシュネットワーク、２０，２０1から２０10  ノード装置、２１  無線通信部、２２  メッセージ送受信部、２３  アプリケーション部、２４  記憶部、２５  通信アンテナ。
【図１】
2015144393.tif 000003
【図２】
2015144393.tif 000004
【図３】
2015144393.tif 000005
【図４】
2015144393.tif 000006
【図５】
2015144393.tif 000007
【図６】
2015144393.tif 000008
【図７】
2015144393.tif 000009
【図８】
2015144393.tif 000010