(57)【特許請求の範囲】
【請求項１】
機器の制御内容及び制御の優先度を含む指令の少なくとも一部の形式を変換することにより、前記指令から前記制御内容及び前記制御の優先度を取り出す解析部と、
前記解析部から少なくとも前記制御内容を取得し、取得した前記制御内容を用いて前記機器を制御する制御部と、
前記解析部が前記指令を変換することにより得られた前記制御の優先度と、前記制御内容と、前記指令に含まれる前記指令を送信した送信元の情報とを関連付けて第１のデータベースに書き込む監視部と、
前記指令を取得し、かつ前記送信元の情報を検索キーとして前記第１のデータベースから前記制御の優先度を検索し、検索された前記制御の優先度を用いて前記解析部が前記指令を変換する順序を決定する決定部と、
を含むことを特徴とする機器制御装置。
【請求項２】
前記制御内容と前記制御の優先度との関係が記述された第２のデータベースを有し、
前記監視部は、
前記送信元の情報及び前記変換によって得られた前記制御内容を検索キーとして、前記第２のデータベースから前記制御の優先度を検索し、
前記解析部が前記指令を変換することにより得られた前記制御内容と、前記第２のデータベースから検索された前記制御の優先度と、前記送信元の情報とを関連付けて前記第１のデータベースに書き込む
ことを特徴とする、請求項１に記載の機器制御装置。
【請求項３】
前記決定部は、
複数の異なる前記制御の優先度が検索された場合は、それぞれの前記制御の優先度が出現した回数に関する情報に基づいて前記制御の優先度を選択し、選択された前記制御の優先度を用いて前記解析部が前記指令を変換する順序を決定することを特徴とする
請求項１又は請求項２に記載の機器制御装置。
【請求項４】
前記送信元の情報は、前記解析部が前記指令を変換する前に前記指令から前記決定部が取得できる情報であることを特徴とする請求項１から請求項３のいずれか１項に記載の機器制御装置。
【請求項５】
前記決定部は、
前記第１のデータベースに、前記送信元の情報が一致する前記制御の優先度が複数存在する場合、最新の前記制御の優先度を用いて前記解析部が前記指令を変換する順序を決定することを特徴とする請求項１から請求項４のいずれか１項に記載の機器制御装置。
【請求項６】
前記指令は、少なくとも一部がテキスト形式で記述されることを特徴とする請求項１から請求項５のいずれか１項に記載の機器制御装置。
【請求項７】
請求項１から請求項６のいずれか１項に記載の機器制御装置と、
複数の前記機器と、
前記機器を制御するための前記指令を送信する制御装置と、
を含むことを特徴とする機器管理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の機器を制御する機器制御装置及び機器管理システムに関する。
【背景技術】
【０００２】
近年、家電機器又は住宅設備にネットワークに接続する機能を持たせ、宅内の制御装置又はクラウドサーバと接続してサービスを提供するスマート家電システムが登場している。このようなシステムは、太陽光パネルの発電状態及び蓄電池の充電状態を監視してエアコン及びテレビその他の家電機器を制御することで、家全体の消費電力を自動的に管理するＨＥＭＳ（Home  Energy  Management  System）がある。太陽光パネル及び家電機器のような、物同士が接続する仕組みは、Ｍ２Ｍ（Machine  to  Machine）システム又はＩｏＴ（Internet  of  Things）システムと呼ばれている。
【０００３】
Ｍ２Ｍシステム又はＩｏＴシステムにおいては、機器同士又はシステム同士で相互に情報をやり取りする必要がある。機器を制御する宅内の制御装置は、機器同士又はシステム同士で情報をやり取りする際に用いられるメッセージのみでは、これを読み取って処理することができない。このため、前述のメッセージは、制御装置が読み取って処理できる内部形式に変換される必要がある。メッセージを内部形式に変換する場合、構文解析が用いられることがある。構文解析は、入力された情報を先頭から順に読みながら情報のデータ構造を解析する処理である。構文解析は、逐次処理であり、処理時間を要する。
【０００４】
特許文献１には、テキストを分割し、複数のＣＰＵ（Central  Processing  Unit）を利用してパージングすることにより、逐次処理を並列化することが記載されている。特許文献２には、専用のハードウェアによるＣＰＵの負荷低減及び高速化についての技術が記載されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許第５３３８４８７号公報
【特許文献２】特表２００６−５０５０４３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
機器を制御する制御装置は、機器の制御又は情報の取得のための指令が集中した場合、複数の指令の構文解析を受け付け順に実行するため、後から到着した指令は待たされる。このため、短時間で応答が必要な優先度の高い指令を実行するタイミングの遅延が大きくなる可能性がある。特許文献１に記載された並列化処理及び特許文献２に記載された専用のハードウェアによる処理は、複数の構文解析に要する時間を短縮できるが、指令を処理する優先度は考慮されていないため、優先度の高い指令を実行するタイミングの遅延を抑制するには不十分である。
【０００７】
本発明は、機器を制御するための指令が集中した場合に、優先度の高い制御の遅延を抑制することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の機器制御装置は、解析部と、制御部と、監視部と、決定部とを含む。前記解析部は、機器の制御内容及び制御の優先度を含む指令の少なくとも一部の形式を変換することにより、前記指令から前記制御内容及び前記制御の優先度を取り出す。前記制御部は、前記解析部から少なくとも前記制御内容を取得し、取得した前記制御内容を用いて前記機器を制御する。前記監視部は、前記解析部が前記指令を構文解析することにより得られた前記制御の優先度と、前記制御内容と、前記指令に含まれる前記指令を送信した送信元の情報とを関連付けて第１のデータベースに書き込む。前記決定部は、前記指令を取得し、かつ前記送信元の情報を検索キーとして前記第１のデータベースから前記制御の優先度を検索し、検索された前記制御の優先度を用いて前記解析部が前記指令を構文解析する順序を決定する。
【発明の効果】
【０００９】
本発明は、機器を制御するための指令が集中した場合に、優先度の高い制御の遅延を抑制するという効果を奏する。
【図面の簡単な説明】
【００１０】
【図１】実施の形態１に係る機器制御装置を含む機器管理システムを示す図
【図２】実施の形態１に係る機器管理システムの制御例を示す制御シーケンス図
【図３】実施の形態１に係る機器管理システムが有する自コントローラを示す図
【図４】実施の形態１に係る自コントローラの制御ブロック図
【図５】実施の形態１に係る第１指示メッセージのデータ構造の一例を示す図
【図６】実施の形態１に係る第２指示メッセージのデータ構造の一例を示す図
【図７】実施の形態１に係る制御履歴データベースの構造の一例を示す図
【図８】実施の形態１に係る管理リストの一例を示す図
【図９】実施の形態１に係る機器制御装置の制御例を示す動作シーケンス図
【図１０】実施の形態１に係る決定部の処理の一例を示すフローチャート
【図１１】実施の形態１に係る解析部が構文解析を実行する際の処理の一例を示すフローチャート
【図１２】ＸＭＬ（Extensive  Markup  Language）文書の一例を示す図
【図１３】図１２に示されるＸＭＬ文書をツリー構造のデータに変換した一例を示す図
【図１４】実施の形態１に係る監視部の処理の一例を示すフローチャート
【図１５】実施の形態１に係る監視部の処理の一例を示すフローチャート
【図１６】実施の形態２に係る機器管理システム及び自コントローラを示す図
【図１７】実施の形態２に係る自コントローラの制御ブロック図
【図１８】実施の形態２に係る優先度設定データベースの構造の一例を示す図
【図１９】実施の形態２に係る監視部の処理の一例を示すフローチャート
【図２０】実施の形態３に係る制御履歴データベースの構造を示す図
【図２１】実施の形態３に係る決定部の処理の一例を示すフローチャート
【図２２】実施の形態３の第１変形例に係る制御履歴データベースの構造を示す図
【図２３】実施の形態３の第１変形例に係る監視部の処理の一例を示すフローチャート
【発明を実施するための形態】
【００１１】
以下に、本発明の実施の形態に係る機器制御装置を図面に基づいて詳細に説明する。なお、以下の実施の形態により発明が限定されるものではない。
【００１２】
実施の形態１．
図１は、実施の形態１に係る機器制御装置を含む機器管理システムを示す図である。機器管理システム１は、建物１３０の内部１３０Ｉ、すなわち建物内１３０Ｉに設けられた複数の機器を制御する。機器管理システム１は、機器制御装置である自コントローラ１００と、複数の機器である家電機器１０４、住宅設備１０５及びセンサ１０６と、機器を制御するための指示メッセージを送信する制御装置である他コントローラ１０１とを含む。
【００１３】
自コントローラ１００は、ＨＥＭＳのコントローラ、建物内１３０Ｉのネットワークに設けられる建物内１３０Ｉの高機能ルータ又はホームゲートウェイが例示されるが、これらに限定されない。他コントローラ１０１は、個人に使用されて、建物内１３０Ｉの機器を制御するコントローラである。他コントローラ１０１は、スマートフォン、タブレット型コンピュータ、建物１３０のセキュリティシステムを制御するセキュリティコントローラ、テレビのコントローラ、音響機器のコントローラ又はエアーコンディショナーのコントローラ、その他のコントローラが例示されるが、これらに限定されない。
【００１４】
家電機器１０４は、エアーコンディショナー、冷蔵庫又は給湯装置が例示されるが、これらに限定されない。住宅設備１０５は、建物１３０の電動ドア、電動窓、電動ガレージ又は電子錠が例示されるが、これらに限定されない。センサ１０６は、建物内１３０Ｉの温度を検出する温度センサ又は建物内１３０Ｉの明るさを検出する照度センサが例示されるが、これらに限定されない。家電機器１０４も温度センサ又は照度センサ、その他のセンサを有するものがあるが、実施の形態１のセンサ１０６は、家電機器１０４が有するセンサとは異なる。
【００１５】
実施の形態１において、自コントローラ１００は、家電機器１０４及び住宅設備１０５を制御するが、自コントローラ１００の制御対象はこれらに限定されず、ＦＡ（Factory  Automation）に用いられる加工装置又はロボットのような機器であってもよい。この場合、自コントローラ１００は、ＰＬＣ（Programmable  Logic  Controller）が例示される。
【００１６】
建物内１３０Ｉに設けられたホームルータ１０２は、ＬＡＮ（Local  Area  Network）１２０を用いて、建物内１３０Ｉに設けられた自コントローラ１００及び他コントローラ１０１と、建物内１３０Ｉのネットワークを構成する。ＬＡＮ１２０は、無線でも有線でもよい。自コントローラ１００と他コントローラ１０１とは、ＬＡＮ１２０を介してホームルータ１０２に接続し、通信を行う。自コントローラ１００と他コントローラ１０１との通信は、ＩＰ（Internet  Protocol）通信が例示されるが、これに限定されない。
【００１７】
建物内１３０Ｉの家電機器１０４、住宅設備１０５及びセンサ１０６は、特小無線通信１２１を介して自コントローラ１００と接続する。特小無線通信１２１は、Ｂｌｕｅｔｏｏｔｈ（登録商標）又は無線ＬＡＮといった通信媒体が例示される。
【００１８】
実施の形態１において、ホームルータ１０２は、建物１３０の外部のネットワークである外部ネットワーク１０３と接続する。外部ネットワーク１０３は、インターネットが例示されるがこれに限定されない。このような構造により、自コントローラ１００及び他コントローラ１０１は、ホームルータ１０２及び外部ネットワーク１０３を介して、外部ネットワーク１０３に接続されたサーバ１１０、その他の機器類と通信して、情報をやり取りできる。実施の形態１において、サーバ１１０は、家電機器１０４、住宅設備１０５又はセンサ１０６の製造元のサーバが例示される。サーバ１１０は、外部ネットワーク１０３及びホームルータ１０２を介して、家電機器１０４、住宅設備１０５及びセンサ１０６を制御するプログラム又はこれらの制御に用いられる情報のアップデートをする。
【００１９】
図２は、実施の形態１に係る機器管理システムの制御例を示す制御シーケンス図である。機器管理システム１が建物内１３０Ｉの機器を制御するにあたり、自コントローラ１００は、他コントローラ１０１からの要求を受け付け、自コントローラ１００に接続された機器、すなわち家電機器１０４、住宅設備１０５及びセンサ１０６の少なくとも１つを制御する。
【００２０】
ステップＳ１１において、他コントローラ１０１は、ＨＴＴＰ（Hypertext  Transfer  Protocol）のｐｏｓｔメソッドを用いて、第１指示メッセージ２１０を自コントローラ１００に送信する。第１指示メッセージ２１０は、機器、すなわち家電機器１０４、住宅設備１０５及びセンサ１０６の制御内容及び制御の優先度を含む指令である。実施の形態１において、第１指示メッセージ２１０は、少なくとも一部がテキストで定義され、記述されるが、第１指示メッセージの形式はテキストに限定されない。第１指示メッセージ２１０がテキストで記述されると、可読性がよく、メンテナンスが容易であるという利点がある。ｐｏｓｔメソッドは、クライアントからデータを送信するためのものである。ｐｏｓｔメソッドのリクエストは、ヘッダ及びボディ部を有している。送信したいデータは、ステップＳ１１では第１指示メッセージ２１０は、ボディ部に記述される。
【００２１】
ステップＳ１２において、自コントローラ１００は、第１指示メッセージ２１０を受信すると、第１指示メッセージ２１０の少なくとも一部の形式を変換する。実施の形態１において、自コントローラ１００は、第１指示メッセージ２１０の少なくとも一部を構文解析することにより、第１指示メッセージ２１０の少なくとも一部の形式を変換する。形式の変換は、構文解析に限定されない。自コントローラ１００は、第１指示メッセージ２１０が記述された形式では、第１指示メッセージ２１０の情報を処理することができない。このため、自コントローラ１００は、第１指示メッセージ２１０の少なくとも一部を変換、実施の形態１では構文解析することにより、自コントローラ１００が読み取り、かつ処理できる形式とする。
【００２２】
第１指示メッセージ２１０は、自コントローラ１００が実行すべき制御内容に加え、制御の優先度を含む。制御の優先度は、一例として、低速な特小無線通信１２１における通信の優先度を設定するために用いられる。また、制御の優先度は、制御実行スレッドの優先度に用いられてもよい。
【００２３】
自コントローラ１００は、構文解析の結果から、制御内容及び制御の優先度を取得し、家電機器１０４、住宅設備１０５及びセンサ１０６の少なくとも１つに制御メッセージ２１１を送信する。制御メッセージ２１１は、第１指示メッセージ２１０が有する制御内容を少なくとも含む。実施の形態１において、制御内容が自コントローラ１００への設定情報の場合、自コントローラ１００は、制御メッセージ２１１を送信しない。
【００２４】
ステップＳ１３において、家電機器１０４、住宅設備１０５及びセンサ１０６の少なくとも１つは、制御メッセージ２１１を受信すると、制御メッセージ２１１に含まれる制御内容に基づいて制御を実行する。その後、家電機器１０４、住宅設備１０５及びセンサ１０６の少なくとも１つは、自コントローラ１００に第１応答メッセージ２１２を送信する。ステップＳ１４において、自コントローラ１００は、第１応答メッセージ２１２を受信すると、他コントローラ１０１にＨＴＴＰを用いて第２応答メッセージ２１３を送信する。第２応答メッセージ２１３は、第１応答メッセージ２１２が、自コントローラ１００と他コントローラ１０１との通信方式に適した形式に変換されたものである。
【００２５】
実施の形態１において、通信プロトコルはＨＴＴＰとしているが、ｃｏａｐプロトコルが用いられてもよい。家電機器１０４、住宅設備１０５及びセンサ１０６を制御するための制御メッセージ２１１は、実施の形態１ではＥＣＨＯＮＥＴ  Ｌｉｔｅ、ＺｉｇＢｅｅ（登録商標）又はＫＮＸが用いられるが、これらに限定されない。
【００２６】
機器管理システム１は、複数の他コントローラ１０１から同時に第１指示メッセージ２１０が送信されると、前述したステップＳ１２において、自コントローラ１００が実行する構文解析が輻輳する。また、構文解析は、解析の対象である情報を先頭から順に読みながらデータ構造を解析する処理であり、本質的に逐次処理なので、処理に時間を要する。このため、機器管理システム１は、第１指示メッセージ２１０が集中すると、優先度が高い第１指示メッセージ２１０の処理に遅延を引き起こす可能性がある。
【００２７】
実施の形態１において、自コントローラ１００は、第１指示メッセージ２１０が有する制御の優先度、すなわち制御内容を実行する優先度に基づいて、複数の第１指示メッセージ２１０を構文解析する順序を決定する。この処理により、自コントローラ１００は、処理しなければならない第１指示メッセージ２１０が集中したときに、第１指示メッセージ２１０の処理の遅延を抑制する。次に、自コントローラ１００について説明する。
【００２８】
図３は、実施の形態１に係る機器管理システムが有する自コントローラを示す図である。図３は、自コントローラ１００のハードウェア構成例を示している。自コントローラ１００は、処理装置１００Ｐと、記憶装置１００Ｍと、入出力装置１００ＩＦとを有する。処理装置１００Ｐは、ＣＰＵ（Central  Processing  Unit）又はＤＳＰ（Digital  Signal  Processor）のようなプロセッサである。処理装置１００Ｐは、専用のハードウェアで実現されてもよい。この場合、処理装置１００Ｐは、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ＡＳＩＣ（Application  Specific  Integrated  Circuit）、ＦＰＧＡ（Field  Programmable  Gate  Array）又はこれらを組み合わせたものである。
【００２９】
処理装置１００Ｐは、コンピュータプログラムに記述された命令、すなわちデータの転送、演算、加工及び制御その他の処理を実行する装置である。処理装置１００Ｐは、処理装置１００Ｐが直接アクセスできる主記憶装置１００ＰＭを作業領域として使用しながら、記憶装置１００Ｍに記憶されているコンピュータプログラムを実行する。このコンピュータプログラムは、ＢＩＯＳ（Basic  Input/Output  System）、ＵＥＦＩ（Unified  Extensible  Firmware  Interface）、ＯＳ（Operating  System）プログラム及び制御用プログラム３５８である。自コントローラ１００が家電機器１０４、住宅設備１０５及びセンサ１０６に対して実行する処理は、処理装置１００Ｐが実行する。
【００３０】
処理装置１００Ｐは、指示メッセージ処理部３５５、応答メッセージ処理部３５６及びＯＳ機能部３５４を有する。指示メッセージ処理部３５５は、他コントローラ１０１が送信した第１指示メッセージ２１０を取得する。そして、指示メッセージ処理部３５５は、第１指示メッセージ２１０が有する制御の優先度を用いて、複数の第１指示メッセージ２１０を構文解析する順序を決定し、決定した順序に基づいて構文解析を実行する。指示メッセージ処理部３５５は、構文解析を実行した後、構文解析の結果から得られた機器の制御内容を用いて、家電機器１０４、住宅設備１０５又はセンサ１０６を制御する。
【００３１】
応答メッセージ処理部３５６は、家電機器１０４、住宅設備１０５及びセンサ１０６からの第１応答メッセージ２１２をＨＴＴＰ形式に書き換える処理をして、他コントローラ１０１へ処理後の第１応答メッセージ２１２、すなわち第２応答メッセージ２１３を送信する。ＯＳ機能部３５４は、基本ソフトウェア機能を提供する。実施の形態１において、処理装置１００Ｐは、制御用プログラム３５８を実行することにより指示メッセージ処理部３５５及び応答メッセージ処理部３５６を実現し、ＯＳプログラムを実行することによりＯＳ機能部３５４を実現する。
【００３２】
制御用プログラム３５８は、Ｃ言語のようなソフトウェア言語を用いて記述される。処理装置１００Ｐは、制御用プログラム３５８に記述された命令列を実行することにより、家電機器１０４、住宅設備１０５及びセンサ１０６の動作を制御したり、構文解析を実行したりする。
【００３３】
記憶装置１００Ｍは、ＲＡＭ（Random  Access  Memory）、ＲＯＭ（Read  Only  Memory）、フラッシュメモリ、ＥＰＲＯＭ（Erasable  Programmable  Read  Only  Memory）、ＥＥＰＲＯＭ（Electrically  Erasable  Programmable  Read  Only  Memory）、ＳＳＤ（Solid  State  Drive）、ＨＤＤ（Hard  Disc  Drive）及びこれらの組合せのうち少なくとも１つである。記憶装置１００Ｍは、処理装置１００Ｐが実行するコンピュータプログラム及び処理装置１００Ｐの処理に必要な情報を記憶する装置である。記憶装置１００Ｍは、第１のデータベースである制御履歴データベース３０６を記憶している。自コントローラ１００は、家電機器１０４、住宅設備１０５及びセンサ１０６を制御する際に制御履歴データベース３０６を用いる。また、記憶装置１００Ｍは、自コントローラ１００が家電機器１０４、住宅設備１０５及びセンサ１０６を制御する際に用いるコンピュータプログラムである制御用プログラム３５８を記憶している。実施の形態１において、記憶装置１００Ｍは、少なくとも制御履歴データベース３０６を記憶していればよい。
【００３４】
入出力装置１００ＩＦは、自コントローラ１００が、自コントローラ１００の外部の機器類と情報をやり取りするためのインターフェース回路である。入出力装置１００ＩＦは、自コントローラ１００と自コントローラ１００の外部の機器類とが通信するための通信インターフェース回路も有する。
【００３５】
実施の形態１において、入出力装置１００ＩＦは、ＬＡＮ１２０に接続されている。このような構造により、実施の形態１において、自コントローラ１００は、ＬＡＮ１２０を介して自コントローラ１００の外部の機器類と通信して情報をやり取りする。実施の形態１において、自コントローラ１００の外部の機器類は、他コントローラ１０１、ホームルータ１０２、家電機器１０４、住宅設備１０５及びセンサ１０６である。
【００３６】
実施の形態１において、処理装置１００Ｐ、記憶装置１００Ｍ及び入出力装置１００ＩＦは、データバス１００ＤＢに接続される。処理装置１００Ｐ、記憶装置１００Ｍ及び入出力装置１００ＩＦは、データバス１００ＤＢを介して情報をやり取りする。
【００３７】
図４は、実施の形態１に係る自コントローラの制御ブロック図である。自コントローラ１００が有する指示メッセージ処理部３５５は、受信部３０１、決定部３０４、解析部３０２、制御部３０３及び監視部３０５を含む。受信部３０１は、ハードウェアとソフトウェアとで実現される。受信部３０１を実現するハードウェアは、実施の形態１においては入出力装置１００ＩＦが有する通信インターフェース回路である。受信部３０１は、他コントローラ１０１が送信した指示メッセージ２１０を受信する。受信部３０１は、受信した第１指示メッセージ２１０から第２指示メッセージ４５０を生成する処理を実行する。受信部３０１は、生成した第２指示メッセージ４５０を決定部３０４に受け渡す。
【００３８】
第２指示メッセージ４５０は、第１指示メッセージ２１０が受信部３０１によって処理された後の情報である。第２指示メッセージ４５０が有する情報の内容は、第１指示メッセージ２１０が有する情報の内容と同一である。すなわち、第２指示メッセージ４５０も、第１指示メッセージ２１０と同様に、機器である家電機器１０４、住宅設備１０５及びセンサ１０６の制御内容及び制御の優先度を含む指令である。
【００３９】
決定部３０４は、受信部３０１から第２指示メッセージ４５０を取得し、かつ第２指示メッセージ４５０の送信元である他コントローラ１０１の情報を検索キーとして、制御履歴データベース３０６から制御の優先度を検索する。決定部３０４は、検索された制御の優先度を用いて解析部３０２が、第２指示メッセージ４５０を構文解析する順序を決定する。実施の形態１において、決定部３０４は、解析部３０２が第２指示メッセージ４５０を構文解析する順序を決定する場合、輻輳制御を実行する。実施の形態１において、決定部３０４は、バッファリング手法の１つであるキューイング（Queueing）を用いて輻輳制御を実行するが、輻輳制御はキューイングに限定されない。
【００４０】
輻輳制御のため、決定部３０４は、アウトプットのキューとして、第１キュー３０４Ａ、第２キュー３０４Ｂ及び第３キュー３０４Ｃを有する。決定部３０４は、受信部３０１から取得した第２指示メッセージ４５０を、第１キュー３０４Ａ、第２キュー３０４Ｂ又は第３キュー３０４Ｃに格納する。
【００４１】
解析部３０２が構文解析を実行する優先度は、第１キュー３０４Ａに格納された第２指示メッセージ４５０、第２キュー３０４Ｂに格納された第２指示メッセージ４５０、第３キュー３０４Ｃに格納された第２指示メッセージ４５０の順に低くなる。すなわち、第１キュー３０４Ａに格納された第２指示メッセージ４５０は最も高い優先度で構文解析が実行され、第２キュー３０４Ｂに格納された第２指示メッセージ４５０は２番目に高い優先度で構文解析が実行される。第３キュー３０４Ｃに格納された第２指示メッセージ４５０は最も低い優先度で構文解析が実行される。
【００４２】
実施の形態１において、第２指示メッセージ４５０の制御の優先度は、「高（Ｈ）」、「中（Ｍ）」、「低（Ｌ）」のいずれかである。決定部３０４は、制御履歴データベース３０６から検索した制御の優先度に対応する第２指示メッセージ４５０を、この制御の優先度にしたがって第１キュー３０４Ａ、第２キュー３０４Ｂ又は第３キュー３０４Ｃのいずれかに格納する。
【００４３】
第１キュー３０２Ａ、第２キュー３０４Ｂ及び第３キュー３０４Ｃは、主記憶装置１００ＰＭの一部を記憶領域として実現される。実施の形態において、アウトプットのキューの数は３個に限定されない。アウトプットのキューは２個であってもよい。この場合、制御の優先度は「高（Ｈ）」及び「低（Ｌ）」の２段階となる。また、アウトプットのキューの数は４個以上でもよい。この場合、制御の優先度は４段階以上となる。
【００４４】
解析部３０２は、家電機器１０４、住宅設備１０５又はセンサ１０６の制御内容及び制御の優先度を含む第２指示メッセージ４５０の少なくとも一部の形式を変換、実施の形態１では構文解析することにより、第２指示メッセージ４５０から制御内容及び制御の優先度を取り出す。解析部３０２は、第２指示メッセージ４５０から取り出した制御内容及び制御の優先度のうち、少なくとも制御内容を制御部３０３に受け渡す。
【００４５】
解析部３０２は、第１キュー３０４Ａ、第２キュー３０４Ｂ及び第３キュー３０４Ｃの少なくとも１つに格納された第２指示メッセージ４５０を構文解析するにあたって、第１キュー３０４Ａ、第２キュー３０４Ｂ、第３キュー３０４Ｃの順に第２指示メッセージ４５０が存在しているか否かを確認する。そして、解析部３０２は、制御の優先度が高いキューに存在する第２指示メッセージ４５０から順に構文解析する。解析部３０２は、キューに第２指示メッセージ４５０が存在しなくなったら、次に優先度の高いキューに存在する第２指示メッセージ４５０を構文解析する。
【００４６】
実施の形態１において、解析部３０２は、第１キュー３０４Ａ、第２キュー３０４Ｂ、第３キュー３０４Ｃの順に、それぞれに存在する第２指示メッセージ４５０を構文解析する。解析部３０２は、第１キュー３０４Ａに第２指示メッセージ４５０が存在しなくなったら、第２キュー３０４Ｂに存在する第２指示メッセージ４５０を構文解析する。そして、解析部３０２は、第２キュー３０４Ｂに第２指示メッセージ４５０が存在しなくなったら、第３キュー３０４Ｃに存在する第２指示メッセージ４５０を構文解析する。
【００４７】
制御部３０３は、解析部３０２から少なくとも制御内容を取得し、取得した制御内容を用いて家電機器１０４、住宅設備１０５又はセンサ１０６を制御する。解析部３０２は、制御の優先度にしたがって構文解析を実行し、構文解析の結果である制御の内容を制御部３０３に受け渡す。このため、制御部３０３は、第２指示メッセージ４５０の制御の優先度にしたがって、家電機器１０４、住宅設備１０５及びセンサ１０６を制御する。
【００４８】
監視部３０５は、解析部３０２が第２指示メッセージ４５０を構文解析することにより得られた制御の優先度及び制御内容と、第２指示メッセージ４５０に含まれる指示メッセージを送信した送信元である他コントローラ１０１の情報とを関連付けて、制御履歴データベース３０６に書き込む。このとき、監視部３０５は、管理リスト７５０を用いる。管理リスト７５０については後述する。
【００４９】
図５は、実施の形態１に係る第１指示メッセージのデータ構造の一例を示す図である。実施の形態１において、指令である第１指示メッセージ２１０は、ＨＴＴＰ形式で記述される。第１指示メッセージ２１０は、ＩＰヘッダＡと、ＴＣＰヘッダＢと、ＨＴＴＰヘッダＣと、ＨＴＴＰボディＤとを有する。ＩＰヘッダＡ，ＴＣＰヘッダＢ及びＨＴＴＰヘッダＣとには、第１指示メッセージ２１０を送信した送信元である他コントローラ１０１の情報が記述されている。以下において、送信元の情報を、第１送信元情報２５１と称する。第１送信元情報２５１は、送信時刻、送信元のアドレス及びアクセス先のアドレス及びサイズを含む。ＨＴＴＰボディＤは、制御の優先度及び制御内容を含む。以下において、制御の優先度及び制御内容を、第１制御情報２５３と称する。
【００５０】
図６は、実施の形態１に係る第２指示メッセージのデータ構造の一例を示す図である。第２指示メッセージ４５０は、第１指示メッセージ２１０と同様に、送信元の情報、制御の優先度及び制御内容を含む。以下において、第２指示メッセージ４５０に含まれる送信元の情報を第２送信元情報４５１と称し、第２指示メッセージ４５０に含まれる制御の優先度及び制御内容を第２制御情報４５３と称する。第２送信元情報４５１は、時刻ＤＴ、送信元のアドレスＡＤｄ、アクセス先のアドレスＡＣＵ及びサイズＳＺを含む。第２制御情報４５３は、制御の優先度ＰＲ及び制御内容ＣＣを含む。第１送信元情報２５１のＨＴＴＰヘッダＣの内容及び第２送信元情報４５１の内容は、いずれも同一である。第１制御情報２５３の内容及び第２制御情報４５３の内容は、いずれも同一である。
【００５１】
第１送信元情報２５１及び第２送信元情報４５１は、自コントローラ１００の解析部３０２が構文解析を実行する前に受信部３０１が取得できる情報であればよい。このため、実施の形態１において、第１送信元情報２５１及び第２送信元情報４５１は、時刻ＤＴ、送信元のアドレスＡＤｄ、アクセス先のアドレスＡＣＵ及びサイズＳＺを含むが、これら以外であってもよい。第１送信元情報２５１及び第２送信元情報４５１は、構文解析の実行前に受信部３０１が取得できる情報なので、決定部３０４は、解析部３０２が第２指示メッセージ４５０を構文解析する前に、第２送信元情報４５１及び制御履歴データベース３０６を用いて制御の優先度ＰＲを決定できる。
【００５２】
時刻ＤＴは、自コントローラ１００が他コントローラ１０１から第１指示メッセージ２１０を受信した時刻である。送信元のアドレスＡＤｄは、第１指示メッセージ２１０の送信元である他コントローラ１０１のＩＰアドレスの情報である。自コントローラ１００が他コントローラ１０１の種別を取得できる場合、送信元のアドレスＡＤｄは、種別等を含んでもよい。アクセス先のアドレスＡＣＵは、他コントローラ１０１がアクセスしたアドレスである。サイズＳＺは、他コントローラ１０１が送信した第１指示メッセージ２１０のサイズである。制御の優先度ＰＲは、自コントローラ１００が有する制御部３０３が、機器である家電機器１０４、住宅設備１０５及びセンサ１０６を制御する際の優先度である。制御内容ＣＣは、第１指示メッセージ２１０又は第２指示メッセージ４５０の制御の対象及び制御内容の詳細を表す情報である。実施の形態１において、制御の優先度ＰＲは、一例として、他コントローラ１０１が制御内容ＣＣの重要度に応じて決定する。
【００５３】
図７は、実施の形態１に係る制御履歴データベースの構造の一例を示す図である。制御履歴データベース３０６は、第２指示メッセージ４５０に含まれる、第１指示メッセージ２１０の送信元の情報である第２送信元情報４５１と、第２制御情報４５３とが関連付けられて記述される。制御履歴データベース３０６の第２制御情報４５３は、解析部３０２が第２指示メッセージ４５０を構文解析した結果得られた、制御の優先度ＰＲ及び制御内容ＣＣである。制御履歴データベース３０６は、より具体的には、時刻ＤＴと、送信元のアドレスＡＤｄと、アクセス先のアドレスＡＣＵと、サイズＳＺと、制御の優先度ＰＲと、制御内容ＣＣとが関連付けられて記述される。
【００５４】
図８は、実施の形態１に係る管理リストの一例を示す図である。管理リスト７５０は、管理番号４５２と、第２送信元情報４５１とが関連付けられて記述される。管理リスト７５０は、図４に示される監視部３０５が生成する。実施の形態１において、解析部３０２は、第２指示メッセージ４５０を構文解析すると、結果と管理番号４５２とを関連付けて監視部３０５に受け渡す。第２指示メッセージ４５０が構文解析された結果は、図７に示される第２制御情報４５３である。
【００５５】
監視部３０５は、解析部３０２から結果及び管理番号４５２を取得すると、取得した結果に対応した管理番号４５２を検索キーとして管理リスト７５０を検索して、管理番号４５２に対応する第２送信元情報４５１を得る。監視部３０５は、解析部３０２から取得した結果と、管理リスト７５０から得た第２送信元情報４５１とを関連付けて、制御履歴データベース３０６に書き込んで記憶させる。このようにして、制御履歴データベース３０６が作成又は更新される。次に、機器管理システム１、より具体的には自コントローラ１００が実行する制御を説明する。
【００５６】
図９は、実施の形態１に係る機器制御装置の制御例を示す動作シーケンス図である。図１に示される機器管理システム１の他コントローラ１０１は、自コントローラ１００に第１指示メッセージ２１０を送信する。自コントローラ１００の受信部３０１は、他コントローラ１０１から送信された第１指示メッセージ２１０を受信する。受信部３０１は、第１指示メッセージ２１０を受信すると、ＩＰ（Internet  Protocol）／ＴＣＰ（Transmission  Control  Protocol）／ＨＴＴＰ処理を行った後、ステップＳ１０１において、第２指示メッセージ４５０及び第２送信元情報４５１を生成する。
【００５７】
第１送信元情報２５１及び第１制御情報２５３は、図５に示される第１指示メッセージ２１０のＨＴＴＰヘッダＣ及びＨＴＴＰボディＤに記述されている。このため、ステップＳ１０１において、受信部３０１は、第１指示メッセージ２１０のＨＴＴＰヘッダＣ及びＨＴＴＰボディＤから第１送信元情報２５１及び第１制御情報２５３を読み出し、図６に示される第２指示メッセージ４５０を生成する。また、受信部３０１は、第１指示メッセージ２１０のＨＴＴＰヘッダＣから第１送信元情報２５１を読み出し、これを第２送信元情報４５１とする。第２指示メッセージ４５０が有する第２送信元情報４５１は、ＩＰヘッダＡ、ＴＣＰヘッダＢ及びＨＴＴＰヘッダＣの必要な情報のサマリである。第２指示メッセージ４５０が有する第２制御情報４５３は、第１制御情報２５３と同一である。
【００５８】
受信部３０１は、第２指示メッセージ４５０及び第２送信元情報４５１を生成したら、自コントローラ１００内において、第２指示メッセージ４５０及び第２送信元情報４５１を一意に特定するための番号である管理番号４５２を生成する。その後、受信部３０１は、生成した第２指示メッセージ４５０、第２送信元情報４５１及び管理番号４５２を決定部３０４に受け渡す。同時に、受信部３０１は、生成した第２送信元情報４５１及び管理番号４５２を監視部３０５に受け渡す。決定部３０４は、受信部３０１から第２指示メッセージ４５０、第２送信元情報４５１及び管理番号４５２を取得する。監視部３０５は、第２送信元情報４５１及び管理番号４５２を取得する。
【００５９】
ステップＳ１０２において、決定部３０４は、受信部３０１から取得した第２送信元情報４５１を用いて、制御履歴データベース３０６から制御の優先度ＰＲを検索する。具体的には、決定部３０４は、取得した第２送信元情報４５１のうち、送信元のアドレスＡＤｄ、アクセス先のアドレスＡＣＵ及びサイズＳＺを検索キーとして制御履歴データベース３０６を検索する。このように、第２送信元情報４５１が検索キーとして用いられる場合、第２送信元情報４５１が有するすべての情報は用いられなくてもよい。決定部３０４は、同一の送信元のアドレスＡＤｄ、アクセス先のアドレスＡＣＵ及びサイズＳＺの組合せが制御履歴データベース３０６に存在した場合、その組合せに対応する制御の優先度ＰＲを、ステップＳ１０１で取得した第２指示メッセージ４５０の制御の優先度ＰＲに決定する。実施の形態１において、決定部３０４は、送信元のアドレスＡＤｄ、アクセス先のアドレスＡＣＵ及びサイズＳＺを検索キーとしたが、検索キーはこれらに限定されない。
【００６０】
決定部３０４は、ステップＳ１０１で取得した第２指示メッセージ４５０の制御の優先度ＰＲを決定したら、決定した制御の優先度ＰＲを用いて解析部３０２が第２指示メッセージ４５０、より具体的には第２指示メッセージ４５０の第２制御情報４５３を構文解析する順序を決定する。すなわち、決定部３０４は、決定した制御の優先度ＰＲに応じたキューに、決定した制御の優先度ＰＲに対応する第２指示メッセージ４５０を格納する。
【００６１】
決定された制御の優先度ＰＲが「高（Ｈ）」であれば、決定部３０４は、対応する第２指示メッセージ４５０を図４に示される第１キュー３０４Ａに格納する。決定された制御の優先度ＰＲが「中（Ｍ）」であれば、決定部３０４は、対応する第２指示メッセージ４５０を図４に示される第２キュー３０４Ｂに格納する。決定された制御の優先度ＰＲが「低（Ｌ）」であれば、決定部３０４は、対応する第２指示メッセージ４５０を図４に示される第３キュー３０４Ｃに格納する。決定部３０４は、ステップＳ１０１で取得した第２指示メッセージ４５０とともに、これに対応する管理番号４５２も第１キュー３０４Ａ、第２キュー３０４Ｂ又は第３キュー３０４Ｃに格納する。決定部３０４は、格納された第２指示メッセージ４５０及び管理番号４５２を、第１キュー３０４Ａのもの、第２キュー３０４Ｂのもの、第３キュー３０４Ｃのもの、の順に解析部３０２に受け渡す。このようにして、決定部３０４は、制御の優先度ＰＲに応じて、解析部３０２が構文解析する第２指示メッセージ４５０の順番を決定する。この制御を優先制御と称する。
【００６２】
第２送信元情報４５１、実施の形態１では送信元のアドレスＡＤｄ、アクセス先のアドレスＡＣＵ及びサイズＳＺが一致する制御の優先度ＰＲは、制御履歴データベース３０６に複数存在することがある。この場合、ステップＳ１０２において、制御履歴データベース３０６は、最新の第２制御情報４５３に含まれる制御の優先度ＰＲを決定部３０４に返す。決定部３０４は、制御履歴データベース３０６から受け取った最新の制御の優先度ＰＲを用いて、解析部３０２が第２指示メッセージ４５０を構文解析する順序を決定する。このような処理により、解析部３０２は、最新の制御の優先度ＰＲにしたがって構文解析を実行できるので、制御部３０３は実情に即した機器の制御を実現できる。
【００６３】
第２送信元情報４５１、実施の形態１では送信元のアドレスＡＤｄ、アクセス先のアドレスＡＣＵ及びサイズＳＺが一致する制御の優先度ＰＲが、制御履歴データベース３０６に存在しないこともある。この場合、ステップＳ１０２において、制御履歴データベース３０６は、予め定められた制御の優先度ＰＲを決定部３０４に返す。予め定められた制御の優先度ＰＲは、「中（Ｍ）」とすることができる。決定部３０４は、制御履歴データベース３０６から受け取った最新の制御の優先度ＰＲを用いて、解析部３０２が第２指示メッセージ４５０を構文解析する順序を決定する。このような処理により、解析部３０２は、制御履歴データベース３０６に制御の優先度ＰＲが存在しない場合でも、予め定められた制御の優先度ＰＲにしたがって構文解析を実行できる。
【００６４】
ステップＳ１０３において、解析部３０２は、決定部３０４から受け渡された第２指示メッセージ４５０を構文解析する。解析部３０２は、１つの構文解析が終了した時点で、制御の優先度ＰＲが最も高い第２指示メッセージ４５０を構文解析する。一例として、第１キュー３０４Ａには第２指示メッセージ４５０が存在せず、第２キュー３０４Ｂに複数の第２指示メッセージ４５０が存在する場合を考える。この場合、解析部３０２は、第２キュー３０４Ｂの複数の第２指示メッセージ４５０を逐次、構文解析する。この場合、第２キュー３０４Ｂに格納された第２指示メッセージ４５０の処理中に、第１キュー３０４Ａに第２指示メッセージ４５０が格納されたとする。すると、解析部３０２は、処理中の第２指示メッセージ４５０の構文解析が終了した後は、第１キュー３０４Ａに格納された第２指示メッセージ４５０を構文解析する。
【００６５】
解析部３０２は、構文解析により、第２指示メッセージ４５０の第２制御情報４５３に含まれる制御内容ＣＣ及び制御の優先度ＰＲを取得する。構文解析により得られた制御内容ＣＣ及び制御の優先度ＰＲを、以下においては適宜解析結果４５４と称する。構文解析後、解析部３０２は、解析結果４５４を制御部３０３に受け渡す。また、解析部３０２は、解析結果４５４及び管理番号４５２を監視部３０５に受け渡す。
【００６６】
ステップＳ１０４において、制御部３０３は、解析結果４５４を用いて、制御対象の機器を制御するための制御メッセージ２１１を生成し、制御対象の機器に送信する。このとき、制御部３０３は、解析結果４５４の制御内容ＣＣを、制御対象の機器が読み取ることができ、かつ処理できる書式に変換して、制御メッセージ２１１を生成する。制御対象の機器は、図１に示される家電機器１０４、住宅設備１０５及びセンサ１０６である。
【００６７】
ステップＳ１０５において、監視部３０５は、ステップＳ１０１で受信部３０１から取得した第２送信元情報４５１と、ステップＳ１０３で解析部３０２から取得した解析結果４５４とを関連付けて、制御履歴データベース３０６に書き込み、記憶させる。解析結果４５４は第２制御情報４５３に含まれる制御内容ＣＣ及び制御の優先度ＰＲなので、監視部３０５は、制御履歴データベース３０６の第２制御情報４５３の制御内容ＣＣ及び制御の優先度ＰＲに、解析結果４５４を書き込む。このとき、監視部３０５は、ステップＳ１０１で受信部３０１から取得した管理番号４５２と、ステップＳ１０３で解析部３０２から取得した管理番号４５２とを用いる。具体的には、監視部３０５は、管理番号４５２が同一の第２送信元情報４５１及び解析結果４５４を関連付ける。制御履歴データベース３０６に書き込まれた第２送信元情報４５１及び解析結果４５４は、決定部３０４が制御履歴データベース３０６から制御の優先度ＰＲを検索するときの対象となる。次に、決定部３０４、解析部３０２及び監視部３０５の処理を説明する。
【００６８】
図１０は、実施の形態１に係る決定部の処理の一例を示すフローチャートである。図１０のフローチャートの処理は、ステップＳ１０２の処理に相当する。前述したステップＳ１０１において、図４に示される受信部３０１が第２指示メッセージ４５０、第２送信元情報４５１及び管理番号４５２を決定部３０４に受け渡したら、ステップＳ２０１において、決定部３０４は、第２指示メッセージ４５０及び第２送信元情報４５１を取得する。次に、ステップＳ２０２において、決定部３０４は、第２送信元情報４５１を検索キーとして、図４及び図７に示される制御履歴データベース３０６を検索し、第２送信元情報４５１に対応する制御の優先度ＰＲを取得する。
【００６９】
この場合、決定部３０４は、検索キーとした第２送信元情報４５１に関連する過去の第２制御情報４５３、すなわち制御の優先度ＰＲ及び制御内容ＣＣのリストを、制御履歴データベース３０６から取得する。前述したリストは、制御内容ＣＣを含んでいなくてもよい。決定部３０４は、前述したリストのうち、最新の制御の優先度ＰＲを取得する。
【００７０】
ステップＳ２０３において、決定部３０４は、ステップＳ２０２で取得した、最新の制御の優先度ＰＲが「高」である場合（ステップＳ２０３，Ｙｅｓ）、ステップＳ２０４に進む。ステップＳ２０４において、決定部３０４は、ステップＳ２０１で取得した第２指示メッセージ４５０を図４に示される第１キュー３０４Ａに格納する。
【００７１】
ステップＳ２０３において、決定部３０４は、ステップＳ２０２で取得した、最新の制御の優先度ＰＲが「高」でない場合（ステップＳ２０３，Ｎｏ）、ステップＳ２０５に進む。ステップＳ２０５において、決定部３０４は、ステップＳ２０２で取得した、最新の制御の優先度ＰＲが「中」である場合（ステップＳ２０５，Ｙｅｓ）、ステップＳ２０６に進む。ステップＳ２０６において、決定部３０４は、ステップＳ２０１で取得した第２指示メッセージ４５０を図４に示される第２キュー３０４Ｂに格納する。
【００７２】
ステップＳ２０５において、決定部３０４は、ステップＳ２０２で取得した、最新の制御の優先度ＰＲが「中」でない場合（ステップＳ２０５，Ｎｏ）、ステップＳ２０７に進む。ステップＳ２０７において、決定部３０４は、ステップＳ２０１で取得した第２指示メッセージ４５０を図４に示される第３キュー３０４Ｃに格納する。このようにして、決定部３０４は、第２指示メッセージ４５０が解析部３０２に構文解析される順番を決定する。
【００７３】
図１１は、実施の形態１に係る解析部が構文解析を実行する際の処理の一例を示すフローチャートである。図１２は、ＸＭＬ文書の一例を示す図である。図１３は、図１２に示されるＸＭＬ文書をツリー構造のデータに変換した一例を示す図である。実施の形態１において、解析部３０２は、構文解析を実行するにあたってＤＯＭ（Document  Object  Model）ツリーを用いて、ＸＭＬで作成された第２指示メッセージ４５０を構文解析する。実施の形態１において、第１指示メッセージ２１０及び第２指示メッセージ４５０は少なくとも一部がＸＭＬ文書で作成されているため、ＸＭＬ文書で作成されている部分はテキスト形式で記述されている。
【００７４】
ステップＳ４０１において、解析部３０２は、第２指示メッセージ４５０、より具体的には第２送信元情報４５１のＤＯＭツリーを作成する。図１２に示されるＸＭＬ文書がＤＯＭツリー化されると、図１３に示されるように、最初に出現する要素ａをルートとして、属性ｓ＝“ｙ”、要素ｂ，ｃ，ｄ，ｅ，ｆ及び文字列“ｇｏ”，“ｔｏ”，“ｘｘｙ”がツリー構造で表現される。第２指示メッセージ４５０がＤＯＭツリー化されることで、第２指示メッセージ４５０を構成する字句の並びが得られる。実施の形態１において、図５に示される第１指示メッセージ２１０は、ＨＴＴＰボディＤがＸＭＬ文書で作成されている。ＨＴＴＰボディＤは、テキスト形式で記述されている。また、実施の形態１において、図６に示される第１指示メッセージ２１０は、第２制御情報４５３がＸＭＬ文書で作成されているため、この部分はテキスト形式で記述されている。
【００７５】
ステップＳ４０２において、解析部３０２は、ＸＭＬの仕様に基づいて第２指示メッセージ４５０を構成する字句の並びの意味を解釈する。ステップＳ４０３において、解析部３０２は、解釈した第２指示メッセージ４５０の意味を、制御メッセージ２１１として制御部３０３に引き渡す。制御部３０３は、引き渡された制御メッセージ２１１を家電機器１０４、住宅設備１０５及びセンサ１０６の少なくとも１つに送信することにより、これらを制御する。実施の形態１において、第２指示メッセージ４５０を構成する字句の並びの意味を解釈するのは解析部３０２であるが、制御部３０３が前述を実行してもよい。
【００７６】
実施の形態１において、解析部３０２はＤＯＭツリーを用いて構文解析を実行するが、構文解析の方法はこれに限定されない。解析部３０２は、ＤＯＭツリー以外でも、演算子順位法、トップダウン構文解析法及びボトムアップ構文解析法その他の方法を用いて構文解析を実行してもよい。ＸＭＬ文書は、論理的にはツリー構造であるため、第１指示メッセージ２１０及び第２指示メッセージ４５０がＸＭＬ文書で作成されている場合、解析部３０２は、ＤＯＭツリーを用いることによって確実に構文解析することができる。
【００７７】
実施の形態１において、解析部３０２は、第２指示メッセージ４５０のすべてを構文解析してもよいが、第２指示メッセージ４５０の少なくとも一部、具体的には自コントローラ１００が処理することのできない形式で記述されている部分を構文解析すればよい。実施の形態１において、第２指示メッセージ４５０のうち、自コントローラ１００が処理することのできない形式で記述されている部分は第２制御情報４５３である。したがって、解析部３０２は、第２指示メッセージ４５０のうち、少なくとも第２制御情報４５３を構文解析すればよい。
【００７８】
図１４は、実施の形態１に係る監視部の処理の一例を示すフローチャートである。図１４のフローチャートは、決定部３０４が、第２送信元情報４５１及び管理番号４５２を監視部３０５に受け渡したときに監視部３０５が実行する処理を示している。ステップＳ３０１において、監視部３０５は、決定部３０４から第２送信元情報４５１及び管理番号４５２を取得すると、ステップＳ３０２において、図８に示される管理リスト７５０に書き込み、記憶させる。
【００７９】
図１５は、実施の形態１に係る監視部の処理の一例を示すフローチャートである。図１５のフローチャートは、解析部３０２が、解析結果４５４及び管理番号４５２を監視部３０５に受け渡したときに監視部３０５が実行する処理を示している。ステップＳ５０１において、監視部３０５は、解析部３０２から解析結果４５４及び管理番号４５２を取得すると、ステップＳ５０２において、取得した管理番号４５２を検索キーとして、図８に示される管理リスト７５０を検索する。そして、監視部３０５は、取得した管理番号４５２に対応する第２送信元情報４５１を取得する。
【００８０】
ステップＳ５０３において、監視部３０５は、ステップＳ５０１で取得した解析結果４５４と、ステップＳ５０２で取得した第２送信元情報４５１とを関連付けて、制御履歴データベース３０６に書き込み、記憶させる。ステップＳ５０４において、監視部３０５は、管理リスト７５０から、ステップＳ５０１で取得した管理番号４５２と、これに対応する第２送信元情報４５１とを削除する。
【００８１】
実施の形態１において、制御履歴データベース３０６は、初期状態において情報が記述されていなくてもよい。この場合、自コントローラ１００が他コントローラ１０１からの第１指示メッセージ２１０を受け付けて処理をすると、制御履歴データベース３０６には、時刻ＤＴと、送信元のアドレスＡＤｄと、アクセス先のアドレスＡＣＵと、サイズＳＺと、制御の優先度ＰＲと、制御内容ＣＣとが関連付けられて記述される。自コントローラ１００が他コントローラ１０１からの第１指示メッセージ２１０を受け付けて処理する毎に、制御履歴データベース３０６の情報が増加する。
【００８２】
また、制御履歴データベース３０６は、初期状態において、送信元のアドレスＡＤｄ、アクセス先のアドレスＡＣＵ、サイズＳＺ、制御の優先度ＰＲ及び制御内容ＣＣに関して、予め定められた値が記述されていてもよい。この場合、自コントローラ１００が他コントローラ１０１からの第１指示メッセージ２１０を受け付けて処理をすると、制御履歴データベース３０６の内容が書き換えられることがある。
【００８３】
自コントローラ１００が他コントローラ１０１からの第１指示メッセージ２１０を処理する回数が増加するにしたがって、制御履歴データベース３０６に蓄積される情報も増加する。すると、制御履歴データベース３０６には、時刻ＤＴ、送信元のアドレスＡＤｄ、アクセス先のアドレスＡＣＵ、サイズＳＺ、制御の優先度ＰＲ及び制御内容ＣＣが同一の組合せが複数蓄積されることがある。この場合、自コントローラ１００は、同一の組合せについては、最新のものを除いて消去してもよい。このようにすれば、自コントローラ１００は、限られた記憶装置１００Ｍを有効に利用することができる。
【００８４】
実施の形態１において、機器管理システム１及び自コントローラ１００は、構文解析を実行する前に取得できる送信元の情報、過去の制御内容ＣＣ及び制御の優先度ＰＲを関連付けて、制御履歴データベース３０６に記憶させる。そして、機器管理システム１及び自コントローラ１００は、他コントローラ１０１から受信した指令である第１指示メッセージ２１０の制御の優先度ＰＲを、構文解析を実行する前に決定する。機器管理システム１及び自コントローラ１００は、決定した制御の優先度ＰＲにしたがって構文解析を実行し、構文解析の結果を用いて機器を制御する。このため、機器は、第１指示メッセージ２１０の制御の優先度ＰＲにしたがって動作する。
【００８５】
このように、機器管理システム１及び自コントローラ１００は、構文解析を実行する前に制御の優先度ＰＲを決定し、決定した制御の優先度ＰＲに基づいて複数の機器を制御できる。このため、機器管理システム１及び自コントローラ１００は、単数又は複数の他コントローラ１０１から複数の第１指示メッセージ２１０が自コントローラ１００に送信された場合であっても、制御の優先度ＰＲが高い順に機器を制御できる。結果として、機器管理システム１及び自コントローラ１００は、複数の第１指示メッセージ２１０を集中して受信した場合でも、構文解析の輻輳を抑制し、優先度が高い第１指示メッセージ２１０の処理の遅延を抑制できる。
【００８６】
機器を制御するための制御装置である自コントローラ１００は、ＣＰＵを始めとしたハードウェア資源が限られる場合が多い。実施の形態１において、自コントローラ１００は、構文解析の前に把握できる情報から制御の優先度ＰＲを決定し、決定した制御の優先度ＰＲに基づいて複数の機器を制御する。このため、ハードウェア資源が限られる制御装置であっても、機器を制御するための指令が集中した場合に、優先度の高い制御の遅延を抑制することができる。
【００８７】
実施の形態１で開示した各構成は、以下の実施の形態においても適宜適用することができる。
【００８８】
実施の形態２．
図１６は、実施の形態２に係る機器管理システム及び自コントローラを示す図である。図１６は、自コントローラ１００ａのハードウェア構成例を示している。図１７は、実施の形態２に係る自コントローラの制御ブロック図である。図１８は、実施の形態２に係る優先度設定データベースの構造の一例を示す図である。実施の形態２において、機器管理システム１ａの自コントローラ１００ａは、制御内容ＣＣと制御の優先度ＰＲとの関係が記述された第２のデータベースである優先度設定データベース８０１を有する点が実施の形態１とは異なる。自コントローラ１００ａの他の構造は、実施の形態１と同様である。
【００８９】
図１６に示されるように、優先度設定データベース８０１は、自コントローラ１００ａの記憶装置１００Ｍに記憶される。図１８に示されるように優先度設定データベース８０１は、条件番号ＮＪと、送信元のアドレスＡＤｄと、制御内容ＣＣと、指定優先度ＰＲＣとが関連付けられて記述される。条件番号ＮＪは、条件を特定する番号である。送信元のアドレスＡＤｄ又は制御内容ＣＣは実施の形態１と同様である。指定優先度ＰＲＣは、送信元のアドレスＡＤｄと制御内容ＣＣとが合致した場合の制御の優先度を指定するものである。指定優先度ＰＲＣは、送信元のアドレスＡＤｄと制御内容ＣＣとの組合せに応じて予め定められて、優先度設定データベース８０１に記述される。実施の形態２において、送信元のアドレスＡＤｄの代わりに又は送信元のアドレスＡＤｄに加えて、送信元の種類を示す送信元種別が用いられてもよい。
【００９０】
実施の形態２において、指定優先度ＰＲＣは、制御内容ＣＣの重要度に応じて決定されてもよい。一例として、建物１３０のセキュリティシステムの制御のように、防犯に関する制御は指定優先度ＰＲＣが高く設定される。また、建物内１３０Ｉに設けられた家電機器１０４、住宅設備１０５及びセンサ１０６の制御の優先度ＰＲは、機器を制御する制御プログラムのアップデートにともなって変更されることがある。この場合、監視部３０５は、図１６に示されるＬＡＮ１２０及びホームルータ１０２を介して、図１に示される外部ネットワーク１０３に接続されたサーバ１１０にアクセスする。実施の形態１で説明したように、サーバ１１０は、家電機器１０４、住宅設備１０５又はセンサ１０６の製造元のものである。監視部３０５は、サーバ１１０から家電機器１０４、住宅設備１０５又はセンサ１０６の制御プログラムの最新版を取得し、その中に記述されている制御の優先度ＰＲを、指定優先度ＰＲＣとする。
【００９１】
指定優先度ＰＲＣは、建物１３０の住人又は建物内１３０Ｉで仕事をする者が設定してもよい。この場合、建物１３０の住人又は建物内１３０Ｉで仕事をする者は、特定の機器を特定の制御で動作させる場合を優先させたい場合、その条件の指定優先度ＰＲＣを「高（Ｈ）」に設定する。また、建物１３０の住人又は建物内１３０Ｉで仕事をする者は、特定の機器を特定の制御で動作させる場合が他と比較して後回しでもよい場合、その条件の指定優先度ＰＲＣを「低（Ｌ）」に設定する。
【００９２】
自コントローラ１００ａの監視部３０５は、送信元の情報である第２送信元情報４５１及び構文解析によって得られた制御内容ＣＣを検索キーとして、図１８に示される優先度設定データベース８０１から制御の優先度である指定優先度ＰＲＣを検索する。そして、監視部３０５は、解析部３０２が第２指示メッセージ４５０を構文解析することにより得られた制御内容ＣＣと、優先度設定データベース８０１から検索された指定優先度ＰＲＣと、第２送信元情報４５１とを関連付けて、制御履歴データベース３０６に書き込んで記憶させる。この場合、監視部３０５は、指定優先度ＰＲＣと第２指示メッセージ４５０の構文解析により得られた制御の優先度ＰＲとが異なる場合に、指定優先度ＰＲＣを制御履歴データベース３０６に書き込んでもよい。
【００９３】
図１９は、実施の形態２に係る監視部の処理の一例を示すフローチャートである。図１９のフローチャートは、解析部３０２が、解析結果４５４及び管理番号４５２を監視部３０５に受け渡したときに監視部３０５が実行する処理を示している。ステップＳ６０１及びステップＳ６０２は、図１５のフローチャートのステップＳ５０１及びステップＳ５０２と同様なので説明を省略する。
【００９４】
ステップＳ６０３は、監視部３０５が解析結果４５４を制御履歴データベース３０６に書き込む前の処理である。ステップＳ６０３において、監視部３０５は、ステップＳ６０２で取得した第２送信元情報４５１、実施の形態２においては送信元のアドレスＡＤｄ、及びステップＳ６０１で取得した解析結果４５４の制御内容ＣＣを検索キーとして、優先度設定データベース８０１から指定優先度ＰＲＣを検索する。
【００９５】
ステップＳ６０４において、監視部３０５は、取得した送信元のアドレスＡＤｄ及び制御内容ＣＣと同一の条件が優先度設定データベース８０１に存在する場合、ステップＳ６０１で取得した解析結果４５４の制御の優先度ＰＲを、前述した同一の条件に対応する優先度設定データベース８０１の指定優先度ＰＲＣに書き換える。この場合、監視部３０５は、ステップＳ６０１で取得した解析結果４５４の制御の優先度ＰＲと、優先度設定データベース８０１から検索された指定優先度ＰＲＣとが異なる場合に、ステップＳ６０１で取得した解析結果４５４の制御の優先度ＰＲを指定優先度ＰＲＣに書き換えてもよい。
【００９６】
ステップＳ６０５において、監視部３０５は、ステップＳ６０１で取得した解析結果４５４の制御内容ＣＣと、ステップＳ６０３で検索した指定優先度ＰＲＣと、ステップＳ６０２で取得した第２送信元情報４５１とを関連付けて、制御履歴データベース３０６に書き込み、記憶させる。ステップＳ６０６は、図１５のフローチャートのステップＳ５０４と同様なので説明を省略する。このような処理により、監視部３０５は、第２指示メッセージ４５０の構文解析により得られた制御内容ＣＣと、優先度設定データベース８０１から検索された指定優先度ＰＲＣと、第２送信元情報４５１とを関連付けて、制御履歴データベース３０６に書き込むことができる。
【００９７】
他コントローラ１０１は、建物内１３０Ｉのセキュリティ及び警備モードを制御するものであったり、家電機器１０４又は住宅設備１０５のリモートコントローラとして動作するものであったりすることがある。このような他コントローラ１０１から機器を制御する要求があった場合、ユーザの快適性を損なわないために一定以上の応答速度が必要になることがある。自コントローラ１００ａは、特定の送信元又は制御内容について優先度設定データベース８０１の指定優先度ＰＲＣを「高」とすることで、特定の送信元の制御又は特定の制御内容に関して、制御履歴データベース３０６に書き込まれる制御の優先度ＰＲを高くすることができる。その結果、自コントローラ１００ａは、実施の形態１における作用及び効果に加え、ユーザの利便性の低下を抑制できるという利点が得られる。
【００９８】
実施の形態３．
実施の形態１及び実施の形態２で説明された第２送信元情報４５１に含まれる送信元のアドレスＡＤｄ、アクセス先のアドレスＡＣＵ及びサイズＳＺが同一であっても、第２制御情報４５３に含まれる制御の優先度ＰＲ及び制御内容ＣＣは異なる場合がある。実施の形態３は、制御の優先度ＰＲが出現した回数に関する情報を用いて、複数の異なる制御の優先度ＰＲの中から１つの制御の優先度ＰＲを選択し、選択された制御の優先度ＰＲを用いて、第１指示メッセージ２１０を変換する順序を決定する。
【００９９】
図２０は、実施の形態３に係る制御履歴データベースの構造を示す図である。実施の形態３の機器管理システム及び自コントローラは、図３に示される、実施形態１の機器管理システム１及び自コントローラ１００である。自コントローラ１００の記憶装置１００Ｍは、図２０に示される制御履歴データベース３０６を記憶している。
【０１００】
図２０に示される制御履歴データベース３０６は、第２送信元情報４５１に含まれる送信元のアドレスＡＤｄ、アクセス先のアドレスＡＣＵ及びサイズＳＺが同一で、第２制御情報４５３に含まれる制御の優先度ＰＲ及び制御内容ＣＣが異なる組合せを含んでいる。具体的には、組合せＣＢ１及び組合せＣＢ２である。組合せＣＢ１は、制御の優先度ＰＲが高（Ｈ）で、制御内容ＣＣが電子鍵０１の状態確認である。組合せＣＢ２は、制御の優先度ＰＲが中（Ｍ）で、制御内容ＣＣが電子鍵０１のロック解除である。次に、自コントローラ１００が、実施の形態３の制御を実行する例を説明する。
【０１０１】
図２１は、実施の形態３に係る決定部の処理の一例を示すフローチャートである。図２１のフローチャートの処理は、図９に示されるステップＳ１０２の処理に相当する。図９のステップＳ１０１において、図４に示される受信部３０１が第２指示メッセージ４５０、第２送信元情報４５１及び管理番号４５２を決定部３０４に受け渡したら、ステップＳ７０１において、決定部３０４は、第２指示メッセージ４５０及び第２送信元情報４５１を取得する。次に、ステップＳ７０２において、決定部３０４は、第２送信元情報４５１を検索キーとして、図２０に示される制御履歴データベース３０６を検索し、第２送信元情報４５１に対応する制御の優先度ＰＲを取得する。
【０１０２】
この場合、決定部３０４は、検索キーとした第２送信元情報４５１に関連する過去の第２制御情報４５３、すなわち制御の優先度ＰＲ及び制御内容ＣＣのリストを、制御履歴データベース３０６から取得する。前述したリストは、制御内容ＣＣを含んでいなくてもよい。決定部３０４は、前述したリストのうち、すべての制御の優先度ＰＲを取得する。
【０１０３】
ステップＳ７０３に進み、決定部３０４は、ステップＳ７０２で異なる複数の制御の優先度ＰＲを検索し、これらを取得した場合（ステップＳ７０３，Ｙｅｓ）、ステップＳ７０４の処理を実行する。ステップＳ７０４において、決定部３０４は、それぞれの制御の優先度ＰＲが出現した回数に基づいて、制御の優先度ＰＲを選択する。具体的には、決定部３０４は、それぞれの制御の優先度ＰＲが出現した回数が多い方の制御の優先度ＰＲを選択する。３以上の異なる制御の優先度ＰＲが検索された場合、決定部３０４は、それぞれの制御の優先度ＰＲが出現した回数が最も多い制御の優先度ＰＲを選択することができる。この点は、以下においても同様である。
【０１０４】
第２送信元情報４５１を検索キーとして図２０に示される制御履歴データベース３０６が検索されて、検索キーが共通する組合せＣＢ１及び組合せＣＢ２からそれぞれ制御の優先度ＰＲが取得されたとする。組合せＣＢ１の制御の優先度ＰＲは高（Ｈ）、組合せＣＢ２の制御の優先度ＰＲは中（Ｍ）である。組合せＣＢ１の制御の優先度ＰＲが出現した回数が８回、組合せＣＢ２の制御の優先度ＰＲが出現した回数が２回であった場合、決定部３０４は、組合せＣＢ１の制御の優先度ＰＲ、すなわち高（Ｈ）を選択して、優先制御に用いる。
【０１０５】
決定部３０４は、ステップＳ７０５において、ステップＳ７０４で選択した制御の優先度ＰＲが「高」である場合（ステップＳ７０５，Ｙｅｓ）、ステップＳ７０６に進む。ステップＳ７０６において、決定部３０４は、ステップＳ７０１で取得した第２指示メッセージ４５０を図４に示される第１キュー３０４Ａに格納する。
【０１０６】
ステップＳ７０５において、決定部３０４は、ステップＳ７０４で選択した制御の優先度ＰＲが「高」でない場合（ステップＳ７０５，Ｎｏ）、ステップＳ７０７に進む。ステップＳ７０７において、決定部３０４は、ステップＳ７０４で選択した制御の優先度ＰＲが「中」である場合（ステップＳ７０７，Ｙｅｓ）、ステップＳ７０８に進む。ステップＳ７０８において、決定部３０４は、ステップＳ７０１で取得した第２指示メッセージ４５０を図４に示される第２キュー３０４Ｂに格納する。
【０１０７】
ステップＳ７０７において、決定部３０４は、ステップＳ７０４で選択した制御の優先度ＰＲが「中」でない場合（ステップＳ７０７，Ｎｏ）、ステップＳ７０９に進む。ステップＳ７０９において、決定部３０４は、ステップＳ７０１で取得した第２指示メッセージ４５０を図４に示される第３キュー３０４Ｃに格納する。このようにして、決定部３０４は、第２指示メッセージ４５０が解析部３０２に構文解析される順番を決定する。
【０１０８】
次にステップＳ７０３に戻って説明する。決定部３０４は、ステップＳ７０２で検索し、取得した制御の優先度ＰＲが複数の異なる優先度でない場合（ステップＳ７０３，Ｎｏ）、ステップＳ７０５に進み、以降の処理を実行する。ステップＳ７０２で単数の制御の優先度ＰＲが検索された場合、決定部３０４は、検索された制御の優先度ＰＲを用いてステップＳ７０５以降の処理を実行する。ステップＳ７０２で複数かつ同種の制御の優先度ＰＲが検索された場合、決定部３０４は、最新の制御の優先度ＰＲを用いてステップＳ７０５以降の処理を実行する。
【０１０９】
第１変形例．
図２２は、実施の形態３の第１変形例に係る制御履歴データベースの構造を示す図である。図２２に示される制御履歴データベース３０６ｂは、図２０に示される制御履歴データベース３０６に加えて、制御の優先度ＰＲの出現回数ＮＡを有する。出現回数ＮＡは、具体的には、第２送信元情報４５１の送信元のアドレスＡＤｄ、アクセス先のアドレスＡＣＵ及びサイズＳＺと、第２制御情報４５３の制御の優先度ＰＲ及び制御内容ＣＣとが同一である組合せが出現した回数である。
【０１１０】
前述したように、図４に示される自コントローラ１００の監視部３０５は、第２送信元情報４５１と、解析部３０２から取得した結果である第２制御情報４５３の制御内容ＣＣ及び制御の優先度ＰＲとを関連付けて、制御履歴データベース３０６ｂに書き込んで記憶させる。このとき、監視部３０５は、制御履歴データベース３０６ｂ中に、これから書き込む情報と同一の情報がある場合、同一の情報の出現回数ＮＡに１を加算する。これから書き込む情報と同一の情報がある場合とは、監視部３０５がこれから書き込む情報と、制御履歴データベース３０６ｂに既に存在する情報との間で、送信元のアドレスＡＤｄ、アクセス先のアドレスＡＣＵ、サイズＳＺ、第２制御情報４５３の制御の優先度ＰＲ及び制御内容ＣＣの組合せが同一であることをいう。
【０１１１】
監視部３０５は、制御履歴データベース３０６ｂに、これから書き込む情報と同一の情報が存在しない場合、送信元のアドレスＡＤｄ、アクセス先のアドレスＡＣＵ、サイズＳＺ、第２制御情報４５３の制御の優先度ＰＲ及び制御内容ＣＣの組合せを新たに書き込む。そして、監視部３０５は、制御履歴データベース３０６ｂに書き込んだ新たな情報の出現回数ＮＡを１にする。次に、監視部３０５が、第２送信元情報４５１と第２制御情報４５３とを関連付けて、制御履歴データベース３０６ｂに書き込んで記憶させる際の処理を説明する。
【０１１２】
図２３は、実施の形態３の第１変形例に係る監視部の処理の一例を示すフローチャートである。図２３のフローチャートは、図１５に示されるステップＳ５０３の処理である。監視部３０５は、解析結果である第２制御情報４５３と第２送信元情報４５１とを関連付けて、制御履歴データベース３０６ｂに書き込む場合、ステップＳ５０３１において、制御履歴データベース３０６ｂに、これから書き込む情報と同一の情報が存在するか否かを判定する。具体的には、監視部３０５は、これから書き込む情報である送信元のアドレスＡＤｄ、アクセス先のアドレスＡＣＵ、サイズＳＺ、第２制御情報４５３の制御の優先度ＰＲ及び制御内容ＣＣの組合せをキーとして制御履歴データベース３０６ｂを検索する。
【０１１３】
検索の結果、制御履歴データベース３０６ｂ中にこれから書き込む情報と同一の情報が存在する場合（ステップＳ５０３１，Ｙｅｓ）、監視部３０５は、ステップＳ５０３２の処理を実行する。ステップＳ５０３２において、監視部３０５は、これから書き込む情報と同一の情報、すなわち制御履歴データベース３０６ｂに書き込まれた送信元のアドレスＡＤｄ、アクセス先のアドレスＡＣＵ、サイズＳＺ、第２制御情報４５３の制御の優先度ＰＲ及び制御内容ＣＣの組合せに対応した出現回数ＮＡに、１を加算する（ＮＡ←ＮＡ＋１）。その後、監視部３０５は、図１５のステップＳ５０４の処理を実行する。
【０１１４】
検索の結果、制御履歴データベース３０６ｂ中にこれから書き込む情報と同一の情報が存在しない場合（ステップＳ５０３１，Ｎｏ）、監視部３０５は、ステップＳ５０３３の処理を実行する。ステップＳ５０３３において、監視部３０５は、これから書き込む情報、すなわち送信元のアドレスＡＤｄ、アクセス先のアドレスＡＣＵ、サイズＳＺ、第２制御情報４５３の制御の優先度ＰＲ及び制御内容ＣＣの組合せを制御履歴データベース３０６ｂに書き込む。そして、監視部３０５は、書き込んだ情報に対応する、制御履歴データベース３０６ｂ中の出現回数ＮＡを１とする（ＮＡ←１）。その後、監視部３０５は、図１５のステップＳ５０４の処理を実行する。
【０１１５】
決定部３０４は、制御履歴データベース３０６ｂを用いて優先制御を実行する場合、図２１に示されるステップＳ７０４において、それぞれの制御の優先度ＰＲに対応する出現回数ＮＡを制御履歴データベース３０６ｂから取得する。図２４の制御履歴データベース３０６ｂを例とすると、決定部３０４は、組合せＣＢ１の制御の優先度ＰＲに対応する出現回数ＮＡ＝８と、組合せＣＢ２の制御の優先度ＰＲに対応する出現回数ＮＡ＝２とを取得する。そして、決定部３０４は、取得した出現回数ＮＡが大きい方の制御の優先度ＰＲを選択する。
【０１１６】
第２変形例．
第２変形例は、実施の形態３と同様に、制御の優先度ＰＲが出現した回数に関する情報を用いて、複数の異なる制御の優先度ＰＲの中から１つの制御の優先度ＰＲを選択し、選択された制御の優先度ＰＲを用いて、第１指示メッセージ２１０を変換する順序を決定する。第２変形例は、実施の形態２に係る機器管理システム１ａ及び自コントローラ１００ａが有する優先度設定データベース８０１を用いる点が実施の形態３とは異なる。すなわち、第２変形例は、実施の形態３２と実施の形態２とを組み合わせたものである。
【０１１７】
第２変形例の機器管理システム及び自コントローラは、図１６に示される、実施形態２の機器管理システム１ａ及び自コントローラ１００ａである。自コントローラ１００ａが図２０に示される制御履歴データベース３０６を用いる場合、自コントローラ１００ａの処理は、監視部３０５が優先度設定データベース８０１を用いて制御履歴データベース３０６に情報を書き込む処理以外は、実施の形態３と同様である。自コントローラ１００ａの監視部３０５が、優先度設定データベース８０１を用いて制御履歴データベース３０６に情報を書き込む処理は、実施の形態２と同様である。
【０１１８】
自コントローラ１００ａが図２３に示される制御履歴データベース３０６ｂを用いる場合、自コントローラ１００ａの処理は、監視部３０５が優先度設定データベース８０１を用いて制御履歴データベース３０６ｂに情報を書き込む処理が、実施の形態３及び実施の形態３とは異なる。次に、第２変形例において、監視部３０５が、優先度設定データベース８０１を用いて制御履歴データベース３０６ｂに情報を書き込む処理を説明する。この処理は、第１変形例と共通する部分を有するので、図２３のフローチャートを用いて説明する。
【０１１９】
第２変形例において、図１９に示されるステップＳ６０５の処理は、図２３のフローチャートで示される。図１７に示される自コントローラ１００ａの監視部３０５は、図１９のステップＳ６０５の処理を実行する場合、ステップＳ５０３１において、制御履歴データベース３０６ｂ中に、これから書き込む情報と同一の情報があるか否かを判定する。監視部３０５がこれから書き込む情報は、図１９のステップＳ６０１で取得した解析結果４５４の制御内容ＣＣ、ステップＳ６０３で検索した指定優先度ＰＲＣ及びステップＳ６０２で取得した第２送信元情報４５１である。これらは、互いに関連付けられて制御履歴データベース３０６ｂに書き込まれる。
【０１２０】
ステップＳ５０３１において、監視部３０５は、これから書き込む情報である送信元のアドレスＡＤｄ、アクセス先のアドレスＡＣＵ、サイズＳＺ、指定優先度ＰＲＣ及び制御内容ＣＣの組合せをキーとして制御履歴データベース３０６ｂを検索する。
【０１２１】
検索の結果、制御履歴データベース３０６ｂ中にこれから書き込む情報と同一の情報が存在する場合（ステップＳ５０３１，Ｙｅｓ）、監視部３０５は、ステップＳ５０３２の処理を実行する。ステップＳ５０３２において、監視部３０５は、これから書き込む情報と同一の情報、すなわち制御履歴データベース３０６ｂに書き込まれた送信元のアドレスＡＤｄ、アクセス先のアドレスＡＣＵ、サイズＳＺ、制御の優先度ＰＲ（指定優先度ＰＲＣ）及び制御内容ＣＣの組合せに対応した出現回数ＮＡに、１を加算する（ＮＡ←ＮＡ＋１）。その後、監視部３０５は、図１９のステップＳ６０６の処理を実行する。
【０１２２】
検索の結果、制御履歴データベース３０６ｂ中にこれから書き込む情報と同一の情報が存在しない場合（ステップＳ５０３１，Ｎｏ）、監視部３０５は、ステップＳ５０３３の処理を実行する。ステップＳ５０３３において、監視部３０５は、これから書き込む情報、すなわち送信元のアドレスＡＤｄ、アクセス先のアドレスＡＣＵ、サイズＳＺ、指定優先度ＰＲＣ及び制御内容ＣＣの組合せを制御履歴データベース３０６ｂに書き込む。制御履歴データベース３０６ｂに書き込まれた指定優先度ＰＲＣは、制御の優先度ＰＲとなる。そして、監視部３０５は、書き込んだ情報に対応する、制御履歴データベース３０６ｂ中の出現回数ＮＡを１とする（ＮＡ←１）。その後、監視部３０５は、図１９のステップＳ６０６の処理を実行する。
【０１２３】
決定部３０４は、第２変形例において制御履歴データベース３０６ｂを用いて優先制御を実行する場合、図２１に示されるステップＳ７０４において、それぞれの制御の優先度ＰＲに対応する出現回数ＮＡを制御履歴データベース３０６ｂから取得する。図２４の制御履歴データベース３０６ｂを例とすると、決定部３０４は、組合せＣＢ１の制御の優先度ＰＲに対応する出現回数ＮＡ＝８と、組合せＣＢ２の制御の優先度ＰＲに対応する出現回数ＮＡ＝２とを取得する。そして、決定部３０４は、取得した出現回数ＮＡが大きい方の制御の優先度ＰＲを選択する。
【０１２４】
実施の形態１及び実施の形態２は、最新の制御の優先度ＰＲを用いて第１指示メッセージ２１０を変換する順序を決定するため、過去に得られた制御の優先度ＰＲは第１指示メッセージ２１０を変換する順序の決定に用いられない。実施の形態３、第１変形例及び第２変形例は、過去に出現した制御の優先度ＰＲの回数に基づいて、第１指示メッセージ２１０を変換する順序が決定される。つまり、実施の形態３、第１変形例及び第２変形例では、過去に多く出現した制御の優先度ＰＲ、すなわちユーザの要求が多かった制御内容に対応した制御の優先度ＰＲを用いて、第１指示メッセージ２１０を変換する順序が決定される。このように、実施の形態３、第１変形例及び第２変形例は、過去に発生したユーザの要求の情報を利用することで、ユーザの要求の傾向を機器の制御に反映させることができる。その結果、実施の形態３、第１変形例及び第２変形例は、機器を制御するための指令が集中した場合に、優先度の高い制御の遅延を抑制しつつ、ユーザが要求する機器にユーザが要求する制御を実行させることができる確率を向上させることができる。
【０１２５】
実施の形態３、第１変形例及び第２変形例では、決定部３０４は、それぞれの制御の優先度ＰＲが出現した回数である出現回数に基づいて制御の優先度ＰＲを選択したが、出現回数そのものに基づかなくてもよい。出現回数以外でも、それぞれの制御の優先度ＰＲが出現した頻度である出現頻度、又はそれぞれの制御の優先度ＰＲが出現した確率である出現確率に基づいて、制御の優先度ＰＲが選択されてもよい。このように、実施の形態３、第１変形例及び第２変形例では、それぞれの制御の優先度ＰＲが出現した回数に関する情報に基づいて、制御の優先度ＰＲが選択されてもよい。
【０１２６】
制御の優先度ＰＲが出現した回数に関する情報は、決定部３０４が制御の優先度ＰＲを選択するタイミングを基準として、過去の所定期間に出現した制御の優先度ＰＲの情報が用いられる。前述した所定期間よりも前の情報は削除される。所定期間は、１日、１週間、１か月、３か月又は半年とすることができる。これらは例示であって、所定期間を限定するものではない。所定期間を季節毎とすれば、季節毎におけるユーザの要求を機器の制御に反映させることができる。
【０１２７】
以上の実施の形態に示した構成は、本発明の内容の一例を示すものであり、別の公知の技術と組み合わせることも可能であるし、本発明の要旨を逸脱しない範囲で、構成の一部を省略、変更することも可能である。
【０１２８】
前述した実施の形態１から実施の形態３においては、指令の少なくとも一部の形式を変換する処理は、構文解析を例としたが、これに限定されない。指令の少なくとも一部の形式を変換する処理の他の例は、異なる機器制御プロトコル間の変換処理を行う場合及びＥＣＨＯＮＥＴ  ＬｉｔｅのオブジェクトモデルをＺｉｇＢｅｅ（登録商標）のオブジェクトモデル又はＫＮＸのオブジェクトモデルに変換する場合が挙げられる。このような処理は、指令の形式の返還に解析が必要であるので処理負荷が高くなるので、自コントローラ１００，１００ａ，１００ｂが優先制御を実行することにより、解析の輻輳を抑制して優先度の高い指令、すなわちメッセージの処理の遅延を抑制できる。
【符号の説明】
【０１２９】
１，１ａ  機器管理システム、１００，１００ａ  自コントローラ、１００ＤＢ  データバス、１００Ｍ  記憶装置、１００Ｐ  処理装置、１００ＰＭ  主記憶装置、１００ＩＦ  入出力装置、１０１  他コントローラ、１０２  ホームルータ、１０３  外部ネットワーク、１０４  家電機器、１０５  住宅設備、１０６  センサ、１１０  サーバ、１２１  特小無線通信、１３０  建物、１３０Ｉ  内部（建物内）、２１０  第１指示メッセージ、２１１  制御メッセージ、２１２  第１応答メッセージ、２１３  第２応答メッセージ、２５１  第１送信元情報、２５３  第１制御情報、３０１  受信部、３０２  解析部、３０３  制御部、３０４  決定部、３０４Ａ  第１キュー、３０４Ｂ  第２キュー、３０４Ｃ  第３キュー、３０５  監視部、３０６  制御履歴データベース、３５４  ＯＳ機能部、３５５  指示メッセージ処理部、３５６  応答メッセージ処理部、３５８  制御用プログラム、４５０  第２指示メッセージ、４５１  第２送信元情報、４５２  管理番号、４５３  第２制御情報、４５４  解析結果、７５０  管理リスト、８０１  優先度設定データベース、ＣＣ  制御内容、ＰＲ  制御の優先度、ＰＲＣ  指定優先度。
【図１】
0006370277.tif 000002
【図２】
0006370277.tif 000003
【図３】
0006370277.tif 000004
【図４】
0006370277.tif 000005
【図５】
0006370277.tif 000006
【図６】
0006370277.tif 000007
【図７】
0006370277.tif 000008
【図８】
0006370277.tif 000009
【図９】
0006370277.tif 000010
【図１０】
0006370277.tif 000011
【図１１】
0006370277.tif 000012
【図１２】
0006370277.tif 000013
【図１３】
0006370277.tif 000014
【図１４】
0006370277.tif 000015
【図１５】
0006370277.tif 000016
【図１６】
0006370277.tif 000017
【図１７】
0006370277.tif 000018
【図１８】
0006370277.tif 000019
【図１９】
0006370277.tif 000020
【図２０】
0006370277.tif 000021
【図２１】
0006370277.tif 000022
【図２２】
0006370277.tif 000023
【図２３】
0006370277.tif 000024