(57)【特許請求の範囲】
【請求項１】
外部から入力された要求に対して複数のセンサノードに含まれる資源を提供し合うことで前記要求に応える管理装置であって、
前記要求を受け付ける受付部と、
前記複数のセンサノードに含まれる資源に関する情報を取得する資源情報取得部と、
前記受付部において受け付けた前記要求に応えるために必要な資源に関する情報を求める必要資源情報算出部と、
前記必要資源情報算出部において求められた必要な資源に関する情報と、前記資源情報取得部により取得された、前記複数のセンサノードの個々に含まれる資源に関する情報とを比較して、個々の前記センサノードに不足する資源に関する情報を求める不足資源情報算出部と、
前記資源情報取得部により取得された前記複数のセンサノードに含まれる資源に関する情報に加え、前記不足資源情報算出部において算出された不足資源に関する情報に基づいて、前記要求に応えるために必要な資源の組合せを決定する組合せ決定部と、
前記組合せ決定部において決定された組合せに基づいて、前記必要な資源を含む複数の前記センサノードに対して、前記必要な資源を提供させるためのコマンドを送信する通信部と、
を備えている管理装置。
【請求項２】
外部から入力された要求に対して複数のセンサノードに含まれる資源を提供し合うことで前記要求に応える管理装置であって、
前記要求を受け付ける受付部と、
前記複数のセンサノードに含まれる資源に関する情報を取得する資源情報取得部と、
前記受付部において受け付けた前記要求に応えるために必要な資源に関する情報を求める必要資源情報算出部と、
前記必要資源情報算出部において求められた必要な資源と、前記複数のセンサノードの個々に含まれる資源とを比較して、個々の前記センサノードに不足する資源に関する情報を求める不足資源情報算出部と、
前記不足資源情報算出部において算出された不足資源に関する情報に基づいて、前記要求に応えるために必要な資源の組合せを決定する組合せ決定部と、
前記組合せ決定部において決定された組合せに基づいて、前記必要な資源を含む複数の前記センサノードに対して、前記必要な資源を提供させるためのコマンドを送信する通信部と、
を備えており、
前記資源情報取得部は、前記複数のセンサノードから定期的に最新の資源情報を取得する、
管理装置。
【請求項３】
外部から入力された要求に対して複数のセンサノードに含まれる資源を提供し合うことで前記要求に応える管理装置であって、
前記要求を受け付ける受付部と、
前記複数のセンサノードに含まれる資源に関する情報を取得する資源情報取得部と、
前記受付部において受け付けた前記要求に応えるために必要な資源に関する情報を求める必要資源情報算出部と、
前記必要資源情報算出部において求められた必要な資源と、前記複数のセンサノードの個々に含まれる資源とを比較して、個々の前記センサノードに不足する資源に関する情報を求める不足資源情報算出部と、
前記不足資源情報算出部において算出された不足資源に関する情報に基づいて、前記要求に応えるために必要な資源の組合せを決定する組合せ決定部と、
前記組合せ決定部において決定された組合せに基づいて、前記必要な資源を含む複数の前記センサノードに対して、前記必要な資源を提供させるためのコマンドを送信する通信部と、
を備えており、
前記組合せ決定部は、前記要求に応えるために必要な資源の組合せを複数求め、
前記組合せ決定部は、前記資源の稼働率、組合せに必要な前記資源の数、前記センサノード間における通信速度のうち、少なくとも１つに基づいて、複数求められた前記資源の組合せの中から、前記通信部から送信されるコマンドに含まれる前記資源の組合せを決定する、
管理装置。
【請求項４】
前記受付部において受け付けた要求情報、前記資源情報取得部において取得された資源に関する情報を保存する記憶部を、さらに備えている、
請求項１から３のいずれか１項に記載の管理装置。
【請求項５】
前記資源に関する情報には、各センサノードに含まれるセンサの種類、メモリの記憶容量、データ処理能力、通信方式、通信性能、電源情報の少なくとも１つが含まれる、
請求項１から４のいずれか１項に記載の管理装置。
【請求項６】
前記組合せ決定部は、前記要求に応えるために必要な資源の組合せを複数求める、
請求項１、２、４及び５のいずれか１項に記載の管理装置。
【請求項７】
前記不足資源情報算出部は、必要とされる前記資源の種類、容量、性能、時間のうち、少なくとも１つに関する情報を求める、
請求項１から６のいずれか１項に記載の管理装置。
【請求項８】
請求項１から７のいずれか１項に記載の管理装置と、
複数の前記センサノードと、
を備えた管理システム。
【請求項９】
前記資源情報取得部において取得された資源に関する情報を保存する記憶部を、さらに備えている、
請求項８に記載の管理システム。
【請求項１０】
外部から入力された要求に対して複数のセンサノードに含まれる資源を提供し合うことで前記要求に応える管理方法であって、
前記要求を受け付ける受付ステップと、
前記複数のセンサノードに含まれる資源に関する情報を取得する資源情報取得ステップと、
前記受付ステップにおいて受け付けた前記要求に応えるために必要な資源に関する情報を求める必要資源情報算出ステップと、
前記必要資源情報算出ステップにおいて求められた必要な資源に関する情報と、前記資源情報取得ステップにおいて取得された、前記複数のセンサノードの個々に含まれる資源に関する情報とを比較して、個々の前記センサノードに不足する資源に関する情報を求める不足資源情報算出ステップと、
前記資源情報取得ステップにおいて取得された前記複数のセンサノードに含まれる資源に関する情報に加え、前記不足資源情報算出ステップにおいて算出された不足資源に関する情報に基づいて、前記要求に応えるために必要な資源の組合せを決定する組合せ決定ステップと、
前記組合せ決定ステップにおいて決定された組合せに基づいて、前記必要な資源を含む複数の前記センサノードに対して、前記必要な資源を提供させるためのコマンドを送信する通信ステップと、
を備えている管理方法。
【請求項１１】
外部から入力された要求に対して複数のセンサノードに含まれる資源を提供し合うことで前記要求に応える管理プログラムであって、
前記要求を受け付ける受付ステップと、
前記複数のセンサノードに含まれる資源に関する情報を取得する資源情報取得ステップと、
前記受付ステップにおいて受け付けた前記要求に応えるために必要な資源に関する情報を求める必要資源情報算出ステップと、
前記必要資源情報算出ステップにおいて求められた必要な資源に関する情報と、前記資源情報取得ステップにおいて取得された、前記複数のセンサノードの個々に含まれる資源に関する情報とを比較して、個々の前記センサノードに不足する資源に関する情報を求める不足資源情報算出ステップと、
前記資源情報取得ステップにおいて取得された前記複数のセンサノードに含まれる資源に関する情報に加え、前記不足資源情報算出ステップにおいて算出された不足資源に関する情報に基づいて、前記要求に応えるために必要な資源の組合せを決定する組合せ決定ステップと、
前記組合せ決定ステップにおいて決定された組合せに基づいて、前記必要な資源を含む複数の前記センサノードに対して、前記必要な資源を提供させるためのコマンドを送信する通信ステップと、
をコンピュータに実行させる管理プログラム。
【請求項１２】
外部から入力された要求に対して複数のセンサノードに含まれる資源を提供し合うことで前記要求に応える管理方法であって、
前記要求を受け付ける受付ステップと、
前記複数のセンサノードに含まれる資源に関する情報を取得する資源情報取得ステップと、
前記受付ステップにおいて受け付けた前記要求に応えるために必要な資源に関する情報を求める必要資源情報算出ステップと、
前記必要資源情報算出ステップにおいて求められた必要な資源と、前記複数のセンサノードの個々に含まれる資源とを比較して、個々の前記センサノードに不足する資源に関する情報を求める不足資源情報算出ステップと、
前記不足資源情報算出ステップにおいて算出された不足資源に関する情報に基づいて、前記要求に応えるために必要な資源の組合せを決定する組合せ決定ステップと、
前記組合せ決定ステップにおいて決定された組合せに基づいて、前記必要な資源を含む複数の前記センサノードに対して、前記必要な資源を提供させるためのコマンドを送信する通信ステップと、
を備えており、
前記資源情報取得ステップは、前記複数のセンサノードから定期的に最新の資源情報を取得することを含む、
管理方法。
【請求項１３】
外部から入力された要求に対して複数のセンサノードに含まれる資源を提供し合うことで前記要求に応える管理プログラムであって、
前記要求を受け付ける受付ステップと、
前記複数のセンサノードに含まれる資源に関する情報を取得する資源情報取得ステップと、
前記受付ステップにおいて受け付けた前記要求に応えるために必要な資源に関する情報を求める必要資源情報算出ステップと、
前記必要資源情報算出ステップにおいて求められた必要な資源と、前記複数のセンサノードの個々に含まれる資源とを比較して、個々の前記センサノードに不足する資源に関する情報を求める不足資源情報算出ステップと、
前記不足資源情報算出ステップにおいて算出された不足資源に関する情報に基づいて、前記要求に応えるために必要な資源の組合せを決定する組合せ決定ステップと、
前記組合せ決定ステップにおいて決定された組合せに基づいて、前記必要な資源を含む複数の前記センサノードに対して、前記必要な資源を提供させるためのコマンドを送信する通信ステップと、
をコンピュータに実行させ、
前記資源情報取得ステップは、前記複数のセンサノードから定期的に最新の資源情報を取得することを含む、
管理プログラム。
【請求項１４】
外部から入力された要求に対して複数のセンサノードに含まれる資源を提供し合うことで前記要求に応える管理方法であって、
前記要求を受け付ける受付ステップと、
前記複数のセンサノードに含まれる資源に関する情報を取得する資源情報取得ステップと、
前記受付ステップにおいて受け付けた前記要求に応えるために必要な資源に関する情報を求める必要資源情報算出ステップと、
前記必要資源情報算出ステップにおいて求められた必要な資源と、前記複数のセンサノードの個々に含まれる資源とを比較して、個々の前記センサノードに不足する資源に関する情報を求める不足資源情報算出ステップと、
前記不足資源情報算出ステップにおいて算出された不足資源に関する情報に基づいて、前記要求に応えるために必要な資源の組合せを決定する組合せ決定ステップと、
前記組合せ決定ステップにおいて決定された組合せに基づいて、前記必要な資源を含む複数の前記センサノードに対して、前記必要な資源を提供させるためのコマンドを送信する通信ステップと、
を備えており、
前記組合せ決定ステップは、前記要求に応えるために必要な資源の組合せを複数求め、記資源の稼働率、組合せに必要な前記資源の数、前記センサノード間における通信速度のうち、少なくとも１つに基づいて、複数求められた前記資源の組合せの中から、前記通信部から送信されるコマンドに含まれる前記資源の組合せを決定することを含む、
管理方法。
【請求項１５】
外部から入力された要求に対して複数のセンサノードに含まれる資源を提供し合うことで前記要求に応える管理プログラムであって、
前記要求を受け付ける受付ステップと、
前記複数のセンサノードに含まれる資源に関する情報を取得する資源情報取得ステップと、
前記受付ステップにおいて受け付けた前記要求に応えるために必要な資源に関する情報を求める必要資源情報算出ステップと、
前記必要資源情報算出ステップにおいて求められた必要な資源と、前記複数のセンサノードの個々に含まれる資源とを比較して、個々の前記センサノードに不足する資源に関する情報を求める不足資源情報算出ステップと、
前記不足資源情報算出ステップにおいて算出された不足資源に関する情報に基づいて、前記要求に応えるために必要な資源の組合せを決定する組合せ決定ステップと、
前記組合せ決定ステップにおいて決定された組合せに基づいて、前記必要な資源を含む複数の前記センサノードに対して、前記必要な資源を提供させるためのコマンドを送信する通信ステップと、
をコンピュータに実行させ、
前記組合せ決定ステップは、前記要求に応えるために必要な資源の組合せを複数求め、記資源の稼働率、組合せに必要な前記資源の数、前記センサノード間における通信速度のうち、少なくとも１つに基づいて、複数求められた前記資源の組合せの中から、前記通信部から送信されるコマンドに含まれる前記資源の組合せを決定することを含む、
管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、外部から入力された要求に対して複数のセンサノードに含まれる資源を提供し合うことで要求に応える管理装置、管理システム、管理方法および管理プログラムに関する。
【背景技術】
【０００２】
近年、ＩｏＴ、トリリオンセンサ等が唱えられ、社会に設置された大量のセンサノードがインターネットにつながる世界が実現されつつある。
これらのセンサノードは、様々なソフト・ハード資源を有しており、用途に応じて様々な性能を発揮するものの、センサノードの全ての性能がフルに利用されているわけではない。すなわち、これらのセンサノードが有するハード・ソフト資源は、目的に応じて想定される使用用途・目的ごとに最適化（制約）されている。
【０００３】
例えば、特許文献１には、ネットワークを介して接続された外部装置の機能を受信して表示し、表示された機能の一覧からユーザが選択した機能を外部装置に実行させる情報処理装置について開示されている。
また、特許文献２には、複数の機器が相互通信できる通信システムにおいて、各機器を構成するデバイスに関する情報を共有し、デバイスにおける負荷を分散させるように各機器のデバイスを管理する通信システムについて開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−１４６３８４号公報
【特許文献２】特開２０１４−２１１８６８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記従来の装置およびシステムでは、以下に示すような問題点を有している。
すなわち、上記特許文献１に開示された情報処理装置では、ユーザのニーズに応じて、表示された機能の一覧からユーザが手動で実行する機能を選択する必要がある。また、上記情報処理装置では、ユーザのニーズに対して必要な機能を実現するために複数の外部装置が連携する必要がある場合でも、その連携方法を調整する機能が設けられていない。よって、複数の外部装置が有する複数の資源を組み合わせて実現可能なユーザのニーズに応えることは困難である。
【０００６】
また、上記特許文献２に開示された通信システムでは、複数の機器間の動作は負荷分散という目的を実現するための手段である。よって、他の目的（ニーズ）が発生した場合には、その目的を実現するように複数の機器間のデバイスの動作を調整することは困難である。
本発明の課題は、複数のセンサノードが有する資源を組み合わせることで、様々なニーズに応えることが可能な管理装置、管理システム、管理方法および管理プログラムを提供することにある。
【課題を解決するための手段】
【０００７】
第１の発明に係る管理装置は、外部から入力された要求に対して複数のセンサノードに含まれる資源を提供し合うことで要求に応える管理装置であって、受付部と、資源情報取得部と、必要資源情報算出部と、不足資源情報算出部と、組合せ決定部と、通信部と、を備えている。受付部は、要求を受け付ける。資源情報取得部は、複数のセンサノードに含まれる資源に関する情報を取得する。必要資源情報算出部は、受付部において受け付けた要求に応えるために必要な資源に関する情報を求める。不足資源情報算出部は、必要資源情報算出部において求められた必要な資源と、複数のセンサノードの個々に含まれる資源とを比較して、個々のセンサノードに不足する資源に関する情報を求める。組合せ決定部は、不足資源情報算出部において算出された不足資源に関する情報に基づいて、要求に応えるために必要な資源の組合せを決定する。通信部は、組合せ決定部において決定された組合せに基づいて、必要な資源を含む複数のセンサノードに対して、必要な資源を提供させるためのコマンドを送信する。
【０００８】
ここでは、想定の範囲外の様々なニーズ（要求）が発生した場合でも、複数のセンサノードが有する資源に関する情報を取得し、１つのセンサノードでは実現できない機能を、複数のセンサノードが有する資源を組み合わせて実現する。
ここで、外部から入力される要求としては、例えば、ユーザから直接入力されたものであってもよいし、外部装置や外部システム等から入力されたものであってもよい。
【０００９】
また、センサノードとは、例えば、基板上に、各種センサ、データ処理機能、データ通信機能、メモリ機能等が実装された装置が含まれる。そして、センサノードに含まれる各種センサとしては、例えば、加速度センサ、電圧センサ、電流センサ、温度センサ、湿度センサ、照度センサ、重量センサ、人感センサ、接触センサ、圧力センサ等、物理量を計測する各種センサが含まれる。また、センサノードに含まれるデータ処理機能としては、例えば、ＦＦＴ（高速フーリエ変換；Fast Fourier Transform）、暗号化処理等が含まれる。さらに、センサノードに含まれるデータ通信機能としては、例えば、無線通信（ZigBee（登録商標）、Bluetooth（登録商標）等）や、ＩＰ網等を介して通信可能な無線通信（無線LAN等）および有線通信（LAN等）が含まれる。さらに、センサノードに含まれるメモリ機能としては、センサデータを保存可能なＲＡＭ（Random Access Memory）やＲＯＭ（Read Only Memory）等が含まれる。
【００１０】
そして、資源情報取得部において取得される資源に関する情報（資源情報）は、複数のセンサノードから提供される資源情報であって、例えば、個々のセンサノードの本来の用途とは異なる用途に用いることが可能な資源の情報である。資源情報は、それぞれのセンサノードから定期的に取得されることで、常に最新の情報に更新されていることが望ましい。
【００１１】
必要資源情報算出部において算出される必要資源情報は、資源情報取得部において取得された資源情報をそのまま用いて算出されてもよいし、資源情報取得部において取得された資源情報が一旦保存される記憶部、外部のサーバ、クラウド等から取り出された資源情報を用いて算出されてもよい。
不足資源情報算出部において算出される不足資源情報は、単一のセンサノードを用いては実行できない要求に対して、不足している資源情報を意味している。
【００１２】
組合せ決定部は、単一のセンサノードでは実行できない要求に対して、複数のセンサノードが有している資源を組み合わせることで、実現を可能とする組合せを決定する。なお、組合せ決定部において決定される資源の組合せは、１つであっても複数であってもよい。例えば、複数の組合せが挙げられた場合には、各種条件を満たす最善の組合せを選択すればよい。
【００１３】
また、本管理装置は、複数のセンサノードと通信可能であれば、各センサノードとは別の場所に設けられていてもよいし、特定のセンサノード内に設けられていてもよい。
これにより、例えば、複数のセンサノードの個々が有する資源だけでは実現不能な要求が入力された場合でも、複数のセンサノードが有している資源を効果的に組み合わせて用いることにより、当該要求を容易に実現することができる。
【００１４】
この結果、当該要求に対応するセンサノードを新たに設置する必要がないため、既設のセンサノードを組み合わせて、様々なニーズに応えることができる。
第２の発明に係る管理装置は、第１の発明に係る管理装置であって、受付部において受け付けた要求情報、資源情報取得部において取得された資源に関する情報を保存する記憶部を、さらに備えている。
【００１５】
ここでは、外部から入力された要求情報、各センサノードが有する資源情報を保存する記憶部を、管理装置内に設けている。
なお、記憶部に保存される情報としては、上記要求情報、資源情報以外に、例えば、必要資源情報、不足資源情報、組合せ結果等の他の情報が含まれていてもよい。
これにより、外部から入力された要求情報に対して、管理装置内に保存された資源情報を用いて、最適なセンサノード（資源）の組合せを決定することができる。
【００１６】
そして、センサノードの資源情報が、一旦、管理装置内に保存されることで、要求情報を受信した際に、最新の資源情報を用いて、実現可能な組合せを決定することができる。
第３の発明に係る管理装置は、第１または第２の発明に係る管理装置であって、資源情報取得部は、複数のセンサノードから定期的に最新の資源情報を取得する。
ここでは、資源情報取得部が、複数のセンサノードから最新の資源情報を受け取る。
【００１７】
これにより、例えば、管理装置による管理の対象となるセンサノードが追加、あるいは削除された場合でも、最新の資源情報を用いて、外部から入力された要求に対する資源の組合せを決定することができる。
第４の発明に係る管理装置は、第１から第３の発明のいずれか１つに係る管理装置であって、資源に関する情報（資源情報）には、各センサノードに含まれるセンサの種類、メモリの記憶容量、データ処理能力、通信方式、通信性能、電源情報の少なくとも１つが含まれる。
【００１８】
ここでは、資源情報として、センサの種類、メモリの記憶容量、データ処理能力、通信方式、通信性能、電源情報等を用いる。
これにより、外部から入力された要求に対して必要なセンサの種類、メモリ容量、データ処理能力、通信能力等を勘案して、最適な資源の組合せを決定することができる。
第５の発明に係る管理装置は、第１から第４の発明のいずれか１つに係る管理装置であって、組合せ決定部は、要求に応えるために必要な資源の組合せを複数求める。
【００１９】
ここでは、外部から入力された要求に対して必要な条件を満たす組合せを複数求める。
これにより、条件を満たす資源の組合せの中から、さらに条件を追加してより最適な資源の組合せを決定することができる。この結果、外部から入力された要求を、高品質、高精度に実現することができる。
第６の発明に係る管理装置は、第５の発明に係る管理装置であって、組合せ決定部は、資源の稼働率、組合せに必要な資源の数、センサノード間における通信速度のうち、少なくとも１つに基づいて、複数求められた資源の組合せの中から、通信部から送信されるコマンドに含まれる資源の組合せを決定する。
【００２０】
ここでは、複数の組合せが挙げられた場合には、例えば、資源の稼働率が低い方、必要な資源の数が少ない方、通信速度が大きい方の組合せを優先して選択する。
これにより、要求を実現する組合せの中からさらに好ましい資源の組合せを選択することで、外部から入力された要求を、高品質、高精度に実現することができる。
第７の発明に係る管理装置は、第１から第６の発明のいずれか１つに係る管理装置であって、不足資源情報算出部は、必要とされる資源の種類、容量、性能、時間のうち、少なくとも１つに関する情報を求める。
【００２１】
ここでは、要求に対して特定のセンサノードの資源では実現できない場合に、不足する資源に関する情報として、資源の種類、容量、性能、時間等を用いる。
これにより、例えば、特定の種類の資源を特定の時間帯に特定の量だけ必要とされる場合には、これらの条件を満たす資源を有する他のセンサノードを検索することができる。
第８の発明に係る管理システムは、第１から第６の発明のいずれか１つに係る管理装置と、複数のセンサノードと、を備えている。
【００２２】
ここでは、上述した管理装置と、管理装置との間において通信可能な複数のセンサノードとを含むシステムを構成する。
これにより、上述したように、例えば、複数のセンサノードの個々が有する資源だけでは実現不能な要求が入力された場合でも、複数のセンサノードが有している資源を効果的に組み合わせて用いることにより、当該要求を容易に実現することができる。
【００２３】
この結果、当該要求に対応するセンサノードを新たに設置する必要がないため、既設のセンサノードを組み合わせて、様々なニーズに応えることができる。
第９の発明に係る管理システムは、第８の発明に係る管理システムであって、資源情報取得部において取得された資源に関する情報を保存する記憶部を、さらに備えている。
ここでは、管理装置とは別に、資源に関する情報（資源情報）を保存する記憶手段を、システム内に設けている。
【００２４】
これにより、外部から入力された要求情報に対して、管理システム内に設けられた記憶部に保存された資源情報を用いて、最適なセンサノード（資源）の組合せを決定することができる。
そして、センサノードの資源情報が、一旦、管理システム内の記憶部に保存されることで、要求情報を受信した際に、最新の資源情報を用いて、実現可能な組合せを決定することができる。
【００２５】
第１０の発明に係る管理方法は、外部から入力された要求に対して複数のセンサノードに含まれる資源を提供し合うことで要求に応える管理方法であって、受付ステップと、資源情報取得ステップと、必要資源情報算出ステップと、不足資源情報算出ステップと、組合せ決定ステップと、通信ステップと、を備えている。受付ステップは、要求を受け付ける。資源情報取得ステップは、複数のセンサノードに含まれる資源に関する情報を取得する。必要資源情報算出ステップは、受付ステップにおいて受け付けた要求に応えるために必要な資源に関する情報を求める。不足資源情報算出ステップは、必要資源情報算出ステップにおいて求められた必要な資源と、複数のセンサノードの個々に含まれる資源とを比較して、個々のセンサノードに不足する資源に関する情報を求める。組合せ決定ステップは、不足資源情報算出ステップにおいて算出された不足資源に関する情報に基づいて、要求に応えるために必要な資源の組合せを決定する。通信ステップは、組合せ決定ステップにおいて決定された組合せに基づいて、必要な資源を含む複数のセンサノードに対して、必要な資源を提供させるためのコマンドを送信する。
【００２６】
ここでは、想定の範囲外の様々なニーズ（要求）が発生した場合でも、複数のセンサノードが有する資源に関する情報を取得し、１つのセンサノードでは実現できない機能を、複数のセンサノードが有する資源を組み合わせて実現する。
ここで、外部から入力される要求としては、例えば、ユーザから直接入力されたものであってもよいし、外部装置や外部システム等から入力されたものであってもよい。
【００２７】
また、センサノードとは、例えば、基板上に、各種センサ、データ処理機能、データ通信機能、メモリ機能等が実装された装置が含まれる。そして、センサノードに含まれる各種センサとしては、例えば、加速度センサ、電圧センサ、電流センサ、温度センサ、湿度センサ、照度センサ、重量センサ、人感センサ、接触センサ、圧力センサ等、物理量を計測する各種センサが含まれる。また、センサノードに含まれるデータ処理機能としては、例えば、ＦＦＴ（高速フーリエ変換；Fast Fourier Transform）、暗号化処理等が含まれる。さらに、センサノードに含まれるデータ通信機能としては、例えば、無線通信（ZigBee（登録商標）、Bluetooth（登録商標）等）や、ＩＰ網等を介して通信可能な無線通信（無線LAN等）および有線通信（LAN等）が含まれる。さらに、センサノードに含まれるメモリ機能としては、センサデータを保存可能なＲＡＭ（Random Access Memory）やＲＯＭ（Read Only Memory）等が含まれる。
【００２８】
そして、資源情報取得部において取得される資源に関する情報（資源情報）は、複数のセンサノードから提供される資源情報であって、例えば、個々のセンサノードの本来の用途とは異なる用途に用いることが可能な資源の情報である。資源情報は、それぞれのセンサノードから定期的に取得されることで、常に最新の情報に更新されていることが望ましい。
【００２９】
必要資源情報算出ステップにおいて算出される必要資源情報は、資源情報取得ステップにおいて取得された資源情報をそのまま用いて算出されてもよいし、資源情報取得ステップにおいて取得された資源情報が一旦保存される記憶部、外部のサーバ、クラウド等から取り出された資源情報を用いて算出されてもよい。
不足資源情報算出ステップにおいて算出される不足資源情報は、単一のセンサノードを用いては実行できない要求に対して、不足している資源情報を意味している。
【００３０】
組合せ決定ステップは、単一のセンサノードでは実行できない要求に対して、複数のセンサノードが有している資源を組み合わせることで、実現を可能とする組合せを決定する。なお、組合せ決定ステップにおいて決定される資源の組合せは、１つであっても複数であってもよい。例えば、複数の組合せが挙げられた場合には、各種条件を満たす最善の組合せを選択すればよい。
【００３１】
また、本管理装置は、複数のセンサノードと通信可能であれば、各センサノードとは別の場所に設けられていてもよいし、特定のセンサノード内に設けられていてもよい。
これにより、例えば、複数のセンサノードの個々が有する資源だけでは実現不能な要求が入力された場合でも、複数のセンサノードが有している資源を効果的に組み合わせて用いることにより、当該要求を容易に実現することができる。
【００３２】
この結果、当該要求に対応するセンサノードを新たに設置する必要がないため、既設のセンサノードを組み合わせて、様々なニーズに応えることができる。
第１１の発明に係る管理プログラムは、外部から入力された要求に対して複数のセンサノードに含まれる資源を提供し合うことで要求に応える管理プログラムであって、受付ステップと、資源情報取得ステップと、必要資源情報算出ステップと、不足資源情報算出ステップと、組合せ決定ステップと、通信ステップと、を備えた管理方法をコンピュータに実行させる。受付ステップは、要求を受け付ける。資源情報取得ステップは、複数のセンサノードに含まれる資源に関する情報を取得する。必要資源情報算出ステップは、受付ステップにおいて受け付けた要求に応えるために必要な資源に関する情報を求める。不足資源情報算出ステップは、必要資源情報算出ステップにおいて求められた必要な資源と、複数のセンサノードの個々に含まれる資源とを比較して、個々のセンサノードに不足する資源に関する情報を求める。組合せ決定ステップは、不足資源情報算出ステップにおいて算出された不足資源に関する情報に基づいて、要求に応えるために必要な資源の組合せを決定する。通信ステップは、組合せ決定ステップにおいて決定された組合せに基づいて、必要な資源を含む複数のセンサノードに対して、必要な資源を提供させるためのコマンドを送信する。
【００３３】
ここでは、想定の範囲外の様々なニーズ（要求）が発生した場合でも、複数のセンサノードが有する資源に関する情報を取得し、１つのセンサノードでは実現できない機能を、複数のセンサノードが有する資源を組み合わせて実現する。
ここで、外部から入力される要求としては、例えば、ユーザから直接入力されたものであってもよいし、外部装置や外部システム等から入力されたものであってもよい。
【００３４】
また、センサノードとは、例えば、基板上に、各種センサ、データ処理機能、データ通信機能、メモリ機能等が実装された装置が含まれる。そして、センサノードに含まれる各種センサとしては、例えば、加速度センサ、電圧センサ、電流センサ、温度センサ、湿度センサ、照度センサ、重量センサ、人感センサ、接触センサ、圧力センサ等、物理量を計測する各種センサが含まれる。また、センサノードに含まれるデータ処理機能としては、例えば、ＦＦＴ（高速フーリエ変換；Fast Fourier Transform）、暗号化処理等が含まれる。さらに、センサノードに含まれるデータ通信機能としては、例えば、無線通信（ZigBee（登録商標）、Bluetooth（登録商標）等）や、ＩＰ網等を介して通信可能な無線通信（無線LAN等）および有線通信（LAN等）が含まれる。さらに、センサノードに含まれるメモリ機能としては、センサデータを保存可能なＲＡＭ（Random Access Memory）やＲＯＭ（Read Only Memory）等が含まれる。
【００３５】
そして、資源情報取得部において取得される資源に関する情報（資源情報）は、複数のセンサノードから提供される資源情報であって、例えば、個々のセンサノードの本来の用途とは異なる用途に用いることが可能な資源の情報である。資源情報は、それぞれのセンサノードから定期的に取得されることで、常に最新の情報に更新されていることが望ましい。
【００３６】
必要資源情報算出ステップにおいて算出される必要資源情報は、資源情報取得ステップにおいて取得された資源情報をそのまま用いて算出されてもよいし、資源情報取得ステップにおいて取得された資源情報が一旦保存される記憶部、外部のサーバ、クラウド等から取り出された資源情報を用いて算出されてもよい。
不足資源情報算出ステップにおいて算出される不足資源情報は、単一のセンサノードを用いては実行できない要求に対して、不足している資源情報を意味している。
【００３７】
組合せ決定ステップは、単一のセンサノードでは実行できない要求に対して、複数のセンサノードが有している資源を組み合わせることで、実現を可能とする組合せを決定する。なお、組合せ決定ステップにおいて決定される資源の組合せは、１つであっても複数であってもよい。例えば、複数の組合せが挙げられた場合には、各種条件を満たす最善の組合せを選択すればよい。
【００３８】
また、本管理装置は、複数のセンサノードと通信可能であれば、各センサノードとは別の場所に設けられていてもよいし、特定のセンサノード内に設けられていてもよい。
これにより、例えば、複数のセンサノードの個々が有する資源だけでは実現不能な要求が入力された場合でも、複数のセンサノードが有している資源を効果的に組み合わせて用いることにより、当該要求を容易に実現することができる。
【００３９】
この結果、当該要求に対応するセンサノードを新たに設置する必要がないため、既設のセンサノードを組み合わせて、様々なニーズに応えることができる。
【発明の効果】
【００４０】
本発明に係る管理装置によれば、複数のセンサノードが有する資源を組み合わせることで、様々なニーズに応えることができる。
【図面の簡単な説明】
【００４１】
【図１】本発明の一実施形態に係るコーディネータを含む管理システムの構成を示すブロック図。
【図２】図１に示す管理システムにおいて、各センサノードから最新の資源情報がアップロードされる状態を示すブロック図。
【図３】図１に示す管理システムにおいて、外部から入力されたニーズに対して、必要なコマンドをセンサノードへ送信する状態を示すブロック図。
【図４】図１の管理システムに含まれるコーディネータ（管理装置）の構成を示すブロック図。
【図５】図１の管理システムに含まれるセンサノードの構成を示すブロック図。
【図６】図１の管理システムに含まれるコーディネータ（管理装置）によって実行される管理方法の流れを示すフローチャート。
【図７】図１の管理システムに含まれるコーディネータ（管理装置）によって実行される管理方法の流れを示すフローチャート。
【図８】図１の管理システムに含まれるコーディネータ（管理装置）によって管理方法が実行された際のセンサノード側の処理の流れを示すフローチャート。
【図９】図１の管理システムに含まれるコーディネータ（管理装置）によって管理方法が実行された際のセンサノード側の処理の流れを示すフローチャート。
【図１０】図１の管理システムに含まれるセンサノードが有する資源管理テーブルの内容を示す図。
【図１１】（ａ），（ｂ）は、図１の管理システムに含まれる資源ＤＢのテーブル構成の一例を示す図。
【図１２】図１の管理システムに含まれる資源ＤＢのテーブル構成（資源管理テーブル）の一例を示す図。
【図１３】本発明の実施例１に係るコーディネータを含む管理システムにおいて、外部から入力されたニーズに対して資源が不足している状態を示すブロック図。
【図１４】（ａ），（ｂ），（ｃ）は、図１３に示す管理システムにおいて、各センサノードが有する資源の内容を示す図。
【図１５】図１３に示す管理システムにおいて、センサノードから送信される送信パケットの一例を示す図。
【図１６】図１３に示す管理システムにおいて、外部から入力されたニーズに対して必要となる資源の算出結果を示す図。
【図１７】図１３に示す管理システムにおいて、外部から入力されたニーズに対する実現可能性評価を示す図。
【図１８】図１３に示す管理システムにおいて、外部から入力されたニーズを実現するために組み合わせられたセンサノードに対してコマンドが送信される状態を示すブロック図。
【図１９】図１３に示す管理システムにおいて、コーディネータから送信される送信パケットの一例を示す図。
【図２０】図１３に示す管理システムにおいて、コーディネータから送信されるコマンドの一例を示す図。
【図２１】図１３に示す管理システムにおいて、外部から入力されたニーズを実現するために組み合わせられたセンサノードが有する資源を融通し合う状態を示すブロック図。
【図２２】本発明の実施例２に係るコーディネータを含む管理システムにおいて、外部から入力されたニーズに対して資源が不足している状態を示すブロック図。
【図２３】（ａ），（ｂ）は、図２２に示す管理システムにおいて、各センサノードが有する資源の内容を示す図。
【図２４】図２２に示す管理システムにおいて、外部から入力されたニーズに対して必要となる資源の算出結果を示す図。
【図２５】図２２に示す管理システムにおいて、外部から入力されたニーズに対する実現可能性評価を示す図。
【図２６】図２２に示す管理システムにおいて、外部から入力されたニーズを実現するために組み合わせられたセンサノードに対してコマンドが送信される状態を示すブロック図。
【図２７】図２２に示す管理システムにおいて、外部から入力されたニーズを実現するために組み合わせられたセンサノードが有する資源を融通し合う状態を示すブロック図。
【図２８】本発明の他の実施形態に係るコーディネータの構成を示すブロック図。
【発明を実施するための形態】
【００４２】
本発明の一実施形態に係るコーディネータ（管理装置）１０およびこれを備えた管理システム１について、図１〜図１２を用いて説明すれば以下の通りである。
本実施形態の管理システム１は、図１に示すように、インターネット２を介して互いに接続されたコーディネータ（管理装置）１０と複数のセンサノード３０，４０，５０と、コーディネータ１０に接続された資源データベース（データベース）（以下、資源ＤＢと示す。）（記憶部）２０と、を備えている。
【００４３】
なお、本実施形態では、管理システム１内に、３つのセンサノード３０，４０，５０を含む構成を例として挙げているが、本管理システム１に含まれるセンサノードの数は３つに限定されるものではない。
コーディネータ１０は、ネットワークの管理機能を持つノードであって、後述する管理方法を実行する。これにより、コーディネータ１０は、複数のセンサノード３０，４０，５０が有する資源を組み合わせて実行することで、様々なニーズに応えることができる。
【００４４】
具体的には、コーディネータ１０は、図２に示すように、各センサノード３０，４０，５０から定期的に送信されてくる資源情報を、インターネット２を介して取得して、資源ＤＢ２０へ保存する。
そして、コーディネータ１０は、外部から入力されたニーズ（要求）に対して、１つのセンサノードでは実現不能な場合でも、図３に示すように、複数のセンサノード３０，４０が有する資源を組み合わせて実行するようにコマンドを送信する。これにより、各センサノード３０，４０，５０が設置された目的とは異なる想定外のニーズにも応えることができる。
【００４５】
すなわち、各センサノード３０，４０，５０は、それぞれが特定の目的に応じて設置されており、それぞれ独自の機能を有している。このため、設計時の目的とは異なる想定外のニーズが外部から入力された場合には、個々のセンサノード３０，４０，５０だけでは対応できない場合がある。この場合、従来は、そのニーズに応えるために、新たなセンサノードを設置する必要があった。
【００４６】
そこで、本実施形態のコーディネータ１０は、各センサノード３０，４０，５０から提供され資源ＤＢ２０に保存される資源情報を用いて、様々なニーズに対応できるように、複数のセンサノード３０，４０，５０が有する資源を組み合わせて実行する。
なお、コーディネータ１０の詳細な構成については、後段にて詳述する。
資源ＤＢ２０は、コーディネータ１０およびインターネット２を介して、各センサノード３０，４０，５０から受信した個々のセンサノード３０，４０，５０が有する資源に関する情報（資源情報）を保存する。
【００４７】
より詳細には、資源ＤＢ２０は、各センサノード３０，４０，５０から提供され、それぞれの本来の用途とは異なる用途として提供可能な資源に関する情報を保存する。ここで、各センサノード３０，４０，５０において他の用途に提供可能な資源は時間経過ごとに変化する。このため、資源ＤＢ２０に保存される資源情報は、所定時間経過ごとに各センサノード３０，４０，５０から最新情報が提供され、定期的に更新される。
【００４８】
資源ＤＢ２０に保存される資源情報には、例えば、各センサノード３０，４０，５０が有するセンサの種類、メモリの容量、データ処理機能、通信機能（ネットワーク）、時間（周期）等に関する情報が含まれる（図１２等参照）。
複数のセンサノード３０，４０，５０は、それぞれが特有の目的に合わせて設計・設置されている。そして、それぞれのセンサノード３０，４０，５０は、定期的に、個々が有する資源に関する最新の情報を、インターネット２を介してコーディネータ１０へ送信する。
【００４９】
なお、センサノード３０等の詳細な構成については、後段にて詳述する。
（コーディネータ１０）
本実施形態のコーディネータ１０は、外部から入力されたニーズ（要求）を受信すると、管理システム１に含まれる個々のセンサノード３０，４０，５０の本来の用途とは異なる用途への使用を実現するために、必要とされる資源（ハード・ソフト）を算出する。そして、コーディネータ１０は、算出された必要資源情報および各センサノード３０，４０，５０から提供可能な資源情報を蓄積した資源ＤＢ３０の情報に基づいて、ニーズに応えるために個々のセンサノード３０，４０，５０では不足する資源情報（不足資源情報）（量、時間等）を算出する。
【００５０】
なお、各センサノード３０，４０，５０から提供可能な資源情報には、各センサノード３０，４０，５０が有するセンサの種類、メモリ容量、データ処理機能、通信方式・性能、電源情報等が含まれる。
さらに、コーディネータ１０は、ニーズに関する情報と不足資源情報とに基づいて、互いに補完可能な複数のセンサノード３０，４０，５０が有する資源の組み合わせパターンを複数生成する。
【００５１】
そして、コーディネータ１０は、各センサノード３０，４０，５０に対して、個々の用途とは異なる用途向けに各センサノード３０，４０，５０が有する資源を提供するように、各センサノード３０，４０，５０にコマンドを送信する。
これにより、各センサノード３０，４０，５０は、受信したコマンドに応じて、必要な資源を提供することで、個々の本来の用途とは異なる用途で使用される場合でも、外部から入力されたニーズに応えることができる。
【００５２】
本実施形態のコーディネータ１０は、上述した管理方法を実行するために、図４に示すように、受付部１１、ニーズ解釈部１２、必要資源情報算出部１３ａ、不足資源情報算出部１３ｂ、組合せ決定部１４、資源ＤＢ管理部１５、センサネットワーク管理部１６、パケットハンドリング部１７、通信部（資源情報取得部、通信部）１８、センシングデータ管理部１９を有している。
【００５３】
受付部１１は、ユーザから入力された自然言語で記述されたニーズを受け付けて、ニーズ解釈部１２へ送信する。
ニーズ解釈部１２は、ユーザから入力されたニーズを機能要件ごとに分解して、各機能を実現するために必要な資源の算出に必要な性能情報を入力情報から抽出する。
必要資源情報算出部１３ａは、ニーズ解釈部１２において抽出された機能要件（計測／データ保持／データ加工）ごとのニーズに基づいて、必要な資源の種類と必要な性能を算出する。
【００５４】
不足資源情報算出部１３ｂは、資源ＤＢ２０に保存された資源情報を用いて、個々のセンサノード３０，４０，５０によって、上記ニーズに応えるためには不足している資源の情報を算出する。
組合せ決定部１４は、必要な資源の種類と必要な性能を実現するための資源の組合せを複数生成する。つまり、組合せ決定部１４は、どのセンサノード３０，４０，５０のどの資源を、いつ、どれだけ使用するかという情報が盛り込まれた組合せを複数生成する。
【００５５】
そして、組合せ決定部１４は、複数生成された資源の組合せに関して、現在使用されている資源の情報および各センサノード３０，４０，５０からの変更要求の有無に基づいて、最終的に実行する資源の組合せを決定する。
さらに、組合せ決定部１４は、資源ＤＢ２０から取得したい情報を、資源ＤＢ管理部１５へ送信し、資源ＤＢ２０へ書き込みたい情報を、資源ＤＢ管理部１５へ送信する。
【００５６】
資源ＤＢ管理部１５は、組合せ決定部１４から要求された資源ＤＢ２０に保存された資源情報の読み出し・書き込み要求に基づいて、資源ＤＢ２０へＳＱＬ文を送信する。
センサネットワーク管理部１６は、各センサノード３０，４０，５０のセンサネットワークへの参加や離脱の手続きを管理する。そして、センサネットワーク管理部１６は、各センサノード３０，４０，５０のセンサネットワークへの参加・離脱の結果に基づいて、資源ＤＢ２０の更新すべき情報を資源ＤＢ管理部１５へ送信する。
【００５７】
パケットハンドリング部１７は、各センサノード３０，４０，５０から通信部１８を介して受信したデータを、データの種別に応じて適切な構成要素へ送信する。そして、パケットハンドリング部１７は、各センサノード３０，４０，５０へ送信したい情報を、各部から受信して、パケットを生成し、通信部１８へ送信する。
通信部１８は、センサノード３０，４０，５０に接続された通信手段であって、各センサノード３０，４０，５０へパケットを送信するとともに、各センサノード３０，４０，５０からパケットを受信（物理的な電波の発射、受信）する。
【００５８】
センシングデータ管理部１９は、図４に示すように、コーディネータ１０の外部に設けられたセンシングデータＤＢ２１へ書き込まれるセンシングデータを、パケットハンドリング部１７から受信して、センシングデータＤＢ２１へ書き込むためのコマンドを生成、発行する。
本実施形態のコーディネータ１０は、以上のような構成により、各センサノード３０，４０，５０の本来の用途とは異なる用途での使用を要求された場合でも、既設のセンサノード３０，４０，５０が有する提供可能な資源を融通し合うことができる。
【００５９】
この結果、ユーザによって入力されたニーズに応えるための専用のセンサノードを新たに設置する必要がなくなるとともに、ユーザが入力したニーズに応えることができる。
（センサノード３０）
本実施形態の管理システム１は、例えば、基板上に、各種センサ、データ処理機能、データ通信機能、メモリ機能等が実装された装置として構成された複数のセンサノード３０，４０，５０を含むように構成されている。
【００６０】
ここでは、そのうちの１つであるセンサノード３０の構成を例として挙げて説明する。なお、他のセンサノード４０，５０については、詳細な説明を省略するが、センサノード３０とほぼ同様の構成を有しているものとする。
センサノード３０は、図５に示すように、通信部３１、パケットハンドリング部３２、資源分配制御部３３、資源管理テーブル３４、タスク管理部３５、データ保持部３６、計測部３７、データ加工部３８を有している。
【００６１】
通信部３１は、図５に示すように、他のセンサノード４０，５０、およびコーディネータ１０と接続されている。そして、通信部３１は、他のセンサノード４０，５０に対してパケットを送信するとともに、センサノード４０，５０からパケットを受信する。また、通信部３１は、他のセンサノード４０，５０へパケットを送信するとともに、コーディネータ１０からパケットを受信する。
【００６２】
パケットハンドリング部３２は、通信部３１を介して他のセンサノード４０，５０またはコーディネータ１０から受信したデータを、データの種別に応じて適切な構成要素（資源分配制御部３３、データ保持部３６、計測部３７、データ加工部３８等）へ送信する。また、パケットハンドリング部３２は、他のセンサノード４０，５０あるいはコーディネータ１０に対して送信したい情報を各構成要素から受信して、パケットを生成し、通信部３１へ送信する。
【００６３】
資源分配制御部３３は、コーディネータ１０からの要求に基づいて、センサノード３０が本来の用途とは異なる用途に提供可能な資源の情報（種類、提供可能時間等）を、資源管理テーブル３４から取得した情報に基づいて算出する。そして、資源分配制御部３３は、資源管理テーブル３４の内容の読み出し・書き込みを行う。
資源管理テーブル３４は、センサノード３０の資源について、いつからいつまで、どのアプリケーションが、使用するか等に関する情報を保存する。
【００６４】
タスク管理部３５は、資源管理テーブル３４に保存された各資源の稼働予約情報を参照して、現在から最も近い将来に実行すべきタスクを抽出する。そして、タスク管理部３５は、実行命令を各構成要素（パケットハンドリング部３２、データ保持部３６、計測部３７、データ加工部３８等）へ送信する。
データ保持部３６は、タスク管理部３５から受信した命令に基づいて、計測部３７において取得されたセンシングデータ、データ加工部３８において加工されたデータ、他のセンサノード４０，５０から受信したデータ等を保持する。
【００６５】
計測部３７は、タスク管理部３５から受信した命令に基づいて、所定の物理量の計測を実行するとともに、データ保持部３６にセンシングデータを送信する。
データ加工部３８は、タスク管理部３５から受信した命令に基づいて、データ保持部３６から入力データを取得してデータ加工を実行し、加工済のデータをデータ保持部３６へ送信する。
【００６６】
本実施形態の管理システム１では、各センサノード３０，４０，５０は、コーディネータ１０から受信したパケットの内容に基づいて、個々のセンサノード３０，４０，５０の本来の用途とは異なる用途へ少なくとも一部の資源を提供する。
これにより、ユーザからコーディネータ１０に入力されたニーズに応じて、本来の用途以外の用途へ、各センサノード３０，４０，５０が有する資源を組み合わせて使用することができる。
【００６７】
＜管理システム１による管理方法＞
本実施形態のコーディネータ１０およびこれを備えた管理システム１によって実施される管理方法について、図６〜図９を用いて説明すれば以下の通りである。
すなわち、コーディネータ１０は、図６に示すように、まず、ステップＳ１１において、受付部１１が、ユーザから入力されたニーズを受け付ける。
【００６８】
次に、ステップＳ１２では、ニーズ解釈部１２が、受付部１１において受け付けたニーズの意味を理解する。具体的には、ニーズ解釈部１２は、上述したように、ユーザから入力されたニーズを機能要件ごとに分解して、各機能を実現するために必要な資源の算出に必要な性能情報を入力情報から抽出する。
次に、ステップＳ１３では、必要資源情報算出部１３ａが、ユーザから入力されたニーズに応えるために必要とされる資源の情報を算出する。
【００６９】
なお、ステップＳ１３とステップＳ１４との間に入る“Ａ”は、資源ＤＢ２０に保存された資源情報が最新情報に更新されたことを示している。
次に、ステップＳ１４では、通信部１８が、管理システム１に含まれる複数のセンサノード３０，４０，５０から、各センサノード３０，４０，５０が有する資源に関する情報を取得する。
【００７０】
次に、ステップＳ１５では、不足資源情報算出部１３ｂが、ステップＳ１３において算出された必要資源情報と、ステップＳ１４において取得された各センサノード３０，４０，５０が有する資源情報とを比較して、個々のセンサノード３０，４０，５０では不足している資源の情報（不足資源情報）を算出する。
次に、ステップＳ１６では、組合せ決定部１４が、資源ＤＢ２０に保存された資源情報に基づいて、ユーザによって入力されたニーズに応えるために必要な資源の組合せの答え（解）を複数生成する。
【００７１】
次に、ステップＳ１７では、センシングデータ管理部１９が、特定の資源の組合せに含まれる資源を有するセンサノード３０，４０，５０に対して、提供要請を行うために生成したコマンドを送信する。
なお、ステップＳ１７とステップＳ１８との間に入る“Ｂ”は、コマンドを送信したセンサノード３０，４０，５０からの返信待ちであることを示している。
【００７２】
次に、ステップＳ１８では、通信部１８を介して、コマンドを送信した各センサノード３０，４０，５０からの回答を受信し、各センサノード３０，４０，５０から資源の提供が可能であるか否かを判定する。ここで、提供可能（ＯＫ）の場合には、ステップＳ１９へ進む。一方、センサノード３０，４０，５０側の変更によって、資源の提供不可（ＮＧ）となった場合には、ステップＳ２０へ進む。
【００７３】
次に、ステップＳ１９では、ステップＳ１８において各センサノード３０，４０，５０から資源の提供が可能と判定されているため、提供される資源の情報を他に提供不可とするように資源ＤＢ２０に保存された資源情報を更新する。
ここで、コマンドが送信されたセンサノード３０，４０，５０では、提供の要請を受けた資源を提供して、ニーズに応えるための処理が実行される。
【００７４】
次に、ステップＳ２０では、ステップＳ１８において資源の提供不可と判定されているため、ニーズに応えられる他の資源の組合せの有無を確認する。ここで、他の組合せがある場合には、ステップＳ２１へ進み、ない場合には、そのまま処理を終了する。
次に、ステップＳ２１では、ステップＳ２０において他の組合せがあると判定されているため、その組合せを選択し、再度、ステップＳ１７〜Ｓ２０までの処理を繰り返す。
【００７５】
さらに、本実施形態の管理方法では、図７に示すフローチャートに従って、受信したパケットの種別に応じて処理を行う。
すなわち、ステップＳ２２では、センサノード３０，４０，５０から受信したパケットの種別を判定する。ここで、パケットの種別が、資源の組合せに関する内容であればステップＳ２３へ進む。そして、パケットの種別が、センシングデータに関する内容であればステップＳ２６へ、センサネットワークに関する内容であれば、ステップＳ２７へ進む。
【００７６】
次に、ステップＳ２３では、資源の組合せにおけるパケットの種別を判定する。ここで、パケットの種別がコマンドに対するレスポンスであればステップＳ２４へ進む。一方、パケットの種別が資源の組合せに関する変更リクエストであれば、ステップＳ２５へ進む。
ステップＳ２４では、受信したパケットの種別がコマンドに対するレスポンスであるため、その回答内容をチェックする。そして、上述したステップＳ１７とステップＳ１８との間に進む（図６のＢ）。
【００７７】
また、ステップＳ２５では、資源提供のコマンドを送信したセンサノード３０，４０，５０から変更リクエストを受信したため、提供可能であった資源が提供不可となるように、資源ＤＢ２０の内容を最新情報に更新する。そして、上述したステップＳ１３とステップＳ１４との間に進む（図６のＡ）。
一方、ステップＳ２６では、パケットの種別がセンシングデータに関する内容であるため、センシングデータ管理部１９が、センシングデータＤＢ２１にデータを保存して処理を終了する。
【００７８】
さらに、ステップＳ２７では、パケットの種別がセンサネットワークに関する内容であるため、センサネットワーク管理部１６が、管理システム１への新たなセンサノードの追加、あるいは管理システム１からのセンサノードの離脱の手続きを行う。
次に、ステップＳ２８では、管理システム１に新たに追加されたセンサノードから提供可能な資源に関する情報を追加、あるいは管理システム１から離脱したセンサノードが有していた資源に関する情報を削除するように、資源ＤＢ２０を最新情報に更新する。
【００７９】
＜センサノード３０，４０，５０における処理＞
本実施形態の管理方法では、上述したコーディネータ１０における処理を受けて、図８に示すフローチャートに従って、各センサノード３０，４０，５０において、処理タスクの種別に応じて処理を行う。
すなわち、ステップＳ３１では、各センサノード３０のタスク管理部３６が、資源管理テーブル３４から次の処理タスクを抽出する。
【００８０】
次に、ステップＳ３２では、処理タスクの種別を判定する。ここで、シャットダウンに関する内容であればステップＳ３３へ、計測に関する内容であればステップＳ３４へ、データ加工に関する内容であればステップＳ３７へ、センシングデータ送信に関する内容であればステップＳ４１へ、他のセンサノード４０，５０からのデータ保持に関する内容であればステップＳ４５へ、それぞれ進む。
【００８１】
そして、ステップＳ３３では、処理タスクの種別判定の結果に基づいて、シャットダウン処理を実行して処理を終了する。
また、ステップＳ３４では、処理タスクの種別判定の結果に基づいて、タスク管理部３６の命令を受けた計測部３７が、センサによる計測を実行する。
次に、ステップＳ３５では、計測部３７が、センサにおける計測結果（センシングデータ）を、データ保持部３６に保存する。
【００８２】
次に、ステップＳ３６では、周期的な計測を実施することを想定して、タスク管理部３６が、パケットハンドリング部３２と資源分配制御部３３とを介して、次回計測時刻を資源管理テーブル３４へ上書きして保存させる。
また、ステップＳ３７では、処理タスクの種別判定の結果に基づいて、タスク管理部３６の命令を受けたデータ加工部３８が、データ保持部３６から入力データを取得する。
【００８３】
次に、ステップＳ３８では、データ加工部３８が、データ加工処理を実行する。
なお、ここで実行されるデータ加工には、例えば、平均値の算出、ＦＦＴ（高速フーリエ変換；Fast Fourier Transform）処理等が含まれる。
次に、ステップＳ３９では、データ加工部３８が、加工済みデータをデータ保持部３６へ保存する。
【００８４】
次に、ステップＳ４０では、周期的なデータ加工を実施することを想定して、タスク管理部３６が、パケットハンドリング部３２と資源分配制御部３３とを介して、次回加工時刻を資源管理テーブル３４へ上書きして保存させる。
また、ステップＳ４１では、処理タスクの種別判定の結果に基づいて、タスク管理部３６の命令を受けたパケットハンドリング部３２が、データ保持部３６から入力データを取得する。
【００８５】
次に、ステップＳ４２では、パケットハンドリング部３２が、送信パケットを生成する。
次に、ステップＳ４３では、パケットハンドリング部３２が、通信部３１に送信パケットを送信させる。
次に、ステップＳ４４では、周期的なパケット送信を実施することを想定して、タスク管理部３６が、パケットハンドリング部３２と資源分配制御部３３とを介して、次回送信時刻を資源管理テーブル３４へ上書きして保存させる。
【００８６】
また、ステップＳ４５では、タスク管理部３６が、処理タスクの種別判定の結果に基づいて、他のセンサノード４０，５０から受信したデータを保持した際に、受信タイミングが同期しているか否かを判定する。ここで、同期している場合にはステップＳ４６へ進み、非同期の場合にはステップＳ４９へ進む。
次に、ステップＳ４６では、他のセンサノード４０，５０からの受信タイミングが同期しているため、受信待ち状態となる。
【００８７】
次に、ステップＳ４７では、パケットハンドリング部３２が、データを受信すると受信データをデータ保持部３６へ保存する。
次に、ステップＳ４８では、周期的な受信を想定して、タスク管理部３６が、パケットハンドリング部３２と資源分配制御部３３とを介して、次回受信時刻を資源管理テーブル３４へ上書きして保存させる。
【００８８】
次に、ステップＳ４９では、他のセンサノード４０，５０からの受信タイミングが非同期であるため、パケットハンドリング部３２が、受信したデータをデータ保持部３６へ保存する。
次に、ステップＳ５０では、ステップＳ４８と同様に、周期的な受信を想定して、タスク管理部３６が、パケットハンドリング部３２と資源分配制御部３３とを介して、次回受信時刻を資源管理テーブル３４へ上書きして保存させる。
【００８９】
本実施形態の管理方法では、センサノード３０においてデータを受信した場合には、図９に示すフローチャートに従って、処理を実行する。
すなわち、ステップＳ５１においてデータを受信すると、ステップＳ５２では、その受信データのパケットの種別を判定する。
ここで、コーディネータ１０から送信されたコマンドであった場合には、ステップＳ５３へ進み、他のセンサノード４０，５０から送信されたデータであった場合には、ステップＳ５７へ進む。
【００９０】
次に、ステップＳ５３では、コーディネータ１０から受信したコマンドの内容に従って、資源提供情報が資源管理テーブル３４へ書き込まれる。
次に、ステップＳ５４では、コーディネータ１０から受信したコマンドを実行した結果を判定する。ここで、コマンドの実行の結果が成功であった場合にはステップＳ５５へ進み、失敗であった場合にはステップＳ５６へ進む。
【００９１】
次に、ステップＳ５５では、コマンド実行の結果が成功であったとのレスポンスを、通信部３１を介して、コーディネータ１０へ送信する。
一方、ステップＳ５６では、コマンド実行の結果が失敗であったとのレスポンスを、通信部３１を介して、コーディネータ１０へ送信する。
そして、ステップＳ５７では、他のセンサノード４０，５０から受信したデータの資源管理テーブル３４への保持処理を、現在時刻において予約する。
【００９２】
（資源管理テーブル３４）
本実施形態のコーディネータ１０およびこれを備えた管理システム１において、センサノード３０が有する資源管理テーブル３４の内容の一例について、図１０を用いて説明すれば以下の通りである。
すなわち、資源管理テーブル３４には、図１０に示すように、タスクカテゴリ、タスク（Task）番号、優先度（Priority）、ステータス（Status）、アプリケーション（App．）番号、開始時刻（Start Time）、周期（Cycle）に関する情報が保存されている。
【００９３】
本実施形態では、各タスクは、タイムスロット管理されており、例えば、１スロット＝１００ｍｓのタイムスロットを想定している。そして、全てのタスクは、１タイムスロット以内に完了するものと想定されている。
タスクカテゴリには、計測（温度、加速度）、データ加工（平均値（Ave）、FFT）、センシングデータ送信（送信）、他のセンサノードからのセンシングデータの一時的な保持（一時保持）に関する情報が含まれる。
【００９４】
タスク番号は、受付順（0×01〜）に付された番号である。
優先度は、同時刻に処理が重複した場合に参照される優先度（0×01〜優先度高い）を示している。
ステータスは、処理が現在有効（0×01）、あるいは無効（0×00）であることを示している。
【００９５】
アプリケーション番号は、ユーザから入力されたニーズの内容に応じて付される番号であって、異なる番号の場合には、異なるアプリケーションが使用されることを意味している。
開始時刻は、各処理の開始時刻を意味している。なお、図１０に示す数値は、１６進数によって表されており、絶対的な時間を示すものではなく、数値が小さいものから順に実施されることを意味するものである。
【００９６】
周期は、各処理が繰り返し実施されるものであるか否か、そしてその周期に関する数値を意味している。なお、図１０に示す数値は、１６進数によって表されており、例えば、５分おきに実施される等の情報を意味している。
また、開始時刻および周期の値は、タイムスロットのカウント値であって、実際の時間は、各値×１００ｍｓである。
【００９７】
さらに、各タスク完了時には、次に実行されるタイミングを開始時刻の欄に上書きする方法で次の実施の予約が行われる。
すなわち、今回実行したタスクのStart Timeの値にCycleの値を加えた値をnext Start Timeの値とし、テーブルのすべての開始時刻をチェックして、例えば、next Start Timeと同じ値が無ければ、Start Timeの値をnext Start Timeに上書きする。一方、next Start Timeと同じ値があれば、”Priority”を比較し、“Priority”が高ければ、自タスクのStart Timeを上書きするとともに、”Priority”が低かった別のタスクのStart Timeを１インクリメントとして上書きし、“Priority”が低ければ、next Start Timeの値に１インクリメントした値を新たなnext Start Timeの値として、再度チェックを行えばよい。
【００９８】
（資源ＤＢ２０のテーブル）
本実施形態の管理システム１を構成する資源ＤＢ２０の構成の一例について、図１１（ａ）、図１１（ｂ）、および図１２を用いて説明すれば以下の通りである。
すなわち、資源ＤＢ２０に保存されるテーブルには、図１１（ａ）に示すセンサノード番号テーブル、図１１（ｂ）に示すアトリビュートＩＤテーブル、図１２に示すセンサノード資源管理テーブルが含まれる。
【００９９】
図１１（ａ）に示すセンサノード番号テーブルには、シリアル番号、センサノード番号、位置（Position）、ネットワークＩＤに関する情報が含まれている。
シリアル番号は、受付順（１〜）に付された番号である。
センサノード番号は、管理システム１に含まれる複数のセンサノード３０，４０，５０ごとに付された番号である。
【０１００】
位置（Position）は、ＧＰＳ（Global Positioning System）情報を用いて特定される各センサノード３０，４０，５０の設置場所に関する情報を意味している。
ネットワークＩＤは、各センサノード３０，４０，５０が有する通信方法を特定する情報を意味している。
図１１（ｂ）に示すアトリビュートＩＤテーブルには、検索効率を向上させるために作成されたテーブルであって、シリアル番号、アトリビュートＩＤ、デスクリプション（Description）に関する情報が含まれている。
【０１０１】
シリアル番号は、受付順（１〜）に付された番号である。
アトリビュートＩＤは、デスクリプション（Description）に記載された機能の略語を意味している。例えば、ＳＥＮは、計測（Sensing）、MEMは、記録（保存）（Memory）、ＤＰＲＯは、データ処理（Data Processing）、ＮＷＫは、通信（Network）を意味している。
【０１０２】
図１２に示すセンサノード資源管理テーブルは、各センサノード３０，４０，５０がそれぞれ有している資源管理テーブル（資源管理テーブル３４等）を集約したものである。資源管理テーブル３４の内容については、図１０を用いてすでに説明しているため、これらを複数集めて構成されるセンサノード資源管理テーブルに関する説明は省略する。
（実施例１）
本実施例に係るコーディネータ（管理装置）１０およびこれを備えた管理システム１について、図１３〜図２１を用いて説明すれば以下の通りである。
【０１０３】
本実施例の管理システム１では、図１３に示すように、３つのアプリ用に３つの異なるセンサが設けられた３つのセンサノード３０，４０，５０が設置されていたとする。
なお、本実施例では、各センサノード３０，４０，５０からそれぞれセンサの計測結果がコーディネータ１０へ送信される際に、本来の用途とは異なる用途へ提供可能な資源に関する情報を併せて送信する。そして、コーディネータ１０は、受信した資源情報を、資源ＤＢ２０へ書き込むものとする。
【０１０４】
このとき、App.3用のセンサノード５０にチルト計測用の加速度センサが搭載されており、３つのアプリとは異なる用途でこの加速度センサのデータを利用したいユーザからのニーズが入力されたとする。そして、ユーザは、３軸の加速度データを４００Ｈｚで０．５秒計測し、これを５分周期で行いたいというニーズを入力したとする。この場合、上述の計測１単位で生じるデータは、以下の計算式によって６ｋＢとなる。
【０１０５】
３軸×４００データ/sec×０．５sec×１０byte／データ＝６０００byte＝６ｋＢ
本実施例の構成では、App.3用のセンサノード５０のデータ用メモリは、１．５ｋＢしかないため、ユーザから入力されたニーズを実現するためにはメモリ不足のために、センサノード５０だけで実現することができない。
ここで、各センサノード３０，４０，５０が有しており、他の用途へ提供可能な資源の具体例を、図１４（ａ）、図１４（ｂ）、図１４（ｃ）に示す。
【０１０６】
センサノード３０が有しており、他の用途へ提供可能な資源は、図１４（ａ）に示すように、電力、力率を計測するセンサ、５ｋＢのメモリ、暗号（ＡＥＳ１２８）のデータ処理、１０ｋｂｐｓのデータ通信である。
センサノード４０が有しており、他の用途へ提供可能な資源は、図１４（ｂ）に示すように、温度、湿度、照度を計測するセンサ、３ｋＢのメモリ、１０ｋｂｐｓのデータ通信である。なお、センサノード４０は、データ処理機能に対応する資源であって他の用途へ提供可能な資源を有していない。
【０１０７】
センサノード５０が有しており、他の用途へ提供可能な資源は、図１４（ｃ）に示すように、傾き、３軸加速度、質量を計測するセンサ、１ｋＢのメモリ、１０ｋｂｐｓのデータ通信である。なお、センサノード５０も、データ処理機能に対応する資源であって他の用途へ提供可能な資源を有していない。
次に、各センサノード３０，４０，５０からコーディネータ１０に対して送信される送信パケットの一例について、図１５を用いて説明する。
【０１０８】
各センサノード３０，４０，５０からコーディネータ１０に対して送信される送信パケットは、図１５に示すように、メッセージフレーム（Message Frame）が１単位（1パケット）であって、メッセージフレームの中には、データエンティティ（Data Entity）が含まれる。
メッセージフレームに含まれるデータタイプＩＤ（Data Type ID）には、４種類のＩＤが設定されている。
【０１０９】
１つ目のＩＤ（0x01）は、“センサノード→コーディネータへの送信、かつ資源テーブル情報なし”を意味している。
２つ目のＩＤ（0x02）は、“センサノード→コーディネータへの送信、かつ資源テーブル情報あり”を意味している。
３つ目のＩＤ（0x10）は、“コーディネータ→センサノードへの送信（コーディネータからのコマンド）”を意味している。
【０１１０】
４つ目のＩＤ（0x00）は、“ブロードキャスト”を意味している。
そして、図１５に示す送信パケットは、各センサノード３０，４０，５０から資源が提供される際に送信されるパケットとして、２つ目のＩＤ（0×02）が設定されている。
データエンティティに含まれるアプリケーションＩＤは、以下のような情報を含んでいる。
【０１１１】
ＩＤ（0x01〜0xFE）は、“reserved”でアプリケーションのために確保されており、ＩＤ（0xFF）は、提供可能資源情報を意味している。
また、アプリケーションＩＤ（0xFF）のとき、データエンティティに含まれるSensor Data IDには、資源ＤＢ２０のAttribute IDが格納される。
そして、データエンティティに含まれるSensor Dataには、各Attribute IDのDataが格納される。なお、Dataは、一例としてtextとし、20byteを最大とする。
【０１１２】
そして、本実施例の管理システム１では、図１３に示すコーディネータ１０に、ユーザからニーズが入力されると、上述した必要資源情報算出部１３ａ（図４参照）において、図１６に示す必要資源情報が算出される。
本実施例では、図１６に示すように、ユーザから入力されたニーズを実現するために必要な資源として、センサノード５０の加速度センサ、メモリ６ｋＢ、ネットワーク０．１６ｋｂｐｓ（データ処理は不要）を含む必要資源情報が算出される。
【０１１３】
そして、コーディネータ１０では、不足資源情報算出部１３ｂ（図４参照）において、実現可能性評価として、図１７に示す不足資源情報が算出される。
本実施例では、図１７に示すように、ユーザから入力されたニーズを実現するために必要な資源として、センサノード５０の加速度センサはＯＫ、メモリが５ｋＢ不足、ネットワーク０．１６ｋｂｐｓはＯＫ、データ処理は不要という実現可能性評価としての不足資源情報が算出される。
【０１１４】
このとき、コーディネータ１０は、資源ＤＢ２０に保存された資源情報を検索する。
具体的には、“検索条件：ＩＤ＝３のセンサノード５０近くのセンサノード３０，４０かつMemoryを提供可能なもの“として、”検索結果：Sensor Node ＩＤ＝１、Attribute ID =2, Data=5kB“および”検索結果：Sensor Node ＩＤ＝２、Attribute ID =2, Data=3kB“を得る。
【０１１５】
次に、コーディネータ１０では、組合せ決定部１４が、上記検索条件を満たす資源の組合せパターンを複数生成する。
例えば、パターン１として、“Sensor Node ID =1、Attribute ID =2, Data=5kB”、パターン２として、“Sensor Node ID =1、Attribute ID =2, Data=3kB”および“Sensor Node ID =2、Attribute ID =2, Data=2kB”を得る。
【０１１６】
ここで、複数生成された組合せパターンは、例えば、資源（メモリ）の稼働率が低い方、組み合わせ対象となるセンサノードの数が少ない方、ノード間の通信速度が速い方、を優先して組合せが選択される。
そして、コーディネータ１０では、管理システム１に含まれる複数のセンサノード３０，４０，５０から受信した資源情報により、他のセンサノード３０に、データ用メモリが５ｋＢ分、提供可能であることが分かる。
【０１１７】
そこで、コーディネータ１０は、複数のセンサノード３０，５０が有する資源を組み合わせて、ユーザから入力されたニーズを実現するために、図１８に示すように、コマンドを生成して、センサノード３０，５０に対して送信する。
ここで、センサノード３０，５０に対して送信されるコマンドは、パターン１の組合せを選択した結果、センサノード３０からメモリ５ｋＢ分を提供してもらうために、
・pattern 1：RUN
Sensor Node ID =1、Attribute ID =2, Data=5kB 
for Application ID = 0x04
というコマンドが送信される。
【０１１８】
センサノード３０，５０に対して送信されるコマンドの内容について、図１９および図２０を用いて、より詳細に説明すれば以下の通りである。
センサノード３０，５０に対して送信されるコマンドは、図１９に示すように、メッセージフレーム（Message Frame）が１単位（１パケット）であって、メッセージフレームの中には、データエンティティ（Data Entity）が含まれる。
【０１１９】
メッセージフレームに含まれるデータタイプＩＤ（Data Type ID）には、上述したように、４種類のＩＤが設定されている。
ここでは、３つ目のＩＤ（0x10）が選択され、その意味は、“コーディネータ→センサノードへの送信（コーディネータからのコマンド）”である。
次に、コーディネータ１０から送信されたコマンドのデータは、図２０に示すように、アプリケーションＩＤ、ソースセンサーノードＩＤ、デスティネーションＩＤ、アトリビュートＩＤ、データの部分が含まれる。
【０１２０】
アトリビュートＩＤ＝１の場合には、Sensing（計測）を意味しており、データは、センサＩＤとセンシング周期（Sensing Cycle）を含む。ここでは、Source Sensor Node IDはセンサノード自身のＩＤを示しており、どのアプリケーション（Application ID）のために、センサノード自身のどのセンサ出力（Sensor ID）をどれくらいの周期（Sensing Cycle）で取得し、どこに（Destination ID）送るのか、を示している。
【０１２１】
アトリビュートＩＤ＝２の場合には、Memory（記録）を意味しており、データは、センサＩＤとデータサイズを含む。ここでは、どのセンサノード（Source Sensor Node ID）から、どのアプリケーション（Application ID）の、どのセンサデータ（Sensor ID）のために、センサノード自身のメモリをどれだけ（Data Size）提供し、保持したデータをどこに（Destination ID）送るのか、を示している。
【０１２２】
アトリビュートＩＤ＝３の場合には、Data Processing（データ処理）を意味しており、データは、センサＩＤとファンクション（Function）ＩＤを含む。ここでは、どのセンサノード（Source Sensor Node ID）から、どのアプリケーション（Application ID）の、どのセンサデータ（Sensor ID）を入力して、センサノード自身のデータ処理機能（Function ID）を動作させて、出力されたデータをどこに（Destination ID）送るのか、を示している。
【０１２３】
よって、本実施例において、センサノード３０に送信されるコマンドには、アトリビュートＩＤ＝２が設定される。
これにより、センサノード３０からセンサノード５０に対して、センサノード５０が有する加速度センサのために、センサノード３０自身のメモリ５ｋＢを提供し、保持したデータをセンシングデータＤＢ２１へ送るように、コマンドが送信される。
【０１２４】
本実施例では、以上のような管理方法によって、図２１に示すように、管理システム１に含まれる複数のセンサノード３０，５０が有する資源を組み合わせて、ユーザから入力されたニーズを実現する。
すなわち、図２１に示すように、コーディネータ１０は、ユーザから入力されたニーズに対して、必要な資源を算出する。
【０１２５】
必要資源情報は、加速度センサ、メモリ６ｋＢ、ネットワーク０．１６ｋｂｐｓである。
そして、コーディネータ１０は、資源ＤＢ２０に保存された各センサノード３０，４０，５０が有する資源に関する情報を参照して、ニーズを実現するために１つのセンサノード５０では不足する不足資源情報を算出する。
【０１２６】
本実施例では、不足資源情報は、メモリ５ｋＢである。
そこで、コーディネータ１０は、センサノード５０単独では実現できないために、他のセンサノード３０，４０から提供可能な資源情報を参照して、他のセンサノード３０，４０が有する資源を、センサノード５０が有する資源と組み合わせる。
この結果、図２１に示すように、センサノード５０が有する資源として、加速度センサ、メモリ１ｋＢ、計測周期５分が提供され、センサノード３０が有する資源として、メモリ５ｋＢが提供される。
【０１２７】
そして、センサノード３０は、自身の提供可能な資源情報を更新するように、コーディネータ１０へパケットを送信する。
また、センサノード３０は、ＡｐｐＩＤ＝0×04のデータを５ｋＢ分受信した後、データ保持部３６へデータを送信する。
これにより、センサノード５０単独では、ユーザから入力されたニーズを実現できなかったところ、管理システム１に含まれる他の複数のセンサノード３０，４０等から使用していない資源を提供してもらうことで、容易にニーズを実現することができる。
【０１２８】
この結果、複数のセンサノード３０，５０が有する資源を組み合わせて使用することで、新たなセンサノードを設定することなく、様々なニーズに応えることができる。
（実施例２）
本実施例に係るコーディネータ（管理装置）１１０およびこれを備えた管理システム１０１について、図２２〜図２７を用いて説明すれば以下の通りである。
【０１２９】
本実施形態の管理システム１０１は、図２２に示すように、２つのアプリ用に２つの異なるセンサが設けられた３つのセンサノード１３０，１４０が設置されていたとする。
なお、本実施例では、各センサノード１３０，１４０からそれぞれセンサの計測結果がコーディネータ１０へ送信される際に、本来の用途とは異なる用途へ提供可能な資源に関する情報を併せて送信する。そして、コーディネータ１１０は、受信した資源情報を、資源ＤＢ２０へ書き込むものとする。
【０１３０】
このとき、センサノード１３０が設けられた装置Ａに関して、振動データの周波数スペクトル強度を把握したいユーザからのニーズが入力されたとする。そして、ユーザは、３軸の加速度データを１ｋＨｚで１．０秒計測し、これを５分周期で行いたいというニーズを入力したとする。
本実施例の構成では、装置Ａに設けられたセンサノード１３０には、ＦＦＴ機能がないため、ユーザから入力されたニーズを実現するためには、センサノード１３０だけで実現することができない。
【０１３１】
ここで、各センサノード１３０，１４０が有する資源の具体例を、図２３（ａ）および図２３（ｂ）に示す。
センサノード１３０が有しており、他の用途へ提供可能な資源は、図２３（ａ）に示すように、装置Ａの水平状態維持のために設けられた３軸センサ、４９．５ｋＢのメモリ、１０ｋｂｐｓのデータ通信である。なお、センサノード１３０は、データ処理機能に対応する資源の中で他の用途へ提供可能な資源を有していない。
【０１３２】
センサノード１４０が有しており、他の用途へ提供可能な資源は、図２３（ｂ）に示すように、装置Ｂ（コンプレッサ）の振動を検出して正常／異常を検知するための３軸加速度センサ、４０ｋＢのメモリ、ＦＦＴのデータ処理機能、１０ｋｂｐｓのデータ通信である。
そして、本実施例の管理システム１０１では、図２２に示すコーディネータ１１０に、ユーザからニーズが入力されると、上述した必要資源情報算出部１３ａ（図４参照）において、図２４に示す必要資源情報が算出される。
【０１３３】
本実施例では、図２４に示すように、ユーザから入力されたニーズを実現するために必要な資源として、センサノード１３０の加速度センサ、メモリ３０ｋＢ、ＦＦＴのデータ処理機能、ネットワーク０．８ｋｂｐｓを含む必要資源情報が算出される。
そして、コーディネータ１１０では、不足資源情報算出部１３ｂ（図４参照）において、実現可能性評価として、図２５に示す不足資源情報が算出される。
【０１３４】
本実施例では、図２５に示すように、ユーザから入力されたニーズを実現するために必要な資源として、センサノード１３０の加速度センサはＯＫ、メモリもＯＫ、データ処理機能としてＦＦＴ不足（ＮＧ）、ネットワーク０．８ｋｂｐｓはＯＫという実現可能性評価としての不足資源情報が算出される。
このとき、コーディネータ１１０は、資源ＤＢ２０に保存された資源情報を検索する。
【０１３５】
具体的には、“検索条件：ＩＤ＝２のセンサノード１３０近くのセンサノード１４０かつデータ処理機能としてＦＦＴを提供可能なもの“として、”検索結果：Sensor Node ＩＤ＝２、Attribute ID＝３, Data＝ＦＦＴ“を得る。
そして、コーディネータ１１０では、管理システム１０１に含まれる複数のセンサノード１３０，１４０から受信した資源情報により、他のセンサノード１４０に、センサノード１３０では不足しているデータ処理機能としてＦＦＴが提供可能であることが分かる。
【０１３６】
そこで、コーディネータ１１０は、複数のセンサノード１３０，１４０が有する資源を組み合わせて、ユーザから入力されたニーズを実現するために、図２６に示すように、コマンドを生成して、センサノード１３０，１４０に対して送信する。
ここで、センサノード１３０，１４０に対して送信されるコマンドは、センサノード１４０からデータ処理機能（ＦＦＴ）を提供してもらうために、
・pattern 1：RUN
Sensor Node ID =2、Attribute ID =3, Data=FFT 
for Application ID = 0x03
というコマンドが送信される。
【０１３７】
本実施例では、以上のような管理方法によって、図２７に示すように、管理システム１０１に含まれる複数のセンサノード１３０，１４０が有する資源を組み合わせて、ユーザから入力されたニーズを実現する。
すなわち、図２７に示すように、コーディネータ１１０は、ユーザから入力されたニーズに対して、必要な資源を算出する。
【０１３８】
必要資源情報は、加速度センサ、メモリ３０ｋＢ、データ処理機能ＦＦＴ、ネットワーク０．８ｋｂｐｓである。
そして、コーディネータ１１０は、資源ＤＢ２０に保存された各センサノード１３０，１４０が有する資源に関する情報を参照して、ニーズを実現するために１つのセンサノード１３０では不足する不足資源情報を算出する。
【０１３９】
本実施例では、不足資源情報は、データ処理機能ＦＦＴである。
そこで、コーディネータ１１０は、センサノード１３０単独では実現できないために、他のセンサノード１４０から提供可能な資源情報を参照して、他のセンサノード１４０が有する資源を、センサノード１３０が有する資源と組み合わせる。
この結果、図２７に示すように、センサノード１３０が有する資源として、加速度センサ、メモリ３０ｋＢが提供され、センサノード１４０が有する資源として、データ処理機能ＦＦＴが提供される。
【０１４０】
そして、センサノード１４０は、自身の提供可能な資源情報を更新するように、コーディネータ１１０へパケットを送信する。
また、センサノード１３０は、ＡｐｐＩＤ＝0×03のデータを３０ｋＢ、センサノード１４０へ送信する。そして、センサノード１４０においてデータ処理が行われ、処理後のデータをコーディネータ１１０へ送信する。
【０１４１】
これにより、センサノード１３０単独では、ユーザから入力されたニーズを実現できなかったところ、管理システム１０１に含まれる他の複数のセンサノード１４０から使用していない資源（ＦＦＴ）を提供してもらうことで、容易にニーズを実現することができる。
この結果、複数のセンサノード１３０，１４０が有する資源を組み合わせて使用することで、新たなセンサノードを設定することなく、様々なニーズに応えることができる。
【０１４２】
［他の実施形態］
以上、本発明の一実施形態について説明したが、本発明は上記実施形態に限定されるものではなく、発明の要旨を逸脱しない範囲で種々の変更が可能である。
（Ａ）
上記実施形態では、管理システム１に含まれるコーディネータ１０が、図６〜図９に示すフローチャートに従って、本発明の管理方法を実行する例を挙げて説明した。しかし、本発明はこれに限定されるものではない。
【０１４３】
例えば、図６〜図９に示すフローチャートに従って実施される管理方法を、コンピュータに実行させる管理プログラムとして、本発明を実現してもよい。
あるいは、上記管理プログラムを保存した記録媒体として、本発明を実現してもよい。
（Ｂ）
上記実施形態では、各センサノード３０，４０，５０が有する資源に関する情報を保存する資源ＤＢ２０を、コーディネータ１０の外部に設けた例を挙げて説明した。しかし、本発明はこれに限定されるものではない。
【０１４４】
例えば、図２８に示すように、コーディネータ２１０の内部に、資源情報を保存する資源ＤＢ（記憶部）２２０が設けられた構成であってもよい。
（Ｃ）
上記実施形態では、図１に示すように、３つのセンサノード３０，４０，５０とインターネット２を介して接続されたコーディネータ１０が、各センサノード３０，４０，５０が有する資源を組み合わせて実行する管理システム１の構成を例として挙げて説明した。しかし、本発明はこれに限定されるものではない。
【０１４５】
例えば、本発明の管理システムに含まれるセンサノードの数は、３つに限定されるものではなく、上記実施例２のように２つであってもよいし、４つ以上であってもよい。
（Ｄ）
上記実施例１では、図１３に示すように、各センサノード３０，４０，５０が有するセンサとして、電力（力率）センサ、温湿度センサ、照度センサ、加速度（傾き）センサ、重要センサを例として挙げて説明した。また、上記実施例２では、図２２に示すように、各センサノード１３０，１４０が有するセンサとして、加速度（傾き）センサ、加速度（振動）センサを例として挙げて説明した。
【０１４６】
しかし、本発明はこれに限定されるものではない。
例えば、本発明の管理システムを構成するセンサノードが有するセンサとしては、上記以外に、電圧センサ、電流センサ、人感センサ、接触センサ、圧力センサ等、物理量を計測する他のセンサであってもよい。
さらに、センサノードに含まれるデータ処理機能に関しても、上記実施例１，２において説明した機能以外のデータ処理機能が採用されていてもよい。
【０１４７】
また、センサノードに含まれるデータ通信機能に関しても、上記実施例１，２において説明した機能以外に、例えば、無線通信（ZigBee（登録商標）、Bluetooth（登録商標）等）や、ＩＰ網等を採用してもよい。
（Ｅ）
上記実施形態では、複数のセンサノード３０，４０，５０が、定期的に、個々のセンサノード３０，４０，５０が有する資源に関する最新の情報をコーディネータ１０へ送信する例を挙げて説明した。しかし、本発明はこれに限定されるものではない。
【０１４８】
例えば、管理システムを構成する複数のセンサノードに変更があった場合に、そのセンサノードから変更内容をコーディネータへ送信することで、資源情報を更新してもよい。
あるいは、管理システムに、新たなセンサノードがシステムに追加された場合に、そのセンサノードから自身の資源情報をコーディネータへ送信することで、システム内の資源情報を更新してもよい。
【０１４９】
さらには、管理システムを構成する既存のセンサノードの一部がシステムから外れる場合等に、そのセンサノードから自身の資源情報をコーディネータへ送信することで、システム内の資源情報を更新してもよい。
また、さらに他の実施形態として、ユーザからの入力をトリガにして、コーディネータが各センサノードへコマンドを送信し、各センサノードが提供可能な資源情報をレスポンスとしてコーディネータへ送信する方法を採用してもよい。
【０１５０】
この場合には、個々のセンサノードが有する資源に関する最新の情報を、コーディネータにおいて収集することができる。
（Ｆ）
上記実施形態では、資源ＤＢ２０には、各センサノード３０，４０，５０から本来の用途とは異なる用途に提供可能な資源に関する情報が送信・保存される例を挙げて説明した。しかし、本発明はこれに限定されるものではない。
【０１５１】
例えば、資源ＤＢには、各センサノードが有している全ての資源に関する情報が送信・保存されてもよい。
この場合には、各センサノードから個々の資源の使用予定（時間）等の情報を併せて送信することが望ましい。これにより、時間帯ごとに変化する他の用途へ提供可能な資源情報を認識することができる。
【０１５２】
（Ｇ）
上記実施形態では、コーディネータ１０が、個々のセンサノード３０，４０，５０の本来の用途とは異なる用途に提供される資源を組み合わせることで、外部から入力されたニーズに対応する例を挙げて説明した。しかし、本発明はこれに限定されるものではない。
例えば、複数のセンサノードが有する資源を組み合わせて使用される資源は、個々のセンサノードの本来の用途と同じ用途に用いられてもよい。
【０１５３】
すなわち、入力されたニーズが複数のセンサノードの本来の用途と同じ用途であった場合でも、個々のセンサノードの性能ではニーズに応えられない場合がある。そこで、特定のセンサノードの本来の用途であっても、その性能を補完できるように、複数のセンサノードが有する資源を組み合わせることで、ニーズに応じられるようにしてもよい。
（Ｈ）
上記実施形態では、コーディネータ１０に対して外部から入力されるニーズとして、ユーザから直接入力される情報を例として挙げて説明した。しかし、本発明はこれに限定されるものではない。
【０１５４】
例えば、外部から入力されるニーズとしては、ユーザから直接入力される情報以外に、外部の装置やシステム等から入力される情報であってもよい。
（Ｉ）
上記実施形態では、コーディネータ１０が、複数のセンサノード３０，４０，５０から提供可能な資源に関する情報を取得して、外部から入力されたニーズに応えるための資源の組合せを複数求める例を挙げて説明した。しかし、本発明はこれに限定されるものではない。
【０１５５】
例えば、コーディネータは、ニーズに応えるための資源の組合せを１つだけ求める構成であってもよい。
【産業上の利用可能性】
【０１５６】
本発明の管理装置は、複数のセンサノードが有する資源を組み合わせることで、様々なニーズに応えることができるという効果を奏することから、複数のセンサノードを含む各種システム等に対して広く適用可能である。
【符号の説明】
【０１５７】
１      管理システム
２      ネットワーク
１０      コーディネータ（管理装置）
１１      受付部
１２      ニーズ解釈部
１３ａ    必要資源情報算出部
１３ｂ    不足資源情報算出部
１４      組合せ決定部
１５      資源ＤＢ管理部
１６      センサネットワーク管理部
１７      バケットハンドリング部
１８      通信部（資源情報取得部、通信部）
１９      センシングデータ管理部
２０      資源ＤＢ（データベース）（記憶部）
２１      センシングデータＤＢ
３０      センサノード
３１      通信部
３２      バケットハンドリング部
３３      資源分配制御部
３４      資源管理テーブル
３５      タスク管理部
３６      データ保持部
３７      計測部
３８      データ加工部
４０      センサノード
５０      センサノード
１０１    管理システム
１１０    コーディネータ（管理装置）
１３０    センサノード
１４０    センサノード
２１０    コーディネータ
２２０    資源ＤＢ（データベース）（記憶部）
【図１】
0006733219.tif 000002
【図２】
0006733219.tif 000003
【図３】
0006733219.tif 000004
【図４】
0006733219.tif 000005
【図５】
0006733219.tif 000006
【図６】
0006733219.tif 000007
【図７】
0006733219.tif 000008
【図８】
0006733219.tif 000009
【図９】
0006733219.tif 000010
【図１０】
0006733219.tif 000011
【図１１】
0006733219.tif 000012
【図１２】
0006733219.tif 000013
【図１３】
0006733219.tif 000014
【図１４】
0006733219.tif 000015
【図１５】
0006733219.tif 000016
【図１６】
0006733219.tif 000017
【図１７】
0006733219.tif 000018
【図１８】
0006733219.tif 000019
【図１９】
0006733219.tif 000020
【図２０】
0006733219.tif 000021
【図２１】
0006733219.tif 000022
【図２２】
0006733219.tif 000023
【図２３】
0006733219.tif 000024
【図２４】
0006733219.tif 000025
【図２５】
0006733219.tif 000026
【図２６】
0006733219.tif 000027
【図２７】
0006733219.tif 000028
【図２８】
0006733219.tif 000029