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