JP2004500660A - ネットワーク記憶システム - Google Patents
ネットワーク記憶システム Download PDFInfo
- Publication number
- JP2004500660A JP2004500660A JP2001565610A JP2001565610A JP2004500660A JP 2004500660 A JP2004500660 A JP 2004500660A JP 2001565610 A JP2001565610 A JP 2001565610A JP 2001565610 A JP2001565610 A JP 2001565610A JP 2004500660 A JP2004500660 A JP 2004500660A
- Authority
- JP
- Japan
- Prior art keywords
- file
- storage
- srl
- request
- content
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/1858—Parallel file systems, i.e. file systems supporting multiple processors
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0823—Network architectures or network communication protocols for network security for authentication of entities using certificates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99939—Privileged access
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
Abstract
Description
発明の背景
技術分野
本発明は、記憶装置のフィールドの方へ、そして、特にローカル装置の使用による遠隔記憶装置にアクセスする方へ目的とする。
【0002】
技術バックグラウンド:
音楽、フィルムおよび写真の急速なデジタル化を伴う、顧客要求は、インターネットを駆動してデジタル・メディアの全ての種類のための最も好適な移送機構になるようにさせている。 インターネットを用いて、ユーザはそれらの好きな映画、歌または個人の記憶すべき事物に瞬間的な世界的なアクセスをする。 メディア内容の製作者およびオーナーが世界的な配布のための主方法として、ますますインターネットを使用するように、インターネットを通じて利用できる豊かなメディア内容の総計の量は極めて急速なレートで増加している。 だけでなく、豊かなメディア・オブジェクトのナンバーは、メディアの一般に規模以外の、指数的に成長することは本願明細書において、オブジェクトと称して、また、劇的に増やしているインターネットを通じて利用できる。
正中のウェブ・オブジェクトは大きさにおいて、5キロバイト(KB)である。その一方で、豊かなメディア・オブジェクトの規模はより大きい100〜100万回であってもよい。
例えば、高解像度のデジタルは、画像につき平均の500のKBを撮影する。
デジタル音楽は歌につき3〜5のメガバイト(「MB」)を実行する。そして、デジタル映画は大きさにおいて、最高4ギガバイト(「GB」)に達することができる。
パソコンのナンバー、デジタル・カムコーダ、デジタル・カメラおよび個人のデジタルオーディオ・プレーヤが成長するように、インターネット全体のメディア・ファイルも格納して、共有して、検索するインターネット・バンド幅のための要求は成長する。
広帯域のデジタル加入者線(「DSL)、ケーブルモデムおよびデジタルの使用が人気(それはインターネット・バックボーンの成長を支える)の衛星ネットワーク利得を放送したので、豊かなメディア・オブジェクトのための主配信チャンネルとしても、インターネットを使用するための要求は人気において、利益を得る。
この発展によって、効力のあるサイクルが生じる、そこにおいて、高速広帯域網のインストールは豊かなメディア装置の使用を駆動する。そして、それは順番にネットワーク・バンド幅、その他の更なる改良のための要求をつくる。
インターネット全体の豊かなメディア・オブジェクトの配布は、これらの豊かなメディア・オブジェクトを格納するために増加する記憶容量のためのニーズをつくる。
個人のメディア・デバイスのナンバーが成長する。そして、ネットワーク・バンド幅が広がるように、さまざまなMP3ファイル、写真、フィルムおよびビデオ・クリップを格納することを必要とする記憶媒体の量はまた、増大する。
【0003】
また、より多くの記憶装置が直ちに利用できるようになるように、より多くの人々はそれらの豊かなメディア・オブジェクト(例えばファミリーメンバのデジタル写真)にカタログを作って、格納して、アクセスするためにインターネットを使用する。
現在まで、確立した企業ベンダーからの従来の記憶装置解だけは、豊かなメディア・リポジトリを実行しているウェブ・サイト開発者が利用できた。
インターネットの用途に、今日の既存の記憶装置技術を採用することに関する1つのチャレンジは、現在で将来のスケーラビリティ必要条件を満たしている。
今日、大規模な記憶システムは、2、3ダースのテラバイトに比例するだけである。
記憶空間のこの量は、豊かなメディア・オブジェクトの相当な量を格納することに不十分である。例えば、10パーセントのライン(「AOL」)上のちょうどアメリカである場合ユーザは2台の15台の分ビデオを個人のホームページに配置する。そして、記憶装置の1つのペタバイト(すなわち1000テラバイト)は必要である。
今日の企業記憶システム・アーキテクチャは、記憶容量のこのレベルをサポートすることができない。インターネット界において、大容量記憶域を提供することに加えて、広域ネットワーク全体のその記憶装置に汎用アクセスを提供することは、また、きわめて重要である。それらの内容サーバ、キャッシュ・サーバまたはストリーム・サーバの場所に関係なく、プロバイダが理想的に豊かなメディアの全ての記憶装置に、遍在するアクセスを提供するのを好む内容は、反対する。記憶地域網およびネットワークを含む電流技術は記憶装置技術を接続した、広域ネットワークにダイレクトアクセスを提供しない。同じ大都市圏の中で位置するサーバだけは、直接記憶システムのこれらのタイプにアクセスすることができる。
【0004】
インターネット利用者が数万または何百万ものユーザにさえおいて測られるので、何百人ものユーザの代わりに、大容量記憶域の他のチャレンジは要求増加としてメディアの配信を基準化する能力である。本当のインターネット基底付記憶域システムは、世界中の全てから同時の何百万ものリクエストのピーク負荷を取り扱うことが可能でなければならない。
従来の記憶装置アーキテクチャは、サーバCPUの速度と一致するために最速の可能な応答時間から百同時の2、3のリクエストを支持するように設計されている。インターネットのために、記憶システムは広域ネットワークの速度で文字通り同時の何百万ものダウンロードを管理することが可能でなければならない。このように、記憶装置がはるかに広域ネットワークの呼び出し時間必要条件を上回る同時の非常にほとんどトランザクションを取り扱わないので、これらの従来の記憶装置アーキテクチャは広域ネットワークを有する「一致されるインピーダンス」でない。
加えて、これらの従来の記憶装置アーキテクチャは、高価なディスクおよび高価な接続技術によって、概して実行される。豊かなメディア・オブジェクトの記憶装置に関する他の問題は、市場の時間である。 市場の時間は、しばしば新規な豊かなメディア・ウェブ・サイトのための重要な必要条件である。成長率は、月につきテラバイトにおいて、測定される。急速に、新しい容量をオンラインに持ってくることは、動きの速い市場の戦略的な利点になる。
一般的に、従来の記憶装置解を伴う、完全に操作可能マルチ・テラバイト記憶装置をコンテンツ・プロバイダ・サイトと統合するために顧客には2〜6ヵ月かかる。 このスタートアップ時間は、急速に増加しているビジネス要求を満たすために遅くなることである。 この要求を予想して大量の過剰設備を前もって建設しておくことは予測不可能な要求スパイクを取扱う1つの戦術である、しかし、この方法は極端に高価である。
従来の記憶装置アーキテクチャは、データベースおよびファイル・サーバー・アプリケーションのために最適化された。 インターネットは記憶装置上の要求の全く新しいセットを導く。そして、スケーラビリティ、大域アクセス、ユーザーアカウントおよび迅速な配備を含む。
次の数年にわたるインターネットを通じて貢献される豊かなメディアの爆発的成長を伴う、これはヘッドに来ている。豊かな内容の来たるべきタイトル波は、最も強い企業記憶装置アーキテクチャさえの能力にまさる。したがって、インターネット作動可能豊かなメディア記憶システムを設計する新規な方法の新規なパラダイムを呈するという要求が、ある。
【0005】
発明の開示
ネットワーク記憶システムは、以下を含む:
仮想ファイル・システム(「VFS」)および記憶装置は、中心にある。VFSは、ネットワーク記憶システムのファイルを管理するためにファイルシステム情報を格納する。
記憶装置センターは、ネットワーク記憶システムのファイルを格納する。VFSおよび記憶装置センターは切り離される。そうすると、クライアントはファイルシステム・オペレーションを伝導するためにVFSにアクセスする。そして、クライアントはアップロード/ダウンロード・ファイルに記憶装置センターにアクセスする。
実施例において、クライアントは記憶装置ポートでネットワーク記憶システム(例えば仮想ファイル・システムおよび記憶装置センター)にアクセスする。記憶装置ポートは、ネットワーク記憶システムの顧客のファイルに、アクセスを提供する。実施例において、顧客は、規格NFSまたはCIFSオペレーションによって、記憶装置ポートをマウントして、記憶装置ポートにローカルファイル・システム操作を出すことによって、ファイルシステム・オペレーションおよびアクセスを実行する。応えて、記憶装置ポートは、ネットワーク記憶システム・オペレーションにローカルファイル・システム操作を翻訳する。追加記憶機構ポートは、フェールオーバ条件の場合にはネットワーク記憶システムにアクセスするために顧客で構成されることができる。
実施例において、記憶装置センターは、以下を含む:複数の知的記憶装置ノードを含む複数の分散オブジェクト記憶装置管理者(DOSMs)および記憶装置は、集まる。
記憶装置にアクセスするDOSMs受信リクエストは、中心にある。知的記憶装置ノードは、DOSMsからネットワーク記憶システムおよびサービスアクセス・リクエストのファイルを格納する。ネットワーク記憶システムは、地理的に異種の場所で追加記憶機構センターを含む。
実施例において、ネットワーク記憶システムは知的記憶装置ノードに格納されるファイルに関して、ファイル情報をDOSMsに維持するためにマルチキャスト・プロトコルを使用する。そして、異種の記憶装置センターに格納されるファイルを含む。
記憶装置センターは、以下を更に含む:ロード・バランシング・ファブリック。ロード・バランシング・ファブリックは、要求に基づいてアクセス・リクエストのためのDOSMを記憶装置センターにアクセスするのに選ぶ。加えて、DOSMsは以下を含む:少なくとも知的記憶装置ノードに格納されるファイルのサブセットを取り入れるためのデータキャッシュ。記憶装置センターのロード・バランシングの使用は、DOSMsのデータキャッシュの高い要求のファイルのためのキャッシュ・データに結果としてなる。
【0006】
詳細な説明
ネットワーク記憶システム概要:
ネットワーク記憶システムは、豊かなメディア内容オーナーの記憶装置必要条件を満たすように設計されている。豊かなメディア・オブジェクトは、概してフィルム、音楽またはウェブ・サイトと関連する写真アルバムのために必要な記憶装置の最高90パーセントを表示する。ネットワーク記憶システムは、スケーラビリティを提供するために分散システム技術を記憶装置のペタバイトをサポートして、何百万ものユーザをサポートするために用いる。ネットワーク記憶システムの範囲内で、ユーザはそれらのメディア・オブジェクトに接近するだけである。そして、非常に固定される「共有秘密」認証証明書技術を使用する。ネットワーク記憶システムも、即時の拡張性をそれらの記憶容量を増やすのを望むいかなるユーザにも提供する。
また、実施例において、それが最新の高密度ディスク技術を有する標準のいつでもすぐ買えるCPUから成るので、ネットワーク記憶システムは極めて費用効果的である。
名称集のために、本願明細書において、使われるように、項「顧客」はオブジェクトファイルを格納するために記憶システムを使用する実体に関連する。例えば、顧客は、それらのウェブ・サーバの外側で、それらのウェブ・サイト上の内容に伴う豊かなメディア・オブジェクトを分配するのを望むウェブ・サイト・オーナーから成ることができる。
また、名称集のために、本願明細書において、使われるように、項「エンドユーザ」はオブジェクトの受け側に関連する。例えば、エンドユーザはウェブ・ブラウザを使用しているインターネット全体のウェブ・サイトから、オブジェクトをダウンロードするコンピュータユーザから成ることができる。また、この定義の下で、エンドユーザはまた、顧客であってもよい。
【0007】
図1は、本発明の記憶システムのための一実施例を例示しているブロック図である。
図1の実施例のために、記憶システムは制御パスおよびデータパスから成る。
制御パスは、仮想ファイル・システム(「VFS」)から成る50、そして、経路が成るデータ分散型の記憶装置クラスタ70。制御パスは、全てのディレクトリ・オペレーションを伝導するために用いる。一つには、VFSはファイル名を割り当てられる顧客を含む、そして、ネットワーク記憶システムは各々の豊かなメディア・オブジェクトのためのユニークなファイル識別子を割り当てた。ユニークなファイル識別子は、記憶装置リソース・ロケータ(「SRLs」)に埋め込まれる。分散型の記憶装置クラスタ70は、システム(すなわち全ての顧客データ)のためのオブジェクトファイルを格納するために用いる。
図1に示すように、VFSおよび記憶装置クラスタ70は、オブジェクトファイルの物理記憶を有するファイルシステム情報を調整するために伝達情報に連結する。図1に示すように、ファイルシステム制御60は、VFS 50にディレクトリ・オペレーション・リクエストを出す。更に詳細に後述さているように、ファイルシステム制御60は顧客のローカル・ファイルシステムからネットワーク記憶システムによって、互換性があるファイルシステム・リクエストまで、本質的にファイルシステム・リクエストを「翻訳する」ためにライブラリを使用するソフトウェアから成ることができる。
【0008】
他の実施例において、ファイルシステム制御60は、顧客のシステム(例えば顧客のアプリケーションまたはウェブ・サーバ)に連結する記憶装置ポートから成る。
一般に、記憶装置ポート(いずれのハードウェアもまたはソフトウェアにおいて、インプリメントされる)は、顧客のローカル・ファイルシステム(例えばNFSまたはCIFS)から、ネットワーク記憶システムによって、互換性があるファイルシステム・リクエストまで、ファイルシステム・コマンドを翻訳する。一実施例において、ネットワーク記憶システムに顧客のファイルシステムとの入出力を行うために、顧客はネットワークドライブとして記憶装置ポートをマウントしなければならないだけである。記憶装置ポートは、それからネットワーク記憶システムに完全なアクセスを提供する。
記憶装置ポートの詳細な議論は、後述である。
図1に示すように、オブジェクト・リクエストに応答して、オブジェクト受け側80は受信する。そして、オブジェクトが記憶装置クラスタ70からダウンロードされる。オブジェクト受け側80は顧客から成ることができる、または、オブジェクト受け側80は一つ以上のエンドユーザから成ることができる。エンドユーザおよび顧客を含んで、オブジェクト受け側にオブジェクトを記憶装置クラスタ70から移すための実施例は、更に詳細に後述する。インターネットがメディア蓄積サービスの基礎を形成したので、ネットワーク記憶装置は使用用のアプリケーションを備えている。
本出願のために、ネットワーク記憶システムは、豊かなメディア内容オーナーおよび配信ネットワークによって、使われるインターネット・インフラの整数部分である。
【0009】
図2は、メディア蓄積サービスとしてネットワーク記憶装置の使用のための一実施例を例示する。一般に、蓄積サービス130は豊かなオブジェクトの顧客の全ての(例えばウェブ・サイトを作動している会社)ディレクトリの単一の一貫した世界的なイメージを提供する。この実施例のために、エンドユーザ100はネットワークで内容起点サーバ120および蓄積サービス130に連結する。例えば、エンドユーザ100はインターネットを経た内容起点サーバ120および蓄積サービス130に連結できる。蓄積サービス130は、機能(例えばサーバ140およびデータ記憶装置150)を処理して、ネットワーク化することを含む。
蓄積サービス130および内容起点サーバ120は、行為ファイルディレクトリ・オペレーションおよびオブジェクトファイル動作へ通信する。データ記憶装置150(蓄積サービス130の部分)は、大きいデータ・ファイル(例えば豊かなメディア・データ・ファイル、例示するマルチメディアのファイル160、170および図2の180)を格納する。
実施例において、データ記憶装置150は、知的記憶装置ノードのクラスタから成る。
実施例において、蓄積サービスはウェブ・サーバ(例えば内容起点サーバ120)と通信する。そして、標準のインターネット・ハイパーテキストを経たエンドユーザ・コンピュータ100に作用しているブラウザ(例えばマイクロソフト・エクスプローラまたはNetscape Navigator)はプロトコル(「HTTP」)および汎用リソース・ロケータ(「URL」)を転送する。HTTPの使用が本願明細書において、記載されているにもかかわらず、いかなるトランスポートプロトコルも趣旨または本発明の範囲からそれずに使うことができる。図2の構成のために、エンドユーザ・コンピュータ100によって、エンドユーザはハイパー・テキスト・マークアップ言語(「HTML」)を得るサーバ120が出願する内容起点に、転送プロトコル(「HTTP」)が要請するハイパー・テキストを生成する。
加えて、それらのテキストファイルに伴う大きいデータオブジェクトを得るために、エンドユーザ・コンピュータ100によって、エンドユーザは蓄積サービス130にHTTPリクエストを生成する。例えば、エンドユーザは豊かなオブジェクト(例えば来るべきフィルムを記載しているテキスト)を記載している原文のデータの2、3キロバイト、内容起点サーバ120からダウンロードすることができる。そのとき、来るべきフィルムからフィルム断片をダウンロードするURL上のユーザ「クリック」、HTTPリクエストは、蓄積サービス130に生成される、そして、蓄積サービス130はエンドユーザ・コンピュータ100にフィルム断片をダウンロードする。図2のネットワークコンフィギュレーションは、内容起点サーバ120から、蓄積サービス130まで豊かなオブジェクトの記憶装置をロードすることを離れて許す。この構成は非常にサイズを減らす、そして、内容起点サーバの複雑さはエンドユーザに格納して、管理して、豊かなオブジェクトに貢献することを必要とした。
【0010】
分散型の記憶装置クラスタ:
実施例において、記憶装置クラスタは、何百ものCPUの処理能力および何千ものディスクドライブの記憶装置を利用する分散システム技術を利用する。
図3は、記憶装置クラスタのための一実施例を例示しているブロック図である。クラスタ300が受信する記憶装置は、記憶装置リソース・ロケータ(「SRL」)を含むオペレーションをアップロードして、ダウンロードして、削除する。SRLは、それから独自に顧客ファイルを識別するために用いる。図3に示すように、記憶装置クラスタが分散オブジェクト記憶装置管理者(「DOSMs」)から成ること320、そして、知的な記憶装置ノード340。「n」分散オブジェクト記憶装置管理者320が、ある、そこにおいて、「n」は、1より大きいいかなる整数値でもある。同様に、知的記憶装置ノード340のコンポーネントのための「n」知的記憶装置ノードが、ある(すなわちそこにおいて、「n」は、また、1より大きいいかなる整数値でもある)。図3に示すように、ファイル・アップロードおよびダウンロード・オペレーションは、ロード・バランシング・ファブリック310に対する入力である。
実施例において、ロード・バランシング・ファブリック310は、4(「L4.プライム2。)が切替えるレイヤーである。一般に、L4スイッチは、TCPおよびUDPトラフィックに事実上優先順位をつけることができる。加えて、L4スイッチ(それはロード・バランシング能力を取り入れる)は、多くのリソース(例えばサーバ)の中のHTTPセッションのためのリクエストを分散する。この実施例のために、ファブリック310が分散するロード・バランシングは、DOSM可用性に基づいてアップロードして、複数のDOSMsのうちの1つまでリクエストをダウンロードする。L4スイッチのロード・バランシング能力は、現在市販である。各々のDOSMは、それぞれに同時の何百ものダウンロード・トランザクションを取り扱う。
実施例において、後述して、各々のDOSMは、ローカル記憶装置に対するディスク・キャッシュがしばしばファイル・オブジェクトにアクセスした効果がある。各々のDOSMはマップを有する。そして、記憶システムの中で、動的に発生する。マップは、知的記憶装置ノードアドレスおよびオブジェクト指紋間の一致を識別する。実施例において、DOSMsは全ての使用を記録する。そして、パフォーマンス・データは別々のアカウントシステムおよび監視システムによって、集まった。DOSMs 320は、相互接続ファブリック330を経た知的記憶装置ノード340と通信する。相互接続ファブリック330は、全てのDOSMs 320がいつでもあらゆる知的記憶装置ノードと通信することを確実にするために高速、高いバンド幅ファブリックから成る。実施例において、DOSMs 320はプロトコルを経た相互接続ファブリックの上の知的記憶装置ノードと通信する。そして、分散オブジェクト記憶装置プロトコル(「DOSP」)と名付けられる。事実上、DOSPは1つの大きい記憶装置クラスタに知的何百もの記憶装置ノードをリンクする。
更に詳細に後述するように、DOSPはポイント・ツー・ポイント・プロトコルと同様にマルチキャスト・プロトコルから成る。
一般に、知的記憶装置ノード340は、持続的な記憶装置をオブジェクトまたはファイルに提供する。知的記憶装置ノードは、高密度何千ものディスクドライブを含む。知的記憶装置ノードは、図7の議論とともに更に詳細に後述する。実施例において、ネットワーク記憶システムは、リクエストを処理するために記憶装置リソース・ロケータ(「SRLs」)を使用する。
【0011】
実施例において、ネットワーク記憶システムは、SRLのための以下のフォーマットを使用する:
http://<storage−cluster>/<encoded−request>/<digital−signature>/<arbitrary−customer−uri、
そこにおいて、:「記憶装置−クラスタ」フィールドは、記憶装置センターDSMプールの名前またはIPアドレスを含む、「コード化されたリクエスト」フィールドは、以下を含む:ベース64は、オペコードおよび引数をコード化した、「デジタル署名」フィールドは、以下の式に由来する証明書から成る:MD5(共有された秘密+ MD5(共有された秘密+コード化されたリクエスト)、そして、「任意の顧客URI」フィールドは、ネットワーク記憶システム顧客によって、SRLに加えられる任意の情報を含む。
例えば、任意の顧客URIフィールドは、ブラウザに内容を適当なプラグインに送信するのを可能にするためにダウンロードされているファイルのファイル名および拡張を含むことができる。
実施例において、「リクエストをコード化された」フィールドは、base64エンコーディングを使用してコード化される。
表1に示すように、コード化されたリクエストは、URLタイプ・フィールド、バージョン・フィールドおよびタイプ/バージョン特定のペイロード・フィールドから成る。
【0012】
【表1】
【0013】
実施例において、タイプ/バージョン特定のペイロード・フィールドは、課金情報を含む一連の『/』区切られたフィールドから成る、オペコード、そして、オペコード被支配頂引数の並び。表2は、タイプ/バージョン特定のペイロード・フィールドのための一実施例を示す。
【0014】
【表2】
【0015】
表3は、アクセス方式フィールドのための2つのアクセス方式タイプを含む。
【0016】
【表3】
【0017】
表4は、オペコード・フィールドのための操作可能コードを含む。
【0018】
【表4】
【0019】
図4は、記憶装置クラスタのダウンロード・オペレーションのための一実施例を例示しているフローチャートである。名称集のために、ダウンロード・オペレーションの「受け側」は、ダウンロード・オペレーションのためのファイルの行き先である。記憶装置クラスタはダウンロード・リクエストを受信する。そして、ユニークなファイル識別子(例えばSRL)、ブロック400、図4を含む。記憶装置クラスタがダウンロード・リクエストを受信するときに、ロード・バランシング・ファブリック310(図3)(例えばL4スイッチ)は利用できるDOSM、ブロック410、図4を選ぶ。DOSMは、証明書およびコード化されたリクエスト、ブロック415、図4を抜き出すためにSRLを解析する。
コード化されたリクエストから、証明書は算出される。そして、算出証明書はSRL証明書と比較してある。SRLがそうする場合、認証しない、そして、エラーメッセージは受け側、ブロック420および425、図4に送信される。あるいは、SRLがそうする、認証する。そして、DOSMはSRLにより識別されるオブジェクトが対応するDOSMのデータキャッシュ、ブロック420および430、図4において、存在するかどうか決定する。データオブジェクトが取り入れられる場合、オブジェクトは記憶装置クラスタから受け側(例えば、HTTPプロトコルを使用しているインターネットを経た)、ブロック430および495、図4まで伝送される。オブジェクトがDOSMで取り入れられない場合、DOSMは知的記憶装置ノード、ブロック430および440、図4のうちの1つのオブジェクトの場所を識別しようとする。DOSMがオブジェクト(例えば、オブジェクトファイルはDOSMルック・アップ・テーブルのエントリである)および記憶装置ノードの場所が読み込み可能であるということを知っている場合、DOSMはオブジェクトを格納して、記憶装置クラスタから受け側(ブロック442、435および495(図4)まで、オブジェクトを伝送する記憶装置ノードを有する接続を得る。あるいは、DOSMが知的記憶装置ノードのオブジェクトの記憶場所を知らない場合、DOSMはオブジェクト、ブロック440および450、図4の位置を決めるために知的記憶装置ノードにリクエストを放送する。各々の知的記憶装置ノードは、オブジェクトがそのディスクドライブ、ブロック460、図4のうちの1つに格納されるかどうか決定する。オブジェクトファイルが知的記憶装置ノードのうちの1つに位置する場合、知的記憶装置ノード(それは要請されたオブジェクトを格納する)は分散オブジェクト記憶装置管理者、ブロック462および470、図4の全てに、識別情報を放送する。例えば、知的記憶装置ノード340の知的記憶装置ノード「1」が要請されたオブジェクトをディスク「3」に格納する場合、そしてオブジェクトファイルが知的記憶装置ノード「1.」のディスク「3」に位置する全ての「n」DOSMsに対する知的記憶装置ノード「1」ブロードキャスト。全てのDOSMsは、ファイル識別情報を得るためにバスに嗅ぎまわる。知的記憶装置ノード・ブロードキャストに応答して、各々のDOSMは、適当なファイル識別情報を伴うそのルックアップテーブルまたはファイルシステムディレクトリをアップデートする。DOSMがオブジェクトの位置を決めるために知的記憶装置ノードにリクエストを放送する。そして、オブジェクトがリクエストから位置しない場合、DOSMは個々にオブジェクト、ブロック462および464、図4のための記憶装置ノードについてたずねるために知的記憶装置ノードを有する点と点の結合を決める。
全ての知的記憶装置ノードがたずねられた、または、オブジェクトが位置したまで、このプロセスは繰り返される。オブジェクトが知的記憶装置ノードのうちの1つに位置する場合、知的記憶装置ノード(それは要請されたオブジェクトを格納する)は分散オブジェクト記憶装置管理者、ブロック466および470、図4の全てに、識別情報を放送する。
あるいは、オブジェクトが知的記憶装置ノードのうちの1つに、位置しない場合、それから、フェールオーバ手続きは、異なる記憶装置センター、ブロック466および468、図4のオブジェクトの位置を決めるために実行される。知的記憶装置ノードが位置するときに、DOSMは知的記憶装置ノードを伴う接続を得て、要請されたオブジェクトを有するファイルを開く。記憶装置ノードが読み込み可能な(すなわち、DOSMは記憶装置ノードからうまくファイルを読み込む)場合、それから、オブジェクトは知的記憶装置ノードからネットワーク(例えば、インターネットの上のHTTPプロトコルを使用して)を経た受け側まで伝送される。オブジェクトファイルが読み込み可能でない場合、フェールオーバ手続きは異なる記憶装置ノードおよび/または記憶装置センターのオブジェクトを得るために実行される、そして、DOSMは新規な記憶装置ノード(ブロック442、468および435(図4)を有する接続を得る。その後で、オブジェクトは記憶装置クラスタから受け側、ブロック495、図4まで伝送される。
実施例において、ネットワーク記憶システムに対するアクセスは、有効な認証証明書を必要とする。実施例において、CDNsを利用して、証明書は各々の顧客アカウントに割り当てられるオブジェクトファイルのユニークなユーザ・ファイル名および安全なキーに基づく。他の実施例において、ネットワーク記憶装置は、満ちたHTTPSおよびSSLプロトコルを顧客/エンドユーザおよびネットワーク記憶システム間の安全な通信に対してサポートする。
【0020】
図5は、ネットワーク記憶システムの認証のための一実施例を例示しているフローチャートである。リクエストを認証するために、ネットワーク記憶システムは、顧客識別、SRL証明書および顧客ファイル名またはオブジェクト指紋、ブロック500、図5を抜き出すためにSRLをデコードする。ネットワーク記憶システム(すなわち仮想ファイル・システムまたは記憶装置クラスタ)は、リクエストで識別される顧客に対応する「秘密である」か安全なキーを抜き出す。一般に、「秘密である」か安全なキーは、ネットワーク記憶システムのオペレーションを認証するために顧客により出力されるパスワードである。安全なキーおよびオブジェクト指紋を用いて、ネットワーク記憶システムは、算出証明書、ブロック520、図5を生成する。
実施例において、ネットワーク記憶システムは、以下の式に従ってリクエストのための算出証明書を生成する:
MD5ハッシュ(キー+ MD5ハッシュ(キー+コード化されたSRLを固定する)を固定する)
上記のように、第1のMD5ハッシュ計算は第1の結果を得るためにオブジェクト指紋および安全なキーに実行される。そして、第2のMD5ハッシュ計算は算出証明書を得るために第1の結果および安全なキーに実行される。ネットワーク記憶システムは、算出証明書をSRL証明書(すなわちSRLリクエストにより伝送される証明書)、ブロック530、図5と比較する。証明書が一致する場合、SRLは認証される。そして、リクエストは実行される、ブロック540および560、図5。あるいは、算出証明書がSRL証明書と一致しない場合、ネットワーク記憶システムはリクエスタ、ブロック540および550、図5に、エラーメッセージを生成する。
【0021】
図6は、分散オブジェクト記憶装置管理者(「DOSM」)の一実施例を例示する。この実施例のために、プロセスおよび各々のDOSMの機能は、コンピュータ(例えばサーバ600)上の実行のためのソフトウェアにおいて、実装される。他の実施例において、分散オブジェクト記憶装置管理者320は、一つ以上のコンピュータ上のハードウェアおよびソフトウェアの組合せにおいて、実行されることができる。各々のDOSMは、知的記憶装置ノード340に格納されるオブジェクトファイルの場所を識別するためにファイル・ルックアップテーブルを維持する。図6の表610は、DOSMファイル・ルックアップテーブルのための一実施例を例示する。この実施例のために、テーブルの各々のエントリは、知的記憶装置ノードに格納される対応するオブジェクトファイルを識別する。
具体的には、各々のエントリは、以下を含む:ファイル識別、IPアドレスおよびディスク識別。ファイル識別(本願明細書において、また、オブジェクト指紋と称される)は、オブジェクトファイルの内容上のMD5ハッシュ計算を実行することによって、引き出される。このMD5ハッシュ計算の結果は、128のビット列である。ファイル指定「MD5.」を伴うファイル識別カラム(128のビット列)のこの実施例(ルックアップテーブルが格納するDOSMファイル)のために、DOSMファイル・ルックアップテーブルの第2のカラムは、オブジェクトファイル(例えば「10.3.100.1”)を格納する知的記憶装置ノードのIPアドレスを格納する。第3のカラム(ディスクIDと分類される)は、オブジェクトファイルを格納する知的記憶装置ノード上の特定のディスクドライブを識別する整数値を格納する。
実施例において、ルック・アップ・テーブルが最大限の吸収力であるときに、DOSMは新規なエントリを有するDOSMルックアップテーブルの既存のエントリを交換するキャッシュ・アルゴリズムが受信したLRU法(「LRU」)を使用する。
図6に示すように、DOSMも以下を含む:データキャッシュ620。一般に、データキャッシュ620はDOSMがダウンロード・リクエストに応答して受け側に直接データを合理化できるためにオブジェクト(すなわち顧客データ)を格納する。オブジェクトが知的記憶装置ノードから受け側まで移されるときに、ダウンロード・リクエストの間、キャッシュ失敗の場合には、オブジェクトはまた、データキャッシュ620に格納される。
DOSMファイル・ルックアップテーブルと類似してい、データキャッシュ620は既存のエントリをデータキャッシュが満ちている新規なデータオブジェクトと取り替えるためにアルゴリズムを取り入れているLRU法(「LRU」)を使用する。DOSMも、状態表630を維持する。一般に、状態表630は全体的な容量上の情報および知的記憶装置ノード340の健康を格納することによって、システムの状態を提供する。
実施例において、状態表は、知的記憶装置ノード(対応する知的記憶装置ノードについての情報)から、得るマルチキャスト・プロトコルを使用して造られる。状態情報は、多くのスペースがディスク、その他にあるように、知的記憶装置ノード上のディスクが健康かどうか指し示す。
図6(630が格納する状態表)に示すように、一実施例において、:記憶装置ノードの読み書き状態、記憶装置ノード(欠陥のあるノードの識別を含むこと)の健康、そして、利用できる記憶容量を含む記憶装置ノードおよび入力された/出力された(「I/O.prime2。)オペレーションの1秒につきナンバーの現在のロード。アップロード・オペレーション(新規なオブジェクトファイルの記憶装置のための適当な知的記憶装置ノード)で、DOSMはセレクトに状態情報を使用する。例えば、DOSMは記憶装置ノードにつきロード・バランスに第2に入力された/出力された(「I/O.prime2。)オペレーションのナンバー上の情報を使用する。DOSMも、知的記憶装置ノードを新規なオブジェクトファイルを格納するのに選ぶために利用できる記憶容量上の情報を使用する。
【0022】
図7は、知的記憶装置ノードのための一実施例を例示しているブロック図である。
この実施例のために、知的記憶装置ノードはコンピュータに実行される。そして、本願明細書において、記載されている機能を実行するためにソフトウェアを含む。知的記憶装置ノード700は、以下を含む:一つ以上の中央処理装置(「CPU」)から成る処理コア710。実施例において、処理コア710は、2台のCPUから成る。知的記憶装置ノード700も揮発性メモリを含む。そして、図7の730と分類される。メモリ730が、処理コア710(知的記憶装置ノードによって、使われるデータと同様に)により実行されるストア命令に使われる。知的記憶装置ノード700は、以下を更に含む:相互接続ファブリック330を経た分散オブジェクト記憶装置管理者320の多数に、知的記憶装置ノードとの入出力を行うネットワークインターフェース720。知的記憶装置ノード700の要素は、コンピュータ移送機構750(例えば周辺コンポーネント相互接続(「PCI」)バス、プロセッサ・バス、その他)を経て通信する。コンピュータ移送機構750は、一つ以上のコンピュータ・バス(例えば周辺コンポーネント相互接続(「PCI」)バスまたは業界標準結合(「ISA」)バス)の広いカテゴリを表示することを目的とする。知的記憶装置ノード700は、以下を更に含む:複数のディスクは、740をオブジェクトファイルを格納するようにする。図7に示すように、知的記憶装置ノードのディスクのナンバーは「n」として表示される。そうすると、「n」は1より大きい整数値である。
実施例において、処理コア710は、ISAプロトコルを使用しているディスクドライブ740と通信する。しかし、標準のコンピュータ・シリアルインターフェース(「SCSI」)プロトコルを含んで、ディスクドライブにアクセスするために用いるいかなるプロトコルも、趣旨または本発明の範囲からそれずに使うことができる。知的記憶装置ノードは、それが格納するオブジェクトファイルを識別するために情報を含む。実施例において、オブジェクトファイルを識別する情報は、知的記憶装置ノードのファイルシステムディレクトリに格納される。他の実施例において、オブジェクトファイルを識別する情報は、取り入れられる。
表5は、知的記憶装置ノードのオブジェクトファイルの識別を取り入れるために実施例エントリを例示する。
【0023】
【表5】
【0024】
表5は、以下を含む:ファイル識別子およびディスク識別子。ファイル識別子またはファイルIDは、オブジェクトファイルに対応するユニークなファイル・ハンドラを格納する。実施例において、ユニークなファイル・ハンドラは、オブジェクトファイルの内容上のMD5ハッシュ関数を実行することから得られるオブジェクト指紋である。
表5の第1の実施例エントリのための、第2のカラム(ディスクIDと分類される)が特定のディスクドライブを識別する「ファイル1.MD5.」としてユニークなファイル・ハンドラが表示されることオブジェクトファイルを格納する知的な記憶装置ノード。
表5の第2の実施例エントリのために、オブジェクトファイル(「ファイル6.MD5」)はその知的記憶装置ノード上の第2のディスクドライブに格納される。知的記憶装置ノードの最初のスタートアップに、知的記憶装置ノードは、ファイル識別テーブルを造る。
記憶装置クラスタも、アップロード・リクエストを処理する。
【0025】
図8は、記憶装置クラスタのアップロード・リクエストを処理するための一実施例を例示しているフローチャートである。名称集のために、本願明細書において、使われるように、「ソース」はアップロード・オペレーションのためのオブジェクトファイルのソースに関連する。記憶装置クラスタがアップロード・リクエストを受信する場合、ロード・バランシング・ファブリック320(図3)は利用できるDOSMをアップロード・リクエスト、ブロック805および810、図8を処理するのに選ぶ。VFSは、新規なオブジェクトファイル、ブロック805、図8のためのファイル識別(例えば記憶システム・ノード)および適当なディレクトリをつくる。選択されたDOSMは、顧客およびディレクトリ情報、ブロック820、図8と同様に証明書(オブジェクトファイル)を抜き出すためにアップロード・リクエストを解析する。リクエストが認証しないアップロードである場合、DOSMはエラーメッセージをソース、ブロック835、図8に伝染させる。あるいは、リクエストが認証するアップロードである場合、DOSMは少なくとも一つの知的記憶装置ノードをオブジェクトファイル、ブロック840、図8を格納するのに選ぶ。実施例において、アップロード・オペレーションは、オブジェクトファイルを2つの記憶装置ノードに格納する。オブジェクトファイルの「ミラーリング」は、失敗が起こるイベントのオブジェクトに、アクセス可能性に知的記憶装置ノードを保証する。オブジェクトファイルを「反映させる」ための一実施例において、ネットワーク記憶システムは、異なる地理学的位置(例えば異なる記憶装置センター)で、オブジェクトファイルを格納する。
地理的に異種の記憶装置センターに対するアクセスがその時に利用できない場合、オブジェクトファイルはアップロードされる。そして、ファイルの追加的なコピーは局部記憶装置センターで格納される。実施例において、DOSMは最も適当な知的記憶装置ノードを新規なオブジェクトを格納するのに選ぶために状態表(図6)を使用する。議論のために、選択された知的記憶装置ノードが本願明細書において、「行き先知的記憶装置ノードと称されること。」、DOSMは行き先知的記憶装置ノード、ブロック850、図8を伴う、接続を決める。
【0026】
実施例において、DOSMは行き先ソース・ノードを有するDOSP点と点の結合を決める。
オブジェクトファイルは、それから行き先知的記憶装置ノード、ブロック860、図8へ転送される。加えて、ファイルを知的記憶装置ノードへ転送したあと、DOSMはDOSPポイント・ツー・ポイント・プロトコルの一部としてステータスメッセージを受信する。
ステータスメッセージは、転送動作が成功していたかどうか指し示す。実施例において、行き先知的記憶装置ノードは、オブジェクトファイル、ブロック870、図8のためのユニークな指紋を生成する。具体的には、行き先知的記憶装置ノードは、オブジェクトファイルの内容のMD5ハッシュを計算する。知的記憶装置ノードも、オブジェクトファイルを確認する。DOSMで成功したステータスを受信した後に、DOSMは仮想ファイル・システム(「VFS」)に、接続を決める。DOSMは、顧客情報およびメタデータ、ブロック880、図8と同様にファイル情報(例えば128ビット.MD5ユニークなオブジェクト指紋、ファイルサイズ、その他)(ディレクトリ情報(例えばフォルダID、親フォルダID、その他)を伝達する。VFSは、アップロードを確認しようとする。VFSがアップロードを確認しない場合、エラーメッセージはアップロード・リクエスト、ブロック890および835、図8のソースに送信される。VFSがアップロードを確認する場合、検証はDOSMに伝染する。順番に、DOSMはソース、ブロック895、図8に、アップロードを確認する。
また、ソース(ネットワーク記憶システムに独自にファイルを識別するファイル・ハンドラ)にとって、記憶システムは復帰する。アップロード・リクエストのソースがエンドユーザである場合、DOSMはエンドユーザを顧客にリダイレクトする。例えば、DOMは顧客のウェブ・サイトでエンドユーザを予め定められたURLにリダイレクトすることができる。
他の実施例において、ソースが記憶装置ポートである場合、DOSMは記憶システム・ノード(すなわち記憶システムの用途にだけ、使用されるハンドラ)およびユニークなオブジェクトファイル指紋を伝送する。上記のように、アップロード・オペレーションの一部として、ネットワーク記憶システムは、オブジェクトファイルのユニークな指紋を生成する。
【0027】
図9は、オブジェクトファイルのユニークな指紋を生成するための一実施例を例示しているフローチャートである。第1に、 行き先知的記憶装置ノードは、オブジェクトファイル、ブロック900、図9の内容を有する一時的なファイルをつくる。MD5ハッシュ計算は、一時的なファイル、ブロック910、図9の内容に実行される。DOSMは、ユニークな指紋(現在MD5ハッシュ・オペレーションから発生する)がネットワーク記憶システム、ブロック920、図9の中に存在するかどうか決定する。指紋が現在存在する場合、一時的なファイル(それはオブジェクトの内容を保つ)は削除される、ブロック930および940、図9。また、既存の指紋ファイルに伴う参照カウントは、増やされる、ブロック950、図9。参照カウントの使用は、削除オペレーションの議論とともに更に詳細に後述する。一時的なファイルから生成される指紋が存在しない場合、一時的なファイルはパーマネントファイルに変換される。そして、ユニークな指紋は記憶装置クラスタ、ブロック960、図9のファイルを識別するために用いる。
【0028】
仮想ファイル・システム:
実施例において、ディレクトリ・オペレーションは、仮想ファイル・システム(「VFS」)で実行される。図11は、ネットワーク記憶システムの用途に、VFSを実行するための一実施例を例示しているブロック図である。一般に、VFSはネットワーク記憶システムを維持するための制御パスである。VFSは主張する ― 各々のオブジェクトファイルのために、顧客を含んでいる顧客ファイルディレクトリはファイル名およびユニークなネットワーク記憶システム・ファイル識別子を割り当てた。
実施例において、上で議論されて、ユニークなネットワーク記憶システム・ファイル識別子は、オブジェクトファイルの内容上のMD5ハッシュ計算を実行することから得られる128のビット・デジタル指紋から成る。図11に示すように、VFSが分散型のディレクトリ管理者(「DDM」)から成ること1110、そして、分散型のディレクトリ1120。
「n」DDMおよび「n」分散型のディレクトリがある、そこにおいて、「n」は、いかなる整数1以上も表示する。
実施例において、各々の顧客は、分散型のディレクトリにマップされる。DDMは一般のディレクトリ・オペレーション(例えば「オープンファイル」、「移動ファイル」、「削除ファイル」、「オープン・フォルダ」、「移動フォルダ」)を支持する。そして、「フォルダをつくる。」、図11の矢印はマルチ・ディレクトリ・リクエストおよびオペレーションを表す。記憶装置ポートまたはウェブ記憶装置を経て、リクエストはエンドユーザまたは顧客から生じることができる。1つのインプリメンテーションにおいて、VFSに対するリクエストは、HTTPリクエストを使用して輸送されて、拡張マークアップ言語(「XML」)を使用することをコード化した。VFSがコード化されるXMLを伴うプロトコルが要請するHTTPを使用して記載されているにもかかわらず、リクエスト・フォーマットのいかなるタイプも有するいかなるネットワークプロトコルも趣旨または本発明の範囲からそれずに使うことができる。
【0029】
実施例において、VFSはファイルシステムを実装するためにデータベースを使用する。
データベース・インプリメンテーションのために、各々のディレクトリ・オペレーション・リクエストは、データベース・オペレーションに変えられる。あるいは、VFSはローカル・ファイルシステム(すなわちVFSにローカルなファイルシステム)を使用しているファイルシステムを実装できる。ファイルシステム実施例のために、ファイルはデータベース・インプリメンテーションに格納される記憶装置情報に生成される。また、
DDMは、以下を含む:分散型のディレクトリのファイルの場所を指定するルックアップテーブル。ファイルまたはデータベース・テーブルは、遠隔記憶装置センタにおいて、繰り返される。ネットワーク記憶装置ファイルシステムは、ディレクトリまたはフォルダ(この後フォルダと称する)に配置されるファイルから成る。大部分のファイルシステムと類似してい、ネットワーク記憶装置ファイルシステムは、階層ファイルシステムである。階層ファイルシステムにおいて、ディレクトリまたはフォルダはレベルに配置される。そして、ルートまたは基底フォルダから始める。追加的なフォルダまたはサブ・フォルダは、それからルート・フォルダの下に配置される。ファイルシステムはいかなる数のレベルから成ることができる。そうすると、サブ・フォルダの追加的なレイヤーは他の下位のフォルダの下で落下する。
本願明細書において、用いられる名称集のために、フォルダに対する親フォルダは、フォルダまたはディレクトリの階層のフォルダより上に配置されるフォルダである。
【0030】
図12は、データベースを有するファイルシステムを実装するためのサンプルデータベース・テーブルを例示する。データベース実施例のために、VFSは顧客テーブル1200、フォルダ・テーブル1210およびファイル・テーブル1220を維持する。顧客テーブル1200は「顧客ID」(「顧客名前」)のためのフィールドを含む、そして、「顧客は、フィールドを確保した。」、顧客IDは独自に顧客を識別するために用いるネットワーク記憶システム識別子である。顧客名前は、顧客と関連する実名前である。顧客テーブル1200の第1の実施例エントリのために、「顧客A」は顧客が確保した「1.」の顧客フィールドが顧客用に確保される記憶装置を提供する効果がある。フォルダ・テーブル1210は、「顧客ID」、「フォルダID」、「フォルダ親ID」および「メタデータのためのフィールドを含む。」この実施例のために、フォルダ・テーブルの各々のエントリは、ネットワーク記憶装置ファイルシステムのフォルダと一致する。顧客ID(独自に顧客テーブルに格納される同じ顧客ID)は、顧客を識別する。フォルダ・テーブル1210の実施例エントリのために、「3」の顧客IDは、フォルダが「顧客C.」に割り当てられたことを識別する
フォルダIDは、そのエントリのための特定のフォルダを識別する。例えば、フォルダ・テーブル1210の第1のエントリは、「2.」の識別により識別されるフォルダのためにある第3のカラム(ラベルをつけられた「フォルダ親ID」)は、データベース・エントリまたは行に対応するフォルダのための親フォルダを識別する。例えば、フォルダ・テーブル1210の第2のエントリは、テーブル1210(すなわち、フォルダ「100」は、フォルダ「2」の下で次の階層的なレベルにおいて、ある)の第1のエントリに対する下位のフォルダである。フォルダ・テーブル1210の第1のエントリがフォルダ親IDのための値を有しない点に注意する。これは、フォルダ「2」がルート・フォルダであることを示す。
ファイル・テーブルは、ネットワーク記憶装置ファイルシステムに格納される各々のオブジェクトファイルのためのエントリを含む。実施例ファイル・テーブル1220は、「顧客ID」、「ファイル・ハンドラ」、「フォルダID」、「フォルダ親ID」および「メタデータのためのカラムまたはフィールドを含む。」再び、顧客IDは、ファイルを所有する顧客を識別する。ファイル・テーブル1220に示されるエントリは、顧客Cにより格納されるファイルのためにある。ファイル・ハンドラ・フィールドは、ネットワークファイルシステムが独自にファイルを識別するために使用する指紋を格納する。ネットワークファイルシステムがファイルを識別するために16進の32バイトのキャラクタシーケンスを格納するにもかかわらず、図のために、ファイル・テーブル1220のためのファイル・ハンドラ・エントリは「52.MD5」、「55.MD5」、「99.MD5」および「67.MD5.」として示されるフォルダ形式識別IDフィールドは、ファイルを含むフォルダを識別する。
例えば、ファイル「55.MD5」に対応する、ファイル・テーブル1220の第1のエントリは、編成されるかまたはフォルダ100に格納される。ファイルを格納するフォルダに、フォルダ親IDは、親フォルダを識別する。フォルダ100(それは「52.MD5」を含む)は、「2.」の親フォルダを有する。
【0031】
図13Aおよび13Bは、VFSのディレクトリ・オペレーションを実行するための一実施例を例示しているフローチャートである。DDMがディレクトリ・オペレーション・リクエストを受信するときに、DDMは操作可能コード、ブロック1300および1310、図13Aに対応する引数と同様に証明書(操作可能コード)を抜き出すためにリクエストを解析する。操作可能コードは、要請されるディレクトリ・オペレーションを特定する。リクエストに含まれる証明書および情報を使用して、DDMはリクエストを確認する。リクエストがそうする場合、確認しない、DDMはエラーメッセージをリクエスタ、ブロック1320および1330、図13Aに送信する。あるいは、リクエストがそうする、確認する、DDMは操作可能コードを解析して、引数を抜き出す。そして、オープン・オペレーション、ブロック1320および1330、図13Aを実行するためにフォルダを含む。
一般に、オペレーションが「オープン・フォルダ」オペレーションのためにある場合、DDMは引数により識別されるフォルダに含まれる全ての下位のフォルダおよびファイルを復帰する。具体的には、適当な分散型のディレクトリから、DDMは「オープン・フォルダ」リクエスト、ブロック1340および1345、図13Aの引数と確認されるフォルダと一致するファイルおよびホルダ・テーブルを抜き出す。具体的には、DDMはリクエストを有する引数と確認されるフォルダと一致する全てのファイルおよびサブ・フォルダを抜き出す。
【0032】
図12の実施例を用いて、「オープン・フォルダ」リクエストが引数「フォルダID = 2」および「顧客ID = 3」を含む場合、分散型のディレクトリのフォルダ・テーブルから、DDMはフォルダID 100および251(すなわち、フォルダ100および251はルート・フォルダ2のサブ・フォルダである)を抜き出す。「オープン・フォルダ」リクエストが引数「フォルダID = 100」を含む場合、ファイルからのDDM抽出はファイル・ハンドラ「52.MD5」および「55.MD5.」を表に記入する。ディレクトリ・リクエストの操作可能コードが「オープンファイル」オペレーション(「オープン・フォルダ」リクエストに続く)のためにある場合、ファイル情報はファイルのための認証証明書およびSRLを造るためにファイル・テーブル(すなわちファイル・ハンドラ)および顧客テーブル(すなわち顧客識別)から得られる。上記の実施例のために、「オープンファイル」オペレーションを伴う引数がファイル「52.MD5」を特定する場合、ファイルおよび顧客情報は「52.MD5」ファイルのためのSRLを造るために得られる。ディレクトリ・リクエストの操作可能コードが「移動フォルダ」オペレーションのためにある場合、データベース・オペレーションはフォルダの新しい場所を反映するためにファイルおよびホルダ・テーブルのエントリを修正するために実行される。引数として、「移動フォルダ」オペレーションは、フォルダのための新規な行き先を含む。図12の実施例を用いて、オペレーションがルート・フォルダ2の下で直接フォルダID 251の下位のフォルダから、可動フォルダID 166を特定した「移動フォルダ」である場合、フォルダ・テーブル1210の第4のエントリ上の親のようなフォルダIDは「251」から「2.」まで修正される。また、
ファイル・テーブル1220のために、第3のための親のようなフォルダIDおよび第4のエントリは、「251」から「2.」まで修正される。ディレクトリ・オペレーションがそうな、「フォルダをつくる」、オペレーション、それから新規なエントリまたは行は、フォルダ・テーブル、ブロック1360および1365、図13Aのために生成される。「フォルダをつくる」、オペレーションは以下を含む:引数としての親フォルダ。後述するように、顧客のフォルダ名前はネットワーク記憶システム・フォルダ識別に変換される。
図12の実施例を用いて、リクエスタが下位のフォルダ166の下で新規なフォルダをつくるのを望む場合、DDMはフォルダのための新規なフォルダ識別を割り当てて、166のフォルダ親IDを有するフォルダ・テーブル1210のための新規な行またはエントリに入る。
ディレクトリ・オペレーションが「移動ファイル」オペレーションである場合、データベース・オペレーションはファイル、ブロック1370および1375、図13Aの新しい場所を反映するためにファイル・テーブルのエントリを修正するために実行される。「移動ファイル」オペレーションは、以下を含む:ディレクトリ・リクエストの引数としてのファイルのための新規な行き先。図12のサンプルデータベース・テーブルのための、「移動ファイル」である場合オペレーションがフォルダ100からファイル「52.MD5」を移動することを特定したこと〜フォルダ166、それから、それぞれ、ファイル・テーブル1220の第1のエントリのためのフォルダIDおよびフォルダ親形式識別IDフィールドは、「166」および「251」まで修正される。
【0033】
図13Aのブロック1390に示すように、データベース・テーブルから抜き出される引数は、リクエスタに復帰される。実施例において、DDMからのレスポンスは、ファイル(すなわち、SRLの形で)および/またはディレクトリのリストを有するXMLコード化されたドキュメントを含む。例えば、「オープン・フォルダ」リクエストに応答して、VFSはファイルのためのファイルおよびホルダIdsを復帰する。そして、サブフォルダは主題フォルダの下で取り決めた。
図13Bは、VFSの追加ファイル・システム操作を例示している図13Aのフローチャートの継続である。操作可能コードが「削除フォルダ」オペレーションである場合、それから、対応するフォルダ・エントリは、フォルダ・テーブル、ブロック1372および1374、図13Bから削除される。操作可能コードが「削除ファイル」をオペレーションと称する場合、ファイル・エントリ(オペレーションにおいて、識別される)はそのファイル・テーブル、ブロック1376および1378、図13Bから削除される。「ファイルをつくる」オペレーション、VFSは新規なファイルのためのエントリを加えるファイル・テーブル、ブロック1386および1388、図13B。操作可能コードが「アップデート・フォルダ」オペレーションを特定する場合、フォルダ・エントリのための対応するフォルダ・テーブルの顧客メタデータはアップデートされる、ブロック1386および1388、図13B。「更新ファイル」オペレーションのために、VFSは対応するファイル・エントリ、ブロック1392および1394、図13Bのためのテーブルの顧客メタデータをアップデートする。適当なデータベース・オペレーションを実行した後に、オペレーションのための引数は、リクエスタ、ブロック1396、図13Bに復帰される。
実施例において、ネットワーク記憶システムは、既存のファイルをロードして、削除して、管理する参照カウントを使い果たす。一般に、新規なファイルがネットワーク記憶システムにアップロードされる、または、ファイル・リクエストが既存のファイルをアップロードするために受信されるときに、参照カウントは1時までに増やされる。逆にいえば、ファイル・リクエストがファイルを削除するために受信されるときに、参照カウントは1時までに減らされる。参照カウントがゼロであるときに、ネットワーク記憶システムはオブジェクトファイルを削除するために参照カウントを使用する。例えば、顧客はオブジェクトファイルをアップロードするために第1のリクエストを伝送できる。そして、「私のファイルと名付けられる。」アップロード・オペレーションが完全であったあと、「私のファイル」に対する参照カウントは一つである。その後で、顧客は「私のファイルをアップロードするために第2のリクエストを伝送できる。」「私のファイル」の第2のコピーを格納する代わりに、ネットワーク記憶システムは、「2.」に「私のファイル」の参照カウントを増やす。この実施例のために、顧客はそれから「私のファイルを削除するために第1のリクエストを伝送できる。」このリクエストに応答して、ネットワーク記憶システムは、「私のファイルを削除しない。」その代わりに、ネットワーク記憶システムは、「1.」に参照カウントを減らす。その後で、顧客が「私のファイル」を削除するために第2のリクエストを伝送する場合、参照カウントは「0」に減らされる。そして、ネットワーク記憶システムは「私のファイルを削除する。」
【0034】
図14は、ネットワーク記憶システムのための削除ファイル動作のための一実施例を例示しているフローチャートである。VFSが削除リクエストを受信する場合、DDMは評価チェック、ブロック1400および1405、図14を実行する。削除リクエストが有効でない場合、エラーメッセージはリクエスタ、ブロック1410および1415、図14に伝染する。
リクエストが確認される場合、DDMはファイル・ハンドラ(すなわちMD5ファイル・ハンドラ)をデータベース、ブロック1420、図14のファイル・テーブルから抜き出す。
DDMは、データベース、ブロック1450、図14のファイル・テーブルから、ファイル識別を削除する。加えて、DDMは削除SRLを造って、削除SRLを記憶装置クラスタ、ブロック1460、図14に送る。削除オペレーションに応答して、記憶装置クラスタは、対応するファイルのための参照カウントを抜き出す。参照カウントが1より大きい場合、記憶装置クラスタは1、ブロック1430および1440、図14時までに参照カウントを減らす。
あるいは、参照カウントが一つの場合、記憶装置クラスタはゼロに対する参照カウントを減らして、ファイルを削除する。そして、適当な知的記憶装置ノード、ブロック1470、図14で、SRLにより識別される。ダイナミック・データ・キャッシュ:図10は、記憶装置クラスタのキャッシュ・データのための一実施例を例示しているブロック図である。
図10に示すように、「n」DOSMsが、ある。各々のDOSM(すなわちDOSM 1、DOSM 2、DOSM 3 ...DOSMに、「n”)対応するデータキャッシュを含む(データキャッシュ1、データキャッシュ2、データキャッシュ3 ...にすなわちデータキャッシュ「n”)。ネットワーク記憶システム・ファイル・アップロードおよびダウンロード・オペレーションは、ロード・バランシング・ファブリック310(また、図3を見る)により受信される。ロード・バランシング能力を有するスイッチ(例えばL4スイッチ)は、リソースのプールの中のリソースを割り当てる。ネットワーク記憶システムのために、ロード・バランシング・ファブリック310は、能率的に「n」DOSMsの中のリクエストを割り当てる。
実施例において、DOSMが行き先にオブジェクトを知的記憶装置ノードから移すときに、オブジェクトは対応するDOSMのデータキャッシュにおいて、取り入れられる。オブジェクトは、ポリシーを取り入れているLRU法(「LRU」)を経て、より最近要請されるオブジェクトを格納するためにデータキャッシュから削除される。ネットワーク記憶システムのDOSMsを釣り合わせている負荷は、高い要求のオブジェクトの「自動」キャッシュを許可する。
【0035】
従来技術システムにおいて、精巧なメカニズムは、高い要求のデータを識別するために使用される。これらの決定機構に基づいて、データは高い要求のニーズを満たす試みにおいて、取り入れられる。例えば、そのウェブ・サイトの上に、映画スタジオが新しくリリースされるか来るべきフィルムのビデオ・プレビューを提供するときに、オブジェクトは高い要求において、あることができる。この実施例のために、映画スタジオは、メディア豊かなオブジェクト(「新規なフィルム・プレビュー)を分配するためにネットワーク記憶システムを使用する。」エンドユーザが映画スタジオのウェブ・サイトのURLを「クリックする」場合、「新規なフィルム・プレビュー」はエンドユーザが利用できてもよい。この実施例のために、映画が非常に普及している場合、映画スタジオ顧客がそのウェブ・サイトによる「新規なフィルム・プレビュー」を提供するときに、多くのエンドユーザは豊かなオブジェクト(「新規なフィルム・プレビュー)をダウンロードしようとすることができる。」オブジェクト「新規なフィルム・プレビュー」をダウンロードするために最初のリクエストのために、ロード・バランシング・ファブリック310は、DOSMをリクエストを管理するのに選ぶ。この実施例のために、ロード・バランシング・ファブリック310は、DOSM 1をリクエストを果たすのに選ぶ。DOSM 1が現在オブジェクトをそのデータキャッシュに格納しない場合、DOSM 1は適当な知的記憶装置ノードから、オブジェクトを得る。オブジェクトが最初のリクエストを満たすために分配されるように、オブジェクトはDOSM 1つのデータキャッシュ1に格納される。この実施例のために、記憶装置クラスタは「新規なフィルム・プレビュー」オブジェクトのための第2のリクエストを受信する。そして、可用性に基づいて、ロード・バランシング・ファブリック310はDOSM 3をリクエストを処理するのに選ぶ。再び、DOSM 3が現在オブジェクトをそのデータキャッシュに格納しない場合、DOSM 3は適当な知的記憶装置ノードから、オブジェクトを得るのと同様に、オブジェクトをデータキャッシュ3に格納するのと同様に、オブジェクトを依頼人に譲渡する。
同様に、この実施例のために、追加的なリクエストは、「新規なフィルム・プレビュー」オブジェクトをダウンロードするために記憶装置クラスタになされる。利用可能資源に基づいて、2つの別々のリクエストのために、ロード・バランシング・ファブリック310は、DOSM 2およびDOSM「n」を2つのリクエストを取り扱うのに選ぶ。再び、DOSM 2およびDOSM「n」が現在オブジェクトをそれらのデータキャッシュに格納しない場合、両方のDOSMsは適当な知的記憶装置ノードからの「新規なフィルム・プレビュー」オブジェクトを得て、新規なフィルム・プレビューを依頼人に譲渡して、オブジェクトおよびそれらのそれぞれのデータキャッシュ(すなわちデータキャッシュ2およびデータキャッシュ「n」)を格納する。前の実施例で示すように、オブジェクトが高い要求において、ある場合、各々のDOSMデータキャッシュ(高い要求オブジェクトのコピー)の記憶装置のために、異なるDOSMsを選ぶロード・バランシング・ファブリックを使用して、記憶装置クラスタはフェッチすす。このように、DOSMリソースの配布は、非常に要請されるオブジェクトに速いアクセスに結果としてなる。
図10の実施例に示すように、各々のデータキャッシュは、それぞれのDOSMsにおいて、処理されるリクエストによって、潜在的に異なるオブジェクトを格納する。例えば、「新規なフィルム・プレビュー」オブジェクトに加えて、データキャッシュ1は「写真Y」および「BLOB X」を格納する、データキャッシュ2は、「Ad 5」および「ビデオ断片8」を格納する。データキャッシュ3は、「写真Z」および「広告10」を格納する、そして、データキャッシュ「n」は、「BLOB A」および「ビデオ断片2を格納する。」
【0036】
記憶装置センターの地理的多重化:
ネットワーク記憶システムは、同時のダウンロード・トランザクションの広範囲のナンバーを支持するために最適化される。ネットワーク記憶システムは、全てのファイル・オブジェクトの単一の仮想ディレクトリに依存する。インターネット上のいかなる場所からも、顧客はそれらの個人的なファイルシステムの正確な同じビューを見る。このように、ネットワーク記憶装置は、世界的にユーザと同一に見える単一のオブジェクトの同時のダウンロードをサポートする。1つのインプリメンテーションにおいて、ネットワーク記憶システムは、記憶装置リポジトリまたは記憶装置センターを有する倍数大陸にまたがる。記憶装置センター間の自動地理的ロード・バランシングは、全てのリクエストが最も近い記憶装置センターの方向を目指すことを確実にする。しかし、終わった失敗および性能の向上を提供するために、記憶装置クラスタおよびVFSを含んで、記憶装置センターは、繰り返される。倍数場所全体の物理的な多重化は、以下を含む:トラフィック・マネジメント。トラフィック・マネジメントは、地理学的位置の中のユーザ・トランザクションの地理的ロード・バランシングを提供する。
【0037】
図15は、記憶装置センターの地理的多重化を例示する。この実施例のために、北アメリカの記憶装置センター1510がある。アジアの記憶装置センター1530、そして、ヨーロッパの記憶装置センター1520。図15の実施例に示すように、北アメリカの顧客およびエンドユーザは、北アメリカの記憶装置センター1510で、記憶装置センターに最適のアクセスをする。また、ヨーロッパの顧客およびエンドユーザは、ヨーロッパの記憶装置センター1520に最適のアクセスをする。同様に、アジアの顧客およびエンドユーザは、アジアの記憶装置センター1530である最適のアクセスを有する。この構成において、記憶装置センターは、最大バンド幅をオブジェクトの配信に提供するために広域ネットワークに連結する。特定の記憶装置センタがリクエストによって、負担をかけられすぎる場合、新規なリクエストは次の最も近い記憶装置センターに、自動的にそらされる。全てのオブジェクトは、100パーセントの災害プロテクトを提供するために地理的に反映する。
また、地理的に異種の記憶装置センターに対するアクセスがその時に利用できない場合、ファイルは格納される。そして、ファイルの追加的なコピーは局部記憶装置センター(すなわち、オブジェクトファイルは局所的に反映する)で格納される。ネットワーク記憶システムの範囲内のコンポーネントは、自動リカバリによって、完全に冗長である。このように、システムはサービス・アベイラビリティの極めて高いレベルをサポートする。
各々の地理的記憶装置センターに対するダウンロード・リクエストは、最速の可能な応答時間を分配するためにDOSMs全体に連続的に分散される。加えて、実施例において、大域ロード・バランシング・システムは、全ての記憶装置センター全体の世界的なロードがいかなる「ホットスポット」も除去して、一時的要求スパイクを軽減するために均一に広げられることを確実にする。記憶システムは、ネットワークより急速にはるかに作動する、そして、このように、ごくわずかな遅延を全体的なファイル走行時間にもたらす。このように、個々のオブジェクト・ダウンロードのためのより悪いケース経過時間は、主にオブジェクトを転送するために用いる広域ネットワークの速度により決定される。ネットワーク記憶システムの範囲内の全てのコンポーネントは、繰り返されて、失敗の場合には完全な回復性を提供するために冗長である。実施例において、各々の記憶装置センターは、連続ネットワークを確実にする後ろの骨プロバイダがアクセスする倍数ネットワークに付属する。全てのファイルおよび制御パス・ディレクトリ構造は、データのいかなる可能なロスも予防するためにアップロード時に地理的に繰り返される。
更に詳細に後述さているように、システムはネットワーク記憶装置多重化プロトコルの使用による異種の記憶装置センターの中の可干渉性を維持する。
【0038】
図16は、記憶装置センターを繰り返すための一実施例を例示しているブロック図である。
この実施例のために、2つの記憶装置センター(1510および1520と分類される)は、示される。しかし、ネットワーク記憶システムの分散型のアーキテクチャに基づいて、いかなる数の記憶装置センターは、繰り返されることができる。両方とも含む記憶装置センター1510および1520は、記憶装置クラスタ(ロード・バランシング・ファブリック320)のために、目的記憶装置管理者(「DOSMs」)を計量分配した320、相互接続ファブリック330、そして、知的な記憶装置ノード340。記憶装置センター1510は、記憶装置センター1520と同じオブジェクトファイルを格納する。例えば、「オブジェクトファイル1」が記憶装置ノード10の記憶装置センター1510に格納される場合、「オブジェクトファイル1」は記憶装置センター1520の記憶装置ノード「1」に格納される。制御パスのための、記憶装置センターおよび1510および1520が仮想ファイル・システム(「VFS」)を含むこと50。同様に、記憶装置センター1510のVFSは、記憶装置センター1520のVFSと同じディレクトリ情報を格納する。したがって、記憶装置センターは、繰り返される。VFSおよび記憶装置クラスタが同じ地理的「記憶装置センター」に示されるにもかかわらず、VFSおよび記憶装置クラスタは地理的に異種の場所にあることができる。この実施例のために、それぞれ、記憶装置クラスタ1510(すなわち、記憶装置ノード1(記憶装置ノード2)...記憶装置ノード「n”)の知的記憶装置ノードは、インターネット・プロトコル(「IP」)アドレスIPアドレス1、IPアドレス2およびIPアドレスnを経てアクセスされる。このように、DOSMが記憶装置センター1510の知的記憶装置ノードを伴う通信するときに、DOSMは特定の知的記憶装置ノードにアクセスするためにこれらのIPアドレスを使用する。記憶装置センター1520は、それぞれ、IPアドレスIPアドレス1/、IPアドレス2/およびIPアドレスn/により対処される記憶装置ノード(すなわち、記憶装置ノード1(記憶装置ノード2)...記憶装置ノード「n”)を含む。このように、DOSMが記憶装置ノードと通信するときに、記憶装置センター1520で、DOSMは相互接続ファブリック330全体のIP addrを使用する。記憶装置センターの多重化がIP/TCPネットワークプロトコルを使用して記載されているにもかかわらず、いかなるネットワークプロトコルもおよび対応するアドレシング法は記憶装置センターを繰り返すために用いることができる。
図16に示すように、記憶装置の分散オブジェクト記憶装置管理者は、1510を中央に置くかまたは記憶装置センター1520の組織を相互接続に連結した。同様に、記憶装置センター1520の分散オブジェクト記憶装置管理者は、記憶装置センター1510の相互接続組織に連結する。この構成に基づいて、記憶装置センター1510の分散オブジェクト記憶装置管理者は、記憶装置センター1520の知的記憶装置ノードにアクセスする。同様に、記憶装置センター1520の分散オブジェクト記憶装置管理者は、記憶装置センター1510の知的記憶装置ノードにアクセスする。上記のように、各々のDOSMは、ファイルをIPアドレス(図6を見る)に関連させるルックアップテーブルを維持する。例えば、ダウンロード・リクエストにおいて、特定されるファイルが記憶装置センター1510の記憶装置ノード1に存在する場合、DOSMルックアップテーブルのエントリはIPアドレス1を特定する。
同様に、ファイルが記憶装置ノード1において、存在する場合、記憶装置センター1520で、DOSMルックアップテーブルのためのエントリはIPアドレス1’を特定する』。記憶装置センター・アーキテクチャは、終わった「ダイナミック」失敗を支える。記憶装置ノード上の記憶装置ノードまたはディスクドライブが到達できないファイルにアクセスを与える場合、DOSMは繰り返された記憶装置センターからファイルを得ることができる。一実施例において、終わった「ダイナミック」失敗を実行するために、マッピングは記憶装置センター1510の知的記憶装置ノードおよび記憶装置センター1520の知的記憶装置ノードの間で格納される。
下の表6は、図16の構成の実施例のためのマッピングを示す。
【0039】
【表6】
【0040】
この実施例のために、IPアドレス1はIPアドレス1/に位置する。記憶装置センター1510の記憶装置ノード1の失敗がある場合、記憶装置センター1510のDOSMsはIPアドレス1/を使用している記憶装置センター1520の記憶装置ノード1にアクセスする。実施例において、記憶装置センター間のIPマッピングは、2つのIPアドレス間のアドレス部がマップしたサブネットだけを修正することにより実行される。例えば、IPアドレス1が10.3.100.1である場合、適当な様に、IPアドレス1/は変わることによって、引き出される、アドレス(例えば10.10.100.1)のサブネット部分。VFSに格納されるディレクトリ情報は、類似した方法の記憶装置センター1510および1520の間で繰り返される。このように、失敗が記憶装置センター1510の分散型のディレクトリにおいて、発生する場合、IPアドレス変換を使用して、記憶装置センター1510の分散型のディレクトリ管理者は記憶装置センター1520の繰り返された分散型のディレクトリにアクセスする。1つのディスクが失敗する場合、一実施例において、更にモードの上の失敗用の地理的アプリケーションを実装するために、DOSMは異なる記憶装置センターで同じノードのファイルを識別しようとする。記憶装置ノードが実施不可能になる場合、DOSMはDOSMファイル・ルックアップテーブルのエントリをクリアして、遠隔記憶装置センターにファイルの位置を決めようとする。例えば、記憶装置センター1510の記憶装置ノード「1」のディスク「2」が失敗する場合、DOSM 320は記憶装置センター1520の記憶装置ノード「1」(ディスク「2」)のファイルの場所を指定しようとする。ファイルが記憶装置ノードに位置しない、「記憶装置センター1520(マルチキャスト・プロトコルを用いてDOSM)の1.プライム2.(ディスク2)は、局所的にファイル(すなわち、記憶装置センター1510の)の場所を指定しようとする。ファイルが局所的に場所を指定されない場合、マルチキャスト・プロトコルを使用して、DOSMは遠隔記憶装置センタ(例えば記憶装置センター1520)にファイルの位置を決めようとする。
【0041】
ネットワーク記憶システムにアクセスすること:
ネットワーク記憶装置は、内容配信ネットワークために、アプリケーションを備えている。一般に、内容オーナーおよびプロバイダは、しばしば内容配信ネットワークのサービスを使用する。内容配信ネットワークは、共通にアクセスされた豊かなメディア・オブジェクトの配信を最適化しようとする。豊かなメディア・オブジェクトの配信を最大にするために、内容配信ネットワークは、広域ネットワークの端でローカルキャッシュを使用する。ネットワーク記憶システムは、下にある内容を内容起点ウェブ・サイトに提供することによって、補数内容配信ネットワークに適用を行う。
実施例において、内容配信の各々のキャッシュは、直接アクセスをネットワーク化する地理的に、内容オーナーのものにアクセスするために内容配信ネットワークのためのニーズを除去するために所望のオブジェクトの位置を決める最も近い記憶装置センター/プロバイダのウェブ・サイト。
【0042】
図17は、内容配信ネットワークの記憶装置センターの使用のための一実施例を例示する。
図17の実施例のために、内容配信ネットワーク1700は、以下を含む:内容起点ウェブ・サーバ1720に、ネットワーク(例えばインターネット)を通じて連結されるエンドユーザ・コンピュータ1740。内容起点ウェブ・サーバ1720は、ウェブ・サイトの実行するかまたはホストをつとめる。ウェブ・サイトによって、エンドユーザが内容(例えば豊かなメディア・オブジェクト)を選ぶことができる。内容配信ネットワークは、以下を含む:(「CDN」)サーバ1730。CDNサーバ1730は、内容起点ウェブ・サーバ1720によって、ウェブ・サイトに発行される内容を分配する。具体的には、エンドユーザ・コンピュータ1740は内容の配信を最大にするためにCDNサーバ1730に連結する。そして、エンドユーザにとって、ウェブ・サイトに伴う豊かなメディア・オブジェクトを含む。
CDN(ウェブ・サイト1730に伴う一部の内容)で、CDNサーバ1730のキャッシュ。図のために、広域ネットワーク1750は衛星通信網1760、無線通信網1770および光ファイバのネットワーク1780を含むとして示される。図17にて図示したように、CDNサーバ1730は、広域ネットワーク1750のエッジの近くに位置する。広域ネットワーク1750の近くのCDNサーバ1730の場所は、CDNサーバ1730で取り入れられるオブジェクトの配信を最適化する。この実施例のために、一つ以上の記憶装置センター1710は、CDNサーバ1730に連結する。CDNサーバ1730のキャッシュ失敗の場合には、CDNサーバ1730は、記憶装置センター1710から内容(例えばオブジェクトファイル)を得る。
内容(エンドユーザ・コンピュータ1740により要請される)がCDNサーバ1730に位置しない。その結果、この構成によって、CDNサーバ1730がより遅い内容起点ウェブ・サーバ1720をバイパスすることができる。一致して、所望の内容がローカルキャッシュに位置しないときに、記憶装置センター1710はCDNへインターネットで内容のルーティングを最適化する。
【0043】
図18は、内容配信ネットワークを有する記憶装置センターの使用のための一実施例を例示しているフローチャートである。エンドユーザ・コンピュータによって、エンドユーザは内容起点ウェブ・サーバ、ブロック1800、図18に、HTTPリクエストを生成する。
ユーザーリクエストに応答して、内容起点サーバは、埋め込まれたファイルURL、ブロック1810、図18を有するエンドユーザ・コンピュータHTMLへ戻る。埋め込まれたファイルURLは、CDNサーバで格納される豊かなメディア・オブジェクトを識別する。
豊かなメディア・オブジェクトを得るために、エンドユーザ・コンピュータは、内容配信ネットワーク(例えばCDNサーバ1730)、ブロック1820、図18に、HTTPファイル・リクエストを生成する。URLにより識別されるファイルがCDNサーバ・サイトにキャッシュに位置する場合、CDNサーバはファイルをエンドユーザ・コンピュータ、ブロック1825および1850、図18に分配する。あるいは、ファイルがCDNサーバ・サイトで取り入れられない場合、CDNサーバは記憶装置センター、ブロック1825および1830、図18に、HTTPファイル・リクエストを生成する。
実施例において、独自にファイルを識別するために、HTTPファイル・リクエストは、ネットワーク記憶システムのSRLを含む。
CDNサーバのリクエストに応答して、記憶装置センターは、CDNキャッシュ、ブロック1840、図18に、ファイルをダウンロードする。CDNサーバは、ファイルをエンドユーザ・コンピュータ、ブロック1850、図18に分配する。
【0044】
ネットワーク記憶システムにアクセスすること:
ネットワーク記憶システムにアクセスする倍数方法が、ある。
実施例において、顧客は「記憶装置ポートを使用する。」、記憶装置ポートは標準のファイルシステム・インタフェース(例えばネットワークファイルシステム(「NFS」)またはマイクロソフトNT CIFS)で、ネットワーク記憶システムにアクセスを提供する。
記憶装置ポートは、豊かなメディア・オブジェクトの配信を最適化するために異なるアプリケーションのためのさまざまな方法の顧客により構成されることができる。
実施例において、記憶装置ポートは、顧客サイトからネットワーク記憶システムまで継ぎ目のない集積化を提供するために顧客サイトで構成される。
もう一つの実施例では、ウェブ・サイトからの更なるオフロード豊かなメディア・オブジェクト・トラフィックにとって、ネットワーク記憶システムから直接にエンドユーザにファイルをダウンロードするファイルシステム管理者として、記憶装置ポートが、使うことができる。
他の実施例において、ネットワーク記憶システムは、直接個人的なファイル構造を結びつけられることが可能である。
【0045】
1. 記憶装置ポートアクセス:
記憶装置ポート・デバイスは、ネットワーク記憶システムにトランスペアレントなゲートウェイ・コネクションを提供する。1つのアプリケーションにおいて、記憶装置ポート・デバイスは顧客サイトにインストールされる。そして、規格NFSを経たローカルなウェブ・サーバまたはローカル領域の上のCIFSプロトコルに対するインタフェースは(「LAN」)接続をネットワーク化する。具体的には、実施例において、ユーザは顧客ネットワーク上の記憶装置として、記憶装置ポートをマウントする。この構成において、記憶装置ポートは、記憶装置センター(すなわち、ユーザに記憶容量の何百ものテラバイトを提供した)で、記憶容量を伴う効果的にユーザに仮想NFSまたはCIFSファイルシステムを提供する。
実施例において、記憶装置ポート・デバイスは、ほぼ1.75インチのラック高さだけを占める。更に詳細に後述するように、多重記憶装置ポートは集合体処理能力を増やすために単一の顧客サイトにインストールされることができる。
【0046】
図19は、ネットワーク記憶システムの記憶装置ポートの使用のための一実施例を例示する。エンドユーザ1900は、広域ネットワーク1920の上の顧客サイト1910と通信する。
エンドユーザ・コンピュータ1900は、顧客のウェブ・サイトでアクセスされるファイルのためのリクエスト(例えばHTTPリクエスト)を生成する。内容ウェブ・サーバ1925(顧客サイト1910にある)は顧客ウェブ・サイトにリクエストを処理する。そして、豊かなメディア・オブジェクトをダウンロードするためにリクエストを含む。内容ウェブ・サーバ1925はコンピュータの広いカテゴリを表示することを目的とする。そして、ソフトウェアはウェブ・サイト(例えば倍数ウェブ・サーバおよび/またはアプリケーションサーバ)を実行したものである。そして、いかなるハードウェア/ソフトウェア配列が趣旨または有効範囲本発明からそれずに使うことができる。内容ウェブ・サーバ1925は、ネットワーク(例えば顧客サイト1910のローカル・エリア・ネットワーク)の上の記憶装置ポート1930に連結する。具体的には、内容ウェブ・サーバ1925は、「ローカル」ファイルシステムのフォーマットに従って、ファイルおよびディレクトリ・オペレーション・リクエストを生成する。ここで使用しているように、「ローカル」ファイルシステムは、顧客サイトで一つ以上のファイルシステムまたは使用するファイル構造を暗示する。例えば、内容ウェブ・サーバ1925は、ファイルおよびディレクトリ・オペレーションのためのNFSまたはマイクロソフトNT CIFSリクエストを生成できる。記憶装置ポート1930と内容ウェブ・サーバ1925を結びつけるために、記憶装置ポート1930は、記憶装置としてマウントされる。
実施例において、1つのディレクトリはオブジェクトファイルのためにマウントされる。そして、第2のディレクトリはSRLsのためにマウントされる。図19に示すように、記憶装置ポート1930は、ファイルおよびディレクトリ・オペレーションを伝導するために記憶装置センター1950と通信する。
【0047】
図20は、内容を分配するために記憶装置ポートの使用のための一実施例を例示しているフローチャートである。顧客サイトは、エンドユーザ・コンピュータ、ブロック2010、図20から、URLファイル・リクエストを受け取る。URLは、顧客のウェブ・サイトに伴うオブジェクトファイルを識別する。エンドユーザのURLファイル・リクエストに応答して、顧客サイト(例えば内容ウェブ・サーバ)は、オブジェクトファイル、ブロック2020、図20のためのローカル・ファイルシステム・リクエストを生成する。ローカル・ファイルシステム・リクエストは、記憶装置ポートにより受信される。
記憶装置ポートは、以下を含む:オブジェクトファイルおよびディレクトリ情報を格納するキャッシュ。オブジェクトファイルが局所的に記憶装置ポートに格納される場合、記憶装置ポートはデータキャッシュからのオブジェクトファイルを検索して、ローカル・ファイルシステム・リクエスト(ブロック2030、2040および2070(図20)に応答して、内容ウェブ・サーバにオブジェクトファイルを復帰する。あるいは、記憶装置ポートがそのデータキャッシュのオブジェクトファイルのコピーを格納しない場合、記憶装置ポートは記憶装置センター、ブロック2030および2050、図20から、オブジェクトファイルを要請する。ローカル・ファイルシステム・リクエストに応答して、記憶装置センターは記憶装置ポートにオブジェクトファイルをダウンロードする。そして、オブジェクトファイルは内容ウェブ・サーバ、ブロック2060および2070、図20に復帰される。その後で、内容ウェブ・サーバは、URLファイル・リクエスト、ブロック2080、図20に応答して、オブジェクトファイルをエンドユーザに分配する。記憶装置ポートは、いずれのハードウェアもまたはソフトウェアにおいて、実行されることができる。
【0048】
図21aは、記憶装置ポート・デバイスのための1つのハードウェア構成を例示する。
図21aに示すように、内容ウェブ・サーバ2100は、通信リンク2120(例えばローカル・エリア・ネットワーク)の上の記憶装置ポート2110と通信する。記憶装置ポート2110は、記憶装置センター2130を有するファイルおよびディレクトリ・オペレーションを伝導する。
図21bは、ソフトウェアの記憶装置ポートを実行するための実施例を例示する。実施例において、ネットワーク記憶システムは、ライブラリ呼出しでアクセスされるかまたはアプリケーション・プログラム・インタフェース(「API」)でコールする。
これらの実施例のために、ソフトウェアは顧客のローカル・ファイルシステムおよびネットワーク記憶装置ファイルシステム間の翻訳を提供する。
上記のように、記憶装置センター2160は、VFSおよび知的記憶装置クラスタの機能を実行するためのコンピュータ上のソフトウェア実行を含む。このソフトウェアは、外部のソフトウェアの中で連結できるようにするためにエントリポイント(すなわちAPI)を含む。一つには、本願明細書において、記載されているように、記憶装置センター・ソフトウェア上のAPIによって、顧客がファイルおよびディレクトリ・オペレーションを伝導できる。
【0049】
図21bに示すように、顧客サイト(ネットワークのAPIを記憶装置センターと言うソフトウェア)を作動するソフトウェアに加えて、内容ウェブ・サーバ2140は、実行する。
このように、この実施例のために、内容ウェブ・サーバ2140は、遠隔プログラムコールで広域ネットワーク2180の上のネットワーク記憶システム・ファイルおよびディレクトリ・オペレーションを実行する。
他の実施例(記憶システム・ライブラリ呼出し2155として示される)において、カスタマイズされたネットワーク記憶システム・ライブラリは、以下を含む:一まとまりのファイルシステム・オペレーション。例えば、1つのライブラリー関数は、ライブラリー関数の使用による記憶装置センターに、オブジェクトファイル・ダウンロードを要請するために顧客(例えば、内容ウェブ・サーバ2140上の)で作動しているソフトウェアを許可できる。この実施例のために、ファイル・ダウンロード・オペレーションを実行するために、クライアントソフトウェアはファイルをダウンロード機能と言って、関数呼出しに引数としてSRLを渡す。機能のライブラリは、直接ネットワーク記憶システムにアクセスするためにインタフェース・クライアントソフトウェアのための追加的な手段を提供する。
【0050】
図22は、記憶装置ポートのための一実施例を例示しているブロック図である。図22に示すように、記憶装置ポート2200は、以下を含む:処理コア2210、メモリ2230、記憶装置ポート・データ記憶装置2240およびネットワークインターフェース2220。一つ以上のバス(例えばISA、PCIまたはマイクロプロセッサ・バス)を含むことができるバス・トランスポート2250を経て、これらのコンポーネントは、連結される。処理コア2210は、一つ以上の中央処理装置(「CPU」)を含む。実施例において、記憶装置ポートは、2台のCPUを含む。デバイスのオペレーションの間、メモリ2330が記憶装置に使われる。そして、記憶装置ポートの機能を実行するソフトウェアが本願明細書において、記載されている。記憶装置ポート・データ記憶装置2240は、一つ以上のハードディスクドライブを含む(すなわち「n」ハードディスクドライブ)そこにおいて、「n」は、いかなるナンバー1以上でもある、使われて)、キャッシュ・ファイルシステム情報(すなわちディレクトリ・キャッシュ)およびオブジェクトファイル(すなわちデータキャッシュ)にとって、一部の。ネットワークは2220との入出力を行う。そして、それはネットワークインターフェースがカードに記入する「n」が記憶装置ポート2200を顧客デバイス(例えば内容ウェブ・サーバ)に連結することを含む。加えて、アーキテクチャの上の失敗を支えるために、ネットワークインターフェイスカードは一緒に一つ以上の記憶装置ポートを接続するために用いる。
実施例において、記憶装置ポートは、3つのネットワークインターフェイスカードを含む。
【0051】
図23は、記憶装置ポートのファイルシステム翻訳のための一実施例を例示しているブロック図である。ネットワーク記憶システムは、ネットワーク記憶システムに独特の「ファイル・ハンドラ」を出す。対応するファイルのための一実施例(ファイル・ハンドラが識別するネットワーク記憶システム)において、:a) 顧客識別、b) 親ディレクトリ、
c) メタデータ、そして、d)ユニークなデジタル指紋(すなわち128ビットのMD5識別)。
一般に、ファイルシステム翻訳ソフトウェア2300は、ローカルファイル・システム操作をネットワーク記憶システム・ファイルシステム・オペレーションに変換する。
一実施例において、この機能を実行するために、ソフトウェアはファイルシステム翻訳者2320を含む、そして、記憶システム・アクセスは2330を処理する。ファイルシステム翻訳者2320はローカル・ファイルシステム妨害2340を含む、そして、記憶システム・カーネルは2350を処理する。運転中に、ローカル顧客ファイルシステム2310(それは顧客のサイトでオペレーティングシステムソフトウェア実行を含むことができる)は、ローカルファイル・システム操作を出す。例えば、ファイルを開くUNIXまたはマイクロソフトNTに従って、クライアントソフトウェアはリクエストを出すことができる。
ファイル・オープン・オペレーションは、以下を含む:ローカル・ファイルシステムのファイルを識別するファイル記述子。
一般的に、ファイルシステム呼出しは、オペレーティングシステム・カーネル(図23の2360にラベルをつけた)により処理される。オペレーティングシステム・カーネルソフトウェアは、「iノード」にファイル記述子およびディレクトリ間のマッピングを維持する。iノードは、システム(例えばハードディスクドライブに格納されるファイルに対するポインタ)のファイルデータに、システムに物理的なポインタを提供する。
図23の実施例のために、ローカル顧客ファイルシステム2310がファイルシステム・オペレーションを出すときに、ローカル・ファイルシステム妨害2340は「閉じ込め」てまたは呼出しを妨害して、記憶システムに実行のスレッドにカーネル・プロセス2350を渡す。
実施例において、ローカル・ファイルシステム妨害2340はCODAソフトウェアから成る。そして、カーネギー・メロン大学で開発される。一般に、CODAは一種の分散ファイルシステムである。CODAソフトウェアにより提供される一部の機能性は、下にあるファイルシステムを輸出する。具体的には、CODAはファイルシステム・オペレーションを輸出する。そして、メモリのユーザ部分において、アクセスできるアプリケーション・プログラムにとって、カーネル・レベルにおいて、概して実行される。ファイルシステム翻訳がローカルファイル・システム操作を妨害するためにCODAを使用して記載されているにもかかわらず、ファイルシステム呼出しを妨害するいかなるソフトウェアも本発明の趣旨または有効範囲にそれずに使うことができる。一般に、2350が得る記憶システム・カーネル・プロセスは、ローカル・ファイルシステム・ディスクリプタおよび記憶装置ハンドラ間のマッピングを提供するためにオペレーティングシステム・カーネル2360の記憶装置のための記憶システム・ファイル・ハンドラ(本願明細書において、「記憶装置ハンドラ」と称されて)をネットワーク化する。このように、ファイル記述子はファイルを識別するハンドルおよびローカル・ファイルシステムのディレクトリを提供する。そして、記憶装置ハンドラはファイルを識別するハンドルおよびネットワーク記憶システムのディレクトリを提供する。ローカル・ファイルシステム・ディスクリプタおよび記憶装置ハンドラ間のマッピングを維持するために、2350が得る記憶システム・カーネル・プロセスは、記憶システム・アクセス・プロセス2330から記憶装置ファイルシステム情報をネットワーク化する。具体的には、2350が記憶システムから得るプロセスがアクセスする記憶システム・カーネルは、2330の記憶装置ハンドラおよびディレクトリ情報を処理する。
図23に示すように、記憶システム・アクセス・プロセス2330は、ディレクトリ・キャッシュ2370からディレクトリおよび記憶装置ハンドラ情報を得る。あるいは、管理的なおよび記憶装置ハンドラ情報が記憶装置ポートで取り入れられない場合、記憶システム・アクセス・プロセス2330はディレクトリ情報および記憶装置ハンドラを得るためにネットワーク記憶システム(すなわちVFS)についてたずねる。したがって、翻訳システム2300は顧客のローカル・ファイルシステムおよびネットワーク記憶装置ファイルシステム間のマッピングを提供する。
【0052】
図24は、ローカル・ファイルシステムからネットワーク記憶装置ファイルシステムまでファイルシステム・オペレーションを翻訳するための一実施例を例示しているフローチャートである。プロセスは、ローカル・ファイルシステム・リクエスト、ブロック2400、図24を出している顧客によって、始められる。ローカル・ファイルシステム・リクエストは、オペレーティングシステム・カーネルにより受信されて、ファイルシステム翻訳者(図23)にディスパッチされる。例えば、ファイルシステム・オペレーションがファイル「foo.txt」のための開いたファイル操作である場合、オペレーティングシステム・カーネルはファイルシステム翻訳者に引数としてファイル名「foo.txt」を有する開いたファイル操作をディスパッチする。ファイルシステム・オペレーションがフォルダ「dir1」のための「オープン・フォルダ」オペレーションである場合、オペレーティングシステム・カーネルは引数としてフォルダ名前「dir1」を有するオープン・フォルダ・オペレーションをディスパッチする。プロセスは、記憶装置ポート・ディレクトリ・キャッシュ、ブロック2430、図24の充分なディレクトリ情報があるかどうか決定する。上の「オープン・フォルダ」実施例のために、全てのサブフォルダおよびファイルのための記憶装置ハンドラがディレクトリ・キャッシュに格納されるというわけではない場合、追加的なディレクトリ情報はリクエストを果たすことを必要とする。「オープンファイル」実施例のための記憶装置ポートが最近初期化されて、このようにファイル上の情報を含まない場合、それから、ファイル(例えば「foo.text」)上の追加的なディレクトリ情報は、ファイルを開くことを必要とする。ディレクトリ・キャッシュおよびファイルシステムの充分なディレクトリ情報がある場合、オペレーションはデータ(すなわち、ファイルシステム・オペレーションは、「オープンファイル」オペレーションでない)を検索するかまたはディレクトリ情報をアップデートすることを必要としない、そして、ディレクトリ・キャッシュからの適当なディレクトリ情報は検索されて、ローカルファイル・システム操作、ブロック2430および2435、図12、ブロック2435および2437、図24に応答して復帰した。
上の実施例、全てのサブフォルダのための記憶装置ハンドラおよび主題フォルダのファイルが検索される「オープン・フォルダ」のために、ディレクトリ・キャッシュ、記憶装置ハンドラおよび対応するファイル識別子はオペレーティングシステム・カーネルに格納される。そして、ファイル識別子はローカル・ファイルシステムに復帰される。
追加的なディレクトリ情報が必要な(すなわち、情報は記憶装置ポート・ディレクトリ・キャッシュにおいて、ない)場合、リクエストは追加的なディレクトリ情報、ブロック2070、図24のためのVFSに生成される。
実施例において、記憶装置ポートは、XMLコード化されたリクエストを生成する。「オープン・フォルダ」実施例のために、記憶装置ノードおよび対応するファイル識別子がディレクトリ・キャッシュに格納されない場合、記憶装置ポートはコード化された「オープン・フォルダ」が主題フォルダ(すなわち「オープン・フォルダ」リクエストの主題であるフォルダ)の範囲内で、ファイルおよびサブフォルダのためのファイルおよびホルダ情報を抜き出すことを要求するXMLを生成する。
実施例において、フォルダ情報のためのリクエストに応答して、VFSは名前、フォルダ識別、顧客メタデータ、アップロードSRLおよび親フォルダ識別を復帰する。ファイル情報のためのリクエストに応答して、VFSは名前、ファイル識別、顧客メタデータ、ダウンロードSRLおよび親フォルダ識別を復帰する。
実施例において、顧客メタデータ分野は、ローカル・ファイルシステム(例えば、UNIX、Microsoft WindowsまたはNT、その他のための情報)において、使用される状態情報を追って、維持するために用いる。追加的なディレクトリ情報を得ることに加えて、顧客ローカルファイル・システム・コマンドがディレクトリ・オペレーション(すなわち「移動フォルダ」、「削除フォルダ」、その他)である場合、VFSに対するXMLリクエストはVFSのディレクトリ・オペレーションを実行するために生成される。ディレクトリ情報は、受信されて、ディレクトリ・キャッシュ、ブロック2480、図24に格納される。
ファイルシステム・オペレーションがファイルデータ(例えばオープンファイル、読取りファイルその他)を必要とする場合、記憶装置ポートはファイルがデータキャッシュ、ブロック2440、図12に位置するかどうか決定する。ファイルがデータキャッシュに格納される場合、ファイルまたは適当な部分は記憶装置ポートから顧客依頼人、ブロック2090、図12まで移される。あるいは、ファイルがデータキャッシュにおいて、ない場合、記憶装置ポートは記憶装置クラスタ、ブロック2050、図24に、ファイル・ダウンロード・リクエストを生成する。記憶装置クラスタ・リクエストに応答して、記憶装置ポートは、データキャッシュ、ブロック2060、図12のオブジェクトファイルを受信して、その後取り入れる。オブジェクトは、それから記憶装置ポートから顧客依頼人、ブロック2090、図12まで移される。
【0053】
2.エンドユーザ・ネットワーク記憶システム・アクセス方式:
もう一つの実施例では、記憶装置ポートは、エンドユーザにまたはCDNパートナーで直接ファイル・ダウンロードを支持する。実施例において、SRLsはウェブページHTMLに直接埋め込まれて、エンドユーザに送信される。記憶装置から直接にオブジェクトを転送する際のこの結果は、エンドユーザ・ブラウザに中心にある。
図25は、エンドユーザに直接オブジェクトファイルをダウンロードするために記憶装置ポートを使用するための一実施例を例示しているブロック図である。この構成のために、エンドユーザ・コンピュータ2610は、顧客サイト2620および記憶装置センター2650と通信する。顧客サイト2620は、ウェブ・サイトを維持する。この実施例のために、顧客サイト2620は、内容ウェブ・サーバ2630でウェブ・サイトを維持する。しかし、主催している遠隔ウェブ・サイトを含んで、サーバのいかなる構成も、本発明の趣旨または有効範囲を逸脱させずに使うことができる。内容ウェブ・サーバ2630は記憶装置ポート2640と通信する。そして、順番に、記憶装置ポート2640は記憶装置センター2650と通信する。図25にて図示したように、エンドユーザ・コンピュータ2610によって、エンドユーザは顧客サイト2620に対するURLリクエストを生成して、リターン(一つ以上の埋め込まれたSRLsを伴うHTML)で、受信する。埋め込まれたSRLsを用いて、エンドユーザ・コンピュータ2610は、広域ネットワーク2660の上の記憶装置センター2650に、直接SRLリクエストを生成する。応えて、記憶装置センター2650は、エンドユーザ・コンピュータ2610に直接オブジェクトファイルに貢献する。
【0054】
図26は、エンドユーザにオブジェクトファイルを直接ダウンロードするための一実施例を例示しているフローチャートである。顧客サイト(例えば内容ウェブ・サーバ)は、ファイル、ブロック2700、図26に対応するSRLsのためのローカル・ファイルシステム・リクエストを生成する。ファイルは、顧客がウェブ・ページに埋め込むのを望む内容を含む。実施例において、記憶装置ポートは、内容ウェブ・サーバ、ブロック2710、図26から、リクエストに応答して動的にSRLsを生成する。実施例において、タイムアウト・パラメータは、SRLs、ブロック2720、図26に加えられる。タイムアウト・パラメータによって、顧客がSRLが妥当(すなわちエンドユーザがファイルにアクセスすることができる期間)である期間を特定できる。1つのインプリメンテーションにおいて、タイムアウト・パラメータは、数秒でデータの塊を有する期間を特定する。SRLsは、顧客のウェブ・ページ、ブロック2730、図26のHTMLに埋め込まれる。エンドユーザは、顧客サイト、ブロック2740、図26に、ウェブ・ページ・リクエストを出す。内容ウェブ・サーバは、それから埋め込まれたSRLs、ブロック2745、図26を有する要請されたHTMLをダウンロードする。埋め込まれたSRLを伴う、エンドユーザは記憶装置センター、ブロック2750、図26に、HTTPリクエストを生成する。SRLsが記憶装置でセンターを認証しない場合、記憶装置センターはエラーメッセージをエンドユーザ、ブロック2755、図26に伝染させる。SRLsがそうする場合、認証する。そして、タイムアウト・パラメータはファイルアクセスが妥当、ブロック2760、図26であるかどうか決定するために点検される。SRLが有効でない(すなわち、タイムアウト・パラメータは、範囲の外にある)場合、オペレーションはやめられる、ブロック2760、図26。SRLが指定された時間範囲の範囲内である場合、記憶装置センターはエンドユーザ、ブロック2770、図26に、オブジェクトファイルをダウンロードする。記憶装置ポート2640は、ファイルシステム・キャッシュとして作用する。この実施例のために、記憶装置ポートは、規格NFSまたはCIFSディレクトリ・フォーマットに格納される顧客のSRLファイルを含む。
各々のNFSまたはCIFSファイルは対応するSRLsを含む、そして、SRLsはユニークなファイル識別子およびSRL認証証明書を含む。
一実施例において、SRLsをエンドユーザに分配するために、オブジェクト・ファイルディレクトリを陰にするオブジェクトファイルのためのディレクトリに加えて、ネットワークファイルシステムは第2のディレクトリを利用する。
顧客は、陰影ファイルを得るために第2のディレクトリを使用する。
陰影ファイルは、ネットワーク記憶システムのオブジェクトファイルを識別するためにSRLを含む。
【0055】
一実施例において、ウェブ・ページHTMLにSRLを埋めるために、顧客は対応するオブジェクトファイルのための陰影ファイルの内容を読み込む。
実施例において、陰影ファイルは、アップロード・オペレーションの間、生成される。
顧客は、第2のディレクトリをマウントすることによって、陰影ファイルにアクセスすることができる。例えば、ファイル「foo.text」のために、顧客は以下のディレクトリ−ファイル名:storagefilesystemを特定できる:/export/dir/foo.text. 顧客は、オブジェクトファイル(「foo.text.」)の内容にアクセスするためにこのディレクトリおよびファイル名を使用する。顧客が異なるディレクトリをマウントして、実施例ファイル「foo.text」のためのSRLを得るために、以下のディレクトリ例:storagefilesystem:/SRL/dir/foo.text、そこにおいて、SRLファイルは、ファイル(「foo.text.」)のためのユニークなファイル識別子およびSRL認証証明書を含む。SRLをエンドユーザに届けるために、顧客は対応するオブジェクトファイルのための陰影ファイルの内容を読み込んで、ユーザにSRLを発表する。
【0056】
3. 顧客個人的なファイルシステムディレクトリ:
本発明のネットワーク記憶システムも、記憶システムにアクセスするために既存の個人的なファイルディレクトリを使用することを支える。この実施例のために、ネットワーク記憶システム顧客(例えば顧客)は、ネットワーク記憶システムのファイルシステムとともに自分自身のファイル構造を使用するのを望むことができる。他の実施例において、ネットワーク記憶システムの顧客は、NFSまたはCIFSを使用して追われるその情報を越えてトラック追加情報にファイルシステムを開発することを望むことができる。
図27は、顧客の専有ファイル・ディレクトリシステムに記憶装置センターとの入出力を行うために一実施例を例示しているブロック図である。実施例において、顧客サイト2820の記憶装置ポートは、個人的なファイルマネージャ2840と取り替えられる。
この実施例のために、個人的なファイルマネージャ2840は、アップロード(ファイルシステム・オペレーションを認証するために共有秘密を使用することと、同様に)時に、ユーザファイルに割り当てられるユニークなファイル識別を使用しているオブジェクトファイルのためのSRLsを生成する。
【0057】
図27に示すように、顧客サイト2820で作動して、内容ウェブ・サーバ2830は、個人的なファイルマネージャ2840にファイルシステム・リクエストを生成する。順番に、個人的なファイルマネージャ2840は、リクエストの主題であるオブジェクトファイルに対応するSRLsを出す。実施例において、顧客は記憶装置センターにその時に自分自身の固有のIDに顧客アップロード・ファイルを供給する。もう一つの実施例では、ダウンロード・ファイルに対するリクエストで、顧客は記憶装置センターにより復帰されるオブジェクト指紋を利用する。図27に示すように、エンドユーザ・コンピュータ2810によって、エンドユーザは顧客のウェブ・サイトにURLリクエストを生成する。順番に、顧客サイト2820は、埋め込まれたSRLsを有するHTMLを復帰する。埋め込まれたSRLsを伴う、記憶装置センター2850に対する広域ネットワーク2860の上に、エンドユーザ・コンピュータ2810は、SRLリクエストを生成する。順番に、記憶装置センター2850は、SRLにより識別されるオブジェクトファイルに貢献する。
【0058】
図28は、顧客の個人的なファイルシステムを使用している記憶装置センターのオブジェクトファイルにアクセスするための一実施例を例示しているフローチャートである。
エンドユーザは、顧客ウェブ・サイト、ブロック2900、図28に、URLリクエストを出す。応えて、顧客(例えば内容ウェブ・サーバ)はファイルマネージャ、ブロック2910、図28に、ファイル場所リクエストを生成する。一般に、ファイルマネージャは顧客の個人的なファイルシステムのファイルに対応する問題SRLsに、リクエストにサービスを提供する。顧客は、ネットワーク記憶システムと連動してファイルシステムのいかなるタイプも使用できる。必要である全ては、顧客の個人的なファイルシステムが顧客の個人的なファイルシステムにより管理されるファイルのためのSRLsを出すということである。ファイルマネージャは、HTMLに伴うファイルのためのSRLを検索して、ファイルを内容ウェブ・サーバ、ブロック2920、図28に分配する。内容ウェブ・サーバは、それから埋め込まれたSRL、ブロック2930、図28を有するHTMLをエンドユーザに伝染させる。その後で、エンドユーザはSRL、ブロック2940、図28を有する記憶装置センターに、HTTPリクエストを生成する。SRLがそうする場合、認証しない、そして、記憶装置センターはエラーメッセージをユーザに支給する。あるいは、SRLが認証する場合、記憶装置センターはファイル、ブロック2947、図28を識別するために固有のファイルIDを供給される顧客上のMD5ハッシュを生成する。記憶装置センターは、その後で、エンドユーザ、ブロック2950、図28に、オブジェクトファイルをダウンロードする。顧客の個人的なファイルシステム・アクセス方式のために、顧客はユニークなファイル名およびSRLs間のマッピングを維持する。
実施例において、ユニークなファイル名は、MD5ハッシュ・オペレーションから得られなくて、ユニークなファイル名である。このように、ネットワーク記憶システムはMD5ファイル名との間に差異を認めるために技術を利用する。そして、オブジェクトファイルおよび顧客ユニークなファイル名の内容に由来する。
一実施例において、ファイル名のこれらの2つのタイプとの間に差異を認めるために、ネットワーク記憶システムは、異なる記憶装置指紋識別子を割り当てる。オブジェクトファイルの内容上のMD5ハッシュ・オペレーションにより生成されるファイル名のために、ファイルは指定された「128ビット.MD5.」である。ファイルが「MD5.UFID」に指定されて、顧客ユニークなファイル名を識別するために(すなわち
そこにおいて、「MD5」は、顧客のユニークなファイル名である)。この規則によって、ネットワーク記憶システムがファイル識別子のtwpタイプとの間に差異を認めることができて、指定ユニークなファイル名だけによって、ネットワーク記憶システムを有するインタフェースに顧客を許す。
【0059】
フェールオーバ・アーキテクチャ:
実施例において、記憶装置ポートは、フェールオーバまたはフェイルセーフ・アーキテクチャを支持する。図29は、構成の上の記憶装置ポート失敗のための一実施例を例示しているブロック図である。説明のために、図29は2つの記憶装置ポートを有する構成の上の失敗を例示する。しかし、構成の上の記憶装置ポート失敗は、構成の上のいかなる「2」「N」失敗までも広げられることが可能である。この実施例のために、構成の上の失敗は、以下を含む:能動記憶ポート3010および受動記憶装置ポート3020。各々の記憶装置ポートは、以下を含む:複数のネットワークインターフェイスカード。それぞれ、ネットワークインターフェイスカード3045および3025によって、能動記憶ポート3010および受動記憶装置ポート3020は広域ネットワーク3065の上の記憶装置センターへ通信する。それぞれ、能動記憶ポート3010および受動記憶装置ポート3020もネットワークインターフェイスカード3050および3035を経た顧客サイト・ネットワークへ通信する。
図29に示すように、クライアントはIPアドレスを使用している顧客サイト・ネットワーク3060の上の能動記憶ポート3010にアクセスする。図29の実施例のために、第3のネットワークインターフェイスカードは、監視する上での失敗のためのデバイスの間で通信するために能動記憶ポート3010(3055)および受動記憶装置ポート3020(3030)に含まれる。能動記憶ポート3010は、顧客サイトで現在の記憶装置ポートとして作動する。
受動記憶装置ポート3020は、能動記憶ポート3010の健康を監視する。具体的には、能動記憶ポート3010は、能動記憶ポート3020(例えば、CPU、ハードディスクドライブ、その他の健康)の健康を確認するために絶えずプロセスを実行する健康モニタリング3070を含む。この実施例のために、受動記憶装置ポート3020は、健康ステータスのための能動記憶ポート3010についてたずねる。条件が条件の上の失敗を正当化する能動記憶ポート3010で起こる場合、受動記憶装置ポート3020は能動記憶ポート(すなわち、受動記憶装置ポートは、記憶装置センターに顧客サイトとの入出力を行うために用いる)になる。
実施例において、サポートにとって、失敗する、1つのIPアドレスがNFS/CIFSエクスポートのために使われる。この実施例のために、計画の上の標準のIPスイッチは、利用できる。具体的には、条件の上の失敗が発生するときに、受動記憶装置ポート3020は能動記憶ポート3010のIPアドレスを仮定する。
健康モニタリング3070および3080は能動で受動プロセスを含む。その結果、条件の上の失敗が発生する場合、受動記憶装置ポートは能動記憶ポート・プロセスを実行できる。
【0060】
図30は、プロセスの上の記憶装置ポート失敗のための一実施例を例示しているフローチャートである。終わった記憶装置ポート失敗が発生するときに、新規な記憶装置ポートはそのディレクトリ・キャッシュのいかなるディレクトリ情報もまたはそのデータキャッシュのいかなるオブジェクトも含まない。このように、オペレーションの上の失敗の後、ファイルが開いている。そして、記憶装置ポートが読み込まれたファイル・リクエストを受信する場合、新規な記憶装置ポートはファイル・オープン・オペレーション、ブロック3130および3140、図30を実行しなければならない。記憶装置ポートがファイル識別情報(例えばSRL)を受信したあと、記憶装置ポートは、読み込まれたファイル・リクエストに応答してオブジェクト・データの1ブロックを伝送するために、オブジェクトファイルを得るために記憶装置センターにリクエストを生成する。条件の上の失敗の後、ファイルが要請される、ブロック3120、図30、または、開いたファイル操作が必要なときに、記憶装置ポートはファイル識別情報、ブロック3150、図30を得るためにVFSにXMLを生成する。応えて、VFSはファイル識別情報、ブロック3160、図30を復帰する。ファイル識別情報を伴う、記憶装置ポートは、そのディレクトリ・キャッシュ、ブロック3170、図30をアップデートする。ファイル識別情報(例えばSRL)を伴う、記憶装置ポートは、オブジェクトファイル、ブロック3180、図30のための記憶装置センターに、リクエストを生成する。応えて、記憶装置センターはオブジェクトファイルを分配する。そして、記憶装置ポートはそのデータキャッシュ、ブロック3190、図30をアップデートする。記憶装置センター・ダウンロード・オペレーションが記憶装置ポートに読出しリクエストに応答してある場合、読出しリクエストにおいて、指定された様に、読出しリクエストはデータを分配する。
【0061】
ネットワーク記憶システム・ダイナミック・フェールオーバ:
実施例において、記憶装置ノードは、それらのそれぞれのノード(例えばモニタ・ハードディスクドライブ、プロセッサ、ネットワーク・アクセス、その他)の健康を監視する。記憶装置ノードの健康が記憶装置ノードがオペレーションをやめることが必要である場合、記憶装置クラスタはオペレーションの上の失敗を実行する。
一実施例において、オペレーションの上の失敗で、記憶装置ノードは欠陥のあるステータスをDOSMsに報告する。そして、DOSMsはそれらの状態表をアップデートする。これが発生する場合、DOSMsが異なる記憶装置ノードに繰り返されたファイルの位置を決めようとして、(すなわちどちらか局所的に遠隔で)。
図31は、条件の上の記憶装置ノード失敗の後、マルチキャスト・プロトコルを使用するための一実施例を例示しているフローチャートである。ノードが失敗する記憶装置、それからDOSMsアップデートおよびそれを示すそれらの状態表である場合記憶装置ノードはもはや使用中でない、ブロック3210および3220、図31。DOSMが欠陥のある記憶装置ノードに以前格納されるファイルのためのファイル・リクエストを受信する場合、DOSM(それはダウンロード・リクエストを受信した)は記憶装置ノード、ブロック3225および3230、図31に、マルチキャスト・プロトコルリクエストを出す。
実施例において、DOSMは局部記憶装置ノード(すなわちその記憶装置センターに位置する記憶装置ノード)に、マルチキャスト・プロトコルリクエストを出すことができる。
マルチキャスト・リクエストを受信する各々の記憶装置ノードは、それが要請されたオブジェクトファイル、ブロック3240、図31を含むかどうか決定する。記憶装置ノードのいずれもオブジェクトファイルを含まない場合、DOSMは遠隔記憶場所、ブロック3245および3247、図31で、他のマルチキャスト・プロトコルリクエストを出すことができる。
再び、遠隔記憶装置センタで、各々の記憶装置ノードは、それが要請されたオブジェクトファイル、ブロック3240、図31を含むかどうか決定する。
もう一つの実施例では、DOSMがマルチキャスト・プロトコルを使用しているファイルの場所を指定しない場合、DOSMはDOSPポイント・ツー・ポイント・プロトコルを使用している各々の個々の記憶装置ノードについてたずねることができる。記憶装置ノードが要請されたオブジェクトファイルの位置を決めるときに、記憶装置ノードはマルチキャスト・プロトコル、ブロック3250、図31を使用しているファイル識別情報を放送する。各々のDOSMは嗅ぎまわる。そして、ファイル識別情報、ブロック3260、図31を受信するために、マルチキャスト・プロトコルを使用する。
図31のプロセス実施例にて図示したように、マルチキャスト・プロトコルは、条件の上の失敗の場合にはDOSMsのファイル場所情報に同期させるために用いることができる。
【0062】
マルチキャスト・プロトコル:
本発明のマルチキャスト・プロトコルは、分散型の記憶システムのファイル情報のメンテナンスを支持する。ネットワーク記憶システムが複数の記憶装置ノードから成るので、マルチキャスト・プロトコルはファイル情報を追って、ネットワーク記憶システムの全体にわたってファイル情報に同期させるために用いる。追跡して、ファイルおよびディレクトリの中で情報が地理的に異種の記憶装置の全体にわたって情報を維持することを含むと主張することは中心にある。
実施例において、マルチキャスト・プロトコルは、DOSMsのキャッシュ情報に同期させる。例えば、新規なオブジェクトファイルがロードされる場合、マルチキャスト・プロトコルは新規なオブジェクトファイルにアクセスするのに必要な情報を得るために手段をネットワーク記憶システムの全てのDOSMsに提供する。加えて、削除ファイルまたは更新ファイル動作を含んで、若干のファイル操作は、DOSMルックアップテーブルをアップデートすることを必要とする。また、マルチキャスト・プロトコルがファイルが有する記憶装置ノードに、ファイルの位置を決めるために手段をDOSMsに提供して、記憶装置ノードが失敗する。そして、条件の上の失敗が実行される場合、繰り返す。
【0063】
分散オブジェクト記憶装置プロトコル(DOSP):
実施例において、DOSPはデーモン/マスター・サービスおよびマルチキャストに拠点を置く監視通信を含む。デーモンおよびマスター・コンポーネント間の通信は一組の「リクエスト・パケット」および「レスポンス・パケットで完成している。」、リクエスト・パケットは三大サブコンポーネントから成る:リクエストのタイプを特定するオペコード、あとに続くデータについて、情報を提供するC++特定の構成を経て実行されるヘッダ、そして、伝送されるデータもしあれば。各々のオペレーションは、関連したオペレーションコードおよび一対の構成を有する:リクエストおよび1秒の発行のための1は、戻り値のための構成を切り離す。一旦レシーバが受信して、リクエスト(データ、削除されたファイル、その他を送り出した)を処理すると、それはそれからリクエスト(成功、失敗、その他)およびいかなる必須の戻り値ものステータスを示している適当な「外の構成」からなるレスポンスを送り出す。
現在、支持される6つのサービス・オペレーションが、DOSPによって、ある:空白、ファイルを格納する、ファイルを検索する、ファイル範囲(削除ファイル)を検索する。そして、内容を得る。ヌルオペレーションは、プロトコルの将来の修正を呈して、マスター/デーモン・リクエスト/レスポンス・インタラクションの基本的な機能性を試験するためにフレームワークを提供する。ファイルが記憶の準備ができるときに、DOSM顧客はリクエストIDを送り出す。そして、要求ヘッダが続く。それはそれから一連のチャンクのdosdにデータを送り出す。そして、読取りである次のチャンクおよびこれが送り出される最後のパケットであるかどうか指し示しているフィールドの規模を与えるDosd記憶装置ヘッダの後に、それぞれはある。ファイルが記憶装置クラスタから検索されるときに、DOSM顧客はリクエストIdを送り出す。そして、リクエスト構成が続く。
DOSDは、オペレーションの戻り値を伴うデータ、要請されるデータおよび最後に外の構成の規模を最初に送り出すことによって、応答する。内容オペレーションは、文字ベースのストリームとして記憶装置ノードの内容を得るために用いる。「構成において、」dosdに通過する後、dosdは最初にmd5ハッシュ/ノード及びディスク結合のストリームの長さを復帰する。そして、最後に来ている「外の構成」を伴う、データのストリームが続く。DOSPは、拡張可能なフレームワークをいかなる新規なサービスもまたは追加的な機能性に提供する。
【0064】
3つのステップが、新規な機能性を加えることに本質的にある:In/Out構成の新規な一組を定めること、DOSM顧客のハンドラを実行して、新規なオペコードを割り当てること、そして、dosd.のためのサービス・ハンドラを加えること。システムについて情報の中で集まるのを容易にするために、DOSPはマルチキャストに拠点を置くいくつかのサービスを提供する。実施例において、これらのサービスは、非常にプロトコルの非マルチキャスト・アスペクトと同様の方法で機能する。具体的には、リクエストは3つの一部から成る:オペコード、構成において、リクエスト、そして、いかなる追加的なデータも。レスポンスは戻り値を含んでいるレスポンス構成から成る。そして、他のいかなる戻り値もリクエストを満たすことを要求した。データが流れ出す場合、サイズ・フィールドはデータ(データが続く)に先行する。そうすると、次の事態に先行すること、上記は、それから外の構成に先行する。マルチキャスト・トラフィックがポイント・ツー・ポイントdosm/dosdトラフィックから、完全に別々のポートに起こるので、マルチキャストIn/Out構成はマルチキャストに特有でない。これは、DOSMが全てのdosd記憶装置クラスタについてたずねるかまたは同じリクエスト/レスポンス構成およびそれらの関連した操作可能順序制御を有する個々のマシンについてたずねることを可能にする。DOSMのジョブのうちの1つは、クラスタのノードの現在の状態を監視することである。この作業を促進するためのいくつかのツールが、ある。主に、特定のマルチキャスト上のさまざまな持参金デーモン・マルチキャスト鼓動は、移植して、集まる。DOSMは、特定のディスクまたは既知の事実上のディスクの全てについてたずねるためにオプションを含む記憶装置ノード。「ディスク状態を得る」、機能はディスクにつき1つのエントリを伴うディスク状態値(オフラインで、下ってオンライン)の値および配列を復帰する。「ディスク・ステータスを得る」、機能は特定のディスクまたは既知の事実上のディスクの全てについてたずねるためにオプションを含むノード。「ディスク・ステータスを得る」ディスク統計情報の戻り値および配列を含む、ディスクにつき1つのエントリについては、統計値(自由なバイト、利用できるバイト、使用するiノード、利用できるiノード、顕著な軍事行動のナンバー)につき1つの配列。
DOSPは、以下を含む:ロード・バランシング機能。DOSPは、以下を含む:鼓動機能。これは、マルチキャスト方法を経たシステムに広がるトラッキング機能性を提供することに加えて鼓動のための特定のマシンについてたずねるのを許す。
本発明が特定の典型的な実施例に関して記載されていたにもかかわらず、さまざまな修正および修正が本発明の精神と範囲から逸脱することなく、当業者によって、なされるかもしれないことはいうまでもない。
【図面の簡単な説明】
【図1】
図1は、本発明の記憶システムのための一実施例を例示しているブロック図である。
【図2】
図2は、メディア蓄積サービスとしてネットワーク記憶装置の使用のための一実施例を例示する。
【図3】
図3は、記憶装置クラスタのための一実施例を例示しているブロック図である。
【図4】
図4は、記憶装置クラスタのダウンロード・オペレーションのための一実施例を例示しているフローチャートである。
【図5】
図5は、ネットワーク記憶システムの認証のための一実施例を例示しているフローチャートである。
【図6】
図6は、分散オブジェクト記憶装置管理者(「DOSM」)の一実施例を例示する。
【図7】
図7は、知的記憶装置ノードのための一実施例を例示しているブロック図である。
【図8】
図8は、記憶装置クラスタのアップロード・リクエストを処理するための一実施例を例示しているフローチャートである。
【図9】
図9は、オブジェクトファイルのユニークな指紋を生成するための一実施例を例示しているフローチャートである。
【図10】
図10は、記憶装置クラスタのキャッシュ・データのための一実施例を例示しているブロック図である。
【図11】
図11は、ネットワーク記憶システムの用途に、VFSを実行するための一実施例を例示しているブロック図である。
【図12】
図12は、データベースを有するファイルシステムを実装するためのサンプルデータベース・テーブルを例示する。
【図13】
図13Aおよび13Bは、VFSのディレクトリ・オペレーションを実行するための一実施例を例示しているフローチャートである。
【図14】
図14は、ネットワーク記憶システムのための削除ファイル動作のための一実施例を例示しているフローチャートである。
【図15】
図15は、記憶装置センターの地理的多重化を例示する。
【図16】
図16は、記憶装置センターを繰り返すための一実施例を例示しているブロック図である。
【図17】
図17は、内容配信ネットワークの記憶装置センターの使用のための一実施例を例示する。
【図18】
図18は、内容配信ネットワークを有する記憶装置センターの使用のための一実施例を例示しているフローチャートである。
【図19】
図19は、ネットワーク記憶システムの記憶装置ポートの使用のための一実施例を例示する。
【図20】
図20は、内容を分配するために記憶装置ポートの使用のための一実施例を例示しているフローチャートである。
【図21】
図21aは、記憶装置ポート・デバイスのための1つのハードウェア構成を例示する。
図21bは、ソフトウェアの記憶装置ポートを実行するための実施例を例示する。
【図22】
図22は、記憶装置ポートのための一実施例を例示しているブロック図である。
【図23】
図23は、記憶装置ポートのファイルシステム翻訳のための一実施例を例示しているブロック図である。
【図24】
図24は、ローカル・ファイルシステムからネットワーク記憶装置ファイルシステムまでファイルシステム・オペレーションを翻訳するための一実施例を例示しているフローチャートである。
【図25】
図25は、エンドユーザに直接オブジェクトファイルをダウンロードするために記憶装置ポートを使用するための一実施例を例示しているブロック図である。
【図26】
図26は、エンドユーザにオブジェクトファイルを直接ダウンロードするための一実施例を例示しているフローチャートである。
【図27】
図27は、顧客の専有ファイル・ディレクトリシステムに記憶装置センターとの入出力を行うために一実施例を例示しているブロック図である。
【図28】
図28は、顧客の個人的なファイルシステムを使用している記憶装置センターのオブジェクトファイルにアクセスするための一実施例を例示しているフローチャートである。
【図29】
図29は、構成の上の記憶装置ポート失敗のための一実施例を例示しているブロック図である。
【図30】
図30は、プロセスの上の記憶装置ポート失敗のための一実施例を例示しているフローチャートである。
【図31】
図31は、条件の上の記憶装置ノード失敗の後、マルチキャスト・プロトコルを使用するための一実施例を例示しているフローチャートである。
【符号の説明】
50 仮想ファイルシステム 60 ファイルシステム制御
70 記憶装置クラスタ 100 エンドユーザコンピュータ
120 内容起点サーバ 130 蓄積サービス 140 サーバ
150 データ記憶装置 160,170,180 ファイル
Claims (23)
- 遠隔記憶装置センタから内容サーバから提供される内容のためのエンドユーザ・コンピュータまで、ファイルをダウンロードする方法、次のステップから成る前記方法:内容サーバでエンドユーザ・コンピュータからの内容の要請を受信すること、
前記内容サーバから前記エンドユーザ・コンピュータへの伝送すること、前記エンドユーザ・リクエストに応答して、少なくとも一つの記憶装置リソース・ロケータ(「SRL)から成る前記内容、そこにおいて、前記SRLは、以下を有する:前記内容に伴うファイルを識別するユニークなファイル識別子、前記エンドユーザ・コンピュータから遠隔記憶装置センタへの前記ファイルのためのリクエストを伝送すること、上記は、前記ファイルのための送信前記SRLを含む、そして、伝送すること、前記記憶装置センタから前記エンドユーザ・コンピュータまで、前記SRLにより識別される前記ファイル。 - 請求項1に記載の方法、上記は、次のステップから更に成る:前記内容サーバから前記エンドユーザ・コンピュータへの認証証明書から更に成っているSRLを伝送すること、
決定すること、前記記憶装置センターで、前記認証証明書を使用すること、前記リクエストが、有効であるどうか、そして、伝送すること、前記記憶装置センタから前記エンドユーザ・コンピュータまで、前記ファイルだけ前記リクエストが有効な。 - 請求項1に記載の方法、上記は、次のステップから更に成る:タイムアウト・パラメータから更に成っているSRLを前記エンドユーザ・コンピュータに送ること、
そして、前記リクエストが前記タイムアウト・パラメータによる妥当であるかどうか決定すること。 - 請求項1に記載の方法、上記は、前記内容のためのエンドユーザ・コンピュータから、前記リクエストを受信した後に前記内容に前記SRLを埋めるステップを更に含む。
- 請求項1に記載の方法、そこにおいて、:内容が満足しているハイパーテキスト・マークアップ言語(「HTML」)を伝送するステップを含むことを伝送するステップ、そして、前記内容への前記SRLが前記HTMLに前記SRLを埋めて、ステップを含む埋め込みのステップ。
- 請求項4に記載の方法、そこにおいて、前記内容への前記SRLが次のステップから成ることを埋めるステップ:SRLファイルのファイルのための格納少なくとも一つのSRL、そして、前記SRLを前記SRLファイルから抜き出すこと。
- 請求項4に記載の方法、そこにおいて、前記内容への前記SRLが次のステップから成ることを埋めるステップ:前記内容サーバにキャッシュから成るローカル・デバイスを連結すること、前記ローカル・デバイスの前記キャッシュの少なくとも一つのファイルのための格納少なくとも一つのSRL、そして、前記SRLを前記ローカル・デバイスの前記キャッシュから抜き出すこと。
- 請求項7に記載の方法、上記は、次のステップから更に成る:前記SRLsにアクセスのための前記内容サーバのための記憶装置として前記ローカル・デバイスをマウントすること。
- 請求項1に記載の方法、上記は、次のステップから更に成る:SRLファイルの少なくとも一つのファイルのための格納少なくとも一つのSRL、ファイルシステムによるアクセスのための格納前記ファイル、そして、ファイルシステムの前記SRLファイルを編成すること、アクセスできる、前記内容サーバ、実質的に前記ファイルのための前記ファイル構造と同様のファイル構造を有する。
- 請求項1に記載の方法、そこにおいて、:前記エンドユーザ・コンピュータからセンターがハイパーテキスト転送プロトコル(「HTTP」)リクエストを伝送して、ステップを含む遠隔記憶装置まで、前記ファイルのためのリクエストを伝送するステップ、そして、前記記憶装置センタからコンピュータがHTTPを使用している前記ファイルを伝送して、ステップを含む前記エンドユーザまで、前記ファイルを伝送するステップ。
- 請求項10に記載の方法、そこにおいて、伝送するステップ、前記記憶装置センタから前記エンドユーザ・コンピュータまで、前記ファイルは、大きいメディア・オブジェクトを転送するステップを含む。
- 以下を含んでいるシステム:エンドユーザ・コンピュータからの内容の要請を受信するための内容サーバ、そして、 前記エンドユーザ・コンピュータに送るための、前記エンドユーザ・リクエストに応答して、少なくとも一つの記憶装置リソース・ロケータ(「SRL)から成る前記内容、そこにおいて、前記SRLは、以下を有する:
前記内容に伴うファイルを識別するユニークなファイル識別子、前記エンドユーザ・コンピュータから前記ファイルのためのリクエストを受信するための記憶装置センター、上記は、前記ファイルのための送信前記SRLを含む。そして、 伝送するための、前記エンドユーザ・コンピュータにから、前記SRLにより識別される前記ファイル。 - 請求項12に記載のシステム、そこにおいて、:更なる前記SRLは、以下を有する:認証証明書、そして、前記リクエストが前記認証証明書を使用している妥当であるかどうか決定するための前記記憶装置センター、そして、 そして、前記エンドユーザ・コンピュータに前記リクエストがある場合だけ前記ファイルを伝送することは、有効である。
- 請求項12に記載のシステム、そこにおいて、:更なる前記SRLは、以下を有する:タイムアウト・パラメータ、そして、前記リクエストが前記タイムアウト・パラメータによる妥当であるかどうか決定するための前記記憶装置センター。
- 請求項12に記載のシステム、そこにおいて、エンドユーザ・コンピュータからの前記内容の前記要請を受信した後に前記内容に前記SRLを埋めるためのプロセスから更に成っている前記内容サーバ。
- 請求項15に記載のシステム、そこにおいて、:前記内容は、満足しているマークアップ言語(「HTML」)から成る、そして、前記HTMLに前記SRLを埋めるためのプロセスから更に成っている前記内容サーバ。
- 請求項15に記載のシステム、そこにおいて、:SRLファイルから更に成っている前記SRL、そして、前記SRLを前記SRLファイルから抜き出すためのプロセスから更に成っている前記内容サーバ。
- 請求項12に記載のシステム、上記は、ローカルなデバイスから更に成る、
被結合、前記内容サーバ、それは、以下を含む:前記ローカル・デバイスの前記キャッシュの少なくとも一つのファイルのための少なくとも一つのSRLを格納するためのキャッシュ、そこにおいて、前記SRLを前記ローカル・デバイスの前記キャッシュから抜き出すためのプロセスから更に成っている前記内容サーバ。 - 請求項18に記載のシステム、そこにおいて、サーバが前記SRLsに記憶装置として前記ローカル・デバイスをマウントして、プロセスから成る前記内容。
- 請求項19に記載のシステム、上記は、ファイルシステムから更に成る、アクセスできる、前記内容サーバ、上記が、少なくとも一つのSRLを格納するための最も少なく一つのSRLファイルで、含む、そこにおいて、実質的に前記ファイルのためのファイル構造と同様のファイル構造から成る前記ファイルシステム。
- 以下を含んでいる記憶装置センタ:複数のファイルを格納するための記憶装置、エンドユーザ・コンピュータからリクエストを受け取るためのファイル制御装置、前記記憶装置センターからの遠隔制御装置、少なくとも一つのファイルのための、そして、 前記ファイルを前記エンドユーザ・コンピュータに伝染させるための、前記ファイルと一致している少なくとも一つの記憶装置リソース・ロケータ(「SRL」)から成る前記リクエスト、そして、そこにおいて、前記SRLは、以下を有する:
前記エンドユーザ・コンピュータが内容サーバからダウンロードした内容に伴う前記ファイルを識別するユニークなファイル識別子。 - 請求項21に記載の記憶装置センター、そこにおいて、:更なる前記SRLは、以下を有する:認証証明書、そして、前記リクエストが前記認証証明書を使用している妥当であるかどうか決定するための前記記憶装置センター、そして、 前記リクエストが有効な場合だけ、前記ファイルを前記エンドユーザ・コンピュータに伝染させるための。
- 請求項21に記載の記憶装置センター、そこにおいて、:更なる前記SRLは、以下を有する:タイムアウト・パラメータ、そして、前記リクエストが前記タイムアウト・パラメータによる妥当であるかどうか決定するための前記記憶装置センター。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US18669300P | 2000-03-03 | 2000-03-03 | |
US18677400P | 2000-03-03 | 2000-03-03 | |
US09/695,499 US7428540B1 (en) | 2000-03-03 | 2000-10-23 | Network storage system |
US09/753,141 US7506034B2 (en) | 2000-03-03 | 2000-12-29 | Methods and apparatus for off loading content servers through direct file transfer from a storage center to an end-user |
PCT/US2001/006707 WO2001067707A2 (en) | 2000-03-03 | 2001-03-02 | A network storage system |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004500660A true JP2004500660A (ja) | 2004-01-08 |
JP2004500660A5 JP2004500660A5 (ja) | 2008-05-29 |
Family
ID=27497681
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001565610A Pending JP2004500660A (ja) | 2000-03-03 | 2001-03-02 | ネットワーク記憶システム |
Country Status (5)
Country | Link |
---|---|
US (1) | US7506034B2 (ja) |
EP (1) | EP1410247B1 (ja) |
JP (1) | JP2004500660A (ja) |
AU (1) | AU2001241921A1 (ja) |
WO (1) | WO2001067707A2 (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009129164A (ja) * | 2007-11-22 | 2009-06-11 | Nec Corp | 分散ストレージでのファイル配置およびアクセス方法、その装置及びそのプログラム |
US8914905B2 (en) | 2009-11-09 | 2014-12-16 | Nec Corporation | Access control system, communication terminal, server, and access control method |
US10474631B2 (en) | 2009-06-26 | 2019-11-12 | Hewlett Packard Enterprise Company | Method and apparatus for content derived data placement in memory |
Families Citing this family (226)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9239763B2 (en) | 2012-09-28 | 2016-01-19 | Oracle International Corporation | Container database |
US6938256B2 (en) | 2000-01-18 | 2005-08-30 | Galactic Computing Corporation | System for balance distribution of requests across multiple servers using dynamic metrics |
US7428540B1 (en) | 2000-03-03 | 2008-09-23 | Intel Corporation | Network storage system |
US7266555B1 (en) | 2000-03-03 | 2007-09-04 | Intel Corporation | Methods and apparatus for accessing remote storage through use of a local device |
US7506034B2 (en) | 2000-03-03 | 2009-03-17 | Intel Corporation | Methods and apparatus for off loading content servers through direct file transfer from a storage center to an end-user |
US7281168B1 (en) | 2000-03-03 | 2007-10-09 | Intel Corporation | Failover architecture for local devices that access remote storage |
US6952737B1 (en) * | 2000-03-03 | 2005-10-04 | Intel Corporation | Method and apparatus for accessing remote storage in a distributed storage cluster architecture |
US8538843B2 (en) | 2000-07-17 | 2013-09-17 | Galactic Computing Corporation Bvi/Bc | Method and system for operating an E-commerce service provider |
US6816905B1 (en) | 2000-11-10 | 2004-11-09 | Galactic Computing Corporation Bvi/Bc | Method and system for providing dynamic hosted service management across disparate accounts/sites |
US7844513B2 (en) | 2000-07-17 | 2010-11-30 | Galactic Computing Corporation Bvi/Bc | Method and system for operating a commissioned e-commerce service prover |
WO2003107219A1 (en) * | 2000-09-11 | 2003-12-24 | Zambeel, Inc. | Storage system having partitioned migratable metadata |
US7606898B1 (en) | 2000-10-24 | 2009-10-20 | Microsoft Corporation | System and method for distributed management of shared computers |
US7089293B2 (en) * | 2000-11-02 | 2006-08-08 | Sun Microsystems, Inc. | Switching system method for discovering and accessing SCSI devices in response to query |
US20020103974A1 (en) * | 2000-11-29 | 2002-08-01 | Giacomini Peter Joseph | Method and apparatus for economical cache population |
US7249168B1 (en) * | 2000-12-28 | 2007-07-24 | Apple Inc. | Method and apparatus for automated remote volume mounting using a plug-in installed on a client |
US7266556B1 (en) | 2000-12-29 | 2007-09-04 | Intel Corporation | Failover architecture for a distributed storage system |
US8595340B2 (en) * | 2001-01-18 | 2013-11-26 | Yahoo! Inc. | Method and system for managing digital content, including streaming media |
US8554940B2 (en) * | 2001-01-19 | 2013-10-08 | Single Touch Interactive, Inc. | System and method for routing media |
US7054927B2 (en) * | 2001-01-29 | 2006-05-30 | Adaptec, Inc. | File system metadata describing server directory information |
US7472178B2 (en) * | 2001-04-02 | 2008-12-30 | Akamai Technologies, Inc. | Scalable, high performance and highly available distributed storage system for Internet content |
US8990334B2 (en) * | 2001-04-26 | 2015-03-24 | Nokia Corporation | Rule-based caching for packet-based data transfer |
US8180904B1 (en) | 2001-04-26 | 2012-05-15 | Nokia Corporation | Data routing and management with routing path selectivity |
US9143545B1 (en) | 2001-04-26 | 2015-09-22 | Nokia Corporation | Device classification for media delivery |
US9900286B2 (en) | 2001-04-26 | 2018-02-20 | Nokia Technologies Oy | Device classification for media delivery |
US9032097B2 (en) | 2001-04-26 | 2015-05-12 | Nokia Corporation | Data communication with remote network node |
US6768989B2 (en) * | 2001-06-21 | 2004-07-27 | Kevin Wade Jameson | Collection recognizer |
US7546354B1 (en) * | 2001-07-06 | 2009-06-09 | Emc Corporation | Dynamic network based storage with high availability |
US7519575B1 (en) * | 2001-08-31 | 2009-04-14 | Novell, Inc. | Method and apparatus for presenting, searching, and viewing directories |
US7958199B2 (en) * | 2001-11-02 | 2011-06-07 | Oracle America, Inc. | Switching systems and methods for storage management in digital networks |
JP3983036B2 (ja) * | 2001-11-21 | 2007-09-26 | 富士通株式会社 | ファイルサーバプログラム |
US7043503B2 (en) * | 2002-02-15 | 2006-05-09 | International Business Machines Corporation | Ditto address indicating true disk address for actual data blocks stored in one of an inode of the file system and subsequent snapshot |
EP1493243B1 (en) * | 2002-04-09 | 2014-10-22 | TELEFONAKTIEBOLAGET LM ERICSSON (publ) | Secure file transfer |
CA2489190A1 (en) * | 2002-06-13 | 2004-01-29 | Agami Systems, Inc. | Symmetric shared file storage system cross-reference to related applications |
US6931530B2 (en) * | 2002-07-22 | 2005-08-16 | Vormetric, Inc. | Secure network file access controller implementing access control and auditing |
US7620699B1 (en) * | 2002-07-26 | 2009-11-17 | Paltalk Holdings, Inc. | Method and system for managing high-bandwidth data sharing |
US20040054943A1 (en) * | 2002-08-08 | 2004-03-18 | International Business Machines Corporation | Method and system for improving the availability of software processes utilizing configurable finite state tables |
CN100386746C (zh) * | 2002-08-28 | 2008-05-07 | 草谷(U.S)公司 | 具有增强性能的视频存储网络 |
US7778438B2 (en) | 2002-09-30 | 2010-08-17 | Myport Technologies, Inc. | Method for multi-media recognition, data conversion, creation of metatags, storage and search retrieval |
US10721066B2 (en) | 2002-09-30 | 2020-07-21 | Myport Ip, Inc. | Method for voice assistant, location tagging, multi-media capture, transmission, speech to text conversion, photo/video image/object recognition, creation of searchable metatags/contextual tags, storage and search retrieval |
US6996251B2 (en) | 2002-09-30 | 2006-02-07 | Myport Technologies, Inc. | Forensic communication apparatus and method |
US7774466B2 (en) | 2002-10-17 | 2010-08-10 | Intel Corporation | Methods and apparatus for load balancing storage nodes in a distributed storage area network system |
WO2004036408A2 (en) * | 2002-10-17 | 2004-04-29 | Intel Corporation | A distributed network attached storage system |
US7428751B2 (en) * | 2002-12-05 | 2008-09-23 | Microsoft Corporation | Secure recovery in a serverless distributed file system |
US7443845B2 (en) | 2002-12-06 | 2008-10-28 | Cisco Technology, Inc. | Apparatus and method for a lightweight, reliable, packet-based transport protocol |
US20040139167A1 (en) * | 2002-12-06 | 2004-07-15 | Andiamo Systems Inc., A Delaware Corporation | Apparatus and method for a scalable network attach storage system |
US7475142B2 (en) | 2002-12-06 | 2009-01-06 | Cisco Technology, Inc. | CIFS for scalable NAS architecture |
JP3941700B2 (ja) | 2003-01-28 | 2007-07-04 | ソニー株式会社 | 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム |
US8122106B2 (en) | 2003-03-06 | 2012-02-21 | Microsoft Corporation | Integrating design, deployment, and management phases for systems |
US7890543B2 (en) | 2003-03-06 | 2011-02-15 | Microsoft Corporation | Architecture for distributed computing system and automated design, deployment, and management of distributed applications |
US7689676B2 (en) | 2003-03-06 | 2010-03-30 | Microsoft Corporation | Model-based policy application |
US7610348B2 (en) | 2003-05-07 | 2009-10-27 | International Business Machines | Distributed file serving architecture system with metadata storage virtualization and data access at the data server connection speed |
US7103681B2 (en) * | 2003-06-19 | 2006-09-05 | Nokia Corporation | System for rendering multimedia messages by providing, in a multimedia message, URL for downloadable software to receiving terminal |
US7636917B2 (en) * | 2003-06-30 | 2009-12-22 | Microsoft Corporation | Network load balancing with host status information |
US7567504B2 (en) * | 2003-06-30 | 2009-07-28 | Microsoft Corporation | Network load balancing with traffic routing |
US7444508B2 (en) * | 2003-06-30 | 2008-10-28 | Nokia Corporation | Method of implementing secure access |
US8606880B2 (en) * | 2003-12-04 | 2013-12-10 | Sheng (Ted) Tai Tsao | Use of wireless devices' external storage |
US7747717B2 (en) * | 2003-08-14 | 2010-06-29 | Oracle International Corporation | Fast application notification in a clustered computing system |
US7664847B2 (en) * | 2003-08-14 | 2010-02-16 | Oracle International Corporation | Managing workload by service |
US20060064400A1 (en) * | 2004-09-21 | 2006-03-23 | Oracle International Corporation, A California Corporation | Methods, systems and software for identifying and managing database work |
US7953860B2 (en) * | 2003-08-14 | 2011-05-31 | Oracle International Corporation | Fast reorganization of connections in response to an event in a clustered computing system |
US8655755B2 (en) * | 2003-10-22 | 2014-02-18 | Scottrade, Inc. | System and method for the automated brokerage of financial instruments |
RU2470077C2 (ru) * | 2003-12-17 | 2012-12-20 | ГЛЭКСОСМИТКЛАЙН ЭлЭлСи | Биологически активное соединение, содержащее кодирующий олигонуклеотид (варианты), способ его синтеза, библиотека соединений (варианты), способ ее синтеза и способ поиска соединения, связывающегося с биологической мишенью (варианты) |
WO2005078606A2 (en) * | 2004-02-11 | 2005-08-25 | Storage Technology Corporation | Clustered hierarchical file services |
US7778422B2 (en) | 2004-02-27 | 2010-08-17 | Microsoft Corporation | Security associations for devices |
JP2005276094A (ja) * | 2004-03-26 | 2005-10-06 | Hitachi Ltd | 分散ストレージ装置のファイル管理方法及び分散ストレージシステム並びにプログラム |
US8516035B2 (en) * | 2006-06-21 | 2013-08-20 | Apple Inc. | Browsing and searching of podcasts |
US8412763B2 (en) * | 2006-06-21 | 2013-04-02 | Apple Inc. | Podcast organization and usage at a computing device |
US8266406B2 (en) | 2004-04-30 | 2012-09-11 | Commvault Systems, Inc. | System and method for allocation of organizational resources |
US7346751B2 (en) | 2004-04-30 | 2008-03-18 | Commvault Systems, Inc. | Systems and methods for generating a storage-related metric |
US20050246529A1 (en) | 2004-04-30 | 2005-11-03 | Microsoft Corporation | Isolated persistent identity storage for authentication of computing devies |
US7409445B2 (en) * | 2004-05-27 | 2008-08-05 | International Business Machines Corporation | Method for facilitating monitoring and simultaneously analyzing of network events of multiple hosts via a single network interface |
KR20060060150A (ko) * | 2004-11-30 | 2006-06-05 | 삼성전자주식회사 | 가상 파일 시스템을 만들어 멀티미디어 데이터를 재생하는장치 및 재생방법 |
US8458125B1 (en) * | 2005-01-31 | 2013-06-04 | Oracle America, Inc. | Dynamic creation of replicas of streaming data from a storage device without added load |
US9400875B1 (en) | 2005-02-11 | 2016-07-26 | Nokia Corporation | Content routing with rights management |
US20060209676A1 (en) * | 2005-03-16 | 2006-09-21 | Kun-Pu Chen | Network link backup system |
US7797147B2 (en) | 2005-04-15 | 2010-09-14 | Microsoft Corporation | Model-based system monitoring |
US7802144B2 (en) | 2005-04-15 | 2010-09-21 | Microsoft Corporation | Model-based system monitoring |
US8489728B2 (en) | 2005-04-15 | 2013-07-16 | Microsoft Corporation | Model-based system monitoring |
US8549513B2 (en) | 2005-06-29 | 2013-10-01 | Microsoft Corporation | Model-based virtual system provisioning |
US7403949B2 (en) * | 2005-08-17 | 2008-07-22 | International Business Machines Corporation | Elimination of redundant objects in storage systems |
US7941309B2 (en) | 2005-11-02 | 2011-05-10 | Microsoft Corporation | Modeling IT operations/policies |
US8285784B2 (en) * | 2005-11-08 | 2012-10-09 | Alcatel Lucent | Service creation via presence messaging |
US20110010518A1 (en) * | 2005-12-19 | 2011-01-13 | Srinivas Kavuri | Systems and Methods for Migrating Components in a Hierarchical Storage Network |
JP4492569B2 (ja) * | 2006-03-20 | 2010-06-30 | 日本電気株式会社 | ファイル操作制御装置、ファイル操作制御システム、ファイル操作制御方法及びファイル操作制御プログラム |
EP1858228A1 (en) * | 2006-05-16 | 2007-11-21 | THOMSON Licensing | Network data storage system with distributed file management |
US7966362B2 (en) * | 2006-06-21 | 2011-06-21 | Apple Inc. | Management of podcasts |
US8140506B2 (en) * | 2006-11-30 | 2012-03-20 | Red Hat, Inc. | File sharing based on social network |
US20080154986A1 (en) * | 2006-12-22 | 2008-06-26 | Storage Technology Corporation | System and Method for Compression of Data Objects in a Data Storage System |
US8005790B2 (en) * | 2007-02-07 | 2011-08-23 | Agfa Healthcare N.V. | Object cloning management system and method |
GB2446832A (en) * | 2007-02-23 | 2008-08-27 | Quantel Ltd | A file server system |
US8028090B2 (en) | 2008-11-17 | 2011-09-27 | Amazon Technologies, Inc. | Request routing utilizing client location information |
US7991910B2 (en) | 2008-11-17 | 2011-08-02 | Amazon Technologies, Inc. | Updating routing information based on client location |
US8601090B1 (en) | 2008-03-31 | 2013-12-03 | Amazon Technologies, Inc. | Network resource identification |
US8321568B2 (en) | 2008-03-31 | 2012-11-27 | Amazon Technologies, Inc. | Content management |
US8447831B1 (en) | 2008-03-31 | 2013-05-21 | Amazon Technologies, Inc. | Incentive driven content delivery |
US8533293B1 (en) | 2008-03-31 | 2013-09-10 | Amazon Technologies, Inc. | Client side cache management |
US7970820B1 (en) | 2008-03-31 | 2011-06-28 | Amazon Technologies, Inc. | Locality based content distribution |
US8606996B2 (en) | 2008-03-31 | 2013-12-10 | Amazon Technologies, Inc. | Cache optimization |
US7962597B2 (en) | 2008-03-31 | 2011-06-14 | Amazon Technologies, Inc. | Request routing based on class |
TWI413376B (zh) * | 2008-05-02 | 2013-10-21 | Hon Hai Prec Ind Co Ltd | 網路存儲管理裝置和方法 |
US9407681B1 (en) | 2010-09-28 | 2016-08-02 | Amazon Technologies, Inc. | Latency measurement in resource requests |
US7925782B2 (en) | 2008-06-30 | 2011-04-12 | Amazon Technologies, Inc. | Request routing using network computing components |
US9912740B2 (en) | 2008-06-30 | 2018-03-06 | Amazon Technologies, Inc. | Latency measurement in resource requests |
CN101729442B (zh) * | 2008-10-23 | 2013-03-20 | 华为技术有限公司 | 一种实现内容共享的方法和装置 |
SE533007C2 (sv) | 2008-10-24 | 2010-06-08 | Ilt Productions Ab | Distribuerad datalagring |
US8073940B1 (en) | 2008-11-17 | 2011-12-06 | Amazon Technologies, Inc. | Managing content delivery network service providers |
US8732309B1 (en) | 2008-11-17 | 2014-05-20 | Amazon Technologies, Inc. | Request routing utilizing cost information |
US8122098B1 (en) | 2008-11-17 | 2012-02-21 | Amazon Technologies, Inc. | Managing content delivery network service providers by a content broker |
US8521880B1 (en) | 2008-11-17 | 2013-08-27 | Amazon Technologies, Inc. | Managing content delivery network service providers |
US8229890B2 (en) * | 2008-12-15 | 2012-07-24 | International Business Machines Corporation | Opening document stored at multiple database replicas |
US8510848B1 (en) | 2009-02-02 | 2013-08-13 | Motorola Mobility Llc | Method and system for managing data in a communication network |
KR101179472B1 (ko) * | 2009-02-18 | 2012-09-07 | (주)씨디네트웍스 | 파일관리 시스템 및 파일관리시스템의 컨텐츠 제공 방법 |
US8521851B1 (en) | 2009-03-27 | 2013-08-27 | Amazon Technologies, Inc. | DNS query processing using resource identifiers specifying an application broker |
US8756341B1 (en) | 2009-03-27 | 2014-06-17 | Amazon Technologies, Inc. | Request routing utilizing popularity information |
US8688837B1 (en) | 2009-03-27 | 2014-04-01 | Amazon Technologies, Inc. | Dynamically translating resource identifiers for request routing using popularity information |
US8412823B1 (en) | 2009-03-27 | 2013-04-02 | Amazon Technologies, Inc. | Managing tracking information entries in resource cache components |
JP5317835B2 (ja) * | 2009-06-03 | 2013-10-16 | キヤノン株式会社 | コンテンツ属性情報提供装置、コンテンツ属性情報提供方法、及びコンピュータプログラム |
US8549038B2 (en) | 2009-06-15 | 2013-10-01 | Oracle International Corporation | Pluggable session context |
US8782236B1 (en) | 2009-06-16 | 2014-07-15 | Amazon Technologies, Inc. | Managing resources using resource expiration data |
US8397073B1 (en) | 2009-09-04 | 2013-03-12 | Amazon Technologies, Inc. | Managing secure content in a content delivery network |
US8433771B1 (en) | 2009-10-02 | 2013-04-30 | Amazon Technologies, Inc. | Distribution network with forward resource propagation |
US9495338B1 (en) | 2010-01-28 | 2016-11-15 | Amazon Technologies, Inc. | Content distribution network |
US9251164B2 (en) * | 2010-02-26 | 2016-02-02 | Salesforce.Com, Inc. | System, method and computer program product for using a database to access content stored outside of the database |
US9223529B1 (en) | 2010-03-26 | 2015-12-29 | Open Invention Network, Llc | Method and apparatus of processing information in an environment with multiple devices and limited resources |
EP2387200B1 (en) | 2010-04-23 | 2014-02-12 | Compuverde AB | Distributed data storage |
US20110270892A1 (en) * | 2010-05-03 | 2011-11-03 | Pixel8 Networks, Inc. | Application Network Storage |
CN102316127B (zh) * | 2010-06-29 | 2014-04-23 | 阿尔卡特朗讯 | 无线通信系统中基于分布式存储的文件传输方法 |
US9003035B1 (en) | 2010-09-28 | 2015-04-07 | Amazon Technologies, Inc. | Point of presence management in request routing |
US8468247B1 (en) | 2010-09-28 | 2013-06-18 | Amazon Technologies, Inc. | Point of presence management in request routing |
US8819283B2 (en) | 2010-09-28 | 2014-08-26 | Amazon Technologies, Inc. | Request routing in a networked environment |
US9712484B1 (en) | 2010-09-28 | 2017-07-18 | Amazon Technologies, Inc. | Managing request routing information utilizing client identifiers |
US10958501B1 (en) | 2010-09-28 | 2021-03-23 | Amazon Technologies, Inc. | Request routing information based on client IP groupings |
US8577992B1 (en) | 2010-09-28 | 2013-11-05 | Amazon Technologies, Inc. | Request routing management based on network components |
US10097398B1 (en) | 2010-09-28 | 2018-10-09 | Amazon Technologies, Inc. | Point of presence management in request routing |
US8452874B2 (en) | 2010-11-22 | 2013-05-28 | Amazon Technologies, Inc. | Request routing processing |
US20120185558A1 (en) * | 2011-01-14 | 2012-07-19 | Ryder Scott W | Data storage management |
US8521860B2 (en) | 2011-03-29 | 2013-08-27 | Microsoft Corporation | Providing a witness service |
US10467042B1 (en) | 2011-04-27 | 2019-11-05 | Amazon Technologies, Inc. | Optimized deployment based upon customer locality |
US9626378B2 (en) * | 2011-09-02 | 2017-04-18 | Compuverde Ab | Method for handling requests in a storage system and a storage node for a storage system |
US8650365B2 (en) | 2011-09-02 | 2014-02-11 | Compuverde Ab | Method and device for maintaining data in a data storage system comprising a plurality of data storage nodes |
US9021053B2 (en) | 2011-09-02 | 2015-04-28 | Compuverde Ab | Method and device for writing data to a data storage system comprising a plurality of data storage nodes |
US8769138B2 (en) | 2011-09-02 | 2014-07-01 | Compuverde Ab | Method for data retrieval from a distributed data storage system |
US8645978B2 (en) | 2011-09-02 | 2014-02-04 | Compuverde Ab | Method for data maintenance |
US8997124B2 (en) | 2011-09-02 | 2015-03-31 | Compuverde Ab | Method for updating data in a distributed data storage system |
US9135269B2 (en) * | 2011-12-07 | 2015-09-15 | Egnyte, Inc. | System and method of implementing an object storage infrastructure for cloud-based services |
US8904009B1 (en) * | 2012-02-10 | 2014-12-02 | Amazon Technologies, Inc. | Dynamic content delivery |
US10021179B1 (en) | 2012-02-21 | 2018-07-10 | Amazon Technologies, Inc. | Local resource delivery network |
US10623408B1 (en) | 2012-04-02 | 2020-04-14 | Amazon Technologies, Inc. | Context sensitive object management |
US10019371B2 (en) * | 2012-04-27 | 2018-07-10 | Hewlett Packard Enterprise Development Lp | Data caching using local and remote memory |
US9154551B1 (en) | 2012-06-11 | 2015-10-06 | Amazon Technologies, Inc. | Processing DNS queries to identify pre-processing information |
US9858288B2 (en) | 2012-08-03 | 2018-01-02 | Egnyte, Inc. | System and method for event-based synchronization of remote and local file systems |
US9747386B1 (en) * | 2012-08-10 | 2017-08-29 | Amazon Technologies, Inc. | User-perceived performance through browser hints |
US9525659B1 (en) | 2012-09-04 | 2016-12-20 | Amazon Technologies, Inc. | Request routing utilizing point of presence load information |
US9323577B2 (en) | 2012-09-20 | 2016-04-26 | Amazon Technologies, Inc. | Automated profiling of resource usage |
US9424437B1 (en) | 2012-10-12 | 2016-08-23 | Egnyte, Inc. | Systems and methods for providing file access in a hybrid cloud storage system |
US10205698B1 (en) | 2012-12-19 | 2019-02-12 | Amazon Technologies, Inc. | Source-dependent address resolution |
US10379988B2 (en) | 2012-12-21 | 2019-08-13 | Commvault Systems, Inc. | Systems and methods for performance monitoring |
US9294391B1 (en) | 2013-06-04 | 2016-03-22 | Amazon Technologies, Inc. | Managing network computing components utilizing request routing |
US9729410B2 (en) * | 2013-10-24 | 2017-08-08 | Jeffrey T Eschbach | Method and system for capturing web content from a web server |
US9251361B1 (en) * | 2013-12-13 | 2016-02-02 | Amazon Technologies, Inc. | Data transmission to an untrusted entity |
US11379425B1 (en) * | 2013-12-18 | 2022-07-05 | Open Text Corporation | Optimizing synchronization of content management servers |
US9503401B1 (en) * | 2014-01-31 | 2016-11-22 | Whatsapp Inc. | Automated message recall from a sender's device |
US10380076B2 (en) | 2014-07-21 | 2019-08-13 | Egnyte, Inc. | System and method for policy based synchronization of remote and local file systems |
US10097448B1 (en) | 2014-12-18 | 2018-10-09 | Amazon Technologies, Inc. | Routing mode and point-of-presence selection service |
US10033627B1 (en) | 2014-12-18 | 2018-07-24 | Amazon Technologies, Inc. | Routing mode and point-of-presence selection service |
US10091096B1 (en) | 2014-12-18 | 2018-10-02 | Amazon Technologies, Inc. | Routing mode and point-of-presence selection service |
US10225326B1 (en) | 2015-03-23 | 2019-03-05 | Amazon Technologies, Inc. | Point of presence based data uploading |
US9887932B1 (en) | 2015-03-30 | 2018-02-06 | Amazon Technologies, Inc. | Traffic surge management for points of presence |
US9819567B1 (en) | 2015-03-30 | 2017-11-14 | Amazon Technologies, Inc. | Traffic surge management for points of presence |
US9887931B1 (en) | 2015-03-30 | 2018-02-06 | Amazon Technologies, Inc. | Traffic surge management for points of presence |
US10437789B2 (en) | 2015-04-10 | 2019-10-08 | Egnyte, Inc. | System and method for delete fencing during synchronization of remote and local file systems |
US9832141B1 (en) | 2015-05-13 | 2017-11-28 | Amazon Technologies, Inc. | Routing based request correlation |
US11144510B2 (en) | 2015-06-11 | 2021-10-12 | Egnyte, Inc. | System and method for synchronizing file systems with large namespaces |
US10275320B2 (en) | 2015-06-26 | 2019-04-30 | Commvault Systems, Inc. | Incrementally accumulating in-process performance data and hierarchical reporting thereof for a data stream in a secondary copy operation |
US10097566B1 (en) | 2015-07-31 | 2018-10-09 | Amazon Technologies, Inc. | Identifying targets of network attacks |
US10158722B2 (en) | 2015-07-31 | 2018-12-18 | Jeffrey T Eschbach | Method and systems for the scheduled capture of web content from web servers as sets of images |
US10447761B2 (en) | 2015-07-31 | 2019-10-15 | Page Vault Inc. | Method and system for capturing web content from a web server as a set of images |
US9794281B1 (en) | 2015-09-24 | 2017-10-17 | Amazon Technologies, Inc. | Identifying sources of network attacks |
US9742795B1 (en) | 2015-09-24 | 2017-08-22 | Amazon Technologies, Inc. | Mitigating network attacks |
US9774619B1 (en) | 2015-09-24 | 2017-09-26 | Amazon Technologies, Inc. | Mitigating network attacks |
US10248494B2 (en) | 2015-10-29 | 2019-04-02 | Commvault Systems, Inc. | Monitoring, diagnosing, and repairing a management database in a data storage management system |
US10270878B1 (en) | 2015-11-10 | 2019-04-23 | Amazon Technologies, Inc. | Routing for origin-facing points of presence |
US10257307B1 (en) | 2015-12-11 | 2019-04-09 | Amazon Technologies, Inc. | Reserved cache space in content delivery networks |
US10049051B1 (en) | 2015-12-11 | 2018-08-14 | Amazon Technologies, Inc. | Reserved cache space in content delivery networks |
US10387387B2 (en) | 2015-12-17 | 2019-08-20 | Oracle International Corporation | Enabling multi-tenant access to respective isolated data sets organized using different application schemas |
US10289617B2 (en) | 2015-12-17 | 2019-05-14 | Oracle International Corporation | Accessing on-premise and off-premise datastores that are organized using different application schemas |
US10348639B2 (en) | 2015-12-18 | 2019-07-09 | Amazon Technologies, Inc. | Use of virtual endpoints to improve data transmission rates |
US20170177613A1 (en) | 2015-12-22 | 2017-06-22 | Egnyte, Inc. | Event-Based User State Synchronization in a Cloud Storage System |
WO2017107123A1 (en) | 2015-12-24 | 2017-06-29 | Intel Corporation | Universal interface for sensor devices |
US10540165B2 (en) | 2016-02-12 | 2020-01-21 | Nutanix, Inc. | Virtualized file server rolling upgrade |
US11218418B2 (en) | 2016-05-20 | 2022-01-04 | Nutanix, Inc. | Scalable leadership election in a multi-processing computing environment |
US10075551B1 (en) | 2016-06-06 | 2018-09-11 | Amazon Technologies, Inc. | Request management for hierarchical cache |
CN107483520B (zh) * | 2016-06-08 | 2020-10-02 | 阿里巴巴集团控股有限公司 | 一种网络附属存储实例处理的方法和装置 |
US10110694B1 (en) | 2016-06-29 | 2018-10-23 | Amazon Technologies, Inc. | Adaptive transfer rate for retrieving content from a server |
US9992086B1 (en) | 2016-08-23 | 2018-06-05 | Amazon Technologies, Inc. | External health checking of virtual private cloud network environments |
US10033691B1 (en) | 2016-08-24 | 2018-07-24 | Amazon Technologies, Inc. | Adaptive resolution of domain name requests in virtual private cloud network environments |
US10303894B2 (en) | 2016-08-31 | 2019-05-28 | Oracle International Corporation | Fine-grained access control for data manipulation language (DML) operations on relational data |
US10474653B2 (en) | 2016-09-30 | 2019-11-12 | Oracle International Corporation | Flexible in-memory column store placement |
US10469513B2 (en) | 2016-10-05 | 2019-11-05 | Amazon Technologies, Inc. | Encrypted network addresses |
US11568073B2 (en) | 2016-12-02 | 2023-01-31 | Nutanix, Inc. | Handling permissions for virtualized file servers |
US11562034B2 (en) | 2016-12-02 | 2023-01-24 | Nutanix, Inc. | Transparent referrals for distributed file servers |
US11294777B2 (en) | 2016-12-05 | 2022-04-05 | Nutanix, Inc. | Disaster recovery for distributed file servers, including metadata fixers |
US11281484B2 (en) | 2016-12-06 | 2022-03-22 | Nutanix, Inc. | Virtualized server systems and methods including scaling of file system virtual machines |
US11288239B2 (en) | 2016-12-06 | 2022-03-29 | Nutanix, Inc. | Cloning virtualized file servers |
US10372499B1 (en) | 2016-12-27 | 2019-08-06 | Amazon Technologies, Inc. | Efficient region selection system for executing request-driven code |
US10831549B1 (en) | 2016-12-27 | 2020-11-10 | Amazon Technologies, Inc. | Multi-region request-driven code execution system |
US10938884B1 (en) | 2017-01-30 | 2021-03-02 | Amazon Technologies, Inc. | Origin server cloaking using virtual private cloud network environments |
US10503613B1 (en) | 2017-04-21 | 2019-12-10 | Amazon Technologies, Inc. | Efficient serving of resources during server unavailability |
US11075987B1 (en) | 2017-06-12 | 2021-07-27 | Amazon Technologies, Inc. | Load estimating content delivery network |
US10447648B2 (en) | 2017-06-19 | 2019-10-15 | Amazon Technologies, Inc. | Assignment of a POP to a DNS resolver based on volume of communications over a link between client devices and the POP |
US10742593B1 (en) | 2017-09-25 | 2020-08-11 | Amazon Technologies, Inc. | Hybrid content request routing system |
US11176091B2 (en) * | 2017-09-29 | 2021-11-16 | Intel Corporation | Techniques for dynamic multi-storage format database access |
US10831591B2 (en) | 2018-01-11 | 2020-11-10 | Commvault Systems, Inc. | Remedial action based on maintaining process awareness in data storage management |
US10592578B1 (en) | 2018-03-07 | 2020-03-17 | Amazon Technologies, Inc. | Predictive content push-enabled content delivery network |
US11144501B2 (en) * | 2018-03-12 | 2021-10-12 | Microsoft Technology Licensing, Llc | Locating files using a durable and universal file identifier |
US11086826B2 (en) | 2018-04-30 | 2021-08-10 | Nutanix, Inc. | Virtualized server systems and methods including domain joining techniques |
US11770447B2 (en) | 2018-10-31 | 2023-09-26 | Nutanix, Inc. | Managing high-availability file servers |
US10862852B1 (en) | 2018-11-16 | 2020-12-08 | Amazon Technologies, Inc. | Resolution of domain name requests in heterogeneous network environments |
US11025747B1 (en) | 2018-12-12 | 2021-06-01 | Amazon Technologies, Inc. | Content request pattern-based routing system |
US20200192572A1 (en) | 2018-12-14 | 2020-06-18 | Commvault Systems, Inc. | Disk usage growth prediction system |
US10897494B2 (en) | 2019-06-18 | 2021-01-19 | Software Ag | Diversified file transfer |
US11741060B2 (en) * | 2019-11-27 | 2023-08-29 | Veritas Technologies Llc | Methods and systems for scalable deduplication |
US11768809B2 (en) | 2020-05-08 | 2023-09-26 | Nutanix, Inc. | Managing incremental snapshots for fast leader node bring-up |
US11582025B2 (en) | 2020-09-29 | 2023-02-14 | Amazon Technologies, Inc. | Efficient deduplication using block-based convergent encryption |
US11329803B2 (en) | 2020-09-29 | 2022-05-10 | Amazon Technologies, Inc. | Redundancy controls in convergent encryption using dynamic salt values |
CN113542418B (zh) * | 2021-07-16 | 2024-03-26 | 厦门雅基软件有限公司 | 文件管理方法、装置、电子设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04113429A (ja) * | 1990-09-04 | 1992-04-14 | Nec Corp | 分散ファイル管理方式 |
JPH05241934A (ja) * | 1992-02-28 | 1993-09-21 | Toshiba Corp | 計算機システム |
JPH1145203A (ja) * | 1997-07-28 | 1999-02-16 | Matsushita Electric Ind Co Ltd | ファイル管理装置 |
WO1999038093A1 (en) * | 1998-01-23 | 1999-07-29 | Filepool N.V. | Content addressable information encapsulation, representation, and transfer |
Family Cites Families (94)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US626342A (en) * | 1899-06-06 | Byron piielps | ||
US640521A (en) * | 1899-09-09 | 1900-01-02 | Luther B Bailey | Acetylene-gas apparatus. |
EP0464352A3 (en) * | 1990-06-25 | 1994-11-17 | Ibm | Sub-entry point interface architecture for change management in a computer network |
JPH0778776B2 (ja) * | 1991-09-24 | 1995-08-23 | インターナショナル・ビジネス・マシーンズ・コーポレイション | 分散資源部分のアクセス方法及びネットワーク |
JP3037491B2 (ja) * | 1991-12-20 | 2000-04-24 | キヤノン株式会社 | 磁気記録再生装置 |
DE69434311D1 (de) * | 1993-02-01 | 2005-04-28 | Sun Microsystems Inc | Archivierungsdateiensystem für datenanbieter in einer verteilten netzwerkumgebung |
US5506984A (en) * | 1993-06-30 | 1996-04-09 | Digital Equipment Corporation | Method and system for data retrieval in a distributed system using linked location references on a plurality of nodes |
JP3237736B2 (ja) | 1993-09-07 | 2001-12-10 | ヒュンダイ エレクトロニクス アメリカ | データ記憶装置のマトリックス構造 |
US5497422A (en) * | 1993-09-30 | 1996-03-05 | Apple Computer, Inc. | Message protection mechanism and graphical user interface therefor |
US5999711A (en) * | 1994-07-18 | 1999-12-07 | Microsoft Corporation | Method and system for providing certificates holding authentication and authorization information for users/machines |
US5757642A (en) * | 1995-01-20 | 1998-05-26 | Dell Usa L.P. | Multi-function server input/output subsystem and method |
US5978577A (en) * | 1995-03-17 | 1999-11-02 | Csg Systems, Inc. | Method and apparatus for transaction processing in a distributed database system |
US5692155A (en) * | 1995-04-19 | 1997-11-25 | International Business Machines Corporation | Method and apparatus for suspending multiple duplex pairs during back up processing to insure storage devices remain synchronized in a sequence consistent order |
US5948062A (en) * | 1995-10-27 | 1999-09-07 | Emc Corporation | Network file server using a cached disk array storing a network file directory including file locking information and data mover computers each having file system software for shared read-write file access |
US5923846A (en) * | 1995-11-06 | 1999-07-13 | Microsoft Corporation | Method of uploading a message containing a file reference to a server and downloading a file from the server using the file reference |
US5974455A (en) * | 1995-12-13 | 1999-10-26 | Digital Equipment Corporation | System for adding new entry to web page table upon receiving web page including link to another web page not having corresponding entry in web page table |
US5751961A (en) * | 1996-01-31 | 1998-05-12 | Bell Communications Research, Inc. | Integrated internet system for translating logical addresses of internet documents to physical addresses using integrated service control point |
US5870537A (en) * | 1996-03-13 | 1999-02-09 | International Business Machines Corporation | Concurrent switch to shadowed device for storage controller and device errors |
US6304980B1 (en) * | 1996-03-13 | 2001-10-16 | International Business Machines Corporation | Peer-to-peer backup system with failure-triggered device switching honoring reservation of primary device |
US5805699A (en) * | 1996-05-20 | 1998-09-08 | Fujitsu Limited | Software copying system |
US5878248A (en) * | 1996-06-11 | 1999-03-02 | Data General Corporation | Device access controller for virtual video/keyboard/mouse input/output for remote system management and maintenance |
US6108655A (en) * | 1996-07-19 | 2000-08-22 | Cisco Technology, Inc. | Method and apparatus for transmitting images and other objects over a computer network system |
US5991542A (en) * | 1996-09-13 | 1999-11-23 | Apple Computer, Inc. | Storage volume handling system which utilizes disk images |
US5937406A (en) * | 1997-01-31 | 1999-08-10 | Informix Software, Inc. | File system interface to a database |
SE9700622D0 (sv) | 1997-02-21 | 1997-02-21 | Ericsson Telefon Ab L M | Anordning och metod vid datanät |
US5796952A (en) * | 1997-03-21 | 1998-08-18 | Dot Com Development, Inc. | Method and apparatus for tracking client interaction with a network resource and creating client profiles and resource database |
US6073209A (en) * | 1997-03-31 | 2000-06-06 | Ark Research Corporation | Data storage controller providing multiple hosts with access to multiple storage subsystems |
US6108300A (en) * | 1997-05-02 | 2000-08-22 | Cisco Technology, Inc | Method and apparatus for transparently providing a failover network device |
US6351775B1 (en) * | 1997-05-30 | 2002-02-26 | International Business Machines Corporation | Loading balancing across servers in a computer network |
US6101508A (en) * | 1997-08-01 | 2000-08-08 | Hewlett-Packard Company | Clustered file management for network resources |
JPH1185710A (ja) * | 1997-09-16 | 1999-03-30 | Toshiba Corp | サーバ装置およびファイル管理方法 |
CN1281560A (zh) * | 1997-10-08 | 2001-01-24 | 西加特技术有限责任公司 | 混合数据存储和重建系统以及用于数据存储装置的方法 |
US5933834A (en) * | 1997-10-16 | 1999-08-03 | International Business Machines Incorporated | System and method for re-striping a set of objects onto an exploded array of storage units in a computer system |
US6081883A (en) * | 1997-12-05 | 2000-06-27 | Auspex Systems, Incorporated | Processing system with dynamically allocatable buffer memory |
US6141759A (en) * | 1997-12-10 | 2000-10-31 | Bmc Software, Inc. | System and architecture for distributing, monitoring, and managing information requests on a computer network |
US6622247B1 (en) * | 1997-12-19 | 2003-09-16 | Hewlett-Packard Development Company, Lp | Method for certifying the authenticity of digital objects by an authentication authority and for certifying their compliance by a testing authority |
US6148349A (en) * | 1998-02-06 | 2000-11-14 | Ncr Corporation | Dynamic and consistent naming of fabric attached storage by a file system on a compute node storing information mapping API system I/O calls for data objects with a globally unique identification |
US6173374B1 (en) * | 1998-02-11 | 2001-01-09 | Lsi Logic Corporation | System and method for peer-to-peer accelerated I/O shipping between host bus adapters in clustered computer network |
US20010011238A1 (en) | 1998-03-04 | 2001-08-02 | Martin Forest Eberhard | Digital rights management system |
US6170013B1 (en) * | 1998-03-27 | 2001-01-02 | Nortel Networks Limited | Method and apparatus for controlling access to network information sources |
US6128627A (en) * | 1998-04-15 | 2000-10-03 | Inktomi Corporation | Consistent data storage in an object cache |
US6108703A (en) * | 1998-07-14 | 2000-08-22 | Massachusetts Institute Of Technology | Global hosting system |
US6272584B1 (en) * | 1998-09-10 | 2001-08-07 | Compaq Computer Corporation | System board with consolidated EEPROM module |
US6145012A (en) * | 1998-10-14 | 2000-11-07 | Veritas Software Corporation | Apparatus and method for efficiently updating files in computer networks |
US6236999B1 (en) * | 1998-11-05 | 2001-05-22 | Bea Systems, Inc. | Duplicated naming service in a distributed processing system |
US6553376B1 (en) * | 1998-11-18 | 2003-04-22 | Infolibria, Inc. | Efficient content server using request redirection |
US6389462B1 (en) * | 1998-12-16 | 2002-05-14 | Lucent Technologies Inc. | Method and apparatus for transparently directing requests for web objects to proxy caches |
US6256673B1 (en) * | 1998-12-17 | 2001-07-03 | Intel Corp. | Cyclic multicasting or asynchronous broadcasting of computer files |
US6487561B1 (en) * | 1998-12-31 | 2002-11-26 | Emc Corporation | Apparatus and methods for copying, backing up, and restoring data using a backup segment size larger than the storage block size |
US6718347B1 (en) * | 1999-01-05 | 2004-04-06 | Emc Corporation | Method and apparatus for maintaining coherence among copies of a database shared by multiple computers |
US6438125B1 (en) * | 1999-01-22 | 2002-08-20 | Nortel Networks Limited | Method and system for redirecting web page requests on a TCP/IP network |
US6324581B1 (en) * | 1999-03-03 | 2001-11-27 | Emc Corporation | File server system using file system storage, data movers, and an exchange of meta data among data movers for file locking and direct access to shared file systems |
US6393466B1 (en) * | 1999-03-11 | 2002-05-21 | Microsoft Corporation | Extensible storage system |
US6314465B1 (en) * | 1999-03-11 | 2001-11-06 | Lucent Technologies Inc. | Method and apparatus for load sharing on a wide area network |
US6223291B1 (en) * | 1999-03-26 | 2001-04-24 | Motorola, Inc. | Secure wireless electronic-commerce system with digital product certificates and digital license certificates |
US6356929B1 (en) * | 1999-04-07 | 2002-03-12 | International Business Machines Corporation | Computer system and method for sharing a job with other computers on a computer network using IP multicast |
US6654772B1 (en) * | 1999-04-28 | 2003-11-25 | Emc Corporation | Multi-volume extent based file system |
US6895418B1 (en) * | 1999-04-28 | 2005-05-17 | Emc Corporation | Versatile indirection in an extent based file system |
US6219753B1 (en) * | 1999-06-04 | 2001-04-17 | International Business Machines Corporation | Fiber channel topological structure and method including structure and method for raid devices and controllers |
US6285656B1 (en) * | 1999-08-13 | 2001-09-04 | Holontech Corporation | Active-passive flow switch failover technology |
US6553389B1 (en) * | 1999-09-13 | 2003-04-22 | Hewlett-Packard Company | Resource availability determination mechanism for distributed data storage system |
US6578158B1 (en) * | 1999-10-28 | 2003-06-10 | International Business Machines Corporation | Method and apparatus for providing a raid controller having transparent failover and failback |
US6611869B1 (en) * | 1999-10-28 | 2003-08-26 | Networks Associates, Inc. | System and method for providing trustworthy network security concern communication in an active security management environment |
US6405201B1 (en) | 1999-12-02 | 2002-06-11 | Sun Microsystems, Inc. | Method and apparatus for reducing network traffic for remote file append operations |
US20020010757A1 (en) * | 1999-12-03 | 2002-01-24 | Joel Granik | Method and apparatus for replacement of on-line advertisements |
US6460055B1 (en) * | 1999-12-16 | 2002-10-01 | Livevault Corporation | Systems and methods for backing up data files |
US6313855B1 (en) * | 2000-02-04 | 2001-11-06 | Browse3D Corporation | System and method for web browsing |
US7281168B1 (en) * | 2000-03-03 | 2007-10-09 | Intel Corporation | Failover architecture for local devices that access remote storage |
US6952737B1 (en) * | 2000-03-03 | 2005-10-04 | Intel Corporation | Method and apparatus for accessing remote storage in a distributed storage cluster architecture |
US7506034B2 (en) | 2000-03-03 | 2009-03-17 | Intel Corporation | Methods and apparatus for off loading content servers through direct file transfer from a storage center to an end-user |
US7428540B1 (en) * | 2000-03-03 | 2008-09-23 | Intel Corporation | Network storage system |
US7203731B1 (en) * | 2000-03-03 | 2007-04-10 | Intel Corporation | Dynamic replication of files in a network storage system |
US7266555B1 (en) * | 2000-03-03 | 2007-09-04 | Intel Corporation | Methods and apparatus for accessing remote storage through use of a local device |
US6654722B1 (en) * | 2000-06-19 | 2003-11-25 | International Business Machines Corporation | Voice over IP protocol based speech system |
US6912548B1 (en) * | 2000-06-27 | 2005-06-28 | Emc Corporation | Logical volume identifier database for logical volumes in a computer storage system |
DE10033781C1 (de) * | 2000-07-12 | 2001-12-06 | Lechler Gmbh & Co Kg | Doppeldrallsprühdüse |
US6782389B1 (en) * | 2000-09-12 | 2004-08-24 | Ibrix, Inc. | Distributing files across multiple, permissibly heterogeneous, storage devices |
US6598051B1 (en) * | 2000-09-19 | 2003-07-22 | Altavista Company | Web page connectivity server |
US6574641B1 (en) * | 2000-09-29 | 2003-06-03 | International Business Machines Corporation | Management of physical media volumes in partitions of an automated data storage library |
US6507883B1 (en) * | 2000-10-23 | 2003-01-14 | International Business Machines Corporation | Recalling logical volumes to cache from physical media volumes for redundant storage in automated data storage libraries |
ATE381191T1 (de) * | 2000-10-26 | 2007-12-15 | Prismedia Networks Inc | Verfahren und system zur verwaltung von verteilten inhalten und entsprechenden metadaten |
US6931450B2 (en) * | 2000-12-18 | 2005-08-16 | Sun Microsystems, Inc. | Direct access from client to storage device |
US7730213B2 (en) * | 2000-12-18 | 2010-06-01 | Oracle America, Inc. | Object-based storage device with improved reliability and fast crash recovery |
US7165096B2 (en) * | 2000-12-22 | 2007-01-16 | Data Plow, Inc. | Storage area network file system |
US7266556B1 (en) * | 2000-12-29 | 2007-09-04 | Intel Corporation | Failover architecture for a distributed storage system |
US20020133539A1 (en) * | 2001-03-14 | 2002-09-19 | Imation Corp. | Dynamic logical storage volumes |
US20030154271A1 (en) * | 2001-10-05 | 2003-08-14 | Baldwin Duane Mark | Storage area network methods and apparatus with centralized management |
US6948062B1 (en) * | 2001-12-12 | 2005-09-20 | Intel Corporation | Location dependent encryption and/or decryption |
US7007047B2 (en) * | 2002-03-29 | 2006-02-28 | Panasas, Inc. | Internally consistent file system image in distributed object-based data storage |
US7194538B1 (en) * | 2002-06-04 | 2007-03-20 | Veritas Operating Corporation | Storage area network (SAN) management system for discovering SAN components using a SAN management server |
US7107385B2 (en) * | 2002-08-09 | 2006-09-12 | Network Appliance, Inc. | Storage virtualization by layering virtual disk objects on a file system |
US7774466B2 (en) * | 2002-10-17 | 2010-08-10 | Intel Corporation | Methods and apparatus for load balancing storage nodes in a distributed storage area network system |
US7225247B2 (en) * | 2002-10-17 | 2007-05-29 | Intel Corporation | Serial port redirection using a management controller |
US7698307B2 (en) * | 2004-05-01 | 2010-04-13 | Microsoft Corporation | System and method for synchronizing between a file system and presence of contacts on a network |
-
2000
- 2000-12-29 US US09/753,141 patent/US7506034B2/en not_active Expired - Fee Related
-
2001
- 2001-03-02 AU AU2001241921A patent/AU2001241921A1/en not_active Abandoned
- 2001-03-02 EP EP01913242A patent/EP1410247B1/en not_active Expired - Lifetime
- 2001-03-02 WO PCT/US2001/006707 patent/WO2001067707A2/en active Application Filing
- 2001-03-02 JP JP2001565610A patent/JP2004500660A/ja active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04113429A (ja) * | 1990-09-04 | 1992-04-14 | Nec Corp | 分散ファイル管理方式 |
JPH05241934A (ja) * | 1992-02-28 | 1993-09-21 | Toshiba Corp | 計算機システム |
JPH1145203A (ja) * | 1997-07-28 | 1999-02-16 | Matsushita Electric Ind Co Ltd | ファイル管理装置 |
WO1999038093A1 (en) * | 1998-01-23 | 1999-07-29 | Filepool N.V. | Content addressable information encapsulation, representation, and transfer |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009129164A (ja) * | 2007-11-22 | 2009-06-11 | Nec Corp | 分散ストレージでのファイル配置およびアクセス方法、その装置及びそのプログラム |
US10474631B2 (en) | 2009-06-26 | 2019-11-12 | Hewlett Packard Enterprise Company | Method and apparatus for content derived data placement in memory |
US8914905B2 (en) | 2009-11-09 | 2014-12-16 | Nec Corporation | Access control system, communication terminal, server, and access control method |
JP5644770B2 (ja) * | 2009-11-09 | 2014-12-24 | 日本電気株式会社 | アクセス制御システム、サーバ、およびアクセス制御方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2001067707A2 (en) | 2001-09-13 |
US20010047400A1 (en) | 2001-11-29 |
EP1410247A2 (en) | 2004-04-21 |
US7506034B2 (en) | 2009-03-17 |
AU2001241921A1 (en) | 2001-09-17 |
EP1410247B1 (en) | 2008-06-25 |
WO2001067707A3 (en) | 2004-02-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7203731B1 (en) | Dynamic replication of files in a network storage system | |
US7590747B2 (en) | Distributed storage cluster architecture | |
US7506034B2 (en) | Methods and apparatus for off loading content servers through direct file transfer from a storage center to an end-user | |
US7428540B1 (en) | Network storage system | |
US7266556B1 (en) | Failover architecture for a distributed storage system | |
US7266555B1 (en) | Methods and apparatus for accessing remote storage through use of a local device | |
JP2004500660A5 (ja) | ||
US7281168B1 (en) | Failover architecture for local devices that access remote storage | |
US11194719B2 (en) | Cache optimization | |
US9009270B2 (en) | Scalable, high performance and highly available distributed storage system for internet content | |
CA2410861C (en) | System for network addressing | |
US8914429B2 (en) | Method for creating global distributed namespace | |
JP2002501254A (ja) | ネットワークを介したコンテンツをアドレス可能なデータに対するアクセス | |
EP1181652B1 (en) | Extended file system | |
Alimi et al. | A survey of in-network storage systems | |
Yang | Internet Engineering Task Force (IETF) R. Alimi, Ed. Request for Comments: 6392 Google Category: Informational A. Rahman, Ed. |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20040419 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20040420 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080229 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080404 |
|
A524 | Written submission of copy of amendment under article 19 pct |
Free format text: JAPANESE INTERMEDIATE CODE: A524 Effective date: 20080404 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110223 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20110518 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20110525 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20110621 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20110628 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110720 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20120328 |