(57)【要約】【課題】各センシングデバイスの入出力関係をより正確に示すメタデータを生成可能なメタデータ生成装置、メタデータ生成方法及びプログラムを提供する。【解決手段】センシングデバイスは、入力される物理量に基づいて出力値を生成するように構成されている。メタデータ生成装置は、確率密度関数生成部と、メタデータ生成部とを備える。確率密度関数生成部は、センシングデバイスに特定の物理量が入力された場合における出力値の確率密度関数を生成するように構成されている。メタデータ生成部は、確率密度関数に基づいてメタデータを生成するように構成されている。【選択図】図１
2019149671.tif 000002
【特許請求の範囲】
【請求項１】
センシングデバイスに対応付けられるメタデータを生成するように構成されたメタデータ生成装置であって、
前記センシングデバイスは、入力される物理量に基づいて出力値を生成するように構成されており、
前記センシングデバイスに特定の物理量が入力された場合における前記出力値の確率密度関数を生成するように構成された確率密度関数生成部と、
前記確率密度関数に基づいて前記メタデータを生成するように構成されたメタデータ生成部とを備える、メタデータ生成装置。
【請求項２】
前記確率密度関数生成部は、複数の確率密度関数を生成するように構成されており、
前記複数の確率密度関数の各々は、前記複数の確率密度関数に含まれる他の確率密度関数の生成時に前記センシングデバイスに入力された特定の物理量とは異なる特定の物理量が前記センシングデバイスに入力された場合における前記出力値の確率密度関数である、請求項１に記載のメタデータ生成装置。
【請求項３】
前記センシングデバイスに入力される物理量を前記センシングデバイスよりも高精度に特定するように構成された物理量特定部をさらに備え、
前記確率密度関数生成部は、前記物理量特定部によって特定された物理量と前記出力値とに基づいて前記確率密度関数を生成するように構成されている、請求項１又は請求項２に記載のメタデータ生成装置。
【請求項４】
前記センシングデバイスは、実際の使用環境において設置されている、請求項１から請求項３のいずれか１項に記載のメタデータ生成装置。
【請求項５】
センシングデバイスに対応付けられるメタデータを生成するメタデータ生成方法であって、
前記センシングデバイスは、入力される物理量に基づいて出力値を生成するように構成されており、
前記センシングデバイスに特定の物理量が入力された場合における前記出力値の確率密度関数を生成するステップと、
前記確率密度関数に基づいて前記メタデータを生成するステップとを含む、メタデータ生成方法。
【請求項６】
センシングデバイスに対応付けられるメタデータを生成する処理をコンピュータに実行させるプログラムであって、
前記センシングデバイスは、入力される物理量に基づいて出力値を生成するように構成されており、
前記センシングデバイスに特定の物理量が入力された場合における前記出力値の確率密度関数を生成するステップと、
前記確率密度関数に基づいて前記メタデータを生成するステップとを前記コンピュータに実行させるように構成されたプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メタデータ生成装置、メタデータ生成方法及びプログラムに関する。
【背景技術】
【０００２】
国際公開ＷＯ２０１５／１２８９５４号公報（特許文献１）は、デバイスネットワークと、該デバイスネットワークに含まれる各デバイス（たとえば、センサ）を管理するデバイス管理システムとを含むデバイスネットワークシステムを開示する。デバイス管理システムにおいては、デバイスネットワークに含まれる各デバイスの属性情報を管理する物理デバイスマスターＤＢ（database）が設けられている。ユーザは、物理デバイスマスターＤＢを参照することによって、デバイスネットワークに含まれる複数のデバイスのうち所望の属性を有するデバイスを検索することができる（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】国際公開ＷＯ２０１５／１２８９５４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記特許文献１においては、各デバイスの「種別」及び「設置箇所」等を示す情報が物理デバイスマスターＤＢで管理される。すなわち、物理デバイスマスターＤＢにおいては、「種別」及び「設置箇所」を示す情報がメタデータとして各デバイスに付与されているといえる。たとえば、ユーザは、該メタデータを参照することによって、「種別」及び「設置箇所」に関して所望の条件を満たすデバイスを検索することができる。
【０００５】
たとえば、センシングデバイスには、各「メーカ」の「品番」毎にデータシートが設けられる。データシートには、センシングデバイスに入力される物理量と、該物理量が入力された場合のセンシングデバイスの出力値との対応関係（以下、「入出力関係」とも称する。）を示す情報（以下、「入出力関係情報」とも称する。）が含まれる場合が多い。本発明者は、たとえば、所望の入出力関係を有するセンシングデバイスの検索のために、入出力関係情報をメタデータとして各センシングデバイスに付与することが有効であると考えた。
【０００６】
しかしながら、データシートに含まれる入出力関係情報は、あくまでも代表的なものである。したがって、同一の「メーカ」、「品番」のセンシングデバイスであっても、厳密にはセンシングデバイス毎に異なる入出力関係を有する場合もある。また、同一のセンシングデバイスに同一の物理量が入力された場合であっても、様々な要因（センシングデバイスの設置状態、周囲環境等）により、センシングデバイスによって異なる値が出力される（出力値がぶれる）こともある。すなわち、データシートに含まれる入出力関係情報は、必ずしも各センシングデバイスの入出力関係を正確に示しているとはいえない。
【０００７】
本発明は、このような問題を解決するためになされたものであって、その目的は、各センシングデバイスの入出力関係をより正確に示すメタデータを生成可能なメタデータ生成装置、メタデータ生成方法及びプログラムを提供することである。
【課題を解決するための手段】
【０００８】
本発明のある局面に従うメタデータ生成装置は、センシングデバイスに対応付けられるメタデータを生成するように構成されている。センシングデバイスは、入力される物理量に基づいて出力値を生成するように構成されている。メタデータ生成装置は、確率密度関数生成部と、メタデータ生成部とを備える。確率密度関数生成部は、センシングデバイスに特定の物理量が入力された場合における出力値の確率密度関数を生成するように構成されている。メタデータ生成部は、確率密度関数に基づいてメタデータを生成するように構成されている。
【０００９】
このメタデータ生成装置においては、特定の物理量が入力された場合におけるセンシングデバイスの出力値の確率密度関数に基づいてメタデータが生成される。該確率密度関数によれば、同一品番が付与された各センシングデバイスの入出力関係の違い、及び、同一のセンシングデバイスにおける出力値のぶれが十分に表される。したがって、このメタデータ生成装置によれば、各センシングデバイスの入出力関係をより正確に示すメタデータを生成することができる。
【００１０】
また、上記メタデータ生成装置において、確率密度関数生成部は、複数の確率密度関数を生成するように構成されてもよい。複数の確率密度関数の各々は、複数の確率密度関数に含まれる他の確率密度関数の生成時にセンシングデバイスに入力された特定の物理量とは異なる特定の物理量がセンシングデバイスに入力された場合における出力値の確率密度関数であってもよい。
【００１１】
このメタデータ生成装置においては、物理量（入力値）毎に出力値の確率密度関数が生成され、生成された複数の確率密度関数に基づいてメタデータが生成される。したがって、このメタデータ生成装置によれば、各センシングデバイスの入出力関係をより詳細に示すメタデータを生成することができる。
【００１２】
また、上記メタデータ生成装置は、センシングデバイスに入力される物理量をセンシングデバイスよりも高精度に特定するように構成された物理量特定部をさらに備えてもよい。確率密度関数生成部は、物理量特定部によって特定された物理量と出力値とに基づいて確率密度関数を生成するように構成されてもよい。
【００１３】
このメタデータ生成装置においては、物理量特定部によってセンシングデバイスに入力される物理量が特定され、物理量特定部による物理量の特定精度はセンシングデバイスよりも高い。したがって、このメタデータ生成装置によれば、センシングデバイスに入力される物理量が高精度に特定されるため、センシングデバイスの入出力関係を高精度に特定することができる。
【００１４】
また、センシングデバイスは、実際の使用環境において設置されていてもよい。
【００１５】
このメタデータ生成装置によれば、実際の使用環境におけるセンシングデバイスの入出力関係を示すメタデータを生成することができる。
【００１６】
また、本発明の別の曲面に従うメタデータ生成方法は、センシングデバイスに対応付けられるメタデータを生成する。センシングデバイスは、入力される物理量に基づいて出力値を生成するように構成されている。メタデータ生成方法は、センシングデバイスに特定の物理量が入力された場合における出力値の確率密度関数を生成するステップと、確率密度関数に基づいてメタデータを生成するステップとを含む。
【００１７】
このメタデータ生成方法においては、特定の物理量が入力された場合におけるセンシングデバイスの出力値の確率密度関数に基づいてメタデータが生成される。該確率密度関数によれば、各センシングデバイスの入出力関係の違い、及び、同一のセンシングデバイスにおける出力値のぶれが十分に表される。したがって、このメタデータ生成方法によれば、各センシングデバイスの入出力関係をより正確に示すメタデータを生成することができる。
【００１８】
また、本発明の別の局面に従うプログラムは、センシングデバイスに対応付けられるメタデータを生成する処理をコンピュータに実行させる。センシングデバイスは、入力される物理量に基づいて出力値を生成するように構成されている。プログラムは、センシングデバイスに特定の物理量が入力された場合における出力値の確率密度関数を生成するステップと、確率密度関数に基づいてメタデータを生成するステップとをコンピュータに実行させるように構成されている。
【００１９】
このプログラムがコンピュータによって実行されると、特定の物理量が入力された場合におけるセンシングデバイスの出力値の確率密度関数に基づいてメタデータが生成される。該確率密度関数によれば、各センシングデバイスの入出力関係の違い、及び、同一のセンシングデバイスにおける出力値のぶれが十分に表される。したがって、このプログラムによれば、各センシングデバイスの入出力関係をより正確に示すメタデータを生成することができる。
【発明の効果】
【００２０】
本発明によれば、各センシングデバイスの入出力関係をより正確に示すメタデータを生成可能なメタデータ生成装置、メタデータ生成方法及びプログラムを提供することができる。
【図面の簡単な説明】
【００２１】
【図１】メタデータ生成装置の概要を説明するための図である。
【図２】センサネットワークシステムの一例を示す図である。
【図３】メタデータ生成装置のハードウェア構成の一例を示す図である。
【図４】センサ管理サーバのハードウェア構成の一例を示す図である。
【図５】メタデータ生成装置のソフトウェア構成の一例を示す図である。
【図６】メタデータの一例を示す図である。
【図７】センサ管理サーバのソフトウェア構成の一例を示す図である。
【図８】メタデータ生成装置におけるメタデータの生成動作の一例を示すフローチャートである。
【図９】センサ管理サーバにおけるメタデータの登録動作の一例を示すフローチャートである。
【図１０】センサ管理サーバにおける前処理動作の一例を示すフローチャートである。
【図１１】センシングデバイスの周囲における現在の環境の推定方法の一例を説明するための図である。
【図１２】前処理の要否の判定方法、及び、前処理方法の一例を説明するための図である。
【発明を実施するための形態】
【００２２】
以下、本発明の一側面に係る実施の形態（以下、「本実施の形態」とも称する。）について、図面を用いて詳細に説明する。なお、図中同一又は相当部分には同一符号を付してその説明は繰り返さない。また、以下で説明する本実施の形態は、あらゆる点において本発明の例示にすぎない。本実施の形態は、本発明の範囲内において、種々の改良や変更が可能である。すなわち、本発明の実施にあたっては、実施の形態に応じて具体的構成を適宜採用することができる。
【００２３】
［１．概要］
図１は、本実施の形態に従うメタデータ生成装置１００の概要を説明するための図である。図１に示されるように、センシングデバイス１２は、入力される物理量（たとえば、温度、湿度、音圧、速度、加速度）に基づいてセンシングデータを生成し、生成されたセンシングデータ（出力値）を出力する。
【００２４】
たとえば、複数のセンシングデバイス１２から一部のセンシングデバイス１２を選択し、所望の仮想センサを生成する場合を考える。仮想センサとは、入力センサ（たとえば、センシングデバイス１２）が対象を観測することによって生成されたセンシングデータに基づいて、入力センサによって観測された対象とは異なる対象の観測結果をセンシングデータとして出力するセンサモジュールである。たとえば、仮想センサは、１又は複数のセンシングデバイス１２と、処理モジュール（後述）とによって構成される。たとえば、処理モジュールは複数の入力ポートを有し、各入力ポートにはセンシングデバイス１２によって出力されたセンシングデータが入力される。処理モジュールは、入力されたセンシングデータ（以下、「入力データ」とも称する。）に基づいて入力データとは異なる出力データを生成するように構成されている。
【００２５】
所望の仮想センサを生成するためには、処理モジュールの入力センサとして適切なセンシングデバイス１２を選択することが重要である。すなわち、複数のセンシングデバイス１２から適切なセンシングデバイス１２を検索することが重要である。また、仮想センサを生成する場合以外にも、複数のセンシングデバイス１２から適切なセンシングデバイス１２を検索することが重要な場面は多々存在すると考えられる。
【００２６】
適切なセンシングデバイス１２の検索を容易にするために、各センシングデバイス１２に該センシングデバイス１２の属性を示すメタデータを対応付けることが考えられる。各センシングデバイス１２に該メタデータが対応付けられている場合には、たとえば、該メタデータを参照するだけで適切なセンシングデバイス１２を検索することができる。センシングデバイス１２の重要な属性の一つは、センシングデバイス１２に入力される物理量と、該物理量が入力された場合のセンシングデバイス１２の出力値との対応関係（入出力関係）である。
【００２７】
各センシングデバイス１２には、各「メーカ」の「品番」毎にデータシートが設けられている。データシートには、センシングデバイス１２の入出力関係情報が含まれる場合が多い。本発明者は、たとえば、所望の入出力関係を有するセンシングデバイス１２の検索のために、入出力関係情報をメタデータとして各センシングデバイス１２に付与することが有効であると考えた。
【００２８】
しかしながら、データシートに含まれる入出力関係情報は、あくまでも代表的なものである。したがって、同一の「メーカ」、「品番」のセンシングデバイス１２であっても、厳密にはセンシングデバイス１２毎に異なる入出力関係を有する場合もある。また、同一のセンシングデバイス１２に同一の物理量が入力された場合であっても、様々な要因（センシングデバイス１２の設置状態、周囲環境等）により、センシングデバイス１２によって異なる値が出力される（出力値がぶれる）こともある。すなわち、データシートに含まれる入出力関係情報は、必ずしも各センシングデバイス１２の入出力関係を正確に示しているとはいえない。
【００２９】
本実施の形態に従うメタデータ生成装置１００は、確率密度関数生成部１５２と、メタデータ生成部１５４とを備える。確率密度関数生成部１５２は、センシングデバイス１２に特定の物理量が入力された場合における出力値の確率密度関数を生成するように構成されている。メタデータ生成部１５４は、確率密度関数生成部１５２によって生成された確率密度関数に基づいてメタデータを生成するように構成されている。すなわち、メタデータ生成装置１００においては、特定の物理量が入力された場合におけるセンシングデバイス１２の出力値の確率密度関数に基づいて、センシングデバイス１２のメタデータが生成される。該確率密度関数によれば、同一品番が付与された各センシングデバイス１２の入出力関係の違い、及び、同一のセンシングデバイス１２における出力値のぶれが十分に表される。したがって、メタデータ生成装置１００によれば、各センシングデバイス１２の入出力関係をより正確に示すメタデータを生成することができる。
【００３０】
［２．構成］
＜２−１．システム全体の構成＞
図２は、本実施の形態に従うメタデータ生成装置１００を含むセンサネットワークシステム１０の一例を示す図である。図２の例において、センサネットワークシステム１０は、センサネットワーク部１４と、メタデータ生成装置１００と、センサ管理サーバ２００と、アプリケーションサーバ３００とを含む。
【００３１】
センサネットワーク部１４、メタデータ生成装置１００、センサ管理サーバ２００及びアプリケーションサーバ３００は、インターネット１５を介して相互に通信可能に接続されている。なお、センサネットワークシステム１０に含まれる各構成要素（センサ管理サーバ２００、アプリケーションサーバ３００、センサネットワークアダプタ１１、センシングデバイス１２及びメタデータ生成装置１００等）の数は、図２に示されるものに限定されない。
【００３２】
センサネットワークシステム１０においては、センシングデバイス１２等によって生成されたセンシングデータが流通可能である。たとえば、センシングデバイス１２によって生成されたセンシングデータはセンサ管理サーバ２００に流通し得るし、仮想センサ（センサ管理サーバ２００によって生成される。）によって生成されたセンシングデータはアプリケーションサーバ３００に流通し得る。
【００３３】
センサネットワーク部１４は、たとえば、複数のセンサネットワークアダプタ１１を含む。複数のセンサネットワークアダプタ１１の各々には複数のセンシングデバイス１２が接続されており、各センシングデバイス１２はセンサネットワークアダプタ１１を介してインターネット１５に接続されている。
【００３４】
センシングデバイス１２は、対象を観測することによってセンシングデータを得るように構成されている。センシングデバイス１２は、たとえば、画像センサ（カメラ）、温度センサ、湿度センサ、照度センサ、力センサ、音センサ、速度センサ、加速度センサ、ＲＦＩＤ（Radio Frequency IDentification）センサ、赤外線センサ、姿勢センサ、降雨センサ、放射能センサ及びガスセンサ等を含む。また、センシングデバイス１２は、必ずしも固設型である必要はなく、携帯電話、スマートフォン及びタブレット等の移動型であってもよい。また、各センシングデバイス１２は、必ずしも単一のセンサで構成されている必要はなく、複数のセンサによって構成されていてもよい。また、センシングデバイス１２は、どのような目的で設置されていてもよく、たとえば、工場におけるＦＡ（Factory Automation）及び生産管理、都市交通制御、気象等の環境計測、ヘルスケア並びに防犯等のために設置されていてもよい。
【００３５】
センサネットワーク部１４において、たとえば、各センサネットワークアダプタ１１は別々の（遠い）場所に配置され、各センサネットワークアダプタ１１に接続される各センシングデバイス１２は同一の（近い）場所に配置されるが、これらの配置場所はこれに限定されない。
【００３６】
メタデータ生成装置１００は、センシングデバイス１２に対応付けられるメタデータを生成するように構成されている。たとえば、センシングデバイス１２の出荷時、センシングデバイス１２の使用環境における設置時、又は、センシングデバイス１２のメンテナンス時に、センシングデバイス１２は、メタデータ生成装置１００内に収容される。センシングデバイス１２を内部に収容した状態で、メタデータ生成装置１００は、センシングデバイス１２のメタデータを生成する。メタデータは、たとえば、センシングデバイス１２の入出力関係を示す。生成されたメタデータは、たとえば、インターネット１５を介してセンサ管理サーバ２００に送信され、メタデータＤＢ２９２（後述）に登録される。メタデータの内容、及び、メタデータの生成方法については後程詳しく説明する。
【００３７】
各アプリケーションサーバ３００（３００Ａ，３００Ｂ）は、センシングデータを利用するアプリケーションを実行するように構成されており、たとえば、汎用のコンピュータによって実現されている。アプリケーションサーバ３００は、インターネット１５を介して必要なセンシングデータを取得する。
【００３８】
センサ管理サーバ２００は、仮想センサを実現するとともに各センシングデバイス１２を管理するためのサーバである。センサ管理サーバ２００においては、複数の処理モジュール２５４と、前処理モジュール２５２とが実現されるとともに、メタデータＤＢ２９２が管理される。複数の処理モジュール２５４及び前処理モジュール２５２の各々は、たとえば、ソフトウェアモジュールである。
【００３９】
上述のように、処理モジュール２５４は、少なくとも１つの入力ポートを含み、各入力ポートに入力される入力データに基づいて入力データとは異なる出力データを生成するように構成されている。処理モジュール２５４は、必要に応じて入力ポートへ入力データを出力するセンシングデバイス１２を切り替え可能である。たとえば、現在入力ポートに入力データを出力しているセンシングデバイス１２が故障した場合に、処理モジュール２５４は、入力センサを他のセンシングデバイス１２に切り替えることができる。
【００４０】
処理モジュール２５４は、たとえば、室内に配置された音センサによって出力される入力データ（音声データ）に基づいて、該室内に存在する人の数を示すデータを出力するように構成されてもよい。この場合には、処理モジュール２５４と、センシングデバイス１２（音センサ）とによって、室内の人の数を検知する仮想センサを実現することができる。
【００４１】
前処理モジュール２５２は、処理モジュール２５４への入力データに前処理を施すように構成されている。メタデータＤＢ２９２は、センサネットワーク部１４に含まれる各センシングデバイス１２に対応付けられたメタデータを管理するように構成されている。
【００４２】
センサ管理サーバ２００において、前処理モジュール２５２は、たとえば、メタデータＤＢ２９２を参照することによって、処理モジュール２５４への入力データに前処理を施すか否かを決定する。各ソフトウェアモジュール及びメタデータＤＢ２９２については後程詳しく説明する。
【００４３】
また、メタデータＤＢ２９２において管理されるメタデータは、たとえば、処理モジュール２５４にセンシングデータを出力するセンシングデバイス１２を選択するために用いられてもよいし、処理モジュール２５４における複数の入力データの重み付けの最適化に用いられてもよい。すなわち、このメタデータの用途としては、様々な形態が考えられる。
【００４４】
＜２−２．メタデータ生成装置のハードウェア構成＞
図３は、メタデータ生成装置１００のハードウェア構成の一例を示す図である。なお、本実施の形態において、メタデータ生成装置１００は、たとえば、センシングデバイス１２を収容する収容部と、収容部の内部環境を調節する汎用コンピュータとによって実現される。
【００４５】
図３の例において、メタデータ生成装置１００は、収容部１７０と、制御部１８０と、通信Ｉ／Ｆ（interface）１９５と、入力部１９６と、出力部１９７と、記憶部１９０とを含み、各構成は、バス１９８を介して電気的に接続されている。
【００４６】
収容部１７０は、内部に密閉空間を形成するように構成されており、該密閉空間にセンシングデバイス１２が収容される。たとえば、収容部１７０は、内部に密閉空間を形成可能な箱状部材である。収容部１７０は、環境調節部１７２と、センシングデバイス設置部１７４とを含む。
【００４７】
環境調節部１７２は、収容部１７０内部の環境を調節するように構成されている。たとえば、環境調節部１７２は、収容部１７０内部の温度を、制御部１８０からの指示が示す温度に調節する。環境調節部１７２は、たとえば、冷暖房機器を含む。また、センシングデバイス設置部１７４は、センシングデバイス１２を電気的に接続可能に構成されている。センシングデバイス設置部１７４に設置されている状態で、センシングデバイス１２は、バス１９８を介して、センシングデータを制御部１８０に出力する。
【００４８】
制御部１８０は、ＣＰＵ（Central Processing Unit）１８２、ＲＡＭ（Random Access Memory）１８４及びＲＯＭ（Read Only Memory）１８６等を含み、情報処理に応じて各構成要素の制御を行なうように構成されている。
【００４９】
通信Ｉ／Ｆ１９５は、インターネット１５を介して、メタデータ生成装置１００の外部に設けられた外部装置（たとえば、センサ管理サーバ２００（図２））と通信するように構成されている。通信Ｉ／Ｆ１９５は、たとえば、有線ＬＡＮ（Local Area Network）モジュールや無線ＬＡＮモジュールで構成される。
【００５０】
入力部１９６は、たとえば、タッチパネル、キーボード、入力ボタン等の入力Ｉ／Ｆで構成されている。入力部１９６は、たとえば、収容部１７０内に設置されたセンシングデバイス１２に対応付けられるメタデータの生成開始指示をユーザから受け付ける。
【００５１】
出力部１９７は、たとえば、ディスプレイ、スピーカ等の出力Ｉ／Ｆで構成されている。出力部１９７は、たとえば、生成されたメタデータに関する情報を出力（画像出力、音声出力等）するように構成されている。
【００５２】
記憶部１９０は、たとえば、ハードディスクドライブ、ソリッドステートドライブ等の補助記憶装置である。記憶部１９０は、たとえば、制御プログラム１９１を記憶するように構成されている。制御プログラム１９１は、制御部１８０によって実行されるメタデータ生成装置１００の制御プログラムである。たとえば、制御部１８０が制御プログラム１９１を実行することによって、収容部１７０内の環境が調節される。制御部１８０が制御プログラム１９１を実行する場合に、制御プログラム１９１は、ＲＡＭ１８４に展開される。そして、制御部１８０は、ＲＡＭ１８４に展開された制御プログラム１９１をＣＰＵ１８２によって解釈及び実行することにより、各構成要素を制御する。
【００５３】
＜２−３．センサ管理サーバのハードウェア構成＞
図４は、センサ管理サーバ２００のハードウェア構成の一例を示す図である。なお、本実施の形態において、センサ管理サーバ２００は、たとえば、汎用コンピュータによって実現される。
【００５４】
図４の例において、センサ管理サーバ２００は、制御部２８０と、通信Ｉ／Ｆ２９５と、記憶部２９０とを含み、各構成は、バス２９８を介して電気的に接続されている。
【００５５】
制御部２８０は、ＣＰＵ２８２、ＲＡＭ２８４及びＲＯＭ２８６等を含み、情報処理に応じて各構成要素の制御を行なうように構成されている。
【００５６】
通信Ｉ／Ｆ２９５は、インターネット１５を介して、センサ管理サーバ２００の外部に設けられた外部装置（たとえば、メタデータ生成装置１００、アプリケーションサーバ３００及びセンサネットワーク部１４（図２））と通信するように構成されている。通信Ｉ／Ｆ２９５は、たとえば、有線ＬＡＮモジュールや無線ＬＡＮモジュールで構成される。
【００５７】
記憶部２９０は、たとえば、ハードディスクドライブ、ソリッドステートドライブ等の補助記憶装置である。記憶部２９０は、たとえば、メタデータＤＢ２９２と、制御プログラム２９１とを記憶するように構成されている。
【００５８】
メタデータＤＢ２９２は、センサネットワーク部１４に含まれる各センシングデバイス１２のメタデータを管理する。メタデータＤＢ２９２によって管理される各メタデータは、たとえば、メタデータ生成装置１００によって生成される。上述のように、メタデータ生成装置１００によって生成されるメタデータは、たとえば、センシングデバイス１２に入力される物理量と、該物理量が入力された場合のセンシングデバイス１２の出力値との対応関係（入出力関係）を示す。メタデータの詳細については、後程詳しく説明する。
【００５９】
制御プログラム２９１は、制御部２８０によって実行されるセンサ管理サーバ２００の制御プログラムである。たとえば、制御部２８０が制御プログラム２９１を実行することによって、各処理モジュール２５４及び前処理モジュール２５２（図２）が実現されてもよい。制御部２８０が制御プログラム２９１を実行する場合に、制御プログラム２９１は、ＲＡＭ２８４に展開される。そして、制御部２８０は、ＲＡＭ２８４に展開された制御プログラム２９１をＣＰＵ２８２によって解釈及び実行することにより、各構成要素を制御する。
【００６０】
＜２−４．メタデータ生成装置のソフトウェア構成＞
図５は、メタデータ生成装置１００のソフトウェア構成の一例を示す図である。図５の例においては、制御部１８０が制御プログラム１９１（図３）を実行することによって、環境制御部１５０と、確率密度関数生成部１５２と、メタデータ生成部１５４と、メタデータ送信部１５６とが実現される。
【００６１】
環境制御部１５０は、入力部１９６を介したユーザからの指示を受けて、収容部１７０（図３）内の環境を調節する。具体的には、環境制御部１５０は、収容部１７０内の環境が目標値になるように環境調節部１７２を制御する。たとえば、環境制御部１５０は、収容部１７０内の温度が目標温度になるように環境調節部１７２を制御する。なお、環境調節部１７２による環境調節の精度は、センシングデバイス１２による環境の検知精度よりも高い。したがって、環境制御部１５０によって指示された環境の目標値は、センシングデバイス１２の出力値よりも、収容部１７０内の実際の環境に近い値を示す。
【００６２】
収容部１７０内の環境が目標値になると、その環境下における物理量がセンシングデバイス１２に入力される。センシングデバイス１２は、入力される物理量に基づいてセンシングデータを生成し、生成されたセンシングデータを出力する。
【００６３】
確率密度関数生成部１５２は、センシングデバイス１２によって出力されるセンシングデータを収集する。確率密度関数生成部１５２は、収集されたデータと、収容部１７０内の環境の目標値とに基づいて、特定の物理量（環境調節部１７２によって調整された環境に対応する物理量）が入力された場合におけるセンシングデバイス１２の出力値の確率密度関数を生成する。
【００６４】
環境調節部１７２により収容部１７０内の環境が変更されることによって（センシングデバイス１２に入力される物理量が変更されることによって）、確率密度関数生成部１５２においては、複数の確率密度関数が生成される。この場合に、複数の確率密度関数の各々は、複数の確率密度関数に含まれる他の確率密度関数の生成時にセンシングデバイス１２に入力された特定の物理量とは異なる特定の物理量がセンシングデバイス１２に入力された場合におけるセンシングデータ（出力値）の確率密度関数である。
【００６５】
メタデータ生成部１５４は、確率密度関数生成部１５２によって生成された複数の確率密度関数に基づいてメタデータを生成する。メタデータ生成部１５４によって生成されるメタデータは、センシングデバイス設置部１７４（図３）に設置されているセンシングデバイス１２に対応付けられるメタデータである。
【００６６】
図６は、メタデータ生成部１５４よって生成されるメタデータの一例を示す図である。図６の例においては、センシングデバイス１２が温度センサである。この例において、メタデータ１６０は、収容部１７０内の温度が１５℃である場合におけるセンシングデータ（出力値）の確率密度関数、収容部１７０内の温度が１６℃である場合におけるセンシングデータの確率密度関数、収容部１７０内の温度が１７℃である場合におけるセンシングデータの確率密度関数、及び、収容部１７０内の温度が１８℃である場合におけるセンシングデータの確率密度関数を含む。これらの確率密度関数は、センシングデバイス１２の入出力関係を詳細に示す。
【００６７】
再び図５を参照して、メタデータ送信部１５６は、メタデータ生成部１５４によって生成されたメタデータと、センシングデバイス設置部１７４に設置されているセンシングデバイス１２を特定可能な情報（以下、「センシングデバイス特定情報」とも称する。）とを、通信Ｉ／Ｆ１９５を介してセンサ管理サーバ２００に送信する。センシングデバイス特定情報は、たとえば、センサ管理サーバ２００によってセンシングデバイス１２に予め割り振られたＩＤ（identification）やセンシングデバイス１２のＩＰアドレスである。送信されたメタデータは、センサ管理サーバ２００においてメタデータＤＢ２９２（図２）に登録される。
【００６８】
＜２−５．センサ管理サーバのソフトウェア構成＞
図７は、センサ管理サーバ２００のソフトウェア構成の一例を示す図である。図７の例においては、制御部２８０が制御プログラム２９１（図４）を実行することによって、メタデータ登録部２５０と、前処理モジュール２５２と、処理モジュール２５４とが実現される。
【００６９】
メタデータ登録部２５０は、インターネット１５を介してメタデータ生成装置１００からメタデータとセンシングデバイス特定情報とを受信する。メタデータ登録部２５０は、受信されたメタデータを、センシングデバイス特定情報によって特定されるセンシングデバイス１２と対応付けてメタデータＤＢ２９２に登録する。
【００７０】
メタデータＤＢ２９２に登録されたメタデータは、様々な用途に用いられる。メタデータは、たとえば、処理モジュール２５４への入力データの前処理に用いられる。
【００７１】
前処理モジュール２５２は、処理モジュール２５４へ入力データを出力しているセンシングデバイス１２に対応付けられているメタデータをメタデータＤＢ２９２から読み出す。前処理モジュール２５２は、読み出されたメタデータに基づいて、入力データへの前処理の要否を判定する。前処理が必要であると判定されると、前処理モジュール２５２は、入力データに前処理を施す。前処理の要否の決定方法については後程詳しく説明する。
【００７２】
前処理モジュール２５２によって入力データに前処理が施されると、処理モジュール２５４には、前処理後の入力データが入力される。
【００７３】
［３．動作］
＜３−１．メタデータ生成動作＞
図８は、メタデータ生成装置１００におけるメタデータの生成動作の一例を示すフローチャートである。このフローチャートに示される処理は、たとえば、センシングデバイス設置部１７４（図３）にセンシングデバイス１２が設置された状態で、入力部１９６を介してユーザからメタデータの生成指示を受け付けた場合に、制御部１８０が環境制御部１５０（図５）、確率密度関数生成部１５２、メタデータ生成部１５４又はメタデータ送信部１５６として機能することによって実行される。
【００７４】
図８を参照して、制御部１８０は、センシングデバイス設置部１７４に設置されたセンシングデバイス１２に入力される物理量が初期値になるように環境調節部１７２を制御する（ステップＳ１００）。物理量の初期値は、たとえば、制御プログラム１９１（図３）において予め定められている。
【００７５】
その後、制御部１８０は、センシングデバイス１２によって出力されるセンシングデータ（出力値）の収集を開始する（ステップＳ１１０）。制御部１８０は、センシングデータの収集を開始してから所定時間Ｔ１が経過したか否かを判定する（ステップＳ１２０）。所定時間Ｔ１が経過していないと判定されると（ステップＳ１２０においてＮＯ）、制御部１８０は、所定時間Ｔ１が経過するまでセンシングデータの収集を継続する。なお、所定時間Ｔ１は、後述の確率密度関数を生成するために必要な量のセンシングデータを収集可能な時間であり、制御プログラム１９１において予め定められている。
【００７６】
一方、所定時間Ｔ１が経過したと判定されると（ステップＳ１２０においてＹＥＳ）、制御部１８０は、センシングデータの収集を停止する（ステップＳ１３０）。そして、制御部１８０は、センシングデバイス１２に入力された物理量と、収集されたセンシングデータとに基づいて、特定の物理量（環境調節部１７２によって調整された環境に対応する物理量）が入力された場合におけるセンシングデバイス１２の出力値の確率密度関数を生成する（ステップＳ１４０）。
【００７７】
その後、制御部１８０は、制御プログラム１９１において予め定められた全物理量でのセンシングデータの収集が終了したか否かを判定する（ステップＳ１５０）。制御プログラム１９１においては、たとえば、センシングデバイス設置部１７４に設置されるセンシングデバイス１２の種類（温度センサ、湿度センサ、音圧センサ、速度センサ、加速度センサ等）毎に、センシングデバイス１２に入力される物理量の複数種類の値が予め定められている。たとえば、センシングデバイス設置部１７４に設置されているセンシングデバイス１２が温度センサである場合に、制御プログラム１９１においては、たとえば、センシングデバイス１２に入力される複数種類の温度が予め定められる（たとえば、１０℃から３０℃まで１℃刻みで温度が変更されること等が予め定められる。）。
【００７８】
ステップＳ１５０において、全物理量でのセンシングデータの収集が終了していないと判定されると（ステップＳ１５０においてＮＯ）、制御部１８０は、環境調節部１７２を制御することによって、センシングデバイス１２に入力される物理量を変更する（ステップＳ１６０）。そして、制御部１８０は、全物理量でのセンシングデータの収集が終了するまで、ステップＳ１１０からステップＳ１５０までの処理を繰り返す。
【００７９】
一方、ステップＳ１５０において、全物理量でのセンシングデータの収集が終了したと判定されると（ステップＳ１５０においてＹＥＳ）、制御部１８０は、生成された複数の確率密度関数に基づいてメタデータを生成する。制御部１８０は、センシングデバイス設置部１７４に設置されたセンシングデバイス１２のセンシングデバイス特定情報と、生成されたメタデータとをセンサ管理サーバ２００に送信するように通信Ｉ／Ｆ１９５を制御する（ステップＳ１８０）。
【００８０】
このように、本実施の形態に従うメタデータ生成装置１００においては、特定の物理量が入力された場合におけるセンシングデバイス１２の出力値の確率密度関数に基づいて、センシングデバイス１２のメタデータが生成される。該確率密度関数によれば、同一品番が付与された各センシングデバイス１２の入出力関係の違い、及び、同一のセンシングデバイス１２における出力値のぶれが十分に表される。したがって、メタデータ生成装置１００によれば、各センシングデバイス１２の入出力関係をより正確に示すメタデータを生成することができる。
【００８１】
＜３−２．メタデータ登録動作＞
図９は、センサ管理サーバ２００におけるメタデータの登録動作の一例を示すフローチャートである。このフローチャートに示される処理は、センサ管理サーバ２００の作動中に、制御部２８０がメタデータ登録部２５０（図７）として機能することによって実行される。
【００８２】
図９を参照して、制御部２８０は、通信Ｉ／Ｆ２９５を介してメタデータ生成装置１００からメタデータ及びセンシングデバイス特定情報を受信したか否かを判定する（ステップＳ２００）。メタデータ及びセンシングデバイス特定情報を受信していないと判定されると（ステップＳ２００においてＮＯ）、処理はリターンに移行する。
【００８３】
一方、メタデータ及びセンシングデバイス特定情報を受信したと判定されると（ステップＳ２００においてＹＥＳ）、制御部２８０は、受信されたメタデータ及びセンシングデバイス特定情報を対応付けてメタデータＤＢ２９２に登録する（ステップＳ２１０）。
【００８４】
＜３−３．前処理動作（メタデータの利用例）＞
上述のように、メタデータＤＢ２９２に登録されたメタデータは、様々な用途に用いられる。ここでは一例として、処理モジュール２５４（図７）への入力データの前処理にメタデータを利用する例について説明する。
【００８５】
図１０は、センサ管理サーバ２００における前処理動作の一例を示すフローチャートである。このフローチャートに示される処理は、たとえば、センシングデバイス１２によって出力されたセンシングデータが処理モジュール２５４へ入力されている場合に、制御部２８０が前処理モジュール２５２として機能することによって実行される。
【００８６】
図１０を参照して、制御部２８０は、センシングデバイス１２によって出力されたセンシングデータのバッファリングを開始する（ステップＳ３００）。ステップＳ３００においては、センシングデータは、記憶部２９０（図４）の一部の領域に一時的に記憶される。
【００８７】
制御部２８０は、センシングデータのバッファリングを開始した後に所定時間Ｔ２が経過したか否かを判定する（ステップＳ３１０）。所定時間Ｔ２が経過していないと判定されると（ステップＳ３１０においてＮＯ）、制御部２８０は、所定時間Ｔ２が経過するまでセンシングデータのバッファリングを継続する。なお、所定時間Ｔ２は、ステップＳ３２０（後述）における環境推定のために必要な量のセンシングデータを収集可能な時間であり、制御プログラム２９１において予め定められている。
【００８８】
一方、所定時間Ｔ２が経過したと判定されると（ステップＳ３１０においてＹＥＳ）、制御部２８０は、処理モジュール２５４へ入力データを出力しているセンシングデバイス１２に対応付けられたメタデータと、バッファリングされたセンシングデータとに基づいて、センシングデバイス１２の周囲における現在の環境を推定する（ステップＳ３２０）。
【００８９】
具体的には、制御部２８０は、バッファリングされたセンシングデータの確率密度関数を生成し、生成された確率密度関数と、メタデータに含まれる複数の確率密度関数の各々との類似度を算出する。類似度の算出には、公知の種々の方法が用いられ得る。制御部２８０は、メタデータに含まれる複数の確率密度関数のうち、バッファリングされたセンシングデータの確率密度関数との類似度が最も高い確率密度関数を抽出する。制御部２８０は、抽出された確率密度関数に対応付けられている物理量がセンシングデバイス１２の周囲の現在の環境を示すと推定する。
【００９０】
図１１は、センシングデバイス１２の周囲における現在の環境の推定方法の一例を説明するための図である。図１１に示される例において、処理モジュール２５４へ入力データを出力しているセンシングデバイス１２は温度センサである。メタデータ１６０は、温度（センシングデバイス１２に入力される物理量）が１６℃である場合におけるセンシングデータの確率密度関数、温度が１７℃である場合におけるセンシングデータの確率密度関数、及び、温度が１８℃である場合におけるセンシングデータの確率密度関数を含む。
【００９１】
制御部２８０は、バッファリングされたセンシングデータの確率密度関数を生成し、生成された確率密度関数と、メタデータ１６０に含まれる複数の確率密度関数の各々との類似度を算出する。この例では、バッファリングされたセンシングデータの確率密度関数と、温度が１７℃である場合における確率密度関数との類似度が最も高い。この場合に、制御部２８０は、センシングデバイス１２の周囲の現在の温度が１７℃であると推定する。
【００９２】
再び図１０を参照して、センシングデバイス１２の周囲の現在の環境が推定されると、制御部２８０は、前処理の要否の判定と、必要な場合における前処理とを継続的に行なう（ステップＳ３３０）。具体的には、制御部２８０は、センシングデバイス１２に対応付けられているメタデータに含まれている複数の確率密度関数のうち、ステップＳ３２０において推定された環境に対応する確率密度関数を抽出する。制御部２８０は、抽出された確率密度関数を用いることによって、前処理の要否を判定し、必要な場合に前処理を実行する。
【００９３】
図１２は、前処理の要否の判定方法、及び、前処理の一例を説明するための図である。この例では、メタデータ１６０において、Ｖ１以下及びＶ２以上の出力値が外れ値であると予め定められている。この外れ値の基準（Ｖ１，Ｖ２）は、たとえば、メタデータ１６０の生成時に制御部１８０（図３）によって定められる。たとえば、制御部１８０によって実行される制御プログラム１９１においては、出現頻度（確率）が所定値未満の出力値を外れ値とみなすことが予め定められている。
【００９４】
制御部２８０は、現在の環境（温度：１７℃）に対応する確率密度関数を参照することによって、Ｖ１以下及びＶ２以上の出力値を外れ値とみなすことが可能となる。したがって、センシングデバイス１２によって出力されたセンシングデータがＶ１以下又はＶ２以上である場合に、制御部２８０は、センシングデータが外れ値であり、前処理が必要であると判定する。そして、制御部２８０は、センシングデータが外れ値である場合に、前処理として、たとえば、外れ値の削除を行なう。
【００９５】
再び図１０を参照して、その後、制御部２８０は、ステップＳ３３０における処理が開始されてから所定時間Ｔ３が経過したか否かを判定する（ステップＳ３４０）。所定時間Ｔ３が経過していないと判定されると（ステップＳ３４０においてＮＯ）、制御部２８０は、所定時間Ｔ３が経過するまで、前処理の要否の判定、及び、必要な場合における前処理を継続する。なお、所定時間Ｔ３は、ステップＳ３２０において推定された環境がほとんど変化しない時間であり、制御プログラム２９１において予め定められている。一方、所定時間Ｔ３が経過したと判定されると（ステップＳ３４０においてＹＥＳ）、処理はリターンに移行する。
【００９６】
このように、センサ管理サーバ２００においては、たとえば、処理モジュール２５４への入力データの前処理の要否判定に、センシングデバイス１２に対応付けられたメタデータ（確率密度関数）が用いられる。センサ管理サーバ２００においては、たとえば、メタデータに含まれる、外れ値と判定する基準値（Ｖ１，Ｖ２（図１２））を用いることによって、前処理の要否判定を容易に行なうことができる。
【００９７】
［４．特徴］
以上のように、本実施の形態に従うメタデータ生成装置１００においては、特定の物理量が入力された場合におけるセンシングデバイス１２の出力値の確率密度関数に基づいて、センシングデバイス１２のメタデータが生成される。該確率密度関数によれば、同一品番が付与された各センシングデバイス１２の入出力関係の違い、及び、同一のセンシングデバイス１２における出力値のぶれが十分に表される。したがって、メタデータ生成装置１００によれば、各センシングデバイス１２の入出力関係をより正確に示すメタデータを生成することができる。
【００９８】
なお、センシングデバイス１２は、本発明の「センシングデバイス」の一例であり、メタデータ生成装置１００は、本発明の「メタデータ生成装置」の一例である。確率密度関数生成部１５２は、本発明の「確率密度関数生成部」の一例であり、メタデータ生成部１５４は、本発明の「メタデータ生成部」の一例である。環境制御部１５０は、本発明の「物理量特定部」の一例である。
【００９９】
［５．変形例］
以上、実施の形態について説明したが、本発明は、上記実施の形態に限定されるものではなく、その趣旨を逸脱しない限りにおいて、種々の変更が可能である。以下、変形例について説明する。但し、以下の変形例は適宜組合せ可能である。
【０１００】
＜５−１＞
上記実施の形態においては、特定の物理量が入力された場合における、センシングデバイス１２の出力値の確率密度関数がメタデータとされた。しかしながら、必ずしも確率密度関数自体がメタデータとされる必要はない。たとえば、制御部１８０は、確率密度関数を生成し、生成された確率密度関数に基づいて、外れ値の基準（図１２におけるＶ１，Ｖ２）を決定する。そして、制御部１８０は、生成された外れ値の基準をメタデータとしてもよい。
【０１０１】
＜５−２＞
また、上記実施の形態においては、センシングデバイス１２とは別にメタデータ生成装置１００が設けられた。しかしながら、メタデータ生成装置１００は、必ずしもセンシングデバイス１２と別体となっている必要はない。たとえば、センシングデバイス１２とメタデータ生成装置１００とは一体となっていてもよい。すなわち、センシングデバイス１２がメタデータの生成機能を備えていてもよい。この場合には、たとえば、センシングデバイス１２が予めセンシングデバイス設置部１７４に設置されている。そして、メタデータの生成時には、収容部１７０の内部は密閉空間とされる。一方、メタデータの生成後、収容部１７０は開放され、センシングデバイス１２は、周囲の環境（収容部１７０の外部の環境）を観測可能となる。
【０１０２】
＜５−３＞
また、上記実施の形態においては、センシングデバイス１２が収容部１７０に密閉された状態で、メタデータが生成された。しかしながら、メタデータは、必ずしもセンシングデバイス１２が収容部１７０内に密閉された状態で生成される必要はない。たとえば、センシングデバイス１２が実際の使用環境において設置された状態で、メタデータが生成されてもよい。
【０１０３】
この場合には、たとえば、メタデータ生成装置１００は、収容部１７０を備えない。代わりに、メタデータ生成装置１００は、メタデータの生成対象であるセンシングデバイス１２よりも高精度のセンサ（参照機）を備える。たとえば、このセンサは、センシングデバイス１２よりも環境の検知精度が１桁以上高い。制御部１８０は、たとえば、このセンサによって検知された物理量の収集と、センシングデバイス１２によって生成されたセンシングデータの収集とを所定時間継続する。
【０１０４】
制御部１８０は、同タイミングに収集された物理量とセンシングデータとを対応付ける。制御部１８０は、収集された物理量とセンシングデータとに基づいて、特定の物理量が入力された場合におけるセンシングデバイス１２の出力値の確率密度関数を複数生成する。なお、各確率密度関数は、異なる物理量がセンシングデバイス１２に入力された場合の出力値の確率密度関数である。そして、制御部１８０は、生成された複数の確率密度関数に基づいてメタデータを生成する。
【０１０５】
このような方法でメタデータを生成すれば、実際の使用環境におけるセンシングデータに基づいてメタデータが生成されるため、実際の使用環境におけるセンシングデバイス１２の入出力関係を示すメタデータを生成することができる。
【０１０６】
＜５−４＞
また、上記実施の形態において、センサ管理サーバ２００によって行なわれた処理は、複数のサーバ等によって実現されてもよい。
【符号の説明】
【０１０７】
１０  センサネットワークシステム、１１  センサネットワークアダプタ、１２  センシングデバイス、１４  センサネットワーク部、１５  インターネット、１００  メタデータ生成装置、１５０  環境制御部、１５２  確率密度関数生成部、１５４  メタデータ生成部、１５６  メタデータ送信部、１６０  メタデータ、１７０  収容部、１７２  環境調節部、１７４  センシングデバイス設置部、１８０，２８０  制御部、１８２，２８２  ＣＰＵ、１８４，２８４  ＲＡＭ、１８６，２８６  ＲＯＭ、１９０，２９０  記憶部、１９１，２９１  制御プログラム、１９５，２９５  通信Ｉ／Ｆ、１９６  入力部、１９７  出力部、１９８，２９８  バス、２００  センサ管理サーバ、２５０  メタデータ登録部、２５２  前処理モジュール、２５４  処理モジュール、２９２  メタデータＤＢ、３００  アプリケーションサーバ。
【図１】
2019149671.tif 000003
【図２】
2019149671.tif 000004
【図３】
2019149671.tif 000005
【図４】
2019149671.tif 000006
【図５】
2019149671.tif 000007
【図６】
2019149671.tif 000008
【図７】
2019149671.tif 000009
【図８】
2019149671.tif 000010
【図９】
2019149671.tif 000011
【図１０】
2019149671.tif 000012
【図１１】
2019149671.tif 000013
【図１２】
2019149671.tif 000014