(57)【要約】      （修正有）【課題】貯蔵装置並びに貯蔵装置を管理するためのシステム及び方法を提供する。【解決手段】ホストシステムに配置されたホストプロセッサーによって、インデックスに対する、ユーザサービス要求事項及びデータアクセス要求事項のうちの少なくとも一つを含むインデックス要求事項を受信するステップと、インデックスに対するインデックス要求事項のうちの少なくとも一部を貯蔵装置に配置された貯蔵プロセッサーに伝送するステップと、貯蔵装置の計算能力及び貯蔵容量のうちの少なくとも一つを含む貯蔵装置の装置プロファイルを利用する貯蔵プロセッサーによって生成された第１インデックスのパラメーター及びインデックス要求事項を受信するステップと、第１インデックスのパラメーターを利用して第１インデックスと相互作用し、インデックス要求事項を満たす第２インデックスを構築するステップと、を有する。【選択図】図１
2019008788.tif 000002
【特許請求の範囲】
【請求項１】
貯蔵装置を管理する方法であって、
ホストシステムに配置されたホストプロセッサーによって、
インデックスに対する、ユーザサービス要求事項及びデータアクセス要求事項のうちの少なくとも一つを含むインデックス要求事項を受信するステップと、
前記インデックスに対するインデックス要求事項のうちの少なくとも一部を前記貯蔵装置に配置された貯蔵プロセッサーに伝送するステップと、
前記貯蔵装置の計算能力及び貯蔵容量うちの少なくとも一つを含む前記貯蔵装置の装置プロファイルを利用する前記貯蔵プロセッサーによって生成された第１インデックスのパラメーター及び前記インデックス要求事項を受信するステップと、
前記第１インデックスのパラメーターを利用して前記第１インデックスと相互作用し、前記インデックス要求事項を満たす第２インデックスを構築するステップと、を有することを特徴とする貯蔵装置管理方法。
【請求項２】
前記貯蔵装置の装置プロファイルは、メモリー、容量、コントローラー性能、貯蔵媒体、及び性能のうちの少なくとも一つを含むことを特徴とする請求項１に記載の貯蔵装置管理方法。
【請求項３】
前記ホストシステムは、ローカル又はワイドエリアネットワークに連結されるように構成可能なパーソナルコンピュータ又はサーバを含むことを特徴とする請求項１に記載の貯蔵装置管理方法。
【請求項４】
前記インデックス要求事項は、前記貯蔵装置に対するサービス品質（ＱｏＳ）、データに対する要求事項の順序、クエリーパターン、キー配布、価値配分、部分キー、及びコンテナ容量のうちの少なくとも一つを含むことを特徴とする請求項１に記載の貯蔵装置管理方法。
【請求項５】
前記第２インデックスの持続性コピー又は前記第２インデックスに関するメタデータは、前記貯蔵装置に生成されたコンテナに貯蔵されることを特徴とする請求項１に記載の貯蔵装置管理方法。
【請求項６】
前記貯蔵装置は、キーバリューＳＳＤ（ｋｅｙ  ｖａｌｕｅ  ｓｏｌｉｄ−ｓｔａｔｅ  ｄｒｉｖｅ）を含むことを特徴とする請求項１に記載の貯蔵装置管理方法。
【請求項７】
前記第１インデックスのインデックス構造は、前記貯蔵装置の計算負担を減少させるように部分的にのみ構造化されることを特徴とする請求項１に記載の貯蔵装置管理方法。
【請求項８】
前記ホストシステムの前記第２インデックス構造と協働的に利用されることが可能に生成された第３インデックスを含む少なくとも一つの付加的な貯蔵装置が利用されることを特徴とする請求項１に記載の貯蔵装置管理方法。
【請求項９】
前記第２インデックスのインデックス構造は、動的に構成されることを特徴とする請求項１に記載の貯蔵装置管理方法。
【請求項１０】
前記第２インデックスのインデックス構造は、アクセス要請又は前記貯蔵装置に貯蔵されたデータに対するクエリーに応答して部分的に構成されることを特徴とする請求項１に記載の貯蔵装置管理方法。
【請求項１１】
前記ホストプロセッサーによって、
貯蔵装置ドライバローディング、ライブラリーローディング、貯蔵装置オープニング、コンテナオープニング、データアクセス、及びユーザ入力のうちの少なくとも一つに応答して前記貯蔵装置の性能特性を識別するステップを更に含むことを特徴とする請求項１に記載の貯蔵装置管理方法。
【請求項１２】
前記第２インデックスのインデックス構造は、競争要求を有する多数の異なるコンテナに関連するインデックスと協働して利用されるように構成されることを特徴とする請求項１に記載の貯蔵装置管理方法。
【請求項１３】
ホストプロセッサー及びホストメモリーを含むホストと、
貯蔵プロセッサー及び貯蔵メモリーを含む貯蔵装置と、を備え、
前記ホストプロセッサーは、
インデックスに対する、ユーザサービス要求事項及びデータアクセス要求事項のうちの少なくとも一つを含むインデックス要求事項を受信し、
前記インデックスに対するインデックス要求事項のうちの少なくとも一部を前記貯蔵プロセッサーに伝送し、
前記貯蔵プロセッサーは、
前記貯蔵装置の計算能力及び貯蔵容量のうちの少なくとも一つを含む装置プロファイルを判別し、
前記インデックス要求事項及び前記装置プロファイルを利用して第１インデックスを構築し、
前記ホストプロセッサーは、
前記第１インデックスのパラメーターを受信し、
前記第１インデックスのパラメーターを利用して前記第１インデックスと相互作用し、前記インデックス要求事項を満たす第２インデックスを構築することを特徴とする貯蔵システム。
【請求項１４】
前記装置プロファイルは、メモリー、容量、コントローラー性能、貯蔵媒体、及び性能のうちの少なくとも一つを含むことを特徴とする請求項１３に記載の貯蔵システム。
【請求項１５】
前記ホストシステムは、ローカル又はワイドエリアネットワークに連結されるように構成可能なパーソナルコンピュータ又はサーバを含むことを特徴とする請求項１３に記載の貯蔵システム。
【請求項１６】
前記インデックス要求事項は、前記貯蔵装置に対するサービス品質（ＱｏＳ）、データに対する要求事項の順序、クエリーパターン、キー配布、価値配分、部分キー、及びコンテナ容量のうちの少なくとも一つを含むことを特徴とする請求項１３に記載の貯蔵システム。
【請求項１７】
前記第２インデックスの持続性コピー又は前記第２インデックスに関するメタデータは、前記貯蔵装置に生成されたコンテナに貯蔵されることを特徴とする請求項１３に記載の貯蔵システム。
【請求項１８】
前記貯蔵装置は、キーバリューＳＳＤ（ｋｅｙ  ｖａｌｕｅ  ｓｏｌｉｄ−ｓｔａｔｅ  ｄｒｉｖｅ）を含むことを特徴とする請求項１３に記載の貯蔵システム。
【請求項１９】
前記第１インデックスのインデックス構造は、前記貯蔵装置の計算負担を減少させるように部分的にのみ構造化されることを特徴とする請求項１３に記載の貯蔵システム。
【請求項２０】
貯蔵プロセッサー及び貯蔵メモリーを含み、ホストと動作可能に連結される貯蔵装置であって、
前記貯蔵プロセッサーは、
インデックスに対する、ユーザサービス要求事項及びデータアクセス要求事項のうちの少なくとも一つを含むインデックス要求事項を受信し、
前記インデックス要求事項及び前記貯蔵装置の計算能力及び貯蔵能力のうちの少なくとも一つを含む装置プロファイルのうちの少なくとも一部を利用して第１インデックスを構築し、
前記ホスト及び前記貯蔵装置を含む貯蔵システムに対するインデックスとして協働的に利用される第１インデックス及び第２インデックスのうちの前記第１インデックスのパラメーターを前記ホストに伝送し、前記インデックス要求事項を満たす前記第２インデックスを生成するように前記ホストと相互作用することを特徴とする貯蔵装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、貯蔵装置並びに貯蔵システム及び貯蔵装置管理方法に関する。
【背景技術】
【０００２】
キーバリューＳＳＤ（ｓｏｌｉｄ  ｓｔａｔｅ  ｄｒｉｖｅ）は、内部管理ユニットとして使用するための多数のコンテナを有する客体（オブジェクト）貯蔵装置である。例えば、キーバリューＳＳＤ（ｋｅｙ  ｖａｌｕｅ  ＳＳＤ）は、貯蔵されたデータをアクセスするために論理的ブロックアドレス（ｌｏｇｉｃａｌ  ｂｌｏｃｋ  ａｄｄｒｅｓｓｅｓ：ＬＢＡｓ）の使用を必要としないこともあるが、キーに関連するデータにアクセスするためにキーを必要とする。
【０００３】
ＳＳＤのような貯蔵装置は、一般的にそれらと共に使用されるホスト（又は貯蔵システム）よりも少ない計算資源を有する。これは、貯蔵装置がインデックスのために提供可能な機能及び性能を制限する。制限された資源のためにキーバリュー（ｋｅｙ  ｖａｌｕｅ）ＳＳＤのインデックス負担を減らすことが望まれる。
【０００４】
背景技術に開示した上記情報は、単に開示の背景に対する理解のために開示するものであるが、従来技術を構成しない情報を含むことがある。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１４−１７４９９２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明は、上記従来の問題点に鑑みてなされたものであって、本発明の目的は、貯蔵装置並びに貯蔵装置を管理するためのシステム及び方法を提供することにある。
【課題を解決するための手段】
【０００７】
一実施例によると、貯蔵装置を管理するためのシステム及び方法は、計算集約的なインデキシング動作で装置に過重な負担を与えずに、ＳＳＤのような貯蔵装置の機能及び性能を向上させるために、ホスト（又は貯蔵システム）の資源を利用（ｌｅｖｅｒａｇｉｎｇ）するためのメカニズムを含む。
【０００８】
上記目的を達成するためになされた本発明の一態様による貯蔵装置を管理する方法は、ホストシステムに配置されたホストプロセッサーによって、インデックスに対する、ユーザサービス要求事項及びデータアクセス要求事項のうちの少なくとも一つを含むインデックス要求事項を受信するステップと、前記インデックスに対するインデックス要求事項のうちの少なくとも一部を前記貯蔵装置に配置された貯蔵プロセッサーに伝送するステップと、前記貯蔵装置の計算能力及び貯蔵容量うちの少なくとも一つを含む前記貯蔵装置の装置プロファイルを利用する前記貯蔵プロセッサーによって生成された第１インデックスのパラメーター及び前記インデックス要求事項を受信するステップと、前記第１インデックスのパラメーターを利用して前記第１インデックスと相互作用し、前記インデックス要求事項を満たす第２インデックスを構築するステップと、を有する。
【０００９】
前記貯蔵装置の前記装置プロファイルは、メモリー、容量、コントローラー性能、貯蔵媒体、及び性能うちの少なくとも一つを含み得る。
前記ホストシステムは、ローカル又はワイドエリアネットワークに連結されるように構成可能なパーソナルコンピュータ又はサーバを含み得る。
前記インデックス要求事項は、前記貯蔵装置に対するサービス品質（ＱｏＳ）、データに対する要求事項の順序、クエリーパターン、キー配布、価値配分、部分キー、及びコンテナ容量のうちの少なくとも一つを含み得る。
前記第２インデックスの持続性コピー又は前記第２インデックスに関するメタデータは、前記貯蔵装置に生成されたコンテナに貯蔵され得る。
前記貯蔵装置は、キーバリューＳＳＤ（ｓｏｌｉｄ−ｓｔａｔｅ  ｄｒｉｖｅ）を含み得る。
前記第１インデックスのインデックス構造は、前記貯蔵装置の計算負担を減少させるように部分的にのみ構造化され得る。
前記ホストシステムの前記第２インデックス構造と協働的に利用されることが可能に生成された第３インデックスを含む少なくとも一つの付加的な貯蔵装置が利用され得る。
前記第２インデックスのインデックス構造は、動的に構成され得る。
前記第２インデックスのインデックス構造は、アクセス要請又は前記貯蔵装置に貯蔵されたデータに対するクエリーに応答して部分的に構成され得る。
前記貯蔵装置管理方法は、前記ホストプロセッサーによって、貯蔵装置ドライバローディング、ライブラリーローディング，貯蔵装置オープニング、コンテナオープニング、データアクセス、及びユーザ入力のうちの少なくとも一つに応答して前記貯蔵装置の性能特性を識別するステップを更に含み得る。
前記第２インデックスのインデックス構造は、競争要求を有する多数の異なるコンテナに関連するインデックスと協働して利用されるように構成され得る。
【００１０】
上記目的を達成するためになされた本発明の一態様による貯蔵システムは、ホストプロセッサー及びホストメモリーを含むホストと、貯蔵プロセッサー及び貯蔵メモリーを含む貯蔵装置と、を備え、前記ホストプロセッサーは、インデックスに対する、ユーザサービス要求事項及びデータアクセス要求事項のうちの少なくとも一つを含むインデックス要求事項を受信し、前記インデックスに対するインデックス要求事項のうちの少なくとも一部を前記貯蔵プロセッサーに伝送し、前記貯蔵プロセッサーは、前記貯蔵装置の計算能力及び貯蔵容量うちの少なくとも一つを含む装置プロファイルを判別し、前記インデックス要求事項及び前記装置プロファイルを利用して第１インデックスを構築し、前記ホストプロセッサーは、前記第１インデックスのパラメーターを受信し、前記第１インデックスのパラメーターを利用して前記第１インデックスと相互作用し、前記インデックス要求事項を満たす第２インデックスを構築する。
【００１１】
前記装置プロファイルは、メモリー、容量、コントローラー性能、貯蔵媒体、及び性能のうちの少なくとも一つを含み得る。
前記ホストシステムは、ローカル又はワイドエリアネットワークに連結されるように構成可能なパーソナルコンピュータ又はサーバを含み得る。
前記インデックス要求事項は、前記貯蔵装置に対するサービス品質（ＱｏＳ）、データに対する要求事項の順序、クエリーパターン、キー配布、価値配分、部分キー、及びコンテナ容量のうちの少なくとも一つを含み得る。
前記第２インデックスの持続性コピー又は前記第２インデックスに関するメタデータは、前記貯蔵装置に生成されたコンテナに貯蔵され得る。
前記貯蔵装置は、キーバリューＳＳＤ（ｓｏｌｉｄ−ｓｔａｔｅ  ｄｒｉｖｅ）を含み得る。
前記第１インデックスのインデックス構造は、前記貯蔵装置の計算負担を減少させるように部分的にのみ構造化され得る。
【００１２】
上記目的を達成するためになされた本発明の一態様による貯蔵装置は、貯蔵プロセッサー及び貯蔵メモリーを含み、ホストと動作可能に連結される貯蔵装置であって、前記貯蔵プロセッサーは、インデックスに対する、ユーザサービス要求事項及びデータアクセス要求事項のうちの少なくとも一つを含むインデックス要求事項を受信し、前記インデックス要求事項及び前記貯蔵装置の計算能力及び貯蔵能力のうちの少なくとも一つを含む装置プロファイルうちの少なくとも一部を利用して第１インデックスを構築し、前記ホスト及び前記貯蔵装を含む貯蔵システムに対するインデックスとして協働的に利用される第１インデックス及び第２インデックスのうちの前記第１インデックスのパラメーターを前記ホストに伝送し、前記インデックス要求事項を満たす前記第２インデックスを生成するように前記ホストと相互作用する。
【発明の効果】
【００１３】
本発明の貯蔵装置を管理するためのシステム及び方法によれば、計算集約的なインデキシング動作で装置に過重な負担を与えずに、ＳＳＤのような貯蔵装置の機能及び性能を向上させるためにホストの資源を利用することができる。
【図面の簡単な説明】
【００１４】
【図１】図１は、本発明の一実施形態によるメモリーシステムの一部として動作する協力インデックス構造の態様を示すブロック図である。
【図２】図２は、一実施形態による図１に示した協力インデックス管理者をより詳細に示すブロック図である。
【図３】一実施形態による協力インデックスを活用した貯蔵装置の態様を示すブロック図である。
【図４】図４は、一実施形態による協力インデックスを生成するための例示的なプロセスを示すフローチャートである。
【発明を実施するための形態】
【００１５】
以下、本発明を実施するための形態の具体例を、図面を参照しながら詳細に説明する。図面全体に亘って同じ参照符号は同じ構成要素を示す。
【００１６】
本発明及びこれに伴う多くの特徴及び態様の更なる完全な理解は、図面と共に以下の詳細な説明を参照することによって、本発明がより理解され、より容易に明確になる。
【００１７】
本発明の態様及び特徴、並びにその実施方法は、以下の実施形態及び図面の詳細な説明を参照することでより容易に理解される。本発明の概念は、多様な形態で具体化され、ここに説明する実施形態にのみ限定されるものと解釈してはならない。これらの実施形態は、本開示が徹底且つ完全になるように当業者に本発明の態様及び特徴を充分に伝達されるように例として提供される。
【００１８】
発明を説明する文脈において（特に、特許請求の範囲の文脈において）使用する単数の形態は、文脈上異なるように指示しない限り、単数及び複数の形態を全て含むものとして意図される。本明細書で使用する「含む」、「含まれた」、「備える」及び「備えられた」という用語は、特に言及しない限り、開放型用語（例えば、「含んでいるが、これに制限されない」という意味）として解釈される。
【００１９】
別に定義されない限り、本明細書で使用する全ての技術及び科学用語は、本発明が属する技術の分野における当業者にとって一般的に理解される意味を有する。本明細書に提供される任意の全ての実施形態又は例示的な用語の使用は、別に明示しない限り、本発明をよく理解させるためのものであり、本発明の範囲を制限しないということに留意しなければならない。また、別に定義されない限り、一般的に使用される辞書に定義された全ての用語は、過渡に解釈されない。
【００２０】
客体（オブジェクト）を効率的に管理するために、各コンテナは、そのコンテナ内の客体を探すためのインデックスを有する。インデックスは、任意の適合する類型のインデックスであり、ポイントクエリー（ｐｏｉｎｔ  ｑｕｅｒｙ）、範囲クエリー（ｒａｎｇｅ  ｑｕｅｒｙ）、及び整列されたアクセス（ｒａｎｇｅ  ｑｕｅｒｙ）を含むが、これに制限されない一つ以上の機能を有する。一実施例によると、インデックス構造は、使用便宜性を可能にし、貯蔵装置のデータ検索（ｆｉｎｄｉｎｇ）／検索（ｒｅｔｒｉｅｖａｌ）／アクセス（ａｃｃｅｓｓ）動作の効率又は速度を向上させるように構成されたインデックスのためのデータ構造である。一特徴において、本発明の実施形態は、ホスト（ホストシステム又は貯蔵システム）上の正確なインデックス（ｐｒｅｃｉｓｅ  ｉｎｄｅｘ）（例えば、第２インデックス）及びキーバリューＳＳＤ（ｓｏｌｉｄ−ｓｔａｔｅ  ｄｒｉｖｅｓ）のような一つ以上の貯蔵装置のコンテナ内で使用するための一つ以上の近似インデックス（ａｐｐｒｏｘｉｍａｔｅ  ｉｎｄｅｘｅｓ）（例えば、第１インデックス）の形態で具現された協力インデックス構造を生成することによって貯蔵装置のインデックス能力を向上させることができる。本発明の実施形態による貯蔵システムは、プロセッサーを含み、貯蔵装置（例えば、キーバリューＳＳＤのようなドライブ）よりもコンピューティング資源がより豊富なホストを意味する。一つ以上の貯蔵装置は、貯蔵システムと動作可能に連結される。或いは、貯蔵システムは、ホスト及びそれに動作可能に連結された一つ以上の貯蔵装置の両方を示す。より多くの資源が、豊富なホスト（貯蔵システム）によってより計算集約的なインデキシング作業が遂行されるようにする協力インデックス構造は、近似インデックスのインデックス構造に影響力を与えて向上させた効率性を有する有用なインデックスをユーザに提供する。
【００２１】
本発明の一実施形態で使用される貯蔵装置タイプの非制限的な例として、キーバリューＳＳＤ（ｓｏｌｉｄ−ｓｔａｔｅ  ｄｒｉｖｅ）は、内部管理ユニットとして用いるための多数のコンテナを有する客体貯蔵装置である。コンテナ内の客体を効率的に管理するために、各コンテナは、コンテナ内の客体の位置を探すために使用されるインデックスを含む。当業者に知られるように、使用される多くのタイプのインデックスがあり、よく具現されたインデックスは多くの特徴を有する。例えば、良いインデックスは、ユーザにポイントクエリー又は範囲クエリーを遂行する能力を提供する。また、例えば、コンテナに貯蔵された客体に対し、ユーザに順序化されたアクセスを提供する。
【００２２】
ＳＳＤのような貯蔵装置は、典型的にそれらと共に使用されるホスト（又は貯蔵システム）よりも少ない計算資源を有する。これは、貯蔵装置がインデックスに提供可能な機能及び性能を制限する。このような貯蔵装置又は装置のユーザは、貯蔵装置又は装置が基本的に提供可能な機能よりも、より多くの機能を必要とするため、個別の貯蔵装置に対する負担を減らしながら、有用な機能的インデックスをユーザに提供するメカニズムが必要である。
【００２３】
図１は、本発明の一実施形態によるメモリーシステムの一部として動作する協力インデックス構造の態様を示すブロック図であり、貯蔵システム（Ｓｔｏｒａｇｅ  Ｓｙｓｔｅｍ）１０２が精密インデックス（Ｐｒｅｃｉｓｅ  Ｉｎｄｅｘ）１０８及び協力インデックス管理者（Ｃｏｏｐｅｒａｔｉｖｅ  Ｉｎｄｅｘ  Ｍａｎａｇｅｒ）１０６をホスティングするシステム１００内の実施例を示す。貯蔵システム１０２は、プロセッサー、メモリー、ユーザインターフェース、及び当業者によく知られた他の構成要素又はプログラミングを含む。例えば、貯蔵システム１０２は、パーソナルコンピュータとして、又はローカル若しくは広域ネットワークと共に使用するためのサーバとして具現される。例えば、一実施例によるホスト（又はホストシステム）は、プロセッシングユニット及び貯蔵ユニットを全て含むサーバである。ホストは、貯蔵装置よりも多い資源を有し、貯蔵装置の近似インデックス（例えば、第１のインデックス）と協働的に動作する精密インデックスを有し、装置の能力を利用（ｌｅｖｅｒａｇｉｎｇ）し、貯蔵装置のための向上させた機能を具現するためのホストライブラリーを有する。ホストライブラリーは、ホストが担当する動作を処理するためにホストレベルで動作する（例えば、コード）ホストソフトウェアである。また、ホストライブラリーは、近似インデックスがどのように概念的に構築されるかに対するヒントを貯蔵装置に提供する。しかし、コンテナに対する近似インデックスは、貯蔵装置レベルで構築される。本実施形態によると、ホストが必ずしも最終ユーザマシンであることではないが、個別のドライブそのものよりもより向上させた資源（例えば、計算能力）を有する任意の適合するシステム、装置、又は装置であり、サーバ、ＮＡＳ（ｎｅｔｗｏｒｋ−ａｔｔａｃｈｅｄ  ｓｔｏｒａｇｅ）装置などである。従って、ホストは、資源豊富な貯蔵システム又は資源制約が少ない貯蔵システムとも呼ばれる。
【００２４】
貯蔵装置（Ｓｔｏｒａｇｅ  Ｄｅｖｉｃｅ）１０４又は他の実施例における複数の貯蔵装置１０４は、貯蔵システム１０２と共に使用される。貯蔵装置１０４は、例えば、キーバリューＳＳＤ（ｋｅｙ  ｖａｌｕｅ  ｓｏｌｉｄ  ｓｔａｔｅ  ｄｒｉｖｅ：ＫＶ  ＳＳＤ）として具現され、キーバリュー貯蔵媒体又は当業者に知られた任意の他の適合するドライブとして使用するために当業者に知られた他のタイプの適合する貯蔵装置が使用される。貯蔵装置１０４は、近似インデックス管理者（ＡＩＭ：Ａｐｐｒｏｘｉｍａｔｅ  Ｉｎｄｅｘ  Ｍａｎａｇｅｒ）１１４をホスティング（ｈｏｓｔｉｎｇ）し、且つコンテナ（Ｃｏｎｔａｉｎｅｒ）１０９をホスティングする。一実施例によるコンテナ１０９（一つ以上の追加コンテナ）は、一般的にユーザ／ホスト／システムの要請で生成される。一実施例による近似インデックス管理者１１４は、概念的にコンテナの外部に位置してドライブ（例えば、貯蔵装置１０４）の全てのコンテナに対する近似インデックスを管理するか又は管理するように構成される。コンテナ１０９の内部には、近似インデックス（Ａｐｐｒｏｘｉｍａｔｅ  Ｉｎｄｅｘ）１１０及び対応する近似インデックス構造１１２がある。他の実施例において、貯蔵装置１０４は、それぞれが対応する近似インデックス１１０及び潜在的に異なる近似インデックス構造１１２を有する複数のコンテナ１０９をホスティングする。近似インデックス管理者１１４は、近似インデックス１１０を生成するか又は構築（ｂｕｉｌｄ）する。例えば、近似インデックス管理者１１４は、貯蔵装置１０４に配置された貯蔵プロセッサーで実行されるソフトウェア（又はファームウエア）によって具現される。一実施例によると、近似インデックス管理者１１４は、協力インデックス管理者１０６から提案されたインデックスタイプ及び／又はインデックス構造を受信して近似インデックス構造１１２を決定し、これによって近似インデックス１１０を構築する。
【００２５】
近似インデックス１１０は、貯蔵装置１０４のような資源制限された装置（ｒｅｓｏｕｒｃｅ−ｌｉｍｉｔｅｄ  ｄｅｖｉｃｅ）で軽量であり、おそらく部分的に構造化されたインデックスである。近似インデックス１１０は、制限された機能を有し、精密インデックス１０８よりもまだ正確ではないかまだ完全ではないことも有る。概して、近似インデックス１１０は、貯蔵装置１０４の制限された資源に過度に負担となる計算量を必要としないインデックスタイプ及び近似インデックス構造１１２を有する。近似インデックス１１０は、順序（ｏｒｄｅｒｉｎｇ）を支援するが、順序に対する支援は要求されない。従って、近似インデックス１１０が順序を支援すると、部分的に又は完全に順序化される。コンテナ１０９が生成される際に、近似インデックス１１０が生成され、近似インデックス１１０はコンテナ１０９に関連付けられたままである。或いは、近似インデックス１１０は対応するコンテナの生成後に生成される。近似インデックス１１０は、近似インデックス管理者１１４によって構築され、近似インデックスを構築するためのガイドとして使用される近似インデックス構造によって構成される。これは、装置資源、インデックスデータの特性、クエリーの特性、及び協力インデックス動作要求事項のうちの一つ以上を考慮して行われるが、これに制限されない。近似インデックス（ａｐｐｒｏｘｉｍａｔｅ  ｉｎｄｅｘ）１１０を生成した後にはその構造が固定されて維持される。しかし、変更が必要な場合、近似インデックス１１０は、削除されるか、又は新たな構造で再生成（又は再構築）される。複数の貯蔵装置１０４が使用される実施例を含む一つ以上のコンテナ１０９が使用される本実施形態において、それぞれのコンテナ１０９は、関連する近似インデックス１１０を有し、インデックスのそれぞれは異なる近似インデックス構造１１２を有する。
【００２６】
精密インデックス（Ｐｒｅｃｉｓｅ  Ｉｎｄｅｘ）１０８は、一つ以上の近似インデックス１１０に向上させた機能を提供する資源豊富な貯蔵システム１０２におけるインデックスである。一般的に、精密インデックス１０８は、注文型インデックス（ｏｎ−ｄｅｍａｎｄ  ｉｎｄｅｘ）であり、一般的にユーザと相互作用するインデックスレベルである。例えば、ユーザが貯蔵装置１４０として機能するものに連結されたＳＳＤを有するサーバとして具現されたシステム１００にクエリーを伝送した場合、ユーザの要求は、貯蔵システム１０２に配置された精密インデックス１０８を検索することによって貯蔵システム１０２により処理される。貯蔵装置１０４の近似インデックス１１０にアクセスする必要がある場合、近似インデックス１１０は、精密インデックス１０８に要請されたデータを迅速に提供するために利用される。近似インデックス１１０のこのような利用は、精密インデックス１０８が、資源制限された貯蔵装置１０４及び資源豊富な貯蔵システム１０２の両方からの複雑なインデキシング要求を除去しながら、ユーザの要請を満たすことに必要な機能を提供する。即ち、一実施例による協力インデックスは、貯蔵システム１０２及び貯蔵装置１０４の全てに対する負担を減少させる。例えば、純粋なホスト基盤システムで、多くのホスト資源（ドライブに対する多くのＩＯ要請）は、インデキシングを目的に活用されるか又は要求される。或いは、インデックスがドライブ上にある場合、実際に存在するよりも遥かに多くの処理能力が必要である。従って、ホストとドライブとの間の負担がかなり分散される。
【００２７】
精密インデックス１０８は、一つ以上の近似インデックス１１０の上位に構築され、ユーザに効率性を向上させる機能的で有用なインデックスを提供するために、部分的に構造化される近似インデックス１１０の機能を補完するように構成される。向上された効率性は、精密インデックス１０８に起因し、一般的に貯蔵装置１０４の資源よりも大きい貯蔵システム１０２の資源を使用して計算集約的なインデキシング作業のうちの一部が実行されるようにする。精密インデックス１０８は、ユーザ、貯蔵システム１０２、又は貯蔵装置１０４からの入力に応答して生成される。従って、精密インデックス１０８は、ユーザ要求事項及び貯蔵装置の近似インデックス１１０の両方に基づいて構築され、これは貯蔵装置の機能性及び貯蔵能力によって制限される。精密インデックス１０８の生成は、貯蔵装置１０４のドライバローディング時間、ライブラリーローディング時間、貯蔵装置１０４のオープニング時間、コンテナ１０９のオープニング時間、及び／又は客体アクセス時間で静的又は動的に遂行される。或いは、精密インデックス１０８は、近似インデックス１１０又は近似インデックス１１０からの全ての情報又はアクセスパターンに基づく情報の一部のみをローディングして要請する際に、全体として又は漸進的に生成される。持続的協力インデックス（Ｄｕｒａｂｌｅ  Ｃｏｏｐｅｒａｔｉｖｅ  Ｉｎｄｅｘ）１２４に関連して後述するように、精密インデックスは、貯蔵システム１０２のメモリー又は貯蔵装置１０４のうちの一つに維持される。精密インデックス１０８が貯蔵システム１０２の揮発性メモリー内に位置する場合、貯蔵装置１０４に配置された持続的協力インデックス１２４を生成することは、例えば、装置が閉じているか又はシステム１００の電源がオフになる時に、精密インデックス１０８の再構成又は復元を許容するために遂行される。一部の状況及びいくつかの実施例において、精密インデックス１０８は、メモリーに維持される必要はなく、必要な場合に捨てられて再生成される。
【００２８】
また、貯蔵システム１０２と貯蔵装置１０４との間の関係を示す精密インデックス１０８と近似インデックス１１０との間で概念的に具現された協力インデックス１１６の概念的表現を図示する。例えば、協力インデックスは、本発明の実施形態によって究極的な有用性及び特性を提供するため、共に管理されて使用される精密及び近似インデックスの「概念（ｃｏｎｃｅｐｔ）」を提供する。協力インデックス１１６は、それが構築された一つ以上の近似インデックス１１０に向上させた機能を提供するために、計算資源が豊富な貯蔵システム１０２に配置された精密インデックス１０８を利用するインデックス構造である。この構造は、協力インデックス管理者１０６によって通知され、以下でより詳細に説明する。
【００２９】
図２は、一実施形態による図１に示した協力インデックス管理者をより詳細に示すブロック図であり、協力インデックス管理者１０６の例示的な動作を示す。どのタイプのインデックス構造が精密インデックス１０８に使用されなければならないかを決定する際に、協力インデックス管理者１０６は、インデックス構築オプション（Ｉｎｄｅｘ  Ｂｕｉｌｄ  Ｏｐｔｉｏｎｓ）１１８、支援インデックスタイプ（Ｓｕｐｐｏｒｔｅｄ  Ｉｎｄｅｘ  Ｔｙｐｅｓ）１２０、インデックス要求事項（Ｉｎｄｅｘ  Ｒｅｑｕｉｒｅｍｅｎｔｓ）１２２、及び貯蔵装置１０４から受信した近似インデックス構造（Ａｐｐｒｏｘｉｍａｔｅ  Ｉｎｄｅｘ  Ｓｔｒｕｃｔｕｒｅ）１１２ａを考慮する。例えば、協力インデックス管理者１０６は、例えばツリー（例えば、ＡＶＬツリー（Ａｄｅｌｓｏｎ−Ｖｅｌｓｋｉｉ  ａｎｄ  Ｌａｎｄｉｓ’  ｔｒｅｅ））、リスト（例えば、スキップリスト（ｓｋｉｐｌｉｓｔ））、及びハッシュを含む支援インデックスタイプ１２０に関する情報を受信する。ここで明示的に開示していないが、当業者は、本発明の範囲内にあるインデキシングの目的のために使用されるより多くのデータ構造があることを認識する。協力インデックス管理者１０６は、インデックス要求事項１２２が支援インデックスタイプによって協力インデックスで具現されるものとして看なされ、この要求事項は、サービス品質（Ｑｕａｌｉｔｙ  ｏｆ  Ｓｅｒｖｉｃｅ：ＱｏＳ）、順序要求事項（ｏｒｄｅｒｉｎｇ  ｒｅｑｕｉｒｅｍｅｎｔｓ）、アクセスパターン（ａｃｃｅｓｓ  ｐａｔｔｅｒｎ）、クエリーパターン（ｑｕｅｒｙ  ｐａｔｔｅｒｎ）、キー配布（ｋｅｙ  ｄｉｓｔｒｉｂｕｔｉｏｎ）、価値配分（ｖａｌｕｅ  ｄｉｓｔｒｉｂｕｔｉｏｎ）、部分キー検索（ｐａｒｔｉａｌ  ｋｅｙ  ｓｅａｒｃｈｉｎｇ）、及びローカル貯蔵容量のうちの一つ以上を含むが、これに制限されない。ここで、ＱｏＳ、順序要求事項、アクセスパターン、部分的キー検索、及びクエリーパターンがユーザ要求事項であるが、キー配布、価値配分、及びコンテナ容量は、物理的又は論理的要求事項である。インデックス構築オプション１１８は、動的／静的、全体／部分などのうちの一つ以上を含むが、これに制限されるものではない。また、協力インデックス管理者１０６は、近似インデックス構造１１２ａに関する情報を受信し、対応するインデックスタイプ、インデックス構造、及び構築計画を決定する。上述したように、協力インデックス管理者によって受信された支援インデックスタイプ及びその他の情報に基づいて、精密インデックスは、例えばツリー（ｔｒｅｅ）、リスト（ｌｉｓｔ）、又はハッシュ（ｈａｓｈ）のような多様な要求事項を最もよく満たす特定タイプ及び構造のインデックスに対応する。一実施例において、協力インデックス管理者１０６は、複数の貯蔵装置１０４内に具現される複数の近似インデックス管理者１１４と通信する。
【００３０】
一対のインデックス構築オプション１１８は、協力インデックス管理者１０６によって考慮されるオプションタイプの非制限的な例として提供される。例えば、上述したインデックスは選択的に静的であるか動的であり、インデックスは全体又は部分的であるが、これに限定されるものではない。同様に、使用されるインデックスタイプのいくつかの例が支援インデックスタイプ１２０内に提供される。例えば、上述したように、支援インデックスタイプは、ＡＶＬツリー（例えば、ツリー）、スキップリスト（例えば、リスト）、又はハッシュを含むが、これに限定されない。このような例示的なインデックスタイプは、非制限的であり、当業者に知られた他のインデックスタイプが本発明の範囲内で使用される。インデックス要求事項１２２内に含まれる要求事項タイプの不完全な目録も提供される。
【００３１】
また、コンテナ１０９内に貯蔵された、インデックス要求事項１２２ａ、近似インデックス１１０、近似インデックス構造１１２、及び持続的協力インデックス１２４を示す。インデックス要求事項１２２ａは、協力インデックス管理者１０６から、コンテナ１０９及びコンテナ１０９内に描写された内容を生成する貯蔵装置１０４の近似インデックス管理者（ＡＩＭ）１１４に伝達される。インデックス要件は、ＱｏＳ、順序要求事項、アクセスパターン、クエリーパターン、キー配布、価値配分、部分的キー、及びローカル貯蔵容量のうちの一つ以上を含むが、これに制限されない。貯蔵装置１０４内の複数のコンテナ１０９は、それぞれのそのものの近似インデックス１１０及び近似インデックス構造１１２を含む。他の実施例において、本発明の範囲内で使用される複数の貯蔵装置１０２がある。
【００３２】
持続的協力インデックス１２４は、貯蔵装置１０４に完全に持続されるコンテナ１０９内の近似インデックス１１０に連結された精密インデックス１０８のコピーとして、又はコンテナ１０９内のメタデータファイル若しくは他のデータ構造として構成され、そのような再構成が必要であるか又は望ましい場合に、協力インデックス１１６を迅速に再構成するために使用される。
【００３３】
そのような再構成が望ましい状況の非制限的な例として、貯蔵装置１０４が貯蔵システム１０２から分離されて異なる貯蔵システム１０２を有する異なるシステム１００に接続された場合、持続的協力インデックス１２４は、新たなシステム１００内で協力インデックス１１６の加速化された生成を許容する。これは、新たな貯蔵システム１０４内で、協力インデックス１１６の完全に持続されるコピーを複製するか、或いはメタデータファイルを使用することによって、適切なインデックスタイプを決定するプロセスを再遂行せずにどのようなタイプのインデックスが使用されるかに対して新たな貯蔵システム１０２の協力インデックス管理者１０６に知らせることで達成される。
【００３４】
図３は、一実施形態による協力インデックスを活用した貯蔵装置の態様を示すブロック図であり、近似インデックス管理者１１４の例示的な動作を示す。一実施例において、図３に示すように、近似インデックス管理者１１４は、貯蔵措置１０４上で動作する。図３に示すように、近似インデックス管理者１１４は、装置メモリー、装置容量、コントローラー性能、貯蔵媒体、及び他の性能関連評価（ｍｅｔｒｉｃｓ）のうちの一つ以上を含むが、これに制限されない装置プロファイル（Ｄｅｖｉｃｅ  Ｐｒｏｆｉｌｅ  ）１２６に関連する情報を受信する。また、近似インデックス管理者１１４は、ＱｏＳ、順序要求事項、アクセスパターン、クエリーパターン、キー配布、価値配分、部分キー、及びコンテナ容量のうちの一つ以上を含むが、これに制限されないインデックス要求事項１２２ａを受信する。提供された装置プロファイル及びインデックス要求事項を活用することによって、近似インデックス管理者は、使用される近似インデックス形式を決定するか又は決定するように構成される。本発明の一実施形態は、複数の貯蔵装置１０４上で動作する複数の近似インデックス管理者１０４を有する。
【００３５】
図示したように、近似インデックス管理者１１４は、どのコンテナをインデキシングし、どの近似インデックス構造（１１２、１１２ｂ）及び近似インデックス１１０を構成するかを決定する際に、協力インデックス管理者１０６によって伝送された通り、貯蔵装置１０４の装置プロファイル１２６及びインデックス要求事項１２２ａを考慮する。また、近似インデックス管理者１１４は、整列されたタイプ及びパラメーターセット、及び／又は非整列されたタイプ及びパラメーターのキーセットを判別する。選択的な持続的協力インデックス１２４は、必要に応じて使用されることを説明するためにコンテナ１０９のうちの一つ内に示される。しかし、本発明の範囲内で、持続的協力インデックス１２４は、他の位置、例えば貯蔵装置１０４の個別コンテナ１０９内に配置される。
【００３６】
インデックス要求事項１２２ａ内に示したものは、近似インデックス管理者１１４によって考慮される要求事項タイプの概略的なリスト（ｎｏｎ−ｅｘｈａｕｓｔｉｖｅ  ｌｉｓｔ）である。上述したように、インデックス要求事項１２２ａは、ＱｏＳ、順序要求事項、アクセスパターン、クエリーパターン、キー配布、価値配分、部分キー、及びコンテナ容量のうちの一つ以上を含むが、これに制限されない。同様に、考慮される装置特性の概略的なリストが、装置プルファイル１２６の説明（ｄｅｐｉｃｔｉｏｎ）内に示され、装置プロファイル１２６は、先に説明したように、装置メモリー、装置容量、コントローラー性能、貯蔵媒体、及び性能のうちの一つ以上を含むが、これに限定されない。貯蔵システム１０２内で、支援インデックスタイプ１２０、インデックス要求事項１２２、及びインデックス構築オプション１１８は、近似インデックス管理者１１４にどのような命令を伝達するかを決定し、精密インデックス１０８を構成するためにどのようなインデックス構造を使用するかを決定する際に、協力インデックス管理者１０６によって考慮される。例えば、インデックス構築オプション１１８は、動的／静的、全体／部分、及びその他のうちの一つ以上を含むが、これに限定されない。また、支援インデックスタイプは、ツリー（例えば、ＡＶＬツリー）、リスト（例えば、スキップリスト）、及びハッシュのうちの一つ以上を含むが、これに限定されない。インデックス要求事項１２２は、ＱｏＳ、順序要求、アクセスパターン、クエリーパターン、キー配布、価値配分、部分キー、及びローカル貯蔵容量のうちの一つ以上を含むが、これに制限されない。図示したように、精密インデックス１０８は、それぞれが個別的な近似インデックス１１０を含む多数のコンテナ１０９と共に使用される。また、多数のコンテナ１０９は、貯蔵システム１０２と通信する複数の貯蔵装置１０４内に配置される。
【００３７】
図４は、一実施形態による協力インデックスを生成するための例示的なプロセスを示すフローチャートであり、協力インデックス１１６を生成するために、貯蔵装置１０４と通信する貯蔵システム１０２によって具現されるプロセス２００の例を示すフローチャートである。一具現において、プロセス２００は、近似インデックス１１０を有する少なくとも一つのコンテナ１０９を含む貯蔵装置１０４と通信する貯蔵システム１０２に配置された精密インデックス１０８を含むことによって、協力インデックス１１６を生成する。他の具現において、プロセス２００は、貯蔵システム及び複数の貯蔵措置１０４に配置された精密インデックス１０８又は単一の貯蔵装置１０４に配置された多数のコンテナ１０９に亘って協力インデックス１１６を構成する。従って、次のセクションは、プロセス２００がシステム１００のコンポーネントによって遂行されるものとして説明する。しかし、プロセス２００は、本発明の他の実施形態又は構成によって遂行され得る。
【００３８】
一実施形態によるプロセス２００の一具現において、ステップ２０４で、支援インデックスタイプ１２０、インデックス構築オプション１１８、及びインデックス要求事項１２２は、協力インデックス管理者１０６によって選択的に要請される。一実施例において、プロセスは、単純に上述した情報を受信することで始められる。本発明の範囲内、或いは一実施例において、協力インデックス管理者１０６に伝送される情報に対する要請は、システム１００の他の構成要素、例えば貯蔵装置１０４に配置された近似インデックス管理者１１０から伝送される。そのような要請は、多様なイベントによってトリガされる。例えば、ユーザからのプロンプト、新たな貯蔵装置１０４若しくは貯蔵装置ドライバの設置（インストール）又はシステム１００の電源供給のような、しかしこれに制限されないイベントが協力インデックス管理者１０６に伝送される上述した情報に対する要請をトリガする。
【００３９】
ステップ２２０において、協力インデックス管理者１０６は、上述した協力インデックス１１６に対する要求事項を受信する。この動作は、典型的に貯蔵システム１０２内で遂行され、貯蔵システム１０２内で遂行される動作をセクション２０８内に示す。
【００４０】
また、ステップ２２０において、協力インデックス管理者１０６は、支援インデックスタイプ１２０、インデックス構築オプション１１８、及びインデックス要求事項１２２を分析する。また、協力インデックス管理者１０６は、インデックス要求事項を機能的要求事項として貯蔵装置１０４に伝送する。一実施例において、使用される一つ以上の貯蔵装置がある場合、協力インデックス管理者１０６は、使用される貯蔵装置１０４のそれぞれにインデックス要求事項を伝送する。例えば、本実施形態による少なくとも２つのタイプの構築（ｂｕｉｌｄ）計画が有る。少なくとも一つの構築計画は、精密インデックスのためのものであり、少なくとも一つの他の構築計画は、一つ以上の近似インデックスのためのものである。例えば、レベル又は計画のそれぞれは、相互に計画を指示しない。
【００４１】
一般的に、協力インデックスは、近似インデックスに対する物事を厳しく又は強く指示しない。協力インデックスは、インデックス要求事項を提供するが、機能的要求事項であり、必ずしも特定タイプのインデックスに対する要求事項である必要はない。近似インデックス管理者は、インデックス要求事項の制限事項及び装置そのものの特性を考慮して、自身が使用する特定タイプのインデックスを決定する。いくつかの場合、近似インデックスがどのようなインデックスタイプを使用するかを決定すると、精密インデックスタイプは、フィードバックに基づいて選択される。ドライブの物理的能力は変更されない。従って、ドライブの要求事項を満たすために特定タイプのインデックスが使用されなければならない場合、精密インデックスは、近似インデックスの選択に最も「適合（ｆｉｔ）」するように選択されなければならない。
【００４２】
本発明の一実施形態による精密及び近似インデックスを選択するための決定テーブルの例を以下に示す。
【００４３】
【表１】
2019008788.tif 000003
【００４４】
非限定的な例として、インデックスがユーザによる順序化及び順次アクセスを支援するように要求される場合、最適のルックアップ速度及び一貫性を提供するために、ＡＶＬツリー構造を使用する精密インデックス１０８と協働して、近似インデックス１１０としてスプレイ（ｓｐｌａｙ）インデックス構造を使用して最上の構築計画を構成する。ここで、近似インデックス管理者１１４は、先ず協力インデックス管理者１０６から選択的に提案されたインデックスタイプ及び／又はインデックス構造のみならず、インデックス要求事項を受信し、インデックス要求事項に基づいて、そして提案されたインデックスタイプ及び／又はインデックス構造を選択的に考慮して近似インデックス１１０を決定し、対応する精密インデックス１０８の生成のために協力インデックス管理者１０６にそれをフィードバックとして提供する。
【００４５】
或いは、ユーザのアクセスパターンがランダムであり、客体データの順序が任意である場合、精密インデックス１０８及び近似インデックス１１０は、両方の構築計画を構成するためにスキップリスト（ｓｋｉｐｌｉｓｔｓ）として構造化される。他の例として、コンテナ１０９が少ない数の大きく相対的に変わらないデータ項目及び少ない数の変数に基づいてポイント及び範囲指向的傾向のデータに対するクエリーを有する場合、近似インデックス１１０はトライ（Ｔｒｉｅ）構造を使用し、精密インデックス１０８もトライ構造を使用する。このように、構造は、精密インデックス１０８が近似インデックス１１０によってデータに与えられた実質的な順序を利用（ｌｅｖｅｒａｇｅ）するように許容する。
【００４６】
更に他の実施例において、精密インデックス１０８は、スキップリスト構造を有し、近似インデックス１１０は、構築計画を構成するためにモノトーンハッシュテーブル（ｍｏｎｏｔｏｎｅ  ｈａｓｈ  ｔａｂｌｅ）構造を有する。このようなモノトーンハッシュテーブルは、部分順序支援を使用して迅速で且つ一貫したルックアップ（ｌｏｏｋ  ｕｐ）を支援する。精密インデックス１０８のスキップリスト構造は、クエリーを生成する際に整列されたグループを要請することにより、近似インデックス１１０のモノトーンハッシュテーブル構造によって提供される部分的順序を活用（ｌｅｖｅｒａｇｅ）する。モノトーンハッシュテーブルのグループ内の客体は、完全に整列されていないため、貯蔵装置１０４による迅速な処理が可能であり、グループがスキップリスト精密インデックス１０８に挿入される際に整列されていない客体は、貯蔵システム１０２によって整列される。
【００４７】
本発明の範囲内で使用される当業者に公知されたインデックス構造の多くの可能な組み合わせが存在し、上述した例は、単に一部の状況下で考慮されるいくつかの可能な適切な組み合わせを例示するためのものである。
【００４８】
ステップ２３２において、インデックス要求事項は、貯蔵装置１０４に伝達される。使用される一つ以上の貯蔵装置がある実施例で、各貯蔵装置に対するインデックス要求事項は、ステップ２３２ａによって例示したように伝達される。精密インデックス１０８の生成は、部分的なステップで又は完全なインデックスとして行われ、静的又は動的に生成されるため、一つ以上の貯蔵装置１０４を有する実施例で、ステップ２３２及び２３２ａに示した貯蔵装置１０４への情報伝達は、本発明によって反復的に又は並列に遂行される。また、一実施例によると、近似インデックス管理者１１４は、対応する精密インデックス１０８の生成のために、近似インデックス１１０及び／又は近似インデックス構造１１２に関するフィードバックを協力インデックス管理１０６に提供する。
【００４９】
ステップ２３６において、インデックス要求事項が貯蔵装置１０４によって受信される。複数の貯蔵装置が使用される実施例で、ステップ２３６ａに示したように、複数の貯蔵装置１０４のインデックス要求事項の受信が遂行される。
【００５０】
インデックス要求事項を受信した後、ステップ２４０において、近似インデックス管理者１１４は、受信された情報及び装置プロファイル１２６を考慮して、適合するインデックスタイプを決定する。装置プロファイル１２６は、貯蔵装置１０４に利用可能な計算資源に関する情報及び提供可能な性能のタイプを含む。例えばこれは、装置メモリー、装置容量、コントローラー性能、貯蔵媒体、及び貯蔵装置１０４の性能に影響を与える貯蔵装置１０４に関する他の関連仕様に関する情報を含むが、これに限定されるものではない。ステップ２４０ａに示したように、多数の貯蔵装置１０４を有する実施例で、貯蔵装置１０４の近似インデックス管理者１１４は、協力インデックス管理者１０６及び関連する装置プロファイル１２６から、受信された情報に基づいて近似インデックスタイプを決定する。
【００５１】
近似インデックスタイプの決定が近似インデックス管理者１１４によって行われると、ステップ２１６において、近似インデックスタイプは貯蔵システム１０２の協力インデックス管理者１０６に再び伝達される。複数の貯蔵装置１０４及び複数の近似インデックス管理者１１４を含む本実施形態において、近似インデックス管理者１１４のそれぞれは、ステップ２１６ａに示したように、それぞれの貯蔵装置１０４に対する近似インデックスタイプを協力インデックス管理者１０６に再び伝達する。ステップ２１６ａに示したように、複数の貯蔵装置１０４からのこのような情報の伝達は、ステップ２１６の伝達と同時に発生するが、同時に発生することに限定されるものではない。同様に、協力インデックス管理者１０６に再び伝達される多数の近似インデックスタイプがある場合、伝達は順次又は並列に発生する。
【００５２】
ステップ２２４において、複数の近似インデックスが使用される場合、協力インデックス管理者１０６は、近似インデックスタイプ、又は近似インデックスタイプを取得して精密インデックスタイプを決定する。この場合、支援インデックスタイプ、インデックス構築オプション、及びインデックス要求事項のような、しかしこれに制限されない追加情報が協力インデックス管理者によって考慮される。
【００５３】
精密インデックスタイプを決定した後、ステップ２２８において、協力インデックス管理者１０６は精密インデックス１０８を生成する。精密インデックス１０８は、貯蔵装置１０４のコンテナ１０９、又は一実施例で、複数の貯蔵装置１０４に亘る多数のコンテナ１０９に関連する。上述したように、ステップ２２８において、精密インデックス１０８は、部分的又は完全に生成され、静的又は動的に生成される。
【００５４】
ステップ２４４において、貯蔵装置の近似インデックス管理者１１４は、ステップ２４０で決定されたタイプの近似インデックス１１０を生成する。選択的に一実施例において、必要に応じて新たなコンテナがインデックスの生成と共に生成される。複数の貯蔵装置１０４が使用される本発明の一実施形態において、個別の貯蔵装置１０４の近似インデックス管理者１１４は、コンテナ１０９に関連する近似インデックス１１０を全て生成する。選択的に一実施例において、必要に応じて複数の貯蔵装置１０４の多数のコンテナ１０９の生成は、順次又は並列に行われる。同様に、ステップ２４４は、本発明の範囲内でステップ２２８における精密インデックス１０８の生成の前に、同時に又はその後に行われる。ここで、対応する近似インデックス、又は近似インデックスの生成の前にコンテナ又は複数のコンテナが貯蔵装置に既に存在することが重要である。対応する近似インデックス又は複数の近似インデックスが既に存在しない場合、対応する近似インデックス又は複数の近似インデックスと同時にコンテナ又は複数のコンテナが生成される。
【００５５】
近似インデックス１１０及び精密インデックス１０８の生成が完了すると、協力インデックス１１６が生成される。複数の近似インデックス１１０が使用される本実施形態において、近似インデックス１１０うちの少なくとも一つが完了すると、ステップ２４８において、協力インデックス１１６が生成される。
【００５６】
本実施形態によると、貯蔵システム１０２及び貯蔵装置１０４を含むシステム１００は、システム１００と電子通信する外部の電子装置からのデータを貯蔵し、上述したようにデータを貯蔵するための一つ以上の要請を受信する。同様に、貯蔵システム１０２及び貯蔵装置１０４を含むシステム１００は、外部装置による出力及び／又はディスプレイのために、システム１００と電子通信する外部装置への伝送のためにシステム１００からデータの検索のための一つ以上の要請を受信する。
【００５７】
本明細書で説明した本発明の実施形態による電子又は電気装置及び任意の他の関連装置又は構成要素は、任意の適合するハードウェア、ファームウェア（例えば、注文型集積回路（ａｐｐｌｉｃａｔｉｏｎ−ｓｐｅｃｉｆｉｃ  ｉｎｔｅｇｒａｔｅｄ  ｃｉｒｃｕｉｔ））、ソフトウェア、又はソフトウェア、ファームウェア、及びハードウェアの組み合わせを利用して具現される。例えば、これらの装置の多様な構成要素は、一つの集積回路（ＩＣ）チップ上に又は個別ＩＣチップ上に形成される。また、これらの装置の多様な構成要素は、フレキシブル印刷回路フィルム、ＴＣＰ（ｔａｐｅ  ｃａｒｒｉｅｒ  ｐａｃｋａｇｅ）、ＰＣＢ（ｐｒｉｎｔｅｄ  ｃｉｒｃｕｉｔ  ｂｏａｒｄ）、又は一つの基板上に具現される。また、これらの装置の多様な構成要素は、複数のコンピューティング装置内の複数のプロセッサー上で実行され、コンピュータプログラム命令を遂行し、そして本明細書で説明した多様な機能を遂行するために、他のシステム構成要素と相互作用するプロセス又はスレッド（ｔｈｒｅａｄ）である。コンピュータプログラム命令は、例えばＲＡＭ（ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）のような標準メモリー装置を使用するコンピューティング装置で具現されるメモリーに貯蔵される。また、コンピュータプログラム命令は、例えばＣＤ−ＲＯＭ、フラッシュドライブなどのような他の非一時的なコンピュータ読み取り可能な記録媒体に記録される。また、当業者は、本発明の実施形態の思想及び範囲を逸脱しない限り、多様なコンピューティング装置の機能が、単一のコンピューティング装置に結合若しくは統合されるか、又は特定コンピューティング装置の機能が複数の他のコンピューティング装置に亘って分散されることを知るべきである。
【００５８】
以上、本発明の実施形態について図面を参照しながら詳細に説明したが、本発明は、上述の実施形態に限定されるものではなく、本発明の技術的範囲から逸脱しない範囲内で多様に変更実施することが可能である。
【符号の説明】
【００５９】
１００    システム
１０２    貯蔵システム
１０４    貯蔵装置
１０６    協力インデックス管理者
１０８    精密インデックス
１０９    コンテナ
１１０    近似インデックス
１１２、１１２ａ、１１２ｂ    近似インデックス構造
１１４    近似インデックス管理者（ＡＩＭ）
１１６    協力インデックス
１１８    インデックス構築オプション
１２０    支援インデックスタイプ
１２２、１２２ａ    インデックス要求事項
１２４    持続的協力インデックス
１２６    装置プロファイル
２００    プロセス
【図１】
2019008788.tif 000004
【図２】
2019008788.tif 000005
【図３】
2019008788.tif 000006
【図４】
2019008788.tif 000007