(57)【特許請求の範囲】
【請求項１】
複数の制御装置の中から設定されるマスタに関する情報を含む制御装置情報と、各制御装置により制御される端末装置に関する制御情報とを保持する保持部と；
自装置がマスタであると前記制御装置情報が示す場合は、他の制御装置との間で前記制御装置情報と前記制御情報とを異なるタイミングで同期させる同期制御部と；
を具備したことを特徴とする制御装置。
【請求項２】
前記同期制御部は、自装置がマスタである旨を前記制御装置情報が示す場合は、他の制御装置が保持する制御装置情報と制御情報とを、自装置が保持する制御装置情報と制御情報とに同期させる
ことを特徴とする請求項１に記載の制御装置。
【請求項３】
前記同期制御部は、自装置がマスタである旨を前記制御装置情報が示す場合は、各制御装置との間で定期的に前記制御装置情報を同期させ、他の制御装置と前記制御装置情報を同期させることができない期間が所定の閾値を超えた場合は、当該他の制御装置が故障した旨を前記保持部が保持する制御装置情報に反映させる
ことを特徴とする請求項１または２に記載の制御装置。
【請求項４】
前記同期制御部は、他の制御装置がマスタである旨を前記制御装置情報が示す場合は、自装置が保持する制御装置情報をマスタが保持する制御装置情報と定期的に同期させ、当該マスタと前記制御装置情報を同期させることができない場合は、各制御装置に対してネットワークモニタを要求する
ことを特徴とする請求項１〜３のいずれか１つに記載の制御装置。
【請求項５】
前記ネットワークモニタの要求によって作成した制御装置情報に自装置がマスタである旨が含まれる場合は、他の制御装置が保持する制御情報を自装置の前記保持部が保持する制御情報に同期させる
ことを特徴とする請求項４に記載の制御装置。
【請求項６】
前記同期制御部は、ネットワークモニタの要求によって制御装置情報を作成してから所定の時間が経過した後で、他の制御装置が保持する制御情報を自装置の前記保持部が保持する制御情報に同期させる
ことを特徴とする請求項５に記載の制御装置。
【請求項７】
前記同期制御部は、自装置が前記複数の制御装置を含むネットワークに追加された場合は、当該ネットワークの各制御装置に対して、ネットワークモニタを要求する
ことを特徴とする請求項１〜６のいずれか１つに記載の制御装置。
【請求項８】
前記同期制御部は、自装置が新たなマスタである旨をネットワークモニタの要求によって作成した制御装置情報が示す場合は、自装置が保持する制御情報を、自装置が前記ネットワークに追加された際にマスタに設定されていた制御装置が保持する制御情報と同期させ、当該制御情報の同期後に、マスタの切り替えを行う
ことを特徴とする請求項７に記載の制御装置。
【請求項９】
端末装置を制御する複数の制御装置を有する制御システムであって、
前記制御装置は、
各制御装置の中から設定されるマスタに関する情報を含む制御装置情報と、前記端末装置に関する制御情報とを保持する保持部と；
自装置がマスタであると前記制御装置情報が示す場合は、他の制御装置との間で前記制御装置情報と前記制御情報とを異なるタイミングで同期させる同期制御部と；
を具備したことを特徴とする制御システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、制御装置および制御システムに関する。
【背景技術】
【０００２】
従来、複数の通信装置のうちマスタとして動作する通信装置が、スレーブとして動作する他の通信装置を管理するマスタスレーブ方式の通信手段が知られている。このようなマスタスレーブ方式の通信手段においては、マスタが故障した場合等に、スレーブのいずれかが、新たなマスタとなり、他のスレーブを管理する。
【０００３】
近年、制御装置が無線通信を介して照明機器を制御する照明制御システムが開発されており、制御装置の故障時に備えて、複数の制御装置に上述したマスタスレーブ方式の通信手段を適用する手法が考えられる。しかしながら、制御対象となる各照明機器の情報等、制御装置が保持する情報が多くなると、マスタとスレーブとが同期するための通信量が増大し、システム全体の接続信頼性や通信速度が低下する恐れがある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特表２００６−５１０１８１号公報
【特許文献２】特許３４２１０１７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明が解決しようとする課題は、マスタとスレーブとが同期する際の通信量を削減することができる制御装置および制御システムを提供することである。
【課題を解決するための手段】
【０００６】
実施形態の一例に係る制御装置は、保持部と、同期制御部とを有する。保持部は、端末装置を制御する制御装置の識別情報と、複数の制御装置のうちマスタに関する情報とを含む制御装置情報と、各制御装置により制御される端末装置に関する制御情報とを保持する。同期制御部は、自装置がマスタであると前記制御装置情報が示す場合は、他の制御装置との間で前記制御装置情報と前記制御情報とを異なるタイミングで同期させる。
【発明の効果】
【０００７】
実施形態の一例に係る制御装置および制御システムによれば、マスタとスレーブとが同期する際の通信量を削減することができる。
【図面の簡単な説明】
【０００８】
【図１】図１は、実施形態に係る制御装置が実行する処理の一例を示す図である。
【図２】図２は、実施形態に係る制御システムの機能構成の一例を説明するための図である。
【図３】図３は、実施形態に係る制御装置有する機能構成の一例を示す図である。
【図４】図４は、実施形態にかかるコントローラ情報リストに格納される情報の一例を説明する図である。
【図５】図５は、実施形態にかかる制御装置がマスタである際に実行する起動処理の一例を示すシーケンス図である。
【図６】図６は、実施形態にかかる制御装置がスレーブである際に実行する起動処理の一例を示すシーケンス図である。
【図７】図７は、実施形態にかかるマスタが故障した際に実行される同期処理の一例を示すシーケンス図である。
【図８】図８は、実施形態にかかるスレーブが故障した際に実行される同期処理の一例を示すシーケンス図である。
【図９】図９は、実施形態にかかるマスタが復旧した際に実行される同期処理の一例を示すシーケンス図である。
【図１０】図１０は、実施形態に係る制御装置が実行する同期処理の流れの一例を示すフローチャートである。
【発明を実施するための形態】
【０００９】
以下、図面を参照して、実施形態に係る制御装置および制御システムを説明する。実施形態において同一の機能を有する構成には同一の符号を付し、重複する説明は省略する。なお、以下の実施形態で説明する制御装置および制御システムは、一例を示すに過ぎず、実施形態を限定するものではない。例えば、以下の実施形態では、端末装置１０を制御する制御装置１００が実行する処理の一例について説明するが、かかる処理は、端末装置１０を制御する装置以外にも、任意の装置に適用することができる。なお、以下の各実施形態は、矛盾しない範囲内で適宜組みあわせてもよい。
【００１０】
以下の実施形態に係る制御装置１００ａは、複数の制御装置１００ａ〜１００ｃの中から設定されるマスタに関する情報を含むコントローラ情報リスト１０５と、各制御装置１００ａ〜１００ｃにより制御される端末装置１０に関する制御情報１０６とを保持する。そして、制御装置１００ａは、自装置がマスタであるとコントローラ情報リスト１０５が示す場合は、他の制御装置１００ｂ、１００ｃとの間でコントローラ情報リスト１０５と制御情報１０６とを異なるタイミングで同期させる。
【００１１】
また、以下の実施形態に係る制御装置１００ａは、自装置がマスタである旨をコントローラ情報リスト１０５が示す場合は、他の制御装置１００ｂ、１００ｃが保持するコントローラ情報リスト１０５と制御情報１０６とを、自装置が保持するコントローラ情報リスト１０５と制御情報１０６とに同期させる。
【００１２】
また、以下の実施形態に係る制御装置１００ａは、自装置がマスタである旨をコントローラ情報リスト１０５が示す場合は、各制御装置１００ｂ、１００ｃとの間で定期的にコントローラ情報リスト１０５を同期させ、他の制御装置１００ｂ、１００ｃとコントローラ情報リスト１０５を同期させることができない期間が所定の閾値を超えた場合は、他の制御装置１００ｂ、１００ｃが故障した旨を、自装置が保持するコントローラ情報リスト１０５に反映させる。
【００１３】
また、以下の実施形態に係る制御装置１００ａは、他の制御装置１００ｂがマスタである旨をコントローラ情報リスト１０５が示す場合は、自装置が保持するコントローラ情報リスト１０５をマスタが保持するコントローラ情報リスト１０５と定期的に同期させ、マスタとコントローラ情報リスト１０５を同期させることができない場合は、各制御装置１００に対してネットワークモニタを要求する。
【００１４】
また、以下の実施形態に係る制御装置１００ａは、ネットワークモニタの要求によって作成したコントローラ情報リスト１０５に自装置がマスタである旨が含まれる場合は、他の制御装置１００ｂ、１００ｃが保持する制御情報１０６を自装置が保持する制御情報１０６に同期させる。
【００１５】
また、以下の実施形態に係る制御装置１００ａは、ネットワークモニタの要求によってコントローラ情報リスト１０５を生成してから所定の時間が経過した後で、他の制御装置１００ｂ、１００ｃが保持する制御情報１０６を自装置が保持する制御情報１０６に同期させる。
【００１６】
また、以下の実施形態に係る制御装置１００ａは、自装置が複数の制御装置１００ｂ、１００ｃを含むネットワークに追加された場合は、ネットワークの各制御装置１００ｂ、１００ｃに対して、ネットワークモニタを要求する。
【００１７】
また、以下の実施形態に係る制御装置１００ａは、自装置が新たなマスタである旨をネットワークモニタの要求によって作成したコントローラ情報リスト１０５が示す場合は、自装置が保持する制御情報１０６を、自装置がネットワークに追加された際にマスタに設定されていた制御装置１００ｂが保持する制御情報１０６と同期させ、制御情報１０６の同期後に、マスタの切り替えを行う。
【００１８】
また、以下の実施形態に係る制御システム１は、端末装置１０を制御する複数の制御装置１００ａ〜１００ｃを有する。また、制御装置１００ａは、複数の制御装置１００ａ〜１００ｃの中から設定されるマスタに関する情報を含むコントローラ情報リスト１０５と、端末装置１０に関する制御情報１０６とを保持する。そして、制御装置１００ａは、自装置がマスタであるとコントローラ情報リスト１０５が示す場合は、他の制御装置１００ｂ、１００ｃとの間でコントローラ情報リスト１０５と制御情報１０６とを異なるタイミングで同期させる。
【００１９】
［実施形態］
（実施形態に係る制御システムの構成）
図１は、実施形態に係る制御装置が実行する処理の一例を示す図である。図１に示す例では、制御システム１は、照明機器１０ａ、１０ｂやセンサ１０ｃを制御する複数の制御装置１００ａ〜１００ｃ（以下、「制御装置１００」と記載する場合がある。）を有する。なお、制御システム１に設置される制御装置１００の数や、制御装置１００が制御する照明機器１０ａ、１０ｂやセンサ１０ｃの種別や数などは、任意に設定できる。
【００２０】
制御システム１において、照明機器１０ａ、１０ｂは、無線通信を介して制御可能な照明装置である。例えば、照明機器１０ａ、１０ｂは、無線通信を介して制御装置１００ｃから制御指示を受信すると、受信した制御指示に従って、点灯、消灯、照度の変更、照明する光の色彩の変更等を実行する。
【００２１】
センサ１０ｃは、所定の状態を検出可能な検出装置であり、例えば、人感センサである。例えば、センサ１０ｃは、赤外線等を用いて、所定のエリア内に人がいる旨を検出した場合は、検出結果を制御装置１００ｃに送信する。なお、以下の説明では、照明機器１０ａ、１０ｂ、およびセンサ１０ｃ等、制御装置１００の制御対象となる装置を端末装置１０と記載する場合がある。
【００２２】
制御装置１００は、無線ＬＡＮ（Local  Area  Network）等の所定の規格に沿った無線通信を介して、端末装置１０の制御を行う。例えば、制御装置１００は、図示を省略した操作端末等から照明装置１０ａの点灯指示を受けつけた場合は、無線通信を介して点灯指示を照明装置１０ａに送信し、照明装置１０ａを点灯させる。
【００２３】
また、制御装置１００ａは、各制御装置１００ａ〜１００ｃの間で同期させる情報である同期情報１０４ａを保持する。同期情報１０４ａには、各制御装置１００ａ〜１００ｃを識別する個別ＩＤ（identifier）や、どの制御装置１００がマスタであるかを示すマスタ情報等を含んだ制御装置情報としてのコントローラ情報リスト１０５ａと、制御装置１００により制御される端末装置１０の情報を含む制御情報１０６ａとが含まれる。例えば、制御装置１００ａは、各端末装置１０の設定や各種の制御内容、制御を実行する際のルール等を制御情報１０６ａとして保持する。
【００２４】
また、制御装置１００ｂも同様に、コントローラ情報リスト１０５ｂおよび制御情報１０６ｂを含む同期情報１０４ｂを保持しており、制御装置１００ｃも、コントローラ情報リスト１０５ｃおよび制御情報１０６ｃを含む同期情報１０４ｃを保持している。なお、以下の説明では、各同期情報１０４ａ〜１４０ｃを同期情報１０４と記載する場合があり、各コントローラ情報リスト１０５ａ〜１０５ｃをコントローラ情報リスト１０５と記載する場合があり、制御情報１０６ａ〜１０６ｃを制御情報１０６と記載する場合がある。
【００２５】
ここで、各制御装置１００ａ〜１００ｃは、有線通信手段若しくは無線通信手段を介して相互に通信可能な装置であり、フェールセーフの観点より、マスタスレーブ方式の制御を実行する。例えば、制御装置１００ａ〜１００ｃは、いずれか１台がマスタとして動作し、マスタが故障した際に、スレーブとして動作していた制御装置が新たなマスタとして動作する。
【００２６】
このようなマスタスレーブ方式の制御を実現する場合は、制御装置１００が保持する同期情報１０４を定期的に同期させる必要がある。しかしながら、同期情報１０４のデータサイズが大きい場合、各制御装置１００が保持する同期情報１０４を同期させるための通信量が増大し、制御システム１全体の接続信頼性や通信速度が低下する恐れがある。
【００２７】
そこで、制御装置１００は、同期情報１０４のうち、コントローラ情報リスト１０５と制御情報１０６とをそれぞれ異なるタイミングで同期させる同期処理を実行する。より具体的には、制御装置１００は、コントローラ情報リスト１０５を制御情報１０６とは異なるタイミングで定期的に同期させ、所定のタイミングで制御情報１０６を同期させる。
【００２８】
以下、図面を用いて説明する。なお、以下の説明では、制御装置１００ａがマスタとして動作し、制御装置１００ｂ、１００ｃがスレーブとして動作する際に同期情報１０４を同期させる同期処理の一例について説明する。例えば、スレーブである制御装置１００ｂは、所定の時間間隔でコントローラ情報リスト１０５ｂの同期をマスタである制御装置１００ａに要求する（ステップＳ１）。かかる場合、制御装置１００ａは、無線通信を介して、制御装置１００ｂにコントローラ情報リスト１０５ａの内容を応答として送信する（ステップＳ２）。この結果、制御装置１００ｂは、受信したコントローラ情報リスト１０５ａの内容に基づいて、自装置のコントローラ情報リスト１０５ｂを更新する（ステップＳ３）。
【００２９】
同様に、スレーブである制御装置１００ｃは、所定の時間間隔でコントローラ情報リスト１０５ｃの同期をマスタである制御装置１００ａに要求する（ステップＳ４）。かかる場合、制御装置１００ａは、無線通信を介して、制御装置１００ｃにコントローラ情報リスト１０５ａの内容を応答として送信する（ステップＳ５）。この結果、制御装置１００ｃは、受信したコントローラ情報リスト１０５ａの内容に基づいて、自装置のコントローラ情報リスト１０５ｃを更新する（ステップＳ６）。このように、通常の状態においては、制御装置１００は、同期情報１０４のうちコントローラ情報リスト１０５のみを同期させることで、通信量を削減する。
【００３０】
ここで、設定端末３０は、照明機器１０ａの設定照度や、センサ１０ｃの感度等、制御内容を変更する場合は、制御情報１０６の変更指示を、制御装置１００ｂに送信する（ステップＳ７）。なお、係る変更指示は、制御装置１００ｂではなく、他の制御装置１００ａ、１００ｃが受け付けてもよい。
【００３１】
かかる場合、制御装置１００ｂは、マスタである制御装置１００ａに対して、変更前の制御情報１０６ｂと変更後の制御情報１０６ｂとの差分等を含む変更通知コマンドを送信する（ステップＳ８）。この結果、制御装置１００ａは、自装置の制御情報１０６ａを、変更内容に従って更新する（ステップＳ９）。そして、制御装置１００ａは、制御装置１００ｂ、１００ｃに対して同期情報１０４の差分を送信し、同期情報１０４ｂ、１０４ｃの更新を要求する（ステップＳ１０）。この結果、制御情報１００ｂ、１００ｃは、自装置が保持する同期情報１０４ｂ、１０４ｃを、マスタである制御装置１００ａが保持する同期情報１０４ａに更新することができる（ステップＳ１１、Ｓ１２）。
【００３２】
このように、制御装置１００は、どの制御装置１００がマスタであるかを示すコントローラ情報リスト１０５と、端末装置１０に関する制御情報１０６とを保持し、自装置がマスタである場合は、コントローラ情報リスト１０５と制御情報１０６とを、異なるタイミングで同期させる。このため、制御装置１００は、通信量を削減し、接続信頼性や通信速度の低下を防ぐことができる。
【００３３】
なお、上述した説明では、設定端末３０から変更指示を受信した際に、同期情報１０４を同期させる処理の一例について説明したが、実施形態は、これに限定されるものではない。例えば、制御装置１００は、センサ１０ｃの検知結果に応じて照明機器１０ａを点灯させた結果、制御情報１０６に変更が生じた場合は、上述した同期処理を実行することで、同期情報１０４を同期させてもよい。また、制御装置１００ａは、設定端末３０から変更指示を受付けた場合に、制御装置１００ｂ、１００ｃに対して同期情報１０４の更新を要求してもよい。
【００３４】
（実施形態に係る制御システム１の機能構成）
次に、図２を用いて、制御システム１が有する機能構成の一例について説明する。図２は、実施形態に係る制御システムの機能構成の一例を説明するための図である。図２に示す例では、制御システム１は、照明機器１０ａ、１０ｂ、センサ１０ｃ、設定端末３０ａ〜３０ｃ、ハブ４０、複数の制御装置１００ａ〜１００ｃを有する。
【００３５】
なお、図２に示す例では、制御装置１００ｃが３つの端末装置１０を制御する例について記載したが、制御装置１００ｃは、任意の数および任意の種別の端末装置１０を制御することができる。また、図２では図示を省略したが、制御装置１００ａ、１００ｂも、任意の数および任意の種別の制御装置１０を制御しているものとする。また、以下の説明では、制御装置１００ａがマスタとして動作しているものとする。
【００３６】
設定端末３０ａ〜３０ｃは、制御システム１の設定や操作を行うための端末装置である。例えば、設定端末３０ａ、３０ｂは、有線若しくは無線通信を介して、制御情報１０６の設定や変更等を行う。また、設定端末３０ｃは、無線通信を介して、照明機器１０ａの点灯や消灯等の指示を照明機器１００ｃに送信する。なお、以下の説明では、制御端末３０ａ〜３０ｃを制御端末３０と記載する場合がある。
【００３７】
ハブ４０は、各制御装置１００ａ〜１００ｃを接続する有線ＬＡＮのハブ装置である。また、ハブ４０は、制御システム１と外部ネットワークＮとを接続するゲートウェイとしての機能を有し、外部ネットワークＮを介して受信した各種の制御指示を、制御装置１００に対して伝達する機能を有する。
【００３８】
このような構成の元、各制御装置１００ａ〜１００ｃは、利用者からの操作に従って、以下の操作処理を実行する。例えば、制御装置１００ｃは、設定端末３０ｃから照明１０ｃの点灯を指示する制御指示を受信すると、無線通信を介して、受信した制御指示をマスタである制御装置１００ａに送信する。
【００３９】
すると、制御装置１００ａは、自装置が保持する制御情報１０６ａを参照し、照明機器１０ａの制御内容（例えば、点灯させる照度や色彩）等を示す制御指示を他の制御装置１００ｂ、１００ｃに無線通信を介してマルチキャストする。一方、制御指示を受信した制御装置１００ｂ、１００ｃは、自装置が制御する端末装置１０に制御対象（すなわち、照明機器１０ａ）が含まれているか否かを判定し、含まれている場合は、制御対象に対して制御指示を送信する。
【００４０】
このように、制御システム１におけるマスタスレーブ方式においては、スレーブが制御指示を受信すると、マスタに対して制御指示を一旦転送し、マスタから制御指示がスレーブに対してマルチキャストされる。この結果、マスタが保持する同期情報１０４は、端末装置１０の最新状態を示すと考えられるため、スレーブの同期情報１０４を同期させる際の基準とすることができる。
【００４１】
（実施形態に係る制御装置１００の機能構成）
次に、図３を用いて、実施形態に係る制御装置１００が有する機能構成の一例について説明する。図３は、実施形態に係る制御装置有する機能構成の一例を示す図である。図３に示す例では、制御装置１００は、有線通信部１０１、無線通信部１０２、記憶部１０３、制御部１０７を有する。
【００４２】
有線通信部１０１は、ハブ４０を介して、他の装置との間で通信制御を行なうインターフェイスであり、例えばＮＩＣ（Network  Interface  Card）により実現される。例えば、有線通信部１０１は、ハブ４０を介して、設定端末３０や外部ネットワークＮを介して受信した制御指示等を受付ける。また、有線通信部１０１は、ハブ４０を介して、他の制御装置１００との通信を実現する。
【００４３】
無線通信部１０２は、無線通信を介して、他の装置との間で通信制御を行なうインターフェイスであり、例えば、無線ＬＡＮカード等により実現される。例えば、無線通信部１０２は、無線通信を介して、設定端末３０や端末装置１０との通信を実現する。
【００４４】
記憶部１０３は、フラッシュメモリなどの半導体メモリ素子、ハードディスク、光ディスクなどの記憶装置であり、所定の情報を保持することができる保持部である。なお、記憶部１０３は、ＲＡＭ（Random  Access  Memory）、フラッシュメモリ、ＮＶＳＲＡＭ（Non  Volatile  Static  Random  Access  Memory）などのデータを書き換え可能な半導体メモリであってもよい。
【００４５】
ここで、記憶部１０３は、同期情報１０４を保持する。同期情報１０４には、コントローラ情報リスト１０５と制御情報１０６とが含まれる。例えば、図４は、実施形態にかかるコントローラ情報リストに格納される情報の一例を説明する図である。図４に示す例では、コントローラ情報リスト１０５には、「場所」、「個別ＩＤ」、「マスタ情報」、「ＩＰ（Internet  Protocol）アドレス」等が格納されている。なお、コントローラ情報リスト１０５には、他にも、制御装置１００に関する任意の情報が格納されていてもよい。
【００４６】
ここで、「場所」とは、制御装置１００が設置された場所を示す情報であり、例えば、「１Ｆ（１階）」や「２Ｆ（２階）」等といった情報が登録される。「個別ＩＤ」とは、各制御装置１００を識別するための情報であり、「ＸＸＸ１」や「ＸＸＸ２」等といった情報が登録される。また、「ＩＰアドレス」とは、各制御装置１００に対して付与されているＩＰアドレスである。
【００４７】
「マスタ情報」とは、制御装置１００のうちどの制御装置１００がマスタであるかを示す情報であり、例えば、「マスタ」もしくは「スレーブ」といった情報が登録される。ここで、「マスタ情報」は、コントローラ情報リスト１０５に登録された各種の情報に基づいて決定される情報である。例えば、「マスタ情報」には、コントローラ情報リスト１０５に登録された個別ＩＤの中で、対応付けられた個別ＩＤが最若番である場合には「マスタ」が登録され、それ以外の場合には「スレーブ」が登録される。
【００４８】
すなわち、制御システム１では、各制御装置１００に付与された「個別ＩＤ」の値を優先度として、マスタであるか否かが決定される。この結果、各制御装置１００は、各制御装置１００に付与された「個別ＩＤ」と、「個別ＩＤ」の値に対応して決定されたマスタに関する情報である「マスタ情報」とを保持することとなる。
【００４９】
なお、コントローラ情報リスト１０５に格納される各種の情報は、自動的若しくは必然的に決定される情報であってもよく、制御システム１の管理者等が人為的に設定した情報であってもよい。例えば、「個別ＩＤ」は、制御装置１００の工場出荷時等に設定された情報や、部品等によって必然的に決まる情報であってもよい。
【００５０】
図３に戻り、説明を続ける。制御情報１０６には、各端末装置１０に関する情報が含まれる。例えば、制御情報１０６には、各端末装置１０の設定や各種の制御内容、制御を実行する際のルール等、端末装置１０に関する任意の情報が格納されている。
【００５１】
制御部１０７は、制御装置１００を制御する。例えば、制御部１０７は、ＣＰＵ（Central  Processing  Unit）、ＭＰＵ（Micro  Processing  Unit）等の電子回路や、ＡＳＩＣ（Application  Specific  Integrated  Circuit）、ＦＰＧＡ（Field  Programmable  Gate  Array）等の集積回路により実現される。
【００５２】
例えば、制御部１０７は、照明制御部１０８と同期制御部１０９とを有する。照明制御部１０８は、設定端末３０からの指示やセンサ１０ｃの検出結果に基づいて、照明機器１０ａ、１０ｂを制御する制御処理を実行する。また、同期制御部１０９は、自装置がマスタである旨をコントローラ情報リスト１０５が示す場合は、他の制御装置１００との間でコントローラ情報リスト１０５と制御情報１０６とを異なるタイミングで同期させる同期処理を実行する。
【００５３】
まず、照明制御部１０８が実行する制御処理について説明する。例えば、照明制御部１０８は、操作受付部１１０、操作配信部１１１、操作設定部１１２を有する。操作受付部１１０は、制御指示やセンサ１０ｃの検出結果を受付ける。かかる場合、操作受付部１１０は、コントローラ情報リスト１０５を参照し、自装置がマスタであるか否かを判定する。そして、操作受付部１１０は、自装置がマスタではない場合は、受付けた制御指示や検出結果をマスタへと送信する。一方、操作受付部１１０は、自装置がマスタである場合は、受付けた制御指示や検出結果を操作配信部１１１に出力する。
【００５４】
操作配信部１１１は、制御指示を受付けると、制御指示の内容に基づいて制御情報１０６を更新する。例えば、操作配信部１１１は、照明機器１０ａが点灯しているか否か、センサ１０ｃの感度、センサ１０ｃの検出結果に基づいて点灯あるいは消灯する照明機器の情報等を更新する。また、操作配信部１１１は、制御指示を各制御装置１００へとマルチキャストする。
【００５５】
操作設定部１１２は、マスタである制御装置１００から制御指示を受付けると、制御内容に従って制御情報１０６を更新するとともに、受付けた制御指示に従って、端末装置１０の制御を行う。例えば、操作設定部１１２は、照明機器１０ａの点灯、消灯、光の色彩等の設定を行う。また、操作設定部１１２は、センサ１０ｃの感度の設定を行う。
【００５６】
次に、同期制御部１０９が実行する同期制御について説明する。例えば、同期制御部１０９は、リスト同期部１１３と情報同期部１１４を有する。リスト同期部１１３は、コントローラ情報リスト１０５の同期処理を実行する。例えば、リスト同期部１１３は、自装置のコントローラ情報リスト１０５を参照し、自装置がマスタであるかスレーブであるかを判定する。そして、リスト同期部１１３は、自装置がスレーブである場合は、所定の時間間隔で、コントローラ情報リスト１０５の取得要求をマスタに対して送信する。そして、リスト同期部１１３は、マスタからコントローラ情報リスト１０５を受信した場合は、保持しているコントローラ情報リスト１０５を、マスタから受信したコントローラ情報リスト１０５に更新する。
【００５７】
一方、リスト同期部１１３は、自装置がマスタである場合は、スレーブから取得要求を待ち合わせる。そして、リスト同期部１１３は、スレーブから取得要求を受信すると、自装置が保持するコントローラ情報リスト１０５を、要求元のスレーブに対して送信する。すなわち、リスト同期部１１３は、自装置がマスタである場合は、スレーブが保持するコントローラ情報リスト１０５を自装置が保持するコントローラ情報リスト１０５に同期させる。
【００５８】
ここで、リスト同期部１１３は、自装置がマスタである場合は、各スレーブごとに、取得要求を受信してから所定の時間が経過するまでの間に新たな取得要求を受信したか否かを判定する。そして、リスト同期部１１３は、あるスレーブについて、取得要求を受信してから所定の時間が経過するまでの間に新たな取得要求を受信していない場合は、かかるスレーブが故障したものとして、コントローラ情報リスト１０５を更新する。
【００５９】
一方、リスト同期部１１３は、自装置がスレーブである場合は、マスタに取得要求を送信してから所定の時間が経過したか否かを判定し、所定の時間が経過したと判定した場合は、マスタが故障したと判定する。かかる場合、リスト同期部１１３は、情報同期部１１５に対してマスタの故障を通知する。
【００６０】
情報同期部１１５は、同期情報１０４全体の同期処理を実行する。より具体的には、制御システム１が起動した場合やマスタが故障した場合は、コントローラ情報リスト１０５の作成に必要な情報の送信を要求する（すなわち、ネットワークモニタを要求する）ネットワークモニタ要求を、他の制御装置１００に対してマルチキャストする。また、情報同期部１１５は、他の制御装置１００からネットワークモニタ要求を受信した場合は、自装置の情報を含むネットワークモニタ応答を要求元へと送信する。
【００６１】
そして、情報同期部１１５は、各制御装置１００からネットワークモニタ応答を受信した場合は、受信したネットワークモニタ応答に含まれる情報を用いて、新たなコントローラ情報リスト１０５を作成する。すなわち、情報同期部１１５は、マスタが故障した場合は、スレーブが新たなコントローラ情報リスト１０５をそれぞれ生成する。
【００６２】
また、情報同期部１１５は、新たなコントローラ情報リスト１０５、すなわち、ネットワークモニタの要求により生成したコントローラ情報リスト１０５を用いて、マスタとして動作する制御装置１００を特定する。そして、情報同期部１１５は、新たなコントローラ情報リスト１０５に自装置がマスタである旨が含まれる場合は、ネットワークモニタの要求により新たなコントローラ情報リスト１０５を生成してから一定時間が経過した後に、他の制御装置１００に対して自装置の同期情報１０４を送信し、設定するよう要求する。
【００６３】
一方、情報同期部１１５は、自装置がスレーブである場合は、何もせずに待機し、マスタから同期情報１０４を受信した場合は、自装置が保持する同期情報１０４をマスタから受信した同期情報１０４に更新する。このように、情報同期部１１５は、スレーブが保持するコントローラ情報リスト１０５や制御情報１０６を、新たなマスタが保持するコントローラ情報リスト１０５や制御情報１０６に同期させる。
【００６４】
また、情報同期部１１５は、起動済みの制御システム１に制御装置１００が追加された場合にも、ネットワークモニタ要求をマルチキャストし、ネットワークモニタを要求する。コントローラ情報リスト１０５を生成する。そして、情報同期部１１５は、ネットワークモニタの要求により生成された新たなコントローラ情報リスト１０５を参照し、自装置がマスタである旨を示す場合は、自装置が追加された際にマスタとして動作していた制御装置１００（以下、旧マスタと記載する。）に対して同期情報１０４の設定を要求する全データ設定要求を送信する。
【００６５】
そして、情報同期部１１５は、旧マスタから同期情報１０４を受信した場合は、自装置が保持する同期情報１０４を受信した同期情報１０４に更新するとともに、マスタの切り替えを旧マスタに対して要求する。すなわち、情報同期部１１５は、自装置が保持する制御情報１０６を、旧マスタが保持する制御情報１０６に同期させ、その後、マスタの切り替えを行う。かかる場合、旧マスタの情報同期部１１５は、自装置のコントローラ情報リスト１０５を新たなマスタのコントローラ情報リスト１０５に同期させることで、マスタの切り替えを行う。
【００６６】
なお、情報同期部１１５は、制御ネットワーク１からいずれかの制御装置１００が除外された場合にも、ネットワークモニタを要求し、新たなコントローラ情報リスト１０５を生成してもよい。例えば、スレーブである制御装置１００ａの情報同期部１１５は、制御装置１００ｂや制御装置１００ｃと通信ができなくなった場合には、ネットワークモニタ要求をブロードキャストし、新たなコントローラ情報リスト１０５を生成してもよい。このように、制御ネットワーク１では、制御ネットワーク１に新たに追加された制御装置１００や、制御ネットワーク１から他の制御装置１００がいなくなった旨を特定した制御装置１００が、ネットワークモニタ要求をブロードキャスト若しくはマルチキャストすることで、それぞれ新たなコントローラ情報リスト１０５を生成する。
【００６７】
（制御装置１００が実行する処理の一例）
次に、図５〜９を用いて、制御装置１００が実行する処理の一例について説明する。なお、以下の説明では、制御装置１００ａがマスタとして動作し、制御装置１００ｂ、１００ｃがスレーブとして動作する処理の一例について説明する。マスタである制御装置１００ａをマスタ１００ａと記載し、スレーブである制御装置１００ｂ、１００ｃをスレーブ１００ｂ、１００ｃと記載する。
【００６８】
まず、図５を用いて、マスタとして動作する制御装置１００が起動時に実行する起動処理の一例を説明する。図５は、実施形態にかかる制御装置がマスタである際に実行する起動処理の一例を示すシーケンス図である。例えば、マスタ１００ａは、制御システム１が起動された場合は、ネットワークモニタ要求を各スレーブ１００ｂ、１００ｃにマルチキャストする（ステップＳ１０１）。
【００６９】
かかる場合、スレーブ１００ｂ、１００ｃは、ネットワークモニタ応答をマスタ１００ａに送信する（ステップＳ１０２、Ｓ１０３）。この結果、マスタ１００ａは、受信したネットワークモニタ応答を用いてコントローラ情報リスト１０５を作成する（ステップＳ１０４）。なお、マスタ１００ａは、ステップＳ１０４で作成したコントローラ情報リスト１０５を用いて、自装置がマスタであると判定することとなる。
【００７０】
また、マスタ１００ａは、コントローラ情報リスト１０５の作成後、一定時間待機する（ステップＳ１０５）。そして、マスタ１００ａは、同期情報１０４の全データの設定を各スレーブ１００ｂ、１００ｃに要求する（ステップＳ１０６）。すると、スレーブ１００ｂおよびスレーブ１００ｃは、マスタ１００ａから受信した同期情報１０４を自装置に設定し（ステップＳ１０７、Ｓ１０８）、起動処理を終了する。
【００７１】
次に、図６を用いて、スレーブとして動作する制御装置１００が起動時に実行する起動処理の一例を説明する。図６は、実施形態にかかる制御装置がスレーブである際に実行する起動処理の一例を示すシーケンス図である。例えば、スレーブ１００ｂは、ネットワークモニタ要求をマスタ１００ａおよびスレーブ１００ｃにマルチキャストする（ステップＳ２０１）。
【００７２】
かかる場合、マスタ１００ａおよびスレーブ１００ｃは、ネットワークモニタ応答をスレーブ１００ｂに送信する（ステップＳ２０２、Ｓ２０３）。この結果、スレーブ１００ｂは、受信したネットワークモニタ応答を用いてコントローラ情報リスト１０５を作成する（ステップＳ２０４）。そして、スレーブ１００ｂは、ステップＳ２０４で作成したコントローラ情報リスト１０５を用いて、マスタが制御装置１００ａであると判定する（ステップＳ２０５）。
【００７３】
ここで、マスタ１００ａは、同期情報１０４の全データの設定をスレーブ１００ｂに要求する（ステップＳ２０６）。すると、スレーブ１００ｂは、受信した同期情報１０４を自装置に設定する（ステップＳ２０７）。その後、スレーブ１００ｂは、定期的にコントローラ情報リスト１０５をマスタ１００ａに要求する（ステップＳ２０９）。かかる場合、マスタ１００ａは、応答をスレーブ１００ｂに送信し（ステップＳ２１０）、スレーブ１００ｂのコントローラ情報リスト１０５をマスタ１００ａのコントローラ情報リスト１０５に同期させる。
【００７４】
次に、図７を用いて、マスタが故障した際に実行される同期処理の一例を説明する。図７は、実施形態にかかるマスタが故障した際に実行される同期処理の一例を示すシーケンス図である。例えば、図７に示す例では、マスタ１００ａが故障する（ステップＳ３０１）。かかる場合、スレーブ１００ｂは、定期的にコントローラ情報リスト１０５をマスタ１００ａに対して要求するが（ステップＳ３０２）、マスタ１００ａが故障しているため、応答が帰ってこない（図７中（Ａ））。
【００７５】
かかる場合、スレーブ１００ｂは、マスタ１００ａが故障したと判定し、ネットワークモニタ要求をスレーブ１００ｃにマルチキャストする（ステップＳ３０３）。かかる場合、スレーブ１００ｃは、スレーブ１００ｂにネットワークモニタ応答を送信する（ステップＳ３０４）。続いて、スレーブ１００ｂは、受信したネットワークモニタ応答を用いて、コントローラ情報リスト１０５を更新する（ステップＳ３０５）。
【００７６】
ここで、スレーブ１００ｂは、更新したコントローラ情報リスト１０５が、自装置が新たなマスタである旨を示す場合は、コントローラ情報リスト１０５の更新から一定時間待機し（ステップＳ３０６）、自装置が保持する同期情報１０４の全データの設定をスレーブ１００ｃに要求する（ステップＳ３０７）。この結果、スレーブ１００ｃは、新たなマスタとなったスレーブ１００ｂから受信した同期情報１０４で自装置の同期情報１０４を更新するる（ステップＳ３０８）。
【００７７】
次に、図８を用いて、スレーブが故障した際に実行される同期処理の一例を説明する。図８は、実施形態にかかるスレーブが故障した際に実行される同期処理の一例を示すシーケンス図である。例えば、図８に示す例では、スレーブ１００ｂが故障したため（ステップＳ４０１）、コントローラ情報リスト１０５の要求がマスタ１００ａに送信されない（図８中（Ａ））。
【００７８】
かかる場合、マスタ１００ａは、所定の時間間隔でスレーブ１００ｂからコントローラ情報リストの要求を受信しなかったため、スレーブ１００ｂが故障したと判定し（ステップＳ４０２）、自装置が保持するコントローラ情報リスト１０５を更新する（ステップＳ４０２）。例えば、マスタ１００ａは、コントローラ情報リスト１０５からスレーブ１００ｂの情報を削除、若しくは、スレーブ１００ｂが故障した旨の情報を追加する。
【００７９】
一方、スレーブ１００ｃは、所定の時間間隔で、コントローラ情報リストをマスタ１００ａに要求する（ステップＳ４０３）。かかる場合、マスタ１００ａは、ステップＳ４０２で更新したコントローラ情報リスト１０５を含む応答をスレーブ１００ｃに送信する（ステップＳ４０４）。この結果、スレーブ１００ｃは、スレーブ１００ｂが故障した旨を特定できる。
【００８０】
次に、図９を用いて、故障したマスタが復旧した際に実行される同期処理の一例を説明する。図９は、実施形態にかかるマスタが復旧した際に実行される同期処理の一例を示すシーケンス図である。なお、以下の説明では、マスタであった制御装置１００ａが故障して制御装置１００ｂが新たなマスタとなり、その後、制御装置１００ａが復旧したために、制御装置１００ｂがスレーブとなった際に実行される同期処理の一例を説明する。また、以下の説明では、制御装置１００ａを新マスタ１００ａと記載し、制御装置１００ｂを旧マスタ１００ｂと記載する。
【００８１】
まず、新マスタ１００ａは、復旧処理を実行することでコントローラ情報リストを作成し、自装置が新たなマスタである旨と、現在のマスタが旧マスタ１００ｂである旨を特定する（ステップＳ５０１）。かかる場合、新マスタ１００ａは、全データの取得要求を旧マスタ１００ｂに送信する（ステップＳ５０２）。かかる場合、旧マスタ１００ｂは、自装置が保持する同期情報１０４を新マスタ１００ａに対して送信し、設定させる（ステップＳ５０３）。
【００８２】
かかる場合、新マスタ１００ａは、マスタ切替要求を旧マスタ１００ｂに送信する（ステップＳ５０４）。すると、旧マスタ１００ｂは、新マスタ１００ａを新たなマスタとし、自装置をスレーブとするようにコントローラ情報リスト１０５を更新する（ステップＳ５０５）。ここで、スレーブ１００ｃは、新マスタ１００ａが新たなマスタであることを識別できない為、コントローラ情報リスト１０５をスレーブとなった旧マスタ１００ｂに要求する（ステップＳ５０６）。すると、旧マスタ１００ｂは、自装置が保持するコントローラ情報リスト１０５を含む応答をスレーブ１００ｃに送信する（ステップＳ５０７）。
【００８３】
この結果、スレーブ１００ｃは、自装置のコントローラ情報リスト１０５を旧マスタ１００ｂから受信したコントローラ情報リスト１０５に更新するので（ステップＳ５０８）、新たなマスタが新マスタ１００ａである旨を特定できる。その後、スレーブ１００ｃは、新たなマスタである新マスタ１００ａに対して、定期的にコントローラ情報リスト１０５の要求を送信する（ステップＳ５０９）。
【００８４】
なお、上述した制御装置１００は、ＣＰＵとＲＡＭ、ＥＥＰＲＯＭ，フラッシュメモリなどを有するコンピュータが、所定の記録媒体に登録された制御プログラムを読み取り、読み取った制御プログラムを実行することにより、実現されてもよい。かかる場合、制御部１０７は、各種の処理手順を規定したプログラムを実行することで、上述した種々の処理を実行する各種の処理部として機能する。
【００８５】
（実施形態に係る同期処理）
次に、図１０を用いて、制御装置１００が実行する同期処理の流れの一例を説明する。図１０は、実施形態に係る制御装置が実行する同期処理の流れの一例を示すフローチャートである。例えば、制御装置１００は、起動時やマスタの故障が検出された場合等には、ネットワークモニタ要求をマルチキャスト送信する（ステップＳ６０１）。また、制御装置１００は、応答結果を用いて、新たなコントローラ情報リスト１０５を作成する（ステップＳ６０２）。
【００８６】
また、制御装置１００は、新たなコントローラ情報リスト１０５から自装置がマスタであるか否かを判定する（ステップＳ６０３）。そして、制御装置１００は、自装置がマスタである場合は（ステップＳ６０３：Ｙｅｓ）、各スレーブが保持する同期情報１０４を自装置が保持する同期情報１０４に同期させる（ステップＳ６０４）。また、制御装置１００は、スレーブからの要求時に自装置のコントローラ情報リスト１０５を配信する（ステップＳ６０５）。一方、制御装置１００は、自装置がスレーブである場合は（ステップＳ６０３：Ｎｏ）、マスタから受信した同期情報１０４を自装置に設定し（ステップＳ６０６）、マスタに対して定期的にコントローラ情報リスト１０５を要求する（ステップＳ６０７）。
【００８７】
（同期情報について）
上述した実施形態では、制御装置１００は、起動時やマスタが変化した際に、スレーブが保持する同期情報１０４をマスタが保持する同期情報１０４に同期させた。しかしながら、実施形態は、これに限定されるものではない。例えば、制御装置１００は、コントローラ情報リスト１０５については、定期的に同期させ、起動時やマスタが変化した際には、制御情報１０６のみを同期させてもよい。
【００８８】
また、制御情報１０６には、各制御装置１００が制御する端末装置１０以外にも、制御装置１００に関する情報のうち、定常的に同期させる必要が無い情報が含まれていてもよい。例えば、制御装置１００は、マスタを示す情報を所定の時間間隔で同期させ、他の情報については、起動時やマスタが変化した場合等に同期させてもよい。
【００８９】
ここで、各制御装置１００は、同一の制御情報１０６を保持せずともよい。例えば、制御装置１００ａ〜１００ｃは、コントローラ情報リスト１０５については、同一の内容となるように同期を行う一方で、制御情報１０６については、異なる情報を保持していてもよい。
【００９０】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
【符号の説明】
【００９１】
１  制御システム
１０  端末装置
１０ａ、１０ｂ  照明装置
１０ｃ  センサ
３０、３０ａ〜３０ｃ  設定端末
４０  ハブ
１００、１００ａ〜１００ｃ  制御装置
１０１  有線通信部
１０２  無線通信部
１０３  記憶部
１０４  同期情報
１０５  コントローラ情報リスト
１０６  制御情報
１０７  制御部
１０８  照明制御部
１０９  同期制御部
１１０  操作受付部
１１１  操作配信部
１１２  操作設定部
１１３  リスト同期部
１１４  情報同期部
１１５  情報更新部
【図１】
0006519358.tif 000002
【図２】
0006519358.tif 000003
【図３】
0006519358.tif 000004
【図４】
0006519358.tif 000005
【図５】
0006519358.tif 000006
【図６】
0006519358.tif 000007
【図７】
0006519358.tif 000008
【図８】
0006519358.tif 000009
【図９】
0006519358.tif 000010
【図１０】
0006519358.tif 000011