(57)【要約】【課題】障害発生時の影響を減少させることが可能な技術を提供する。【解決手段】親制御装置と、親制御装置の配下の子制御装置とのいずれかとして機能する制御装置４００であって、親制御装置として機能する場合、外部から送信される指示データを配下の子制御装置へ送信し、外部から送信される切替指示データを新たな親制御装置として機能する子制御装置へ送信し、子制御装置として機能する場合、親制御装置から送信される指示データに対する応答データを親制御装置に送信し、切替指示データを受信することで親制御装置へと機能を切替える。【選択図】図１
2017123595.tif 000002
【特許請求の範囲】
【請求項１】
親制御装置と、前記親制御装置の配下の子制御装置とのいずれかとして機能する制御装置であって、
前記親制御装置として機能する場合、外部から送信される指示データを配下の前記子制御装置へ送信し、
前記子制御装置として機能する場合、前記親制御装置から送信される前記指示データに対する応答データを前記親制御装置に送信し、前記外部から送信される切替指示データを受信することで前記親制御装置へと機能を切替える、
制御装置。
【請求項２】
請求項１に記載の制御装置において、
前記親制御装置として機能する場合、所定の基準に基づいて、配下の前記子制御装置の中から新たな前記親制御装置を選択し、選択した前記子制御装置へ前記切替指示データを送信する、制御装置。
【請求項３】
請求項１に記載の制御装置において、
前記親制御装置として機能する場合、前記外部との間の通信の失敗回数が最小の前記子制御装置を新たな前記親制御装置として選択し、選択した前記子制御装置へ前記切替指示データを送信する、制御装置。
【請求項４】
請求項１に記載の制御装置において、
前記親制御装置として機能する場合、前記子制御装置同士の失敗回数が最小の前記子制御装置を新たな前記親制御装置として選択し、選択した前記子制御装置へ前記切替指示データを送信する、制御装置。
【請求項５】
請求項１に記載の制御装置において、
前記指示データは、制御対象機器を制御するためのデータを含み、
前記子制御装置として機能する場合、前記指示データに基づき前記制御対象機器を制御する、
制御装置。
【請求項６】
請求項１に記載の制御装置において、
前記親制御装置として機能する場合、前記子制御装置から送信される前記応答データと、自らの前記応答データとを一つにまとめて、前記外部へ送信する、制御装置。
【請求項７】
親制御装置と、前記親制御装置の配下の子制御装置とのいずれかとして機能する制御装置における機能切替方法であって、
前記子制御装置として機能する場合、コマンド処理部が、外部から送信される切替指示データを受信する切替指示データ受信ステップと、
前記子制御装置として機能する場合、前記コマンド処理部が、前記親制御装置へと機能を切替える切替ステップと、
を有する、機能切替方法。
【請求項８】
親制御装置と、前記親制御装置の配下の子制御装置とのいずれかとして機能する制御装置のコンピュータに実行させるための機能切替プログラムであって、
前記子制御装置として機能する場合、コマンド処理部が、外部から送信される切替指示データを受信する切替指示データ受信ステップと、
前記子制御装置として機能する場合、前記コマンド処理部が、前記親制御装置へと機能を切替える切替ステップと、
を前記コンピュータに実行させる、機能切替プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御装置および機能切替方法ならびに機能切替プログラムに関する。
【背景技術】
【０００２】
各種機器を制御する制御装置を多数有する、大規模なデータ通信システムとして、例えば、入退管理システムがある。入退管理システムでは、扉に備え付けられた電気錠や、認証を行うためのカードリーダを制御する制御装置がシステム内に多数存在し、それらの装置とシステム全体を管理する管理サーバとの間で、頻繁に通信が行われる。入退室に必要なデータを設定できなければ入室できないことから、特に管理サーバから入退管理システム内の制御装置への設定については、高速に行う必要がある。しかし、入退管理システム内に多数の制御装置が存在する場合、管理サーバが各制御装置と1対1で通信を行うと、管理サーバの通信処理による負荷増加や、ネットワーク上のトラフィック増加により、多くの時間を必要としてしまう。
【０００３】
この問題を解決し、多数の制御装置へ設定を行う際の必要時間を短縮可能な方式として、特開平１１−５５２５９号公報（特許文献１）には、システム内に多数存在する制御装置を、一部の親制御装置と、各親制御装置の配下に置くその他の子制御装置に分け、親制御装置が配下の子制御装置を管理するとともに、子制御装置への管理サーバからの通信を親制御装置が代行する技術が記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平１１−５５２５９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１に記載されている技術では、管理サーバが親制御装置に設定されている一部の制御装置とのみ通信を行うことで、全ての制御装置に対して設定を行い、管理サーバの負荷軽減を可能にしている。
【０００６】
しかしながら、特許文献１に記載されている技術では、管理サーバは子制御装置に対して親制御装置を経由して通信するため、親制御装置と通信が不可になった際に、配下の子制御装置全体に対しても、管理サーバとの通信ができなくなってしまう。これにより、障害発生時の影響範囲が大きくなってしまうという問題があった。
【０００７】
本発明の目的は、障害発生時の影響を減少させることが可能な技術を提供することにある。
【課題を解決するための手段】
【０００８】
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、次の通りである。
【０００９】
本発明の一実施の形態の制御装置は、親制御装置と、前記親制御装置の配下の子制御装置とのいずれかとして機能する制御装置であって、前記親制御装置として機能する場合、外部から送信される指示データを配下の前記子制御装置へ送信する。また、前記子制御装置として機能する場合、前記親制御装置から送信される前記指示データに対する応答データを前記親制御装置に送信し、前記外部から送信される切替指示データを受信することで前記親制御装置へと機能を切替える。
【００１０】
また、本発明の一実施の形態の機能切替方法は、親制御装置と、前記親制御装置の配下の子制御装置とのいずれかとして機能する制御装置における機能切替方法であって、前記子制御装置として機能する場合、コマンド処理部が、外部から送信される切替指示データを受信する切替指示データ受信ステップを有する。また、前記子制御装置として機能する場合、前記コマンド処理部が、前記親制御装置へと機能を切替える切替ステップを有する。
【００１１】
また、本発明の一実施の形態の機能切替プログラムは、親制御装置と、前記親制御装置の配下の子制御装置とのいずれかとして機能する制御装置のコンピュータに実行させるための機能切替プログラムであって、前記子制御装置として機能する場合、コマンド処理部が、外部から送信される切替指示データを受信する切替指示データ受信ステップを前記コンピュータに実行させる。また、前記子制御装置として機能する場合、前記コマンド処理部が、前記親制御装置へと機能を切替える切替ステップを前記コンピュータに実行させる。
【発明の効果】
【００１２】
本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば以下のとおりである。
【００１３】
本発明の代表的な実施の形態によれば、障害発生時の影響が減少する。
【図面の簡単な説明】
【００１４】
【図１】本発明の一実施の形態におけるデータ通信システムの構成例の概要を示す図である。
【図２】本発明の一実施の形態における制御装置の構成例の概要を示す図である。
【図３】本発明の一実施の形態における管理サーバおよび各制御装置に記憶されている構成管理テーブルの概要を示す図である。
【図４】本発明の一実施の形態における全体処理の概要を示すシーケンス図である。
【図５】本発明の一実施の形態における親制御装置切替処理の概要を示す図である。
【図６】本発明の一実施の形態における子制御装置選択処理の概要を示す図である。
【図７】本発明の一実施の形態における親制御装置切替処理後の全体処理の概要を示すシーケンス図である。
【図８】本発明の一実施の形態におけるデータ通信システムの他の構成例の概要を示す図である。
【発明を実施するための形態】
【００１５】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一部には原則として同一の符号を付し、その繰り返しの説明は省略する。
【００１６】
＜システム構成＞
図１は、本発明の一実施の形態におけるデータ通信システム１０の構成例の概要を示す図である。図１に示されるように、データ通信システム１０は、管理サーバ１００と、データベース２００と、設定端末３００と、複数の制御装置４００と、制御装置４００とネットワークを介して接続される制御対象機器５００とを有する。また、管理サーバ１００と、データベース２００と、設定端末３００と、複数の制御装置４００とは相互にネットワーク（例えば、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）回線）を介して接続される。そして、管理サーバ１００と、データベース２００と、設定端末３００と、制御装置４００とは、データ通信システム１０が有する他の装置を経由せずに直接通信できる。
【００１７】
設定端末３００は、管理サーバ１００やデータベース２００を経由して制御装置４００に対する指示（コマンド）を送信する。
【００１８】
管理サーバ１００は、データ通信システム１０内の各制御装置４００を管理する。また管理サーバ１００は、設定端末３００からの指示に基づき、指示データを送信することで制御装置４００に対する指示や設定を行う。また、管理サーバ１００は、制御装置４００から送信される応答データに基づき、各種機器（制御装置４００および制御対象機器５００）の動作状況などのデータを収集し、収集したデータをデータベース２００に記憶する。
【００１９】
データベース２００には、データ通信システム内１０に関する各種データ（例えば、後述する制御装置４００ごとの設定データ）が記憶されている。
【００２０】
制御装置４００は、接続された各制御対象機器（例えば、個人認証を行うＩＣカードリーダや、ＩＣカードリーダの近傍に設けられる扉を開閉させるための電気錠など）５００を制御する。また、制御装置４００は、管理サーバ１００と通信を行い、管理サーバ１００からの指示や設定データに従い、対応する処理を実行する。また、制御装置４００は、管理サーバ１００からの入力された設定データ（電子錠ごとの個人認証に必要なデータ（ＩＣカードから読み取られるＩＤ）など）に基づく設定を行う。また、制御装置４００は、個人認証が行われた時間や、ＩＣカードリーダにＩＣカードがかざされた時間といった履歴データ等の通信（例えば、データベース２００に履歴データを記憶する）を行う。
【００２１】
また、制御装置４００は、個人認証に必要なデータとして、ＩＣカードの読み取りデータ、入室を許可するリーダや時間帯といった種々のデータを、データ通信システム１０内に登録されている全利用者分だけ保持している。これは、制御装置４００が個人認証に必要なデータを保持しない場合にデータベース２００との通信を行うこと無く認証が可能となることで、認証の高速化だけでなく、通信不可状態になった際にも制御装置４００単体で入退室の制御を可能とするためである。この設定は１日１回など、管理サーバ１００により定期的にデータベース２００内の設定データについて、前回からの変更箇所が抽出され、抽出された変更箇所に基づく設定が、制御装置４００に対して行われる。そのため、管理サーバ１００は、入退室に影響を与えないよう、可及的速やかに全ての制御装置４００に対する設定を可能とする必要がある。
【００２２】
制御対象機器５００は、ＩＣカードから読み取ったデータ（ＩＣカードから読み取られるＩＤなど）を制御装置４００に入力する。制御装置４００は、制御対象機器５００から入力されたデータを照合する。ＩＣカードから読み取ったデータの照合に成功すると、制御装置４００は、制御対象機器５００に電気錠を開けさせる。制御装置４００は、電子錠が開けられたドアが開かれた後に閉じられた場合に、制御対象機器５００に電子錠を閉めさせる。また、制御装置４００は、電子錠を開けさせた後に、所定時間以上、ドアが開かれなかった場合に、制御対象機器５００に電子錠を閉めさせる。
【００２３】
なお、管理サーバ１００がデータベース２００を有するようにしても良い。また、管理サーバ１００が設定端末３００を有するようにしても良い。また、例えばデータ通信システム１０が大規模である場合、データ通信システム１０が管理サーバ１００を複数有するようにしても良い。
【００２４】
また、図８に示されるように、データ通信システム１０を、管理サーバ１００とデータベース２００と設定端末３００とは、物理サーバに限らず、仮想サーバによるクラウドコンピューティング環境２０で実装されるようにしても良い。
【００２５】
＜制御装置構成＞
図２は、本発明の一実施の形態における制御装置４００の構成例の概要を示す図である。図２に示されるように、制御装置４００は、対上位装置通信部４１０と、コマンド処理部４２０と、対制御装置通信部４３０と、機器制御部４４０とを有する。
【００２６】
機器制御部４４０は、制御装置４００に接続された制御対象機器５００を制御する。
【００２７】
以下、親制御装置と子制御装置とについて説明する。本発明においては、管理サーバ１００から制御装置４００に対する通信を並列化し、通信を行う際に要する時間を短縮するため、制御装置４００が親制御装置と、親制御装置の配下の子制御装置とのいずれかとして機能する。すなわち、データ通信システム１０内の一部の制御装置４００を親制御装置とし、その他の制御装置４００を子制御装置として、各親制御装置の配下に子制御装置を配置する。親制御装置は管理サーバ１００と通信を行うだけでなく、管理サーバ１００から受信したデータを基に、配下の子制御装置に対して管理サーバ１００の役割を代行して通信を行う。そして、子制御装置との通信結果を１つのデータにまとめ管理サーバ１００へ応答することにより、管理サーバ１００が親制御装置と通信を行うだけで全ての制御装置４００と間接的に通信を行うことが可能になる。また、データ通信システム１０内には、複数の親制御装置（すなわち親子グループ）が存在する。
【００２８】
親制御装置と子制御装置は制御装置４００を構成するハードウェア、制御装置４００内部に組み込まれたソフトウェアともに同一のものが使用されている。また、内部設定に従い、対制御装置通信部４３０の機能を有効にすることで、制御装置４００を親制御装置として動作させることを実現させる。これにより、後述する設定値の書き換えによる制御装置４００の親子切り替えが可能となる。
【００２９】
親制御装置として機能する場合、対制御装置通信部４３０は、下位の制御装置４００である子制御装置との通信を行う。例えば、親制御装置として機能する場合、対制御装置通信部４３０は、外部（管理サーバ１００や、クラウドコンピューティング環境２０）から送信される指示データ（指示データは、制御対象機器を制御するためのデータを含む）を配下の子制御装置へ送信し、外部から送信される切替指示データを新たな親制御装置として機能する子制御装置へ送信する。
【００３０】
なお、子制御装置として機能する場合、対制御装置通信部４３０は、動作しない。
【００３１】
また、子制御装置として機能する場合、対上位装置通信部４１０は、親制御装置から送信される指示データに対する応答データを親制御装置に送信する。
【００３２】
コマンド処理部４２０は、管理サーバからの指示に従い、制御装置４００内部のデータの書き換えや機器制御部４４０を通した操作を行う。子制御装置として機能する場合、コマンド処理部４２０は、切替指示データを受信することで親制御装置へと機能を切替える。また、親制御装置として機能する場合、コマンド処理部４２０は、切替指示データを受信することで子制御装置へと機能を切替える。
【００３３】
また、親制御装置として機能する場合、コマンド処理部４２０は、所定の基準に基づいて、配下の子制御装置の中から新たな親制御装置として機能する子制御装置を選択する。そして、コマンド処理部４２０は、選択した子制御装置への切替指示データを対制御装置通信部４３０に送信させる。例えば、親制御装置として機能する場合、コマンド処理部４２０は、外部との間の通信の失敗回数が最小の子制御装置を、親制御装置として機能する子制御装置として選択し、選択した子制御装置への切替指示データを対制御装置通信部４３０に送信させる。
【００３４】
なお、親制御装置として機能する場合、コマンド処理部４２０は、子制御装置同士の失敗回数が最小の子制御装置を親制御装置として機能する子制御装置として選択し、選択した子制御装置への切替指示データを対制御装置通信部４３０に送信させるようにしても良い。
【００３５】
また、親制御装置として機能する制御装置４００でも管理サーバ１００でも切替指示データを生成および送信が可能であり、制御装置４００側で切替を行った際には親制御装置に切り替わった子制御装置から管理サーバ１００に対して切替が完了したことを示す応答データを送信することで、管理サーバ１００側では切替指示データを送信する必要がなく、自身の持つ構成管理テーブルを更新するのみで良い。
【００３６】
子制御装置として機能する場合、機器制御部４４０は、指示データに基づき制御対象機器５００を制御する。
【００３７】
親制御装置として機能する場合、対上位装置通信部４１０は、上位装置である管理サーバ１００と通信を行う。例えば、親制御装置として機能する場合、対上位装置通信部４１０は、子制御装置から送信される応答データと、自らの応答データとを一つにまとめて、外部へ送信する。また、子制御装置として機能する場合、対上位装置通信部４１０は、上位装置である親制御装置と通信を行う。なお、子制御装置として機能する場合、対上位装置通信部４１０は、上位装置である管理サーバ１００と通信を行うようにしても良い。
【００３８】
＜構成管理テーブル＞
図３は、本発明の一実施の形態における管理サーバ１００および各制御装置４００に記憶されている構成管理テーブルの概要を示す図である。図３に示されるように、構成管理テーブルは、[自装置構成品ＩＤ]、[項目]、[内容]などのデータ項目を有する。
【００３９】
[自装置構成品ＩＤ]は、データ通信システム１０内の全ての制御装置４００に対して割り振られる識別子である。[自装置構成品ＩＤ]を参照することで、制御装置４００が識別される。なお、管理サーバ１００には、自装置構成品ＩＤは割り振られない。
【００４０】
[親子グループＩＤリスト]は、データ通信システム１０内の全ての制御装置を親子グループに分けることで設定される。[親子グループＩＤリスト]には、親制御装置の自装置構成品ＩＤと、リスト内の親制御装置のすべての子制御装置の自装置構成品ＩＤとが含まれる。なお、[親子グループＩＤリスト]に含まれる各自装置構成品ＩＤは、カンマで区切って一行で記載される。
【００４１】
また、[親子グループＩＤリスト]は、データ通信システム１０内の親子グループの数（すなわち、親制御装置の数）だけ存在する。また、各制御装置４００は、自装置構成品ＩＤをキーに[親子グループＩＤリスト]を検索することで、自身が親制御装置であるか子制御装置であるかを認識する。また、各制御装置４００は、自装置構成品ＩＤをキーに[親子グループＩＤリスト]を検索することで、自身の子制御装置もしくは親制御装置がどの制御装置４００であるかを認識することが可能となる。
【００４２】
また、親制御装置は、[親子グループＩＤリスト]を参照することで、配下の子制御装置の自装置構成品ＩＤを取得する。また、親制御装置は、[親子グループＩＤリスト]を参照することで、通信をしたい他の親制御装置の自装置構成品ＩＤを取得する。
【００４３】
＜全体処理＞
図４は、本発明の一実施の形態における全体処理の概要を示すシーケンス図である。図４に示される例では、１つの親制御装置に２つの子制御装置（図中、子制御装置１、子制御装置２）が設定されている。そして、１つの親子グループが、１台の親制御装置と２台の子制御装置とから構成されている。
【００４４】
まず、Ｓ４０１にて、管理サーバ１００は、指示データ（例えば、現在時刻データを要求ためのデータや、電子錠の開閉を指示するためのデータなど制御対象機器を制御するためのデータ、各制御装置４００が正常に動作しているか否かを確認するためのデータ）を親制御装置へ送信する。なお、指示データには、指示データを送信する子制御装置の数や、指示データを送信する子制御装置を特定するための自装置構成品ＩＤや、指示データの種別を特定するためのデータや、指示の内容などを含む。また、指示データが電子錠の開閉を指示するためのデータである場合、開閉させたい電子錠（制御対象機器５００）を特定するための、制御対象機器ＩＤを含む。
【００４５】
次に、Ｓ４０２にて、親制御装置は、管理サーバ１００から送信された指示データを受信する。そして、親制御装置は、受信した指示データに基づき、配下にある子制御装置（図中、子制御装置１）への指示データを送信する。なお、親制御装置は、指示データに含まれる自装置構成品ＩＤを参照することで、指示データを送信する子制御装置を特定する。
【００４６】
次に、Ｓ４０３にて、親制御装置は、Ｓ４０２にて指示データ送信した子制御装置以外の子制御装置（図中、子制御装置２）へ指示データを送信する。
【００４７】
次に、Ｓ４０４にて、子制御装置（図中、子制御装置１）は、Ｓ４０２にて送信された指示データに対する応答データ（応答データを送信する子制御装置の自装置構成品ＩＤと、指示データに対する処理を正常に実行したか否かを示すデータとからなる）を親制御装置へ送信する。
【００４８】
次に、Ｓ４０５にて、子制御装置（図中、子制御装置２）は、Ｓ４０３にて送信された指示データに対する応答データを親制御装置へ送信する。
【００４９】
次に、Ｓ４０６にて、親制御装置は、各子制御装置（図中、子制御装置１、子制御装置２）から受信した各応答データおよび自らの応答データ（Ｓ４０１にて管理サーバ１００から送信された指示データに対する応答データ）とを一つにまとめた応答データを、管理サーバ１００へ送信する。
【００５０】
なお、親制御装置は、指示データを送信したすべての子制御装置から、所定時間以上経過しての応答データが送信されない場合に、応答データを送信しない子制御装置に故障が発生したと判定する。また、親制御装置は、指示データを送信したすべての子制御装置から、所定時間以上経過しての応答データが送信されない場合に、所定時間以上経過する前に受信した応答データを一つにまとめた応答データを、管理サーバ１００に送信する。
【００５１】
＜親制御装置切替処理＞
図５は、本発明の一実施の形態における親制御装置切替処理の概要を示す図である。
【００５２】
まず、Ｓ５０１にて、管理サーバ１００が、親制御装置へ指示データを送信する。
【００５３】
次に、Ｓ５０２にて、管理サーバ１００は、親制御装置との間の通信（指示データの送信、応答データの受信）に成功したか否かを判定する。管理サーバ１００が、親制御装置との間の通信に成功したと判定する場合（Ｓ５０２−成功）、親制御装置切替処理を終了する。一方、管理サーバ１００が、親制御装置との間の通信に失敗したと判定する場合（Ｓ５０２−失敗）、Ｓ５０３へ進む。なお、通信に失敗した場合、管理サーバ１００は、通信に失敗した回数（以下、失敗回数と呼ぶ場合がある）をインクリメントし、インクリメントした失敗回数を保持する。例えば、管理サーバ１００は、通信に失敗した際に該当親制御装置に対して、指示データを送信した回数（通信の試行回数）をインクリメントする。
【００５４】
次に、Ｓ５０３にて、管理サーバ１００は、Ｓ５０２にてインクリメントした後の失敗回数が、所定の設定値以下か否かを判定する。管理サーバ１００が、失敗回数が設定値以下であると判定する場合（Ｓ５０３−ｔｒｕｅ）、Ｓ５０１に戻る。一方、管理サーバ１００が、失敗回数が設定値を超えると判定する場合（Ｓ５０３−ｆａｌｓｅ）、Ｓ５０４へ進む。このように、失敗回数が設定値を超えた場合のみ、Ｓ５０４以降へ進み親制御装置の切替えを行うことで、瞬間的な通信遮断が発生した際に、管理サーバ１００が障害発生と認識することを防止でき、後述する親制御装置の切り替えも発生しない。そして、安定した通信を行うことが可能になる。
【００５５】
次に、Ｓ５０４にて、管理サーバ１００は、切替試行回数が子制御装置の数未満か否かを判定する。管理サーバ１００が、切替試行回数が子制御装置の数を超えると判定する場合（Ｓ５０４−ｆａｌｓｅ）、親制御装置切替処理を終了する。一方、管理サーバ１００が、切替試行回数が子制御装置の数未満であると判定する場合（Ｓ５０４−ｔｒｕｅ）Ｓ５０５へ進む。
【００５６】
次に、Ｓ５０５にて、管理サーバ１００は、設定値を超えて連続で通信を失敗した親制御装置の代わりに新たな親制御装置となる子制御装置を選択する子制御装置選択処理（後述、図６）を実行する。なお、管理サーバ１００は、Ｓ５０５にてこれまでに選択していない子制御装置を選択する。
【００５７】
次に、Ｓ５０６にて、管理サーバ１００は、Ｓ５０５にて選択した子制御装置に、親制御装置への切替えを指示するための指示データ（以下、切替指示データと呼ぶ場合がある）を送信する。
【００５８】
ここで、切替指示データは、前述した図３に示される構成管理テーブルを構成する[自装置構成品ＩＤ]と、[親子グループＩＤリスト]とを含む。そして、切替指示データに含まれる[親子グループＩＤリスト]は、切替指示データを受信した子制御機器の自装置構成品ＩＤが親子グループの親制御機器の自装置構成品ＩＤとなっており、障害が発生した親制御装置（設定値を超えて連続で通信を失敗した親制御装置）の自装置構成品ＩＤが、子制御装置の自装置構成品ＩＤとなっており、同一の親子グループ内の他の子制御装置の自装置構成品ＩＤについては変更がない。なお、切替指示データが、切替後の新たな親制御装置の自装置構成品ＩＤを含むようにしても良い。
【００５９】
そして、切替指示データを受信した子制御装置は、受信した切替指示データに基づき、自身が保持している構成管理テーブルを更新する。そして、親制御装置への切替えが完了した後、切替指示データを受信した子制御装置（切替後の親制御装置）は、管理サーバ１００に対して、応答データ（実行結果）を送信する。
【００６０】
次に、Ｓ５０７にて、管理サーバ１００は、Ｓ５０５にて選択した子制御装置の親制御装置への切替えが成功したか否かを判定する。管理サーバ１００が、親制御装置への切替えに失敗したと判定する場合（Ｓ５０７−失敗）、Ｓ５０４へ戻る。一方、管理サーバ１００が、親制御装置への切替えに成功したと判定する場合（Ｓ５０７−成功）、Ｓ５０８へ進む。なお、管理サーバ１００は、Ｓ５０６にて送信した指示データに対する応答データを正常に受信した場合に親制御装置への切替えに成功したと判定する。
【００６１】
次に、Ｓ５０８にて、管理サーバ１００は、同一の親子グループで、切替対象の子制御装置（切替後の親制御装置）以外の全ての制御装置４００に、子制御装置への切替えを指示するための切替指示データを送信する。そして、切替指示データを受信した制御装置４００は、受信した切替指示データに基づき、自身が保持している構成管理テーブルを更新する。そして、切替指示データを受信した各制御装置４００は、管理サーバ１００に対して、応答データ（実行結果）を送信する。その後、管理サーバ１００は、各制御措置４００から送信された応答データを受信する。
【００６２】
なお、子制御装置への切替えが完了した後、切替指示データを受信した制御装置４００が、切替対象の子制御装置（切替後の親制御装置）に対して、応答データを送信するようにしても良い。この場合、切替対象の子制御装置（切替後の親制御装置）は、受信した応答データをまとめて管理サーバ１００へ送信する。その後、管理サーバ１００は、切替対象の子制御装置（切替後の親制御装置）から応答データを受信する。
【００６３】
次に、Ｓ５０９にて、管理サーバ１００は、切替後の親制御装置の自装置構成品ＩＤと、切替後の子制御装置の自装置構成品ＩＤとに基づき、構成管理テーブル（前述、図３）を更新する。
【００６４】
なお、切り替え対象の子制御装置以外への指示データの送信については、各制御装置４００の実行結果に関わらず、通信失敗も含め全ての制御装置４００との通信結果を確認できた時点で管理サーバ１００が持つ構成管理テーブルを書き換え、管理サーバ１００に切り替え対象の制御装置４００を親制御装置として認識させ処理を終了させる。
【００６５】
もし、切り替え指示の結果、管理サーバ１００が、実行失敗を受信、もしくは制御装置４００との間での通信ができなかった場合は、該当制御装置を除外した上で再度切り替え装置の選択および指示作成、送信を行う。これは切り替え対象の制御装置４００から正常終了結果を受信できるまで繰り返し実施し、障害が発生した親制御装置の配下の子制御装置全てに対する指示が失敗した際にはその時点で切り替え処理を終了させる。切り替え対象の制御装置から正常終了結果を受信できた際には、上記の通り、他の制御装置４００に対して同一の切替指示データを送信して切り替えを実行させる。
【００６６】
また、切り替え処理が成功し処理が終了した後は、管理サーバ１００が切り替えを行った親子グループに対して指示および設定を行う際、元々の構成での親制御装置では無く、切り替えを行った元となる子制御装置に対して通信を行う。切り替えが行われた制御装置４００は、元の親制御装置と同様に、管理サーバ１００から受信した切替指示データに基づき、他の子制御装置との通信を行う。
【００６７】
＜子制御装置選択処理＞
図６は、本発明の一実施の形態における子制御装置選択処理の概要を示す図である。
【００６８】
まず、Ｓ６０１にて、管理サーバ１００は、設定値を超えて連続で通信を失敗した親制御装置の配下の子制御装置の中で、これまでの失敗回数が最も少ない子制御装置の自装置構成品ＩＤをすべて抽出する。
【００６９】
より詳細には、上述した図４に示した通り、管理サーバ１００は親制御装置から、子制御装置の実行結果も含めた応答データを受信している。また、管理サーバ１００は応答データから得られる子制御装置への失敗回数を子制御装置毎に集計している。そして、管理サーバ１００は、集計した失敗回数が最も少ない子制御装置の自装置構成品ＩＤをすべて抽出する。これによって、切り替えを行った後の新たな親制御装置に再度障害が発生し、切り替えが高い頻度で必要となる可能性を低くできる。
【００７０】
次に、Ｓ６０２にて、管理サーバ１００は、失敗回数が最も少ない子制御装置の自装置構成品ＩＤをＳ６０１にて複数抽出したか否かを判定する。管理サーバ１００が、失敗回数が最も少ない子制御装置の自装置構製品ＩＤを複数抽出していないと判定する場合（Ｓ６０２−ｆａｌｓｅ）、Ｓ６０４へ進む。一方、管理サーバ１００が、失敗回数が最も少ない子制御装置の自装置構成品ＩＤを複数抽出したと判定する場合（Ｓ６０２−ｔｒｕｅ）、Ｓ６０３へ進む。
【００７１】
次に、Ｓ６０３にて、管理サーバ１００は、Ｓ６０２にて抽出した自装置構成品ＩＤの中から、数値（自装置構成品ＩＤの数値）が最小となる自装置構成品ＩＤを選択する。
【００７２】
次に、Ｓ６０４にて、管理サーバ１００は、Ｓ６０１にて抽出した自装置構成品ＩＤまたはＳ６０３にて選択した自装置構成品ＩＤから特定される子制御装置を、新たな親制御装置になる子制御装置として決定する。
【００７３】
次に、Ｓ６０５にて、管理サーバ１００は、切り替えを行う親子グループ内の全ての制御装置４００に対する通信失敗回数を初期化する。すなわち、管理サーバ１００は、親子グループＩＤリスト内の全ての制御装置の通信失敗回数を初期化する。これによって、切り替えを行う直近で最も障害発生回数の少ない子制御装置を選択することが可能となる。
【００７４】
なお、Ｓ６０２にて、管理サーバ１００は、制御装置４００間（子制御装置と子制御装置との間または、子制御装置と親制御装置との間）の通信の失敗回数を制御装置４００ごとに管理し、制御装置４００間の通信の失敗回数が最も少ない子制御装置の自装置構製品ＩＤを抽出するようにしても良い。
【００７５】
また、Ｓ６０３にて、管理サーバ１００は、切替指示データに含まれる自装置構成品ＩＤから特定される子制御装置を選択するようにしても良い。
【００７６】
また、Ｓ６０３にて、管理サーバ１００は、親子グループを構成する各子制御装置までの物理的な距離（自らが設置されている場所から各子制御装置までの距離）の平均値が最も小さい子制御装置を選択するようにしても良い。
【００７７】
＜切り替え後の通信処理＞
図７は、本発明の一実施の形態における親制御装置切替処理後の全体処理の概要を示すシーケンス図である。これは、上述した図４と同一構成で親制御装置と通信不可となった場合の例である。障害発生が発生した親制御装置については、通信不可となっているため、管理サーバ１００は、新たな親制御装置に対して指示データを送信している。また、新たな親制御装置は、障害が発生し、通信ができなくなった親制御装置（子制御装置への切り換えられている）については、指示データを送信しない。
【００７８】
まず、Ｓ７０１にて、管理サーバ１００が、新たな親制御装置へ、指示データを送信する。
【００７９】
次に、Ｓ７０２にて、新たな親制御装置が、指示データを子制御装置（図中、子制御装置２）へ送信する。
【００８０】
次に、Ｓ７０３にて、子制御装置（図中、子制御装置２）は、Ｓ７０２にて送信された指示データに対する応答データを、新たな親制御装置へ送信する。
【００８１】
次に、Ｓ７０４にて、親制御装置は、子制御装置（図中、子制御装置２）から受信した応答データおよび自らの応答データ（Ｓ７０１にて管理サーバ１００から送信された指示データに対する応答データ）とを一つにまとめた応答データを、管理サーバ１００へ送信する。
【００８２】
＜本実施の形態の効果＞
以上説明した本実施の形態における制御装置によれば、子制御装置として機能する場合、切替指示データを受信することで親制御装置へと機能を切替えることで、親子のグループ毎に並列に管理サーバと通信が可能なシステムにおいて、通信時間を短縮するという特長を活かしつつ、障害発生時に与える影響を最小限に抑えることができる。
【００８３】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。例えば、上記した実施の形態は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施の形態の構成の一部を他の実施の形態の構成に置き換えることが可能であり、また、ある実施の形態の構成に他の実施の形態の構成を加えることも可能である。また、各実施の形態の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
【００８４】
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等のデータは、メモリや、ハードディスク、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等の記録装置、または、ＩＣカード、ＳＤカード、ＤＶＤ等の記録媒体に置くことができる。
【符号の説明】
【００８５】
１０…データ通信システム、
２０…クラウドコンピューティング環境、
１００…管理サーバ、
２００…データベース、
３００…設定端末、
４００…制御装置、
５００…制御対象機器。
【図１】
2017123595.tif 000003
【図２】
2017123595.tif 000004
【図３】
2017123595.tif 000005
【図４】
2017123595.tif 000006
【図５】
2017123595.tif 000007
【図６】
2017123595.tif 000008
【図７】
2017123595.tif 000009
【図８】
2017123595.tif 000010