(57)【要約】  センサーノード（１０１−ｌ）が、データ処理の実行を親機（１０２）と直接通信可能なセンサーノード（１０１−ｈ）に割り当てると（破線矢印）、割当先のセンサーノード（１０１−ｈ）が、当該データ処理の実行を完了しなかった場合、つぎの割当先のセンサーノード（１０１）がない。そこで、センサーノード（１０１−ｌ）は、データ処理の実行を行えない場合に、親機（１０２）との通信に複数ホップ要するセンサーノード（１０１−ｍ）にデータ処理の実行を依頼する（実線矢印）。割当先センサーノード（１０１−ｍ）で該データ処理が完了しなくとも複数のセンサーノード（１０１）で段階的に該データ処理を実行して該データ処理を完了できる。
2014033866.tif 000002
【特許請求の範囲】
【請求項１】
自通信装置を含む複数の第１通信装置のうちの少なくとも前記自通信装置のデータ処理の実行結果を、前記複数の第１通信装置の間でマルチホッピング通信することにより、前記実行結果に基づく処理を行う第２通信装置へ送信する前記複数の第１通信装置の中の通信装置であって、
前記複数の第１通信装置のうちの前記自通信装置以外の通信装置の中で、前記第２通信装置との通信に複数ホップ要する特定通信装置の識別情報を記憶する記憶装置と、
前記記憶装置に記憶された前記識別情報を含み、前記自通信装置のデータ処理の実行および前記データ処理の実行結果の送信を前記特定通信装置に依頼する依頼情報を、前記自通信装置の周辺の通信装置へ送信する送信部と、
を有することを特徴とする通信装置。
【請求項２】
前記複数の第１通信装置のうちの前記自通信装置以外のいずれかの通信装置の記憶装置に記憶された割当先通信装置の識別情報を含み、前記いずれかの通信装置のデータ処理の実行および前記データ処理の実行結果の送信を前記割当先通信装置に依頼する依頼情報を、前記自通信装置の周辺の通信装置から受信する受信部と、
前記受信部によって受信された前記依頼情報に含まれる識別情報が示す前記割当先通信装置が前記自通信装置であるか否かを判断する判断部と、
前記判断部によって前記自通信装置であると判断された場合、受信された前記依頼情報に基づくデータ処理を実行し、前記判断部によって前記自通信装置でないと判断された場合、受信された前記依頼情報に基づくデータ処理を実行しない実行部と、
を有し、
前記送信部は、
前記判断部によって前記自通信装置であると判断された場合において、
受信された前記依頼情報に基づくデータ処理の実行が前記実行部によって終了した場合、前記実行部による実行結果を前記自通信装置の周辺の通信装置へ送信し、
受信された前記依頼情報に基づくデータ処理の実行が前記実行部によって終了しなかった場合、前記記憶装置に記憶された前記識別情報を含み、受信された前記依頼情報に基づくデータ処理のうちの前記実行部によって実行が終了しなかったデータ処理の実行および前記データ処理の実行結果の送信を前記特定通信装置へ依頼する依頼情報と、受信された前記依頼情報に基づくデータ処理のうちの前記実行部によって実行が終了したデータ処理の実行結果と、を関連付けて前記自通信装置の周辺の通信装置へ送信することを特徴とする請求項１に記載の通信装置。
【請求項３】
前記受信部は、
前記複数の第１通信装置のうちの前記自通信装置以外の通信装置の記憶装置に記憶された割当先通信装置の識別情報を含み、前記複数の第１通信装置のうちのいずれかの通信装置のデータ処理のうちの実行が終了していないデータ処理の実行、および前記いずれかの通信装置の前記データ処理の実行結果の送信を前記割当先通信装置に依頼する依頼情報と、前記データ処理のうちの実行が終了した実行結果と、を受信し、
前記判断部は、
前記受信部によって受信された前記依頼情報に含まれる識別情報が示す前記割当先通信装置が前記自通信装置であるか否かを判断し、
前記実行部は、
前記判断部によって前記自通信装置であると判断された場合、受信された前記依頼情報に基づくデータ処理を実行し、前記判断部によって前記自通信装置でないと判断された場合、受信された前記依頼情報に基づくデータ処理を実行せず、
前記送信部は、
前記判断部によって前記自通信装置であると判断された場合において、
受信された前記依頼情報に基づくデータ処理の実行が前記実行部によって終了した場合、前記実行部による実行結果を前記自通信装置の周辺の通信装置へ送信し、
前記実行部によって前記依頼情報に基づくデータ処理の実行が終了しなかった場合、前記記憶装置に記憶された前記識別情報を含み、受信された前記依頼情報に基づくデータ処理のうちの前記実行部によって実行が終了しなかったデータ処理の実行および前記データ処理の実行結果の送信を依頼する依頼情報と、前記受信部によって受信された実行結果および受信された前記依頼情報に基づくデータ処理のうちの前記実行部によって実行が終了したデータ処理の実行結果と、を前記自通信装置の周辺の通信装置へ送信することを特徴とする請求項２に記載の通信装置。
【請求項４】
前記実行部と前記送信部に供給される電力を蓄電する蓄電部を有し、
前記実行部は、
受信された前記依頼情報に基づくデータ処理の実行が完了するまで、または前記蓄電部によって蓄電された電力量が所定値未満となるまで、受信された前記依頼情報に基づくデータ処理を実行し、
前記送信部は、
受信された前記依頼情報に基づくデータ処理の前記実行部による実行が前記蓄電された電力量が前記所定値未満となって中断された場合に、前記記憶装置に記憶された前記識別情報を含み、受信された前記依頼情報に基づくデータ処理のうちの前記実行部によって実行が終了しなかったデータ処理の実行および前記データ処理の実行結果の送信を依頼する依頼情報と、受信された前記依頼情報に基づくデータ処理のうちの前記実行部によって実行が終了したデータ処理の実行結果と、を前記自通信装置の周辺の通信装置へ送信することを特徴とする請求項２または３に記載の通信装置。
【請求項５】
前記特定通信装置は、前記自通信装置と直接通信可能な通信装置であることを特徴とする請求項１〜４のいずれか一つに記載の通信装置。
【請求項６】
複数の第１通信装置と、
前記複数の第１通信装置の間でマルチホッピング通信されることによって送信された前記複数の第１通信装置の少なくともいずれかのデータ処理の実行結果に基づく処理を行う第２通信装置と、
を有し、
前記複数の第１通信装置の各々が、
前記複数の第１通信装置のうちの自通信装置以外の通信装置の中で、前記第２通信装置との通信に複数ホップ要する特定通信装置の識別情報を記憶する記憶装置を有し、
前記記憶装置に記憶された前記識別情報を含み、前記自通信装置のデータ処理の実行および前記データ処理の実行結果の送信を前記特定通信装置に依頼する依頼情報を、前記自通信装置の周辺の通信装置へ送信することを特徴とするシステム。
【請求項７】
前記複数の第１通信装置の各々が、
前記複数の第１通信装置のうちの前記自通信装置以外のいずれかの通信装置の記憶装置に記憶された割当先通信装置の識別情報を含み、受信した前記依頼情報に基づくデータ処理の実行および前記データ処理の実行結果の送信を前記割当先通信装置に依頼する依頼情報を、前記自通信装置の周辺の通信装置から受信し、
受信した前記依頼情報が含む識別情報が示す前記割当先通信装置が前記自通信装置であるか否かを判断し、
前記自通信装置であると判断した場合、受信した前記依頼情報に基づくデータ処理を実行し、前記自通信装置でないと判断した場合、受信した前記依頼情報に基づくデータ処理を実行せず、
前記自通信装置であると判断した場合において、
受信した前記依頼情報に基づくデータ処理の実行が終了した場合、実行結果を前記自通信装置の周辺の通信装置へ送信し、
受信した前記依頼情報に基づくデータ処理の実行が終了しなかった場合、前記記憶装置に記憶された前記識別情報を含み、受信した前記依頼情報に基づくデータ処理のうちの実行が終了しなかったデータ処理の実行および前記データ処理の実行結果の送信を依頼する依頼情報と、受信した前記依頼情報に基づくデータ処理のうちの実行が終了したデータ処理の実行結果と、を前記自通信装置の周辺の通信装置へ送信することを特徴とする請求項６に記載のシステム。
【請求項８】
前記複数の第１通信装置の各々の記憶装置には、
前記第２通信装置が複数ある場合に前記第２通信装置の各々との通信に複数ホップ要する前記複数の第１通信装置のうちの所定通信装置と、前記自通信装置と、の間にある第１特定通信装置の第１識別情報と、前記所定通信装置と前記自通信装置との間にない第２特定通信装置の第２識別情報と、が記憶され、
前記複数の第１通信装置の各々は、
前記記憶装置に記憶された前記第１識別情報を含み、前記自通信装置のデータ処理の実行および前記データ処理の実行結果の送信を前記第１特定通信装置へ依頼する依頼情報を、前記自通信装置の周辺の通信装置へ送信し、
前記所定通信装置は、
前記依頼情報を受信し、
受信した前記依頼情報に含まれる識別情報が示す通信装置が前記自通信装置であるか否かを判断し、
前記自通信装置であると判断した場合に、前記記憶装置に記憶された前記第１識別情報または前記第２識別情報を含み、受信した前記依頼情報が示すデータ処理の実行および前記データ処理の実行結果の送信を前記第１特定通信装置または前記第２特定通信装置に依頼する依頼情報と、前記第１特定通信装置または前記第２特定通信装置によって前記データ処理の実行が終了しない場合に前記第１特定通信装置または前記第２特定通信装置と前記所定通信装置との間にない通信装置にデータ処理を実行させる情報とを、前記自通信装置の周辺の通信装置へ送信し、
前記複数の第１通信装置の各々は、
前記複数の第１通信装置のうちの前記自通信装置以外のいずれかの通信装置の記憶装置に記憶された割当先通信装置の識別情報を含み、前記データ処理の実行および前記データ処理の実行結果の送信を前記割当先通信装置に依頼する依頼情報と、前記割当先通信装置によって前記データ処理の実行が終了しない場合に前記割当先通信装置と前記所定通信装置との間にない通信装置にデータ処理を実行させる情報と、を前記自通信装置の周辺の通信装置から受信し、
受信した前記依頼情報が含む識別情報が示す前記割当先通信装置が前記自通信装置であるか否かを判断し、
前記自通信装置であると判断した場合、受信した前記依頼情報に基づくデータ処理を実行し、前記自通信装置でないと判断した場合、受信した前記依頼情報に基づくデータ処理を実行せず、
受信した前記依頼情報が示すデータ処理の実行が終了しなかった場合、前記記憶装置に記憶された前記第２識別情報を含み、受信した前記依頼情報が示すデータ処理のうちの実行が終了しなかったデータ処理の実行および前記データ処理の実行結果の送信を前記第２特定通信装置に依頼する依頼情報と、前記第２特定通信装置によって前記データ処理の実行が終了しない場合に前記第２特定通信装置と前記所定通信装置との間にない通信装置にデータ処理を実行させる情報と、受信した前記依頼情報に基づくデータ処理のうちの実行が終了したデータ処理の実行結果と、を前記自通信装置の周辺の通信装置へ送信することを特徴とする請求項７に記載のシステム。
【請求項９】
前記所定通信装置は、前記第１特定通信装置の登録を依頼する登録信号を前記所定通信装置の周辺の通信装置へ送信し、
前記複数の第１通信装置は、前記登録信号をマルチホッピング通信し、
前記複数の第１通信装置の各々は、
前記自通信装置の周辺の通信装置から前記登録信号を受信し、
前記第１識別情報が前記記憶装置に記憶されていない場合に、受信した前記登録信号の送信元を示す前記第１識別情報を前記記憶装置に記憶させ、
受信した前記登録信号に基づいて前記第１識別情報を前記記憶装置に記憶させたことを示す受領信号を前記自通信装置の周辺の通信装置へ送信し、
前記自通信装置の周辺の通信装置から、前記自通信装置が送信元である前記登録信号に対応する前記受領信号を受信し、
前記受領信号に含まれる前記受領信号の送信元を示す前記第２識別情報を前記記憶装置に記憶させることを特徴とする請求項８に記載のシステム。
【請求項１０】
前記複数の第１通信装置の各々は、
前記自通信装置の周辺の通信装置へ前記登録信号を送信後から所定時間以内に送信した前記登録信号に対応する前記受領信号を受信できなかった場合、受信した前記登録信号の送信元を示す前記第２識別情報を前記記憶装置に記憶させ、
前記複数の第１通信装置のうちの前記自通信装置以外のいずれかの通信装置の記憶装置に記憶された割当先通信装置の識別情報を含み、前記データ処理の実行および前記データ処理の実行結果の送信を前記割当先通信装置に依頼する依頼情報と、前記割当先通信装置によって前記データ処理の実行が終了しない場合に前記割当先通信装置と前記所定通信装置との間にない通信装置にデータ処理を実行させる情報と、を前記自通信装置の周辺の通信装置から受信し、
受信した前記依頼情報が含む識別情報が示す前記割当先通信装置が前記自通信装置であるか否かを判断し、
前記自通信装置であると判断した場合、受信した前記依頼情報に基づくデータ処理を実行し、前記自通信装置でないと判断した場合、受信した前記依頼情報に基づくデータ処理を実行せず、
受信した前記依頼情報が示すデータ処理の実行が終了しなかった場合に、前記記憶装置に記憶された前記第１識別情報と前記第２識別情報とが同一であれば、前記記憶装置に記憶された前記第１特定通信装置の識別情報を含み、受信した前記依頼情報が示すデータ処理のうちの実行が終了しなかったデータ処理の実行および前記データ処理の実行結果の送信を前記第１特定通信装置に依頼する依頼情報と、前記第１特定通信装置によって前記データ処理の実行が終了しない場合に前記第１特定通信装置と前記所定通信装置との間にある通信装置にデータ処理を実行させる情報と、受信した前記依頼情報に基づくデータ処理のうちの実行が終了したデータ処理の実行結果と、を前記自通信装置の周辺の通信装置へ送信することを特徴とする請求項９に記載のシステム。
【請求項１１】
自通信装置を含む複数の第１通信装置のうちの少なくとも前記自通信装置のデータ処理の実行結果を、前記複数の第１通信装置の間でマルチホッピング通信することにより、前記実行結果に基づく処理を行う第２通信装置へ送信する通信装置が、
前記複数の第１通信装置のうちの前記自通信装置以外の通信装置の中で、前記第２通信装置との通信に複数ホップ要する特定通信装置の識別情報を記憶する記憶装置に記憶された前記識別情報を含み、前記自通信装置のデータ処理の実行および前記データ処理の実行結果の送信を前記特定通信装置に依頼する依頼情報を、前記自通信装置の周辺の通信装置へ送信することを特徴とする通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信装置、システム、および通信方法に関する。
【背景技術】
【０００２】
従来、複数のセンサー付無線端末を所定空間に散在させ、それらが協調して環境や物理的状況を採取することを可能とするセンサーネットワーク（ＷＳＮ：Ｗｉｒｅｌｅｓｓ  Ｓｅｎｓｏｒ  Ｎｅｔｗｏｒｋｓ）が知られている。たとえば、複数の無線センサーノードで検出された情報を基地局が収集する場合において、複数のセンサーノード内の経路を構築する技術が知られている（たとえば、下記特許文献１参照）。【０００３】
また、たとえば、複数のセンサー付無線端末のうちの固定端末の位置情報に基づいて複数のセンサー付き無線端末のうちの移動端末の位置情報を特定する技術が知られている（たとえば、下記特許文献２参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００７−２４３７９４号公報
【特許文献２】特開２００１−４５５４３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、端末のハードウェア資源によっては、端末が自端末のデータ処理を自端末で実行できない場合に、当該データ処理の処理結果に基づく処理を実行する装置に処理結果が到達しない可能性がある。【０００６】
１つの側面では、本発明は、処理結果に基づく処理を実行する装置へ処理結果が到達する確度を向上させることができる通信装置、システム、および通信方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の一側面によれば、自通信装置を含む複数の第１通信装置のうちの少なくとも前記自通信装置のデータ処理の実行結果を、前記複数の第１通信装置の間でマルチホッピング通信することにより、前記実行結果に基づく処理を行う第２通信装置へ送信する前記複数の第１通信装置の中の通信装置であって、前記複数の第１通信装置のうちの前記自通信装置以外の通信装置の中で、前記第２通信装置との通信に複数ホップ要する特定通信装置の識別情報を記憶する記憶装置と、前記記憶装置に記憶された前記識別情報を含み、前記自通信装置のデータ処理の実行および前記データ処理の実行結果の送信を前記特定通信装置に依頼する依頼情報を、前記自通信装置の周辺の通信装置へ送信する送信部と、を有する通信装置、システム、および通信方法が提案される。
【発明の効果】
【０００８】
本発明の一態様によれば、処理結果に基づく処理を実行する装置へ処理結果が到達する確度を向上させることができる。
【図面の簡単な説明】
【０００９】
【図１】図１は、本発明の一実施例を示す説明図である。
【図２】図２は、センサーノードのハードウェア構成例を示すブロック図である。
【図３】図３は、親機のハードウェア構成例を示すブロック図である。
【図４】図４は、センサーノードの機能的構成例を示すブロック図である。
【図５】図５は、送信データの識別情報例を示す説明図である。
【図６】図６は、登録処理例（その１）を示す説明図である。
【図７】図７は、登録処理例（その２）を示す説明図である。
【図８】図８は、複数のセンサーノードによるデータ処理の実行例を示す説明図である。
【図９】図９は、実施例１にかかる所定値の一例を示す説明図である。
【図１０】図１０は、実施例１にかかるセンサーノードが行う処理手順の一例を示すフローチャート（その１）である。
【図１１】図１１は、実施例１にかかるセンサーノードが行う処理手順の一例を示すフローチャート（その２）である。
【図１２】図１２は、実施例１にかかるセンサーノードが行う処理手順の一例を示すフローチャート（その３）である。
【図１３】図１３は、実施例２にかかるデータ処理の実行の依頼例を示す説明図である。
【図１４】図１４は、実施例２にかかる所定値の一例を示す説明図である。
【図１５】図１５は、実施例２にかかるセンサーノードが行う処理手順の一例を示すフローチャート（その１）である。
【図１６】図１６は、実施例２にかかるセンサーノードが行う処理手順の一例を示すフローチャート（その２）である。
【図１７】図１７は、実施例２にかかるセンサーノードが行う処理手順の一例を示すフローチャート（その３）である。
【発明を実施するための形態】
【００１０】
以下に添付図面を参照して、本発明にかかる通信装置、システム、および通信方法の実施の形態を詳細に説明する。本実施の形態で説明するセンサーネットワークシステムでは、多数のセンサーを所定領域に設置して、各センサーがそれぞれ検出した検出情報を無線送信し、配置領域内のセンサーと無線通信可能な親機により検出情報を収集する。ここで、センサーとセンサーが検知したデータを処理可能なプロセッサを搭載した装置をセンサーノードと称する。たとえば、センサーノードは、所定領域内に数百個〜数万個配置されることとする。
【００１１】
図１は、本発明の一実施例を示す説明図である。センサーネットワークシステム１００は、たとえば、複数の第１通信装置である複数のセンサーノード１０１と、第２通信装置である親機１０２と、を有する。各親機１０２は、複数のセンサーノード１０１の少なくともいずれかのデータ処理の実行結果に基づく処理を実行する。図１に示すように、親機１０２も複数設けられていてもよい。複数のセンサーノード１０１は、所定領域Ａ内に配置されている。センサーノード１０１は広範囲に設置されるため、すべてのセンサーノード１０１が親機１０２に直接データを送信することはできない。そこで、センシング結果に対応するデータ処理の結果は、他のセンサーノード１０１を経由してマルチホッピング通信によって親機１０２に到達することとする。
【００１２】
たとえば、各センサーノード１０１は、高性能なプロセッサや大容量のメモリを搭載していない。そのため、センサーノード１０１は、自センサーノード１０１のデータ処理を完了できない場合がある。たとえば、センサーノード１０１は、搭載されたプロセッサの性能が低いと、センサーイベントに対応するデータ処理の実行が完了する前に、つぎのセンサーイベントが発生する可能性がある。または、たとえば、センサーノード１０１は、後述するハーベスタを搭載することによって自センサーノード１０１で発電し、後述するバッテリによって発電した電力を蓄電する。各センサーノード１０１内のハーベスタによる発電量やバッテリによる蓄電量は多くないため、データ処理が完了する前にバッテリが切れてしまう可能性がある。
【００１３】
そこで、本実施の形態では、各センサーノード１０１は、自センサーノード１０１で発生したセンシングイベントに対応するデータ処理を完了できない場合に、他のセンサーノード１０１にデータ処理の実行を依頼する。これにより、各センサーノード１０１は、自センサーノード１０１のデータ処理の実行が完了できなくても他のセンサーノード１０１によってデータ処理の実行を完了させることができる。これにより、処理結果が親機１０２へ到達する確度を向上させることができる。依頼先で実行が完了しない場合に、依頼先がさらに他のセンサーノード１０１へ実行の依頼を行うことによって、複数のセンサーノード１０１で段階的に当該データ処理の実行を完了させることができる。
【００１４】
図１に示すように、たとえば、センサーノード１０１−ｌが、データ処理の実行を親機１０２と直接通信可能なセンサーノード１０１−ｈに割り当てる（図１の破線矢印）。そして、割当先のセンサーノード１０１−ｈが当該データ処理の実行を完了しなかった場合、割当先のセンサーノード１０１−ｈにはつぎの割当先のセンサーノード１０１がない。すなわち、データ処理の実行依頼の依頼先によっては、データ処理の実行が完了しない場合がある。たとえば、センサーノード１０１に搭載されるプロセッサは高性能でないため、各センサーノード１０１にスケジューリング処理を実行させると、各センサーノード１０１の負荷が多い。そこで、センサーノード１０１−ｌは、親機１０２との通信に複数ホップ要するセンサーノード１０１−ｍにデータ処理の実行を依頼する（図１の実線矢印）。１ホップは、直接通信可能な距離である。ホップ数は、マルチホッピング通信させた際の転送数である。
【００１５】
これにより、割当先センサーノード１０１で該データ処理が完了しなくとも複数のセンサーノード１０１で段階的に該データ処理を実行して該データ処理を完了でき、処理結果が親機１０２に到達する確度を向上させることができる。
【００１６】
さらに、図１に示すように、データ処理の実行を依頼する場合、割当先センサーノード１０１を自センサーノード１０１が直接通信可能なセンサーノード１０１にする。これにより、割当先センサーノード１０１でないセンサーノード１０１は、データ処理の実行の依頼情報などを転送させる処理を行わなくてもよい。したがって、データ処理の実行に関わりのないセンサーノード１０１の負荷を増やさずに、当該データ処理の実行を完了させることができる。
【００１７】
所定領域Ａが図１に示すような形状であり、親機１０２が四隅に配置されている場合を例に挙げる。所定領域Ａ内の中央にあるセンサーノード１０１の方向にデータ処理を割り当てれば、親機１０２との通信に複数ホップ要するセンサーノード１０１にデータ処理を依頼させることができる。ここで、中央にあるセンサーノード１０１を中央センサーノード１０１と省略する。
【００１８】
本実施の形態では、各センサーノード１０１は、自センサーノード１０１と中央センサーノード１０１との間にあるセンサーノード１０１へデータ処理の実行を依頼する。すなわち、各センサーノード１０１は、中央センサーノード１０１に向かってデータ処理の実行依頼を割り当てる。センサーノード１０１と中央センサーノード１０１との間にある割当先のセンサーノード１０１を中央方向の割当先センサーノード１０１と称する。また、データ処理の実行依頼が中央センサーノード１０１に到達した後、センサーノード１０１は、自センサーノード１０１と中央センサーノード１０１との間にないセンサーノード１０１へデータ処理の実行を依頼する。自センサーノードと中央センサーノードとの間にない割当先のセンサーノード１０１を中央から離れる方向の割当先センサーノード１０１と称する。また、あるセンサーノード１０１によって発生したイベントに応じたデータ処理については、該センサーノード１０１のデータ処理と称する。
【００１９】
図２は、センサーノードのハードウェア構成例を示すブロック図である。センサーノード１０１は、センサー２０１−１〜２０１−ｎと、マイクロプロセッサ（ＭＣＵ（Ｍｉｃｒｏ  Ｃｏｎｔｒｏｌ  Ｕｎｉｔ）２０２）と、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）２０３と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２０４と、無線通信回路２０５と、アンテナ２０６と、を有する。センサーノード１０１は、センサー２０１と、無線通信回路２０５と、ＭＣＵ２０２と、ＲＡＭ２０４と、ＲＯＭ２０３と、を接続する内部バス２１０を有する。さらに、ハーベスタ２０７と、バッテリ２０８と、ＰＭＵ（Ｐｏｗｅｒ  Ｍａｎａｇｅｍｅｎｔ  Ｕｎｉｔ）２０９と、を有する。
【００２０】
センサー２０１−１〜２０１−ｎ（ｎ≧１）は、それぞれ設置箇所における所定の変位量を検出する。センサー２０１は、たとえば、設置箇所の圧力を検出する圧電素子や、温度を検出する素子、光を検出する光電素子などを用いることができる。アンテナ２０６は、親機１０２と無線通信する電波を送受信する。無線通信回路（ＲＦ（Ｒａｄｉｏ  Ｆｒｅｑｕｅｎｃｙ））２０５は、受信した無線電波を受信信号として出力し、送信信号を無線電波としてアンテナ２０６を介して送信する。
【００２１】
ＭＣＵ２０２は、センサー２０１が検出したデータを処理する。ＲＡＭ２０４は、ＭＣＵ２０２における処理の一時データを格納する。ＲＯＭ２０３は、ＭＣＵ２０２が実行する処理プログラムなどを格納する。
【００２２】
ハーベスタ２０７は、センサーノード１０１の設置箇所における外部環境、たとえば、光、振動、温度、無線電波（受信電波）などのエネルギー変化に基づき発電を行う。ハーベスタ２０７は、センサー２０１によって検出された変位量に応じて発電を行ってもよい。バッテリ２０８は、ハーベスタ２０７により発電された電力を蓄える。すなわち、センサーノード１０１は、二次電池や外部電源などが不要であり、動作に必要な電力を自装置の内部で生成する。
【００２３】
ＰＭＵ２０９は、バッテリ２０８が蓄えた電力を、センサーノード１０１の各部の駆動電源として供給する制御を行う。たとえば、ＰＭＵ２０９は、センサー２０１がセンシング処理を行うと、ＭＣＵ２０２を動作させるために、ＭＣＵ２０２へ電源を供給する。または、ＭＣＵ２０２がいずれの処理も行っていない場合には、ＰＭＵ２０９は、ＭＣＵ２０２への電源供給をやめる。
【００２４】
図３は、親機のハードウェア構成例を示すブロック図である。親機１０２は、センサーノード１０１と異なり、外部電源に基づき動作する。親機１０２は、センサーノード１０１のプロセッサ（ＭＣＵ２０２）よりも高性能なプロセッサ（ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）３０１）と、大容量のＲＯＭ３０２およびＲＡＭ３０３と、を有する。親機１０２は、不揮発メモリ３０５と、インターフェース（Ｉ／Ｏ（Ｉｎｐｕｔ／Ｏｕｔｐｕｔ））回路３０４と、を有する。親機１０２は、ＣＰＵ３０１とＲＯＭ３０２とＲＡＭ３０３とＩ／Ｏ回路３０４と不揮発メモリ３０５とを接続するバス３０６を有する。
【００２５】
また、Ｉ／Ｏ回路３０４には、アンテナ３０７および無線通信回路（ＲＦ（Ｒａｄｉｏ  Ｆｒｅｑｕｅｎｃｙ））３０８と、ネットワークＩ／Ｆ３０９が接続されている。これにより、親機１０２は、アンテナ３０７および無線通信回路３０８を介して、センサーノード１０１と無線通信することができる。さらに、親機１０２は、ネットワークＩ／Ｆ３０９を介して、ＴＣＰ／ＩＰのプロトコル処理などにより、インターネットなどのネットワークＮＥＴを介して利用者端末３１１やサーバ３１２などの外部装置と通信を行うことができる。
【００２６】
（センサーノード１０１の機能的構成例）
図４は、センサーノードの機能的構成例を示すブロック図である。センサーノード１０１は、送信部４０１と、受信部４０２と、判断部４０３と、実行部４０４と、判定部４０５と、登録部４０６と、蓄電部４０７と、を有する。送信部４０１と受信部４０２とは、たとえば、無線通信回路２０５およびアンテナ２０６である。蓄電部４０７は、たとえば、バッテリ２０８である。たとえば、判断部４０３から登録部４０６についての処理がコーディングされたプログラムがＲＯＭ２０３などの記憶装置４１０に記憶されている。ＭＣＵ２０２が当該記憶装置４１０からプログラムを読み出して、当該プログラムにコーディングされた処理を実行することにより、各部の処理が実現される。また、判定部４０５は、たとえば、ＰＭＵ２０９によって実現されてもよい。
【００２７】
各センサーノード１０１内のＲＯＭ２０３、ＲＡＭ２０４などの記憶装置４１０は、自センサーノードＩＤ（ＩＤｅｎｔｉｆｉｃａｔｉｏｎ）と、を有する。さらに、記憶装置４１０は、第１識別情報である中央方向の割当先センサーノードＩＤと、第２識別情報である中央から離れる方向の割当先センサーノードＩＤと、センサーノードの属性と、を有する。センサーノードの属性は、中央センサーノードであるか否かを示す情報である。
【００２８】
（送信データの識別情報例）
図５は、送信データの識別情報例を示す説明図である。各送信データは、信号識別情報と、割当方向と、割当先センサーノードＩＤと、データ本体と、を含む。送信データの識別情報は、信号識別情報と、割当方向と、割当先センサーノードＩＤと、である。信号識別情報は、いずれの信号であるかを示す情報である。たとえば、送信データがデータ処理の実行を依頼する情報であれば、信号識別情報が０に設定される。送信データが記憶装置４１０に中央方向の割当先センサーノードＩＤを登録させる登録信号を示す情報であれば、信号識別情報が１に設定される。送信データが登録信号を受領したことを示す受領信号であれば、信号識別情報が２に設定される。たとえば、送信データが登録処理を中央センサーノード１０１に依頼するためのブート信号であれば、信号識別情報が３に設定される。たとえば、送信データがデータ処理の実行結果を親機１０２に送信するための転送依頼信号であれば、信号識別情報が４に設定される。
【００２９】
割当方向と、割当先センサーノードＩＤと、は、演算を依頼する情報である場合に設定される。割当方向は、データ処理を中央センサーノード１０１に近づく方向にデータ処理を依頼するか、または中央センサーノード１０１から離れる方向にデータ処理を依頼するかを示す信号である。たとえば、中央センサーノード１０１方向を示す場合、割当方向は０に設定され、中央センサーノード１０１から離れる方向を示す場合、割当方向は１に設定される。
【００３０】
ここで、詳細な説明について、実施例１と実施例２とに分けて説明する。実施例１では、中央センサーノード１０１に向かってデータ処理の実行依頼を割り当て、中央センサーノード１０１まで当該実行依頼が到達した場合、中央センサーノード１０１から離れてデータ処理の実行依頼を割り当てる。これにより、複数のセンサーノード１０１にデータ処理の実行依頼を段階的に実行させることができる。実施例２では、複数のセンサーノード１０１のうち、所定領域Ａ内で端のセンサーノード１０１にデータ処理の実行依頼が割り当てられた場合、依頼先が無いため、折り返してデータ処理の実行依頼を割り当てる。これにより、データ処理の実行を完了させることができる。
【００３１】
（実施例１）
実施例１では、中央センサーノード１０１に向かってデータ処理の実行依頼を割り当て、中央センサーノード１０１まで当該実行依頼が到達した場合、中央センサーノード１０１から離れてデータ処理の実行依頼を割り当てる。これにより、データ処理を複数のセンサーノード１０１に段階的に実行させることができる。
【００３２】
（登録処理）
まず、各センサーノード１０１について、中央センサーノード１０１に向かってデータ処理を割り当てる場合の割当先センサーノードＩＤを記憶装置４１０に登録する処理について説明する。さらに、各センサーノード１０１について、中央センサーノード１０１から離れる方向に向かってデータ処理を割り当てる場合の割当先センサーノードＩＤを記憶装置４１０に登録する処理について説明する。
【００３３】
図６は、登録処理例（その１）を示す説明図である。図６の例では、センサーノード１０１−０が中央センサーノード１０１である。中央センサーノード１０１の受信部４０２−０は、親機１０２からのブート信号を受信する。中央センサーノード１０１の送信部４０１−０は、中央センサーノード１０１の識別情報を含み、中央センサーノード１０１の周辺のセンサーノード１０１に割当先センサーノード１０１の登録を依頼する登録信号を送信する。具体的には、中央センサーノード１０１の送信部４０１−０は、登録信号および中央センサーノード１０１の識別情報を自センサーノード１０１の周辺のセンサーノード１０１に送信する。登録信号であるため、送信データの識別情報は（１，０，０）である。
【００３４】
中央センサーノード１０１の周辺のセンサーノード１０１の受信部４０２は、登録信号を受信する。具体的には、受信部４０２は、登録信号および当該登録信号の送信元を示すセンサーノードＩＤを受信する。図６の例では、中央センサーノード１０１−０と通信可能な距離ｒにあるセンサーノード１０１の識別情報は８，１２，１３，１７である。登録部４０６は、登録信号の送信元を示すセンサーノード１０１の識別情報を、中央方向の割当先センサーノードＩＤとして記憶装置４１０に記憶させる。登録部４０６は、登録信号の送信元センサーノード１０１の識別情報を中央方向の割当先センサーノードＩＤに登録する。センサーノード１０１−８を例に挙げると、中央方向の割当先センサーノードＩＤには０が登録される。
【００３５】
そして、送信部４０１は、自センサーノード１０１の識別情報を含む登録信号を受領したことを示す受領信号を自センサーノード１０１の周辺のセンサーノード１０１に送信する。具体的には、送信部４０１は、受領信号と、当該受領信号に対応する登録信号の送信元センサーノードＩＤと、自センサーノードＩＤと、を関連付けて周辺のセンサーノード１０１に送信する。
【００３６】
中央センサーノード１０１の受信部４０２は、周辺のセンサーノード１０１からの受領信号を受信する。具体的には、中央センサーノード１０１の受信部４０２は、受領信号を受信する。受領信号に関連付けられて受領信号の送信元センサーノードＩＤが送信されるため、中央センサーノード１０１の登録部４０６は、中央から離れる方向の割当先センサーノードＩＤとして８を登録する。同様に、中央センサーノード１０１の登録部４０６は、中央から離れる方向の割当先センサーノードＩＤとして１２，１３，７を登録する。
【００３７】
図７は、登録処理例（その２）を示す説明図である。送信部４０１は、あらたに自センサーノード１０１の識別情報を含む登録信号を自センサーノード１０１の周辺のセンサーノード１０１へ送信する。送信部４０１は、登録信号に自センサーノードＩＤを関連付けて周辺のセンサーノード１０１へ送信する。図７の例では、センサーノード１０１−８，１２，１３，１７から登録信号が送信される。
【００３８】
受信部４０２は、自センサーノード１０１の周辺のセンサーノード１０１から受領信号を受信する。具体的には、受信部４０２は、登録信号を受信する。センサーノード１０１−８から送信された登録信号をセンサーノード１０１−０，３，７，９が受信する。センサーノード１０１−１２から送信された登録信号をセンサーノード１０１−０，７，１１，１６が受信する。センサーノード１０１−１３から送信された登録信号をセンサーノード１０１−０，９，１４，１８が受信する。センサーノード１０１−１７から送信された登録信号をセンサーノード１０１−０，１６，１８，２２が受信する。
【００３９】
センサーノード１０１−０を例に挙げると、センサーノード１０１の登録部４０６−０は、登録信号を送信済であるため、センサーノード１０１−８の識別情報を登録しない。
【００４０】
センサーノード１０１−７を例に挙げると、中央方向の割当先センサーノードＩＤとして８が登録される。送信部４０１−７は、受領信号と、受領信号に対応する登録信号の送信元のセンサーノードＩＤと、自センサーノードＩＤと、を関連付けて周辺のセンサーノード１０１へ送信する。送信部４０１−７は、「（２，０，０），８，７」を送信する。
【００４１】
受信部４０２は、自センサーノード１０１の周辺のセンサーノード１０１から受領信号を受信する。たとえば、受信部４０２−８は、受領信号を受信する。ここでは、受領信号と共に受領信号に対応する登録信号の送信元のセンサーノードＩＤと受領信号の送信元センサーノードＩＤとが送信される。登録部４０６は、受領信号と共に受信された受領信号の送信元のセンサーノード１０１を示す識別情報を中央から離れる方向の割当先センサーノードＩＤとして記憶装置４１０に記憶させる。登録部４０６−８は、受領信号に対応する登録信号の送信元センサーノードＩＤと自センサーノードＩＤが一致している場合、受領信号の送信元センサーノードＩＤを自センサーノード１０１の中央から離れる方向の割当先センサーノードＩＤとして登録する。図７に示すように、センサーノード１０１−８の中央から離れる方向の割当先センサーノードＩＤとして７が登録されている。このようにして、センサーノード１０１の登録を繰り返すことにより、すべてのセンサーノード１０１が登録信号を送信し終わると、登録処理が終了する。
【００４２】
（データ処理）
送信部４０１は、記憶装置４１０に記憶された割当先センサーノードＩＤを含む依頼情報を自センサーノード１０１の周辺のセンサーノード１０１へ送信する。依頼情報は、自センサーノード１０１のデータ処理を割当先センサーノード１０１に実行させる情報であり、割当先センサーノード１０１の周辺のセンサーノード１０１へデータ処理の実行結果を送信させる情報である。
【００４３】
図８は、複数のセンサーノードによるデータ処理の実行例を示す説明図である。たとえば、センサーイベントに対応するデータ処理をセンサーノード１０１−７が処理できない場合に、センサーノード１０１−７は、記憶装置４１０に記憶された割当先センサーノードＩＤが示すセンサーノード１０１に当該データ処理の実行を依頼する。たとえば、センサーノード１０１−７は、送信データの識別情報として「（０，０，８）」と当該データ処理に関する情報を周辺のセンサーノード１０１へ送信する。
【００４４】
受信部４０２は、依頼情報を自センサーノード１０１の周辺のセンサーノード１０１から受信する。ここで受信される依頼情報は、複数のセンサーノード１０１の自センサーノード１０１以外のいずれかのセンサーノード１０１の記憶装置４１０に記憶された割当先センサーノード１０１の識別情報を含んでいる。より具体的には、依頼情報は、当該いずれかのセンサーノード１０１のデータ処理の実行と、データ処理の実行結果の送信と、を当該割当先センサーノード１０１に依頼する情報である。
【００４５】
判断部４０３は、受信部４０２によって受信された依頼情報が示すセンサーノード１０１が自センサーノード１０１であるか否かを判断する。具体的には、たとえば、判断部４０３は、受信されたデータの先頭の識別情報に含まれる割当先センサーノードＩＤが自センサーノードＩＤであるか否かを判断する。
【００４６】
判断部４０３によって自センサーノード１０１であると判断された場合、実行部４０４は、受信された依頼情報に基づくデータ処理を実行する。一方、判断部４０３によって自センサーノード１０１でないと判断された場合、実行部４０４は、受信された依頼情報に基づくデータ処理を実行しない。図８に示すように、たとえば、センサーノード１０１−８は、受信された依頼情報に基づくデータ処理を実行する。一方、センサーノード１０１−６は、受信された依頼情報に基づくデータ処理を実行しない。
【００４７】
判断部４０３によって自センサーノード１０１であると判断された場合において、実行部４０４によって周辺のセンサーノード１０１のデータ処理の実行が終了した場合、送信部４０１は、実行部４０４による実行結果を周辺のセンサーノード１０１へ送信する。たとえば、送信部４０１が送信する送信データの識別情報を「（４，０，０）」にする。これによって、実行結果が、複数のセンサーノード１０１でマルチホッピング通信され、親機１０２に送信される。
【００４８】
また、判断部４０３によって自センサーノード１０１であると判断された場合について説明する。実行部４０４によって周辺のセンサーノード１０１のデータ処理の実行が終了しなかった場合、送信部４０１は、依頼情報と、実行部４０４によって実行が終了したデータ処理の実行結果と、を、自センサーノード１０１の周辺のセンサーノード１０１に送信する。ここでの依頼情報は、記憶装置４１０に記憶された割当先センサーノードＩＤを含む、受信された依頼情報のデータ処理のうちの実行部４０４によって実行が終了しなかったデータ処理を割当先センサーノード１０１に実行させる情報である。さらに、依頼情報は、割当先センサーノード１０１によるデータ処理の実行結果の送信を当該割当先センサーノード１０１に依頼する情報である。
【００４９】
また、受信部４０２は、依頼情報と、データ処理のうちの実行が終了した実行結果と、を受信する。ここでの依頼情報は、複数のセンサーノード１０１の自センサーノード１０１以外のセンサーノード１０１の記憶装置４１０に記憶された割当先センサーノードＩＤを含む情報である。当該依頼情報は、複数のセンサーノード１０１のうちのいずれかのセンサーノード１０１のデータ処理のうちの実行が終了していないデータ処理の実行を当該割当先センサーノード１０１に依頼する情報である。当該依頼情報は、当該データ処理の実行結果の送信を当該割当先センサーノード１０１に依頼する情報である。たとえば、受信されたデータの識別情報は、「０，０，ｉ」である。
【００５０】
判断部４０３は、受信部４０２によって受信された依頼情報が含む識別情報が示す割当先センサーノード１０１が自センサーノード１０１であるか否かを判断する。
【００５１】
判断部４０３によって自センサーノード１０１であると判断された場合、実行部４０４は、受信された依頼情報に基づくデータ処理を実行する。判断部４０３によって自センサーノード１０１でないと判断された場合、実行部４０４は、受信された依頼情報に基づくデータ処理を実行しない。
【００５２】
判断部４０３によって自センサーノード１０１であると判断された場合における詳細を説明する。実行部４０４によって依頼情報に基づくデータ処理の実行が終了した場合、送信部４０１は、たとえば、実行部４０４による実行結果を自センサーノード１０１の周辺のセンサーノード１０１へ送信する。実行部４０４によって依頼情報に基づくデータ処理の実行が終了しなかった場合、送信部４０１は、記憶装置４１０に記憶された割当先センサーノードＩＤを含む依頼情報と、実行が終了したデータ処理の実行結果と、を周辺のセンサーノード１０１へ送信する。実行が終了したデータ処理の実行結果とは、受信部４０２によって受信された実行結果と、受信された依頼情報に基づくデータ処理のうちの実行部４０４によって実行が終了したデータ処理の実行結果と、である。ここで送信される依頼情報は、受信された依頼情報に基づくデータ処理のうちの実行部４０４によって実行が終了しなかったデータ処理の実行とデータ処理の実行結果の送信とを依頼する情報である。
【００５３】
また、たとえば、実行が終了しなかった場合とは、たとえば、実行するためのバッテリ２０８が十分でない場合が挙げられる。そこで、実行部４０４は、受信された依頼情報に基づくデータ処理の実行が完了するまで、または蓄電部４０７によって蓄電された電力量が所定値未満となるまで、受信された依頼情報に基づくデータ処理を実行する。具体的には、判定部４０５は、蓄電部４０７によって蓄電された電力量が所定値未満であるか否かを判定する。判定部４０５は、たとえば、ＰＭＵ２０９によって実現されてもよい。実行部４０４は、受信された依頼情報に基づくデータ処理の実行が完了するまで、または判定部４０５によって蓄電された電力量が所定値未満であると判定されるまで、受信された依頼情報に基づくデータ処理を実行する。
【００５４】
図９は、実施例１にかかる所定値の一例を示す説明図である。たとえば、実行結果や依頼情報の送信後にセンサーノード１０１が動作を継続したい場合、所定値は、実行結果や依頼情報などのデータの１回の送信にかかる電力量より多い電力量であってもよい。たとえば、実行結果や依頼情報の送信後にセンサーノード１０１が動作を終了してもよい場合、所定値は、１回の送信にかかる電力量であってもよい。所定値は、たとえば、センサーネットワークシステム１００の開発者によって設定される。所定値は、たとえば、予めＲＡＭ２０４、ＲＯＭ２０３などの記憶装置４１０に記憶される。
【００５５】
実行部４０４は、依頼情報に基づくデータ処理の実行が完了するまでの間に、判定部４０５によって蓄電された電力量が所定値未満でないと判定されるまで、依頼情報に基づくデータ処理を実行する。上述したように、判定部４０５は、蓄電された電力量が所定値未満であるか否かを判定する。
【００５６】
判定部４０５によって蓄電された電力量が所定値未満であると判定された場合に、送信部４０１は、受信された依頼情報に基づくデータ処理のうちの実行が終了したデータ処理の実行結果と、あらたな依頼情報と、を周辺のセンサーノード１０１へ送信する。ここでのあらたな依頼情報は、記憶装置４１０に記憶された割当先センサーノードＩＤを含み、受信された依頼情報に基づくデータ処理のうちの実行部４０４によって実行が終了しなかったデータ処理の実行とデータ処理の実行結果の送信とを依頼する情報である。
【００５７】
中央センサーノード１０１の受信部４０２は、依頼情報を受信する。判断部４０３は、受信した依頼情報に含まれる識別情報が示すセンサーノード１０１が自センサーノード１０１であるか否かを判断する。
【００５８】
判断部４０３によって自センサーノード１０１であると判断された場合に、中央センサーノード１０１の送信部４０１は、記憶装置４１０に記憶された割当先センサーノードＩＤを含む依頼情報を周辺のセンサーノード１０１へ送信する。ここでの依頼情報は、受信された依頼情報が示すデータ処理の実行と、データ処理の実行結果と、を当該割当先センサーノード１０１に依頼する情報である。送信部４０１は、割当先センサーノード１０１によってデータ処理の実行が終了しない場合に割当先センサーノード１０１と中央センサーノード１０１との間にないセンサーノード１０１にデータ処理を実行させる情報を周辺のセンサーノード１０１へ送信する。割当先センサーノード１０１と中央センサーノード１０１との間にないセンサーノード１０１にデータ処理を実行させる情報とは、たとえば、送信データの識別情報内の割当方向が中央から離れる方向に設定されることである。当該送信データの識別情報は「（０，１，ｉ）」となる。
【００５９】
受信部４０２は、複数のセンサーノード１０１の自センサーノード１０１以外のいずれかのセンサーノード１０１の記憶装置４１０に記憶された割当先センサーノードＩＤを含む依頼情報を自センサーノード１０１の周辺のセンサーノード１０１から受信する。ここでの依頼情報は、データ処理の実行と、データ処理の実行結果と、を割当先センサーノード１０１に依頼する情報である。さらに、受信部４０２は、依頼情報と併せて、当該割当先センサーノード１０１によってデータ処理の実行が終了しない場合に割当先センサーノード１０１と中央センサーノード１０１との間にないセンサーノード１０１にデータ処理を実行させる情報を受信する。上述したように、受信部４０２が受信したデータの識別情報は「（０，１，ｉ）」となる。
【００６０】
判断部４０３は、受信された依頼情報が含む識別情報が示すセンサーノード１０１が自センサーノード１０１であるか否かを判断する。判断部４０３によって自センサーノード１０１であると判断された場合、実行部４０４は、受信された依頼情報に基づくデータ処理を実行する。一方、判断部４０３によって自センサーノード１０１でないと判断された場合、実行部４０４は、受信された依頼情報に基づくデータ処理を実行しない。
【００６１】
送信部４０１は、依頼情報が示すデータ処理の実行が終了しなかった場合、記憶装置４１０に記憶された中央から離れる方向の割当先センサーノードＩＤを含む依頼情報を送信する。ここでの依頼情報は、受信された依頼情報が示すデータ処理のうちの実行が終了しなかったデータ処理の実行とデータ処理の実行結果の送信とを当該割当先センサーノード１０１に依頼する情報である。さらに、送信部４０１は、当該依頼情報と併せて、当該割当先センサーノード１０１によってデータ処理の実行が終了しない場合に中央センサーノード１０１から離れる方向にある割当先センサーノード１０１にデータ処理を実行させる情報を送信する。さらに、送信部４０１は、送信する依頼情報と併せて、受信された依頼情報に基づくデータ処理のうちの実行が終了したデータ処理の実行結果を送信する。
【００６２】
（実施例１にかかるセンサーノード１０１が行う処理手順）
図１０〜図１２は、実施例１にかかるセンサーノードが行う処理手順の一例を示すフローチャートである。まず、センサーノード１０１は、イベントの発生を検出したか否かを判断する（ステップＳ１００１）。イベントの発生を検出していない場合（ステップＳ１００１：Ｎｏ）、ステップＳ１００１へ戻る。
【００６３】
信号が受信された場合（ステップＳ１００１：信号受信）、センサーノード１０１は、いずれの信号かを判断する（ステップＳ１００２）。受信された信号が親機１０２からのブート信号の場合（ステップＳ１００２：ブート信号）、センサーノード１０１は、ブート処理を実行し（ステップＳ１００３）、自センサーノード１０１が中央センサーノード１０１であるか否かを判断する（ステップＳ１００４）。中央センサーノード１０１であるか否かは、記憶装置４１０に記憶されたセンサーノード１０１の属性によって判定される。中央センサーノード１０１である場合（ステップＳ１００４：Ｙｅｓ）、センサーノード１０１は、登録信号および自センサーノードＩＤを周辺のセンサーノード１０１に送信し（ステップＳ１００５）、一連の処理を終了する。一方、中央センサーノード１０１でない場合（ステップＳ１００４：Ｎｏ）、一連の処理を終了する。
【００６４】
ステップＳ１００２において、受信された信号が登録信号である場合（ステップＳ１００２：登録信号）、センサーノード１０１は、登録信号を未受信であるか否かを判定する（ステップＳ１００６）。ステップＳ１００６によって、中央方向の送信先センサーノードＩＤを記憶装置４１０に登録済みであるか否かが判定される。
【００６５】
登録信号が未受信である場合（ステップＳ１００６：Ｙｅｓ）、センサーノード１０１は、登録信号の送信元センサーノードＩＤを中央方向の割当先センサーノードＩＤとして登録する（ステップＳ１００７）。センサーノード１０１は、受領信号と、登録信号の送信元センサーノードＩＤと、自センサーノードＩＤと、を周辺のセンサーノード１０１へ送信する（ステップＳ１００８）。センサーノード１０１は、登録信号、および自センサーノードＩＤを周辺のセンサーノード１０１へ送信し（ステップＳ１００９）、一連の処理を終了する。登録信号が未受信でない場合（ステップＳ１００６：Ｎｏ）、中央方向の送信先センサーノードＩＤを記憶装置４１０に登録済みであるため、一連の処理を終了する。
【００６６】
ステップＳ１００２において、受信された信号が受領信号である場合（ステップＳ１００２：受領信号）、ステップＳ１０１０へ移行する。センサーノード１０１は、受領信号に対応する登録信号の送信元センサーノードＩＤが自センサーノードＩＤと一致しているか否かを判断する（ステップＳ１０１０）。登録信号の送信元センサーノードＩＤが自センサーノードＩＤと一致していない場合（ステップＳ１０１０：Ｎｏ）、一連の処理を終了する。登録信号の送信元センサーノードＩＤが自センサーノードＩＤと一致している場合（ステップＳ１０１０：Ｙｅｓ）、ステップＳ１０１１へ移行する。センサーノード１０１は、受領信号の送信元センサーノードＩＤを中央から離れる方向の割当先センサーノードＩＤとして登録し（ステップＳ１０１１）、一連の処理を終了する。
【００６７】
ステップＳ１００２において、受信された信号が実行依頼である場合（ステップＳ１００２：実行依頼）、センサーノード１０１は、ブート処理を実行する（ステップＳ１１０１）。つぎに、センサーノード１０１は、実行依頼に含まれる割当先センサーノードＩＤが自センサーノードＩＤと同一か否かを判定する（ステップＳ１１０２）。自センサーノードＩＤと同一でない場合（ステップＳ１１０２：Ｎｏ）、一連の処理を終了する。自センサーノードＩＤと同一の場合（ステップＳ１１０２：Ｙｅｓ）、センサーノード１０１は、自センサーノード１０１が中央センサーノード１０１か否かを判定する（ステップＳ１１０３）。中央センサーノード１０１であるか否かは、記憶装置４１０に記憶されたセンサーノード１０１の属性によって判定される。
【００６８】
中央センサーノード１０１である場合（ステップＳ１１０３：Ｙｅｓ）、センサーノード１０１は、実行依頼の送信元センサーノードＩＤを記憶し（ステップＳ１１０４）、割当方向のビットを反転する（ステップＳ１１０５）。センサーノード１０１は、記憶装置４１０に記憶された反転後の割当方向に基づく割当先センサーノードＩＤのうち、記憶した送信元センサーノードＩＤ以外の割当先センサーノードＩＤを選択する（ステップＳ１１０６）。センサーノード１０１は、選択した割当先センサーノードＩＤ、および実行依頼として受信した実行データを送信し（ステップＳ１１０７）、一連の処理を修了する。
【００６９】
ステップＳ１１０３において、中央センサーノード１０１でない場合（ステップＳ１１０３：Ｎｏ）、センサーノード１０１は、依頼されたデータ処理を実行し（ステップＳ１１０８）、データ処理が完了したか否かを判断する（ステップＳ１１０９）。データ処理が完了していない場合（ステップＳ１１０９：Ｎｏ）、センサーノード１０１は、バッテリ２０８の残量が所定値以上であるか否かを判定する（ステップＳ１１１０）。所定値の一例は、図９に示している。
【００７０】
所定値以上である場合（ステップＳ１１１０：Ｙｅｓ）、ステップＳ１１０８に戻る。所定値未満である場合（ステップＳ１１１０：Ｎｏ）、センサーノード１０１は、割当方向に基づく割当先センサーノードＩＤと、実行が終了しなかったデータ処理に関する情報と、実行が終了した実行結果と、を送信し（ステップＳ１１１１）、一連の処理を終了する。一方、ステップＳ１１０９において、データ処理が完了した場合（ステップＳ１１０９：Ｙｅｓ）、センサーノード１０１は、実行結果を周辺のセンサーノード１０１へ送信し（ステップＳ１１１２）、一連の処理を終了する。実行結果については、マルチホッピング通信によって最終的に親機１０２が受信する。
【００７１】
ステップＳ１００１において、センシングイベントが検出された場合（ステップＳ１００１：センシング）、センサーノード１０１は、ブート処理を実行し（ステップＳ１２０１）、データ処理を実行する（ステップＳ１２０２）。センサーノード１０１は、データ処理が完了したか否かを判断する（ステップＳ１２０３）。データ処理が完了した場合（ステップＳ１２０３：Ｙｅｓ）、センサーノード１０１は、実行結果を送信し（ステップＳ１２０６）、一連の処理を終了する。
【００７２】
データ処理が完了していない場合（ステップＳ１２０３：Ｎｏ）、センサーノード１０１は、バッテリ２０８残量が所定値以上であるか否かを判定する（ステップＳ１２０４）。バッテリ２０８残量が所定値以上である場合（ステップＳ１２０４：Ｙｅｓ）、ステップＳ１２０２へ戻る。バッテリ２０８残量が所定値未満である場合（ステップＳ１２０４：Ｎｏ）、センサーノード１０１は、中央方向の割当先センサーノードＩＤと、実行が終了しなかったデータ処理に関する情報と、実行が終了した実行結果と、を送信し（ステップＳ１２０５）、一連の処理を終了する。
【００７３】
（実施例２）
実施例２では、複数のセンサーノード１０１のうち、所定領域Ａ内で端のセンサーノード１０１にデータ処理の実行依頼が割り当てられた場合、依頼先が無いため、折り返してデータ処理の実行依頼を割り当てる。これにより、データ処理の実行を完了させることができる。
【００７４】
（登録処理）
また、受信部４０２が一定時間以内に受領信号を受信できない場合、登録部４０６は、登録信号の送信元のセンサーノードＩＤを中央から離れる方向の割当先センサーノードＩＤとして記憶装置４１０に記憶させる。たとえば、複数のセンサーノード１０１のうち、所定領域Ａ内で端に配置されたセンサーノード１０１は、登録信号の依頼先がないために、一定時間以内に受領信号を受信できない可能性が高い。そのため、たとえば、各センサーノード１０１は、中央から離れる方向の割当先センサーノードＩＤと、中央方向の割当先センサーノードＩＤと、が同一であれば、自センサーノード１０１が端に配置されたセンサーノード１０１であると判断できる。
【００７５】
（データ処理）
図１３は、実施例２にかかるデータ処理の実行の依頼例を示す説明図である。図１３に示すように、中央から離れる方向にデータ処理の実行依頼を繰り返すと、当該実行依頼が端のセンサーノード１０１に到達する場合がある。この場合、端のセンサーノード１０１は、依頼先がないため、中央方向にデータ処理の実行依頼を行う。これにより、データ処理が完了するまで実行依頼を継続させることができる。
【００７６】
受信部４０２は、依頼情報と、データ処理の実行が終了しない場合に割当先センサーノード１０１と中央センサーノード１０１との間にないセンサーノード１０１にデータ処理を実行させる情報と、を周辺のセンサーノード１０１から受信する。ここでの依頼情報は、自センサーノード１０１以外のいずれかのセンサーノード１０１の記憶装置４１０に記憶された割当先センサーノードＩＤを含み、データ処理の実行と、データ処理の実行結果の送信と、を該割当先センサーノード１０１に依頼する情報である。
【００７７】
判断部４０３は、受信された依頼情報が含む割当先センサーノードＩＤが自センサーノードＩＤであるか否かを判断する。
【００７８】
実行部４０４は、自センサーノード１０１であると判断した場合、受信された依頼情報に基づくデータ処理を実行し、判断部４０３によって自センサーノード１０１でないと判断した場合、受信された依頼情報に基づくデータ処理を実行しない。
【００７９】
図１４は、実施例２にかかる所定値の一例を示す説明図である。ここで、実施例２における判定部４０５による判定時に用いられる所定値について説明する。実施例２では、端のセンサーノード１０１によってデータ処理の実行依頼が中央方向に折り返す。そこで、所定値は、少なくとも２回の送信にかかる電力量である。所定値は、たとえば、センサーネットワークシステム１００の開発者によって設定される。所定値は、たとえば、予めＲＡＭ２０４、ＲＯＭ２０３などの記憶装置４１０に記憶される。
【００８０】
送信部４０１は、依頼情報が示すデータ処理の実行が終了しなかった場合に、記憶装置４１０に記憶された２つの割当先センサーノードＩＤが同一であれば、記憶装置４１０に記憶された割当先センサーノードＩＤを含む依頼情報を送信する。さらに、送信部４０１は、実行が完了しない場合に中央方向の割当先センサーノード１０１にデータ処理を実行させる情報と、受信された依頼情報に基づくデータ処理のうち実行が終了したデータ処理の実行結果と、を併せて周辺のセンサーノード１０１へ送信する。
【００８１】
（実施例２にかかるセンサーノード１０１が行う処理手順）
図１５〜図１７は、実施例２にかかるセンサーノードが行う処理手順の一例を示すフローチャートである。まず、センサーノード１０１は、イベントの発生を検出したか否かを判断する（ステップＳ１５０１）。イベントの発生を検出していない場合（ステップＳ１５０１：Ｎｏ）、ステップＳ１５０１へ戻る。
【００８２】
信号が受信された場合（ステップＳ１５０１：信号受信）、センサーノード１０１は、いずれの信号かを判断する（ステップＳ１５０２）。受信された信号が親機１０２からのブート信号の場合（ステップＳ１５０２：ブート信号）、センサーノード１０１は、ブート処理を実行し（ステップＳ１５０３）、自センサーノード１０１が中央センサーノード１０１であるか否かを判断する（ステップＳ１５０４）。中央センサーノード１０１であるか否かは、記憶装置４１０に記憶されたセンサーノード１０１の属性によって判定される。中央センサーノード１０１である場合（ステップＳ１５０４：Ｙｅｓ）、センサーノード１０１は、登録信号および自センサーノードＩＤを周辺のセンサーノード１０１に送信し（ステップＳ１５０５）、一連の処理を終了する。一方、中央センサーノード１０１でない場合（ステップＳ１５０４：Ｎｏ）、一連の処理を終了する。
【００８３】
ステップＳ１５０２において、受信された信号が登録信号である場合（ステップＳ１５０２：登録信号）、センサーノード１０１は、登録信号を未受信であるか否かを判定する（ステップＳ１６０１）。ステップＳ１６０１によって、中央方向の送信先センサーノードＩＤを記憶装置４１０に登録済みであるか否かが判定される。
【００８４】
登録信号が未受信である場合（ステップＳ１６０１：Ｙｅｓ）、センサーノード１０１は、登録信号の送信元センサーノードＩＤを中央方向の割当先センサーノードＩＤとして登録する（ステップＳ１６０２）。センサーノード１０１は、受領信号と、登録信号の送信元センサーノードＩＤと、自センサーノードＩＤと、を周辺のセンサーノード１０１へ送信する（ステップＳ１６０３）。センサーノード１０１は、登録信号、および自センサーノードＩＤを周辺のセンサーノード１０１へ送信し（ステップＳ１６０４）、受領信号の受信待ち状態に遷移する（ステップＳ１６０５）。
【００８５】
センサーノード１０１は、登録信号を送信後に一定時間以内に受領信号を受信したか否かを判断する（ステップＳ１６０６）。一定時間以内に受領信号が受信された場合（ステップＳ１６０６：Ｙｅｓ）、ステップＳ１５０６へ移行する。一定時間以内に受領信号が受信されなかった場合（ステップＳ１６０６：Ｎｏ）、センサーノード１０１は、登録済みの中央方向の割当先センサーノード１０１を、中央から離れる方向の割当先センサーノード１０１にコピーする（ステップＳ１６０７）。センサーノード１０１は、受領信号の受信待ち状態を解除し（ステップＳ１６０８）、一連の処理を終了する。また、登録信号が未受信でない場合（ステップＳ１６０１：Ｎｏ）、中央方向の送信先センサーノードＩＤを記憶装置４１０に登録済みであるため、一連の処理を終了する。
【００８６】
ステップＳ１５０２において、受信された信号が受領信号である場合（ステップＳ１５０２：受領信号）、ステップＳ１５０６へ移行する。センサーノード１０１は、受領信号に対応する登録信号の送信元センサーノードＩＤが自センサーノードＩＤと一致しているか否かを判断する（ステップＳ１５０６）。登録信号の送信元センサーノードＩＤが自センサーノードＩＤと一致していない場合（ステップＳ１５０６：Ｎｏ）、一連の処理を終了する。
【００８７】
受領信号に対応する登録信号の送信元センサーノードＩＤが自センサーノードＩＤと一致している場合（ステップＳ１５０６：Ｙｅｓ）、ステップＳ１５０７へ移行する。センサーノード１０１は、受領信号の送信元センサーノードＩＤを中央から離れる方向の割当先センサーノードＩＤとして登録する（ステップＳ１５０７）。そして、センサーノード１０１は、受領信号の受信待ち状態を解除し（ステップＳ１５０８）、一連の処理を終了する。
【００８８】
ステップＳ１５０２において、受信された信号が実行依頼である場合（ステップＳ１５０２：実行依頼）、センサーノード１０１は、ブート処理を実行する（ステップＳ１７０１）。つぎに、センサーノード１０１は、実行依頼に含まれる割当先センサーノードＩＤが自センサーノードＩＤと同一か否かを判定する（ステップＳ１７０２）。自センサーノードＩＤと同一でない場合（ステップＳ１７０２：Ｎｏ）、一連の処理を終了する。自センサーノードＩＤと同一の場合（ステップＳ１７０２：Ｙｅｓ）、センサーノード１０１は、自センサーノードが中央センサーノード１０１か否かを判定する（ステップＳ１７０３）。中央センサーノード１０１であるか否かは、記憶装置４１０に記憶されたセンサーノード１０１の属性によって判定される。
【００８９】
中央センサーノード１０１である場合（ステップＳ１７０３：Ｙｅｓ）、センサーノード１０１は、実行依頼の送信元センサーノードＩＤを記憶し（ステップＳ１７０４）、割当方向のビットを反転する（ステップＳ１７０５）。センサーノード１０１は、記憶装置４１０に記憶された反転後の割当方向に基づく割当先センサーノードＩＤのうち、記憶した送信元センサーノードＩＤ以外の割当先センサーノードＩＤを選択する（ステップＳ１７０６）。センサーノード１０１は、選択した割当先センサーノードＩＤ、および実行依頼として受信した実行データを送信し（ステップＳ１７０７）、一連の処理を終了する。
【００９０】
ステップＳ１７０３において、中央センサーノード１０１でない場合（ステップＳ１７０３：Ｎｏ）、センサーノード１０１は、依頼されたデータ処理を実行し（ステップＳ１７０８）、データ処理が完了したか否かを判断する（ステップＳ１７０９）。データ処理が完了していない場合（ステップＳ１７０９：Ｎｏ）、センサーノード１０１は、バッテリ２０８残量が所定値以上であるか否かを判定する（ステップＳ１７１０）。所定値の一例は、図１４に示している。
【００９１】
所定値以上である場合（ステップＳ１７１０：Ｙｅｓ）、ステップＳ１７０８に戻る。所定値未満である場合（ステップＳ１７１０：Ｎｏ）、中央方向の割当先センサーノードＩＤと、中央から離れる方向の割当先センサーノードＩＤと、が同一か否かを判断する（ステップＳ１７１１）。中央方向の割当先センサーノードＩＤと、中央から離れる方向の割当先センサーノードＩＤと、が同一でない場合（ステップＳ１７１１：Ｎｏ）、ステップＳ１７１３へ移行する。
【００９２】
中央方向の割当先センサーノードＩＤと、中央から離れる方向の割当先センサーノードＩＤと、が同一である場合（ステップＳ１７１１：Ｙｅｓ）、センサーノード１０１は、割当方向のビットを反転する（ステップＳ１７１２）。そして、センサーノード１０１は、割当方向に基づく割当先センサーノードＩＤと、実行が終了しなかったデータ処理に関する情報と、実行が終了した実行結果と、を送信し（ステップＳ１７１３）、一連の処理を終了する。一方、ステップＳ１７０９において、データ処理が完了した場合（ステップＳ１７０９：Ｙｅｓ）、センサーノード１０１は、実行結果を周辺のセンサーノード１０１に送信し（ステップＳ１７１４）、一連の処理を終了する。
【００９３】
ステップＳ１５０１において、センシングイベントが検出された場合（ステップＳ１５０１：センシング）については、図１２に示した実施例１と同一処理であるため、詳細な説明を省略する。
【００９４】
以上実施例１および２で説明したように、センサーノードは、親機との通信に複数ホップ要するセンサーノードにデータ処理の実行を依頼する。割当先センサーノードで該データ処理が完了しなくとも、さらに別のセンサーノードに該データ処理の実行のつづきを依頼できるため、親機に到達するまでに段階的に該データ処理を実行することができる。したがって、完全な処理結果が親機に到達する確度を向上させることができる。
【００９５】
また、各センサーノードは、受信した依頼情報に含まれる割当先センサーノードＩＤが自センサーノードＩＤであれば、受信した依頼情報が示すデータ処理を実行する。各センサーノードは、受信した依頼情報が示すデータ処理の実行が完了しなかった場合に、自記憶装置が記憶する識別情報が示す割当先センサーノードに当該データ処理のつづきの実行を依頼する。これにより、データ処理の実行が完了するまで複数のセンサーノードで段階的にデータ処理が実行される。したがって、完全な処理結果が親機に到達する確度を向上させることができる。
【００９６】
また、バッテリの残量が十分でない場合には、センサーノードは、データ処理の実行を中断し、記憶装置に記憶された識別情報が示す割当先センサーノードに当該データ処理のつづきの実行を依頼する。これにより、複数のセンサーノードで段階的にデータ処理の実行が行われている場合に、バッテリ切れによってデータ処理の実行が放棄されるのを防止することができる。
【００９７】
また、センサーノードは、親機との通信に複数ホップ要するセンサーノードの中で、自センサーノードが直接通信可能なセンサーノードにデータ処理の実行を依頼する。依頼先にデータ処理の実行を依頼するために、依頼先でないセンサーノードが当該データ処理に関する情報などを転送する処理を行わなくてよいため、各センサーノードの負荷を増大させることなく、複数のセンサーノードでデータ処理を完了させることができる。
【００９８】
また、自センサーノードと中央センサーノードとの間にある第１割当先センサーノードＩＤと自センサーノードと中央センサーノードとの間にない第２割当先センサーノードＩＤとを記憶装置に記憶させる。初めに各センサーノードは、データ処理の実行を他のセンサーノードに依頼する場合、第１割当先センサーノードに依頼する。中央センサーノードまで当該データ処理の実行依頼が到達した場合、中央センサーノードは、中央センサーノードから離れる第１割当先センサーノードにデータ処理の実行を依頼する。これにより、データ処理が破棄されることなく、複数のセンサーノードで継続してデータ処理を実行することができる。したがって、完全な処理結果が親機に到達する確度を向上させることができる。
【００９９】
また、中央センサーノードが、登録信号を送信し、複数のセンサーノードは、登録信号を転送する。各センサーノードは、登録信号を受信すると、当該登録信号の送信元のセンサーノードＩＤを第１割当先センサーノードＩＤとして記憶する。各センサーノードは、登録信号によって第１割当先センサーノードＩＤを登録したことを示す受領信号を周辺のセンサーノードに送信する。各センサーノードは、受信した受領信号に対応する登録信号の送信元センサーノードＩＤが自センサーノードＩＤである場合、受領信号の送信元センサーノードＩＤを第２割当先センサーノードＩＤとして記憶する。これにより、中央方向にセンサーノードを割り当てることができ、中央から離れる方向にセンサーノードを割り当てることができる。
【０１００】
また、所定領域内の端に配置されたセンサーノードは、依頼先が無い場合に、依頼元にデータ処理の実行を依頼する。これにより、端に配置されたセンサーノードによってデータ処理が放棄されるのを防止することができる。複数のセンサーノードで継続してデータ処理が実行されるため、完全な処理結果が親機に到達する確度を向上させることができる。
【符号の説明】
【０１０１】
１００  センサーネットワークシステム
１０１  センサーノード
１０２  親機
２０１  センサー
２０２  ＭＣＵ
２０３  ＲＯＭ
２０４  ＲＡＭ
２０５  無線通信回路
２０６  アンテナ
２０７  ハーベスタ
２０８  バッテリ
２０９  ＰＭＵ
４０１  送信部
４０２  受信部
４０３  判断部
４０４  実行部
４０５  判定部
４０６  登録部
４０７  蓄電部
４１０  記憶装置
【図１】
2014033866.tif 000003
【図２】
2014033866.tif 000004
【図３】
2014033866.tif 000005
【図４】
2014033866.tif 000006
【図５】
2014033866.tif 000007
【図６】
2014033866.tif 000008
【図７】
2014033866.tif 000009
【図８】
2014033866.tif 000010
【図９】
2014033866.tif 000011
【図１０】
2014033866.tif 000012
【図１１】
2014033866.tif 000013
【図１２】
2014033866.tif 000014
【図１３】
2014033866.tif 000015
【図１４】
2014033866.tif 000016
【図１５】
2014033866.tif 000017
【図１６】
2014033866.tif 000018
【図１７】
2014033866.tif 000019
【国際調査報告】
2014033866.tif 000020
2014033866.tif 000021