説明

クラスタシステム

【課題】既存のアプリケーションを変更することなく、ホットスタンバイを簡便に実現する。
【解決手段】アプリケーションを実行するAP実行部13、23と、クライアント端末CとAP実行部との間のデータの転送を制御する転送部12、22と、AP実行部と記憶装置Dとの間のデータのI/Oを制御するI/O部14、24と、各部のステータスを制御する制御部11、21とを備え、正常動作時に、制御部11は、AP実行部13、転送部12およびI/O部13のステータスを全てアクティブに設定し、制御部21は、AP実行部23のステータスをアクティブに、転送部22およびI/O部24のステータスをスタンバイに設定し、障害発生時に、制御部11は、転送部12およびI/O部14のステータスをスタンバイに切り替え、制御部21は、転送部22およびI/O部24のステータスをアクティブに切り替える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、クラスタシステムに関する。
【背景技術】
【0002】
従来のクラスタシステムは、障害発生時にサーバを切り替える(フェイルオーバ)場合、それまで稼働系であったサーバでリソースを順次停止させ、待機系であったサーバでサービスを起動させてから、フェイルオーバするのが一般的である。リソースとは、サービスの提供に必要なハードウェアエンティティや、ソフトウェアエンティティのことをいう。このようなクラスタシステムでは、アプリケーションの停止・起動や外部装置(主に、ストレージ)の切り替えに多くの時間を費やすため、フェイルオーバに要する時間が長くなり、その結果、サービスの可用性が低下してしまう。
【0003】
下記特許文献1には、電文処理を通信プロセス、トランザクションプロセスおよびファイルプロセスに分割し、プロセスごとに稼働系用プロセスと待機系プロセスとを設けることで、障害発生時のサーバの切り替え時間を短縮する技術が開示されている。下記特許文献2には、ユーザ端末からの信号を処理するホットスタンバイの技術が開示されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開平08−6910号公報
【特許文献2】特開2007−188119号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
上述した特許文献1および特許文献2では、稼働系と待機系とのアプリケーション間の同期については何も考慮されていない。したがって、これらの従来技術では、クラスタシステムに既存のアプリケーションを適用する場合、アプリケーションに変更を加える必要があり、システム構築に手間がかかる。
【0006】
本発明は、上述した課題を解決するためになされたものであり、既存のアプリケーションを変更することなく、ホットスタンバイを簡便に実現することができるクラスタシステムを提供することを目的とする。
【課題を解決するための手段】
【0007】
本発明のクラスタシステムは、クライアント端末と記憶装置との間のデータのやり取りを制御する第1サーバ装置および第2サーバ装置を有するクラスタシステムであって、前記第1サーバ装置および前記第2サーバ装置は、アプリケーションを実行するアプリケーション実行部と、前記クライアント端末と前記アプリケーション実行部との間のデータの転送を制御する転送制御部と、前記アプリケーション実行部と前記記憶装置との間のデータの入出力を制御する入出力制御部と、前記アプリケーション実行部、前記転送制御部および前記入出力制御部におけるアクティブ/スタンバイのいずれかのステータスをそれぞれ制御するステータス制御部と、をそれぞれ備え、
前記転送制御部は、前記ステータスがアクティブであり、かつ、前記クライアント端末から処理要求を受信した場合には、当該処理要求を、同一サーバ装置の前記アプリケーション実行部、および前記ステータスがスタンバイである前記転送制御部に、それぞれ転送し、前記ステータスがアクティブであり、かつ、前記アプリケーション実行部から処理結果を受信した場合には、当該処理結果を前記クライアント端末に転送し、
前記入出力制御部は、前記ステータスがアクティブであり、かつ、前記アプリケーション実行部から前記記憶装置への入出力要求を受信した場合には、当該入出力要求に基づいて前記記憶装置への入出力を実行し、当該入出力の実行結果を、前記入出力要求の送信元である前記アプリケーション実行部、および前記ステータスがスタンバイである前記入出力制御部に、それぞれ送信し、
前記ステータス制御部は、クラスタシステムを動作させる場合には、前記第1サーバ装置および前記第2サーバ装置のいずれか一方のサーバ装置の前記アプリケーション実行部、前記転送制御部および前記入出力制御部の前記ステータスを全てアクティブに設定し、他方のサーバ装置の前記アプリケーション実行部の前記ステータスをアクティブに、前記転送制御部および前記入出力制御部の前記ステータスをスタンバイに設定し、障害が検知された場合には、前記第1サーバ装置および前記第2サーバ装置の前記転送制御部および前記入出力制御部の前記ステータスを、アクティブからスタンバイに、またはスタンバイからアクティブにそれぞれ切り替える。
【発明の効果】
【0008】
本発明によれば、既存のアプリケーションを変更することなく、ホットスタンバイを簡便に実現することができる。
【図面の簡単な説明】
【0009】
【図1】各実施形態におけるクラスタシステムの構成を例示するブロック図である。
【図2】クラスタシステムの動作を説明するための模式図である。
【図3】転送部が処理要求を受信した際の動作を説明するためのフローチャートである。
【図4】I/O部がI/O要求を受信した際の動作を説明するためのフローチャートである。
【図5】転送部が処理結果を受信した際の動作を説明するためのフローチャートである。
【図6】障害発生時の稼働系サーバ装置の動作を説明するためのフローチャートである。
【図7】障害検知時の待機系サーバ装置の動作を説明するためのフローチャートである。
【図8】第2実施形態におけるクラスタシステムでAP障害が発生した際の動作を説明するためのフローチャートである。
【発明を実施するための形態】
【0010】
以下、添付図面を参照して、本発明に係るクラスタシステムの好適な実施形態について説明する。
【0011】
[第1実施形態]
まず、図1を参照して、第1実施形態におけるクラスタシステムの構成について説明する。図1に示すように、クラスタシステム1は、クライアント端末Cによるオンライントランザクション処理を制御するサーバ装置10、20を、クラスタ化して構成する。オンライントランザクション処理は、クライアント端末Cからの処理要求に基づき、ストレージ等の記憶装置Dにアクセスしながらデータを処理し、処理結果をクライアント端末Cに送り返す処理である。
【0012】
サーバ装置10、20は、それぞれ同一の構成要素を有し、いずれか一方が稼働系として動作し、他方が待機系として動作する。稼働系/待機系の初期設定は、例えば、クラスタシステム内のネットワークインターフェースの状態を監視し、仮想IPアドレスが割り振られているサーバ装置を稼働系に設定し、他方のサーバ装置を待機系に設定することで実現できる。本実施形態では、原則としてサーバ装置10を稼働系とし、サーバ装置20を待機系として説明する。
【0013】
ここで、サーバ装置10、20は、物理的には、例えば、CPU(Central Processing Unit)と、メモリと、入出力インターフェースと、をそれぞれ含んで構成される。メモリには、例えば、CPUで処理されるプログラムやデータを記憶するROM(Read Only Memory)やHDD(Hard Disk Drive)と、主として制御処理のための各種作業領域として使用されるRAM(Random Access Memory)とが含まれる。これらの要素は、互いにバスを介して接続されている。CPUが、ROMに記憶されたプログラムを実行し、入出力インターフェースを介して受信されたメッセージや、RAMに展開されたデータを処理することで、後述するサーバ装置10、20における各部の機能を実現することができる。
【0014】
サーバ装置10、20は、機能的には、例えば、制御部11、21と、転送部12、22と、AP(Application)実行部13、23と、I/O(Input/Output)部14、24と、をそれぞれ有する。
【0015】
制御部11、21は、サーバ装置10、20全体を統括制御する。以下に、制御部11、21による統括制御の一例を説明する。
【0016】
制御部11、21は、転送部12、22、AP実行部13、23およびI/O部14、24のステータスをそれぞれ制御する。本実施形態では、ステータスとして、“アクティブ”または“スタンバイ”を設定した場合について説明する。“アクティブ”ステータスは、実処理を行うステータスである。“スタンバイ”ステータスは、実処理を行わずに、ダミーとして動作するステータスである。
【0017】
制御部11、21は、クラスタシステム1が正常に動作している間は、サーバ装置10の転送部12、AP実行部13およびI/O部14の各ステータスを全てアクティブに設定し、サーバ装置20の転送部22およびI/O部24の各ステータスをそれぞれスタンバイに設定し、サーバ装置20のAP実行部23のステータスをアクティブに設定する。
【0018】
制御部11、21は、クラスタシステム1において障害が検知された場合には、サーバ装置10の転送部12およびI/O部14の各ステータスをそれぞれアクティブからスタンバイに切り替え、サーバ装置20の転送部22およびI/O部24の各ステータスをそれぞれスタンバイからアクティブに切り替える。これにより、サーバ装置20が稼働系となり、サーバ装置10が待機系となる。
【0019】
転送部12、22は、クライアント端末CからAP実行部13、23への処理要求の転送と、AP実行部13、23からクライアント端末Cへの処理結果の転送と、をそれぞれ行う。
【0020】
転送部12、22は、ステータスがアクティブであり、かつ、クライアント端末Cから処理要求を受信した場合には、この処理要求を、同一サーバ装置内のAP実行部と、ステータスがスタンバイである他方のサーバ装置内の転送部と、にそれぞれ転送する。
【0021】
転送部12、22は、ステータスがスタンバイであり、かつ、他方のサーバ装置内のAP実行部から処理要求を受信した場合には、この処理要求を、同一サーバ装置内のAP実行部に転送する。
【0022】
転送部12、22は、ステータスがアクティブであり、かつ、AP実行部13、23から処理結果を受信した場合には、この処理結果をクライアント端末Cに転送する。
【0023】
転送部12、22は、ステータスがスタンバイであり、かつ、AP実行部13、23から処理結果を受信した場合には、この処理結果をクライアント端末Cに転送せずに、保持する。
【0024】
転送部12、22は、ステータスがアクティブであり、かつ、自サーバ装置とクライアント端末Cとの間のパスで障害が発生した場合には、ステータスがスタンバイである他方のサーバ装置内の転送部が保持している処理結果をクライアント端末Cに転送するように依頼する処理結果転送依頼を、他方のサーバ装置内の転送部に送信する。転送部12、22は、処理結果転送依頼を受信した場合には、保持中の処理結果をクライアント端末Cに転送する。
【0025】
AP実行部13、23は、サービスを提供するアプリケーションを実行する。
【0026】
I/O部14、24は、AP実行部13、23による記憶装置Dからのデータの読み込みと、AP実行部13、23による記憶装置Dへのデータの書き込みと、をそれぞれ行う。
【0027】
I/O部14、24は、ステータスがアクティブであり、かつ、AP実行部13、23から記憶装置DへのI/O要求を受信した場合には、このI/O要求に基づいて記憶装置DへのI/Oを実行し、このI/Oの実行結果を、I/O要求の送信元である同一サーバ装置内のAP実行部と、ステータスがスタンバイである他方のサーバ装置内のI/O部とに、それぞれ送信する。
【0028】
I/O部14、24は、ステータスがスタンバイであり、かつ、AP実行部13、23から記憶装置DへのI/O要求を受信した場合には、このI/O要求を実行せずに、保持する。
【0029】
I/O部14、24は、ステータスがアクティブであり、かつ、自サーバ装置と記憶装置Dとの間のパスで障害が発生した場合には、ステータスがスタンバイである他方のサーバ装置内のI/O部が保持しているI/O要求を実行するように依頼するI/O実行依頼を、他方のサーバ装置内のI/O部に送信する。
【0030】
I/O部14、24は、I/O実行依頼を受信した場合には、保持中のI/O要求を実行し、このI/Oの実行結果を、同一サーバ装置内のAP実行部に返信する。
【0031】
このように、サーバ装置10、20を構成することで、稼働系のサーバ装置と待機系のサーバ装置とにおいてアプリケーションを同期させながら動作させることができる。これにより、アプリケーションを変更することなく、ホットスタンバイのクラスタシステムを実現することができる。
【0032】
次に、図2〜図7を参照して、第1実施形態におけるクラスタシステムの動作について説明する。以下においては、サーバ装置10が稼働系として動作し、サーバ装置20が待機系として動作している場合について説明する。この場合、図2に示すように、稼働系サーバ装置10の転送部12、AP実行部13およびI/O部14の各ステータスは全てアクティブとなり、待機系サーバ装置20の転送部22およびI/O部24の各ステータスはそれぞれスタンバイとなり、待機系サーバ装置20のAP実行部23のステータスはアクティブとなる。
【0033】
まず、図2および図3を参照して、転送部12、22が処理要求を受信した際の動作について説明する。
【0034】
最初に、稼働系サーバ装置10の転送部12がクライアント端末Cから処理要求を受信する(ステップS101)。
【0035】
続いて、転送部12は、ステータスがアクティブである(ステップS102;YES)ため、受信した処理要求を、ステータスがスタンバイである待機系サーバ装置20の転送部22に転送する(ステップS103)。
【0036】
続いて、稼働系サーバ装置10の転送部12は、自サーバ装置10のAP実行部13のステータスがアクティブである(ステップS104;YES)ため、受信した処理要求を、AP実行部13に転送する(ステップS105)。
【0037】
一方、待機系サーバ装置20の転送部22がクライアント端末Cから処理要求を受信した場合(ステップS101)に、転送部22は、ステータスがスタンバイであり(ステップS102;NO)、自サーバ装置20のAP実行部23のステータスがアクティブである(ステップS104;YES)ため、上記ステップS103で稼働系サーバ装置10の転送部12から転送された処理要求を、AP実行部23に転送する(ステップS105)。
【0038】
次に、図2および図4を参照して、I/O部14、22がI/O要求を受信した際の動作について説明する。
【0039】
最初に、稼働系サーバ装置10のI/O部14が自サーバ装置10のAP実行部13からI/O要求を受信する(ステップS201)。
【0040】
続いて、I/O部14は、ステータスがアクティブである(ステップS202;YES)ため、受信したI/O要求を実行する(ステップS204)。
【0041】
続いて、I/O部14は、上記ステップS204におけるI/O実行結果をAP実行部13に返信する(ステップS205)とともに、このI/O実行結果をステータスがスタンバイである待機系サーバ装置20のI/O部24に転送する(ステップS206)。
【0042】
一方、待機系サーバ装置20のI/O部24が自サーバ装置20のAP実行部23からI/O要求を受信した場合(ステップS201)に、I/O部24は、ステータスがスタンバイである(ステップS202;NO)ため、受信したI/O要求を実行せずに保持する(ステップS203)。
【0043】
続いて、I/O部24は、稼働系サーバ装置10のI/O部14から受信(ステップS207)したI/O実行結果を、自サーバ装置20のAP実行部23に返信する(ステップS208)。
【0044】
次に、図2および図5を参照して、転送部12、22が処理結果を受信した際の動作について説明する。
【0045】
最初に、稼働系サーバ装置10の転送部12が自サーバ装置10のAP実行部13から処理結果を受信する(ステップS301)。
【0046】
続いて、転送部12は、ステータスがアクティブである(ステップS302;YES)ため、受信した処理結果をクライアント端末Cに転送する(ステップS303)。
【0047】
一方、待機系サーバ装置20の転送部22が自サーバ装置20のAP実行部23から処理結果を受信した場合(ステップS301)に、転送部22は、ステータスがスタンバイである(ステップS302;NO)ため、受信した処理結果を転送せずに保持する(ステップS304)。
【0048】
次に、図6および図7を参照して、パス障害が発生した際の動作について説明する。図6は、障害発生時の稼働系サーバ装置の動作を説明するためのフローチャートであり、図7は、障害発生時の待機系サーバ装置の動作を説明するためのフローチャートである。
【0049】
最初に、稼働系サーバ装置10の制御部11が自サーバ装置10と記憶装置Dとの間のパス障害を検知した場合(ステップS401)に、自サーバ装置10のI/O部14は、ステータスがスタンバイである待機系サーバ装置20のI/O部24が保持しているI/O要求を実行するように依頼するI/O実行依頼を、当該I/O部24に送信する(ステップS402)。
【0050】
続いて、稼働系サーバ装置10の制御部11は、自サーバ装置10のI/O部14および転送部12のステータスをアクティブからスタンバイに切り替える(ステップS403)。これにより、サーバ装置10は、稼働系から待機系となる。
【0051】
一方、待機系サーバ装置20のI/O部24が、上記ステップS402で送信されたI/O実行依頼を受信した場合(ステップS501)に、I/O部24は、保持中のI/O要求を実行する(ステップS502)。
【0052】
続いて、待機系サーバ装置20の制御部21は、自サーバ装置20のI/O部24および転送部22のステータスをスタンバイからアクティブに切り替える(ステップS503)。これにより、サーバ装置20は、待機系から稼働系となる。
【0053】
続いて、上記ステップS502で保持中のI/O要求を実行したI/O部24は、そのI/O実行結果を自サーバ装置20のAP実行部23に返信する(ステップS504)。この後、図5のステップS301以降の処理が実行され、AP実行部23での処理結果が転送部22からクライアント端末Cに転送される(ステップS303)。
【0054】
なお、この動作例では、サーバ装置10と記憶装置Dとの間でパス障害が発生した場合について説明しているが、サーバ装置10とクライアント端末Cとの間でパス障害が発生した場合についても同様の概念に基づいてサーバ装置を切り替えることができる。この場合には、待機系サーバ装置20の転送部22が保持している処理結果を転送するように依頼する処理結果転送依頼を、当該転送部22に送信し、処理結果転送依頼を受信した転送部22がクライアント端末Cに処理結果を転送することとすればよい。
【0055】
上述したように、第1実施形態におけるクラスタシステムによれば、転送部12、22、AP実行部13、23およびI/O部14、24のステータスをそれぞれ制御することで、アプリケーション間の同期をとることができるため、既存のアプリケーションを変更することなく、簡便にホットスタンバイのクラスタシステムを実現することができる。
【0056】
また、各ステータスを制御することでパスを切り替えることができるため、障害発生時にリソースの再起動やサーバの切り替え時間に要する時間を削減できる。これにより、サービスの可用性を向上させることが可能となる。
【0057】
[第2実施形態]
本発明の第2実施形態について説明する。第2実施形態におけるクラスタシステムが、上述した第1実施形態におけるクラスタシステムと相違する点は、第2実施形態におけるクラスタシステムが、アプリケーション障害(以下、「AP障害」という。)発生時の回復機能をさらに備えている点である。それ以外の構成については、第1実施形態におけるシステムの各構成と同様であるため、各構成要素には同一の符合を付し、その説明は省略するとともに、以下においては、主に第1実施形態との相違点について説明する。
【0058】
制御部11、21は、AP実行部13、23でのAP障害を検知した場合に、AP障害を発生させたAP実行部13、23に対してアプリケーションを再起動させるとともに、AP障害を発生させたAP実行部のステータスをアクティブからスタンバイに切り替える。
【0059】
制御部11、21は、回復時期テーブルに設定された回復時期に基づいて、スタンバイに切り替えたAP実行部のステータスをアクティブに切り替える。
【0060】
ここで、回復時期テーブルは、AP障害発生後のAP実行部の回復時期を設定するテーブルである。本実施形態では、回復時期として、“ホット”または“コールド”を予め設定した場合について説明する。
【0061】
“ホット”は、アプリケーションの実行がメモリ内に保持されている情報に依存しない場合に設定される回復時期である。この場合には、他のサーバ装置でのアプリケーションの実行を継続したまま、障害により再起動させたアプリケーションの実行を再開させてもアプリケーション間の同期をとることができる。したがって、回復時期が“ホット”である場合には、制御部11、21は、即座に、スタンバイに切り替えたAP実行部のステータスをスタンバイからアクティブに切り替え直し、アプリケーションの同期を再開させる。
【0062】
“コールド”は、アプリケーションの実行がメモリ内に保持されている情報に依存する場合に設定される回復時期である。この場合には、全てのサーバ装置でアプリケーションの実行を停止させてから、アプリケーションの実行を再開させなければアプリケーション間の同期をとることができない。したがって、回復時期が“コールド”である場合に、制御部11、21は、全てのAP実行部がスタンバイに切り替わった後に、全てのAP実行部のステータスをスタンバイからアクティブに切り替え直し、アプリケーションの同期を再開させる。
【0063】
次に、図8を参照して、第2実施形態におけるクラスタシステムでAP障害が発生した際の動作について説明する。この動作例では、サーバ装置10のアプリケーションでAP障害が発生した場合について説明する。
【0064】
最初に、サーバ装置10の制御部11が、AP実行部13でのAP障害を検知した場合(ステップS601)に、AP実行部13は、アプリケーションを再起動する(ステップS602)。
【0065】
続いて、サーバ装置10の制御部11は、AP実行部13のステータスをアクティブからスタンバイに切り替える(ステップS603)。
【0066】
続いて、サーバ装置10の制御部11は、回復時期テーブルを参照し、回復時期が“ホット”であるか否かを判定する(ステップS604)。この判定がYESである場合(ステップS604;YES)に、制御部11は、AP実行部13のステータスをスタンバイからアクティブに切り替える(ステップS605)。
【0067】
一方、上記ステップS604の判定で回復時期が“コールド”であると判定された場合(ステップS604;NO)に、制御部11は、他サーバ装置10のAP実行部23のステータスがスタンバイであるか否かを判定する(ステップS606)。この判定がNOである場合(ステップS606;NO)に、制御部11は、この判定がYESになるまで判定を繰り返す。
【0068】
一方、上記ステップS606の判定で他サーバ装置10のAP実行部23のステータスがスタンバイであると判定された場合(ステップS606;YES)に、制御部11、21は、AP実行部13、23のステータスをそれぞれスタンバイからアクティブに切り替える(ステップS607)。
【0069】
上述したように、第2実施形態におけるクラスタシステムによれば、再同期のタイミングを設定することができるため、AP障害が発生した場合であっても、AP実行部13とAP実行部23とのアプリケーション間の同期を保持しつつ、アプリケーションの回復を図ることができる。
【0070】
なお、上述した各実施形態は、単なる例示に過ぎず、各実施形態に明示していない種々の変形や技術の適用を排除するものではない。すなわち、本発明は、その趣旨を逸脱しない範囲で様々な形態に変形して実施することができる。
【0071】
例えば、上記の各実施形態の一部または全部は、以下の付記のようにも記載され得る。ただし、本発明を以下に限定するものではない。
【0072】
(付記1) クライアント端末と記憶装置との間のデータのやり取りを制御する第1サーバ装置および第2サーバ装置を有するクラスタシステムであって、前記第1サーバ装置および前記第2サーバ装置は、アプリケーションを実行するアプリケーション実行部と、前記クライアント端末と前記アプリケーション実行部との間のデータの転送を制御する転送制御部と、前記アプリケーション実行部と前記記憶装置との間のデータの入出力を制御する入出力制御部と、前記アプリケーション実行部、前記転送制御部および前記入出力制御部におけるアクティブ/スタンバイのいずれかのステータスをそれぞれ制御するステータス制御部と、をそれぞれ備え、
前記転送制御部は、前記ステータスがアクティブであり、かつ、前記クライアント端末から処理要求を受信した場合には、当該処理要求を、同一サーバ装置の前記アプリケーション実行部、および前記ステータスがスタンバイである前記転送制御部に、それぞれ転送し、前記ステータスがアクティブであり、かつ、前記アプリケーション実行部から処理結果を受信した場合には、当該処理結果を前記クライアント端末に転送し、
前記入出力制御部は、前記ステータスがアクティブであり、かつ、前記アプリケーション実行部から前記記憶装置への入出力要求を受信した場合には、当該入出力要求に基づいて前記記憶装置への入出力を実行し、当該入出力の実行結果を、前記入出力要求の送信元である前記アプリケーション実行部、および前記ステータスがスタンバイである前記入出力制御部に、それぞれ送信し、
前記ステータス制御部は、クラスタシステムを動作させる場合には、前記第1サーバ装置および前記第2サーバ装置のいずれか一方のサーバ装置の前記アプリケーション実行部、前記転送制御部および前記入出力制御部の前記ステータスを全てアクティブに設定し、他方のサーバ装置の前記アプリケーション実行部の前記ステータスをアクティブに、前記転送制御部および前記入出力制御部の前記ステータスをスタンバイに設定し、障害が検知された場合には、前記第1サーバ装置および前記第2サーバ装置の前記転送制御部および前記入出力制御部の前記ステータスを、アクティブからスタンバイに、またはスタンバイからアクティブにそれぞれ切り替える、ことを特徴とするクラスタシステム。
【0073】
(付記2) 前記転送制御部は、前記ステータスがスタンバイであり、かつ、他方のサーバ装置の前記アプリケーション実行部から処理要求を受信した場合には、当該処理要求を、同一サーバ装置の前記アプリケーション実行部に転送することを特徴とする付記1記載のクラスタシステム。
【0074】
(付記3) 前記転送制御部は、前記ステータスがスタンバイであり、かつ、前記アプリケーション実行部から処理結果を受信した場合には、当該処理結果を前記クライアント端末に転送せずに、保持することを特徴とする付記1または2記載のクラスタシステム。
【0075】
(付記4) 前記転送制御部は、前記ステータスがアクティブであり、かつ、前記クライアント端末との間のパスで障害が発生した場合には、前記ステータスがスタンバイである他方のサーバ装置の前記転送制御部が保持している前記処理結果を前記クライアント端末に転送するように依頼する処理結果転送依頼を、他方のサーバ装置の前記転送制御部に送信し、前記処理結果転送依頼を受信した場合には、保持中の前記処理結果を前記クライアント端末に転送する、ことを特徴とする付記3記載のクラスタシステム。
【0076】
(付記5) 前記入出力制御部は、前記ステータスがスタンバイであり、かつ、前記アプリケーション実行部から前記記憶装置への入出力要求を受信した場合には、当該入出力要求を実行せずに、保持することを特徴とする付記1〜4のいずれか1項に記載のクラスタシステム。
【0077】
(付記6) 前記入出力制御部は、前記ステータスがアクティブであり、かつ、前記記憶装置との間のパスで障害が発生した場合には、前記ステータスがスタンバイである他方のサーバ装置の前記入出力制御部が保持している前記入出力要求を実行するように依頼する入出力実行依頼を、他方のサーバ装置の前記入出力制御部に送信し、前記入出力実行依頼を受信した場合には、保持中の前記入出力要求を実行し、当該入出力の実行結果を、同一サーバ装置の前記アプリケーション実行部に返信する、ことを特徴とする付記5記載のクラスタシステム。
【0078】
(付記7) 前記アプリケーション実行部は、アプリケーション障害が発生した場合に、前記アプリケーションを再起動し、前記ステータス制御部は、前記アプリケーション障害を発生させた前記アプリケーション実行部の前記ステータスをアクティブからスタンバイに切り替え、予め設定された回復時期に応じて、スタンバイに切り替えた前記アプリケーション実行部のステータスをアクティブに切り替え直す、ことを特徴とする付記1〜6のいずれか1項に記載のクラスタシステム。
【符号の説明】
【0079】
1…クラスタシステム、10、20…サーバ装置、11、21…制御部、12、22…転送部、13、23…AP実行部、14、24…I/O部、C…クライアント端末、D…記憶装置。

