(57)【要約】【課題】仮想センサに関連付けられるメタデータとして、適切なメタデータを生成可能なデータ生成装置、データ生成方法及びプログラムを提供する。【解決手段】データ生成装置は、仮想センサに関連付けられるメタデータである第１メタデータを生成するように構成されたデータ生成装置であって、実センサのメタデータである第２メタデータを取得するように構成された取得部と、第１メタデータの仮入力を受け付けるように構成された受付部と、受付部を介して仮入力された第１メタデータと、取得部によって取得された第２メタデータとの整合性を判定するように構成された判定部と、判定部による判定結果に基づいて、最終的な第１メタデータを生成するように構成された生成部とを備える。【選択図】図１
2019028970.tif 000002
【特許請求の範囲】
【請求項１】
仮想センサに関連付けられるメタデータである第１メタデータを生成するように構成されたデータ生成装置であって、
前記仮想センサは、実センサが対象を観測することによって得られたセンシングデータを入力として、新たなセンシングデータを出力するように構成されており、
前記データ生成装置は、
前記実センサのメタデータである第２メタデータを取得するように構成された取得部と、
前記第１メタデータの仮入力を受け付けるように構成された受付部と、
前記受付部を介して仮入力された前記第１メタデータと、前記取得部によって取得された前記第２メタデータとの整合性を判定するように構成された判定部と、
前記判定部による判定結果に基づいて、最終的な前記第１メタデータを生成するように構成された生成部とを備える、データ生成装置。
【請求項２】
前記受付部は、予め定められた入力項目に対する情報の入力を受け付けることによって、前記第１メタデータの仮入力を受け付けるように構成されている、請求項１に記載のデータ生成装置。
【請求項３】
前記第１メタデータの仮入力を行なうための画面を出力するように構成された出力部をさらに備え、
前記画面は、前記入力項目を含む、請求項２に記載のデータ生成装置。
【請求項４】
前記データ生成装置の外部に設けられた外部装置にデータを送信するように構成された送信部をさらに備え、
前記外部装置は、前記第２メタデータを記憶するように構成されており、
前記送信部は、前記生成部によって生成された前記第１メタデータを前記外部装置に送信し、
前記外部装置は、受信された前記第１メタデータを記憶するように構成されている、請求項１から請求項３のいずれか１項に記載のデータ生成装置。
【請求項５】
前記送信部によって送信される前記第１メタデータには、前記第１メタデータが前記仮想センサのメタデータであることを示す識別情報が付与されている、請求項４に記載のデータ生成装置。
【請求項６】
前記送信部によって送信される前記第１メタデータには、前記第１メタデータが前記仮想センサによって出力されるセンシングデータのメタデータであることを示す識別情報が付与されている、請求項４に記載のデータ生成装置。
【請求項７】
仮想センサに関連付けられるメタデータである第１メタデータを生成するデータ生成方法であって、
前記仮想センサは、実センサが対象を観測することによって得られたセンシングデータを入力として、新たなセンシングデータを出力するように構成されており、
前記データ生成方法は、
前記実センサのメタデータである第２メタデータを取得する取得ステップと、
前記第１メタデータの仮入力を受け付ける受付ステップと、
仮入力された前記第１メタデータと、取得された前記第２メタデータとの整合性を判定する判定ステップと、
前記判定ステップにおける判定結果に基づいて、最終的な前記第１メタデータを生成するステップとを含む、データ生成方法。
【請求項８】
仮想センサに関連付けられるメタデータである第１メタデータをコンピュータに生成させるプログラムであって、
前記仮想センサは、実センサが対象を観測することによって得られたセンシングデータを入力として、新たなセンシングデータを出力するように構成されており、
前記プログラムは、
前記実センサのメタデータである第２メタデータを取得する取得ステップと、
前記第１メタデータの仮入力を受け付ける受付ステップと、
仮入力された前記第１メタデータと、取得された前記第２メタデータとの整合性を判定する判定ステップと、
前記判定ステップにおける判定結果に基づいて、最終的な前記第１メタデータを生成するステップとを前記コンピュータに実行させる、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ生成装置、データ生成方法及びプログラムに関する。
【背景技術】
【０００２】
特開２０１４−１５３７９７号公報（特許文献１）は、仮想センサを含むセンサネットワークを開示する。ここで、仮想センサとは、他のセンサ（たとえば、実センサ）から得られたセンシングデータを分析加工して新たなセンシングデータとして出力するものをいう。このセンサネットワークにおいては、仮想センサのメタデータ（仮想センサを識別するための属性情報）が仮想センサマスターＤＢ（データベース）に登録される（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１４−１５３７９７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
仮想センサは実センサのセンシングデータを入力とするため、仮想センサのメタデータは、仮想センサにセンシングデータを出力する実センサのメタデータの影響を受ける。すなわち、仮想センサのメタデータは、実センサのメタデータと矛盾してはいけない。したがって、仮想センサのメタデータを生成する場合には、実センサのメタデータを考慮する必要がある。上記特許文献１においては、仮想センサのメタデータの具体的な生成方法が開示されていない。
【０００５】
本発明は、このような問題を解決するためになされたものであって、その目的は、仮想センサに関連付けられるメタデータとして、適切なメタデータを生成可能なデータ生成装置、データ生成方法及びプログラムを提供することである。
【課題を解決するための手段】
【０００６】
本発明は、上述した課題を解決するために、以下の構成を採用する。
【０００７】
すなわち、本発明の一側面に係るデータ生成装置は、仮想センサに関連付けられるメタデータである第１メタデータを生成するように構成されたデータ生成装置であって、仮想センサは、実センサが対象を観測することによって得られたセンシングデータを入力として、新たなセンシングデータを出力するように構成されており、データ生成装置は、実センサのメタデータである第２メタデータを取得するように構成された取得部と、第１メタデータの仮入力を受け付けるように構成された受付部と、受付部を介して仮入力された第１メタデータと、取得部によって取得された第２メタデータとの整合性を判定するように構成された判定部と、判定部による判定結果に基づいて、最終的な第１メタデータを生成するように構成された生成部とを備える。
【０００８】
このデータ生成装置においては、仮入力された第１メタデータ（仮想センサのメタデータ）と、第２メタデータ（実センサのメタデータ）との整合性が判定され、判定結果に基づいて最終的な第１メタデータが生成される。このデータ生成装置によれば、第１メタデータを生成する場合に、第１メタデータと第２メタデータとの整合性が判定されるため、第２メタデータとの整合がとれた第１メタデータを生成することができる。
【０００９】
上記一側面に係るデータ生成装置において、受付部は、予め定められた入力項目に対する情報の入力を受け付けることによって、第１メタデータの仮入力を受け付けるように構成されてもよい。
【００１０】
このデータ生成装置によれば、第１メタデータの仮入力のための入力項目が予め定められているため、ユーザは、第１メタデータの仮入力を容易に行なうことができる。
【００１１】
上記一側面に係るデータ生成装置は、第１メタデータの仮入力を行なうための画面を出力するように構成された出力部をさらに備えてもよく、画面は、上記入力項目を含んでもよい。
【００１２】
このデータ生成装置によれば、出力部によって出力された画面に入力項目が含まれるため、ユーザは、入力項目を視覚的に確認しながら、第１メタデータの仮入力を容易に行なうことができる。
【００１３】
上記一側面に係るデータ生成装置は、データ生成装置の外部に設けられた外部装置にデータを送信するように構成された送信部をさらに備えてもよく、外部装置は、第２メタデータを記憶するように構成されてもよく、送信部は、生成部によって生成された第１メタデータを外部装置に送信してもよく、外部装置は、受信された第１メタデータを記憶するように構成されてもよい。
【００１４】
このデータ生成装置によれば、外部装置において第１メタデータ（仮想センサのメタデータ）が記憶されるため、一度生成された第１メタデータを利用することによって、次回以降、該第１メタデータが関連付けられた仮想センサを容易に指定することができる。
【００１５】
上記一側面に係るデータ生成装置において、送信部によって送信される第１メタデータには、第１メタデータが仮想センサのメタデータであることを示す識別情報が付与されてもよい。
【００１６】
このデータ生成装置によれば、第１メタデータに識別情報（第１メタデータが仮想センサのメタデータであることを示す識別情報）が付与されているため、第１メタデータと第２メタデータとを区別することができる。
【００１７】
上記一側面に係るデータ生成装置において、送信部によって送信される第１メタデータには、第１メタデータが仮想センサによって出力されるセンシングデータのメタデータであることを示す識別情報が付与されてもよい。
【００１８】
このデータ生成装置によれば、第１メタデータに識別情報（第１メタデータが仮想センサによって出力されるセンシングデータのメタデータであることを示す識別情報）が付与されているため、第１メタデータと第２メタデータとを区別することができる。
【００１９】
また、本発明の一側面に係るデータ生成方法は、仮想センサに関連付けられるメタデータである第１メタデータを生成するデータ生成方法であって、仮想センサは、実センサが対象を観測することによって得られたセンシングデータを入力として、新たなセンシングデータを出力するように構成されており、データ生成方法は、実センサのメタデータである第２メタデータを取得する取得ステップと、第１メタデータの仮入力を受け付ける受付ステップと、仮入力された第１メタデータと、取得された第２メタデータとの整合性を判定する判定ステップと、判定ステップにおける判定結果に基づいて、最終的な第１メタデータを生成するステップとを含む。
【００２０】
このデータ生成方法においては、仮入力された第１メタデータと、第２メタデータとの整合性が判定され、判定結果に基づいて最終的な第１メタデータが生成される。このデータ生成方法によれば、第１メタデータを生成する場合に、第１メタデータと第２メタデータとの整合性が判定されるため、第２メタデータとの整合がとれた第１メタデータを生成することができる。
【００２１】
また、本発明の一側面に係るプログラムは、仮想センサに関連付けられるメタデータである第１メタデータをコンピュータに生成させるプログラムであって、仮想センサは、実センサが対象を観測することによって得られたセンシングデータを入力として、新たなセンシングデータを出力するように構成されており、プログラムは、実センサのメタデータである第２メタデータを取得する取得ステップと、第１メタデータの仮入力を受け付ける受付ステップと、仮入力された第１メタデータと、取得された第２メタデータとの整合性を判定する判定ステップと、判定ステップにおける判定結果に基づいて、最終的な第１メタデータを生成するステップとをコンピュータに実行させる。
【００２２】
このプログラムにおいては、仮入力された第１メタデータと、第２メタデータとの整合性が判定され、判定結果に基づいて最終的な第１メタデータが生成される。このプログラムによれば、第１メタデータを生成する場合に、第１メタデータと第２メタデータとの整合性が判定されるため、第２メタデータとの整合がとれた第１メタデータを生成することができる。
【発明の効果】
【００２３】
本発明によれば、仮想センサに関連付けられるメタデータとして、適切なメタデータを生成可能なデータ生成装置、データ生成方法及びプログラムを提供することができる。
【図面の簡単な説明】
【００２４】
【図１】センサネットワークシステムを示す図である。
【図２Ａ】第２サーバによって実現される仮想センサの属性の項目の一例を示す図である。
【図２Ｂ】第２サーバによって実現される仮想センサの属性の内容の一例を示す図である。
【図３】第２サーバのハードウェア構成の一例を示す図である。
【図４】仮想センサクラスライブラリの一例を示す図である。
【図５】制御部の機能構成の一例を示す図である。
【図６】仮想センサメタデータ生成シミュレータ部の詳細な機能構成の一例を示す図である。
【図７】仮想センサの「クラス」選択後に、ユーザ端末のモニタに表示される画面の一例である。
【図８】実センサ側メタデータＤＢのデータマップの一例を示す図である。
【図９】仮想センサにセンシングデータを出力する実センサの選択時の画面の一例を示す図である。
【図１０】入力センサの選択後にユーザ端末のモニタに表示される画面の一例である。
【図１１】演算開始ボタンの押下後にユーザ端末のモニタに表示される画面の一例を示す図である。
【図１２】仮想センサインスタンステーブルの一例を示す図である。
【図１３】仮想センサのメタデータのシミュレーションの具体的処理手順を示すフローチャートである。
【図１４】図１３のステップＳ９における具体的処理手順を示すフローチャートである。
【発明を実施するための形態】
【００２５】
［１．適用例］
以下、本発明の一側面に係る実施の形態（以下、「本実施の形態」とも称する。）について、図面を用いて詳細に説明する。なお、図中同一又は相当部分には同一符号を付してその説明は繰り返さない。また、以下で説明する本実施の形態は、あらゆる点において本発明の例示にすぎない。本実施の形態は、本発明の範囲内において、種々の改良や変更が可能である。すなわち、本発明の実施にあたっては、実施の形態に応じて具体的構成を適宜採用することができる。
【００２６】
図１は、本発明が適用される場面の一例（センサネットワークシステム１００）を示す図である。センサネットワークシステム１００においては、センシングデバイス（たとえば、実センサ、仮想センサ（後述））によって生成されたセンシングデータが、データ提供側からデータ利用側に流通可能である。
【００２７】
図１に示されるように、センサネットワークシステム１００は、センサネットワーク部１と、アプリケーションサーバ２と、管理システム３とを含む。センサネットワーク部１、アプリケーションサーバ２及び管理システム３は、インターネット９０を介して相互に通信可能に接続されている。なお、センサネットワークシステム１００に含まれる各構成要素（アプリケーションサーバ２、センサネットワークアダプタ１１及び実センサ１０等）の数は、図１に示されるものに限定されない。
【００２８】
センサネットワークシステム１００においては、たとえば、仮想センサを実現する管理システム３やセンサネットワーク部１（実センサ１０）がデータ提供側となり、アプリケーションサーバ２がデータ利用側となる。なお、仮想センサとは、たとえば、１又は複数のセンサ（たとえば、実センサ１０）によって生成されたセンシングデータを入力として、新たなセンシングデータを出力する仮想的なセンサである。本実施の形態においては、特に、仮想センサによって生成されたセンシングデータが流通する点を中心に説明する。
【００２９】
センサネットワーク部１は、たとえば、複数のセンサネットワークアダプタ１１を含む。複数のセンサネットワークアダプタ１１の各々には複数の実センサ１０が接続されており、各実センサ１０はセンサネットワークアダプタ１１を介してインターネット９０に接続されている。
【００３０】
実センサ１０は、対象を観測することによってセンシングデータを得るように構成されている。実センサ１０は、たとえば、画像センサ（カメラ）、温度センサ、湿度センサ、照度センサ、力センサ、音センサ、ＲＦＩＤ（Radio Frequency IDentification）センサ、赤外線センサ、姿勢センサ、降雨センサ、放射能センサ及びガスセンサ等であり、どのような種類のセンサであってもよい。また、実センサ１０は、必ずしも固設型である必要はなく、携帯電話、スマートフォン及びタブレット等の移動型であってもよい。また、各実センサ１０は、必ずしも単一のセンシングデバイスで構成されている必要はなく、複数のセンシングデバイスによって構成されていてもよい。また、実センサ１０は、どのような目的で設置されていてもよく、たとえば、工場におけるＦＡ（Factory Automation）及び生産管理、都市交通制御、気象等の環境計測、ヘルスケア並びに防犯等のために設置されていてもよい。
【００３１】
センサネットワーク部１において、たとえば、各センサネットワークアダプタ１１は別々の（遠い）場所に配置され、各センサネットワークアダプタ１１に接続される各実センサ１０は同一の（近い）場所に配置されるが、これらの配置場所はこれに限定されない。
【００３２】
各アプリケーションサーバ２は、センシングデータを利用するアプリケーションを実行するように構成されており、たとえば、汎用のコンピュータによって実現されている。アプリケーションサーバ２は、インターネット９０を介して必要なセンシングデータを取得する。上述のように、本実施の形態において、各アプリケーションサーバ２は、センサネットワークシステム１００におけるデータ利用側として動作し得る。
【００３３】
管理システム３は、第１サーバ４と、第２サーバ７とを含む。第１サーバ４は、センサネットワークシステム１００におけるセンシングデータの流通を実現するためのサーバである。詳細については後述するが、第１サーバ４は、たとえば、センサネットワークシステム１００において、データ提供側とデータ利用側とのマッチング（データ利用側の要求を満たすデータ提供側の探索）を行なう。第２サーバ７は、仮想センサを実現するためのサーバである。詳細については後述するが、第２サーバ７は、たとえば、１又は複数の実センサ１０によって生成されたセンシングデータを入力として、新たなセンシングデータを出力する仮想センサを実現する。なお、第２サーバ７は、本発明における「データ生成装置」の一例である。
【００３４】
第１サーバ４は、実センサ側メタデータデータベース（ＤＢ）４１と、アプリ側メタデータデータベース（ＤＢ）４２と、仮想センサ側メタデータデータベース（ＤＢ）４３と、メタデータマッチング部４０とを含む。センシングデータの流通を実現するために、実センサ側メタデータＤＢ４１及び仮想センサ側メタデータＤＢ４３には提供側データカタログ（ＤＣ）が予め登録され、アプリ側メタデータＤＢ４２には利用側データカタログ（ＤＣ）が予め登録される。
【００３５】
利用側ＤＣは、データ利用側（たとえば、アプリケーションサーバ２）が必要としているセンサの属性を示すカタログである。一方、提供側ＤＣは、外部装置（たとえば、アプリケーションサーバ２）にセンシングデータを提供可能なデータ提供側（たとえば、実センサ１０）の属性を示すカタログである。たとえば、実センサ側メタデータＤＢ４１には、外部装置にセンシングデータを提供可能な実センサ１０の属性を示す提供側ＤＣが登録される。また、たとえば、仮想センサ側メタデータＤＢ４３には、外部装置にセンシングデータを提供可能な仮想センサの属性を示す提供側ＤＣが登録される。なお、仮想センサ側メタデータＤＢ４３には、仮想センサインスタンステーブル４４が含まれるが、仮想センサインスタンステーブル４４については後程説明する。
【００３６】
図２Ａは、第２サーバ７によって実現される仮想センサの属性の項目の一例を示す図である。図２Ｂは、第２サーバ７によって実現される仮想センサの属性の内容の一例を示す図である。図２Ａに示されるように、仮想センサの属性の項目としては、たとえば、「センサクラス」、「センサクラスナンバー」、「センサ種別」、「センサの位置・姿勢」等がある。また、図２Ｂに示されるように、たとえば、「センサクラス」の一例は「１」であり、「センサクラスナンバー」の一例は「００１」であり、「センサ種別」の一例は「速度センサ」であり、「センサの位置・姿勢」の一例は「東京都千代田区半蔵門交差点、東向」である。たとえば、図２Ｂに含まれる項目の一部又は全部を含むカタログが仮想センサの提供側ＤＣの一例となる。
【００３７】
再び図１を参照して、メタデータマッチング部４０は、実センサ側メタデータＤＢ４１及びアプリ側メタデータＤＢ４２を参照し、提供側ＤＣが利用側ＤＣの要求（アプリケーションサーバ２が必要としているセンシングデータの属性に関する要求）を満たす場合に、実センサ１０にデータフロー制御指令を送信する。データフロー制御指令とは、データ提供側からデータ利用側にセンシングデータを流通させる指令である。
【００３８】
一方、実センサ側メタデータＤＢ４１に利用側ＤＣの要求を満たす提供側ＤＣが登録されていない場合に、メタデータマッチング部４０は、仮想センサ側メタデータＤＢ４３及びアプリ側メタデータＤＢ４２を参照する。そして、仮想センサ側メタデータＤＢ４３に登録されている提供側ＤＣがアプリ側メタデータＤＢ４２に登録されている利用側ＤＣの要求を満たす場合に、メタデータマッチング部４０は、第２サーバ７にデータフロー制御指令を送信する。
【００３９】
第２サーバ７は、仮想センサＤＢ５と、仮想センサシミュレータ装置６とを含む。仮想センサＤＢ５は、仮想センサの生成に必要な情報（たとえば、仮想センサクラスライブラリ５４（後述））を記憶するデータベースである。仮想センサＤＢ５については、後程詳しく説明する。
【００４０】
仮想センサシミュレータ装置６は、仮想センサを実際に生成する前に、仮想センサを疑似的にシミュレーションする装置である。仮想センサシミュレータ装置６においては、仮想センサのみならず、仮想センサに付与されるメタデータ（たとえば、仮想センサ側メタデータＤＢ４３に登録される提供側ＤＣに含まれる情報）もシミュレーションされる。たとえば、仮想センサの生成時に仮想センサシミュレータ装置６においては、仮想センサの定義者が、仮想センサのメタデータを仮入力し、仮入力されたメタデータに基づいてメタデータのシミュレーションが行なわれる。
【００４１】
仮想センサは実センサ１０のセンシングデータを入力とするため、仮想センサのメタデータは、仮想センサにセンシングデータを出力する実センサ１０（以下、「入力センサ」とも称する。）のメタデータの影響を受ける。仮想センサによって生成されるセンシングデータの信頼性を維持するためにも、仮想センサのメタデータは、実センサ１０のメタデータと矛盾すべきではない。したがって、仮想センサのメタデータを生成する場合には、実センサ１０のメタデータを考慮する必要がある。
【００４２】
本実施の形態において、仮想センサシミュレータ装置６は、仮想センサのメタデータのシミュレーション時に、仮想センサの定義者によって仮入力されたメタデータ（第１メタデータ）と、仮想センサにセンシングデータを出力する実センサ１０（入力センサ）のメタデータ（第２メタデータ）との整合性を判定する。そして、仮想センサシミュレータ装置６は、判定結果に基づいて最終的なメタデータを生成する。
【００４３】
本実施の形態に従う第２サーバ７によれば、仮想センサのシミュレーション時に、仮想センサの定義者によって仮入力されたメタデータと、入力センサ（実センサ１０）のメタデータとの整合性が判定されるため、入力センサのメタデータと整合のとれた、仮想センサのメタデータを生成することができる。以下、仮想センサを実現する第２サーバ７の構成例、動作例について順に説明する。
【００４４】
［２．構成例］
＜２−１．第２サーバのハードウェア構成＞
図３は、第２サーバ７のハードウェア構成の一例を示す図である。なお、本実施の形態において、第２サーバ７は、汎用コンピュータによって実現されている。
【００４５】
図３に示されるように、第２サーバ７は、制御部３００と、通信インターフェース（Ｉ／Ｆ）５１０と、記憶部４００とを含み、各構成は、バス３５０を介して電気的に接続されている。
【００４６】
制御部３００は、ＣＰＵ（Central Processing Unit）３１０、ＲＡＭ（Random Access Memory）３２０、ＲＯＭ（Read Only Memory）３３０等を含み、情報処理に応じて各構成要素の制御を行なうように構成されている。制御部３００については、後程詳しく説明する。
【００４７】
通信Ｉ／Ｆ５１０は、インターネット９０を介して、第２サーバ７の外部に設けられた外部装置（たとえば、第１サーバ４、アプリケーションサーバ２及びセンサネットワーク部１）と通信するように構成されている。通信Ｉ／Ｆ５１０は、たとえば、有線ＬＡＮ（Local Area Network）モジュールや無線ＬＡＮモジュールで構成される。
【００４８】
記憶部４００は、たとえば、ハードディスクドライブ、ソリッドステートドライブ等の補助記憶装置である。記憶部４００は、たとえば、仮想センサシミュレータプログラム６０と、仮想センサＤＢ５とを記憶するように構成されている。
【００４９】
仮想センサシミュレータプログラム６０は、制御部３００によって実行される第２サーバ７の制御プログラムである。仮想センサシミュレータプログラム６０は、仮想センサを実際に生成する前に、疑似的にシミュレーションするためのプログラムである。仮想センサシミュレータプログラム６０に従って制御部３００により実行される処理については、後程詳しく説明する。
【００５０】
仮想センサＤＢ５は、仮想センサを実現するために必要な情報を記憶するデータベースである。仮想センサＤＢ５は、仮想センサクラスライブラリ５４を含む。仮想センサクラスライブラリ５４は、仮想センサの抽象概念である「クラス」を複数管理するライブラリである。仮想センサの「インスタンス」（実体、事例）は、対応する「クラス」に基づいて生成される。
【００５１】
図４は、仮想センサクラスライブラリ５４の一例を示す図である。図４に示されるように、仮想センサクラスライブラリ５４においては、複数の「クラス」が管理されている。各「クラス」は、「機能」及び「分野」の観点で整理されている。「機能」としては、たとえば、「機能Ａ」、「機能Ｂ」、「機能Ｃ」、「機能Ｄ」及び「機能Ｅ」がある。「分野」としては、たとえば、「一般」、「ＦＡ領域」、「環境領域」、「社会システム領域」及び「ヘルスケア領域」がある。
【００５２】
＜２−２．第２サーバの機能構成＞
図５は、制御部３００の機能構成の一例を示す図である。制御部３００は、記憶部４００に記憶されたプログラム（仮想センサシミュレータプログラム６０を含む。）をＲＡＭ３２０に展開する。そして、制御部３００は、ＲＡＭ３２０に展開されたプログラムをＣＰＵ３１０により解釈及び実行することによって、各構成要素を制御する。これによって、図５に示されるように、制御部３００は、データ入出力部５１、仮想センサ演算部５３及び仮想センサシミュレータ装置６として動作する。
【００５３】
データ入出力部５１は、たとえば、１又は複数の実センサ１０からセンシングデータの入力を受けるとともに、仮想センサ演算部５３によって生成された仮想センサのセンシングデータを外部装置に出力するように構成されている。
【００５４】
仮想センサ演算部５３は、たとえば、仮想センサの各「クラス」に対応した仮想センサ関数を実行可能に構成されており、データ入出力部５１を介して取得された実センサ１０のセンシングデータを入力として、仮想センサのセンシングデータを演算するように構成されている。
【００５５】
仮想センサシミュレータ装置６は、仮想センサシミュレータプログラム６０によって実現される機能モジュールであって、仮想センサシミュレータＡＰＩ部６１と、仮想センサメタデータ生成シミュレータ部６２と、仮想センサメタデータ生成部６３とを含む。仮想センサシミュレータ装置６は、仮想センサを実際に生成する前に、仮想センサを疑似的にシミュレーションするように構成されている。
【００５６】
仮想センサシミュレータＡＰＩ部６１は、仮想センサの定義者の指示に応じて、１又は複数の入力センサ（実センサ１０）を選択するように構成されている。
【００５７】
上述のように、本実施の形態においては、仮想センサのシミュレーション時に、仮想センサの定義者によって、仮想センサのメタデータが仮入力される。仮想センサメタデータ生成シミュレータ部６２は、仮入力されたメタデータと、入力センサのメタデータとの整合がとれているかを判定するように構成されている。仮想センサメタデータ生成シミュレータ部６２については、後程詳しく説明する。
【００５８】
仮想センサメタデータ生成部６３は、シミュレーション結果に基づいて仮想センサのメタデータを生成するとともに、生成されたメタデータを仮想センサ側メタデータＤＢ４３に送信（登録）するように構成されている。
【００５９】
図６は、仮想センサメタデータ生成シミュレータ部６２の詳細な機能構成の一例を示す図である。図６に示されるように、仮想センサメタデータ生成シミュレータ部６２は、取得部６２１と、受付部６２２と、判定部６２３とを含む。
【００６０】
取得部６２１は、入力センサのメタデータを実センサ側メタデータＤＢ４１から取得するように構成されている。受付部６２２は、仮想センサの定義者による、仮想センサのメタデータの仮入力を受け付けるように構成されている。判定部６２３は、取得部６２１を介して取得された実センサ１０のメタデータと、受付部６２２を介して仮入力された仮想センサのメタデータとが矛盾していないか（整合がとれているか）を判定するように構成されている。
【００６１】
［３．動作例］
＜３−１．仮想センサの定義者による操作手順＞
仮想センサの定義者は、新たな仮想センサを生成するために、たとえば、不図示のユーザ端末（たとえば、スマートフォン、ＰＣ（Personal Computer）、タブレット等）から、第２サーバ７にアクセスする。これによって、ユーザ端末のモニタには、第２サーバ７から受信された画面が表示される。
【００６２】
たとえば、ユーザ端末のモニタには、仮想センサの「クラス」を選択する画面が表示される。たとえば、ユーザ端末のモニタには、図４に示されるようなＧＵＩ（Graphical User Interface）が表示される。このＧＵＩにおいては、複数の選択ボタン５６が表示されている。複数の選択ボタン５６の各々は、仮想センサの各「クラス」に対応している。ユーザは、生成したい仮想センサの「クラス」に対応した選択ボタン５６を押下する。
【００６３】
図７は、仮想センサの「クラス」選択後に、ユーザ端末のモニタに表示される画面の一例である。この一例においては、仮想センサの「クラス」として、「平均気温センサ」が選択されている。「平均気温センサ」とは、複数の実センサ１０によって検知された複数の「気温」の平均値をセンシングデータとして出力する仮想センサである。
【００６４】
図７に示されるように、表記欄２０１は、選択された「クラス」が「平均気温センサ」である旨を示す。表示欄２０２は、「平均気温センサ」の入力センサ（実センサ１０）の複数の候補を、選択済みメタデータリストとして表示する。
【００６５】
図８は、実センサ側メタデータＤＢ４１（図１）のデータマップの一例を示す図である。図８に示されるように、実センサ側メタデータＤＢ４１においては、登録されている各実センサ１０のメタデータ（「センサＩＤ」、「センサクラス」、「センサ種別」、「実センサクラスＮｏ．」、「センサの位置・姿勢」、「センサ所有者ＩＤ」、「動作履歴」、「データ信頼度」及び「ＩＰアドレス」等）が管理されている。表示欄２０２には、実センサ側メタデータＤＢ４１に記憶されている複数の実センサ１０の一部又は全部が表示される。
【００６６】
再び図７を参照して、入力欄２０３は、選択済みメタデータリストに含まれる複数の入力センサ（実センサ１０）の候補のうち、定義者によって選択された実センサ１０の情報を表示する領域である。表示欄２０５は、表記欄２０１に表示される仮想センサに、入力欄２０３に表示される実センサ１０のセンシングデータが入力された場合の出力例を表示する領域である。演算開始ボタン２１０は、仮想センサのシミュレーションの開始指示を受け付けるボタンである。メタデータ生成ボタン２２０は、仮想センサのメタデータの生成指示を受け付けるボタンである。
【００６７】
図９は、入力センサの選択時の画面の一例を示す図である。図９に示されるように、たとえば、この例では、枠１０１に含まれる４つの実センサ１０（「温度センサ」（Ｒ０１０、Ｒ０１１、Ｒ０１２、Ｒ０１３））が入力センサとして選択される。
【００６８】
入力センサとして選択された４つの実センサ１０は、入力欄２０３に転記表示される。Ｒ０１０、Ｒ０１１、Ｒ０１２及びＲ０１３は、いずれも「京都駅」近辺に設置された温度センサである。したがって、Ｒ０１０、Ｒ０１１、Ｒ０１２及びＲ０１３を入力センサとする仮想センサ（表記欄２０１に表示される仮想センサ）は、「京都駅」近辺の「平均気温センサ」となる。
【００６９】
図１０は、入力センサの選択後にユーザ端末のモニタに表示される画面の一例である。図１０に示されるように、入力センサが選択されると、各入力センサ付近に各入力センサの代表データ２２５が表示される。たとえば、この例において、代表データ２２５は、「温度（センシングデータ）」及び「測定時刻（日時）（メタデータ）」である。たとえば、仮想センサの定義者は、この画面を参照することによって、Ｒ０１０による温度測定は「２０１７／３／１４」に行なわれており、測定温度は「１２．１℃」であったことを認識することができる。
【００７０】
また、この画面においては、設定欄２０４が表示されている。設定欄２０４は、ユーザが、仮想センサのメタデータの仮入力、及び、オプションの設定を行なうための領域である。
【００７１】
この例では、設定欄２０４には、「仮想センサメタデータ設定部」と、「オプション」とが含まれている。「仮想センサメタデータ設定部」には、たとえば、「測定対象」、「測定場所」、「時刻」、「対価」及び「センシングデータ種類」が含まれている。また、「オプション」には、たとえば、「単位選択」、「データ出力間隔」、「精度」、「タイマー機能」、「トリガ入力有無」及び「緊急メール設定」が含まれている。このように、本実施の形態においては、仮想センサのメタデータの仮入力のための項目が予め定められている（画面に表示されている）ため、仮想センサの定義者は、メタデータの仮入力を容易に行なうことができる。
【００７２】
「仮想センサメタデータ設定部」及び「オプション」に含まれる項目は、たとえば、「クラス」毎に予め準備されており、仮想センサの定義者によって選択された「クラス」に対応する項目が画面に表示される。
【００７３】
たとえば、この段階において、仮想センサの定義者は、「仮想センサメタデータ設定部」に含まれる各メタデータの仮入力を行なうことができる。メタデータの仮入力が完了すると、仮想センサの定義者は、演算開始ボタン２１０を押下することができる。
【００７４】
図１１は、演算開始ボタン２１０の押下後にユーザ端末のモニタに表示される画面の一例を示す図である。演算開始ボタン２１０が押下されると、仮想センサのシミュレーションが実行される。具体的には、仮想センサのセンシングデータが算出されるとともに、仮入力された仮想センサのメタデータが入力センサ（実センサ１０）のメタデータと矛盾していないかが判定される。
【００７５】
図１１に示されるように、仮想センサのセンシングデータが算出され、算出結果（代表データ２２６）が表示欄２０５付近に表示される。たとえば、この例においては、測定時刻（日時）が「２０１７／３／１４  １０：００」であり、温度が「１２．５℃」であると表示される。
【００７６】
また、仮入力された仮想センサのメタデータが入力センサのメタデータと矛盾しているか否かの判定結果を示す判定結果アイコン２２７が設定欄２０４内に表示される。たとえば、各項目について、矛盾していない（整合している）場合には「ＯＫ」と表示され、矛盾している（整合していない）場合には「ＮＧ」と表示される。
【００７７】
この例においては、Ｒ０１０、Ｒ０１１、Ｒ０１２及びＲ０１３のすべてが、「２０１７／３／１４  １０：００」に、「京都駅」周辺で「外気」の温度測定を行なっているため、各項目において「ＯＫ」と表示されている。たとえば、測定場所については、「京都駅八条口」及び「京都駅前」のいずれにも「京都駅」という共通のキーワードが入っているため、メタデータとして「京都駅」が設定されても問題ないと判定されている。たとえば、この例（入力センサの測定場所が「京都駅八条口」及び「京都駅前」）において、仮想センサの測定場所（メタデータ）として「大阪駅」が仮入力されていたとすると、入力センサのメタデータと仮想センサのメタデータとが矛盾することになるため、判定結果アイコン２２７は、「ＮＧ」を示すことになる。
【００７８】
仮想センサのシミュレーションが完了すると、たとえば、仮想センサの定義者は、仮想センサのオプション設定を行なうことができる。定義者は、たとえば、センシングデータの単位選択を行なうことができる。なお、このようなオプション設定は、必ずしも必要ではない。
【００７９】
その後、メタデータ生成ボタン２２０が押下されると、シミュレーションされた仮想センサが実際に生成され、仮想センサのメタデータが仮想センサ側メタデータＤＢ４３（図１）に登録されるとともに、インスタンスに関する情報が仮想センサインスタンステーブル４４（図１）に登録される。
【００８０】
図１２は、仮想センサインスタンステーブル４４の一例を示す図である。図１２に示されるように、仮想センサインスタンステーブル４４は、仮想センサのインスタンス（実体、事例）に関する情報を管理するテーブルである。仮想センサインスタンステーブル４４は、たとえば、各インスタンスの「仮想センサインスタンスＮｏ．」、「仮想センサクラスＮｏ．」、「使用実センサＮｏ．」、「位置情報」、「定義者ＩＤ」及び「定義日」を管理する。
【００８１】
以上のように、本実施の形態において、第２サーバ７は、仮想センサのメタデータのシミュレーション時に、仮想センサの定義者によって仮入力されたメタデータ（第１メタデータ）と、入力センサ（実センサ１０）のメタデータ（第２メタデータ）との整合性を判定する。そして、仮想センサシミュレータ装置６は、判定結果に基づいて最終的なメタデータを生成する。したがって、第２サーバ７によれば、入力センサのメタデータと整合のとれた、仮想センサのメタデータを生成することができる。
【００８２】
＜３−２．具体的処理手順＞
図１３は、メタデータのシミュレーションの具体的処理手順を示すフローチャートである。このフローチャートに示される処理は、仮想センサの定義者の指示に従って、制御部３００（仮想センサシミュレータ装置６）によって実行される。
【００８３】
図１３を参照して、仮想センサのクラスが定義者によって選択されると（図４）、制御部３００は、定義者の選択に従って仮想センサのクラスを選択する（ステップＳ１、図７）。仮想センサの入力センサが定義者によって選択されると、制御部３００は、定義者の選択に従って入力センサを選択する（ステップＳ３、図９）。仮想センサのメタデータが定義者によって仮入力されると、制御部３００は、定義者の仮入力に従って仮想センサのメタデータを仮設定する（ステップＳ５、図１１）。
【００８４】
その後、制御部３００は、シミュレーション指示が行なわれたか否か（演算開始ボタン２１０（図１１）が押下されたか否か）を判定する（ステップＳ７）。シミュレーション指示が行なわれたと判定されると（ステップＳ７において「Ｙ」）、制御部３００は、シミュレーションのための演算を実行し、結果を表示する（ステップＳ９）。すなわち、制御部３００は、仮入力された仮想センサのメタデータが入力センサのメタデータと矛盾しないか否かを判定し、判定結果を出力する。ステップＳ９における処理については、後程詳しく説明する。
【００８５】
ステップＳ９におけるシミュレーションが完了したか、又は、シミュレーション指示がないと判定されると（ステップＳ７において「Ｎ」）、制御部３００は、定義者の設定に従って、仮想センサのオプションデータを設定する（ステップＳ１１）。
【００８６】
その後、定義者によってメタデータ生成ボタン２２０（図１１）が押下されると、制御部３００は、シミュレーションされた仮想センサのメタデータ（仮想センサ側メタデータ）を生成し（ステップＳ１３）、生成されたメタデータを仮想センサ側メタデータＤＢ４３に送信するように通信Ｉ／Ｆ５１０を制御する（ステップＳ１５）。なお、制御部３００は、仮想センサのメタデータを仮想センサ側メタデータＤＢ４３に送信する場合に、併せて、該メタデータが仮想センサのメタデータであることを示す識別情報を仮想センサ側メタデータＤＢ４３に送信する。
【００８７】
このように、本実施の形態においては、一度生成された仮想センサのメタデータが仮想センサ側メタデータＤＢ４３に登録される。したがって、次回以降、該メタデータが関連付けられた仮想センサを容易に指定することができる。
【００８８】
また、仮想センサ側メタデータＤＢ４３に登録されるメタデータには、識別情報（実センサのメタデータではなく、仮想センサのメタデータであることを示す識別情報）が付与される。したがって、仮想センサのメタデータと、実センサ１０のメタデータとを容易に区別することができる。
【００８９】
図１４は、図１３のステップＳ９における具体的処理手順を示すフローチャートである。図１４を参照して、制御部３００は、実センサ側メタデータＤＢ４１から入力センサ（実センサ１０）のメタデータを取得する（ステップＳ９１）。
【００９０】
その後、制御部３００は、仮入力された仮想センサのメタデータと、取得された入力センサのメタデータとの整合性を判定する（ステップＳ９２）。制御部３００は、判定結果を出力する（ステップＳ９３）。
【００９１】
［４．特徴］
以上のように、本実施の形態において、第２サーバ７は、仮想センサのメタデータのシミュレーション時に、仮想センサの定義者によって仮入力されたメタデータ（第１メタデータ）と、仮想センサにセンシングデータを出力する実センサ１０のメタデータ（第２メタデータ）との整合性を判定する。そして、仮想センサシミュレータ装置６は、判定結果に基づいて最終的なメタデータを生成する。したがって、第２サーバ７によれば、入力センサのメタデータと整合のとれた、仮想センサのメタデータを生成することができる。
【００９２】
［５．変形例］
＜５−１＞
上記実施の形態においては、仮想センサのメタデータのシミュレーション後に、定義者によりメタデータ生成ボタン２２０が押下されることによって、仮想センサのメタデータが生成された。しかしながら、仮想センサのメタデータを生成するトリガはこれに限定されない。たとえば、シミュレーション後に判定結果が「ＯＫ」であれば、メタデータ生成ボタン２２０の押下がなくても、仮想センサのメタデータを生成するような構成であってもよい。
【００９３】
＜５−２＞
また、上記実施の形態においては、仮想センサのメタデータのシミュレーションにおける判定結果が「ＮＧ」であっても、定義者によってメタデータ生成ボタン２２０が押下されると、メタデータが生成された。しかしながら、必ずしもこのような構成である必要はなく、たとえば、シミュレーションにおける判定結果が「ＮＧ」である場合には、メタデータ生成ボタン２２０の押下を許可しないような構成であってもよい。また、シミュレーションにおける判定結果が「ＮＧ」である場合に、たとえば、メタデータの修正候補を画面に出力するような構成であってもよいし、単にメタデータを修正するように促すような表示を画面に出力するような構成であってもよい。また、仮入力されたメタデータと矛盾しないメタデータを有する実センサ１０が実センサ側メタデータＤＢ４１に登録されていない場合に、その旨を画面に出力するような構成であってもよい。
【００９４】
＜５−３＞
また、上記実施の形態においては、第１サーバ４と第２サーバ７とが別々のサーバで実現されたが、第１サーバ４及び第２サーバ７によって実現される機能が１つのサーバによって実現されてもよい。
【００９５】
＜５−４＞
また、上記実施の形態においては、仮想センサのシミュレーションが第２サーバ７において行なわれたが、シミュレーションの主体はこれに限定されない。たとえば、仮想センサのシミュレーションに必要なプログラムがアプリケーションサーバ２にインストールされ、アプリケーションサーバ２によって仮想センサのシミュレーションが行なわれてもよい。
【００９６】
＜５−５＞
また、上記実施の形態においては、第２サーバ７が仮想センサ側メタデータＤＢ４３に仮想センサのメタデータを送信する場合に、併せて、該メタデータが仮想センサのメタデータである旨を示す識別情報が送信された。しかしながら、識別情報の内容はこれに限定されない。たとえば、第２サーバ７が仮想センサのセンシングデータのメタデータを生成し、該メタデータを仮想センサ側メタデータＤＢ４３に送信する場合には、該メタデータが仮想センサのセンシングデータのメタデータである旨を示す識別情報が送信されてもよい。
【符号の説明】
【００９７】
１  センサネットワーク部、２  アプリケーションサーバ、３  管理システム、４  第１サーバ、５  仮想センサＤＢ、６  仮想センサシミュレータ装置、７  第２サーバ、１０  実センサ、１１  センサネットワークアダプタ、４０  メタデータマッチング部、４１  実センサ側メタデータＤＢ、４２  アプリ側メタデータＤＢ、４３  仮想センサ側メタデータＤＢ、４４  仮想センサインスタンステーブル、５１  データ入出力部、５２  仮想センサ関数、５３  仮想センサ演算部、５４  仮想センサクラスライブラリ、５６  選択ボタン、６１  仮想センサシミュレータＡＰＩ部、６２  仮想センサメタデータ生成シミュレータ部、６３  仮想センサメタデータ生成部、９０  インターネット、１００  センサネットワークシステム、１０１  枠、２０１  表記欄、２０２，２０５  表示欄、２０３  入力欄、２０４  設定欄、２１０  演算開始ボタン、２２０  メタデータ生成ボタン、２２５，２２６  代表データ、２２７  判定結果アイコン、３００  制御部、３１０  ＣＰＵ、３２０  ＲＡＭ、３３０  ＲＯＭ、３５０  バス、４００  記憶部、５１０  通信Ｉ／Ｆ、６２１  取得部、６２２  受付部、６２３  判定部。
【図１】
2019028970.tif 000003
【図２Ａ】
2019028970.tif 000004
【図２Ｂ】
2019028970.tif 000005
【図３】
2019028970.tif 000006
【図４】
2019028970.tif 000007
【図５】
2019028970.tif 000008
【図６】
2019028970.tif 000009
【図７】
2019028970.tif 000010
【図８】
2019028970.tif 000011
【図９】
2019028970.tif 000012
【図１０】
2019028970.tif 000013
【図１１】
2019028970.tif 000014
【図１２】
2019028970.tif 000015
【図１３】
2019028970.tif 000016
【図１４】
2019028970.tif 000017