(57)【要約】【課題】処理モジュールへの入力データの品質をチェック可能な品質チェック装置、品質チェック方法及びプログラムを提供する。【解決手段】デバイスは、入力データと、入力データの品質に関する属性を示す第１メタデータとを処理モジュールに出力するように構成されている。品質チェック装置は、第１取得部と、チェック部とを備える。第１取得部は、第１メタデータを取得するように構成されている。チェック部は、第１メタデータに基づいて、入力データの品質をチェックするように構成されている。【選択図】図１
2019140557.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）を仮想センサ管理サーバ１００へ送信する。仮想センサ管理サーバ１００において、該ＡＰＩが実行されることによって、切り替え先の実センサ１２から対象の処理モジュール１５０へのセンシングデータの出力が開始される。
【００９８】
［３．動作例］
＜３−１．入力候補の抽出動作例＞
図１５は、処理モジュール１５０の入力センサ候補の抽出動作の一例を示すフローチャートである。このフローチャートに示される処理は、予め定められた周期で実行される。なお、上述の通り、入力センサ候補の抽出は各処理モジュール１５０の入力ポート毎に行なわれるが、ここでは１つの処理モジュール１５０の１つの入力ポートに着目して説明する。
【００９９】
図１５を参照して、左方のフローチャートは、制御部１７０が入力候補管理モジュール１１０として動作することによって実行される。一方、右方のフローチャートは、制御部２４０が入力候補検索モジュール２１０として動作することによって実行される。
【０１００】
図１５の左方を参照して、制御部１７０は、入力ポートに対応付けられている処理モジュール側メタデータ１６１を処理モジュール側メタデータＤＢ１６０（図５）から取得する（ステップＳ１００）。制御部１７０は、取得された処理モジュール側メタデータ１６１に基づいて利用側データカタログを生成する（ステップＳ１１０）。
【０１０１】
制御部１７０は、生成された利用側データカタログをＳＤＴＭサーバ２００に送信するように通信Ｉ／Ｆ１９０を制御する（ステップＳ１２０）。その後、制御部１７０は、通信Ｉ／Ｆ１９０を介してＳＤＴＭサーバ２００から入力センサ候補を示す情報（実センサ情報）が受信されたかを判定する（ステップＳ１３０）。実センサ情報が受信されていないと判定されると（ステップＳ１３０においてＮＯ）、制御部１７０は、実センサ情報が受信されるまで待機する。
【０１０２】
図１５の右方を参照して、制御部２４０は、利用側データカタログが受信されたか否かを判定する（ステップＳ２００）。利用側データカタログが受信されていないと判定されると（ステップＳ２００においてＮＯ）、制御部２４０は、利用側データカタログが受信されるまで待機する。
【０１０３】
利用側データカタログが受信されたと判定されると（ステップＳ２００においてＹＥＳ）、制御部２４０は、センサ側メタデータＤＢ２３０において管理されている各実センサ１２のセンサ側メタデータ１３を取得する（ステップＳ２１０）。制御部２４０は、取得されたセンサ側メタデータ１３に基づいて提供側データカタログを生成する（ステップＳ２２０）。
【０１０４】
制御部２４０は、取得された利用側データカタログと生成された提供側データカタログとに基づいて、センサ側メタデータＤＢ２３０によって管理されている複数の実センサ１２から入力センサ候補を抽出する（ステップＳ２３０）。
【０１０５】
たとえば、制御部２４０は、提供側データカタログによって示される属性（たとえば、「基本属性」及び「品質属性」）が利用側データカタログによって示される条件（たとえば、「基本条件」及び「品質条件」）を満たす場合に、該提供側データカタログに対応する実センサ１２を入力センサ候補として抽出する。たとえば、制御部２４０は、処理モジュール１５０の入力ポートの数以上の入力センサ候補を抽出する。たとえば、処理モジュール１５０の入力ポートの数が「３」である場合に、制御部２４０は、たとえば、４つ以上の入力センサ候補を抽出する。
【０１０６】
制御部２４０は、抽出された複数の実センサ情報を仮想センサ管理サーバ１００に送信するように通信Ｉ／Ｆ２６０を制御する（ステップＳ２４０）。
【０１０７】
再び図１５の左方を参照して、ステップＳ１３０において、複数の実センサ情報（入力センサ候補を示す情報）が受信されると（ステップＳ１３０においてＹＥＳ）、制御部１７０は、予め定められた基準に従って、各実センサ１２に優先順位を付与する（ステップＳ１４０）。
【０１０８】
その後、制御部１７０は、付与された優先順位に従って入力候補ＤＢ１４０を更新する（ステップＳ１５０）。すなわち、制御部１７０は、抽出された各入力センサ候補が付与された優先順位に従って管理されるように入力候補ＤＢ１４０を更新する。
【０１０９】
このように、仮想センサ管理サーバ１００及びＳＤＴＭサーバ２００においては、処理モジュール側メタデータ１６１及びセンサ側メタデータ１３に基づいて、各処理モジュール１５０の入力センサ候補が抽出される。すなわち、各処理モジュール１５０の入力データの条件が考慮された上で、入力センサ候補が抽出される。したがって、仮想センサ管理サーバ１００及びＳＤＴＭサーバ２００によれば、処理モジュール１５０へ入力データを出力する実センサ１２の適切な候補を予め抽出することができる。
【０１１０】
＜３−２．入力データの品質チェック動作例＞
図１６は、処理モジュール１５０への入力データの品質チェック動作の一例を示すフローチャートである。このフローチャートに示される処理は、処理モジュール１５０へデータが入力されるタイミングで、制御部１７０が入力品質チェックモジュール１２０として動作することによって実行される。なお、上述の通り、入力データの品質チェックは、各処理モジュール１５０の入力ポート毎に行なわれるが、ここでは１つの処理モジュール１５０の１つの入力ポートに着目して説明する。
【０１１１】
図１６を参照して、制御部１７０は、処理モジュール１５０への入力データから入力メタデータを抽出する（ステップＳ３００）。制御部１７０は、抽出された入力メタデータをチェックする（ステップＳ３１０）。たとえば、制御部１７０は、入力ポートに対応付けられている処理モジュール側メタデータ１６１と、入力メタデータとに基づいて、入力データの品質チェックを行なう。たとえば、制御部１７０は、入力メタデータによって示される品質属性が処理モジュール側メタデータ１６１によって示される品質条件を満たす場合に、入力データの品質を「良」と判定する一方、入力メタデータによって示される品質属性が処理モジュール側メタデータ１６１によって示される品質条件を満たさない場合に、入力データの品質を「悪」と判定する。
【０１１２】
その後、制御部１７０は、入力メタデータに基づいて、入力データにアクシデントが生じていないか否かを判定する（ステップＳ３２０）。たとえば、制御部１７０は、入力メタデータに「文字化け」等が生じている場合に入力データにアクシデントが生じていると判定する。たとえば、制御部１７０は、入力データにアクシデントが生じていると判定された場合に入力データの品質を「悪」と判定する一方、入力データにアクシデントが生じていないと判定された場合に入力データの品質を「良」と判定する。
【０１１３】
入力品質チェックモジュール１２０（制御部１７０）は、ステップＳ３１０，Ｓ３２０における判定結果に基づく入力品質チェック結果をセッション制御モジュール１３０（制御部１７０）に通知する（ステップＳ３３０）。たとえば、入力品質チェックモジュール１２０は、ステップＳ３１０，Ｓ３２０の両方において品質が「良」と判定された場合に入力品質チェック結果を「良」と判定する一方、ステップＳ３１０，Ｓ３２０の少なくとも一方において品質が「悪」と判定された場合に入力品質チェック結果を「悪」と判定する。
【０１１４】
このように、仮想センサ管理サーバ１００においては、入力メタデータが処理モジュール１５０への入力データの品質属性を含む。そして、入力メタデータに基づいて、入力データの品質がチェックされる。すなわち、仮想センサ管理サーバ１００によれば、処理モジュール１５０への入力データの品質をチェックすることができる。
【０１１５】
＜３−３．セッション切替動作例＞
図１７は、処理モジュール１５０と実センサ１２とのセッションの切替動作の一例を示すフローチャートである。このフローチャートに示される処理は、入力品質チェックモジュール１２０から入力品質チェック結果が通知された場合に、制御部１７０がセッション制御モジュール１３０として動作することによって実行される。なお、上述の通り、セッションの切り替えは、各処理モジュール１５０の入力ポート毎に行なわれるが、ここでは１つの処理モジュール１５０の１つの入力ポートに着目して説明する。
【０１１６】
図１７を参照して、制御部１７０は、通知された入力品質チェック結果に基づいて、セッションの切り替えの要否を判定する（ステップＳ４００）。たとえば、制御部１７０は、入力品質チェック結果が「良」である場合に切り替え不要と判定する一方、入力品質チェック結果が「悪」である場合に切り替え必要と判定する。
【０１１７】
次に、制御部１７０は、ステップＳ４００においてセッションの切り替えが必要と判定されたか否かを判定する（ステップＳ４１０）。切り替えが不要と判定されると（ステップＳ４１０においてＮＯ）、制御部１７０は、特に処理モジュール１５０の入力センサを切り替えず、セッションを維持する（ステップＳ４３０）。
【０１１８】
一方、切り替えが必要と判定されると（ステップＳ４１０においてＹＥＳ）、制御部１７０は、切替候補があるか否かを判定する（ステップＳ４２０）。たとえば、制御部１７０は、入力候補ＤＢ１４０において該当する入力ポートの入力センサ候補が管理されているか否かを判定する。たとえば、制御部１７０は、入力候補ＤＢ１４０において、該当する入力ポートの入力センサ候補が管理されている場合に切替候補があると判定する一方、該当する入力ポートの入力センサ候補が管理されていない場合に切替候補がないと判定する。
【０１１９】
切替候補がないと判定されると（ステップＳ４２０においてＮＯ）、制御部１７０は、特に処理モジュール１５０の入力センサを切り替えず、セッションを維持する（ステップＳ４３０）。一方、切替候補があると判定されると（ステップＳ４２０においてＹＥＳ）、制御部１７０は、入力候補ＤＢ１４０に管理されている入力センサ候補からいずれかの入力センサ候補（選択済み実センサ）を選択する（ステップＳ４４０）。
【０１２０】
その後、制御部１７０は、セッション切り替えのための処理を実行する（ステップＳ４５０）。たとえば、制御部１７０は、入力センサが選択済み実センサに切り替わるように、処理モジュール１５０の入力ポートを制御する。また、制御部１７０は、上述のセンサ切替指令をＳＤＴＭサーバ２００に送信するように通信Ｉ／Ｆ１９０を制御する。
【０１２１】
このように、仮想センサ管理サーバ１００においては、処理モジュール１５０の入力データが品質条件を満たさない場合に、入力センサが新たな実センサ１２に切り替えられる。したがって、仮想センサ管理サーバ１００によれば、品質条件を満たさないデータの処理モジュール１５０への入力が継続されないため、入力データの品質を維持することができる。
【０１２２】
また、仮想センサ管理サーバ１００においては、品質条件を満たす入力データを出力する実センサ１２が予め抽出され、処理モジュール１５０へ入力データを出力する実センサ１２が、予め抽出された実センサ１２のいずれかに切り替えられる。したがって、仮想センサ管理サーバ１００によれば、切り替え後の実センサ１２から品質条件を満たすデータが入力されるため、処理モジュール１５０への入力データの品質を維持することができる。
【０１２３】
＜３−４．データフロー制御動作例＞
図１８は、データフロー制御動作の一例を示すフローチャートである。このフローチャートに示される処理は、通信Ｉ／Ｆ２６０を介して仮想センサ管理サーバ１００からセンサ切替指令が受信されるタイミングで、制御部２４０がデータフロー制御モジュール２２０として動作することによって実行される。なお、上述の通り、データフローの制御は、各処理モジュール１５０の入力ポート毎に行なわれるが、ここでは１つの処理モジュール１５０の１つの入力ポートに着目して説明する。
【０１２４】
図１８を参照して、制御部２４０は、通信Ｉ／Ｆ２６０を介して仮想センサ管理サーバ１００からセンサ切替指令を受信したか否かを判定する（ステップＳ５００）。センサ切替指令が受信されていないと判定されると（ステップＳ５００においてＮＯ）、制御部２４０は、センサ切替指令が受信されるまで待機する。
【０１２５】
一方、センサ切替指令が受信されたと判定されると（ステップＳ５００においてＹＥＳ）、制御部２４０は、上述のデータフロー制御指令を生成する（ステップＳ５１０）。制御部２４０は、生成されたデータフロー制御指令を、切り替え元の実センサ１２、切り替え先の実センサ１２等に送信する（ステップＳ５２０）。これにより、処理モジュール１５０と実センサ１２とのセッションの切り替えが完了する。
【０１２６】
［４．特徴］
以上のように、本実施の形態においては、実センサ１２によって、入力メタデータが出力される。入力メタデータは、実センサ１２によって出力されるセンシングデータの品質属性を含む。そして、制御部１７０は、実センサ１２によって出力される入力メタデータに基づいて、センシングデータの品質をチェックする。したがって、仮想センサ管理サーバ１００によれば、センシングデータの品質属性を含む入力メタデータが参照されるため、処理モジュール１５０への入力データの品質をチェックすることができる。
【０１２７】
なお、処理モジュール１５０は、本発明の「処理モジュール」の一例であり、実センサ１２は、本発明の「デバイス」の一例であり、入力品質チェックモジュール１２０は、本発明の「品質チェック装置」の一例である。センシングデータは、本発明の「入力データ」の一例であり、入力メタデータに含まれる品質属性は、本発明の「第１メタデータ」の一例である。メタデータチェック部１２２は、本発明の「第１取得部」の一例であるとともに、本発明の「チェック部」の一例である。処理モジュール側メタデータ１６１は、本発明の「第２メタデータ」の一例であり、メタデータチェック部１２２は、本発明の「第２取得部」の一例である。
【０１２８】
［５．変形例］
以上、実施の形態について説明したが、本発明は、上記実施の形態に限定されるものではなく、その趣旨を逸脱しない限りにおいて、種々の変更が可能である。以下、変形例について説明する。但し、以下の変形例は適宜組合せ可能である。
【０１２９】
＜５−１＞
上記実施の形態においては、処理モジュール１５０の入力センサ候補が抽出された。しかしながら、抽出される対象は、必ずしも処理モジュール１５０の入力センサ候補でなくてもよい。たとえば、処理モジュール１５０に入力されるデータセットの候補が抽出されてもよい。データセットは、予め生成された複数のデータの集合である。たとえば、予め所定期間、対象を観測することによって得られたセンシングデータの集合は、データセットの一例である。たとえば、データセットは、インターネット１５に接続されたストレージに記憶されている。
【０１３０】
この場合には、たとえば、各データセットの属性を示すメタデータが、ＳＤＴＭサーバ２００において管理される。そして、各データセットに対応付けられたメタデータに基づいて、提供側データカタログが生成される。そして、利用側データカタログと提供側データカタログとに基づいて、処理モジュール１５０の入力データの条件を満たすデータセットが抽出される。すなわち、処理モジュール側メタデータ１６１と、各データセットに対応付けられたメタデータとに基づいて、複数のデータセットから、処理モジュール１５０の入力ポートの数よりも多くのデータセットの候補が抽出される。これにより、処理モジュール１５０の入力データの条件を満たす適切なデータセットを抽出することができる。
【０１３１】
また、上記実施の形態においては、処理モジュール１５０への入力データの品質がチェックされた。しかしながら、品質チェックの対象は、必ずしも入力データでなくてもよい。たとえば、処理モジュール１５０に入力されるデータセットの品質がチェックされてもよい。この場合に、データセットは、複数のデータと、複数のデータの各々の品質に関する属性を示すメタデータとで構成される。そして、たとえば、入力品質チェックモジュール１２０は、該メタデータに基づいて、該メタデータを含むデータセットの品質をチェックする。これにより、処理モジュール１５０へ入力されるデータセットの品質をチェックすることができる。
【０１３２】
また、上記実施の形態においては、処理モジュール１５０への入力データが品質条件を満たさない場合に、処理モジュール１５０の入力センサが新たな実センサ１２に切り替えられた。しかしながら、切り替え元及び切り替え先は、必ずしも実センサ１２でなくてもよい。たとえば、処理モジュール１５０への入力データが品質条件を満たさない場合に、処理モジュール１５０へ入力されるデータセットが新たなデータセットに切り替えられてもよい。
【０１３３】
また、上記の実施の形態においては、予め抽出された入力センサ候補から、切り替え先の実センサ１２が選択された。しかしながら、上述のように、予め抽出される対象はデータセットでもよく、切り替え先として選択される対象もデータセットであってもよい。この場合には、当然ながら、予め抽出された複数のデータセット候補の各々に含まれるデータは、処理モジュール１５０の入力データの品質条件を満たす。
【０１３４】
また、処理モジュール１５０の入力候補として予め抽出される対象、及び、処理モジュール１５０の入力の切り替え先として選択される対象の各々には、実センサ１２及びデータセットの両方が含まれてもよい。
【０１３５】
＜５−２＞
また、上記実施の形態において、各処理モジュール１５０の各入力ポートは、いずれかの実センサ１２とセッションを行なうこととした。しかしながら、各入力ポートがセッションを行なう相手は、実センサ１２に限定されない。たとえば、セッション相手は、データセットを記憶したストレージであってもよいし、仮想センサであってもよい。セッション相手が必ずしもセンサである必要がないため、処理モジュール１５０の入力データは、必ずしもセンシングデータでなくてもよい。たとえば、入力データは、ショッピングサイトにおける各ユーザの購買履歴データや、ゲームサイトにおける各ユーザのスコアデータ等であってもよい。
【０１３６】
＜５−３＞
上記実施の形態において、仮想センサ管理サーバ１００及びＳＤＴＭサーバ２００の各々によって行なわれた処理は、複数のサーバ等によって実現されてもよい。また、上記実施の形態において、仮想センサ管理サーバ１００及びＳＤＴＭサーバ２００によって行なわれた処理は、１つのサーバ等によって実現されてもよい。
【符号の説明】
【０１３７】
１０  仮想センサ管理システム、１１  センサネットワークアダプタ、１２  実センサ、１３  センサ側メタデータ、１５  インターネット、６０  メタデータ、１００  仮想センサ管理サーバ、１１０  入力候補管理モジュール、１１１  メタデータ取得部、１１２  利用側データカタログ生成部、１１３  優先順位付与部、１１４  入力候補ＤＢ更新部、１２０  入力品質チェックモジュール、１２１  データフィルタリング部、１２２  メタデータチェック部、１２３  アクシデントチェック部、１３０  セッション制御モジュール、１３１  切替要否判定部、１３２  入力候補選択部、１３３  セッション切替部、１４０  入力候補ＤＢ、１５０  処理モジュール、１６０  処理モジュール側メタデータ、１７０，２４０  制御部、１７２，２４２  ＣＰＵ、１７４，２４４  ＲＡＭ、１７６，２４６  ＲＯＭ、１８０，２５０  記憶部、１８１，２５１  制御プログラム、１９０，２６０  通信Ｉ／Ｆ、２００  ＳＤＴＭサーバ、２１０  入力候補検索モジュール、２１１  利用側データカタログ取得部、２１２  センサ側メタデータ取得部、２１３  マッチング部、２１４  入力候補取得部、２２０  データフロー制御モジュール、２２１  センサ切替指令取得部、２２２  データフロー制御指令生成部、２３０  センサ側メタデータＤＢ、３００  アプリケーションサーバ。
【図１】
2019140557.tif 000003
【図２】
2019140557.tif 000004
【図３】
2019140557.tif 000005
【図４】
2019140557.tif 000006
【図５】
2019140557.tif 000007
【図６】
2019140557.tif 000008
【図７】
2019140557.tif 000009
【図８】
2019140557.tif 000010
【図９】
2019140557.tif 000011
【図１０】
2019140557.tif 000012
【図１１】
2019140557.tif 000013
【図１２】
2019140557.tif 000014
【図１３】
2019140557.tif 000015
【図１４】
2019140557.tif 000016
【図１５】
2019140557.tif 000017
【図１６】
2019140557.tif 000018
【図１７】
2019140557.tif 000019
【図１８】
2019140557.tif 000020
【手続補正書】
【提出日】平成31年1月31日(2019.1.31)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
デバイスが処理モジュールへ出力する入力データの品質をチェックするように構成された品質チェック装置であって、
前記入力データの品質は、経時的に変化する性質を有し、
前記デバイスは、前記入力データと、前記入力データの品質に関する属性を示す第１メタデータとを前記処理モジュールに出力するように構成されており、
前記処理モジュールは、少なくとも１つの前記入力データに基づいて前記入力データとは異なる出力データを生成するように構成されており、
前記品質チェック装置は、
前記第１メタデータを取得するように構成された第１取得部と、
前記第１メタデータに基づいて、前記入力データの品質をチェックするように構成されたチェック部とを備える、品質チェック装置。
【請求項２】
前記処理モジュールには、前記入力データの品質に関する条件を示す第２メタデータが対応付けられており、
前記第２メタデータを取得するように構成された第２取得部をさらに備え、
前記チェック部は、前記第１メタデータが示す前記入力データの品質に関する属性が、前記第２メタデータが示す前記入力データの品質に関する条件を満たすか否かをチェックするように構成されている、請求項１に記載の品質チェック装置。
【請求項３】
前記デバイスは、センサであり、
前記入力データは、前記センサによって生成されたセンシングデータである、請求項１又は請求項２に記載の品質チェック装置。
【請求項４】
前記処理モジュールは、複数の前記入力データに基づいて前記出力データを生成するように構成されている、請求項１から請求項３のいずれか１項に記載の品質チェック装置。
【請求項５】
前記処理モジュールは、前記処理モジュールへ前記入力データを出力する前記デバイスを切り替え可能に構成されている、請求項１から請求項４のいずれか１項に記載の品質チェック装置。
【請求項６】
前記処理モジュールと、前記処理モジュールへ前記入力データを出力する前記デバイスとによって仮想センサが形成される、請求項１から請求項５のいずれか１項に記載の品質チェック装置。
【請求項７】
処理モジュールへ入力されるデータセットの品質をチェックするように構成された品質チェック装置であって、
前記データセットは、複数のデータと、前記複数のデータの各々の品質に関する属性を示すメタデータとで構成されており、
前記データセットの品質、及び、前記複数のデータの各々の品質の各々は、経時的に変化する性質を有し、
前記処理モジュールは、少なくとも１つの前記データセットが入力される場合に、少なくとも１つの入力データに基づいて前記入力データとは異なる出力データを生成するように構成されており、
前記品質チェック装置は、
前記メタデータを取得するように構成された取得部と、
前記メタデータに基づいて、前記データセットの品質をチェックするように構成されたチェック部とを備える、品質チェック装置。
【請求項８】
デバイスが処理モジュールへ出力する入力データの品質をチェックする品質チェック方法であって、
前記入力データの品質は、経時的に変化する性質を有し、
前記デバイスは、前記入力データと、前記入力データの品質に関する属性を示す第１メタデータとを前記処理モジュールに出力するように構成されており、
前記処理モジュールは、少なくとも１つの前記入力データに基づいて前記入力データとは異なる出力データを生成するように構成されており、
前記品質チェック方法は、
前記第１メタデータを取得するステップと、
前記第１メタデータに基づいて、前記入力データの品質をチェックするステップとを含む、品質チェック方法。
【請求項９】
デバイスが処理モジュールへ出力する入力データの品質をチェックする処理をコンピュータに実行させるためのプログラムであって、
前記入力データの品質は、経時的に変化する性質を有し、
前記デバイスは、前記入力データと、前記入力データの品質に関する属性を示す第１メタデータとを前記処理モジュールに出力するように構成されており、
前記処理モジュールは、少なくとも１つの前記入力データに基づいて前記入力データとは異なる出力データを生成するように構成されており、
前記プログラムは、
前記第１メタデータを取得するステップと、
前記第１メタデータに基づいて、前記入力データの品質をチェックするステップとを前記コンピュータに実行させるように構成されている、プログラム。
【手続補正書】
【提出日】令和1年5月17日(2019.5.17)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
処理モジュールへ入力されるデータセットの品質をチェックするように構成された品質チェック装置であって、
前記データセットは、複数のデータと、前記複数のデータの各々の品質に関する属性を示すメタデータとで構成されており、
前記データセットの品質、及び、前記複数のデータの各々の品質の各々は、経時的に変化する性質を有し、
前記処理モジュールは、少なくとも１つの前記データセットが入力される場合に、少なくとも１つの入力データに基づいて前記入力データとは異なる出力データを生成するように構成されており、
前記品質チェック装置は、
前記メタデータを取得するように構成された取得部と、
前記メタデータに基づいて、前記データセットの品質をチェックするように構成されたチェック部とを備える、品質チェック装置。
【請求項２】
前記入力データは、センサによって生成されたセンシングデータである、請求項１に記載の品質チェック装置。
【請求項３】
前記処理モジュールには、前記入力データの品質条件が規定されており、
前記入力データが前記品質条件を満たさない場合に、前記処理モジュールへ入力される前記データセットを新たなデータセットに切り替えるように構成された切替部をさらに備える、請求項１又は請求項２に記載の品質チェック装置。