(58)【調査した分野】(Int.Cl.,DB名)
センサを識別する値とセンサ値とを関連づけて登録するセンサ値データベースと、プロセッサと、メモリとを備え、無線ネットワークを介してノードと接続されたコンピュータシステムが、
監視対象であるセンサを識別する値と、閾値と、条件とを記述した予め登録されたトリガに基づいて、前記センサ値データベースに登録されたセンサ値と前記閾値が前記条件を満たす場合に、前記監視対象であるセンサが反応したと決定するステップと、
前記監視対象であるセンサが反応したと決定したことに応答して、予め登録されたデータ生成ルールにしたがって、前記ノード宛の通知メッセージを生成し、キューに格納するステップと、
前記キューに格納された通知データをソートまたは探索するステップと、
前記キューに格納された通知データを送出するステップと
を備え、
前記通知データを送出するステップは、前記コンピュータシステムが、前記キューにおいてソートまたは探索した複数の通知データを纏めて送出するステップを含むことを特徴とする方法。
センサを識別する値とセンサ値とを関連づけて登録するセンサ値データベースと、プロセッサと、メモリとを備え、無線ネットワークを介してノードと接続されたコンピュータシステムを、
監視対象であるセンサを識別する値と、閾値と、条件とを記述した予め登録されたトリガに基づいて、前記センサ値データベースに登録されたセンサ値と前記閾値が前記条件を満たす場合に、前記監視対象であるセンサが反応したと決定するトリガ管理手段と、
前記ノード宛に送出される通知メッセージを格納するキューと、
前記トリガ管理手段が前記監視対象であるセンサが反応したと決定したことに応答して、予め登録されたデータ生成ルールにしたがって、前記ノード宛の通知メッセージを生成し、前記キューに格納する通知データ生成手段と、
前記キューに格納された通知データを送出する通知データ送信手段と、
前記キューに格納された通知データをソートまたは探索する通知データソート手段として機能させるプログラムであって、
前記通知データ送信手段は、前記キューに格納された複数の通知データを纏めて送出する、ことを特徴とするプログラム。
【発明の概要】
【発明が解決しようとする課題】
【0003】
上記のようなオートメーション化は、住宅に限らず、商業施設等のより大きな空間においても有効である。商業施設の規模が大きくなる程に設備・機器の数量や設置するセンサの数量が多くなる。また、設備・機器の制御をきめ細かく行うためにより多くのセンサを設置することが予想される。
【0004】
センサの数量や設備・機器の数量が多い場合には、センサと設備・機器との間の接続が複雑になるという問題が生じる。また、センサと設備・機器との間の通信データ量が増大するという問題が生じる。
【0005】
このようなセンサと設備・機器との間の接続が複雑になる問題については、センサと設備・機器との間の接続を無線化する方策が考えられる。その一方で、無線通信の通信容量が有線通信の通信容量に比べて少ないため、センサと設備・機器との間の通信データ量が増大するという問題がより顕著化する。
【0006】
本発明は、このような問題に鑑みてなされたもので、その目的とするところは、センサ値の変化に応答して生成される通知データを、高優先度の通知データをより確実に、他の優先度の通知データをより効率的にノードに向けて送出するコンピュータシステム、方法及びプログラムを提供することにある。
【課題を解決するための手段】
【0007】
このような目的を達成するために、本発明の第1の態様は、無線ネットワークを介してノードと接続されたコンピュータシステムであって、センサを識別する値とセンサ値とを関連づけて登録するセンサ値データベースと、監視対象であるセンサを識別する値と、閾値と、条件とを記述した予め登録されたトリガに基づいて、前記センサ値データベースに登録されたセンサ値と前記閾値が前記条件を満たす場合に、前記監視対象であるセンサが反応したと決定するトリガ管理手段と、前記ノード宛に送出される通知メッセージを格納するキューと、前記トリガ管理手段が前記監視対象であるセンサが反応したと決定したことに応答して、予め登録されたデータ生成ルールにしたがって、前記ノード宛の通知メッセージを生成し、前記キューに格納する通知データ生成手段と、前記キューに格納された通知データを送出する通知データ送信手段と、前記キューに格納された通知データをソートまたは探索する通知データソート手段とを備え、前記通知データ送信手段は、前記キューに格納された複数の通知データを纏めて送出することを特徴とする。
本発明の第2の態様は、無線ネットワークを介してノードと接続されたコンピュータシステムであって、センサを識別する値とセンサ値とを関連づけて登録するセンサ値データベースと、監視対象であるセンサを識別する値と、閾値と、条件とを記述した予め登録されたトリガに基づいて、前記センサ値データベースに登録されたセンサ値と前記閾値が前記条件を満たす場合に、前記監視対象であるセンサが反応したと決定するトリガ管理手段と、前記ノード宛に送出される通知メッセージを格納する優先度付きキューと、前記トリガ管理手段が前記監視対象であるセンサが反応したと決定したことに応答して、予め登録されたデータ生成ルールにしたがって、前記ノード宛の優先度を有する通知メッセージを生成し、当該通知メッセージの優先度に対応する前記優先度付きキューに格納する通知データ生成手段と、前記優先度付きキューに格納された通知データを送出する通知データ送信手段とを備え、前記通知データ送信手段は、前記キューに格納された複数の通知データを纏めて送出することを特徴とする。
本発明の第3の態様は、無線ネットワークを介してノードと接続されたコンピュータシステムであって、センサを識別する値とセンサ値とを関連づけて登録するセンサ値データベースと、監視対象であるセンサを識別する値と、閾値と、条件とを記述した予め登録されたトリガに基づいて、前記センサ値データベースに登録されたセンサ値と前記閾値が前記条件を満たす場合に、前記監視対象であるセンサが反応したと決定するトリガ管理手段と、前記ノード宛に送出される通知メッセージを格納する複数のキューと、前記トリガ管理手段が前記監視対象であるセンサが反応したと決定したことに応答して、予め登録されたデータ生成ルールにしたがって、前記ノード宛の優先度を有する通知メッセージを生成し、当該通知メッセージの優先度に対応する前記キューに格納する通知データ生成手段と、前記キューに格納された通知データを送出する通知データ送信手段とを備え、前記通知データ送信手段は、前記複数のキューのうちの1つに格納された通知データと前記複数のキューのうちの1つと異なるキューに格納された通知データとを纏めて送出することを特徴とする。
【0008】
本発明の第4の態様は、センサを識別する値とセンサ値とを関連づけて登録するセンサ値データベースと、プロセッサと、メモリとを備え、無線ネットワークを介してノードと接続されたコンピュータシステムが実行する方法であって、監視対象であるセンサを識別する値と、閾値と、条件とを記述した予め登録されたトリガに基づいて、前記センサ値データベースに登録されたセンサ値と前記閾値が前記条件を満たす場合に、前記監視対象であるセンサが反応したと決定するステップと、前記監視対象であるセンサが反応したと決定したことに応答して、予め登録されたデータ生成ルールにしたがって、前記ノード宛の通知メッセージを生成し、キューに格納するステップと、前記キューに格納された通知データをソートまたは探索するステップと、前記キューに格納された通知データを送出するステップとを備え、前記通知データを送出するステップは、前記コンピュータシステムが、前記キューにおいてソートまたは探索した複数の通知データを纏めて送出するステップを含むことを特徴とする。
【0009】
本発明の第5の態様は、センサを識別する値とセンサ値とを関連づけて登録するセンサ値データベースと、プロセッサと、メモリとを備え、無線ネットワークを介してノードと接続されたコンピュータシステムを、監視対象であるセンサを識別する値と、閾値と、条件とを記述した予め登録されたトリガに基づいて、前記センサ値データベースに登録されたセンサ値と前記閾値が前記条件を満たす場合に、前記監視対象であるセンサが反応したと決定するトリガ管理手段と、前記ノード宛に送出される通知メッセージを格納するキューと、前記トリガ管理手段が前記監視対象であるセンサが反応したと決定したことに応答して、予め登録されたデータ生成ルールにしたがって、前記ノード宛の通知メッセージを生成し、前記キューに格納する通知データ生成手段と、前記キューに格納された通知データを送出する通知データ送信手段と、前記キューに格納された通知データをソートまたは探索する通知データソート手段として機能させるプログラムであって、前記通知データ送信手段は、前記キューに格納された複数の通知データを纏めて送出することを特徴とする。
【発明の効果】
【0010】
以上説明したように、本発明によれば、通信容量の少ない無線通信によりノードがゲートウェイと接続されている場合であっても、当該ノード宛のメッセージの喪失を低減できるシステム、方法及びプログラムを提供することができる。本発明によれば、優先度の高いメッセージ程、メッセージの喪失が低減される。
【発明を実施するための形態】
【0012】
以下、図面を参照しながら本発明の実施形態について詳細に説明する。
図1は、一実施形態にかかるコンピュータシステム100を含むシステムの全体構成を示す図である。
図1に示すシステムは、例えば、ショッピングセンタに実装されるシステムである。システムは、赤外線センサ202,降雨センサ204,ドアセンサ206,照度センサ208を含むことができる。以下、本実施形態において、各種センサを総称して、単に「センサ」とも言う。センサは、以下に説明するノードをオートメーション化するために用いられるセンサ値をコンピュータシステム100に供給するセンサであり、
図1に例示したものに限定されるものではなく、他のタイプのセンサを含んでもよい。各センサはセンサを識別する値(センサ名等)を有し、出力するセンサ値は、コンピュータシステム100へ供給され、センサを識別する値と関連づけられてセンサ値データベースに登録される。
【0013】
また、
図1のシステムは、コンピュータシステム100に接続されたゲートウェイ320と無線接続可能な設備・装置街灯302,防犯カメラ304,雨戸306,エアコン(空調設備)308,太陽光発電設備310を含むことができる。以下、本実施形態において、各種設備・装置を総称して、単に「ノード」とも言う。ノードは、コンピュータシステム100からの通知データを受信することで、その動作のオートメーション化が実現される設備・装置であり、
図1に例示したものに限定されるものではなく、他のタイプの設備・装置を含んでもよい。各ノードは、IPアドレス、MACアドレス、ノード名など、ネットワーク内で当該ノードを一意に識別する値を有する。コンピュータシステム100は、ノードを識別する値を通知メッセージに設定して、ノード宛の通知メッセージを送出する。
【0014】
ゲートウェイ320は、コンピュータシステム100のネットワークインターフェースと接続されるとともに、無線ネットワーク300における基地局として機能し、コンピュータシステム100から送出される通知データを各ノードへ送信する。典型的には、無線ネットワークはIEEE802.11シリーズの無線ネットワークとすることができ、ゲートウェイ320は、CSMA−CA with ACK(Carrier Sense Multiple Access with Collision Avoidance)を実装し、これにより無線媒体上におけるデータの衝突を防止するとともに、データの信頼性を高めている。ゲートウェイ320もまた、IPアドレス、MACアドレス、ゲートウェイ名など、ネットワーク内で当該ゲートウェイを一意に識別する値を有する。
図1には1つのゲートウェイ320を示すが、システム全体の規模や、ノードの数量や設置場所に応じて、システムは、2以上のゲートウェイを備えてもよい。
【0015】
コンピュータシステム100は、プロセッサ102,メモリ104,ネットワークインターフェース106,センサ値データベース108を備える。
【0016】
メモリ104はプログラムを記憶し、当該プログラムはプロセッサ102を、
図2に示す各種機能部として動作させる。
【0017】
ネットワークインターフェース106は、ゲートウェイ320と接続され、コンピュータシステム100で生成された通知データをゲートウェイに送信する。ネットワークインターフェース106とゲートウェイ320との間は、典型的にはIEEE802.3シリーズの有線ネットワークとすることができ、無線ネットワーク300に比較して通信容量は大きい。
【0018】
センサ値データベース108は、コンピュータシステム100に接続された各種センサが提供するセンサ値をセンサ名と関連づけて登録するデータベースである。
【0019】
図2は、コンピュータシステム100において、プロセッサ102がプログラムを実行することにより実装される機能のブロック図を示す。コンピュータシステム100は、トリガ管理部120,通知データ生成ルール登録部130,通知データ生成部140,通知データソート部150及び通知データ送信部160を備える。また、コンピュータシステム100は、ネットワークインターフェース106へ送出するまで通知データを保持するキュー(送信バッファ)を備える。本実施形態では、コンピュータシステム100は、
図8(b)に示すように3つのキューを備える。3つのキューは、「高」優先度キュー、「中」優先度キューおよび「低」優先度キューである。コンピュータシステム100は、これらの3つのキューと異なるキューを備えることもできる。
【0020】
通知データ生成ルール登録部130は、
図4に示すように、入力手段(図示しない)からトリガ、データ生成ルールおよび通知データを受信する(あるいは、入力手段を用いて当該コンピュータシステム100で作成されたトリガ、データ生成ルールおよび通知データ設定を受信する)(S102)。また、通知データ生成ルール登録部130は、トリガをトリガ管理部120へ登録し、データ生成ルールおよび通知データ設定を通知データ生成部140へ登録する(S104)。これによりトリガ管理部120は、センサ値データベース108に登録されたセンサ値の監視を開始することができる(S106)。
【0021】
トリガは、トリガ管理部120が監視対象とするセンサを識別する値と、センサが反応したと決定する為にトリガ管理部が用いる閾値と条件を記述したデータである。すなわち、センサ値データベース108に登録されたセンサ値とトリガ中の閾値との関係がトリガ中の条件を満たす場合に、トリガ管理部120はセンサが反応したと決定する。
【0022】
通知データは、トリガ管理部120によりセンサが反応したと決定された場合に、通知データ生成部140により生成され、所望のノードへ送信される通知データである。通知データは、通知を受け取るノードを識別する値である通信先(IPアドレスなど、ノードを一意に識別する値)、通知を受け取るノードが接続されたゲートウェイを識別する値である送信先(IPアドレスなど、ゲートウェイを一意に識別する値)、通知データのソートを行う際に用いる優先度である通信優先度、通知先で識別されるノードに通知する内容である通知内容を含む。また、通知データは、作成途中の通知データを破棄するまでの時間や破棄する時刻を含むこともできる。配送遅延や、データ欠損が好ましくない通知データには高い優先度が設定される。他方、配送遅延や、データ欠損が許容される通知データには低い優先度が設定される。
【0023】
データ生成ルールは、通知データを生成する通知データ生成部140により参照されるルールを記述したデータである。データ生成ルールは、反応したセンサと、通知先や送信先、通内容等を関連づけるデータである。
【0024】
図7は、データ生成ルール、通知データおよびトリガをXMLで記述した例を示す。このようなデータ構造でデータ生成ルール、通知データおよびトリガの各々を規定するとともに互いに関連づける必要がなくなる。なお、XMLで記述する必要はなく、データ生成ルール、通知データおよびトリガを、別個に作成して相互に関連づけるようにしてもよい。
【0025】
図7に示すデータ生成ルールは、ルール名「火事対応ルール」を有し、XMLデータ構造中にトリガ及び通知データを含み、全体としてデータ生成ルールを規定する。したがって、通知データ生成ルール登録部130は、トリガをトリガ管理部120に登録する際に、データ生成ルール全体を登録してもよく、あるいは、XML構造のルール名、トリガ名、監視対象及び発生条件の各属性の値を登録してもよい。また、通知データ生成ルール登録部130は、データ生成ルールを通知データ生成部140へ登録する際に、データ生成ルール全体を登録してもよく、あるいは、XML構造のルール名、通知データの各属性の値を登録してもよい。
【0026】
データ生成ルールは、複数のトリガ中の条件が満たされた場合に通知データを生成するように規定することもできる。例えば、ドアの開閉を検知するドアセンサ206と照度センサ208との組み合わせにより、ドアセンサが反応したこと及び照度センサが反応したことをセンサ管理部120から通知された際に、通知データ生成部140が通知データを生成するようにすることができる。
【0027】
トリガ管理部120は、センサ値データベース108を参照して、通知データ生成ルール登録部130により登録された1つまたは複数のトリガ属性の値に基づいて、センサが反応したかどうかを決定する。
図7に示す例に従うと、トリガ管理部120は、センサ値データベース108を参照して、室温計(センサ)から登録された温度(センサ値)が50度よりも大きな値である場合に、室温計が反応したと決定して、その旨を通知データ生成部140へ通知する。例えば、トリガ管理部120は、ルール名、トリガ名を通知する。当該通知に、センサ値データベース108に登録されたセンサ値を含んでもよい。
【0028】
また、トリガ管理部120は、所定の条件を満たす場合に、一度登録されたトリガを削除する。例えば、トリガが登録されたのち、センサが反応したと決定した後に、当該トリガを削除することができる。別の例では、無線ネットワーク300の輻輳や、キュー(バッファ)が通知データで満たされていることや、「高」優先度キューに配置された通知データが所定時間経過しても送出されないことについて外部(例えば、通知データ生成部140または通知データソート部150)から通知された際に、登録されている優先度の低いトリガ(すなわち、生成される通知メッセージの優先度が「低」に設定されているトリガ)を削除することができる。さらに別の例では、優先度の低いトリガを再登録しないようにすることができる。
【0029】
通知データ生成部140は、トリガ管理部120からセンサ(例えば、室温計)が反応したことについて通知を受ける。通知に応答して、通知データ生成部140は、通知データ生成ルール登録部130から登録されたデータ生成ルールに基づいて、通知データを生成する。例えば、トリガ管理部120からルール名、トリガ名が通知されると、通知データ生成部140は、
図7に示すXML構造から通知データの要素を抽出することができる。通知データは、通知を受け取るノードを識別する値である通信先、通知を受け取るノードが接続されたゲートウェイを識別する値である送信先、通信データのソートを行う際に用いる優先度である通信優先度、通知先で識別されるノードに通知する内容である通知内容を含む。通知内容は予め定められたものでよく、通知データ生成部140が、トリガ名で識別されるトリガ中のセンサから供給されて登録されたセンサ値をセンサ値データベース108から取得して通知内容としてもよい、あるいはセンサ管理部120から当該センサのセンサ値を通知するようにしてもよい。また、通知データ生成部140は、生成した通知データを当該通知データの優先度に対応するキュー(送信バッファ)に格納する。
図8(a)はキューに格納された通知データの構造を示す。優先度は、通知データ生成部140が通知データをキューに格納する際に参照するためのものであるため、キューに格納された通知データには優先度は含まれない。
図8(a)において、通信先IDはノードを一意に識別する値(例えば、IPアドレス)であり、GW IPはゲートウェイを一意に識別する値(例えば、IPアドレス)である。通知内容は
図7の例に従えば「火事」である。
【0030】
図8(b)は、通知データが優先度に応じたキューに格納された状態を示す。
図7に示すデータ生成ルールに従えば、生成された通知データの優先度は「高」であるので、「高」優先度キューに格納される。
【0031】
通知データソート部150は、キューに格納された通知データをソートまたは探索する。また、通知データソート部150は、ソートした結果、同一ノード宛の同一の通知内容を有する複数の通知データが連続して配置されている場合、過去の(キューの先頭に近い位置に配置された)通信データを削除することができ、あるいは過去の通信データの優先度が高くなるように、「中(低)」優先度キューから「高(中)」優先度キューへ変更することができる。
【0032】
通知データ送信部160は、以下に
図6を参照して説明するフローにしたがって、キューに格納された通知データをネットワークインターフェース106へ送出する。
【0033】
次に、
図5を参照して、コンピュータシステム100の動作を説明する。
センサ値データベース108は各センサから供給されるセンサ値を登録する(S202)。センサ値の登録は、トリガ管理部120の動作と独立してリアルタイムに行われる。
【0034】
トリガ管理部120は、センサ値データベース108を参照して、登録されたトリガ中で識別されたセンサからのセンサ値が閾値との関係において条件を満たすかを判定し、条件と満たすと判定した場合にセンサが反応したと決定する(S204)。
【0035】
トリガ管理部120が、通知データ生成部140へ、トリガ中で識別されたセンサが反応したことを通知する(S206)。トリガ管理部120は、ルール名、トリガ名、監視対象(センサ名)とともに、センサが反応したことを通知する。
【0036】
通知データ生成部140が、トリガ管理部120からの通知に応答して、登録されたデータ生成ルールおよび通知にしたがって、通知データを生成し優先度に対応するキューに格納する(S208)。
図7の例にしたがえば、トリガ管理部120から室温計が反応した旨の通知に応答して、通知データ生成部140が、消化器宛の高優先度の通知データとビル管理センター宛の高優先度の通知データを生成し、これらの通知データを「高」キューに格納する。
【0037】
ついで、通知データソート部150がキューに格納された通知データをソートまたは探索し(S210)、通知データ送信部160がキューから通知データをネットワークインターフェース106へ送出する(S212)。
【0038】
図6を参照して、通知データソート部150と通知データ送信部160の動作を説明する。
【0039】
上記のとおり、通知データ生成部140が、登録されたデータ生成ルールおよび通知データにしたがって、通知データを生成し優先度に対応するキューに格納する(S302)。
図8(b)に示すように各キューに通知データ格納された状態を仮定する。
図8(b)において、「高」優先度キューに格納された通知データを実線で示し、「中」優先度キューに格納された通知データを破線で示し、「低」優先度キューに格納された通知データを一点破線で示す。また、通知データA,E,GはN1で識別されるノード宛であり、通知データB,C,F,H,J,LはN2で識別されるノード宛であり、通知データDはN3で識別されるノード宛であり、通知データI,KはN4で識別されるノード宛であり、通知データM,OはN5で識別されるノード宛であり、通知データN,PはN6で識別されるノード宛である。さらに、N1,N2,N3,N5,N6で識別されるノードはGW1で識別されるゲートウェイに接続されたノードであり、N4で識別されるノードはGW2で識別されるゲートウェイに接続されたノードである。
【0040】
通知データ送信部160は、「高」優先度キューに通知データが存在するかを決定し(S304)、存在する場合に「高」優先度キューの先頭にある通知データ(A)を送出する(S306)。この動作は、「高」優先度キューに通知データが存在しないと決定されるまで繰り返される。優先度の高い通知データを1つずつ送出することで、無線ネットワーク300における輻輳やデータ損失を低減して、当該通知データを確実にノードへ送信させるためである。
【0041】
「高」優先度キューに通知データが存在しないと決定されると、通知データソート部150は、「中」優先度キューに通知データが存在するかを決定する(S308)。「中」優先度キューに通知データが存在する場合には、通知データソート部150は、「中」優先度キュー内の通知データを、同一ノード宛の通知データの隣接するようにソートする(S310)。
図8(c)は、「高」優先度キューに格納されたすべての通知データ(A〜E)が送出された後に、「中」優先度キューに格納された通知データ(F,G,H,I)がソートされた状態を示す。
【0042】
さらに、通知データソート部150は、「低」優先度キューに通知データが存在するかを決定する(S312)。「低」優先度キューに通知データが存在する場合、通知データソート部150は、「低」優先度キューを探索して、「中」優先度キューの先頭にある通知データ(F)と同一ノード(N2)宛の通知データ(J,L)を探索する(S312)。「低」優先度キュー内に「中」優先度キューの先頭にある通知データ(F)と同一ノード(N2)宛の通知データが存在する場合、通知データ送信部160は、「中」優先度キューの先頭にある通知データ(F)と同一ノード(N2)宛の通知データのセット(F,H)及び「低」優先度キュー内で探索された通知データのセット(J,L)を連続して送出する(纏めて送出する)(S314)。
図8(c)においてハッチングした通知データ(F,H,J,L)が纏めて送出される。
【0043】
他方、ステップ312で、「低」優先度キュー内に「中」優先度キューの先頭にある通知データ(F)と同一ノード(N2)宛の通知データが存在しない場合、通知データ送信部160は、「中」優先度キューの先頭にある通知データ(F)と同一ノード(N2)宛の通知データのセット(F,H)を連続して送出する(纏めて送出する)(S316)。
【0044】
ステップ308で、「中」優先度キューに通知データが存在しないと決定されるまで、「中」優先度キューに格納された通知データの送出が繰り返される。
【0045】
ステップ308で、「中」優先度キューに通知データが存在しないと決定されると、通知データソート部150は、「低」優先度キューに通知データが存在するかを決定する(S318)。「低」優先度キューに通知データが存在する場合には、通知データソート部150は、「低」優先度キュー内の通知データを、同一ノード宛の通知データの隣接するようにソートする(S320)。
図8(d)は、「低」優先度キューに格納された通知データ(K,M,O,N,P)がソートされた状態を示す。
【0046】
通知データ送信部160は、同一ノード宛の通知データのセットを送出する(纏めて送出する)。
図8(d)に示す例では、ハッチングした通知データ(K)のみが送出される。
【0047】
ステップ318で、「低」優先度キューに通知データが存在しないと決定されるまで、「低」優先度キューに格納された通知データの送出が繰り返される。
図8(e)に示す例では、通知データ(K)を送出した後の機会に、ハッチングした通知データ(M,O)のセットが纏めて送出され、さらにその後の機会に通知データ(N,P)のセットが纏めて送出される。
【0048】
次に、
図6を参照して説明した通知データソート部150と通知データ送信部160の動作の変形例を説明する。
【0049】
<第1の変形例>
図6を参照して説明したフローにおいて、ステップ314において、「中」優先度キューの先頭にある通知データ(F)と「低」優先度キュー内で探索された通知データ(J)を送出するようにして、「高」優先度キュー以外に格納された複数の通知データを連続して送出(纏めて送出)するようにしてもよい。
【0050】
<第2の変形例>
図6を参照して説明した実施形態において、ステップ312及びステップ314を省略し、ステップ310の後に直ちにステップ316を実行してもよい。
【0051】
<第3の変形例>
図2に示すように、コンピュータシステム100が複数のゲートウェイに接続されている場合、異なるゲートウェイを通過する通知データを纏めて送出しても、無線ネットワークでの輻輳や損失は互いに独立している。したがって、
図6のステップ314において、通知データ送信部160は、「中」優先度キューの先頭にある通知データ(F)と同一ノード(N2)宛の通知データのセット(F,H)及び「低」優先度キュー内で探索された通知データのセット(J,L)を送出し、さらに「中」優先度キューの最後尾にある通知データ(I)と同一ノード(N4)宛の通知データのセット(I)及び「低」優先度キュー内で探索された通知データのセット(K)を送出するようにしてもよい。同様にステップ316において、通知データ送信部160は、「中」優先度キューの先頭にある通知データ(F)と同一ノード(N2)宛の通知データのセット(F,H)を送出し、さらに「中」優先度キューの最後尾にある通知データ(I)と同一ノード(N4)宛の通知データのセット(I)を送出してもよい。通知データソート部によるソートが実行された後は、同一ノード宛の通知データが纏まるので、キューの先頭と最後尾では、異なるノード宛の通知データが配置され、しがたって、キューの先頭の通知データとキューの最後尾の通知データとでは通過するゲートウェイも異なる可能性が高くなり、無線ネットワークでの輻輳や損失の可能性が低くなる。
【0052】
本変形例をn個(nは3以上整数)のゲートウェイが接続されている場合に拡張すると、「中」優先度キューの先頭にある同一ノード宛の通知データのセットの少なくとも1つ(F)及び「中」優先度キューの最後尾にある同一ノード宛の通知データのセットの少なくとも1つ(I)を送出した後に、「中」優先度キューに残った通知データを、nよりも少ない2以上の整数個のグループに分割すると、2番目以降のグループの先頭にある通知データは、「中」優先度キューの先頭および最後尾に配置された通知データと異なるノード宛である可能性が高く、別のゲートウェイを通過する可能性も高い。したがって、このように分割した箇所の先頭にある通知データを先頭、最後尾に位置する通知データの次に送出するようにしてもよい。
【0053】
<第4の変形例>
データ生成ルールが、複数のトリガ中の条件が満たされた場合に通知データを生成するように規定している場合の通知データ生成部140の動作の変形例を説明する。例えば、ドアセンサが反応した後に所定時間内に照度センサが反応した場合に通知メッセージを生成してノードに送信するようにする場合を仮定する。
【0054】
図3に示すように通知データ内に通知データ削除タイミングを設定する。すなわち、
図7に例示するXML構造で記述されたデータ生成ルールに<通知データ削除タイミング>の属性を新たに設け、値を登録しておく。<通知データ削除タイミング>の属性に設定される値は、通知データが生成されてから経過した時間または時刻である。
【0055】
通知データ生成部160は、トリガ管理部120からのドアセンサが反応した旨の通知に応答して、データ生成ルールに基づいて、通知データを生成し、
図8を参照して説明した3つのキューとは異なる待ち合わせキューに格納する。コンピュータシステム100は、待ち合わせキュー内に格納された通知データに含まれる通知データ削除タイミング属性の値を監視して、通知データが生成されてから所定の時間が経過した時または所定の時刻に当該通知データを待ち合わせキューから削除する。通知データ生成部160は、トリガ管理部から照度センサが反応したことの通知に応答して、待ち合わせキューに格納した通知データを抽出して、データ生成ルールに規定された優先度に対応する優先度のキューに通知データを移動する。
【0056】
本変形例によれば、厳密に同時に発生しないセンサ値の変化(センサの反応)に対応することができるデータ通知システムを提供することができる。