(57)【要約】【課題】スナップショット差分データのデータコピー処理を、コピー元及びコピー先において記憶領域を効率的に使用しつつ確実に継続する。【解決手段】所定の時間間隔で、Ｄ−ＶＯＬ７２の差分データを、通信インターフェイスを介して、他のＤ−ＶＯＬ７２にコピーするリモートコピー処理部２１４と、前記Ｄ−ＶＯＬ７２の差分データを他のＤ−ＶＯＬ７２にリモートコピーする処理を完了した際に、他のＤ−ＶＯＬ７２に新規のＤ−ＶＯＬ７２として追加されるべく設けられている他の予備ボリューム７４の数を取得して、自身が有する予備ボリューム７４の数と比較し、両者の差が所定の閾値を超えており、かつ他の予備ボリューム７４の数が自身の予備ボリューム７４の数よりも大であると判定した場合に、リモートコピー処理部２１４のコピー元の機能をコピー先の機能に切り換えるフェイルオーバー処理を行うフェイルオーバー処理部２１５とを備えている。【選択図】図３Ｄ
2010092176.tif 000002
【特許請求の範囲】
【請求項１】
複数の論理ボリュームを提供するストレージ装置に通信可能に接続し、
前記複数の論理ボリュームを、
外部装置とのデータ入出力に使用するＰ−ＶＯＬ、ある時点における前記Ｐ−ＶＯＬの状態であるスナップショットを再現すべく、前記Ｐ−ＶＯＬのデータが更新されることにより生じた差分データを格納するＤ−ＶＯＬ、及び前記Ｄ−ＶＯＬとして追加割当てすることができる予備ボリュームとに割り当てて管理し、前記Ｐ−ＶＯＬにそれぞれアクセス可能とされているファイルシステムと、
前記外部装置が前記ファイルシステムと通信をするための通信インターフェイスと
を備えた情報処理装置であって、
所定の時間間隔で、前記Ｄ−ＶＯＬの差分データを、前記通信インターフェイスを介して、前記ストレージ装置外にある他のＤ−ＶＯＬにコピーするデータコピー処理部と、
前記データコピー処理部が前記Ｄ−ＶＯＬの差分データを前記他のＤ−ＶＯＬにコピーする処理を完了した際に、前記他のＤ−ＶＯＬに新規のＤ−ＶＯＬとして追加されるべく設けられている他の予備ボリュームの数を取得して、自身が有する予備ボリュームの数と比較し、両者の差があらかじめ規定しておいた閾値を超えており、かつ前記他の予備ボリュームの数が自身の予備ボリュームの数よりも大であると判定した場合に、前記データコピー処理部の当該データコピー処理のコピー元の機能をコピー先の機能に切り換えるフェイルオーバー処理を行うフェイルオーバー処理部と、を備えている
ことを特徴とする情報処理装置。
【請求項２】
請求項１に記載の情報処理装置であって、
前記データコピー処理部及び前記フェイルオーバー処理部の処理は、前記通信ネットワークに割り当てられた各通信アドレスに対応付けられている前記ファイルシステムが使用する論理ボリューム群を単位として実行される
ことを特徴とする情報処理装置。
【請求項３】
請求項１に記載の情報処理装置であって、
前記フェイルオーバー処理が完了した際に、自身が有する予備ボリュームの数が所定値よりも多いと判定した場合に、自身が有する予備ボリュームの中から所定の手順で選択した予備ボリュームをあらたにＤ−ＶＯＬとして追加し、その旨をあらたにコピー元となった情報処理装置へ通知する
ことを特徴とする情報処理装置。
【請求項４】
請求項２に記載の情報処理装置であって、
前記各ネットワークアドレスに対応付けられている前記ファイルシステムが使用する論理ボリューム群を単位として各論理ボリューム群の重要度を所定の基準値を適用してレベル分けし、当該レベル分けの結果によって前記データコピー及びフェイルオーバー処理の内容を変更する
ことを特徴とする情報処理装置。
【請求項５】
請求項４に記載の情報処理装置であって、
前記各論理ボリューム群をレベル分けするために適用される所定の基準値が、当該各論理ボリューム群に対応付けられている各ネットワークアドレスのユーザ数、前記各論理ボリューム群に対応付けられているファイルシステム数、又は前記各ネットワークアドレスに割り当てられている通信ポート数のいずれかを含んでいることを特徴とする情報処理装置。
【請求項６】
請求項４に記載の情報処理装置であって、
前記各ネットワークアドレスに対応付けられている前記ファイルシステムが使用する論理ボリューム群を単位として各論理ボリューム群の重要度が前記所定の基準値を適用して最も高いと判定された場合に、当該論理ボリューム群に含まれる前記Ｄ−ＶＯＬの残り容量を取得してその残り容量について規定した所定の閾値Ａと比較し、取得した前記Ｄ−ＶＯＬの残り容量が当該所定の閾値Ａ以下であると判定された場合に、当該論理ボリューム群に含まれている予備ボリュームをあらたにＤ−ＶＯＬとして追加する
ことを特徴とする情報処理装置。
【請求項７】
請求項４に記載の情報処理装置であって、
前記各ネットワークアドレスに対応付けられている前記ファイルシステムが使用する論理ボリューム群を単位として各論理ボリューム群の重要度が前記所定の基準値を適用して最も低いと判定された場合に、当該論理ボリューム群に含まれる前記Ｄ−ＶＯＬの残り容量を取得してその残り容量について規定した所定の閾値Ｂと比較し、取得した前記Ｄ−ＶＯＬの残り容量が当該所定の閾値Ｂ以下であると判定された場合に、当該論理ボリューム群についてのデータコピー処理を中止させる
ことを特徴とする情報処理装置。
【請求項８】
請求項７に記載の情報処理装置であって、
前記Ｄ−ＶＯＬの残り容量についてさらに、前記所定の閾値Ｂよりも大である閾値Ｃを規定し、当該論理ボリューム群に含まれる前記Ｄ−ＶＯＬの残り容量を取得してその残り容量について規定した所定の閾値Ｂ及びＣと比較し、取得した前記Ｄ−ＶＯＬの残り容量が当該所定の閾値Ｂを超え閾値Ｃ以下であると判定された場合に、前記Ｄ−ＶＯＬに記録されているデータの一部を削除した上で当該論理ボリューム群についてのデータコピー処理を実行させる
ことを特徴とする情報処理装置。
【請求項９】
請求項８に記載の情報処理装置であって、
前記Ｄ−ＶＯＬの残り容量についてさらに、前記所定の閾値Ｃよりも大である閾値Ｄを規定し、当該論理ボリューム群に含まれる前記Ｄ−ＶＯＬの残り容量を取得してその残り容量について規定した所定の閾値Ｃ及びＤと比較し、取得した前記Ｄ−ＶＯＬの残り容量が当該所定の閾値Ｃを超え閾値Ｄ以下であると判定された場合に、当該論理ボリューム群についてのデータコピー処理を実行させると共に、前記Ｄ−ＶＯＬの残り容量が少なくなっている旨のメッセージを管理者に通知する
ことを特徴とする情報処理装置。
【請求項１０】
複数の論理ボリュームを提供するストレージ装置に通信可能に接続し、
前記複数の論理ボリュームを、
外部装置とのデータ入出力に使用するＰ−ＶＯＬ、ある時点における前記Ｐ−ＶＯＬの状態であるスナップショットを再現すべく、前記Ｐ−ＶＯＬのデータが更新されることにより生じた差分データを格納するＤ−ＶＯＬ、及び前記Ｄ−ＶＯＬとして追加割当てすることができる予備ボリュームとに割り当てて管理し、前記Ｐ−ＶＯＬにそれぞれアクセス可能とされているファイルシステムと、
前記外部装置が前記ファイルシステムと通信をするための通信インターフェイスと
を備えた情報処理装置の運用方法であって、
所定の時間間隔で、前記Ｄ−ＶＯＬの差分データを、前記通信インターフェイスを介して、前記ストレージ装置外にある他のＤ−ＶＯＬにコピーし、
前記データコピー処理部が前記Ｄ−ＶＯＬの差分データを前記他のＤ−ＶＯＬにコピーする処理を完了した際に、前記他のＤ−ＶＯＬに新規のＤ−ＶＯＬとして追加されるべく設けられている他の予備ボリュームの数を取得して、自身が有する予備ボリュームの数と比較し、両者の差があらかじめ規定しておいた閾値を超えており、かつ前記他の予備ボリュームの数が自身の予備ボリュームの数よりも大であると判定した場合に、前記データコピー処理部の当該データコピー処理のコピー元の機能をコピー先の機能に切り換えるフェイルオーバー処理を行う、
ことを特徴とする情報処理装置の運用方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、及び情報処理装置の運用方法に関し、特にスナップショット差分データのデータコピー処理を、コピー元及びコピー先において記憶領域を効率的に使用しつつ確実に継続するための技術に関する。
【背景技術】
【０００２】
ストレージシステムの機能として、運用中のボリューム（以下、「運用ボリューム」と称する。）のある時点の状態（以下、「スナップショット」と称する。）を、ユーザ等からの要求に応じて提供する機能（以下、「スナップショット機能」と称する。）がある。このスナップショット機能は、通常は運用ボリュームのある時点のスナップショットを再現するためのデータ（以下、「差分データ」と称する。）を運用ボリュームとは別のボリューム（以下、「差分ボリューム」と称する。）に退避しておき、ユーザ等からの要求に応じて、現在の運用ボリュームのデータと差分ボリュームに退避しておいた差分データとによってある時点のスナップショットを再現するという方法で実現される。
【０００３】
一方、データセンタ等の大量のデータが記憶されているサイトについて、災害等によるデータ喪失のリスクを低減ないし排除するために、当該サイトから物理的に離隔した場所に別のデータ記憶領域を提供するサイトを設けて両者間を通信ネットワークにより接続し、データセンタ等に記憶されるデータを定期的に前記別サイトの記憶領域にコピーして二重化する処理が行われている（以下、このようなデータコピー処理を「リモートコピー」と称する。また、データ原本が記憶されている場所にある装置等を示す場合には「ローカル」と、データコピーが記憶されている場所にある装置等を示す場合には「リモート」と付して区別するものとする。）。
【０００４】
最初に述べたスナップショットについても、このリモートコピー処理の対象となる（例えば特許文献１を参照）。スナップショットのリモートコピーを確実に実施するための技術として、コピー先において差分データを記憶する差分ボリュームの容量不足を防止する技術が開示されている（例えば特許文献２を参照）。
【特許文献１】特開２００７−３１０６３１号公報
【特許文献２】特開２００６−１１９６８８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
例えばローカルサイトのシステムにハードウェア障害等が発生した場合、システムの運用を継続するために、所定の手順でリモートサイトのシステムに自動的に切り換える、フェイルオーバー処理が採用される。前記スナップショットのリモートコピーをローカル−リモートサイト間で実施している場合、ローカル−リモート間で差分ボリュームの容量に差異が生じるという問題がある。これは、例えばハードウェアによるシンプロビジョニング（Thin-provisioning）で管理されているボリュームが差分ボリュームに割当てられている場合、一時的なハードウェア障害により記憶領域の動的割当てができなくなると、割当て済みの記憶領域しか使用できなくなり、差分ボリュームの容量不足につながる。ローカルサイトでこのような状態になると、ローカル−リモートサイト間で差分ボリューム容量の差異が生じ、フェイルオーバーの契機となる。
【０００６】
また、ローカルサイトにおいて、ストレージシステムの利用効率を向上するための運用、例えば未使用領域の多いボリュームに記憶されているデータをより容量の小さいボリュームに移動させる運用が行われている場合、前記データ移動によって、差分ボリュームの容量不足が生じる可能性がある。この場合にも、ローカル−リモートサイト間で差分ボリューム容量の差異が生じ、フェイルオーバーの契機となる。
【０００７】
このような差分ボリュームの容量不足に対しては、未割当の予備ボリュームを差分ボリュームとして追加する処理で対応するが、予備ボリューム容量にローカル−リモートサイト間で差異が生じることがあり、このような場合には、予備ボリューム容量が少ない方のサイトにおいて、差分ボリュームの追加ができないことがあり得るという問題がある。
【０００８】
予備ボリューム容量の差異は、例えばハードウェア障害により生じることがある。あるいは、ローカルとリモートで運用が独立しており、ボリュームの追加等が個々で行われている場合、予備ボリューム数に差異が生じることが考えられる。
【０００９】
そこで本発明は、スナップショット差分データのデータコピー処理を、コピー元及びコピー先において記憶領域を効率的に使用しつつ確実に継続することを可能とする、情報処理装置、及び情報処理装置の運用方法を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記の、及び他の課題を解決するための本発明の態様のうちの一つは、複数の論理ボリュームを提供するストレージ装置に通信可能に接続し、前記複数の論理ボリュームを、外部装置とのデータ入出力に使用するＰ−ＶＯＬ、ある時点における前記Ｐ−ＶＯＬの状態であるスナップショットを再現すべく、前記Ｐ−ＶＯＬのデータが更新されることにより生じた差分データを格納するＤ−ＶＯＬ、及び前記Ｄ−ＶＯＬとして追加割当てすることができる予備ボリュームとに割り当てて管理し、前記Ｐ−ＶＯＬにそれぞれアクセス可能とされているファイルシステムと、前記外部装置が前記ファイルシステムと通信をするための通信インターフェイスとを備えた情報処理装置であって、所定の時間間隔で、前記Ｄ−ＶＯＬの差分データを、前記通信インターフェイスを介して、前記ストレージ装置外にある他のＤ−ＶＯＬにコピーするデータコピー処理部と、前記データコピー処理部が前記Ｄ−ＶＯＬの差分データを前記他のＤ−ＶＯＬにコピーする処理を完了した際に、前記他のＤ−ＶＯＬに新規のＤ−ＶＯＬとして追加されるべく設けられている他の予備ボリュームの数を取得して、自身が有する予備ボリュームの数と比較し、両者の差があらかじめ規定しておいた閾値を超えており、かつ前記他の予備ボリュームの数が自身の予備ボリュームの数よりも大であると判定した場合に、前記データコピー処理部の当該データコピー処理のコピー元の機能をコピー先の機能に切り換えるフェイルオーバー処理を行うフェイルオーバー処理部とを備えている。
【００１１】
その他、本願が開示する課題、及びその解決方法は、発明を実施するための最良の形態の欄、及び図面により明らかにされる。
【発明の効果】
【００１２】
本発明によれば、スナップショット差分データのデータコピー処理を、コピー元及びコピー先において記憶領域を効率的に使用しつつ確実に継続することが可能となる。
【発明を実施するための最良の形態】
【００１３】
以下、図面を参照しつつ実施の形態について説明する。  
図１Ａに一実施形態として説明する情報処理システム１のハードウェア構成を示している。同図に示すように、この情報処理システム１は、サーバ装置１０、ストレージ装置２０、ホスト／クライアント装置３０、及びＬＡＮスイッチ４０を含む。ホスト／クライアント装置３０とサーバ装置１０との間は通信ネットワーク５０を介して通信可能に接続されている。２台のサーバ装置１０の間は、通信ネットワーク５１を介して通信可能に接続されている。各サーバ装置１０にはストレージ装置２０が接続されており、いずれかがローカルサイト、他方がリモートサイトとして機能することでストレージ装置２０に記憶されているデータを二重化している。
【００１４】
通信ネットワーク５０は例えばＬＡＮ（Local Area Network）である。通信ネットワーク５１は例えばインターネットである。サーバ装置１０とストレージ装置２０との間は、例えばファイバチャネル（Fibre Channel）を用いて構成されるＳＡＮ（Storage Area network）によって接続されている（図示省略）。なお、通信ネットワーク５０と通信ネットワーク５１との間は、図示を省略するルータ、スイッチ等の通信機器を介して接続されている。
【００１５】
ホスト／クライアント装置３０は、例えばパーソナルコンピュータやワークステーション等のコンピュータ（情報処理装置）である。サーバ装置１０は、クライアント装置３０から送られてくる要求に応じて、クライアント装置３０に対し、ストレージ装置２０の記憶領域を提供する。尚、サーバ装置１０は、ホスト／クライアント装置３０に対してファイルサーバとして機能するＮＡＳ（Network Attached Storage）である。サーバ装置１０は、クライアント装置３０から送信されてくるＩ／Ｏ要求（データ書き込み要求、データ読み出し要求）を受け付け、ストレージ装置２０へのデータの書き込み又はデータの読み出しを行う。またサーバ装置１０は、データの書き込み完了報告、読み出したデータ等をクライアント装置３０に適宜送信する。
【００１６】
ＬＡＮスイッチ４０は、ＮＡＳであるサーバ装置１０とホスト／クライアント装置３０との間に設けられ、後述するファイル共有システムを通信ネットワーク５０（ＬＡＮ）に接続するインターフェイスである。ファイル共有システムに割り得てられている一つのＩＰアドレスに対して、複数のＬＡＮポートをマッピングすることで、そのＩＰアドレスの負荷等に応じて帯域を増減させるようにしている。
【００１７】
図１Ｂにサーバ装置１０又はクライアント装置３０として利用可能なコンピュータの一例を示している。このコンピュータ１００は、中央処理装置１０１（例えばＣＰＵ（Central Processing Unit）やＭＰＵ（Micro Processing Unit））、主記憶装置１０２（例えばＲＡＭ（Random Access Memory）やＲＯＭ（Read Only Memory））、補助記憶装置１０３（例えばハードディスク）、ユーザの操作入力を受け付ける入力装置１０４（例えばキーボードやマウス）、出力装置１０５（例えば液晶モニタ）、他の装置との間の通信を実現する通信インターフェイス１０６（例えばＮＩＣ（Network Interface Card）やＨＢＡ（Host Bus Adapter）)を備えている。
【００１８】
ストレージ装置２０は、クライアント装置３０が利用する上記記憶領域を提供する。ストレージ装置２０は、キャッシュメモリ２１、サーバ装置１０との間で通信を行うとともに、キャッシュメモリ２１へのデータの書き込み又は読み出しを行うチャネルアダプタ２２、キャッシュメモリ２１へのデータの書き込み又は読み出しを行うとともにハードディスク２４へのデータの書き込み又は読み出しを行うディスクコントローラ２３を有する。ストレージ装置２０は、ハードディスク２４をＲＡＩＤ（Redundant Array of Inexpensive Disks）方式で運用する。
【００１９】
図２にサーバ装置１０の機能を示している。尚、同図に示す機能は、サーバ装置１０のＣＰＵ１１が、メモリ１２又はハードディスク１３に記憶されているプログラムを実行することによって、又はサーバ装置１０のハードウェアが本来的に備える機能によって実現される。同図に示す機能のうち、ファイル共有システム２１１は、通信ネットワーク５０に接続する装置に対し、ストレージ装置２０によって提供される記憶領域に記憶されるデータをファイル単位又はディレクトリ単位（フォルダ単位）で共有する仕組みを実現する。ファイル共有システム２１１の具体例として、ＮＦＳ（Network File System）やＣＩＦＳ（Common Internet File System）がある。
【００２０】
ファイルシステム２１２は、通信ネットワーク５０に接続する装置に対し、ストレージ装置２０によって提供される記憶領域に記憶されるデータをファイル単位又はディレクトリ単位（フォルダ単位）でアクセスさせるための機能を実現する。ファイルシステム２１２の具体例として、ＵＮＩＸ（登録商標）系のファイルシステム、Ｗｉｎｄｏｗｓ（登録商標）系のファイルシステムがある。尚、本実施形態では、サーバ装置１０において互いに独立して機能する一つ以上のファイルシステム２１２が実現されているものとする。
【００２１】
ファイルシステム２１２は、上記仕組みを実現するための情報（以下、ファイル管理情報３１０と称する。）を管理している。例えばＵＮＩＸ系のファイルシステムは、図３Ａに示すように、上記情報としてスーパーブロック３１０１、ディレクトリエントリ３１０２、ｉノードテーブル３１０３、及びデータブロック３１０４を管理する。このうちのスーパーブロック３１１には、ファイルシステム２１２の管理対象である記憶領域のサイズや空き領域のサイズ等が管理される。図３Ｂに示すように、ディレクトリエントリ３１２には、ファイル名（ディレクトリパス名３１２１）とｉノード番号３１２２の対応関係が管理される。図３Ｃに示すように、ｉノードテーブル３１３には、ｉノード番号３１３１に対応づけて、ファイルの所有者を特定する情報（所有者３１３２）、アクセス権３１３３、ファイルサイズ３１３４、ファイルの格納位置（当該ファイルのデータが格納されているデータブロック３１４のアドレス）が管理されている。
【００２２】
図２に示したＬＶＭ２１６（LVM: Logical Volume Manager）は、ストレージ装置２０によって提供される論理的な記憶装置の単位である論理装置（論理ユニット（LU: Logical Unit））に基づいて、論理的な記憶領域たる論理ボリューム（Logical Volume（以下、ＬＶと称する。））を、ファイルシステム２１２等の上位層に提供する。即ちＬＶＭ２１６は、論理ユニット（ＬＵ）を論理ボリューム（ＬＶ）として利用できるようにする機能と、論理ボリューム（ＬＶ）に対するブロック単位のデータの書き込み又は読み出しを行うためのデバイスドライバとしての機能を有する。論理ユニット（ＬＵ）は、例えばＳＣＳＩ（SCSI: Small Computer System Interface）やＡＴＡＰＩ（Attachment Packet Interface）規格においてイニシエータがターゲットとして指定可能な記憶領域の単位である。前述したｉノードテーブル３１３におけるデータブロックアドレス３１３５，３１３６，３１３７は、論理ボリューム（ＬＶ）のブロックアドレスである。オペレーティングシステム２１７は、サーバ装置１０のデータ入出力制御を行っている。
【００２３】
後述するように、スナップショット機能におけるプライマリボリューム（以下、Ｐ−ＶＯＬ７１（P-VOL: Primary VOLume）と称する。）、及び差分ボリューム（以下、Ｄ−ＶＯＬ７２（D-VOL: Differential VOLume）と称する。）は、いずれもＬＶを単位として実現される。図３Ｄは以上の内容を纏めたものであり、ストレージ装置２０から図外のホスト／クライアント装置３０に記憶領域が提供される様子を説明している。
【００２４】
図示のように、ＬＶＭ２１６によって、Ｐ−ＶＯＬ７１、Ｄ−ＶＯＬ７２とともに、Ｄ−ＶＯＬ７２の容量が不足してきたときに追加される予備ボリューム７４があらかじめ提供されている。また、Ｖ−ＶＯＬ７３は、Ｐ−ＶＯＬ７１とＤ−ＶＯＬ７２とを合成して得られる読み込みのみが可能なスナップショットである。
【００２５】
サーバ装置１０は、ホスト／クライアント装置３０に対して、あらかじめ割り当てられているＩＰアドレス２１７経由でファイル単位での記憶領域へのアクセスを提供している。このＩＰアドレス単位でまとめられたリソース群を、ここではリソースグループＲＧ（RG: Resource Group）と呼ぶこととする。各リソースグループＲＧには、そのＩＰアドレス２１７についてのデータ入出力負荷等に応じて複数のＬＡＮポート２１８が割り当てられている。ホスト／クライアント装置３０にファイル共有機能を提供する為に必要なリソースとしては、ＩＰアドレス２１７、ファイルシステム２１２がある。ローカルサイト及びリモートサイトに設置されているサーバ装置１０間でのフェイルオーバー処理は、このリソースグループを単位として行われる。
【００２６】
図２に示すスナップショット処理部２１３は、スナップショット機能に関する様々な処理を実行する。ここでスナップショット機能とは、運用中の論理ボリューム（Ｐ−ＶＯＬ７１）のある時点の状態（これをスナップショットと称する。）をユーザ等からの要求に応じて提供する機能である。スナップショット機能は、複数世代分のスナップショット（複数の異なる時点におけるＰ−ＶＯＬ７１の状態）を管理することができる。
【００２７】
スナップショット処理部２１３は、クライアント装置３０から送信されてくるスナップショット取得要求の受け付け、ある時点のスナップショットの取得、スナップショットの参照要求の受け付け、クライアント装置３０へのスナップショットの提供、スナップショットの削除等を行う。ここでスナップショットの取得とは、Ｐ−ＶＯＬ７１において更新されたブロックのデータ（以下、差分データと称する。）をＤ−ＶＯＬ７２に退避することをいう。またスナップショットの提供とは、現在のＰ−ＶＯＬ７１のデータとＤ−ＶＯＬ７２に退避された差分データとに基づいて、過去のある時点におけるＰ−ＶＯＬ７１の状態を再現することをいう。またスナップショットの削除とは、Ｄ−ＶＯＬ７２から削除対象の差分データを削除することをいう。
【００２８】
同図に示すように、上記機能に加えて、スナップショット処理部２１３は、Ｄ−ＶＯＬ拡張処理部２１３１、書き込み要求処理部２１３２、読み出し要求処理部２１３３、及びスナップショット取得処理部２１３４の機能を有する。
【００２９】
Ｄ−ＶＯＬ拡張処理部２１３１は、後述するリモートコピー処理部２１４からの要求を受け付けて、所定の手順で選択した予備ボリュームをＤ−ＶＯＬとして追加しＤ−ＶＯＬの容量を拡張する処理を行う。  
書き込み要求処理部２１３２は、クライアント装置３０からＰ−ＶＯＬ７１に対する書き込みが生じる場合に、上記レベルに応じた処理を行う。  
読み出し要求処理部２１３３は、クライアント装置３０からスナップショットの参照要求があった場合に、上記レベルに応じてスナップショットをクライアント装置３０に提供するための処理を行う。  
スナップショット取得処理部２１３４は、クライアント装置３０からスナップショットの取得要求（特定のＰ−ＶＯＬ７１についてのスナップショットの取得を開始する旨の要求）があった場合に、上記レベルに応じて、スナップショットの取得に関する処理を行う。
【００３０】
図２に示すように、スナップショット処理部２１３は、スナップショットに関する情報が管理されるテーブルであるスナップショット管理テーブル２１３５を管理している。スナップショット管理テーブル２１３５には、各世代のスナップショットについて、Ｐ−ＶＯＬ７１のデータブロックへの書き込みによる複製（CoW： Copy On Write）が管理される。
【００３１】
各世代に対応するスナップショットは、Ｐ−ＶＯＬ７１に格納されているデータ、Ｄ−ＶＯＬ７２に格納されているデータ、及びスナップショット管理テーブル２１３５に管理される情報によって管理される。図４Ａ等に示すように、スナップショット管理テーブル２１３５には、各データブロックのブロックアドレス２１３５１に対応づけて、ＣｏＷビットマップ２１３５２、及び各スナップショットを特定する情報（ここではスナップショット名２１３５３）が管理されている。尚、ＣｏＷビットマップ２１３５２は、取得可能なスナップショットの各世代に対応する個数のビット列で構成されている。尚、以下の説明では、各ビットは最上位ビット（左端ビット）から順に第１世代、第２世代に対応するものとする。
【００３２】
リモートコピー処理部２１４は、ローカル及びリモートサイトのサーバ装置１０間で、それぞれが接続しているストレージ装置２０に記憶されているデータを、ＲＧ単位で定期的にコピーして二重化する処理を行う。リモートコピー処理部２１４は、リモートコピー要求処理部２１４１、リモートコピー応答処理部２１４２、及びレベル判定処理部２１４３を備える。
【００３３】
リモートコピー要求処理部２１４１は、ローカルサイトのサーバ装置１０からのリモートコピー要求を受け付けて、ローカルサイトから通知されたスナップショットの差分データに関する情報に基づいて、リモート側にあるＰ−ＶＯＬ７１及びＤ−ＶＯＬ７２に記憶されているデータを更新する処理を行う。  
リモートコピー応答処理部２１４２は、各ＲＧについて、後述するレベル判定処理部２１４３の判定結果に従って、そのＲＧについてレベルに応じたリモートコピー処理を行う。なお、ＲＧのレベル判定結果によっては、リモートコピー処理自体を実行しないこともあり得る。  
レベル判定処理部２１４３は、サーバ装置１０のリソースグループＲＧ毎に実行すべきリモートコピー処理内容を決定するための情報であるレベルの設定を行う。
【００３４】
フェイルオーバー処理部２１５は、監視／切り換え処理部２１５１を備えている。監視／切り換え処理部２１５１は、ローカルサイト及びリモートサイトのサーバ装置１０間で相互に予備ボリュームの個数を監視する処理を行う。また、リモートコピー応答処理部２１４２からの要求に応じて、サーバ装置１０間において、ＲＧ単位でフェイルオーバー処理を行う。
【００３５】
次に、図４Ａ乃至図４Ｄとともに、Ｐ−ＶＯＬ７１へのデータの書き込みが発生した場合を例として、スナップショット処理部２１３によって行われるスナップショットの管理方法について説明する。尚、以下の説明において、Ｐ−ＶＯＬ７１及びＤ−ＶＯＬ７２はいずれも８個データブロックを有し、管理可能なスナップショットの世代数は４であるものとし、ＣｏＷビットマップ２１３５２は４ビットで構成されているものとする。
【００３６】
図４ＡはＰ−ＶＯＬ７１にデータが書き込まれる前のＰ−ＶＯＬ７１、Ｄ−ＶＯＬ７２、及びスナップショット管理テーブル２１３５の状態（以下、初期状態と称する。）を示している。同図に示すように、初期状態では、Ｐ−ＶＯＬ７１のブロックアドレス０〜７（ブロックアドレス２１３５１）に対応する各データブロック２１３５２に、夫々、「Ａ」、「Ｂ」、「Ｃ」、「Ｄ」、「Ｅ」、「Ｆ」、「Ｇ」、「Ｈ」の各データが格納されている。初期状態ではスナップショットが１つも取得されていないのでＤ−ＶＯＬ７２の各データブロックには何も格納されていない（例えばスペースやＮＵＬＬが格納されている。）。またスナップショット管理テーブル２１３５のＣｏＷビットマップ２１３５２の各ビットはいずれも０であり、スナップショット名２１３５３には何も格納されていない（例えばスペースやＮＵＬＬが格納されている。）。
【００３７】
図４Ｂは図４Ａの初期状態においてクライアント装置３０から１つめのスナップショット（スナップショット名２１３５３＝「ＳＳ−１」）の取得要求を受け付けた後の状態である。同図に示すように、各ブロックアドレス０〜７に対応するＣｏＷビットマップ２１３５２の最上位ビット（左端ビット）が１に設定されている。スナップショット名２１３５３は、実際にスナップショットが取得されていないので何も格納されていない。
【００３８】
図４Ｃは図４Ｂの状態でＰ−ＶＯＬ７１のブロックアドレス０〜４のデータブロックの夫々が「ａ」、「ｂ」、「ｃ」、「ｄ」、「ｅ」で更新された後の状態である。同図に示すように、ブロックアドレス０〜４に格納されていた古いデータ「Ａ」、「Ｂ」、「Ｃ」、「Ｄ」、「Ｅ」が、Ｄ−ＶＯＬ７２のブロックアドレス０〜４のデータブロックに格納（退避）されている。また第１世代のスナップショットが取得された（Ｄ−ＶＯＬ７２に必要なデータが退避された）ので、ＣｏＷビットマップ２１３５２の最上位ビット（左端ビット）が０に設定（リセット）されている。尚、ＣｏＷビットマップ２１３５２の全てのビットが０であるので、この状態でＰ−ＶＯＬ７１のデータが更新されてもスナップショットが取得されることはない。スナップショット名２１３５３の「ＳＳ−１」の欄には、各ブロックアドレス２１３５１に対応づけて、古いデータ「Ａ」、「Ｂ」、「Ｃ」、「Ｄ」、「Ｅ」の退避先のＤ−ＶＯＬ７２のブロックアドレス「０」、「１」、「２」、「３」、「４」が設定される。
【００３９】
図４Ｄは図４Ｃの状態でクライアント装置３０から第１世代のスナップショットの参照要求があった場合におけるスナップショット処理部２１３の処理を説明している。
【００４０】
まずスナップショット処理部２１３は、ブロックアドレス０−４のデータブロックのスナップショットを生成すべく、Ｄ−ＶＯＬ７２のブロックアドレス０−４のデータブロックに格納されているデータを取得する。尚、スナップショット処理部２１３は、ブロックアドレス０−４のデータブロックの第１世代のスナップショットがＤ−ＶＯＬ７２に存在することをスナップショット管理テーブル２１３５のスナップショット名２１３５３の「ＳＳ−１」の内容を参照して把握する。次にスナップショット処理部２１３は、ブロックアドレス５−７のデータブロックについて、Ｐ−ＶＯＬ７１のデータブロックからデータを取得する。そしてスナップショット処理部２１３は、Ｄ−ＶＯＬ７２から取得したブロックアドレス０−４のデータと、Ｐ−ＶＯＬ７１から取得したブロックアドレス５−７のデータを組み合わせてＰ−ＶＯＬ７１全体のスナップショットを生成し、生成したスナップショットを要求元（クライアント装置３０）に送信する。
【００４１】
以上、図４Ａ乃至図４Ｄとともに第１世代のスナップショット取得要求があった場合について説明したが、第２世代〜第４世代のスナップショット取得要求があった場合も同様に処理がなされる。
【００４２】
次に、スナップショットのリモートコピー処理について、主に図５ないし図５Ｃを参照しつつ説明する。前記のように、ローカルサイトのサーバ装置１０では、ユーザが設定した時間間隔にしたがって、定期的にスナップショットが生成されている。このスナップショットのリモートコピー処理においては、スナップショット間の差分を抽出してリモートサイトのサーバ装置１０へのコピー処理を行う。個々のスナップショット間の差分データサイズは、スナップショット取得時間間隔内でユーザが実行したファイル更新のサイズに依存する。したがって、リモートコピー処理における転送データ量及びリモートコピー処理に要する時間も変化する。
【００４３】
まずローカルサイトとリモートサイトのサーバ装置１０では、初期コピーによって両者のスナップショットは同期している。ここでは、どちらのスナップショットも第１世代のスナップショット「ＳＳ−１」が取得された状態で同期しているものとする（前出の図４Ｂに図示の状態）。
【００４４】
ローカルサイトのサーバ装置１０で更新が発生して第２世代のスナップショット「ＳＳ−２」が生成された状態を図５Ａに示す。図５Ａは図４Ｂの状態でＰ−ＶＯＬ７１のブロックアドレス０〜４のデータブロックの夫々が「ｘ」、「ｙ」、「ｃ」、「ｄ」、「ｅ」で更新された後の状態である。同図に示すように、ブロックアドレス０〜４に格納されていた古いデータ「Ａ」、「Ｂ」、「Ｃ」、「Ｄ」、「Ｅ」が、Ｄ−ＶＯＬ７２のブロックアドレス０〜４のデータブロックに格納（退避）されている。また第２世代のスナップショットが取得されたので、ＣｏＷビットマップ２１３５２のブロックアドレス０〜４に対応する最上位ビット（左端ビット）が０に設定（リセット）されている。また差分が発生していない（データ更新がない）ため、ＣｏＷビットマップ２１３５２の第２位ビット（左から２番目のビット）がすべて１に設定されている。スナップショット名２１３５３の「ＳＳ−２」の欄には、各ブロックアドレス２１３５１に対応づけて、古いデータ「Ａ」、「Ｂ」、「Ｃ」、「Ｄ」、「Ｅ」の退避先のＤ−ＶＯＬ７２のブロックアドレス「０」、「１」、「２」、「３」、「４」が設定される。このとき、リモートサイトのスナップショットにはまだ更新が反映されていないので、図５Ｂに示すように、図４Ｂの状態のままである。
【００４５】
次いで、ローカルサイトで更新があってから最初のリモートコピー処理が実行されるときに、ローカルサイトのサーバ装置１０にあるリモートコピー処理部２１４は、リモートサイトサーバ装置１０のリモートコピー処理部２１４に対してスナップショット管理テーブル２１３５の送信を要求してこれを取得する。ローカルサイトのリモートコピー処理部２１４は、取得したリモートサイトのスナップショット管理テーブル２１３５を自身のものと比較照合する。図５Ａ、図５Ｂの例では、第１世代のスナップショット「ＳＳ−１」について、ＣｏＷビットマップ２１３５２の最上位ビットをブロックアドレス順に比較していくと、ブロックアドレス０〜４で不一致となっており、データ更新があったことがわかる。差分データは、Ｄ−ＶＯＬ７２のブロックアドレス０〜４に格納されている「ｘ」、「ｙ」、「ｃ」、「ｄ」、「ｅ」である。次に、ＣｏＷビットマップ２１３５２の第２位ビット（左端から２番目のビット）をアドレス順に調べていくと，データ更新に伴うＣｏＷが発生していないので、第２世代のスナップショット「ＳＳ−２」を取得しただけで、差分データが発生していないことがわかる。このローカルサイトのサーバ装置１０で抽出された差分データは、リモートサイトのサーバ装置１０に通知される。
【００４６】
リモートサイトのサーバ装置１０では、通知された差分データに基づいて、リモートコピー処理部２１４によって、Ｐ−ＶＯＬ７１のブロックアドレス０〜４を「ｘ」、「ｙ」、「ｃ」、「ｄ」、「ｅ」と更新して、ＣｏＷビットマップ２１３５２の最上位ビットを０に設定するとともに、第２世代のスナップショット「ＳＳ−２」を取得する。この「ＳＳ−２」についてはデータ更新がないため、ＣｏＷビットマップ２１３５２の第２位ビットに１を設定する（図５Ｃ）。
【００４７】
次に、ＲＧ毎に適用するリモートコピー処理の内容を変更するための判定基準となるＲＧのレベルについてその定義を説明する。このＲＧのレベルは、各ＲＧについて実行されているデータ入出力がどの程度の重要性を有するものであるかを判定する目的で定義されている。このレベル定義に従って客観的に各ＲＧの重要性を判定することにより、各ＲＧに対してどのような形態でリモートコピー処理を実行するか決定し、例えば重要性が高いとされたＲＧについてはリモートコピー処理が確実に継続されるような形態を選択し、またさほど重要性がないとされたＲＧについては場合によってはリモートコピー処理を行わないといった選択肢もとれるようにしている。
【００４８】
本実施形態では、次の３つの項目を、各ＲＧのレベルを判定するための判断基準として採用している。  
（１）各ＲＧに割当てられているＩＰアドレスの帯域
各ＲＧのＩＰアドレス２１８に割当てられている帯域を、ＬＡＮポート２１９の個数を調べることで取得する。ＬＡＮポート２１９の個数が多いほど広い帯域が割り当てられていることとなり、利用規模が大きい重要度の高いＲＧであると推定される。  
（２）ＲＧ内のファイルシステム数
各ＲＧ内に設定されているファイルシステム数を取得し、ファイルシステム数が多いほど、ファイル共有の規模が大きく重要度の高いＲＧであると推定される。  
（３）ユーザ数
各ＲＧのユーザ数を取得することで、ユーザ数が多いほどファイル共有の規模が大きく重要度の高いＲＧであると推定される。
【００４９】
本実施形態においては、前記の３つの項目に従って、各ＲＧのレベルを次のように３段階で定義している。  
レベル１：０＜ＬＡＮポートの個数≦２かつ０＜ファイルシステム数≦５かつ０＜ユーザ数≦１０
レベル２：２＜ＬＡＮポートの個数≦５かつ５＜ファイルシステム数≦２０かつ１０＜ユーザ数≦５０
レベル３：５＜ＬＡＮポートの個数≦１０かつ２０＜ファイルシステム数≦３０かつ５０＜ユーザ数≦２００
【００５０】
なお、前記のＲＧレベル判断基準の項目、及びレベル定義については例示した項目や範囲に限ることなく他の適当な基準や範囲を採用することができる。またこのレベル定義は、レベル定義ファイルとして、例えばリモートコピー処理部２１４に記録される。
【００５１】
次に、本実施形態において参照されるテーブルについて説明する。  
まず、ＲＧ管理テーブル６００について説明する。図６にＲＧ管理テーブル６００の一例を示す。このＲＧ管理テーブル６００は、サーバ装置１０が有する各ＲＧの状態を管理するためのもので、ＲＧ名６０１、現在のレベル６０２、現在のレベルが適用された日時６０３、各レベルの状態であった累計時間６０４、ＲＧに割当てられているＩＰアドレス６０５、及びＲＧに含まれるファイルシステム名６０６が記録されている。
【００５２】
ＲＧ名６０１は、各ＲＧを識別するために付与されるユニークな符号である。現在のレベル６０２は、そのＲＧについて判定された最新のレベルである。後述するように、各ＲＧのレベルはサーバ装置１０のリモートコピー処理部２１４にあるレベル判定処理部２４１３によって定期的に判定されている。
【００５３】
現在のレベルが適用された日時６０３は、そのＲＧについて直近のレベル変更があった時点を記録している。各レベルの状態であった累計時間６０４は、日時６０３に基づいて、そのＲＧが各レベル１〜３と判定されていた累計時間を、レベル毎に記録している。ＲＧに割当てられているＩＰアドレス６０５は、そのＲＧが有するＬＡＮポートの個数を取得する際にレベル判定処理部２１４３によって参照される。ＲＧに含まれるファイルシステム名６０６は、各ＲＧが持っているファイルシステム名を記録しており、これをキーとして各ＲＧが使用しているボリュームを知ることができる。
【００５４】
次に、ファイルシステム管理テーブル７００について説明する。図７にファイルシステム管理テーブル７００の一例を示す。このファイルシステム管理テーブル７００は、サーバ装置１０が有するファイルシステムとそれぞれが使用しているボリュームとを対応付けて管理しており、ファイルシステム名７０１、Ｐ−ＶＯＬ名及びそれが属するボリューム名７０２、Ｄ−ＶＯＬ名及びそれが属するボリューム名７０３、及びＤ−ＶＯＬ残容量７０４が記録されている。
【００５５】
ファイルシステム名７０１は各サーバ装置１０内にあるファイルシステムそれぞれを識別するために付与されたユニークな符号である。Ｐ−ＶＯＬ名及びそれが属するボリューム名７０２と、Ｄ−ＶＯＬ名及びそれが属するボリューム名７０３とは、各ファイルシステムが使用しているＰ−ＶＯＬ７１、Ｄ−ＶＯＬ７２、及びそれらが対応しているボリュームを表す識別符号を記録している。Ｄ−ＶＯＬ残容量７０４は、各ファイルシステムが使用しているＤ−ＶＯＬ７２の残り容量をＭＢ単位で記録している。
【００５６】
次に、予備ボリューム管理テーブル８００について説明する。図８に予備ボリューム管理テーブル８００の一例を示す。この予備ボリューム管理テーブル８００は、各サーバ装置１０が保有しているＤ−ＶＯＬ７２に追加可能な予備ボリューム７４を管理するためのもので、ボリューム名８０１、ボリューム容量８０２、及び割当状態８０３が記録されている。
【００５７】
ボリューム名８０１は、各サーバ装置１０に接続されているストレージ装置２０に設定されている各ボリュームに付与された識別符号であり、ボリューム容量８０２はそれらボリュームの容量をＭＢ単位で示している。また割当状態８０３は、各ボリュームがＤ−ＶＯＬ７２に割当済みであるかどうかを示している。割り当て状態８０３に「未済み」である旨が記録されていれば、そのボリュームは予備ボリューム７４であることがわかる。
【００５８】
次に、リモートコピー設定管理テーブル９００について説明する。図９にリモートコピー設定管理テーブル９００の一例を示す。このリモートコピー設定管理テーブル９００は、ローカル、リモートいずれのサイトにあるサーバ装置１０がリモートコピー処理におけるプライマリ側あるいはセカンダリ側であるかを、ＲＧ毎に管理するもので、ＲＧ名９０１と、そのＲＧについてリモートコピー処理を行う場合のプライマリ側サーバ名９０２及びセカンダリ側サーバ名９０３が記録されている。ローカルサイト、リモートサイトのサーバ装置１０間でＲＧ毎にフェイルオーバー処理が実行されると、そのＲＧについてのプライマリ側及びセカンダリ側が入れ替わることになるので、フェイルオーバー処理部２１５によってこのリモートコピー設定管理テーブル９００が更新される。
【００５９】
次に、本実施形態に係るリモートコピー制御装置において実行される処理フローについて、図面を参照しながら順次説明する。
【００６０】
＝＝レベル判定処理＝＝
図１０に、サーバ装置１０のリモートコピー処理部２１４にあるレベル判定処理部２１４３で実行されるＲＧのレベル判定処理のフローを示す。レベル判定処理は、各ＲＧについて適切なリモートコピー処理を実行するために、定期的にローカル又はリモートサイトのサーバ装置１０において、各ＲＧのレベルを判定する処理である。
【００６１】
レベル判定処理部２１４３は、処理を開始すると、すべてのＲＧについてレベル判定が完了したかを調べ、完了していればそのまま処理を終わる（Ｓ１００１、Yes）。なお、各処理を示す符号の先頭に付した文字Ｓは「ステップ」を表す。  
レベル未判定のＲＧが残っていれば（Ｓ１００１、No）、次のＲＧを選択して（Ｓ１００２）、そのＲＧの特性情報を取得する（Ｓ１００３）。本実施形態では、レベル判定処理部２１４３が、サーバ装置１０に実装した適宜の情報収集プログラム（図示せず）と通信して当該特性情報（ここでは例えばＬＡＮポートの個数、ファイルシステム数、及びユーザ数である。）を取得している。
【００６２】
次いで、取得した当該ＲＧの特性情報を前記レベル定義ファイルのレベル定義と照合して、そのＲＧのレベルを決定する（Ｓ１００４）。決定されたレベルをＲＧ管理テーブル６００の当該ＲＧの現在レベル６０２と比較して、レベルの変更があると判定されれば（Ｓ１００５、Yes）、ＲＧ管理テーブル６００の記録を更新する（Ｓ１００６）。レベルの変更がないと判定されれば（Ｓ１００５、Ｎｏ）、判定すべきＲＧが残っているかの判断ステップＳ１００１に戻る。
【００６３】
＝＝リモートコピー要求処理＝＝
図１１に、サーバ装置１０のリモートコピー処理部２１４にあるリモートコピー要求処理部２１４１で実行されるリモートコピー要求処理のフローを示す。リモートコピー要求処理は、上位のＯＳ又はアプリケーションからの命令によって、あらかじめ決められた時間間隔で各ＲＧについてのリモートコピー処理を要求する処理であり、本実施形態ではリモートサイトのサーバ装置１０からローカルサイトのサーバ装置１０に対して起動要求するように構成しているが、ローカルサイトから起動させるようにしてもかまわない。
【００６４】
リモートサイトのサーバ装置１０にあるリモートコピー要求処理部２１４１は、処理を開始すると、まず自身が保持しているスナップショット管理テーブル２１３５をローカルサイトのサーバ装置１０に送信し（Ｓ１１０１）、ローカルサイトのサーバ装置１０で処理された結果が送信されてくるのを待つ（Ｓ１１０２）。ローカルサイトのサーバ装置１０からの処理結果を受信したら（Ｓ１１０２、Ｙｅｓ）、その処理結果に従ってリモートサイトのサーバ装置１０にある当該ＲＧのスナップショットを更新すべく、Ｐ−ＶＯＬ７１、Ｄ−ＶＯＬ７２のデータを更新して終了する。
【００６５】
＝＝リモートコピー応答処理＝＝
図１２に、サーバ装置１０のリモートコピー処理部２１４にあるリモートコピー応答処理部２１４２で実行されるリモートコピー応答処理のフローを示す。リモートコピー応答処理は、本実施形態にあってはリモートサイトのサーバ装置１０にあるリモートコピー要求処理部２１４１からの処理要求取得、すなわちリモート側スナップショット管理テーブル２１３５の受信を契機としてローカルサイトのサーバ装置１０で実行される処理である。なお前記のように、ローカル及びリモートサイトの役割を入れ替えて構成することは差し支えない。
【００６６】
リモートコピー応答処理部２１４２は、処理を開始すると、リモートサイトのサーバ装置１０から処理要求が受信されるのを（リモート側スナップショット管理テーブル２１３５の受信を）待つ（Ｓ１２０１）。受信したら（Ｓ１２０１、Ｙｅｓ）、自身のＲＧ管理テーブル６００を参照して、当該ＲＧについて記録されている現在のレベル６０２を取得する（Ｓ１２０２）。
【００６７】
次いで、リモートコピー応答処理部２１４２は、取得した当該ＲＧのレベルに応じて前処理を行い（Ｓ１２０３）、前処理の結果に応じた処理を実行して（Ｓ１２０４）処理フローを終わる。これらのＲＧレベルに応じた処理の内容については、後述する。
【００６８】
＝＝ＲＧレベル別処理＝＝
図１３に、リモートコピー応答処理部２１４２において判定されたＲＧレベルに応じたＲＧレベル別処理の処理フローを示す。この処理フローは、ＲＧレベル判定結果に基づいてその後のリモートコピー処理内容を変更する処理に相当する、ＲＧレベルに応じた前処理と、ＲＧレベルがレベル１であると判定された場合に引き続き実行される処理とを含んでいる。レベル１の処理内容については、理解を助けるために、図１４にその模式的な説明図を併せて示している。
【００６９】
レベル１での処理では、当該ＲＧが使用しているＤ−ＶＯＬ７２の容量を使い切るまで（残り容量が一定の閾値以下となるまで）リモートコピー処理を実行する。この場合、同一のＤ−ＶＯＬに上書きしながら反復使用（ラップアラウンド）し、所定の回数反復使用した時点でリモートコピー処理を中止する構成としてもよい。
【００７０】
リモートコピー応答処理部２１４２は、処理を開始すると、まずリモートコピー処理が要求されたＲＧについて記録されている現在のレベル６０２を、ＲＧ管理テーブル６００から取得し、取得したＲＧのレベルが１であるかを判定する（Ｓ１３０１）。ＲＧレベルが１でなければ（Ｓ１３０１、Ｎｏ）、引き続きＲＧレベルが２であるか（Ｓ１３０９）、あるいは３であるか（Ｓ１３１１）を判定し、各レベルに該当すると判定されれば（Ｓ１３０９又はＳ１３１１、Ｙｅｓ）、それぞれのレベルに対応するリモートコピー処理を実行して（Ｓ１３１０又はＳ１３１２）処理を終わる。
【００７１】
なお、取得した現在のレベルがレベル１〜３のいずれとも判定することができなかった場合は、ＲＧ管理テーブル６００等の記録に以上があるなど、なんらかの問題が生じている可能性があるため、サーバ装置１０の別の機能ブロックに処理を渡してユーザへ警告通知を行うといった処理を組み込むことが考えられる。
【００７２】
当該ＲＧのレベルが１であると判定された場合には（Ｓ１３０１、Ｙｅｓ）、引き続き当該ＲＧが使用しているＤ−ＶＯＬ７２の残り容量を算出する。Ｄ−ＶＯＬ７２の残り容量は、ＲＧ管理テーブル６００に記録されているファイルシステム名６０６と、ファイルシステム管理テーブル７００に記録されている、ファイルシステム毎のＤ−ＶＯＬ７２の残り容量７０４とを参照することによって算出することができる。
【００７３】
このレベル１に対応した処理では、算出されたＤ−ＶＯＬ７２の残り容量に応じて実行するリモートコピー処理の内容を変更している。すなわち、Ｄ−ＶＯＬ７２の残り容量に対する３つの閾値、第１の閾値から第３の閾値を処理プログラム中にあらかじめデータとして設定しておき、これらの閾値と算出されたＤ−ＶＯＬ７２の残り容量との比較結果に応じて対応するリモートコピー処理を行う。なお、本実施形態では第１閾値から第３閾値（閾値Ｂ〜Ｄ）の順でＤ−ＶＯＬ７２の残り容量が減少するように設定しているが、これに限らずいくつの閾値をどのような設定値で設定するかは適宜決定すればよい。
【００７４】
まず、リモートコピー応答処理部２１４２は、算出したＤ−ＶＯＬ７２の残り容量が第１の閾値以下で第２の閾値より大であるか判定し、その旨の判定がされれば（Ｓ１３０３、Ｙｅｓ）、リモートコピー応答処理部２１４２は、出力装置１０５等を通じてユーザにＤ−ＶＯＬ７２の残り容量が少なくなっている旨の警告メッセージを出力する（Ｓ１３０４）。この場合、当該ＲＧについてのリモートコピー処理は通常通りに実行される。
【００７５】
算出したＤ−ＶＯＬ７２の残り容量が第１の閾値以下で第２の閾値より大でないと判定された場合は（Ｓ１３０３、Ｎｏ）、次いで算出したＤ−ＶＯＬ７２の残り容量が第２の閾値以下で第３の閾値より大であるか判定し、その旨の判定がされれば（Ｓ１３０４、Ｙｅｓ）、リモートコピー応答処理部２１４２は、記録されているスナップショットのＤ−ＶＯＬ７２から一部のデータを消去してＤ−ＶＯＬ７２の残り容量を増加させると共に、出力装置１０５等を通じてユーザにＤ−ＶＯＬ７２のデータを一部消去した旨の警告メッセージを出力する（Ｓ１３０６）。この場合も、当該ＲＧについてのリモートコピー処理は通常通りに実行される。なお、残り容量を増加させるために、どのスナップショットのデータを消去するか（例えば新しいスナップショットからか、古いスナップショットからか）は、あらかじめ適宜決定して設定すればよい。
【００７６】
算出したＤ−ＶＯＬ７２の残り容量が第２の閾値以下で第３の閾値より大でないと判定された場合は（Ｓ１３０５、Ｎｏ）、次いで算出したＤ−ＶＯＬ７２の残り容量が第３の閾値以下であるか判定し、その旨の判定がされれば（Ｓ１３０７、Ｙｅｓ）、リモートコピー応答処理部２１４２は、当該ＲＧについてのリモートコピー処理を中止する共に、出力装置１０５等を通じてユーザに、Ｄ−ＶＯＬ７２の残り容量が不足しているためにリモートコピー処理を中止した旨のエラーメッセージを出力する（Ｓ１３０４）。この場合も、当該ＲＧについてのリモートコピー処理は通常通りに実行される。なお、残り容量を増加させるために、どのスナップショットのデータを消去するか（例えば新しいスナップショットからか、古いスナップショットからか）は、あらかじめ適宜決定して設定すればよい。
【００７７】
当該ＲＧが使用しているＤ−ＶＯＬ７２の残り容量が前記いずれの条件にも該当しないと判定されれば（Ｓ１３０７、Ｎｏ）、リモートコピー応答処理部２１４２はレベル１に対応した処理を終了する。
【００７８】
このＲＧレベル１に対応する処理によれば、各ＲＧについてリモートコピー処理を継続しながらＤ−ＶＯＬ７２の容量を有効に利用することができる。
【００７９】
次に、当該ＲＧがレベル２と判定された場合の処理について説明する。図１５に、レベル２の場合に実行される処理フローを示す。なお、この処理内容の理解を助けるために、図１６Ａ〜図１６Ｂに処理の概要を表す模式的な説明図を示す。
【００８０】
図１３に示したように、リモートサイトのサーバ装置１０から要求があったＲＧのレベルがレベル２であると判定された場合、リモートコピー応答処理部２１４２の処理は、図１５のレベル２処理（Ｓ１３１０）に移る。
【００８１】
まずリモートコピー応答処理部２１４２は、ＲＧ管理テーブル６００及びファイルシステム管理テーブル７００を検索する（Ｓ１５０１）。この際、リモートコピー応答処理部２１４２は、現在のレベル６０２がレベル２であると判定したＲＧを抽出し、ファイルシステム管理テーブル７００を参照して各ＲＧに関してＤ−ＶＯＬ７２の残り容量を取得すると共に、ＲＧ管理テーブル６００に記録されている各レベルの状態であった累計時間６０４からレベル３であった累計時間及びレベル２であった累計時間を取得する。
【００８２】
そして、取得結果をＤ−ＶＯＬ残り容量の少ない順にソートする。Ｄ−ＶＯＬ残容量が等しい場合は、過去にレベル３であった累計時間の多い方を上位とする。さらに、レベル３の累計時間が等しい場合は、レベル２の累計時間が少ない方を上位とする。このように取得及びソートされた各ＲＧについての一覧テーブルの一例を図１６Ａに示す。
【００８３】
リモートコピー応答処理部２１４２は、一覧テーブルを参照してフェイルオーバー対象とするＲＧを決定する（Ｓ１５０２）。決定手順は次の通りである。まずあらかじめＤ−ＶＯＬ７２の残り容量に下限値を設けておき、残り容量が設定した下限値より少ないＲＧをフェイルオーバー対象とする。そして、対象とされたＲＧのうち、Ｄ−ＶＯＬ７２の残り容量が等しいＲＧが複数ある場合には、レベル２及びレベル３であった累計時間に基づいて、より上位にあるＲＧをフェイルオーバー対象と決定する。
【００８４】
このように、Ｄ−ＶＯＬ７２の残り容量に下限値を設けておくことで、フェイルオーバー処理後にＤ−ＶＯＬ７２の残り容量に余裕がなくなるようなＲＧを排除することができる。また、過去にレベル３であった累計時間がより長いＲＧの優先度を高くしているので、過去において重要度が高いと判定されていた期間が長いＲＧについて優先的にフェイルオーバー処理が実行される。また過去にレベル３であった累計時間が等しい場合には、レベル２の累計時間が短いＲＧを優先するので、一時的に高位から低位へ（レベル３からレベル２へ）判定レベルが変更されても過度に低い評価がなされることを回避できる。
【００８５】
次に、リモートコピー応答処理部２１４２は、実際にフェイルオーバー処理を実行するフェイルオーバー処理部２１５の監視／切り換え処理部２１５１に処理を渡して（Ｓ１５０３）終了する。
【００８６】
以上のレベル２に対応する処理を実行することで、ローカルサイト及びリモートサイトにおけるＲＧ毎の予備ボリューム７４の数がアンバランスとなった場合に、プライマリ側における予備ボリューム７４の数を優先して割り当てるようにすることができる。
【００８７】
なお、例えば図１６Ｃ、１６Ｄに示すように、所定の手順によって、フェイルオーバー処理を実行した後に、予備ボリューム７４からＤ−ＶＯＬ７２へボリュームを追加する処理を実行するように構成してもよい。Ｄ−ＶＯＬ７２をこのように拡張した場合には、フェイルオーバー対象のＲＧを選択する処理の検索結果において優先度が下がる。これによりそのＲＧはフェイルオーバー対象から外れることとなり、続けてフェイルオーバー処理対象となる機会は低減される。
【００８８】
次に、当該ＲＧがレベル３と判定された場合の処理について説明する。図１７に、レベル３の場合に実行される処理フローを示す。なお、この処理内容の理解を助けるために、図１９に処理の概要を表す模式的な説明図を示す。
【００８９】
図１３に示したように、リモートサイトのサーバ装置１０から要求があったＲＧのレベルがレベル３であると判定された場合、リモートコピー応答処理部２１４２の処理は、図１７のレベル２処理（図１３のＳ１３１２）に移る。
【００９０】
まずリモートコピー応答処理部２１４２は、当該ＲＧが使用しているＤ−ＶＯＬ７２の残り容量をＲＧ管理テーブル６００及びファイルシステム管理テーブル７００を参照して取得する（Ｓ１７００）。そして、あらかじめ決定しておいた閾値（閾値Ａ）とその残り容量とを比較し、残り容量が閾値以下であると判定すれば（Ｓ１７０１、Ｙｅｓ）、Ｄ−ＶＯＬ７２の割当容量を増加させるために、後述するＤ−ＶＯＬ拡張処理へ処理を移して終了する（Ｓ１７０２）。  
取得した残り容量が閾値より大であると判定されれば（Ｓ１７０１、Ｎｏ）、Ｄ−ＶＯＬ７２の容量を増加させる必要はないと判定してそのまま終了する。
【００９１】
このようなレベル３の処理によれば、重要度が高いと判定されているＲＧについて、リモートコピー処理のために十分なＤ−ＶＯＬ７２の容量を確保しておくことができる。
【００９２】
＝＝Ｄ−ＶＯＬ拡張処理＝＝
図１８Ａ及び図１８Ｂに、レベル３の処理フローにおいて所定の条件が成立した場合に起動されるＤ−ＶＯＬ拡張処理部２１３１による処理フローを示す。この処理は、各サーバ装置１０のリモートコピー処理部２１４にあるＤ−ＶＯＬ拡張処理部２１３１により実行され、プライマリ側ＲＧ、セカンダリ側ＲＧのある各サーバ装置１０間で連係して実行される処理であるため、図１８Ａはプライマリ側での処理フローを、図１８Ｂはセカンダリ側での処理フローを示している。なお、このＤ−ＶＯＬ拡張処理は、レベル２の処理に関して述べたように、レベル２の処理におけるフェイルオーバー処理実行後にＤ−ＶＯＬ７２へ予備ボリューム７４を追加する処理を実行するように構成した場合にも適用することができる。
【００９３】
まずプライマリ側での処理について図１８Ａを参照しつつ説明する。Ｄ−ＶＯＬ拡張処理部２１３１は、リモートコピー応答処理部２１４２からの処理要求を待機しており（Ｓ１８０１、Ｎｏ）、処理要求を取得すると（Ｓ１８０１、Ｙｅｓ）、リモートコピー設定管理テーブル９００を検索して（Ｓ１８０３）、プライマリ側９０２及びセカンダリ側９０３の項目の記録によって、自身がプライマリ側９０２であるか判定する（Ｓ１８０３）。
【００９４】
プライマリ側９０２でないと判定した場合（Ｓ１８０３、Ｎｏ）、後述するセカンダリ側９０３の処理に移る（Ｓ１８０４）。
【００９５】
プライマリ側９０２であると判定した場合（Ｓ１８０３、Ｙｅｓ）、Ｄ−ＶＯＬ拡張処理部２１３１は、自身のサーバ装置１０が保持する予備ボリューム管理テーブル８００を参照して未割当状態となっている、Ｄ−ＶＯＬ７２として使用可能なボリューム名８０１をすべて取得する（Ｓ１８０５）。次いで、セカンダリ側のサーバ装置１０にあるＤ−ＶＯＬ拡張処理部２１３１に、予備ボリューム管理テーブル８００を参照して予備ボリューム名８０１の取得するよう要求を発行する（Ｓ１８０６）。
【００９６】
次に、セカンダリ側から取得された予備ボリューム名８０１を受信してこれを自身が取得した予備ボリューム名８０１と比較し、Ｄ−ＶＯＬ７２として追加する予備ボリューム７４を決定する。本実施形態では、追加する予備ボリューム７４として、比較した結果容量が同一でかつ最大の予備ボリューム７４を選択することとしている。これは、Ｄ−ＶＯＬ７２を最大限拡張すると共に、プライマリ側−セカンダリ側間でＤ−ＶＯＬ７２の容量がアンバランスとならないようにするためである。
【００９７】
次いでＤ−ＶＯＬ拡張処理部２１３１は、セカンダリ側のＤ−ＶＯＬ拡張処理部２１３１に、選択した予備ボリューム７４を追加してＤ−ＶＯＬ７２を拡張するように要求する（Ｓ１８０８）。そして、自身も選択した予備ボリューム７４を追加し（Ｓ１８０９）、予備ボリューム管理テーブル８００の該当割当状態に「済み」と記録し、ファイルシステム管理テーブル７００のＤ−ＶＯＬ名及び属するボリューム名７０３及びＤ−ＶＯＬ残り容量７０４を変更する更新を行って終了する（Ｓ１８１０）。
【００９８】
次に、セカンダリ側での処理につき、図１８Ｂを参照して説明する。セカンダリ側のＤ−ＶＯＬ拡張処理部２１３１は、プライマリ側からの予備ボリューム７４名一覧の取得要求があったか判定し（Ｓ１８５１）、要求を取得した場合（Ｓ１８５１、Ｙｅｓ）、自身の予備ボリューム管理テーブル８００を検索して、Ｄ−ＶＯＬ７２として未割当状態で使用可能な予備ボリューム名８０１を取得し（Ｓ１８５２）、これをプライマリ側Ｄ−ＶＯＬ拡張処理部２１３１に送信する（Ｓ１８５３）。
【００９９】
次いでＤ−ＶＯＬ拡張処理部２１３１は、プライマリ側Ｄ−ＶＯＬ拡張処理部２１３１からＤ−ＶＯＬ拡張処理要求があったかを判定する（Ｓ１８５４）。要求があった場合は（Ｓ１８５４、Ｙｅｓ）、プライマリ側Ｄ−ＶＯＬ拡張処理部２１３１で選択した予備ボリューム７４をＤ−ＶＯＬ７２に追加し（Ｓ１８５５）、自身の予備ボリューム管理テーブル８００の該当割当状態に「済み」と記録し、ファイルシステム管理テーブル７００のＤ−ＶＯＬ名及び属するボリューム名７０３及びＤ−ＶＯＬ残り容量７０４を変更する更新を行って終了する（Ｓ１８５６）。
【０１００】
＝＝監視／切り換え処理＝＝
図２０Ａ及び図２０Ｂに、ローカルサイト又はリモートサイトの各サーバ装置１０にあるフェイルオーバー処理部２１５の監視／切り換え処理部２１５１で実行される処理フローを示す。この処理では、ローカル又はリモートサイトのサーバ装置１０相互間における予備ボリューム７４の数を監視すると共に、所定の条件が成立した場合、ローカル又はリモートサイトのサーバ装置１０間でフェイルオーバー処理をＲＧ毎に実行する。プライマリ側ＲＧ、セカンダリ側ＲＧのある各サーバ装置１０間で連係して実行される処理であるため、図２０Ａはプライマリ側での処理フローを、図２０Ｂはセカンダリ側での処理フローを示している。
【０１０１】
まずプライマリ側での処理について、図２０Ａを参照しつつ説明する。監視／切り換え処理部２１５１は、リモートコピー応答処理部２１４２からの処理要求を待機しており（Ｓ２００１、Ｎｏ）、処理要求を取得すると（Ｓ２００１、Ｙｅｓ）、リモートコピー設定管理テーブル９００を検索して（Ｓ２００２）、プライマリ側９０２及びセカンダリ側９０３の項目の記録によって、自身がプライマリ側９０２であるか判定する（Ｓ２００３）。
【０１０２】
プライマリ側９０２でないと判定した場合（Ｓ１８０３、Ｎｏ）、後述するセカンダリ側９０３の処理に移る（Ｓ２００４）。  
プライマリ側９０２であると判定した場合（Ｓ２００３、Ｙｅｓ）、監視／切り換え処理部２１５１は、自身のサーバ装置１０が保持する予備ボリューム管理テーブル８００を参照して未割当状態となっている、Ｄ−ＶＯＬ７２として使用可能なボリューム名８０１をすべて取得する（Ｓ２００５）。次いで、セカンダリ側のサーバ装置１０にある監視／切り換え処理部２１５１に、予備ボリューム管理テーブル８００を参照して予備ボリューム名８０１を取得するよう要求を発行する（Ｓ２００６）。
【０１０３】
次に、定期的に実行されているローカル及びリモートサイトのサーバ装置１０間でのリモートコピー処理が実行され両者間でスナップショットの同期がとれたことを契機として、セカンダリ側から取得された予備ボリューム名８０１を受信してこれを自身が取得した予備ボリューム名８０１と比較し、両者の予備ボリューム７４の数の差を算出する。算出した予備ボリューム７４の数の差と、あらかじめ設定してある閾値とを比較して、前記の差が当該閾値より大であり、セカンダリ側の予備ボリューム７４の数の方が多いと判定された場合（Ｓ２００８、Ｙｅｓ）、セカンダリ側サーバ装置１０へ通知してからフェイルオーバー処理を実行して処理を終了する（Ｓ２００９）。
【０１０４】
次に、セカンダリ側での処理につき、図２０Ｂを参照して説明する。セカンダリ側の監視／切り換え処理部２１５１は、プライマリ側からの予備ボリューム７４名一覧の取得要求があったか判定し（Ｓ２０５１）、要求を取得した場合（Ｓ２０５１、Ｙｅｓ）、自身の予備ボリューム管理テーブル８００を検索して、Ｄ−ＶＯＬ７２として未割当状態で使用可能な予備ボリューム名８０１を取得し、これをプライマリ側監視／切り換え処理部２１５１に送信する（Ｓ２０５２）。
【０１０５】
監視／切り換え処理部２１５１は、プライマリ側監視／切り換え処理部２１５１からフェイルオーバー処理実行に伴う引き継ぎ処理要求があったか判定する（Ｓ２０５３）。要求があった場合は（Ｓ２０５３、Ｙｅｓ）、引き継ぎ処理を実行して（Ｓ２０５４）、自身のリモートコピー設定管理テーブル９００を更新して終了する（Ｓ２０５５）。
【０１０６】
プライマリ側からの予備ボリューム７４名一覧の取得要求がない場合（Ｓ２０５１、Ｎｏ）、セカンダリ側監視／切り換え処理部２１５１は、プライマリ側の予備ボリューム管理テーブル８００を監視して（Ｓ２０５６）、予備ボリューム７４の追加があるか判定する（Ｓ２０５７）。予備ボリューム７４のＤ−ＶＯＬ７２としての追加があれば（Ｓ２０５７、Ｙｅｓ）、自身のサーバ装置１０においても対応する予備ボリューム７４を追加して、自身の予備ボリューム管理テーブル８００及びファイルシステム管理テーブル７００を更新して終了する（Ｓ２０５８）。
【０１０７】
以上詳細に説明したように、本発明の一実施形態によれば、スナップショット差分データのリモートコピー処理を、コピー元及びコピー先において記憶領域を効率的に使用しつつ確実に継続することができるという効果を奏する。
【図面の簡単な説明】
【０１０８】
【図１Ａ】情報処理システム１のハードウェアを示す図である。
【図１Ｂ】サーバ装置１０、ホスト／クライアント装置３０として利用可能なコンピュータのハードウェア構成の一例を示す図である。
【図２】サーバ装置１０の主な機能を示す図である。
【図３Ａ】ファイル管理情報３１０の一例である。
【図３Ｂ】ディレクトリエントリ３１２の一例である。
【図３Ｃ】ｉノードテーブル３１３の一例である。
【図３Ｄ】サーバ装置１０及びストレージ装置２０のソフトウェア構成の一例を示す図である。
【図４Ａ】スナップショットの取得に際し行われる処理を説明する図その１である。
【図４Ｂ】スナップショットの取得に際し行われる処理を説明する図その２である。
【図４Ｃ】スナップショットの取得に際し行われる処理を説明する図その３である。
【図４Ｄ】スナップショットの取得に際し行われる処理を説明する図その４である。
【図５Ａ】スナップショットのリモートコピー処理を説明する図その１である。
【図５Ｂ】スナップショットのリモートコピー処理を説明する図その２である。
【図５Ｃ】スナップショットのリモートコピー処理を説明する図その３である。
【図６】ＲＧ管理テーブル６００の一例である。
【図７】ファイルシステム管理テーブル７００の一例である。
【図８】予備ボリューム管理テーブル８００の一例である。
【図９】リモートコピー設定管理テーブル９００の一例である。
【図１０】ＲＧのレベル判定処理を説明するフローチャートである。
【図１１】リモートコピー要求処理を説明するフローチャートである。
【図１２】リモートコピー応答処理を説明するフローチャートである。
【図１３】ＲＧのレベル別に実行される前処理及びレベル１に対応する処理を説明するフローチャートである。
【図１４】レベル１に対応する処理を説明する模式図である。
【図１５】レベル２に対応する処理を説明するフローチャートである。
【図１６Ａ】レベル２のＲＧの中からフェイルオーバー処理の対象として適切なＲＧを選択するために用いるテーブルの一例である。
【図１６Ｂ】レベル２に対応する処理を説明する模式図その１である。
【図１６Ｃ】レベル２に対応する処理を説明する模式図その２である。
【図１６Ｄ】レベル２に対応する処理を説明する模式図その３である。
【図１６Ｅ】レベル２に対応する処理を説明する模式図その４である。
【図１７】レベル３に対応する処理を説明するフローチャートである。
【図１８Ａ】プライマリ側でのＤ−ＶＯＬ拡張処理を説明するフローチャートである。
【図１８Ｂ】セカンダリ側でのＤ−ＶＯＬ拡張処理を説明するフローチャートである。
【図１９】レベル３に対応する処理を説明する模式図である。
【図２０Ａ】プライマリ側での監視／切り換え処理を説明するフローチャートである。
【図２０Ｂ】セカンダリ側での監視／切り換え処理を説明するフローチャートである。
【符号の説明】
【０１０９】
１  情報処理システム
１０  サーバ装置
２０  ストレージ装置
３０  ホスト／クライアント装置
４０  ＬＡＮスイッチ
７１  Ｐ−ＶＯＬ
７２  Ｄ−ＶＯＬ
７４  予備ボリューム
７５  ファイルシステム
２１１  ファイル共有システム
２１２  ファイルシステム
２１３  スナップショット処理部
２１３１  Ｄ−ＶＯＬ拡張処理部
２１４  リモートコピー処理部（データコピー処理部）
２１４３  レベル判定処理部
２１５  フェイルオーバー処理部
２１５１  監視／切り換え処理部
６００  ＲＧ管理テーブル
７００  ファイルシステム管理テーブル
８００  予備ボリューム管理テーブル
９００  リモートコピー設定管理テーブル
【図１Ａ】
2010092176.tif 000003
【図１Ｂ】
2010092176.tif 000004
【図２】
2010092176.tif 000005
【図３Ａ】
2010092176.tif 000006
【図３Ｂ】
2010092176.tif 000007
【図３Ｃ】
2010092176.tif 000008
【図３Ｄ】
2010092176.tif 000009
【図４Ａ】
2010092176.tif 000010
【図５Ａ】
2010092176.tif 000011
【図５Ｂ】
2010092176.tif 000012
【図６】
2010092176.tif 000013
【図７】
2010092176.tif 000014
【図８】
2010092176.tif 000015
【図９】
2010092176.tif 000016
【図１０】
2010092176.tif 000017
【図１１】
2010092176.tif 000018
【図１２】
2010092176.tif 000019
【図１３】
2010092176.tif 000020
【図１４】
2010092176.tif 000021
【図１５】
2010092176.tif 000022
【図１６Ａ】
2010092176.tif 000023
【図１６Ｂ】
2010092176.tif 000024
【図１６Ｃ】
2010092176.tif 000025
【図１６Ｄ】
2010092176.tif 000026
【図１６Ｅ】
2010092176.tif 000027
【図１７】
2010092176.tif 000028
【図１８Ａ】
2010092176.tif 000029
【図１８Ｂ】
2010092176.tif 000030
【図１９】
2010092176.tif 000031
【図２０Ａ】
2010092176.tif 000032
【図２０Ｂ】
2010092176.tif 000033
【図４Ｂ】
2010092176.tif 000034
【図４Ｃ】
2010092176.tif 000035
【図４Ｄ】
2010092176.tif 000036
【図５Ｃ】
2010092176.tif 000037