(57)【特許請求の範囲】
【請求項１】
ネットワークで接続される２台のコンピュータそれぞれに備えられたディスクを用いて２重化ディスクを構成する分散ミラードディスクシステムにおいて、
前記各コンピュータは、
前記ディスクの書き込み単位であるブロックそれぞれに対応して設けられる複数のフラグを格納する、不揮発性の記憶装置に設けられるフラグ格納手段と、
前記フラグ格納手段に格納されたフラグについての前記不揮発性の記憶装置に対するセット／リセット通知を揮発性の記憶装置にて一時的に蓄積するためのキャッシュ手段と、
前記ディスクにデータを書き込む前に、そのブロックに対応するフラグをセットする旨を前記キャッシュ手段に通知するとともに、相手のコンピュータが稼働中であれば、そのデータを相手のコンピュータに送信してその書き込みを要求し、前記ディスクにデータを書き込んだ後に、相手のコンピュータが稼働中であれば、前記要求したデータの書き込みを完了した旨が相手のコンピュータから通知されるのを待って、そのブロックに対応するフラグをリセットする旨を前記キャッシュ手段に通知する書き込み処理手段と、
相手のコンピュータが障害から復帰したときに、前記フラグ格納手段に格納されたフラグの中のセット状態にあるフラグに対応するブロックのデータを相手のコンピュータに順次送信するとともに、そのデータの書き込みを完了した旨が相手のコンピュータから通知されるのを待って、そのフラグをリセットする組み込みコピー手段と
を具備し、
前記キャッシュ手段は、前記フラグ格納手段に格納されたフラグについて、あるフラグをリセットする旨の通知を前記書き込み処理手段から受けた際、当該フラグをリセットする旨の通知を一定時間待機し、前記一定時間を越えて当該フラグをセットする旨の通知を受けなかった場合に、前記不揮発性の記憶装置に対して、前記フラグ格納手段が格納する当該フラグをリセットする旨を通知する手段を有する
ことを特徴とする分散ミラードディスクシステム。
【請求項２】
ネットワークで接続される３台以上のコンピュータそれぞれに備えられたディスクを用いて多重化ディスクを構成する分散ミラードディスクシステムにおいて、
前記各コンピュータは、
前記ディスクの書き込み単位であるブロックそれぞれに対応して設けられる複数のフラグを格納する、不揮発性の記憶装置に設けられるフラグ格納手段と、
前記フラグ格納手段に格納されたフラグについての前記不揮発性の記憶装置に対するセット／リセット通知を揮発性の記憶装置にて一時的に蓄積するためのキャッシュ手段と、
前記ディスクにデータを書き込む前に、そのブロックに対応するフラグをセットする旨を前記キャッシュ手段に通知するとともに、そのデータを稼働中の他のコンピュータすべてに送信してその書き込みを要求し、前記ディスクにデータを書き込んだ後に、他のすべてのコンピュータが稼働中であれば、前記要求したデータの書き込みが完了した旨を稼働中の他のコンピュータすべてから通知されるのを待って、そのブロックに対応するフラグをリセットする旨を前記キャッシュ手段に通知する書き込み処理手段と、
他のコンピュータが障害から復帰したときに、前記フラグ格納手段に格納されたフラグの中のセット状態にあるフラグに対応するブロックのデータを当該他のコンピュータに順次送信するとともに、そのデータの書き込みを完了した旨が当該他のコンピュータから通知されるのを待って、そのフラグをリセットする組み込みコピー手段と
を具備し、
前記キャッシュ手段は、前記フラグ格納手段に格納されたフラグについて、あるフラグをリセットする旨の通知を前記書き込み処理手段から受けた際、当該フラグをリセットする旨の通知を一定時間待機し、前記一定時間を越えて当該フラグをセットする旨の通知を受けなかった場合に、前記不揮発性の記憶装置に対して、前記フラグ格納手段が格納する当該フラグをリセットする旨を通知する手段を有する
ことを特徴とする分散ミラードディスクシステム。
【請求項３】
ネットワークで接続される３台以上のコンピュータそれぞれに備えられたディスクを用いて多重化ディスクを構成する分散ミラードディスクシステムにおいて、
前記各コンピュータは、
前記ディスクの書き込み単位であるブロックそれぞれに対応して他のコンピュータごとに設けられる複数のフラグを格納する、不揮発性の記憶装置に設けられるフラグ格納手段と、
前記フラグ格納手段に格納されたフラグについての前記不揮発性の記憶装置に対するセット／リセット通知を揮発性の記憶装置にて一時的に蓄積するためのキャッシュ手段と、
前記ディスクにデータを書き込む前に、そのブロックに対応するすべてのフラグをセットする旨を前記キャッシュ手段に通知するとともに、そのデータを稼働中の他のコンピュータすべてに送信してその書き込みを要求し、前記ディスクにデータを書き込んだ後に、そのブロックに対応するフラグであって前記要求したデータの書き込みを完了した旨を通知してきた他のコンピュータ用のフラグをリセットする旨を前記キャッシュ手段に通知する書き込み処理手段と、
他のコンピュータが障害から復帰したときに、前記フラグ格納手段に格納された当該他のコンピュータに関するフラグの中のセット状態にあるフラグに対応するブロックのデータを当該他のコンピュータに順次送信するとともに、そのデータの書き込みを完了した旨が当該他のコンピュータから通知されるのを待って、そのフラグをリセットする組み込みコピー手段と
を具備し、
前記キャッシュ手段は、前記フラグ格納手段に格納されたフラグについて、あるフラグをリセットする旨の通知を前記書き込み処理手段から受けた際、当該フラグをリセットする旨の通知を一定時間待機し、前記一定時間を越えて当該フラグをリセットする旨の通知を受けなかった場合に、前記不揮発性の記憶装置に対して、前記フラグ格納手段が格納する当該フラグをリセットする旨を通知する手段を有する
ことを特徴とする分散ミラードディスクシステム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、ネットワークで接続される２台のコンピュータそれぞれに備えられたディスクを用いて２重化ディスクを構成する分散ミラードディスクシステムに係り、特に、いずれかのコンピュータが障害から復帰した際に他のコンピュータから最新のデータをコピーする、いわゆる組み込み処理に費やされる時間を大幅に短縮することを可能とした分散ミラードディスクシステムに関する。
【０００２】
【従来の技術】
データの記憶装置を２重化し、その可用性を高めた装置として、２重化ディスク装置が存在する。一般的な２重化ディスク装置は、図２０に示すように、１台のコントローラ２１と２台のディスク２２とから構成され、一般のディスクと同じようにコンピュータに接続されてデータを保存するために使用される。この２重化ディスク装置では、コンピュータからコントローラ２１に書き込み要求が送られてくると、２台のディスク２２に同じデータが書き込まれる。また、１台のディスク２２が故障し、データの読み書きができなくなった場合には、コントローラ２１が、故障したディスク２２を切り離す。そして、これ以降に送られてきた書き込み要求は、残ったディスク２２だけに書き込まれる。
【０００３】
すなわち、１台のディスク２２が故障しても、それまでに書き込んだデータはすべて保存され、読み出すことが可能である。また、１台のディスク２２が故障しても、引き続きデータの読み書きが可能である。
【０００４】
さらに、故障したディスク２２を交換すると、コントローラ２１がそれを検知し、他のディスク２２からデータをコピーして内容を一致させる。この処理により、再度、２台のディスク２２を持つ構成に戻すことができる。
【０００５】
この２重化ディスク装置を分散システムに応用したのが、分散ミラードディスクシステムである。このシステムは、図２１に示すように、ネットワーク１で接続される２台のコンピュータ２が、それぞれディスク８を持つ構成である。
【０００６】
この分散ミラードディスクシステムでは、いずれかのコンピュータ２で書き込み要求が発生すると、書き込み検知部３がそれを検知し、書き込み処理部４に書き込むべき場所と内容を含んだデータを送る。一方、書き込み処理部４は、もう１台のコンピュータ２の書き込み処理部４にネットワーク１経由でそのデータを送る。そして、２台のコンピュータ２の書き込み処理部４は、そのデータに基づいて、書き込み要求で指示された内容をそれぞれのディスク８に書き込む。これを更新コピーと呼ぶ。
【０００７】
この分散ミラードディスクシステムでは、２台のコンピュータ２を集中管理する、２重化ディスク装置のコントローラ２１にあたる装置を持たない。その代わりに、この分散ミラードディスクシステムは、他のコンピュータ２の状態を監視するために、クラスタマネージャ５を用いる。そして、このクラスタマネージャ５は、次のような場合に、コンピュータ２の障害として検知する。
【０００８】
・ディスク８への書き込み／読み出しに失敗
・コンピュータ２が応答しない（電源が切れている、コンピュータ２が動作していない）
・ネットワーク１が切れている
クラスタマネージャ５によって検出されたコンピュータ２の障害の情報は、ノードマップ６に書き込まれる。書き込み処理部４は、ノードマップ６を参照し、相手のコンピュータ２に障害が発生しているときにはデータを送らなくなる。
【０００９】
また、コンピュータ２が障害から復帰した場合には、その旨をクラスタマネージャ５が検知し、再度システムの一部として動作するための処理、いわゆる組み込み処理を実行するように組み込みコピー処理部７に通知する。そして、組み込みコピー処理部７は、障害の起きていないコンピュータ２が持つ最新のデータを障害から復帰したコンピュータ２の持つディスク８にコピーする。これを組み込みコピーと呼ぶ。この時、同じデータについて更新コピーと組み込みコピーとが同時に動作しないよう、更新コピーは組み込みコピーと排他をとって行なわれることになる。
【００１０】
【発明が解決しようとする課題】
ところで、この分散ミラードディスクシステムでは、組み込みコピーをすべてのデータをコピーすることによって実施していた。したがって、このコピーを行なっている間は、ネットワークやコンピュータに過度な負荷がかかり、また、コピーすべきデータの量が多い場合には、そのコピーが長期化してしまうといった問題があった。
【００１１】
この発明は、このような事情を考慮してなされたものであり、いずれかのコンピュータが障害から復帰した際に他のコンピュータから最新のデータをコピーする、いわゆる組み込み処理に費やされる時間を大幅に短縮することを可能とした分散ミラードディスクシステムを提供することを目的とする。
【００１２】
【課題を解決するための手段】
前述した目的を達成するために、この発明は、ネットワークで接続される２台のコンピュータそれぞれに備えられたディスクを用いて２重化ディスクを構成する分散ミラードディスクシステムにおいて、前記各コンピュータは、前記ディスクの書き込み単位であるブロックそれぞれに対応して設けられる複数のフラグを格納する、不揮発性の記憶装置に設けられるフラグ格納手段と、前記フラグ格納手段に格納されたフラグについての前記不揮発性の記憶装置に対するセット／リセット通知を揮発性の記憶装置にて一時的に蓄積するためのキャッシュ手段と、前記ディスクにデータを書き込む前に、そのブロックに対応するフラグをセットする旨を前記キャッシュ手段に通知するとともに、相手のコンピュータが稼働中であれば、そのデータを相手のコンピュータに送信してその書き込みを要求し、前記ディスクにデータを書き込んだ後に、相手のコンピュータが稼働中であれば、前記要求したデータの書き込みを完了した旨が相手のコンピュータから通知されるのを待って、そのブロックに対応するフラグをリセットする旨を前記キャッシュ手段に通知する書き込み処理手段と、相手のコンピュータが障害から復帰したときに、前記フラグ格納手段に格納されたフラグの中のセット状態にあるフラグに対応するブロックのデータを相手のコンピュータに順次送信するとともに、そのデータの書き込みを完了した旨が相手のコンピュータから通知されるのを待って、そのフラグをリセットする組み込みコピー手段とを具備し、前記キャッシュ手段は、前記フラグ格納手段に格納されたフラグについて、あるフラグをリセットする旨の通知を前記書き込み処理手段から受けた際、当該フラグをリセットする旨の通知を一定時間待機し、前記一定時間を越えて当該フラグをセットする旨の通知を受けなかった場合に、前記不揮発性の記憶装置に対して、前記フラグ格納手段が格納する当該フラグをリセットする旨を通知する手段を有することを特徴とする。
【００１３】
この分散ミラードディスクシステムにおいては、いずれかのコンピュータが障害から復帰した際には、最新のデータを保持するコンピュータのもつフラグが不一致の状態を示すブロックと、その障害から復帰したコンピュータのもつフラグが不一致の状態を示すブロックとをコピーするのみでよいため、いわゆる組み込み処理に費やされる時間を大幅に短縮することを可能とする。
【００１４】
【発明の実施の形態】
以下、図面を参照してこの発明の一実施形態を説明する。
【００１５】
まず、この発明の実施形態に係る分散ミラードディスクシステムが実行する組み込みコピーの基本原理について説明する。
【００１６】
組み込みコピーを行なう理由は、障害から復帰したコンピュータのディスクの内容と、障害の起きていないコンピュータのディスクの内容とを同じにするためである。
【００１７】
コンピュータの障害のうち、ディスクに障害が発生し、新しいディスクと交換した場合は、すべてのデータをコピーする必要がある。一方、コンピュータの処理は停止しても、ディスクの内容がそのまま残っているような場合には、組み込み時に、他のコンピュータと異なっているデータだけをコピーすれば、他のコンピュータの持つデータと一致させることが可能である。そこで、この実施形態の分散ミラードディスクシステムでは、この点を考慮して、組み込み処理に費やされる時間を大幅に短縮するための仕組みを構築する。
【００１８】
しかしながら、単純に、コンピュータが停止している間に変更されたデータの位置情報を別のコンピュータで記憶しておき、再開した時にそのデータをコピーする方法では、すべてのデータを一致させることができない場合がある。具体的には、あるコンピュータのデータが更新され、そのデータを他のコンピュータにコピーする前に、データが更新されたコンピュータが停止してしまった場合である。この場合、データが更新されたコンピュータの持つデータと他のコンピュータの持つデータは異なっているが、データが更新された時点ではすべてのコンピュータが動作していたので、データが異なっているという情報は記憶されず、組み込みコピーでデータを一致させることができなくなってしまう。
【００１９】
ここで、図１を参照して、この実施形態の分散ミラードディスクシステムにおいて組み込みコピーを行うデータの条件を説明する。図１中、横軸は時間の流れを表し、縦軸はコンピュータの状態を表す。
【００２０】
いま、コンピュータ１，２があり、１が停止、再開したとする。このとき組み込みコピーするデータの条件は、
（条件１）コンピュータ１のデータで、変更されたがコンピュータ２にはコピーされなかったデータ
（条件２）コンピュータ２のデータで、変更されたがコンピュータ１にはコピーされなかったデータ
の２種類である。
【００２１】
この２種類のデータを記憶するために、この実施形態の分散ミラードディスクシステムでは、ディスク内をデータブロックに分割し、各データブロックに対応するフラグを記憶する。（条件１）のデータを記憶するには、データを書き込む前にフラグをセットする必要がある。なぜなら、データを書き込んでいる間にコンピュータ１が停止した場合、このデータはコンピュータ２のデータとは異なっており、組み込みコピーをしなければならないためである。また、書き込みが終了し、コンピュータ２へのコピーが終了したら、データは一致しているため、フラグをリセットする。
【００２２】
一方、（条件２）のデータを記憶するには、コピーが完了しなかったデータブロックに対応するフラグをセットすればよい。また、（条件１）と同様、書き込む前にフラグをセットし、書き込みが完了したらリセットするという手順でも、結果は同じとなる。
【００２３】
このように、データを書き込む前にフラグをセットし、書き込みが完了したらリセットする、という処理を行なうことにより、（条件１）および（条件２）の両方のデータを記憶することができる。
【００２４】
次に、フラグをどこで記憶するかを考える。２重化ディスク装置では、コントローラという、どちらのディスクが停止しても常に動作しているという前提の装置があるために、フラグをコントローラで記憶しておくことにすれば問題はないが、分散システムでは、コンピュータが停止する可能性があるため、フラグを記憶する場所が重要な意味を持つ。
【００２５】
コンピュータの記憶装置には、コンピュータが停止しても情報を保持しているものと、コンピュータが停止すると情報が消えてしまうものとの２種類が存在する。前者を不揮発性の記憶装置、後者を揮発性の記憶装置と呼ぶことにする。また、不揮発性の記憶装置にあるフラグを不揮発性のフラグ、揮発性の記憶装置にあるフラグを揮発性のフラグと呼ぶことにする。つまり、コンピュータが停止したとき、揮発性のフラグの内容は消えてしまうことになる。
【００２６】
代表的な不揮発性の記憶装置である磁気ディスク装置は、同じく代表的な揮発性の記憶装置であるメモリ（ＲＡＭ）と比較して、データの読み書き速度が遅いため、以下では、前述した組み込みコピーの基本原理と合わせて、不揮発性の記憶装置を使わない方法や、不揮発性の記憶装置と揮発性の記憶装置を組み合わせることによって内容を変更する時間を短くする方法など、種々の方法について各実施形態ごとに説明する。
【００２７】
（第１実施形態）
図２は、この発明の第１実施形態に係わる分散ミラードディスクシステムの構成を示す図である。
【００２８】
図２に示すように、この分散ミラードディスクシステムは、２台のコンピュータ２が、ネットワーク１によって接続されている。また、各コンピュータは、揮発性のフラグ１２を持ち、ディスク８に記憶されているデータ９は、データブロック１４という複数の領域に分割されている。そして、フラグ１２とこのデータブロック１４は１対１に対応している。
【００２９】
各コンピュータでは、クラスタマネージャ５が動作する。クラスタマネージャ５は、互いに通信することによって相手のコンピュータ２の停止、復旧を検知することができる。また、クラスタマネージャ５は、ノードマップ６を持ち、このノードマップ６にコンピュータ２の障害の情報を記録する。
【００３０】
また、各コンピュータは、組み込みコピー制御部７を持つ。組み込みコピー制御部７は、クラスタマネージャ５から組み込みコピー開始通知を受け取ると、ノードマップ６およびフラグ１２を参照して、組み込みコピーを行なうデータブロック１４を決定し、２台の組み込みコピー制御部７間でそのデータのコピーを実行させる。そして、フラグ１２を１つずつ参照する際に、いくつ目のフラグ１２までを処理したかを記憶するため、フラグカウンタ１３を用いる。
【００３１】
さらに、各コンピュータ２は、不揮発性の記憶領域中に、フラグ１２を退避するためのフラグ待避領域１６を持つ。
【００３２】
（更新コピー）
まず、この分散ミラードディスクシステムにおける更新コピー時の動作を説明する。なお、ここでは、書き込み要求が発生した側を更新コピー元、もう１台を更新コピー先と呼ぶことにする。
【００３３】
この更新コピー元のコンピュータの処理を図３に、更新コピー先のコンピュータの処理を図４に示す。
【００３４】
書き込み要求が送られてくると、書き込み検知部３がそれを検知し、書き込み前処理部１０に書き込むべき場所と内容とを含んだデータを送る。一方、書き込み前処理部１０は、書き込むべき場所の情報から、変更するデータブロック１４に対応するフラグ１２を決定する。そして、ノードマップ６を参照して、相手のコンピュータが動作しているかどうかを確認する（図３のステップＡ１）。
【００３５】
相手のコンピュータ２が停止している場合（図３のステップＡ１のＮＯ）、書き込み前処理部１０は、フラグ１２をセットし（図３のステップＡ１１）、書き込み処理部４に書き込み検知部３から受け取ったデータを送る。書き込み処理部４は、ディスク８に書き込みを行ない（図３のステップＡ１２）、書き込み後処理部１１に書き込み終了通知を送る。この場合、書き込み後処理部１１は何もせず、更新コピーは終了する。
【００３６】
相手のコンピュータ２が動作している場合（図３のステップＡ１のＹＥＳ）、書き込み前処理部１０は、フラグセット通知を相手のコンピュータ２に送り（図３のステップＡ２）、自分のフラグ１２をセットする（図３のステップＡ３）。ここで、書き込み前処理部１０は、フラグセット完了通知を待機し（図３のステップＡ４）、受け取ったら、書き込み検知部３から受け取ったデータを書き込み処理部４に送信する。
【００３７】
書き込み処理部４は、相手のコンピュータ２にそのデータを送り（図３のステップＡ５）、自分のディスク８に書き込みを行なう（図３のステップＡ６）。書き込み処理部４は、書き込み完了通知を待機し（図３のステップＡ７）、受け取ったら、書き込み後処理部１１に書き込み終了を通知する。
【００３８】
そして、書き込み後処理部１１は、相手のコンピュータ２にフラグリセット通知を送り（図３のステップＡ８）、自分のフラグ１２をリセットする（図３のステップＡ９）。そして、フラグリセット完了通知を待機し（図３のステップＡ１０）、受け取ったら、更新コピーの処理を終了する。
【００３９】
一方、フラグセット通知を受け取った場合、書き込み前処理部１０は、フラグ１２をセットし（図４のステップＢ１）、フラグセット完了通知を返送して（図４のステップＢ２）、書き込み要求を待機する（図４のステップＢ３）。
【００４０】
また、データを受け取ると、書き込み処理部４は、ディスク８に書き込みを行ない（図４のステップＢ４）、書き込み完了通知を返送して（図４のステップＢ５）、フラグリセット通知を待機する（図４のステップＢ６）。
【００４１】
そして、フラグリセット通知を受け取ると、書き込み後処理部１１は、フラグ１２をリセットして（図４のステップＢ７）、フラグリセット完了通知を返送する（図４のステップＢ８）。
【００４２】
（組み込みコピー）
次に、この分散ミラードディスクシステムにおける組み込みコピー時の動作を説明する。なお、ここでは、障害から復帰した側を組み込みコピー先、もう１台を組み込みコピー元と呼ぶことにする。組み込みコピー元が主導のコピー処理を図５に、組み込みコピー先が主導のコピー処理を図６に示す。
【００４３】
組み込みコピー元において、クラスタマネージャ５から組み込みコピー開始の通知を受け取ると、組み込みコピー制御部７は、まず、フラグカウンタ１３を０にする（ステップＣ１）。そして、組み込みコピー制御部７は、フラグカウンタ１３がフラグ１２の数を越えるまで（図５のステップＣ２のＹＥＳ）、このフラグカウンタ１３を１つずつ増やしながら（図５のステップＣ７）、フラグ１２の状態を１つずつ読み込み、以下の処理を繰り返す。
【００４４】
フラグ１２の状態を読み込んだとき、その状態がリセットであれば（図５のステップＣ３のＮＯ）、組み込みコピー制御部７は何もしない。一方、フラグ１２の状態がセットであった場合（図５のステップＣ３のＹＥＳ）、組み込みコピー制御部７は、そのフラグ１２に対応するデータブロック１４の位置情報と内容とを含んだデータを相手のコンピュータに送信し（図５のステップＣ４）、完了通知を待機する（図５のステップＣ５）。そして、完了通知を受け取ったら、組み込みコピー制御部７は、フラグ１２をリセットする（図５のステップＣ６）。
【００４５】
一方、組み込みコピー先において、データブロック１４の位置情報と内容とを含んだデータを受け取った場合は（図５のステップＤ１）、組み込みコピー制御部７は、ディスク８に書き込みを行ない（図５のステップＤ２）、完了通知を返して（図５のステップＤ３）、フラグ１２をリセットする（図５のステップＤ４）。
【００４６】
また、組み込みコピー先においても、クラスタマネージャ５から組み込みコピー開始の通知を受け取ると、同様に、組み込みコピー制御部７は、フラグカウンタ１３を０にした後（図６のステップＥ１）、フラグカウンタ１３がフラグ１２の数を越えるまで（図６のステップＥ２のＹＥＳ）、このフラグカウンタ１３を１つずつ増やしながら（図６のステップＥ９）、フラグ１２の状態を１つずつ読み込み、以下の処理を繰り返す。
【００４７】
フラグ１２の状態を読み込んだとき、その状態がリセットであれば（図６のステップＥ３のＮＯ）、組み込みコピー制御部７は何もしない。一方、フラグ１２の状態がセットであった場合（図６のステップＥ３のＹＥＳ）、組み込みコピー制御部７は、相手のコンピュータ２に対し、コピーすべきデータブロック１４の情報を含んだ組み込みコピー要求を送る（図６のステップＥ４）。
【００４８】
そして、このデータを受信すると（図６のステップＥ５）、組み込みコピー制御部７は、そのデータをディスク８に書き込み（図６のステップＥ６）、完了通知を返送した後（図６のステップＥ７）、そのフラグ１２をリセットする（図６のステップＥ８）。
【００４９】
一方、組み込みコピー元において、組み込みコピー要求を受け取った場合、組み込みコピー制御部７は、相手のコンピュータ２に対し、その組み込みコピー要求で指定されたデータブロック１４の内容を含んだデータを送信する（図６のステップＦ１）。そして、組み込みコピー制御部７は、完了通知を待機し（図６のステップＦ２）、受け取ったら、そのデータブロック１４に対応するフラグ１２をリセットする（図６のステップＦ３）。
【００５０】
なお、この組み込みコピーと前述した更新コピーとは、従来技術と同様、同時に同じデータブロック１４に対して行わないようにする。
【００５１】
（全体停止）
この分散ミラードディスクシステムでは、揮発性のフラグ１２を使っているため、２台のコンピュータ２が両方とも停止してしまった場合は、フラグ１２の内容がすべて消えてしまう。
【００５２】
２台のコンピュータ２が両方とも停止するのは、２台のコンピュータ２が両方とも障害を起こして停止する場合の他に、コンピュータ２は正常に動作しているが、停電やメンテナンス等でシステム全体を停止する場合がある。そして、この分散ミラードディスクシステムは、後者について、次のようにして、組み込みコピーにかかる時間を短縮する。
【００５３】
コンピュータ２を停止する際、フラグ待避制御部１５は、フラグ１２の状態をすべてフラグ待避領域１６にコピーするとともに、正常停止したという情報をフラグ待避領域１６に記憶する。また、コンピュータ２が起動されると、フラグ待避制御部１５は、フラグ待避領域１６を参照し、前回正常に停止したかどうかを確認する。そして、正常停止したという情報がフラグ待避領域１６にあれば、フラグ待避制御部１５は、フラグ待避領域の状態をフラグにコピーする。この仕組みによって、システムを停止するときにもフラグ１２を利用することができ、組み込みコピーにかかる時間を短縮することができる。
【００５４】
ただし、この方法は、コンピュータ２の障害のときには利用できない。コンピュータ２に障害が発生している状態では、フラグ待避制御部１５が正常に動作する保証ができないためである。したがって、コンピュータ２が２台とも障害を起こして停止した場合には、すべてのデータブロック１４を組み込みコピーする必要がある。
【００５５】
（処理の中断）
ところで、前述した更新コピーや組み込みコピーの途中で、コンピュータ２が停止することもあり得る。そのような場合でも、この分散ミラードディスクシステムでは、フラグ１２が正しくセットされ、停止したコンピュータ２が再開したときには組み込みコピーが行なわれることを説明する。
【００５６】
まず、更新コピーの途中でコンピュータ２が停止する場合について説明する。更新コピーのフラグ１２の変化とデータの変化の順序とを考えると、２台のコンピュータ２のフラグ１２が両方ともがセット状態になるまで書き込みは行なわれない。また、２台のコンピュータ２の書き込みが両方とも完了するまでは、どちらのフラグ１２もリセットされない。よって、どちらかのコンピュータ２でデータを書き込んでいる間に、どちらかのコンピュータ２が停止した場合は、必ずもう一台の停止していないコンピュータ２のフラグ１２がセット状態になり、停止したコンピュータ２が復帰した際には組み込みコピーが行なわれる。
【００５７】
一方、組み込みコピーは、組み込みコピー元のフラグ１２がセットでないと開始されない。また、フラグ１２はリセットされないので、組み込みコピー先のコンピュータ２が停止しても問題は発生しない。しかしながら、組み込みコピー元のコンピュータ２が停止した場合には、２台のコンピュータ２が両方とも障害で停止した場合と同様に、フラグ情報が消えてしまう。組み込みコピーがすべて終わらないうちに組み込みコピー元のコンピュータ２が停止した場合には、２台とも障害で停止したときと同様に、再開時にはすべてのデータを組み込みコピーする必要がある。
【００５８】
以上のように、この第１実施形態の分散ミラードディスクシステムでは、揮発性の記憶領域にフラグを置くことにより、低速な不揮発性の記憶装置を用いることなく組み込みコピーにかかる時間を短縮できる。
【００５９】
また、正常に停止する場合には、フラグを不揮発性の記憶領域に待避することにより、２台のコンピュータが両方停止する場合でも、組み込みコピーにかかる時間を短縮できる。
【００６０】
（第２実施形態）
次に、この発明の第２実施形態を説明する。図７は、この第２実施形態に係わる分散ミラードディスクシステムの構成を示す図である。
【００６１】
前述した第１実施形態とこの第２実施形態との違いは、図７に示すように、フラグ１２が不揮発性の記憶領域にあり、揮発性の記憶領域に、フラグ１２のセット／リセットを高速化するためのフラグキャッシュ１７がある点にある。
【００６２】
（更新コピー）
まず、この第２実施形態の分散ミラードディスクシステムにおける更新コピー時の動作を説明する。更新コピー元のコンピュータの処理を図８に、更新コピー先のコンピュータの処理を図９に示す。
【００６３】
書き込み処理部４は、書き込み要求を解析し、変更するデータブロック１４に対応するフラグ１２を決定し、フラグキャッシュ１７にセット要求を送る。キャッシュへのセット要求が完了したら、ノードマップ６を参照し、相手のコンピュータ２が動作しているか停止しているかを確認する（図８のステップＧ１）。
【００６４】
相手のコンピュータが停止している場合（図８のステップＧ１のＮＯ）、書き込み処理部４は、フラグキャッシュ１７にフラグセット通知を送信し（図８のステップＧ９）、フラグキャッシュ１７からの完了通知を待機する（図８のステップＧ１０）。そして、完了通知を受け取ると、書き込み処理部４は、ディスク８に書き込みを行ない（図８のステップＧ１０）、書き込み後処理部１１に書き込み終了通知を送る。この場合、書き込み後処理部１１は何もせず、更新コピーは終了する。
【００６５】
相手のコンピュータが動作している場合（図８のステップＧ１のＹＥＳ）、書き込み処理部４は、フラグキャッシュ１７にフラグセット通知を送信し（図８のステップＧ２）、フラグキャッシュ１７からの完了通知を待機する（図８のステップＧ３）。そして、完了通知を受け取ると、書き込み処理部４は、相手のコンピュータ２に書き込み通知を送り（図８のステップＧ４）、自分のディスク８に書き込みを行なう（図８のステップＧ５）。書き込み処理部４は、書き込み完了通知を待機し（図８のステップＧ６）、受け取ったら、フラグキャッシュ１７にリセット要求を送り（図８のステップＧ７）、フラグキャッシュ１７からの完了通知を待機する（図８のステップＧ８）。そして、完了通知を受け取ると、書き込み処理部４は、更新コピーの処理を終了する。
【００６６】
一方、書き込み要求を受け取った場合、書き込み処理部４は、ディスク８に書き込みを行ない（図９のステップＨ１）、書き込み完了通知を返す（図９のステップＨ２）。
【００６７】
ところで、不揮発性の記憶装置は、揮発性の記憶装置に比べ、データの変更に時間がかかる場合がある。そこで、この第２実施形態の分散ミラードディスクシステムでは、フラグキャッシュ１７を用いることにより、フラグ１２のセット／リセット要求を高速に処理するように工夫している。
【００６８】
図１０は、フラグキャッシュ１７の構成図である。図１０に示すように、フラグキャッシュ１７は、フラグ制御部１７１がセット／リセット通知を受け取り、フラグ１２に対してセット／リセット通知を送る。図１１を参照して、このフラグキャッシュ１７の動作を説明する。
【００６９】
リセット通知が送られてきた場合は（図１１のステップＪ１のＹＥＳ）、完了を返した後（図１１のステップＪ２）、フラグ１２を参照し（図１１のステップＪ３）、リセット状態ならは（図１１のステップＪ３のＹＥＳ）、何もせずに終了する。一方、セット状態ならば（図１１のステップＪ３のＮＯ）、セット通知が来るのを一定の時間待つために、セット通知待機状態に設定する（図１１のステップＪ４）。
【００７０】
一方、セット通知がきた場合には（図１１のステップＪ１のＮＯ，ステップＪ５のＹＥＳ）、完了を返した後（図１１のステップＪ６）、フラグ１２を参照し（図１１のステップＪ７）、セット状態であれば（図１１のステップＪ７のＹＥＳ）、何もせずに終了する。一方、リセット状態ならば（図１１のステップＪ７のＮＯ）、フラグ１２をセットし（図１１のステップＪ８）、セット通知待機状態であれば（図１１のステップＪ９）、そのセット通知待機状態を解除する（図１１のステップＪ１０）。
【００７１】
一方、セット通知待機状態のまま一定時間経過したとき（図１１のステップＪ１のＮＯ，ステップＪ５のＮＯ，ステップＪ１１のＹＥＳ，ステップＪ１２のＹＥＳ）、フラグ１２をリセットし（図１１のステップＪ１３）、そのセット通知待機状態を解除する（図１１のステップＪ１４）。
【００７２】
つまり、このフラグキャッシュ１７によれば、フラグ１２のセット／リセットを頻繁に繰り返す場合、フラグ１２はセット状態のまま変更されないため、不揮発性の記憶領域であるフラグ１２が変更されず、フラグキャッシュ１７に対するセット要求／リセット要求はすぐに完了する。より具体的には、このフラグキャッシュ１７は、セット通知がきたときは必ずフラグ１２をセットするが、リセット通知が来ても一定時間はフラグ１２をリセットしないことにより、フラグ１２の変更回数を減らす効果がある。リセット通知が来たデータブロック１４は、組み込みコピーを行なう必要がなくなったことを意味しているので、このフラグキャッシュ１７を用いることによって、組み込みコピーを行なうデータブロック１４は増える。その代わり、通常の更新コピー時に行なわなければならないフラグキャッシュ１７のセット／リセットの性能を上げることができる。
【００７３】
（組み込みコピー）
組み込みコピーの方法は、前述した第１実施形態と基本的には同じだが、フラグ１２の参照およびリセット方法のみ異なる。フラグ１２の参照は、直接フラグ１２から行ない、コピーが終了してフラグ１２をリセットするときは、フラグキャッシュ１７に対してリセット要求を送る。
【００７４】
（全体停止）
この第２実施形態では、不揮発のフラグ１２を使っているため、２台のコンピュータ２が両方とも停止してしまった場合でも、フラグ１２の内容が保持されている。したがって、第１実施形態とは異なり、２台のコンピュータ２が障害で停止した場合でも、フラグ１２の内容は消えないため、２台とも再開したときの組み込みコピーにかかる時間を短縮することができる。
【００７５】
以上のように、この第２実施形態の分散ミラードディスクシステムでは、不揮発性のフラグを使うことにより、２台のコンピュータが同時に停止した場合においても、組み込みコピーにかかる時間を短縮することができる。
【００７６】
また、不揮発性の記憶装置は揮発性の記憶装置に比べて、内容の変更に時間がかかることが多いが、揮発性の記憶装置を使ったフラグキャッシュを用いることにより、フラグの変更にかかる時間を短縮することができる。
【００７７】
（第３実施形態）
次に、この発明の第３実施形態を説明する。図１２は、この第３実施形態に係わる分散ミラードディスクシステムの構成を示す図である。
【００７８】
前述した第１実施形態では、２台のコンピュータ２でミラードディスクを構成したが、この第２実施形態では、これをＮ台（３台以上）に拡張する。
【００７９】
書き込み前処理部１０、書き込み処理部４、書き込み後処理部１１、クラスタマネージャ５および組み込みコピー制御部７は、第１実施形態では１対１で通信を行なっていたが、この第２実施形態では、Ｎ台で相互に通信を行なう。
【００８０】
また、第１実施形態では、組み込みコピーが行なわれるときは、必ず２台のコンピュータ２が動作していたが、この第２実施形態では、組み込みコピーのときに必ずしもすべてのコンピュータが動作しているとは限らない。そのため、組み込みコピー制御部７がノードマップ６を参照する必要がある。
【００８１】
フラグ１２の構成は、第１実施形態と同様、データブロック１４と１対１である。そして、すべてのコンピュータ２の持つデータが同じであればリセット、１台でもデータの違うコンピュータ２があればセットとなるように制御を行なう。具体的な方法を以下に述べる。
【００８２】
（更新コピー）
いずれかのコンピュータ２の持つディスク８に対して書き込み要求が行なわれた場合、残りのコンピュータ２にも書き込みが行なわれる。ここでは、書き込み要求を受け取ったコンピュータ２を更新コピー元のコンピュータ、残りのＮ−１台のコンピュータ２を更新コピー先のコンピュータと呼ぶことにする。
【００８３】
更新コピー元のコンピュータの処理を図１３に、更新コピー先のコンピュータの処理を図１４に示す。
【００８４】
書き込み前処理部１０は、書き込み要求を解析し、変更するデータブロック１４に対応するフラグ１２を決定する。また、書き込み前処理部１０は、ノードマップ６を参照し（図１３のステップＫ１）、更新コピー先のコンピュータが動作しているか停止しているかを確認する。そして、書き込み前処理部１０は、動作している更新コピー先のコンピュータすべてにフラグセット通知を送り（図１３のステップＫ２）、自分のフラグ１２をセットする（図１３のステップＫ３）。ここで、書き込み前処理部１０は、フラグセット完了通知を待機し（図１３のステップＫ４）、そして、動作しているすべてのコンピュータ２からフラグセット完了通知を受け取ったら、書き込み処理部４に書き込み通知を送る。
【００８５】
また、書き込み処理部４は、動作しているすべての更新コピー先へ書き込み通知を送り（図１３のステップＫ５）、自分のディスク８に書き込みを行なう（図１３のステップＫ６）。書き込み処理部４は、書き込み完了通知を待機し（図１３のステップＫ７）、動作しているすべてのコンピュータから書き込み完了通知を受け取ったら、書き込み後処理部１１に書き込み終了を通知する。
【００８６】
書き込み後処理部１１は、システムのすべてのコンピュータ２が動作しているかどうかを調べ（図１３のステップＫ８）、すべてのコンピュータ２が動作している場合には（図１３のステップＫ８のＹＥＳ）、すべての更新コピー先へフラグリセット通知を送り（図１３のステップＫ９）、自分のフラグ１２をリセットする（図１３のステップＫ１０）。書き込み後処理部１１は、フラグリセット完了通知を待機し（図１３のステップＫ１１）、受け取ったら、更新コピーの処理を終了する。
【００８７】
また、動作していないコンピュータがあった場合には（図１３のステップＫ８のＮＯ）、書き込み後処理部１１は、動作しているすべての更新コピー先へ終了通知を送り（図１３のステップＫ１３）、終了確認通知を待機して（図１３のステップＫ１４）、受け取ったら、この更新コピーの処理を終了する。つまり、この場合は、フラグ１２のリセットは行わない。
【００８８】
一方、フラグセット通知を受け取った場合、書き込み前処理部１０は、フラグ１２をセットし（図１４のステップＬ１）、フラグセット完了通知を返して（図１４のステップＬ２）、書き込み要求を待機する（図１４のステップＬ３）。
【００８９】
また、書き込み要求を受け取ると、書き込み処理部４は、ディスク８に書き込みを行ない（図１４のステップＬ４）、書き込み完了通知を返す（図１４のステップＬ５）。そして、書き込み後処理部１１は、フラッグリセット通知または終了通知を待機し（図１４のステップＬ６）、フラグリセット完了通知を受け取ったら（図１４のステップＬ７のＹＥＳ）、フラグ１２をリセットし（図１４のステップＬ８）、フラグリセット完了通知を返す（図１４のステップＬ９）。
【００９０】
また、終了通知を受け取ったら（図１４のステップＬ７のＮＯ）、終了確認通知を返す（図１４のステップＬ１０）。
【００９１】
（組み込みコピー）
ここでは、組み込まれる側（停止し再開した側）を組み込みコピー先、残りのＮ−１台を組み込みコピー元と呼ぶことにする。組み込みコピー元が主導のコピー処理を図１５および図１６に、組み込みコピー先が主導のコピー処理を図１７および図１８に示す。
【００９２】
組み込みコピー元において、クラスタマネージャ５から組み込みコピー開始の通知を受け取ると、組み込みコピー制御部７は、まず、フラグカウンタ１３を０にする（図１５のステップＭ１）。そして、組み込みコピー制御部７は、フラグカウンタ１３がフラグ１２の数を越えるまで（図１５のステップＭ２）、このフラグカウンタ１３を１つずつ増やしながら（図１５のステップＭ１２）、フラグ１２の状態を１つずつ読み込み、以下の処理を繰り返す。
【００９３】
フラグ１２の状態を読み込んだとき、その状態がリセットであれば（図１５のステップＭ３のＮＯ）、組み込みコピー制御部７は何もしない。一方、フラグ１２の状態がセットであった場合（図１５のステップＭ３のＹＥＳ）、組み込みコピー制御部７は、ノードマップ６を参照し（図１５のステップＭ４）、自分を除く動作しているすべての組み込みコピー元と組み込みコピー先のコンピュータとにデータを送信する（図１５のステップＭ５）。
【００９４】
組み込みコピー制御部７は、完了通知を待機し、すべてのコンピュータから完了通知を受け取ったら（図１５のステップＭ６のＹＥＳ）、すべてのコンピュータにフラグリセット通知を送信するとともに（図１５のステップＭ７）、自分のフラグ１２をリセットし（図１５のステップＭ８）、フラグリセット完了通知を待機する（図１５のステップＭ９）。一方、いずれかのコンピュータから完了通知がなければ（図１５のステップＭ６のＮＯ）、組み込みコピー制御部７は、動作しているすべてのコンピュータに終了通知を送信して（図１５のステップＭ１０）、終了確認通知を待機する（図１５のステップＭ１１）。
【００９５】
一方、組み込みコピー先において、データを受信すると（図１６のステップＮ１）、組み込みコピー制御部７は、ディスク８に書き込みを行い（図１６のステップＮ２）、書き込み完了通知を返送して（図１６のステップＮ３）、フラグリセット通知または終了通知を待機する（図１６のステップＮ４）。
【００９６】
フラグリセット通知を受信した場合（図１６のステップＮ５のＹＥＳ）、組み込みコピー制御部７は、フラグ１２をリセットし（図１６のステップＮ６）、フラグリセット完了通知を送信する（図１６のステップＮ７）。一方、終了確認通知であれば（図１６のステップＮ５のＮＯ）、組み込みコピー制御部７は、終了確認通知を送信する（図１６のステップＮ８）。
【００９７】
また、組み込みコピー先においても、クラスタマネージャ５から組み込みコピー開始の通知を受け取ると、同様に、組み込みコピー制御部７は、フラグカウンタ１３を０にした後（図１７のステップＰ１）、フラグカウンタ１３がフラグ１２の数を越えるまで（図１７のステップＰ２のＹＥＳ）、このフラグカウンタ１３を１つずつ増やしながら（図１７のステップＰ６）、フラグ１２の状態を１つずつ読み込み、以下の処理を繰り返す。
【００９８】
フラグ１２の状態を読み込んだとき、その状態がリセットであれば（図１７のステップＰ３のＮＯ）、組み込みコピー制御部７は何もしない。一方、フラグ１２の状態がセットであった場合（図１７のステップＰ３のＹＥＳ）、組み込みコピー制御部７は、ノードマップ６を参照し（図１７のステップＰ４）動作している任意のコンピュータにコピー要求を送信する（図１７のステップＰ６）。
【００９９】
一方、組み込みコピー元において、組み込みコピー要求を受け取ると（図１８のステップＱ１）、組み込みコピー制御部７は、ノードマップ６を参照し（図１８のステップＱ２）、動作しているすべての組み込みコピー元と、組み込みコピー先にデータを送信する（図１８のステップＱ３）。そして、組み込みコピー制御部７は、完了通知を待機し、すべてのコンピュータから書き込み完了通知が返ってきたら（図１８のステップＱ４のＹＥＳ）、今度は、すべてのコンピュータにフラグリセット通知を送信する（図１８のステップＱ５）。そして、自分のフラグ１２をリセットし（図１８のステップＱ６）、フラグリセット完了通知を待機する（図１８のステップＱ７）。また、いずれかのコンピュータから書き込み完了通知が返ってこなければ（図１８のステップＱ４のＮＯ）、動作しているすべてのコンピュータに終了通知を送信して（図１８のステップＱ８）、終了確認通知を待機する（図１８のステップＱ９）。
【０１００】
以上のように、この第３実施形態の分散ミラードディスクシステムでは、３台以上のシステムにおいても、第１実施形態で示した２台のシステムと同様に、組み込みコピーにかかる時間を短縮することを可能とする。
【０１０１】
（第４実施形態）
次に、この発明の第４実施形態を説明する。この第４実施形態の分散ミラードディスクシステムでは、第３実施形態のフラグ１２を拡張したものであり、図１９に示したように、Ｎ台構成のシステムにおいて、１つのデータブロック１４にＮ−１個のフラグ１２を対応させる。そして、このフラグ１２を、自分の持つデータと異なるデータを持つコンピュータについてはセット、同じデータを持つコンピュータについてはリセットとなるように制御する。
【０１０２】
（更新コピー）
第３実施形態との違いは、書き込み完了通知を受け取った後の動作にある。より具体的には、フラグリセット通知または終了通知を送るのではなく、どのコンピュータ２が書き込み完了を返してきたかという情報を、動作しているすべてのマシンに送り、書き込み完了を返してきたコンピュータ２のフラグ１２をリセットする。その他のマシンも、受け取った情報をもとに、書き込み完了を返してきたコンピュータ２のフラグ１２をリセットする。
【０１０３】
（組み込みコピー）
第３実施形態との違いは、すべての組み込み元マシンと組み込みコピーをする必要はなく、動作しているコンピュータ２で、フラグ１２がセットされているコンピュータ２とだけ組み込みコピーを行なえばよいという点にある。コピーが完了したら、対応するコンピュータ２のフラグ１２だけをリセットする。
【０１０４】
この第４実施形態では、フラグ１２を拡張し、自分の持つデータが他のどのコンピュータ２のデータと異なっているかを保持するようにしたため、２台以上のコンピュータ２が停止した場合に、不必要な組み込みコピーを行なわなくて済むようになる。
【０１０５】
（第５実施形態）
次に、この発明の第５実施形態を説明する。この第５実施形態の分散ミラードディスクシステムでは、第３実施形態のフラグ１２を不揮発性にする。この第５実施形態と第３実施形態との違いは、フラグ１２が揮発性であるか不揮発性であるかという点だけであるので、第１実施形態と第２実施形態との違いと同じである。
【０１０６】
（更新コピー）
第３実施形態との違いは、書き込み処理の前に、フラグセット通知およびフラグセット完了通知のやり取りを行なわず、自分の持つフラグ１２をセットするだけである点にある。
【０１０７】
フラグ１２のリセットは、第３実施形態と同様に、システムのすべてのコンピュータ２から書き込み完了が来たかどうかを確認し、すべてのコンピュータ２から書き込み完了が来た場合のみリセット動作を行なう。
【０１０８】
（組み込みコピー）
組み込みコピーの方法は、第３実施形態と同じだが、フラグ１２の参照およびリセット方法のみ異なる。フラグ１２の参照は、直接フラグ１２から行ない、コピーが終了してフラグ１２をリセットするときは、フラグキャッシュ１７に対してリセット要求を送る。
【０１０９】
この第５実施形態の分散ミラードディスクシステムでは、第３実施形態の効果に加えて、すべてのコンピュータが同時に停止した場合においても、組み込みコピーにかかる時間を短縮することができる。
【０１１０】
また、不揮発性の記憶装置は、揮発性の記憶装置に比べて内容の変更に時間がかかることが多いが、揮発性の記憶装置を使ったフラグキャッシュ１７を用いることにより、フラグ１２の変更にかかる時間を短縮することができる。
【０１１１】
（第６実施形態）
次に、この発明の第６実施形態を説明する。この第６実施形態の分散ミラードディスクシステムでは、第４実施形態のフラグ１２を不揮発性にする。この第６実施形態と第４実施形態との違いは、フラグ１２が揮発性であるか不揮発性であるかという点だけであるので、第１実施形態と第２実施形態との違いと同じである。
【０１１２】
（更新コピー）
第４実施形態との違いは、書き込み処理の前に、フラグセット通知およびフラグセット完了通知のやり取りを行なわず、自分の持つフラグ１２をセットするだけである点にある。
【０１１３】
フラグ１２のリセットは、第４実施形態と同様に、すべての組み込み元マシンと組み込みコピーをする必要はなく、動作しているコンピュータ２で、フラグ１２がセットされているコンピュータ２とだけ組み込みコピーを行なう。データの書き込みが終了したら、対応するコンピュータ２のフラグ１２だけをリセットする。
【０１１４】
（組み込みコピー）
組み込みコピーの方法は、第３実施形態と同じだが、フラグ１２の参照およびリセット方法のみ異なる。フラグ１２の参照は、直接フラグ１２から行ない、コピーが終了してフラグをリセットするときは、フラグキャッシュ１７に対してリセット要求を送る。
【０１１５】
この第６実施形態の分散ミラードディスクシステムでは、第４実施形態の効果に加えて、すべてのコンピュータが同時に停止した場合においても、組み込みコピーにかかる時間を短縮することができる。
【０１１６】
また、不揮発性の記憶装置は、揮発性の記憶装置に比べて内容の変更に時間がかかることが多いが、揮発性の記憶装置を使ったフラグキャッシュ１７を用いることにより、フラグ１２の変更にかかる時間を短縮することができる。
【０１１７】
なお、本発明は、上記実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。更に、上記実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適宜な組み合わせにより種々の発明が抽出され得る。例えば、実施形態に示される全構成要件から幾つかの構成要件が削除されても、発明が解決しようとする課題の欄で述べた課題が解決でき、発明の効果の欄で述べられている効果が得られる場合には、この構成要件が削除された構成が発明として抽出され得る。
【０１１８】
【発明の効果】
以上、詳述したように、この発明によれば、多重化を構成するディスクをもつコンピュータそれぞれが、ディスクの書き込み単位であるブロックそれぞれに対応して設けられる複数のフラグを保持し、データの書き込み処理の前後に、他のコンピュータと同期して、対応するフラグのセットおよびリセットを行うことにより、あるコンピュータのディスクには書き込まれたが、あるコンピュータのディスクには書き込まれていないといった不一致の状態にあるブロックをこのフラグにより管理するようにしたことから、いずれかのコンピュータが障害から復帰した際には、最新のデータを保持するコンピュータのもつフラグが不一致の状態を示すブロックと、その障害から復帰したコンピュータのもつフラグが不一致の状態を示すブロックとをコピーするのみでよいため、いわゆる組み込み処理に費やされる時間を大幅に短縮することを可能とする。
【図面の簡単な説明】
【図１】この発明の実施形態の分散ミラードディスクシステムにおいて組み込みコピーを行うデータの条件を説明するための図。
【図２】同第１実施形態の分散ミラードディスクシステムの構成を示す図。
【図３】同第１実施形態の分散ミラードディスクシステムの更新コピー元のコンピュータの処理を示す図。
【図４】同第１実施形態の分散ミラードディスクシステムの更新コピー先のコンピュータの処理を示す図。
【図５】同第１実施形態の分散ミラードディスクシステムの組み込みコピー元が主導のコピー処理を示す図。
【図６】同第１実施形態の分散ミラードディスクシステムの組み込みコピー先が主導のコピー処理を示す図。
【図７】同第２実施形態の分散ミラードディスクシステムの構成を示す図。
【図８】同第２実施形態の分散ミラードディスクシステムの更新コピー元のコンピュータの処理を示す図。
【図９】同第２実施形態の分散ミラードディスクシステムの更新コピー先のコンピュータの処理を示す図。
【図１０】同第２実施形態の分散ミラードディスクシステムに適用されるフラグキャッシュの構成図。
【図１１】同第２実施形態の分散ミラードディスクシステムに適用されるフラグキャッシュの動作を説明するための図。
【図１２】同第３実施形態の分散ミラードディスクシステムの構成を示す図。
【図１３】同第３実施形態の分散ミラードディスクシステムの更新コピー元のコンピュータの処理を示す図。
【図１４】同第３実施形態の分散ミラードディスクシステムの更新コピー先のコンピュータの処理を示す図。
【図１５】同第３実施形態の分散ミラードディスクシステムの組み込みコピー元が主導のコピー処理を示す第１の図。
【図１６】同第３実施形態の分散ミラードディスクシステムの組み込みコピー元が主導のコピー処理を示す第２の図。
【図１７】同第３実施形態の分散ミラードディスクシステムの組み込みコピー先が主導のコピー処理を示す第１の図。
【図１８】同第３実施形態の分散ミラードディスクシステムの組み込みコピー先が主導のコピー処理を示す第２の図。
【図１９】同第４実施形態の分散ミラードディスクシステムに適用されるフラグの構成を説明するための図。
【図２０】従来の２重化ディスク装置の構成を示す図。
【図２１】従来の分散ミラードディスクシステムの構成を示す図。
【符号の説明】
１…ネットワーク
２…コンピュータ
３…書き込み検知部
４…書き込み処理部
５…クラスタマネージャ
６…ノードマップ
７…組み込みコピー制御部
８…ディスク
９…データ
１０…書き込み前処理部
１１…書き込み後処理部
１２…フラグ
１３…フラグカウンタ
１４…データブロック
１５…フラグ待避制御部
１６…フラグ待避領域
１７…フラグキャッシュ
【図１】
0004131621.tif 000002
【図２】
0004131621.tif 000003
【図３】
0004131621.tif 000004
【図４】
0004131621.tif 000005
【図５】
0004131621.tif 000006
【図６】
0004131621.tif 000007
【図７】
0004131621.tif 000008
【図８】
0004131621.tif 000009
【図９】
0004131621.tif 000010
【図１０】
0004131621.tif 000011
【図１１】
0004131621.tif 000012
【図１２】
0004131621.tif 000013
【図１３】
0004131621.tif 000014
【図１４】
0004131621.tif 000015
【図１５】
0004131621.tif 000016
【図１６】
0004131621.tif 000017
【図１７】
0004131621.tif 000018
【図１８】
0004131621.tif 000019
【図１９】
0004131621.tif 000020
【図２０】
0004131621.tif 000021
【図２１】
0004131621.tif 000022