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
Application number
JP2001216805A
Other languages
English (en)
Other versions
JP3859994B2 (ja
Inventor
A Soodon Wayne
ウェイン・エイ・ソードン
Haskin Roger
ロジャー・ハスキン
B Schmack Frank
フランク・ビー・シュマック
C Willy James
ジェームス・シー・ウィリー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2002091804A publication Critical patent/JP2002091804A/ja
Application granted granted Critical
Publication of JP3859994B2 publication Critical patent/JP3859994B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • YGENERAL 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99953Recoverability
    • YGENERAL 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99956File 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

(57)【要約】 【課題】 ストレージ・デバイス上のスペースの割振り
を管理する方法、システム、およびプログラム記憶媒体
を提供すること。 【解決手段】 ストレージ・デバイスに関連する重みに
比例して、ストレージ・デバイス上でスペースを割振
る。スペースは、複数のファイル・システムによって割
振られる。具体的に言うと、スペースを、1つまたは複
数のファイル・システムによって、任意のストレージ・
デバイス上で割振ることができる。システムの変更に適
応し、ストレージ・デバイスをよりよく利用するため
に、重みをいつでも動的に調整することができる。複数
のファイル・システムが、1つまたは複数のストレージ
・デバイス上でスペースを割振る可能性があるので、重
みの変更は、その情報を使用する可能性があるさまざま
なファイル・システムに伝搬される。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、一般にストレージ
・デバイスのスペースを割振ることに関し、詳細には、
複数のファイル・システムが、重み付き割振りを使用し
て1つまたは複数のストレージ・デバイスのスペースを
割振ることができるようにすることに関する。
【0002】
【従来の技術】多くの計算環境に、ファイル・システム
が含まれ、これによって、他のアプリケーション・プロ
グラムが、ストレージ・デバイスにデータを保管し、取
り出すことができるようになる。具体的に言うと、ファ
イル・システムによって、アプリケーション・プログラ
ムが、ファイルを作成し、ファイルに名前を付け(ファ
イルは、任意のサイズの名前付きデータ・オブジェクト
である)、ファイルにデータを保管し(書き込み)、フ
ァイルからデータを読み取り、ファイルを削除し、ファ
イルに対して他の動作を実行することができるようにな
る。
【0003】ファイル構造は、ストレージ・デバイス上
でのデータの編成である。ファイル・データ自体のほか
に、ファイル構造には、例えば、対応するファイルにフ
ァイル名をマッピングするディレクトリ、ストレージ・
デバイス上でのファイル・データの位置(すなわち、ど
のデバイス・ブロックがファイル・データを保持する
か)を含むファイルに関する情報を含むファイル・メタ
・データ、どのデバイス・ブロックが現在メタ・データ
およびファイル・データの保管に使用されているかを記
録する割振りマップ、およびファイル構造に関する全体
的な情報(例えば、ディレクトリ、割振りマップ、およ
び他のメタ・データ構造の位置)を含むスーパーブロッ
クを含むメタ・データが含まれる。
【0004】ファイルの連続するデータ・ブロックを、
ディスクまたは他のストレージ・デバイスなどの別個の
デバイスに保管するために、ストライピングと称する技
法が使用される。ストライピングは、ファイル・システ
ムのメタ・データを保管するのに使用することもでき
る。ストライピングの長所には、高性能およびロード・
バランシングが含まれる。ストライピングでは、ファイ
ル・システムが、ファイルの連続するブロックまたはフ
ァイルのメタ・データを、定義された順序で別個のデバ
イスに書き込む。例えば、ファイル・システムは、ラウ
ンドロビン割振りを使用することができ、この場合、連
続するブロックが、デバイスの巡回置換に従って配置さ
れる。この置換を、ストライプ順序と称する。ストライ
プ順序によって、ファイル・システム内の各デバイスへ
の割振り(したがって、書込)の順序および頻度が定義
される。例えば、単純なラウンドロビン割振り方式を使
用する、4台のディスクを有するシステムでは、各ディ
スクのスペースが、連続する順序すなわち1、2、3、
4、1、2、3、4、…で割振られる。
【0005】この単純なラウンドロビン割振りは、ほと
んどのストライプ式ファイル・システムによって割振り
に使用される。ラウンドロビン割振りは、同種デバイス
を含むシステムの一部の情況に十分である場合がある
が、異種デバイスを有するシステムに不適切であること
がわかっており、同種デバイスが使用されるさまざまな
情況に不適切であることがわかっている。
【0006】一例として、ラウンドロビン割振りは、異
なる記憶容量またはスループットを有するデバイスに不
適切である。ラウンドロビン割振りの下では、すべての
デバイスが均等に割振られる。その結果、データへの後
続のアクセスが、通常は、やはりデバイスにまたがって
均等に分散される。異なる記憶容量のデバイスを含むシ
ステムの場合、少容量のデバイスが、大容量のデバイス
の前に満杯になり、したがって、ストライプ順序から排
除されなければならず、したがって、後続のすべての書
込について並列性および性能が低下する。さらに、デバ
イスの縮小された組にまたがってストライピングされる
データは、後続のすべてのアクセスについて性能が低下
する。
【0007】同様に、異なるスループットを有するデバ
イスを含むシステムの場合、ラウンドロビン割振りは、
割振りおよびすべての後続のデータへのアクセスに関す
るスループットを最大化することができない。さらに、
ラウンドロビン割振りは、平衡でない状態になっている
システムを再平衡化する機能を有しない。平衡でない状
態は、例えば、デバイスがファイルまたはオペレーティ
ング・システムの間で区分されている時、空のデバイス
が既存のファイル・システムに追加された時、または割
振り方針が変更された時を含む、さまざまな理由から発
生する可能性がある。そのようなシステムを再平衡化す
るためには、ファイル・システム内のすべてのデータを
再ストライピングするなど、ユーザによる異例の処置が
必要になる。
【0008】ストライピングは、単一のファイル・シス
テムによって、または共用デバイス・ファイル環境(例
えば並列環境)の複数のファイル・システムによって、
実行することができる。共用デバイス・ファイル環境で
は、1つまたは複数のストレージ・デバイスに常駐する
ファイル構造が、複数の計算ノード上で稼動する複数の
ファイル・システムによってアクセスされる。共用デバ
イス・ファイル環境を用いると、ファイル構造を使用す
るアプリケーション(またはジョブ)を、複数のノード
で並列に稼動させることができる複数の断片に分割する
ことができる。これによって、これらの複数のノードの
処理能力を、アプリケーションに対して発揮させること
が可能になる。
【0009】
【発明が解決しようとする課題】上で述べたストライピ
ングに関連する問題は、並列環境で悪化する。したがっ
て、広範囲の情況で使用するのに十分に一般的である、
並列割振り技法の必要がまだ存在する。さらに、システ
ムまたはデバイスの現在の状態および要件によりよく一
致するように割振りを再平衡化することができる能力の
必要が存在する。
【0010】
【課題を解決するための手段】計算環境のストレージ・
デバイス上のスペースの割振りを管理する方法を提供す
ることを介して、従来技術の短所が克服され、追加の長
所がもたらされる。この方法には、例えば、計算環境の
1つまたは複数のストレージ・デバイスの1つまたは複
数の重みを得るステップと、1つまたは複数のストレー
ジ・デバイスの少なくとも1つのストレージ・デバイス
について得られた少なくとも1つの重みに比例して、少
なくとも1つのストレージ・デバイスのスペースを割振
るステップとを含み、割振りが、計算環境の複数のファ
イル・システムによって実行される。
【0011】もう1つの実施形態では、計算環境のスト
レージ・デバイスのスペースの割振りを管理する方法が
提供される。この方法には、例えば、計算環境の複数の
ストレージ・デバイスの少なくともストレージ・デバイ
スのサブセットの各ストレージ・デバイスのための重み
を得るステップと、ストレージ・デバイスに割り当てら
れた重みに比例して、少なくともストレージ・デバイス
のサブセットの各ストレージ・デバイスのスペースを割
振るステップとを含み、複数のファイル・システムの各
ファイル・システムが少なくともストレージ・デバイス
のサブセットの1つまたは複数のストレージ・デバイス
上のスペースを割振るように、割振りが複数のファイル
・システムによって実行される。
【0012】上に要約した方法に対応するシステムおよ
びコンピュータ・プログラムも、本明細書に記載され、
請求される。
【0013】本発明の1つまたは複数の態様の機能は、
有利なことに、各デバイスのスペースが、そのデバイス
に割り当てられた重みに比例して割振られ、したがって
消費されるように、1つまたは複数のストレージ・デバ
イスにまたがる、複数のファイル・システムによるスペ
ースの割振りをもたらす。デバイスに割り当てられる重
みは、動的に変更することができ、したがって、本発明
の一態様によって、これらの変更を追跡し、この情報を
必要とするか所望する他のファイル・システムに伝搬す
ることが可能になる。さらに、ファイル・システムを有
する1つまたは複数のノードの障害の場合に、重みの回
復がもたらされる。
【0014】
【発明の実施の形態】本発明の態様によれば、複数のフ
ァイル・システムによって、1つまたは複数のストレー
ジ・デバイスのスペースが、これらのデバイスに関連す
る重みを使用して割振られる。具体的に言うと、ストレ
ージ・デバイスに関連する重みが、ストライプ順序の生
成に使用され、各ストライプ順序によって、個々のスト
レージ・デバイスのスペースを割振る順序およびこれら
のデバイスのスペースを割振る頻度が、めいめいのファ
イル・システムに与えられる。各デバイスに関連する重
みは、そのデバイスでスペースを割振るファイル・シス
テムに分配され、その結果、組み合わされた割振りが、
重みに比例するままになる。重みは、動的に調整するこ
とができるので、さまざまなファイル・システムが、重
み付き調整について最新の状態に保たれる。
【0015】本発明の態様が組み込まれ、使用される計
算環境の一実施形態を、図1に関して説明する。計算環
境100には、1つまたは複数のノード102(例え
ば、ノード1、…、ノードn)が含まれ、これらのノー
ドは、1つまたは複数のストレージ・デバイス104
(例えば、ディスク1、…、ディスクm、または他の不
揮発性メモリ)へのアクセスを共用する。ノードは、相
互接続106を介して、互いにおよびストレージ・デバ
イスに結合される。一例では、相互接続に、例えば、ワ
イヤ接続、バス、トークン・リング、またはネットワー
ク接続が含まれる。1つまたは複数のこれらの接続によ
って使用される通信プロトコルの1つが、TCP/IP
である。一例では、ノードが共用メモリを有しないこと
が仮定される。
【0016】一例として、ノード102に、米IBM社
が提供するAIXオペレーティング・システムなどのオ
ペレーティング・システム200(図2)が含まれる。
オペレーティング・システムには、米IBM社が提供す
るジェネラル・パラレル・ファイル・システム(Genera
l Parallel File System;GPFS)などの、さまざま
なストレージ・デバイスのスペースの割振りを管理する
のに使用されるファイル・システム202(例えばソフ
トウェア・レイヤ)が含まれる。本明細書に記載の1つ
または複数の実施形態では、各ノードが、単一のファイ
ル・システムを有し、したがって、記述の一部が、この
ノードを指すと仮定する。しかし、もう1つの例では、
ノードに、複数のファイル・システムを含めることがで
きる。その例では、ノード上の参加するファイル・シス
テムの各々が、重みの変更について最新状態に保たれ、
回復に使用することができる。
【0017】ファイル・システム202は、さまざまな
ストレージ・デバイスのスペースを割振り、各ストレー
ジ・デバイス上の総割振りが、そのデバイスについて得
られた重みに比例するようにする。本明細書で使用す
る、重みを得ることは、重みを受け取ること、および重
みを割り当てることを含むがこれに制限されない、任意
の形で達成することができる。各デバイスについて得ら
れる重みは、割振り方針の決定に使用され、この重みを
用いて、ファイル・システムが、個々のデバイスの容量
に一致し、デバイスの組合せスループットをよりよく利
用するように、デバイスにまたがる割振りを平衡化する
ことができるようになる。しかし、重みおよび割振り方
針(すなわち、各デバイスでの割振りの順序および頻
度)は、割振りに使用される技法とは独立である。すな
わち、異なる割振り技法を、割振りに使用することがで
きる。割振り技法は、重みに束縛されない。これによっ
て、重みが、さまざまなパラメータを表す(例えば、下
で説明する容量重み付け、空きスペース重み付け、スル
ープット重み付け、ラウンドロビン重み付け、ハイブリ
ッド重み付けなど)ことができ、重みを動的に変更する
ことができるようになる。したがって、割振り方針は、
現在の状態または要件により適するように、いつでも変
更することができる。さらに、重みを得るのに使用され
るどの重み付け技法であっても、割振り技法を知る必要
がない。
【0018】並列ファイル・システムでは、(1つまた
は複数のノードの)複数のファイル・システムによっ
て、1つまたは複数のストレージ・デバイスのスペース
を割振ることができる。例として、複数のファイル・シ
ステムによって、1つのストレージ・デバイスのスペー
スを割振ることができ、複数のファイル・システムによ
って、複数のストレージ・デバイスのスペースを任意の
組合せで割振ることができる(例えば、複数のファイル
・システムの各々が、異なるデバイスのスペースを割振
るか、1つまたは複数のファイル・システムが、1つま
たは複数のデバイスのスペースを割振る)。1つまたは
複数のデバイスのスペースを割振る複数のファイル・シ
ステムのどのような組合せでも可能である。したがっ
て、スペースを、任意の1つまたは複数のファイル・シ
ステムによってストレージ・デバイスのうちの任意の1
つで割振ることができる。
【0019】複数のファイル・システムが、特定のスト
レージ・デバイスのスペースを割振ることができるの
で、一例では、あるデバイスのストレージ・スペース
が、図3に示されるように複数の区画に区分される。図
3からわかるように、デバイス300は、複数の区画3
02aないし302dに区分され、各区画は、0個以上
のノードによって所有される。例えば、区画302aは
所有されず、区画302bはノード1によって所有さ
れ、区画302cはノード2によって所有され、区画3
02dはノード3および4によって所有される。区画を
所有する1つまたは複数のノードは、その区画内のスペ
ースを割振ることを許可される(もう1つの例では、所
有権を、ファイル・システムに基づくものとすることが
でき、ファイル・システムが常駐するノードと無関係
に、各区画が、0個以上のファイル・システムによって
所有される)。
【0020】一実施形態では、所有権情報が、集中化さ
れた割振りマネージャによって維持される。このマネー
ジャは、割振りに参加するノードの1つの一部、または
主に制御に使用され実際に割振りを行わない別のノード
とすることができる。
【0021】所有権情報は、各ストレージ・デバイスに
関連するさまざまな統計の一部として維持される。具体
的に言うと、各デバイスは、一例として下記の統計31
0(図4)を関連付けられている。 (A)毎デバイス総計:デバイス総計は、特定のパラメ
ータのどれだけがそのデバイスに関連するかを表す。例
えば、この総計によって、デバイス上の空きスペースの
量を示すことができる。 (B)毎区画情報: (1)所有者:特定の区画の1つまたは複数の所有者の
表示 (2)区画総計:特定のパラメータのどれだけがその区
画に関連するかの表示(例えばその区画内の空きスペー
スの量)
【0022】本発明の態様によれば、スペースを割振る
ファイル・システムの各々が、重み付き割振り技法を使
用して、割振りのためにデバイスを選択する順序および
これらのデバイスでスペースを割振る頻度を判定する。
特定のデバイスでスペースを割振るファイル・システム
は、そのデバイスに関する重みに合意し、その結果、各
デバイスの総割振りが、そのデバイスに割り当てられた
重みに比例するままになる。この合意は、下で説明する
ように、集中化された割振りマネージャに連絡すること
によってもたらされる。
【0023】割振りに使用される重みは、動的に変更す
ることができる。したがって、新しい値が、新しい情報
を必要とするか所望するノード(またはファイル・シス
テム)に伝搬される。したがって、重みの追跡および分
配が、本発明の並列重み付き割振り技法の一部である。
さらに、並列環境は、1つまたは複数のノードが障害を
発生し、独立に再始動する、部分的な障害をこうむる可
能性があるので、本発明の割振り技法には、回復も含ま
れる。
【0024】並列ファイル・システムの重み付き割振り
技法の一例を、図5に関して説明する。図5からわかる
ように、この技法には、初期化のステップ400、重み
の追跡および分配のステップ402、およびノード障害
および回復のステップ404を含む、3つの主なアクシ
ョンが含まれる。これらのアクションの各々を、さまざ
まな形で実施することができる。各アクションの2つの
可能な実施形態を、本明細書で説明する。第1の実施形
態を、無状態実施形態と称し、この実施形態では、最少
量の状態が使用されるが、ノード障害からの回復の時間
が長い。第2の実施形態を、全状態実施形態と称し、こ
の実施形態では、割振りマネージャが、区画所有権情報
の維持に使用され、毎デバイス毎区画カウンタを完了す
る。この余分な状態が、回復時間を短縮するように働
く。アクションの各々に関するこれらの実施形態の各々
を、下でさらに詳細に説明する。
【0025】初期化アクションの一例を、図6に関して
さらに詳細に説明する。このアクションの両方の実施形
態(すなわち、無状態実施形態および全状態実施形態)
で、図6に示されたアクションが実行される。
【0026】まず、ステップ500で、ファイル・シス
テムが割振りマネージャを選択する。一例では、初期化
論理の実行を試みる最初のノードが、割振りマネージャ
として指定される。他のノードを、クライアント・ノー
ドと呼称する。クライアント・ノードは、例えばグロー
バル・ネーミング・サービスを使用して、割振りマネー
ジャを突きとめ、割振りマネージャの初期化が完了する
のを待つ。
【0027】割振りマネージャの指名の後に、ステップ
502で、割振りマネージャが、割振りに使用する初期
重みを決定する。割振りマネージャは、単独で作業して
順次式に、または1つまたは複数のクライアント・ノー
ドの支援を得ることによって並列に、重みを決定するこ
とができる。
【0028】初期重みは、使用される重み付け技法に依
存する。静的パラメータに基づく技法ならびに動的パラ
メータに基づく技法を含むさまざまな重み付け技法が使
用可能である。さまざまな技法の例には、例えば下記が
含まれる。 (1)ラウンドロビン重み付け−単純なラウンドロビン
割振りを実施するために、各デバイスの重みに1をセッ
トする。各デバイスに等しい重みを使用することによっ
て、この技法では、各デバイスで等しい回数だけスペー
スが割振られる。 (2)容量重み付け−不均等なサイズを有するデバイス
にまたがって割振りをよりよく分散するために、各デバ
イスの相対容量を使用して重みを割り当てることができ
る。この重み付け技法では、デバイスが、同一の割合で
書き込まれる(すなわち、各デバイスで使用される比率
が、デバイスの容量に無関係に同一になる)。その結
果、各デバイスでの期待される入出力負荷も、デバイス
の容量に比例するようになる。容量重み付けの場合、割
振りマネージャが、各デバイスの最大記憶容量を判定す
る。これは、各デバイスの記述子を検査するなど、複数
の方法で行うことができる。 (3)空きスペース重み付け−この動的重み付け技法で
は、重みを、各デバイスの空きスペースの相対量に基づ
くものとすることができる。この技法の下では、より高
い比率の空きスペースを有するデバイスが、それに比例
してより多い割振りを受け取る。これは、不均等に書き
込まれたデバイスを再平衡化するように働き、不均等な
書込は、既存のシステムに新しいデバイスを追加するこ
とまたは不均等なサイズを有するデバイスでラウンドロ
ビン割振りを以前に使用したことから生じる可能性があ
る。この重みは、空きスペースの相対量の変更を説明す
るために動的に調整することができる。均等に書き込ま
れているデバイスの場合、空きスペース重み付け技法
は、容量重み付けと同等である。空きスペース重み付け
の場合、各デバイスを検査して、各デバイスの空きブロ
ックの数を判定する。一例では、デバイスの割振りマッ
プから、この情報を与えることができる(割振りマップ
は、米国特許第5960446号明細書に記載されてい
る)。 (4)スループット重み付け−各デバイスの相対性能に
基づいて重みを割り当てることもできる。高いスループ
ットを有するデバイスは、それに比例してより多くの割
振りを受け取り、その結果、平均してより多くの入出力
要求を受け取る。この重み付けでは、組み合わされたデ
バイスの総スループットを最大にすることが試みられ
る。初期化中にスループット重みを決定する方法は、例
えば、テーブルからデバイス・スループットを読み取る
か、システムが最大入出力負荷の下である間に各デバイ
スへの実際のスループットを測定することによるデバイ
ス・スループットの測定によるなど、複数存在する。 (5)ハイブリッド重み付け−重みを動的に変更できる
だけではなく、重みを割り当てる技法も変更することが
できる。さらに、ハイブリッド重み付けを作るための複
数の重み付け技法の組合せを使用することができる。こ
れは、複数の技法の下で各デバイスの正規化された重み
を計算し、その後、各所望の技法からのデバイスの正規
化された重みを加算することによって達成することがで
きる。これによって、システムが、現在の要件に合わせ
て割振りを調整し、システムが変更される際に割振りを
変更することができるようになる。
【0029】図6の参照を続けると、初期重みを収集し
た後に、ステップ504で、割振りマネージャが、重み
を他のノード(または他のファイル・システム)に伝搬
する。一例では、重みが、割振りに参加するすべてのノ
ードに伝搬される。別の例では、特定のデバイスの重み
が、その重みを使用するノードだけに伝搬される。伝搬
は、メッセージ渡しまたはブロードキャストを含む複数
の技法を使用して実行することができる。
【0030】その後、ステップ506で、割振りを行う
ファイル・システムの各々が、重みを使用して、ローカ
ル重み付き割振り技法を初期化する。ローカル重み付き
割振り技法は、ストレージ・デバイス上の割振りの順序
および頻度を定義するのに使用されるストライプ順序を
生成するためにファイル・システムによって実行される
技法である。この技法には、例えば、重みを正規化し、
いくつかの変数をセットする初期化ステップと、正規化
された重みを使用してストライプ順序を決定するストラ
イプ順序生成ステップが含まれる。他のステップも、割
振り技法のタイプに応じて含めることができる。
【0031】ローカル重み付き割振り技法の初期化によ
って、初期化アクションが完了する。上で述べたよう
に、無状態実施形態と全状態実施形態の両方が、上で説
明したアクションを実行する。しかし、上記のほかに、
空きスペース重み付けなどの動的重み付けを使用する時
に、全状態実施形態では、各区画内で毎デバイス毎区画
テーブル内(図4参照)に各デバイスの空きスペースも
保管される。
【0032】図5に戻ると、初期化を実行した後に、ス
テップ402で、重みの追跡および分配のアクションが
実行される。毎デバイス空きスペースなどの動的情報に
基づく重みが、その精度を維持するために周期的に更新
される。容量などの静的情報に基づく重みは、例えば、
構成が変更された時、または割振り方針の変更があった
時に更新される。重みの追跡および分配に使用される論
理の一実施形態を、図7に関して説明する。この特定の
例を、空きスペースの追跡および分配(動的重み)に関
して説明する。しかし、この論理は、他の動的重みまた
は静的重みにも同様に適用可能である。
【0033】図7を参照すると、ステップ600で、さ
まざまなノードの各々が、情報(すなわち動的情報また
は静的情報)の変化を追跡する。一例として、空きスペ
ース重み付けの場合、各適当なノードが、それが各デバ
イスに対して実行する割振りおよび割振り解除の数を追
跡する。デルタと称する、デバイスごとの正味の割振り
は、そのノードでの動作によって引き起こされる各デバ
イス上の空きスペースの差である。クライアント・ノー
ドが、ある閾値(例えば100動作)に一致するまでデ
ルタを累算する。閾値に一致する時、または別の事前定
義のイベント(例えば30秒ごと)時に、ステップ60
2で、ノードが、変化について割振りマネージャに知ら
せる。具体的に言うと、クライアント・ノードが、通信
機構を使用して、デルタを割振りマネージャに送る。デ
ルタを成功裡に送った後に、クライアント・ノードは、
そのデルタ・カウンタを0にリセットする。
【0034】クライアントからデルタを受け取った時
に、ステップ604で、割振りマネージャが、それらを
総空きスペース・カウンタに加算する。このカウンタ
は、割振りマネージャによって維持される(図4の毎デ
バイス総計312を参照)。すなわち、割振りマネージ
ャは、受け取ったデルタに基づいて特定のデバイスの重
みを調整する。
【0035】重みを調整した後に、ステップ606で、
調整された重み(例えば、デバイスの新しい総空きスペ
ース・カウンタ)が、デルタを送るメッセージに応答し
てクライアントに返される。クライアントは、調整され
た重みを受け取る時に、ステップ608で、調整された
重みを使用してそのローカル割振り技法を再初期化す
る。したがって、新しいストライプ順序が生成される。
【0036】上で説明した、クライアントと割振りマネ
ージャの間の通信によって、クライアントが、割振りマ
ネージャと通信した後に、使用する重みについて合意す
ることができるようになる。この合意は、ノードが新し
い重みについてより早く知らされる場合に、より早く達
することができる。いつどのようにクライアントに知ら
せるかの決定は、実施形態依存である。
【0037】例えば、クライアントによってデルタの送
出に使用される閾値は、割振りマネージャによって維持
される総空きスペース・カウンタと各デバイスの空きス
ペースの実際の量の間の差を制限するように働くことも
できる。クライアント・ノードによって使用される重み
の同一の度合の精度を維持するために、例えば割振り方
針の変化、ハードウェア構成の変化、または非常にアク
ティブなクライアント・ノードの組から受け取られたデ
ルタに起因する大きい累積的変化によって引き起こされ
る重みの大きい変更が、一例では、割振りマネージャ
に、新しい重みをクライアント・ノードに即座に送らせ
る。この重みの変化は、ノードに保管されている現在の
デルタに影響しない。
【0038】上のアクションは、本明細書に記載の2つ
の実施形態(すなわち、無状態実施形態および全状態実
施形態)の各々について実行される。しかし、全状態実
施形態の場合、各クライアント・ノードが、それが変更
する区画の各々について別々のデルタ・カウンタを維持
する。毎区画デルタを受け取る時に、割振りマネージャ
は、毎デバイス毎区画カウンタ318(図4)ならびに
毎デバイス総計312を更新する。
【0039】図5に戻って、重みの追跡および分配によ
って、重み付き割振りに基づくシステムの再平衡化が可
能になるが、これのほかに、本発明の並列重み付き割振
り技法は、ステップ404のノード障害からの回復も提
供する。並列ファイル環境内のノードは、互いに独立に
障害を発生し、再起動される可能性がある。ノード障害
を処理するために、障害を発生したノードによって失わ
れる揮発性の状態を、別のノードによって再構成しなけ
ればならない。この回復は、例えば、障害を発生したノ
ードがクライアントであるか、割振りマネージャとして
活動しているかのいずれであるか、重みが静的と動的の
どちらであるか、動的重みの場合に、それが割振りマネ
ージャによって維持される状態の量に依存するかどうか
を含む、多数の要因に依存する。
【0040】ここで検討される3つの主な場合があり、
それは、静的重みを使用する回復、無状態実施形態での
動的重みを使用する回復、および全状態実施形態での動
的重みを使用する回復である。これらの場合の各々につ
いて、回復のための例示的技法を、単一のクライアント
・ノードからの障害または割振りマネージャのノードか
らの障害について説明する。この技法は、一例では定数
のノードが使用可能なままである限り、複数ノードの障
害を処理するように簡単に拡張される。ファイル・シス
テムによって管理される、ノード障害からの回復を、図
8ないし11を参照してさらに説明する。
【0041】図8を参照すると、ステップ700で、ま
ず、必要な回復の種類に関する判定を行う。例えば、問
合せ702で、静的重みの回復が必要であるかどうかを
判定する。これが静的重みの回復である場合には、ステ
ップ704で、この処理が図9の論理に継続する。
【0042】図9を参照すると、問合せ800で、ま
ず、クライアント・ノードが障害を発生したかどうかを
判定する。クライアント・ノードが障害を発生した場合
には、ステップ802で、追加の回復が不要である。し
かし、障害を発生したのがクライアント・ノードでな
く、したがって、割振りマネージャが障害を発生した場
合には、ステップ804で静的重みを回復する。一例で
は、静的重みは、クライアント・ノードから得ることま
たは他の使用可能な情報から再構成することによって回
復される。障害を発生しなかったノードは、障害を発生
したノードの回復中であっても、通常道りに割振りを継
続することができる。
【0043】図8に戻って、回復が静的重みでない場合
には、動的重みの回復が仮定される。したがって、問合
せ706で、無状態の動的重みの回復であるかどうかに
関する判定を行う。動的重みの無状態回復である場合に
は、ステップ708で、図10に関して説明するように
回復が進行する。やはり、空きスペースに関する例を説
明するが、この例を、他の動的重みに拡張することがで
きる。
【0044】図10を参照すると、まず、問合せ900
で、障害を発生したのがクライアント・ノードであるか
どうかに関する判定を行う。クライアント・ノードが障
害を発生した場合には、ステップ902で、割振りマネ
ージャが、所有されていない区画の区画所有権情報を検
査し、これらの区画を使用不可としてマークして、その
区画に関連する回復が完了するまでそれの区画がクライ
アント・ノードに割り当てられないようにする(ノード
が障害を発生した時に、そのノードによって所有される
区画が、所有されなくなる)。
【0045】さらに、割振りマネージャは、複数のノー
ドによって所有される区画の区画所有権情報を検査す
る。共用される区画の各々について、ステップ904
で、割振りマネージャが、1つを除くすべての所有者に
所有権取消メッセージを送る。これによって、回復にか
かわるノードの数が最小になる。
【0046】ステップ906で、割振りマネージャは、
毎デバイス空きスペース総計に0をセットし、ステップ
908で、障害を発生していないノードに、そのノード
によって所有される区画の毎デバイス空きスペース・カ
ウントについて尋ねるブロードキャスト・メッセージを
送る。
【0047】このメッセージを受け取った時に、各適当
なクライアント・ノードは、割振りを停止し、そのデル
タ・カウントを0にリセットする。さらに、そのノード
は、所有する区画の各々の毎デバイス空きスペース・カ
ウントを割振りマネージャに返す。その後、そのノード
は、現在所有している区画のスペースの割振りを再開す
ることができる。
【0048】ステップ910で、割振りマネージャが応
答を受け取る時に、ステップ912で、毎デバイス空き
スペース・カウントを、総計に加算する。さらに、ステ
ップ914で、所有されていないすべての区画の空きス
ペースも回復する。これは、割振りマネージャによって
順次行うか、クライアント・ノードの支援を得ることに
よって並列に行うことができる。一例では、無状態実施
形態に、障害を発生したノードによって変更された区画
だけに回復の範囲を定める状態情報が欠けているので、
障害を発生したノードの回復に、毎デバイス空きスペー
ス総計を再構成するための、不揮発性割振りマップの読
み取りを含めることができる。未知の区画の各々が回復
される際に、その区画が、割当の資格を得、使用可能と
してマークされる。これによって、障害を発生したクラ
イアントに関する動的重みの無状態回復が完了する。回
復の完了時に、動的重みの値(例えば総空きスペース)
が、再計算されており、この調整された重みを、上で説
明したように1つまたは複数のファイル・システムに転
送することができる。
【0049】問合せ900に戻って、障害を発生したノ
ードが、割振りマネージャである場合には、ステップ9
18で、新しい割振りマネージャを選択する。一例で
は、新しい割振りマネージャは、最も低いid/アドレ
スを有する障害を発生していないノードにこの機能を割
り当てることによって選択される。
【0050】新たに割り当てられた割振りマネージャ
は、ステップ920で、区画所有権情報を再構築する。
一例では、これは、他のノードが所有する区画に関する
情報をそのノードに要求することによって達成される。
例えば、割振りマネージャは、生き残っているノードに
ブロードキャスト・メッセージを送って、それが所有す
る区画を識別するように求める。その後、回復は、上で
述べたステップ902から進行する。
【0051】図8に戻って、問合せ706で、回復が全
状態機能を用いる動的重みの回復である場合に、回復
は、ステップ710で、図11に関して説明するように
進行する。この例では、全状態実施形態によって維持さ
れる状態によって、障害を発生したノードによって所有
される区画について、障害を発生したノードからの回復
が可能になる。また、障害を発生していないクライアン
ト・ノードが、回復中に割振りを継続することができ
る。
【0052】図11を参照すると、まず、問合せ100
0で、障害を発生したのがクライアント・ノードである
かどうかに関する判定を行う。障害を発生したのがクラ
イアント・ノードである場合には、割振りマネージャ
は、障害を発生したノードによって所有されていた区画
の区画所有権情報を検査する。ステップ1002で、こ
れらの区画を使用不能とマークして、回復が完了するま
で再割り当てされないようにする。
【0053】次に、割振りマネージャは、障害を発生し
たノードによって所有され、1つまたは複数のノードと
共用されている区画の区画所有権情報を検査する。その
ような共用区画の各々について、ステップ1004で、
割振りマネージャが、障害を発生していない所有者のす
べてに所有権取消メッセージを送る。このメッセージを
受け取った時に、クライアントは、区画の所有権を解放
し、区画のデルタ・カウントに0をセットする。
【0054】その後、ステップ1006で、使用不能な
区画の空きスペースを、割振りマネージャによって順次
式にまたは1つまたは複数のクライアント・ノードの支
援を得ることによって並列に、回復する。各区画が回復
される時に、毎デバイス総計および毎デバイス毎区画情
報を更新し、区画を、割当に使用可能としてマークす
る。これによって、障害を発生したクライアント・ノー
ドからの回復が完了する。
【0055】問合せ1000に戻って、障害を発生した
のが割振りマネージャである場合には、回復は、次のよ
うに進行する。まず、ステップ1008で、新しい割振
りマネージャを選択する。一例では、これが、最も低い
id/アドレスを有する障害を発生していないノードに
この機能を割り当てることによって達成される。
【0056】ステップ1010で、新たに割り当てられ
た割振りマネージャが、区画所有権情報を再構築する。
一例では、この情報が、生き残っているノードにそれが
所有する区画について尋ねるブロードキャスト・メッセ
ージを送ることによって構築される。ステップ1012
で、割振りマネージャが、所有されていない区画を使用
不能としてマークして、回復が完了するまでそれらの区
画が割振られないようにする。
【0057】その後、割振りマネージャが、1つまたは
複数のノードによって所有される区画の区画所有権情報
を検査する。共用区画の各々について、ステップ101
4で、割振りマネージャが、1つを除くすべての所有者
に所有権取消メッセージを送る。このメッセージを受け
取った時に、クライアントは、区画の所有権を解放し、
区画のデルタ・カウンタに0をセットする。
【0058】その後、ステップ1016で、割振りマネ
ージャが、ノードにブロードキャスト・メッセージを送
って、それが所有する区画の各々の毎デバイス空きスペ
ース情報を送るように求める。このメッセージを受け取
った時に、クライアントは、区画のデルタ・カウンタを
0にリセットし、毎デバイス空きスペース情報を割振り
マネージャに返す。
【0059】割振りマネージャは、この応答を受け取る
時に、ステップ1018で、毎デバイス毎区画情報なら
びに毎デバイス総計を更新する。
【0060】その後、ステップ1020で、使用不能区
画の空きスペースを、割振りマネージャによって順次式
にまたは1つまたは複数のクライアント・ノードの支援
を得ることによって並列にのいずれかで、回復する。各
区画が回復される時に、毎デバイス総計および毎デバイ
ス毎区画情報を更新し、その区画を、割当に使用可能と
してマークする。これによって、動的重みの全状態回復
が完了する。
【0061】本発明の態様によれば、回復技法(静的重
みおよび動的重みの両方)によって、各デバイスに関連
する目標重み値が維持される。具体的に言うと、一例で
は、各デバイスが、それに関連する目標重みを有する。
静的重み付けの場合には、目標重みが、静的重みと同等
であり、したがって、区別を行う必要はない。しかし、
動的重み付けでは、目標重み(一例では静的である)
が、特定の時点で使用される重みと異なる場合がある。
すなわち、使用される重みが、目標重みが満足されるよ
うに調整されている場合がある。このデバイスの目標重
みの維持は、1つまたは複数のノード(またはファイル
・システム)に障害が発生する場合であっても達成され
る。また、これは、1つまたは複数のストレージ・デバ
イスに障害が発生し、再始動または交換される場合であ
っても維持される。
【0062】上で詳細に説明したのは、複数のファイル
・システムが、重み付き割振りを使用して1つまたは複
数のストレージ・デバイスのスペースを割振ることがで
きるようにする、並列重み付き割振り機能である。スペ
ースは、各デバイスのスペースがそのデバイスに割り当
てられた重みに比例して消費されるように、共用ストレ
ージ・デバイス上で割振られる。これによって、デバイ
スにまたがって割振りを平衡化することができるように
なり、各デバイスの負荷が、そのデバイスに割り当てら
れた重みに比例するようになる。並列環境の場合、各デ
バイスに割り当てられる重みは、その重みを使用してさ
まざまなファイル・システムに分配され、その結果、組
み合わされた割振りが、重みに比例するようになる。さ
らに、ファイル・システムは、重みが変更された時また
は重みを割り当てる技法が変更された時に、最新の状態
に保たれる。
【0063】一例では、異なるファイル・システムが、
さまざまなストレージ・デバイスのスペースを割振るた
めに、異なる割振り技法を使用することができる。一例
では、これは、ストレージ・デバイスをグループにグル
ープ化し、ある割振り技法を使用するファイル・システ
ムが、デバイスの1グループのスペースを割振り、異な
る技法を使用するファイル・システムが、デバイスの異
なるグループのスペースを割振ることによって達成され
る。しかし、別の例では、グループ化が使用されない。
【0064】さらに、さまざまなファイル・システムに
よって得られる重みによって、異なるパラメータを表す
ことができる。例えば、あるファイル・システムが、空
きスペースに基づく重みを得ることができ、別のファイ
ル・システムが、容量に基づく重みを得ることができ
る。やはり、一例では、異なる重み付け技法の使用に対
応するために、ストレージ・デバイスを異なるグループ
にグループ化することができる。しかし、別の例では、
グループ化が使用されない。
【0065】もう1つの例では、割振り方針を、さまざ
まなレベルで設定することができる。具体的に言うと、
1つまたは複数のストライプ順序を生成し、ストレージ
・デバイスにまたがるスペースの割振りに使用すること
ができる。例として、あるストライプ順序を、あるファ
イル・システムのすべての割振りに使用することがで
き、別の例では、ストレージ・デバイスをグループに区
分し、グループごとにストライプ順序を生成し、使用す
ることができ、もう1つの実施形態では、そのためにス
ペースが割振られることになるファイルの各々について
ストライプ順序が生成される。したがって、最後の例で
は、あるストライプ順序を使用して、あるファイルのた
めのスペースを割振ることができ、別のストライプ順序
(同一または異なる)を使用して、別のファイルのため
のスペースを割振ることができる。上のシナリオのどれ
であっても、ストライプ順序は、上で説明したように生
成される。
【0066】重み付き割振りは、割振り方針を決定する
ために重みに依存するが、割振り技法自体は、各デバイ
スに割り当てられる実際の重みと無関係である。重み
は、必要または望みに応じて、各デバイスの負荷を調整
するために、いつでも変更することができる。さらに、
重みを割り当てる技法を、いつでも変更することができ
る。これによって、割振り方針を動的に設定し、調整し
て、システムの現在の要件に合わせることが可能にな
る。さらに、割振り方針の変更は、ファイル・システム
の再始動なしで行うことができる。
【0067】デバイスに割り当てられる重みは、異なる
値を表すか異なる動作パラメータを表す(例えば、容
量、空きスペース、入出力スループット、ラウンドロビ
ン、ハイブリッド)ために動的に変更することができ
る。さらに、重み付け割当技法が、割振り技法を知る必
要はない。さらに、割振り技法は、ビデオ・ストリーム
および一般データ・ストリームを含むさまざまなデータ
・ストリームに適応することができる。これは、割振り
技法が、データ・ストリームの長さまたはこれらのデー
タ・ストリームのアクセス・パターンを先験的に知ら
ず、知る必要がないからである。
【0068】本発明の割振り機能は、重みに従って、複
数の異種ストレージ・デバイスにまたがるストライピン
グを行うこともできる。すなわち、ストレージ・デバイ
スは、異なるサイズ、異なる容量、または異なる速度を
有するものとすることができる。これらの異種デバイス
を使用することができ、その使用効率を最大にすること
ができる。例えば、ストレージ使用量を最大にするか、
スループットを最大にすることができる。
【0069】さらに、本発明の割振り機能は、並列ファ
イル環境での不平衡を自動的に補償することができる。
そのような不平衡は、システムへのデバイスの追加、シ
ステムからのデバイスの取外し、または他の理由によっ
て引き起こされる可能性がある。環境の再平衡化は、必
ずしも既にストライプ化されたスペースを再ストライプ
化せずに実行される。一例では、再平衡化が、新しい重
み、異なる重み、または追加の重みを得ることと、割振
り技法を使用してこれらの重みに基づいてスペースを割
振ることによって達成される。
【0070】上で述べた計算環境は、1つの例としての
み提供される。本発明の1つまたは複数の態様を、本発
明の趣旨から逸脱せずに、多数のタイプの計算ユニッ
ト、コンピュータ、プロセッサ、ノード、システム、ワ
ークステーション、または環境に組み込み、これらと共
に使用することができる。
【0071】上で説明したさまざまな実施形態では、情
報の受取、情報の提供、またはなんらかのタスクの実行
を行うノードを参照した。しかし、ノードに複数のファ
イル・システムが含まれる場合に、そのノード上のこれ
らのファイル・システムのうちの1つまたは複数が、こ
れらのアクションを実行することができる。
【0072】本発明は、例えばコンピュータ使用可能媒
体を有する、製造品(例えば1つまたは複数のコンピュ
ータ・プログラム製品)に含めることができる。媒体
は、例えば本発明の諸機能を提供し、促進するためのコ
ンピュータ可読プログラム・コード手段がその中に組み
込まれる。製造品は、コンピュータ・システムの一部と
して含めるか、別々に販売することができる。
【0073】さらに、本発明の諸機能を実行するために
計算機によって実行可能な少なくとも1つの命令のプロ
グラムを有形に組み込む、計算機によって読み取り可能
な少なくとも1つのプログラム記憶装置を提供すること
ができる。
【0074】本明細書に記載の流れ図は、例にすぎな
い。本発明の趣旨から逸脱しない、本明細書に記載のこ
れらの図またはステップ(または動作)に対するさまざ
まな変形形態が存在し得る。例えば、ステップを、異な
る順序で実行するか、ステップを、追加、削除、または
変更することができる。これらの変形形態のすべてが、
請求される発明の一部とみなされる。
【0075】まとめとして、本発明の構成に関して以下
の事項を開示する。
【0076】(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つまたは複数のスト
レージ・デバイス上のスペースを割振るように、前記割
振りを複数のファイル・システムによって実行するため
のプログラムを記憶した、プログラム記憶媒体。
【図面の簡単な説明】
【図1】本発明の1つまたは複数の態様が組み込まれ、
使用される計算環境の一例を示す。
【図2】本発明の態様による、図1のノードをさらに詳
細に示す。
【図3】本発明の態様による、各区画が0個以上のノー
ドによって所有される、複数の区画に区分されるストレ
ージ・デバイスの例を示す。
【図4】本発明の態様による、各ストレージ・デバイス
に関連するさまざまな統計の例を示す。
【図5】本発明の態様による、並列重み付き割振り技法
に関連する論理の実施形態を示す。
【図6】本発明の態様による、図5の初期化アクション
に関連する論理の実施形態を示す。
【図7】本発明の態様による、図5の追跡および分配ア
クションに関連する論理の実施形態を示す。
【図8】本発明の態様による、図5のノード障害および
回復アクションに関連する論理の実施形態を示す。
【図9】本発明の態様による、静的重みの回復に関連す
る論理の実施形態を示す。
【図10】本発明の態様による、動的重みの無状態回復
に関連する論理の実施形態を示す。
【図11】本発明の態様による、動的重みの全状態回復
に関連する論理の実施形態を示す。
【符号の説明】
100 計算環境 102 ノード 104 ストレージ・デバイス 106 相互接続 200 オペレーティング・システム 202 ファイル・システム 300 ストレージ・デバイス 302a 区画 302b 区画 302c 区画 302d 区画 312 毎デバイス総計 314 毎区画情報 316 所有者 318 毎デバイス毎区画カウンタ 400 初期化のステップ 402 重みの追跡および分配のステップ 404 ノード障害および回復のステップ
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ウェイン・エイ・ソードン アメリカ合衆国95119 カリフォルニア州 サン・ノゼ サン・アンセルモ・ウェイ 6362 (72)発明者 ロジャー・ハスキン アメリカ合衆国95037 カリフォルニア州 モルガン・ヒル スツルゼンバーグ・コー ト 13585 (72)発明者 フランク・ビー・シュマック アメリカ合衆国95008 カリフォルニア州 キャンベル ユニオン・アベニュー 406 −エイ (72)発明者 ジェームス・シー・ウィリー アメリカ合衆国95030 カリフォルニア州 モンテ・セレノ チャドボーン・レーン 18392 Fターム(参考) 5B065 BA01 CC03 5B082 CA18

Claims (50)

    【特許請求の範囲】
  1. 【請求項1】計算環境のストレージ・デバイス上でのス
    ペースの割振りを管理する方法であって、 前記計算環境の1つまたは複数のストレージ・デバイス
    の1つまたは複数の重みを得るステップと、 前記1つまたは複数のストレージ・デバイスの少なくと
    も1つのストレージ・デバイスについて得られた少なく
    とも1つの重みに比例して、前記少なくとも1つのスト
    レージ・デバイス上のスペースを割振るステップとを含
    み、前記割振りが、前記計算環境の複数のファイル・シ
    ステムによって実行される、 方法。
  2. 【請求項2】前記複数のファイル・システムの各々が、
    前記計算環境の別々のノード上に配置される、請求項1
    に記載の方法。
  3. 【請求項3】前記複数のファイル・システムが、前記計
    算環境の1つまたは複数のノード上に配置される、請求
    項1に記載の方法。
  4. 【請求項4】前記割振るステップが、前記複数のファイ
    ル・システムの各ファイル・システムによって割振り技
    法を実行するステップを含み、前記複数のファイル・シ
    ステムの少なくとも1つのファイル・システムが、前記
    複数のファイル・システムの少なくとも1つの他のファ
    イル・システムと異なる割振り技法を実行する、請求項
    1に記載の方法。
  5. 【請求項5】前記少なくとも1つのストレージ・デバイ
    スの各ストレージ・デバイスが、複数の区画に区分さ
    れ、各ストレージ・デバイスの1つまたは複数の区画
    が、前記複数のファイル・システムの1つまたは複数の
    ファイル・システムによって所有される、請求項1に記
    載の方法。
  6. 【請求項6】前記割振るステップが、複数のファイル・
    システムによって複数のストレージ・デバイス上のスペ
    ースを割振るステップを含み、前記複数のファイル・シ
    ステムの各ファイル・システムが、前記複数のストレー
    ジ・デバイスの1つまたは複数のストレージ・デバイス
    上でスペースを割振る、請求項1に記載の方法。
  7. 【請求項7】前記得るステップが、前記1つまたは複数
    の重みを得るために少なくとも割振りマネージャを使用
    するステップを含む、請求項1に記載の方法。
  8. 【請求項8】前記使用するステップが、前記1つまたは
    複数の重みを得るために前記割振りマネージャおよび前
    記計算環境の少なくとも1つのノードを使用するステッ
    プを含む、請求項7に記載の方法。
  9. 【請求項9】前記1つまたは複数の重みが、前記計算環
    境の少なくとも1つのパラメータを表す、請求項1に記
    載の方法。
  10. 【請求項10】前記割振るステップが、前記1つまたは
    複数の重みを得るステップと無関係である、請求項1に
    記載の方法。
  11. 【請求項11】前記1つまたは複数のストレージ・デバ
    イスの少なくとも1つのストレージ・デバイスが、前記
    1つまたは複数のストレージ・デバイスの少なくとも1
    つの他のストレージ・デバイスと異なる1つまたは複数
    の特性を有する、請求項1に記載の方法。
  12. 【請求項12】前記少なくとも1つの重みを、前記複数
    のファイル・システムの少なくとも1つのファイル・シ
    ステムに伝搬するステップをさらに含む、請求項1に記
    載の方法。
  13. 【請求項13】前記1つまたは複数の重みの少なくとも
    1つの重みに関連する変化を追跡するステップと、 前記追跡された変化に基づいて前記少なくとも1つの重
    みを調整するステップと、 前記少なくとも1つの調整された重みを前記計算環境の
    ファイル・システムに伝搬するステップとをさらに含
    み、前記少なくとも1つの調整された重みが、少なくと
    も1つのストレージ・デバイス上でのスペースの割振り
    に使用可能である、 請求項1に記載の方法。
  14. 【請求項14】前記追跡するステップが、前記ファイル
    ・システムによって実行される、請求項13に記載の方
    法。
  15. 【請求項15】前記追跡するステップが、複数のファイ
    ル・システムによって実行され、前記伝搬するステップ
    が、前記少なくとも1つの調整された重みを、前記追跡
    を実行する前記複数のファイル・システムに伝搬するス
    テップを含む、請求項13に記載の方法。
  16. 【請求項16】事前定義のイベント時に、前記追跡され
    た変化について割振りマネージャに知らせるステップを
    さらに含み、前記割振りマネージャが、前記調整するス
    テップおよび伝搬するステップを実行する、請求項13
    に記載の方法。
  17. 【請求項17】前記複数のファイル・システムに、前記
    少なくとも1つの重みの変化について知らせるステップ
    をさらに含み、前記変化が、スペースのさらなる割振り
    に使用可能である、請求項1に記載の方法。
  18. 【請求項18】前記計算環境のファイル・システムの障
    害に応答して、前記1つまたは複数の重みの少なくとも
    1つの重みを調整するステップをさらに含む、請求項1
    に記載の方法。
  19. 【請求項19】前記調整するステップが、 前記少なくとも1つの重みを調整するために、前記計算
    環境の少なくとも1つの他のファイル・システムによっ
    て提供される情報を使用するステップと、 前記少なくとも1つの重みを調整するために、前記少な
    くとも1つの重みに関連する少なくとも1つのストレー
    ジ・デバイスを読み取ることから得られる情報を使用す
    るステップとの少なくとも1つを含む、請求項18に記
    載の方法。
  20. 【請求項20】前記計算環境のファイル・システムの障
    害に応答して、前記1つまたは複数の重みの少なくとも
    1つの重みを維持するステップをさらに含む、請求項1
    に記載の方法。
  21. 【請求項21】前記複数のファイル・システムの1つの
    ファイル・システムが、所与のファイルのために前記少
    なくとも1つのストレージ・デバイス上のスペースを割
    振り、その所与のファイルのための前記割振りが、前記
    少なくとも1つの重みを使用する割振り方針に基づく、
    請求項1に記載の方法。
  22. 【請求項22】前記1つのファイル・システムが、別の
    ファイルのために1つまたは複数のストレージ・デバイ
    ス上のスペースを割振り、その別のファイルのための前
    記割振りが、前記1つまたは複数のストレージ・デバイ
    スに関連する1つまたは複数の重みを使用する別の割振
    り方針に基づく、請求項21に記載の方法。
  23. 【請求項23】計算環境のストレージ・デバイス上のス
    ペースの割振りを管理する方法であって、 前記計算環境の複数のストレージ・デバイスの少なくと
    もストレージ・デバイスのサブセットの各ストレージ・
    デバイスのための重みを得るステップと、 前記少なくともストレージ・デバイスのサブセットの各
    ストレージ・デバイスに割り当てられた前記重みに比例
    して、前記ストレージ・デバイス上のスペースを割振る
    ステップとを含み、前記複数のファイル・システムの各
    ファイル・システムが、前記少なくともストレージ・デ
    バイスのサブセットの1つまたは複数のストレージ・デ
    バイス上のスペースを割振るように、前記割振りが、複
    数のファイル・システムによって実行される、 方法。
  24. 【請求項24】計算環境のストレージ・デバイス上での
    スペースの割振りを管理するシステムであって、 前記計算環境の1つまたは複数のストレージ・デバイス
    の1つまたは複数の重みを得るための手段と、 前記1つまたは複数のストレージ・デバイスの少なくと
    も1つのストレージ・デバイスについて得られた少なく
    とも1つの重みに比例して、前記少なくとも1つのスト
    レージ・デバイス上のスペースを、前記計算環境の複数
    のファイル・システムによって割振るための手段とを含
    むシステム。
  25. 【請求項25】前記複数のファイル・システムの各々
    が、前記計算環境の別々のノード上に配置される、請求
    項24に記載のシステム。
  26. 【請求項26】前記複数のファイル・システムが、前記
    計算環境の1つまたは複数のノード上に配置される、請
    求項24に記載のシステム。
  27. 【請求項27】前記割振るための手段が、前記複数のフ
    ァイル・システムの各ファイル・システムによって割振
    り技法を実行するための手段を含み、前記複数のファイ
    ル・システムの少なくとも1つのファイル・システム
    が、前記複数のファイル・システムの少なくとも1つの
    他のファイル・システムと異なる割振り技法を実行す
    る、請求項24に記載のシステム。
  28. 【請求項28】前記少なくとも1つのストレージ・デバ
    イスの各ストレージ・デバイスが、複数の区画に区分さ
    れ、各ストレージ・デバイスの1つまたは複数の区画
    が、前記複数のファイル・システムの1つまたは複数の
    ファイル・システムによって所有される、請求項24に
    記載のシステム。
  29. 【請求項29】前記割振るための手段が、複数のファイ
    ル・システムによって複数のストレージ・デバイス上の
    スペースを割振るための手段を含み、前記複数のファイ
    ル・システムの各ファイル・システムが、前記複数のス
    トレージ・デバイスの1つまたは複数のストレージ・デ
    バイス上でスペースを割振る、請求項24に記載のシス
    テム。
  30. 【請求項30】前記得るための手段が、前記1つまたは
    複数の重みを得るために少なくとも割振りマネージャを
    使用するための手段を含む、請求項24に記載のシステ
    ム。
  31. 【請求項31】前記使用するための手段が、前記1つま
    たは複数の重みを得るために前記割振りマネージャおよ
    び前記計算環境の少なくとも1つのノードを使用するた
    めの手段を含む、請求項30に記載のシステム。
  32. 【請求項32】前記1つまたは複数の重みが、前記計算
    環境の少なくとも1つのパラメータを表す、請求項24
    に記載のシステム。
  33. 【請求項33】前記割振るための手段が、前記1つまた
    は複数の重みを得るための手段と無関係である、請求項
    24に記載のシステム。
  34. 【請求項34】前記1つまたは複数のストレージ・デバ
    イスの少なくとも1つのストレージ・デバイスが、前記
    1つまたは複数のストレージ・デバイスの少なくとも1
    つの他のストレージ・デバイスと異なる1つまたは複数
    の特性を有する、請求項24に記載のシステム。
  35. 【請求項35】前記少なくとも1つの重みを、前記複数
    のファイル・システムの少なくとも1つのファイル・シ
    ステムに伝搬するための手段をさらに含む、請求項24
    に記載のシステム。
  36. 【請求項36】前記1つまたは複数の重みの少なくとも
    1つの重みに関連する変化を追跡するための手段と、 前記追跡された変化に基づいて前記少なくとも1つの重
    みを調整するための手段と、 前記少なくとも1つの調整された重みを前記計算環境の
    ファイル・システムに伝搬するための手段とをさらに含
    み、前記少なくとも1つの調整された重みが、少なくと
    も1つのストレージ・デバイス上でのスペースの割振り
    に使用可能である、 請求項24に記載のシステム。
  37. 【請求項37】前記追跡するための手段が、前記ファイ
    ル・システムによって追跡するための手段を含む、請求
    項36に記載のシステム。
  38. 【請求項38】前記追跡するための手段が、複数のファ
    イル・システムによって追跡するための手段を含み、前
    記伝搬するための手段が、前記少なくとも1つの調整さ
    れた重みを、前記追跡に使用する複数のファイル・シス
    テムに伝搬するための手段を含む、請求項36に記載の
    システム。
  39. 【請求項39】事前定義のイベント時に、前記追跡され
    た変化について割振りマネージャに知らせるための手段
    をさらに含み、前記割振りマネージャが、前記調整およ
    び伝搬を実行する、請求項36に記載のシステム。
  40. 【請求項40】前記複数のファイル・システムに、前記
    少なくとも1つの重みの変化について知らせるための手
    段をさらに含み、前記変化が、スペースのさらなる割振
    りに使用可能である、請求項24に記載のシステム。
  41. 【請求項41】前記計算環境のファイル・システムの障
    害に応答して、前記1つまたは複数の重みの少なくとも
    1つの重みを調整するための手段をさらに含む、請求項
    24に記載のシステム。
  42. 【請求項42】前記調整するための手段が、 前記少なくとも1つの重みを調整するために、前記計算
    環境の少なくとも1つの他のファイル・システムによっ
    て提供される情報を使用するための手段と、 前記少なくとも1つの重みを調整するために、前記少な
    くとも1つの重みに関連する少なくとも1つのストレー
    ジ・デバイスを読み取ることから得られる情報を使用す
    るための手段との少なくとも1つを含む、請求項41に
    記載のシステム。
  43. 【請求項43】前記計算環境のファイル・システムの障
    害に応答して、前記1つまたは複数の重みの少なくとも
    1つの重みを維持するための手段をさらに含む、請求項
    24に記載のシステム。
  44. 【請求項44】前記複数のファイル・システムの1つの
    ファイル・システムが、所与のファイルのために前記少
    なくとも1つのストレージ・デバイス上のスペースを割
    振り、その所与のファイルのための前記割振りが、前記
    少なくとも1つの重みを使用する割振り方針に基づく、
    請求項24に記載のシステム。
  45. 【請求項45】前記1つのファイル・システムが、別の
    ファイルのために1つまたは複数のストレージ・デバイ
    ス上のスペースを割振り、その別のファイルのための前
    記割振りが、前記1つまたは複数のストレージ・デバイ
    スに関連する1つまたは複数の重みを使用する別の割振
    り方針に基づく、請求項44に記載のシステム。
  46. 【請求項46】計算環境のストレージ・デバイス上のス
    ペースの割振りを管理するシステムであって、 前記計算環境の複数のストレージ・デバイスの少なくと
    もストレージ・デバイスのサブセットの各ストレージ・
    デバイスのための重みを得るための手段と、 前記少なくともストレージ・デバイスのサブセットの各
    ストレージ・デバイスに割り当てられた前記重みに比例
    して、前記ストレージ・デバイス上のスペースを割振る
    ように適合された複数のファイル・システムとを含み、
    前記複数のファイル・システムの各ファイル・システム
    が、前記少なくともストレージ・デバイスのサブセット
    の1つまたは複数のストレージ・デバイス上のスペース
    を割振る、 システム。
  47. 【請求項47】計算環境のストレージ・デバイス上での
    スペースの割振りを管理するシステムであって、 前記計算環境の1つまたは複数のストレージ・デバイス
    の1つまたは複数の重みを得るように適合された少なく
    とも1つのノードと、 前記1つまたは複数のストレージ・デバイスの少なくと
    も1つのストレージ・デバイスについて得られた少なく
    とも1つの重みに比例して、前記少なくとも1つのスト
    レージ・デバイス上のスペースを割振るように適合され
    た複数のノードとを含む、システム。
  48. 【請求項48】前記複数のノードが、前記少なくとも1
    つのノードを含む、請求項47に記載のシステム。
  49. 【請求項49】請求項1ないし22のいずれかに記載の
    方法を実行するためのプログラムを記憶した、プログラ
    ム記憶媒体。
  50. 【請求項50】計算環境のストレージ・デバイス上のス
    ペースの割振りを管理する方法を実行するために、実行
    可能な少なくとも1つの命令のプログラムを有形に組み
    込む、計算機によって読み取り可能な少なくとも1つの
    プログラム記憶媒体であって、 前記計算環境の複数のストレージ・デバイスの少なくと
    もストレージ・デバイスのサブセットの各ストレージ・
    デバイスのための重みを得るステップと、 前記少なくともストレージ・デバイスのサブセットの各
    ストレージ・デバイスに割り当てられた前記重みに比例
    して、前記ストレージ・デバイス上のスペースを割振る
    ステップとを含み、前記複数のファイル・システムの各
    ファイル・システムが、前記少なくともストレージ・デ
    バイスのサブセットの1つまたは複数のストレージ・デ
    バイス上のスペースを割振るように、前記割振りを複数
    のファイル・システムによって実行するためのプログラ
    ムを記憶した、 プログラム記憶媒体。
JP2001216805A 2000-07-18 2001-07-17 ストレージ・デバイス上でのスペースの割振りを管理する方法、システム、およびプログラム記憶媒体 Expired - Lifetime JP3859994B2 (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Cited By (8)

* Cited by examiner, † Cited by third party
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