(57)【要約】      （修正有）【課題】センサネットワークにおける物理センサのセンサデータを、アプリケーションの要件に応じた形態で柔軟に提供可能とする。【解決手段】センサネットワーク管理システムにおいて、センサネットワークが含む物理センサ、所定のデータ抽出手段、および、物理センサのセンシングデータまたはセンシングデータに基づく所定データを利用するアプリケーション、の各メタデータを保持する記憶装置１０１と、物理センサおよびデータ抽出手段の各メタデータに基づき、所定アプリケーションのメタデータがデータ利用に関して示す所定要求を満たす、物理センサとデータ抽出手段との組み合わせであるセンシング手段を特定するマッチング処理を実行する演算装置１０４を含む構成とする。【選択図】図２
2018124935.tif 000002
【特許請求の範囲】
【請求項１】
センサネットワークが含む物理センサのメタデータ、所定のデータ抽出手段のメタデータ、および、前記物理センサのセンシングデータまたは当該センシングデータに基づく所定データを利用するアプリケーションのメタデータを保持する記憶装置を備えた情報処理システムが、
前記物理センサおよび前記データ抽出手段の各メタデータに基づき、所定アプリケーションのメタデータがデータ利用に関して示す所定要求を満たす、物理センサとデータ抽出手段との組み合わせであるセンシング手段を特定するマッチング処理を実行する、
ことを特徴とするセンサネットワーク管理方法。
【請求項２】
前記情報処理システムが、
前記マッチング処理により特定したセンシング手段に含まれる所定のデータ抽出手段を構築する処理を更に実行する、
ことを特徴とする請求項１に記載のセンサネットワーク管理方法。
【請求項３】
前記情報処理システムが、
前記マッチング処理により特定したセンシング手段における所定のデータ抽出手段による処理結果に、前記所定アプリケーションからアクセス可能とするためのエンドポイントを構築する処理を更に実行する、
ことを特徴とする請求項２に記載のセンサネットワーク管理方法。
【請求項４】
前記情報処理システムが、
前記マッチング処理により特定したセンシング手段における所定の物理センサと所定のデータ抽出手段と所定のエンドポイント処理を接続する処理を更に実行する、
ことを特徴とする請求項３に記載のセンサネットワーク管理方法。
【請求項５】
前記情報処理システムが、
少なくとも所定の不具合が発生するタイミングを含む所定のタイミングにおいて、前記アプリケーションのセンシング手段を、他のセンシング手段に切り換える処理を実行する、
ことを特徴とする請求項４に記載のセンサネットワーク管理方法。
【請求項６】
前記情報処理システムが、
所定センシング手段に含まれるデータ抽出手段を利用しなくなるイベントが発生した場合、前記センシング手段に含まれる構築済みのデータ抽出手段をアンデプロイする処理を更に実行する、
ことを特徴とする請求項４のセンサネットワーク管理方法。
【請求項７】
前記情報処理システムが、
所定センシング手段に含まれるエンドポイント処理を利用しなくなるイベントが発生した場合、前記センシング手段に含まれる構築済みのエンドポイント処理を削除する処理を更に実行する、
ことを特徴とする請求項４のセンサネットワーク管理方法。
【請求項８】
前記情報処理システムが、
前記物理センサのメタデータ、所定のデータ抽出手段のメタデータ、前記物理センサのセンシングデータまたは当該センシングデータに基づく所定データ、および、前記物理センサのセンシングデータまたは当該センシングデータに基づく所定データを利用するアプリケーションのメタデータ、の少なくともいずれかとして、他の情報処理システムから取
得する所定データも含めて保持する、
ことを特徴とする請求項１のセンサネットワーク管理方法。
【請求項９】
前記情報処理システムが、
前記マッチング処理に際し、マッチング結果として得た複数のセンシング手段のうち、アプリケーションのメタデータが示す所定要件の全項目を満たすセンシング手段、もしくは、アプリケーションのメタデータが示す所定要件のうち一部項目を満たすセンシング手段を特定する、
ことを特徴とする請求項１のセンサネットワーク管理方法。
【請求項１０】
前記情報処理システムが、
前記マッチング処理に際し、アプリケーションのメタデータが示す所定要件を満たすセンシング手段を特定出来なかった場合、当該アプリケーションに対し、要件を満たすセンシング手段が特定出来なかった旨を通知する処理を更に実行する、
ことを特徴とする請求項１のセンサネットワーク管理方法。
【請求項１１】
前記情報処理システムが、
前記マッチング処理に際し、マッチング結果として得た複数のセンシング手段に関して、所定ユーザによる選択を受け付ける処理を更に実行する、
ことを特徴とする請求項１のセンサネットワーク管理方法。
【請求項１２】
センサネットワークが含む物理センサのメタデータ、所定のデータ抽出手段のメタデータ、および、前記物理センサのセンシングデータまたは当該センシングデータに基づく所定データを利用するアプリケーションのメタデータを保持する記憶装置と、
前記物理センサおよび前記データ抽出手段の各メタデータに基づき、所定アプリケーションのメタデータがデータ利用に関して示す所定要求を満たす、物理センサとデータ抽出手段との組み合わせであるセンシング手段を特定するマッチング処理を実行する演算装置と、
を備えるセンサネットワーク管理システム。
【請求項１３】
前記演算装置は、
前記マッチング処理により特定したセンシング手段に含まれる所定のデータ抽出手段を構築する処理を更に実行するものである、
ことを特徴とする請求項１２に記載のセンサネットワーク管理システム。
【請求項１４】
前記演算装置は、
前記マッチング処理により特定したセンシング手段における所定のデータ抽出手段による処理結果に、前記所定アプリケーションからアクセス可能とするためのエンドポイントを構築する処理を更に実行するものである、
ことを特徴とする請求項１３に記載のセンサネットワーク管理システム。
【請求項１５】
前記演算装置は、
前記マッチング処理により特定したセンシング手段における所定の物理センサと所定のデータ抽出手段と所定のエンドポイント処理を接続する処理を更に実行するものである、
ことを特徴とする請求項１４に記載のセンサネットワーク管理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、センサネットワーク管理方法およびセンサネットワーク管理システムに関するものであり、具体的には、センサネットワークにおける物理センサのセンシングデータを、アプリケーションの要件に応じた形態で柔軟に提供可能とする技術に関する。
【背景技術】
【０００２】
世界中に存在する様々なものに関する情報をネットワーク上で組み合わせ、新しい価値を生み出すＩｏＴ（Ｉｎｔｅｒｎｅｔ  ｏｆ  Ｔｈｉｎｇｓ）が普及している。
【０００３】
ＩｏＴとは、様々な場所や産業設備等に、センシング機能と通信機能をもつセンサを設置して、そのセンサから得られる大量のセンサデータを管理し、利用者が目的に応じてこれらセンサデータを利用するものである。こうしたセンサデータの収集、管理、および、シームレスな利用等を可能にするために、様々な場所に設置されたセンサをネットワーク化し、さらに、センサデータをクラウド基盤で集中的に管理する形態が主流となってきている。
【０００４】
こうした状況において、上述のセンサの所有者とセンサデータの利用者とは異なるケースがある。この場合、両者でデータを資源として取引することになるため、センサデータを、利用者の目的に応じて適切に流通させる、センサネットワークの仕組みを整備する必要がある。
【０００５】
このような背景のもと、例えば、センシングデータを出力するセンサに関する情報であるセンサ側メタデータを取得するセンサ側メタデータ取得手段と、前記センシングデータを利用してサービスを提供するアプリケーシヨンに関する情報であるアプリ側メタデータを取得するアプリ側メタデータ取得手段と、前記センサ側メタデータおよび前記アフリ側メタデータのマッチングを行うことで前記アプリケーションの要求を満たすセンシングデータを提供可能な前記センサを抽出するマッチング手段と、前記センサを管理するセンサ管理装置に対して、前記マッチング手段により抽出されたセンサと前記アフリケーションとを特定したデータフロー制御指令を送信する指示手段と、を有することを特徴とするデータフロー制御指令発生装置（特許文献１参照）などが提案されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】ＷＯ２０１４／０４１８２６号
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら従来技術においては、センシングデータの提供に際し、アプリケーションの要件とのマッチング対象が物理センサの要件のみとなっている。つまり、要件がマッチした物理センサのセンシングデータがそのままアプリケーションに提供されることとなる。ところが、センサネットワークに含まれる物理センサの仕様やそのバリエーションによっては、センシングデータの内容がアプリケーションの望む属性ではないケースも多く生じうる。
【０００８】
その場合、上述した従来技術のような要件のマッチングを行うとしても、アプリケーションに適宜なセンシングデータを提供する物理センサの特定は出来ず、センシングデータの流通が阻害されうる事態となる。このことは、物理センサ等に障害が発生した際、その
代替センサの柔軟な検討を困難とし、センシングデータを利用していたアプリケーションの機能停止にもつながる。
【０００９】
そこで本発明の目的は、センサネットワークにおける物理センサのセンシングデータを、アプリケーションの要件に応じた形態で柔軟に提供可能とする技術を提供することにある。
【課題を解決するための手段】
【００１０】
上記課題を解決する本発明のセンサネットワーク管理方法は、センサネットワークが含む物理センサのメタデータ、所定のデータ抽出手段のメタデータ、および、前記物理センサのセンシングデータまたは当該センシングデータに基づく所定データを利用するアプリケーションのメタデータを保持する記憶装置を備えた情報処理システムが、前記物理センサおよび前記データ抽出手段の各メタデータに基づき、所定アプリケーションのメタデータがデータ利用に関して示す所定要求を満たす、物理センサとデータ抽出手段との組み合わせであるセンシング手段を特定するマッチング処理を実行する、ことを特徴とする。
【００１１】
また、本発明のセンサネットワーク管理システムは、センサネットワークが含む物理センサのメタデータ、所定のデータ抽出手段のメタデータ、および、前記物理センサのセンシングデータまたは当該センシングデータに基づく所定データを利用するアプリケーションのメタデータを保持する記憶装置と、前記物理センサおよび前記データ抽出手段の各メタデータに基づき、所定アプリケーションのメタデータがデータ利用に関して示す所定要求を満たす、物理センサとデータ抽出手段との組み合わせであるセンシング手段を特定するマッチング処理を実行する演算装置とを備える。
【発明の効果】
【００１２】
本発明によれば、センサネットワークにおける物理センサのセンシングデータを、アプリケーションの要件に応じた形態で柔軟に提供可能となる。
【図面の簡単な説明】
【００１３】
【図１】本実施形態におけるセンサネットワーク管理システムの構成例を示す図である。
【図２】本実施形態における管理サーバのハードウェア構成例を示す図である。
【図３】本実施形態のアプリ属性表の一例である。
【図４】本実施形態の物理センサ属性表の一例である。
【図５】本実施形態の抽出処理管理表の一例である。
【図６】本実施形態の組み合わせ候補表の一例である。
【図７Ａ】本実施形態の処理チェーン表の一例である。
【図７Ｂ】本実施形態の処理チェーン表の一例である。
【図７Ｃ】本実施形態の処理チェーン表の一例である。
【図７Ｄ】本実施形態の処理チェーン表の一例である。
【図８】本実施形態のセンサネットワーク管理方法のフロー例１を示す図である。
【図９】本実施形態のセンサネットワーク管理方法のフロー例２を示す図である。
【図１０】本実施形態の選択ポリシー表の一例である。
【図１１】本実施形態のセンサネットワーク管理方法のフロー例３を示す図である。
【図１２】本実施形態のセンサネットワーク管理方法のフロー例４を示す図である。
【図１３】本実施形態のセンサネットワーク管理方法のフロー例５を示す図である。
【図１４】本実施形態のセンサネットワーク管理方法のフロー例６を示す図である。
【図１５】本実施形態のセンサネットワーク管理方法のフロー例７を示す図である。
【図１６】本実施形態における画面例１を示す図である。
【図１７】本実施形態における画面例２を示す図である。
【図１８】本実施形態における画面例３を示す図である。
【発明を実施するための形態】
【００１４】
−−−システム構成−−−
以下に本発明の実施形態について図面を用いて詳細に説明する。図１は、本実施形態のセンサネットワーク管理システム１の構成例を示す図である。
【００１５】
図１に示すセンサネットワーク管理システム１は、センサネットワーク５における物理センサ２０のセンシングデータを、アプリケーション３０の要件に応じた形態で柔軟に提供可能とするコンピュータシステムである。また、センサネットワーク管理システム１は、センシングデータを利用するアプリケーション３０からの要求に対して、センシング手段を制御し、要求されたデータを返す。
【００１６】
こうしたセンサネットワーク管理システム１は、物理センサ２０、ＩｏＴハブサーバ３００、データ提供サーバ２００、および、アプリケーション３０から構成されたセンサネットワーク５と、管理サーバ１００および監視サーバ４００とで構成されている。このうち、管理サーバ１００およびデータ提供サーバ２００が、センサネットワーク管理システム１の最小構成となる。
【００１７】
上述のセンサネットワーク５に含まれる物理センサ２０は、ネットワーク１１を通してＩｏＴハブサーバ３００に接続している。この物理センサ２０は、所定のセンシング機能と通信機能とをもつ機器である。物理センサ２０は、センシング機能によって定期的にセンシングして得たセンシングデータを、通信機能によりネットワーク１１経由でＩｏＴハブサーバ３００に送信する。
【００１８】
一方、ＩｏＴハブサーバ３００は、センサネットワーク５に含まれる複数の物理センサ２０の管理装置である。このＩｏＴハブサーバ３００は、物理センサ２０のそれぞれから送られてきたセンシングデータを受信し、これをデータ提供サーバ２００に提供する。またＩｏＴハブサーバ３００は、物理センサ２０それぞれのセンシングデータの種別、稼働状態、位置情報などのメタデータを、出力処理部３１０を介して管理サーバ１００に提供する。
【００１９】
また、上述のＩｏＴハブサーバ３００は、ネットワーク１１経由で接続されている物理センサ２０それぞれのデータ提供状態を監視している。そのため、ＩｏＴハブサーバ３００は、異常を示した物理センサ２０に関して、管理サーバ１００に所定のアラートを送信する。
【００２０】
一方、データ提供サーバ２００は、上述のＩｏＴハブサーバ３００からセンシングデータを受信し、このセンシングデータに関して無加工もしくは任意の抽出処理（２１０、２１１、２１２）を実行し、この処理結果である出力データを、アプリケーション毎に作られるエンドポイント処理（２１３、２１４）を介して該当アプリケーションに提供する。
なお、アプリケーション３０は、上述のデータ提供サーバ２００による出力データ（センシングデータそのまま、またはセンシングデータに抽出処理を施して得たデータ）を利用するソフトウェアである。このアプリケーション３０は、上述のデータ提供サーバ２００に対して任意のタイミングでデータ要求を送信することになる。
【００２１】
こうしたセンサネットワーク５に対して、監視制御するのが監視サーバ４００および管理サーバ１００となる。これら監視サーバ４００および管理サーバ１００は、ネットワーク１０を介してセンサネットワーク５と接続されている。
【００２２】
このうち監視サーバ４００は、ＩｏＴハブサーバ３００、データ提供サーバ２００、および、ネットワーク１０を監視し、いずれかに関して所定の異常を検知した場合、管理サーバ１００に通知するサーバ装置である。こうした機能は、管理サーバ１００が備えるとしてもよい（その場合、監視サーバ４００は不要となる）。
【００２３】
一方、管理サーバ１００は、センシング手段とアプリケーション３０とのマッチング処理を実行する。また管理サーバ１００は、アプリケーション３０とマッチングしたセンシング手段を、データ提供サーバ２００上に構築し、当該センシング手段による出力データを該当アプリケーション３０に提供するための基盤制御を行う。
【００２４】
なお、本実施形態におけるセンシング手段とは、１または複数の物理センサ２０と、当該物理センサ２０から出力されるセンシングデータに対して、選択、抽出、演算、など適宜なデータ加工（本実施形態では総称して「データ抽出」と称する）を行うプログラムたる、１または複数のデータ抽出手段とで構成されるものである。
【００２５】
こうしたセンシング手段において、複数のデータ抽出手段が含まれる場合、一方のデータ抽出手段の出力データを、他方のデータ抽出手段が入力として利用する、といったデータ抽出手段の間での出力データの利用関係が想定出来る。勿論、こうしたデータ抽出手段間での利用関係は１対１のもののみに限定しない。例えば、１つのデータ抽出手段の出力データ（または１つの物理センサ２０のセンシングデータ）を、複数のデータ抽出手段がそれぞれ利用する形態や、複数のデータ抽出手段の出力データ（または複数の物理センサ２０のセンシングデータ）を、１つのデータ抽出手段がそれぞれ利用する形態、なども想定出来る。
【００２６】
管理サーバ１００は、こうしたセンシング手段に含まれうる、センサネットワーク５における各物理センサ２０の異常発生や、センサネットワーク管理システム１の運用者等の指示受付、など所定イベントに応じてセンシング手段を切り替える。
【００２７】
上述の管理サーバ１００は、本実施形態のセンサネットワーク管理システム１としての機能に該当する、センサ情報取得処理部１１０、入出力処理部１１１、マッチング処理部１１２、基盤制御処理部１１３、アラート受信処理部１１４、再選択処理部１１５、および、アンデプロイ処理部１１６の各機能部を備える。
【００２８】
また、管理サーバ１００は、処理に必要なデータ類として、アプリ属性表１２５、物理センサ属性表１２６、抽出処理管理表１２７、組み合わせ候補表１２８、処理チェーン表１２９、および、選択ポリシー表１３０、適宜な記憶装置で保持している。
【００２９】
また、管理サーバ１００は、上述のデータ提供サーバ２００で構築、実行されるデータ抽出手段である、各抽出手段のソースコード（図１では、抽出処理Ａソースコード１４１、合成処理Ｂソースコード１４２、と例示している）を、ソースコードリポジトリ１４０にて保持している。上述のソースコードリポジトリ１４０は、管理サーバ１００およびデータ提供サーバ２００からアクセス可能であるならば、必ずしも管理サーバ１００上に構成される必要はなく、ネットワーク１０上のいずれかの装置上で保持されていればよい。これらデータ類についての詳細は後述する。
【００３０】
管理サーバ１００が備える機能部のうち、センサ情報取得処理部１１０は、ＩｏＴハブサーバ３００から物理センサ２０に関するメタデータを取得し、物理センサ属性表１２６に登録するものである。
【００３１】
また、入出力処理部１１１は、センシングデータを利用するアプリケーション３０のユ
ーザから予めアプリケーション３０の要件を取得し、これを、アプリケーション３０の要件に関するメタデータのテーブルであるアプリ属性表１２５に登録するものである。
【００３２】
また、マッチング処理部１１２は、物理センサ属性表１２６、アプリ属性表１２５、および、抽出処理管理表１２７をもとに、上述のユーザに指定されたアプリケーション３０の要件を満たすデータ提供が可能な、物理センサ２０とデータ抽出手段との組み合わせを見つけ出すものである。
【００３３】
このマッチング処理部１１２は、組み合わせ抽出処理部１１２１と組み合わせ選択処理部１１２２とから構成される。このうち組み合わせ抽出処理部１１２１は、抽出処理管理表１２７と上述のアプリ属性表１２５とを参照し、アプリケーション３０の要件で要求されたデータ種別のデータを出力可能な、物理センサ２０とデータ抽出手段との組み合わせ、すなわちセンシング手段である処理チェーン（以後、処理チェーン）の一覧表である組み合わせ候補表１２８を作成する。
【００３４】
一方、組み合わせ選択処理部１１２２は、上述のアプリ属性表１２５と、複数の処理チェーンの中から適宜なものを特定するための優先度が規定された選択ポリシー表１３０とを参照し、上述の組み合わせ候補表１２８の中から、アプリケーション３０の要件を満たす処理チェーンのうちで、優先すべきものを選択する。なお、処理チェーン表１２９は、組み合わせ抽出処理部１１２１によって生成される表であり、物理センサ２０、データ抽出手段（以下、抽出処理）、および、エンドポイント処理の組み合わせを管理するテーブルである。
【００３５】
また、基盤制御処理部１１３は、上述のマッチング処理部１１２に続いて呼び出され、マッチング処理部１１２によって選択された処理チェーンをデータ提供サーバ２００上に構築し、該当アプリケーション３０から利用できる状態にするものである。
【００３６】
上述の基盤制御処理部１１３は、構築接続処理部１１３１とエンドポイント作成処理部１１３２によって構成される。このうち構築接続処理部１１３１は、マッチング処理部１１２によって選択された処理チェーンに含まれている抽出処理を、ソースコードリポジトリ１４０に保管されているソースコードを基にして、データ提供サーバ２００上で動く状態にする。また、構築接続処理部１１３１は、それらの抽出処理を接続して、該当アプリケーション３０が要求しているデータを生成可能な状態にする。一方、エンドポイント作成処理部１１３２は、構築接続処理部１１３１によって生成可能となったデータを、該当アプリケーション３０からアクセス可能にするためのエンドポイントを作成する。
【００３７】
また、アラート受信処理部１１４は、監視サーバ４００およびＩｏＴハブサーバ３００から所定のアラートを受け取った場合、アプリケーション３０へのデータ提供が継続されるように再選択処理部１１５を呼び出すものである。
【００３８】
このアラート受信処理部１１４は、ＩｏＴハブサーバ３００が取得した物理センサ２０等の異常に関する情報を受け取ると、当該異常の生じている物理センサ２０（以下、異常物理センサと称する）を利用中のアプリケーション３０の存在を特定する。またアラート受信処理部１１４は、ここでアプリケーション３０の存在を特定した場合、再選択処理部１１５を実行し、当該アプリケーション３０に関して構築してある処理チェーンを、異常物理センサ２０が含まれない処理チェーンに切り替える。
【００３９】
また、再選択処理部１１５は、上述のように、処理チェーンの切り替えるに際して呼び出され、異常物理センサ２０を除いた上で、該当アプリケーション３０の要件を満たす処理チェーンを選び直すものである。
【００４０】
その後、この再選択処理部１１５は、これまで該当アプリケーション３０に関して構築、運用している処理チェーンを、データ提供サーバ２００上から削除するためのアンデプロイ処理部１１６を呼び出す。これにより、不要となった処理チェーンはデータ提供サーバ２００上から削除される。
−−−ハードウェア構成−−−
【００４１】
また、センサネットワーク管理システム１を構成する管理サーバ１００のハードウェア構成について説明する。図２には本実施形態の管理サーバ１００のハードウェア構成例を示す図である。
【００４２】
この管理サーバ１００は、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）やハードディスクドライブなど適宜な不揮発性記憶素子で構成される記憶装置１０１、ＲＡＭなど揮発性記憶素子で構成されるメモリ１０３、記憶装置１０１に保持されるプログラム１０２をメモリ１０３に読み出すなどして実行し装置自体の統括制御を行なうとともに各種判定、演算及び制御処理を行なうＣＰＵなどの演算装置１０４、ネットワーク１０と接続し他装置との通信処理を担う通信装置１０５、を少なくとも備える。
【００４３】
なお、記憶装置１０１内には、本実施形態のセンサネットワーク管理システムを構成する装置として必要な機能を実装する為のプログラム１０２に加え、アプリ属性表１２５、物理センサ属性表１２６、抽出処理管理表１２７、組み合わせ候補表１２８、処理チェーン表１２９、選択ポリシー表１３０、および、ソースコードリポジトリ１４０、が少なくとも記憶されている。これらのデータ構成等については後述する。
−−−データ例−−−
【００４４】
図３に、本実施形態におけるアプリ属性表１２５の一例を示す。このアプリ属性表１２５は、物理センサ２０のセンシングデータそのものやそうしたセンシングデータに対する抽出処理による出力データ、を利用するアプリケーション３０の要件に関するメタデータを管理するテーブルである。
【００４５】
本実施形態のアプリ属性表１２５は、アプリケーション３０の識別情報を格納する「アプリＩＤ」欄２０１と、当該アプリケーション３０が必要とするセンシングデータの種別情報を格納する「データ種別」欄２０２と、当該アプリケーション３０が必要とするセンシングデータの正確さに関する情報を格納する「精度」欄２０３と、当該アプリケーション３０が必要とするセンシングデータの料金上限に関する情報を格納する「コスト」欄２０４と、当該アプリケーション３０が必要とするセンシングデータについて正常にデータ提供が行われていた時間とデータ提供を期待されていた時間の比率の上限に関する情報を格納する「可動率」欄と、当該アプリケーション３０が必要とするセンシングデータが提供される時間間隔に関する情報を格納する「データ取得間隔」欄２０６と、当該アプリケーション３０が必要とするセンシングデータを提供可能な、データソース（主に物理センサ２０）、抽出処理、およびエンドポイント処理の組み合わせである処理チェーンの識別情報を格納する処理チェーンＩＤ欄２０７と、当該処理チェーンのエンドポイントの識別情報を格納するエンドポイントＩＤ欄２０８と、から構成される。
【００４６】
ここで、上述の「データ種別」欄２０２に格納される値は、例えば、温度、音声、画像、位置情報といった物理センサ２０によるセンシングデータの種別の識別子である。
【００４７】
図３で例示したアプリ属性表１２５において、例えば行２１０のアプリケーション要件は、アプリＩＤ「Ａｐｐ−＃１」なるアプリケーション３０に関して、データ種別「Ｔｙｐｅ−＃１」のセンシングデータに関して精度「誤差半径１０ｍ以下」を要求し、また、
データ利用料金上限としてコスト「０．５円／分」の条件下で、可動率「ａｎｙ」における、データ取得間隔「１分」でのデータ提供を要求している。なお、処理チェーンＩＤとエンドポイントＩＤについては、要件に合う処理チェーンが特定されるまでは値なしを表す「−」が設定されている。
【００４８】
図４は、本実施形態における物理センサ属性表１２６の一例である。例示する物理センサ属性表１２６は、上述のＩｏＴハブサーバ３００に接続されている物理センサ２０のメタデータを管理するテーブルである。
【００４９】
本実施形態の物理センサ属性表１２６は、各物理センサ２０の識別子を格納する「デバイスＩＤ」欄３０１、当該物理センサ２０の設置場所の情報を格納する「設置位置」欄３０２、当該物理センサ２０によるセンシングデータの種別情報を格納する「データ種別」欄３０３、当該物理センサ２０がセンシングデータをＩｏＴハブサーバ３００に送信する時間間隔値を格納する「データ取得間隔」欄３０４、当該物理センサ２０によるセンシングデータの精度情報を格納する「精度」欄３０５〜３０７、センシングデータの利用単価情報を格納する「コスト」欄３０８、当該物理センサ２０の稼働率情報を格納する「稼働率」欄３０８、当該物理センサ２０の稼働状況の値を格納する「稼働状況」欄３１０、により構成される。
【００５０】
なお、上述の「データ種別」欄３０３は、例えば温度、音声、画像、位置情報といった当該物理センサ２０によるセンシングデータの種別の識別子を格納している。また、「精度」欄３０５〜３０７については、当該物理センサ２０によるセンシングデータの種類（"精度１"〜"精度Ｎ"）に応じた種類の精度を格納する。
【００５１】
こうした物理センサ属性表１２６において、例えば、行３１２が表す物理センサ２０は、デバイスＩＤ「Ｄｅｖ−＃２」を保持し、その設置位置は緯度経度情報「３５．３９９０５７，  １３９．５３２５８」であり、また、センシングデータのデータ種別は「Ｔｙｐｅ−＃３」であり、そのデータ取得間隔は「１０秒」で、センシングデータの精度は距離に関して「誤差半径５ｍ以下」、画像の精細さに関して「解像度２００ｄｐｉ」であり、また、センシングデータの利用コストは「０．０５円／分」で、稼働率は「１００％」、また、稼働状況は「ＯＮ」となっている。
【００５２】
図５は、本実施形態における抽出処理管理表１２７の一例である。この抽出処理管理表１２７は、ソースコードリポジトリ１４０内に保存されている、センシングデータの抽出（上述した"データ抽出"）を行うプログラムのメタデータを管理するテーブルである。  本実施形態の抽出処理管理表１２７は、抽出処理を一意に識別する識別子を格納する「抽出処理プログラムＩＤ」欄４０１、当該抽出処理の種別情報を格納する「処理名」欄４０２、当該抽出処理に必要な入力データの種別数を格納する「入力データ種数」欄４０３、当該入力データの種別情報を格納する「入力データ種別」欄４０４〜４０７、当該抽出処理における出力データ種別の情報を格納する「出力データ種別」欄４０８、および、当該出力データの精度情報を格納する「精度」欄４０９により構成される。
【００５３】
図５の抽出処理管理表１２７において、例えば行４１６が表す抽出処理は、抽出処理プログラムＩＤ「抽出処理−＃Ｆ」を保持し、その種別は処理名「ＣＣ合成」であり、取り扱う入力データ種の数は「２」で、その入力データの種別は入力１「Ｔｙｐｅ−＃７」と入力２「Ｔｙｐｅ−＃９」であって、出力データ種別は「Ｔｙｐｅ−＃１」で、また、その精度は「誤差半１ｍ以下」となっている。
【００５４】
図６は、本実施形態における組み合わせ候補表１２８の一例である。この組み合わせ候補表１２８は、管理サーバ１００における組み合わせ抽出処理部１１２の出力であり、ア
プリケーション３０が要求するデータの提供を可能とするセンシング手段の一覧を管理するテーブルである。
【００５５】
本実施形態の組み合わせ候補表１２８は、データソース、抽出処理、および、エンドポイントが一連となって組み合わされたセンシング手段たる、処理チェーンの識別子を格納する「処理チェーンＩＤ」欄５０１と、当該処理チェーンから出力されるデータの精度情報を格納する「精度」欄５０２と、当該処理チェーンから出力されるデータの料金情報を格納する「コスト」欄５０３と、当該処理チェーンの稼働率の情報を格納する「稼働率」欄５０４、および、当該処理チェーンのデータ出力間隔の情報を格納する「データ取得間隔」欄５０５から構成される。
【００５６】
図６の組み合わせ候補表１２８において、例えば行５０５の処理チェーンは、処理チェーンＩＤが「処理チェーンＩＤ＃１」（図７Ａの処理チェーン表１２９）で識別される処理チェーンであり、その出力データの精度は「誤差半径５ｍ以下」で、コストは「０．０７円／分」、また、稼働率は「９０％」となっている。
【００５７】
なお、上述の精度「誤差半径５ｍ以下」は、図７Ａの処理チェーン表１２９に含まれるセンサ「Ｄｅｖ−＃１」および抽出処理「抽出処理−＃Ａ」、「抽出処理−＃Ｂ」、「抽出処理−＃Ｃ」、のうち、最も精度の低い値である「誤差半径５ｍ以下」を管理サーバ１００が特定した値である。また、コスト「０．０７円／分」は、同様に管理サーバ１００が、センサ「Ｄｅｖ−＃１」のコストと、抽出処理「抽出処理−＃Ａ」、「抽出処理−＃Ｂ」、「抽出処理−＃Ｃ」それぞれの入力に用いる「Ｔｙｐｅ−＃２」、「Ｔｙｐｅ−＃３」、「Ｔｙｐｅ−＃７」、の各コストとを、物理センサ属性表１２６のコスト欄３０８にて特定し、これらを合算した値である。また、稼働率「９０％」は、管理サーバ１００が、センサ「Ｄｅｖ−＃１」の稼働率、抽出処理「抽出処理−＃Ａ」、「抽出処理−＃Ｂ」、「抽出処理−＃Ｃ」それぞれの入力に用いる「Ｔｙｐｅ−＃２」、「Ｔｙｐｅ−＃３」、「Ｔｙｐｅ−＃７」、の各稼働率とを、物理センサ属性表１２６の稼働率欄３０９にて特定し、これらを乗算した値である。
なお、上述の各種メタデータは、他の情報処理システムから取得したものであってもよい。
【００５８】
図７Ａ〜図７Ｄは、本実施形態における処理チェーン表１２９の一例である。この処理チェーン表１２９は、上述の処理チェーンを構成する、一連の物理センサ２０、抽出処理、およびエンドポイントと、それらの各間におけるデータの入出力関係を規定するテーブルである。
【００５９】
こうした処理チェーン表１２９は、当該処理チェーンを構成する物理センサ２０もしくは抽出処理の情報を格納する「入力」欄６０１と、当該入力欄６０１の物理センサ２０のセンシングデータないし抽出処理の出力データの出力先となる抽出処理もしくはエンドポイント処理の情報を格納する「出力」欄６０４とから構成されている。
【００６０】
例えば、図７Ａの処理チェーン表１２９において、行６０３は、物理センサ２０「Ｄｅｖ−＃１」を起点とする処理チェーンであり、この物理センサ２０「Ｄｅｖ−＃１」のセンシングデータの出力先が「抽出処理−＃Ａ」であることを示している。また同様に、行６０４は、「抽出処理−＃Ａ」から出力されたセンシングデータが、出力先の「抽出処理−＃Ｂ」に入力されることを示している。また同様に、行６０５は、「抽出処理−＃Ｂ」から出力されたセンシングデータが、出力先の「抽出処理−＃Ｃ」に入力されることを示している。また同様に、行６０６は、「抽出処理−＃Ｃ」から出力されたセンシングデータが、出力先の「エンドポイント処理Ａ」に入力されることを示している。
【００６１】
このように、図７Ａの処理チェーン表１２９は、全体として、「Ｄｅｖ−＃１⇒抽出処理−＃Ａ⇒抽出処理−＃Ｂ⇒抽出処理−＃Ｃ⇒エンドポイント処理Ａ」の一連の流れでデータが処理されていく処理チェーンを表している。
−−−フロー例１−−−
【００６２】
以下、本実施形態におけるセンサネットワーク管理方法の実際手順について図に基づき説明する。以下で説明するセンサネットワーク管理方法に対応する各種動作は、センサネットワーク管理システム１を主として構成する管理サーバ１００がメモリ等に読み出して実行するプログラムによって実現される。そして、このプログラムは、以下に説明される各種の動作を行うためのコードから構成されている。
【００６３】
図８は、本実施形態におけるセンサネットワーク管理方法のフロー例１を示す図であり、具体的には、管理サーバ１００のマッチング処理部１１２におけるフローチャートの一例である。
【００６４】
この場合、管理サーバ１００のマッチング処理部１１２は、センシングデータを必要とするアプリケーションと、上述のアプリケーションの要件を満たすセンシングデータを提供できるセンシング手段との組み合わせを選択する。また、マッチング処理部１１２は、入出力処理部１２１を通して、上述のアプリケーションのユーザからアプリケーションの要件が入力された場合に実行される。
【００６５】
ここで、マッチング処理部１１２は、入出処理部１１１を介してユーザ等により生成された、アプリ属性表１２５、物理センサ属性表１２６、および、抽出処理管理表１２７の３種類の表を記憶装置１０１から読み出し、これらを入力として組み合わせ抽出処理部１１２１を呼び出し、組み合わせ候補表１２８を作成する（７０１）。この組み合わせ抽出処理部１１２１におけるフロー（図９）については後述する。
【００６６】
次に、管理サーバ１００は、上述のステップ７０１で生成された組み合わせ候補表１２８を入力として、組み合わせ選択処理部１１２２を呼び出し、組み合わせ候補表１２８のうち１行を、組み合わせ候補たるセンシング手段として選択する（７０２）。このステップ７０２の詳細については図１０に基づき後述する。
【００６７】
続いて、管理サーバ１００は、上述のステップ７０２において選択した組み合わせ候補の処理チェーンＩＤ（例：「処理チェーンＩＤ＃３」）を、アプリ属性表１２５における該当アプリケーションのレコード中の処理チェーンＩＤ欄２０７に登録する（７０３）。
以上のフローによって、アプリケーションと、その要件を満たすセンシング手段との組合せが決定される。
−−−フロー例２−−−
【００６８】
図９は、本実施形態におけるセンサネットワーク管理方法のフロー例２を示す図であり、具体的には、上述のフロー例１における組み合わせ抽出処理部１１２１における処理のフロー例である。
【００６９】
このフローは、組み合わせ抽出処理部１１２１が、センシングデータを必要とするアプリケーションと、上述のアプリケーションの要件を満たすセンシングデータを提供できるセンシング手段との組み合わせをリストアップする処理に対応するものである。なお、組み合わせ抽出処理部１１２１においては、エンドポイント処理を抽出処理の一つとして扱う。
【００７０】
この場合、組み合わせ抽出処理部１１２１は、「所望データ種別」を設定する（８０１
）。本処理は再帰的に複数回呼び出される。本処理を最初に実行する際には、アプリ属性表１２５のデータ種別において指定されているデータ種別をエンドポイント処理への入力として扱い、上述のデータ種別を所望データ種別とする。２回目以降の呼び出しでは、指定された抽出処理への入力を所望データ種別とする。
【００７１】
例えば、当該ステップ８０１における組み合わせ抽出処理部１１２１は、アプリ属性表１２５における行２１０のデータ種別欄２０２を参照して所望データ種別を「Ｔｙｐｅ−＃１」とする。
【００７２】
続いて、組み合わせ抽出処理部１１２１は、物理センサ属性表１２６のデータ種別列を参照して、所望データ種別を出力する物理センサをリストアップする（８０２）。
【００７３】
この処理に際し、一つ以上の物理センサ２０が見つかった場合（８０２：ＹＥＳ）、組み合わせ抽出処理部１１２１は、当該物理センサ２０を当入力の候補リストに登録する（８０３）。他方、上述の処理に際し、物理センサ２０が見つからなかった場合（８０２：ＮＯ）、組み合わせ抽出処理部１１２は、ステップ８０３をスキップする。
【００７４】
上述の例の場合、組み合わせ抽出処理部１１２１は、このステップ８０２において、物理センサ属性表１２６を参照すると、出力のデータ種別が「Ｔｙｐｅ−＃１」と一致する物理センサ２０は存在しないため、ステップ８０３をスキップすることになる。
【００７５】
続いて、組み合わせ抽出処理部１１２１は、抽出処理管理表１２７を参照し、所望データ種別のデータを出力する抽出処理を表す各行に対して、以下のステップ８０８までの処理を実行する（８０４）。
【００７６】
上述の例の場合、抽出処理管理表１２７に含まれる処理の中で出力が「Ｔｙｐｅ−＃１」と一致するのは、行４１３、行４１５、行４１６、行４１８の４つの処理のみであるため、組み合わせ抽出処理部１１２１は、この４行の各行に対してステップ８０８までの処理を繰り返し実行することになる。
【００７７】
このうちステップ８０５において、組み合わせ抽出処理部１１２１は、検索済みリストを参照し、ステップ８０４で指定された抽出処理に対して、既に検索を終えている場合はステップ８０８に進む。上述の例の場合、検索済みリストは空であるので、ステップ８０６に進むことになる。また、行４１３、行４１５、行４１６、行４１８の４つの処理のそれぞれについて、ステップ８０６において再帰的に組み合わせ抽出処理部１１２１が呼び出されることになる。
【００７８】
他方、ステップ８０４で指定された抽出処理に対して、既に検索を終えていない場合、組み合わせ抽出処理部１１２1は、ステップ８０６において、当該抽出処理を検索済みリ
ストに追加する。さらに、当該抽出処理に対して再帰的に本組み合わせ抽出処理部１１２１を呼び出す。上述の処理が終了した場合、組み合わせ抽出処理部１１２１は、検索済みリストから当該抽出処理を削除する。
また、ステップ８０７において、組み合わせ抽出処理部１１２１は、呼び出し結果を当入力の候補リストに追加する。
【００７９】
また、上述のルーチン８０４〜８０８の終了後、ステップ８０９において、組み合わせ抽出処理部１１２１は、すべての入力に候補があるかどうかを判定する。この判定の結果、一つでも入力に候補がないものが存在した場合（８０９：ＮＯ）、組み合わせ抽出処理部１１２１は、ステップ８１０において、候補なしを返す。
【００８０】
他方、上述の判定の結果、すべての入力に対して候補があった場合（８０９：ＹＥＳ）、組み合わせ抽出処理部１１２１は、ステップ８１１において、各入力の候補リストの組み合わせに対する処理チェーン表１２９を作成し、結果リストに登録する。
【００８１】
次に、ステップ８１２において、組み合わせ抽出処理部１１２１は、本抽出処理がエンドポイント処理に対するものであるかどうか判定する。この判定の結果、本抽出処理がエンドポイント処理に対するものである場合（８１２：ＹＥＳ）、組み合わせ抽出処理部１１２１は、ステップ８１３において、結果リストの内容を組み合わせ候補表１２８として記録する。また、組み合わせ抽出処理部１１２１は、組み合わせ候補表１２８の精度、コストなどの欄の値を各エントリの処理チェーン表１２９から求めて登録する。
【００８２】
続いて、組み合わせ抽出処理部１１２１は、ステップ８１３において、結果リストの各行に対して処理チェーンＩＤを振り、それぞれの行に対して、物理センサ属性表１２６および抽出処理管理表１２７を参照しながら、精度、コスト、稼働率を求めて登録する。
【００８３】
なお、精度欄には、処理チェーン表１２９に含まれるセンサおよび抽出処理について、物理センサ属性表１２６の精度欄３０７および抽出処理管理表１２７の精度欄４０９を参照しながら、最も精度の低い値を登録する。
また、コスト欄には、処理チェーン表１２９に含まれるセンサについて、物理センサ属性表１２６のコスト欄３０８を参照しながら、料金の和を登録する。
また、稼働率欄には、処理チェーン表１２９に含まれるセンサについて、物理センサ属性表１２６の稼働率欄３０９を参照しながら、稼働率の積を登録する。
【００８４】
一方、上述の判定の結果、本抽出処理がエンドポイント処理に対するものでない場合（８１２：ＮＯ）、組み合わせ抽出処理部１１２１は、ステップ８１４において、結果リストを返して当該フローを終了する。
【００８５】
ここで、上述のフローに関して更なる具体例を示す。ここでは、上述のステップ８０４での処理対象として、抽出処理管理表１２７の行４１３の「抽出処理−＃Ｃ」に対して呼び出された組み合わせ抽出処理部１１２１の動作について説明する。便宜上、本組み合わせ抽出処理を抽出処理４１３とする。
【００８６】
この場合、組み合わせ抽出処理部１１２１は、ステップ８０１において、所望データ種別を「Ｔｙｐｅ−＃７」とする。また、組み合わせ抽出処理部１１２１は、ステップ８０２において、「Ｔｙｐｅ−＃７」のデータを出力するセンサは存在しないと判定する。
【００８７】
また、組み合わせ抽出処理部１１２１は、ステップ８０４において、再び抽出処理管理表１２７を参照し、「Ｔｙｐｅ−＃７」のデータを出力する抽出処理は行４１２のみであることを特定する。
【００８８】
続いて、組み合わせ抽出処理部１１２１は、ステップ８０５において、検索済みリストには行４１３のみが記載されており、行４１２は含まれていないと特定する。
【００８９】
また、管理サーバ１００は、ステップ８０６において、上述の行４１２を対象として組み合わせ抽出処理部１１２１を再度呼び出す。便宜上、ここで呼び出される組み合わせ抽出処理部を抽出処理４１２とする。抽出処理４１２の中では、同様に行４１１を対象として再度組み合わせ抽出処理部１１２１を呼び出す。便宜上、ここで呼び出される組み合わせ抽出処理部を抽出処理４１１とする。この抽出処理４１１においては、ステップ８０１において、所望データ種別を「Ｔｙｐｅ−＃２」とする。
【００９０】
ステップ８０２において、「Ｔｙｐｅ−＃２」のデータを出力するセンサは行３１１が存在することがわかる。そこでステップ８０３において、組み合わせ抽出処理部１１２１は、行４１１の入力候補リストに行３１１を登録する。
【００９１】
また、組み合わせ抽出処理部１１２１は、ステップ８０４において、再び抽出処理管理表１２７を参照し、「Ｔｙｐｅ−＃２」のデータを出力する処理が存在しないことがわかるため、ステップ８０９に進む。
【００９２】
また、組み合わせ抽出処理部１１２１は、ステップ８０９において、行４１１に対する入力の候補は、ステップ８０３において入力候補リストに行３１１が登録されていることがわかるため、ステップ８１１に進む。
【００９３】
また、組み合わせ抽出処理部１１２１は、ステップ８１１においては、行４１１に対する入力データ種数は１であるため、候補リストの組み合わせに対する中身が空の処理チェーン表１２９を一つ作成する。さらに、組み合わせ抽出処理部１１２１は、データ種別「Ｔｙｐｅ−＃２」のデータを出力する「センサＤｅｖ−＃１」を入力欄６０１に、データ種別「Ｔｙｐｅ−＃２」のデータを入力されるとデータ種別「Ｔｙｐｅ−＃３」のデータを出力する「抽出処理−＃Ａ」を出力欄６０２に保持する行６０３が生成される。
また、組み合わせ抽出処理部１１２１は、処理チェーン表１２９に対して、行６０３を追加し、結果リストに登録する。
【００９４】
また、組み合わせ抽出処理部１１２１は、ステップ８１２において、本抽出処理への入力は行４１１でありエンドポイントではないため、ステップ８１４に進む。
【００９５】
また、組み合わせ抽出処理部１１２１は、ステップ８１４においては、行６０５が登録された結果リストを返して抽出処理４１１を終了し、ここで抽出処理４１２のステップ８０６に戻る。続けて抽出処理４１２を検索済みリストから削除する。
【００９６】
また、組み合わせ抽出処理部１１２１は、ステップ８０７において、ステップ８０６で得られた抽出処理４１１の結果である行６０３のみを保持する処理チェーン表１２９を、処理４１２に対する入力候補リストに追加する。
【００９７】
また、組み合わせ抽出処理部１１２１は、ステップ８０８において、抽出処理４１２におけるステップ８０４から始まるループが終了する。ステップ８０９においては、行４１２に対する入力候補リストには抽出処理４１１の結果のみが格納されている。
【００９８】
続いて、組み合わせ抽出処理部１１２１は、ステップ８１１において、データ種別「Ｔｙｐｅ−＃３」のデータを出力する「抽出処理−＃Ａ」を入力欄６０１に、データ種別「Ｔｙｐｅ−＃３」のデータを入力されるとデータ種別「Ｔｙｐｅ−＃７」のデータを出力する「抽出処理−＃Ｂ」を出力欄６０２に保持する行６０４が生成されるので、生成された行６０７を結果リストに追加する。以降、組み合わせ抽出処理部１１２１は、抽出処理４１１と同様に、行６０４が追加された結果リストを返し、抽出処理４１３のステップ８０６に戻る。抽出処理４１３のステップ８０６以降も、抽出処理４１２、４１１と同様に処理され、データ種別「Ｔｙｐｅ−＃７」のデータを出力する「抽出処理−＃Ｂ」を入力欄６０１に、データ種別「Ｔｙｐｅ−＃３」のデータを入力されるとデータ種別「Ｔｙｐｅ−＃７」のデータを出力する「抽出処理−＃Ｃ」を出力欄６０２に保持する行６０５が生成されるので、行６０５が追加された結果リストを返し、ステップ８０６に戻る。ここまでの処理で、行６０６を除いた処理チェーン表１２９が生成されている。
【００９９】
ステップ８０６において、組み合わせ抽出処理部１１２１は、抽出処理４１３と同様に
して、行４１５を対象とした組み合わせ抽出処理部１１２１（抽出処理４１５）、行４１６を対象とした組み合わせ抽出処理部１１２１（抽出処理４１６）、行４１８を対象とした組み合わせ抽出処理部１１２１（抽出処理４１８）を実行する。
【０１００】
抽出処理４１５の結果として行６１５を除いた処理チェーン表１２９（図７Ｂ）、抽出処理４１６の結果として行６２２を除いた処理チェーン表１２９（図７Ｃ）、抽出処理４１８の結果として行６２６を除いた処理チェーン表１２９（図７Ｄ）が生成される。
【０１０１】
各抽出処理のステップ８０７においてそれぞれの結果が入力の候補リストに登録される。ステップ８０９において、エンドポイント処理への入力候補リストは、行６０６を除いた処理チェーン表１２９、行６１５を除いた処理チェーン表１２９、行６２２を除いた処理チェーン表１２９、行６２６を除いた処理チェーン表１２９の４つの表となる。
【０１０２】
ステップ８１１において、エンドポイント処理への入力は「Ｔｙｐｅ−＃１」のデータ一種類だけであるため、入力の組み合わせは入力候補リストの要素４つだけである。組み合わせ抽出処理部１１２１は、当該入力候補リスト内の組み合わせに対して、エンドポイントへの入力に関する情報を加える。
【０１０３】
組み合わせ抽出処理部１１２１は、行６０９を除いた処理チェーン表１２９に対して、データ種別「Ｔｙｐｅ−＃１」のデータを出力する「抽出処理−＃Ｃ」を入力欄６０１に、データ種別「Ｔｙｐｅ−＃１」のデータを入力にもつ「エンドポイント処理Ａ」を出力欄６０２に保持する行６０６を追加し、処理チェーン表１２９を完成させる。
【０１０４】
組み合わせ抽出処理部１１２１は、同様の処理を、行６１５を除いた処理チェーン表１２９、行６２２を除いた処理チェーン表１２９、行６２６を除いた処理チェーン表１２９に対しても行い、それぞれの結果として、図７Ａ〜図７Ｃにおける各処理チェーン表１２９が完成する。
【０１０５】
また、ステップ８１１の結果として、結果リストには、図７Ａ〜図７Ｄにおける各処理チェーン表１２９の４つが登録される。組み合わせ抽出処理部１１２１は、ステップ８１２において、上述の各抽出処理はエンドポイントを出力とした組み合わせ抽出処理であるため、ステップ８１３に進む。
【０１０６】
また、組み合わせ抽出処理部１１２１は、ステップ８１３において、結果リストの各行に対して処理チェーンＩＤを振り、それぞれの行に対して、物理センサ属性表１２６および抽出処理管理表１２７を参照しながら、精度、コスト、稼働率を求めて登録する。
【０１０７】
組み合わせ候補表１２８の行５０５は次のように生成される。組み合わせ抽出処理部１１２１は、処理チェーン表１２９（図７Ａ）に対して処理チェーンＩＤとして「処理チェーンＩＤ＃１」を振る。また組み合わせ抽出処理部１１２１は、精度欄に、処理チェーン表１２９に含まれるセンサおよび抽出処理のうち、最も精度の低い値である「誤差半径５ｍ以下」を登録する。また組み合わせ抽出処理部１１２１は、コスト欄に、物理センサ属性表１２６のコスト欄を参照しながら、行３１４および行３１５のコスト欄３０８に記載された料金の和である「０．０７円／分」を登録する。また組み合わせ抽出処理部１１２１は、稼働率欄に、処理チェーン表１２９に含まれるセンサの稼働率の積である「９０％」を登録する。以上により、上述の抽出処理の結果として、組み合わせ候補表１２８が生成される。
【０１０８】
ここで選択ポリシー表１３０の例を図１０に示す。この選択ポリシー表１３０は、組み合わせ選択処理部１１２２において、複数の組み合わせ候補の中から優先する候補を選択
するために利用される。
【０１０９】
本実施形態における選択ポリシー表１３０は、複数の指標間（テーブルの各行）での優先関係の値を格納する「優先度」欄９０１と、候補を選択するための指標を格納する「指標」欄９０２と、当該指標がどのようになると優先度が高いのかを示す情報を格納する「方向性」欄９０３と、から構成されている。
【０１１０】
なお、上述の指標欄９０２は、例えばセンシング手段を提供するためのコスト、センシング手段が提供するセンシングデータの精度、センシング手段を提供するためにデータ提供サーバ２００データ提供サーバ２００上に新たに構築する必要がある抽出処理数の数、データ提供サーバ２００で必要となるＣＰＵ等の資源量、システムの運用管理者のオペレーションコストなどの数値を表している。
【０１１１】
例えば、選択ポリシー表１３０の行９０６は優先度として「２」を保持している。そのため、優先度「１」の指標によって出力する候補が決定されなかった場合にのみ参照される。また、行９０６は指標として「抽出処理数」を、方向性として「最小化」を保持しているため、センシング手段をデータ提供サーバ２００上に新たに構築する必要がある抽出処理数が小さくなる候補をより優先度が高い候補として取り扱う。
−−−フロー例３−−−
【０１１２】
図１１は、本実施形態におけるセンサネットワーク管理方法のフロー例３を示す図であり、具体的には組み合わせ選択処理部１１２２におけるフローチャートの一例である。
【０１１３】
この場合、組み合わせ選択処理部１１２２による処理は、上述の組み合わせ抽出処理部１１２１によって生成された組み合わせ候補表１２８から、センシング手段候補を選び出す処理となる。組み合わせ選択処理部１１２２は、マッチング処理部１１２によって、組み合わせ抽出処理部１１２１に続いて呼び出される。
【０１１４】
このフローにおける組み合わせ選択処理部１１２２は、まず、ステップ１００１において、組み合わせ候補表１２８に含まれている各行に対して、以下のステップ１００４までの各処理を繰り返す。
【０１１５】
このうちステップ１００２においては、組み合わせ選択処理部１１２２は、ステップ１００１で指定された行が表す組み合わせ候補が、アプリ属性表１２５のデータ取得間隔２０３、精度２０４、コスト２０５、稼働率２０６で指定されているアプリケーションの要件を満たすかどうか判定する。
【０１１６】
上述の判定の結果、当該組み合わせ候補がアプリケーションの要件を満たす場合（１００２：ＹＥＳ）、組み合わせ選択処理部１１２２は、ステップ１００３において、当該組み合わせ候補を最終候補リストに追加する。
【０１１７】
他方、当該組み合わせ候補がアプリケーションの要件を満たさない場合（１００２：ＮＯ）、組み合わせ選択処理部１１２２は、ステップ１００３をスキップする。
続いて、組み合わせ選択処理部１１２２は、ステップ１００４において、ステップ１００１から始まる繰り返し処理を終了する。
【０１１８】
その後、ステップ１００５において、組み合わせ選択処理部１１２２は、最終候補リストが空かどうか判定する。この判定の結果、最終候補リストが空である場合（１００５：ＹＥＳ）、組み合わせ選択処理部１１２２は、ステップ１００６において、アプリケーションの要件を満たす候補が存在しない旨をユーザに通知し本処理を終了する。
【０１１９】
他方、ステップ１００５における判定の結果、最終候補リストが空でない場合（１００５：ＮＯ）、組み合わせ選択処理部１１２２は、テップ１００７において選択ポリシー表１３０の優先度を参照して、望ましい候補が表の上部に出現するよう、組み合わせ候補表１２８の各行のソートを行う。
最後に、組み合わせ選択処理部１１２２は、ステップ１００８において、表の一番上にある候補を出力する。
【０１２０】
上述のフローに伴う、より具体的な例を説明する。この場合、組み合わせ選択処理部１１２２は、ステップ１００１において、組み合わせ候補表１２８の各行に対してステップ１００４までの処理を実行する。また、組み合わせ選択処理部１１２２は、ステップ１００２により、各行の項目がアプリケーションの要件を満たすかどうかを判定する。なお、以下では説明を簡易にするために組み合わせ候補票１２８のすべての項目が条件を満たす場合を例にあげて説明をする。
【０１２１】
図６で例示した組み合わせ候補表１２８の行５０５、５０６、５０７は、すべての項目が条件を満たすため、組み合わせ選択処理部１１２２は、ステップ１００３において最終候補リストに追加する。また、行５０８はコスト欄５０３に「０．５円／分」が登録されており、アプリ属性表１２５のコスト欄２０４で指定されたコスト「０．１円／分以下」を満たさないため、組み合わせ選択処理部１１２２は、ステップ１００３をスキップしてステップ１００４に進む。
続いて、組み合わせ選択処理部１１２２は、ステップ１００４において、ステップ１００２から始まった繰り返し処理を終了する。
【０１２２】
また、組み合わせ選択処理部１１２２は、ステップ１００５において、最終候補リストが空ではないためステップ１００７に進む。また、ステップ１００７で、組み合わせ選択処理部１１２２は、選択ポリシー表１３０を参照して各行のソートを行う。
【０１２３】
選択ポリシー表１３０の行９０５より、優先度が最も高い指標はコストかつ方向性は最小化であるため、組み合わせ選択処理部１１２２は、最終候補表に登録されている行５０５、７０６、７０７の中では、コストが「０．０２円／分」である行５０７が最終候補表の一番上に来るようにソートされる。
【０１２４】
また、組み合わせ選択処理部１１２２は、ステップ１００８にて、最終候補表の一番上にある行５０７を候補として出力する。以上によって、行５０７が選択処理の結果となる。
−−−フロー例４−−−
【０１２５】
図１２は、本実施形態におけるセンサネットワーク管理方法のフロー例４を示す図であり、具体的には、基盤制御処理部１１３におけるフローチャートの一例である。
【０１２６】
この場合、基盤制御処理部１１３における処理は、マッチング処理部１１２によって特定されるセンシング手段をデータ提供サーバ２００上に構築接続し、このセンシング手段による出力データをアプリケーションが利用できるようにする処理である。こうした基盤制御処理部１１３は、マッチング処理部１１２に続いて管理サーバ１００に呼び出される。
【０１２７】
この場合、基盤制御処理部１１３は、ステップ１１０１において、構築接続処理部１１３１を実行し、入力された組み合わせ候補表１２８から特定される抽出処理とエンドポイントの構築接続処理を行う。
【０１２８】
また、構築接続処理部１１３１は、ステップ１１０２においては、アプリケーションからデータにアクセスするためのエンドポイントをデータ提供サーバ２００上に構築する。
また、構築接続処理部１１３１は、ステップ１１０３においては、エンドポイントのエンドポイントＩＤをアプリ属性表１２５の中で、現在注目しているアプリケーションを表す行のエンドポイントＩＤ欄２０８に設定し、処理を終了する。
上述のフローにおける構築接続処理部１１３１の動作例として、組み合わせ候補表１２８の行５０７が入力された場合について説明する。
【０１２９】
この場合、ステップ１１０１において、管理サーバ１００は、マッチング処理部１１２に続いて構築接続処理部１１３１を呼び出す。この構築接続処理部１１３１によるステップ１１０１での詳細な動作例は図１３で説明する。
【０１３０】
続いて、構築接続処理部１１３１は、ステップ１１０２において、ステップ１１０１においてデータ提供サーバ２００上に構築接続されたセンシング手段に、アプリケーションからアクセスできるようにする。アプリケーションからｗｅｂ経由でアクセスが行われる場合、センシング手段に一意なＵＲＬを設定し、当該ＵＲＬにリクエストが来た場合にセンシングデータを返送する処理をデータ提供サーバ２００上に構築する。
【０１３１】
続いて、構築接続処理部１１３１は、ステップ１１０３において、上述のステップ１１０２において構築されたエンドポイントに一意な識別子を設定し、アプリ属性表１２５のエンドポイントＩＤ欄２０８に登録する。ステップ１１０２においてエンドポイントに対して一意なＵＲＬを設定した場合は、当該ＵＲＬをエンドポイントＩＤとみなすことができる。以上により、アプリケーションから所望のセンシングデータにアクセスすることが可能となる。
−−−フロー例５−−−
図１３は、本実施形態におけるセンサネットワーク管理方法のフロー例５を示す図であり、具体的には構築接続処理部１１３１のフローチャートの一例である。
【０１３２】
構築接続処理部１１３１における処理は、マッチング処理部１１２によって特定されるセンシング手段をデータ提供サーバ２００上に構築、接続するための処理である。構築接続処理部１１３１は、マッチング処理部１１２に続く基盤制御処理部１１３の最初の処理として管理サーバ１００から呼び出される。
【０１３３】
この場合、構築接続処理部１１３１は、ステップ１２０１において、処理チェーン表１２９の入力欄と出力欄に現れる各抽出処理に対して、ステップ１２０４までの処理を繰り返し実行する。
【０１３４】
このうちステップ１２０２において、構築接続処理部１１３１は、ステップ１２０１において指定された抽出処理がデータ提供サーバ２００上に構築済みであるかどうかを判定する。この判定の結果、構築済みである場合（１２０２：ＹＥＳ）、構築接続処理部１１３１は、ステップ１２０３をスキップする。
【０１３５】
他方、上述の判定の結果、構築済みでない場合（１２０２：ＮＯ）、構築接続処理部１１３１は、ステップ１２０３において、抽出処理管理表１２７にて、構築する抽出処理のプログラムの抽出処理プログラムＩＤを参照し、これをキーにソースコードリポジトリ１４０にて該当ソースコードを特定し、当該ソースコードをデータ提供サーバ２００上にコンパイルするなど適宜な実装処理を行う。なお、ステップ１２０４は、ステップ１２０１から始まった繰り返し処理の終端を表す。
次に、ステップ１２０５において、構築接続処理部１１３１は、処理チェーン表１２９
の各行に対してステップ１２０７までの処理を繰り返し実行する。
【０１３６】
このうちステップ１２０６において、構築接続処理部１１３１は、入力欄に指定されたデータソースもしくは抽出処理の出力を、出力欄に指定されている抽出処理もしくはエンドポイント処理の入力に設定する。なお、ステップ１２０７は、ステップ１２０５から始まった繰り返し処理の終端を表す。
【０１３７】
上述のフローにおける構築接続処理部１１３１の具体的な動作例を如何に説明する。ここでは、マッチング処理部の結果である組み合わせ候補として、組み合わせ候補表１２８の行５０７が入力された場合を説明する。
【０１３８】
この場合、構築接続処理部１１３１は、ステップ１２０１において、行５０７の処理チェーンＩＤ欄５０１に登録されている処理チェーンＩＤ「処理チェーン＃３」から辿ることができる、図７Ｃの処理チェーン表１２９を参照し、当該処理チェーン中に現れる「抽出処理−＃Ｂ」、「抽出処理−＃Ｆ」、「抽出処理−＃Ｇ」のそれぞれに対してステップ１２０２とステップ１２０３の処理を行う。
【０１３９】
「抽出処理−＃Ｂ」に関して実行される処理では、ステップ１２０２において、「抽出処理−＃Ｂ」は未構築であるため、ステップ１２０３に進む。また、ステップ１２０３において、構築接続処理部１１３１は、管理サーバ１００上のソースコードリポジトリ１４０に格納されている「抽出処理−＃Ｂ」を実行可能なソースコードをデータ提供サーバ２００上に実装し、対応する処理を構築する。
【０１４０】
上述のステップ１２０１〜ステップ１２０４の繰り返し処理の結果、「抽出処理−＃Ｂ」に関して実行される処理と同様に、構築接続処理部１１３１は、「抽出処理−＃Ｇ」と「抽出処理−＃Ｆ」についても、それぞれの処理を実行可能な処理をデータ提供サーバ２００上に構築する。
この場合、構築接続処理部１１３１は、ステップ１２０５において、処理チェーン表１２９（図７Ｃ）の各行に対してステップ１２０６の処理をそれぞれ行う。
【０１４１】
構築接続処理部１１３１は、ステップ１２０６において、センサ「Ｄｅｖ−＃２」の出力が「抽出処理−＃Ｂ」の入力に、「抽出処理−＃Ｂ」の出力が「抽出処理−＃Ｆ」の入力に、センサ「Ｄｅｖ−＃３」の出力が「抽出処理−＃Ｇ」の入力に、「抽出処理−＃Ｇ」の出力が「抽出処理−＃Ｆ」の入力に、「抽出処理−＃Ｆ」の出力が「エンドポイント処理Ａ」の入力になるようにそれぞれ設定を行う。以上によって、行５０７で表されるセンシング手段をデータ提供サーバ上に構築接続できた。
−−−フロー例６−−−
【０１４２】
図１４は、本実施形態におけるセンサネットワーク管理方法のフロー例６を示す図であり、具体的には、管理サーバ１００における再選択処理部１１５のフローチャートの一例である。
【０１４３】
本実施形態における再選択処理部１１５の処理は、一度、マッチング処理部１１２を経て選択されたセンシング手段を、再度選択し直すための処理である。この再選択処理部１１５は、例えば物理センサ２０の異常により、アプリケーションへのセンシングデータの提供が途切れた場合に、管理サーバ１００から呼び出される。
この場合、再選択処理部１１５は、ステップ１３０１において、異常がある物理センサ２０を利用しているアプリケーション３０を特定する。
再選択処理部１１５は、ここで特定したアプリケーション３０に対して、以下のステップ１３０７までの各処理を実行する。
【０１４４】
上述のステップ１３０１において、アプリケーション３０が特定された場合、再選択処理部１１５は、ステップ１３０２において、当該アプリケーション３０のアプリ属性表１２５の処理チェーンＩＤを退避させる。
次に、再選択処理部１１５は、ステップ１３０３において、異常がある物理センサ２０を利用している組み合わせを除いた組み合わせ候補表１２８を作成する。
【０１４５】
続いて、再選択処理部１１５は、ステップ１３０４において、上述のステップ１３０３で作成した組み合わせ候補表１２８を利用して、組み合わせ選択処理を実行し、センシング手段を再選択する。
【０１４６】
また、再選択処理部１１５は、ステップ１３０５において、上述のステップ１３０４において選択されたセンシング手段を、データ提供サーバ２００上に構築・接続し、当該アプリケーション３０が利用していたエンドポイントを通して、新たなセンシング手段によってデータが提供されるようにする。
【０１４７】
続いて、再選択処理部１１５は、ステップ１３０６において、上述のステップ１３０２において退避した処理チェーンＩＤを基にして、新たなセンシング手段に切り替えたことによって不要となった抽出処理をデータ提供サーバ２００上から削除する。ステップ１３０７は、ステップ１３０１から始まった繰り返し処理の終端を表す。
【０１４８】
上述のフローにおける再選択処理部１１５の動作例として、物理センサ「Ｄｅｖ−＃３」からの通信が途絶えたことを、監視サーバ４００が検知し、この旨を管理サーバ１００に通知した状況での処理例を説明する。
【０１４９】
この場合、再選択処理部１１５は、ステップ１３０１において、アプリ属性表１２５の処理チェーンＩＤ欄２０７に登録されている情報から処理チェーンを辿り、異常がある物理センサ２０が利用されているアプリケーション３０を特定する。
【０１５０】
アプリ属性表１２５の行２１０が表すアプリケーションの処理チェーンＩＤ欄２０７に、「処理チェーン＃１」が登録されているとすれば（図３の例では未登録状態）、再選択処理部１１５は、当該処理チェーンＩＤに対応する処理チェーン表１２９を図７Ｃの処理チェーン表と特定する。
【０１５１】
図７Ｃの処理チェーン表１２９に含まれるセンサは「Ｄｅｖ−＃２」と「Ｄｅｖ−＃３」の二つであり、行２１０が表すアプリケーション３０は異常が起きた「Ｄｅｖ−＃３」を利用していることがわかる。
【０１５２】
再選択処理部１１５は、ステップ１３０２において、アプリ属性表１２５にある処理チェーンＩＤを一時的に退避しておく。また、再選択処理部１１５は、ステップ１３０３において、物理センサ「Ｄｅｖ−＃３」を表す行３１３を除いた表を入力として組み合わせ抽出処理部１１２１を実行する。
再選択処理部１１５は、この結果として、組み合わせ候補表１２８から行５０７を除いた表を出力する。
【０１５３】
続いて、再選択処理部１１５は、ステップ１３０４において、組み合わせ候補表１２８から行５０７を除いた表を入力として、組み合わせ選択処理を実行する。当該組み合わせ選択処理のステップ１００５の時点で、最終候補リストには組み合わせ候補表１２８の行５０６と行５０７が登録されている。当該組み合わせ選択処理のステップ１００７においては、選択ポリシー表１３０を参照し、優先度を参照しながら組み合わせ候補表１２８の
ソートを行う。行５０６と行５０７は、再優先されるキーであるコストが共に「０．０５円／分」である。しかし、２番目に優先されるキーである抽出処理数の観点では、既に「抽出処理−＃Ｂ」がデータ提供サーバ２００上に構築されていることから、新たに構築しなければならない抽出処理の数が行５０６では「抽出処理−＃Ａ」と「抽出処理−＃Ｃ」の２つ、行５０７では「抽出処理−＃Ａ」と「抽出処理−＃Ｄ」と「抽出処理−＃Ｅ」の３つであることから行５０６が一番上に来るようにソートされる。
したがって、ステップ１３０４において出力される組み合わせ候補は、組み合わせ候補表１２８の行５０６である。
【０１５４】
再選択処理部１１５は、ステップ１３０５において、組み合わせ候補表１２８の行５０６で指定される処理チェーンンをデータ提供サーバ２００上に構築し、アプリケーションから処理チェーンの出力データにアクセスできる状態を維持する。
【０１５５】
再選択処理部１１５は、ステップ１３０６において、アプリ属性表１２５における行２１０のエンドポイントＩＤ欄２０８を参照して、アプリケーション３０にデータを提供しているエンドポイント処理１３６を特定する。再選択処理部１１５は、エンドポイント処理１３６への入力を、ステップ１３０５において構築した処理チェーンの末端である「抽出処理−＃Ｃ」の出力に設定することで、エンドポイントを繋ぎかえる。
【０１５６】
さらに、再選択処理部１１５は、行２１０の処理チェーンＩＤ欄２０７を「処理チェーンＩＤ＃１」に更新する。ステップ１３０７は、ステップ１３０１から始まる繰り返し処理の終端を表す。
【０１５７】
再選択処理部１１５は、ステップ１３０８において、ステップ１３０８において退避した処理チェーンＩＤを元に、利用されなくなった抽出処理を、データ提供サーバ２００上から消去する。以上によって、再選択処理部１１５における処理結果として、「処理チェーン＃１」が表す手段をもってアプリケーション３０にデータが提供されるようになった。
−−−フロー例７−−−
【０１５８】
図１５は、本実施形態におけるセンサネットワーク管理方法のフロー例７を示す図であり、具体的には、アンデプロイ処理部１１６のフローチャートの一例である。
【０１５９】
本実施形態におけるアンデプロイ処理部１１６の処理は、アプリケーション３０から利用されなくなった抽出処理をデータ提供サーバ２００上から消すための処理であり、当該アプリケーション３０が終了されたときや、センシング手段の切り替えが発生するときに呼び出される。ここでの動作例として、アプリケーション３０（図１における、"アプリ
Ａｐｐ−＃１"）の利用をユーザが終了した場合を説明する。
【０１６０】
まず、アンデプロイ処理部１１６は、ステップ１４０１において、アプリ属性表１２５においてアプリケーション３０を表す行２１０の処理チェーンＩＤ欄２０７から処理チェーン表６０２を辿り、アプリケーション３０から「抽出処理−＃Ａ」、「抽出処理−＃Ｂ」、「抽出処理−＃Ｃ」が利用されていることを特定し、それぞれの抽出処理をデータ提供サーバ２００上から削除する。
【０１６１】
次に、アンデプロイ処理部１１６は、ステップ１４０２において、アプリ属性表１２５の行２１０のエンドポイントＩＤ欄２０８から、エンドポイント処理１３６を特定し、データ提供サーバ２００上から削除する。
【０１６２】
以上により、アンデプロイ処理部１１６の結果として、上述の「アプリＡｐｐ−＃１」
の終了によって不要となった抽出処理がデータ提供サーバ２００上から削除された。
−−−インタフェースの例−−−
【０１６３】
本実施形態におけるセンサネットワーク管理システム１は、所定のユーザや管理者に対してユーザインタフェースを提供することができる。図１６は、アプリケーション３０が必要とするデータの要件をユーザに入力させるべく、管理サーバ１００が提供する画面１５００の例である。
【０１６４】
この画面１５００において、ユーザは、所定の端末を操作してファイル選択ボックス１５０１においてアプリケーション３０の要件を記述したファイルを指定する。その後、当該ユーザは、アップロードボタン１５０２を押下する。上述の端末はこのアップロードボタン１５０２の押下を受け、指定したファイルを管理サーバ１００に送信する。
【０１６５】
続いて、図１７に、アプリケーション３０の要件を満たすセンシング手段を、アプリケーション３０のユーザに選択させるために管理サーバ１００が提供する画面１６０１の例を示す。
【０１６６】
図１１のフローでは、組み合わせ選択処理部１１２２において、選択ポリシー表１３０に記載された優先度にしたがって決定された組み合わせを自動的に選択する例を説明した。しかしながら、組み合わせ候補表１２８の中から、ユーザが手動にてセンシング手段の候補を選択するとしてもよい。その場合、組み合わせ選択用の画面１６０１を、アプリケーション３０のユーザに操作させ、所望のセンシング手段を選択させることとなる。
【０１６７】
図１７においては、図８におけるステップ７０２の組み合わせ抽出処理部１１２１の処理が終了した後、ユーザの所定端末に表示する、組み合わせ候補確認画面１６０１の例を示している。当該ユーザは、端末を操作し、画面１６０１に表示される組み合わせ候補表１２８の中から、アプリケーション３０で利用したいセンシング手段を探し出す。なお、組み合わせ候補表１２８は一行が一組み合わせを表している。
【０１６８】
図１７の画面１６０１においては、組み合わせ候補１６０８における処理チェーンＩＤ列１６０２の欄には、「処理チェーン＃１」という情報がハイパーリンク形式で表示されている。このリンク先を表示することで、ユーザは処理チェーン表１２９を表示することができる。各組み合わせの内容を確認した後、ユーザは選択した候補行の選択列１６０６に表示されている構築ボタンを押下する。端末は、この押下を受けて、ユーザ所望の組み合わせのセンシング手段を管理サーバ１００に通知する。管理サーバ１００は、当該センシング手段をデータ提供サーバ２００上に構築することとなる。
【０１６９】
また図１８に、ある実装における、センサネットワーク管理システム１の運用者向け管理画面１７０１の例を示す。この運用者向け管理画面１７０１は、センシング手段の切り替えを運用者によって行うための画面であり、組み合わせ選択処理におけるステップ１００７およびステップ１００８で表される、候補を選択する処理を手動で行うことができるようにする画面である。
【０１７０】
この運用者向け管理画面１７０１は、あるアプリケーション３０に対する組み合わせ候補表１２８に含まれている組み合わせの候補を表示するための組み合わせ候補表示部１７０４、１７０５と、組み合わせ候補詳細表示部１７０６、１７０７と、選択したセンシング手段への切り替えを実行するための切替ボタン１７０８とから構成される。
【０１７１】
ここでの動作例として、物理センサ２０の提供者から、センサネットワーク管理システム１の運用者に対して、デバイスＩＤ「Ｄｅｖ−＃３」をもつ物理センサ２０を緊急的に
停止させる旨の連絡が届き、センサネットワーク管理システム１の運用者が、「Ｄｅｖ−＃３」をもつ物理センサ２０を利用したセンシング手段を、「Ｄｅｖ−＃３」をもつ物理センサ２０を利用していない他のセンシング手段に切り替えるという場合を説明する。
【０１７２】
この場合、センサネットワーク管理システム１の運用者は、所定の端末を操作し、アプリ属性表１２５の処理チェーンＩＤから処理チェーンを辿り、「Ｄｅｖ−＃３」をもつ物理センサ２０を利用しているセンシング手段のエンドポイントを特定する。
【０１７３】
ここでは、物理センサ「Ｄｅｖ−＃３」を利用したセンシング手段として、組み合わせ候補表１２８の行５０７にあたるセンシング手段を図にしたものが組み合わせ表示部１７０４に、当該センシング手段の詳細が詳細表示部１７０６表示されている。
【０１７４】
センサネットワーク管理システム１の運用者は、端末を操作して、運用者向け管理画面１７０１に表示されている他の組み合わせ候補を確認し、切り替え先のセンシング手段を選択する。「エンドポイントＡ」に対する別のセンシング手段候補として、組み合わせ候補表１２８の行５０５にあたるセンシング手段を図にしたものが組み合わせ表示部１７０５に、当該センシング手段の詳細が詳細表示部１７０７に表示されている。画面下部には続けて「エンドポイントＡ」に対する別のセンシング手段候補が表示されている。
【０１７５】
センサネットワーク管理システム１の運用者が、切替ボタン１７０８を押下すると、組み合わせ候補表１２８の行５０５が指定された状態で、再選択処理部１１５のステップ１３０５以降が実行される。
【０１７６】
以上により、センシングデータと、それらのデータに対して抽出処理を適用して生成されるデータを、アプリケーション３０の要件のマッチング対象とすることが可能となる。また、利用中のセンシング手段が利用できなくなった場合に、代替手段に切り替えることで、アプリケーション３０へのデータ提供が継続可能となる。さらに、データ提供にかかるコストや、物理センサ２０や抽出処理の管理コストを低減させるために、センシング手段を切り替えることが可能となる。
【０１７７】
なお、アプリケーション３０から要求されるデータの検索対象は、センシングデータのみならず、インターネットなど適宜なネットワーク上で任意のユーザに公開されているデータやアプリケーション実行者にアクセスが許されている非公開データをはじめとした、ネットワーク上に存在していてアプリケーション３０からアクセス可能な任意のデータ、あるいは、それらの組み合わせを対象としてもよい。
【０１７８】
また、本実施形態では、抽出処理として、管理サーバ１００のソースコードリポジトリ１４０にて管理されるソースコードを対象としているが、これは、実行可能な形態で登録されていてもよい。さらに、ネットワークで到達可能な別サーバ上で、ＳａａＳ（Ｓｏｆｔｗａｒｅ  ａｓ  ａ  Ｓｅｒｖｉｃｅ）などの形態で提供される処理を抽出処理としてもよい。
【０１７９】
以上、本発明を実施するための最良の形態などについて具体的に説明したが、本発明はこれに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能である。
【０１８０】
こうした本実施形態によれば、物理センサから直接提供されるセンシングデータのみならず、それらセンシングデータに対して所定の処理を適用して生成されるデータを、アプリケーションの要件のマッチング対象とすることができる。また、アプリケーションによって利用中の物理センサが利用できなくなった場合に、代替の物理センサへの切り替えを可能とし、これによりアプリケーションへのデータ提供の継続性が維持される。さらに、
複数のアプリケーションそれぞれにデータ提供する際に必要となる、物理センサ数やセンサデータに適用する処理数を抑制可能であり、データ提供や管理用のコストを低減することができる。
すなわち、センサネットワークにおける物理センサのセンシングデータを、アプリケーションの要件に応じた形態で柔軟に提供可能となる。
【０１８１】
本明細書の記載により、少なくとも次のことが明らかにされる。すなわち、本実施形態のセンサネットワーク管理方法において、前記情報処理システムが、前記マッチング処理により特定したセンシング手段に含まれる所定のデータ抽出手段を構築する処理を更に実行する、としてもよい。
【０１８２】
これによれば、例えば、マッチング処理によって選択された処理チェーンをデータ提供サーバ上に構築し、該当アプリケーションから利用できる状態に実装可能となる。
【０１８３】
また、本実施形態のセンサネットワーク管理方法において、前記情報処理システムが、前記マッチング処理により特定したセンシング手段における所定のデータ抽出手段による処理結果に、前記所定アプリケーションからアクセス可能とするためのエンドポイントを構築する処理を更に実行する、としてもよい。
【０１８４】
これによれば、センシング手段が最終的に出力するデータを、アプリケーションが利用出来るよう、当該データの取得先すなわちエンドポイント（例：出力データを要求するコマンドの送信先や、出力データの配置アドレスなど）を生成し、これをアプリケーションに利用させることが可能となる。
【０１８５】
また、本実施形態のセンサネットワーク管理方法において、前記情報処理システムが、前記マッチング処理により特定したセンシング手段における所定の物理センサと所定のデータ抽出手段と所定のエンドポイント処理を接続する処理を更に実行する、としてもよい。
【０１８６】
これによれば、例えば、マッチング処理によって選択された処理チェーンに含まれている抽出処理を、ソースコードリポジトリに保管されているソースコードを基にして、データ提供サーバ上で動く状態にし、また、それらの抽出処理を接続して、該当アプリケーションが要求しているデータを生成可能な状態にすることが可能である。
【０１８７】
また、本実施形態のセンサネットワーク管理方法において、前記情報処理システムが、少なくとも所定の不具合が発生するタイミングを含む所定のタイミングにおいて、前記アプリケーションのセンシング手段を、他のセンシング手段に切り換える処理を実行する、としてもよい。
【０１８８】
これによれば、例えば物理センサに不具合が生じても、これに対応し、アプリケーションの要件を満たすセンシング手段を新たに特定してアプリケーションに提供出来る。
【０１８９】
また、本実施形態のセンサネットワーク管理方法において、前記情報処理システムが、所定センシング手段に含まれるデータ抽出手段を利用しなくなるイベントが発生した場合、前記センシング手段に含まれる構築済みのデータ抽出手段をアンデプロイする処理を更に実行する、としてもよい。
これによれば、利用機会が無くなったデータ抽出手段をセンシング手段から削除し、リリースの利用効率を改善することが出来る。
【０１９０】
また、本実施形態のセンサネットワーク管理方法において、前記情報処理システムが、
所定センシング手段に含まれるエンドポイント処理を利用しなくなるイベントが発生した場合、前記センシング手段に含まれる構築済みのエンドポイント処理を削除する処理を更に実行する、としてもよい。
これによれば、不要となったエンドポイント処理を削除し、システム全体を効率化出来る。
【０１９１】
また、本実施形態のセンサネットワーク管理方法において、前記情報処理システムが、前記物理センサのメタデータ、所定のデータ抽出手段のメタデータ、前記物理センサのセンシングデータまたは当該センシングデータに基づく所定データ、および、前記物理センサのセンシングデータまたは当該センシングデータに基づく所定データを利用するアプリケーションのメタデータ、の少なくともいずれかとして、他の情報処理システムから取得する所定データも含めて保持する、としてもよい。
【０１９２】
これによれば、センサネットワークの範囲等を限定せず、物理センサのセンサデータを、アプリケーションの要件に応じた形態で、より柔軟かつ効率的に提供可能となる。
【０１９３】
また、本実施形態のセンサネットワーク管理方法において、前記情報処理システムが、前記マッチング処理に際し、マッチング結果として得た複数のセンシング手段のうち、アプリケーションのメタデータが示す所定要件の全項目を満たすセンシング手段、もしくは、アプリケーションのメタデータが示す所定要件のうち一部項目を満たすセンシング手段を特定する、としてもよい。
【０１９４】
これによれば、アプリケーションにとって最適なデータを取得出来るセンシング手段を特定し、提供する事が出来る。また、例えばアプリケーションの要件が多岐に亘るものであっても、必須のものは限定的であるといった状況に対して柔軟に対応し、必要以上に限定しない範囲でセンシング手段を特定、提供することが出来る。
【０１９５】
また、本実施形態のセンサネットワーク管理方法において、前記情報処理システムが、前記マッチング処理に際し、アプリケーションのメタデータが示す所定要件を満たすセンシング手段を特定出来なかった場合、当該アプリケーションに対し、要件を満たすセンシング手段が特定出来なかった旨を通知する処理を更に実行する、としてもよい。
これによれば、センサネットワークでそもそも適宜なデータが得られない状況を、アプリケーションが認識し、無用な対応を回避することが可能となる。
【０１９６】
また、本実施形態のセンサネットワーク管理方法において、前記情報処理システムが、前記マッチング処理に際し、マッチング結果として得た複数のセンシング手段に関して、所定ユーザによる選択を受け付ける処理を更に実行する、としてもよい。
これによれば、センサネットワーク管理システム側で適宜なセンシング手段を特定するのみならず、ユーザからの選択も受け付けることを可能とする。
【０１９７】
また、本実施形態のセンサネットワーク管理システムにおいて、前記演算装置は、前記アプリケーションが、前記センシング手段により提供されるデータの利用を中止する場合、または、所定センシング手段に含まれる物理センサが利用不可となった場合、前記アプリケーションに関して構築済みである前記センシング手段におけるデータ抽出手段の削除処理を更に実行するものである、としてもよい。
【０１９８】
また、本実施形態のセンサネットワーク管理システムにおいて、前記演算装置は、所定センシング手段に含まれるデータ抽出手段が利用不可となった場合、前記センシング手段に含まれる他の構築済みのデータ抽出手段をアンデプロイする処理を更に実行するものである、としてもよい。
これによれば、センシング手段を構成し、互いの出力を入力として連なっているデータ抽出手段らを、利用要否に応じて効率良く管理出来る。
【０１９９】
また、本実施形態のセンサネットワーク管理システムにおいて、前記演算装置は、前記マッチング処理により特定したセンシング手段に含まれる所定のデータ抽出手段を構築する処理を更に実行するものである、としてもよい。
【０２００】
また、本実施形態のセンサネットワーク管理システムにおいて、前記演算装置は、前記マッチング処理により特定したセンシング手段における所定のデータ抽出手段による処理結果に、前記所定アプリケーションからアクセス可能とするためのエンドポイントを構築する処理を更に実行するものである、としてもよい。
【０２０１】
また、本実施形態のセンサネットワーク管理システムにおいて、前記演算装置は、前記マッチング処理により特定したセンシング手段における所定の物理センサと所定のデータ抽出手段と所定のエンドポイント処理を接続する処理を更に実行するものである、としてもよい。
【符号の説明】
【０２０２】
１  センサネットワーク管理システム
５  センサネットワーク
１０、１１  ネットワーク
２０  センサ
３０  アプリケーション
１００  管理サーバ
１０１  記憶装置
１０２  プログラム
１０３  メモリ
１０４  演算装置
１０５  通信装置
１１０  センサ情報取得処理部
１１１  入出力処理部
１１２  マッチング処理部
１１２１  組み合わせ抽出処理部
１１２２  組み合わせ選択処理部
１１３  基盤制御処理部
１１３１  構築接続処理部
１１３２  エンドポイント作成処理部
１１４  アラート受信処理部
１１５  再選択処理部
１１６  アンデプロイ処理部
１２５  アプリ属性表
１２６  物理センサ属性表
１２７  抽出処理管理表
１２８  組み合わせ候補表
１２９  処理チェーン表
１３０  選択ポリシー表
１４０  ソースコードリポジトリ
２００  データ提供サーバ
３００  ＩｏＴハブサーバ
３１０  出力処理部
４００  監視サーバ
【図１】
2018124935.tif 000003
【図２】
2018124935.tif 000004
【図３】
2018124935.tif 000005
【図４】
2018124935.tif 000006
【図５】
2018124935.tif 000007
【図６】
2018124935.tif 000008
【図７Ａ】
2018124935.tif 000009
【図７Ｂ】
2018124935.tif 000010
【図７Ｃ】
2018124935.tif 000011
【図７Ｄ】
2018124935.tif 000012
【図８】
2018124935.tif 000013
【図９】
2018124935.tif 000014
【図１０】
2018124935.tif 000015
【図１１】
2018124935.tif 000016
【図１２】
2018124935.tif 000017
【図１３】
2018124935.tif 000018
【図１４】
2018124935.tif 000019
【図１５】
2018124935.tif 000020
【図１６】
2018124935.tif 000021
【図１７】
2018124935.tif 000022
【図１８】
2018124935.tif 000023