(57)【特許請求の範囲】
【請求項１】
プライマリコンピュータシステムが、実行するように命令される場合のみ、該プライマリコンピュータシステムに関連するプライマリ大容量記憶装置内の書き込み要求を実行するように、前記書き込み要求の第１のコピーを前記プライマリコンピュータシステムに関連するメモリバッファに転送するステップと、
バックアップコンピュータシステムが、該バックアップコンピュータシステムに関連するバックアップ大容量記憶装置内の前記書き込み要求を実行するように、前記書き込み要求の第２のコピーをバックアップコンピュータシステムに転送するステップと、
前記プライマリコンピュータシステムが、前記プライマリ大容量記憶装置内の前記書き込み要求を実行するよう命令されるように、前記書き込み要求の第２のコピーが前記バックアップコンピュータシステムで受信されたことを前記プライマリコンピュータシステムに通知するステップと、
を含む方法。
【請求項２】
前記書き込み要求の第２のコピーが前記バックアップコンピュータシステムで受信されたことを前記プライマリコンピュータシステムに通知する前記ステップは、
前記書き込み要求の第２のコピーが前記バックアップコンピュータシステムで受信されたとき、前記バックアップコンピュータシステムで承認信号を生成するステップと、
前記承認信号を前記プライマリコンピュータシステムに転送するステップと、
を含む、請求項１記載の方法。
【請求項３】
書き込み要求のプライマリリストがプライマリメモリ待ち行列に蓄積されるように、前記書き込み要求の第１のコピーを前記プライマリコンピュータシステムに関連する前記プライマリメモリ待ち行列に転送するステップであって、前記プライマリリストは、前記バックアップコンピュータシステムで実行されたとまだ確認されていない書き込み要求を含むことを特徴とする、ステップと、
書き込み要求のバックアップリストがバックアップメモリ待ち行列に蓄積されるように、前記書き込み要求の第２のコピーを前記バックアップコンピュータシステムに関連する前記バックアップメモリ待ち行列に転送するステップであって、前記バックアップリストは、前記プライマリコンピュータシステムで実行されたとまだ確認されていない書き込み要求を含むことを特徴とする、ステップと、
前記プライマリメモリ待ち行列から前記書き込み要求の第１のコピーが削除されるように、前記書き込み要求が前記バックアップコンピュータシステムで実行されたことを確認するステップと、
前記バックアップメモリ待ち行列から前記書き込み要求の第２のコピーが削除されるように、前記書き込み要求が前記プライマリコンピュータシステムで実行されたことを確認するステップと、
をさらに含む、請求項２記載の方法。
【請求項４】
前記書き込み要求が前記バックアップコンピュータシステムで実行されたことを確認する前記ステップは、
前記承認信号が前記プライマリコンピュータシステムにより受信された後、所定時間、前記プライマリコンピュータシステムにより前記バックアップコンピュータシステムを監視するステップと、
前記プライマリコンピュータシステムにより、前記バックアップコンピュータシステムを監視する前記ステップに基づいて、前記バックアップコンピュータシステムが前記所定時間内で故障しなかったことを判定するステップであって、前記バックアップコンピュータシステムが故障しなかった場合、前記所定時間は、前記バックアップコンピュータシステムで前記書き込み要求を実行するに充分であることを特徴とする、ステップと、
を含む、請求項３記載の方法。
【請求項５】
前記所定時間は第１の所定時間であり、前記書き込み要求が前記プライマリコンピュータシステムで実行されたことを確認する前記ステップは、
前記承認信号が前記プライマリコンピュータシステムに転送された後、第２の所定時間、前記バックアップコンピュータシステムにより前記プライマリコンピュータシステムを監視するステップと、
前記バックアップコンピュータシステムにより、前記プライマリコンピュータシステムを監視する前記ステップに基づいて、前記プライマリコンピュータシステムが前記第２の所定時間内で故障しなかったことを判定するステップであって、前記プライマリコンピュータシステムが故障しなかった場合、前記第２の所定時間は、前記プライマリコンピュータシステムで前記書き込み要求を実行するに充分であることを特徴とする、ステップと、
を含む、請求項４記載の方法。
【請求項６】
前記書き込み要求が前記プライマリコンピュータシステムで実行されたことを確認する前記ステップは、
前記承認信号が前記プライマリコンピュータシステムに転送された後、所定時間、前記バックアップコンピュータシステムにより前記プライマリコンピュータシステムを監視するステップと、
前記バックアップコンピュータシステムにより、前記プライマリコンピュータシステムを監視する前記ステップに基づいて、前記プライマリコンピュータシステムが、前記所定時間内で故障しなかったことを判定するステップであって、前記プライマリコンピュータシステムが故障しなかった場合、前記第２の所定時間は、前記プライマリコンピュータシステムで前記書き込み要求を実行するに充分であることを特徴とする、ステップと、
を含む、請求項３記載の方法。
【請求項７】
前記承認信号は第１の承認信号であり、前記書き込み要求が前記バックアップコンピュータシステムで実行されたことを確認する前記ステップは、
前記バックアップコンピュータシステムが前記書き込み要求を実行するとき、前記バックアップコンピュータシステムにおいて第２の承認信号を生成するステップと、
前記第２の承認信号を前記プライマリコンピュータシステムに送信するステップと、
を含む、請求項３に記載の方法。
【請求項８】
前記書き込み要求が前記プライマリコンピュータシステムで実行されたことを確認する前記ステップは、
前記プライマリコンピュータシステムが前記書き込み要求を実行するとき、前記プライマリコンピュータシステムにおいて第３の承認信号を生成するステップと、
前記第３の承認信号を前記バックアップコンピュータシステムに送信するステップと、
を含むことを特徴とする、請求項７記載の方法。
【請求項９】
書き込み要求の第１のコピーをプライマリコンピュータシステムに関連するメモリバッファに転送する前記ステップは、
前記書き込み要求の第１のコピーを前記プライマリ大容量記憶装置の第１の部分に転送するステップを含むことを特徴とする、請求項３記載の方法。
【請求項１０】
前記書き込み要求の第１のコピーを前記プライマリコンピュータシステムに関連するプライマリメモリ待ち行列に転送する前記ステップは、
前記書き込み要求の第１のコピーを前記プライマリ大容量記憶装置の第２の部分に転送するステップを含むことを特徴とする、請求項９記載の方法。
【請求項１１】
前記書き込み要求の第２のコピーを前記バックアップコンピュータシステムに関連するバックアップメモリ待ち行列に転送する前記ステップは、
前記書き込み要求の第２のコピーを前記バックアップ大容量記憶装置の一部に転送するステップを含むことを特徴とする、請求項１０記載の方法。
【請求項１２】
前記プライマリコンピュータシステムが動作可能ではない場合、前記バックアップコンピュータシステムに関連するバックアップメモリ待ち行列に複数の書き込み要求を蓄積するステップと、
前記バックアップコンピュータシステムで前記複数の書き込み要求を実行するステップと、
前記プライマリコンピュータシステムが動作可能になった後、前記プライマリコンピュータシステムで実行するために、前記複数の書き込み要求を前記バックアップメモリ待ち行列から前記プライマリコンピュータシステムに送信するステップと、
をさらに含む、請求項１に記載の方法。
【請求項１３】
前記書き込み要求の第１のコピーをプライマリコンピュータシステムに関連するメモリバッファに転送する前記ステップは、
前記書き込み要求の第１のコピーを大容量記憶装置コントローラを通して前記メモリバッファに転送するステップを含むことを特徴とする、請求項１記載の方法。
【請求項１４】
前記書き込み要求の第２のコピーをバックアップコンピュータシステムに転送する前記ステップは、
前記書き込み要求の第２のコピーを通信手段接続機構を通して、及び通信手段を介して前記バックアップコンピュータシステムに転送するステップを含むことを特徴とする、請求項１記載の方法。
【請求項１５】
プライマリコンピュータシステムにおいて、
該プライマリコンピュータシステムが、実行するように命令される場合のみ、該プライマリコンピュータシステムに関連するプライマリ大容量記憶装置内の書き込み要求を実行するように、前記書き込み要求の第１のコピーを前記プライマリコンピュータシステムに関連するメモリバッファに転送するステップと、
バックアップコンピュータシステムが、該バックアップコンピュータシステムに関連するバックアップ大容量記憶装置内の前記書き込み要求を実行するように、前記書き込み要求の第２のコピーを前記バックアップコンピュータシステムに転送するステップと、
前記プライマリコンピュータシステムが、前記プライマリ大容量記憶装置で前記書き込み要求を実行するように命令されるように、前記バックアップコンピュータシステムが前記書き込み要求の第２のコピーを受信したことの承認を受信するステップと、
を実行するための、マシン実行可能命令を有する、マシン読み取り可能媒体。
【請求項１６】
前記マシン実行可能命令は、
書き込み要求のプライマリリストがプライマリメモリ待ち行列に蓄積されるように、前記書き込み要求の第１のコピーを前記プライマリコンピュータシステムに関連する前記プライマリメモリ待ち行列に転送するステップであって、前記プライマリリストは、前記バックアップコンピュータシステムで実行されたとまだ確認されていない書き込み要求を含む、ステップと、
前記書き込み要求が前記バックアップコンピュータシステムで実行されたことが判定された後、前記プライマリメモリ待ち行列から前記書き込み要求の第１のコピーを削除するステップと、
をさらに実行するためのものである、請求項１５記載のマシン読み取り可能媒体。
【請求項１７】
前記マシン実行可能命令は、
前記バックアップコンピュータシステムが前記書き込み要求の第２のコピーを受信したことの前記承認信号を受信した後、所定時間、前記バックアップコンピュータシステムを監視するステップと、
該バックアップコンピュータシステムを監視する前記ステップに基づいて、前記バックアップコンピュータシステムが前記所定時間内に故障しなかったことを判定するステップであって、前記バックアップコンピュータシステムが故障しなかった場合には、前記所定時間は、前記書き込み要求が前記バックアップ大容量記憶装置で実行されるに充分であることを特徴とする、ステップと、
をさらに実行することにより、前記書き込み要求が前記バックアップコンピュータシステムで実行されたことを判定するためのものであることを特徴とする、請求項１６記載のマシン読み取り可能媒体。
【請求項１８】
前記マシン実行可能命令は、
前記書き込み要求が前記バックアップコンピュータシステムで実行されたことを示す前記バックアップコンピュータシステムから承認信号を受信するステップをさらに実行することにより、前記書き込み要求が前記バックアップコンピュータシステムで実行されたことを判定するためのものであることを特徴とする、請求項１６記載のマシン読み取り可能媒体。
【請求項１９】
前記マシン実行可能命令は、
前記バックアップコンピュータシステムが機能しない場合、複数の書き込み要求を前記プライマリメモリ待ち行列に蓄積するステップをさらに実行するためのものであることを特徴とする、請求項１６記載のマシン読み取り可能媒体。
【請求項２０】
バックアップコンピュータシステムにおいて、
プライマリコンピュータシステムに関連するメモリバッファにさらに転送される書き込み要求を受信するステップと、
前記書き込み要求が前記バックアップコンピュータシステムで受信されたことを前記プライマリコンピュータシステムに通知するステップと、
前記バックアップコンピュータシステムに関連するバックアップ大容量記憶装置で前記書き込み要求を実行するステップと、
を実行するための、マシン実行可能命令を有するマシン読み取り可能媒体。
【請求項２１】
前記書き込み要求が前記バックアップコンピュータシステムで受信されたことを前記プライマリコンピュータシステムに通知するマシン実行可能命令は、
前記書き込み要求が前記バックアップコンピュータシステムで受信されたときに承認信号を生成するステップと、
前記承認信号を前記プライマリコンピュータシステムに転送するステップと、
を実行するためのものであることを特徴とする、請求項２０記載のマシン読み取り可能媒体。
【請求項２２】
前記マシン実行可能命令は、
前記書き込み要求を前記バックアップコンピュータシステムに関連するバックアップメモリ待ち行列に転送するステップと、
前記書き込み要求がプライマリ大容量記憶装置で実行された場合、前記書き込み要求が、前記プライマリコンピュータシステムに関連する前記プライマリ大容量記憶装置で実行されたことを判定するステップと、
をさらに実行するためのものであることを特徴とする、請求項２１記載のマシン読み取り可能媒体。
【請求項２３】
前記マシン実行可能命令は、
前記書き込み要求が前記プライマリ大容量記憶装置で実行されたことを判定した後に、前記バックアップメモリ待ち行列から前記書き込み要求を削除するステップをさらに実行するためのものであることを特徴とする、請求項２２記載のマシン読み取り可能媒体。
【請求項２４】
前記書き込み要求がプライマリ大容量記憶装置で実行されたことを判定するための前記マシン実行可能命令は、
前記書き込み要求が前記バックアップコンピュータシステムで受信されたことを前記プライマリコンピュータシステムが通知された後、所定時間、前記プライマリコンピュータシステムを監視するステップと、
該監視するステップに基づいて、前記プライマリコンピュータシステムが前記所定時間内に故障しなかったことを判定するステップであって、前記プライマリコンピュータシステムが故障していなかった場合、前記所定時間は、前記プライマリ大容量記憶装置で前記書き込み要求を実行するに充分であることを特徴とする、ステップと、
をさらに実行するためのものであることを特徴とする、請求項２２記載のマシン読み取り可能媒体。
【請求項２５】
前記書き込み要求がプライマリ大容量記憶装置で実行されたことを判定するための前記マシン実行可能命令は、
前記書き込み要求が前記プライマリ大容量記憶装置で実行される場合に、前記プライマリコンピュータシステムによって生成される承認信号を受信するステップをさらに実行するためのものであることを特徴とする、請求項２２記載のマシン読み取り可能媒体。
【請求項２６】
前記マシン実行可能命令は、
前記書き込み要求が前記バックアップ大容量記憶装置で実行されたときに承認信号を生成するステップと、
前記承認信号を前記プライマリコンピュータシステムに送信するステップと、
をさらに実行するためのものであることを特徴とする、請求項２０記載のマシン読み取り可能媒体。
【請求項２７】
前記マシン実行可能命令は、
前記プライマリコンピュータシステムが機能しない場合、複数の書き込み要求を前記バックアップコンピュータシステムに関連するメモリ待ち行列に蓄積するステップと、
前記バックアップ大容量記憶装置内の前記複数の書き込み要求を実行するステップと、
前記プライマリコンピュータシステムが機能するようになると、前記複数の書き込み要求を前記プライマリコンピュータシステムに転送するステップと、
をさらに実行するためのものであることを特徴とする、請求項２０記載のマシン読み取り可能媒体。
【請求項２８】
前記プライマリコンピュータに関連するメモリバッファにも転送される書き込み要求を受信するためのマシン実行可能命令は、
通信手段を介して、及び前記バックアップコンピュータシステムに関連する通信手段接続機構によって前記書き込み要求を受信するステップをさらに実行するためのものであることを特徴とする、請求項２０記載のマシン読み取り可能媒体。
【請求項２９】
プライマリコンピュータシステムであって、
該プライマリコンピュータシステムが、実行するように命令される場合のみ、該プライマリコンピュータシステムに関連するプライマリ大容量記憶装置内の書き込み要求を実行するように、前記書き込み要求の第１のコピーを前記プライマリコンピュータシステムに関連するメモリバッファに転送するステップと、
バックアップコンピュータシステムが、該バックアップコンピュータシステムに関連するバックアップ大容量記憶装置内の前記書き込み要求を実行するように、前記書き込み要求の第２のコピーを前記バックアップコンピュータシステムに転送するステップと、
前記プライマリコンピュータシステムが、前記プライマリ大容量記憶装置で前記書き込み要求を実行するように命令されるように、前記バックアップコンピュータシステムが前記書き込み要求の第２のコピーを受信したことの承認を受信するステップと、
を実行するためのコンピュータ実行可能命令を格納したコンピュータ読み取り可能媒体を含むプライマリコンピュータシステムと、
バックアップコンピュータシステムであって、
プライマリコンピュータシステムに関連するメモリバッファにも転送される書き込み要求を受信するステップと、
前記書き込み要求が前記バックアップコンピュータシステムで受信されたことを前記プライマリコンピュータシステムに通知するステップと、
前記バックアップコンピュータシステムに関連するバックアップ大容量記憶装置において前記書き込み要求を実行するステップと、
を実行するためのコンピュータ実行可能命令を格納したコンピュータ読み取り可能媒体を含むバックアップコンピュータシステムと、
前記プライマリコンピュータシステムおよび前記バックアップコンピュータシステムを通信可能に相互接続する通信手段と、
を含む、コンピュータネットワーク。
【請求項３０】
書き込み要求を生成するステップと、
プライマリコンピュータシステムに常駐するコンピュータ実行可能ミラーリング命令を使用して前記プライマリコンピュータシステムにおいて前記書き込み要求を複製し、該書き込み要求の第１および第２のコピーを作成するステップと、
前記プライマリコンピュータシステムが動作しているときに、前記書き込み要求の第１のコピーを前記プライマリコンピュータシステムに関連するメモリバッファに転送するステップと、
前記書き込み要求の第２のコピーをバックアップコンピュータシステムに転送するステップと、
前記バックアップコンピュータシステムで承認信号を生成するステップであって、前記承認信号は、前記バックアップコンピュータシステムが前記書き込み要求の第２のコピーを受信したことを示す、ステップと、
前記承認信号を前記バックアップコンピュータシステムから前記プライマリコンピュータシステムに通信リンクを介して送信するステップと、
前記プライマリコンピュータシステムが動作しており、前記承認信号を受信した場合、前記書き込み要求を前記プライマリコンピュータシステムに関連するプライマリ大容量記憶装置で実行するステップと、
前記書き込み要求を前記バックアップコンピュータシステムに関連するバックアップ大容量記憶装置で実行するステップと、
の動作を含む方法。
【発明の詳細な説明】
【０００１】
発明の背景
１．発明の分野
本発明は、コンピュータおよびデータ処理システムに関連するデータ記憶に関する。特に、本発明は、大容量記憶装置を各自有する複数のコンピュータシステムを備えるシステムでのコンピュータ故障からのリカバリに使用される方法に関する。
２．従来技術
コンピュータネットワークは、データを処理し交換する人間の能力を大幅に強化した。不都合なことに、時折、コンピュータは、部分的または完全に、「クラッシュ」または「故障」と呼ばれる場合に適切に機能する能力を失うことがある。コンピュータ故障には、電力損失、コンピュータコンポーネントの破損、コンピュータコンポーネント断路、ソフトウェア故障、または割り込み競合等の多くの原因がありうる。このようなコンピュータ故障は、コンピュータが殆どのビジネスオペレーションの必須部分になっているためかなり費用がかかる可能性がある。いくつかの例では、コンピュータは、クラッシュした場合には、ビジネスオペレーションを実行することが不可能になるほどビジネスの必須部分になっている。
【０００２】
殆どすべての大規模ビジネスは、常に変更の対象となる情報を格納し、操作し、表示するために、コンピュータネットワークに頼っている。重要なトランザクションの成功または失敗は、正確でありかつ最新の情報の利用可能性にかかっている。特定の場合では、サービスプロバイダの信頼性またはまさしくその存在は、コンピュータネットワークに保持される情報の信頼性に依存する。したがって、ビジネスは世界中で、各自のデータの商業的価値を認識し、各自のコンピュータネットワークに格納される情報を保護する高信頼性で費用効率的な方法を捜し求めている。米国では、連邦銀行業規制法も銀行が重要なデータを保護する措置を講じるよう求めている。
【０００３】
この重要なデータを保護するための１つのシステムは、データミラーリングシステムである。具体的には、セカンダリバックアップコンピュータシステムの大容量メモリにプライマリコンピュータシステムの大容量メモリをミラーリングさせる。プライマリ大容量記憶装置で実行される書き込み要求は、バックアップ大容量記憶装置での実行のためにバックアップコンピュータシステムにも送信される。したがって、理想的な状況下では、プライマリコンピュータシステムがクラッシュする場合、バックアップコンピュータシステムが動作を開始し、ネットワークを通してユーザに接続することができる。このため、ユーザは、バックアップ大容量記憶装置上のバックアップコンピュータシステムを通して、プライマリコンピュータシステムを通してアクセスしたファイルと同じファイルにアクセスすることができる。
【０００４】
しかし、プライマリコンピュータシステムは、書き込み要求がプライマリ大容量記憶装置に対して実行された後であるが、その要求がバックアップコンピュータシステムに完全に送信される前にクラッシュすることがある。この場合、書き込み要求は、プライマリ大容量記憶装置で実行されており、バックアップ大容量記憶装置では実行されない。したがって、プライマリ大容量記憶装置とバックアップ大容量記憶装置との間の同期が失われる。換言すれば、プライマリ大容量記憶装置およびバックアップ大容量記憶装置は、完全にはミラーリングされず、クラッシュの時点でわずかに異なる。
【０００５】
この同期損失の影響を例示するために、プライマリおよびバックアップ大容量記憶装置が同一の銀行口座残高を格納するものと仮定する。続けて、顧客がお金を口座に預け入れ、その直後に気が変わりそのお金を口座から引き出す。プライマリコンピュータシステムが、プライマリ大容量記憶装置における口座残高が預け入れを反映するように変更された直後に、しかし預け入れを反映する書き込み要求がバックアップコンピュータシステムに転送される前にクラッシュする。したがって、バックアップ大容量記憶装置内の口座残高は、預け入れを反映していない。顧客の気が変わりそのお金を口座から引き出すとき、バックアップ記憶装置での口座残高は、その引き出しを反映するように変更される。プライマリコンピュータシステムが動作に復帰すると、バックアップ大容量記憶装置からの口座残高がプライマリ大容量記憶装置内の口座残高に上書きされる。したがって、口座残高は、引き出しを反映しているが、預け入れを反映していない。
【０００６】
このシステムの別の欠点は、そのプライマリコンピュータシステムが動作に復帰したときに、「再ミラーリング（remirror）」と呼ばれる、バックアップ大容量記憶装置全体がプライマリ大容量記憶装置にコピーされることである。そのような大量のデータのコピーにはかなりの時間がかかりトランザクション動作を中断させてしまう。
【０００７】
したがって、上述した同期の損失が発生せず、かつ完全な再ミラーリングが必要ないバックアップコンピュータシステムおよび方法が望ましい。
発明の概要
本発明によれば、プライマリコンピュータシステムからのデータが、セカンダリバックアップコンピュータシステムにミラーリングされる方法およびシステムが提供される。このシステムは、プライマリコンピュータシステムが、書き込み要求がプライマリコンピュータシステムのメモリで実行された後であるが、その要求がバックアップコンピュータシステムに完全に送信される前に故障する場合であっても、プライマリ記憶装置とセカンダリ記憶装置の間で完全な同期を維持する。
【０００８】
書き込み要求毎に、要求のコピーがプライマリコンピュータシステムに関連する遅延バッファに書き込まれると共に、コピーがバックアップコンピュータシステムに送信される。書き込み要求が完全にバックアップコンピュータシステムに送信された後、バックアップコンピュータシステムがプライマリコンピュータシステムに、要求をバックアップコンピュータで受信したことを通知する（たとえば、承認信号を送信することにより）。プライマリコンピュータシステムの遅延バッファ中の書き込み要求は、プライマリコンピュータシステムが、バックアップコンピュータシステムも書き込み要求のコピーを受信したことを示す承認信号を受信した後でのみ実行される。したがって、書き込み要求のコピーがバックアップコンピュータシステムに送信される前にプライマリコンピュータシステムが故障する場合、書き込み要求が遅延バッファにおいて実行されていないままであったため、プライマリコンピュータシステムは書き込み要求をまだ実行していない。したがって、プライマリコンピュータシステムとバックアップコンピュータシステムとの間で同期が失われない。
【０００９】
本発明の別の利点は、バックアップコンピュータシステムからプライマリコンピュータシステムへのデータの完全な再ミラーリング（すなわち、再コピー）が、プライマリコンピュータシステムが故障後に動作に復帰するときに必要ないことである。プライマリコンピュータシステムおよびバックアップコンピュータシステムの双方が、書き込み要求のコピーが転送されるメモリ待ち行列を有する。プライマリコンピュータシステムは、書き込み要求がバックアップコンピュータシステムの記憶装置で実行されたことを判定すると、そのメモリ待ち行列からのその要求を削除する。同様に、バックアップコンピュータシステムは、プライマリコンピュータシステムが書き込み要求を実行したことを判定すると、バックアップコンピュータシステムがそのメモリ待ち行列から書き込み要求を削除する。したがって、メモリ待ち行列は、生成されたが、相手のコンピュータシステムによって実行されたと確認されていない書き込み要求を含む。
【００１０】
万が一相手のコンピュータシステムが故障を経験する場合、動作しているコンピュータシステムのメモリをもう一度ミラーリングするために、メモリ待ち行列は、故障したコンピュータシステム内で実行する必要があるすべての書き込み要求を蓄積する。メモリ全体ではなく、メモリ待ち行列中の書き込み要求のみが、故障したコンピュータシステムが動作するようになるとそのコンピュータシステムに転送される。したがって、完全な再ミラーリングが回避される。
【００１１】
本発明のさらなる目的および利点は、以下の説明に記載され、説明から部分的に明らかとなる、または本発明の実施から習得することができる。本発明の目的および利点は、併記の特許請求の範囲において特に指摘される装置および組み合わせによって実現し取得することができる。本発明のこれらおよび他の目的は、以下の説明および併記の特許請求の範囲からより完全に明らかとなる、または以下に記載する本発明の実施により習得することができる。
【００１２】
本発明の上記および他の利点および目的を得る方法のために、上記の手短に述べた本発明のより具体的な説明を添付図面に示される特定の実施形態を参照することによって行う。これら図面が本発明の典型的な実施形態のみを示し、したがって本発明の範囲の限定を意図しないことを理解した上で、本発明について、添付図面の使用によってさらに具体的にかつ詳細に記載し説明する。
好ましい実施形態の詳細な説明
図１は、本発明に適した動作環境を表すコンピュータ構成１００の概略図である。構成１００は、２つのコンピュータシステム１１０、１２０を含み、双方ともＮｏｖｅｌｌ  ＮｅｔＷａｒｅ（登録商標）等のコンピュータサーバオペレーティングシステムを実行する。バックアップコンピュータシステム１２０は、プライマリコンピュータシステム１１０を監視して、プライマリコンピュータシステム１１０が動作していることを検証する。万が一プライマリコンピュータシステム１１０が動作を停止する場合、バックアップコンピュータシステム１２０が動作を引き継ぐ。
【００１３】
プライマリコンピュータシステム１１０は、インタフェース１１１を通してネットワーク１０１に接続されるコンピュータ１１２と、それに関連するソフトウェアを含む。コンピュータ１１２は、大容量記憶装置コントローラ１１３およびそれに関連するソフトウェアを通して大容量記憶装置１１４に接続される。Ｎｏｖｅｌｌ  ＮｅｔＷａｒｅ（登録商標）の場合、コンピュータ１１２は、標準ＰＣ互換コンピュータであることができ、ネットワーク１０１はイーサネット（登録商標）であることができ、大容量記憶装置１１４はＳＣＳＩまたはＩＤＥ磁気ディスクであることができる。ネットワークインタフェース１１１は、イーサネット（登録商標）ネットワークインタフェースであることができ、大容量記憶装置コントローラ１１３はＳＣＳＩまたはＩＤＥ磁気ディスクコントローラであることができる。ネットワーク１０１は、トークンリング、ＡＲＣネット（アークネット）、または他の任意のネットワークトポロジを使用して実施してもよい。
【００１４】
バックアップコンピュータシステム１２０は、コンピュータシステム１１０と同様であることのできるコンポーネントを有する。たとえば、コンピュータ１２２は、ネットワークインタフェース１２１を通してネットワーク１０１に接続することができるが、コンピュータ１１２と１２２との間で何等かの通信手段を利用可能な限りにおいて、コンピュータ１２２をネットワーク１０１に接続する必要はない。コンピュータ１２２は、大容量記憶装置コントローラ１２３を通してバックアップ大容量記憶装置１２４に接続される。
【００１５】
コンピュータシステム１２０がコンピュータシステム１１０と同一のコンポーネントを有する必要はないが、多くの場合は同一のコンポーネントを有するであろう。他の場合では、コンピュータシステム１２０は、ファイルサーバ(filer server)として以前使用されていた旧式で低速なシステムであることができるが、コンピュータシステム１１０と置換可能である。コンピュータシステム１２０に必要なのは、コンピュータシステム１１０が故障した場合にファイルサーバオペレーティングシステムを実行可能なこと、およびその大容量メモリ１２４が大容量記憶装置１１４からミラーリングされたそのデータを保持するのに充分な容量を持つことだけである。本説明および特許請求の範囲では、「プライマリ」はプライマリコンピュータシステム１１０に関連することを意味し、「バックアップ」はバックアップコンピュータシステム１２０に関連することを意味する。「バックアップ」という語は、本明細書では、特定の要素およびコンポーネントを「プライマリ」コンポーネントから都合よく区別するために使用され、本明細書に特に列挙されるもの以外の完全で従来のバックアップ性能を必ずしも必要としない。実際、一実施形態では、プライマリコンピュータシステム１１０およびバックアップコンピュータシステム１２０は、バックアップコンピュータシステム１２０が所望通りネットワークサービスをネットワーク１０１に提供するために使用することができ、プライマリコンピュータシステムを参照して本明細書に記載する機能性を示すことができる、またはその逆も同様であるという点において、相互に交換可能であることができる。
【００１６】
“Ｍｅｔｈｏｄ  ｆｏｒ  Ｒａｐｉｄ  Ｒｅｃｏｖｅｒｙ  Ｆｒｏｍ  ａ  Ｎｅｔｗｏｒｋ  Ｆｉｌｅ  Ｓｅｒｖｅｒ  Ｆａｉｌｕｒｅ  Ｉｎｃｌｕｄｉｎｇ  Ｍｅｔｈｏｄ  ｆｏｒ  Ｏｐｅｒａｔｉｎｇ  Ｃｏ−Ｓｔａｎｄｂｙ  Ｓｅｒｖｅｒｓ”と題する１９９７年４月２８日付けで出願された米国特許出願第０８／８４８，１３９号を参照により本明細書に援用し、この出願は、本出願の図１のコンポーネントに略対応し、本明細書において教示されるように本発明に関連する機能性および動作を実行するように構成することができるコンポーネントを開示している。
【００１７】
本発明のプライマリおよびバックアップ大容量記憶装置１１４、１２４は、コンピュータシステム１１０、１２０の読み出し要求および書き込み要求を処理することのできる任意の大容量メモリを含むことができる。このようなメモリとしては、光ディスク、磁気テープドライブ、磁気ディスクドライブ等を挙げることができる。
【００１８】
通信手段１０２は、プライマリコンピュータシステム１１０とバックアップコンピュータシステム１２０との間のリンクを提供する。プライマリコンピュータ１１２は、プライマリ通信手段接続機構１１５を通して通信手段１０２に接続され、バックアップコンピュータ１２２は、バックアップ通信手段接続機構１２５を通して通信手段１０２に接続される。通信手段１０２は、当業者には既知の様々な技法を使用して実施することができる。一実施形態では、高速シリアルポイント・ツー・ポイントリンクが使用される。代替的には、コンピュータ１１２、１２２のシリアル通信ポートが、高いデータ速度で動作するようにプログラムされた後に使用される。別の代替としては、コンピュータ１１２、１２２のパラレルポートが使用される。
【００１９】
通信手段１０２は、大容量記憶装置１２４のデータ転送速度に匹敵する速度でデータ転送を提供し、よって構成１００の性能を制限しない。本発明の方法は、通信手段１０２の特定の実施に依存しないが、本発明にのみ専用の通信手段１０２の場合に、一般に、動作がより効率的になると共にプログラムがより単純になる。
【００２０】
図２は、プライマリコンピュータ１１２がＩ／Ｏモジュール２１１およびミラーリングコード２１２を含む、図１の構成１００のより詳細な概略図を示す。プライマリ大容量記憶装置１１４は、デルタ待ち行列２１３、遅延バッファ２１４、およびメモリ部２１５を備え、バックアップ大容量記憶装置１２４は、デルタ待ち行列２２３およびメモリ部２２５を備える。これらコンポーネントの相互関係は、ネットワーク構成１００の動作を説明することによって最もよく理解することができる。
【００２１】
読み出し動作は、プライマリコンピュータ１１２がプライマリ大容量記憶装置コントローラ１１３を通してプライマリ大容量記憶装置１１４に読み出し要求を発することによって実行される。対応するデータが、プライマリ大容量記憶装置１１４からプライマリコンピュータ１１２に送信される。代わって、バックアップコンピュータシステム１２０が動作中である場合、バックアップコンピュータ１２２が、バックアップ大容量記憶装置コントローラ１２３を通してバックアップ大容量記憶装置１２４に読み出し要求を発する。
【００２２】
本発明による書き込み動作は、図３のフローチャートに示すように実行することができる。本説明および特許請求の範囲では、書き込み動作（または要求）は、書き込み、削除、破壊読み出し、または初期化等の大容量メモリを変更するあらゆる動作（または要求）を含む。
【００２３】
次に、本発明による方法について、図２および図３に関して詳細に説明する。まず、プライマリコンピュータ１１２のＩ／Ｏモジュール２１１が、書き込み要求ＲＥＱをミラーリングコード２１２に提供する（図３のステップ３０５）。次に、ミラーリングコード２１２は、要求ＲＥＱを複製し（ステップ３１０）、要求ＲＥＱのコピーをプライマリ大容量記憶装置コントローラ１１３に転送させる（ステップ３１５）。ミラーリングコード２１２はまた、要求ＲＥＱの別のコピーをプライマリ通信手段接続機構１１５にも転送させる（ステップ３２０）。各コピーは、大容量記憶装置１１４、１２４が同期するように、対応する大容量記憶装置１１４、１２４で実行される。
【００２４】
プライマリ大容量記憶装置コントローラ１１３は、要求ＲＥＱをプライマリ大容量記憶装置１１４のプライマリデルタ待ち行列２１３に書き込む（ステップ３２５）。プライマリデルタ待ち行列２１３は、バックアップコンピュータシステム１２０で実行されたとプライマリコンピュータシステム１１０によって確認されていない要求を含む。プライマリコンピュータシステム１１０が、要求がバックアップ大容量記憶装置１２４で実行されたという確認を受信するか、または他の手段により知る場合、要求は、さらに後述するように、プライマリ大容量記憶装置１１４のプライマリデルタ待ち行列２１３から削除される。プライマリ大容量記憶装置コントローラ１１３は、要求ＲＥＱをプライマリ大容量記憶装置１１４の遅延バッファ２１４にも書き込む（同じくステップ３２５）。
【００２５】
要求ＲＥＱのコピーは、プライマリ通信手段接続機構１１５から通信手段１０２を介してバックアップ通信手段接続機構１２５に転送される（ステップ３３０）。次に、要求ＲＥＱは、バックアップ通信手段接続機構１２５からバックアップ大容量記憶装置コントローラ１２３を通して（ステップ３３５）、バックアップデルタ待ち行列２２３に転送される（ステップ３４０）。デルタ待ち行列２２３は、プライマリコンピュータシステム１１０で実行されたとバックアップコンピュータシステム１２０によって確認されていない要求を含む。バックアップコンピュータシステム１２０が、要求がプライマリ大容量記憶装置１１４で実行されたという確認を受信するか、または他の手段により知る場合、要求は、バックアップデルタ待ち行列２２３から削除される。
【００２６】
要求ＲＥＱをバックアップデルタ待ち行列２２３で受信するとすぐに、バックアップコンピュータシステム１２０が、承認信号ＡＣＫ１をプライマリ大容量記憶装置１１４中の遅延バッファ２１４に返送する（ステップ３４５）。したがって、承認信号ＡＣＫ１は、バックアップコンピュータシステム１２０が書き込み要求ＲＥＱを適切に受信したことを示す。プライマリコンピュータシステム１１０は、承認信号ＡＣＫ１を受信すると、プライマリ大容量記憶装置１１４のメモリ部分２１５における関連動作を実行することにより、遅延バッファ２１４に格納されている要求ＲＥＱを実行する（ステップ３５０）。したがって、プライマリコンピュータシステム１１０は、バックアップコンピュータシステム１２０が書き込み要求のコピーを受信したという確認を有するまで、書き込み要求を実行しない。よって、書き込み要求ＲＥＱがプライマリ大容量記憶装置１１４で実行された後であるが、書き込み要求ＲＥＱのコピーがバックアップコンピュータシステム１２０に完全に送信される前に、プライマリコンピュータシステム１１０が故障する場合に生じる同期の問題がない。
【００２７】
また、要求ＲＥＱのコピーがバックアップデルタ待ち行列２２３に送信された（ステップ３４０）後、要求ＲＥＱは、バックアップ大容量記憶装置１２４のメモリ部分２２５で実行される（ステップ３５５）。次に、書き込み要求ＲＥＱのコピーがバックアップコンピュータシステム１２０によって実行されたことを示す別の承認信号ＡＣＫ２が、バックアップコンピュータシステム１２０からプライマリコンピュータシステム１１０に送信される（ステップ３６５）。プライマリコンピュータシステム１１０は、第２の承認信号ＡＣＫ２を受信すると（ステップ３６０）、プライマリデルタ待ち行列２１３から要求ＲＥＱを削除する（ステップ３７０）。したがって、プライマリデルタ待ち行列２１３は、実行のためにプライマリ大容量記憶装置１１４に送信されたが、バックアップ大容量記憶装置１２４で実行されたと確認されていないすべての要求を含む。
【００２８】
バックアップコンピュータシステム１２０の正常動作中、プライマリデルタ待ち行列２１３における書き込み要求は、バックアップ大容量記憶装置１２４で実行されるにつれ着々と削除される。万が一バックアップコンピュータシステム１１０がシャットダウンし、書き込み要求ストリームがもはやバックアップ大容量記憶装置１２４で実行されていない場合、書き込み要求はプライマリデルタ待ち行列２１３に蓄積される。バックアップコンピュータシステム１２０が再び動作可能になると、プライマリデルタ待ち行列２１３に蓄積された書き込み要求が、実行のためにバックアップコンピュータシステム１２０に送信され、バックアップ大容量記憶装置１２４がプライマリ大容量記憶装置１１４と同期するようにする。
【００２９】
要求ＲＥＱがプライマリ主記憶装置２１５で実行された（ステップ３５０）後、要求ＲＥＱがプライマリコンピュータシステム１１０によって実行されたことを示す第３の承認信号ＡＣＫ３が、プライマリコンピュータシステム１１０からバックアップコンピュータシステム１２０に送信される（ステップ３６５）。次に、要求ＲＥＱがバックアップデルタ待ち行列２２３から削除される。したがって、バックアップデルタ待ち行列２２３は、実行のためにバックアップ大容量記憶装置１２４に送信されたが、プライマリ大容量記憶装置１１４で実行されたと確認されていないすべての要求を含む。
【００３０】
プライマリコンピュータシステム１１０の正常動作中、バックアップデルタ待ち行列２２３における書き込み要求は、プライマリ大容量記憶装置１１４で実行されるにつれ着々と削除される。万が一プライマリコンピュータシステム１１０がシャットダウンし、書き込み要求ストリームがもはやプライマリ大容量記憶装置１１４で実行されていない場合、書き込み要求はバックアップデルタ待ち行列２２３に蓄積される。プライマリコンピュータシステム１１０が再び動作可能になると、バックアップデルタ待ち行列２２３に蓄積された書き込み要求が、実行のためにプライマリコンピュータシステム１１０に送信され、プライマリ大容量記憶装置１１４がバックアップ大容量記憶装置１２４と同期するようにする。
【００３１】
したがって、万が一要求ＲＥＱがバックアップコンピュータシステム１２０に送信される前にプライマリコンピュータシステム１１０がシャットダウンした場合であっても、大容量記憶装置１１４、１２４の間で同期が維持される。さらに、プライマリコンピュータシステム１１０が動作するようになるとき、バックアップデルタ待ち行列２２３中の要求しか送信する必要がない。同様に、バックアップコンピュータシステム１２０が動作するようになるとき、プライマリデルタ待ち行列２１３中の要求しか送信する必要がない。したがって、コンピュータシステム１１０、１２０のうちの一方が動作するようになった後のデータの完全な再ミラーリングが回避される。
【００３２】
デルタ待ち行列２１３、遅延バッファ２１４、およびメモリ部分２１５は、望みに応じて、すべて同じメモリコンポーネント内にあってもよく、また別個のメモリコンポーネントで実施してもよいことに留意されたい。また、デルタ待ち行列２２３およびメモリ部分２２５もまた、望みに応じて、同じまたは別個のメモリコンポーネントで実施してもよい。
【００３３】
上記説明は、各コンピュータシステム１１０、１２０が、承認信号ＡＣＫ２およびＡＣＫ３それぞれを受信することにより、相手のコンピュータシステム１２０、１１０が要求を実行したことを確認する方法に関連する。しかし、他の確認方法も可能である。
【００３４】
図４は、承認信号ＡＣＫ２およびＡＣＫ３が使用されない代替の同期方法のフローチャートである。図４中のステップ３０５、３１０、３１５、３２０、３２５、３３０、３３５、３４０、３４５、３５０、および３５５は図３中のステップと同じである。図４中、プライマリコンピュータシステム１１０は、承認信号ＡＣＫ１を受信した後、所定時間（たとえば、５秒または他の任意の適した時間）の間待つ（ステップ４０５）。プライマリコンピュータシステム１１０は、この時間中、バックアップコンピュータシステム１２０が故障したことを示す事故報告リポートを受信しない場合、バックアップコンピュータシステム１２０がバックアップ大容量記憶装置１２４で要求ＲＥＱを実行したものと仮定する。この場合、プライマリコンピュータシステム１１０は、所定時間後にプライマリメモリ待ち行列２１３から要求ＲＥＱを削除する（同じくステップ４０５）。
【００３５】
同様に、バックアップコンピュータシステム１２０は、要求ＲＥＱを受信した後、所定時間待つ（ステップ４１０）。バックアップコンピュータシステム１２０は、この時間中、プライマリコンピュータシステム１１０が故障したことを示す発生事象リポートを受信しない場合、プライマリコンピュータシステム１１０がプライマリ大容量記憶装置１１４で要求ＲＥＱを実行したものと仮定する。この場合、バックアップコンピュータシステム１２０は、所定時間後に、バックアップデルタ待ち行列２２３から要求ＲＥＱを削除する（同じくステップ４１０）。したがって、相手のコンピュータシステムが、所定時間後依然として動作している場合、相手のコンピュータシステムが要求を実行したものと仮定することにより、確認が達成される。
【００３６】
本発明は、本発明の趣旨すなわち本質的な特徴から逸脱せずに他の特定の形態で具現することもできる。説明した実施形態は、すべての点に関して例示的なものであり制限するものではないものとみなされるべきである。したがって、本発明の範囲は、上記の説明ではなく併記の特許請求の範囲によって示される。特許請求の範囲と同等の意味および範囲内にあるすべての変更は、特許請求の範囲内に包含されるものである。
【図面の簡単な説明】
【図１】  本発明に適した動作環境を表すネットワーク構成の概略図である。
【図２】  図１のネットワーク構成のより詳細な図である。
【図３】  図１および図２のプライマリおよびバックアップ大容量記憶装置を同期させる方法のフローチャートである。
【図４】  図１および図２のプライマリおよびバックアップ大容量記憶装置を同期する代替の方法のフローチャートである。
【図１】
0003718471.tif 000002
【図２】
0003718471.tif 000003
【図３】
0003718471.tif 000004
【図４】
0003718471.tif 000005