JP2015534175A - ソフトウェア定義ネットワークアタッチ可能記憶システムおよび方法 - Google Patents
ソフトウェア定義ネットワークアタッチ可能記憶システムおよび方法 Download PDFInfo
- Publication number
- JP2015534175A JP2015534175A JP2015531949A JP2015531949A JP2015534175A JP 2015534175 A JP2015534175 A JP 2015534175A JP 2015531949 A JP2015531949 A JP 2015531949A JP 2015531949 A JP2015531949 A JP 2015531949A JP 2015534175 A JP2015534175 A JP 2015534175A
- Authority
- JP
- Japan
- Prior art keywords
- namespace
- file
- hyperserver
- hyperfiler
- computer systems
- 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.)
- Granted
Links
- 238000003860 storage Methods 0.000 title claims abstract description 141
- 238000000034 method Methods 0.000 title claims abstract description 73
- 230000008569 process Effects 0.000 claims abstract description 18
- 230000004044 response Effects 0.000 claims abstract description 4
- 241000712062 Patricia Species 0.000 claims description 21
- 230000002085 persistent effect Effects 0.000 claims description 8
- 238000012545 processing Methods 0.000 claims description 8
- 230000002688 persistence Effects 0.000 claims description 7
- 238000005192 partition Methods 0.000 claims description 6
- 230000008859 change Effects 0.000 description 16
- 238000007726 management method Methods 0.000 description 13
- 230000008901 benefit Effects 0.000 description 11
- 230000010076 replication Effects 0.000 description 11
- 238000013507 mapping Methods 0.000 description 9
- 230000001360 synchronised effect Effects 0.000 description 9
- 230000009471 action Effects 0.000 description 8
- 230000006399 behavior Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 8
- 238000012790 confirmation Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 239000000203 mixture Substances 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 238000009826 distribution Methods 0.000 description 5
- 230000003993 interaction Effects 0.000 description 5
- 238000013459 approach Methods 0.000 description 4
- 238000013461 design Methods 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 230000007704 transition Effects 0.000 description 4
- 238000003491 array Methods 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000000115 helium ionisation detection Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000008439 repair process Effects 0.000 description 3
- 230000001052 transient effect Effects 0.000 description 3
- 239000002699 waste material Substances 0.000 description 3
- 239000008186 active pharmaceutical agent Substances 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 238000005304 joining Methods 0.000 description 2
- 230000000737 periodic effect Effects 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 238000013403 standard screening design Methods 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 241000287433 Turdus Species 0.000 description 1
- 230000002547 anomalous effect Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000012508 change request Methods 0.000 description 1
- 230000001010 compromised effect Effects 0.000 description 1
- 238000007596 consolidation process Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000004880 explosion Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000003362 replicative effect Effects 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000004366 reverse phase liquid chromatography Methods 0.000 description 1
- 230000002000 scavenging effect Effects 0.000 description 1
- 238000005201 scrubbing Methods 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 230000008685 targeting Effects 0.000 description 1
- 238000012384 transportation and delivery Methods 0.000 description 1
- 238000009827 uniform distribution Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- 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
-
- 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
- G06F16/1824—Distributed file systems implemented using Network-attached Storage [NAS] architecture
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/45—Network directories; Name-to-address mapping
- H04L61/4552—Lookup mechanisms between a plurality of directories; Synchronisation of directories, e.g. metadirectories
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/164—Adaptation or special uses of UDP protocol
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2101/00—Indexing scheme associated with group H04L61/00
- H04L2101/60—Types of network addresses
- H04L2101/668—Internet protocol [IP] address subnets
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
本願は、発明の名称が本願と同一の米国仮特許出願第61/701,441号(2012年9月14日出願)の利益を主張する。さらに、本願は、発明の名称が本願と同一の米国特許出願第13/759,799号(2013年2月5日出願)の利益を主張する。これらの関連出願は、参照により本明細書に引用される。
本発明は、ネットワークアタッチ可能記憶システムに関し、より具体的には、ソフトウェア定義される記憶システムに関する。
I.Hyperfilerの物理的基盤
II.主要Hyperfiler抽象概念
III.動作挙動
(I.Hyperfilerの物理的基盤)
本発明の種々の実施形態では、Hyperfilerは、クライアントコンピュータからの記憶要求に応答するように構成される1つ以上のハイパーサーバによって実装され、各ハイパーサーバは、ハイパーサーバメンバー(HM)として動作する、1つ以上の論理コンピュータのクラスタとして実装される。順に、本発明の実施形態では、ハイパーサーバメンバーとして動作する各論理コンピュータは、そのCPU、RAM、およびネットワークリソースが、KVM、VMware、Xen等のハイパーバイザによって仮想化される、物理的コンピュータ上で作動する仮想マシン(VM)として実装される。
分散型ファイル記憶装置をサポートするために、各HMは、ブロック記憶装置の使用を利用可能にする。これは、異なる方法で実装されることができる。
HMは、マルチコアCPUを利用するシステム上で作動することが期待される。Hyperfiler設計で行われる選択の多くは、必要に応じてI/O帯域幅のための処理を交換することによって、マルチコアアーキテクチャの処理能力を利用する。
Hyperfilerは、Ethernet(登録商標)を経由したIP以外のいかなる特別なタイプのネットワーク接続にも依存しない。これは、費用を低減させ、非常に一般的な技術へのアクセスを可能にし、複数のタイプのネットワークインフラストラクチャを管理する必要性を回避し、これは再度、総所有コスト(TCO)を削減する。
Hyperfilerは、いかなる他の特別なタイプのハードウェアの存在も決定付けないが、NVRAM等のものを確実に利用することができる。
この節は、本システムが実装する主要抽象概念、およびそれらが下にある物理デバイスに関する方法を説明することによって、前の節を踏まえる。
ハイパーボリュームは、物理的記憶媒体の上に複製された高可用性記憶装置を構築し、ネットワークにわたって記憶デバイスをアドレス指定する方法を提供する、抽象概念である。本質的に、ハイパーボリュームを、ハイパーサーバの全てのメンバーにわたって実装される記憶装置の冗長論理ボリュームと考えることができる。(単一のメンバーを伴うハイパーサーバの特別な場合において、概して、SAN LUNの場合のように、使用される物理的記憶装置自体がブロックレベルで冗長ではない限り、ハイパーボリュームはいかなる冗長性も提供しないであろう。)(この抽象概念は、本システムが提供する総合的見解の一部である、より管理可能な要素にHyperfilerにおける記憶装置を区分化するために使用される。)各ハイパーサーバは、そのHMを通して専用ハイパーボリュームにアクセスして管理する。
・名前空間コンポーネント。
・データ空間コンポーネント。
・非メンバーから一次または二次メンバーへ。
・二次メンバーから一次メンバーへ。
・一次または二次メンバーから非メンバーへ。この最後の遷移は、メンバーがクラッシュする場合に自動的に起こるか、またはその一貫しない状態の検出によって引き起こされるメンバーの退去によって引き起こされ得る。
・読み取り型要求:このカテゴリにおける任意の要求が行われた後、ハイパーボリューム内のデータまたはメタデータの状態は変化していない。このタイプの要求は、ファイル読み取り、ディレクトリ一覧、ファイルメタデータの取り出し等を含む。
・書き込み型要求:このクラスにおける要求は、ハイパーボリューム内のデータまたはメタデータへの変更を引き起こす。このカテゴリにおける要求は、ファイル書き込み、ファイル作成または名前変更等である。
ネットワーク層は、Hyperfilerファイル記憶プロトコルを実装することに関与する。プロトコルは、TCPよりもむしろUDPに基づく。これは、いくつかの利点を有する。
・これは、通信が効率化され、非常に効率的になることを可能にする。
・これは、接続指向相互作用に依存しない。これは、オーバーヘッドを削減し、エンドツーエンド意味論の実装を単純化し、かつ、ネットワーク中断、および要求に返信するエンティティが要求が送信されるべきであったものとは異なる場合により良好に対処するので、有利である。(例えば、後者が異なるメンバーによって完了されることを成功できた場合、要求に対処していたハイパーサーバメンバーにおけるエラーを克服するために非常に有用である。)
一方で、これはまた、メッセージのシークエンシング、保証された送達、非重複等に適正に対処するために、遠隔手続呼び出し(RPC)層が純トランスポートの上に実装されることをも要求する。
本明細書の種々の実施形態によるシステムの名前空間は、完全に分散されている。Hyperfilerクライアントは、ファイルまたはディレクトリのパス名に基づいて所与のファイルまたはディレクトリを管理するハイパーサーバのHIDを識別することができる。これは、任意のファイルシステムオブジェクトにアクセスするために、任意のクライアントが、通信する必要があるハイパーサーバを知ることを可能にする。HIDへのパス名のマッピングは、ハッシングを介して達成される。本質的に、各Hyperfilerクライアントは、NFSのために行うであろう同程度に、クライアント自体にローカルであるディレクトリ上でHyperfilerの「マウント」動作を行う。マウントのときに、クライアントは、2つのテーブル、ハイパーサーバテーブル(HT)、およびディレクトリハッシュテーブル(DHT)を含む、ある量のHyperfiler情報を取り出す。
メタデータおよびパス名に対処する名前空間への対応物は、顧客のファイルを記憶するために使用される実際の記憶インフラストラクチャである。
名前空間は、Hyperfilerの中心である。名前空間の分散型性質は、メタデータおよびデータの両方が完全分散型であるため、Hyperfilerの線形拡大縮小の手掛かりである。
ハイパーサーバにわたる名前空間の分配は、任意のクライアントが、その要求を送信すべきハイパーサーバを即時に認識するように行われる。分配基準は、以下の考慮事項に依拠する。
・ディレクトリのコンテンツを効率的に一覧化する能力は、分散型名前空間内で保持されなければならず、性能は、集中型名前空間の性能に劣るべきではない。
・名前空間内で新しいコンポーネントを作成する能力は、名前の対立が存在するかどうかを検証する能力に依存し、これは、効率的にサポートされなければならない。
・ディレクトリ内のファイルの存在は、データファイル自体が、その親ディレクトリにサービス提供する同一のハイパーサーバによって管理されることを示唆すべきではない。これは、ボトルネックを回避するために重要であり、ファイルおよびディレクトリがハイパーサーバにわたって分配されることを可能にする。
仮想メモリベースの名前空間は、明確に持続的であることを要求し、これは、仮想メモリ内のファイルメタデータに行われる任意の修正がクラッシュ後でさえも利用可能であるように、そのコンテンツが実際にディスクにバックアップされなければならないことを意味する。これは確かに、システム性能への影響を最小化しながら、これを提供するためにインテントログ設備を利用するHyperfilerの場合である。インテントログはトランザクショナルであり、名前空間が最後に完了された名前空間トランザクションに対して常に最新の状態であることを可能にすることに留意されたい。クラッシュの場合、ハイパーサーバの再起動は、ディスク上の名前空間の持続的コピーに記録された最後のトランザクションを適用すること、および最新の完了したトランザクションへのそのメモリ内見解の初期化を伴う。
Hyperfilerの名前空間内のパス名の集合は、パトリシア木として、すなわち、一種の順序付けられたツリーデータ構造として実装される。具体的には、このツリー様データ構造は、いくつかの非常に重要な属性を有する。
・これは、ツリーのサイズに依存しないが、むしろ参照されている文字列(Hyperfiler内のパス名)のサイズに依存する、極めて高速の検索を達成する。
・これは、共通ステムを伴うアイテムをともにグループ化するという点で、極めてコンパクトである。
・これは、分別された順番でそのエントリを保つ。
・ファイルテーブル(FT)−このアレイは、各ファイルの第1の範囲に対する範囲IDとともに、ファイルまたはディレクトリの属性を記憶する。参考文献[2]で説明されるように、このIDは、その名前空間コンポーネントが常駐する同じハイパーサーバ内にデータが常駐する必要がないように、Hyperfiler全体にわたって大域的である。
・文字列テーブル(ST)−このアレイは、連続した塊に集約されることができ、ノードテーブル内に収まらないであろう文字列を記憶する固定長セルで作成される。
・ノードテーブル(NT)−このデータ構造は、必要とされる場合、文字列のサイズがNTエントリで利用可能な記憶容量を超えるときのST内の文字列または文字列のID、パトリシア木内の接続NTエントリのインデックス、NTエントリに関連付けられたフラグ、および関連FTエントリのインデックスとともに、各ノードのロックを記憶する。
・エントリ0は、利用可能な名前空間の全てのルートへのポインタの役割を果たす。この間接レベルを有することは、将来、1つの名前空間または複数の名前空間のスナップショットを実装することを可能にし得る。
・NTのエントリ1は、POSIX名前空間のルートディレクトリであり、「/」に対応する。
・関連文字列がエントリ内に収まり、エントリが関連FTエントリを有さない場合(内部パトリシア木ノード、またはパス名の中間コンポーネントにすぎないディレクトリの場合で、どちらかが短い関連文字列を有する限り)、他のテーブル内のエントリに関連しない。
・これが短い文字列を伴うファイルまたはディレクトリである場合、FT内の1つのエントリ。
・これが、内部パトリシア木ノード、またはパス名の中間コンポーネントにすぎないディレクトリであり、文字列がノードの容量を超える容量を有する場合、ST内の1つ以上の連続したエントリ。
・これがそのNTエントリの容量を超える文字列を伴うファイルまたはディレクトリである場合、1つのFTエントリおよび1つ以上の連続したSTエントリ。
持続性は、ファイルシステムにおいて最重要であり、名前空間パトリシア木は、持続的でなければならない。それを完全にRAMベースにすることは、これを達成しない。この理由により、前述のテーブルの各々は、バッキングストアとしてファイルを有し、任意の変更がバッキングストアに書き込まれ、再起動時にテーブルのコンテンツがバッキングストアから読み取られる。
第1のリリースの標的である上記のスキームの代替案が、この副次節で説明される。
一次および二次HMは、概して、独立して作用し、異なる読み取り型要求を処理する。しかしながら、ローカル変更を行う書き込み型要求は、一次メンバーによって、調整され、成功した場合、要求クライアントに返信する前に、二次メンバーの状態が一次メンバーと一致していることを確認する。
・アクティブな一次メンバーのみが、その自由リストを使用して更新する必要があるメンバーであるため、自由リストは、一次メンバーを作動させるために関連するのみである。
・テーブルの間に階級があり、その中で、NTが主要な役割を有し、FTおよびSTは、補助的な役割を果たす。換言すると、FTおよびST内のエントリは、1つのNTエントリによって参照されない限り、割り付けられることができない。
・NT内のエントリは、別のエントリによって、NT内で参照される場合のみ使用されている。
・テーブルは、各テーブルがRAMから処理されるとき、または再起動後にそのバッキングストアから読み取ることによって処理されるとき、自由リストが再作成されることができるような方法で設定される。
・自由リストが持続的であり、各テーブルに対してファイル記憶部上で裏付けられていることを確認する必要がない。なぜなら、自由リストは、必要とされるとき(すなわち、ハイパーサーバが再起動し、一次メンバーが動作可能にならなければならないときに、二次メンバーが故障した一次メンバーに取って代わるとき)、再構築することができるからである。
・その自由またはビジー状態は、他のテーブルエントリから再構築されることができるので、(テーブルのうちのいずれかの中の)テーブルエントリを自由にする任意の動作は、バッキングストアに到達する必要がない。
・テーブルエントリのうちのいずれかを伴う、自由動作のうちのいずれも、二次メンバーに到達する必要がない。
・テーブルエントリのうちのいずれかを伴う、自由動作のうちのいずれも、インテントログおよびバッキングストアに到達する必要がない。
以前に概説されたように、一次メンバーは、(クラッシュすることによって、または退去させられることによってのいずれかで)それらが属するハイパーサーバから退出することによって、それらの役割を変更することしかできない一方で、二次メンバーは、一次メンバーがもはや存続しなくなるときに一次メンバーになることができる。
・これは、NT、FT、およびSTエントリの各々の中の‘referenced’ビットをリセットする。
・これは、ルート名前空間ノードで始まるNTを走査し、ノードツリーを横断する際に遭遇する任意のエントリに対して‘referenced’ビットを設定する。
・前のステップの終わりに、これは、NT全体を再度走査する。これは、‘referenced’ビットが設定されていない全てのエントリを解放し、それらをNT自由リストに追加する。‘referenced’ビットが設定された全てのNTエントリについて、FTエントリおよび/またはSTエントリへの参照を有するかどうかを確認するようにチェックし、これらのエントリに対する‘referenced’ビットを設定する。
・次いで、これは、FTおよびSTテーブルを走査し、それらの‘referenced’ビットが設定されていない全てのエントリを解放して適切な自由リストに追加する。
メンバーがハイパーサーバから退去させられるか、またはクラッシュする場合において、新しいメンバー(利用可能である場合)が、退出したメンバーに取って代わる必要がある。
・これは、新しいメンバーが、最初は任意のクライアント動作を行うことを可能にされないような状態に新しいメンバーを設定し、クライアントにエクスポートされるハイパーサーバの状態がこれを反映する。
・これは、現在の位置を名前空間テーブルの各々の始まりに設定する。
・これは、テーブルの各々を走査し始め、使用中の各エントリのコンテンツを新しい二次メンバーに伝搬する。
名前空間の構造は、一般的であり、パス名のPOSIXビューに制約されない。具体的には、エントリ0が全ての名前空間のルートノードであるので、POSIX名前空間のルートを指し示すことに加えて、それは、他の子を有することもできる。
・範囲フィンガープリントを収集する代替名前空間。これらは、ハイパーサーバにわたって分散され、それらをハッシュ化することは、各エントリを管理するハイパーサーバのHIDをもたらすであろう。これは、システムの第1のリリースの標的にされないが、範囲複製を実装するために使用されることができる。
・別の代替名前空間は、Hyperfilerシステム自体によって使用される分散型ディクショナリとして使用されることができる。
データ空間は、データリポジトリサブシステムを介して実装される。これは、一意のHyperfiler全体に及ぶ範囲ID(EID)を通して識別される、ファイルデータのためのコンテナを集約し、EIDは、各そのようなコンテナが常駐するハイパーボリュームに関連する。したがって、名前空間内のデータコンテナへの参照は、1つのそのような一意のIDであり、名前空間コンポーネントが配置される同一のハイパーサーバ上でホストされる必要がない。
クライアントがHyperfilerにおいて利用可能なルートディレクトリ(または任意の他のディレクトリ)をマウントすると、要求クライアントに与えられるアクセス保護特権に従って、マウントされたディレクトリの下でHyperfilerが利用可能にする任意のファイルおよびディレクトリにアクセスすることが可能にされる。
本節は、システム完全性、故障、およびデータ回復に自動的に対処するために利用可能にされる設備とともに、Hyperfilerの標準挙動を例証する。
Hyperfilerは、それが約10分で構成されること、および新しいHMが5分未満で追加されることを可能にする、単純なGUIインターフェースを通して管理される。
Hyperfilerを使用することを所望するLinux(登録商標)クライアントは、カーネルローダブルモジュールをロードする必要がある。カーネルローダブルモジュールは、Linux(登録商標)システムが作動するにつれて、ロードおよびアンロードされることができるが、アンロード動作は、クライアントがHyperfilerにアクセスすることを止め、それを「アンマウント」したときのみ許可される(以下参照)。
Hyperfilerは、分散型ファイルシステム内のファイルおよびディレクトリの完全性を監視し、おそらく生じる得る任意の非一貫性を検出することができる。ローカルの非一貫性は、即時に対処される。例えば、ハイパーサーバのメンバーが、ファイルを読み取っている間に入出力エラーを検出する場合、それは、即時にファイル範囲を不良としてマークし、ハイパーサーバの別のメンバーに要求を終えるように求め、ファイルのコンテンツを有効なコピーを有するメンバーのコンテンツと再同期させる。
ハイパーサーバのメンバーは、そのハイパーボリュームインスタンスにおいて非一貫性を検出すると、非一貫性の性質に応じて、異なって作用することができる。軽微な非一貫性は、前の節で説明されるように、即座に対処されるべきである。しかしながら、名前空間のコンテンツまたはデータ空間のコンテンツが損なわれた場合、メンバーHMは、完全ハイパーボリューム再同期化をトリガすべきである。新しいHMがハイパーサーバに割り当てられるときに、同じことが起こる。
・第1の段階は、名前空間が存在するはずであり、名前空間再同期化が必要とされる場合、名前空間を再同期させることになる。これは、ハイパーサーバ一次メンバー上で利用可能な持続的イメージに記憶されているような名前空間コンテンツをコピーすることを伴う。これは、システムが作動するにつれて行われる。プロセスの終了時に、一次メンバーは、新しいHMが完全に同期させられるまで、着信更新要求をしばらくの間保持する。この後、更新要求は、新しいメンバーと同様に有効にされる。(これが名前空間内でどのようにして達成されるかについての詳細は、「新しいメンバーの初期化」と題された上記の節にある。)
・第2の段階は、データ空間が、修復されているハイパーサーバのために存在する場合、データ空間に対する同様のタスクを達成する。
複数の記憶層がHyperfiler内に存在するとき、およびこの特徴が有効にされる場合、システムは、ファイルへのアクセスを監視する。顧客は、ファイル移動窓と呼ばれる、参照の時間窓を設定することを可能にされる。周期的に、システムは、各ハイパーサーバ内の名前空間を調べる。所与のファイルが最後の移動窓内で参照されていない場合、それは、下の記憶層へ移動させられる(下の記憶層が存在する場合)。有効にされている場合、システムはまた、下層内のファイルが参照される次のときに、ファイルを上の記憶層に移動させることも担当し、これは、ファイルが属すべき記憶層内にファイルを保つ。
データが書き込まれると、ビット崩壊およびセクタ劣化が起こり得る。この理由により、システムは、既存のデータのスクラビングを行う。各ハイパーサーバ内の一次メンバーは、全てのメンバー上の各ハイパーボリュームの名前空間およびデータ部分を走査して、それらが同期化されていること、破損データがないこと、および孤立しているが誤動作により削除されていない任意のデータがパージされることを確認する。
そのアーキテクチャにより、Hyperfilerは、本質的に拡張可能である。追加の記憶装置が必要とされるか、または追加の性能が要求されるときはいつでも、動的な様式で、つまり、継続中の動作を妨害することなく、新しいHMをHyperfilerに追加することが可能である。
・所与の記憶装置クラスに追加されるHMの数は、そのクラスの基数の倍数となるべきである。所与の記憶層に追加されるHMは、利用可能なRAMおよび記憶装置に関して同様の構成を有すべきであり、かつ同様の能力を伴うCPU上で作動すべきである。
・同一のハイパーサーバのメンバーが同一のマシン上で作動する状況を回避するよう、HMがホストされるサーバの記述は、常に正確であるべきである。これは、実際に、HMレベル冗長性が存在しないことをもたらすであろう。
本明細書のHyperfilerアーキテクチャは、極めて一般的であり、展開の多くの変異形に適応することができる。しかしながら、初期リリースの開発を単純化するために、可能性な組み合わせの数を制約することが望ましい。本節は、そのような制限について議論する。
名前空間サービスおよびデータ空間サービスの両方をサポートするHMを実装する際、特に、HMをハイパーサーバに集約することを期待される、システム管理のために、展開を単純化する。しかしながら、直接アタッチドハードドライブ(この場合、直接アタッチド記憶デバイスの省略である「DASD」を伴うものと称する)、ならびにSANまたはSANのようなインフラストラクチャを介してプロビジョニングされたLUNを使用する必要があるので、以下によって引き起こされる、いくつかの複雑な事態が生じる。
第1のHyperfilerリリースにおいて、各HMが名前空間サービスまたはデータ空間サービスのいずれか一方をホストするであろうという事実に基づいて、リソースの割り付けを選択する際に、以下の基準が適用されるであろう:10GBのデータ空間が、名前空間サービスを実行する各HMのために利用可能となるであろう。できる限り多くのドライブが、データ空間サービスを実行する各HMのために利用可能となるであろう。ルートファイルシステムおよびスワップ領域のための十分な量の空間が、どちらのHMタイプのためにも利用可能となるであろう。約1.5GB〜2GBのRAMが、それが実行するサービスによって使用されるために各HMに利用可能となるであろう。約800MBが、各HMカーネルのために利用可能となるであろう。(これは最大値である。可能であれば、必要とされるコンポーネントの量を削減することによって、およびHMにわたってカーネルコードページを共有することによって、これはさらに縮小されるべきである。)コアのおよそ1/4が、各HM専用にされるであろう。およそ2つのHMが、各ドライブに割り付けられるであろう。
Hyperfilerは、本明細書の実施形態では、単一の名前空間を伴う高可用性スケールアウトファイルシステムを実装する。本システムは、理想的には、ウェブ規模アプリケーション向けの高可用性共有ファイル記憶プラットフォームを提供するために適しており、容量および性能、固有のボトルネックの欠如、および単一のディスク入出力動作でランダムセット内のファイルを開く能力に関して、無限拡張可能性を提供する。この最後の特性は、単独で、ほとんどのファイルについて10倍の性能利点を伴い、ドライブスピンドルの総数の大幅な削減を可能にする。データ空間からの名前空間の分離は、それらが、SATAドライブまたはSSD等のアプリケーション環境のために最も適切である二次媒体上に配置されることを可能にする。これらの特性を伴うファイルシステムは、現代の業界標準サーバのコンポーネントに依存するトレードオフに基づき、したがって、マルチコアCPU、大量のRAM、高ネットワーク帯域幅、および低ネットワーク待ち時間の可用性を十分に利用する。本システムのための理想的な作業負荷は、データベース型アクセスが必要とされない、一般読み取りを伴う読み取り書き込みトラフィックから成る。本システムは、POSIX規格の順守を提供し、したがって、アプリケーション開発者がベンダー特有のAPIにとらわれることから解放し、NFSに基づく既存のアプリケーションが変わりなく作動することを可能にする。Hyperfilerが単一の名前空間内で無限に拡張できるという事実は、Hyperfilerが単一のエンティティとして挙動して管理される際に、顧客が、全ての記憶デバイスに到達するために複雑なマウントマップに取り組む必要がないことを示唆する。名前空間専用のRAMの量およびスワップデバイスの性質に関して、名前空間が対処される方法の融通性は、サポートされる記憶層の数およびタイプとともに、所望のコスト/性能比の極度の融通性が得られることを可能にする。
本発明はさらに、例えば、以下を提供する。
(項目1)
複数の論理コンピュータシステム内でソフトウェア定義ネットワークアタッチ可能記憶システムを確立する方法であって、各コンピュータシステムは、メモリと、プロセッサと、記憶システムとを有し、
前記方法は、前記論理コンピュータシステム内でプログラムのセットを実行することを含み、
前記プログラムのセットは、名前空間内で動作する名前空間サーバとして論理コンピュータシステムの第1のセットを確立し、かつ、データ空間サーバとして論理コンピュータシステムの第2のセットを確立し、前記論理コンピュータシステムの第1のセットは、少なくとも2つの論理コンピュータシステムを含み、各論理コンピュータシステムは、前記名前空間の異なるパーティション内で自律的に動作するように構成され、
(i)各名前空間サーバは、
(a)ファイルシステムメタデータをそのメモリに持続的に記憶することであって、前記ファイルシステムメタデータは、ファイルおよびディレクトリ名と、前記ファイルおよびディレクトリ名に関連付けられているユーザデータが常駐する場所についての情報とを含む、ことと、前記ファイルシステムメタデータの動的に更新されたコピーをその記憶システムに記憶することと、
(b)そのメモリに持続的に記憶されている前記メタデータに基づいて、少なくとも1つの要求クライアントコンピュータからの前記名前空間の所定のサブセットに対する記憶システムパス名要求を処理することと、各要求に応答して、前記要求クライアントコンピュータによる使用のためのハンドルを返送することと
を行うように構成され、前記名前空間サーバの全ては、集合的に、したがって、前記名前空間の全体に対する記憶システムパス名要求を処理し、
(ii)各データ空間サーバは、前記名前空間サーバによって決定され、前記少なくとも1つの要求クライアントコンピュータから受信されるハンドルに直接基づいて、ユーザデータをその記憶システムに記憶し、取り出すように構成されている、方法。
(項目2)
前記名前空間サーバの少なくとも1つの厳密なサブセットは、前記名前空間の共有サブセットに対して記憶システムパス名要求を処理するために、クラスタとして動作するように構成され、前記名前空間の前記共有サブセットに対するファイルシステムメタデータは、前記クラスタ内の各名前空間サーバのメモリの中に持続的に常駐している、項目1に記載の方法。
(項目3)
前記クラスタ内の名前空間サーバの数は、予測負荷条件下で、所望のレベルの速度、冗長性、および可用性を達成するように選択される、項目2に記載の方法。
(項目4)
前記データ空間サーバの少なくとも1つの厳密なサブセットは、前記データ空間の共有サブセットに対して、前記名前空間サーバによって決定されるハンドルに基づいて、ユーザデータをその記憶システムに記憶し、取り出すために、クラスタとして動作するように構成されている、項目1に記載の方法。
(項目5)
前記クラスタ内のデータ空間サーバの数は、予測負荷条件下で、所望のレベルの速度、冗長性、および可用性を達成するように選択される、項目4に記載の方法。
(項目6)
前記論理コンピュータシステムのうちの少なくともいくつかは、仮想コンピュータシステムである、項目1に記載の方法。
(項目7)
前記論理コンピュータシステムのうちの少なくともいくつかは、仮想コンピュータシステムである、項目2に記載の方法。
(項目8)
前記論理コンピュータシステムの全ては、仮想コンピュータシステムである、項目2に記載の方法。
(項目9)
前記論理コンピュータシステムのうちの少なくともいくつかは、仮想コンピュータシステムである、項目4に記載の方法。
(項目10)
前記論理コンピュータシステムの全ては、仮想コンピュータシステムである、項目4に記載の方法。
(項目11)
前記論理コンピュータシステムの第1および第2のセットは、互いに素である、項目1に記載の方法。
(項目12)
前記論理コンピュータシステムの第1および第2のセットは、互いに素ではない、項目1に記載の方法。
(項目13)
前記ファイルシステムメタデータは、パス名の共有プレフィックスがコンパクトに記憶されるように、パトリシア木データ構造に従って構造化される、項目1に記載の方法。
(項目14)
前記ファイルシステムメタデータは、(i)前記パトリシア木を符号化するノードテーブル、および(ii)ファイルおよびディレクトリの属性を符号化するファイルテーブル、および(iii)前記ノードテーブルで使用される最大長より大きい長さを有する、文字列の名前を符号化する文字列テーブルに記憶される、項目13に記載の方法。
(項目15)
前記ノードテーブル、前記ファイルテーブル、および前記文字列テーブルの各々は、持続性のために異なるファイルに動的に記憶される、項目14に記載の方法。
(項目16)
前記ノードテーブル、前記ファイルテーブル、または前記文字列テーブルのうちの任意のものに対する任意の変更は、インテントログに記憶され、前記インテントログは、そのようなテーブルに対応する前記ファイルを更新するために動的に使用され、単一の動作に関連する前記変更のうちの任意のものは、一緒に結び付けられる、項目15に記載の方法。
(項目17)
前記クラスタによって管理されている名前空間データの前記共有サブセットに対する更新を取り扱う経過中、前記共有サブセットに対する各連続更新は、連続番号を与えられ、前記クラスタの論理コンピュータシステムは、前記連続番号に基づいて、事前定義された更新順を依然として保持しながら、非同期的に動作するように構成されている、項目2に記載の方法。
(項目18)
前記ノードテーブル、前記ファイルテーブル、および前記文字列テーブルの各々は、固定サイズのエントリを有する異なるアレイである、項目14に記載の方法。
Claims (18)
- 複数の論理コンピュータシステム内でソフトウェア定義ネットワークアタッチ可能記憶システムを確立する方法であって、各コンピュータシステムは、メモリと、プロセッサと、記憶システムとを有し、
前記方法は、前記論理コンピュータシステム内でプログラムのセットを実行することを含み、
前記プログラムのセットは、名前空間内で動作する名前空間サーバとして論理コンピュータシステムの第1のセットを確立し、かつ、データ空間サーバとして論理コンピュータシステムの第2のセットを確立し、前記論理コンピュータシステムの第1のセットは、少なくとも2つの論理コンピュータシステムを含み、各論理コンピュータシステムは、前記名前空間の異なるパーティション内で自律的に動作するように構成され、
(i)各名前空間サーバは、
(a)ファイルシステムメタデータをそのメモリに持続的に記憶することであって、前記ファイルシステムメタデータは、ファイルおよびディレクトリ名と、前記ファイルおよびディレクトリ名に関連付けられているユーザデータが常駐する場所についての情報とを含む、ことと、前記ファイルシステムメタデータの動的に更新されたコピーをその記憶システムに記憶することと、
(b)そのメモリに持続的に記憶されている前記メタデータに基づいて、少なくとも1つの要求クライアントコンピュータからの前記名前空間の所定のサブセットに対する記憶システムパス名要求を処理することと、各要求に応答して、前記要求クライアントコンピュータによる使用のためのハンドルを返送することと
を行うように構成され、前記名前空間サーバの全ては、集合的に、したがって、前記名前空間の全体に対する記憶システムパス名要求を処理し、
(ii)各データ空間サーバは、前記名前空間サーバによって決定され、前記少なくとも1つの要求クライアントコンピュータから受信されるハンドルに直接基づいて、ユーザデータをその記憶システムに記憶し、取り出すように構成されている、方法。 - 前記名前空間サーバの少なくとも1つの厳密なサブセットは、前記名前空間の共有サブセットに対して記憶システムパス名要求を処理するために、クラスタとして動作するように構成され、前記名前空間の前記共有サブセットに対するファイルシステムメタデータは、前記クラスタ内の各名前空間サーバのメモリの中に持続的に常駐している、請求項1に記載の方法。
- 前記クラスタ内の名前空間サーバの数は、予測負荷条件下で、所望のレベルの速度、冗長性、および可用性を達成するように選択される、請求項2に記載の方法。
- 前記データ空間サーバの少なくとも1つの厳密なサブセットは、前記データ空間の共有サブセットに対して、前記名前空間サーバによって決定されるハンドルに基づいて、ユーザデータをその記憶システムに記憶し、取り出すために、クラスタとして動作するように構成されている、請求項1に記載の方法。
- 前記クラスタ内のデータ空間サーバの数は、予測負荷条件下で、所望のレベルの速度、冗長性、および可用性を達成するように選択される、請求項4に記載の方法。
- 前記論理コンピュータシステムのうちの少なくともいくつかは、仮想コンピュータシステムである、請求項1に記載の方法。
- 前記論理コンピュータシステムのうちの少なくともいくつかは、仮想コンピュータシステムである、請求項2に記載の方法。
- 前記論理コンピュータシステムの全ては、仮想コンピュータシステムである、請求項2に記載の方法。
- 前記論理コンピュータシステムのうちの少なくともいくつかは、仮想コンピュータシステムである、請求項4に記載の方法。
- 前記論理コンピュータシステムの全ては、仮想コンピュータシステムである、請求項4に記載の方法。
- 前記論理コンピュータシステムの第1および第2のセットは、互いに素である、請求項1に記載の方法。
- 前記論理コンピュータシステムの第1および第2のセットは、互いに素ではない、請求項1に記載の方法。
- 前記ファイルシステムメタデータは、パス名の共有プレフィックスがコンパクトに記憶されるように、パトリシア木データ構造に従って構造化される、請求項1に記載の方法。
- 前記ファイルシステムメタデータは、(i)前記パトリシア木を符号化するノードテーブル、および(ii)ファイルおよびディレクトリの属性を符号化するファイルテーブル、および(iii)前記ノードテーブルで使用される最大長より大きい長さを有する、文字列の名前を符号化する文字列テーブルに記憶される、請求項13に記載の方法。
- 前記ノードテーブル、前記ファイルテーブル、および前記文字列テーブルの各々は、持続性のために異なるファイルに動的に記憶される、請求項14に記載の方法。
- 前記ノードテーブル、前記ファイルテーブル、または前記文字列テーブルのうちの任意のものに対する任意の変更は、インテントログに記憶され、前記インテントログは、そのようなテーブルに対応する前記ファイルを更新するために動的に使用され、単一の動作に関連する前記変更のうちの任意のものは、一緒に結び付けられる、請求項15に記載の方法。
- 前記クラスタによって管理されている名前空間データの前記共有サブセットに対する更新を取り扱う経過中、前記共有サブセットに対する各連続更新は、連続番号を与えられ、前記クラスタの論理コンピュータシステムは、前記連続番号に基づいて、事前定義された更新順を依然として保持しながら、非同期的に動作するように構成されている、請求項2に記載の方法。
- 前記ノードテーブル、前記ファイルテーブル、および前記文字列テーブルの各々は、固定サイズのエントリを有する異なるアレイである、請求項14に記載の方法。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201261701441P | 2012-09-14 | 2012-09-14 | |
US61/701,441 | 2012-09-14 | ||
US13/759,799 | 2013-02-05 | ||
US13/759,799 US8769105B2 (en) | 2012-09-14 | 2013-02-05 | Software-defined network attachable storage system and method |
PCT/US2013/057330 WO2014042889A2 (en) | 2012-09-14 | 2013-08-29 | Software-defined network attachable storage system and method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2015534175A true JP2015534175A (ja) | 2015-11-26 |
JP6199394B2 JP6199394B2 (ja) | 2017-09-20 |
Family
ID=50275637
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015531949A Expired - Fee Related JP6199394B2 (ja) | 2012-09-14 | 2013-08-29 | ソフトウェア定義ネットワークアタッチ可能記憶システムおよび方法 |
Country Status (5)
Country | Link |
---|---|
US (3) | US8769105B2 (ja) |
EP (1) | EP2895957A4 (ja) |
JP (1) | JP6199394B2 (ja) |
KR (1) | KR101544717B1 (ja) |
WO (1) | WO2014042889A2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2021518604A (ja) * | 2018-03-19 | 2021-08-02 | ランディス・ギア イノベーションズ インコーポレイテッドLandis+Gyr Innovations, Inc. | クラスタ化されたデータベース環境でのデータのパーティショニング |
Families Citing this family (53)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9332069B2 (en) | 2012-12-28 | 2016-05-03 | Wandisco, Inc. | Methods, devices and systems for initiating, forming and joining memberships in distributed computing systems |
US8364633B2 (en) | 2005-01-12 | 2013-01-29 | Wandisco, Inc. | Distributed computing systems and system components thereof |
US9361311B2 (en) * | 2005-01-12 | 2016-06-07 | Wandisco, Inc. | Distributed file system using consensus nodes |
US9424272B2 (en) * | 2005-01-12 | 2016-08-23 | Wandisco, Inc. | Distributed file system using consensus nodes |
US8296398B2 (en) * | 2008-04-29 | 2012-10-23 | Overland Storage, Inc. | Peer-to-peer redundant file server system and methods |
US9020893B2 (en) * | 2013-03-01 | 2015-04-28 | Datadirect Networks, Inc. | Asynchronous namespace maintenance |
US20140280220A1 (en) * | 2013-03-13 | 2014-09-18 | Sas Institute Inc. | Scored storage determination |
US9933956B2 (en) | 2013-09-05 | 2018-04-03 | Nutanix, Inc. | Systems and methods for implementing stretch clusters in a virtualization environment |
US9467536B1 (en) | 2014-03-21 | 2016-10-11 | Cisco Technology, Inc. | Shim layer abstraction in multi-protocol SDN controller |
US9660877B1 (en) | 2014-03-21 | 2017-05-23 | Cisco Technology, Inc. | Transaction management in multi-protocol SDN controller |
ES2881606T3 (es) * | 2014-03-31 | 2021-11-30 | Wandisco Inc | Sistema de ficheros geográficamente distribuido que usa replicación de espacio de nombres coordinada |
US9823842B2 (en) | 2014-05-12 | 2017-11-21 | The Research Foundation For The State University Of New York | Gang migration of virtual machines using cluster-wide deduplication |
CN106462639B (zh) * | 2014-06-24 | 2020-04-24 | 谷歌有限责任公司 | 处理远程数据库的变化 |
US9575846B2 (en) | 2014-07-24 | 2017-02-21 | At&T Intellectual Property I, L.P. | Distributed storage of data |
US9419915B2 (en) * | 2014-09-17 | 2016-08-16 | Theplatform, Llc | Methods and systems for resource allocation |
US10055240B2 (en) | 2014-09-23 | 2018-08-21 | At&T Intellectual Property I, L.P. | Service creation and management |
US9594674B1 (en) * | 2014-09-30 | 2017-03-14 | EMC IP Holding Company LLC | Method and system for garbage collection of data storage systems using live segment records |
US9697227B2 (en) | 2014-10-27 | 2017-07-04 | Cohesity, Inc. | Concurrent access and transactions in a distributed file system |
US10469580B2 (en) * | 2014-12-12 | 2019-11-05 | International Business Machines Corporation | Clientless software defined grid |
US10554749B2 (en) | 2014-12-12 | 2020-02-04 | International Business Machines Corporation | Clientless software defined grid |
WO2016109743A1 (en) * | 2014-12-30 | 2016-07-07 | Nutanix, Inc. | Systems and methods for implementing stretch clusters in a virtualization environment |
US10255287B2 (en) * | 2015-07-31 | 2019-04-09 | Hiveio Inc. | Method and apparatus for on-disk deduplication metadata for a deduplication file system |
US10387384B1 (en) * | 2015-09-30 | 2019-08-20 | EMC IP Holding Company LLC | Method and system for semantic metadata compression in a two-tier storage system using copy-on-write |
US10628391B1 (en) * | 2015-09-30 | 2020-04-21 | EMC IP Holding Company LLC | Method and system for reducing metadata overhead in a two-tier storage architecture |
US11240334B2 (en) | 2015-10-01 | 2022-02-01 | TidalScale, Inc. | Network attached memory using selective resource migration |
US10229178B2 (en) | 2015-10-30 | 2019-03-12 | Netapp, Inc. | Techniques for visualizing storage cluster system configurations and events |
US10282379B2 (en) * | 2015-10-30 | 2019-05-07 | Netapp, Inc. | Techniques for visualizing storage cluster system configurations and API therefore |
US10997126B1 (en) * | 2015-12-08 | 2021-05-04 | EMC IP Holding Company LLC | Methods and apparatus for reorganizing dynamically loadable namespaces (DLNs) |
US10127238B1 (en) * | 2015-12-08 | 2018-11-13 | EMC IP Holding Company LLC | Methods and apparatus for filtering dynamically loadable namespaces (DLNs) |
US10079693B2 (en) | 2015-12-28 | 2018-09-18 | Netapp, Inc. | Storage cluster management proxy |
US9996541B2 (en) | 2016-02-10 | 2018-06-12 | Red Hat, Inc. | Hash-based mount point lookup in virtual file systems |
US11132450B2 (en) | 2016-02-26 | 2021-09-28 | Red Hat, Inc. | Accessing file systems in a virtual environment |
US9501364B1 (en) | 2016-03-18 | 2016-11-22 | Storagecraft Technology Corporation | Hybrid image backup of a source storage |
US10169100B2 (en) | 2016-03-31 | 2019-01-01 | International Business Machines Corporation | Software-defined storage cluster unified frontend |
US10592221B2 (en) * | 2016-05-03 | 2020-03-17 | Hewlett Packard Enterprese Development Lp | Parallel distribution of application services to virtual nodes |
US10235378B1 (en) * | 2016-09-30 | 2019-03-19 | EMC IP Holding Company LLC | Namespace performance acceleration by selective SSD caching |
CN108021562B (zh) * | 2016-10-31 | 2022-11-18 | 中兴通讯股份有限公司 | 应用于分布式文件系统的存盘方法、装置及分布式文件系统 |
US11360942B2 (en) | 2017-03-13 | 2022-06-14 | Wandisco Inc. | Methods, devices and systems for maintaining consistency of metadata and data across data centers |
US10579553B2 (en) | 2017-03-14 | 2020-03-03 | International Business Machines Corporation | Storage capability aware software defined storage |
KR102263357B1 (ko) | 2017-04-19 | 2021-06-11 | 한국전자통신연구원 | 분산 파일시스템 환경에서 사용자 수준 dma i/o를 지원하는 시스템 및 그 방법 |
US11023135B2 (en) | 2017-06-27 | 2021-06-01 | TidalScale, Inc. | Handling frequently accessed pages |
US10817347B2 (en) | 2017-08-31 | 2020-10-27 | TidalScale, Inc. | Entanglement of pages and guest threads |
US11240306B2 (en) * | 2017-11-06 | 2022-02-01 | Vast Data Ltd. | Scalable storage system |
US11175927B2 (en) | 2017-11-14 | 2021-11-16 | TidalScale, Inc. | Fast boot |
US10735529B2 (en) | 2017-12-07 | 2020-08-04 | At&T Intellectual Property I, L.P. | Operations control of network services |
KR102021671B1 (ko) * | 2017-12-11 | 2019-09-16 | 건국대학교 산학협력단 | SDN에서 애플리케이션 레이어의 통신을 위한 노스바운드 API로써의 gRPC |
US10866963B2 (en) | 2017-12-28 | 2020-12-15 | Dropbox, Inc. | File system authentication |
US10789217B2 (en) | 2018-06-22 | 2020-09-29 | Microsoft Technology Licensing, Llc | Hierarchical namespace with strong consistency and horizontal scalability |
US11169855B2 (en) * | 2019-12-03 | 2021-11-09 | Sap Se | Resource allocation using application-generated notifications |
WO2022029290A1 (en) * | 2020-08-07 | 2022-02-10 | Carlos Ardanza Azcondo | Interfacing between file client and file server |
US11544234B2 (en) * | 2020-11-12 | 2023-01-03 | International Business Machines Corporation | Virtualizing specific values in a guest configuration based on the underlying host symbol repository |
US11966294B2 (en) * | 2021-05-05 | 2024-04-23 | EMC IP Holding Company LLC | Journal barrier consistency determination |
US11907173B1 (en) * | 2021-12-06 | 2024-02-20 | Amazon Technologies, Inc. | Composable network-storage-based file systems |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06266600A (ja) * | 1993-03-12 | 1994-09-22 | Hitachi Ltd | 分散ファイルシステム |
JP2004240803A (ja) * | 2003-02-07 | 2004-08-26 | Hitachi Ltd | ネットワークストレージ仮想化方法およびネットワークストレージ仮想化システム |
JP2005092862A (ja) * | 2003-08-11 | 2005-04-07 | Hitachi Ltd | 負荷分散方法及びクライアント・サーバシステム |
WO2010144374A2 (en) * | 2009-06-12 | 2010-12-16 | Microsoft Corporation | Software extension analysis |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6895429B2 (en) | 2001-12-28 | 2005-05-17 | Network Appliance, Inc. | Technique for enabling multiple virtual filers on a single filer to participate in multiple address spaces with overlapping network addresses |
JP4154893B2 (ja) | 2002-01-23 | 2008-09-24 | 株式会社日立製作所 | ネットワークストレージ仮想化方法 |
US6694323B2 (en) * | 2002-04-25 | 2004-02-17 | Sybase, Inc. | System and methodology for providing compact B-Tree |
US6963868B2 (en) | 2002-06-03 | 2005-11-08 | International Business Machines Corporation | Multi-bit Patricia trees |
US7272654B1 (en) | 2004-03-04 | 2007-09-18 | Sandbox Networks, Inc. | Virtualizing network-attached-storage (NAS) with a compact table that stores lossy hashes of file names and parent handles rather than full names |
US7613703B2 (en) | 2004-09-30 | 2009-11-03 | Microsoft Corporation | Organizing resources into collections to facilitate more efficient and reliable resource access |
US7885970B2 (en) | 2005-01-20 | 2011-02-08 | F5 Networks, Inc. | Scalable system for partitioning and accessing metadata over multiple servers |
US20070088702A1 (en) * | 2005-10-03 | 2007-04-19 | Fridella Stephen A | Intelligent network client for multi-protocol namespace redirection |
US7792129B2 (en) * | 2006-12-01 | 2010-09-07 | International Business Machines Corporation | Multi-queue packet processing using Patricia tree |
US8271612B2 (en) | 2008-04-04 | 2012-09-18 | International Business Machines Corporation | On-demand virtual storage capacity |
US8296398B2 (en) | 2008-04-29 | 2012-10-23 | Overland Storage, Inc. | Peer-to-peer redundant file server system and methods |
US7992037B2 (en) * | 2008-09-11 | 2011-08-02 | Nec Laboratories America, Inc. | Scalable secondary storage systems and methods |
US8335889B2 (en) * | 2008-09-11 | 2012-12-18 | Nec Laboratories America, Inc. | Content addressable storage systems and methods employing searchable blocks |
US20100082546A1 (en) | 2008-09-30 | 2010-04-01 | Microsoft Corporation | Storage Tiers for Database Server System |
US8078622B2 (en) * | 2008-10-30 | 2011-12-13 | Network Appliance, Inc. | Remote volume access and migration via a clustered server namespace |
US8301654B2 (en) * | 2009-02-24 | 2012-10-30 | Hitachi, Ltd. | Geographical distributed storage system based on hierarchical peer to peer architecture |
WO2011077489A1 (ja) | 2009-12-24 | 2011-06-30 | 株式会社日立製作所 | 仮想ボリュームを提供するストレージシステム |
-
2013
- 2013-02-05 US US13/759,799 patent/US8769105B2/en active Active
- 2013-08-29 WO PCT/US2013/057330 patent/WO2014042889A2/en unknown
- 2013-08-29 EP EP13836286.8A patent/EP2895957A4/en not_active Ceased
- 2013-08-29 KR KR1020157005057A patent/KR101544717B1/ko active IP Right Grant
- 2013-08-29 JP JP2015531949A patent/JP6199394B2/ja not_active Expired - Fee Related
-
2014
- 2014-06-19 US US14/308,937 patent/US9059976B2/en active Active
-
2015
- 2015-06-12 US US14/738,009 patent/US9549026B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06266600A (ja) * | 1993-03-12 | 1994-09-22 | Hitachi Ltd | 分散ファイルシステム |
JP2004240803A (ja) * | 2003-02-07 | 2004-08-26 | Hitachi Ltd | ネットワークストレージ仮想化方法およびネットワークストレージ仮想化システム |
JP2005092862A (ja) * | 2003-08-11 | 2005-04-07 | Hitachi Ltd | 負荷分散方法及びクライアント・サーバシステム |
WO2010144374A2 (en) * | 2009-06-12 | 2010-12-16 | Microsoft Corporation | Software extension analysis |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2021518604A (ja) * | 2018-03-19 | 2021-08-02 | ランディス・ギア イノベーションズ インコーポレイテッドLandis+Gyr Innovations, Inc. | クラスタ化されたデータベース環境でのデータのパーティショニング |
JP7102542B2 (ja) | 2018-03-19 | 2022-07-19 | ランディス・ギア イノベーションズ インコーポレイテッド | クラスタ化されたデータベース環境でのデータのパーティショニング |
JP2022153422A (ja) * | 2018-03-19 | 2022-10-12 | ランディス・ギア イノベーションズ インコーポレイテッド | クラスタ化されたデータベース環境でのデータのパーティショニング |
JP7220321B2 (ja) | 2018-03-19 | 2023-02-09 | ランディス・ギア イノベーションズ インコーポレイテッド | クラスタ化されたデータベース環境でのデータのパーティショニング |
Also Published As
Publication number | Publication date |
---|---|
KR20150052036A (ko) | 2015-05-13 |
US9059976B2 (en) | 2015-06-16 |
US20140297734A1 (en) | 2014-10-02 |
WO2014042889A2 (en) | 2014-03-20 |
US8769105B2 (en) | 2014-07-01 |
WO2014042889A3 (en) | 2014-05-15 |
EP2895957A2 (en) | 2015-07-22 |
JP6199394B2 (ja) | 2017-09-20 |
US9549026B2 (en) | 2017-01-17 |
US20140082145A1 (en) | 2014-03-20 |
KR101544717B1 (ko) | 2015-08-21 |
US20150281360A1 (en) | 2015-10-01 |
EP2895957A4 (en) | 2015-11-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6199394B2 (ja) | ソフトウェア定義ネットワークアタッチ可能記憶システムおよび方法 | |
US11178246B2 (en) | Managing cloud-based storage using a time-series database | |
US7653699B1 (en) | System and method for partitioning a file system for enhanced availability and scalability | |
USRE43346E1 (en) | Transaction aggregation in a switched file system | |
US8943282B1 (en) | Managing snapshots in cache-based storage systems | |
US8316066B1 (en) | Shadow directory structure in a distributed segmented file system | |
US7788335B2 (en) | Aggregated opportunistic lock and aggregated implicit lock management for locking aggregated files in a switched file system | |
US8396895B2 (en) | Directory aggregation for files distributed over a plurality of servers in a switched file system | |
CA2512312C (en) | Metadata based file switch and switched file system | |
US8417681B1 (en) | Aggregated lock management for locking aggregated files in a switched file system | |
US7383288B2 (en) | Metadata based file switch and switched file system | |
US7743038B1 (en) | Inode based policy identifiers in a filing system | |
US10725666B2 (en) | Memory-based on-demand data page generation | |
US9582213B2 (en) | Object store architecture for distributed data processing system | |
US7707165B1 (en) | System and method for managing data versions in a file system | |
JP6549704B2 (ja) | 分散コンピューティング環境内でゼロコピー2進基数木をサポートするためのシステムおよび方法 | |
US20120036107A1 (en) | Rule based aggregation of files and transactions in a switched file system | |
US20090271418A1 (en) | Computer file system with path lookup tables | |
US7424497B1 (en) | Technique for accelerating the creation of a point in time prepresentation of a virtual file system | |
US20200065199A1 (en) | Journaling data received in a cloud-based distributed computing environment | |
US9165003B1 (en) | Technique for permitting multiple virtual file systems having the same identifier to be served by a single storage system | |
US20170212919A1 (en) | Bottom-up dense tree repair technique | |
Shu | Distributed Storage Systems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20150819 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20151013 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160112 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20160406 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20170823 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6199394 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |