(57)【要約】データ・ストレージ環境（１００）でデータを記憶する自動化された技法。異種混合ストレージ環境で、そのストレージ環境のために構成された記憶ポリシ（１２８）に基づいてデータの記憶位置を決定する技法が提供される。データは、最小限の人的介入により、使用可能な記憶リソースの使用を最適化すると同時に効率の良いデータ・アクセスを可能にするデータ位置（１１６）に記憶される。
2005502121.tif 000002
【特許請求の範囲】
【請求項１】
複数の記憶デバイスを含むストレージ環境において、前記複数の記憶デバイスの中からデータを記憶するための記憶デバイスを識別する方法であって、
データ・ユニットを記憶するための信号を受け取ること、
それぞれが前記記憶されるデータの１つまたは複数の特性に関連する１つまたは複数の条件を識別するデータ関連基準と、１つまたは複数の記憶デバイス特性に関連する１つまたは複数の条件を識別するデバイス関連基準とを含む、前記ストレージ環境のために構成された１つまたは複数の配置規則のセットを識別すること、
前記配置規則の前記データ関連基準と前記データ・ユニットの特性に基づいて前記配置規則セット中の各配置規則ごとにデータ値スコア（ＤＶＳ）を計算すること、
前記配置規則セットとそれに関連するＤＶＳ、前記複数の記憶デバイスの特性、記憶される前記データ・ユニットの特性に基づいて、前記複数の記憶デバイスの中から前記データ・ユニットを記憶するための記憶デバイスを決定すること
を含む方法。
【請求項２】
配置規則の前記ＤＶＳが、記憶される前記データ・ユニットの特性によって満たされる尺度、すなわち前記配置規則の前記データ関連基準で指定された前記１つまたは複数の条件の尺度を提供する請求項１に記載の方法。
【請求項３】
配置規則の前記データ関連基準が、
データ・ユニットに関連するアクセス情報に関連する１つまたは複数の条件を含む使用基準と、
データ・ユニットの特性に関連する１つまたは複数の条件を含むユニット選択基準と
を含み、
前記配置規則セット中の各配置規則ごとにデータ値スコア（ＤＶＳ）を計算することが、
前記配置規則の前記使用基準と、記憶される前記データ・ユニットの特性とに基づいて前記配置規則の使用スコアを生成すること、
前記配置規則のユニット選択基準と、記憶される前記データ・ユニットの特性とに基づいて前記配置規則のユニット選択スコアを生成すること、
前記使用スコアと前記ユニット選択スコアに基づいて前記配置規則の前記ＤＶＳを生成すること
を含む請求項１に記載の方法。
【請求項４】
前記複数の記憶デバイスの中から前記データ・ユニットを記憶するための前記記憶デバイスを決定することが、
前記配置規則セットに関連する前記ＤＶＳに基づいて前記配置規則セットの中から第１の配置規則を選択すること、
前記第１の配置規則の前記デバイス関連基準、前記データ・ユニットの前記特性、前記記憶デバイスの特性に基づいて、前記複数の記憶デバイス中の各記憶デバイスごとに相対的記憶値スコア（ＲＳＶＳ）を計算すること、
前記複数の記憶デバイスについて計算された前記ＲＳＶＳに基づいて、前記複数の記憶デバイスの中から前記データ・ユニットを記憶するための記憶デバイスを選択すること
を含む請求項１に記載の方法。
【請求項５】
前記記憶デバイスのＲＳＶＳが、前記記憶デバイスによってサポートされる帯域幅に正比例し、前記記憶デバイスが閾値容量を超えずにデータを記憶することのできる程度に正比例し、かつ前記記憶デバイス上にデータを記憶するコストに反比例する請求項４に記載の方法。
【請求項６】
前記記憶デバイスのＲＳＶＳが前記記憶デバイスのアベラビリティに正比例する請求項５に記載の方法。
【請求項７】
前記複数の記憶デバイスについて計算された前記ＲＳＶＳに基づいて前記複数の記憶デバイスの中から前記データ・ユニットを記憶するための記憶デバイスを選択することが、
前記複数の記憶デバイスの中から最高のＲＳＶＳ値を持つ記憶デバイスを選択すること
を含む請求項５に記載の方法。
【請求項８】
記憶デバイスについて計算された前記ＲＳＶＳは、前記記憶デバイスが前記第１の配置規則の前記デバイス関連基準で指定されたデバイス帯域幅値をサポートすることができるかどうかを示す請求項４に記載の方法。
【請求項９】
記憶デバイスについて計算された前記ＲＳＶＳが、前記記憶デバイスが、前記記憶デバイスに関連する容量閾値を超えずに前記データ・ユニットを記憶することができるかどうかを示す請求項４に記載の方法。
【請求項１０】
前記第１の配置規則を選択することが、最高のＤＶＳを持つ配置規則を前記第１の配置規則として選択することを含む請求項４に記載の方法。
【請求項１１】
最高のＤＶＳを持つ配置規則を選択することが、
前記最高のＤＶＳが複数の配置規則に関連する場合は、均衡を破る規則を使用して前記複数の配置規則の中から１つの配置規則を前記第１の配置規則として選択すること
を含む請求項１０に記載の方法。
【請求項１２】
前記データ・ユニットを記憶するための前記記憶デバイスを決定することが、
前記配置規則セットについて計算されたＤＶＳに基づいて前記複数の配置規則の中から第１の配置規則を選択すること、
前記第１の配置規則の前記デバイス関連基準に基づいて前記複数の記憶デバイスの中から第１の記憶デバイス・セットを識別すること、
前記第１の記憶デバイス・セット中の各記憶デバイスごとに、前記第１の配置規則の前記デバイス関連基準、前記データ・ユニットの特性、前記記憶デバイスの特性に基づいて相対的記憶値スコア（ＲＳＶＳ）を生成すること、
前記複数の記憶デバイスについて計算された前記ＲＳＶＳに基づいて前記複数の記憶デバイスの中から前記データ・ユニットを記憶するための記憶デバイスを選択すること
を含む請求項１に記載の方法。
【請求項１３】
記憶デバイスの前記ＲＳＶＳが、
前記記憶デバイスによってサポートされる帯域幅と、
前記第１の配置規則の前記デバイス関連基準で指定されたデバイス帯域幅値と、
前記データ・ユニットを記憶するために割り振られた前記デバイスの総容量の一部を示す、前記記憶デバイスのために構成された所望の閾値容量と、
個々のタイプのデータを記憶するために使用されている前記記憶デバイスの一部を示す、前記記憶デバイスの現在の使用量情報と、
前記記憶デバイス上にデータを記憶するコストと
に基づいて計算され、
前記第１の記憶デバイス・セット中の各記憶デバイスごとにＲＳＶＳを生成することが、
前記記憶デバイスが前記第１の配置規則によって指定された前記帯域幅要求を満たすことができない場合は、ゼロの値を持つＲＳＶＳを生成すること、
前記記憶デバイスが前記第１の配置規則によって指定された前記帯域幅要求を満たすことができ、かつ前記記憶デバイスに関連する容量閾値を超えずに前記データ・ユニットを記憶することができる場合は、ゼロより大きい値を持つＲＳＶＳを生成すること、
前記記憶デバイスが前記第１の配置規則によって指定された前記帯域幅要求を満たすことができるが、前記記憶デバイスに関連する容量閾値を超えずに前記データ・ユニットを記憶することができない場合は、ゼロより小さい値を持つＲＳＶＳを生成すること
を含む請求項１２に記載の方法。
【請求項１４】
前記第１のセットから前記データ・ユニットを記憶するための記憶デバイスを選択することが、最高のＲＳＶＳを持つデバイスを選択することを含む請求項１３に記載の方法。
【請求項１５】
配置規則の前記ＤＶＳが前記配置規則の記憶される前記データ・ユニットに対する関連度を示し、
前記複数の記憶デバイスの中から前記データ・ユニットを記憶するための記憶デバイスを決定することが、
（ａ）最高の関連度を示すＤＶＳを持つ配置規則を選択すること、
（ｂ）前記選択された配置規則に基づいて前記複数のデバイスの中から第１の記憶デバイス・セットを識別すること、
（ｃ）前記第１の配置規則の前記デバイス関連基準、前記データ・ユニットの特性、前記記憶デバイスの特性に基づいて、前記第１の記憶デバイス・セット中の各記憶デバイスごとに、前記記憶デバイスが前記選択された配置規則によって指定された帯域幅要求を満たすことができるかどうかを示すと共に前記記憶デバイスが前記記憶デバイスに関連する容量閾値を超えずに前記データ・ユニットを記憶することができるかどうかも示す相対的記憶値スコア（ＲＳＶＳ）を生成すること、
（ｄ）前記第１の記憶デバイス・セット中の少なくとも１台の記憶デバイスが、前記選択された配置規則によって指定された前記帯域幅要求を満たすことができ、かつ前記記憶デバイスに関連する容量閾値を超えずに前記データ・ユニットを記憶することができるかどうか判定すること、
（ｅ）前記第１の記憶デバイス・セット中の少なくとも１台の記憶デバイスが前記選択された配置規則によって指定された前記帯域幅要求を満たすことができ、かつ前記記憶デバイスに関連する容量閾値を超えずに前記データ・ユニットを記憶することができると判定された場合は、前記記憶デバイスについて生成されたＲＳＶＳに基づいて、前記選択された配置規則によって指定された前記帯域幅要求を満たすことができ、かつ前記記憶デバイスに関連する容量閾値を超えずに前記データ・ユニットを記憶することができる記憶デバイスを選択すること、
（ｆ）前記第１のデバイス・セット中のどの記憶デバイスも前記選択された配置規則によって指定された前記帯域幅要求を満たすことができず、前記記憶デバイスに関連する容量閾値を超えずに前記データ・ユニットを記憶することもできない場合は、前記配置規則セットの中から、次に高い関連度を示すＤＶＳを持つ別の配置規則を選択すること、
（ｇ）前記第１の配置規則によって指定された前記帯域幅要求を満たすことができ、かつ前記記憶デバイスに関連する容量閾値を超えずに前記データ・ユニットを記憶することのできる前記データ・ユニットを記憶するための記憶デバイスが識別されるまで、ステップ（ｂ）から（ｆ）を繰り返すこと
を含む請求項１に記載の方法。
【請求項１６】
配置規則の前記ＤＶＳが前記配置規則の記憶される前記データ・ユニットに対する関連度を示し、
前記複数の記憶デバイスの中から前記データ・ユニットを記憶するための記憶デバイスを決定することが、
（ａ）最高の関連度を示すＤＶＳを持つ配置規則を選択すること、
（ｂ）選択された配置規則に基づいて前記複数のデバイスの中から第１の記憶デバイス・セットを識別すること、
（ｃ）前記第１の配置規則の前記デバイス関連基準、前記データ・ユニットの特性、前記記憶デバイスの特性に基づいて、前記第１の記憶デバイス・セット中の各記憶デバイスごとに、前記記憶デバイス上に前記データ・ユニットを記憶することの望ましさの度合いを示し、前記記憶デバイスが前記選択された配置規則によって指定された帯域幅要求を満たすことができるかどうかを示し、かつ前記記憶デバイスが前記記憶デバイスに関連する容量閾値を超えずに前記データ・ユニットを記憶することができるかどうかを示す相対的記憶値スコア（ＲＳＶＳ）を生成すること、
（ｄ）前記第１の記憶デバイス・セット中の少なくとも１台の記憶デバイスが、前記選択された配置規則によって指定された前記帯域幅要求を満たすことができ、かつ前記記憶デバイスに関連する容量閾値を超えずに前記データ・ユニットを記憶することができるかどうか判定すること、
（ｅ）前記第１の記憶デバイス・セット中の少なくとも１台の記憶デバイスが前記選択された配置規則によって指定された前記帯域幅要求を満たすことができ、かつ前記記憶デバイスに関連する容量閾値を超えずに前記データ・ユニットを記憶することができると判定された場合は、前記記憶デバイスについて生成されたＲＳＶＳに基づいて、前記選択された配置規則によって指定された前記帯域幅要求を満たすことができ、かつ前記記憶デバイスに関連する容量閾値を超えずに前記データ・ユニットを記憶することができる記憶デバイスを選択すること、
（ｆ）前記第１のデバイス・セット中のどの記憶デバイスも前記選択された配置規則によって指定された前記帯域幅要求を満たすことができず、前記記憶デバイスに関連する容量閾値を超えずに前記データ・ユニットを記憶することもできない場合は、
前記第１の記憶デバイス・セットの中から、前記記憶ユニットを記憶することができ、前記第１の記憶デバイス・セット中の他のデバイスよりも前記データ・ユニットを記憶するのにより望ましいと前記デバイスについて生成された前記ＲＳＶＳによって示される第１の記憶デバイスを決定すること、
候補デバイスとして記憶デバイスが識別されているかどうか判定すること、
候補デバイスとして記憶デバイスがマークされている場合は、
前記第１の記憶デバイスが前記マークされた候補デバイスよりも前記データ・ユニットを記憶するのにより望ましいと前記第１のデバイスと前記マークされた候補デバイスとに関連するＲＳＶＳによって示される場合は、前記候補デバイスとして前記第１の記憶デバイスをマークすること、
前記配置規則セットの中から、次に高い関連度を示すＤＶＳを持つ別の配置規則を選択すること、
（ｇ）前記データ・ユニットを記憶するための記憶デバイスが識別されるまで、または前記配置規則セット中のすべての配置規則が処理されるまで、ステップ（ｂ）から（ｆ）を繰り返すこと、
（ｈ）前記配置規則セット中のすべての配置規則が処理されたが、前記データ・ユニットを記憶するための記憶デバイスが識別されなかった場合は、前記データ・ユニットを記憶するために前記候補デバイスとしてマークされた前記記憶デバイスを選択すること
を含む請求項１に記載の方法。
【請求項１７】
複数の記憶デバイスを含むストレージ環境において、前記複数の記憶デバイスの中からデータを記憶するための記憶デバイスを識別するデータ処理システムであって、
プロセッサと、
前記プロセッサが実行するための複数のコード・モジュールを記憶するように構成され、前記プロセッサに結合されたメモリであって、前記複数のコード・モジュールが、
データ・ユニットを記憶するための信号を受け取るコード・モジュール、
それぞれが前記記憶されるデータの１つまたは複数の特性に関連する１つまたは複数の条件を識別するデータ関連基準と、１つまたは複数の記憶デバイス特性に関連する１つまたは複数の条件を識別するデバイス関連基準とを含む、前記ストレージ環境のために構成された１つまたは複数の配置規則のセットを識別するコード・モジュール、
前記配置規則の前記データ関連基準と前記データ・ユニットの特性とに基づいて、前記配置規則セット中の各配置規則ごとにデータ値スコア（ＤＶＳ）を計算するコード・モジュール、
前記配置規則セットと、それに関連するＤＶＳ、前記複数の記憶デバイスの特性、記憶される前記データ・ユニットの特性に基づいて、前記複数の記憶デバイスの中から、前記データ・ユニットを記憶するための記憶デバイスを決定するコード・モジュール
を含むメモリと
を含むデータ処理システム。
【請求項１８】
配置規則の前記ＤＶＳが、記憶される前記データ・ユニットの特性によって満たされる尺度、すなわち前記配置規則の前記データ関連基準で指定された前記１つまたは複数の条件の尺度を提供する請求項１７に記載のシステム。
【請求項１９】
配置規則の前記データ関連基準が、
データ・ユニットに関連するアクセス情報に関連する１つまたは複数の条件を含む使用基準と、
データ・ユニットの特性に関連する１つまたは複数の条件を含むユニット選択基準と
を含み、
前記配置規則セット中の各配置規則ごとにデータ値スコア（ＤＶＳ）を計算する前記コード・モジュールが、
前記配置規則の前記使用基準と、記憶される前記データ・ユニットに関連するアクセス情報とに基づいて、前記配置規則の使用スコアを生成するコード・モジュールと、
前記配置規則の前記ユニット選択基準と、記憶される前記データ・ユニットの特性とに基づいて前記配置規則のユニット選択スコアを生成するコード・モジュールと、
前記使用スコアと前記ユニット選択スコアに基づいて前記配置規則の前記ＤＶＳを生成するコード・モジュールと
を含む請求項１７に記載のシステム。
【請求項２０】
前記複数の記憶デバイスの中から前記データ・ユニットを記憶するための前記記憶デバイスを決定する前記コード・モジュールが、
前記配置規則セットに関連する前記ＤＶＳに基づいて前記配置規則の中から第１の配置規則を選択するコード・モジュールと、
前記配置規則のデバイス関連基準、前記データ・ユニットの前記特性、前記記憶デバイスの特性に基づいて、前記複数の記憶デバイス中の各記憶デバイスごとに相対的記憶値スコア（ＲＳＶＳ）を計算するコード・モジュールと、
前記複数の記憶デバイスについて計算された前記ＲＳＶＳに基づいて、前記複数の記憶デバイスの中から前記データ・ユニットを記憶するための記憶デバイスを選択するコード・モジュールと
を含む請求項１７に記載のシステム。
【請求項２１】
記憶デバイスの前記ＲＳＶＳが、前記記憶デバイスによってサポートされる帯域幅に正比例し、前記記憶デバイスが閾値容量を超えずにデータを記憶できる程度に正比例し、かつ前記記憶デバイス上にデータを記憶するコストに反比例する請求項２０に記載のシステム。
【請求項２２】
記憶デバイスの前記ＲＳＶＳが前記記憶デバイスのアベラビリティに正比例する請求項２１に記載のシステム。
【請求項２３】
前記複数の記憶デバイスについて計算された前記ＲＳＶＳに基づいて前記複数の記憶デバイスの中から前記データ・ユニットを記憶するための記憶デバイスを選択する前記コード・モジュールが、
前記複数の記憶デバイスの中から最高のＲＳＶＳ値を持つ記憶デバイスを選択するコード・モジュール
を含む請求項２１に記載のシステム。
【請求項２４】
記憶デバイスについて計算された前記ＲＳＶＳは、前記記憶デバイスが、前記第１の配置規則の前記デバイス関連基準で指定されたデバイス帯域幅値をサポートできるかどうか示す請求項２０に記載のシステム。
【請求項２５】
記憶デバイスについて計算された前記ＲＳＶＳは、前記記憶デバイスが前記記憶デバイスに関連する容量閾値を超えずに前記データ・ユニットを記憶できるかどうかを示す請求項２０に記載のシステム。
【請求項２６】
前記第１の配置規則を選択する前記コード・モジュールが、最高のＤＶＳを持つ配置規則を前記第１の配置規則として選択するコード・モジュールを含む請求項２０に記載のシステム。
【請求項２７】
最高のＤＶＳを持つ配置規則を選択する前記コード・モジュールが、
前記最高のＤＶＳが複数の配置規則に関連する場合は、均衡を破る規則を使用して前記複数の配置規則の中から１つの配置規則を前記第１の配置規則として選択するコード・モジュール
を含む請求項２６に記載のシステム。
【請求項２８】
前記データ・ユニットを記憶するための前記記憶デバイスを決定する前記コード・モジュールが、
前記配置規則セットについて計算されたＤＶＳに基づいて、前記複数の配置規則の中から第１の配置規則を選択するコード・モジュールと、
前記第１の配置規則の前記デバイス関連基準に基づいて前記複数の記憶デバイスの中から第１の記憶デバイス・セットを識別するコード・モジュールと、
前記第１の記憶デバイス・セット中の各記憶デバイスごとに、前記第１の配置規則の前記デバイス関連基準、前記データ・ユニットの特性、前記記憶デバイスの特性に基づいて相対的記憶値スコア（ＲＳＶＳ）を生成するコード・モジュールと、
前記複数の記憶デバイスについて計算された前記ＲＳＶＳに基づいて、前記複数の記憶デバイスの中から前記データ・ユニットを記憶するための記憶デバイスを選択するコード・モジュールと
を含む請求項１７に記載のシステム。
【請求項２９】
記憶デバイスの前記ＲＳＶＳが、
前記記憶デバイスによってサポートされる帯域幅と、
前記第１の配置規則の前記デバイス関連基準で指定されたデバイス帯域幅値と、
前記データ・ユニットを記憶するために割り振られた前記デバイスの総容量の一部を示す、前記記憶デバイスのために構成された所望の閾値容量と
個々のタイプのデータを記憶するために使用されている前記記憶デバイスの一部を示す、前記記憶デバイスの現在の使用量情報と
前記記憶デバイス上にデータを記憶するコストと
に基づいて計算され、
前記記憶デバイス・セット中の各記憶デバイスごとにＲＳＶＳを生成する前記コード・モジュールが、
前記記憶デバイスが前記第１の配置規則によって指定された前記帯域幅要求を満たすことができない場合は、ゼロの値を持つＲＳＶＳを生成するコード・モジュールと、
前記記憶デバイスが前記第１の配置規則によって指定された前記帯域幅要求を満たすことができ、かつ前記記憶デバイスに関連する容量閾値を超えずに前記データ・ユニットを記憶することができる場合は、ゼロより大きい値を持つＲＳＶＳを生成するコード・モジュールと、
前記記憶デバイスが前記第１の配置規則によって指定された前記帯域幅要求を満たすことができるが、前記記憶デバイスに関連する容量閾値を超えずに前記データ・ユニットを記憶することができない場合は、ゼロより小さい値を持つＲＳＶＳを生成するコード・モジュールと
を含む請求項２８に記載のシステム。
【請求項３０】
前記第１のセットの中から前記データ・ユニットを記憶するための記憶デバイスを選択する前記コード・モジュールが、最高のＲＳＶＳを持つデバイスを選択するコード・モジュールを含む請求項２９に記載のシステム。
【請求項３１】
配置規則の前記ＤＶＳが、前記配置規則の記憶される前記データ・ユニットに対する関連度を示し、
前記複数の記憶デバイスの中から前記データ・ユニットを記憶するための記憶デバイスを決定する前記コード・モジュールが、
（ａ）最高の関連度を示すＤＶＳを持つ配置規則を選択し、
（ｂ）前記選択された配置規則に基づいて前記複数のデバイスの中から第１の記憶デバイス・セットを識別し、
（ｃ）前記第１の配置規則の前記デバイス関連基準、前記データ・ユニットの特性、前記記憶デバイスの特性に基づいて、前記第１の記憶デバイス・セット中の各記憶デバイスごとに、前記記憶デバイスが前記選択された配置規則によって指定された帯域幅要求を満たすことができるかどうかを示すと共に前記記憶デバイスが前記記憶デバイスに関連する容量閾値を超えずに前記データ・ユニットを記憶することがデータ記憶かどうかも示す相対的記憶値スコア（ＲＳＶＳ）を生成し、
（ｄ）前記第１の記憶デバイス・セット中の少なくとも１台の記憶デバイスが前記選択された配置規則によって指定された前記帯域幅要求を満たすことができ、かつ前記記憶デバイスに関連する容量閾値を超えずに前記データ・ユニットを記憶することができるかどうか判定し、
（ｅ）前記第１の記憶デバイス・セット中の少なくとも１台の記憶デバイスが前記選択された配置規則によって指定された前記帯域幅要求を満たすことができ、かつ前記記憶デバイスに関連する容量閾値を超えずに前記データ・ユニットを記憶することができると判定された場合は、前記記憶デバイスについて生成されたＲＳＶＳに基づいて、前記選択された配置規則によって指定された前記帯域幅要求を満たすことができ、かつ前記記憶デバイスに関連する容量閾値を超えずに前記データ・ユニットを記憶することができる記憶デバイスを選択し、
（ｆ）前記第１のデバイス・セット中のどの記憶デバイスも前記選択された配置規則によって指定された前記帯域幅要求を満たすことができず、前記記憶デバイスに関連する容量閾値を超えずに前記データ・ユニットを記憶することもできない場合は、前記配置規則セットの中から、次に高い関連度を示すＤＶＳを持つ別の配置規則を選択し、
（ｇ）前記第１の配置規則によって指定された前記帯域幅要求を満たすことができ、かつ前記記憶デバイスに関連する容量閾値を超えずに前記データ・ユニットを記憶することのできる前記データ・ユニットを記憶するための記憶デバイスが識別されるまで、ステップ（ｂ）から（ｆ）を繰り返すコード・モジュールを含む請求項１７に記載のシステム。
【請求項３２】
配置規則の前記ＤＶＳが前記配置規則の記憶される前記データ・ユニットに対する関連度を示し、
前記複数の記憶デバイスの中から前記データ・ユニットを記憶するための記憶デバイスを決定する前記コード・モジュールが、
（ａ）最高の関連度を示すＤＶＳを持つ配置規則を選択し、
（ｂ）前記選択された配置規則に基づいて前記複数のデバイスの中から第１の記憶デバイス・セットを識別し、
（ｃ）前記第１の配置規則の前記デバイス関連基準、前記データ・ユニットの特性、前記記憶デバイスの特性に基づいて、前記第１の記憶デバイス・セット中の各記憶デバイスごとに、前記記憶デバイス上に前記データ・ユニットを記憶することの望ましさの度合いを示し、前記記憶デバイスが前記選択された配置規則によって指定された帯域幅要求を満たすことができるかどうかを示し、かつ前記記憶デバイスが前記記憶デバイスに関連する容量閾値を超えずに前記データ・ユニットを記憶することができるかどうかを示す相対的記憶値スコア（ＲＳＶＳ）を生成し、
（ｄ）前記第１の記憶デバイス・セット中の少なくとも１台の記憶デバイスが、前記選択された配置規則によって指定された前記帯域幅要求を満たすことができ、かつ前記記憶デバイスに関連する容量閾値を超えずに前記データ・ユニットを記憶することができるかどうか判定し、
（ｅ）前記第１の記憶デバイス・セット中の少なくとも１台の記憶デバイスが前記選択された配置規則によって指定された前記帯域幅要求を満たすことができ、かつ前記記憶デバイスに関連する容量閾値を超えずに前記データ・ユニットを記憶することができると判定された場合は、前記記憶デバイスについて生成されたＲＳＶＳに基づいて、前記選択された配置規則によって指定された前記帯域幅要求を満たすことができ、かつ前記記憶デバイスに関連する容量閾値を超えずに前記データ・ユニットを記憶することができる記憶デバイスを選択し、
（ｆ）前記第１のデバイス・セット中のどの記憶デバイスも前記選択された配置規則によって指定された前記帯域幅要求を満たすことができず、前記記憶デバイスに関連する容量閾値を超えずに前記データ・ユニットを記憶することもできない場合は、
前記第１の記憶デバイス・セットの中から、前記記憶ユニットを記憶することができ、前記第１の記憶デバイス・セット中の他のデバイスよりも前記データ・ユニットを記憶するのにより望ましいと前記デバイスについて生成された前記ＲＳＶＳによって示される第１の記憶デバイスを決定し、
候補デバイスとして記憶デバイスが識別されているかどうか判定し、
候補デバイスとして記憶デバイスがマークされている場合は、
前記第１の記憶デバイスが前記マークされた候補デバイスよりも前記データ・ユニットを記憶するのにより望ましいと前記第１のデバイスと前記マークされた候補デバイスとに関連するＲＳＶＳによって示される場合は、前記候補デバイスとして前記第１の記憶デバイスをマークし、
前記配置規則セットの中から、次に高い関連度を示すＤＶＳを持つ別の配置規則を選択し、
（ｇ）前記データ・ユニットを記憶するための記憶デバイスが識別されるまで、または前記配置規則セット中のすべての配置規則が処理されるまで、ステップ（ｂ）から（ｆ）を繰り返し、
（ｈ）前記配置規則セット中のすべての配置規則が処理されたが、前記データ・ユニットを記憶するための記憶デバイスが識別されなかった場合は、前記データ・ユニットを記憶するために前記候補デバイスとしてマークされた前記記憶デバイスを選択する
コード・モジュールを含む請求項１７に記載のシステム。
【請求項３３】
複数の記憶デバイスを含むストレージ環境でデータを記憶するための記憶デバイスを識別するための、コンピュータ可読記憶媒体上に記憶されたコンピュータ・プログラム製品であって、
データ・ユニットを記憶するための信号を受け取るコードと、
それぞれが前記記憶されるデータの１つまたは複数の特性に関連する１つまたは複数の条件を識別するデータ関連基準と、１つまたは複数の記憶デバイス特性に関連する１つまたは複数の条件を識別するデバイス関連基準とを含む、前記ストレージ環境のために構成された１つまたは複数の配置規則のセットを識別するコードと、
前記配置規則の前記データ関連基準と前記データ・ユニットの特性とに基づいて前記配置規則セットの各配置規則ごとにデータ値スコア（ＤＶＳ）を計算するコードと、
前記配置規則セットと、それに関連するＤＶＳ、前記複数の記憶デバイスの特性、記憶される前記データ・ユニットの特性に基づいて、前記複数の記憶デバイスの中から前記データ・ユニットを記憶するための記憶デバイスを決定するコードと
を含むコンピュータ・プログラム製品。
【請求項３４】
配置規則の前記ＤＶＳが、記憶される前記データ・ユニットの特性によって満たされる前記配置規則の前記データ関連基準で指定された前記１つまたは複数の条件の尺度を提供する請求項３３に記載のコンピュータ・プログラム製品。
【請求項３５】
配置規則の前記データ関連基準が、
データ・ユニットに関連するアクセス情報に関連する１つまたは複数の条件を含む使用基準と、
データ・ユニットの特性に関連する１つまたは複数の条件を含むユニット選択基準と
を含み、
前記配置規則セット中の各配置規則ごとにデータ値スコア（ＤＶＳ）を計算する前記コードが、
前記配置規則の前記使用基準と、記憶される前記データ・ユニットに関連するアクセス情報とに基づいて、前記配置規則の使用スコアを生成するコードと、
前記配置規則の前記ユニット選択基準と記憶される前記データ・ユニットの特性とに基づいて、前記配置規則のユニット選択スコアを生成するコードと、
前記使用スコアと前記ユニット選択スコアとに基づいて前記配置規則のＤＶＳを生成するコードと
を含む請求項３３に記載のコンピュータ・プログラム製品。
【請求項３６】
前記複数の記憶デバイスの中から、前記データ・ユニットを記憶するための前記記憶デバイスを決定する前記コードが、
前記配置規則セットに関連する前記ＤＶＳに基づいて前記配置規則セットの中から第１の配置規則を選択するコードと、
前記第１の配置規則の前記デバイス関連基準、前記データ・ユニットの前記特性、前記記憶デバイスの特性に基づいて、前記複数の記憶デバイス中の記憶デバイスごとに相対的記憶値スコア（ＲＳＶＳ）を計算するコードと、
前記複数の記憶デバイスについて計算された前記ＲＳＶＳに基づいて、前記複数の記憶デバイスの中から前記データ・ユニットを記憶するための記憶デバイスを選択するコードと
を含む請求項３３に記載のコンピュータ・プログラム製品。
【請求項３７】
記憶デバイスの前記ＲＳＶＳが、前記記憶デバイスによってサポートされる帯域幅に正比例し、前記記憶デバイスが閾値容量を超えずにデータを記憶できる程度に正比例し、かつ前記記憶デバイス上にデータを記憶するコストに反比例する請求項３６に記載のコンピュータ・プログラム製品。
【請求項３８】
記憶デバイスの前記ＲＳＶＳが前記記憶デバイスのアベラビリティに正比例する請求項３７に記載のコンピュータ・プログラム製品。
【請求項３９】
前記複数の記憶デバイスについて計算された前記ＲＳＶＳに基づいて、前記複数の記憶デバイスの中から前記データ・ユニットを記憶するための記憶デバイスを選択する前記コードが、
前記複数の記憶デバイスの中から最高のＲＳＶＳ値を持つ記憶デバイスを選択するコード
を含む請求項３７に記載のコンピュータ・プログラム製品。
【請求項４０】
記憶デバイスについて計算された前記ＲＳＶＳが、前記記憶デバイスが前記第１の配置規則の前記デバイス関連基準で指定されたデバイス帯域幅値をサポートできるかどうかを示す請求項３６に記載のコンピュータ・プログラム製品。
【請求項４１】
記憶デバイスについて計算された前記ＲＳＶＳが、前記記憶デバイスが前記記憶デバイスに関連する容量閾値を超えずに前記データ・ユニットを記憶できるかどうかを示す請求項３６に記載のコンピュータ・プログラム製品。
【請求項４２】
前記第１の配置規則を選択する前記コードが、最高のＤＶＳを持つ配置規則を前記第１の配置規則として選択するコードを含む請求項３６に記載のコンピュータ・プログラム製品。
【請求項４３】
最高のＤＶＳを持つ配置規則を選択する前記コードが、
前記最高のＤＶＳが複数の配置規則に関連する場合は、均衡を破る規則を使用して、前記複数の配置規則の中から１つの配置規則を前記第１の配置規則として選択するコード
を含む請求項４２に記載のコンピュータ・プログラム製品。
【請求項４４】
前記データ・ユニットを記憶するための前記記憶デバイスを決定する前記コードが、
前記配置規則セットについて計算されたＤＶＳに基づいて、前記複数の配置規則の中から第１の配置規則を選択するコードと、
前記第１の配置規則の前記デバイス関連基準に基づいて前記複数の記憶デバイスの中から第１の記憶デバイスのセットを識別するコードと、
前記第１の配置規則の前記デバイス関連基準、前記データ・ユニットの特性、前記記憶デバイスの特性に基づいて、前記第１の記憶デバイス・セット中の各記憶デバイスごとに相対的記憶値スコア（ＲＳＶＳ）を生成するコードと、
前記複数の記憶デバイスについて計算された前記ＲＳＶＳに基づいて、前記複数の記憶デバイスの中から前記データ・ユニットを記憶するための記憶デバイスを選択するコードと
を含む請求項３３に記載のコンピュータ・プログラム製品。
【請求項４５】
記憶デバイスの前記ＲＳＶＳが、
前記記憶デバイスによってサポートされる帯域幅と、
前記第１の配置規則の前記デバイス関連基準で指定されたデバイス帯域幅値と、
前記データ・ユニットを記憶するために割り振られた前記デバイスの総容量の一部を示す、前記記憶デバイスのために構成された所望の閾値容量と、
個々のタイプのデータを記憶するために使用されている前記記憶デバイスの一部を示す、前記記憶デバイスの現在の使用量情報と
前記記憶デバイス上にデータを記憶するコストと
に基づいて計算され、
前記第１の記憶デバイス・セット中の各記憶デバイスごとにＲＳＶＳを生成する前記コードが、
前記記憶デバイスが、前記第１の配置規則によって指定された前記帯域幅要求を満たすことができない場合は、ゼロの値を持つＲＳＶＳを生成するコードと、
前記記憶デバイスが、前記第１の配置規則によって指定された前記帯域幅要求を満たすことができ、かつ前記記憶デバイスに関連する容量閾値を超えずに前記データ・ユニットを記憶することができる場合は、ゼロより大きい値を持つＲＳＶＳを生成するコードと、
前記記憶デバイスが、前記第１の配置規則によって指定された前記帯域幅要求を満たすことができるが、前記記憶デバイスに関連する容量閾値を超えずに前記データ・ユニットを記憶することができない場合は、ゼロより小さい値を持つＲＳＶＳを生成するコードと
を含む請求項４４に記載のコンピュータ・プログラム製品。
【請求項４６】
前記第１のセットの中から前記データ・ユニットを記憶するための記憶デバイスを選択する前記コードが、最大のＲＳＶＳを持つ記憶デバイスを選択するコードを含む請求項４５に記載のコンピュータ・プログラム製品。
【請求項４７】
配置規則の前記ＤＶＳが、前記配置規則の記憶される前記データ・ユニットに対する関連度を示し、
前記複数の記憶デバイスの中から前記データ・ユニットを記憶するための記憶デバイスを決定する前記コードが、
（ａ）最高の関連度を示すＤＶＳを持つ配置規則を選択し、
（ｂ）前記選択された配置規則に基づいて前記複数のデバイスの中から第１の記憶デバイスのセットを識別し、
（ｃ）前記第１の配置規則の前記デバイス関連基準、前記データ・ユニットの特性、前記記憶デバイスの特性に基づいて、前記第１の記憶デバイス・セット中の各記憶デバイスごとに、前記記憶デバイスが前記選択された配置規則によって指定された帯域幅要求を満たすことができるかどうかを示すと共に前記記憶デバイスが前記記憶デバイスに関連する容量閾値を超えずに前記データ・ユニットを記憶することがデータ記憶かどうかも示す相対的記憶値スコア（ＲＳＶＳ）を生成し、
（ｄ）前記第１の記憶デバイス・セット中の少なくとも１台の記憶デバイスが前記選択された配置規則によって指定された前記帯域幅要求を満たすことができ、かつ前記記憶デバイスに関連する容量閾値を超えずに前記データ・ユニットを記憶することができるかどうか判定し、
（ｅ）前記第１の記憶デバイス・セット中の少なくとも１台の記憶デバイスが前記選択された配置規則によって指定された前記帯域幅要求を満たすことができ、かつ前記記憶デバイスに関連する容量閾値を超えずに前記データ・ユニットを記憶することができると判定された場合は、前記記憶デバイスについて生成されたＲＳＶＳに基づいて、前記選択された配置規則によって指定された前記帯域幅要求を満たすことができ、かつ前記記憶デバイスに関連する容量閾値を超えずに前記データ・ユニットを記憶することができる記憶デバイスを選択し、
（ｆ）前記第１のデバイス・セット中のどの記憶デバイスも前記選択された配置規則によって指定された前記帯域幅要求を満たすことができず、前記記憶デバイスに関連する容量閾値を超えずに前記データ・ユニットを記憶することもできない場合は、前記配置規則セットの中から、次に高い関連度を示すＤＶＳを持つ別の配置規則を選択し、
（ｇ）前記第１の配置規則によって指定された前記帯域幅要求を満たすことができ、かつ前記記憶デバイスに関連する容量閾値を超えずに前記データ・ユニットを記憶することのできる、前記データ・ユニットを記憶するための記憶デバイスが識別されるまで、ステップ（ｂ）から（ｆ）を繰り返す
コードを含む請求項３３に記載のコンピュータ・プログラム製品。
【請求項４８】
配置規則の前記ＤＶＳが前記配置規則の記憶される前記データ・ユニットに対する関連度を示し、
前記複数の記憶デバイスの中から前記データ・ユニットを記憶するための記憶デバイスを決定する前記コード・モジュールが、
（ａ）最高の関連度を示すＤＶＳを持つ配置規則を選択し、
（ｂ）前記選択された配置規則に基づいて前記複数のデバイスの中から第１の記憶デバイス・セットを識別し、
（ｃ）前記第１の配置規則の前記デバイス関連基準、前記データ・ユニットの特性、前記記憶デバイスの特性に基づいて、前記第１の記憶デバイス・セット中の各記憶デバイスごとに、前記記憶デバイス上に前記データ・ユニットを記憶することの望ましさの度合いを示し、前記記憶デバイスが前記選択された配置規則によって指定された帯域幅要求を満たすことができるかどうかを示し、かつ前記記憶デバイスが前記記憶デバイスに関連する容量閾値を超えずに前記データ・ユニットを記憶することができるかどうかを示す相対的記憶値スコア（ＲＳＶＳ）を生成し、
（ｄ）前記第１の記憶デバイス・セット中の少なくとも１台の記憶デバイスが、前記選択された配置規則によって指定された前記帯域幅要求を満たすことができ、かつ前記記憶デバイスに関連する容量閾値を超えずに前記データ・ユニットを記憶することができるかどうか判定し、
（ｅ）前記第１の記憶デバイス・セット中の少なくとも１台の記憶デバイスが前記選択された配置規則によって指定された前記帯域幅要求を満たすことができ、かつ前記記憶デバイスに関連する容量閾値を超えずに前記データ・ユニットを記憶することができると判定された場合は、前記記憶デバイスについて生成されたＲＳＶＳに基づいて、前記選択された配置規則によって指定された前記帯域幅要求を満たすことができ、かつ前記記憶デバイスに関連する容量閾値を超えずに前記データ・ユニットを記憶することのできる記憶デバイスを選択し、
（ｆ）前記第１のデバイス・セット中のどの記憶デバイスも前記選択された配置規則によって指定された前記帯域幅要求を満たすことができず、前記記憶デバイスに関連する容量閾値を超えずに前記データ・ユニットを記憶することもできない場合は、
前記第１の記憶デバイス・セットの中から、前記記憶ユニットを記憶することができ、前記第１の記憶デバイス・セット中の他のデバイスよりも前記データ・ユニットを記憶するのにより望ましいと前記デバイスについて生成された前記ＲＳＶＳによって示される第１の記憶デバイスを決定し、
候補デバイスとして記憶デバイスが識別されているかどうか判定し、
候補デバイスとして記憶デバイスがマークされている場合は、
前記第１の記憶デバイスが前記マークされた候補デバイスよりも前記データ・ユニットを記憶するのにより望ましいと前記第１のデバイスと前記マークされた候補デバイスとに関連するＲＳＶＳによって示される場合は、前記候補デバイスとして前記第１の記憶デバイスをマークし、
前記配置規則セットの中から、次に高い関連度を示すＤＶＳを持つ別の配置規則を選択し、
（ｇ）前記データ・ユニットを記憶するための記憶デバイスが識別されるまで、または前記配置規則セット中のすべての配置規則が処理されるまで、ステップ（ｂ）から（ｆ）を繰り返し、
（ｈ）前記配置規則セット中のすべての配置規則が処理されたが、前記データ・ユニットを記憶するための記憶デバイスが識別されなかった場合は、前記データ・ユニットを記憶するために前記候補デバイスとしてマークされた前記記憶デバイスを選択する
コードを含む請求項３３に記載のコンピュータ・プログラム製品。
【請求項４９】
複数の記憶デバイスを含むストレージ環境において、前記複数の記憶デバイスの中からデータを記憶するための記憶デバイスを識別するシステムであって、
データ・ユニットを記憶するための信号を受け取る手段と、
それぞれが前記記憶されるデータの１つまたは複数の特性に関連する１つまたは複数の条件を識別するデータ関連基準と、１つまたは複数の記憶デバイス特性に関連する１つまたは複数の条件を識別するデバイス関連基準とを含む、前記ストレージ環境のために構成された１つまたは複数の配置規則のセットを識別する手段と、
前記配置規則の前記データ関連基準と前記データ・ユニットの特性とに基づいて、前記配置規則セット中の各配置規則ごとにデータ値スコア（ＤＶＳ）を計算する手段と、
前記配置規則セットとそれに関連するＤＶＳ、前記複数の記憶デバイスの特性、記憶される前記データ・ユニットの特性に基づいて、前記複数の記憶デバイスの中から前記データ・ユニットを記憶するための記憶デバイスを決定する手段と
を含むシステム。
【発明の詳細な説明】
【関連出願】
【０００１】
（関連出願の相互引用）
本出願は、その全内容をあらゆる目的で参照によって本明細書に組み込む以下の出願の優先権を主張し、かつ仮出願ではない：
（１）２００１年８月３１日出願、米国仮特許出願第６０／３１６，７６４号（整理番号２１１５４−０００２００ＵＳ）；および
（２）２００２年２月２１日出願、米国仮特許出願第６０／３５８，９１５号（整理番号２１１５４−０００４００ＵＳ）。
また本願は、以下の出願の全内容もあらゆる目的で参照によって組み込む：
（１）２００１年１２月１４日出願、米国仮特許出願第６０／３４０，２２７号（整理番号２１１５４−０００３００ＵＳ）；および
（２）２００２年４月２５日出願、米国本特許出願第１０／１３３，１２３号（整理番号２１１５４−０００３１０ＵＳ）。
【技術分野】
【０００２】
本発明は、一般に、データの記憶と管理の分野に関し、より詳細には、ストレージ環境においてそのストレージ環境に対して構成された記憶ポリシに基づいてデータの記憶位置を決定する技法に関する。
【背景技術】
【０００３】
様々なコスト、容量、帯域幅その他の性能特性を有する記憶システムとデバイスを含む異種の複雑なストレージ環境が、従来の同種データ・ストレージ環境に急速に取って替わりつつある。その異種混合の性質のために、そうした環境でのデータ記憶の管理は困難で複雑な作業である。そうした異種混合データ・ストレージ環境での１つの重要な情報管理機能が、効率良くデータにアクセスできるようにする一方、そのデータ記憶に関連するコストを低減させるような方式で、種々の使用可能記憶デバイスの中のどこにデータを記憶するかを決定することである。
【０００４】
いくつかの従来方式のデータ・ストレージ環境においては、どこにデータを記憶するかの決定は一般に、そのデータ・ストレージ環境のユーザ（システム管理者など）によって手動で決定される。ユーザは、データ使用パターンと、そのデータを記憶するためのストレージ環境で使用可能な記憶デバイスの特性に基づいてその決定を行うことができる。したがって、そうした環境では、システム管理者は、頻度情報とデータ使用情報、データ・アクセス要求と性能要求、そのデータのユーザまたは消費者からのアクセス頻度情報を集める必要がある。また管理者は、データを記憶するのに使用可能な記憶デバイスの特性（コスト、容量その他の性能特性）を判定する必要もある。次いで管理者は、通常は、そのデータをどこに記憶すべきかについて知識や経験に基づく推量を行う。前述の手動の手法は、少数のデータ消費者をサポートする単純な同種のストレージ環境では実行可能であると考えられるが、そうした手法は今日の大規模で異種混合のストレージ環境では実際的でない。
【０００５】
現在、データ記憶意思決定プロセスの一部を自動化するいくつかの従来方式データ管理システムが使用可能である。例えば、オンライン記憶からオフライン記憶に（または１次バックアップ媒体から２次バックアップ媒体に）データを移動させるための階層記憶管理（ＨＳＭ）を実施する自動化データ・バックアップ・アプリケーションが使用可能である。しかし、従来方式のデータ管理システムは、現在、多数のデータ消費者やサーバ、ホストを含む大規模異種混合ストレージ環境を管理するためにシステム管理者によって求められる柔軟性や制御、自動化を提供しない。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
以上を考慮して、使用可能な記憶リソースの使用を最適化すると同時に効率良くデータにアクセスできる方式で最小限の介入でデータ記憶管理者が分散型データ及び記憶リソースを効率良く管理することのできる自動化された技法が求められている。
【課題を解決するための手段】
【０００７】
本発明の実施態様は、ストレージ環境のために構成された記憶ポリシに基づいてそのストレージ環境におけるデータの記憶位置を決定する自動化された技法を提供する。この記憶位置は、最小限の人的介入で使用可能な記憶リソースを最適化すると同時に効率の良いデータ・アクセスを可能にする方式で決定される。この記憶位置は、記憶されるデータに関連する特性や記憶デバイスの特性、そのストレージ環境のために構成された記憶ポリシに基づいて決定される。
【０００８】
本発明の一実施態様によれば、複数の記憶デバイスを含むストレージ環境でデータを記憶する記憶デバイスのための技法が提供される。本発明の一実施態様は、データ・ファイルを記憶するための信号を受け取る。次いで、この実施態様は、そのストレージ環境のために構成された１つまたは複数の配置規則のセットを識別する。各配置規則は、記憶されるデータの１つまたは複数の特性に関連する１つまたは複数の条件を識別するデータ関連基準、１つまたは複数の記憶デバイス特性に関連する１つまたは複数の条件を識別するデバイス関連基準を含む。配置規則のセット中の各配置規則ごとに、その配置規則のデータ関連基準とデータ・ファイルの特性とに基づいてデータ値スコア（ＤＶＳ）が計算される。次いで本発明の実施態様は、配置規則のセット、それに関連するＤＶＳ、複数の記憶デバイスの特性、記憶されるデータ・ファイルの特性に基づいて、複数の記憶デバイスの中から、そのデータ・ファイルを記憶する記憶デバイスを決定する。
【０００９】
上記、本発明の他の特徴、実施形態および利点は、以下の明細書、添付の特許請求の範囲および図面を参照すればより明らかになるであろう。
【発明を実施するための最良の形態】
【００１０】
本発明の実施形態は、データ・ストレージ環境でデータを記憶する自動化された技法を提供する。本発明の一実施形態は、異種混合ストレージ環境でそのストレージ環境のために構成された記憶ポリシに基づいてデータの記憶位置を決定する技法を提供する。したがって本発明の実施形態は、最小限の人的介入で使用可能な記憶リソースの使用を最適化すると同時に効率の良いデータ・アクセスを可能にする方式でデータを容易に記憶できる。
【００１１】
本発明の一実施形態によれば、異種混合データ・ストレージ環境に結合されたデータ管理システムは、データ管理機能とデータ記憶機能を自動化するように構成される。この実施形態では、データ管理システムは、データ及び記憶リソース使用パターンを監視、分析し、その使用パターンに基づいてデータの最適な記憶位置を決定するように構成される。また、このデータ管理システムは、データ及び記憶デバイスの特性と、そのストレージ環境のために構成された記憶ポリシとに基づいてデータの記憶位置を決定するようにも構成される。この記憶ポリシは、そのストレージ環境のユーザ（エンドユーザ、システム管理者、管理職など）によって構成される。
【００１２】
以下に述べる本発明の実施形態は、データ・ファイルの形で記憶されるデータの記憶位置を決定する技法を記述する。ただし、本発明の教示は、データ・ファイル以外に、ブロック・データなど他のデータ単位の記憶位置を決定するために使用することもできることを理解すべきである。したがって、以下に述べる本発明の実施形態は本発明の範囲を限定するためのものではない。
【００１３】
図１は、本発明の一実施形態を組み込むことのできる分散システム１００の簡略化した構成図である。分散システム１００は、複数の通信リンクを介して１つまたは複数の通信ネットワークに結合された複数のコンピュータ・システムと複数の記憶デバイスを含む。図１に示すように、分散システム１００は、通信ネットワーク１１２に結合された１つまたは複数のユーザ（クライアント）システム１０２を含む複数のコンピュータ・システムを含むとともに、データ管理サーバ（ＤＭＳ）１０４、アプリケーション・サービス提供（ＡＳＰ）サーバ１０６、インターネットなどの通信ネットワーク１１０への接続を提供するサーバ１０８、ファイル・サーバ１２２、データベース・サーバ１２４その他種々のサーバを含む複数のサーバ・システムをも含む。図１に示す分散コンピュータ・ネットワーク１００は、単に、本発明を組み込んだ一実施形態を例示するものにすぎず、特許請求の範囲に記載の本発明の範囲を限定するものではない。当分野の技術者であれば、他の変形形態、改変形態、代替形態を理解するはずである。
【００１４】
通信ネットワーク１１２や１１０など図１に示す通信ネットワークは、図１に示す様々なコンピュータ・システムと記憶デバイスの間の通信や情報交換の機構を提供する。これらの通信ネットワーク自体も、多くの相互接続されたコンピュータ・システムや通信リンクから構成することができる。例えば、通信ネットワーク１１２は、（図１に示すような）ＬＡＮ、広域ネットワーク（ＷＡＮ）、無線ネットワーク、インターネット、私設ネットワーク、公衆網、交換網、その他任意の適当な通信ネットワークとすることができる。同様に、通信ネットワーク１１０も、（図１に示すような）インターネットや他の任意のコンピュータ・ネットワークなど、他の任意の通信ネットワークとすることができる。
【００１５】
図１に示す様々なシステムを接続するために使用される通信リンクは、有線リンク、光リンク、衛星その他の無線通信リンク、波動リンクその他任意の情報通信の機構を含めて、様々なタイプのものとすることができる。これらの通信リンクを介した情報の通信を容易にするために様々な通信プロトコルを使用することができる。これらの通信プロトコルには、ＴＣＰ／ＩＰ、ＨＴＴＰプロトコル、拡張マークアップ言語（ＸＭＬ）、無線アプリケーション・プロトコル（ＷＡＰ）、ファイバ・チャネル・プロトコル、業界標準機関が開発中のプロトコル、供給元特有のプロトコル、カスタマイズされたプロトコルその他が含まれる。
【００１６】
図１に示すシステム１００などの分散システムに接続されたコンピュータ・システムは、情報またはサービスの要求する、あるいは情報またはサービスの記憶／提供に関連してそのコンピュータ・システムが果たす役割に応じて、「クライアント」または「サーバ」に分類することができる。ユーザが情報要求またはサービス要求を構成するために使用するコンピュータ・システムは、通常、「クライアント」コンピュータと呼ばれる。クライアント・システムから情報要求および／またはサービス要求を受け取り、それらの要求を満たすのに必要な処理を実施し、それらの要求に対応する結果／情報を要求元クライアント・システムに戻すコンピュータ・システムは、普通、「サーバ」システムと呼ばれる。クライアントの要求を満たすのに必要な処理は、単一のサーバ・システムによって実施することも、あるいは他のサーバに代行させることもできる。したがって、図１に示すサーバ・システムは、情報を提供し、かつ／または１つまたは複数のクライアント・コンピュータから受け取った要求によって求められるサービスを提供するように構成される。ただし、個々のコンピュータ・システムがサーバとクライアントの両方として機能することもできることを理解すべきである。
【００１７】
分散システム１００のユーザは、ユーザ・システム１０２を使用して図１に示す１つまたは複数のコンピュータ・システムあるいは記憶デバイスによって記憶されたデータにアクセスすることができる。図１に示すように、ユーザ・システム１０２は、１つまたは複数の通信リンクを介して通信ネットワーク１１２に結合されている。ユーザ・システム１０２は、一般に、サーバ・システムにデータとサービスを要求するクライアントとして機能する。またユーザは、ユーザ・システム１０２を介して図１に示す他のシステムと対話することもできる。例えばユーザは、クライアント・システム１０２を使用してデータ管理サーバ１０４と対話することができる。ユーザ・システム１０２は、パーソナル・コンピュータ、携帯式コンピュータ、ワークステーション、コンピュータ端末、ネットワーク・コンピュータ、メインフレーム、キオスク、携帯情報端末（ＰＤＡ）、携帯電話などの通信デバイス、その他任意のデータ処理システムを含めて、様々なタイプのものとすることができる。
【００１８】
図１に示すサーバ・システムの中で、ＤＭＳ１０４が、図１に示すストレージ環境でデータの記憶位置を決定する自動化された技法を提供する処理を実施する。ＳＳＰサーバ１０８は通信ネットワーク１１０へのアクセスを提供する。ファイル・サーバ１２２はディレクトリやファイル・システムを管理する。データベース・サーバ１２４はデータベースを記憶すると共にデータベース照会を処理する。ＡＳＰサーバ１０６はアプリケーション・サービスを提供する。
【００１９】
前述のように、本発明の一実施形態によれば、ＤＭＳ１０４は、データの記憶を自動化すると共に分散システム１００のデータを管理するための処理を実施する。この処理は、ＤＭＳ１０４によって実行されるソフトウェア・モジュール、ＤＭＳ１０４に結合されたハードウェア・モジュール、あるいはそれらの組合せによって実施される。本発明の一実施形態によれば、ＤＭＳ１０４は、記憶されるデータに関連する特性、データを記憶するのに使用可能な記憶デバイスの特性、そのストレージ環境のために構成された記憶ポリシに基づいてデータの記憶位置を決定する。この記憶ポリシは、そのストレージ環境のユーザ（エンドユーザ、システム管理者、管理職など）によって構成される。
【００２０】
ＤＭＳ１０４が本発明の教示に従って処理を実施するために使用する情報は、ＤＭＳ１０４からアクセス可能な記憶位置に記憶される。例えば、図１に示すように、ＤＭＳ１０４が使用する、データ、記憶デバイス、記憶ポリシに関連する情報を、ＤＭＳ１０４からアクセス可能な記憶リポジトリまたはデータベース１２６に記憶する。図１に示すように、データベース１２６に記憶される情報は、システム管理者が構成することのできる１つまたは複数の記憶ポリシ１２８に関連する情報、デバイス特性情報１３０、データ特性情報１３２、その他の情報１３４を含むことができる。以下に、記憶ポリシ情報１２８、デバイス特性情報１３０、データ特性情報１３２に関連する詳細について述べる。この情報を、図１に示す単一のデータベースに記憶することも、別々のデータベースに記憶することもできる。この情報は、当分野の技術者に知られている他の様々な形式で記憶されてもよいことを理解すべきである。この情報を、メモリ・デバイス、ディスク、テープ、コンピュータ・システムのメモリなどの記憶デバイス上に記憶することもできる。
【００２１】
本発明の一実施形態によれば、分散システム１００は、データの記憶および／またはバックアップに使用できる複数の記憶デバイスを含む。図１に示すように、この記憶デバイスには、様々な専用記憶デバイス１１６、図１に示す１つまたは複数のコンピュータ・システム、ストレージ・エリア・ネットワーク（ＳＡＮ）１１４などのストレージ・ネットワークに含まれるデバイス、ネットワーク接続ストレージ（ＮＡＳ）（図示せず）その他が含まれる。記憶デバイスの例には、テープ、ディスク・ドライブ、光ディスク、ＲＡＩＤ構造、ソリッド・ステート記憶、さらには他のタイプのコンピュータ可読媒体が含まれる。一般に、「記憶デバイス」という用語は、ディジタルまたは電子形式でデータを記憶することのできる任意のシステム、サブシステムス、デバイス、コンピュータ媒体、ネットワークその他類似のシステムまたは機構を意味している。この記憶デバイスを、ＤＭＳ１０４に直接結合することも、通信ネットワーク１１２などの通信ネットワークを介してＤＭＳ１０４に結合することも、ストレージ・ネットワーク（ストレージ・エリア・ネットワーク（ＳＡＮ）１１４など）を介してＤＭＳ１０４に結合することも、他の技法によることもできる。
【００２２】
当分野の技術者には知られているように、記憶デバイスは、その記憶デバイスによって記憶されたデータへのアクセスに必要な時間量（「データ・アクセス時間」と呼ばれる）によって特徴付けられる。例えば、記憶デバイスは、オンライン記憶デバイス、ニアライン記憶デバイス、オフライン記憶デバイス、その他として特徴付けられる。オンライン記憶デバイスでのデータ・アクセス時間は、一般に、ニアライン記憶デバイスでのアクセス時間より短い。オフライン記憶でのアクセス時間は、一般に、ニアライン記憶デバイスでのアクセス時間より長い。オフライン記憶デバイスは、一般に、ＤＭＳ１０４から容易にアクセスできないデバイスである。オフライン記憶デバイスの例には、テープ、光デバイスなどのコンピュータ可読記憶媒体が含まれる。オフライン記憶デバイスのデータにアクセスするにはユーザ対話が必要とされることがある。例えば、テープをオフライン・デバイスとして使用する場合、ユーザは、事前にそのテープをＤＭＳ１０４からアクセスできるようにしておかなければ、ＤＭＳ１０４によってそのテープに記憶されたデータを復元することができないこともある。
【００２３】
他にも様々な基準を使用して記憶デバイスを分類し、または特徴付けることができることを理解すべきである。記憶デバイスの分類は本発明によって必要とされず、特許請求の範囲に記載の本発明の範囲を限定するものと解釈すべきではない。
【００２４】
前述のように、本発明の一実施形態によれば、ＤＭＳ１０４は、本発明の教示に従ってデータを記憶、管理する処理を実施するように構成される。図２は、本発明の一実施形態によるＤＭＳ１０４の簡略化した構成図である。図２に示すように、ＤＭＳ１０４は、バス・サブシステム２０４を介していくつかの周辺デバイスとやりとりする少なくとも１つのプロセッサ２０２を含む。これらの周辺デバイスには、メモリ・サブシステム２０８とファイル記憶サブシステム２１０を含む記憶サブシステム２０６、ユーザ・インターフェース入力デバイス２１２、ユーザ・インターフェース出力デバイス２１４、ネットワーク・インターフェース・サブシステム２１６が含まれる。入出力デバイスは、ＤＭＳ１０４とのユーザ対話を可能にする。ユーザは、人間のユーザ、デバイス、プロセス、別のコンピュータなどとすることができる。
【００２５】
ネットワーク・インターフェース・サブシステム２１６は、他のコンピュータ・システム、ネットワーク、デバイスへのインターフェースである。ネットワーク・インターフェース・サブシステム２１６の実施形態には、イーサネット・カード、モデム（電話、衛星、ケーブル、ＩＳＤＮなど）、（非同期）ディジタル加入者線（ＤＳＬ）ユニットなどが含まれる。
【００２６】
ユーザ・インターフェース入力装置２１２には、キーボード、マウス、トラックボール、タッチパッド、グラフィックス・タブレットなどのポインティング・デバイス、スキャナ、バーコード・スキャナ、ディスプレイに組み込まれたタッチスクリーン、音声認識システムなどの音響入力デバイス、マイク、さらには他のタイプの入力装置が含まれ得る。一般に、「入力デバイス」という用語には、ＤＭＳ１０４に情報を入力するためのあらゆる可能なタイプのデバイスや方法を含む。
【００２７】
ユーザ・インターフェース出力装置２１４には、表示サブシステム、印刷装置、ファックス機が含まれ、さらに音響出力デバイスなど視覚表示以外のデバイスも含まれる。表示サブシステムは、陰極線管（ＣＲＴ）でも、液晶ディスプレイ（ＬＣＤ）などの平面型デバイスでも、あるいは投射デバイスでもよい。またこの表示サブシステムは、音響出力デバイスによるものなど、視覚表示以外のものを設けることもできる。一般に、「出力デバイス」という用語は、ＤＭＳ１０４から情報を出力するためのあらゆる可能なタイプのデバイスや方法を含む。
【００２８】
記憶サブシステム２０６は、ＤＭＳ１０４の機能を提供する基本的なプログラミングやデータ構造を記憶する。例えば、本発明の一実施形態によれば、記憶サブシステム２０６は本発明の機能を実装するソフトウェア・モジュールを記憶することができる。これらのソフトウェア・モジュールはプロセッサ２０２によって実行される。分散環境では、このソフトウェア・モジュールを複数のコンピュータ・システム上に記憶し、それをその複数のコンピュータ・システムのプロセッサによって実行することができる。記憶サブシステム２０６は、本発明の教示に従って情報を記憶するのに使用することができる、データや様々なデータベースを記憶するリポジトリを設けることもできる。例えば、記憶サブシステム２０６には、記憶ポリシ情報１２８、デバイス特性情報１３０、データ特性情報１３２を記憶することができる。記憶サブシステム２０６は、メモリ・サブシステム２０８とファイル／ディスク記憶サブシステム２１０を含むこともできる。
【００２９】
メモリ・サブシステム２０８は、プログラム実行中の命令とデータの記憶のためのメイン・ランダム・アクセス・メモリ（ＲＡＭ）２１８や固定命令が記憶された読取り専用メモリ（ＲＯＭ）２２０を含めて、いくつかのメモリを含むことができる。ファイル記憶サブシステム２１０は、プログラムとデータ・ファイルを永続的（不揮発性）に記憶し、これには、ハード・ディスク・ドライブ、関連する取り外し可能媒体を備えるフロッピー（登録商標）・ディスク・ドライブ、コンパクト・ディスク読取り専用メモリ（ＣＤ−ＲＯＭ）ドライブ、光ドライブ、取り外し可能媒体カートリッジ、その他類似の記憶媒体が含まれる。これらのドライブの１つまたは複数は、他の接続されたコンピュータ上にあるリモート位置に位置することもできる。
【００３０】
バス・サブシステム２０４は、ＤＭＳ１０４の様々なコンポーネントやサブシステムを目的通りに相互にやりとりさせる機構を提供する。ＤＭＳ１０４の様々なサブシステムやコンポーネントは、同じ物理位置にある必要はなく、ネットワーク１００内の様々な位置に分散していてもよい。バス・サブシステム２０４は単一のバスとして概略的に示されているが、このバス・サブシステムの代替実施形態では複数のバスを利用する。
【００３１】
ＤＭＳ１０４自体は、パーソナル・コンピュータ、携帯式コンピュータ、ワークステーション、ネットワーク・コンピュータ、メインフレーム、キオスク、携帯情報端末（ＰＤＡ）、携帯電話などの通信デバイス、その他任意のデータ処理システムを含めて、様々なタイプのものとすることができる。コンピュータやネットワークは絶え間なく変化しているので、図２に示すＤＭＳ１０４の説明は、このコンピュータ・システムの好ましい実施形態の一具体例を例示することを意図したものにすぎない。例えば、ＡＭＤのＡｔｈｌｏｎ（商標）クラスのマイクロプロセッサ、インテル社のＰｅｎｔｉｕｍ（商標）クラスまたはＣｅｌｅｒｏｎ（商標）クラスのマイクロプロセッサ、モトローラ社のＰｏｗｅｒＰＣ（商標）Ｇ３またはＧ４マイクロプロセッサ、トランスメタ社のＣｒｕｓｏｅ（商標）プロセッサなど、他のタイプのプロセッサが企図される。さらに、代替実施形態では、マイクロソフトのＷｉｎｄｏｗｓＮＴ（商標）、サン・マイクロシステムズのＳｏｌａｒｉｓ、ＬＩＮＵＸ、ＵＮＩＸ（登録商標）、アップル・コンピュータ社のＭＡＣ  ＯＳ  Ｘなどを含めて、他のタイプのプロセッサが企図される。図２に示すシステムよりコンポーネントの多いまたは少ない他の多くの構成が可能である。
【００３２】
前述のように、本発明の教示によれば、ＤＭＳ１０４は、そのストレージ環境のために構成された１つまたは複数の記憶ポリシ、記憶されるデータの特性を識別する情報、さらにはそのストレージ環境でデータを記憶するのに使用可能な記憶デバイスの特性を識別する情報に基づいて、分散ネットワーク１００でデータを記憶する位置を決定する。
【００３３】
本発明の一実施形態によれば、記憶ポリシは、いつ、どのようにデータを記憶し、かつ／または移行するかを指定する。記憶ポリシは、そのストレージ環境の管理者が構成することのできる１つまたは複数の規則を含む。これらの規則は、そのストレージ環境でいつデータを記憶するか、あるいはある記憶位置から別の記憶位置にいつデータを移行するかを指定する規則を含むこともある。またこれらの規則は、そのデータが記憶される記憶位置を指定する規則を含んでいてもよい。この記憶位置は、データを記憶するために使用される記憶デバイスを指定することができ、その記憶デバイス上のどこに（ボリューム、ディレクトリなど）データを記憶するかを指定することもできる。
【００３４】
本発明の一実施形態によれば、記憶ポリシは１つまたは複数の「配置規則」と複数の「移行規則」を含む。配置規則は、データを記憶する記憶デバイスを選択するために使用される基準を識別する。一実施形態では、各配置規則はポリシ・エンジンでＩＦ節．．．ＴＨＥＮ節として実装される。この文節は、評価する必要のあるＩＦ節に関連する条件やＩＦ節が満たされたときに実施される動作を記述する。ＩＦ節では、様々なデータの条件と特性（データのタイプ、データ・ファイルのサイズ、ファイルの所有者など）、そのデータを記憶する記憶デバイスの条件と特性（記憶デバイスの使用可能容量、記憶デバイスの帯域幅容量、記憶デバイス上にデータを記憶するコストなど）を指定することができる。本発明のためには、その動作は、通常、個々の記憶位置にデータを記憶すること、または第１の記憶位置から別の記憶位置にデータを移行することを含む。
【００３５】
移行規則は、１つまたは複数の配置規則がいつ評価されるかを記述する。一実施形態では、各移行規則はポリシ・エンジンでＷＨＥＮ節として実装される。このＷＨＥＮ節は、一般に、ＤＭＳ１０４が監視することのできる１つまたは複数のイベント（時間と共に変化する時間的イベントなど）を指定する。ＷＨＥＮ節で指定できるイベントの例には、データ・ファイルが作成された、データ・ファイルが変更された、記憶ボリュームの使用量が一定の閾値を超え又は下回った、時間関連イベントが発生したなどが含まれる。ＷＨＥＮ節は、ＷＨＥＮ節で指定された１つまたは複数のイベントが発生し、または真であると評価されたときに満たされ、またはＴＲＵＥであると評価される。
【００３６】
ＷＨＥＮ節またはＩＦ節では、１つまたは複数の論理演算子または複数のブール演算子を使用して複数のイベントまたは条件を結合することができる。例えば、ＡＮＤ、ＯＲ、ＮＯＴなどのブール演算子を使用することができる。前述のように、ＩＦ節は、ＷＨＥＮ節がＴＲＵＥであると評価されたときに限り評価される。ＩＦ．．．ＴＨＥＮ節とＷＨＥＮ節に関連するさらなる詳細は、その全内容をあらゆる目的のために参照によって本明細書に組み込む、２００１年１２月１４日出願の米国仮特許出願第６０／３４０，２２７号（整理番号２１１５４−０００３００ＵＳ）、２００２年４月２５日出願の米国本出願第１０／１３３，１２３号（整理番号２１１５４−０００３１０ＵＳ）に記載されている。
【００３７】
本発明の一実施形態によれば、１つの記憶ポリシに関連する規則は、ＤＭＳ１０４が、ＤＭＳ１０４によって管理されるファイルなど何らかのデータの記憶位置を決定するための信号を受け取ったときに評価される。この信号を、本発明のユーザが手動でトリガすることも、別のアプリケーションまたはプロセスから受け取った信号に応答してトリガすることもできる。また、記憶ポリシ規則は、容量均衡化を実施する間のあるデバイスから別のデバイスへの移行のため、負荷均衡化のため、あるいは使用可能なデータおよび／またはスペースの増大など他の記憶管理タスクを実施するためにファイルが選択されるときにも評価されてもよい。ＤＭＳ１０４は、別のアプリケーションまたはプロセスから受け取った信号に応答して、そのストレージ環境のユーザがトリガする信号に応答して容量均衡化を実施することもできる。
【００３８】
本発明の一実施形態によれば、デバイス特性情報１３０やデータ特性情報１３２などの情報が、記憶ポリシによって指定された１つまたは複数の記憶規則を評価するための入力パラメータとして使用される。例えば、デバイス特性１３０とデータ特性１３２は、ＷＨＥＮ節とＩＦ．．．ＴＨＥＮ節を評価するための入力として使用される。
【００３９】
本発明の一実施形態によれば、デバイス特性情報１３０は、データその他の情報を記憶するためにそのストレージ環境で使用可能な記憶デバイスに関連する情報を含む。ＤＭＳ１０４はこのデバイス特性情報１３０を使用して記憶ポリシで定義された規則を評価し、データを記憶するための最適な位置を決定する。本発明の一実施形態によれば、記憶デバイスのデバイス特性情報１３０には以下のものが含まれる。
【００４０】
（１）使用可能な容量情報：この情報は、その記憶デバイスの使用可能な記憶容量を示す。この値は、普通、その記憶デバイスの総記憶容量のパーセンテージで表される。例えば、ある記憶デバイスの総記憶容量が１００メガバイトであり、４０メガバイトが空いている（すなわち６０メガバイトはすでに使用されている）場合は、その記憶デバイスの使用可能容量は４０％使用可能と表示される。この値を、空き記憶容量（メガバイト、ギガバイトなど）で表すこともできる。ＤＭＳ１０４が記憶デバイスのためにその実際の使用量を検査することによって、この情報が動的に監視、追跡される。
【００４１】
（２）コスト情報：この情報は、記憶デバイス上にデータを記憶するコストを示す。このコストは、単位メモリ当たりのドル数（例えばドル／ギガバイト、ドル／メガバイトなど）で測ることができる。本発明のシステム管理者またはユーザがこの情報を構成することができる。
【００４２】
（３）サポートされる帯域幅情報：この情報は、普通、単位時間当たりの単位データ（Ｍｂｐｓすなわちメガビット／秒など）で測られ、記憶デバイスの帯域幅容量を表す。代替実施形態では、この情報を表すために定性的分類を使用することもできる。例えば、１台の記憶デバイスでサポートされる帯域幅を「高」、「中」、「低」と分類することができる。各定性的分類は、事前設定された単位時間当たりの単位データの値の範囲に対応させることができる。本発明のシステム管理者またはユーザがこの情報を構成することができる。
【００４３】
（４）所望の閾値情報：この情報は、デバイス上にデータを記憶するためにシステム管理者またはユーザが構成することのできる１つまたは複数の閾値を示す。例えば、システム管理者は、デバイスの記憶容量閾値を指定することができる。各閾値は、その記憶デバイスの総容量のパーセンテージとして表すことができる。個々の記憶デバイスでは、そのデバイス上に記憶されるデータの個々のタイプでの閾値を定義することもできる。データ・タイプに関連する各閾値は、ユーザが個々のタイプのデータを記憶するために割り振ることを望むそのデバイスの総容量のパーセンテージを示すことができる。例えば、ユーザは、ＭＳ  Ｏｆｆｉｃｅファイルを記憶するためには記憶デバイスの総容量の最大１５％までしか使用できない、あるいは、電子メール・データを記憶するためには記憶デバイス容量の総容量の最大２５％までしか使用できないなどのように構成させることができる。
【００４４】
（５）ファイル・サイズ要件：この情報は、その記憶デバイス上にファイルを記憶することが可能になる前のデータ・ファイルの閾値サイズ（最小閾値または最大閾値）を示す。例えば、ファイル・サイズ要件情報は、ファイルが一定のサイズ以上でなければそれをデバイス上に記憶することができない、あるいはある一定のサイズを上回るファイルはその記憶デバイス上に記憶することができないなどと指示することができる。本発明のユーザがデバイスのファイル・サイズ要件を構成することができる。
【００４５】
（６）アベラビリティ特性：これは、デバイスの相対的アベラビリティ（高、中、低など）についての管理者の認識を表す定性値である。例えばこの定性値は、そのデバイスの複製の度合い（例えばＲＡＩＤレベル：ＲＡＩＤ１０、ＲＡＩＤ５は高、ＲＡＩＤ０、ＲＡＩＤ１は中など）に基づいて設定することができる。アベラビリティ特性に影響を与える可能性のある他の要因には、冗長電源数、冗長制御装置数、そのデバイスへの複数のアクセス・パス数などの使用可能なハードウェア機能が含まれる。
【００４６】
本発明の代替実施形態では、デバイス特性情報１３０に他の様々なタイプの情報を含ませることもできることを理解すべきである。さらに、本発明の代替実施形態では、デバイス特性情報１３０が前述の情報より多い、または少ない情報を含むこともある。
【００４７】
システム管理者は、１台または複数の記憶デバイスをボリュームまたはボリューム・グループにグループ化することもできる。１つのボリュームは、１つまたは複数の記憶デバイスに基づく１つの識別可能な記憶スペース単位を表す。例えば、類似の静的特性を有する記憶デバイスを１つのボリューム・グループまたはセットにグループ化することができる。また、１台の記憶デバイスを１つまたは複数の別個に識別可能なボリュームに分割することもできる。使用可能容量情報などの情報は、１つのボリューム・グループ中の各ボリューム（または記憶デバイス）ごとに異なることもあることを理解すべきである。したがって、１ボリューム・グループ中の各ボリュームは、ＤＭＳ１０４で個々に監視することができる。
【００４８】
前述のように、デバイス特性情報１３０に加えてデータ特性情報１３２も、記憶ポリシで指定された１つまたは複数の記憶規則を評価するためのパラメータとして使用される。本発明の一実施形態によれば、データ特性情報１３２は記憶されるデータに関連する情報を含む。本発明の一実施形態を説明するために、このデータはファイル（「データ・ファイル」）の形で記憶されるとする。本発明の代替実施形態では、他の様々な技法または方法を用いてデータを記憶することができることを理解すべきである。本発明の一実施形態によれば、各データ・ファイルごとに、そのデータ・ファイルに関連するデータ特性情報１３２は以下のものを含むことができる。
【００４９】
（１）データの関連性情報（「関連性スコア」）：この情報は、管理者がそのデータ・ファイルに割り当てた優先度を示す値を表す。例えば、本発明の一実施形態によれば、ユーザまたは管理者は０から１の範囲の数を割り当てることができ、０は重要性が最も低く１は重要性が最も高い。この関連性スコアは、ファイル・タイプと所有者のどんな組合せにも割り当てることができ、管理者が明示的な割り当てを行わなかったときはデフォルトの関連性スコアが使用される。例えば、コンテンツ提供者は、すべてのＪＰＥＧファイルと製作グループによって所有されるファイルに他のファイルよりも高いスコアを割り当てることができる。
【００５０】
（２）ファイル・サイズ情報：これはデータ・ファイルのサイズを示す。
【００５１】
（３）ファイル・タイプ情報：これはデータ・ファイルによって記憶されるデータのタイプを示す。データ・ファイルは様々なタイプのものとすることができる。これらのタイプは、ストレージ環境のユーザが定義することも、あるいはストレージ環境によって定義することもできる。ファイル・タイプの例には、イメージ・ファイル、電子メール・ファイル、ＭＳ  Ｏｆｆｉｃｅファイルなどが含まれる。
【００５２】
（４）ファイル所有権情報：この情報はデータ・ファイルの所有者を示す。一般に、データの作成者がそのファイルの所有者として指定される。
【００５３】
（５）データ帯域幅要求情報：この情報はデータ・ファイルの帯域幅要求を示す。この情報はファイルの記憶位置を決定するために使用される。一般に、ストレージ環境のユーザまたはシステム管理者がこの情報を構成する。
【００５４】
（６）ファイル・アクセス情報：この情報はデータ・ファイルに関連するファイル・アクセス・パターンを示す。例えば、この情報には、ファイルがいつ作成またはアクセスされたかに関連する情報、ファイルにアクセスする人の識別、ファイルの最終アクセス日時その他の類似情報が含まれる。この情報はＤＭＳ１０４で自動的に監視される。
【００５５】
（７）現在のファイル位置情報：この情報はファイルの現在位置を示す。
【００５６】
本発明の代替実施形態では、データ特性情報１３２に他の様々なタイプの情報を含ませることもできることを理解すべきである。さらに、本発明の代替実施形態では、データ特性情報１３２が前述の情報より多い、または少ない情報を含むこともある。
【００５７】
システム管理者はデータ・グループを定義することもできる。各データ・グループは、類似の特性を共有する１つまたは複数のデータ・ファイルを含むことができる。
【００５８】
前述のように、データ特性情報１３２とデバイス特性情報１３０は、記憶ポリシに従って定義される移行規則と配置規則へのパラメータとして働く。前述のように、配置規則は、移行規則によって指定された条件が満たされた後にはじめて評価される。本発明の一実施形態によれば、各配置規則は以下の部分を含むことができる。
（１）データ使用基準情報
（２）ファイル選択基準情報
（３）位置制約基準情報
「データ関連基準」という用語を使用してデータ使用基準情報とファイル選択基準情報を指すことができるが、それはこれらの情報が記憶されるデータに関連する条件を含むからである。「デバイス関連基準」という用語を使用して位置的制約情報を指すことができるが、それはこの情報が記憶デバイスに関連する条件を含むからである。
【００５９】
図３に本発明の一実施形態による配置規則の例を示す。図３では、表３００の各行３０８は配置規則を指定する。表３００の列３０２は各規則ごとのファイル選択基準情報を識別し、表３００の列３０４は各配置規則ごとのデータ使用基準情報を識別し、表３００の列３０６は各規則ごとの位置制約基準情報を識別する。
【００６０】
「ファイル選択基準情報」は、特定の配置規則を満たす１組のデータ・ファイルを識別する情報を指定する。本発明の一実施形態によれば、配置規則の選択基準情報は、ファイル・タイプ、ファイルの関連性スコア、ファイル所有者など、データ特性パラメータに関連する１つまたは複数の文節（または条件）を指定する。各文節は、絶対値（ファイル・タイプは「Ｏｆｆｉｃｅファイル」であるなど）または不等式（ファイルの関連性スコア≧０．５など）として表すことができる。ブール接続子によって複数の文節を接続して（ファイル・タイプは「電子メール・ファイル」であるＡＮＤファイル所有者は「ジョン・ドウ」である）ブール式を形成することもできる。ファイル選択基準情報は、例えば図３に示す配置規則３０８−６と３０８−７でのファイル選択基準のように空欄にしておく（すなわち構成しない、またはＮＵＬＬ値に設定する）こともある。本発明の一実施形態によれば、ファイル選択基準情報はデフォルトのＮＵＬＬ値に設定される。空のまたはＮＵＬＬのファイル選択基準は有効であり、すべてのファイルが選択されていること、またはそれらがその配置規則を満たしていることを示す。
【００６１】
「データ使用基準情報」はデータ・ファイルに関連するファイル・アクセス情報に関連する基準を指定する。例えば、個々の配置規則では、この情報は特定の日付範囲内にあるデータ・ファイルに関連する日時（タイムスタンプなど）を指定することができる。このタイムスタンプは、作成日付、ファイルが最後に変更された日付、ファイルが最後にアクセスされた日付などに対応する。この基準は、ブール接続子を使用して接続されたファイル・アクセス情報に関連する１つまたは複数の文節または条件を使用して指定される。データ使用基準文節は、等価条件または不等価条件として指定される。データ使用基準の一例が「７日前から３０日前の間に最後にアクセスされたファイル」（図３に示す配置規則３０８−２に対応する）である。本発明の管理者またはユーザがこの基準を設定することができる。
【００６２】
個々の配置規則での「位置制約情報」は、個々の配置規則に基づいてデータを記憶するために選択された記憶デバイスによって満たされる必要のある１つまたは複数の制約条件を指定する。したがって、位置制約情報は、一般に、記憶デバイスに関連するパラメータを指定する。位置制約情報は、その配置規則に適用可能な制約条件がないことを示すために、空欄にしておくこともＮＵＬＬに設定することもできる（図３に示す配置規則３０８−３に対応する位置制約情報など）。本発明の一実施形態によれば、この制約情報は、ＬＯＣＡＬ（配置規則３０８−１と３０８−６での位置制約情報など）に設定することができ、これはデータ・ファイルがローカル（そのデータ・ファイルの作成に使用されたデバイスに対してローカル）の記憶デバイス上に記憶され、別の記憶デバイスには移動も移行もされないことを示唆する。データ・ファイルを記憶するためにデータ・ファイルの位置制約情報で特定のボリューム・グループ、または特定のデバイスを指定することもできる。最小帯域幅要求（帯域幅≧１０ＭＢ／ｓなど）を指定して、その制約条件を満たす記憶デバイス上だけにそのデータを記憶できることを示すこともできる。他の様々な制約条件または要件（ファイル・サイズ、アベラビリティなどに関連する制約条件など）を指定することもできる。位置制約情報によって指定される制約条件は、一般に、その位置制約条件を満たさないデバイス上にはデータ・ファイルを記憶できないことを示唆する厳格な制約条件である。
【００６３】
図４は、本発明の一実施形態による、データ・ファイルを記憶するためのストレージ環境から、そのストレージ環境のために構成された記憶ポリシに基づいて記憶デバイスを選択する方法を示す簡略化したハイレベル流れ図４００である。この方法は、ＤＭＳ１０４によって、あるいはＤＭＳ１０４を他の処理システムと関連付けることによって実施することができる。以下で述べる実施形態では、この方法はＤＭＳ１０４によって実施される。ＤＭＳ１０４のプロセッサ２０２によって実行されるソフトウェア・モジュール、またはＤＭＳ１０４に結合されたハードウェア・モジュール、あるいはそれらの組合せによってこの方法を実施することができる。図４に示す流れ図４００は、単に本発明を組み込んだ一実施形態を例示するためのものにすぎず、特許請求の範囲に記載された本発明の範囲を限定するものではない。当分野の技術者であれば、変形形態、改変形態、代替形態を理解するはずである。
【００６４】
図４に示すように、処理は、ＤＭＳ１０４が記憶ポリシの評価をトリガする信号を受け取ったときに開始する（ステップ４０２）。この信号を、別のシステムまたはアプリケーションから自動的に受け取ることも、本発明のユーザ（そのストレージ環境のシステム管理者など）が手動で生成させることもできる。多種多様なイベントによってこの信号の生成をトリガすることができる。例えば、記憶容量の閾値に達したとき、／またはそのストレージ環境に１つまたは複数のデータ・ファイルが記憶されるときにこの信号を生成することができる。そのストレージ環境に記憶された１つまたは複数のデータ・ファイルがそのストレージ環境内の別の記憶位置に再配置されるときにもこの信号を生成することができる。また、記憶管理アプリケーションが、記憶容量の解放、容量均衡化、付加均衡化、あるいは他の記憶管理タスクを実施するために、１組のデータ・ファイルをある記憶位置から別の記憶位置に移行する必要があるときにもこの信号を生成することができる。図４に示す流れ図４００を説明するために、この信号は、図１に示すストレージ環境に個々のデータ・ファイルが記憶されるときに生成されるものとする。
【００６５】
信号を受け取ると、ＤＭＳ１０４は、ステップ４０２で受け取った信号に基づいて、ＴＲＵＥであると評価される１つまたは複数の移行規則のセットを決定する（ステップ４０４）。前述のように、本発明の一実施形態によれば、各移行規則は、ＷＨＥＮ節として実装することができる。したがって、ステップ４０４では、ＤＭＳ１０４は、ＴＲＵＥであると評価される１つまたは複数のＷＨＥＮ節のセットを決定する。
【００６６】
次いでＤＭＳ１０４は、ステップ４０４で決定された移行規則に対応する、１つまたは複数の配置規則のセットを決定する（ステップ４０６）。前述したように、各配置規則は、個々のデータ・ファイルを記憶する記憶デバイスを選択するために使用される基準を識別する。
【００６７】
次いでＤＭＳ１０４は、ステップ４０６で決定された各配置規則ごとにスコアを生成する（ステップ４０８）。本発明の一実施形態によれば、各配置規則ごとに（データ値スコアまたはＤＶＳと呼ばれる）数値スコアが生成される。各配置規則ごとに、その配置規則に生成されたＤＶＳは、記憶されるデータ・セット（データ・ファイルなど）に対するその配置規則の適合性または適用度のレベルを示す。個々の配置規則のＤＶＳの値は、記憶されるデータ・ファイルの特性に基づくものである。例えば、本発明の一実施形態によれば、記憶されるデータ・ファイルにより適している、または関連性があるとみなされる配置規則にはより高いスコアが生成される。
【００６８】
配置規則のＤＶＳを生成するには、いくつかの異なる技法を使用することができる。本発明の一実施形態によれば、配置規則のＤＶＳは、「ｆｉｌｅ＿ｓｅｌｅｃｔｉｏｎ＿ｓｃｏｒｅ」と「ｄａｔａ＿ｕｓａｇｅ  ｓｃｏｒｅ」との単純な積であり、すなわち、
ＤＶＳ＝ｆｉｌｅ＿ｓｅｌｅｃｔｉｏｎ＿ｓｃｏｒｅ＊ｄａｔａ＿ｕｓａｇｅ＿ｓｃｏｒｅ
である。上記の式では、ｆｉｌｅ＿ｓｅｌｅｃｔｉｏｎ＿ｓｃｏｒｅとｄａｔａ＿ｕｓａｇｅ＿ｓｃｏｒｅとがＤＶＳの計算で等しく重み付けされるものと想定される。しかし、代替実施形態では、ｆｉｌｅ＿ｓｅｌｅｃｔｉｏｎ＿ｓｃｏｒｅとｄａｔａ＿ｕｓａｇｅ＿ｓｃｏｒｅとに異なる重みを割り振ることもできる。本発明の一実施形態によれば、ＤＶＳの値は、０と１との間（０と１とを含む）の範囲内にある。
【００６９】
本発明の一実施形態によれば、配置規則のｆｉｌｅ＿ｓｅｌｅｃｔｉｏｎ＿ｓｃｏｒｅ（「データ特性スコア」ともいう）は、その配置規則に指定されたファイル選択基準情報に基づいて計算され、配置規則のｄａｔａ＿ｕｓａｇｅ＿ｓｃｏｒｅは、その配置規則に指定されたデータ使用基準情報に基づいて計算される。前述のように、配置規則に指定されたファイル選択基準情報やデータ使用基準情報は、ブール接続子で接続された１つまたは複数のパラメータを伴う１つまたは複数の文節を含むことができる（図３参照）。したがって、ｆｉｌｅ＿ｓｅｌｅｃｔｉｏｎ＿ｓｃｏｒｅの計算には、その配置規則のファイル選択基準情報を構成する個々の文節の数値を計算し、次いでその個々の文節のスコアを組み合わせてその配置規則のｆｉｌｅ＿ｓｅｌｅｃｔｉｏｎ＿ｓｃｏｒｅを計算することが関与する。同様に、ｄａｔａ＿ｕｓａｇｅ＿ｓｃｏｒｅの計算は、その配置規則のデータ使用基準情報を構成する個々の文節の数値を計算し、次いでその個々の文節のスコアを組み合わせてその配置規則のｄａｔａ＿ｕｓａｇｅ＿ｓｃｏｒｅを計算することを含む。
【００７０】
本発明の一実施形態によれば、以下の規則を使用し、個々の文節で生成されたスコアを組み合わせてｆｉｌｅ＿ｓｅｌｅｃｔｉｏｎ＿ｓｃｏｒｅまたはｄａｔａ＿ｕｓａｇｅ＿ｓｃｏｒｅを計算する。
【００７１】
規則１：Ｎ者間のＡＮＤ演算（すなわち、ＡＮＤ接続子で接続されたＮ個の文節）では、結果として生じる値は個々の値（個々の文節について計算された値）すべての合計をＮで除した値である。
【００７２】
規則２：Ｎ者間のＯＲ演算（すなわち、ＯＲ接続子で接続されたＮ個の文節）では、結果として生じる値は、それらＮ個の文節について計算された値の最大値である。
【００７３】
規則３：本発明の一実施形態によれば、ｆｉｌｅ＿ｓｅｌｅｃｔｉｏｎ＿ｓｃｏｒｅとｄａｔａ＿ｕｓａｇｅ＿ｓｃｏｒｅは０と１の間（０と１とを含む）である。
【００７４】
本発明の一実施形態によれば、ファイル選択基準で指定された各文節ごとの値は以下の指針を使用して評価される。
【００７５】
（ａ）ファイル選択基準情報でＮＵＬＬ（または空の）値が指定されている場合は、そのＮＵＬＬまたは空の値はスコア１を取得する。例えば、図３に示す配置規則３０８−７でのｆｉｌｅ＿ｓｅｌｅｃｔｉｏｎ＿ｓｃｏｒｅは１に設定される。
【００７６】
（ｂ）ファイル・タイプの評価や所有者パラメータの評価には、そのパラメータ基準が満たされた場合にはスコア１が割り当てられ、そうでない場合はスコア０が割り当てられる。例えば、図３に示す配置規則３０８−４では、記憶されるデータ・ファイルが「電子メール・ファイル」タイプのものである場合は、その文節にスコア１が割り当てられ、配置規則３０８−４のｆｉｌｅ＿ｓｅｌｅｃｔｉｏｎ＿ｓｃｏｒｅも１に設定される。しかし、記憶されるデータ・ファイルが電子メール・ファイルでない場合は、その文節にスコア０が割り当てられ、したがってそのｆｉｌｅ＿ｓｅｌｅｃｔｉｏｎ＿ｓｃｏｒｅも０に設定される。
【００７７】
（ｃ）その文節に「関係性スコア」の等価テストが関与する場合は、その文節のスコアは以下の式を使用して計算される。
ＲｅｌＳｃｏｒｅData＝（そのファイルのデータ特性からの）データ・ファイルの関係性スコア
ＲｅｌＳｃｏｒｅRule＝ファイル選択基準情報で指定された関連性スコア
Ｄｅｌｔａ＝ａｂｓ（ＲｅｌＳｃｏｒｅData−ＲｅｌＳｃｏｒｅRule）
Ｓｃｏｒｅ＝１−（Ｄｅｌｔａ／ＲｅｌＳｃｏｒｅRule）
Ｓｃｏｒｅが負の場合は、０にリセットされる。
【００７８】
（ｄ）その文節に「関係性スコア」に関連する不等価テストが含まれる（すなわち＞、≧または≦を使用する）場合（図３の規則３０８−５など）は、その文節のスコアは以下の式を使用して計算される。
そのパラメータの不等式が満たされた場合はＳｃｏｒｅを１に設定する。
ＲｅｌＳｃｏｒｅData＝（そのファイルのデータ特性からの）データ・ファイルの関係性スコア
ＲｅｌＳｃｏｒｅRule＝ファイル選択基準情報で指定された関連性スコア
Ｄｅｌｔａ＝ａｂｓ（ＲｅｌＳｃｏｒｅData−ＲｅｌＳｃｏｒｅRule）
Ｓｃｏｒｅ＝１−（Ｄｅｌｔａ／ＲｅｌＳｃｏｒｅRule）
Ｓｃｏｒｅが負の場合は、０にリセットされる。
【００７９】
次いで、前述のように規則１、２、３を使用し、ファイル選択基準情報の各文節の個々のスコアに基づいて、ｆｉｌｅ＿ｓｅｌｅｃｔｉｏｎ＿ｓｃｏｒｅが計算される。ｆｉｌｅ＿ｓｅｌｅｃｔｉｏｎ＿ｓｃｏｒｅは、個々の配置規則のファイル選択基準情報と記憶されるデータ・ファイルの間の合致（または適合性）の度合いを表す。
【００８０】
本発明の代替実施形態では、他の様々な技法を使用してｆｉｌｅ＿ｓｅｌｅｃｔｉｏｎ＿ｓｃｏｒｅを計算することもできることは自明であろう。
【００８１】
本発明の一実施形態によれば、配置規則のデータ使用基準情報で指定された各文節ごとのスコアは以下の指針を使用して評価される。
その文節のパラメータ条件が満たされた場合は、その文節のスコアを１に設定する。
ＤａｔｅData＝そのデータ・ファイル中の関連日付情報。
ＤａｔｅRule＝その規則中の関連日付情報。
Ｄｅｌｔａ＝ａｂｓ（ＤａｔｅData−ＤａｔｅRule）
Ｓｃｏｒｅ＝１−（Ｄｅｌｔａ／ＤａｔｅRule）
Ｓｃｏｒｅが負の場合は、０にリセットされる。
【００８２】
文節中で日付範囲が指定されている場合（例えば最近の７日間など）は、その日付範囲は評価が行われる前に絶対日付に変換される。次いで、前述のように、規則１、２、３を使用し、ファイル選択基準情報で指定された個々の文節のスコアに基づいて、ｄａｔａ＿ｕｓａｇｅ＿ｓｃｏｒｅが計算される。本発明の代替実施形態では、他の様々な技法を使用してｄａｔａ＿ｕｓａｇｅ＿ｓｃｏｒｅを計算することもできることは自明であろう。ｄａｔａ＿ｕｓａｇｅ＿ｓｃｏｒｅは、個々の配置規則のデータ使用基準情報と記憶されるデータ・ファイルとの間の合致（または適合性）の度合いを表す。
【００８３】
次いで、ｆｉｌｅ＿ｓｅｌｅｃｔｉｏｎ＿ｓｃｏｒｅとｄａｔａ＿ｕｓａｇｅ＿ｓｃｏｒｅに基づいてＤＶＳが計算される。したがって、配置規則のＤＶＳは、その配置規則のファイル選択基準情報とデータ使用基準情報で指定された諸条件と、そのデータ・ファイルのデータ特性情報によって記述された記憶されるデータ・ファイルの特性との間の合致（または適合性）の度合いを定量化する。
【００８４】
図４に戻ると、ステップ４０８で、その規則のｆｉｌｅ＿ｓｅｌｅｃｔｉｏｎ＿ｓｃｏｒｅとｄａｔａ＿ｕｓａｇｅ＿ｓｃｏｒｅに基づいて、ステップ４０６で決定された各配置規則ごとにＤＶＳを計算する。本発明の代替実施形態では、他の様々な技法を使用して配置規則のＤＶＳを計算することもできることは自明であろう。
【００８５】
次いで、ステップ４０８でその規則について計算されたＤＶＳに基づいて、配置規則を順位付け（順序付け）る（ステップ４１０）。前述のように、ある配置規則について生成されたＤＶＳは、その配置規則の記憶されるデータ・ファイルに対する適合性を示す。例えば、本発明の一実施形態によれば、記憶されるデータ・ファイルにより適する（またはより関連性がある）とみなされる配置規則にはより高いスコアが生成される。したがって、ステップ４１０で生成した順位付けされた配置規則一覧は、記憶されるデータ・ファイルに対するそれらの配置規則の適合性または関連性に従って順位付けされた配置規則の一覧である。
【００８６】
配置規則を順位付けするにはいくつかの異なる技法を使用することができる。これらの規則は、最初に、その配置規則について計算されたＤＶＳに基づいて順位付けされる。本発明の一実施形態によれば、複数の配置規則が同じＤＶＳ値を持つ場合は、以下の均衡を破る規則を使用することができる。
【００８７】
（ａ）配置規則は、ストレージ環境のユーザ（システム管理者など）によってその配置規則に割り当てられた優先度に基づいて順位付けすることができる。
【００８８】
（ｂ）優先度が設定されていないまたは等しい場合は、配置規則のｆｉｌｅ＿ｓｅｌｅｃｔｉｏｎ＿ｓｃｏｒｅやｄａｔａ＿ｕｓａｇｅ＿ｓｃｏｒｅの計算に使用された上位レベルのＡＮＤ演算（すなわちＡＮＤ接続子を使用して接続された文節の数）の合計数をタイブレーカとして使用する。その規則のｆｉｌｅ＿ｓｅｌｅｃｔｉｏｎ＿ｓｃｏｒｅとｄａｔａ＿ｕｓａｇｅ＿ｓｃｏｒｅの計算の際に使用されたＡＮＤ演算の数がより大きい個々の配置規則は、ＡＮＤ演算の数がより小さい別の規則よりも上位に順位付けされる。ここでの原理は、（ＡＮＤ演算を使用して接続された文節数がより多いことによって示される）ファイル選択基準とデータ使用基準のより具体的な構成の方が、一般的な仕様よりも重要であるというものである。
【００８９】
（ｃ）（ａ）でも（ｂ）でも配置規則間の均衡を破れなかった場合は、他の何らかの基準を使用して均衡を破ることもできる。例えば、本発明の一実施形態によれば、それらの配置規則が発生した順序を使用して均衡を破ることができる。この実施形態では、より早く発生した配置規則が後続の規則より上位に順位付けされる。他の様々な基準を使用して均衡を破ることもできる。
【００９０】
本発明の代替実施形態では、他の様々な技法を使用して配置規則を順位付けすることもできることは自明であろう。
【００９１】
図４に戻ると、次いでＤＭＳ１０４は、順位付けされた配置規則、記憶される個々のデータ・ファイルに関連するデータ特性、そのデータ・ファイルを記憶するのに使用可能なそのストレージ環境の記憶デバイスに関連するデバイス特性に基づいて、データ・ファイルを記憶する記憶デバイスを識別する（ステップ４１２）。ステップ４１２で選択された記憶デバイスは、そのデータ・ファイルの特性、使用可能な記憶デバイス、システム管理者によってそのストレージ環境のために構成された記憶ポリシを考慮した場合に、そのデータ・ファイルを記憶するのに最適な、または適した記憶デバイスを表す。本発明の一実施形態によりステップ４１２で実施された処理に関連するさらなる詳細を以下で述べる。次いでデータ・ファイルを、ステップ４１２で識別された記憶デバイス上に記憶する（ステップ４１４）。
【００９２】
図５Ａ、５Ｂに、本発明の一実施形態による、順位付けされた配置規則に基づいておよび記憶デバイスとデータ・ファイルの特性に基づいて、データ・ファイルを記憶する記憶デバイスを識別するために図４のステップ４１２で実施した処理を示す、簡略化したハイレベル流れ図５００を図示する。この方法は、ＤＭＳ１０４によって、あるいはＤＭＳ１０４を他のデータ処理システムと関連付けることによって実施することができる。以下で説明する実施形態では、この方法がＤＭＳ１０４によって実施される。この方法は、ＤＭＳ１０４のプロセッサ２０２によって実行されるソフトウェア・モジュール、またはＤＭＳ１０４に結合されたハードウェア・モジュール、あるいはそれらの組合せによって実施される。図５Ａ、５Ｂに示す流れ図５００は、単に本発明を組み込んだ一実施形態を例示するものにすぎず、特許請求の範囲に記載の本発明の範囲を限定するものではない。当分野の技術者であれば、変形形態、改変形態、代替形態を理解するはずである。
【００９３】
図５Ａに示すように、図４のステップ４１０に従って配置規則が順位付けされた後で、ＤＭＳ１０４は、順位付けされた配置規則の一覧から、最高の順位を有する以前に処理されていない配置規則（すなわちステップ５０２でまだ選択されていない配置規則）を選択する（ステップ５０２）。例えば、この流れ図を通る第１のパスの間には最上位に順位付けされた配置規則が選択され、第２のパスの間には（最上位に順位付けされた配置規則が以前に処理されているので）第２位に順位付けされた配置規則が選択され、第３のパスの間には（最上位および第２位に順位付けされた配置規則が以前に処理されているので）第３位に順位付けされた配置規則が選択され、以下同様である。
【００９４】
次いでＤＭＳ１０４は、ステップ５０２で選択した配置規則の位置制約基準情報が、データ・ファイルを記憶する１つまたは複数の記憶デバイスを具体的に識別するかどうか判定する（ステップ５０４）。位置制約情報が１つまたは複数の記憶デバイスを識別した場合は、処理は、以下で説明する図５Ｂに示すステップ５３２に進む。位置制約情報がデータ・ファイルを記憶する記憶デバイスを具体的に識別しなかった場合は、記憶されるデータ・ファイルの特性に基づいて、ステップ５０２で選択した現在の規則に基づいて、ＤＭＳ１０４は、そのデバイス要件が満たされる１つまたは複数の記憶デバイスのセットを識別する（ステップ５０６）。前述のように、本発明の一実施形態によれば、記憶デバイスのデバイス要件は、その記憶デバイスに関連するデバイス特性情報で指定することができる。例えば、個々の記憶デバイスのデバイス特性情報は、その個々の記憶デバイス上にデータ・ファイルを記憶することが可能になる前のデータ・ファイルの閾値サイズを示すファイル・サイズ要件などを示すことができる。したがって、ステップ５０６では、個々のデバイスは、記憶されるデータ・ファイルのサイズが、その個々の記憶デバイスのファイル・サイズ要件情報で指示される閾値サイズを上回る場合に限り選択される。他のデバイス要件も同様に評価することができる。
【００９５】
次いでＤＭＳ１０４は、ステップ５０６で少なくとも１台の記憶デバイスが識別されたかどうか判定する（ステップ５０８）。ステップ５０６で記憶デバイスが１台も識別されなかったとステップ５０８で判定された場合、それは、そのデータ・ファイルがそのストレージ環境中のどの記憶デバイスのデバイス要件も満たさないことを示す。この場合は、データ・ファイルが記憶デバイスのデバイス要件を満たさなかったことを示すエラー・メッセージをユーザに出力する（ステップ５１０）ことができる。次いでユーザは、（選択されたデバイスのデバイス要件が満たされなかった場合でも）そのファイルを記憶する記憶デバイスを手動で選択するなど適切な措置を講じることができる。
【００９６】
ステップ５０６で少なくとも１つの記憶デバイスが識別されたとステップ５０８で判定された場合は、ＤＭＳ１０４は、ステップ５０６で識別された各記憶デバイスごとに、相対記憶値スコア（ＲＳＶＳ）を計算する（ステップ５１２）。本発明の一実施形態によれば、デバイスのＲＳＶＳは以下のステップを使用して計算される。
【００９７】
ステップ１：帯域幅要求がステップ５０２で選択された配置規則に指定された位置制約基準で指定されていれば、（そのデバイスのデバイス特性情報に含まれるサポートされる帯域幅情報で示される）記憶デバイスによってサポートされる帯域幅がその帯域幅要求より小さい場合には、「Ｂａｎｄｗｉｄｔｈ＿ｆａｃｔｏｒ」変数が０に設定される。例えば、図３に示す配置規則３０８−２の位置制約基準は、記憶デバイスの帯域幅が４０ＭＢより大きい必要があることを指定する。したがって、その記憶デバイスによってサポートされる帯域幅が４０ＭＢ未満の場合は、「Ｂａｎｄｗｉｄｔｈ＿ｆａｃｔｏｒ」変数が０に設定される。
【００９８】
そうでない場合は、「Ｂａｎｄｗｉｄｔｈ＿ｆａｃｔｏｒ」の値は以下のように設定される。
Ｂａｎｄｗｉｄｔｈ＿ｆａｃｔｏｒ＝（（デバイスによってサポートされる帯域幅）−（選択された配置規則の位置制約によって必要とされる帯域幅））＋Ｋ
式中、Ｋは何らかの整数型定数に設定される。
本発明の一実施形態によれば、Ｋは１に設定される。したがって、Ｂａｎｄｗｉｄｔｈ＿ｆａｃｔｏｒの値は負でない値に設定される。
【００９９】
ステップ２：ＲＳＶＳは以下のように計算される。
ＲＳＶＳ＝Ｂａｎｄｗｉｄｔｈ＿ｆａｃｔｏｒ＊（ｄｅｓｉｒｅｄ＿ｔｈｒｅｓｈｏｌｄ＿％−ｃｕｒｒｅｎｔ＿ｕｓａｇｅ＿％）／ｃｏｓｔ
前述のように、記憶デバイスのｄｅｓｉｒｅｄ＿ｔｈｒｅｓｈｏｌｄ＿％は、普通、システム管理者によって設定され、デバイス特性情報に含まれる。ｃｕｒｒｅｎｔ＿ｕｓａｇｅ＿％はＤＭＳ１０４によって監視され、やはりデバイス特性情報に含まれる。「ｃｏｓｔ」値はシステム管理者が設定でき、デバイス特性情報に含むことができる。
【０１００】
上記のＲＳＶＳを計算するための式は本発明の一実施形態を表すものであり、本発明の範囲を狭めるためのものではないことを理解すべきである。本発明の代替実施形態では、他の様々な因子を使用してＲＳＶＳを計算することもできる。例えば、記憶デバイスのアベラビリティを使用してそのデバイスのＲＳＶＳを決定することもできる。本発明の一実施形態によれば、記憶デバイスのアベラビリティは、その記憶デバイスが使用可能であると期待される期間中にその記憶デバイスが使用可能である時間量を示す。アベラビリティは、一部の実施形態では経過した１年のパーセンテージで計ることができる。例えば、常時使用可能であると期待される記憶デバイスでは、９９．９５％のアベラビリティは、１年に４．３８時間のダウン時間に相当する（０．０００５＊３６５＊２４＝４．３８）。本発明の一実施形態によれば、記憶デバイスのＲＳＶＳの値は、その記憶デバイスのアベラビリティに正比例する。
【０１０１】
ステップ３：前述のステップに従って計算されたＲＳＶＳに様々な調整を加えることができる。例えば、一部のストレージ環境では、管理者が１つの記憶デバイス中の「類似」ファイルをグループにまとめることもできる。別の環境では、管理者が様々な記憶デバイスの間でファイルを配布することもできる。ＲＳＶＳは、管理者によって用いられるポリシに適応するように調整することができる。記憶デバイスからデータを転送するために使用されるネットワークに関連する性能特性を使用してその記憶デバイスのＲＳＶＳを調整することもできる。例えば、記憶デバイスのアクセス時間（すなわち記憶デバイス上に記憶されたデータをユーザに提供するのに必要な時間）を使用してその記憶デバイスのＲＳＶＳを調整することもできる。記憶デバイスのスループットを使用してその記憶デバイスのＲＳＶＳを調整することもできる。したがって、記憶デバイスの位置、データ供給元の位置、その他のネットワーク関連パラメータなどのパラメータを使用してＲＳＶＳを生成することもできるであろう。本発明の一実施形態によれば、ＲＳＶＳ値は、具体的なデータ・ファイルを記憶するデバイスの望ましさに正比例するように計算される。
【０１０２】
本発明の一実施形態によれば、前述の各ステップに基づき、ＲＳＶＳ値が高いほど、そのデータ・ファイルを記憶するのにより望ましい記憶デバイスであることを表す。前述のように、ＲＳＶＳ値は使用可能容量のパーセンテージに正比例する。したがって、使用可能容量が大きい記憶デバイスほどデータ・ファイルを記憶するのにより望ましい。ＲＳＶＳ値は記憶デバイス上にデータを記憶するコストに反比例する。したがって、記憶コストが低い記憶デバイスほどデータ・ファイルを記憶するのにより望ましい。ＲＳＶＳ値は帯域幅要求に正比例する。したがって、大きい帯域幅をサポートするデバイスほどデータ・ファイルを記憶するのにより望ましい。帯域幅要求が満たされなかった場合は、ＲＳＶＳはゼロである。したがって、個々の記憶デバイスのＲＳＶＳ式では、様々なデバイス特性を組み合わせて、その個々の記憶デバイス上にデータを記憶する望ましさの度合いを表すスコアを生成する。
【０１０３】
上記の式によれば、Ｂａｎｄｗｉｄｔｈ＿ｆａｃｔｏｒの値がゼロの場合は、ＲＳＶＳはゼロ（０）である。前述のように、（そのデバイスのデバイス特性情報に含まれるサポートされる帯域幅情報で示される）記憶デバイスによってサポートされる帯域幅が、選択された配置規則に指定された位置制約基準情報で指定された帯域幅があれば、それより低い場合は、Ｂａｎｄｗｉｄｔｈ＿ｆａｃｔｏｒはゼロに設定される。したがって、個々の記憶デバイスのＲＳＶＳ値がゼロ（０）である場合、それはその記憶デバイスによってサポートされる帯域幅が配置規則によって必要とされる帯域幅より小さいこと、あるいはそのデバイスがすでに所望の容量閾値にあるかそれを超えていることを示唆する。
【０１０４】
あるいは、ｄｅｓｉｒｅｄ＿ｔｈｒｅｓｈｏｌｄ＿％がｃｕｒｒｅｎｔ＿ｕｓａｇｅ＿％に等しい場合は、ＲＳＶＳはゼロ（０）である。
【０１０５】
デバイスのＲＳＶＳが正である場合、それはそのデバイスが帯域幅要求を満たしている（すなわちＢａｎｄｗｉｄｔｈ＿ｆａｃｔｏｒがゼロでない）と同時に、データ・ファイルを記憶するのに十分な容量も備えている（すなわちｄｅｓｉｒｅｄ＿ｔｈｒｅｓｈｏｌｄ＿％がｃｕｒｒｅｎｔ＿ｕｓａｇｅ＿％より大きい）ことを示すものである。ＲＳＶＳ値が大きいほど、そのデバイスはそのデータ・ファイルを記憶するのにより適している（あるいは望ましい）。正のＲＳＶＳを持つデバイスでは、最高の正のＲＳＶＳを持つデバイスがそのデータ・ファイルを記憶するのに最も望ましい候補である。したがって、個々のデバイスのＲＳＶＳは、処理される個々の配置規則での、他の記憶デバイスに対するその個々のデバイス上にデータを記憶することの望ましさの度合いを決定するための尺度を提供する。ＲＳＶＳを配置規則やその順位付けと併せて使用して、データ・ファイルを記憶するの最適な記憶位置を決定する。
【０１０６】
そのデバイスが帯域幅要求を満たすがそのデバイスの使用量が意図された閾値を上回る（すなわちｃｕｒｒｅｎｔ＿ｕｓａｇｅ＿％がｄｅｓｉｒｅｄ＿ｔｈｒｅｓｈｏｌｄ＿％より大きい）ときは、個々のデバイスのＲＳＶＳが負になることがある。その負の値の相対的な大きさは、そのデバイスの過剰容量の度合いを示す。負のＲＳＶＳを持つデバイスでは、ＲＳＶＳがゼロ（０）により近く、そのデバイスがデータを記憶するための容量を持つほど、そのデバイスはそのデータ・ファイルを記憶するのに望ましい。例えば、ＲＳＶＳが−０．９であるデバイスの過剰容量は、ＲＳＶＳが−０．１である第２のデバイスの過剰容量よりも大きい。したがって、この第２のデバイスは、第１のデバイスに比べて、データ・ファイルを記憶するのにより有力な候補である。したがって、ＲＳＶＳは、たとえ負であっても、データ・ファイルを記憶するために記憶デバイスを相互に比較して順位付けする際に使用することができる。
【０１０７】
したがって、個々のデバイスのＲＳＶＳは、その個々のデバイスの他の記憶デバイスに対するデータ・ファイルを記憶する際の望ましさまたは適合性の度合いを決定するための尺度として働く。正のＲＳＶＳ値を持つデバイスは、負のＲＳＶＳ値を持つデバイスよりはそのデータ・ファイルを記憶するのにより適した候補である。というのは、正の値は、その記憶デバイスがそのデータ・ファイルの帯域幅要求を満たしていると同時にそのデータ・ファイルを記憶するのに十分な容量を保有していることも示すからである。正のＲＳＶＳ値を持つ記憶デバイスの中では、より高い正のＲＳＶＳを持つデバイスは、より低いＲＳＶＳ値を持つデバイスよりもそのデータ・ファイルを記憶するのにより望ましい候補である。すなわち、最高の正のＲＳＶＳ値を持つ記憶デバイスがそのデータ・ファイルを記憶するのに最も望ましいデバイスである。
【０１０８】
正のＲＳＶＳ値を持つ記憶デバイスが使用不能である場合は、ゼロ（０）のＲＳＶＳ値を持つデバイスよりも負のＲＳＶＳ値を持つデバイスの方が望ましい。ここでの原理は、帯域幅要求を満たさない（すなわちＲＳＶＳがゼロである）デバイスよりも帯域幅要求を満たすデバイスの方が（そのデバイスが過剰容量であったとしても）より適するというものである。負のＲＳＶＳ値を持つデバイスの中では、より小さいＲＳＶＳ値を持つデバイスよりも、より高いＲＳＶＳ値（すなわち０により近いＲＳＶＳ）を持つデバイスの方がそのデータ・ファイルを記憶するのにより望ましい候補である。したがって、負のＲＳＶＳ値を持つデバイスの中では、最高のＲＳＶＳ値（すなわち０に最も近いＲＳＶＳ）を持つデバイスがそのデータ・ファイルを記憶するのに最も望ましい候補である。
【０１０９】
図５Ａに戻ると、ステップ５０６で識別された各記憶デバイスごとにＲＳＶＳを生成した後で、ＤＭＳ１０４は、ステップ５０６で識別されたデバイスの中から、最高の正のＲＳＶＳ値を持つ記憶デバイスを識別する（ステップ５１４）。前述のように、最高の正のＲＳＶＳ値を持つ記憶デバイスが、ステップ５０２で選択された配置規則でデータ・ファイルを記憶するのに最も適した記憶デバイスである。
【０１１０】
次いでＤＭＳ１０４は、ステップ５１４で記憶デバイスを識別したかどうか判定する（ステップ５１６）。ステップ５１４で記憶デバイスを識別した場合は、データ・ファイルを記憶するためにステップ５１４で識別されたデバイスを選択する（ステップ５１８）。次いで処理は図４のステップ４１４に進み、そこで、ステップ５１８で選択されたデバイス上にデータ・ファイルを記憶する。
【０１１１】
ステップ５１４でデバイスを識別しなかったとステップ５１６で判定された場合、それはステップ５０６で選択されたデバイスのどれも正のＲＳＶＳ値を持っていないことを示しており、ステップ５０６で選択された１つまたは複数のデバイスが負またはゼロのＲＳＶＳ値を持つことを示唆する。このシナリオでは、ＤＭＳ１０４は次に、ステップ５０６で識別されたデバイスの中から、最高の（すなわちゼロに最も近い）負のＲＳＶＳ値を持つ記憶デバイスを判別する（ステップ５２０）。前述のように、負のＲＳＶＳ値を持つ記憶デバイスの中では、最高の負のＲＳＶＳ値（すなわち０に最も近いＲＳＶＳ）を持つデバイスがそのデータ・ファイルを記憶するのに最も適した候補である。
【０１１２】
次いでＤＭＳ１０４は、「候補」デバイスが以前に識別されているかどうか判定する（ステップ５２１）。候補デバイスが以前に識別されている場合は、ＤＭＳ１０４は、ステップ５２０で識別されたその記憶デバイスのＲＳＶＳ値が、以前に識別された「候補」デバイスのＲＳＶＳ値より大きい（すなわちゼロに近い）かどうか判定する（ステップ５２２）。ステップ５２０で識別された記憶デバイスのＲＳＶＳ値が以前に識別された「候補」デバイスのＲＳＶＳ値より大きいとステップ５２２で判定された場合、それは、ステップ５２０で識別された記憶デバイスの方が、以前に識別された「候補」デバイスよりもそのデータ・ファイルを記憶するのに適した候補であることを示唆し、したがってステップ５２０で識別された記憶デバイスが「候補」デバイスとしてマークされる（ステップ５２４）。次いで処理はステップ５２６に進む。
【０１１３】
ステップ５２１で、候補が以前に識別されていないと判定した場合は、処理はステップ５２４に進み、そこでステップ５２０で識別された記憶デバイスが「候補」デバイスとしてマークされる。ステップ５２０で識別された記憶デバイスのＲＳＶＳ値が、以前に識別された「候補」デバイスのＲＳＶＳ値以下であるとステップ５２２で判定した場合は、処理はステップ５２６に進む。
【０１１４】
ステップ５２６では、ＤＭＳ１０４は、順位付けされた配置規則一覧中のすべての配置規則が処理されたかどうか判定する（ステップ５２６）。配置規則のすべてが処理されてはいないと判定した場合は、処理はステップ５０２に進み、そこで最上位に順位付けされた未処理の配置規則を処理するように選択する。
【０１１５】
順位付けした一覧中のすべての配置規則が処理されたが、データ・ファイルを記憶するのに適した記憶デバイスがまだ選択されていないと判定した場合は、ＤＭＳ１０４は、候補デバイスが識別されているかどうか判定する（ステップ５２８）。候補デバイスが判定されている場合は、データ・ファイルを記憶するためにその候補デバイスを選択する（ステップ５３０）。次いで処理は図４のステップ４１４に進み、そこでステップ５３０で選択された候補デバイス上にデータ・ファイルを記憶する。
【０１１６】
ステップ５２８で、候補デバイスが識別されていないと判定した場合は、配置規則、データ・ファイル特性、記憶デバイス特性に基づいて、データ・ファイルを記憶するための記憶デバイスを自動的に選択できなかったことを示すエラー・メッセージをユーザに出力する（ステップ５１０）。次いでユーザは、そのデータ・ファイルを記憶するための記憶デバイスを手動で選択するなど、適切な措置を講じることができる。
【０１１７】
ステップ５０４に戻ると、ステップ５０２で選択された配置規則の位置制約情報がデータ・ファイルを記憶するための１つまたは複数のデバイスを具体的に識別した場合は、処理は図５Ｂに示すステップ５３２に進む。配置規則に関連する位置制約情報でデータ・ファイルを記憶するための１つまたは複数の記憶デバイスを指定することのできる様々な方法がある。例えば、位置制約情報は、データ・ファイルを記憶するための１つまたは複数の記憶デバイスにまたがる複数のボリュームを含むボリューム・グループを識別することができる。例えば、図３に示す配置規則３０８−４に関連する位置制約情報は、データ・ファイルが、ボリューム・グループ「Ｎｅｗ＿ｖｏｌｕｍｅ」に含まれるボリュームに対応する記憶デバイス上に記憶されると指定する。
【０１１８】
図５Ｂを参照すると、ステップ５０２で選択された配置規則の位置制約情報がデータ・ファイルを記憶するための１つまたは複数のデバイスを具体的に識別すると判定されると、ＤＭＳ１０４は、その位置制約情報によって指定されたデバイスを識別する（ステップ５３２）。例えば、ＤＭＳ１０４は、位置制約情報で指定されたボリューム・グループに含まれるボリュームに対応するすべての記憶デバイスを識別することができる。
【０１１９】
次いでＤＭＳ１０４は、その位置制約が１台のデバイスを指定しているか、それとも複数のデバイスを指定しているかを判定する（ステップ５３４）。ステップ５３４で、１台の記憶デバイスだけしか指定されていないと判定した場合は、ＤＭＳ１０４は、その指定された１台のデバイスのデバイス要件が満たされるかどうか判定する（ステップ５３６）。前述したように、デバイスのデバイス要件は、そのデバイスのデバイス特性情報で指定することができる。例えば、個々のデバイスのデバイス特性情報は、個々の記憶デバイス上に記憶することのできるデータ・ファイルの閾値サイズや、そのファイル・タイプの最大ファイル・サイズを示すファイル・サイズ要件を示すことができる。
【０１２０】
ステップ５３６で、配置規則の位置制約情報で指定された１台のデバイスのデバイス要件が満たされると判定した場合は、データ・ファイルを記憶するためにその１台の記憶デバイスを選択する（ステップ５３８）。次いで処理は図４のステップ４１４に進み、そこで、ステップ５３８で選択された１台の記憶デバイス上にデータ・ファイルを記憶する。ステップ５３６で、デバイス要件が満たされないと判定した場合は、処理は図５Ａに示すステップ５２６に進む。
【０１２１】
ステップ５３４で、配置規則の位置制約情報（あるボリューム・グループに属するボリュームに対応するデバイスなど）によって複数の記憶デバイスが指定されていると判定した場合は、ＤＭＳ１０４は、記憶されるデータ・ファイルの特性規則と配置規則に基づいて、位置制約情報によって指定された複数の装置の中からそのデバイス要件が満たされる１つまたは複数の記憶デバイスのセットを指定する（ステップ５４０）。次いでＤＭＳ１０４は、ステップ５４０で識別された各記憶デバイスごとのＲＳＶＳを計算する（ステップ５４２）。本発明の一実施形態によれば、ＲＳＶＳは、前述の各ステップに従って計算される。
【０１２２】
次いでＤＭＳ１０４は、ステップ５４０で識別された記憶デバイスの中から、最高の正のＲＳＶＳ値を持つ記憶デバイスを識別する（ステップ５４４）。前述のように、最高の正のＲＳＶＳ値を持つ記憶デバイスは、ステップ５０２で選択された配置規則でそのデータ・ファイルを記憶するのに最も適した記憶デバイスである。
【０１２３】
次いでＤＭＳ１０４は、ステップ５４４で記憶デバイスが識別されたかどうか判定する（ステップ５４６）。ステップ５４４で記憶デバイスが識別された場合は、データ・ファイルを記憶するためにステップ５４４で識別された記憶デバイスを選択する（ステップ５４８）。次いで処理は図４のステップ４１４に進み、そこで、ステップ５４８で選択された記憶デバイス上にデータ・ファイルを記憶する。
【０１２４】
ステップ５４４で記憶デバイスが識別されなかったとステップ５４６で判定された場合、それは、ステップ５４０で選択されたデバイスのうちのどれもが正のＲＳＶＳ値を持たない（すなわちステップ５４０で選択された１つまたは複数のデバイスが負またはゼロのＲＳＶＳ値を持つ）ことを示す。次いでＤＭＳ１０４は、ステップ５４０で識別された記憶デバイスの中から、最高の（すなわちゼロに最も近い）負のＲＳＶＳ値を持つ記憶デバイスを判定する（ステップ５５０）。前述のように、負のＲＳＶＳ値を持つデバイスの中では、最高のＲＳＶＳ値（すなわち０に最も近いＲＳＶＳ）を持つデバイスが、そのデータ・ファイルを記憶するのに最も適したデバイスである。
【０１２５】
次いでＤＭＳ１０４は、「候補」デバイスが以前に識別されているかどうか判定する（ステップ５５１）。候補デバイスが識別されている場合は、ＤＭＳ１０４は、ステップ５５０で識別された記憶デバイスのＲＳＶＳ値が、以前に識別された「候補」デバイスのＲＳＶＳ値より大きい（すなわち０により近い）かどうか判定する（ステップ５５２）。ステップ５５０で識別された記憶デバイスのＲＳＶＳ値が以前に識別された「候補」デバイスのＲＳＶＳ値より大きい（すなわち０により近い）とステップ５５２で判定した場合は、ステップ５５０で識別された記憶デバイスを「候補」デバイスとしてマークする（ステップ５５４）。次いで処理は図５Ａに示すステップ５２６に進む。
【０１２６】
ステップ５５１で、候補デバイスが識別されていないと判定した場合は、処理はステップ５５４に進み、そこで、ステップ５５０で識別された記憶デバイスを「候補」デバイスとしてマークする。ステップ５５０で識別された記憶デバイスのＲＳＶＳ値が以前に識別された「候補」デバイスのＲＳＶＳ値以下であるとステップ５５２で判定した場合は、処理は図５Ａに示すステップ５２６に進む。
【０１２７】
前述の本発明の実施形態では、ＤＭＳ１０４は、データ・ファイルを記憶するのに適した配置規則と対応するそれに適した記憶デバイスを識別するために、順位付けされた配置規則の最初から最後まで反復処理する。本発明は、異種混合ストレージ環境で、そのストレージ環境のために構成された記憶ポリシに基づいて、最小限の人的介入で使用可能な記憶リソースを最適化すると同時に効率の良いデータ・アクセスを可能にするようにデータの記憶位置を決定する技法を記述するものである。
【０１２８】
以上、本発明の具体的な実施形態について説明してきたが、様々な改変形態、変更形態、代替構成、均等物もまた、本発明の範囲内に包含される。本発明は、特定の具体的なデータ処理環境内でのオペレーションに限らず、複数のデータ処理環境内で自由に運用することができる。さらに、本発明を具体的な一連のトランザクションとステップを使用して説明してきたが、本発明の範囲が前述の一連のトランザクションとステップに限られないことは、当分野の技術者には明らかなはずである。前述の実施形態ではＲＳＶＳ計算の際の一因子としての帯域幅の使用を論じているが、本発明の他の実施形態によれば、記憶デバイスのアベラビリティなど他の因子を使用してＲＳＶＳを計算することもできる。前述の各式は、本発明の一実施形態を例示するためのものにすぎず、本発明の代替実施形態では異なることもあることを理解すべきである。
【０１２９】
さらに、本発明をハードウェアとソフトウェアの１つの具体的な組合せを使用して説明してきたが、ハードウェアとソフトウェアの他の組合せも本発明の範囲内に含まれることを理解すべきである。本発明は、ハードウェアのみとして実現することも、またはソフトウェアのみとして実現することも、あるいはそれらの組合せを使用して実現することもできる。
【０１３０】
したがって、本明細書と図面は、限定のためのものではなく例示のためのものとみなすべきである。ただし、特許請求の範囲に記載の本発明のより広範な精神と範囲を逸脱することなく、本発明への追加、除去、削除、その他の改変や変更を加えることができることは自明であろう。
【図面の簡単な説明】
【０１３１】
【図１】本発明の一実施形態を組み込むことのできる分散システムを示す簡略化した構成図である。
【図２】本発明の一実施形態によるデータ管理サーバを示す簡略化した構成図である。
【図３】本発明の一実施形態による配置規則の例を示す図である。
【図４】本発明の一実施形態による、データ・ファイルを記憶するためのストレージ環境からそのストレージ環境のために構成された記憶ポリシに基づいて記憶デバイスを選択する方法を示す簡略化したハイレベル流れ図である。
【図５Ａ】本発明の一実施形態による、順位付けされた配置規則と、記憶デバイスとデータ・ファイルの特性とに基づいてデータ・ファイルを記憶する記憶デバイスを識別するために実施される処理を示す、簡略化したハイレベル流れ図である。
【図５Ｂ】本発明の一実施形態による、順位付けされた配置規則と、記憶デバイスとデータ・ファイルの特性とに基づいてデータ・ファイルを記憶する記憶デバイスを識別するために実施される処理を示す、簡略化したハイレベル流れ図である。
【図１】
2005502121.tif 000003
【図２】
2005502121.tif 000004
【図３】
2005502121.tif 000005
【図４】
2005502121.tif 000006
【図５Ａ】
2005502121.tif 000007
【図５Ｂ】
2005502121.tif 000008
【国際公開パンフレット】
2005502121.tif 000009
2005502121.tif 000010
2005502121.tif 000011
2005502121.tif 000012
2005502121.tif 000013
2005502121.tif 000014
2005502121.tif 000015
2005502121.tif 000016
2005502121.tif 000017
2005502121.tif 000018
2005502121.tif 000019
2005502121.tif 000020
2005502121.tif 000021
2005502121.tif 000022
2005502121.tif 000023
2005502121.tif 000024
2005502121.tif 000025
2005502121.tif 000026
2005502121.tif 000027
2005502121.tif 000028
2005502121.tif 000029
2005502121.tif 000030
2005502121.tif 000031
2005502121.tif 000032
2005502121.tif 000033
2005502121.tif 000034
2005502121.tif 000035
2005502121.tif 000036
2005502121.tif 000037
2005502121.tif 000038
2005502121.tif 000039
2005502121.tif 000040
2005502121.tif 000041
2005502121.tif 000042
2005502121.tif 000043
2005502121.tif 000044
2005502121.tif 000045
2005502121.tif 000046
2005502121.tif 000047
2005502121.tif 000048
2005502121.tif 000049
2005502121.tif 000050
2005502121.tif 000051
2005502121.tif 000052
2005502121.tif 000053
2005502121.tif 000054
2005502121.tif 000055
2005502121.tif 000056
2005502121.tif 000057
2005502121.tif 000058
2005502121.tif 000059
2005502121.tif 000060
2005502121.tif 000061
2005502121.tif 000062
2005502121.tif 000063
2005502121.tif 000064
2005502121.tif 000065
2005502121.tif 000066
【国際調査報告】
2005502121.tif 000067
2005502121.tif 000068
2005502121.tif 000069