(57)【特許請求の範囲】
【請求項１】
マスター状態の制御装置と、複数のスレーブ状態の制御装置とを備えるマスター／スレーブシステムであって、
スレーブ状態の制御装置は、
他の全ての制御装置から、各制御装置自身に関する情報を取得する情報取得手段と、
前記取得した情報に基づいて、自制御装置が新たなマスター候補であるか否かを判別し、新たなマスター候補である場合にマスター状態の制御装置にマスター交代要求を送信する判別手段と、を備え、
マスター状態の制御装置は、
スレーブ状態の複数の制御装置からマスター交代要求を受信すると、マスター交代要求を送信したいずれかの制御装置を、新たなマスターとして決定するマスター決定手段を、備え、
前記情報には、各制御装置自身の状態がマスター状態かスレーブ状態かを示す状態情報と、各制御装置自身がマスターとなる条件を満たしているか否かを示すマスター適否情報とが含まれ、
前記判別手段は、他の全ての制御装置から取得した状態情報に基づいて、マスター状態またはマスター状態に切替中の制御装置が１つ存在すると判別した場合であって、マスター状態またはマスター状態に切替中の制御装置から取得したマスター適否情報がマスターとなる条件を満たしていない場合、自制御装置を新たなマスター候補として決定し、マスター状態またはマスター状態に切替中の制御装置にマスター交代要求を送信すること
を特徴とするマスター／スレーブシステム。
【請求項２】
請求項１記載のマスター／スレーブシステムであって、
前記判別手段は、他の全ての制御装置から取得した状態情報に基づいて、他の全ての制御装置の中にマスター状態またはマスター状態に切替中の制御装置が存在しないと判別した場合であって、自制御装置の優先度が最も大きい場合、自制御装置を新たなマスターとして決定すること
を特徴とするマスター／スレーブシステム。
【請求項３】
マスター状態の制御装置と、複数のスレーブ状態の制御装置とを備えるマスター／スレーブシステムにおける制御装置であって、
他の全ての制御装置から、各制御装置自身に関する情報を取得する情報取得手段と、
前記取得した情報に基づいて、自制御装置が新たなマスター候補であるか否かを判別し、新たなマスター候補である場合にマスター状態の制御装置にマスター交代要求を送信する判別手段と、
スレーブ状態の複数の制御装置からマスター交代要求を受信すると、マスター交代要求を送信したいずれかの制御装置を、新たなマスターとして決定するマスター決定手段を、備え、
前記情報には、各制御装置自身の状態がマスター状態かスレーブ状態かを示す状態情報と、各制御装置自身がマスターとなる条件を満たしているか否かを示すマスター適否情報とが含まれ、
前記判別手段は、他の全ての制御装置から取得した状態情報に基づいて、マスター状態またはマスター状態に切替中の制御装置が１つ存在すると判別した場合であって、マスター状態またはマスター状態に切替中の制御装置から取得したマスター適否情報がマスターとなる条件を満たしていない場合、自制御装置を新たなマスター候補として決定し、マスター状態またはマスター状態に切替中の制御装置にマスター交代要求を送信すること
を特徴とする制御装置。
【請求項４】
マスター状態の制御装置と、複数のスレーブ状態の制御装置とを備えるマスター／スレーブシステムが行う、マスター／スレーブ切替方法であって、
スレーブ状態の制御装置は、
他の全ての制御装置から、各制御装置自身に関する情報を取得する情報取得ステップと、
前記取得した情報に基づいて、自制御装置が新たなマスター候補であるか否かを判別し、新たなマスター候補である場合にマスター状態の制御装置にマスター交代要求を送信する判別ステップと、を行い、
マスター状態の制御装置は、
スレーブ状態の複数の制御装置からマスター交代要求を受信すると、マスター交代要求を送信したいずれかの制御装置を、新たなマスターとして決定するマスター決定ステップを、行い、
前記情報には、各制御装置自身の状態がマスター状態かスレーブ状態かを示す状態情報と、各制御装置自身がマスターとなる条件を満たしているか否かを示すマスター適否情報とが含まれ、
前記判別ステップは、他の全ての制御装置から取得した状態情報に基づいて、マスター状態またはマスター状態に切替中の制御装置が１つ存在すると判別した場合であって、マスター状態またはマスター状態に切替中の制御装置から取得したマスター適否情報がマスターとなる条件を満たしていない場合、自制御装置を新たなマスター候補として決定し、マスター状態またはマスター状態に切替中の制御装置にマスター交代要求を送信すること
を特徴とするマスター／スレーブ切替方法。
【請求項５】
請求項４記載のマスター／スレーブ切替方法であって、
前記判別ステップは、他の全ての制御装置から取得した状態情報に基づいて、他の全ての制御装置の中にマスター状態またはマスター状態に切替中の制御装置が存在しないと判別した場合であって、自制御装置の優先度が最も大きい場合、自制御装置を新たなマスターとして決定すること
を特徴とするマスター／スレーブ切替方法。
【請求項６】
請求項４または請求項５記載のマスター／スレーブ切替方法をコンピュータに実行させるためのマスター／スレーブ切替プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マスター状態の１つの制御装置と、スレーブ状態の少なくとも１つの制御装置とを備えるマスター／スレーブ構成のシステムにおいて、マスター状態の制御装置とスレーブ状態の制御装置とを切替える技術に関する。
【背景技術】
【０００２】
１つのマスター装置と、少なくとも１つのスレーブ装置とを備えるマスター／スレーブ構成のシステムがある。スレーブ装置は、例えば、マスター装置が有するデータベースのコピーを保有し、運用する。
【０００３】
このようなシステムにおいては、マスター装置が故障した場合、いずれかのスレーブ装置を新たなマスター装置へと役割変更し、その他のスレーブ装置は新しいマスター装置に追随して動作する。特許文献１には、マスター装置に障害が発生した場合の可用性の確率を高めるシステムが記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開2010-277467号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１では、マスター装置がスレーブ装置から見て障害であると判断できなければマスターとスレーブの切替えが行われない。例えば、マスター装置が二重化構成の場合に片系が故障していても、スレーブ装置はマスター装置の故障とは認識せず、マスター装置の両系が故障となってから、マスター装置の切替えが行われることになる。また、マスター装置が断続的に不具合になる等で性能が低下し、マスターとスレーブの切替えを行うべき場合などにおいても、スレーブ装置が必ずしもマスター装置を障害と判断できない場合があり、信頼性の面で問題がある。
【０００６】
本発明は、上記事情に鑑みてなされたものであり、本発明の目的は、マスター／スレーブ構成のシステムにおいて、マスターとスレーブの切替えを適切に行い、システムの信頼性を高めることにある。
【課題を解決するための手段】
【０００７】
上記目的を達成するため、本発明は、マスター状態の制御装置と、複数のスレーブ状態の制御装置とを備えるマスター／スレーブシステムであって、スレーブ状態の制御装置は、他の全ての制御装置から、各制御装置自身に関する情報を取得する情報取得手段と、前記取得した情報に基づいて、自制御装置が新たなマスター候補であるか否かを判別し、新たなマスター候補である場合にマスター状態の制御装置にマスター交代要求を送信する判別手段と、を備え、マスター状態の制御装置は、スレーブ状態の複数の制御装置からマスター交代要求を受信すると、マスター交代要求を送信したいずれかの制御装置を、新たなマスターとして決定するマスター決定手段を、備え、前記情報には、各制御装置自身の状態がマスター状態かスレーブ状態かを示す状態情報と、各制御装置自身がマスターとなる条件を満たしているか否かを示すマスター適否情報とが含まれ、前記判別手段は、他の全ての制御装置から取得した状態情報に基づいて、マスター状態またはマスター状態に切替中の制御装置が１つ存在すると判別した場合であって、マスター状態またはマスター状態に切替中の制御装置から取得したマスター適否情報がマスターとなる条件を満たしていない場合、自制御装置を新たなマスター候補として決定し、マスター状態またはマスター状態に切替中の制御装置にマスター交代要求を送信する。
【０００８】
本発明は、マスター状態の制御装置と、複数のスレーブ状態の制御装置とを備えるマスター／スレーブシステムにおける制御装置であって、他の全ての制御装置から、各制御装置自身に関する情報を取得する情報取得手段と、前記取得した情報に基づいて、自制御装置が新たなマスター候補であるか否かを判別し、新たなマスター候補である場合にマスター状態の制御装置にマスター交代要求を送信する判別手段と、スレーブ状態の複数の制御装置からマスター交代要求を受信すると、マスター交代要求を送信したいずれかの制御装置を、新たなマスターとして決定するマスター決定手段を、備え、前記情報には、各制御装置自身の状態がマスター状態かスレーブ状態かを示す状態情報と、各制御装置自身がマスターとなる条件を満たしているか否かを示すマスター適否情報とが含まれ、前記判別手段は、他の全ての制御装置から取得した状態情報に基づいて、マスター状態またはマスター状態に切替中の制御装置が１つ存在すると判別した場合であって、マスター状態またはマスター状態に切替中の制御装置から取得したマスター適否情報がマスターとなる条件を満たしていない場合、自制御装置を新たなマスター候補として決定し、マスター状態またはマスター状態に切替中の制御装置にマスター交代要求を送信する。
【０００９】
本発明は、マスター状態の制御装置と、複数のスレーブ状態の制御装置とを備えるマスター／スレーブシステムが行う、マスター／スレーブ切替方法であって、スレーブ状態の制御装置は、他の全ての制御装置から、各制御装置自身に関する情報を取得する情報取得ステップと、前記取得した情報に基づいて、自制御装置が新たなマスター候補であるか否かを判別し、新たなマスター候補である場合にマスター状態の制御装置にマスター交代要求を送信する判別ステップと、を行い、マスター状態の制御装置は、スレーブ状態の複数の制御装置からマスター交代要求を受信すると、マスター交代要求を送信したいずれかの制御装置を、新たなマスターとして決定するマスター決定ステップを、行い、前記情報には、各制御装置自身の状態がマスター状態かスレーブ状態かを示す状態情報と、各制御装置自身がマスターとなる条件を満たしているか否かを示すマスター適否情報とが含まれ、前記判別ステップは、他の全ての制御装置から取得した状態情報に基づいて、マスター状態またはマスター状態に切替中の制御装置が１つ存在すると判別した場合であって、マスター状態またはマスター状態に切替中の制御装置から取得したマスター適否情報がマスターとなる条件を満たしていない場合、自制御装置を新たなマスター候補として決定し、マスター状態またはマスター状態に切替中の制御装置にマスター交代要求を送信する。
【００１０】
本発明は、前記マスター／スレーブ切替方法をコンピュータに実行させるためのマスター／スレーブ切替プログラムである。
【発明の効果】
【００１１】
本発明によれば、マスター／スレーブ構成のシステムにおいて、マスターとスレーブの切替を適切に行い、システムの信頼性を高めることができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の実施形態に係るマスター／スレーブシステムの全体構成図である。
【図２】制御装置の構成を示すブロック図である。
【図３】制御装置の問合せ処理を説明する図である。
【図４】各制御装置の重みの一例を示す図である。
【図５】現マスターがマスター条件を満たしていない場合の処理を示す図である。
【図６】マスター交代要求に対する応答を示す図である。
【図７】スレーブ状態の制御装置の処理を示すフローチャートである。
【発明を実施するための形態】
【００１３】
以下、本発明の実施の形態について、図面を参照して説明する。
【００１４】
図１は、本発明の実施形態に係るマスター／スレーブシステムの全体構成図である。図示するシステムは、マスター状態の１つの制御装置１０Ａと、スレーブ状態の少なくとも１つの制御装置１０Ｂとを備えるマスター／スレーブ構成のシステムである。
【００１５】
本実施形態の全ての制御装置１０（１０Ａ、１０Ｂ）は、ネットワーク９を介して相互に通信可能であり、マスターの制御装置１０Ａのデータベース２と、スレーブの制御装置１０Ｂのデータベース２とを同期させるための情報を送受信する。
【００１６】
マスターの制御装置１０Ａとスレーブの制御装置１０Ｂとが同じデータを保有することにより、図示しない端末や他装置は、近い位置に配置された制御装置にアクセスすることが可能となり、制御装置の負荷の分散、制御装置との通信時間の短縮、制御装置の可用性（信頼性）の向上などが可能となる。
【００１７】
なお、マスター状態またはスレーブ状態の各制御装置は、信頼性を高めるため、個々に２重化構成（現用系、待機系）であってもよい。
【００１８】
図２は、制御装置１０（１０Ａ、１０Ｂ）の構成を示すブロック図である。図示する制御装置１０は、情報取得部１１と、判定部１２と、マスター決定部１３と、監視部１４と、情報送信部１５と、記憶部１６と、マスター条件記憶部１７と、重み情報記憶部１８と、を備える。
【００１９】
情報取得部１１は、ネットワーク９を介して他の全ての制御装置に問合せ要求を送信し、各制御装置自身に関する情報を取得する。判定部１２は、他の全ての制御装置から取得した情報に基づいて、自制御装置が新たなマスター候補であるか否かを判別し、新たなマスター候補である場合にマスター状態の制御装置にマスター交代要求を送信する。また、判定部１２は、他の全ての制御装置から取得した情報に基づいて、自制御装置を新たなマスターとするか否かを判別する。なお、情報取得部１１および判定部１２は、自制御装置が、スレーブの場合に動作する。
【００２０】
マスター決定部１３は、自制御装置がマスターの場合に動作し、スレーブ状態の複数の制御装置からマスター交代要求を受信すると、マスター交代要求を送信したいずれかの制御装置を新たなマスターとして決定し、スレーブ状態の制御装置に通知する。
【００２１】
監視部１４は、自制御装置の状態を監視し、記憶部１６に記憶する。本実施形態では、状態情報、通信可否情報およびマスター適否情報が、自制御装置の情報として記憶部１６に記憶される。情報送信部１５は、他の制御装置からの問合せ要求を受信すると、記憶部１６に記憶された情報を要求元の制御装置に送信する。なお、監視部１４および情報送信部１５は、自制御装置がスレーブの場合であってもマスターの場合であっても、常に動作する。
【００２２】
マスター条件記憶部１７および重み情報記憶部１８については、後述する。データベース２は、前述のとおり、マスターの制御装置のデータベースと同期したデータが記憶される。
【００２３】
上記説明した制御装置は、例えば、ＣＰＵと、メモリと、ＨＤＤ等の外部記憶装置と、入力装置と、出力装置とを備えた汎用的なコンピュータシステムを用いることができる。このコンピュータシステムにおいて、ＣＰＵがメモリ上にロードされた制御装置用のプログラムを実行することにより、制御装置の各機能が実現される。また、制御装置用のプログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ−ＲＯＭなどのコンピュータ読取り可能な記録媒体に記憶することも、ネットワークを介して配信することもできる。
【００２４】
次に、上記説明した本実施形態の動作を説明する。
【００２５】
図３から図６は、制御装置の動作を説明するための説明図である。図３から図６では、スレーブの状態にある制御装置を制御装置0（自制御装置）とし、他の制御装置（他制御装置）を制御装置1〜nで表している。
【００２６】
まず、スレーブの状態にある制御装置0の動作について説明する。
【００２７】
図３では、スレーブ状態の制御装置0（自制御装置）の情報取得部１１が、他の全ての制御装置1〜nに対して、問合せ要求を送信し、他の全ての制御装置から各制御装置自身に関する情報として次の３つの情報を取得する。問い合わせ要求を受信した各制御装置1〜nの情報送信部１５は、記憶部１６に記憶された情報を読み出し、要求元の制御装置0に送信する。記憶部１６には、監視部１４が監視している、自身の現時点の状態を示す情報が記憶されている。
【００２８】
「状態情報（情報１）」：問合せ要求を受信した制御装置自身の状態を示す情報であって、マスター状態であるかスレーブ状態であるかを示す情報である。本実施形態では、状態情報として、例えば「マスター状態」、「スレーブ状態」、「マスター状態に切替中の状態」の３つの状態を用いるものとするが、これに限定されるものではない。例えば、状態情報に「不定状態（制御装置の立上げ時など）」を加えてもよい。
【００２９】
「通信可否情報（情報２）」：問合せ要求を受信した制御装置が、他の全ての制御装置と通信可能であるか否かを表す情報である。監視部１４は、他の全ての制御装置との接続状態をそれぞれ監視し、少なくとも１つの制御装置と通信できない状態を検知すると、記憶部１６の通信可否情報を「通信不可状態」に設定・更新する。なお、全ての制御装置との通信が可能な場合には、記憶部１６の通信可否情報には「通信可能状態」が設定されている。
【００３０】
「マスター適否情報（情報３）」：問合せ要求を受信した制御装置がマスター条件記憶部１７にあらかじめ記憶されたマスター条件を満たしているか否かを表す情報である。監視部１４は、自己の制御装置を監視し、マスター条件を満たしていないことを検知すると、記憶部１６のマスター適否情報を「マスター不可状態」に設定・更新する。なお、マスター条件を満たしている場合には、記憶部１６のマスター適否情報には「マスター可能状態」が設定されている。
【００３１】
マスター条件記憶部１７に記憶されるマスター条件は、マスターとなるべき所定の条件（マスターとして適した（必要な）状態であること）であって、例えば、制御装置が二重化構成（現用系、待機系）の場合に両方の系の動作が正常（良好）であること、制御装置が断続的に不具合などにより性能が低下していないこと、などが考えられる。
【００３２】
なお、制御装置0が、他の全ての制御装置1〜nに対して問合せ、各制御装置から情報を取得する問合せ処理、および以下に説明する判定処理は、制御装置0だけでなく、スレーブの状態にある全ての制御装置が実施する。
【００３３】
そして、スレーブ状態の制御装置0の判定部１２は、他の全ての制御装置1〜nから取得した情報と記憶部１６の情報とを用いて以下の判定を行う。
【００３４】
まず、制御装置0は、各制御装置1〜nから取得した「状態情報（情報１）」を用いて、他の全ての制御装置がマスター状態でなく、かつ、他の全ての制御装置がマスターに切替わる動作の最中の状態でない場合、各制御装置1〜nから取得した「通信可否情報（情報２）を用いて判断する。すなわち、制御装置0は、各制御装置1〜nから取得した「通信可否情報（情報２）」が全て「通信可能状態」（全ての制御装置との相互通信が可能な状態）であると判定した場合は、各制御装置の重み（優先度）に基づいて、当該制御装置0を新たなマスターとするか否かを決定する。
【００３５】
図４は、各制御装置の重みの一例を示すものである。図５に示す場合、最も重みが大きい（優先度が高い）のは制御装置kであり、制御装置kが新たなマスターとなる。制御装置0は、自己を含めた全ての制御装置の中で自己の重みが最大か否かを判別し、図５の例では自己の重み（2）が最大ではないため、新たなマスターではないと判別する。
【００３６】
各制御装置の重みについては、重み情報記憶部１８に全ての制御装置の重みをあらかじめ保持しておくことが考えられる。または、重み情報記憶部１８には、自己の制御装置の重みのみを格納しておき、問合せ要求に対する応答として重み情報（情報４）を制御装置間で相互に送受信することとしてもよい。
【００３７】
なお、スレーブ状態の全ての制御装置において、同じ情報が取得されるため、各制御装置が自律的に判定しても同じ結果となり制御装置間で矛盾しない。また、「状態情報（情報１）」が「状態不定」の制御装置については、新たなマスターの対象外としてもよい。
【００３８】
また、制御装置0は、各制御装置1〜nから取得した「状態情報（情報１）」に基づいて、マスター状態またはマスター状態に切替中の他の制御装置が１つ存在すると判別した場合、マスター状態またはマスター状態に切替中の他の制御装置から取得した「マスター適否情報（情報３）」がマスターとなる条件を満たしているか否かを判別する。すなわち、「マスター適否情報（情報３）」が、「マスター可能状態」か、あるいは「マスター不可状態」かを判別する。マスターとなる条件を満たしている場合（「マスター可能状態」の場合）、マスター状態またはマスター状態に切替中の他の制御装置を、そのままマスターと判定する。なお、スレーブ状態の全ての制御装置において、同じ情報が取得されるため、各制御装置が自律的に判定しても同じ結果となり制御装置間で矛盾しない。
【００３９】
一方、図５に示すように、マスター状態の制御装置1から、マスター適否情報（情報３）」が、「マスター不可状態」を受信した場合、マスターとなる条件を満たす他の全てのスレーブ状態にある制御装置（記憶部１６に「マスター可能状態」が設定された制御装置）は、自己が新たなマスター候補であるとの判定し、図６に示すように、現時点においてマスター状態である制御装置1に自己が新たなマスターになるようマスター交代要求を送信する。マスター状態の制御装置1は、複数の制御装置からのマスター交代要求に対して、１つの制御装置をマスターに選定し、マスターに選定した制御装置にＯＫを応答し、それ以外の制御装置にＮＧを応答する。
【００４０】
次に、マスター状態にある制御装置の動作について説明する。
【００４１】
マスター状態の制御装置は、上述のスレーブ状態の制御装置の情報取得部１１が行う問合せ処理、および判定部１２が行う判定処理は行わず、スレーブ状態の制御装置からマスター交代要求を受信した場合に、マスター決定部１３は、１つの制御装置をマスターに選定し、各制御装置から送信されたマスター交代要求に対してＯＫまたはＮＧの応答を送信する。マスターの選定方法としては、例えば、最も早くマスター交代要求を届けた（送信した）制御装置を新たなマスターとするなどの方法がある。
【００４２】
また、マスター状態の制御装置は、監視部１４が自身の故障等を検知し、早急な切替を必要とする場合は、マスター決定部１３は、いずれかのスレーブ状態の制御装置を選定し、選定した制御装置にマスターを交代する指示を行う。例えば、マスター決定部１３は、最も重みの大きい制御装置を選定し、選定した制御装置に新たなマスターとして切替えるよう指示を送信する。
【００４３】
次に、スレーブ状態の制御装置の処理について、より具体的に説明する。
【００４４】
図７は、スレーブ状態の制御装置の処理を示すフローチャートである。図示するフローチャートは、スレーブ状態にある各制御装置が行う処理であって、スレーブ状態の各制御装置が自律的に実施するものである。また、スレーブ状態にある各制御装置は、所定のタイミング（所定の時間間隔）で、図示するフローチャートを繰り返し行うものとする。
【００４５】
スレーブ状態の各制御装置の情報取得部１１は、全ての他の制御装置に問合せ要求を送信し、各制御装置自身に関する情報を取得する（Ｓ１１）。取得する情報には、前述の「状態情報（情報１）」、「通信可否情報（情報２）」、「マスター適否情報（情報３）」が含まれる。
【００４６】
そして、スレーブ状態の各制御装置の判定部１２は、「状態情報（情報１）」に基づいて、マスター状態の制御装置が１つ存在するか否かを判定する（Ｓ１２）。マスター状態またはマスター状態に切替中の他の制御装置が１つ存在する場合（Ｓ１２：ＹＥＳ）、判定部１２は、マスター状態またはマスター状態に切替中の他の制御装置から取得した「マスター適否情報（情報３）」に基づいて、マスターとなる条件を満たしているか否かを判定する（Ｓ１６）。
【００４７】
マスターとなる条件を満たしている場合（Ｓ１６：ＹＥＳ）、処理を終了し、マスター状態またはマスター状態に切替中の他の制御装置が継続してマスターとなる。マスターとなる条件を満たしていない場合（Ｓ１６：ＮＯ）、判定部１２は、記憶部１６のマスター適否情報を参照し、自制御装置がマスター条件を満たすか否かを判定する（Ｓ１７）。自制御装置がマスター条件を満たさない場合（Ｓ１７：ＮＯ）、処理を終了する。自制御装置がマスター条件を満たす場合（Ｓ１７：ＹＥＳ）、判定部１２は、現時点でマスター状態またはマスター状態に切替中の他の制御装置に、マスター交代要求を送信する（Ｓ１８）。
【００４８】
現時点でマスター状態またはマスター状態に切替中の制御装置は、複数の制御装置からマスター交代要求を受信した場合、１つの制御装置を新たなマスターに決定し、新たなマスターに決定した制御装置にＯＫ（承諾）を、それ以外の制御装置にＮＧ（否定）を応答する。新たなマスターを選定する方法としては、例えばマスターに最も早く交代要求を届けた制御装置を選定することが考えられる。
【００４９】
ＮＧの応答を受信した場合（Ｓ１９：ＮＯ）、判定部１２は、他の制御装置が新たなマスターとなるため処理を終了する。ＯＫの応答を受信した場合（Ｓ１９：ＹＥＳ）、判定部１２は、自制御装置を新たなマスターとして決定し、他の制御装置に自制御装置が新たなマスターとなったことを通知するなどのマスターとなるための所定の処理を行い（Ｓ１５）、処理を終了する。
【００５０】
一方、判定部１２は、「状態情報（情報１）」に基づいて行われる判定において（Ｓ１２）、他の全ての制御装置の中にマスター状態またはマスター状態に切替中の制御装置が１つも存在しないと判別した場合（Ｓ１２：ＮＯ（１））、判定部１２は、他の制御装置から取得した「通信可否情報（情報２）」に基づいて、通信できない制御装置が存在するか否かを判定する（Ｓ１３）。また、判定部１２は、他の制御装置から取得した「通信可否情報（情報２）」だけでなく、記憶部１６に記憶された自制御装置の通信可否情報も用いて、全ての制御装置と相互通信できない制御装置が存在するか否かを判定する。
【００５１】
他の全ての制御装置と相互通信することができない制御装置が存在する場合（Ｓ１３：ＹＥＳ）、現時点の状態を維持することとし、処理を終了する。このような一部の制御装置または通信環境の障害・故障などにより全ての制御装置が相互通信できる状態にない場合は、適切に新たなマスターを決定することが困難であるとみなし、現状維持とする。なお、各制御装置においても、同じ情報が送受信されるため、同じ判定結果となり、制御装置間での矛盾は発生しない。
【００５２】
他の全ての制御装置と相互通信することができない制御装置が存在しない場合（Ｓ１３：ＮＯ）、判定部１２は、自制御装置の重みが最大か否かに基づいて、自制御装置を新たなマスターとするか否かを決定する（Ｓ１４）。各制御装置の重みについては、各制御装置の重み情報記憶部１８に全ての制御装置の重みをあらかじめ保持しておくこと、または、重み情報記憶部１８には自己の制御装置の重みのみを格納しておき、問合せ要求（Ｓ１１）に対する応答として重み情報（情報４）を制御装置間で相互に送受信することなどにより、各制御装置の重み情報を取得する。
【００５３】
判定部１２は、自己を含めた全ての制御装置の中で自己の重みが最大か否かを判別し、自己の重みが最大の場合（Ｓ１４：ＹＥＳ）、自制御装置を新たなマスターとして決定し、他の制御装置に自制御装置が新たなマスターとなったことを通知するなどのマスターとなるための所定の処理を行い（Ｓ１５）、処理を終了する。自己の重みが最大でない場合（Ｓ１４：ＮＯ）、自制御装置を新たなマスターとすることなく処理を終了する。なお、「状態情報（情報１）」が「状態不定」の制御装置については、新たなマスターの対象外としてもよい。
【００５４】
なお、全ての制御装置が相互通信できる状態にない場合（Ｓ１３：ＹＥＳ）においても、新たなマスターを決定する必要がある場合においては、図７の点線（別案）として示したとように、Ｓ１２：ＮＯ（１）の場合において、Ｓ１３の処理を行わずＳ１４に進み、（すなわち、通信できない他の制御装置がある場合においてもＳ１４に進み）、自制御装置を新たなマスターとするか否かを決定してもよい（Ｓ１４）。  
一方、判定部１２は、「状態情報（情報１）」に基づいて行われる判定において（Ｓ１２）、他の全ての制御装置の中に複数のマスター状態の制御装置が存在する場合、複数のマスター状態に切替中の制御装置が存在する場合、または、少なくも１つのマスター状態の制御装置と少なくとも１つのマスター状態に切替中の制御装置が存在すると判別した場合（Ｓ１２：ＮＯ（２））、判定部１２は、異常状態と判定し（Ｓ２０）、システム管理者等にエラーを通知し、処理を終了する。
【００５５】
以上説明した本実施形態では、スレーブ状態の各制御装置が、他の制御装置に問合せ要求を送信し、各制御装置自身に関する情報を制御装置間で自律的に相互に交換・取得する。これにより、本実施形態では、マスター／スレーブ構成のシステムにおいて、マスターとスレーブの切替を適切に行い、システムの信頼性を高めることができる。
【００５６】
例えば、各制御装置がマスターとなる条件を満たしているかの情報を制御装置間で自律的に相互交換することにより、２重化構成のマスターの片系故障の場合、マスター装置が断続的に不具合になり性能低下が生じている場合などであっても、自律的に新たなマスターを決定することができ、システム管理者の人手による介在を極力少なくし、可用性の高いシステムを実現することができる。
【００５７】
また、マスター状態またはマスター状態に切替中の制御装置が１つも存在しない場合、自制御装置の重みが全ての制御装置の中で最大か否かを判別し、自制御装置を新たな制御装置とするか否かを自律的に決定することができ、システム管理者の人手による介在を極力少なくし、可用性の高いシステムを実現することができる。
【００５８】
なお、本発明は上記実施形態に限定されるものではなく、その要旨の範囲内で数々の変形が可能である。
【符号の説明】
【００５９】
１０、１０Ａ、１０Ｂ：制御装置
１１：情報取得部
１２：判定部
１３：マスター決定部
１４：監視部
１５：情報送信部
１６：記憶部
１７：マスター条件記憶部
１８：重み情報記憶部
【図１】
0005613119.tif 000002
【図２】
0005613119.tif 000003
【図３】
0005613119.tif 000004
【図４】
0005613119.tif 000005
【図５】
0005613119.tif 000006
【図６】
0005613119.tif 000007
【図７】
0005613119.tif 000008