(57)【要約】      （修正有）【課題】アプリケーションが必要とするデータを効率的に生成することを可能にする。【解決手段】デバイスから供給されるデータ群から複数の特徴を抽出し、当該複数の特徴をベクトルで表現した特徴ベクトル群を生成する。生成された特徴ベクトル群に対し、特徴ベクトル間の距離に応じたクラスタリングを行い、階層化したクラスターツリーを生成する。階層化整形手段により生成されたクラスターツリーに基づき、各クラスターの配下にある情報をまとめた要約に注釈を付したメタデータをクラスター毎に備えるメタデータツリーを生成する。生成されたメタデータツリーの中から、アプリケーションが示す用件に適合するクラスターのメタデータを検索し、当該検索により得られるメタデータを前記アプリケーションに提供する。【選択図】図１
2019219906.tif 000002
【特許請求の範囲】
【請求項１】
デバイスから供給されるデータ群から複数の特徴を抽出し、当該複数の特徴をベクトルで表現した特徴ベクトル群を生成する特徴抽出手段と、
前記特徴抽出手段により生成された特徴ベクトル群に対し、特徴ベクトル間の距離に応じたクラスタリングを行い、当該クラスタリングにより生成されるクラスター群をクラスター間の距離に応じて階層化したクラスターツリーを生成する階層化整形手段と、
前記階層化整形手段により生成されたクラスターツリーに基づき、各クラスターの配下にある情報をまとめた要約に注釈を付したメタデータをクラスター毎に備えるメタデータツリーを生成するメタデータ注釈手段と、
前記メタデータ注釈手段により生成されたメタデータツリーの中から、アプリケーションが示す用件に適合するクラスターのメタデータを検索し、当該検索により得られるメタデータを前記アプリケーションに提供するメタデータ検索手段と、
を具備する情報処理装置。
【請求項２】
前記メタデータ検索手段は、
アプリケーションが用件としてデータ群の粒度を示す場合、前記メタデータツリーの中から、当該粒度に応じた階層に位置するクラスターのメタデータを読み出す、
請求項１に記載の情報処理装置。
【請求項３】
前記メタデータ検索手段は、
アプリケーションが用件としてデータ群のある物理量の範囲を指定する場合、前記メタデータツリーを最上階層側から最下階層側へ向けて探索し、各クラスターのメタデータに記録されている物理量の範囲を順次絞り込んでいくことにより該当する範囲が記録されているメタデータを見つけて読み出す、
請求項１に記載の情報処理装置。
【請求項４】
アプリケーションが示す用件に応じて、前記特徴抽出手段、前記階層化整形手段、または前記メタデータ注釈手段での処理に使用されるパラメータを調整する整形条件設定手段をさらに具備する、
請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項５】
デバイスから供給されるデータ群を格納する１つまたは複数の第１の情報処理装置と、アプリケーションからの要求に応じる第２の情報処理装置との間で情報を交換する情報交換システムであって、
前記１つまたは複数の第１の情報処理装置の各々は、
デバイスから供給されるデータ群から複数の特徴を抽出し、当該複数の特徴をベクトルで表現した特徴ベクトル群を生成する特徴抽出手段と、
前記特徴抽出手段により生成された特徴ベクトル群に対し、特徴ベクトル間の距離に応じたクラスタリングを行い、当該クラスタリングにより生成されるクラスター群をクラスター間の距離に応じて階層化したクラスターツリーを生成する階層化整形手段と、
前記階層化整形手段により生成されたクラスターツリーに基づき、各クラスターの配下にある情報をまとめた要約に注釈を付したメタデータをクラスター毎に備えるメタデータツリーを生成するメタデータ注釈手段と、
を備え、
前記第２の情報処理装置は、
前記１つまたは複数の第１の情報処理装置のいずれかに対し、前記メタデータ注釈手段により生成されたメタデータツリーの中から、アプリケーションが示す用件に適合するクラスターのメタデータを検索することを要求し、当該検索により得られるメタデータを前記アプリケーションに提供するメタデータ検索手段を備える、
情報交換システム。
【請求項６】
デバイスから供給されるデータ群から複数の特徴を抽出し、当該複数の特徴をベクトルで表現した特徴ベクトル群を生成し、
前記生成した特徴ベクトル群を特徴ベクトル間の距離に応じて複数のクラスターに分類し、当該複数のクラスターをクラスター間の距離に応じて階層化したクラスターツリーを生成し、
前記生成したクラスターツリーに基づき、各クラスターの配下にある情報をまとめた要約に注釈を付したメタデータをクラスター毎に備えるメタデータツリーを生成し、
前記生成したメタデータツリーの中から、アプリケーションが示す用件に適合するクラスターのメタデータを検索し、当該検索により得られるメタデータを前記アプリケーションに提供する、
ことを含む情報処理方法。
【請求項７】
請求項１に記載の情報処理装置の一部分として動作するコンピュータに用いられるプログラムであって、
前記コンピュータを、
前記特徴抽出手段、前記階層化整形手段、前記メタデータ注釈手段、および前記メタデータ検索手段
として機能させるための情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、情報処理装置、情報交換システム、情報処理方法および情報処理プログラムに関する。
【背景技術】
【０００２】
近年、IoT（Internet of Things）のネットワーク環境において、様々なセンサ等のデバイスから生成される大量の生データをクラウド上のサーバに収集し、当該データを様々な用件を示すクライアント側のアプリケーションのために活用する技術の開発が進められている。
【０００３】
クラウド上のサーバは大量かつ連続的に送信される様々な種類のIoTデータをそのまま時系列的にデータベースに収集し、一方、アプリケーションはその中から必要なデータを取得して活用するのが一般的である。
【０００４】
サーバ側のデータベースに蓄積されるデータの量は膨大である一方で、アプリケーションが求めるデータに対する用件はリアルタイムかつ多様である場合が多い。また、一般にデータの意味（セマンティクス）の解析はアプリケーション側で行われる。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】Payam Barnaghi, Friender Ganz, Cory Henson, and Amit Sheth, “Computing Perception from Sensor Data”, KNO.E.SIS PUBLICATIONS, October 2012
【非特許文献２】Atif Alamri, Wasai Shadab Ansari, Mohammad Mehedi Hassan, M. Shamim Hossain, Abdulhameed Alelaiwi, and M. Anwar Hossain, “A Survey on Sensor-Cloud: Architecture, Applications, and Approaches”, Hindawi Publishing Corporation, International Journal of Distributed Sensor Networks, Volume 2013
【非特許文献３】Wu He, Gongjun Yan, and Li Da Xu, “Developing Vehicular Data Cloud Services in the IoT Environment”, IEEE Transactions on Industrial Informatics, Vol. 10, No. 2, pp. 1587-1595, May 2014
【発明の概要】
【発明が解決しようとする課題】
【０００６】
各種のアプリケーションが様々なセンサ等のデバイスから生成される生データを利用するためには、大量の生データをサーバ側から取得する必要があり、大きな通信コストやネットワークリソースコストが発生する。例えば、様々なアプリケーションがサーバにアクセスし、それぞれの用件に応じて必要なデータを検索して大量のデータを取り出すと、ネットワークの通信コスト等が膨大になる。また、アプリケーション側では、受け取った生データを用件に合うように加工した後に解析を行うため、アプリケーション側の負荷が大きくなってしまう。
【０００７】
一方、サーバ側で、生データをアプリケーションが示す用件に合うように加工・解析してからアプリケーションに渡そうとしても、個々のアプリケーションが示す用件がそれぞれ違うため、サーバ側で事前にそのような処理を行うことは現実的に難しい。
【０００８】
本発明の目的は、アプリケーションが必要とするデータを効率的に生成することを可能にする情報処理装置、情報交換システム、情報処理方法および情報処理プログラムを提供することである。
【課題を解決するための手段】
【０００９】
上記目的を達成するために、この発明の一実施形態における情報処理装置の第１の態様は、デバイスから供給されるデータ群から複数の特徴を抽出し、当該複数の特徴をベクトルで表現した特徴ベクトル群を生成する特徴抽出手段と、前記特徴抽出手段により生成された特徴ベクトル群に対し、特徴ベクトル間の距離に応じたクラスタリングを行い、当該クラスタリングにより生成されるクラスター群をクラスター間の距離に応じて階層化したクラスターツリーを生成する階層化整形手段と、前記階層化整形手段により生成されたクラスターツリーに基づき、各クラスターの配下にある情報をまとめた要約に注釈を付したメタデータをクラスター毎に備えるメタデータツリーを生成するメタデータ注釈手段と、前記メタデータ注釈手段により生成されたメタデータツリーの中から、アプリケーションが示す用件に適合するクラスターのメタデータを検索し、当該検索により得られるメタデータを前記アプリケーションに提供するメタデータ検索手段と、を備えるようにしたものである。
【００１０】
この発明の情報処理装置の第２の態様は、第１の態様において、前記メタデータ検索手段は、アプリケーションが用件としてデータ群の粒度を示す場合、前記メタデータツリーの中から、当該粒度に応じた階層に位置するクラスターのメタデータを読み出すようにしたものである。
【００１１】
この発明の情報処理装置の第３の態様は、第１の態様において、前記メタデータ検索手段は、アプリケーションが用件としてデータ群のある物理量の範囲を指定する場合、前記メタデータツリーを最上階層側から最下階層側へ向けて探索し、各クラスターのメタデータに記録されている物理量の範囲を順次絞り込んでいくことにより該当する範囲が記録されているメタデータを見つけて読み出すようにしたものである。
【００１２】
この発明の情報処理装置の第４の態様は、第１乃至第３のいずれかの態様において、アプリケーションが示す用件に応じて、前記特徴抽出手段、前記階層化整形手段、または前記メタデータ注釈手段での処理に使用されるパラメータを調整する整形条件設定手段をさらに備えるようにしたものである。
【００１３】
この発明の一実施形態における情報処理システムの一つの態様は、デバイスから供給されるデータ群を格納する１つまたは複数の第１の情報処理装置と、アプリケーションからの要求に応じる第２の情報処理装置との間で情報を交換する情報交換システムであって、前記１つまたは複数の第１の情報処理装置の各々は、デバイスから供給されるデータ群から複数の特徴を抽出し、当該複数の特徴をベクトルで表現した特徴ベクトル群を生成する特徴抽出手段と、前記特徴抽出手段により生成された特徴ベクトル群に対し、特徴ベクトル間の距離に応じたクラスタリングを行い、当該クラスタリングにより生成されるクラスター群をクラスター間の距離に応じて階層化したクラスターツリーを生成する階層化整形手段と、前記階層化整形手段により生成されたクラスターツリーに基づき、各クラスターの配下にある情報をまとめた要約に注釈を付したメタデータをクラスター毎に備えるメタデータツリーを生成するメタデータ注釈手段と、を備え、前記第２の情報処理装置は、前記１つまたは複数の第１の情報処理装置のいずれかに対し、前記メタデータ注釈手段により生成されたメタデータツリーの中から、アプリケーションが示す用件に適合するクラスターのメタデータを検索することを要求し、当該検索により得られるメタデータを前記アプリケーションに提供するメタデータ検索手段を備えるようにしたものである。
【００１４】
この発明の一実施形態における情報処理方法の一つの態様は、デバイスから供給されるデータ群から複数の特徴を抽出し、当該複数の特徴をベクトルで表現した特徴ベクトル群を生成し、前記生成した特徴ベクトル群を特徴ベクトル間の距離に応じて複数のクラスターに分類し、当該複数のクラスターをクラスター間の距離に応じて階層化したクラスターツリーを生成し、前記生成したクラスターツリーに基づき、各クラスターの配下にある情報をまとめた要約に注釈を付したメタデータをクラスター毎に備えるメタデータツリーを生成し、前記生成したメタデータツリーの中から、アプリケーションが示す用件に適合するクラスターのメタデータを検索し、当該検索により得られるメタデータを前記アプリケーションに提供する、ことを含むようにしたものである。
【００１５】
この発明の一実施形態における情報処理プログラムの一つの態様は、第１の態様における情報処理装置の一部分として動作するコンピュータに用いられるプログラムであって、前記コンピュータを、前記特徴抽出手段、前記階層化整形手段、前記メタデータ注釈手段、および前記メタデータ検索手段として機能させるための情報処理プログラムとしたものである。
【発明の効果】
【００１６】
この発明の一実施形態における情報処理装置の第１の態様によれば、アプリケーションが必要とするデータを効率的に生成することを可能になる。
【００１７】
この発明の一実施形態における情報処理装置の第２の態様によれば、粒度から対応する階層にある各クラスターの情報を簡単に特定することができるため、特定したあとにその他の階層にある各クラスターの情報について検索を続ける必要がなく、目的の情報を短時間で容易に得ることができる。
【００１８】
この発明の一実施形態における情報処理装置の第３の態様によれば、階層構造を成すメタデータツリーに基づき、最上階層側から順に探索を行うだけで簡単に指定の範囲を見つけることができるため、見つけたあとに当該階層よりも下層階側にある各クラスターの情報について検索を続ける必要がなく、目的の情報を短時間で容易に得ることができる。
【００１９】
この発明の一実施形態における情報処理装置の第４の態様によれば、アプリケーションの用件に示されるパラメータの設定に対応するメタデータがメタデータ格納部に無い場合には、整形条件設定手段が特徴抽出手段、階層化整形手段、もしくはメタデータ注釈手段での処理に使用されるパラメータを調整するので、アプリケーションが示す用件に適切に対応することができる。
【００２０】
この発明の一実施形態における情報処理システムの一つの態様によれば、特徴抽出手段、階層化整形手段、およびメタデータ注釈手段が、第２の情報処理装置側に配置されるのではなく、第１の情報処理装置側に配置されるため、第２の情報処理装置は膨大な量の生データを受信して処理する必要がなく、メタデータの受け渡しを行う程度で済むため、第２の情報処理装置の負担を大幅に軽減することができる。
【図面の簡単な説明】
【００２１】
【図１】本発明の第１の実施形態に係る情報処理装置の機能構成の一例を示す図。
【図２】サーバ内の生データ格納部に格納される生データ群のデータ構造、並びに、クラスター格納部に格納されるクラスターツリーのデータ構造、およびメタデータ格納部に格納されるメタデータツリーのデータ構造の例を説明するための図。
【図３】メタデータ検索部がメタデータツリーに対して行うメタデータ検索の例を示す図。
【図４】データ整形・注釈時の動作に関わる各種要素を示す図。
【図５】データ整形・注釈時の動作に関わる各種要素の間で送受される情報の流れの一例を示す図。
【図６】特徴抽出部、階層化整形部、およびメタデータ注釈部によるデータ整形・注釈時の動作の一例を示すフローチャート。
【図７】メタデータ検索等の動作に関わる各種要素を示す図。
【図８】メタデータ検索時の動作に関わる各種要素の間で送受される情報の流れ（但し、メタデータ格納部に検索対象のメタデータツリーがある場合）の一例を示す図。
【図９】メタデータ検索時の動作に関わる各種要素の間で送受される情報の流れ（但し、メタデータ格納部に検索対象のメタデータツリーが無い場合）の一例を示す図。
【図１０】メタデータ検索部等によるメタデータ検索時の動作の一例を示すフローチャート。
【図１１】図１０のステップＳ４６の具体的な処理を示すフローチャート。
【図１２】メタデータ格納部に格納される情報の例を示す図。
【図１３】実施例（１）におけるクラスターツリーおよびメタデータの一例を示す図。
【図１４Ａ】実施例（１）における各種の特徴のヒストグラムの一例を示す図。
【図１４Ｂ】実施例（１）におけるクラスター群を表すグラフの一例を示す図。
【図１５】実施例（１）におけるメタデータを表すオントロジーの一例を示す図。
【図１６】実施例（１）におけるクラスターツリーおよびメタデータの別の例を示す図。
【図１７Ａ】実施例（１）における各種の特徴のヒストグラムの別の例を示す図。
【図１７Ｂ】実施例（１）におけるクラスター群を表すグラフの別の例を示す図。
【図１８】実施例（２）におけるクラスターツリーおよびメタデータの一例を示す図。
【図１９Ａ】実施例（２）における各種特徴の相関関係の一例を示す図。
【図１９Ｂ】実施例（２）におけるクラスター群を表すグラフの一例を示す図。
【図２０】実施例（２）におけるメタデータを表すオントロジーの一例を示す図。
【図２１】実施例（２）におけるクラスターツリーの一例を示す図。
【図２２Ａ】実施例（２）における各種特徴の相関関係の別の例を示す図。
【図２２Ｂ】実施例（２）におけるクラスター群を表すグラフの別の例を示す図。
【図２３】本発明の第２の実施形態に係る情報交換システムの機能構成の一例を示す図。
【発明を実施するための形態】
【００２２】
以下、この発明に係わる実施形態を説明する。
【００２３】
［第１の実施形態］
まず、本発明の第１の実施形態について説明する。
【００２４】
（構成）
図１は、本発明の第１の実施形態に係る情報処理装置の機能構成の一例を示す図である。
【００２５】
本実施形態に係る情報処理装置は、例えば他の情報処理装置（図示せず）に搭載されたアプリケーションからの要求に応じてサービスを提供するクラウド上のサーバ１００として実現される。
【００２６】
サーバ１００は、例えば、外部にある複数のセンサＤ１〜Ｄｍ等（例えば、風速センサ、気温センサ、日照時間センサ等）のデバイス群から供給されるセンシングデータ群をデータベースに格納すると共に、外部にあるクライアント側のアプリケーション群Ａ１〜Ａｎのいずれかから要求されるデータを要求元のアプリケーションへ送信することができる。
【００２７】
アプリケーション群Ａ１〜Ａｎは、例えば、（ｉ）粒度別のデータ分析（例えば、風速状況を示す風速データを分類する数を３、１２、・・・と変化させるデータ分析）を行うもの、（ii）複合条件分析（例えば、風速、気温、日照時間を複合させた気象状況に応じた農作物への影響の分析）を行うもの、（iii）条件指定データ検索（例えば、「気温＞３４度」を指定するデータ検索）等を行うもの、等を含む。
【００２８】
上記サーバ１００は、各種の機能として、特徴抽出部１、階層化整形部２、メタデータ注釈部３、メタデータ検索部４、整形条件設定部５、データ保存部１０、生データ格納部１１、特徴ベクトル格納部１２、クラスター格納部１３、およびメタデータ格納部１４を備える。これらの機能は、プログラムを実行するＣＰＵ（Central Processing Unit）等のプロセッサ、およびＲＡＭ（Random Access Memory）やＲＯＭ（Read Only Memory）等の記憶媒体を用いて実現される。
【００２９】
なお、図１に示される機能構成は、これに限定されるものではなく、適宜変形して実施してもよい。また、図１に示される各種の機能は、全部が必須の要素というわけではなく、その一部を省略することが可能である。例えば整形条件設定部５は、後述する整形条件の設定を必要としない環境においては搭載しなくてもよい。
【００３０】
データ保存部１０は、センサＤ１〜Ｄｍ等から供給される各種のセンシングデータ群（例えば、ある場所における風速や気温、日照時間などの物理量を示すデータ群）を一時的にバッファリングしてから生データ格納部１１側へ送り出す機能を有する。
【００３１】
生データ格納部１１は、データ保存部１０から送られてくるセンシングデータ群（生データ群）を順次入力し、記録媒体に記録し、特徴抽出部１側へ出力する機能を有する。
【００３２】
特徴抽出部１は、センサＤ１〜Ｄｍ等から供給されたセンシングデータ群（即ち、生データ格納部１１から得られる生データ群）から複数の特徴（例えば、単位時間ごとの風速の最大値や平均値、単位時間ごとの気温の最大値や平均値、１日ごとの日照時間など）を抽出し、当該複数の特徴をベクトルで表現した特徴ベクトル群（例えば、１時間毎の風速の最大値と平均値の情報を含む特徴ベクトル群、当日の複合気象（風速、気温、日照時間）の情報を含む特徴ベクトル群、当日の平均気温の情報を含む特徴ベクトル群など）を生成する機能を有する。
【００３３】
特徴ベクトル格納部１２は、特徴抽出部１が生成した特徴ベクトル群を入力し、記録媒体に記録し、階層化整形部２側へ出力する機能を有する。
【００３４】
階層化整形部２は、特徴抽出部１により生成された特徴ベクトル群（即ち、特徴ベクトル格納部１２から得られる特徴ベクトル群）に対し、特徴ベクトル間の距離に応じたクラスタリングを行い、当該クラスタリングにより生成されるクラスター群をクラスター間の距離に応じて階層化したクラスターツリーを生成する機能を有する。
【００３５】
クラスター格納部１３は、階層化整形部２により生成されたクラスターツリーを入力し、記録媒体に記録し、メタデータ注釈部３側へ出力する機能を有する。
【００３６】
メタデータ注釈部３は、階層化整形部２により生成されたクラスターツリー（即ち、クラスター格納部１３から得られるクラスターツリー）に基づき、各クラスターの配下にある情報をまとめた要約（synopsis）に注釈（例えば、createdBefore(データの生成時間の比較), better, higher（データの値の比較）等）を付したメタデータをクラスター毎に備えるメタデータツリーを生成する機能を有する。
【００３７】
各クラスターの要約の中には、例えば、当該クラスターを識別する情報（クラスターの番号など）、最大値、平均値などの特徴、生成時間、データ個数、保存場所、相対セマンティクス等が含まれる。但し、要約に含まれる情報は、階層によって異なる。相対セマンティクスは、同じ階層にある他のクラスターとの相対的な関係を示す情報であり、各種の情報を用いて所定のアルゴリズムにより推論して得られる。この相対セマンティクスは、上述の注釈に相当する。
【００３８】
メタデータ格納部１４は、メタデータ注釈部３により生成されたメタデータツリーを入力し、記録媒体に記録すると共に、メタデータ検索部４からの要求に応じて当該メタデータツリーの中のクラスターのメタデータをメタデータ検索部４側へ出力する機能を有する。
【００３９】
メタデータ検索部４は、メタデータ注釈部３により生成されたメタデータツリー（即ち、メタデータ格納部１４に格納されているメタデータツリー）の中から、アプリケーションが示す用件に適合するクラスターのメタデータを検索し、当該検索により得られるメタデータを要求元のアプリケーションに提供する機能を有する。
【００４０】
例えば、メタデータ検索部４は、アプリケーションがデータ群の粒度を指定する場合、メタデータツリーの中から、当該粒度に応じた階層に位置するクラスターのメタデータを読み出す。なお、粒度は、クラスターの個数、クラスターの階層、もしくはクラスター間の距離の形で指定される場合がある。
【００４１】
また、メタデータ検索部４は、アプリケーションがデータ群のある物理量の範囲を指定する場合、メタデータツリーを最上階層側から最下階層側へ向けて探索し、各クラスターのメタデータに記録されている物理量の範囲を順次絞り込んでいくことにより該当する範囲が記録されているメタデータを見つけて読み出す。
【００４２】
整形条件設定部５は、メタデータ検索部４から示される用件（即ち、要求元のアプリケーションが示した用件）に応じて、特徴抽出部１、階層化整形部２、もしくはメタデータ注釈部３での処理に使用されるパラメータ群を調整することで、データ群の整形条件を設定変更する機能を有する。
【００４３】
例えば、整形条件設定部５は、特徴抽出部１におけるデータの整形条件を調整する必要がある場合に、特徴抽出部１に対し、特徴抽出パラメータ（対象となるデータの時間間隔（segment）、スパン（TimeSpan）、特徴抽出に使用するアルゴリズム等を指定するパラメータ）の設定を指示する。
【００４４】
また、整形条件設定部５は、階層化整形部２におけるデータの整形条件を調整する必要がある場合に、階層化整形部２に対し、階層化整形パラメータ（クラスター数、クラスターツリー階数、クラスター間距離、階層化整形に使用するアルゴリズム等を指定するパラメータ）の設定を指示する。
【００４５】
また、整形条件設定部５は、メタデータ注釈部３におけるデータの整形条件を調整する必要がある場合に、メタデータ注釈部３に対し、メタデータ注釈パラメータ（注釈カテゴリー（メタデータ注釈の対象となる項目）、メタデータ注釈に使用するアルゴリズム等を指定するパラメータ）の設定を指示する。
【００４６】
なお、生データ格納部１１、特徴ベクトル格納部１２、クラスター格納部１３は、それぞれ、イベント通知を行う機能を有するように構成してもよい。その場合、生データ格納部１１、特徴ベクトル格納部１２、クラスター格納部１３は、それぞれ、新たな情報が届いた（新たな情報を入力して格納した）際には、特徴抽出部１、階層化整形部２、メタデータ注釈部３に対してその旨を示すイベントを送信する。また、特徴抽出部１、階層化整形部２、メタデータ注釈部３は、それぞれ、イベントの通知を受けてから、生データ格納部１１、特徴ベクトル格納部１２、クラスター格納部１３から情報を取りにいく。
【００４７】
一方、生データ格納部１１、特徴ベクトル格納部１２、クラスター格納部１３が、イベント通知機能を有さない構成（例えば、単なるＲＤＢ（Relational Database）等の構成）の場合は、生データ格納部１１、特徴ベクトル格納部１２、クラスター格納部１３は、それぞれ、定期的に、生データ格納部１１、特徴ベクトル格納部１２、クラスター格納部１３から情報を取りにいく。
【００４８】
（データ構造）
図２は、サーバ１００内の生データ格納部１１に格納される生データ群のデータ構造、並びに、クラスター格納部１３に格納されるクラスターツリーのデータ構造、およびメタデータ格納部１４に格納されるメタデータツリーのデータ構造の例を説明するための図である。
【００４９】
生データ格納部１１においては、所定のデータテーブル上に、生データ群が時系列の順に記録される。
【００５０】
例えばセンサＤ１〜Ｄｍ等のデバイスをそれぞれ識別する項目として「Device1,…」が配置され、「Device1,…」のそれぞれの配下には、例えばデバイスに関わるサービスもしくはデータの種別を示す項目として「Service1<timeSeries>,…」が配置される。そして、上記「Service1<timeSeries>,…」のそれぞれの配下には、各時点で取得された個々の生データ「Data<timeSeriesInstance>」が取得時刻を示す時刻情報と共に記録される。これら時刻情報付きの生データは、同じ階層に記録される。
【００５１】
一方、クラスター格納部１３もしくはメタデータ格納部１４においては、整形により階層化されたクラスター群の情報がそれぞれ<container>リソースに保存される。なお、メタデータ格納部１４においては、後述する各種の情報がメタデータの形態で記録される。
【００５２】
例えば、上記と同様の項目「Device1,…」が配置され、「Device1,…」のそれぞれの配下には、例えばデバイスに関わるサービスもしくはデータの種別を示す項目として「Service1_hierarchy<Container>,…」が配置され、「Service1_hierarchy<Container>,…」のそれぞれの配下には、クラスター群をそれぞれ識別する項目が、例えば最上階層Ｌ１、中間層Ｌ２、最下階層Ｌ３からなる階層構造の形で配置される。そして、各項目には、クラスターに関する各種の情報を保存するためのコンテナ<container>が設けられる。
【００５３】
最上階層Ｌ１には、例えば「Cluster0<container>,…」が配置される。中間階層Ｌ２には、例えば「Cluster0-1<container>, Cluster0-1<container>,…」や、これらの下の「Cluster0-1-1<container>,…」や「Cluster0-2-1<container>,…」等が配置される。最下階層Ｌ３には、例えば「Cluster0-2-1-1<container>, Cluster0-2-1-2<container>,…」等が配置される。
【００５４】
最上階層Ｌ１のクラスターのコンテナ<container>には、すべてのデータ群の統計値（最大値、最小値、平均値など）が記録される。中間階層Ｌ２のクラスターのコンテナ<container>には、当該クラスターの配下のデータ群の統計値（最大値、最小値、平均値など）が記録されると共に、所定のアルゴリズムにより推論して得られる相対セマンティクスが記録される。また、最下階層のクラスターのコンテナ<container>には、対応する生データ（例えば、生データ格納部１１に格納されている「Data<timeSeriesInstance> 19:15」）のリンク先の情報などが記録される。
【００５５】
（検索方法）
図３は、メタデータ検索部４がメタデータツリーに対して行うメタデータ検索の例を示す図である。
【００５６】
図３（ａ）は、アプリケーションが用件においてデータの粒度もしくは時間の粒度を示す場合の検索の例を示している。
【００５７】
アプリケーションが例えば「統計グラフ作成」を行うために「時間の粒度」を示した場合は、当該時間粒度に相当するデータ粒度を決定した上で、このデータ粒度に対応する階層を決定する。また、アプリケーションが例えば「粒度別のデータ管理」を行うために「データの粒度」を示した場合は、その「データの粒度」に対応する階層を決定する。対応する階層が例えば３段目であれば、３段目の階層にある各クラスターのコンテナ<container>に保管されている統計値等の情報を読み取る。
【００５８】
図３（ａ）の例では、階層構造を成すメタデータツリーに基づき、粒度から対応する階層にある各クラスターの情報を簡単に特定することができるため、特定したあとにその他の階層にある各クラスターの情報について検索を続ける必要がなく、目的の情報を短時間で容易に得ることができる。
【００５９】
図３（ｂ）は、アプリケーションが用件において温度範囲を示す場合の検索の一例を示している。
【００６０】
アプリケーションが例えば「条件指定検索」を行うために「気温の範囲」を指定した場合は、メタデータツリーを最上階層側から最下階層側へ向けて探索し、各クラスターのコンテナ<container>に記録されている物理量の範囲を順次絞り込んでいく。指定された気温の範囲が「min:34（気温＞３４度）」であれば、最上階層側から最下階層側へ向けて「min:34」が見つかるまで探索する。「min:34」が見つかれば、当該コンテナ<container>の情報を読み取る。
【００６１】
図３（ｂ）の例では、階層構造を成すメタデータツリーに基づき、最上階層側から順に探索を行うだけで簡単に指定の範囲を見つけることができるため、見つけたあとに当該階層よりも下層階側にある各クラスターの情報について検索を続ける必要がなく、目的の情報を短時間で容易に得ることができる。
【００６２】
（動作）
次に、図４乃至図１１を参照して、サーバ１００の動作について説明する。また、動作の説明に際し、図１２も適宜参照し、メタデータ格納部１４に格納される情報の例についても併せて説明する。
【００６３】
（データ整形・注釈時の動作）
最初に、図４乃至図６を参照して、データ整形・注釈時の動作の一例について説明する。
【００６４】
図４は、データ整形・注釈時の動作に関わる各種要素を示す図である。
【００６５】
図４に示されるように、データ整形・注釈時の動作に関わる各種要素は、センサＤ１〜Ｄｍ、生データ格納部１１、特徴抽出部１、特徴ベクトル格納部１２、階層化整形部２、クラスター格納部１３、メタデータ注釈部３、およびメタデータ格納部１４である。
【００６６】
図５は、データ整形・注釈時の動作に関わる各種要素の間で送受される情報の流れの一例を示す図である。
【００６７】
図５に示されるように、生データ格納部１１には、センサＤ１〜Ｄｍ等からセンシングデータ群（生データ群）が送信されてくる。
【００６８】
生データ格納部１１は、送信されてきた生データ群を格納すると共に、一定時間ごとに生データ群を特徴抽出部１へ送信する。
【００６９】
特徴抽出部１は、送信されてきた生データ群から特徴ベクトル群を抽出し、特徴ベクトル格納部１２へ送信する。特徴ベクトル格納部１２は、送信されてきた特徴ベクトル群を格納すると共に、特徴ベクトル群を階層化整形部２へ送信する。階層化整形部２は、送信されてきた特徴ベクトル群に対してクラスタリング等を行い、生成されるクラスター群（クラスターツリー）をクラスター格納部１３へ送信する。クラスター格納部１３は、送信されてきたクラスター群を格納すると共に、当該クラスター群をメタデータ注釈部３へ送信する。メタデータ注釈部３は、送信されてきたクラスター群に基づき、クラスターごとに推論による注釈を生成し、注釈を含むクラスター群のメタデータ（メタデータツリー）をメタデータ格納部１４へ送信する。メタデータ格納部１４は、送信されてきたメタデータを格納する。
【００７０】
図６は、特徴抽出部１、階層化整形部２、およびメタデータ注釈部３によるデータ整形・注釈時の動作の一例を示すフローチャートである。
【００７１】
図６に示されるように、特徴抽出部１は、生データ群を取得する（Ｓ１１）。
【００７２】
ここで、特徴抽出部１は、生データ格納部１１で一定時間（Ｔ）溜まったデータ群（時系列データ）を、特定の時間間隔（Segment）でｎ個に分割する（Ｓ１２）。
【００７３】
次に、特徴抽出部１は、予め設定された特徴抽出アルゴリズム（Algorithm1）により、ｄ１，…，ｄｎの特徴値を逐一抽出する（Ｓ１３）。
【００７４】
特徴抽出アルゴリズム（Algorithm1）には、例えばＰＡＡ（Piecewise Aggregate Approximation）、Statics、ＳＡＸ(Symbolic Aggregate Approximation)等を適用してもよい。また、特徴抽出対象が画像（例えばイメージセンサー等から送られてきた画像）である場合には、ＳＵＲＦ（Speeded Up Robust Features）やＳＩＦＴ（Scale-Invariant Feature Transform）等を用いるアルゴリズムを適用してもよい。
【００７５】
次に、特徴抽出部１は、予め設定された例えばｍ個のデータ種類（例えば、温度、湿度、日照時間などの各種特徴に相当）の全部に対して特徴抽出を行ったか否かを判定する（Ｓ１４）。全部に対して特徴抽出を行っていなければ（Ｓ１４のＮＯ）、ステップＳ１２からの処理を繰り返す。一方、全部に対して特徴抽出を行っていれば（Ｓ１４のＹＥＳ）、各時間間隔（Segment）に対応する複数のデータの特徴を組み合わせて特徴ベクトル群を生成する（Ｓ１５）。なお、その際にはデータ群の計測時間、保存場所等の要約と抽出した特徴に所定の重みを付けて特徴ベクトル群を生成するようにしてもよい。特徴抽出部１は、生成した特徴ベクトル群を特徴ベクトル格納部１２に格納する（Ｓ１６）。
【００７６】
階層化整形部２は、特徴ベクトル格納部１２から特徴ベクトル群を取得する（Ｓ２１）。
【００７７】
ここで、階層化整形部２は、予め設定された整形アルゴリズム（Algorithm2）を用いて、特徴ベクトル群（ＦＴ）に対して整形を行い（Ｓ２２）、クラスター群（クラスターツリー）を生成し、クラスター格納部１３に格納する（Ｓ２３）。
【００７８】
整形アルゴリズム（Algorithm2）には、例えば、最近傍法（Nearest Neighbor Chain）を適用してもよい。その際、ウォード法（Ward method）をクラスター間の距離を定義する距離関数に適用してもよい。
【００７９】
メタデータ注釈部３は、クラスター格納部１３からクラスター群（クラスターツリー）を取得する（Ｓ３１）。
【００８０】
ここで、メタデータ注釈部３は、整形結果であるクラスターツリーの各ノード（各階層の各クラスター）に対し、予め設定されているカテゴリー（例えば、最大値、最小値、平均値などの項目）のメタデータ「要約（synopsis）」に対して注釈を行う（Ｓ３２）。
【００８１】
次に、メタデータ注釈部３は、予め設定されている例えばＸ個のカテゴリーの全部について注釈を付したか否かを判定する（Ｓ３３）。全部について注釈を行っていなければ（Ｓ３３のＮＯ）、ステップＳ３２からの処理を繰り返す。一方、全部について注釈を行っていれば（Ｓ３３のＹＥＳ）、注釈したメタデータ群（メタデータツリー）をメタデータ格納部１４に格納する（Ｓ３４）。
【００８２】
ここで、図１２（ａ）に、メタデータ格納部１４に格納されるメタデータ群の一例を示す。
【００８３】
メタデータ格納部１４には、「メタデータツリー」ごとに、各クラスターの「識別情報」（Cluster1, Cluster2, Cluster11, Cluster12,…）と、各クラスターに対応する「メタデータ注釈カテゴリー」とが記録される。「メタデータ注釈カテゴリー」には、最大値、最小値、平均などの統計値や、相対Concept（「相対セマンティクス」に相当）などが含まれる。各行の情報は、それぞれ、後述する要約（synopsis１, synopsis２,…）となる。
【００８４】
（メタデータ検索時の動作）
次に、図７乃至図１１を参照して、メタデータ検索時の動作の一例について説明する。
【００８５】
図７は、メタデータ検索等の動作に関わる各種要素を示す図である。
【００８６】
図７に示されるように、メタデータ検索時の動作に関わる各種要素は、アプリケーション群Ａ１〜Ａｎ、メタデータ検索部４、およびメタデータ格納部１４である。なお、整形条件設定を要する場合は、さらに、整形条件設定部５、特徴抽出部１、階層化整形部２、メタデータ注釈部３も当該動作に関わる。
【００８７】
図８は、メタデータ検索時の動作に関わる各種要素の間で送受される情報の流れ（但し、メタデータ格納部１４に検索対象のメタデータツリーがある場合）の一例を示す図である。
【００８８】
図８に示されるように、メタデータ検索部４には、アプリケーション群Ａ１〜Ａｎのいずれかから要求（リクエスト）が送信されてくる。
【００８９】
メタデータ検索部４は、送信されてきたリクエストに対して所定の変換処理を施し、パラメータを抽出する。
【００９０】
次に、メタデータ検索部４は、抽出したパラメータ（クラスターパラメータ）をメタデータ格納部１４へ送信する。
【００９１】
これにより、メタデータ格納部１４は、当該クラスターパラメータに対応するクラスター群の要約（推論した注釈あり）のメタデータを読み出す。
【００９２】
メタデータ検索部４から読み出されたクラスター群の要約（推論した注釈あり）のメタデータを取得し、要求元のアプリケーションに送信する。
【００９３】
図９は、メタデータ検索時の動作に関わる各種要素の間で送受される情報の流れ（但し、メタデータ格納部１４に検索対象のメタデータツリーが無い場合）の一例を示す図である。
【００９４】
図９に示されるように、メタデータ検索部４には、アプリケーション群Ａ１〜Ａｎのいずれかから要求（リクエスト）が送信されてくる。
【００９５】
メタデータ検索部４は、送信されてきたリクエストに対して所定の変換処理を施し、パラメータを抽出する。
【００９６】
次に、メタデータ検索部４は、抽出したパラメータをメタデータ格納部１４へ送信しても、当該パラメータに対応するクラスター群の要約（推論した注釈あり）のメタデータを読み出せない場合には、当該パラメータ（前述の特徴抽出パラメータ、階層化整形パラメータ、もしくは注釈カテゴリーパラメータ）の設定要求を整形条件設定部５へ送信する。
【００９７】
整形条件設定部５は、特徴抽出パラメータの設定要求が送信されてきた場合、特徴抽出部１へ特徴抽出パラメータを送信する。
【００９８】
特徴抽出部１は、特徴抽出パラメータが送信されてきた場合、当該特徴抽出パラメータの設定を実施する。
【００９９】
また、整形条件設定部５は、階層化整形パラメータの設定要求が送信されてきた場合、階層化整形部２へ階層化整形パラメータを送信する。
【０１００】
階層化整形部２は、階層化整形パラメータが送信されてきた場合、当該階層化整形パラメータの設定を実施する。
【０１０１】
また、整形条件設定部５は、注釈カテゴリーパラメータの設定要求が送信されてきた場合、メタデータ注釈部３へ注釈カテゴリーパラメータを送信する。
【０１０２】
メタデータ注釈部３は、メタデータ注釈パラメータが送信されてきた場合、当該メタデータ注釈パラメータの設定を実施する。
【０１０３】
図１０は、メタデータ検索部４等によるメタデータ検索時の動作の一例を示すフローチャートである。
【０１０４】
図１０に示されるように、メタデータ検索部４は、いずれかのアプリケーションからの用件を受け取ると、所定のパラメータ群Ｐａｒａｓへの変換を行う（Ｓ４１）。これにより、特徴抽出パラメータ、階層化整形パラメータ、メタデータ注釈パラメータが得られる。
【０１０５】
次に、メタデータ検索部４は、メタデータ格納部１４に対し、特徴抽出パラメータ、階層化整形パラメータ、メタデータ注釈パラメータのそれぞれに対応するメタデータツリーがあるか否かを問い合わせる（Ｓ４２）。
【０１０６】
特徴抽出パラメータに対応するメタデータツリーが無いとの応答を得た場合（Ｓ４３のＮＯ）、メタデータ検索部４は、メタデータ格納部１４に対し、対応する新たなツリーの収納部およびツリー番号の新規作成を要求し（Ｓ４３Ａ）、整形条件設定部５に対し、特徴抽出パラメータの設定を要求する。整形条件設定部５は、メタデータ検索部４から特徴抽出パラメータの設定を要求されると、特徴抽出部１に特徴抽出パラメータの設定を指示する（Ｓ５１）。
【０１０７】
一方、ステップＳ４３において、特徴抽出パラメータに対応するメタデータツリーがあるとの応答を得ても（Ｓ４３のＹＥＳ）、階層化整形パラメータに対応するメタデータツリーが無いとの応答を得た場合（Ｓ４４のＮＯ）、メタデータ検索部４は、メタデータ格納部１４に対し、対応する新たなツリーの収納部およびツリー番号の新規作成を要求し（Ｓ４４Ａ）、整形条件設定部５に対し、階層化整形パラメータの設定を要求する。整形条件設定部５は、メタデータ検索部４から階層化整形パラメータの設定を要求されると、階層化整形部２に階層化整形パラメータの設定を指示する（Ｓ５２）。
【０１０８】
一方、ステップＳ４４において、階層化整形パラメータに対応するメタデータツリーがあるとの応答を得ても（Ｓ４４のＹＥＳ）、メタデータ注釈パラメータに対応するメタデータツリーが無いとの応答を得た場合（Ｓ４５のＮＯ）、メタデータ検索部４は、整形条件設定部５に対し、注釈カテゴリーパラメータの設定を要求する。整形条件設定部５は、メタデータ検索部４から注釈カテゴリーパラメータの設定を要求されると、メタデータ注釈部３に注釈カテゴリーパラメータの設定を指示する（Ｓ５３）。
【０１０９】
一方、ステップＳ４５において、メタデータ注釈パラメータに対応するメタデータツリーがあるとの応答を得た場合（Ｓ４５のＹＥＳ）、ステップＳ４６へ進む。
【０１１０】
ステップＳ４６において、メタデータ検索部４は、メタデータツリーから、要求元のアプリケーションが示す用件に適合するクラスターの要約（synopsis）を含むメタデータを取得し、設定したパラメータの情報と一緒に、ＲＤＦ（Resource Description Framework）フォーマットの図式上に書き出し、それを要求元のアプリケーションへ送信する。具体的には、図１１に示されるステップＳ９１〜Ｓ９３の処理を行い、一連の処理を終了する。
【０１１１】
特徴抽出部１は、整形条件設定部５から特徴抽出パラメータの設定を指示されると、前述のステップＳ１１〜Ｓ１６と同じ処理を行う（Ｓ６１）。整形条件設定部５は、ステップＳ６１の処理が行われた後に、階層化整形部２に階層化整形パラメータの設定を指示する（Ｓ５２）。
【０１１２】
階層化整形部２は、整形条件設定部５から階層化整形パラメータの設定を指示されると、前述のステップＳ２１〜Ｓ２３と同じ処理を行う（Ｓ７１）。整形条件設定部５は、ステップＳ７１の処理が行われた後に、メタデータ注釈部３に注釈カテゴリーパラメータの設定を指示する（Ｓ５３）。
【０１１３】
メタデータ注釈部３は、整形条件設定部５から注釈カテゴリーパラメータの設定を指示されると、前述のステップＳ３１〜Ｓ３４と同じ処理を行い（Ｓ８１）、最後に注釈結果をアプリケーションに渡して、一連の処理を終了する。
【０１１４】
ここで、図１２（ｂ）に、メタデータ検索部４および整形条件設定部５を通じて各種パラメータの設定（整形条件設定）が実施された場合にメタデータ格納部１４に記録される情報の一例を示す。
【０１１５】
整形記録は、毎回新たなツリーが作成されるごとにメタデータ格納部１４に保管される。この整形記録には、ツリーを識別する情報（ツリーの番号など）、特徴抽出用パラメータ（スパン（TimeSpan）時間間隔（segment）、アルゴリズム（Algorithm）の情報など）、階層化形成用パラメータ（アルゴリズム（Algorithm）の情報など）が含まれる。
【０１１６】
次に、図１１を参照して、図１０のステップＳ４６の具体的な処理について説明する。
【０１１７】
まず、メタデータ検索部４は、パラメータ群Ｐａｒａｓを指定し、メタデータ格納部１４から、図１２（ａ）に示されるようなクラスターノード（ｈ個）の要約（synopsis１, synopsis２,…, synopsisｈ）を取得する（Ｓ９１）。ここでは、当該要約をRDF(1)と称す。
【０１１８】
次に、メタデータ検索部４は、synopsisごとに、ＲＤＦノード（当該要約をRDF(2)と称す。）を作成し、さらに、システム初期設定した部分のＲＤＦ（当該要約をRDF(0)と称す。）と連結させる（Ｓ９２）。
【０１１９】
次に、メタデータ検索部４は、取得したクラスターの生成時に使用したパラメータとアルゴリズムのＲＤＦノード（当該要約をRDF(3)と称す。）を例えば図１２（ｂ）に示されるような整形記録を用いて作成し、これとRDF(0)とを連結させる。最後に、メタデータ検索部４は、RDF(0), RDF(1), RDF(2), RDF(3)が連結されたメタデータを要求元のアプリケーションに送信する（Ｓ９３）。
【０１２０】
このように、アプリケーションの用件に示されるパラメータの設定に対応するメタデータがメタデータ格納部１４に無い場合には、整形条件設定部５が特徴抽出部１、階層化整形部２、もしくはメタデータ注釈部３での処理に使用されるパラメータを調整するので、アプリケーションが示す用件に適切に対応することができる。
【０１２１】
（実施例（１））
次に、図１３乃至図１７Ｂを参照して、本実施形態における実施例（１）について説明する。この実施例（１）では、「風速データ」を例にとって説明する。
【０１２２】
・センシングデータの入力と特徴ベクトル群の生成について
生データは、時系列のセンシングデータである。本例では、秒ごとに取得した風速センシングデータの１年分（約15,800,000個）を扱う。
【０１２３】
また、本例では、特徴抽出部１において、同質のデータの特徴「毎日の（風速データ東西方向最大（Max）｜風速南北方向最大（Max2）｜平均（Average）」を組み合わせて、クラスタリング用の特徴ベクトル群（366個）を生成する。これにより、データ量を大幅に低減させる。
【０１２４】
・アプリケーションの用件について
アプリケーション１の用件：風速状況を３段階に分けることであるものとする（この場合、例えば、クラスター群をcluster1：「高」、cluster2：「中」、cluster3：「低」に分ける必要があるものとする）。
【０１２５】
アプリケーション２の用件：クラスター間の距離を所定値に指定すること（クラスター間距離（Ward Distance）を例えば「10」にすること）であるものとする（この場合、クラスター群を例えばcluster1〜cluster6に分ける必要があるものとする）。
【０１２６】
・クラスタリングとメタデータの付与について（アプリケーション１の用件に対応）
特徴抽出部１により生成された特徴ベクトル群に対し、階層化整形部２により階層化クラスタリングを行うと、その結果は図１３の（ａ）のようにツリー状になる。なお、図１３の（ａ）において、横軸は特徴ベクトル群（366個のエレメント）を表し、縦軸はクラスター間の距離を表す。アプリケーション１の用件に対し、図１３（ａ）の破線の位置のようにツリーを３つのクラスター（R1, R2, R3）に分ける。
【０１２７】
この場合、メタデータ注釈部３により、図１３（ｂ）のようなメタデータを各クラスターの情報として付与する。なお、図１３（ｂ）において、Range1, Range2, Range3は、３つに分けられた領域を示す。各領域に対し、エレメント数（Element Count）、全距離（Total Distances）、要約ベクトル（Synopsis Vector）を記録する。このような情報により、クラスターツリーの各ノードに注釈をカテゴリーごとに作成してもよい。
【０１２８】
アプリケーション１の用件に応じて分けられたクラスター群の分布は、図１４Ａおよび図１４Ｂのように表すことができる。
【０１２９】
図１４Ａは、Average、Max、Max2のそれぞれのヒストグラムである。なお、図１４Ａにおいて、横軸はそれぞれAverage、Max、Max2の値を表し、縦軸はそれぞれの度数を表している。R1, R2, R3は、それぞれ、Range1, Range2, Range3のクラスター群に相当する。
【０１３０】
図１４Ｂは、３つに分けられた領域Range1, Range2, Range3のクラスター群の分布を、Average、Max、Max2の３軸からなる３次元座標系上に表したグラフの例である。なお、図１４Ｂにおいて、４種類のグラフは、それぞれ見る方向を変えたものである。
【０１３１】
アプリケーション１側では、受信するメタデータの基づき、図１４Ａおよび図１４Ｂのようなグラフを再現することが可能である。
【０１３２】
・メタデータの構成について（アプリケーション１の用件に対応）
最後に、メタデータ検索部４により、メタデータをＲＤＦの形でアプリケーション１に送信する。例えば図１５のようなオントロジーを作成した上で、メタデータをアプリケーション１に送信する。なお、図１５において、P0, P1, P2, P3は、それぞれ、前述したRDF(0), RDF(1), RDF(2), RDF(3)に相当する。
【０１３３】
P0は、システム初期設定して、メタデータ格納部１４に保管したものである。P1は、メタデータ格納部１４から取得したものである。P2は、メタデータ注釈部３で作成したものである。P3は、メタデータ検索部４および整形条件設定部５で設定し、メタデータ格納部１４に保管したものである。
【０１３４】
・クラスタリングとメタデータの付与について（アプリケーション２の用件に対応）
アプリケーション２に対しても、図１６（ａ）の通り、アプリケーション１の場合と同じクラスタリングを利用する。但し、図１６（ａ）の破線の位置のように、６つのクラスター群（R1〜R6）に分ける。
【０１３５】
この場合、メタデータ注釈部３により、図１６（ｂ）のようなメタデータを各クラスターの情報として付与する。なお、図１６（ｂ）において、Range1〜Range6は、６つに分けられた領域を示す。記録する項目は図１３（ｂ）と同じである。
【０１３６】
アプリケーション２の用件に応じて分けられたクラスター群の分布は、図１７Ａおよび図１７Ｂのように表すことができる。
【０１３７】
図１７Ａは、Average、Max、Max2のそれぞれのヒストグラムである。R1〜R6は、それぞれ、Range1〜Range6のクラスター群に相当する。
【０１３８】
図１７Ｂは、６つに分けられた領域Range1〜Range6のクラスター群の分布を、Average、Max、Max2の３軸からなる３次元座標系上に表したグラフの例である。なお、図１７Ｂにおいて、４種類のグラフは、それぞれ見る方向を変えたものである。
【０１３９】
アプリケーション２側では、受信するメタデータの基づき、図１７Ａおよび図１７Ｂのようなグラフを再現することが可能である。
【０１４０】
（実施例（２））
次に、図１８乃至図２２Ｂを参照して、本実施形態における実施例（２）について説明する。この実施例（２）では、「風速データ」、「気温データ」、「日照時間データ」を混合させた例について説明する。
【０１４１】
・センシングデータの入力と特徴ベクトル群の生成について
生データは、時系列のセンシングデータである。本例では、秒ごとに取得した風速・気温センシングデータの１年分、および毎日の日照時間データの１年分を扱う。
【０１４２】
実施例（１）と違い、本例では、上記の３種類の異質データの特徴「毎日の風速平均、気温平均、日照時間」を組み合わせて、１年の中の毎日の気象状況を表す特徴ベクトル群を生成する。これにより、データ量を大幅に低減させる。
【０１４３】
・アプリケーションの用件について
アプリケーション３の用件：気象状況を２部類に分けることであるものとする（この場合、クラスター群を例えば、cluster1、cluster2に分ける必要があるものとする）。
【０１４４】
アプリケーション４の用件：特定の２つの日（例えば、５月１日と６月２日）が１つの部類に入っているものとする（この場合、クラスター群を例えばcluster1〜cluster12に分ける必要があるものとする）。
【０１４５】
・クラスタリングとメタデータの付与について（アプリケーション３の用件に対応）
特徴抽出部１により生成された特徴ベクトル群に対し、階層化整形部２により階層化クラスタリングを行うと、その結果は図１８の（ａ）のようにツリー状になる。なお、図１８の（ａ）において、横軸は特徴ベクトル群（360個のエレメント）を表し、縦軸はクラスター間の距離を表す。アプリケーション３の用件に対し、図１８（ａ）の破線の位置のようにツリーを２つのクラスター（C1, C2）に分ける。
【０１４６】
この場合、メタデータ注釈部３により、図１８（ｂ）のようなメタデータを各クラスターの情報として付与する。なお、図１８（ｂ）において、Condition1, Condition2は、２つに分けられた領域を示す。各領域に対し、エレメント数（Element Count）、全距離（Total Distances）、要約ベクトル（Synopsis Vector）を記録する。このような情報により、クラスターツリーの各ノードに注釈をカテゴリーごとに作成してもよい。
【０１４７】
アプリケーション３の用件に応じて分けられたクラスター群の分布は、図１９Ａおよび図１９Ｂのように表すことができる。
【０１４８】
図１９Ａは、気温（Temperature）、風速（Wind）、日照時間（Sunny）のそれぞれの相関図である。なお、図１９Ａにおいて、C1, C2は、それぞれ、Condition1, Condition2のクラスター群に相当する。
【０１４９】
図１９Ｂは、２つに分けられた領域Condition1, Condition2のクラスター群の分布を、Temperature, Wind, Sunnyの３軸からなる３次元座標系上に表したグラフの例である。
【０１５０】
アプリケーション３側では、受信するメタデータの基づき、図１９Ａおよび図１９Ｂのようなグラフを再現することが可能である。
【０１５１】
・メタデータの構成について（アプリケーション１の用件に対応）
最後に、メタデータ検索部４により、メタデータをＲＤＦの形でアプリケーション３に送信する。例えば図２０のようなオントロジーを作成した上で、メタデータをアプリケーション３に送信する。なお、図２０において、Q0, Q1, Q2, Q3は、それぞれ、前述したRDF(0), RDF(1), RDF(2), RDF(3)に相当する。
【０１５２】
Q0は、システム初期設定して、メタデータ格納部１４に保管したものである。Q1は、メタデータ格納部１４から取得したものである。Q2は、メタデータ注釈部３で作成したものである。Q3は、メタデータ検索部４および整形条件設定部５で設定し、メタデータ格納部１４に保管したものである。
【０１５３】
・クラスタリングとメタデータの付与について（アプリケーション４の用件に対応）
アプリケーション４に対しても、図２１の通り、アプリケーション３の場合と同じクラスタリングを利用する。但し、図２１の破線の位置のように、１２個のクラスター群（C1〜C12）に分ける。
【０１５４】
アプリケーション４の用件に応じて分けられたクラスター群の分布は、図２２Ａおよび図２２Ｂのように表すことができる。
【０１５５】
図２２Ａは、気温（Temperature）、風速（Wind）、日照時間（Sunny）のそれぞれの相関図である。なお、図２２Ａにおいて、C1〜C12は、それぞれ、Condition1〜Condition12のクラスター群に相当する。
【０１５６】
図２２Ｂは、１２個に分けられた領域Condition1〜Condition12のクラスター群の分布を、Temperature, Wind, Sunnyの３軸からなる３次元座標系上に表したグラフの例である。
【０１５７】
アプリケーション４側では、受信するメタデータの基づき、図２２Ａおよび図２２Ｂのようなグラフを再現することが可能である。
【０１５８】
第１の実施形態によれば、サーバ側で実行される階層化データ整形により、IoTデータを利用する多様なアプリケーションの要求に対して都度計算を行うことなく、アプリケーションが必要とする情報を提供することができるようになる。したがって、アプリケーション側では全てのIoTデータを受信して処理をする必要がなくなるため、処理の軽減が期待できる。また、アプリケーションに必要なデータのみをサーバ側からアプリケーションに提供するため、通信コストやトラヒック量を大幅に抑えることができる。これにより、今後さらにIoTデータを利用するアプリケーションや大量なデバイスが存在する環境においても、効率的かつ安価にデータを提供できるようになる。
【０１５９】
（第２の実施形態）
次に、本発明の第２の実施形態について説明する。以下では、第１の実施形態と共通する部分の説明を省略し、異なる部分を中心に説明する。
【０１６０】
（構成）
図２３は、本発明の第２の実施形態に係る情報交換システムの機能構成の一例を示す図である。なお、図２３では、図１と共通する要素に同一の符号を付している。
【０１６１】
本実施形態に係る情報交換システムは、例えば他の情報処理装置（図示せず）に搭載されたアプリケーションからの要求に応じてサービスを提供するクラウド上のクラウドサーバ１００−０と、センサＤ１〜Ｄｍ等のデバイス群から供給されるセンシングデータ群を取得可能な各所に設置される１台のエッジサーバ１００−１もしくは複数のエッジサーバ１００−１，…，１００ｋとの組み合わせで成る。クラウドサーバ１００−０と、エッジサーバ１００−１，…，１００ｋとは、相互に通信可能に接続され、相互に情報交換することが可能である。
【０１６２】
図２３に示されるように、特徴抽出部１、階層化整形部２、およびメタデータ注釈部３は、エッジサーバ１００−１，…，１００ｋ側にそれぞれ配置される。一方、メタデータ検索部４および整形条件設定部５は、クラウドサーバ１００−０側に設置される。特徴抽出部１、階層化整形部２、メタデータ注釈部３、メタデータ検索部４、および整形条件設定部５のそれぞれの機能や動作は、第１の実施形態の場合と同様である。
【０１６３】
第２の実施形態によれば、特徴抽出部１、階層化整形部２、およびメタデータ注釈部３が、クラウド上のクラウドサーバ１００−０側に配置されるのではなく、エッジサーバ１００−１，…，１００ｋ側に配置されるため、クラウドサーバ１００−０は膨大な量の生データを受信して処理する必要がなく、メタデータの受け渡しを行う程度で済む。そのため、クラウドサーバ１００−０側の負担を大幅に軽減し、クラウド層の負荷の軽減に寄与することと、エッジとクラウド間のトラヒック量（コスト）の削減ができる。
【０１６４】
以上詳述したように、本発明の各実施形態によれば、アプリケーションが必要とするデータを効率的に生成することを可能になる。
【０１６５】
なお、本発明は、上記実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。また、各実施形態は適宜組み合わせて実施してもよく、その場合組み合わせた効果が得られる。更に、上記実施形態には種々の発明が含まれており、開示される複数の構成要件から選択された組み合わせにより種々の発明が抽出され得る。例えば、実施形態に示される全構成要件からいくつかの構成要件が削除されても、課題が解決でき、効果が得られる場合には、この構成要件が削除された構成が発明として抽出され得る。
【０１６６】
また、各実施形態に記載した手法は、計算機（コンピュータ）に実行させることができるプログラム（ソフトウェア手段）として、例えば磁気ディスク（フロッピー（登録商標）ディスク、ハードディスク等）、光ディスク（ＣＤ−ＲＯＭ、ＤＶＤ、ＭＯ等）、半導体メモリ（ＲＯＭ、ＲＡＭ、フラッシュメモリ等）等の記録媒体に格納し、また通信媒体により伝送して頒布することもできる。なお、媒体側に格納されるプログラムには、計算機に実行させるソフトウェア手段（実行プログラムのみならずテーブルやデータ構造も含む）を計算機内に構成させる設定プログラムをも含む。本装置を実現する計算機は、記録媒体に記録されたプログラムを読み込み、また場合により設定プログラムによりソフトウェア手段を構築し、このソフトウェア手段によって動作が制御されることにより上述した処理を実行する。なお、本明細書でいう記録媒体は、頒布用に限らず、計算機内部あるいはネットワークを介して接続される機器に設けられた磁気ディスクや半導体メモリ等の記憶媒体を含むものである。
【符号の説明】
【０１６７】
１…特徴抽出部、２…階層化整形部、３…メタデータ注釈部、４…メタデータ検索部、５…整形条件設定部、１０…データ保存部、１１…生データ格納部、１２…特徴ベクトル格納部、１３…クラスター格納部、１４…メタデータ格納部、１００…サーバ、１００−０…クラウドサーバ、１００−１〜１００−ｋ…エッジサーバ、Ａ１〜Ａｎ…アプリケーション群、Ｄ１〜Ｄｍ…センサ。
【図１】
2019219906.tif 000003
【図２】
2019219906.tif 000004
【図３】
2019219906.tif 000005
【図４】
2019219906.tif 000006
【図５】
2019219906.tif 000007
【図６】
2019219906.tif 000008
【図７】
2019219906.tif 000009
【図８】
2019219906.tif 000010
【図９】
2019219906.tif 000011
【図１０】
2019219906.tif 000012
【図１１】
2019219906.tif 000013
【図１２】
2019219906.tif 000014
【図１３】
2019219906.tif 000015
【図１４Ａ】
2019219906.tif 000016
【図１４Ｂ】
2019219906.tif 000017
【図１５】
2019219906.tif 000018
【図１６】
2019219906.tif 000019
【図１７Ａ】
2019219906.tif 000020
【図１７Ｂ】
2019219906.tif 000021
【図１８】
2019219906.tif 000022
【図１９Ａ】
2019219906.tif 000023
【図１９Ｂ】
2019219906.tif 000024
【図２０】
2019219906.tif 000025
【図２１】
2019219906.tif 000026
【図２２Ａ】
2019219906.tif 000027
【図２２Ｂ】
2019219906.tif 000028
【図２３】
2019219906.tif 000029