(57)【要約】【課題】センサ値の変化に応答して生成される通知データを、高優先度の通知データをより確実に、他の優先度の通知データをより効率的にノードに向けて送出するコンピュータシステム、方法及びプログラムを提供する。【解決手段】送出される通知メッセージを優先度別のキューに格納し、高優先度キュー内の通知メッセージを順次送出し、中優先度キュー及び低優先度キューに格納された通知メッセージを２つ以上送出するように構成する。【選択図】図２
2014022786.tif 000002
【特許請求の範囲】
【請求項１】
無線ネットワークを介してノードと接続されたコンピュータシステムであって、
センサを識別する値とセンサ値とを関連づけて登録するセンサ値データベースと、
監視対象であるセンサを識別する値と、閾値と、条件とを記述した予め登録されたトリガに基づいて、前記センサ値データベースに登録されたセンサ値と前記閾値が前記条件を満たす場合に、前記監視対象であるセンサが反応したと決定するトリガ管理手段と、
前記ノード宛に送出される通知メッセージを格納する優先度付きキューと、
前記トリガ管理手段が前記監視対象であるセンサが反応したと決定したことに応答して、予め登録されたデータ生成ルールにしたがって、前記ノード宛の優先度を有する通知メッセージを生成し、当該通知メッセージの優先度に対応する前記優先度付きキューに格納する通知データ生成手段と、
前記優先度付きキューに格納された通知データを送出する通知データ送信手段と、
前記優先度付きキューの内の一部のキューに格納された通知データをソートまたは探索する通知データソート手段と
を備え、
前記通知データ送信手段は、前記一部のキューに格納された複数の通知データを纏めて送出することを特徴とするコンピュータシステム。
【請求項２】
前記優先度付きキューは、高優先度のキューと、中優先度のキューと、低優先度のキューとを備え、前記一部のキューは、前記中優先度のキューと、低優先度のキューとを備え、
前記通知データ送信手段は、前記高優先度のキューの先頭に配置された通知データから順次送出し、前記高優先度のキューに通知データが格納されていない場合に、前記通知データソート手段によりソートされた後の前記中優先度のキューの先頭に配置された通知データと、前記中優先度のキュー及び前記低優先度のキューの少なくとも１つに格納された、前記中優先度のキューの先頭に配置された通知データと同一ノード宛の通知データとを纏めて送出することを特徴とする請求項１に記載のコンピュータシステム。
【請求項３】
前記無線ネットワークは第１の無線ネットワークと第２の無線ネットワークとを含み、前記ノードは第１のノードと第２のノードとを含み、前記第１のノードは前記第１の無線ネットワークを介して前記コンピュータシステムと接続され、前記第２のノードは前記第２の無線ネットワークを介して前記コンピュータシステムと接続され、
前記通知データ送信手段は、前記高優先度のキューに通知データが格納されていない場合に、前記通知データソート手段によりソートされた後の前記中優先度のキューの先頭に配置された前記第１のノードおよび前記第２のノードの一方宛の通知データと、前記中優先度のキューに配置され前記第１のノードおよび前記第２のノードの他方宛の通知データとを纏めて送出することを特徴とする請求項２に記載のコンピュータシステム。
【請求項４】
センサを識別する値とセンサ値とを関連づけて登録するセンサ値データベースと、プロセッサと、メモリとを備え、無線ネットワークを介してノードと接続されたコンピュータシステムが、
監視対象であるセンサを識別する値と、閾値と、条件とを記述した予め登録されたトリガに基づいて、前記センサ値データベースに登録されたセンサ値と前記閾値が前記条件を満たす場合に、前記監視対象であるセンサが反応したと決定するステップと、
前記監視対象であるセンサが反応したと決定したことに応答して、予め登録されたデータ生成ルールにしたがって、前記ノード宛の優先度を有する通知メッセージを生成し、当該通知メッセージの優先度に対応する優先度付きキューに格納するステップと、
前記優先度付きキューの内の一部のキューに格納された通知データをソートまたは探索するステップと、
前記優先度付きキューに格納された通知データを送出するステップと
を備え、
前記通知データを送出するステップは、前記コンピュータシステムが、前記一部のキューにおいてソートまたは探索した複数の通知データを纏めて送出するステップを含むことを特徴とする方法。
【請求項５】
センサを識別する値とセンサ値とを関連づけて登録するセンサ値データベースと、プロセッサと、メモリとを備え、無線ネットワークを介してノードと接続されたコンピュータシステムを、
監視対象であるセンサを識別する値と、閾値と、条件とを記述した予め登録されたトリガに基づいて、前記センサ値データベースに登録されたセンサ値と前記閾値が前記条件を満たす場合に、前記監視対象であるセンサが反応したと決定するトリガ管理手段と、
前記ノード宛に送出される通知メッセージを格納する優先度付きキューと、
前記トリガ管理手段が前記監視対象であるセンサが反応したと決定したことに応答して、予め登録されたデータ生成ルールにしたがって、前記ノード宛の優先度を有する通知メッセージを生成し、当該通知メッセージの優先度に対応する前記優先度付きキューに格納する通知データ生成手段と、
前記優先度付きキューに格納された通知データを送出する通知データ送信手段と、
前記優先度付きキューの内の一部のキューに格納された通知データをソートまたは探索する通知データソート手段と
して機能させるプログラムであって、
前記通知データ送信手段は、前記一部のキューに格納された複数の通知データを纏めて送出する、ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データベース駆動データ通知システム、方法及びプログラムに関し、より詳細には、データベースに登録されたセンサ値に応じて、ゲートウェイを介して無線接続されたノード宛のメッセージを送出するシステム、方法及びプログラムに関する。
【背景技術】
【０００２】
従来、センサ、通信及び情報処理等の技術を融合して、住宅の設備や機器の管理や制御をオートメーション化あるいはインテリジェント化する研究開発が行われている。例えば、照度センサから出力されるセンサ値に基づいて照明機器の光度を変化させたり、人感センサから出力されるセンサ値に基づいて照明機器のＯＮ／ＯＦＦを切り替えたり空調機器の温度を変化させたりすることが実用化されている。このようなオートメーション化は、環境の変化や人の動きに基づいて設備・機器の稼働状態を効率的に制御できることから、省エネルギーの観点で特に注目されている。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
上記のようなオートメーション化は、住宅に限らず、商業施設等のより大きな空間においても有効である。商業施設の規模が大きくなる程に設備・機器の数量や設置するセンサの数量が多くなる。また、設備・機器の制御をきめ細かく行うためにより多くのセンサを設置することが予想される。
【０００４】
センサの数量や設備・機器の数量が多い場合には、センサと設備・機器との間の接続が複雑になるという問題が生じる。また、センサと設備・機器との間の通信データ量が増大するという問題が生じる。
【０００５】
このようなセンサと設備・機器との間の接続が複雑になる問題については、センサと設備・機器との間の接続を無線化する方策が考えられる。その一方で、無線通信の通信容量が有線通信の通信容量に比べて少ないため、センサと設備・機器との間の通信データ量が増大するという問題がより顕著化する。
【０００６】
本発明は、このような問題に鑑みてなされたもので、その目的とするところは、センサ値の変化に応答して生成される通知データを、高優先度の通知データをより確実に、他の優先度の通知データをより効率的にノードに向けて送出するコンピュータシステム、方法及びプログラムを提供することにある。
【課題を解決するための手段】
【０００７】
このような目的を達成するために、本発明の第１の態様は、無線ネットワークを介してノードと接続されたコンピュータシステムであって、センサを識別する値とセンサ値とを関連づけて登録するセンサ値データベースと、監視対象であるセンサを識別する値と、閾値と、条件とを記述した予め登録されたトリガに基づいて、前記センサ値データベースに登録されたセンサ値と前記閾値が前記条件を満たす場合に、前記監視対象であるセンサが反応したと決定するトリガ管理手段と、前記ノード宛に送出される通知メッセージを格納する優先度付きキューと、前記トリガ管理手段が前記監視対象であるセンサが反応したと決定したことに応答して、予め登録されたデータ生成ルールにしたがって、前記ノード宛の優先度を有する通知メッセージを生成し、当該通知メッセージの優先度に対応する前記優先度付きキューに格納する通知データ生成手段と、前記優先度付きキューに格納された通知データを送出する通知データ送信手段と、前記優先度付きキューの内の一部のキューに格納された通知データをソートまたは探索する通知データソート手段とを備え、前記通知データ送信手段は、前記一部のキューに格納された複数の通知データを纏めて送出することを特徴とする。
【０００８】
本発明の第２の態様は、センサを識別する値とセンサ値とを関連づけて登録するセンサ値データベースと、プロセッサと、メモリとを備え、無線ネットワークを介してノードと接続されたコンピュータシステムが実行する方法であって、監視対象であるセンサを識別する値と、閾値と、条件とを記述した予め登録されたトリガに基づいて、前記センサ値データベースに登録されたセンサ値と前記閾値が前記条件を満たす場合に、前記監視対象であるセンサが反応したと決定するステップと、前記監視対象であるセンサが反応したと決定したことに応答して、予め登録されたデータ生成ルールにしたがって、前記ノード宛の優先度を有する通知メッセージを生成し、当該通知メッセージの優先度に対応する優先度付きキューに格納するステップと、前記優先度付きキューの内の一部のキュー以外のキューに格納された通知データをソートまたは探索するステップと、前記優先度付きキューに格納された通知データを送出するステップとを備え、前記通知データを送出するステップは、前記コンピュータシステムが、前記一部のキューにおいてソートまたは探索した複数の通知データを纏めて送出するステップを含むことを特徴とする。
【０００９】
本発明の第３の態様は、センサを識別する値とセンサ値とを関連づけて登録するセンサ値データベースと、プロセッサと、メモリとを備え、無線ネットワークを介してノードと接続されたコンピュータシステムを、監視対象であるセンサを識別する値と、閾値と、条件とを記述した予め登録されたトリガに基づいて、前記センサ値データベースに登録されたセンサ値と前記閾値が前記条件を満たす場合に、前記監視対象であるセンサが反応したと決定するトリガ管理手段と、前記ノード宛に送出される通知メッセージを格納する優先度付きキューと、前記トリガ管理手段が前記監視対象であるセンサが反応したと決定したことに応答して、予め登録されたデータ生成ルールにしたがって、前記ノード宛の優先度を有する通知メッセージを生成し、当該通知メッセージの優先度に対応する前記優先度付きキューに格納する通知データ生成手段と、前記優先度付きキューに格納された通知データを送出する通知データ送信手段と、前記優先度付きキューの内の一部のキューに格納された通知データをソートまたは探索する通知データソート手段として機能させるプログラムであって、前記通知データ送信手段は、前記一部のキューに格納された複数の通知データを纏めて送出することを特徴とする。
【発明の効果】
【００１０】
以上説明したように、本発明によれば、通信容量の少ない無線通信によりノードがゲートウェイと接続されている場合であっても、当該ノード宛のメッセージの喪失を低減できるシステム、方法及びプログラムを提供することができる。本発明によれば、優先度の高いメッセージ程、メッセージの喪失が低減される。
【図面の簡単な説明】
【００１１】
【図１】本発明の一実施形態にかかるコンピュータシステムを含むシステムの全体構成を示す図である。
【図２】本発明の一実施形態にかかるコンピュータシステムの機能ブロック図である。
【図３】本発明の一実施形態にかかるコンピュータシステムが有する機能及び処理データを説明するための図である。
【図４】本発明の一実施形態にかかる処理方法のフローチャートである。
【図５】本発明の一実施形態にかかる処理方法のフローチャートである。
【図６】本発明の一実施形態にかかる処理方法のフローチャートである。
【図７】本発明の一実施形態にかかるコンピュータシステムで用いるデータ構造を示す図である。
【図８】本発明の一実施形態にかかる処理方法によって通知データが送信される様子を示す図であり、（ａ）はキューに格納された通知データの構造を、（ｂ）は通知データが優先度に応じたキューに格納された状態を、（ｃ）は「高」優先度キューが空の状態を、（ｄ）および（ｅ）は「高」優先度キューおよび「中」優先度キューが空の状態を示す図である。
【発明を実施するための形態】
【００１２】
以下、図面を参照しながら本発明の実施形態について詳細に説明する。  
図１は、一実施形態にかかるコンピュータシステム１００を含むシステムの全体構成を示す図である。図１に示すシステムは、例えば、ショッピングセンタに実装されるシステムである。システムは、赤外線センサ２０２，降雨センサ２０４，ドアセンサ２０６，照度センサ２０８を含むことができる。以下、本実施形態において、各種センサを総称して、単に「センサ」とも言う。センサは、以下に説明するノードをオートメーション化するために用いられるセンサ値をコンピュータシステム１００に供給するセンサであり、図１に例示したものに限定されるものではなく、他のタイプのセンサを含んでもよい。各センサはセンサを識別する値（センサ名等）を有し、出力するセンサ値は、コンピュータシステム１００へ供給され、センサを識別する値と関連づけられてセンサ値データベースに登録される。
【００１３】
また、図１のシステムは、コンピュータシステム１００に接続されたゲートウェイ３２０と無線接続可能な設備・装置街灯３０２，防犯カメラ３０４，雨戸３０６，エアコン（空調設備）３０８，太陽光発電設備３１０を含むことができる。以下、本実施形態において、各種設備・装置を総称して、単に「ノード」とも言う。ノードは、コンピュータシステム１００からの通知データを受信することで、その動作のオートメーション化が実現される設備・装置であり、図１に例示したものに限定されるものではなく、他のタイプの設備・装置を含んでもよい。各ノードは、ＩＰアドレス、ＭＡＣアドレス、ノード名など、ネットワーク内で当該ノードを一意に識別する値を有する。コンピュータシステム１００は、ノードを識別する値を通知メッセージに設定して、ノード宛の通知メッセージを送出する。
【００１４】
ゲートウェイ３２０は、コンピュータシステム１００のネットワークインターフェースと接続されるとともに、無線ネットワーク３００における基地局として機能し、コンピュータシステム１００から送出される通知データを各ノードへ送信する。典型的には、無線ネットワークはＩＥＥＥ８０２．１１シリーズの無線ネットワークとすることができ、ゲートウェイ３２０は、ＣＳＭＡ−ＣＡ ｗｉｔｈ ＡＣＫ（Carrier Sense Multiple Access with Collision Avoidance）を実装し、これにより無線媒体上におけるデータの衝突を防止するとともに、データの信頼性を高めている。ゲートウェイ３２０もまた、ＩＰアドレス、ＭＡＣアドレス、ゲートウェイ名など、ネットワーク内で当該ゲートウェイを一意に識別する値を有する。図１には１つのゲートウェイ３２０を示すが、システム全体の規模や、ノードの数量や設置場所に応じて、システムは、２以上のゲートウェイを備えてもよい。
【００１５】
コンピュータシステム１００は、プロセッサ１０２，メモリ１０４，ネットワークインターフェース１０６，センサ値データベース１０８を備える。
【００１６】
メモリ１０４はプログラムを記憶し、当該プログラムはプロセッサ１０２を、図２に示す各種機能部として動作させる。
【００１７】
ネットワークインターフェース１０６は、ゲートウェイ３２０と接続され、コンピュータシステム１００で生成された通知データをゲートウェイに送信する。ネットワークインターフェース１０６とゲートウェイ３２０との間は、典型的にはＩＥＥＥ８０２．３シリーズの有線ネットワークとすることができ、無線ネットワーク３００に比較して通信容量は大きい。
【００１８】
センサ値データベース１０８は、コンピュータシステム１００に接続された各種センサが提供するセンサ値をセンサ名と関連づけて登録するデータベースである。
【００１９】
図２は、コンピュータシステム１００において、プロセッサ１０２がプログラムを実行することにより実装される機能のブロック図を示す。コンピュータシステム１００は、トリガ管理部１２０，通知データ生成ルール登録部１３０，通知データ生成部１４０，通知データソート部１５０及び通知データ送信部１６０を備える。また、コンピュータシステム１００は、ネットワークインターフェース１０６へ送出するまで通知データを保持するキュー（送信バッファ）を備える。本実施形態では、コンピュータシステム１００は、図８（ｂ）に示すように３つのキューを備える。３つのキューは、「高」優先度キュー、「中」優先度キューおよび「低」優先度キューである。コンピュータシステム１００は、これらの３つのキューと異なるキューを備えることもできる。
【００２０】
通知データ生成ルール登録部１３０は、図４に示すように、入力手段（図示しない）からトリガ、データ生成ルールおよび通知データを受信する（あるいは、入力手段を用いて当該コンピュータシステム１００で作成されたトリガ、データ生成ルールおよび通知データ設定を受信する）（Ｓ１０２）。また、通知データ生成ルール登録部１３０は、トリガをトリガ管理部１２０へ登録し、データ生成ルールおよび通知データ設定を通知データ生成部１４０へ登録する（Ｓ１０４）。これによりトリガ管理部１２０は、センサ値データベース１０８に登録されたセンサ値の監視を開始することができる（Ｓ１０６）。
【００２１】
トリガは、トリガ管理部１２０が監視対象とするセンサを識別する値と、センサが反応したと決定する為にトリガ管理部が用いる閾値と条件を記述したデータである。すなわち、センサ値データベース１０８に登録されたセンサ値とトリガ中の閾値との関係がトリガ中の条件を満たす場合に、トリガ管理部１２０はセンサが反応したと決定する。
【００２２】
通知データは、トリガ管理部１２０によりセンサが反応したと決定された場合に、通知データ生成部１４０により生成され、所望のノードへ送信される通知データである。通知データは、通知を受け取るノードを識別する値である通信先（ＩＰアドレスなど、ノードを一意に識別する値）、通知を受け取るノードが接続されたゲートウェイを識別する値である送信先（ＩＰアドレスなど、ゲートウェイを一意に識別する値）、通知データのソートを行う際に用いる優先度である通信優先度、通知先で識別されるノードに通知する内容である通知内容を含む。また、通知データは、作成途中の通知データを破棄するまでの時間や破棄する時刻を含むこともできる。配送遅延や、データ欠損が好ましくない通知データには高い優先度が設定される。他方、配送遅延や、データ欠損が許容される通知データには低い優先度が設定される。
【００２３】
データ生成ルールは、通知データを生成する通知データ生成部１４０により参照されるルールを記述したデータである。データ生成ルールは、反応したセンサと、通知先や送信先、通内容等を関連づけるデータである。
【００２４】
図７は、データ生成ルール、通知データおよびトリガをＸＭＬで記述した例を示す。このようなデータ構造でデータ生成ルール、通知データおよびトリガの各々を規定するとともに互いに関連づける必要がなくなる。なお、ＸＭＬで記述する必要はなく、データ生成ルール、通知データおよびトリガを、別個に作成して相互に関連づけるようにしてもよい。
【００２５】
図７に示すデータ生成ルールは、ルール名「火事対応ルール」を有し、ＸＭＬデータ構造中にトリガ及び通知データを含み、全体としてデータ生成ルールを規定する。したがって、通知データ生成ルール登録部１３０は、トリガをトリガ管理部１２０に登録する際に、データ生成ルール全体を登録してもよく、あるいは、ＸＭＬ構造のルール名、トリガ名、監視対象及び発生条件の各属性の値を登録してもよい。また、通知データ生成ルール登録部１３０は、データ生成ルールを通知データ生成部１４０へ登録する際に、データ生成ルール全体を登録してもよく、あるいは、ＸＭＬ構造のルール名、通知データの各属性の値を登録してもよい。
【００２６】
データ生成ルールは、複数のトリガ中の条件が満たされた場合に通知データを生成するように規定することもできる。例えば、ドアの開閉を検知するドアセンサ２０６と照度センサ２０８との組み合わせにより、ドアセンサが反応したこと及び照度センサが反応したことをセンサ管理部１２０から通知された際に、通知データ生成部１４０が通知データを生成するようにすることができる。
【００２７】
トリガ管理部１２０は、センサ値データベース１０８を参照して、通知データ生成ルール登録部１３０により登録された１つまたは複数のトリガ属性の値に基づいて、センサが反応したかどうかを決定する。図７に示す例に従うと、トリガ管理部１２０は、センサ値データベース１０８を参照して、室温計（センサ）から登録された温度（センサ値）が５０度よりも大きな値である場合に、室温計が反応したと決定して、その旨を通知データ生成部１４０へ通知する。例えば、トリガ管理部１２０は、ルール名、トリガ名を通知する。当該通知に、センサ値データベース１０８に登録されたセンサ値を含んでもよい。
【００２８】
また、トリガ管理部１２０は、所定の条件を満たす場合に、一度登録されたトリガを削除する。例えば、トリガが登録されたのち、センサが反応したと決定した後に、当該トリガを削除することができる。別の例では、無線ネットワーク３００の輻輳や、キュー（バッファ）が通知データで満たされていることや、「高」優先度キューに配置された通知データが所定時間経過しても送出されないことについて外部（例えば、通知データ生成部１４０または通知データソート部１５０）から通知された際に、登録されている優先度の低いトリガ（すなわち、生成される通知メッセージの優先度が「低」に設定されているトリガ）を削除することができる。さらに別の例では、優先度の低いトリガを再登録しないようにすることができる。
【００２９】
通知データ生成部１４０は、トリガ管理部１２０からセンサ（例えば、室温計）が反応したことについて通知を受ける。通知に応答して、通知データ生成部１４０は、通知データ生成ルール登録部１３０から登録されたデータ生成ルールに基づいて、通知データを生成する。例えば、トリガ管理部１２０からルール名、トリガ名が通知されると、通知データ生成部１４０は、図７に示すＸＭＬ構造から通知データの要素を抽出することができる。通知データは、通知を受け取るノードを識別する値である通信先、通知を受け取るノードが接続されたゲートウェイを識別する値である送信先、通信データのソートを行う際に用いる優先度である通信優先度、通知先で識別されるノードに通知する内容である通知内容を含む。通知内容は予め定められたものでよく、通知データ生成部１４０が、トリガ名で識別されるトリガ中のセンサから供給されて登録されたセンサ値をセンサ値データベース１０８から取得して通知内容としてもよい、あるいはセンサ管理部１２０から当該センサのセンサ値を通知するようにしてもよい。また、通知データ生成部１４０は、生成した通知データを当該通知データの優先度に対応するキュー（送信バッファ）に格納する。図８（ａ）はキューに格納された通知データの構造を示す。優先度は、通知データ生成部１４０が通知データをキューに格納する際に参照するためのものであるため、キューに格納された通知データには優先度は含まれない。図８（ａ）において、通信先ＩＤはノードを一意に識別する値（例えば、ＩＰアドレス）であり、ＧＷ ＩＰはゲートウェイを一意に識別する値（例えば、ＩＰアドレス）である。通知内容は図７の例に従えば「火事」である。
【００３０】
図８（ｂ）は、通知データが優先度に応じたキューに格納された状態を示す。図７に示すデータ生成ルールに従えば、生成された通知データの優先度は「高」であるので、「高」優先度キューに格納される。
【００３１】
通知データソート部１５０は、キューに格納された通知データをソートまたは探索する。また、通知データソート部１５０は、ソートした結果、同一ノード宛の同一の通知内容を有する複数の通知データが連続して配置されている場合、過去の（キューの先頭に近い位置に配置された）通信データを削除することができ、あるいは過去の通信データの優先度が高くなるように、「中（低）」優先度キューから「高（中）」優先度キューへ変更することができる。
【００３２】
通知データ送信部１６０は、以下に図６を参照して説明するフローにしたがって、キューに格納された通知データをネットワークインターフェース１０６へ送出する。
【００３３】
次に、図５を参照して、コンピュータシステム１００の動作を説明する。  
センサ値データベース１０８は各センサから供給されるセンサ値を登録する（Ｓ２０２）。センサ値の登録は、トリガ管理部１２０の動作と独立してリアルタイムに行われる。
【００３４】
トリガ管理部１２０は、センサ値データベース１０８を参照して、登録されたトリガ中で識別されたセンサからのセンサ値が閾値との関係において条件を満たすかを判定し、条件と満たすと判定した場合にセンサが反応したと決定する（Ｓ２０４）。
【００３５】
トリガ管理部１２０が、通知データ生成部１４０へ、トリガ中で識別されたセンサが反応したことを通知する（Ｓ２０６）。トリガ管理部１２０は、ルール名、トリガ名、監視対象（センサ名）とともに、センサが反応したことを通知する。
【００３６】
通知データ生成部１４０が、トリガ管理部１２０からの通知に応答して、登録されたデータ生成ルールおよび通知にしたがって、通知データを生成し優先度に対応するキューに格納する（Ｓ２０８）。図７の例にしたがえば、トリガ管理部１２０から室温計が反応した旨の通知に応答して、通知データ生成部１４０が、消化器宛の高優先度の通知データとビル管理センター宛の高優先度の通知データを生成し、これらの通知データを「高」キューに格納する。
【００３７】
ついで、通知データソート部１５０がキューに格納された通知データをソートまたは探索し（Ｓ２１０）、通知データ送信部１６０がキューから通知データをネットワークインターフェース１０６へ送出する（Ｓ２１２）。
【００３８】
図６を参照して、通知データソート部１５０と通知データ送信部１６０の動作を説明する。
【００３９】
上記のとおり、通知データ生成部１４０が、登録されたデータ生成ルールおよび通知データにしたがって、通知データを生成し優先度に対応するキューに格納する（Ｓ３０２）。図８（ｂ）に示すように各キューに通知データ格納された状態を仮定する。図８（ｂ）において、「高」優先度キューに格納された通知データを実線で示し、「中」優先度キューに格納された通知データを破線で示し、「低」優先度キューに格納された通知データを一点破線で示す。また、通知データＡ，Ｅ，ＧはＮ１で識別されるノード宛であり、通知データＢ，Ｃ，Ｆ，Ｈ，Ｊ，ＬはＮ２で識別されるノード宛であり、通知データＤはＮ３で識別されるノード宛であり、通知データＩ，ＫはＮ４で識別されるノード宛であり、通知データＭ，ＯはＮ５で識別されるノード宛であり、通知データＮ，ＰはＮ６で識別されるノード宛である。さらに、Ｎ１，Ｎ２，Ｎ３，Ｎ５，Ｎ６で識別されるノードはＧＷ１で識別されるゲートウェイに接続されたノードであり、Ｎ４で識別されるノードはＧＷ２で識別されるゲートウェイに接続されたノードである。
【００４０】
通知データ送信部１６０は、「高」優先度キューに通知データが存在するかを決定し（Ｓ３０４）、存在する場合に「高」優先度キューの先頭にある通知データ（Ａ）を送出する（Ｓ３０６）。この動作は、「高」優先度キューに通知データが存在しないと決定されるまで繰り返される。優先度の高い通知データを１つずつ送出することで、無線ネットワーク３００における輻輳やデータ損失を低減して、当該通知データを確実にノードへ送信させるためである。
【００４１】
「高」優先度キューに通知データが存在しないと決定されると、通知データソート部１５０は、「中」優先度キューに通知データが存在するかを決定する（Ｓ３０８）。「中」優先度キューに通知データが存在する場合には、通知データソート部１５０は、「中」優先度キュー内の通知データを、同一ノード宛の通知データの隣接するようにソートする（Ｓ３１０）。図８（ｃ）は、「高」優先度キューに格納されたすべての通知データ（Ａ〜Ｅ）が送出された後に、「中」優先度キューに格納された通知データ（Ｆ，Ｇ，Ｈ，Ｉ）がソートされた状態を示す。
【００４２】
さらに、通知データソート部１５０は、「低」優先度キューに通知データが存在するかを決定する（Ｓ３１２）。「低」優先度キューに通知データが存在する場合、通知データソート部１５０は、「低」優先度キューを探索して、「中」優先度キューの先頭にある通知データ（Ｆ）と同一ノード（Ｎ２）宛の通知データ（Ｊ，Ｌ）を探索する（Ｓ３１２）。「低」優先度キュー内に「中」優先度キューの先頭にある通知データ（Ｆ）と同一ノード（Ｎ２）宛の通知データが存在する場合、通知データ送信部１６０は、「中」優先度キューの先頭にある通知データ（Ｆ）と同一ノード（Ｎ２）宛の通知データのセット（Ｆ，Ｈ）及び「低」優先度キュー内で探索された通知データのセット（Ｊ，Ｌ）を連続して送出する（纏めて送出する）（Ｓ３１４）。図８（ｃ）においてハッチングした通知データ（Ｆ，Ｈ，Ｊ，Ｌ）が纏めて送出される。
【００４３】
他方、ステップ３１２で、「低」優先度キュー内に「中」優先度キューの先頭にある通知データ（Ｆ）と同一ノード（Ｎ２）宛の通知データが存在しない場合、通知データ送信部１６０は、「中」優先度キューの先頭にある通知データ（Ｆ）と同一ノード（Ｎ２）宛の通知データのセット（Ｆ，Ｈ）を連続して送出する（纏めて送出する）（Ｓ３１６）。
【００４４】
ステップ３０８で、「中」優先度キューに通知データが存在しないと決定されるまで、「中」優先度キューに格納された通知データの送出が繰り返される。
【００４５】
ステップ３０８で、「中」優先度キューに通知データが存在しないと決定されると、通知データソート部１５０は、「低」優先度キューに通知データが存在するかを決定する（Ｓ３１８）。「低」優先度キューに通知データが存在する場合には、通知データソート部１５０は、「低」優先度キュー内の通知データを、同一ノード宛の通知データの隣接するようにソートする（Ｓ３２０）。図８（ｄ）は、「低」優先度キューに格納された通知データ（Ｋ，Ｍ，Ｏ，Ｎ，Ｐ）がソートされた状態を示す。
【００４６】
通知データ送信部１６０は、同一ノード宛の通知データのセットを送出する（纏めて送出する）。図８（ｄ）に示す例では、ハッチングした通知データ（Ｋ）のみが送出される。
【００４７】
ステップ３１８で、「低」優先度キューに通知データが存在しないと決定されるまで、「低」優先度キューに格納された通知データの送出が繰り返される。図８（ｅ）に示す例では、通知データ（Ｋ）を送出した後の機会に、ハッチングした通知データ（Ｍ，Ｏ）のセットが纏めて送出され、さらにその後の機会に通知データ（Ｎ，Ｐ）のセットが纏めて送出される。
【００４８】
次に、図６を参照して説明した通知データソート部１５０と通知データ送信部１６０の動作の変形例を説明する。
【００４９】
＜第１の変形例＞
図６を参照して説明したフローにおいて、ステップ３１４において、「中」優先度キューの先頭にある通知データ（Ｆ）と「低」優先度キュー内で探索された通知データ（Ｊ）を送出するようにして、「高」優先度キュー以外に格納された複数の通知データを連続して送出（纏めて送出）するようにしてもよい。
【００５０】
＜第２の変形例＞
図６を参照して説明した実施形態において、ステップ３１２及びステップ３１４を省略し、ステップ３１０の後に直ちにステップ３１６を実行してもよい。
【００５１】
＜第３の変形例＞
図２に示すように、コンピュータシステム１００が複数のゲートウェイに接続されている場合、異なるゲートウェイを通過する通知データを纏めて送出しても、無線ネットワークでの輻輳や損失は互いに独立している。したがって、図６のステップ３１４において、通知データ送信部１６０は、「中」優先度キューの先頭にある通知データ（Ｆ）と同一ノード（Ｎ２）宛の通知データのセット（Ｆ，Ｈ）及び「低」優先度キュー内で探索された通知データのセット（Ｊ，Ｌ）を送出し、さらに「中」優先度キューの最後尾にある通知データ（Ｉ）と同一ノード（Ｎ４）宛の通知データのセット（Ｉ）及び「低」優先度キュー内で探索された通知データのセット（Ｋ）を送出するようにしてもよい。同様にステップ３１６において、通知データ送信部１６０は、「中」優先度キューの先頭にある通知データ（Ｆ）と同一ノード（Ｎ２）宛の通知データのセット（Ｆ，Ｈ）を送出し、さらに「中」優先度キューの最後尾にある通知データ（Ｉ）と同一ノード（Ｎ４）宛の通知データのセット（Ｉ）を送出してもよい。通知データソート部によるソートが実行された後は、同一ノード宛の通知データが纏まるので、キューの先頭と最後尾では、異なるノード宛の通知データが配置され、しがたって、キューの先頭の通知データとキューの最後尾の通知データとでは通過するゲートウェイも異なる可能性が高くなり、無線ネットワークでの輻輳や損失の可能性が低くなる。
【００５２】
本変形例をｎ個（ｎは３以上整数）のゲートウェイが接続されている場合に拡張すると、「中」優先度キューの先頭にある同一ノード宛の通知データのセットの少なくとも１つ（Ｆ）及び「中」優先度キューの最後尾にある同一ノード宛の通知データのセットの少なくとも１つ（Ｉ）を送出した後に、「中」優先度キューに残った通知データを、ｎよりも少ない２以上の整数個のグループに分割すると、２番目以降のグループの先頭にある通知データは、「中」優先度キューの先頭および最後尾に配置された通知データと異なるノード宛である可能性が高く、別のゲートウェイを通過する可能性も高い。したがって、このように分割した箇所の先頭にある通知データを先頭、最後尾に位置する通知データの次に送出するようにしてもよい。
【００５３】
＜第４の変形例＞
データ生成ルールが、複数のトリガ中の条件が満たされた場合に通知データを生成するように規定している場合の通知データ生成部１４０の動作の変形例を説明する。例えば、ドアセンサが反応した後に所定時間内に照度センサが反応した場合に通知メッセージを生成してノードに送信するようにする場合を仮定する。
【００５４】
図３に示すように通知データ内に通知データ削除タイミングを設定する。すなわち、図７に例示するＸＭＬ構造で記述されたデータ生成ルールに＜通知データ削除タイミング＞の属性を新たに設け、値を登録しておく。＜通知データ削除タイミング＞の属性に設定される値は、通知データが生成されてから経過した時間または時刻である。
【００５５】
通知データ生成部１６０は、トリガ管理部１２０からのドアセンサが反応した旨の通知に応答して、データ生成ルールに基づいて、通知データを生成し、図８を参照して説明した３つのキューとは異なる待ち合わせキューに格納する。コンピュータシステム１００は、待ち合わせキュー内に格納された通知データに含まれる通知データ削除タイミング属性の値を監視して、通知データが生成されてから所定の時間が経過した時または所定の時刻に当該通知データを待ち合わせキューから削除する。通知データ生成部１６０は、トリガ管理部から照度センサが反応したことの通知に応答して、待ち合わせキューに格納した通知データを抽出して、データ生成ルールに規定された優先度に対応する優先度のキューに通知データを移動する。
【００５６】
本変形例によれば、厳密に同時に発生しないセンサ値の変化（センサの反応）に対応することができるデータ通知システムを提供することができる。
【符号の説明】
【００５７】
１００  コンピュータシステム
１０２  プロセッサ
１０４  メモリ
１０６  ネットワークインターフェース
１０８  センサ値データベース
１２０  トリガ管理部
１２２，１２４，１２６  トリガ
１３０  通知データ生成ルール登録部
１４０  通知データ生成部
１５０  通知データソート部
１６０  通知データ送信部
２０２，２０４，２０６，２０８  各種センサ
３００  無線ネットワーク
３０２，３０４，３０６，３０８，３１０  各種ノード
３２０  ゲートウェイ
【図１】
2014022786.tif 000003
【図２】
2014022786.tif 000004
【図３】
2014022786.tif 000005
【図４】
2014022786.tif 000006
【図５】
2014022786.tif 000007
【図６】
2014022786.tif 000008
【図７】
2014022786.tif 000009
【図８】
2014022786.tif 000010