以下に添付図面を参照して本願に係る通信装置、制御システム、通信プログラムおよび通信方法の実施例を図面に基づいて詳細に説明する。なお、以下の実施例により開示技術が限定されるものではない。また、各実施例は、矛盾しない範囲で適宜組みあわせてもよい。
以下の実施例1では、図1を用いて、本願に係る制御システムの一例を説明する。図1は、実施例1に係る制御システムを説明する図である。図1に示すように、制御システム1は、住宅2、住宅3、ネットワーク4、制御サーバ5、利用者端末6を有する。なお、図1では記載を省略したが、制御システム1は、各住宅2、3と同様の住宅を他にも含むことができる。
住宅2は、ゲートウェイ装置10、空調機器11、照明機器12、照明機器13を有する。また、住宅3は、ゲートウェイ装置14、空調機器15、照明機器16、照明機器17を有する。なお、各住宅2、3は、空調機器11、15、照明機器12、13、16、17以外にも、任意の機能を有する各機器を有してもよい。
例えば、各住宅2、3は、給湯の制御を行う給湯機器、ネットワークの制御を行うネットワーク機器、各部屋に電力の分配を行う配電機器、冷蔵庫等の各種家電機器を有してもよい。なお、以下の説明では、ゲートウェイ装置14、空調機器15、各照明機器16、17は、それぞれゲートウェイ装置10、空調機器11、各照明機器12、13と同様の機能を発揮できるものとして、説明を省略する。また、以下の説明では、空調機器11、各照明機器12、13をまとめて各機器11〜13と記載する場合がある。
空調機器11は、住宅2内に設置された空調機器であり、設定温度の変更を段階的に受け付ける空調機器である。例えば、空調機器11は、空調機器11を操作するリモートコントローラに設置された上下ボタンの押下により、設定温度の変更を1度単位で受け付ける。そして、空調機器11は、設定温度が変更される度に、有線LAN(Local Area Network)や無線LAN、Bluetooth(登録商標)等、任意の通信経路を介して、変更後の設定温度を示す状態変化通知をゲートウェイ装置10へ送信する。
照明機器12、13は、住宅2内に設置された照明機器であり、明るさの変更を段階的に受け付ける照明機器である。例えば、照明機器12は、電灯の最低明度を「0%」とし、最高明度を「100%」として、照明機器12を操作する操作パネルに設置された上下ボタンの押下により、明度の変更を「1%」単位で受け付ける。そして、照明機器12は、任意の通信経路を介して、変更後の設定明度を示す状態変化通知をゲートウェイ装置10へ送信する。
ここで、各機器11〜13は、各機器11〜13の識別子である機器ID(Identification)と、メーカーコードと、商品コードとを記憶している。メーカーコードとは、各機器11〜13に対してメーカーが独自に付与する識別番号であり、商品コードとは、商品名等、各機器11〜13に対してメーカーが独自に付与する識別情報である。各機器11〜13は、住宅2内に新たに設置された場合、ゲートウェイ装置10に対し、機器IDを含む機器検出通知を出力する。そして、各機器11〜13は、ゲートウェイ装置10から機器情報の取得要求を受信すると、メーカーコードと商品コードとを含む応答をゲートウェイ装置10に送信する。
また、各機器11〜13は、各種設定が変更された場合は、機器IDと、変更された設定項目を示すプロパティ名と、変更後の設定値とを含む状態変化通知をゲートウェイ装置10に送信する。例えば、空調機器11は、設定温度が「26度」から「27度」に変更された場合は、空調機器11を示す機器ID「C01」と、設定温度の変更を示すプロパティ名「設定温度」と、変更後の値「27度」とを含む状態変化通知をゲートウェイ装置10へ送信する。また、以下の説明では、空調機器11の設定温度や、照明機器12、13の設定明度等、変更対象となる設定項目をプロパティと記載する。
ゲートウェイ装置10は、ネットワーク4を介して、各機器11〜13から受信した状態変化通知を制御サーバ5へ送信する。また、ゲートウェイ装置10は、制御サーバ5から、ネットワークを介して、各機器11〜13の制御を指示する制御指示を受信すると、受信した制御指示を各機器11〜13に出力する。この結果、各機器11〜13は、受信した制御指示に従って、明度や設定温度の変更等を行う。
ネットワーク4は、広域LANやインターネット等、任意のネットワークである。また、制御サーバ5は、各機器11〜13、15〜17の制御を行う制御サーバである。例えば、制御サーバ5は、照明機器12の設定明度が変更されると、ゲートウェイ装置10、およびネットワーク4を介して、変更後の設定明度を示す状態変化通知を受信する。かかる場合は、制御サーバ5は、受信した状態変化通知が示す設定明度の値に応じて、照明機器13の設定明度を算出し、照明機器13の設定明度を算出した設定明度に変更するよう指示する制御指示をゲートウェイ装置10へ送信する。つまり、この実施例1においては、照明機器12の設定明度に応じて、制御サーバ5が別の照明機器13の設定明度を調整、制御するものである。
ここで、ゲートウェイ装置10は、各機器11〜13から変更後の設定温度や設定明度等を通知される度に、変更後の設定温度や設定明度を制御サーバ5へ通知した場合は、制御サーバ5に不要な処理を実行させてしまう。例えば、利用者が照明機器12の設定明度を「50%」から「60%」へ「1%」ずつ連続的に変更する場合を考える。かかる場合、制御サーバ5は、照明機器12の最終的な設定明度「60%」に応じて、照明機器13の設定明度を算出すればよい。
しかし、照明機器12は、ゲートウェイ装置10に対し、「50%」から「60%」までの設定明度を1%単位で通知する。このため、ゲートウェイ装置10は、照明機器12から通知された各設定明度を制御サーバ5に通知すると、制御サーバ5に不要な処理を実行させてしまう。また、このとき、ゲートウェイ装置10と制御サーバ5との通信のトラフィックも不要なものを含み、網輻輳の一因ともなりうる。
そこで、ゲートウェイ装置10は、以下の処理を実行する。例えば、ゲートウェイ装置10は、照明機器12から設定明度をプロパティとする状態変化通知を受信した場合は、状態変化通知を受信してから所定の時間待機する。また、ゲートウェイ装置10は、待機中、すなわち、状態変化通知を受信してから所定の時間が経過するまでの間に、照明機器12から設定明度をプロパティとする状態変化通知を再度受信した場合は、状態変化通知を再度受信してから所定の時間待機する。
そして、ゲートウェイ装置10は、状態変化通知を受信してから所定の時間が経過するまでの間に、照明機器12から設定明度をプロパティとする状態変化通知を再度受信しなかった場合は、照明機器12から受信した状態変化通知を制御サーバ5へ送信する。詳細には、ゲートウェイ装置10は、照明機器12から受信した設定明度をプロパティとする状態変化通知のうち、最後に受信した状態変化通知を制御サーバ5へ送信する。この結果、ゲートウェイ装置10は、最終的なプロパティの値のみを制御サーバ5に通知するので、制御サーバ5が実行する不要な処理を削減できる。また、ゲートウェイ装置10から制御サーバ5へのトラフィックを削減できる。
また、ゲートウェイ装置10は、照明機器12から電源のオンやオフ等、段階的に変更されないプロパティについては、変更が行われた際に所定の時間待機せず、すぐに制御サーバ5へ通知する。このため、ゲートウェイ装置10は、連続して変更されることのないプロパティの状態変化通知については、待機することなく、迅速に制御サーバ5へ通知することができる。
以下、図2を用いて、ゲートウェイ装置10が制御サーバ5へ送信する通知を抑止する処理について説明する。図2は、通知を抑止する処理の一例を説明する図である。なお、図2に示す例では、ゲートウェイ装置10が、照明機器の設定明度をプロパティとする状態変化通知、および、電源のON/OFF状態をプロパティとする状態変化通知を受信した際に、制御サーバ5へ状態変化通知を送信するタイミングを記載した。また、図2に示す例では、ゲートウェイ装置10が、空調機器11から設定温度をプロパティとする状態変化通知を受信した際に、制御サーバ5へ状態変化通知を送信するタイミングを記載した。
例えば、照明機器12は、設定明度が「50%」から「53%」に1%毎の通知を伴って変更される場合等、設定明度の変更が連続して3回行われた場合は、図2中(A)に示すように、設定明度をプロパティとする状態変化通知を連続して3つゲートウェイ装置10へ送信する(図2における垂直上方に向かう矢印)。かかる場合は、ゲートウェイ装置10は、図2中(B)に示すように、状態変化通知を受信する度に所定の時間待機する(図2における水平右方向へ向かう矢印)。この結果、ゲートウェイ装置10は、1つめおよび2つめの状態変化通知については、各状態変化通知を受信してから所定の待機時間中に、設定明度をプロパティとする2つめおよび3つめの状態変化通知を受信するので、制御サーバ5に対に対して送信しない。
一方、ゲートウェイ装置10は、図2中(C)に示すように、3つ目の状態変化通知を受信してから所定の時間が経過するまでの間、照明機器12から設定明度をプロパティとする新たな状態変化通知を受信しなかった場合は、図2中(D)に示すように、照明機器12から最後に受信した状態変化通知を制御サーバ5へ送信する。
一方で、照明機器12は、図2中(E)に示すように、電源のON/OFF状態をプロパティとする状態変化通知をゲートウェイ装置10へ送信する。かかる場合、電源のON/OFF状態は、連続して変更されるプロパティではないので、照明機器12は、照明機器12から電源のON/OFF状態をプロパティとする状態変化通知を受信した後、待機することなく、そのまま制御サーバ5へ送信する。このように、プロパティの特性に応じて、ゲートウェイ装置10の行う動作を変えるように実装してもよい。
また、空調機器11は、例えば設定温度が「25度」から「28度」に1度毎の通知を伴って変更される場合等、設定温度の変更が連続して3回行われた場合は、図2中(F)に示すように、設定温度をプロパティとする状態変化通知を連続して3つゲートウェイ装置10へ送信する。かかる場合は、ゲートウェイ装置10は、図2中(G)に示すように、状態変化通知を受信する度に所定の時間待機する(図2における水平右方向へ向かう→)。この結果、ゲートウェイ装置10は、1つめおよび2つめの状態変化通知については、各状態変化通知を受信してから所定の待機時間中に、設定温度をプロパティとする2つめおよび3つめの状態変化通知を受信するので、制御サーバ5に対に対して送信しない。
そして、ゲートウェイ装置10は、図2中(H)に示すように、3つ目の状態変化通知を受信してから所定の時間が経過するまでの間に、空調機器11から設定温度をプロパティとする新たな状態変化通知を受信しなかった場合は、以下の処理を実行する。すなわち、ゲートウェイ装置10は、図2中(I)に示すように、空調機器11から最後に受信した状態変化通知を制御サーバ5へ送信する。
以下、図面を用いて、ゲートウェイ装置10の具体例を説明する。まず、図3を用いて、ゲートウェイ装置10が有するハードウェア構成の一例について説明する。図3は、実施例1に係るゲートウェイ装置が有するハードウェア構成の一例を説明する図である。例えば、ゲートウェイ装置10は、CPU(Central Processing Unit)10a、メモリ10b、ストレージ10c、機器LANインタフェース部10d、サーバLANインタフェース部10eを有する。また、メモリ10bは、通信プログラム10fを記憶する。
CPU10aは、各種演算処理を実行する演算処理装置である。例えば、CPU10aは、ゲートウェイ装置10を制御する制御プログラム等を実行することで、ゲートウェイ装置10a全体の制御を実行する。また、メモリ10bは、DIMM(Dual Inline Memory Module)やフラッシュメモリ等の半導体メモリ装置であり、CPU10aが実行する制御プログラムや、CPU10aが演算処理に使用するデータを記憶する。また、ストレージ10cは、HDD(Hard Disk Drive)やSSD(Solid State Drive)等の記憶装置である。
機器LANインタフェース部10dは、ゲートウェイ装置10と住宅2に設置された各機器11〜13との通信を制御する通信インタフェースである。例えば、機器LANインタフェース部10dは、有線LAN、無線LAN、Bluetooth(登録商標)等の通信経路を介して、各機器11〜13とデータの送受信を行う。また、サーバLANインタフェース部10eは、ゲートウェイ装置10がネットワーク4を介して制御サーバ5との通信を制御する通信インタフェースである。
ここで、ゲートウェイ装置10は、CPU10aがメモリ10bに格納された通信プログラム10fを実行することで、図4に示す機能構成を有する装置として動作する。以下、図4を用いて、通信プログラム10fを実行したゲートウェイ装置10が有する機能構成の一例について説明する。
図4は、実施例1に係るゲートウェイ装置の機能構成を説明する図である。図4に示す例では、ゲートウェイ装置10は、テーブル記憶部20、機器送受信部24、機器情報取得部25、振分部26、判定部27、検出部28、サーバ送受信部29を有する。また、テーブル記憶部20は、受信履歴テーブル21、状態変化通知一時保存テーブル22、接続機器管理テーブル23を記憶する。なお、テーブル記憶部20は、例えば、メモリ10b内に設定される記憶領域である。
まず、テーブル記憶部20が記憶する、受信履歴テーブル21、状態変化通知一時保存テーブル22、接続機器管理テーブル23に格納される情報について説明する。受信履歴テーブル21は、各機器11〜13から状態変化通知を受信した時刻と、状態変化通知の送信元となる機器を示す機器情報とを対応付けて記憶する。
例えば、図5は、受信履歴テーブルの一例を説明する図である。図5に示す例では、受信履歴テーブル21には、機器の識別情報としての機器ID、通知属性の識別情報としてのプロパティ名、受信日、および、受信時刻が対応付けて格納されている。例えば、受信履歴テーブル21には、図1に記載した空調機器11を示す機器ID「C01」と、プロパティ名「設定温度」と、受信日「2013/03/05」と、受信時刻「10時52分30秒8」とが対応付けて格納されている。このため、受信履歴テーブル21は、2013年03月05日10時52分30秒8に、空調機器11から設定温度をプロパティとする状態変化通知を受信した旨を示す。
また、受信履歴テーブル21には、図1に記載した照明機器12を示す機器ID「A01」と、設定明度が変更された旨を示すプロパティ名「設定明度」と、受信日「2013/03/05」と、受信時刻「12時06分30秒5」とが対応付けて格納されている。このため、受信履歴テーブル21は、2013年03月05日12時06分30秒5に、照明機器12から設定明度をプロパティとする状態変化通知を受信した旨を示す。
また、受信履歴テーブル21には、図示を省略した空調機器を示す機器ID「B01」と、風量が変更された旨を示すプロパティ名「風量設定」と、受信日「2013/03/05」と、受信時刻「12時08分42秒2」とが対応付けて格納されている。このため、受信履歴テーブル21は、2013年03月05日12時08分42秒2に、空調機器から風量をプロパティとする状態変化通知を受信した旨を示す。
図4に戻り、状態変化通知一時保存テーブル22は、機器とプロパティとの組ごとに、各機器11〜13から受信した状態変化通知のうち、最新の状態変化通知を保持する。例えば、図6は、状態変化通知一時保存テーブルの一例を説明する図である。図6に示すように、状態変化通知一時保存テーブル22は、機器ID、プロパティ名、および、通知された最新の、プロパティの状態を示す値とを含む設定変化通知を記憶する。
例えば、図6に示す例では、状態変化通知一時保存テーブル22は、機器ID「A01」、プロパティ名「設定明度」、値「100%」を含む状態変化通知と、機器ID「C01」、プロパティ名「設定温度」、値「27度」を含む状態変化通知とを記憶する。
図4に戻り、接続機器管理テーブル23は、ゲートウェイ装置10を介して、制御サーバ5に接続する各機器11〜13を管理するための管理情報を記憶する。例えば、図7は、接続機器管理テーブルの一例を説明する図である。図7に示すように、接続機器管理テーブル23には、各機器11〜13の管理情報として、機器ID、メーカーコード、商品コード、プロパティ名、通知抑止タイマー値、履歴取得フラグが対応付けて格納される。
通知抑止タイマー値とは、対応付けられた機器IDとプロパティ名との組を含む状態変化通知を受信した際に、ゲートウェイ装置10が後続の状態変化通知の受信を待機する待機時間である。ここで、通知抑止タイマー値は、ゲートウェイ装置10によって算出された値、または、制御サーバ5が各ゲートウェイ装置10、14から受信した情報を元に算出する値である。
また、履歴取得フラグとは、対応付けられた通知抑止タイマー値が、制御システム1内で統計的に適切な通知抑止タイマー値であるか否かを示すフラグである。後述するように、制御サーバ5は、履歴取得フラグが「1」である通知抑止タイマー値については、所定のタイミングで、以下の処理を実行する。すなわち、制御サーバ5は、各ゲートウェイ装置10、14が状態変化通知を受信した時間間隔に基づく受信間隔候補値を収集し、収集した受信間隔候補値に基づいて、制御システム1内で統計的に適切な通知抑止タイマー値を算出する。その後、制御サーバ5は、算出した通知抑止タイマー値を各ゲートウェイ装置10、14に通知する。
例えば、図7では、接続機器管理テーブル23には、機器ID「A01」、メーカーコpード「AAA」、商品コード「LightA1」、プロパティ名「設定明度」、通知抑止タイマー値「1.2秒」、履歴取得フラグ「0」が対応付けて格納される。また、接続機器管理テーブル23には、機器ID「A01」、メーカーコpード「AAA」、商品コード「LightA1」、プロパティ名「電源ON/OFF」、通知抑止タイマー値「0秒」、履歴取得フラグ「0」が対応付けて格納される。また、接続機器管理テーブル23には、機器ID「C01」、メーカーコード「CCC」、商品コード「AirconC3」、プロパティ名「設定温度」、通知抑止タイマー値「1.0秒」、履歴取得フラグ「1」が対応付けて格納される。
図4に戻り、機器送受信部24は、各機器11〜13との間でデータの送受信を行う。例えば、機器送受信部24は、空調機器11が新たに住宅2に設置された場合は、空調機器11から機器IDを含む機器検出通知を受信する。かかる場合は、機器送受信部24は、受信した機器検出通知を機器情報取得部25に出力する。
また、機器送受信部24は、機器情報取得部25から、機器情報の取得要求を受信すると、受信した機器情報の取得要求を送信先となる各機器11〜13へ送信する。そして、機器送受信部24は、機器情報の取得要求に対応する応答を各機器11〜13から受信すると、受信した応答を機器情報取得部25に出力する。
また、機器送受信部24は、各機器11〜13から状態変化通知を受信した場合は、受信した状態変化通知を振分部26に出力する。また、機器送受信部24は、サーバ送受信部29から、各機器11〜13の制御指示を受信すると、制御指示の送信先となる機器に対して、制御指示を送信する。
機器情報取得部25は、各機器11〜13の機器情報を取得する。例えば、機器情報取得部25は、機器送受信部24から機器検出通知を受信した場合は、機器検出通知から機器IDを抽出し、抽出した機器IDが示す機器を宛先とする機器情報の取得要求を機器送受信部24に送信する。かかる場合、各機器11〜13は、メーカーコードと商品コードとを含む応答をゲートウェイ装置10に出力する。そして、機器情報取得部25は、機器送受信部24を介して、各機器11〜13から取得要求に対する応答を受信すると、応答から、メーカーコードと商品コードとを抽出する。
また、機器情報取得部25は、抽出したメーカーコードと商品コードとを含む通知抑止タイマー値の取得要求を生成し、生成した通知抑止タイマー値の取得要求を制御サーバ5へ送信するようサーバ送受信部29に依頼する。また、機器情報取得部25は、サーバ送受信部29を介して、制御サーバ5から通知抑止タイマー値の取得要求に対する応答を受信する。かかる場合は、機器情報取得部25は、受信した応答に、通知抑止タイマー値が含まれているか否かを判定する。
そして、機器情報取得部25は、受信した応答に通知抑止タイマー値が含まれている場合は、受信した応答から、プロパティ名、通知抑止タイマー値、および、履歴取得フラグを抽出する。その後、機器情報取得部25は、抽出した機器ID、メーカーコード、商品コード、プロパティ名、通知抑止タイマー値、および、履歴取得フラグを対応付けて接続機器管理テーブル23に格納する。一方、機器情報取得部25は、受信した応答に通知抑止タイマー値が含まれていない場合は、図7に例示したエントリの作成を行うことなく、処理を終了する。
なお、機器情報取得部25は、制御サーバ5が機器情報を更新した場合は、更新された機器情報である更新データをサーバ送受信部29から受信する。かかる場合は、機器情報取得部25は、受信した更新データに従って、接続機器管理テーブル23に格納された機器情報を更新する。
例えば、機器情報取得部25は、更新データに含まれるメーカーコード、商品コード、プロパティ名の組を抽出し、抽出した組が格納されたエントリを接続機器管理テーブル23から識別する。そして、機器情報取得部25は、識別したエントリの通知抑止タイマー値と履歴取得フラグの値とを、更新データに含まれる通知抑止タイマー値と履歴取得フラグとの値で更新する。
振分部26は、新たに受信した状態変化通知が、連続して変更されるプロパティに係る状態変化通知であるか否かを判定し、判定結果に応じて、状態変化通知の振分けを行う。例えば、振分部26は、機器送受信部24から状態変化通知を受信すると、受信した状態変化通知から機器ID、プロパティ名、および、値を抽出する。また、振分部26は、抽出した機器IDとプロパティ名との組が格納されたエントリを接続機器管理テーブル23から検索する。
また、振分部26は、抽出した機器IDとプロパティ名との組が格納されたエントリを検索した場合は、検索されたエントリの通知抑止タイマー値が「0秒」であるか否かを判定する。そして、振り分け部26は、検索されたエントリの通知抑止タイマー値が「0秒」ではない場合は、受信した状態変化通知を判定部27に出力する。つまり、振分部26は、連続して変更されるプロパティに係る状態変化通知については、判定部27に出力する。
一方、振分部26は、検索されたエントリの通知抑止タイマー値が「0秒」である場合は、受信した状態変化通知をサーバ送受信部29に出力する。つまり、振分部26は、連続して変更通知が受信されることのないプロパティの状態変化通知については、新たな状態変化通知の受信を待機することなく、即時制御サーバ5に送信する。
以下、振分部26が実行する処理の一例を説明する。なお、以下の例では、接続機器管理テーブル23は、図7に例示した情報を記憶しているものとする。例えば、振分部26は、機器ID「A01」、プロパティ名「設定明度」、および、値「100%」が格納された情報変化通知を受信する。かかる場合は、振分部26は、機器ID「A01」とプロパティ名「設定明度」との組が格納されたエントリを接続機器管理テーブル23から検索し、図7中に例示する1つめのエントリを検出する。そして、振分部26は、検出したエントリの通知抑止タイマーの値が「1.2秒」であるので、受信した状態変化通知を判定部27に出力する。
一方、例えば、振分部26は、機器ID「A01」、プロパティ名「電源ON/OFF」、および、値「ON」が格納された状態変化通知を受信する。かかる場合は、振分部26は、機器ID「A01」とプロパティ名「電源ON/OFF」との組が格納されたエントリを接続機器管理テーブル23から検索し、図7中に例示する3つ目のエントリを検出する。そして、振分部26は、検出したエントリの通知抑止タイマーの値が「0秒」であるので、受信した状態変化通知をサーバ送受信部29に出力する。
判定部27は、連続して変更されるプロパティに係る状態変化通知を受信してから、所定の時間が経過するまでの間に、同一の機器から、同一のプロパティ名に係る状態変化通知を新たに受信したか否かを判定する。そして、判定部27は、連続して変更されるプロパティに係る状態変化通知を受信してから、所定の時間が経過するまでの間に、同一の機器から、同一のプロパティ名に係る状態変化通知を新たに受信しなかったと判定した場合は、以下の処理を実行する。すなわち、判定部27は、最後に受信した状態変化通知をサーバ送受信部29に出力する。
以下、判定部27が実行する処理を具体的に説明する。まず、判定部27は、振分部26から、連続して変更されるプロパティ名に係る状態変化通知を受信する。かかる場合は、判定部27は、同一の機器から、同一のプロパティに係る状態変化通知を新たに受信したか否かを判定する。例えば、判定部27は、受信した状態変化通知の送信元となる機器の機器IDと、変更対象となるプロパティのプロパティ名との組を状態変化通知から抽出し、抽出した機器IDとプロパティ名との組を含む状態変化通知が状態変化通知一時保存テーブル22に格納されているか判定する。
そして、判定部27は、状態変化通知から抽出した機器IDとプロパティ名との組を含む状態変化通知が状態変化通知一時保存テーブル22に格納されていない場合は、以下の処理を実行する。まず、判定部27は、受信した状態変化通知を状態変化通知一時保存テーブル22に格納する。また、判定部27は、受信した状態変化通知から抽出した機器IDとプロパティ名との組を含むエントリを接続機器管理テーブル23から検索する。
そして、判定部27は、検索したエントリの履歴取得フラグが「1」である場合は、状態変化通知から抽出した機器IDとプロパティ名との組、および、状態変化通知を受信した受信日と受信時刻とを対応付けて受信履歴テーブル21に格納し、処理を続行する。一方、判定部27は、検索したエントリの履歴取得フラグが「0」である場合は、状態変化通知の受信日や受信時刻を受信履歴テーブル21に格納せず処理を続行する。
続いて、判定部27は、接続機器管理テーブル23から検索したエントリの通知抑止タイマー値の値を取得し、取得した通知抑止タイマー値の時間、カウントを実行する。詳細には、判定部27は、状態変化通知から抽出される機器IDとプロパティ名との組ごとに、取得した通知抑止タイマー値の時間、カウントを実行する。また、判定部27は、新たな状態変化通知を受信した場合は、新たな状態変化通知から抽出した機器IDとプロパティ名との組についての通知抑止タイマー値のカウント中であるか否かを判定する。
そして、判定部27は、新たな状態変化通知から抽出した機器IDとプロパティ名との組についての通知抑止タイマー値のカウント中である場合は、新たに受信した状態変化通知を状態変化通知一時保存テーブル22に格納するとともに、抽出した機器IDとプロパティ名との組についてのカウンタの値をリセットする。一方、判定部27は、新たな状態変化通知から抽出した機器IDとプロパティ名との組についての通知抑止タイマー値のカウント中ではない場合は、受信した状態変化通知を状態変化通知一時保存テーブル22に格納するとともに、新たな状態変化通知から抽出した機器IDとプロパティ名との組についての通知抑止タイマー値のカウントを実行する。
一方、判定部27は、通知抑止タイマー値のカウント中に、後続の状態変化通知を受信しなかった場合は、受信した状態変化通知をサーバ送受信部29に出力する。また、判定部27は、状態変化通知一時保存テーブル22から、出力した状態変化通知を削除する。
例えば、ゲートウェイ装置10は、利用者が各機器11〜13の各種設定を連続して変更した場合は、同一の機器IDとプロパティ名との組を含む状態変化通知を連続して受信する。この結果、判定部27は、同一の機器IDとプロパティ名との組を含む状態変化通知を受信する度に、状態変化通知一時保存テーブル22に上書き保存し、カウント中の値をリセットするとともに、カウントが完了した場合は、最後に受信した状態変化通知をサーバ送受信部29に出力する。
以下、判定部27が実行する処理の一例として、空調機器11の設定温度が「28度」から「26度」に1度ずつ変更された際に判定部27が実行する処理を説明する。また、以下の説明では、接続機器管理テーブル23は、図7に示す情報を記憶しているものとする。
例えば、判定部27は、機器ID「C01」、プロパティ名「設定温度」、値「27度」が格納された状態変化通知を受信する。かかる場合、判定部27は、受信した状態変化通知を状態変化通知一時保存テーブル22に格納する。この結果、例えば、状態変化通知一時保存テーブル22には、図6中3番目のエントリに例示する情報が格納される。
続いて、判定部27は、接続機器管理テーブル23を参照し、機器ID「C01」とプロパティ名「設定温度」との組を含むエントリ、すなわち、図7中3番目に示すエントリの履歴取得フラグの値が「1」であると判定する。この結果、判定部27は、機器ID「C01」、プロパティ名「設定温度」、状態変化通知を受信した受信日、および、状態変化通知を受信した受信時刻を受信履歴テーブル21に格納する。また、判定部27は、機器ID「C01」とプロパティ名「設定温度」との組に対応付けられた通知抑止タイマー値「1.2秒」を識別し、識別した通知抑止タイマー値「1.2秒」のカウントを開始する。
また、判定部27は、後続の状態変化通知として、機器ID「C01」、プロパティ名「設定温度」、値「26度」が格納された状態変化通知を、先行する状態変化通知を受信してから「1.2秒」以内に受信したとする。ここで、状態変化通知一時保存テーブル22には、機器ID「C01」とプロパティ名「設定温度」とを含む状態変化通知、つまり先行する状態変化通知が格納されている。このため、判定部27は、状態変化通知一時保存テーブル22に格納された先行する状態変化通知を、新たに受信した状態変化通知で上書きする。例えば、判定部27は、機器ID「C01」とプロパティ名「設定温度」との国に対応付けられた値「27度」を「26度」に更新する。そして、判定部27は、通知抑止タイマー値「1.2」秒のカウントを再度開始する。
その後、判定部27は、通知抑止タイマー値「1.2秒」のカウントが終了した場合は、状態変化通知一時保存テーブル22に格納した状態変化通知をサーバ送受信部29に出力し、状態変化通知一時保存テーブル22に格納した状態変化通知を削除する。例えば、判定部27は、値「26度」が格納された状態変化通知を受信してから「1.2」秒以内に後続の状態変化通知を受信しなかった場合は、値「26度」が格納された状態変化通知をサーバ送受信部29に出力する。
なお、判定部27は、上述した処理を、機器IDとプロパティ名の組ごとに独立して実行する。例えば、判定部27は、機器ID「C01」、プロパティ名「設定温度」を含む後続の状態変化通知を待機する際に、機器ID「A01」、プロパティ名「設定明度」を含む状態変化通知を受信しても、カウントをリセットしない。そして、判定部27は、機器ID「A01」、プロパティ名「設定明度」を含む後続の状態変化通知を待機する時間として、新たな通知抑止タイマー値のカウントを開始する。
検出部28は、機器IDとプロパティ名との組ごとに状態変化通知を受信した時間間隔を算出し、算出した時間間隔を示す受信間隔通知をサーバ送受信部29に出力する。具体的には、検出部28は、例えば12時間間隔で、受信履歴テーブル21を参照し、機器IDとプロパティ名との組ごとに、受信日と受信時刻とを抽出する。そして、検出部28は、抽出した受信日と受信時刻とから状態変化通知を受信した時間間隔である受信間隔を算出する。
ここで、状態変化通知を受信した受信間隔には、利用者が連続して設定を変化させた場合の受信間隔だけではなく、利用者が単発的に設定を変化させた場合の受信間隔が含まれる。そこで、検出部28は、算出した受信間隔の部分的な平均値を用いて、利用者が連続して設定を変化させた場合の受信間隔を抽出する。そして、検出部28は、抽出した受信間隔のうち、最大の受信間隔を示す受信間隔通知を生成する、生成した受信間隔通知をサーバ送受信部29に出力する。
以下、図8を用いて、検出部28が実行する処理の具体例について説明する。図8は、受信間隔通知を生成する処理の一例を説明する図である。例えば、検出部28は、図8中(J)に示すように、受信履歴テーブル21から、機器ID「C01」とプロパティ名「設定温度」とが格納されたエントリを抽出する。そして、検出部28は、図8中(K)に示すように、各エントリの受信日と受信時刻との差分を算出する。この結果、検出部28は、図8中(L)に示すように、機器ID「C01」とプロパティ名「設定温度」とが格納された状態変化通知を受信した受信間隔を算出する。
ここで、検出部28は、受信間隔の平均値を部分的に算出する。例えば、検出部28は、時系列で連続している4つの状態変化通知の3つの受信間隔を選択する。また、検出部28は、選択した3つの受信間隔の平均値を算出する。そして、検出部28は、平均値を中央値とし、上限及び下限が平均値の±10%となる範囲内に、選択した3つの受信間隔の値が収まるか否かを判定する。そして、検出部28は、選択した3つの受信間隔と、算出した平均値との差分が、平均値の±10%以内に収まる場合は、選択した3つの受信間隔が、設定が連続して変更された際の受信間隔であると判定する。
例えば、検出部28は、図8中(M)に示すように、3つの受信間隔「10分10.5秒」、「2.0秒」、「2.2秒」の平均値「3分4.9秒」を算出する。ここで、平均値「3分4.9秒」を中央値とし、上限および下限が平均値「3分4.9秒」の±10%となる範囲は、「2分46.5秒」〜「3分23.3秒」である。このため、検出部28は、選択した3つの受信間隔「10分10.5秒」、「2.0秒」、「2.2秒」が、設定が連続して変更された際の受信間隔ではないと判定する。
また、例えば、検出部28は、図8中(N)に示すように、3つの受信間隔「2.1秒」、「10.1秒」、「1.9秒」の平均値「4.7秒」を算出する。ここで、平均値「4.7秒」を中央値とし、上限および下限が平均値「4.7秒」の±10%となる範囲は、「4.3秒」〜「5.1秒」である。このため、検出部28は、選択した3つの受信間隔「2.1秒」、「10.1秒」、「1.9秒」が、設定が連続して変更された際の受信間隔ではないと判定する。
一方、例えば、検出部28は、図8中(O)に示すように、3つの受信間隔「2.1秒」、「2.0秒」、「2.2秒」の平均値「2.1秒」を算出する。ここで、平均値「2.1秒」を中央値とし、上限および下限が平均値「2.1秒」の±10%となる範囲は、「1.9秒」〜「2.3秒」である。このため、検出部28は、3つの受信間隔「2.1秒」、「2.0秒」、「2.2秒」が、設定が連続して変更された際の受信間隔であると判定する。かかる場合は、検出部28は、3つの受信間隔「2.1秒」、「2.0秒」、「2.2秒」の最大値が「2.2秒」であると判定する。
また、検出部28は、図8中(P)に示すように、続けて受信した4つの状態変化通知の全ての組み合わせについて、上述した処理を実行する。そして、検出部28は、図8中(Q)に示すように、設定が連続して変更されたと判定された受信間隔のうち、最大となる受信間隔を抽出する。図8(Q)の例では、この最大となる受信間隔は「2.2秒」となる。
この結果、検出部28は、サーバ送受信部29を介して、受信間隔「2.2秒」が受信間隔候補値として格納された受信間隔通知を生成する。また、検出部28は、接続機器管理テーブル23から、機器ID「C01」と対応付けられたメーカーコード「CCC」と商品コード「AirconC3」とを読み出す。そして、検出部28は、生成した受信間隔通知に、メーカーコード「CCC」、商品コード「AirconC3」、プロパティ名「設定温度」、機器ID「C01」、および、受信間隔通知を生成した時刻の時間帯を格納する。その後、検出部28は、受信間隔通知をサーバ送受信部29に出力する。
図4に戻り、サーバ送受信部29は、ネットワーク4を介して、制御サーバ5とデータの送受信を行う。例えば、サーバ送受信部29は、制御サーバ5から、制御指示を受信した場合は、受信した制御指示を機器送受信部24に出力する。また、サーバ送受信部29は、機器情報取得部25から、通知抑止タイマー値の取得要求を受信した場合は、受信した通知抑止タイマー値の取得要求を制御サーバ5へ送信する。また、サーバ送受信部29は、制御サーバ5から、通知抑止タイマー値の取得要求に対する応答を受信した場合は、受信した応答を機器情報取得部25に出力する。
また、サーバ送受信部29は、判定部27、または、振分部26から状態変化通知を受信した場合は、ネットワーク4を介して、受信した状態変化通知を制御サーバ5へ送信する。また、サーバ送受信部29は、検出部28から、受信間隔通知を受信した場合は、ネットワーク4を介して、受信した受信間隔通知を制御サーバ5へ送信する。また、サーバ送受信部29は、制御サーバ5によって更新された機器情報である更新データを受信すると、受信した更新データを機器情報取得部25に出力する。
なお、上述した機能構成のうち、判定部27は、特許請求の範囲に記載した判定部の一例であり、サーバ送受信部29は、特許請求の範囲に記載した送信部の一例であり、検出部28は、特許請求に記載の算出部、候補通知部の一例である。また、接続機器管理テーブル23は、特許請求の範囲に記載の待機時間記憶部の一例であり、受信履歴テーブル21は、特許請求の範囲に記載の履歴記憶部の一例である。また、状態変化通知一時保存テーブル22は、特許請求の範囲に記載の所定の記憶装置の一例である。
続いて、図1に示した制御サーバ5の具体例を説明する。まず、図9を用いて制御サーバ5が有するハードウェア構成の一例について説明する。図9は、実施例1に係る制御サーバが有するハードウェア構成の一例を説明する図である。例えば、制御サーバ5は、CPU5a、メモリ5b、ストレージ5c、LANインタフェース部5d、ユーザインタフェース部5eを有する。また、メモリ5bは、制御プログラム5fを記憶する。
CPU5aは、各種演算処理を実行する演算処理装置である。例えば、CPU5aは、メモリ5bに記憶された制御プログラム5fを実行することで、各機器11〜13、15〜17を制御する。また、メモリ5bは、DIMMやフラッシュメモリ等の半導体メモリ装置であり、CPU5aが演算処理に使用するデータを記憶する。また、ストレージ5cは、HDDやSSD等の記憶装置である。
LANインタフェース部5dは、住宅2のゲートウェイ装置10や住宅3のゲートウェイ装置14との通信を制御する通信インタフェースである。例えば、LANインタフェース部5dは、ネットワーク4を介して、各ゲートウェイ装置10、14とデータの送受信を行う。また、ユーザインタフェース部5eは、利用者端末6とデータの送受信を行う通信インタフェースである。
ここで、制御サーバ5は、CPU5aが制御プログラム5fを実行することで、図10に示す機能構成を有する装置として動作する。図10は、実施例1に係る制御サーバの機能構成を説明する図である。以下、図10を用いて、制御プログラムを実行した制御サーバ5が有する機能構成の一例について説明する。
図10に示す例では、制御サーバ5は、テーブル記憶部30、ゲートウェイ送受信部33、ユーザ入出力部34、テーブル管理部35、通知抑止タイマー値判定部36、サービス提供部37を有する。また、テーブル記憶部30は、機器管理テーブル31と受信間隔テーブル32とを記憶する。なお、テーブル記憶部30は、例えば、メモリ5b内に設定される記憶領域である。
まず、テーブル記憶部30が記憶する機器管理テーブル31と受信間隔テーブル32に格納される情報について説明する。機器管理テーブル31は、制御システム1の各住宅2、3に設置された各機器11〜13、15〜17を管理するための管理情報を記憶する。
例えば、図11は、機器管理テーブルの一例を説明する図である。図11に示すように、機器管理テーブル31には、メーカーコード、商品コード、プロパティ名、通知抑止タイマー値、履歴取得フラグ、GWID(Gateway ID)が対応付けて格納される。ここで、GWIDとは、対応付けられたメーカーコードと商品コードとが示す機器からの通信を中継するゲートウェイ装置、すなわち、対応付けられたメーカーコードと商品コードとが示す機器と同じ宅内に設置されたゲートウェイ装置の識別子である。
例えば、図11に示す例では、機器管理テーブル31は、メーカーコード「AAA」、商品コード「LightA1」が示す機器がGWID「GW#1」が示すゲートウェイ装置と同じ宅内に設置されている旨を示す。また、機器管理テーブル31は、メーカーコード「BBB」、商品コード「AirconB2」が示す機器がGWID「GW#1」が示すゲートウェイ装置と同じ宅内、および、GWID「GW#2」が示すゲートウェイ装置と同じ宅内に設置されている旨を示す。
図10に戻り、受信間隔テーブル32は、各ゲートウェイ装置10、14から送信される受信間隔通知の内容が格納される。例えば、図12は、受信間隔テーブルの一例を説明する図である。図12に示す例では、受信間隔テーブル32には、メーカーコード、商品コード、プロパティ名、GWID、機器ID、日付、時間帯、受信間隔が対応付けて格納される。ここで、図12に示す受信間隔とは、各ゲートウェイ装置10、14が算出した受信間隔候補値である。
例えば、制御サーバ5は、ゲートウェイ装置10から受信間隔通知を受信すると、受信間隔通知から、メーカーコード、商品コード、プロパティ名、機器ID、受信間隔、時間帯を抽出する。そして、制御サーバ5は、ゲートウェイ装置10のGWID、および、受信間隔通知を受信した日付とともに、受信間隔通知から抽出した各種情報を対応付けて受信間隔テーブル32に格納する。
例えば、図12に示す例では、受信間隔テーブル32には、メーカーコード「CCC」、商品コード「AirconC3」、プロパティ名「設定温度」、GWID「GW#1」、機器ID「C01」が対応付けて格納されている。また、受信間隔テーブル32には、日付「2013/03/05」、時間帯「00:00〜12:00」、受信間隔「1.5秒」が対応付けて格納されている。
すなわち、受信間隔テーブル32は、GWID「GW#1」が示すゲートウェイ装置、例えばゲートウェイ装置10が、メーカーコード「CCC」、商品コード「AirconC3」が示す機器についての状態変化通知の受信間隔を検出した旨を示す。また、受信間隔テーブル32は、機器ID「C01」、プロパティ名「設定温度」の状態変化通知の受信間隔候補値が「1.5秒」であり、時間帯「00:00〜12:00」にゲートウェイ装置10が検出した旨を示す。また、受信間隔テーブル32は、上述した内容の受信間隔通知を日付「2013/03/05」に受信した旨を示す。
図10に戻り、ゲートウェイ送受信部33は、各ゲートウェイ装置10、14とのデータの送受信を行う。例えば、ゲートウェイ送受信部33は、ゲートウェイ装置10から、機器情報の取得要求、または、受信間隔通知を受信した場合は、受信した取得要求および受信間隔通知をテーブル管理部35に出力する。また、ゲートウェイ送受信部33は、テーブル管理部35から、機器情報の取得要求に対する応答を受信した場合は、受信した応答をゲートウェイ装置10へ送信する。
ユーザ入出力部34は、利用者端末6からの操作を受付けるインタフェースである。具体的には、ユーザ入出力部34は、機器管理テーブル31に登録する機器情報を利用者端末6から受信した場合は、受信した機器情報をテーブル管理部35に出力する。すなわち、ユーザ入出力部34は、利用者端末6を用いて、通知抑止タイマー値を手入力により設定する際のインタフェースである。例えば、ユーザ入出力部34は、利用者端末6から、メーカーコード「AAA」、商品コード「LightA1」、プロパティ名「設定明度」、通知抑止タイマー値「1.2秒」が格納された機器情報を受信すると、機器情報をテーブル管理部35に出力する。
テーブル管理部35は、テーブル記憶部30が記憶する機器管理テーブル31、および、受信間隔テーブル32に格納された情報の管理を行う。以下、テーブル管理部35が実行する処理を具体的に説明する。まず、テーブル管理部35は、ユーザ入出力部34から機器情報を受信すると、受信した機器情報を機器管理テーブル31に格納する。
また、テーブル管理部35は、ゲートウェイ送受信部33から通知抑止タイマー値の取得要求を受信すると、受信した通知抑止タイマー値の取得要求からメーカーコードと商品コードとの組を抽出する。そして、テーブル管理部35は、抽出したメーカーコードと商品コードとの組に対応付けられた通知抑止タイマー値が機器管理テーブル31に格納されているか判定する。
ここで、テーブル管理部35は、抽出したメーカーコードと商品コードとの組に対応付けられた通知抑止タイマー値が機器管理テーブル31に格納されている場合は、以下の処理を実行する。まず、テーブル管理部35は、抽出したメーカーコードと商品コードとの組に対応付けられた通知抑止タイマー値が格納されたエントリを全て抽出する。そして、テーブル管理部35は、取得要求の送信元となるゲートウェイ装置10のGWIDを抽出したエントリに追加する。
また、テーブル管理部35は、抽出した各エントリのプロパティ名、通知抑止タイマー値、履歴取得フラグを格納した応答を生成し、生成した応答をゲートウェイ送受信部33に出力する。この結果、ゲートウェイ装置10の機器情報取得部25は、応答に格納されたプロパティ名、通知抑止タイマー値、および、履歴取得フラグを接続機器管理テーブル23に格納する。
一方、テーブル管理部35は、抽出したメーカーコードと商品コードとの組に対応付けられた通知抑止タイマー値が機器管理テーブル31に格納されていない場合は、該当情報がない旨の応答をゲートウェイ送受信部33に出力する。例えば、テーブル管理部35は、抽出したメーカーコードと商品コードとの組を含むエントリを機器管理テーブル31から検索し、かかるエントリに通知抑止タイマー値の値が格納されていない場合は、該当情報がない旨の応答をゲートウェイ送受信部33に出力する。この結果、ゲートウェイ装置10の機器情報取得部25は、機器情報を接続機器管理テーブル23に格納することなく、処理を終了する。
例えば、テーブル管理部35は、メーカーコード「BBB」、商品コード「AirconB2」が格納された機器情報の取得要求を受信する。かかる場合は、テーブル管理部35は、図11に例示する機器管理テーブル31から、メーカーコード「BBB」、商品コード「AirconB2」が格納された2つのエントリを抽出する。詳細には、テーブル管理部35は、図11に示すエントリのうち、上から2番目と3番目のエントリを抽出する。そして、テーブル管理部35は、抽出したエントリのGWIDに、取得要求の送信元となるゲートウェイ装置のGWID、例えばGWID「GW#4」を追加する。
また、テーブル管理部35は、上から2番目のエントリのプロパティ名「設定温度」、通知抑止タイマー値「2.5」秒、履歴取得フラグ「1」を格納した応答を生成する。また、テーブル管理部35は、上から3番目のエントリのプロパティ名「風量設定」、通知抑止タイマー値「1.5」秒、履歴取得フラグ「0」を格納した応答を生成する。そして、テーブル管理部35は、生成した2つの応答をゲートウェイ送受信部33に出力し、取得要求の送信元となるゲートウェイ装置へ送信するよう指示する。
つまり、テーブル管理部35は、機器管理テーブル31を用いて、各住宅2、3のゲートウェイ装置10、14に対し、メーカーコードと商品コードとプロパティ名との組ごとに、同一の通知抑止タイマー値の値を通知する。この結果、テーブル管理部35は、ゲートウェイ装置10、14の設定をそれぞれ行わずとも、容易にゲートウェイ装置10、14が機器IDとプロパティ名との組ごとに待機する時間、すなわち通知抑止タイマー値の設定を統一させることができる。
また、テーブル管理部35は、ゲートウェイ送受信部33から受信間隔通知を受信した場合は、受信した受信間隔通知と、受信間隔通知の送信元となるゲートウェイのGWIDと、受信間隔通知を受信した日付とを対応付けて受信間隔テーブル32に格納する。例えば、テーブル管理部35は、メーカーコード「CCC」、商品コード「AirconC3」、プロパティ名「設定温度」、機器ID「C01」、時間帯「00:00〜12:00」、受信間隔「1.5秒」が格納された受信間隔通知を受信する。かかる場合は、テーブル管理部35は、受信間隔通知を受信した日付「2013/03/05」と、受信間隔通知の送信元となるゲートウェイ装置のGWID「GW#1」とを受信間隔通知と対応付けて受信間隔テーブル32に格納する。
また、テーブル管理部35は、通知抑止タイマー値判定部36の要求に応じて、受信間隔テーブル32を通知抑止タイマー値判定部36に出力する。また、テーブル管理部35は、通知抑止タイマー値判定部36の要求に応じて、機器管理テーブル31の更新を行う。また、テーブル管理部35は、通知抑止タイマー値判定部36からの要求に応じて、機器情報を更新した場合は、更新された機器情報に係る機器と同じ宅内のゲートウェイ装置に対して、更新後の機器情報である更新データを配信する。
例えば、テーブル管理部35は、メーカーコード「BBB」、商品コード「AirconB2」、プロパティ名「風量設定」、通知抑止タイマー値「1.5秒」、履歴更新フラグ「0」が格納された更新指示を受信する。
かかる場合は、テーブル管理部35は、図11に示す機器管理テーブル31から、メーカーコード「BBB」、商品コード「AirconB2」、プロパティ名「風量設定」が格納されたエントリを機器管理テーブル31から抽出する。すなわち、テーブル管理部35は、図11中上から3番目のエントリを抽出する。そして、テーブル管理部35は、抽出したエントリの通知抑止タイマー値を「1.5秒」に更新し、履歴更新フラグを「0」に更新する。
また、テーブル管理部35は、抽出したエントリに格納されたGWID「GW#3」を識別する。そして、テーブル管理部35は、更新要求に含まれる各情報を格納した更新データを生成し、生成した更新データをゲートウェイ送受信部33に出力し、識別したGWID「GW#3」が示すゲートウェイ装置へ送信するよう指示する。また、テーブル管理部35は、メーカーコード「BBB」、商品コード「AirconB2」、プロパティ名「風量設定」が格納されたエントリを受信間隔テーブル32から削除する。
図10に戻り、通知抑止タイマー値判定部36は、機器とプロパティとの組ごとに、各ゲートウェイ装置10、14が測定した受信間隔を用いて、制御システム1全体で最適な通知抑止タイマーの値を判定する。具体的には、通知抑止タイマー値判定部36は、例えば、2日ごとに、テーブル管理部35を介して、受信間隔テーブル32を取得する。
また、通知抑止タイマー値判定部36は、取得された受信間隔テーブル32から、メーカーコードと商品コードとプロパティ名との組ごとに、以下の処理を実行する。まず、通知抑止タイマー値判定部36は、処理対象となるメーカーコードと商品コードとプロパティ名との組が格納されたエントリを受信間隔テーブル32から抽出する。そして、通知抑止タイマー値判定部36は、抽出した各エントリに含まれる受信間隔の平均値「Tave」と標準偏差「S」とを算出する。
そして、通知抑止タイマー値判定部36は、抽出した各エントリに含まれる各受信間隔「Tn」が、「Tave−3S≦Tn≦Tave+3S」を満たすか否か判定する。そして、通知抑止タイマー値判定部36は、「Tave−3S≦Tn≦Tave+3S」を満たす受信間隔「Tn」のうち、値が最大となる受信間隔を受信間隔代表値「T」とする。続いて、通知抑止タイマー値判定部36は、受信間隔代表値「T」を10%増しした値を新たな通知抑止タイマー値とする。
その後、通知抑止タイマー値判定部36は、処理対象となるメーカーコードと商品コードとプロパティ名とに対応付けられた通知抑止タイマー値を新たな通知抑止タイマー値に更新するようテーブル管理部35に指示する。具体的には、通知抑止タイマー値判定部36は、処理対象となるメーカーコード商品コードとプロパティ名との組、新たな通知抑止タイマー値と履歴取得フラグ「0」とを格納した更新要求をテーブル管理部35に出力する。
ここで、図13を用いて、通知抑止タイマー値判定部36が実行する処理の具体例について説明する。図13は、受信間隔から通知抑止タイマーを更新する処理の一例を説明する図である。まず、通知抑止タイマー値判定部36は、図13中(R)に示すように、受信間隔テーブル32から、メーカーコードと商品コードとプロパティ名との組ごとに、エントリの抽出を行う。例えば、通知抑止タイマー値判定部36は、図13中(S)に示すように、メーカーコード「CCC」、商品コード「AirconC3」、プロパティ名「設定温度」が格納されたエントリを抽出する。この結果、通知抑止タイマー値判定部36は、制御システム1が有する各住宅に設置された同種の機器に対し、連続した操作が行われた際の状態変化通知の受信間隔を抽出する。
次に、通知抑止タイマー値判定部36は、図13中(T)に示すように、抽出した各エントリの受信間隔から、平均値「Tave」と標準偏差「S」とを算出し、平均値「Tave=2.2」と標準偏差「S=0.1」とを得る。この結果、通知抑止タイマー値判定部36は、図13中(U)に示すように、抽出した各エントリの受信間隔の値が、「1.9≦Tn≦2.5」の範囲内になるか否かを判定する。なお、図13に示す例では、受信間隔の値が、「1.9≦Tn≦2.5」の範囲内になるエントリの横に丸印を付した。
また、通知抑止タイマー値判定部36は、図13中(V)に示すように、受信間隔の値が、「1.9≦Tn≦2.5」の範囲内になるエントリに格納された受信間隔の最大値「2.3」を取得する。そして、通知抑止タイマー値判定部36は、図13中(W)に示すように、最大値「2.3」を10%増しした値「2.5」を新たな通知抑止タイマー値とする。
この結果、テーブル管理部35は、機器管理テーブル31の各エントリから、メーカーコード「CCC」、商品コード「AirconC3」、プロパティ名「設定温度」が格納されたエントリを抽出する。そして、テーブル管理部35は、図13中(X)に示すように、抽出したエントリの通知抑止タイマー値を「2.5秒」に更新し、図13中(Y)に示すように、履歴取得フラグを「0」に更新する。その後、テーブル管理部35は、図13中(Z)に示すように、受信間隔テーブル32から、ーカーコード「CCC」、商品コード「AirconC3」、プロパティ名「設定温度」が格納されたエントリを削除する。
このように、通知抑止タイマー値判定部36は、通知抑止タイマー値が設定されていない機器およびプロパティ名の組について、設定変更通知の受信間隔の値に応じて通知抑止タイマー値の値を算出する。この結果、テーブル管理部35は、通知抑止タイマー値判定部36によって算出された通知抑止タイマー値の値を、各住宅2、3のゲートウエイ装置10、14に通知できる。
図10に戻り、サービス提供部37は、ゲートウェイ装置10、14から受信する状態変化通知の内容に応じて、各機器11〜13、15〜17の制御を行う。例えば、サービス提供部37は、照明機器12の設定明度についての状態変化通知を受信すると、受信した状態変化通知から、設定明度の値を抽出する。そして、サービス提供部37は、照明機器13をあて先として、設定明度を抽出した値に変更するよう指示する制御指示をゲートウェイ装置10に送信する。この結果、照明機器13は、明るさを、照明機器12と同じ設定明度に変更する。なお、サービス提供部37は、上述した内容以外にも、任意のサービスを提供することができる。
なお、上述した機能構成のうち、通知抑止タイマー値判定部36は、特許請求の範囲に記載の決定部の一例であり、ゲートウェイ送受信部33は、特許請求の範囲に記載の通知部の一例である。また、サービス提供部37は、特許請求の範囲に記載の制御部の一例である。
次に、図14〜図16を用いて、ゲートウェイ装置10、および、制御サーバ5が実行する処理の流れについて説明する。まず、図14を用いて、新たに設置された照明機器12が検出された際に、ゲートウェイ装置10、および、制御サーバ5が実行する処理の流れについて説明する。
図14は、機器検出時に実行する処理を説明するシーケンス図である。まず、照明機器12は、ゲートウェイ装置10に対し、機器IDを含む機器検出通知をゲートウェイ装置10へ送信する(ステップS1)。かかる場合は、ゲートウェイ装置10は、メーカーコードと商品コードとの取得要求を照明機器12に送信する(ステップS2)。この結果、照明機器12は、メーカーコードと商品コードとを含む応答をゲートウェイ装置10へ送信する(ステップS3)。
次に、ゲートウェイ装置10は、受信したメーカーコードと商品コードとを元に、プロパティ名と通知抑止タイマー値の取得要求を制御サーバ5に送信する(ステップS4)。この結果、制御サーバ5は、機器管理テーブル31を確認し(ステップS5)、該当機器のデータがあるか判定する(ステップS6)。詳細には、制御サーバ5は、ゲートウェイ装置10から受信したメーカーコードと商品コードとの組に対応付けられた通知抑止タイマー値が機器管理テーブル31に格納されているか判定する。
そして、制御サーバ5は、該当機器のデータがあると判定した場合は(ステップS6肯定)、以下の処理を実行する。まず、制御サーバ5は、受信したメーカーコードと商品コードとの組に対応付けられたプロパティ名と、通知抑止タイマー値と履歴取得フラグを含む応答をゲートウェイ装置10に送信する(ステップS7)。そして、制御サーバ5は、機器管理テーブル31に、ゲートウェイ装置10のGWIDを機器管理テーブル31に格納し(ステップS8)、処理を終了する。
一方、ゲートウェイ装置10は、プロパティ名、通知抑止タイマー値、履歴取得フラグが格納された応答を受信すると、受信した情報を接続機器管理テーブル23に格納し(ステップS9)、処理を終了する。一方、制御サーバ5は、該当機器のデータがないと判定した場合は(ステップS6否定)、接続機器の情報が登録されていない旨の応答をゲートウェイ装置に送信し(ステップS10)、処理を終了する。
次に、図15を用いて、状態変化通知をゲートウェイ装置10が受信した際に実行する処理を説明する。図15は、状態変化通知を受信した際に実行する処理を説明するシーケンス図である。例えば、照明機器12は、設定明度等の設定が変更された場合は、機器ID、プロパティ名、変更後の値を含む状態変化通知をゲートウェイ装置10に送信する(ステップS11)。かかる場合は、ゲートウェイ装置10は、接続機器管理テーブル23を確認し(ステップS12)、受信した状態変化通知に含まれる機器IDとプロパティ名との組に対応付けられた通知抑止タイマー値が登録されているか判定する(ステップS13)。
そして、ゲートウェイ装置10は、受信した状態変化通知に含まれる機器IDとプロパティ名との組に対応付けられた通知抑止タイマー値が登録されている場合は(ステップS13肯定)、以下の処理を実行する。まず、ゲートウェイ装置10は、受信した状態変化通知に含まれる機器IDとプロパティ名との組に履歴取得フラグが対応付けて登録されているか判定する(ステップS14)。
そして、ゲートウェイ装置10は、機器IDとプロパティ名との組に履歴取得フラグが対応付けて登録されている場合は(ステップS14肯定)、機器IDとプロパティ名と受信日と受信時刻とを受信履歴テーブル21に登録する(ステップS15)。一方、ゲートウェイ装置10は、機器IDとプロパティ名との組に履歴取得フラグが対応付けて登録されていない場合は(ステップS14否定)、ステップS15の処理をスキップする。
また、ゲートウェイ装置10は、状態変化通知を状態変化通知一時保存テーブル22に格納する(ステップS16)。そして、ゲートウェイ装置10は、受信した状態変化通知に含まれる機器IDとプロパティ名との組に対応付けられた通知抑止タイマー値の値だけ待機を開始する(ステップS17)。また、ゲートウェイ装置10は、通知抑止タイマー値の時間が経過したか判定し(ステップS18)、通知抑止タイマー値の時間が経過していない場合は(ステップS18否定)、以下の処理を実行する。
まず、ゲートウェイ装置10は、同一機器から同一プロパティの状態変化通知を受信したか判定する(ステップS19)。そして、ゲートウェイ装置10は、同一機器から同一プロパティの状態変化通知を受信した場合は(ステップS19肯定)、状態変化通知一時保存テーブル22に格納された状態変化通知を新たに受信した状態変化通知で上書き保存する(ステップS20)。そして、ゲートウェイ装置10は、通知抑止タイマー値のカウントをリセットし(ステップS21)、ステップS18を再度実行する。一方、ゲートウェイ装置10は、同一機器から同一プロパティの状態変化通知を受信しなかった場合は(ステップS19否定)、ステップS18を再度実行する。
また、ゲートウェイ装置10は、通知抑止タイマー値の時間が経過した場合は(ステップS18肯定)、状態変化通知一時保存テーブル22に保存されていた通知を制御サーバに送信する(ステップS22)。また、ゲートウェイ装置10は、状態変化通知一時保存テーブル22から、状態変化通知を削除し(ステップS23)、処理を終了する。なお、ゲートウェイ装置10は、受信した状態変化通知に含まれる機器IDとプロパティ名との組に対応付けられた通知抑止タイマー値が登録されていない場合は(ステップS13否定)、状態変化通知を制御サーバ5に送信し(ステップS24)、処理を終了する。
次に、図16を用いて、ゲートウェイ装置10の接続機器管理テーブル23と、制御サーバ5の機器管理テーブル31とを更新する際に実行する処理について説明する。図16は、機器管理テーブルを更新する処理を説明するシーケンス図である。まず、ゲートウェイ装置10は、定期的処理を実行するか否かを判定する(ステップS30)。具体的には、ゲートウェイ装置10は、前回ステップS31、S32の処理を実行してから12時間が経過したか否かを判定する。
そして、ゲートウェイ装置10は、例えば、前回ステップS31、S32の処理を実行してから12時間が経過するまで待機し(ステップS30否定)、定期的処理を実行すると判定した場合は(ステップS30肯定)、以下の処理を実行する。まず、ゲートウェイ装置10は、受信履歴テーブル21に格納された受信時刻を用いて、連続して状態変化通知を受信した際の受信間隔を検出する(ステップS31)。そして、ゲートウェイ装置10は、メーカーコード商品コード、プロパティ名、機器ID、時間帯、受信間隔を制御サーバ5に送信する(ステップS32)。
一方、制御サーバ5は、ゲートウェイ装置10から受信した各種情報を受信間隔テーブル32に格納する(ステップS33)。そして、制御サーバ5は、定期的処理を実行するか判定する(ステップS34)。例えば、制御サーバ5は、前回ステップS35、S36、S37の処理を実行してから2ヶ月が経過したか否かを判定する。そして、制御サーバ5は、前回ステップS35、S36、S37の処理を実行してから2ヶ月が経過し、定期的処理を実行すると判定した場合は(ステップS34肯定)、以下の処理を実行する。
まず、制御サーバ5は、受信間隔テーブル32の各受信間隔から、通知抑止タイマー値を判定する(ステップS35)。そして、制御サーバ5は、機器管理テーブル31の通知抑止タイマー値を更新する(ステップS36)。また、制御サーバ5は、通知抑止タイマー値が更新された機器と同じ住宅のゲートウェイ装置に、新たな通知抑止タイマー値を送信し(ステップS37)、処理を終了する。一方、ゲートウェイ装置10は、新たな通知抑止タイマー値を受信すると、接続機器管理テーブル23の通知抑止タイマー値を更新し(ステップS38)、処理を終了する。
次に、図17を用いて、ゲートウェイ装置10が新たな機器を検出した際に実行する処理の流れについて説明する。図17は、実施例1に係るゲートウェイ装置が新たな機器を検出した際に実行する処理の流れを説明するフローチャートである。なお、図17に示す各ステップS101〜ステップS105は、図14に示した処理が実行される際に、ゲートウェイ装置10が実行する処理である。
まず、ゲートウェイ装置10は、検出した機器から機器検出通知を受信する(ステップS101)。次に、ゲートウェイ装置10は、検出した機器からメーカーコード、商品コードを取得する(ステップS102)。また、ゲートウェイ装置10は、取得したメーカーコード、商品コードをもとに、制御サーバ5へ、通知抑止タイマー値の取得要求を送信する(ステップS103)。そして、ゲートウェイ装置10は、応答を受信すると、受信した応答に、機器の通知抑止タイマー値が含まれるか判定する(ステップS104)。
ここで、ゲートウェイ装置10は、受信した応答に機器の通知抑止タイマー値が含まれる場合は(ステップS104肯定)、受信した応答に含まれる各種情報と通知抑止タイマー値とを接続機器管理テーブル23に格納し(ステップS105)、処理を終了する。一方、ゲートウェイ装置10は、受信した応答に、機器の通知抑止タイマー値が含まれない場合は(ステップS104否定)、そのまま処理を終了する。
次に、図18を用いて、制御サーバ5が通知抑止タイマー値の取得要求を受信した際に実行する処理の流れを説明する。図18は、実施例1に係る制御サーバが通知抑止タイマー値の取得要求を受信した際に実行する処理の流れを説明するフローチャートである。なお、図18に示す各ステップS201〜S205は、図14に示した処理が実行される際に、制御サーバ5が実行する処理である。
まず、制御サーバ5は、ゲートウェイ装置10から、通知抑止タイマー値の取得要求を受信する(ステップS201)。次に、制御サーバ5は、対象の通知抑止タイマー値が機器管理テーブル31に登録されているか判定する(ステップS202)。詳細には、制御サーバ5は、通知抑止タイマー値の取得要求に格納されていたメーカーコードと商品コードとに対応付けられた通知抑止タイマー値が機器管理テーブル31に登録されているか判定する。
そして、制御サーバ5は、対象の通知抑止タイマー値が機器管理テーブル31に登録されている場合は(ステップS202肯定)、対象の通知抑止タイマー値と、対応付けれたプロパティ名とをゲートウェイ装置10に送信する(ステップS203)。ここで、制御サーバ5は、対応する通知抑止タイマー値が機器管理テーブル31に複数登録されている場合は、各通知抑止タイマー値とプロパティ名との組をゲートウェイ装置10に送信する。
そして、制御サーバ5は、ゲートウェイ装置10のGWIDを機器管理テーブル31に格納し(ステップS204)、処理を終了する。一方、制御サーバ5は、対象の通知抑止タイマー値が機器管理テーブル31に登録されていない場合は(ステップS202否定)、該当情報がない旨の応答をゲートウェイ装置10に送信し(ステップS205)、処理を終了する。
次に、図19を用いて、ゲートウェイ装置10が状態変化通知を受信した際に実行する処理の流れを説明する。図19は、実施例1に係るゲートウェイ装置が状態変化通知を受信した際に実行する処理の流れを説明するフローチャートである。なお、図19に示す各ステップS301〜S311の処理は、図15に示す処理が実行される際に、ゲートウェイ装置10が実行する処理である。
まず、ゲートウェイ装置10は、状態変化通知を受信すると、状態変化通知の送信元の機器IDと、変更されたプロパティ名との組が接続機器管理テーブル23に登録されているか判定する(ステップS301)。詳細には、ゲートウェイ装置10は、受信した状態変化通知から抽出された機器IDとプロパティ名との組が接続機器管理テーブル23に登録されているか判定する。そして、ゲートウェイ装置10は、受信した状態変化通知から抽出された機器IDとプロパティ名との組が接続機器管理テーブル23に登録されている場合は(ステップS301肯定)、以下の処理を実行する。すなわち、ゲートウェイ装置10は、機器IDとプロパティ名との組に履歴取得フラグが対応付けられて接続機器管理テーブル23に登録されているか判定する(ステップS302)。
そして、ゲートウェイ装置10は、機器IDとプロパティ名との組に履歴取得フラグが対応付けて登録されていない場合は(ステップS302否定)、同種の状態変化通知が状態変化通知一時保存テーブル22に登録されているか判定する(ステップS303)。詳細には、ゲートウェイ装置10は、抽出された機器IDとプロパティ名との組が格納された状態変化通知が状態変化通知一時保存テーブル22に格納されているか判定する。そして、ゲートウェイ装置10は、同種の状態変化通知が状態変化通知一時保存テーブル22に格納されていない場合は(ステップS303否定)、受信した状態変化通知を状態変化通知一時保存テーブル22に格納する(ステップS304)。
また、ゲートウェイ装置10は、抽出された機器IDとプロパティ名との組に対応付けられた通知抑止タイマー値を接続機器管理テーブル23から取得し(ステップS305)、カウントを開始する(ステップS306)。そして、ゲートウェイ装置10は、通知抑止タイマー値が経過するまでの間に、新たな状態変化通知を受信したか判定する(ステップS307)。その後、ゲートウェイ装置10は、通知抑止タイマー値が経過するまでの間に、新たな状態変化通知を受信しなかった場合は(ステップS307否定)、以下の処理を実行する。すなわち、ゲートウェイ装置10は、状態変化通知一時保存テーブル22に格納された状態変化通知を制御サーバ5に送信し、送信した状態変化通知を状態変化通知一時保存テーブル22から削除し(ステップS308)、処理を終了する。
なお、ゲートウェイ装置10は、抽出された機器IDとプロパティ名との組に履歴取得フラグが対応付けて登録されている場合は(ステップS302肯定)、抽出された機器IDとプロパティ名と、受信日時とを受信履歴テーブルに保存する(ステップS309)。そして、ゲートウェイ装置10は、ステップS303を実行する。また、ゲートウェイ装置10は、通知抑止タイマー値が経過するまでの間に、新たな状態変化通知を受信した場合は(ステップS307肯定)、ステップS303を実行する。
また、ゲートウェイ装置10は、同種の状態変化通知が状態変化通知一時保存テーブル22に格納されている場合は(ステップS303肯定)、以下の処理を実行する。すなわち、ゲートウェイ装置10は、状態変化通知一時保存テーブル22に格納された状態変化通知を新たな状態変化通知で上書きし、カウントをリセットする(ステップS310)。そして、ゲートウェイ装置10は、ステップS306を実行する。
また、ゲートウェイ装置10は、受信した状態変化通知から抽出された機器IDとプロパティ名との組が接続機器管理テーブル23に登録されていない場合は(ステップS301否定)、受信した状態変化通知を制御サーバ5へ送信する(ステップS311)。その後、ゲートウェイ装置10は、処理を終了する。
次に、図20を用いて、ゲートウェイ装置10が受信間隔を検出する処理の流れを説明する。図20は、実施例1に係るゲートウェイ装置が受信間隔を検出する処理の流れを説明するフローチャートである。なお、図20に示す各ステップS401〜S417の処理は、図16に示す処理が実行される際に、ゲートウェイ装置10が実行する処理である。
まず、ゲートウェイ装置10は、受信履歴テーブル21から、同一機器IDとプロパティ名との組ごとに受信時刻を抽出したリストを作成する(ステップS401)。次に、ゲートウェイ装置10は、リストを1つ選択する(ステップS402)。そして、ゲートウェイ装置10は、選択したリストの先頭エントリを選択する(ステップS403)。
続いて、ゲートウェイ装置10は、現在選択中のエントリ以降に3つのエントリがあるか判定する(ステップS404)。そして、ゲートウェイ装置10は、現在選択中のエントリ以降に3つのエントリがある場合は(ステップS404肯定)、以下の処理を実行する。すなわち、ゲートウェイ装置10は、現在選択中のエントリから連続する4つのエントリに格納された受信時刻から受信間隔「Tn、Tn+1、Tn+2」と、受信間隔の平均値「TnAve」を算出する(ステップS405)。
次に、ゲートウェイ装置10は、3つの受信間隔「Tn、Tn+1、Tn+2」が、平均値「TnAve」の±10%以内に収まるか判定する(ステップS406)。すなわち、ゲートウェイ装置10は、3つの受信間隔「Tn、Tn+1、Tn+2」が「TnAve×0.9≦Tn、Tn+1、Tn+2≦TnAve×1.1」を満たすか判定する。次に、ゲートウェイ装置10は、3つの受信間隔「Tn、Tn+1、Tn+2」が、平均値「TnAve」の±10%以内に収まる場合は(ステップS406肯定)3つの受信間隔の最大値「TnMAX」を検出する(ステップS407)。
次に、ゲートウェイ装置10は、所定のメモリに受信間隔候補値「T」が保存されているか判定する(ステップS408)。そして、ゲートウェイ装置10は、受信間隔候補値「T」が保存されている場合は(ステップS408肯定)、「T」が「TnMAX」より小さいか判定する(ステップS409)。その後、ゲートウェイ装置10は、「T」が「TnMAX」より小さい場合は(ステップS409肯定)、メモリ上の「T」を「TnMAX」で上書きし(ステップS410)、次のエントリを選択し(ステップS411)、ステップS404の処理を実行する。
一方、ゲートウェイ装置10は、「T」が「TnMAX」以上である場合は(ステップS409否定)、ステップS410の処理をスキップする。また、ゲートウェイ装置10は、、受信間隔候補値「T」が保存されていない場合は(ステップS408否定)、「TnMAX」を受信間隔候補値「T」として所定のメモリ上に保存し(ステップS412)、ステップS411を実行する。また、ゲートウェイ装置10は、3つの受信間隔「Tn、Tn+1、Tn+2」が、平均値「TnAve」の±10%以内に収まらない場合は(ステップS406否定)、ステップS407〜S410をスキップし、ステップS411を実行する。
また、ゲートウェイ装置10は、現在選択中のエントリ以降に3つのエントリがない場合は(ステップS404否定)、所定のメモリに受信間隔候補値「T」が保存されているか判定する(ステップS413)。そして、ゲートウェイ装置10は、所定のメモリに受信間隔候補値「T」が保存されている場合は、(ステップS413肯定)、以下の処理を実行する。まず、ゲートウェイ装置10は、該当機器のメーカーコードと商品コード、すなわち、ステップS402にて処理を開始した機器IDとプロパティ名との組に対応付けられたメーカーコードと商品コードとを接続機器管理テーブル23から取得する。そして、ゲートウェイ装置10は、受信間隔候補値「T」と取得したメーカーコードと商品コードとを制御サーバ5に送信する(ステップS414)。
また、ゲートウェイ装置10は、処理していないリスト、すなわち、ステップ401で作成した同一機器IDとプロパティ名との組のリストがあるか判定し(ステップS415)、処理していないリストが存在する場合は(ステップS415肯定)、次のリストに処理を移し(ステップS416)、ステップS403を実行する。一方、ゲートウェイ装置10は、処理していないリストが存在しない場合は(ステップS415否定)、受信履歴テーブル21のデータを削除し(ステップS417)、処理を終了する。なお、ゲートウェイ装置10は、所定のメモリに受信間隔候補値「T」が保存されていない場合は(ステップS413否定)、ステップS414をスキップする。
次に、図21を用いて、制御サーバ5が通知抑止タイマー値を判定する処理の流れを説明する。図21は、実施例1に係る制御サーバが通知抑止タイマー値を判定する処理の流れを説明するためのフローチャートである。なお、図21に示す各ステップS501〜S514の処理は、図16に示す処理が実行される際に、制御サーバ5が実行する処理である。
まず、制御サーバ5は、受信間隔テーブル32から、メーカーコード、商品コード、プロパティ名の組ごとにエントリを抽出したリストを作成する(ステップS501)。次に、制御サーバ5は、リストを1つ選択する(ステップS502)。そして、制御サーバ5は、選択したリストの各エントリに含まれる受信間隔の値から、平均値「Tave」と標準偏差「S」とを算出する(ステップS503)。そして、制御サーバ5は、先頭のエントリから、続く処理を実行する(ステップS504)。
まず、制御サーバ5は、ステップS504にて選択したエントリに含まれる受信間隔の値「Tn」が「Tave−3×S≦Tn≦Tave+3×S」の範囲に収まるか判定する(ステップS505)。そして、制御サーバ5は、受信間隔の値「Tn」が「Tave−3×S≦Tn≦Tave+3×S」の範囲に収まる場合は(ステップS505肯定)、所定のメモリに受信間隔代表値「T」が保存されているか判定する(ステップS506)。
そして、制御サーバ5は、受信間隔代表値「T」が保存されている場合は(ステップS506肯定)、「T」が「Tn」より小さいか判定する(ステップS507)。その後、制御サーバ5は、「T」が「Tn」より小さい場合は(ステップS507肯定)、メモリ上の「T」を「Tn」で上書きする(ステップS508)。
次に、制御サーバ5は、選択したエントリが最後のエントリか否かを判定し(ステップS509)、選択したエントリが最後のエントリではない場合は(ステップS509否定)、次のエントリを選択し(ステップS510)、ステップS505の処理を実行する。一方、制御サーバ5は、選択したエントリが最後のエントリである場合は(ステップS509肯定)、受信間隔代表値「T」に10%加算した値を新たな通知抑止タイマー値とする。
そして、制御サーバ5は、機器管理テーブル31を更新し、履歴取得フラグを削除する(ステップS511)。詳細には、制御サーバ5は、選択中のリストに対応するメーカーコード、商品コード、プロパティ名と対応付けられた通知抑止タイマー値を新たな通知抑止タイマー値に更新する。また、制御サーバ5は、選択中のリストに対応するメーカーコード、商品コード、プロパティ名と対応付けられた履歴取得フラグの値を「1」から「0」に更新する。
続いて、制御サーバ5は、処理していないリストがあるか判定し(ステップS512)、処理していないリストが存在する場合は(ステップS512肯定)、次のリストに処理を移し(ステップS513)、ステップS503を実行する。一方、制御サーバ5は、処理していないリストが存在しない場合は(ステップS512否定)、受信間隔テーブル32のデータを削除し(ステップS514)、処理を終了する。
なお、制御サーバ5は、「T」が「Tn」以上である場合は(ステップS507否定)、ステップS508をスキップする。また、制御サーバ5は、所定のメモリに受信間隔代表値「T」が保存されていない場合は(ステップS506否定)、「Tn」を受信間隔代表値「T」としてメモリに保持し(ステップS515)、ステップS509を実行する。また、制御サーバ5は、受信間隔の値「Tn」が「Tave−3×S≦Tn≦Tave+3×S」の範囲に収まらない場合は(ステップS505否定)、ステップS509を実行する。
[ゲートウェイ装置10の効果]
上述したように、ゲートウェイ装置10は、空調機器11から設定温度等、所定の項目の設定が変更された旨を示す状態変化通知を受信した場合は、以下の処理を実行する。すなわち、ゲートウェイ装置10は、状態変化通知を受信してから所定の待機時間が経過するまでの間に、照明機器11から同一の項目に係る状態変化通知を受信したか否かを判定する。そして、ゲートウェイ装置10は、状態変化通知を受信してから所定の待機時間が経過するまでの間に、空調機器11から同一の項目に係る状態変化通知を受信しなかった場合は、空調機器11から最後に受信した状態変化通知を制御サーバ5に送信する。
このため、ゲートウェイ装置10は、制御サーバ5の無駄な処理を削減できる。例えば、ゲートウェイ装置10は、上下ボタンの押下等の操作により、空調機器11の設定温度が連続して変更された場合は、途中の状態変化通知を制御サーバ5に送信せず、最終的な状態変化通知のみを制御サーバ5に送信する。このため、ゲートウェイ装置10は、未確定な設定に応じた制御サーバ5の処理を防ぎ、最終的な設定に応じた処理のみを制御サーバ5に実行させることができる。
また、ゲートウェイ装置10は、機器IDとプロパティ名とを含む状態変化通知を受信する。また、ゲートウェイ装置10は、状態変化通知を受信してから所定の待機時間が経過するまでの間、前回受信した状態変化通知に含まれる機器IDとプロパティ名との組と同一の組を含む状態変化通知を新たに受信したか判定する。このため、ゲートウェイ装置10は、新たに受信した状態変化通知が連続した操作による後続の状態変化通知であるか容易に判定できる。
また、ゲートウェイ装置10は、機器IDとプロパティ名との組ごとに、通知抑止タイマー値を対応付けて記憶する。また、ゲートウェイ装置10は、状態変化通知を受信すると、受信した状態変化通知と対応付けて記憶する通知抑止タイマー値を読み出す。そして、ゲートウェイ装置10は、状態変化通知を受信してから読み出した通知抑止タイマー値が経過するまでの間に、同一の機器から同一の項目に係る状態変化通知を受信したか判定する。
このため、ゲートウェイ装置10は、機器と設定内容とに応じた適切な期間、後続の状態変化通知の受信を待機できる。例えば、空調機器11の設定温度が連続して変更される場合と、空調機器11の設定風量が連続して変更される場合とでは、後続の状態変化通知が受信するまでの時間間隔が異なる。また、空調機器11の設定温度や設定風量が連続して変更される場合と、照明機器12の設定明度が連続して変更される場合とでは、後続の状態変化通知が受信するまでの時間間隔が異なる。また、各機器の状態変化通知が連続する際の各通知の間隔は、統計的に周期的とみなせるタイミングで送信され、人の操作による複数の通知の間隔は、統計的には特異な値になると考えられる。そこで、ゲートウェイ装置10は、機器と設定内容とに応じた適切な期間、後続の状態変化通知の受信を待機するので、住宅2にさまざまな機器が設置された場合にも、最終的な設定内容を示す状態変化通知を制御サーバ5に送信できる。
また、ゲートウェイ装置10は、機器IDとプロパティ名との組ごとに、状態変化通知を受信した時間間隔の平均値に基づいて、受信間隔候補値を算出し、算出した受信間隔候補値に基づく通知抑止タイマー値の間、後続の状態変化通知の受信を待機する。詳細には、ゲートウェイ装置10は、状態変化通知を受信した時間間隔を記憶する。そして、ゲートウェイ装置10は、機器IDとプロパティ名との組ごとに、状態変化通知を受信した時間間隔を所定の数選択し、選択した時間間隔の平均値を算出する。そして、ゲートウェイ装置10は、選択した各時間間隔が、算出した平均値に基づく所定の範囲内に収まる場合は、選択した時間間隔のうち、値が最大となる時間間隔を受信間隔候補値とする。
すなわち、ゲートウェイ装置10は、受信間隔の部分的な平均値と大きく異なる受信間隔を排除して受信間隔候補値を算出し、算出した時間間隔候補値に基づく通知抑止タイマー値の間、後続の状態変化通知の受信を待機する。このため、ゲートウェイ装置10は、利用者が無意識に設定内容を変化させた際の入力タイミングに応じた時間、後続の状態変化通知の受信を待機できる。
また、ゲートウェイ装置10は、機器IDとプロパティ名との組ごとに、受信した状態変化通知を記憶する。そして、ゲートウェイ装置10は、記憶した状態変化通知と同一の機器IDおよびプロパティ名が格納された状態変化通知を新たに受信すると、記憶した状態変化通知を新たに受信した状態変化通知で上書きする。その後、ゲートウェイ装置10は、所定の待機時間が経過するまでの間に、新たな状態変化通知を受信しない場合は、記憶した状態変化通知、すなわち、最終的に受信した状態変化通知を制御サーバ5に送信する。このため、ゲートウェイ装置10は、複雑な処理を実行せずとも、各装置11〜13と連続して変化する設定内容ごとに、最終的に受信した状態変化通知のみを制御サーバ5に送信できる。
また、ゲートウェイ装置10は、例えば、電源のON/OFF等、連続して変更されない種別の設定が変更された旨を示す状態変化通知を受信した場合は、待機を行わず、そのまま状態変化通知を制御サーバ5に送信する。このため、ゲートウェイ装置10は、制御サーバ5に、連続して変更されない項目の設定変更に応じた処理を、迅速に開始させることができる。
また、制御システム1は、複数の宅内2、3に設置された各機器11〜13、15〜17の制御を行う制御サーバ5と、各宅内2、3に設置された各機器11〜13、15〜17のの設定が変更された旨の通知を制御サーバ5に通知するゲートウェイ装置10、14を有する。また、ゲートウェイ装置10は、ある機器からあるプロパティに係る状態変化通知を受信した場合は、かかる状態変化通知を受信してから所定の時間が経過するまでの間に、同一の機器から同一のプロパティに係る状態変化通知を新たに受信したか否かを判定する。そして、ゲートウエイ装置10は、状態変化通知を受信してから所定の時間が経過するまでの間に、同一の機器から同一のプロパティに係る状態変化通知を新たに受信しなかった場合は、かかる機器から受信した状態変化通知を制御サーバ5に送信する。このため、制御システム1は、制御サーバ5の無駄な処理を削減することができる。
また、各ゲートウェイ装置10、14は、状態変化通知を受信した受信間隔に応じた時間間隔候補値を制御サーバ5に送信する。また、制御サーバ5は、各ゲートウェイ装置10、14から受信した時間間隔候補値を用いて、通知抑止タイマー値を判定し、判定した通知抑止タイマー値を各ゲートウェイ装置10、14に通知する。そして、ゲートウェイ装置10は、状態変化通知を受信すると、制御サーバ5から通知された通知抑止タイマー値が経過するまでの間、後続の状態変化通知を待機する。このため、制御システム1は、例えば、特定のゲートウェイ装置での特異な受信間隔を排除した通知抑止タイマー値を判定できる。
また、制御サーバ5は、受信した時間間隔候補値の平均値と標準偏差とを算出し、受信した時間間隔候補のうち、算出した平均値と標準偏差とに基づく範囲内に値が収まる時間間隔候補を抽出する。そして、制御サーバ5は、抽出した時間間隔候補のうち、値が最大となる待機時間の候補に所定の割合を積算した値を通知抑止タイマー値とする。このため、制御システム1は、制御システム1全体で通知抑止タイマー値を統一した場合にも、各ゲートウェイ装置10、14に後続の状態変化通知を受信するために十分な時間、待機を行わせることができる。