(57)【特許請求の範囲】
【請求項１】
複数のノードにより構成される第１のクラスタ及び第２のクラスタを含むシステムにおける記憶方法であって、
第１のクラスタを１つまたは複数のテナントのセットに論理的に区分化し、少なくとも１つのテナントにデータオブジェクトの集まりを含む１つまたは複数の名前空間を関連させ、
前記第１のクラスタと第２のクラスタとの間でリンクを構成し、
前記第１のクラスタから、１つまたは複数の関連する名前空間と、前記名前空間に関連するオブジェクトデータとを含む、第１のテナントに関連する情報を、前記第２のクラスタに複製する、ことを特徴とする記憶方法。
【請求項２】
前記第１のテナントに関連する前記情報がテナント管理および構成情報も含む、請求項１に記載の記憶方法。
【請求項３】
前記第１のクラスタにおいて所与のイベントが発生した場合、前記第１のクラスタのクライアントを前記第２のクラスタにリダイレクトすることをさらに含む、請求項１又は２に記載の記憶方法。
【請求項４】
前記第２のクラスタ中の情報へのアクセスを読取専用ベースで提供することをさらに含む、請求項１乃至３のうちのいずれか１項に記載の記憶方法。
【請求項５】
前記リンクに第２のテナントを追加することをさらに含む、請求項１乃至４のうちのいずれか１項に記載の記憶方法。
【請求項６】
前記第１のテナントに関連する情報の複製に関連する複製メトリックを損なわずに、前記リンクを介して前記第２のテナントに関連する情報を複製することをさらに含む、請求項５に記載の記憶方法。
【請求項７】
１組の分散位置にわたって動作する記憶方法であって、各位置で独立ノード冗長アレイが共にネットワーク化されてクラスタを形成する記憶方法において、
第１の位置における第１のクラスタを１つまたは複数のテナントのセットに論理的に区分化することであって、第１のテナントに１つまたは複数の名前空間が関連し、名前空間がデータオブジェクトの集まりを含むこと、
前記第１のクラスタと第２および第３のクラスタのそれぞれとの間でリンクを構成すること、および、
各リンクを介して第１のテナントに関連する情報を複製することを含み、
前記第１のテナントに関連する前記情報が、１つまたは複数の関連する名前空間と、前記名前空間に関連するオブジェクトデータとを含む、
記憶方法。
【請求項８】
前記第１のクラスタと前記第２のクラスタとの間のリンクが、前記第１のクラスタと前記第３のクラスタとの間の前記リンクの特性とは異なる所与の複製リンク特性を有する、請求項７に記載の記憶方法。
【請求項９】
前記所与の複製リンク特性が、前記リンクにわたって実現されるサービス品質（ＱｏＳ）または機能である、請求項８に記載の記憶方法。
【請求項１０】
前記第１のテナントに関連する前記情報がテナント管理および構成情報も含む、請求項７乃至９のうちのいずれか１項に記載の記憶方法。
【請求項１１】
前記第１のクラスタに関連する所与の出来事発生時に前記第１のクラスタのクライアントを前記第２のクラスタまたは前記第３のクラスタにリダイレクトするステップをさらに含む、請求項７乃至１０のうちのいずれか１項に記載の記憶方法。
【請求項１２】
前記第２のクラスタまたは前記第３のクラスタ中の情報へのアクセスを読取専用ベースで提供することをさらに含む、請求項７乃至１１のうちのいずれか１項に記載の記憶方法。
【請求項１３】
前記リンクに第２のテナントを追加することをさらに含む、請求項７乃至１２のうちのいずれか１項に記載の記憶方法。
【請求項１４】
前記第１のテナントに関連する情報の複製に関連する複製メトリックを損なわずに、前記リンクを介して前記第２のテナントに関連する情報を複製することをさらに含む、請求項１３に記載の記憶方法。
【請求項１５】
複数の第１のノード及び第１のネットワークを含み、１つまたは複数のテナントのセットに論理的に区分化し、少なくとも１つのテナントにデータオブジェクトの集まりを含む１つまたは複数の名前空間を関連させる、第１のクラスタと、
複数の第２のノード及び第２のネットワークを含む、第２のクラスタと、を含み、
前記第１のクラスタは、１つまたは複数の関連する名前空間と、前記名前空間に関連するオブジェクトデータとを含む、第１のテナントに関連する情報を前記第２のクラスタに複製する、ことを特徴とするシステム。
【請求項１６】
前記第１のテナントに関連する前記情報がテナント管理および構成情報も含む、ことを特徴とする請求項１５に記載のシステム。
【請求項１７】
前記第１のクラスタにおいて所与のイベントが発生した場合、前記第１のクラスタのクライアントを前記第１のクラスタが前記第２のクラスタにリダイレクトする、ことを特徴とする請求項１５又は１６に記載のシステム。
【請求項１８】
前記第２のクラスタが、前記第２のクラスタ中の情報へのアクセスを読取専用ベースで提供する、ことを特徴とする請求項１５乃至１７のうちのいずれか１項に記載のシステム。
【請求項１９】
前記第１のクラスタが、前記第１のテナントに関連する情報を前記第２のクラスタに複製することを、前記第１のクラスタと前記第２のクラスタとの間のリンクを介して行うようになっており、
前記第１のクラスタが、前記リンクに第２のテナントを追加する、ことを特徴とする請求項１５乃至１８のうちのいずれか１項に記載のシステム。
【請求項２０】
前記第１のクラスタが、前記第１のテナントに関連する情報の複製に関連する複製メトリックを損なわずに、前記リンクを介して前記第２のテナントに関連する情報を複製する、ことを特徴とする請求項１９に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、２００９年１０月３０日に出願された米国特許出願第１２／６０９，８６９号に基づくものであり、この出願に対する優先権を主張する。
【０００２】
本発明は一般に、分散コンピュータネットワークにおける、可用性、信頼性、および持続性の高いデータストレージのための技法に関する。
【背景技術】
【０００３】
従来のテープおよび光学ストレージ解決法に取って代わるかまたはそれを補う、可用性、信頼性、および持続性の高い方式による「固定コンテンツ」のアーカイブストレージ（ａｒｃｈｉｖａｌ  ｓｔｏｒａｇｅ）に対する必要性が高まってきた。用語「固定コンテンツ」とは、通常、参照または他の目的のためにそのままで保存されることが予想される任意のタイプのディジタル情報を指す。このような固定コンテンツの例としては、多くの例の中でもとりわけ、電子メール、文書、診断画像、チェック画像、音声録音、フィルムおよびビデオなどが挙げられる。従来の独立ノード冗長アレイ（ＲＡＩＮ、Ｒｅｄｕｎｄａｎｔ Ａｒｒａｙ  ｏｆ  Ｉｎｄｅｐｅｎｄｅｎｔ  Ｎｏｄｅｓ）ストレージ手法は、このような固定コンテンツの情報資産を記憶するための大規模なオンラインアーカイブを生み出すために選択されるアーキテクチャとして登場した。ＲＡＩＮアーキテクチャは、ノードが必要に応じてクラスタに結合することおよびクラスタから退出することを可能にすることにより、ストレージクラスタを１つまたは複数のノードの障害から隔離する。ＲＡＩＮタイプのアーカイブは、データを複数のノード上で複製することにより、ノードの障害または除去を自動的に補償することができる。通常、ＲＡＩＮシステムは、閉システム内の同一コンポーネントから設計されたハードウェア機器として広く供給される。
【発明の概要】
【０００４】
独立ノード冗長アレイを備えるコンテンツプラットフォーム（または「クラスタ」）が、論理的に区分化される。管理者が、ウェブ・ベースのインタフェースを使用してクラスタ内の１つまたは複数の「テナント」を定義するが、テナントは、１組の属性、すなわち、名前空間、管理アカウント、データアクセスアカウント、および許可マスクを有する。名前空間は、少なくとも１つの定義されたアプリケーションに通常関連するオブジェクトの集まりとしての働きをする、クラスタの論理的区分である。各名前空間は、他の名前空間に対するプライベートファイルシステムを有する。この手法により、ユーザは、クラスタデータを論理的区分に分けることができる。本開示によれば、クラスタ（「ソースクラスタ」）中の、全ての関連する名前空間を含めたテナント情報が、複製リンクを介して少なくとも１つのターゲットクラスタに複製される。好ましくは、複製は、ソースクラスタ中の複数のテナントについて利用可能であり、複製アルゴリズムが、他のテナントのデータ複製の進行を止めることなく特定のテナントを複製リンクに追加できることを確実にする。
【０００５】
以上、本発明のより関連性の高い特徴のいくつかを概説した。これらの特徴は例示に過ぎないと解釈すべきである。開示する本発明を異なる方式で適用することにより、または本発明を後述のように修正することにより、多くの他の有益な結果を達成することができる。
【図面の簡単な説明】
【０００６】
【図１】本発明をその中で実施できる固定コンテンツストレージアーカイブの簡略化されたブロック図である。
【図２】本発明による、各独立ノードが対称でありアーカイブクラスタアプリケーションをサポートする、独立ノード冗長アレイの簡略化された表現の図である。
【図３】所与のノード上で実行されるアーカイブクラスタアプリケーションの様々なコンポーネントの高レベル表現の図である。
【図４】本明細書に述べる技法によりどのようにクラスタが区分化されるかを示す図である。
【図５】テナント管理者コンソールの「概観」ページを示す図である。
【図６】テナント管理者コンソールの「名前空間」ページを示す図である。
【図７】テナント管理者コンソールの「名前空間を作成する」コンテナページを示す図である。
【図８】所与の名前空間についての「名前空間の概観」コンテナページを示す図である。
【図９】管理者が所与のポリシを構成できる、所与の名前空間についての「ポリシ」コンテナページを示す図である。
【図１０】どのように管理者が名前空間についてバージョニングをイネーブルにするかを示す図である。
【図１１】どのように管理者が名前空間について廃棄サービスをイネーブルにするかを示す図である。
【図１２】どのように管理者が名前空間について特権的削除オプションをイネーブルにするかを示す図である。
【図１３】どのように管理者が名前空間について保存クラスをイネーブルにするかを示す図である。
【図１４】テナントについての「複製」タブを示す図である。
【図１５】「複製」タブ中の名前空間の１つを示し、この名前空間の複製についてのグラフおよび統計を示す図である。
【図１６】どのようにコンテンツが１つまたは複数のリモートアーカイブサイトに複製されてアーカイブ・ベースの（ａｒｃｈｉｖａｌ−ｂａｓｅｄ）業務継続性および／または災害復旧が容易になるかを示す図である。
【図１７】どのように管理者がクラスタ間にリンクを生み出してオブジェクトレベルの複製を容易にすることができるかを表す図である。
【図１８】本開示の主題によりどのようにテナントデータが複製されるかを示す図である。
【発明を実施するための形態】
【０００７】
スケーラブルなディスク・ベースのアーカイブストレージ管理システムを提供すること、好ましくは、独立ノード冗長アレイに基づくシステムアーキテクチャを提供することが知られている。各ノードは、異なるハードウェアを備える場合があり、したがって「異種」と考えることができる。ノードは通常、１つまたは複数のストレージディスクへのアクセスを有するが、これらのストレージディスクは、実際の物理ストレージディスクとすることもでき、またはストレージエリアネットワーク（ＳＡＮ）におけるように仮想ストレージディスクとすることもできる。各ノード上でサポートされるアーカイブクラスタアプリケーション（および任意選択で、このアプリケーションが実行される、基礎を成すオペレーティングシステム）は、同じかまたはほぼ同じとすることができる。例示的な一実施形態では、各ノード上のソフトウェアスタック（オペレーティングシステムを含むことができる）は対称だが、ハードウェアは異種である場合がある。このシステムを使用して、図１に示すように、企業が、とりわけ文書、電子メール、衛星画像、診断画像、チェック画像、音声録音、ビデオなど、多くの異なるタイプの固定コンテンツ情報のための永続的ストレージを生み出すことができる。当然、これらのタイプは例示に過ぎない。独立サーバまたはいわゆるストレージノード上でデータを複製することによって、高レベルの信頼性が達成される。各ノードは、そのピアと対称であることが好ましい。したがって、好ましくはどんな所与のノードも全ての機能を実施することができるので、いずれか１つのノードの障害はアーカイブの可用性にほとんど影響を及ぼさない。
【０００８】
米国特許第７，１５５，４６６号に記載のように、各ノード上で実行される分散ソフトウェアアプリケーションが、ディジタル資産を取り込み、保存し、管理し、取り出す。図２の例示する一実施形態では、個別アーカイブの物理的境界が、クラスタと呼ばれる。通常、クラスタは、単一のデバイスではなく、デバイスの集まりである。デバイスは、同種または異種である場合がある。典型的なデバイスは、Ｌｉｎｕｘなどのオペレーティングシステムを実行するコンピュータまたはマシンである。コモディティハードウェア上でホストされるＬｉｎｕｘベースのシステムのクラスタは、少数のストレージノードサーバから、何千テラバイトものデータを記憶する多くのノードまでスケーリングできるアーカイブを提供する。このアーキテクチャにより、記憶容量が、組織のますます増加するアーカイブ要件に常に遅れを取らずにいられることが確実になる。アーカイブが常にデバイス障害から保護されるように、データがクラスタ全体で複製されることが好ましい。ディスクまたはノードに障害が発生した場合、クラスタは自動的に、クラスタ中の、同じデータのレプリカを維持する他のノードにフェイルオーバする。
【０００９】
例示的なクラスタは、以下の一般的なコンポーネントカテゴリ、すなわちノード２０２、１対のネットワークスイッチ２０４、電力分配ユニット（ＰＤＵ）２０６、および無停電電源（ＵＰＳ）２０８を備えることが好ましい。ノード２０２は通常、１つまたは複数のコモディティサーバを備え、ＣＰＵ（例えばＩｎｔｅｌ  ｘ８６）、適切なランダムアクセスメモリ（ＲＡＭ）、１つまたは複数のハードドライブ（例えば標準的なＩＤＥ／ＳＡＴＡ、ＳＣＳＩなど）、および２つ以上のネットワークインタフェース（ＮＩＣ）カードを含む。典型的なノードは、２．４ＧＨｚチップ、５１２ＭＢ  ＲＡＭ、および６つの２００ＧＢハードドライブを備えた、２Ｕラックマウント式ユニットである。ただしこれは限定ではない。ネットワークスイッチ２０４は通常、ノード間のピア・ツー・ピア通信を可能にする内部スイッチ２０５と、各ノードへのクラスタ外アクセスを可能にする外部スイッチ２０７とを含む。各スイッチは、クラスタ中の全ての潜在的なノードに対処するのに十分なポートを必要とする。この目的で、ＥｔｈｅｒｎｅｔまたはＧｉｇＥスイッチを使用することができる。ＰＤＵ２０６は、全てのノードおよびスイッチに電力供給するのに使用され、ＵＰＳ２０８は、全てのノードおよびスイッチを保護するのに使用される。限定というわけではないが、クラスタは通常、公衆インターネット、企業イントラネット、または他のワイドエリアもしくはローカルエリアネットワークなど、ネットワークに接続可能である。例示的な一実施形態では、クラスタは、企業環境内で実現される。クラスタへは、例えば、サイトの法人ドメインネームシステム（ＤＮＳ）ネームサーバを介してナビゲートすることによって到達することができる。したがって例えば、クラスタのドメインは、既存のドメインの新しいサブ・ドメインとすることができる。代表的な一実装形態では、サブ・ドメインは、法人ＤＮＳサーバ中で、クラスタ自体の中のネームサーバに委任される。エンドユーザは、任意の従来のインタフェースまたはアクセスツールを使用して、クラスタにアクセスする。したがって例えば、コンテンツプラットフォームへのアクセスは、任意のプロトコル（ＲＥＳＴ、ＨＴＴＰ、ＦＴＰ、ＮＦＳ、ＡＦＳ、ＳＭＢ、ウェブサービスなど）によって、またはＡＰＩを介して、またはいずれか他の既知のもしくは後に開発されるアクセス方法、サービス、プログラム、もしくはツールを通して行うことができる。
【００１０】
クライアントアプリケーションは、標準的なＵＮＩＸファイルプロトコルやＨＴＴＰ  ＡＰＩなど、１つまたは複数のタイプの外部ゲートウェイを通してクラスタにアクセスする。アーカイブは、任意の標準的なＵＮＩＸファイルプロトコル指向の機能の下に任意選択で位置することのできる仮想ファイルシステムを通して見えるようにされることが好ましい。これらの仮想ファイルシステムとしては、ＮＦＳ、ＦＴＰ、ＳＭＢ／ＣＩＦＳなどが挙げられる。
【００１１】
一実施形態では、アーカイブクラスタアプリケーションは、クラスタとして共にネットワーク化（例えばＥｔｈｅｒｎｅｔを介して）された独立ノード冗長アレイ（Ｈ−ＲＡＩＮ）上で実行される。所与の各ノードのハードウェアは、異種である場合がある。しかし、信頼性のために、好ましくは、各ノードは分散アプリケーションのインスタンス３００（同じインスタンス、またはほぼ同じインスタンスとすることができる）を実行し、インスタンス３００は、次に図３に示すようにいくつかの実行時コンポーネントからなる。したがって、ハードウェアは異種である場合があるが、ノード上のソフトウェアスタックは（少なくとも本発明に関しては）同じである。これらのソフトウェアコンポーネントは、ゲートウェイプロトコルレイヤ３０２、アクセスレイヤ３０４、ファイルトランザクションおよび管理レイヤ３０６、ならびにコアコンポーネントレイヤ３０８を含む。「レイヤ」という呼称は説明の目的で提供するものであり、これらの機能を他の有意義な方法で特徴付けることもできることを当業者なら理解するであろう。これらのレイヤ（またはその中のコンポーネント）の１つまたは複数が統合されてもよく、そうでなくてもよい。いくつかのコンポーネントは、複数のレイヤにまたがって共有されてもよい。
【００１２】
ゲートウェイプロトコルレイヤ３０２中のゲートウェイプロトコルは、既存のアプリケーションに対する透過性を提供する。特に、ゲートウェイは、ＮＦＳ３１０やＳＭＢ／ＣＩＦＳ３１２などのネイティブファイルサービス、ならびに、カスタムアプリケーションを構築するためのウェブサービスＡＰＩを提供する。ＨＴＴＰサポート３１４もまた提供される。アクセスレイヤ３０４は、アーカイブへのアクセスを提供する。特に、本発明によれば、固定コンテンツファイルシステム（ＦＣＦＳ）３１６が、ネイティブファイルシステムをエミュレートして、アーカイブオブジェクトへの完全なアクセスを提供する。ＦＣＦＳは、アーカイブコンテンツが普通のファイルであるかのように、アーカイブコンテンツへの直接アクセスをアプリケーションに与える。好ましくは、アーカイブされたコンテンツはその元のフォーマットでレンダリングされ、メタデータはファイルとして見えるようにされる。ＦＣＦＳ３１６は、ディレクトリおよび許可の従来型のビューと、ルーチンファイル・レベルコールとを提供し、したがって管理者は、管理者に馴染みのある方式で固定コンテンツデータをプロビジョニングする（ｐｒｏｖｉｓｉｏｎ）ことができる。ファイルアクセスコールは、ユーザ空間デーモンによってインターセプトされて適切な（レイヤ３０８中の）コアコンポーネントにルーティングされることが好ましく、このコアコンポーネントは、呼出し側アプリケーションに対する適切なビューを動的に生み出す。ＦＣＦＳコールは、自律的なアーカイブ管理を容易にするためにアーカイブポリシによって制約されることが好ましい。したがって一例では、管理者またはアプリケーションは、保存期間（所与のポリシ）がまだ有効であるアーカイブオブジェクトを削除することはできない。
【００１３】
アクセスレイヤ３０４はまた、ウェブユーザインタフェース（ＵＩ）３１８およびＳＮＭＰゲートウェイ３２０を備えることが好ましい。ウェブユーザインタフェース３１８は、ファイルトランザクションおよび管理レイヤ３０６中の管理エンジン３２２への対話式アクセスを提供する管理者コンソールとして実現されることが好ましい。管理コンソール３１８は、アーカイブオブジェクトと個々のノードとを含めたアーカイブの動的ビューを提供する、パスワード保護されたウェブ・ベースのＧＵＩであることが好ましい。ＳＮＭＰゲートウェイ３２０は、管理エンジン３２２への容易なアクセスをストレージ管理アプリケーションに提供して、ストレージ管理アプリケーションがクラスタアクティビティを安全に監視および制御できるようにする。管理エンジンは、システムとポリシイベントとを含めたクラスタアクティビティを監視する。ファイルトランザクションおよび管理レイヤ３０６はまた、要求マネージャプロセス３２４を備える。要求マネージャ３２４は、外部世界（アクセスレイヤ３０４を通した）からの全ての要求、ならびにコアコンポーネントレイヤ３０８中のポリシマネージャ３２６からの内部要求を取りまとめる。
【００１４】
コアコンポーネントはまた、ポリシマネージャ３２６に加えて、メタデータマネージャ３２８と、ストレージマネージャ３３０の１つまたは複数のインスタンスとを備える。メタデータマネージャ３２８は、各ノード上にインストールされることが好ましい。クラスタ中のメタデータマネージャは、集合的に、分散データベースとして働いて、全てのアーカイブオブジェクトを管理する。所与のノード上で、メタデータマネージャ３２８はアーカイブオブジェクトのサブセットを管理し、好ましくは、各オブジェクトは、外部ファイル（「ＥＦ」、記憶されるようにアーカイブに入ったデータ）と、アーカイブデータが物理的に位置する１組の内部ファイル（それぞれ「ＩＦ」）との間でマッピングする。同じメタデータマネージャ３２８が、他のノードから複製された１組のアーカイブオブジェクトも管理する。したがって、あらゆる外部ファイルの現在の状態が、いくつかのノード上の複数のメタデータマネージャに常に利用可能である。ノード障害が発生した場合、他のノード上のメタデータマネージャは、障害が発生したノードによって前に管理されていたデータへのアクセスを提供し続ける。この動作については、後でより詳細に述べる。ストレージマネージャ３３０は、分散アプリケーション中の他の全てのコンポーネントに利用可能なファイルシステムレイヤを提供する。ストレージマネージャ３３０は、データオブジェクトをノードのローカルファイルシステムに記憶することが好ましい。所与のノード中の各ドライブは、それ自体のストレージマネージャを有することが好ましい。これにより、このノードは、個々のドライブを除去することができ、スループットを最適化することができる。ストレージマネージャ３３０はまた、システム情報と、データに対する完全性チェックと、ローカルディレクトリ構造を横断する能力とを提供する。
【００１５】
図３に示すように、クラスタは、通信ミドルウェアレイヤ３３２およびＤＮＳマネージャ３３４を通して、内部および外部通信を管理する。インフラストラクチャ３３２は、アーカイブコンポーネント間の通信を可能にする効率的で信頼性のあるメッセージ・ベースのミドルウェアレイヤである。例示する一実施形態では、このレイヤは、マルチキャスト通信およびポイント・ツー・ポイント通信をサポートする。ＤＮＳマネージャ３３４は、全てのノードを企業サーバに接続する分散ネームサービスを実行する。ＤＮＳマネージャは（単独で、またはＤＮＳサービスと共に）、全てのノードにわたり要求の負荷平衡を保って、最大のクラスタスループットおよび可用性を確実にすることが好ましい。
【００１６】
例示する一実施形態では、アプリケーションインスタンスは、Ｒｅｄ  Ｈａｔ  Ｌｉｎｕｘ１０．０などの基礎オペレーティングシステム３３６上で実行される。通信ミドルウェアは、任意の好都合な分散通信機構である。他のコンポーネントは、ＦＵＳＥ（Ｆｉｌｅｓｙｓｔｅｍ  ｉｎ  ＵＳＥｒｓｐａｃｅ）を含むことができ、ＦＵＳＥは、固定コンテンツファイルシステム（ＦＣＦＳ）３１６のために使用することができる。ＮＦＳゲートウェイ３１０は、Ｕｎｆｓｄによって実現することができ、Ｕｎｆｓｄは、標準的なｎｆｓｄ  Ｌｉｎｕｘ  Ｋｅｒｎｅｌ  ＮＦＳドライバのユーザ空間実装である。各ノード中のデータベースは、例えばＰｏｓｔｇｒｅＳＱＬ（本明細書ではＰｏｓｔｇｒｅｓとも呼ばれる）によって実現することができ、ＰｏｓｔｇｒｅＳＱＬは、オブジェクト関係データベース管理システム（ＯＲＤＢＭＳ）である。ノードは、Ｊｅｔｔｙなどのウェブサーバを含むことができ、Ｊｅｔｔｙは、Ｊａｖａ  ＨＴＴＰサーバ／サーブレットコンテナである。当然、上記の機構は例示に過ぎない。
【００１７】
所与のノード上のストレージマネージャ３３０は、物理ストレージデバイスを管理することを担う。各ストレージマネージャインスタンスは、その配置アルゴリズムに従って全てのファイルが配置される単一のルートディレクトリを担当することが好ましい。複数のストレージマネージャインスタンスが１つのノード上で同時に実行されていてよく、各ストレージマネージャインスタンスは普通、システム中の異なる物理ディスクを表す。ストレージマネージャは、使用されているドライブおよびインタフェース技術を、システムの残りの部分から抽象化する。ストレージマネージャインスタンスは、ファイルを書き込むよう依頼されたとき、担当することになる表現の完全なパスおよびファイル名を生成する。代表的な一実施形態では、ストレージマネージャ上で記憶されることになる各オブジェクトは、記憶されるべき生データとして受け取られ、次いでストレージマネージャは、種々のタイプの情報を常に把握するために、このオブジェクトを記憶する際にストレージマネージャ自体のメタデータをファイルに追加する。例として、このメタデータは、ＥＦ長（バイトで表された外部ファイルの長さ）、ＩＦセグメントサイズ（内部ファイルのこの部分のサイズ）、ＥＦ保護表現（ＥＦ保護モード）、ＩＦ保護役割（この内部ファイルの表現）、ＥＦ作成タイムスタンプ（外部ファイルのタイムスタンプ）、署名（署名タイプを含めた、書込み時（ＰＵＴ）の内部ファイルの署名）、およびＥＦファイル名（外部ファイルのファイル名）を含む。内部ファイルデータと共にこの追加メタデータを記憶することにより、追加のレベルの保護がもたらされる。特に、スカベンジングによって、内部ファイルに記憶されたメタデータから、データベース中の外部ファイル記録を作成することができる。他のサービス（本明細書では「ポリシ」と呼ばれることもある）が、内部ファイルハッシュを内部ファイルに対して妥当性検査して、内部ファイルが損なわれないままであることを妥当性検査することができる。
【００１８】
前述のように、内部ファイルは、アーカイブオブジェクト中の元の「ファイル」の一部を表すデータの「チャンク」であることが好ましく、これらのチャンクは、種々のノード上に配置されて、ストライピングおよび保護ブロックを達成することが好ましい。通常は各アーカイブオブジェクトに対して１つの外部ファイルエントリがメタデータマネージャ中に存在するが、各外部ファイルエントリに対して多くの内部ファイルエントリがある場合もある。通常、内部ファイルレイアウトはシステムに依存する。所与の一実装形態では、このデータのディスク上の実際の物理的フォーマットは、一連の可変長の記録に記憶される。
【００１９】
要求マネージャ３２４は、システム内の他のコンポーネントと対話することによって、アーカイブアクションを実施するのに必要な１組の操作を実行することを担う。要求マネージャは、種々のタイプの多くの同時アクションをサポートし、失敗したトランザクションがあればそれをロールバックすることができ、実行に長時間かかる可能性のあるトランザクションをサポートする。要求マネージャはまた、アーカイブ中での読取り／書込み操作が正しく処理されることを確実にし、全ての要求が常に既知の状態にあることを保証する。要求マネージャはまた、複数のノードにまたがる複数の読取り／書込み操作を調整するためのトランザクション制御を提供して、所与のクライアント要求を満たす。加えて、要求マネージャは、最近使用されたファイルのメタデータマネージャエントリをキャッシュし、セッションならびにデータブロックのためのバッファリングを提供する。
【００２０】
クラスタの主要な任務は、無限数のファイルを確実にディスク上に記憶することである。所与のノードが、何らかの理由で到達不可能であるかさもなければ利用不可能であるかもしれないという意味で、「信頼性がない」と考えられる場合がある。このような潜在的に信頼性のないノードの集まりが協働して、信頼性があり可用性の高いストレージを生み出す。一般に、記憶する必要のある情報には２つのタイプがある。すなわち、ファイル自体と、ファイルに関するメタデータとである。
【００２１】
コンテンツプラットフォームはまた、参照によりその開示が組み込まれる２００７年１１月７日に出願された米国特許出願第１１／９３６，３１７号に記載の方式などの複製方式を実施することもできる。この開示によれば、１組の分散アーカイブにわたってクラスタ回復プロセスが実施され、個別のアーカイブはそれぞれ、好ましくは対称なノードの、ストレージクラスタである。クラスタの各ノードは通常、固定コンテンツデータおよび関連メタデータのオブジェクト・ベースの記憶を提供するアプリケーションのインスタンスを実行する（前述のように）。この記憶方法によれば、第１のクラスタと第２のクラスタとの間の関連付けまたは「リンク」が最初に確立されて、複製が容易になる。第１のクラスタは「プライマリ」と呼ばれることがあり、「第２の」クラスタは「レプリカ」と呼ばれることがある。リンクが形成されると、次いで、第１のクラスタの固定コンテンツデータおよびメタデータが、好ましくは連続的な方式で、第１のクラスタから第２のクラスタに複製される。しかし、第１のクラスタに障害が発生したときは、フェイルオーバ動作が行われ、第１のクラスタのクライアントは第２のクラスタにリダイレクトされる。第１のクラスタが修復または置換されると（「リストア」）、修復または置換された第１のクラスタは、第１のクラスタのクライアントにサービスするための権限を取り戻す。
【００２２】
図１６に、３つのレプリカクラスタ１６０２（１つは米国のワバシャに位置し、１つは英国のルートンに位置し、１つは日本の京都に位置する）と共に、プライマリクラスタ１６００を示す。通常、各クラスタは異なる地理的位置にあるが、これは限定でも要件でもない。コンテンツが、プライマリクラスタ（ＰＣ）１６００から各レプリカクラスタ（ＲＣ）１６０２に複製されて（複製プロセスを通して）、業務継続性および災害復旧を可能にする。したがって、機能停止が発生した場合、クライアントアプリケーションは、レプリカクラスタにフェイルオーバして、システムダウンタイムを最小限に抑えることができる。リストア機能（回復プロセス）が、新しいプライマリクラスタの迅速なデータ再投入を実現するが、この新しいプライマリクラスタは、再構築／再リストアされた元のプライマリクラスタであってもよく、または全く新しいプライマリクラスタであってもよい。
【００２３】
図１７に、クラスタ間の複製リンクを生み出すことを可能にする管理コンソールグラフィカルユーザインタフェース（ＧＵＩ）１７００を示す。前述のように、リンクにより、ソース名前空間を指定のターゲットクラスタに複製することができる。このリンクは、１つまたは複数のオプションによって構成することができる。したがって、ディジタル署名オプションを選択して、リンクの真正性を保証することができる。圧縮オプションを選択して、リンクにわたるデータ圧縮を可能にしてＷＡＮ帯域幅要件を最小限に抑えることができる。暗号化オプションを選択して、リンクの安全を確保する必要がある場合（これはリンクが公衆ネットワーク（インターネットなど）を含む場合に当てはまることがある）に暗号化（例えばＳＳＬ）の使用を可能にすることができる。加えて、スケジューリングオプションにより、いつ複製を行うべきか、および複製がどれくらい積極的であるべきかを選択することができる。これらのオプションは、それぞれ管理者によって構成されることが好ましい。アーカイブオブジェクトは、安全な方式でプライマリクラスタから１つまたは複数のレプリカクラスタに複製されることが好ましい。
【００２４】
好ましくは、複製はオブジェクトレベルで追跡され、これには、固定コンテンツデータ、メタデータ、およびポリシ情報（例えばシュレッディング属性など）が含まれる。ＧＵＩはまた、オブジェクト数および容量の点から見た複製進行を例えば含むメトリックを見えるようにすることができる。どんなアーカイブも、管理者が複製、回復、およびフェイルバックのためにアーカイブを構成するのに用いることのできる、マシンを含むことができる。
【００２５】
上述したようなコンテンツプラットフォームが、参照によりその開示が組み込まれる２００７年２月１５日に出願された米国特許出願第１１／６７５，２２４号に記載の方式などのデータ保護レベル（ＤＰＬ）方式を実施することができる。
【００２６】
以上は、知られているコンテンツプラットフォームまたは「クラスタ」に関する記述である。以下に、記憶すべきユーザデータの量が増加するのに伴ってどのように企業（またはサービスプロバイダなど他のエンティティ）がこのようなクラスタを区分化してクラスタリソースをより効果的に利用することができるかについて述べる。
【００２７】
クラスタ区分化−テナントおよび名前空間
【００２８】
次に述べる主題に対して、以下の術語が適用される。
【００２９】
データアカウント（ＤＡ）：１つまたは複数の名前空間へのアクセスを提供する認証されたアカウント。このアカウントは、このアカウントがアクセスできる各名前空間につき、ＣＲＵＤ（作成、読取り、更新、および削除）特権の別個のセットを有する。
【００３０】
名前空間（ＮＳ）：クラスタの論理的区分。名前空間は本質的に、少なくとも１つの定義されたアプリケーションに特有のオブジェクトの集まりとしての働きをする。後述するように、各名前空間は、他の名前空間に対するプライベートファイルシステムを有する。さらに、ある名前空間へのアクセスは、別の名前空間へのアクセスをユーザに与えない。アーカイブは、単一のクラスタ上で許容される名前空間の数の上限を有することができる（例えば１００個まで）。
【００３１】
認証名前空間（ＡＮＳ）：認証されたデータアクセスを必要とする名前空間（好ましくはＨＴＴＰのみ）。
【００３２】
デフォルト名前空間（ｄＮＳ）：ＲＥＳＴ（Ｒｅｐｒｅｓｅｎｔａｔｉｏｎａｌ  Ｓｔａｔｅ  Ｔｒａｎｓｆｅｒ）以外においてクラスタ中に取り込まれるデータと共に使用される名前空間。ＲＥＳＴは、ウェブ上で構造化データおよびタイプ情報を交換するのに一般に使用される軽量プロトコルである。さらに、アプリケーションがＲＥＳＴインタフェースを使用する場合でも、名前空間がクラスタに対して認証中に指定されない場合は、全てのデータをデフォルト名前空間に記憶することができる。
【００３３】
テナント：名前空間（複数可）および場合によっては他のサブテナントの、グループ化。
【００３４】
トップ・レベルテナント（ＴＬＴ）：親テナントを持たないテナント。例えば企業。
【００３５】
サブテナント：別のテナントを親に持つテナント。例えば企業の資金調達部門。
【００３６】
デフォルトテナント：デフォルト名前空間のみを含むトップ・レベルテナント。
【００３７】
クラスタ：上述したような物理的アーカイブインスタンス。
【００３８】
クラスタが新たにインストールされたとき、このクラスタはテナントを含まない。クラスタ管理者は、トップ・レベルテナントと、これらのトップ・レベルテナントに関連する管理アカウントとを作成し、また、デフォルトテナントおよびデフォルト名前空間をイネーブルにする。図４に、この基本概念を示す。この図に示すように、図２〜３に示し上述したシステムなどの、クラスタインスタンス４００がある。後でより詳細に示すが、クラスタ管理者は、アカウント４０２を有する。適切な管理者に、トップレベルテナント４０４と、このＴＬＴについての１つまたは複数の名前空間（第１の認証名前空間４０６（エンジニアリング部門の）および第２の認証名前空間４０８（財務部門の）など）とを作成する権限が与えられる。適切な管理者はまた、このＴＬＴについての管理者アカウント４１２およびデータアカウント４１４をセットアップする。加えて、管理者は、関連するデフォルト名前空間４１８を有するデフォルトテナント４１６をイネーブルにすることもできる。図示されていないが、認可された管理者はまた、サブテナントをセットアップすることもできる。管理者はまた、管理ログ４２０を確立する。当然、上記の構成は例に過ぎず、本明細書の主題は、どんな特定のタイプの使用ケースまたはテナント／名前空間構成にも限定されない。
【００３９】
マクロレベルでは、全ての名前空間は、同じ品質および能力を有する同じまたはほぼ同じエンティティと考えることができる。一般に、かつ理解されるであろうが、名前空間は、適切に資格授与された管理者によって決定されるようにイネーブルまたはディセーブルにすることのできる１組の関連する能力を有する。単一の名前空間が１つまたは複数のアプリケーションをホストすることができるが、好ましくは、名前空間は１つの定義されたアプリケーションのみに関連する（ただしこれは限定ではない）。名前空間は通常、名前空間管理者が所与のデータアカウントについてイネーブルまたはディセーブルにするように選択できる以下の１組の関連する能力のうちの１つまたは複数を有する。すなわち、読取り（ｒ）（ファイル読取り、ディレクトリリスティング、およびｅｘｉｓｔｓ／ＨＥＡＤ操作を含む）、書込み（ｗ）、削除（ｄ）、パージ（ｐ）（ファイルの全てのバージョンのパージを可能にする）、特権（Ｐ）（特権的削除および特権的パージを可能にする）、ならびに検索（ｓ）である。
【００４０】
名前空間を使用して、かつ図４に全体的に示すように、管理者は、クラスタに対して複数のドメインを作成することができ、これらのドメインは、ユーザ／動作主の観点に基づいて異なる。これらのドメインは、例えばアクセスアプリケーション、クラスタ管理者、ＴＬＴ管理者、サブテナント管理者、および複製を含む。アクセスアプリケーションのドメインは、所与の名前空間である。認可された管理者（管理者４０２など）が、クラスタ全体のビューを有する。図示のように、管理者４０２は、トップ・レベルテナントを作成することができ、クラスタスコープを有するアクションに関する全ての管理を実施することができる。企業展開などいくつかの状況では、テナントは、テナントを管理する能力を適切な管理者に与えることができ、この場合、任意のクラスタ管理者がＴＬＴ管理者としても機能できることになる。ＴＬＴ管理者は、名前空間、データアカウント、およびサブテナントを作成する。ＴＬＴは、名前空間クォータなどいくつかの構成設定を修正することができ、またはバージョニングを可能にすることができる。サブテナント管理者は、サブテナントの下に名前空間を作成することができる。複製のドメインは、クラスタ間の複製を構成する間にクラスタ管理者によって定義される１組のＴＬＴである。
【００４１】
テナントが、管理者から見た論理的アーカイブであることは、当業者なら理解するであろう。図４に示すように、テナントは、クラスタの一部を使用して組織または部門を表すことができる。テナントは、他のテナントを含めることのできる階層として実現することができる。
【００４２】
テナントは、以下の１組の属性を有することが好ましい。すなわち、名前空間、管理アカウント、データアクセスアカウント、許可マスク、状態のロール・アップ、名前、およびクォータである。テナントは、０以上の名前空間を含むことができる。テナントは、テナントの属性をユーザが監視および更新できるようにする１組の管理アカウント（アカウント４１２など）を有することになる。データアクセスアカウントは、名前空間オブジェクトにアクセスするアカウントのセットである。許可マスク（ｒ／ｗ／ｄ／ｐ／Ｐ／ｓ）は、テナントに対して大域的であり名前空間の許可をマスクする許可のセットである。状態のロール・アップは、テナント内の全ての名前空間に対するメトリックである。テナントの名前は、適切な管理者によって設定可能かつ変更可能である。同じクラスタ内のテナント名は、競合し（ｃｏｌｌｉｄｅ）てはならない。トップレベルテナントには、管理者によってハードストレージクォータが割り当てられることが好ましい。適切な管理者は、このクォータを下げるかまたは上げることができ、この管理者は、望むだけのクォータを割り当てることができる。ＴＬＴはソフトクォータを指定することもでき、ソフトクォータは、ハードクォータの所与のパーセンテージである。テナントは、そのクォータを１つまたは複数の名前空間の間で分割することができるが、割り当てられる総クォータは、テナントのクォータを超えてはならない。課金の目的で、クォータは、取り込まれたファイルの、最も近いブロックサイズに切り上げられたサイズを測定することになることが好ましい。ソフトクォータは通常、ハードクォータの所定のパーセンテージ（例えば８５％）だが、この値は構成設定可能とすることができる。ハードクォータを超過した後はそれ以上の書込みは許可されないが、好ましくは、進行中の書込みはブロックされない。クォータを超過することと、それ以上の書込みがブロックされることとの間に遅延があるのは許容可能とすることができる。クォータは、複製されるが変更できないことが好ましい。レプリカが書込み可能になったとき、クォータもまたそこで施行される。
【００４３】
テナント管理者はまた、モニタ役割、管理者役割、セキュリティ役割、およびコンプライアンス役割うちの１つまたは複数を含む１組の役割を有する。モニタ役割は、管理者役割の読取専用バージョンである。管理者役割は、テナントに関連する主要役割である。先に記述および例示したように、この役割は、管理ユーザが現在のテナントの下に名前空間を作成するのを可能にし、このテナント内の全ての名前空間（および、ファイル数、利用可能な空間、使用されている空間など、関連する統計）のビューを提供する。管理者はまた、テナントおよび名前空間ログを閲覧することができ、管理者は、テナントおよび名前空間構成を閲覧する／更新することができる。セキュリティ役割は、新しい管理ユーザを作成／修正／削除する能力をユーザに与える。セキュリティ役割を有するユーザは、他のテナント・レベルの管理アカウントから役割を追加および削除することができる。テナントが最初に作成されたとき、好ましくは、このテナントに関連する１人の管理ユーザが存在し、このユーザアカウントはセキュリティ役割のみを有する。コンプライアンス役割は、特権的削除および保存クラス機能（以下に定義する）を使用可能にする。
【００４４】
名前空間は、アプリケーションから見た論理的アーカイブである。本明細書の主題によれば、特定の名前空間は、異なる名前空間とは別個であり、ある名前空間へのアクセスは、別の名前空間へのアクセスをユーザに与えない。名前空間の管理は、所有テナントレベルで実施されることが好ましい。さらに、名前空間は、その名前空間に関連するオブジェクトの数が０である場合にのみ削除できることが好ましい。名前空間はまた、以下の属性、すなわち許可マスク、初期設定、他の設定、表示名、クォータ、ログ、および統計を有することが好ましい。前述のように、許可マスク（ｒ／ｗ／ｄ／ｐ／Ｐ／ｓ）は、名前空間に対して大域的でありアカウントの許可をマスクする設定のセットである。初期設定は、持続的なままであることが好ましいデータ保護レベル（ＤＰＬ）やハッシング方式などを識別する。他の設定は、名前空間に対して設定してから後で変更することのできる設定（保存、シュレッド、バージョニング、索引付けなど）を指す。この機能については、後でより詳細に述べる。表示名は、名前空間の名前または他の識別子である。クォータは、ハード（ＧＢで表される）とソフト（パーセントで表される）のいずれかである。ログ属性は、ログされることになる、名前空間に関係するシステムイベントを識別する。統計属性は、容量やオブジェクト数など、名前空間に関係するデータから生成される統計を識別する。
【００４５】
テナント名および名前空間名は、様々な管理ユーザインタフェース（ＵＩ）における、人間が読める識別子であることが好ましい。これらの名前はまた、ホスト名の中で使用されて、データアクセス要求の名前空間と、管理者が管理しているテナントと、検索を制限すべき範囲とを指定することが好ましい。テナントには複数の名前空間が関連する場合があるので、名前空間名は有用である。ＨＴＴＰを介したオブジェクトアクセスは、以下の形のホスト名を使用することが好ましい。
【００４６】
＜名前空間名＞．＜テナント名＞．＜クラスタ・ドメイン・サフィックス＞（＜ｎａｍｅｓｐａｃｅ−ｎａｍｅ＞．＜ｔｅｎａｎｔ−ｎａｍｅ＞．＜ｃｌｕｓｔｅｒ−ｄｏｍａｉｎ−ｓｕｆｆｉｘ＞）
これらの名前は、従来のドメインネームシステム（ＤＮＳ）規格に準拠する。前述のように、クラスタ上のテナント名は競合してはならない。
【００４７】
以下に、テナント管理ユーザインタフェース（ＵＩ）と、このインタフェースによって提供される関連機能とに関する追加の詳細を提供する。テナントＵＩは、ウェブ・ベースのユーザインタフェース（図３のインタフェース３１８など）として、すなわち、管理エンジンへの対話式アクセスを提供するテナント管理者コンソールとして実現されることが好ましい。管理コンソールは、アーカイブの動的ビューを提供する、パスワード保護されたウェブ・ベースのＧＵＩであることが好ましい。テナント管理者がテナント管理者コンソールにログインすると、メインナビゲーションメニューを提示する概観ページが提供される。このメニューは、概観、名前空間、データアクセスアカウント、サービス、セキュリティ、および監視など、１つまたは複数の高レベル機能（ウェブページとして実現される）へのアクセスを提供する。次に、これらのインタフェースのいくつかについてより詳細に述べる。
【００４８】
図５に見られるように、「概観」ページ５００は、統計および主要イベントログを含めた、現在のテナント（すなわち管理者がログインしたテナント）に関する情報を示す。通常、このページは以下の情報を含み、好ましくはこの情報は編集可能でない。すなわち、テナント名５０２と、テナントアカウント設定を更新するためのリンク５０４と、任意のクラスタ管理者がまたこのテナントを管理してこのテナントに関連する全ての名前空間中の全てのオブジェクトを検索する（検索役割を有すると仮定した場合）ことを可能にするチェックボックス５０６と、クォータ（総計、未割振り、および割振り済み）、名前空間（総数、取込み済みオブジェクト、索引付け済みオブジェクト、およびバージョニング済みオブジェクト）、ならびにアカウント（データアカウントの数および管理アカウントの数）などのロール・アップ情報５０８と、このテナントによって所有される名前空間に適用される許可メニュー５１０と、テナント説明５１２と、ログおよびアラート５１４とである。図５に示すように、許可メニューは、有効な許可（チェックが入っている）、および許可マスクの値を識別する。これはトップレベルなので、全ての設定は、継承されるものとして、かつテナントマスク中に存在するものとして示されている。ユーザが編集タブを選択すると、サブ・メニュー５１６が表示されて、許可された管理者が個々の許可を修正できるようになる。好ましくは、管理者役割は、このページ上のパネルを修正することができ、モニタ役割および管理者役割は、このページ、およびこのページ上のパネルを閲覧することができる。
【００４９】
図６に「名前空間」ページ６００を示すが、このページは、このテナントの直下に定義された全ての名前空間、ならびに、各名前空間に関する一般的な統計（オブジェクト数、任意のアラート、およびクォータ）をリストする。このページにより、管理者は、特定の名前空間をさらに構成するために掘り下げることができる。このページは、管理者役割およびモニタ役割を有するアカウントによって閲覧可能である。このページは、現在のテナントによって所有される名前空間をリストするテーブル６０２を含み、管理者が名前空間を作成すること、リストされた名前空間についての設定を閲覧もしくは編集すること、またはリストされた名前空間についての統計を閲覧することを可能にするためのコントロール（例えばリンク／ボタン６０４）が設けられる。このテーブルは、オブジェクト数６０６、アラート６０８、およびクォータ６１０など、所与の名前空間についての統計および他の情報がサマリ形式で表示される列を含む。
【００５０】
「名前空間を作成する」コンテナタイトルバーを選択することにより、図７に示されるように「名前空間を作成する」コンテナ７００が展開して、テナントが現在のテナントについての新しい名前空間を追加できるようになる。新しい名前空間を作成するために、ユーザは以下の情報を提供する。すなわち、名前７０２、説明７０４、最大サイズ（ＴＢ、ＧＢ、ＭＢなどで表された、新しい名前空間のハードクォータ）７０６、ソフトクォータ（デフォルトで８５％とすることができる）７０８、ＤＰＬ値７１０（デフォルトで、外部記憶については１、内部記憶については２とすることができる）、ハッシュ値７１２（デフォルトでＳＨＡ−２５６とすることができる）、保存モード７１４（企業またはコンプライアンス。デフォルトでは企業）、オブジェクトバージョニング７１６（オン／オフ。デフォルトではオフ）、および検索の索引付け７１８（オン／オフ。デフォルト値はテナントから継承される）である。管理者役割は、このページを閲覧および修正できることが好ましい。名前空間についての個々のパラメータが構成された後は、ユーザは、「名前空間を作成する」ボタン７２０を選択して、このプロセスを完了する。このようにして、テナント構成内の個別の名前空間それぞれが、テナント内の他のいずれかの名前空間と比較して高度に構成設定可能である。この、名前空間ごとの構成設定可能性オプションは、大きな操作管理フレキシビリティをもたらす。
【００５１】
再び図６を参照するが、識別された名前空間のいずれか１つをユーザが選択すると、図８に示されるように「名前空間の概観」コンテナ８００が展開して、選択された名前空間に関する統計が見えるようにされる。この統計は、名前空間名のフィールド８０２、オブジェクトおよび使用のグラフ８０４（例えば名前空間中のオブジェクト、索引付けされたオブジェクト、名前空間に転送されたバイトなどの使用、ファイルサイズ合計、および割り振られた総クォータ）、アラート８０６、許可メニュー８０８（この名前空間についての許可マスクを示す）、ならびに説明８１０を含む。モニタ役割および管理者役割が、このページを閲覧することができる。図８にやはり示されるように、所与の名前空間が構成のために選択されると、「ポリシ」タブ８１２、「サービス」タブ８１４、「コンプライアンス」タブ８１６、「プロトコル」タブ８１８、および「監視」タブ８２０を含めて、いくつかのコンテナページが見えるようにされる。次に、これらのインタフェースのいくつかについてより詳細に述べる。
【００５２】
ユーザが「名前空間の概観」コンテナ８００から「ポリシ」タブ８１２を選択した場合、「ポリシ」ページが表示され、次いでユーザはこの「ポリシ」ページから、この特定の名前空間について１つまたは複数のポリシを構成することができる。図９では、ユーザは、「ポリシ」ページ９００を開いて「保存ポリシ」タイトルバーを選択しており、これによりコンテナ９０２が開き、管理者はコンテナ９０２を通して保存ポリシを設定する。オフセット保存方法９０４を選択した場合、管理者は、最大値（年、月、日）を設定する。固定日付保存方法９０６を選択した場合、ユーザは、カレンダを使用して日付を設定する。特別値保存方法９０８を選択した場合、ユーザは、１組のオプション（削除を可能にする、最初は未指定、不定、および禁止）から選択することができる。保存クラス方法９１０を選択した場合、１組の追加オプションが見えるようにされるが、これについては後でより詳細に述べる。構成が行われた後は、構成は、「ポリシを更新する」ボタン９１２を選択することによって保存される。
【００５３】
別の構成設定可能なポリシは、バージョニングである。図１０に、この目的で使用できる１組のコントロールを備えたコンテナ１０００を示す。このコンテナが開かれると、ユーザは、チェックボックス１００２を選択して、この特定の名前空間についてバージョニングをイネーブルにすることができる。このチェックボックスを選択した場合、次いでユーザは、プライマリクラスタ上で、およびもし複製がイネーブルにされている場合にはいずれかのレプリカクラスタ上で、バージョンがどれくらい長く維持されるべきかを構成することができる（フィールド１００４を使用して）。このポリシは、「ポリシを更新する」ボタン１００６を選択することによって保存される。
【００５４】
管理者コンソールの記述に戻るが、ユーザが名前空間についての「サービス」タブ８１４を選択した場合、１つまたは複数のサービスオプションを構成することができる。このようなサービスオプションの１つは、廃棄（「廃棄サービス」と呼ばれることもある）であり、これは、保存の期限が切れたオブジェクトの自動削除を可能にする。廃棄サービスオプションは、チェックボックス１１０２を含むパネル１１００を通してイネーブルにされるが、チェックボックス１１０２は、この特定の名前空間についてこのオプションをイネーブルにするために選択される。ユーザは、「サービスを更新する」ボタン１１０４を選択して、この構成を完了する。したがって、この構成オプションによれば、構成済みの保存（例えば保存クラス中で識別される）の期限が切れた後は、この保存クラスに関連するオブジェクト（この名前空間のみについての）は、自動的にクラスタから削除される。この操作は、クラスタが記憶空間を再生利用できるようになるので有利である。しかし、廃棄サービスは名前空間ごとであり、このことは非常に望ましく、管理フレキシビリティの増大をもたらす。
【００５５】
ユーザが名前空間についての「コンプライアンス」タブ８１６を選択した場合、１つまたは複数のコンプライアンスオプションを構成することができる。図１２では、ユーザは、「特権的削除」コンプライアンスオプションを選択しており、このオプションによりユーザは、特定のオブジェクトを削除のために識別することができ、この削除の理由を提供することができる。図示のように、「特権的削除」パネル１２００は、削除すべきオブジェクトが（好ましくはその完全なパスによって）識別されるフィールド１２０２、ならびに、削除の理由を示す説明フィールド１２０４を含む。次いで、「このオブジェクトを削除する」ボタン１２０６を選択することにより、このオブジェクトはクラスタから永久に削除される。この機能は、企業動作モードでのみイネーブルにされることが好ましい。特権的削除機能により、ユーザは、オブジェクトが保存されていても、オブジェクトの全てのバージョンを除去することができる。
【００５６】
名前空間についての「コンプライアンス」タブ８１６中の別の構成設定可能なオプションは、１つまたは複数の保存クラスを構成するオプションである。保存クラスは、同じ保存構成に従うことになるオブジェクトの定義済みグループ化である。ユーザが「保存クラス」タブにナビゲートすると、前に定義された１組の保存クラスおよびそれらの値が表示され、これらを検討のために選択することができる。新しい保存クラスを追加するには、ユーザはタイトルバーを選択し、これにより、図１３に示されるコンテナ１３００が開く。このパネルを使用して、ユーザは、フィールド１３０２を使用して新しい保存クラス名を識別することができ、メニュー１３０４によって保存方法を選択することができ、フィールド１３０６に説明を追加することができる。保存方法メニュー１３０４は、前に記述された保存オプション（年、月、日）が見えるようにする。「新しい保存クラスを追加する」ボタン１３０８を使用して、新しいクラスが構成される。
【００５７】
テナントについて複製がイネーブルにされている場合、管理者コンソールは、好ましくは名前空間ごとのレベルで、グラフおよび統計の表示を提供することになる。図１４に、メイン「サービス」タブから「複製」が選択されたときの代表的なＵＩページ１４００を示す。このページは、名前空間１４０２など、テナントについて構成された各名前空間をリストする。列１４０４中のデータは、レプリカの最新ステータスを示し（全てのオブジェクトはこの日時で複製されることを意味する）、「遅延日数」グラフィック１４０６中のデータは、レプリカがプライマリに対してどれくらい遅れているかを示す。１４０２などの識別された名前空間のいずれか１つをユーザが選択すると、図１５に示されるように「名前空間の概観」コンテナ１５００が展開して、選択された名前空間に関するより詳細なグラフおよび統計が見えるようにされる。グラフ１５０４はデータ転送レートを示し、チャート１５０６はサマリ履歴データを示す。
【００５８】
複製に向けて構成されたテナントについて、テナントレベルのデータが複製される。プライマリクラスタにおいて災害または他の問題が発生した場合、テナントに対して全てのアーカイブ構成設定をレプリカからリストアすることができる。
【００５９】
図１８に、テナントおよび名前空間に適用された場合の、複製の基本概念を示す。図示のように、プライマリクラスタ１８００および少なくとも１つのレプリカ１８０２がある。クラスタ間にはリンク１８０４が確立されている。プライマリクラスタ１８００は、２つの構成済みテナントＴ１およびＴ２を有し、テナントＴ１は、先に記述および例示したようにして構成された２つの名前空間ＮＳ１およびＮＳ２を有する。テナントＴ２は、１つの名前空間ＮＳ３を有する。クラスタ１８０２は、図示のように、２つの名前空間ＮＳ４およびＮＳ５を有する構成済みテナントＴ３を含む。本開示により、テナントＴ１およびその関連する名前空間は、クラスタ１８００とクラスタ１８０２との間に確立されたリンク１８０４を介して複製済みである。レプリカは、クラスタ１８０２中に破線の形で示す。テナントＴ１は、クラスタ１８００上では読取り／書込みだが、レプリカクラスタ１８０２上では読取専用である。好ましくは、リンク１８０４を介した複製は単方向であり、情報は一度に一方向に複製される（すなわち、リンク全体が、ソースからレプリカに複製しているか、逆方向にリストアしているかのいずれかである）。一般に、複製リンクは、少なくともいくらかのテナント情報をソースクラスタからレプリカクラスタに複製する。
【００６０】
複製される情報は、テナントについてのアカウントと、それらに関連する名前空間とを含む。典型的な一実装形態では、特定の複製リンクを介した複製のために、以下の項目を選択することができる。すなわち、デフォルト名前空間からの任意の数のトップレベルディレクトリ、および、任意の数のトップレベルテナントである。テナントが選択された場合は、好ましくは全ての関連する情報、すなわち、テナント管理アカウント、テナントデータアカウント、テナント管理ログ、テナント構成情報（それらの保存クラス定義を含む）、全ての関連する名前空間およびそれらのデータ、ならびに全ての関連する名前空間ログ（コンプライアンスログを含む）などが複製されることになる。複製リンクとその中の個々の名前空間との両方について、複製メトリックが提供される（ＵＩ中で）ことが好ましい。これらのメトリック、すなわち、複製された総バイト（これまでの）、リストアされた総バイト（これまでの）、複製された操作の数（これまでの）、リストアされた操作の数（これまでの）、現在の秒当たりバイトの転送レート、現在の秒当たり操作のレート、現在の秒当たりエラーのレート、最大複製バックログ時間（どの名前空間であろうと最も遅れを取っている名前空間の）、平均複製バックログ時間（複製された全ての名前空間にわたる平均）、および最小複製バックログ時間のうちの１つまたは複数が、複製リンクに利用可能とすることができる。複製される各名前空間につき、以下のメトリック、すなわち、複製された総バイト（これまでの）、リストアされた総バイト（これまでの）、現在の秒当たりバイトの転送レート、現在の秒当たり操作のレート、現在の秒当たりエラーのレート、および複製バックログ時間のうちの１つまたは複数が閲覧可能であることが好ましい。
【００６１】
１つのテナントまたは名前空間につき、１つまたは複数の複製リンクがある場合がある。特定のクラスタが、１つまたは複数の送出リンク（１つまたは複数のレプリカクラスタへの）および１つまたは複数の入来リンク（１つまたは複数のレプリカクラスタからの）を有する場合がある。複数のリンクがサポートされる場合、１つのテナントを異なるクラスタに複製することができ、異なる特性またはサービス品質（ＱｏＳ）を有する複数の複製リンクを実現することができる。このようなマルチ・リンク実装形態では、テナントは、その名前空間を、リンク特性（静的または動的）に基づいて種々の複製リンクを介して複製することができる。
【００６２】
図１８に示すような典型的な使用ケースでは、クラスタ１８０２中のレプリカテナントＴ１は読取専用である（ただしこれは限定ではない）。したがって、レプリカテナントにログインしたどんなテナント管理者によっても構成変更を行うことはできず、どんなデータアクセスアカウントによっても、レプリカテナントに関連するいずれかの名前空間に対して削除またはパージを行うことはできない。同様に、検索特権を有するデータアカウント（ユーザ）は、レプリカ上の検索ＵＩにログインしてクエリを発行することができるが、このユーザは、クエリの結果を削除、保持、パージ、特権的削除、または保存するなど、どんな更新アクションも行うことはできない。
【００６３】
レプリカ上でのシステムイベント、ならびにレプリカ上での管理アカウントおよびデータアカウントに対する、この読取専用制約には、１つまたは複数の例外があることが好ましい。複製されたテナントおよび関連する名前空間に特有のシステムイベントは、管理ログへの書込みを引き起こす。したがって、レプリカテナントの管理ＵＩへのログインなどのアクションは、システムイベントとしてレプリカ上でログされ、レプリカの名前空間中でログされたいくつかのイベント（例えば回復不可能なファイルが見つかる）もまた、レプリカのシステムイベント中でログされる。さらに、テナント管理者がレプリカ上での連続的なログインチェックに不合格となった場合、このテナント管理者のアカウントをレプリカ上でディセーブルにすることができる。同様に、データアカウントがレプリカ上での連続的な認証チェックに不合格となった場合、このアカウントはレプリカ上でディセーブルにされる。全ての構成（管理アカウントおよびデータアカウントを含む）はレプリカ上では読取専用であることが好ましいので、これらのアカウントをレプリカ上で再度イネーブルにするための手順は、好ましくは以下のとおりである。すなわち、アカウントをソースクラスタ上でディセーブルにし、アカウントを再度イネーブルにし、アカウントが複製されるのを待機する。次いで、ソース上での更新がレプリカに伝搬され、レプリカ上のアカウントがイネーブルにされる。
【００６４】
他のテナントの進行を止めることなく新しいテナントを複製リンクに追加することができるようにするために、以下の複製アルゴリズムが実施される。背景として、複製アルゴリズムは、一連のループ（時間および領域にわたる）として視覚化することができ、これは結果的に、ある時間範囲に特定の領域上で変化した全てのオブジェクトに対するクエリとなる。この手法は、以下のように修正される。すなわち、各領域にわたってループし、要求される時間間隔内に全てのオブジェクトが複製されるまで、いくらかの量の作業を実施する。各領域（または領域内の名前空間）がその変化時のいずれかの下限に対して同期されるべきであるという要件はない。次いで、「コンテンツコレクタ」（テナントコンテンツコレクタや管理ログコンテンツコレクタなど）作業エンティティが定義される。名前空間に対するコンテンツコレクタは、その作業をクラスタの複数の領域間でさらに再分割しなければならないという点で、領域ベースであることが好ましい。次いで、フロー制御は以下のように機能する。
【００６５】
間隔が残っている間に：
１．現在の時間間隔を定義する：
２．各コンテンツコレクタにつき：
１．所与の時間間隔について適格なコンテンツを複製する
３．コンテンツコレクタが領域ベースである場合に：
１．各領域につき：
１．複製すべき各名前空間につき：
１．時間間隔内に適格なオブジェクトを複製する
【００６６】
最後のステップ（時間間隔内に全ての適格なオブジェクトを複製すること）は、「作業単位」まで行われる。時間ウィンドウ中に複製すべきオブジェクトの数が多い可能性があるので、望むなら、例えば各名前空間につき行われる「作業量」（例えば複製されるオブジェクトの数、複製されるバイトの量、または他の何らかの尺度）の上限を定めることによって、行われる作業の量を制限することができる。
【００６７】
前述の手法は、既存の複製リンク上の他のオブジェクトの進行を妨げることなくテナントまたは名前空間をこのリンクに追加することができるので、有益である。テナントおよび名前空間は、述べたように様々なＱｏＳレベルで複製することができ、個別の名前空間の複製は、他のテナントに影響を及ぼさずに一時停止させることができる。さらに、データベースを適切に構築することにより、複製アルゴリズムはまた、種々のオブジェクトタイプ間できめ細かい作業を行うことができる。この技法により、名前空間の間の回転が非常に粒度の細かいレベルで可能になり、したがって、複数の名前空間にわたるオブジェクト複製は均質に見える。
【００６８】
本明細書に述べる複製技法は、管理およびアカウントデータ、管理ログ、保存クラス、データベース構成ならびにオブジェクトなど、他のタイプのデータ（テナントおよび名前空間データを超えて）を含むように拡張することができる。
【００６９】
複製ロジックは、クラスタ内で領域特有ベースで変化を処理することが好ましい。したがって、複製ロジックは、以下のタイプの情報について変化を照会および生成することができる。すなわち、テナントおよび名前空間に特有の、管理ログ、テナント管理アカウント、テナントデータアカウント、テナント構成、および名前空間構成である。クエリが、これらのタイプのデータのそれぞれについて一致する記録を収集する。
【００７０】
詳細に例示はしないが、他の表示パネルは、操作および機能を名前空間特有ベースで構成するのに使用できる他の構成オプションが見えるようにする。したがって、「プロトコル」タブ８１８により、管理者は、ＨＴＴＰ、ＨＴＴＰＳをイネーブルにするなどプロトコル設定を管理することができ、ＩＰアドレスのホワイト／ブロックリストを作成することができる。「管理」タブ８２０により、管理者は、名前空間特有のシステムログメッセージを識別または検討することができ、オブジェクトステータスを検討することができ、特権的削除および保存クラスアクティビティを例証することができる。
【００７１】
管理者はまた、コンソール中のページからデータアクセスアカウントを作成および管理することができ、テナントが現在ログインしている全ての名前空間にこれらの構成設定が適用されるようにすることができる。このような各データアクセスアカウントにつき、管理者は、個人に与えられることになる所望のアクセス権（例えば読取り、書込み、削除、パージ、検索など）を関連付けることができる。
【００７２】
名前空間が認証される場合、以下の追加の制御を課すことができる。好ましくは、認証名前空間中のアーカイブオブジェクトへのアクセスは、ＨＴＴＰを通して実施され、有効な証明書を条件とする。クライアントは、典型的には各ＨＴＴＰ操作時にクッキーおよびホストヘッダを使用して、これらの証明書をクラスタに供給しなければならない。クライアント要求を名前空間中の特定のデータアクセスアカウントにマッピングするのに必要とされる必要情報は、ユーザ名、パスワード、および完全修飾名前空間名（ＦＱＮＮ、ｆｕｌｌｙ  ｑｕａｌｉｆｉｅｄ  ｎａｍｅｓｐａｃｅ  ｎａｍｅ）を含む。ＦＱＮＮは、テナント階層内の名前空間を識別し、名前空間名、テナント名、およびテナントの親の名前（もしあれば）に基づく。ＲＥＳＴアクセス方法が、オブジェクトアクション（オブジェクト取込み、オブジェクト取出し、オブジェクト存在チェック、オブジェクト削除、オブジェクトパージ、ディレクトリリスティング、およびディレクトリ作成）、ならびにメタデータアクション（保存を設定する、リーガルホールドを設定する、削除時シュレッドを設定する、カスタムメタデータを設定する／得る／削除する、全てのメタデータを得る）に使用されることが好ましい。知られているように、ＲＥＳＴ（Ｒｅｐｒｅｓｅｎｔａｔｉｏｎａｌ  Ｓｔａｔｅ  Ｔｒａｎｓｆｅｒ）は、ウェブ上で構造化データおよびタイプ情報を交換するのに一般に使用される軽量プロトコルである。ＨＴＴＰオーバーＴＬＳ（Ｔｒａｎｓｐｏｒｔ  Ｌａｙｅｒ  Ｓｅｃｕｒｉｔｙ）などのトランスポートレイヤセキュリティ機構を使用して、２つの隣接ノード間のメッセージを確保することができる。これらの技術および規格に精通していることが仮定される。
【００７３】
ＵＩを、クラスタおよびテナントに焦点を合わせた各部分に区分化することにより、異なる人々がクラスタおよびテナント管理を実施することができる。これにより、クラスタ管理ビューとテナント管理ビューとの間のプライバシーが確実に施行され、クラスタを「破壊」するかもしれないハードウェア詳細または他の詳細へのアクセスをテナントが有さないことが保証され、テナントデータのプライバシーが保護される。
【００７４】
本明細書に述べた主題は、多くの利点をもたらす。述べた名前空間手法を使用して、エンティティ（アーカイブを運営する企業など）が、そのデータをより容易に分離および管理することができる。この手法により、管理者は、総クラスタデータセットの選択されたサブセットに対してクラスタ操作を実施することができ、また、計測操作（例えば容量報告）をより細かい粒度で実施する能力も可能になる。増加し続ける（例えばペタバイト規模の）データを他の方法で管理することは困難であろうが、述べたようにしてクラスタを区分化できることにより、操作、管理、および監督上の著しい効率がもたらされる。
【００７５】
述べた主題により、異なる管理者が、クラスタおよびテナント管理を実施することができ、この２つのエリア間を通過する情報を最小限に抑えることができる。
【００７６】
この主題は、どんな特定のタイプの使用ケースにも限定されない。典型的な使用環境は企業だが、この技法は、ストレージサービスプロバイダ、または、ストレージクラウドを運営するエンティティによって実施することができる。
【００７７】
本明細書に述べた技法は、テナント（ＴＬＴなど）に関連するユーザが、前述のように作成および管理されるアクセス特権を有するものだが、この技法は、固定コンテンツのためのアーカイブクラスタ以外において拡張および使用することもできる。したがって例えば、これらの技法はまた、ストレージ管理システムのための標準的な可視化手法のコンテキストで実施することもできる。
【００７８】
以上、本発明のいくつかの実施形態によって実施される特定の順序の動作を述べたが、このような順序は例であり、代替実施形態では、これらの動作を異なる順序で実施すること、いくつかの動作を結合すること、いくつかの動作を重ねることなどもできることを理解されたい。本明細書において所与の実施形態を参照する場合、これは、述べる実施形態が特定の特徴、構造、または特性を含むことがあるが、あらゆる実施形態が必ずしもこれらの特定の特徴、構造、または特性を含むとは限らないことを示す。
【００７９】
本発明を方法またはプロセスのコンテキストで述べたが、本発明は、本明細書の動作を実施するための装置にも関する。この装置は、必要とされる目的のために特に構築されてもよく、または、コンピュータに記憶されたコンピュータプログラムによって選択的にアクティブ化もしくは再構成される汎用コンピュータを備えてもよい。このようなコンピュータプログラムは、コンピュータ可読記憶媒体に記憶することができ、コンピュータ可読記憶媒体は、以下のものに限定されないが、光学ディスクやＣＤ−ＲＯＭや光磁気ディスクを含めた任意のタイプのディスク、読取専用メモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、磁気もしくは光学カード、または、電子的命令を記憶するのに適した任意のタイプの媒体などであり、これらはそれぞれコンピュータシステムバスに結合される。
【００８０】
システムの所与のコンポーネントについて別々に述べたが、これらの機能のいくつかを所与の命令、プログラムシーケンス、コード部分などにおいて結合または共有できることは、当業者なら理解するであろう。
【００８１】
本明細書において、単語「位置」は、必ずしも「地理的」位置に限定されない。クラスタは通常は地理的に離れているが、これは要件ではない。プライマリクラスタが、都市のあるデータセンタ中に位置し、レプリカクラスタが、同じセンタの別のデータセンタ中に位置する場合がある。この２つのクラスタはまた、単一のデータセンタ内の異なる位置にある場合もある。
【００８２】
「固定コンテンツ」のためのアーカイブのコンテキストで本発明を述べたが、これもまた限定ではない。本明細書に述べた技法は、コンテンツに対する付加タイプおよび置換タイプの修正を可能にするストレージシステムにも等しく適用することができる。
【００８３】
本明細書に述べた複製技法は、拡張することができる。したがって例えば、この技法は、キー情報をネットワークアタッチトストレージ（ＮＡＳ、ｎｅｔｗｏｒｋ  ａｔｔａｃｈｅｄ  ｓｔｏｒａｇｅ）仮想サーバまたはアプリケーションコンテナからコンテンツプラットフォームに複製する目的で、ＮＡＳのコンテキストで使用することができる。これにより、あるＮＡＳシステムが別のＮＡＳシステムから情報を読み取ることができ、ＮＡＳシステム構成データの再構成が可能になるであろう。この手法はまた、ＮＡＳシステムコンポーネントからコンテンツプラットフォームに送られるオブジェクトおよびファイルに拡張することもできる。
【００８４】
本発明について述べてきたが、次に以下のとおり特許請求する。
【図１】
0005433084.tif 000002
【図２】
0005433084.tif 000003
【図３】
0005433084.tif 000004
【図４】
0005433084.tif 000005
【図５】
0005433084.tif 000006
【図６】
0005433084.tif 000007
【図７】
0005433084.tif 000008
【図８】
0005433084.tif 000009
【図９】
0005433084.tif 000010
【図１０】
0005433084.tif 000011
【図１１】
0005433084.tif 000012
【図１２】
0005433084.tif 000013
【図１３】
0005433084.tif 000014
【図１４】
0005433084.tif 000015
【図１５】
0005433084.tif 000016
【図１６】
0005433084.tif 000017
【図１７】
0005433084.tif 000018
【図１８】
0005433084.tif 000019