(57)【要約】【課題】  エンタープライズ・ストレージ・システムを管理するためのコンピュータ・システム、方法、およびプログラムを提供することにある。【解決手段】  本発明により、ファイルを保存するための要求をユーザから受信するストレージ・グリッド・マネージャが提供され、ストレージ・グリッド・マネージャは、特定のパフォーマンス・パラメータに基づいて、ファイルを保存するためにエンタープライズ・ストレージ・システムの選択された記憶セルを識別する。その後、ストレージ・グリッド・マネージャは、選択された記憶セルに関連付けられたストレージ・グリッド・コントローラに要求をルーティングする。許可アクセスのみが認可されることを保証するために、ストレージ・グリッド・コントローラは記憶セルへのアクセスを制御する。ファイルが保存されると、ストレージ・グリッド・マネージャは、各ファイルが保存される正確な記憶セルを識別するためにマッピングを更新することになる。ユーザがファイルを検索するための要求を発行すると、ストレージ・グリッド・マネージャはマッピングを調べ、対応する記憶セルを識別し、ファイルを検索する。【選択図】  図２
2007514995.tif 000002
【特許請求の範囲】
【請求項１】
エンタープライズ・ストレージ・システムを管理するためのシステムであって、
ファイルを保存するためのリクエストをユーザから受信し、前記ファイルが保存される前記エンタープライズ・ストレージ・システムの選択された記憶セルに関連付けられたストレージ・グリッド・コントローラに前記リクエストをルーティングするためのストレージ・グリッド・マネージャを有し、
選択された前記記憶セルが少なくとも１つのパフォーマンス・パラメータに基づいて識別される、システム。
【請求項２】
前記ストレージ・グリッド・コントローラがそれぞれ単一の記憶セルに関連付けられ、前記ストレージ・グリッド・コントローラが前記記憶セルに関するリソース可用性情報を前記ストレージ・グリッド・マネージャに提供する、請求項１に記載のシステム。
【請求項３】
前記ストレージ・グリッド・コントローラが前記記憶セルに関するアクセス制御を実行する、請求項２に記載のシステム。
【請求項４】
前記ファイルが保存される選択された前記記憶セルに前記ファイルを関連付けるマッピングを前記ストレージ・グリッド・マネージャが維持する、請求項１に記載のシステム。
【請求項５】
前記ストレージ・グリッド・マネージャが前記ファイルを検索するためのリクエストを前記ユーザから受信し、前記ストレージ・グリッド・マネージャが前記マッピングを調べて、選択された前記記憶セルを識別し、前記ファイルを検索する、請求項４に記載のシステム。
【請求項６】
前記パフォーマンス・パラメータが、ユーザＩＤ、ストレージ・コスト、ユーザ要件、使用パターン、セキュリティ要件、記憶セル可用性、冗長要件、およびネットワーク最適化要件からなるグループから選択される、請求項１に記載のシステム。
【請求項７】
前記ストレージ・グリッド・マネージャが前記リクエストを受信すると同一の通信プロトコルに従って、選択された前記記憶セルに前記リクエストがルーティングされる、請求項１に記載のシステム。
【請求項８】
エンタープライズ・ストレージ・システムにファイルを保存するための方法であって、
前記ファイルを保存するためのリクエストをストレージ・グリッド・マネージャが受信するステップと、
少なくとも１つのパフォーマンス・パラメータに基づいて、前記ファイルを保存するために前記エンタープライズ・ストレージ・システムの記憶セルを識別するステップと、
前記ストレージ・グリッド・マネージャから前記記憶セルに関連付けられたストレージ・グリッド・コントローラに前記リクエストをルーティングするステップと、
前記ファイルを前記記憶セルに保存するステップと
を含む、方法。
【請求項９】
前記パフォーマンス・パラメータが、ユーザＩＤ、ストレージ・コスト、ユーザ要件、望ましいセル使用パターン、セキュリティ要件、記憶セル可用性、冗長要件、およびネットワーク最適化要件からなるグループから選択される、請求項８に記載の方法。
【請求項１０】
前記ルーティング・ステップが、前記ストレージ・グリッド・マネージャが前記リクエストを受信すると同一の通信プロトコルに従って、前記記憶セルに前記リクエストをルーティングするステップを含む、請求項８に記載の方法。
【請求項１１】
前記識別ステップの前に、前記ストレージ・グリッド・コントローラが前記記憶セルのセットに関するリソース可用性情報を前記ストレージ・グリッド・マネージャに提供するステップを有する、請求項８に記載の方法。
【請求項１２】
前記保存ステップの前に、前記ストレージ・グリッド・コントローラが前記記憶セルに関するアクセス制御を実行するステップをさらに含む、請求項８に記載の方法。
【請求項１３】
前記保存ステップの後に、前記ファイルが保存される前記記憶セルに前記ファイルを関連付けるマッピングを前記ストレージ・グリッド・マネージャが維持するステップをさらに含む、請求項８に記載の方法。
【請求項１４】
前記適切な記憶セルから前記ファイルを検索するステップをさらに含み、前記検索ステップは、
前記ファイルを検索するためのリクエストを前記ストレージ・グリッド・マネージャで受信するステップと、
前記マッピングを調べて前記記憶セルを識別するステップと、
前記記憶セルから前記ファイルを検索するステップと、
を含む、請求項１３に記載の方法。
【請求項１５】
請求項８ないし１４のいずれかに記載の方法をコンピュータに実行させる、コンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に、エンタープライズ・ストレージ・システムを管理するためのコンピュータ・システム、方法、およびプログラムに関する。具体的には、本発明は、エンタープライズ・ストレージ・システムの記憶セルの使用を最適化するものである。
【背景技術】
【０００２】
情報技術（ＩＴ）の使用がより普及するにつれ、多くの組織がファイルなどを保存するためにエンタープライズ・ストレージ・システムを使用することがますます一般的なものになっている。エンタープライズ・ストレージ・システムでは、国内または世界中の様々な地理的位置に複数のデータ記憶セルまたはファーム（Farm）が設けられる。これらのセルは、組織内の個人間でファイルを共用するために使用することができる。
【０００３】
残念なことに、多くのエンタープライズ・ストレージ・システムでは、クラスタ化設計のために、膨大な数量の使用可能なリソースがアンバランスになったり、未使用状態になったりしてしまっている。具体的には、現在、地理的パラメータに基づいてファイルが保存されるというのが実情である。たとえば、ユーザ「Ａ」が米国の東海岸に位置する場合、現在の技術では、そのユーザのファイルを最も近いセルに保存することになるであろう。しかし、このような保存では、システム全体を最も良く利用することにはならない可能性がある。むしろ、米国の東海岸に位置するセルがその最大容量に近づきつつあるが、米国の中西部に位置するセルは事実上、空であるというのが実情である可能性がある。さらに、米国の東海岸に位置するセルが必要な速度のネットワーク接続をサポートしていないが、他のセルはサポートしているというのが実情である可能性もある。したがって、既存の技術はいずれも、ファイル共用位置を選択するときに、記憶容量、ユーザ要件などのパフォーマンスベースのパラメータを考慮していない。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
上記を考慮すると、エンタープライズ・ストレージ・ファームを管理するためのコンピュータ・システム、方法、およびプログラムが必要である。具体的には、ストレージ・リソースをより良く使用するシステムが必要である。この範囲で、特定のパフォーマンス・パラメータに基づいてファイルを保存するシステムが必要である。
【課題を解決するための手段】
【０００５】
一般に、本発明は、エンタープライズ・ストレージ・システムを管理するためのコンピュータ・システム、方法、およびプログラムを提供する。具体的には、本発明により、ストレージ・グリッド・マネージャは、ファイルを保存するためのリクエストをユーザから受信する。特定のパフォーマンス・パラメータに基づいて、ストレージ・グリッド・マネージャは、ファイルを保存するためにエンタープライズ・ストレージ・システムの適切な記憶セルを選択し、識別する。その後、ストレージ・グリッド・マネージャは、選択された記憶セルに関連付けられたストレージ・グリッド・コントローラにリクエストをルーティングする。許可アクセスのみが認可されることを保証するために、ストレージ・グリッド・コントローラは記憶セルへのアクセスを制御する。ファイルが保存されると、ストレージ・グリッド・マネージャは、各ファイルが保存される正確な記憶セルを識別するためにマッピングを更新することになる。ユーザがファイルを検索するためのリクエストを発行すると、ストレージ・グリッド・マネージャはマッピングを調べ、対応する記憶セルを識別し、ファイルを検索する。
【０００６】
本発明の第１の態様は、エンタープライズ・ストレージ・システムを管理するためのコンピュータ・システムであって、ファイルを保存するためのリクエストをユーザから受信し、ファイルが保存されるエンタープライズ・ストレージ・システムの選択された記憶セルに関連付けられたストレージ・グリッド・コントローラにリクエストをルーティングするためのストレージ・グリッド・マネージャを有し、選択された記憶セルが少なくとも１つのパフォーマンス・パラメータに基づいて識別される、コンピュータ・システムを提供する。
【０００７】
本発明の第２の態様は、エンタープライズ・ストレージ・システムを管理するためのコンピュータ・システムであって、ファイルを保存するためのリクエストをユーザから受信するためのストレージ・グリッド・マネージャと、エンタープライズ・ストレージ・システムの記憶セルのセットに関連付けられたストレージ・グリッド・コントローラのセットを有し、ストレージ・グリッド・マネージャが少なくとも１つのパフォーマンス・パラメータに基づいてファイルを保存するための選択された記憶セルを識別し、選択された記憶セルに関連付けられたストレージ・グリッド・コントローラにリクエストをルーティングする、コンピュータ・システムを提供する。
【０００８】
好ましくは、本発明は、ストレージ・グリッド・コントローラのセットのそれぞれが単一の記憶セルに関連付けられ、ストレージ・グリッド・コントローラが記憶セルのセットに関するリソース可用性情報をストレージ・グリッド・マネージャに提供する、システムを提供する。
【０００９】
好ましくは、本発明は、ストレージ・グリッド・コントローラが記憶セルに関するアクセス制御を実行する、システムを提供する。
【００１０】
好ましくは、本発明は、ファイルが保存される選択された記憶セルにファイルを関連付けるマッピングをストレージ・グリッド・マネージャがさらに維持する、システムを提供する。
【００１１】
好ましくは、本発明は、ストレージ・グリッド・マネージャがファイルを検索するためのリクエストをユーザから受信し、ストレージ・グリッド・マネージャがマッピングを調べて、選択された記憶セルを識別し、ファイルを検索する、システムを提供する。
【００１２】
好ましくは、本発明は、パフォーマンス・パラメータが、ユーザＩＤ、ストレージ・コスト、ユーザ要件、望ましいセル使用パターン、セキュリティ要件、記憶セル可用性、冗長要件、およびネットワーク最適化要件からなるグループから選択される、システムを提供する。
【００１３】
好ましくは、本発明は、ストレージ・グリッド・マネージャがリクエストを受信したと同一の通信プロトコルに従って、選択された記憶セルにリクエストがルーティングされる、システムを提供する。
【００１４】
本発明の第３の態様は、エンタープライズ・ストレージ・システムにファイルを保存するためのコンピュータにおける方法であって、ファイルを保存するためのリクエストをストレージ・グリッド・マネージャで受信するステップと、少なくとも１つのパフォーマンス・パラメータに基づいて、ファイルを保存するためにエンタープライズ・ストレージ・システムの記憶セルを識別するステップと、ストレージ・グリッド・マネージャから記憶セルに関連付けられたストレージ・グリッド・コントローラにリクエストをルーティングするステップと、ファイルを記憶セルに保存するステップを含む方法を提供する。
【００１５】
本発明の第４の態様は、エンタープライズ・ストレージ・システムからファイルを検索するためのコンピュータにおける方法であって、ファイルを検索するためのリクエストをストレージ・グリッド・マネージャで受信するステップと、マッピングに基づいて、ファイルが保存されるエンタープライズ・ストレージ・システムの記憶セルを識別するステップと、ストレージ・グリッド・マネージャから記憶セルに関連付けられたストレージ・グリッド・コントローラにリクエストをルーティングするステップと、記憶セルからファイルを検索するステップを含む方法を提供する。
【００１６】
好ましくは、本発明は、少なくとも１つのパフォーマンス・パラメータが、ユーザＩＤ、ストレージ・コスト、ユーザ要件、望ましいセル使用パターン、セキュリティ要件、記憶セル可用性、冗長要件、およびネットワーク最適化要件からなるグループから選択される、方法を提供する。
【００１７】
好ましくは、本発明は、ルーティング・ステップが、リクエストがストレージ・グリッド・マネージャによって受信される同一通信プロトコルにおいて記憶セルにリクエストをルーティングするステップを含む、方法を提供する。
【００１８】
好ましくは、本発明は、検索ステップの前に、ストレージ・グリッド・コントローラが記憶セルに関するアクセス制御を実行するステップをさらに含む方法を提供する。
【００１９】
本発明の第５の態様は、エンタープライズ・ストレージ・システムを管理するための記録可能媒体上に保存されたプログラムであって、コンピュータにおいて実行されたときに、ファイルを保存するためのリクエストをユーザから受信し、ファイルが保存されるエンタープライズ・ストレージ・システムの選択された記憶セルに関連付けられたストレージ・グリッド・コントローラにリクエストをルーティングするためのストレージ・グリッド・マネージャを有し、選択された記憶セルが少なくとも１つのパフォーマンス・パラメータに基づいて識別される、プログラムを提供する。
【００２０】
したがって、本発明は、エンタープライズ・ストレージ・システムを管理するためのコンピュータ・システム、方法、およびプログラムを提供する。
【００２１】
本発明の上記その他の特徴は、添付図面に併せて示された本発明の様々な態様に関する以下の詳細な説明からより容易に理解されるであろう。
【発明を実施するための最良の形態】
【００２２】
添付図面は、単なる概略表現であって、本発明の具体的なパラメータを記載するためのものではない。添付図面は、本発明の典型的な諸実施形態のみを記載するためのものであり、したがって、本発明の範囲を制限するものとみなすべきではない。添付図面では、同様の番号は同様の要素を表している。
【００２３】
上述の通り、本発明は、エンタープライズ・ストレージ・システムを管理するためのコンピュータ・システム、方法、およびプログラムを提供する。具体的には、本発明により、ストレージ・グリッド・マネージャは、ファイルを保存するためのリクエストをユーザから受信する。特定のパフォーマンス・パラメータに基づいて、ストレージ・グリッド・マネージャは、ファイルを保存するためにエンタープライズ・ストレージ・システムの適切な記憶セルを選択し、識別する。その後、ストレージ・グリッド・マネージャは、選択された記憶セルに関連付けられたストレージ・グリッド・コントローラにリクエストをルーティングする。許可アクセスのみが認可されることを保証するために、ストレージ・グリッド・コントローラは記憶セルへのアクセスを制御する。ファイルが保存されると、ストレージ・グリッド・マネージャは、各ファイルが保存される正確な記憶セルを識別するためにマッピングを更新することになる。したがって、ユーザがファイルを検索するためのリクエストを発行すると、ストレージ・グリッド・マネージャはマッピングを調べ、対応する記憶セルを識別し、ファイルを検索する。
【００２４】
本発明は概して「ファイル」の保存および検索を管理するために使用されるが、任意のタイプの情報の保存および検索を管理するために使用できることをあらかじめ理解されたい。
【００２５】
次に図１を参照すると、本発明によるストレージ・グリッド・アーキテクチャ（ＳＧＡ）図１０が描写されている。一般に、ＳＧＡ１０により、ユーザ１２などのユーザは、エンタープライズ・ストレージ・システム１６の１以上の記憶セル／ファーム１４Ａ〜１４Ｄにファイルなどを保存することができる。この範囲で、ＳＧＡは概して、インターネット、ローカル・エリア・ネットワーク（ＬＡＮ）、広域ネットワーク（ＷＡＮ）、仮想プライベート・ネットワーク（ＶＰＮ）などのネットワークにより実現される。このため、図１に示されている様々なコンポーネント間の通信は、直接配線接続（たとえば、シリアル・ポート）を介して、もしくは、ワイヤラインまたはワイヤレスあるいはその両方の伝送方法の任意の組み合わせを使用できるアドレス可能接続を介して、クライアント／サーバまたはサーバ／サーバ環境で行うことができるであろう。これらのコンポーネントは、トークンリング、イーサネット（登録商標）、ＷｉＦｉ、またはその他の従来の通信規格などの従来のネットワーク接続を使用することができる。その上、従来のＴＣＰ／ＩＰソケットベース・プロトコルによって接続を行うこともできるであろう。この事例では、これらのコンポーネントは、接続を確立するためにインターネット・サービス・プロバイダを使用することができるであろう。図１に示されているアーキテクチャは例示のみのためのものであり、本発明の範囲内で他の変形例を実現できることを認識されたい。たとえば、任意の数量の記憶セル１４Ａ〜１４Ｄまたはストレージ・グリッド・マネージャ２４あるいはその両方を設けることができるであろう。
【００２６】
典型的な一実施形態では、ユーザ１２は、自分のコンピュータ・システム（たとえば、パーソナル・コンピュータ、ワークステーション、ラップトップ、ハンドヘルド・デバイスなど）上のアプリケーションを介してリクエストを生成することにより、ファイルを保存することになる。望ましい通信プロトコルに応じて、リクエストは、Ｗｅｂサーバ１８またはアプリケーション・サーバ２０あるいはその両方に伝送され、そこからそれぞれの「プロトコル」サーバ２２Ａ〜２２Ｃに伝送されることになる。たとえば、ユーザ１２がファイルの保存をリクエストするためにファイル転送プロトコル（ＦＴＰ）を使用することを望んでいる場合、リクエストはＷｅｂサーバ１８にルーティングされ、次にＦＴＰサーバ２２Ａにルーティングされることになるであろう。このため、本発明は、ユーザ１２が使用することを望んでいるものであれば、どのようなタイプのプロトコルにも対応することができる。たとえば、ハイパーテキスト転送プロトコル（ＨＴＴＰ）、コモン・インターネット・ファイル・システム（ＣＩＦＳ）、ネットワーク・ファイル・システム（ＮＦＳ）、サーバ・メッセージ・ブロック・プロトコル（ＳＭＢ）などのためにストレージを提供することができる。
【００２７】
プロトコル・サーバ２２Ａ〜２２Ｃによってリクエストが受信されると、そのリクエストはストレージ・グリッド・マネージャ２４に（たとえば、可能なストレージ・グリッド・マネージャのグループのうちの１つに）ルーティングされることになる。以下にさらに説明する通り、ストレージ・グリッド・マネージャ２４は、ファイルを保存するために適切な記憶セル１４Ａ〜１４Ｄを決定するように構成される。一般に、この決定は、特定のパフォーマンス・パラメータに基づいて本発明により行われる。たとえば、この決定は、ユーザＩＤ、ストレージ・コスト、具体的なユーザ要件、望ましいセル使用パターン／バランス、セキュリティ要件、記憶セル可用性、冗長要件、およびネットワーク最適化要件に基づいて行うことができる。したがって、あるファイルがあるユーザ・グループからのアクセスを必要とする場合、そのファイルは、その保存をリクエストするユーザだけでなく、このようなユーザすべてにとって最も中心的な記憶セル１４Ａ〜１４Ｄに保存できるであろう。その上、特定の記憶セル１４Ａ〜１４Ｄがその最大容量に近づきつつある場合、記憶セル１４Ａ〜１４Ｄの負荷をバランスが取れた状態に保持できるように、そのファイルを（より離れていようとも）他の記憶セル１４Ａ〜１４Ｄに保存する可能性があるであろう。
【００２８】
いずれにしても、適切な記憶セル１４Ａ〜１４Ｄが識別されると、ストレージ・グリッド・マネージャ２４は、それに対応するストレージ・グリッド・コントローラ２６Ａ〜２６Ｄにリクエストをルーティングすることになる。具体的には、各記憶セル１４Ａ〜１４Ｄは、１つのストレージ・グリッド・コントローラ２６Ａ〜２６Ｄに関連付けられる。この関係は図２にさらに示されている。図示の通り、各ストレージ・グリッド・コントローラ２６Ａ〜２６Ｄは、単一の記憶セル１４Ａ〜１４Ｄに関連付けられている。この関係により、各ストレージ・グリッド・コントローラ２６Ａ〜２６Ｄは、少なくとも２つの基本機能を果たすことができる。すなわち、記憶セル１４Ａ〜１４Ｄに関するリソース情報をストレージ・グリッド・マネージャ２４に提供することと、それぞれの記憶セル１４Ａ〜１４Ｄの「ゲートキーパ（gatekeeper）」として動作することである。前者の場合、本発明により、ストレージ・グリッド・マネージャ２４は、記憶セル１４Ａ〜１４Ｄの容量に関する情報を受信することになる。ストレージ・グリッド・マネージャ２４によるリクエストあり次第、この情報を通信することができるか、または、ストレージ・グリッド・コントローラ２６Ａ〜２６Ｄを介して各記憶セル１４Ａ〜１４Ｄから定期的に更新を送信することができる。いずれにしても、どの記憶セル１４がファイルを保存するために最も適切であるかを決定する際に、そのリソース情報がストレージ・グリッド・マネージャ２４によって使用される。たとえば、上記で示した通り、記憶セル１４Ａがユーザ１２に対して地理的に最も近いが、その最大容量に近い場合、ストレージ・グリッド・マネージャ２４は記憶セル１４Ｂにリクエストをルーティングする可能性がある。
【００２９】
記憶セル１４Ｂがそのファイルのために最も適切な保存場所として識別されたものと想定すると、ストレージ・グリッド・マネージャ２４は、ストレージ・グリッド・コントローラ２６Ｂを介してストレージ・グリッド・セル１４Ｂにファイルを保存するためのリクエストをルーティングすることになる。このように実行する際に、ストレージ・グリッド・マネージャ２４は、ユーザ１２に関するＩＤまたは許可／認証情報あるいはその両方などの追加の情報を追加する可能性がある。リクエストは、ストレージ・グリッド・マネージャ２４によって受信されたときと同じプロトコルを使用して、またはプライベート・プロトコルを介して、ストレージ・グリッド・マネージャ２４からルーティングされることになる。
【００３０】
リクエストを受信したことに応じて、ストレージ・グリッド・コントローラ２６Ｂはアクセス・マネージャ２８を調べ、アクセス・マネージャ２８は、ユーザ３０が記憶セル１４Ｂにアクセスすることを許可されているかどうかを判定する（すなわち、記憶セル１４Ａ〜１４Ｄに関するアクセス制御仕様を施行する）ために、ＰＤ軽量ディレクトリ・アクセス・プロトコル（ＬＤＡＰ：Lightweight Directory Access Protocol）ディレクトリ３０にアクセスすることになる。典型的な一実施形態では、ＬＤＡＰディレクトリ３０は、図３に図示されているような付加的階層に許可を保存するＤＢ２（Ｒ）データベースである。具体的には、あるパスに対する許可がユーザに与えられた後、ユーザは、その下位階層にあるすべてのサブパスに対する同じ許可を有する。ユーザは、サブパスのいずれかに対する同じ許可を追加することはできない。データベース内の１と０は許可を表している。１はユーザがリソースに対する特定の許可を有することを示し、０はプレースホルダである。０は否定的な許可を示すものではない。むしろ、単に、特定の許可が階層のそのレベルで特定のユーザに認可されていないことを示すだけである。その上、ユーザが特定のレベルおよびその下のレベルでアクセスを認可するレコードを有するような状況が存在する可能性がある。この状況は、より低いレベルへのアクセスが認可された後でより高いレベルへのアクセスが認可されたときに発生する可能性がある。
【００３１】
ユーザ１２が記憶セル１４Ｂにアクセスすることを許可されている場合、ファイルはその記憶セル１４Ｂに保存され、ストレージ・グリッド・マネージャ２４は、ファイルとファイルが保存される記憶セルとを関連付けるマッピングを更新することになる。具体的には、ストレージ・グリッド・マネージャ２４は、ファイルが記憶セル１４Ａ〜１４Ｄに保存されたときに更新されるマッピングを維持する。したがって、ユーザ１２が後でファイルを検索するためのリクエストを発行した場合、そのリクエストはストレージ・グリッド・マネージャ２４にルーティングされ、ストレージ・グリッド・マネージャ２４はマッピングを調べて適切な記憶セル１４Ｂを識別することになる。このように実行すると、ストレージ・グリッド・マネージャ２４はそのリクエストを記憶セル１４Ｂまたはストレージ・グリッド・コントローラ２６Ｂあるいはその両方にルーティングし、そのストレージ・グリッド・コントローラ２６Ｂはもう一度、アクセス・マネージャ２８およびＬＤＡＰ３０を介してアクセス制御を実行することになる。ユーザ１２は依然として記憶セル１４Ｂにアクセスすることを許可されているものと想定すると、ファイルはユーザ１２によるアクセスのために検索されることになる。
【００３２】
次に図４を参照すると、ストレージ・グリッド・マネージャ２４のより詳細な図が示されている。図示の通り、ストレージ・グリッド・マネージャ２４は一般に、中央演算処理装置（ＣＰＵ）４０と、メモリ４２と、バス４４と、入出力（Ｉ／Ｏ）インターフェース４６と、外部装置／リソース４８と、ストレージ・ユニット４９とを含む。ＣＰＵ４０は、単一処理装置を有する場合もあれば、１以上の場所に位置する場合、たとえば、クライアントおよびコンピュータ・システム上の１以上の処理装置にわたって分散される場合もある。メモリ４２は、磁気メディア、光メディア、ランダム・アクセス・メモリ（ＲＡＭ）、読取り専用メモリ（ＲＯＭ）、データ・キャッシュなどを含む、任意の既知のタイプのデータ記憶媒体または伝送媒体あるいはその両方を有することができる。その上、ＣＰＵ４０と同様に、メモリ４２は、１以上のタイプのデータ・ストレージを有する単一物理位置に存在する場合もあれば、様々な形式の複数の物理システムにわたって分散される場合もある。入出力インターフェース４６は、外部ソースとの間で情報を交換するための任意のシステムを有することができる。外部装置／リソース４８は、スピーカ、ＣＲＴ、ＬＣＤ画面、ハンドヘルド・デバイス、キーボード、マウス、音声認識システム、音声出力システム、プリンタ、モニタ／ディスプレイ、ファクシミリ、ページャなどを含む、任意の既知のタイプの外部装置を有することができる。バス４４は、ストレージ・グリッド・マネージャ２４内のそれぞれのコンポーネント間の通信リンクを提供し、同様に、電気、光、ワイヤレスなどを含む、任意の既知のタイプの伝送リンクを有することができる。
【００３３】
ストレージ・ユニット４９は、本発明により情報の保存を行うことができる任意のシステム（たとえば、データベース）にすることができる。このような情報としては、たとえば、ストレージ・グリッド・マネージャ２４によって維持されるマッピングを含むことができるであろう。このため、ストレージ・ユニット４９は、磁気ディスク・ドライブまたは光ディスク・ドライブなどの１以上のストレージ・デバイスを含むことができるであろう。他の実施形態では、ストレージ・ユニット４９は、たとえば、ローカル・エリア・ネットワーク（ＬＡＮ）、広域ネットワーク（ＷＡＮ）、またはストレージ・エリア・ネットワーク（ＳＡＮ）（図示せず）の全域で分散されるデータを含む。さらに、図示されていないが、キャッシュ・メモリ、通信システム、システム・ソフトウェアなどの追加のコンポーネントをストレージ・グリッド・マネージャ２４に組み込むことができる。加えて、図示されていないが、ユーザによって操作されるコンピュータ・システム、Ｗｅｂサーバ、アプリケーション・サーバ、プロトコル・サーバ、アクセス・マネージャ、およびストレージ・グリッド・コントローラ２６Ａ〜２６Ｄは、ストレージ・グリッド・マネージャ２４と同様に、コンピュータ・コンポーネントを含むことができることを認識されたい。このようなコンポーネントは、簡潔にするために図示されていない。
【００３４】
ストレージ管理システム５０は、ストレージ・グリッド・マネージャ２４のメモリ４２内にプログラムとして示されており、一般に、セル識別システム５２と、リソース情報システム５４と、リクエストルーティングシステム５６と、マッピング・システム５８と、通知システム６０とを含む。本発明により、ファイルを保存するためのリクエストは、ストレージ・グリッド・マネージャ２４によって受信される。その時点で、セル識別システム５２は、パフォーマンス・パラメータを使用して、ファイルを保存するための適切な記憶セル１４Ａ〜１４Ｄを識別することになる。上記で示した通り、このようなパラメータとして、とりわけ、ユーザＩＤ、ストレージ・コスト、ユーザ要件、望ましいセル使用パターン／バランス、セキュリティ要件、記憶セル可用性、冗長要件、およびネットワーク最適化要件を採用することができるであろう。この決定を行う際に、ストレージ・グリッド・マネージャ２４は、リソース情報システム５４を介して受信される、使用可能空間などの記憶セル１４Ａ〜１４Ｄに関するリソース情報を使用することになる。この情報は、リソース情報システム５４によって行われる照会に基づいて、またはストレージ・グリッド・コントローラ２６Ａ〜２６Ｄを介して定期的に送信される更新を介して、入手することができる。
【００３５】
適切な記憶セル１４Ａ〜１４Ｄが識別されると、リクエストルーティングシステム５６は、リクエストを適切な記憶セル１４Ａ〜１４Ｄに（対応するストレージ・グリッド・コントローラ２６Ａ〜２６Ｄを介して）ルーティングすることになる。受信すると、ストレージ・グリッド・コントローラ２６Ａ〜２６Ｄ内のアクセス実行システム（図示せず）は、ユーザがそれぞれの記憶セル１４Ａ〜１４Ｄにアクセスすることを許可されているかどうかを判定することになる。許可されている場合、ファイルはそれに応じて保存される。保存が行われると、マッピング・システム５８はファイルが保存された位置を反映するためにマッピングを更新し、通知システム６０がユーザに通知することになる。ファイルを検索するためのリクエストは、同様にストレージ・グリッド・マネージャ２４によって受信される。受信すると、セル識別システム５２は関連記憶セル１４Ａ〜１４Ｄを識別するためにマッピングを調べ、リクエストルーティングシステム５６は識別された記憶セル１４Ａ〜１４Ｄに検索リクエストをルーティングすることになる。ファイルの保存と同様に、ストレージ・グリッド・コントローラ２６Ａ〜２６Ｄ内のアクセス制御システムにより、ユーザがこのようなアクセス権を有することを許可されることが保証される。そうである場合、ファイルは検索され、通知システム６０はそれに応じてユーザに通知することになる。
【００３６】
本発明は、ハードウェア、ソフトウェア、またはハードウェアとソフトウェアの組み合わせで実現できることを理解されたい。どのような種類のコンピュータ・システム（複数も可）または本明細書に記載した方法を実行するために適合されたその他の装置も適している。ハードウェアとソフトウェアの典型的な組み合わせは、ロードされ実行されたときに本明細書に記載したそれぞれの方法を実行するコンピュータ・プログラムを備えた汎用コンピュータ・システムにすることができるであろう。代わって、本発明の機能タスクのうちの１つまたは複数を実行するための特殊ハードウェアを含む、特定用途コンピュータも使用できるであろう。また、本発明は、本明細書に記載した方法の実現を可能にするすべての特徴を有し、コンピュータ・システムにロードされたときにこれらの方法を実行できるコンピュータ・プログラムに埋め込むこともできる。これに関連して、コンピュータ・プログラム、ソフトウェア・プログラム、プログラム、またはソフトウェアは、直接または（ａ）他の言語、コード、または表記への変換、または（ｂ）異なる物質的形式による複製のいずれか一方または両方の後、情報処理機能を有するシステムに特定の機能を実行させるための１組の命令を任意の言語、コード、または表記で表した任意の表現を意味する。
【００３７】
次に図５を参照すると、ファイル保存の状態図１００が示されている。図示の通り、ユーザがファイルを保存することを望む場合、ユーザはまず、保存リクエストをストレージ・グリッド・マネージャにサブミットすることになる。（ストレージ・グリッド・コントローラを介して）記憶セルから入手したリソース情報を使用して、ストレージ・グリッド・マネージャは、ファイルを保存するために最も適切な記憶セルを識別することになる。本発明により、この決定は、地理に加えてまたは地理以外の諸要因に基づくものである。たとえば、ユーザＩＤ、ストレージ・コスト、ユーザ要件、望ましいセル使用パターン／バランス、セキュリティ要件、記憶セル可用性、冗長要件、ネットワーク最適化要件などである。識別されると、ストレージ・グリッド・マネージャは、関連のストレージ・グリッド・コントローラにリクエストを転送することになり、そのストレージ・グリッド・コントローラはユーザの許可を検証した後、ファイルの保存を許可することになる。完了すると、ストレージ・グリッド・マネージャはマッピングを更新し、ユーザに通知することになる。
【００３８】
図６を参照すると、ファイル検索の状態図２００が示されている。図示の通り、ユーザがファイルを検索することを望む場合、ユーザはまず、検索リクエストをストレージ・グリッド・マネージャにサブミットすることになる。マッピングを使用して、ストレージ・グリッド・マネージャは、リクエストされたファイルが保存されている適切な記憶セルを識別し、（関連のストレージ・グリッド・コントローラを介して）それにリクエストを通信することになる。ファイル／記憶セルにアクセスするためのユーザの許可を確認した後、ユーザのためにファイルが検索され、対応する通知が送信されることになる。
【００３９】
本発明の好ましい諸実施形態に関する上記の説明は、例示および説明のために提示されたものである。網羅的なものではなく、また開示された詳細な形式に本発明を制限するものでもなく、明らかに、多くの変更および変形が可能である。当業者にとって自明なものである、このような変更および変形は、特許請求の範囲によって定義される本発明の範囲内に含まれるものである。
【図面の簡単な説明】
【００４０】
【図１】本発明によるストレージ・グリッド・アーキテクチャを示す図である。
【図２】図１のストレージ・グリッド・マネージャとストレージ・グリッド・コントローラと記憶セルとの関係をより詳細に示す図である。
【図３】本発明によるアクセス制御仕様を示す図である。
【図４】図１のストレージ・グリッド・マネージャのより詳細な図である。
【図５】本発明によりファイルを保存するための状態図である。
【図６】本発明によりファイルを検索するための状態図である。
【図１】
2007514995.tif 000003
【図２】
2007514995.tif 000004
【図３】
2007514995.tif 000005
【図４】
2007514995.tif 000006
【図５】
2007514995.tif 000007
【図６】
2007514995.tif 000008
【国際調査報告】
2007514995.tif 000009
2007514995.tif 000010
2007514995.tif 000011