(57)【要約】  情報の複数の次元の分析に従って、ストレージシステムの種々のストレージソリューションにわたってオブジェクトをグループ化し、格納する方法は、ストレージ管理モジュールとして、または、ストレージ管理モジュール内において実装され得る。モジュールは、ストレージシステム（例えば、データストレージシステム）のオブジェクト（例えば、データオブジェクト）に関する情報を収集する。オブジェクトは、ストレージシステムに既に格納されたオブジェクトであり得、または、ストレージシステムに格納しようとする新しいオブジェクトであり得る。モジュールは、収集した情報を複数の次元にわたって分析して、オブジェクトのグループを決定し、各決定したグループについてストレージソリューションを決定する。モジュールは、次に、決定したストレージソリューションに従って、オブジェクトのグループの格納を指示し得る。ストレージシステムのオブジェクトに関して新しい情報を取得すると、モジュールは、その新しい情報を含む分析に従って、１つのストレージソリューションから他のストレージソリューションへのオブジェクトの移動を指示し得る。【選択図】図３
2016522484.tif 000002
【特許請求の範囲】
【請求項１】
データストレージシステムにおいて、
当該ストレージシステムにデータオブジェクトを格納するための２つ以上の異なるストレージソリューションであって、それぞれ、ストレージ及びアクセス性の単位当たりコストを含む異なる特性を有するストレージ技術を実装するストレージソリューションと、
ストレージ管理モジュールを実装する１つまたは複数のコンピュータ装置と
を備え、前記ストレージ管理モジュールは、
１つまたは複数のデータオブジェクトに関する情報を取得し、
前記取得した情報の２つ以上の次元に従って前記データオブジェクトの１つまたは複数のグループを決定し、
前記決定した１つまたは複数のデータオブジェクトのグループのそれぞれに対して前記２つ以上のストレージソリューションの特定の１つを決定し、かつ、
前記１つまたは複数のグループの前記データオブジェクトの、前記各決定されたストレージソリューションへの格納を指示するように、動作可能なストレージ管理モジュールである、
データストレージシステム。
【請求項２】
前記１つまたは複数のグループの前記データオブジェクトの前記各決定されたストレージソリューションへの格納を指示するために、前記ストレージ管理モジュールは、
前記データストレージシステムの新しいデータオブジェクトの、前記２つ以上のストレージソリューションの１つへの格納を指示し、かつ、
前記データストレージシステムの既存のデータオブジェクトの、前記２つ以上のストレージソリューションの１つまたは複数から前記２つ以上のストレージソリューションの種々のストレージソリューションへの移動を指示する、ように動作可能な、
請求項１に記載のデータストレージシステム。
【請求項３】
前記２つ以上の次元は、前記データオブジェクトの年数、前記データオブジェクトのアクセス頻度、前記データオブジェクトのアクセスパターン、前記データオブジェクトのタイプ、前記データオブジェクト間の関係、または、前記データオブジェクトのメタデータのうちの２つ以上を含む、請求項１に記載のデータストレージシステム。
【請求項４】
前記ストレージソリューションの１つまたは複数は、電力供給され、温度、湿度の調節されたデータセンタで実装され、かつ、前記ストレージソリューションの１つは、前記データセンタより所要電力が低く、温度、湿度の調節のレベルが低い設備に永続ストレージ媒体を格納することを伴い、かつ、前記ストレージソリューションにより実装される前記ストレージ技術は、フラッシュメモリ技術、半導体ドライブ（ＳＳＤ）技術、ハードディスクドライブ（ＨＤＤ）技術、光ディスク（ＯＤ）技術、または、磁気テープ技術のうちの２つ以上を含む、請求項１に記載のデータストレージシステム。
【請求項５】
前記各決定したストレージソリューションへの前記１つまたは複数のグループの前記データオブジェクトの格納を指示するために、前記ストレージ管理モジュールは、
１つまたは複数のデータオブジェクトの前記ストレージ媒体への格納を指示し、前記ストレージ媒体の前記設備への格納を指示し、かつ、
前記設備の前記ストレージ媒体から、前記データセンタの前記１つまたは複数のストレージソリューションの１つへの、少なくとも１つのデータオブジェクトのコピーを指示するように、
動作可能で、前記少なくとも１つのデータオブジェクトのオリジナルは、前記設備内の前記ストレージ媒体上に保持される、請求項４に記載のデータストレージシステム。
【請求項６】
前記データストレージシステムは、サービスプロバイダのネットワーク上で実装されるストレージサービスであり、前記ストレージサービスは、前記ストレージサービスへのＡＰＩを介して、１つまたは複数のクライアントに仮想ストレージを提供し、かつ、前記データオブジェクトは、前記ストレージサービスへの前記ＡＰＩを介して前記１つまたは複数のクライアントによって前記仮想ストレージに格納されたデータオブジェクトを含む、請求項１に記載のデータストレージシステム。
【請求項７】
１つまたは複数のコンピュータ装置によって実装されるストレージ管理モジュールによって行われる方法であって、
ストレージシステムのオブジェクトを前記オブジェクトに関する情報の複数の次元に従って分析して、前記オブジェクトのグループを決定することと、
ストレージ及びアクセス性の単位当たりのコストを含む前記ストレージソリューションの異なる特性に従って、各決定されたグループについて、複数のストレージソリューションの特定の１つを決定することと、
前記ストレージシステムの前記各決定したストレージソリューションへの前記オブジェクトの格納を指示することと、
を行うことを含む、方法。
【請求項８】
前記ストレージシステムは、データストレージシステムであり、前記オブジェクトは、データオブジェクトであり、かつ、前記ストレージソリューションは、それぞれ、異なるストレージ技術を実装する、請求項７に記載の方法。
【請求項９】
前記ストレージソリューションによって実装される前記ストレージ技術は、フラッシュメモリ技術、半導体ドライブ（ＳＳＤ）技術、ハードディスクドライブ（ＨＤＤ）技術、光ディスク（ＯＤ）技術、または、磁気テープ技術のうちの２つ以上を含む、請求項８に記載の方法。
【請求項１０】
前記複数の次元は、前記オブジェクトの年数、前記オブジェクトのアクセス頻度、前記オブジェクトのアクセスパターン、前記オブジェクトのタイプ、前記オブジェクト間の関係、前記オブジェクトの指定した優先順位、または、前記オブジェクトのオブジェクトメタデータのうちの２つ以上を含む、請求項７に記載の方法。
【請求項１１】
前記オブジェクトのアクセス情報を経時的に追跡することをさらに含み、前記追跡されたアクセス情報は、前記オブジェクトのアクセスの日時情報と、前記オブジェクトのユーザアクセス情報のうちの１つまたは複数を含み、かつ、前記複数の次元の少なくとも１つは、前記追跡されたアクセス情報に従って決定される、請求項７に記載の方法。
【請求項１２】
少なくとも１つのグループは、前記ストレージシステムの新しいオブジェクトを含み、かつ、前記ストレージシステムの前記各決定したストレージソリューションへの前記オブジェクトの格納を前記指示することは、前記複数のストレージソリューションの１つまたは複数への前記新しいオブジェクトの格納を指示することを含む、請求項７に記載の方法。
【請求項１３】
少なくとも１つのグループは、前記複数のストレージソリューションの既存のオブジェクトを含み、かつ、前記ストレージシステムの前記各決定したストレージソリューションへの前記オブジェクトの格納の前記指示は、前記複数のストレージソリューションのうちの種々のストレージソリューションに前記既存のオブジェクトを移す指示を含む、請求項７に記載の方法。
【請求項１４】
前記ストレージソリューションの１つまたは複数は、電力供給され、温度、湿度の調節された設備で実装され、かつ、前記ストレージソリューションの１つは、前記電力供給され、温度、湿度の調節された設備よりも所要電力が低く、温度、湿度の調節のレベルが低い設備にオブジェクトを格納することを伴う、請求項７に記載の方法。
【請求項１５】
前記分析することと前記決定することは、クラスタ分析技術に従って行われる、請求項７に記載の方法。
【発明の詳細な説明】
【背景技術】
【０００１】
データストレージ技術においては、多くの種類のストレージ技術（ストレージソリューションとも呼んでよい）が存在し、広範囲の価格、性能、容量、及び、機能を提供している。一般的に、半導体ドライブ（ＳＳＤ）技術装置や、ハードディスクドライブ（ＨＤＤ）技術装置等の、高速アクセスを提供するストレージ技術は、光ディスクドライブや磁気テープドライブ等の、アクセスの遅いストレージ技術よりも高価である（ストレージ単位当たり）。従って、多くのデータストレージシステムは、１つまたは複数の上位層で用いられる高価で高速のストレージ技術と、１つまたは複数の下位層で用いられる、それより安価で低速のストレージ技術という、２つ以上の層のストレージ技術を用いて設計、実装される。これらのデータストレージシステムの種々の層へのデータの格納を指示するストレージ管理方法（例えば、階層ストレージ管理（ＨＳＭ）法）が開発されてきた。
【０００２】
しかしながら、ＨＳＭ等の従来のストレージ管理方法は、ストレージの決定を行う際に、データに関する情報の１つの次元のみ（アクセス履歴）を考慮するのが典型的であり、その１つの次元に従って、データストレージ技術の一次元の層を、データを上に移したり、下に移したりするだけであるのが典型的である。例えば、ＨＳＭ法は、一般的に、最近アクセスされた（例えば、書き込まれた、または、読み出された）データを上位の層（単数または複数）（例えば、ディスクドライブ）に格納し、最近（例えば、特定の期間）アクセスされていないデータを下位の層（単数または複数）（例えば、テープ）に移す。下に（例えば、テープに）移されたデータは、一般的に、そのデータへのアクセス要求を受信した場合のみ、上位の層に戻され得る。上位の層に移されたデータは、下位の層（例えば、テープ）に戻される前に、特定の期間、その上位の層に留まり得る。
【図面の簡単な説明】
【０００３】
【図１】少なくとも一部の実施形態に係る、ストレージシステムにおいて、ストレージ管理モジュールとして実装し得る多次元ストレージ管理方法の高レベルフローチャートである。
【図２】図２Ａ、図２Ｂは、少なくとも一部の実施形態に係る、複数の次元にわたるデータオブジェクトのグループの決定をグラフィカルに示す図である。    少なくとも一部の実施形態に係る、クラスタ分析技術を用いた、複数の次元にわたるデータオブジェクトのグループの決定をグラフィカルに示す図である。
【図３】ストレージ管理方法の実施形態を実装し得るストレージシステムの実施例の論理的ビューを示すブロック図である。
【図４】ストレージ管理方法の実施形態を実装し得るストレージシステムの物理的実装の例を示す図である。
【図５】少なくとも一部の実施形態に係る、クラスタ分析技術を用いてデータオブジェクトのグループをストレージソリューションにマッチさせる、多次元ストレージ管理方法の高レベルフローチャートである。
【図６】少なくとも一部の実施形態に係る、ストレージ管理方法の実施形態を用いてデータオブジェクトのクラスタを決定し、そのデータオブジェクトを複数のストレージソリューション間に分配し得る、ストレージシステムの実施例の論理的ビューを示すブロック図である。
【図７】ストレージ管理方法の実施形態を用いて、他のストレージアプリケーションを含む複数のストレージソリューション間でのデータオブジェクトの分配を指示し得る、ストレージシステムの実施例の論理的ビューを示すブロック図である。
【図８】一部の実施形態において使用可能なコンピュータシステムの実施例を示すブロック図である。
【０００４】
本明細書では、例として、幾つかの実施形態と説明図について実施形態を記載したが、当業者は、実施形態は、記載した実施形態と図面に限定されないことを認識されよう。ここに記載の図面および詳細な説明は、実施形態を特定の開示の形態に限定することを意図しておらず、むしろ逆に、請求項に規定した精神及び範囲内にある全ての修正、同等物、及び、代替物を含むことを意図していることは理解されたい。本明細書で用いた表題は、系統立てのためだけであり、本明細書または請求項の範囲を限定するために用いてはいない。この出願書類を通して使用されている、「してよい、し得る」という言い回しは、強制的な意味（すなわち、ねばならない）ではなく、許容的な意味（すなわち、をする可能性を有する）で用いられている。同様に、「含む」という言い回しは、限定ではなく、一部として含むことを意味する。
【発明を実施するための形態】
【０００５】
オブジェクトに関する情報の複数の次元の分析に従って、ストレージシステムの種々のストレージソリューションにわたってオブジェクトをグループ化し、格納する方法及び装置の様々な実施形態を記載する。１つまたは複数のコンピュータ装置上で、ストレージ管理モジュールとして、または、ストレージ管理モジュール内において、実装し得る多次元ストレージ管理方法を記載する。ストレージ管理モジュールは、オブジェクトについて収集された情報の複数の次元の分析に従って、ストレージシステムの種々のストレージソリューションまたは層にわたってオブジェクトのグループを決定し、決定されたオブジェクトのグループを格納する指示をし得る。ストレージ管理モジュールを実装し得るコンピュータ装置の実施例を図８に示す。ストレージ管理モジュールを実装し得るストレージシステムの実施例を図３、４、６、７に示す。
【０００６】
図１は、少なくとも一部の実施形態に係る、ストレージシステムのストレージ管理モジュールとして実装し得る多次元ストレージ管理方法の高レベルフローチャートである。１００に示すように、ストレージ管理方法は、ストレージシステム（例えば、データストレージシステム）の１つまたは複数のオブジェクト（例えば、データオブジェクト）に関する情報を取得する。例えば、ストレージ管理方法は、ストレージアプリケーションソフトウェアによって保持されるストレージシステムに格納されるオブジェクトのメタデータから情報を収集し得る。オブジェクトは、ストレージシステムに既に格納されているオブジェクトであり得、または、ストレージシステムに格納されようとする新しいオブジェクトであり得る。１０２に示すように、ストレージ管理モジュールは、複数の次元にわたって取得した情報を分析して、オブジェクトのグループを決定する。１０４に示すように、ストレージ管理モジュールは、決定したグループのそれぞれについてストレージソリューションを決定する。１０６に示すように、ストレージ管理モジュールは、決定したストレージソリューションに従って、グループ単位でオブジェクトの格納を指示し得る。ストレージシステムのオブジェクト（１つまたは複数）に関する新しい情報を取得すると、ストレージ管理方法は、新しい情報を含む分析に従って、１つのストレージソリューションから他のストレージソリューションへのオブジェクト(１つまたは複数)の移動を指示し得る。
【０００７】
多次元ストレージ管理方法の実施形態は、例えば、オブジェクトのアクセスまたはフェッチの速度に著しいスキューがあり、かつ、ストレージソリューション間のストレージコストに著しい相違のある、ストレージシステムに適用されてよい。ストレージ管理方法は、ストレージシステムに格納されたオブジェクトの情報を複数の次元にわたって分析して、アクセスされる可能性が高いオブジェクトであって、かつ、そのオブジェクトに比較的高速で安価なアクセスを提供し得る、（ストレージ単位当たり）より高価なストレージソリューションに格納し得るオブジェクトのグループ（単数または複数）を決定し得る。アクセスされる可能性が低いオブジェクトであって、かつ、（ストレージ単位当たり）より安価なストレージソリューションではあるが、オブジェクトへのアクセスに、一般的に、より長く時間がかかって、高価になり得るストレージソリューションに格納し得るオブジェクトの他のグループ（単数または複数）を決定し得る。
【０００８】
少なくとも一部の実装においては、様々なストレージソリューションは、ストレージ層としてのストレージシステムで実装され得る。そこでは、第１または最上位の層は、格納されたオブジェクトへの最も高速なアクセスをストレージシステムのクライアントに提供する最も高価な（ストレージ単位当たり）ストレージソリューションに従って実装され、最後のまたは最下位の層は、最も安価な（ストレージ単位当たり）ストレージソリューションであるが、オブジェクトへのアクセスには、より長い時間がかかり、最もコストのかかるストレージソリューションに従って実装される。最上位と最下位の層の間の中間レベルのストレージコストとアクセス特性を有する１つまたは複数の中間層があり得るが、ない事もあり得る。多次元ストレージ管理方法を用いて、ストレージシステムに格納されるデータオブジェクトに関する情報を分析して、複数の次元に従ってオブジェクトをグループ化し、そのデータオブジェクトのグループを適切な層に分配し得る。
【０００９】
実施例として、多次元ストレージ管理方法を実装するデータストレージシステムは、２層以上の永続ストレージソリューションを含み得る。第１または最上位の層は、半導体ドライブ（ＳＳＤ）技術装置を含み得る。第２または中間の層は、ハードディスクドライブ（ＨＤＤ）技術装置を含み得る。最下位の層は、例えば、磁気テープまたは他の取り外し可能な永続ストレージ媒体にデータオブジェクトを格納し、そのストレージ媒体を最小限の電力と最小限の温度、湿度調節のストレージ設備に保管することを伴い得る。ストレージ管理方法は、データストレージシステムのストレージ管理モジュールとして、または、ストレージ管理モジュール内において実装されて、データオブジェクトまたはデータオブジェクトのグループを、そのデータオブジェクトについて収集された情報の複数の次元の分析に従って、上記層のうちの特定の層に格納することを指示し得る。ストレージ管理方法は、データオブジェクトについて収集された情報に適用されて、新しいデータオブジェクトを特定の層に格納することを指示し得、及び／または、データオブジェクトを上に（下位の層から上位の層に）または、下に（上位の層から下位の層に）移動またはコピーさせることを指示し得る。
【００１０】
上記のストレージステムは、ストレージ管理方法を用いて、アクセス特性、及び／または、ストレージコストに従って階層的に配置された２つ以上のストレージ層にわたって、データオブジェクトの格納を指示するものである。しかしながら、ストレージ管理方法は、必ずしも階層的に配置されていない複数の異なるストレージソリューションを含むストレージシステムにも適用し得、決定されたオブジェクトのグループを、そのオブジェクトに関する情報の複数の次元の分析に従って最適であり得る特定のストレージソリューションに格納することを指示し得る。例えば、一部の実施形態においては、ストレージ管理方法は、オブジェクトについて複数の次元を含む情報を収集し得、複数の次元に従ったクラスタ分析技術を実行して、オブジェクトのクラスタまたはグループを決定し得る。図２Ｂの実施例を参照する。次に、グループの特性を調べて、様々なストレージソリューショの特性と比較して、そのグループを特定のストレージソリューションにマッチさせ得る。オブジェクトのグループは、次に、決定されたストレージソリューションに分配され得る。
【００１１】
多次元ストレージ管理方法は、ここでは主にデータストレージシステムに関して記載している。データストレージシステムにおいては、格納されているオブジェクトはデータオブジェクトであり、ストレージソリューションは、様々なデータストレージ技術及び媒体、例えば、永続メモリ技術、半導体ドライブ（ＳＳＤ）技術、ハードディスクドライブ（ＨＤＤ）技術、磁気テープもしくは磁気ディスク、及び、光ディスク（ＯＤ）などの永続ストレージ媒体を含み得、また、温度、湿度が調節され、電力供給された「レイズドフロア」データセンタ、及び、低電力で、温度、湿度調節が最小限のストレージ設備またはウェアハウス等の様々なストレージ方法またはストレージ場所を含み得る。しかしながら、多次元ストレージ管理方法は、任意のストレージシステムに適用し得る。例えば、実施形態は、部品または製品のストレージシステムまたは流通システムに適用され得、その場合、格納されているオブジェクトは物理的オブジェクトであり、ストレージソリューションは、ストレージもしくは流通設備内の異なる物理的位置、及び／または、複数の地理的に分散したストレージもしくは流通設備にわたる異なる物理的位置を含む。他の実施例としては、ストレージ管理方法の実施形態は、マルチレベルのキャッシュメモリシステムに適用され得る。その場合、データは、そのデータの複数の次元の分析、かつ、ガーベージコレクションシステムのメモリオブジェクトに従って、メモリの異なるレベルにわたって分配され得る。
【００１２】
図２Ａは、少なくとも一部の実施形態に係る、複数の次元にわたってデータオブジェクトのグループを決定することをグラフィカルに示す。少なくとも一部の実施形態においては、データオブジェクトに関する情報の第１の次元の分析を行って、データオブジェクトの２つ以上のグループ２００を決定し得る。第２の次元も分析して、グループ２００の少なくとも１つを２つ以上のサブグループ２０２にさらに分割し得る。少なくとも一部の実施形態においては、１つまたは複数の他の次元も分析して、サブグループ２０２の少なくとも１つをさらに分割し得る。種々のグループは、データストレージシステムの２つ以上の種々のストレージソリューションのうちの、そのグループについて決定された特定のストレージソリューションに格納され得る。
【００１３】
図２Ｂは、少なくとも一部の実施形態に係る、クラスタ分析技術を用いて複数の次元にわたってデータオブジェクトのグループを決定することをグラフィカルに示す。一部の実施形態においては、ストレージ管理方法は、オブジェクトについて複数の次元を含む情報を収集し得、かつ、その複数の次元に従ってクラスタ分析技術を実行して、オブジェクトのクラスタまたはグループを決定し得る。図２Ｂの実施例に示すように、３つの次元Ａ、Ｂ、Ｃをクラスタ分析において用いて、データオブジェクトの５つのクラスタまたはグループを決定する。次に、グループの特性を調べて、様々なストレージソリューションの特性と比較して、そのグループを特定のストレージソリューションにマッチさせ得る。データオブジェクトのグループは、次に、決定されたストレージソリューションに分配され得る。
【００１４】
少なくとも一部の実施形態においては、ストレージ管理方法によって分析され得るオブジェクト（例えば、データオブジェクト）に関する情報の複数の次元は、少なくとも、オブジェクトの年数と、オブジェクトのアクセス頻度と、を含み得る。一般的に、新しいデータオブジェクトは、古いデータオブジェクトよりアクセスされる可能性が高いが、今後の予想寿命はより短く、過去にめったにアクセスされなかったデータオブジェクトは、今後もめったにアクセスされない可能性が高い。これらの観察は、本明細書に記載のストレージ管理方法の少なくとも一部の実施形態によって活用されて、複数の次元に従って、データオブジェクトをグループ化し、格納し得る。
【００１５】
データストレージシステムにおいて、媒体に格納されたデータオブジェクトへのアクセスが要求される時、ストレージ媒体（例えば、磁気テープもしくはディスク、光ディスク等）をフェッチするためのコストがある。従って、アクセスされる可能性の高いデータオブジェクトは、グループ化されて、第１のストレージ媒体に格納され得、アクセスされる可能性の低いデータオブジェクトは、グループ化されて、第２のストレージ媒体に格納され得る。アクセスの可能性を決定する一方法は、年数である。上記のように、新しいオブジェクトは、古いオブジェクトより頻繁にアクセスされる傾向がある。従って、年数は、考慮される次元であり得、新しいオブジェクトは、第１のストレージ媒体に格納され得、古いオブジェクトは、第２のストレージ媒体に格納され得る。第１のストレージ媒体は、新しいオブジェクト媒体と呼ばれ得、第２のストレージ媒体は、古いオブジェクト媒体と呼ばれ得る。これらの２つのグループにソートする影響は、新しいオブジェクト媒体に関する参照率（reference rate）が増加し、古いオブジェクト媒体に関する参照率（reference rateが低下することである。古いオブジェクト媒体は、アーカイバルストレージシステム等の多くのストレージシステム内で優位を占めるので、古いオブジェクト媒体は、比較的、稀にしかフェッチされず、新しいオブジェクト媒体は、一般的に既に取得可能になっていて、フェッチを必要とせず、このアプローチは、媒体フェッチ要求の数を著しく低減し得る。より安価なストレージソリューション（例えば、商品用ハードディスクドライブ（ＨＤＤ）技術、磁気テープ、光ディスク等）を古いオブジェクト媒体に用い得、より高価なストレージソリューション（例えば、半導体ドライブ（ＳＳＤ）技術）を新しいオブジェクト媒体に用い得るので、格納されたデータ単位当たりの新しいオブジェクト媒体のコストは、格納されたデータ単位当たりの古いオブジェクト媒体のコストより一般的に高くなり得ることに留意されたい。
【００１６】
ストレージ管理方法の少なくとも一部の実施形態においては、他の次元である、アクセスパターン、または、アクセス頻度を上記に追加し得、データオブジェクトを種々のストレージ媒体にグループ化する技術を再度、適用し得る。この次元を用いて、データオブジェクトは、古いオブジェクト媒体グループ及び新しいオブジェクト媒体グループ内で、アクセスパターンに基づいて、各グループの２つのサブグループ、すなわち、１）最近アクセスされたデータオブジェクト（ホットなオブジェクトとも呼ばれ得る）２）最近アクセスされていないデータオブジェクト（コールドなオブジェクトとも呼ばれ得る）にさらに分割され得る。従って、データオブジェクトは、４つのグループ、すなわち、ホットな新しいオブジェクト、コールドな新しいオブジェクト、ホットな古いオブジェクト、及び、コールドな古いオブジェクトにさらに分割され得る。これらのグループのそれぞれは、異なるストレージ媒体またはストレージソリューションに格納され得る。
【００１７】
「最近読み出されていない」という有用な定義は、アーカイバルストレージ等の一部のデータストレージアプリケーションにおいては特に、「全く読み出されていない」ということである。少なくとも一部の実施形態においては、この定義と、上記の対象の２つの次元（古いオブジェクトと新しいオブジェクト）と、を用いて、データオブジェクトを４つのクラス、すなわち、１）アクセスされた新しいオブジェクト、２）アクセスされていない新しいオブジェクト、３）アクセスされた古いオブジェクト、４）アクセスされていない古いオブジェクトにさらに分割し得る。これらのクラスはそれぞれ、異なるストレージ媒体に格納されて、データストレージソリューションの４つのレベルまたは層を生み出し得る。少なくとも一部の実施形態においては、グループ４（アクセスされていない古いデータオブジェクト）は、データオブジェクトのフェッチやアクセスに時間がかかり、比較的高価ではあるが、消費電力が少なく、温度、湿度の調節が限定的、または、他の要因で、格納されたデータ単位当たりのストレージコストがとても安い場所（例えば、ウェアハウス）に、遠隔に、かなり安価に格納することができる。グループ３（アクセスされた古いデータオブジェクト）は、グループ４よりアクセスが容易である必要があるが、グループ１、２ほどアクセスが容易である必要はなく、従って、グループ１、２より安価に格納され得る。同様に、グループ２は、グループ３よりアクセスが容易である必要があるが、グループ１ほどアクセスが容易である必要はなく、従って、グループ１より安価に格納され得る。
【００１８】
以上、ストレージ管理方法によって分析され得る２つの次元（年数及びアクセス頻度）について述べ、その次元に従ってデータオブジェクトを、それぞれ、異なるストレージソリューションに格納され得る２つ、３つ、または、それ以上のグループにグループ化し得る事を述べた。各グループのストレージソリューションは、各グループのアクセス要件（時間とコスト）とストレージコストとに従って選択され得る。しかしながら、これら２つを超える次元に従って、ストレージ管理方法を拡張、適用し、データオブジェクトを複数の次元に従って、複数のグループにグループ化し得、そのグループの少なくとも一部は、種々のストレージソリューションに格納される。
【００１９】
データオブジェクトをグループ化または分類するストレージ管理方法の少なくとも一部の実施形態において、年数及びアクセス頻度の代わりに、または、それらに加えて用い得る幾つかの他の次元を以下に記載する。これらの他の次元は、例として提供するものであり、制限を意図していないことに留意されたい。
【００２０】
少なくとも一部の実施形態においては、オブジェクトタイプは、考慮される他の次元であり得る。種々のタイプのデータオブジェクト（例えば、種々のタイプのファイル）は、種々の使用モデルを表し得、従って、種々のアクセスパターンを表し得る。例えば、バックアップデータ（例えば、データベースバックアップファイル）及び監査データ（例えば、アーカイブの目的で格納されている会社の電子メール）は、めったに、または、全くアクセスされない場合があり、従って、単位当たりの格納コストがより安いが、アクセスがより高価である１つまたは複数のストレージソリューションまたは層に格納し得る。他の実施例として、一部のタイプのデータオブジェクト（例えば、データベースレコード、オンライントランザクション処理データ等）は、アクセスがより容易な、または、アクセスが最も容易なストレージ層に、保持される必要があろう。他の実施例として、データストレージシステムがデータについての冗長モデル（単数または複数）（例えば、抹消符号化）を用いる一部の実施形態においては、冗長データは、アクセス度が低く、従って、単位当たりの格納コストがより安く、アクセスがより高価な１つまたは複数のストレージソリューションまたは層に格納され得る。
【００２１】
少なくとも一部の実施形態においては、ストレージシステムのデータオブジェクトのアクセス情報は、ストレージ管理方法によって追跡、及び／または、マイニングされ得、かつ、１つまたは複数のアクセスメトリクス（アクセス日時、ユーザＩＤ等）に基づいて分析されて、様々なアクセスパターン、または、その組み合わせに基づいて、１つまたは複数のデータオブジェクトのグループを決定し得る。幾つかの実施例を以下に記載する。
【００２２】
少なくとも一部の実施形態においては、データオブジェクトについて、アクセス情報を経時的に追跡し得、かつ、追跡されたアクセス情報を用いて、ストレージ決定の基にすることができる１つまたは複数の追加の次元を提供し得る。例えば、データオブジェクトが最後にアクセスされた（または、全くアクセスされなかった）時についての日時情報を、ストレージ決定を行う次元として用いることに代わって、または、それに追加して、データオブジェクトの複数のアクセスについての日時情報を過去に向けて（例えば、データオブジェクトの作成日時まで戻って）追跡、分析して、一般的なアクセスパターン、経時的なアクセス頻度、及び／または、ある特定の時（例えば、毎金曜日、特定の日付もしくはその頃で一年に一度、各月末など）のアクセスパターン等の１つまたは複数の次元を決定し得る。
【００２３】
日時アクセス情報を経時的に追跡することに加えて、少なくとも一部の実施形態は、また、他のアクセス関連の情報、例えば、どのユーザ（単数または複数）またはアプリケーション（単数または複数）がデータオブジェクトにアクセスしたかを、追跡及び分析して、ストレージ決定の基にすることができる１つまたは複数の追加の次元を提供し得る。ユーザ関連のアクセス情報を用いる実施例として、経時的に追跡されるアクセス情報の分析によって、周期的にまたは非周期的にデータオブジェクトにアクセスする特定のユーザまたはアプリケーションが、１つまたは複数の他のデータオブジェクトにも、同時にまたは同じ頃にアクセスすることを決定し得る。従って、このユーザまたはアプリケーションが、そのデータオブジェクトの１つにアクセスすると、他のデータオブジェクト（単数または複数）にもアクセスされる可能性が高い。従って、それらのデータオブジェクトはグループ化することができ、ストレージ決定は、そのグループに従って行い得る（例えば、データオブジェクトのグループを、同じストレージソリューションに一緒に格納すること、または、グループ内のデータオブジェクトのいずれかがアクセスされると、そのグループのデータオブジェクトの全てをアクセスがより容易なストレージソリューションに移動させること）。
【００２４】
少なくとも一部の実施形態においては、オブジェクトの関係または相関関係、例えば、時間的関係は、データオブジェクトのグループを決定するために考慮、使用し得る１つまたは複数の他の次元を提供し得る。例えば、ストレージシステムのデータオブジェクトについて追跡したアクセス情報を分析して、めったにアクセスされないデータオブジェクトのグループ（同じタイプであり得るが、必ずしもそうでない）は、アクセスされる時に、一緒にアクセスされる傾向があることを決定し得、従って、その時間的に関係するオブジェクトを１グループとして、ストレージ決定を行い、適用し得る。
【００２５】
少なくとも一部の実施形態においては、ユーザのアクセスパターンは、ストレージ決定を行う際、ストレージ管理方法が考慮し得る他の次元であり得る。例えば、アクセスパターンは、上記のように経時的に追跡され得、かつ、アクセスパターンを用いて、例えば、一か月に一度、四半期に一度、または、一年に一度など、ある間隔を置いてアクセスされる傾向があるデータオブジェクトのグループ、または、特定のユーザによって一緒にアクセスされる傾向があるオブジェクトのグループを決定し得る。
【００２６】
少なくとも一部の実施形態においては、オブジェクトメタデータ（例えば、所有権、アクセス許可（例えば、特定のユーザに与えられた読み取り／書き込み許可）、タイムスタンプ（作成、最後の書き込み、最後の読み取り等）、及び、ストレージシステムに保持され得るデータオブジェクトに関連する任意の他のメタデータ）は、ストレージ決定を行う際に、ストレージ管理方法が考慮し得る１つまたは複数の他の次元を提供し得る。
【００２７】
少なくとも一部の実施形態においては、クライアント指定の優先順位は、例えば、サービスプロバイダとのサービスレベル合意書（ＳＬＡ）で表し得、また、ストレージ決定の際、ストレージ管理方法が考慮し得る１つまたは複数の次元を提供し得る。例えば、サービスプロバイダは、種々のクライアントに対して、または、単一のクライアントのためのデータオブジェクトの種々のセットに対して、種々のレベルのＳＬＡを提供または取り決め得る。クライアントについてのＳＬＡの情報は、クライアントのデータについてのストレージソリューションまたは層の決定に用い得る。限定のためでない実施例として、あるクライアントとのＳＬＡは、そのクライアントのデータオブジェクトは、データオブジェクトに対する要求を受信してから一定の期間内（例えば、２時間以内、または、４時間以内）アクセス可能であると規定し得、他のクライアントとのＳＬＡは、何らかのほかの期間（例えば、６時間または１２時間）を規定し得る。この情報を用いて、様々なクライアントのデータオブジェクトをストレージシステムの種々のストレージソリューションまたは層にマッチ及び分配して、クライアントのデータオブジェクトに適切なアクセスタイムを提供し得る。他の実施例としては、クライアントとのＳＬＡは、クライアントのデータオブジェクトの１つのグループ（例えば、オンライントランザクションレコード）は、常に、可能な限り早くアクセス可能であり（例えば、ストレージシステムの最上位層）、クライアントのデータオブジェクトの他のグループ（例えば、バックアップ、冗長データ等）は、より幾分長い期間（例えば、２時間、４時間、または、より長い時間）内、アクセス可能と、規定し得る。この情報を用いて、クライアントのデータオブジェクトのグループをストレージシステムの種々のストレージソリューションまたは層にマッチ、分配して、クライアントのデータオブジェクトの様々なグループに適切なアクセスタイムを提供し得る。
【００２８】
少なくとも一部の実施形態においては、ストレージ管理モジュールは、データオブジェクトに関する情報の収集、そのデータオブジェクトを複数の次元に従ってグループに分類、及び、そのグループについて特定のストレージソリューションの決定、を行い得る。しかしながら、一部の実施形態においては、ユーザ入力、例えば、データオブジェクトの特定のセットを所有するクライアントからの入力を用いて、少なくとも一部のデータオブジェクトについてのストレージソリューションまたは層を指定し得る。
【００２９】
図３は、ストレージ管理方法の実施形態を実装し得るストレージシステムの実施例の論理的ビューを示すブロック図である。ストレージシステムは、例えば、サービスプロバイダのネットワーク上で実装されるストレージサービスであり得、当該ネットワークは、インターネット等の中間ネットワークを介して仮想ストレージをクライアントに提供する。ストレージシステムは、ストレージ管理モジュール３０２として、または、ストレージ管理モジュール３０２内において、ストレージ管理方法の実施形態を実装し得るストレージアプリケーション３００を含み得る。ストレージアプリケーション３００は、ストレージシステムに格納されたデータオブジェクトのメタデータのストアも保持し得る。ストレージアプリケーション３００は、１つまたは複数のコンピュータ装置上で実装され得る。ストレージアプリケーション３００を実装し得るコンピュータ装置の実施例を図８に示す。
【００３０】
ストレージシステムは、ストレージの２つ以上の層またはレベルを含み得る。この実施例においては、ストレージシステムは、データオブジェクト３５０Ａを格納する最上位層３１０と、データオブジェクト３５０Ｃを格納する最下位層３１４と、データオブジェクト３５０Ｂを格納する１つまたは複数の中間層３１２と、を含む。最上位層３１０は、例えば、半導体ドライブ（ＳＳＤ）技術装置を含み得る。少なくとも１つの中間層３１２は、例えば、ハードディスクドライブ（ＨＤＤ）技術装置を含み得る。最下位層３１４は、例えば、データオブジェクト３５０Ｃを、磁気テープ、光ディスク、または、他の取り外し可能な永続ストレージ媒体に格納することを伴い得る。少なくとも一部の実施形態においては、最下位層３１４ストレージとして使用される媒体（例えば、テープ媒体）は、所要電力が低く、温度、湿度の調節が低い、もしくは最小レベルである設備に保管され得る。しかしながら、２層、３層、または、それ以上の層があり得、それらの層のうちの種々の層は、この実施例で与えられるものと異なる種類のストレージ技術を含み得、かつ、所与の層は、１つ、２つ、または、それ以上の種類のストレージ技術を含み得ることに留意されたい。
【００３１】
ストレージアプリケーション３００は、ストレージシステムに格納する新しいデータオブジェクトを１つまたは複数のクライアント３６０から受信し得る。ストレージアプリケーション３００は、また、格納されたデータオブジェクト３５０へのアクセス要求をクライアント（単数または複数）３６０から受信し得る。さらに、ストレージアプリケーション３００は、一部のデータオブジェクト、例えば、ストレージシステムに格納されたクライアントデータのためのバックアップ、複製、または、冗長データオブジェクトを内部で生成し得る。
【００３２】
ストレージ管理モジュール３０２は、オブジェクトの年数、アクセス頻度、アクセスパターン、オブジェクトタイプ、オブジェクト関係、及び、オブジェクトメタデータを含むが、それらに限定されない、データオブジェクトについての情報を収集し得、収集した情報から決定された複数の次元に基づいて、ストレージシステム内の、または、ストレージシステムに入れる、データオブジェクトについてのストレージ決定を行い得る。少なくとも一部の実施形態においては、クライアント３６０がストレージシステムに格納しようとする新しいデータオブジェクトについて、及び、既にストレージシステムに存在するデータオブジェクト３５０について、情報を収集し得る。ストレージ管理モジュール３０２によるストレージ決定は、１つまたは複数のデータオブジェクトを、指定したストレージ層に格納、移動、または、コピーするように、ストレージアプリケーション３００、及び／または、ストレージ層の１つに指示し得る。
【００３３】
一部の実施形態においては、クライアント（単数または複数）３６０によってストレージシステムに格納される新しいデータオブジェクトは、少なくとも最初は最上位層３１０に格納され得る。あるいは、一部の実施形態においては、ストレージ管理モジュール３０２は、新しいデータオブジェクトに関する少なくとも一部の情報を収集し得、その情報の１つまたは複数の他の次元（考慮し得る１つの次元である、オブジェクトの年数は「新しい」であることに留意する）に基づいて新しいデータオブジェクトについてストレージ決定を行い得る。例えば、一部の実施形態においては、ストレージ管理モジュール３０２は、クライアント３６０がストレージシステムに格納しようとしているデータオブジェクトのタイプを調べ得、少なくとも部分的にオブジェクトのタイプに基づいて、そのデータオブジェクトをどのストレージ層に格納すべきか決定し得る。例えば、データオブジェクトが、クライアント３６０からのバックアップデータであると決定された場合、ストレージ管理モジュール３０２は、そのデータオブジェクトは、アクセスされそうにないと決定し得、従って、そのデータオブジェクト（単数または複数）を、最上位層３１０ではなく、最下位層３１４またはその代わりに中間層３１２に格納するように指示し得る。他の実施例としては、データオブジェクトが、クライアント３６０からの監査データ（例えば、アーカイブに保管しようとする電子メール）であると決定された場合、ストレージ管理モジュール３０２は、そのデータオブジェクトは、アクセスされそうにないと決定し得、従って、そのデータオブジェクト（単数または複数）を、最上位層３１０ではなく、最下位層３１４またはその代わりに中間層３１２に格納するように指示し得る。少なくとも一部の実施形態においては、新しいデータオブジェクトについて収集された情報が、ストレージ決定に不十分な場合（例えば、オブジェクトタイプが分からない場合）、その新しいデータオブジェクトは、デフォルト設定により、最初は最上位層３１０に格納され得る。
【００３４】
一部の実施形態において、クライアント３６０は、ストレージシステムに格納されようとする特定の新しいデータオブジェクト、もしくは、新しいデータオブジェクトのグループ、またはその代わりに、既にストレージシステムに格納されているデータオブジェクトに対して、ストレージ命令を提供し得る。ストレージ命令は、例えば、特定のストレージソリューションまたはストレージ層にデータオブジェクト（単数または複数）を格納するようにストレージアプリケーション３００に指示し得る。クライアント３６０からのストレージ命令は、従って、ストレージ管理モジュール３０２からの決定をオーバーライドし得、あるいはその代わりに、各データオブジェクト（単数または複数）についてストレージ決定を行う際、考慮し得る追加情報として、ストレージ管理モジュール３０２に入力され得る。
【００３５】
少なくとも一部の実施形態においては、ストレージ管理モジュール３０２は、周期的にまたは非周期的に、ストレージ層の１つまたは複数に格納されているデータオブジェクト３５０についての情報を収集し得、その情報の１つまたは複数の次元に基づいて、データオブジェクト３５０についてのストレージ決定を行い得る。ストレージ管理モジュール３０２は、また、クライアント３６０から受信したアクセス要求に応答して、特定のデータオブジェクト３５０について、ストレージ決定を行い得る。ストレージシステムに格納されたデータオブジェクト３５０について行ってよいストレージ決定の幾つかの実施例を以下に示す。これらの実施例は、包括的でも限定的でもないことに留意されたい。
【００３６】
少なくとも一部の実施形態においては、ストレージ管理モジュール３０２は、最上位層３１０のデータオブジェクト３５０Ａについての情報を収集し得、その情報の複数の次元、例えば、データオブジェクト３５０Ａの年数及びアクセス頻度に基づいて、データオブジェクト３５０Ａを中間層３１２に移すか否か、最下位層３１４に移すか否かを決定し得る。例えば、少なくとも一部の実施形態においては、あるデータオブジェクト３５０Ａが、年数閾値より古く、一度もアクセスされていない場合、ストレージ管理モジュール３０２は、そのデータオブジェクト３５０Ａを最下位層３１４に移す決定をし得る。あるデータオブジェクトが、年数閾値よりも新しく、一度もアクセスされていない場合、ストレージ管理モジュール３０２は、そのデータオブジェクト３５０Ａを第１の中間層３１２に移す決定をし得る。あるデータオブジェクトが、年数閾値よりも古く、アクセスされたことがある場合、ストレージ管理モジュール３０２は、そのデータオブジェクト３５０Ａを第２の中間層３１２に移す決定をし得る。まだ新しく、アクセスされたことがあるデータオブジェクト３５０Ａは、最上位層３１０に残され得る。
【００３７】
少なくとも一部の実施形態においては、これらの決定を行う際に、ストレージ管理モジュール３０２は、オブジェクトの年数及びアクセス頻度以外の次元の情報を考慮し得る。例えば、一部の実施形態においては、データオブジェクト３５０Ａのセット間の関係を考慮し得る。実施例として、ストレージ管理モジュール３０２は、めったにアクセスされないデータオブジェクト３５０Ａのセットは、一緒にアクセスされる傾向があり得ると決定し得、従って、そのセット内のデータオブジェクト３５０Ａの１つまたは複数が最近アクセスされた場合、ストレージ管理モジュール３０２は、そのセット内のデータオブジェクト３５０Ａの全てを、最上位層３１０にセットで残す決定をし得る。他の実施例として、ストレージ管理モジュール３０２は、決定を行う際、オブジェクトタイプを考慮し得る。例えば、最上位層３１０で見つけられるアクセスされそうにない一定のタイプであることが分かっているデータオブジェクト３５０Ａ（例えば、バックアップまたは監査データ）は、年数またはアクセス頻度に関わらず、より下位の層に移され得、よりアクセスされる可能性が高い他のタイプであることが分かっているデータオブジェクト３５０Ａ（例えば、データベースオブジェクト）は、年数またはアクセス頻度に関わらず、最上位層３１０に残し得る。
【００３８】
少なくとも一部の実施形態においては、ストレージ管理モジュール３０２は、中間層３１２のデータオブジェクト３５０Ｂについての情報を取得または収集し得、その情報の複数の次元に基づいて、最上位層３１０、他の中間層３１２、または、最下位層３１４にデータオブジェクト３５０Ｂを移すか否かを決定し得る。少なくとも一部の実施形態においては、データオブジェクト３５０Ｂの少なくとも年数及びアクセス頻度を考慮し得る。例えば、あるデータオブジェクト３５０Ｂが年数閾値（最上位層３１０に用いられる年数閾値と異なり得るが、必ずしもそうではない）より古く、一度もアクセスされなかったことが決定されると、ストレージ管理モジュール３０２は、そのデータオブジェクト３５０Ｂをより下位の中間層３１２または最下位層３１４に移すことを決定し得る。他の実施例として、ストレージ管理モジュール３０２が、データオブジェクト３５０Ｂが最近アクセスされたと決定する場合、ストレージ管理モジュール３０２は、データオブジェクト３５０Ｂをより上位の中間層３１２または最上位層３１０に移すことを決定し得る。中間層３１２のデータオブジェクト３５０Ｂに対するアクセス要求を受信することによって、データオブジェクト３５０Ｂは、より上位の層（例えば、より上位の中間層３１２または最上位層３１０)に移され得ることに留意されたい。
【００３９】
少なくとも一部の実施形態においては、オブジェクトの年数及びアクセス頻度以外の次元の情報、例えば、オブジェクトタイプ及びオブジェクト関係は、例えば、最上位層３１０のデータオブジェクト３５０Ａに関して上述したように、中間層（単数または複数）のデータオブジェクト３５０Ｂについてこれらの決定を行う際、ストレージ管理モジュール３０２によって考慮され得る。実施例として、ストレージ管理モジュール３０２は、めったにアクセスされないデータオブジェクト３５０Ｂのセットは一緒にアクセスされる傾向があると決定し得、従って、そのセット内のデータオブジェクト３５０Ｂの１つまたは複数が最近アクセスされた場合、ストレージ管理モジュール３０２は、そのセット内のデータオブジェクト３５０Ｂの全てを最上位層３１０に移す決定をし得る。
【００４０】
少なくとも一部の実施形態においては、ストレージ管理モジュール３０２は、ストレージシステムのデータオブジェクト３５０へのアクセス情報を追跡、及び／または、マイニングし得、１つまたは複数のアクセスメトリクス（アクセス日時、ユーザＩＤ等）に基づいてそのアクセス情報を分析して、様々なアクセスパターンまたはその組み合わせに基づいた１つまたは複数のデータオブジェクトのグループを決定し得る。少なくとも一部の実施形態においては、データオブジェクトのアクセス情報を経時的に追跡し得、追跡したアクセス情報を用いて、ストレージ決定の基にすることができる１つまたは複数の追加の次元を提供し得る。例えば、データオブジェクトへの複数のアクセスに関する日時情報を、過去に遡って（例えば、データオブジェクトの作成日時まで戻って）追跡及び分析して、一般的なアクセスパターン、経時的なアクセス頻度、及び／または、一定の時間（例えば、毎金曜日、ある特定の日付またはその頃に一年に一度、各月末など）のアクセスパターン等、１つまたは複数の次元を決定し得る。
【００４１】
少なくとも一部の実施形態において考慮し得る他の次元は、ユーザのアクセスパターンである。例えば、ストレージ管理モジュール３０２は、１つまたは複数のデータオブジェクト３５０のセット（同じタイプであり得るか、または、あり得ない）が、ある間隔を置いて、例えば、一か月に一度、四半期に一度、または、一年に一度、アクセスされる傾向にあることを決定し得る。ストレージ管理モジュール３０２は、その間隔に従って、データオブジェクト３５０のセットを、下位の層（例えば、中間層３１２または最下位層３１４）から上位の層（例えば、最上位層３１０）に移し得、データオブジェクト３５０がもはやアクセスされなくなると、データオブジェクト３５０のセットを、下位の層（例えば、中間層３１２または最下位層３１４）に移し得る。
【００４２】
少なくとも一部の実施形態においては、例えば、サービスプロバイダとのサービスレベル合意書（ＳＬＡ）に示されたクライアント指定の優先順位は、ストレージ決定を行う際、ストレージ管理モジュール３０２が考慮し得る１つまたは複数の次元を提供し得る。例えば、サービスプロバイダは、種々のレベルのＳＬＡを、種々のクライアントに、または、単一のクライアントのデータオブジェクトの種々のセットに提供し得る。クライアントのデータについてストレージソリューションまたは層を決定する際、ＳＬＡ内のクライアントについての情報を用い得る。
【００４３】
少なくとも一部の実施形態においては、最下位層３１４のデータオブジェクト３５０Ｃは、データオブジェクト３５０Ｃへのアクセス要求がクライアント３６０から受信されなければ、最下位層３１４に居続ける傾向があり得る。しかしながら、ストレージ管理モジュール３０２は、最下位層のデータオブジェクト３５０Ｃの１つまたは複数の次元を考慮し得、その結果として、下位の層３１４のデータオブジェクト３５０Ｃの１つまたは複数を上位の層（例えば、中間層３１２または最上位層３１０）に移動またはコピーする決定をし得る。例えば、上記のように、ユーザのアクセスパターンの結果、データオブジェクト３５０Ｃのセットを上位の層に移動またはコピーし得る。他の実施例として、一緒にアクセスされる傾向のある、時間的に関係したデータオブジェクト３５０Ｃのセット内のデータオブジェクト３５０Ｃの全ては、そのセット内の少なくとも１つのデータオブジェクト３５０Ｃがアクセスされた場合、最下位層３１４から上位の層に移動またはコピーされ得る。
【００４４】
前述の通り、一部の実装においては、ストレージシステムの最下位層３１４は、磁気テープまたは他の取り外し可能な永続媒体にデータオブジェクト３５０Ｃを格納することを伴い得る。最下位層３１４ストレージとして用いられる媒体（例えば、テープ媒体）は、所要電力が低く、かつ、温度、湿度の調節が低いかまたは最小限であり得る別個の設備に移動、保管され得る。少なくとも一部の実施形態においては、最下位層３１４は、データオブジェクト３５０のコールドアーカイバルストレージと考え得る。データオブジェクト３５０の移動、及び、データオブジェクト３５０の最下位層３１４からの取り出しのコストは、従って、非常に高くなり得るが、データオブジェクト３５０の単位当たりの格納コストはとても低くなり得る。
【００４５】
一部の実施形態においては、データオブジェクト３５０Ｃにアクセスする必要がある時、データオブジェクト３５０Ｃを最下位層３１４から取り除いて、上位の層（例えば、最上位層３１０)に移し、後に、データオブジェクト３５０がもはやアクセスされなくなると、データオブジェクト３５０を最下位層３１４に移す代わりに、データオブジェクト３５０Ｃのコピーを作成して、上位の層に移し得、データオブジェクト３５０Ｃのオリジナルを最下位層３１４の媒体に格納したままにし得る。上位の層のデータオブジェクト３５０のコピーがもはやアクセスされなくなると、データオブジェクト３５０のコピーは、その上位層から単に削除（または、ガーベージコレクションのためにフラグを立てる）することができる。一部の実装においては、類似の方法を用いて、データオブジェクト３５０Ｂを中間層３１２から上位の層（例えば、最上位層３１２）にコピーし得る。
【００４６】
図４は、ストレージ管理方法の実施形態を実装可能なストレージシステムの物理的実装例を示す。例えば、図３に示すストレージシステムの実施例の論理的ビューは、図４に示す例に従って実装され得る。
【００４７】
図４は、また、サービスプロバイダ４００によって実装されるストレージサービスとして、ストレージシステムを示す。ストレージサービスは、プロバイダネットワーク上で実装され得、インターネット等の中間ネットワークを介して、サービスプロバイダ４００の複数のクライアント４６０に遠隔ストレージを提供し得る。一部の実装においては、少なくとも一部のクライアント４６０は、サービスプロバイダ４００のネットワークインフラストラクチャを介してストレージサービスにアクセス可能なサービスプロバイダ４００内のプロセスであり得る。クライアント４６０は、ストレージサービスＡＰＩ４０４を介してストレージサービスにアクセスし、ストレージサービスが提供するストレージにおいてデータを読み書きし得る。クライアント４６０が格納するデータは、少なくとも一部の場合には、マルチテナントストレージハードウェアに格納され得る。すなわち、２つ以上のクライアント４６０は、ストレージシステム内の同じストレージ装置（単数または複数）に格納され得、任意の１つのクライアント４６０のデータは、ストレージシステム内の２つ以上のストレージ装置にわたって散在し得る。ストレージサービスソフトウェア及び／またはハードウェアコンポーネント（ストレージアプリケーション４０２として示される）は、ストレージシステム内の物理的ストレージ装置（単数または複数）へのクライアントデータの格納、及び、そこからのクライアントデータの取り出しを管理し得る。ストレージサービスは、ＡＰＩ４０４を介して、各クライアント４６０に仮想ストレージとしてストレージを提示し得る。すなわち、各クライアント４６０は、例えば、仮想ディスクまたはボリュームとして、ストレージシステムの自分のデータをビューし得、自分のデータにアクセス（読み書き）し得るが、他のクライアントのデータは、クライアント４６０によって、ビューもアクセスもできない。
【００４８】
サービスプロバイダ４００は、１つまたは複数のデータセンタ４２０内、または、当該データセンタ４２０にわたって、サービスプロバイダネットワークを実装し得る。各データセンタ４２０は、何百または何千のネットワーク化されたストレージ装置（例えば、ラックマウント方式のストレージ装置）を含み得、当該ストレージ装置上で、ストレージサービスは、ストレージサービスが提供するデータストレージと、サーバ、ネットワーク装置（ルータ、スイッチ、ロードバランサ等）、配線（例えば、光ファイバケーブル等のデータケーブル、及び、電力ケーブル）などの他のハードウェアと、を実装及び保持する。ハードウェアのコストに加えて、データセンタ４２０は、データセンタ４２０内のネットワーク装置、サーバ装置、ストレージ装置、及び、他のハードウェア装置に電力が供給されるので、典型的には、所要電力とコストの高い物理的設備であり得、また、その設備は、典型的には、温度、湿度が調節されて、ハードウェアを保護し、電気機器の熱負荷を相殺する。
【００４９】
少なくとも一部の実装においては、データセンタ（単数または複数）のストレージサービスで用いられる物理的データストレージ装置は、アクセス特性を含むがそれに限られない特性と、コストが異なる２つ以上の異なる種類のストレージ装置を含み得る。例えば、一部のストレージ装置は、フラッシュメモリ技術装置または半導体ドライブ（ＳＳＤ）技術装置等の、アクセス時間が比較的高速で、（かつ、比較的、所要電力が高くなり得る）比較的高価なストレージ装置であり得、他のストレージ装置は、商品用ハードディスクドライブ（ＨＤＤ）技術装置等の、アクセス時間が遅く（かつ、比較的、所要電力が低くなり得る)、より安価な装置であり得る。
【００５０】
少なくとも一部の実施形態においては、サービスプロバイダは、従って、データセンタ（単数または複数）４２０内に、異なるコスト及び特性を有するストレージ装置の２つ以上の層を実装し得、ストレージサービスは、（例えば、ストレージアプリケーション４０２内のストレージ管理モジュール４０６として実装される）ここに記載のストレージ管理方法を活用して、クライアントのデータオブジェクトをその層にわたって分配し得る。例えば、図３に示すように、ストレージサービスは、最上位層のストレージソリューション４１０として半導体ドライブ（ＳＳＤ）技術装置を用い得、中間層のストレージソリューション４１２として商品用ハードディスクドライブ（ＨＤＤ）技術装置を用い得る。他の技術装置を用いて、データセンタ（単数または複数）４２０において１つまたは複数の追加の中間層４１２を実装し得ることに留意されたい。
【００５１】
サービスプロバイダ４００は、また、ストレージシステムの最下位層またはアーカイバルストレージで用い得る１つまたは複数のストレージ設備４３０を実装し得る。ストレージ設備４３０は、データセンタ４２０の設備に隣接しているか、近くにあり得るか、もしくは、その中にもあり得、または、任意のデータセンタ４２０から地理的に離れ得ることに留意されたい。ストレージ設備４３０は、基本的に、磁気テープまたは光ディスク等の永続的なオフラインストレージ媒体を格納するためのウェアハウスであり得、従って、所要電力は低く、温度、湿度の調節も低いかまたは最小限であり得る。少なくとも一部の実施形態においては、１つまたは複数のストレージ設備４３０は、テープや光ディスク等の取り外し可能な、永続ストレージ媒体に格納されたデータオブジェクトのためのコールドアーカイバルストレージと考え得る。ストレージ設備４３０へのデータの移動、及び、ストレージ設備４３０からのデータの取り出しのコストは、従って、非常に高くなる場合があり、ストレージ設備４３０にデータを格納する単位当たりのコストは、とても低くなり得る。
【００５２】
ストレージサービスは、ここに記載のストレージ管理方法を活用して、アーカイブに保管することができるデータオブジェクトを検出し、検出したデータオブジェクトの、データセンタ４２０の最上位層及び／または中間層から１つまたは複数のストレージ設備４３０への移動を指示し得る。例えば、ストレージ管理方法を用いて、データセンタ（単数または複数）４２０の最上位層４１０及び／または中間層４１２に格納されるデータオブジェクトに関する情報を収集、分析し得、年数、アクセス頻度、タイプ、及び、オブジェクト間の関係等の、その情報の１つまたは複数の次元に従って、アーカイブに保管することができ、従って、ストレージ設備４３０のアーカイバルストレージに移すことができるデータオブジェクトの１つまたは複数のグループを決定し得る。次に、そのデータオブジェクトの１つまたは複数のグループは、前記層（単数または複数）にあるストレージ装置から、テープまたは光ディスク等の取り外し可能な永続ストレージ媒体に移動またはコピーされ得、そして、そのストレージ媒体は、１つまたは複数のストレージ設備４３０に移されて、格納され得る。あるいは、データオブジェクトの１つまたは複数のグループは、（例えば、高速ネットワーク接続を介して）電子的にストレージ設備４３０に送信され得、ストレージ設備４３０でストレージ媒体に書き込まれ得る。
【００５３】
ストレージサービスはまた、ここに記載のストレージ管理方法を活用して、１つまたは複数のストレージ設備４３０から取り出されるデータオブジェクトを検出し得、検出したデータオブジェクトの、１つまたは複数のストレージ設備４３０からデータセンタ４２０の最上位層４１０または中間層４１２への移動またはコピーを指示し得る。例えば、ストレージ管理方法を用いて、ストレージ設備４３０に格納されたデータオブジェクトに関する情報を収集、分析し得、オブジェクト間の関係、ユーザのアクセスパターン等、その情報の１つまたは複数の次元に従って、アクセスが容易になるように、ストレージ設備４３０のアーカイバルストレージから取り出して、データセンタ４２０の最上位層４１０または中間層４１２に移動またはコピーすることができる１つまたは複数のグループのデータオブジェクトを決定し得る。データオブジェクトの１つまたは複数のグループを含むストレージ媒体は、次に、ストレージ設備４３０から取り出され得、データセンタ（単数または複数）４２０のストレージ層の１つまたは複数にデータオブジェクトのグループ（単数または複数）を移動またはコピーするのに用いられ得る。一部の実施形態においては、データオブジェクトのグループ（単数または複数）のコピーは、ストレージ媒体に行われ得、コピーを含むストレージ媒体は、データセンタ（単数または複数）４２０に移され得、そこで、そのストレージ媒体を用いて、データセンタ（単数または複数）のストレージ層の１つまたは複数においてデータオブジェクトのグループのコピーを作成し得る。あるいは、データオブジェクトの１つまたは複数のグループは、（例えば、高速ネットワーク接続を介して）ストレージ設備４３０からデータセンタ（単数または複数）４２０に電子的に送信され得る。
【００５４】
一部の実施形態においては、ストレージ設備４３０のストレージ媒体からデータセンタ４２０のストレージ層（例えば、最上位層４１０）にデータオブジェクトのグループを移し、後に、そのデータオブジェクトがアクセスされなくなると、そのデータオブジェクトをストレージ設備４３０に戻す代わりに、データオブジェクトのコピーを作成して、データセンタ４２０に移し得、データオブジェクトを含むオリジナルのストレージ媒体は、ストレージ設備４３０にとどまったままであり得る。データセンタ４２０のデータオブジェクトのコピーは、もはやアクセスされなくなると、そのコピーは、データセンタ４２０のストレージ装置から単に削除（または、ガーベージコレクションのためのフラグを立てる）することができる。 
【００５５】
図３及び図４に示すデータストレージシステムにおいては、ストレージ管理方法を用いて、アクセス特性及び／またはストレージコストに従って階層的に配置され得る２つ以上のストレージ層にわたるデータオブジェクトの格納を指示する。しかしながら、ストレージ管理方法は、また、種々の特性を有する複数の種々のストレージソリューションを含むデータストレージシステムに適用して、データオブジェクトの決定されたグループを、そのデータオブジェクトに関する情報の複数の次元の分析に従って、例えば、クラスタ分析技術によって、そのグループに最も適していると思われる特定のストレージソリューションに格納するように指示し得る。データオブジェクトのクラスタまたはグループを決定するための複数の次元に関するクラスタ分析の実施例については、図２Ｂを参照されたい。次に、グループの特性を調べて、ストレージシステムの様々なストレージソリューションの特性と比較して、そのグループを特定のストレージソリューションにマッチさせ得る。データオブジェクトのグループは、次に、決定されたストレージソリューションに格納または移され得る。
【００５６】
図５は、少なくとも一部の実施形態に係る、クラスタ分析技術を用いて、データオブジェクトのグループをストレージソリューションにマッチさせる多次元ストレージ管理方法の高レベルフローチャートである。５００に示すように、データストレージシステムの複数のストレージソリュ.ーションの特性と能力を決定し得る。５０２に示すように、ストレージ管理方法は、データストレージシステムのデータオブジェクトに関する情報を取得する。例えば、ストレージ管理方法は、ストレージアプリケーションソフトウェアに保持されるストレージシステムに格納されたデータオブジェクトのオブジェクトメタデータから情報を収集し得る。データオブジェクトは、ストレージシステムに既に格納されているデータオブジェクトであり得、または、ストレージシステムに格納されようとする新しいデータオブジェクトであり得る。５０４に示すように、取得した情報にクラスタ分析技術を適用して、情報の複数の次元に従って、データオブジェクトのグループを決定し得る。５０６で示すように、決定されたグループは、ストレージソリューションの特性と能力に従って、特定のストレージソリューションにマッチさせ得る。５０８で示すように、ストレージ管理方法は、決定されたストレージソリューションに従って、グループ単位でデータオブジェクトの格納を指示し得る。ストレージシステムのデータオブジェクト（単数または複数）に関する新しい情報を取得すると、ストレージ管理方法は、新しい情報を含む分析に従って、データオブジェクト（単数または複数）の、１つのストレージソリューションから他のストレージソリューションへの移動を指示し得る。
【００５７】
図６は、少なくとも一部の実施形態に係る、ストレージシステムの実施例の論理的ビューを示すブロック図である。ここでは、ストレージ管理方法の実施形態を用いて、データオブジェクトのクラスタを決定し、そのデータオブジェクトを複数のストレージソリューション間に分配し得る。ストレージシステムは、ストレージアプリケーション６００を含み得、ストレージアプリケーション６００は、ストレージ管理モジュール６０２として、または、ストレージ管理モジュール６０２内において、ストレージ管理方法の実施形態を実装し得る。ストレージアプリケーション６００は、また、ストレージシステムに格納されたデータオブジェクトのメタデータのストアを保持し得る。ストレージアプリケーション６００は、１つまたは複数のコンピュータ装置上で実装され得る。ストレージアプリケーション６００を実装し得るコンピュータ装置の実施例を図８に示す。
【００５８】
ストレージシステムは、それぞれ、異なる特性と能力を有する複数の異なるストレージソリューションを含み得る。この実施例は、７つの異なるストレージソリューション６１０、６１２、６１４、６２０、６２２、６２４、６３０を示すが、それらに限定することは意図していない。ストレージソリューション６１０、６１２、６１４は、フラッシュメモリ技術装置、半導体ドライブ（ＳＳＤ）技術装置、及び、高速磁気ディスク技術装置等の、比較的、高速のアクセス時間を有する、比較的、高価なストレージソリューションであり得る。ストレージソリューション６２０、６２２、６２４は、商品用ハードディスクドライブ（ＨＤＤ）技術装置及び光ディスク技術装置等のアクセス時間がより遅く、より安価なストレージソリューションであり得る。ストレージソリューション６３０は、データへのアクセスは高価になり得るが、単位当たりのストレージコストは最も安くなり得る最も安価なストレージソリューションであり得る。ストレージソリューション６３０は、例えば、磁気テープ、光ディスク、または、他の取り外し可能な永続ストレージ媒体にデータオブジェクトを格納すること、所要電力の低い、温度、湿度の調節が低いかまたは最小レベルの設備に、その媒体を移して格納することと、を伴い得る。
【００５９】
ストレージソリューション６１０、６１２、６１４、６２０、６２２、６２４で用いられる様々な装置は、コスト（例えば、ストレージ単位当たり）、消費電力、容量、スループット、アクセススピード、及び、環境要件などの１つまたは複数の特性及び能力が異なり得る。信頼性メトリクスまたは統計（例えば、故障率、平均故障間隔（ＭＴＢＦ））等の装置の他の特性も異なり得る。
【００６０】
ストレージアプリケーション６００は、ストレージシステムに格納する新しいデータオブジェクトを１つまたは複数のクライアント６６０から受信し得る。ストレージアプリケーション６００は、また、格納されたデータオブジェクトへのアクセス要求をクライアント（単数または複数）６６０から受信し得る。さらに、ストレージアプリケーション６００は、一部のデータオブジェクト、例えば、ストレージシステムに格納されたクライアントデータのためのバックアップ、複製、または、冗長データオブジェクトを内部で生成し得る。
【００６１】
一部の実施形態においては、クライアント６６０は、ストレージシステムに格納しようとする特定の新しいデータオブジェクトもしくは新しいデータオブジェクトのグループ、またはその代わりに、ストレージシステムに既に格納されているデータオブジェクトに、ストレージ命令を提供し得る。ストレージ命令は、例えば、特定のストレージソリューションまたはストレージ層にデータオブジェクト（単数または複数）を格納するようにストレージアプリケーション６００に指示し得る。クライアント６６０からのストレージ命令は、従って、ストレージ管理モジュール６０２からの決定をオーバーライドし得、あるいはその代わりに、各データオブジェクト（単数または複数）についてのストレージを決定する際に、考慮し得る追加情報として、ストレージ管理モジュール６０２に入力され得る。
【００６２】
ストレージ管理モジュール６０２は、ストレージシステム内にある、または、ストレージシステムに入れられるデータオブジェクトの情報を収集してよく、収集した情報（例えば、オブジェクトの年数、アクセス頻度、オブジェクトタイプ、オブジェクト関係、オブジェクトメタデータ、ユーザのアクセスパターン等）から決定した複数の次元の分析に基づいて、データオブジェクトのグループを決定し得る。少なくとも一部の実施形態においては、クラスタ分析技術を用いてデータオブジェクトのクラスタまたはグループを決定し、そのクラスタを特定のストレージソリューションにマッチさせ得る。従って、データオブジェクトのグループの特性または要件を調べて、様々なストレージソリューションの特性及び能力と比較して、そのグループを特定のストレージソリューションにマッチさせ得る。これによって、ストレージ管理モジュール６０２によるストレージ決定を生成する。ストレージ管理モジュール６０２は、１つまたは複数のデータオブジェクトを、そのデータオブジェクトが属するグループについて決定されたストレージソリューションに、格納、移動またはコピーするようにストレージアプリケーション６００及び／またはストレージソリューションの１つまたは複数に指示し得る。
【００６３】
一部の実施形態においては、クライアント（単数または複数）６６０によってストレージシステムに格納された新しいデータオブジェクトは、少なくとも最初は、デフォルトストレージソリューション、例えば、ストレージソリューション６１０、６１２、６１４のうちの１つに格納され得る。あるいは、新しいオブジェクトは、オブジェクトに関する情報の分析に基づいて、ストレージソリューションのいずれか１つに格納され得る。ストレージ管理モジュール６０２は、新しいデータオブジェクトに関する少なくとも一部の情報を収集し得、その情報の２つ以上の次元の分析（例えば、クラスタ分析）に基づいて、新しいデータオブジェクトのストレージソリューション（単数または複数）を決定し得る（考慮してよい１つの次元であるオブジェクトの年数は、「新しい」ことに留意する）。
【００６４】
少なくとも一部の実施形態においては、ストレージ管理モジュール６０２は、様々なストレージソリューションの１つまたは複数に以前格納したデータオブジェクトについての情報を収集し得、その情報の２つ以上の次元の分析（例えば、クラスタ分析）に基づいて、そのデータオブジェクトを他のストレージソリューションに移すか否かを決定し得る。ストレージ決定は、ストレージ管理モジュール６０２によって生成され得る。ストレージ管理モジュール６０２は、１つまたは複数のデータオブジェクトを、分析に従ってデータオブジェクトが属するグループについて決定されたストレージソリューションに、格納、移動、または、コピーするように、ストレージアプリケーション６００及び／またはストレージソリューションの１つもしくは複数に指示し得る。
【００６５】
図６において、ストレージアプリケーション６００からストレージソリューションの幾つかへの太い矢印は、ストレージ管理モジュール６０２の指示の下、新しいデータオブジェクトをストレージソリューションに格納する実施例を表す。ストレージソリューションの幾つかからストレージアプリケーション６００への太い矢印は、クライアントのアクセス要求を満たすために、ストレージソリューションからデータオブジェクトを取り出すことを表す。少なくとも一部のケースにおいては、データオブジェクトは、１つのストレージソリューションからフェッチされて、要求を行っているクライアント６６０にそのデータオブジェクトを提供する前に、他のストレージソリューションに配置され得ることに留意されたい。例えば、データオブジェクトは、ストレージソリューション６３０からフェッチされ、クライアント６６０がそのデータオブジェクトにアクセスできる前に、ストレージソリューション６１０、６１２または６１４の１つにコピーされ得る。様々なストレージソリューション間の細い矢印は、ストレージ管理モジュール６０２の指示の下、ストレージソリューション間のデータオブジェクトの移動またはコピーの実施例を表す。
【００６６】
少なくとも一部の実施形態においては、ストレージシステムによって使用可能なストレージソリューションは、１つまたは複数の他のストレージシステムまたはストレージアプリケーションを含み得る。図７は、ストレージシステムの実施例の論理的ビューを示すブロック図である。この実施例においては、ストレージ管理方法の実施形態を用いて、他のストレージアプリケーションを含む複数のストレージソリューション間でのデータオブジェクトの分配を指示し得る。ストレージシステムは、ストレージ管理モジュール７０２として、または、ストレージ管理モジュール７０２内において、ストレージ管理方法の実施形態を実装し得るストレージアプリケーション７００を含み得る。ストレージシステムは、それぞれ、異なる特性と能力を有する、１つまたは複数の異なるストレージソリューション７１０（例えば、半導体ドライブ（ＳＳＤ）技術装置、ハードディスクドライブ（ＨＤＤ）技術装置、光ディスク技術装置など）を含み得る。ストレージソリューション７１０の少なくとも１つは、例えば、磁気テープ、光ディスク、または、他の取り外し可能な永続ストレージ媒体にデータオブジェクトを格納することと、所要電力が低く、かつ、温度、湿度の調節が低いかまたは最小限の設備に、その媒体を移し、格納することを伴い得る。
【００６７】
ストレージアプリケーション７００は、格納する新しいデータオブジェクトを１つまたは複数のクライアント７６０Ａから受信し得、そのデータオブジェクトをストレージソリューション（単数または複数）７１０に格納し得る。ストレージアプリケーション７００は、また、格納されたデータオブジェクトへのアクセス要求をクライアント（単数または複数）７６０Ａから受信し得る。さらに、ストレージアプリケーション７００は、一部のデータオブジェクト、例えば、ストレージシステムに格納されたクライアントデータのためのバックアップ、複製、または、冗長データオブジェクトを内部で生成し得る。
【００６８】
この実施例においては、しかしながら、ストレージアプリケーション７７０と、１つまたは複数のストレージソリューション７８０と、を含む第２のストレージシステムは、ストレージアプリケーション７００の追加のストレージソリューションとして用い得る。ストレージアプリケーション７７０は、格納する新しいデータオブジェクトを１つまたは複数のクライアント７６０Ｂから受信し得、そのデータオブジェクトをストレージソリューション（単数または複数）７８０に格納し得る。ストレージアプリケーション７７０は、また、格納されたデータオブジェクトへのアクセス要求をクライアント（単数または複数）７６０Ｂから受信し得る。さらに、ストレージアプリケーション７７０は、格納するデータオブジェクトをストレージアプリケーション７００から受信し得、そのデータオブジェクトをストレージソリューション（単数または複数）７８０に格納し得る。ストレージアプリケーション７７０は、また、格納したデータオブジェクトへのアクセス要求をストレージアプリケーション７００から受信し得る。少なくとも一部の実施形態においては、ストレージアプリケーション７７０は、ＡＰＩを含み得、または、提供し得、ＡＰＩを介して、ストレージアプリケーション７００は、ストレージアプリケーション７７０にデータを書き込むことができ、ストレージアプリケーション７７０からデータを読み取ることができる。
【００６９】
ストレージアプリケーション７００のストレージ管理モジュール７０２は、ストレージシステム内にある、または、ストレージシステムに入れられるデータオブジェクトの情報を収集し得、収集された情報（例えば、オブジェクトの年数、アクセス頻度、オブジェクトタイプ、オブジェクト関係、オブジェクトメタデータ、ユーザのアクセスパターン等）から決定された複数の次元の分析に基づいて、データオブジェクトのグループを決定し得る。少なくとも一部の実施形態においては、クラスタ分析技術を用いて、データオブジェクトのクラスタまたはグループを決定し得る。従って、データオブジェクトのグループの特性または要件を調べ、ストレージソリューション（単数または複数）７１０を含む様々なストレージソリューションとストレージアプリケーション７７０の特性及び能力と比較して、そのグループを特定のストレージソリューションにマッチさせ得る。これによって、ストレージ管理モジュール７０２によるストレージ決定を生成する。ストレージ管理モジュール７０２は、１つまたは複数のデータオブジェクトを、そのデータオブジェクトが属するグループについてストレージ管理モジュール７０２が決定したストレージソリューション７１０またはストレージアプリケーション７７０に、格納、移動、または、コピーするように、ストレージアプリケーション７００に指示し得る。
【００７０】
一部の実装においては、ストレージアプリケーション７７０は、また、ストレージ管理方法の実施形態をストレージ管理モジュールとして実装して、データオブジェクトのストレージソリューション（単数または複数）７８０への格納を指示し得る。
【００７１】
例示のシステム
少なくとも一部の実施形態においては、本明細書に記載のオブジェクトストレージ方法及び装置の一部または全てを実装するサーバは、図８に示すコンピュータシステム２０００等の、１つまたは複数のコンピュータがアクセス可能な媒体を含む、または、その媒体にアクセスするように構成された汎用コンピュータシステムを含み得る。例示の実施形態においては、コンピュータシステム２０００は、入力／出力（Ｉ／Ｏ）インタフェース２０３０を介してシステムメモリ２０２０に接続された１つまたは複数のプロセッサ２０１０を含む。コンピュータシステム２０００は、Ｉ／Ｏインタフェース２０３０に接続されたネットワークインタフェース２０４０をさらに含む。
【００７２】
様々な実施形態においては、コンピュータシステム２０００は、１つのプロセッサ２０１０を含むユニプロセッサシステムであり得るか、または、幾つか（例えば、２、４、８、または、他の適切な数）のプロセッサ２０１０を含むマルチプロセッサシステムであり得る。プロセッサ２０１０は、命令を実行することができる任意の適切なプロセッサであり得る。例えば、様々な実施形態において、プロセッサ２０１０は、ｘ８６、ＰｏｗｅｒＰＣ、ＳＰＡＲＣ、もしくは、ＭＩＰＳ  ＩＳＡ等の様々な命令セットアーキテクチャ（ＩＳＡ）、または、任意の適切なＩＳＡのいずれかを実装する汎用または組み込みプロセッサであり得る。マルチプロセッサシステムにおいて、各プロセッサ２０１０は、同じＩＳＡを実装し得ることが多いが、必ずしもそうであり得る必要はない。
【００７３】
システムメモリ２０２０は、プロセッサ（単数または複数）２０１０がアクセス可能な命令及びデータを格納するように構成され得る。様々な実施形態において、システムメモリ２０２０は、スタティックランダムアクセスメモリ（ＳＲＡＭ）、同期型ダイナミックＲＡＭ（ＳＤＲＡＭ）、不揮発性／フラッシュタイプメモリ、または、任意の他の種類のメモリ等の、任意の適切なメモリ技術を用いて実装され得る。例示の実施形態においては、オブジェクトストレージ方法及び装置について上述したそれらの方法、技術及びデータ等の１つまたは複数の所望の機能を実装するプログラム命令及びデータは、コード２０２４及びデータ２０２６としてシステムメモリ２０２０内に格納されて、示されている。
【００７４】
一実施形態においては、Ｉ／Ｏインタフェース２０３０は、ネットワークインタフェース２０４０または他の周辺インタフェースを含む、プロセッサ２０１０、システムメモリ２０２０、及び、装置内の任意の周辺装置間のＩ／Ｏトラフィックを調整するように構成され得る。一部の実施形態においては、Ｉ／Ｏインタフェース２０３０は、任意の必要なプロトコル、タイミング、または、他のデータ変換を行って、１つのコンポーネント（例えば、システムメモリ２０２０）から他のコンポーネント（例えば、プロセッサ２０１０）が使用するのに適切なフォーマットにデータ信号を変換し得る。一部の実施形態においては、Ｉ／Ｏインタフェース２０３０は、例えば、ペリフェラルコンポーネントインターコネクト（ＰＣＩ）バス規格またはユニバーサルシリアルバス（ＵＳＢ）規格の変種等、様々な種類の周辺バスを通して取り付けられた装置のサポートを含み得る。一部の実施形態においては、Ｉ／Ｏインタフェース２０３０の機能は、例えば、ノースブリッジ及びサウスブリッジ等の２つ以上の別個のコンポーネントに分割され得る。また、一部の実施形態においては、システムメモリ２０２０へのインタフェース等のＩ／Ｏインタフェース２０３０の機能の一部または全ては、プロセッサ２０１０に直接、組み込まれ得る。
【００７５】
ネットワークインタフェース２０４０は、例えば、図１から図７に示すような他のコンピュータシステムまたは装置等の、ネットワーク（単数または複数）２０５０に取り付けられた他の装置２０６０と、コンピュータシステム２０００との間での、データのやりとりを可能にするように構成され得る。様々な実施形態においては、ネットワークインタフェース２０４０は、例えば、Ｅｔｈｅｒｎｅｔ（登録商標）ネットワークタイプ等の任意の適切な有線または無線の一般的データネットワークを介した通信をサポートし得る。さらに、ネットワークインタフェース２０４０は、アナログ音声ネットワークもしくはデジタルファイバ通信ネットワーク等の電気通信／電話ネットワーク、ファイバチャネルＳＡＮ等のストレージエリアネットワーク、または、任意の他の適切な種類のネットワーク及び／もしくはプロトコルのいずれかを介した、通信をサポートし得る。
【００７６】
一部の実施形態においては、システムメモリ２０２０は、オブジェクトストレージシステム及びストレージ管理方法の実施形態を実装するための、図１から図７に関して上述したようなプログラム命令及びデータを格納するように構成されたコンピュータがアクセス可能な媒体の一実施形態であり得る。しかしながら、他の実施形態においては、プログラム命令及び／またはデータは、コンピュータがアクセス可能な種々の種類の媒体上で、受信、送信、または、格納され得る。一般的に言えば、コンピュータがアクセス可能な媒体は、磁気媒体または光媒体等の非一時的ストレージ媒体またはメモリ媒体、例えば、Ｉ／Ｏインタフェース２０３０を介してコンピュータシステム２０００に接続されたディスクまたはＤＶＤ／ＣＤを含み得る。コンピュータがアクセス可能な非一時的ストレージ媒体は、また、システムメモリ２０２０または他の種類のメモリとして、コンピュータシステム２０００の一部の実施形態に含まれ得る、ＲＡＭ（例えば、ＳＤＲＡＭ、ＤＤＲ  ＳＤＲＡＭ、ＲＤＲＡＭ、ＳＲＡＭ等）、ＲＯＭ等の、任意の揮発性または不揮発性媒体を含み得る。さらに、コンピュータがアクセス可能な媒体は、ネットワークインタフェース２０４０を介して実装され得るような、ネットワーク及び／または無線リンク等の通信媒体を介して伝えられる、電気信号、電磁気信号、または、デジタル信号等の伝送媒体または信号を含み得る。
【００７７】
開示の実施形態を以下の項に記載する。
１．データストレージシステムにおいて、
当該ストレージシステムにデータオブジェクトを格納するための２つ以上の異なるストレージソリューションであって、それぞれ、ストレージ及びアクセス性の単位当たりコストを含む異なる特性を有するストレージ技術を実装するストレージソリューションと、
ストレージ管理モジュールを実装する１つまたは複数のコンピュータ装置と
を備え、前記ストレージ管理モジュールは、
１つまたは複数のデータオブジェクトに関する情報を取得し、
前記取得した情報の２つ以上の次元に従って前記データオブジェクトの１つまたは複数のグループを決定し、
前記決定した１つまたは複数のデータオブジェクトのグループのそれぞれについて前記２つ以上のストレージソリューションの特定の１つを決定し、かつ、
前記１つまたは複数のグループ内の前記データオブジェクトの、前記各決定されたストレージソリューションへの格納を指示するように動作可能なストレージ管理モジュールである、
データストレージシステム。
２．前記１つまたは複数のグループの前記データオブジェクトの、前記各決定されたストレージソリューションへの格納を指示するために、前記ストレージ管理モジュールは、
前記データストレージシステムの新しいデータオブジェクトの、前記２つ以上のストレージソリューションの１つへの格納を指示し、かつ、
前記データストレージシステムの既存のデータオブジェクトの、前記２つ以上のストレージソリューションの１つまたは複数から前記２つ以上のストレージソリューションの種々のストレージソリューションへの移動を指示する
ように動作可能な、第１項に記載のデータストレージシステム。
３．前記２つ以上の次元は、前記データオブジェクトの年数、前記データオブジェクトのアクセス頻度、前記データオブジェクトのアクセスパターン、前記データオブジェクトのタイプ、前記データオブジェクト間の関係、または、前記データオブジェクトのメタデータのうちの２つ以上を含む、第１項に記載のデータストレージシステム。
４．前記ストレージソリューションによって実装される前記ストレージ技術は、フラッシュメモリ技術、半導体ドライブ（ＳＳＤ）技術、ハードディスクドライブ（ＨＤＤ）技術、光ディスク（ＯＤ）技術、または、磁気テープ技術のうちの２つ以上を含む、第１項に記載のデータストレージシステム。
５．前記ストレージソリューションのうちの１つまたは複数は、電力供給され、温度、湿度の調節されたデータセンタで実装され、かつ、前記ストレージソリューションのうちの１つは、前記データセンタよりも所要電力が低く、温度、湿度の調節レベルが低い設備に永続ストレージ媒体を格納することを伴う、第１項に記載のデータストレージシステム。
６．前記１つまたは複数のグループの前記データオブジェクトの前記各決定したストレージソリューションへの格納を指示するために、前記ストレージ管理モジュールは、
１つまたは複数のデータオブジェクトの前記ストレージ媒体への格納を指示し、前記ストレージ媒体の前記設備への格納を指示し、かつ、
少なくとも１つのデータオブジェクトの、前記設備内の前記ストレージ媒体から前記データセンタ内の前記１つまたは複数のストレージソリューションの１つへのコピーを指示するように、動作可能であって、前記少なくとも１つのデータオブジェクトのオリジナルは、前記設備内の前記ストレージ媒体に保持される、第５項に記載のデータストレージシステム。
７．前記データストレージシステムは、サービスプロバイダのネットワーク上で実装されるストレージサービスであり、前記ストレージサービスは、前記ストレージサービスへのＡＰＩを介して仮想ストレージを１つまたは複数のクライアントに提供し、かつ、前記データオブジェクトは、前記ストレージサービスへの前記ＡＰＩを介して前記１つまたは複数のクライアントによって前記仮想ストレージに格納されたデータオブジェクトを含む、第１項に記載のデータストレージシステム。
８．１つまたは複数のコンピュータ装置によって実装されるストレージ管理モジュールによって行われる方法であって、
ストレージシステムのオブジェクトを、前記オブジェクトに関する情報の複数の次元に従って分析して、前記オブジェクトのグループを決定することと、
ストレージとアクセス性の単位当たりのコストを含む前記ストレージソリューションの異なる特性に従って、各決定されたグループについて、複数のストレージソリューションの特定の１つを決定することと、
前記ストレージシステムの前記各決定されたストレージソリューションへの前記オブジェクトの格納を指示することと、
を行うことを含む、方法。
９．前記ストレージシステムはデータストレージシステムであり、前記オブジェクトはデータオブジェクトであり、かつ、前記ストレージソリューションは、それぞれ、異なるストレージ技術を実装する、第８項に記載の方法。
１０．前記ストレージソリューションによって実装される前記ストレージ技術は、フラッシュメモリ技術、半導体ドライブ（ＳＳＤ）技術、ハードディスクドライブ（ＨＤＤ）技術、光ディスク（ＯＤ）技術、または、磁気テープ技術のうちの２つ以上を含む、第９項に記載の方法。
１１．前記複数の次元は、前記オブジェクトの年数、前記オブジェクトのアクセス頻度、前記オブジェクトのアクセスパターン、前記オブジェクトのタイプ、前記オブジェクト間の関係、前記オブジェクトの指定された優先順位、または、前記オブジェクトのオブジェクトメタデータのうちの２つ以上を含む、第８項に記載の方法。
１２．前記オブジェクトのアクセス情報を経時的に追跡することをさらに含み、前記追跡されたアクセス情報は、前記オブジェクトのアクセスの日時情報、または、前記オブジェクトへのユーザアクセス情報の１つまたは複数を含み、かつ、前記複数の次元の少なくとも１つは、前記追跡されたアクセス情報に従って決定される、第８項に記載の方法。
１３．少なくとも１つのグループは、前記ストレージシステムの新しいオブジェクトを含み、かつ、前記ストレージシステムの前記各決定されたストレージソリューションへの前記オブジェクトの格納を前記指示することは、前記複数のストレージソリューションの１つまたは複数への前記新しいオブジェクトの格納を指示することを含む、第８項に記載の方法。
１４．少なくとも１つのグループは、前記複数のストレージソリューションの既存のオブジェクトを含み、かつ、前記ストレージシステムの前記各決定されたストレージソリューションへの前記オブジェクトの格納を前記指示することは、前記複数のストレージソリューションのうちの種々のストレージソリューションへの前記既存のオブジェクトの移動を指示することを含む、第８項に記載の方法。
１５．前記ストレージソリューションの１つまたは複数は、電力供給され、温度、湿度の調節された設備で実装され、かつ、前記ストレージソリューションの１つは、前記電力供給され、温度、湿度の調節された設備よりも所要電力が低く、温度、湿度の調節レベルが低い設備にオブジェクトを格納することを伴う、第８項に記載の方法。
１６．前記分析することと、前記決定することとは、クラスタ分析技術に従って行われる、第８項に記載の方法。
１７．ストレージ管理モジュールを実装するためのコンピュータで実行可能なプログラム命令を格納する、コンピュータがアクセス可能な非一時的ストレージ媒体において、前記ストレージ管理モジュールは、
データストレージシステムのデータオブジェクトに関する情報の２つ以上の次元に従って、クラスタ分析技術を適用して、前記データオブジェクトのグループを決定し、
前記ストレージソリューションの１つまたは複数の異なる特性に従って、各決定したグループについて、複数のストレージソリューションのうちの特定の１つを決定し、かつ、
前記データストレージシステムの
前記各決定したストレージソリューションへの前記データオブジェクトの格納を指示するように、動作可能なストレージ管理モジュールである、
コンピュータがアクセス可能な非一時的ストレージ媒体。
１８．前記ストレージソリューションの前記特性は、格納及びアクセス速度の単位当たりコストを含む、第１７項に記載のコンピュータがアクセス可能な非一時的ストレージ媒体。
１９．前記データストレージシステムは、マルチレベルのキャッシュメモリシステムであり、前記ストレージソリューションは、前記キャッシュメモリシステムの種々のレベルである、第１７項に記載のコンピュータがアクセス可能な非一時的ストレージ媒体。
２０．各ストレージソリューションは、異なるストレージ技術を実装し、前記ストレージソリューションによって実装される前記ストレージ技術は、フラッシュメモリ技術、半導体ドライブ（ＳＳＤ）技術、ハードディスクドライブ（ＨＤＤ）技術、光ディスク（ＯＤ）技術、または、磁気テープ技術のうちの２つ以上を含む、第１７項に記載のデータストレージシステム。
【００７８】
結論
様々な実施形態は、コンピュータがアクセス可能な媒体上で前述の記載に従って実装される命令及び／またはデータを受信、送信、または、格納することをさらに含み得る。一般的に言うと、コンピュータがアクセス可能な媒体は、ディスクもしくはＤＶＤ／ＣＤ−ＲＯＭ等の磁気媒体または光媒体、ＲＡＭ（例えば、ＳＤＲＡＭ、ＤＤＲ、ＲＤＲＡＭ、ＳＲＡＭ等）、ＲＯＭ等の揮発性または不揮発性媒体などのストレージ媒体またはメモリ媒体を含み得、ネットワーク及び／または無線リンク等の通信媒体を介して伝えられる電気信号、電磁気信号もしくはデジタル信号等の伝送媒体または信号も含み得る。
【００７９】
図面に示し、ここに記載した様々な方法は、方法の例示的な実施形態を表す。方法は、ソフトウェア、ハードウェア、または、それらの組み合わせで実装され得る。方法の順序は変更され得、かつ、様々な要素は、追加、並べ替え、省略、修正等され得る。
【００８０】
本開示の利益を有する当業者には明らかなように、様々な修正及び変更が行われ得る。このような修正及び変更の全てを包含するものとし、従って、上記記載は、限定的な意味ではなく、例示とみなすべきである。
【図１】
2016522484.tif 000003
【図２】
2016522484.tif 000004
【図３】
2016522484.tif 000005
【図４】
2016522484.tif 000006
【図５】
2016522484.tif 000007
【図６】
2016522484.tif 000008
【図７】
2016522484.tif 000009
【図８】
2016522484.tif 000010
【国際調査報告】
2016522484.tif 000011