(57)【要約】【課題】  重複排除システムにおけるスペース予約のための種々の実施形態を提供すること。【解決手段】  少なくとも１つのストレージ容量閾値と、バックアップ及び複製データのうちの一方によって現在物理的に消費されている使用ストレージ・スペースとに基づいて、現在の名目データの物理データに対する重み付き比として、計算係数比を決定する。コンピュータ・ストレージ環境内の最大名目推定スペースが計算される。最大名目推定スペースからコンピュータ・ストレージ環境内の現在の名目スペースを差し引いたものとして定義される残存スペースが計算される。残存スペースが、バックアップ動作のためのユーザ構成された予約スペースに等しい場合及びそれを下回る場合の一方であるときに、データ複製動作は、コンピュータ・ストレージ環境内に受け入れられ、格納される。【選択図】      図４
2013530453.tif 000002
【特許請求の範囲】
【請求項１】
プロセッサによる、重複排除システムにおけるスペース予約のための方法であって、
少なくとも１つのストレージ容量閾値と、バックアップ及び複製データのうちの一方によって現在物理的に消費されている使用ストレージ・スペースとに基づいて、現在の名目データの物理データに対する重み付き比として、計算係数比を決定することと、
コンピュータ・ストレージ環境内の最大名目推定スペースを計算することと、
前記最大名目推定スペースから前記コンピュータ・ストレージ環境内の現在の名目スペースを差し引いたものとして定義される、残存スペースを計算することと
を含み、
前記残存スペースが、バックアップ動作のためのユーザ構成された予約スペースに等しい場合及びそれを下回る場合の一方であるときに、データ複製動作が、前記コンピュータ・ストレージ環境内に受け入れられ、格納される、前記方法。
【請求項２】
前記計算係数比を決定することは、現在係数比を、実際の名目対物理データ比として決定することをさらに含む、請求項１に記載の方法。
【請求項３】
前記計算係数比を決定することは、前記使用ストレージ・スペースを前記コンピュータ・ストレージ環境の構成ストレージ・サイズで除算したものとして定義される、使用容量率を決定することをさらに含む、請求項２に記載の方法。
【請求項４】
前記使用容量率が、低ストレージ容量閾値よりも低い場合及びそれに等しい場合の一方であるときに、前記計算係数比として構成係数比が用いられる、請求項３に記載の方法。
【請求項５】
前記使用容量率が、高ストレージ容量閾値よりも高い場合及びそれに等しい場合の一方であるときに、前記計算係数比として前記現在係数比が用いられる、請求項４に記載の方法。
【請求項６】
前記使用容量率が、前記低ストレージ容量閾値よりも低い場合及びそれに等しい場合の一方ではなく、かつ、前記高ストレージ容量閾値よりも高い場合及びそれに等しい場合の一方でもないときに、前記現在係数比に関する現在の比の重みが計算される、請求項５に記載の方法。
【請求項７】
前記計算係数比を決定することが、
Ｆcalculated＝（Ｃpercentage＊Ｗratio）＋（Ｆconfigured＊（１−Ｗratio））
に従って行われ、ここで、Ｆcalculatedは、前記計算係数比であり、Ｃpercentageは、前記使用容量率であり、Ｗratioは、前記現在の比の重みであり、Ｆconfiguredは、期待される名目データの物理データに対する比に関してユーザ構成されたシステム属性として定義される構成係数比である、請求項６に記載の方法。
【請求項８】
前記最大名目推定スペースを計算することが、最大物理スペースに前記計算係数比を乗算することによって実行される、請求項７に記載の方法。
【請求項９】
重複排除システムにおけるスペース予約のためのシステムであって、
コンピュータ・ストレージ環境内で動作可能な少なくとも１つのプロセッサ・デバイスを含み、前記少なくとも１つのプロセッサ・デバイスは、
少なくとも１つのストレージ容量閾値と、バックアップ及び複製データのうちの一方によって現在物理的に消費されている使用ストレージ・スペースとに基づいて、現在の名目データの物理データに対する重み付き比として、計算係数比を決定し、
前記コンピュータ・ストレージ環境内の最大名目推定スペースを計算し、
前記最大名目推定スペースから前記コンピュータ・ストレージ環境内の現在の名目スペースを差し引いたものとして定義される、残存スペースを計算する
ように適合され、
前記残存スペースが、バックアップ動作のためのユーザ構成された予約スペースに等しい場合及びそれを下回る場合の一方であるときに、データ複製動作が、前記コンピュータ・ストレージ環境内に受け入れられ、格納される、システム。
【請求項１０】
前記少なくとも１つのプロセッサ・デバイスは、前記計算係数比を決定することに従って、現在係数比を実際の名目対物理データ比として決定するようにさらに適合される、請求項９に記載のシステム。
【請求項１１】
前記少なくとも１つのプロセッサ・デバイスは、前記計算係数比を決定することに従って、前記使用ストレージ・スペースを前記コンピュータ・ストレージ環境の構成ストレージ・サイズで除算したものとして定義される、使用容量率を決定するようにさらに適合される、請求項１０に記載のシステム。
【請求項１２】
前記少なくとも１つのプロセッサ・デバイスは、前記使用容量率が、低ストレージ容量閾値よりも低い場合及びそれに等しい場合の一方であるときに、前記計算係数比として構成係数比を用いるようにさらに適合される、請求項１１に記載のシステム。
【請求項１３】
前記少なくとも１つのプロセッサ・デバイスは、前記使用容量率が、高ストレージ容量閾値よりも高い場合及びそれに等しい場合の一方であるときに、前記計算係数比として前記現在係数比を用いるようにさらに適合される、請求項１２に記載のシステム。
【請求項１４】
前記少なくとも１つのプロセッサ・デバイスは、前記使用容量率が、前記低ストレージ容量閾値よりも低い場合及びそれに等しい場合の一方ではなく、かつ、前記高ストレージ容量閾値よりも高い場合及びそれに等しい場合の一方でもないときに、前記現在係数比に関する現在の比の重みを計算するようにさらに適合される、請求項１３に記載のシステム。
【請求項１５】
前記少なくとも１つのプロセッサ・デバイスは、前記計算係数比を決定することに従って、前記計算係数比を
Ｆcalculated＝（Ｃpercentage＊Ｗratio）＋（Ｆconfigured＊（１−Ｗratio））
に従って計算するようにさらに適合され、ここで、Ｆcalculatedは、前記計算係数比であり、Ｃpercentageは、前記使用容量率であり、Ｗratioは、前記現在の比の重みであり、Ｆconfiguredは、期待される名目データの物理データに対する比に関してユーザ構成されたシステム属性として定義される構成係数比である、請求項１４に記載のシステム。
【請求項１６】
前記少なくとも１つのプロセッサ・デバイスは、前記最大名目推定スペースを計算することに従って、最大物理スペースに前記計算係数比を乗算するようにさらに適合される、請求項１５に記載のシステム。
【請求項１７】
プロセッサによる重複排除システムにおけるスペース予約のためのコンピュータ・プログラムであって、コンピュータ可読プログラム・コード部分を含み、前記コンピュータ可読プログラム・コード部分は、
少なくとも１つのストレージ容量閾値と、バックアップ及び複製データのうちの一方によって現在物理的に消費されている使用ストレージ・スペースとに基づいて、現在の名目データの物理データに対する重み付き比として計算係数比を決定するための第１の実行可能部分と、
コンピュータ・ストレージ環境内の最大名目推定スペースを計算するための第２の実行可能部分と、
前記最大名目推定スペースから前記コンピュータ・ストレージ環境内の現在の名目スペースを差し引いたものとして定義される残存スペースを計算するための、第３の実行可能部分とを含み、
前記残存スペースが、バックアップ動作のためのユーザ構成された予約スペースに等しい場合及びそれを下回る場合の一方であるときに、データ複製動作が、前記コンピュータ・ストレージ環境内に受け入れられ、格納される、コンピュータ・プログラム。
【請求項１８】
前記計算係数比を決定することに従って、現在係数比を実際の名目対物理データ比として決定するための、第４の実行可能部分をさらに含む、請求項１７に記載のコンピュータ・プログラム。
【請求項１９】
前記計算係数比を決定することに従って、前記使用ストレージ・スペースを前記コンピュータ・ストレージ環境の構成ストレージ・サイズで除算したものとして定義される使用容量率を決定するための、第５の実行可能部分をさらに含む、請求項１８に記載のコンピュータ・プログラム。
【請求項２０】
前記使用容量率が低ストレージ容量閾値よりも低い場合及びそれに等しい場合の一方であるときに、前記計算係数比として構成係数比を用いるための、第６の実行可能部分をさらに含む、請求項１９に記載のコンピュータ・プログラム。
【請求項２１】
前記使用容量率が高ストレージ容量閾値よりも高い場合及びそれに等しい場合の一方であるときに、前記計算係数比として前記現在係数比を用いるための、第７の実行可能部分をさらに含む、請求項２０に記載のコンピュータ・プログラム。
【請求項２２】
前記使用容量率が、前記低ストレージ容量閾値よりも低い場合及びそれに等しい場合の一方ではなく、かつ、前記高ストレージ容量閾値よりも高い場合及びそれに等しい場合の一方でもないときに、前記現在係数比に関する現在の比の重みを計算するための、第８の実行可能部分をさらに含む、請求項２１に記載のコンピュータ・プログラム。
【請求項２３】
前記計算係数比を決定することに従って、前記計算係数比を
Ｆcalculated＝（Ｃpercentage＊Ｗratio）＋（Ｆconfigured＊（１−Ｗratio））
に従って計算するための第９の実行可能部分をさらに含み、ここで、Ｆcalculatedは、前記計算係数比であり、Ｃpercentageは、前記使用容量率であり、Ｗratioは、前記現在の比の重みであり、Ｆconfiguredは、期待される名目データの物理データに対する比に関してユーザ構成されたシステム属性として定義される構成係数比である、請求項２２に記載のコンピュータ・プログラム。
【請求項２４】
前記最大名目推定スペースを計算することに従って、最大物理スペースに前記計算係数比を乗算することによって前記最大名目推定スペースを計算するための、第１０の実行可能部分をさらに含む、請求項２３に記載のコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般にコンピュータに関し、より具体的には、コンピュータ・ストレージ環境内で動作可能な重複排除システムにおけるスペース予約のための装置、方法及びコンピュータ・プログラム製品の実施形態に関する。
【背景技術】
【０００２】
関連技術の説明
重複排除システムは、ファイル、データ・オブジェクト、バックアップ画像、データ・スナップショット又は仮想テープ・カートリッジのような種々の論理データ・ストレージ・エンティティを外部化することができる。多くの場合、このようなデータ・ストレージ・エンティティは、その元のサイトから遠隔サイトに複製することが必要とされる。複製されたデータ・エンティティは、障害許容力（フォールト・トレランス）及びデータの可用性を高める。このような障害許容力及び広い可用性が、ますます求められている。幾つかの既存の手法を用いて、データ複製、特に重複排除されたデータ・エンティティの複製を行うことができるが、これらの手法は、複製の効率、システムの性能及びデータの整合性に悪影響を与えるような制約を有し、付加的なオーバーヘッドを必要とし、又は上記のことの組み合わせを伴う。
【０００３】
データの重複排除（ｄｅｄｕｐｌｉｃａｔｉｏｎ）は、冗長なデータの削減及び／又は排除のことを指す。データ重複排除プロセスにおいて、データの重複コピーは、最小量の冗長コピー又はデータの単一コピーを残して、それぞれ、削減又は排除される。重複排除プロセスを用いることにより、必要とされるストレージ容量及び増大するネットワーク帯域幅の低減といった様々な利益がもたらされる。これら及び他の利益のため、重複排除は、近年、コンピュータ・ストレージ・システムにおける極めて重要な技術分野として浮上してきた。重複排除機能を提供するための課題は、典型的には大容量のストレージ・レポジトリ内で重複データ・パターンを効率よく見つけだすこと、及び、重複排除された、ストレージに効率的な形でデータ・パターンを格納することなどの態様を含む。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
重複に関する現在の複製の解決策は、例えば、多数の複製の送信機が、バックアップ・ターゲットとしても機能する１つの受信機と通信する構成において、バックアップ機能又は着信した複製のどちらをより高い優先度で受信すべきか、という課題に直面する。この課題は、さらに説明するように、現在のところ、使用可能なストレージ・スペース上での競合状態をもたらすことがある。現在の技術状況を鑑みて、前述のような特定の構成における既存の方法論の制約を回避すると同時に、効率的な複製プロセスに対する全ての要求を満たし、そのことにより、重複排除されたデータの複製のための既存の手法を改善する、重複排除されたデータの複製のため機構が必要とされている。
【課題を解決するための手段】
【０００５】
従って、コンピュータ・ストレージ環境内で動作可能な重複排除システムにおけるスペース予約機能を促進するための種々の実施形態が提供される。１つのこのような実施形態において、例示のみを目的として、少なくとも１つのストレージ容量閾値と、バックアップ及び複製データのうちの一方によって現在物理的に消費されている使用ストレージ・スペースとに基づいて、現在の名目データの物理データに対する重み付き比として、計算係数比が決定される。コンピュータ・ストレージ環境内の最大名目推定スペースが計算される。最大名目推定スペースからコンピュータ・ストレージ環境内の現在の名目スペースを差し引いたものとして定義される残存スペースが、計算される。残存スペースが、バックアップ動作のためのユーザ構成された予約スペースに等しい場合又はそれを下回る場合の一方であるときに、データ複製動作が、コンピュータ・ストレージ環境内に受け入れられ、格納される。
【０００６】
前述の例示的な方法の実施形態に加えて、他の例示的なシステム及びコンピュータ製品の実施形態が提供され、関連する利点を与える。
【０００７】
本発明の利点が容易に理解されるように、添付の図面に示される特定の実施形態を参照することによって、上で簡単に説明した本発明のより詳細な説明を与える。これらの図面は本発明の実施形態を描写するものであり、したがって、本発明の範囲を限定するものと考えるべきではないことを理解した上で、本発明を、添付の図面を用いて、さらに具体的かつ詳細に記載し及び説明する。
【図面の簡単な説明】
【０００８】
【図１】本発明の態様を実装することができる、例示的なコンピュータ環境を示す。
【図２】例示的なデータ複製及びバックアップの構成を示す。
【図３】以下の説明及び特許請求される主題を通じて用いられるいくつかの定義を示す。
【図４】重複排除システムにおけるスペース予約機能を提供するための例示的な方法を示す。
【図５】先に図４で示された例示的な方法に従って計算係数比を計算するための、例示的な方法を示す。
【図６】先に図４で示された例示的な方法による、スペース予約機能のプロセス・フローのための例示的な方法を示す。
【図７】図１に示されたコンピュータ環境のようなコンピュータ環境内のプロセッサ・デバイスを含む、例示的なコンピュータ・デバイスを示す。
【発明を実施するための形態】
【０００９】
ここで図１を参照すると、コンピュータ環境内のデータ・ストレージ・システム（例えば、仮想テープ・システム）の例示的なアーキテクチャ１０が示される。アーキテクチャ１０は、図示されるように、ローカル・ホスト１８及び２０にストレージ・サービスを提供し、遠隔データ・ストレージ・システムにデータを複製する。ストレージ・デバイス１４と通信するローカル・ストレージ・システム・サーバ１２が、ファイバ・チャネル・スイッチ１６のようなコンポーネントを含むネットワークを通じて、ローカル・ホスト１８及び２０に接続される。ファイバ・チャネル・スイッチ１６は、例えば、テープ・デバイスのためのコマンド（小型コンピュータ・システム・インタフェース（ＳＣＳＩ）のコマンドなど）を実行することができる。当業者であれば、アーキテクチャ１０は種々のストレージ・コンポーネントを含むことができることを認識するであろう。例えば、ストレージ・デバイス１４は、従来のハード・ディスク・ドライブ（ＨＤＤ）デバイスを含むこともでき、又はソリッド・ステート・ドライブ（ＳＳＤ）デバイスを含むこともできる。
【００１０】
ローカル・ストレージ・システム・サーバ１２は、ネットワーク２２を通じて、遠隔ストレージ・システム・サーバ２４に接続される。遠隔サーバ２４は、ローカルに接続されたディスク・ストレージ・デバイス２６と通信し、別のネットワーク及びファイバ・チャネル・スイッチ２８のようなネットワーク・コンポーネント２８を介して、ローカルに接続されたホスト３０及び３２とも通信する。ネットワーク２２は、広域ネットワーク（ＷＡＮ）、ローカル・エリア・ネットワーク（ＬＡＮ）、ストレージ・エリア・ネットワーク（ＳＡＮ）及びその他の構成のような種々のネットワーク接続形態を含むことができる。同様に、スイッチ１６及び２８は、他の種類のネットワーク・デバイスを含むことができる。
【００１１】
アーキテクチャ１０は、前述の通り、ローカル・ホストに対してローカル・ストレージ・サービスを提供し、遠隔データ・ストレージ・システムに対して複製データを提供する（矢印３４を用いたデータ複製機能で表されるように）。これから説明するように、本発明の種々の実施形態及び特許請求される主題は、アーキテクチャ１０のようなアーキテクチャ上に実装することができる。例えば、一実施形態において、ディスク・ストレージ・デバイス１４は、重複排除ストレージ・システムの一部とすることができ、重複排除されたデータ・エンティティを格納する。重複排除されたデータ・エンティティは、次にデータ複製プロセス３４を経ることができ、これにより、重複排除されたデータ・エンティティが遠隔ディスク・ストレージ・デバイス２６上に複製される。これらのプロセスは、以下でさらに詳細に説明する。
【００１２】
重複排除された形態で重複排除ストレージ・システム内に存在するデータ・エンティティを遠隔の重複排除ストレージ・システムに複製するこのようなプロセスは、ソース・システム及び宛先システムの両方において、処理時間及びストレージ要件に関して効率的であるべきであり、このような効率性を促進するために、重複排除ストレージ・システムの特性をできる限り利用するべきである。
【００１３】
多重のシステムを単一の障害回復（ＤＲ）システム上に複製することは、例えば、特定のデータ保護法に拘束される組織、又は、多くの小規模サイトから中規模サイトまで様々な保管期間でデータ・エンティティの複製を維持すことが求められる組織のように、データ・ストレージの必要がある組織に共通である。しかしながら、先に指摘したよう、多重の送信機が１つの受信機と通信するように構成された場合には、潜在的な問題が生じ得る。１つ又は２つの複製送信機ならば容易に制御することができ、受信機はそれに応じてその容量を計画することができるが、多数の複製送信機は、複製動作が同時に行われると、受信機サイト内に混乱を引き起こす可能性を有する。この問題点は、受信機がバックアップ・ターゲットとしても構成されている場合にはさらに高まる。
【００１４】
ここでもまた、先に述べたように、バックアップ又は着信した複製のどちらが高い優先度を有するかという問題が次に生じる。優先順位付けに関するこの問題は、従来の複製の実装においては一般に対処されていない。従って、どのような従来の解決策を用いても、使用可能なストレージ・スペース上での競合状態の可能性を伴う。このシナリオにおいては、複製もバックアップも、どのような種類の優先度も有することはなく、それらは、各送信機（バックアップ・ホストを含む）が生成することが可能なスループットに等しい入力／出力（Ｉ／Ｏ）に従って、スペースを消費することになろう。
【００１５】
図２を参照すると、例示的な多対一の複製環境５０が示される。ここで、多重の送信機５２は、バックアップ・ホスト５８からのバックアップ・ターゲットとして構成された受信機５４と通信する。受信機５４はまた、ストレージ５６（これは、当業者であれば認識するように、１つ又は複数のストレージ・デバイスを任意の数の実装内に含むことができる）とも通信する。受信機は、バックアップ・ホスト５８に対してバックアップ機能を提供しなければならず、さらにまたストレージ５６まで通過するデータ複製も促進しなければならないので、ストレージ５６に関するストレージ容量に対してなんらかの強制が行われないとすれば、環境５０は、複製とバックアップとの間の競合状態を助長し、ストレージ５６がどちらの特定の動作も、すなわちバックアップ又は複製も優先させないようにするので、その結果、ひとたび複製がストレージ５６のスペースをフルに満たすと、受信機５４がバックアップ・ホスト５８のために促進するバックアップ動作は、実行することができなくなり、失敗することになる。
【００１６】
上述のシナリオに対処するために、例証される実施形態は、重複排除システムにおいて複製よりもバックアップを優先させるための機構を提供し、この機構は、複製及びバックアップを稼働させると同時に、この容量管理問題を動的に執行する。各システムは、ローカルな所有権を有するものと呼ばれるそれ自身のストレージ・エンティティ（例えば、カートリッジ）と、在外の（ｆｏｒｅｉｇｎ)所有権を有するものと呼ばれる複製エンティティとを有する。ローカル・システムによって作成されたローカル・エンティティは、バックアップ、並びに、遠隔サイトへの複製のために用いることができる。複製送信機システムからの複製の結果として作成された、遠隔サイトに存在する複製されたエンティティは、複製のため、及び復元動作のために用いることができる。
【００１７】
システム管理者のようなユーザは、バックアップ動作のための名目スペースを予約することができる。１つの例示的な実施形態において、ユーザは、バックアップ・ホストに関して、名目スペースを予約することができる（例えば、２００ＭＢバックアップ・ホスト・データ（名目）／１０（重複排除比）＝２０ＭＢ物理スペース）。この動作は、オンラインで実行することができ、システムがすでに構成された後で、かつ稼働している間にならいつでも実行することができる。デフォルト挙動は、バックアップのためにスペースを全く予約しないように構成することができる。
【００１８】
その結果として、両方のコンシューマ（バックアップ及び複製）共、ストレージ内のいずれの使用可能スペースでも用いることができる。ユーザが予約スペースを（名目値で）定義するときに、システムは、現在使用されているストレージ容量に基づいて、そのシステムが、バックアップ動作のために構成されたスペース量（例えば、Ｘスペース）まで上限で予約することが可能であることを提示するように適合することができる。一実施形態において、予約スペースがユーザによって変更されようとするたびに、システムは、５つの名目値を提示することができる。これらは、例えば、（ｉ）ストレージの最大容量、（ｉｉ）複製使用スペース、（ｉｉｉ）バックアップ使用スペース、（ｉｖ）ストレージ内の空きスペース、及び（ｖ）現在のバックアップ予約、を含むことができる。
【００１９】
ストレージの状態にかかわらず、ユーザは、予約の値を自分が選択する任意の値に、たとえその時点でバックアップ使用スペースがその値を上回っていたとしても、変更することができる。新たな値が最大ストレージ容量よりも大きい場合には、ユーザに通知することができ、及び／又は変更を許可しないことができる。このようにして、本発明の機構は、バックアップ動作及び複製動作の両方が同時に実行されるときに、バックアップ動作を複製活動に優先させる能力を高める。
【００２０】
前述のことを考慮して、以下の説明は、バックアップを複製に優先させる容量管理の優先順位付けの執行のための例示的な機構を提供する。予備的事項として、システムは、ＤＲサイトにおける初期ストレージ計画の一部として、バックアップ動作を複製に優先させるように構成することができる（なぜなら、例えば、複製動作は、バックアップ動作の一部であり、かつ、全体としてバックアップ動作であり、それ自体はさほど重要ではないので）。ユーザは、このような構成を準備することができる。その後のステップとして、ユーザは、自身のバックアップの要望に合うように、バックアップのための予約スペースを定義することができる。ひとたび構成が完成し、システムが動作状態になると、ユーザは、そのような構成を監視することができるようになる。
【００２１】
ここで図３を参照すると、今ここで説明されており、以下の特許請求される主題の中に現れるいくつかの例示的な用語が、用語及び説明による表形式で示される。まず、「名目データ」は、バックアップ・ホストによって書き込まれたままの状態のデータを指すことが意図される。「物理データ」という用語は、重複排除及び圧縮動作後のデータを指すことが意図される。「構成係数比（ｃｏｎｆｉｇｕｒｅｄ  ｆａｃｔｏｒｉｎｇ  ｒａｔｉｏ）」という用語は、後でさらに説明するように、期待される名目対物理データ比に関するユーザ定義のシステム属性を指すことが意図される。「現在係数比（ｃｕｒｒｅｎｔ  ｆａｃｔｏｒｉｎｇ  ｒａｔｉｏ）」という用語は、実際の名目対物理データ比を指すことが意図される。
【００２２】
示された専門用語について続けると、「計算係数比（ｃａｌｃｕｌａｔｅｄ  ｆａｃｔｏｒｉｎｇ  ｒａｔｉｏ）」という用語は、容量閾値及び使用スペースに動的に基づいて、期待される及び現在の名目対物理データ比に関する重みを与える、システムにより行われる計算を指すことが意図される。「低容量閾値」は、それより下では、計算係数比が構成係数比と等しくなるように定義される値を指すことが意図される。「高容量閾値」は、それより上では、計算係数比が現在係数比と等しくなる値を指すことが意図される。「使用スペース」は、バックアップ又は複製データのいずれかによって、ストレージ内で現在物理的に消費されているスペースの実際量を指すことが意図される。最後に、「複製カートリッジの使用スペース」は、複製から発生するデータ・エンティティ（この場合には、カートリッジ）によって現在消費されているスペースの実際量を指すことが意図される。
【００２３】
以下の図４、図５及び図６は、重複排除システムにおけるスペース予約を提供するための例示的な機能を示す。図４は、スペース予約のための例示的な全プロセスを示し、続く図５は、計算係数比を計算するための例示的な方法を示し、続く図６は、先に図４及び図５で既に示された例示的な機能を前もって組み込んだ重複排除システムの構成及び動作についてのプロセス・フローを示す。
【００２４】
最初に図４を参照すると、方法１００は、現在の名目データの物理データに対する重み付き比として計算係数比を決定すること（ステップ１０４）で、開始される（ステップ１０２）。次に最大名目推定スペースが計算され（ステップ１０６）、ステップ１０６において計算された最大名目推定スペースから複製によって使用される名目スペースを差し引いた後に残るストレージ・スペースの量として定義される残存スペースが、計算される（ステップ１０８）。
【００２５】
残存スペースが、ユーザによってバックアップ動作のために構成され予約されたスペースを下回るか又はそれに等しいと判断された（ステップ１１０）場合には、複製は、受け入れられ、格納される（ステップ１１４）。反対に、使用可能な残存スペースがない場合には、ユーザにメッセージが送信され（ステップ１１２）、複製は拒否される。方法１００は、その後、終了する（ステップ１１６）。
【００２６】
次に図５を参照すると、方法１５０は、現在係数比を、実際の名目対物理データ比として計算すること（ステップ１５４）により、開始される（ステップ１５２）。一実施形態において、現在係数比は、使用された名目データを使用スペースで除算したものとして定義することができる。次のステップとして、使用容量率（ｕｓｅｄ  ｃａｐａｃｉｔｙ  ｐｅｒｃｅｎｔａｇｅ）の値が得られる（ステップ１５６）。使用容量率は、一実施形態において、使用スペースを構成された物理スペースで除算したもの、又は、構成されたストレージ・サイズのうちの、ストレージ内の物理データの百分率として定義することができる。
【００２７】
ステップ１５８において、使用容量率が、低容量閾値に等しいか又はそれを下回ると判断された場合には、構成（ユーザ定義）係数比が、計算係数比として用いられる（ステップ１６０）。使用容量率が、高容量閾値を上回るか又はそれに等しい場合には（ステップ１６２）、現在係数比（同様に、実際の名目対物理データ比）が、計算係数比として用いられる（ステップ１６４）。
【００２８】
使用容量率が低容量閾値に等しくも又はそれを下回ることもなく、高容量閾値を上回ることも又はそれに等しくもない場合には、現在係数比に関して現在の比の重みが計算される。一実施形態において、この現在の比の重みは、使用容量率から低容量閾値を差し引いたものを、（１−低容量閾値）で除算したものとして定義することができる。次に、この現在の比の重みを用いて、ステップ１６８において、一実施形態においてＦcalculated＝（Ｃpercentage＊Ｗratio）＋（Ｆconfigured＊（１−Ｗratio））と定義される計算係数比を計算し、ここで、Ｆcalculatedは計算係数比であり、Ｃpercentageは使用容量率であり、Ｗratioは現在の比の重みであり、Ｆconfiguredは、期待される名目データの物理データに対する比に関してユーザ構成されたシステム属性として定義される、構成係数比である。方法１５０は、その後、終了する（ステップ１７０）。
【００２９】
ここで図６を参照すると、方法１８０は、ユーザが、バックアップ動作のためにユーザによって構成された予約スペース（例えば、２０ＴＢの物理スペース）を変更しようとすること（ステップ１８４）で、開始する（ステップ１８２）。システムが、十分なスペースが使用可能であると判断した（ステップ１８６）場合には、変更は成功する（ステップ１８８）。しかしながら、そのように判断されない場合であって、ユーザがそれほど多くのスペースを要求しておらず、かつ、システムが、求められた予約スペースよりも多くのバックアップを既に使用していた（ステップ１９０）場合には、変更は成功するが、バックアップ予約スペースは、既に消費されていることになる（ステップ１９２）。ステップ１８６及びステップ１９０に対する選択肢として、使用可能なスペースがない場合には、変更は失敗し、１つ又は複数の警告がユーザに対して発せられる（ステップ１９４）。ユーザは、その後、実行された構成を監視する（ステップ１９６）。方法１８０は、その後、終了する（ステップ１９８）。
【００３０】
図６は、以降、前述の実施形態の機構を実装することができる図１に示されたコンピュータ環境１０の部分の一例を提供する。しかしながら、図６は単なる例示であり、種々の実施形態の例示的な態様を実装することができる特定のアーキテクチャに関するいかなる限定をも明言又は暗示することを意図するものではないことが認識されよう。以下の説明及び特許請求される主題の範囲及び思想から逸脱することなく、図６に示されたアーキテクチャに対する多くの修正を行うことができる。
【００３１】
図７は、本発明の実施形態を実装するために用いることができる、例示的なコンピュータ環境の部分２００を示す。コンピュータ２０２は、プロセッサ２０４と、ランダム・アクセス・メモリ（ＲＡＭ）のようなメモリ２０６とを含む。一実施形態において、ストレージ・システム・サーバ１２（図１）は、コンピュータ２０２内に示されたコンポーネントと同様のコンポーネントを含むことができる。コンピュータ２０２は、グラフィカル・ユーザ・インタフェース２１８上でウィンドウのような画像をユーザに提示する、ディスプレイ２１９に動作可能に結合される。コンピュータ２０２は、キーボード２１６、マウス・デバイス２２０、プリンタ２２８などのような他のデバイスに結合することができる。当然のことながら、当業者であれば、上記のコンポーネントの任意の組み合わせ、又は、任意の数の異なるコンポーネント、周辺機器及び他のデバイスを、コンピュータ２０２と共に用いることができることを認識するであろう。
【００３２】
一般に、コンピュータ２０２は、メモリ２０６内に格納されたオペレーティング・システム（ＯＳ）２０８（例えば、ｚ／ＯＳ、ＯＳ／２、ＬＩＮＵＸ、ＵＮＩＸ、ＷＩＮＤＯＷＳ、ＭＡＣ  ＯＳ）の制御下で動作し、ユーザとインタフェースして、入力及びコマンドを受け入れ、例えばグラフィカル・ユーザ・インタフェース（ＧＵＩ）モジュール２３２を通じて、結果を提示する。本発明の一実施形態において、ＯＳ２０８は、バックアップ機構を促進する。ＧＵＩモジュール２３２は、独立したモジュールとして描かれているが、ＧＵＩ機能を実行する命令は、オペレーティング・システム２０８、アプリケーション・プログラム２１０内に常駐し若しくは分散させることもでき、又は、専用メモリ及びプロセッサに実装することもできる。ＯＳ２０８は、前述の例示的な実施形態における種々のプロセス及び機構（上述のバックアップ動作のための物理スペースの予約など）を実行するように適合させることができる、複製モジュール２４０を含む。複製モジュール２４０は、ハードウェア、ファームウェア、又はハードウェアとファームウェアとの組み合わせに実装することができる。一実施形態において、複製モジュール２４０は、特定用途向け集積回路（ＡＳＩＣ）として具体化することができる。当業者であれば認識するように、複製モジュール２４０に関連付けられた機能は、プロセッサ２０４、メモリ２０６、及びコンピュータ２０２の他のコンポーネントと関連付けられた機能と共に、システム・オン・チップ（ＳｏＣ）として知られる専用ＡＳＩＣにおいて具体化することもできる。さらに、複製モジュール（又は、同様にコンピュータ２０２の他のコンポーネント）に関連付けられた機能を、フィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）として実装することができる。
【００３３】
図７に示されるように、コンピュータ２０２は、ＣＯＢＯＬ、ＰＬ／１、Ｃ、Ｃ＋＋、ＪＡＶＡ、ＡＤＡ、ＢＡＳＩＣ、ＶＩＳＵＡＬ  ＢＡＳＩＣのようなプログラミング言語又はその他のプログラミング言語で記述されたアプリケーション・プログラム２１０をプロセッサ２０４が読むことができるコードに翻訳することを可能にする、コンパイラ２１２を含む。完成後に、コンピュータ・プログラム２１０は、コンパイラ２１２を用いて生成された関係及び論理を用いて、コンピュータ２０２のメモリ２０６内に格納されたデータにアクセスし、操作する。コンピュータ２０２は、例えばインターネット又は他のネットワークを介して他のコンピュータと通信するための、モデム、衛星リンク、イーサネット・カード、無線リンク又は他のデバイスのような外部データ通信デバイス２３０も、随意に含む。
【００３４】
データ・ストレージ・デバイス２２２は、多数のデータセットを保持する１つ又は複数のプライマリ・ボリュームを含む、直接アクセス・ストレージ・デバイス（ＤＡＳＤ）２２２である。ＤＡＳＤ２２２は、ハード・ディスク・ドライブ（ＨＤＤ）、テープなどのような多数のストレージ媒体を含むことができる。データ・ストレージ・デバイス２３６も、デバイス２２２と同様の方式で多数のストレージ媒体を含むことができる。デバイス２３６は、デバイス２２２上に第一に格納された多数のデータセットのバックアップ・バージョンを保持するためのバックアップ・デバイス２３６として指定することができる。当業者であれば認識するように、デバイス２２２と２３６とが、同じ機械上に配置される必要はない。デバイス２２２は、地理的に異なる領域に配置されてもよく、イーサネットのようなネットワーク・リンクで接続されてもよい。デバイス２２２及び２３６は、１つ又は複数のボリュームを各ボリュームに対応するコンテンツのボリューム目録（ＶＴＯＣ）と共に含むことができる。
【００３５】
一実施形態において、オペレーティング・システム２０８、コンピュータ・プログラム２１０及びコンパイラ２１２を実装する命令は、例えばデータ・ストレージ・デバイス２２２のようなコンピュータ可読媒体内に有形に具体化され、これは、ジップ・ドライブ、フロッピー・ディスク、ハード・ドライブ、ＤＶＤ／ＣＤ−ＲＯＭ、デジタル・テープ、フラッシュ・メモリ・カード、ソリッド・ステート・ドライブなどのような１つ又は複数の固定又は取り外し可能なデータ・ストレージ・デバイス２２４を含むことができ、これらが、ストレージ・デバイス２２４として一般的に表される。さらに、オペレーティング・システム２０８及びコンピュータ・プログラム２１０は、コンピュータ２０２によって読み取られて実行されたときに、本発明を実施及び／又は使用するために必要なステップをコンピュータ２０２に行わせる、命令を含む。例えば、コンピュータ・プログラム２１０は、グリッド・セット・マネージャ、グリッド・マネージャ及びレポジトリ・マネージャを実装するための命令を含むことができる。コンピュータ・プログラム２１０及び／又はオペレーティング・システム２０８の命令は、メモリ２０６内に有形に具体化することもでき、及び／又は、データ通信デバイス２３０を通じて送信することも又はそれによってアクセスすることもできる。このように、「製品」、「プログラム・ストレージ・デバイス」及び「コンピュータ・プログラム製品」という用語は、本明細書において用いられる場合、いずれかのコンピュータ可読デバイス又は媒体からアクセス可能な、及び／又は動作可能なコンピュータ・プログラムを包含することを意図する。
【００３６】
本発明の実施形態は、例えば、ストレージ・エリア・ネットワーク（ＳＡＮ）のようなコンピュータ・デバイスのネットワークを含む分散型コンピュータ・システムを管理するための機能を含む、１つ又は複数の関連づけられたソフトウェア・アプリケーション・プログラム２１０を含むことができる。従って、プロセッサ２０４は、ストレージ管理プロセッサ（ＳＭＰ）を含むことができる。プログラム２１０は、単一のコンピュータ２０２内で動作することも、又は、コンピュータ・デバイスのネットワークを含む分散型コンピュータ・システムの一部として動作することもできる。ネットワークは、ローカル・エリア・ネットワーク及び／又はインターネット接続（これは、公衆接続又はセキュアな接続、例えば、仮想プライベート・ネットワーク（ＶＰＮ）接続を通じたものとすることができる）を介して、又はファイバ・チャネルＳＡＮ若しくは当業者であれば理解するような他の既知のネットワーク型式を介して接続された、１つ又は複数のコンピュータを包含することができる。（ファイバ・チャネルＳＡＮは、典型的には、ストレージ・システムと通信し、互いには通信しないコンピュータのためにのみ用いられることに留意されたい。）
【００３７】
当業者により認識されるように、本発明の態様は、システム、方法又はコンピュータ・プログラム製品として具体化することができる。従って、本発明の態様は、完全にハードウェアの実施形態、完全にソフトウェアの実施形態（ファームウェア、常駐ソフトウェア、マイクロ・コード等を含む）、又はソフトウェアの態様とハードウェアの態様とを組み合わせた実施形態の形を取ることができ、これらは全て、本明細書において、一般的に「回路」、「モジュール」又は「システム」と呼ぶことができる。さらに、本発明の態様は、媒体内に具体化されたコンピュータ使用可能プログラム・コードを有する、１つ又は複数のコンピュータ可読媒体内に具体化されたコンピュータ・プログラム製品の形を取ることができる。
【００３８】
１つ又は複数のコンピュータ可読媒体のいずれの組み合わせを用いることもできる。コンピュータ可読媒体は、コンピュータ可読信号媒体又はコンピュータ可読ストレージ媒体とすることができる。コンピュータ可読ストレージ媒体は、例えば、電子的、磁気的、光学的、電磁気的、赤外線若しくは半導体のシステム、装置若しくはデバイス、又は上記のもののいずれかの適切な組み合わせとすることができるが、これらに限定されるものではない。コンピュータ可読ストレージ媒体のより具体的な例（非網羅的なリスト）として、以下のもの、即ち、１つ又は複数の配線を有する電気的接続、ポータブル・コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ（ＲＡＭ）、読み出し専用メモリ（ＲＯＭ）、消去可能なプログラム可能読み出し専用メモリ（ＥＰＲＯＭ又はフラッシュ・メモリ）、光ファイバ、ポータブル・コンパクト・ディスク読み出し専用メモリ（ＣＤ−ＲＯＭ）、光記憶装置、磁気記憶装置、又は上記のいずれかの適切な組み合わせが挙げられる。本明細書の文脈においては、コンピュータ可読ストレージ媒体は、命令実行システム、装置若しくはデバイスによって、又はそれらとの関連で使用するためのプログラムを収容し又は格納することが可能ないずれかの有形媒体とすることができる。
【００３９】
コンピュータ可読媒体上に具体化されたプログラム・コードは、これらに限られるものではないが、無線、有線、光ファイバ・ケーブル、ＲＦ等、又は上記のもののいずれかの適切な組み合わせを含む、いずれかの適切な媒体を用いて伝送することができる。本発明の態様の操作を実行するためのコンピュータ・プログラム・コードは、Ｊａｖａ、ＳｍａｌｌＴａｌｋ、Ｃ＋＋等のようなオブジェクト指向型プログラミング言語、及び、「Ｃ」プログラミング言語又は同様のプログラミング言語のような従来の手続き型プログラミング言語を含む、１つ又は複数のプログラミング言語のいずれかの組み合わせで記述することができる。プログラム・コードは、完全にユーザのコンピュータ上で実行される場合もあり、一部がユーザのコンピュータ上で、独立型ソフトウェア・パッケージとして実行される場合もあり、一部がユーザのコンピュータ上で実行され、一部が遠隔コンピュータ上で実行される場合もあり、又は完全に遠隔コンピュータ若しくはサーバ上で実行される場合もある。一番最後のシナリオにおいては、遠隔コンピュータは、ローカル・エリア・ネットワーク（ＬＡＮ）若しくは広域ネットワーク（ＷＡＮ）を含むいずれかのタイプのネットワークを通じてユーザのコンピュータに接続される場合もあり、又は外部コンピュータへの接続がなされる場合もある（例えば、インターネット・サービス・プロバイダを用いたインターネットを通じて）。
【００４０】
本発明の態様は、本発明の実施形態による方法、装置（システム）及びコンピュータ・プログラム製品のフローチャート図及び／又はブロック図を参照して説明される。フローチャート図及び／又はブロック図の各ブロック、並びにフローチャート図及び／又はブロック図内のブロックの組み合わせは、コンピュータ・プログラム命令によって実施することができることが理解されるであろう。これらのコンピュータ・プログラム命令を、汎用コンピュータ、専用コンピュータ、又は他のプログラム可能データ処理装置のプロセッサに与えて、マシンを製造し、その結果、コンピュータ又は他のプログラム可能データ処理装置のプロセッサによって実行される命令が、フローチャート及び／又はブロック図の１つ又は複数のブロックにおいて指定された機能／動作を実施するための手段を作り出すようにすることができる。
【００４１】
これらのコンピュータ・プログラム命令を、コンピュータ、他のプログラム可能データ処理装置、又は他のデバイスを特定の方式で機能させるように指示することができるコンピュータ可読媒体内に格納し、その結果、そのコンピュータ可読媒体内に格納された命令が、フローチャート及び／又はブロック図の１つ又は複数のブロックにおいて指定された機能／動作を実装する命令を含む製品を製造するようにすることもできる。コンピュータ・プログラム命令を、コンピュータ、他のプログラム可能データ処理装置、又は他のデバイス上にロードして、そのコンピュータ、他のプログラム可能データ処理装置、又は他のデバイス上で実行される一連の動作ステップによりコンピュータ実施のプロセスを生成し、その結果、コンピュータ又は他のプログラム可能装置上で実行される命令が、フローチャート及び／又はブロック図の１つ又は複数のブロックにおいて指定された機能／動作を実施するプロセスをもたらすようにすることもできる。
【００４２】
上記の図面内のフローチャート及びブロック図は、本発明の種々の実施形態によるシステム、方法及びコンピュータ・プログラム製品の可能な実装のアーキテクチャ、機能及び動作を示す。この点に関して、フローチャート又はブロック図内の各ブロックは、特定の論理関数を実行するための１つ又は複数の実行可能命令を含むモジュール、セグメント、又はコードの一部を表すことができる。幾つかの代替的な実装において、ブロック内に記した機能は、図中に記された順序とは異なる順序で行われ得ることにも留意すべきである。例えば、連続して示された２つのブロックが、関与する機能に応じて、実際には、実質的に同時に実行されることもあり、又はこれらのブロックは、ときには逆の順序で実行されることもある。また、ブロック図及び／又はフローチャート図の各ブロック、及び、ブロック図及び／又はフローチャート図内のブロックの組み合わせは、指定された機能又は動作を実行する専用ハードウェアをベースとするシステム、又は、専用ハードウェアとコンピュータ命令との組み合わせによって実行できることにも留意される。
【００４３】
本発明の１つ又は複数の実施形態を詳細に例証してきたが、当業者であれば、以下の特許請求の範囲で記述される本発明の範囲から逸脱することなく、これらの実施形態に対する修正及び適合を行うことができることを認識するであろう。
【符号の説明】
【００４４】
１０：コンピュータ環境（データ・ストレージ・システムのアーキテクチャ）
１４：ディスク・ストレージ・デバイス
１６、２８：ファイバ・チャネル・スイッチ
１８、２０：ローカル・ホスト
２２：ネットワーク
３０、３２：ホスト
５０：多対一の複製環境
２００：コンピュータ環境の部分
２０２：コンピュータ
２０６：メモリ
２１９：ディスプレイ
２２２：直接アクセス・ストレージ・デバイス
２２４：データ・ストレージ・デバイス
２３０：データ通信デバイス
２３６：バックアップ・デバイス
【図１】
2013530453.tif 000003
【図２】
2013530453.tif 000004
【図３】
2013530453.tif 000005
【図４】
2013530453.tif 000006
【図５】
2013530453.tif 000007
【図６】
2013530453.tif 000008
【図７】
2013530453.tif 000009
【国際調査報告】
2013530453.tif 000010
2013530453.tif 000011