(57)【要約】      （修正有）【課題】遠隔地の制御装置間で２重書きを行う際、デ−タ転送数を必要最小限に留め、制御御装置間の距離が拡大しても、性能の劣化を微小に押さえ、さらに、トランザクションの途中結果を残さないような機能を提供することである。加えて、制御情報のディスク入出力処理の実行も不必要とし、高性能化を図る。【解決手段】正制御装置は、ライトデ−タを完了報告を返した後、直接副制御装置に送る。さらに、副制御装置は、受け取ったライトデ−タを不揮発メモリに格納することで、デ−タ保証を行う。さらに、ある基準となる時刻を設け、この時刻以前のすべてのライトデ−タを保証し、この時刻より後のライトデ−タはすべて破棄できるようにする。【選択図】図１
2006024229.tif 000002
【特許請求の範囲】
【請求項１】
処理装置に接続され、第1の制御装置と第1のキャッシュメモリと第1のディスク装置とを有する第1の記憶装置システムと、
前記第1の記憶装置システムに接続され、第2の制御装置と第2のキャッシュメモリと該第2のディスク装置を有する第２の記憶装置システムとを有するシステムであって、
前記第1の制御装置は、前記処理装置から複数のライトデータを受信し、前記処理装置から受信したライトデータと、前記処理装置が前記第1の記憶装置システムに対して送信した他のライトデータと該ライトデータとの間のライト順序の関係を示す参照情報とを第２の制御装置に送信し、
前記第2の制御装置は、前記第1の制御装置から受信したライトデータを前記第2のキャッシュメモリに格納し、参照情報に基づいて定められる基準情報と、該ライトデータの参照情報に基づいて、前記第２のキャッシュメモリに格納されているライトデータのうち前記第２のディスク装置に格納可能なライトデータを選択して、選択されたライトデータを前記第２のディスクに格納することを特徴とする計算機システム。
【請求項２】
請求項１記載のシステムであって、
前記第1の記憶装置システムまたは前記第1の記憶装置システムから前記第２の記憶装置システムへのライトデータの送信の際に障害が発生した際、
前記第2の制御装置は、該基準情報と該ライトデータの参照情報に基づいて、前記第2のキャッシュメモリに格納されているライトデータのうち、破棄するライトデータを選択し、選択されたライトデータを破棄することを特徴とするシステム。
【請求項３】
請求項１記載のシステムであって、
前記第1の制御装置は、前記処理装置から受信したライトデータを前記第1のキャッシュメモリに格納した後、ライト完了報告を前記処理装置に送信し、ライト完了報告を前記処理装置に送信した後に、該ライトデータと該ライトデータの参照情報を前記第２の制御装置に送信することを特徴とするシステム。
【請求項４】
請求項３記載のシステムであって、
前記第１の制御装置は、更に前記ライト完了報告を前記処理装置に送信した後に、第１のキャッシュメモリに格納されているライトデータを第１のディスク装置に格納することを特徴とするシステム。
【請求項５】
請求項１記載のシステムであって、
前記第２の制御装置は、前記第１の制御装置から受信したライトデータを第２のキャッシュメモリに格納した後、前記第１の制御装置に完了報告を送信し、完了報告を送信した後に該第２のキャッシュメモリに格納されているライトデータを第２のディスク装置に格納することを特徴とするシステム。
【請求項６】
請求項１記載のシステムであって、
各第１のキャッシュメモリおよび各第２のキャッシュメモリは、不揮発性メモリで構成されていることを特徴とするシステム。
【請求項７】
処理装置に接続され、複数の第1の制御装置と複数の第1のキャッシュメモリと複数の第1のディスク装置とを有する第1の記憶装置システムと、
前記第1の記憶装置システムに接続され、第2の制御装置と第2のキャッシュメモリと該第２の制御装置に接続される第2のディスク装置を有する第２の記憶装置システムとを有するシステムであって、
前記複数の第1の制御装置は、各々、前記処理装置から複数のライトデータを受信し、前記処理装置から受信したライトデータと、前記処理装置が前記第1の記憶装置システムに対して送信した他のライトデータと該ライトデータとの間のライト順序の関係を示す参照情報とを第２の制御装置に送信し、
前記第2の制御装置は、前記第1の制御装置から受信したライトデータを前記第2のキャッシュメモリに格納し、参照情報に基づいて定められる基準情報と、該ライトデータの参照情報に基づいて、前記第２のキャッシュメモリに格納されているライトデータのうち前記第２のディスク装置に格納可能なライトデータを選択して、選択されたライトデータを前記第２のディスクに格納することを特徴とする計算機システム。
【請求項８】
請求項７記載のシステムであって、
前記第1の記憶装置システムまたは前記第1の記憶装置システムから前記第２の記憶装置システムへのライトデータの送信の際に障害が発生した際、
前記第2の制御装置は、該基準情報と該ライトデータの参照情報に基づいて、前記第2のキャッシュメモリに格納されているライトデータのうち、破棄するライトデータを選択し、選択されたライトデータを破棄することを特徴とするシステム。
【請求項９】
請求項８記載のシステムであって、
前記複数の第1の制御装置は、各々、前記処理装置から受信したライトデータを第1のキャッシュメモリに格納した後、ライト完了報告を前記処理装置に送信し、ライト完了報告を前記処理装置に送信した後に、該ライトデータと該ライトデータの参照情報を前記第２の制御装置に送信することを特徴とするシステム。
【請求項１０】
請求項９記載のシステムであって、
前記複数の第１の制御装置は、各々、更に前記ライト完了報告を前記処理装置に送信した後に、第１のキャッシュメモリに格納されているライトデータを第１のディスク装置に格納することを特徴とするシステム。
【請求項１１】
請求項７記載のシステムであって、
前記第２の制御装置は、前記第１の制御装置から受信したライトデータを前記第２のキャッシュメモリに格納した後、前記第１の制御装置に完了報告を送信し、完了報告を送信した後に前記第２のキャッシュメモリに格納されているライトデータを前記第２のディスク装置に格納することを特徴とするシステム。
【請求項１２】
請求項７記載のシステムであって、
前記複数の第１のキャッシュメモリおよび前記第２のキャッシュメモリは、不揮発性メモリで構成されていることを特徴とするシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、異なった制御装置の間で、デ−タを２重書きする機能に関する。特に、制御装置間の距離が長く、制御装置間のデ−タ転送に遅延が発生するような場合、本発明は、有効である。
【背景技術】
【０００２】
本発明に関する公知例として、以下の技術が開示されている。
【０００３】
特許文献１では、遠隔地にある制御装置間のディスクの２重書きを行う技術が開示されている。本発明では、一方の制御装置が、地震などの天災等により破壊されても、もう一方の制御装置のディスクでデ−タ保証が可能というものである。特許文献１では、ホスト計算機から、直接、ライトデ−タを受領する正側の制御装置は、遠隔地にある副側の制御装置へ、受領したライトデ−タを転送した後、ライトデ−タの受領完了を、ホスト計算機に報告する。この方法であると、正側と副側で完全にデ−タが一致するため、デ−タ保証の点からは、非常に良い方法であった。しかし、制御装置間の距離拡大により、制御装置の間のデ−タ転送時間は、非常に大きくなるため、遠距離時に、性能上の課題があった。
【０００４】
特許文献２でも、遠隔地にある制御装置間のディスクの２重書きを行う技術が、開示されている。特許文献２では、正側のホスト計算機から、直接、ライトデ−タを受領する正側の制御装置は、ライトデ−タ受領後直ちに、ライトデ−タの受領完了を、正側のホスト計算機に報告する。特許文献２では、さらに、正側の制御装置が受領したライトデ−タのコピ−が、一度正側のホスト計算機に読みだされる。本発明では、当初正側のホスト計算機から受領するライトデ−タには、時刻が付与されている。時刻は、このライトデ−タを書き込むライト要求が発行された時刻を意味する。ライトデ−タのコピ−が、正側のホスト計算機に読みだされる時、ライト時刻も正側のホスト計算機に渡される。この後、正側のホスト計算機はライトデ−タのコピ−とライト時刻を、副側のホスト計算機に送る。
【０００５】
ライトデ−タとライト時刻を受け取ったを副側のホスト計算機は、ライト時刻等の情報を、制御用のディスクに書き込む。さらに、各ライトデ−タに付与された時刻を参照し、ライト時刻順に、ライトデ−タを副側のディスクに書き込みを行う。
【０００６】
特許文献２で副側のホスト計算機が、上記のような処理を行う目的は、オンラインシステム等で標準的に使用されるトランザクションの途中結果を残さないようにするためである。例えば、口座Ａから口座Ｂに預金を移すトランザクションを実行する場合、口座Ａから預金を引き落としたにもかかわらず、口座Ｂに預金を積み立てない状態を残さないようにすることが、トランザクションの途中結果を残さないということを意味する。通常、オンラインシステムでは、回復の単位は、トランザクションであるため、トランザクションの途中結果を残すことは、極めて重要な障害である。
【０００７】
次に、上記のような処理を実行すると、トランザクションの途中結果を残さないようにすることができることを簡単に説明する。２重書きを行っているディスクの中には、口座情報等のデ−タベ−スを格納したディスクと、トランザクションの更新履歴を残したジャ−ナルを格納したディスクがある。ホスト計算機がダウンすると、回復処理プログラムにより、ジャ-ナルが解析され、終了していないトランザクションの更新結果は、実行開始前の状態に戻される等の処理が、実行され、トランザクションの途中結果を残さないようにすることができる。副側の制御装置のディスクに書き込んだライトデ−タが、有効となるのは、最新のライトデ−タを格納した正側の制御装置が破壊されてしまったような場合である。副側の制御装置には、最新のライトデ−タは格納されてはいないが、ある時刻までのライトデ−タは保証されていることになる。したがって、見かけ上、ホスト計算機が、ライトデ−タを保証している時刻に、ダウンしたのと等価な状態を作り出していることになる。したがって、副制御装置側のジャ−ナルを格納したディスクと、デ−タベ−スを格納したディスクを用いて、ホスト計算機がダウンした時に実行される回復処理と同様の処理を実行することにより、トランザクションの途中結果を残さないようにすることができる。
【０００８】
特許文献３は、ディスク制御装置が不揮発性のキャッシュメモリを持ち、ライトアフタを行う、すなわち、ホスト計算機から受領したライトデ−タを不揮発性のキャッシュメモリに書き込み、完了報告を行う技術が開示されている。不揮発性のキャッシュメモリは、信頼性が高いため、ここにライトデ−タを格納すれば、十分デ−タ保証が可能となると判断できるためである。
【０００９】
【特許文献１】欧州特許出願公開第０６７１６８６号明細書
【特許文献２】欧州特許出願公開第０６７２９８５号明細書
【特許文献３】特開平４−２４５３４２号明細書
【発明の開示】
【発明が解決しようとする課題】
【００１０】
特許文献２では、制御装置間の距離が拡大しても、若干のデ−タは、失われるものの、性能の劣化は、少ない。しかも、トランザクションの途中結果を残さない。
【００１１】
しかし、正側のホスト計算機がデ−タを読みだし、副側のホスト計算機にデ−タを転送するため、特許文献１のように、直接制御装置間で、ライトデ−タを受け渡す場合に比較し、デ−タ転送が一度余分に実行される。さらに、ＭＴなどの記憶媒体への入出力処理の実行も必要となる。
【００１２】
本発明の目的は、特許文献２のように、直接制御装置間で、ライトデ−タを受け渡し、しかも、制御装置間の距離が拡大しても、性能の劣化を微小に押さえ、しかも、トランザクションの途中結果を残さないような機能を提供することである。さらに、制御情報などのディスクへの入出力処理の実行も不必要とし、高性能化を図る。
【課題を解決するための手段】
【００１３】
以下、本発明が、以上述べてきた目的をいかに実現するかについて述べる。
【００１４】
本発明では、ホスト計算機は、正制御装置に、ライト要求を発行する際に、ライトデ−タにライト時刻を付与する。正制御装置は、ライトデ−タをホスト計算機から受け取ると、完了を報告する。この後、正制御装置は、副制御装置に、ライトデ−タとライト時刻を送る。この時、正の制御装置は、ライト時刻順に、ライトデ−タを、副の制御装置に送る。以上により、制御装置間の距離が拡大しても、性能の劣化を微小に押さえることができる。
【００１５】
副側の制御装置では、正側の制御装置から受け取ったライトデ−タとを、不揮発のキャッシュメモリに格納する。これにより、制御情報などのディスクへの入出力処理なしに、ライトデ−タのデ−タ保証が可能となる。
【００１６】
副側の制御装置では、受け取ったライト時刻を参照して、ある時刻までのライトデ−タを保証するようにする。これにより、トランザクションの途中結果を残さないようにすることが可能である。
【発明の効果】
【００１７】
本発明の目的は、遠隔地の制御装置間で２重書きを行う際、直接制御装置間で、ライトデ−タを受け渡すことにより、デ−タ転送数を必要最小限に留め、しかも、制御装置間の距離が拡大しても、性能の劣化を微小に押さえ、さらに、トランザクションの途中結果を残さないような機能を提供することである。加えて、制御情報のディスク入出力処理の実行も不必要とし、高性能化を図る。
【発明を実施するための最良の形態】
【００１８】
以下、本発明の実施例を説明する。
【実施例１】
【００１９】
まず、第１の実施例について説明する。
【００２０】
図１は、第１の実施例の概要を表す。第１の実施例における構成は、１台以上の処理装置１００、１台の正制御装置１０４、正制御装置１０４に接続された１台以上のディスク装置１０５、１台の副制御装置１０９、副制御装置１０９に接続された１台以上のディスク装置１０５より構成する。処理装置１００は、ＣＰＵ１０１、主記憶１０２、チャネル１０３から構成される場合もある。正制御装置１０４は、制御用メモリ１０７、キャッシュメモリ１０８を含む。制御用メモリ１０７、キャッシュメモリ１０８は、不揮発化されているものとする。また、さらなる高信頼化のために、それぞれが２重化されていてもよい。キャッシュメモリ１０８、制御用メモリ１０７は、半導体メモリで構成されており、ディスク装置１０５に比べ、１桁から２桁高速なアクセスが可能である。正制御装置１０４は、処理装置１００とディスク装置１０５の間のデ−タ転送を行う。さらに、本発明においては、正制御装置１０４は、副制御装置１０９の間のデ−タ転送を行う機能をもつ。あるいは、正制御装置１０４が１つ以上のデイレクタ１０６を含み、各ディレクタ１０６が、処理装置２００とディスク装置２０５との転送、副制御装置１０９との間のデ−タ転送を行ってもよい。また、副制御装置１０９の内部構成は、正制御装置１０４と同様である。
【００２１】
制御用メモリ１０７には、ライトデ−タ１１２に対応したライトデ−タ管理情報１１３が、作成される。
【００２２】
処理装置１００は、正制御装置１０４にライト要求１１０を発行する時、ライトデ−タ１１２に、ライト時刻１１１に付与する。ライト時刻１１１は、本ライト要求１１０が発行された時刻を表しており、ライト時刻１１１により、処理装置１００が発行したライト要求１１０順序を認識することができる。処理装置１００が複数存在する場合、ライト時刻１１１は、処理装置１００間で、共通のクロックなどを用い、異なった処理装置１００で発行されたライト要求１１０の順序も、認識できるようになっているものとする。
【００２３】
図２は、ライトデ−タ管理情報１１３の構成である。ここでは、特に、本発明に直接関係する情報について説明する。なお、本発明では、処理装置１００がライト要求１１０を発行する際、指定するディスクを論理ディスクとよぶ。論理ディスクＩＤ１２０は、対応するライトデ−タを書き込むよう、処理装置１００から指示された論理ディスクの番号であり、ライト要求１１０に含まれる情報である。本発明では、処理装置１００が認識している論理ディスクとディスク装置１０５（物理ディスク）は、１対１に対応している必要はない。図３にしめすように、論理ディスクが、複数のディスク装置１０５上に定義されてもよい。また、論理ディスクに、冗長デ−タを含ませ、ＲＡＩＤ（Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙ  ｏｆ  Ｉｎｅｘｐｅｓｉｖｅ  Ｄｉｓｋｓ）構成にしてもよい。ライトアドレス１２１は、対応するライトデ−タを書き込む論理ディスク内のアドレスを示す情報（例えば、論理ディスクの先頭から１ＭＢｙｔｅの領域というような情報）で、ライト要求１１０に含まれる情報である。ライトデ−タ長１２２は、対応するライトデ−タの長さを表す情報であり、ライト要求１１０に含まれる情報である。以上の情報は、いずれも、通常のライト要求１１０に含まれる情報である。ライトデ−タポインタ１２３は、対応するライトデ−タ１１２へのポインタである。ライト時刻１１１については、すでに、説明したとおりである。ライト要求１１０に、ライト時刻１１１を付与することが本発明の特徴の１つである。副制御装置転送必要ビット１２４は、副制御装置１０９に対応するライトデ−タ１１２の転送が必要であることを表す情報である。
【００２４】
制御用メモリ１０８に含まれるもう１つの情報は、副論理ディスク番号１１４である。本情報は、正制御装置１０４の論理ディスク対応に存在する情報で、対応する論理ディスクの２重書きペアになっている副論理ディスクの番号、すなわち、副論理ディスクを格納している副制御装置１０９の番号と、副論理ディスクの副制御装置１０９内の論理ディスク番号を含む。もちろん、２重書きペアをもたない論理ディスクには、ヌル値が入るものとする。
【００２５】
副制御装置１０９の制御用メモリ１０９にも、ライトデ−タ管理情報１１３が含まれる。
【００２６】
フォ−マットは、正制御装置１０４内のライトデ−タ管理情報１１３と同じでよい。ただし、副制御装置転送必要ビット１２４は、常にオフとなっているものとする。さらに、正論理ディスク番号１３１である。本情報は、副制御装置１０４の論理ディスク対応に存在する情報で、対応する論理ディスクの２重書きペアになっている正論理ディスクの番号、すなわち、正論理ディスクを格納している正制御装置１０４の番号と、正論理ディスクの正制御装置１０４内の論理ディスクア番号を含む。もちろん、２重書きペアをもたない論理ディスクには、ヌル値が入るものとする。
【００２７】
正制御装置１０４の正ライトデ−タ受領部１３０は、処理装置１００から、ライト要求１１０を受け取ったとき、動作を開始する。まず、受け取ったライトデ−タ１１２を、キャッシュメモリ１０８に格納する。（ステッップ１３１）次に、正ライトデ−タ受領部１４０は、制御用メモリ１０８内のライトデ−タ管理情報１１３を、当該ライト要求対応に確保する。（ステッップ１３２）さらに、ライト要求に含まれるライト時刻１１１等の情報を確保したライトデ−タ管理情報１１３に格納し、ライトデ−タポインタ１２３、副制御装置転送必要ビット１２４の設定を行う。（ステッップ１３３）最後に、処理装置１００に、ライト要求１１０の完了報告を行う。（ステップ１３４）以上の処理には、ディスク装置１０５へのアクセスがないため、高速な応答が可能となる。ライトデ−タ１１２をディスク装置１０５に書き込む処理は、正制御装置１０４が後から実行する。この動作は、通常の制御装置の動作であるため、特に、詳細に記述しない。
【００２８】
正制御装置１０４の正ライトデ−タ送信部１４０は、ライトデ−タ１１２を副制御装置１０９に送る機能をもつ。まず、副制御装置転送必要ビット１２４が設定されているライトデ−タ管理情報１１３の中で、ライト時刻が最も以前であるライトデ−タ１１３を、対応する副論理ディスク番号１３０を参照して、２重書きペアが存在する副制御装置１０９へ送る。ライトデ−タ１１２の長さ、書き込みを行う副論理ディスク内のアドレスは、ライトデ−タ管理情報１１３内の情報を参照して指定する。（ステップ１４１）次に、副制御装置１０９からの完了報告をまつ。（ステップ１４２）完了報告が返ってくると、副制御装置転送必要ビット１２４をオフする。（ステップ１４３）この後、ステップ１４０ヘ戻り、次に送信すべきライトデ−タを見つける。
【００２９】
副制御装置１０９の副ライトデ−タ受領部１６０は、正制御装置１０４から、ライトデ−タ１１２を受け取った時動作する。副ライトデ−タ受領部１６０の処理内容は、ライトデ−タ管理情報１１３の設定において、副制御装置転送必要ビット１２４の設定を行わない（ステップ１６１）こと以外は、正ライトデ−タ受領部１４０の処理内容と同様である。
【００３０】
副制御装置１０９の副ライトデ−タデステ−ジ部１４０は、ライトデ−タ１１２をディスク装置１０５に書き込む機能をもつ。まず、ライトデ−タ管理情報１１３の中で、ライト時刻が最も以前である順にいくつかのライトデ−タ１１３を、ディスク装置１０５に書き込むことを決定し、しかるべき計算を行い、書き込みを行うディスク装置１０５と書き込みアドレスを決める。この計算方法は、通常のＲＡＩＤ等で用いられる方法であるため、詳細には記述しない。（ステップ１７１）次に、ライトデ−タ１１２をディス装置１０５に書き込むよう要求を複数並行して、ディスク装置１０５に発行する。(ステップ１７２）さらに、次に、ディスク装置１０５からの完了報告をまつ。（ステップ１７３）すべての要求の完了報告を受け取った後、ステップ１７０ヘ戻り、次にディスク装置１０５にデステ−ジすべきライトデ−タ１１３を見つける。
【００３１】
正制御装置１０４から副制御装置１０９へのライトデ−タ１１３の送信順序が、ライト時刻１１１の順番であるため、副制御装置１０９では、ある時刻を基準に、それ以前のライトデ−タ１１３はすべて保持でき、それ以降のライトデ−タ１１３はまったく保持しないという状態を作り出すことができる。これにより、正制御装置１０４が破壊されても、副制御装置１０９側で、トランザクションの等中結果を残さない回復処理が可能となる。また、副制御装置１０９側で、ライトデ−タ１１３、ライト時刻１１２等の制御情報は、キャッシュメモリ１０７、制御用メモリ１１３などの不揮発性の半導体メモリに保持されるため、性能上のオ−バヘッドは小さい。
【００３２】
以上説明してきた内容は、正制御装置１０４から副制御装置１０９へのライトデ−タ１１２の転送がシリアライズされているため、十分な性能が得られない可能性がある。図４は、正制御装置１０４から副制御装置１０９へのライトデ−タ１１２の転送を並列に実行した場合の動作を表している。各処理部で、転送がシリアライズされている場合と変更があるのは、正ライトデ−タ送信部ａ３００、正基準時刻送信部１７０、副基準時刻受信部１８０、副ライトデ−タデステ−ジ部ａ３１０と正障害時デ−タ破棄部１９０である。以下、正ライトデ−タ送信部ａ３００の処理フロ−について説明する。まず、副制御装置転送必要ビット１２４が設定されているライトデ−タ管理情報１１３の中で、ライト時刻が最も以前である順にいくつかのライトデ−タ１１３を、対応する副論理ディスク番号１３０を参照して、２重書きペアが存在する副制御装置１０９へそれぞれ並列に転送する。（ステップ３０１）次に、副制御装置１０９から、それぞれの完了報告が送られてくるのをまつ。（ステップ３０２）すべての完了報告が返ってくると、対応するライトデ−タ管理情報１１３の中の副制御装置転送必要ビット１２４をオフする。（ステップ３０３）この後、ステップ１５０ヘ戻り、次に送信すべきライトデ−タ１１２を見つける。
【００３３】
ライトデ−タ１１２の転送を並列に実行すると、副制御装置１０９側で保持されるライトデ−タ１１２のライト時刻１１１の順序がくるう可能性がある。したがって、副制御装置１０９がデステ−ジしてよいライトデ−タ１１２を決めるための判断基準となるライト時刻１１１を認識する必要がある。この場合、デステージシしてよいライトデ−タ１１２は、正制御装置１０４の中で、副制御装置転送必要ビット１２４がオンになっているライトデ−タ管理情報１１３の中で、最も以前のライト時刻１１１を基準時刻として、この基準時刻より以前のライト時刻１１１をもつライトデ−タ１１２ということになる。というのは、この基準時刻より以前のライト時刻１１１をもつライトデ−タ１１２はすべて、副制御装置１０９側に保持されているいることになるためである。一方、この基準時刻より後のライト時刻１１１をもつライトデ−タ１１２は、まだデステ−ジしてはまずいライトデ−タ１１２であり、正制御装置１０４が破壊された場合、これらのライトデ−タ１１２はデステ−ジせず、破棄する必要がある。
【００３４】
正基準時刻送信部１７０は、副制御装置１０９に上述したデステ−ジしてよい基準時刻を送信する機能をもつ。基準時刻は、上述したように、副制御装置転送必要ビット１２４がオンになっているライトデ−タ管理情報１１３の中で、最も以前のライト時刻１１１である。
【００３５】
副基準時刻受信部１８０は、正制御装置１０４から受信した基準時刻を、デステ−ジ許可時刻１８５として、制御用メモリ１０８に格納する。
【００３６】
図４は、正制御装置１０４から副制御装置１０９へのライトデ−タ１１２の転送を並列に実行した場合の副ライトデ−タデステ−ジ部ａ３１０の処理フロ−である。図１に示した処理フロ−とは異なるのは、デステ−ジするライトデ−タ１１３を選択する条件に、デステ−ジ許可時刻１８５より以前のライト時刻１１１であるかどうかという条件が入ることだけである（ステップ３１１）。
【００３７】
正障害時デ−タ破棄部１９７は、正制御装置１０４が破壊された時、デステ−ジ許可時刻１８５から後のライト時刻１１１をもつライトデ−タ１１２を破棄する機能をもつ（ステップ１９１）。
【実施例２】
【００３８】
次に、第２の実施例について説明する。
【００３９】
図５は、第２の実施例の概要を表す。第２の実施例と第１の実施例の相違は、正制御装置１０４と副制御装置１０９の数である。第１の実施例では、正制御装置１０４の数が１台で、副制御装置１０９の数が１台であった。一方、第２の実施例では、正制御装置１０４の数が２台以上で、副制御装置２０９の数が１台である。
【００４０】
正制御装置１０４が複数存在すると、副制御装置１０９側で、それぞれの正制御装置１０４から受け取っているライトデ−タ１１２のライト時刻１１１にずれが生ずる。一方の正制御装置１０４（例えば、正制御装置ａ）から受け取った最も最近のライト時刻１１１、この時刻を時刻ａ、もう一方の正制御装置１０４（例えば、正制御装置ｂ）から受け取った最も最近のライト時刻１１１、この時刻を時刻ｂとする。この場合、時刻ａより、時刻ｂの方が、以前の時刻であるとすると、正制御装置ａ側に、時刻ａより最近で、時刻ｂより以前のライトデ−タ１１３を保持している可能性がある。すでにのべたように、トランザクションの途中結果を残さないようにするには、ある基準時刻以前のライト時刻１１２をもつライトデ−タ１１３はすべて保証し、基準時刻以降のライト時刻１１２をもつライトデ−タ１１３はすべて破棄する必要がある。したがって、時刻ａ以前のライト時刻１１１をもったライトデ−タ１１２が、副制御装置１０９でデステ−ジしてよいライトデ−タ１１２ということになる。
【００４１】
以上に対応して、副制御装置１０９の制御用メモリ１０８には、正制御装置ライト許可時刻５００がある。正制御装置ライト許可時刻５００は正制御装置１０４ごとに存在する情報で、対応する正制御装置１０４から受け取った最も最近のライト時刻１１１が格納されている。したがって、上述したように、これらの正制御装置ライト許可時刻５００の中で、もっとも以前の時刻を基準時刻として、この基準時刻以前のライト時刻１１１をもったライトデ−タ１１２が、副制御装置１０９でデステ−ジしてよいライトデ−タ１１２ということになる。
【００４２】
以下、本実施例でも、１台の正制御装置１０４から副制御装置１０９へのライトデ−タ１１２の転送を並列に実行した場合の各処理部の内容について述べる。もちろん、１台の正制御装置１０４から副制御装置１０９へのライトデ−タ１１２の転送をシリアライズして実行した場合についても、本実施例は有効である。
【００４３】
正制御装置１０４の各処理部の処理フロ−は第１の実施例で、ライトデ−タ１１２の転送を並列に実行した場合（図３の処理）の処理フロ−と同様である。
【００４４】
次に、副制御装置１０９の各処理部の処理フロ−の説明を行う。
【００４５】
第２の実施例における副ライトデ−タデステ−ジ部ｂ５１０の処理フロ−について説明する。ここでは、第２の実施例における副ライトデ−タデステ−ジ部５２０の処理フロ−が、第１の実施例における副ライトデ−タデステ−ジ部１７０の処理フロ−と異なる点について説明する。第２の実施例における副ライトデ−タ受領部５１０の処理内容は、デステ−ジするライトデ−タ１１２を選択する際、対応するライト時刻１１１が、すべての正制御装置ライト許可時刻５００より以前であるかをチェックして、条件を満たすライトデ−タ１１２を選択する点である。（ステップ５１１）これ以外は、第２の実施例における副ライトデ−タデステ−ジ部ｂ５１０の処理フロ−は、第１の実施例における副ライトデ−タデステ−ジ部１７０の処理フロ−と同様である。
【００４６】
副基準時刻受信部ｂ５２０は、正制御装置１０４から受信した基準時刻を、基準時刻を送信してきた正制御装置１０４に対応する正制御装置ライト許可時刻５００に設定する。
【００４７】
本実施例においては、正障害時デ−タ破棄部ｂ５３０が、破棄するライトデ−タ１１２は、対応するライト時刻１１１が、すべての正制御装置ライト許可時刻５００より以前であるという条件を満足しないライトデ−タ１１２である。（ステップ５３１）
【実施例３】
【００４８】
次に、第３の実施例について説明する。
【００４９】
図６は、第の実施例の概要を表す。第３の実施例と第２の実施例の相違も、正制御装置１０４と副制御装置１０９の数である。第３の実施例では、正制御装置１０４の数が２台以上で、副制御装置１０９の数は１台以上である。この場合、すべての正制御装置１０４と副制御装置１０９のペアがお互いに、接続されている必要はない。
【００５０】
副制御装置１０９が複数存在すると、トランザクションの途中結果を残さないようにするには、各副制御装置１０９間で、デステ−ジするライトデ−タ１１２を選択する際に用いる基準時刻を共通にする必要がある。これは、デ−タベ−スやジャ−ナルが複数の副制御装置１０９間に分散している可能性があるためである。
【００５１】
本実施例では、デステ−ジするライトデ−タ１１２を選択する際に用いる基準時刻を決定する機能を、マスタ副制御装置７００に持たせる。したがって、マスタ制御装置７００とそれ以外の副制御装置１０９の間は、データ転送路で接続されている。デ−タ転送路が故障すると、各副制御装置１０９間で、デステ−ジするライトデ−タ１１２を選択する際に用いる基準時刻を共通化することができなくなるため、デ−タ転送路は多重化しておくことが望ましい。本実施例では、デステ−ジするライトデ−タ１１２を選択する際に用いる基準時刻を決定する機能を、マスタ副制御装置７００に持たせたが、基準時刻を決定する機能を、特定の副制御装置１０９に持たせず、各副制御装置１０９に分散させる方法（例えば、交代で、各副制御装置１０９が基準時刻を決定するような方法）をとっても、本発明は有効である。
【００５２】
以上に対応して、マスタ副制御装置７００の制御用メモリ１０８には、副制御装置ライト時刻７０１がある。副制御装置ライト時刻７０１は、マスタ副制御装置７００も含めた副制御装置１０９対応の情報である。各副制御装置ライト時刻７０１は、各副制御装置１０９から、マスタ副制御装置７００が、適当な周期で、その副制御装置１０９内のすべての正制御装置ライト許可時刻５００の中で、もっとも以前の時刻（実施例２で、副制御装置１０９がライトデ−タの選択の際、基準とした時刻）受け取る情報である。
【００５３】
マスタライト時刻７０２は、第３の実施例において、各副制御装置１０９がライトデ−タの選択の際、基準とする時刻である。マスタライト時刻７０２は、マスタ副制御装置７００が、適当な周期で、すべての副制御装置ライト時刻７０１を参照して、もっとも以前の時刻を選択して、この時刻を設定する。選択した時刻以前のライト時刻１１１をもったすべてのライトデ−タ１１２は副制御装置１０９に保持されていることになる。このため、この条件を満足するライトデ−タ１１２を保証して、満足しないライトデ−タ１１２はすべて破棄することにより、トランザクションの途中結果を残さないようにすることができる。
【００５４】
以下、本実施例でも、１台の正制御装置１０４から副制御装置１０９へのライトデ−タ１１２の転送を並列に実行した場合の各処理部の内容について述べる。もちろん、１台の正制御装置１０４から副制御装置１０９へのライトデ−タ１１２の転送をシリアライズして実行した場合についても、本実施例は有効である。
【００５５】
正制御装置１０４の各処理部の処理フロ−は第２の実施例とほとんど同様である。もちろん、正基準時刻送信部１７０はライトデ−タ１１２を送信する各副制御装置１０９に基準時刻を送る機能をもつ。ただし、送信する基準時刻は、送信を行う副制御装置１０９に対応するすべてのライトデ−タ１１２の副制御装置転送必要ビット１２４がオンになっているライトデ−タ管理情報１１３の中で、最も以前のライト時刻１１１である。
【００５６】
正制御装置１０４の各処理部の処理フロ−の中で、第２の実施例と異なるのは、副制御装置１０９に、副ライト時刻送信部７１０、副ライトデ−タデステ−ジ部ｃ７２０、正障害時デ−タ破棄部ｃを含む点である。また、マスタ副制御装置７００は、マスタ副ライト時刻受信部７１１、マスタライト時刻計算部７１２、マスタ副ライト時刻送信部７１３７３０を含む点である。
【００５７】
副ライト時刻送信部７１０は、適当な周期で、その副制御装置１０９内のすべての正制御装置ライト許可時刻５００の中で、もっとも以前の時刻１８０を、マスタ副制御装置７００のマスタ副ライト時刻受信部７１１に送る。マスタ副制御装置７００以外の副制御装置１０９の副ライト時刻送信部７１０は、副制御装置１０９間のデ−タ転送路を利用する。マスタ副制御装置７００の副ライト時刻送信部７１０は、マスタ副制御装置７００の通信手段を利用する。
【００５８】
マスタ副ライト時刻受信部７１１は、副ライト時刻送信部７１０から受信した時刻を、当該時刻を送ってきた副制御装置１０９に対応する副制御装置ライト時刻７０１に、設定する。
【００５９】
マスタライト時刻計算部７１２は、適当な周期で、すべての副制御装置ライト時刻７０１を参照して、もっとも以前の時刻を選択して、この時刻を、マスタライト時刻７０２に設定する。
【００６０】
マスタ副ライト時刻送信部７１３は、各副制御装置１０９の副ライトデ−タデステ−ジ部７２０、正障害時デ−タ破棄部７３０からの要求にしたがって、適当な周期で、マスタライト時刻７０２に設定された時刻を送る。マスタ副制御装置７００以外の副制御装置１０９には、副制御装置１０９間のデ−タ転送路を利用する。マスタ副制御装置７００からの要求には、マスタ副ライト時刻送信部７１３は、マスタ副制御装置７００の通信手段を利用する。
【００６１】
副ライトデ−タデステ−ジ部７２０が、第２の実施例と異なる点は、デステ−ジを行うライトデ−タ１１２を選択する際、マスタ副ライト時刻送信部７１３から基準となる時刻を受信し、この時刻より以前のライト時刻１１１をもつライトデ−タ１１２をデステ−ジの対象として選択する点である（ステップ７２１）。
【００６２】
正障害時デ−タ破棄部ｃ７３０が、第２の実施例と異なる点は、キャッシュメモリ１０７から破棄するライトデ−タ１１２を選択する際、マスタ副ライト時刻送信部７１３から基準となる時刻を受信し、この時刻より以前のライト時刻１１１をもつライトデ−タ１１２以外のライトデ−タ１１２を破棄の対象として選択する点である。（ステップ７３１）
本実施例では、マスタ制御装置７００が、副制御装置１０９から基準となる時刻を計算するのに必要な情報を受け取ったが、図７に示すように、正制御装置１０４から受け取るようにしてもよい。この場合、マスタ副制御装置７００の制御用メモリ１０８には、マスタ正制御装置ライト時刻８００がある。マスタ正制御装置ライト時刻８００は、正制御装置１０４対応の情報である。マスタ正制御装置ライト時刻８００は、各正制御装置１０４から、マスタ副制御装置７００が、適当な周期で、その正制御装置１０９内で、オン状態の副制御装置転送必要ビット１２４を含むすべてのライトデ−タ管理情報１１３の中で、最も以前のライト時刻１１１を受け取リ、設定を行う情報である。マスタライト時刻７０２には、マスタ副制御装置７００が、適当な周期で、すべての正制御装置ライト時刻７０１を参照して、もっとも以前の時刻を選択して、この時刻を設定する。デステ−ジ、デ−タ破棄の際、基準となる時刻として用いる時刻が、マスタライト時刻７０２である点は、同様である。
【図面の簡単な説明】
【００６３】
【図１】第１の実施例の概要図。
【図２】ライトデ−タ管理情報のフォ−マット。
【図３】正制御装置から副制御装置へのライトデ−タの転送を並列に実行した場合の正ライトデ−タ送信部の処理フロ−図。
【図４】正制御装置から副制御装置へのライトデ−タの転送を並列に実行した場合の副ライトデ−タデステ−ジ部の処理フロ−図。
【図５】第２の実施例の概要図。
【図６】第３の実施例の概要図。
【図７】第３の実施例において、マスタ副制御装置が、正制御装置からライト時刻に関する情報を収集した場合の処理概要図。
【符号の説明】
【００６４】
１０４…正制御装置
１０７…制御用メモリ
１０８…キャッシュメモリ
１０９…副制御装置
１１１…ライト時刻
１１２…ライトデ−タ
１１３…ライトデ−タ管理情報
１２４…副制御装置転送必要ビット
１３０…正ライトデ−タ受領部
１４０…正ライトデ−タ送信部
１５０…副ライトデ−タ受領部
１６０…副ライトデ−タデステ−ジ部
１７０…正基準時刻送信部
１８０…副基準時刻受信部
１８５…デステ−ジ許可時刻
１９０…正障害時デ−タ破棄部
３００…正ライトデ−タ送信部ａ
３１０…副ライトデ−タデステ−ジ部ａ
５００…正制御装置ライト許可時刻
５１０…副ライトデ−タデステ−ジ部ｂ
５２０…副基準時刻受信部ｂ
５３０…正障害時デ−タ破棄部ｂ
７００…マスタ副制御装置
７０１…副制御装置ライト時刻
７０２…マスタライト基準時刻
７１０…副ライト時刻送信部
７１１…マスタ副ライト時刻受信部
７１２…マスタ副ライト時刻ケ計算部
７１３…マスタ副ライト時刻送信部
７１０…副ライトデ−タデステ−ジ部ｃ
７２０…正障害時デ−タ破棄部ｃ
８００…正制御装置ライト時刻
【図１】
2006024229.tif 000003
【図２】
2006024229.tif 000004
【図３】
2006024229.tif 000005
【図４】
2006024229.tif 000006
【図５】
2006024229.tif 000007
【図６】
2006024229.tif 000008
【図７】
2006024229.tif 000009