(57)【特許請求の範囲】
【請求項１】
コンピュータが、
センサによってセンシングされるセンサ値を取得し、
前記センサ値が取得された場合に、通知先の装置へ前回通知したセンサ値からの変化量及び前回通知からの経過時間を算出し、
取得されたセンサ値と算出された変化量及び経過時間との組合せに基づいて、前記通知先の装置へ通知したセンサ値と、前回通知したセンサ値からの変化量及び前回通知からの経過時間と、前記通知先の装置によって所定の処理が実行されたか否かを示す実行結果とを対応付けて記憶する実行結果記憶部を参照し、前記通知先の装置に通知を実行するか、あるいは通知を保留するかを制御する
各処理を実行することを特徴とする通知制御方法。
【請求項２】
前記通知を制御する処理として、
取得されたセンサ値と算出された変化量及び経過時間との組合せに一致する組合せに対応付けられた実行結果が実行を示す場合、もしくは取得されたセンサ値と算出された変化量及び経過時間との組合せに一致する組合せが前記実行結果記憶部に存在しない場合に通知を実行し、
前記コンピュータが、
前記通知が実行された場合に、取得されたセンサ値と算出された変化量及び経過時間とに対応付けて、前記通知先の装置から取得された実行結果を前記実行結果記憶部に登録する処理をさらに実行することを特徴とする請求項１に記載の通知制御方法。
【請求項３】
前記実行結果を登録する処理として、
前記通知が実行された通知時刻をさらに対応付けて前記実行結果記憶部に登録し、
前記通知を制御する処理として、
取得されたセンサ値と算出された変化量及び経過時間との組合せに一致する組合せが前記実行結果記憶部に複数存在する場合に、当該複数存在する組合せのうち最新の通知時刻に対応付けられた実行結果が実行または不実行を示すかによって前記通知先の装置に通知を実行するか、あるいは通知を保留するかを制御することを特徴とする請求項２に記載の通知制御方法。
【請求項４】
前記実行結果記憶部は、前記センサ値と、前記前回通知したセンサ値からの変化量及び前記前回通知からの経過時間と、前記実行結果とを含むレコードに対する登録回数をさらに対応付けて記憶し、
前記実行結果を登録する処理として、
取得されたセンサ値と算出された変化量及び経過時間との組合せ及びその実行結果が同一であるレコードが前記実行結果記憶部に既に登録されている場合に、当該レコードに対する登録回数を更新し、
前記通知を制御する処理として、
取得されたセンサ値と算出された変化量及び経過時間との組合せに一致する組合せが前記実行結果記憶部に複数存在する場合に、当該複数存在する組合せのうちレコードに対する登録回数が最も多い組合せに対応付けられた実行結果が実行または不実行を示すかによって前記通知先の装置に通知を実行するか、あるいは通知を保留するかを制御することを特徴とする請求項２に記載の通知制御方法。
【請求項５】
通知先の装置へ通知したセンサ値と、前回通知したセンサ値からの変化量及び前回通知からの経過時間と、前記通知先の装置によって所定の処理が実行されたか否かを示す実行結果とを対応付けて記憶する実行結果記憶部と、
センサによってセンシングされるセンサ値を取得する取得部と、
前記取得部によってセンサ値が取得された場合に、前記通知先の装置へ前回通知したセンサ値からの変化量及び前回通知からの経過時間を算出する算出部と、
前記取得部によって取得されたセンサ値と前記算出部によって算出された変化量及び経過時間との組合せに基づいて前記実行結果記憶部を参照し、前記通知先の装置に通知を実行するか、あるいは通知を保留するかを制御する通知制御部と
を有することを特徴とする情報処理装置。
【請求項６】
コンピュータに、
センサによってセンシングされるセンサ値を取得し、
前記センサ値が取得された場合に、通知先の装置へ前回通知したセンサ値からの変化量及び前回通知からの経過時間を算出し、
取得されたセンサ値と算出された変化量及び経過時間との組合せに基づいて、前記通知先の装置へ通知したセンサ値と、前回通知したセンサ値からの変化量及び前回通知からの経過時間と、前記通知先の装置によって所定の処理が実行されたか否かを示す実行結果とを対応付けて記憶する実行結果記憶部を参照し、前記通知先の装置に通知を実行するか、あるいは通知を保留するかを制御する
各処理を実行させることを特徴とする通知制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通知制御方法、情報処理装置及び通知制御プログラムに関する。
【背景技術】
【０００２】
温度、湿度、圧力や物理量などの状態を採取するセンサが普及している。かかるセンサの普及に伴って、センサによって採取された状態に変化があった場合に、ハードウエアの制御やソフトウエアの実行によってサービスを提供するサービス提供装置にセンシング情報をイベントとして通知するイベント通知システムが実用化されつつある。
【０００３】
このとき、センサによって状態の変化が検知される度にイベントをサービス提供装置へ通知することとしたのでは、センサ及びサービス提供装置の間でのネットワークトラフィックが増大する。このため、イベント通知システムでは、サービス提供装置にイベントを通知する通知条件の指定を予め受け付けておき、センサによって検知された状態の変化が指定の通知条件を満たす場合に限ってイベントを通知する。これによって、サービス提供装置にとって不要なイベントの通知を削減する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１１−４９６６８号公報
【特許文献２】特開２００６−２４６０６５号公報
【特許文献３】特開２００６−２３６３４６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記の従来技術には、以下に説明するように、不要な通知を限定的にしか削減できないという問題がある。
【０００６】
これを説明すると、将来的には、センサが高性能化されるのに伴ってセンサによってセンシングされる値も詳細化することが予想されるが、センシングされる値が詳細化された場合には、センサによって状態の変化が検知される機会も増加する。このため、サービス提供装置がイベントの通知に連携してサービスを提供中である場合には、提供中のサービスの実行が終了するまでは新たにイベントが通知されてもサービスは提供できない。それにもかかわらず、上記の従来技術では、センサによって採取されるセンシング情報が通知条件を満たす限り、後続のイベントがサービス提供装置へ通知され続ける。
【０００７】
このように、上記の従来技術では、センシング情報が通知条件を満たすか否かを画一的に判定する結果、サービスの提供に寄与しないイベントがサービス提供装置へ通知されてしまうので、不要なイベント通知を限定的にしか削除することができない。
【０００８】
開示の技術は、上記に鑑みてなされたものであって、不要な通知を削減できる通知制御方法、情報処理装置及び通知制御プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
本願の開示する通知制御方法は、コンピュータが、センサによってセンシングされるセンサ値を取得する処理を実行する。前記コンピュータが、前記センサ値が取得された場合に、通知先の装置へ前回通知したセンサ値からの変化量及び前回通知からの経過時間を算出する処理を実行する。前記コンピュータが、取得されたセンサ値と算出された変化量及び経過時間との組合せに基づいて実行結果記憶部を参照し、前記通知先の装置に通知を実行するか、あるいは通知を保留するかを制御する処理を実行する。前記実行結果記憶部は、前記通知先の装置へ通知したセンサ値と、前回通知したセンサ値からの変化量及び前回通知からの経過時間と、前記通知先の装置によって所定の処理が実行されたか否かを示す実行結果とを対応付けて記憶する。
【発明の効果】
【００１０】
本願の開示する通知制御方法の一つの態様によれば、不要な通知を削減できるという効果を奏する。
【図面の簡単な説明】
【００１１】
【図１】図１は、実施例１に係るイベント通知システムのシステム構成を示す図である。
【図２】図２は、実施例１に係るイベント通知装置の機能的構成を示すブロック図である。
【図３】図３は、通知履歴記憶部に記憶される情報の構成例を示す図である。
【図４】図４は、実行結果記憶部に記憶される情報の構成例を示す図である。
【図５】図５は、センサから取得されるセンシング情報の一例を示す図である。
【図６】図６は、実施例１に係る通知制御処理の手順を示すフローチャートである。
【図７】図７は、実施例１及び実施例２に係る通知制御プログラムを実行するコンピュータの一例について説明するための図である。
【発明を実施するための形態】
【００１２】
以下に、本願の開示する通知制御方法、情報処理装置及び通知制御プログラムの実施例を図面に基づいて詳細に説明する。なお、この実施例は開示の技術を限定するものではない。そして、各実施例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【実施例１】
【００１３】
［システム構成］
まず、本実施例に係るイベント通知システムのシステム構成について説明する。図１は、実施例１に係るイベント通知システムのシステム構成を示す図である。図１の例では、センサ３０によって検知された温度変化をイベントとしてサービサ５０へ通知し、サービサ５０の支配下にある機器を制御する場合を想定する。
【００１４】
図１に示すように、イベント通知システム１には、センサ３０と、サービサ５０と、イベント通知装置１０とが収容される。図１の例では、センサ３０及びサービサ５０を１つずつ収容する場合を例示したが、任意の数のセンサ３０及びサービサ５０が収容される場合に適用することができる。
【００１５】
これらセンサ３０とイベント通知装置１０との間は、センサネットワーク３を介して通信可能に接続される。また、サービサ５０とイベント通知装置１０との間は、ネットワーク５を介して通信可能に接続される。かかるセンサネットワーク３やネットワーク５には、インターネット、ＬＡＮ（Local  Area  Network）やＶＰＮ（Virtual  Private  Network）などの各種の通信網を採用できる。これらセンサネットワーク３やネットワーク５は、有線または無線のいずれのリンクであってもかまわない。
【００１６】
このうち、センサ３０は、温度、湿度、圧力や物理量などの状態をセンシングするセンサデバイスである。かかるセンサ３０の一態様としては、温度を計測する温度センサ、湿度を計測する湿度センサ、温度および湿度を計測する温湿度センサなどの環境センサを採用できる。なお、ここでは、センサ３０の一例として環境センサを採用する場合を例示するが、ＧＰＳ（Global  Positioning  System）センサ、加速度センサやジャイロセンサなどの任意のセンサデバイスを採用することができる。
【００１７】
これらセンサ３０は、自装置に搭載された通信機能、あるいは自装置が内蔵、付設または接続される機器の通信機能を用いて、センシング情報をイベント通知装置１０へ送信する。例えば、センサ３０は、センシングした温度に変化があった場合に、センサ値である温度を始めとするセンシング情報、例えばセンサを識別するためのセンサＩＤや温度が計測された計測時刻などを、センサネットワーク３を介してイベント通知装置１０へ送信する。なお、センサ３０が内蔵、付設または接続される機器の一例としては、パーソナルコンピュータや周辺機器、ＡＶ機器、携帯電話機やＰＨＳ（Personal  Handyphone  System）の携帯端末、家電製品などの各種の機器が挙げられる。
【００１８】
サービサ５０は、自装置の支配下にある機器を制御することによってサービスを提供するサービス提供装置である。ここでは、一例として、サービサ５０がクーラーやエアコンディショナーなどの空調装置の最適制御を、空調装置から離れた場所に設置された温度センサーの温度に連携して実行する場合を想定する。例えば、サービサ５０は、イベント通知装置１０からイベントが通知された場合にそのイベントの通知を介して得た温度が所定の閾値以上であるならば、空調装置の空調運転をＯＮ状態にすることによって空調装置の冷房を所定の期間にわたって作動させる。一方、サービサ５０は、イベント通知装置１０からのイベントの通知を介して得た温度が所定の閾値未満である場合には、空調装置の冷房を作動させない。
【００１９】
このように、サービサ５０は、所定の閾値以上の温度である場合に限って冷房を作動させることによって省電力サービスを提供する。なお、サービサ５０が機器を制御するイベントの条件は、サービサ５０の管理者によって任意の条件が設定される。
【００２０】
イベント通知装置１０は、センサ３０によって検知された状態変化をイベントとしてサービサ５０へ通知するサーバ等の情報処理装置である。一態様としては、イベント通知装置１０は、センサ３０からセンシング情報を受信した場合に、当該センサ３０からの状態変化をイベントとして通知するように予め登録されたサービサ５０に対し、イベントを通知する。このとき、イベント通知装置１０は、センサ３０によって状態変化が検知されたからといって無条件にサービサ５０へイベントを通知する訳ではない。
【００２１】
すなわち、本実施例に係るイベント通知装置１０は、サービサ５０へ通知したセンサ値と、前回通知したセンサ値からの変化量及び前回通知からの経過時間と、サービサ５０によって所定の処理が実行されたか否かを示す実行結果とを対応付けて記憶する。その上で、イベント通知装置１０は、センサ３０によってセンシングされるセンサ値を取得する。さらに、イベント通知装置１０は、センサ値が取得された場合に、サービサ５０へ前回通知したセンサ値からの変化量及び前回通知からの経過時間を算出する。さらに、イベント通知装置１０は、取得されたセンサ値と算出された変化量及び経過時間との組合せに基づいて先の記憶内容を参照し、サービサ５０に通知を実行するか、あるいは通知を保留するかを制御する。
【００２２】
このように、イベント通知装置１０は、センサ３０から得たセンサ値、前回通知時のセンサ値からの変化量、前回通知からの経過時間の組合せが同じ履歴にてサービス提供に関する処理が実行されたか否かによってサービサ５０への通知を実行または保留する。このため、イベント通知装置１０では、過去に同様の局面でサービサ５０へイベントを通知して処理が実行されなかった場合にイベントの通知を保留できる。それゆえ、イベント通知装置１０では、サービサ５０からイベントに連携してサービスに関係する処理を実行する条件やその処理の実行状況が開示されておらずとも、サービサ５０で処理が実行される可能性が低い局面ではイベントの通知を抑制できる。
【００２３】
したがって、イベント通知装置１０によれば、不要なイベントの通知を削減することができる。さらに、イベント通知装置１０では、サービサ５０で処理が実行される可能性が高い局面ではサービサ５０にイベントを通知できるので、サービサ５０へのイベントを通知するタイミングを最適化なタイミングに近づけることもできる。
【００２４】
［イベント通知装置の構成］
続いて、本実施例に係るイベント通知装置の機能的構成について説明する。図２は、実施例１に係るイベント通知装置の機能的構成を示すブロック図である。なお、イベント通知装置１０は、図２に示す機能部以外にも既知の情報処理装置が有する各種の機能部、例えば各種の入力デバイスや音声出力デバイスなどの機能を有するものとする。
【００２５】
図２に示すように、イベント通知装置１０は、通知先登録部１１と、通知先記憶部１２と、取得部１３と、センシング情報記憶部１４と、通知履歴記憶部１５と、算出部１６と、実行結果登録部１７と、実行結果記憶部１８と、通知制御部１９とを有する。
【００２６】
このうち、通知先登録部１１は、センサ３０によって検知された温度変化をイベントとして通知する通知先の装置を後述の通知先記憶部１２へ登録する処理部である。一態様としては、通知先登録部１１は、イベント通知装置１０がセンシング情報を収集するセンサ３０のうちイベントの通知対象とするセンサ３０の指定をサービサ５０から受け付ける。そして、通知先登録部１１は、サービサ５０から指定を受け付けたセンサ３０のセンサＩＤに当該サービサ５０のサービサＩＤを対応付けて後述の通知先記憶部１２へ登録する。
【００２７】
通知先記憶部１２は、イベントの通知先の装置を記憶する記憶部である。一例としては、通知先記憶部１２は、サービサ５０からイベントの通知対象とするセンサ３０の指定をサービサ５０から受け付けた場合に、通知先登録部１１によって通知先の装置が登録される。他の一例としては、通知先記憶部１２は、イベントの通知先を判別するために、後述の通知制御部１９によって参照される。
【００２８】
かかる通知先記憶部１２の一態様としては、センサ３０のセンサＩＤごとにサービサ５０のサービサＩＤが対応付けられたデータが記憶される。ここで、以下では、センサ３０のセンサＩＤ及びサービサ５０のサービサＩＤが１対１に対応付けられている場合を想定して以下の説明を行う。なお、ここでは、センサＩＤ及びサービサＩＤが１対１に対応付けられている場合を想定するが、同じセンサＩＤに複数のサービサＩＤが対応付けられることとしてもかまわない。例えば、同じセンサＩＤに複数のサービサＩＤが対応付けられている場合には、後述の取得部１３によって１つのセンサ３０からセンシング情報が取得された場合に複数のサービサへイベントが通知される場合もある。また、ここでは、センサ３０及びサービサ５０の対応付けをセンサＩＤ及びサービサＩＤを用いて行う場合を例示したが、両者のアドレス等を用いてセンサ３０及びサービサ５０の対応付けを行うこともできる。
【００２９】
取得部１３は、センサ３０からセンシング情報を取得する処理部である。一態様としては、取得部１３は、センサＩＤ、計測時刻やセンサ値などのセンシング情報をセンサネットワーク３を介して取得する。その上で、取得部１３は、センサ３０から取得したセンシング情報を後述のセンシング情報記憶部１４へ登録するとともに、センシング情報を後述の算出部１６へ出力する。なお、本実施例では、センサ値に変化があった場合にセンサ３０からセンシング情報を取得する場合を想定するが、センサ３０から取得した温度に変化があったか否かを取得部１３によって判定させることとしてもかまわない。
【００３０】
センシング情報記憶部１４は、センシング情報を記憶する記憶部である。一例としては、センシング情報記憶部１４は、センサ３０からセンシング情報が取得された場合に、取得部１３によってセンシング情報が登録される。かかるセンシング情報記憶部１４の一態様としては、センサＩＤごとに計測時刻および温度が対応付けられたデータが記憶される。なお、センシング情報記憶部１４には、上記の計測時刻や温度以外にも、センサ３０の設置場所等の他の情報を併せて登録することもできる。
【００３１】
通知履歴記憶部１５は、イベントの通知履歴を記憶する記憶部である。一例としては、通知履歴記憶部１５は、前回通知したセンサ値からの変化量Δｘ及び前回通知からの経過時間Δｔを算出する場合に、後述の算出部１６によって参照される。他の一例としては、通知履歴記憶部１５は、イベントがサービサ５０へ通知された場合に、後述の通知制御部１９によって通知履歴が登録される。
【００３２】
かかる通知履歴記憶部１５の一態様としては、サービサ５０にイベントが通知された通知時刻およびサービサ５０に通知された通知センサ値ｘが対応付けられたデータが記憶される。図３は、通知履歴記憶部１５に記憶される情報の構成例を示す図である。図３の例では、１２時００分００秒にセンサ値が２８℃である旨をイベント通知し、１２時００分１５秒にセンサ値が２９℃である旨をイベント通知し、さらに、１２時００分３５秒にセンサ値が３０℃である旨をイベント通知したことを示す。
【００３３】
算出部１６は、通知履歴記憶部１５を参照して、前回にサービサ５０へ通知したセンサ値からの変化量Δｘ及び前回にサービサ５０へ通知してからの経過時間Δｔを算出する処理部である。一態様としては、算出部１６は、取得部１３によってセンサ３０からセンシング情報が取得された場合に、通知履歴記憶部１５に記憶された通知時刻及び通知センサ値のうち最新の通知時刻及びその通知時刻に対応付けられた通知センサ値を読み出す。そして、算出部１６は、取得部１３によって取得されたセンシング情報に含まれるセンサ値と、通知履歴記憶部１５から読み出した通知センサ値との間で差を計算することによって前回通知したセンサ値からの変化量Δｘを算出する。さらに、算出部１６は、取得部１３によってセンシング情報が取得された時刻と、通知履歴記憶部１５から読み出した通知時刻との間で差を計算することによって前回通知からの経過時間Δｔを算出する。なお、上記の差を計算する場合には、今回取得したセンサ値から前回の通知センサ値を減算し、また、今回にセンシング情報が取得された時刻から前回の通知時刻を減算するのが好ましい。
【００３４】
実行結果登録部１７は、後述の通知制御部１９によってイベントの通知が実行された場合に、イベントの通知に連携してサービスに関係する処理がサービサ５０によって実行されたか否かを示す実行結果を後述の実行結果記憶部１８へ登録する処理部である。一態様としては、イベント通知装置１０及びサービサ５０の通信がＨＴＴＰ（HyperText  Transfer  Protocol）によってなされる場合には、後述の通知制御部１９によってセンサ値を含むイベントがリクエストとして通知される。かかるリクエストに対して、サービサ５０によって実行結果が埋め込まれたレスポンスが実行結果登録部１７へ返信される。実行結果登録部１７は、取得部１３によって取得されたセンサ値と、算出部１６によって算出された前回通知したセンサ値からの変化量Δｘ及び前回通知からの経過時間Δｔとに対応付けて、サービサ５０から返信された実行結果を実行結果記憶部１８へ登録する。
【００３５】
実行結果記憶部１８は、イベントの通知に連携してサービスに関係する処理がサービサ５０によって実行されたか否かを示す実行結果を記憶する記憶部である。一例としては、実行結果記憶部１８は、サービサ５０にイベントの通知を実行するか、あるいは通知を保留するかを判定するために、後述の通知制御部１９によって参照される。他の一例としては、実行結果記憶部１８は、サービサ５０にイベントが通知された場合に、実行結果登録部１７によって実行結果が登録される。
【００３６】
かかる実行結果記憶部１８の一態様としては、サービサ５０へ通知したセンサ値と、前回通知したセンサ値からの変化量Δｘ及び前回通知からの経過時間Δｔと、イベントの通知に連携してサービサ５０によってサービスに関係する処理が実行されたか否かを示す実行結果とが対応付けられたデータが記憶される。
【００３７】
図４は、実行結果記憶部１８に記憶される情報の構成例を示す図である。例えば、図４に示す一番目のレコードは、センサ値ｘが２９℃である旨のイベントが前回にイベントが通知されてから１５秒後に通知され、前回にイベントが通知されてからの温度変化が＋１℃であり、イベントの通知に連携して処理が実行されなかったことを意味する。図４に示す二番目のレコードは、センサ値ｘが３０℃である旨のイベントが前回にイベントが通知されてから２０秒後に通知され、前回にイベントが通知されてからの温度変化が＋１℃であり、イベントの通知に連携して処理が実行されたことを意味する。
【００３８】
ここで、図３及び図４を用いて、実行結果の登録方法について説明する。ここでは、イベント通知されたセンサ値が３０℃以上である場合にサービサ５０が空調装置の冷房を所定の期間にわたって作動させる場合を想定する。ただし、サービサ５０が空調装置の冷房を制御中の場合には、制御が完了するまで空調装置を新たに制御することはできないので、後述の通知制御部１９からのイベントの通知に実行結果「不実行」と返信するものとする。
【００３９】
例えば、図３に示す（ロ）のように、１２時００分１５秒に後述の通知制御部１９によってセンサ値「２９℃」のイベントがサービサ５０に通知された場合には、次のようにして実行結果が実行結果記憶部１８へ登録される。具体的には、取得部１３によって取得されたセンサ値「２９℃」から図３に示す（イ）の通知センサ値「２８℃」を減算することによって前回通知したセンサ値からの変化量Δｘが「＋１℃」と算出される。さらに、取得部１３によってセンサ値が取得された時刻「１２時００分１５秒」から図３に示す（イ）の通知時刻「１２時００分００秒」を減算することによって前回通知からの経過時間Δｔが「１５秒」と算出される。そして、サービサ５０から「不実行」が返信されたとしたとき、取得部１３によって取得されたセンサ値ｘ「２９℃」と、算出部１６によって算出されたセンサ値の変化量Δｘ「＋１℃」及び経過時間Δｔ「１５秒」に対応付けて、実行結果「不実行」が登録される。このようにして、図４に示す一番目のレコードが実行結果登録部１７によって登録される。
【００４０】
また、図３に示す（ハ）のように、１２時００分３５秒に後述の通知制御部１９によってセンサ値「３０℃」のイベントがサービサ５０に通知された場合には、次のようにして実行結果が実行結果記憶部１８へ登録される。具体的には、取得部１３によって取得されたセンサ値「３０℃」から図３に示す（ロ）の通知センサ値「２９℃」を減算することによって前回通知したセンサ値からの変化量Δｘが「＋１℃」と算出される。さらに、取得部１３によってセンサ値が取得された時刻「１２時００分３５秒」から図３に示す（ロ）の通知時刻「１２時００分１５秒」を減算することによって前回通知からの経過時間Δｔが「２０秒」と算出される。そして、サービサ５０から「実行」が返信されたとしたとき、取得部１３によって取得されたセンサ値ｘ「３０℃」と、算出部１６によって算出されたセンサ値の変化量Δｘ「＋１℃」及び経過時間Δｔ「２０秒」に対応付けて、実行結果「実行」が登録される。このようにして、図４に示す二番目のレコードが実行結果登録部１７によって登録される。
【００４１】
また、図３に示す（ホ）のように、１２時１０分０５秒に後述の通知制御部１９によってセンサ値「３０℃」のイベントがサービサ５０に通知された場合には、次のようにして実行結果が実行結果記憶部１８へ登録される。具体的には、取得部１３によって取得されたセンサ値「３０℃」から図３に示す（ニ）の通知センサ値「２８℃」を減算することによって前回通知したセンサ値からの変化量Δｘが「＋２℃」と算出される。さらに、取得部１３によってセンサ値が取得された時刻「１２時１０分０５秒」から図３に示す（ニ）の通知時刻「１２時１０分００秒」を減算することによって前回通知からの経過時間Δｔが「５秒」と算出される。そして、サービサ５０から「不実行」が返信されたとしたとき、取得部１３によって取得されたセンサ値ｘ「３０℃」と、算出部１６によって算出されたセンサ値の変化量Δｘ「＋２℃」及び経過時間Δｔ「５秒」に対応付けて、実行結果「不実行」が登録される。このようにして、図４に示す三番目のレコードが実行結果登録部１７によって登録される。
【００４２】
また、図３に示す（ト）のように、１２時２０分２０秒に後述の通知制御部１９によってセンサ値「３０℃」のイベントがサービサ５０に通知された場合には、次のようにして実行結果が後述の実行結果記憶部１８へ登録される。具体的には、取得部１３によって取得されたセンサ値「３０℃」から図３に示す（ヘ）の通知センサ値「２８℃」を減算することによって前回通知したセンサ値からの変化量Δｘが「＋２℃」と算出される。さらに、取得部１３によってセンサ値が取得された時刻「１２時２０分２０秒」から図３に示す（ヘ）の通知時刻「１２時２０分００秒」を減算することによって前回通知からの経過時間Δｔが「２０秒」と算出される。そして、サービサ５０から「実行」が返信されたとしたとき、取得部１３によって取得されたセンサ値ｘ「３０℃」と、算出部１６によって算出されたセンサ値の変化量Δｘ「＋２℃」及び経過時間Δｔ「２０秒」に対応付けて、実行結果「実行」が登録される。このようにして、図４に示す四番目のレコードが実行結果登録部１７によって登録される。
【００４３】
また、図３に示す（リ）のように、１２時３０分２０秒に後述の通知制御部１９によってセンサ値「３１℃」のイベントがサービサ５０に通知された場合には、次のようにして実行結果が実行結果記憶部１８へ登録される。具体的には、取得部１３によって取得されたセンサ値「３１℃」から図３に示す（チ）の通知センサ値「３０℃」を減算することによって前回通知したセンサ値からの変化量Δｘが「＋１℃」と算出される。さらに、取得部１３によってセンサ値が取得された時刻「１２時３０分２０秒」から図３に示す（チ）の通知時刻「１２時３０分００秒」を減算することによって前回通知からの経過時間Δｔが「２０秒」と算出される。そして、サービサ５０から「不実行」が返信されたとしたとき、取得部１３によって取得されたセンサ値ｘ「３１℃」と、算出部１６によって算出されたセンサ値の変化量Δｘ「＋１℃」及び経過時間Δｔ「２０秒」に対応付けて、実行結果「不実行」が登録される。このようにして、図４に示す五番目のレコードが実行結果登録部１７によって登録される。
【００４４】
図２の説明に戻り、通知制御部１９は、イベントの通知制御を実行する処理部である。一態様としては、通知制御部１９は、取得部１３によって取得されたセンサ値ｘと算出部１６によって算出されたセンサ値の変化量Δｘ及び経過時間Δｔとの組合せに基づいて実行結果記憶部１８を参照し、サービサ５０に通知を実行するか、あるいは通知を保留するかを制御する。
【００４５】
これを説明すると、通知制御部１９は、取得部１３によって取得されたセンサ値ｘと、算出部１６によって算出されたセンサ値の変化量Δｘ及び経過時間Δｔとの組合せに一致するレコードを実行結果記憶部１８から検索する。そして、通知制御部１９は、先の組合せに一致するレコードが実行結果記憶部１８に存在する場合には、実行結果が「実行」であるか否かを判定する。このとき、先の組合せに一致するレコードの実行結果が「不実行」である場合には、過去に同様の局面でサービサ５０へイベントを通知して処理が実行されなかったと推定できる。この場合には、通知制御部１９は、サービサ５０にイベントを通知したとしても、サービサ５０によってサービスに関係する処理が実行される可能性が低いので、イベントの通知を保留する。
【００４６】
一方、先の組合せに一致するレコードが実行結果記憶部１８に存在しない場合には、過去に同様の局面でサービサ５０へイベントを通知していないと推定できる。この場合には、通知制御部１９は、次回以降に同じ局面でイベントを通知するか、あるいは保留するかを判定するために、サービサ５０へイベントを通知する。また、先の組合せに一致するレコードの実行結果が「実行」である場合には、過去に同様の局面でサービサ５０へイベントを通知して処理が実行されたと推定できる。この場合には、通知制御部１９は、サービサ５０によってサービスに関係する処理が実行される可能性が高いので、イベントの通知を実行する。このようにしてイベントの通知を実行した場合には、通知制御部１９は、今回通知した通知センサ値および今回通知した通知時刻を通知履歴記憶部１５へ追加登録する。
【００４７】
ここで、図４及び図５を用いて、イベントの通知制御について説明する。図５は、センサ３０から取得されるセンシング情報の一例を示す図である。なお、図５に示す（Ａ）、（Ｄ）、（Ｇ）及び（Ｊ）のセンサ値は、サービサ５０へイベントとして通知されるものとして以下の説明を行う。
【００４８】
例えば、図５に示す（Ｂ）のように、１３時００分１５秒にセンサ３０からセンサ値「２９℃」が取得された場合には、次のようにしてイベントの通知が制御される。具体的には、取得部１３によって取得されたセンサ値「２９℃」から図５に示す（Ａ）の通知センサ値「２８℃」を減算することによって前回通知したセンサ値からの変化量Δｘが「＋１℃」と算出される。さらに、取得部１３によってセンサ値が取得された時刻「１３時００分１５秒」から図５に示す（Ａ）の通知時刻「１３時００分００秒」を減算することによって前回通知からの経過時間Δｔが「１５秒」と算出される。この場合には、センサ値ｘ「２９℃」、センサ値の変化量Δｘ「＋１℃」及び経過時間Δｔ「１５秒」の組合せと一致するレコードとして実行結果記憶部１８の一番目のレコードが検索される。かかる一番目のレコードにおける実行結果は「不実行」であるので、図５に示す（Ｂ）のセンシング情報が取得されても、イベントの通知は保留される。
【００４９】
また、図５に示す（Ｃ）のように、１３時００分２０秒にセンサ３０からセンサ値「３０℃」が取得された場合には、次のようにしてイベントの通知が制御される。この例では、図５に示す（Ｂ）のセンシング情報が取得された際にイベントが通知されていないので、図５に示す（Ａ）の通知履歴との間でセンサ値の変化量Δｘ及び経過時間Δｔの算出が実行される。具体的には、取得部１３によって取得されたセンサ値「３０℃」から図５に示す（Ａ）の通知センサ値「２８℃」を減算することによって前回通知したセンサ値からの変化量Δｘが「＋２℃」と算出される。さらに、取得部１３によってセンサ値が取得された時刻「１３時００分２０秒」から図５に示す（Ａ）の通知時刻「１３時００分００秒」を減算することによって前回通知からの経過時間Δｔが「２０秒」と算出される。この場合には、センサ値ｘ「３０℃」、センサ値の変化量Δｘ「＋２℃」及び経過時間Δｔ「２０秒」の組合せと一致するレコードとして実行結果記憶部１８の四番目のレコードが検索される。かかる四番目のレコードにおける実行結果は「実行」であるので、図５に示す（Ｃ）のセンシング情報が取得された場合には、イベントの通知が実行される。
【００５０】
また、図５に示す（Ｅ）のように、１３時１０分０５秒にセンサ３０からセンサ値「３０℃」が取得された場合には、次のようにしてイベントの通知が制御される。具体的には、取得部１３によって取得されたセンサ値「３０℃」から図５に示す（Ｄ）の通知センサ値「２８℃」を減算することによって前回通知したセンサ値からの変化量Δｘが「＋２℃」と算出される。さらに、取得部１３によってセンサ値が取得された時刻「１３時１０分０５秒」から図５に示す（Ｄ）の通知時刻「１３時１０分００秒」を減算することによって前回通知からの経過時間Δｔが「５秒」と算出される。この場合には、センサ値ｘ「３０℃」、センサ値の変化量Δｘ「＋２℃」及び経過時間Δｔ「５秒」の組合せと一致するレコードとして実行結果記憶部１８の三番目のレコードが検索される。かかる三番目のレコードにおける実行結果は「不実行」であるので、図５に示す（Ｅ）のセンシング情報が取得されても、イベントの通知は保留される。
【００５１】
また、図５に示す（Ｆ）のように、１３時１０分２０秒にセンサ３０からセンサ値「３０℃」が取得された場合には、次のようにしてイベントの通知が制御される。この例では、図５に示す（Ｅ）のセンシング情報が取得された際にイベントが通知されていないので、図５に示す（Ｄ）の通知履歴との間でセンサ値の変化量Δｘ及び経過時間Δｔの算出が実行される。具体的には、取得部１３によって取得されたセンサ値「３０℃」から図５に示す（Ｄ）の通知センサ値「２８℃」を減算することによって前回通知したセンサ値からの変化量Δｘが「＋２℃」と算出される。さらに、取得部１３によってセンサ値が取得された時刻「１３時１０分２０秒」から図５に示す（Ｄ）の通知時刻「１３時１０分００秒」を減算することによって前回通知からの経過時間Δｔが「２０秒」と算出される。この場合には、センサ値ｘ「３０℃」、センサ値の変化量Δｘ「＋２℃」及び経過時間Δｔ「２０秒」の組合せと一致するレコードとして実行結果記憶部１８の四番目のレコードが検索される。かかる四番目のレコードにおける実行結果は「実行」であるので、図５に示す（Ｆ）のセンシング情報が取得された場合には、イベントの通知が実行される。
【００５２】
図５に示す（Ｈ）のように、１３時２０分２０秒にセンサ３０からセンサ値「３０℃」が取得された場合には、次のようにしてイベントの通知が制御される。具体的には、取得部１３によって取得されたセンサ値「３０℃」から図５に示す（Ｇ）の通知センサ値「２９℃」を減算することによって前回通知したセンサ値からの変化量Δｘが「＋１℃」と算出される。さらに、取得部１３によってセンサ値が取得された時刻「１３時２０分２０秒」から図５に示す（Ｇ）の通知時刻「１３時２０分００秒」を減算することによって前回通知からの経過時間Δｔが「２０秒」と算出される。この場合には、センサ値ｘ「３０℃」、センサ値の変化量Δｘ「＋１℃」及び経過時間Δｔ「２０秒」の組合せと一致するレコードとして実行結果記憶部１８の二番目のレコードが検索される。かかる二番目のレコードにおける実行結果は「実行」であるので、図５に示す（Ｈ）のセンシング情報が取得された場合には、イベントの通知が実行される。
【００５３】
図５に示す（Ｋ）のように、１３時３０分２０秒にセンサ３０からセンサ値「３１℃」が取得された場合には、次のようにしてイベントの通知が制御される。具体的には、取得部１３によって取得されたセンサ値「３１℃」から図５に示す（Ｊ）の通知センサ値「３０℃」を減算することによって前回通知したセンサ値からの変化量Δｘが「＋１℃」と算出される。さらに、取得部１３によってセンサ値が取得された時刻「１３時３０分２０秒」から図５に示す（Ｊ）の通知時刻「１３時３０分００秒」を減算することによって前回通知からの経過時間Δｔが「２０秒」と算出される。この場合には、センサ値ｘ「３１℃」、センサ値の変化量Δｘ「＋１℃」及び経過時間Δｔ「２０秒」の組合せと一致するレコードとして実行結果記憶部１８の五番目のレコードが検索される。かかる五番目のレコードにおける実行結果は「不実行」であるので、図５に示す（Ｋ）のセンシング情報が取得されても、イベントの通知は保留される。
【００５４】
［処理の流れ］
次に、本実施例に係るイベント通知装置の処理の流れについて説明する。図６は、実施例１に係る通知制御処理の手順を示すフローチャートである。この通知制御処理は、イベント通知装置１０の電源がＯＮ状態である限り、繰り返し実行される処理である。
【００５５】
図６に示すように、センサ３０からセンシング情報が取得されると（ステップＳ１０１肯定）、イベント通知装置１０は、次のようにして前回通知したセンサ値からの変化量Δｘを算出する（ステップＳ１０２）。すなわち、イベント通知装置１０は、センシング情報に含まれるセンサ値から通知履歴記憶部１５に記憶された最新の通知センサ値を減算することによって前回通知したセンサ値からの変化量Δｘを算出する。
【００５６】
続いて、イベント通知装置１０は、センシング情報が取得された時刻から通知履歴記憶部１５に記憶された最新の通知時刻を減算することによって前回通知からの経過時間Δｔを算出する（ステップＳ１０３）。
【００５７】
その上で、イベント通知装置１０は、ステップＳ１０１で取得したセンサ値ｘと、ステップＳ１０２及びＳ１０３で算出したセンサ値の変化量Δｘ及び経過時間Δｔとの組合せに一致するレコードを実行結果記憶部１８から検索する（ステップＳ１０４）。
【００５８】
そして、先の組合せと一致するレコードが実行結果記憶部１８に存在する場合（ステップＳ１０５肯定）には、イベント通知装置１０は、実行結果が「実行」であるか否かを判定する（ステップＳ１０６）。
【００５９】
ここで、先の組合せと一致するレコードの実行結果が「不実行」である場合（ステップＳ１０６否定）には、過去に同様の局面でサービサ５０へイベントを通知して処理が実行されなかったと推定できる。この場合には、サービサ５０にイベントを通知したとしても、サービサ５０によってサービスに関係する処理が実行される可能性が低い。よって、イベント通知装置１０は、イベントの通知を保留し、ステップＳ１０１へ移行する。
【００６０】
一方、先の組合せと一致するレコードが実行結果記憶部１８に存在しない場合（ステップＳ１０５否定）には、過去に同様の局面でサービサ５０へイベントを通知していないと推定できる。この場合には、次回以降に同じ局面でイベントを通知するか、あるいは保留するかを判定するのが好ましい。よって、イベント通知装置１０は、サービサ５０にイベントを通知する（ステップＳ１０７）。
【００６１】
また、先の組合せと一致するレコードの実行結果が「実行」である場合（ステップＳ１０６肯定）には、過去に同様の局面でサービサ５０へイベントを通知して処理が実行されたと推定できる。この場合には、サービサ５０によってサービスに関係する処理が実行される可能性が高い。よって、イベント通知装置１０は、サービサ５０にイベントの通知を実行する（ステップＳ１０７）。
【００６２】
かかるイベントの通知後、イベント通知装置１０は、今回通知した通知センサ値および今回通知した通知時刻を通知履歴記憶部１５へ追加登録する（ステップＳ１０８）。そして、イベント通知装置１０は、サービサ５０から実行結果が返信されるのを待機する（ステップＳ１０９）。
【００６３】
続いて、イベント通知装置１０は、今回取得したセンサ値と、前回通知したセンサ値からの変化量Δｘ及び前回通知からの経過時間Δｔとに対応付けて、サービサ５０から返信された実行結果を実行結果記憶部１８へ登録する（ステップＳ１１０）。その後、イベント通知装置１０は、ステップＳ１０１へ移行する。
【００６４】
［実施例１の効果］
上述してきたように、本実施例に係るイベント通知装置１０は、センサ３０から得たセンサ値、前回通知時のセンサ値からの変化量、前回通知からの経過時間の組合せが同じ履歴にてサービス提供に関する処理が実行されたか否かによってサービサ５０への通知を実行または保留する。このため、イベント通知装置１０では、過去に同様の局面でサービサ５０へイベントを通知して処理が実行されなかった場合にイベントの通知を保留できる。それゆえ、イベント通知装置１０では、サービサ５０からイベントに連携してサービスに関係する処理を実行する条件やその処理の実行状況が開示されておらずとも、サービサ５０で処理が実行される可能性が低い局面ではイベントの通知を抑制できる。
【００６５】
したがって、イベント通知装置１０によれば、不要なイベントの通知を削減することができる。さらに、イベント通知装置１０では、サービサ５０で処理が実行される可能性が高い局面ではサービサ５０にイベントを通知できるので、サービサ５０へのイベントを通知するタイミングを最適化なタイミングに近づけることもできる。
【００６６】
また、本実施例に係るイベント通知装置１０は、イベントの通知を実行した場合に、取得したセンサ値と算出した変化量及び経過時間とに対応付けて、サービサ５０から取得した実行結果を実行結果記憶部１８に登録する。このため、イベント通知装置１０では、センサ値、変化量及び経過時間の組合せを動的に追加できる結果、イベント通知の実行または保留を学習することができる。
【実施例２】
【００６７】
さて、これまで開示の装置に関する実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下では、本発明に含まれる他の実施例を説明する。
【００６８】
［応用例１］
例えば、上記の実施例１では、センサ値ｘと、センサ値の変化量Δｘ及び経過時間Δｔとの組合せに一致するレコードが１つだけ存在する場合を想定したが、同一の組合せに関し、実行結果として「実行」が対応付けられたレコードと、実行結果として「不実行」が対応付けられたレコードとの両方が混在する場合も想定される。
【００６９】
このような場合には、開示の装置は、センサ値ｘ、センサ値の変化量Δｘ、経過時間Δｔ及び実行結果に加えてセンサ値を通知した通知時刻をさらに実行結果登録部１８へ登録することもできる。かかる通知時刻の登録によって、開示の装置は、センサ値ｘ、センサ値の変化量Δｘ及び経過時間Δｔの組合せに一致するレコードが複数存在する場合でも、複数存在する組合せのうち最新の通知時刻に対応付けられた実行結果が実行または不実行を示すかによってサービサ５０に通知を実行するか、あるいは通知を保留するかを制御できる。このため、開示の装置では、センサ値ｘ、センサ値の変化量Δｘ及び経過時間Δｔの組合せに一致するレコードが複数存在する場合でも、サービサ５０の最新の状態に合わせてイベントの通知を制御できる。
【００７０】
また、開示の装置は、センサ値ｘ、センサ値の変化量Δｘ、経過時間Δｔ及び実行結果に加えてレコードに対する登録回数をさらに実行結果登録部１８に記憶させることもできる。すなわち、開示の装置は、センサ値ｘ、センサ値の変化量Δｘ、経過時間Δｔ及び実行結果が同一であるレコードが実行結果記憶部１８に既に登録されている場合に、当該レコードに対する登録回数を更新する。かかる登録回数の更新によって、開示の装置は、センサ値ｘ、センサ値の変化量Δｘ及び経過時間Δｔの組合せに一致するレコードが複数存在する場合でも、複数存在する組合せのうちレコードに対する登録回数が最も多い組合せに対応付けられた実行結果が実行または不実行を示すかによってサービサ５０に通知を実行するか、あるいは通知を保留するかを制御できる。このため、開示の装置では、センサ値ｘ、センサ値の変化量Δｘ及び経過時間Δｔの組合せに一致するレコードが複数存在する場合でも、実行または不実行のうち頻度が高い方に合わせてイベントの通知を制御できる。
【００７１】
［分散および統合］
また、図示した各装置の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、通知登録部１１、取得部１３、算出部１６、実行結果登録部１７または通知制御部１９をイベント通知装置の外部装置としてネットワーク経由で接続するようにしてもよい。また、通知登録部１１、取得部１３、算出部１６、実行結果登録部１７または通知制御部１９を別の装置がそれぞれ有し、ネットワーク接続されて協働することで、上記のイベント通知装置の機能を実現するようにしてもよい。
【００７２】
［通知制御プログラム］
また、上記の実施例で説明した各種の処理は、予め用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。そこで、以下では、図７を用いて、上記の実施例と同様の機能を有する通知制御プログラムを実行するコンピュータの一例について説明する。
【００７３】
図７は、実施例１及び実施例２に係る通知制御プログラムを実行するコンピュータの一例について説明するための図である。図７に示すように、コンピュータ１００は、操作部１１０ａと、スピーカ１１０ｂと、カメラ１１０ｃと、ディスプレイ１２０と、通信部１３０とを有する。さらに、このコンピュータ１００は、ＣＰＵ１５０と、ＲＯＭ１６０と、ＨＤＤ１７０と、ＲＡＭ１８０と有する。これら１１０〜１８０の各部はバス１４０を介して接続される。
【００７４】
ＨＤＤ１７０には、図７に示すように、上記の実施例１で示した通知先登録部１１と、取得部１３と、算出部１６と、実行結果登録部１７と、通知制御部１９と同様の機能を発揮する通知制御プログラム１７０ａが予め記憶される。この通知制御プログラム１７０ａについては、図２に示した各々の通知登録部１１、取得部１３、算出部１６、実行結果登録部１７及び通知制御部１９の各構成要素と同様、適宜統合又は分離しても良い。すなわち、ＨＤＤ１７０に格納される各データは、常に全てのデータがＨＤＤ１７０に格納される必要はなく、処理に必要なデータのみがＨＤＤ１７０に格納されれば良い。
【００７５】
そして、ＣＰＵ１５０が、通知制御プログラム１７０ａをＨＤＤ１７０から読み出してＲＡＭ１８０に展開する。これによって、図７に示すように、通知制御プログラム１７０ａは、通知制御プロセス１８０ａとして機能する。この通知制御プロセス１８０ａは、ＨＤＤ１７０から読み出した各種データを適宜ＲＡＭ１８０上の自身に割り当てられた領域に展開し、この展開した各種データに基づいて各種処理を実行する。なお、通知制御プロセス１８０ａは、図２に示した通知登録部１１、取得部１３、算出部１６、実行結果登録部１７及び通知制御部１９にて実行される処理、例えば図６に示す処理を含む。また、ＣＰＵ１５０上で仮想的に実現される各処理部は、常に全ての処理部がＣＰＵ１５０上で動作する必要はなく、処理に必要な処理部のみが仮想的に実現されれば良い。
【００７６】
なお、上記の通知制御プログラム１７０ａについては、必ずしも最初からＨＤＤ１７０やＲＯＭ１６０に記憶させておく必要はない。例えば、コンピュータ１００に挿入されるフレキシブルディスク、いわゆるＦＤ、ＣＤ−ＲＯＭ、ＤＶＤディスク、光磁気ディスク、ＩＣカードなどの「可搬用の物理媒体」に各プログラムを記憶させる。そして、コンピュータ１００がこれらの可搬用の物理媒体から各プログラムを取得して実行するようにしてもよい。また、公衆回線、インターネット、ＬＡＮ、ＷＡＮなどを介してコンピュータ１００に接続される他のコンピュータまたはサーバ装置などに各プログラムを記憶させておき、コンピュータ１００がこれらから各プログラムを取得して実行するようにしてもよい。
【符号の説明】
【００７７】
１    イベント通知システム
３    センサネットワーク
５    ネットワーク
１０    イベント通知装置
１１    通知先登録部
１２    通知先記憶部
１３    取得部
１４    センシング情報記憶部
１５    通知履歴記憶部
１６    算出部
１７    実行結果登録部
１８    実行結果記憶部
１９    通知制御部
３０    センサ
５０    サービサ
【図１】
0005747785.tif 000002
【図２】
0005747785.tif 000003
【図３】
0005747785.tif 000004
【図４】
0005747785.tif 000005
【図５】
0005747785.tif 000006
【図６】
0005747785.tif 000007
【図７】
0005747785.tif 000008