(57)【要約】      （修正有）【課題】シンプロビジョニングボリュームの効率的な移行方法。【解決手段】複数のストレージシステムは、ホストコンピュータにシンプロビジョニングボリュームを提供する。ストレージシステムの少なくとも１つは、他のストレージシステムのストレージ領域を、仮想的に自分自身のストレージ領域（すなわち外部ストレージ）として提供する。ターゲットストレージシステムは、ソースストレージシステムから管理情報のインポート又は参照し、ソースストレージシステムを外部ストレージとして使用することにより、効率的な移行およびストレージリソースプールの統合を達成する。例えば、ソースストレージシステムとデスティネーションストレージシステムの間で同じ長さを持つチャンクを使用し、ストレージリソースプールはソースストレージシステムから管理情報をインポートして統合され、データの実際の位置を調整するためにページベースの自動再配置が実行される。【選択図】図１
2010186471.tif 000002
【特許請求の範囲】
【請求項１】
シンプロビジョニングストレージシステムであって、該シンプロビジョニングストレージシステムは、
ａ．チャンクプールを形成する複数のチャンクに分割された複数のデータストレージユニットと、
ｂ．前記ストレージシステムを、ソースシンプロビジョニングストレージシステムと少なくとも１つのホストコンピュータに接続するように構成された少なくとも１つのネットワークインタフェースと、
ｃ．中央処理装置とメモリより成るストレージ制御装置を含み、
該ストレージ制御装置は、
ｉ．割り付け済チャンクの、前記ソースシンプロビジョニングストレージシステムでのとソースデータストレージボリュームへの対応を示すソースマッピング情報を、前記ソースシンプロビジョニングストレージシステムからインポートし、
ｉｉ．前記ソースマッピング情報を、ターゲットデータストレージボリュームをプロビジョンするために使用し、
ｉｉｉ．前記プロビジョンされたターゲットデータストレージボリュームを、前記少なくとも１つのネットワークインタフェースを通して、前記少なくとも１つのホストコンピュータに利用可能にする、
ように構成されることを特徴とするシンプロビジョニングストレージシステム。
【請求項２】
前記ストレージ制御装置は、さらに、
前記ソースシンプロビジョニングストレージシステムの前記ソースデータストレージボリュームのデータを、前記プロビジョンされたターゲットデータストレージボリュームへ再配置し、
前記データの前記再配置を反映するためにマッピング情報を更新する、
ように構成されることを特徴とする請求項１によるシンプロビジョニングストレージシステム。
【請求項３】
前記プロビジョンされたターゲットデータストレージボリュームのサイズは前記ソースデータストレージボリュームの第２のサイズと同じである
ことを特徴とする請求項２によるシンプロビジョニングストレージシステム。
【請求項４】
前記ストレージ制御装置は、さらに、前記ソースシンプロビジョニングストレージシステムのソースチャンクプールからのチャンクの割り付けを示すプール情報を、前記ソースシンプロビジョニングストレージシステムからインポートするように構成される
ことを特徴とする、請求項１によるシンプロビジョニングストレージシステム。
【請求項５】
前記ストレージ制御装置は、さらに、
ｉ．第３のデータストレージボリュームをプロビジョンし、該データストレージボリュームを前記少なくとも１つのネットワークインタフェース経由で前記少なくとも１つのホストコンピュータに利用可能にし、
ｉｉ．前記少なくとも１つのホストコンピュータから前記第３のデータストレージボリュームに向けられた書き込みコマンドを受信すると、前記チャンクプールから少なくとも１つのチャンクを前記第３のデータストレージボリュームに割り付けて、前記書き込みコマンドに伴うデータを該割り付けられた少なくとも１つのチャンクに格納し、
ｉｉｉ．前記割り付けられたチャンクの前記第３のデータストレージボリュームへの対応を示すためにマッピング情報を更新する、
ように構成されることを特徴とする、請求項１によるシンプロビジョニングストレージシステム。
【請求項６】
前記複数のチャンクの前記チャンクの長さは、前記ソースシンプロビジョニングストレージシステムのソースの複数のチャンクのソースチャンクの長さと同一であり、前記ストレージ制御装置はさらに前記ソースデータストレージボリュームに保存されたデータを前記ターゲットデータストレージボリュームに自動的にページベースの再配置を行なうように構成されることを特徴とする、
請求項１によるシンプロビジョニングストレージシステム。
【請求項７】
前記複数のチャンクの前記チャンクの長さは、前記ソースシンプロビジョニングストレージシステムのソースの複数のチャンクのソースチャンクの長さと相違しており、前記ストレージ制御装置は、前記ソースシンプロビジョニングストレージシステムの前記ソースデータストレージボリューム中のデータを前記プロビジョンされたターゲットデータストレージボリュームに前記ソースマッピング情報を用いて移行を行うように構成されることを特徴とする、
請求項１によるシンプロビジョニングストレージシステム。
【請求項８】
前記ストレージ制御装置はさらに、前記ソースデータストレージボリューム中のゼロデータの検出を行ない、前記検出されたゼロデータのコピーを省略するように構成されることを特徴とする、
請求項２によるシンプロビジョニングストレージシステム。
【請求項９】
前記ストレージ制御装置は、セグメント単位で前記データの前記再配置を行なうように構成されることを特徴とする、
請求項１によるシンプロビジョニングストレージシステム。
【請求項１０】
前記ストレージ制御装置はさらに、前記データの前記再配置中に前記データストレージボリュームへの書き込みアクセスを許可するように構成されることを特徴とする、
請求項１によるシンプロビジョニングストレージシステム。
【請求項１１】
前記少なくとも１つのネットワークインタフェースは、前記シンプロビジョニングストレージシステムを管理コンピュータに接続する動作が可能であって、前記ソースマッピング情報のインポートは前記管理コンピュータからの命令の受信を契機に行なわれることを特徴とする、
請求項１によるシンプロビジョニングストレージシステム。
【請求項１２】
前記ストレージ制御装置はさらに、セグメントへの書き込みアクセスを受信すると、前記シンプロビジョニングストレージシステムのチャンクが前記セグメントに割り当てられていない時には、前記ソースシンプロビジョニングストレージシステムの少なくとも１つの対応するチャンクからデータを読み取るように構成されることを特徴とする、
請求項１のシンプロビジョニングストレージシステム。
【請求項１３】
前記ストレージ制御装置はさらに、セグメントへの読み出しアクセスを受信すると、前記シンプロビジョニングストレージシステムのチャンクが前記セグメントに割り当てられていない時には、前記ソースシンプロビジョニングストレージシステムの少なくとも１つの対応するチャンクから、前記ホストコンピュータへデータを転送するように構成されることを特徴とする、
請求項１のシンプロビジョニングストレージシステム。
【請求項１４】
シンプロビジョニングストレージシステムであって、該シンプロビジョニングストレージシステムは、
ａ．チャンクプールを形成する複数のチャンクに分割された複数のデータストレージユニットと、
ｂ．前記ストレージシステムを第２のシンプロビジョニングストレージシステムと少なくとも１つのホストコンピュータに、接続するように構成された少なくとも１つのネットワークインタフェースと、
ｃ．中央処理装置とメモリより成るストレージ制御装置を含み、
該ストレージ制御装置は、
ｉ．割り付け済のチャンクの、前記ソースシンプロビジョニングストレージシステムのソースデータストレージボリュームへの対応を示すソースマッピング情報を、前記ソースシンプロビジョニングストレージシステムからインポートし、
ｉｉ．前記少なくとも１つのネットワークインタフェースを通して前記ソースデータストレージボリュームを前記少なくとも１つのホストコンピュータへの外部ストレージとして利用可能にするために前記ソースマッピング情報を使用する、
ように構成されることを特徴とするシンプロビジョニングストレージシステム。
【請求項１５】
前記少なくとも１つのネットワークインタフェースは前記シンプロビジョニングストレージシステムを管理コンピュータに接続する動作が可能であって、前記ソースマッピング情報のインポートは、前記管理コンピュータからの命令の受信を契機に行なわれることを特徴とする、
請求項１４によるシンプロビジョニングストレージシステム。
【請求項１６】
前記ストレージ制御装置は、さらに、
ｉ．第３のデータストレージボリュームをプロビジョンし、該データストレージボリュームを前記少なくとも１つのネットワークインタフェース経由で前記少なくとも１つのホストコンピュータに利用可能にし、
ｉｉ．前記少なくとも１つのホストコンピュータから前記第３のデータストレージボリュームに向けられた書き込みコマンドを受信すると、前記チャンクプールから少なくとも１つのチャンクを前記第３のデータストレージボリュームに割り付けて、前記書き込みコマンドに伴うデータを該割り付けられた少なくとも１つのチャンクに格納し、
ｉｉｉ．前記割り付けられたチャンクの前記第３のデータストレージボリュームへの対応を示すためにマッピング情報を更新する、
ように構成されることを特徴とする、請求項１４によるシンプロビジョニングストレージシステム。
【請求項１７】
シンプロビジョニングストレージシステムであって、該シンプロビジョニングストレージシステムは、
ａ．チャンクプールを形成する複数のチャンクに分割された複数のデータストレージユニットと、
ｂ．前記ストレージシステムをターゲットシンプロビジョニングストレージシステムおよび少なくとも１つのホストコンピュータに接続するように構成された少なくとも１つのネットワークインタフェースと、
ｃ．中央処理装置とメモリより成るストレージ制御装置を含み、
該ストレージ制御装置は、
ｉ．ソースデータストレージボリュームをプロビジョンし、該ソースデータストレージボリュームを前記少なくとも１つのネットワークインタフェース経由で前記ホストコンピュータに利用可能にし、
ｉｉ．前記少なくとも１つのホストコンピュータから前記ソースデータストレージボリュームに向けられた書き込みコマンドを受信すると、前記チャンクプールから少なくとも１つのチャンクを前記ソースデータストレージボリュームに割り付けて、前記書き込みコマンドに伴うデータを該割り付けられた少なくとも１つのチャンクに格納し、
ｉｉｉ．前記割り付け済チャンクの前記ソースデータストレージボリュームへの対応を示すソースマッピング情報を保存し、
ｉｖ．前記ターゲットシンプロビジョニングストレージシステムに前記ソースマッピング情報をエクスポートする、
ように構成されることを特徴とするシンプロビジョニングストレージシステム。
【請求項１８】
前記ストレージ制御装置はさらに、前記ソースデータストレージボリュームへの書き込みアクセスを、移行の期間は禁止するように構成される
ことを特徴とする請求項１７によるソースシンプロビジョニングストレージシステム。
【請求項１９】
前記少なくとも１つのネットワークインタフェースは、前記ソースシンプロビジョニングストレージシステムを管理コンピュータに接続する動作が可能であり、前記管理コンピュータからの命令の受信を契機に、前記ソースマッピング情報のエクスポートを実行することを特徴とする、
請求項１７によるシンプロビジョニングストレージシステム。
【請求項２０】
前記ストレージ制御装置は、さらに、
前記チャンクプールからの前記少なくとも１つのチャンクの割り付けを示すためにプール情報を更新し、
前記プール情報を前記ターゲットシンプロビジョニングストレージシステムにエクスポートする、
ように構成されることを特徴とする、請求項１７によるシンプロビジョニングストレージシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
０００１    本発明は、全般的にはストレージ技術に関するものであり、特にストレージシステム間でシンプロビジョニングボリュームを移行させるための方法および装置に関する。さらに、本発明はストレージリソースプールの統合にも関する。
【背景技術】
【０００２】
０００２    ストレージコスト、管理コストおよび電力消費を低減するために、ストレージシステムでのシンプロビジョニングの適用が実施されてきた。シンプロビジョニングでは、ストレージシステムは、ホストコンピュータがデータを格納するためのストレージ領域として仮想ボリュームを提供する。仮想ボリュームにおいては、ストレージシステムは、ホストコンピュータから受け取った書き込みアクセスコマンドのターゲット位置にのみ物理的なデータストレージ領域を配分し割り付けを行う。すべての仮想ストレージ位置が、物理的なストレージ位置に対応付けられているわけではないので、プールされている領域の中の使用されている物理的な領域の合計は、ホストコンピュータに示された仮想の領域の合計よりも小さくすることが出来る。この能力を達成するために、ストレージシステムは、ストレージ領域（例えばＨＤＤまたはフラッシュメモリのストレージ領域）をチャンクまたはページと呼ばれる複数の固定長の領域に分割して、チャンクと仮想ボリュームの論理セグメントとの間のマッピングを管理する。
【０００３】
０００３    たとえば、参照によってここに援用する、米国特許第７，１６２，６００号は、ストレージシステムにおいてシンプロビジョニングを実施するための技術と、外部ストレージを利用するための技術を開示している。具体的には、通常の（シンプロビジョニングではない）ボリュームとシンプロビジョニングボリュームとの間の移行のための方法が開示されている。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
０００４    しかしながら、シンプロビジョニングが各ストレージシステムで独立して実装されるので、多数のストレージシステムの間でシンプロビジョニングボリュームを効率的に移行することは容易には達成出来ない。すなわち、シンプロビジョニングボリュームの移行は、たとえ仮想ボリュームが実データをほんの少量しか格納していなくても、ストレージシステム間で仮想ボリュームの全ストレージ容量を転送することを要求する。特に、従来の技術は、チャンクの長さがストレージシステム間で異なる場合に、シンプロビジョニングボリュームの効率的な移行を達成する方法を提供していない。
【０００５】
０００５    ストレージシステム間のボリュームの移行は、古いストレージシステムの再移植／再使用のため、ボリュームに保存されたデータを古いストレージシステムから新しいストレージシステムに移動する場合、あるいはストレージ環境を、外部ストレージの仮想化を備えた単一のストレージシステム上で集中的管理を実現（例えば、ストレージリソースプールの統合）するために再構築する場合などに必要とされる。
【０００６】
０００６    したがって、ストレージシステム間のシンプロビジョニングボリュームの効率的な移行を達成し、かつストレージリソースプールを統合する方法および装置が必要とされる。
【課題を解決するための手段】
【０００７】
０００７    本発明の手法は、シンプロビジョニングボリュームを移行させ、ストレージリソースプールを統合させるために、従来の技術に関連した上記や他の１つ以上の問題を実質的に解決する方法およびシステムへと向けられる。
【０００８】
０００８    本発明の一つの実施形態においては、複数のストレージシステムが、ホストコンピュータにシンプロビジョニングボリュームを供給することが可能であり、ストレージシステム間でシンプロビジョニング構成に関する管理情報を転送（インポート／エクスポート）することが可能である。さらに、ストレージシステムの少なくとも１つは、他のストレージシステムへの接続によって、他のストレージシステム（すなわち外部ストレージ）のストレージ領域を、仮想的に自分自身のストレージ領域として提供する能力を有する。シンプロビジョニングボリュームのデスティネーション役のストレージシステムは、他のソースストレージシステムから得た管理情報をインポートまたは参照し、またソースストレージシステムを外部ストレージとして利用することによって、効率的な移行およびストレージリソースプールの統合を達成する。
【０００９】
０００９    本発明の１つの実施形態は、ソースストレージシステムおよびデスティネーションストレージシステムの間で同じ長さを持つチャンクを使用するシンプロビジョニングボリュームの移行のための方法とプロセスを提供する。この実施形態において、ストレージリソースプールはソースストレージシステムから管理情報をインポートすることにより統合され、自動化したページベースの再配置が、データの実際の位置を調整するために行なわれる。
【００１０】
００１０    別の実施形態は、ソースストレージシステムおよびデスティネーションストレージシステムの間で異なるチャンク長さを持つシンプロビジョニングボリュームの移行のための方法およびプロセスを示す。この実施形態では、ソースストレージシステムのシンプロビジョニングボリュームに関連する管理情報が、移行を行なうためにデスティネーションストレージシステムによって使用される。
【００１１】
００１１    本発明の１つの態様によれば、チャンクプールを形成する多数のチャンクに分割されている多数のデータストレージユニットを含むシンプロビジョニングストレージシステムが提供される。本発明のシンプロビジョニングストレージシステムは、さらに、ストレージシステムをソースシンプロビジョニングストレージシステムと、少なくとも１つのホストコンピュータとに接続する少なくとも１つのネットワークインタフェースを含んでいる。シンプロビジョニングストレージシステムは、中央処理装置とメモリを組込んだストレージ制御装置をさらに含む。前述のストレージ制御装置は、ソースシンプロビジョニングストレージシステムのソースデータストレージボリュームと割り付けられたチャンクの対応を示すソースマッピング情報をソースシンプロビジョニングストレージシステムからインポートし、ターゲットデータストレージボリュームにプロビジョンするためにソースマッピング情報を使用し、プロビジョンされたターゲットデータストレージボリュームを、少なくとも１つのネットワークインタフェースを経由して少なくとも１つのホストコンピュータに利用可能にする。
【００１２】
００１２    本発明の別の態様によれば、チャンクプールを形成する多数のチャンクへ分割された多数のストレージユニットを含む、シンプロビジョニングストレージシステムが提供される。本発明のシンプロビジョニングストレージシステムは、さらにストレージシステムを第二のシンプロビジョニングストレージシステムおよび少なくとも１つのホストコンピュータに接続する少なくとも１つのネットワークインタフェースと、  中央処理装置とメモリより成るストレージ制御装置とを含む。ストレージ制御装置は、ソースシンプロビジョニングストレージシステムのソースデータストレージボリュームと割り付けられたチャンクの対応を示すソースマッピング情報をソースシンプロビジョニングストレージシステムからインポートし、少なくとも１つのネットワークインタフェースによって、ソースデータストレージボリュームを少なくとも１つのホストコンピュータに外部ストレージとして利用可能にするために本ソースマッピング情報を使用する。
【００１３】
００１３    さらにまた、本発明の別の態様によれば、チャンクプールを形成する多数のチャンクに分割された多数のデータストレージユニットを含むシンプロビジョニングストレージシステムが提供される。本発明のシンプロビジョニングストレージシステムは、さらにストレージシステムをターゲットシンプロビジョニングストレージシステムおよび少なくとも１つのホストコンピュータに接続する少なくとも１つのネットワークインタフェースと、中央処理装置とメモリより成るストレージ制御装置を含む。ストレージ制御装置は、ソースデータストレージボリュームをプロビジョンし、かつ少なくとも１つのネットワークインタフェースによってソースデータストレージボリュームをホストコンピュータに利用可能にする。少なくとも１つのホストコンピュータからのソースデータストレージボリュームに向けられた書き込みコマンドを受信すると、ストレージ制御装置はチャンクプールからソースデータストレージボリュームに少なくとも１つのチャンクを割り付けて、書き込みコマンドに伴うデータを、少なくとも１つの割り付けられたチャンクに格納する。ストレージ制御装置はさらにソースデータストレージボリュームと割り付けられたチャンクの対応を示すソースマッピング情報を格納し本ソースマッピング情報を、ターゲットシンプロビジョニングストレージシステムにエクスポートする。
【００１４】
００１４    本発明に関連するさらなる態様は、一部は後続の記述で説明され、一部はこの記述から自明であるか、もしくは発明の実施により習得できるであろう。本発明の態様は、構成要素と諸構成要素の組合せと次の詳細な記述および付随する請求項において詳しく指摘した態様によって実現でき達成することができる。
【００１５】
００１５    先の記述および以下の記述は偏に典型的で説明のためであり、請求される発明やその適用を如何なる意味でも制限する意図はないことを理解願いたい。
【００１６】
００１６    添付の図面は、この明細書に組み入れられ、この明細書の一部を構成して本発明の実施形態を例証し、明細書の本文とあわせて、本発明技術の原理について説明し図示する役割を担っている。具体的には以下の通りである。
【図面の簡単な説明】
【００１７】
【図１】００１７    図１は、複数のストレージシステム間でのシンプロビジョニングボリュームの移行の概観を示す。
【図２】００１８    図２は、ホストコンピュータとストレージシステムの間のＳＡＮに対する移行の影響を回避するために、移行の前にＳＡＮが分離される別の構成の例を示す。
【図３】００１９    図３は典型的なシステム構成を示す。
【図４】００２０    図４はシンプロビジョニングボリューム（ＴＰＶ）を提供する構成、および方法を示す。
【図５】００２１    図５は、マッピング情報の例を示す。
【図６】００２２    図６は、プール情報の典型的な実施形態を示す。
【図７】００２３    図７は、ＴＰＶの書き込みプロセスの典型的な実施形態の例を示す。
【図８】００２４    図８は、アクセス情報の例を示す。
【図９】００２５    図９は、ＴＰＶの読み出しプロセスを示す。
【図１０】００２６    図１０は、ソースストレージシステムにあるソースＴＰＶからデスティネーションストレージシステムにあるデスティネーションＴＰＶへのデータの効率的な移行の典型的なプロセスを示す。
【図１１】００２７    図１１は、外部ストレージ情報の例を示す。
【図１２】００２８    図１２は、再配置を行うか否かの決定をするプロセスを示す。
【図１３】００２９    図１３は、再配置条件の例を示す。
【図１４】００３０    図１４は、図１２に記述のステップ１３０６で行なわれる再配置プロセスを示す。
【図１５】００３１    図１５は、再配置情報の例を示す。
【図１６】００３２    図１６は、ソースストレージシステムおよびデスティネーションストレージシステムの間でのセグメントおよびチャンクの境界が不揃いの例を示す。
【図１７】００３３    図１７は、ソースストレージシステムにあるソースＴＰＶからデスティネーションストレージシステムにあるデスティネーションＴＰＶへのデータの効率的な移行の典型的なプロセスを示す。
【図１８】００３４    図１８は、マッピング情報およびプール情報の典型的な実施形態を示す。
【図１９】００３４    図１９は、マッピング情報およびプール情報の典型的な実施形態を示す。
【図２０】００３５    図２０は、ソースＴＰＶに保存されたデータをデスティネーションＴＰＶへ移行するためのコピープロセスの典型的な実施形態を示す。
【図２１】００３６    図２１は、新しいチャンクへのデータの典型的な対応を示す。
【図２２】００３７    図２２は、デスティネーションＴＰＶの典型的な書き込みプロセスを示す。
【図２３】００３８    図２３は、デスティネーションＴＰＶの典型的な読み出しプロセスを示す。
【図２４】００３９    図２４は、ソースストレージシステムにあるソースＴＰＶからデスティネーションストレージシステムにあるデスティネーションＴＰＶへのデータの効率的な移行の典型的なプロセスを示す。
【図２５】００４０    図２５は、ソースＴＰＶに保存されたデータをデスティネーションＴＰＶへ移行するためのコピープロセスを示す。
【図２６】００４１    図２６は、ソースＴＰＶに保存されたデータをデスティネーションＴＰＶへ移行するための別のコピープロセスを示す。
【図２７】００４２    図２７は、ソースストレージシステムおよびデスティネーションストレージシステムの間でのセグメントおよびチャンクの境界が不揃いの別の例を示す。
【図２８】００４３    図２８は、新しいチャンクへのデータの別の典型的な対応を示す。
【図２９】００４４    図２９は、本発明のシステムを実装することができるコンピュータプラットフォームの典型的な実施形態を示す。
【発明を実施するための最良の形態】
【００１８】
００４５    次の詳細な説明において、添付図面が参照されるが、図中において、同一の要素は類似の数字で示されている。前述の添付図面は、本発明の原理と一致する具体的な実施形態および実施例を説明のために示しているのであって、限定するために示しているのではない。これらの実施例は、当分野の業者が発明を実施することを可能にするほどに十分に詳細に記述されているが、これ以外の実施例も利用可能であり、構造の変更および／または諸要素の置換が本発明の範囲および精神から外れることなく行なう事が可能なことも明らかである。したがって、次の詳細な説明は、限定する意味において解釈すべきではない。さらに、記述されている発明の様々な実施形態は、汎用コンピュータ上で動作するソフトウェアの形、専門のハードウェアの形、あるいはソフトウェアとハードウェアの組み合わせた形、で実装することが可能である。
【００１９】
Ａ．  第１の実施形態
Ａ．１．  システム構成
００４６    図１は、複数のストレージシステム間のシンプロビジョニングボリュームの移行の概観を示す。下記に説明するように、ホストコンピュータ５００および管理コンピュータ５２０はＳＡＮ９００およびＬＡＮ９０２によってストレージシステム１００に接続されている。各ストレージシステム１００は、これらのコンピュータにシンプロビジョニングボリュームを提供することが出来る。さらに下記に説明するように、ソースストレージシステム１００からデスティネーションストレージシステム１００への１以上のシンプロビジョニングボリュームの中のデータのＳＡＮ９００を経由した移行は、管理コンピュータ５２０からの指示に従ってデスティネーションストレージシステム１００が行なうことができる。図２では、構成の別の例として、ホストコンピュータ５００とストレージシステム１００との間へのＳＡＮ９００上での移行の影響を回避するために、ＳＡＮ９００が移行の前に分離される。
【００２０】
００４７    図３は典型的なシステム構成を示す。特に、本発明が実装されるストレージシステム１００は、ストレージ制御装置１１０、主プロセッサ１１１、スイッチ１１２、ホストインタフェース１１３、メモリ２００、キャッシュ３００、ディスク制御装置４００、ディスク（例えばＨＤＤ）６１０、バックエンドパス６０１（例えばファイバチャネル、ＳＡＴＡ、ＳＡＳ、ｉＳＣＳＩ（ＩＰ））の構成部分から成る。
【００２１】
００４８    主プロセッサ１０１はストレージ制御装置１００に関して様々なプロセスを実行する。主プロセッサ１０１および他の構成部分はメモリ２００に格納された、マッピング情報２０１、プール情報２０２、外部ストレージ情報２０３、アクセス情報２０４、再配置条件２０５、再配置情報２０６の情報を使用する。
【００２２】
００４９    主プロセッサ１０１は、メモリ２００に格納した、書き込みプロセスプログラム２１１、読み出しプロセスプログラム２１２、インポートプログラム２１３、ページ再配置プログラム２１４、再配置決定プログラム２１５のプログラムの実行によりプロセスを行なう。これらのプロセスの詳細を以下に記述する。
【００２３】
００５０    ホスト５００および管理コンピュータ５２０は、ＳＡＮ９００（例えば、ファイバチャネル、ファイバチャネル・オーバ・イーサネット（登録商標）、ｉＳＣＳＩ（ＩＰ））によってホストインタフェース１１３に接続されている。ホスト５００および管理コンピュータ５２０およびストレージ制御装置１１０は、ＬＡＮ９０２（例えばＩＰネットワーク）によって互いに接続されている。
【００２４】
００５１    ストレージシステム１００によって提供されるボリューム（論理ユニット）は、ＨＤＤの中の領域の集合で作られる。それらはパリティコードの格納（すなわちＲＡＩＤ構成による）あるいはミラーリングにより保護することができる。
【００２５】
００５２    ホスト５００はファイルシステム５０１、ＯＳ５０２およびアプリケーションプログラム５０３を有する。これらのプログラムを実行するために、ホスト５００はさらに図１に示されてはいないプロセッサ、メモリ、ストレージデバイス等のリソースを有する。
【００２６】
００５３    管理コンピュータ５２０はファイルシステム５２１、ＯＳ５２２および管理プログラム５２３を有する。これらのプログラムを実行するために、ホスト５００は、さらに図１に示されてはいないプロセッサ、メモリ、ストレージデバイス等のリソースを有する。
【００２７】
Ａ．２．  ボリュームを提供する方法の概観
００５４    図４はＴＰＶを提供する構成および方法を示す。ストレージシステム１００はプールボリューム６２０を有し、プールボリューム６２０はチャンク６９０と呼ばれる多数の固定長領域に分割される。ストレージシステム１００は書き込みアクセスに際し仮想ボリューム（ＴＰＶ）のセグメントにチャンク６９０を割り当てる。言いかえれば、物理的ストレージ領域は必要時に割り当てられる。図４では、ＴＰＶは、複数セグメントによって仮想的に構成され、チャンク６９０はプールボリューム６２０から割り付けられ、セグメント（すなわちＴＰＶの固定長領域（ページ））に割り当てられる。たとえば、この図では、チャンク４はセグメント６に割り当てられている。すなわち、ＴＰＶはページベースのボリュームである。
【００２８】
００５５    これを達成するために、ストレージ制御装置１１０は、マッピング情報２０１とプール情報２０２とを用いる。図５はマッピング情報２０１の例である。この情報は、各ボリュームのチャンクとセグメントの間のマッピング情報を保持する。割り当ての状態は、チャンクがセグメントに割り当てられていないならば「ＮＯ」である。内部／外部（層）の欄は、チャンクの中のデータがこのストレージシステム１００の中に位置しているか、あるいはＳＡＮ９００によって接続している外部ストレージシステム１００に位置しているかを示す。外部ストレージシステム１００へのアクセスにはオーバヘッドがあるので、外部ストレージの中のチャンクにアクセスするための性能は、内部チャンクへアクセスするより全般的には低く、このように、この情報はまたデータが位置づけられているストレージ層を示している。すなわち、内部ストレージはより高速層であり、外部ストレージはより低速層である。「再配置中」のフラグの使用法は後で記述する。この情報は、高速検索のために、各要素のリストあるいはディレクトリとして構築することができる。
【００２９】
００５６    図６は、プール情報２０２の例を示す。この情報は、チャンクが使用されているかいないかを管理する。この情報の使用によって、ストレージ制御装置１１０は、以下に記述する書き込みプロセスにおいて空（未使用）チャンクを見つけることができる。チャンクがその時点で属する層は「層」欄に示される。さらにこの情報は、空きチャンクを高速探索するために各要素のリストあるいはディレクトリとして構築することができる。図６に記述してあるように、この情報によって管理されるプールボリューム６２０は外部ストレージシステム１００にあるボリュームを含むことができる。すなわち、このストレージシステム１００は、ＳＡＮ９００を経由して外部ストレージシステム１００によって提供されるボリュームをこのストレージシステム１００の仮想ボリュームとして使用することができ、この仮想ボリュームをプールボリューム６２０に適用することができる。
【００３０】
００５７    参照によってここに援用する米国特許第７，４４１，０９６号は、ストレージシステム１００によるデータのコピーおよびマッピング情報２０１の変更により、チャンク間のページに基づいたトランスペアレントなデータ再配置を実現する方法の例を開示している。
【００３１】
Ａ．３．  ＴＰＶへの書き込みプロセス
００５８    図７は、ＴＰＶ６１０への書き込みプロセスを示す。
【００３２】
００５９    ステップ１００１において、ホスト５００は書き込み要求を発行し、ストレージ制御装置１１０へ書き込みデータを転送する。
【００３３】
００６０    ステップ１００２において、ストレージ制御装置１１０は、書き込み要求を参照して、ターゲットＴＰＶ６１０、および書き込みアクセスのターゲット領域をチェックする。
【００３４】
００６１    ステップ１００３において、ストレージ制御装置１１０はターゲット領域のセグメントに関しマッピング情報２０１をチェックする。チャンクがセグメントに既に割り当てられている場合は、プロセスはステップ１００６に進む。そうでない場合は、プロセスはステップ１００４に進む。
【００３５】
００６２    ステップ１００４において、ストレージ制御装置１１０は、書き込みデータを格納するために新しいチャンクを割り当てる。このために、ストレージ制御装置１１０はマッピング情報２０１およびプール情報２０２を更新する。プール情報２０２を使用して、ストレージ制御装置１１０は、内部ストレージから新しいチャンクを検出する。
【００３６】
００６３    ステップ１００５において、ストレージ制御装置１１０は、新しいチャンクに書き込みデータを格納する。その後、プロセスはステップ１０１０に進む。
【００３７】
００６４    ステップ１００６において、ストレージ制御装置１１０はマッピング情報２０１のフラグ「再配置中」をチェックする。このフラグは、後述する再配置プロセスでセットされ、チャンクが再配置中であるか否かを示す。再配置中である場合は、プロセスはステップ１００７に進む。そうでない場合は、プロセスはステップ１００９に進む。
【００３８】
００６５    ステップ１００７において、後述する再配置情報２０６を参照することにより、ストレージ制御装置１１０は、チャンクへの書き込みに関する領域が再配置プロセスにおいてコピー済かどうかをチェックする。ＹＥＳの場合は、プロセスはステップ１００８に進む。ＮＯの場合は、プロセスはステップ１００９に進む。
【００３９】
００６６    ステップ１００８において、ストレージ制御装置１１０は、再配置ターゲットへ書き込みデータを格納する。
【００４０】
００６７    ステップ１００９において、ストレージ制御装置１１０は、既存のチャンクへ書き込みデータを格納する。
【００４１】
００６８    ステップ１０１０において、ストレージ制御装置１１０はアクセス情報２０４を更新する。この情報は、セグメント（すなわちページ）に関するアクセス特性を記録し、後述する再配置の決定に使用される。
【００４２】
００６９    ステップ１０１１において、ストレージ制御装置１１０がターゲット領域の、すべてのセグメントのチェックを終了した場合、プロセスは終了する。そうでない場合、ストレージ制御装置１１０は次のセグメント（ステップ１０１２）にチェックを進める。
【００４３】
００７０    図８は、アクセス情報２０４の例を示す。これは、単位時間当りのアクセス頻度、最終アクセス時点、および平均アクセス長、のような、各読み書きに対して各セグメントへのアクセスに関する情報を保持する。平均アクセス長に関する情報は、ある時間間隔で初期化してもよい。
【００４４】
００７１    Ａ．４．  ＴＰＶへの読み出しプロセス
００７２    図９は、ＴＰＶ６１０の読み出しプロセスを示す。
【００４５】
００７３    ステップ１１０１において、ホスト５００はストレージ制御装置１１０へ読み出し要求を発行する。
【００４６】
００７４    ステップ１１０２において、ストレージ制御装置１１０は、読み出し要求を参照してターゲットＴＰＶ６１０および読み出しアクセスのターゲット領域をチェックする。
【００４７】
００７５    ステップ１１０３において、ストレージ制御装置１１０はターゲット領域のセグメントに関しマッピング情報２０１をチェックする。チャンクがセグメントに既に割り当てられている場合は、プロセスはステップ１１０４に進む。そうで無い場合には、プロセスはステップ１１０６に進む。
【００４８】
００７６    ステップ１１０４において、ストレージ制御装置１１０はチャンクに格納されたデータをホスト５００へ転送する。
【００４９】
００７７    ステップ１１０５において、ストレージ制御装置１１０はアクセス情報２０４を更新する。
【００５０】
００７８    ステップ１１０６において、ストレージ制御装置１１０はホスト５００へゼロ（０）データを送信する。
【００５１】
００７９    ステップ１１０７において、ストレージ制御装置１１０がターゲット領域のすべてのセグメントのチェックを終了した場合は、プロセスは終了する。そうで無い場合には、ストレージ制御装置１１０は次のセグメント（ステップ１１０８）にチェックを進める。
【００５２】
００８０    Ａ．５．  ストレージシステム間でのＴＰＶの移行プロセス
００８１    ボリュームに格納されたデータのストレージシステム間での移行は、古いストレージシステムの再移植／再使用のために、データを古いストレージシステムから新しいストレージシステムに移動する場合、あるいはストレージ環境を、外部ストレージの仮想化を備えた単一のストレージシステム上で集中的管理を実現するために、再構築する場合に必要とされる。
【００５３】
００８２    図１０は、ソースストレージシステム１００のソースＴＰＶ６１０から、デスティネーションストレージシステム１００のデスティネーションＴＰＶ６１０へのデータの効率的な移行のプロセスについて記述する。
【００５４】
００８３    このプロセス開始の前提として、ソースストレージシステム１００のソースＴＰＶ６１０と関連するソースプールボリューム６２０は、ＳＡＮ９００を通してデスティネーションストレージシステム１００から到達可能でなければならない。
【００５５】
００８４    ステップ１２０１において、管理コンピュータ５２０は、ソースＴＰＶ６１０に関連するプールボリューム６２０（ソースプールボリューム６２０）が読み出し／書き込みコマンドを受理するように、ソースＴＰＶ６１０を有するストレージシステム１００（ソースストレージシステム１００）に指示をする。
【００５６】
００８５    ステップ１２０２において、管理コンピュータ５２０は、ソースＴＰＶ６１０への書き込みアクセスを禁止するようにソースストレージシステム１００に指示する。
【００５７】
００８６    ステップ１２０３において、管理コンピュータ５２０は、書き込みプロセスが停止したかどうかをチェックする。書き込みプロセスが成功裡に停止した場合は、プロセスはステップ１２０４に進む。そうでない場合には、そのプロセスはステップ１２１１に進む。
【００５８】
００８７    ステップ１２０４において、管理コンピュータ５２０は、書き込み禁止を備えたソースプールボリューム６２０に対し仮想ボリュームを割り当てるように、デスティネーションストレージシステム１００に指示する。
【００５９】
００８８    ステップ１２０５において、デスティネーションストレージシステム１００は、外部ストレージ情報２０３の更新により外部ストレージとしてのソースプールボリューム６２０に仮想ボリュームを割り当てる。仮想ボリュームは書き込み禁止であってもよい。図１１は、外部ストレージ情報２０３の例を示す。この情報は、仮想ボリュームと外部ストレージボリュームの間のマッピングを保持する。内部ボリュームＩＤは、デスティネーションストレージシステム１００の中の仮想ボリュームの識別子を示す。接続ポートＩＤは、ソースプールボリューム６２０に向けてＳＡＮ９００に接続されたポートの識別子を示す。すなわち、接続ポートＩＤは、デスティネーションストレージシステム１００のポートの識別子を示す。外部ポートＩＤは、ソースプールボリューム６２０にアクセスするために使用されるソースストレージシステム１００のポートの識別子を示す。外部ＬＵＮ（logical unit number論理ユニット番号）は、ソースプールボリューム６２０の論理ユニット番号を示す。外部ストレージシステムは、ベンダー名、製品名およびシリアル番号のようなソースストレージシステム１００に関する情報を示す。米国特許第７，１６２，６００号に述べられているように、デスティネーションストレージシステム１００は、ソースストレージシステム１００のボリュームに、この情報を使用することによって、自分自身のボリュームとしてアクセスすることが出来る。
【００６０】
００８９    ステップ１２０６において、管理コンピュータ５２０は、ソースＴＰＶ６１０に対するソースストレージシステム１００のマッピング情報２０１と、ソースプールボリューム６２０に対するソースストレージシステム１００のプール情報２０２とをインポートするようにデスティネーションストレージシステム１００に指示をする。
【００６１】
００９０    ステップ１２０７において、デスティネーションストレージシステム１００はＬＡＮ９０２を通してソースストレージシステム１００と通信し、ソースストレージシステム１００からマッピング情報２０１およびプール情報２０２を入手する。
【００６２】
００９１    ステップ１２０８において、デスティネーションストレージシステム１００は、ソースストレージシステム１００から得た外部ストレージ情報２０３、およびプール情報２０２を参照してデスティネーションストレージシステム１００のプール情報２０２を更新する。
【００６３】
００９２    ステップ１２０９において、デスティネーションストレージシステム１００は、ソースストレージシステム１００から得た外部ストレージ情報２０３とマッピング情報２０１に従ってデスティネーションストレージシステム１００のマッピング情報２０１を更新することにより、デスティネーションＴＰＶ６１０を生成する。言いかえれば、ソースストレージシステム１００のＴＰＶ６１０がデスティネーションストレージシステム１００に再生されたのであり、外部ストレージにある実データは、前述の外部ストレージへのアクセス能力によって（ＳＡＮ９００を通して）アクセス可能になる。
【００６４】
００９３    デスティネーションストレージシステム１００にデスティネーションＴＰＶ６１０が生成された後、ステップ１２１０において、デスティネーションストレージシステム１００は、デスティネーションＴＰＶ６１０の中のデータの実際の位置を再配置する（調整する）。再配置の詳細なプロセスは後に記述する。
【００６５】
００９４    ステップ１２１１において、管理コンピュータ５２０は、移行エラーの発生を記録し、移行の失敗をユーザへ報告する。
【００６６】
Ａ．６．  再配置決定プロセス
００９５    図１２は再配置を行うか否かを決定するプロセスを示す。
【００６７】
００９６    ステップ１３０１において、ストレージ制御装置１１０は、テストすべきセグメント（すなわちページ）を選択する。
【００６８】
００９７    ステップ１３０２において、ストレージ制御装置１１０は、アクセス情報２０４を参照して、再配置条件２０５と比較する値を入手する。
【００６９】
００９８    ステップ１３０３において、ストレージ制御装置１１０は、再配置条件２０５に従って、セグメント中のデータの再配置の要否を決定する。図１３は、再配置条件２０５の例を示す。この情報は、各移動に対し層間の再配置実行を決定する条件を保持している。この条件は、ユーザによって、ホスト５００、管理コンピュータ５２０および／またはストレージシステム１００の管理端末を通して登録することが出来る。ストレージ制御装置１１０は上記の値および条件を参照すること（比較すること）により要否を決定することができる。
【００７０】
００９９    ステップ１３０４において再配置が決定の結果行なわれる場合は、プロセスはステップ１３０５に進む。そうでない場合にはプロセスは終了する。
【００７１】
０１００    ステップ１３０５において、ストレージ制御装置１１０は、条件から決定された適切な層に再配置のデスティネーションを見つけて、プール情報２０２を更新する。
【００７２】
０１０１    ステップ１３０６において、ストレージ制御装置１１０は再配置を行なう。
詳細なプロセスは後に記述する。
【００７３】
０１０２    データの使用状況に応じてＴＰＶ６１０の中のデータの実際の位置を調整するために、上記の再配置決定プロセスは、所定間隔で繰り返し行なわれるか、あるいは、ストレージシステム１１０の負荷が低い時に実施される。このプロセスは、データを格納したセグメントに対して行なわれる。このプロセスによって、データの位置は、内部ストレージと外部ストレージとを含む、１つのストレージリソースプールの中で調整される。また、データは、アクセス頻度のような条件によって外部ストレージ（すなわちソースストレージシステム１００）から内部ストレージ（すなわちデスティネーションストレージシステム１００）に移動させることができる。
【００７４】
０１０３    Ａ．７．  再配置プロセス
０１０４    図１４は、図１２に記述したステップ１３０６で実行される再配置プロセスを示す。
【００７５】
０１０５    ステップ１４０１において、ストレージ制御装置１１０は、移動すべきセグメントのために再配置情報２０６中にエントリを作成する。図１５は、再配置情報２０６の例を示す。再配置情報２０６には、移動させるセグメントのＩＤ、デスティネーションとして選択された未使用の位置に関する情報、およびコピーの進行を表示するコピーポインタがある。ストレージ制御装置１１０は、さらにマッピング情報２０１のセグメントに対し、「再配置中」のフラグを「ＹＥＳ」にセットする。
【００７６】
０１０６    ステップ１４０２において、ストレージ制御装置１１０はセグメントのデータを、デスティネーションとして選択された位置へコピーする。コピーの進行に従って、再配置情報２０６のコピーポインタは更新され先に進む。
【００７７】
０１０７    ステップ１４０３において、コピーの完了の後、ストレージ制御装置１１０は、再配置に従ってセグメントと物理的位置との間のマッピングを変更するためにマッピング情報２０１を更新する。これは、ホスト５００にとってはセグメントのトランスペアレントな再配置を実現する。
【００７８】
０１０８    ステップ１４０４において、ストレージ制御装置１１０は、これまでセグメントを保有していたチャンクを、使用するセグメントが不在になったら、当該チャンクを解放するためにプール情報２０２を更新する。
【００７９】
０１０９    ステップ１４０５において、ストレージ制御装置１１０は、再配置情報２０６内のエントリを削除し、マッピング情報を更新して、セグメントに対する“再配置中”のフラグを「ＮＯ」にセットする。
【００８０】
０１１０    上に記述した方法を使用することにより、多数のストレージシステムの間でのＴＰＶ６１０の効率的な移行が達成される。この移行方法は、移行中に扱われ転送されるデータ量の減少を実現する。さらに、これは、自動的なデータ再配置によってデータ配置の最適化を行い、内部ストレージおよび外部ストレージを含めて統合化されたストレージプールを実現する。
【００８１】
Ｂ．  第２の実施形態
０１１１    セグメントのサイズ（すなわちチャンクのサイズ）はソースストレージシステム１００とデスティネーションストレージシステム１００の間で、特に両者が異なる製品である場合は、異なることがあり得る。図１６に示すように、セグメントサイズの違いはソースストレージシステム１００とデスティネーションストレージシステム１００の間のセグメントおよびチャンクの境界の不一致を引き起こす。この実施形態で述べている次のプロセスは、特にセグメントサイズがソースＴＰＶ６１０とデスティネーションＴＰＶ６１０の間で異なる場合に適用することができる。
【００８２】
Ｂ．１．  ストレージシステム間のＴＰＶの移行のプロセス
０１１２    図１７は、ソースストレージシステム１００のソースＴＰＶ６１０から、デスティネーションストレージシステム１００のデスティネーションＴＰＶ６１０への、データの効率的な移行のプロセスについて記述する。
【００８３】
０１１３    このプロセスを始める前に、ソースストレージシステム１００のソースＴＰＶ６１０に関連するソースプールボリューム６２０は、ＳＡＮ９００を通してデスティネーションストレージシステム１００から到達可能でなければならない。
【００８４】
０１１４    ステップ１５０１―１５０５およびステップ１５１２は、図１０に記述したステップ１２０１―１２０５およびステップ１２１２と同じである。違いは以下で説明する。
【００８５】
０１１５    ステップ１５０６において、管理コンピュータ５２０は、ソースＴＰＶ６１０に対するソースストレージシステム１００のマッピング情報２０１と、ソースプールボリューム６２０に対するソースストレージシステム１００のプール情報２０２とを入手するようにデスティネーションストレージシステム１００に指示をする。
【００８６】
０１１６    ステップ１５０７において、デスティネーションストレージシステム１００はＬＡＮ９０２を通してソースストレージシステム１００と通信し、ソースストレージシステム１００からマッピング情報２０１およびプール情報２０２を入手する。
【００８７】
０１１７    ステップ１５０８において、デスティネーションストレージシステム１００は、ソースＴＰＶ６１０と同じ仮想サイズを持つデスティネーションＴＰＶ６１０を作成する。デスティネーションＴＰＶ６１０は、この時点ではＴＰＶ６１０の初期状態にある。
【００８８】
０１１８    ステップ１５０９において、デスティネーションストレージシステム１００は、入手したマッピング情報２０１とプール情報２０２に従って、ソースＴＰＶ６１０とデスティネーションＴＰＶ６１０との間の移行のために、ソースプールボリューム６２０からデスティネーションプールボリューム６２０へデータをコピーする。コピープロセスの詳細なプロセスは後に記述する。デスティネーションストレージシステム１００は、コピープロセスと平行してホスト５００からの書き込みコマンドおよび読み出しコマンドを処理することができる。
【００８９】
０１１９    コピー動作の完了の後、ステップ１５１０において、管理コンピュータ５２０はソースストレージシステム１００に、ソースＴＰＶ６１０、及びソースＴＰＶ６１０のための情報を保持するためのメモリやソースプールボリューム６２０のストレージ領域等の関連するリソースを解放するように指示をする。管理コンピュータ５２０はコピー動作の進行および完成をモニターする。
【００９０】
０１２０    ステップ１５１１において、ソースストレージシステム１００はソースＴＰＶ６１０を削除し、関連するリソースを解放する。これら解放されたリソースは、ソースストレージシステム１００が再使用することができる。さらに、それらはＳＡＮ９００を通してデスティネーションストレージシステム１００が再使用することも出来る。たとえば、デスティネーションストレージシステム１００は、外部ストレージとして解放されたプールボリューム６２０を使用することができ、追加のプールボリューム６２０としてそれらを当てることもできる。
【００９１】
０１２１    この実施形態の中で使用するマッピング情報２０１、およびプール情報２０２を、図１８および図１９に示す。テーブルの各項目はそれぞれ前の実施形態の中で説明した項目と同じである。
【００９２】
Ｂ．２．  ＴＰＶ移行のためのコピープロセス
０１２２    図２０は、ソースＴＰＶ６１０に保存されたデータのデスティネーションＴＰＶ６１０への移行のための前述のコピープロセスを示す。
【００９３】
０１２３    ステップ１６０１においては、デスティネーションストレージシステム１００のストレージ制御装置１１０は、処理すべきセグメントとして、デスティネーションＴＰＶ６１０の最初のセグメントを選択する。
【００９４】
０１２４    ステップ１６０２において、ストレージ制御装置１１０は選択したセグメントに対しデスティネーションストレージシステム１００のマッピング情報２０１をチェックする。もし、デスティネーションストレージシステム１００のチャンクがセグメントに既に割り当てられている場合には、プロセスはステップ１６０６に進む。そうでない場合には、プロセスはステップ１６０３に進む。
【００９５】
０１２５    ステップ１６０３において、ストレージ制御装置１１０は、ソースストレージシステム１００から得たマッピング情報２０１をチェックする。セグメントに対応する１つ以上のチャンクがソースストレージシステム１００のソースプールボリューム６２０に存在する場合には、プロセスはステップ１６０４に進む。そうでない場合には、プロセスはステップ１６０６に進む。ストレージ制御装置１１０は、どのようにデスティネーションセグメントが、ソースセグメントに対応するかを、図１６に示すようなデスティネーションセグメントＩＤ、デスティネーションセグメントサイズ、ソースセグメントＩＤおよびソースセグメントサイズによる計算によって認識することができる（例えば、第１のソースセグメントＩＤ＝（デスティネーションセグメントＩＤ×デスティネーションセグメントサイズ）／ソースセグメントサイズ）。
【００９６】
０１２６    ステップ１６０４において、ストレージ制御装置１１０は、デスティネーションストレージシステム１００のデスティネーションプールボリューム６２０の中の新しいチャンクを割り当てる。このために、ストレージ制御装置１１０は、デスティネーションストレージシステム１００のマッピング情報２０１およびプール情報２０２を更新する。
【００９７】
０１２７    ステップ１６０５において、ストレージ制御装置１１０は、ＳＡＮ９００を通してソースプールボリューム６２０の対応するチャンクからデータを読み、図２１に示すような対応（つまり、チャンクを有するデスティネーションセグメントとソースセグメントの重なった部分）に従って新しいチャンクへデータを格納する。デスティネーションセグメントがソースチャンクの対応しない領域を部分的に含んでいる場合は、ストレージ制御装置１００は図２１に示すように新しいチャンクの領域へゼロ（０）データを格納する。
【００９８】
０１２８    ステップ１６０６において、ストレージ制御装置１１０がデスティネーションＴＰＶ６１０のすべてのセグメントのチェックを完了した場合は、プロセスは終了する。そうでない場合には、ストレージ制御装置１１０は次のセグメントにチェックを進める（ステップ１６０７）。
【００９９】
Ｂ．３．  ＴＰＶへの書き込みプロセス
０１２９    図２２は、デスティネーションＴＰＶ６１０への書き込みプロセスを示す。このプロセスは上記のコピープロセスと並行して行なうことができる。言いかえれば、デスティネーションストレージシステム１００はコピープロセスを行なうことと並行して書き込みコマンドを受け付けることができる。
【０１００】
０１３０    ステップ１７０１において、ホスト５００は、デスティネーションストレージシステム１００のストレージ制御装置１１０へ書き込み要求を発行し、書き込みデータを送る。
【０１０１】
０１３１    ステップ１７０２において、ストレージ制御装置１１０は書き込み要求を参照しターゲットＴＰＶ６１０および書き込みアクセスのターゲット領域をチェックする。
【０１０２】
０１３２    ステップ１７０３において、ストレージ制御装置１１０は、ターゲット領域のセグメントに関しデスティネーションストレージシステム１００のマッピング情報２０１をチェックする。チャンクがセグメントに既に割り当てられている場合は、プロセスはステップ１７０８に進む。そうでない場合には、プロセスはステップ１７０４に進む。
【０１０３】
０１３３    ステップ１７０４において、ストレージ制御装置１１０は、書き込みデータを格納するために新しいチャンクを割り当てる。このために、ストレージ制御装置１１０はマッピング情報２０１およびプール情報２０２を更新する。
【０１０４】
０１３４    ステップ１７０５において、ストレージ制御装置１１０はソースストレージシステム１００から得たマッピング情報２０１をチェックする。ターゲット領域に対応する１つ以上のチャンクが、ソースストレージシステム１００のソースプールボリューム６２０に存在する場合は、プロセスはステップ１７０６に進む。そうでない場合には、プロセスはステップ１７０７に進む。
【０１０５】
０１３５    ステップ１７０６において、ストレージ制御装置１１０はＳＡＮ９００を通してソースプールボリューム６２０の対応するチャンクからデータを読み取り、対応（つまり、チャンクを持つデスティネーションセグメントとソースセグメントのオーバラップ部分）に従って新しいチャンクへデータを格納する。デスティネーションセグメントがソースチャンクが対応しない領域を部分的に含んでいる場合は、ストレージ制御装置１００は新しいチャンクの領域へゼロ（０）データを格納する。
【０１０６】
０１３６    ステップ１７０７において、ストレージ制御装置１１０は、新しいチャンクへ書き込みデータを格納する。
【０１０７】
０１３７    ステップ１７０８において、ストレージ制御装置１１０は、デスティネーションストレージシステム１００のデスティネーションプールボリューム６２０の既存のチャンクへ書き込みデータを格納する。
【０１０８】
０１３８    ステップ１７０９において、ストレージ制御装置１１０はアクセス情報２０４を更新する。
【０１０９】
０１３９    ステップ１７１０において、ストレージ制御装置１１０がターゲット領域のすべてのセグメントのチェックを完了した場合は、プロセスは終了する。そうでない場合には、ストレージ制御装置１１０は次のセグメントにチェックを進める（ステップ１７１１）。
【０１１０】
Ｂ．４．  ＴＰＶの読み出しプロセス
０１４０    図２３はデスティネーションＴＰＶ６１０の読み出しプロセスを示す。このプロセスも上記のコピープロセスと並行して行なうことができる。言いかえれば、デスティネーションストレージシステム１００はコピープロセスを行なうことと並行して読み出しコマンドを受け付けることができる。
【０１１１】
０１４１    ステップ１８０１において、ホスト５００はデスティネーションストレージシステム１００のストレージ制御装置１１０へ読み出し要求を発行する。
【０１１２】
０１４２    ステップ１８０２において、ストレージ制御装置１１０は読み出し要求を参照しターゲットＴＰＶ６１０、および読み出しアクセスのターゲット領域をチェックする。
【０１１３】
０１４３    ステップ１８０３において、ストレージ制御装置１１０は、ターゲット領域のセグメントに対しデスティネーションストレージシステム１００のマッピング情報２０１をチェックする。チャンクがそのセグメントに既に割り当てられている場合は、プロセスはステップ１８０７に進む。そうでない場合には、プロセスはステップ１８０４に進む。
【０１１４】
０１４４    ステップ１８０４において、ストレージ制御装置１１０はソースストレージシステム１００から得たマッピング情報２０１をチェックする。ターゲット領域に対応する１つ以上のチャンクがソースストレージシステム１００のソースプールボリューム６２０に存在する場合は、プロセスはステップ１８０５に進む。そうでない場合には、プロセスはステップ１８０８に進む。
【０１１５】
０１４５    ステップ１８０５において、ストレージ制御装置１１０はＳＡＮ９００を通してソースプールボリューム６２０の対応するチャンクからデータを読み取る。
０１４６    ステップ１８０６において、ストレージ制御装置１１０は読み取ったデータをホスト５００に転送する。ターゲット領域がソースチャンクが対応しない領域を含んでいる場合は、ストレージ制御装置１００はデータを転送する際にこのギャップをゼロ（０）データで満たす。
【０１１６】
０１４７    ステップ１８０７において、ストレージ制御装置１１０は、デスティネーションストレージシステムのデスティネーションプールボリューム６２０の既存のチャンクに格納されたデータをホスト５００へ送信する。
【０１１７】
０１４８    ステップ１８０８において、ストレージ制御装置１１０はホスト５００へゼロ（０）データを送信する。
【０１１８】
０１４９    ステップ１８０９において、ストレージ制御装置１１０はアクセス情報２０４を更新する。
【０１１９】
０１５０    ステップ１８１０において、ストレージ制御装置１１０がターゲット領域のセグメントのすべてチェックを完了した場合は、プロセスは終了する。  そうでない場合には、ストレージ制御装置１１０は次のセグメントにチェックを進める（ステップ１８１１）。
【０１２０】
０１５１    上に記述した方法を使用することによって、セグメントサイズがストレージシステム間で異なっても、複数のストレージシステム間でのＴＰＶの効率的な移行が達成される。この移行方法は、移行において処理し転送するデータ量を減少させる。
【０１２１】
０１５２    図１６および図２１に図示してある小さなセグメントから大きなセグメントへの移行に加え、この実施形態に述べられている方法は、大きなセグメントから小さなセグメントへの移行にも、図２７および図２８に示す様に適用することができる。
【０１２２】
Ｃ．  第３の実施形態
０１５３    以下に述べるこの実施形態におけるプロセスは、プールボリューム６２０からではなく、ソースＴＰＶ６１０からデータをコピーすることによりＴＰＶ６１０の移行を実現するものである。下記に述べる方法を使用することによって、セグメントサイズがストレージシステム間で異なっても、複数のストレージシステム間でのＴＰＶ６１０の効率的な移行が達成される。この移行方法は、移行で転送するデータ量の減少のような利点を実現することができる。
【０１２３】
Ｃ．１．  ストレージシステム間でのＴＰＶの移行のプロセス
０１５４    図２４は、ソースストレージシステム１００のソースＴＰＶ６１０からデスティネーションストレージシステム１００のデスティネーションＴＰＶ６１０への、データの効率的な移行のプロセスについて記述している。
【０１２４】
０１５５    このプロセスの開始前に、ソースストレージシステム１００のソースＴＰＶ６１０はＳＡＮ９００を通してデスティネーションストレージシステム１００から到達可能でなければならない。
【０１２５】
０１５６    ステップ１９１０―１９１２は図１７に記述したステップ１５１０―１５１２と同じである。  違いについては詳細に下記で説明する。
【０１２６】
０１５７    ステップ１９０１において、管理コンピュータ５２０は、ソースストレージシステム１００にソースＴＰＶ６１０への書き込みアクセスを禁止するように指示をする。
【０１２７】
０１５８    ステップ１９０２において、管理コンピュータ５２０は、書き込みプロセスが停止したか否かをチェックする。書き込みプロセスが成功裡に停止した場合は、プロセスはステップ１９０３に進む。そうでない場合には、プロセスはステップ１９１２に進む。
【０１２８】
０１５９    ステップ１９０３において、管理コンピュータ５２０は、書き込み禁止のソースＴＰＶ６１０に対して仮想ボリュームを割り当てるようにデスティネーションストレージシステム１００に指示をする。
【０１２９】
０１６０    ステップ１９０４において、デスティネーションストレージシステム１００は外部ストレージ情報２０３を更新して外部ストレージとしてソースＴＰＶ６１０に仮想ボリュームを割り当てる。米国特許第７，１６２，６００号に述べられているように、デスティネーションストレージシステム１００は、この情報の使用により自分自身のボリュームとしてソースストレージシステム１００のボリュームにアクセスすることができる。仮想ボリュームは書き込み禁止となっている。
【０１３０】
０１６１    ステップ１９０５において、管理コンピュータ５２０は、デスティネーションストレージシステム１００に、ソースＴＰＶ６１０に関するソースストレージシステム１００のマッピング情報２０１を得るように指示をする。
【０１３１】
０１６２    ステップ１９０６において、デスティネーションストレージシステム１００はＬＡＮ９０２を通してソースストレージシステム１００と通信し、ソースストレージシステム１００からマッピング情報２０１を入手する。
【０１３２】
０１６３    ステップ１９０７において、デスティネーションストレージシステム１００は、ソースＴＰＶ６１０と同じ仮想サイズを持つデスティネーションＴＰＶ６１０を作成する。デスティネーションＴＰＶ６１０は、この時点ではＴＰＶ６１０の初期状態にある。デスティネーションストレージシステム１００は、ホスト５００からデスティネーションＴＰＶ６１０への書き込みコマンドをこの時点では拒絶する。
【０１３３】
０１６４    ステップ１９０８において、入手したマッピング情報２０１に従って、デスティネーションストレージシステム１００はソースＴＰＶ６１０からデスティネーションＴＰＶ６１０へデータをコピーする。コピープロセスの詳細は後に記述する。
【０１３４】
０１６５    ステップ１９０９において、コピーの完了後、デスティネーションストレージシステム１００はホスト５００からのデスティネーションＴＰＶ６１０への書き込みコマンドの受理を開始する。
【０１３５】
Ｃ．２．  ＴＰＶの移行のためのコピープロセス
０１６６    図２５は、ソースＴＰＶ６１０に保存されたデータのデスティネーションＴＰＶ６１０への移行のための実施形態における前述のコピープロセスを示す。
【０１３６】
０１６７    ステップ２００１において、デスティネーションストレージシステム１００のストレージ制御装置１１０は、処理するセグメントとして、デスティネーションＴＰＶ６１０の最初のセグメントを選択する。
【０１３７】
０１６８    ステップ２００２において、ストレージ制御装置１１０はソースストレージシステム１００から得たマッピング情報２０１をチェックする。セグメントに対応する１つ以上のチャンクがソースストレージシステム１００のソースプールボリューム６２０に存在する場合は、プロセスはステップ２００３に進む。そうでない場合には、プロセスはステップ２００５に進む。
【０１３８】
０１６９    ステップ２００３において、ストレージ制御装置１１０は、デスティネーションストレージシステム１００のデスティネーションプールボリューム６２０の新しいチャンクを割り当てる。このために、ストレージ制御装置１１０は、デスティネーションストレージシステム１００のマッピング情報２０１およびプール情報２０２を更新する。
【０１３９】
０１７０    ステップ２００４において、ストレージ制御装置１１０は、前述の対応（つまり、チャンクを持つデスティネーションセグメントとソースセグメントの重複部）に従ってＳＡＮ９００を通してソースＴＰＶ６１０からデータを読む。次いで、ストレージ制御装置１１０は、対応に従って新しいチャンクへデータを格納する。デスティネーションセグメントがソースチャンクの対応しない領域を部分的に含んでいる場合は、ストレージ制御装置１００は新しいチャンクの領域へゼロ（０）データを格納する。
【０１４０】
０１７１    ステップ２００５において、ストレージ制御装置１１０がデスティネーションＴＰＶ６１０のすべてのセグメントのチェックを完了した場合は、プロセスは終了する。そうでない場合には、ストレージ制御装置１１０は次のセグメントにチェックを進める（ステップ２００６）。
【０１４１】
０１７２    図２６は、ソースＴＰＶ６１０に保存されたデータのデスティネーションＴＰＶ６１０への移行のためのコピープロセスの別の実施形態を示す。このコピープロセスは、不必要なデータの格納を行わないためにゼロ（０）データの検出を行なう。したがって、このコピープロセスでは、ソースストレージシステム１００からのマッピング情報２０１の入手は、不必要なデータの格納を行わないために必要とされない。
【０１４２】
０１７３    ステップ２１０１において、デスティネーションストレージシステム１００のストレージ制御装置１１０は、処理するセグメントとして、デスティネーションＴＰＶ６１０の最初のセグメントを選択する。
【０１４３】
０１７４    ステップ２１０２において、ストレージ制御装置１１０は、ＳＡＮ９００を通してソースＴＰＶ６１０から、デスティネーションセグメントに対応する領域のデータを読み取る。
【０１４４】
０１７５    ステップ２１０３において、ストレージ制御装置１１０はデータをチェックする。データがすべてゼロ（０）データの場合は、プロセスはステップ２１０６に進む。そうでない場合には、プロセスはステップ２１０４に進む。
【０１４５】
０１７６    ステップ２１０４において、ストレージ制御装置１１０は、デスティネーションストレージシステム１００のデスティネーションプールボリューム６２０の新しいチャンクを割り当てる。このために、ストレージ制御装置１１０は、デスティネーションストレージシステム１００のマッピング情報２０１およびプール情報２０２を更新する。
【０１４６】
０１７７    ステップ２１０５において、ストレージ制御装置１１０は、新しいチャンクへデータを格納する。
【０１４７】
０１７８    ステップ２１０６において、ストレージ制御装置１１０がデスティネーションＴＰＶ６１０のすべてのセグメントのチェックを完了した場合は、プロセスは終了する。そうでない場合には、ストレージ制御装置１１０は次のセグメントにチェックを進める（ステップ２１０７）。
【０１４８】
０１７９    上記のプロセスにおいて、ゼロデータは使用されていないデータを示すものと認識される。他の特定の（あらかじめ決められた）パターンのデータを未使用データを示すものとして利用することができる。すなわち、ステップ２１０３では、ゼロデータの代わりに特定のパターンのデータを検知することができる。さらに、オール０を含めて多くのパターンが未使用データを示すものとして利用することができる。
【０１４９】
０１８０    上記の移行の方法においては、移行プロセスは管理コンピュータ５２０からの指示によって行なわれる。しかしながら、このプロセスは、管理コンピュータ５２０なしでストレージシステム１００の移行管理機能によって行なうことも出来る。たとえば、上に言及された管理コンピュータ５２０の主要な能力は、ストレージシステム１００での管理プログラム５２０の実行によって、デスティネーションストレージシステム１００あるいはソースストレージシステム１００に持たせることが出来る。
【０１５０】
Ｄ．  典型的なコンピュータプラットフォーム
０１８１    図２９は、本発明の手法の実施形態を実装することが出来るコンピュータ／サーバシステム２２００の実施形態を示すブロック図である。システム２２００は、コンピュータ／サーバプラットフォーム２２０１、周辺機器２２０２およびネットワークリソース２２０３を備えている。
【０１５１】
０１８２    コンピュータプラットフォーム２２０１は、コンピュータプラットフォーム２２０１の様々な部位の間で情報の通信をするための、データバス２２０４あるいは他のコミュニケーション機構、ならびに、情報処理や、他の計算処理および制御業務を行なう、バス２２０４と接続したプロセッサ２２０５を備えている。コンピュータプラットフォーム２２０１は、また、プロセッサ２２０５によって実行される命令だけでなく種々の情報を格納するための、バス２２０１に接続した、ランダムアクセスメモリ（ＲＡＭ）あるいは他の動的ストレージデバイスのような、揮発性ストレージ２２０６を備えている。揮発性ストレージ２２０６は、また、プロセッサ２２０５による命令の実行の間の一時的変数あるいは他の中間情報を格納するために使用することも出来る。コンピュータプラットフォーム２２０１は、さらに、様々なシステム構成パラメーターだけでなく基本入出力システム（ＢＩＯＳ）の様な、プロセッサ２２０５のための静的な情報や命令を格納するために、バス２２０４と接続した読み取り専用メモリ（ＲＯＭまたはＥＰＲＯＭ）２２０７あるいは他の静的ストレージデバイスを備えることができる。磁気ディスク、光ディスクあるいはソリッドステートフラッシュメモリデバイスのような永続性ストレージデバイス２２０８は、情報と命令の格納のためにバス２２０１に接続し提供される。
【０１５２】
０１８３    コンピュータプラットフォーム２２０１は、コンピュータプラットフォーム２２０１のシステム管理者またはユーザへの情報の表示のために、陰極線管（ＣＲＴ）、プラズマディスプレーあるいは液晶ディスプレー（ＬＣＤ）のようなディスプレイ２２０９に、バス２２０４を経由して接続することができる。アルファニューメリックや他のキーを含む入力デバイス２２１０が、プロセッサ２２０４に情報やコマンドの選択を伝えるためにバス２２０１に接続される。別のタイプのユーザ入力デバイスとしては、プロセッサ２２０５に命令情報とコマンドの選択を伝えるため、あるいはディスプレイ２２０９上でカーソル移動をコントロールするための、マウス、トラックボールあるいはカーソル指示キーのようなカーソル制御デバイス２２１１がある。この入力デバイスは、２つの軸、第一軸（例えばｘ）および第二軸（例えばｙ）によって、典型的には２つの自由度を持っているが、これによって本デバイスは平面上での位置を指定することが可能となる。
【０１５３】
０１８４    コンピュータプラットフォーム２２０１に追加のまたはリムーバブルストレージの容量を供給するために、バス２２０４を経由して外部ストレージデバイス２２１２をコンピュータプラットフォーム２２０１につなぐ事が出来る。計算機システム２２００の一つの実施形態では、他の計算機システムとのデータの交換を容易にするために外部リムーバブルストレージデバイス２２１２を使用することが出来る。
【０１５４】
０１８５    本発明は、ここに記述した技術を実装するのに、計算機システム２２００を使用することに関わっている。ある実施形態では、本発明のシステムはコンピュータプラットフォーム２２０１のようなマシン上に搭載することができる。本発明の１つの実施形態によれば、ここに記述された技術は、揮発性メモリ２２０６に含まれている１つ以上の命令の１つ以上のシーケンスを実行するプロセッサ２２０５に応答して計算機システム２２００によって実行される。そのような命令は、永続性ストレージデバイス２２０８のような他のコンピュータ可読媒体から揮発性メモリ２２０６に読み込む事が出来る。揮発性メモリ２２０６に含まれている一連の命令の実行は、プロセッサ２２０５に、ここに記述したプロセスのステップを実行させる。他の実施例においては、本発明を実装するために、ソフトウェア命令の代わりにあるいはソフトウェア命令と組み合わせてハード結線の回路を使用する事が出来る。このように、本発明の実施形態はハードウェア回路、ソフトウェアのどんな特定の組合せにも制限されてはいない。
【０１５５】
０１８６    ここに使用されている用語“コンピュータ可読媒体”は、プロセッサ２２０５に実行するための命令を提供することに関与するあらゆる媒体を表す。コンピュータ可読媒体は、ここに記述した任意の方法及び／または技術を実装するための命令を運ぶことが出来る機械可読媒体の単に１つの例に過ぎない。そのような媒体は、不揮発性のメディアおよび揮発性のメディアを含み、これらに限定されることなく、多くの形式をとることが出来る。不揮発性のメディアは、例えば、ストレージデバイス２２０８のように、光ディスクまたは磁気ディスクを含んでいる。揮発性のメディアは、揮発性ストレージ２２０６のように、動的メモリを含んでいる。
【０１５６】
０１８７    コンピュータ可読媒体の一般の形態は、例えば、フロッピー（登録商標）ディスク、フレキシブルディスク、ハードディスク、磁気テープあるいは任意の他の磁気媒体、ＣＤ−ＲＯＭ、任意の他の光学媒体、パンチカード、紙テープ、孔形式のパターンを備えた任意の他の物理的な媒体、ＲＡＭ、ＰＲＯＭ、ＥＰＲＯＭ、フラッシュＥＰＲＯＭ、フラッシュドライブ、メモリカード、任意の他のメモリチップあるいはカートリッジ、などコンピュータが読むことができる如何なる他のメディアをも含んでいる。
【０１５７】
０１８８    様々な形式のコンピュータ読み取り可能なメディアは、プロセッサ２２０５への１つ以上の命令の１つ以上のシーケンスを実行のために運ぶことができる。例えば、命令は、当初はリモートコンピュータから磁気ディスク上に運ばれてもよい。あるいは、リモートコンピュータは自らのダイナミックメモリに命令をロードし、モデムを使用して、電話回線上で命令を送ることができる。計算機システム２２００のローカルモデムは、電話回線上のデータを受け取り、データを赤外線信号に変換するために赤外線送信機を使用することができる。赤外線検出器が、赤外線信号で運ばれたデータを受け取り、適切な回路がデータバス２２０４にデータを乗せることができる。バス２２０４は、データを揮発性ストレージ２２０６に運び、そこからプロセッサ２２０５が命令を取り出し実行する。揮発性メモリ２２０６によって受け取られた命令は、プロセッサ２２０５による実行の前後に永続性ストレージデバイス２２０８上に格納することも選択できる。命令は、業界では公知の様々なネットワークデータ通信プロトコルを使用して、インターネットを通じてコンピュータプラットフォーム２２０１へダウンロードすることも出来る。
【０１５８】
０１８９    コンピュータプラットフォーム２２０１は、また、データバス２２０４に接続したネットワークインタフェースカード２２１３のような通信インタフェースを有する。通信インタフェース２２１３は、ローカルネットワーク２２１５に結合するネットワークリンク２２１４に接続され双方向のデータ通信接続を提供する。例えば、通信インタフェース２２１３は、統合デジタル通信網（ＩＳＤＮ）カードか、あるいは電話回線タイプに対応するデータ通信接続を提供するモデムでもよい。別の例として、通信インタフェース２２１３は、ＬＡＮ互換のデータ通信接続を提供するローカルエリアネットワークインタフェースカード（ＬＡＮ  ＮＩＣ）でもよい。公知の８０２．１１ａ、８０２．１１ｂ、８０２．１１ｇおよびＢｌｕｅｔｏｏｔｈのような無線リンク、もまたネットワーク実装に使用することが出来る。すべてそのような実装例においては、通信インタフェース２２１３は、多様な形式の情報を表すデジタルデータストリームを運ぶ、電気的、電磁気的、光学的な信号を送信し受信する。
【０１５９】
０１９０    ネットワークリンク２２１３は、典型的には、１つ以上のネットワークを通して他のネットワークリソースとのデータ通信を可能にする。例えば、ネットワークリンク２２１３は、ローカルネットワーク２２１５を通して、ホストコンピュータ２２１６、あるいはネットワークストレージ／サーバ２２１７への接続を可能にする。さらに、あるいは別の方法として、ネットワークリンク２２１４は、ゲートウェイ／ファイアウォール２２１７を通してインターネットのような広域またはグローバルネットワーク２２１８に接続することも出来る。このように、コンピュータプラットフォーム２２０１は、遠隔ネットワークストレージ／サーバ２２１９のように、インターネット２２１８のいかなる場所に位置したネットワークリソースにもアクセス可能である。一方では、コンピュータプラットフォーム２２０１はまた、ローカルエリアネットワーク２２１５及び／またはインターネット２２１８のいかなる場所に位置したクライアントからもアクセスすることが出来る。ネットワーククライアント２２２０および２２２１は、プラットフォーム２２０１に類似したコンピュータプラットフォームに基づいて自らを実装することが出来る。
【０１６０】
０１９１    ローカルネットワーク２２１５およびインターネット２２１８は何れも、デジタルデータストリームを運ぶ電気的、電磁気的、あるいは光学的信号を使用する。様々なネットワークを通る信号、および通信インタフェース２２１３を通るネットワークリンク２２１４上の信号は、コンピュータプラットフォーム２２０１の間のデジタルデータを運び情報を転送する搬送波の典型的な形態である。
【０１６１】
０１９２    コンピュータプラットフォーム２２０１は、インターネット２２１８、ＬＡＮ２２１５、ネットワークリンク２２１４および通信インタフェース２２１３を含む多様なネットワークを通して、プログラムコードを含む、メッセージを送信しデータを受信することができる。インターネットの例において、システム２２０１がネットワークサーバとして働く場合、システム２２０１は,クライアント２２２０及び／または２２２１の上で走るアプリケーションプログラムのために要求されるコードあるいはデータを、インターネット２２１８、ゲートウェイ／ファイアウォール２２１７、ローカルエリアネットワーク２２１５および通信インタフェース２２１３を通して送信することができる。同様に、他のネットワークリソースからコードを受け取ることもできる。
【０１６２】
０１９３    受信したコードはプロセッサ２２０５によって、受信した時に実行されてもよく、及び／または、それぞれ永続性または揮発性ストレージデバイスである２２０８および２２０６に各々格納され、あるいは後での実行のために他の不揮発性のストレージに格納されてもよい。このようにして、計算機システム２２０１は搬送波の形でアプリケーションコードを入手することが出来る。
【０１６３】
０１９４    本発明は、どのような特定のファイアウォールシステムにも制限されないことは注目すべきである。本発明のポリシーベースのコンテント処理システムは、３つのファイアウォールオペレーティングモード、具体的には、ＮＡＴ、ルーテッド、透過型のうちのどれででも使用できる。
【０１６４】
０１９５    最後に、ここに記述されたプロセスと技術は、どの様な特別の装置とも本質的には関係がなく、構成要素のいかなる適切な組合せによっても実行され得ることを理解する必要がある。さらに、多様な型式の汎用目的のデバイスが、ここに記述された教示に従って使用可能である。あるいはまた、ここに記述された方法ステップを実行する専用の装置を構築することが有利であると判明するかも知れない。本発明は、特定の例に関して記述してきたが、それは全ての点で、限定のためではなく説明のためである。当分野での業者は、本発明を実施するのに相応しいハードウェア、ソフトウェア、及びファームウェアの多数の異なった組み合わせがあることが解るであろう。例えば、ここで記述されたソフトウェアは、アセンブラー、Ｃ／Ｃ＋＋、ｐｅｒｌ、シェル、ＰＨＰ、Ｊａｖａ（登録商標）などのような、広範囲の多様なプログラミング言語あるいはスクリプト言語で実行できる。
【０１６５】
０１９６    さらに、本発明のその他の実施についても、ここに開示された明細書の考察および本発明の実施から、当分野の業者には明白になるであろう。記述された実施形態の種々の態様及び／または構成要素は、コンピュータ化されたシステムの中で単独であるいは任意の組み合わせで、シンプロビジョニングボリュームを移行させ、ストレージリソースプールを統合するために使用することが出来る。明細書と例は典型的なものとしてのみ考慮されるよう意図したものであり、以下の請求項によって発明の真の範囲と精神とが示される。
【図１】
2010186471.tif 000003
【図２】
2010186471.tif 000004
【図３】
2010186471.tif 000005
【図４】
2010186471.tif 000006
【図５】
2010186471.tif 000007
【図６】
2010186471.tif 000008
【図７】
2010186471.tif 000009
【図８】
2010186471.tif 000010
【図９】
2010186471.tif 000011
【図１０】
2010186471.tif 000012
【図１１】
2010186471.tif 000013
【図１２】
2010186471.tif 000014
【図１３】
2010186471.tif 000015
【図１４】
2010186471.tif 000016
【図１５】
2010186471.tif 000017
【図１６】
2010186471.tif 000018
【図１７】
2010186471.tif 000019
【図１８】
2010186471.tif 000020
【図１９】
2010186471.tif 000021
【図２０】
2010186471.tif 000022
【図２１】
2010186471.tif 000023
【図２２】
2010186471.tif 000024
【図２３】
2010186471.tif 000025
【図２４】
2010186471.tif 000026
【図２５】
2010186471.tif 000027
【図２６】
2010186471.tif 000028
【図２７】
2010186471.tif 000029
【図２８】
2010186471.tif 000030
【図２９】
2010186471.tif 000031
【外国語明細書】
2010186471000001.pdf