(57)【要約】  通信装置（１０２）は、基準ホップ数の登録要求を送信し、各ノード（１０１）は、登録要求を受信すると、登録要求自体のホップ数を取得して、基準ホップ数として登録する。ここで、各ノード（１０１）は、センサーから測定したデータを通信装置（１０２）に送信する際に、基準ホップ数を付与して送信する。そして、通信装置（１０２）は、各ノード（１０１）から送信されたセンサーデータを受信し、受信したセンサーデータの実際のホップ数と、受信したセンサーデータに付与された基準ホップ数とを、比較して、ノード群（１０１ｓ）に含まれるいずれかのノード（１０１）に故障が発生したか否かを判定する。
2015029250.tif 000002
【特許請求の範囲】
【請求項１】
ノード間でマルチホッピング通信するノード群と、前記ノード群に含まれるノードと通信する通信装置と、を有するシステムにおいて、
前記ノードは、前記ノードが送信するデータが前記マルチホッピング通信により転送される度に更新されるホップ数と、前記ノードから前記通信装置に前記データが転送されるまでの基準ホップ数とを、前記データに付与して送信し、
前記通信装置は、前記データを受信すると、前記データに付与されたホップ数と前記基準ホップ数とを比較し、比較結果に基づいて、前記ノード群のいずれかのノードに故障が発生したか否かを判定する、
ことを特徴とするシステム。
【請求項２】
前記通信装置は、前記通信装置が送信する前記基準ホップ数の登録要求が前記マルチホッピング通信により転送される度に更新されるホップ数を、前記登録要求に付与して送信し、
前記ノードは、前記登録要求に付与されたホップ数を前記基準ホップ数として記憶装置に記憶し、前記データが前記マルチホッピング通信により転送される度に更新されるホップ数と、前記記憶装置に記憶した前記基準ホップ数とを、前記データに付与して送信することを特徴とする請求項１に記載のシステム。
【請求項３】
前記通信装置は、判定した結果と前記基準ホップ数とを対応付けて出力することを特徴とする請求項１または２に記載のシステム。
【請求項４】
前記通信装置は、判定した結果と前記基準ホップ数と前記通信装置の識別情報とを対応付けて出力することを特徴とする請求項１または２に記載のシステム。
【請求項５】
前記通信装置は、前記データに付与されたホップ数が前記基準ホップ数より所定数以上大きい場合に、前記ノード群のいずれかのノードに故障が発生したと判定することを特徴とする請求項１〜４のいずれか一つに記載のシステム。
【請求項６】
前記通信装置は、前記データを複数受信し、前記データに付与されたホップ数が前記基準ホップ数より所定数以上大きいときが、所定回数以上あった場合に、前記ノード群のいずれかのノードに故障が発生したと判定することを特徴とする請求項１〜４のいずれか一つに記載のシステム。
【請求項７】
前記システムは、前記通信装置を複数有し、
前記ノードは、前記データが前記マルチホッピング通信により転送される度に更新されるホップ数と、前記ノードから前記通信装置に前記データが転送されるまでの前記通信装置ごとの基準ホップ数とを、前記データに付与して送信し、
前記通信装置は、前記データを受信すると、前記データに付与されたホップ数と、前記前記通信装置ごとの基準ホップ数のうちの自通信装置の基準ホップ数とを比較することを特徴とする請求項１に記載のシステム。
【請求項８】
ノード間でマルチホッピング通信するノード群に含まれるノードであって、
自ノードから通信装置に送信するデータが前記マルチホッピング通信により転送される度に更新されるホップ数と、自ノードから前記通信装置に前記データが転送されるまでの基準ホップ数とを、前記データに付与する付与部と、
前記付与部によって付与された前記データを送信する送信部と、
を有することを特徴とするノード。
【請求項９】
ノード間でマルチホッピング通信するノード群に含まれるノードが送信したデータに付与された、前記ノードから当該ノードと通信する通信装置に前記データが転送されるまでの基準ホップ数と、前記マルチホッピング通信により前記データが転送される度に更新されたホップ数とを比較し、比較結果に基づいて、前記ノード群のいずれかのノードに故障が発生したか否かを判定する制御部、
を有することを特徴とする故障判定装置。
【請求項１０】
ノード間でマルチホッピング通信するノード群に含まれるノードが、
自ノードが送信するデータが前記マルチホッピング通信により転送される度に更新されるホップ数と、前記ノードから通信装置に前記データが転送されるまでの基準ホップ数とを、前記データに付与して送信する、
処理を実行することを特徴とする故障判定方法。
【請求項１１】
コンピュータが、
ノード間でマルチホッピング通信するノード群に含まれるノードが送信したデータに付与された、前記ノードから当該ノードと通信する通信装置に前記データが転送されるまでの基準ホップ数と、前記マルチホッピング通信により前記データが転送される度に更新されたホップ数とを比較し、比較結果に基づいて、前記ノード群のいずれかのノードに故障が発生したか否かを判定する、
処理を実行することを特徴とする故障判定方法。
【請求項１２】
ノード間でマルチホッピング通信するノード群に含まれるノードに、
自ノードが送信するデータが前記マルチホッピング通信により転送される度に更新されるホップ数と、前記ノードから通信装置に前記データが転送されるまでの基準ホップ数とを、前記データに付与して送信する、
処理を実行させることを特徴とする故障判定プログラム。
【請求項１３】
コンピュータに、
ノード間でマルチホッピング通信するノード群に含まれるノードが送信したデータに付与された、前記ノードから当該ノードと通信する通信装置に前記データが転送されるまでの基準ホップ数と、前記マルチホッピング通信により前記データが転送される度に更新されたホップ数とを比較し、比較結果に基づいて、前記ノード群のいずれかのノードに故障が発生したか否かを判定する、
処理を実行させることを特徴とする故障判定プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、システム、ノード、故障判定装置、故障判定方法、および故障判定プログラムに関する。
【背景技術】
【０００２】
従来、センサーを有するノードを所定空間に散在させ、ノード間のマルチホッピング通信により各ノードが有するセンサーのデータをアグリゲータとなる通信装置に収集して、所定空間の物理的状況を把握することを可能とするネットワーク（ＷＳＮ：Ｗｉｒｅｌｅｓｓ  Ｓｅｎｓｏｒ  Ｎｅｔｗｏｒｋｓ）がある。【０００３】
また、設置された環境に応じて得られるエネルギーを用いて発電する、エナジーハーベストと呼ばれる技術がある。また、通信の終了時に受信側から送信側にＡＣＫ（ＡＣＫｎｏｗｌｅｄｇｅｍｅｎｔ）を送信することにより、正常にデータが到達したことを送信側に伝える技術がある。【０００４】
関連する技術としては、例えば、メッシュネットワークにおいて、ノードが通信フレームの異常判定を行うものがある。具体的には、ノードが、自ノード宛ての通信フレーム内のホップ数を確認し、確認したホップ数が最大ホップ数格納部に格納されている最大ホップ数と同じか否かを判断し、ホップ数が最大ホップ数と同じでない場合、異常な通信フレームであると判定する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１２−１５７０６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、従来技術によれば、システム内のいずれかのノードに故障が発生したか否かを判定することが困難である場合がある。例えば、ＡＣＫに基づいてノードの異常を判定する場合、受信側のノードが正常に動作していても、送信側のノードが受信側のノードからのＡＣＫを受信できず、受信側のノードが異常であると判定してしまうことがある。【０００７】
具体的には、送信側のノードが、距離が近い他のノードによる電波の影響によりＡＣＫを受信できない場合がある。また、具体的には、エナジーハーベストにより発電された電力を用いて動作する送信側のノードが、電力不足によりＡＣＫを受信できない場合がある。また、エナジーハーベストにより発電された電力を用いて動作する受信側のノードは、電力不足によりＡＣＫを送信側のノードに送信できず、送信元のノードがＡＣＫを受信できない場合がある。【０００８】
１つの側面では、本発明は、システム内のいずれかのノードに故障が発生したか否かを判定することができるシステム、ノード、故障判定装置、故障判定方法、および故障判定プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明の一側面によれば、ノード間でマルチホッピング通信するノード群と、前記ノード群に含まれるノードと通信する通信装置と、を有し、前記ノードは、前記ノードが送信するデータが前記マルチホッピング通信により転送される度に更新されるホップ数と、前記ノードから前記通信装置に前記データが転送されるまでの基準ホップ数とを、前記データに付与して送信し、前記通信装置は、前記データを受信すると、前記データに付与されたホップ数と前記基準ホップ数とを比較し、比較結果に基づいて、前記ノード群のいずれかのノードに故障が発生したか否かを判定するシステムが提案される。【００１０】
また、本発明の一側面によれば、ノード間でマルチホッピング通信するノード群に含まれるノードが、自ノードが送信するデータが前記マルチホッピング通信により転送される度に更新されるホップ数と、前記ノードから通信装置に前記データが転送されるまでの基準ホップ数とを、前記データに付与して送信するノード、故障判定方法、および故障判定プログラムが提案される。【００１１】
また、本発明の一側面によれば、ノード間でマルチホッピング通信するノード群に含まれるノードが送信したデータに付与された、前記ノードから当該ノードと通信する通信装置に前記データが転送されるまでの基準ホップ数と、前記マルチホッピング通信により前記データが転送される度に更新されたホップ数とを比較し、比較結果に基づいて、前記ノード群のいずれかのノードに故障が発生したか否かを判定する故障判定装置、故障判定方法、および故障判定プログラムが提案される。
【発明の効果】
【００１２】
本発明の一態様によれば、システム内のいずれかのノードに故障が発生したか否かを判定することができるという効果を奏する。
【図面の簡単な説明】
【００１３】
【図１】図１は、本実施の形態にかかるシステム１００の動作例を示す説明図である。
【図２】図２は、センサーネットワークシステム２００の接続例を示す説明図である。
【図３】図３は、サーバ２０１のハードウェア構成例を示すブロック図である。
【図４】図４は、通信装置１０２のハードウェア構成例を示すブロック図である。
【図５】図５は、制御データ５００のデータ構造の一例を示す説明図である。
【図６】図６は、ノード１０１のハードウェア構成例を示すブロック図である。
【図７】図７は、基準ホップ数テーブル７００の記憶内容の一例を示す説明図である。
【図８】図８は、送信データ８００のデータ構造の一例を示す説明図である。
【図９】図９は、ノード１０１の機能的構成例を示すブロック図である。
【図１０】図１０は、故障判定装置１０００の機能的構成例を示すブロック図である。
【図１１】図１１は、登録動作の一例を示す説明図（その１）である。
【図１２】図１２は、登録動作の一例を示す説明図（その２）である。
【図１３】図１３は、故障判定動作の一例を示す説明図（その１）である。
【図１４】図１４は、故障判定動作の一例を示す説明図（その２）である。
【図１５】図１５は、故障判定動作の一例を示す説明図（その３）である。
【図１６】図１６は、故障判定動作の一例を示す説明図（その４）である。
【図１７】図１７は、故障判定動作の一例を示す説明図（その５）である。
【図１８】図１８は、故障範囲特定動作の一例を示す説明図である。
【図１９】図１９は、閾値設定の一例を示す説明図である。
【図２０】図２０は、基準ホップ数テーブル７００の登録にかかる協調動作の一例を示すシーケンス図である。
【図２１】図２１は、故障判定にかかる協調動作の一例を示すシーケンス図である。
【図２２】図２２は、メンテナンスにかかる協調動作の一例を示すシーケンス図である。
【図２３】図２３は、サーバ２０１の送信指示処理手順の一例を示すフローチャートである。
【図２４】図２４は、サーバ２０１の故障通知処理手順の一例を示すフローチャートである。
【図２５】図２５は、サーバ２０１の運用停止の実行指示処理手順の一例を示すフローチャートである。
【図２６】図２６は、通信装置１０２の登録要求処理手順の一例を示すフローチャートである。
【図２７】図２７は、通信装置１０２の運用開始処理手順の一例を示すフローチャートである。
【図２８】図２８は、通信装置１０２の運用停止処理手順の一例を示すフローチャートである。
【図２９】図２９は、通信装置１０２の故障判定処理手順の一例を示すフローチャートである。
【図３０】図３０は、通信装置１０２の比較処理手順の一例を示すフローチャートである。
【図３１】図３１は、ノード１０１の運用処理手順の一例を示すフローチャートである。
【発明を実施するための形態】
【００１４】
以下に添付図面を参照して、本発明にかかるシステム、ノード、故障判定装置、故障判定方法、および故障判定プログラムの実施の形態を詳細に説明する。
【００１５】
（本実施の形態にかかるシステムの動作例）
図１は、本実施の形態にかかるシステム１００の動作例を示す説明図である。図１において、本実施の形態にかかるシステム１００は、通信装置１０２と、ノード群１０１ｓと、を有する。ノード群１０１ｓは、ネットワーク１１０を形成する。
【００１６】
ノード群１０１ｓは、ノード１０１を含む。以下の説明では、個々のノード１０１を区別する場合はノード１０１に接尾語「−ｉ」を付与して表記する場合がある。ｉは、任意の自然数である。すなわち、以下の説明では、ノード１０１を「ノード１０１−ｉ」と表記する場合がある。
【００１７】
各ノード１０１は、自ノード１０１が設置された環境に応じて得られるエネルギーを用いて発電するエナジーハーベスト素子を有し、エナジーハーベスト素子により発生する電力を充電する充電部に充電された電力を用いて動作するコンピュータである。各ノード１０１は、所定領域Ａ内に配置される。所定領域Ａは、例えば、コンクリート、土、水、空気などの物質で満たされた領域である。
【００１８】
各ノード１０１は、十分に蓄電されると起動し、データを送信してスリープするという間欠動作を行う。また、エナジーハーベスト素子により発生する電力は限られるため、各ノード１０１は、電力消費が少ない短距離無線通信能力を有しており、マルチホップ通信によりデータを送受信する。また、各ノード１０１は、センサーを有する。各ノード１０１は、自ノード１０１が有するセンサーから、所定領域Ａ内の温度、湿度、応力といったデータを測定する。
【００１９】
通信装置１０２は、各ノード１０１からセンサーのデータを収集する収集装置となるコンピュータである。通信装置１０２は、いわゆるアグリゲータである。通信装置１０２は、複数あってもよい。以下の説明では、個々の通信装置１０２を区別する場合は通信装置１０２に接尾語「−ｊ」を付与して表記する場合がある。ｊは、任意の自然数である。すなわち、以下の説明では、通信装置１０２を「通信装置１０２−ｊ」と表記する場合がある。ネットワーク１１０は、ノード群１０１ｓに含まれる各ノード１０１が短距離無線通信を用いて自ノード１０１の通信圏内の他ノード１０１と接続することにより形成される通信網である。通信圏とは、無線電波の到達可能な範囲である。
【００２０】
以下に、図１の（Ａ）と図１の（Ｂ）とを用いてシステム１００の具体的な動作例を示す。図１の（Ａ）の状態は、ノード群１０１ｓに含まれるノード１０１に故障が発生していない状態である。図１の（Ｂ）は、図１の（Ａ）の状態以降の状態であって、ノード群１０１ｓに含まれるいずれかのノード１０１に故障が発生した状態である。
【００２１】
図１の（Ａ）において、通信装置１０２は、基準ホップ数の登録要求を送信する。基準ホップ数とは、各ノード１０１が送信したデータがマルチホッピング通信により通信装置１０２に転送されるまでのデータのホップ数の基準値になるホップ数である。
【００２２】
各ノード１０１は、登録要求を受信すると、登録要求自体のホップ数を取得して、基準ホップ数として登録する。例えば、図１に●で示されたノード１０１−１は、通信装置１０２から送信され、図１に○で示された他のノード１０１−２，３から転送された登録要求を受信する。次に、ノード１０１−１は、受信した登録要求のホップ数「３」を、基準ホップ数として記憶する。
【００２３】
ここで、ノード群１０１ｓのいずれかのノード１０１に故障が発生したとして、図１の（Ｂ）の説明に移行する。このとき、ノード１０１は、いずれかのノード１０１に故障が発生したことを検出していない。同様に、通信装置１０２は、いずれかのノード１０１に故障が発生したことを検出していない。
【００２４】
図１の（Ｂ）において、各ノード１０１は、センサーから測定したデータを通信装置１０２に送信する際に、基準ホップ数を付与して送信する。以下の説明では、センサーから測定したデータを「センサーデータ」と表記する場合がある。通信装置１０２は、各ノード１０１から送信されたセンサーデータを受信し、受信したセンサーデータの実際のホップ数と、受信したセンサーデータに付与された基準ホップ数とを、比較して、ノード群１０１ｓに含まれるいずれかのノード１０１に故障が発生したか否かを判定する。
【００２５】
例えば、通信装置１０２は、図１に●で示されたノード１０１−１から送信され、図１に○で示された他のノード１０１−３〜５から転送されたセンサーデータを受信する。次に、通信装置１０２は、受信したセンサーデータの実際のホップ数「４」と、受信したセンサーデータに付与された基準ホップ数「３」と、を比較する。そして、通信装置１０２は、実際のホップ数が基準ホップ数より多いため、ノード群１０１ｓに含まれるいずれかのノード１０１に故障が発生したと判定する。
【００２６】
このように、ノード群１０１ｓに含まれるいずれかのノード１０１に故障が発生した場合には、当該いずれかのノード１０１を迂回して通信が行われるようになるため、ホップ数が増加することになる。これにより、通信装置１０２は、ノード群１０１ｓに含まれるいずれかのノード１０１に故障が発生したか否かを判定することができる。
【００２７】
（センサーネットワークシステム２００の接続例）
次に、図２を用いて、図１に示したシステム１００を、センサーネットワークシステム２００に適用した場合の、センサーネットワークシステム２００の接続例について説明する。
【００２８】
図２は、センサーネットワークシステム２００の接続例を示す説明図である。センサーネットワークシステム２００は、通信装置１０２と、ノード群１０１ｓと、サーバ２０１と、利用者端末２０２と、を有する。ノード群１０１ｓは、ネットワーク１１０を形成する。通信装置１０２と、サーバ２０１と、利用者端末２０２とは、ネットワーク２１０を介して接続される。
【００２９】
サーバ２０１は、センサーネットワークシステム２００を利用するユーザが利用するコンピュータである。サーバ２０１は、通信装置１０２から送信された通信装置１０２が収集したセンサーデータを受信し、センサーデータを集約して、解析処理を行う。利用者端末２０２は、通信装置１０２やサーバ２０１と通信するコンピュータである。
【００３０】
ネットワーク１１０は、短距離無線通信を用いてノード群１０１ｓを接続する通信網である。ネットワーク２１０は、有線信号または無線信号により複数のコンピュータを接続する通信網である。ネットワーク２１０は、例えば、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）である。
【００３１】
（サーバ２０１のハードウェア構成例）
次に、図３を用いて、図２に示したセンサーネットワークシステム２００が有するサーバ２０１のハードウェア構成例について説明する。
【００３２】
図３は、サーバ２０１のハードウェア構成例を示すブロック図である。図３において、サーバ２０１は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）３０１と、ＲＯＭ（Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ）３０２と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）３０３と、を有する。
【００３３】
また、サーバ２０１は、大容量不揮発メモリ３０４と、ネットワークＩ／Ｆ３０５と、を有する。また、サーバ２０１は、ディスプレイ３０６と、キーボード３０７と、マウス３０８とを有する。また、ＣＰＵ３０１〜マウス３０８はバス３０９によってそれぞれ接続される。
【００３４】
ＣＰＵ３０１は、サーバ２０１の全体の制御を司る演算処理装置である。ＲＯＭ３０２は、ブートプログラムなどのプログラムを記憶する不揮発性メモリである。ＲＡＭ３０３は、ＣＰＵ３０１のワークエリアとして使用される揮発性メモリである。
【００３５】
大容量不揮発メモリ３０４は、読書可能な記憶装置であって、電力供給が途絶えたときにおいても書き込まれた所定のデータを保持する。例えば、大容量不揮発メモリ３０４は、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）、フラッシュメモリ等が採用される。
【００３６】
ネットワークＩ／Ｆ３０５は、ネットワーク２１０と内部のインターフェースを司り、外部装置からのデータの入出力を制御する制御装置である。具体的に、ネットワークＩ／Ｆ３０５は、通信回線を通じてネットワーク２１０に接続され、ネットワーク２１０を介して他の装置に接続される。ネットワークＩ／Ｆ３０５には、例えば、モデムやＬＡＮアダプタなどを採用することができる。
【００３７】
ディスプレイ３０６は、マウスカーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する装置である。ディスプレイ３０６には、例えば、ＣＲＴ（Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅ）、ＴＦＴ（Ｔｈｉｎ  Ｆｉｌｍ  Ｔｒａｎｓｉｓｔｏｒ）液晶ディスプレイ、プラズマディスプレイなどを採用することができる。
【００３８】
キーボード３０７は、文字、数字、各種指示などの入力のためのキーを有し、データの入力を行う装置である。また、キーボード３０７は、タッチパネル式の入力パッドやテンキーなどであってもよい。マウス３０８は、マウスカーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などを行う装置である。マウス３０８は、ポインティングデバイスとして同様に機能を有するものであれば、トラックボールやジョイスティックなどであってもよい。
【００３９】
（利用者端末２０２のハードウェア構成例）
次に、利用者端末２０２のハードウェア構成例について説明する。利用者端末２０２のハードウェア構成例は、図３に示したサーバ２０１のハードウェア構成例と同様である。利用者端末２０２は、例えば、スマートフォン、携帯端末、ＰＤＡなどである。
【００４０】
（通信装置１０２のハードウェア構成例）
次に、図４を用いて、図２に示したセンサーネットワークシステム２００が有する通信装置１０２のハードウェア構成例について説明する。
【００４１】
図４は、通信装置１０２のハードウェア構成例を示すブロック図である。通信装置１０２は、プロセッサ（ＣＰＵ）４０１と、ＲＯＭ４０２と、ＲＡＭ４０３と、不揮発メモリ４０４と、インターフェース（Ｉ／Ｏ（Ｉｎｐｕｔ／Ｏｕｔｐｕｔ））回路４０５と、無線通信回路４１１と、アンテナ４１２と、ネットワークＩ／Ｆ４１３と、を有する。
【００４２】
また、通信装置１０２は、ＣＰＵ４０１と、ＲＯＭ４０２と、ＲＡＭ４０３と、不揮発メモリ４０４と、Ｉ／Ｏ回路４０５と、を接続するバス４０６を有する。通信装置１０２は、ノード１０１と異なり外部電源に基づき動作してもよいし、内部電源に基づき動作してもよい。
【００４３】
ＣＰＵ４０１は、通信装置１０２全体の制御を司る演算処理装置である。ＲＯＭ４０２は、ブートプログラムなどのプログラムを記憶する不揮発性メモリである。ＲＡＭ４０３は、ＣＰＵ４０１のワークエリアとして使用される揮発性メモリである。不揮発メモリ４０４は、読書可能な記憶装置であって、電力供給が途絶えたときにおいても書き込まれた所定のデータを保持する。例えば、不揮発メモリ４０４は、ＨＤＤ、フラッシュメモリ等が採用される。
【００４４】
また、Ｉ／Ｏ回路４０５には、無線通信回路４１１と、ネットワークＩ／Ｆ４１３が接続される。これにより、通信装置１０２は、無線通信回路４１１およびアンテナ４１２を介して、周辺のノード１０１と無線通信することができる。さらに、通信装置１０２は、ネットワークＩ／Ｆ４１３を介して、ＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）のプロトコル処理などにより、インターネットなどのネットワーク２１０を介して利用者端末２０２やサーバ２０１と通信を行うことができる。
【００４５】
（制御データ５００のデータ構造）
次に、図５を用いて、図４に示した通信装置１０２が送信する登録要求を含む制御データ５００のデータ構造の一例について説明する。
【００４６】
図５は、制御データ５００のデータ構造の一例を示す説明図である。図５に示すように、制御データ５００は、識別フラグの領域５０１と、通信装置ＩＤの領域５０２と、ホップ数の領域５０３とを、含む。識別フラグは、登録要求であることを表すフラグである。通信装置ＩＤは、登録要求を送信した通信装置１０２を識別するデータである。ホップ数は、登録要求のホップ数である。ホップ数は、登録要求がノード１０１に転送される度に更新される。
【００４７】
（ノード１０１のハードウェア構成例）
次に、図６を用いて、図２に示したセンサーネットワークシステム２００が有するノード群１０１ｓに含まれるノード１０１のハードウェア構成例について説明する。
【００４８】
図６は、ノード１０１のハードウェア構成例を示すブロック図である。ノード１０１は、マイクロプロセッサ（ＭＣＵ：Ｍｉｃｒｏ  Ｃｏｎｔｒｏｌ  Ｕｎｉｔ）６０１と、センサー６０２と、無線通信回路６０３と、ＲＡＭ６０４と、ＲＯＭ６０５と、不揮発メモリ６０６と、アンテナ６０７と、ハーベスタ６０８と、バッテリ６０９と、ＰＭＵ（Ｐｏｗｅｒ  Ｍａｎａｇｅｍｅｎｔ  Ｕｎｉｔ）６１０と、を有する。ノード１０１は、ＭＣＵ６０１と、センサー６０２と、無線通信回路６０３と、ＲＡＭ６０４と、ＲＯＭ６０５と、不揮発メモリ６０６と、を接続するバス６１１を有する。
【００４９】
ＭＣＵ６０１は、ノード１０１の全体の制御を司る演算処理装置である。例えば、ＭＣＵ６０１は、センサー６０２が検出したデータを処理する。センサー６０２は、設置箇所における所定の変位量を検出する装置である。センサー６０２は、例えば、設置箇所の圧力を検出する圧電素子や、温度を検出する素子、光を検出する光電素子などを用いることができる。
【００５０】
アンテナ６０７は、親機になる通信装置１０２と無線通信する電波を送受信する。無線通信回路６０３（ＲＦ（Ｒａｄｉｏ  Ｆｒｅｑｕｅｎｃｙ））は、受信した無線電波を受信信号として出力し、送信信号を無線電波としてアンテナ６０７を介して送信する。無線通信回路６０３は、数１０ｃｍ付近にある他ノード１０１と通信可能とする短距離無線通信が採用された通信回路でよい。
【００５１】
ＲＡＭ６０４は、ＭＣＵ６０１における処理の一時データを格納する記憶装置である。ＲＯＭ６０５は、ＭＣＵ６０１が実行する処理プログラムなどを格納する記憶装置である。不揮発メモリ６０６は、書き込み可能な記憶装置であって、電力供給が途絶えたときにおいても書き込まれた所定のデータを保持する。例えば、不揮発メモリ６０６は、フラッシュメモリ等が採用される。
【００５２】
ハーベスタ６０８は、図１で説明したエナジーハーベスト素子であり、ノード１０１の設置箇所における外部環境、例えば、光、振動、温度、無線電波（受信電波）などのエネルギー変化に基づき発電する装置である。また、ハーベスタ６０８は、センサー６０２によって検出された変位量に応じて発電してもよい。
【００５３】
バッテリ６０９は、ハーベスタ６０８により発電された電力を蓄える装置である。すなわち、ノード１０１は、二次電池や外部電源などが不要であり、動作に要求される電力を自装置の内部で生成する。ＰＭＵ６１０は、バッテリ６０９によって蓄えられた電力を、ノード１０１の各部に駆動電源として供給する制御を行う装置である。
【００５４】
（基準ホップ数テーブル７００の記憶内容）
次に、図７を用いて、図６に示したノード１０１が有する基準ホップ数テーブル７００の記憶内容の一例について説明する。基準ホップ数テーブル７００は、例えば、図６に示したＲＡＭ６０４、不揮発メモリ６０６などの記憶領域によって実現される。
【００５５】
図７は、基準ホップ数テーブル７００の記憶内容の一例を示す説明図である。図７に示すように、基準ホップ数テーブル７００は、通信装置ＩＤ項目に対応付けて、基準ホップ数項目を有し、通信装置１０２ごとに各項目に情報が設定されることにより、レコードを記憶する。
【００５６】
通信装置ＩＤ項目には、受信した登録要求に含まれる通信装置ＩＤが記憶される。基準ホップ数項目には、受信した登録要求に含まれる基準ホップ数が記憶される。例えば、レコード７０１は、通信装置ＩＤ「Ａ」と、基準ホップ数「４」と、を含む基準ホップ数情報を示す。
【００５７】
（送信データ８００のデータ構造）
次に、図８を用いて、図６に示したノード１０１が送信するセンサーデータを含む送信データ８００のデータ構造の一例について説明する。
【００５８】
図８は、送信データ８００のデータ構造の一例を示す説明図である。図８に示すように、送信データ８００は、識別フラグの領域８０１と、基準ホップ数テーブル７００の領域８０２と、ホップ数の領域８０３と、センサーデータの領域８０４とを、含む。識別フラグは、センサーデータであることを表すフラグである。基準ホップ数テーブル７００は、図７に示した基準ホップ数テーブル７００の複製データである。ホップ数は、送信データ８００のホップ数を表すデータである。ホップ数は、送信データ８００がノード１０１に転送される度に更新される。センサーデータは、センサーから測定したデータである。
【００５９】
（ノード１０１の機能的構成例）
次に、図９を用いて、ノード１０１の機能的構成例について説明する。
【００６０】
図９は、ノード１０１の機能的構成例を示すブロック図である。ノード１０１は、記憶部９０１と、受信部９０２と、制御部９０３と、送信部９０４と、を含む。受信部９０２と、制御部９０３と、送信部９０４とは、例えば、図６に示したＲＡＭ６０４、ＲＯＭ６０５、不揮発メモリ６０６などの記憶装置に記憶されたプログラムをＭＣＵ６０１に実行させることにより、または、無線通信回路６０３により、その機能を実現する。
【００６１】
記憶部９０１は、基準ホップ数テーブル７００を記憶する。記憶部９０１は、例えば、図６に示したＲＡＭ６０４、不揮発メモリ６０６などの記憶装置により、その機能を実現する。これにより、制御部９０３は、送信するデータに、記憶部９０１に記憶された基準ホップ数テーブル７００を付与することができる。
【００６２】
受信部９０２は、登録要求を受信する。ここで、登録要求とは、基準ホップ数を基準ホップ数テーブル７００に登録させる要求である。基準ホップ数とは、各ノード１０１が送信したデータがマルチホッピング通信により通信装置１０２に転送されるまでのデータのホップ数の基準値になるホップ数である。受信部９０２は、例えば、登録要求を含む制御データ５００を受信する。これにより、制御部９０３は、受信部９０２によって受信された登録要求に基づいて、基準ホップ数を基準ホップ数テーブル７００に登録することができる。
【００６３】
制御部９０３は、登録要求に付与されたホップ数を基準ホップ数として記憶部９０１に記憶する。制御部９０３は、例えば、登録要求を含む制御データ５００から通信装置ＩＤとホップ数とを抽出し、抽出した通信装置ＩＤとホップ数とを対応付けたレコードを、基準ホップ数テーブル７００に登録する。これにより、制御部９０３は、送信するデータに、記憶部９０１に記憶された基準ホップ数テーブル７００を付与することができる。
【００６４】
また、制御部９０３は、抽出した通信装置ＩＤを含むレコードが基準ホップ数テーブル７００に既に記憶されている場合、抽出したホップ数と、基準ホップ数テーブル７００に記憶されたホップ数とを、比較する。そして、制御部９０３は、抽出したホップ数の方が小さい場合には、抽出した通信装置ＩＤとホップ数とを対応付けたレコードで、基準ホップ数テーブル７００のレコードを上書きする。これにより、制御部９０３は、送信するデータに、記憶部９０１に記憶された基準ホップ数テーブル７００を付与することができる。
【００６５】
制御部９０３は、センサーデータの送信イベントを検出する。ここで、センサーデータとは、センサーから計測されたデータである。制御部９０３は、例えば、センサーがセンサーデータを計測したことをセンサーデータの送信イベントとして検出する。また、制御部９０３は、例えば、センサーデータの送信要求を受信したことを送信イベントとして検出する。これにより、制御部９０３は、センサーデータを含む送信データ８００の作成を開始することができる。
【００６６】
制御部９０３は、自ノード１０１から通信装置１０２に送信するデータがマルチホッピング通信により転送される度に更新されるホップ数と、自ノード１０１から通信装置１０２にデータが転送されるまでの基準ホップ数とを、データに付与する。ここで、マルチホッピング通信とは、各ノード１０１が通信圏内の或るノードからのデータを通信圏内の他のノードに転送することにより、データを各ノード１０１が中継して通信を行うことである。制御部９０３は、例えば、識別フラグと、基準ホップ数テーブル７００と、ホップ数とを、センサーデータに付与して、送信データ８００を作成する。これにより、送信部９０４は、センサーデータを含む送信データ８００を送信することができる。
【００６７】
送信部９０４は、制御部９０３によって作成された送信データ８００を送信する。これにより、通信装置１０２は、送信データ８００を受信することができる。そして、通信装置１０２は、送信データ８００に含まれるセンサーデータを収集したり、送信データ８００に含まれるホップ数と基準ホップ数とからノード群１０１ｓに含まれるいずれかのノード１０１に故障が発生したか否かを判定することができる。
【００６８】
（故障判定装置１０００の機能的構成例）
次に、図１０を用いて、故障判定装置１０００の機能的構成例について説明する。故障判定装置１０００は、例えば、図４に示した通信装置１０２によって実現される。また、故障判定装置１０００は、図３に示したサーバ２０１と図４に示した通信装置１０２との組み合わせによって実現されてもよい。また、故障判定装置１０００は、図３に示したサーバ２０１によって実現されてもよい。以下では、故障判定装置１０００を図４に示した通信装置１０２によって実現した場合について説明する。
【００６９】
図１０は、故障判定装置１０００の機能的構成例を示すブロック図である。故障判定装置１０００は、受信部１００１と、制御部１００２と、出力部１００３と、を含む。受信部１００１と、制御部１００２と、出力部１００３とは、例えば、図４に示したＲＯＭ４０２、ＲＡＭ４０３、不揮発メモリ４０４などの記憶装置に記憶されたプログラムをＣＰＵ４０１に実行させることにより、または、インターフェース回路４０５と、無線通信回路４１１とにより、その機能を実現する。ここで、故障判定装置１０００は、ノード１０１に基準ホップ数の登録要求を送信する動作と、故障判定を行う動作と、を行うことができる。
【００７０】
＜登録要求を送信する動作＞
まず、ノード１０１に基準ホップ数の登録要求を送信する動作について説明する。登録要求を送信する動作は、例えば、受信部１００１と、制御部１００２と、出力部１００３とにより実現される。
【００７１】
受信部１００１は、登録要求の送信指示を受信する。受信部１００１は、例えば、図３に示したサーバ２０１から送信された登録要求の送信指示、または図３に示した利用者端末２０２から送信された登録要求の送信指示を受信する。これにより、制御部１００２は、登録要求の作成を開始することができる。
【００７２】
ここでは、故障判定装置１０００が、通信装置１０２によって実現される場合について、受信部１００１の説明を行ったが、これに限らない。例えば、故障判定装置１０００が、サーバ２０１によって実現される場合、受信部１００１は、図３に示したキーボード３０７やマウス３０８の操作入力によって、登録要求の送信指示を受け付けてもよい。
【００７３】
制御部１００２は、通信装置１０２が送信する基準ホップ数の登録要求がマルチホッピング通信により転送される度に更新されるホップ数を、登録要求に付与して、制御データ５００を作成する。制御部１００２は、例えば、登録要求を表す識別フラグに、通信装置ＩＤと、ホップ数とを付与して、制御データ５００を作成する。これにより、出力部１００３は、制御データ５００を送信することができる。
【００７４】
ここでは、故障判定装置１０００が、通信装置１０２によって実現される場合について、制御部１００２の説明を行ったが、これに限らない。例えば、故障判定装置１０００が、サーバ２０１によって実現される場合、制御部１００２は、通信装置１０２をノード１０１との中継装置として、通信装置１０２に中継させる登録要求を含む制御データ５００を作成してもよい。
【００７５】
出力部１００３は、制御部１００２によって作成された制御データ５００を送信する。これにより、ノード１０１は、通信装置ＩＤと基準ホップ数とを対応付けたレコードを、基準ホップ数テーブル７００に登録することができる。
【００７６】
ここでは、故障判定装置１０００が、通信装置１０２によって実現される場合について、出力部１００３の説明を行ったが、これに限らない。例えば、故障判定装置１０００が、サーバ２０１によって実現される場合、出力部１００３は、通信装置１０２に制御データ５００を送信して、通信装置１０２に制御データ５００を中継させてもよい。
【００７７】
＜故障判定を行う動作＞
次に、故障判定を行う動作について説明する。故障判定を行う動作は、例えば、受信部１００１と、制御部１００２と、出力部１００３とにより実現される。
【００７８】
受信部１００１は、ノード１０１が送信した送信データ８００を受信する。これにより、制御部１００２は、受信部１００１によって受信された送信データ８００に含まれるホップ数と基準ホップ数テーブル７００とに基づいて、故障判定を行うことができる。
【００７９】
ここでは、故障判定装置１０００が、通信装置１０２によって実現される場合について、受信部１００１の説明を行ったが、これに限らない。例えば、故障判定装置１０００が、サーバ２０１によって実現される場合、受信部１００１は、ノード１０１が送信して通信装置１０２が受信した送信データ８００を、さらに通信装置１０２から受信してもよい。
【００８０】
制御部１００２は、データに付与されたホップ数と基準ホップ数とを比較し、比較結果に基づいて、ノード群１０１ｓのいずれかのノード１０１に故障が発生したか否かを判定する。制御部１００２は、例えば、送信データ８００に付与されたホップ数が基準ホップ数より所定数以上大きい場合に、ノード群１０１ｓのいずれかのノード１０１に故障が発生したと判定する。制御部１００２は、具体的には、送信データ８００に付与されたホップ数から基準ホップ数を減算して、差分を算出する。そして、制御部１００２は、差分が閾値Ａよりも大きいか否かを判定し、差分が閾値Ａよりも大きい場合にノード群１０１ｓのいずれかのノード１０１に故障が発生したと判定する。
【００８１】
また、制御部１００２は、例えば、データを複数受信し、データに付与されたホップ数が基準ホップ数より所定数以上大きいときが、所定回数以上あった場合に、ノード群１０１ｓのいずれかのノード１０１に故障が発生したと判定してもよい。制御部１００２は、具体的には、過去に受信した複数の送信データ８００の各々の送信データ８００について、送信データ８００に付与されたホップ数から基準ホップ数を減算して、差分を算出する。そして、制御部１００２は、差分が閾値Ａよりも大きいときが、閾値Ｂより多い回数あった場合に、ノード群１０１ｓのいずれかのノード１０１に故障が発生したと判定する。これにより、制御部１００２は、ノード群１０１ｓのいずれかのノード１０１に故障が発生したか否かを判定して、出力することができる。
【００８２】
ここでは、故障判定装置１０００が、通信装置１０２によって実現される場合について、制御部１００２の説明を行ったが、これに限らない。例えば、故障判定装置１０００が、サーバ２０１によって実現される場合、制御部１００２は、通信装置１０２から受信した送信データ８００に基づいて、ノード群１０１ｓのいずれかのノード１０１に故障が発生したか否かを判定してもよい。
【００８３】
出力部１００３は、判定結果と基準ホップ数とを対応付けて出力する。また、出力部１００３は、判定結果と基準ホップ数と通信装置１０２の識別情報とを対応付けて出力する。出力形式には、例えば、サーバ２０１への送信がある。これにより、利用者は、故障が発生した場所を特定することができる。
【００８４】
ここでは、故障判定装置１０００が、通信装置１０２によって実現される場合について、出力部１００３の説明を行ったが、これに限らない。例えば、故障判定装置１０００が、サーバ２０１によって実現される場合、出力部１００３は、判定結果と基準ホップ数と通信装置１０２の識別情報とを対応付けて、ディスプレイ３０６に表示してもよい。
【００８５】
（登録動作の一例）
次に、図１１および図１２を用いて、基準ホップ数テーブル７００の登録動作の一例について説明する。
【００８６】
図１１および図１２は、登録動作の一例を示す説明図である。図１１および図１２において、通信装置１０２は、登録要求を含む制御データ５００を送信する。ノード１０１は、通信装置１０２または他のノード１０１から、登録要求を含む制御データ５００を受信すると、制御データ５００に含まれる通信装置ＩＤとホップ数とを対応付けたレコードを、基準ホップ数テーブル７００に登録する。そして、ノード１０１は、制御データ５００に含まれるホップ数をインクリメントして、通信圏内に送信する。
【００８７】
図１１の例では、通信装置１０２−１は、登録要求を表す識別フラグ「０」に、通信装置ＩＤ「Ａ」とホップ数「１」とを付与して、制御データ５００を作成して送信する。図１１に●で示された、通信装置１０２−１の通信圏内にあるノード１０１−１は、通信装置１０２−１から送信された制御データ５００を受信すると、制御データ５００に含まれる通信装置ＩＤ「Ａ」とホップ数「１」とを対応付けたレコードを、基準ホップ数テーブル７００に登録する。そして、図１１に●で示されたノード１０１−１は、制御データ５００に含まれるホップ数「１」をインクリメントしてホップ数「２」に更新して、制御データ５００を通信圏内に送信する。次に、図１２の説明に移行する。
【００８８】
図１２の例では、図１２に●で示された、上述したノード１０１−１の通信圏内のノード１０１−２は、上述したノード１０１−１から送信された制御データ５００を受信すると、制御データ５００に含まれる通信装置ＩＤ「Ａ」とホップ数「２」とを対応付けたレコードを、基準ホップ数テーブル７００に登録する。そして、図１２に●で示されたノード１０１−２は、制御データ５００に含まれるホップ数「２」をインクリメントしてホップ数「３」に更新して、制御データ５００を通信圏内に送信する。
【００８９】
このようにして、ノード群１０１ｓの各ノード１０１は、基準ホップ数テーブル７００に、通信装置ＩＤ「Ａ」を含むレコードを登録することができる。また、他の通信装置１０２も同様に、登録要求を含む制御データ５００を送信する。これにより、ノード群１０１ｓの各ノード１０１は、基準ホップ数テーブル７００に、各通信装置ＩＤを含むレコードを登録することができる。
【００９０】
（故障判定動作の一例）
次に、図１３〜図１７を用いて、故障判定動作の一例について説明する。
【００９１】
図１３〜図１７は、故障判定動作の一例を示す説明図である。図１３〜図１７において、ノード１０１は、センサーからセンサーデータを計測すると、センサーデータを含む送信データ８００を作成して、通信圏内に送信する。また、ノード１０１は、送信データ８００を受信すると、送信データ８００に含まれるホップ数をインクリメントして、通信圏内に送信する。通信装置１０２は、送信データ８００を受信すると、故障判定を行う。
【００９２】
まず、図１３〜図１５を用いて、ノード１０１に故障が発生していない場合の故障判定動作の一例について説明する。図１３の例では、図１３に●で示されたノード１０１−５は、センサーからセンサーデータを計測する。次に、図１３に●で示されたノード１０１−５は、送信データ８００であることを表す識別フラグ「１」と基準ホップ数テーブル７００とホップ数「１」とを、計測したセンサーデータに付与して送信データ８００を作成して、通信圏内に送信する。次に、図１４の説明に移行する。
【００９３】
図１４の例では、図１４に●で示された、上述したノード１０１−５の通信圏内のノード１０１−４は、上述したノード１０１−５から送信された送信データ８００を受信すると、送信データ８００に含まれるホップ数「１」をインクリメントしてホップ数「２」に更新して、送信データ８００を通信圏内に送信する。このようにして、ノード群１０１ｓの各ノード１０１は、送信データ８００を転送する。次に、図１５の説明に移行する。
【００９４】
図１５の例では、通信装置１０２−１は、ノード１０１−１〜４から転送された、送信データ８００を受信する。通信装置１０２−１は、送信データ８００に含まれるホップ数「５」と、基準ホップ数テーブル７００に含まれる自通信装置１０２−１の通信装置ＩＤ「Ａ」に対応する基準ホップ数「５」とを比較する。次に、通信装置１０２−１は、ホップ数「５」が基準ホップ数「５」より所定数以上大きくないため、ノード１０１に故障が発生していないと判定する。
【００９５】
次に、図１６および図１７を用いて、ノード１０１に故障が発生した場合の故障判定動作の一例について説明する。図１６の例では、図１６に●で示されたノード１０１−５は、センサーからセンサーデータを計測する。次に、図１６に●で示されたノード１０１−５は、送信データ８００であることを表す識別フラグ「１」と基準ホップ数テーブル７００とホップ数「１」とを、計測したセンサーデータに付与して送信データ８００を作成して、通信圏内に送信する。
【００９６】
このようにして、ノード群１０１ｓの各ノード１０１は、送信データ８００を転送する。しかしながら、図１６に網掛けの○で示されたノード１０１−３などに故障が発生しているため、網掛けの○で示されたノード１０１−３を迂回して送信データ８００は転送されることになる。次に、図１７の説明に移行する。
【００９７】
図１７の例では、通信装置１０２−１は、送信データ８００を受信する。通信装置１０２−１は、送信データ８００に含まれるホップ数「７」と、基準ホップ数テーブル７００に含まれる自通信装置１０２−１の通信装置ＩＤ「Ａ」に対応する基準ホップ数「５」とを比較する。次に、通信装置１０２−１は、ホップ数「７」が基準ホップ数「５」より所定数以上大きいため、ノード１０１に故障が発生したと判定する。
【００９８】
（故障範囲特定動作の一例）
次に、図１８を用いて、故障範囲特定動作の一例について説明する。
【００９９】
図１８は、故障範囲特定動作の一例を示す説明図である。図１８において、通信装置１０２は、ノード１０１に故障が発生した場合に、ノード１０１に故障が発生した範囲を特定する。図１８の例では、通信装置１０２−１は、送信データ８００に含まれる基準ホップ数テーブル７００に含まれる各通信装置１０２−１〜４に対応する基準ホップ数「５」を抽出する。
【０１００】
次に、通信装置１０２は、自通信装置１０２−１から、自通信装置１０２−１に対応する基準ホップ数分のホップ数「５」で到達可能な範囲を特定する。同様に、通信装置１０２−１は、他の通信装置１０２−２〜４から、他の通信装置１０２−２〜４に対応する基準ホップ数分のホップ数「５」で到達可能な範囲を特定する。そして、通信装置１０２−１は、各通信装置１０２−１〜４から基準ホップ数分のホップ数で到達可能な範囲の重複範囲を、送信データ８００を送信したノード１０１の存在範囲として特定する。
【０１０１】
さらに、通信装置１０２−１は、自通信装置１０２−１の位置と、送信データ８００を送信したノード１０１の存在範囲との間の範囲を、ノード１０１が故障した範囲として特定する。これにより、通信装置１０２は、ノード１０１が故障した範囲を特定して、サーバ２０１に送信することができる。以下の説明では、ノード１０１が故障した範囲を「故障範囲」と表記する場合がある。
【０１０２】
（メンテナンス動作の一例）
次に、故障範囲を特定した場合のメンテナンス動作の一例について説明する。サーバ２０１は、故障範囲を受信すると、故障範囲をディスプレイ３０６に表示する。センサーネットワークシステム２００の利用者は、サーバ２０１がディスプレイ３０６に表示した故障範囲を把握すると、サーバ２０１を操作して、通信装置１０２を介して各ノード１０１の運用を一旦停止する。
【０１０３】
次に、センサーネットワークシステム２００の利用者は、サーバ２０１がディスプレイ３０６に表示した故障範囲に、実際に赴いて、ノード１０１を追加して設置する。この後、各通信装置１０２は、図１１および図１２に示したように、登録要求を送信して、各ノード１０１の基準ホップ数テーブル７００を更新する。そして、センサーネットワークシステム２００の利用者は、サーバ２０１を操作して、通信装置１０２を介して各ノード１０１の運用を再開する。これにより、センサーネットワークシステム２００を、ネットワークが切断されないように対策することができる。
【０１０４】
（閾値設定の一例）
次に、図１９を用いて、閾値設定の一例について説明する。
【０１０５】
図１９は、閾値設定の一例を示す説明図である。センサーネットワークシステム２００の利用者は、図１９に示すように、例えば、２０００個のノード１０１から形成されるネットワーク１１０を想定し、故障ノード１０１の個数を複数パターン設定してシミュレーションを行う。
【０１０６】
そして、センサーネットワークシステム２００の利用者は、シミュレーション結果に基づいて、閾値Ａになる「１８」を決定する。また、センサーネットワークシステム２００の利用者は、シミュレーション結果に基づいて、閾値Ｂになる「３」を決定する。これにより、センサーネットワークシステム２００の利用者は、ホップ数と基準ホップ数との差分が閾値Ａ「１８」より大きいときが、閾値Ｂ「３」より多い回数以上あれば故障と判定すると決定する。
【０１０７】
（登録にかかる協調動作の一例）
次に、図２０を用いて、基準ホップ数テーブル７００の登録にかかる協調動作の一例について説明する。
【０１０８】
図２０は、基準ホップ数テーブル７００の登録にかかる協調動作の一例を示すシーケンス図である。図２０において、サーバ２０１は、基準ホップ数テーブル７００の登録要求の送信指示を通信装置１０２−１に送信する（ステップＳ２００１）。通信装置１０２−１は、送信指示を受信すると、基準ホップ数テーブル７００の登録要求と、通信装置１０２−１の通信装置ＩＤと、ホップ数とを含む制御データ５００を作成して送信する（ステップＳ２００２）。ノード１０１−１は、制御データ５００を受信すると、基準ホップ数テーブル７００にレコードを記憶し、制御データ５００に含まれるホップ数を更新して、転送する（ステップＳ２００３）。
【０１０９】
また、サーバ２０１は、送信指示を送信していない通信装置１０２があれば、基準ホップ数テーブル７００の登録要求の送信指示を、送信指示を送信していない通信装置１０２−２に送信する（ステップＳ２００４）。通信装置１０２−２は、送信指示を受信すると、基準ホップ数テーブル７００の登録要求と、通信装置１０２−２の通信装置ＩＤと、ホップ数とを含む制御データ５００を作成して送信する（ステップＳ２００５）。ノード１０１−Ｎは、制御データ５００を受信すると、基準ホップ数テーブル７００にレコードを記憶し、制御データ５００に含まれるホップ数を更新して、転送する（ステップＳ２００６）。
【０１１０】
サーバ２０１は、送信指示を送信していない通信装置１０２がなくなると、運用開始の実行指示を通信装置１０２−１に送信する（ステップＳ２００７）。通信装置１０２−１は、実行指示を受信すると、運用開始要求を送信する（ステップＳ２００８）。ノード１０１−１は、運用開始要求を受信すると、運用を開始して、運用開始要求を転送する（ステップＳ２００９）。これにより、システム１００は、運用を開始することができる。
【０１１１】
（故障判定にかかる協調動作の一例）
次に、図２１を用いて、故障判定にかかる協調動作の一例について説明する。
【０１１２】
図２１は、故障判定にかかる協調動作の一例を示すシーケンス図である。図２１において、ノード１０１−Ｎは、センサーからセンサーデータを計測すると、センサーデータを含む送信データ８００を作成して送信する（ステップＳ２１０１）。また、ノード１０１−１は、送信データ８００を受信すると、送信データ８００に含まれるホップ数を更新して送信する（ステップＳ２１０２）。通信装置１０２−１は、送信データ８００を受信すると、故障判定を行い、故障判定の判定結果をサーバ２０１に送信する（ステップＳ２１０３）。これにより、センサーネットワークシステム２００の利用者は、サーバ２０１から判定結果の通知を受けて、判定結果を把握することができる。
【０１１３】
（メンテナンスにかかる協調動作の一例）
次に、図２２を用いて、メンテナンスにかかる協調動作の一例について説明する。
【０１１４】
図２２は、メンテナンスにかかる協調動作の一例を示すシーケンス図である。図２２において、サーバ２０１は、運用停止の実行指示を通信装置１０２−１に送信する（ステップＳ２２０１）。通信装置１０２−１は、運用停止の実行指示を受信すると、運用停止要求を送信する（ステップＳ２２０２）。ノード１０１−１は、運用停止要求を受信すると、運用停止要求を転送して（ステップＳ２２０３）、運用を停止する。そして、センサーネットワークシステム２００の利用者は、ノード１０１を追加する。これにより、システム１００は、ダウンを回避することができる。
【０１１５】
（サーバ２０１の送信指示処理手順の一例）
次に、図２３を用いて、サーバ２０１の基準ホップ数テーブル７００の登録要求の送信指示処理手順の一例について説明する。
【０１１６】
図２３は、サーバ２０１の送信指示処理手順の一例を示すフローチャートである。図２３において、サーバ２０１は、送信指示のトリガとなるユーザ操作があったか否かを判定する（ステップＳ２３０１）。ここで、ユーザ操作がない場合（ステップＳ２３０１：Ｎｏ）、サーバ２０１は、ステップＳ２３０１の処理に戻る。
【０１１７】
一方で、ユーザ操作があった場合（ステップＳ２３０１：Ｙｅｓ）、サーバ２０１は、すべての通信装置１０２に、基準ホップ数テーブル７００の登録要求の送信指示を送信したか否かを判定する（ステップＳ２３０２）。ここで、送信していない場合（ステップＳ２３０２：Ｎｏ）、サーバ２０１は、送信指示を送信していない通信装置１０２を選択する（ステップＳ２３０３）。次に、サーバ２０１は、選択した通信装置１０２に、送信指示を送信する（ステップＳ２３０４）。そして、サーバ２０１は、所定時間待機して（ステップＳ２３０５）、ステップＳ２３０２の処理に戻る。
【０１１８】
一方で、すべての通信装置１０２に送信した場合（ステップＳ２３０２：Ｙｅｓ）、サーバ２０１は、すべての通信装置１０２に、運用開始の実行指示を送信する（ステップＳ２３０６）。そして、サーバ２０１は、送信指示処理を終了する。これにより、サーバ２０１は、通信装置１０２に各ノードに基準ホップ数を記憶させるように指示することができる。
【０１１９】
（サーバ２０１の故障通知処理手順の一例）
次に、図２４を用いて、サーバ２０１の故障通知処理手順の一例について説明する。
【０１２０】
図２４は、サーバ２０１の故障通知処理手順の一例を示すフローチャートである。図２４において、サーバ２０１は、故障通知のトリガとなる判定結果を含むデータを受信したか否かを判定する（ステップＳ２４０１）。ここで、受信していない場合（ステップＳ２４０１：Ｎｏ）、サーバ２０１は、ステップＳ２４０１の処理に戻る。
【０１２１】
一方で、受信した場合（ステップＳ２４０１：Ｙｅｓ）、サーバ２０１は、判定結果がノード群１０１ｓのいずれかのノード１０１に故障が発生したという判定結果か否かを判定する（ステップＳ２４０２）。ここで、故障が発生したという判定結果ではない場合（ステップＳ２４０２：Ｎｏ）、サーバ２０１は、故障通知処理を終了する。
【０１２２】
一方で、故障が発生したという判定結果である場合（ステップＳ２４０２：Ｙｅｓ）、サーバ２０１は、故障範囲を特定して出力する（ステップＳ２４０３）。そして、サーバ２０１は、故障通知処理を終了する。これにより、サーバ２０１は、センサーネットワークシステム２００の利用者に、故障範囲を通知することができる。
【０１２３】
（サーバ２０１の運用停止の実行指示処理手順の一例）
次に、図２５を用いて、サーバ２０１の運用停止の実行指示処理手順の一例について説明する。
【０１２４】
図２５は、サーバ２０１の運用停止の実行指示処理手順の一例を示すフローチャートである。図２５において、サーバ２０１は、運用停止の実行指示のトリガとなるユーザ操作があったか否かを判定する（ステップＳ２５０１）。ここで、ユーザ操作がない場合（ステップＳ２５０１：Ｎｏ）、サーバ２０１は、ステップＳ２５０１の処理に戻る。
【０１２５】
一方で、ユーザ操作があった場合（ステップＳ２５０１：Ｙｅｓ）、サーバ２０１は、すべての通信装置１０２に、運用停止の実行指示を送信する（ステップＳ２５０２）。そして、サーバ２０１は、運用停止の実行指示処理を終了する。これにより、サーバ２０１は、通信装置１０２に各ノードを運用停止状態にするように指示することができる。
【０１２６】
（通信装置１０２の登録要求処理手順の一例）
次に、図２６を用いて、通信装置１０２の基準ホップ数テーブル７００の登録要求処理手順の一例について説明する。
【０１２７】
図２６は、通信装置１０２の登録要求処理手順の一例を示すフローチャートである。図２６において、通信装置１０２は、登録要求の送信指示を受信したか否かを判定する（ステップＳ２６０１）。ここで、受信していない場合（ステップＳ２６０１：Ｎｏ）、通信装置１０２は、ステップＳ２６０１の処理に戻る。
【０１２８】
一方で、受信した場合（ステップＳ２６０１：Ｙｅｓ）、通信装置１０２は、登録要求を表す識別フラグに、自通信装置１０２の通信装置ＩＤとホップ数とを付与して制御データ５００を作成して送信する（ステップＳ２６０２）。そして、通信装置１０２は、登録要求処理を終了する。これにより、通信装置１０２は、自通信装置１０２に対応する基準ホップ数を、各ノード１０１に記憶させることができる。
【０１２９】
（通信装置１０２の運用開始処理手順の一例）
次に、図２７を用いて、通信装置１０２の運用開始処理手順の一例について説明する。
【０１３０】
図２７は、通信装置１０２の運用開始処理手順の一例を示すフローチャートである。図２７において、通信装置１０２は、運用開始の実行指示を受信したか否かを判定する（ステップＳ２７０１）。ここで、受信していない場合（ステップＳ２７０１：Ｎｏ）、通信装置１０２は、ステップＳ２７０１の処理に戻る。
【０１３１】
一方で、受信した場合（ステップＳ２７０１：Ｙｅｓ）、通信装置１０２は、運用開始要求を送信する（ステップＳ２７０２）。そして、通信装置１０２は、運用開始処理を終了する。これにより、通信装置１０２は、各ノード１０１を運用状態にすることができる。
【０１３２】
（通信装置１０２の運用停止処理手順の一例）
次に、図２８を用いて、通信装置１０２の運用停止処理手順の一例について説明する。
【０１３３】
図２８は、通信装置１０２の運用停止処理手順の一例を示すフローチャートである。図２８において、通信装置１０２は、運用停止の実行指示を受信したか否かを判定する（ステップＳ２８０１）。ここで、受信していない場合（ステップＳ２８０１：Ｎｏ）、通信装置１０２は、ステップＳ２８０１の処理に戻る。
【０１３４】
一方で、受信した場合（ステップＳ２８０１：Ｙｅｓ）、通信装置１０２は、運用停止要求を送信する（ステップＳ２８０２）。そして、通信装置１０２は、運用停止処理を終了する。これにより、通信装置１０２は、各ノード１０１を運用停止状態にすることができる。
【０１３５】
（通信装置１０２の故障判定処理手順の一例）
次に、図２９を用いて、通信装置１０２の故障判定処理手順の一例について説明する。
【０１３６】
図２９は、通信装置１０２の故障判定処理手順の一例を示すフローチャートである。図２９において、通信装置１０２は、ノード１０１からの送信データ８００を受信したか否かを判定する（ステップＳ２９０１）。ここで、受信していない場合（ステップＳ２９０１：Ｎｏ）、通信装置１０２は、ステップＳ２９０１の処理に戻る。
【０１３７】
一方で、受信した場合（ステップＳ２９０１：Ｙｅｓ）、通信装置１０２は、送信データ８００に含まれる基準ホップ数テーブル７００とホップ数とを取得する（ステップＳ２９０２）。次に、通信装置１０２は、自通信装置１０２の通信装置ＩＤに対応する基準ホップ数とホップ数との差分を算出する（ステップＳ２９０３）。
【０１３８】
そして、通信装置１０２は、差分が閾値Ａ以上であるか否かを判定する（ステップＳ２９０４）。ここで、閾値Ａより小さい場合（ステップＳ２９０４：Ｎｏ）、通信装置１０２は、ステップＳ２９０６の処理に移行する。一方で、閾値Ａ以上である場合（ステップＳ２９０４：Ｙｅｓ）、通信装置１０２は、比較処理を実行する（ステップＳ２９０５）。
【０１３９】
次に、通信装置１０２は、判定結果をサーバ２０１に送信する（ステップＳ２９０６）。そして、通信装置１０２は、故障判定処理を終了する。これにより、通信装置１０２は、システム１００内にノード１０１の故障が存在するか否かを判定することができ、判定結果をサーバ２０１に送信して、センサーネットワークシステム２００の利用者に通知することができる。
【０１４０】
（通信装置１０２の比較処理手順の一例）
次に、図３０を用いて、ステップＳ２９０５に示した通信装置１０２の比較処理手順の一例について説明する。
【０１４１】
図３０は、通信装置１０２の比較処理手順の一例を示すフローチャートである。図３０において、通信装置１０２は、過去１０回分の送信データ８００について、閾値Ａを超えた回数を算出する（ステップＳ３００１）。次に、通信装置１０２は、算出結果が閾値Ｂ以上であるか否かを判定する（ステップＳ３００２）。ここで、閾値Ｂより小さい場合（ステップＳ３００２：Ｎｏ）、通信装置１０２は、比較処理を終了する。
【０１４２】
一方で、閾値Ｂ以上である場合（ステップＳ３００２：Ｙｅｓ）、通信装置１０２は、判定結果に基準ホップ数テーブル７００を付与する（ステップＳ３００３）。そして、通信装置１０２は、比較処理を終了する。これにより、通信装置１０２は、システム１００内にノード１０１の故障が存在するか否かを判定することができる。
【０１４３】
（ノード１０１の運用処理手順の一例）
次に、図３１を用いて、ノード１０１の運用処理手順の一例について説明する。
【０１４４】
図３１は、ノード１０１の運用処理手順の一例を示すフローチャートである。図３１において、ノード１０１は、データを受信すると、受信したデータの種類を判定する（ステップＳ３１０１）。
【０１４５】
ここで、送信データ８００である場合（ステップＳ３１０１：送信データ８００）、ノード１０１は、自ノード１０１の状態が、運用状態であるか否かを判定する（ステップＳ３１０２）。ここで、運用状態ではない場合（ステップＳ３１０２：Ｎｏ）、ノード１０１は、運用処理を終了する。一方で、運用状態である場合（ステップＳ３１０２：Ｙｅｓ）、ノード１０１は、送信データ８００に含まれるホップ数をインクリメントする（ステップＳ３１０３）。次に、ノード１０１は、ホップ数をインクリメントした送信データ８００を送信する（ステップＳ３１０４）。そして、ノード１０１は、運用処理を終了する。これにより、ノード１０１は、送信データ８００を送信することができる。
【０１４６】
ステップＳ３１０１において、登録要求を含む制御データ５００である場合（ステップＳ３１０１：登録要求）、ノード１０１は、自ノード１０１の状態が、運用状態であるか否かを判定する（ステップＳ３１０５）。ここで、運用状態ではない場合（ステップＳ３１０５：Ｎｏ）、ノード１０１は、運用処理を終了する。
【０１４７】
一方で、運用状態である場合（ステップＳ３１０５：Ｙｅｓ）、ノード１０１は、制御データ５００に含まれる通信装置ＩＤを抽出し、抽出した通信装置ＩＤを含むレコードが基準ホップ数テーブル７００に記憶されているか否かを判定する（ステップＳ３１０６）。
【０１４８】
ここで、記憶されている場合（ステップＳ３１０６：Ｙｅｓ）、ノード１０１は、運用処理を終了する。また、この場合、ノード１０１は、制御データ５００に含まれるホップ数が、基準ホップ数テーブル７００において通信装置ＩＤと対応付けられた基準ホップ数よりも小さいときは、基準ホップ数を制御データ５００に含まれるホップ数で上書きしてもよい。
【０１４９】
一方で、記憶されていない場合（ステップＳ３１０６：Ｎｏ）、ノード１０１は、制御データ５００に含まれる通信装置ＩＤとホップ数とを対応付けたレコードを、基準ホップ数テーブル７００に記憶する（ステップＳ３１０７）。次に、ノード１０１は、制御データ５００に含まれるホップ数をインクリメントする（ステップＳ３１０８）。そして、ノード１０１は、ホップ数をインクリメントした制御データ５００を送信し（ステップＳ３１０９）、運用処理を終了する。これにより、ノード１０１は、基準ホップ数を、基準ホップ数テーブル７００に登録することができる。
【０１５０】
ステップＳ３１０１において、運用開始要求または運用停止要求のいずれかである場合（ステップＳ３１０１：運用開始要求／運用停止要求）、ノード１０１は、運用開始要求か否かを判定する（ステップＳ３１１０）。
【０１５１】
ここで、運用開始要求である場合（ステップＳ３１１０：Ｙｅｓ）、ノード１０１は、自ノード１０１の状態を運用状態に変更し（ステップＳ３１１１）、運用処理を終了する。一方で、運用停止要求である場合（ステップＳ３１１０：Ｎｏ）、ノード１０１は、自ノード１０１の状態を運用停止状態に変更し（ステップＳ３１１２）、運用処理を終了する。これにより、ノード１０１は、運用状態と、運用停止状態と、を切り替えることができる。
【０１５２】
以上説明したように、本実施の形態のシステム１００によれば、ノード１０１が通信装置１０２から受信した登録要求に基づいて通信装置１０２までの基準ホップ数を記憶し、通信装置１０２にセンサーデータを送信する際に基準ホップ数を付与して送信することができる。これにより、通信装置１０２は、基準ホップ数と実際のセンサーデータのホップ数とを比較して、ノード群１０１ｓに含まれるいずれかのノード１０１に故障が発生したか否かを判定することができる。また、本実施の形態のシステム１００によれば、通信装置１０２が登録要求を送信することにより、ノード１０１が登録要求のホップ数から基準ホップ数を記憶することができる。
【０１５３】
また、本実施の形態のシステム１００によれば、通信装置１０２が判定結果と基準ホップ数とを対応付けて出力することにより、サーバ２０１が基準ホップ数に基づいて故障範囲を特定してセンサーネットワークシステム２００の利用者に通知することができる。また、センサーネットワークシステム２００の利用者が基準ホップ数に基づいて故障範囲を特定してもよい。結果として、利用者は、故障範囲を調査することなく対策を行うことができ、センサーネットワークシステム２００のメンテナンスを効率化することができる。
【０１５４】
また、本実施の形態のシステム１００によれば、通信装置１０２が判定結果と基準ホップ数と通信装置１０２の識別情報とを対応付けて出力することにより、通信装置１０２が複数ある場合であってもサーバ２０１が故障範囲を特定して利用者に通知することができる。また、センサーネットワークシステム２００の利用者が故障範囲を特定してもよい。結果として、利用者は、故障範囲を調査することなく対策を行うことができ、センサーネットワークシステム２００のメンテナンスを効率化することができる。
【０１５５】
また、本実施の形態のシステム１００によれば、通信装置１０２が送信データ８００に含まれるホップ数が基準ホップ数より所定数以上大きい場合に、ノード群１０１ｓのいずれかのノード１０１に故障が発生したと判定することができる。これにより、通信装置１０２は、ノード群１０１ｓのいずれかのノード１０１が電力不足などにより一時的に送信データ８００の転送を行えずホップ数が増えてしまった場合には、故障が発生したと判定しないことができる。
【０１５６】
また、本実施の形態のシステム１００によれば、通信装置１０２が送信データ８００を複数受信し、送信データ８００に含まれるホップ数が基準ホップ数より所定数以上大きいときが、所定回数以上あった場合に、ノード群１０１ｓのいずれかのノード１０１に故障が発生したと判定することができる。これにより、通信装置１０２は、ノード群１０１ｓのいずれかのノード１０１が電力不足などにより一時的に送信データ８００の転送を行えずホップ数が増えてしまった場合には、故障が発生したと判定しないことができる。
【０１５７】
ここで、従来の通信装置が従来のノードにＡＣＫを送信して、従来のノードがＡＣＫの有無に基づいて通信経路の異常があるか否かを判定する場合が考えられる。しかしながら、この場合、センサーネットワークシステムにおいては、通信経路の異常がなくても、ノードがＡＣＫを受信できない場合があるため、通信経路の異常を誤判定してしまうことがある。また、この場合、電力消費の低減のために各ノードがＡＣＫを送信しないように設計されたセンサーネットワークシステムには適用することができない。また、この場合、従来のノードがＡＣＫを受信できなかったときには既に通信経路が切断されており、従来のノードが通信経路の異常を従来の通信装置に通知することができない場合がある。
【０１５８】
一方で、本実施の形態のシステム１００は、ＡＣＫを用いずに通信経路の異常があるか判定することができる。また、本実施の形態のシステム１００は、ＡＣＫを用いないため、センサーネットワークシステム２００におけるトラフィックを低減することができ、各ノード１０１のＡＣＫの送受信にかかる消費電力を削減することができる。また、本実施の形態のシステム１００は、電力消費の低減のために各ノード１０１がＡＣＫを送信しないように設計されたセンサーネットワークシステム２００であっても適用することができる。また、本実施の形態のシステム１００では、通信装置１０２が、通信経路に迂回が生じているものの通信経路がまだ切断されていないときに、通信経路の異常があるか判定することができる。すなわち、本実施の形態のシステム１００の利用者は、システム１００がダウンする前に、ノード１０１の故障の存在を把握することができる。
【０１５９】
また、ここで、従来のノードが、自ノード宛ての通信フレーム内のホップ数を確認し、確認したホップ数が最大ホップ数格納部に格納されている最大ホップ数と同じか否かに基づいて、異常な通信フレームであるか否かを判断する場合が考えられる。しかしながら、この場合、従来のノードは、複数の機能を有することになり、単価が増大してしまう。一方で、本実施の形態のシステム１００では、ノード１０１は、上述した従来のノードより機能が少なくてもよいため、単価を低減することができる。
【０１６０】
また、ここで、従来のノードが通信経路の異常があると判定した場合に、従来の通信装置に自ノードのＩＤを通知し、従来の通信装置がノードのＩＤに基づいて通信経路を特定する場合が考えられる。しかしながら、この場合、数千〜数万個のノード群のすべてのノードにＩＤを割り当てることになり、センサーネットワークシステムの運用前の作業負荷が増大してしまう。また、従来のノードが、自ノードのＩＤを通知するためトラフィックが増大してしまう。また、従来のノードは、異常な通信フレームであると判断した場合に、従来の通信装置に通知することになり、トラフィックが増大してしまう。一方で、本実施の形態のシステム１００では、ノード１０１にＩＤを割り当てなくてもよいため、作業負荷を低減することができる。
【０１６１】
なお、本実施の形態で説明した故障判定方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本故障判定プログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また本故障判定プログラムは、インターネット等のネットワークを介して配布してもよい。
【符号の説明】
【０１６２】
１００  システム
１０１  ノード
１０２  通信装置
２０１  サーバ
９０１  記憶部
９０２  受信部
９０３  制御部
９０４  送信部
１００１  受信部
１００２  制御部
１００３  出力部
【図１】
2015029250.tif 000003
【図２】
2015029250.tif 000004
【図３】
2015029250.tif 000005
【図４】
2015029250.tif 000006
【図５】
2015029250.tif 000007
【図６】
2015029250.tif 000008
【図７】
2015029250.tif 000009
【図８】
2015029250.tif 000010
【図９】
2015029250.tif 000011
【図１０】
2015029250.tif 000012
【図１１】
2015029250.tif 000013
【図１２】
2015029250.tif 000014
【図１３】
2015029250.tif 000015
【図１４】
2015029250.tif 000016
【図１５】
2015029250.tif 000017
【図１６】
2015029250.tif 000018
【図１７】
2015029250.tif 000019
【図１８】
2015029250.tif 000020
【図１９】
2015029250.tif 000021
【図２０】
2015029250.tif 000022
【図２１】
2015029250.tif 000023
【図２２】
2015029250.tif 000024
【図２３】
2015029250.tif 000025
【図２４】
2015029250.tif 000026
【図２５】
2015029250.tif 000027
【図２６】
2015029250.tif 000028
【図２７】
2015029250.tif 000029
【図２８】
2015029250.tif 000030
【図２９】
2015029250.tif 000031
【図３０】
2015029250.tif 000032
【図３１】
2015029250.tif 000033
【手続補正書】
【提出日】平成28年3月1日(2016.3.1)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ノード間でマルチホッピング通信するノード群と、前記ノード群に含まれるノードと通信する通信装置と、を有するシステムにおいて、
前記ノードは、前記ノードが送信するデータが前記マルチホッピング通信により転送される度に更新されるホップ数と、前記ノードから前記通信装置に前記データが転送されるまでの基準ホップ数とを、前記データに付与して送信し、
前記通信装置は、前記データを受信すると、前記データに付与されたホップ数と前記基準ホップ数とを比較し、比較結果に基づいて、前記ノード群のいずれかのノードに故障が発生したか否かを判定する、
ことを特徴とするシステム。
【請求項２】
前記通信装置は、前記通信装置が送信する前記基準ホップ数の登録要求が前記マルチホッピング通信により転送される度に更新されるホップ数を、前記登録要求に付与して送信し、
前記ノードは、前記登録要求に付与されたホップ数を前記基準ホップ数として記憶装置に記憶し、前記データが前記マルチホッピング通信により転送される度に更新されるホップ数と、前記記憶装置に記憶した前記基準ホップ数とを、前記データに付与して送信することを特徴とする請求項１に記載のシステム。
【請求項３】
前記通信装置は、判定した結果と前記基準ホップ数とを対応付けて出力することを特徴とする請求項１または２に記載のシステム。
【請求項４】
前記通信装置は、判定した結果と前記基準ホップ数と前記通信装置の識別情報とを対応付けて出力することを特徴とする請求項１または２に記載のシステム。
【請求項５】
前記通信装置は、前記データに付与されたホップ数が前記基準ホップ数より所定数以上大きい場合に、前記ノード群のいずれかのノードに故障が発生したと判定することを特徴とする請求項１〜４のいずれか一つに記載のシステム。
【請求項６】
前記通信装置は、前記データを複数受信し、前記データに付与されたホップ数が前記基準ホップ数より所定数以上大きいときが、所定回数以上あった場合に、前記ノード群のいずれかのノードに故障が発生したと判定することを特徴とする請求項１〜４のいずれか一つに記載のシステム。
【請求項７】
ノード間でマルチホッピング通信するノード群に含まれるノードであって、
自ノードから通信装置に送信するデータが前記マルチホッピング通信により転送される度に更新されるホップ数と、自ノードから前記通信装置に前記データが転送されるまでの基準ホップ数とを、前記データに付与する付与部と、
前記付与部によって付与された前記データを送信する送信部と、
を有することを特徴とするノード。
【請求項８】
ノード間でマルチホッピング通信するノード群に含まれるノードが送信したデータに付与された、前記ノードから当該ノードと通信する通信装置に前記データが転送されるまでの基準ホップ数と、前記マルチホッピング通信により前記データが転送される度に更新されたホップ数とを比較し、比較結果に基づいて、前記ノード群のいずれかのノードに故障が発生したか否かを判定する制御部、
を有することを特徴とする故障判定装置。
【請求項９】
ノード間でマルチホッピング通信するノード群に含まれるノードが、
自ノードが送信するデータが前記マルチホッピング通信により転送される度に更新されるホップ数と、前記ノードから通信装置に前記データが転送されるまでの基準ホップ数とを、前記データに付与して送信する、
処理を実行することを特徴とする故障判定方法。
【請求項１０】
コンピュータが、
ノード間でマルチホッピング通信するノード群に含まれるノードが送信したデータに付与された、前記ノードから当該ノードと通信する通信装置に前記データが転送されるまでの基準ホップ数と、前記マルチホッピング通信により前記データが転送される度に更新されたホップ数とを比較し、比較結果に基づいて、前記ノード群のいずれかのノードに故障が発生したか否かを判定する、
処理を実行することを特徴とする故障判定方法。
【請求項１１】
ノード間でマルチホッピング通信するノード群に含まれるノードに、
自ノードが送信するデータが前記マルチホッピング通信により転送される度に更新されるホップ数と、前記ノードから通信装置に前記データが転送されるまでの基準ホップ数とを、前記データに付与して送信する、
処理を実行させることを特徴とする故障判定プログラム。
【請求項１２】
コンピュータに、
ノード間でマルチホッピング通信するノード群に含まれるノードが送信したデータに付与された、前記ノードから当該ノードと通信する通信装置に前記データが転送されるまでの基準ホップ数と、前記マルチホッピング通信により前記データが転送される度に更新されたホップ数とを比較し、比較結果に基づいて、前記ノード群のいずれかのノードに故障が発生したか否かを判定する、
処理を実行させることを特徴とする故障判定プログラム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、システム、ノード、故障判定装置、故障判定方法、および故障判定プログラムに関する。
【背景技術】
【０００２】
従来、センサーを有するノードを所定空間に散在させ、ノード間のマルチホッピング通信により各ノードが有するセンサーのデータをアグリゲータとなる通信装置に収集して、所定空間の物理的状況を把握することを可能とするネットワーク（ＷＳＮ：Ｗｉｒｅｌｅｓｓ  Ｓｅｎｓｏｒ  Ｎｅｔｗｏｒｋｓ）がある。
【０００３】
また、設置された環境に応じて得られるエネルギーを用いて発電する、エナジーハーベストと呼ばれる技術がある。また、通信の終了時に受信側から送信側にＡＣＫ（ＡＣＫｎｏｗｌｅｄｇｅｍｅｎｔ）を送信することにより、正常にデータが到達したことを送信側に伝える技術がある。
【０００４】
関連する技術としては、例えば、メッシュネットワークにおいて、ノードが通信フレームの異常判定を行うものがある。具体的には、ノードが、自ノード宛ての通信フレーム内のホップ数を確認し、確認したホップ数が最大ホップ数格納部に格納されている最大ホップ数と同じか否かを判断し、ホップ数が最大ホップ数と同じでない場合、異常な通信フレームであると判定する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１２−１５７０６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、従来技術によれば、システム内のいずれかのノードに故障が発生したか否かを判定することが困難である場合がある。例えば、ＡＣＫに基づいてノードの異常を判定する場合、受信側のノードが正常に動作していても、送信側のノードが受信側のノードからのＡＣＫを受信できず、受信側のノードが異常であると判定してしまうことがある。
【０００７】
具体的には、送信側のノードが、距離が近い他のノードによる電波の影響によりＡＣＫを受信できない場合がある。また、具体的には、エナジーハーベストにより発電された電力を用いて動作する送信側のノードが、電力不足によりＡＣＫを受信できない場合がある。また、エナジーハーベストにより発電された電力を用いて動作する受信側のノードは、電力不足によりＡＣＫを送信側のノードに送信できず、送信元のノードがＡＣＫを受信できない場合がある。
【０００８】
１つの側面では、本発明は、システム内のいずれかのノードに故障が発生したか否かを判定することができるシステム、ノード、故障判定装置、故障判定方法、および故障判定プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明の一側面によれば、ノード間でマルチホッピング通信するノード群と、前記ノード群に含まれるノードと通信する通信装置と、を有し、前記ノードは、前記ノードが送信するデータが前記マルチホッピング通信により転送される度に更新されるホップ数と、前記ノードから前記通信装置に前記データが転送されるまでの基準ホップ数とを、前記データに付与して送信し、前記通信装置は、前記データを受信すると、前記データに付与されたホップ数と前記基準ホップ数とを比較し、比較結果に基づいて、前記ノード群のいずれかのノードに故障が発生したか否かを判定するシステムが提案される。
【００１０】
また、本発明の一側面によれば、ノード間でマルチホッピング通信するノード群に含まれるノードが、自ノードが送信するデータが前記マルチホッピング通信により転送される度に更新されるホップ数と、前記ノードから通信装置に前記データが転送されるまでの基準ホップ数とを、前記データに付与して送信するノード、故障判定方法、および故障判定プログラムが提案される。
【００１１】
また、本発明の一側面によれば、ノード間でマルチホッピング通信するノード群に含まれるノードが送信したデータに付与された、前記ノードから当該ノードと通信する通信装置に前記データが転送されるまでの基準ホップ数と、前記マルチホッピング通信により前記データが転送される度に更新されたホップ数とを比較し、比較結果に基づいて、前記ノード群のいずれかのノードに故障が発生したか否かを判定する故障判定装置、故障判定方法、および故障判定プログラムが提案される。
【発明の効果】
【００１２】
本発明の一態様によれば、システム内のいずれかのノードに故障が発生したか否かを判定することができるという効果を奏する。
【図面の簡単な説明】
【００１３】
【図１】図１は、本実施の形態にかかるシステム１００の動作例を示す説明図である。
【図２】図２は、センサーネットワークシステム２００の接続例を示す説明図である。
【図３】図３は、サーバ２０１のハードウェア構成例を示すブロック図である。
【図４】図４は、通信装置１０２のハードウェア構成例を示すブロック図である。
【図５】図５は、制御データ５００のデータ構造の一例を示す説明図である。
【図６】図６は、ノード１０１のハードウェア構成例を示すブロック図である。
【図７】図７は、基準ホップ数テーブル７００の記憶内容の一例を示す説明図である。
【図８】図８は、送信データ８００のデータ構造の一例を示す説明図である。
【図９】図９は、ノード１０１の機能的構成例を示すブロック図である。
【図１０】図１０は、故障判定装置１０００の機能的構成例を示すブロック図である。
【図１１】図１１は、登録動作の一例を示す説明図（その１）である。
【図１２】図１２は、登録動作の一例を示す説明図（その２）である。
【図１３】図１３は、故障判定動作の一例を示す説明図（その１）である。
【図１４】図１４は、故障判定動作の一例を示す説明図（その２）である。
【図１５】図１５は、故障判定動作の一例を示す説明図（その３）である。
【図１６】図１６は、故障判定動作の一例を示す説明図（その４）である。
【図１７】図１７は、故障判定動作の一例を示す説明図（その５）である。
【図１８】図１８は、故障範囲特定動作の一例を示す説明図である。
【図１９】図１９は、閾値設定の一例を示す説明図である。
【図２０】図２０は、基準ホップ数テーブル７００の登録にかかる協調動作の一例を示すシーケンス図である。
【図２１】図２１は、故障判定にかかる協調動作の一例を示すシーケンス図である。
【図２２】図２２は、メンテナンスにかかる協調動作の一例を示すシーケンス図である。
【図２３】図２３は、サーバ２０１の送信指示処理手順の一例を示すフローチャートである。
【図２４】図２４は、サーバ２０１の故障通知処理手順の一例を示すフローチャートである。
【図２５】図２５は、サーバ２０１の運用停止の実行指示処理手順の一例を示すフローチャートである。
【図２６】図２６は、通信装置１０２の登録要求処理手順の一例を示すフローチャートである。
【図２７】図２７は、通信装置１０２の運用開始処理手順の一例を示すフローチャートである。
【図２８】図２８は、通信装置１０２の運用停止処理手順の一例を示すフローチャートである。
【図２９】図２９は、通信装置１０２の故障判定処理手順の一例を示すフローチャートである。
【図３０】図３０は、通信装置１０２の比較処理手順の一例を示すフローチャートである。
【図３１】図３１は、ノード１０１の運用処理手順の一例を示すフローチャートである。
【発明を実施するための形態】
【００１４】
以下に添付図面を参照して、本発明にかかるシステム、ノード、故障判定装置、故障判定方法、および故障判定プログラムの実施の形態を詳細に説明する。
【００１５】
（本実施の形態にかかるシステムの動作例）
図１は、本実施の形態にかかるシステム１００の動作例を示す説明図である。図１において、本実施の形態にかかるシステム１００は、通信装置１０２と、ノード群１０１ｓと、を有する。ノード群１０１ｓは、ネットワーク１１０を形成する。
【００１６】
ノード群１０１ｓは、ノード１０１を含む。以下の説明では、個々のノード１０１を区別する場合はノード１０１に接尾語「−ｉ」を付与して表記する場合がある。ｉは、任意の自然数である。すなわち、以下の説明では、ノード１０１を「ノード１０１−ｉ」と表記する場合がある。
【００１７】
各ノード１０１は、自ノード１０１が設置された環境に応じて得られるエネルギーを用いて発電するエナジーハーベスト素子を有し、エナジーハーベスト素子により発生する電力を充電する充電部に充電された電力を用いて動作するコンピュータである。各ノード１０１は、所定領域Ａ内に配置される。所定領域Ａは、例えば、コンクリート、土、水、空気などの物質で満たされた領域である。
【００１８】
各ノード１０１は、十分に蓄電されると起動し、データを送信してスリープするという間欠動作を行う。また、エナジーハーベスト素子により発生する電力は限られるため、各ノード１０１は、電力消費が少ない短距離無線通信能力を有しており、マルチホップ通信によりデータを送受信する。また、各ノード１０１は、センサーを有する。各ノード１０１は、自ノード１０１が有するセンサーから、所定領域Ａ内の温度、湿度、応力といったデータを測定する。
【００１９】
通信装置１０２は、各ノード１０１からセンサーのデータを収集する収集装置となるコンピュータである。通信装置１０２は、いわゆるアグリゲータである。通信装置１０２は、複数あってもよい。以下の説明では、個々の通信装置１０２を区別する場合は通信装置１０２に接尾語「−ｊ」を付与して表記する場合がある。ｊは、任意の自然数である。すなわち、以下の説明では、通信装置１０２を「通信装置１０２−ｊ」と表記する場合がある。ネットワーク１１０は、ノード群１０１ｓに含まれる各ノード１０１が短距離無線通信を用いて自ノード１０１の通信圏内の他ノード１０１と接続することにより形成される通信網である。通信圏とは、無線電波の到達可能な範囲である。
【００２０】
以下に、図１の（Ａ）と図１の（Ｂ）とを用いてシステム１００の具体的な動作例を示す。図１の（Ａ）の状態は、ノード群１０１ｓに含まれるノード１０１に故障が発生していない状態である。図１の（Ｂ）は、図１の（Ａ）の状態以降の状態であって、ノード群１０１ｓに含まれるいずれかのノード１０１に故障が発生した状態である。
【００２１】
図１の（Ａ）において、通信装置１０２は、基準ホップ数の登録要求を送信する。基準ホップ数とは、各ノード１０１が送信したデータがマルチホッピング通信により通信装置１０２に転送されるまでのデータのホップ数の基準値になるホップ数である。
【００２２】
各ノード１０１は、登録要求を受信すると、登録要求自体のホップ数を取得して、基準ホップ数として登録する。例えば、図１に●で示されたノード１０１−１は、通信装置１０２から送信され、図１に○で示された他のノード１０１−２，３から転送された登録要求を受信する。次に、ノード１０１−１は、受信した登録要求のホップ数「３」を、基準ホップ数として記憶する。
【００２３】
ここで、ノード群１０１ｓのいずれかのノード１０１に故障が発生したとして、図１の（Ｂ）の説明に移行する。このとき、ノード１０１は、いずれかのノード１０１に故障が発生したことを検出していない。同様に、通信装置１０２は、いずれかのノード１０１に故障が発生したことを検出していない。
【００２４】
図１の（Ｂ）において、各ノード１０１は、センサーから測定したデータを通信装置１０２に送信する際に、基準ホップ数を付与して送信する。以下の説明では、センサーから測定したデータを「センサーデータ」と表記する場合がある。通信装置１０２は、各ノード１０１から送信されたセンサーデータを受信し、受信したセンサーデータの実際のホップ数と、受信したセンサーデータに付与された基準ホップ数とを、比較して、ノード群１０１ｓに含まれるいずれかのノード１０１に故障が発生したか否かを判定する。
【００２５】
例えば、通信装置１０２は、図１に●で示されたノード１０１−１から送信され、図１に○で示された他のノード１０１−３〜５から転送されたセンサーデータを受信する。次に、通信装置１０２は、受信したセンサーデータの実際のホップ数「４」と、受信したセンサーデータに付与された基準ホップ数「３」と、を比較する。そして、通信装置１０２は、実際のホップ数が基準ホップ数より多いため、ノード群１０１ｓに含まれるいずれかのノード１０１に故障が発生したと判定する。
【００２６】
このように、ノード群１０１ｓに含まれるいずれかのノード１０１に故障が発生した場合には、当該いずれかのノード１０１を迂回して通信が行われるようになるため、ホップ数が増加することになる。これにより、通信装置１０２は、ノード群１０１ｓに含まれるいずれかのノード１０１に故障が発生したか否かを判定することができる。
【００２７】
（センサーネットワークシステム２００の接続例）
次に、図２を用いて、図１に示したシステム１００を、センサーネットワークシステム２００に適用した場合の、センサーネットワークシステム２００の接続例について説明する。
【００２８】
図２は、センサーネットワークシステム２００の接続例を示す説明図である。センサーネットワークシステム２００は、通信装置１０２と、ノード群１０１ｓと、サーバ２０１と、利用者端末２０２と、を有する。ノード群１０１ｓは、ネットワーク１１０を形成する。通信装置１０２と、サーバ２０１と、利用者端末２０２とは、ネットワーク２１０を介して接続される。
【００２９】
サーバ２０１は、センサーネットワークシステム２００を利用するユーザが利用するコンピュータである。サーバ２０１は、通信装置１０２から送信された通信装置１０２が収集したセンサーデータを受信し、センサーデータを集約して、解析処理を行う。利用者端末２０２は、通信装置１０２やサーバ２０１と通信するコンピュータである。
【００３０】
ネットワーク１１０は、短距離無線通信を用いてノード群１０１ｓを接続する通信網である。ネットワーク２１０は、有線信号または無線信号により複数のコンピュータを接続する通信網である。ネットワーク２１０は、例えば、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）である。
【００３１】
（サーバ２０１のハードウェア構成例）
次に、図３を用いて、図２に示したセンサーネットワークシステム２００が有するサーバ２０１のハードウェア構成例について説明する。
【００３２】
図３は、サーバ２０１のハードウェア構成例を示すブロック図である。図３において、サーバ２０１は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）３０１と、ＲＯＭ（Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ）３０２と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）３０３と、を有する。
【００３３】
また、サーバ２０１は、大容量不揮発メモリ３０４と、ネットワークＩ／Ｆ３０５と、を有する。また、サーバ２０１は、ディスプレイ３０６と、キーボード３０７と、マウス３０８とを有する。また、ＣＰＵ３０１〜マウス３０８はバス３０９によってそれぞれ接続される。
【００３４】
ＣＰＵ３０１は、サーバ２０１の全体の制御を司る演算処理装置である。ＲＯＭ３０２は、ブートプログラムなどのプログラムを記憶する不揮発性メモリである。ＲＡＭ３０３は、ＣＰＵ３０１のワークエリアとして使用される揮発性メモリである。
【００３５】
大容量不揮発メモリ３０４は、読書可能な記憶装置であって、電力供給が途絶えたときにおいても書き込まれた所定のデータを保持する。例えば、大容量不揮発メモリ３０４は、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）、フラッシュメモリ等が採用される。
【００３６】
ネットワークＩ／Ｆ３０５は、ネットワーク２１０と内部のインターフェースを司り、外部装置からのデータの入出力を制御する制御装置である。具体的に、ネットワークＩ／Ｆ３０５は、通信回線を通じてネットワーク２１０に接続され、ネットワーク２１０を介して他の装置に接続される。ネットワークＩ／Ｆ３０５には、例えば、モデムやＬＡＮアダプタなどを採用することができる。
【００３７】
ディスプレイ３０６は、マウスカーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する装置である。ディスプレイ３０６には、例えば、ＣＲＴ（Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅ）、ＴＦＴ（Ｔｈｉｎ  Ｆｉｌｍ  Ｔｒａｎｓｉｓｔｏｒ）液晶ディスプレイ、プラズマディスプレイなどを採用することができる。
【００３８】
キーボード３０７は、文字、数字、各種指示などの入力のためのキーを有し、データの入力を行う装置である。また、キーボード３０７は、タッチパネル式の入力パッドやテンキーなどであってもよい。マウス３０８は、マウスカーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などを行う装置である。マウス３０８は、ポインティングデバイスとして同様に機能を有するものであれば、トラックボールやジョイスティックなどであってもよい。
【００３９】
（利用者端末２０２のハードウェア構成例）
次に、利用者端末２０２のハードウェア構成例について説明する。利用者端末２０２のハードウェア構成例は、図３に示したサーバ２０１のハードウェア構成例と同様である。利用者端末２０２は、例えば、スマートフォン、携帯端末、ＰＤＡなどである。
【００４０】
（通信装置１０２のハードウェア構成例）
次に、図４を用いて、図２に示したセンサーネットワークシステム２００が有する通信装置１０２のハードウェア構成例について説明する。
【００４１】
図４は、通信装置１０２のハードウェア構成例を示すブロック図である。通信装置１０２は、プロセッサ（ＣＰＵ）４０１と、ＲＯＭ４０２と、ＲＡＭ４０３と、不揮発メモリ４０４と、インターフェース（Ｉ／Ｏ（Ｉｎｐｕｔ／Ｏｕｔｐｕｔ））回路４０５と、無線通信回路４１１と、アンテナ４１２と、ネットワークＩ／Ｆ４１３と、を有する。
【００４２】
また、通信装置１０２は、ＣＰＵ４０１と、ＲＯＭ４０２と、ＲＡＭ４０３と、不揮発メモリ４０４と、Ｉ／Ｏ回路４０５と、を接続するバス４０６を有する。通信装置１０２は、ノード１０１と異なり外部電源に基づき動作してもよいし、内部電源に基づき動作してもよい。
【００４３】
ＣＰＵ４０１は、通信装置１０２全体の制御を司る演算処理装置である。ＲＯＭ４０２は、ブートプログラムなどのプログラムを記憶する不揮発性メモリである。ＲＡＭ４０３は、ＣＰＵ４０１のワークエリアとして使用される揮発性メモリである。不揮発メモリ４０４は、読書可能な記憶装置であって、電力供給が途絶えたときにおいても書き込まれた所定のデータを保持する。例えば、不揮発メモリ４０４は、ＨＤＤ、フラッシュメモリ等が採用される。
【００４４】
また、Ｉ／Ｏ回路４０５には、無線通信回路４１１と、ネットワークＩ／Ｆ４１３が接続される。これにより、通信装置１０２は、無線通信回路４１１およびアンテナ４１２を介して、周辺のノード１０１と無線通信することができる。さらに、通信装置１０２は、ネットワークＩ／Ｆ４１３を介して、ＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）のプロトコル処理などにより、インターネットなどのネットワーク２１０を介して利用者端末２０２やサーバ２０１と通信を行うことができる。
【００４５】
（制御データ５００のデータ構造）
次に、図５を用いて、図４に示した通信装置１０２が送信する登録要求を含む制御データ５００のデータ構造の一例について説明する。
【００４６】
図５は、制御データ５００のデータ構造の一例を示す説明図である。図５に示すように、制御データ５００は、識別フラグの領域５０１と、通信装置ＩＤの領域５０２と、ホップ数の領域５０３とを、含む。識別フラグは、登録要求であることを表すフラグである。通信装置ＩＤは、登録要求を送信した通信装置１０２を識別するデータである。ホップ数は、登録要求のホップ数である。ホップ数は、登録要求がノード１０１に転送される度に更新される。
【００４７】
（ノード１０１のハードウェア構成例）
次に、図６を用いて、図２に示したセンサーネットワークシステム２００が有するノード群１０１ｓに含まれるノード１０１のハードウェア構成例について説明する。
【００４８】
図６は、ノード１０１のハードウェア構成例を示すブロック図である。ノード１０１は、マイクロプロセッサ（ＭＣＵ：Ｍｉｃｒｏ  Ｃｏｎｔｒｏｌ  Ｕｎｉｔ）６０１と、センサー６０２と、無線通信回路６０３と、ＲＡＭ６０４と、ＲＯＭ６０５と、不揮発メモリ６０６と、アンテナ６０７と、ハーベスタ６０８と、バッテリ６０９と、ＰＭＵ（Ｐｏｗｅｒ  Ｍａｎａｇｅｍｅｎｔ  Ｕｎｉｔ）６１０と、を有する。ノード１０１は、ＭＣＵ６０１と、センサー６０２と、無線通信回路６０３と、ＲＡＭ６０４と、ＲＯＭ６０５と、不揮発メモリ６０６と、を接続するバス６１１を有する。
【００４９】
ＭＣＵ６０１は、ノード１０１の全体の制御を司る演算処理装置である。例えば、ＭＣＵ６０１は、センサー６０２が検出したデータを処理する。センサー６０２は、設置箇所における所定の変位量を検出する装置である。センサー６０２は、例えば、設置箇所の圧力を検出する圧電素子や、温度を検出する素子、光を検出する光電素子などを用いることができる。
【００５０】
アンテナ６０７は、親機になる通信装置１０２と無線通信する電波を送受信する。無線通信回路６０３（ＲＦ（Ｒａｄｉｏ  Ｆｒｅｑｕｅｎｃｙ））は、受信した無線電波を受信信号として出力し、送信信号を無線電波としてアンテナ６０７を介して送信する。無線通信回路６０３は、数１０ｃｍ付近にある他ノード１０１と通信可能とする短距離無線通信が採用された通信回路でよい。
【００５１】
ＲＡＭ６０４は、ＭＣＵ６０１における処理の一時データを格納する記憶装置である。ＲＯＭ６０５は、ＭＣＵ６０１が実行する処理プログラムなどを格納する記憶装置である。不揮発メモリ６０６は、書き込み可能な記憶装置であって、電力供給が途絶えたときにおいても書き込まれた所定のデータを保持する。例えば、不揮発メモリ６０６は、フラッシュメモリ等が採用される。
【００５２】
ハーベスタ６０８は、図１で説明したエナジーハーベスト素子であり、ノード１０１の設置箇所における外部環境、例えば、光、振動、温度、無線電波（受信電波）などのエネルギー変化に基づき発電する装置である。また、ハーベスタ６０８は、センサー６０２によって検出された変位量に応じて発電してもよい。
【００５３】
バッテリ６０９は、ハーベスタ６０８により発電された電力を蓄える装置である。すなわち、ノード１０１は、二次電池や外部電源などが不要であり、動作に要求される電力を自装置の内部で生成する。ＰＭＵ６１０は、バッテリ６０９によって蓄えられた電力を、ノード１０１の各部に駆動電源として供給する制御を行う装置である。
【００５４】
（基準ホップ数テーブル７００の記憶内容）
次に、図７を用いて、図６に示したノード１０１が有する基準ホップ数テーブル７００の記憶内容の一例について説明する。基準ホップ数テーブル７００は、例えば、図６に示したＲＡＭ６０４、不揮発メモリ６０６などの記憶領域によって実現される。
【００５５】
図７は、基準ホップ数テーブル７００の記憶内容の一例を示す説明図である。図７に示すように、基準ホップ数テーブル７００は、通信装置ＩＤ項目に対応付けて、基準ホップ数項目を有し、通信装置１０２ごとに各項目に情報が設定されることにより、レコードを記憶する。
【００５６】
通信装置ＩＤ項目には、受信した登録要求に含まれる通信装置ＩＤが記憶される。基準ホップ数項目には、受信した登録要求に含まれる基準ホップ数が記憶される。例えば、レコード７０１は、通信装置ＩＤ「Ａ」と、基準ホップ数「４」と、を含む基準ホップ数情報を示す。
【００５７】
（送信データ８００のデータ構造）
次に、図８を用いて、図６に示したノード１０１が送信するセンサーデータを含む送信データ８００のデータ構造の一例について説明する。
【００５８】
図８は、送信データ８００のデータ構造の一例を示す説明図である。図８に示すように、送信データ８００は、識別フラグの領域８０１と、基準ホップ数テーブル７００の領域８０２と、ホップ数の領域８０３と、センサーデータの領域８０４とを、含む。識別フラグは、センサーデータであることを表すフラグである。基準ホップ数テーブル７００は、図７に示した基準ホップ数テーブル７００の複製データである。ホップ数は、送信データ８００のホップ数を表すデータである。ホップ数は、送信データ８００がノード１０１に転送される度に更新される。センサーデータは、センサーから測定したデータである。
【００５９】
（ノード１０１の機能的構成例）
次に、図９を用いて、ノード１０１の機能的構成例について説明する。
【００６０】
図９は、ノード１０１の機能的構成例を示すブロック図である。ノード１０１は、記憶部９０１と、受信部９０２と、制御部９０３と、送信部９０４と、を含む。受信部９０２と、制御部９０３と、送信部９０４とは、例えば、図６に示したＲＡＭ６０４、ＲＯＭ６０５、不揮発メモリ６０６などの記憶装置に記憶されたプログラムをＭＣＵ６０１に実行させることにより、または、無線通信回路６０３により、その機能を実現する。
【００６１】
記憶部９０１は、基準ホップ数テーブル７００を記憶する。記憶部９０１は、例えば、図６に示したＲＡＭ６０４、不揮発メモリ６０６などの記憶装置により、その機能を実現する。これにより、制御部９０３は、送信するデータに、記憶部９０１に記憶された基準ホップ数テーブル７００を付与することができる。
【００６２】
受信部９０２は、登録要求を受信する。ここで、登録要求とは、基準ホップ数を基準ホップ数テーブル７００に登録させる要求である。基準ホップ数とは、各ノード１０１が送信したデータがマルチホッピング通信により通信装置１０２に転送されるまでのデータのホップ数の基準値になるホップ数である。受信部９０２は、例えば、登録要求を含む制御データ５００を受信する。これにより、制御部９０３は、受信部９０２によって受信された登録要求に基づいて、基準ホップ数を基準ホップ数テーブル７００に登録することができる。
【００６３】
制御部９０３は、登録要求に付与されたホップ数を基準ホップ数として記憶部９０１に記憶する。制御部９０３は、例えば、登録要求を含む制御データ５００から通信装置ＩＤとホップ数とを抽出し、抽出した通信装置ＩＤとホップ数とを対応付けたレコードを、基準ホップ数テーブル７００に登録する。これにより、制御部９０３は、送信するデータに、記憶部９０１に記憶された基準ホップ数テーブル７００を付与することができる。
【００６４】
また、制御部９０３は、抽出した通信装置ＩＤを含むレコードが基準ホップ数テーブル７００に既に記憶されている場合、抽出したホップ数と、基準ホップ数テーブル７００に記憶されたホップ数とを、比較する。そして、制御部９０３は、抽出したホップ数の方が小さい場合には、抽出した通信装置ＩＤとホップ数とを対応付けたレコードで、基準ホップ数テーブル７００のレコードを上書きする。これにより、制御部９０３は、送信するデータに、記憶部９０１に記憶された基準ホップ数テーブル７００を付与することができる。
【００６５】
制御部９０３は、センサーデータの送信イベントを検出する。ここで、センサーデータとは、センサーから計測されたデータである。制御部９０３は、例えば、センサーがセンサーデータを計測したことをセンサーデータの送信イベントとして検出する。また、制御部９０３は、例えば、センサーデータの送信要求を受信したことを送信イベントとして検出する。これにより、制御部９０３は、センサーデータを含む送信データ８００の作成を開始することができる。
【００６６】
制御部９０３は、自ノード１０１から通信装置１０２に送信するデータがマルチホッピング通信により転送される度に更新されるホップ数と、自ノード１０１から通信装置１０２にデータが転送されるまでの基準ホップ数とを、データに付与する。ここで、マルチホッピング通信とは、各ノード１０１が通信圏内の或るノードからのデータを通信圏内の他のノードに転送することにより、データを各ノード１０１が中継して通信を行うことである。制御部９０３は、例えば、識別フラグと、基準ホップ数テーブル７００と、ホップ数とを、センサーデータに付与して、送信データ８００を作成する。これにより、送信部９０４は、センサーデータを含む送信データ８００を送信することができる。
【００６７】
送信部９０４は、制御部９０３によって作成された送信データ８００を送信する。これにより、通信装置１０２は、送信データ８００を受信することができる。そして、通信装置１０２は、送信データ８００に含まれるセンサーデータを収集したり、送信データ８００に含まれるホップ数と基準ホップ数とからノード群１０１ｓに含まれるいずれかのノード１０１に故障が発生したか否かを判定することができる。
【００６８】
（故障判定装置１０００の機能的構成例）
次に、図１０を用いて、故障判定装置１０００の機能的構成例について説明する。故障判定装置１０００は、例えば、図４に示した通信装置１０２によって実現される。また、故障判定装置１０００は、図３に示したサーバ２０１と図４に示した通信装置１０２との組み合わせによって実現されてもよい。また、故障判定装置１０００は、図３に示したサーバ２０１によって実現されてもよい。以下では、故障判定装置１０００を図４に示した通信装置１０２によって実現した場合について説明する。
【００６９】
図１０は、故障判定装置１０００の機能的構成例を示すブロック図である。故障判定装置１０００は、受信部１００１と、制御部１００２と、出力部１００３と、を含む。受信部１００１と、制御部１００２と、出力部１００３とは、例えば、図４に示したＲＯＭ４０２、ＲＡＭ４０３、不揮発メモリ４０４などの記憶装置に記憶されたプログラムをＣＰＵ４０１に実行させることにより、または、インターフェース回路４０５と、無線通信回路４１１とにより、その機能を実現する。ここで、故障判定装置１０００は、ノード１０１に基準ホップ数の登録要求を送信する動作と、故障判定を行う動作と、を行うことができる。
【００７０】
＜登録要求を送信する動作＞
まず、ノード１０１に基準ホップ数の登録要求を送信する動作について説明する。登録要求を送信する動作は、例えば、受信部１００１と、制御部１００２と、出力部１００３とにより実現される。
【００７１】
受信部１００１は、登録要求の送信指示を受信する。受信部１００１は、例えば、図３に示したサーバ２０１から送信された登録要求の送信指示、または図３に示した利用者端末２０２から送信された登録要求の送信指示を受信する。これにより、制御部１００２は、登録要求の作成を開始することができる。
【００７２】
ここでは、故障判定装置１０００が、通信装置１０２によって実現される場合について、受信部１００１の説明を行ったが、これに限らない。例えば、故障判定装置１０００が、サーバ２０１によって実現される場合、受信部１００１は、図３に示したキーボード３０７やマウス３０８の操作入力によって、登録要求の送信指示を受け付けてもよい。
【００７３】
制御部１００２は、通信装置１０２が送信する基準ホップ数の登録要求がマルチホッピング通信により転送される度に更新されるホップ数を、登録要求に付与して、制御データ５００を作成する。制御部１００２は、例えば、登録要求を表す識別フラグに、通信装置ＩＤと、ホップ数とを付与して、制御データ５００を作成する。これにより、出力部１００３は、制御データ５００を送信することができる。
【００７４】
ここでは、故障判定装置１０００が、通信装置１０２によって実現される場合について、制御部１００２の説明を行ったが、これに限らない。例えば、故障判定装置１０００が、サーバ２０１によって実現される場合、制御部１００２は、通信装置１０２をノード１０１との中継装置として、通信装置１０２に中継させる登録要求を含む制御データ５００を作成してもよい。
【００７５】
出力部１００３は、制御部１００２によって作成された制御データ５００を送信する。これにより、ノード１０１は、通信装置ＩＤと基準ホップ数とを対応付けたレコードを、基準ホップ数テーブル７００に登録することができる。
【００７６】
ここでは、故障判定装置１０００が、通信装置１０２によって実現される場合について、出力部１００３の説明を行ったが、これに限らない。例えば、故障判定装置１０００が、サーバ２０１によって実現される場合、出力部１００３は、通信装置１０２に制御データ５００を送信して、通信装置１０２に制御データ５００を中継させてもよい。
【００７７】
＜故障判定を行う動作＞
次に、故障判定を行う動作について説明する。故障判定を行う動作は、例えば、受信部１００１と、制御部１００２と、出力部１００３とにより実現される。
【００７８】
受信部１００１は、ノード１０１が送信した送信データ８００を受信する。これにより、制御部１００２は、受信部１００１によって受信された送信データ８００に含まれるホップ数と基準ホップ数テーブル７００とに基づいて、故障判定を行うことができる。
【００７９】
ここでは、故障判定装置１０００が、通信装置１０２によって実現される場合について、受信部１００１の説明を行ったが、これに限らない。例えば、故障判定装置１０００が、サーバ２０１によって実現される場合、受信部１００１は、ノード１０１が送信して通信装置１０２が受信した送信データ８００を、さらに通信装置１０２から受信してもよい。
【００８０】
制御部１００２は、データに付与されたホップ数と基準ホップ数とを比較し、比較結果に基づいて、ノード群１０１ｓのいずれかのノード１０１に故障が発生したか否かを判定する。制御部１００２は、例えば、送信データ８００に付与されたホップ数が基準ホップ数より所定数以上大きい場合に、ノード群１０１ｓのいずれかのノード１０１に故障が発生したと判定する。制御部１００２は、具体的には、送信データ８００に付与されたホップ数から基準ホップ数を減算して、差分を算出する。そして、制御部１００２は、差分が閾値Ａよりも大きいか否かを判定し、差分が閾値Ａよりも大きい場合にノード群１０１ｓのいずれかのノード１０１に故障が発生したと判定する。
【００８１】
また、制御部１００２は、例えば、データを複数受信し、データに付与されたホップ数が基準ホップ数より所定数以上大きいときが、所定回数以上あった場合に、ノード群１０１ｓのいずれかのノード１０１に故障が発生したと判定してもよい。制御部１００２は、具体的には、過去に受信した複数の送信データ８００の各々の送信データ８００について、送信データ８００に付与されたホップ数から基準ホップ数を減算して、差分を算出する。そして、制御部１００２は、差分が閾値Ａよりも大きいときが、閾値Ｂより多い回数あった場合に、ノード群１０１ｓのいずれかのノード１０１に故障が発生したと判定する。これにより、制御部１００２は、ノード群１０１ｓのいずれかのノード１０１に故障が発生したか否かを判定して、出力することができる。
【００８２】
ここでは、故障判定装置１０００が、通信装置１０２によって実現される場合について、制御部１００２の説明を行ったが、これに限らない。例えば、故障判定装置１０００が、サーバ２０１によって実現される場合、制御部１００２は、通信装置１０２から受信した送信データ８００に基づいて、ノード群１０１ｓのいずれかのノード１０１に故障が発生したか否かを判定してもよい。
【００８３】
出力部１００３は、判定結果と基準ホップ数とを対応付けて出力する。また、出力部１００３は、判定結果と基準ホップ数と通信装置１０２の識別情報とを対応付けて出力する。出力形式には、例えば、サーバ２０１への送信がある。これにより、利用者は、故障が発生した場所を特定することができる。
【００８４】
ここでは、故障判定装置１０００が、通信装置１０２によって実現される場合について、出力部１００３の説明を行ったが、これに限らない。例えば、故障判定装置１０００が、サーバ２０１によって実現される場合、出力部１００３は、判定結果と基準ホップ数と通信装置１０２の識別情報とを対応付けて、ディスプレイ３０６に表示してもよい。
【００８５】
（登録動作の一例）
次に、図１１および図１２を用いて、基準ホップ数テーブル７００の登録動作の一例について説明する。
【００８６】
図１１および図１２は、登録動作の一例を示す説明図である。図１１および図１２において、通信装置１０２は、登録要求を含む制御データ５００を送信する。ノード１０１は、通信装置１０２または他のノード１０１から、登録要求を含む制御データ５００を受信すると、制御データ５００に含まれる通信装置ＩＤとホップ数とを対応付けたレコードを、基準ホップ数テーブル７００に登録する。そして、ノード１０１は、制御データ５００に含まれるホップ数をインクリメントして、通信圏内に送信する。
【００８７】
図１１の例では、通信装置１０２−１は、登録要求を表す識別フラグ「０」に、通信装置ＩＤ「Ａ」とホップ数「１」とを付与して、制御データ５００を作成して送信する。図１１に●で示された、通信装置１０２−１の通信圏内にあるノード１０１−１は、通信装置１０２−１から送信された制御データ５００を受信すると、制御データ５００に含まれる通信装置ＩＤ「Ａ」とホップ数「１」とを対応付けたレコードを、基準ホップ数テーブル７００に登録する。そして、図１１に●で示されたノード１０１−１は、制御データ５００に含まれるホップ数「１」をインクリメントしてホップ数「２」に更新して、制御データ５００を通信圏内に送信する。次に、図１２の説明に移行する。
【００８８】
図１２の例では、図１２に●で示された、上述したノード１０１−１の通信圏内のノード１０１−２は、上述したノード１０１−１から送信された制御データ５００を受信すると、制御データ５００に含まれる通信装置ＩＤ「Ａ」とホップ数「２」とを対応付けたレコードを、基準ホップ数テーブル７００に登録する。そして、図１２に●で示されたノード１０１−２は、制御データ５００に含まれるホップ数「２」をインクリメントしてホップ数「３」に更新して、制御データ５００を通信圏内に送信する。
【００８９】
このようにして、ノード群１０１ｓの各ノード１０１は、基準ホップ数テーブル７００に、通信装置ＩＤ「Ａ」を含むレコードを登録することができる。また、他の通信装置１０２も同様に、登録要求を含む制御データ５００を送信する。これにより、ノード群１０１ｓの各ノード１０１は、基準ホップ数テーブル７００に、各通信装置ＩＤを含むレコードを登録することができる。
【００９０】
（故障判定動作の一例）
次に、図１３〜図１７を用いて、故障判定動作の一例について説明する。
【００９１】
図１３〜図１７は、故障判定動作の一例を示す説明図である。図１３〜図１７において、ノード１０１は、センサーからセンサーデータを計測すると、センサーデータを含む送信データ８００を作成して、通信圏内に送信する。また、ノード１０１は、送信データ８００を受信すると、送信データ８００に含まれるホップ数をインクリメントして、通信圏内に送信する。通信装置１０２は、送信データ８００を受信すると、故障判定を行う。
【００９２】
まず、図１３〜図１５を用いて、ノード１０１に故障が発生していない場合の故障判定動作の一例について説明する。図１３の例では、図１３に●で示されたノード１０１−５は、センサーからセンサーデータを計測する。次に、図１３に●で示されたノード１０１−５は、送信データ８００であることを表す識別フラグ「１」と基準ホップ数テーブル７００とホップ数「１」とを、計測したセンサーデータに付与して送信データ８００を作成して、通信圏内に送信する。次に、図１４の説明に移行する。
【００９３】
図１４の例では、図１４に●で示された、上述したノード１０１−５の通信圏内のノード１０１−４は、上述したノード１０１−５から送信された送信データ８００を受信すると、送信データ８００に含まれるホップ数「１」をインクリメントしてホップ数「２」に更新して、送信データ８００を通信圏内に送信する。このようにして、ノード群１０１ｓの各ノード１０１は、送信データ８００を転送する。次に、図１５の説明に移行する。
【００９４】
図１５の例では、通信装置１０２−１は、ノード１０１−１〜４から転送された、送信データ８００を受信する。通信装置１０２−１は、送信データ８００に含まれるホップ数「５」と、基準ホップ数テーブル７００に含まれる自通信装置１０２−１の通信装置ＩＤ「Ａ」に対応する基準ホップ数「５」とを比較する。次に、通信装置１０２−１は、ホップ数「５」が基準ホップ数「５」より所定数以上大きくないため、ノード１０１に故障が発生していないと判定する。
【００９５】
次に、図１６および図１７を用いて、ノード１０１に故障が発生した場合の故障判定動作の一例について説明する。図１６の例では、図１６に●で示されたノード１０１−５は、センサーからセンサーデータを計測する。次に、図１６に●で示されたノード１０１−５は、送信データ８００であることを表す識別フラグ「１」と基準ホップ数テーブル７００とホップ数「１」とを、計測したセンサーデータに付与して送信データ８００を作成して、通信圏内に送信する。
【００９６】
このようにして、ノード群１０１ｓの各ノード１０１は、送信データ８００を転送する。しかしながら、図１６に網掛けの○で示されたノード１０１−３などに故障が発生しているため、網掛けの○で示されたノード１０１−３を迂回して送信データ８００は転送されることになる。次に、図１７の説明に移行する。
【００９７】
図１７の例では、通信装置１０２−１は、送信データ８００を受信する。通信装置１０２−１は、送信データ８００に含まれるホップ数「７」と、基準ホップ数テーブル７００に含まれる自通信装置１０２−１の通信装置ＩＤ「Ａ」に対応する基準ホップ数「５」とを比較する。次に、通信装置１０２−１は、ホップ数「７」が基準ホップ数「５」より所定数以上大きいため、ノード１０１に故障が発生したと判定する。
【００９８】
（故障範囲特定動作の一例）
次に、図１８を用いて、故障範囲特定動作の一例について説明する。
【００９９】
図１８は、故障範囲特定動作の一例を示す説明図である。図１８において、通信装置１０２は、ノード１０１に故障が発生した場合に、ノード１０１に故障が発生した範囲を特定する。図１８の例では、通信装置１０２−１は、送信データ８００に含まれる基準ホップ数テーブル７００に含まれる各通信装置１０２−１〜４に対応する基準ホップ数「５」を抽出する。
【０１００】
次に、通信装置１０２は、自通信装置１０２−１から、自通信装置１０２−１に対応する基準ホップ数分のホップ数「５」で到達可能な範囲を特定する。同様に、通信装置１０２−１は、他の通信装置１０２−２〜４から、他の通信装置１０２−２〜４に対応する基準ホップ数分のホップ数「５」で到達可能な範囲を特定する。そして、通信装置１０２−１は、各通信装置１０２−１〜４から基準ホップ数分のホップ数で到達可能な範囲の重複範囲を、送信データ８００を送信したノード１０１の存在範囲として特定する。
【０１０１】
さらに、通信装置１０２−１は、自通信装置１０２−１の位置と、送信データ８００を送信したノード１０１の存在範囲との間の範囲を、ノード１０１が故障した範囲として特定する。これにより、通信装置１０２は、ノード１０１が故障した範囲を特定して、サーバ２０１に送信することができる。以下の説明では、ノード１０１が故障した範囲を「故障範囲」と表記する場合がある。
【０１０２】
（メンテナンス動作の一例）
次に、故障範囲を特定した場合のメンテナンス動作の一例について説明する。サーバ２０１は、故障範囲を受信すると、故障範囲をディスプレイ３０６に表示する。センサーネットワークシステム２００の利用者は、サーバ２０１がディスプレイ３０６に表示した故障範囲を把握すると、サーバ２０１を操作して、通信装置１０２を介して各ノード１０１の運用を一旦停止する。
【０１０３】
次に、センサーネットワークシステム２００の利用者は、サーバ２０１がディスプレイ３０６に表示した故障範囲に、実際に赴いて、ノード１０１を追加して設置する。この後、各通信装置１０２は、図１１および図１２に示したように、登録要求を送信して、各ノード１０１の基準ホップ数テーブル７００を更新する。そして、センサーネットワークシステム２００の利用者は、サーバ２０１を操作して、通信装置１０２を介して各ノード１０１の運用を再開する。これにより、センサーネットワークシステム２００を、ネットワークが切断されないように対策することができる。
【０１０４】
（閾値設定の一例）
次に、図１９を用いて、閾値設定の一例について説明する。
【０１０５】
図１９は、閾値設定の一例を示す説明図である。センサーネットワークシステム２００の利用者は、図１９に示すように、例えば、２０００個のノード１０１から形成されるネットワーク１１０を想定し、故障ノード１０１の個数を複数パターン設定してシミュレーションを行う。
【０１０６】
そして、センサーネットワークシステム２００の利用者は、シミュレーション結果に基づいて、閾値Ａになる「１８」を決定する。また、センサーネットワークシステム２００の利用者は、シミュレーション結果に基づいて、閾値Ｂになる「３」を決定する。これにより、センサーネットワークシステム２００の利用者は、ホップ数と基準ホップ数との差分が閾値Ａ「１８」より大きいときが、閾値Ｂ「３」より多い回数以上あれば故障と判定すると決定する。
【０１０７】
（登録にかかる協調動作の一例）
次に、図２０を用いて、基準ホップ数テーブル７００の登録にかかる協調動作の一例について説明する。
【０１０８】
図２０は、基準ホップ数テーブル７００の登録にかかる協調動作の一例を示すシーケンス図である。図２０において、サーバ２０１は、基準ホップ数テーブル７００の登録要求の送信指示を通信装置１０２−１に送信する（ステップＳ２００１）。通信装置１０２−１は、送信指示を受信すると、基準ホップ数テーブル７００の登録要求と、通信装置１０２−１の通信装置ＩＤと、ホップ数とを含む制御データ５００を作成して送信する（ステップＳ２００２）。ノード１０１−１は、制御データ５００を受信すると、基準ホップ数テーブル７００にレコードを記憶し、制御データ５００に含まれるホップ数を更新して、転送する（ステップＳ２００３）。
【０１０９】
また、サーバ２０１は、送信指示を送信していない通信装置１０２があれば、基準ホップ数テーブル７００の登録要求の送信指示を、送信指示を送信していない通信装置１０２−２に送信する（ステップＳ２００４）。通信装置１０２−２は、送信指示を受信すると、基準ホップ数テーブル７００の登録要求と、通信装置１０２−２の通信装置ＩＤと、ホップ数とを含む制御データ５００を作成して送信する（ステップＳ２００５）。ノード１０１−Ｎは、制御データ５００を受信すると、基準ホップ数テーブル７００にレコードを記憶し、制御データ５００に含まれるホップ数を更新して、転送する（ステップＳ２００６）。
【０１１０】
サーバ２０１は、送信指示を送信していない通信装置１０２がなくなると、運用開始の実行指示を通信装置１０２−１に送信する（ステップＳ２００７）。通信装置１０２−１は、実行指示を受信すると、運用開始要求を送信する（ステップＳ２００８）。ノード１０１−１は、運用開始要求を受信すると、運用を開始して、運用開始要求を転送する（ステップＳ２００９）。これにより、システム１００は、運用を開始することができる。
【０１１１】
（故障判定にかかる協調動作の一例）
次に、図２１を用いて、故障判定にかかる協調動作の一例について説明する。
【０１１２】
図２１は、故障判定にかかる協調動作の一例を示すシーケンス図である。図２１において、ノード１０１−Ｎは、センサーからセンサーデータを計測すると、センサーデータを含む送信データ８００を作成して送信する（ステップＳ２１０１）。また、ノード１０１−１は、送信データ８００を受信すると、送信データ８００に含まれるホップ数を更新して送信する（ステップＳ２１０２）。通信装置１０２−１は、送信データ８００を受信すると、故障判定を行い、故障判定の判定結果をサーバ２０１に送信する（ステップＳ２１０３）。これにより、センサーネットワークシステム２００の利用者は、サーバ２０１から判定結果の通知を受けて、判定結果を把握することができる。
【０１１３】
（メンテナンスにかかる協調動作の一例）
次に、図２２を用いて、メンテナンスにかかる協調動作の一例について説明する。
【０１１４】
図２２は、メンテナンスにかかる協調動作の一例を示すシーケンス図である。図２２において、サーバ２０１は、運用停止の実行指示を通信装置１０２−１に送信する（ステップＳ２２０１）。通信装置１０２−１は、運用停止の実行指示を受信すると、運用停止要求を送信する（ステップＳ２２０２）。ノード１０１−１は、運用停止要求を受信すると、運用停止要求を転送して（ステップＳ２２０３）、運用を停止する。そして、センサーネットワークシステム２００の利用者は、ノード１０１を追加する。これにより、システム１００は、ダウンを回避することができる。
【０１１５】
（サーバ２０１の送信指示処理手順の一例）
次に、図２３を用いて、サーバ２０１の基準ホップ数テーブル７００の登録要求の送信指示処理手順の一例について説明する。
【０１１６】
図２３は、サーバ２０１の送信指示処理手順の一例を示すフローチャートである。図２３において、サーバ２０１は、送信指示のトリガとなるユーザ操作があったか否かを判定する（ステップＳ２３０１）。ここで、ユーザ操作がない場合（ステップＳ２３０１：Ｎｏ）、サーバ２０１は、ステップＳ２３０１の処理に戻る。
【０１１７】
一方で、ユーザ操作があった場合（ステップＳ２３０１：Ｙｅｓ）、サーバ２０１は、すべての通信装置１０２に、基準ホップ数テーブル７００の登録要求の送信指示を送信したか否かを判定する（ステップＳ２３０２）。ここで、送信していない場合（ステップＳ２３０２：Ｎｏ）、サーバ２０１は、送信指示を送信していない通信装置１０２を選択する（ステップＳ２３０３）。次に、サーバ２０１は、選択した通信装置１０２に、送信指示を送信する（ステップＳ２３０４）。そして、サーバ２０１は、所定時間待機して（ステップＳ２３０５）、ステップＳ２３０２の処理に戻る。
【０１１８】
一方で、すべての通信装置１０２に送信した場合（ステップＳ２３０２：Ｙｅｓ）、サーバ２０１は、すべての通信装置１０２に、運用開始の実行指示を送信する（ステップＳ２３０６）。そして、サーバ２０１は、送信指示処理を終了する。これにより、サーバ２０１は、通信装置１０２に各ノードに基準ホップ数を記憶させるように指示することができる。
【０１１９】
（サーバ２０１の故障通知処理手順の一例）
次に、図２４を用いて、サーバ２０１の故障通知処理手順の一例について説明する。
【０１２０】
図２４は、サーバ２０１の故障通知処理手順の一例を示すフローチャートである。図２４において、サーバ２０１は、故障通知のトリガとなる判定結果を含むデータを受信したか否かを判定する（ステップＳ２４０１）。ここで、受信していない場合（ステップＳ２４０１：Ｎｏ）、サーバ２０１は、ステップＳ２４０１の処理に戻る。
【０１２１】
一方で、受信した場合（ステップＳ２４０１：Ｙｅｓ）、サーバ２０１は、判定結果がノード群１０１ｓのいずれかのノード１０１に故障が発生したという判定結果か否かを判定する（ステップＳ２４０２）。ここで、故障が発生したという判定結果ではない場合（ステップＳ２４０２：Ｎｏ）、サーバ２０１は、故障通知処理を終了する。
【０１２２】
一方で、故障が発生したという判定結果である場合（ステップＳ２４０２：Ｙｅｓ）、サーバ２０１は、故障範囲を特定して出力する（ステップＳ２４０３）。そして、サーバ２０１は、故障通知処理を終了する。これにより、サーバ２０１は、センサーネットワークシステム２００の利用者に、故障範囲を通知することができる。
【０１２３】
（サーバ２０１の運用停止の実行指示処理手順の一例）
次に、図２５を用いて、サーバ２０１の運用停止の実行指示処理手順の一例について説明する。
【０１２４】
図２５は、サーバ２０１の運用停止の実行指示処理手順の一例を示すフローチャートである。図２５において、サーバ２０１は、運用停止の実行指示のトリガとなるユーザ操作があったか否かを判定する（ステップＳ２５０１）。ここで、ユーザ操作がない場合（ステップＳ２５０１：Ｎｏ）、サーバ２０１は、ステップＳ２５０１の処理に戻る。
【０１２５】
一方で、ユーザ操作があった場合（ステップＳ２５０１：Ｙｅｓ）、サーバ２０１は、すべての通信装置１０２に、運用停止の実行指示を送信する（ステップＳ２５０２）。そして、サーバ２０１は、運用停止の実行指示処理を終了する。これにより、サーバ２０１は、通信装置１０２に各ノードを運用停止状態にするように指示することができる。
【０１２６】
（通信装置１０２の登録要求処理手順の一例）
次に、図２６を用いて、通信装置１０２の基準ホップ数テーブル７００の登録要求処理手順の一例について説明する。
【０１２７】
図２６は、通信装置１０２の登録要求処理手順の一例を示すフローチャートである。図２６において、通信装置１０２は、登録要求の送信指示を受信したか否かを判定する（ステップＳ２６０１）。ここで、受信していない場合（ステップＳ２６０１：Ｎｏ）、通信装置１０２は、ステップＳ２６０１の処理に戻る。
【０１２８】
一方で、受信した場合（ステップＳ２６０１：Ｙｅｓ）、通信装置１０２は、登録要求を表す識別フラグに、自通信装置１０２の通信装置ＩＤとホップ数とを付与して制御データ５００を作成して送信する（ステップＳ２６０２）。そして、通信装置１０２は、登録要求処理を終了する。これにより、通信装置１０２は、自通信装置１０２に対応する基準ホップ数を、各ノード１０１に記憶させることができる。
【０１２９】
（通信装置１０２の運用開始処理手順の一例）
次に、図２７を用いて、通信装置１０２の運用開始処理手順の一例について説明する。
【０１３０】
図２７は、通信装置１０２の運用開始処理手順の一例を示すフローチャートである。図２７において、通信装置１０２は、運用開始の実行指示を受信したか否かを判定する（ステップＳ２７０１）。ここで、受信していない場合（ステップＳ２７０１：Ｎｏ）、通信装置１０２は、ステップＳ２７０１の処理に戻る。
【０１３１】
一方で、受信した場合（ステップＳ２７０１：Ｙｅｓ）、通信装置１０２は、運用開始要求を送信する（ステップＳ２７０２）。そして、通信装置１０２は、運用開始処理を終了する。これにより、通信装置１０２は、各ノード１０１を運用状態にすることができる。
【０１３２】
（通信装置１０２の運用停止処理手順の一例）
次に、図２８を用いて、通信装置１０２の運用停止処理手順の一例について説明する。
【０１３３】
図２８は、通信装置１０２の運用停止処理手順の一例を示すフローチャートである。図２８において、通信装置１０２は、運用停止の実行指示を受信したか否かを判定する（ステップＳ２８０１）。ここで、受信していない場合（ステップＳ２８０１：Ｎｏ）、通信装置１０２は、ステップＳ２８０１の処理に戻る。
【０１３４】
一方で、受信した場合（ステップＳ２８０１：Ｙｅｓ）、通信装置１０２は、運用停止要求を送信する（ステップＳ２８０２）。そして、通信装置１０２は、運用停止処理を終了する。これにより、通信装置１０２は、各ノード１０１を運用停止状態にすることができる。
【０１３５】
（通信装置１０２の故障判定処理手順の一例）
次に、図２９を用いて、通信装置１０２の故障判定処理手順の一例について説明する。
【０１３６】
図２９は、通信装置１０２の故障判定処理手順の一例を示すフローチャートである。図２９において、通信装置１０２は、ノード１０１からの送信データ８００を受信したか否かを判定する（ステップＳ２９０１）。ここで、受信していない場合（ステップＳ２９０１：Ｎｏ）、通信装置１０２は、ステップＳ２９０１の処理に戻る。
【０１３７】
一方で、受信した場合（ステップＳ２９０１：Ｙｅｓ）、通信装置１０２は、送信データ８００に含まれる基準ホップ数テーブル７００とホップ数とを取得する（ステップＳ２９０２）。次に、通信装置１０２は、自通信装置１０２の通信装置ＩＤに対応する基準ホップ数とホップ数との差分を算出する（ステップＳ２９０３）。
【０１３８】
そして、通信装置１０２は、差分が閾値Ａ以上であるか否かを判定する（ステップＳ２９０４）。ここで、閾値Ａより小さい場合（ステップＳ２９０４：Ｎｏ）、通信装置１０２は、ステップＳ２９０６の処理に移行する。一方で、閾値Ａ以上である場合（ステップＳ２９０４：Ｙｅｓ）、通信装置１０２は、比較処理を実行する（ステップＳ２９０５）。
【０１３９】
次に、通信装置１０２は、判定結果をサーバ２０１に送信する（ステップＳ２９０６）。そして、通信装置１０２は、故障判定処理を終了する。これにより、通信装置１０２は、システム１００内にノード１０１の故障が存在するか否かを判定することができ、判定結果をサーバ２０１に送信して、センサーネットワークシステム２００の利用者に通知することができる。
【０１４０】
（通信装置１０２の比較処理手順の一例）
次に、図３０を用いて、ステップＳ２９０５に示した通信装置１０２の比較処理手順の一例について説明する。
【０１４１】
図３０は、通信装置１０２の比較処理手順の一例を示すフローチャートである。図３０において、通信装置１０２は、過去１０回分の送信データ８００について、閾値Ａを超えた回数を算出する（ステップＳ３００１）。次に、通信装置１０２は、算出結果が閾値Ｂ以上であるか否かを判定する（ステップＳ３００２）。ここで、閾値Ｂより小さい場合（ステップＳ３００２：Ｎｏ）、通信装置１０２は、比較処理を終了する。
【０１４２】
一方で、閾値Ｂ以上である場合（ステップＳ３００２：Ｙｅｓ）、通信装置１０２は、判定結果に基準ホップ数テーブル７００を付与する（ステップＳ３００３）。そして、通信装置１０２は、比較処理を終了する。これにより、通信装置１０２は、システム１００内にノード１０１の故障が存在するか否かを判定することができる。
【０１４３】
（ノード１０１の運用処理手順の一例）
次に、図３１を用いて、ノード１０１の運用処理手順の一例について説明する。
【０１４４】
図３１は、ノード１０１の運用処理手順の一例を示すフローチャートである。図３１において、ノード１０１は、データを受信すると、受信したデータの種類を判定する（ステップＳ３１０１）。
【０１４５】
ここで、送信データ８００である場合（ステップＳ３１０１：送信データ８００）、ノード１０１は、自ノード１０１の状態が、運用状態であるか否かを判定する（ステップＳ３１０２）。ここで、運用状態ではない場合（ステップＳ３１０２：Ｎｏ）、ノード１０１は、運用処理を終了する。一方で、運用状態である場合（ステップＳ３１０２：Ｙｅｓ）、ノード１０１は、送信データ８００に含まれるホップ数をインクリメントする（ステップＳ３１０３）。次に、ノード１０１は、ホップ数をインクリメントした送信データ８００を送信する（ステップＳ３１０４）。そして、ノード１０１は、運用処理を終了する。これにより、ノード１０１は、送信データ８００を送信することができる。
【０１４６】
ステップＳ３１０１において、登録要求を含む制御データ５００である場合（ステップＳ３１０１：登録要求）、ノード１０１は、自ノード１０１の状態が、運用状態であるか否かを判定する（ステップＳ３１０５）。ここで、運用状態ではない場合（ステップＳ３１０５：Ｎｏ）、ノード１０１は、運用処理を終了する。
【０１４７】
一方で、運用状態である場合（ステップＳ３１０５：Ｙｅｓ）、ノード１０１は、制御データ５００に含まれる通信装置ＩＤを抽出し、抽出した通信装置ＩＤを含むレコードが基準ホップ数テーブル７００に記憶されているか否かを判定する（ステップＳ３１０６）。
【０１４８】
ここで、記憶されている場合（ステップＳ３１０６：Ｙｅｓ）、ノード１０１は、運用処理を終了する。また、この場合、ノード１０１は、制御データ５００に含まれるホップ数が、基準ホップ数テーブル７００において通信装置ＩＤと対応付けられた基準ホップ数よりも小さいときは、基準ホップ数を制御データ５００に含まれるホップ数で上書きしてもよい。
【０１４９】
一方で、記憶されていない場合（ステップＳ３１０６：Ｎｏ）、ノード１０１は、制御データ５００に含まれる通信装置ＩＤとホップ数とを対応付けたレコードを、基準ホップ数テーブル７００に記憶する（ステップＳ３１０７）。次に、ノード１０１は、制御データ５００に含まれるホップ数をインクリメントする（ステップＳ３１０８）。そして、ノード１０１は、ホップ数をインクリメントした制御データ５００を送信し（ステップＳ３１０９）、運用処理を終了する。これにより、ノード１０１は、基準ホップ数を、基準ホップ数テーブル７００に登録することができる。
【０１５０】
ステップＳ３１０１において、運用開始要求または運用停止要求のいずれかである場合（ステップＳ３１０１：運用開始要求／運用停止要求）、ノード１０１は、運用開始要求か否かを判定する（ステップＳ３１１０）。
【０１５１】
ここで、運用開始要求である場合（ステップＳ３１１０：Ｙｅｓ）、ノード１０１は、自ノード１０１の状態を運用状態に変更し（ステップＳ３１１１）、運用処理を終了する。一方で、運用停止要求である場合（ステップＳ３１１０：Ｎｏ）、ノード１０１は、自ノード１０１の状態を運用停止状態に変更し（ステップＳ３１１２）、運用処理を終了する。これにより、ノード１０１は、運用状態と、運用停止状態と、を切り替えることができる。
【０１５２】
以上説明したように、本実施の形態のシステム１００によれば、ノード１０１が通信装置１０２から受信した登録要求に基づいて通信装置１０２までの基準ホップ数を記憶し、通信装置１０２にセンサーデータを送信する際に基準ホップ数を付与して送信することができる。これにより、通信装置１０２は、基準ホップ数と実際のセンサーデータのホップ数とを比較して、ノード群１０１ｓに含まれるいずれかのノード１０１に故障が発生したか否かを判定することができる。また、本実施の形態のシステム１００によれば、通信装置１０２が登録要求を送信することにより、ノード１０１が登録要求のホップ数から基準ホップ数を記憶することができる。
【０１５３】
また、本実施の形態のシステム１００によれば、通信装置１０２が判定結果と基準ホップ数とを対応付けて出力することにより、サーバ２０１が基準ホップ数に基づいて故障範囲を特定してセンサーネットワークシステム２００の利用者に通知することができる。また、センサーネットワークシステム２００の利用者が基準ホップ数に基づいて故障範囲を特定してもよい。結果として、利用者は、故障範囲を調査することなく対策を行うことができ、センサーネットワークシステム２００のメンテナンスを効率化することができる。
【０１５４】
また、本実施の形態のシステム１００によれば、通信装置１０２が判定結果と基準ホップ数と通信装置１０２の識別情報とを対応付けて出力することにより、通信装置１０２が複数ある場合であってもサーバ２０１が故障範囲を特定して利用者に通知することができる。また、センサーネットワークシステム２００の利用者が故障範囲を特定してもよい。結果として、利用者は、故障範囲を調査することなく対策を行うことができ、センサーネットワークシステム２００のメンテナンスを効率化することができる。
【０１５５】
また、本実施の形態のシステム１００によれば、通信装置１０２が送信データ８００に含まれるホップ数が基準ホップ数より所定数以上大きい場合に、ノード群１０１ｓのいずれかのノード１０１に故障が発生したと判定することができる。これにより、通信装置１０２は、ノード群１０１ｓのいずれかのノード１０１が電力不足などにより一時的に送信データ８００の転送を行えずホップ数が増えてしまった場合には、故障が発生したと判定しないことができる。
【０１５６】
また、本実施の形態のシステム１００によれば、通信装置１０２が送信データ８００を複数受信し、送信データ８００に含まれるホップ数が基準ホップ数より所定数以上大きいときが、所定回数以上あった場合に、ノード群１０１ｓのいずれかのノード１０１に故障が発生したと判定することができる。これにより、通信装置１０２は、ノード群１０１ｓのいずれかのノード１０１が電力不足などにより一時的に送信データ８００の転送を行えずホップ数が増えてしまった場合には、故障が発生したと判定しないことができる。
【０１５７】
ここで、従来の通信装置が従来のノードにＡＣＫを送信して、従来のノードがＡＣＫの有無に基づいて通信経路の異常があるか否かを判定する場合が考えられる。しかしながら、この場合、センサーネットワークシステムにおいては、通信経路の異常がなくても、ノードがＡＣＫを受信できない場合があるため、通信経路の異常を誤判定してしまうことがある。また、この場合、電力消費の低減のために各ノードがＡＣＫを送信しないように設計されたセンサーネットワークシステムには適用することができない。また、この場合、従来のノードがＡＣＫを受信できなかったときには既に通信経路が切断されており、従来のノードが通信経路の異常を従来の通信装置に通知することができない場合がある。
【０１５８】
一方で、本実施の形態のシステム１００は、ＡＣＫを用いずに通信経路の異常があるか判定することができる。また、本実施の形態のシステム１００は、ＡＣＫを用いないため、センサーネットワークシステム２００におけるトラフィックを低減することができ、各ノード１０１のＡＣＫの送受信にかかる消費電力を削減することができる。また、本実施の形態のシステム１００は、電力消費の低減のために各ノード１０１がＡＣＫを送信しないように設計されたセンサーネットワークシステム２００であっても適用することができる。また、本実施の形態のシステム１００では、通信装置１０２が、通信経路に迂回が生じているものの通信経路がまだ切断されていないときに、通信経路の異常があるか判定することができる。すなわち、本実施の形態のシステム１００の利用者は、システム１００がダウンする前に、ノード１０１の故障の存在を把握することができる。
【０１５９】
また、ここで、従来のノードが、自ノード宛ての通信フレーム内のホップ数を確認し、確認したホップ数が最大ホップ数格納部に格納されている最大ホップ数と同じか否かに基づいて、異常な通信フレームであるか否かを判断する場合が考えられる。しかしながら、この場合、従来のノードは、複数の機能を有することになり、単価が増大してしまう。一方で、本実施の形態のシステム１００では、ノード１０１は、上述した従来のノードより機能が少なくてもよいため、単価を低減することができる。
【０１６０】
また、ここで、従来のノードが通信経路の異常があると判定した場合に、従来の通信装置に自ノードのＩＤを通知し、従来の通信装置がノードのＩＤに基づいて通信経路を特定する場合が考えられる。しかしながら、この場合、数千〜数万個のノード群のすべてのノードにＩＤを割り当てることになり、センサーネットワークシステムの運用前の作業負荷が増大してしまう。また、従来のノードが、自ノードのＩＤを通知するためトラフィックが増大してしまう。また、従来のノードは、異常な通信フレームであると判断した場合に、従来の通信装置に通知することになり、トラフィックが増大してしまう。一方で、本実施の形態のシステム１００では、ノード１０１にＩＤを割り当てなくてもよいため、作業負荷を低減することができる。
【０１６１】
なお、本実施の形態で説明した故障判定方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本故障判定プログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また本故障判定プログラムは、インターネット等のネットワークを介して配布してもよい。
【０１６２】
上述した実施の形態に関し、さらに以下の付記を開示する。
【０１６３】
（付記１）ノード間でマルチホッピング通信するノード群と、前記ノード群に含まれるノードと通信する通信装置と、を有するシステムにおいて、
前記ノードは、前記ノードが送信するデータが前記マルチホッピング通信により転送される度に更新されるホップ数と、前記ノードから前記通信装置に前記データが転送されるまでの基準ホップ数とを、前記データに付与して送信し、
前記通信装置は、前記データを受信すると、前記データに付与されたホップ数と前記基準ホップ数とを比較し、比較結果に基づいて、前記ノード群のいずれかのノードに故障が発生したか否かを判定する、
ことを特徴とするシステム。
【０１６４】
（付記２）前記通信装置は、前記通信装置が送信する前記基準ホップ数の登録要求が前記マルチホッピング通信により転送される度に更新されるホップ数を、前記登録要求に付与して送信し、
前記ノードは、前記登録要求に付与されたホップ数を前記基準ホップ数として記憶装置に記憶し、前記データが前記マルチホッピング通信により転送される度に更新されるホップ数と、前記記憶装置に記憶した前記基準ホップ数とを、前記データに付与して送信することを特徴とする付記１に記載のシステム。
【０１６５】
（付記３）前記通信装置は、判定した結果と前記基準ホップ数とを対応付けて出力することを特徴とする付記１または２に記載のシステム。
【０１６６】
（付記４）前記通信装置は、判定した結果と前記基準ホップ数と前記通信装置の識別情報とを対応付けて出力することを特徴とする付記１または２に記載のシステム。
【０１６７】
（付記５）前記通信装置は、前記データに付与されたホップ数が前記基準ホップ数より所定数以上大きい場合に、前記ノード群のいずれかのノードに故障が発生したと判定することを特徴とする付記１〜４のいずれか一つに記載のシステム。
【０１６８】
（付記６）前記通信装置は、前記データを複数受信し、前記データに付与されたホップ数が前記基準ホップ数より所定数以上大きいときが、所定回数以上あった場合に、前記ノード群のいずれかのノードに故障が発生したと判定することを特徴とする付記１〜４のいずれか一つに記載のシステム。
【０１６９】
（付記７）前記システムは、前記通信装置を複数有し、
前記ノードは、前記データが前記マルチホッピング通信により転送される度に更新されるホップ数と、前記ノードから前記通信装置に前記データが転送されるまでの前記通信装置ごとの基準ホップ数とを、前記データに付与して送信し、
前記通信装置は、前記データを受信すると、前記データに付与されたホップ数と、前記前記通信装置ごとの基準ホップ数のうちの自通信装置の基準ホップ数とを比較することを特徴とする付記１に記載のシステム。
【０１７０】
（付記８）ノード間でマルチホッピング通信するノード群に含まれるノードであって、
自ノードから通信装置に送信するデータが前記マルチホッピング通信により転送される度に更新されるホップ数と、自ノードから前記通信装置に前記データが転送されるまでの基準ホップ数とを、前記データに付与する付与部と、
前記付与部によって付与された前記データを送信する送信部と、
を有することを特徴とするノード。
【０１７１】
（付記９）ノード間でマルチホッピング通信するノード群に含まれるノードが送信したデータに付与された、前記ノードから当該ノードと通信する通信装置に前記データが転送されるまでの基準ホップ数と、前記マルチホッピング通信により前記データが転送される度に更新されたホップ数とを比較し、比較結果に基づいて、前記ノード群のいずれかのノードに故障が発生したか否かを判定する制御部、
を有することを特徴とする故障判定装置。
【０１７２】
（付記１０）ノード間でマルチホッピング通信するノード群に含まれるノードが、
自ノードが送信するデータが前記マルチホッピング通信により転送される度に更新されるホップ数と、前記ノードから通信装置に前記データが転送されるまでの基準ホップ数とを、前記データに付与して送信する、
処理を実行することを特徴とする故障判定方法。
【０１７３】
（付記１１）コンピュータが、
ノード間でマルチホッピング通信するノード群に含まれるノードが送信したデータに付与された、前記ノードから当該ノードと通信する通信装置に前記データが転送されるまでの基準ホップ数と、前記マルチホッピング通信により前記データが転送される度に更新されたホップ数とを比較し、比較結果に基づいて、前記ノード群のいずれかのノードに故障が発生したか否かを判定する、
処理を実行することを特徴とする故障判定方法。
【０１７４】
（付記１２）ノード間でマルチホッピング通信するノード群に含まれるノードに、
自ノードが送信するデータが前記マルチホッピング通信により転送される度に更新されるホップ数と、前記ノードから通信装置に前記データが転送されるまでの基準ホップ数とを、前記データに付与して送信する、
処理を実行させることを特徴とする故障判定プログラム。
【０１７５】
（付記１３）コンピュータに、
ノード間でマルチホッピング通信するノード群に含まれるノードが送信したデータに付与された、前記ノードから当該ノードと通信する通信装置に前記データが転送されるまでの基準ホップ数と、前記マルチホッピング通信により前記データが転送される度に更新されたホップ数とを比較し、比較結果に基づいて、前記ノード群のいずれかのノードに故障が発生したか否かを判定する、
処理を実行させることを特徴とする故障判定プログラム。
【符号の説明】
【０１７６】
１００  システム
１０１  ノード
１０２  通信装置
２０１  サーバ
９０１  記憶部
９０２  受信部
９０３  制御部
９０４  送信部
１００１  受信部
１００２  制御部
１００３  出力部
【国際調査報告】
2015029250.tif 000034
2015029250.tif 000035