(57)【要約】【課題】処理モジュールへ入力される入力データの前処理に関する判定を適切に行なうことができる前処理判定装置、前処理判定方法及びプログラムを提供する。【解決手段】処理モジュールには、入力データの条件を示す第１メタデータが対応付けられている。入力データには、入力データの属性を示す第２メタデータが対応付けられている。前処理判定装置は、第１取得部と、第２取得部と、判定部とを備える。第１取得部は、第１メタデータを取得するように構成されている。第２取得部は、第２メタデータを取得するように構成されている。判定部は、第１及び第２メタデータに基づいて、入力データの前処理に関する判定を行なうように構成されている。【選択図】図１
2019140550.tif 000002
【特許請求の範囲】
【請求項１】
処理モジュールへ入力される入力データの前処理に関する判定を行なうように構成された前処理判定装置であって、
前記処理モジュールは、少なくとも１つの前記入力データに基づいて前記入力データとは異なる出力データを生成するように構成されており、
前記処理モジュールには、前記入力データの条件を示す第１メタデータが対応付けられており、
前記入力データには、前記入力データの属性を示す第２メタデータが対応付けられており、
前記前処理判定装置は、
前記第１メタデータを取得するように構成された第１取得部と、
前記第２メタデータを取得するように構成された第２取得部と、
前記第１及び第２メタデータに基づいて、前記入力データの前処理に関する判定を行なうように構成された判定部とを備える、前処理判定装置。
【請求項２】
前記入力データは、デバイスによって前記処理モジュールへ出力され、
前記デバイスは、前記入力データと前記第２メタデータとを別々に出力するように構成されており、
前記第２メタデータは、前記デバイスによって前記前処理判定装置へ出力される、請求項１に記載の前処理判定装置。
【請求項３】
前記入力データと前記第２メタデータとは、ＩＤ（identification）によって対応付けられている、請求項２に記載の前処理判定装置。
【請求項４】
前記判定部による過去の判定結果を記憶するように構成された記憶部をさらに備え、
前記判定部は、前記第１及び第２メタデータ、並びに、前記過去の判定結果に基づいて、前記前処理に関する判定を行なうように構成されている、請求項１から請求項３のいずれか１項に記載の前処理判定装置。
【請求項５】
前記入力データの前処理は、前記入力データが前記入力データの条件を満たすように前記入力データに施される処理である、請求項１から請求項４のいずれか１項に記載の前処理判定装置。
【請求項６】
前記入力データは、デバイスによって前記処理モジュールへ出力され、
前記デバイスは、センサであり、
前記入力データは、前記センサによって生成されたセンシングデータである、請求項１から請求項５のいずれか１項に記載の前処理判定装置。
【請求項７】
前記処理モジュールは、複数の前記入力データに基づいて前記出力データを生成するように構成されている、請求項１から請求項６のいずれか１項に記載の前処理判定装置。
【請求項８】
前記入力データは、デバイスによって前記処理モジュールへ出力され、
前記処理モジュールは、前記処理モジュールへ前記入力データを出力する前記デバイスを切り替え可能に構成されている、請求項１から請求項７のいずれか１項に記載の前処理判定装置。
【請求項９】
前記入力データは、デバイスによって前記処理モジュールへ出力され、
前記処理モジュールと、前記処理モジュールへ前記入力データを出力する前記デバイスとによって仮想センサが形成される、請求項１から請求項８のいずれか１項に記載の前処理判定装置。
【請求項１０】
処理モジュールへ入力される入力データの前処理に関する判定を行なう前処理判定方法であって、
前記処理モジュールは、少なくとも１つの前記入力データに基づいて前記入力データとは異なる出力データを生成するように構成されており、
前記処理モジュールには、前記入力データの条件を示す第１メタデータが対応付けられており、
前記入力データには、前記入力データの属性を示す第２メタデータが対応付けられており、
前記前処理判定方法は、
前記第１メタデータを取得するステップと、
前記第２メタデータを取得するステップと、
前記第１及び第２メタデータに基づいて、前記入力データの前処理に関する判定を行なうステップとを含む、前処理判定方法。
【請求項１１】
処理モジュールへ入力される入力データの前処理に関する判定を行なう処理をコンピュータに実行させるためのプログラムであって、
前記処理モジュールは、少なくとも１つの前記入力データに基づいて前記入力データとは異なる出力データを生成するように構成されており、
前記処理モジュールには、前記入力データの条件を示す第１メタデータが対応付けられており、
前記入力データには、前記入力データの属性を示す第２メタデータが対応付けられており、
前記プログラムは、
前記第１メタデータを取得するステップと、
前記第２メタデータを取得するステップと、
前記第１及び第２メタデータに基づいて、前記入力データの前処理に関する判定を行なうステップとを前記コンピュータに実行させるように構成されている、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、前処理判定装置、前処理判定方法及びプログラムに関する。
【背景技術】
【０００２】
特開２０１４−４５２４２号公報（特許文献１）は、仮想センサを生成する仮想センサ生成装置を開示する。この仮想センサ生成装置においては、所定範囲内に存在する実センサが検出され、検出された実センサを用いることによって仮想センサが生成される（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１４−４５２４２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記特許文献１に開示されるような仮想センサは、たとえば、実センサ（デバイスの一例）と、処理モジュールとを含む。処理モジュールは、実センサにより出力されたセンシングデータ（入力データの一例）に処理を施すことによって、入力データとは異なる出力データを生成する。
【０００５】
処理モジュールにおいては、入力データの形式（たとえば、単位系、桁数）が予め決まっている場合がある。このような場合に所定の形式のデータが処理モジュールに入力されないと、処理モジュールにおいて適切な処理が行なわれない可能性がある。このような場合には、データを処理モジュールへ入力する前に、入力データに前処理を施すことが有効である。しかしながら、上記特許文献１においては、入力データの前処理に関して特に検討が行なわれていない。
【０００６】
本発明は、このような問題を解決するためになされたものであって、その目的は、処理モジュールへ入力される入力データの前処理に関する判定を適切に行なうことができる前処理判定装置、前処理判定方法及びプログラムを提供することである。
【課題を解決するための手段】
【０００７】
本発明に従う前処理判定装置は、処理モジュールへ入力される入力データの前処理に関する判定を行なうように構成されている。処理モジュールは、少なくとも１つの入力データに基づいて入力データとは異なる出力データを生成するように構成されている。処理モジュールには、入力データの条件を示す第１メタデータが対応付けられている。入力データには、入力データの属性を示す第２メタデータが対応付けられている。前処理判定装置は、第１取得部と、第２取得部と、判定部とを備える。第１取得部は、第１メタデータを取得するように構成されている。第２取得部は、第２メタデータを取得するように構成されている。判定部は、第１及び第２メタデータに基づいて、入力データの前処理に関する判定を行なうように構成されている。
【０００８】
この前処理判定装置においては、第１及び第２メタデータに基づいて、入力データの前処理に関する判定が行なわれる。すなわち、この前処理判定装置においては、処理モジュールにおける入力データの条件、及び、処理モジュールに入力される入力データの属性を考慮した上で、前処理に関する判定が行なわれる。したがって、この前処理判定装置によれば、前処理に関して必要な事項が考慮されるため、前処理に関する判定を適切に行なうことができる。
【０００９】
好ましくは、入力データは、デバイスによって処理モジュールへ出力される。デバイスは、入力データと第２メタデータとを別々に出力するように構成されている。第２メタデータは、デバイスによって前処理判定装置へ出力される。
【００１０】
この前処理判定装置においては、第２メタデータのみが前処理判定装置に出力される。したがって、この前処理判定装置によれば、デバイスと前処理判定装置との間の通信におけるトラフィックを抑制しつつ、前処理に関する判定を適切に行なうことができる。
【００１１】
好ましくは、入力データと第２メタデータとは、ＩＤ（identification）によって対応付けられている。
【００１２】
この前処理判定装置においては、入力データと第２メタデータとがＩＤによって対応付けられる。したがって、この前処理判定装置によれば、入力データと第２メタデータとが別々に処理されたとしても、ＩＤを参照することによって、入力データと第２メタデータとを再び紐付けることができる。
【００１３】
好ましくは、上記前処理判定装置は、記憶部をさらに備える。記憶部は、判定部による過去の判定結果を記憶するように構成されている。判定部は、第１及び第２メタデータ、並びに、過去の判定結果に基づいて、前処理に関する判定を行なうように構成されている。
【００１４】
この前処理判定装置においては、前処理に関する判定を行なう場合に、第１及び第２メタデータの他に過去の判定結果が考慮される。したがって、この前処理判定装置によれば、前処理に関して、過去の判定結果まで考慮されたより適切な判定を行なうことができる。
【００１５】
好ましくは、入力データの前処理は、入力データが上記入力データの条件を満たすように入力データに施される処理である。
【００１６】
好ましくは、入力データは、デバイスによって処理モジュールへ出力される。デバイスは、センサである。入力データは、センサによって生成されたセンシングデータである。
【００１７】
好ましくは、処理モジュールは、複数の入力データに基づいて出力データを生成するように構成されている。
【００１８】
好ましくは、入力データは、デバイスによって処理モジュールへ出力される。処理モジュールは、処理モジュールへ入力データを出力するデバイスを切り替え可能に構成されている。
【００１９】
好ましくは、入力データは、デバイスによって処理モジュールへ出力される。処理モジュールと、処理モジュールへ入力データを出力するデバイスとによって仮想センサが形成される。
【００２０】
また、本発明の別の局面に従う前処理判定方法は、処理モジュールへ入力される入力データの前処理に関する判定を行なう。処理モジュールは、少なくとも１つの入力データに基づいて入力データとは異なる出力データを生成する。処理モジュールには、入力データの条件を示す第１メタデータが対応付けられている。入力データには、入力データの属性を示す第２メタデータが対応付けられている。前処理判定方法は、第１メタデータを取得するステップと、第２メタデータを取得するステップと、第１及び第２メタデータに基づいて、入力データの前処理に関する判定を行なうステップとを含む。
【００２１】
この前処理判定方法においては、第１及び第２メタデータに基づいて、入力データの前処理に関する判定が行なわれる。すなわち、この前処理判定方法においては、処理モジュールにおける入力データの条件、及び、処理モジュールに入力される入力データの属性を考慮した上で、前処理に関する判定が行なわれる。したがって、この前処理判定方法によれば、前処理に関して必要な事項が考慮されるため、前処理に関する判定を適切に行なうことができる。
【００２２】
また、本発明の別の局面に従うプログラムは、処理モジュールへ入力される入力データの前処理に関する判定を行なう処理をコンピュータに実行させる。処理モジュールは、少なくとも１つの入力データに基づいて入力データとは異なる出力データを生成するように構成されている。処理モジュールには、入力データの条件を示す第１メタデータが対応付けられている。入力データには、入力データの属性を示す第２メタデータが対応付けられている。プログラムは、第１メタデータを取得するステップと、第２メタデータを取得するステップと、第１及び第２メタデータに基づいて、入力データの前処理に関する判定を行なうステップとをコンピュータに実行させるように構成されている。
【００２３】
このプログラムがコンピュータによって実行されると、第１及び第２メタデータに基づいて、入力データの前処理に関する判定が行なわれる。すなわち、このプログラムがコンピュータによって実行されると、処理モジュールにおける入力データの条件、及び、処理モジュールに入力される入力データの属性を考慮した上で、前処理に関する判定が行なわれる。したがって、このプログラムによれば、前処理に関して必要な事項が考慮されるため、前処理に関する判定を適切に行なうことができる。
【発明の効果】
【００２４】
本発明によれば、処理モジュールへ入力される入力データの前処理に関する判定を適切に行なうことができる前処理判定装置、前処理判定方法及びプログラムを提供することができる。
【図面の簡単な説明】
【００２５】
【図１】前処理判定装置の概要を説明するための図である。
【図２】センサネットワークシステムの一例を示す図である。
【図３】仮想センサ管理サーバのハードウェア構成の一例を示す図である。
【図４】前処理プログラムＤＢの一例を示す図である。
【図５】過去判定履歴ＤＢの一例を示す図である。
【図６】処理モジュール側メタデータＤＢの一例を示す図である。
【図７】センシングデバイスのハードウェア構成の一例を示す図である。
【図８】センシングデータ側メタデータの一例を示す図である。
【図９】制御部によって実現される各ソフトウェアモジュールの関係の一例を示す図である。
【図１０】前処理判定モジュールの詳細な構成の一例を示す図である。
【図１１】各データに付与されるＩＤの一例を示す図である。
【図１２】出力管理モジュールの詳細な構成の一例を示す図である。
【図１３】前処理モジュールの詳細な構成の一例を示す図である。
【図１４】前処理判定動作の一例を示すフローチャートである。
【図１５】センシングデバイスから処理モジュールへのセンシングデータの出力の管理動作の一例を示すフローチャートである。
【図１６】前処理動作の一例を示すフローチャートである。
【発明を実施するための形態】
【００２６】
以下、本発明の一側面に係る実施の形態（以下、「本実施の形態」とも称する。）について、図面を用いて詳細に説明する。なお、図中同一又は相当部分には同一符号を付してその説明は繰り返さない。また、以下で説明する本実施の形態は、あらゆる点において本発明の例示にすぎない。本実施の形態は、本発明の範囲内において、種々の改良や変更が可能である。すなわち、本発明の実施にあたっては、実施の形態に応じて具体的構成を適宜採用することができる。
【００２７】
［１．概要］
図１は、本実施の形態に従う前処理判定装置（モジュール）１１０の概要を説明するための図である。図１を参照して、処理モジュール１３０は複数の入力ポートを有し、各入力ポートにはセンシングデバイス１２（デバイスの一例）によって出力されたセンシングデータ（入力データの一例）が入力される。処理モジュール１３０は、入力データに基づいて入力データとは異なる出力データを生成するように構成されている。すなわち、処理モジュール１３０と、処理モジュール１３０へ入力データを出力するセンシングデバイス１２（入力センサ）とによって、いわゆる仮想センサが形成される。仮想センサとは、入力センサが対象を観測することによって生成されたセンシングデータに基づいて、入力センサによって観測された対象とは異なる対象の観測結果をセンシングデータとして出力するセンサモジュールである。仮想センサについては、後程詳しく説明する。
【００２８】
処理モジュール１３０においては、入力データの形式（たとえば、単位系、桁数）が予め決められている場合がある。このような場合に所定の形式のデータが処理モジュール１３０へ入力されないと、処理モジュール１３０において適切な処理が行なわれない可能性がある。このような場合には、処理モジュール１３０への入力前に、入力データに前処理を施すことが有効である。なお、前処理は、入力データが処理モジュール１３０の入力データの条件を満たすように入力データに施される処理である。
【００２９】
本実施の形態に従う前処理判定装置１１０は、処理モジュール１３０への入力データの前処理に関する判定を行なうように構成されている。具体的には、前処理判定装置１１０は、処理モジュール側メタデータ（以下、「第１メタデータ」とも称する。）１６１と、センシングデータ側メタデータ（以下、「第２メタデータ」とも称する。）１３とを取得する。第１メタデータ１６１は、処理モジュール１３０に対応付けられており、処理モジュール１３０への入力データの条件を示す。第２メタデータ１３は、センシングデバイス１２によって出力されるセンシングデータに対応付けられており、該センシングデータ（入力データ）の属性を示す。前処理判定装置１１０は、第１メタデータ１６１と第２メタデータ１３とに基づいて、処理モジュール１３０への入力データの前処理に関する判定を行なう。
【００３０】
すなわち、前処理判定装置１１０においては、処理モジュール１３０における入力データの条件、及び、処理モジュール１３０に入力される入力データの属性を考慮した上で、前処理に関する判定が行なわれる。したがって、前処理判定装置１１０によれば、前処理に関して必要な事項が考慮されるため、前処理に関する判定を適切に行なうことができる。
【００３１】
［２．構成］
＜２−１．システム全体の構成＞
図２は、本実施の形態に従う前処理判定モジュール（装置）１１０を含むセンサネットワークシステム１０の一例を示す図である。図２の例では、センサネットワークシステム１０は、センサネットワーク部１４と、仮想センサ管理サーバ１００と、アプリケーションサーバ３００とを含む。
【００３２】
センサネットワーク部１４、仮想センサ管理サーバ１００及びアプリケーションサーバ３００は、インターネット１５を介して相互に通信可能に接続されている。なお、センサネットワークシステム１０に含まれる各構成要素（仮想センサ管理サーバ１００、アプリケーションサーバ３００、センサネットワークアダプタ１１及びセンシングデバイス１２等）の数は、図２に示されるものに限定されない。
【００３３】
センサネットワークシステム１０においては、センシングデバイス１２等によって生成されたセンシングデータが流通可能である。たとえば、センシングデバイス１２によって生成されたセンシングデータは仮想センサ管理サーバ１００に流通し得るし、仮想センサによって生成されたセンシングデータはアプリケーションサーバ３００に流通し得る。
【００３４】
センサネットワーク部１４は、たとえば、複数のセンサネットワークアダプタ１１を含む。複数のセンサネットワークアダプタ１１の各々には複数のセンシングデバイス１２が接続されており、各センシングデバイス１２はセンサネットワークアダプタ１１を介してインターネット１５に接続されている。
【００３５】
センシングデバイス１２は、対象を観測することによってセンシングデータを得るように構成されている。センシングデバイス１２は、たとえば、画像センサ（カメラ）、温度センサ、湿度センサ、照度センサ、力センサ、音センサ、ＲＦＩＤ（Radio Frequency IDentification）センサ、赤外線センサ、姿勢センサ、降雨センサ、放射能センサ及びガスセンサ等を含む。また、センシングデバイス１２は、必ずしも固設型である必要はなく、携帯電話、スマートフォン及びタブレット等の移動型であってもよい。また、各センシングデバイス１２は、必ずしも単一のセンサで構成されている必要はなく、複数のセンサによって構成されていてもよい。また、センシングデバイス１２は、どのような目的で設置されていてもよく、たとえば、工場におけるＦＡ（Factory Automation）及び生産管理、都市交通制御、気象等の環境計測、ヘルスケア並びに防犯等のために設置されていてもよい。
【００３６】
センサネットワーク部１４において、たとえば、各センサネットワークアダプタ１１は別々の（遠い）場所に配置され、各センサネットワークアダプタ１１に接続される各センシングデバイス１２は同一の（近い）場所に配置されるが、これらの配置場所はこれに限定されない。
【００３７】
各アプリケーションサーバ３００（３００Ａ，３００Ｂ）は、センシングデータを利用するアプリケーションを実行するように構成されており、たとえば、汎用のコンピュータによって実現されている。アプリケーションサーバ３００は、インターネット１５を介して必要なセンシングデータを取得する。
【００３８】
仮想センサ管理サーバ１００は、仮想センサを実現するためのサーバである。仮想センサ管理サーバ１００においては、複数の処理モジュール１３０と、前処理モジュール１２０と、前処理判定モジュール１１０と、出力管理モジュール１４０とが実現されるとともに、前処理プログラムＤＢ１７０と、過去判定履歴ＤＢ１５０と、処理モジュール側メタデータＤＢ（以下、「第１メタデータＤＢ」とも称する。）１６０とが管理される。複数の処理モジュール１３０、前処理モジュール１２０、前処理判定モジュール１１０及び出力管理モジュール１４０の各々は、たとえば、ソフトウェアモジュールである。
【００３９】
処理モジュール１３０は、少なくとも１つの入力ポートを含み、各入力ポートに入力される入力データに基づいて入力データとは異なる出力データを生成するように構成されている。処理モジュール１３０は、必要に応じて入力ポートへ入力データを出力するセンシングデバイス１２を切り替え可能である。たとえば、現在入力ポートに入力データを出力しているセンシングデバイス１２が故障した場合に、処理モジュール１３０は、入力センサを他のセンシングデバイス１２に切り替えることができる。
【００４０】
処理モジュール１３０は、たとえば、室内に配置された音センサによって出力される入力データ（音声データ）に基づいて、該室内に存在する人の数を示すデータを出力するように構成されてもよい。この場合には、処理モジュール１３０と、センシングデバイス１２（音センサ）とによって、室内の人の数を検知する仮想センサを実現することができる。
【００４１】
前処理モジュール１２０は、各前処理プログラム（後述）が実行されることによって、処理モジュール１３０への入力データに所望の前処理を施すように構成されている。前処理判定モジュール１１０は、処理モジュール１３０への入力データの前処理に関する判定を行なうように構成されている。出力管理モジュール１４０は、センシングデバイス１２から処理モジュール１３０への入力データの出力を管理するように構成されている。各ソフトウェアモジュール及び各データベースの詳細については後程説明する。
【００４２】
＜２−２．仮想センサ管理サーバのハードウェア構成＞
図３は、仮想センサ管理サーバ１００のハードウェア構成の一例を示す図である。なお、本実施の形態において、仮想センサ管理サーバ１００は、たとえば、汎用コンピュータによって実現される。
【００４３】
図３の例では、仮想センサ管理サーバ１００は、制御部１８０と、通信Ｉ／Ｆ（interface）１９５と、記憶部１９０とを含み、各構成は、バス１９７を介して電気的に接続されている。
【００４４】
制御部１８０は、ＣＰＵ（Central Processing Unit）１８２、ＲＡＭ（Random Access Memory）１８４及びＲＯＭ（Read Only Memory）１８６等を含み、情報処理に応じて各構成要素の制御を行なうように構成されている。
【００４５】
通信Ｉ／Ｆ１９５は、インターネット１５を介して、仮想センサ管理サーバ１００の外部に設けられた外部装置（たとえば、アプリケーションサーバ３００及びセンサネットワーク部１４（図２））と通信するように構成されている。通信Ｉ／Ｆ１９５は、たとえば、有線ＬＡＮ（Local Area Network）モジュールや無線ＬＡＮモジュールで構成される。
【００４６】
記憶部１９０は、たとえば、ハードディスクドライブ、ソリッドステートドライブ等の補助記憶装置である。記憶部１９０は、たとえば、前処理プログラムＤＢ１７０と、過去判定履歴ＤＢ１５０と、第１メタデータＤＢ１６０と、制御プログラム１９１とを記憶するように構成されている。
【００４７】
図４は、前処理プログラムＤＢ１７０の一例を示す図である。前処理プログラムＤＢ１７０は、複数の前処理プログラムを管理するデータベースである。図４の例では、「プログラムＩＤ（identification）」と、「前処理内容」と、「格納場所」とが対応付けて管理されている。「プログラムＩＤ」は、各前処理プログラムを一意に特定可能な情報である。「前処理内容」は、各前処理プログラムが実行されることによって実現される前処理の内容を示す。「格納場所」は、各前処理プログラムが格納されている場所を特定可能な情報（たとえば、メモリ上のアドレス）である。
【００４８】
たとえば、この例では、プログラムＩＤ「１」の前処理プログラムは、処理モジュール１３０への入力データの「単位変換」を行なうプログラムであり、メモリ上の「アドレス：Ｚ１」に格納されている。なお、「単位変換」は、前処理の一例であり、入力データの単位を（たとえば、華氏から摂氏へ）変換する処理である。
【００４９】
図５は、過去判定履歴ＤＢ１５０の一例を示す図である。過去判定履歴ＤＢ１５０は、前処理判定モジュール１１０による判定結果の履歴を管理するデータベースである。図５の例では、過去判定履歴ＤＢ１５０において、各処理モジュール１３０（ＩＤ：Ｍ１，Ｍ２・・・）の入力ポート毎に、前処理判定モジュール１１０（図２）による判定結果の履歴が管理される。たとえば、各処理モジュール１３０の入力ポート毎に、「いつ」、「どのような前処理が必要と判定されたか」が管理される。
【００５０】
たとえば、この例では、ＩＤがＭ１である処理モジュール１３０のポート１において、２０１８年１月５日の１０時００分０５秒に、入力データに「単位変換」と「桁数調整」とを施す必要があると判定されている。なお、「桁数調整」は、前処理の一例である。「桁数調整」は、処理モジュール１３０の入力データの桁数が予め定められた桁数から外れている場合に、入力データの桁数を予め定められた範囲内に収まるように入力データの桁数を変更する処理である。
【００５１】
図６は、処理モジュール側メタデータ（第１メタデータ）ＤＢ１６０の一例を示す図である。第１メタデータＤＢ１６０は、処理モジュール１３０への入力データの条件を示す第１メタデータ１６１（図１）を管理するデータベースである。仮想センサ管理サーバ１００において実現される各処理モジュール１３０の第１メタデータ１６１は、予め第１メタデータＤＢ１６０に登録されている。図６の例では、第１メタデータＤＢ１６０において、各処理モジュール１３０の入力ポート毎に第１メタデータ１６１が管理されている。
【００５２】
第１メタデータ１６１には、たとえば、「センサ条件」と「入力データ条件」とが含まれる。「センサ条件」は、入力データ（センシングデータ）を出力するセンシングデバイス１２に求められる基本的な条件であり、たとえば、「種別」、「観測対象」、「設置場所」が含まれる。
【００５３】
「種別」はセンシングデバイス１２の種類であり、たとえば、温度センサ、照度センサ及びカメラの各々が「種別」の一例である。「観測対象」はセンシングデバイス１２によって観測される対象であり、たとえば、外気温、駅改札、照度及び温度の各々が「観測対象」の一例である。「設置場所」はセンシングデバイス１２が設置されている場所であり、たとえば、Ｐ１，Ｐ２及びＰ３の各々が「設置場所」の一例である（なお、Ｐ１、Ｐ２及びＰ３の各々は、たとえば、「京都駅前」等の具体的な場所を示すものとする。）。
【００５４】
「入力データ条件」は、入力データ（センシングデータ）の属性に関する条件であり、たとえば、「単位系」、「桁数」、「データ数／回」、「データ欠損」が含まれる。「単位系」は、たとえば、入力データの単位系に関する条件を示す。「桁数」は、たとえば、入力データの桁数に関する条件を示す。「データ数／回」は、たとえば、入力ポートへの１度の入力に必要なデータ数に関する条件を示す。「データ欠損」は、たとえば、入力データが欠損（欠落）することに関する条件を示す。
【００５５】
再び図３を参照して、制御プログラム１９１は、制御部１８０によって実行される仮想センサ管理サーバ１００の制御プログラムである。たとえば、制御部１８０が制御プログラム１９１を実行することによって、各処理モジュール１３０、前処理モジュール１２０、前処理判定モジュール１１０及び出力管理モジュール１４０が実現されてもよい。また、制御プログラム１９１には、各前処理プログラムが含まれてもよい。制御部１８０が制御プログラム１９１を実行する場合に、制御プログラム１９１は、ＲＡＭ１７４に展開される。そして、制御部１８０は、ＲＡＭ１７４に展開された制御プログラム１９１をＣＰＵ１８２によって解釈及び実行することにより、各構成要素を制御する。
【００５６】
＜２−３．センシングデバイスのハードウェア構成＞
図７は、センシングデバイス１２のハードウェア構成の一例を示す図である。図７の例では、センシングデバイス１２は、実センサ２０と、データバッファ２１と、通信部２２と、制御部２３とを含む。
【００５７】
実センサ２０は、たとえば、画像センサ（カメラ）、温度センサ、湿度センサ、照度センサ、力センサ、音センサ、ＲＦＩＤセンサ、赤外線センサ、姿勢センサ、降雨センサ、放射能センサ及びガスセンサ等であり、どのような種類のセンサであってもよい。実センサ２０は、センシングデータと、該センシングデータに対応付けられたセンシングデータ側メタデータ（第２メタデータ）１３とを出力するように構成されている。
【００５８】
図８は、センシングデータ側メタデータ（第２メタデータ）１３の一例を示す図である。図８の例において、第２メタデータ１３には、たとえば、「センサ属性」と「入力データ属性」とが含まれる。「センサ属性」は、センシングデータを出力するセンシングデバイス１２の属性を示し、たとえば、「種別」、「観測対象」、「設置場所」が含まれる。「入力データ属性」は、センシングデータの属性を示し、たとえば、「単位系」、「桁数」、「データ欠損」が含まれる。
【００５９】
たとえば、実センサ２０は、生成されたセンシングデータを確認することにより、「単位系」、「桁数」、「データ欠損」の有無を認識し、第２メタデータ１３を生成する。同じ実センサ２０であっても、様々な要因でエラーが生じ、生成されたセンシングデータの属性（単位系、桁数等）が変化してしまうことがある。詳細については後述するが、たとえば、センシングデータの単位系や桁数が想定外なものになってしまった場合には、センシングデータに前処理を施し、単位系や桁数を想定内のものに変換することが必要になる。
【００６０】
なお、センシングデバイス１２の属性によってセンシングデータの属性も影響を受けるため、「処理モジュール１３０へ入力される入力データの属性」には、「センサ属性」が含まれてもよい。
【００６１】
再び図７を参照して、データバッファ２１は、実センサ２０によって出力されたセンシングデータを一時的に記憶するように構成されている。データバッファ２１は、たとえば、ＤＲＡＭ（Dynamic Random Access Memory）、ＳＲＡＭ（Static Random Access Memory）等によって構成される。
【００６２】
通信部２２は、インターネット１５を介して、センシングデバイス１２の外部に設けられた外部装置（たとえば、アプリケーションサーバ３００及び仮想センサ管理サーバ１００）と通信するように構成されている。通信部２２は、たとえば、実センサ２０によって出力されたセンシングデータ及び第２メタデータ１３を仮想センサ管理サーバ１００に送信する。また、通信部２２は、たとえば、仮想センサ管理サーバ１００へのセンシングデータの送信可否（出力可否）を示す情報（以下、「出力可否情報」とも称する。）を仮想センサ管理サーバ１００から受信する。出力可否情報については、後程詳しく説明する。
【００６３】
制御部２３は、ＣＰＵ、ＲＡＭ及びＲＯＭ等を含み、情報処理に応じて各構成要素（たとえば、実センサ２０、データバッファ２１及び通信部２２）の制御を行なうように構成されている。たとえば、制御部２３は、上述の出力可否情報に基づいて、データバッファ２１に一時的に記憶されているセンシングデータの出力を制御する。
【００６４】
＜２−４．仮想センサ管理サーバのソフトウェア構成＞
図９は、制御部１８０によって実現される各ソフトウェアモジュールの関係の一例を示す図である。図９の例では、処理モジュール１３０、前処理判定モジュール１１０、出力管理モジュール１４０及び前処理モジュール１２０の各々が制御部１８０によって実現される。
【００６５】
前処理判定モジュール１１０は、第１メタデータＤＢ１６０から取得される第１メタデータ１６１と、センシングデバイス１２から取得される第２メタデータ１３とに基づいて、センシングデバイス１２によって出力されるセンシングデータの前処理に関する判定を行なう。前処理判定モジュール１１０による判定結果は、前処理モジュール１２０に通知される。
【００６６】
出力管理モジュール１４０は、第１メタデータ１６１と第２メタデータ１３とに基づいて、センシングデバイス１２によるセンシングデータの出力可否を判定する。判定結果（出力可否情報）は、センシングデバイス１２に送信される。
【００６７】
前処理モジュール１２０は、前処理判定モジュール１１０から取得された前処理に関する判定結果に従って、前処理モジュール１２０によって出力されたセンシングデータに前処理を施す。処理モジュール１３０には、前処理後のセンシングデータが入力される。以下、各ソフトウェアモジュールの詳細について順に説明する。
【００６８】
（２−４−１．前処理判定モジュール）
図１０は、前処理判定モジュール１１０の詳細な構成の一例を示す図である。なお、各ソフトウェアモジュールによる処理は、処理モジュール１３０の入力ポート毎に行なわれる。各入力ポートに対応する処理は、並列的に行なわれてもよいし、順次行なわれてもよい。以下においては、処理モジュール１３０の１つの入力ポートに着目した上で、各モジュールについて説明する。
【００６９】
図１０を参照して、センシングデバイス１２は、第２メタデータ１３と第２メタデータ１３に付与されたＩＤとを前処理判定モジュール１１０に出力し、センシングデータとセンシングデータに付与されたＩＤとを前処理モジュール１２０に出力する。すなわち、前処理判定モジュール１１０には、センシングデータが送信されない。したがって、本実施の形態においては、センシングデータと第２メタデータ１３との両方が前処理判定モジュール１１０に送信される場合と比較して、通信トラフィックが抑制されている。
【００７０】
第２メタデータ１３に付与されたＩＤと、センシングデータに付与されたＩＤとは関連性を有している。したがって、第２メタデータ１３とセンシングデータとが別々の宛先に送信されたとしても、各ＩＤを参照することによって後から第２メタデータ１３とセンシングデータとを紐付けることができる。
【００７１】
図１１は、各データに付与されるＩＤの一例を示す図である。図１１の例では、センシングデータにはセンシングデータＩＤが付与れており、該センシングデータに対応する第２メタデータ１３には第２メタデータＩＤが付与されている。この例では、センシングデータＩＤの下４桁（００ＸＸ）と、第２メタデータＩＤの下４桁（００ＸＸ）とは同一である。したがって、この例では、各ＩＤの下４桁を参照することによって、後から第２メタデータ１３とセンシングデータとを紐付けることができる。
【００７２】
再び図１０を参照して、前処理判定モジュール１１０は、取得部１１１，１１２と、判定部１１３と、通知部１１４とを含む。取得部１１１は、第２メタデータ１３と、第２メタデータ１３に付与されたＩＤとを取得する。取得部１１２は、入力ポートに対応付けられた第１メタデータ１６１（図１）を第１メタデータＤＢ１６０から取得する。
【００７３】
判定部１１３は、取得部１１１によって取得された第２メタデータ１３と、取得部１１２によって取得された第１メタデータ１６１とに基づいて、センシングデータの前処理の要否を判定するとともに、前処理が必要である場合には前処理の内容を判定する。
【００７４】
たとえば、判定部１１３は、第２メタデータ１３によって示される入力データ属性が第１メタデータ１６１によって示される入力データ条件を満たす場合に前処理が不要と判定する一方、第２メタデータ１３によって示される入力データ属性が第１メタデータ１６１によって示される入力データ条件を満たさない場合に前処理が必要と判定する。さらに、判定部１１３は、前処理が必要と判定された場合に、たとえば、入力データ属性が満たさない入力条件の内容に応じて必要な前処理の内容を判定する。たとえば、入力データ条件「桁数」が「３桁」である場合に、入力データ属性「桁数」が「５桁」であるときは、判定部１１３は、桁数を２桁減らす前処理が必要と判定する。
【００７５】
さらに、判定部１１３は、過去判定履歴ＤＢ１５０を参照することによって、必要と判定された前処理が直前に実行された前処理と同一であるか否かを判定する。仮に同一である場合には必要な前処理プログラムが既に読み出されており、前処理プログラムＤＢ１７０（図４）における検索を改めて行なう必要がないため、過去の判定履歴を参照することによって、前処理に関してより適切な判定をすることができる。
【００７６】
通知部１１４は、判定部１１３による判定結果を前処理モジュール１２０に通知する。たとえば、通知部１１４は、前処理の要否、必要な前処理の内容、及び、必要な前処理が直前に実行されているか否かを、第２メタデータ１３に付与されたＩＤとともに前処理モジュール１２０に通知する。
【００７７】
（２−４−２．出力管理モジュール）
図１２は、出力管理モジュール１４０の詳細な構成の一例を示す図である。図１２の例では、出力管理モジュール１４０は、取得部１４１，１４２と、判定部１４３と、通知部１４４とを含む。取得部１４１は、第２メタデータ１３と、第２メタデータ１３に付与されたＩＤとを、通信Ｉ／Ｆ１９５を介してセンシングデバイス１２から取得（受信）する。取得部１４２は、入力ポートに対応付けられた第１メタデータ１６１を第１メタデータＤＢ１６０から取得する。
【００７８】
判定部１４３は、取得部１１１によって取得された第２メタデータ１３と、取得部１１２によって取得された第１メタデータ１６１とに基づいて、センシングデバイス１２によるセンシングデータの出力可否を判定する。たとえば、判定部１４３は、第２メタデータ１３によって示されるセンサ属性が第１メタデータ１６１によって示されるセンサ条件を満たす場合に出力可能と判定する一方、第２メタデータ１３によって示されるセンサ属性が第１メタデータ１６１によって示されるセンサ条件を満たさない場合に出力不可能と判定する。すなわち、判定部１４３は、前処理を施したとしても処理モジュール１３０の入力データの条件をセンシングデータが満たさない場合に、センシングデバイス１２によるセンシングデータの出力が不可能であると判定する。
【００７９】
通知部１４４は、判定部１４３による判定結果を示す出力可否情報を、第２メタデータ１３に付与されたＩＤとともに、通信Ｉ／Ｆ１９５を介してセンシングデバイス１２に送信する。
【００８０】
センシングデバイス１２において、通信部２２を介して出力可否情報が受信されると、制御部２３は、受信された出力可否情報に従って、データバッファ２１に記憶されているセンシングデータの出力を制御する。たとえば、制御部２３は、受信された出力可否情報が「出力可」を示す場合に、出力可否情報とともに受信されたＩＤに対応するＩＤが付与されたセンシングデータを前処理モジュール１２０に送信するようにデータバッファ２１及び通信部２２を制御する。また、たとえば、制御部２３は、受信された出力可否情報が「出力不可」を示す場合に、出力可否情報とともに受信されたＩＤに対応するＩＤが付与されたセンシングデータをデータバッファ２１から削除する。
【００８１】
（２−４−３．前処理モジュール）
図１３は、前処理モジュール１２０の詳細な構成の一例を示す図である。図１３の例では、前処理モジュール１２０は、取得部１２１と、前処理部１２２とを含む。取得部１２１は、前処理判定モジュール１１０による判定結果と、第２メタデータ１３に付与されたＩＤとを取得する。
【００８２】
取得部１２１によって取得された判定結果が、前処理が必要である旨を示し、かつ、必要な前処理が直前に実行された前処理とは異なる旨を示すとする。この場合に、前処理部１２２は、たとえば、前処理プログラムＤＢ１７０において、判定結果が示す必要な前処理に対応する前処理プログラムを検索し、該前処理プログラムを読み出す。前処理部１２２は、取得部１２１によって取得されたＩＤに対応するＩＤが付与されたセンシングデータに前処理を施す。前処理部１２２においては、読み出された前処理プログラムが実行されることによって実現される前処理がセンシングデータに施される。そして、処理モジュール１３０には、前処理モジュール１２０による前処理後のセンシングデータが入力される。
【００８３】
取得部１２１によって取得された判定結果が、前処理が必要である旨を示し、かつ、必要な前処理が直前に実行された前処理と同一である旨を示すとする。この場合に、前処理部１２２は、たとえば、前処理プログラムＤＢ１７０における検索を実行しない。前処理部１２２においては、既に読み出されている前処理プログラムが実行されることによって実現される前処理がセンシングデータに施される。そして、処理モジュール１３０には、前処理モジュール１２０による前処理後のセンシングデータが入力される。
【００８４】
［３．動作］
＜３−１．前処理判定動作＞
図１４は、前処理判定動作の一例を示すフローチャートである。このフローチャートに示される処理は、たとえば、センシングデバイス１２から第２メタデータ１３が受信されるタイミングで、制御部１８０が前処理判定モジュール１１０として動作することによって実行される。なお、上述の通り、前処理の判定は、各処理モジュール１３０の入力ポート毎に行なわれるが、ここでは１つの処理モジュール１３０の１つの入力ポートに着目して説明する。
【００８５】
図１４を参照して、制御部１８０は、センシングデバイス１２から第２メタデータ１３と、該第２メタデータに付与されたＩＤとを取得する（ステップＳ１００）。制御部１８０は、入力ポートに対応付けられた第１メタデータ１６１を第１メタデータＤＢ１６０から取得する（ステップＳ１１０）。制御部１８０は、第１メタデータ１６１と第２メタデータ１３とに基づいて、第２メタデータに付与されたＩＤに対応するＩＤが付与されたセンシングデータの前処理の要否を判定する（ステップＳ１２０）。制御部１８０は、前処理が必要であると判定されたか否かを判定する（ステップＳ１３０）。
【００８６】
前処理が不要であると判定されると（ステップＳ１３０においてＮＯ）、前処理判定モジュール１１０（制御部１８０）は、前処理が不要である旨を、第２メタデータ１３に付与されたＩＤとともに前処理モジュール１２０に通知する（ステップＳ１６０）。
【００８７】
一方、前処理が必要であると判定されると（ステップＳ１３０においてＹＥＳ）、制御部１８０は、必要な前処理の内容を判定する（ステップＳ１４０）。制御部１８０は、過去判定履歴ＤＢ１５０を参照することによって、必要と判定された前処理が直前に実行された前処理と同一であるか否かを判定する（ステップＳ１５０）。そして、前処理判定モジュール１１０（制御部１８０）は、判定結果を、第２メタデータ１３に付与されたＩＤとともに前処理モジュール１２０に通知する（ステップＳ１６０）。
【００８８】
このように、前処理判定モジュール１１０においては、第１メタデータ１６１及び第２メタデータ１３に基づいて、処理モジュール１３０への入力データの前処理に関する判定が行なわれる。すなわち、前処理判定モジュール１１０においては、処理モジュール１３０における入力データの条件、及び、処理モジュール１３０へ入力される入力データの属性を考慮した上で、前処理に関する判定が行なわれる。したがって、前処理判定モジュール１１０によれば、前処理に関して必要な事項が考慮されるため、前処理に関する判定を適切に行なうことができる。
【００８９】
＜３−２．出力管理動作＞
図１５は、センシングデバイス１２から処理モジュール１３０へのセンシングデータの出力の管理動作の一例を示すフローチャートである。このフローチャートに示される処理は、たとえば、センシングデバイス１２によってセンシングデータが生成されたタイミングで実行される。なお、上述の通り、センシングデータの出力管理は各処理モジュール１３０の入力ポート毎に行なわれるが、ここでは１つの処理モジュール１３０の１つの入力ポートに着目して説明する。
【００９０】
図１５を参照して、左方のフローチャートは、制御部２３（センシングデバイス１２）によって実行される。一方、右方のフローチャートは、制御部１８０（仮想センサ管理サーバ１００）が出力管理モジュール１４０として動作することによって実行される。
【００９１】
図１５の左方を参照して、制御部２３は、実センサ２０（図７）によって出力されたセンシングデータを一時的に記憶するようにデータバッファ２１を制御する（ステップＳ２００）。制御部２３は、データバッファ２１に一時記憶されたセンシングデータに対応する第２メタデータ１３と、該第２メタデータ１３に付与されたＩＤとを仮想センサ管理サーバ１００に送信するように通信部２２を制御する（ステップＳ２１０）。
【００９２】
その後、制御部２３は、仮想センサ管理サーバ１００からセンシングデータの出力可否情報等が受信されたか否かを判定する（ステップＳ２２０）。出力可否情報等が受信されていないと判定されると（ステップＳ２２０においてＮＯ）、制御部２３は、出力可否情報等が受信されるまで待機する。
【００９３】
図１５の右方を参照して、制御部１８０は、第２メタデータ１３と、該第２メタデータ１３に付与されたＩＤとが受信されたか否かを判定する（ステップＳ３００）。各データが受信されていないと判定されると（ステップＳ３００においてＮＯ）、制御部１８０は、各データが受信されるまで待機する。
【００９４】
各データが受信されたと判定されると（ステップＳ３００においてＹＥＳ）、制御部１８０は、処理モジュール１３０の入力ポートに対応付けられている第１メタデータ１６１を第１メタデータＤＢ１６０から取得する（ステップＳ３１０）。制御部１８０は、第１メタデータ１６１と第２メタデータ１３とに基づいて、第２メタデータ１３が対応付けられたセンシングデータのセンシングデバイス１２から処理モジュール１３０への出力可否を判定する（ステップＳ３２０）。制御部１８０は、ステップＳ３２０における判定結果を示す出力可否情報を、第２メタデータ１３に付与されたＩＤとともにセンシングデバイス１２に送信するように通信Ｉ／Ｆ１９５を制御する（ステップＳ３３０）。
【００９５】
再び図１５の左方を参照して、ステップＳ２２０において、出力可否情報及びＩＤが受信されたと判定されると（ステップＳ２２０においてＹＥＳ）、制御部２３は、ＩＤの照合を行なうことによって、データバッファ２１に一時記憶されているセンシングデータのうち対象のセンシングデータを特定する（ステップＳ２３０）。
【００９６】
制御部２３は、出力可否情報を参照することによって、特定されたセンシングデータが出力可（送信可）であるか否かを判定する（ステップＳ２４０）。送信が可能であると判定されると（ステップＳ２４０においてＹＥＳ）、制御部２３は、対象のセンシングデータと、該センシングデータに付与されたＩＤとを前処理モジュール１２０（仮想センサ管理サーバ１００）に送信するように通信部２２を制御する（ステップＳ２５０）。一方、送信が不可能であると判定されると（ステップＳ２４０においてＮＯ）、制御部２３は、対象のセンシングデータをデータバッファ２１から削除するための処理を実行する（ステップＳ２６０）。
【００９７】
このように、出力管理モジュール１４０においては、第１メタデータ１６１及び第２メタデータ１３に基づいた、処理モジュール１３０へのセンシングデータの出力可否が、センシングデバイス１２に通知される。すなわち、処理モジュール１３０の入力データの条件、及び、データバッファ２１に一時記憶されているセンシングデータの属性が考慮されたセンシングデータの出力可否がセンシングデバイス１２に通知される。したがって、出力管理モジュール１４０によれば、必要な事項が考慮された出力可否情報がセンシングデバイス１２に通知され、所定条件を満たさないセンシングデータが処理モジュール１３０に入力される可能性が低下するため、処理モジュール１３０が不適切な処理を行なう可能性を低減することができる。
【００９８】
また、出力管理モジュール１４０においては、出力可否情報が、第２メタデータ１３に付与されているＩＤとともにセンシングデバイス１２に通知される。したがって、出力管理モジュール１４０によれば、ＩＤをセンシングデバイス１２に参照させることによって、センシングデータ毎の出力可否をセンシングデバイス１２に認識させることができる。
【００９９】
＜３−３．前処理動作＞
図１６は、前処理動作の一例を示すフローチャートである。このフローチャートに示される処理は、前処理判定モジュール１１０から判定結果及びＩＤ（第２メタデータ１３に付与されたＩＤ）が通知されたタイミングで、制御部１８０が前処理モジュール１２０として動作することによって実行される。なお、上述の通り、センシングデータの前処理は、各処理モジュール１３０の入力ポート毎に行なわれるが、ここでは１つの処理モジュール１３０の１つの入力ポートに着目して説明する。
【０１００】
図１６を参照して、制御部１８０は、センシングデバイス１２から受信されるセンシングデータに付与されたＩＤと、前処理判定モジュール１１０から通知されたＩＤとを照合する（ステップＳ４００）。制御部１８０は、前処理判定モジュール１１０から通知されたＩＤに対応するＩＤが付与されたセンシングデータが受信されたか否かを判定する（ステップＳ４１０）。
【０１０１】
前処理判定モジュール１１０から通知されたＩＤに対応するＩＤが付与されたセンシングデータが受信されていないと判定されると（ステップＳ４１０においてＮＯ）、制御部１８０は、該センシングデータが受信されるまで待機する。一方、前処理判定モジュール１１０から通知されたＩＤに対応するＩＤが付与されたセンシングデータが受信されたと判定されると（ステップＳ４１０においてＹＥＳ）、制御部１８０は、前処理判定モジュール１１０から取得された判定結果を参照することによって、対象のセンシングデータに必要な前処理を判定する（ステップＳ４２０）。
【０１０２】
制御部１８０は、さらに、前処理判定モジュール１１０から取得された判定結果を参照することによって、必要な前処理が直前にセンシングデータに施された前処理と同一であるか否かを判定する（ステップＳ４３０）。
【０１０３】
必要な前処理が直前にセンシングデータに施された前処理とは異なると判定されると（ステップＳ４３０においてＮＯ）、制御部１８０は、前処理プログラムＤＢ１７０において必要な前処理プログラムを検索する（ステップＳ４４０）。そして、制御部１８０は、必要な前処理プログラムが前処理プログラムＤＢ１７０に存在するか否かを判定する（ステップＳ４５０）。前処理プログラムＤＢ１７０に必要な前処理プログラムが存在すると判定されると（ステップＳ４５０においてＹＥＳ）、制御部１８０は、該前処理プログラムを読み出し、読み出された前処理プログラムを実行することによって、対象のセンシングデータに前処理を施す（ステップＳ４６０）。その後、前処理モジュール１２０（制御部１８０）は、前処理後のセンシングデータを処理モジュール１３０へ送信する（ステップＳ４７０）。
【０１０４】
ステップＳ４３０において、必要な前処理プログラムが直前にセンシングデータに施された前処理と同一であると判定されると（ステップＳ４３０においてＹＥＳ）、制御部１８０は、既に読み出されている前処理プログラムを実行することによって、対象のセンシングデータに前処理を施す（ステップＳ４６０）。
【０１０５】
また、ステップＳ４５０において、前処理プログラムＤＢ１７０に必要な前処理プログラムが存在しないと判定されると（ステップＳ４５０においてＮＯ）、前処理モジュール１２０（制御部１８０）は、前処理が施されていないセンシングデータとともに、所定メッセージを処理モジュール１３０へ送信する（ステップＳ４８０）。所定メッセージは、たとえば、必要な前処理プログラムが存在しない旨を示すメッセージである。
【０１０６】
このように、前処理モジュール１２０においては、前処理判定モジュール１１０における判定結果に従って、センシングデータに前処理が施される。すなわち、前処理モジュール１２０においては、処理モジュール１３０における入力データの条件、及び、処理モジュール１３０に入力される入力データ（センシングデータ）の属性が考慮された上で、入力データに前処理が施される。したがって、前処理モジュール１２０によれば、処理モジュール１３０の入力データに適切な前処理が施されるため、処理モジュール１３０に不適切なデータが入力される可能性を低減することができる。
【０１０７】
また、センシングデータと第２メタデータ１３とはＩＤを介して対応付けられている。そして、前処理の判定において、ＩＤを考慮することによって、入力データ毎に前処理に関する判定が行なわれる。前処理モジュール１２０によれば、該判定結果に基づいて、入力データ毎に適切な前処理を施すことができる。
【０１０８】
［４．特徴］
以上のように、本実施の形態に従う前処理判定装置（モジュール）１１０においては、第１メタデータ１６１及び第２メタデータ１３に基づいて、処理モジュール１３０への入力データの前処理に関する判定が行なわれる。すなわち、前処理判定装置（モジュール）１１０においては、処理モジュール１３０における入力データの条件、及び、処理モジュール１３０へ入力される入力データの属性を考慮した上で、前処理に関する判定が行なわれる。したがって、前処理判定装置（モジュール）１１０によれば、前処理に関して必要な事項が考慮されるため、前処理に関する判定を適切に行なうことができる。
【０１０９】
なお、処理モジュール１３０は、本発明の「処理モジュール」の一例であり、前処理判定モジュール１１０は、本発明の「前処理判定装置」の一例である。第１メタデータ１６１は、本発明の「第１メタデータ」の一例であり、第２メタデータ１３は、本発明の「第２メタデータ」の一例である。取得部１１２は、本発明の「第１取得部」の一例であり、取得部１１１は、本発明の「第２取得部」の一例であり、判定部１１３は、本発明の「判定部」の一例である。センシングデバイス１２は、本発明の「デバイス」の一例であり、記憶部１９０は、本発明の「記憶部」の一例である。
【０１１０】
［５．変形例］
以上、実施の形態について説明したが、本発明は、上記実施の形態に限定されるものではなく、その趣旨を逸脱しない限りにおいて、種々の変更が可能である。以下、変形例について説明する。但し、以下の変形例は適宜組合せ可能である。
【０１１１】
＜５−１＞
上記実施の形態において、各処理モジュール１３０の各入力ポートは、いずれかのセンシングデバイス１２からセンシングデータの入力を受け付けることとした。しかしながら、各入力ポートにデータを出力する主体は、必ずしもセンシングデバイス１２でなくてもよい。各入力ポートにデータを出力する主体は、たとえば、データセットを記憶したストレージであってもよいし、仮想センサであってもよい。なお、データセットは、予め生成された複数のデータの集合である。たとえば、予め所定期間、対象を観測することによって得られたセンシングデータの集合は、データセットの一例である。各入力ポートにデータを出力する主体が必ずしもセンシングデバイス１２である必要がないため、処理モジュール１３０の入力データは、必ずしもセンシングデータでなくてもよい。たとえば、入力データは、ショッピングサイトにおける各ユーザの購買履歴データや、ゲームサイトにおける各ユーザのスコアデータ等であってもよい。
【０１１２】
＜５−２＞
また、上記実施の形態において、仮想センサ管理サーバ１００によって行なわれた処理は、複数のサーバ等によって実現されてもよい。
【０１１３】
＜５−３＞
また、必ずしもセンシングデータ毎に第２メタデータ１３が対応付けられている必要はない。たとえば、複数のセンシングデータに１つの第２メタデータ１３が対応付けられていてもよい。この場合には、同一の第２メタデータ１３が対応付けられた複数のセンシングデータの各々には、同一の前処理が施されることになる。
【符号の説明】
【０１１４】
１０  センサネットワークシステム、１１  センサネットワークアダプタ、１２  センシングデバイス、１３  センシングデータ側メタデータ（第２メタデータ）、１４  センサネットワーク部、１５  インターネット、２０  実センサ、２１  データバッファ、２２  通信部、２３，１８０  制御部、１００  仮想センサ管理サーバ、１１０  前処理判定モジュール、１１１，１１２，１２１，１４１，１４２  取得部、１１３，１４３  判定部、１１４，１４４  通知部、１２０  前処理モジュール、１２２  前処理部、１３０  処理モジュール、１４０  出力管理モジュール、１５０  過去判定履歴ＤＢ、１６０  処理モジュール側メタデータ（第１メタデータ）ＤＢ、１６１  処理モジュール側メタデータ（第１メタデータ）、１７０  前処理プログラムＤＢ、１８２  ＣＰＵ、１８４  ＲＡＭ、１８６  ＲＯＭ、１９０  記憶部、１９１  制御プログラム、１９５  通信Ｉ／Ｆ、１９７  バス、３００  アプリケーションサーバ。
【図１】
2019140550.tif 000003
【図２】
2019140550.tif 000004
【図３】
2019140550.tif 000005
【図４】
2019140550.tif 000006
【図５】
2019140550.tif 000007
【図６】
2019140550.tif 000008
【図７】
2019140550.tif 000009
【図８】
2019140550.tif 000010
【図９】
2019140550.tif 000011
【図１０】
2019140550.tif 000012
【図１１】
2019140550.tif 000013
【図１２】
2019140550.tif 000014
【図１３】
2019140550.tif 000015
【図１４】
2019140550.tif 000016
【図１５】
2019140550.tif 000017
【図１６】
2019140550.tif 000018