説明

二重化システムにおける予備装置の障害通知方法

【課題】ホストと予備装置を常時接続することなく、予備装置の障害をホストに通知する二重化システムにおける予備装置の切り替え方法が、望まれる。
【解決手段】
二重化システムにおける予備装置の切り替え方法は、ホストと、ホストと接続されている稼働装置と、稼働装置と接続され、ホストとは接続されていない予備装置と、を含む二重化システムを適用の対象とする。二重化装置の切り替え方法は、予備装置が、自らの障害を検出する第1の工程と、予備装置が、自らの障害を検出した場合には、稼働装置との通信状態を変更する第2の工程と、稼働装置が、予備装置との通信状態に基づいて、予備装置の障害を検出する第3の工程と、予備装置の障害を、稼働装置からホストに通知する第4の工程と、を含んでいる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、二重化システムにおける予備装置の障害通知方法に関する。
【背景技術】
【0002】
排他制御装置等は、その一部に障害が発生したとしても、システム全体の機能が保持できるよう、主要な機器を冗長に構成している場合が多い。このような冗長な構成を持つシステムでは、ホストとなる機器と現用系の機器(稼働装置)を接続し、システムを運用する。さらに、ホストから稼働装置の障害を検出した際には、速やかに待機系の機器(予備装置)に切り替える。
【0003】
ここで、特許文献1において、現用系の機器から待機系の機器に切り替える技術が開示されている。
【0004】
また、特許文献2において、現用系の機器に障害が発生した場合に、下位装置に悪影響を及ぼすことなく迅速に待機系の機器への切り替えを行う二重化装置が開示されている。
【0005】
さらに、特許文献3において、現用系の運用状態を待機系に引き継ぐ技術が開示されている。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開昭63−214842号公報
【特許文献2】特開2001−069585号公報
【特許文献3】特開平04−242467号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
なお、上記先行技術文献の各開示を、本書に引用をもって繰り込むものとする。以下の分析は、本発明の観点からなされたものである。
【0008】
上述のように、冗長に構成されたシステムにおいては、稼働装置は常にホストと接続されて動作している状態にあるが、予備装置はシステムから切り離されている場合が多い。そのため、予備装置に障害が発生しているか否かは、システム管理者や保守者が予備装置の障害の有無を定期的に確認しなければならない。
【0009】
しかし、このような障害の確認方法では、予備装置の障害の発生確認が遅れてしまうという問題がある。例えば、月に1回、又は、半年に1回、といった間隔でなければ予備装置の点検が行えない場合がある。すると、システム管理者等が、予備装置の障害を認識する前に、稼働装置に障害が発生し、予備装置への迅速な切り替えができないという状況が発生する可能性がある。
【0010】
即ち、稼働装置及び予備装置のいずれもが、正常動作できないという事態に陥ってしまい、システムを長時間停止させてしまうという問題が起きる。
【0011】
そこで、予備装置もシステムに常時接続しておき、ホストから予備装置の障害を監視するという方法が考えられる。しかし、このような方法は大規模なシステムであれば採用することもできるが、小規模なシステムでは採用することが困難である。
【0012】
大規模なシステムでは、ホストとなる機器は、そのシステムに最適な専用品を用意することが可能であるが、小規模なシステムでは、予算が限られ、汎用品を用いる場合が多いためである。
【0013】
予備装置もホストに接続しておき、その障害を監視するという方法を実現するためには、異なる装置(稼働装置と予備装置)を同一の装置と認識させて、動作させることが必要であり、汎用品のホストで稼働するOS(Operating System)でこのような対応を行うことは非常に困難である。
【0014】
以上のとおり、予備装置の障害の検出には、解決すべき問題点が存在する。そのため、ホストと予備装置を常時接続することなく、予備装置の障害をホストに通知する二重化システムにおける予備装置の障害通知方法が、望まれる。
【課題を解決するための手段】
【0015】
本発明の第1の視点によれば、ホストと、前記ホストと接続されている稼働装置と、前記稼働装置と接続され、前記ホストとは接続されていない予備装置と、を含む二重化システム内の前記予備装置が、自らの障害を検出する第1の工程と、前記予備装置が、自らの障害を検出した場合には、前記稼働装置との通信状態を変更する第2の工程と、前記稼働装置が、前記通信状態に基づいて、前記予備装置の障害を検出する第3の工程と、前記予備装置の障害を、前記稼働装置から前記ホストに通知する第4の工程と、を含む二重化システムにおける予備装置の障害通知方法が提供される。
【発明の効果】
【0016】
本発明によれば、ホストと予備装置を常時接続することなく、予備装置の障害をホストに通知する二重化システムにおける予備装置の障害通知方法が、提供される。
【図面の簡単な説明】
【0017】
【図1】本発明の一実施形態の概要を説明するための図である。
【図2】本発明の第1の実施形態に係る予備装置の障害通知方法を適用する二重化システムの構成の一例を示す図である。
【図3】図2に示すホストインターフェイス制御部20の動作の一例を示すフローチャートである。
【図4】図2に示す装置間インターフェイス制御部30の動作の一例を示すフローチャートである。
【図5】図2に示す障害監視部40の動作の一例を示すフローチャートである。
【図6】図2に示す予備装置監視部50の動作の一例を示すフローチャートの一例である。
【発明を実施するための形態】
【0018】
初めに、図1を用いて一実施形態の概要について説明する。なお、この概要に付記した図面参照符号は、理解を助けるための一例として各要素に便宜上付記したものであり、本発明を図示の態様に限定することを意図するものではない。
【0019】
上述のように、予備装置における障害の発生確認が遅れてしまうと、システムを長時間停止させてしまうという問題が発生する。また、この問題点の解決方法として、予備装置を常にホストに接続し、予備装置の障害を検出するという方法が考えられるが、このような方法を小規模のシステムで採用することは困難である。そのため、ホストと予備装置を常時接続することなく、予備装置の障害をホストに通知する二重化システムにおける予備装置の障害通知方法が、望まれる。
【0020】
そこで、一例として図1に示す二重化システムにおける予備装置の障害通知方法を提供する。図1に示す二重化システムにおける予備装置の障害通知方法は、ホストと、ホストと接続されている稼働装置と、稼働装置と接続され、ホストとは接続されていない予備装置と、を含む二重化システムを適用の対象とする。
【0021】
図1に示す二重化システムにおける予備装置の障害通知方法は、予備装置が、自らの障害を検出する第1の工程と、予備装置が、自らの障害を検出した場合には、稼働装置との通信状態を変更する第2の工程と、稼働装置が、予備装置との通信状態に基づいて、予備装置の障害を検出する第3の工程と、予備装置の障害を、稼働装置からホストに通知する第4の工程と、を含んでいる。
【0022】
図1に示す予備装置の障害通知方法を適用する二重化システムでは、稼働装置と予備装置を接続しておき、予備装置に障害が発生した場合には、両装置間の通信状態を変更する。通信状態の変更には、両装置間の通信を接続から遮断にすることが考えられる。この通信状態が変更になったことによって、稼働装置は予備装置の障害を検出し、ホストに予備装置の障害を通知する。このように、ホストは予備装置の障害を認識することが可能になり、システム管理者等による監視やホストと予備装置を直接接続する必要がなくなる。
【0023】
[第1の実施形態]
次に、本発明の第1の実施形態について、図面を用いてより詳細に説明する。
【0024】
図2は、本実施形態に係る予備装置の障害通知方法を適用する二重化システムの構成の一例を示す図である。
【0025】
図2に示す二重化システムは、ホスト1と、二重化装置2及び3から構成されている。図2に示す二重化システムでは、二重化装置2がホスト1と接続された稼働装置として動作しており、二重化装置3は予備装置とする。二重化装置3は、予備装置であるのでホスト1とは接続されていない。二重化装置2及び3は、シリアルケーブル4を介して互いに接続されている。また、二重化装置2及び3は、同一の構成を持つものとする。
【0026】
次に、二重化装置2及び3の内部構成について説明する。なお、二重化装置2及び3は、同一の構成であるため、二重化装置2に限り説明を行う。
【0027】
二重化装置2は、装置状態記憶部10と、ホストインターフェイス制御部20と、装置間インターフェイス制御部30と、障害監視部40と、予備装置監視部50から構成されている。
【0028】
装置状態記憶部10では、自身が稼働装置として動作しているのか、予備装置として動作しているのか、を識別する識別子を記憶している。
【0029】
ホストインターフェイス制御部20は、ホスト1との接続を制御する。
【0030】
図3は、ホストインターフェイス制御部20の動作の一例を示すフローチャートである。
【0031】
ステップS01において、ホストインターフェイス制御部20は、ホスト1から接続指示を受け付ける。
【0032】
その後、ホスト1とのインターフェイスの状態を接続状態に遷移させる(ステップS02)。
【0033】
さらに、装置状態記憶部10に自らが稼働装置であることを示す識別子を記憶する(ステップS03)。
【0034】
装置間インターフェイス制御部30は、二重化装置2及び3の間の接続を制御する。
【0035】
図4は、装置間インターフェイス制御部30の動作の一例を示すフローチャートである。
【0036】
ステップS11では、二重化装置2の起動時にシリアルケーブル4を介して、相手側となる二重化装置3とコネクションの確立を行う。
【0037】
ステップS12では、二重化装置2が停止状態に遷移する過程にあるか否か判断する。停止状態に遷移中でなければ、ステップS13に遷移する。停止状態に遷移中であれば、ステップS14に遷移する。
【0038】
ステップS13では、二重化装置2の各部から二重化装置3とのコネクションを切断する旨の指示を受けているか否かを判断する。指示を受けていれば、ステップS14に遷移する。指示を受けていなければ、ステップS12に戻り、処理を継続する。
【0039】
ステップS14では、二重化装置3とのコネクションを切断する。
【0040】
ステップS15では、二重化装置3とのコネクションの状態を保持する。
【0041】
障害監視部40は、二重化装置2自身の障害の有無を検出する。
【0042】
図5は、障害監視部40の動作の一例を示すフローチャートである。
【0043】
ステップS21では、自身の障害の有無を検出する。障害が検出されれば、ステップS22に遷移する。障害が検出されなければ、ステップS21の処理を継続する。
【0044】
ステップS22では、装置状態記憶部10に記憶されている識別子を参照する。
【0045】
ステップS23では、装置状態記憶部10の識別子が、稼働装置を示しているか否かを確認する。稼働装置を示していれば、ステップS24に遷移する。稼働装置を示していなければ、ステップS25に遷移する。
【0046】
ステップS24では、ホストインターフェイス制御部20を介してホスト1に障害発生の通知を行う。
【0047】
ステップS25では、装置間インターフェイス制御部30に対し、相手装置とのコネクションの切断を指示する。
【0048】
予備装置監視部50は、自身が稼働装置の場合に、相手側の予備装置を監視する。
【0049】
図6は、予備装置監視部50の動作の一例を示すフローチャートの一例である。
【0050】
ステップS41では、装置状態記憶部10に記憶されている識別子を確認する。
【0051】
ステップS42では、識別子が稼働装置を示しているか否かを確認する。稼働装置を示していなければ、処理を終了する。稼働装置を示していれば、ステップS43に遷移する。
【0052】
ステップS43では、相手装置とのコネクションの状態を確認する。
【0053】
ステップS44では、相手装置のコネクションが接続から切断に変化したか否かを判断する。コネクションが切断されていなければ、ステップS43に戻り処理を継続する。コネクションが切断されていれば、ステップS45に遷移する。
【0054】
ステップS45では、ホストインターフェイス制御部20を介してホスト1に対して予備装置に障害が発生したことを通知する。
【0055】
次に、図2に示す二重化システムにおける予備装置の障害通知方法について説明する。
【0056】
初めに、二重化装置2及び3の起動が開始される。ホスト1では、二重化装置2及び3のうち、どちらを稼働装置として動作させるべきか把握しているので、二重化装置2に対してホストから接続指示がなされる。
【0057】
ホスト1から接続指示を受け取った二重化装置2のホストインターフェイス制御部20では、ホスト1とのインターフェイスの状態を接続状態に遷移させると共に、装置状態記憶部10に自身が稼働装置であることを示す識別子を記憶する。ここで、装置状態記憶部10に記憶されている識別子の初期値は予備装置を示す値とする。従って、ホスト1から接続指示を受けていない二重化装置3は予備装置となる。
【0058】
二重化装置2及び3の起動処理が始まると、二重化装置2及び3それぞれの装置間インターフェイス制御部30は、互いにコネクションの確立を行う。コネクションの確立後、装置間インターフェイス制御部30が保持するコネクション状態を接続に変化させる。
【0059】
以上の処理によって、二重化装置2及び3の起動が完了する。なお、ホスト1との接続処理と、二重化装置2及び3の間のコネクションの確立は同時に行うことが可能である。
【0060】
二重化装置2及び3の起動が完了すると、二重化装置2及び3では、障害監視部40を用いて自身の障害を監視する。また、二重化装置2は稼働装置として動作するので、予備装置監視部50において、二重化装置3(予備装置)の障害監視を開始する。
【0061】
以上が、図2に示す二重化システムにおける通常動作を開始するまでの手順である。
【0062】
次に、二重化装置3(予備装置)に障害が発生した場合の動作について説明する。
【0063】
二重化装置3に障害発生すると、二重化装置3の障害監視部40が自身の障害を検出する。
【0064】
障害監視部40が、障害を検出すると装置状態記憶部10に記憶されている識別子を参照し、自身が予備装置であることを認識した上で、装置間インターフェイス制御部30にコネクションの切断を指示する。
【0065】
障害監視部40から指示を受けた、装置間インターフェイス制御部30は、相手側となる二重化装置2とのコネクションを切断する。二重化装置3の装置間インターフェイス制御部30がコネクションを切断したため、二重化装置2の装置間インターフェイス制御部30は、相手装置とのコネクションの切断を認識する。同時に、相手装置とのコネクションが接続から切断に変わったことを保持する。
【0066】
一方、二重化装置2では、予備装置監視部50が定期的に装置間インターフェイス制御部30を介して、相手装置とのコネクションの状態を監視している。その際、二重化装置3に障害が発生することによって、コネクションが接続から切断に変わると、予備装置監視部50がその変化を検出し、二重化装置3(予備装置)に障害が起きたと判断する。
【0067】
その後、二重化装置2の予備装置監視部50は、ホストインターフェイス制御部20を介してホスト1に二重化装置3(予備装置)の障害を通知する。
【0068】
なお、本実施形態では、二重化装置2及び3の間のコネクションを切断することで、予備装置の障害を検出する方法について説明した。しかし、タイマーを使用して一定間隔毎に互いの装置間インターフェイス制御部30間で往復通信を実施し、この往復通信が成功するか否かによって、予備装置の障害の有無を判断することも可能である。即ち、稼働装置から予備装置に対して死活情報を送信し、予備装置から稼働装置に対して死活情報に対する応答がない場合に、予備装置に障害が発生したと判断する。このような方法は、予備装置に障害が発生することで、コネクションを切断することができない場合に有効である。
【0069】
以上のように、予備装置である二重化装置3の障害を、稼働装置である二重化装置2が監視し、予備装置の障害発生をホスト1に通知する。その結果、ホスト1と予備装置を常時接続することなく、予備装置の障害を監視することが可能になる。さらに、ホスト1に搭載しているOSの変更は必要なく、予備装置の障害をホスト1に通知できる。
【0070】
また、予備装置の障害を、ホスト1を介して、システム管理者等が迅速に認識することができるため、予備装置の障害に対する対処(修理等)が迅速に行われ、システムの信頼性及び可用性を向上させることができる。
【0071】
なお、引用した上記の特許文献等の各開示は、本書に引用をもって繰り込むものとする。本発明の全開示(請求の範囲を含む)の枠内において、さらにその基本的技術思想に基づいて、実施形態の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素の多様な組み合わせないし選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。例えば、稼働装置と予備装置間を、シリアルケーブルを介して接続するものとして説明したが、両装置間の接続を限定する趣旨ではない。両装置の接続は、他の方式を採用できることは勿論である。
【符号の説明】
【0072】
1 ホスト
2、3 二重化装置
4 シリアルケーブル
10 装置状態記憶部
20 ホストインターフェイス制御部
30 装置間インターフェイス制御部
40 障害監視部
50 予備装置監視部

