(57)【要約】【課題】装置の状態遷移の指示を受信できない場合でも、適切な状態へ遷移することが可能な予備系装置、現用系装置、システム、方法及びプログラムを提供すること。【解決手段】予備系装置１１は、現用系装置１２が正常動作可能かを示す生存情報を、第１通信経路ｐ１を使用して現用系装置１２から取得する予備系取得部１１１と、予備系装置１１の生存情報と、予備系装置１１の状態を示す状態情報と、複数の現用系装置１２のうちの所定の現用系装置１２ｐを識別するための識別情報と、を第２通信経路ｐ２を使用して複数の現用系装置１２に通知し、複数の現用系装置１２の状態を制御する冗長管理部１１２と、を備える。【選択図】図１
2020140500.tif 000002
【特許請求の範囲】
【請求項１】
現用系装置が正常動作可能かを示す生存情報を、第１通信経路を使用して前記現用系装置から取得する予備系取得部と、
予備系装置の前記生存情報と、前記予備系装置の状態を示す状態情報と、複数の前記現用系装置のうちの所定の現用系装置を識別するための識別情報と、を第２通信経路を使用して複数の前記現用系装置に通知し、複数の前記現用系装置の状態を制御する冗長管理部と、
を備える予備系装置。
【請求項２】
前記冗長管理部は、前記予備系装置の状態を運用に遷移させ、前記所定の現用系装置の状態を前記予備系装置に代えて待機に遷移させる場合、前記予備系装置の前記生存情報に生存を設定し、前記予備系装置の前記状態情報に運用を設定し、前記識別情報に前記所定の現用系装置の識別情報を設定する、
請求項１に記載の予備系装置。
【請求項３】
前記冗長管理部は、前記予備系装置に代えて前記所定の現用系装置の状態を運用に遷移させる場合、前記予備系装置の前記生存情報に非生存を設定する、もしくは前記予備系装置の前記状態情報に待機を設定する、
請求項１又は２に記載の予備系装置。
【請求項４】
前記冗長管理部は、前記予備系装置の前記生存情報を生存レジスタに設定し、前記予備系装置の前記状態情報と、前記識別情報と、を状態レジスタに設定し、
前記予備系装置の前記生存情報は、前記生存レジスタを介して、複数の前記現用系装置に通知され、
前記予備系装置の前記状態情報と、前記識別情報と、は前記状態レジスタを介して、複数の前記現用系装置に通知される、
請求項１乃至３のいずれか１つに記載の予備系装置。
【請求項５】
前記冗長管理部は、前記現用系装置の前記生存情報の通知が前記現用系装置から所定時間以上ない場合、前記予備系装置の前記状態レジスタの前記状態情報に運用を設定し、前記状態レジスタの前記識別情報に前記所定の現用系装置の識別情報を設定する、
請求項４に記載の予備系装置。
【請求項６】
前記予備系取得部は、前記現用系装置の前記生存情報を、前記現用系装置から定期的に取得する、
請求項１乃至５のいずれか１つに記載の予備系装置。
【請求項７】
現用系装置が正常動作可能かを示す生存情報を、第１通信経路を使用して予備系装置に通知する現用系通知部と、
前記予備系装置の前記生存情報と、前記予備系装置の状態を示す状態情報と、複数の前記現用系装置のうちの所定の現用系装置を識別するための識別情報と、を第２通信経路を使用して前記予備系装置から取得する現用系取得部と、
前記予備系装置の前記生存情報と、前記予備系装置の前記状態情報と、前記所定の現用系装置を識別するための識別情報と、に基づいて前記現用系装置の状態を制御する状態制御部と、
を備える現用系装置。
【請求項８】
予備系装置と現用系装置とを備え、
前記予備系装置は、
前記現用系装置が正常動作可能かを示す生存情報を、第１通信経路を使用して前記現用系装置から取得する予備系取得部と、
前記予備系装置の前記生存情報と、前記予備系装置の状態を示す状態情報と、複数の前記現用系装置のうちの所定の現用系装置を識別するための識別情報と、を第２通信経路を使用して複数の前記現用系装置に通知し、複数の前記現用系装置の状態を制御する冗長管理部と、を有し、
前記現用系装置は、
前記現用系装置が正常動作可能かを示す生存情報を、前記第１通信経路を使用して前記予備系装置に通知する現用系通知部と、
前記予備系装置の前記生存情報と、前記予備系装置の前記状態情報と、前記所定の現用系装置の前記識別情報と、を前記第２通信経路を使用して前記予備系装置から取得する現用系取得部と、
前記予備系装置の前記生存情報と、前記予備系装置の前記状態情報と、前記所定の現用系装置の前記識別情報と、に基づいて前記現用系装置の状態を制御する状態制御部と、を有する、
システム。
【請求項９】
現用系装置が正常動作可能かを示す生存情報を、第１通信経路を使用して前記現用系装置から取得することと、
前記現用系装置と予備系装置の状態を管理することと、
前記予備系装置の前記生存情報と、前記予備系装置の状態を示す状態情報と、複数の前記現用系装置のうちの所定の現用系装置を識別するための識別情報と、を第２通信経路を使用して複数の前記現用系装置に通知し、複数の前記現用系装置の状態を制御することと、
を備える方法。
【請求項１０】
現用系装置が正常動作可能かを示す生存情報を、第１通信経路を使用して前記現用系装置から取得することと、
前記現用系装置と予備系装置の状態を管理することと、
前記予備系装置の前記生存情報と、前記予備系装置の状態を示す状態情報と、複数の前記現用系装置のうちの所定の現用系装置を識別するための識別情報と、を第２通信経路を使用して複数の前記現用系装置に通知し、複数の前記現用系装置の状態を制御することと、
をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、予備系装置、現用系装置、システム、方法及びプログラムに関するものであり、特に、装置の状態遷移の指示を受信できない場合でも、適切な状態へ遷移することが可能な予備系装置、現用系装置、システム、方法及びプログラムに関する。
【背景技術】
【０００２】
装置に故障が発生してもサービスを継続できるシステムが求められている。このシステムとして、現用系装置と予備系装置とを制御し、現用系装置が故障等により正常動作ができない場合、予備系装置が現用系装置に代わって動作するものが知られている。このシステムにおいては、予備系装置と現用系装置との冗長構成を有することで、現用系装置に故障が発生しても予備系装置に処理を引き継いでサービスを継続することができる。
【０００３】
特許文献１には、現用機と予備機とで構成され、現用機の故障クリア手段は、現用機の状態記憶手段に格納された故障状態をクリアし、次に、現用機の遷移抑止手段は、予備機のクラスタ状態をサービス稼働中への遷移が抑止されている状態へ遷移させ、次に、現用機の遷移抑止解除手段は、予備機のクラスタ状態をサービス稼働中へ遷移できる状態へ遷移させるクラスタシステムが開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１２−０１４６７０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上述の現用系装置と予備系装置とを制御するシステムにおいては、装置を管理し制御する機能が動作しない場合、装置が状態遷移の指示を受信できないのでサービスを継続することが難しいという課題があった。また、予め冗長管理機能を備えた装置を起動しておく必要があり、システムの起動条件に制限があった。
【０００６】
本開示の目的は、上述した課題のいずれかを解決する予備系装置、現用系装置、システム、方法及びプログラムを提供することにある。
【課題を解決するための手段】
【０００７】
本開示に係る予備系装置は、
現用系装置が正常動作可能かを示す生存情報を、第１通信経路を使用して前記現用系装置から取得する予備系取得部と、
前記予備系装置の前記生存情報と、前記予備系装置の状態を示す状態情報と、複数の前記現用系装置のうちの所定の現用系装置を識別するための識別情報と、を第２通信経路を使用して複数の前記現用系装置に通知し、複数の前記現用系装置の状態を制御する冗長管理部と、
を備える。
【０００８】
本開示に係る現用系装置は、
現用系装置が正常動作可能かを示す生存情報を、第１通信経路を使用して予備系装置に通知する現用系通知部と、
前記予備系装置の前記生存情報と、前記予備系装置の状態を示す状態情報と、複数の前記現用系装置のうちの所定の現用系装置を識別するための識別情報と、を第２通信経路を使用して前記予備系装置から取得する現用系取得部と、
前記予備系装置の前記生存情報と、前記予備系装置の前記状態情報と、前記所定の現用系装置を識別するための識別情報と、に基づいて前記現用系装置の状態を制御する状態制御部と、
を備える。
【０００９】
本開示に係るシステムは、
予備系装置と現用系装置とを備え、
前記予備系装置は、
前記現用系装置が正常動作可能かを示す生存情報を、第１通信経路を使用して前記現用系装置から取得する予備系取得部と、
前記予備系装置の前記生存情報と、前記予備系装置の状態を示す状態情報と、複数の前記現用系装置のうちの所定の現用系装置を識別するための識別情報と、を第２通信経路を使用して複数の前記現用系装置に通知し、複数の前記現用系装置の状態を制御する冗長管理部と、を有し、
前記現用系装置は、
前記現用系装置が正常動作可能かを示す生存情報を、前記第１通信経路を使用して前記予備系装置に通知する現用系通知部と、
前記予備系装置の前記生存情報と、前記予備系装置の前記状態情報と、前記所定の現用系装置の前記識別情報と、を前記第２通信経路を使用して前記予備系装置から取得する現用系取得部と、
前記予備系装置の前記生存情報と、前記予備系装置の前記状態情報と、前記所定の現用系装置の前記識別情報と、に基づいて前記現用系装置の状態を制御する状態制御部と、を有する。
【００１０】
本開示に係る方法は、
現用系装置が正常動作可能かを示す生存情報を、第１通信経路を使用して前記現用系装置から取得することと、
前記現用系装置と予備系装置の状態を管理することと、
前記予備系装置の前記生存情報と、前記予備系装置の状態を示す状態情報と、複数の前記現用系装置のうちの所定の現用系装置を識別するための識別情報と、を第２通信経路を使用して複数の前記現用系装置に通知し、複数の前記現用系装置の状態を制御することと、
を備える。
【００１１】
本開示に係るプログラムは、
現用系装置が正常動作可能かを示す生存情報を、第１通信経路を使用して前記現用系装置から取得することと、
前記現用系装置と予備系装置の状態を管理することと、
前記予備系装置の前記生存情報と、前記予備系装置の状態を示す状態情報と、複数の前記現用系装置のうちの所定の現用系装置を識別するための識別情報と、を第２通信経路を使用して複数の前記現用系装置に通知し、複数の前記現用系装置の状態を制御することと、
をコンピュータに実行させる。
【発明の効果】
【００１２】
本開示によれば、装置の状態遷移の指示を受信できない場合でも、適切な状態へ遷移することが可能な予備系装置、現用系装置、システム、方法及びプログラムを提供することができる。
【図面の簡単な説明】
【００１３】
【図１】実施の形態に係る予備系装置を例示するブロック図である。
【図２】実施の形態に係るシステムを例示するブロック図である。
【図３】実施の形態に係るシステムの動作を例示するシーケンス図である。
【図４】実施の形態に係るシステムの動作を例示するシーケンス図である。
【図５】実施の形態に係るシステムの動作を例示するフローチャートである。
【図６】実施の形態の比較例に係るシステムを例示するブロック図である。
【図７】実施の形態の比較例に係るシステムの動作を例示するシーケンス図である。
【発明を実施するための形態】
【００１４】
以下、図面を参照して本発明の実施の形態について説明する。各図面において、同一又は対応する要素には同一の符号が付されており、説明の明確化のため、必要に応じて重複説明を省略する。
【００１５】
［実施の形態］
実施の形態に係る予備系装置及びシステムの構成を説明する。
この例では、Ｎ＋１冗長構成のシステムを例に挙げて説明する。
【００１６】
図１は、実施の形態に係る予備系装置を例示するブロック図である。
図２は、実施の形態に係るシステムを例示するブロック図である。
図２は、Ｎ＋１冗長構成のシステムを示す。
図２において、第１から第Ｎまでの現用系装置１２を、現用系装置１２ａ、現用系装置１２ｂ、現用系装置１２ｃ、現用系装置１２ｄ、現用系装置１２ｎとして示す。
【００１７】
図１に示すように、実施の形態に係る予備系装置１１は、予備系取得部１１１と、冗長管理部１１２と生存レジスタ１１４ａと状態レジスタ１１４ｂとを備える。図２に示すように、実施の形態に係るシステム１０は、予備系装置１１と現用系装置１２とを備える。
【００１８】
現用系装置１２は、現用系装置１２ａ、現用系装置１２ｂ、現用系装置１２ｃ、現用系装置１２ｄ、現用系装置１２ｎを有する。複数の現用系装置１２のそれぞれは、現用系通知部（図示せず）と現用系取得部（図示せず）と現用系状態制御部（図示せず）とを備える。複数の現用系装置１２のそれぞれと予備系装置１１とは、第１通信経路ｐ１及び第２通信経路ｐ２とで接続される。予備系装置１１と現用系装置１２とをまとめて装置と称することもある。
【００１９】
図２に示すＮ＋１冗長構成のシステム１０では、通常時は現用系装置１２が運用となりサービスを提供し、予備系装置１１が待機となる。複数の現用系装置１２のいずれかが故障等によりサービスを提供できない場合、サービスが提供できなくなった現用系装置１２の代わりに、予備系装置１１が運用となりサービスを引き継ぐ。また、保守操作により現用系装置を待機とし、予備系装置１１を運用として切り替えることもできる。
【００２０】
現用系装置１２の現用系通知部は、現用系装置１２が正常動作可能かを示す生存情報を、第１通信経路ｐ１を使用して予備系装置１１の予備系取得部１１１を介して、冗長管理部１１２に通知する。現用系装置１２は、第１通信経路ｐ１を使用して予備系装置１１の冗長管理部１１２に、自身の起動や故障状態を通知してもよい。
【００２１】
予備系装置１１の予備系取得部１１１は、現用系装置１２が正常動作可能かを示す生存情報を、第１通信経路ｐ１を使用して現用系装置１２から取得する。すなわち、予備系取得部１１１は、現用系装置１２ａ、現用系装置１２ｂ、現用系装置１２ｃ、現用系装置１２ｄ及び現用系装置１２ｎのそれぞれから生存情報を取得する。予備系取得部１１１は、現用系装置１２の生存情報を、現用系装置１２から定期的に取得してもよい。また、予備系装置１１は、現用系装置１２から通知された現用系装置１２の起動通知や故障状態に基づいて現用系装置１２の生存を判断し、それを生存情報としてもよい。
【００２２】
冗長管理部１１２は、現用系装置１２と予備系装置１１（Ｎ＋１冗長構成）の状態を管理する。具体的には、冗長管理部１１２は、複数の現用系装置１２から通知された起動や故障状態に基づいて、第１通信経路ｐ１を使用して複数の現用系装置１２に運用や待機への状態遷移を指示する。
【００２３】
また、冗長管理部１１２は、予備系装置１１の生存情報を生存レジスタ１１４ａに設定する。冗長管理部１１２は、生存情報を定期的に生存レジスタ１１４ａに設定してもよい。生存情報には、正常動作可能を示す「生存」と、例えば、故障により正常動作不可能を示す「非生存」がある。尚、生存情報を生存状態と称することもある。
【００２４】
冗長管理部１１２は、現用系装置１２の生存情報の通知が現用系装置１２から所定時間以上ない場合、生存情報の通知が所定時間以上ない所定の現用系装置１２ｐの代わりに予備系装置１１を使用してサービスを継続させるため、次のような動作を行う。冗長管理部１１２は、予備系装置１１の状態レジスタ１１４ｂの状態情報に「運用」を設定し、状態レジスタ１１４ｂの識別情報に所定の現用系装置１２ｐを識別するための識別情報を設定する。
【００２５】
冗長管理部１１２は、予備系装置１１の状態を示す状態情報と、現用系装置１２を識別するための識別情報と、を状態レジスタ１１４ｂに設定する。状態には、例えば、「待機」、又は、「運用」がある。
【００２６】
冗長管理部１１２は、予備系装置１１の生存情報と、予備系装置１１の状態を示す状態情報と、を第２通信経路ｐ２を使用して複数の現用系装置１２に生存レジスタ１１４ａ及び状態レジスタ１１４ｂを介して通知する。また、冗長管理部１１２は、複数の現用系装置１２のうちの所定の現用系装置１２ｐを識別するための識別情報を第２通信経路ｐ２を使用して複数の現用系装置１２に状態レジスタ１１４ｂを介して通知する。
【００２７】
現用系装置１２の現用系取得部は、予備系装置１１の生存情報と、予備系装置１１の状態を示す状態情報と、複数の現用系装置１２のうちの所定の現用系装置１２ｐを識別するための識別情報と、を第２通信経路ｐ２を使用して予備系装置１１から取得する。現用系装置１２の状態制御部は、予備系装置１１の生存情報と、予備系装置の状態情報と、所定の現用系装置１２ｐを識別するための識別情報と、に基づいて現用系装置１２の状態を制御する。これにより、予備系装置１１の冗長管理部１１２は、複数の現用系装置１２の状態を制御する。
【００２８】
例えば、冗長管理部１１２は、予備系装置１１の状態を「運用」に遷移させ、複数の現用系装置１２のうちの所定の現用系装置１２ｐの状態を予備系装置１１に代えて「待機」に遷移させる場合、以下のようにする。尚、この例については、以下の実施例１で詳細に説明する。
【００２９】
冗長管理部１１２は、予備系装置１１の生存レジスタ１１４ａの生存情報に「生存」を設定し、予備系装置１１の状態レジスタ１１４ｂの状態情報に「運用」を設定し、状態レジスタ１１４ｂの識別情報に「所定の現用系装置の識別情報」を設定する。
【００３０】
予備系装置１１の生存情報は、生存レジスタ１１４ａを介して、複数の現用系装置１２に通知される。予備系装置１１の状態情報と、所定の現用系装置１２ｐの識別情報と、は状態レジスタ１１４ｂを介して、複数の現用系装置１２に通知される。
【００３１】
現用系装置１２の状態制御部は、予備系装置１１の生存情報が「生存」であり、予備系装置の状態情報が「運用」であり、所定の現用系装置１２ｐの識別情報と現用系装置１２の識別情報とが同じである場合、現用系装置１２の状態を予備系装置１１に代えて「待機」に遷移させる。
【００３２】
尚、現用系装置１２が第２通信経路ｐ２を使用して、生存レジスタ１１４ａから生存情報を読み出し、状態レジスタ１１４ｂから状態情報と識別情報とを読み出してもよい。第２通信経路ｐ２を読み出し経路と称することもある。
【００３３】
実施の形態に係る予備系装置及びシステムの動作を説明する。
＜実施例１＞
先ず、現用系装置１２と予備系装置１１との間の第１通信経路ｐ１が故障した際に、現用系装置１２が起動時に自律的に状態を決定する動作を例に挙げて説明する。
【００３４】
図３は、実施の形態に係るシステムの動作を例示するシーケンス図である。
図３は、保守操作による切り替えにより、現用系装置１２ａの代わりに予備系装置１１が「運用」になった状態から、現用系装置１２ａと現用系装置１２ｎがそれぞれ起動する場合を示す。
【００３５】
図３に示すように、先ず、予備系装置１１の冗長管理部１１２は、現用系装置１２ａの代わりに予備系装置１１の状態を「運用」にするため、予備系装置１１の状態レジスタ１１４ｂの識別情報に「現用系装置１２ａの識別情報」を設定する。冗長管理部１１２は、予備系装置１１の状態レジスタ１１４ｂの状態情報に「運用」を設定する。冗長管理部１１２は、定期的に生存レジスタ１１４ａの生存情報に「生存」を設定する。
【００３６】
尚、運用をＡＣＴと称し、待機をＳＢＹと称することもある。また、現用系装置１２ａを第１現用、又は第１現用系装置と称し、現用系装置１２ｎを第ｎ現用、又は第ｎ現用系装置と称することもある。
【００３７】
現用系装置１２ａは、起動時に第１通信経路ｐ１を使用して予備系装置１１の冗長管理部１１２に起動通知を行う。しかしながら、第１通信経路ｐ１の故障により通信不可となり、冗長管理部１１２は、起動通知を受信できない。このため、現用系装置１２ａは、冗長管理部１１２からの状態遷移指示を受信できない。
【００３８】
そこで、このような場合、現用系装置１２ａは、第２通信経路ｐ２（読出し経路）を使用して生存レジスタ１１４ａを読み出して生存情報を取得し、状態レジスタ１１４ｂを読み出して状態情報と識別情報とを取得する。
【００３９】
現用系装置１２ａは、予備系装置１１の生存情報が「生存」であり、予備系装置１１の状態情報が「運用」であり、識別情報が「現用系装置１２ａの識別情報」であることを認識する。すなわち、現用系装置１２ａは、予備系装置１１が現用系装置１２ａ自身の代わりに「運用」に状態遷移したことを認識する。
【００４０】
現用系装置１２ａは、現用系装置１２ａが「運用」に状態遷移した場合、二重運用（予備系装置１１と現用系装置１２ａの両方が「運用」）の状態になると判断し、自律的に「待機」に状態遷移する。
【００４１】
同様に、現用系装置１２ｎは、起動時に第１通信経路ｐ１を使用して予備系装置１１の冗長管理部１１２に起動通知を行う。しかしながら、第１通信経路ｐ１の故障により通信不可となり、冗長管理部１１２は、起動通知を受信できない。このため、現用系装置１２ｎは、冗長管理部１１２からの状態遷移指示を受信できない。
【００４２】
そこで、このような場合、現用系装置１２ｎは、第２通信経路ｐ２を使用して生存レジスタ１１４ａを読み出して生存情報を取得し、状態レジスタ１１４ｂを読み出して状態情報と識別情報とを取得する。
【００４３】
現用系装置１２ｎは、予備系装置１１の生存情報が「生存」であり、予備系装置１１の状態情報が「運用」であり、識別情報が「現用系装置１２ａの識別情報」であることを認識する。現用系装置１２ｎは、予備系装置１１が現用系装置１２ｎ自身の代わりに「運用」に状態遷移したのではないと判断し、自律的に「運用」に状態遷移する。
【００４４】
このように、システム１０においては、現用系装置１２が第１通信経路ｐ１の故障により冗長管理部１１２からの状態遷移指示を受信できない場合でも、第２通信経路ｐ２を使用して状態情報等を読み出して自律的に適切な状態に遷移することができる。
【００４５】
その結果、装置の状態遷移の指示を受信できない場合でも、適切な状態へ遷移することが可能な予備系装置、現用系装置、システム、方法及びプログラムを提供することができる。
【００４６】
＜実施例２＞
次に、予備系装置１１が故障した際に、現用系装置１２が起動時に自律的に状態を決定する動作を例に挙げて説明する。
【００４７】
図４は、実施の形態に係るシステムの動作を例示するシーケンス図である。
【００４８】
予備系装置１１で故障が発生した場合、冗長管理部１１２が生存レジスタ１１４ａを更新設定できなくなるので、生存レジスタ１１４ａは、「生存」から「非生存」となる。
【００４９】
現用系装置１２ａは、起動時に第１通信経路ｐ１を使用して、冗長管理部１１２に起動通知を行う。しかしながら、現用系装置１２ａは、予備系装置１１の故障により、冗長管理部１１２からの状態遷移指示を受信できない。
【００５０】
そこで、このような場合、現用系装置１２ａは、第２通信経路ｐ２を使用して生存レジスタ１１４ａを読み出して生存情報を取得し、状態レジスタ１１４ｂを読み出して状態情報と識別情報とを取得する。
【００５１】
現用系装置１２ａは、予備系装置１１の生存情報が「非生存」であることを認識する。現用系装置１２ａは、予備系装置１１の生存情報が「非生存」なので、現用系装置１２ａの代わりに予備系装置１１が「運用」になることはないと判断し、自律的に「運用」に遷移する。尚、予備系装置１１の状態情報に「待機」を設定することにより、現用系装置１２ａを「運用」に遷移させてもよい。
【００５２】
現用系装置１２ｎは、現用系装置１２ａの動作と同様にして、第２通信経路ｐ２を使用して、生存情報と状態情報と識別情報とを取得し、予備系装置１１の生存情報が「非生存」であることを認識する。現用系装置１２ｎは、現用系装置１２ｎの代わりに予備系装置１１が「運用」になることはないと判断し、自律的に「運用」に遷移する。
【００５３】
＜実施例３＞
次に、現用系装置１２が起動時に予備系装置１１からの状態遷移指示を受信しなかった際に、現用系装置１２が自律的に状態を決定する動作を例に挙げて説明する。
【００５４】
図５は、実施の形態に係るシステムの動作を例示するフローチャートである。
【００５５】
現用系装置１２ａは、起動時に予備系装置１１に起動通知を行う（ステップＳ１０１）。
【００５６】
現用系装置１２ａは、予備系装置１１からの状態遷移指示を受信した場合（ステップＳ１０２：Ｙｅｓ）、その状態遷移指示に従い、「運用」又は「待機」に状態遷移する（ステップＳ１０３）。
【００５７】
現用系装置１２ａは、予備系装置１１からの状態遷移指示を受信しなかった場合（ステップＳ１０２：Ｎｏ）、予備系装置１１の生存レジスタ１１４ａを読み出して予備系装置１１の生存情報を取得する（ステップＳ１０４）。
【００５８】
現用系装置１２ａは、生存レジスタ１１４ａの生存情報が「非生存」の場合（ステップＳ１０４：Ｙｅｓ）、現用系装置１２ａを「運用」に状態遷移する（ステップＳ１０５）。
【００５９】
現用系装置１２ａは、生存レジスタ１１４ａの生存情報が「生存」の場合（ステップＳ１０４：Ｎｏ）、予備系装置１１の状態レジスタ１１４ｂを読み出して予備系装置１１の状態情報と現用系装置１２の識別情報とを取得する（ステップＳ１０６）。
【００６０】
現用系装置１２ａは、予備系装置１１の状態レジスタ１１４ｂの状態情報が「運用」であり、予備系装置１１の状態レジスタ１１４ｂの識別情報が「現用系装置１２a自身の識別情報」である場合（ステップＳ１０６：Ｙｅｓ）、「予備系装置１１は、現用系装置１２ａ（自身）の代わりに「運用」状態になった」と認識する。
現用系装置１２ａは、このとき、現用系装置１２ａ自身の状態を「待機」に状態遷移する（ステップＳ１０７）。
【００６１】
現用系装置１２ａは、予備系装置１１の状態レジスタ１１４ｂの状態指示情報が「運用」であり、予備系装置１１の状態レジスタ１１４ｂの識別情報が「現用系装置１２ａ以外の識別情報」の場合（ステップＳ１０６：Ｎｏ）、「予備系装置１１は、現用系装置１２ａ以外の装置の代わりに「運用」状態になった」と認識する。現用系装置１２ａは、このとき、現用系装置１２ａ自身の状態を「運用」に状態遷移する（ステップＳ１０８）。
【００６２】
以上、説明したように、実施の形態に係るシステム１０によれば、現用系装置１２と予備系装置１１との間の通信経路の故障、又は冗長管理部１１２故障（停止）が有っても、現用系装置１２は、起動時に適切な状態へ自律的に状態遷移することができる。
【００６３】
その結果、装置の状態遷移の指示を受信できない場合でも、適切な状態へ遷移することが可能な予備系装置、現用系装置、システム、方法及びプログラムを提供することができる。
【００６４】
尚、この例では、冗長管理部１１２は予備系装置１１に含まれるものとして説明したがこれには限定されない。予備系装置１１及び現用系装置１２とは別に冗長制御用装置を設け、冗長管理部１１２を当該冗長制御用装置に実装してもよい。この場合、現用系装置１２は、起動した際に、冗長制御用装置に起動通知を行い、冗長制御用装置からの状態遷移指示に従い状態遷移する。また、この場合、現用系装置１２は、冗長制御用装置からの状態遷移指示を受信できなかった場合、予備系装置１１の生存レジスタ１１４ａと状態レジスタ１１４ｂを読み出して、現用系装置１２自身の状態遷移を自律的に決定する。
【００６５】
また、実施の形態は、例えば、音声制御システム又は音声制御装置に適用することも可能である。実施の形態を音声制御システム等に適用することにより、予備系装置が故障しても現用系装置で早期に復旧させサービスを開始することが可能となり、ユーザへの影響を極力小さくすることができる。
【００６６】
また、実施の形態は、音声だけでなく、例えば、第５世代通信やＩｏＴ（Internet of Things）等のデータ通信システム／装置に適用することも可能である。第５世代通信やＩｏＴでは自動運転や遠隔操作等においてサービスの停止が大きな問題となるため、実施の形態をこれらに適用することにより、大きな効果を得ることができる。
【００６７】
実施の形態の比較例に係るシステムを説明する。
図６は、実施の形態の比較例に係るシステムを例示するブロック図である。
図７は、実施の形態の比較例に係るシステムの動作を例示するシーケンス図である。
【００６８】
図６に示すように、実施の形態の比較例に係るシステム５０は、実施の形態に係るシステム１０と比べて、生存レジスタと状態レジスタと第２通信経路ｐ２とが設けられていない点が異なる。
【００６９】
保守操作での切り替えにより予備系装置５１が現用系装置５２ａの代わりの運用となっている状態から、現用系装置５２ａと現用系装置５２ｎを起動する場合を説明する。
【００７０】
図７に示すように、現用系装置５２ａは、起動時に第１通信経路ｐ１を使用して冗長管理部５１２に起動通知を行う。
【００７１】
しかしながら、第１通信経路ｐ１の故障により、冗長管理部５１２は起動通知を受信できない。そのため、現用系装置５２ａは、冗長管理部５１２からの状態遷移指示を受信できず、起動後の状態を決定できない。
【００７２】
同様に、現用系装置５２ｎは起動時に冗長管理部５１２に起動通知を行うが、第１通信経路ｐ１の故障により、冗長管理部５１２は起動通知を受信できない。そのため、現用系装置５２ｎは、冗長管理部５１２からの状態遷移指示を受信できず、起動後の状態を決定できない。
【００７３】
このように、比較例に係るシステム５０においては、第１通信経路ｐ１が故障した場合、冗長管理部５１２は起動通知を受信できない。また、このとき、冗長管理部５１２は、状態遷移指示を現用系装置５２に送信することもできない。そのため、現用系装置５２は、冗長管理部５１２からの状態遷移指示を受信できず、起動後の状態を決定できない。
【００７４】
その結果、適切な状態へ遷移することが可能な予備系装置、現用系装置、システム、方法及びプログラムを提供することができない。
【００７５】
また、予備系装置５１が現用系装置５２ａの代わりの「運用」であった場合において、状態遷移指示を受信できない場合に現用系装置５２ａを自動的に「運用」に遷移させる場合を考える。この場合、予備系装置５１と現用系装置５２ａの両方が同じサービスを行う「運用」となり、運用の重複状態（二重ＡＣＴ）となり、適切な状態へ遷移するとは言えない。
【００７６】
また、予備系装置５１が現用系装置５２ａの代わりの「運用」であった場合において、状態遷移指示を受信できない場合に現用系装置５２ｎを自動的に「待機」に遷移させる場合を考える。この場合、現用系装置５２ｎは、「運用」に遷移してサービス可能な状態であるにもかかわらず、第１通信経路ｐ１の故障が復旧するまでの間、「待機」となるので運用装置が不在となりサービスを開始できない。
【００７７】
なお、上記の実施の形態では、本発明をハードウェアの構成として説明したが、本発明はこれに限定されるものではない。本発明は、各構成要素の処理を、ＣＰＵ（Central Processing Unit）にコンピュータプログラムを実行させることにより実現することも可能である。
【００７８】
上記の実施の形態において、プログラムは、様々なタイプの非一時的なコンピュータ可読媒体（non-transitory computer readable medium）を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実態のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体（具体的にはフレキシブルディスク、磁気テープ、ハードディスクドライブ）、光磁気記録媒体（具体的には光磁気ディスク）、ＣＤ−ＲＯＭ（Read Only Memory）、ＣＤ−Ｒ、ＣＤ−Ｒ／Ｗ、半導体メモリ（具体的には、マスクＲＯＭ、ＰＲＯＭ（Programmable ROM）、ＥＰＲＯＭ(Erasable PROM)）、フラッシュＲＯＭ、ＲＡＭ(Random Access Memory)を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体（transitory computer readable medium）によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【００７９】
以上、実施の形態を参照して本願発明を説明したが、本願発明は上記によって限定されるものではない。本願発明の構成や詳細には、発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【００８０】
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。
【００８１】
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
（付記１）
現用系装置が正常動作可能かを示す生存情報を、第１通信経路を使用して前記現用系装置から取得する予備系取得部と、
予備系装置の前記生存情報と、前記予備系装置の状態を示す状態情報と、複数の前記現用系装置のうちの所定の現用系装置を識別するための識別情報と、を第２通信経路を使用して複数の前記現用系装置に通知し、複数の前記現用系装置の状態を制御する冗長管理部と、
を備える予備系装置。
（付記２）
前記冗長管理部は、前記予備系装置の状態を運用に遷移させ、前記所定の現用系装置の状態を前記予備系装置に代えて待機に遷移させる場合、前記予備系装置の前記生存情報に生存を設定し、前記予備系装置の前記状態情報に運用を設定し、前記識別情報に前記所定の現用系装置の識別情報を設定する、
付記１に記載の予備系装置。
（付記３）
前記冗長管理部は、前記予備系装置に代えて前記所定の現用系装置の状態を運用に遷移させる場合、前記予備系装置の前記生存情報に非生存を設定する、もしくは前記予備系装置の前記状態情報に待機を設定する、
付記１又は２に記載の予備系装置。
（付記４）
前記冗長管理部は、前記予備系装置の前記生存情報を生存レジスタに設定し、前記予備系装置の前記状態情報と、前記識別情報と、を状態レジスタに設定し、
前記予備系装置の前記生存情報は、前記生存レジスタを介して、複数の前記現用系装置に通知され、
前記予備系装置の前記状態情報と、前記識別情報と、は前記状態レジスタを介して、複数の前記現用系装置に通知される、
付記１乃至３のいずれか１つに記載の予備系装置。
（付記５）
前記冗長管理部は、前記現用系装置の前記生存情報の通知が前記現用系装置から所定時間以上ない場合、前記予備系装置の前記状態レジスタの前記状態情報に運用を設定し、前記状態レジスタの前記識別情報に前記所定の現用系装置の識別情報を設定する、
付記４に記載の予備系装置。
（付記６）
前記予備系取得部は、前記現用系装置の前記生存情報を、前記現用系装置から定期的に取得する、
付記１乃至５のいずれか１つに記載の予備系装置。
（付記７）
現用系装置が正常動作可能かを示す生存情報を、第１通信経路を使用して予備系装置に通知する現用系通知部と、
前記予備系装置の前記生存情報と、前記予備系装置の状態を示す状態情報と、複数の前記現用系装置のうちの所定の現用系装置を識別するための識別情報と、を第２通信経路を使用して前記予備系装置から取得する現用系取得部と、
前記予備系装置の前記生存情報と、前記予備系装置の前記状態情報と、前記所定の現用系装置を識別するための識別情報と、に基づいて前記現用系装置の状態を制御する状態制御部と、
を備える現用系装置。
（付記８）
前記状態制御部は、前記予備系装置の前記生存情報が生存であり、前記予備系装置の前記状態情報が運用であり、前記所定の現用系装置の識別情報と前記現用系装置の識別情報とが同じである場合、前記現用系装置の状態を前記予備系装置に代えて待機に遷移させる、
付記７に記載の現用系装置。
（付記９）
前記状態制御部は、前記予備系装置の前記生存情報が生存であり、前記予備系装置の前記状態情報が運用であり、前記所定の現用系装置の識別情報と前記現用系装置の識別情報とが異なる場合、前記現用系装置の状態を運用に遷移させる、
付記７に記載の現用系装置。
（付記１０）
前記状態制御部は、前記予備系装置の前記生存情報が非生存である場合、前記現用系装置の状態を運用に遷移させる、
付記７に記載の現用系装置。
（付記１１）
前記現用系取得部は、前記予備系装置からの状態遷移の指示を受信しなかった場合、前記第２通信経路を使用して、前記予備系装置の前記生存情報と、前記予備系装置の前記状態情報と、前記所定の現用系装置を識別するための識別情報と、を前記予備系装置から取得する、
付記７に記載の現用系装置。
（付記１２）
予備系装置と現用系装置とを備え、
前記予備系装置は、
前記現用系装置が正常動作可能かを示す生存情報を、第１通信経路を使用して前記現用系装置から取得する予備系取得部と、
前記予備系装置の前記生存情報と、前記予備系装置の状態を示す状態情報と、複数の前記現用系装置のうちの所定の現用系装置を識別するための識別情報と、を第２通信経路を使用して複数の前記現用系装置に通知し、複数の前記現用系装置の状態を制御する冗長管理部と、を有し、
前記現用系装置は、
前記現用系装置が正常動作可能かを示す生存情報を、前記第１通信経路を使用して前記予備系装置に通知する現用系通知部と、
前記予備系装置の前記生存情報と、前記予備系装置の前記状態情報と、前記所定の現用系装置の前記識別情報と、を前記第２通信経路を使用して前記予備系装置から取得する現用系取得部と、
前記予備系装置の前記生存情報と、前記予備系装置の前記状態情報と、前記所定の現用系装置の前記識別情報と、に基づいて前記現用系装置の状態を制御する状態制御部と、を有する、
システム。
（付記１３）
現用系装置が正常動作可能かを示す生存情報を、第１通信経路を使用して前記現用系装置から取得することと、
前記現用系装置と予備系装置の状態を管理することと、
前記予備系装置の前記生存情報と、前記予備系装置の状態を示す状態情報と、複数の前記現用系装置のうちの所定の現用系装置を識別するための識別情報と、を第２通信経路を使用して複数の前記現用系装置に通知し、複数の前記現用系装置の状態を制御することと、
を備える方法。
（付記１４）
現用系装置が正常動作可能かを示す生存情報を、第１通信経路を使用して前記現用系装置から取得することと、
前記現用系装置と予備系装置の状態を管理することと、
前記予備系装置の前記生存情報と、前記予備系装置の状態を示す状態情報と、複数の前記現用系装置のうちの所定の現用系装置を識別するための識別情報と、を第２通信経路を使用して複数の前記現用系装置に通知し、複数の前記現用系装置の状態を制御することと、
をコンピュータに実行させるプログラム。
【符号の説明】
【００８２】
１０、５０…システム
１１、５１…予備系装置
１１１…予備系取得部
１１２、５１２…冗長管理部
１１４ａ…生存レジスタ
１１４ｂ…状態レジスタ
１２、５２…現用系装置
１２ａ、５２ａ…現用系装置
１２ｂ、５２ｂ…現用系装置
１２ｃ、５２ｃ…現用系装置
１２ｄ、５２ｄ…現用系装置
１２ｎ、５２ｎ…現用系装置
１２ｐ…所定の現用系装置
１２１…現用系通知部
１２２…現用系取得部
１２３…状態制御部
ｐ１…第１通信経路
ｐ２…第２通信経路
【図１】
2020140500.tif 000003
【図２】
2020140500.tif 000004
【図３】
2020140500.tif 000005
【図４】
2020140500.tif 000006
【図５】
2020140500.tif 000007
【図６】
2020140500.tif 000008
【図７】
2020140500.tif 000009