(57)【要約】  センサーノード（１０１−ｉ）は、他のセンサーノード（１０１）にデータ処理の実行を依頼して、依頼が受託されない場合に充電を待ってデータ処理の実行を開始する第１動作と、データ処理の実行を依頼せずに充電を待ってデータ処理の実行を開始する第２動作と、のいずれかを実行可能とする。センサーノード（１０１−ｉ）は、第１動作を実行した場合に自センサーノード（１０１−ｉ）または他のセンサーノード（１０１）によって実行が再開されるまでにかかる第１時間の期待値と、第２動作を実行した場合に自センサーノード（１０１−ｉ）によって実行が再開されるまでにかかる第２時間と、を比較する。センサーノード（１０１−ｉ）は、第１動作と第２動作のうち、比較結果に基づいて実行が再開されるまでにかかる時間が短い方の動作を実行する。
2014033831.tif 000002
【特許請求の範囲】
【請求項１】
複数の第１通信装置に含まれる通信装置であり、自通信装置におけるデータ処理の実行結果を、前記複数の第１通信装置の間でマルチホップ通信することにより、前記実行結果に基づく処理を行う第２通信装置へ送信する通信装置であって、
自発電した電力を充電する充電部と、
前記データ処理の実行が前記充電された電力の残量に基づいて中断される場合に、前記複数の第１通信装置のうちの他の通信装置へ前記データ処理の実行を依頼する依頼信号を送信して、前記依頼信号による依頼が前記他の通信装置に受託される場合に前記データ処理を自通信装置によって実行せず、前記依頼信号による依頼が前記他の通信装置に受託されない場合に前記データ処理の実行が完了可能な電力が前記充電部によって充電されてから前記データ処理の実行を自通信装置によって開始する第１動作と、前記他の通信装置へ前記依頼信号を送信せずに、前記データ処理の実行が完了可能な電力が前記充電部によって充電されてから前記データ処理の実行を自通信装置によって開始する第２動作と、のいずれかを実行可能な実行部と、
前記データ処理の実行の依頼が前記他の通信装置に受託される確率に基づいて、前記第１動作を実行した場合に前記データ処理の実行が前記実行部または前記他の通信装置によって開始されるまでの第１時間の期待値を取得する第１取得部と、
前記第２動作を実行した場合に前記データ処理の実行を完了可能な電力が前記充電部によって充電されて前記データ処理の実行が前記実行部によって開始されるまでの第２時間を取得する第２取得部と、
前記第１取得部によって取得された前記第１時間の期待値と前記第２取得部によって取得された前記第２時間とを比較する比較部と、
前記実行部による前記データ処理の実行中に前記充電された電力の残量が閾値未満となった場合に、前記比較部による比較結果に基づいて、前記第１動作と前記第２動作とのうちのいずれかを前記実行部によって実行させる制御部と、
を有することを特徴とする通信装置。
【請求項２】
前記第１取得部は、
前記依頼信号を前記他の通信装置へ送信して前記データ処理の実行が前記他の通信装置によって開始されるまでにかかる第３時間と前記他の通信装置によって依頼を受託される確率との乗算値と、
前記他の通信装置に前記データ処理の実行が受託されない場合に前記データ処理の実行を完了可能な充電を待って前記データ処理の実行が前記実行部によって開始されるまでにかかる第４時間と前記他の通信装置によって依頼を受託されない確率との乗算値と、
の合計による前記第１時間の期待値を取得することを特徴とする請求項１に記載の通信装置。
【請求項３】
前記制御部は、
前記実行部による前記データ処理の実行中に前記充電された電力の残量が閾値未満となった場合において、前記比較部によって前記第１時間の期待値が前記第２時間より小さいと判断された場合、前記実行部によって前記第１動作を実行させ、前記比較部によって前記第２時間が前記第１時間の期待値より小さいと判断された場合、前記実行部によって前記第２動作を実行させることを特徴とする請求項１または２に記載の通信装置。
【請求項４】
前記制御部は、
前記比較部によって前記第１時間の期待値が前記第２時間より小さいと判断された場合において、
前記データ処理の実行が完了するまで、または前記充電された電力の残量が、前記依頼信号の送信にかかる電力量と前記依頼信号の受託を示す信号の受信にかかる電力量との合計値に基づく閾値未満となるまで、前記実行部によって前記データ処理を実行させ、
前記充電された電力の残量が前記閾値未満となったら、前記実行部による前記データ処理の実行を中断させ、前記実行部によって前記第１動作を実行させることを特徴とする請求項３に記載の通信装置。
【請求項５】
前記制御部は、
前記比較部によって前記第２時間が前記第１時間の期待値より小さいと判断された場合において、
前記データ処理の実行が完了するまで、または前記充電された電力の残量が前記実行結果の送信にかかる電力量に基づく閾値未満となるまで、前記実行部によって前記データ処理を実行させ、
前記充電された電力の残量が前記閾値未満となったら、前記実行部による前記データ処理の実行を中断させ、前記実行部によって前記第２動作を実行させることを特徴とする請求項３に記載の通信装置。
【請求項６】
前記比較部は、
前記実行部による前記データ処理の実行開始前に、前記第１時間の期待値と前記第２時間とを比較することを特徴とする請求項４または５に記載の通信装置。
【請求項７】
前記データ処理の実行結果を送信する送信部を有し、
前記制御部は、
前記充電された電力の残量に基づいて前記送信部による前記実行結果の送信が待機させられている場合、前記送信部による前記実行結果の送信後に、前記データ処理を前記実行部によって実行させることを特徴とする請求項１〜６のいずれか一つに記載の通信装置。
【請求項８】
複数の第１通信装置と、
前記複数の第１通信装置の間でマルチホップ通信することによって送信された前記複数の第１通信装置の少なくともいずれかについてのデータ処理の実行結果に基づく処理を行う第２通信装置と、
を有し、
前記複数の第１通信装置の少なくともいずれかの通信装置が、
自発電した電力によって充電する充電部によって充電された電力の残量に基づいて自通信装置におけるデータ処理の実行が中断される場合に、前記複数の第１通信装置のうちの他の通信装置へ前記データ処理の実行を依頼する依頼信号を送信して、前記依頼信号による依頼が前記他の通信装置に受託される場合に前記データ処理を自通信装置によって実行せず、前記依頼信号による依頼が前記他の通信装置に受託されない場合に前記データ処理の実行が完了可能な電力が前記充電部によって充電されてから前記データ処理の実行を自通信装置によって開始する第１動作と、前記他の通信装置へ前記依頼信号を送信せずに、前記データ処理の実行が完了可能な電力が前記充電部によって充電されてから前記データ処理の実行を自通信装置によって開始する第２動作と、のいずれかを実行可能であって、
前記データ処理の実行の依頼が前記他の通信装置に受託される確率に基づいて、前記第１動作を実行した場合に前記データ処理の実行が前記自通信装置または前記他の通信装置によって開始されるまでの第１時間の期待値を取得し、
前記第２動作を実行した場合に前記データ処理の実行を完了可能な電力が前記充電部によって充電されて前記データ処理の実行が前記自通信装置によって開始されるまでの第２時間を取得し、
取得した前記第１時間の期待値と取得した前記第２時間とを比較し、
前記データ処理の実行中に前記充電された電力の残量が閾値未満となった場合に、比較結果に基づいて、前記第１動作と前記第２動作とのうちのいずれかを実行させ、
前記他の通信装置は、
前記いずれかの通信装置から前記依頼信号を受信し、
自発電した電力によって充電する充電部によって充電された電力により受信した前記依頼信号が示すデータ処理を実行可能か否か判断し、
受信した前記依頼信号が示すデータ処理を実行可能であると判断した場合、前記依頼信号が示すデータ処理を実行可能である受託信号を前記いずれかの通信装置へ送信し、
受信した前記依頼信号が示すデータ処理を実行可能であると判断した場合、前記依頼信号が示すデータ処理を実行することを特徴とすることを特徴とするシステム。
【請求項９】
複数の第１通信装置に含まれる通信装置であって、自通信装置におけるデータ処理の実行結果を、前記複数の第１通信装置の間でマルチホップ通信することにより、前記実行結果に基づく処理を行う第２通信装置へ送信する通信装置が、
自発電した電力を充電する充電部によって充電された電力の残量に基づいて前記データ処理の実行が中断される場合に、前記複数の第１通信装置のうちの他の通信装置へ前記データ処理の実行を依頼する依頼信号を送信して、前記依頼信号による依頼が前記他の通信装置に受託される場合に前記データ処理を自通信装置によって実行せず、前記依頼信号による依頼が前記他の通信装置に受託されない場合に前記データ処理の実行が完了可能な電力が前記充電部によって充電されてから前記データ処理の実行を自通信装置によって開始する第１動作と、前記他の通信装置へ前記依頼信号を送信せずに、前記データ処理の実行が完了可能な電力が前記充電部によって充電されてから前記データ処理の実行を自通信装置によって開始する第２動作と、のいずれかを実行可能であって、
前記データ処理の実行の依頼が前記他の通信装置に受託される確率に基づいて、前記第１動作を実行した場合に前記データ処理の実行が前記自通信装置または前記他の通信装置によって開始されるまでの第１時間の期待値を取得し、
前記第２動作を実行した場合に前記データ処理の実行を完了可能な電力が前記充電部によって充電されて前記データ処理の実行が前記自通信装置によって開始されるまでの第２時間を取得し、
取得した前記第１時間の期待値と取得した前記第２時間とを比較し、
前記データ処理の実行中に前記充電された電力の残量が閾値未満となった場合に、比較に基づいて、前記第１動作と前記第２動作とのうちのいずれかを実行させる、
処理を実行することを特徴とする通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信装置、システム、および通信方法に関する。
【背景技術】
【０００２】
従来、通信装置において、通信時のみ無線通信部に電力を供給し、待機時には低消費電力の通信起動信号受信部にのみ電力を供給することにより、消費電力を削減する技術が知られている（たとえば、下記特許文献１参照。）。また、マイクロプロセッサについて、アクティブ状態から、電源遮断状態またはスタンバイモードに遷移させることにより、消費電力を削減する技術が知られている（たとえば、下記特許文献２参照。）。【０００３】
また、複数のセンサー付無線端末を所定空間に散在させ、それらが協調して環境や物理的状況を採取することを可能とするセンサーネットワーク（ＷＳＮ：Ｗｉｒｅｌｅｓｓ  Ｓｅｎｓｏｒ  Ｎｅｔｗｏｒｋｓ）が知られている。たとえば、無線端末に電池とキャパシタとを設けることにより、電池寿命を改善する技術が知られている（たとえば、下記特許文献３参照。）。【０００４】
また、たとえば、各無線端末では自端末が有する環境発電装置によって発電された電力を蓄電し、各無線端末からの情報を集約する装置が、各端末の発電量や蓄電量を検出し、各端末の動作状態を管理する技術が知られている（たとえば、下記特許文献４参照。）。【０００５】
また、たとえば、センサーネットワーク内を移動可能な端末が、電力を蓄積可能なエネルギー蓄積部を有し、移動しながら他の無線端末に電力を供給する技術が知られている（たとえば、下記特許文献５参照。）。【０００６】
また、各無線端末からの情報を集約する装置が、ソーラーパネルを搭載する技術が知られている（たとえば、下記特許文献６参照。）。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００３−１７４３８２号公報
【特許文献２】特開２０１０−１１４４８４号公報
【特許文献３】特開２００８−１４８１２４号公報
【特許文献４】特開２０１１−１３７６５号公報
【特許文献５】特開２００７−９７３５８号公報
【特許文献６】特開２０１１−１５５５５６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、自端末が発電した電力によって充電を行い、充電した電力によってデータ処理を実行する端末においては、電力切れになるとデータ処理の実行が中断される場合がある。この場合は、データ処理を実行するための電力が充電されるのを待ってからデータ処理の実行が再開されるため、データ処理の完了が遅くなる。【０００９】
１つの側面では、本発明は、より早くデータ処理を完了させることができる通信装置、システム、および通信方法を提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明の一側面によれば、複数の第１通信装置に含まれる通信装置であり、自通信装置におけるデータ処理の実行結果を、前記複数の第１通信装置の間でマルチホップ通信することにより、前記実行結果に基づく処理を行う第２通信装置へ送信する通信装置であって、自発電した電力を充電する充電部と、前記データ処理の実行が前記充電された電力の残量に基づいて中断される場合に、前記複数の第１通信装置のうちの他の通信装置へ前記データ処理の実行を依頼する依頼信号を送信して、前記依頼信号による依頼が前記他の通信装置に受託される場合に前記データ処理を自通信装置によって実行せず、前記依頼信号による依頼が前記他の通信装置に受託されない場合に前記データ処理の実行が完了可能な電力が前記充電部によって充電されてから前記データ処理の実行を自通信装置によって開始する第１動作と、前記他の通信装置へ前記依頼信号を送信せずに、前記データ処理の実行が完了可能な電力が前記充電部によって充電されてから前記データ処理の実行を自通信装置によって開始する第２動作と、のいずれかを実行可能な実行部と、前記データ処理の実行の依頼が前記他の通信装置に受託される確率に基づいて、前記第１動作を実行した場合に前記データ処理の実行が前記実行部または前記他の通信装置によって開始されるまでの第１時間の期待値を取得する第１取得部と、前記第２動作を実行した場合に前記データ処理の実行を完了可能な電力が前記充電部によって充電されて前記データ処理の実行が前記実行部によって開始されるまでの第２時間を取得する第２取得部と、前記第１取得部によって取得された前記第１時間の期待値と前記第２取得部によって取得された前記第２時間とを比較する比較部と、前記実行部による前記データ処理の実行中に前記充電された電力の残量が閾値未満となった場合に、前記比較部による比較結果に基づいて、前記第１動作と前記第２動作とのうちのいずれかを前記実行部によって実行させる制御部と、を有する通信装置、システム、および通信方法が提案される。
【発明の効果】
【００１１】
本発明の一態様によれば、より早くデータ処理を完了させることができる。
【図面の簡単な説明】
【００１２】
【図１】図１は、本発明にかかるセンサーノードによる一動作例を示す説明図である。
【図２】図２は、センサーノードのハードウェア構成例を示すブロック図である。
【図３】図３は、親機のハードウェア構成例を示すブロック図である。
【図４】図４は、センサーノードの機能構成例を示すブロック図である。
【図５】図５は、他のセンサーノードに依頼しない場合における閾値Ｐlimitを示す説明図である。
【図６】図６は、他のセンサーノードに依頼する場合における閾値Ｐlimitを示す説明図である。
【図７】図７は、センサーノードが行う処理手順の一例を示すフローチャート（その１）である。
【図８】図８は、センサーノードが行う処理手順の一例を示すフローチャート（その２）である。
【図９】図９は、センサーノードが行う処理手順の一例を示すフローチャート（その３）である。
【図１０】図１０は、センサーノードが行う処理手順の一例を示すフローチャート（その４）である。
【図１１】図１１は、依頼信号を受信時のセンサーノードが行う処理手順の一例を示すフローチャートである。
【発明を実施するための形態】
【００１３】
以下に添付図面を参照して、本発明にかかる通信装置、システム、および通信方法の実施の形態を詳細に説明する。本実施の形態で説明するセンサーネットワークシステムでは、多数のセンサーを所定領域に設置して、各センサーがそれぞれ検出した検出情報を無線送信し、所定領域内のセンサーと無線通信可能な親機により検出情報を収集する。所定領域は、たとえば、コンクリート、土、空気などの物質で満たされた領域である。ここで、センサーとセンサーが検知したデータを処理可能なプロセッサを搭載した無線通信装置をセンサーノードと称する。各センサーノードでの検出情報や当該検出情報に対応するデータ処理の結果は、直接または他のセンサーノードを経由してリレー転送によって親機に到達することとする。
【００１４】
図１は、本発明にかかるセンサーノードによる一動作例を示す説明図である。センサーネットワークシステム１００は、所定領域Ａ内に配置された複数の第１通信装置であるセンサーノード１０１と、第２通信装置である親機１０２と、を有する。図１に示すように、親機１０２も複数設けられていてもよい。各センサーノード１０１は、発電可能なハーベスタと、ハーベスタによる電力を蓄えるバッテリを有する。各センサーノード１０１は、バッテリの代わりに、ハーベスタによる電力を蓄えることができるキャパシタを有していてもよい。バッテリに蓄電可能な電力やハーベスタによって発電可能な電力が小さいと、センサーノード１０１は、データ処理の実行を中断しなければならない。
【００１５】
そこで、センサーノード１０１−ｉは、データ処理の実行が中断された場合に、データ処理の実行を他のセンサーノード１０１に依頼するか、充電を待って自センサーノード１０１−ｉでデータ処理の実行を再開する。他のセンサーノード１０１が依頼を受託する場合、他のセンサーノード１０１が中断されたデータ処理の実行を再開させる方が、充電を待って自センサーノード１０１−ｉによりデータ処理の実行を再開させるよりも早い。一方、他のセンサーノード１０１が該依頼を受託できない場合、自センサーノード１０１−ｉで充電を待ってデータ処理を再開することになるため、依頼をせずに充電を待って自センサーノード１０１−ｉによりデータ処理の実行を再開させる方が早い。そこで、センサーノード１０１−ｉは、他のセンサーノード１０１にデータ処理の実行を依頼してみる第１動作と、依頼せずに充電を待ってデータ処理の実行を開始する第２動作と、のいずれかを実行可能とする。
【００１６】
より具体的には、第１動作は、他のセンサーノード１０１へデータ処理の実行を依頼する依頼信号を送信して、他のセンサーノード１０１に依頼が受託されない場合にデータ処理の実行が完了可能な電力が充電されてからデータ処理の実行を開始する。より具体的には、第２動作は、他のセンサーノード１０１へ依頼信号を送信せずに、データ処理の実行が完了可能な電力が充電されてからデータ処理の実行を開始する。
【００１７】
ここでは、センサーノード１０１−ｉは、第１動作と第２動作のうち、開始されるまでの時間が短い方の動作を実行する。たとえば、センサーノード１０１−ｉは、データ処理の実行の依頼が他のセンサーノード１０１に受託される確率に基づいて、第１動作を実行した場合にデータ処理の実行が開始されるまでの第１時間Ｔ１の期待値を取得する。当該第１動作が実行された場合にデータ処理の実行を行うのは、自センサーノード１０１−ｉまたは他のセンサーノード１０１のいずれかであるため、他のセンサーノード１０１に受託される確率に基づいて第１時間Ｔ１の期待値が導出される。たとえば、第１時間Ｔ１の期待値は、以下式（１）〜（３）によって決定されてもよい。ここでは、センサーノード１０１−ｉは、式（１）〜（３）を計算することによって第１時間Ｔ１の期待値を取得することとする。
【００１８】
Ｔ３＝０・・・（１）
Ｔ４＝ｍｉｎ（Ｔint×ｍ）＞ＤSize×（ＰMCU＋ＰSend）／Ｐharvestor・・・（２）
Ｔ１＝Ｐ１×Ｔ３＋Ｐ２×Ｔ４・・・（３）
【００１９】
第３時間Ｔ３は、データ処理の実行が中断された場合の複数のセンサーノード１０１のうち自センサーノード１０１−ｉ以外の他のセンサーノード１０１に依頼してデータ処理の実行が他のセンサーノード１０１によって開始されるまでにかかる時間である。式（１）では、第３時間Ｔ３を０にしているが、たとえば、実行依頼と受託信号の受信までにかかる平均的な時間としてもよい。
【００２０】
第４時間Ｔ４は、他のセンサーノード１０１に依頼しても受託されない場合に充電を待機してデータ処理の実行および実行結果の送信が自センサーノード１０１によって開始されるまでにかかる時間である。式（２）について説明する。Ｔintは、イベントの発生期間であり、ｍは１以上の整数である。ＤSizeは、データ処理のデータサイズである。ＰMCU［ｍＷ／Ｂｙｔｅ］は、データ処理の実行にかかる単位データあたりの消費電力量とする。Ｐharvestor［ｍＷ］は、ハーベスタから得られる単位時間あたりの電力量である。ＰSendは、ＲＦでデータを送信するのに使用する単位データあたりの消費電力量である。より具体的には、第４時間Ｔ４は、「ＤSize×（ＰMCU＋ＰSend）／Ｐharvestor」より大きい「Ｔint×ｍ」の中で、最も小さい値である。
【００２１】
式（３）で示すように、第１時間Ｔ１の期待値は、確率Ｐ１と取得した第３時間Ｔ３との乗算値と、確率Ｐ２と取得した第４時間Ｔ４との乗算値と、の合計値である。確率Ｐ１は、他のセンサーノード１０１が依頼を受託できる確率であり、確率Ｐ２は、他のセンサーノード１０１が依頼を受託できない確率である。確率Ｐ１と確率Ｐ２については、たとえば、過去に依頼した結果に基づいて定まる。たとえば、センサーノード１０１は、他のセンサーノード１０１に依頼した１０回のうち、何回受託されたかに基づいて確率Ｐ１と確率Ｐ２とを導出してもよい。
【００２２】
つぎに、センサーノード１０１は、第２動作を実行した場合にデータ処理の実行を完了可能な電力が充電されてデータ処理の実行が自センサーノード１０１によって開始されるまでの第２時間Ｔ２を取得する。たとえば、第２時間Ｔ２を以下式（４）に示す。
【００２３】
Ｔ２＝Ｔint×ｎ＞ＤSize×ＰMCU／Ｐharvestor・・・（４）
【００２４】
ｎは１以上の整数である。より具体的には、「ＤSize×ＰMCU／Ｐharvestor」より大きい「Ｔint×ｎ」の中で、最も小さい値である。
【００２５】
つぎに、センサーノード１０１は、第１時間Ｔ１の期待値と第２時間Ｔ２とを比較する。センサーノード１０１は、データ処理の実行中に充電された電力の残量が閾値未満となった場合、比較結果に基づいて、第１動作または第２動作のいずれかを実行する。たとえば、第１時間Ｔ１の期待値が第２時間Ｔ２より小さい場合、センサーノード１０１は、第１動作を実行する。たとえば、第２時間Ｔ２が第１時間Ｔ１の期待値より小さい場合、センサーノード１０１は、第２動作を実行する。ここでは、第１時間Ｔ１と第２時間Ｔ２とが同一値の場合、第１動作と第２動作のいずれを行ってもよいが、図１の例では、センサーノード１０１は、第１動作を行っている。閾値については、固定値であってもよいし、比較結果に基づく電力量であってもよい。閾値が比較結果に基づく電力量である場合についての例は後述する。
【００２６】
図１によれば、データ処理の実行が再開するまでの時間が短い方の動作が実行されることにより、データ処理の実行が完了するまでの時間を短縮することができる。したがって、より早く実行結果を親機１０２に送信することができる。たとえば、センサーネットワークシステム１００では、親機１０２を介して、利用者端末やサーバなどに情報が伝達される。たとえば、センサーノード１０１が地震による揺れや壁のひずみなどの異常を検出した場合に、より早く実行結果を親機１０２に送信できれば、親機１０２を介してより早く利用者端末などに異常を通知することができる。
【００２７】
（センサーノード１０１のハードウェア構成例）
図２は、センサーノードのハードウェア構成例を示すブロック図である。センサーノード１０１は、センサー２０１と、ＰＭＵ（Ｐｏｗｅｒ  Ｍａｎａｇｅｍｅｎｔ  Ｕｎｉｔ）２１０と、無線通信回路２０６と、アンテナ２０７と、マイクロプロセッサ（以下、「ＭＣＵ（Ｍｉｃｒｏ  Ｃｏｎｔｒｏｌ  Ｕｎｉｔ）」と称する。）２０２と、を有する。センサーノード１０１は、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２０３と、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）２０４と、不揮発メモリ２０５と、を有する。センサーノード１０１は、センサー２０１と、無線通信回路２０６と、ＭＣＵ２０２と、ＲＡＭ２０３と、ＲＯＭ２０４と、不揮発メモリ２０５と、を接続する内部バス２１１を有する。さらに、センサーノード１０１は、ハーベスタ２０８と、バッテリ２０９と、を有する。
【００２８】
センサー２０１は、設置箇所における所定の変位量を検出する。センサー２０１は、たとえば、設置箇所の圧力を検出する圧電素子や、温度を検出する素子、光を検出する光電素子などを用いることができる。図２に示すように、センサー２０１は、各々機能が異なるセンサー２０１が複数設けられていてもよい。図２の例では、センサー２０１−１〜センサー２０１−ｐのｐ個のセンサー２０１が設けられている。
【００２９】
アンテナ２０７は、親機１０２と無線通信する電波を送受信する。無線通信回路２０６（ＲＦ）は、受信回路２２２と、送信回路２２１と、を有する。受信回路２２２は、受信した無線電波を受信信号として出力する。受信回路２２２による受信処理にかかる単位データあたりの消費電力量をＰReceiveとする。送信回路２２１は、送信信号を無線電波としてアンテナ２０７を介して送信する。上述したように、送信回路２２１による送信処理にかかる単位データあたりの消費電力量をＰSendとする。
【００３０】
ＭＣＵ２０２は、センサー２０１が検出したデータを処理する。上述したように、ＰMCUは、ＭＣＵ２０２によるデータ処理にかかる単位データあたりの消費電力量である。ＲＡＭ２０３は、ＭＣＵ２０２における処理の一時データを記憶する。ＲＯＭ２０４は、ＭＣＵ２０２が実行する処理プログラムなどを記憶する。
【００３１】
不揮発メモリ２０５は、電力供給が途絶えたとき等においても各データを記憶する。たとえば、不揮発メモリ２０５は、上述した確率Ｐ１と確率Ｐ２とを記憶する。たとえば、不揮発メモリ２０５は、データ処理待ちキューＥＱや送信待ちキューＳＱを記憶する。ＭＣＵ２０２は、データ処理待ちキューＥＱに登録された実行データを登録順に当該実行データが示すデータ処理を実行する。ただし、中断されたデータ処理についての実行データは、データ処理待ちキューＥＱの先頭に登録されることとする。これにより、ＭＣＵ２０２が、電力の充電を待ってから中断されたデータ処理のつづきを再開することができる。したがって、ＭＣＵ２０２は、イベントの発生順にデータ処理を実行することができる。送信回路２２１は、送信待ちキューＳＱに登録された送信データを登録順に送信する。
【００３２】
たとえば、不揮発メモリ２０５は、データ処理待ちキューＥＱによって実行が待機されている実行データの数であるＮMCUを記憶する。たとえば、不揮発メモリ２０５は、中断されたデータ処理があるか否かを示すＮSuspend、送信待ちキューＳＱによって送信が待機されている送信データの数であるＮRFを記憶する。
【００３３】
ハーベスタ２０８は、センサーノード１０１の設置箇所における外部環境、たとえば、光、振動、温度、無線電波（受信電波）などのエネルギー変化に基づき発電を行う。ハーベスタ２０８は、センサー２０１によって検出された変位量に応じて発電を行ってもよい。バッテリ２０９は、ハーベスタ２０８により発電された電力を蓄える。すなわち、センサーノード１０１は、二次電池や外部電源などが不要であり、動作に必要な電力を自装置の内部で生成する。ここで、バッテリ２０９の蓄電量をＰcapacitor［ｍＷ］とする。ハーベスタ２０８は複数設けられていてもよく、図２の例では、ハーベスタ２０８−１〜ハーベスタ２０８−ｑのｑ個のハーベスタ２０８が設けられている。
【００３４】
ＰＭＵ２１０は、バッテリ２０９が蓄えた電力を、センサーノード１０１の各部の駆動電源として供給する制御を行う。たとえば、ＰＭＵ２１０は、センサー２０１がセンシング処理を行うと、ＭＣＵ２０２を動作させるために、ＭＣＵ２０２へ電源を供給する。または、ＭＣＵ２０２がいずれの処理も行っていない場合には、ＰＭＵ２１０は、ＭＣＵ２０２への電源供給をやめる。ここで、ＰＭＵ２１０が制御を行うために使用する電力量をＰPMUとする。
【００３５】
（親機１０２のハードウェア構成例）
図３は、親機のハードウェア構成例を示すブロック図である。親機１０２は、センサーノード１０１と異なり、外部電源に基づき動作する。親機１０２は、センサーノード１０１のＭＣＵ２０２よりも高性能なプロセッサ（ＣＰＵ３０１（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ））と、大容量のＲＯＭ３０２およびＲＡＭ３０３と、を有する。親機１０２は、インターフェース（Ｉ／Ｏ（Ｉｎｐｕｔ／Ｏｕｔｐｕｔ））回路３０４と、ＣＰＵ３０１とＲＯＭ３０２とＲＡＭ３０３とＩ／Ｏ回路３０４と不揮発メモリ３０５とを接続するバス３０６と、を有する。
【００３６】
また、Ｉ／Ｏ回路３０４には、アンテナ３０７および無線通信回路（ＲＦ（Ｒａｄｉｏ  Ｆｒｅｑｕｅｎｃｙ））３０８と、ネットワークＩ／Ｆ３０９が接続されている。これにより、親機１０２は、アンテナ３０７および無線通信回路３０８を介して、センサーノード１０１と無線通信することができる。さらに、親機１０２は、ネットワークＩ／Ｆ３０９を介して、ＴＣＰ／ＩＰのプロトコル処理などにより、インターネットなどのネットワークＮＥＴを介して利用者端末３１１やサーバ３１２などの外部装置と通信を行うことができる。
【００３７】
（センサーノード１０１の機能構成例）
図４は、センサーノードの機能構成例を示すブロック図である。センサーノード１０１は、充電部４０１と、実行部４０２と、第１取得部４０３と、第２取得部４０４と、比較部４０５と、制御部４０６と、送信部４０７と、受信部４０８と、を有する。たとえば、充電部４０１は、上述したハーベスタ２０８とバッテリ２０９によって実現されてもよい。第１取得部４０３と、第２取得部４０４と、比較部４０５と、による処理については、たとえば、ＰＭＵ２１０によって実現される。たとえば、送信部４０７による処理については、送信回路２２１によって実現される。たとえば、受信部４０８による処理については、受信回路２２２によって実現される。たとえば、実行部４０２と制御部４０６による処理については、ＭＣＵ２０２やＰＭＵ２１０によって実現される。
【００３８】
まず、制御部４０６は、センシングイベントの発生後に当該センシングイベントに対応するデータ処理の実行データをデータ処理待ちキューＥＱに登録する。そして、制御部４０６は、送信待ちキューＳＱに登録されている送信データを送信部４０７に送信させる。送信部４０７は、送信待ちキューＳＱに登録されている送信データを登録順に送信する。
【００３９】
実行結果の送信にかかる電力量は、データ処理の実行にかかる電力量よりも多い。充電された電力の残量が実行結果の送信にかかる電力量よりも少なく、データ処理の実行にかかる電力量より多い場合に、データ処理の実行が行われてしまうと、実行結果の送信の待機数が増大してしまう。そこで、制御部４０６は、データ処理待ちキューＥＱに実行データが登録されていたとしても、送信待ちキューＳＱが空になってから、データ処理待ちキューＥＱに登録された実行データに関するデータ処理を実行部４０２によって実行させる。これにより、実行結果の送信が優先されるため、より早く実行結果を親機１０２に送信させることができる。
【００４０】
つぎに、送信待ちキューＳＱに登録されている送信データがなく、データ処理待ちキューＥＱに登録された実行データがある場合、第１取得部４０３は、データ処理待ちキューＥＱの先頭に登録された実行データについての第１時間Ｔ１の期待値を取得する。第１時間Ｔ１の期待値は、データ処理の実行の依頼が他のセンサーノード１０１に受託される確率に基づいて、第１動作を実行した場合に前記データ処理の実行が実行部４０２または前記他の通信装置によって開始されるまでの時間の期待値である。第１時間Ｔ１の期待値は、たとえば、上述した式（１）〜式（３）によって導出される。
【００４１】
第２取得部４０４は、データ処理待ちキューＥＱの先頭に登録された実行データについての第２時間Ｔ２を取得する。第２時間Ｔ２は、第２動作を実行した場合にデータ処理の実行を完了可能な電力が充電部４０１によって充電されてデータ処理の実行が実行部４０２によって開始されるまでの時間である。第２時間Ｔ２は、上述した式（４）によって導出される。
【００４２】
比較部４０５は、実行部４０２によるデータ処理の実行開始前に、第１取得部４０３によって取得された第１時間Ｔ１の期待値と第２取得部４０４によって取得された第２時間Ｔ２とを比較する。たとえば、処理モードであるＭｏｄｅを設定することにより、比較結果を格納してもよい。たとえば、比較部４０５は、第１時間Ｔ１の期待値が第２時間Ｔ２よりも小さい場合、Ｍｏｄｅを１に設定し、第２時間Ｔ２が第１時間Ｔ１の期待値よりも小さい場合、Ｍｏｄｅを２に設定する。上述したように、第１時間Ｔ１と第２時間Ｔ２が同一の場合、第１動作と第２動作のいずれを実行させてもよいため、比較部４０５は、第１時間Ｔ１と第２時間Ｔ２が同一の場合、Ｍｏｄｅをいずれに設定してもよいが、ここでは、１に設定することとする。また、比較部４０５は、実行部４０２によるデータ処理の実行開始前に、第１時間Ｔ１と第２時間Ｔ２との比較を行う。閾値Ｐlimitが確定されてから、実行部４０２によるデータ処理の実行が開始される。
【００４３】
実行部４０２は、充電部４０１によって充電された電力により自センサーノード１０１で発生したイベントに対応するデータ処理を実行する。制御部４０６は、実行部４０２によるデータ処理の実行中に充電された電力の残量が閾値Ｐlimit未満となった場合に、比較部４０５による比較結果に基づいて、第１動作と第２動作とのうちのいずれかを実行部４０２によって実行させる。充電された電力の残量とは、バッテリ２０９の蓄電量である。具体的には、制御部４０６は、Ｍｏｄｅが１であれば、実行部４０２によって第１動作を実行させ、Ｍｏｄｅが２であれば、実行部４０２によって第２動作を実行させる。
【００４４】
図５は、他のセンサーノードに依頼しない場合における閾値Ｐlimitを示す説明図である。たとえば、比較部４０５によって第２時間Ｔ２が第１時間Ｔ１の期待値未満と判断された場合、閾値Ｐlimitは、充電された電力の残量が実行結果の送信にかかる電力量に基づく値である。制御部４０６は、データ処理の実行が完了するまで、または当該閾値Ｐlimit未満となるまで、実行部４０２によってデータ処理を実行させる。ここで、当該閾値Ｐlimitを以下式（５）で示す。
【００４５】
Ｐlimit＝ＤSize×ＰSend＋α・・・（５）
【００４６】
αによって閾値Ｐlimitにマージンを持たせてもよい。閾値Ｐlimitについては、たとえば、比較部４０５による比較後に制御部４０６によって算出される。そして、制御部４０６は、充電された電力の残量が、当該合計値に基づく閾値未満となった場合には、実行部４０２によるデータ処理の実行を中断させる。制御部４０６は、実行部４０２をスリープ状態にして充電部４０１によって充電を待つ。そして、あらたなイベントが発生した場合に、制御部４０６は、中断されたデータ処理を完了可能な電力が充電部４０１によって充電されている場合、実行部４０２によって中断されたデータ処理を再開させる。
【００４７】
図６は、他のセンサーノードに依頼する場合における閾値Ｐlimitを示す説明図である。たとえば、比較部４０５によって第２時間Ｔ２が第１時間Ｔ１の期待値以上と判断された場合、閾値Ｐlimitは、依頼信号の送信にかかる電力量と依頼信号が示すデータ処理の実行の受託を示す受託信号の受信にかかる電力量との合計値に基づく値である。制御部４０６は、データ処理の実行が完了するまで、または充電された電力の残量が当該閾値Ｐlimit未満となるまで、実行部４０２によってデータ処理を実行させる。ここで、閾値Ｐlimitを以下式（６）で示す。
【００４８】
Ｐlimit＝ＤSize×（ＰReceive＋ＰSend）＋α・・・（６）
【００４９】
αによって閾値Ｐlimitにマージンを持たせてもよい。閾値Ｐlimitついては、たとえば、比較部４０５による比較後に制御部４０６によって算出される。そして、制御部４０６は、充電された電力の残量が当該合計値に基づく閾値Ｐlimit未満となった場合に、実行部４０２によるデータ処理の実行を中断させる。制御部４０６は、送信部４０７によって依頼信号を送信させ、受信部４０８によってデータ処理の受託を示す受託信号を受信させる。
【００５０】
受信部４０８によってデータ処理の受託を示す受託信号が受信された場合、制御部４０６は、データ処理待ちキューＥＱから実行が中断されたデータ処理についての実行データを削除する。一方、受信部４０８によってデータ処理の受託を示す受託信号が、当該依頼信号を送信後から一定時間経過しても受信されなかった場合、制御部４０６は、実行部４０２をスリープ状態にして充電部４０１によって充電を待つ。そして、あらたなイベントが発生した場合に、制御部４０６は、中断されたデータ処理を完了可能な電力が充電部４０１によって充電されている場合、実行部４０２によって中断されたデータ処理を再開させる。
【００５１】
（センサーノード１０１が行う処理手順）
図７から図１０は、センサーノードが行う処理手順の一例を示すフローチャートである。センサーノード１０１は、イベントが発生したか否かを判定する（ステップＳ７０１）。イベントが発生していない場合（ステップＳ７０１：Ｎｏ）、ステップＳ７０１へ戻る。センシングイベントが発生した場合（ステップＳ７０１：センシング）、センサーノード１０１は、ＰＭＵ２１０のブート処理を行う（ステップＳ７０２）。
【００５２】
センサーノード１０１は、ＰＭＵ２１０によって、発生したイベントに対応するデータ処理の実行データをデータ処理待ちキューＥＱに登録し（ステップＳ７０３）、「ＮMCU＝ＮMCU＋１」とする（ステップＳ７０４）。センサーノード１０１は、ＰＭＵ２１０によって、Ｐcapacitorの値を更新し（ステップＳ７０５）、「ＮRF＞０」であるか否かを判断する（ステップＳ７０６）。「ＮRF＞０」である場合（ステップＳ７０６：Ｙｅｓ）、センサーノード１０１は、ＰＭＵ２１０によって、「Ｐcapacitor＞ＰSend×ＤSize」であるか否かを判断する（ステップＳ７０７）。ここでのＤSizeは、データ処理待ちキューＥＱの先頭データのデータサイズである。
【００５３】
「Ｐcapacitor＞ＰSend×ＤSize」でない場合（ステップＳ７０７：Ｎｏ）、データ処理の実行を行うための電力の残量がないため、一連の処理を終了する。「Ｐcapacitor＞ＰSend×ＤSize」である場合（ステップＳ７０７：Ｙｅｓ）、センサーノード１０１は、ＰＭＵ２１０によって、送信回路２２１のブート処理を行う（ステップＳ７０８）。センサーノード１０１は、送信回路２２１によって、送信待ちキューＳＱの先頭データを送信する（ステップＳ７０９）。そして、センサーノード１０１は、ＰＭＵ２１０によって、Ｐcapacitorの値を更新し（ステップＳ７１０）、ＮRF＝ＮRF−１とし（ステップＳ７１１）、ステップＳ７０７へ戻る。
【００５４】
「ＮRF＞０」でない場合（ステップＳ７０６：Ｎｏ）、センサーノード１０１は、「ＮMCU＞０」であるか否かを判断する（ステップＳ８０１）。「ＮMCU＞０」でない場合（ステップＳ８０１：Ｎｏ）、実行するデータ処理がないため、一連の処理を終了する。
【００５５】
一方、「ＮMCU＞０」である場合（ステップＳ８０１：Ｙｅｓ）、センサーノード１０１は、ＰＭＵ２１０によって、ＭＣＵ２０２のブート処理を実行する（ステップＳ８０２）。センサーノード１０１は、ＭＣＵ２０２によって、「Ｐcapacitor＞ＰMCU×ＤSize」であるか否かを判断する（ステップＳ８０３）。ここでのＤSizeは、データ処理待ちキューＥＱの先頭データのデータサイズである。「Ｐcapacitor＞ＰMCU×ＤSize」でない場合（ステップＳ８０３：Ｎｏ）、一連の処理を終了する。「Ｐcapacitor＞ＰMCU×ＤSize」である場合（ステップＳ８０３：Ｙｅｓ）、センサーノード１０１は、ＭＣＵ２０２によって、「ＮSuspend＝０」であるか否かを判断する（ステップＳ８０４）。
【００５６】
「ＮSuspend＝０」でない場合（ステップＳ８０４：Ｎｏ）、データ処理待ちキューＥＱの先頭データについてのデータ処理が中断されたデータ処理であるため、ステップＳ９０１へ移行する。「ＮSuspend＝０」である場合（ステップＳ８０４：Ｙｅｓ）、センサーノード１０１は、ＭＣＵ２０２によって、Ｐ１とＰ２を取得し（ステップＳ８０５）、式（１）〜（３）に示すように、Ｐ１とＰ２とに基づいてＴ１を算出する（ステップＳ８０６）。センサーノード１０１は、ＭＣＵ２０２によって、式（４）に示すように、Ｔ２を算出する（ステップＳ８０７）。
【００５７】
センサーノード１０１は、ＭＣＵ２０２によって、Ｔ２＜Ｔ１であるか否かを判断する（ステップＳ８０８）。Ｔ２＜Ｔ１である場合（ステップＳ８０８：Ｙｅｓ）、センサーノード１０１は、ＭＣＵ２０２によって、「Ｐlimit＝ＤSize×ＰSend」とし（ステップＳ８０９）、Ｍｏｄｅ＝２に設定する（ステップＳ８１０）。Ｔ２＜Ｔ１でない場合（ステップＳ８０８：Ｎｏ）、センサーノード１０１は、ＭＣＵ２０２によって、「Ｐlimit＝ＤSize×（ＰReceive＋ＰSend）」とし（ステップＳ８１１）、「Ｍｏｄｅ＝１」に設定する（ステップＳ８１２）。これにより、第１動作と第２動作のうち、開始されるまでの時間が短い方の動作が実行される。Ｔ２とＴ１が同一値の場合、第１動作と第２動作のいずれが行われてもよいが、ここでは、第１動作が行われることとしている。ステップＳ８０９、ステップＳ８１１において、閾値Ｐlimitにマージンαをもたせてもよい。
【００５８】
ステップＳ８１０またはステップＳ８１２のつぎに、センサーノード１０１は、データ処理待ちキューＥＱの先頭の実行データが示すデータ処理の実行を開始する（ステップＳ９０１）。センサーノード１０１は、ＭＣＵ２０２によって、実行が完了したか否かを判断する（ステップＳ９０２）。実行が完了していない場合（ステップＳ９０２：Ｎｏ）、センサーノード１０１は、ＭＣＵ２０２によって、「Ｐcapacitor≧Ｐlimit」であるか否かを判断する（ステップＳ９０３）。「Ｐcapacitor≧Ｐlimit」でない場合（ステップＳ９０３：Ｎｏ）、ステップＳ９０２に戻る。ステップＳ９０２およびステップＳ９０３によれば、センサーノード１０１は、データ処理の実行が完了するまで、または充電された電力の残量が閾値Ｐlimit未満となるまで、データ処理を実行することができる。
【００５９】
「Ｐcapacitor≧Ｐlimit」である場合（ステップＳ９０３：Ｙｅｓ）、センサーノード１０１は、ＭＣＵ２０２によって、データ処理の実行を中断し（ステップＳ９０４）、「Ｍｏｄｅ＝１」であるか否かを判断する（ステップＳ９０５）。「Ｍｏｄｅ＝１」である場合（ステップＳ９０５：Ｙｅｓ）、第１動作が実行されるため、センサーノード１０１は、送信回路２２１によって、他のセンサーノード１０１に依頼信号を送信する（ステップＳ９０６）。たとえば、ここでの依頼信号には、実行が中断されたデータ処理のうち、終了しなかったデータ処理に関する実行データと、終了したデータ処理の実行結果と、依頼元であることを示す自センサーノード１０１の識別情報と、が含まれる。
【００６０】
センサーノード１０１は、受信回路２２２によって、送信した依頼信号が示すデータ処理の実行の受託を示す受託信号を一定時間以内に受信したか否かを判断する（ステップＳ９０７）。受託信号が受信された場合（ステップＳ９０７：Ｙｅｓ）、センサーノード１０１は、ＭＣＵ２０２によって、「ＮMCU＝ＮMCU−１」とし（ステップＳ９０８）、一連の処理を終了する。
【００６１】
「Ｍｏｄｅ＝１」でない場合（ステップＳ９０５：Ｎｏ）、または受託信号を一定時間以内に受信しなかった場合（ステップＳ９０７：Ｎｏ）、充電を待って中断されたデータ処理の実行を再開する。そのため、センサーノード１０１は、ＭＣＵ２０２によって、「ＮSuspend＝１」とし（ステップＳ９０９）、一連の処理を終了する。
【００６２】
一方、実行が完了した場合（ステップＳ９０２：Ｙｅｓ）、センサーノード１０１は、ＰＭＵ２１０によって、Ｐcapacitorの値を更新する（ステップＳ１００１）。センサーノード１０１は、ＭＣＵ２０２によって、「ＮMCU＝ＮMCU−１」とし（ステップＳ１００２）、「ＮSuspend＝０」とする（ステップＳ１００３）。センサーノード１０１は、「Ｐcapacitor＞ＰSend×ＤSize」であるか否かを判断する（ステップＳ１００４）。「Ｐcapacitor＞ＰSend×ＤSize」である場合（ステップＳ１００４：Ｙｅｓ）、センサーノード１０１は、ＰＭＵ２１０によって、送信回路２２１のブート処理を実行し（ステップＳ１００５）、送信回路２２１によって、データ処理の実行結果を送信する（ステップＳ１００６）。センサーノード１０１は、ＰＭＵ２１０によって、Ｐcapacitorの値を更新し（ステップＳ１００７）、ステップＳ８０１へ戻る。
【００６３】
「Ｐcapacitor＞ＰSend×ＤSize」でない場合（ステップＳ１００４：Ｎｏ）、センサーノード１０１は、ＭＣＵ２０２によって、実行結果を送信待ちキューＳＱに登録し（ステップＳ１００８）、「ＮRF＝ＮRF−１」とし（ステップＳ１００９）、ステップＳ８０１へ戻る。
【００６４】
図１１は、依頼信号を受信時のセンサーノードが行う処理手順の一例を示すフローチャートである。センサーノード１０１は、受信回路２２２によって、依頼信号を受信したか否かを判断する（ステップＳ１１０１）。依頼信号が受信されていない場合（ステップＳ１１０１：Ｎｏ）、ステップＳ１１０１へ戻る。依頼信号が受信された場合（ステップＳ１１０１：Ｙｅｓ）、センサーノード１０１は、ＭＣＵ２０２によって、「ＮRF＝０」かつ「ＮMCU＝０」であるか否かを判断する（ステップＳ１１０２）。「ＮRF＝０」かつ「ＮMCU＝０」でない場合（ステップＳ１１０２：Ｎｏ）、自センサーノード１０１において行うべき処理があるため、センサーノード１０１は他のセンサーノード１０１からの依頼を受託しないため、一連の処理を終了する。
【００６５】
一方、「ＮRF＝０」かつ「ＮMCU＝０」である場合（ステップＳ１１０２：Ｙｅｓ）、自センサーノード１０１において行うべき処理がない。そのため、センサーノード１０１は、ＰＭＵ２１０によって、Ｐcapacitorの値を更新する（ステップＳ１１０３）。そして、センサーノード１０１は、ＭＣＵ２０２によって、「Ｐcapacitor＞ＰSend×ＤSize＋ＰMCU×ＤSize」であるか否かを判断する（ステップＳ１１０４）。「Ｐcapacitor＞ＰSend×ＤSize＋ＰMCU×ＤSize」でない場合（ステップＳ１１０４：Ｎｏ）、依頼信号が示すデータ処理を実行可能な電力がないため、センサーノード１０１は他のセンサーノード１０１からの依頼を受託せずに、一連の処理を終了する。
【００６６】
「Ｐcapacitor＞ＰSend×ＤSize＋ＰMCU×ＤSize」である場合（ステップＳ１１０４：Ｙｅｓ）、センサーノード１０１は、送信回路２２１によって、受信した依頼信号が示すデータ処理の実行の受託を示す受託信号を送信する（ステップＳ１１０５）。センサーノード１０１は、ＭＣＵ２０２によって、データ処理待ちキューＥＱに実行データを登録し（ステップＳ１１０６）、「ＮMCU＝ＮMCU＋１」とする（ステップＳ１１０７）。センサーノード１０１は、ＭＣＵ２０２によって、依頼信号が示すデータ処理を実行し（ステップＳ１１０８）、実行が完了したか否かを判断する（ステップＳ１１０９）。実行が完了していない場合（ステップＳ１１０９：Ｎｏ）、ステップＳ１１０９へ戻る。
【００６７】
実行が完了した場合（ステップＳ１１０９：Ｙｅｓ）、センサーノード１０１は、ＭＣＵ２０２によって、「ＮMCU＝ＮMCU−１」とする（ステップＳ１１１０）。そして、センサーノード１０１は、ＰＭＵ２１０によって、送信回路２２１のブート処理を実行し（ステップＳ１１１１）、送信回路２２１によって、データ処理の実行結果を送信する（ステップＳ１１１２）。センサーノード１０１は、ＰＭＵ２１０によって、Ｐcapacitorの値を更新し（ステップＳ１１１３）、一連の処理を終了する。
【００６８】
以上説明したように、センサーノードは、自発電した電力によって充電を行う。そのため、電力不足によってデータ処理が中断される場合がある。そこで、センサーノードは、充電を待って自センサーノードで実行を再開するか、充電を待つ前に他センサーノードへ依頼信号を送信してみるかを、自センサーノードまたは他センサーノードによる再開までの時間の期待値によって判断する。これにより、より早くデータ処理の実行を再開させることができるため、より早くデータ処理を完了させることができる。たとえば、センサーネットワークでは、親機を介して利用者端末やサーバなどに情報が伝達される。センサーノードが、地震による揺れや壁のひずみなどの異常を検出した場合に、より早く実行結果を親機に送信できれば、親機を介してより早く利用者端末などに異常を通知することができる。
【００６９】
また、充電を待つ前に他センサーノードへ依頼信号を送信してみる場合、他センサーノードが依頼を受託する場合と受託しない場合がある。そこで、依頼信号を送信してみる場合についての再開までの時間の期待値を、依頼が受託される確率と依頼が受託された場合の再開までの時間と、依頼が受託されない確率と依頼が受託されなかった場合の再開までの時間と、によって導出された値とする。これにより、受託される場合と受託されない場合を含めて再開が早いと推定される動作が行われる。
【００７０】
また、依頼信号を送信してみる方が実行の再開が早いと判断された場合、充電された電力の残量についての閾値を依頼信号の送信にかかる電力量と依頼信号の受託を示す情報の受信にかかる電力量との合計値に基づく値とする。センサーノードは、データ処理の実行が終了するまで、または充電された電力の残量が当該閾値未満となるまで、データ処理を実行する。そして、センサーノードは、当該閾値未満となったら実行を中断し、依頼信号を他センサーノードへ送信する。これにより、依頼信号を送信前に、電力切れになるのを防止することができる。
【００７１】
また、データ処理の実行が終了したら、実行結果が親機に送信されなければならない。そこで、依頼信号を送信しない方が実行の再開が早いと判断された場合、センサーノードは、データ処理の実行が終了するまで、充電された電力の残量が、実行結果の送信にかかる電力量に基づく閾値未満となるまで、データ処理を実行する。そして、センサーノードは、当該閾値未満となったら実行を中断し、充電を待つ。これにより、実行結果の送信前に電力切れになるのを防止する。したがって、センサーノードは、より早く実行結果を親機に送信することができる。
【００７２】
また、電力残量によって実行結果の送信とデータ処理の実行とのいずれもが待機させられている場合、センサーノードは、実行結果の送信を優先する。これにより、センサーノードは、より早く実行結果を親機に送信することができる。
【符号の説明】
【００７３】
１００  センサーネットワークシステム
１０１  センサーノード
１０２  親機
２０１  センサー
２０２  ＭＣＵ
２０３  ＲＡＭ
２０４  ＲＯＭ
２０５  不揮発メモリ
２０６  無線通信回路
２０７  アンテナ
２０８  ハーベスタ
２０９  バッテリ
２１０  ＰＭＵ
４０１  充電部
４０２  実行部
４０３  第１取得部
４０４  第２取得部
４０５  比較部
４０６  制御部
４０７  送信部
Ｐ１，Ｐ２  確率
Ｐlimit  閾値
Ｔ１  第１時間
Ｔ２  第２時間
Ｔ３  第３時間
Ｔ４  第４時間
【図１】
2014033831.tif 000003
【図２】
2014033831.tif 000004
【図３】
2014033831.tif 000005
【図４】
2014033831.tif 000006
【図５】
2014033831.tif 000007
【図６】
2014033831.tif 000008
【図７】
2014033831.tif 000009
【図８】
2014033831.tif 000010
【図９】
2014033831.tif 000011
【図１０】
2014033831.tif 000012
【図１１】
2014033831.tif 000013
【手続補正書】
【提出日】平成27年2月26日(2015.2.26)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数の第１通信装置に含まれる通信装置であり、自通信装置におけるデータ処理の実行結果を、前記複数の第１通信装置の間でマルチホップ通信することにより、前記実行結果に基づく処理を行う第２通信装置へ送信する通信装置であって、
自発電した電力を充電する充電部と、
前記データ処理の実行が前記充電された電力の残量に基づいて中断される場合に、前記複数の第１通信装置のうちの他の通信装置へ前記データ処理の実行を依頼する依頼信号を送信して、前記依頼信号による依頼が前記他の通信装置に受託される場合に前記データ処理を自通信装置によって実行せず、前記依頼信号による依頼が前記他の通信装置に受託されない場合に前記データ処理の実行が完了可能な電力が前記充電部によって充電されてから前記データ処理の実行を自通信装置によって開始する第１動作と、前記他の通信装置へ前記依頼信号を送信せずに、前記データ処理の実行が完了可能な電力が前記充電部によって充電されてから前記データ処理の実行を自通信装置によって開始する第２動作と、のいずれかを実行可能な実行部と、
前記データ処理の実行の依頼が前記他の通信装置に受託される確率に基づいて、前記第１動作を実行した場合に前記データ処理の実行が前記実行部または前記他の通信装置によって開始されるまでの第１時間の期待値を取得する第１取得部と、
前記第２動作を実行した場合に前記データ処理の実行を完了可能な電力が前記充電部によって充電されて前記データ処理の実行が前記実行部によって開始されるまでの第２時間を取得する第２取得部と、
前記第１取得部によって取得された前記第１時間の期待値と前記第２取得部によって取得された前記第２時間とを比較する比較部と、
前記実行部による前記データ処理の実行中に前記充電された電力の残量が閾値未満となった場合に、前記比較部による比較結果に基づいて、前記第１動作と前記第２動作とのうちのいずれかを前記実行部によって実行させる制御部と、
を有することを特徴とする通信装置。
【請求項２】
前記第１取得部は、
前記依頼信号を前記他の通信装置へ送信して前記データ処理の実行が前記他の通信装置によって開始されるまでにかかる第３時間と前記他の通信装置によって依頼を受託される確率との乗算値と、
前記他の通信装置に前記データ処理の実行が受託されない場合に前記データ処理の実行を完了可能な充電を待って前記データ処理の実行が前記実行部によって開始されるまでにかかる第４時間と前記他の通信装置によって依頼を受託されない確率との乗算値と、
の合計による前記第１時間の期待値を取得することを特徴とする請求項１に記載の通信装置。
【請求項３】
前記制御部は、
前記実行部による前記データ処理の実行中に前記充電された電力の残量が閾値未満となった場合において、前記比較部によって前記第１時間の期待値が前記第２時間より小さいと判断された場合、前記実行部によって前記第１動作を実行させ、前記比較部によって前記第２時間が前記第１時間の期待値より小さいと判断された場合、前記実行部によって前記第２動作を実行させることを特徴とする請求項１または２に記載の通信装置。
【請求項４】
前記制御部は、
前記比較部によって前記第１時間の期待値が前記第２時間より小さいと判断された場合において、
前記データ処理の実行が完了するまで、または前記充電された電力の残量が、前記依頼信号の送信にかかる電力量と前記依頼信号の受託を示す信号の受信にかかる電力量との合計値に基づく閾値未満となるまで、前記実行部によって前記データ処理を実行させ、
前記充電された電力の残量が前記閾値未満となったら、前記実行部による前記データ処理の実行を中断させ、前記実行部によって前記第１動作を実行させることを特徴とする請求項３に記載の通信装置。
【請求項５】
前記制御部は、
前記比較部によって前記第２時間が前記第１時間の期待値より小さいと判断された場合において、
前記データ処理の実行が完了するまで、または前記充電された電力の残量が前記実行結果の送信にかかる電力量に基づく閾値未満となるまで、前記実行部によって前記データ処理を実行させ、
前記充電された電力の残量が前記閾値未満となったら、前記実行部による前記データ処理の実行を中断させ、前記実行部によって前記第２動作を実行させることを特徴とする請求項３に記載の通信装置。
【請求項６】
前記データ処理の実行結果を送信する送信部を有し、
前記制御部は、
前記充電された電力の残量に基づいて前記送信部による前記実行結果の送信が待機させられている場合、前記送信部による前記実行結果の送信後に、前記データ処理を前記実行部によって実行させることを特徴とする請求項１〜５のいずれか一つに記載の通信装置。
【請求項７】
複数の第１通信装置と、
前記複数の第１通信装置の間でマルチホップ通信することによって送信された前記複数の第１通信装置の少なくともいずれかについてのデータ処理の実行結果に基づく処理を行う第２通信装置と、
を有し、
前記複数の第１通信装置の少なくともいずれかの通信装置が、
自発電した電力によって充電する充電部によって充電された電力の残量に基づいて自通信装置におけるデータ処理の実行が中断される場合に、前記複数の第１通信装置のうちの他の通信装置へ前記データ処理の実行を依頼する依頼信号を送信して、前記依頼信号による依頼が前記他の通信装置に受託される場合に前記データ処理を自通信装置によって実行せず、前記依頼信号による依頼が前記他の通信装置に受託されない場合に前記データ処理の実行が完了可能な電力が前記充電部によって充電されてから前記データ処理の実行を自通信装置によって開始する第１動作と、前記他の通信装置へ前記依頼信号を送信せずに、前記データ処理の実行が完了可能な電力が前記充電部によって充電されてから前記データ処理の実行を自通信装置によって開始する第２動作と、のいずれかを実行可能であって、
前記データ処理の実行の依頼が前記他の通信装置に受託される確率に基づいて、前記第１動作を実行した場合に前記データ処理の実行が前記自通信装置または前記他の通信装置によって開始されるまでの第１時間の期待値を取得し、
前記第２動作を実行した場合に前記データ処理の実行を完了可能な電力が前記充電部によって充電されて前記データ処理の実行が前記自通信装置によって開始されるまでの第２時間を取得し、
取得した前記第１時間の期待値と取得した前記第２時間とを比較し、
前記データ処理の実行中に前記充電された電力の残量が閾値未満となった場合に、比較結果に基づいて、前記第１動作と前記第２動作とのうちのいずれかを実行させ、
前記他の通信装置は、
前記いずれかの通信装置から前記依頼信号を受信し、
自発電した電力によって充電する充電部によって充電された電力により受信した前記依頼信号が示すデータ処理を実行可能か否か判断し、
受信した前記依頼信号が示すデータ処理を実行可能であると判断した場合、前記依頼信号が示すデータ処理を実行可能である受託信号を前記いずれかの通信装置へ送信し、
受信した前記依頼信号が示すデータ処理を実行可能であると判断した場合、前記依頼信号が示すデータ処理を実行することを特徴とすることを特徴とするシステム。
【請求項８】
複数の第１通信装置に含まれる通信装置であって、自通信装置におけるデータ処理の実行結果を、前記複数の第１通信装置の間でマルチホップ通信することにより、前記実行結果に基づく処理を行う第２通信装置へ送信する通信装置が、
自発電した電力を充電する充電部によって充電された電力の残量に基づいて前記データ処理の実行が中断される場合に、前記複数の第１通信装置のうちの他の通信装置へ前記データ処理の実行を依頼する依頼信号を送信して、前記依頼信号による依頼が前記他の通信装置に受託される場合に前記データ処理を自通信装置によって実行せず、前記依頼信号による依頼が前記他の通信装置に受託されない場合に前記データ処理の実行が完了可能な電力が前記充電部によって充電されてから前記データ処理の実行を自通信装置によって開始する第１動作と、前記他の通信装置へ前記依頼信号を送信せずに、前記データ処理の実行が完了可能な電力が前記充電部によって充電されてから前記データ処理の実行を自通信装置によって開始する第２動作と、のいずれかを実行可能であって、
前記データ処理の実行の依頼が前記他の通信装置に受託される確率に基づいて、前記第１動作を実行した場合に前記データ処理の実行が前記自通信装置または前記他の通信装置によって開始されるまでの第１時間の期待値を取得し、
前記第２動作を実行した場合に前記データ処理の実行を完了可能な電力が前記充電部によって充電されて前記データ処理の実行が前記自通信装置によって開始されるまでの第２時間を取得し、
取得した前記第１時間の期待値と取得した前記第２時間とを比較し、
前記データ処理の実行中に前記充電された電力の残量が閾値未満となった場合に、比較に基づいて、前記第１動作と前記第２動作とのうちのいずれかを実行させる、
処理を実行することを特徴とする通信方法。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信装置、システム、および通信方法に関する。
【背景技術】
【０００２】
従来、通信装置において、通信時のみ無線通信部に電力を供給し、待機時には低消費電力の通信起動信号受信部にのみ電力を供給することにより、消費電力を削減する技術が知られている（たとえば、下記特許文献１参照。）。また、マイクロプロセッサについて、アクティブ状態から、電源遮断状態またはスタンバイモードに遷移させることにより、消費電力を削減する技術が知られている（たとえば、下記特許文献２参照。）。
【０００３】
また、複数のセンサー付無線端末を所定空間に散在させ、それらが協調して環境や物理的状況を採取することを可能とするセンサーネットワーク（ＷＳＮ：Ｗｉｒｅｌｅｓｓ  Ｓｅｎｓｏｒ  Ｎｅｔｗｏｒｋｓ）が知られている。たとえば、無線端末に電池とキャパシタとを設けることにより、電池寿命を改善する技術が知られている（たとえば、下記特許文献３参照。）。
【０００４】
また、たとえば、各無線端末では自端末が有する環境発電装置によって発電された電力を蓄電し、各無線端末からの情報を集約する装置が、各端末の発電量や蓄電量を検出し、各端末の動作状態を管理する技術が知られている（たとえば、下記特許文献４参照。）。
【０００５】
また、たとえば、センサーネットワーク内を移動可能な端末が、電力を蓄積可能なエネルギー蓄積部を有し、移動しながら他の無線端末に電力を供給する技術が知られている（たとえば、下記特許文献５参照。）。
【０００６】
また、各無線端末からの情報を集約する装置が、ソーラーパネルを搭載する技術が知られている（たとえば、下記特許文献６参照。）。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００３−１７４３８２号公報
【特許文献２】特開２０１０−１１４４８４号公報
【特許文献３】特開２００８−１４８１２４号公報
【特許文献４】特開２０１１−１３７６５号公報
【特許文献５】特開２００７−９７３５８号公報
【特許文献６】特開２０１１−１５５５５６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、自端末が発電した電力によって充電を行い、充電した電力によってデータ処理を実行する端末においては、電力切れになるとデータ処理の実行が中断される場合がある。この場合は、データ処理を実行するための電力が充電されるのを待ってからデータ処理の実行が再開されるため、データ処理の完了が遅くなる。
【０００９】
１つの側面では、本発明は、より早くデータ処理を完了させることができる通信装置、システム、および通信方法を提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明の一側面によれば、複数の第１通信装置に含まれる通信装置であり、自通信装置におけるデータ処理の実行結果を、前記複数の第１通信装置の間でマルチホップ通信することにより、前記実行結果に基づく処理を行う第２通信装置へ送信する通信装置であって、自発電した電力を充電する充電部と、前記データ処理の実行が前記充電された電力の残量に基づいて中断される場合に、前記複数の第１通信装置のうちの他の通信装置へ前記データ処理の実行を依頼する依頼信号を送信して、前記依頼信号による依頼が前記他の通信装置に受託される場合に前記データ処理を自通信装置によって実行せず、前記依頼信号による依頼が前記他の通信装置に受託されない場合に前記データ処理の実行が完了可能な電力が前記充電部によって充電されてから前記データ処理の実行を自通信装置によって開始する第１動作と、前記他の通信装置へ前記依頼信号を送信せずに、前記データ処理の実行が完了可能な電力が前記充電部によって充電されてから前記データ処理の実行を自通信装置によって開始する第２動作と、のいずれかを実行可能な実行部と、前記データ処理の実行の依頼が前記他の通信装置に受託される確率に基づいて、前記第１動作を実行した場合に前記データ処理の実行が前記実行部または前記他の通信装置によって開始されるまでの第１時間の期待値を取得する第１取得部と、前記第２動作を実行した場合に前記データ処理の実行を完了可能な電力が前記充電部によって充電されて前記データ処理の実行が前記実行部によって開始されるまでの第２時間を取得する第２取得部と、前記第１取得部によって取得された前記第１時間の期待値と前記第２取得部によって取得された前記第２時間とを比較する比較部と、前記実行部による前記データ処理の実行中に前記充電された電力の残量が閾値未満となった場合に、前記比較部による比較結果に基づいて、前記第１動作と前記第２動作とのうちのいずれかを前記実行部によって実行させる制御部と、を有する通信装置、システム、および通信方法が提案される。
【発明の効果】
【００１１】
本発明の一態様によれば、より早くデータ処理を完了させることができる。
【図面の簡単な説明】
【００１２】
【図１】図１は、本発明にかかるセンサーノードによる一動作例を示す説明図である。
【図２】図２は、センサーノードのハードウェア構成例を示すブロック図である。
【図３】図３は、親機のハードウェア構成例を示すブロック図である。
【図４】図４は、センサーノードの機能構成例を示すブロック図である。
【図５】図５は、他のセンサーノードに依頼しない場合における閾値Ｐlimitを示す説明図である。
【図６】図６は、他のセンサーノードに依頼する場合における閾値Ｐlimitを示す説明図である。
【図７】図７は、センサーノードが行う処理手順の一例を示すフローチャート（その１）である。
【図８】図８は、センサーノードが行う処理手順の一例を示すフローチャート（その２）である。
【図９】図９は、センサーノードが行う処理手順の一例を示すフローチャート（その３）である。
【図１０】図１０は、センサーノードが行う処理手順の一例を示すフローチャート（その４）である。
【図１１】図１１は、依頼信号を受信時のセンサーノードが行う処理手順の一例を示すフローチャートである。
【発明を実施するための形態】
【００１３】
以下に添付図面を参照して、本発明にかかる通信装置、システム、および通信方法の実施の形態を詳細に説明する。本実施の形態で説明するセンサーネットワークシステムでは、多数のセンサーを所定領域に設置して、各センサーがそれぞれ検出した検出情報を無線送信し、所定領域内のセンサーと無線通信可能な親機により検出情報を収集する。所定領域は、たとえば、コンクリート、土、空気などの物質で満たされた領域である。ここで、センサーとセンサーが検知したデータを処理可能なプロセッサを搭載した無線通信装置をセンサーノードと称する。各センサーノードでの検出情報や当該検出情報に対応するデータ処理の結果は、直接または他のセンサーノードを経由してリレー転送によって親機に到達することとする。
【００１４】
図１は、本発明にかかるセンサーノードによる一動作例を示す説明図である。センサーネットワークシステム１００は、所定領域Ａ内に配置された複数の第１通信装置であるセンサーノード１０１と、第２通信装置である親機１０２と、を有する。図１に示すように、親機１０２も複数設けられていてもよい。各センサーノード１０１は、発電可能なハーベスタと、ハーベスタによる電力を蓄えるバッテリを有する。各センサーノード１０１は、バッテリの代わりに、ハーベスタによる電力を蓄えることができるキャパシタを有していてもよい。バッテリに蓄電可能な電力やハーベスタによって発電可能な電力が小さいと、センサーノード１０１は、データ処理の実行を中断しなければならない。
【００１５】
そこで、センサーノード１０１−ｉは、データ処理の実行が中断された場合に、データ処理の実行を他のセンサーノード１０１に依頼するか、充電を待って自センサーノード１０１−ｉでデータ処理の実行を再開する。他のセンサーノード１０１が依頼を受託する場合、他のセンサーノード１０１が中断されたデータ処理の実行を再開させる方が、充電を待って自センサーノード１０１−ｉによりデータ処理の実行を再開させるよりも早い。一方、他のセンサーノード１０１が該依頼を受託できない場合、自センサーノード１０１−ｉで充電を待ってデータ処理を再開することになるため、依頼をせずに充電を待って自センサーノード１０１−ｉによりデータ処理の実行を再開させる方が早い。そこで、センサーノード１０１−ｉは、他のセンサーノード１０１にデータ処理の実行を依頼してみる第１動作と、依頼せずに充電を待ってデータ処理の実行を開始する第２動作と、のいずれかを実行可能とする。
【００１６】
より具体的には、第１動作は、他のセンサーノード１０１へデータ処理の実行を依頼する依頼信号を送信して、他のセンサーノード１０１に依頼が受託されない場合にデータ処理の実行が完了可能な電力が充電されてからデータ処理の実行を開始する。より具体的には、第２動作は、他のセンサーノード１０１へ依頼信号を送信せずに、データ処理の実行が完了可能な電力が充電されてからデータ処理の実行を開始する。
【００１７】
ここでは、センサーノード１０１−ｉは、第１動作と第２動作のうち、開始されるまでの時間が短い方の動作を実行する。たとえば、センサーノード１０１−ｉは、データ処理の実行の依頼が他のセンサーノード１０１に受託される確率に基づいて、第１動作を実行した場合にデータ処理の実行が開始されるまでの第１時間Ｔ１の期待値を取得する。当該第１動作が実行された場合にデータ処理の実行を行うのは、自センサーノード１０１−ｉまたは他のセンサーノード１０１のいずれかであるため、他のセンサーノード１０１に受託される確率に基づいて第１時間Ｔ１の期待値が導出される。たとえば、第１時間Ｔ１の期待値は、以下式（１）〜（３）によって決定されてもよい。ここでは、センサーノード１０１−ｉは、式（１）〜（３）を計算することによって第１時間Ｔ１の期待値を取得することとする。
【００１８】
Ｔ３＝０・・・（１）
Ｔ４＝ｍｉｎ（Ｔint×ｍ）＞ＤSize×（ＰMCU＋ＰSend）／Ｐharvestor・・・（２）
Ｔ１＝Ｐ１×Ｔ３＋Ｐ２×Ｔ４・・・（３）
【００１９】
第３時間Ｔ３は、データ処理の実行が中断された場合の複数のセンサーノード１０１のうち自センサーノード１０１−ｉ以外の他のセンサーノード１０１に依頼してデータ処理の実行が他のセンサーノード１０１によって開始されるまでにかかる時間である。式（１）では、第３時間Ｔ３を０にしているが、たとえば、実行依頼と受託信号の受信までにかかる平均的な時間としてもよい。
【００２０】
第４時間Ｔ４は、他のセンサーノード１０１に依頼しても受託されない場合に充電を待機してデータ処理の実行および実行結果の送信が自センサーノード１０１によって開始されるまでにかかる時間である。式（２）について説明する。Ｔintは、イベントの発生期間であり、ｍは１以上の整数である。ＤSizeは、データ処理のデータサイズである。ＰMCU［ｍＷ／Ｂｙｔｅ］は、データ処理の実行にかかる単位データあたりの消費電力量とする。Ｐharvestor［ｍＷ］は、ハーベスタから得られる単位時間あたりの電力量である。ＰSendは、ＲＦでデータを送信するのに使用する単位データあたりの消費電力量である。より具体的には、第４時間Ｔ４は、「ＤSize×（ＰMCU＋ＰSend）／Ｐharvestor」より大きい「Ｔint×ｍ」の中で、最も小さい値である。
【００２１】
式（３）で示すように、第１時間Ｔ１の期待値は、確率Ｐ１と取得した第３時間Ｔ３との乗算値と、確率Ｐ２と取得した第４時間Ｔ４との乗算値と、の合計値である。確率Ｐ１は、他のセンサーノード１０１が依頼を受託できる確率であり、確率Ｐ２は、他のセンサーノード１０１が依頼を受託できない確率である。確率Ｐ１と確率Ｐ２については、たとえば、過去に依頼した結果に基づいて定まる。たとえば、センサーノード１０１は、他のセンサーノード１０１に依頼した１０回のうち、何回受託されたかに基づいて確率Ｐ１と確率Ｐ２とを導出してもよい。
【００２２】
つぎに、センサーノード１０１は、第２動作を実行した場合にデータ処理の実行を完了可能な電力が充電されてデータ処理の実行が自センサーノード１０１によって開始されるまでの第２時間Ｔ２を取得する。たとえば、第２時間Ｔ２を以下式（４）に示す。
【００２３】
Ｔ２＝Ｔint×ｎ＞ＤSize×ＰMCU／Ｐharvestor・・・（４）
【００２４】
ｎは１以上の整数である。より具体的には、「ＤSize×ＰMCU／Ｐharvestor」より大きい「Ｔint×ｎ」の中で、最も小さい値である。
【００２５】
つぎに、センサーノード１０１は、第１時間Ｔ１の期待値と第２時間Ｔ２とを比較する。センサーノード１０１は、データ処理の実行中に充電された電力の残量が閾値未満となった場合、比較結果に基づいて、第１動作または第２動作のいずれかを実行する。たとえば、第１時間Ｔ１の期待値が第２時間Ｔ２より小さい場合、センサーノード１０１は、第１動作を実行する。たとえば、第２時間Ｔ２が第１時間Ｔ１の期待値より小さい場合、センサーノード１０１は、第２動作を実行する。ここでは、第１時間Ｔ１と第２時間Ｔ２とが同一値の場合、第１動作と第２動作のいずれを行ってもよいが、図１の例では、センサーノード１０１は、第１動作を行っている。閾値については、固定値であってもよいし、比較結果に基づく電力量であってもよい。閾値が比較結果に基づく電力量である場合についての例は後述する。
【００２６】
図１によれば、データ処理の実行が再開するまでの時間が短い方の動作が実行されることにより、データ処理の実行が完了するまでの時間を短縮することができる。したがって、より早く実行結果を親機１０２に送信することができる。たとえば、センサーネットワークシステム１００では、親機１０２を介して、利用者端末やサーバなどに情報が伝達される。たとえば、センサーノード１０１が地震による揺れや壁のひずみなどの異常を検出した場合に、より早く実行結果を親機１０２に送信できれば、親機１０２を介してより早く利用者端末などに異常を通知することができる。
【００２７】
（センサーノード１０１のハードウェア構成例）
図２は、センサーノードのハードウェア構成例を示すブロック図である。センサーノード１０１は、センサー２０１と、ＰＭＵ（Ｐｏｗｅｒ  Ｍａｎａｇｅｍｅｎｔ  Ｕｎｉｔ）２１０と、無線通信回路２０６と、アンテナ２０７と、マイクロプロセッサ（以下、「ＭＣＵ（Ｍｉｃｒｏ  Ｃｏｎｔｒｏｌ  Ｕｎｉｔ）」と称する。）２０２と、を有する。センサーノード１０１は、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２０３と、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）２０４と、不揮発メモリ２０５と、を有する。センサーノード１０１は、センサー２０１と、無線通信回路２０６と、ＭＣＵ２０２と、ＲＡＭ２０３と、ＲＯＭ２０４と、不揮発メモリ２０５と、を接続する内部バス２１１を有する。さらに、センサーノード１０１は、ハーベスタ２０８と、バッテリ２０９と、を有する。
【００２８】
センサー２０１は、設置箇所における所定の変位量を検出する。センサー２０１は、たとえば、設置箇所の圧力を検出する圧電素子や、温度を検出する素子、光を検出する光電素子などを用いることができる。図２に示すように、センサー２０１は、各々機能が異なるセンサー２０１が複数設けられていてもよい。図２の例では、センサー２０１−１〜センサー２０１−ｐのｐ個のセンサー２０１が設けられている。
【００２９】
アンテナ２０７は、親機１０２と無線通信する電波を送受信する。無線通信回路２０６（ＲＦ）は、受信回路２２２と、送信回路２２１と、を有する。受信回路２２２は、受信した無線電波を受信信号として出力する。受信回路２２２による受信処理にかかる単位データあたりの消費電力量をＰReceiveとする。送信回路２２１は、送信信号を無線電波としてアンテナ２０７を介して送信する。上述したように、送信回路２２１による送信処理にかかる単位データあたりの消費電力量をＰSendとする。
【００３０】
ＭＣＵ２０２は、センサー２０１が検出したデータを処理する。上述したように、ＰMCUは、ＭＣＵ２０２によるデータ処理にかかる単位データあたりの消費電力量である。ＲＡＭ２０３は、ＭＣＵ２０２における処理の一時データを記憶する。ＲＯＭ２０４は、ＭＣＵ２０２が実行する処理プログラムなどを記憶する。
【００３１】
不揮発メモリ２０５は、電力供給が途絶えたとき等においても各データを記憶する。たとえば、不揮発メモリ２０５は、上述した確率Ｐ１と確率Ｐ２とを記憶する。たとえば、不揮発メモリ２０５は、データ処理待ちキューＥＱや送信待ちキューＳＱを記憶する。ＭＣＵ２０２は、データ処理待ちキューＥＱに登録された実行データを登録順に当該実行データが示すデータ処理を実行する。ただし、中断されたデータ処理についての実行データは、データ処理待ちキューＥＱの先頭に登録されることとする。これにより、ＭＣＵ２０２が、電力の充電を待ってから中断されたデータ処理のつづきを再開することができる。したがって、ＭＣＵ２０２は、イベントの発生順にデータ処理を実行することができる。送信回路２２１は、送信待ちキューＳＱに登録された送信データを登録順に送信する。
【００３２】
たとえば、不揮発メモリ２０５は、データ処理待ちキューＥＱによって実行が待機されている実行データの数であるＮMCUを記憶する。たとえば、不揮発メモリ２０５は、中断されたデータ処理があるか否かを示すＮSuspend、送信待ちキューＳＱによって送信が待機されている送信データの数であるＮRFを記憶する。
【００３３】
ハーベスタ２０８は、センサーノード１０１の設置箇所における外部環境、たとえば、光、振動、温度、無線電波（受信電波）などのエネルギー変化に基づき発電を行う。ハーベスタ２０８は、センサー２０１によって検出された変位量に応じて発電を行ってもよい。バッテリ２０９は、ハーベスタ２０８により発電された電力を蓄える。すなわち、センサーノード１０１は、二次電池や外部電源などが不要であり、動作に必要な電力を自装置の内部で生成する。ここで、バッテリ２０９の蓄電量をＰcapacitor［ｍＷ］とする。ハーベスタ２０８は複数設けられていてもよく、図２の例では、ハーベスタ２０８−１〜ハーベスタ２０８−ｑのｑ個のハーベスタ２０８が設けられている。
【００３４】
ＰＭＵ２１０は、バッテリ２０９が蓄えた電力を、センサーノード１０１の各部の駆動電源として供給する制御を行う。たとえば、ＰＭＵ２１０は、センサー２０１がセンシング処理を行うと、ＭＣＵ２０２を動作させるために、ＭＣＵ２０２へ電源を供給する。または、ＭＣＵ２０２がいずれの処理も行っていない場合には、ＰＭＵ２１０は、ＭＣＵ２０２への電源供給をやめる。ここで、ＰＭＵ２１０が制御を行うために使用する電力量をＰPMUとする。
【００３５】
（親機１０２のハードウェア構成例）
図３は、親機のハードウェア構成例を示すブロック図である。親機１０２は、センサーノード１０１と異なり、外部電源に基づき動作する。親機１０２は、センサーノード１０１のＭＣＵ２０２よりも高性能なプロセッサ（ＣＰＵ３０１（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ））と、大容量のＲＯＭ３０２およびＲＡＭ３０３と、を有する。親機１０２は、インターフェース（Ｉ／Ｏ（Ｉｎｐｕｔ／Ｏｕｔｐｕｔ））回路３０４と、ＣＰＵ３０１とＲＯＭ３０２とＲＡＭ３０３とＩ／Ｏ回路３０４と不揮発メモリ３０５とを接続するバス３０６と、を有する。
【００３６】
また、Ｉ／Ｏ回路３０４には、アンテナ３０７および無線通信回路（ＲＦ（Ｒａｄｉｏ  Ｆｒｅｑｕｅｎｃｙ））３０８と、ネットワークＩ／Ｆ３０９が接続されている。これにより、親機１０２は、アンテナ３０７および無線通信回路３０８を介して、センサーノード１０１と無線通信することができる。さらに、親機１０２は、ネットワークＩ／Ｆ３０９を介して、ＴＣＰ／ＩＰのプロトコル処理などにより、インターネットなどのネットワークＮＥＴを介して利用者端末３１１やサーバ３１２などの外部装置と通信を行うことができる。
【００３７】
（センサーノード１０１の機能構成例）
図４は、センサーノードの機能構成例を示すブロック図である。センサーノード１０１は、充電部４０１と、実行部４０２と、第１取得部４０３と、第２取得部４０４と、比較部４０５と、制御部４０６と、送信部４０７と、受信部４０８と、を有する。たとえば、充電部４０１は、上述したハーベスタ２０８とバッテリ２０９によって実現されてもよい。第１取得部４０３と、第２取得部４０４と、比較部４０５と、による処理については、たとえば、ＰＭＵ２１０によって実現される。たとえば、送信部４０７による処理については、送信回路２２１によって実現される。たとえば、受信部４０８による処理については、受信回路２２２によって実現される。たとえば、実行部４０２と制御部４０６による処理については、ＭＣＵ２０２やＰＭＵ２１０によって実現される。
【００３８】
まず、制御部４０６は、センシングイベントの発生後に当該センシングイベントに対応するデータ処理の実行データをデータ処理待ちキューＥＱに登録する。そして、制御部４０６は、送信待ちキューＳＱに登録されている送信データを送信部４０７に送信させる。送信部４０７は、送信待ちキューＳＱに登録されている送信データを登録順に送信する。
【００３９】
実行結果の送信にかかる電力量は、データ処理の実行にかかる電力量よりも多い。充電された電力の残量が実行結果の送信にかかる電力量よりも少なく、データ処理の実行にかかる電力量より多い場合に、データ処理の実行が行われてしまうと、実行結果の送信の待機数が増大してしまう。そこで、制御部４０６は、データ処理待ちキューＥＱに実行データが登録されていたとしても、送信待ちキューＳＱが空になってから、データ処理待ちキューＥＱに登録された実行データに関するデータ処理を実行部４０２によって実行させる。これにより、実行結果の送信が優先されるため、より早く実行結果を親機１０２に送信させることができる。
【００４０】
つぎに、送信待ちキューＳＱに登録されている送信データがなく、データ処理待ちキューＥＱに登録された実行データがある場合、第１取得部４０３は、データ処理待ちキューＥＱの先頭に登録された実行データについての第１時間Ｔ１の期待値を取得する。第１時間Ｔ１の期待値は、データ処理の実行の依頼が他のセンサーノード１０１に受託される確率に基づいて、第１動作を実行した場合に前記データ処理の実行が実行部４０２または前記他の通信装置によって開始されるまでの時間の期待値である。第１時間Ｔ１の期待値は、たとえば、上述した式（１）〜式（３）によって導出される。
【００４１】
第２取得部４０４は、データ処理待ちキューＥＱの先頭に登録された実行データについての第２時間Ｔ２を取得する。第２時間Ｔ２は、第２動作を実行した場合にデータ処理の実行を完了可能な電力が充電部４０１によって充電されてデータ処理の実行が実行部４０２によって開始されるまでの時間である。第２時間Ｔ２は、上述した式（４）によって導出される。
【００４２】
比較部４０５は、実行部４０２によるデータ処理の実行開始前に、第１取得部４０３によって取得された第１時間Ｔ１の期待値と第２取得部４０４によって取得された第２時間Ｔ２とを比較する。たとえば、処理モードであるＭｏｄｅを設定することにより、比較結果を格納してもよい。たとえば、比較部４０５は、第１時間Ｔ１の期待値が第２時間Ｔ２よりも小さい場合、Ｍｏｄｅを１に設定し、第２時間Ｔ２が第１時間Ｔ１の期待値よりも小さい場合、Ｍｏｄｅを２に設定する。上述したように、第１時間Ｔ１と第２時間Ｔ２が同一の場合、第１動作と第２動作のいずれを実行させてもよいため、比較部４０５は、第１時間Ｔ１と第２時間Ｔ２が同一の場合、Ｍｏｄｅをいずれに設定してもよいが、ここでは、１に設定することとする。また、比較部４０５は、実行部４０２によるデータ処理の実行開始前に、第１時間Ｔ１と第２時間Ｔ２との比較を行う。閾値Ｐlimitが確定されてから、実行部４０２によるデータ処理の実行が開始される。
【００４３】
実行部４０２は、充電部４０１によって充電された電力により自センサーノード１０１で発生したイベントに対応するデータ処理を実行する。制御部４０６は、実行部４０２によるデータ処理の実行中に充電された電力の残量が閾値Ｐlimit未満となった場合に、比較部４０５による比較結果に基づいて、第１動作と第２動作とのうちのいずれかを実行部４０２によって実行させる。充電された電力の残量とは、バッテリ２０９の蓄電量である。具体的には、制御部４０６は、Ｍｏｄｅが１であれば、実行部４０２によって第１動作を実行させ、Ｍｏｄｅが２であれば、実行部４０２によって第２動作を実行させる。
【００４４】
図５は、他のセンサーノードに依頼しない場合における閾値Ｐlimitを示す説明図である。たとえば、比較部４０５によって第２時間Ｔ２が第１時間Ｔ１の期待値未満と判断された場合、閾値Ｐlimitは、充電された電力の残量が実行結果の送信にかかる電力量に基づく値である。制御部４０６は、データ処理の実行が完了するまで、または当該閾値Ｐlimit未満となるまで、実行部４０２によってデータ処理を実行させる。ここで、当該閾値Ｐlimitを以下式（５）で示す。
【００４５】
Ｐlimit＝ＤSize×ＰSend＋α・・・（５）
【００４６】
αによって閾値Ｐlimitにマージンを持たせてもよい。閾値Ｐlimitについては、たとえば、比較部４０５による比較後に制御部４０６によって算出される。そして、制御部４０６は、充電された電力の残量が、当該合計値に基づく閾値未満となった場合には、実行部４０２によるデータ処理の実行を中断させる。制御部４０６は、実行部４０２をスリープ状態にして充電部４０１によって充電を待つ。そして、あらたなイベントが発生した場合に、制御部４０６は、中断されたデータ処理を完了可能な電力が充電部４０１によって充電されている場合、実行部４０２によって中断されたデータ処理を再開させる。
【００４７】
図６は、他のセンサーノードに依頼する場合における閾値Ｐlimitを示す説明図である。たとえば、比較部４０５によって第２時間Ｔ２が第１時間Ｔ１の期待値以上と判断された場合、閾値Ｐlimitは、依頼信号の送信にかかる電力量と依頼信号が示すデータ処理の実行の受託を示す受託信号の受信にかかる電力量との合計値に基づく値である。制御部４０６は、データ処理の実行が完了するまで、または充電された電力の残量が当該閾値Ｐlimit未満となるまで、実行部４０２によってデータ処理を実行させる。ここで、閾値Ｐlimitを以下式（６）で示す。
【００４８】
Ｐlimit＝ＤSize×（ＰReceive＋ＰSend）＋α・・・（６）
【００４９】
αによって閾値Ｐlimitにマージンを持たせてもよい。閾値Ｐlimitついては、たとえば、比較部４０５による比較後に制御部４０６によって算出される。そして、制御部４０６は、充電された電力の残量が当該合計値に基づく閾値Ｐlimit未満となった場合に、実行部４０２によるデータ処理の実行を中断させる。制御部４０６は、送信部４０７によって依頼信号を送信させ、受信部４０８によってデータ処理の受託を示す受託信号を受信させる。
【００５０】
受信部４０８によってデータ処理の受託を示す受託信号が受信された場合、制御部４０６は、データ処理待ちキューＥＱから実行が中断されたデータ処理についての実行データを削除する。一方、受信部４０８によってデータ処理の受託を示す受託信号が、当該依頼信号を送信後から一定時間経過しても受信されなかった場合、制御部４０６は、実行部４０２をスリープ状態にして充電部４０１によって充電を待つ。そして、あらたなイベントが発生した場合に、制御部４０６は、中断されたデータ処理を完了可能な電力が充電部４０１によって充電されている場合、実行部４０２によって中断されたデータ処理を再開させる。
【００５１】
（センサーノード１０１が行う処理手順）
図７から図１０は、センサーノードが行う処理手順の一例を示すフローチャートである。センサーノード１０１は、イベントが発生したか否かを判定する（ステップＳ７０１）。イベントが発生していない場合（ステップＳ７０１：Ｎｏ）、ステップＳ７０１へ戻る。センシングイベントが発生した場合（ステップＳ７０１：センシング）、センサーノード１０１は、ＰＭＵ２１０のブート処理を行う（ステップＳ７０２）。
【００５２】
センサーノード１０１は、ＰＭＵ２１０によって、発生したイベントに対応するデータ処理の実行データをデータ処理待ちキューＥＱに登録し（ステップＳ７０３）、「ＮMCU＝ＮMCU＋１」とする（ステップＳ７０４）。センサーノード１０１は、ＰＭＵ２１０によって、Ｐcapacitorの値を更新し（ステップＳ７０５）、「ＮRF＞０」であるか否かを判断する（ステップＳ７０６）。「ＮRF＞０」である場合（ステップＳ７０６：Ｙｅｓ）、センサーノード１０１は、ＰＭＵ２１０によって、「Ｐcapacitor＞ＰSend×ＤSize」であるか否かを判断する（ステップＳ７０７）。ここでのＤSizeは、データ処理待ちキューＥＱの先頭データのデータサイズである。
【００５３】
「Ｐcapacitor＞ＰSend×ＤSize」でない場合（ステップＳ７０７：Ｎｏ）、データ処理の実行を行うための電力の残量がないため、一連の処理を終了する。「Ｐcapacitor＞ＰSend×ＤSize」である場合（ステップＳ７０７：Ｙｅｓ）、センサーノード１０１は、ＰＭＵ２１０によって、送信回路２２１のブート処理を行う（ステップＳ７０８）。センサーノード１０１は、送信回路２２１によって、送信待ちキューＳＱの先頭データを送信する（ステップＳ７０９）。そして、センサーノード１０１は、ＰＭＵ２１０によって、Ｐcapacitorの値を更新し（ステップＳ７１０）、ＮRF＝ＮRF−１とし（ステップＳ７１１）、ステップＳ７０７へ戻る。
【００５４】
「ＮRF＞０」でない場合（ステップＳ７０６：Ｎｏ）、センサーノード１０１は、「ＮMCU＞０」であるか否かを判断する（ステップＳ８０１）。「ＮMCU＞０」でない場合（ステップＳ８０１：Ｎｏ）、実行するデータ処理がないため、一連の処理を終了する。
【００５５】
一方、「ＮMCU＞０」である場合（ステップＳ８０１：Ｙｅｓ）、センサーノード１０１は、ＰＭＵ２１０によって、ＭＣＵ２０２のブート処理を実行する（ステップＳ８０２）。センサーノード１０１は、ＭＣＵ２０２によって、「Ｐcapacitor＞ＰMCU×ＤSize」であるか否かを判断する（ステップＳ８０３）。ここでのＤSizeは、データ処理待ちキューＥＱの先頭データのデータサイズである。「Ｐcapacitor＞ＰMCU×ＤSize」でない場合（ステップＳ８０３：Ｎｏ）、一連の処理を終了する。「Ｐcapacitor＞ＰMCU×ＤSize」である場合（ステップＳ８０３：Ｙｅｓ）、センサーノード１０１は、ＭＣＵ２０２によって、「ＮSuspend＝０」であるか否かを判断する（ステップＳ８０４）。
【００５６】
「ＮSuspend＝０」でない場合（ステップＳ８０４：Ｎｏ）、データ処理待ちキューＥＱの先頭データについてのデータ処理が中断されたデータ処理であるため、ステップＳ９０１へ移行する。「ＮSuspend＝０」である場合（ステップＳ８０４：Ｙｅｓ）、センサーノード１０１は、ＭＣＵ２０２によって、Ｐ１とＰ２を取得し（ステップＳ８０５）、式（１）〜（３）に示すように、Ｐ１とＰ２とに基づいてＴ１を算出する（ステップＳ８０６）。センサーノード１０１は、ＭＣＵ２０２によって、式（４）に示すように、Ｔ２を算出する（ステップＳ８０７）。
【００５７】
センサーノード１０１は、ＭＣＵ２０２によって、Ｔ２＜Ｔ１であるか否かを判断する（ステップＳ８０８）。Ｔ２＜Ｔ１である場合（ステップＳ８０８：Ｙｅｓ）、センサーノード１０１は、ＭＣＵ２０２によって、「Ｐlimit＝ＤSize×ＰSend」とし（ステップＳ８０９）、Ｍｏｄｅ＝２に設定する（ステップＳ８１０）。Ｔ２＜Ｔ１でない場合（ステップＳ８０８：Ｎｏ）、センサーノード１０１は、ＭＣＵ２０２によって、「Ｐlimit＝ＤSize×（ＰReceive＋ＰSend）」とし（ステップＳ８１１）、「Ｍｏｄｅ＝１」に設定する（ステップＳ８１２）。これにより、第１動作と第２動作のうち、開始されるまでの時間が短い方の動作が実行される。Ｔ２とＴ１が同一値の場合、第１動作と第２動作のいずれが行われてもよいが、ここでは、第１動作が行われることとしている。ステップＳ８０９、ステップＳ８１１において、閾値Ｐlimitにマージンαをもたせてもよい。
【００５８】
ステップＳ８１０またはステップＳ８１２のつぎに、センサーノード１０１は、データ処理待ちキューＥＱの先頭の実行データが示すデータ処理の実行を開始する（ステップＳ９０１）。センサーノード１０１は、ＭＣＵ２０２によって、実行が完了したか否かを判断する（ステップＳ９０２）。実行が完了していない場合（ステップＳ９０２：Ｎｏ）、センサーノード１０１は、ＭＣＵ２０２によって、「Ｐcapacitor≧Ｐlimit」であるか否かを判断する（ステップＳ９０３）。「Ｐcapacitor≧Ｐlimit」でない場合（ステップＳ９０３：Ｎｏ）、ステップＳ９０２に戻る。ステップＳ９０２およびステップＳ９０３によれば、センサーノード１０１は、データ処理の実行が完了するまで、または充電された電力の残量が閾値Ｐlimit未満となるまで、データ処理を実行することができる。
【００５９】
「Ｐcapacitor≧Ｐlimit」である場合（ステップＳ９０３：Ｙｅｓ）、センサーノード１０１は、ＭＣＵ２０２によって、データ処理の実行を中断し（ステップＳ９０４）、「Ｍｏｄｅ＝１」であるか否かを判断する（ステップＳ９０５）。「Ｍｏｄｅ＝１」である場合（ステップＳ９０５：Ｙｅｓ）、第１動作が実行されるため、センサーノード１０１は、送信回路２２１によって、他のセンサーノード１０１に依頼信号を送信する（ステップＳ９０６）。たとえば、ここでの依頼信号には、実行が中断されたデータ処理のうち、終了しなかったデータ処理に関する実行データと、終了したデータ処理の実行結果と、依頼元であることを示す自センサーノード１０１の識別情報と、が含まれる。
【００６０】
センサーノード１０１は、受信回路２２２によって、送信した依頼信号が示すデータ処理の実行の受託を示す受託信号を一定時間以内に受信したか否かを判断する（ステップＳ９０７）。受託信号が受信された場合（ステップＳ９０７：Ｙｅｓ）、センサーノード１０１は、ＭＣＵ２０２によって、「ＮMCU＝ＮMCU−１」とし（ステップＳ９０８）、一連の処理を終了する。
【００６１】
「Ｍｏｄｅ＝１」でない場合（ステップＳ９０５：Ｎｏ）、または受託信号を一定時間以内に受信しなかった場合（ステップＳ９０７：Ｎｏ）、充電を待って中断されたデータ処理の実行を再開する。そのため、センサーノード１０１は、ＭＣＵ２０２によって、「ＮSuspend＝１」とし（ステップＳ９０９）、一連の処理を終了する。
【００６２】
一方、実行が完了した場合（ステップＳ９０２：Ｙｅｓ）、センサーノード１０１は、ＰＭＵ２１０によって、Ｐcapacitorの値を更新する（ステップＳ１００１）。センサーノード１０１は、ＭＣＵ２０２によって、「ＮMCU＝ＮMCU−１」とし（ステップＳ１００２）、「ＮSuspend＝０」とする（ステップＳ１００３）。センサーノード１０１は、「Ｐcapacitor＞ＰSend×ＤSize」であるか否かを判断する（ステップＳ１００４）。「Ｐcapacitor＞ＰSend×ＤSize」である場合（ステップＳ１００４：Ｙｅｓ）、センサーノード１０１は、ＰＭＵ２１０によって、送信回路２２１のブート処理を実行し（ステップＳ１００５）、送信回路２２１によって、データ処理の実行結果を送信する（ステップＳ１００６）。センサーノード１０１は、ＰＭＵ２１０によって、Ｐcapacitorの値を更新し（ステップＳ１００７）、ステップＳ８０１へ戻る。
【００６３】
「Ｐcapacitor＞ＰSend×ＤSize」でない場合（ステップＳ１００４：Ｎｏ）、センサーノード１０１は、ＭＣＵ２０２によって、実行結果を送信待ちキューＳＱに登録し（ステップＳ１００８）、「ＮRF＝ＮRF−１」とし（ステップＳ１００９）、ステップＳ８０１へ戻る。
【００６４】
図１１は、依頼信号を受信時のセンサーノードが行う処理手順の一例を示すフローチャートである。センサーノード１０１は、受信回路２２２によって、依頼信号を受信したか否かを判断する（ステップＳ１１０１）。依頼信号が受信されていない場合（ステップＳ１１０１：Ｎｏ）、ステップＳ１１０１へ戻る。依頼信号が受信された場合（ステップＳ１１０１：Ｙｅｓ）、センサーノード１０１は、ＭＣＵ２０２によって、「ＮRF＝０」かつ「ＮMCU＝０」であるか否かを判断する（ステップＳ１１０２）。「ＮRF＝０」かつ「ＮMCU＝０」でない場合（ステップＳ１１０２：Ｎｏ）、自センサーノード１０１において行うべき処理があるため、センサーノード１０１は他のセンサーノード１０１からの依頼を受託しないため、一連の処理を終了する。
【００６５】
一方、「ＮRF＝０」かつ「ＮMCU＝０」である場合（ステップＳ１１０２：Ｙｅｓ）、自センサーノード１０１において行うべき処理がない。そのため、センサーノード１０１は、ＰＭＵ２１０によって、Ｐcapacitorの値を更新する（ステップＳ１１０３）。そして、センサーノード１０１は、ＭＣＵ２０２によって、「Ｐcapacitor＞ＰSend×ＤSize＋ＰMCU×ＤSize」であるか否かを判断する（ステップＳ１１０４）。「Ｐcapacitor＞ＰSend×ＤSize＋ＰMCU×ＤSize」でない場合（ステップＳ１１０４：Ｎｏ）、依頼信号が示すデータ処理を実行可能な電力がないため、センサーノード１０１は他のセンサーノード１０１からの依頼を受託せずに、一連の処理を終了する。
【００６６】
「Ｐcapacitor＞ＰSend×ＤSize＋ＰMCU×ＤSize」である場合（ステップＳ１１０４：Ｙｅｓ）、センサーノード１０１は、送信回路２２１によって、受信した依頼信号が示すデータ処理の実行の受託を示す受託信号を送信する（ステップＳ１１０５）。センサーノード１０１は、ＭＣＵ２０２によって、データ処理待ちキューＥＱに実行データを登録し（ステップＳ１１０６）、「ＮMCU＝ＮMCU＋１」とする（ステップＳ１１０７）。センサーノード１０１は、ＭＣＵ２０２によって、依頼信号が示すデータ処理を実行し（ステップＳ１１０８）、実行が完了したか否かを判断する（ステップＳ１１０９）。実行が完了していない場合（ステップＳ１１０９：Ｎｏ）、ステップＳ１１０９へ戻る。
【００６７】
実行が完了した場合（ステップＳ１１０９：Ｙｅｓ）、センサーノード１０１は、ＭＣＵ２０２によって、「ＮMCU＝ＮMCU−１」とする（ステップＳ１１１０）。そして、センサーノード１０１は、ＰＭＵ２１０によって、送信回路２２１のブート処理を実行し（ステップＳ１１１１）、送信回路２２１によって、データ処理の実行結果を送信する（ステップＳ１１１２）。センサーノード１０１は、ＰＭＵ２１０によって、Ｐcapacitorの値を更新し（ステップＳ１１１３）、一連の処理を終了する。
【００６８】
以上説明したように、センサーノードは、自発電した電力によって充電を行う。そのため、電力不足によってデータ処理が中断される場合がある。そこで、センサーノードは、充電を待って自センサーノードで実行を再開するか、充電を待つ前に他センサーノードへ依頼信号を送信してみるかを、自センサーノードまたは他センサーノードによる再開までの時間の期待値によって判断する。これにより、より早くデータ処理の実行を再開させることができるため、より早くデータ処理を完了させることができる。たとえば、センサーネットワークでは、親機を介して利用者端末やサーバなどに情報が伝達される。センサーノードが、地震による揺れや壁のひずみなどの異常を検出した場合に、より早く実行結果を親機に送信できれば、親機を介してより早く利用者端末などに異常を通知することができる。
【００６９】
また、充電を待つ前に他センサーノードへ依頼信号を送信してみる場合、他センサーノードが依頼を受託する場合と受託しない場合がある。そこで、依頼信号を送信してみる場合についての再開までの時間の期待値を、依頼が受託される確率と依頼が受託された場合の再開までの時間と、依頼が受託されない確率と依頼が受託されなかった場合の再開までの時間と、によって導出された値とする。これにより、受託される場合と受託されない場合を含めて再開が早いと推定される動作が行われる。
【００７０】
また、依頼信号を送信してみる方が実行の再開が早いと判断された場合、充電された電力の残量についての閾値を依頼信号の送信にかかる電力量と依頼信号の受託を示す情報の受信にかかる電力量との合計値に基づく値とする。センサーノードは、データ処理の実行が終了するまで、または充電された電力の残量が当該閾値未満となるまで、データ処理を実行する。そして、センサーノードは、当該閾値未満となったら実行を中断し、依頼信号を他センサーノードへ送信する。これにより、依頼信号を送信前に、電力切れになるのを防止することができる。
【００７１】
また、データ処理の実行が終了したら、実行結果が親機に送信されなければならない。そこで、依頼信号を送信しない方が実行の再開が早いと判断された場合、センサーノードは、データ処理の実行が終了するまで、充電された電力の残量が、実行結果の送信にかかる電力量に基づく閾値未満となるまで、データ処理を実行する。そして、センサーノードは、当該閾値未満となったら実行を中断し、充電を待つ。これにより、実行結果の送信前に電力切れになるのを防止する。したがって、センサーノードは、より早く実行結果を親機に送信することができる。
【００７２】
また、電力残量によって実行結果の送信とデータ処理の実行とのいずれもが待機させられている場合、センサーノードは、実行結果の送信を優先する。これにより、センサーノードは、より早く実行結果を親機に送信することができる。
【００７３】
上述した実施の形態に関し、さらに以下の付記を開示する。
【００７４】
（付記１）複数の第１通信装置に含まれる通信装置であり、自通信装置におけるデータ処理の実行結果を、前記複数の第１通信装置の間でマルチホップ通信することにより、前記実行結果に基づく処理を行う第２通信装置へ送信する通信装置であって、
自発電した電力を充電する充電部と、
前記データ処理の実行が前記充電された電力の残量に基づいて中断される場合に、前記複数の第１通信装置のうちの他の通信装置へ前記データ処理の実行を依頼する依頼信号を送信して、前記依頼信号による依頼が前記他の通信装置に受託される場合に前記データ処理を自通信装置によって実行せず、前記依頼信号による依頼が前記他の通信装置に受託されない場合に前記データ処理の実行が完了可能な電力が前記充電部によって充電されてから前記データ処理の実行を自通信装置によって開始する第１動作と、前記他の通信装置へ前記依頼信号を送信せずに、前記データ処理の実行が完了可能な電力が前記充電部によって充電されてから前記データ処理の実行を自通信装置によって開始する第２動作と、のいずれかを実行可能な実行部と、
前記データ処理の実行の依頼が前記他の通信装置に受託される確率に基づいて、前記第１動作を実行した場合に前記データ処理の実行が前記実行部または前記他の通信装置によって開始されるまでの第１時間の期待値を取得する第１取得部と、
前記第２動作を実行した場合に前記データ処理の実行を完了可能な電力が前記充電部によって充電されて前記データ処理の実行が前記実行部によって開始されるまでの第２時間を取得する第２取得部と、
前記第１取得部によって取得された前記第１時間の期待値と前記第２取得部によって取得された前記第２時間とを比較する比較部と、
前記実行部による前記データ処理の実行中に前記充電された電力の残量が閾値未満となった場合に、前記比較部による比較結果に基づいて、前記第１動作と前記第２動作とのうちのいずれかを前記実行部によって実行させる制御部と、
を有することを特徴とする通信装置。
【００７５】
（付記２）前記第１取得部は、
前記依頼信号を前記他の通信装置へ送信して前記データ処理の実行が前記他の通信装置によって開始されるまでにかかる第３時間と前記他の通信装置によって依頼を受託される確率との乗算値と、
前記他の通信装置に前記データ処理の実行が受託されない場合に前記データ処理の実行を完了可能な充電を待って前記データ処理の実行が前記実行部によって開始されるまでにかかる第４時間と前記他の通信装置によって依頼を受託されない確率との乗算値と、
の合計による前記第１時間の期待値を取得することを特徴とする付記１に記載の通信装置。
【００７６】
（付記３）前記制御部は、
前記実行部による前記データ処理の実行中に前記充電された電力の残量が閾値未満となった場合において、前記比較部によって前記第１時間の期待値が前記第２時間より小さいと判断された場合、前記実行部によって前記第１動作を実行させ、前記比較部によって前記第２時間が前記第１時間の期待値より小さいと判断された場合、前記実行部によって前記第２動作を実行させることを特徴とする付記１または２に記載の通信装置。
【００７７】
（付記４）前記制御部は、
前記比較部によって前記第１時間の期待値が前記第２時間より小さいと判断された場合において、
前記データ処理の実行が完了するまで、または前記充電された電力の残量が、前記依頼信号の送信にかかる電力量と前記依頼信号の受託を示す信号の受信にかかる電力量との合計値に基づく閾値未満となるまで、前記実行部によって前記データ処理を実行させ、
前記充電された電力の残量が前記閾値未満となったら、前記実行部による前記データ処理の実行を中断させ、前記実行部によって前記第１動作を実行させることを特徴とする付記３に記載の通信装置。
【００７８】
（付記５）前記制御部は、
前記比較部によって前記第２時間が前記第１時間の期待値より小さいと判断された場合において、
前記データ処理の実行が完了するまで、または前記充電された電力の残量が前記実行結果の送信にかかる電力量に基づく閾値未満となるまで、前記実行部によって前記データ処理を実行させ、
前記充電された電力の残量が前記閾値未満となったら、前記実行部による前記データ処理の実行を中断させ、前記実行部によって前記第２動作を実行させることを特徴とする付記３に記載の通信装置。
【００７９】
（付記６）前記比較部は、
前記実行部による前記データ処理の実行開始前に、前記第１時間の期待値と前記第２時間とを比較することを特徴とする付記４または５に記載の通信装置。
【００８０】
（付記７）前記データ処理の実行結果を送信する送信部を有し、
前記制御部は、
前記充電された電力の残量に基づいて前記送信部による前記実行結果の送信が待機させられている場合、前記送信部による前記実行結果の送信後に、前記データ処理を前記実行部によって実行させることを特徴とする付記１〜６のいずれか一つに記載の通信装置。
【００８１】
（付記８）複数の第１通信装置と、
前記複数の第１通信装置の間でマルチホップ通信することによって送信された前記複数の第１通信装置の少なくともいずれかについてのデータ処理の実行結果に基づく処理を行う第２通信装置と、
を有し、
前記複数の第１通信装置の少なくともいずれかの通信装置が、
自発電した電力によって充電する充電部によって充電された電力の残量に基づいて自通信装置におけるデータ処理の実行が中断される場合に、前記複数の第１通信装置のうちの他の通信装置へ前記データ処理の実行を依頼する依頼信号を送信して、前記依頼信号による依頼が前記他の通信装置に受託される場合に前記データ処理を自通信装置によって実行せず、前記依頼信号による依頼が前記他の通信装置に受託されない場合に前記データ処理の実行が完了可能な電力が前記充電部によって充電されてから前記データ処理の実行を自通信装置によって開始する第１動作と、前記他の通信装置へ前記依頼信号を送信せずに、前記データ処理の実行が完了可能な電力が前記充電部によって充電されてから前記データ処理の実行を自通信装置によって開始する第２動作と、のいずれかを実行可能であって、
前記データ処理の実行の依頼が前記他の通信装置に受託される確率に基づいて、前記第１動作を実行した場合に前記データ処理の実行が前記自通信装置または前記他の通信装置によって開始されるまでの第１時間の期待値を取得し、
前記第２動作を実行した場合に前記データ処理の実行を完了可能な電力が前記充電部によって充電されて前記データ処理の実行が前記自通信装置によって開始されるまでの第２時間を取得し、
取得した前記第１時間の期待値と取得した前記第２時間とを比較し、
前記データ処理の実行中に前記充電された電力の残量が閾値未満となった場合に、比較結果に基づいて、前記第１動作と前記第２動作とのうちのいずれかを実行させ、
前記他の通信装置は、
前記いずれかの通信装置から前記依頼信号を受信し、
自発電した電力によって充電する充電部によって充電された電力により受信した前記依頼信号が示すデータ処理を実行可能か否か判断し、
受信した前記依頼信号が示すデータ処理を実行可能であると判断した場合、前記依頼信号が示すデータ処理を実行可能である受託信号を前記いずれかの通信装置へ送信し、
受信した前記依頼信号が示すデータ処理を実行可能であると判断した場合、前記依頼信号が示すデータ処理を実行することを特徴とすることを特徴とするシステム。
【００８２】
（付記９）複数の第１通信装置に含まれる通信装置であって、自通信装置におけるデータ処理の実行結果を、前記複数の第１通信装置の間でマルチホップ通信することにより、前記実行結果に基づく処理を行う第２通信装置へ送信する通信装置が、
自発電した電力を充電する充電部によって充電された電力の残量に基づいて前記データ処理の実行が中断される場合に、前記複数の第１通信装置のうちの他の通信装置へ前記データ処理の実行を依頼する依頼信号を送信して、前記依頼信号による依頼が前記他の通信装置に受託される場合に前記データ処理を自通信装置によって実行せず、前記依頼信号による依頼が前記他の通信装置に受託されない場合に前記データ処理の実行が完了可能な電力が前記充電部によって充電されてから前記データ処理の実行を自通信装置によって開始する第１動作と、前記他の通信装置へ前記依頼信号を送信せずに、前記データ処理の実行が完了可能な電力が前記充電部によって充電されてから前記データ処理の実行を自通信装置によって開始する第２動作と、のいずれかを実行可能であって、
前記データ処理の実行の依頼が前記他の通信装置に受託される確率に基づいて、前記第１動作を実行した場合に前記データ処理の実行が前記自通信装置または前記他の通信装置によって開始されるまでの第１時間の期待値を取得し、
前記第２動作を実行した場合に前記データ処理の実行を完了可能な電力が前記充電部によって充電されて前記データ処理の実行が前記自通信装置によって開始されるまでの第２時間を取得し、
取得した前記第１時間の期待値と取得した前記第２時間とを比較し、
前記データ処理の実行中に前記充電された電力の残量が閾値未満となった場合に、比較に基づいて、前記第１動作と前記第２動作とのうちのいずれかを実行させる、
処理を実行することを特徴とする通信方法。
【符号の説明】
【００８３】
１００  センサーネットワークシステム
１０１  センサーノード
１０２  親機
２０１  センサー
２０２  ＭＣＵ
２０３  ＲＡＭ
２０４  ＲＯＭ
２０５  不揮発メモリ
２０６  無線通信回路
２０７  アンテナ
２０８  ハーベスタ
２０９  バッテリ
２１０  ＰＭＵ
４０１  充電部
４０２  実行部
４０３  第１取得部
４０４  第２取得部
４０５  比較部
４０６  制御部
４０７  送信部
Ｐ１，Ｐ２  確率
Ｐlimit  閾値
Ｔ１  第１時間
Ｔ２  第２時間
Ｔ３  第３時間
Ｔ４  第４時間
【国際調査報告】
2014033831.tif 000014
2014033831.tif 000015
2014033831.tif 000016
2014033831.tif 000017