【特許請求の範囲】
【請求項1】
クライアント端末と記憶装置との間のデータのやり取りを制御する第1サーバ装置および第2サーバ装置を有するクラスタシステムであって、
前記第1サーバ装置および前記第2サーバ装置は、
アプリケーションを実行するアプリケーション実行部と、
前記クライアント端末と前記アプリケーション実行部との間のデータの転送を制御する転送制御部と、
前記アプリケーション実行部と前記記憶装置との間のデータの入出力を制御する入出力制御部と、
前記アプリケーション実行部、前記転送制御部および前記入出力制御部におけるアクティブ/スタンバイのいずれかのステータスをそれぞれ制御するステータス制御部と、をそれぞれ備え、
前記転送制御部は、
前記ステータスがアクティブであり、かつ、前記クライアント端末から処理要求を受信した場合には、当該処理要求を、同一サーバ装置の前記アプリケーション実行部、および前記ステータスがスタンバイである前記転送制御部に、それぞれ転送し、
前記ステータスがアクティブであり、かつ、前記アプリケーション実行部から処理結果を受信した場合には、当該処理結果を前記クライアント端末に転送し、
前記入出力制御部は、前記ステータスがアクティブであり、かつ、前記アプリケーション実行部から前記記憶装置への入出力要求を受信した場合には、当該入出力要求に基づいて前記記憶装置への入出力を実行し、当該入出力の実行結果を、前記入出力要求の送信元である前記アプリケーション実行部、および前記ステータスがスタンバイである前記入出力制御部に、それぞれ送信し、
前記ステータス制御部は、
クラスタシステムを動作させる場合には、前記第1サーバ装置および前記第2サーバ装置のいずれか一方のサーバ装置の前記アプリケーション実行部、前記転送制御部および前記入出力制御部の前記ステータスを全てアクティブに設定し、他方のサーバ装置の前記アプリケーション実行部の前記ステータスをアクティブに、前記転送制御部および前記入出力制御部の前記ステータスをスタンバイに設定し、
障害が検知された場合には、前記第1サーバ装置および前記第2サーバ装置の前記転送制御部および前記入出力制御部の前記ステータスを、アクティブからスタンバイに、またはスタンバイからアクティブにそれぞれ切り替える、
ことを特徴とするクラスタシステム。
【請求項2】
前記転送制御部は、前記ステータスがスタンバイであり、かつ、他方のサーバ装置の前記アプリケーション実行部から処理要求を受信した場合には、当該処理要求を、同一サーバ装置の前記アプリケーション実行部に転送することを特徴とする請求項1記載のクラスタシステム。
【請求項3】
前記転送制御部は、前記ステータスがスタンバイであり、かつ、前記アプリケーション実行部から処理結果を受信した場合には、当該処理結果を前記クライアント端末に転送せずに、保持することを特徴とする請求項1または2記載のクラスタシステム。
【請求項4】
前記転送制御部は、
前記ステータスがアクティブであり、かつ、前記クライアント端末との間のパスで障害が発生した場合には、前記ステータスがスタンバイである他方のサーバ装置の前記転送制御部が保持している前記処理結果を前記クライアント端末に転送するように依頼する処理結果転送依頼を、他方のサーバ装置の前記転送制御部に送信し、
前記処理結果転送依頼を受信した場合には、保持中の前記処理結果を前記クライアント端末に転送する、
ことを特徴とする請求項3記載のクラスタシステム。
【請求項5】
前記入出力制御部は、前記ステータスがスタンバイであり、かつ、前記アプリケーション実行部から前記記憶装置への入出力要求を受信した場合には、当該入出力要求を実行せずに、保持することを特徴とする請求項1〜4のいずれか1項に記載のクラスタシステム。
【請求項6】
前記入出力制御部は、
前記ステータスがアクティブであり、かつ、前記記憶装置との間のパスで障害が発生した場合には、前記ステータスがスタンバイである他方のサーバ装置の前記入出力制御部が保持している前記入出力要求を実行するように依頼する入出力実行依頼を、他方のサーバ装置の前記入出力制御部に送信し、
前記入出力実行依頼を受信した場合には、保持中の前記入出力要求を実行し、当該入出力の実行結果を、同一サーバ装置の前記アプリケーション実行部に返信する、
ことを特徴とする請求項5記載のクラスタシステム。
【請求項7】
前記アプリケーション実行部は、アプリケーション障害が発生した場合に、前記アプリケーションを再起動し、
前記ステータス制御部は、前記アプリケーション障害を発生させた前記アプリケーション実行部の前記ステータスをアクティブからスタンバイに切り替え、予め設定された回復時期に応じて、スタンバイに切り替えた前記アプリケーション実行部のステータスをアクティブに切り替え直す、
ことを特徴とする請求項1〜6のいずれか1項に記載のクラスタシステム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公開番号】特開2012−155540(P2012−155540A)
【公開日】平成24年8月16日(2012.8.16)
【国際特許分類】
【出願番号】特願2011−14163(P2011−14163)
【出願日】平成23年1月26日(2011.1.26)
【出願人】(000004237)日本電気株式会社 (19,353)
【Fターム(参考)】