(57)【要約】【課題】マスターストレージが複数のストレージで構成されている場合、あるいは仮想化されている場合に、待機系サイトでの業務再開を可能とする装置、方法、プログラムの提供。【解決手段】マスターストレージ１ａ、１ｂとレプリカストレージ２ａ、２ｂのレプリケーションを調停装置３を介して行い、調停装置３は、更新情報の送信を制御することで、レプリカストレージでの更新の順序を適正化する。【選択図】図１
2007128335.tif 000002
【特許請求の範囲】
【請求項１】
レプリケーション元のストレージシステムとレプリケーション先のストレージシステムとの間に配設される調停装置であって、
前記レプリケーション元のストレージシステムと前記レプリケーション先のストレージシステム間の転送は前記調停装置を介して行われ、
前記レプリケーション元のストレージシステムから転送された更新情報を、前記更新情報の前記レプリケーション元のストレージでのアドレス情報に基づき、即時に又は優先的に前記レプリケーション先のストレージシステムに転送するか、あるいは、一旦、記憶手段に蓄積したのち所定のイベント発生を契機として、前記レプリケーション先のストレージシステムへ転送するように制御する手段を備えている、ことを特徴とする調停装置。
【請求項２】
前記更新情報の前記レプリケーション元のストレージの識別情報、ボリューム情報、ボリューム内でのブロックアドレス情報の少なくとも１つの情報に基づき、前記更新情報の前記レプリケーション先のストレージシステムでの適用順序を決定する送信ルールを検索し、検索された前記送信ルールにしたがって前記更新情報を前記レプリケーション先のストレージシステムに転送する、ことを特徴とする請求項１記載の調停装置。
【請求項３】
レプリケーション元のストレージシステムと、レプリケーション先のストレージシステムとの間に配設される調停装置であって、
前記レプリケーション元のストレージシステムと前記レプリケーション先のストレージシステム間の転送は前記調停装置を介して行われ、
前記レプリケーション元のストレージシステムから送信された更新情報を受け取る受付手段と、
前記受付手段で受け取った更新情報に関して、前記更新情報の前記レプリケーション先のストレージシステムでの適用順序を決定する送信ルールを参照して、前記更新情報の送信のスケジューリング制御を行う送信スケジューラと、
前記送信スケジューラからの送信の指示を受け前記更新情報を、前記レプリケーション先のストレージシステムに送信する送信手段と、
を備えている、ことを特徴とする調停装置。
【請求項４】
前記送信スケジューラは、前記更新情報の送信元のストレージの識別情報とアドレス情報に基づき、前記送信ルールのいずれに該当するか検索し、検索された送信ルールで規定されている動作種別に応じて、前記更新情報を記憶手段に一旦蓄積し、所定のイベントの発生をまって送信するか、あるいは、即時に送信する制御を行う、ことを特徴とする請求項３記載の調停装置。
【請求項５】
前記レプリケーション元のストレージシステム、及び、レプリケーション先のストレージシステムが複数のストレージを備えている、ことを特徴とする請求項３記載の調停装置。
【請求項６】
前記送信ルールは、
レプリケーション元のストレージシステムのストレージ識別情報、
ボリューム情報、
ボリューム内でのブロックの範囲を示すオフセット情報、及び、
前記更新情報の送信動作の種別
をエントリーとして備えている、ことを特徴とする請求項３記載の調停装置。
【請求項７】
前記受付手段は、更新情報と、前記レプリケーション元のストレージシステムにおけるストレージＩＤと、更新情報を受け付けた順番に対応する受付ＩＤを関係付けて１組の情報として、前記送信スケジューラに受け渡す、ことを特徴とする請求項３記載の調停装置。
【請求項８】
更新情報の送信動作の種類として、
即時送信、
前記記憶手段の空き容量との関係で送信の有無を制御、
更新情報を受信後の経過時間との関係で送信の有無を制御、
外部からの指示で送信の有無を制御、
指定時刻にしたがって送信を制御、
優先度との関係で送信を制御、
即時送信の場合における同期転送又は非同期転送、
の少なくとも１つ又は複数の組合わせで規定される、ことを特徴とする請求項６記載の調停装置。
【請求項９】
前記レプリケーション元のストレージシステムは仮想化されており、
前記レプリケーション元のストレージシステムの仮想化状況を示すマッピング情報を取得し論理アドレスへの変換を行うアドレス変換手段を備え、
前記マッピング情報にしたがって仮想化されたアドレスから前記レプリケーション元のストレージシステムのストレージ識別情報、ブロック番号を算出し、前記送信ルールに基づき、前記更新情報の前記レプリケーション先ストレージでのデータの更新の順序を適正化する、ことを特徴とする請求項３記載の調停装置。
【請求項１０】
前記レプリケーション元のストレージシステムのストレージ情報と更新情報のアドレス情報からアドレスを入手し、前記マッピング情報を基に、論理アドレスに変換するアドレス変換手段を備えている、ことを特徴とする請求項９記載の調停装置。
【請求項１１】
前記受付手段は、前記更新情報からアドレス情報を抽出して前記アドレス変換手段から論理アドレスを取得し、前記更新情報からアドレス情報を論理アドレスに変換して受付ＩＤとともに送信スケジューラに渡す、ことを特徴とする請求項９記載の調停装置。
【請求項１２】
前記レプリケーション先のストレージシステムは前記レプリケーション元のストレージシステムの論理イメージを格納する、ことを特徴とする請求項１１記載の調停装置。
【請求項１３】
前記レプリケーション元のストレージシステムのファイルのマッピングを管理するファイルマッピング管理手段から、マッピング情報を取得する、ことを特徴とする請求項３記載の調停装置。
【請求項１４】
前記マッピング情報は、ファイル、及びメタ情報に応じて、ファイルの識別情報、ファイル内でのアドレス、前記レプリケーション元のストレージシステムのストレージ内のアドレス情報を含む、ことを特徴とする請求項１３記載の調停装置。
【請求項１５】
前記送信スケジューラは、前記レプリケーション元のストレージシステムから転送された前記更新情報に対応する送信ルールが即時送信でない場合、記憶手段に更新情報を蓄積し、前記受付手段に対して前記レプリケーション元のストレージシステムへの応答返却の指示を出し、送信ルールが一定時間経過後送信の場合、該当する時間に送信契機イベントが発生するように設定し、即時送信の場合、前記送信手段に送信の指示を出し、応答を受信すると、前記受付手段に対して前記レプリケーション元のストレージシステムへの応答返却の指示を出す、ことを特徴とする請求項３記載の調停装置。
【請求項１６】
前記送信スケジューラは、送信契機イベント発生時、前記記憶手段に蓄積されている更新情報を受付順序に応じて取り出し、対応する送信ルールが送信契機と合致している場合、前記更新情報の送信を前記送信手段に指示する、ことを特徴とする請求項３記載の調停装置。
【請求項１７】
前記送信スケジューラは、前記更新情報に対応する送信ルールを前記更新情報に関連付けて格納しておき、前記送信契機イベント発生時における前記更新情報に対応する送信ルールの検索処理を省くようにしてなる、ことを特徴とする請求項１６記載の調停装置。
【請求項１８】
前記送信スケジューラは、前記更新情報に対応する送信ルールが複数ある場合、優先度が最も高い送信ルールでの送信を実行するように制御する、ことを特徴とする請求項３記載の調停装置。
【請求項１９】
前記レプリケーション元システムと、請求項１乃至１８のいずれか一記載の前記調停装置と、前記レプリケーション先ストレージシステムと、を備えている、ことを特徴とする情報処理システム。
【請求項２０】
前記レプリケーション先ストレージシステムを修復する修復手段を備えている、ことを特徴とする請求項１９記載の情報処理システム。
【請求項２１】
レプリケーション元のストレージシステムとレプリケーション先のストレージシステム間に配設された調停装置を介して、前記レプリケーション元のストレージシステムと前記レプリケーション先のストレージシステム間の転送が行われるレプリケーション制御方法であって、
前記調停装置が、前記レプリケーション元のストレージシステムから転送された更新情報を受け取る工程と、
前記調停装置が、前記更新情報の前記レプリケーション元のストレージでのアドレス情報に基づき、前記更新情報を、即時に又は優先的に前記レプリケーション先のストレージシステムに転送するか、あるいは、一旦、記憶手段に蓄積したのち所定のイベント発生を契機として、前記レプリケーション先のストレージシステムへ転送するように制御する工程と、
を含む、ことを特徴とするレプリケーション制御方法。
【請求項２２】
レプリケーション元のストレージシステムとレプリケーション先のストレージシステムとの間に配設される調停装置を介して前記レプリケーション元のストレージシステムと前記レプリケーション先のストレージシステム間の転送が行われる、前記調停装置を構成するコンピュータに、
前記レプリケーション元のストレージシステムから転送された更新情報を受け取る処理と、
前記更新情報の前記レプリケーション元のストレージでのアドレス情報に基づき、前記更新情報を、即時に、前記レプリケーション先のストレージシステムに転送するか、あるいは、一旦記憶手段に蓄積したのち、所定のイベント発生を契機として、前記レプリケーション先のストレージシステムへ転送するように制御する処理と、
を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、レプリケーションを行う情報処理システムに関し、特にレプリカボリュームの更新順序を適正化するシステムと方法及びプログラムに関する。
【背景技術】
【０００２】
従来から、災害等が発生しても機能を維持するために正常系（あるいは稼働系）サイトと待機系サイトを備えたコンピュータシステムが用いられている。このようなコンピュータシステムを「レプリケーションシステム」と呼ぶ。例えば、通常には、正常系サイトがシステム機能を提供する動作をしており、正常系サイトが正常に機能できないときには、その正常系サイトに代わって待機系サイトが動作する。
【０００３】
コンピュータシステムとしての機能を提供するために、正常系サイトと待機系サイトは各々にデータを格納するためのストレージを有している。
【０００４】
そして、レプリケーションシステムでは、待機系サイトが正常系サイトに代わって動作できるように、正常系サイトのストレージ内のデータが待機系サイトのストレージに複製され、保持される（例えば、非特許文献１、２等参照）。この処理は、「レプリケーション」と呼ばれている。
【０００５】
レプリケーションシステムでは、正常系サイトと待機系サイトが「同期」している場合（以下、「同期レプリケーション」という）と、「非同期」の場合（以下、「非同期レプリケーション」という）がある。
【０００６】
同期レプリケーションでは、正常系サイトにおいてストレージにＷＲＩＴＥ（データの書き込み）があると、それを契機に、待機系サイトのストレージにも同じデータのＷＲＩＴＥが行われる。
【０００７】
他方、非同期レプリケーションでは、待機系サイトのストレージに対するＷＲＩＴＥは正常系サイトに対するＷＲＩＴＥを契機とせず、事後的（したがって非同期）に行われる。
【０００８】
一方、複数のストレージから構成されるストレージシステムでは、全体を一つのストレージのように見せる仮想化技術が使用される場合がある。
【０００９】
また、ファイルシステムは、ストレージを複数のファイルという単位に仮想化するシステムであり、ファイルがストレージにどのように割り当てられているかを、ファイルシステム層で管理しており、ストレージがブロックベースの装置であった場合には、ファイルという単位を理解することができない。
【００１０】
そして、正常系サイトが被災した際、待機系サイトでは、正常系サイトのストレージ（以下、「マスターストレージ」という）のコピーである待機系サイトのストレージ（以下、「レプリカストレージ」という）中のデータの修復を行った後に、業務を再開する。
【００１１】
待機系サイトで行われるデータの修復において、
・マスターストレージとレプリカストレージが完全に同期している場合や、
・マスターストレージのある時点でのデータを非同期に送っている場合、
には、データの修復が可能である。
【００１２】
しかしながら、マスターストレージとレプリカストレージの同期にずれが発生している場合には、レプリカストレージのデータの修復ができない。
【００１３】
なお、
・データベースシステムや、
・linuxのext3, reiserFS, xfs
のような、journalファイルシステムでは、ジャーナルログ（journal log）を格納したファイル／ボリューム／ブロックが、他のデータを格納したファイル／ボリューム／ブロックよりも新しい状態にある場合には、データの修復が可能である。
【００１４】
なお、複数のディスクサブシステムにわたってデータ更新の順序性／データの整合性を保証し、非同期型のリモートコピー機能を有するディスクサブシステムとして、例えば特許文献１には、メインセンターとリモートセンターがそれぞれ、ホストコンピュータと、複数のディスクサブシステムと、ゲートウェイサブシステムを備え、各センターのディスクサブシステムのリモートコピー対象となるボリュームとゲートウェイサブシステムの任意のボリューム間は同期型リモートコピーでデータの二重化が行われ、メインセンターのゲートウェイサブシステムは、自サブシステム内のボリュームが更新された順番に従い更新データをリモートセンターのゲートウェイサブシステムに送信し、リモートセンターのゲートウェイサブシステムは受け取った順番に従い更新データを自サブシステム内のボリュームに反映する非同期型のリモートコピーでデータの二重化が行われるシステムが開示されている。特許文献１に開示されたシステムにおいては、メインセンターのゲートウェイサブシステムでは、ホストがディスクサブシステムに書き込み要求を発行すると、これに同期して当該データを自己のディスクサブシステム内のバッファメモリにも書き込んでおり、非同期でリモートのゲートウェイサブシステムにデータの書き込みの指示を行っている。特許文献１に開示されたシステムは、更新された順番を保持して転送することでメインセンターとリモートセンターのディスクサブシステムのボリュームを巨視的にみて常に同一に保つものであるが、ゲートウェイサブシステムを対向配置する等、構成上の制約があり、且つ、非同期型のリモート転送に制限されている。さらに、特許文献１に開示されたシステムにおいては、もっぱら更新順にデータを転送する構成とされており、更新情報に応じて転送制御を可変させることでデータ修復を可能とするための手法等については、いっさい開示も示唆もされていない。さらに、特許文献１には、仮想化されたファイルシステムのレプリケーションにおいて、更新データの更新順序を保持して転送するための手法はいっさい開示も示唆もされていない。
【００１５】
【特許文献１】特開２０００−３０５８５６号公報
【非特許文献１】イーエムシー・コーポレーション、EMC SRDF,SRDF/A[ONLINE]［平成１６年７月２８日検索］、インターネット< URL http://japan.emc.com/local/ja/jp/products/networking/srdf.jsp ＞
【非特許文献２】日本電気株式会社、SYSTEMGLOBE REMOTEDATAREPLICATION[ONLINE]［平成１６年７月２８日検索］、インターネット< URL http://www.sw.nec.co.jp/products/istorage/product/software/rdr/index.shtml >
【発明の開示】
【発明が解決しようとする課題】
【００１６】
従来の情報処理システムでは、データの修復が可能な順序でレプリカストレージにレプリケーションが行われていることが保障されないため、待機系サイトでは、業務が再開できない、という問題が生じる。
【００１７】
また、特許文献１に開示されたシステムにおいては、更新順序を保ってリモートセンターへの転送が行われるため、データの修復は可能ではあるが、構成上に制約がある上、データの転送制御もデータの更新順に固定されており、例えば転送データのストレージでの格納位置、データの種別等に応じて転送の順序等を可変に制御することはできない。そして、特許文献１には、仮想化されたファイルシステムにおける更新データの更新順序を保持して転送するための手法はいっさい開示も示唆もされていない。
【００１８】
したがって、本発明の主たる目的は、更新情報に応じて転送の仕方を可変制御することで、転送の効率化を図りながら、レプリケーション先のストレージにおいてデータ修復を可能たらしめるシステム及び方法並びにコンピュータプログラムを提供することにある。
【００１９】
本発明の他の目的は、仮想化されたファイルシステムのレプリケーションにおいて、レプリケーション先のストレージにおいてデータ修復を可能たらしめるシステム及び方法並びにコンピュータプログラムを提供することにある。
【課題を解決するための手段】
【００２０】
本願で開示される発明は、上記課題を解決するため、概略以下の構成とされる。
【００２１】
本発明の１つのアスペクト（側面）に係る装置は、レプリケーション元のストレージシステムとレプリケーション先のストレージシステムとの間に配設される調停装置であって、前記レプリケーション元のストレージシステムと前記レプリケーション先のストレージシステム間の転送は前記調停装置を介して行われ、前記レプリケーション元のストレージシステムから転送された更新情報を、前記更新情報の前記レプリケーション元のストレージでのアドレス情報に基づき、即時に又は優先的に前記レプリケーション先のストレージシステムに転送するか、あるいは、一旦、記憶手段に蓄積したのち所定のイベント発生を契機として、前記レプリケーション先のストレージシステムへ転送するように制御する手段を備えている。
【００２２】
本発明は、前記レプリケーション元のストレージシステムから送信された更新情報を受け取る受付手段と、
前記受付手段で受け取った更新情報に関して、前記更新情報の前記レプリケーション先のストレージシステムでの適用順序を決定する送信ルールを参照して、前記更新情報の送信のスケジューリング制御を行う送信スケジューラと、
前記送信スケジューラからの送信の指示を受け前記更新情報を、前記レプリケーション先のストレージシステムに送信する送信手段と、を備えている。
【００２３】
本発明において、前記送信スケジューラは、前記更新情報の送信元のストレージの識別情報とアドレス情報に基づき、前記送信ルールのいずれに該当するか検索し、検索された送信ルールで規定されている動作種別に応じて、前記更新情報を記憶手段に一旦蓄積し、所定のイベントの発生をまって送信するか、あるいは、即時に送信する制御を行う。
【００２４】
本発明において、前記レプリケーション元のストレージシステム、及び、レプリケーション先のストレージシステムが複数のストレージを備えている。
【００２５】
本発明において、前記送信ルールは、
レプリケーション元のストレージシステムのストレージ情報、
ボリューム情報、
ボリューム内でのブロックの範囲を示すオフセット情報、
前記更新情報の送信動作の種別とを、
１組として備えている。
【００２６】
本発明において、前記受付手段は、更新情報と、前記レプリケーション元のストレージシステムにおけるストレージＩＤと、更新情報を受け付けた順番に対応する受付ＩＤを関係付けて１組の情報として、前記送信スケジューラに受け渡す。
【００２７】
本発明において、更新情報の送信動作の種類として、
即時送信、
前記記憶手段の空き容量との関係で送信の有無を制御、
更新情報を受信後の経過時間との関係で送信の有無を制御、
外部からの指示で送信の有無を制御、
指定時刻にしたがって送信を制御、
優先度との関係で送信を制御、
の少なくとも１つ又は複数の組合わせで規定される。
【００２８】
本発明において、前記レプリケーション元のストレージシステムは仮想化されており、
前記レプリケーション元のストレージシステムの仮想化状況を示すマッピング情報を取得し論理アドレスへの変換を行うアドレス変換手段を備え、
前記マッピング情報にしたがって仮想化されたアドレスから、レプリケーション元のストレージシステムのストレージ識別情報、ブロック番号を算出し、前記送信ルールに基づき、前記更新情報の前記レプリケーション先ストレージでのデータの更新の順序を適正化する。
【００２９】
本発明において、前記レプリケーション元のストレージシステムのストレージ情報と更新情報のアドレス情報からアドレスを入手し、前記マッピング情報を基に、論理アドレスに変換するアドレス変換手段を備えている。
【００３０】
本発明において、前記受付手段は、前記更新情報からアドレス情報を抽出して前記アドレス変換手段から論理アドレスを取得し、前記更新情報からアドレス情報を論理アドレスに変換して受付ＩＤとともに送信スケジューラに渡す。
【００３１】
本発明において、前記レプリケーション先のストレージシステムは前記レプリケーション元のストレージシステムの論理イメージを格納するようにしてもよい。
【００３２】
本発明において、前記レプリケーション元のストレージシステムのファイルのマッピングを管理するファイルマッピング管理手段から、マッピング情報を取得する。
【００３３】
本発明において、前記マッピング情報には、ファイル、及びメタ情報に応じて、ファイルの識別情報、ファイル内でのアドレス、前記レプリケーション元のストレージシステムのストレージ内のアドレス情報を含む。
【００３４】
本発明において、前記送信スケジューラは、前記レプリケーション元のストレージシステムから転送された前記更新情報に対応する送信ルールが即時送信でない場合、記憶手段に更新情報を蓄積し、前記受付手段に対して前記レプリケーション元のストレージシステムへの応答返却の指示を出し、送信ルールが一定時間経過後送信の場合、該当する時間に送信契機イベントが発生するように設定する。即時送信の場合、送信手段に送信の指示を出し、応答を受信すると、前記受付手段に対して前記レプリケーション元のストレージシステムへの応答返却の指示を出す。
【００３５】
本発明において、前記送信スケジューラは、送信契機イベント発生時、記憶手段に蓄積されている更新情報を受付順序に応じて取り出し、対応する送信ルールが送信契機と合致している場合、前記更新情報の送信を前記送信手段に指示する。
【００３６】
本発明において、更新情報に対応する送信ルールが複数ある場合、優先度が最も高い送信ルールでの送信が実行される。
【００３７】
本発明に係るシステムは、前記レプリケーション元システムと、前記調停装置と、前記レプリケーション先ストレージシステムと、前記レプリケーション先ストレージシステムを修復する修復手段を備えている。
【００３８】
本発明に係る方法は、レプリケーション元のストレージシステムとレプリケーション先のストレージシステム間に配設された調停装置を介して、前記レプリケーション元のストレージシステムと前記レプリケーション先のストレージシステム間の転送が行われるレプリケーション制御方法であって、
前記調停装置が、前記レプリケーション元のストレージシステムから転送された更新情報を受け取る工程と、
前記調停装置が、前記更新情報の前記レプリケーション元のストレージでのアドレス情報に基づき、前記更新情報を、即時に又は優先的に前記レプリケーション先のストレージシステムに転送するか、あるいは、一旦、記憶手段に蓄積したのち所定のイベント発生を契機として、前記レプリケーション先のストレージシステムへ転送するように制御する工程と、
を含む。
【００３９】
本発明に係るコンピュータプログラムは、レプリケーション元のストレージシステムとレプリケーション先のストレージシステムとの間に配設される調停装置を介して前記レプリケーション元のストレージシステムと前記レプリケーション先のストレージシステム間の転送が行われる、前記調停装置を構成するコンピュータに、
前記レプリケーション元のストレージシステムから転送された更新情報を受け取る処理と、
前記更新情報の前記レプリケーション元のストレージでのアドレス情報に基づき、前記更新情報を、即時に、前記レプリケーション先のストレージシステムに転送するか、あるいは、一旦記憶手段に蓄積したのち、所定のイベント発生時に、前記レプリケーション先のストレージシステムへ転送するように制御する処理と、
を実行させるプログラムよりなる。
【００４０】
本発明に係るコンピュータプログラムにおいて、前記更新情報の前記レプリケーション元のストレージの識別情報、ボリューム情報、ボリューム内でのブロックアドレス情報の少なくとも１つの情報に基づき、前記更新情報の前記レプリケーション先のストレージシステムでの適用順序を決定する送信ルールを検索し、検索された前記送信ルールにしたがって前記更新情報を前記レプリケーション先のストレージシステムに転送する、ようにしてもよい。
【００４１】
本発明に係るコンピュータプログラムにおいて、レプリケーション元のストレージシステムと、レプリケーション先のストレージシステムとの間に配設され、調停装置を介して前記レプリケーション元のストレージシステムと前記レプリケーション先のストレージシステム間で転送が行われる調停装置を構成するコンピュータに、
前記レプリケーション元のストレージシステムから送信された更新情報を受け取る受付け処理と、
前記受け取った更新情報に関して、前記更新情報の前記レプリケーション先のストレージシステムでの適用順序を決定する送信ルールを参照して、前記更新情報の送信のスケジューリング制御を行う送信スケジューラの処理と、
前記送信スケジューラからの送信の指示を受け前記更新情報を、前記レプリケーション先のストレージシステムに送信する送信処理と、
を実行させるプログラムよりなる。
【００４２】
本発明に係るコンピュータプログラムにおいて、前記送信スケジューラは、前記更新情報の送信元のストレージの識別情報とアドレス情報に基づき、前記送信ルールのいずれに該当するか検索し、検索された送信ルールで規定されている動作種別に応じて、前記更新情報を記憶手段に一旦蓄積し、所定のイベントの発生をまって送信するか、あるいは、即時に送信する制御を行う。
【００４３】
本発明に係るコンピュータプログラムにおいて、前記レプリケーション元のストレージシステム、及び、レプリケーション先のストレージシステムが複数のストレージを備えている。
【００４４】
本発明に係るコンピュータプログラムにおいて、前記送信ルールは、
レプリケーション元のストレージシステムのストレージ識別情報、
ボリューム情報、
ボリューム内でのブロックの範囲を示すオフセット情報、及び、
前記更新情報の送信動作の種別
をエントリーとして備えている。
【００４５】
本発明に係るコンピュータプログラムにおいて、前記受付処理は、更新情報と、前記レプリケーション元のストレージシステムにおけるストレージＩＤと、更新情報を受け付けた順番に対応する受付ＩＤを関係付けて１組の情報として、前記送信スケジューラに受け渡す。
【００４６】
本発明に係るコンピュータプログラムにおいて、更新情報の送信動作の種類として、
即時送信、
前記記憶手段の空き容量との関係で送信の有無を制御、
更新情報を受信後の経過時間との関係で送信の有無を制御、
外部からの指示で送信の有無を制御、
指定時刻にしたがって送信を制御、
優先度との関係で送信を制御、
即時送信の場合における同期転送又は非同期転送、
の少なくとも１つ又は複数の組合わせで規定される。
【００４７】
本発明に係るコンピュータプログラムにおいて、前記レプリケーション元のストレージシステムは仮想化されており、
前記レプリケーション元のストレージシステムの仮想化状況を示すマッピング情報を取得し論理アドレスへの変換を行うアドレス変換処理と、
前記マッピング情報にしたがって仮想化されたアドレスから前記レプリケーション元のストレージシステムのストレージ識別情報、ブロック番号を算出し、前記送信ルールに基づき、前記更新情報の前記レプリケーション先ストレージでのデータの更新の順序を適正化する処理を前記コンピュータで実行する処理を含む。
【００４８】
本発明に係るコンピュータプログラムにおいて、前記レプリケーション元のストレージシステムのストレージ情報と更新情報のアドレス情報からアドレスを入手し、前記マッピング情報を基に、論理アドレスに変換するアドレス変換処理を含むようにしてもよい。
【００４９】
本発明に係るコンピュータプログラムにおいて、前記受付処理は、前記更新情報からアドレス情報を抽出して前記アドレス変換処理から論理アドレスを取得し、前記更新情報からアドレス情報を論理アドレスに変換して受付ＩＤとともに送信スケジューラに渡すようにしてもよい。
【００５０】
本発明に係るコンピュータプログラムにおいて、前記レプリケーション先のストレージシステムは前記レプリケーション元のストレージシステムの論理イメージを格納するようにしてもよい。
【００５１】
本発明に係るコンピュータプログラムにおいて、前記レプリケーション元のストレージシステムのファイルのマッピングを管理するファイルマッピング管理手段から、マッピング情報を取得するようにしてもよい。前記マッピング情報には、ファイル、及びメタ情報に応じて、ファイルの識別情報、ファイル内でのアドレス、前記レプリケーション元のストレージシステムのストレージ内のアドレス情報が含まれる。
【００５２】
本発明に係るコンピュータプログラムにおいて、前記送信スケジューラは、前記レプリケーション元のストレージシステムから転送された前記更新情報に対応する送信ルールが即時送信でない場合、記憶手段に更新情報を蓄積し、前記受付手段に対して前記レプリケーション元のストレージシステムへの応答返却の指示を出し、送信ルールが一定時間経過後送信の場合、該当する時間に送信契機イベントが発生するように設定し、即時送信の場合、前記送信処理に送信の指示を出し、応答を受信すると、前記受付手段に対して前記レプリケーション元のストレージシステムへの応答返却の指示を出すようにしてもよい。
【００５３】
本発明に係るコンピュータプログラムにおいて、前記送信スケジューラは、送信契機イベント発生時、前記記憶手段に蓄積されている更新情報を受付順序に応じて取り出し、対応する送信ルールが送信契機と合致している場合、前記更新情報の送信を前記送信処理に指示するようにしてもよい。
【００５４】
本発明に係るコンピュータプログラムにおいて、前記送信スケジューラは、前記更新情報に対応する送信ルールを前記更新情報に関連付けて格納しておき、前記送信契機イベント発生時における前記更新情報に対応する送信ルールの検索処理を省くようにしてもよい。
【００５５】
本発明に係るコンピュータプログラムにおいて、前記送信スケジューラは、前記更新情報に対応する送信ルールが複数ある場合、優先度が最も高い送信ルールでの送信を実行するように制御してもよい。
【発明の効果】
【００５６】
本発明によれば、レプリケーション元のストレージシステムとレプリケーション先のストレージシステムとの間に配設される調停装置が、レプリケーション元のストレージシステムからレプリケーション先のストレージシステムへ転送される更新情報に応じて転送の仕方を可変に制御することで、転送の効率性等を高めながら、レプリケーション先のストレージシステムでのデータ修復を保証している。本発明によれば、更新情報のアドレス情報等に基づき、同期転送、非同期転送等、イベント発生待ち等、各種転送の仕方を可変制御することにより、レプリケーション元のストレージに格納したデータにあわせてレプリケーションのやり方を切り替えることができる。
【００５７】
本発明によれば、レプリケーション元のストレージシステムが仮想化されている場合にも、レプリケーション先のストレージシステムの更新を可能とし、レプリケーション先のストレージシステムでのデータの修復を可能としている。
【発明を実施するための最良の形態】
【００５８】
上記した本発明についてさらに詳細に説述すべく、添付図面を参照して説明する。本発明は、マスターストレージ（図１の１ａ、１ｂ）とレプリカストレージ（図１の２ａ、２ｂ）の間でレプリケーションを行う際に、調停装置（図１の３）を介して行う。
【００５９】
調停装置（３）は、装置内部に記憶保持されている送信ルールに基づき、マスターストレージから送られてきた更新情報を、レプリカストレージに送信し、レプリカストレージでは、送信ルールに基づいた順序にて、更新情報が適用される。
【００６０】
送信ルールに、レプリカストレージで更新情報を適切に適用するための適用順序を決定するためのルールを予め規定しておき、調停装置（３）は、送信スケジューラ（図２の
２３）が、該送信ルールに従って、個々の送信情報を適切な順序でレプリカストレージに適用されるように、スケジューリングを行う。
【００６１】
本発明においては、マスターストレージが仮想化されている場合（図１０、図１５）、あるいは、ファイルマッピング管理手段（図２３の８）でマッピングされている場合、マスターストレージと、レプリカストレージの間でレプリケーションは、仮想アドレスのアドレス変換を行う調停装置（図１０の６、図１５の１５、図２３の４０）を介して行う。
【００６２】
調停装置では、内部に記憶保持されている送信ルールと、仮想化装置から取得したマッピング情報、又は、ファイルマッピング手段からのマッピング情報に基づき、マスターストレージから送られてきた更新情報を、レプリカストレージに送信し、レプリカストレージで送信ルールに基づいた順序で更新情報が適用される。
【００６３】
送信ルールに、マスターストレージが仮想化された状態でのレプリカストレージで更新情報を適切に適用するための適用順序を決定するためのルールを記録しておき、調停装置で、マッピング情報を用いて、仮想化されていないマスターストレージからの更新情報を仮想化された状態に変換して、変換した更新情報と前記ルールを基に、個々の送信情報を、適切な順序でレプリカストレージに適用されるようにスケジューリングを行う。以下、いくつかの実施例に即して詳細に説明する。
【００６４】
＜第１の実施例＞
本発明の第１の実施例について図面を参照して詳細に説明する。図１を参照すると、本発明の第１の実施例は、複数のマスターストレージ１ａ、１ｂと、レプリカストレージ２ａ、２ｂと、マスターストレージ１ａ、１ｂとレプリカストレージ２ａ、２ｂのレプリケーションのための通信を仲介する調停装置３を備えている。本実施例では、レプリカストレージ２ａ、２ｂには修復手段６０が接続される。なお、図１では簡単のため、マスターストレージ群とレプリカストレージ群はそれぞれ、２台のストレージ構成が示されているが、本発明はかかる構成に制限されるものでないことは勿論である。
【００６５】
マスターストレージ１ａ、１ｂは、不図示のホストから、ワンセットとして利用される。例えば、データベースシステムの場合、マスターストレージ１ａにテーブルが格納され、マスターストレージ１ｂにはジャーナルが格納される。あるいは、マスターストレージ１ａの全ボリュームとマスターストレージ１ｂのボリュームの一部にテーブルが格納され、マスターストレージ１ｂのボリュームの残りにジャーナルが格納されるようにしてもよい。
【００６６】
特に制限されないが、以下では、マスターストレージ１ａのレプリカがレプリカストレージ２ａに対応し、マスターストレージ１ｂのレプリカがレプリカストレージ２ｂに対応しているものとする。
【００６７】
不図示のホストからマスターストレージ１ａに対して、ｗｒｉｔｅ要求が発行された場合、マスターストレージ１ａは、ｗｒｉｔｅ要求を、マスターストレージ１ａ内部の不図示の記憶媒体（ＨＤＤ等）又はキャッシュに記憶するとともに、レプリカストレージ２ａに対して、該ｗｒｉｔｅ要求から構成された更新情報を送信し、その応答を待って、ホストに対して、ｗｒｉｔｅの完了を通知する。
【００６８】
なお、マスターストレージ１ａに対するホストからのｒｅａｄ要求に対する動作は、一般的なストレージのｒｅａｄの動作と同様である。
【００６９】
本実施例において、更新情報は、例えば、下記情報から構成される。
【００７０】
・ｗｒｉｔｅにより変更されたストレージ中のデータブロックを示す情報（以下、「アドレス情報」という）、
・更新後のデータ（以下、「更新データ」という）。
【００７１】
本実施例において、図１に示すように、調停装置３は、マスターストレージとレプリカストレージの間に配置されている。調停装置３は、マスターストレージ１ａ、１ｂと、レプリカストレージ２ａ、２ｂが通信する際にその更新情報等が、必ず通過するのであれば、任意の位置に配置してもよい。
【００７２】
また、マスターストレージ１ａ、１ｂ、及び、レプリカストレージ２ａ、２ｂから、調停装置３を隠蔽させるようにしてもよい。例えば、マスターストレージ１から調停装置３を見ると、調停装置３はレプリカストレージ２のアドレスに見え、一方、レプリカストレージ２から調停装置３を見ると、調停装置３はマスターストレージ１のアドレスに見えるように、構成する手法等を用いてもよい。
【００７３】
あるいは、調停装置３をマスターストレージ１ａ、１ｂとレプリカストレージ２ａ、２ｂの間に、ネットワークのゲートウェイ装置のように配置してもよい。このようにすると、マスターストレージ１ａ、１ｂは、あたかもレプリカストレージ２ａ、２ｂと通信しているように見えるが、実際には、調停装置３と通信する。レプリカストレージ２ａ、２ｂは、マスターストレージ１ａ、１ｂと通信しているように見えるが、実際には、調停装置３と通信することになる。
【００７４】
さらに別の例として、調停装置３を、マスターストレージ１ａ、１ｂと、レプリカストレージ２ａ、２ｂの間に、明示的に、挿入するようにしてもよいことは勿論である。この場合、マスターストレージ１ａ、１ｂは、明示的に、調停装置３に対して送信を行い、調停装置３では、受信した更新情報の発信元のマスターストレージを判定し、調停装置にあらかじめ設定されたマスターストレージとレプリカストレージの対応関係（レプリケーション・ペア情報）に基づき、更新情報を対応したレプリカストレージに送るようにしてもよい。
【００７５】
レプリカストレージ２ａ、２ｂは、レプリケーションのレプリカ機能を持ったストレージであり、マスターストレージ１ａ、１ｂと切り離された際には、不図示のホストからのｒｅａｄの要求やｗｒｉｔｅの要求を処理する。
【００７６】
本実施例において、レプリカストレージ２ａ、２ｂは、更新情報を受け取ると、更新情報中のアドレス情報に対応したブロックに、更新後のデータを書き込み、更新情報の送り元のマスターストレージ１ａ、１ｂに調停装置３を介して応答を返す。
【００７７】
図２は、図１の調停装置３の構成の一例を示す図である。図２を参照すると、調停装置３は、マスターストレージ１ａ、１ｂからの更新情報を受け取る受付手段２０と、更新情報を一時的に蓄積する更新情報プール２１と、更新情報の送信のスケジューリングを行う送信スケジューラ２３と、レプリカストレージ２ａ、２ｂに更新情報を送信する送信手段２４を備えている。なお、これらの手段は、調停装置３を構成するコンピュータ上で実行されるプログラムによりその処理・機能を実現するようにしてもよいことは勿論である。他の実施例についても同様である。
【００７８】
受付手段２０は、マスターストレージ１ａ、１ｂから、更新情報を受け取ると、図３に示すように、
・更新情報、
・送信元のマスターストレージを示す情報（「マスターＩＤ」という）、
・受け付けた順序を示す番号（「受付ＩＤ」という）、
・更新情報の宛先の情報、
をまとめて一時記憶形式を作成する。
【００７９】
なお、受付手段２０で更新情報を受信したとき、受付手段２０内の不図示の受信バッファに更新情報を蓄積し、一次記憶形式に格納する更新情報は、受信バッファのポインタ及びサイズ情報であってもよい。
【００８０】
受付手段２０は作成した一時記憶形式を送信スケジューラ２３に渡す。
【００８１】
次に、受付手段２０は、送信スケジューラ２３から応答返却の指示を待ち、更新情報の送信先であるマスターストレージ１ａ、１ｂに応答を送信する。
【００８２】
特に制限されないが、送信スケジューラ２３は、受付手段２０から受け取った更新情報の一次記憶形式ごとに、それに適した処理（すぐ送る、蓄積する、蓄積した場合にはどの契機で送るか）を決定するための送信ルールを、内部の記憶装置（不図示）に備えている。送信ルールは、調停装置３内において、送信スケジューラ２３が参照できる記憶装置（不図示）に格納するようにしてもよい。
【００８３】
本実施例で用いられる送信ルールの一例について説明する。
【００８４】
送信ルールは、複数のエントリーを持つ表として構成され、各エントリーは、例えば図４に示すように、以下の情報を持つ。
【００８５】
・マスターＩＤ、
・ボリュームＩＤ（マスターストレージ中のボリュームを特定する情報）、
・オフセット範囲［先頭（ｓｔａｒｔ）・最後尾（ｅｎｄ）］（ボリューム中のブロックの範囲を特定するための情報）、
・動作の種類を示す情報
【００８６】
なお、更新情報の一次記憶形式に格納されたマスターＩＤが、送信ルールのマスターＩＤと一致すれば、他の項目、すなわち、ボリュームＩＤやオフセットの値を考慮しなくてもよいことを示す値を、ボリュームＩＤ、オフセット範囲に記録するようにしてもよい。
【００８７】
更新情報の一次記憶形式に格納されたマスターＩＤとボリュームＩＤが一致すれば、オフセットの値を考慮しなくてもよいことを示す値を、ボリュームＩＤ、オフセット範囲に記録するようにしてもよい。
【００８８】
あるいは、受付手段２０からの更新情報の一次記憶形式が、送信ルールのどのエントリーにも照合しなかった場合の動作を示す値（デフォルト値）を、マスターＩＤ、ボリュームＩＤ、オフセット範囲に記録しておくようにしてもよい。この場合、更新情報のアドレス情報が、送信ルールのエントリーと照合しなかった場合、該更新情報の送信に関してデフォルトの動作が実行される。
【００８９】
また、送信ルールは、エントリーの優先度順に評価され、評価した一時記憶形式が、複数のエントリーに該当する場合、優先度が最も高いエントリーの送信が実行される。なお、エントリーに、優先度情報を格納するようにしてもよいし、優先度順にエントリーを配列し、先頭から探索・評価するようにしてもよい。
【００９０】
送信スケジューラ２３における更新情報の送信動作の種類としては、例えば、以下の動作、又はその組合わせが用いられる。特に制限されないが、送信ルールの検索の結果、更新情報に照合したエントリーで規定される送信動作の種類としては、以下のものがある。
【００９１】
（Ａ１）即時に送信する。
【００９２】
（Ａ２）更新情報プール２１の空き容量が閾値以下となるまで送信しない。
【００９３】
（Ａ３）更新情報を受信後予め定められた時間の間送信しない。
【００９４】
（Ａ４）更新情報を受信後予め定められた時間経過後に送信する。
【００９５】
（Ａ５）外部からの指示があるまで送信しない。
【００９６】
（Ａ６）予め定められた時刻になるまで送信しない。
【００９７】
（Ａ７）送信対象の更新情報に関して、該更新情報の優先度よりも、優先度の高い更新情報が、更新情報プール２１に溜まっていない場合に送信する。
【００９８】
なお、即時に送信する以外は、複数の動作（Ａ２）乃至（Ａ７）のいずれかを組合わせるようにしてもよい。また、即時に送信する場合、後述するように、同期型、非同期型の種別を規定してもよい。さらに、（Ａ７）において、更新情報の優先度は、送信スケジューラ２３において、送信ルールの検索の結果、更新情報に照合したエントリーの優先度に対応している。
【００９９】
なお、（Ａ１）乃至（Ａ７）は、送信ルールの各エントリーにコード化されて格納され、また、（Ａ３）等の場合、設定時間をパラメータとして可変に指定できるようにしてもよい。また、（Ａ５）の場合、外部からの指示を固定とするか、可変とし、その指示の内容を可変に設定できるようにしてもよい。
【０１００】
（Ａ６）の場合、時刻を送信ルールの動作の種類のフィールドで可変に設定できるようにしてもよい。
【０１０１】
例えば、（Ａ４）と（Ａ２）のＯＲ演算の組合わせにより、次の（Ａ８）が設定される。
【０１０２】
（Ａ８）更新情報を受信後１０分経過するか、更新情報プール２１の空きがなくなったら送る。
【０１０３】
また、（Ａ２）と（Ａ５）のＯＲ演算の組合わせにより、次の（Ａ９）が設定される。
【０１０４】
（Ａ９）更新情報プール２１の空きがなくなるか、外部からの指示があったら送る。
【０１０５】
また、（Ａ２）と（Ａ６）のＯＲ演算の組合わせにより、次の（Ａ１０）が設定される。
【０１０６】
（Ａ１０）更新情報プール２１の空きがなくなるか、指定された時刻になったら送る。
【０１０７】
また、（Ａ６）と（Ａ４）のＯＲ演算の組合わせにより、次の（Ａ１１）が設定される。
【０１０８】
（Ａ１１）外部からの指示があったときに、指定された期間以上経過していたら送る。
【０１０９】
次に、本実施例における、送信スケジューラ２３において、更新情報を送信する契機となるイベントの具体例について説明する。送信契機イベントとして、例えば下記の（Ｂ１）乃至（Ｂ３）等が用いられる。
【０１１０】
（Ｂ１）更新情報の受信から予め定められた時間経過後の送信において、予め定められた時間が過ぎる。
【０１１１】
（Ｂ２）予め定められた時刻となる。
【０１１２】
（Ｂ３）更新情報プール２１の空き容量が閾値を下回る。
【０１１３】
図５は、本実施例における送信スケジューラ２３の動作を示す流れ図である。図５を参照して、送信スケジューラ２３の動作を説明する。
【０１１４】
イベント待ち状態（ステップＳ１０１）において、イベント発生時、送信スケジューラ２３はイベントの種類を判別する（ステップＳ１０２）。受付手段２０から更新情報の一時記憶形式を受け取った場合、送信スケジューラ２３は、一時記憶形式のマスターＩＤとアドレス情報を基に、送信ルールを検索し、マスターＩＤ等が照合する送信ルールのエントリーを探す（ステップＳ１０３）。
【０１１５】
照合した送信ルールの動作の種類が、即時送信でない場合（ステップＳ１０４のＮｏ分岐）、送信スケジューラ２３は、一次記憶形式を、更新情報プール２１に蓄積する（ステップＳ１０５）。
【０１１６】
送信スケジューラ２３は、受付手段２０に、マスターストレージに対して応答を返却するように指示する（ステップＳ１０６）。
【０１１７】
送信スケジューラ２３は、更新情報を受信した後、予め定められた時間経過後の送信であるかチェックし（ステップＳ１０７）、時間経過後送信でない場合には（ステップＳ１０７のＮｏ分岐）、ステップＳ１０１に戻る。
【０１１８】
時間経過後送信の場合には（ステップＳ１０７のＹｅｓ分岐）、送信時間に送信契機イベントが発生するように、送信スケジューラ２３は、不図示のタイマを設定し（ステップＳ１０８）、ステップＳ１０１に戻る。
【０１１９】
ステップＳ１０４において、即時送信の場合（ステップＳ１０４のＹｅｓ分岐）、送信スケジューラ２３は、送信手段２４に更新情報の送信を指示する（ステップＳ１０９）。
【０１２０】
送信スケジューラ２３は、更新情報を送信した宛先であるレプリカストレージからの応答を待ち（ステップＳ１１０）、受付手段２０に応答の返却を指示する（ステップＳ１１１）。
【０１２１】
ステップＳ１０２のイベントの種別の判別の結果、送信契機イベント（上記（Ｂ１）乃至（Ｂ３）のいずれか等）が発生時、更新情報プール２１に蓄積されている一次記憶形式の中から、受付ＩＤの最も小さい一次記憶形式を選択する（ステップＳ１３０）。
【０１２２】
一次記憶形式のマスタＩＤと、更新情報中のアドレス情報を基に、送信ルールのエントリーを検索する（ステップＳ１３１）。
【０１２３】
発生した送信契機と、検索された送信ルールの動作の種類が一致する場合（ステップＳ１３２のＹｅｓ分岐）、送信スケジューラ２３は、送信手段２４に、当該受付ＩＤの一次形式の更新情報の送信を指示する（ステップＳ１３３）。送信スケジューラ２３は、更新情報を送信後、更新情報プール２１から、送信した一次記憶形式を削除する（ステップＳ１３４）。
【０１２４】
更新情報プール２１に蓄積されている確認対象の一次記憶形式を、次に受付ＩＤが小さいものに変更する（ステップＳ１３５）。
【０１２５】
ステップＳ１３１からステップＳ１３５の処理を、更新情報プール２１内に蓄積されている一次記憶手段の全ての受付ＩＤについて完了すると（ステップＳ１３６のＹｅｓ）、ステップＳ１０１に戻る。
【０１２６】
高優先度の更新情報が、更新情報プール２１に蓄積されていないかを確認する場合、更新情報プール２１に蓄積されている一次記憶形式の中から、受付ＩＤの最も小さい一次記憶形式を選択する（ステップＳ１４０）。
【０１２７】
一次記憶形式のマスタＩＤと、更新情報中のアドレス情報を基に、送信ルールのエントリーを検索する（ステップＳ１４１）。
【０１２８】
対象エントリーよりも優先度の高いルールの場合（ステップＳ１４２のＹｅｓ分岐）、ステップＳ１０１に戻る。
【０１２９】
対象エントリーよりも優先度の低いルールの場合（ステップＳ１４２のＮｏ分岐）、確認する対象を、次に受付ＩＤが小さいものに変更する（ステップＳ１４３）。
【０１３０】
ステップＳ１４１からステップＳ１４４の処理を、更新情報プール２１に蓄積されている一次記憶形式の全てについて確認した場合（ステップＳ１４４のＹｅｓ）、ステップＳ１３０に移行し、送信契機発生の処理を行う。
【０１３１】
本実施例においては、送信ルールで、即時送信となっていないエントリーに該当した更新情報は、更新情報プール２１に登録された段階で、マスターストレージ（１ａ、１ｂ）に応答が返るため、非同期型レプリケーションとなる。
【０１３２】
即時送信となっているエントリーに該当した更新情報は、レプリカストレージからの応答が返ってきてから、調停装置３からマスターストレージ（１ａ、１ｂ）に応答が返り（ステップＳ１１０、Ｓ１１１）、ホストに応答が返るので、同期型レプリケーションとなる。
【０１３３】
この実施例の送信スケジューラ２３は、一次記憶形式に関して、送信ルールの同じエントリーに該当する更新情報の全てを送信するように制御しているが、一部を送信できた段階で、イベント待ちに移行するようにしてもよい。
【０１３４】
次に、更新情報プール２１における一時記憶形式の記憶管理の一例について説明する。特に制限されないが、本実施例では、更新情報の一時記憶形式に、他の一時記憶形式の先頭を示す情報を保管するポインタ領域を持たせ、線形リスト形式で管理する。更新情報は可変長とされる。すなわち、図６に示すように、一時記憶形式は、図３の構成に加えて、次の一時記憶形式の先頭を示す情報を保管するポインタ領域を備え、複数の一時記憶形式が繋がれ、最後尾の一時記憶形式のポインタ領域には、最後尾を示す情報（例えばＮｕｌｌ）が格納される。なお、一時記憶形式において、ポインタ領域が配置される欄は、先頭欄に限定されず、どの欄であってもよい。
【０１３５】
あるいは、一時記憶形式ごとにファイルを作成し、ファイルとして管理してもよい。この場合、更新情報プール２１は、ファイルをアクセスするための情報（アドレス、サイズ）が格納される。あるいは、前述したように、更新情報をファイルに格納し、一記憶形式の更新情報の欄を、ファイルのアドレス情報としてもよい。
【０１３６】
送信スケジューラ２３は、一次記憶形式のマスターＩＤ等と送信ルールのエントリーの照合の行う場合、基本的に、受付ＩＤの古い順に行う。
【０１３７】
送信手段２４は、送信スケジューラ２３から、一時記憶形式を渡され、送信を指示されると、更新情報の宛先と更新情報を取り出し、更新情報を宛先に対して送信する。更新情報を送信した宛先のレプリカストレージから応答が調停装置３に返却されたら、送信スケジューラ２３に応答が来たことを通知して処理を終了する。
【０１３８】
本実施例の送信ルールの一具体例としてデータベースを例に説明する。
【０１３９】
データベースシステムでは、ジャーナルデータ（ログ、ジャーナルログ、ｒｅｄｏログともいう）が更新順序どおりに転送され、マスターストレージとレプリカストレージのデータが初期状態で一致していれば、ジャーナルデータにより、データベースのテーブルを修復することができる。マスターストレージ１ａがテーブル、マスターストレージ１ｂがジャーナルデータを格納している場合、マスターストレージ１ｂは、ジャーナルデータの更新情報を、即時でレプリカストレージ２ｂ宛てに転送し、マスターストレージ１ａは、データの更新情報を、任意のタイミングで転送するようにする。このようにすることで、障害発生等により、マスターストレージが使用不可となっても、レプリカストレージをほぼ、最新の状態に設定することができる。
【０１４０】
すなわち、
調停装置３の送信スケジューラ２３において、
・ジャーナルデータを格納するストレージ、該ストレージ中のボリュームを即時送信、
・他のストレージ、ボリュームを任意の送信動作、
とした送信ルールを用いることで、データベースシステムにおいて、修復可能な状態で転送することが可能となる。
【０１４１】
このようにすると、少なくとも調停装置３とレプリカストレージの間では、即時に送信されるジャーナルデータが転送可能な帯域のネットワークを用意すればよいことから、ネットワークの費用を下げることが可能となる。
【０１４２】
次に、本実施例の送信ルールの別の具体例としてファイルシステムを例に説明する。
【０１４３】
メタデータロギングを行うジャーナリングファイルシステムにおいて、ジャーナル情報、ファイル管理情報等のメタ情報、ファイルデータのそれぞれを異なるストレージあるいはボリューム、少なくともアドレスに格納するようにしたシステムの場合、
・ジャーナル情報を、即時で１番目の優先度、
・ファイル管理情報等のメタ情報を、２番目の優先度で３０秒に一度転送、
・ファイルデータを、３番目の優先度で、上位の優先度がないときに転送、
とすることで、レプリカストレージでは、ジャーナル情報から、メタデータを再構成することができる。
【０１４４】
このため、ファイルのチェック及び修復を行うコマンド（Ｌｉｎｕｘ（登録商標）系のｆｓｃｋ、Ｗｉｎｄｏｗｓ（登録商標）系のｓｃａｎｄｉｓｋ）等の修復プログラムにより、ファイル管理情報は最新の情報に修復が可能となる。
【０１４５】
図２の送信スケジューラ２３の動作の別の例を説明する。図７は、本実施例における送信スケジューラ２３の動作の変形例を示す図である。図７において、図２の受付手段２０から一時記憶形式を受け取るイベント以外の処理は、図５と同じであるため、省略されている。
【０１４６】
図７に示す例においては、受付手段２０から一時記憶形式を受け取ると、受付手段２０に応答返却を指示する（ステップＳ１１２）。  
【０１４７】
一時記憶形式のマスタＩＤとアドレス情報を基に、送信ルールを検索し一致するエントリーを探す（ステップＳ１０３）。
【０１４８】
送信ルールが、即時送信でない場合（ステップＳ１０４のＮｏ分岐）、一次記憶形式を更新情報プール２１に蓄積する（ステップＳ１０５）。
【０１４９】
更新情報を受信した後予め定められた時間経過後の送信であるかチェックし（ステップＳ１０７）、時間経過後の送信でない場合、ステップＳ１０１に戻る。
【０１５０】
時間経過後の送信の場合、送信時間に、送信契機イベントを発生するように、タイマを設定し（ステップＳ１０８）、ステップＳ１０１に戻る。
【０１５１】
ステップＳ１０４において、即時送信の場合、送信スケジューラ２３は、送信手段２４に更新情報の送信を指示する（ステップＳ１０９）。
【０１５２】
図７に示した例は、非同期型レプリケーションの動作となる。従って、即時送信の場合であっても、レプリカストレージ２ａ、２ｂへの転送の処理は、マスターストレージ１ａ、１ｂに影響を与えない。なお、図７に示す例では、一次記憶形式のマスターＩＤ等と照合したエントリーの送信ルールに関して、同じエントリーに該当する一次記憶形式の更新情報を全て宛先のレプリカストレージに送信しているが、一致する一次記憶形式の更新情報を全て送信するのではなく、一致する複数の一次記憶形式のうちの一部を送信できた段階で、ステップＳ１０１のイベント待ちに移行するようにしてもよい。
【０１５３】
次に、図２の送信スケジューラ２３の別の動作の例を説明する。図８は、送信スケジューラ２３の更に別の動作を示す図である。受付手段から一時記憶形式を受け取るイベント以外は、図５と同じ動作となるので省略されている。
【０１５４】
この動作では、送信ルールで、即時送信を同期、非同期の２種類に分ける。
【０１５５】
ステップＳ１０４の判定の結果、動作が即時送信の場合、同期、非同期であるかを判定し（ステップＳ１１３）、同期型の場合（ステップＳ１１３のＹｅｓ分岐）、図５のステップＳ１０９乃至Ｓ１１１と同じ動作を行う。一方、非同期の場合（ステップＳ１１３のＮｏ分岐）、受付手段２０に応答返却を指示し（ステップＳ１１４）、送信手段２４に送信を指示する（ステップＳ１１５）。
【０１５６】
図８に示した例の場合、ストレージ、又は、ストレージ中のデータブロックによって、同期型レプリケーション（レプリカストレージの応答を転送）と非同期レプリケーション（受付手段で応答）を切り替えて行うことが可能となる。すなわち、ストレージ、あるいはストレージ中のデータブロックによって、レプリケーションの影響を、マスターストレージの処理に出さないか（非同期型レプリケーション）、データが完全に複製することを保障するか（同期型レプリケーション）を切り替えることが可能となる。つまり、ストレージに格納したデータにあわせて、適切にレプリケーションのやり方を切り替えることが可能となる。
【０１５７】
図８の例においても、一次記憶形式のマスターＩＤ等と照合した送信ルールに関して、同じエントリーに該当する一次記憶形式の更新情報を全て宛先のレプリカストレージに送信しているが、一致する一次記憶形式の更新情報を全て送信するのではなく、一致する複数の一次記憶形式のうちの一部を送信できた段階で、ステップＳ１０１のイベント待ちに移行するようにしてもよい。また、一次記憶形式のマスターＩＤ等と照合した送信ルールのうち複数のエントリーに一致している場合、最も優先度の高いエントリーを選択し、該エントリーの動作にしたがって送信するようにしてもよい。
【０１５８】
図５、図７、図８を参照して説明した送信スケジューラの動作の変形例についてさらに説明する。
【０１５９】
前述の３つの例において、図９に示すように、更新情報の一時記憶形式内に、送信ルールのエントリーのＩＤ（エントリー番号）を記録する領域を設けておくようにしてもよい。
【０１６０】
送信スケジューラ２３は、受付手段２０から一時記憶形式を受け取り、送信ルールを検索した際、即時送信以外であった場合には、適応した送信ルールのエントリーに対応したＩＤを、一時記憶形式の送信ルールのエントリーＩＤの欄に記録しておく。
【０１６１】
送信契機イベント発生等により、送信スケジューラ２３が、一次記憶形式と送信ルールとの照合を行う際、一時記憶形式に格納されているエントリーＩＤを用いることで、実際の送信ルールの検索を省略することができる。すなわち、送信スケジューラ２３において、送信契機イベント発生時に、送信ルールを検索する必要がなくなり、各処理が短時間で処理できるようになる。すなわち、調停装置の処理能力が向上する。
【０１６２】
次に、本実施例における修復手段６０（図１参照）について説明する。障害又は運用等により、マスターストレージ１ａ、１ｂが動作できなくなった場合、レプリカストレージ２ａ、２ｂを使用して、処理を再開する。
【０１６３】
処理を再開する前に、修復手段６０による、レプリカストレージ２ａ、２ｂのデータの修復が行われる。修復手段６０による修復処理としては、修復手段６０が、レプリカストレージ２ａ、２ｂからデータを読み出し、レプリカストレージ２ａ、２ｂ内のデータの不整合箇所を、不整合のない状態に変更する。
【０１６４】
修復手段６０は、不図示のレプリカストレージを使用するホスト中に実装される。
【０１６５】
修復手段６０による、修復の一具体例としてデータベースについて説明する。
【０１６６】
データベースシステムでは、ジャーナルデータを古いものから順にテーブルのデータに適用していくことで、最新の状態に戻すことができる（「クラッシュリカバリー」と呼ばれる処理に対応する）。
【０１６７】
レプリカストレージにおいて、初期状態以降の全てのジャーナルデータを保持し続けることは困難である。
【０１６８】
古いジャーナルデータを破棄する時点において、レプリカストレージ中のテーブルデータが、該破棄される古いジャーナルデータによって更新された状態よりも、新しい状態になっていれば、残されたジャーナルデータから、最新の状態にすることが可能である。
【０１６９】
ジャーナルデータが破棄されるまでの期間が、例えば１週間であった場合、テーブルデータは、その期間よりも前（ジャーナルデータ転送後、１週間が経過する前）に、レプリカストレージに転送されさえすればよい。これを実現するには、以下の手法がある。
【０１７０】
調停装置３にマスタストレージから更新情報が到着後１週間よりも短い期間経過したら該更新情報を送信するように、送信ルールを設定する。
【０１７１】
レプリカストレージにおいて、ジャーナルデータの破棄が行われるよりも一定期間前に、外部からの指示で送信を行わせる。
【０１７２】
修復処理の別の具体例として、ジャーナリングファイルシステムについて説明する。修復手段６０は、ジャーナルデータ中のメタ情報の更新履歴を、ジャーナル中の古い更新の順に、メタ情報を変更して行く。このようにして、メタ情報が無矛盾な状態になる。
【０１７３】
＜第２の実施例＞
次に、本発明の第２の実施例について図面を参照して詳細に説明する。本発明の第２の実施例においては、マスターストレージとレプリカストレージが同じように仮想化されていて、物理イメージでレプリケーションを行う。図１０は、本実施例のシステム構成を示す図である。マスターストレージ１ａ、１ｂと、レプリカストレージ２ａ、２ｂは、それぞれ１対１に対応している。マスターストレージ１ａ、１ｂは、仮想化装置５により、仮想化されている。ホスト６１は、仮想化されたマスターストレージ１ａ、１ｂを論理イメージで用いる。なお、レプリカストレージ２ａ、２ｂも、仮想化装置１４により仮想化されて用いられる。また、仮想化装置５と仮想化装置１４は、仮想化する対象がマスターストレージ１ａ、１ｂ、レプリカストレージ２ａ、２ｂであり、対象ストレージが異なるだけで同じマッピング情報で仮想化が行われる。
【０１７４】
仮想化装置５と仮想化装置１４のマッピング情報は、初期状態で同一とし、仮想化装置５でマッピング情報を変更した際に、仮想化装置１４に対して、その変更を通知し、マッピング情報を同期状態に保つ。
【０１７５】
仮想化装置５によりマスターストレージ１ａ、１ｂは、仮想化される。仮想化の仕方としては、以下の手法を用いることができる。
【０１７６】
（Ｃ１）マスターストレージ１ａとマスターストレージ１ｂとを連結する（マスターストレージ１ａの終端まできたらマスターストレージ１ｂの先頭になる）。
【０１７７】
（Ｃ２）マスターストレージ１ａとマスターストレージ１ｂとをストライピングする（ブロック単位で、マスターストレージ１ａとマスターストレージ１ｂを交互に使っていく）。
【０１７８】
（Ｃ３）ＨＳＭ（Ｈｉｅｒａｒｃｈｉａｌ  Ｓｔｏｒａｇｅ  Ｍａｎａｇｅｍｅｎｔ）のように、使う頻度にあわせて、良く使われるデータブロックはマスターストレージ１ａとし、そうでないものをマスターストレージ１ｂに置く。なお、ＨＳＭでのブロックの移動の際には、ブロックの移動に伴い、データの書き込みも、レプリケーションの対象となる。
【０１７９】
次に、本実施例における仮想化装置５、１４の動作について説明する。仮想化装置５は、ホスト６１からｒｅａｄ／ｗｒｉｔｅ要求を受け取ると、マッピング情報を基に、そのｒｅａｄ／ｗｒｉｔｅ要求を対応するマスターストレージ１ａ、１ｂの対応したブロックへのｒｅａｄ／ｗｒｉｔｅ要求に変換し、マスターストレージ１ａ、１ｂに要求を発行し、ｗｒｉｔｅであれば、書き込むデータも転送する。
【０１８０】
そして、マスターストレージ１ａ、１ｂからの応答をホスト６１に転送する。ｒｅａｄ要求の場合、応答の転送とともに、読み出されたデータもホスト６１に転送する。なお、図１０では、簡単のため、ホスト６１は１台のみが示されているが、複数台であってもよいことは勿論である。
【０１８１】
次に、本実施例のマッピング情報について説明する。マッピング情報は、仮想化された状態のアドレス（論理アドレス）と、該論理アドレスに対応した領域を格納したマスターストレージのＩＤ（マスターＩＤ）、および、マスターストレージ中の領域のアドレス（物理アドレス）を一つのエントリーとし、エントリーをまとめた表として構成する。なお、論理アドレスおよび物理アドレスは、ボリューム番号とアドレスの対であってもかまわない。
【０１８２】
ストライピングで行う場合には、マッピング情報は、数式で表すことができる。
【０１８３】
仮想化されたストレージおよびマスターストレージを、ストライプさせる幅でブロックに分割し、仮想化されたストレージのブロック番号をＸ、マスターストレージのＩＤをＳ、マスターストレージ内のブロック番号をＢとし、Ｎ台のストレージに分割した場合、Ｓ、Ｂは次式（１）、（２）で与えられる。
【０１８４】
Ｓ＝ｆ（Ｘ／Ｎ）        …（１）
Ｂ＝ｍ（Ｘ，Ｎ）        …（２）
【０１８５】
なお、
ｆ（ｘ）は、小数点以下を切り捨てる関数であり、
ｍ（ｘ、ｙ）は、ｘをｙで割った剰余を返す関数である。
【０１８６】
仮想化されたストレージが連結されたものである場合に、マッピング情報は、数式で表すことができる。仮想化されたストレージのブロック番号をＸ、マスターストレージのＩＤをＳ、マスターストレージ内のブロック番号をＢ、マスターストレージのサイズをＭとした場合、Ｓ、Ｂは、次式（１）’、（２）’で与えられる。
【０１８７】
Ｓ＝ｆ（Ｘ／Ｍ）        …（１）’
Ｂ＝ｍ（Ｘ，Ｍ）        …（２）’
【０１８８】
なお、
ｆ（ｘ）は、小数点以下を切り捨てる関数であり、
ｍ（ｘ、ｙ）は、ｘをｙで割った剰余を返す関数である。
【０１８９】
本実施例において、調停装置６を、マスターストレージ１ａ、１ｂとレプリカストレージ２ａ、２ｂの間に配置する構成は、前記第１の実施例と同様である。すなわち、調停装置６を、隠蔽しても、明示的に配置するようにしてもよい。
【０１９０】
本実施例における、マスターストレージの動作は第１の実施例と同じである。また、本実施例における、更新情報も、第１の実施例と同じである。本実施例において、レプリカストレージ２ａ、２ｂが、更新情報を受け取ったときの動作は、前記第１の実施例と同じである。
【０１９１】
図１１は、本実施例における調停装置６の構成を示す図である。図１１を参照すると、仮想化装置５からマッピング情報３１が、調停装置６の送信スケジューラ３０に供給される。調停装置６の受付手段２０の動作は、第１の実施例の調停装置６の受付手段２０の動作と同じであるため、その説明は省略する。マッピング情報３１は、前述したように、論理アドレス、マスターＩＤ、物理アドレスの３つ組、あるいは、数式（１）、（２）で与えられるマスターストレージのＩＤ、マスターストレージ内のブロック番号を有する。
【０１９２】
送信ルールにおいて、動作の種類は、仮想化装置５で仮想化された状態（論理アドレス）での送信ルールである点を除き、第１の実施例と同じである。各エントリーは、図４に示すように、下記から構成される。
【０１９３】
・ボリュームＩＤ（仮想化されたストレージ中のボリュームを特定する情報）、
・オフセット範囲［先頭・最後尾］（仮想化されたボリューム中のブロックの範囲を特定するための情報）、
・動作の種類を示す情報
【０１９４】
次に、本実施例の送信スケジューラ３０の動作を説明する。図１２は、本実施例の送信スケジューラ３０の動作を示す流れ図である。図５の処理と同一の処理は、同一の参照番号が付されている。
【０１９５】
送信スケジューラ３０の動作は、送信ルールを検索する前に、マスターＩＤと更新情報のアドレス情報中のアドレス情報からアドレスを入手し、仮想化装置５から入手したマッピング情報３１を基に、論理アドレスに変換するステップ（ステップＳ１１６、Ｓ１３７、Ｓ１４５）が挿入されている点を除き、第１の実施例の送信スケジューラ２３の動作と同じである。
【０１９６】
仮想化された論理アドレスから物理アドレスへの変換については前述したが、マッピング情報を基にした逆変換（物理アドレスから仮想化されたストレージのブロック番号）について説明する。
【０１９７】
マッピング情報が、論理アドレスとマスターＩＤと物理アドレスを１組のエントリーとし、エントリーをまとめた表として構成されている場合、
・マッピング情報のマスターＩＤを、マスターＩＤとし、
・更新情報のアドレス情報のアドレスを物理アドレス、
として、マッピング情報の複数のエントリー（論理アドレスとマスターＩＤと物理アドレス）の中から、一致したエントリーの論理アドレスを論理アドレスとして、送信ルールの検索に使用する。
【０１９８】
また、ストライピングを行っている場合には、ストライピングで行う場合、
仮想化されたストレージのブロック番号をＸ、
マスターストレージのＩＤをＳ、
マスターストレージ内のブロック番号をＢとし、
Ｎ台のストレージに分割した場合、Ｘは次式（３）で与えられる。
【０１９９】
Ｘ＝Ｂ×Ｎ＋Ｓ        …（３）
【０２００】
ストレージが連結された場合には、仮想化されたストレージのブロック番号をＸ、マスターストレージのＩＤをＳ、マスターストレージ内のブロック番号をＢ、マスターストレージのサイズをＭとした場合、Ｘは次式（４）で与えられる。
【０２０１】
Ｘ＝Ｍ×Ｓ＋Ｂ        …（４）
【０２０２】
次に、本実施例における送信スケジューラ３０の別の動作について説明する。図１３は、送信スケジューラ３０の別の動作を示す流れ図である。送信スケジューラ３０の動作は、送信ルールを検索する前に、マスターＩＤと更新情報中のアドレス情報中のアドレス情報からアドレスを入手し、仮想化装置５から入手したマッピング情報を基に、論理アドレスに変換するステップ（Ｓ１１６）が挿入されている点を除き、図７に示した第１の実施例の動作と同じである。
【０２０３】
図１３の処理手順では、非同期型レプリケーションの動作となる。従って、即時送信をやる場合でも、レプリカストレージへの転送の処理は、マスターストレージに影響を与えない。図１３に示す例では、一次記憶形式のマスターＩＤ等と照合したエントリーの送信ルールに関して、同じエントリーに該当する一次記憶形式の更新情報を全て宛先のレプリカストレージに送信しているが、一致する一次記憶形式の更新情報を全て送信するのではなく、一致する複数の一次記憶形式のうちの一部を送信できた段階で、ステップＳ１０１のイベント待ちに移行するようにしてもよい。
【０２０４】
送信スケジューラ３０のさらに別の動作の例について説明する。図１４は、送信スケジューラ３０の別の動作を示す流れ図である。送信スケジューラ３０の動作は、送信ルールを検索する前に、マスターＩＤと更新情報中のアドレス情報からアドレスを入手し、仮想化装置５から入手したマッピング情報を基に、論理アドレスに変換するステップＳ１１６が新たに挿入されている点を除き、図８に示した第１の実施例の送信スケジューラ２３の別の動作と同じである。
【０２０５】
この動作では、送信ルールにおいて、即時送信を同期、非同期の２種類に分ける。論理ストレージ中のボリューム、又は、ストレージ中のデータブロックによって、同期型レプリケーション（レプリカストレージの応答を転送）と、非同期レプリケーション（受付手段で応答）を切り替えて行うことが可能となる。
【０２０６】
すなわち、ストレージ、あるいはストレージ中のデータブロックによって、レプリケーションの影響を、マスターストレージの処理に出さないか（非同期型レプリケーション）、データが完全に複製することを保障するか（同期型レプリケーション）のいずれかに切り替えることが可能となる。つまり、ストレージに格納したデータにあわせて、適切にレプリケーションのやり方を切り替えることが可能となる。
【０２０７】
なお、図１４に示す例では、一次記憶形式のマスターＩＤ等と照合したエントリーの送信ルールに関して、同じエントリーに該当する一次記憶形式の更新情報を全て宛先のレプリカストレージに送信しているが、一致する一次記憶形式の更新情報を全て送信するのではなく、一致する複数の一次記憶形式のうちの一部を送信できた段階で、ステップＳ１０１のイベント待ちに移行するようにしてもよい。
【０２０８】
また、送信スケジューラ３０においても、図９を参照して説明したように、一時記憶形式に送信ルールのエントリーのＩＤを記録する領域を設け、受付手段２０から受け取り、送信ルールを検索した際、即時送信以外であった場合に、適応した送信ルールのエントリーに対応したＩＤを前記領域に記録するように改良し、送信契機等での、送信ルールの検索時にそのＩＤを使用することで実際の検索を省略するようにしてもよい。このようにすることで、送信ルールを検索する必要がなくなり、各処理が短時間で処理できるようになる。すなわち、調停装置６の処理能力が向上する。
【０２０９】
本実施例において、更新情報プール２１での一時記憶形式の管理は、図６を参照して説明した前記第１の実施例の管理と同一である。また送信手段２４の動作も、前記第１の実施例と同一である。
【０２１０】
本実施例における修復手段６０は、仮想化装置１４を経由して、仮想化されたレプリカストレージに対してアクセスする点を除き、前記第１の実施例と同一である。
【０２１１】
＜第３の実施例＞
本発明の実施例３について説明する。図１５は、本発明の第３の実施例の構成を示す図である。本実施例は、第２の実施例の変形例であり、マスターストレージ１ａ、１ｂは仮想化装置５で仮想化し、レプリカストレージは仮想化されたマスターストレージのレプリカを格納するものである。調停装置１５では、物理アドレスと論理アドレスの変換を行ってレプリケーションを実行する。
【０２１２】
マスターストレージ１ａ、１ｂは仮想化装置５により仮想化され、ホスト６１はこの仮想化されたマスターストレージ１ａ、１ｂを使用する。
【０２１３】
マスターストレージ１ａ、１ｂのそれぞれは、ホスト６１によって更新が行われた場合、レプリカストレージ２へレプリケーションを行う。
【０２１４】
レプリカストレージ２は、仮想化されたマスターストレージのレプリカである。
【０２１５】
マスターストレージ１ａ、１ｂは、調停装置１５に対してレプリケーションのための更新情報を送り、調停装置１５は、仮想化装置５から入手したマッピング情報を基に、アドレスの物理変換を行い、更新情報を変更し、レプリカストレージ２へ転送する。
【０２１６】
本実施例において、仮想化装置５は、前記第２の実施例の仮想化装置５と同じである。
【０２１７】
マスターストレージ１ａ、１ｂの動作は、レプリケーションの通信先が、調停装置１５である点を除き、前記第２の実施例と同じである。
【０２１８】
レプリカストレージ２で更新情報を受け取ったときの動作は、応答の送り先が、調停装置１５である点（前記第１の実施例では、応答の送り先は、調停装置３）を除き、前記第１の実施例と同じである。
【０２１９】
図１６は、本実施例の調停装置１５の構成を示す図である。図１６を参照すると、調停装置１５は、受付手段３３と、マッピング情報３１を入力するアドレス変換手段３２と、送信スケジューラ３４と、更新情報プール２１と、送信手段３５を備えている。
【０２２０】
図１７は、一次記憶形式の一例を示す図である。本実施例での一時記憶形式は、アドレス情報が変換された更新情報と受付ＩＤを備えている。宛先のレプリカストレージが１つであるため、宛先に関する情報は保持する必要はない。論理ストレージを、１種類しか扱わないので、マスターＩＤも、一時記憶形式に格納する必要はない。
【０２２１】
図１９は、本実施例の受付手段３３の動作を示す流れ図である。アドレス変換手段３２は、仮想化装置５から入手したマッピング情報３１を基に、受付手段３３から渡されたマスターＩＤと更新情報中のアドレス情報を用いて、論理アドレスに変換する。
【０２２２】
マッピング情報３１は、論理アドレスとマスターＩＤと物理アドレスを１エントリーとし、エントリーをまとめた表として構成された場合、このマッピング情報のマスターＩＤをマスターＩＤとする。更新情報中のアドレス情報を物理アドレスとして、一致したエントリーの論理アドレスを、論理アドレスとして、送信ルールの検索に使用する。なお、一時記憶形式には、マスターＩＤは格納されないが、送信ルールとの照合で、マッピング情報のマスターＩＤが用いられる。
【０２２３】
また、ストライピングを行っている場合には、ストライピングで行う場合、仮想化されたストレージのブロック番号をＸ、マスターストレージのＩＤをＳ、マスターストレージ内のブロック番号をＢとし、Ｎ台のストレージに分割した場合、Ｘは次式（５）で与えられる。
【０２２４】
Ｘ＝Ｂ×Ｎ＋Ｓ        …（５）
【０２２５】
複数のストレージが連結された場合には、仮想化されたストレージのブロック番号をＸ、マスターストレージのＩＤをＳ、マスターストレージ内のブロック番号をＢ、マスターストレージのサイズをＭとすると、Ｘは次式（６）で与えられる。
【０２２６】
Ｘ＝Ｍ×Ｓ＋Ｂ        …（６）
【０２２７】
送信スケジューラ３４の送信ルールは、複数のエントリーを持つ表として構成され、各エントリーは、例えば図１８に示すように、以下の情報を持つ。
【０２２８】
・ボリュームＩＤ（仮想化されたストレージ中のボリュームを特定する情報）
・オフセット範囲［先頭・最後尾］（ボリューム中のブロックの範囲を特定するための情報）
・動作の種類を示す情報
【０２２９】
なお、ボリュームＩＤが一致すれば、オフセットの値を考慮しなくてもよいことを示す値を、オフセット範囲に記録してもよい。
【０２３０】
どのエントリーにも一致しなかった場合の動作を示す値（ｄｅｆａｕｌｔ値）が、ボリュームＩＤ、オフセット範囲に記録するようにしてもよい。
【０２３１】
また、送信ルールは、エントリーの優先度順に評価され、評価した一時記憶形式が複数のエントリーに該当する場合、優先度が最も高いエントリーの動作が実行される。
【０２３２】
なお、本実施例において、動作の種類、送信契機の例は、第１の実施例の送信ルールと同様である。
【０２３３】
図１９を参照すると、受付手段３３は、更新情報からアドレス情報を抽出する（ステップＳ２０１）。
【０２３４】
受付手段３３は、アドレス変換手段３２に、アドレス情報とマスターＩＤを指定して、物理、論理変換を依頼する（ステップＳ２０２）。
【０２３５】
受付手段３３は、アドレス変換手段３２から、論理アドレスを取得する（ステップＳ２０３）。
【０２３６】
受付手段３３は、更新情報のアドレス情報を、論理アドレスに変換する（ステップＳ２０４）。
【０２３７】
受付手段３３は、更新情報と受付ＩＤからなる一時記憶形式を作成し送信スケジューラ３４に一時記憶形式を渡す。受付手段３３は、送信スケジューラ３４からの応答指示を待つ（ステップＳ２０６）。
【０２３８】
受付手段３３は、送信スケジューラ３４から応答指示を受けると、マスターストレージに応答を返す（ステップＳ２０７）。
【０２３９】
図２０は、本実施例の送信スケジューラ３４の動作を示す図である。図２０を参照すると、図５のステップＳ１０３が、アドレス情報を基に送信ルールを検索し一致するエントリーを探すステップＳ１１７に置き換えられている。他の手順は、図５と同じである。
【０２４０】
送信ルールで即時送信となっていないエントリーに該当した更新情報は、更新情報プール２１に登録された段階でマスターストレージに応答が返るので、非同期型レプリケーションとなる。
【０２４１】
即時送信となっているエントリーに該当した更新情報は、レプリカストレージからの応答が返ってきてから調停装置１５から応答が返るので、同期型レプリケーションとなる。なお、送信ルールの同じエントリーに該当する一次記憶形式の更新情報を全て宛先のレプリカストレージに送信しているが、一致する一次記憶形式の更新情報を全て送信するのではなく、一致する複数の一次記憶形式のうちの一部を送信できた段階で、ステップＳ１０１のイベント待ちに移行するようにしてもよい。
【０２４２】
図２１は、送信スケジューラ３４の別の動作を示す流れ図である。図２１において、受付手段３３から一時記憶形式を受け取るイベント以外は、図２０と同じであるため、省略されている。図２０を参照すると、図７のステップＳ１０３が、アドレス情報を基に送信ルールを検索し一致するエントリーを探すステップＳ１１７に置き換えられている。他の手順は、図７と同じである。
【０２４３】
図２１の動作は、非同期型レプリケーションの動作となる。従って、即時送信の場合でも、レプリカストレージへの転送の処理は、マスターストレージに影響を与えない。
【０２４４】
なお、送信ルールの同じエントリーに該当する一次記憶形式の更新情報を全て宛先のレプリカストレージに送信しているが、一致する一次記憶形式の更新情報を全て送信するのではなく、一致する複数の一次記憶形式のうちの一部を送信できた段階で、ステップＳ１０１のイベント待ちに移行するようにしてもよい。
【０２４５】
図２２は、送信スケジューラ３４の更に別の動作を示す流れ図である。図２２において、受付手段３３から一時記憶形式を受け取るイベント以外は、図２０と同じであるため、省略されている。図２２を参照すると、図８のステップＳ１０３が、アドレス情報を基に送信ルールを検索し一致するエントリーを探すステップＳ１１７に置き換えられている。他の手順は、図８と同じである。
【０２４６】
この例では、送信ルールにより、即時送信は、同期、非同期の２種類に分けられる。ストレージ、又は、ストレージ中のデータブロックによって、同期型レプリケーション（レプリカストレージの応答を転送）と非同期レプリケーション（受付手段で応答）を切り替えて行うことが可能となる。すなわち、ストレージ、あるいはストレージ中のデータブロックによって、レプリケーションの影響を、マスターストレージの処理に出さないか（非同期型レプリケーション）、データが完全に複製することを保障するか（同期型レプリケーション）を切り替えることが可能となる。つまり、ストレージに格納したデータにあわせて、適切にレプリケーションのやり方を切り替えることが可能となる。
【０２４７】
なお、送信ルールの同じエントリーに該当する一次記憶形式の更新情報を全て宛先のレプリカストレージに送信しているが、一致する一次記憶形式の更新情報を全て送信するのではなく、一致する複数の一次記憶形式のうちの一部を送信できた段階で、ステップＳ１０１のイベント待ちに移行するようにしてもよい。
【０２４８】
また、特に制限されないが、更新情報プール２１に蓄積するものについて、同期型を実現するメリットはないため、本実施例では、更新情報プール２１に蓄積した後に送信するのは、非同期型レプリケーションのみとしている。
【０２４９】
なお、本実施例においても、図９に示すように、一時記憶形式に送信ルールのエントリーのＩＤを記録する領域を設け、受付手段３３から受け取り、送信ルールを検索した際、即時送信以外であった場合に適応した送信ルールのエントリーに対応したＩＤ（エントリー番号）を、一時記憶形式のエントリーのＩＤを記録する領域に記録しておき、送信契機等での、送信ルールの検索時に、一時記憶形式のエントリーのＩＤを用いることで、実際の検索を省略するようにしてもよい。このようにすることで、送信ルールを検索する必要がなくなり、各処理が短時間で処理できるようになる。すなわち、調停装置１５の処理能力が向上する。
【０２５０】
本実施例において、更新情報プール２１は、前記第１の実施例と同一であるため、その説明は省略する。
【０２５１】
本実施例において、送信手段３５は、送信スケジューラ３４から一時記憶形式を渡され、送信を指示されると、一時記憶形式から更新情報を取り出し、更新情報を、調停装置に設定されたレプリカストレージ２に対して送信する。更新情報を送信した宛先から応答が返却されたら、送信スケジューラ３４に応答が来たことを通知し終了する。
【０２５２】
本実施例における、修復手段６０による修復の動作は、前記第２の実施例と同一であるため、その説明は省略する。
【０２５３】
＜第４の実施例＞
次に、本発明の第４の実施例について説明する。図２３は、本発明の第４の実施例の構成を示す図である。ホスト６２と、マスタストレージ１と、調停装置４０と、レプリカストレージ２と、修復手段６０を備えている。ホスト６２は、ファイルマッピング管理手段８を備えている。
【０２５４】
ホスト６２がファイルにアクセスする際、ファイルマッピング管理手段８を用い、ファイルとファイル内のブロックのアドレス情報から、マスターストレージ１内のブロックのアドレス情報に変換する。
【０２５５】
ファイルマッピング管理手段８における、ファイルとストレージ（ブロックデバイス）中のブロックのマッピングの管理方法およびアドレス変換は、例えばＦＡＴ、ＶＦＡＴ、ＮＴＦＳ、ＵＦＳ、ｅｘｔ２、ｅｘｔ３、ｒａｉｓｅｒＦＳ、ｘｆｓ等のファイルシステムで行われている手法が用いられる。
【０２５６】
また、ファイルシステムのディレクトリやＦＡＴ、ｉｎｏｄｅ、間接参照ブロックのようなメタ情報およびｅｘｔ３、ｒａｉｓｅｒＦＳ、ｘｆｓ等のジャーナリングファイルシステムでのジャーナル情報もマスターストレージ１に格納される。
【０２５７】
ファイルマッピング管理手段８が持つマッピング情報は、図２４（Ａ）乃至図２４（Ｃ）に示すように、以下の情報からなる。
【０２５８】
ファイルデータの場合、
・ファイルＩＤ（ファイル名）、
・ファイル内オフセットアドレス、
・マスターストレージ内オフセットアドレス。
【０２５９】
メタ情報の場合、
・メタ情報内でのオフセットアドレス（メタ情報のＩＤ）、
・マスターストレージ内オフセットアドレス。
【０２６０】
ジャーナル情報の場合（ファイルシステムによっては存在しない）、
・ジャーナル情報内でのオフセットアドレス、
・マスターストレージ内オフセットアドレス。
【０２６１】
マスターストレージ１、レプリカストレージ２の動作は、それぞれ、前記第１の実施例のマスターストレージ、レプリカストレージの動作と同一である。
【０２６２】
図２５は、本実施例の調停装置４０の構成を示す図である。図２５を参照すると、調停装置４０は、受付手段４１と、送信スケジューラ４２と、更新情報プール２１と、送信手段４３を備え、送信スケジューラ４２は、ファイルマッピング管理手段８からのマッピング情報４４を参照する。
【０２６３】
受付手段４１は、マスターストレージ１から更新情報を受け取ると、受け付けた順序を示す受付ＩＤと、一時記憶形式を作成する。
【０２６４】
次いで、作成した一時記憶形式を送信スケジューラ４２に渡す。
【０２６５】
次いで、送信スケジューラ４２から、応答返却の指示を待ち、更新情報の送信先であるマスターストレージ１に応答を送信する。
【０２６６】
送信ルールは、複数のエントリーを持つ表として構成され、図２６に示すように、各エントリーは以下の情報を持つ。
【０２６７】
・データの種類（ファイルデータ／メタ情報／ジャーナル情報）
・ファイルＩＤ（ファイルデータの場合のみ）
・動作の種類を示す情報
【０２６８】
なお、ファイルＩＤを考慮しなくてもよいことを示す値が、ファイルＩＤに記録するようにしてもよい。また、送信ルールはエントリーの優先度順に評価され、評価した一時記憶形式が複数のエントリーに該当する場合も、優先度が最も高かったエントリーの動作が実行される。
【０２６９】
動作の種類としては下記がある。
【０２７０】
（Ｒ１）即時に送信する。
【０２７１】
（Ｒ２）更新情報プール２１の空き容量が閾値以下となるまで送信しない。
【０２７２】
（Ｒ３）受信後定められた時間の間送信しない。
【０２７３】
（Ｒ４）受信後、予め定められた時間が経過したら送信する。
【０２７４】
（Ｒ５）外部からの指示があるまで送信しない。
【０２７５】
（Ｒ６）定められた時刻になるまで送信しない。
【０２７６】
（Ｒ７）優先度の高いものが更新情報プール２１に溜まっていない。
【０２７７】
なお、即時に送信する以外は、複数の動作が組み合わされる場合もある。
【０２７８】
次に本実施例の送信ルールの優先度の設定の一具体例について説明する。
【０２７９】
優先度１：  ジャーナル情報は即時に送る。
【０２８０】
優先度２：  ファイル１（データベースのジャーナルファイル）は即時に送る。
【０２８１】
優先度３：  メタ情報は、高い優先度がない場合に送る。
【０２８２】
優先度４：  その他のファイルは、高い優先後がない場合に送る。
【０２８３】
かかる優先度の設定により、ジャーナル情報が即時に転送されるため、ファイルシステムの構造すなわちメタ情報は最新の情報に修復できる。
【０２８４】
また、データベースのジャーナルファイルも即時で行われ、ファイルシステムの構造が最新であるから、ジャーナルのファイルは問題なくアクセスでき、データベースを最新の状態に修復できる。
【０２８５】
図２７は、本実施例の送信スケジューラ４２の動作を説明する流れ図である。図２７を参照すると、本実施例では、マッピング情報からデータの種類、データの種類がファイルデータの場合、ファイルＩＤを検索するステップ（ステップＳ１１８）と、データの種類（ファイルデータの場合、ファイルＩＤ）を基に、送信ルールを検索し一致するエントリーを探すステップ（ステップＳ１１９）を、図５のステップＳ１０３の代わりに備えている。
【０２８６】
また即時送信でない場合（ステップＳ１０４のＮｏ分岐）、送信ルールのエントリーＩＤ（番号）を一時記憶形式のエントリーＩＤの領域（図９参照）に記録し（ステップＳ１２０）、一時記憶形式を更新情報プール２１に記録する（ステップＳ１０５）。
【０２８７】
一方、即時送信の場合には（ステップＳ１０４のＹｅｓ分岐）、受付手段４１に応答返却指示を行い（ステップＳ１１１）、同一ブロックが更新情報プール２１内にあるか調べ、あった場合、一時記憶形式を削除する（ステップＳ１２１）。
【０２８８】
また、図２７では、図５のステップＳ１３１、Ｓ１３２は、一時記憶形式の送信エントリー番号と送信契機の動作があうか調べるステップＳ１３７に置き換えられている。
【０２８９】
さらに、図２７では、図５のステップＳ１４１、Ｓ１４２が、一時記憶形式のエントリー領域の送信エントリー番号は、対象エントリーよりも、優先度が高いルールであるか調べるステップＳ１４５に置き換えられ、一時記憶形式のエントリー領域の送信エントリー番号は、対象エントリーよりも、優先度が高いルールでない場合に、確認対象の一時記憶形式を受付ＩＤが小さいものに変更する（ステップＳ１４３）。
【０２９０】
ファイルマッピング管理手段８おけるマッピング情報４４は、随時変わるため、更新情報を受け取る都度確認する（ステップＳ１１８）。
【０２９１】
ファイルマッピング管理手段８でマッピング情報が変更される（ファイルが作成される／ファイルにデータブロックが追加される／ファイルが削除される等）際に、調停装置４０にマッピング情報を送るようにしてもよい。このようにすると、ファイルマッピング管理手段８へのマッピング情報の問い合わせのための負荷が減り、ホストの処理能力が向上する。また、ファイルマッピング管理手段８へのマッピング情報の問い合わせ待ちがなくなるので、調停装置４０の処理が早くなる。
【０２９２】
更新情報プール２１での一時記憶形式の管理は、前記第１の実施例と同じである。
【０２９３】
送信手段４３は、送信スケジューラ４２から一時記憶形式を渡され、送信を指示されると、更新情報の宛先と更新情報を取り出し、更新情報を、更新情報の宛先に対して送信する。更新情報を送信した宛先から応答が返却されたら、送信スケジューラ４２に応答が来たことを通知し終了する。
【０２９４】
図２８は、送信スケジューラ４２の別の動作を示す流れ図である。図２８において、受付手段４１から一時記憶形式を受け取るイベント以外の動作は、図２７と同じ動きになるため、省略されている。
【０２９５】
図２８において、マッピング情報からデータの種類、データの種類がファイルデータの場合、ファイルＩＤを検索するステップ（ステップＳ１１８）と、データの種類（ファイルデータの場合、ファイルＩＤ）を基に、送信ルールを検索し一致するエントリーを探すステップ（ステップＳ１１９）を、図７のステップＳ１０３の代わりに備えている。
【０２９６】
また即時送信でない場合（ステップＳ１０４のＮｏ分岐）、送信スケジューラ４２は、送信ルールのエントリーＩＤ（番号）を一時記憶形式のエントリーＩＤの領域（図９参照）に記録し（ステップＳ１２０）、一時記憶形式を更新情報プール２１に記録する（ステップＳ１０５）。
【０２９７】
即時送信の場合（ステップＳ１０４のＹｅｓ分岐）、送信スケジューラ４２は、送信手段４３に送信指示を行い（ステップＳ１０９）、同一ブロックが更新情報プール２１内にあるか調べ、あった場合、一時記憶形式を削除する（ステップＳ１２１）。
【０２９８】
図２８に示した例は、非同期型レプリケーションの動作となる。即時送信の場合でも、レプリカストレージへの転送の処理は、マスターストレージに影響を与えない。
【０２９９】
送信ルールの同じエントリーに該当する複数の一時記憶形式の更新情報を全て送信しているが、複数の一時記憶形式の更新情報うち一部の一時記憶形式の更新情報を送信できた段階でイベント待ちに移行するようにしてもよい。
【０３００】
図２９は、送信スケジューラ４２の更に別の動作を示す流れ図である。図２９において、受付手段４１から一時記憶形式を受け取るイベント以外は、図２７と同じとなるので省略されている。
【０３０１】
図２９においては、マッピング情報からデータの種類、データの種類がファイルデータの場合、ファイルＩＤを検索するステップ（ステップＳ１１８）と、データの種類（ファイルデータの場合、ファイルＩＤ）を基に、送信ルールを検索し一致するエントリーを探すステップ（ステップＳ１１９）を、図８のステップＳ１０３の代わりに備えている。
【０３０２】
また即時送信でない場合（ステップＳ１０４のＮｏ分岐）、送信ルールのエントリーＩＤ（番号）を一時記憶形式のエントリーＩＤの領域（図９参照）に記録し（ステップＳ１２０）、一時記憶形式を送信プール２１に記録する（ステップＳ１０５）。
【０３０３】
即時送信の場合（ステップＳ１０４のＹｅｓ分岐）、非同期型の場合（ステップＳ１１３のＮｏ）、受付手段４１に応答返却指示を行い（ステップＳ１１４）、送信手段４３に送信を支持し（ステップＳ１１５）、同一ブロックが更新情報プール２１内にあるか否かを調べ、同一ブロックが更新情報プール２１内に存在している場合には、一時記憶形式を削除する（ステップＳ１２１）。
【０３０４】
図２９に示す例では、送信ルールによって、即時送信を同期、非同期の２種類に分ける。この場合、ファイル、又は、データの種類によって同期型レプリケーション（レプリカストレージの応答を転送）と非同期レプリケーション（受付手段で応答）を切り替えて行うことが可能となる。すなわち、ファイル、あるいはデータの種類によって、レプリケーションの影響を、マスターストレージの処理に出さないか（非同期型レプリケーション）、データが完全に複製することを保障するか（同期型レプリケーション）を切り替えることが可能となる。つまり、ストレージに格納したファイルにあわせて、適切にレプリケーションのやり方を切り替えることが可能となる。
【０３０５】
図２９の例では、送信ルールの同じエントリーに該当する複数の一時記憶形式の更新情報を全て送信しているが、その一部を送信できた段階でイベント待ちに移行するようにしてもよい。なお、更新情報プール２１に蓄積してから送信する場合には、非同期型レプリケーションのみとしている。
【０３０６】
本実施例の修復手段６０の動作を説明する。マスターストレージ１が動作できなくなった場合、レプリカストレージ２を使用して、処理を再開する。修復手段６０は、処理を再開する前に、レプリカストレージ２のデータの修復を行う。修復手段６０は、レプリカストレージ２からデータを読み出し、レプリカストレージ２内のデータの不整合箇所を不整合のない状態に変更する。
【０３０７】
修復処理ではまず、ｆｓｃｋ、ｓｃａｎｄｉｓｋ、あるいはｍｏｕｎｔ処理の一部で、メタ情報およびジャーナル情報を基にファイルシステムの整合性を復活する。
【０３０８】
次いで、ファイルの整合性を修復用プログラムにより復活させる。
【０３０９】
データベースシステムでは、ジャーナルデータを古いものから順にテーブルのデータに適用していくことで最新の状態に戻すことができる。データベースのジャーナルを保持したファイルを読み込みテーブルを保持したファイルを最新の状態に修復する（データベースシステムの「クラッシュリカバリー」と呼ばれる処理に対応）。
【０３１０】
本実施例では、簡単のため、ホスト１台としたが、複数あってもよい。また、複数のホストで一つのファイルシステムを共有するクラスタファイルシステムの場合、ファイルマッピング管理手段８はメタ情報サーバ中にあり、各ホストは、ファイルアクセスの際、メタ情報サーバと通信してファイルのアドレスとマスターストレージのアドレスの変換を行う。
【０３１１】
以上、本発明を上記実施例に即して説明したが、本発明はかかる実施例の構成に制限されるものでなく、本発明の範囲内で当業者であればなし得るであろう各種変形、修正を含むことは勿論である。
【図面の簡単な説明】
【０３１２】
【図１】本発明の第１の実施例の構成を示す図である。
【図２】本発明の第１の実施例の調停装置の構成を示す図である。
【図３】本発明の第１の実施例の一時記憶形式を示す図である。
【図４】本発明の第１の実施例の送信ルールの一例を示す図である。
【図５】本発明の第１の実施例の送信スケジューラの動作の一例を示す流れ図である。
【図６】本発明の第１の実施例の一時記憶形式の格納例を示す図である。
【図７】本発明の第１の実施例の送信スケジューラの動作の別の例を示す流れ図である。
【図８】本発明の第１の実施例の送信スケジューラの動作のさらに別の例を示す流れ図である。
【図９】本発明の第１の実施例の一時記憶形式を示す図である。
【図１０】本発明の第２の実施例の構成を示す図である。
【図１１】本発明の第２の実施例の調停装置の構成の一例を示す図である。
【図１２】本発明の第２の実施例の送信スケジューラの動作の一例を示す流れ図である。
【図１３】本発明の第２の実施例の送信スケジューラの動作の別の例を示す流れ図である。
【図１４】本発明の第２の実施例の送信スケジューラの動作のさらに別の例を示す流れ図である。
【図１５】本発明の第３の実施例の構成を示す図である。
【図１６】本発明の第３の実施例の調停装置の構成の一例を示す図である。
【図１７】本発明の第３の実施例の一時記憶形式の一例を示す図である。
【図１８】本発明の第３の実施例の送信ルールの一例を示す図である。
【図１９】本発明の第３の実施例の受付手段の動作の一例を示す流れ図である。
【図２０】本発明の第３の実施例の送信スケジューラの動作の一例を示す流れ図である。
【図２１】本発明の第３の実施例の送信スケジューラの動作の別の例を示す流れ図である。
【図２２】本発明の第３の実施例の送信スケジューラの動作のさらに別の例を示す流れ図である。
【図２３】本発明の第４の実施例の構成を示す図である。
【図２４】（Ａ）乃至（Ｃ）は、本発明の第４の実施例のファイルマッピング管理手段が持つマッピング情報例を示す図である。
【図２５】本発明の第４の実施例の調停装置の構成を示す図である。
【図２６】本発明の第４の実施例の送信ルールの一例を示す図である。
【図２７】本発明の第４の実施例の送信スケジューラの動作の一例を示す流れ図である。
【図２８】本発明の第４の実施例の送信スケジューラの動作の別の例を示す流れ図である。
【図２９】本発明の第４の実施例の送信スケジューラの動作のさらに別の例を示す流れ図である。
【符号の説明】
【０３１３】
１、１ａ、１ｂ  マスターストレージ
２、２ａ、２ｂ  レプリカストレージ
３、６、１５  ４０  調停装置
８  ファイルマッピング管理手段
５、１４  仮想化装置
２０、３３、４１、５０  受付手段
２１  更新情報プール
２３、３０、３４、４２  送信スケジューラ
２４、３５、４３  送信手段
３１  マッピング情報
３２  アドレス変換手段
４４  マッピング情報
６０  修復手段
６１、６２  ホスト
【図１】
2007128335.tif 000003
【図２】
2007128335.tif 000004
【図３】
2007128335.tif 000005
【図４】
2007128335.tif 000006
【図５】
2007128335.tif 000007
【図６】
2007128335.tif 000008
【図７】
2007128335.tif 000009
【図８】
2007128335.tif 000010
【図９】
2007128335.tif 000011
【図１０】
2007128335.tif 000012
【図１１】
2007128335.tif 000013
【図１２】
2007128335.tif 000014
【図１３】
2007128335.tif 000015
【図１４】
2007128335.tif 000016
【図１５】
2007128335.tif 000017
【図１６】
2007128335.tif 000018
【図１７】
2007128335.tif 000019
【図１８】
2007128335.tif 000020
【図１９】
2007128335.tif 000021
【図２０】
2007128335.tif 000022
【図２１】
2007128335.tif 000023
【図２２】
2007128335.tif 000024
【図２３】
2007128335.tif 000025
【図２４】
2007128335.tif 000026
【図２５】
2007128335.tif 000027
【図２６】
2007128335.tif 000028
【図２７】
2007128335.tif 000029
【図２８】
2007128335.tif 000030
【図２９】
2007128335.tif 000031