(57)【要約】      （修正有）【課題】ＨＳＭシステムでリモート複製を可能にする方法、装置及びコンピュータプログラムを提供する。【解決手段】第一のストレージサイトは、ストレージの上位階層を提供する第一のストレージシステムとストレージの下位階層を提供する第二のストレージシステムを備える。遠隔地にある第二のストレージサイトは第三と第四のストレージシステムを備え、各々第一と第二のストレージシステムからのリモート複製を受信する。ファイルが移行されたら、移行済みファイルの第二のストレージシステムでのストレージロケーションを表示するスタブファイルが移行元ファイルの位置に保存される。移行済みファイルとスタブファイルのコピーが各々第四と第三のストレージシステムに複製されたら、第三のストレージシステムでのスタブファイルのコピーを第四のストレージシステムでの移行済みファイルのコピーにリンクする為の情報が第二のストレージサイトに送信される。【選択図】図２
2009289252.tif 000002
【特許請求の範囲】
【請求項１】
第二のストレージ特性を持つ下位階層ストレージを提供する第二のストレージシステムと交信し、第一のストレージ特性を持つ上位階層ストレージを提供する第一のストレージシステムを配置する、第一のストレージサイト、及び
前記第一のストレージシステムからのリモート複製を受信する第三のストレージシステム及び前記第二のストレージシステムからのリモート複製を受信する第四のストレージシステムを配置し、前記第一のストレージサイトから遠隔地に存在する、第二のストレージサイト、を備え、
前記第一のストレージシステム内の第一のファイルが前記第二のストレージシステムに移行されたら、前記第一のファイルの前記第二のストレージシステムに於けるストレージロケーションを表示する第二のファイルが前記第一のストレージシステム内に生成され前記第一のファイルの位置に保存され、更に
リモート複製により、前記第二のファイルのコピーが前記第三のストレージシステムに複製され前記第一のファイルのコピーが前記第四のストレージシステムに複製されたら、前記第三のストレージシステムに於ける前記第二のファイルの前記コピーを前記第四のストレージシステムに於ける前記第一のファイルの前記コピーにリンクさせる情報が前記第二のストレージサイトに送信される、
ことを特徴とする情報システム。
【請求項２】
前記第一のストレージシステムと前記第三のストレージシステムは、通信の送受信にファイルベースのプロトコルを実装するＮＡＳ(network attached storage)システムで、
前記第二のストレージシステムと前記第四のストレージシステムは、ＣＡＳ(contents addressable storage)システムで、更に
前記第一のストレージシステムは、事前設定された移行ポリシーが満たされたら、前記第一のファイルを前記第二のストレージシステムに自動的に移行するように構成される、ことを特徴とする請求項１の情報システム。
【請求項３】
前記第一のストレージシステム、前記第二のストレージシステム、前記第三のストレージシステム及び前記第四のストレージシステムは、通信の送受信にファイルベースプロトコルを実装するＮＡＳ(network attached storage)システムである、ことを特徴とする請求項１の情報システム。
【請求項４】
前記第一のストレージシステムと交信する第一の管理コンピュータを更に備え、
前記第二のファイルの前記コピーが前記第三のストレージシステムに複製されたら、前記第一の管理コンピュータは、管理データから前記第四のストレージシステムに於ける前記第一のファイルの前記コピーのロケーションを決定し、更に前記第一のファイルの前記コピーのこのロケーションを、前記第二のファイルの前記コピーを前記第一のファイルの前記コピーにリンクする情報と共に、送信するように構成される、ことを特徴とする請求項１の情報システム。
【請求項５】
前記第一の管理コンピュータから送信された前記情報を受信し、該受信情報に基づいて、前記第二のファイルの前記コピーから前記第一のファイルの前記コピーへのリンク作成を指示するように構成された第二の管理コンピュータを前記第二のサイトに更に備えることを特徴とする請求項４の情報システム。
【請求項６】
ファイル移行に対する事前設定の条件を含む階層管理データを保有する階層管理モジュールを更に備え、
対応する事前設定条件が満たされた結果、前記第一のファイルが前記第二のストレージシステムに移行され、前記階層管理サーバは、前記対応する事前設定条件が満たされた時に、前記第一のファイルを前記第一のストレージシステムから前記第二のストレージシステムへ移行させる命令を発行するように構成される、ことを特徴とする請求項１の情報システム。
【請求項７】
前記第一のファイルを移行するための前記命令を受信し、前記第一のファイルの前記第一のストレージシステムから前記第二のストレージシステムへの移行を実行するように構成された移行モジュールを更に備えることを特徴とする請求項６の情報システム。
【請求項８】
前記移行モジュール及び階層管理モジュールは前記第一のストレージシステムに置かれる、ことを特徴とする請求項７の情報システム。
【請求項９】
前記移行モジュール及び階層管理モジュールは、前記第一のストレージシステム及び前記第二のストレージシステムと交信するサーバコンピュータに置かれる、ことを特徴とする請求項１の情報システム。
【請求項１０】
前記第一のストレージシステムから前記第三のストレージシステムへの前記リモート複製を実行する為に、前記第一のストレージシステムに置かれる第一のリモートコピーモジュール、及び
前記第一のストレージシステムから前記第三のストレージシステムへの前記リモート複製とは独立に、前記第二のストレージシステムから前記第四のストレージシステムへのリモート複製を実行する為に、前記第二のストレージシステムに置かれる第二のリモートコピーモジュールを、更に備えることを特徴とする請求項１の情報システム。
【請求項１１】
前記第二のファイルの前記コピーの前記第三のストレージシステムへの前記複製の完了に続いて、前記第一のファイルの前記コピーの前記第四のストレージシステムへの前記複製が未完の場合は、前記第二のファイルの前記コピーの前記第一のファイルの前記コピーへのリンク設定を、前記第一のファイルの前記コピーの前記第四のストレージシステムへの複製が完了するまで遅延させる、ことを特徴とする請求項１の情報システム。
【請求項１２】
第二のストレージ特性をもつ下位階層ストレージを提供する第二のストレージシステムと交信し、第一のストレージ特性をもつ上位階層ストレージを提供する第一のストレージシステムを第一のストレージサイトに配置するステップと、
前記第一のストレージサイトから遠隔地にある第二のストレージサイトに、前記第一のストレージシステムからのリモート複製を受信する第三のストレージシステムを構成するステップと、
前記第二のストレージサイトに、前記第二のストレージシステムからのリモート複製を受信する第四のストレージシステムを構成するステップと、
前記第一のストレージシステムの第一のファイルを前記第二のストレージシステムに移行するステップと、
前記移行の結果として、前記第二のストレージシステムに於ける前記第一のファイルのストレージロケーションを表示する第二のファイルを、前記第一のストレージシステムに生成し前記第一のファイルの位置に保存するステップと、
前記第一のファイルのコピーを前記第三のストレージシステムに、前記第二のファイルのコピーを前記第四のストレージシステムにリモート複製を通して複製するステップと、及び
前記第三のストレージシステムでの前記第二のファイルの前記コピーを前記第四のストレージシステムでの前記第一のファイルの前記コピーにリンクする為の情報を、前記第二のストレージシステムに送信するステップを
含むことを特徴とする、階層ストレージ構成に於けるリモート複製を実行する方法。
【請求項１３】
前記第一のストレージサイトでの障害に続いて、前記第三のストレージシステムに保存された前記第二のファイルの前記コピーを通して、前記第四のストレージシステムに保存された前記第一のファイルの前記コピーをアクセスすることにより、前記第一のファイルに関連する業務を継続するステップを更に含むことを特徴とする請求項１２の方法。
【請求項１４】
前記第三のストレージシステムでの前記第二のファイルの前記コピーを前記第四のストレージシステムでの前記第一のファイルの前記コピーにリンクする情報を、前記第一のストレージサイトの階層ストレージ管理モジュールから取得して該情報を前記第二のストレージサイトに送信する、管理コンピュータを前記第一のストレージサイトに配置するステップを更に含むことを特徴とする請求項１２の方法。
【請求項１５】
前記第二のファイルの前記コピーの前記第三のストレージシステムへの複製の完了に続いて、前記第一のファイルの前記コピーの前記第四のストレージシステムへの複製が完了したかを判定するステップ、及び
前記第一のファイルの前記コピーの前記第四のストレージシステムへの前記複製が未完であったら、前記第二のファイルの前記コピーの前記第一のファイルの前記コピーへのリンク作成を、前記第一のファイルの前記コピーの記第四のストレージシステムへの前記複製が完了する迄遅延させるステップを更に含むことを特徴とする請求項１２の方法。
【請求項１６】
第二のストレージ特性をもつ下位階層ストレージを提供する第二のストレージシステムと交信し、第一のストレージ特性をもつ上位階層ストレージを提供する第一のストレージシステムを第一のストレージサイトに配置するステップと、
前記第一のストレージサイトから遠隔地にある第二のストレージサイトに、前記第一のストレージシステムからのリモート複製を受信する第三のストレージシステムを構成するステップと、
前記第一のストレージシステムの第一のファイルを前記第二のストレージシステムに移行するステップと、
前記移行の結果として、前記第二のストレージシステムに於ける前記第一のファイルのストレージロケーションを表示する第二のファイルを、前記第一のストレージシステムに生成し前記第一のファイルの位置に保存するステップと、
前記第一のストレージサイトから前記第二のストレージサイトへの前記リモート複製を実行するリモートコピーモジュールが置かれる管理コンピュータを前記第一のストレージサイトに配置するステップと、
前記リモートコピーモジュールを介して、前記第一のファイルのコピーを前記第三のストレージシステムに複製するステップ、
を含むことを特徴とする階層ストレージ構成におけるリモート複製を実行する方法。
【請求項１７】
前記第一と第三のストレージシステムとして、通信の送受信にファイルベースのプロトコルを実装するＮＡＳ(network attached storage)システムを備えるステップと、
前記第二のストレージシステムとして、ＮＡＳ又はＣＡＳ(contents addressable storage)システムを備えるステップを更に含むことを特徴とする請求項１６の方法。
【請求項１８】
事前設定された移行ポリシーの条件が満たされたら、前記第一のファイルを自動的に前記第二のストレージシステムに移行するステップを更に含むことを特徴とする請求項１６の方法。
【請求項１９】
前記第二のストレージサイトに、前記第二のストレージシステムからのリモート複製を受信する第四のストレージシステムを構成するステップと、
第一のファイルの前記コピーを前記第四のストレージシステムに移行する為の情報を前記第二のストレージサイトに送信し、前記第四のストレージシステムでの前記第一のファイルの前記コピーのストレージロケーションを表示する第三のファイルを前記移行の結果として前記第三のストレージシステムに生成し第一のファイルの前記コピー位置に保存する、ステップを更に含むことを特徴とする請求項１６の方法。
【請求項２０】
前記第一と第三のストレージシステムとして、通信の送受信にファイルベースのプロトコルを実装するＮＡＳ(network attached storage)システムを備えるステップと、
前記第二と第四のストレージシステムとして、ＣＡＳ(contents addressable storage)システムを備えるステップを更に備えることを特徴とする請求項１９の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、階層ストレージシステムに関する技術である。
【背景技術】
【０００２】
０００１    最近の傾向では、ストレージ資源を最適化しデータストレージコストを低減する為に、階層ストレージシステムが使用されてきている。階層ストレージは、多様なタイプのデータを区別して、データに相応しいレベルの信頼性と性能を提供する為に選択されたストレージデバイスに保存して、データ保存コストを低減する一つの解決策である。例えば、階層ストレージシステムは、高信頼、高性能で高コストで、高頻度でアクセスされる重要データに使用される第一層、及び比較的低信頼、低性能ながら低コストで、アーカイブデータ又は稀にしかアクセスされないデータに使用される第２層の様に複数のストレージ階層を持つことが出来る。データはクラス分けされたタイプ、特定の所有者、サービス契約のレベル等に従って保存され、更に多様な状況と経過に基づいて階層間で移行させることが出来る。３層以上の階層を持ちストレージ資源使用をより効率化するアプリケーションも存在する。かように、多様なレベルの階層ストレージ資源を用いることにより、ストレージのトータルコストは低減しながらも、個別データについては要求されたアクセス速度と信頼性を維持することができる。
【０００３】
０００６
関連技術には、US Pat.Appl.Pub.No.2007/0239803 to Mimatsu、US Pat.Appl.Pub.No.2007/0266059 to Kitamura、及びUS Pat.Appl.Pub.No.2007/0192551 to Hara et al.があり、これらの全ての開示は参照としてここに紹介する。
【０００４】
【特許文献１】米国公開広報  ２００７−２６６０５９号公報
【特許文献２】米国公開広報  ２００７-１９２５５１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
０００２    階層ストレージシステムのストレージ階層はＮＡＳ(Network Attached Storage)及び／又はＣＡＳ(Contents Addressable Storage)で構成できる。ＮＡＳは典型的に、ＮＦＳ(Network File System)又はＣＩＦＳ(Common Internet File System)等のファイルベ−スのプロトコル経由でネットワークを介してアクセス可能なファイルベ−スのストレージシステムで、ユーザから受信した入出力（Ｉ／Ｏ）動作を管理するＮＡＳヘッドと実データを保存するストレージ媒体を持つストレージ部分を含む。ＣＡＳはオンラインアーカイブに使用可能な特殊目的のストレージで、保存済みのデータコンテントに基づいたアドレスをストレージシステムに於いて使用できる。法令遵守要求によりアーカイブ等の目的にＣＡＳが使用されている。例えば、ＣＡＳシステム内のファイルやオブジェクトは通常、「保持期間」と言われる一定期間の間は、如何なる更新もされないで保存可能である。ＣＡＳへは二つの慣用的ファイルアクセス方法があって、一つはＮＦＳ又はＣＩＦＳプロトコル等の汎用ネットワークファイルシステムプロトコルを使用する。ＣＡＳへの他の慣用的なファイルアクセス方法は、ファイル名又はファイル内容に従って計算されたコンテントＩＤをストレージアドレスとして使用する。本発明は、特定のアクセス方法に限定されてはいない。
【０００６】
０００３    ストレージ階層は典型的に、ストレージコストを最適化する或は性能及び／又は信頼性等の階層間の機能的相違等の幾つかの理由で生成される。例えば、稀にしかアクセスされないと想定されるデータは、比較的低コストで低性能なストレージ階層に保存可能である。このような状況では、第一のストレージ階層（例えば「階層１」）は高性能ＮＡＳ（通常は少容量）で、第二のストレージ階層（例えば「階層２」）は標準性能のＮＡＳ（通常は大容量）でよい。加えて、高速にアクセスする必要はないが法的要求の為にライトワンス形態で保存すべきデータは、ＮＡＳ（例えば第一階層に）で生成されたとしても、データ生成後何時かの時点ではＣＡＳ（例えば第二階層）等のアーカイブストレージに移動しなければならない。
【０００７】
０００４    ＨＳＭ（階層ストレージ管理）はストレージ階層を管理しデータを階層間で移動又は移行させる為に実装されるソフトウエアである。ＨＳＭの実装の中には、スタブファイル又は「スタブ」として知られる仕掛けを使用して、クライアントにはトランスペアレントなデータ移行を実現するものがある。スタブは、元ファイルの代役を果たし、Ｗｉｎｄｏｗｓ（Ｒ）ＯＳのショートカット又はＵＮＩＸ（Ｒ）ＯＳのシンボリックリンクに類似しているデータファイルである。ＨＳＭソフトウエアには、ストレージ媒体の容量を常に監視して、データの古さ、カテゴリ及びネットワーク又はシステム管理者からの指定によりデータを一つのストレージレベルから次のレベルへ移動させる、実装が存在する。ＨＳＭには定期的にバックアップする為のシステムを有するものも多い。例えば、ファイルが第一のストレージ階層から第二のストレージ階層に移行した場合には、移行元ファイルは、移行済みファイルが何処に移行したかを表示する小さなスタブファイルに置換される。かようにして、例えば、ファイルが上位階層から下位階層に移動した後には、小さなスタブファイルが移行済みファイルが以前に占めていたのと同じ（即ち、同じパス名又はアドレス）ロケーションに配置される。本発明の実施例は、スタブファイル機構を実装したＨＳＭシステムに関連する。
【０００８】
０００５    広汎に利用されているもう一つの技術は、データを一つのストレージシステムから他のストレージシステムにリモート複製するものである。リモート複製は災害その他の後にデータ回復を可能にする為に多く使用されている。災害からの回復を可能にする為にはＨＳＭシステムと共にリモート複製を使用することが望ましい。しかしながら今日のリモート複製技術がＨＳＭ技術と結合すると、リンク情報や階層構成の毀損等の正常動作を妨げる多くの問題が発生する可能性がある。
【課題を解決するための手段】
【０００９】
０００７    本発明の好適な実施例は、ＨＳＭシステムでリモート複製を可能にする方法、装置及びコンピュータプログラムを提供する。本発明の好適な実施例は、リモートサイトの階層構成に従って、正確なリンク情報を維持してターゲットロケーション情報を再構築する手段を提供する。加えて、本発明の好適な実施例は、階層構成を維持して第一のストレージ階層でスタブを生成し更に／又はファイルを第一のストレージ階層から第二のストレージ階層へ移動する為の手段を提供する。以降の好ましい実施例の詳細な記述により、本分野に通常の知識のある人には、本発明のこれら及びその他の特徴と便益が明らかになる
【発明を実施するための最良の形態】
【００１０】
００２７    以下の詳細な説明に於いては本開示の一部を成す添付図面が参照されるが、本添付図面に於いては、本発明を適用可能な好適な実施例が、限定目的ではなく説明目的の為に、示される。本図面では、同じ番号は複数の場面で実質的に同じ要素を表す。さらに、以下で説明され図面で図解されるように、数々の好適な実施例の詳細な記述がなされるが、本発明はここで記述され図解された実施例に限定されることなく、本分野に知識のある人には公知又は公知になるであろう他の実施例にも及ぶことに注意する必要がある。本明細書で、「一つの実施例」又は「この実施例」と言う場合は、当該実施例に関連して特定の特徴、構成、又は性質が、本発明の少なくとも一つの実施例に含まれ、本明細書の各所でこれらの用語が現れても、これら全てが同じ実施例を参照しているわけではないことを意味する。加えて、図面、前述の議論、後述の記述は代表的な説明の為であり、如何なる意味でも本発明の範囲を限定するものではない。例えば、以降の詳細な説明に於ける数々の具体的詳細は、本発明の完全な理解の為に用意したものである。しかしながら、本発明の実施には、これら具体的詳細の全てが必要だとは限らないことは本分野に通常の知識のある人には明らかであろう。他の状況においては、本発明が不必要に曖昧にならない範囲で、公知の構成、材料、回路、プロセスやインタフェースの詳細記述は省略され又ブロック図形式で描写されていることもある。
【００１１】
００２８    さらに又、以降の詳細な記述の中には、アルゴリズムの用語やコンピュータ内のデータビットに於ける動作の記号的表現でなされている所もある。これらのアルゴリズム的記述や表現は、データ処理技術に於いて知識を持つ人が他の知識を持つ人に彼らの仕事の実態を伝えるのに最も効果的に使用されている手段である。アルゴリズムとは、ここでは又一般的に、望まれる目的、結果に導く為に定義された一連のステップと理解する。これらステップは物理的実体の物理的操作を必要とする。必ずではなくても通常は、これら実体は保存、転送、結合、比較、あるいは操作可能な電磁気的信号の形をとる。主として共通に使用される為に、これら信号をビット、値、要素、シンボル、性質、用語、数、命令等として参照することが時により便利であることが分かってきた。然しながら、これら全て又は同様な用語は、特定の物理的実体に関連しこれら実体に適用される場合に、便利であるに過ぎないことも肝に銘じておく必要がある。以下の議論で明らかになるように、特に具体的に記された場合を除いて、以下の記述を通して下記のことを理解してもらいたい。即ち、「処理」、「コンピュータ操作」、「計算」、「判定」、「表示」、等の用語を使用して行う議論は、コンピュータシステムのレジスタやメモリ内での物理的（電気的）実体として表現されるデータを操作し、同様にコンピュータシステムのメモリ、レジスタ、あるいは他の情報ストレージ、転送又は表示デバイスの中で物理的実体として同様に表現されるように、変換するコンピュータシステムや他の情報処理デバイスの動作及びプロセスを含むことが出来る、ことを理解願いたい。
【００１２】
００２９    本発明はここで記した動作を実行する装置にも関連する。この装置は、要求目的に適合するように特別に仕立てることも出来、又一式以上のコンピュータプログラムにより選択的に活性化され又は再構成される一式以上の汎用コンピュータを含んでも良い。このコンピュータプログラムは、光ディスク、磁気ディスク、読み出し専用メモリ、ランダムアクセスメモリ、半導体デバイス及びドライブ等、又はこれらに限らず、電子情報を保存するのに相応しい、コンピュータ読み取り可能な他の如何なるタイプの保存媒体に格納できる。ここで提示するアルゴリズムや表示は、如何なるタイプのコンピュータ又は他の装置に本質的に関連することはない。多様な汎用目的システムがここでの教述に従ったプログラムにより使用可能であり、或は望みの方法ステップを実行できるようにより専用装置を仕立てることも好都合になるかもしれない。これらシステムの多様な構成が以下に準備した記述で明らかになる。加えて、本発明は、如何なる特別なプログラム言語によらずに記述されている。多様なプログラム言語がここで記述された教述を実現するのに使用できることを理解願いたい。プログラム言語の命令は一式以上の処理デバイス即ち、中央処理装置（ＣＰＵ）、プロセッサ又はコントローラによって実行される。
【００１３】
００３０    第一の実施例
００３１    以下でより詳細に記されるように、本発明の好適な実施例は、ＨＳＭシステムでのリモート複製の為の装置、方法、コンピュータプログラムを提供する。図１は本発明の第一の実施例を適用できる情報システムのハードウエア構成の一例を示す。図１の情報システムは、第一のネットワーク４０００を通して一式以上のＣＡＳクライアント／ＨＳＭサーバコンピュータ１１００、管理コンピュータ１２００、上位階層ストレージ２０００（ＮＡＳ−１）、及び下位階層ストレージ３０００（ＣＡＳ−１又はＮＡＳ−２）と交信する、一式以上のＮＡＳクライアント１０００を含む。図１では、ＣＡＳクライアントとＨＳＭサーバは同じ物理コンピュータ１１００上に実装されている。然しながら、他の実施例として、これらは複数の分離されたコンピュータに実装しても良い。更に、管理コンピュータ１２００は分離されたコンピュータとしている。然しながら、他の実施例として、管理コンピュータ１２００はＣＡＳクライアント／ＨＳＭサーバコンピュータ１１００と同じコンピュータであっても良い。
【００１４】
００３２    上位階層ストレージ２０００は一般的に、高性能又は特別なタイプのストレージ又はアクセス特性を持つ第一のストレージ特性を持つストレージレベルを提供し、一方、下位階層ストレージ３０００は一般的に、低性能、より廉価なストレージ媒体又は異なったストレージ又はアクセス特性等を持ち、第一とは異なる第二のストレージ特性を持つストレージレベルを提供する。例えば、一実施例に於いては、下位階層ストレージ３０００はＣＡＳ（ＣＡＳ−１）で、他の実施例に於いては、情報システムの望まれる構成と意図する用途によっては、下位階層ストレージ３０００はＣＡＳに代わって第二のＮＡＳ（ＮＡＳ−２）でよい。かくして、下位階層ストレージ３０００がＮＡＳの場合は、上位階層ストレージ２０００は通常、階層ストレージ構成に於いて上位階層のストレージとして使用される高性能ＮＡＳ（ＮＡＳ−１）であり、一方、下位階層ストレージ３０００は通常、下位階層ストレージとして使用される低性能・廉価なＮＡＳ（ＮＡＳ−２）である。上位階層ストレージ２０００と下位階層ストレージ３０００は合わせてプライマリストレージサイト１００を形成する。
【００１５】
００３３    更に、リモートセカンダリサイト２００が、ディザスタリカバリ又は他のリモートコピー目的の為に設置され、プライマリストレージサイト１００と同様なシステム構成を持てる。図示した実施例では、セカンダリサイト２００の上位階層ストレージシステム８０００はＮＡＳ（ＮＡＳ−３）であり、セカンダリサイト２００の下位階層ストレージシステム９０００はＣＡＳ（ＣＡＳ−２）又は第二のＮＡＳ（ＮＡＳ−４）である。ＮＡＳクライアントコンピュータ７０００はセカンダリサイト２００を使用でき、セカンダリサイト２００は更にＣＡＳクライアント／ＨＳＭサーバコンピュータ７１００及び管理コンピュータ７２００を含むことができる。セカンダリサイト２００はネットワーク６０００と、これと同居又は分離して存在する、管理ネットワーク６００１を含む。ネットワーク６０００はインターネット又は他のタイプのＷＡＮ（Wide Area Network）を通してプライマリサイトのネットワーク４０００と交信する。更に、実施例によっては、セカンダリサイト２００に於いては、下位階層ストレージ９０００は存在しないこともあり得る。例えば、セカンダリサイトではＮＡＳ８０００のみを有効に使用するユーザは第二階層ストレージ９０００を購入する資金を節約するかもしれない。この場合は、第二階層ストレージ９０００は上位階層ストレージ８０００のディザスタリカバリでのデータバックアップとしてのみ使用され、本状況では、下位階層ストレージ９０００を追加して購入することは必要ないかもしれない。然しながら、データ保存の為にＣＡＳを法令順守証明ストレージとして必要とするユーザはセカンダリサイトでＣＡＳを下位階層ストレージ９０００として設置する必要がある。
【００１６】
００３４    本情報システムの多様な構成要素の詳細をここで記述する。各ＮＡＳクライアント１０００はＣＰＵ１００１、メモリ及びストレージ１００２、及びネットワークインタフェース（Ｉ／Ｆ）１００３を含む汎用コンピュータ、ワークステーションでよい。アプリケーションプログラム及びネットワークファイルシステム（即ち、ＮＦＳｖ２／３／４、ＣＩＦＳ）のクライアントプログラム（図２に記述）はメモリ１００２に保存されＣＰＵ１００１によって実行される。ネットワークインタフェース（Ｉ／Ｆ）１００３は、ネットワーク４０００を経由して上位階層ストレージシステム２０００に通信結合される。ネットワーク４０００は管理コンピュータ１２００で使用される管理ネットワーク４００１と物理的に同じネットワーク又は分離されたネットワークでよい。然しながら、ネットワーク４０００は少なくともネットワーク４００１とは論理的に分離されていることが望ましく、更に、ネットワーク４０００は、ＮＡＳクライアント１０００、ＣＡＳクライアント／ＨＳＭサーバ１１００及び上位階層ストレージ２０００（ＮＡＳ−１）を含むＮＡＳネットワーク；ＣＡＳクライアント／ＨＳＭサーバ１１００、上位階層ストレージ２０００及び下位階層ストレージ３０００（ＣＡＳ−１）を含むＣＡＳネットワーク；リモート上位階層ストレージ８０００（ＮＡＳ−３）、リモート下位階層ストレージ９０００（ＣＡＳ−２）、ＣＡＳクライアント／ＨＳＭサーバ７１００及びＷＡＮ５０００を含むリモートアクセスネットワーク、を含む幾つかの論理ネットワークに分割しても良い。ネットワーク４０００、４００１の典型的な媒体はイーサネット（Ｒ）であるが、本発明は特定のネットワーク媒体のタイプに限定されない。
【００１７】
００３５    ＣＡＳクライアントとＨＳＭサーバは同じ物理コンピュータ１１００に存在可能であり、本コンピュータは又汎用コンピュータ、ワークステーション等でよく、ＣＰＵ１１０１、メモリ及びストレージ１１０２、ネットワークインタフェース（Ｉ／Ｆ）１１０３を含んでよい。各ＣＡＳクライアントは、アーカイブアプリケーションプログラム及び（ＣＡＳ３０００との通信の為の）ネットワークファイルシステムのクライアントプログラム又は専売の通信プログラムを含んでよい（図２で記す）。ＨＳＭサーバは、階層管理プログラム、移行エンジンと（ＣＡＳ３０００との通信の為の）ネットワークファイルシステムのクライアントプログラム又は専売の通信プログラム等のＨＳＭアプリケーションプログラムを含むことが出来る（図２で記す）。ネットワークインタフェース（Ｉ／Ｆ）１１０３はネットワーク４０００を通して、ＮＡＳ２０００とＣＡＳ３０００に交信の為に結合する。
【００１８】
００３６    管理コンピュータ１２００は汎用コンピュータやワークステーション等でよく、ＣＰＵ１２０１、メモリ及びストレージ１２０２及びネットワークインタフェース（Ｉ／Ｆ）１２０３を持てる。ＮＡＳ及びＣＡＳ管理プログラム（図２に記される）はメモリ１２０２に保存され、ＣＰＵ１２０１にて実行される。ネットワークインタフェース（Ｉ／Ｆ）１２０３は管理ネットワーク４００１を通して、ＮＡＳ２０００とＣＡＳ３０００に結合される。既に述べた様に、ネットワーク４０００と管理ネットワーク４００１は物理的に又は、ＶＬＡＮ等のネットワークパーテイション技術を使用して、論理的に分離することが出来る。
【００１９】
００３７    上位階層ストレージシステム２０００（ＮＡＳ−１）はＮＡＳヘッド２１００とストレージサブシステム２２００の二つの主要部位を含む。ストレージサブシステム２２００はストレージコントローラ２３００とハードディスクドライブ、半導体ドライブ又は他の相応しいストレージデバイスより成る、ストレージ媒体２４００を含む。ヘッド２１００とストレージサブシステム２２００はインタフェース２１０６と２３０４を通して結合される。ヘッド２１００とストレージサブシステム２２００は一台のストレージユニット中に存在してもよく、「ファイラ(filer)」とも呼ばれる。この場合は、ヘッド２１００とストレージサブシステム２２００はＰＣＩ−Ｘ等のシステムバスで結合される。加えて、ヘッド２１００はどのストレージコントローラにも接続されない内部ディスクドライブを持つことが出来、汎用サーバに極めて類似した構成になる。一方に於いて、ヘッド２１００とコントローラ２３００は物理的に分離することも出来る。この場合には、ヘッド２１００とストレージサブシステム２２００はファイバチャネル、イーサネット（Ｒ）等のネットワーク経由で結合される。このように、多数のハードウエア構成が可能であるが、これら如何なる実装も本発明に適用できる。更に、図１は単一ノードを持つシステム構成を示しているが、マルチノードクラスターを含むシステム構成にも本発明は適用可能で、クラスター構成が本発明に影響することはない。
【００２０】
００３８    ヘッド２１００（「ゲートウエイ」と呼ばれることもある）はＣＰＵ２１０１、メモリ２１０２、キャッシュ２１０３、フロントエンドネットワークインタフェース（ＮＩＣ）２１０４、管理ネットワークインタフェース（ＮＩＣ）２１０５及びディスクインタフェース（Ｉ／Ｆ）２１０６より成る。ＮＩＣ２１０４と２１０５は物理的にも論理的にも分離できる。ヘッド２１００はＮＡＳクライアント１０００、ＣＡＳクライアント／ＨＳＭサーバ１１００及び管理コンピュータ１２００からの要求を処理する。更に、ネットワークファイルシステムのサーバプログラムに当るＮＡＳプログラムはメモリ２１０２（図２を参照）に保存されＣＰＵ２１０１が本プログラムを実行する。キャッシュ２１０３はＮＡＳクライアント１０００からのＮＦＳ書き込みデータをストレージサブシステム２２００に送信する前に一時的に保存し、或いは、ＮＡＳクライアント１０００から要求されたＮＦＳ読み出しデータをストレージサブシステム２２００から読み出し、要求クライアントに送信する時点で、保存する。キャッシュ２１０３はバッテリバックアップされた不揮発メモリでも良い。他の実装として、メモリ２１０２とキャッシュ２１０３は共通に結合したメモリとしても良い。フロントエンドネットワークインタフェース２１０４は、ネットワーク４０００を通して、ヘッド２１００をＮＡＳクライアント１０００、ＣＡＳクライアント／ＨＳＭサーバ１１００に結合して交信する為に使用される。管理ネットワークインタフェース２１０５は、ヘッド２１００を管理ネットワーク４００１経由で管理コンピュータ１２００に結合して交信する為に使用される。ディスクインタフェース２１０６はヘッド２１００とストレージサブシステム２２００を結合する為に使用される。ファイバチャネル（ＦＣ）とイーサネット（Ｒ）は典型的な接続タイプの例である。ヘッドとコントローラを内部結合（即ち単一のストレージユニット実装）する場合は、システムバスが典型的な接続例である。
【００２１】
００３９    ストレージコントローラ２３００はＣＰＵ２３０１、メモリ２３０２、キャッシュメモリ２３０３、フロントエンドインタフェース２３０４、管理インタフェース（ＭＩ／Ｆ）２３０５及びディスクインタフェース（Ｉ／Ｆ）２３０６より成る。ストレージコントローラ２３００はヘッド２１００よりのＩ／Ｏ要求を処理する。Ｉ／Ｏ要求その他の動作を処理するプログラムはメモリ２３０２に保存され（図２を参照）、ＣＰＵ２３０１がこれらプログラムを実行する。キャッシュメモリ２３０３はヘッド２１００から受信した書き込みデータを、保存媒体２４００に保存する前に一時的に保存し、またキャッシュ２３０３は、ヘッド２１００からの要求に応じて保存媒体２４００からの読み出しデータを保存する。キャッシュ２３０３はバッテリバックアップされた不揮発メモリであっても良い。メモリ２３０２とキャッシュメモリ２３０３が共通の結合メモリになる実装も存在する。インタフェース２３０４はヘッド２１００とストレージコントローラ２３００を結合する為に使用される。ファイバチャネル（ＦＣ）とイーサネット（Ｒ）は典型的な結合例である。既に述べたように、ＰＣＩ−Ｘ等のシステムバス結合が単一ファイラのケースに適用可能である。管理インタフェース（ＭＩ／Ｆ）２３０５は管理コンピュータ１２００とストレージコントローラ２３００を結合する為に使用される。ディスクインタフェース（Ｉ／Ｆ）２３０６はディスクドライブ２４００とストレージコントローラ２３００を結合する為に使用される。ストレージ媒体２４００は、ＳＣＳＩ(small computer system interface)コマンド等のストレージプロトコルコマンドに従って、Ｉ／Ｏ要求を処理しデータを保存するのに相応しいディスクドライブデバイス又は他の相応しい保存媒体であってよい。
【００２２】
００４０    下位階層ストレージ３０００（ＣＡＳ−１又はＮＡＳ−２）のハードウエア構成は上位階層ストレージ２０００について既に述べたものと実質的に同じでよい。上位階層ストレージ２０００と下位階層ストレージ３０００のハードウエアの典型的な相違点は、下位階層ストレージの保存媒体３４００はより低性能で廉価であることであろう。例えば、上位階層ストレージ２０００が保存媒体２４００として高性能のＦＣディスクドライブを採用するケースでは、下位階層ストレージは保存媒体３４００として、ＳＡＴＡディスクドライブのような安価で大容量ディスクドライブを採用するであろう。下位階層ストレージ３０００がＮＡＳではなくＣＡＳの場合には、下位階層ストレージがＮＡＳの場合に比べて異なったプログラムがＣＡＳシステムで動作するであろう。もう一つの典型的構成に於いては、ストレージコントローラ２３００はＮＡＳヘッドとＣＡＳヘッド間で共有することが出来る。例えば、単一のストレージサブシステム２２００は上位階層ストレージ２０００と下位階層ストレージ３０００双方のＮＡＳヘッド２１００のストレージ容量として稼動し、内部的には複数タイプの保存媒体を含むことが出来る。図１で示したシステムは本発明を実施できる多数の構成の一例に過ぎないことが理解でき、本発明を実施する為にその他多くのハードウエアアーキテクチュアが実装可能である。
【００２３】
００４１    図２は本発明を適用できる方法と装置でのソフトウエア構成の一例を示す。ＮＡＳクライアント１０００はコンピュータでこの上でアプリケーション（ＡＰ）１０１１が入出力（Ｉ／Ｏ）動作等のファイル処理動作を生成する。ＮＦＳｖ２、ｖ３、ｖ４或いはＣＩＦＳ等のネットワークファイルシステム（ＮＦＳ）のクライアントプログラム１０１２も又ＮＡＳクライアントノード１０００の上で動作する。ＮＦＳクライアントプログラムは、ＴＣＰ／ＩＰ等のネットワークプロトコルを通して、ＮＡＳ２０００上のＮＦＳサーバプログラム２１１１と交信する。ＮＦＳクライアントとＮＡＳはＬＡＮ等のネットワーク４０００経由で結合する。
【００２４】
００４２    管理ホストコンピュータ１２００に関しては、ＮＡＳとＣＡＳの管理ソフトウエア１２１１はこの管理コンピュータ１２００に乗っている。システム構成設定のようなＮＡＳ／ＣＡＳ管理動作は管理プログラム１２１１から発行される。図５でも論議するように、リモート複製管理テーブルの如きリモートコピー構成情報もここで管理される。
【００２５】
００４３    ＣＡＳが実装されるケースでは、ＣＡＳクライアントコンピュータ１１００はファイルのアーカイブ動作を生成するアーカイブアプリケーション（ＡＰ）１１１１を含む。アーカイブアプリケーション１１１１はアーカイブポリシー（例えば、アーカイブタイミング）とメタデータの追加を管理する。ＨＳＭのサーバ部分は、階層管理プログラム１１１２やオプションとして移行エンジンモジュール１１１３等の、ＨＳＭプログラム１１１５を含む。階層管理プログラム１１１２は階層情報を管理し必要な時に移行エンジン１１１３を起動する。移行エンジンモジュール１１１３は、階層管理プログラム１１１２からファイル移行を指示された時にストレージ階層間でファイルを移動させる。ＨＳＭプログラム１１１５は階層管理テーブル１１２５（図３Ａでの記述を参照）内のストレージ階層情報を管理する。更にまたＨＳＭプログラム１１１５はファイルロケーション管理テーブル１１２６（図４Ａでの記述を参照）に於いて、ファイル移行ポリシー（例えば移行タイミング）を管理する。管理者は本テーブルに情報をセットできる。専売のネットワーク通信プログラム又は汎用のネットワークファイルシステム（例えば、ＮＦＳｖ２／３／４、ＣＩＦＳ）のクライアントプログラム１１１４は又本ＨＭＳサーバ上で動作する。ＮＦＳクライアントプログラム１１１４は、ＮＡＳ２０００上のＮＦＳサーバプログラム２１１１及び下位階層ストレージ３０００上の専売のサーバ通信プログラム又はＮＦＳサーバプログラム３１１１と、ＴＣＰ／ＩＰ等のネットワークプロトコルを通して通信する。ＨＭＳプログラムは、互いの動作を干渉することく、アーカイブアプリケーション１１１１と共存できる。別の方法として、移行エンジンモジュール１１１３は上位階層ストレージＮＡＳ２０００上に実装しても良い。このケースでは、ＨＳＭプログラムは、ファイル移行要求をＮＡＳ２０００上で稼動するＨＳＭ ＡＰＩ  ２１１２を通して、ＮＡＳ２０００に送信する。
【００２６】
００４４    更に次の実施例に於いては、図７で示すように、全てのＨＳＭプログラム１１１５は、上位階層ＮＡＳ２０００上に乗せても良い。この実施例では階層管理とファイル移行含めて、ヘッド２１００がＨＳＭプログラムの処理を実行する。ファイル移行は移行エンジン１１１３又はヘッド２１００上の他のプログラムが実行できる。図示されていなくても他の可能な論理的構成がここでの開示によって明らかになるであろう。
【００２７】
００４５    上位階層ストレージ２０００に於いて、ヘッド２１００はＮＡＳ２０００に向けられた動作を実行するＮＡＳ２０００の部位である。ヘッド２１００は、ＮＡＳクライアント１０００とＣＡＳクライアント／ＨＳＭサーバ１１００の双方のＮＦＳクライアントと交信し、ＮＡＳ２０００が管理するファイルシステムに向けられたＮＦＳ動作を処理する、ＮＦＳサーバプログラム２１１１を実装できる。更に、ＨＳＭ ＡＰＩ  ２１１２がヘッド２１００上に実装され、ＨＳＭサーバ１１００上のＨＳＭプログラム１１１５が、移行済ファイルのスタブ生成及び／又は移行要求を移行エンジンに送信した場合は、本要求はこのＡＰＩを通して処理される。スタブ管理プログラム２１１４も又ヘッド２１００に置かれる。ＮＡＳクライアントにはトランスペアレントなファイル移行を実現するには、ファイル属性と移行先ロケーションを保持するスタブファイルが生成される（スタブファイルは図６で示すスタブ管理テーブル１１２７で管理されるか又はソースファイル情報と共に保存される）。例えば、スタブファイルはＩノードを持てるが、データアドレスへのポインタを持つＩノードではなく、スタブファイルＩノードは移行済ファイルのロケーション（サーバ及びファイルロケーション）をポイントする。ＵＮＩＸ（Ｒ）のシンボリックリンクは使用可能なスタブファイルタイプの一例である。シンボリックリンクが使用された場合には、スタブ管理プログラム２１１４はローカルファイルシステム２１１５に埋め込まれているように機能する。或いは（例：移行ターゲットがマウントされておらず、ソースＮＡＳからは認識できない場合は）スタブ管理プログラム２１１４は、ＮＦＳサーバとローカルファイルシステム２１１５の間に乗せる。このケースでは、Ｉ／Ｏ動作が移行済ファイルに向けられた時には当該アドレスは今やスタブファイルが占有しており、本プログラムがＩ／Ｏ動作を取り込み処理する。動作が移行済ファイルに向けられたのではなければ、本プログラムは動作を単にローカルファイルシステム２１１５に転送する。リモートコピープログラム２１１３は、プライマリサイト１００で処理した書き込み動作をセカンダリサイト２００にコピーする。同期及び／又は非同期コピー形態を実装できる。加えて、リモートコピーの実行にファイルレベル又はブロックレベルの粒度が可能である。ローカルファイルシステム２１１５はストレージサブシステム２２００上のファイルシステムに対するＩ／Ｏ動作を処理する。ストレージシステムドライバ２１１６はデータの保存と検索のＩ／Ｏ動作をブロックレベル動作に変換し、ＳＣＳＩ等のコマンドを通してストレージコントローラ２３００と交信する。
【００２８】
００４６    ストレージサブシステム２２００は、ヘッド２１００から受信したＳＣＳＩコマンドを処理する、ストレージコントロールソフトウエア２３１０を含む。ストレージサブシステム２２００上には一式以上の論理ボリューム２４０１が生成され、ストレージ媒体２４００で提供されるストレージ容量を持つ。ファイルシステムは単一ボリューム２４０１又は複数ボリューム２４０１上に生成される。
【００２９】
００４７    下位レベルストレージ３０００はヘッド３１００とストレージサブシステム３２００を含む。図２は、下位レベルストレージ３０００はＣＡＳで、ＣＡＳ３０００に向けられたＩ／Ｏ動作はこのモジュールで処理される、ケースを示す。ＮＦＳサーバプログラム又は専売の通信プログラム３１１１は、ＣＡＳクライアント／ＨＳＭサーバ１１００上のＮＦＳクライアントプログラム又は専売の通信プログラムと交信し、ＣＡＳ３０００で管理されるファイルシステムに対する動作を実行する。リモートコピープログラム３１１３は、書き込み動作を別のセカンダリストレージサイト２００のＣＡＳにコピーする。データのリモートコピーの為に同期及び／又は非同期コピー形態を実装できる。加えて、リモートコピーの実行にファイルレベル又はブロックレベルの粒度が可能である。ＣＡＳプログラム３１１４は上書き禁止、保持管理、データ正常性チェック、及び顧客メタデータ操作等のＣＡＳ機能を提供する。ＣＡＳプログラム３１１４は、ＮＦＳサーバ又は専売の通信プログラム３１１１とローカルファイルシステム３１１５の間に存在し、ＣＡＳプログラムに向けられたＩ／Ｏ動作を取り込む。ローカルファイルシステム３１１５は、ストレージサブシステム３２００上のファイルシステムに対するＩ／Ｏ動作を処理する。ドライバ３１１６は、ＳＣＳＩ等のコマンドを通してストレージコントローラ２３００と交信する為にＩ／Ｏ動作をブロックレベル動作に変換する。
【００３０】
００４８    ストレージサブシステム３２００は、データの保存及び検索の為にヘッド３１００より受信したＳＣＳＩコマンドを処理する、ストレージコントロールソフトウエア３３１０を含む。一式以上の論理ボリューム３４０１が、ストレージサブシステム３２００上のストレージ媒体により提供される容量により、ストレージサブシステム３２００に生成される。ファイルシステムは単一ボリューム３４０１又は複数ボリューム３４０１に生成される。
【００３１】
００４９    図３Ａと３Ｂは、階層管理テーブル１１２５と７１２５の好適なデータ構造を示し、図３Ａはプライマリストレージサイト１００の階層管理テーブル１１２５を示し、図３Ｂはセカンダリストレージサイト２００の階層管理テーブル７１２５を示す。階層管理テーブル１１２５、７１２５は、階層１名エントリ２５１１、階層１タイプエントリ２５１２、階層２名エントリ２５１３及び階層２タイプエントリ２５１４を含む。階層管理テーブル１１２５、７１２５は、ＨＳＭシステムでのストレージ階層間の関係を表示する。
【００３２】
００５０    図４Ａと４Ｂは、ファイルロケーション管理テーブル１１２６と７１２６の好適なデータ構造を示し、図４Ａはプライマリストレージサイト１００のプライマリサイト・ファイルロケーション管理テーブル１１２６を示し、図４Ｂはセカンダリストレージサイト２００のセカンダリサイトファイルロケーション管理テーブル７１２６を示す。ファイルロケーション管理テーブル１１２６、７１２６は、ファイル名エントリ２５２１、条件エントリ２５２２、及びターゲットロケーション２５２３を含む。ファイル名２５２１は各ストレージシステムで管理される各ファイルのパスと名前をリストする。条件２５２２は対象ファイルにアクセスためのアクセス条件をリストする。ターゲットロケーション２５２３は対象ファイルが移行されるターゲットをリストする。ファイルロケーション管理テーブル１１２６、７１２６は、ＨＳＭプログラム１１１５が、何時ファイルがターゲットロケーションに移行すべきか等の、ファイル移行ポリシーを管理するのに使用される。
【００３３】
００５１    図５はリモート複製管理テーブル１１２７の好適なデータ構造を示す。リモート複製管理テーブル１１２７は、プライマリサイトエントリ２５３１、プライマリサイトのファイル名又はファイルシステム名エントリ２５３２、セカンダリサイトエントリ２５３３、及びセカンダリサイトのファイル名又はファイルシステム名エントリ２５３４を含む。リモート複製管理テーブル１１２７は、リモート複製の為に、ストレージシステムに保存されているファイルのプライマリとセカンダリのロケーションを管理する目的に使用される。
【００３４】
００５２    図６はスタブ管理テーブル１１２８の好適なデータ構造を示す。スタブ管理テーブル１１２８は、ファイル名エントリ２５４１、Ｉノードエントリ２５４２、ターゲットロケーションエントリ２５４３を含む。Ｉノードエントリ２５４２には、所有者エントリ２５４４、ファイルサイズ２５４５、及びその他の属性とＩノードに含まれる情報を含む複数の追加エントリを、配置することが出来る。スタブ管理テーブル１１２８は、スタブファイルが生成済の移行済ファイルに向けられたＩ／Ｏ動作を取り込むか否かを判定し更にスタブファイルのリモート複製を管理するのに使用される。
【００３５】
００５３    スタブ生成
００５４    本発明で採用されるスタブ・ベースのＨＳＭ技術では、ファイルが移行された後に小さなスタブファイルが生成される。スタブファイルは、対象移行済ファイルの幾つかの属性情報とロケーション情報を保持する。クライアントコンピュータ１０００は、このスタブを通して、移行済ファイルであってもアクセス可能である。かくして、クライアントはファイル移行を意識する必要がなく、クライアント・トランペアレントなファイル移行が実現する。図８Ａはスタブ生成フェーズの概念図であり、図８Ｂはスタブ生成中に実行される好適な手順を示すフローチャートである。
【００３６】
００５５    ステップ８０１：ロケーション管理テーブル１１２６で管理される移行ポリシーに従って、階層管理モジュール１１１２がファイル（例えば、/nas1/a.txt）の移行実施の必要性を決定する。ある種の移行ポリシーは、“アクセスなし期間”及び“ファイルサイズ”等のＩノード情報に基づいて決定される。ある種の移行ポリシーは、例えば、“confidential”等の何かの単語や指定を含む全てのファイル、のようにファイル内容に基づいて決められる。階層管理モジュール１１１２は、ファイルロケーション管理テーブル１１２６で管理されているファイルをチェックして、ファイル移行条件２５２２が満たされているかを決定する。このチェックは、周期的に又は管理者による要求又は例えばアーカイブアプリケーション１１１１から受信した、特定グループのデータを移行する命令等による、要求ベースで実施できる。加えて、図７で示すようにＨＳＭプログラム１１１５がＮＡＳ２０００に実装されている場合には、このチェックはファイル生成時又は他の何れかのファイルアクセス中に実行可能である。
【００３７】
００５６    ステップ８０２：階層管理モジュール１１１２は移行エンジン１１１３に移行命令を始動する。この移行命令は典型的にソースファイルロケーションと移行先のターゲットロケーションを含む。移行先のターゲットロケーションは、管理者がセットすることが出来る。代わりに、階層管理プログラム１１１２が階層管理テーブル１１２５を参照し、上位階層ストレージに対する下位階層ストレージを検出し、下位階層ストレージのターゲットのロケーションを決定し、更にこのターゲットロケーションをファイルロケーション管理テーブル１１２６に登録する。
【００３８】
００５７    ステップ８０３：移行エンジン１１１３は、ＨＳＭ  ＡＰＩを通して、スタブ管理プログラム２１１４に、移行すべきソ−スファイル２１３３に向けられた全ての書き込み動作をブロックすることを要求する。かくして、ＮＡＳ名前空間２５００内のソ−スファイル２１３３に向けられた全ての書き込み動作は、移行の完了後までブロックされる。
【００３９】
００５８    ステップ８０４：移行エンジン１１１３は、ネットワークファイルシステムサーバ２１１１又はＨＳＭ  ＡＰＩ２１１２を通して、移行ソースファイル２１３３を読み出す。
【００４０】
００５９    ステップ８０５：移行エンジン１１１３は、移行ファイル２１３３を下位階層ストレージ３０００（例：ＣＡＳ−１又はＮＡＳ−２）のターゲットストレージ領域の名前空間３５００に書き込む。
【００４１】
００６０    ステップ８０６：書き込みが終了した後に、移行エンジン１１１３は、ＮＦＳサーバ２１１１又はＨＳＭ  ＡＰＩ  ２１１２を通して、ソースファイルをＮＡＳ−１  ２０００から削除し、ＨＳＭ  ＡＰＩ  ２１１２を通して、ソースファイルの削除をスタブ管理プログラムに通知する。
【００４２】
００６１    ステップ８０７：スタブ管理プログラム２１１４は、移行済ファイルに対するスタブファイル２１３４を生成し当該移行済ファイルに向けられた書き込み動作のブロックを全て解消する。
【００４３】
００６２    移行とスタブ生成後のアクセス
００６３    図９Ａは、読み出しＩ／Ｏ動作を受信した時に実行されるスタブアクセスの好適な手順を示す。
【００４４】
００６４    ステップ８１１：ＮＡＳクライアント１０００上のアプリケーション１０１１は、ＮＦＳサーバ２１１１を通して読み出しコマンドを発行してスタブファイル（例：/nas1/a.txt）にアクセスする。
【００４５】
００６５    ステップ８１２：スタブ管理プログラム２１１４は、ＮＦＳサーバ２１１１とローカルファイルシステム２１１５の間で動作を取り込み、スタブ管理テーブル１１２８を参照して、動作が移行済ファイルに向けられているかを判定する。
【００４６】
００６６    ステップ８１３：動作が属性読み出し（即ち、スタブ管理テーブル１１２８内のＩノード情報２５４２に含まれているファイルの属性又は特性の取得に向けられた読み出し要求）の場合は、スタブ管理プログラムはスタブ管理テーブル１１２８を参照して、要求された属性を返送して本プロセスは終了する。反対に、スタブファイルが、ファイル名と第二階層へのポインタのみを持ち属性情報を含まなければ、プロセスはステップ８１４に行く。
【００４７】
００６７    ステップ８１４：動作がデータ読み出しの場合は、スタブ管理プログラムはスタブ管理テーブル１１２８を参照し、移行先のターゲットロケーションを検出する。
【００４８】
００６８    ステップ８１５：スタブ管理プログラム２１１４は、移行エンジン１１１３にファイル読み出しの要求を送信する。代わりに、スタブ管理プログラム２１１４が自らファイルの読み出し機能を持っているなら、移行エンジンを使用してファイル読み出しを要求することなく、スタブ管理プログラムが下位階層ストレージ３０００から直接ファイルを読み出す。
【００４９】
００６９    ステップ８１６：スタブ管理プログラムは読み出したファイルを要求者に返送する。
【００５０】
００７０    ファイルアクセスが頻繁になると予想される場合には、ファイルを元の階層に移行戻しをして読み出し可能にし、スタブを消去できる実装が望ましくなる場合もあるだろう。然しながら、ひとたびファイルがＣＡＳに保存されたらそのファイルは更新も変更も許されないことを意味し、ファイルがＮＡＳに戻されるとそこではファイル更新を防止する機構は存在しないので、下位階層ストレージがＣＡＳの場合は移行戻しとスタブ削除は発生しない。ファイルの移行戻しについては図１０Ａ−１０Ｂに関連して以下で説明する。
【００５１】
００７１    図９Ｂは、移行済ファイルへの書き込み又は更新の為の書き込みコマンドのＩ／Ｏ動作を受信した時に実行されるステップを示す。
【００５２】
００７２    ステップ８２１：ＮＡＳクライアント１０００のアプリケーション１０１１は、ＮＦＳサーバ２１１１を通して書き込みコマンドを送信してスタブファイルにアクセスする。
【００５３】
００７３    ステップ８２２：スタブ管理プログラム２１１４が書き込みコマンドを受信し取り込む。
【００５４】
００７４    ステップ８２３：スタブ管理プログラム２１１４はスタブ管理テーブル１１２８を参照して、指定ファイルの移行先ターゲットロケーション２５４３を検出する。
【００５５】
００７５    ステップ８２４：スタブ管理プログラム２１１４は移行エンジン１１１３にファイルへのデータ書き込みを要求する。スタブ管理プログラム２１１４が自らファイルへの書き込み能力を持っている場合には、移行エンジン１１１３に書き込み実行を依頼することなく、スタブ管理プログラム２１１４は下位階層ストレージ３０００の指定ファイルに書き込む。移行先ターゲットがＣＡＳの場合には書き込み動作は拒否される。
【００５６】
００７６    ステップ８２５：スタブ管理プログラムは書き込み動作要求に対して、成功又はエラーを報告する応答を返す。移行先ターゲットがＣＡＳの場合には、書き込み動作は拒否されエラーが返送される。
【００５７】
００７７    既に述べたように、ファイルを元の階層に移行戻ししてスタブを削除できる実装が存在する。例えば、スタブ管理プログラムは、ファイルがＩ／Ｏコマンドによりアクセスされた場合に、指定期間の間はファイルを上位階層ストレージ２０００に自動的に移行戻ししておく様にする、実施例があっても良い。然しながら、第二階層がＣＡＳの場合には、移行戻しとスタブ削除は一般的には許されない。図１０Ａは移行戻しの概念図を示し、図１０Ｂは、ファイルを上位階層ストレージに移行戻しして対応スタブファイルを削除する、好適なプロセスのフローチャート示す。
【００５８】
００７８    ステップ９０１：ＮＡＳクライアント１０００上のアプリケーション１０１１は、ＮＦＳサーバ２１１１を通して、例えば“/nas1/a.txt”のファイルに向けられた読み出し又は書き込みコマンド等のＩ／Ｏ動作を送信して、スタブファイルにアクセスする。
【００５９】
００７９    ステップ９０２：スタブ管理プログラム２１１４はＩ／Ｏ動作を受信してこれを取り込む。
【００６０】
００８０    ステップ９０３：スタブ管理プログラム２１１４はスタブ管理テーブル１１２８を参照して、指定ファイルの移行先ターゲットロケーション２５４３を検出する。
【００６１】
００８１    ステップ９０４：スタブ管理プログラム２１１４は、ファイル“/nas2/a.txt”の移行戻し要求を移行エンジン１１１３に送信する。
【００６２】
００８２    ステップ９０５：移行エンジン１１１３は指定ファイルを下位階層ストレージ３０００から読み出す。
【００６３】
００８３    ステップ９０６：移行エンジン１１１３は指定ファイルを上位階層ストレージ２０００に書き戻す。
【００６４】
００８４    ステップ９０７：移行エンジン１１１３は下位階層ストレージ３０００から指定ファイルを削除する。
【００６５】
００８５    ステップ９０８：スタブ管理プログラム２１１４は通常の処理の為にＩ／Ｏコマンドをローカルファイルシステムに渡す。
【００６６】
００８６    リモート複製付きＨＳＭ
００８７    ＨＳＭシステムでのリモート複製をここで取り上げる。リモート複製は主としてディザスタリカバリの為に使用されるが、本分野に知識のある人には他にもアプリケーションがあることが明らかになろう。従って、本発明はディザスタリカバリに限定されるものではない。典型的なディザスタリカバリの筋書きでは、プライマリストレージサイトが障害その他の原因でダウンした時には、セカンダリストレージサイトが最初のサイトの動作を引き継ぐ。
【００６７】
００８８    図１１はＨＳＭシステムで実行されるリモート複製の概念図である。図１１ではＮＡＳ及びＣＡＳ双方にリモート複製機能を採用可能である。リモート複製２１１３、３１１３、８１１３、９１１３は各ストレージのヘッド又はストレージサブシステムに実装でき、管理者がリモート複製の初期設定をすることが出来る。ストレージシステムでのリモート複製機能がブロックベースなら、本機能は、図１１で示すように、スタブ管理プログラム層に実装される。典型的なリモートコピー構成では、上位階層ストレージ２０００の全てのファイルの上位階層ストレージ８０００に対する初期コピーに続いて、上位階層ストレージ２０００上のリモートコピープログラム２１１３は上位階層ストレージ２０００に保存されている任意のファイルへの全ての更新をセカンダリサイト２００の上位階層ストレージ８０００に自動的にコピーする。同様に、初期コピーに続いて、下位階層ストレージ３０００上のリモートコピープログラム３１１３は、更新をセカンダリサイト２００の下位階層ストレージ９０００に自動的にコピーする。
【００６８】
００８９    かくして、上位階層ストレージ２０００上のリモートコピープログラム２１１３は、スタブファイル２１３４の生成後は、プライマリストレージサイト１００の上位階層ストレージ２０００からスタブファイル２１３４をセカンダリストレージサイト２００の上位階層ストレージ８０００に自動的にコピーする。同様に、下位階層ストレージ３０００（ＣＡＳ−１）上のリモート複製プログラム３１１３は、下位階層ストレージ３０００に移行後のファイル２１３３を、セカンダリサイト２００の下位階層ストレージ９０００（ＣＡＳ−２）に独立にコピーする。従って、スタブが実装されたＨＳＭのケースでは、スタブファイルがセカンダリサイトにコピーされた時には、コピーされたスタブファイルはプライマリサイトでの移行済ファイル（例えば図示したように、“/cas1/a.txt”）のターゲットロケーションへのポインタを持っている。かくして、スタブファイルは、セカンダリサイト２００の何処のロケーションでもなく、プライマリサイト１００のロケーションをポイントしている為、リモートサイトのＮＡＳクライアントはリモートサイトの移行済ファイル２１３３に、スタブファイル２１３４を通して、アクセスできない。更にまた、プライマリサイト１００の下位階層ストレージ３０００（ＣＡＳ−１）が全面障害ではない場合は、セカンダリサイト２００の上位階層ストレージ８０００は、コピー済みスタブファイル２１３４を用いて、ＣＡＳ−１  ３０００の移行済みファイル２１３３にアクセス出来るケースがあるかも知れない。然しながら、セカンダリサイト２００はプライマリサイト１００とは通常遠く離れて存在する為、ファイルアクセスするＮＡＳクライアントは長大な通信遅れを被ることになり、これは通常は望まれる代案ではない。
【００６９】
００９０    本発明の第一の好適な実施例に基づくリモートコピー付ＨＳＭ
００９１    上記した問題を解決する為に、本発命の好適な実施例では、リモートセカンダリサイト２００の階層構成に従って、ターゲットロケーション情報を自動的に再構築する。加えて、本発命の好適な実施例では、セカンダリサイト２００の上位階層ストレージにスタブファイルを生成し、及び／又は移行済ファイルをセカンダリサイト２００の上位階層ストレージから下位階層ストレージに移動させる。更に、下位階層ストレージ９０００にコピー済みデータが既に存在すれば、移行は不要である。
【００７０】
００９２    図１２は、本発明の好適な第一の実施例に従うＨＳＭシステムでのリモート複製の概念図である。図１３は、本発明の好適な第一の実施例に従うＨＳＭシステムでのリモート複製の好適な制御フローを示す。
【００７１】
００９３    ステップ１００００：管理者は管理ソフトウエア１２１１を使用して、上位階層ストレージ２０００のリモート複製を設定する。このことは、上位階層ストレージ２０００（ＮＡＳ−１）上のソースファイルシステムと上位階層ストレージ８０００（ＮＡＳ−３）上のターゲットファイルシステム間のペアを生成することを意味する。ついで、管理ソフトウエア１２１１はペア情報をリモート複製管理テーブル１１２７に登録する。更に、管理者は管理ソフトウエア１２１１を使用して、最初に、上位階層ストレージ２０００上の複製済みファイルシステムに関連する下位階層ストレージ３０００上の特定のファイルシステムを決定して、次いで、この下位階層ストレージ３０００上の特定ファイルシステムとセカンダリサイト２００の下位階層ストレージ９０００上のファイルシステム間の複製ペアを生成して、下位階層ストレージ３０００（ＣＡＳ−１）のリモート複製を設定する。次いで、管理ソフトウエア１２１１はペア情報をリモート複製管理テーブル１１２７に登録する。別案として、管理者がこれらの動作を実行する替わりに、管理ソフトウエア１２１１がロケーション管理テーブル１１２６を、直接又は階層管理プログラム１１１２を通して、参照して特定の関連ファイルシステムを検出し、次いで下位階層ストレージのリモート複製を自動的に設定しても良い。
【００７２】
００９４    ステップ１００１０：管理者は管理ソフトウエア１２１１を使用して、プライマリサイトのファイルロケーション管理テーブル１１２６を直接又は階層管理プログラム１１１２を通して参照する。セカンダリサイト２００のリモートファイルシステムにコピーされたファイルの元の階層情報を検索する為に、プライマリサイトのファイルロケーション管理テーブル１１２６（図４Ａ）が使用される。別案として、プライマリサイトのファイルロケーション管理テーブル１１２６から検索されたファイル情報を検索する為に管理ソフトウエア１２１１を使用する代わりに、ＨＳＭサーバコンピュータ１１００のＨＳＭプログラム１１１５の管理インタフェースをこのステップに使用しても良い。
【００７３】
００９５    ステップ１００２０：管理ソフトウエア１２１１はリモート複製管理テーブル１１２７を検索し、複製ペアを形成するファイルシステムを判定してコピーペア関係を解決する。次いで、管理ソフトウエア１２１１は、検索したファイル情報のファイル名２５２１とターゲットロケーション２５２３を更新する。例えば、プライマリサイトのファイルロケーション管理テーブル１１２６の“/nas1/a.txt”は、エントリ２５３７が目的の関係を示す、リモート複製管理テーブル１１２７を参照して“/nas3/a.txt”に更新される。同様に、プライマリサイトのファイルロケーション管理テーブル１１２６の“/cas1/a.txt”は、エントリ２５３８が目的の関係を示す、リモート複製管理テーブル１１２７を参照して“/cas2/a.txt”に更新される。ＨＳＭプログラムの管理インタフェースが使用される場合には、階層管理プログラム１１１２は管理ソフトウエア１２１１にリモート複製ペア情報の検索要求を送信して、リモート複製管理テーブル１１２７のリモート複製ペア情報を入手する。
【００７４】
００９６    ステップ１００３０：プライマリサイト１００の管理ソフトウエア１２１１は、検索されたファイル情報の更新版をリモートセカンダリサイト２００の管理ソフトウエア７２１１に送信して、セカンダリサイトのファイルロケーション管理テーブル７１２６に取り込ませる。別案として、上記の検索ファイルのファイル名とターゲットロケーションの更新は、リモートセカンダリサイト２００の管理ソフトウエア７２１１が検索情報の受信後に実施することも可能である。更に、ＨＳＭプログラム１１１５の管理インタフェースが使用されるケースでは、階層管理プログラム１１１２が更新済検索ファイル情報をリモートセカンダリサイト２００の階層管理プログラム７１１２に送信してもよい。
【００７５】
００９７    ステップ１００４０：リモートセカンダリサイト２００の管理ソフトウエア７２１１は、階層管理プログラム７１１２に、受信した更新済ファイル情報をセカンダリサイト２００のセカンダリサイトファイルロケーション管理テーブル７１２６に組み込むことを要求する。ＨＳＭ管理プログラムの管理インタフェースが使用されるケースでは、階層管理プログラム７１１２が更新済検索情報をセカンダリサイトのファイルロケーション管理テーブル７１２６に組み込んでもよい。
【００７６】
００９８    ステップ１００５０：リモートセカンダリサイト２００の管理ソフトウエア７２１１は、リモートサイトの階層管理プログラム７１１２にスタブ生成を要求する。リモートサイトの階層管理プログラム７１１２は、ＮＡＳ−３  ８０００のスタブ管理プログラムに、コンピュータ７１００のＨＳＭ  ＡＰＩを通して、スタブ生成の要求を送信する。既に述べたように、管理ソフトウエアとＨＳＭプログラムは同じ物理サーバ内に共存可能である。
【００７７】
００９９    かくして、これまでのステップによれば、図１２で示したように、ＮＡＳ−１  ２０００のスタブファイル２１３４は、リモートコピープログラム２１１３によってＮＡＳ−３  ８０００にコピーされる。同様に、ＣＡＳ−１／ＮＡＳ−２  ３０００の移行済ファイル２１３３は、リモートコピープログラム３１１３によってＣＡＳ−２／ＮＡＳ−４  ９０００にコピーされる。管理コンピュータ１２００上の管理ソフトウエア１２１１及び／又はＨＳＭサーバコンピュータ１１００上の階層管理ソフトウエア１１１２は、リモートコピーと階層構成のファイル情報を検索し、更新済ファイル情報をセカンダリサイトの管理コンピュータ７２００上の管理ソフトウエア７２１１に送信する。管理ソフトウエア７２１１及び／又はＨＳＭサーバコンピュータ７１００上の管理ソフトウエア７２１１は、検索したファイル情報を、セカンダリサイトのファイルロケーション管理テーブル７１２６に記入し、この更新情報を使用して、ＮＡＳ−３  ８０００に保存されたスタブファイル２１３４のコピーをＣＡＳ−２／ＮＡＳ−４  ９０００にリモートコピーされた移行済ファイル２１３３のコピーのロケーションにリンクするように更新して、ＮＡＳ−３上のスタブファイル２１３４のコピーにアクセスするとＣＡＳ−２／ＮＡＳ−４  ９０００に上の移行済ファイル２１３３のコピーへのアクセスになるようにする。例えば、災害によりプライマリサイト１００に障害が発生した場合には、ＮＡＳクライアント１０００は、ＣＡＳ−２／ＮＡＳ−４  ９０００上の移行済ファイル２１３３のコピーにアクセスすることにより、移行済ファイル２１３３のデータに継続してアクセスできる。このことは、セカンダリサイト２００のＮＡＳ−３上のスタブファイル２１３４のコピーへのアクセスにより実現される。更にまた、プライマリサイトの障害中にはよく起きることだが、プライマリサイト１００のＮＡＳクライアント１０００もまた本障害により稼動不能になることがある。このケースでは、フェイルオーバソフトウエアが実行されて、セカンダリサイトのＮＡＳクライアント７０００がＮＡＳクライアント１０００の業務を引き継ぐ。このケースでは、ＮＡＳクライアント７０００上で稼動するアプリケーションは、同様に、ＣＡＳ−２／ＮＡＳ−４  ９０００上の移行済ファイル２１３３のコピーにアクセスすることにより、移行済ファイル２１３３のデータにアクセスできる。このことはまた、セカンダリサイト２００のＮＡＳ−３上のスタブファイル２１３４のコピーへのアクセスにより実現される。
【００７８】
０１００    リモートコピーの時間差の管理
０１０１    リモートコピーが実行されるタイミングは、上位階層ストレージ２０００、８０００間と下位階層ストレージ３０００、９０００では異なる可能性がある。このことは、同じファイルに関して、上位階層ストレージ２０００、８０００間でのリモートコピーの完了が、下位階層ストレージ３０００、９０００間でのリモートコピーの完了と同期していない可能性を意味する。例えば、ＮＡＳ−１  ２０００はスタブファイル２１３４のＮＡＳ−３  ８０００へのリモートコピーを、ＣＡＳ−１  ３０００の移行済ファイル２１３３のＣＡＳ−２  ９０００へのリモートコピーの完成より、実質的に早く完成するであろう。上位階層ストレージが下位階層ストレージより早くリモートコピーを完了し、図１２、１３で述べたようにターゲットロケーションが更新されたとすれば、セカンダリサイト２００の下位階層ストレージ９０００には正しいターゲットファイルが存在しないことになる。この問題を対策するには、ターゲットロケーション情報の更新（即ち、図１３のステップ１００４０と１００５０）は関連する下位階層のリモートコピーが完了するまで遅延させる必要がある。
【００７９】
０１０２    図１４は、リモートコピーが異なった階層間で実行される場合の相対的タイミングを考慮した、ＨＳＭシステムでのリモート複製の第二の好適な実施例の概念図である。図１５は、リモートコピーが異なった階層間で実行される相対的タイミングを考慮した、ＨＳＭシステムでのリモート複製の第二の好適な実施例でのコントロールフローの一例を示す。
【００８０】
０１０３    ステップ１１０００−１１０３０は図１３を参照して述べたステップ１００００−１００３０と同じで、ここで再度述べる必要はない。
【００８１】
０１０４    ステップ１１０３２：リモートセカンダリサイト２００の管理ソフトウエアは、下位ストレージ階層３０００及び９０００間の該当移行済ファイル２１３３のリモートコピーの進捗度をチェックする。本リモートコピーが完了しておれば、次のステップに進む。
【００８２】
０１０５    ステップ１１０３４：一方、本リモートコピーが完了していなければ、プロセスは下位階層のリモートコピーの完了を待つ。この待ち時間の間では、上位ストレージ階層８０００にコピーされたスタブファイル２１３４は元のターゲットロケーションを保持しており、全てのクライアントアクセスはプライマリサイトのＣＡＳに向かわざるを得ない。かくして、元のターゲットロケーションへのアクセスは通信遅れを被ることにはなるが、クライアントは移行済ファイル２１３３のリモートコピーが完了するまでは、この方法でファイルアクセスを継続できる。更に又、この場合、ファイル更新情報のセカンダリサイトのファイルロケーション管理テーブル７１２６への記入は、プライマリサイト１００よりはセカンダリサイト２００で実施した方が好ましい。管理ソフトウエア７２１１が下位階層のリモートコピーの完了を判定するのに、下位階層でのリモートコピープログラムが各ファイルのリモートコピー状態を維持可能であれば、管理ソフトウエア７２１１はリモートコピープロセスの状態を取り込むことが出来る。別案として、下位階層でのリモートコピープログラムは、各ファイルのリモートコピーの完了を管理ソフトウエア７２１１に通知するように構成することも可能である。加えて、上記プロセスは本発明の第一の実施例のオプションにすることも可能である。かくして、管理者が上記オプションを有効にしない場合は、管理ソフトウエア７２１１は、セカンダリサイト２００の上位レベルストレージ８０００上のスタブプログラムが、下位レベルがリモートコピーを完了するまでは、ＨＳＭ  ＡＰＩ経由のファイルアクセスをブロックすることを、自動的に要求するようにしても良い。下位レベル階層が上位レベル階層より早くリモート複製を完了する場合は、下位レベル階層の移行済ファイルは、スタブファイルがセカンダリサイト２００にコピーされる迄は、プライマリサイト１００の上位レベル階層のスタブファイルへのアクセスになるから、同じ問題は存在しない。
【００８３】
０１０６    ステップ１１０４０−１１０５０は図１３に関連して既に述べたステップ１００４０−１００５０と同じで、再度ここで述べる必要はない。
【００８４】
０１０７    サーバベースのリモート複製
０１０８    リモートコピー管理ソフトウエア１２１２を、図１６に示すように、管理コンピュータ１２００又はＨＳＭサーバ１１００に置く場合は、サーバベースのリモート複製技術が採用される。サーバベースのリモート複製を実行する場合は、プライマリファイルシステムが最初にマウントされ、次いで、リモートコピー管理ソフトウエア１２１２が、ネットワークファイルシステムへのアクセスを通して、マウントされたファイルシステムにアクセスする。このケースでは、リモート複製管理ソフトウエア１２１２は、上位レベル階層ファイルシステム上のスタブファイル２１３４を認識できず、セカンダリサイト２００の上位レベル階層８０００の移行済ファイル２１３３に書き込むのみである。
【００８５】
０１０９    この問題を解決するには、下位レベル階層３０００に保存された移行済ファイル２１３３は、セカンダリサイト２００の下位レベル階層９０００に移行する必要がある。図１６は、ＨＳＭシステムでのリモート複製の好適な第三の実施例の概念図を示す。図１７は、ＨＳＭシステムでのリモート複製の好適な第三の実施例のコントロールフローを示す。
【００８６】
０１１０    ステップ１２０００：管理者は、管理コンピュータ１２００上のリモートコピー管理ソフトウエア１２１２又はＨＳＭサーバ１１００を使用して、上位レベルストレージ階層２０００から上位レベルストレージ階層８０００へのリモート複製を設定する。これによって、上位ストレージ階層２０００上のソースファイルシステムと上位ストレージ階層８０００上のターゲットファイルシステム間のペアが生成される。次いで、リモートコピー管理ソフトウエア１２１２は、ペア情報をリモート複製管理テーブル１１２７に登録する。
【００８７】
０１１１    ステップ１２０１０：管理者はリモートコピー管理ソフトウエア１２１２を通して、階層管理プログラムに、プライマリサイトのファイルロケーション管理テーブル１１２６の検索を要求する。リモートコピーされたファイルシステム内のファイルに対する階層情報は、プライマリサイトのファイルロケーション管理テーブル１１２６から検索可能である。別案として、リモートコピー管理ソフトウエア１２１２を使用しないで、ＨＳＭサーバ１１００コンピュータのＨＳＭプログラム１１１５の管理インタフェースがこの目的に使用可能である。
【００８８】
０１１２    ステップ１２０２０：リモートコピー管理ソフトウエア１２１２は、リモート複製管理テーブル１１２７を調べ、ステップ１２０１０で特定されたファイルシステムに対するコピーペア関係を決定する。次いで、リモートコピー管理ソフトウエア１２１２は、図１３のステップ１００２０にて説明した如く、検索された情報のファイル名２５２１を更新する。既に述べた以前の実施例とは異なって、下位レベル階層のファイルシステムはリモートコピーを実装していない為、ターゲットロケーション２５２３は本実施例では更新できない。即ち、下位レベル階層ストレージ３０００と９０００の間ではリモートコピーは起きない。加えて、ＨＳＭプログラム１１１５の管理インタフェースが使用されている場合は、階層管理プログラム１１１２は、リモート複製ペア情報を検索する要求をリモートコピー管理ソフトウエア１２１２に送信する。
【００８９】
０１１３    ステップ１２０３０：更新済みの検索情報は、リモートコピー管理ソフトウエア１２１２によって、セカンダリサイト２００のリモートコピー管理ソフトウエア７２１２に送信される。検索情報の更新は、プライマリサイト１００のリモートコピー管理ソフトウエア１２１２ではなく、セカンダリサイト２００の上位レベル階層ストレージ８０００のリモートコピー管理ソフトウエア７２１２が実行できる。加えて、ＨＳＭプログラム１１１５の管理インタフェースが使用されている場合は、階層管理プログラム１１１２が、セカンダリサイト２００の階層管理プログラム７１１２に更新済み検索情報を送信する。
【００９０】
０１１４    ステップ１２０４０：セカンダリサイト２００のリモートコピー管理ソフトウエア７２１２は、階層管理プログラム７１１２に、当該情報をファイルロケーション管理テーブルに登録することを要求する。ＨＳＭプログラムの管理インタフェースが使用されているケースでは、階層管理プログラムが更新済み検索情報を登録する。
【００９１】
０１１５    ステップ１２０５０：セカンダリサイト２００のリモートコピー管理ソフトウエア７２１２は、第一階層のスタブであったコピー済みファイルを移行する為に、ＨＳＭサーバ７１００の移行エンジンを起動する。管理者は、既に、階層情報を階層管理テーブル７１２５に登録済みである。
【００９２】
０１１６    ステップ１２０６０：セカンダリサイト２００のリモートコピー管理ソフトウエア７２１２は、リモートサイトの階層管理プログラム７１１２に、スタブ生成要求を送信する。リモートサイトの階層管理プログラム７１１２は、ＨＳＭ  ＡＰＩを通して、スタブ管理プログラムにスタブ生成を要求する。
【００９３】
０１１７    図１８は、セカンダリサイト２００には下位レベルストレージ階層が存在しないケースを示す。この構成では、ステップ１２０００から１２０３０は図１６−１７で既に述べたものと同様に実行される。しかしながら、ステップ１２０４０で、階層管理プログラムが、移行済みファイルの階層情報が存在するかチェックして下位ストレージ階層は存在しないことを検出すると、プロセスは完了して、ステップ１２０５０―１２０６０は不要である。従って、セカンダリサイト２００の単一ＮＡＳシステム（ＮＡＳ−３）を使用するＨＳＭシステムのリモートコピー保護が、この実施例で可能になる。
【００９４】
０１１８    以上のことから、本発明の好適な実施例は、ＨＳＭシステムでのリモート複製の為の方法と装置を提供することが分かるであろう。正しいリンク情報を保持する為に、本発明の好適な実施例は、リモートセカンダリサイトの階層構成に従ってターゲットロケーション情報の再構築を実施する。適正な階層構成を維持する為に、本発明の好適な実施例は、セカンダリサイトの上位レベル階層でスタブを生成するか又は／加えてファイルを上位レベル階層から下位レベル階層に移動する方法を提供する。
【００９５】
０１１９    図１−２、７、８、１０−１２、１４、１６及び１８は、本発明を実装できる好適な情報システムに過ぎず、本発明は特定のハードウエアや論理的構成に限定されないことは、勿論である。本発明を実装したコンピュータやストレージシステムは、上記した発明の実装に使用されるモジュール、プログラム及びデータ構造を保存・読み出す公知のＩ／Ｏデバイス（例：ＣＤ及びＤＶＤドライブ、フロッピディスクドライブ、ハードドライブ等）を持つことが出来る。これらモジュール、プログラム及びデータ構造はコンピュータ読み出し可能な媒体にエンコード可能である。例えば、本発明のデータ構造は、本発明で使用されるプログラムが格納される一式以上のコンピュータ読み出し可能な媒体とは独立に、コンピュータ読み出し可能な媒体に保存可能である。本システムのコンポーネントは如何なる形のデイジタルデータ通信、例えば、通信ネットワーク、によってでも結合可能である。通信ネットワークの例には、例えば、インターネット、無線ネットワーク、ストレージエリアネットワーク等のローカルエリアネットワーク、広域エリアネットワークが含まれる。
【００９６】
０１２０    本発明の完全な理解の為に、説明目的に多数の詳細を記述した。然しながら、本分野に知識のある人には、これら個別の詳細の全てが本発明の実施に必要なわけではない、ことが明白であろう。本発明は、通常は、フローチャート、フローダイアグラム、構成図、又はブロック図の形で表現される、プロセスとして記述できることに注意願いたい。フローチャートでは、動作をシーケンシャルプロセスとして記述するが、多くの動作は並列又は同時に実行可能である。加えて、動作順序も変更可能である。
【００９７】
０１２１    本分野では公知のように、以上で述べた動作はハードウエア、ソフトウエア、又はハードウエアとソフトウエアの何らかの組み合わせで実行できる。本発明の多様な側面は回路や論理デバイス（ハードウエア）を使用して実現でき、更に他の側面は機械読み出し可能な媒体に保存された命令（ソフトウエア）を用いて実現でき、この場合、プロッセサで実行するなら、プロッセサが本発明を実現する方法を実行することになる。更に、本発明は偏にハードウエアで実行しても良く又偏にソフトウエアで実行しても良い。加えて、記述されたさまざまな機能は単一ユットで実行しても良いし、多様な方法で多数のコンポーネントで広く実行されても良い。ソフトウエアで実行する場合は、本方法は、コンピュータ読み出し可能な媒体に保存された命令に基づいて、汎用コンピュータ等のプロセッサで実行可能である。望むなら、命令は圧縮及び／又は暗号形式で媒体に保存可能である。
【００９８】
０１２２    以上のことから、本発明は、階層ストレージシステムに於いて、リモート複製を可能にする為の方法、装置及びコンピュータ読み出し可能な媒体に保存されたプログラムを提供する、ことが明らかになる。加えて、本明細書では、具体的実施例を図示し記述してきたが、本分野に通常の知識のある人には、同じ目的を達成するように意図された如何なる施策も開示された具体的実施例の代わりになることを認めるであろう。本開示は本発明の全ての如何なる改造又は変形をもカバーすることを意図しており、併記する請求範囲で使用されている用語は、本明細書で開示された個別の実施例に限定されるものではない、ことを理解する必要がある。むしろ、本発明の範囲は添付される、各請求項が権利を持つ全範囲及び同等物と共に、請求項解釈の確立された解釈に従うべき、請求範囲によって全て判定されるべきである。
【図面の簡単な説明】
【００９９】
【図１】本発明の方法と装置が適用されるハードウエア構成例を示す。
【図２】図１のアーキテクチュアに適用された本発明の論理的構成例を示す。
【図３Ａ】階層管理テーブルの好適なデータ構成を示す。
【図３Ｂ】階層管理テーブルの好適なデータ構成を示す。
【図４Ａ】ファイルロケーション管理テーブルの好適なデータ構成を示す。
【図４Ｂ】ファイルロケーション管理テーブルの好適なデータ構成を示す。
【図５】リモート複製管理テーブルの好適なデータ構成を示す。
【図６】スタブ管理テーブルの好適なデータ構成を示す。
【図７】本発明のもう一つの論理的構成例を示す。
【図８Ａ】ＨＳＭシステムでのスタブ生成の好適なプロセスを示す。
【図８Ｂ】ＨＳＭシステムでのスタブ生成の好適なプロセスを示す。
【図９Ａ】ファイル移行とスタブ生成に続くＩ／Ｏアクセス処理の好適なプロセスを示す。
【図９Ｂ】ファイル移行とスタブ生成に続くＩ／Ｏアクセス処理の好適なプロセスを示す。
【図１０Ａ】上位階層へのファイルの移行戻しの好適なプロセスを示す。
【図１０Ｂ】上位階層へのファイルの移行戻しの好適なプロセスを示す。
【図１１】従来技術に於ける、ＨＳＭシステムでのリモート複製の典型的な概念図を示す。
【図１２】本発明の好適な第一の実施例に従う、ＨＳＭシステムでのリモート複製の好適な概念図を示す。
【図１３】本発明の好適な第一の実施例に従う、ＨＳＭシステムでのリモート複製の好適なコントロールフローを示す。
【図１４】本発明の好適な第二の実施例に従う、ＨＳＭシステムでのリモート複製の好適な概念図を示す。
【図１５】本発明の好適な第二の実施例に従う、ＨＳＭシステムでのリモート複製の好適なコントロールフローを示す。
【図１６】本発明の好適な第三の実施例に従う、ＨＳＭシステムでのリモート複製の好適な概念図を示す。
【図１７】本発明の好適な第三の実施例に従う、ＨＳＭシステムでのリモート複製の好適なコントロールフローを示す。
【図１８】本発明の好適な第四の実施例に従う、ＨＳＭシステムでのリモート複製の好適な概念図を示す。
【図１】
2009289252.tif 000003
【図２】
2009289252.tif 000004
【図３Ａ】
2009289252.tif 000005
【図３Ｂ】
2009289252.tif 000006
【図４Ａ】
2009289252.tif 000007
【図４Ｂ】
2009289252.tif 000008
【図５】
2009289252.tif 000009
【図６】
2009289252.tif 000010
【図７】
2009289252.tif 000011
【図８Ａ】
2009289252.tif 000012
【図８Ｂ】
2009289252.tif 000013
【図９Ａ】
2009289252.tif 000014
【図９Ｂ】
2009289252.tif 000015
【図１０Ａ】
2009289252.tif 000016
【図１０Ｂ】
2009289252.tif 000017
【図１１】
2009289252.tif 000018
【図１２】
2009289252.tif 000019
【図１３】
2009289252.tif 000020
【図１４】
2009289252.tif 000021
【図１５】
2009289252.tif 000022
【図１６】
2009289252.tif 000023
【図１７】
2009289252.tif 000024
【図１８】
2009289252.tif 000025
【外国語明細書】
2009289252000001.pdf