(57)【特許請求の範囲】
【請求項１】
複数の実センサから実センサデータを取得する取得部と、
前記複数の実センサの各々の稼働状況を検知する稼働状況検知部と、
前記取得部により取得された実センサデータを用いて仮想センサデータを生成する生成部と、
前記稼働状況検知部による検知結果に基づき、前記生成部により生成される前記仮想センサデータの信頼度を判定する信頼度判定部と、
を備え、
前記信頼度判定部は、前記稼働状況検知部により稼働中であると検知された実センサの数が、前回判定時に稼働中であると検知された実センサの数と異なる場合、双方の数が同一である場合より前記仮想センサデータの信頼度を低く判定する、データ生成装置。
【請求項２】
前記信頼度判定部は、前記稼働状況検知部による今回判定時で稼働中であると検知された実センサが、前回判定時に稼働中であると検知された実センサと全部又は一部異なる場合、前記今回判定時及び前回判定時で検知された実センサの双方が全部同一である場合の前記仮想センサデータの信頼度よりも該信頼度を低く判定する、請求項１に記載のデータ生成装置。
【請求項３】
前記信頼度判定部は、前記複数の実センサ各々の属性情報を基に前記検知結果を重み付けし、その重み付け後の検知結果を基に前記仮想センサデータの信頼度を判定する、請求項１に記載のデータ生成装置。
【請求項４】
前記実センサの属性情報は、仮想センサを構成する実センサのうち他の実センサと比較して、前記仮想センサとしてのセンシング結果に影響を及ぼす意味で重要であるか否かの程度を示す情報である、請求項３に記載のデータ生成装置。
【請求項５】
前記複数の実センサは信頼度判定について重み付けされており、
前記信頼度判定部は、前記稼働状況検知部により稼働中であると検知された実センサ、または前回判定時に稼働中であると検知された実センサの一方のみに含まれる実センサが存在する場合、当該実センサの信頼度判定における重みに従って前記仮想センサデータの信頼度を判定する、請求項１に記載のデータ生成装置。
【請求項６】
前記稼働状況検知部は、前記取得部により１の実センサから実センサデータが取得されてから所定時間が経過する前に当該実センサから新たな実センサデータが取得された場合に当該実センサが稼働中であることを検知する、請求項１から５のいずれか１項に記載のデータ生成装置。
【請求項７】
前記生成部により生成された前記仮想センサデータ、および前記信頼度判定部により判定された前記仮想センサデータの信頼度を出力するデータ通信部をさらに備える、請求項１から６のいずれか１項に記載のデータ生成装置。
【請求項８】
前記データ通信部は、外部装置からの要求に応答して前記仮想センサデータおよび前記信頼度を出力する、請求項７に記載のデータ生成装置。
【請求項９】
複数の実センサから実センサデータを取得する取得ステップと、
前記複数の実センサの各々の稼働状況を検知する検知ステップと、
前記取得ステップで取得された実センサデータを用いて仮想センサデータを生成する生成ステップと、
前記検知ステップでの検知結果に基づき、前記生成ステップで生成される前記仮想センサデータの信頼度を判定するステップと、
を含み、
前記信頼度を判定するステップは、前記検知ステップにより稼働中であると検知された実センサの数が、前回判定時に稼働中であると検知された実センサの数と異なる場合、双方の数が同一である場合より前記仮想センサデータの信頼度を低く判定する、データ生成方法。
【請求項１０】
コンピュータを、
複数の実センサから実センサデータを取得する取得部と、
前記複数の実センサの各々の稼働状況を検知する稼働状況検知部と、
前記取得部により取得された実センサデータを用いて仮想センサデータを生成する生成部と、
前記稼働状況検知部による検知結果に基づき、前記生成部により生成される前記仮想センサデータの信頼度を判定する信頼度判定部と、
として機能させ、
前記信頼度判定部は、前記稼働状況検知部により稼働中であると検知された実センサの数が、前回判定時に稼働中であると検知された実センサの数と異なる場合、双方の数が同一である場合より前記仮想センサデータの信頼度を低く判定する、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ生成装置、方法およびプログラムに関する。
【背景技術】
【０００２】
近年、多様なセンサからのセンサデータを用いて、人や物が配置されている場所、時間、状況といった状態を把握するコンテキストアウェアアプリケーション（ＡＰ）の開発が進められている。コンテキストアウェアＡＰを利用することで、状態が所定の範囲になった場合にユーザに通知するといったサービスを構築することができる。
【０００３】
また、このようなコンテキストアウェアＡＰに対するデータ提供形態として、下記非特許文献１にも開示されているような仮想センサ提供サービスが知られている。仮想センサ提供サービスは、例えば複数の実センサの平均値、温度センサや湿度センサから算出した不快指数を仮想センサとして定義し、仮想センサデータをコンテキストアウェアＡＰに提供する。
【０００４】
これにより、コンテキストアウェアＡＰは、実センサデータの仕様や特性を知る必要がなくなり、実センサデータの取得制御と同様に仮想センサデータの取得制御を行い、仮想センサデータを用いて状態を把握する。
【０００５】
また、仮想センサ提供サービスが複数の実センサデータの平均値を仮想センサデータと定義する場合、実センサが新規追加されても、コンテキストアウェアＡＰはその都度設定を変更する必要がない。このように、仮想センサデータを用いると、実センサ数が変更してもコンテキストアウェアＡＰの再設定が不要となるので、センサデータを利用した新規サービスを容易に構築することができる。
【先行技術文献】
【非特許文献】
【０００６】
【非特許文献１】「センササービスのマッシュアップを実現するサービス指向基盤の提案」電子情報通信学会  技術研究報告  情報ネットワーク  １０９（２７６），２３−２８，２００９−１１−０５
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、仮想センサデータを用いる場合、コンテキストアウェアＡＰは実センサに関する情報や実センサデータを把握しないので、実センサの故障を把握することができず、仮想センサ提供サービスから提供された仮想センサデータは全て正常な値とみなして利用していた。
【０００８】
例えば、仮想センサデータが複数の実センサデータの平均値として生成される場合、一部の実センサが故障により実センサデータを送信できなくても、残りの実センサデータに基づいて仮想センサデータが生成され得る。ただし、この場合は故障した実センサのセンサデータを考慮していないので、生成された仮想センサデータの値が故障前と比べて大きく変化する可能性がある。
【０００９】
このように、コンテキストアウェアＡＰが実センサの故障を把握することができないので、仮想センサデータが大きく変動していても、正常な値とみなして利用されてしまうという問題があった。
【００１０】
そこで、本発明は、上記問題に鑑みてなされたものであり、本発明の目的とするところは、仮想センサデータの信頼度を判定することが可能な、新規かつ改良されたデータ生成装置、方法およびプログラムを提供することにある。
【課題を解決するための手段】
【００１１】
上記課題を解決するために、本発明のある観点によれば、複数の実センサから実センサデータを取得する取得部と、前記複数の実センサの各々の稼働状況を検知する稼働状況検知部と、前記取得部により取得された実センサデータを用いて仮想センサデータを生成する生成部と、前記稼働状況検知部による検知結果に基づき、前記生成部により生成される前記仮想センサデータの信頼度を判定する信頼度判定部と、を備え、前記信頼度判定部は、前記稼働状況検知部により稼働中であると検知された実センサの数が、前回判定時に稼働中であると検知された実センサの数と異なる場合、双方の数が同一である場合より前記仮想センサデータの信頼度を低く判定する、データ生成装置が提供される。
【００１４】
また、前記信頼度判定部は、前記稼働状況検知部による今回判定時で稼働中であると検知された実センサが、前回判定時に稼働中であると検知された実センサと全部又は一部異なる場合、前記今回判定時及び前回判定時で検知された実センサの双方が全部同一である場合の前記仮想センサデータの信頼度よりも該信頼度を低く判定してもよい。
【００１５】
また、前記信頼度判定部は、前記複数の実センサ各々の属性情報を基に前記検知結果を重み付けし、その重み付け後の検知結果を基に前記仮想センサデータの信頼度を判定してもよい。
【００１６】
また、前記実センサの属性情報は、仮想センサを構成する実センサのうち他の実センサと比較して、前記仮想センサとしてのセンシング結果に影響を及ぼす意味で重要であるか否かの程度を示す情報であってもよい。
【００１７】
また、前記複数の実センサは信頼度判定について重み付けされており、前記信頼度判定部は、前記稼働状況検知部により稼働中であると検知された実センサ、または前回判定時に稼働中であると検知された実センサの一方のみに含まれる実センサが存在する場合、当該実センサの信頼度判定における重みに従って前記仮想センサデータの信頼度を判定してもよい。
【００１８】
また、前記稼働状況検知部は、前記取得部により１の実センサから実センサデータが取得されてから所定時間が経過する前に当該実センサから新たな実センサデータが取得された場合に当該実センサが稼働中であることを検知してもよい。
【００１９】
また、前記生成部により生成された前記仮想センサデータ、および前記信頼度判定部により判定された前記仮想センサデータの信頼度を出力するデータ通信部をさらに備えてもよい。
【００２０】
また、前記データ通信部は、外部装置からの要求に応答して前記仮想センサデータおよび前記信頼度を出力してもよい。
【００２１】
また、上記課題を解決するために、本発明の別の観点によれば、複数の実センサから実センサデータを取得する取得ステップと、前記複数の実センサの各々の稼働状況を検知する検知ステップと、前記取得ステップで取得された実センサデータを用いて仮想センサデータを生成する生成ステップと、前記検知ステップでの検知結果に基づき、前記生成ステップで生成される前記仮想センサデータの信頼度を判定するステップと、を含み、前記信頼度を判定するステップは、前記検知ステップにより稼働中であると検知された実センサの数が、前回判定時に稼働中であると検知された実センサの数と異なる場合、双方の数が同一である場合より前記仮想センサデータの信頼度を低く判定する、データ生成方法が提供される。
【００２２】
また、上記課題を解決するために、本発明の別の観点によれば、コンピュータを、複数の実センサから実センサデータを取得する取得部と、前記複数の実センサの各々の稼働状況を検知する稼働状況検知部と、前記取得部により取得された実センサデータを用いて仮想センサデータを生成する生成部と、前記稼働状況検知部による検知結果に基づき、前記生成部により生成される前記仮想センサデータの信頼度を判定する信頼度判定部と、として機能させ、前記信頼度判定部は、前記稼働状況検知部により稼働中であると検知された実センサの数が、前回判定時に稼働中であると検知された実センサの数と異なる場合、双方の数が同一である場合より前記仮想センサデータの信頼度を低く判定するためのプログラムが提供される。
【発明の効果】
【００２３】
以上説明したように本発明によれば、仮想センサデータの信頼度を判定することが可能である。
【図面の簡単な説明】
【００２４】
【図１】本発明の一実施形態によるデータ生成システムの全体構成を示す図である。
【図２】本実施形態によるデータ生成装置の構成を示すブロック図である。
【図３】本実施形態による仮想センサデータの一例を示す図である。
【図４】本実施形態による故障検知用情報の記憶例を示す図である。
【図５】本実施形態による稼動情報の記憶例を示す図である。
【図６】本実施形態による信頼度判定結果の一例を示す図である。
【図７】本実施形態による稼動状況検知処理を示すフローチャートである。
【図８】本実施形態による信頼度判定処理を示すフローチャートである。
【図９】本実施形態によるデータ生成処理を示すフローチャートである。
【図１０】本実施形態による信頼度に応じた仮想センサデータの使用有無を説明するための図である。
【発明を実施するための形態】
【００２５】
以下に添付図面を参照しながら、本発明の実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【００２６】
＜１．データ生成システムの概要＞
図１は、本発明の一実施形態によるデータ生成システムの全体構成を示す図である。図１に示すように、本実施形態によるデータ生成システムは、データ生成装置１、複数の実センサ２Ａ、２Ｂ、２Ｃ〜２ｎ、入力装置３、コンテキスト生成装置４、およびアプリケーション実行装置５を含む。なお、以下複数の実センサ２Ａ、２Ｂ、２Ｃ・・・２ｎを個々に区別する必要がない場合は実センサ２と称す。
【００２７】
実センサ２（実センサノード）は、検知部および通信部を有する。検知部は、温度、照度、または湿度等を検知することができる実センサである。ここで、実センサ２が有する検知部の数は、単数および複数のどちらであってもよい。本実施形態では、実センサ２が検知部を単数有する場合を例として説明する。
【００２８】
また、実センサ２の通信部は、データ生成装置１と接続し、データを送信または受信する機能を有する。より具体的には、通信部は、検知部により検知された実センサデータ、および実センサ２のＩＤや種別等を示す実センサ情報をデータ生成装置１に送信する。なお、通信部とデータ生成装置１の接続は、有線および無線のどちらであってもよい。また、通信部は、ゲートウェイ装置を介してデータ生成装置１と接続してもよい。
【００２９】
データ生成装置１は、複数の実センサ２Ａ〜２ｎから送信された実センサデータを用いて仮想センサデータを生成し、生成した仮想センサデータをコンテキスト生成装置４に送信する。
【００３０】
入力装置３は、データ生成装置１の各種設定を行うために利用者により入力された情報を、データ生成装置１に送信する。入力装置３は、例えばディスプレイおよびキーボード等を有する情報処理装置であってもよい。
【００３１】
コンテキスト生成装置４は、データ生成装置１から送信された仮想センサデータに基づいてコンテキストを生成し、生成したコンテキストをアプリケーション実行装置５に送信する。また、コンテキスト生成装置４は、生成したコンテキストのフィードバック等のイベントデータを用いてコンテキストを生成してもよい。
【００３２】
アプリケーション実行装置５（以下、ＡＰ実行装置５とも称す）は、コンテキスト生成装置４から送信されたコンテキストを用いて何らかの処理を行うアプリケーションを実行する装置である。例えば、ＡＰ実行装置５は、受信したコンテキストが所定の条件に該当する場合、指定のユーザに通知を行う。
【００３３】
このように、本実施形態によるデータ生成システムでは、データ生成装置１が、複数の実センサ２Ａ〜２ｎを用いて仮想センサデータを生成し、コンテキスト生成装置４に提供する。
【００３４】
ここで、上述したように、例えば仮想センサデータが複数の実センサデータの平均値として生成される場合、一部の実センサが故障により実センサデータを送信できなくても、残りの実センサデータに基づいて仮想センサデータが生成され得る。ただし、この場合は故障した実センサのセンサデータを考慮していないので、生成された仮想センサデータが故障前と比べて大きく変化した異常値である可能性がある。
【００３５】
しかしながら、データ生成装置１が提供する仮想センサデータのみからは実センサ２の情報や実センサデータを把握できないので、コンテキスト生成装置４は提供された仮想センサデータを全て正常な値とみなすことになる。また、コンテキストを受信するアプリケーション実行装置５においても同様に、正常な値に基づいて生成されたコンテキストとして取り扱うことになる。
【００３６】
そこで、上記事情を一着眼点にして本発明の実施形態によるデータ生成システムを創作するに至った。本発明の実施形態によるデータ生成システムでは、データ生成装置１が、仮想センサデータの生成に加えて、生成した仮想センサデータの信頼度を判定することが可能である。また、これにより、アプリケーション実行装置５は、仮想センサデータの信頼度に基づいて、コンテキストに応じた処理の実行を行うか否かを判断することができる。以下、このような本発明の一実施形態によるデータ生成システムに含まれるデータ生成装置１の基本構成と動作処理について詳細に説明する。
【００３７】
＜２．基本構成＞
図２は、本実施形態によるデータ生成装置１の構成を示すブロック図である。図２に示すように、データ生成装置１は、実センサデータ受信部１１、仮想センサデータ生成部１２、稼動状況検知部１３、実センサ情報記憶部１４、信頼度判定部１５、データ付加部１６、およびデータ通信部１７を有する。
【００３８】
実センサデータ受信部１１は、実センサ２と接続し、実センサデータや、実センサ情報を受信する。ここで、実センサ情報とは、実センサ２のＩＤ、種別、動作仕様等といった実センサ２に関する情報である。
【００３９】
また、実センサデータ受信部１１は、実センサ２から受信したデータを仮想センサデータ生成部１２および稼動状況検知部１３に出力する。
【００４０】
仮想センサデータ生成部１２は、実センサデータ受信部１１から出力された実センサデータを用いて仮想センサデータを生成し、生成した仮想センサデータをコンテキスト生成装置４に出力する。また、本実施形態による仮想センサデータ生成部１２は、実センサデータを蓄積する機能を有し、蓄積した複数の実センサデータを用いて仮想センサデータを生成することができる。
【００４１】
仮想センサデータ生成を行うための具体的な生成プログラムは、仮想センサデータ生成部１２に設定される。生成プログラムには、仮想センサデータの具体的な生成方法や、利用する実センサを指定する情報である実センサ指定情報が含まれる。仮想センサデータ生成部１２は、例えば複数の実センサデータの平均値、中央値、または最頻値などを仮想センサデータとして生成する。
【００４２】
ここで、仮想センサデータ生成部１２により生成される仮想センサデータの一例を図３に示す。図３に示す例では、複数の温度センサ（実センサ）から出力された実センサデータに基づいて、複数の実センサデータの平均値を仮想センサデータとして１分ごとに算出されている。
【００４３】
例えば、図３に示す時刻１では、実センサ２Ａ、２Ｂ、２Ｃから各々出力された実センサデータ（温度データ）に基づいて、仮想センサデータ（平均値）が生成されている。
【００４４】
また、時刻３では、実センサ２Ａが故障により実センサデータを出力できないので、仮想センサデータ生成部１２は、実センサ２Ｂ、２Ｃから各々出力された実センサデータに基づいて仮想センサデータ（平均値）を生成している。よって、時刻３の仮想センサデータ「２７．５」は、時刻２の仮想センサデータ「２５．０」に対して変動が大きくなる。
【００４５】
さらに、時刻５では、実センサ２Ａの復旧により実センサ２Ａから実センサデータが出力されるので、仮想センサデータ生成部１２は、実センサ２Ａ、２Ｂ、２Ｃから各々出力された実センサデータに基づいて仮想センサデータ（平均値）を生成する。よって、時刻５の仮想センサデータ「２５．０」は、時刻４の仮想センサデータ「３０．０」に対して変動が大きくなる。
【００４６】
続いて、時刻６では、実センサ２Ｄの追加により実センサ２Ｄから実センサデータが出力されるので、仮想センサデータ生成部１２は、実センサ２Ａ、２Ｂ、２Ｃ、２Ｄから各々出力された実センサデータに基づいて仮想センサデータ（平均値）を生成する。よって、時刻６の仮想センサデータ「２６．３」は、時刻５の仮想センサデータ「２５．０」に対して変動が大きくなる。
【００４７】
このように、複数の実センサデータの平均値等を仮想センサデータとした場合、一の実センサの故障、追加等により値が大きく変動することがあるが、仮想センサデータ生成部１２は、生成した仮想センサデータを全てデータ付加部１６に出力する。
【００４８】
稼動状況検知部１３は、複数の実センサ２の各々の稼動状況を検知する機能を有する。より具体的には、稼動状況検知部１３は、例えばタイマー機能を有し、実センサデータの受信時間に基づいて、実センサ２が正常に動作しているか（稼動中）、若しくは故障しているか等を検知することができる。
【００４９】
ここで、稼動状況検知部１３は、稼動状況検知の根拠となる各実センサ２の故障検知時間等の情報を、実センサ情報記憶部１４に記憶されている稼動状況検知用情報を参照することにより取得できる。なお、本実施形態による稼動状況検知部１３による稼動情報検知処理については、「３−１．稼動状況検知処理」において詳細に説明する。
【００５０】
実センサ情報記憶部１４は、各実センサ２の故障検知用情報や、稼動状況検知部１３により検知された各実センサ２の稼動状況の検知結果の履歴を記憶する。ここで、実センサ情報記憶部１４が記憶する情報の一例を図４および図５に示す。図４および図５に示すように、実センサ情報記憶部１４は、各実センサ２の故障検知用情報として「受信周期」および「故障検知時間」を記憶し、また、各実センサ２の稼動状況として「稼動情報」および「最終受信時刻」を記憶する。
【００５１】
図４は、稼動前（初期状態）の記憶例であって、「稼動情報」および「最終受信時刻」は全て「ＮＵＬＬ」とされる。また、故障検知用情報の「受信周期」および「故障検知時間」は、入力装置３から予め利用者により設定されてもよい。
【００５２】
図５は、稼動後の記憶例であって、稼動状況検知部１３により検知された稼動状況（稼動中、停止中、故障等）が「稼動情報」として記憶される。また、「最終受信時刻」として、実センサ２から実センサデータを直近で受信した時刻が記憶される。
【００５３】
なお、図４および図５に示すセンサＩＤは、実センサ２のＭＡＣ（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ）アドレス、製造番号、およびこれらを組み合わせたもの等、個々の実センサを識別するための識別子である。
【００５４】
また、図４および図５では、実センサ２の各々に対して、異なる故障検知用情報が設定されているが、全てまたはグループ毎に故障検知用情報を設定してもよい。例えば、同一メーカーや同一品番毎に故障検知用情報を設定してもよい。また、実センサ情報記憶部１４は、図４および図５に示す「受信周期」、「故障検知時間」、「稼動情報」および「最終受信時刻」以外の情報を含んでもよい。
【００５５】
信頼度判定部１５は、実センサ情報記憶部１４に記憶されている情報（複数の実センサ２の各々の稼働状況の検知結果の履歴）を用いて、仮想センサデータがどの程度信頼できるものであるのかを示す指標である信頼度を判定する。信頼度を判定するための具体的な判定プログラムは、信頼度判定部１５に設定される。判定プログラムには、信頼度の具体的な判定方法が含まれる。信頼度の判定方法は特に限定されないが、本実施形態による信頼度判定部１５は、例えば下記数式により信頼度を判定してもよい。
【００５６】
【数１】
0005948938.tif 000002
【００５７】
上記数式では、信頼度の最大値を１００とし、前回と今回の稼動中の実センサ数が異なる場合に、同一の場合よりも信頼度を低く判定している。また、上記数式中の「総実センサ数」とは、前回および今回の少なくともいずれかで稼動している実センサの数である。ここで、上記数式を用いて信頼度を判定した場合の一例を図６に示す。なお、図６に示す時刻０〜６は、図３に示す時刻０〜６と同様のタイミングである。
【００５８】
図６では、実センサ情報記憶部１４から抽出される時刻毎の各実センサ２の稼動情報（稼動状況検知部１３による検知結果）と、稼動情報を用いて信頼度判定部１５が演算により判定した信頼度を示す。図６では、各実センサ２が稼動中の場合は「○」、故障している場合は「×」と示す。
【００５９】
また、図６に示す例では、時刻３において実センサ２Ａが故障し、時刻４においても実センサ２Ａが引き続き故障している。次に、時刻５で実センサ２Ａが復旧し、また、時刻６で実センサ２Ｄが追加される。
【００６０】
図６に示す稼動情報の場合、信頼度判定部１５は、上記数式を用いて、以下のように信頼度を算出する。
時刻１：（３×３）／（３×３）＝１００
時刻２：（３×３）／（３×３）＝１００
時刻３：（３×２）／（３×３）＝６７
時刻４：（２×２）／（２×２）＝１００
時刻５：（２×３）／（３×３）＝６７
時刻６：（３×４）／（４×４）＝７５
【００６１】
なお、時刻０の時は、前回の実センサの稼動情報がないので、「信頼度なし」、または暫定的に１回の結果だけを見て「１００」とする。
【００６２】
また、上記数式では、前回稼動実センサ数と今回稼働中の実センサ数が同じ場合でも、稼動している実センサが異なる場合は、同じ場合より信頼度が低く判定される。例えば、前回稼動実センサが、実センサ２Ａ、２Ｂ、２Ｃの３つで、今回稼動中の実センサが、実センサ２Ｂ、２Ｃ、２Ｄの場合に上記数式を用いると、信頼度は次のように算出される。
（３×３）／（４×４）＝５６
【００６３】
このように、信頼度判定部１５は、仮想センサデータ生成部１２により生成された仮想センサデータが、どの程度信頼できるものであるのかを示す指標である信頼度を判定する。そして、信頼度判定部１５は、時刻毎に判定した信頼度をデータ付加部１６に出力する。また、信頼度判定部１５は、判定結果を実センサ情報記憶部１４に記憶してもよい。
【００６４】
なお、信頼度判定部１５による信頼度の判定方法は上記数式に限定されず、例えば、どのような仮想センサデータであるか、または仮想センサデータ生成部１２によりどのように仮想センサデータが生成されたかに応じて、数式を変化させてもよい。
【００６５】
データ付加部１６は、仮想センサデータ生成部１２から出力された仮想センサデータに、信頼度判定部１５から出力される信頼度を付加し、データ通信部１７に出力する。なお、データ付加部１６は、その他、タイムスタンプや位置情報等を付加情報として仮想センサデータに付加してもよい。
【００６６】
データ通信部１７は、データ付加部１６から出力された、信頼度が付加された仮想センサデータを、コンテキスト生成装置４に送信する。データ通信部１７とコンテキスト生成装置４の接続は、有線および無線のいずれであってもよい。また、データ通信部１７は、ゲートウェイ装置を介してコンテキスト生成装置４と接続してもよい。
【００６７】
以上、本実施形態によるデータ生成装置１の構成について詳細に説明した。続いて、本実施形態によるデータ生成装置１の動作処理について具体的に説明する。
【００６８】
＜３．動作処理＞
本実施形態によるデータ生成装置１は、上述したように、稼動状況検知部１３を有し、稼動状況検知部１３により各実センサ２の稼動状況（稼動中、故障等）を検知する処理を行う。また、本実施形態によるデータ生成装置１は、信頼度判定部１５を有し、信頼度判定部１５により各実センサ２の稼動状況に基づいて仮想センサデータの信頼度を判定する。そして、本実施形態によるデータ生成装置１は、仮想センサデータに信頼度を付加したデータを生成し、コンテキスト生成装置４に出力する処理を行う。
【００６９】
このように、本実施形態によるデータ生成装置１において行われる稼動状況検知処理、信頼度判定処理、およびデータ生成処理について、以下図７〜図９を参照して順次説明する。
【００７０】
［３−１．稼動状況検知処理］
図７は、本実施形態による稼動状況検知処理を示すフローチャートである。図７に示すように、まず、ステップＳ１０３において、実センサ情報記憶部１４に、故障検知用情報が設定される。故障検知用情報は、稼動状況検知部１３が稼動状況（特に、故障）を検知するために参照するデータである。なお、故障検知用情報とは、図４を参照して説明したように、例えば「受信周期」および「故障検知時間」の情報である。
【００７１】
次に、ステップＳ１０６において、データ生成装置１は仮想センサデータの生成処理を開始する。より具体的には、実センサデータ受信部１１が受信待ち状態になる。
【００７２】
次いで、ステップＳ１０９において、稼動状況検知部１３はタイマーをセットする。なお、稼動状況検知部１３は、実センサ情報記憶部１４に故障検知用情報が記憶されている全ての実センサについてタイマーセットを行う。例えば、図４に示すような故障検知用情報が記憶（登録）されている場合、稼動状況検知部１３は、実センサ２Ａおよび２Ｂは３０秒後、実センサ２Ｃは６０秒後にタイムアウトになるようタイマーをセットする。
【００７３】
次に、ステップＳ１１２において、稼動状況検知部１３は、複数の実センサ２のうち、いずれかから実センサデータを受信するイベント、またはいずれかの実センサ２がタイムアウトとなるイベントが発生したか否かを判断する。
【００７４】
実センサ２が実センサデータを受信した場合、続くステップＳ１１５において、稼動状況検知部１３は、どの実センサ２の実センサデータを受信したのかを判断する。そして、実センサ情報記憶部１４に記憶されている当該実センサ２の稼動情報を「稼動中」に更新する。
【００７５】
次いで、ステップＳ１１８において、稼動状況検知部１３は、実センサデータを受信した時刻に基づいて、実センサ情報記憶部１４に記憶されている当該実センサ２の「最終受信時刻」を更新する。
【００７６】
このように上記ステップＳ１１５およびＳ１１８に示す処理により、実センサ情報記憶部１４に記憶されている当該実センサの稼動状況が更新される。例えば、図５に示すように、実センサ２Ａ、２Ｂ、２Ｃの各々から実センサデータを受信した場合、稼動状況検知部１３により実センサ情報記憶部１４に記憶されている稼動情報が「稼動中」に更新され、さらに最終受信時刻が更新される。
【００７７】
一方、上記ステップＳ１１２でタイムアウトのイベントが発生した場合、続くステップＳ１２４において、稼動状況検知部１３は、どの実センサ２がタイムアウトしたかを判断する。そして、稼動状況検知部１３は、実センサ情報記憶部１４に記憶されている当該実センサ２の稼動情報を「故障」に更新する。
【００７８】
次に、ステップＳ１２１において、稼動状況検知部１３は、イベントが発生した実センサ２のタイマーをリセット、すなわち現時刻から故障検知時間経過後にタイムアウトになるようタイマーを再びセットする。
【００７９】
以上説明したように、本実施形態による稼動状況検知部１３は、実センサデータを受信せずに実センサ２の故障検知時間が経過した場合に、当該実センサ２の故障を検知する。なお、本実施形態による故障検知方法はこれに限定されず、例えば、稼動状況検知部１３は、実センサ２に対して送信したヘルスチェック信号に対して応答が返ってこなかった場合に、当該実センサ２の故障を検知してもよい。
【００８０】
［３−２．信頼度判定処理］
次に、本実施形態による信頼度判定部１５の処理について図８を参照して説明する。図８は、本実施形態による信頼度判定処理を示すフローチャートである。図８に示すように、まず、ステップＳＳ１３０において、信頼度判定部１５は、実センサ情報記憶部１４を参照し、稼動している実センサ数を抽出する。例えば、図６に示す例の場合、信頼度判定部１５は、時刻３において稼動している実センサ数は、実センサ２Ｂおよび２Ｃの２つであることを抽出する。
【００８１】
次に、ステップＳ１３３において、信頼度判定部１５は、実センサ情報記憶部１４を参照し、前回稼動していた実センサ数を抽出する。例えば、図６に示す例の場合、信頼度判定部１５は、時刻３の前回である時刻２において稼動している実センサ数は、実センサ２Ａ、２Ｂおよび２Ｃの３つであることを抽出する。
【００８２】
次いで、ステップＳ１３６において、信頼度判定部１５は、センサ数を用いた演算（上記［数１］参照）により信頼度を判定する。例えば、図６に示す例の場合、時刻３において生成された仮想センサデータの信頼度は、「６７」と判定される。
【００８３】
次に、ステップＳ１３９において、信頼度判定部１５は、判定した信頼度をデータ付加部１６に出力する。また、信頼度判定部１５は、判定した信頼度を実センサ情報記憶部１４に出力し、実センサ情報記憶部１４に保存させてもよい。さらに、信頼度判定部１５は、上記ステップＳ１３０で抽出した稼動実センサ数を、実センサ情報記憶部１４に保存させてもよい。
【００８４】
以上、本実施形態による信頼度の判定処理について詳細に説明した。なお、信頼度の判定タイミングは、図６に示すように、仮想センサデータの生成タイミング（図３参照）と同じであってもよいし、所定周期毎であってもよい。
【００８５】
［３−３．データ生成処理］
次に、本実施形態によるデータ生成装置１によるデータ生成処理について図９を参照して説明する。図９は、本実施形態によるデータ生成処理を示すフローチャートである。図９に示すように、まず、ステップＳ１４０において、実センサデータ受信部１１が実センサデータを受信し、受信した実センサデータを仮想センサデータ生成部１２および稼動状況検知部１３に出力する。稼動状況検知部１３に出力された実センサデータは、上述した稼動状況検知に利用され、また、実センサ情報記憶部１４に記憶される。
【００８６】
次いで、ステップＳ１４３において、仮想センサデータ生成部１２は、実センサデータ受信部１１から出力された実センサデータに基づいて仮想センサデータを生成し、生成した仮想センサデータをデータ付加部１６に出力する。
【００８７】
次に、ステップＳ１４６において、データ付加部１６は、仮想センサデータ生成部１２から出力された仮想センサデータに、信頼度判定部１５から出力された信頼度やタイムスタンプを付加し、付加したデータをデータ通信部１７に出力する。
【００８８】
次いで、ステップＳ１４９において、データ通信部１７は、信頼度等が付加された仮想センサデータをコンテキスト生成装置４に送信する。
【００８９】
以上、本実施形態によるデータ生成装置１によるデータ生成処理について詳細に説明した。続いて、このようにデータ生成装置１により生成された信頼度付きの仮想センサデータが、送信先でどのように利用されるのかについて、具体例を挙げて説明する。
【００９０】
＜４．利用例＞
上記データ生成装置１において生成された信頼度付きの仮想センサデータは、上記ステップＳ１４９に示したように、コンテキスト生成装置４に送信される。そして、コンテキスト生成装置４は、仮想センサデータおよび信頼度に基づいて、ＡＰ実行装置５で実行されるアプリケーションに対応したコンテキストを生成する。
【００９１】
［４−１．アラームを鳴らすアプリケーションの場合］
例えば、ＡＰ実行装置５で実行されるアプリケーションが、急激な温度変化（１分間に１℃以上の温度変化）がある場合にアラームを鳴らすアプリケーション（ＡＰ）５１の場合、コンテキスト生成装置４は、急激な温度変化の有無を示すコンテキストを生成する。
【００９２】
より具体的には、コンテキスト生成装置４は、データ生成装置１から出力される仮想センサデータに基づいて温度変化を判定し、コンテキストを生成する。例えば、コンテキスト生成装置４は、仮想センサデータに基づいて、１分間に１℃以上温度変化していると判定した場合、「急激な温度変化有り」という情報（コンテキスト）を生成する。また、コンテキスト生成装置４は、仮想センサデータに基づいて、１分間に１℃以上温度変化していないと判定した場合、「急激な温度変化無し」という情報（コンテキスト）を生成する。
【００９３】
そして、コンテキスト生成装置４は、仮想センサデータの信頼度に基づいて、信頼度が１００の場合は生成したコンテキストをＡＰ実行装置５に送信し、信頼度が１００未満の場合は送信しないようにしてもよい。
【００９４】
若しくは、コンテキスト生成装置４が、仮想センサデータおよび信頼度に基づいて、以下のようなコンテキストを生成してＡＰ実行装置５に送信してもよい。
「急激な温度変化有り、かつ信頼度１００」
「急激な温度変化は有るが、信頼度は１００未満」
「急激な温度変化無し、かつ信頼度１００」
「急激な温度変化は無いが、信頼度は１００未満」
【００９５】
この場合、ＡＰ実行装置５において、ＡＰ５１が、信頼度を参考にアラームを鳴らす処理を実行するか否かを決定する。
【００９６】
上述したように、ＡＰ５１は、信頼度が１００の仮想センサデータに基づいたコンテキストを使用することができ、また、実センサの故障等により異常値となった仮想センサデータを使用する恐れが回避される。
【００９７】
ここで、信頼度に応じたＡＰ５１における仮想センサデータの使用有無について図１０に具体例を示す。図１０に示すように、時刻１では、時刻０からの仮想センサデータの温度変化は０℃であり、かつ仮想センサデータの信頼度が１００であるので、ＡＰ５１は急激な温度変化無しとのコンテキストに従い（仮想センサデータを使用）、アラームは鳴らさない。
【００９８】
また、時刻２では、時刻１からの仮想センサデータの温度変化が１℃であり、かつ仮想センサデータの信頼度が１００であるので、ＡＰ５１は急激な温度変化有りとのコンテキストに従い（仮想センサデータを使用）、アラームを鳴らす。
【００９９】
また、時刻３では、時刻２からの仮想センサデータの温度変化が２．５℃であるが、仮想センサデータの信頼度が６７であるので、ＡＰ５１は急激な温度変化有りとのコンテキストに従わず（仮想センサデータ不使用）、アラームは鳴らさない。すなわち、本実施形態によれば、ＡＰ５１が実センサの故障等を把握することは困難であるので、信頼度が１００未満の場合はＡＰ５１に仮想センサデータを使用させないことで、異常値となった仮想センサデータが使用される恐れを回避することができる。
【０１００】
また、時刻４では、時刻３からの仮想センサデータの温度変化が２．５℃であり、かつ仮想センサデータの信頼度が１００であるので、ＡＰ５１は急激な温度変化有りとのコンテキストに従い（仮想センサデータを使用）、アラームを鳴らす。
【０１０１】
また、時刻５では、時刻４からの仮想センサデータの温度変化が５℃であるが、仮想センサデータの信頼度が６７であるので、ＡＰ５１は急激な温度変化有りとのコンテキストに従わず（仮想センサデータ不使用）、アラームは鳴らさない。
【０１０２】
また、時刻６では、時刻５からの仮想センサデータの温度変化が１．３℃であるが、仮想センサデータの信頼度が７５であるので、ＡＰ５１は急激な温度変化有りとのコンテキストに従わず（仮想センサデータ不使用）、アラームは鳴らさない。
【０１０３】
以上、温度変化に応じてアラームを鳴らすアプリケーション（ＡＰ）５１がＡＰ実行装置５で実行される場合の仮想センサデータおよび信頼度の利用例について説明した。なお、ＡＰ実行装置５で実行されるアプリケーションは上述したＡＰ５１に限定されず、例えば次に説明するようなアプリケーションであってもよい。
【０１０４】
［４−２．モニタリングするアプリケーションの場合］
例えば、ＡＰ実行装置５で実行されるアプリケーションが、１分間に１回温度をモニタに表示する（モニタリングする）アプリケーション（ＡＰ）５２の場合、コンテキスト生成装置４は、信頼度に関係なく生成したコンテキストを全てＡＰ実行装置５に送信する。
【０１０５】
より具体的には、コンテキスト生成装置４は、データ生成装置１から出力される仮想センサデータに基づいて生成したコンテキストを全てＡＰ実行装置５に送信し、ＡＰ実行装置５は、受信したコンテキストに従って仮想センサデータの値をモニタに表示する。
【０１０６】
例えば、仮想センサデータが「２４℃」の場合、コンテキスト生成装置４は、「仮想センサにより２４℃と検知された」旨のコンテキストを生成し、ＡＰ実行装置５に送信する。ＡＰ実行装置５において、ＡＰ５２は、受信したコンテキストに従い、モニタに「２４℃」と表示する。
【０１０７】
上述したＡＰ５１は、仮想センサデータの変化に応じたアプリケーションであって、実センサの故障等により影響されるので、仮想センサデータの信頼度を参照して仮想センサデータを使用していた。しかし、ＡＰ５２は、瞬間値を表示するアプリケーションであって、ある時刻で稼働中の実センサに基づいて生成される仮想センサデータのみを使用するので、実センサの故障等による影響は受けない。よって、ＡＰ５２では、仮想センサデータの信頼度に関係なく仮想センサデータを使用している。
【０１０８】
ここで、信頼度を参照しないＡＰ５２における仮想センサデータの使用有無について図１０に具体例を示す。図１０に示すように、時刻１〜６において、ＡＰ５２は、信頼度に関わらず、温度（仮想センサデータの値）をモニタに表示する制御を行う（仮想センサデータを使用）。
【０１０９】
なお、コンテキスト生成装置４が、生成したコンテキストと共に仮想センサデータの信頼度をＡＰ実行装置５に送信する場合でも、ＡＰ実行装置５において実行されるＡＰ５２は、信頼度に関係なく受信したコンテキストに従って処理を行う。
【０１１０】
＜５．まとめ＞
以上説明したように、本実施形態によるデータ生成システムによれば、仮想センサデータの信頼度を判定することで、一部の実センサが故障等した場合における仮想センサデータを使用するアプリケーションへの影響を防ぐことができる。
【０１１１】
なお、添付図面を参照しながら本発明の好適な実施形態について詳細に説明したが、本発明はかかる例に限定されない。本発明の属する技術の分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本発明の技術的範囲に属するものと了解される。
【０１１２】
例えば、上述した実施形態では、データ生成装置１は単体の装置として説明したが、コンテキスト生成装置４と一体化した装置であってもよい。また、データ生成装置１は、実センサ２と一体化した装置であってもよい。
【０１１３】
また、上述した実施形態では、データ生成装置１が、仮想センサデータと共に信頼度をコンテキスト生成装置４に送信しているが、本実施形態による信頼度の送信タイミングはこれに限定されない。例えば、データ生成装置１は、コンテキスト生成装置４からの要求に応じて、信頼度を送信してもよい。
【０１１４】
また、上述した実施形態では、データ生成装置１の信頼度判定部１５において、複数の実センサ２が同等の場合における信頼度の判定について説明したが、本実施形態による信頼度の判定方法はこれに限定されない。例えば、複数の実センサ２毎に重要度を設定し（重み付け）、信頼度判定部１５は、故障等した実センサの重要度が高いかどうかに応じて、信頼度の判定に差をつけるようにしてもよい。これにより、ＡＰ実行装置５で実行されるアプリケーションは、重要な実センサが稼動しているか否かを重視して処理を行うことができる。
【０１１５】
また、図２に示したデータ生成装置１の各機能ブロックの処理を、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）およびＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）などのハードウェアで実現することができる。
【０１１６】
また、これらハードウェアを、上述したデータ生成装置１の各機能ブロックと同等の機能を発揮させるためのコンピュータプログラムも作成可能である。さらに、該コンピュータプログラムを記憶させた記憶媒体も提供される。記録媒体とは、例えば、磁気ディスク、光ディスク、光磁気ディスクおよびフラッシュメモリなどである。また、上記のコンピュータプログラムは、記録媒体を用いずに、例えばネットワークを介して配信してもよい。
【符号の説明】
【０１１７】
１      データ生成装置
２Ａ〜２ｎ    実センサ
３      入力装置
４      コンテキスト生成装置
５      アプリケーション実行装置
１１    実センサデータ受信部
１２    仮想センサデータ生成部
１３    稼動状況検知部
１４    実センサ情報記憶部
１５    信頼度判定部
１６    データ付加部
１７    データ通信部
【図１】
0005948938.tif 000003
【図２】
0005948938.tif 000004
【図３】
0005948938.tif 000005
【図４】
0005948938.tif 000006
【図５】
0005948938.tif 000007
【図６】
0005948938.tif 000008
【図７】
0005948938.tif 000009
【図８】
0005948938.tif 000010
【図９】
0005948938.tif 000011
【図１０】
0005948938.tif 000012