【特許請求の範囲】
【請求項1】
ホストと、前記ホストと接続されている稼働装置と、前記稼働装置と接続され、前記ホストとは接続されていない予備装置と、を含む二重化システム内の前記予備装置が、自らの障害を検出する第1の工程と、
前記予備装置が、自らの障害を検出した場合には、前記稼働装置との通信状態を変更する第2の工程と、
前記稼働装置が、前記通信状態に基づいて、前記予備装置の障害を検出する第3の工程と、
前記予備装置の障害を、前記稼働装置から前記ホストに通知する第4の工程と、
を含むことを特徴とする二重化システムにおける予備装置の障害通知方法。
【請求項2】
前記第3の工程は、前記稼働装置と前記予備装置間の通信が遮断されていることに基づいて、前記予備装置の障害を検出する請求項1の二重化システムにおける予備装置の障害通知方法。
【請求項3】
前記第3の工程は、前記稼働装置から前記予備装置に死活情報を送信し、前記予備装置から前記稼働装置に対して前記死活情報に対する応答がないことに基づいて、前記予備装置の障害を検出する請求項1の二重化システムにおける予備装置の障害通知方法。
【請求項4】
さらに、前記ホストからの指示に基づいて、自らが前記稼働装置、又は、前記予備装置、のいずれかであることを記憶する工程を含む請求項1乃至3のいずれか一に記載の二重化システムにおける予備装置の障害通知方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate