(57)【特許請求の範囲】
【請求項１】
イベントを識別するためのイベント識別情報を格納するイベントテーブルと、
イベントの条件を識別するためのイベント条件識別情報と、前記イベント識別情報と、要素条件を識別するための要素条件識別情報と、前記要素条件識別情報によって識別される要素条件に適用される論理演算子とを関連付けて格納するイベント条件テーブルと、
前記要素条件識別情報と、該要素条件識別情報で特定される要素条件が満たされるか否かの判定に用いる判断対象情報を特定する判断対象の識別情報と、該要素条件識別情報で特定される要素条件を規定する情報とを関連づけて格納する複数の要素条件テーブルと、
前記判断対象情報の識別情報と、前記判断対象情報の識別情報によって識別される判断対象情報とを関連付けて記憶する判断対象テーブルとを具備する記憶装置と、
前記記憶装置に接続された制御部とを具備し、
前記制御部は、
前記判断対象より判断対象情報を受信し、前記判断対象テーブルを参照して前記受信した判断対象情報に判断対象情報の識別情報を付与し、
前記判断対象の識別情報に関連付けられた要素条件が成立しているか否かを前記要素条件テーブルに格納された要素条件を規定するための情報と、前記判断対象テーブルに格納された判断対象情報とに基づいて判断し、前記要素条件が成立した頻度を前記要素条件識別情報毎に格納し、
前記判断対象の識別情報に関連付けられた要素条件識別情報に関連付けられたイベント条件識別情報を前記イベント条件テーブルを参照することにより得て、この得られたイベント条件識別情報に関連付けられたイベント識別情報によって示されるイベントが成立しているか否かを判断する手段を具備し、
前記要素条件の判断は、前記得られたイベント条件識別情報に関連付けられた論理演算子の全てがＯＲ論理演算子のみである場合に、前記頻度が高い順に判断することを特徴とするイベント判定装置。
【請求項２】
前記要素条件の判断は、前記得られたイベント条件識別情報に関連付けられた論理演算子の全てがＡＮＤ論理演算子のみである場合に、前記頻度が低い順に判断することを特徴とする請求項２記載のイベント判定装置。
【請求項３】
イベントを識別するためのイベント識別情報を格納するイベントテーブルと、
イベントの条件を識別するためのイベント条件識別情報と、前記イベント識別情報と、要素条件を識別するための要素条件識別情報と、前記要素条件識別情報によって識別される要素条件に適用される論理演算子とを関連付けて格納するイベント条件テーブルと、
前記要素条件識別情報と、該要素条件識別情報で特定される要素条件が満たされるか否かの判定に用いる判断対象情報を特定する判断対象の識別情報と、該要素条件識別情報で特定される要素条件を規定する情報とを関連づけて格納する複数の要素条件テーブルと、
前記判断対象情報の識別情報と、前記判断対象情報の識別情報によって識別される判断対象情報とを関連付けて記憶する判断対象テーブルとを具備する記憶装置と、
前記記憶装置に接続された制御部とを具備するイベント判定装置におけるイベント判定方法において、
前記制御部が、
前記判断対象より判断対象情報を受信し、前記判断対象テーブルを参照して前記受信した判断対象情報に判断対象情報の識別情報を付与し、
前記判断対象の識別情報に関連付けられた要素条件が成立しているか否かを前記要素条件テーブルに格納された要素条件を規定するための情報と、前記判断対象テーブルに格納された判断対象情報とに基づいて判断し、前記要素条件が成立した頻度を前記要素条件識別情報毎に格納し、
前記判断対象の識別情報に関連付けられた要素条件識別情報に関連付けられたイベント条件識別情報を前記イベント条件テーブルを参照することにより得て、この得られたイベント条件識別情報に関連付けられたイベント識別情報によって示されるイベントが成立しているか否かを判断し、
前記要素条件の判断は、前記得られたイベント条件識別情報に関連付けられた論理演算子の全てがＯＲ論理演算子のみである場合に、前記頻度が高い順に判断することを特徴とするイベント判定方法。
【請求項４】
前記要素条件の判断は、前記得られたイベント条件識別情報に関連付けられた論理演算子の全てがＡＮＤ論理演算子のみである場合に、前記頻度が低い順に判断することを特徴とする請求項３記載のイベント判定方法。
【請求項５】
請求項１記載のイベント判定装置における制御部に、請求項１記載の動作を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、イベントの判定を効率よく行なうことができるイベント判定装置に関する。
【背景技術】
【０００２】
従来より、イベントの判定を行なうイベント判定装置が存在する。このような従来のイベント判定装置は、イベントの判定を行なうに際し、イベント条件の要素条件毎に逐次判定を行なっている（例えば、特許文献１参照。）
【０００３】
【特許文献１】特開２００３−１６２７８１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来のイベント判定装置においては、イベントの判定を行なうに際し、イベント条件の要素条件毎に逐次判定を行なっているため、条件数やセンサ情報量が膨大な場合に、イベント判定に時間がかかるという問題があった。また、イベント条件に関わるセンサ情報の一部が不足する場合、そのセンサ情報が揃うまで判定が行なえないため、同様に、イベント判定に時間が掛かるという問題があった。
【０００５】
本発明は、上記実情に鑑みてなされたものであり、効率よくイベント判定を行なうことができるイベント判定装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するために、本発明の第１の発明は、イベントを識別するためのイベント識別情報を格納するイベントテーブルと、イベントの条件を識別するためのイベント条件識別情報と、前記イベント識別情報と、要素条件を識別するための要素条件識別情報と、前記要素条件識別情報によって識別される要素条件に適用される論理演算子とを関連付けて格納するイベント条件テーブルと、前記要素条件識別情報と、該要素条件識別情報で特定される要素条件が満たされるか否かの判定に用いる判断対象情報を特定する判断対象の識別情報と、該要素条件識別情報で特定される要素条件を規定する情報とを関連づけて格納する複数の要素条件テーブルと、前記判断対象情報の識別情報と、前記判断対象情報の識別情報によって識別される判断対象情報とを関連付けて記憶する判断対象テーブルとを具備する記憶装置と、前記記憶装置に接続された制御部とを具備し、前記制御部は、前記判断対象より判断対象情報を受信し、前記判断対象テーブルを参照して前記受信した判断対象情報に判断対象情報の識別情報を付与し、前記判断対象の識別情報に関連付けられた要素条件が成立しているか否かを前記要素条件テーブルに格納された要素条件を規定するための情報と、前記判断対象テーブルに格納された判断対象情報とに基づいて判断し、前記要素条件が成立した頻度を前記要素条件識別情報毎に格納し、前記判断対象の識別情報に関連付けられた要素条件識別情報に関連付けられたイベント条件識別情報を前記イベント条件テーブルを参照することにより得て、この得られたイベント条件識別情報に関連付けられたイベント識別情報によって示されるイベントが成立しているか否かを判断する手段を具備し、前記要素条件の判断は、前記得られたイベント条件識別情報に関連付けられた論理演算子の全てがＯＲ論理演算子のみである場合に、前記頻度が高い順に判断することを特徴とするイベント判定装置、である。
【発明の効果】
【０００９】
本発明によれば、効率よくイベント判定を行なうことができるイベント判定装置を提供することができる。
【発明を実施するための最良の形態】
【００１０】
以下、図面を参照して、本発明の実施の形態に係るイベント判定装置について説明する。
図１は、本発明の実施の形態に係るイベント判定装置の構成を示す図である。
同図に示すように、イベント判定装置１は、ネットワーク２に接続されている。このネットワーク２には、センサデータ送信装置３、イベント受信装置４及びイベント条件登録装置５が接続されている。
【００１１】
イベント判定装置１は、イベント条件登録部１１、イベント条件データベース１２、イベント条件登録通知部１３、イベントキャッシュ部１４、センサデータ収集部１５、イベント判定部１６及びイベント通知部１７を具備している。
イベント条件登録部１１は、イベント条件登録装置５から送られてくるイベント条件を要素条件に分解し、イベント条件データベース１２の要素条件テーブルを参照して、未登録の要素条件を追加するとともに、イベント条件テーブル及びイベントテーブルに当該イベント条件を追加する。
【００１２】
イベント条件データベース１２は、図２に示すように、イベントテーブル２１、イベント条件テーブル２２、要素条件テーブル２３及びセンサテーブル２４を有している。
イベントテーブル２１は、イベントＩＤ２１−１及びイベント名２１−２を具備しており、イベントＩＤ２１−１を介してイベント条件テーブル２２と関連付けられている。
【００１３】
イベント条件テーブル２２は、イベント条件ＩＤ２２−１、イベントテーブル２１のイベントＩＤ２１−１と関連付けられたイベントＩＤ２２−２、要素条件テーブル２３の要素条件ＩＤ２３−１と関連付けられた要素条件ＩＤ２２−３及び論理演算子２２−４を具備している。
【００１４】
要素条件テーブル２３は、イベント条件テーブル２２の要素条件ＩＤ２２−３に関連付けられた要素条件ＩＤ２３−１、センサテーブル２４のセンサＩＤに関連付けられたセンサＩＤ２３−２、比較演算子２３−３及び比較値２３−４を具備している。要素条件テーブル２４によって規定される要素条件は、互いに異なるものである。
【００１５】
センサテーブル２４は、要素条件テーブル２３のセンサＩＤ２３−２に関連付けられたセンサＩＤ２４−１、センサ名２４−２、データ型２４−３及び単位２４−４を具備している。
イベント条件登録部１１からイベント条件データベース１２へのイベント条件の登録について説明する。
【００１６】
例えば、イベント条件データベース１２に以下の登録があるものとする。
・［イベントテーブル２１］
イベントＩＤ：１，  イベント名：”暖房停止”
・［イベント条件テーブル２２」
イベント条件ＩＤ：１，  イベントＩＤ：１，  要素条件ＩＤ：１，  論理演算子：”none”
・［要素条件テーブル２３」
要素条件ＩＤ：１，  センサＩＤ：２，  比較演算子：”＞”，  比較値：２７
・［センサテーブル２４］
センサＩＤ：１，  センサ名：”ドア開閉センサ”，  データ型：string，  単位：”none”
センサＩＤ：２，  センサ名：”温度センサ”，  データ型：int，  単位：”℃”
ここで、イベント条件登録装置５から「暖房を作動」させる以下のイベント条件が送られたものとする。
【００１７】
（ドア開閉センサ＝”閉”）  ＡＮＤ  （温度センサ＜２０）
イベント条件登録部１１は、イベント条件登録装置５から上記イベント条件を受け取ると、イベント条件データベース１２に以下の登録を行なう。
・［イベントテーブル２１］
イベントＩＤ：２，  イベント名：”暖房作動”
・［イベント条件テーブル２２」
イベント条件ＩＤ：２，  イベントＩＤ：２，  要素条件ＩＤ：２，  論理演算子：”ＡＮＤ”
イベント条件ＩＤ：３，  イベントＩＤ：２，  要素条件ＩＤ：３，  論理演算子：”none”
・［要素条件テーブル２３」
要素条件ＩＤ：２，  センサＩＤ：１，  比較演算子：”＝”，  比較値：閉
要素条件ＩＤ：３，  センサＩＤ：２，  比較演算子：”＜”，  比較値：２０
イベント条件登録通知部１３は、イベント条件の追加や変更があった場合に当該イベントＩＤをイベントキャッシュ部１４に通知する。
【００１８】
イベントキャッシュ部１４は、イベント条件登録通知部１３から通知されたイベントＩＤに関するイベント条件をイベント条件データベース１２から取得し、イベント条件毎のリストを作成して格納する。このリストのレコードには、図３に示すように、要素条件ＩＤ、結合条件（ＡＮＤ，ＯＲの論理演算子）、初期値ＦＡＬＳＥの判定結果及び初期値零の条件成立数が含まれる。
【００１９】
センサデータ収集部１５は、センサデータ送信装置３から非同期に送られてくるセンサデータに、センサテーブル２４を参照することによりセンサＩＤを付与し、この付与されたセンサＩＤ及びセンサデータをイベント判定部１６に通知する。
イベント判定部１６は、センサデータ収集部１５から通知を受けたセンサＩＤに関わる要素条件をイベント条件データベース１２を参照することにより取得し、この取得された要素条件が満たされるか否かをセンサデータと比較することにより判定し、その結果をイベントキャッシュ部１４のリストの判定結果及び条件成立数に記録する。
【００２０】
これにより、複数のイベント条件があり、イベント条件間で要素条件の重複がある場合でも、同一の要素条件に対し、一度のセンサデータとの比較のみとすることができる。図３（ａ）は、記録前のイベントキャッシュ部のリストの例を示す図であり、図３（ｂ）は、記録後のイベントキャッシュ部のリストの例を示すである。
【００２１】
次に、イベント判定部１６は、センサデータ収集部１５から通知を受けたセンサＩＤを含むイベント条件に対して、そのイベント条件が満たされるか否かを判定するため、イベントキャッシュ部１４の当該イベント条件のリストの先頭レコードから順に判定結果をサーチし、成立した場合にのみイベント通知部１７にイベントＩＤを通知する。
【００２２】
ただし、ＯＲ論理演算子のみで結合されたイベント条件では、成立した要素条件が見つかった時点で当該イベント条件が成立したと判断してサーチを打ち切る。また、ＡＮＤ論理演算子のみで結合されたイベント条件では、不成立した要素条件が見つかった時点で当該イベント条件が不成立したと判定し、サーチを打ち切る。
【００２３】
また、判定結果のサーチの際に、当該レコードの結合条件がＯＲ演算子かつ成立条件数がその前方にあるレコードよりも大きい場合、そのレコードを前方に移動させることにより、成立頻度が高い順にソートする。
ＯＲ論理演算子のみで結合されたイベント条件は、一つの要素条件が成立した時点で当該イベント条件の正否判定を行なえることから、成立頻度が高い順にリストをソートすることによって、条件判定回数を少なくすることができる。
【００２４】
図４（ａ）は移動前のレコードのリストを示す図であり、図４（ｂ）は移動後のレコードのリストを示す図である。図４においては、要素条件ＩＤ：２のみが成立した場合について示している。
また、そのレコードの結合条件がＡＮＤ演算子かつ成立条件数がその前方にあるレコードより小さい場合、そのレコードを前方に移動させることにより、成立頻度が低いレコード順にリストをソートする。
【００２５】
ＡＮＤ論理演算子のみで結合されたイベント条件は、一つの要素条件が不成立した時点で当該イベント条件の正否判定を行なえることから、成立頻度が低い順にリストをソートすることによって、条件判定回数を少なくすることができる。
図５（ａ）は移動前のレコードのリストを示す図であり、図５（ｂ）は移動後のレコードのリストを示す図である。図５においては、要素条件ＩＤ：１のみが成立した場合について示している。
【００２６】
なお、イベント判定部１６は、センサデータ収集部１５から通知を受けたセンサＩＤ以外の要素条件は、イベントキャッシュ部１４に格納されたセンサＩＤ以外の要素条件のレコードの直前の判定結果を適用する。このような処理を行なうことにより、イベント条件に関わるセンサ情報の全てが揃わなくても収集したセンサ情報から逐次イベント判定を行なうことが可能となる。
【００２７】
イベント通知部１７は、イベント判定部１６から受けたイベントＩＤに対応するイベント名を、イベント条件データベース１２を検索することにより取得し、ネットワーク２を介してイベント受信装置４に通知する。
次に、本発明の実施の形態に係るイベント判定装置の動作について、図６乃至図９のフローチャートを参照して説明する。
【００２８】
センサデータ収集部１５は、センサデータ送信装置３から送られてくるセンサデータを受信し（Ｓ１）、この受信したセンサデータにＩＤを付与し、イベント判定部１６にセンサデータ及びＩＤを通知する（Ｓ２）。
次に、イベント判定部１６は、センサデータ収集部１５から通知を受けたセンサＩＤに関わる要素条件をイベント条件データベース１２を参照することにより取得し（Ｓ３）、この取得された要素条件が満たされるか否かをセンサデータと比較することにより判定し、その結果をイベントキャッシュ部１４のリストの判定結果を記録し（Ｓ４）、要素条件が成立している場合には条件成立数を更新する（Ｓ５、Ｓ６）。
【００２９】
その後、イベント判定部１６は、センサＩＤに関わるイベント条件の全リストをイベントキャッシュ部から取得し（Ｓ７）、全リストの判定が終了したか否かの判断を行なう（Ｓ８）。
Ｓ８において、全リストの判定が終了したと判断された場合には処理を終了する。一方、全リストの判定が終了していないと判断された場合には、イベントキャッシュ部１４のリストからレコードの判定結果を取得し（Ｓ９）、当該取得した判定結果が真（ｔｒｕｅ）か否かの判断が行なわれる（Ｓ１０）。
【００３０】
Ｓ１０において、判定結果が真であると判断された場合には、リストがＯＲ論理演算子のみで結合されているか否かの判断が行なわれ（Ｓ１１）、ＯＲ論理演算子のみで結合されていると判断された場合には、成立条件数が前方のレコードよりも大きいか否かの判断が行なわれる（Ｓ１２）。
【００３１】
Ｓ１２において、成立条件数が前方のレコードよりも大きいと判断された場合には、当該レコードを前方に移動し（Ｓ１６）、当該レコードのイベントＩＤを通知し（Ｓ１７）、Ｓ８の処理に戻る。
一方、Ｓ１０において、判定結果が真ではないと判断された場合には、リストがＡＮＤ論理演算子のみで結合されているか否かの判断が行なわれる（Ｓ１３）。Ｓ１３において、リストがＡＮＤ論理演算子のみで結合されていると判断された場合には、成立条件数が前方のレコードよりも小さいか否かの判断が行なわれる（Ｓ１４）。
【００３２】
Ｓ１４において、成立条件数が前方のレコードよりも小さいと判断された場合には、当該レコードを前方に移動し（Ｓ１５）、当該レコードのイベントＩＤを通知し（Ｓ１７）、Ｓ８の処理に戻る。
Ｓ１１においてリストがＯＲ論理演算子のみで結合されていないと判断された場合、及びＳ１３においてリストがＡＮＤ論理演算子のみで結合されていないと判断された場合には、全レコードの判定が終了したか否かの判断が行なわれる（Ｓ１８）。
【００３３】
Ｓ１８において、全レコードの判定が終了したと判断された場合には、リストの条件が成立したか否かの判断が行なわる（Ｓ１９）。
Ｓ１９において、リストの条件が成立したと判断された場合には、Ｓ１７の処理に移り、成立していないと判断された場合には、Ｓ８の処理に戻る。また、Ｓ１８において、全レコードの判定が終了していないと判断された場合には、Ｓ９の処理に移る。
【００３４】
一方、Ｓ１２において、成立条件数が前方レコードよりも大きくないと判断された場合にはＳ１７の処理に移り、Ｓ１４において、成立条件数が前方レコードよりも小さくないと判断された場合には、Ｓ８の処理に戻る。
なお、イベント条件に関わるセンサ情報の一部が不足する場合、不足センサ情報に関する要素条件の判定結果を用いて当該イベント条件の判定を行なってもよい。すなわち、センサデータ収集部１５から通知を受けたセンサＩＤ以外の要素条件については、当該レコードの判定結果が適用される。これにより、イベント条件に関わるセンサ情報の全てが揃わなくとも、収集したセンサ情報から逐次イベント判定を行なうことができる。
【００３５】
したがって、本発明の実施の形態に係るイベント判定装置によれば、イベント条件の要素条件に成立頻度の偏りがある場合、従来よりも効率的な条件判定を行なえる（条件判定回数が少なくなる）ため、イベント判定に要する時間が短くなるという効果がある。
【００３６】
また、複数のイベント条件があり、イベント条件間に要素条件の重複が存在する場合、従来よりも効率的な条件判定が行なえる（条件判定回数が少なくなる）ため、イベント判定に要する時間が短くなるという効果がある。さらに、収集したセンサ情報から逐次イベント判定を行なうことができる。
【００３７】
なお、本願発明は、上記各実施形態に限定されるものでなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。また、各実施形態は可能な限り適宜組み合わせて実施してもよく、その場合組み合わされた効果が得られる。さらに、上記各実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適宜な組み合わせにより種々の発明が抽出され得る。例えば実施形態に示される全構成要件から幾つかの構成要件が省略されることで発明が抽出された場合には、その抽出された発明を実施する場合には省略部分が周知慣用技術で適宜補われるものである。
【００３８】
また、実施形態に記載した手法は、計算機（コンピュータ）に実行させることができるプログラム（ソフトウエア手段）として、例えば磁気ディスク（フロッピーディスク、ハードディスク等）、光ディスク（ＣＤ−ＲＯＭ、ＤＶＤ、ＭＯ等）、半導体メモリ（ＲＯＭ、ＲＡＭ、フラッシュメモリ等）等の記録媒体に格納し、また通信媒体により伝送して頒布することもできる。なお、媒体側に格納されるプログラムには、計算機に実行させるソフトウエア手段（実行プログラムのみならずテーブルやデータ構造も含む）を計算機内に構成させる設定プログラムをも含む。本装置を実現する計算機は、記録媒体に記録されたプログラムを読み込み、また場合により設定プログラムによりソフトウエア手段を構築し、このソフトウエア手段によって動作が制御されることにより上述した処理を実行する。なお、本明細書でいう記録媒体は、頒布用に限らず、計算機内部あるいはネットワークを介して接続される機器に設けられた磁気ディスクや半導体メモリ等の記憶媒体を含むものである。
【図面の簡単な説明】
【００３９】
【図１】本発明の実施の形態に係るイベント判定装置の構成を示す図である。
【図２】イベント条件データベースを示す図である。
【図３】イベントキャッシュ部のリストを示す図である。
【図４】イベントキャッシュ部のリストの変更を説明するための図である。
【図５】イベントキャッシュ部のリストの変更を説明するための図である。
【図６】本発明の実施の形態に係るイベント判定装置の動作を説明するためのフローチャートである。
【図７】本発明の実施の形態に係るイベント判定装置の動作を説明するためのフローチャートである。
【図８】本発明の実施の形態に係るイベント判定装置の動作を説明するためのフローチャートである。
【図９】本発明の実施の形態に係るイベント判定装置の動作を説明するためのフローチャートである。
【符号の説明】
【００４０】
１…イベント判定装置、
２…ネットワーク、
３…センサデータ送信装置、
４…イベント受信装置、
５…イベント条件登録装置、
１１…イベント条件登録部、
１２…イベント条件データベース、
１３…イベント条件登録通知部、
１４…イベントキャッシュ部、
１５…センサデータ収集部、
１６…イベント判定部、
１７…イベント通知部。
【図１】
0004422051.tif 000002
【図２】
0004422051.tif 000003
【図３】
0004422051.tif 000004
【図４】
0004422051.tif 000005
【図５】
0004422051.tif 000006
【図６】
0004422051.tif 000007
【図７】
0004422051.tif 000008
【図８】
0004422051.tif 000009
【図９】
0004422051.tif 000010