(57)【特許請求の範囲】
【請求項１】
複数のサーバマシンが通信線で切替スイッチに接続されて協調的に動作されることにより、１台のサーバマシンが故障してもクライアントへのサービスを継続できるクラスタリング・システムであって、
前記各サーバマシンは、該サーバマシンにおいて実施される処理の管理データを保存する管理データ記憶部と、
該サーバマシンに障害が発生した場合に、少なくとも前記管理データ記憶部、および、該サーバマシンと前記通信線とを電気的および機械的に接続するインターフェース部に対して電源電力を供給する電池を備え、
該サーバマシンは、通常動作時には、前記管理データの他のサーバマシンへの転送を実施せず、
前記各サーバマシン中の第１のサーバマシンに障害が発生した場合には、第１のサーバマシン中の電池により電源電力供給を受けたインターフェース部が、管理データ記憶部から読み出した管理データを第２のサーバマシンに転送し、第２のサーバマシンが受信した管理データに基づいてクライアントへのサービスを継続する
ことを特徴とするクラスタリング・システム。
【請求項２】
前記各サーバマシンのインターフェース部には、通常動作時中に発生する障害を検出して電源を前記電池に切り替えた後、前記第２のサーバマシンへの管理データの転送処理を制御する障害時動作制御回路を備える
ことを特徴とする請求項１に記載のクラスタリング・システム。
【請求項３】
前記各サーバマシンのインターフェース部には、通常動作時のクロック信号の周波数よりも低い周波数のクロック信号を発生させる低周波数クロック発生回路と、
前記第１のサーバマシンに障害が発生した場合に、前記インターフェース部で利用するクロック信号を、通常動作時に利用される比較的高い周波数のクロック信号から前記低周波数のクロック信号に切り替えるクロック切替回路を備える
ことを特徴とする請求項１に記載のクラスタリング・システム。
【請求項４】
前記各サーバマシンのインターフェース部は、標準化された所定スロットにて接続可能なボード形式あるいはカード形式であって、前記電池および前記管理データ記憶部を内蔵して一体化される
ことを特徴とする請求項１〜３の何れかに記載のクラスタリング・システム。
【請求項５】
複数のサーバマシンが通信線で切替スイッチに接続されて協調的に動作されることにより、１台のサーバマシンが故障してもクライアントへのサービスを継続できるクラスタリング・システムにおける障害発生時のデータ復旧方法であって、
クライアントの要求するサービスを制御する第１のサーバマシンは、通常動作時には、該第１のサーバマシンの内部に管理データを保存し、前記管理データの他のサーバマシンへの転送を実施せず、
該第１のサーバマシンに障害が発生したことを検出した場合には、第１のサーバマシンは、該第１のサーバマシン内部の少なくとも前記管理データを保存する記憶部および前記通信線と接続するためのインターフェース部に供給される電源電力を、内蔵された電池から供給される電源電力に切り替え、
前記第１のサーバマシンは、前記インターフェース部から前記管理データを第２のサーバマシンに転送し、
第２のサーバマシンは、受信した前記管理データを用いて前記クライアントの要求するサービスを継続する
ことを特徴とするクラスタリング・システムにおける障害発生時のデータ復旧方法。
【請求項６】
前記第１のサーバマシンは、障害が発生したことを検出した場合には、前記電源を、内蔵する電池に切り替えた後に、クロック信号を低周波数のものに切り替えて、前記障害発生時における前記管理データを第２のサーバマシンへ転送する処理を通常動作時よりも低速で実施する
ことを特徴とする請求項５に記載のクラスタリング・システムにおける障害発生時のデータ復旧方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、複数のサーバマシンが切替スイッチに接続されて協調的に動作されることにより、１台のサーバマシンが故障してもクライアントへのサービスを継続できるクラスタリング・システムに関する。
【０００２】
【従来の技術】
従来から、複数のサーバマシンが通信線で切替スイッチに接続されて協調的に動作されることにより、１台のサーバマシンが故障してもクライアントへのサービスを継続できるクラスタリング・システムが知られている。このクラスタリング・システムでは、クライアントからは、複数のサーバマシンがあたかも１台のサーバであるように見える。また、クラスタリングの機能は、ＵＮＩＸ（登録商標）やウインドウズＮＴ（登録商標）等のようなＯＳによりサポートされている。
【０００３】
また、クラスタリング・システムは、例えば、クライアントの増加によるサーバマシンの増設やメンテナンス時にもシステムの機能を停止させることなく、サービスの提供が可能となるため、フォールト・トレラント・システムの一種と考えられる。
【０００４】
フォールト・トレラント・システムは、一般的には、各種構成要素を２重化する等の冗長性を持たせて、通常はデータのバックアップ等を除いては片方の構成要素のみを用いて他方の構成要素は休ませておき、片方の構成に障害が発生した時には、すぐに他方の構成要素を用いるように切り替えることにより、障害発生時に自動的にデータ復旧して処理を継続できるようにしている。
【０００５】
一般的にクラスタリング・システムは、２台以上のサーバマシンが通信線で切替スイッチに接続されて、複数のクライアントが要求するサービスを個別のサーバマシンが実施しつつ、各サーバマシンで必要となるジャーナルデータ等のフェイルオーバー用（データ復旧用）の管理データについては、サービスの合間に、各サーバマシン毎に割り振られる予備サーバマシンに各サーバマシンから転送している。
【０００６】
図５は、従来のクラスタリング・システムの構成を示すブロック図である。
【０００７】
図５のクラスタリング・システム１００は、複数のサーバマシン（第１サーバ１０１、第２サーバ１０２、第３サーバ１０３、・・・、第ｎサーバ１０４）と、クライアントからのサービス要求、各サーバマシン間の多種の指示や要求、あるいは、各サーバマシンにおける処理結果の履歴を示すジャーナルデータ等のフェイルオーバー用の管理データの送受信先を切り替える管理データ用切替スイッチ１０５と、各サーバマシンで処理される例えば音声データや画像データ等の一般的に大容量であるメインデータの送受信先を切り替えるメインデータ用切替スイッチ１０６と、メインデータを多重化して保存するメインデータ記憶部１０７と、上記した各部に商用電源から得た電力を供給する電源部１０８と、各サーバマシンと管理データ用切替スイッチ１０５とを接続する、例えばイーサバスである通信線１１０と、各サーバマシンとメインデータ用切替スイッチ１０６とを大容量かつ高速に接続する、例えば、光ファイババスである高速通信線１２０と、電源部１０８から各部へ電力を供給する電源ライン１３０により構成される。
【０００８】
各サーバマシンと管理データ用切替スイッチ１０５との間で扱われるデータの種類としては、例えば、システムダウン時のフェイルオーバー用の管理データ（ジャーナル情報等）のみでなく、負荷分散用のデータも扱われる。従って、そのデータ量は、画像データや音声データを扱うメインデータほどではないが多く、例えば、システムが大規模になるほど高速な通信速度が要求される。この各サーバマシンと管理データ用切替スイッチ１０５との間では、一般的にイーサバスによる接続が用いられている。
【０００９】
一方、各サーバマシンとメインデータ用切替スイッチ１０６との間で扱われるデータの種類としては、例えば、音声データや画像データである。従って、そのデータ量は、管理データ等に比較して圧倒的に大容量であるので、通信線１１０で使用される通常のイーサバス等による接続より高速な光ファイババス等による接続となる。
【００１０】
また、各サーバマシンの中には、各サーバ内部の管理データをイーサバスによる通信に適したデータ形態に変換あるいは調整したり、逆にイーサバスの通信データを各サーバ内部の管理データとして適したデータ形態に変換あるいは調整する管理データ用インターフェース部１５０〜１５３と、各サーバマシン毎に要求される処理内容あるいは処理結果を示すジャーナルデータ等の管理データを保存する管理データ記憶部１６０〜１６３を各々が有しており、さらに、各管理データ用インターフェース部１５０〜１５３と各管理データ記憶部１６０〜１６３との間は、各サーバマシンの内部バス１４０〜１４３により接続されている。
【００１１】
また、電源ライン１３０のうちで、特に第１サーバ１０１に電力を供給する電源ラインを１３０ａとし、第２サーバ１０２に電力を供給する電源ラインを１３０ｂとし、第３サーバ１０３に電力を供給する電源ラインを１３０ｃとし、第ｎサーバ１０４に電力を供給する電源ラインを１３０ｄとする。
【００１２】
次に、図５に示したクラスタリング・システム１００の通常動作時における管理データをバックアップする（二重化保存する）動作について説明する。
【００１３】
図６は、従来のクラスタリング・システム１００における管理データの二重化保存動作のフローチャートである。
【００１４】
ここでは、例えば、第１サーバ１０１でクライアントからの要求により処理が実施される場合とする。
【００１５】
まず、第１サーバ１０１では、クライアントからの処理の要求が発生しているか否かを確認しており（Ｓ１）、処理要求がない場合（Ｓ１：ＮＯ）には、ステップＳ１の確認が繰り返されることにより常時クライアントからの要求が監視される。処理要求がある場合（Ｓ１：ＹＥＳ）には、第１サーバ１０１では、要求内容が管理データ（例えばジャーナルデータ）の保存であるか否かを確認する（Ｓ２）。管理データの保存ではない場合（Ｓ２：ＮＯ）には、その要求内容に従って通常処理が実施される（Ｓ５）。管理データの保存である場合（Ｓ２：ＹＥＳ）には、第１サーバ１０１で、管理データを保存するための割り込み処理が実施される（Ｓ３）。
【００１６】
このステップＳ３の管理データを保存するための割り込み処理は、第１サーバ１０１の図示しないＣＰＵにおける処理を基本に考えた場合、例えば、第１サーバ１０１で現在実行中の処理（ジョブ）が終わったら、次のジョブの開始を一時的に保留しておき、メインデータ記憶部１０７中でジョブ結果として格納されたメインデータのアドレス位置等についての管理データを生成し、メインメモリ等の一部に設けられた管理データ記憶部１６０に格納する。
【００１７】
また、従来の割り込み処理では、管理データが二重化されて格納（保存）されることから、管理データ記憶部１６０に保存されたジャーナルデータ等の管理データは、管理用インターフェース部１５０から第２サーバ１０２内の管理用インターフェース部１５１に向けて送出（転送Ｔ１）される。
【００１８】
そのため、図６（ｂ）に示す別サーバへの転送プロセスにおいて、まず第１サーバ１０１から第２サーバ１０２に管理データ転送要求が送られる（Ｓ６）。次に、転送先の第２サーバ１０２がビジーであるか否かの確認が実施され（Ｓ７）、第２サーバ１０２がビジーであれば（Ｓ７：ＹＥＳ）、管理データを転送できないので、第１サーバ１０１は第２サーバ１０２がビジーでなくなるまで待機する。第２サーバ１０２がビジーでなくなる（Ｓ７：ＮＯ）と、第１サーバ１０１の管理データ記憶部１６０に保存されている管理データが第２サーバ１０２に転送される（Ｓ８）。その後、管理データが第２サーバ内の管理データ記憶部１６１に保存されたという結果が確認されてから、次の処理（ジョブ）が再スタートされる。
【００１９】
次いで、ステップＳ３の割り込み処理が終了したか否かが確認され（Ｓ４）、終了した場合（Ｓ４：ＹＥＳ）には、ステップＳ１に戻り、終了していない場合（Ｓ４：ＮＯ）には、ステップＳ３に戻って割り込み処理が継続される。
【００２０】
通常動作時中には、例えば、第１サーバ１０１における１個のジョブが終了する度に管理データの保存要求が発生して、アップデートされた管理データの内容が管理データ記憶部１６０に保存されると共に、管理データの保存の二重化のため、第２サーバ１０２へも転送される。すなわち、第１サーバ１０１における処理中には、頻繁に上記の割り込み処理が発生して、第１サーバ１０１から第２サーバ１０２への管理データの転送Ｔ１が実行されることになる。
【００２１】
以上のように通常処理が実施されている途中で、例えば、第１サーバ１０１への電源ライン１３０ａに障害が発生した場合について以下に説明する。これは、実際には、サーバマシンにおける障害は様々な箇所で発生する可能性があるが、電源ラインを障害発生箇所とした場合が最も理解しやすく且つ説明しやすいと考えられるため、便宜上から電源ラインを障害発生箇所とした。
【００２２】
図７は、従来のクラスタリング・システム１００における障害検出時の動作のフローチャートである。
【００２３】
まず、例えば、クラスタリング・システム１００中の障害が発生した第１サーバ１０１から管理データを受信していた第２サーバ１０２が、処理実行中の第１サーバ１０１に障害が発生したか否かを確認する（Ｓ１１）。
【００２４】
このステップＳ１１で障害が発生したことの確認は、例えば、電源ライン１３０ａに障害が発生した場合（Ｓ１１：ＹＥＳ）には、第１サーバ１０１への電源電力供給が無くなるので、第２サーバ１０２では、第１サーバ１０１から頻繁に転送（Ｔ１）されてくる管理データが正常な終了手続を経ずに突然に受信しなくなることになる。従って、第２サーバ１０２は、突然に受信データが無くなったか否かを確認することで、第１サーバ１０１に障害が発生したか否かを確認することができる。また、第２サーバ１０２では、障害が発生しない場合（Ｓ１１：ＮＯ）には、再度、ステップＳ１１を繰り返すことにより、障害の発生を常時監視することができる。
【００２５】
第１サーバ１０１における障害の発生を検出した第２サーバ１０２は、管理データ用切替スイッチ１０５に対して、管理データが出力される供給元が、例えば、第１サーバ１０１から第２サーバ１０２になるように切り替え、管理データの送信先となる受信側が、例えば、第２サーバ１０２から第３サーバ１０３になるように切り替えさせる（Ｓ１２）。すなわち、当初の設定ではバックアップの管理データを保存するだけの予備側サーバマシンであった第２サーバ１０２が、障害発生時には管理データの供給元である主処理側サーバマシンになることから、管理データ用切替スイッチ１０５における第２サーバ１０２との接続部が管理データの出力側になるように切り替えられると共に、管理データの受信側として新たに第３サーバ１０３（予備側サーバマシン）が接続できるように新たな接続部が設定される。
【００２６】
また、第１サーバ１０１に障害が発生したことを検出した第２サーバ１０２は、メインデータ用切替スイッチ１０６も切り替えて、メインデータ記憶部１０７とクライアント間のメインデータの送受信が第２サーバ１０２を経由するように設定させる（Ｓ１２）。
【００２７】
第２サーバ１０２は、障害発生時には、保存されていた管理データの内容を確認し（Ｓ１３）、最も最近保存された内容（最終保存内容）の次のジョブから処理を開始することにより、第１サーバ１０１が途中まで実施した処理について第２サーバ１０２で継続して処理を実施する（Ｓ１４）。
【００２８】
従来のクラスタリング・システムでは、上記の構成および方法を用いることにより、一つのサーバマシンに障害が発生した場合であっても、クライアントから要求された処理を他のサーバマシンにより継続して実施できるようにしたので、要求された処理を自動的にデータ復旧することができた。
【００２９】
【発明が解決しようとする課題】
しかしながら、上記したように、第１サーバ１０１から第２サーバ１０２への管理データの転送Ｔ１は、例えば、１つのジョブが終了する度等に頻繁に実施されるため、第１サーバ１０１におけるＣＰＵの処理効率を悪化させていた。さらに、イーサバス等である通信線１１０の通信速度は第１サーバ１０１内の内部バス１４０等に比べて遅いことから、第１サーバ１０１全体としての処理効率も低下させていた。
【００３０】
また、通信線１１０は、上記したジャーナルデータ等のフェイルオーバー用の管理データの他に、例えば、負荷分散等にも使用されるため、頻繁に通信線１１０を用いて第１サーバ１０１の管理データが第２サーバ１０２へ転送Ｔ１されることは、クラスタリング・システム１００全体としての処理効率も低下させていた。
【００３１】
本発明は、上述した如き従来の問題を解決するためになされたものであって、通常動作時に、各サーバマシン間のフェイルオーバー用管理データのサーバ間転送を無くすことにより、処理効率が改善されたクラスタリング・システムを提供することを目的とする。
【００３２】
【課題を解決するための手段】
上述の目的を達成するため、請求項１に記載した本発明のクラスタリング・システムは、複数のサーバマシンが通信線で切替スイッチに接続されて協調的に動作されることにより、１台のサーバマシンが故障してもクライアントへのサービスを継続できるクラスタリング・システムであって、各サーバマシンは、該サーバマシンにおいて実施される処理の管理データを保存する管理データ記憶部と、該サーバマシンに障害が発生した場合に、少なくとも管理データ記憶部、および、該サーバマシンと通信線とを電気的および機械的に接続するインターフェース部に対して電源電力を供給する電池を備え、該サーバマシンは、通常動作時には、前記管理データの他のサーバマシンへの転送を実施せず、各サーバマシン中の第１のサーバマシンに障害が発生した場合には、第１のサーバマシン中の電池により電源電力供給を受けたインターフェース部が、管理データ記憶部から読み出した管理データを第２のサーバマシンに転送し、第２のサーバマシンが受信した管理データに基づいてクライアントへのサービスを継続することを特徴とする。
【００３３】
また、請求項２の本発明は、請求項１に記載のクラスタリング・システムにおいて、各サーバマシンのインターフェース部には、通常動作時中に発生する障害を検出して電源を電池に切り替えた後、第２のサーバマシンへの管理データの転送処理を制御する障害時動作制御回路を備えることを特徴とする。
【００３４】
また、請求項３の本発明は、請求項１に記載のクラスタリング・システムにおいて、各サーバマシンのインターフェース部には、通常動作時のクロック信号の周波数よりも低い周波数のクロック信号を発生させる低周波数クロック発生回路と、第１のサーバマシンに障害が発生した場合に、インターフェース部で利用するクロック信号を、通常動作時に利用される比較的高い周波数のクロック信号から低周波数のクロック信号に切り替えるクロック切替回路を備えることを特徴とする。
【００３５】
また、請求項４の本発明は、請求項１〜３の何れかに記載のクラスタリング・システムにおいて、各サーバマシンのインターフェース部は、標準化された所定スロットにて接続可能なボード形式あるいはカード形式であって、電池および管理データ記憶部を内蔵して一体化されることを特徴とする。
【００３６】
また、請求項５に記載した本発明のクラスタリング・システムにおける障害発生時のデータ復旧方法は、複数のサーバマシンが通信線で切替スイッチに接続されて協調的に動作されることにより、１台のサーバマシンが故障してもクライアントへのサービスを継続できるクラスタリング・システムにおける障害発生時のデータ復旧方法であって、クライアントの要求するサービスを制御する第１のサーバマシンは、通常動作時には、該第１のサーバマシンの内部に管理データを保存し、前記管理データの他のサーバマシンへの転送を実施せず、該第１のサーバマシンに障害が発生したことを検出した場合には、第１のサーバマシンは、該第１のサーバマシン内部の少なくとも前記管理データを保存する記憶部および前記通信線と接続するためのインターフェース部に供給される電源を、内蔵された電池に切り替え、第１のサーバマシンは、インターフェース部から管理データを第２のサーバマシンに転送し、第２のサーバマシンは、受信した管理データを用いて前記クライアントの要求するサービスを継続することを特徴とする。
【００３７】
また、請求項６の本発明は、請求項５に記載のクラスタリング・システムにおける障害発生時のデータ復旧方法において、第１のサーバマシンは、障害が発生したことを検出した場合には、電源を、内蔵する電池に切り替えた後に、クロック信号を低周波数のものに切り替えて、障害発生時における管理データを第２のサーバマシンへ転送する処理を通常動作時よりも低速で実施することを特徴とする。
【００３８】
【発明の実施の形態】
以下、本発明を図示した実施形態に基づいて説明する。
【００３９】
図１は、本発明の第１の実施形態のクラスタリング・システムの構成を示すブロック図である。
【００４０】
なお、図１中で、図５に示した従来のクラスタリング・システムと同様な機能を有する部分には、同じ符号を付与して重複する説明を省略する。
【００４１】
図１のクラスタリング・システム１は、複数のサーバマシンを有している点では従来と同様であるが、各サーバマシンが第１サーバ１１、第２サーバ１２、第３サーバ１３、・・・、第ｎサーバ１４となって従来のものとは内部構成が異なっている。その他の構成である管理データ用切替スイッチ１０５、メインデータ用切替スイッチ１０６、メインデータ記憶部１０７、電源部１０８、通信線１１０、高速通信線１２０、および、電源ライン１３０については、図５に示した従来の構成と同様である。
【００４２】
本実施形態の各サーバマシンでは、各サーバ内部の管理データ用インターフェース部５０〜５３が、従来と同様に管理データをイーサバスによる通信に適したデータ形態に変換あるいは調整したり、逆にイーサバスの通信データを各サーバ内部の管理データとして適したデータ形態に変換あるいは調整する機能を有しているだけでなく、各サーバマシン毎に要求される処理内容あるいは処理結果を示すジャーナルデータ等の管理データを保存する管理データ記憶部６０〜６３さらに、それらの管理データ記憶部６０〜６３への電源電力供給に障害が発生した場合に電源電力を供給する電池７０〜７３をその内部に有している。
【００４３】
電池７０〜７３は、管理データ記憶部６０〜６３のメモリーバックアップ用に必要となる電力容量に加えて、管理データ記憶部６０〜６３の記憶内容を他のサーバマシンに転送するために必要となる電力容量も有している。
【００４４】
また、従来の管理データ記憶部１６０〜１６３は、一般的には、各サーバマシンで主作業領域となるメインメモリ内の一部が用いられる場合が多いため、図５に示したように管理データ用インターフェース部１５０〜１５３とは別構成となり、各サーバマシンの内部バス１４０により接続されている。しかし、本実施形態では、管理データ記憶部６０〜６３は、管理データ用インターフェース部５０〜５３の内部に配置されている。また、管理データ記憶部６０〜６３としては、例えば、揮発性メモリである６４Ｍｂｉｔ（１Ｍｗｏｒｄ×１６ｂｉｔ×４ｂａｎｋ）ＳＤＲＡＭを４個（合計３２Ｍバイト）使用する。
【００４５】
図２は、図１中の第１サーバ１１の内部構成を示す図である。
【００４６】
なお、以下には第１サーバ１１の内部構成のみを説明し、図１中の第２サーバ１２〜第ｎサーバ１４については第１サーバ１１と同様な内部構成であるので説明を省略する。
【００４７】
図２の第１サーバ１１中には、管理データ用インターフェース部５０の他に、クライアントの希望するメインデータに関する処理を実行するサーバ用主制御部１５０、および、図１のメインデータ記憶部１０７にメインデータを格納したり読み出したりするためのメインデータ用インターフェース部１６０を有している。本サーバとクライアントとの入出力部、あるいは、サーバとしての他の構成については、本発明の主要な構成との関係が少なく、従来の構成との相違が少ないため、記載を省略している。また、上記各部には、電源部１０８から電源ライン１３０を介して電源電力が供給されている。
【００４８】
管理データ用インターフェース部５０中には、前記した管理データ記憶部６０および電池７０の他に、通信線１１０を介した管理データ用切替スイッチ１０５との通信を制御する通信制御回路６４と、サーバ用主制御部１５０との信号送受信により第１サーバ１１に発生した障害を検出して、障害が検出された場合に管理データ記憶部６０内に保存されたデータを別サーバに転送する制御を実施する障害時動作制御回路６５と、その障害時動作制御回路６５の制御により通常動作時と障害時で使用するクロック信号を切り替えるクロック切替回路６６と、通信線１１０を第１サーバ１１に接続するためのコネクタ等からなる通信線用接続部６７と、障害時用の比較的低周波数のクロック信号を供給する低周波数クロック発生回路６８と、管理データ用インターフェース部５０を内部バス１４０に接続するためのコネクタ等からなるサーバ内部用接続部７４と、障害時動作制御回路６５の制御により通常動作時と障害時で電源部１０８から供給される外部電源電力と電池７０から供給される内部電源電力とを切り替える電源切替回路７５と、通常動作時用の比較的高周波数のクロック信号を供給する高周波数クロック発生回路７８とを有している。
【００４９】
また、障害時に電池７０から電源電力が供給される障害時電池動作範囲５６には、管理データ記憶部６０、通信制御回路６４、障害時動作制御回路６５、クロック切替回路６６、通信線用接続部６７、および、低周波数クロック発生回路６８が含まれている。
【００５０】
上記した管理データ用インターフェース部５０は、一般的にイーサネット（登録商標）等の標準化されたバス形式に対応するように設計されることから、その構成もイーサネット（登録商標）のインターフェース回路を内蔵するボード形式あるいはカード形式であって、そのボード形式あるいはカード形式のインターフェースを接続可能な所定スロットに挿入されることにより、電気的接続および機械的接続が行われる。そのため、電池７０および管理データ記憶部６０は、そのボード形式あるいはカード形式のインターフェース上に配置されて、すなわち、インターフェースに内蔵され、一体化される。
【００５１】
通常動作時用にクロック信号を供給する高周波数クロック発生回路７８による動作周波数と、障害時用にクロック信号を供給する低周波数クロック発生回路６８による動作周波数とでは、１０倍程度の差があるものとする。すなわち、高周波数クロック発生回路７８から低周波数クロック発生回路６８に切り替わることで、動作周波数は１／１０になる。具体的に通信速度を例にすると、通常動作時の全２重通信で１Ｇｂｐｓの通信速度から１００Ｍｂｐｓの通信速度となる。
【００５２】
電池７０の容量としては、通常動作時の通信方式では、消費電力が１０Ｗ程度必要になることから３０００ｍＡｈ程度が必要となる。これは、一般的な乾電池（ニッケル水素電池）に換算すると、市販されている最も大きい寸法である単１サイズの乾電池が３個分となる。この寸法の電池をボードあるいはカードに実装することは非現実的である。ところが、上記した本実施形態の低周波数を用いる方法では、消費電力を６００ｍＷ程度に抑制することができるので、消費電力も２００ｍＡｈ程度となる。これは、乾電池（ニッケル水素電池）に換算すると、市販されている最も小さい寸法（乾電池中：ボタン電池を除く）である単５サイズの乾電池が１個分となる。
【００５３】
本実施形態では、上記のように小さい寸法の電池を用いることができることから、例えば、インターフェースをＰＣＩアダプタカード等のカード形式にして、その中にバッテリーを内蔵させることができる。
【００５４】
上記のボード形式あるいはカード形式のインターフェースを利用することにより、従来のクラスタリング・システムを本実施形態のシステムに変更する場合には、インターフェースカードを変更するだけで良いので、新たなクラスタリング・システムを購入する必要がなくなり、わずかな設置コストで、且つ、わずかな変更工数で、従来のクラスタリング・システムを本実施形態のクラスタリング・システムに変更することができる。
【００５５】
次に、図１および図２に示したクラスタリング・システム１の通常動作時における管理データを保存する動作について説明する。なお、本実施形態では、通常動作時には、電池によりバックアップされた管理データ記憶部に管理データが保存されるのみであり、従来のように、通常動作時において管理データを他のサーバマシンにも保存するという管理データの二重化保存処理については実施されない。
【００５６】
図３は、本実施形態のクラスタリング・システム１における管理データの保存動作のフローチャートである。
【００５７】
ここでは、例えば、第１サーバ１１でクライアントからの要求により処理が実施される場合とする。
【００５８】
まず、第１サーバ１１では、クライアントからの処理の要求が発生しているか否かを確認しており（Ｓ２１）、処理要求がない場合（Ｓ２１：ＮＯ）には、ステップＳ２１の確認が繰り返されることにより常時クライアントからの要求が監視される。
【００５９】
処理要求がある場合（Ｓ２１：ＹＥＳ）には、第１サーバ１１では、要求内容が管理データ（例えばジャーナルデータ）の保存であるか否かを確認する（Ｓ２２）。管理データの保存ではない場合（Ｓ２２：ＮＯ）には、その要求内容に従って通常処理が実施される（Ｓ２５）。管理データの保存である場合（Ｓ２２：ＹＥＳ）には、第１サーバ１１で、管理データを保存するための割り込み処理が実施される（Ｓ２３）。
【００６０】
このステップＳ２３の管理データを保存するための割り込み処理は、例えば、第１サーバ１１のサーバ用主制御部１５０で現在実行中の処理（ジョブ）が終了したら、次のジョブの開始を一時的に保留しておき、メインデータ記憶部１０７中でジョブ結果として格納されたメインデータのアドレス位置等についての管理データを生成し、管理データ用インターフェース部５０内に設けられた管理データ記憶部６０に格納する。本実施形態では、通常動作時は、このようにメインデータについての処理を実施するサーバマシン内部の処理のみで、他のサーバマシンへの管理データを二重化するための転送は実施されない。従って、次の処理（ジョブ）が再スタートするタイミングが早くなる。
【００６１】
次いで、ステップＳ２３の割り込み処理が終了したか否かが確認され（Ｓ２４）、終了した場合（Ｓ２４：ＹＥＳ）には、ステップＳ２１に戻り、終了していない場合（Ｓ２４：ＮＯ）には、ステップＳ２３に戻って割り込み処理が継続される。
【００６２】
通常動作時中には、例えば、第１サーバ１１における１個のジョブが終了する度に管理データの保存要求が発生して、アップデートされた管理データの内容が管理データ記憶部６０に保存される。これは、通信線１１０等に比べて比較的高速な内部バス１４０等のみによる処理であるので、ジョブを実行する間の保留時間、すなわち、割り込み処理が実施される時間が従来のものよりも減少する。
【００６３】
以上のように通常処理が実施されている途中で、例えば、第１サーバ１１への電源ライン１３０ａに障害が発生した場合について以下に説明する。
【００６４】
図４は、本実施形態のクラスタリング・システム１における障害検出時の動作のフローチャートである。
【００６５】
まず、例えば、クラスタリング・システム１中の障害が発生した第１サーバ１１では、障害時動作制御回路６５がサーバ用主制御部１５０等を常時監視しており、この障害時動作制御回路６５が、処理実行中の第１サーバ１１に障害が発生したか否かを確認する（Ｓ３１）。
【００６６】
このステップＳ３１における障害が発生したことの確認は、例えば、電源ライン１３０ａに障害が発生した場合（Ｓ３１：ＹＥＳ）には、第１サーバ１１への電源電力の供給が無くなるので、障害時動作制御回路６５では、電圧レベルの異常低下を検知する。従って、障害動作検出回路６５は、通常動作時とは異なる突然な電圧レベルの異常を確認することで、第１サーバ１１に障害が発生したか否かを確認することができる。また、障害時操作制御回路６５では、障害が発生しない場合（Ｓ３１：ＮＯ）には、再度、ステップＳ３１を繰り返すことにより、障害の発生を常時監視することができる。
【００６７】
第１サーバ１１における障害の発生を検出した障害時動作制御回路６５は、電源切替回路７５に対して、通常動作時の電源部１０８から供給される電源電力から、障害発生時の電池７０から供給される電源電力に切り替えるよう制御を実施する（Ｓ３２）。また、障害時動作制御回路６５は、障害発生時の誤動作等を避けるために、サーバ内部用接続部７４あるいはその先のサーバ用主制御部１５０等の内部回路を回路的に切り離して、サーバ内部からの信号が受信できないようにする（Ｓ３３）。
【００６８】
さらに、障害時動作制御回路６５は、クロック切替回路６６を通常動作時の高周波数クロック発生回路７８から障害発生時の低周波数クロック発生回路６８側に切り替えるように制御を実施する。
【００６９】
以上の制御により、管理データ用インターフェース部５０内の少なくとも障害時電池動作範囲５６の内部になる各部は、障害発生時に電池７０による電源電力の供給を受けて、通常動作時よりも低周波数のクロック信号で動作する。このため、電池７０は、高速動作に必要となる高電力が必要ではなくなるので、電池容量を小さくすることができる。
【００７０】
電池容量を小さくできることで、インターフェースカードに実装される電池の外形寸法を小さくすることができることから、所定寸法以内に設計する必要があるインターフェースカードの設計を容易にすることができる。
【００７１】
その後、障害時動作制御回路６５は、低周波数のクロック信号による動作環境下で、通信制御回路６４を制御して管理データ記憶部６０に保存された管理データを読み出して、通信線１１０および管理データ用切替スイッチ１０５を介して第２サーバ１２に転送Ｔ２を実施する（Ｓ３５）。
【００７２】
また、その際に、通信制御回路６４は、低周波数のクロック信号に基づく通信速度で第２サーバ１２との間の同期を確立し、管理データ記憶部６０から保存された管理データをシングルバンクでバースト転送させてから、第２サーバ１２に転送する。
【００７３】
この低周波数のクロック信号に基づく通信速度に切り替えることでは、通常動作時の転送時間と比較して、転送時間が８倍程度に増加し、例えば、３２Ｍバイトの転送に３秒程度が必要になる。しかし、一般的なクラスタリング・システムによるフェイルオーバー処理には、最低でも１分程度は必要であることから、本実施形態における通信速度の低下は、フェイルオーバー処理全体の遅延の中では割合が小さいため問題になるとは考えられない。
【００７４】
転送Ｔ２された管理データを受信した第２サーバ１２は、管理データ用切替スイッチ１０５に対して、障害発生時の管理データの出力元が、第１サーバ１１から第２サーバ１２になるように切り替え、障害発生時の管理データの送信先を、第２サーバ１２から第３サーバ１３に切り替えさせる（Ｓ３６）。すなわち、当初の設定では障害発生時に管理データを受信してクライアントの要求する処理を継続する予備側サーバマシンであった第２サーバ１２が、障害発生時には管理データを内部に保存する主処理側サーバマシンになることから、管理データ用切替スイッチ１０５における第２サーバ１２との接続部が、障害発生時における管理データの出力側になるように切り替えられると共に、第２サーバ１２に障害が発生した場合の管理データの受信側として新たに第３サーバ１３（新たな予備側サーバマシン）が接続されるように、第３サーバ１３との接続部が設定される。
【００７５】
また、管理データを受信した第２サーバ１２は、メインデータ用切替スイッチ１０６も切り替えて、メインデータ記憶部１０７とクライアント間のメインデータの送受信が第２サーバ１２を経由するように設定する（Ｓ３６）。
【００７６】
第２サーバ１２は、第１サーバ１１に障害が発生したことから、第１サーバ１１の管理データを受信した場合、受信した管理データの内容を確認し（Ｓ３７）、最後に受信した内容（最終受信内容）の次のジョブから処理を開始することにより、第１サーバ１１が途中まで実施した処理について第２サーバ１２で継続して処理を実施できることになる（Ｓ３８）。
【００７７】
本実施形態のクラスタリング・システム１では、上記の構成および方法を用いることにより、一つのサーバマシンに障害が発生した場合であっても、クライアントから要求された処理を他のサーバマシンにより継続して実施できるようにしたので、要求された処理を自動的にデータ復旧することができる。
【００７８】
このように、本実施形態の第１サーバ１１では、第２サーバ１２への管理データの転送Ｔ２は、通常動作時には実施されず、第１サーバ１１に障害が発生した場合のみである。従って、通常動作時には、第１サーバ１１では、別サーバへ管理データを転送することによる処理の遅延が発生しないため、ＣＰＵの処理効率の悪化が少なくなる。
【００７９】
また、本実施形態の第１サーバ１１では、管理データは電池によりバックアップされ、第１サーバ１１内部の管理データ記憶部６０に格納されるため、イーサバス等である通信線１１０の通信速度が第１サーバ１１内の内部バス１４０等に比べて遅いことから低下するサーバの処理効率も改善できる。
【００８０】
また、通信線１１０は、障害発生時以外は上記したジャーナルデータ等のフェイルオーバー用の管理データが送受信されなくなるので、例えば、負荷分散等に通信線１１０が使用される場合のクライアント・システムの処理効率を改善することができる。
【００８１】
なお、上記した実施形態では、第１サーバ１１に障害が発生した場合に、第２サーバ１２に管理データを転送する実施形態について記載しているが、本発明はこれに限られるものではなく、例えば、ｎ個のサーバ中の任意のサーバに障害が発生した場合に、残りのサーバ中から任意のサーバを指定して管理データを転送する場合に適用することができる。
【００８２】
また、上記した実施形態では、管理データ用インターフェース部を、標準化されたイーサネット（登録商標）で、インターフェースカード形式としたので、クラスタリング・システム全体を変更する必要がなくし、設置コストおよび変更工数をわずかにしたが、本発明は、これに限られるものではなく、例えば、他の標準化されたバス形式あるいはインターフェースカード形式を適用しても実施することができ、インターフェースカードの設計を容易にすることができる。
【００８３】
なお、上記した実施形態では、各サーバマシンと管理データ用切替スイッチ１０５との間ではイーサバスによる接続を用い、各サーバマシンとメインデータ用切替スイッチ１０６との間では光ファイババスによる接続を用いたが、例えば、イーサバスによる接続を省略して、全ての接続を光ファイババスにより実施するようにシステムを構成しても良い。
【００８４】
また、本実施形態の通信速度を低下させることにより消費電力を減少させて管理データを転送する方法は、上記した通常のイーサネット（登録商標）による接続だけではなく、他のネットワーク接続方式、例えば、ギガビットイーサネット（登録商標）等にも適用することができる。
【００８５】
また、上記した実施形態では、障害発生時には、管理データを転送するためのクロック信号を低速（低周波数）のものに切り替えて使用したが、電池容量に余裕がある場合、あるいは、元々のクロック信号の周波数が低速であることから、管理データの転送に必要な電力が少ない場合には、クロック信号を切り替えないで実施しても良い。
【００８６】
また、上記した実施形態では、障害が電源ラインに発生した場合を説明したが、本発明はこれに限られるものではなく、各サーバに発生する全ての種類の障害、例えば、信号線や内部処理回路等の障害に対して適用することができる。
【００８７】
また、上記した実施形態における障害発生時の電池動作範囲には、図示していない他の回路を含ませるように構成しても良い。
【００８８】
【発明の効果】
上記のように本発明のクラスタリング・システムおよびその障害発生時のデータ復旧方法は、メインデータの処理を実施中の第１のサーバマシンから予備の第２のサーバマシンへの管理データの転送が、通常動作時には実施されず、第１のサーバマシンに障害が発生した場合のみに実施されるので、通常動作時の第１のサーバマシンにおける管理データの転送処理による遅延が発生せず、処理効率の低下を改善できる。
【００８９】
また、本発明のクラスタリング・システムおよびその障害発生時のデータ復旧方法は、管理データが電池によりバックアップされ、サーバマシン内部にのみ格納されるため、イーサバス等の転送用の通信線と内部バスとの処理時間差により発生するサーバマシンの内部処理効率の低下も改善できる。
【００９０】
また、本発明のクラスタリング・システムの通信線には、障害発生時以外はジャーナルデータ等のフェイルオーバー用の管理データが送受信されなくなるので、負荷分散等に通信線を使用できる頻度が多くなり、クラスタリング・システムの処理効率を改善することができる。
【００９１】
また、管理データ用インターフェース部を標準化されたカード形式とした場合には、従来のクラスタリング・システムから本発明のクラスタリング・システムに変更する際に、システム全体を変更する必要がなく、設置コストおよび変更工数をわずかにすることができ、電池の寸法を小さくできるので、インターフェースカードの設計を容易にすることができる。
【図面の簡単な説明】
【図１】  本発明の第１の実施形態のクラスタリング・システムの構成を示すブロック図である。
【図２】  図１中の第１サーバの内部構成を示す図である。
【図３】  本実施形態のクラスタリング・システムにおける管理データの保存動作のフローチャートである。
【図４】  本実施形態のクラスタリング・システムにおける障害検出時の動作のフローチャートである。
【図５】  従来のクラスタリング・システムの構成を示すブロック図である。
【図６】  （ａ）、（ｂ）は従来のクラスタリング・システムにおける管理データの二重化保存動作のフローチャートである。
【図７】  従来のクラスタリング・システムにおける障害検出時の動作のフローチャートである。
【符号の説明】
１、１００  クラスタリング・システム、  １１、１０１  第１サーバ、  １２、１０２  第２サーバ、  １３、１０３  第３サーバ、  １４、１０４  第ｎサーバ、  ５０〜５３、１５０〜１５３  管理データ用インターフェース部、  ５６  障害時電池動作範囲、  ６０〜６３、１６０〜１６３  管理データ記憶部、  ６４  通信制御回路、  ６５  障害時動作制御回路、  ６６  クロック切替回路、  ６７  通信線用接続部、  ６８  低周波数クロック発生回路、  ７０〜７３  電池、  ７４  サーバ内部用接続部、  ７５  電源切替回路、  ７８  高周波数クロック発生回路、  １０５  管理データ用切替スイッチ、  １０６  メインデータ用切替スイッチ、  １０７  メインデータ記憶部、  １０８  電源部、  １１０  通信線、  １２０  高速通信線、  １３０  電源ライン、  １４０〜１４３  内部バス、  １５０  サーバ用主制御部、  １６０  メインデータ用インターフェース部。
【図１】
0003640349.tif 000002
【図２】
0003640349.tif 000003
【図３】
0003640349.tif 000004
【図４】
0003640349.tif 000005
【図５】
0003640349.tif 000006
【図６】
0003640349.tif 000007
【図７】
0003640349.tif 000008