(57)【特許請求の範囲】
【請求項１】
クライアントからのアクセスに応答して返送するための情報を記憶した記憶手段を夫々が有した同一構成の２台のサーバを具備し、クライアントからのアクセスに応答する側のサーバをマスタ装置とし、マスタ装置であるサーバの記憶手段に記憶された情報のバックアップを行う側のサーバをスレーブ装置として動作する情報バックアップシステムにおいて、
各サーバには、マスタ装置とされた場合に備えて、
当該サーバにおいて前記記憶手段に記憶されたファイルが更新された時刻を監視し、この時刻を最終更新時刻として当該ファイルに対応付けて保持する更新時刻保持手段と、
当該サーバが起動した時刻を自サーバコピー時刻として、前記記憶手段に記憶された各ファイルに対応付けて保持するコピー時刻保持手段と、
前記記憶手段に記憶された各ファイル毎に対応付けて記憶されている自サーバコピー時刻と最終更新時刻とを比較し、最終更新時刻が新しい場合に、当該ファイルをスレーブ装置とされたサーバの記憶手段へコピーするバックアップコピー動作を行う第１のコピー動作実行手段と、
前記第１のコピー動作実行手段によるバックアップコピー動作が行われた場合に、該バックアップコピー動作の要求をスレーブ装置とされたサーバに送信する時刻を当該ファイルに対応付けられている自サーバコピー開始時刻に代えて対応付けて保持させるコピー開始時刻保持手段と
を具備することを特徴とする情報バックアップシステム。
【請求項２】
各サーバには、
マスタ装置とされたサーバが前記第１のコピー動作実行手段によるバックアップコピー動作の要求をスレーブ装置とされたサーバに送信する時刻を得ると共に、スレーブ装置とされたサーバが前記バックアップコピー動作の要求を受け取った時刻を得て、該当するファイルに対応させて自サーバコピー開始時刻と他サーバコピー開始時刻を保持する前記コピー開始時刻保持手段であって、マスタ装置とされたサーバにおいては、前記送信する時刻を自サーバコピー開始時刻とし、前記受け取った時刻を他サーバコピー開始時刻とする一方、スレーブ装置とされたサーバにおいては、前記送信する時刻を他サーバコピー開始時刻とし、前記受け取った時刻を自サーバコピー開始時刻とする前記コピー開始時刻保持手段と、
前記第１のコピー動作実行手段によるバックアップコピー動作が終了すると、該当ファイルに対応付けられている自サーバコピー開始時刻を自サーバコピー時刻とすると共に他サーバコピー開始時刻を他サーバコピー時刻とする最終コピー時刻保持手段であって、自サーバコピー時刻中の最新のものを自サーバ最終コピー時刻とするとして保持する一方、他サーバコピー時刻中の最新のものを他サーバ最終コピー時刻として保持し、更に、マスタ装置とされたサーバがスレーブ装置とされたサーバから全データを受け取ったときに返送される終了通知の受信時をコピー終了時刻として該当ファイルに対応付けて保持し、また、スレーブ装置とされたサーバがマスタ装置とされたサーバから次のバックアップコピー動作の要求を受信した時刻をコピー終了時刻としてその前のバックアップコピーを行ったファイルに対応付けて保持する最終コピー時刻保持手段と、
が具備され、
マスタ装置とされたサーバが停止し、その後復旧した場合には、元のスレーブ装置とされたサーバがマスタ装置として機能し、
当該マスタ装置となったサーバには、前記他サーバ最終コピー時刻から所定時間遡った基準時刻を求め、この基準時刻と各ファイルに対応付けられた他サーバコピー開始時刻およびコピー終了時刻とを比較し、他サーバコピー開始時刻またはコピー終了時刻が新しい場合に、当該ファイルを新たにスレーブ装置となったサーバの記憶手段へコピーする動作を行う第２のコピー動作実行手段が
具備されていることを特徴とする請求項１に記載の情報バックアップシステム。
【請求項３】
各サーバには、
請求項２に記載のコピー開始時刻保持手段と、
請求項２に記載の最終コピー時刻保持手段と、
が具備され、
スレーブ装置とされたサーバが停止し、その後復旧した場合には、元からマスタ装置とされたサーバが引き続きマスタ装置として機能し、
引き続きマスタ装置である当該サーバには、他サーバ最終コピー時刻から所定時間遡った基準時刻を求め、この基準時刻をスレーブ装置であるサーバへ送信することによりスレーブ装置であるサーバの記憶手段へコピーする動作を開始する第３のコピー動作実行手段が備えられ、
スレーブ装置であるサーバには、前記第３のコピー動作実行手段から送られた基準時刻と各ファイルに対応付けられた最終更新時刻とを比較し、最終更新時刻が新しい場合に、当該ファイルのコピーを受け付ける第４のコピー動作実行手段が具備されていることを特徴とする請求項１または請求項２に記載の情報バックアップシステム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、各種のファイルを提供するファイルシステムやトランザクションを提供するデータベースシステムのように、ユーザや端末からのアクセスに応答して情報を提供するシステムであり、特に２つの装置により情報のバックアップを適切に取るようにした情報バックアップシステムに関するものである。
【０００２】
【従来の技術】
従来の情報バックアップシステムは、例えば、現用の装置から情報を提供しておき、現用の装置において情報の書き換えが生じると、予備用の装置にコピーをとり、現用の装置がダウンした場合に予備用の装置が情報の提供を行うようにしている。
【０００３】
【発明が解決しようとする課題】
しかしながら、上記の従来のバックアップシステムでは、予備用の装置が情報の提供しているときに情報の書き換えが生じるなどすると、２つの装置が保持する情報の一致が得られなくなり、更に、予備用の装置がダウンした場合に適切な情報の提供を行うことができなくなる問題点があった。
【０００４】
本発明は上記のような従来の情報バックアップシステムが有する問題点を解決せんとしてなされたもので、その目的は、２つの装置が有する情報の一致化を図り、一方の装置がダウンした場合においても、このダウンした装置が再度起動されたときに再び２つの装置が有する情報の一致化が図られ、常に、適切な情報を提供することのできる情報バックアップシステムを提供することである。
【０００５】
【課題を解決するための手段】
請求項１に記載の情報バックアップシステムは、クライアントからのアクセスに応答して返送するための情報を記憶した記憶手段を夫々が有した同一構成の２台のサーバを具備し、クライアントからのアクセスに応答する側のサーバをマスタ装置とし、マスタ装置であるサーバの記憶手段に記憶された情報のバックアップを行う側のサーバをスレーブ装置として動作する情報バックアップシステムにおいて、各サーバには、マスタ装置とされた場合に備えて、当該サーバにおいて前記記憶手段に記憶されたファイルが更新された時刻を監視し、この時刻を最終更新時刻として当該ファイルに対応付けて保持する更新時刻保持手段と、当該サーバが起動した時刻を自サーバコピー時刻として、前記記憶手段に記憶された各ファイルに対応付けて保持するコピー時刻保持手段と、前記記憶手段に記憶された各ファイル毎に対応付けて記憶されている自サーバコピー時刻と最終更新時刻とを比較し、最終更新時刻が新しい場合に、当該ファイルをスレーブ装置とされたサーバの記憶手段へコピーするバックアップコピー動作を行う第１のコピー動作実行手段と、前記第１のコピー動作実行手段によるバックアップコピー動作が行われた場合に、該バックアップコピー動作の要求をスレーブ装置とされたサーバに送信する時刻を当該ファイルに対応付けられている自サーバコピー開始時刻に代えて対応付けて保持させるコピー開始時刻保持手段とを具備することを特徴とする。
【０００７】
請求項２に記載の情報バックアップシステムは、各サーバには、マスタ装置とされたサーバが前記第１のコピー動作実行手段によるバックアップコピー動作の要求をスレーブ装置とされたサーバに送信する時刻を得ると共に、スレーブ装置とされたサーバが前記バックアップコピー動作の要求を受け取った時刻を得て、該当するファイルに対応させて自サーバコピー開始時刻と他サーバコピー開始時刻を保持する前記コピー開始時刻保持手段であって、マスタ装置とされたサーバにおいては、前記送信する時刻を自サーバコピー開始時刻とし、前記受け取った時刻を他サーバコピー開始時刻とする一方、スレーブ装置とされたサーバにおいては、前記送信する時刻を他サーバコピー開始時刻とし、前記受け取った時刻を自サーバコピー開始時刻とする前記コピー開始時刻保持手段と、前記第１のコピー動作実行手段によるバックアップコピー動作が終了すると、該当ファイルに対応付けられている自サーバコピー開始時刻を自サーバコピー時刻とすると共に他サーバコピー開始時刻を他サーバコピー時刻とする最終コピー時刻保持手段であって、自サーバコピー時刻中の最新のものを自サーバ最終コピー時刻とするとして保持する一方、他サーバコピー時刻中の最新のものを他サーバ最終コピー時刻として保持し、更に、マスタ装置とされたサーバがスレーブ装置とされたサーバから全データを受け取ったときに返送される終了通知の受信時をコピー終了時刻として該当ファイルに対応付けて保持し、また、スレーブ装置とされたサーバがマスタ装置とされたサーバから次のバックアップコピー動作の要求を受信した時刻をコピー終了時刻としてその前のバックアップコピーを行ったファイルに対応付けて保持するする最終コピー時刻保持手段と、が具備され、マスタ装置とされたサーバが停止し、その後復旧した場合には、元のスレーブ装置とされたサーバがマスタ装置として機能し、当該マスタ装置となったサーバには、前記他サーバ最終コピー時刻から所定時間遡った基準時刻を求め、この基準時刻と各ファイルに対応付けられた他サーバコピー開始時刻およびコピー終了時刻とを比較し、他サーバコピー開始時刻またはコピー終了時刻が新しい場合に、当該ファイルを新たにスレーブ装置となったサーバの記憶手段へコピーする動作を行う第２のコピー動作実行手段が具備されていることを特徴とする。
【０００８】
請求項３に記載の情報バックアップシステムは、各サーバには、請求項２に記載のコピー開始時刻保持手段と、請求項２に記載の最終コピー時刻保持手段と、が具備され、スレーブ装置とされたサーバが停止し、その後復旧した場合には、元からマスタ装置とされたサーバが引き続きマスタ装置として機能し、引き続きマスタ装置である当該サーバには、他サーバ最終コピー時刻から所定時間遡った基準時刻を求め、この基準時刻をスレーブ装置であるサーバへ送信することによりスレーブ装置であるサーバの記憶手段へコピーする動作を開始する第３のコピー動作実行手段が備えられ、スレーブ装置であるサーバには、前記第３のコピー動作実行手段から送られた基準時刻と各ファイルに対応付けられた最終更新時刻とを比較し、最終更新時刻が新しい場合に、当該ファイルのコピーを受け付ける第４のコピー動作実行手段が具備されていることを特徴とする。
【００１８】
【発明の実施の形態】
以下添付図面を参照して本発明に係る情報バックアップシステムを説明する。各図において、同一の構成要素には、同一の符号を付して重複する説明を省略する。図１には、本発明に係る情報バックアップシステムの構成例が示されている。このシステムは、サーバ１、２が同一のファイル（情報）を有し、サーバ１、２の内のマスタサーバに対して、クライアント（通常は複数）３がＬＡＮ（ローカルエリアネットワーク）４を介してファイルのアクセスを行う。
【００１９】
サーバ１、２は、マスタサーバからスレーブサーバに対してファイルのコピーを行うことからなる情報バックアップを行う。このサーバ１、２の具体的構成例を図２に示す。サーバは、ＣＰＵ１０を中心として構成され、ＣＰＵ１０にはプログラムが格納され、また、ワーキング領域を有する主メモリ１１が接続されている。ＣＰＵ１０には、バス１２を介してキーボードコントローラ１３、ディスプレイコントローラ１４、マウスコントローラ１５、通信インタフェース１６、ディスクコントローラ１７が接続されている。
【００２０】
キーボードコントローラ１３には、情報を入力するためのキーボード入力装置１８が接続されている。ディスプレイコントローラ１４には、ＣＲＴやＬＣＤ等のディスプレイ表示装置１９が接続され情報を表示可能となっている。マウスコントローラ１５には、ポインティングディバイスであるマウス２０が接続されている。通信インタフェース１６には、ＬＡＮ４のプロトコルに対応する通信制御を行う通信制御部２１が接続されている。ディスクコントローラ１７には、情報を記憶するための磁気ディスク装置や光ディスク装置等のディスク装置２３が接続されている。
【００２１】
上記図２に示した構成は、クライアント３においても適用される。そして、図２に示したハードウエア構成を有する図１に示したシステムにおけるソフトウエア構成は、図３に示されるようである。即ち、クライアント３には、アプリケーション・プログラム３１が具備されている。サーバ１、２の内、先に起動されたサーバがマスタ（サーバ）であり、後に起動されたサーバがスレーブ（サーバ）である。
【００２２】
マスタ、スレーブのサーバには、コントローラ５、ＨＡ（ハイ・アビリティ）システム６、コントロールクライアント２４、コントロールサーバ２５、ＡＦＲ（Asyncronous File Replication; 非同期ファイルレプリケーション）サーバ２７、ＡＦＲクライアント２８、ファイルマネージャ２９が備えられている。サーバがマスタの場合にＡＦＲサーバ２７とＡＦＲクライアント２８との内のＡＦＲクライアント２８が起動され、サーバがスレーブの場合にＡＦＲサーバ２７とＡＦＲクライアント２８との内のＡＦＲサーバ２７が起動される。ファイルマネージャ２９は、ファイル格納部７の各種ファイルの管理を行う。
【００２３】
上記サーバ１、２は、ＮＳＦ（National Science Foundation ）サーバであり、マスタであるサーバに所定のＩＰアドレスを設定することにより、２台のサーバ１、２は、クライアント３にとって透過に扱われる。サーバ１、２の起動がなされ、ＨＡシステム６が立ち上がると、一方のサーバのＨＡシステム６は他のサーバのＨＡシステム６と通信し、応答がなければマスタとして動作し、応答があればスレーブとして動作する。それぞれのＨＡシステム６はそれぞれのサーバの停止や起動に関し通信を行ってサーバ相互の状態把握を行っている。
【００２４】
ファイル格納部７には、コンフィギャファイルが記憶されている。コンフィギャファイルは、図４に示されるように、ＡＦＲの対象となるファイルの絶対パス名が１行毎に、１つのファイルに対応させられて記述されたものである。このコンフィギャファイルにより特定されるファイルが、サーバ１、２のファイル格納部７に記憶されている。
【００２５】
ファイルマネージャ２９には、図５に示されるようなファイル管理のためのテーブル（ファイルオブジェクト）が備えられている。このテーブルは、各ファイルの識別情報（ここではファイル名）をキーとして構成されており、ファイル名、レングスが記憶され、これに対し、更に、最終更新時刻、自サーバコピー開始時刻、他サーバコピー開始時刻、コピー終了時刻、自サーバコピー時刻、他サーバコピー時刻が記憶される領域が設けられている。全てのファイルに共通に、自サーバ最終コピー時刻、他サーバ最終コピー時刻が記憶される領域が設けられている。なお、時刻は各サーバ毎の時刻である。
【００２６】
更に、図５に示されるファイル管理のためのテーブルには、当該ファイルがいずれのキューにセットされたかを示す高重用度キュー変数、中重用度キュー変数、低重用度キュー変数の領域が設けられ、更に、ファイルが更新された場合にコピーの必要有り等をセットするためのファイル更新コピー状態変数、停止した後に立ち上がった場合に行うコピーの必要有り等をセットするための組込みコピー状態変数、全てのファイルをコピーするときの必要有り等をセットするための低速コピー状態変数の領域が設けられている。
【００２７】
ファイル更新コピー状態変数は、ファイルの「コピー必要有り」、「コピーの必要無し」の２値を取る。マスタサーバにおいては、初期値は「コピーの必要無し」であり、ファイルが更新されると「コピー必要有り」とされ、コピーが行われると「コピーの必要無し」へ遷移される。スレーブサーバにおいては、初期値は「コピーの必要無し」であり、変更されることはない。
【００２８】
組込みコピー状態変数は、ファイルの「コピー必要有り」、「コピーの必要無し」及び「問い合わせる」の３値を取る。マスタにおいては、初期値が「コピーの必要無し」であり、どちらかのサーバが停止すると「コピーの必要無し」は「問い合わせる」へ、「問い合わせる」は「コピー必要有り」へと遷移され、「コピー必要有り」は現状を維持される。そして、「コピー必要有り」の場合に正常にコピーがなされると「コピーの必要無し」へ遷移され、「問い合わせる」の場合に「コピー不要」の返送を受けると「コピーの必要無し」へ遷移される。スレーブサーバにおける初期値は、「コピーの必要無し」であり、変更されることはない。
【００２９】
低速コピー状態変数は、ファイルの「コピー必要有り」、「コピーの必要無し」の２値を取る。マスタサーバ、スレーブサーバ共に、初期値は「コピー必要有り」であり、コピーが行われると「コピーの必要無し」へ遷移される。
【００３０】
ファイルマネージャ２９は、図６に示されるような３種類のキューを有し、ファイルすべきファイルを所要のキューへセットする。３種類のキューは、最も早く処理すべきコピー処理対象情報を設定するための高重要度キューと、次に早く処理すべきコピー処理対象情報を設定するための中重要度キューと、最も低い順にて処理すべきコピー処理対象情報を設定するための低重要度キューである。ファイルマネージャ２９は、更新時コピーの場合には高重要度キューへ設定し、組込みコピーの場合には中重要度キューへ設定し、低速コピーの場合には低重要度キューへ設定する。各キューのファイルコピーは、最初に高重要度キュー、高重要度キューに設定が無くなると中重要度キュー、中重要度キューに設定が無くなると低重要度キューの順で行われる。
【００３１】
上記キューに設定されたファイルの転送を行うに際しては、図７に示されるパケットが用いられる。図７（ａ）には、リクエスト通知用パケットのフォーマットが示されている。このパケットには、パケット種別（リクエスト通知用パケットである旨）と、コピーモード（更新、組込み、低速の別）、ファイルサイズ、マスタサーバコピー開始時刻、基準時刻、ファイル名が含まれる。このパケットは、図８に示されるファイルデータの転送手順における開始要求の場合に用いられる。
【００３２】
図７（ｂ）には、肯定（否定）通知パケットのフォーマットが示されている。このパケットには、パケット種別（肯定（否定）通知パケットのである旨）、マスタサーバコピー開始時刻、返事の種類（肯定または否定）、メッセージが含まれる。このパケットは、図８に示されるファイルデータの転送手順における開始要求に応えた肯定通知の場合等に用いられる。
【００３３】
図７（ｃ）には、終了等の通知パケットのフォーマットが示されている。このパケットには、パケット種別（正常終了またはエラー等の通知パケットのである旨）、マスタサーバコピー開始時刻、スレーブサーバコピー開始時刻が含まれる。このパケットは、図８に示されるファイルデータの転送手順におけるファイルデータの転送に応えた終了通知の場合等に用いられる。なお、データのパケットは、パケット種別（ファイルデータのパケットのである旨）、マスタサーバコピー開始時刻、通番等が含まれる。各パケットには、マスタサーバコピー開始時刻が必ず含まれ、同一ファイルを扱っていることのチェックに用いられる。
【００３４】
図３に示されるマスタサーバとスレーブサーバとは、図９に示されるように、「停止」状態を介して「マスタ」状態と「スレーブ」状態の間で状態を遷移させる。即ち、「マスタ」と「スレーブ」とが「停止」状態を必ず挟んで状態を遷移し、「マスタ」状態から直接に「スレーブ」状態に移行することはなく、または、「スレーブ」状態から直接に「マスタ」状態へ移行することはない。「停止」状態から復旧したときに、サーバのＨＡシステム６は他のサーバのＨＡシステム６と通信し、応答がなければマスタとして動作し、応答があればスレーブとして動作する。
【００３５】
既に説明したように、ファイルのコピーを行うときには、図７（ａ）に示すパケットにはコピーモードを含める。マスタサーバのファイルが更新されて高重要度キューに設定された場合には、上記コピーモードとして、必ずコピーすべきことを示す「ＳＥＮＤ」を設定する。これに対し、ファイルの更新がなされたことが示されていない場合（図５に示したテーブルの「ファイル更新コピー状態変数」が」「オフ」の場合）には、図５に示したテーブルの「組込みコピー状態変数」と「低速コピー状態変数」との内容の組み合わせにより、図１０に示されるようにコピーモードの設定を変化させる。
【００３６】
具体的には、「組込みコピー状態変数」が「コピーの必要有り」であれば、コピーモードは「ＳＥＮＤ」とされ、「組込みコピー状態変数」が「問い合わせる」であれば、コピーモードは「ＡＳＫ」とされる。低速コピーが行われるのは、他の全てのコピー状態変数が「コピーの必要無し」のときに、「低速コピー状態変数」が「コピーの必要有り」となっているときである。「組込みコピー状態変数」と「低速コピー状態変数」が共に「コピーの必要無し」となっている場合には、コピーモードは「ＰＡＳＳ」とされる。
【００３７】
上記の図１０において、「Ｘ」は有り得ない組合わせを示している。つまり、「組込みコピー状態変数」が「コピーの必要有り」や「問い合わせる」となるのは、サーバが起動された直後の一度だけであるから、このようなときには、「低速コピー状態変数」は必ず「コピーの必要有り」となっているからである。なお、コピーモードを「ＡＳＫ」とした場合には、スレーブサーバからコピーを行う旨の応答が返送されたときコピーを行う。また、コピーモードを「ＰＡＳＳ」とするのは、マスタサーバからの問い合わせに応える場合である。
【００３８】
以上の通り構成された情報バックアップシステムでは、サーバが起動され、ファイル更新コピーを行う場合には、まず、マスタサーバが図１１に示されるフローチャートの動作を行う。起動されたＨＡシステム６が他のサーバのＨＡシステム６に対して問い合わせるが、応答が無いために、自分がマスタサーバであることを検出し、ＨＡシステム６はコントローラ５を起動する。コントローラ５は、コントロールクライアント２４、コントロールサーバ２５、ＡＦＲサーバ２７、ＡＦＲクライアント２８、ファイルマネージャ２９を起動する。
【００３９】
この状態において、ＨＡシステム６は、他のサーバと通信を行って得たサーバの状態（マスタであること）を、コントロールクライアント２４をコマンドとして用い、コントロールサーバ２５へ伝える。コントロールサーバ２５は、ＡＦＲサーバ２７を停止し、マスタサーバとして動作するようにモジュールの選択を行う。コンフィギャファイルや図５のテーブルは、コントローラ５により、例えば、ディスク装置２３からファイルマネージャ２９へ読み出されている。ファイルマネージャ２９は、コントロールサーバ２５により当該サーバがマスタサーバであることを通知されており、図１１に示されるように自装置の起動時刻を図５に示したテーブルの自サーバコピー時刻の領域へセットする（Ｓ１）。例えば、図１２に示されるように、マスタが時刻２：００（分：秒）に起動された場合には、時刻２：００が図５に示したテーブルの自サーバコピー時刻の領域へセットされる。
【００４０】
次にマスタサーバのファイルマネージャ２９は、ファイルが更新されたか否かを監視し（Ｓ２）、更新がなされると該当ファイルに対応する図５に示すテーブルの最終更新時刻の領域へ更新時刻を書き込む（Ｓ３）。例えば、図１２に示されるように、時刻（８：００）にて更新が行われると、図５に示すテーブルの最終更新時刻の領域へ時刻（８：００）が書き込まれる。なお、ファイルの更新はファイルをリードライトするモジュール（ＯＳ：オペレーティング・システム）が行い、更新の旨をファイルマネージャに通知するものである。
【００４１】
一方、図１２の例では、他方のサーバにおいて起動されたＨＡシステム６がマスタサーバのＨＡシステム６に対して問い合わせる。既に、マスタサーバは起動されており、応答が返って来るために、自分がスレーブサーバであることを検出し、ＨＡシステム６はコントローラ５を起動する。コントローラ５は、コントロールクライアント２４、コントロールサーバ２５、ＡＦＲサーバ２７、ＡＦＲクライアント２８、ファイルマネージャ２９を起動する。この状態において、ＨＡシステム６は、他のサーバと通信を行って得たサーバの状態（スレーブであること）を、コントロールクライアント２４をコマンドとして用いてコントロールサーバ２５へ伝える。コントロールサーバ２５は、ＡＦＲクライアント２８を停止し、スレーブサーバとして動作するようにモジュールの選択を行う。マスタサーバと同じコンフィギャファイルや図５のテーブルは、コントローラ５により、例えば、ディスク装置２３からファイルマネージャ２９へ読み出されている。ファイルマネージャ２９は、コントロールサーバ２５により当該サーバがスレーブサーバであることを通知されている。
【００４２】
マスタサーバのファイルマネージャ２９は、通常時において、図１３のフローチャートに示される動作を行う。つまり、図５のテーブルにおける全てのファイルに関して最終更新時刻と自サーバコピー時刻とを比較し（Ｓ４）、最終更新時刻が新しいか否か検出する（Ｓ５）。最終更新時刻が新しい場合には、更新されたファイルを高重要度キューへセットし（Ｓ６）、コピー作業を開始する（Ｓ７）。なお、コピーに係る通信は、ＡＦＲクライアント２８とＡＦＲサーバとの間において行う。例えば、図１２の例では、マスタにおける最終更新時刻（８：００）が自サーバコピー時刻（２：００）より新しいので、時刻（８：０３）において、図７（ａ）に示したリクエスト通知用パケットを用いてリクエストを行う。このパケットには、図１２に示されるように、マスタ側のコピー開始時刻（８：０３）と必ずコピーを行うことを示すコピーモード「ＳＥＮＤ」がセットされる。コピー開始時刻（８：０３）は、マスタが有する図５に示すテーブルにおける該当ファイルに対応するエリアの自サーバコピー開始時刻の領域にセットされる。
【００４３】
スレーブサーバでは、リクエスト通知用パケット受信の場合に、図１４のフローチャートに示されるような処理を行う。つまり、受信したパケットの内容を分析し（Ｓ２０）、コピーモードが「ＳＥＮＤ」であるかを検出する（Ｓ２１）。コピーモードが「ＳＥＮＤ」であれば、このパケットを受け取った時刻（図１２の例では、下線を引いて示す時刻（１８：５５）をスレーブサーバが有する図５に示すテーブルにおける該当ファイルに対応するエリアの自サーバコピー開始時刻の領域にセットすると共に、パケットにセットされているマスタサーバコピー開始時刻（８：０３）をスレーブサーバが有する図５に示すテーブルにおける該当ファイルに対応するエリアの他サーバコピー開始時刻の領域にセットする（Ｓ２２）。そして、コピーの準備が整っている場合には、図７（ｂ）に示す如くの応答のパケットに「ＯＫ」の返事を含めて返送し（Ｓ２３）、データの到来を待つ（Ｓ２４）。なお、ハードウェア上またはソフトウエア上の障害がある場合には、「エラー」の返送を行うこともある。
【００４４】
上記に対し、マスタサーバでは、図１３のステップＳ８において、スレーブサーバからの応答パケットの返事の種類が「ＯＫ」であるかを検出し、「ＯＫ」である場合には、該当するファイルのデータを転送する（Ｓ９）。この場合、ファイルのデータ全てを転送しても良いが、予めファイルの旧データと新データとの差分を求めておき、差分（更新に係る部分）のデータ（どの位置を入れ替えるかを指示するデータを含む）を転送しても良い。
【００４５】
スレーブサーバでは、マスタサーバからファイルのデータが送られてくると、これを受け取り、主メモリ１１のバッファへ蓄積する（Ｓ２５）。そして、バッファの内容とディスク装置２３のファイル内容とを一致させるｓｙｎｃ命令は、ファイルの転送を受けると直ぐに実行するか、所定時間毎に行うか、予めキーボード入力装置１８からの設定により行う。勿論、所定時間を幾つとするかをキーボード入力装置１８から設定しても良い。そして、全てのデータを受け取ると、図７（ｃ）に示される終了通知パケットを使って終了通知を行う（Ｓ２６）。このパケットには、図１２の例では、マスタサーバコピー開始時刻（８：０３）とスレーブサーバコピー開始時刻（１８：５５）が含まれる。
【００４６】
マスタサーバは図１３のステップＳ１０に示されるように、スレーブサーバから送られる上記の終了通知のパケットを受け取り、パケットに含まれるマスタサーバコピー開始時刻（８：０３）とスレーブサーバコピー開始時刻（１８：５５）を取り出し、それぞれの時刻を図５のテーブルの該当ファイルに対応するエリアの自サーバコピー時刻の領域及び他サーバコピー時刻の領域にセットする（Ｓ１１）。また、マスタサーバでは、当該終了通知のパケットの受信時刻を図５のテーブル（マスタサーバのテーブル）の該当ファイルに対応するエリアのコピー終了時刻の領域へ書き込む。
【００４７】
図１２に示される例では、時刻（１３：２０）にも、ファイルが更新されており、図５のテーブルのファイル更新時刻の領域に上記時刻（１３：２０）が記憶される。これに対し、自サーバコピー時刻の領域にはコピー時刻（８：０３）が記憶されており、図１３のステップＳ４に比較の結果、ステップＳ５にてＹＥＳへ分岐し、ファイルの更新コピー処理が前述したように行われる。
【００４８】
上記においては、マスタサーバが時刻（１３：２２）においてリクエストを送信し、スレーブサーバが時刻（２３：０８）にてリクエストを受付ける。このリクエストを受信したとき、スレーブサーバの図５のテーブルの前回にコピーされたファイルに対応するエリアのコピー終了時刻の領域へマスタサーバコピー開始時刻（１３：２２）を書き込む。そして、今回の更新に対応するコピーが終了した時点において、スレーブサーバの図５のテーブルの該当ファイルに対応するエリアの自サーバコピー開始時刻及び自サーバコピー時刻は（２３：０８）となり、マスタサーバの図５のテーブルの該当ファイルに対応するエリアの自サーバコピー開始時刻及び自サーバコピー時刻は（１３：２２）となる。
【００４９】
マスタサーバ、スレーブサーバは、コピーが正常終了する度に、図１５に示されるフローチャートの動作を行い、図５におけるテーブルの自（他）サーバ最終コピー時刻の更新を行う。つまり、図５におけるテーブルの全てのファイルの自（他）サーバコピー時刻を比較し、最新の自（他）サーバコピー時刻を検索する（Ｓ１３）。そして、検索した最新の自（他）サーバコピー時刻を図５におけるテーブルの自（他）サーバ最終コピー時刻の領域へ記録する（Ｓ１３）。図１２の例では、マスタサーバ、スレーブサーバにおいて、最終的には、図５におけるテーブルのマスタサーバ最終コピー時刻は（１３：２２）となり、スレーブサーバ最終コピー時刻は下線が引かれているように（２３：０８）となる。
【００５０】
以上のように処理が行われているときに、マスタサーバが停止すると、ＨＡシステム６間の通信により停止を検出し、スレーブサーバが新マスタサーバとして動作を行うために、各モジュールの立ち上げの切り替え（ＡＦＲクライアント２８に代えてＡＦＲサーバ２８を起動する）を行い、クライアント３に対するサービスの提供を行い、停止となったときにコピー中のファイルがあるときには、警告メッセージをディスプレイ装置１９におけるログ画面へ表示する（Ｓ１４）。これにより、オペレータが、例えば、該当のファイルへのアクセスを禁止したり、旧マスタサーバから該当ファイルを引き出して、新マスタサーバへコピーするなどが可能である。
【００５１】
そして、旧マスタサーバの復旧を待ち（Ｓ１５）、ＨＡシステム６間の通信により旧マスタサーバを新スレーブサーバとしてシステムを運用する（Ｓ１６）。このときに、以下に示すようなコピーが行われる。
【００５２】
次にマスタサーバが停止し、その後に復旧した場合の動作を説明する。例えば、図１２の状況からの続きを示す図１７の状況のように、マスタサーバにおいて時刻（１７：０５）にファイルの更新が生じ、その後にマスタサーバが停止したとする。それから後の時刻（１８：３０）に起動（復旧）した場合、図１１のフローチャートを用いて説明したように、図５におけるテーブルの自サーバコピー時刻の領域へ上記時刻（１８：３０）がセットされる。一方、スレーブサーバはＨＡシステム６の通信によりマスタサーバの停止（Stop）を知り、クライアント３に対してサービスを開始する。そして、停止された旧マスタサーバが時刻（１８：３０）に起動（復旧）したことを受けて、旧スレーブサーバがマスタとして動作を開始する。
【００５３】
そして、上記のようにサーバの停止後の起動がなされた場合には、２つのサーバのファイル内容が適切に一致するように、次のような理由から基準時刻という概念を導入して組込みコピーを行う。即ち、スレーブサーバに障害が起こった場合には、コピーの手続きが終了していてもディスク上に反映されていないことがあることを考慮しなければならない。これは、サーバが急に停止した際にはデータがまだメモリ上にあって失われてしまう可能性があるからである。マスタサーバが停止した際にも、停止の直前はシステムが不安定になっている恐れが高い。
【００５４】
そこで、両方のサーバが動作していたなるべく新しい時刻を取得し、この時刻からさらにいくらかの安全時間分をさかのぼって基準時刻とする。そして、この基準時刻よりあとにコピーが開始または終了しているファイルについてコピーをやり直すことにする。開始と終了の両方を調べるのは、図１８で示すように開始と終了の一方だけでは基準時刻にコピー中だったファイルもしくは最後のファイルを検出できない可能性があるためである。また、どちらのサーバも片方だけでＮＦＳサーバとしてサービスを行うことができるため、「停止」状態の間に更新されたファイルは必ずコピーされるようにする必要がある。「停止」状態ではどちらのサーバもＮＦＳサーバになることができるため、両方のサーバ上のファイルをチェックする必要がある。マスタサーバは自分のファイルの状態を知ることができるため、変更を発見したらコピーを実行すれば良いが、スレーブサーバ上のファイルが変更されているかどうかはマスタサーバがスレーブサーバへ問い合わせて決定する。
【００５５】
さらに、組込みコピーの途中でどちらかのサーバが停止した場合、次のコピーでは必ずコピーが行われなければならない。このようにファイルを確実にコピーするため、以下に説明する通り、様々な方法でファイルをコピーするか否かを判定する。
【００５６】
新マスタサーバは図１９、図２０に示されるフローチャートの動作を行う。まず、図５に示されるテーブルの他サーバ最終コピー時刻より安全時間（この例では、１：００）遡った基準時刻を求める（Ｓ３１）。この結果、図１７の例においては、他サーバ最終コピー時刻（１３：２２）より安全時間（この例では、１：００）遡った基準時刻（１２：２２）が求められている。次に、図５に示されるテーブルの全ファイル対応のコピー状態変数を変換する（Ｓ３２）。具体的には、ファイル更新コピー状態変数の変更は行わず、組込みコピー状態変数については、「コピーの必要無し」を「問合わせる」へ、「コピーの必要有り」を変更せずに「コピーの必要有り」とし、「問合わせる」については「コピーの必要有り」へ変更する。また、低速コピー状態変数は「コピーの必要有り」とする。
【００５７】
次に、基準時刻とテーブルの各ファイルの他サーバコピー開始時刻を比較し、他サーバコピー開始時刻が新しければ組込みコピー状態変数を「コピーの必要有り」へ変更する（Ｓ３３）。また、基準時刻とテーブルの各ファイルのコピー終了時刻を比較し、コピー終了時刻が新しければ組込みコピー状態変数を「コピーの必要有り」へ変更する（Ｓ３４）。更に、基準時刻とテーブルの各ファイルの最終更新時刻を比較し、最終更新時刻が新しければ組込みコピー状態変数を「コピーの必要有り」へ変更する（Ｓ３５）。このようにして、コピーが適切に行われなかった可能性の有るファイルのコピーを行うことを可能としている。
【００５８】
次に、テーブルの自サーバコピー時刻へマスタとなった時刻を設定する（Ｓ３６）。そして、組込みコピーの必要有りとなったファイル及び問合わせの必要有りとなったファイルを中重要度キューへセットすると共に、低速コピー必要有りとなったファイル（全ファイル）を低重要度キューへセットする（Ｓ３７）。
【００５９】
そして、組込みコピー状態変数が「問合わせ必要有り」のファイルに対する処理において、図７（ａ）のリクエスト通知用パケットのコピーモードを「組込みコピー」とし、基準時刻を含めて送信する（Ｓ３８）。図１７の例では、コピー開始時刻（３０：００）と「組込みコピー」を示すコピーモード（ＣＢＣ）に基準時刻（１２：２２）が含められている。
【００６０】
上記の処理に対し、新スレーブサーバは、図２１に示されるフローチャートの動作を行う。つまり、リクエストを受取り（Ｓ４１）、コピーモードが「組込みコピー」であるか否かを検出する（Ｓ４２）。ここで、コピーモードが「組込みコピー」であることを検出すると、送られてきた基準時刻と最終更新時刻とを比較し（Ｓ４３）、最終更新時刻の方が新しいかを検出する（Ｓ４４）。
【００６１】
例えば、図１７に示されるように、当初マスタサーバであったサーバに記憶されていた最終更新時刻が時刻（１７：０５）であり、基準時刻（１２：２２）より新しい場合には、「ＯＫ」の旨の返事を返し、新マスタサーバ側からのファイルの転送を受ける（Ｓ４５）。これに対し、新マスタサーバでは図２０のステップＳ３９に示すように、「ＯＫ」の返事を受けて当該ファイルの最後の更新に係るデータが捨てられたことをマスタ及びスレーブのログ画面に表示されるようにし、ファイルのデータを新スレーブサーバへ転送する（Ｓ３９）。そして、最初のリクエストを送った時刻を図５のテーブルの自サーバコピー時刻へセットし、当該ファイルに対応するファイル更新コピー状態変数と組込みコピー状態変数及び低速コピー状態変数を「コピーの必要無し」に変更する（Ｓ４０）。
【００６２】
上記に対し、旧マスタサーバにおける最終更新時刻が図２２に示されるように、時刻（８：０３）であり、基準時刻（１２：２２）より古いときには、図２１のフローチャートのステップＳ４４においてＮＯへ分岐し、図２２に示すように「ＰＡＳＳ」の旨の返事を返す。これにより、ファイルデータのコピーは行われず、新サーバは、図５のテーブルの当該ファイルに対応するファイル更新コピー状態変数を「コピーの必要無し」に変更する。ただしコピー時刻の変更はなされない。
【００６３】
次に、図２３に示すように、スレーブサーバが停止し、その後起動（復旧）した場合を説明する。この場合も、マスタサーバが停止したときと同様に、停止となったときにコピー中のファイルがあるときには、警告メッセージをディスプレイ装置１９におけるログ画面へ表示する。そして、スレーブサーバが再起動した際には、停止時刻の直前にコピーしていたファイルについて完全にコピーが行われたか否か確認できないために、所定の安全時間（ここでは、１：００）を考慮してコピーを開始する。
【００６４】
具体的には、スレーブの停止後に再度マスタサーバとなったサーバは、図１９、図２０に示されるフローチャートの動作を行い、スレーブの停止後に再度スレーブサーバとなったサーバは、図２１に示されるフローチャートの動作を行う。具体的には、例えば図２３の例においては、他サーバ最終コピー時刻（２３：１０）より安全時間（この例では、１：００）遡った基準時刻（２２：１０）が求められている。
【００６５】
そして、図２３においては、時刻（２０：００）において、組込みコピー状態変数が「問合わせ必要有り」のファイルに対する処理を行うに当たっては、図７（ａ）のリクエスト通知用パケットのコピーモードを「組込みコピー」とし、基準時刻を含めて送信する。図２３の例では、コピー開始時刻（２０：００）と「組込みコピー」を示すコピーモード（ＣＢＣ）に基準時刻（２２：１０）が含められている。
【００６６】
図２３に示されるように、スレーブサーバは上記リクエスト通知用パケットを受取り、当該スレーブサーバに記憶されていた最終更新時刻が時刻（２３：１０）であり、基準時刻（２２：１０）より新しいので、「ＯＫ」の旨の返事を返し、新マスタサーバ側からのファイルの転送を受ける。マスタサーバでは「ＯＫ」の返事を受けて当該ファイルの最後の更新に係るデータが捨てられたことをマスタ及びスレーブのログ画面に表示されるようにし、ファイルのデータをスレーブサーバへ転送する。そして、最初のリクエストを送った時刻を図５のテーブルの自サーバコピー時刻へセットし、当該ファイルに対応するファイル更新コピー状態変数と組込みコピー状態変数及び低速コピー状態変数を「コピーの必要無し」に変更する。
【００６７】
なお、上記においては、マスタサーバとスレーブサーバのいずれか一方が停止した場合の処理を説明したが、マスタサーバとスレーブサーバの両方が停止した場合には、当初の立ち上げの場合と同様に先に立ち上がったサーバがマスタサーバとなる。そして、全てのファイルがマスタサーバとスレーブサーバへコピーされる。また、更新コピーの場合と組込みコピーの場合を説明したが、図６に示される３つのキューの内の低重要度キュー以外にファイルがセットされていなくなると、低重要度キューにセットされたファイルに関し低速コピーが行われる。
【００６８】
また、上記ではスレーブサーバが、メモリ上のデータをディスクに書き込むsync動作を30秒おきに行っているが、ファイルをコピーする毎に直ちにメモリ上のデータをディスクに書き込むsync動作を行うようにしても良い。このようにsync動作を行うことによってコピーの速度は低下するが、メモリからディスクへの書き込みを行う前の障害発生によりコピー内容が破壊される不具合を防止することができる。
【００６９】
また、上記実施の形態ではファイルについてバックアップする例を示したが、トランザクションを処理するデータベースシステムにおいてデータベースの内容をバックアップする場合にも適用可能である。更に、本発明はモバイル通信システムにも適用可能である。例えば、モバイル端末をマスタサーバとし、会社等の中にあるサーバをスレーブサーバとして動作を行うならば、会社内のサーバのファイルとモバイル端末のファイルの内容を一致させることができる。
【００７０】
【発明の効果】
以上説明したように請求項１に記載の情報バックアップシステムによると、サーバにおいて記憶手段に記憶されたファイルが更新された更新時刻を監視し、更新時刻をファイルに対応付けて保持しておき、サーバが起動した時刻情報をコピー時刻として、前記記憶手段に記憶された各ファイルに対応付けて保持し、記憶手段に記憶された各ファイル毎に対応付けて記憶されているコピー時刻と更新時刻とを比較し、更新時刻が新しい場合に、当該ファイルをスレーブ装置とされたサーバの記憶手段へコピーするバックアップコピー動作を行うので、マスタ装置であるサーバにおけるファイルの更新がなされた場合には、スレーブ装置であるサーバにおいて上記更新に係るファイルがコピーされ、２つの装置が保有するファイルの適切な一致化が図られる。
【００７２】
以上説明したように請求項２に記載の情報バックアップシステムによると、マスタ装置とされたサーバが停止し、その後復旧した場合には、元のスレーブ装置とされたサーバがマスタ装置として機能し、当該マスタ装置となったサーバには、他サーバ最終コピー時刻から所定時間遡った基準順時刻を求め、この基準時刻と各ファイルに対応付けられた他サーバコピー開始時刻および他サーバ最終コピー時刻とを比較し、他サーバコピー開始時刻または他サーバ最終コピー時刻が新しい場合に、当該ファイルを新たにスレーブ装置となったサーバの記憶手段へコピーする動作が行われ、バックアップがなされ２つのサーバの記憶手段が保有するファイルの適切な一致化が図られる。
【００７３】
以上説明したように請求項３に記載の情報バックアップシステムによると、スレーブ装置とされたサーバが停止し、その後復旧した場合には、元からマスタ装置とされたサーバが引き続きマスタ装置として機能し、引き続きマスタ装置である当該サーバには、他サーバ最終コピー時刻から所定時間遡った基準順時刻を求め、この基準時刻をスレーブ装置であるサーバへ送信することからスレーブ装置であるサーバの記憶手段へコピーする動作を開始し、スレーブ装置であるサーバには、送られた基準時刻と各ファイルに対応付けられた最終更新時刻とを比較し、最終更新時刻が新しい場合に、当該ファイルのコピーを受け付けるので、バックアップがなされ、２つのサーバの記憶手段が保有するファイルの適切な一致化が図られる。
【００８３】
以上説明したように請求項１４に記載の情報バックアップシステムによると、情報を一時バッファに蓄えた後、所定時間間隔にてディスク装置に記憶するので、ディスク装置へコピー回数を減少させることができる。
【図面の簡単な説明】
【図１】本発明に係る情報バックアップシステムの構成を示す図。
【図２】本発明に係る情報バックアップシステムのサーバ等の構成を示す図。
【図３】本発明に係る情報バックアップシステムのサーバ等のソフトウエアモジュール構成を示す図。
【図４】本発明に係る情報バックアップシステムに用いられるコンフィギィアファイルの例を示す図。
【図５】本発明に係る情報バックアップシステムに用いられるファイル管理用のテーブル内の構成例を示す図。
【図６】本発明に係る情報バックアップシステムに用いられるファイル転送用のキューの構成を示す図。
【図７】本発明に係る情報バックアップシステムに用いられるファイル転送時のパケットフォーマットの構成図。
【図８】本発明に係る情報バックアップシステムに用いられるファイル転送時のシーケンスを示す図。
【図９】本発明に係る情報バックアップシステムに用いられるサーバの状態遷移を示す図。
【図１０】本発明に係る情報バックアップシステムにおける更新コピー以外の場合のコピーモードを説明するための図。
【図１１】本発明に係る情報バックアップシステムにおけるマスタサーバの動作を説明するためのフローチャート。
【図１２】本発明に係る情報バックアップシステムにおけるマスタサーバの動作を説明するためのシーケンス図。
【図１３】本発明に係る情報バックアップシステムにおけるマスタサーバの動作を説明するためのフローチャート。
【図１４】本発明に係る情報バックアップシステムにおけるスレーブサーバの動作を説明するためのフローチャート。
【図１５】本発明に係る情報バックアップシステムにおけるマスタサーバの動作を説明するためのフローチャート。
【図１６】本発明に係る情報バックアップシステムにおけるマスタサーバ停止時の動作を説明するためのフローチャート。
【図１７】本発明に係る情報バックアップシステムにおけるマスタ停止の場合のマスタサーバの動作を説明するためのシーケンス図。
【図１８】本発明に係る情報バックアップシステムに用いられる基準時刻を説明するためのシーケンス図。
【図１９】本発明に係る情報バックアップシステムにおけるマスタサーバ停止後のマスタサーバの動作を説明するためのフローチャート。
【図２０】本発明に係る情報バックアップシステムにおけるマスタサーバ停止後のマスタサーバの動作を説明するためのフローチャート。
【図２１】本発明に係る情報バックアップシステムにおけるマスタサーバ停止後のスレーブサーバの動作を説明するためのフローチャート。
【図２２】本発明に係る情報バックアップシステムにおけるマスタ停止の場合のマスタサーバの動作を説明するためのシーケンス図。
【図２３】本発明に係る情報バックアップシステムにおけるスレーブ停止の場合のマスタサーバの動作を説明するためのシーケンス図。
【符号の説明】
１、２  サーバ                        ３  クライアント
４  ＬＡＮ                            ５  コントローラ
６  ＨＡシステム                      ７  ファイル格納部
２４  コントロールクライアント        ２５  コントロールサーバ
２７  ＡＦＲサーバ                    ２８  ＡＦＲクライアント
２９  ファイルマネージャ
【図１】
0004128667.tif 000002
【図２】
0004128667.tif 000003
【図３】
0004128667.tif 000004
【図４】
0004128667.tif 000005
【図５】
0004128667.tif 000006
【図６】
0004128667.tif 000007
【図７】
0004128667.tif 000008
【図８】
0004128667.tif 000009
【図９】
0004128667.tif 000010
【図１０】
0004128667.tif 000011
【図１１】
0004128667.tif 000012
【図１２】
0004128667.tif 000013
【図１３】
0004128667.tif 000014
【図１４】
0004128667.tif 000015
【図１５】
0004128667.tif 000016
【図１６】
0004128667.tif 000017
【図１７】
0004128667.tif 000018
【図１８】
0004128667.tif 000019
【図１９】
0004128667.tif 000020
【図２０】
0004128667.tif 000021
【図２１】
0004128667.tif 000022
【図２２】
0004128667.tif 000023
【図２３】
0004128667.tif 000024