JP2002091804A - ストレージ・デバイス上でのスペースの割振りを管理する方法、システム、およびプログラム記憶媒体 - Google Patents
ストレージ・デバイス上でのスペースの割振りを管理する方法、システム、およびプログラム記憶媒体Info
- Publication number
- JP2002091804A JP2002091804A JP2001216805A JP2001216805A JP2002091804A JP 2002091804 A JP2002091804 A JP 2002091804A JP 2001216805 A JP2001216805 A JP 2001216805A JP 2001216805 A JP2001216805 A JP 2001216805A JP 2002091804 A JP2002091804 A JP 2002091804A
- Authority
- JP
- Japan
- Prior art keywords
- file
- allocation
- weight
- storage devices
- storage device
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99951—File or database maintenance
- Y10S707/99952—Coherency, e.g. same view to multiple users
- Y10S707/99953—Recoverability
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99951—File or database maintenance
- Y10S707/99956—File allocation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
を管理する方法、システム、およびプログラム記憶媒体
を提供すること。 【解決手段】 ストレージ・デバイスに関連する重みに
比例して、ストレージ・デバイス上でスペースを割振
る。スペースは、複数のファイル・システムによって割
振られる。具体的に言うと、スペースを、1つまたは複
数のファイル・システムによって、任意のストレージ・
デバイス上で割振ることができる。システムの変更に適
応し、ストレージ・デバイスをよりよく利用するため
に、重みをいつでも動的に調整することができる。複数
のファイル・システムが、1つまたは複数のストレージ
・デバイス上でスペースを割振る可能性があるので、重
みの変更は、その情報を使用する可能性があるさまざま
なファイル・システムに伝搬される。
Description
・デバイスのスペースを割振ることに関し、詳細には、
複数のファイル・システムが、重み付き割振りを使用し
て1つまたは複数のストレージ・デバイスのスペースを
割振ることができるようにすることに関する。
が含まれ、これによって、他のアプリケーション・プロ
グラムが、ストレージ・デバイスにデータを保管し、取
り出すことができるようになる。具体的に言うと、ファ
イル・システムによって、アプリケーション・プログラ
ムが、ファイルを作成し、ファイルに名前を付け(ファ
イルは、任意のサイズの名前付きデータ・オブジェクト
である)、ファイルにデータを保管し(書き込み)、フ
ァイルからデータを読み取り、ファイルを削除し、ファ
イルに対して他の動作を実行することができるようにな
る。
でのデータの編成である。ファイル・データ自体のほか
に、ファイル構造には、例えば、対応するファイルにフ
ァイル名をマッピングするディレクトリ、ストレージ・
デバイス上でのファイル・データの位置(すなわち、ど
のデバイス・ブロックがファイル・データを保持する
か)を含むファイルに関する情報を含むファイル・メタ
・データ、どのデバイス・ブロックが現在メタ・データ
およびファイル・データの保管に使用されているかを記
録する割振りマップ、およびファイル構造に関する全体
的な情報(例えば、ディレクトリ、割振りマップ、およ
び他のメタ・データ構造の位置)を含むスーパーブロッ
クを含むメタ・データが含まれる。
ディスクまたは他のストレージ・デバイスなどの別個の
デバイスに保管するために、ストライピングと称する技
法が使用される。ストライピングは、ファイル・システ
ムのメタ・データを保管するのに使用することもでき
る。ストライピングの長所には、高性能およびロード・
バランシングが含まれる。ストライピングでは、ファイ
ル・システムが、ファイルの連続するブロックまたはフ
ァイルのメタ・データを、定義された順序で別個のデバ
イスに書き込む。例えば、ファイル・システムは、ラウ
ンドロビン割振りを使用することができ、この場合、連
続するブロックが、デバイスの巡回置換に従って配置さ
れる。この置換を、ストライプ順序と称する。ストライ
プ順序によって、ファイル・システム内の各デバイスへ
の割振り(したがって、書込)の順序および頻度が定義
される。例えば、単純なラウンドロビン割振り方式を使
用する、4台のディスクを有するシステムでは、各ディ
スクのスペースが、連続する順序すなわち1、2、3、
4、1、2、3、4、…で割振られる。
んどのストライプ式ファイル・システムによって割振り
に使用される。ラウンドロビン割振りは、同種デバイス
を含むシステムの一部の情況に十分である場合がある
が、異種デバイスを有するシステムに不適切であること
がわかっており、同種デバイスが使用されるさまざまな
情況に不適切であることがわかっている。
なる記憶容量またはスループットを有するデバイスに不
適切である。ラウンドロビン割振りの下では、すべての
デバイスが均等に割振られる。その結果、データへの後
続のアクセスが、通常は、やはりデバイスにまたがって
均等に分散される。異なる記憶容量のデバイスを含むシ
ステムの場合、少容量のデバイスが、大容量のデバイス
の前に満杯になり、したがって、ストライプ順序から排
除されなければならず、したがって、後続のすべての書
込について並列性および性能が低下する。さらに、デバ
イスの縮小された組にまたがってストライピングされる
データは、後続のすべてのアクセスについて性能が低下
する。
イスを含むシステムの場合、ラウンドロビン割振りは、
割振りおよびすべての後続のデータへのアクセスに関す
るスループットを最大化することができない。さらに、
ラウンドロビン割振りは、平衡でない状態になっている
システムを再平衡化する機能を有しない。平衡でない状
態は、例えば、デバイスがファイルまたはオペレーティ
ング・システムの間で区分されている時、空のデバイス
が既存のファイル・システムに追加された時、または割
振り方針が変更された時を含む、さまざまな理由から発
生する可能性がある。そのようなシステムを再平衡化す
るためには、ファイル・システム内のすべてのデータを
再ストライピングするなど、ユーザによる異例の処置が
必要になる。
テムによって、または共用デバイス・ファイル環境(例
えば並列環境)の複数のファイル・システムによって、
実行することができる。共用デバイス・ファイル環境で
は、1つまたは複数のストレージ・デバイスに常駐する
ファイル構造が、複数の計算ノード上で稼動する複数の
ファイル・システムによってアクセスされる。共用デバ
イス・ファイル環境を用いると、ファイル構造を使用す
るアプリケーション(またはジョブ)を、複数のノード
で並列に稼動させることができる複数の断片に分割する
ことができる。これによって、これらの複数のノードの
処理能力を、アプリケーションに対して発揮させること
が可能になる。
ングに関連する問題は、並列環境で悪化する。したがっ
て、広範囲の情況で使用するのに十分に一般的である、
並列割振り技法の必要がまだ存在する。さらに、システ
ムまたはデバイスの現在の状態および要件によりよく一
致するように割振りを再平衡化することができる能力の
必要が存在する。
デバイス上のスペースの割振りを管理する方法を提供す
ることを介して、従来技術の短所が克服され、追加の長
所がもたらされる。この方法には、例えば、計算環境の
1つまたは複数のストレージ・デバイスの1つまたは複
数の重みを得るステップと、1つまたは複数のストレー
ジ・デバイスの少なくとも1つのストレージ・デバイス
について得られた少なくとも1つの重みに比例して、少
なくとも1つのストレージ・デバイスのスペースを割振
るステップとを含み、割振りが、計算環境の複数のファ
イル・システムによって実行される。
レージ・デバイスのスペースの割振りを管理する方法が
提供される。この方法には、例えば、計算環境の複数の
ストレージ・デバイスの少なくともストレージ・デバイ
スのサブセットの各ストレージ・デバイスのための重み
を得るステップと、ストレージ・デバイスに割り当てら
れた重みに比例して、少なくともストレージ・デバイス
のサブセットの各ストレージ・デバイスのスペースを割
振るステップとを含み、複数のファイル・システムの各
ファイル・システムが少なくともストレージ・デバイス
のサブセットの1つまたは複数のストレージ・デバイス
上のスペースを割振るように、割振りが複数のファイル
・システムによって実行される。
びコンピュータ・プログラムも、本明細書に記載され、
請求される。
有利なことに、各デバイスのスペースが、そのデバイス
に割り当てられた重みに比例して割振られ、したがって
消費されるように、1つまたは複数のストレージ・デバ
イスにまたがる、複数のファイル・システムによるスペ
ースの割振りをもたらす。デバイスに割り当てられる重
みは、動的に変更することができ、したがって、本発明
の一態様によって、これらの変更を追跡し、この情報を
必要とするか所望する他のファイル・システムに伝搬す
ることが可能になる。さらに、ファイル・システムを有
する1つまたは複数のノードの障害の場合に、重みの回
復がもたらされる。
ァイル・システムによって、1つまたは複数のストレー
ジ・デバイスのスペースが、これらのデバイスに関連す
る重みを使用して割振られる。具体的に言うと、ストレ
ージ・デバイスに関連する重みが、ストライプ順序の生
成に使用され、各ストライプ順序によって、個々のスト
レージ・デバイスのスペースを割振る順序およびこれら
のデバイスのスペースを割振る頻度が、めいめいのファ
イル・システムに与えられる。各デバイスに関連する重
みは、そのデバイスでスペースを割振るファイル・シス
テムに分配され、その結果、組み合わされた割振りが、
重みに比例するままになる。重みは、動的に調整するこ
とができるので、さまざまなファイル・システムが、重
み付き調整について最新の状態に保たれる。
算環境の一実施形態を、図1に関して説明する。計算環
境100には、1つまたは複数のノード102(例え
ば、ノード1、…、ノードn)が含まれ、これらのノー
ドは、1つまたは複数のストレージ・デバイス104
(例えば、ディスク1、…、ディスクm、または他の不
揮発性メモリ)へのアクセスを共用する。ノードは、相
互接続106を介して、互いにおよびストレージ・デバ
イスに結合される。一例では、相互接続に、例えば、ワ
イヤ接続、バス、トークン・リング、またはネットワー
ク接続が含まれる。1つまたは複数のこれらの接続によ
って使用される通信プロトコルの1つが、TCP/IP
である。一例では、ノードが共用メモリを有しないこと
が仮定される。
が提供するAIXオペレーティング・システムなどのオ
ペレーティング・システム200(図2)が含まれる。
オペレーティング・システムには、米IBM社が提供す
るジェネラル・パラレル・ファイル・システム(Genera
l Parallel File System;GPFS)などの、さまざま
なストレージ・デバイスのスペースの割振りを管理する
のに使用されるファイル・システム202(例えばソフ
トウェア・レイヤ)が含まれる。本明細書に記載の1つ
または複数の実施形態では、各ノードが、単一のファイ
ル・システムを有し、したがって、記述の一部が、この
ノードを指すと仮定する。しかし、もう1つの例では、
ノードに、複数のファイル・システムを含めることがで
きる。その例では、ノード上の参加するファイル・シス
テムの各々が、重みの変更について最新状態に保たれ、
回復に使用することができる。
ストレージ・デバイスのスペースを割振り、各ストレー
ジ・デバイス上の総割振りが、そのデバイスについて得
られた重みに比例するようにする。本明細書で使用す
る、重みを得ることは、重みを受け取ること、および重
みを割り当てることを含むがこれに制限されない、任意
の形で達成することができる。各デバイスについて得ら
れる重みは、割振り方針の決定に使用され、この重みを
用いて、ファイル・システムが、個々のデバイスの容量
に一致し、デバイスの組合せスループットをよりよく利
用するように、デバイスにまたがる割振りを平衡化する
ことができるようになる。しかし、重みおよび割振り方
針(すなわち、各デバイスでの割振りの順序および頻
度)は、割振りに使用される技法とは独立である。すな
わち、異なる割振り技法を、割振りに使用することがで
きる。割振り技法は、重みに束縛されない。これによっ
て、重みが、さまざまなパラメータを表す(例えば、下
で説明する容量重み付け、空きスペース重み付け、スル
ープット重み付け、ラウンドロビン重み付け、ハイブリ
ッド重み付けなど)ことができ、重みを動的に変更する
ことができるようになる。したがって、割振り方針は、
現在の状態または要件により適するように、いつでも変
更することができる。さらに、重みを得るのに使用され
るどの重み付け技法であっても、割振り技法を知る必要
がない。
は複数のノードの)複数のファイル・システムによっ
て、1つまたは複数のストレージ・デバイスのスペース
を割振ることができる。例として、複数のファイル・シ
ステムによって、1つのストレージ・デバイスのスペー
スを割振ることができ、複数のファイル・システムによ
って、複数のストレージ・デバイスのスペースを任意の
組合せで割振ることができる(例えば、複数のファイル
・システムの各々が、異なるデバイスのスペースを割振
るか、1つまたは複数のファイル・システムが、1つま
たは複数のデバイスのスペースを割振る)。1つまたは
複数のデバイスのスペースを割振る複数のファイル・シ
ステムのどのような組合せでも可能である。したがっ
て、スペースを、任意の1つまたは複数のファイル・シ
ステムによってストレージ・デバイスのうちの任意の1
つで割振ることができる。
レージ・デバイスのスペースを割振ることができるの
で、一例では、あるデバイスのストレージ・スペース
が、図3に示されるように複数の区画に区分される。図
3からわかるように、デバイス300は、複数の区画3
02aないし302dに区分され、各区画は、0個以上
のノードによって所有される。例えば、区画302aは
所有されず、区画302bはノード1によって所有さ
れ、区画302cはノード2によって所有され、区画3
02dはノード3および4によって所有される。区画を
所有する1つまたは複数のノードは、その区画内のスペ
ースを割振ることを許可される(もう1つの例では、所
有権を、ファイル・システムに基づくものとすることが
でき、ファイル・システムが常駐するノードと無関係
に、各区画が、0個以上のファイル・システムによって
所有される)。
れた割振りマネージャによって維持される。このマネー
ジャは、割振りに参加するノードの1つの一部、または
主に制御に使用され実際に割振りを行わない別のノード
とすることができる。
関連するさまざまな統計の一部として維持される。具体
的に言うと、各デバイスは、一例として下記の統計31
0(図4)を関連付けられている。 (A)毎デバイス総計:デバイス総計は、特定のパラメ
ータのどれだけがそのデバイスに関連するかを表す。例
えば、この総計によって、デバイス上の空きスペースの
量を示すことができる。 (B)毎区画情報: (1)所有者:特定の区画の1つまたは複数の所有者の
表示 (2)区画総計:特定のパラメータのどれだけがその区
画に関連するかの表示(例えばその区画内の空きスペー
スの量)
ファイル・システムの各々が、重み付き割振り技法を使
用して、割振りのためにデバイスを選択する順序および
これらのデバイスでスペースを割振る頻度を判定する。
特定のデバイスでスペースを割振るファイル・システム
は、そのデバイスに関する重みに合意し、その結果、各
デバイスの総割振りが、そのデバイスに割り当てられた
重みに比例するままになる。この合意は、下で説明する
ように、集中化された割振りマネージャに連絡すること
によってもたらされる。
ることができる。したがって、新しい値が、新しい情報
を必要とするか所望するノード(またはファイル・シス
テム)に伝搬される。したがって、重みの追跡および分
配が、本発明の並列重み付き割振り技法の一部である。
さらに、並列環境は、1つまたは複数のノードが障害を
発生し、独立に再始動する、部分的な障害をこうむる可
能性があるので、本発明の割振り技法には、回復も含ま
れる。
技法の一例を、図5に関して説明する。図5からわかる
ように、この技法には、初期化のステップ400、重み
の追跡および分配のステップ402、およびノード障害
および回復のステップ404を含む、3つの主なアクシ
ョンが含まれる。これらのアクションの各々を、さまざ
まな形で実施することができる。各アクションの2つの
可能な実施形態を、本明細書で説明する。第1の実施形
態を、無状態実施形態と称し、この実施形態では、最少
量の状態が使用されるが、ノード障害からの回復の時間
が長い。第2の実施形態を、全状態実施形態と称し、こ
の実施形態では、割振りマネージャが、区画所有権情報
の維持に使用され、毎デバイス毎区画カウンタを完了す
る。この余分な状態が、回復時間を短縮するように働
く。アクションの各々に関するこれらの実施形態の各々
を、下でさらに詳細に説明する。
さらに詳細に説明する。このアクションの両方の実施形
態(すなわち、無状態実施形態および全状態実施形態)
で、図6に示されたアクションが実行される。
テムが割振りマネージャを選択する。一例では、初期化
論理の実行を試みる最初のノードが、割振りマネージャ
として指定される。他のノードを、クライアント・ノー
ドと呼称する。クライアント・ノードは、例えばグロー
バル・ネーミング・サービスを使用して、割振りマネー
ジャを突きとめ、割振りマネージャの初期化が完了する
のを待つ。
502で、割振りマネージャが、割振りに使用する初期
重みを決定する。割振りマネージャは、単独で作業して
順次式に、または1つまたは複数のクライアント・ノー
ドの支援を得ることによって並列に、重みを決定するこ
とができる。
存する。静的パラメータに基づく技法ならびに動的パラ
メータに基づく技法を含むさまざまな重み付け技法が使
用可能である。さまざまな技法の例には、例えば下記が
含まれる。 (1)ラウンドロビン重み付け−単純なラウンドロビン
割振りを実施するために、各デバイスの重みに1をセッ
トする。各デバイスに等しい重みを使用することによっ
て、この技法では、各デバイスで等しい回数だけスペー
スが割振られる。 (2)容量重み付け−不均等なサイズを有するデバイス
にまたがって割振りをよりよく分散するために、各デバ
イスの相対容量を使用して重みを割り当てることができ
る。この重み付け技法では、デバイスが、同一の割合で
書き込まれる(すなわち、各デバイスで使用される比率
が、デバイスの容量に無関係に同一になる)。その結
果、各デバイスでの期待される入出力負荷も、デバイス
の容量に比例するようになる。容量重み付けの場合、割
振りマネージャが、各デバイスの最大記憶容量を判定す
る。これは、各デバイスの記述子を検査するなど、複数
の方法で行うことができる。 (3)空きスペース重み付け−この動的重み付け技法で
は、重みを、各デバイスの空きスペースの相対量に基づ
くものとすることができる。この技法の下では、より高
い比率の空きスペースを有するデバイスが、それに比例
してより多い割振りを受け取る。これは、不均等に書き
込まれたデバイスを再平衡化するように働き、不均等な
書込は、既存のシステムに新しいデバイスを追加するこ
とまたは不均等なサイズを有するデバイスでラウンドロ
ビン割振りを以前に使用したことから生じる可能性があ
る。この重みは、空きスペースの相対量の変更を説明す
るために動的に調整することができる。均等に書き込ま
れているデバイスの場合、空きスペース重み付け技法
は、容量重み付けと同等である。空きスペース重み付け
の場合、各デバイスを検査して、各デバイスの空きブロ
ックの数を判定する。一例では、デバイスの割振りマッ
プから、この情報を与えることができる(割振りマップ
は、米国特許第5960446号明細書に記載されてい
る)。 (4)スループット重み付け−各デバイスの相対性能に
基づいて重みを割り当てることもできる。高いスループ
ットを有するデバイスは、それに比例してより多くの割
振りを受け取り、その結果、平均してより多くの入出力
要求を受け取る。この重み付けでは、組み合わされたデ
バイスの総スループットを最大にすることが試みられ
る。初期化中にスループット重みを決定する方法は、例
えば、テーブルからデバイス・スループットを読み取る
か、システムが最大入出力負荷の下である間に各デバイ
スへの実際のスループットを測定することによるデバイ
ス・スループットの測定によるなど、複数存在する。 (5)ハイブリッド重み付け−重みを動的に変更できる
だけではなく、重みを割り当てる技法も変更することが
できる。さらに、ハイブリッド重み付けを作るための複
数の重み付け技法の組合せを使用することができる。こ
れは、複数の技法の下で各デバイスの正規化された重み
を計算し、その後、各所望の技法からのデバイスの正規
化された重みを加算することによって達成することがで
きる。これによって、システムが、現在の要件に合わせ
て割振りを調整し、システムが変更される際に割振りを
変更することができるようになる。
た後に、ステップ504で、割振りマネージャが、重み
を他のノード(または他のファイル・システム)に伝搬
する。一例では、重みが、割振りに参加するすべてのノ
ードに伝搬される。別の例では、特定のデバイスの重み
が、その重みを使用するノードだけに伝搬される。伝搬
は、メッセージ渡しまたはブロードキャストを含む複数
の技法を使用して実行することができる。
ファイル・システムの各々が、重みを使用して、ローカ
ル重み付き割振り技法を初期化する。ローカル重み付き
割振り技法は、ストレージ・デバイス上の割振りの順序
および頻度を定義するのに使用されるストライプ順序を
生成するためにファイル・システムによって実行される
技法である。この技法には、例えば、重みを正規化し、
いくつかの変数をセットする初期化ステップと、正規化
された重みを使用してストライプ順序を決定するストラ
イプ順序生成ステップが含まれる。他のステップも、割
振り技法のタイプに応じて含めることができる。
って、初期化アクションが完了する。上で述べたよう
に、無状態実施形態と全状態実施形態の両方が、上で説
明したアクションを実行する。しかし、上記のほかに、
空きスペース重み付けなどの動的重み付けを使用する時
に、全状態実施形態では、各区画内で毎デバイス毎区画
テーブル内(図4参照)に各デバイスの空きスペースも
保管される。
テップ402で、重みの追跡および分配のアクションが
実行される。毎デバイス空きスペースなどの動的情報に
基づく重みが、その精度を維持するために周期的に更新
される。容量などの静的情報に基づく重みは、例えば、
構成が変更された時、または割振り方針の変更があった
時に更新される。重みの追跡および分配に使用される論
理の一実施形態を、図7に関して説明する。この特定の
例を、空きスペースの追跡および分配(動的重み)に関
して説明する。しかし、この論理は、他の動的重みまた
は静的重みにも同様に適用可能である。
まざまなノードの各々が、情報(すなわち動的情報また
は静的情報)の変化を追跡する。一例として、空きスペ
ース重み付けの場合、各適当なノードが、それが各デバ
イスに対して実行する割振りおよび割振り解除の数を追
跡する。デルタと称する、デバイスごとの正味の割振り
は、そのノードでの動作によって引き起こされる各デバ
イス上の空きスペースの差である。クライアント・ノー
ドが、ある閾値(例えば100動作)に一致するまでデ
ルタを累算する。閾値に一致する時、または別の事前定
義のイベント(例えば30秒ごと)時に、ステップ60
2で、ノードが、変化について割振りマネージャに知ら
せる。具体的に言うと、クライアント・ノードが、通信
機構を使用して、デルタを割振りマネージャに送る。デ
ルタを成功裡に送った後に、クライアント・ノードは、
そのデルタ・カウンタを0にリセットする。
に、ステップ604で、割振りマネージャが、それらを
総空きスペース・カウンタに加算する。このカウンタ
は、割振りマネージャによって維持される(図4の毎デ
バイス総計312を参照)。すなわち、割振りマネージ
ャは、受け取ったデルタに基づいて特定のデバイスの重
みを調整する。
調整された重み(例えば、デバイスの新しい総空きスペ
ース・カウンタ)が、デルタを送るメッセージに応答し
てクライアントに返される。クライアントは、調整され
た重みを受け取る時に、ステップ608で、調整された
重みを使用してそのローカル割振り技法を再初期化す
る。したがって、新しいストライプ順序が生成される。
ージャの間の通信によって、クライアントが、割振りマ
ネージャと通信した後に、使用する重みについて合意す
ることができるようになる。この合意は、ノードが新し
い重みについてより早く知らされる場合に、より早く達
することができる。いつどのようにクライアントに知ら
せるかの決定は、実施形態依存である。
出に使用される閾値は、割振りマネージャによって維持
される総空きスペース・カウンタと各デバイスの空きス
ペースの実際の量の間の差を制限するように働くことも
できる。クライアント・ノードによって使用される重み
の同一の度合の精度を維持するために、例えば割振り方
針の変化、ハードウェア構成の変化、または非常にアク
ティブなクライアント・ノードの組から受け取られたデ
ルタに起因する大きい累積的変化によって引き起こされ
る重みの大きい変更が、一例では、割振りマネージャ
に、新しい重みをクライアント・ノードに即座に送らせ
る。この重みの変化は、ノードに保管されている現在の
デルタに影響しない。
の実施形態(すなわち、無状態実施形態および全状態実
施形態)の各々について実行される。しかし、全状態実
施形態の場合、各クライアント・ノードが、それが変更
する区画の各々について別々のデルタ・カウンタを維持
する。毎区画デルタを受け取る時に、割振りマネージャ
は、毎デバイス毎区画カウンタ318(図4)ならびに
毎デバイス総計312を更新する。
って、重み付き割振りに基づくシステムの再平衡化が可
能になるが、これのほかに、本発明の並列重み付き割振
り技法は、ステップ404のノード障害からの回復も提
供する。並列ファイル環境内のノードは、互いに独立に
障害を発生し、再起動される可能性がある。ノード障害
を処理するために、障害を発生したノードによって失わ
れる揮発性の状態を、別のノードによって再構成しなけ
ればならない。この回復は、例えば、障害を発生したノ
ードがクライアントであるか、割振りマネージャとして
活動しているかのいずれであるか、重みが静的と動的の
どちらであるか、動的重みの場合に、それが割振りマネ
ージャによって維持される状態の量に依存するかどうか
を含む、多数の要因に依存する。
それは、静的重みを使用する回復、無状態実施形態での
動的重みを使用する回復、および全状態実施形態での動
的重みを使用する回復である。これらの場合の各々につ
いて、回復のための例示的技法を、単一のクライアント
・ノードからの障害または割振りマネージャのノードか
らの障害について説明する。この技法は、一例では定数
のノードが使用可能なままである限り、複数ノードの障
害を処理するように簡単に拡張される。ファイル・シス
テムによって管理される、ノード障害からの回復を、図
8ないし11を参照してさらに説明する。
ず、必要な回復の種類に関する判定を行う。例えば、問
合せ702で、静的重みの回復が必要であるかどうかを
判定する。これが静的重みの回復である場合には、ステ
ップ704で、この処理が図9の論理に継続する。
ず、クライアント・ノードが障害を発生したかどうかを
判定する。クライアント・ノードが障害を発生した場合
には、ステップ802で、追加の回復が不要である。し
かし、障害を発生したのがクライアント・ノードでな
く、したがって、割振りマネージャが障害を発生した場
合には、ステップ804で静的重みを回復する。一例で
は、静的重みは、クライアント・ノードから得ることま
たは他の使用可能な情報から再構成することによって回
復される。障害を発生しなかったノードは、障害を発生
したノードの回復中であっても、通常道りに割振りを継
続することができる。
には、動的重みの回復が仮定される。したがって、問合
せ706で、無状態の動的重みの回復であるかどうかに
関する判定を行う。動的重みの無状態回復である場合に
は、ステップ708で、図10に関して説明するように
回復が進行する。やはり、空きスペースに関する例を説
明するが、この例を、他の動的重みに拡張することがで
きる。
で、障害を発生したのがクライアント・ノードであるか
どうかに関する判定を行う。クライアント・ノードが障
害を発生した場合には、ステップ902で、割振りマネ
ージャが、所有されていない区画の区画所有権情報を検
査し、これらの区画を使用不可としてマークして、その
区画に関連する回復が完了するまでそれの区画がクライ
アント・ノードに割り当てられないようにする(ノード
が障害を発生した時に、そのノードによって所有される
区画が、所有されなくなる)。
ドによって所有される区画の区画所有権情報を検査す
る。共用される区画の各々について、ステップ904
で、割振りマネージャが、1つを除くすべての所有者に
所有権取消メッセージを送る。これによって、回復にか
かわるノードの数が最小になる。
毎デバイス空きスペース総計に0をセットし、ステップ
908で、障害を発生していないノードに、そのノード
によって所有される区画の毎デバイス空きスペース・カ
ウントについて尋ねるブロードキャスト・メッセージを
送る。
なクライアント・ノードは、割振りを停止し、そのデル
タ・カウントを0にリセットする。さらに、そのノード
は、所有する区画の各々の毎デバイス空きスペース・カ
ウントを割振りマネージャに返す。その後、そのノード
は、現在所有している区画のスペースの割振りを再開す
ることができる。
答を受け取る時に、ステップ912で、毎デバイス空き
スペース・カウントを、総計に加算する。さらに、ステ
ップ914で、所有されていないすべての区画の空きス
ペースも回復する。これは、割振りマネージャによって
順次行うか、クライアント・ノードの支援を得ることに
よって並列に行うことができる。一例では、無状態実施
形態に、障害を発生したノードによって変更された区画
だけに回復の範囲を定める状態情報が欠けているので、
障害を発生したノードの回復に、毎デバイス空きスペー
ス総計を再構成するための、不揮発性割振りマップの読
み取りを含めることができる。未知の区画の各々が回復
される際に、その区画が、割当の資格を得、使用可能と
してマークされる。これによって、障害を発生したクラ
イアントに関する動的重みの無状態回復が完了する。回
復の完了時に、動的重みの値(例えば総空きスペース)
が、再計算されており、この調整された重みを、上で説
明したように1つまたは複数のファイル・システムに転
送することができる。
ードが、割振りマネージャである場合には、ステップ9
18で、新しい割振りマネージャを選択する。一例で
は、新しい割振りマネージャは、最も低いid/アドレ
スを有する障害を発生していないノードにこの機能を割
り当てることによって選択される。
は、ステップ920で、区画所有権情報を再構築する。
一例では、これは、他のノードが所有する区画に関する
情報をそのノードに要求することによって達成される。
例えば、割振りマネージャは、生き残っているノードに
ブロードキャスト・メッセージを送って、それが所有す
る区画を識別するように求める。その後、回復は、上で
述べたステップ902から進行する。
状態機能を用いる動的重みの回復である場合に、回復
は、ステップ710で、図11に関して説明するように
進行する。この例では、全状態実施形態によって維持さ
れる状態によって、障害を発生したノードによって所有
される区画について、障害を発生したノードからの回復
が可能になる。また、障害を発生していないクライアン
ト・ノードが、回復中に割振りを継続することができ
る。
0で、障害を発生したのがクライアント・ノードである
かどうかに関する判定を行う。障害を発生したのがクラ
イアント・ノードである場合には、割振りマネージャ
は、障害を発生したノードによって所有されていた区画
の区画所有権情報を検査する。ステップ1002で、こ
れらの区画を使用不能とマークして、回復が完了するま
で再割り当てされないようにする。
たノードによって所有され、1つまたは複数のノードと
共用されている区画の区画所有権情報を検査する。その
ような共用区画の各々について、ステップ1004で、
割振りマネージャが、障害を発生していない所有者のす
べてに所有権取消メッセージを送る。このメッセージを
受け取った時に、クライアントは、区画の所有権を解放
し、区画のデルタ・カウントに0をセットする。
区画の空きスペースを、割振りマネージャによって順次
式にまたは1つまたは複数のクライアント・ノードの支
援を得ることによって並列に、回復する。各区画が回復
される時に、毎デバイス総計および毎デバイス毎区画情
報を更新し、区画を、割当に使用可能としてマークす
る。これによって、障害を発生したクライアント・ノー
ドからの回復が完了する。
のが割振りマネージャである場合には、回復は、次のよ
うに進行する。まず、ステップ1008で、新しい割振
りマネージャを選択する。一例では、これが、最も低い
id/アドレスを有する障害を発生していないノードに
この機能を割り当てることによって達成される。
た割振りマネージャが、区画所有権情報を再構築する。
一例では、この情報が、生き残っているノードにそれが
所有する区画について尋ねるブロードキャスト・メッセ
ージを送ることによって構築される。ステップ1012
で、割振りマネージャが、所有されていない区画を使用
不能としてマークして、回復が完了するまでそれらの区
画が割振られないようにする。
複数のノードによって所有される区画の区画所有権情報
を検査する。共用区画の各々について、ステップ101
4で、割振りマネージャが、1つを除くすべての所有者
に所有権取消メッセージを送る。このメッセージを受け
取った時に、クライアントは、区画の所有権を解放し、
区画のデルタ・カウンタに0をセットする。
ージャが、ノードにブロードキャスト・メッセージを送
って、それが所有する区画の各々の毎デバイス空きスペ
ース情報を送るように求める。このメッセージを受け取
った時に、クライアントは、区画のデルタ・カウンタを
0にリセットし、毎デバイス空きスペース情報を割振り
マネージャに返す。
時に、ステップ1018で、毎デバイス毎区画情報なら
びに毎デバイス総計を更新する。
画の空きスペースを、割振りマネージャによって順次式
にまたは1つまたは複数のクライアント・ノードの支援
を得ることによって並列にのいずれかで、回復する。各
区画が回復される時に、毎デバイス総計および毎デバイ
ス毎区画情報を更新し、その区画を、割当に使用可能と
してマークする。これによって、動的重みの全状態回復
が完了する。
みおよび動的重みの両方)によって、各デバイスに関連
する目標重み値が維持される。具体的に言うと、一例で
は、各デバイスが、それに関連する目標重みを有する。
静的重み付けの場合には、目標重みが、静的重みと同等
であり、したがって、区別を行う必要はない。しかし、
動的重み付けでは、目標重み(一例では静的である)
が、特定の時点で使用される重みと異なる場合がある。
すなわち、使用される重みが、目標重みが満足されるよ
うに調整されている場合がある。このデバイスの目標重
みの維持は、1つまたは複数のノード(またはファイル
・システム)に障害が発生する場合であっても達成され
る。また、これは、1つまたは複数のストレージ・デバ
イスに障害が発生し、再始動または交換される場合であ
っても維持される。
・システムが、重み付き割振りを使用して1つまたは複
数のストレージ・デバイスのスペースを割振ることがで
きるようにする、並列重み付き割振り機能である。スペ
ースは、各デバイスのスペースがそのデバイスに割り当
てられた重みに比例して消費されるように、共用ストレ
ージ・デバイス上で割振られる。これによって、デバイ
スにまたがって割振りを平衡化することができるように
なり、各デバイスの負荷が、そのデバイスに割り当てら
れた重みに比例するようになる。並列環境の場合、各デ
バイスに割り当てられる重みは、その重みを使用してさ
まざまなファイル・システムに分配され、その結果、組
み合わされた割振りが、重みに比例するようになる。さ
らに、ファイル・システムは、重みが変更された時また
は重みを割り当てる技法が変更された時に、最新の状態
に保たれる。
さまざまなストレージ・デバイスのスペースを割振るた
めに、異なる割振り技法を使用することができる。一例
では、これは、ストレージ・デバイスをグループにグル
ープ化し、ある割振り技法を使用するファイル・システ
ムが、デバイスの1グループのスペースを割振り、異な
る技法を使用するファイル・システムが、デバイスの異
なるグループのスペースを割振ることによって達成され
る。しかし、別の例では、グループ化が使用されない。
よって得られる重みによって、異なるパラメータを表す
ことができる。例えば、あるファイル・システムが、空
きスペースに基づく重みを得ることができ、別のファイ
ル・システムが、容量に基づく重みを得ることができ
る。やはり、一例では、異なる重み付け技法の使用に対
応するために、ストレージ・デバイスを異なるグループ
にグループ化することができる。しかし、別の例では、
グループ化が使用されない。
まなレベルで設定することができる。具体的に言うと、
1つまたは複数のストライプ順序を生成し、ストレージ
・デバイスにまたがるスペースの割振りに使用すること
ができる。例として、あるストライプ順序を、あるファ
イル・システムのすべての割振りに使用することがで
き、別の例では、ストレージ・デバイスをグループに区
分し、グループごとにストライプ順序を生成し、使用す
ることができ、もう1つの実施形態では、そのためにス
ペースが割振られることになるファイルの各々について
ストライプ順序が生成される。したがって、最後の例で
は、あるストライプ順序を使用して、あるファイルのた
めのスペースを割振ることができ、別のストライプ順序
(同一または異なる)を使用して、別のファイルのため
のスペースを割振ることができる。上のシナリオのどれ
であっても、ストライプ順序は、上で説明したように生
成される。
ために重みに依存するが、割振り技法自体は、各デバイ
スに割り当てられる実際の重みと無関係である。重み
は、必要または望みに応じて、各デバイスの負荷を調整
するために、いつでも変更することができる。さらに、
重みを割り当てる技法を、いつでも変更することができ
る。これによって、割振り方針を動的に設定し、調整し
て、システムの現在の要件に合わせることが可能にな
る。さらに、割振り方針の変更は、ファイル・システム
の再始動なしで行うことができる。
値を表すか異なる動作パラメータを表す(例えば、容
量、空きスペース、入出力スループット、ラウンドロビ
ン、ハイブリッド)ために動的に変更することができ
る。さらに、重み付け割当技法が、割振り技法を知る必
要はない。さらに、割振り技法は、ビデオ・ストリーム
および一般データ・ストリームを含むさまざまなデータ
・ストリームに適応することができる。これは、割振り
技法が、データ・ストリームの長さまたはこれらのデー
タ・ストリームのアクセス・パターンを先験的に知ら
ず、知る必要がないからである。
数の異種ストレージ・デバイスにまたがるストライピン
グを行うこともできる。すなわち、ストレージ・デバイ
スは、異なるサイズ、異なる容量、または異なる速度を
有するものとすることができる。これらの異種デバイス
を使用することができ、その使用効率を最大にすること
ができる。例えば、ストレージ使用量を最大にするか、
スループットを最大にすることができる。
イル環境での不平衡を自動的に補償することができる。
そのような不平衡は、システムへのデバイスの追加、シ
ステムからのデバイスの取外し、または他の理由によっ
て引き起こされる可能性がある。環境の再平衡化は、必
ずしも既にストライプ化されたスペースを再ストライプ
化せずに実行される。一例では、再平衡化が、新しい重
み、異なる重み、または追加の重みを得ることと、割振
り技法を使用してこれらの重みに基づいてスペースを割
振ることによって達成される。
み提供される。本発明の1つまたは複数の態様を、本発
明の趣旨から逸脱せずに、多数のタイプの計算ユニッ
ト、コンピュータ、プロセッサ、ノード、システム、ワ
ークステーション、または環境に組み込み、これらと共
に使用することができる。
報の受取、情報の提供、またはなんらかのタスクの実行
を行うノードを参照した。しかし、ノードに複数のファ
イル・システムが含まれる場合に、そのノード上のこれ
らのファイル・システムのうちの1つまたは複数が、こ
れらのアクションを実行することができる。
体を有する、製造品(例えば1つまたは複数のコンピュ
ータ・プログラム製品)に含めることができる。媒体
は、例えば本発明の諸機能を提供し、促進するためのコ
ンピュータ可読プログラム・コード手段がその中に組み
込まれる。製造品は、コンピュータ・システムの一部と
して含めるか、別々に販売することができる。
計算機によって実行可能な少なくとも1つの命令のプロ
グラムを有形に組み込む、計算機によって読み取り可能
な少なくとも1つのプログラム記憶装置を提供すること
ができる。
い。本発明の趣旨から逸脱しない、本明細書に記載のこ
れらの図またはステップ(または動作)に対するさまざ
まな変形形態が存在し得る。例えば、ステップを、異な
る順序で実行するか、ステップを、追加、削除、または
変更することができる。これらの変形形態のすべてが、
請求される発明の一部とみなされる。
の事項を開示する。
でのスペースの割振りを管理する方法であって、前記計
算環境の1つまたは複数のストレージ・デバイスの1つ
または複数の重みを得るステップと、前記1つまたは複
数のストレージ・デバイスの少なくとも1つのストレー
ジ・デバイスについて得られた少なくとも1つの重みに
比例して、前記少なくとも1つのストレージ・デバイス
上のスペースを割振るステップとを含み、前記割振り
が、前記計算環境の複数のファイル・システムによって
実行される、方法。 (2)前記複数のファイル・システムの各々が、前記計
算環境の別々のノード上に配置される、上記(1)に記
載の方法。 (3)前記複数のファイル・システムが、前記計算環境
の1つまたは複数のノード上に配置される、上記(1)
に記載の方法。 (4)前記割振るステップが、前記複数のファイル・シ
ステムの各ファイル・システムによって割振り技法を実
行するステップを含み、前記複数のファイル・システム
の少なくとも1つのファイル・システムが、前記複数の
ファイル・システムの少なくとも1つの他のファイル・
システムと異なる割振り技法を実行する、上記(1)に
記載の方法。 (5)前記少なくとも1つのストレージ・デバイスの各
ストレージ・デバイスが、複数の区画に区分され、各ス
トレージ・デバイスの1つまたは複数の区画が、前記複
数のファイル・システムの1つまたは複数のファイル・
システムによって所有される、上記(1)に記載の方
法。 (6)前記割振るステップが、複数のファイル・システ
ムによって複数のストレージ・デバイス上のスペースを
割振るステップを含み、前記複数のファイル・システム
の各ファイル・システムが、前記複数のストレージ・デ
バイスの1つまたは複数のストレージ・デバイス上でス
ペースを割振る、上記(1)に記載の方法。 (7)前記得るステップが、前記1つまたは複数の重み
を得るために少なくとも割振りマネージャを使用するス
テップを含む、上記(1)に記載の方法。 (8)前記使用するステップが、前記1つまたは複数の
重みを得るために前記割振りマネージャおよび前記計算
環境の少なくとも1つのノードを使用するステップを含
む、上記(7)に記載の方法。 (9)前記1つまたは複数の重みが、前記計算環境の少
なくとも1つのパラメータを表す、上記(1)に記載の
方法。 (10)前記割振るステップが、前記1つまたは複数の
重みを得るステップと無関係である、上記(1)に記載
の方法。 (11)前記1つまたは複数のストレージ・デバイスの
少なくとも1つのストレージ・デバイスが、前記1つま
たは複数のストレージ・デバイスの少なくとも1つの他
のストレージ・デバイスと異なる1つまたは複数の特性
を有する、上記(1)に記載の方法。 (12)前記少なくとも1つの重みを、前記複数のファ
イル・システムの少なくとも1つのファイル・システム
に伝搬するステップをさらに含む、上記(1)に記載の
方法。 (13)前記1つまたは複数の重みの少なくとも1つの
重みに関連する変化を追跡するステップと、前記追跡さ
れた変化に基づいて前記少なくとも1つの重みを調整す
るステップと、前記少なくとも1つの調整された重みを
前記計算環境のファイル・システムに伝搬するステップ
とをさらに含み、前記少なくとも1つの調整された重み
が、少なくとも1つのストレージ・デバイス上でのスペ
ースの割振りに使用可能である、上記(1)に記載の方
法。 (14)前記追跡するステップが、前記ファイル・シス
テムによって実行される、上記(13)に記載の方法。 (15)前記追跡するステップが、複数のファイル・シ
ステムによって実行され、前記伝搬するステップが、前
記少なくとも1つの調整された重みを、前記追跡を実行
する前記複数のファイル・システムに伝搬するステップ
を含む、上記(13)に記載の方法。 (16)事前定義のイベント時に、前記追跡された変化
について割振りマネージャに知らせるステップをさらに
含み、前記割振りマネージャが、前記調整するステップ
および伝搬するステップを実行する、上記(13)に記
載の方法。 (17)前記複数のファイル・システムに、前記少なく
とも1つの重みの変化について知らせるステップをさら
に含み、前記変化が、スペースのさらなる割振りに使用
可能である、上記(1)に記載の方法。 (18)前記計算環境のファイル・システムの障害に応
答して、前記1つまたは複数の重みの少なくとも1つの
重みを調整するステップをさらに含む、上記(1)に記
載の方法。 (19)前記調整するステップが、前記少なくとも1つ
の重みを調整するために、前記計算環境の少なくとも1
つの他のファイル・システムによって提供される情報を
使用するステップと、前記少なくとも1つの重みを調整
するために、前記少なくとも1つの重みに関連する少な
くとも1つのストレージ・デバイスを読み取ることから
得られる情報を使用するステップとの少なくとも1つを
含む、上記(18)に記載の方法。 (20)前記計算環境のファイル・システムの障害に応
答して、前記1つまたは複数の重みの少なくとも1つの
重みを維持するステップをさらに含む、上記(1)に記
載の方法。 (21)前記複数のファイル・システムの1つのファイ
ル・システムが、所与のファイルのために前記少なくと
も1つのストレージ・デバイス上のスペースを割振り、
その所与のファイルのための前記割振りが、前記少なく
とも1つの重みを使用する割振り方針に基づく、上記
(1)に記載の方法。 (22)前記1つのファイル・システムが、別のファイ
ルのために1つまたは複数のストレージ・デバイス上の
スペースを割振り、その別のファイルのための前記割振
りが、前記1つまたは複数のストレージ・デバイスに関
連する1つまたは複数の重みを使用する別の割振り方針
に基づく、上記(21)に記載の方法。 (23)計算環境のストレージ・デバイス上のスペース
の割振りを管理する方法であって、前記計算環境の複数
のストレージ・デバイスの少なくともストレージ・デバ
イスのサブセットの各ストレージ・デバイスのための重
みを得るステップと、前記少なくともストレージ・デバ
イスのサブセットの各ストレージ・デバイスに割り当て
られた前記重みに比例して、前記ストレージ・デバイス
上のスペースを割振るステップとを含み、前記複数のフ
ァイル・システムの各ファイル・システムが、前記少な
くともストレージ・デバイスのサブセットの1つまたは
複数のストレージ・デバイス上のスペースを割振るよう
に、前記割振りが、複数のファイル・システムによって
実行される、方法。 (24)計算環境のストレージ・デバイス上でのスペー
スの割振りを管理するシステムであって、前記計算環境
の1つまたは複数のストレージ・デバイスの1つまたは
複数の重みを得るための手段と、前記1つまたは複数の
ストレージ・デバイスの少なくとも1つのストレージ・
デバイスについて得られた少なくとも1つの重みに比例
して、前記少なくとも1つのストレージ・デバイス上の
スペースを、前記計算環境の複数のファイル・システム
によって割振るための手段とを含むシステム。 (25)前記複数のファイル・システムの各々が、前記
計算環境の別々のノード上に配置される、上記(24)
に記載のシステム。 (26)前記複数のファイル・システムが、前記計算環
境の1つまたは複数のノード上に配置される、上記(2
4)に記載のシステム。 (27)前記割振るための手段が、前記複数のファイル
・システムの各ファイル・システムによって割振り技法
を実行するための手段を含み、前記複数のファイル・シ
ステムの少なくとも1つのファイル・システムが、前記
複数のファイル・システムの少なくとも1つの他のファ
イル・システムと異なる割振り技法を実行する、上記
(24)に記載のシステム。 (28)前記少なくとも1つのストレージ・デバイスの
各ストレージ・デバイスが、複数の区画に区分され、各
ストレージ・デバイスの1つまたは複数の区画が、前記
複数のファイル・システムの1つまたは複数のファイル
・システムによって所有される、上記(24)に記載の
システム。 (29)前記割振るための手段が、複数のファイル・シ
ステムによって複数のストレージ・デバイス上のスペー
スを割振るための手段を含み、前記複数のファイル・シ
ステムの各ファイル・システムが、前記複数のストレー
ジ・デバイスの1つまたは複数のストレージ・デバイス
上でスペースを割振る、上記(24)に記載のシステ
ム。 (30)前記得るための手段が、前記1つまたは複数の
重みを得るために少なくとも割振りマネージャを使用す
るための手段を含む、上記(24)に記載のシステム。 (31)前記使用するための手段が、前記1つまたは複
数の重みを得るために前記割振りマネージャおよび前記
計算環境の少なくとも1つのノードを使用するための手
段を含む、上記(30)に記載のシステム。 (32)前記1つまたは複数の重みが、前記計算環境の
少なくとも1つのパラメータを表す、上記(24)に記
載のシステム。 (33)前記割振るための手段が、前記1つまたは複数
の重みを得るための手段と無関係である、上記(24)
に記載のシステム。 (34)前記1つまたは複数のストレージ・デバイスの
少なくとも1つのストレージ・デバイスが、前記1つま
たは複数のストレージ・デバイスの少なくとも1つの他
のストレージ・デバイスと異なる1つまたは複数の特性
を有する、上記(24)に記載のシステム。 (35)前記少なくとも1つの重みを、前記複数のファ
イル・システムの少なくとも1つのファイル・システム
に伝搬するための手段をさらに含む、上記(24)に記
載のシステム。 (36)前記1つまたは複数の重みの少なくとも1つの
重みに関連する変化を追跡するための手段と、前記追跡
された変化に基づいて前記少なくとも1つの重みを調整
するための手段と、前記少なくとも1つの調整された重
みを前記計算環境のファイル・システムに伝搬するため
の手段とをさらに含み、前記少なくとも1つの調整され
た重みが、少なくとも1つのストレージ・デバイス上で
のスペースの割振りに使用可能である、上記(24)に
記載のシステム。 (37)前記追跡するための手段が、前記ファイル・シ
ステムによって追跡するための手段を含む、上記(3
6)に記載のシステム。 (38)前記追跡するための手段が、複数のファイル・
システムによって追跡するための手段を含み、前記伝搬
するための手段が、前記少なくとも1つの調整された重
みを、前記追跡に使用する複数のファイル・システムに
伝搬するための手段を含む、上記(36)に記載のシス
テム。 (39)事前定義のイベント時に、前記追跡された変化
について割振りマネージャに知らせるための手段をさら
に含み、前記割振りマネージャが、前記調整および伝搬
を実行する、上記(36)に記載のシステム。 (40)前記複数のファイル・システムに、前記少なく
とも1つの重みの変化について知らせるための手段をさ
らに含み、前記変化が、スペースのさらなる割振りに使
用可能である、上記(24)に記載のシステム。 (41)前記計算環境のファイル・システムの障害に応
答して、前記1つまたは複数の重みの少なくとも1つの
重みを調整するための手段をさらに含む、上記(24)
に記載のシステム。 (42)前記調整するための手段が、前記少なくとも1
つの重みを調整するために、前記計算環境の少なくとも
1つの他のファイル・システムによって提供される情報
を使用するための手段と、前記少なくとも1つの重みを
調整するために、前記少なくとも1つの重みに関連する
少なくとも1つのストレージ・デバイスを読み取ること
から得られる情報を使用するための手段との少なくとも
1つを含む、上記(41)に記載のシステム。 (43)前記計算環境のファイル・システムの障害に応
答して、前記1つまたは複数の重みの少なくとも1つの
重みを維持するための手段をさらに含む、上記(24)
に記載のシステム。 (44)前記複数のファイル・システムの1つのファイ
ル・システムが、所与のファイルのために前記少なくと
も1つのストレージ・デバイス上のスペースを割振り、
その所与のファイルのための前記割振りが、前記少なく
とも1つの重みを使用する割振り方針に基づく、上記
(24)に記載のシステム。 (45)前記1つのファイル・システムが、別のファイ
ルのために1つまたは複数のストレージ・デバイス上の
スペースを割振り、その別のファイルのための前記割振
りが、前記1つまたは複数のストレージ・デバイスに関
連する1つまたは複数の重みを使用する別の割振り方針
に基づく、上記(44)に記載のシステム。 (46)計算環境のストレージ・デバイス上のスペース
の割振りを管理するシステムであって、前記計算環境の
複数のストレージ・デバイスの少なくともストレージ・
デバイスのサブセットの各ストレージ・デバイスのため
の重みを得るための手段と、前記少なくともストレージ
・デバイスのサブセットの各ストレージ・デバイスに割
り当てられた前記重みに比例して、前記ストレージ・デ
バイス上のスペースを割振るように適合された複数のフ
ァイル・システムとを含み、前記複数のファイル・シス
テムの各ファイル・システムが、前記少なくともストレ
ージ・デバイスのサブセットの1つまたは複数のストレ
ージ・デバイス上のスペースを割振る、システム。 (47)計算環境のストレージ・デバイス上でのスペー
スの割振りを管理するシステムであって、前記計算環境
の1つまたは複数のストレージ・デバイスの1つまたは
複数の重みを得るように適合された少なくとも1つのノ
ードと、前記1つまたは複数のストレージ・デバイスの
少なくとも1つのストレージ・デバイスについて得られ
た少なくとも1つの重みに比例して、前記少なくとも1
つのストレージ・デバイス上のスペースを割振るように
適合された複数のノードとを含む、システム。 (48)前記複数のノードが、前記少なくとも1つのノ
ードを含む、上記(47)に記載のシステム。 (49)上記(1)ないし(22)のいずれかに記載の
方法を実行するためのプログラムを記憶した、プログラ
ム記憶媒体。 (50)計算環境のストレージ・デバイス上のスペース
の割振りを管理する方法を実行するために、実行可能な
少なくとも1つの命令のプログラムを有形に組み込む、
計算機によって読み取り可能な少なくとも1つのプログ
ラム記憶媒体であって、前記計算環境の複数のストレー
ジ・デバイスの少なくともストレージ・デバイスのサブ
セットの各ストレージ・デバイスのための重みを得るス
テップと、前記少なくともストレージ・デバイスのサブ
セットの各ストレージ・デバイスに割り当てられた前記
重みに比例して、前記ストレージ・デバイス上のスペー
スを割振るステップとを含み、前記複数のファイル・シ
ステムの各ファイル・システムが、前記少なくともスト
レージ・デバイスのサブセットの1つまたは複数のスト
レージ・デバイス上のスペースを割振るように、前記割
振りを複数のファイル・システムによって実行するため
のプログラムを記憶した、プログラム記憶媒体。
使用される計算環境の一例を示す。
細に示す。
ドによって所有される、複数の区画に区分されるストレ
ージ・デバイスの例を示す。
に関連するさまざまな統計の例を示す。
に関連する論理の実施形態を示す。
に関連する論理の実施形態を示す。
クションに関連する論理の実施形態を示す。
回復アクションに関連する論理の実施形態を示す。
る論理の実施形態を示す。
に関連する論理の実施形態を示す。
に関連する論理の実施形態を示す。
Claims (50)
- 【請求項1】計算環境のストレージ・デバイス上でのス
ペースの割振りを管理する方法であって、 前記計算環境の1つまたは複数のストレージ・デバイス
の1つまたは複数の重みを得るステップと、 前記1つまたは複数のストレージ・デバイスの少なくと
も1つのストレージ・デバイスについて得られた少なく
とも1つの重みに比例して、前記少なくとも1つのスト
レージ・デバイス上のスペースを割振るステップとを含
み、前記割振りが、前記計算環境の複数のファイル・シ
ステムによって実行される、 方法。 - 【請求項2】前記複数のファイル・システムの各々が、
前記計算環境の別々のノード上に配置される、請求項1
に記載の方法。 - 【請求項3】前記複数のファイル・システムが、前記計
算環境の1つまたは複数のノード上に配置される、請求
項1に記載の方法。 - 【請求項4】前記割振るステップが、前記複数のファイ
ル・システムの各ファイル・システムによって割振り技
法を実行するステップを含み、前記複数のファイル・シ
ステムの少なくとも1つのファイル・システムが、前記
複数のファイル・システムの少なくとも1つの他のファ
イル・システムと異なる割振り技法を実行する、請求項
1に記載の方法。 - 【請求項5】前記少なくとも1つのストレージ・デバイ
スの各ストレージ・デバイスが、複数の区画に区分さ
れ、各ストレージ・デバイスの1つまたは複数の区画
が、前記複数のファイル・システムの1つまたは複数の
ファイル・システムによって所有される、請求項1に記
載の方法。 - 【請求項6】前記割振るステップが、複数のファイル・
システムによって複数のストレージ・デバイス上のスペ
ースを割振るステップを含み、前記複数のファイル・シ
ステムの各ファイル・システムが、前記複数のストレー
ジ・デバイスの1つまたは複数のストレージ・デバイス
上でスペースを割振る、請求項1に記載の方法。 - 【請求項7】前記得るステップが、前記1つまたは複数
の重みを得るために少なくとも割振りマネージャを使用
するステップを含む、請求項1に記載の方法。 - 【請求項8】前記使用するステップが、前記1つまたは
複数の重みを得るために前記割振りマネージャおよび前
記計算環境の少なくとも1つのノードを使用するステッ
プを含む、請求項7に記載の方法。 - 【請求項9】前記1つまたは複数の重みが、前記計算環
境の少なくとも1つのパラメータを表す、請求項1に記
載の方法。 - 【請求項10】前記割振るステップが、前記1つまたは
複数の重みを得るステップと無関係である、請求項1に
記載の方法。 - 【請求項11】前記1つまたは複数のストレージ・デバ
イスの少なくとも1つのストレージ・デバイスが、前記
1つまたは複数のストレージ・デバイスの少なくとも1
つの他のストレージ・デバイスと異なる1つまたは複数
の特性を有する、請求項1に記載の方法。 - 【請求項12】前記少なくとも1つの重みを、前記複数
のファイル・システムの少なくとも1つのファイル・シ
ステムに伝搬するステップをさらに含む、請求項1に記
載の方法。 - 【請求項13】前記1つまたは複数の重みの少なくとも
1つの重みに関連する変化を追跡するステップと、 前記追跡された変化に基づいて前記少なくとも1つの重
みを調整するステップと、 前記少なくとも1つの調整された重みを前記計算環境の
ファイル・システムに伝搬するステップとをさらに含
み、前記少なくとも1つの調整された重みが、少なくと
も1つのストレージ・デバイス上でのスペースの割振り
に使用可能である、 請求項1に記載の方法。 - 【請求項14】前記追跡するステップが、前記ファイル
・システムによって実行される、請求項13に記載の方
法。 - 【請求項15】前記追跡するステップが、複数のファイ
ル・システムによって実行され、前記伝搬するステップ
が、前記少なくとも1つの調整された重みを、前記追跡
を実行する前記複数のファイル・システムに伝搬するス
テップを含む、請求項13に記載の方法。 - 【請求項16】事前定義のイベント時に、前記追跡され
た変化について割振りマネージャに知らせるステップを
さらに含み、前記割振りマネージャが、前記調整するス
テップおよび伝搬するステップを実行する、請求項13
に記載の方法。 - 【請求項17】前記複数のファイル・システムに、前記
少なくとも1つの重みの変化について知らせるステップ
をさらに含み、前記変化が、スペースのさらなる割振り
に使用可能である、請求項1に記載の方法。 - 【請求項18】前記計算環境のファイル・システムの障
害に応答して、前記1つまたは複数の重みの少なくとも
1つの重みを調整するステップをさらに含む、請求項1
に記載の方法。 - 【請求項19】前記調整するステップが、 前記少なくとも1つの重みを調整するために、前記計算
環境の少なくとも1つの他のファイル・システムによっ
て提供される情報を使用するステップと、 前記少なくとも1つの重みを調整するために、前記少な
くとも1つの重みに関連する少なくとも1つのストレー
ジ・デバイスを読み取ることから得られる情報を使用す
るステップとの少なくとも1つを含む、請求項18に記
載の方法。 - 【請求項20】前記計算環境のファイル・システムの障
害に応答して、前記1つまたは複数の重みの少なくとも
1つの重みを維持するステップをさらに含む、請求項1
に記載の方法。 - 【請求項21】前記複数のファイル・システムの1つの
ファイル・システムが、所与のファイルのために前記少
なくとも1つのストレージ・デバイス上のスペースを割
振り、その所与のファイルのための前記割振りが、前記
少なくとも1つの重みを使用する割振り方針に基づく、
請求項1に記載の方法。 - 【請求項22】前記1つのファイル・システムが、別の
ファイルのために1つまたは複数のストレージ・デバイ
ス上のスペースを割振り、その別のファイルのための前
記割振りが、前記1つまたは複数のストレージ・デバイ
スに関連する1つまたは複数の重みを使用する別の割振
り方針に基づく、請求項21に記載の方法。 - 【請求項23】計算環境のストレージ・デバイス上のス
ペースの割振りを管理する方法であって、 前記計算環境の複数のストレージ・デバイスの少なくと
もストレージ・デバイスのサブセットの各ストレージ・
デバイスのための重みを得るステップと、 前記少なくともストレージ・デバイスのサブセットの各
ストレージ・デバイスに割り当てられた前記重みに比例
して、前記ストレージ・デバイス上のスペースを割振る
ステップとを含み、前記複数のファイル・システムの各
ファイル・システムが、前記少なくともストレージ・デ
バイスのサブセットの1つまたは複数のストレージ・デ
バイス上のスペースを割振るように、前記割振りが、複
数のファイル・システムによって実行される、 方法。 - 【請求項24】計算環境のストレージ・デバイス上での
スペースの割振りを管理するシステムであって、 前記計算環境の1つまたは複数のストレージ・デバイス
の1つまたは複数の重みを得るための手段と、 前記1つまたは複数のストレージ・デバイスの少なくと
も1つのストレージ・デバイスについて得られた少なく
とも1つの重みに比例して、前記少なくとも1つのスト
レージ・デバイス上のスペースを、前記計算環境の複数
のファイル・システムによって割振るための手段とを含
むシステム。 - 【請求項25】前記複数のファイル・システムの各々
が、前記計算環境の別々のノード上に配置される、請求
項24に記載のシステム。 - 【請求項26】前記複数のファイル・システムが、前記
計算環境の1つまたは複数のノード上に配置される、請
求項24に記載のシステム。 - 【請求項27】前記割振るための手段が、前記複数のフ
ァイル・システムの各ファイル・システムによって割振
り技法を実行するための手段を含み、前記複数のファイ
ル・システムの少なくとも1つのファイル・システム
が、前記複数のファイル・システムの少なくとも1つの
他のファイル・システムと異なる割振り技法を実行す
る、請求項24に記載のシステム。 - 【請求項28】前記少なくとも1つのストレージ・デバ
イスの各ストレージ・デバイスが、複数の区画に区分さ
れ、各ストレージ・デバイスの1つまたは複数の区画
が、前記複数のファイル・システムの1つまたは複数の
ファイル・システムによって所有される、請求項24に
記載のシステム。 - 【請求項29】前記割振るための手段が、複数のファイ
ル・システムによって複数のストレージ・デバイス上の
スペースを割振るための手段を含み、前記複数のファイ
ル・システムの各ファイル・システムが、前記複数のス
トレージ・デバイスの1つまたは複数のストレージ・デ
バイス上でスペースを割振る、請求項24に記載のシス
テム。 - 【請求項30】前記得るための手段が、前記1つまたは
複数の重みを得るために少なくとも割振りマネージャを
使用するための手段を含む、請求項24に記載のシステ
ム。 - 【請求項31】前記使用するための手段が、前記1つま
たは複数の重みを得るために前記割振りマネージャおよ
び前記計算環境の少なくとも1つのノードを使用するた
めの手段を含む、請求項30に記載のシステム。 - 【請求項32】前記1つまたは複数の重みが、前記計算
環境の少なくとも1つのパラメータを表す、請求項24
に記載のシステム。 - 【請求項33】前記割振るための手段が、前記1つまた
は複数の重みを得るための手段と無関係である、請求項
24に記載のシステム。 - 【請求項34】前記1つまたは複数のストレージ・デバ
イスの少なくとも1つのストレージ・デバイスが、前記
1つまたは複数のストレージ・デバイスの少なくとも1
つの他のストレージ・デバイスと異なる1つまたは複数
の特性を有する、請求項24に記載のシステム。 - 【請求項35】前記少なくとも1つの重みを、前記複数
のファイル・システムの少なくとも1つのファイル・シ
ステムに伝搬するための手段をさらに含む、請求項24
に記載のシステム。 - 【請求項36】前記1つまたは複数の重みの少なくとも
1つの重みに関連する変化を追跡するための手段と、 前記追跡された変化に基づいて前記少なくとも1つの重
みを調整するための手段と、 前記少なくとも1つの調整された重みを前記計算環境の
ファイル・システムに伝搬するための手段とをさらに含
み、前記少なくとも1つの調整された重みが、少なくと
も1つのストレージ・デバイス上でのスペースの割振り
に使用可能である、 請求項24に記載のシステム。 - 【請求項37】前記追跡するための手段が、前記ファイ
ル・システムによって追跡するための手段を含む、請求
項36に記載のシステム。 - 【請求項38】前記追跡するための手段が、複数のファ
イル・システムによって追跡するための手段を含み、前
記伝搬するための手段が、前記少なくとも1つの調整さ
れた重みを、前記追跡に使用する複数のファイル・シス
テムに伝搬するための手段を含む、請求項36に記載の
システム。 - 【請求項39】事前定義のイベント時に、前記追跡され
た変化について割振りマネージャに知らせるための手段
をさらに含み、前記割振りマネージャが、前記調整およ
び伝搬を実行する、請求項36に記載のシステム。 - 【請求項40】前記複数のファイル・システムに、前記
少なくとも1つの重みの変化について知らせるための手
段をさらに含み、前記変化が、スペースのさらなる割振
りに使用可能である、請求項24に記載のシステム。 - 【請求項41】前記計算環境のファイル・システムの障
害に応答して、前記1つまたは複数の重みの少なくとも
1つの重みを調整するための手段をさらに含む、請求項
24に記載のシステム。 - 【請求項42】前記調整するための手段が、 前記少なくとも1つの重みを調整するために、前記計算
環境の少なくとも1つの他のファイル・システムによっ
て提供される情報を使用するための手段と、 前記少なくとも1つの重みを調整するために、前記少な
くとも1つの重みに関連する少なくとも1つのストレー
ジ・デバイスを読み取ることから得られる情報を使用す
るための手段との少なくとも1つを含む、請求項41に
記載のシステム。 - 【請求項43】前記計算環境のファイル・システムの障
害に応答して、前記1つまたは複数の重みの少なくとも
1つの重みを維持するための手段をさらに含む、請求項
24に記載のシステム。 - 【請求項44】前記複数のファイル・システムの1つの
ファイル・システムが、所与のファイルのために前記少
なくとも1つのストレージ・デバイス上のスペースを割
振り、その所与のファイルのための前記割振りが、前記
少なくとも1つの重みを使用する割振り方針に基づく、
請求項24に記載のシステム。 - 【請求項45】前記1つのファイル・システムが、別の
ファイルのために1つまたは複数のストレージ・デバイ
ス上のスペースを割振り、その別のファイルのための前
記割振りが、前記1つまたは複数のストレージ・デバイ
スに関連する1つまたは複数の重みを使用する別の割振
り方針に基づく、請求項44に記載のシステム。 - 【請求項46】計算環境のストレージ・デバイス上のス
ペースの割振りを管理するシステムであって、 前記計算環境の複数のストレージ・デバイスの少なくと
もストレージ・デバイスのサブセットの各ストレージ・
デバイスのための重みを得るための手段と、 前記少なくともストレージ・デバイスのサブセットの各
ストレージ・デバイスに割り当てられた前記重みに比例
して、前記ストレージ・デバイス上のスペースを割振る
ように適合された複数のファイル・システムとを含み、
前記複数のファイル・システムの各ファイル・システム
が、前記少なくともストレージ・デバイスのサブセット
の1つまたは複数のストレージ・デバイス上のスペース
を割振る、 システム。 - 【請求項47】計算環境のストレージ・デバイス上での
スペースの割振りを管理するシステムであって、 前記計算環境の1つまたは複数のストレージ・デバイス
の1つまたは複数の重みを得るように適合された少なく
とも1つのノードと、 前記1つまたは複数のストレージ・デバイスの少なくと
も1つのストレージ・デバイスについて得られた少なく
とも1つの重みに比例して、前記少なくとも1つのスト
レージ・デバイス上のスペースを割振るように適合され
た複数のノードとを含む、システム。 - 【請求項48】前記複数のノードが、前記少なくとも1
つのノードを含む、請求項47に記載のシステム。 - 【請求項49】請求項1ないし22のいずれかに記載の
方法を実行するためのプログラムを記憶した、プログラ
ム記憶媒体。 - 【請求項50】計算環境のストレージ・デバイス上のス
ペースの割振りを管理する方法を実行するために、実行
可能な少なくとも1つの命令のプログラムを有形に組み
込む、計算機によって読み取り可能な少なくとも1つの
プログラム記憶媒体であって、 前記計算環境の複数のストレージ・デバイスの少なくと
もストレージ・デバイスのサブセットの各ストレージ・
デバイスのための重みを得るステップと、 前記少なくともストレージ・デバイスのサブセットの各
ストレージ・デバイスに割り当てられた前記重みに比例
して、前記ストレージ・デバイス上のスペースを割振る
ステップとを含み、前記複数のファイル・システムの各
ファイル・システムが、前記少なくともストレージ・デ
バイスのサブセットの1つまたは複数のストレージ・デ
バイス上のスペースを割振るように、前記割振りを複数
のファイル・システムによって実行するためのプログラ
ムを記憶した、 プログラム記憶媒体。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/618,508 US6928459B1 (en) | 2000-07-18 | 2000-07-18 | Plurality of file systems using weighted allocation to allocate space on one or more storage devices |
US09/618508 | 2000-07-18 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002091804A true JP2002091804A (ja) | 2002-03-29 |
JP3859994B2 JP3859994B2 (ja) | 2006-12-20 |
Family
ID=24478007
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001216805A Expired - Lifetime JP3859994B2 (ja) | 2000-07-18 | 2001-07-17 | ストレージ・デバイス上でのスペースの割振りを管理する方法、システム、およびプログラム記憶媒体 |
Country Status (4)
Country | Link |
---|---|
US (1) | US6928459B1 (ja) |
JP (1) | JP3859994B2 (ja) |
KR (1) | KR100450724B1 (ja) |
CN (1) | CN1186730C (ja) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008541207A (ja) * | 2005-04-29 | 2008-11-20 | ネットワーク・アプライアンス・インコーポレイテッド | ストレージシステム・アーキテクチャ内のデータ・アロケーション |
JP2010044789A (ja) * | 2002-11-14 | 2010-02-25 | Isilon Systems Inc | 分散ファイルシステムにおけるファイルの再ストライピングのためのシステム及び方法 |
US7743208B2 (en) | 2003-02-19 | 2010-06-22 | Kabushiki Kaisha Toshiba | Storage apparatus and area allocation method |
US8286029B2 (en) | 2006-12-21 | 2012-10-09 | Emc Corporation | Systems and methods for managing unavailable storage devices |
US8356150B2 (en) | 2006-08-18 | 2013-01-15 | Emc Corporation | Systems and methods for providing nonlinear journaling |
US8380689B2 (en) | 2006-08-18 | 2013-02-19 | Emc Corporation | Systems and methods for providing nonlinear journaling |
US8625464B2 (en) | 2006-02-17 | 2014-01-07 | Emc Corporation | Systems and methods for providing a quiescing protocol |
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 (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6829678B1 (en) * | 2000-07-18 | 2004-12-07 | International Business Machines Corporation | System for determining the order and frequency in which space is allocated on individual storage devices |
US7240115B2 (en) * | 2002-12-10 | 2007-07-03 | International Business Machines Corporation | Programmatically allocating memory among competing services in a distributed computing environment |
US7555504B2 (en) * | 2003-09-23 | 2009-06-30 | Emc Corporation | Maintenance of a file version set including read-only and read-write snapshot copies of a production file |
US8224937B2 (en) * | 2004-03-04 | 2012-07-17 | International Business Machines Corporation | Event ownership assigner with failover for multiple event server system |
JP4491273B2 (ja) * | 2004-05-10 | 2010-06-30 | 株式会社日立製作所 | ストレージシステム、ファイルアクセス制御プログラム及びファイルアクセス制御方法 |
US20060080350A1 (en) * | 2004-10-13 | 2006-04-13 | Timothy Mark | Allocation of file storage based on pattern recognition |
US7779368B2 (en) * | 2004-10-30 | 2010-08-17 | Hewlett-Packard Development Company, L.P. | Systems and methods for presenting managed data |
US7363454B2 (en) * | 2004-12-10 | 2008-04-22 | International Business Machines Corporation | Storage pool space allocation across multiple locations |
JP4596902B2 (ja) * | 2004-12-10 | 2010-12-15 | 株式会社日立製作所 | ストレージ管理装置、計算機システム、ストレージ管理方法及びストレージ管理プログラム |
CA2705379C (en) | 2006-12-04 | 2016-08-30 | Commvault Systems, Inc. | Systems and methods for creating copies of data, such as archive copies |
US7792796B1 (en) * | 2006-12-19 | 2010-09-07 | Emc Corporation | Methods, systems, and computer program products for optimizing resource allocation in a host-based replication environment |
US7840537B2 (en) | 2006-12-22 | 2010-11-23 | Commvault Systems, Inc. | System and method for storing redundant information |
US7970994B2 (en) * | 2008-03-04 | 2011-06-28 | International Business Machines Corporation | High performance disk array rebuild |
US9098495B2 (en) | 2008-06-24 | 2015-08-04 | Commvault Systems, Inc. | Application-aware and remote single instance data management |
US8166263B2 (en) | 2008-07-03 | 2012-04-24 | Commvault Systems, Inc. | Continuous data protection over intermittent connections, such as continuous data backup for laptops or wireless devices |
AU2009296695B2 (en) | 2008-09-26 | 2013-08-01 | Commvault Systems, Inc. | Systems and methods for managing single instancing data |
US9015181B2 (en) | 2008-09-26 | 2015-04-21 | Commvault Systems, Inc. | Systems and methods for managing single instancing data |
US8412677B2 (en) * | 2008-11-26 | 2013-04-02 | Commvault Systems, Inc. | Systems and methods for byte-level or quasi byte-level single instancing |
US8401996B2 (en) | 2009-03-30 | 2013-03-19 | Commvault Systems, Inc. | Storing a variable number of instances of data objects |
US8578120B2 (en) | 2009-05-22 | 2013-11-05 | Commvault Systems, Inc. | Block-level single instancing |
TW201205314A (en) * | 2010-07-16 | 2012-02-01 | Hon Hai Prec Ind Co Ltd | Method for seeking a document position and a corresponding electronic device |
CN103098014B (zh) * | 2010-08-31 | 2015-08-26 | 日本电气株式会社 | 存储系统 |
WO2012045023A2 (en) | 2010-09-30 | 2012-04-05 | Commvault Systems, Inc. | Archiving data objects using secondary copies |
KR101502896B1 (ko) | 2011-02-14 | 2015-03-24 | 주식회사 케이티 | 맵 리듀스를 이용한 분산 메모리 클러스터 제어 장치 및 방법 |
US9020890B2 (en) | 2012-03-30 | 2015-04-28 | Commvault Systems, Inc. | Smart archiving and data previewing for mobile devices |
US9633022B2 (en) | 2012-12-28 | 2017-04-25 | Commvault Systems, Inc. | Backup and restoration for a deduplicated file system |
US10324897B2 (en) | 2014-01-27 | 2019-06-18 | Commvault Systems, Inc. | Techniques for serving archived electronic mail |
CN104537530B (zh) * | 2014-12-29 | 2018-03-20 | 浪潮(北京)电子信息产业有限公司 | 一种基于云计算的分布式账单处理方法及系统 |
US10324914B2 (en) | 2015-05-20 | 2019-06-18 | Commvalut Systems, Inc. | Handling user queries against production and archive storage systems, such as for enterprise customers having large and/or numerous files |
KR101995056B1 (ko) * | 2015-12-30 | 2019-07-02 | 한국전자통신연구원 | 분산 파일 시스템 및 이의 운영방법 |
CN111492632B (zh) * | 2017-12-22 | 2023-04-28 | 瑞典爱立信有限公司 | 用于预测网络节点的状态改变的系统和方法 |
US11210236B2 (en) | 2019-10-22 | 2021-12-28 | EMC IP Holding Company LLC | Managing global counters using local delta counters |
CN112749135B (zh) * | 2019-10-30 | 2024-06-07 | 伊姆西Ip控股有限责任公司 | 文件系统的存储空间的平衡的方法、设备和计算机程序产品 |
EP4118533A4 (en) * | 2020-03-09 | 2023-10-11 | Hitachi Vantara LLC | CAPACITY AND PERFORMANCE OPTIMIZATION IN NON-HOMOGENEOUS STORAGE |
CN115809021B (zh) * | 2022-11-22 | 2023-10-20 | 小米汽车科技有限公司 | 可写文件系统的空间共享方法及装置 |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3715730A (en) * | 1970-06-01 | 1973-02-06 | Texas Instruments Inc | Multi-criteria search procedure for trainable processors |
US3715840A (en) * | 1970-12-31 | 1973-02-13 | Grav I Flo Corp | Apparatus and method for finishing workpieces |
US5394531A (en) * | 1989-04-03 | 1995-02-28 | International Business Machines Corporation | Dynamic storage allocation system for a prioritized cache |
US6309822B1 (en) * | 1989-06-07 | 2001-10-30 | Affymetrix, Inc. | Method for comparing copy number of nucleic acid sequences |
US5301350A (en) * | 1989-10-10 | 1994-04-05 | Unisys Corporation | Real time storage/retrieval subsystem for document processing in banking operations |
US5423046A (en) * | 1992-12-17 | 1995-06-06 | International Business Machines Corporation | High capacity data storage system using disk array |
WO1995011508A1 (fr) * | 1993-10-18 | 1995-04-27 | Sony Corporation | Procede de gestion d'informations, support d'enregistrement de donnees, procede d'enregistrement de donnees, procede et dispositif d'extraction d'informations |
US5687363A (en) * | 1994-03-30 | 1997-11-11 | Siemens Stromberg-Carlson | Distributed database architecture and distributed database management system for open network evolution |
US5721909A (en) * | 1994-03-30 | 1998-02-24 | Siemens Stromberg-Carlson | Distributed database architecture and distributed database management system for open network evolution |
US5732239A (en) | 1994-05-19 | 1998-03-24 | Starlight Networks | Method for operating a disk storage system which stores video data so as to maintain the continuity of a plurality of video streams |
US5659704A (en) | 1994-12-02 | 1997-08-19 | Hewlett-Packard Company | Methods and system for reserving storage space for data migration in a redundant hierarchic data storage system by dynamically computing maximum storage space for mirror redundancy |
US5583995A (en) | 1995-01-30 | 1996-12-10 | Mrj, Inc. | Apparatus and method for data storage and retrieval using bandwidth allocation |
JP3358687B2 (ja) | 1995-03-13 | 2002-12-24 | 株式会社日立製作所 | ディスクアレイ装置 |
US5845319A (en) | 1995-08-23 | 1998-12-01 | Fujitsu Limited | Disk array device which separates local and physical disks using striping and operation mode selection |
US5774643A (en) | 1995-10-13 | 1998-06-30 | Digital Equipment Corporation | Enhanced raid write hole protection and recovery |
US6253296B1 (en) * | 1996-09-06 | 2001-06-26 | Intel Corporation | Disk block allocation optimization methodology and applications |
US5943690A (en) | 1997-04-07 | 1999-08-24 | Sony Corporation | Data storage apparatus and method allocating sets of data |
US6016552A (en) | 1997-06-06 | 2000-01-18 | The Chinese University Of Hong Kong | Object striping focusing on data object |
US6314102B1 (en) * | 1997-07-10 | 2001-11-06 | Alcatel | Telecommunications system for providing both narrowband and broadband services to subscribers |
US5963963A (en) | 1997-07-11 | 1999-10-05 | International Business Machines Corporation | Parallel file system and buffer management arbitration |
US5960446A (en) | 1997-07-11 | 1999-09-28 | International Business Machines Corporation | Parallel file system and method with allocation map |
US6023706A (en) | 1997-07-11 | 2000-02-08 | International Business Machines Corporation | Parallel file system and method for multiple node file access |
US5937428A (en) | 1997-08-06 | 1999-08-10 | Lsi Logic Corporation | Method for host-based I/O workload balancing on redundant array controllers |
US6104962A (en) * | 1998-03-26 | 2000-08-15 | Rockwell Technologies, Llc | System for and method of allocating processing tasks of a control program configured to control a distributed control system |
-
2000
- 2000-07-18 US US09/618,508 patent/US6928459B1/en not_active Expired - Lifetime
-
2001
- 2001-06-29 KR KR10-2001-0038548A patent/KR100450724B1/ko not_active IP Right Cessation
- 2001-07-17 CN CNB011231416A patent/CN1186730C/zh not_active Expired - Lifetime
- 2001-07-17 JP JP2001216805A patent/JP3859994B2/ja not_active Expired - Lifetime
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010044789A (ja) * | 2002-11-14 | 2010-02-25 | Isilon Systems Inc | 分散ファイルシステムにおけるファイルの再ストライピングのためのシステム及び方法 |
US7743208B2 (en) | 2003-02-19 | 2010-06-22 | Kabushiki Kaisha Toshiba | Storage apparatus and area allocation method |
JP2008541207A (ja) * | 2005-04-29 | 2008-11-20 | ネットワーク・アプライアンス・インコーポレイテッド | ストレージシステム・アーキテクチャ内のデータ・アロケーション |
US8625464B2 (en) | 2006-02-17 | 2014-01-07 | Emc Corporation | Systems and methods for providing a quiescing protocol |
US8356150B2 (en) | 2006-08-18 | 2013-01-15 | Emc Corporation | Systems and methods for providing nonlinear journaling |
US8380689B2 (en) | 2006-08-18 | 2013-02-19 | 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 |
US8966080B2 (en) | 2007-04-13 | 2015-02-24 | Emc Corporation | Systems and methods of managing resource utilization on a threaded computer system |
Also Published As
Publication number | Publication date |
---|---|
JP3859994B2 (ja) | 2006-12-20 |
KR20020007994A (ko) | 2002-01-29 |
CN1186730C (zh) | 2005-01-26 |
CN1333505A (zh) | 2002-01-30 |
US6928459B1 (en) | 2005-08-09 |
KR100450724B1 (ko) | 2004-10-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3859994B2 (ja) | ストレージ・デバイス上でのスペースの割振りを管理する方法、システム、およびプログラム記憶媒体 | |
US20190034084A1 (en) | Selecting controllers based on affinity between access devices and storage segments | |
KR100974149B1 (ko) | 네임스페이스에 대한 정보 유지 방법, 시스템 및 컴퓨터 판독가능 저장 매체 | |
CN108780386B (zh) | 一种数据存储的方法、装置和系统 | |
EP1071989B1 (en) | Intelligent data storage manager | |
US8104038B1 (en) | Matching descriptions of resources with workload requirements | |
US11847098B2 (en) | Metadata control in a load-balanced distributed storage system | |
US20030110263A1 (en) | Managing storage resources attached to a data network | |
JP4684864B2 (ja) | 記憶装置システム及び記憶制御方法 | |
US20050080810A1 (en) | Data management apparatus | |
EP3281110A1 (en) | Workload aware storage platform | |
JP2004252663A (ja) | ストレージ装置、分担範囲決定方法及びプログラム | |
US20070073990A1 (en) | Distribution of data in a distributed shared storage system | |
CN1602480A (zh) | 管理附装在数据网络上的存储器资源 | |
CN110825704B (zh) | 一种读数据方法、写数据方法及服务器 | |
US8443369B1 (en) | Method and system for dynamically selecting a best resource from each resource collection based on resources dependencies, prior selections and statistics to implement an allocation policy | |
CN111399761B (zh) | 存储资源分配方法、装置及设备、存储介质 | |
CN112256204B (zh) | 存储资源分配方法、装置、存储节点及存储介质 | |
JP2015022327A (ja) | データ再配置装置、方法およびプログラム | |
US11256440B2 (en) | Method and distributed storage system for aggregating statistics | |
KR101654969B1 (ko) | 가상화 클러스터 환경에서 네임 노드를 할당하는 방법 및 장치 | |
CN109787899B (zh) | 一种数据分区路由方法、装置及系统 | |
CN114827123A (zh) | 一种iSCSI服务的设置方法、装置、设备及介质 | |
TW202213091A (zh) | 資訊處理裝置、資訊處理方法及資訊處理程式 | |
TW202215221A (zh) | 資訊處理裝置、資訊處理方法及資訊處理程式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050614 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20050912 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20050915 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20051209 Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20051209 |
|
RD12 | Notification of acceptance of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7432 Effective date: 20051209 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20051209 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20060330 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20060626 Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060626 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20060822 |
|
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: 20060913 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20060913 |
|
RD14 | Notification of resignation of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7434 Effective date: 20060913 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060920 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 3859994 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: 20090929 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100929 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100929 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110929 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120929 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130929 Year of fee payment: 7 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |