(58)【調査した分野】(Int.Cl.,DB名)
前記信頼度判定部は、前記稼働状況検知部による今回判定時で稼働中であると検知された実センサが、前回判定時に稼働中であると検知された実センサと全部又は一部異なる場合、前記今回判定時及び前回判定時で検知された実センサの双方が全部同一である場合の前記仮想センサデータの信頼度よりも該信頼度を低く判定する、請求項1に記載のデータ生成装置。
前記信頼度判定部は、前記複数の実センサ各々の属性情報を基に前記検知結果を重み付けし、その重み付け後の検知結果を基に前記仮想センサデータの信頼度を判定する、請求項1に記載のデータ生成装置。
前記実センサの属性情報は、仮想センサを構成する実センサのうち他の実センサと比較して、前記仮想センサとしてのセンシング結果に影響を及ぼす意味で重要であるか否かの程度を示す情報である、請求項3に記載のデータ生成装置。
前記稼働状況検知部は、前記取得部により1の実センサから実センサデータが取得されてから所定時間が経過する前に当該実センサから新たな実センサデータが取得された場合に当該実センサが稼働中であることを検知する、請求項1から5のいずれか1項に記載のデータ生成装置。
前記生成部により生成された前記仮想センサデータ、および前記信頼度判定部により判定された前記仮想センサデータの信頼度を出力するデータ通信部をさらに備える、請求項1から6のいずれか1項に記載のデータ生成装置。
【発明を実施するための形態】
【0025】
以下に添付図面を参照しながら、本発明の実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【0026】
<1.データ生成システムの概要>
図1は、本発明の一実施形態によるデータ生成システムの全体構成を示す図である。
図1に示すように、本実施形態によるデータ生成システムは、データ生成装置1、複数の実センサ2A、2B、2C〜2n、入力装置3、コンテキスト生成装置4、およびアプリケーション実行装置5を含む。なお、以下複数の実センサ2A、2B、2C・・・2nを個々に区別する必要がない場合は実センサ2と称す。
【0027】
実センサ2(実センサノード)は、検知部および通信部を有する。検知部は、温度、照度、または湿度等を検知することができる実センサである。ここで、実センサ2が有する検知部の数は、単数および複数のどちらであってもよい。本実施形態では、実センサ2が検知部を単数有する場合を例として説明する。
【0028】
また、実センサ2の通信部は、データ生成装置1と接続し、データを送信または受信する機能を有する。より具体的には、通信部は、検知部により検知された実センサデータ、および実センサ2のIDや種別等を示す実センサ情報をデータ生成装置1に送信する。なお、通信部とデータ生成装置1の接続は、有線および無線のどちらであってもよい。また、通信部は、ゲートウェイ装置を介してデータ生成装置1と接続してもよい。
【0029】
データ生成装置1は、複数の実センサ2A〜2nから送信された実センサデータを用いて仮想センサデータを生成し、生成した仮想センサデータをコンテキスト生成装置4に送信する。
【0030】
入力装置3は、データ生成装置1の各種設定を行うために利用者により入力された情報を、データ生成装置1に送信する。入力装置3は、例えばディスプレイおよびキーボード等を有する情報処理装置であってもよい。
【0031】
コンテキスト生成装置4は、データ生成装置1から送信された仮想センサデータに基づいてコンテキストを生成し、生成したコンテキストをアプリケーション実行装置5に送信する。また、コンテキスト生成装置4は、生成したコンテキストのフィードバック等のイベントデータを用いてコンテキストを生成してもよい。
【0032】
アプリケーション実行装置5(以下、AP実行装置5とも称す)は、コンテキスト生成装置4から送信されたコンテキストを用いて何らかの処理を行うアプリケーションを実行する装置である。例えば、AP実行装置5は、受信したコンテキストが所定の条件に該当する場合、指定のユーザに通知を行う。
【0033】
このように、本実施形態によるデータ生成システムでは、データ生成装置1が、複数の実センサ2A〜2nを用いて仮想センサデータを生成し、コンテキスト生成装置4に提供する。
【0034】
ここで、上述したように、例えば仮想センサデータが複数の実センサデータの平均値として生成される場合、一部の実センサが故障により実センサデータを送信できなくても、残りの実センサデータに基づいて仮想センサデータが生成され得る。ただし、この場合は故障した実センサのセンサデータを考慮していないので、生成された仮想センサデータが故障前と比べて大きく変化した異常値である可能性がある。
【0035】
しかしながら、データ生成装置1が提供する仮想センサデータのみからは実センサ2の情報や実センサデータを把握できないので、コンテキスト生成装置4は提供された仮想センサデータを全て正常な値とみなすことになる。また、コンテキストを受信するアプリケーション実行装置5においても同様に、正常な値に基づいて生成されたコンテキストとして取り扱うことになる。
【0036】
そこで、上記事情を一着眼点にして本発明の実施形態によるデータ生成システムを創作するに至った。本発明の実施形態によるデータ生成システムでは、データ生成装置1が、仮想センサデータの生成に加えて、生成した仮想センサデータの信頼度を判定することが可能である。また、これにより、アプリケーション実行装置5は、仮想センサデータの信頼度に基づいて、コンテキストに応じた処理の実行を行うか否かを判断することができる。以下、このような本発明の一実施形態によるデータ生成システムに含まれるデータ生成装置1の基本構成と動作処理について詳細に説明する。
【0037】
<2.基本構成>
図2は、本実施形態によるデータ生成装置1の構成を示すブロック図である。
図2に示すように、データ生成装置1は、実センサデータ受信部11、仮想センサデータ生成部12、稼動状況検知部13、実センサ情報記憶部14、信頼度判定部15、データ付加部16、およびデータ通信部17を有する。
【0038】
実センサデータ受信部11は、実センサ2と接続し、実センサデータや、実センサ情報を受信する。ここで、実センサ情報とは、実センサ2のID、種別、動作仕様等といった実センサ2に関する情報である。
【0039】
また、実センサデータ受信部11は、実センサ2から受信したデータを仮想センサデータ生成部12および稼動状況検知部13に出力する。
【0040】
仮想センサデータ生成部12は、実センサデータ受信部11から出力された実センサデータを用いて仮想センサデータを生成し、生成した仮想センサデータをコンテキスト生成装置4に出力する。また、本実施形態による仮想センサデータ生成部12は、実センサデータを蓄積する機能を有し、蓄積した複数の実センサデータを用いて仮想センサデータを生成することができる。
【0041】
仮想センサデータ生成を行うための具体的な生成プログラムは、仮想センサデータ生成部12に設定される。生成プログラムには、仮想センサデータの具体的な生成方法や、利用する実センサを指定する情報である実センサ指定情報が含まれる。仮想センサデータ生成部12は、例えば複数の実センサデータの平均値、中央値、または最頻値などを仮想センサデータとして生成する。
【0042】
ここで、仮想センサデータ生成部12により生成される仮想センサデータの一例を
図3に示す。
図3に示す例では、複数の温度センサ(実センサ)から出力された実センサデータに基づいて、複数の実センサデータの平均値を仮想センサデータとして1分ごとに算出されている。
【0043】
例えば、
図3に示す時刻1では、実センサ2A、2B、2Cから各々出力された実センサデータ(温度データ)に基づいて、仮想センサデータ(平均値)が生成されている。
【0044】
また、時刻3では、実センサ2Aが故障により実センサデータを出力できないので、仮想センサデータ生成部12は、実センサ2B、2Cから各々出力された実センサデータに基づいて仮想センサデータ(平均値)を生成している。よって、時刻3の仮想センサデータ「27.5」は、時刻2の仮想センサデータ「25.0」に対して変動が大きくなる。
【0045】
さらに、時刻5では、実センサ2Aの復旧により実センサ2Aから実センサデータが出力されるので、仮想センサデータ生成部12は、実センサ2A、2B、2Cから各々出力された実センサデータに基づいて仮想センサデータ(平均値)を生成する。よって、時刻5の仮想センサデータ「25.0」は、時刻4の仮想センサデータ「30.0」に対して変動が大きくなる。
【0046】
続いて、時刻6では、実センサ2Dの追加により実センサ2Dから実センサデータが出力されるので、仮想センサデータ生成部12は、実センサ2A、2B、2C、2Dから各々出力された実センサデータに基づいて仮想センサデータ(平均値)を生成する。よって、時刻6の仮想センサデータ「26.3」は、時刻5の仮想センサデータ「25.0」に対して変動が大きくなる。
【0047】
このように、複数の実センサデータの平均値等を仮想センサデータとした場合、一の実センサの故障、追加等により値が大きく変動することがあるが、仮想センサデータ生成部12は、生成した仮想センサデータを全てデータ付加部16に出力する。
【0048】
稼動状況検知部13は、複数の実センサ2の各々の稼動状況を検知する機能を有する。より具体的には、稼動状況検知部13は、例えばタイマー機能を有し、実センサデータの受信時間に基づいて、実センサ2が正常に動作しているか(稼動中)、若しくは故障しているか等を検知することができる。
【0049】
ここで、稼動状況検知部13は、稼動状況検知の根拠となる各実センサ2の故障検知時間等の情報を、実センサ情報記憶部14に記憶されている稼動状況検知用情報を参照することにより取得できる。なお、本実施形態による稼動状況検知部13による稼動情報検知処理については、「3−1.稼動状況検知処理」において詳細に説明する。
【0050】
実センサ情報記憶部14は、各実センサ2の故障検知用情報や、稼動状況検知部13により検知された各実センサ2の稼動状況の検知結果の履歴を記憶する。ここで、実センサ情報記憶部14が記憶する情報の一例を
図4および
図5に示す。
図4および
図5に示すように、実センサ情報記憶部14は、各実センサ2の故障検知用情報として「受信周期」および「故障検知時間」を記憶し、また、各実センサ2の稼動状況として「稼動情報」および「最終受信時刻」を記憶する。
【0051】
図4は、稼動前(初期状態)の記憶例であって、「稼動情報」および「最終受信時刻」は全て「NULL」とされる。また、故障検知用情報の「受信周期」および「故障検知時間」は、入力装置3から予め利用者により設定されてもよい。
【0052】
図5は、稼動後の記憶例であって、稼動状況検知部13により検知された稼動状況(稼動中、停止中、故障等)が「稼動情報」として記憶される。また、「最終受信時刻」として、実センサ2から実センサデータを直近で受信した時刻が記憶される。
【0053】
なお、
図4および
図5に示すセンサIDは、実センサ2のMAC(Media Access Control)アドレス、製造番号、およびこれらを組み合わせたもの等、個々の実センサを識別するための識別子である。
【0054】
また、
図4および
図5では、実センサ2の各々に対して、異なる故障検知用情報が設定されているが、全てまたはグループ毎に故障検知用情報を設定してもよい。例えば、同一メーカーや同一品番毎に故障検知用情報を設定してもよい。また、実センサ情報記憶部14は、
図4および
図5に示す「受信周期」、「故障検知時間」、「稼動情報」および「最終受信時刻」以外の情報を含んでもよい。
【0055】
信頼度判定部15は、実センサ情報記憶部14に記憶されている情報(複数の実センサ2の各々の稼働状況の検知結果の履歴)を用いて、仮想センサデータがどの程度信頼できるものであるのかを示す指標である信頼度を判定する。信頼度を判定するための具体的な判定プログラムは、信頼度判定部15に設定される。判定プログラムには、信頼度の具体的な判定方法が含まれる。信頼度の判定方法は特に限定されないが、本実施形態による信頼度判定部15は、例えば下記数式により信頼度を判定してもよい。
【0057】
上記数式では、信頼度の最大値を100とし、前回と今回の稼動中の実センサ数が異なる場合に、同一の場合よりも信頼度を低く判定している。また、上記数式中の「総実センサ数」とは、前回および今回の少なくともいずれかで稼動している実センサの数である。ここで、上記数式を用いて信頼度を判定した場合の一例を
図6に示す。なお、
図6に示す時刻0〜6は、
図3に示す時刻0〜6と同様のタイミングである。
【0058】
図6では、実センサ情報記憶部14から抽出される時刻毎の各実センサ2の稼動情報(稼動状況検知部13による検知結果)と、稼動情報を用いて信頼度判定部15が演算により判定した信頼度を示す。
図6では、各実センサ2が稼動中の場合は「○」、故障している場合は「×」と示す。
【0059】
また、
図6に示す例では、時刻3において実センサ2Aが故障し、時刻4においても実センサ2Aが引き続き故障している。次に、時刻5で実センサ2Aが復旧し、また、時刻6で実センサ2Dが追加される。
【0060】
図6に示す稼動情報の場合、信頼度判定部15は、上記数式を用いて、以下のように信頼度を算出する。
時刻1:(3×3)/(3×3)=100
時刻2:(3×3)/(3×3)=100
時刻3:(3×2)/(3×3)=67
時刻4:(2×2)/(2×2)=100
時刻5:(2×3)/(3×3)=67
時刻6:(3×4)/(4×4)=75
【0061】
なお、時刻0の時は、前回の実センサの稼動情報がないので、「信頼度なし」、または暫定的に1回の結果だけを見て「100」とする。
【0062】
また、上記数式では、前回稼動実センサ数と今回稼働中の実センサ数が同じ場合でも、稼動している実センサが異なる場合は、同じ場合より信頼度が低く判定される。例えば、前回稼動実センサが、実センサ2A、2B、2Cの3つで、今回稼動中の実センサが、実センサ2B、2C、2Dの場合に上記数式を用いると、信頼度は次のように算出される。
(3×3)/(4×4)=56
【0063】
このように、信頼度判定部15は、仮想センサデータ生成部12により生成された仮想センサデータが、どの程度信頼できるものであるのかを示す指標である信頼度を判定する。そして、信頼度判定部15は、時刻毎に判定した信頼度をデータ付加部16に出力する。また、信頼度判定部15は、判定結果を実センサ情報記憶部14に記憶してもよい。
【0064】
なお、信頼度判定部15による信頼度の判定方法は上記数式に限定されず、例えば、どのような仮想センサデータであるか、または仮想センサデータ生成部12によりどのように仮想センサデータが生成されたかに応じて、数式を変化させてもよい。
【0065】
データ付加部16は、仮想センサデータ生成部12から出力された仮想センサデータに、信頼度判定部15から出力される信頼度を付加し、データ通信部17に出力する。なお、データ付加部16は、その他、タイムスタンプや位置情報等を付加情報として仮想センサデータに付加してもよい。
【0066】
データ通信部17は、データ付加部16から出力された、信頼度が付加された仮想センサデータを、コンテキスト生成装置4に送信する。データ通信部17とコンテキスト生成装置4の接続は、有線および無線のいずれであってもよい。また、データ通信部17は、ゲートウェイ装置を介してコンテキスト生成装置4と接続してもよい。
【0067】
以上、本実施形態によるデータ生成装置1の構成について詳細に説明した。続いて、本実施形態によるデータ生成装置1の動作処理について具体的に説明する。
【0068】
<3.動作処理>
本実施形態によるデータ生成装置1は、上述したように、稼動状況検知部13を有し、稼動状況検知部13により各実センサ2の稼動状況(稼動中、故障等)を検知する処理を行う。また、本実施形態によるデータ生成装置1は、信頼度判定部15を有し、信頼度判定部15により各実センサ2の稼動状況に基づいて仮想センサデータの信頼度を判定する。そして、本実施形態によるデータ生成装置1は、仮想センサデータに信頼度を付加したデータを生成し、コンテキスト生成装置4に出力する処理を行う。
【0069】
このように、本実施形態によるデータ生成装置1において行われる稼動状況検知処理、信頼度判定処理、およびデータ生成処理について、以下
図7〜
図9を参照して順次説明する。
【0070】
[3−1.稼動状況検知処理]
図7は、本実施形態による稼動状況検知処理を示すフローチャートである。
図7に示すように、まず、ステップS103において、実センサ情報記憶部14に、故障検知用情報が設定される。故障検知用情報は、稼動状況検知部13が稼動状況(特に、故障)を検知するために参照するデータである。なお、故障検知用情報とは、
図4を参照して説明したように、例えば「受信周期」および「故障検知時間」の情報である。
【0071】
次に、ステップS106において、データ生成装置1は仮想センサデータの生成処理を開始する。より具体的には、実センサデータ受信部11が受信待ち状態になる。
【0072】
次いで、ステップS109において、稼動状況検知部13はタイマーをセットする。なお、稼動状況検知部13は、実センサ情報記憶部14に故障検知用情報が記憶されている全ての実センサについてタイマーセットを行う。例えば、
図4に示すような故障検知用情報が記憶(登録)されている場合、稼動状況検知部13は、実センサ2Aおよび2Bは30秒後、実センサ2Cは60秒後にタイムアウトになるようタイマーをセットする。
【0073】
次に、ステップS112において、稼動状況検知部13は、複数の実センサ2のうち、いずれかから実センサデータを受信するイベント、またはいずれかの実センサ2がタイムアウトとなるイベントが発生したか否かを判断する。
【0074】
実センサ2が実センサデータを受信した場合、続くステップS115において、稼動状況検知部13は、どの実センサ2の実センサデータを受信したのかを判断する。そして、実センサ情報記憶部14に記憶されている当該実センサ2の稼動情報を「稼動中」に更新する。
【0075】
次いで、ステップS118において、稼動状況検知部13は、実センサデータを受信した時刻に基づいて、実センサ情報記憶部14に記憶されている当該実センサ2の「最終受信時刻」を更新する。
【0076】
このように上記ステップS115およびS118に示す処理により、実センサ情報記憶部14に記憶されている当該実センサの稼動状況が更新される。例えば、
図5に示すように、実センサ2A、2B、2Cの各々から実センサデータを受信した場合、稼動状況検知部13により実センサ情報記憶部14に記憶されている稼動情報が「稼動中」に更新され、さらに最終受信時刻が更新される。
【0077】
一方、上記ステップS112でタイムアウトのイベントが発生した場合、続くステップS124において、稼動状況検知部13は、どの実センサ2がタイムアウトしたかを判断する。そして、稼動状況検知部13は、実センサ情報記憶部14に記憶されている当該実センサ2の稼動情報を「故障」に更新する。
【0078】
次に、ステップS121において、稼動状況検知部13は、イベントが発生した実センサ2のタイマーをリセット、すなわち現時刻から故障検知時間経過後にタイムアウトになるようタイマーを再びセットする。
【0079】
以上説明したように、本実施形態による稼動状況検知部13は、実センサデータを受信せずに実センサ2の故障検知時間が経過した場合に、当該実センサ2の故障を検知する。なお、本実施形態による故障検知方法はこれに限定されず、例えば、稼動状況検知部13は、実センサ2に対して送信したヘルスチェック信号に対して応答が返ってこなかった場合に、当該実センサ2の故障を検知してもよい。
【0080】
[3−2.信頼度判定処理]
次に、本実施形態による信頼度判定部15の処理について
図8を参照して説明する。
図8は、本実施形態による信頼度判定処理を示すフローチャートである。
図8に示すように、まず、ステップSS130において、信頼度判定部15は、実センサ情報記憶部14を参照し、稼動している実センサ数を抽出する。例えば、
図6に示す例の場合、信頼度判定部15は、時刻3において稼動している実センサ数は、実センサ2Bおよび2Cの2つであることを抽出する。
【0081】
次に、ステップS133において、信頼度判定部15は、実センサ情報記憶部14を参照し、前回稼動していた実センサ数を抽出する。例えば、
図6に示す例の場合、信頼度判定部15は、時刻3の前回である時刻2において稼動している実センサ数は、実センサ2A、2Bおよび2Cの3つであることを抽出する。
【0082】
次いで、ステップS136において、信頼度判定部15は、センサ数を用いた演算(上記[数1]参照)により信頼度を判定する。例えば、
図6に示す例の場合、時刻3において生成された仮想センサデータの信頼度は、「67」と判定される。
【0083】
次に、ステップS139において、信頼度判定部15は、判定した信頼度をデータ付加部16に出力する。また、信頼度判定部15は、判定した信頼度を実センサ情報記憶部14に出力し、実センサ情報記憶部14に保存させてもよい。さらに、信頼度判定部15は、上記ステップS130で抽出した稼動実センサ数を、実センサ情報記憶部14に保存させてもよい。
【0084】
以上、本実施形態による信頼度の判定処理について詳細に説明した。なお、信頼度の判定タイミングは、
図6に示すように、仮想センサデータの生成タイミング(
図3参照)と同じであってもよいし、所定周期毎であってもよい。
【0085】
[3−3.データ生成処理]
次に、本実施形態によるデータ生成装置1によるデータ生成処理について
図9を参照して説明する。
図9は、本実施形態によるデータ生成処理を示すフローチャートである。
図9に示すように、まず、ステップS140において、実センサデータ受信部11が実センサデータを受信し、受信した実センサデータを仮想センサデータ生成部12および稼動状況検知部13に出力する。稼動状況検知部13に出力された実センサデータは、上述した稼動状況検知に利用され、また、実センサ情報記憶部14に記憶される。
【0086】
次いで、ステップS143において、仮想センサデータ生成部12は、実センサデータ受信部11から出力された実センサデータに基づいて仮想センサデータを生成し、生成した仮想センサデータをデータ付加部16に出力する。
【0087】
次に、ステップS146において、データ付加部16は、仮想センサデータ生成部12から出力された仮想センサデータに、信頼度判定部15から出力された信頼度やタイムスタンプを付加し、付加したデータをデータ通信部17に出力する。
【0088】
次いで、ステップS149において、データ通信部17は、信頼度等が付加された仮想センサデータをコンテキスト生成装置4に送信する。
【0089】
以上、本実施形態によるデータ生成装置1によるデータ生成処理について詳細に説明した。続いて、このようにデータ生成装置1により生成された信頼度付きの仮想センサデータが、送信先でどのように利用されるのかについて、具体例を挙げて説明する。
【0090】
<4.利用例>
上記データ生成装置1において生成された信頼度付きの仮想センサデータは、上記ステップS149に示したように、コンテキスト生成装置4に送信される。そして、コンテキスト生成装置4は、仮想センサデータおよび信頼度に基づいて、AP実行装置5で実行されるアプリケーションに対応したコンテキストを生成する。
【0091】
[4−1.アラームを鳴らすアプリケーションの場合]
例えば、AP実行装置5で実行されるアプリケーションが、急激な温度変化(1分間に1℃以上の温度変化)がある場合にアラームを鳴らすアプリケーション(AP)51の場合、コンテキスト生成装置4は、急激な温度変化の有無を示すコンテキストを生成する。
【0092】
より具体的には、コンテキスト生成装置4は、データ生成装置1から出力される仮想センサデータに基づいて温度変化を判定し、コンテキストを生成する。例えば、コンテキスト生成装置4は、仮想センサデータに基づいて、1分間に1℃以上温度変化していると判定した場合、「急激な温度変化有り」という情報(コンテキスト)を生成する。また、コンテキスト生成装置4は、仮想センサデータに基づいて、1分間に1℃以上温度変化していないと判定した場合、「急激な温度変化無し」という情報(コンテキスト)を生成する。
【0093】
そして、コンテキスト生成装置4は、仮想センサデータの信頼度に基づいて、信頼度が100の場合は生成したコンテキストをAP実行装置5に送信し、信頼度が100未満の場合は送信しないようにしてもよい。
【0094】
若しくは、コンテキスト生成装置4が、仮想センサデータおよび信頼度に基づいて、以下のようなコンテキストを生成してAP実行装置5に送信してもよい。
「急激な温度変化有り、かつ信頼度100」
「急激な温度変化は有るが、信頼度は100未満」
「急激な温度変化無し、かつ信頼度100」
「急激な温度変化は無いが、信頼度は100未満」
【0095】
この場合、AP実行装置5において、AP51が、信頼度を参考にアラームを鳴らす処理を実行するか否かを決定する。
【0096】
上述したように、AP51は、信頼度が100の仮想センサデータに基づいたコンテキストを使用することができ、また、実センサの故障等により異常値となった仮想センサデータを使用する恐れが回避される。
【0097】
ここで、信頼度に応じたAP51における仮想センサデータの使用有無について
図10に具体例を示す。
図10に示すように、時刻1では、時刻0からの仮想センサデータの温度変化は0℃であり、かつ仮想センサデータの信頼度が100であるので、AP51は急激な温度変化無しとのコンテキストに従い(仮想センサデータを使用)、アラームは鳴らさない。
【0098】
また、時刻2では、時刻1からの仮想センサデータの温度変化が1℃であり、かつ仮想センサデータの信頼度が100であるので、AP51は急激な温度変化有りとのコンテキストに従い(仮想センサデータを使用)、アラームを鳴らす。
【0099】
また、時刻3では、時刻2からの仮想センサデータの温度変化が2.5℃であるが、仮想センサデータの信頼度が67であるので、AP51は急激な温度変化有りとのコンテキストに従わず(仮想センサデータ不使用)、アラームは鳴らさない。すなわち、本実施形態によれば、AP51が実センサの故障等を把握することは困難であるので、信頼度が100未満の場合はAP51に仮想センサデータを使用させないことで、異常値となった仮想センサデータが使用される恐れを回避することができる。
【0100】
また、時刻4では、時刻3からの仮想センサデータの温度変化が2.5℃であり、かつ仮想センサデータの信頼度が100であるので、AP51は急激な温度変化有りとのコンテキストに従い(仮想センサデータを使用)、アラームを鳴らす。
【0101】
また、時刻5では、時刻4からの仮想センサデータの温度変化が5℃であるが、仮想センサデータの信頼度が67であるので、AP51は急激な温度変化有りとのコンテキストに従わず(仮想センサデータ不使用)、アラームは鳴らさない。
【0102】
また、時刻6では、時刻5からの仮想センサデータの温度変化が1.3℃であるが、仮想センサデータの信頼度が75であるので、AP51は急激な温度変化有りとのコンテキストに従わず(仮想センサデータ不使用)、アラームは鳴らさない。
【0103】
以上、温度変化に応じてアラームを鳴らすアプリケーション(AP)51がAP実行装置5で実行される場合の仮想センサデータおよび信頼度の利用例について説明した。なお、AP実行装置5で実行されるアプリケーションは上述したAP51に限定されず、例えば次に説明するようなアプリケーションであってもよい。
【0104】
[4−2.モニタリングするアプリケーションの場合]
例えば、AP実行装置5で実行されるアプリケーションが、1分間に1回温度をモニタに表示する(モニタリングする)アプリケーション(AP)52の場合、コンテキスト生成装置4は、信頼度に関係なく生成したコンテキストを全てAP実行装置5に送信する。
【0105】
より具体的には、コンテキスト生成装置4は、データ生成装置1から出力される仮想センサデータに基づいて生成したコンテキストを全てAP実行装置5に送信し、AP実行装置5は、受信したコンテキストに従って仮想センサデータの値をモニタに表示する。
【0106】
例えば、仮想センサデータが「24℃」の場合、コンテキスト生成装置4は、「仮想センサにより24℃と検知された」旨のコンテキストを生成し、AP実行装置5に送信する。AP実行装置5において、AP52は、受信したコンテキストに従い、モニタに「24℃」と表示する。
【0107】
上述したAP51は、仮想センサデータの変化に応じたアプリケーションであって、実センサの故障等により影響されるので、仮想センサデータの信頼度を参照して仮想センサデータを使用していた。しかし、AP52は、瞬間値を表示するアプリケーションであって、ある時刻で稼働中の実センサに基づいて生成される仮想センサデータのみを使用するので、実センサの故障等による影響は受けない。よって、AP52では、仮想センサデータの信頼度に関係なく仮想センサデータを使用している。
【0108】
ここで、信頼度を参照しないAP52における仮想センサデータの使用有無について
図10に具体例を示す。
図10に示すように、時刻1〜6において、AP52は、信頼度に関わらず、温度(仮想センサデータの値)をモニタに表示する制御を行う(仮想センサデータを使用)。
【0109】
なお、コンテキスト生成装置4が、生成したコンテキストと共に仮想センサデータの信頼度をAP実行装置5に送信する場合でも、AP実行装置5において実行されるAP52は、信頼度に関係なく受信したコンテキストに従って処理を行う。
【0110】
<5.まとめ>
以上説明したように、本実施形態によるデータ生成システムによれば、仮想センサデータの信頼度を判定することで、一部の実センサが故障等した場合における仮想センサデータを使用するアプリケーションへの影響を防ぐことができる。
【0111】
なお、添付図面を参照しながら本発明の好適な実施形態について詳細に説明したが、本発明はかかる例に限定されない。本発明の属する技術の分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本発明の技術的範囲に属するものと了解される。
【0112】
例えば、上述した実施形態では、データ生成装置1は単体の装置として説明したが、コンテキスト生成装置4と一体化した装置であってもよい。また、データ生成装置1は、実センサ2と一体化した装置であってもよい。
【0113】
また、上述した実施形態では、データ生成装置1が、仮想センサデータと共に信頼度をコンテキスト生成装置4に送信しているが、本実施形態による信頼度の送信タイミングはこれに限定されない。例えば、データ生成装置1は、コンテキスト生成装置4からの要求に応じて、信頼度を送信してもよい。
【0114】
また、上述した実施形態では、データ生成装置1の信頼度判定部15において、複数の実センサ2が同等の場合における信頼度の判定について説明したが、本実施形態による信頼度の判定方法はこれに限定されない。例えば、複数の実センサ2毎に重要度を設定し(重み付け)、信頼度判定部15は、故障等した実センサの重要度が高いかどうかに応じて、信頼度の判定に差をつけるようにしてもよい。これにより、AP実行装置5で実行されるアプリケーションは、重要な実センサが稼動しているか否かを重視して処理を行うことができる。
【0115】
また、
図2に示したデータ生成装置1の各機能ブロックの処理を、CPU(Central Processing Unit)、ROM(Read Only Memory)およびRAM(Random Access Memory)などのハードウェアで実現することができる。
【0116】
また、これらハードウェアを、上述したデータ生成装置1の各機能ブロックと同等の機能を発揮させるためのコンピュータプログラムも作成可能である。さらに、該コンピュータプログラムを記憶させた記憶媒体も提供される。記録媒体とは、例えば、磁気ディスク、光ディスク、光磁気ディスクおよびフラッシュメモリなどである。また、上記のコンピュータプログラムは、記録媒体を用いずに、例えばネットワークを介して配信してもよい。