JP4464279B2 - 分散ファイルシステムにおけるファイルの再ストライピングのためのシステム及び方法 - Google Patents
分散ファイルシステムにおけるファイルの再ストライピングのためのシステム及び方法 Download PDFInfo
- Publication number
- JP4464279B2 JP4464279B2 JP2004553816A JP2004553816A JP4464279B2 JP 4464279 B2 JP4464279 B2 JP 4464279B2 JP 2004553816 A JP2004553816 A JP 2004553816A JP 2004553816 A JP2004553816 A JP 2004553816A JP 4464279 B2 JP4464279 B2 JP 4464279B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- file
- block
- storage unit
- stored
- 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.)
- Expired - Lifetime
Links
- 238000000034 method Methods 0.000 title description 192
- 238000012937 correction Methods 0.000 claims description 31
- 230000008859 change Effects 0.000 claims description 6
- 230000008569 process Effects 0.000 description 146
- 238000011084 recovery Methods 0.000 description 28
- 238000012545 processing Methods 0.000 description 24
- 230000008901 benefit Effects 0.000 description 19
- 238000007726 management method Methods 0.000 description 14
- 230000008439 repair process Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 7
- 230000004044 response Effects 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 229910052760 oxygen Inorganic materials 0.000 description 5
- 238000013519 translation Methods 0.000 description 5
- XEEYBQQBJWHFJM-UHFFFAOYSA-N Iron Chemical compound [Fe] XEEYBQQBJWHFJM-UHFFFAOYSA-N 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 4
- 230000010076 replication Effects 0.000 description 4
- 229910052717 sulfur Inorganic materials 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 230000001174 ascending effect Effects 0.000 description 3
- 230000009977 dual effect Effects 0.000 description 3
- 238000012423 maintenance Methods 0.000 description 3
- 239000008186 active pharmaceutical agent Substances 0.000 description 2
- 238000003491 array Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 229910052799 carbon Inorganic materials 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000013467 fragmentation Methods 0.000 description 2
- 238000006062 fragmentation reaction Methods 0.000 description 2
- 229910052742 iron Inorganic materials 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 229910052757 nitrogen Inorganic materials 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 239000003054 catalyst Substances 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 238000013479 data entry Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000002360 explosive Substances 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000003116 impacting effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000011056 performance test Methods 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 229910052698 phosphorus Inorganic materials 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000006798 recombination Effects 0.000 description 1
- 238000005215 recombination Methods 0.000 description 1
- YUQQBSIRWGYFQK-UHFFFAOYSA-N sodium;2,7-diacetamido-9h-fluorene-3-sulfonic acid Chemical compound [Na+].CC(=O)NC1=C(S(O)(=O)=O)C=C2C3=CC=C(NC(=O)C)C=C3CC2=C1 YUQQBSIRWGYFQK-UHFFFAOYSA-N 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1076—Parity data used in redundant arrays of independent storages, e.g. in RAID systems
- G06F11/1096—Parity calculation or recalculation after configuration or reconfiguration of the system
-
- 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/182—Distributed file systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/231—Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
- H04N21/2312—Data placement on disk arrays
- H04N21/2318—Data placement on disk arrays using striping
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/61—Network physical structure; Signal processing
- H04N21/6106—Network physical structure; Signal processing specially adapted to the downstream path of the transmission network
- H04N21/6125—Network physical structure; Signal processing specially adapted to the downstream path of the transmission network involving transmission via Internet
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2211/00—Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
- G06F2211/10—Indexing scheme relating to G06F11/10
- G06F2211/1002—Indexing scheme relating to G06F11/1076
- G06F2211/1028—Distributed, i.e. distributed RAID systems with parity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2211/00—Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
- G06F2211/10—Indexing scheme relating to G06F11/10
- G06F2211/1002—Indexing scheme relating to G06F11/1076
- G06F2211/104—Metadata, i.e. metadata associated with RAID systems with parity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
- G06F3/0607—Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Quality & Reliability (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
本発明のシステム及び方法は、インテリジェント分散ファイルシステムを提供し、このインテリジェント分散ファイルシステムは、単一のファイルシステムとしてアクセスされるスマート記憶ユニットのセット間でのデータの格納を可能にする。本インテリジェント分散ファイルシステムは、各ファイルについての詳細なメタデータを追跡し且つ管理する。メタデータは、例えば、装置およびブロックロケーション情報の双方を含むファイルのデータブロックのロケーション、メタデータ及び/又はデータブロック(もしあれば)の冗長なコピーのロケーション、エラー訂正情報、アクセス情報、ファイルのネーム、ファイルのサイズ、ファイルのタイプ、ファイルのデータ及びプロテクション情報が格納されるスマート記憶ユニット、等々のようなファイルに関し及び/又は記述する任意のデータを含んでもよい。加えて、インテリジェント分散ファイルシステムは、本ファイルシステムによって管理されるところの異なるファイル及び/又はデータブロックについて、異なるレベルの複製及び/又は冗長を可能にし、システムがアクティブ中に冗長パラメータの変更を容易化し、システムがアクティブ中に欠損データの回復を容易化し、そしてメタデータ及びデータの実時間の複製及び移動を可能にする。更に、各スマート記憶ユニットは、スマート記憶ユニットからのファイルのデータを配置(locating)及び収集(collecting)することによりファイル要求に応答してもよい。
説明のため、インテリジェント分散ファイルシステムが動作において使用されるところのシナリオ例が述べられるであろう。このシナリオ例においては、インテリジェント分散ファイルシステムは、インターネットウェブサイトを介した映画のダウンロードを提供する会社によって使用される。この会社は、ウェブサイトを介して顧客によってアクセスされる映画の予告編、広告、および顧客情報のみならず、ダウンロード可能な映画のコピーを格納し且つ管理するためにインテリジェント分散ファイルシステムを使用してもよい。このデータは、種々のレベルのプロテクションを用いて格納されてもよく、且つ高速アクセスのために複数のスマート記憶ユニットにわたって格納されてもよい。
図1は、ネットワークサーバ120と通信してリモートファイルアクセスを提供するインテリジェント分散ファイルシステムの一実施形態を示す。このインテリジェント分散ファイルシステム110は、例えばNFSまたはCIFSのような種々のプロトコルを用いてネットワークサーバ120と通信してもよい。ユーザ130は、インターネット145のような通信媒体140を介してネットワークサーバ120と情報のやりとりを行って、インテリジェント分散ファイルシステム110によって管理されるファイルを要求する。代表的なインテリジェント分散ファイルシステム110は、スマート記憶ユニット114のセットおよびネットワークサーバ120と通信するスイッチコンポーネント125を使用する。このインテリジェント分散ファイルシステム110は、個々のファイルのブロックが複数のスマート記憶ユニット114にわたって分散されることを可能にする。このデータへのアクセスが、このデータが単一の装置上に格納された場合よりも高いスループットを提供するように、このデータが格納される。加えて、インテリジェント分散ファイルシステム110は、種々のプロテクションスキームを用いて格納された種々のデータファイルを格納するために使用されてもよい。
テーブルIは、ファイルシステムレイヤのセット例の一実施形態を示し、そのファイルシステムレイヤを通して、物理的記憶装置をアクセスするためにファイル要求が処理される。この代表的ファイルシステムレイヤは、ユーザレイヤ(User Layer)、仮想ファイルレイヤ(Virtual File System Layer)、ローカルファイルシステムレイヤ(Local File System Layer)、ローカルファイルストアレイヤ(Local File Store Layer)、および記憶装置レイヤ(Storage Device Layer)である。
一実施形態において、スマート記憶ユニット114は、プラグアンドプレイ(plug-and-play)の、高密度で、ラックマウント可能な装置であり、それは高スループットデータ配信に最適化されている。このスマート記憶ユニットは、単一の仮想ファイルシステムを提供するために、種々の他のスマート記憶ユニットと通信するように構成されてもよい。より多くの記憶スペースが必要とされるので、または、もし1または2以上のスマート記憶ユニットが故障すれば、追加のスマート記憶ユニットがシステム全体をダウンさせ又はサービスの中断を生じる必要なくインストールされてもよい。
一実施形態において、スマート記憶ユニットは、例えば、インストール(installation)、パラメータ設定、インテリジェント分散ファイルシステムのモニタ、インテリジェント分散ファイルシステム110で発生するイベントのロギング(logging)、更新などの管理タスクを実行するためのマネージメントモジュール320を備える。
代表的な処理モジュール330は、データファイルについての要求を受信し、要求されたデータファイルについてのローカル及び/又はリモートに格納されたメタデータを読み出し、そしてこの要求されたデータファイルのローカル及び/又はリモートに格納されたデータブロックを読み出すように構成されてもよい。加えて、処理モジュール330は、また、1または2以上の要求されたデータブロックが崩壊または失われたイベントにおいてエラー訂正およびデータ回復を実施してもよい。
ブロック割り当てマネージャモジュール331は、リード要求に応答して、ブロックをどこに割り当て、このブロックをどこに配置するかを決定し、そして装置に故障回復を指示する。ブロックをどこに割り当てるかについての情報は、グラフィカルユーザインターフェイス又はシェルインターフェイス、またはこれらの組み合わせのようなツールを介してシステム管理者によって設定されたポリシー、デフォルトパラメータとして設定されたポリシーによって決定されてもよい。一実施形態において、ブロック割り当てマネージャモジュール331は、少なくともローカルファイルシステムレイヤに存在し、そしてバークレイソフトウェアデザインユニバーサルファイルシステム(“BSD UFS”)に代えて、及び/又はTCP/IPおよびイーサネット(登録商標)のような標準ネットワーキングソフトウェアレイヤと共に動作する。
ブロック要求変換モジュールは、到来するリード要求を受信し、ネームルックアップを実施し、適切な装置を探し、そしてこの装置からデータを引き出して要求を満足させる。もしこのデータが直ちに利用可能であれば、ブロック要求変換モジュールは、データのブロックがローカル記憶装置に格納されているか又は他のスマート記憶ユニットの記憶装置に格納されているかによって、データ要求をローカルブロックマネージャモジュールまたはリモートブロックマネージャモジュールに送信する。
フォワード割り当てモジュールは、例えば冗長性、スペース、および性能のような要素に基づき、どの装置のブロックがライト要求に使用されるべきかを決定する。これらのパラメータは、システム管理者によって設定されてもよく、インテリジェント分散ファイルシステム110に組み込まれた情報から導き出されてもよく、インテリジェント分散ファイルシステム110にロジックとして組み込まれてもよく、これらの組み合わせによってもよい。フォワード割り当てモジュール110は、インテリジェント分散ファイルシステムを使用する他のスマート記憶ユニットから統計データ(statistics)を受信し、そしてこれらの統計データを使用して、新たに到来するデータを配置すべき最良のロケーションはどこなのかを決定する。集められたこの統計データは、例えば、CPU稼働率、ネットワーク稼働率、およびディスク稼働率を含む。
故障回復モジュールは、実時間でインテリジェント分散ファイルシステム110を再構成し、装置故障のためにもはや利用できないデータを回復する。故障回復モジュールは、性能を維持しながらサービスを中断することなく再構成を実施してもよく、そしてそのデータを短時間で所望の冗長レベルに戻してもよい。
ブロックキャッシュモジュール333は、データブロックのキャッシング(caching)、ネームルックアップ、およびメタデータ構造を管理する。一実施形態において、ブロックキャッシュモジュール333は、BSD仮想ファイルシステム(BSD Virtual File System)のバッファキャッシュの代わりに、またはBSD仮想ファイルシステムのバッファキャッシュと共に動作する。
ローカルブロックマネージャモジュール335は、記憶装置360にローカルに格納されたデータブロックの読み出し(retrieval)、記憶(storage)、割り当て(allocation)を管理する。ローカルブロックマネージャモジュール335は、ディスクから、例えばネットワークカードのような記憶装置360の他の部分にデータを移動させるためにゼロコピーファイル読み出し(zero copy file read)を実施し、これにより性能を改善してもよい。ローカルブロックマネージャモジュール335は、また、性能を向上させるために、使用されている記憶装置360に基づく修正を実施してもよい。一実施形態において、ローカルブロックマネージャモジュール335は、ローカルファイル格納レイヤ(Local File Store layer)に存在してもよく、FreeBSD高速ファイルシステム(FreeBSD Fast File System)の代わりに又はFreeBSD高速ファイルシステムと共に稼動してもよい。
リモートブロックマネージャモジュール337は、例えば、ブロック要求、ブロック応答、およびリモート装置故障の検出を含む中間装置通信を管理する。一実施形態において、リモートブロックマネージャモジュール337は、ローカルファイルシステムレイヤ(Local File System layer)に存在する。
ブロック装置モジュール339は、ファイルシステムによって使用される特定の一部のディスクハードウェアのための装置ドライバをホスト(host)する。例えば、もし物理的記憶装置がATAディスクであれば、ブロック装置モジュール339はATAディスクドライバをホストする。
キャッシュメモリ又はキャッシュ340は、例えば、1GRAMキャッシュのような本技術分野において公知の種々の製品を用いて実施されてもよい。図3に示されるキャッシュ340は、最近アクセスされたデータのブロック、または一定時間内にアクセスされるべきデータのブロックを格納してもよい。キャッシュ340は、スタティックRAM装置、ダイナミックRAM装置、内部キャッシュ、ディスクキャッシュ、同様の種々の他のタイプの装置のような高速記憶装置を用いて実施されてもよい。通常、データは、不揮発性記憶装置をアクセスするために要する時間よりも速くキャッシュ340からアクセスされる。もしスマート記憶ユニット114が記憶装置360からデータをアクセスする必要があれば、そのデータが既に読み出されたかを調べるためにキャッシュ340が最初にチェックされるようにキャッシュ340がデータを格納する。従って、キャッシュ340の使用は、データブロックの読み出しにおいてスマート記憶ユニットの性能を改善する。
一実施形態において、また、スマート記憶ユニット310は、例えばTCP/IPのようなプロトコルを用いて、入ってくるメッセージトラヒックと、出て行くメッセージトラヒックとを処理するネットワークスタック350を備える。しかしながら、スタック350を実施するためには他のプロトコルまたはデータ構造が使用されてもよいことが理解される。
記憶装置360は、1又は2以上の不揮発性メモリ装置のセットであり、それはデータブロックを格納するために使用されてもよい。記憶装置360は、例えば、41.25GB ATA100装置、SCSI装置等のような公知の種々の製品を用いて実施されてもよい。加えて、記憶装置360のサイズは、インテリジェント分散ファイルシステム110における全てのスマート記憶ユニット114について同一であってもよく、或いはそれは異なるスマート記憶ユニット114についてサイズを変えてもよい。
一実施形態において、スマート記憶ユニット114は、スマート記憶ユニット114が他のスマート記憶ユニット114と通信することを可能とするコンピュータ上で稼動する。このコンピュータは、例えば、ペンティアム(登録商標)プロセッサ、ペンティアム(登録商標)IIプロセッサ、ペンティアム(登録商標)Proプロセッサ、ペンティアム(登録商標)IVプロセッサ、xx86プロセッサ、8051プロセッサ、MIPSプロセッサ、パワーPC(登録商標)プロセッサ、SPARC(登録商標)プロセッサ、アルファプロセッサ等のような1又は2以上マイクロプロセッサを用いた汎用のコンピュータであってもよい。
図4は、インテリジェント分散ファイルシステムで使用されるディレクトリ構造例を示す。この例において、ルートディレクトリは、“DFSR”と名づけられ、そしてサブディレクトリIMPORTANT、TEMP、USERを備える。サブディレクトリIMPORTANTは、サブディレクトリPASSWORDSおよびCREDITCARDを備える。ファイルUSER.TXTおよびADMIN.TXTは、サブディレクトリPASSWORDSに格納される。従ってファイルUSER.TXTについてのアドレスは、
/DFSR/IMPORTANT/PASSWORDS/USER.TXT
である。ディレクトリおよびファイルについての情報またはメタデータは、インテリジェント分散ファイルシステム110により格納され且つ保持される。
図5は、メタデータを格納するためのデータ構造例を示す。代表的なデータ構造510は、次の情報を格納する。
図7Aは、ディレクトリPASSWORDSについてのメタデータのセット例を示す。図7Aにおいて、データ構造はディレクトリPASSWORDSについての情報を格納する。ディレクトリは2回ミラーされる(合計3つのコピー)。ディレクトリ構造は比較的小さいので(例えばブロックに収まる)、使用される3つの直接ポインタのみが存在し、ひとつは各コピーのためのものである。メタデータのセット例は、使用されないブロックエントリ730のセットと同様に装置/ブロック番号対を用いてデータブロックのロケーションを示す直接エントリ720を有するデータロケーションテーブル710を備える。
図7Bは、ファイルUSER.TXTについてのメタデータのセット例を示す。図7Bにおいて、データ構造は、ファイルUSER.TXTについての情報を格納する。ファイルデータUSER.TXTについてデータブロックのそれぞれの一つのコピーが存在し、そしてそのデータは3+1パリティスキームを用いて保護される。USER.TXTについてのコンテンツデータは、サイズが45Kであり、ブロックサイズが8Kであり、従って6番目のデータブロックが全く使用されない6つのデータブロックが存在する。データロケーションテーブル710は、6つのデータブロックのそれぞれが格納されるロケーションを示し、ここでデータブロックは、装置番号とブロック番号とによって参照され、最初のエントリが最初のデータブロックに対応する。さらに、コンテンツデータのためのパリティ情報のロケーションはパリティマップ740に格納され、そのパリティマップのロケーションは、“パリティマップポインタ”としてのデータ構造の最後のロケーションによって指定される。ファイルUSER.TXTは、3+1パリティスキームを用いて格納され、従って3つのデータブロックに対しパリティデータのブロックが格納される。この3+1パリティスキームには6つのブロックが存在するので、パリティデータの2つのブロックが存在する(6を3で割って、最も近い整数に丸める)。パリティマップは、両方のパリティデータのブロックが格納されたロケーションを示し、ここでパリティデータのブロックは、装置番号とブロック番号とによって参照され、最初のエントリがパリティデータの最初のブロックに対応する。
インテリジェント分散ファイルシステム110は、どのようにファイルが格納されるかについての柔軟性のみならず、多種多様なファイルのための格納を提供する。ファイルデータのミラーリングおよび冗長は、インテリジェント分散ファイルシステムが、異なるファイルについての変化する冗長パラメータを支援することを可能とするファイルシステムレベルで実施される。例えば、いくつかのディレクトリはミラーされ、パリティが保護され、または全く保護されない。
エントリ 装置 ブロック
1 7 127
であり、これは、データのブロック1がブロック127の装置番号7上に格納されていることを示す。
図9は、データロケーションテーブル910およびパリティマップ920の例と、そのデータが格納される対応装置を示す。図9の例は、装置上の変化するロケーションにデータがどのように格納されるかを示し、データの“ストライプ(stripe)”が各装置上の異なるオフセットアドレスにわたって格納され、そしてパリティデータが、同一ファイルからのデータについてさえ種々の装置に格納されてもよいことを示す。他の実施形態においては、データは各装置上の同一オフセットアドレスに格納されてもよい。
ディスク番号=(ディスクごとのブロックの番号/ロケーション)のフロア
ディスク上のブロック=ロケーションMODディスクごとのブロックの番号
A.データの読み取り
図10は、データの読み取り(“データ読み取り処理”)のためのフローチャートの一実施形態を示す。例えばディレクトリメタデータ、ファイルメタデータ、コンテンツデータなどのような種々のデータタイプが読み取られる。
図11は、ネームルックアップのための処理(“ネームルックアップ処理”)の一実施形態を示す。スタートステートから始めると、ネームルックアップ処理は、ファイルネームを受信し(ステート1110)、ルートディレクトリのメタデータを読み出し、そしてルートメタデータのロケーションをCURRENTとして設定する(ステート1120)。一実施形態において、ルートディレクトリのデータは、図5のデータ構造のようなデータ構造に格納されてもよいが、種々のデータ構造が、ルートディレクトリのメタデータを格納するために使用されてもよいことが理解される。さらにまた、いくつかの実施形態において、ルートディレクトリのメタデータは、各スマート記憶ユニット114がルートディレクトリのメタデータのコピーと同一または類似のコピーを備えるように各スマート記憶ユニット114で格納されてもよい。他の実施形態において、ルートディレクトリのメタデータは、インテリジェント分散ファイルシステム110における他のロケーションに格納され、またはファイル要求と共にスマート記憶ユニット114に送信されてもよい。例えば、ミューテックス(mutexes)及び/又はセマフォ(semaphores)などによってロックするような、複数のデータのコピーの完全性を確保するための公知技術が使用されてもよい。
図12は、ファイル要求のための処理(“ファイル要求処理”)のフローチャートの一実施形態を示す。スタートステートから始めると、ファイル要求処理は、ファイルを読み出すための要求を受信する(ステート1210)。一実施形態において、ファイルは、ロケーションおよびファイルネームを備えるファイルの完全なパスネームを用いて指定される。他の実施形態において、パスは、相対パスであってもよく、及び/又は、ファイルのアドレスについての情報が格納されるテーブルのような他のデータ構造であってもよい。次に、ファイル要求処理は、図11に示されるようなネームルックアップ処理を実施して、ファイルのメタデータのデータ構造のロケーションを決定する。
図13は、パリティ情報の生成(“パリティ生成処理”)のためのフローチャートの一実施形態を示す。スタートステートから始めると、パリティ生成処理は、データのセットに関連するパリティスキーム情報を受信する(ステート1310)。データのセットは、ファイルデータ、ファイルメタデータ、ディレクトリメタデータ、ファイルデータのサブセットなどを表してもよい。パリティ生成処理は、データのセットに関連するデータロケーション情報を読み出す(ステート1320)。次に、各パリティのセットに対し(ステート1330,1370)、パリティ生成処理はデータのセットを読み出す(ステート1340)。例えば、もし、パリティが3+1であれば、パリティ生成処理は、図10に示されるようなデータ読み出し処理を用いて最初の3つのデータブロックを読み出す。次に、パリティ生成処理は、ビット単位、バイト単位、またはブロック単位ベースでデータのXOR演算を実施するようにして、データのセットについてのパリティデータを生成する(ステート1350)。それから、パリティ生成処理は、データをバッファに格納し、そしてデータのセットについてのパリティ情報が生成されるまでブロック1330に戻る。パリティ情報が生成された後に、パリティ生成処理は、そのパリティデータを格納すべき場所を決定する(ステート1380)。パリティ生成処理は、輪番方式のパリティスキーム(rotating parity scheme)を使用してもよい。ここで、ファイルデータの各連続したストライプについての各パリティブロックは輪番で次の装置上に格納される。パリティ生成処理は、パリティ情報がデータ情報と同時に失われることのない装置故障のイベントにおいて確保すべき現在のストライプのためのデータを保持しているどの装置とも異なる装置にパリティブロックを割り当てる。また、パリティ生成処理は、パリティ記憶のために考慮されることからいくつかの装置をふるい落とすために、記憶容量、CPU稼働率、およびネットワーク稼働率のような他の要素を考慮に入れてもよい。そして、パリティ生成処理は、バッファされたデータを割り当てられたスペースに格納し(ステート1390)、パリティマップにパリティデータのロケーションを記録し(ステート1395)、そしてエンドステートに戻る。
図14は、欠損または崩壊したデータを回復するための処理(“データ回復処理”)の一実施形態を示す。スタートステートから始めると、データ回復処理は、使用されたパリティスキームに関する情報を受信する(ステート1410)。そして、データ回復処理は、故障または崩壊したディスクまたはデータについての情報を受信する(ステート1420)。次に、データ回復処理は、欠損または崩壊したデータが割り当てられたパリティブロックグループについてのアドレス情報を受信する(ステート1430)。そして、データ回復処理は、利用可能なスマート記憶ユニットからデータブロックを受信する(ステート1440)。データは、図10のもののようなデータ読み取り処理を用いて読み取られてもよい。データ回復処理は、パリティスキームに従ってブロックのXORをとることのような誤り訂正を実施し(ステート1450)、そしてその結果をバッファに格納する(ステート1460)。バッファのデータは欠損したデータ(missing data)を表す。そして、データ回復処理は、バッファにあるデータを戻し(ステート1470)、そしてエンドステートに進む。
いくつかの実施形態において、インテリジェント分散ファイルシステムは、スマート記憶ユニット間に分散されたファイルを再ストライピングするためのシステム及び方法を備える。既に分散されてインテリジェント分散ファイルシステムに格納されたファイルは、ファイルに対するユーザのアクセスを中断することなく且つシステムをオフラインにすることなく、再分散されてシステムに再格納されてもよい。加えて、データは、最小限のデータ移動でスマート記憶ユニット間に再ストライピングされてもよく、再ストライピング処理中にシステム故障が発生したとしても、通常は保護され且つ回復可能である。
図15は、インテリジェント分散ファイルシステム内のデータの再ストライピング(“再ストライピング処理”)のための方法の一実施形態を示す。ファイルは、ファイルの所望のプロテクションスキームに基づき決定されるプロテクショングループのセットとして論理的に表される。例えば、もし、ファイルの所望のプロテクションスキームが3+1パリティであれば、ファイルは、4つのクラスタまたはブロック、即ち3つのコンテンツブロックと1つのパリティブロックを有するプロテクショングループに分割される。もし、ファイルの所望のプロテクションスキームが、3xミラーされたプロテクションスキームであれば、ファイルは、3つのクラスタ、即ち3つの同一のコンテンツデータブロックを有するプロテクショングループに分割される。
一実施形態において、割り当てられたスマート記憶ユニットがデータを格納するための要求を受信したとき、割り当てられた各スマート記憶ユニットは、データが記憶装置上のどこに格納されるかを決定する。一実施形態において、割り当てられたスマート記憶ユニットは、新しいデータを受信したときにスマート記憶ユニットがファイルの関連データの最後のブロックアドレスを用いてその新しいデータを最初の利用可能なロケーションに格納するように、関連データを隣接させて格納することを試みる。しかしながら、種々の記憶のプリフェレンスが使用されてもよく、且つ各スマート記憶ユニットが異なるセットの記憶のプリフェレンスを使用してもよいことが理解される。他の実施形態において、インテリジェント分散ファイルシステムにおけるスマート記憶ユニットの全ては、同一の記憶プリフェレンスを使用してもよい。一旦、新しいデータが格納されると、スマート記憶ユニットは、新しいデータのアドレスロケーションを戻す。しかしながら、他の実施形態において、割り当てられたスマート記憶ユニットは、データの新しいアドレスを用いてメタデータのデータ構造を直接的に更新してもよい。
図16はデータブロックおよびプロテクションブロックを利用可能なスマート記憶ユニットに割り当てるための方法(“割り当て処理”)の一実施形態を示す。割り当て処理は、再ストライピング中にブロックがどこに割り当てられるべきかを決定する。代表的な実施形態において、割り当ては、単一のプロテクショングループにおいて実施される。従って、割り当ては、データのストライプのために実施され、ここでストライプはデータブロックおよび任意の関連プロテクションデータを含む(例えば、パリティデータ、ミラーされたデータのコピー)。割り当て処理は、最も起こり得ないブロック再配置(relocation)を含むレイアウトを構築してもよく、また一方では、ブロックについて最適なロケーションを決定し、そして任意の指定されたレイアウト目標を満足する。
図17は、単一プロテクショングループのクラスタを格納するスマート記憶ユニットを選択するための方法(“選択処理”)の一実施形態を示す。代表的な実施形態において、選択処理は、装置をファイルのプロテクショングループに割り当てるために使用される。上述のように、プロテクションスキームの制約は、プロテクショングループにおけるブロックが異なるスマート記憶ユニット上にそれぞれ格納されることを要求する。従って、ミラーされたファイル、ブロックの各コピーは異なるスマート記憶ユニット上に格納されるべきであり、且つパリティ保護されたファイルについては、コンテンツデータの各ブロック及びその関連パリティデータは異なるスマート記憶ユニット上に格納されるべきである。代表的な選択処理は、スマート記憶ユニットを単一のプロテクショングループに割り当てるために使用されるが、他の実施形態において、選択処理は、スマート記憶ユニットを、より小さな及び/又はより大きなデータのセットに割り当てるために使用されてもよい。例えば、選択処理は、ブロック上、プロテクショングループのセット上等で、単一ブロックと連動してもよい。
ここでは装置として参照されるスマート記憶ユニットのセット全体、インテリジェント分散ファイルシステムにおいて利用可能な装置は、Tとして表現される。動作している装置のセットは、インテリジェント分散ファイルシステムにおいて稼動している装置の全てのセットであり、Gとして表現される。Gは、或るタイプの故障(例えば、システム故障、ネットワーク故障、記憶装置故障など)により“ダウン”していたインテリジェント分散ファイルシステムにおける装置を除く。加えて、Wは、ファイルのコンテンツデータ及びプロテクションデータが現在格納されている装置のセット(即ち、ファイルによって占められている装置)を表現する。もし、ファイルがインテリジェント分散ファイルシステムに決して格納されることがないとすれば、Wは空(empty)である。
m+nを用いたパリティ保護: {m+n}<=ファイルの幅<=max
k回のミラーリング: {k}<=ファイルの幅<=max
以下では、上述した数学的構成のいくつかの概要を提供する。
以下のものは、図17に関して説明される代表的な実施形態のための基礎を提供するために使用される演算子である。
& = 交差部(Intersection)
| = ユニオン(Union)
! = 反対(Inverse)
− = 減算(Subtraction)
以下のものは、図17に関して説明される代表的な実施形態についての基礎を提供するために使用されるセット及び順序づけされたリストである。
T = インテリジェント分散ファイルシステムにおける利用可能な装置のセット
G = インテリジェント分散ファイルシステムにおける動作中の装置の全てのセット
W = ファイルによって占められた装置のセット
S = 予備装置のセット
P = 好ましい装置の順序づけされたセット
O[size] = プロテクショングループにおける各ブロックへの装置の最適な割り当てであり、“size”はプロテクショングループのサイズである。
N = 非最適セット = P−O
F[size] = プロテクショングループにおける各ブロックについての装置の最後の割り当て
C[size,k] = 各ブロックに割り当てられた現在の装置であり、“k”は現在格納されるようなファイルによって使用されるミラーの数である。
装置の選択例が説明される。しかしながら、この例は、本発明の範囲を制限することを意図したものではなく、種々の実施形態についての詳細を提供するものに過ぎない。
我々は、ちょうどノード3上の単一の装置故障にであった4ノード配列上の3xファイルを修復することを試みると仮定する。
W == (1,2,3)
G == (1,2,4)
dev(X) 3 ; widthpolicy(x) == 8
R == Repair
group_index = 0
P = G & W == (1,2)
S = G & !W == (4)
を得る。
P = (1,2,4)
S = ( )
となる。
O = (1,2,4)
N = ( )
を得る。
F = (1,2,4)
となる。
3ノード配列上に2+1ファイルが与えられると、再バランス目標は、4番目のノードが配列に加えられるときに3+1にファイルを再ストライピングするために使用されてもよい。
W == (1,2,3)
G == (1,2,3,4)
dev(X) == 4; widthpolicy(X) == 8
R == Rebalance
group_index = 30
P = (1,2,3)
S = (4)
を得る。
P = (1,2,3,4)
S = ( )
を得る。
O = (3,4,1,2)
N = ( )
である。
C = ((3),(4),(2),(3))
従って、
C[0] = (3), C[1] = (4), 等
F = (3,4,2,1)
である。
代表的なインテリジェント分散ファイルシステムは、8つの装置A,B,C,D,E,F,G,Hを備え、そしてファイルは、12個のコンテンツブロックb1,b2,b3,b4,b5,b6,b7,b8,b9,b10,b11,b12から構成される。現在、ファイルは装置A,B,C,Dに格納されており、そして2回ミラーされているが、パリティプロテクションは有していない。以下に、ファイルの各ブロックが現在格納されている装置を示す。
T = {A,B,C,D,E,F,G,H}
W = {A,B,C,D}
である。
G = {A,B,C,D,E}
を意味する。
P = {A,B,C,D}
S = {F}
O = {A,B,C,D}
N = {E}
C = {{A,B},{B,C},{C,D},{0,0}}
O = {D,E,A,B}
N = {C}
C = {{D,A},{A,B},{B,C},{0,0}}
O = {B,C,D,E}
N = {A}
C = {{C,D],{D,A},{A,B},{0,0}}
O = {E,A,B,C}
N = {D}
C = {{B,C},{C,D},{D,A},{0,0}}
O = {A,B,C,D}
を呼び出す。
F1 = {A,B,C,D}
F2 = {D,E,A,B}
F3 = {B,C,D,E}
F4 = {E,A,B,C}
以下に、選択処理の実施例についての擬似コードの例を提供する。しかしながら、この例は、本発明の範囲を制限することを意図したものではなく、特定の実施形態のための詳細を提供するものに過ぎない。
プロテクショングループについての装置選択の実施
-------------------------------------------------------------------------------
‘&’は共通集合を取ること(intersect)を意味し、‘|’はユニオン(union)を意味し、‘!’は反転(inverse)を意味する。
本アルゴリズムは、プロテクショングループについての装置選択のセットであるFを提供することを試みる。Fは配列であり、F[i]のようにインデックスが付けられる。FEC保護された(パリティ保護された)ファイルについて、Fは、ファイルの全体を通してオフセット順にプロテクショングループにおけるクラスタのセットのためのデヴィッド(devid)選択を記述する。ミラーされたファイルについては、Fは、プロテクショングループにおける全てのミラーのためのデヴィッド(devid)選択を記述する。
本アルゴリズムは多くの入力を考慮する:
group_indexは、プロテクショングループのインデックスである。どのファイルも多くの互いに素(disjoint)のプロテクショングループに分割され、インデックスが割り当てられる。
Gは、全ての‘アップ(up)’の装置のセットであり、即ち利用可能であり且つ故障状態に陥っていない装置である。
Wは、既にファイルによって占められている装置のセットである。それは、順序づけされたリスト(an ordered list)である。
Xは、ファイルがどのようにレイアウトされるかを表すポリシーである。どのXについても、Xによってファイルを保護するために必要とされる装置の数を示す値dev(X)が存在する。これは、また、プロテクショングループにおけるエレメントの数であり、従って、|F|=dev(X)である。Xは、また、ファイルの所望の幅widthpolicy(X)を提供し、それは、もし|G|>=widthpolicy(X)であれば、理想条件下でファイルが占めるべき装置の数である。
Cは、既存のレイアウトを表す。それは、もしあれば、各F[i]に必要とされるデータのコピーが発見される装置のセットを各F[i]について記述する。このような装置のセットをC[i]とする。|C|==|F|である。
Rは、本アルゴリズムがめざす目的物(goal)である。それは、アルゴリズムが、次のようであるかどうか表す。
R==修復(repair):Fを取得すると、ブロック移動を最小化することを試みる。
R==再バランス(rebalance):Fを取得しながら|W|==widthpolicy(X)を達成することを試みる。
1.Gが、サブミットされたXに適合するかを検証することから始める。もし、|G|<dev(X)であれば、アルゴリズムは継続できず、エラーを発呼側(caller)に戻し、別のXを用いて再試行することを可能にする。
我々は、好ましい装置Pの順序づけされた配列を確立することを望み、それからFの選択がなされる。次のように、順序づけされたWのサブセットとしてPを確立する。
P == G & W
最初に、自由スペースの量によって順序付けられた、WにないGの全てのメンバーのように、予備配列Sをセットアップする。
S == G & !W
PおよびSは、両方とも順序づけされる。|P| == wpになるまで、SからメンバーをPに追加する:
while(|P|<widthpolicy(X) and |S|>0) {
x=S.pop() // take from front
P.append(x) // add to end
}
|P|は、ファイルによる占有のための装置の理想的なリストを表す。それは、Gが与えられると、widthpolicy(X)に近いサイズとされるべきであるが、もちろん|G|<widthpolicy(X)である。
2.ミラー及びパリティのローテイション(rotation)を可能にするためにプロテクショングループインデックスに基づきサイクルオフセットを計算する。Pにおけるサイクルオフセットから初めて、装置をカウントし、そしてそれらを最適なセット0に加える:
cycle_offset=group_index % |P|
for (i=0; i<dev(X); i++)
O.append(P[(cycle_offset + i) % |P|])
Nを、あまり最適でない装置(the less-than-optimal device)として定義する:
N = P - O
注記:
-N,O,Sは互いに素(disjoint)である
-N|O == P
3.既存の現在の装置にわたって繰り返し、Rが達成されるように各F[i]を選択することを試みる。R == Repairについて、我々は、ブロック移動を最小化したい。R == Rebalanceについて、我々は、Fを0に近づけたい。
R == Repairについて、選択セットの順序づけされた配列(array)を次のように定義する:
A = (O, N, S)
R == Rebalanceについて、Aを次のように簡単に定義する:
A = 0
RによるAの適切な選択の後、我々は、次のようにFを完結する:
for SET in A {
for (i=0; i<|F|; i++) {
x = C[i] & SET // 既存の装置と所望のものとの共通集合をとる
if (|x|>0) {
y = x.first() // これらのうちの一つを取得
SET = SET - y // 再考されることを防止
F[i] = y // Fに入れる
}
}
}
4.我々は、依然として、C[i]からの適切な選択が存在しない任意のF[i]についてFにおけるデヴィッド(devids)を選択しなければならない。
for (i=0; i<|F|; i++) {
if (F[i] unassigned) {
F = O.pop();
}
}
以下では、再ストライピング処理の実施例についての擬似コードの例を提供する。しかしながら、この例は、本発明の範囲を制限することを意図したものではなく、一実施形態の詳細を提供するものに過ぎない。
このセクションでは、(BAMにおいて)どのようにブロックが装置レベルで割り当てられるかを決定するファイルシステムのコンポーネントを述べる。ディスクおよびブロックレベルでの割り当ては、LBM割り当てコードによって処理される。以下に述べられるモジュールは、書き込み及び読み出し処理の間に新しいブロックが割り当てられるべき場所を見つけ出すために、主として、BAMの書き込み及び読み出しコンポーネントによって使用されるであろう。しかしながら、APIは、通常、必要に応じて他のコンポーネントによって十分に使用され得る。
ファンクションはbam_layout.cに存在し、そして最初は新たな書き込み及び読み出しコードによって使用される。DFMのような他のモジュールは、必要に応じて将来使用するために修正されてもよい:
int bam_layout_protection_group
(const struct gmp_group_info *gi,
long *free_cluster_counts,
struct inode *ip,
enum layout_goal_t goal,
struct protection_level *protection,
int width_policy,
ifs_lbn_t start_lbn,
int num_clusters,
int curr_devid_depth,
ifs_devid_t **curr_devids,
u_int8_t *alloc_counts,
ifs_devid_t *result_devids,
ifs_baddr_t *result_pbas);
<概要>
このファンクションは、特定のプロテクション設定下で単一のプロテクショングループのためのレイアウト情報を計算する。このファンクションは、(上記特定のプロテクション設定に基づき)完全なプロテクショングループのために呼び出される。レイアウトリコメンデーション(Layout recommendation)は、グループにおける各クラスタのための単一の装置idの形式で、アウトパラメータ(result_devids)で戻されるであろう。他のアウトパラメータ(result_pbas)は、割り当てにおいて使用される各クラスタについての前のブロックアドレスを備えるであろう。
<パラメータ>
Gi:現在のクラスタグループ情報。
free_cluster_counts:グループにおける各ノードについてのフリークラスタカウント(free cluster count)。これは、その現在の自由スペースに基づき、どの装置を使用するかをレイアウトエンジンが決定することを可能にする。この配列は、まさに、長さが‘dset_size(&gi->group)’であるべきである。
Ip:inodeである。これは、主として、width_device情報と前のブロックアドレス情報とをアクセスするために使用される。
Goal:このレイアウト動作の目標を特定するフラグ。このフラグは、ブロックのレイアウトの仕方を決定する時を参照するための明確な目標(objective)をレイアウトエンジンに与える。現在3つの目標(goal)が存在する:
LAYOUT_REPAIR:これは、レイアウトエンジンに、最小のブロック移動が最優先であることを知らせる。レイアウトエンジンは、新たなデヴィッドを、我々のプロテクション制約(ミラーは異なる装置上にあるべきである、など)を維持する必要のある場所にのみ割り当てる。既存のブロックは、絶対必要なときにのみ移動される。これは、装置またはノード故障の後にファイルを修復するときに使用され得る目標である。割り当てられないクラスタが、このシナリオの下に最適に依然として完全に配置されているので、これは、書き込みパス(bam_new_write)によって使用され得る目標である。それは、少なくとも、他の二つの目標と同様に全てのシナリオにおいて高速であり、多くの場合、‘とても(much)’高速である。
LAYOUT_REBALANCE:これは、レイアウトエンジンに、最適な装置がレイアウトのために使用されるべきであることを知らせる。しかしながら、それらの装置は、既存のブロックの移動を避けるためにシャッフルされてもよい。この方法では、システムは、ブロックの移動を極力避けるが、正確な数のノードにわたってファイルをバランスする必要があるときにブロックを移動するであろう。多くの場合、これは、LAYOUT_REPAIRと同様に高速であるが、しかしながら、より最適且つより良好なバランスされたファイルレイアウトをもたらす。この目標は、新たなノードの付加によりプロテクション設定または再バランシングを変更するときに、再ストライパー(restriper)によって使用され得る。
LAYOUT_RETUNE - これは、レイアウトエンジンに、最適なレイアウトが最優先であることを知らせる。既存のブロックには何の注意も払われず、そして任意の又は既存のブロックは、ファイルを完全にレイアウトするために移動されてもよい。もし我々が、相当に良好なレイアウトファイルを手がければ、ブロックは、適切な装置上に図らずも既に存在するので、移動される必要がないが、しかし、これを成し遂げるための試みはなされていない。実際、発呼側は、たとえ、ディスクにおけるフラグメンテーションを修復するために図らずも最適な装置に位置していても、ブロックを再割当てすることを望んでも良い。この目標は、大部分のシナリオにおいて明らかに最も遅く、且つ決して、LAYOUT_REPAIRまたはLAYOUT_REBALANCEよりも速くはない。発呼側は、この目標が、リード性能についての最適化またはデフラグメンテーションのような‘チューニング’動作であることを選択し得る。それらの処理は、通常のファイルシステム動作中にバックグランドまたは必要に応じて稼動してもよいであろう。
Protection:所望のプロテクションの設定。これは、inodeにおけるプロテクション設定と一致しない(例えば、もし発呼側が2xでのパリティファイルを考慮していれば、パリティは可能ではない)。レイアウトコードは、ブロックを置く場所を決定するときに、このプロテクション設定を使用する。それは、inode自体におけるプロテクション設定を無視するであろう。
width_policy:ファイルについての所望の幅ポリシー。これは、ファイル全体が配置されるべきノードの目標数である。これは、多くの状況において達成できなくてもよいが、しかしながら、レイアウトエンジンは、このポリシーを満足するように努める。
start_lbn:領域(region)における最初のlbn。このファンクションは操作すべきプロテクショングループの全数を必要とするので、これはプロテクショングループの始まりにある。Start_lbnは、スキューを計算するための容易な手法を提供し、クラスタの周辺のパリティ情報およびデータのローテイションを可能にする。これらのlbnは、また、結果として得られた構造における特定のブロックを識別するために使用される。
num_clusters:配置されるべきプロテクショングループにおけるクラスタの全数。例えば、3+1プロテクション設定においては、各プロテクショングループは、4つのクラスタを備える一方、3xプロテクショングループは3つのクラスタを備える。Num_clustersは、まさにプロテクショングループと一致する。もしそうでなければ、EINVALが戻される。num_clusterパラメータは、3つの配列パラメータ、即ちcurr_devids, alloc_counts, result_devidsの長さを規定することに注意されたい。
curr_devids:各クラスタにおいて最初に割り当てられたブロックのデヴィッド(devid)。これは、まさに長さが‘num_clusters’であるべき2次元配列である。第2の次元は、発呼側が、配列されるべき各クラスタについて代わりの既存のロケーションを提供することを可能にする。このパラメータの更なる詳細な説明については、本文書の‘Curr_devids’のセクションを参照されたい。この配列の多くのエレメントは0に設定されてもよく、このことは、その特定のクラスタには現在ブロックが割り当てられていないことを示す。もしレイアウト制約がそのように行うことを妨げないのであれば、レイアウトエンジンは、既存のブロックが割り当てられた場所に新しいブロックを置くことを試みる。他の配列パラメータと同様にパリティクラスタがこの最後にリストされるべきであることに注意されたい。
alloc_counts:各クラスタについて、発呼側が割り当てようとするブロックの数。これは、レイアウトエンジンが、完全に割り当てられたクラスタをそのままにしておき、且つ、部分的に割り当てられているが現在の装置上で完結されていないクラスタを移動することを可能にする(なぜなら、その装置は、自由スペースがなくなるので)。このパラメータは、1または2以上の装置が容量に近づいているときに参照されるのみである。このパラメータは、まさに、長さが‘rum_clusters’である。
result_devids:このアウトパラメータは、発呼側によって割り当てられ、まさに長さが‘num_clusters’である。それは、プロテクショングループにおける各クラスタについて推奨されたデヴィッド(devid)を備える。その上、将来において、レイアウトエンジンは推奨された特定のドライブに拡大されてもよい。発呼側は、各クラスタについて推奨されたデヴィッドを調べる。もしそのデヴィッドが、そのブロックに既に割り当てられたブロックのデヴィッドに等しくなければ、これらの既存のブロックは、レイアウト制約を満たすために移動される。新たなブロックが、推奨されたデヴィッドに割り当てられる。再び、任意のパリティクラスタは、これと他の配列パラメータの最後にリストされ、そして、ミラーは昇順にリストされる。
result_pbas:このアウトパラメータは、発呼側によって割り当てられ、そして長さが‘num_clusters’のサイズである。それは、各クラスタについての前のブロックアドレス(pba)を備え、最適な連続した割り当てについてのブロック割り当て要求と共に送信される。もしそのノード上に既に割り当てられたパリティブロック又は前のデータが存在しなければ、これらpbaのいくつかはゼロであってもよい。他の配列パラメータのように、パリティクラスタはこの配列において最下位(last)であり、ミラーは昇順にリストされる。
<Curr devids フォーマット>
上述したcurr_devidsの説明は、発呼側が、プロテクショングループにおいて現在割り当てられたブロックのロケーションについてのレイアウトエンジン情報に伝えることを可能にする。レイアウトエンジンは、この情報を参照して、要求された‘目標’を依然として満足しながら、可能な限り少ないブロックを移動するように試みる。
他の配列パラメータのように、curr_devids配列は、長さが‘num_clusters’のサイズ(まさに1つのプロテクショングループのサイズ)である。パリティの場合には、パリティクラスタは、プロテクショングループにおいて最下位にリストされ、そしてミラーは、ミラーインデックスの昇順にリストされる。
このパラメータが他の配列と異なる点は、これが2次元配列であることである。この配列は、新たなプロテクショングループにおいて各クラスタについて1列(column)のデヴィッドを含むであろう(それは、長さが‘num_clusters’である)。各列は、既存のデータブロックのミラーを備える(従って、この配列の行の数は、古いレイアウトのデータミラーカウントにほとんど常に等しい)。このようにして、発呼側は、レイアウトエンジンに、既存のクラスタが装置A,B,C上にミラーを有することを知らせることができる。そして、レイアウトエンジンは、もしそれが、そのクラスタについて、A、BまたはCを選択すれば、発呼側が最近割り当てられたどのブロックも移動しないかもしれないことを知る。
少しの例がこのことを更に明確にするであろう。システムが3xから3+1にファイルを再ストライピングすると仮定する。システムは、レイアウトエンジンに、1つの3+1プロテクショングループ(ファイルにおける最初の3つのクラスタを含む)を配置することを要求する。システムは、3行4列の配列を割り当てることにより、curr_devidsを構成する。4列については、新たなプロテクショングループが4つのクラスタを有するためであり、3行については、各既存のブロックが3つのミラーを有するためである:
curr_devids[4][3]:
[1][2][3][0]
[2][3][4][0]
[3][4][5][0]
4番目の列は、パリティブロックが現在のところ割り当てられていないので、空(empty)であるが、各データクラスタは3つの既存のミラーを有している。これは、レイアウトエンジンに、それが現在のファイルレイアウトについて知る必要のあることの全てを知らせる。
他の例。システムが3+1プロテクションから3xプロテクションでにファイルを再ストライピングしていると仮定する。システムは、長さが3クラスタ(我々の新たな3xプロテクショングループが3のクラスタを有するため)であり、且つ深さが1クラスタ(古いデータはミラーされていないため)であるcurr_devidsリストを作成する:
curr_devids[3][1]:
[1][2][3]
このことは、現在のクラスタがミラーされれば余剰の行が必要とされるだけであり、且つ、システムが、既存のミラーの場所をレイアウトエンジンに知らせることを欲することを示している。前述したように、2番目の次元は、ほとんど常に、ファイルの古いデータミラーカウント(old data mirror count)に設定されるであろう。もし、古いファイルがパリティプロテクションであれば、これは1であろう。
この構造の実際の能力(power)は、あるミラー設定から他の設定に再ストライピングするときに現れる。例えば、システムが5xから2xに再ストライピングしていることを想定する。システムは、2の長さ(我々の新たなプロテクショングループは2クラスタをそなえるため)を有すると共に5の深さ(各既存のデータクラスタは5ミラーを備えるため)を有するcurr_devids配列を生成するであろう。レイアウトエンジンは、既存のミラーのロケーションを知る必要があり、従ってそれはベスト2を選択して保存する:
curr_devids[2][5]:
[1][1]
[2][2]
[3][3]
[4][4]
[5][5]
このケースでは、情報のいくつかは冗長である。なぜなら、システムは、1データクラスタについて語るだけであるから(それは、5回ミラーされる)。しかしながら、この構造は、レイアウトエンジンが容易に理解する。エンジンが気をつけることの全ては、それが最初のミラーについて最初の列の任意のメンバーを選択できることであり、そして、結果として得られるレイアウトは全くデータブロックの移動を必要としないであろう。このフォーマットは、レイアウトエンジンに、それが効率的なレイアウトの決定をすることを必要としているという情報を与える。
大体の場合、通常のファイルを書き込むとき、この配列は極めてシンプルである。余分な複雑性は、再ストライピング、または装置が利用不能のときに回復された書き込みを実施するときに必要とされるのみである。例えば、もし3番目のクラスタを3+1ファイルに書き込む場合、curr_devids配列は次のように単純になる:
curr_devids[4][1]:
[1][2][0][4]
同様に、3xファイルの3番目のクラスタを書き込む場合、配列は次のように単純にできる:
curr_devids[3][1]:
[1][2][0]
これらのケースでは、既存のプロテクション設定は、まさに新たな設定と同一であり、従ってシステムは、フラットな配列で既存のレイアウト情報を伝えることができる。
<リターン値>
0: 成功(success)。アウトパラメータは、割り当て又は移動を必要とするブロックについての装置IDを含み、且つ移動の必要のないブロックについての結果は含まない。割り当てを必要とするクラスタは、どれも、実際の割り当てコールで用いる関連の前のブロックアドレス(pba)を有するであろう。
EROFS: レイアウト制約に違反することなく、要求されたブロックを配置するための利用可能な装置が十分に存在しない。発呼側は、このエラーをその発呼側に戻すか、または他の所望のプロテクション設定を用いてbam_layout_protection_group()を呼び出すことの何れかを行うことができる。
EINVAL: 無効パラメータ(Invalid parameter)。もし特定された‘num_clusters’が、ひとつの完全なプロテクショングループと厳密に等しくなければ、このエラーは戻されるであろう。デバッグビルド(debug builds)において、また、不良の発呼側を見つけ出すことを手助けすることは、レイアウトモジュールにおけるアサーション故障(assertion failure)を伴う。このエラーコードは、通常の動作では予期されず、且つコーディングエラーを示さない。
<擬似コード>
この文書では、BAMレベルレイアウトモジュールの基本的実施について述べる。
フェーズ1:グループ情報(group info)、幅要件(width requirement)、および装置ごとの自由ブロック統計に基づき、使用するのに十分な自由スペースを有する利用可能な装置のリストが形成される。システムのスペースが尽きるか、または多くの装置がダウンして所望のプロテクションレベルで書き込みできないケースについてここでは理解され、そしてエラーは発呼側に戻されるであろう。
フェーズ2:別のデヴィッドが装置のリストからプロテクショングループにおける各クラスタに割り当てられる。もし特定の装置に割り当てられたブロックが既に存在すれば、システムは、既存のブロックが移動される必要のないようにデヴィッドを割り当てることを試みる。これは、既存のブロックレイアウトおよび現在利用可能な装置によっては、可能であるかもしれないし、可能でないかもしれない。目標のパラメータが、ここでは大きな役割を演じるであろうことに注意されたい。もし目標がLAYOUT_REPAIRであれば、システムはブロックを移動することを避けるが、もしファイルを適切にバランスすることが必要とされていれば、そのようにする。最終に、もし目標がLAYOUT_REBALANCEであれば、既存のブロックがある場所とは無関係に、最適な配置が計算される。
フェーズ3:どのクラスタにもデヴィッドを割り当てると、システムは、割り当て目的で各クラスタにpbaを割り当てる。これは、各装置上に割り当てられた最後のブロックのブロックアドレスを与えるstruct inodeにおけるpbaリストを参照することにより行われる。ここでの唯一の希薄な点は、システムがpbaを使用するためのデータブロックと、パリティpbaを使用するためのパリティブロックとを欲することである。それらは、struct inodeに別々に格納され、従ってリストが参照されるべきである。
<問題>
1)ディスクスペースの不足:このアルゴリズムひとつの未解決の問題は、いくつかの又は全てのノードが容量に近づいたときにすべきことである。もし可能であれば、システムは、割り当てに関してENOSPCエラーをもたらすであろう発呼側に装置を推奨することは避けたい。それらのエラーは、もし配列ステートが変更されていなければ、シスコールリスタート(syscall restart)を起動せず、したがってユーザにまで遡って伝搬される。この問題は、我々が実際に装置を結果リストに割り当てるときに、フェーズ2において最もよく取り扱われる。そのときに、我々は、その装置上の利用可能なディスクスペースを調べることができる(我々がアクセスすることができない予約スペースを捕らえることを記憶している)。情報が各シナリオにどのように影響を及ぼすかは次のようである:
LAYOUT_RETUNE:振る舞いに変化がない。このシナリオは、どんなことがあっても最適なレイアウトを選ぶ。もしシステムが最適でない配置を与えれば、チャンスは、それが既に利用可能であることと同然であることである。
LAYOUT_REPAIRE/LAYOUT_REBALANCE:もしシステムが、廃されたcurrent_devidと符合するデヴィッドを割り当てていれば、システムは、自由スペースについて心配する必要はない。システムは、既に、そこで割り当てられたブロックを割り当てており、従ってシステムは、その何れも移動していないか、または少しばかりを割り当てているかのどちらかである。システムは、これらのシナリオでは、可能な限り少ないブロックを移動することを欲し、従ってそれらの装置をそれまでのままにしておく。
システムが空のスロットにデヴィッドをまさに割り当てようとしているときに(そのクラスタについてはcurrent_devidが存在しないことを意味する)、その装置について自由スペースを参照する。もしそれがほとんど満杯であれば、より多くの自由スペースを有する他の好ましい装置を探すことを試み、そしてそれを代わりに使用する。もし好ましい装置の全てがほとんど満杯であれば、好ましい装置と予備装置のリストから最大量の自由スペースを有する装置を割り当てる。
ENOSPCは、レイアウトエンジンAPIから戻されないことに注意されたい。自由スペース情報は、それらのカウントをリモード装置から読み出すのにある程度の時間を要するので、少しばかり期限を過ぎている。スペースが厳しいとき、システムは、既存のカウントに基づき最も見込みのある装置を推奨する。最悪の場合、発呼側は、割り当てが試みられるときにENOSPCを取得するであろう。
<アルゴリズム擬似コード:>
int
bam_layout_protection_group(gi, free_clusters, ip, goal, protection,
width_policy, start_lbn, num_clusters, curr_devid_depth, curr_devids,
alloc_counts, *result_devids, *result_pbas)
{
/* dinodeから現在幅装置リスト(current width device list)を取得する。*/
/* リストからnのダウン装置を削除する。*/
/* max_width(MAX_WIDTH - n)を計算する。*/
/* リストに残りの全てのアップ装置を加える。*/
while (width device list size < UP device list size) {
/* アップ装置に最も自由なクラスタを加える。*/
}
/*
* 長さがmax_widthにリストを切り詰める。このことは、dinode width device * limitをオーバフローすることを防止する。
*/
/*
* width_policy及び所望プロテクションパラメータを用いて、preferred_width * 及びmin_widthを計算する。
*/
/* 我々は利用可能な装置を十分に備えていることを検証する。*/
if (not)
return EROFS;
/*
* この点で、我々は、おそらく我々が使用することができるオンライン装置の全 * てのリストを有する。リストの始まりには、このファイルによって現在使用 * される装置があり、この後には、利用可能な自由スペースによってソート * (sort)された残りの全ての装置が続く。
*/
/*
* リストを2つの部分に分割する。第1のサブリストはまさに長さにおいて好ま * しい幅(preferred_width)であり、我々のマスターリストの先頭から始まる。 * 第2のサブリストはマスターリストの残りを含む。我々は、第1のリストを我 * 々の‘好ましい装置(preferred_devices)’と呼び、そして、第2のリストを * 我々の‘予備の装置(spare_devices)’と呼ぶ。第2のリストは空(empt)であ * ってもよい。
*/
/* ここで、プロテクショングループのレイアウトを開始する。*/
/* num_clusters及びalloc_countsの正常チェック(sanity check)。*/
If (insane)
/*
* 我々は、全数のプロテクショングループを必要とし、そして、alloc_counts * は0と16の間である。
Return EINVAL;
/* start_lbnを計算する(プロテクショングループにおける最初のlbm)。*/
/* start_lbnを用いてgroup_numberを計算する。*/
/* ダウン(DOWN)であるcurrent_devidsのエレメントをクリアする。*/
/* current_devidsにおける複製装置(duplicate devices)をクリアする。*/
/*
* preferred_deviceにおけるstart_offsetを計算する(恐らく(group_number % * list size)にちょうどなる)。これはスキューを受け持つ。
*/
/* preferred_listにおけるstart_offsetから始めて、我々が割り付ける各クラ /* スタについてのリストを通したステップを進め、そして各デヴィッドを新たな /* リストにコピーする(必要であれば、好ましいリストの先頭に包み込む)。こ /* の新規なサブリストは最適装置リスト(optimal_device list)と呼ばれる。
*/
/* 発呼側特定の目標に基づきデヴィッドを割り当てる。*/
switch (goal) {
case LAYOUT_REPAIR:
/* ブロック移動を避ける。*/
error = bam_layout_repair();
break;
case LAYOUT_REBALANCE:
/* バランスされたレイアウトを確保する。*/
error = bam_layout_rebalance();
break;
case LAYOUT_RETUNE:
/* 最適なレイアウト。*/
error = bam_layout_retune();
break;
default:
ASSERT(0);
};
/*
* もうすぐ終わり。全クラスタはデヴィッドを割り当てられるべき。
*/
/* ここで、我々は、前のブロックアドレスを選択しなければならない・・・。*/
for (each cluster in the protection group) {
/* pbaをzero_baddrに初期化する。*/
/* これがパリティであるのかデータクラスタであるのかを決定する。*/
/* struct inodeから適切なpbaリストを取得する。*/
/* 使用可能なpbaを探す。*/
for (each item in the pba list) {
/*
* もし、デヴィッドがこのクラスタについての我々の推奨デヴ * ィッドと一致すれば、このpbaを使用し、そしてブレーク * する。
*/
}
}
/* ここで、本当に終わり!*/
}
int
bam_layout_repair()
{
/* 可能な限り既存のデヴィッドを割り当てる。*/
/* 最適なリストからのデヴィッドで空(empty)のスロットを満たす。*/
}
int
bam_layout_rebalance()
{
/* 最適なリストに存在しない既存のデヴィッドはない。*/
/*
* もし既存のブロックの移動を最小化することが必要であれば、最適なリストを * 再シャッフルし、そして出力に割り当てる。
*/
}
int
bam_layout_retune()
{
/* 最適なリストを出力に割り当て、何も質問なし。*/
この特許文書の開示の一部は、著作権保護の対象となっている。著作権所有者は、特許商標局の特許ファイルまたは記録にあるので、特許文書または特許開示のいずれによるファクシミリ複製に対しても異議をもたないが、そうでなければ、どんなものであれ、すべての著作権を留保する。
本発明のいくつかの実施形態を説明したが、これらの実施形態は単なる一例を表したものであり、本発明の範囲を制限することを意図したものではない。従って、本発明の広がりと範囲は、添付の特許請求の範囲及びそれらの均等物によって定められるべきである。
114 スマート記憶ユニット
120 サーバ
125 スイッチ
140 通信媒体
145 インターネット
130 ユーザ
Claims (10)
- 相互に通信するように構成され、それぞれが、少なくとも一つの記憶装置と、少なくとも一つのプロセッサと、前記プロセッサによって実行される少なくとも一つの実行可能なソフトウェアモジュールとを有する複数の記憶ユニットを備え、
少なくともファイルの第1の部分が前記複数の記憶ユニットのうちの第1の記憶ユニットに格納されると共に少なくとも前記ファイルの第2の部分が前記複数の記憶ユニットのうちの第2の記憶ユニットに格納されるようにして、前記ファイルが当該分散ファイル記憶システムに格納され、
前記ファイルに関連するエラー訂正データが、前記ファイルを再構成するために利用可能なファイルデータと共に使用され得るようにして、前記複数の記憶ユニットのうちの1又は2以上の記憶ユニットに格納され、
当該分散ファイル記憶システムに格納された前記ファイルの各部分のアドレスロケーションと前記エラー訂正データのアドレスロケーションとを含むメタデータが、前記複数の記憶ユニットのうちの第3の記憶ユニットに格納され、
前記各記憶ユニットの少なくとも一つの実行可能なソフトウェアモジュールは、
前記複数の記憶ユニットのうちの前記第3の記憶ユニット上の前記メタデータをアクセスし、
前記複数の記憶ユニットのうちの2以上の記憶ユニットの間で前記エラー訂正データの少なくとも一部または前記ファイルの少なくとも一部を再ストライピングし、
前記複数の記憶ユニットのうちの前記第3の記憶ユニット上の前記メタデータを更新して、再ストライピングされた前記ファイルの各部についての新たなアドレスロケーションと、再ストライピングされた前記エラー訂正データのそれぞれについての新たなアドレスロケーションとを前記メタデータに含めるように構成され、
前記新たなアドレスロケーションは、別の記憶ユニット上のデータロケーションを含む分散ファイル記憶システム。 - 前記再ストライピングは、前記エラー訂正データの少なくとも一部または前記ファイルの少なくとも一部の再ストライピング中のデータの移動を最小化することを含む1又は2以上のプリフェレンスまたは制約に従う請求項1記載の分散ファイル記憶システム。
- 前記少なくとも一つの実行可能なソフトウェアモジュールは、第1のプロテクションスキームから別の第2のプロテクションスキームへ前記ファイルのプロテクションスキームを変更するために、指示に応答して前記エラー訂正データの少なくとも一部または前記ファイルの少なくとも一部を再ストライピングするように更に構成された請求項1記載の分散ファイル記憶システム。
- 前記少なくとも一つの実行可能なソフトウェアモジュールは、当該分散ファイル記憶システムへの記憶ユニットの追加に対して、前記エラー訂正データの少なくとも一部または前記ファイルの少なくとも一部を再ストライピングするように更に構成された請求項1記載の分散ファイル記憶システム。
- 前記少なくとも一つの実行可能なソフトウェアモジュールは、当該分散ファイル記憶システムにおける記憶ユニットの故障に対して、前記エラー訂正データの少なくとも一部または前記ファイルの少なくとも一部を再ストライピングするように更に構成された請求項1記載の分散ファイル記憶システム。
- 前記少なくとも一つの実行可能なソフトウェアモジュールは、当該分散ファイル記憶システムからの記憶ユニットの除去に対して、前記エラー訂正データの少なくとも一部または前記ファイルの少なくとも一部を再ストライピングするように更に構成された請求項1記載の分散ファイル記憶システム。
- 前記少なくとも一つの実行可能なソフトウェアモジュールは、前記エラー訂正データの少なくとも一部または前記ファイルの少なくとも一部が無事に再ストライピングされたかどうかを判断するように更に構成された請求項1記載の分散ファイル記憶システム。
- アドレスロケーションは、前記ファイルの一部が格納された装置のロケーションと、前記ファイルの一部についてのメモリブロックアドレスとを含む請求項1記載の分散ファイル記憶システム。
- 前記エラー訂正データは、パリティデータブロック及びミラーされたデータブロックのうちの少なくとも一つを含む請求項1記載の分散ファイル記憶システム。
- 前記複数の記憶ユニットのうちの各記憶ユニットの前記少なくとも一つの実行可能なソフトウェアモジュールは、前記複数の記憶ユニットのうちの前記第1の記憶ユニットに格納された前記ファイルの少なくとも第1の部分と、前記複数の記憶ユニットのうちの前記第2の記憶ユニットに格納された前記ファイルの少なくとも第2の部分とに対するリード要求に応答するように更に構成された請求項1記載の分散ファイル記憶システム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US42646402P | 2002-11-14 | 2002-11-14 | |
PCT/US2003/036699 WO2004046971A1 (en) | 2002-11-14 | 2003-11-14 | Systems and methods for restriping files in a distributed file system |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009261303A Division JP5096441B2 (ja) | 2002-11-14 | 2009-11-16 | 分散ファイルシステムにおけるファイルの再ストライピングのための方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2006506741A JP2006506741A (ja) | 2006-02-23 |
JP4464279B2 true JP4464279B2 (ja) | 2010-05-19 |
Family
ID=32326359
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004553816A Expired - Lifetime JP4464279B2 (ja) | 2002-11-14 | 2003-11-14 | 分散ファイルシステムにおけるファイルの再ストライピングのためのシステム及び方法 |
JP2009261303A Expired - Lifetime JP5096441B2 (ja) | 2002-11-14 | 2009-11-16 | 分散ファイルシステムにおけるファイルの再ストライピングのための方法 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009261303A Expired - Lifetime JP5096441B2 (ja) | 2002-11-14 | 2009-11-16 | 分散ファイルシステムにおけるファイルの再ストライピングのための方法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US7937421B2 (ja) |
EP (3) | EP1563411B1 (ja) |
JP (2) | JP4464279B2 (ja) |
CN (1) | CN1692356B (ja) |
AU (1) | AU2003291014A1 (ja) |
WO (1) | WO2004046971A1 (ja) |
Cited By (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7788303B2 (en) | 2005-10-21 | 2010-08-31 | Isilon Systems, Inc. | Systems and methods for distributed system scanning |
US7848261B2 (en) | 2006-02-17 | 2010-12-07 | Isilon Systems, Inc. | Systems and methods for providing a quiescing protocol |
US7882068B2 (en) | 2007-08-21 | 2011-02-01 | Isilon Systems, Inc. | Systems and methods for adaptive copy on write |
US7900015B2 (en) | 2007-04-13 | 2011-03-01 | Isilon Systems, Inc. | Systems and methods of quota accounting |
US7899800B2 (en) | 2006-08-18 | 2011-03-01 | Isilon Systems, Inc. | Systems and methods for providing nonlinear journaling |
US7917474B2 (en) | 2005-10-21 | 2011-03-29 | Isilon Systems, Inc. | Systems and methods for accessing and updating distributed data |
US7937421B2 (en) | 2002-11-14 | 2011-05-03 | Emc Corporation | Systems and methods for restriping files in a distributed file system |
US7949692B2 (en) | 2007-08-21 | 2011-05-24 | Emc Corporation | Systems and methods for portals into snapshot data |
US7949636B2 (en) | 2008-03-27 | 2011-05-24 | Emc Corporation | Systems and methods for a read only mode for a portion of a storage system |
US7953704B2 (en) | 2006-08-18 | 2011-05-31 | Emc Corporation | Systems and methods for a snapshot of data |
US7953709B2 (en) | 2008-03-27 | 2011-05-31 | Emc Corporation | Systems and methods for a read only mode for a portion of a storage system |
US7966289B2 (en) | 2007-08-21 | 2011-06-21 | Emc Corporation | Systems and methods for reading objects in a file system |
US7971021B2 (en) | 2008-03-27 | 2011-06-28 | Emc Corporation | Systems and methods for managing stalled storage devices |
US7984324B2 (en) | 2008-03-27 | 2011-07-19 | Emc Corporation | Systems and methods for managing stalled storage devices |
US8005865B2 (en) | 2006-03-31 | 2011-08-23 | Emc Corporation | Systems and methods for notifying listeners of events |
US8010493B2 (en) | 2006-08-18 | 2011-08-30 | Emc Corporation | Systems and methods for a snapshot of data |
US8015156B2 (en) | 2006-08-18 | 2011-09-06 | Emc Corporation | Systems and methods for a snapshot of data |
US8015216B2 (en) | 2007-04-13 | 2011-09-06 | Emc Corporation | Systems and methods of providing possible value ranges |
US8027984B2 (en) | 2006-08-18 | 2011-09-27 | Emc Corporation | Systems and methods of reverse lookup |
US8051425B2 (en) | 2004-10-29 | 2011-11-01 | Emc Corporation | Distributed system with asynchronous execution systems and methods |
US8054765B2 (en) | 2005-10-21 | 2011-11-08 | Emc Corporation | Systems and methods for providing variable protection |
US8055711B2 (en) | 2004-10-29 | 2011-11-08 | Emc Corporation | Non-blocking commit protocol systems and methods |
US8060521B2 (en) | 2006-12-22 | 2011-11-15 | Emc Corporation | Systems and methods of directory entry encodings |
US8082379B2 (en) | 2007-01-05 | 2011-12-20 | Emc Corporation | Systems and methods for managing semantic locks |
US8214400B2 (en) | 2005-10-21 | 2012-07-03 | Emc Corporation | Systems and methods for maintaining distributed data |
US8238350B2 (en) | 2004-10-29 | 2012-08-07 | Emc Corporation | Message batching with checkpoints systems and methods |
US8286029B2 (en) | 2006-12-21 | 2012-10-09 | Emc Corporation | Systems and methods for managing unavailable storage devices |
US8356013B2 (en) | 2006-08-18 | 2013-01-15 | Emc Corporation | Systems and methods for a snapshot of data |
US8356150B2 (en) | 2006-08-18 | 2013-01-15 | Emc Corporation | Systems and methods for providing nonlinear journaling |
US8966080B2 (en) | 2007-04-13 | 2015-02-24 | Emc Corporation | Systems and methods of managing resource utilization on a threaded computer system |
Families Citing this family (299)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7509322B2 (en) | 2001-01-11 | 2009-03-24 | F5 Networks, Inc. | Aggregated lock management for locking aggregated files in a switched file system |
US8239354B2 (en) | 2005-03-03 | 2012-08-07 | F5 Networks, Inc. | System and method for managing small-size files in an aggregated file system |
US7562110B2 (en) | 2001-01-11 | 2009-07-14 | F5 Networks, Inc. | File switch and switched file system |
US7512673B2 (en) * | 2001-01-11 | 2009-03-31 | Attune Systems, Inc. | Rule based aggregation of files and transactions in a switched file system |
US20040133606A1 (en) * | 2003-01-02 | 2004-07-08 | Z-Force Communications, Inc. | Directory aggregation for files distributed over a plurality of servers in a switched file system |
US8195760B2 (en) | 2001-01-11 | 2012-06-05 | F5 Networks, Inc. | File aggregation in a switched file system |
US7685126B2 (en) | 2001-08-03 | 2010-03-23 | Isilon Systems, Inc. | System and methods for providing a distributed file system utilizing metadata to track information about data stored throughout the system |
US7146524B2 (en) | 2001-08-03 | 2006-12-05 | Isilon Systems, Inc. | Systems and methods for providing a distributed file system incorporating a virtual hot spare |
US7159150B2 (en) * | 2002-12-31 | 2007-01-02 | International Business Machines Corporation | Distributed storage system capable of restoring data in case of a storage failure |
US20040210724A1 (en) * | 2003-01-21 | 2004-10-21 | Equallogic Inc. | Block data migration |
US8499086B2 (en) * | 2003-01-21 | 2013-07-30 | Dell Products L.P. | Client load distribution |
US8037264B2 (en) | 2003-01-21 | 2011-10-11 | Dell Products, L.P. | Distributed snapshot process |
US8015266B1 (en) * | 2003-02-07 | 2011-09-06 | Netapp, Inc. | System and method for providing persistent node names |
US7185029B1 (en) * | 2003-06-27 | 2007-02-27 | Unisys Corporation | Method and apparatus for maintaining, and updating in-memory copies of the first and second pointers to reference the new versions of the first and second control structures that indicate available and allocated portions of usable space in the data file |
US7647327B2 (en) * | 2003-09-24 | 2010-01-12 | Hewlett-Packard Development Company, L.P. | Method and system for implementing storage strategies of a file autonomously of a user |
US7647451B1 (en) | 2003-11-24 | 2010-01-12 | Netapp, Inc. | Data placement technique for striping data containers across volumes of a storage system cluster |
US7237062B2 (en) * | 2004-04-02 | 2007-06-26 | Seagate Technology Llc | Storage media data structure system and method |
JP4480479B2 (ja) * | 2004-06-15 | 2010-06-16 | 株式会社日立製作所 | ストレージシステム |
US7809690B2 (en) * | 2004-07-13 | 2010-10-05 | Oracle International Corporation | Performance metric-based selection of one or more database server instances to perform database recovery |
US8335807B1 (en) * | 2004-08-30 | 2012-12-18 | Sprint Communications Company, L.P. | File distribution system and method |
US7533230B2 (en) | 2004-10-13 | 2009-05-12 | Hewlett-Packard Developmetn Company, L.P. | Transparent migration of files among various types of storage volumes based on file access properties |
US7330955B2 (en) * | 2004-10-18 | 2008-02-12 | Seagate Technology Llc | Recovery record for updating a system configuration |
US7594075B2 (en) | 2004-10-20 | 2009-09-22 | Seagate Technology Llc | Metadata for a grid based data storage system |
US8131926B2 (en) | 2004-10-20 | 2012-03-06 | Seagate Technology, Llc | Generic storage container for allocating multiple data formats |
US7496565B2 (en) * | 2004-11-30 | 2009-02-24 | Microsoft Corporation | Method and system for maintaining namespace consistency with a file system |
US7610307B2 (en) * | 2004-11-30 | 2009-10-27 | Microsoft Corporation | Method and system of detecting file system namespace changes and restoring consistency |
US7885970B2 (en) | 2005-01-20 | 2011-02-08 | F5 Networks, Inc. | Scalable system for partitioning and accessing metadata over multiple servers |
US20060167838A1 (en) * | 2005-01-21 | 2006-07-27 | Z-Force Communications, Inc. | File-based hybrid file storage scheme supporting multiple file switches |
US7958347B1 (en) | 2005-02-04 | 2011-06-07 | F5 Networks, Inc. | Methods and apparatus for implementing authentication |
US7904649B2 (en) | 2005-04-29 | 2011-03-08 | Netapp, Inc. | System and method for restriping data across a plurality of volumes |
US7801859B1 (en) * | 2005-05-25 | 2010-09-21 | Emc Corporation | Tracking filesystem backups |
US7437507B2 (en) * | 2005-06-06 | 2008-10-14 | Cisco Technology, Inc. | Online restriping technique for distributed network based virtualization |
US9027080B2 (en) * | 2008-03-31 | 2015-05-05 | Cleversafe, Inc. | Proxy access to a dispersed storage network |
US7546427B2 (en) * | 2005-09-30 | 2009-06-09 | Cleversafe, Inc. | System for rebuilding dispersed data |
US7386675B2 (en) * | 2005-10-21 | 2008-06-10 | Isilon Systems, Inc. | Systems and methods for using excitement values to predict future access to resources |
US7346720B2 (en) * | 2005-10-21 | 2008-03-18 | Isilon Systems, Inc. | Systems and methods for managing concurrent access requests to a shared resource |
US7873799B2 (en) * | 2005-11-04 | 2011-01-18 | Oracle America, Inc. | Method and system supporting per-file and per-block replication |
US7921132B2 (en) * | 2005-12-19 | 2011-04-05 | Yahoo! Inc. | System for query processing of column chunks in a distributed column chunk data store |
US7921087B2 (en) * | 2005-12-19 | 2011-04-05 | Yahoo! Inc. | Method for query processing of column chunks in a distributed column chunk data store |
US7921131B2 (en) * | 2005-12-19 | 2011-04-05 | Yahoo! Inc. | Method using a hierarchy of servers for query processing of column chunks in a distributed column chunk data store |
US20200257596A1 (en) * | 2005-12-19 | 2020-08-13 | Commvault Systems, Inc. | Systems and methods of unified reconstruction in storage systems |
US8214388B2 (en) * | 2005-12-19 | 2012-07-03 | Yahoo! Inc | System and method for adding a storage server in a distributed column chunk data store |
US7860865B2 (en) * | 2005-12-19 | 2010-12-28 | Yahoo! Inc. | System of a hierarchy of servers for query processing of column chunks in a distributed column chunk data store |
US7721157B2 (en) * | 2006-03-08 | 2010-05-18 | Omneon Video Networks | Multi-node computer system component proactive monitoring and proactive repair |
US8478873B2 (en) * | 2006-03-08 | 2013-07-02 | Harmonic Inc. | Techniques for use of a system-unique identifier in an architecture having a file system utilizing distributed metadata servers |
US20070214183A1 (en) * | 2006-03-08 | 2007-09-13 | Omneon Video Networks | Methods for dynamic partitioning of a redundant data fabric |
US20070214105A1 (en) * | 2006-03-08 | 2007-09-13 | Omneon Video Networks | Network topology for a scalable data storage system |
US20070226224A1 (en) * | 2006-03-08 | 2007-09-27 | Omneon Video Networks | Data storage system |
US7809778B2 (en) * | 2006-03-08 | 2010-10-05 | Omneon Video Networks | Idempotent journal mechanism for file system |
US8417746B1 (en) | 2006-04-03 | 2013-04-09 | F5 Networks, Inc. | File system management with enhanced searchability |
US8150840B2 (en) * | 2006-04-19 | 2012-04-03 | Hewlett-Packard Development Company, L.P. | Dynamic RSS services |
JP2009534762A (ja) | 2006-04-21 | 2009-09-24 | トピア・テクノロジー | 電子ファイル共有 |
US7603387B2 (en) * | 2006-06-16 | 2009-10-13 | Microsoft Corporation | Techniques to manage media files |
US7783686B2 (en) * | 2006-06-16 | 2010-08-24 | Microsoft Corporation | Application program interface to manage media files |
US8069191B2 (en) * | 2006-07-13 | 2011-11-29 | International Business Machines Corporation | Method, an apparatus and a system for managing a snapshot storage pool |
US9037828B2 (en) | 2006-07-13 | 2015-05-19 | International Business Machines Corporation | Transferring storage resources between snapshot storage pools and volume storage pools in a data storage system |
US8539056B2 (en) | 2006-08-02 | 2013-09-17 | Emc Corporation | Systems and methods for configuring multiple network interfaces |
US7752402B2 (en) | 2006-08-18 | 2010-07-06 | Isilon Systems, Inc. | Systems and methods for allowing incremental journaling |
US7676691B2 (en) | 2006-08-18 | 2010-03-09 | Isilon Systems, Inc. | Systems and methods for providing nonlinear journaling |
US7747584B1 (en) * | 2006-08-22 | 2010-06-29 | Netapp, Inc. | System and method for enabling de-duplication in a storage system architecture |
US8930379B2 (en) * | 2006-11-28 | 2015-01-06 | International Business Machines Corporation | Merging distributed mail into a unified folder view |
KR100816763B1 (ko) * | 2007-02-13 | 2008-03-25 | 삼성전자주식회사 | 플래시 메모리 모듈을 주기억장치로 사용하는 전자 시스템및 그것의 부팅 방법 |
US20080250190A1 (en) * | 2007-04-03 | 2008-10-09 | Brian Johnson | Portable memory device operating system and method of using same |
US8682916B2 (en) | 2007-05-25 | 2014-03-25 | F5 Networks, Inc. | Remote file virtualization in a switched file system |
CN100547566C (zh) * | 2007-06-28 | 2009-10-07 | 忆正存储技术(深圳)有限公司 | 基于多通道闪存设备逻辑条带的控制方法 |
US9760839B1 (en) * | 2007-07-25 | 2017-09-12 | United Services Automobile Association (Usaa) | Electronic recording statement management |
DK2195724T3 (da) | 2007-08-28 | 2020-01-20 | Commvault Systems Inc | Energistyring af databehandlingsressourcer, såsom adaptiv energistyring af datalagringsoperationer |
US8782368B2 (en) | 2007-10-25 | 2014-07-15 | Hewlett-Packard Development Company, L.P. | Storing chunks in containers |
GB2466579B (en) | 2007-10-25 | 2012-12-26 | Hewlett Packard Development Co | Data processing apparatus and method of deduplicating data |
CN101855619B (zh) | 2007-10-25 | 2017-04-26 | 慧与发展有限责任合伙企业 | 数据处理设备和数据处理方法 |
US8140637B2 (en) | 2007-10-25 | 2012-03-20 | Hewlett-Packard Development Company, L.P. | Communicating chunks between devices |
US8548953B2 (en) | 2007-11-12 | 2013-10-01 | F5 Networks, Inc. | File deduplication using storage tiers |
US8180747B2 (en) * | 2007-11-12 | 2012-05-15 | F5 Networks, Inc. | Load sharing cluster file systems |
US8117244B2 (en) * | 2007-11-12 | 2012-02-14 | F5 Networks, Inc. | Non-disruptive file migration |
US8352785B1 (en) | 2007-12-13 | 2013-01-08 | F5 Networks, Inc. | Methods for generating a unified virtual snapshot and systems thereof |
DE112008003826B4 (de) | 2008-04-25 | 2015-08-20 | Hewlett-Packard Development Company, L.P. | Datenverarbeitungsvorrichtung und Verfahren zur Datenverarbeitung |
US8055613B1 (en) * | 2008-04-29 | 2011-11-08 | Netapp, Inc. | Method and apparatus for efficiently detecting and logging file system changes |
US8090909B2 (en) * | 2008-06-06 | 2012-01-03 | Pivot3 | Method and system for distributed raid implementation |
US20090307329A1 (en) * | 2008-06-06 | 2009-12-10 | Chris Olston | Adaptive file placement in a distributed file system |
US8219750B2 (en) * | 2008-06-30 | 2012-07-10 | Pivot3 | Method and system for execution of applications in conjunction with distributed RAID |
US8549582B1 (en) | 2008-07-11 | 2013-10-01 | F5 Networks, Inc. | Methods for handling a multi-protocol content name and systems thereof |
US8307177B2 (en) | 2008-09-05 | 2012-11-06 | Commvault Systems, Inc. | Systems and methods for management of virtualization data |
US20100106551A1 (en) * | 2008-10-24 | 2010-04-29 | Oskari Koskimies | Method, system, and apparatus for process management |
US8176247B2 (en) * | 2008-10-28 | 2012-05-08 | Pivot3 | Method and system for protecting against multiple failures in a RAID system |
TW201035760A (en) * | 2009-03-18 | 2010-10-01 | Inventec Corp | Method for backing up data of a server machine |
CN101527736A (zh) * | 2009-04-09 | 2009-09-09 | 中兴通讯股份有限公司 | 分布式文件系统中业务内容处理、更新方法与装置 |
US8635184B2 (en) * | 2009-06-25 | 2014-01-21 | Emc Corporation | System and method for providing long-term storage for data |
US7856528B1 (en) * | 2009-08-11 | 2010-12-21 | Texas Memory Systems, Inc. | Method and apparatus for protecting data using variable size page stripes in a FLASH-based storage system |
US8706867B2 (en) * | 2011-03-31 | 2014-04-22 | Commvault Systems, Inc. | Realtime streaming of multimedia content from secondary storage devices |
US8473677B2 (en) * | 2009-09-29 | 2013-06-25 | Cleversafe, Inc. | Distributed storage network memory access based on memory state |
US10721269B1 (en) | 2009-11-06 | 2020-07-21 | F5 Networks, Inc. | Methods and system for returning requests with javascript for clients before passing a request to a server |
US8161128B2 (en) * | 2009-12-16 | 2012-04-17 | International Business Machines Corporation | Sharing of data across disjoint clusters |
US8204860B1 (en) | 2010-02-09 | 2012-06-19 | F5 Networks, Inc. | Methods and systems for snapshot reconstitution |
US9195500B1 (en) | 2010-02-09 | 2015-11-24 | F5 Networks, Inc. | Methods for seamless storage importing and devices thereof |
WO2011104743A1 (en) * | 2010-02-23 | 2011-09-01 | Hitachi, Ltd. | Management system and management method for storage system |
US9396104B1 (en) * | 2010-03-22 | 2016-07-19 | Seagate Technology, Llc | Accessing compressed data of varying-sized quanta in non-volatile memory |
US9454441B2 (en) * | 2010-04-19 | 2016-09-27 | Microsoft Technology Licensing, Llc | Data layout for recovery and durability |
US9170892B2 (en) | 2010-04-19 | 2015-10-27 | Microsoft Technology Licensing, Llc | Server failure recovery |
US8447833B2 (en) | 2010-04-19 | 2013-05-21 | Microsoft Corporation | Reading and writing during cluster growth phase |
US9813529B2 (en) | 2011-04-28 | 2017-11-07 | Microsoft Technology Licensing, Llc | Effective circuits in packet-switched networks |
US8438244B2 (en) | 2010-04-19 | 2013-05-07 | Microsoft Corporation | Bandwidth-proportioned datacenters |
US8996611B2 (en) | 2011-01-31 | 2015-03-31 | Microsoft Technology Licensing, Llc | Parallel serialization of request processing |
US8533299B2 (en) | 2010-04-19 | 2013-09-10 | Microsoft Corporation | Locator table and client library for datacenters |
US11449394B2 (en) | 2010-06-04 | 2022-09-20 | Commvault Systems, Inc. | Failover systems and methods for performing backup operations, including heterogeneous indexing and load balancing of backup and indexing resources |
US10423577B2 (en) * | 2010-06-29 | 2019-09-24 | International Business Machines Corporation | Collections for storage artifacts of a tree structured repository established via artifact metadata |
US8347100B1 (en) | 2010-07-14 | 2013-01-01 | F5 Networks, Inc. | Methods for DNSSEC proxying and deployment amelioration and systems thereof |
US8751789B2 (en) * | 2010-09-17 | 2014-06-10 | International Business Machines Corporation | General purpose distributed encrypted file system |
KR101374655B1 (ko) | 2010-09-29 | 2014-03-24 | 네이버비즈니스플랫폼 주식회사 | 파일 볼륨을 청크 단위로 분산 처리하는 시스템 및 방법 |
WO2012045021A2 (en) | 2010-09-30 | 2012-04-05 | Commvault Systems, Inc. | Efficient data management improvements, such as docking limited-feature data management modules to a full-featured data management system |
US9286298B1 (en) | 2010-10-14 | 2016-03-15 | F5 Networks, Inc. | Methods for enhancing management of backup data sets and devices thereof |
US8495108B2 (en) * | 2010-11-30 | 2013-07-23 | International Business Machines Corporation | Virtual node subpool management |
JP5697195B2 (ja) | 2010-12-24 | 2015-04-08 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | アクセス予測に基づいてテーブルのミラーリングを制御する管理システム、プログラムおよび方法 |
WO2012089701A1 (en) | 2010-12-27 | 2012-07-05 | Amplidata Nv | A distributed object storage system comprising performance optimizations |
US8639971B1 (en) * | 2011-02-17 | 2014-01-28 | Scale Computing | Condition detection and reporting in complex systems |
US8527699B2 (en) | 2011-04-25 | 2013-09-03 | Pivot3, Inc. | Method and system for distributed RAID implementation |
US8904128B2 (en) | 2011-06-08 | 2014-12-02 | Hewlett-Packard Development Company, L.P. | Processing a request to restore deduplicated data |
US8843502B2 (en) | 2011-06-24 | 2014-09-23 | Microsoft Corporation | Sorting a dataset of incrementally received data |
US8396836B1 (en) | 2011-06-30 | 2013-03-12 | F5 Networks, Inc. | System for mitigating file virtualization storage import latency |
US20130007091A1 (en) * | 2011-07-01 | 2013-01-03 | Yahoo! Inc. | Methods and apparatuses for storing shared data files in distributed file systems |
US9553817B1 (en) | 2011-07-14 | 2017-01-24 | Sprint Communications Company L.P. | Diverse transmission of packet content |
US8949305B1 (en) | 2011-07-15 | 2015-02-03 | Scale Computing, Inc. | Distributed dynamic system configuration |
US9104651B1 (en) | 2011-07-15 | 2015-08-11 | Scale Computing, Inc. | Techniques for distributing tests and test suites across a network |
JP5395858B2 (ja) * | 2011-08-30 | 2014-01-22 | シャープ株式会社 | 画像処理装置 |
CN103019614B (zh) | 2011-09-23 | 2015-11-25 | 阿里巴巴集团控股有限公司 | 分布式存储系统管理装置及方法 |
US9461881B2 (en) | 2011-09-30 | 2016-10-04 | Commvault Systems, Inc. | Migration of existing computing systems to cloud computing sites or virtual machines |
US9372827B2 (en) | 2011-09-30 | 2016-06-21 | Commvault Systems, Inc. | Migration of an existing computing system to new hardware |
US9116633B2 (en) | 2011-09-30 | 2015-08-25 | Commvault Systems, Inc. | Information management of virtual machines having mapped storage devices |
CN102541985A (zh) * | 2011-10-25 | 2012-07-04 | 曙光信息产业(北京)有限公司 | 一种分布式文件系统中客户端目录缓存的组织方法 |
CN102385623B (zh) * | 2011-10-25 | 2013-08-28 | 曙光信息产业(北京)有限公司 | 一种分布式文件系统中目录的存取方法 |
US8463850B1 (en) | 2011-10-26 | 2013-06-11 | F5 Networks, Inc. | System and method of algorithmically generating a server side transaction identifier |
CN103106213B (zh) * | 2011-11-14 | 2016-11-23 | 中国科学院声学研究所 | 一种基于文件和数据块两级粒度的副本替换方法及系统 |
US9020912B1 (en) | 2012-02-20 | 2015-04-28 | F5 Networks, Inc. | Methods for accessing data in a compressed file system and devices thereof |
GB201203558D0 (en) * | 2012-02-29 | 2012-04-11 | Qando Service Inc | Delivering data over a network |
US9077665B1 (en) | 2012-05-24 | 2015-07-07 | Scale Computing, Inc. | Transferring virtual machines and resource localization in a distributed fault-tolerant system |
US8799746B2 (en) * | 2012-06-13 | 2014-08-05 | Caringo, Inc. | Erasure coding and replication in storage clusters |
US10430216B1 (en) | 2012-08-23 | 2019-10-01 | Scale Computing Inc | Virtual machine automated selection |
US10019287B1 (en) | 2012-08-23 | 2018-07-10 | Scale Computing | Virtual machine resource display |
US9778856B2 (en) | 2012-08-30 | 2017-10-03 | Microsoft Technology Licensing, Llc | Block-level access to parallel storage |
US9519501B1 (en) | 2012-09-30 | 2016-12-13 | F5 Networks, Inc. | Hardware assisted flow acceleration and L2 SMAC management in a heterogeneous distributed multi-tenant virtualized clustered system |
EP2915049B1 (en) | 2012-10-30 | 2020-03-04 | Hewlett-Packard Enterprise Development LP | Smart memory buffers |
US9032177B2 (en) * | 2012-12-04 | 2015-05-12 | HGST Netherlands B.V. | Host read command return reordering based on time estimation of flash read command completion |
CN103065096B (zh) * | 2012-12-18 | 2016-06-08 | 华为技术有限公司 | 一种数据保护方法、装置及系统 |
US9223597B2 (en) | 2012-12-21 | 2015-12-29 | Commvault Systems, Inc. | Archiving virtual machines in a data storage system |
US20140181038A1 (en) | 2012-12-21 | 2014-06-26 | Commvault Systems, Inc. | Systems and methods to categorize unprotected virtual machines |
US20140181112A1 (en) * | 2012-12-26 | 2014-06-26 | Hon Hai Precision Industry Co., Ltd. | Control device and file distribution method |
US9378035B2 (en) | 2012-12-28 | 2016-06-28 | Commvault Systems, Inc. | Systems and methods for repurposing virtual machines |
US9703584B2 (en) | 2013-01-08 | 2017-07-11 | Commvault Systems, Inc. | Virtual server agent load balancing |
US20140201162A1 (en) | 2013-01-11 | 2014-07-17 | Commvault Systems, Inc. | Systems and methods to restore selected files from block-level backup for virtual machines |
US9286110B2 (en) | 2013-01-14 | 2016-03-15 | Commvault Systems, Inc. | Seamless virtual machine recall in a data storage system |
US10375155B1 (en) | 2013-02-19 | 2019-08-06 | F5 Networks, Inc. | System and method for achieving hardware acceleration for asymmetric flow connections |
US9554418B1 (en) | 2013-02-28 | 2017-01-24 | F5 Networks, Inc. | Device for topology hiding of a visited network |
US10127235B2 (en) * | 2013-03-06 | 2018-11-13 | Quest Software Inc. | Storage system deduplication with service level agreements |
US11422907B2 (en) | 2013-08-19 | 2022-08-23 | Microsoft Technology Licensing, Llc | Disconnected operation for systems utilizing cloud storage |
US9887924B2 (en) | 2013-08-26 | 2018-02-06 | Vmware, Inc. | Distributed policy-based provisioning and enforcement for quality of service |
US9672115B2 (en) | 2013-08-26 | 2017-06-06 | Vmware, Inc. | Partition tolerance in cluster membership management |
US11016820B2 (en) | 2013-08-26 | 2021-05-25 | Vmware, Inc. | Load balancing of resources |
US9811531B2 (en) | 2013-08-26 | 2017-11-07 | Vmware, Inc. | Scalable distributed storage architecture |
US10747475B2 (en) | 2013-08-26 | 2020-08-18 | Vmware, Inc. | Virtual disk blueprints for a virtualized storage area network, wherein virtual disk objects are created from local physical storage of host computers that are running multiple virtual machines |
US9749414B2 (en) * | 2013-08-29 | 2017-08-29 | International Business Machines Corporation | Storing low retention priority data in a dispersed storage network |
US20150074536A1 (en) | 2013-09-12 | 2015-03-12 | Commvault Systems, Inc. | File manager integration with virtualization in an information management system, including user control and storage management of virtual machines |
CN103488433B (zh) * | 2013-09-18 | 2016-05-11 | 北京思特奇信息技术股份有限公司 | 一种基于分布式文件系统的批量文件操作方法及系统 |
CN103473337A (zh) * | 2013-09-22 | 2013-12-25 | 北京航空航天大学 | 一种分布式存储系统中处理面向海量目录和文件的方法 |
CN103617293A (zh) * | 2013-12-16 | 2014-03-05 | 北京航空航天大学 | 一种面向海量小文件存储系统的Key-Value存储方法 |
US9798631B2 (en) | 2014-02-04 | 2017-10-24 | Microsoft Technology Licensing, Llc | Block storage by decoupling ordering from durability |
US10372685B2 (en) | 2014-03-31 | 2019-08-06 | Amazon Technologies, Inc. | Scalable file storage service |
US10264071B2 (en) | 2014-03-31 | 2019-04-16 | Amazon Technologies, Inc. | Session management in distributed storage systems |
US9772787B2 (en) * | 2014-03-31 | 2017-09-26 | Amazon Technologies, Inc. | File storage using variable stripe sizes |
US9811427B2 (en) | 2014-04-02 | 2017-11-07 | Commvault Systems, Inc. | Information management by a media agent in the absence of communications with a storage manager |
US10459892B2 (en) * | 2014-04-23 | 2019-10-29 | Qumulo, Inc. | Filesystem hierarchical aggregate metrics |
US9495293B1 (en) * | 2014-05-05 | 2016-11-15 | EMC IP Holding Company, LLC | Zone consistency |
US11838851B1 (en) | 2014-07-15 | 2023-12-05 | F5, Inc. | Methods for managing L7 traffic classification and devices thereof |
US20160019317A1 (en) | 2014-07-16 | 2016-01-21 | Commvault Systems, Inc. | Volume or virtual machine level backup and generating placeholders for virtual machine files |
US20160026553A1 (en) * | 2014-07-22 | 2016-01-28 | Cray Inc. | Computer workload manager |
US9893960B2 (en) * | 2014-08-12 | 2018-02-13 | S-Printing Solution Co., Ltd. | Device hub system with resource access mechanism and method of operation thereof |
US9710465B2 (en) | 2014-09-22 | 2017-07-18 | Commvault Systems, Inc. | Efficiently restoring execution of a backed up virtual machine based on coordination with virtual-machine-file-relocation operations |
US9436555B2 (en) | 2014-09-22 | 2016-09-06 | Commvault Systems, Inc. | Efficient live-mount of a backed up virtual machine in a storage management system |
US9417968B2 (en) | 2014-09-22 | 2016-08-16 | Commvault Systems, Inc. | Efficiently restoring execution of a backed up virtual machine based on coordination with virtual-machine-file-relocation operations |
US10776209B2 (en) | 2014-11-10 | 2020-09-15 | Commvault Systems, Inc. | Cross-platform virtual machine backup and replication |
US20160142485A1 (en) | 2014-11-19 | 2016-05-19 | Commvault Systems, Inc. | Migration to cloud storage from backup |
US9983936B2 (en) | 2014-11-20 | 2018-05-29 | Commvault Systems, Inc. | Virtual machine change block tracking |
US10182013B1 (en) | 2014-12-01 | 2019-01-15 | F5 Networks, Inc. | Methods for managing progressive image delivery and devices thereof |
US11132336B2 (en) | 2015-01-12 | 2021-09-28 | Qumulo, Inc. | Filesystem hierarchical capacity quantity and aggregate metrics |
US9836480B2 (en) | 2015-01-12 | 2017-12-05 | Qumulo, Inc. | Filesystem capacity and performance metrics and visualizations |
US11895138B1 (en) | 2015-02-02 | 2024-02-06 | F5, Inc. | Methods for improving web scanner accuracy and devices thereof |
US10275185B2 (en) * | 2015-02-27 | 2019-04-30 | International Business Machines Corporation | Fail-in-place supported via decentralized or Distributed Agreement Protocol (DAP) |
US11188665B2 (en) | 2015-02-27 | 2021-11-30 | Pure Storage, Inc. | Using internal sensors to detect adverse interference and take defensive actions |
CN104639661A (zh) * | 2015-03-13 | 2015-05-20 | 华存数据信息技术有限公司 | 分布式存储系统及文件存储和读取方法 |
CN104731526B (zh) * | 2015-03-17 | 2017-11-03 | 中国科学院计算技术研究所 | 一种不满条带写的方法及装置 |
CN104731527B (zh) * | 2015-03-17 | 2018-09-07 | 中国科学院计算技术研究所 | 一种三条带状态转换方法 |
US9824114B1 (en) * | 2015-03-30 | 2017-11-21 | EMC IP Holding Company LLC | Multiple concurrent cursors for file repair |
US10834065B1 (en) | 2015-03-31 | 2020-11-10 | F5 Networks, Inc. | Methods for SSL protected NTLM re-authentication and devices thereof |
US10084873B2 (en) | 2015-06-19 | 2018-09-25 | Commvault Systems, Inc. | Assignment of data agent proxies for executing virtual-machine secondary copy operations including streaming backup jobs |
US9563514B2 (en) | 2015-06-19 | 2017-02-07 | Commvault Systems, Inc. | Assignment of proxies for virtual-machine secondary copy operations including streaming backup jobs |
US10705909B2 (en) * | 2015-06-25 | 2020-07-07 | International Business Machines Corporation | File level defined de-clustered redundant array of independent storage devices solution |
CN105162847B (zh) * | 2015-08-10 | 2018-05-08 | 电子科技大学 | 分布式流数据存储系统的存储资源规划方法 |
US10025788B2 (en) * | 2015-09-29 | 2018-07-17 | International Business Machines Corporation | Detection of file corruption in a distributed file system |
US10379742B2 (en) * | 2015-12-28 | 2019-08-13 | Netapp, Inc. | Storage zone set membership |
US10404698B1 (en) | 2016-01-15 | 2019-09-03 | F5 Networks, Inc. | Methods for adaptive organization of web application access points in webtops and devices thereof |
US10797888B1 (en) | 2016-01-20 | 2020-10-06 | F5 Networks, Inc. | Methods for secured SCEP enrollment for client devices and devices thereof |
US10162834B2 (en) * | 2016-01-29 | 2018-12-25 | Vmware, Inc. | Fine-grained metadata management in a distributed file system |
US10514984B2 (en) | 2016-02-26 | 2019-12-24 | Netapp, Inc. | Risk based rebuild of data objects in an erasure coded storage system |
US10476957B2 (en) * | 2016-02-26 | 2019-11-12 | Red Hat, Inc. | Granular entry self-healing |
US10592350B2 (en) | 2016-03-09 | 2020-03-17 | Commvault Systems, Inc. | Virtual server cloud file system for virtual machine restore to cloud operations |
US10019317B2 (en) * | 2016-04-25 | 2018-07-10 | Nexenta Systems, Inc. | Parity protection for data chunks in an object storage system |
KR102580123B1 (ko) * | 2016-05-03 | 2023-09-20 | 삼성전자주식회사 | Raid 스토리지 장치 및 그것의 관리 방법 |
US10747630B2 (en) | 2016-09-30 | 2020-08-18 | Commvault Systems, Inc. | Heartbeat monitoring of virtual machines for initiating failover operations in a data storage management system, including operations by a master monitor node |
US10540516B2 (en) | 2016-10-13 | 2020-01-21 | Commvault Systems, Inc. | Data protection within an unsecured storage environment |
US10152251B2 (en) | 2016-10-25 | 2018-12-11 | Commvault Systems, Inc. | Targeted backup of virtual machine |
US10162528B2 (en) | 2016-10-25 | 2018-12-25 | Commvault Systems, Inc. | Targeted snapshot based on virtual machine location |
EP3839821A3 (en) * | 2016-10-25 | 2021-09-15 | Owl Cameras, Inc. | Video-based data collection, image capture and analysis configuration |
US10412198B1 (en) | 2016-10-27 | 2019-09-10 | F5 Networks, Inc. | Methods for improved transmission control protocol (TCP) performance visibility and devices thereof |
US10678758B2 (en) | 2016-11-21 | 2020-06-09 | Commvault Systems, Inc. | Cross-platform virtual machine data and memory backup and replication |
US10095729B2 (en) | 2016-12-09 | 2018-10-09 | Qumulo, Inc. | Managing storage quotas in a shared storage system |
US10346355B2 (en) | 2016-12-23 | 2019-07-09 | Qumulo, Inc. | Filesystem block sampling to identify user consumption of storage resources |
US10585860B2 (en) | 2017-01-03 | 2020-03-10 | International Business Machines Corporation | Global namespace for a hierarchical set of file systems |
US10592479B2 (en) | 2017-01-03 | 2020-03-17 | International Business Machines Corporation | Space management for a hierarchical set of file systems |
US10657102B2 (en) | 2017-01-03 | 2020-05-19 | International Business Machines Corporation | Storage space management in union mounted file systems |
US10649955B2 (en) | 2017-01-03 | 2020-05-12 | International Business Machines Corporation | Providing unique inodes across multiple file system namespaces |
US10579587B2 (en) | 2017-01-03 | 2020-03-03 | International Business Machines Corporation | Space management for a hierarchical set of file systems |
US10579598B2 (en) | 2017-01-03 | 2020-03-03 | International Business Machines Corporation | Global namespace for a hierarchical set of file systems |
CN106919347A (zh) * | 2017-02-28 | 2017-07-04 | 北京华云网际科技有限公司 | 分布式块存储系统的目录的创建方法和装置 |
US10949308B2 (en) | 2017-03-15 | 2021-03-16 | Commvault Systems, Inc. | Application aware backup of virtual machines |
US10079612B1 (en) | 2017-03-15 | 2018-09-18 | Alibaba Group Holding Limited | Distributed erasure coding pool deployed in hyperscale infrastructure |
US10896100B2 (en) | 2017-03-24 | 2021-01-19 | Commvault Systems, Inc. | Buffered virtual machine replication |
US11150846B2 (en) * | 2017-03-28 | 2021-10-19 | Hitachi, Ltd. | Storage system, computer-readable recording medium, and control method for system that reconstructs and distributes data |
US11108858B2 (en) | 2017-03-28 | 2021-08-31 | Commvault Systems, Inc. | Archiving mail servers via a simple mail transfer protocol (SMTP) server |
US11074138B2 (en) | 2017-03-29 | 2021-07-27 | Commvault Systems, Inc. | Multi-streaming backup operations for mailboxes |
US10387073B2 (en) | 2017-03-29 | 2019-08-20 | Commvault Systems, Inc. | External dynamic virtual machine synchronization |
US10552294B2 (en) | 2017-03-31 | 2020-02-04 | Commvault Systems, Inc. | Management of internet of things devices |
US11294786B2 (en) | 2017-03-31 | 2022-04-05 | Commvault Systems, Inc. | Management of internet of things devices |
US11221939B2 (en) | 2017-03-31 | 2022-01-11 | Commvault Systems, Inc. | Managing data from internet of things devices in a vehicle |
US10853195B2 (en) | 2017-03-31 | 2020-12-01 | Commvault Systems, Inc. | Granular restoration of virtual machine application data |
JP2018185757A (ja) * | 2017-04-27 | 2018-11-22 | 富士通株式会社 | ストレージ制御装置、ストレージ制御方法、およびストレージ制御プログラム |
US10423351B1 (en) * | 2017-04-28 | 2019-09-24 | EMC IP Holding Company LLC | System and method for capacity and network traffic efficient data protection on distributed storage system |
US11321402B2 (en) | 2017-05-05 | 2022-05-03 | Microsoft Technology Licensing, Llc. | Index storage across heterogenous storage devices |
US10567492B1 (en) | 2017-05-11 | 2020-02-18 | F5 Networks, Inc. | Methods for load balancing in a federated identity environment and devices thereof |
CN110915161B (zh) * | 2017-07-12 | 2023-05-02 | 惠普发展公司,有限责任合伙企业 | 计算设备、存储器设备迁移方法和系统 |
US10365845B1 (en) | 2017-07-27 | 2019-07-30 | EMC IP Holding Company LLC | Mapped raid restripe for improved drive utilization |
CN109426587B (zh) * | 2017-08-25 | 2020-08-28 | 杭州海康威视数字技术股份有限公司 | 一种数据恢复方法及装置 |
US10831708B2 (en) * | 2017-12-20 | 2020-11-10 | Mastercard International Incorporated | Systems and methods for improved processing of a data file |
US11223689B1 (en) | 2018-01-05 | 2022-01-11 | F5 Networks, Inc. | Methods for multipath transmission control protocol (MPTCP) based session migration and devices thereof |
CN110109867B (zh) * | 2018-01-18 | 2023-03-31 | 伊姆西Ip控股有限责任公司 | 改进在线模式检测的方法、装置和计算机程序产品 |
CN110058792B (zh) | 2018-01-18 | 2022-08-30 | 伊姆西Ip控股有限责任公司 | 扩大存储空间的方法、设备以及计算机程序产品 |
CN110058960B (zh) * | 2018-01-18 | 2023-05-16 | 伊姆西Ip控股有限责任公司 | 用于管理存储系统的方法、设备和计算机程序产品 |
US20190251204A1 (en) | 2018-02-14 | 2019-08-15 | Commvault Systems, Inc. | Targeted search of backup data using calendar event data |
US10833943B1 (en) | 2018-03-01 | 2020-11-10 | F5 Networks, Inc. | Methods for service chaining and devices thereof |
US10877928B2 (en) | 2018-03-07 | 2020-12-29 | Commvault Systems, Inc. | Using utilities injected into cloud-based virtual machines for speeding up virtual machine backup operations |
CN110413208B (zh) | 2018-04-28 | 2023-05-30 | 伊姆西Ip控股有限责任公司 | 用于管理存储系统的方法、设备和计算机程序产品 |
US11360936B2 (en) | 2018-06-08 | 2022-06-14 | Qumulo, Inc. | Managing per object snapshot coverage in filesystems |
US10754726B2 (en) * | 2018-08-21 | 2020-08-25 | Micron Technology, Inc. | Tracking error-correction parity calculations |
US12003422B1 (en) | 2018-09-28 | 2024-06-04 | F5, Inc. | Methods for switching network packets based on packet data and devices |
US11200124B2 (en) | 2018-12-06 | 2021-12-14 | Commvault Systems, Inc. | Assigning backup resources based on failover of partnered data storage servers in a data storage management system |
US10942808B2 (en) | 2018-12-17 | 2021-03-09 | International Business Machines Corporation | Adaptive data and parity placement using compression ratios of storage devices |
CN109840247B (zh) * | 2018-12-18 | 2020-12-18 | 深圳先进技术研究院 | 文件系统及数据布局方法 |
US10534758B1 (en) | 2018-12-20 | 2020-01-14 | Qumulo, Inc. | File system cache tiers |
US10768971B2 (en) | 2019-01-30 | 2020-09-08 | Commvault Systems, Inc. | Cross-hypervisor live mount of backed up virtual machine data |
US10996974B2 (en) | 2019-01-30 | 2021-05-04 | Commvault Systems, Inc. | Cross-hypervisor live mount of backed up virtual machine data, including management of cache storage for virtual machine data |
US11151092B2 (en) | 2019-01-30 | 2021-10-19 | Qumulo, Inc. | Data replication in distributed file systems |
US10614033B1 (en) | 2019-01-30 | 2020-04-07 | Qumulo, Inc. | Client aware pre-fetch policy scoring system |
CN111506450B (zh) * | 2019-01-31 | 2024-01-02 | 伊姆西Ip控股有限责任公司 | 用于数据处理的方法、设备和计算机程序产品 |
US10936219B2 (en) * | 2019-04-26 | 2021-03-02 | Dell Products L.P. | Controller-based inter-device notational data movement system |
CN111966527A (zh) * | 2019-05-20 | 2020-11-20 | 深圳市茁壮网络股份有限公司 | 备份式数据存储的健康管理方法及装置 |
CN110457163B (zh) * | 2019-07-05 | 2022-05-03 | 苏州元核云技术有限公司 | 一种分布式块存储的数据恢复方法、装置及存储介质 |
US10725977B1 (en) | 2019-10-21 | 2020-07-28 | Qumulo, Inc. | Managing file system state during replication jobs |
US10860372B1 (en) | 2020-01-24 | 2020-12-08 | Qumulo, Inc. | Managing throughput fairness and quality of service in file systems |
US10795796B1 (en) | 2020-01-24 | 2020-10-06 | Qumulo, Inc. | Predictive performance analysis for file systems |
US11151001B2 (en) | 2020-01-28 | 2021-10-19 | Qumulo, Inc. | Recovery checkpoints for distributed file systems |
US10860414B1 (en) | 2020-01-31 | 2020-12-08 | Qumulo, Inc. | Change notification in distributed file systems |
US11467753B2 (en) | 2020-02-14 | 2022-10-11 | Commvault Systems, Inc. | On-demand restore of virtual machine data |
US11442768B2 (en) | 2020-03-12 | 2022-09-13 | Commvault Systems, Inc. | Cross-hypervisor live recovery of virtual machines |
US11099956B1 (en) | 2020-03-26 | 2021-08-24 | Commvault Systems, Inc. | Snapshot-based disaster recovery orchestration of virtual machine failover and failback operations |
US10936538B1 (en) | 2020-03-30 | 2021-03-02 | Qumulo, Inc. | Fair sampling of alternate data stream metrics for file systems |
US10936551B1 (en) | 2020-03-30 | 2021-03-02 | Qumulo, Inc. | Aggregating alternate data stream metrics for file systems |
US11748143B2 (en) | 2020-05-15 | 2023-09-05 | Commvault Systems, Inc. | Live mount of virtual machines in a public cloud computing environment |
RU2747213C1 (ru) * | 2020-06-24 | 2021-04-29 | Общество с ограниченной ответственностью "РЭЙДИКС" | Способ перераспределения данных при расширении массива дисков |
US11775481B2 (en) | 2020-09-30 | 2023-10-03 | Qumulo, Inc. | User interfaces for managing distributed file systems |
US11656951B2 (en) | 2020-10-28 | 2023-05-23 | Commvault Systems, Inc. | Data loss vulnerability detection |
US11789976B2 (en) | 2020-12-21 | 2023-10-17 | Dropbox, Inc. | Data model and data service for content management system |
US11803652B2 (en) | 2020-12-21 | 2023-10-31 | Dropbox, Inc. | Determining access changes |
US11366793B1 (en) * | 2020-12-21 | 2022-06-21 | Dropbox, Inc. | Data model and data service for content management system |
US12001574B2 (en) | 2020-12-21 | 2024-06-04 | Dropbox, Inc. | Evaluating an access control list from permission statements |
US11799958B2 (en) | 2020-12-21 | 2023-10-24 | Dropbox, Inc. | Evaluating access based on group membership |
US11016688B1 (en) * | 2021-01-06 | 2021-05-25 | Open Drives LLC | Real-time localized data access in a distributed data storage system |
US11157458B1 (en) | 2021-01-28 | 2021-10-26 | Qumulo, Inc. | Replicating files in distributed file systems using object-based data storage |
US11461241B2 (en) | 2021-03-03 | 2022-10-04 | Qumulo, Inc. | Storage tier management for file systems |
US11132126B1 (en) | 2021-03-16 | 2021-09-28 | Qumulo, Inc. | Backup services for distributed file systems in cloud computing environments |
US11567660B2 (en) | 2021-03-16 | 2023-01-31 | Qumulo, Inc. | Managing cloud storage for distributed file systems |
US11669255B2 (en) | 2021-06-30 | 2023-06-06 | Qumulo, Inc. | Distributed resource caching by reallocation of storage caching using tokens and agents with non-depleted cache allocations |
US11294604B1 (en) | 2021-10-22 | 2022-04-05 | Qumulo, Inc. | Serverless disk drives based on cloud storage |
US11354273B1 (en) | 2021-11-18 | 2022-06-07 | Qumulo, Inc. | Managing usable storage space in distributed file systems |
CN114428764B (zh) * | 2022-01-26 | 2024-04-02 | 重庆紫光华山智安科技有限公司 | 文件写入方法、系统、电子设备及可读存储介质 |
US11599508B1 (en) | 2022-01-31 | 2023-03-07 | Qumulo, Inc. | Integrating distributed file systems with object stores |
CN114153651B (zh) * | 2022-02-09 | 2022-04-29 | 苏州浪潮智能科技有限公司 | 一种数据编码方法、装置、设备及介质 |
US11722150B1 (en) | 2022-09-28 | 2023-08-08 | Qumulo, Inc. | Error resistant write-ahead log |
US11729269B1 (en) | 2022-10-26 | 2023-08-15 | Qumulo, Inc. | Bandwidth management in distributed file systems |
US11966592B1 (en) | 2022-11-29 | 2024-04-23 | Qumulo, Inc. | In-place erasure code transcoding for distributed file systems |
CN116069753A (zh) * | 2023-03-06 | 2023-05-05 | 浪潮电子信息产业股份有限公司 | 存算分离方法、系统、设备及介质 |
US11921677B1 (en) | 2023-11-07 | 2024-03-05 | Qumulo, Inc. | Sharing namespaces across file system clusters |
US11934660B1 (en) | 2023-11-07 | 2024-03-19 | Qumulo, Inc. | Tiered data storage with ephemeral and persistent tiers |
Family Cites Families (300)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US426464A (en) | 1890-04-29 | Ice-tongs | ||
US5163131A (en) * | 1989-09-08 | 1992-11-10 | Auspex Systems, Inc. | Parallel i/o network file server architecture |
US5181162A (en) | 1989-12-06 | 1993-01-19 | Eastman Kodak Company | Document management and production system |
JPH04211844A (ja) * | 1990-01-19 | 1992-08-03 | Texas Instr Inc <Ti> | ファイルシステムディフラグメント化装置及び方法 |
US5230047A (en) | 1990-04-16 | 1993-07-20 | International Business Machines Corporation | Method for balancing of distributed tree file structures in parallel computing systems to enable recovery after a failure |
DE69017198T2 (de) | 1990-05-15 | 1995-08-17 | International Business Machines Corp., Armonk, N.Y. | Hybrides Vermittlungssystem für einen Kommunikationsknoten. |
JPH0731582B2 (ja) | 1990-06-21 | 1995-04-10 | インターナショナル・ビジネス・マシーンズ・コーポレイション | パリティ保護データを回復するための方法および装置 |
US5212784A (en) * | 1990-10-22 | 1993-05-18 | Delphi Data, A Division Of Sparks Industries, Inc. | Automated concurrent data backup system |
US5329626A (en) | 1990-10-23 | 1994-07-12 | Digital Equipment Corporation | System for distributed computation processing includes dynamic assignment of predicates to define interdependencies |
EP0485110B1 (en) | 1990-11-09 | 1999-08-25 | Emc Corporation | Logical partitioning of a redundant array storage system |
US5734826A (en) * | 1991-03-29 | 1998-03-31 | International Business Machines Corporation | Variable cyclic redundancy coding method and apparatus for use in a multistage network |
US5258984A (en) | 1991-06-13 | 1993-11-02 | International Business Machines Corporation | Method and means for distributed sparing in DASD arrays |
JP3160106B2 (ja) | 1991-12-23 | 2001-04-23 | ヒュンダイ エレクトロニクス アメリカ | ディスクアレーの区分け方法 |
US5359594A (en) | 1992-05-15 | 1994-10-25 | International Business Machines Corporation | Power-saving full duplex nodal communications systems |
US5469562A (en) | 1992-06-26 | 1995-11-21 | Digital Equipment Corporation | Durable atomic storage update manager |
US5403639A (en) * | 1992-09-02 | 1995-04-04 | Storage Technology Corporation | File server having snapshot application data groups |
GB2270821A (en) * | 1992-09-19 | 1994-03-23 | Ibm | Message transmission in a computer network |
DE69322057T2 (de) | 1992-10-24 | 1999-06-10 | International Computers Ltd., Putney, London | Verteiltes Datenverarbeitungssystem |
US5649200A (en) * | 1993-01-08 | 1997-07-15 | Atria Software, Inc. | Dynamic rule-based version control system |
US5548724A (en) | 1993-03-22 | 1996-08-20 | Hitachi, Ltd. | File server system and file access control method of the same |
EP0701716B1 (en) | 1993-06-03 | 2002-08-14 | Network Appliance, Inc. | Method and file system for allocating blocks of files to storage space in a RAID disk system |
US6138126A (en) * | 1995-05-31 | 2000-10-24 | Network Appliance, Inc. | Method for allocating files in a file system integrated with a raid disk sub-system |
US5963962A (en) | 1995-05-31 | 1999-10-05 | Network Appliance, Inc. | Write anywhere file-system layout |
US5548795A (en) | 1994-03-28 | 1996-08-20 | Quantum Corporation | Method for determining command execution dependencies within command queue reordering process |
EP0684716B1 (en) * | 1994-05-25 | 2002-02-27 | International Business Machines Corporation | A data communication network and method for operating said network |
US5657439A (en) | 1994-08-23 | 1997-08-12 | International Business Machines Corporation | Distributed subsystem sparing |
US5694593A (en) | 1994-10-05 | 1997-12-02 | Northeastern University | Distributed computer database system and method |
DE69521101T2 (de) * | 1994-10-31 | 2001-10-18 | International Business Machines Corp., Armonk | Gemeinsam genutzte virtuelle Platten mit anwendungstransparenter Wiedergewinnung |
US6108759A (en) | 1995-02-23 | 2000-08-22 | Powerquest Corporation | Manipulation of partitions holding advanced file systems |
JP3358687B2 (ja) | 1995-03-13 | 2002-12-24 | 株式会社日立製作所 | ディスクアレイ装置 |
US5696895A (en) | 1995-05-19 | 1997-12-09 | Compaq Computer Corporation | Fault tolerant multiple network servers |
US5612865A (en) | 1995-06-01 | 1997-03-18 | Ncr Corporation | Dynamic hashing method for optimal distribution of locks within a clustered system |
US5787267A (en) | 1995-06-07 | 1998-07-28 | Monolithic System Technology, Inc. | Caching method and circuit for a memory system with circuit module architecture |
US5680621A (en) * | 1995-06-07 | 1997-10-21 | International Business Machines Corporation | System and method for domained incremental changes storage and retrieval |
JP3512910B2 (ja) | 1995-07-06 | 2004-03-31 | 株式会社東芝 | 分散計算機システムにおける記憶空間管理方法、計算機及びデータ転送方法 |
US5875456A (en) * | 1995-08-17 | 1999-02-23 | Nstor Corporation | Storage device array and methods for striping and unstriping data and for adding and removing disks online to/from a raid storage array |
US5870757A (en) | 1995-09-11 | 1999-02-09 | Sun Microsystems, Inc. | Single transaction technique for a journaling file system of a computer operating system |
US5774643A (en) * | 1995-10-13 | 1998-06-30 | Digital Equipment Corporation | Enhanced raid write hole protection and recovery |
US6449730B2 (en) * | 1995-10-24 | 2002-09-10 | Seachange Technology, Inc. | Loosely coupled mass storage computer cluster |
US6567926B2 (en) * | 1995-10-24 | 2003-05-20 | Seachange International, Inc. | Loosely coupled mass storage computer cluster |
US5862312A (en) * | 1995-10-24 | 1999-01-19 | Seachange Technology, Inc. | Loosely coupled mass storage computer cluster |
US5805578A (en) | 1995-10-27 | 1998-09-08 | International Business Machines Corporation | Automatic reconfiguration of multipoint communication channels |
US5799305A (en) | 1995-11-02 | 1998-08-25 | Informix Software, Inc. | Method of commitment in a distributed database transaction |
JPH103421A (ja) | 1995-11-20 | 1998-01-06 | Matsushita Electric Ind Co Ltd | 仮想ファイル管理システム |
US5761659A (en) | 1996-02-29 | 1998-06-02 | Sun Microsystems, Inc. | Method, product, and structure for flexible range locking of read and write requests using shared and exclusive locks, flags, sub-locks, and counters |
GB9605473D0 (en) | 1996-03-15 | 1996-05-15 | Int Computers Ltd | Parallel searching technique |
US6117181A (en) | 1996-03-22 | 2000-09-12 | Sun Microsystems, Inc. | Synchronization mechanism for distributed hardware simulation |
US5884098A (en) * | 1996-04-18 | 1999-03-16 | Emc Corporation | RAID controller system utilizing front end and back end caching systems including communication path connecting two caching systems and synchronizing allocation of blocks in caching systems |
US5806065A (en) | 1996-05-06 | 1998-09-08 | Microsoft Corporation | Data system with distributed tree indexes and method for maintaining the indexes |
US5917998A (en) * | 1996-07-26 | 1999-06-29 | International Business Machines Corporation | Method and apparatus for establishing and maintaining the status of membership sets used in mirrored read and write input/output without logging |
US6044367A (en) | 1996-08-02 | 2000-03-28 | Hewlett-Packard Company | Distributed I/O store |
US5878410A (en) | 1996-09-13 | 1999-03-02 | Microsoft Corporation | File system sort order indexes |
US5805900A (en) | 1996-09-26 | 1998-09-08 | International Business Machines Corporation | Method and apparatus for serializing resource access requests in a multisystem complex |
US5884046A (en) | 1996-10-23 | 1999-03-16 | Pluris, Inc. | Apparatus and method for sharing data and routing messages between a plurality of workstations in a local area network |
US5822790A (en) | 1997-02-07 | 1998-10-13 | Sun Microsystems, Inc. | Voting data prefetch engine |
US6070172A (en) * | 1997-03-06 | 2000-05-30 | Oracle Corporation | On-line free space defragmentation of a contiguous-file file system |
US5890147A (en) | 1997-03-07 | 1999-03-30 | Microsoft Corporation | Scope testing of documents in a search engine using document to folder mapping |
US5943690A (en) * | 1997-04-07 | 1999-08-24 | Sony Corporation | Data storage apparatus and method allocating sets of data |
US5878414A (en) | 1997-06-06 | 1999-03-02 | International Business Machines Corp. | Constructing a transaction serialization order based on parallel or distributed database log files |
US6393483B1 (en) * | 1997-06-30 | 2002-05-21 | Adaptec, Inc. | Method and apparatus for network interface card load balancing and port aggregation |
US6209059B1 (en) * | 1997-09-25 | 2001-03-27 | Emc Corporation | Method and apparatus for the on-line reconfiguration of the logical volumes of a data storage system |
US6014669A (en) * | 1997-10-01 | 2000-01-11 | Sun Microsystems, Inc. | Highly-available distributed cluster configuration database |
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 |
US6219693B1 (en) * | 1997-11-04 | 2001-04-17 | Adaptec, Inc. | File array storage architecture having file system distributed across a data processing platform |
US6055543A (en) | 1997-11-21 | 2000-04-25 | Verano | File wrapper containing cataloging information for content searching across multiple platforms |
US5966707A (en) * | 1997-12-02 | 1999-10-12 | International Business Machines Corporation | Method for managing a plurality of data processes residing in heterogeneous data repositories |
US6081883A (en) * | 1997-12-05 | 2000-06-27 | Auspex Systems, Incorporated | Processing system with dynamically allocatable buffer memory |
US6029168A (en) * | 1998-01-23 | 2000-02-22 | Tricord Systems, Inc. | Decentralized file mapping in a striped network file system in a distributed computing environment |
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 |
US6055564A (en) | 1998-03-11 | 2000-04-25 | Hewlett Packard Company | Admission control where priority indicator is used to discriminate between messages |
US6421781B1 (en) * | 1998-04-30 | 2002-07-16 | Openwave Systems Inc. | Method and apparatus for maintaining security in a push server |
US6122754A (en) | 1998-05-22 | 2000-09-19 | International Business Machines Corporation | Method and system for data recovery using a distributed and scalable data structure |
JP4234233B2 (ja) * | 1998-05-27 | 2009-03-04 | 富士通株式会社 | 情報記憶装置及びプログラムが記憶された記録媒体 |
US6463442B1 (en) * | 1998-06-30 | 2002-10-08 | Microsoft Corporation | Container independent data binding system |
JP3505093B2 (ja) * | 1998-09-18 | 2004-03-08 | 富士通株式会社 | ファイル管理システム |
US6631411B1 (en) | 1998-10-12 | 2003-10-07 | Freshwater Software, Inc. | Apparatus and method for monitoring a chain of electronic transactions |
US6862635B1 (en) | 1998-11-13 | 2005-03-01 | Cray Inc. | Synchronization techniques in a multithreaded environment |
US6385626B1 (en) * | 1998-11-19 | 2002-05-07 | Emc Corporation | Method and apparatus for identifying changes to a logical object based on changes to the logical object at physical level |
US6279007B1 (en) | 1998-11-30 | 2001-08-21 | Microsoft Corporation | Architecture for managing query friendly hierarchical values |
US6408313B1 (en) | 1998-12-16 | 2002-06-18 | Microsoft Corporation | Dynamic memory allocation based on free memory size |
US6434574B1 (en) | 1998-12-17 | 2002-08-13 | Apple Computer, Inc. | System and method for storing and retrieving filenames and files in computer memory using multiple encodings |
US6457139B1 (en) | 1998-12-30 | 2002-09-24 | Emc Corporation | Method and apparatus for providing a host computer with information relating to the mapping of logical volumes within an intelligent storage system |
US6334168B1 (en) | 1999-02-19 | 2001-12-25 | International Business Machines Corporation | Method and system for updating data in a data storage system |
US6321345B1 (en) | 1999-03-01 | 2001-11-20 | Seachange Systems, Inc. | Slow response in redundant arrays of inexpensive disks |
TW418360B (en) | 1999-03-02 | 2001-01-11 | Via Tech Inc | Memory access controller |
US6502174B1 (en) | 1999-03-03 | 2002-12-31 | International Business Machines Corporation | Method and system for managing meta data |
US6725392B1 (en) * | 1999-03-03 | 2004-04-20 | Adaptec, Inc. | Controller fault recovery system for a distributed file system |
US6353823B1 (en) | 1999-03-08 | 2002-03-05 | Intel Corporation | Method and system for using associative metadata |
US6658554B1 (en) | 1999-03-09 | 2003-12-02 | Wisconsin Alumni Res Found | Electronic processor providing direct data transfer between linked data consuming instructions |
US6671704B1 (en) | 1999-03-11 | 2003-12-30 | Hewlett-Packard Development Company, L.P. | Method and apparatus for handling failures of resource managers in a clustered environment |
US6523130B1 (en) * | 1999-03-11 | 2003-02-18 | Microsoft Corporation | Storage system having error detection and recovery |
US6907011B1 (en) | 1999-03-30 | 2005-06-14 | International Business Machines Corporation | Quiescent reconfiguration of a routing network |
US6801949B1 (en) * | 1999-04-12 | 2004-10-05 | Rainfinity, Inc. | Distributed server cluster with graphical user interface |
US6496842B1 (en) | 1999-05-28 | 2002-12-17 | Survol Interactive Technologies | Navigating heirarchically organized information |
US6405219B2 (en) * | 1999-06-22 | 2002-06-11 | F5 Networks, Inc. | Method and system for automatically updating the version of a set of files stored on content servers |
US6453389B1 (en) | 1999-06-25 | 2002-09-17 | Hewlett-Packard Company | Optimizing computer performance by using data compression principles to minimize a loss function |
US6415259B1 (en) | 1999-07-15 | 2002-07-02 | American Management Systems, Inc. | Automatic work progress tracking and optimizing engine for a telecommunications customer care and billing system |
AU7470700A (en) | 1999-08-24 | 2001-03-19 | Network Appliance, Inc. | Scalable file server with highly available pairs |
US7290056B1 (en) | 1999-09-09 | 2007-10-30 | Oracle International Corporation | Monitoring latency of a network to manage termination of distributed transactions |
US7206805B1 (en) | 1999-09-09 | 2007-04-17 | Oracle International Corporation | Asynchronous transcription object management system |
US6895482B1 (en) | 1999-09-10 | 2005-05-17 | International Business Machines Corporation | Reordering and flushing commands in a computer memory subsystem |
US20020029200A1 (en) | 1999-09-10 | 2002-03-07 | Charles Dulin | System and method for providing certificate validation and other services |
US6662184B1 (en) | 1999-09-23 | 2003-12-09 | International Business Machines Corporation | Lock-free wild card search data structure and method |
US7069320B1 (en) | 1999-10-04 | 2006-06-27 | International Business Machines Corporation | Reconfiguring a network by utilizing a predetermined length quiescent state |
US6549513B1 (en) | 1999-10-12 | 2003-04-15 | Alcatel | Method and apparatus for fast distributed restoration of a communication network |
US6571244B1 (en) | 1999-10-28 | 2003-05-27 | Microsoft Corporation | Run formation in large scale sorting using batched replacement selection |
US6584581B1 (en) * | 1999-12-06 | 2003-06-24 | Ab Initio Software Corporation | Continuous flow checkpointing data processing |
US6567894B1 (en) | 1999-12-08 | 2003-05-20 | International Business Machines Corporation | Method and apparatus to prefetch sequential pages in a multi-stream environment |
US6546443B1 (en) | 1999-12-15 | 2003-04-08 | Microsoft Corporation | Concurrency-safe reader-writer lock with time out support |
US6848029B2 (en) | 2000-01-03 | 2005-01-25 | Dirk Coldewey | Method and apparatus for prefetching recursive data structures |
US6748429B1 (en) * | 2000-01-10 | 2004-06-08 | Sun Microsystems, Inc. | Method to dynamically change cluster or distributed system configuration |
US7213063B2 (en) | 2000-01-18 | 2007-05-01 | Lucent Technologies Inc. | Method, apparatus and system for maintaining connections between computers using connection-oriented protocols |
GB2358557B (en) | 2000-01-18 | 2002-05-08 | Motorola Ltd | Digital communications system |
US6594660B1 (en) | 2000-01-24 | 2003-07-15 | Microsoft Corporation | Share latch clearing |
US6526478B1 (en) | 2000-02-02 | 2003-02-25 | Lsi Logic Corporation | Raid LUN creation using proportional disk mapping |
US20020163889A1 (en) | 2000-02-02 | 2002-11-07 | Yechiam Yemini | Method and apparatus for providing services on a dynamically addressed network |
EP1133101A1 (en) * | 2000-03-07 | 2001-09-12 | BRITISH TELECOMMUNICATIONS public limited company | Data distribution |
US6917942B1 (en) | 2000-03-15 | 2005-07-12 | International Business Machines Corporation | System for dynamically evaluating locks in a distributed data storage system |
CA2405526A1 (en) | 2000-04-03 | 2001-10-11 | Anthony V. Pugliese, Iii | System and method for displaying and selling goods and services |
US6598174B1 (en) * | 2000-04-26 | 2003-07-22 | Dell Products L.P. | Method and apparatus for storage unit replacement in non-redundant array |
US6735678B2 (en) * | 2000-05-24 | 2004-05-11 | Seagate Technology Llc | Method and apparatus for disc drive defragmentation |
US6922696B1 (en) | 2000-05-31 | 2005-07-26 | Sri International | Lattice-based security classification system and method |
JP3230677B1 (ja) * | 2000-06-01 | 2001-11-19 | 日本インターシステムズ株式会社 | 自動集計方法、自動集計装置および記録媒体 |
US6742020B1 (en) | 2000-06-08 | 2004-05-25 | Hewlett-Packard Development Company, L.P. | System and method for managing data flow and measuring service in a storage network |
US6618798B1 (en) | 2000-07-11 | 2003-09-09 | International Business Machines Corporation | Method, system, program, and data structures for mapping logical units to a storage space comprises of at least one array of storage units |
US6898607B2 (en) | 2000-07-11 | 2005-05-24 | Sony Corporation | Proposed syntax for a synchronized commands execution |
US6928459B1 (en) * | 2000-07-18 | 2005-08-09 | International Business Machines Corporation | Plurality of file systems using weighted allocation to allocate space on one or more storage devices |
TW594563B (en) * | 2000-07-19 | 2004-06-21 | Micro Star Int Co Ltd | Programming method and equipment of programmable apparatus for circuit board without power supplying |
US7007097B1 (en) | 2000-07-20 | 2006-02-28 | Silicon Graphics, Inc. | Method and system for covering multiple resourcces with a single credit in a computer system |
US6977908B2 (en) | 2000-08-25 | 2005-12-20 | Hewlett-Packard Development Company, L.P. | Method and apparatus for discovering computer systems in a distributed multi-system cluster |
US6732125B1 (en) | 2000-09-08 | 2004-05-04 | Storage Technology Corporation | Self archiving log structured volume with intrinsic data protection |
JP2002108573A (ja) | 2000-09-28 | 2002-04-12 | Nec Corp | ディスクアレイ装置、そのエラー制御方法、ならびにその制御プログラムを記録した記録媒体 |
US6970939B2 (en) * | 2000-10-26 | 2005-11-29 | Intel Corporation | Method and apparatus for large payload distribution in a network |
US6687805B1 (en) | 2000-10-30 | 2004-02-03 | Hewlett-Packard Development Company, L.P. | Method and system for logical-object-to-physical-location translation and physical separation of logical objects |
US7313614B2 (en) | 2000-11-02 | 2007-12-25 | Sun Microsystems, Inc. | Switching system |
US6671686B2 (en) | 2000-11-02 | 2003-12-30 | Guy Pardon | Decentralized, distributed internet data management |
US7200606B2 (en) | 2000-11-07 | 2007-04-03 | The Regents Of The University Of California | Method and system for selecting documents by measuring document quality |
US6499091B1 (en) | 2000-11-13 | 2002-12-24 | Lsi Logic Corporation | System and method for synchronizing data mirrored by storage subsystems |
US6594744B1 (en) | 2000-12-11 | 2003-07-15 | Lsi Logic Corporation | Managing a snapshot volume or one or more checkpoint volumes with multiple point-in-time images in a single repository |
US6856591B1 (en) * | 2000-12-15 | 2005-02-15 | Cisco Technology, Inc. | Method and system for high reliability cluster management |
JP2002202936A (ja) * | 2000-12-18 | 2002-07-19 | Kizna Corp | 情報収集サーバ及び情報収集方法並びに記録媒体 |
US20020078161A1 (en) | 2000-12-19 | 2002-06-20 | Philips Electronics North America Corporation | UPnP enabling device for heterogeneous networks of slave devices |
US6785678B2 (en) | 2000-12-21 | 2004-08-31 | Emc Corporation | Method of improving the availability of a computer clustering system through the use of a network medium link state function |
US6990611B2 (en) * | 2000-12-29 | 2006-01-24 | Dot Hill Systems Corp. | Recovering data from arrays of storage devices after certain failures |
US20020087366A1 (en) | 2000-12-30 | 2002-07-04 | Collier Timothy R. | Tentative-hold-based protocol for distributed transaction processing |
US6594655B2 (en) | 2001-01-04 | 2003-07-15 | Ezchip Technologies Ltd. | Wildcards in radix- search tree structures |
MY147018A (en) * | 2001-01-04 | 2012-10-15 | Thomson Licensing Sa | A method and apparatus for acquiring media services available from content aggregators |
US6907520B2 (en) | 2001-01-11 | 2005-06-14 | Sun Microsystems, Inc. | Threshold-based load address prediction and new thread identification in a multithreaded microprocessor |
US20020191311A1 (en) | 2001-01-29 | 2002-12-19 | Ulrich Thomas R. | Dynamically scalable disk array |
US20020124137A1 (en) * | 2001-01-29 | 2002-09-05 | Ulrich Thomas R. | Enhancing disk array performance via variable parity based load balancing |
AU2002242026A1 (en) | 2001-01-29 | 2002-08-12 | Snap Appliance Inc. | Dynamically distributed file system |
US6990547B2 (en) | 2001-01-29 | 2006-01-24 | Adaptec, Inc. | Replacing file system processors by hot swapping |
US20020169827A1 (en) | 2001-01-29 | 2002-11-14 | Ulrich Thomas R. | Hot adding file system processors |
US20020138559A1 (en) * | 2001-01-29 | 2002-09-26 | Ulrich Thomas R. | Dynamically distributed file system |
US6990667B2 (en) * | 2001-01-29 | 2006-01-24 | Adaptec, Inc. | Server-independent object positioning for load balancing drives and servers |
US6862692B2 (en) | 2001-01-29 | 2005-03-01 | Adaptec, Inc. | Dynamic redistribution of parity groups |
US20020174295A1 (en) | 2001-01-29 | 2002-11-21 | Ulrich Thomas R. | Enhanced file system failure tolerance |
US7054927B2 (en) * | 2001-01-29 | 2006-05-30 | Adaptec, Inc. | File system metadata describing server directory information |
WO2002071183A2 (en) | 2001-02-28 | 2002-09-12 | Wily Technology, Inc. | Detecting a stalled routine |
US6895534B2 (en) * | 2001-04-23 | 2005-05-17 | Hewlett-Packard Development Company, L.P. | Systems and methods for providing automated diagnostic services for a cluster computer system |
US20020158900A1 (en) * | 2001-04-30 | 2002-10-31 | Hsieh Vivian G. | Graphical user interfaces for network management automated provisioning environment |
US20030005159A1 (en) | 2001-06-07 | 2003-01-02 | International Business Machines Corporation | Method and system for generating and serving multilingual web pages |
US20040189682A1 (en) | 2001-12-26 | 2004-09-30 | Lidror Troyansky | Method and a system for embedding textual forensic information |
US7295755B2 (en) | 2001-06-22 | 2007-11-13 | Thomson Licensing | Method and apparatus for simplifying the access of metadata |
US7181746B2 (en) | 2001-06-29 | 2007-02-20 | Intel Corporation | Initialization, reconfiguration, and shut down of a module function |
US6877107B2 (en) | 2001-07-05 | 2005-04-05 | Softwired Ag | Method for ensuring operation during node failures and network partitions in a clustered message passing server |
US7546354B1 (en) * | 2001-07-06 | 2009-06-09 | Emc Corporation | Dynamic network based storage with high availability |
US7685126B2 (en) | 2001-08-03 | 2010-03-23 | Isilon Systems, Inc. | System and methods for providing a distributed file system utilizing metadata to track information about data stored throughout the system |
US7146524B2 (en) | 2001-08-03 | 2006-12-05 | Isilon Systems, Inc. | Systems and methods for providing a distributed file system incorporating a virtual hot spare |
US20030061491A1 (en) * | 2001-09-21 | 2003-03-27 | Sun Microsystems, Inc. | System and method for the allocation of network storage |
US6920494B2 (en) | 2001-10-05 | 2005-07-19 | International Business Machines Corporation | Storage area network methods and apparatus with virtual SAN recognition |
US6954877B2 (en) * | 2001-11-29 | 2005-10-11 | Agami Systems, Inc. | Fault tolerance using logical checkpointing in computing systems |
US7184421B1 (en) | 2001-12-21 | 2007-02-27 | Itt Manufacturing Enterprises, Inc. | Method and apparatus for on demand multicast and unicast using controlled flood multicast communications |
US7433948B2 (en) | 2002-01-23 | 2008-10-07 | Cisco Technology, Inc. | Methods and apparatus for implementing virtualization of storage within a storage area network |
US7055058B2 (en) | 2001-12-26 | 2006-05-30 | Boon Storage Technologies, Inc. | Self-healing log-structured RAID |
US6859696B2 (en) * | 2001-12-27 | 2005-02-22 | Caterpillar Inc | System and method for monitoring machine status |
US6990604B2 (en) * | 2001-12-28 | 2006-01-24 | Storage Technology Corporation | Virtual storage status coalescing with a plurality of physical storage devices |
US6898587B2 (en) | 2002-01-18 | 2005-05-24 | Bea Systems, Inc. | System and method for performing commutative operations in data access systems |
US7742504B2 (en) | 2002-01-24 | 2010-06-22 | University Of Southern California | Continuous media system |
US20030149750A1 (en) * | 2002-02-07 | 2003-08-07 | Franzenburg Alan M. | Distributed storage array |
US7113938B2 (en) | 2002-02-14 | 2006-09-26 | Gravic, Inc. | Method of increasing system availability by splitting a system |
US6829617B2 (en) | 2002-02-15 | 2004-12-07 | International Business Machines Corporation | Providing a snapshot of a subset of a file system |
US7216135B2 (en) | 2002-02-15 | 2007-05-08 | International Business Machines Corporation | File system for providing access to a snapshot dataset where disk address in the inode is equal to a ditto address for indicating that the disk address is invalid disk address |
US6940966B2 (en) * | 2002-02-21 | 2005-09-06 | Vtech Telecommunications, Ltd. | Method and apparatus for detection of a telephone CPE alerting signal |
ES2373647T3 (es) | 2002-02-27 | 2012-02-07 | Opentv, Inc. | Método y dispositivo para la obtención de un objeto de perfil de seguridad jerárquica. |
US7177295B1 (en) | 2002-03-08 | 2007-02-13 | Scientific Research Corporation | Wireless routing protocol for ad-hoc networks |
US7240235B2 (en) * | 2002-03-13 | 2007-07-03 | Intel Corporation | Journaling technique for write transactions to mass storage |
US7143307B1 (en) | 2002-03-15 | 2006-11-28 | Network Appliance, Inc. | Remote disaster recovery and data migration using virtual appliance migration |
US7225204B2 (en) * | 2002-03-19 | 2007-05-29 | Network Appliance, Inc. | System and method for asynchronous mirroring of snapshots at a destination using a purgatory directory and inode mapping |
US7043485B2 (en) * | 2002-03-19 | 2006-05-09 | Network Appliance, Inc. | System and method for storage of snapshot metadata in a remote file |
US6934878B2 (en) * | 2002-03-22 | 2005-08-23 | Intel Corporation | Failure detection and failure handling in cluster controller networks |
US7631066B1 (en) | 2002-03-25 | 2009-12-08 | Symantec Operating Corporation | System and method for preventing data corruption in computer system clusters |
GB2387087A (en) | 2002-03-25 | 2003-10-01 | Sony Uk Ltd | System |
JP3848198B2 (ja) | 2002-03-29 | 2006-11-22 | 株式会社東芝 | ネームサーバ、ネットワーク・システム、逆引き要求処理方法、正引き要求処理方法及び通信制御方法 |
US6904430B1 (en) * | 2002-04-26 | 2005-06-07 | Microsoft Corporation | Method and system for efficiently identifying differences between large files |
US6954435B2 (en) | 2002-04-29 | 2005-10-11 | Harris Corporation | Determining quality of service (QoS) routing for mobile ad hoc networks |
US7249118B2 (en) * | 2002-05-17 | 2007-07-24 | Aleri, Inc. | Database system and methods |
US8549114B2 (en) | 2002-06-12 | 2013-10-01 | Bladelogic, Inc. | Method and system for model-based heterogeneous server configuration management |
US7043567B2 (en) | 2002-07-22 | 2006-05-09 | Seagate Technology Llc | Method and apparatus for determining the order of execution of queued commands in a data storage system |
US7051155B2 (en) * | 2002-08-05 | 2006-05-23 | Sun Microsystems, Inc. | Method and system for striping data to accommodate integrity metadata |
US7047243B2 (en) * | 2002-08-05 | 2006-05-16 | Microsoft Corporation | Coordinating transactional web services |
US7370064B2 (en) | 2002-08-06 | 2008-05-06 | Yousefi Zadeh Homayoun | Database remote replication for back-end tier of multi-tier computer systems |
AU2003261924A1 (en) | 2002-09-05 | 2004-03-29 | Hiroyuki Yasoshima | Method for managing file using network structure, operation object display limiting program, and recording medium |
EP2264628A1 (en) | 2002-09-18 | 2010-12-22 | Netezza Corporation | Intelligent storage device controller |
US7103597B2 (en) | 2002-10-03 | 2006-09-05 | Mcgoveran David O | Adaptive transaction manager for complex transactions and business process |
US7111305B2 (en) | 2002-10-31 | 2006-09-19 | Sun Microsystems, Inc. | Facilitating event notification through use of an inverse mapping structure for subset determination |
CN1692356B (zh) | 2002-11-14 | 2014-06-04 | 易斯龙系统公司 | 用于对现存文件重新条带化的方法 |
US7412433B2 (en) | 2002-11-19 | 2008-08-12 | International Business Machines Corporation | Hierarchical storage management using dynamic tables of contents and sets of tables of contents |
US20060074922A1 (en) | 2002-11-25 | 2006-04-06 | Kozo Nishimura | File management device, file management method, file management program and recording medium |
US7007044B1 (en) | 2002-12-26 | 2006-02-28 | Storage Technology Corporation | Storage backup system for backing up data written to a primary storage device to multiple virtual mirrors using a reconciliation process that reflects the changing state of the primary storage device over time |
US8250202B2 (en) | 2003-01-04 | 2012-08-21 | International Business Machines Corporation | Distributed notification and action mechanism for mirroring-related events |
US7512701B2 (en) * | 2003-01-16 | 2009-03-31 | Hewlett-Packard Development Company, L.P. | System and method for efficiently replicating a file among a plurality of recipients in a reliable manner |
WO2004066650A1 (en) | 2003-01-20 | 2004-08-05 | Sk Telecom Co., Ltd | Method for controlling a media message upload through a wireless communication network |
JP4077329B2 (ja) | 2003-01-31 | 2008-04-16 | 株式会社東芝 | トランザクション処理システム、並行制御方法及びプログラム |
US20040158549A1 (en) | 2003-02-07 | 2004-08-12 | Vladimir Matena | Method and apparatus for online transaction processing |
US7509378B2 (en) | 2003-03-11 | 2009-03-24 | Bea Systems, Inc. | System and method for message ordering in a message oriented network |
US7337290B2 (en) | 2003-04-03 | 2008-02-26 | Oracle International Corporation | Deadlock resolution through lock requeing |
US7228299B1 (en) | 2003-05-02 | 2007-06-05 | Veritas Operating Corporation | System and method for performing file lookups based on tags |
JP3973597B2 (ja) | 2003-05-14 | 2007-09-12 | 株式会社ソニー・コンピュータエンタテインメント | プリフェッチ命令制御方法、プリフェッチ命令制御装置、キャッシュメモリ制御装置、オブジェクトコードの生成方法および装置 |
US7673307B2 (en) | 2003-05-29 | 2010-03-02 | International Business Machines Corporation | Managing transactions in a messaging system |
US7152182B2 (en) | 2003-06-06 | 2006-12-19 | Hewlett-Packard Development Company, L.P. | Data redundancy system and method |
US20050010592A1 (en) * | 2003-07-08 | 2005-01-13 | John Guthrie | Method and system for taking a data snapshot |
US7831693B2 (en) | 2003-08-18 | 2010-11-09 | Oracle America, Inc. | Structured methodology and design patterns for web services |
US7257257B2 (en) | 2003-08-19 | 2007-08-14 | Intel Corporation | Method and apparatus for differential, bandwidth-efficient and storage-efficient backups |
US7865485B2 (en) | 2003-09-23 | 2011-01-04 | Emc Corporation | Multi-threaded write interface and methods for increasing the single file read and write throughput of a file server |
US7409587B2 (en) * | 2004-08-24 | 2008-08-05 | Symantec Operating Corporation | Recovering from storage transaction failures using checkpoints |
US7269588B1 (en) | 2003-09-24 | 2007-09-11 | Oracle International Corporation | Neighborhood locking technique for increasing concurrency among transactions |
US7194487B1 (en) | 2003-10-16 | 2007-03-20 | Veritas Operating Corporation | System and method for recording the order of a change caused by restoring a primary volume during ongoing replication of the primary volume |
US7225210B2 (en) | 2003-11-20 | 2007-05-29 | Overland Storage, Inc. | Block level data snapshot system and method |
US7380073B2 (en) | 2003-11-26 | 2008-05-27 | Sas Institute Inc. | Computer-implemented system and method for lock handling |
CA2452251C (en) * | 2003-12-04 | 2010-02-09 | Timothy R. Jewell | Data backup system and method |
US20050125456A1 (en) | 2003-12-09 | 2005-06-09 | Junichi Hara | File migration method based on access history |
US8244903B2 (en) * | 2003-12-22 | 2012-08-14 | Emc Corporation | Data streaming and backup systems having multiple concurrent read threads for improved small file performance |
US7181556B2 (en) | 2003-12-23 | 2007-02-20 | Arm Limited | Transaction request servicing mechanism |
US7287076B2 (en) | 2003-12-29 | 2007-10-23 | Microsoft Corporation | Performing threshold based connection status responses |
JP2005196467A (ja) | 2004-01-07 | 2005-07-21 | Hitachi Ltd | ストレージシステム、ストレージシステムの制御方法、及びストレージ制御装置 |
US7265692B2 (en) | 2004-01-29 | 2007-09-04 | Hewlett-Packard Development Company, L.P. | Data compression system based on tree models |
US7296139B1 (en) | 2004-01-30 | 2007-11-13 | Nvidia Corporation | In-memory table structure for virtual address translation system with translation units of variable range size |
US7383276B2 (en) | 2004-01-30 | 2008-06-03 | Microsoft Corporation | Concurrency control for B-trees with node deletion |
US7440966B2 (en) * | 2004-02-12 | 2008-10-21 | International Business Machines Corporation | Method and apparatus for file system snapshot persistence |
JP4489455B2 (ja) * | 2004-02-16 | 2010-06-23 | 株式会社日立製作所 | ディスク制御装置及びディスク制御装置の制御方法 |
US7318134B1 (en) | 2004-03-16 | 2008-01-08 | Emc Corporation | Continuous data backup using distributed journaling |
US7428539B2 (en) | 2004-06-21 | 2008-09-23 | Microsoft Corporation | Method, system, and apparatus for managing access to a data object |
US7707195B2 (en) | 2004-06-29 | 2010-04-27 | Microsoft Corporation | Allocation locks and their use |
US7472129B2 (en) | 2004-06-29 | 2008-12-30 | Microsoft Corporation | Lossless recovery for computer systems with map assisted state transfer |
US7404192B2 (en) * | 2004-08-03 | 2008-07-22 | International Business Machines Corporation | Apparatus, system, and method for isolating a storage application from a network interface driver |
US7404179B2 (en) | 2004-09-16 | 2008-07-22 | International Business Machines Corporation | Fast source file to line number table association |
JP2006107151A (ja) | 2004-10-06 | 2006-04-20 | Hitachi Ltd | ストレージシステム及びストレージシステムの通信パス制御方法 |
US8059562B2 (en) * | 2004-10-18 | 2011-11-15 | Nokia Corporation | Listener mechanism in a distributed network system |
US8051425B2 (en) * | 2004-10-29 | 2011-11-01 | Emc Corporation | Distributed system with asynchronous execution systems and methods |
US8238350B2 (en) | 2004-10-29 | 2012-08-07 | Emc Corporation | Message batching with checkpoints systems and methods |
US8055711B2 (en) | 2004-10-29 | 2011-11-08 | Emc Corporation | Non-blocking commit protocol systems and methods |
US7921076B2 (en) | 2004-12-15 | 2011-04-05 | Oracle International Corporation | Performing an action in response to a file system event |
US7770150B2 (en) | 2004-12-15 | 2010-08-03 | International Business Machines Corporation | Apparatus, system, and method for sharing and accessing data by scopes |
US7877466B2 (en) * | 2005-01-11 | 2011-01-25 | Cisco Technology, Inc. | Network topology based storage allocation for virtualization |
US7603502B2 (en) | 2005-04-12 | 2009-10-13 | Microsoft Corporation | Resource accessing with locking |
US7562188B2 (en) | 2005-06-17 | 2009-07-14 | Intel Corporation | RAID power safe apparatus, systems, and methods |
US7716171B2 (en) | 2005-08-18 | 2010-05-11 | Emc Corporation | Snapshot indexing |
US7533298B2 (en) * | 2005-09-07 | 2009-05-12 | Lsi Corporation | Write journaling using battery backed cache |
US7797283B2 (en) | 2005-10-21 | 2010-09-14 | Isilon Systems, Inc. | Systems and methods for maintaining distributed data |
US7788303B2 (en) | 2005-10-21 | 2010-08-31 | Isilon Systems, Inc. | Systems and methods for distributed system scanning |
US7551572B2 (en) | 2005-10-21 | 2009-06-23 | Isilon Systems, Inc. | Systems and methods for providing variable protection |
US7346720B2 (en) | 2005-10-21 | 2008-03-18 | Isilon Systems, Inc. | Systems and methods for managing concurrent access requests to a shared resource |
US7386675B2 (en) | 2005-10-21 | 2008-06-10 | Isilon Systems, Inc. | Systems and methods for using excitement values to predict future access to resources |
US7917474B2 (en) | 2005-10-21 | 2011-03-29 | Isilon Systems, Inc. | Systems and methods for accessing and updating distributed data |
US7546412B2 (en) * | 2005-12-02 | 2009-06-09 | International Business Machines Corporation | Apparatus, system, and method for global metadata copy repair |
JP4800046B2 (ja) * | 2006-01-31 | 2011-10-26 | 株式会社日立製作所 | ストレージシステム |
US7848261B2 (en) | 2006-02-17 | 2010-12-07 | Isilon Systems, Inc. | Systems and methods for providing a quiescing protocol |
US7756898B2 (en) | 2006-03-31 | 2010-07-13 | Isilon Systems, Inc. | Systems and methods for notifying listeners of events |
US8548947B2 (en) | 2006-04-28 | 2013-10-01 | Hewlett-Packard Development Company, L.P. | Systems and methods for file maintenance |
US7565575B2 (en) | 2006-05-30 | 2009-07-21 | Oracle International Corporation | Selecting optimal repair strategy for mirrored files |
GB2439578B (en) | 2006-06-30 | 2011-11-09 | Data Equation Ltd | Data processing |
US8539056B2 (en) | 2006-08-02 | 2013-09-17 | Emc Corporation | Systems and methods for configuring multiple network interfaces |
US8015162B2 (en) | 2006-08-04 | 2011-09-06 | Google Inc. | Detecting duplicate and near-duplicate files |
US20080034004A1 (en) | 2006-08-04 | 2008-02-07 | Pavel Cisler | System for electronic backup |
US7822932B2 (en) | 2006-08-18 | 2010-10-26 | Isilon Systems, Inc. | Systems and methods for providing nonlinear journaling |
US7680836B2 (en) | 2006-08-18 | 2010-03-16 | Isilon Systems, Inc. | Systems and methods for a snapshot of data |
US7752402B2 (en) | 2006-08-18 | 2010-07-06 | Isilon Systems, Inc. | Systems and methods for allowing incremental journaling |
US7953704B2 (en) | 2006-08-18 | 2011-05-31 | Emc Corporation | Systems and methods for a snapshot of data |
US7882071B2 (en) | 2006-08-18 | 2011-02-01 | Isilon Systems, Inc. | Systems and methods for a snapshot of data |
US7590652B2 (en) | 2006-08-18 | 2009-09-15 | Isilon Systems, Inc. | Systems and methods of reverse lookup |
US7676691B2 (en) | 2006-08-18 | 2010-03-09 | Isilon Systems, Inc. | Systems and methods for providing nonlinear journaling |
US7899800B2 (en) | 2006-08-18 | 2011-03-01 | Isilon Systems, Inc. | Systems and methods for providing nonlinear journaling |
US7680842B2 (en) * | 2006-08-18 | 2010-03-16 | Isilon Systems, Inc. | Systems and methods for a snapshot of data |
US20080140724A1 (en) | 2006-12-06 | 2008-06-12 | David Flynn | Apparatus, system, and method for servicing object requests within a storage controller |
US20080155191A1 (en) | 2006-12-21 | 2008-06-26 | Anderson Robert J | Systems and methods for providing heterogeneous storage systems |
US8286029B2 (en) | 2006-12-21 | 2012-10-09 | Emc Corporation | Systems and methods for managing unavailable storage devices |
US7593938B2 (en) | 2006-12-22 | 2009-09-22 | Isilon Systems, Inc. | Systems and methods of directory entry encodings |
US7509448B2 (en) | 2007-01-05 | 2009-03-24 | Isilon Systems, Inc. | Systems and methods for managing semantic locks |
US7779048B2 (en) * | 2007-04-13 | 2010-08-17 | Isilon Systems, Inc. | Systems and methods of providing possible value ranges |
US8966080B2 (en) * | 2007-04-13 | 2015-02-24 | Emc Corporation | Systems and methods of managing resource utilization on a threaded computer system |
US7900015B2 (en) | 2007-04-13 | 2011-03-01 | Isilon Systems, Inc. | Systems and methods of quota accounting |
US7949692B2 (en) | 2007-08-21 | 2011-05-24 | Emc Corporation | Systems and methods for portals into snapshot data |
US7966289B2 (en) | 2007-08-21 | 2011-06-21 | Emc Corporation | Systems and methods for reading objects in a file system |
US7882068B2 (en) | 2007-08-21 | 2011-02-01 | Isilon Systems, Inc. | Systems and methods for adaptive copy on write |
US7783666B1 (en) | 2007-09-26 | 2010-08-24 | Netapp, Inc. | Controlling access to storage resources by using access pattern based quotas |
US7984324B2 (en) | 2008-03-27 | 2011-07-19 | Emc Corporation | Systems and methods for managing stalled storage devices |
US7953709B2 (en) | 2008-03-27 | 2011-05-31 | Emc Corporation | Systems and methods for a read only mode for a portion of a storage system |
US7870345B2 (en) | 2008-03-27 | 2011-01-11 | Isilon Systems, Inc. | Systems and methods for managing stalled storage devices |
US7949636B2 (en) | 2008-03-27 | 2011-05-24 | Emc Corporation | Systems and methods for a read only mode for a portion of a storage system |
-
2003
- 2003-11-14 CN CN200380100380.6A patent/CN1692356B/zh not_active Expired - Lifetime
- 2003-11-14 JP JP2004553816A patent/JP4464279B2/ja not_active Expired - Lifetime
- 2003-11-14 EP EP03783599.8A patent/EP1563411B1/en not_active Expired - Lifetime
- 2003-11-14 EP EP10191697A patent/EP2284735A1/en not_active Withdrawn
- 2003-11-14 WO PCT/US2003/036699 patent/WO2004046971A1/en active Application Filing
- 2003-11-14 US US10/714,326 patent/US7937421B2/en active Active
- 2003-11-14 EP EP10191701A patent/EP2299375A3/en not_active Withdrawn
- 2003-11-14 AU AU2003291014A patent/AU2003291014A1/en not_active Abandoned
-
2009
- 2009-11-16 JP JP2009261303A patent/JP5096441B2/ja not_active Expired - Lifetime
Cited By (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7937421B2 (en) | 2002-11-14 | 2011-05-03 | Emc Corporation | Systems and methods for restriping files in a distributed file system |
US8238350B2 (en) | 2004-10-29 | 2012-08-07 | Emc Corporation | Message batching with checkpoints systems and methods |
US8140623B2 (en) | 2004-10-29 | 2012-03-20 | Emc Corporation | Non-blocking commit protocol systems and methods |
US8055711B2 (en) | 2004-10-29 | 2011-11-08 | Emc Corporation | Non-blocking commit protocol systems and methods |
US8051425B2 (en) | 2004-10-29 | 2011-11-01 | Emc Corporation | Distributed system with asynchronous execution systems and methods |
US8214400B2 (en) | 2005-10-21 | 2012-07-03 | Emc Corporation | Systems and methods for maintaining distributed data |
US7917474B2 (en) | 2005-10-21 | 2011-03-29 | Isilon Systems, Inc. | Systems and methods for accessing and updating distributed data |
US8214334B2 (en) | 2005-10-21 | 2012-07-03 | Emc Corporation | Systems and methods for distributed system scanning |
US8176013B2 (en) | 2005-10-21 | 2012-05-08 | Emc Corporation | Systems and methods for accessing and updating distributed data |
US8054765B2 (en) | 2005-10-21 | 2011-11-08 | Emc Corporation | Systems and methods for providing variable protection |
US7788303B2 (en) | 2005-10-21 | 2010-08-31 | Isilon Systems, Inc. | Systems and methods for distributed system scanning |
US8625464B2 (en) | 2006-02-17 | 2014-01-07 | Emc Corporation | Systems and methods for providing a quiescing protocol |
US7848261B2 (en) | 2006-02-17 | 2010-12-07 | Isilon Systems, Inc. | Systems and methods for providing a quiescing protocol |
US8005865B2 (en) | 2006-03-31 | 2011-08-23 | Emc Corporation | Systems and methods for notifying listeners of events |
US8027984B2 (en) | 2006-08-18 | 2011-09-27 | Emc Corporation | Systems and methods of reverse lookup |
US7953704B2 (en) | 2006-08-18 | 2011-05-31 | Emc Corporation | Systems and methods for a snapshot of data |
US8015156B2 (en) | 2006-08-18 | 2011-09-06 | Emc Corporation | Systems and methods for a snapshot of data |
US8356013B2 (en) | 2006-08-18 | 2013-01-15 | Emc Corporation | Systems and methods for a snapshot of data |
US7899800B2 (en) | 2006-08-18 | 2011-03-01 | Isilon Systems, Inc. | Systems and methods for providing nonlinear journaling |
US8380689B2 (en) | 2006-08-18 | 2013-02-19 | Emc Corporation | Systems and methods for providing nonlinear journaling |
US8010493B2 (en) | 2006-08-18 | 2011-08-30 | Emc Corporation | Systems and methods for a snapshot of data |
US8356150B2 (en) | 2006-08-18 | 2013-01-15 | Emc Corporation | Systems and methods for providing nonlinear journaling |
US8286029B2 (en) | 2006-12-21 | 2012-10-09 | Emc Corporation | Systems and methods for managing unavailable storage devices |
US8060521B2 (en) | 2006-12-22 | 2011-11-15 | Emc Corporation | Systems and methods of directory entry encodings |
US8082379B2 (en) | 2007-01-05 | 2011-12-20 | Emc Corporation | Systems and methods for managing semantic locks |
US8966080B2 (en) | 2007-04-13 | 2015-02-24 | Emc Corporation | Systems and methods of managing resource utilization on a threaded computer system |
US8015216B2 (en) | 2007-04-13 | 2011-09-06 | Emc Corporation | Systems and methods of providing possible value ranges |
US8195905B2 (en) | 2007-04-13 | 2012-06-05 | Emc Corporation | Systems and methods of quota accounting |
US7900015B2 (en) | 2007-04-13 | 2011-03-01 | Isilon Systems, Inc. | Systems and methods of quota accounting |
US7966289B2 (en) | 2007-08-21 | 2011-06-21 | Emc Corporation | Systems and methods for reading objects in a file system |
US7949692B2 (en) | 2007-08-21 | 2011-05-24 | Emc Corporation | Systems and methods for portals into snapshot data |
US8200632B2 (en) | 2007-08-21 | 2012-06-12 | Emc Corporation | Systems and methods for adaptive copy on write |
US7882068B2 (en) | 2007-08-21 | 2011-02-01 | Isilon Systems, Inc. | Systems and methods for adaptive copy on write |
US7949636B2 (en) | 2008-03-27 | 2011-05-24 | Emc Corporation | Systems and methods for a read only mode for a portion of a storage system |
US7953709B2 (en) | 2008-03-27 | 2011-05-31 | Emc Corporation | Systems and methods for a read only mode for a portion of a storage system |
US7971021B2 (en) | 2008-03-27 | 2011-06-28 | Emc Corporation | Systems and methods for managing stalled storage devices |
US7984324B2 (en) | 2008-03-27 | 2011-07-19 | Emc Corporation | Systems and methods for managing stalled storage devices |
Also Published As
Publication number | Publication date |
---|---|
EP1563411B1 (en) | 2013-06-19 |
CN1692356A (zh) | 2005-11-02 |
AU2003291014A1 (en) | 2004-06-15 |
WO2004046971A1 (en) | 2004-06-03 |
EP2299375A3 (en) | 2012-02-01 |
EP2299375A2 (en) | 2011-03-23 |
JP2010044789A (ja) | 2010-02-25 |
EP1563411A4 (en) | 2008-06-04 |
EP1563411A1 (en) | 2005-08-17 |
JP2006506741A (ja) | 2006-02-23 |
CN1692356B (zh) | 2014-06-04 |
EP2284735A1 (en) | 2011-02-16 |
US7937421B2 (en) | 2011-05-03 |
JP5096441B2 (ja) | 2012-12-12 |
US20040153479A1 (en) | 2004-08-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4464279B2 (ja) | 分散ファイルシステムにおけるファイルの再ストライピングのためのシステム及び方法 | |
US7685126B2 (en) | System and methods for providing a distributed file system utilizing metadata to track information about data stored throughout the system | |
US7509524B2 (en) | Systems and methods for a distributed file system with data recovery | |
US9021335B2 (en) | Data recovery for failed memory device of memory device array | |
JP5210176B2 (ja) | 複数のノードを有するストレージ・システムの保護管理方法 | |
US11023318B1 (en) | System and method for fast random access erasure encoded storage | |
JP4759574B2 (ja) | ネットワークパケットキャプチャ分散ストレージシステムの方法及び機器 | |
US6985995B2 (en) | Data file migration from a mirrored RAID to a non-mirrored XOR-based RAID without rewriting the data | |
US10210167B1 (en) | Multi-level page caching for distributed object store | |
US7529972B2 (en) | Methods and apparatus for reconfiguring a storage system | |
US20200278913A1 (en) | Policy-based hierarchical data protection in distributed storage | |
US7539838B1 (en) | Methods and apparatus for increasing the storage capacity of a storage system | |
Andreas | Böhm Igor Praher Jakob 0155477 0056228 igor@ bytelabs. org jp@ hapra. at |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060728 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090616 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20090916 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20090928 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20091016 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20091023 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20091116 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20100202 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20100218 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130226 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4464279 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130226 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140226 Year of fee payment: 4 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |