(57)【特許請求の範囲】
【請求項１】
複数のマルチメディアクライアントを備えたネットワーク上で情報を伝送するように動作する、マルチメディア記憶システムのためのファイルシステムであって、上記ネットワークは利用可能なネットワーク帯域幅を有し、
上記ファイルシステムは、
上記ネットワークに接続され、少なくとも１つのファイルを記憶しかつ検索し、利用可能なディスク帯域幅を有する少なくとも１つのネットワーク記憶装置と、
上記少なくとも１つのネットワーク記憶装置に関連付けられ、上記少なくとも１つのファイルに関連したファイル保守手順を管理するディスクマネージャとを備え、
上記ディスクマネージャは、
選択されたファイルに対するファイル動作のための、上記複数のマルチメディアクライアントのうちの１つからのファイル要求に応答して、ディスク帯域幅要求及びネットワーク帯域幅要求を送信するように動作するアドミションコントローラと、
上記アドミションコントローラからのディスク帯域幅要求に応答して上記利用可能なディスク帯域幅を決定するように動作するディスク状態決定部とを含み、
上記ファイルシステムは、
上記ネットワークに関連付けられかつネットワークサービスを提供するネットワークマネージャを備え、上記ネットワークマネージャはネットワーク状態決定部を含み、上記ネットワーク状態決定部は、上記アドミションコントローラにアクセスし、上記アドミションコントローラからのネットワーク帯域幅要求に応答して上記利用可能なネットワーク帯域幅を決定するように動作し、
上記アドミションコントローラは、上記ディスク状態決定部によって決定された上記利用可能なディスク帯域幅と、上記ネットワーク状態決定部によって決定された上記利用可能なネットワーク帯域幅とに基づいて、上記ファイル要求のアドミションを制御するように動作することを特徴とするファイルシステム。
【請求項２】
上記複数のマルチメディアクライアントにアクセスし、上記選択されたファイルに対するディスク位置を提供するファイルロケータテーブルをさらに備えたことを特徴とする請求項１記載のファイルシステム。
【請求項３】
上記複数のマルチメディアクライアントにアクセスし、上記ディスクマネージャに対する位置を提供するディスクマネージャロケータテーブルをさらに備えたことを特徴とする請求項１記載のファイルシステム。
【請求項４】
上記ディスクマネージャは、上記複数のマルチメディアクライアントのうちの１つよりも多くが上記選択されたファイルに同時に書き込むことを防止するように動作する書き込みロックマネージャをさらに含むことを特徴とする請求項１記載のファイルシステム。
【請求項５】
上記書き込みロックマネージャは、上記選択されたファイルに対する書き込み要求が先入れ先出しの基準でサービスされるように、上記書き込み要求を記憶する書き込み循環バッファを含むことを特徴とする請求項４記載のファイルシステム。
【請求項６】
上記書き込みロックマネージャは、上記選択されたファイルに対する読み出し要求が先入れ先出しの基準でサービスされるように、上記読み出し要求を記憶する読み出し循環バッファを含むことを特徴とする請求項４記載のファイルシステム。
【請求項７】
複数のマルチメディアクライアントを備えたネットワーク上で情報を伝送するように動作する、マルチメディア記憶システムのためのファイルシステムであって、上記ネットワークは利用可能なネットワーク帯域幅を有し、
上記ファイルシステムは、
上記ネットワークに接続され、クラスタを定義する複数のネットワーク構成要素を備え、
上記クラスタは、
上記ネットワークに接続され、上記クラスタに関連付けられた上記複数のネットワーク構成要素を管理するクラスタマネージャを備え、
上記クラスタマネージャは、
選択されたファイルに対するファイル動作のための、上記複数のマルチメディアクライアントのうちの１つからのファイル要求に応答して、ディスク帯域幅要求及びネットワーク帯域幅要求を送信するように動作するアドミションコントローラと、
上記アドミションコントローラにアクセスし、上記アドミションコントローラからのネットワーク帯域幅要求に応答して上記利用可能なネットワーク帯域幅を決定するように動作するネットワーク状態決定部とを備え、
上記クラスタは、
上記ネットワークに接続され、少なくとも１つのファイルを記憶しかつ検索し、利用可能なディスク帯域幅を有するネットワーク記憶装置と、
上記クラスタに関連付けられたネットワーク構成要素上に存在し、上記少なくとも１つのファイルに関連したファイル保守手順を管理し、ディスク状態決定部を含む少なくとも１つのディスクマネージャとを備え、上記ディスク状態決定部は、上記アドミションコントローラからのディスク帯域幅要求に応答して上記利用可能なディスク帯域幅を決定するように動作し、
上記アドミションコントローラは、上記ディスク状態決定部によって決定された上記利用可能なディスク帯域幅と、上記ネットワーク状態決定部によって決定された上記利用可能なネットワーク帯域幅とに基づいて、上記ファイル要求のアドミションを制御するように動作することを特徴とするファイルシステム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は一般にマルチメディアデータの記憶のためのファイルシステムに関する。特に、本発明は、リアルタイム又は大容量要求（high volume requirement）のいずれかでデータを記憶しかつ検索することに用いることができ、安価で、スケーラブルな、オープンアーキテクチャのファイルシステムに関する。
【０００２】
【従来の技術】
ネットワーキングおよび記憶装置の技術における最近の発展、および拡大するマルチメディアアプリケーションに対して、マルチメディアデータの改良された記憶及び検索手段を提供することについての関心が増大している。通信教育及びトレーニング、マルチメディアの娯楽、ニュースの編集及び配信、ホテル及び企業におけるビデオ・オン・デマンドのサービス、マルチメディア通信、及びコマーシャルは、改良された記憶及び検索プロセスから利益を得ることが期待されているアプリケーションのうちのいくつかである。マルチメディアデータのタイプは、テキスト及び画像と同じく、さまざまなフォーマットにおける音声及び動画を含む。
【０００３】
データタイプの特性の本質的な違いのために、マルチメディアデータの記憶及び検索に対して、伝統的なテキスト及び数字のデータと比較して増大した拘束条件がかけられた。テキストデータとは異なり、連続的なメディアとして知られているマルチメディアの音声及び動画のデータは、時間的に近接又は連続して再生されたときのみ知覚できる。それに加えて、連続的なメディアのデータは通常大量の記憶空間を要求し、サーバに対して厳しい帯域幅要求をする。一般に、従来のシステムは、システムのサイズが増大することによって引き起こされた増大する帯域幅要求に応じることについて典型的にはあまりスケーラブルでない、集中化されたサーバのアプローチを用いている。
【０００４】
【発明が解決しようとする課題】
ゆえに、高速ネットワークによって複数のクライアントがネットワークに接続された記憶システムに相互に接続されている、マルチメディアアプリケーションのためのファイルシステムを提供することが望ましい。それに加えて、ファイルシステムが、サーバを持たないシステム、又はシステム管理の負荷がすべてのサーバにわたって共有される分散型のサーバと共に用いることに適応できることが望ましい。また、ファイルシステムが、実装の単純さと同様に、性能についてもスケーラブルであることが望ましい。それに加えて、ファイルシステムがリアルタイムではないデータオブジェクトと同様にリアルタイムデータの動作をサポートすることが望ましい。それに加えて、システムが、ファイルセキュリティーを提供し、障害が発生したときに段階的に機能低下（gracefully degrade）することが望ましい。
【０００５】
【課題を解決するための手段】
本発明は、ネットワーク上でマルチメディアクライアントとネットワーク記憶装置との間で情報を通信するための、マルチメディアファイルシステムを提供する。上記ファイルシステムは、各ネットワーク記憶装置に対して、１つのクラスタマネージャと少なくとも１つのファイルマネージャとを備えたクラスタを含む。クライアント上に位置するクラスタマネージャは、選択されたファイルに対するファイル動作のための、クライアントからのリクエストのアドミションを制御するためのアドミションコントローラを含む。上記アドミションコントローラからのネットワークの帯域幅要求は、クラスタマネージャに含まれるネットワーク状態決定部（network status determiner）によって応答される。上記ネットワーク状態決定部は利用可能なネットワークの帯域幅を決定する。各ファイルマネージャは複数のクライアントのうちの１つに位置する。上記ファイルマネージャは、ネットワーク記憶装置上に位置する対応するファイルのファイル保守手順を管理する。各ファイルマネージャは、利用可能なディスクの帯域幅を決定するためのディスク状態決定部（disk status determiner）を含む。上記ディスク状態決定部は、アドミションコントローラからの要求に応答する。
【０００６】
本発明、その目的及び利点のより完全な理解のために、以下の明細書と添付の図とを参照する。
【発明の実施の形態】
【０００７】
図１Ａを参照すると、ネットワーク１６を介して複数のクライアント１４にサービスを供給する、サーバに接続された記憶装置１２のための従来型のファイルシステム１０が図示されている。集中化されたサーバ１８は、内部制御ネットワーク（inner control network）２０上に位置された複数の記憶装置１２への複数のクライアント１４によるアクセスを制御する。集中化されたサーバ１８は、他のすべてのファイルアクセス、読み出し／書き込み動作、及びセキュリティーの問題と同様にアドミション処理を制御する単一の専用ノードである。すべての読み出し／書き込み動作は集中化されたサーバによって承認され、かつ扱われる。このように、ファイルシステム１０の実装は単純で、データ完全性を保持するために必要とされるネットワークの帯域幅は狭い。また、集中化された制御のために、容易にファイルのセキュリティーを強化することができる。しかしながら、集中化されたサーバのアプローチはスケーラビリティーの問題と、フォールトトレランスの問題によって制限されている。クライアントの数が増大するとき、サーバの帯域幅に対する増大する要求が増大する数のファイル動作の要求をサービスさせ、スケーラビリティーが問題となる。また、集中化されたサーバは、システムの中断を引き起こす単一の点の障害（single point failure）のためのポテンシャルサイトである。サーバの障害はすべてのクライアントに対して一斉に不利な効果を持つ。サーバのミラーを保持することができるが、サーバが障害を起こしたときに段階的な機能低下をしない。そのかわりに、サーバのミラーが機能的になる前に、サーバの動作の一時的な停止が存在する。
【０００８】
図１Ｂを参照すると、本発明の原理に基づいて構成された分散型サーバファイルシステム３０の１つの実施形態が図示されている。ファイルシステム３０において、指定された複数のネットワークノードの集合が、サーバの負荷及び機能を共有している。このように負荷を複数のサーバ上に分散することで、システムのスケーラビリティーを可能にする。スケーラビリティーは、クライアントの数が増大したときに、付加的なサーバを用いることによって達成される。分散型サーバファイルシステム３０において、単一の点による障害は存在しない。障害が発生したとき、故障したサーバの負荷は他の複数のサーバにシームレスに移されることで、システムは段階的な機能低下をする。いかなる場合においても、サーバの障害は、複数のクライアントのうちのサブセットにのみ影響する。増大した数のノードがサーバとして動作しているとき、セキュリティーのレベルは集中化されたサーバのときよりも低くなっている。それに加えて、すべてのサーバにわたって一貫した情報を保守することと同様に、資源を共有することは、制御アルゴリズムの実装を要求する。
【０００９】
ファイルシステム３０のさまざまな装置は、通信の基礎構造を提供するネットワーク３２によって、互いに接続されている。本実施形態において、ファイバーチャネルネットワークがネットワーク３２のために用いられるが、イーサネットやＳＣＳＩのような他のネットワークを用いることは本発明の範囲内のことである。音声データファイル、動画データファイル及び動画データオブジェクトのようなマルチメディアファイルを記憶し、かつ供給するために、複数の記憶装置３４はネットワークに接続されている。本発明の範囲内にある記憶装置の例は、単一のディスク、又は１つのファイルがストリップ化されているディスクの集合のような複数の論理的ディスクを含む。複数の記憶装置３４と、上記記憶装置上のさまざまなマルチメディアファイルとへのアクセスを取得するために、複数のクライアント３６はネットワーク３０に接続されている。他のすべてのファイルアクセス、ファイルの読み出し／書き込み動作、及びファイルのセキュリティーの問題と同様に、複数のクライアント３６のアドミション処理を制御するために、１つ又は複数のサーバ３８はネットワーク３２に接続されている。図１Ｂに専用サーバ３８が図示されているが、本発明の範囲は、複数のクライアント３６や記憶装置３４のような他のネットワークデバイスに、サーバ３８の機能を分散することを含んでいる。
【００１０】
ネットワークに接続された記憶装置３４を用いる分散型ファイルシステムを有することにより、２つの主要な性能の利点が存在する。第１に、単純な、データ集中化動作（data intensive operations）はサーバ３８からオフロードされ、従ってサーバ３８によってより多くの数量のクライアント３６をサポートすることができる。第２に、ファイルアクセス計算と、ネットワーク転送帯域幅とを各記憶装置３４に接続することによって、総転送帯域幅は（サーバメモリ及びネットワーク帯域幅よりはむしろ）記憶装置３４に対してスケーラブルである。それに加えて、サーバ３８を介して蓄積転送でデータをコピーする必要が無い。
【００１１】
サーバの機能
マルチメディアサービス環境を管理することについて、サーバ３８が潜在的に責任を果たしうるいくつかのタスクが存在する。上記タスクは、ディスク帯域幅管理、ネットワーク帯域幅管理、ファイルロック管理、セキュリティーの問題、フリーリスト管理、フォールトトレランス、メタデータ管理、及びスケジューリングを含む。上記ディスク帯域幅管理は、利用可能な記憶装置の帯域幅と、アドミション制御を完了させるために要求された帯域幅とをチェックすることを含む負荷の軽い動作である。上記ネットワーク帯域幅管理のタスクも負荷の軽い動作であり、そこにおいてサーバ３８はアドミション制御を実行する間のネットワーク帯域幅の利用可能度をチェックする。ファイルロック管理は、データ完全性を保持するためにファイルの読み出し／書き込みのロックを保持することと、応答の無いクライアントからファイルのロックを解放することとを含む。書き込みロックは、一度にただ１つのクライアントがあるファイルを修正することが許可されていることを確立する。読み出しロックは、データがクライアント３６によって読み出しのためにキャッシュされた後で、クライアント３６にデータにおける変化について通知するために用いられる。複数の読み出しロックはサーバ３８に大きな負荷を与える。システム３０のためのセキュリティータスクは、あるクライアントに対して選択されたファイルへのアクセスを制限することを含む、サーバ３８への大きな負荷である。複数のサーバのフリーリスト管理のタスクは、複数の記憶装置３４上への書き込み動作の割り当てのために利用可能な複数のブロックのフリーリストを管理することを含む。書き込み要求アドミションの後で、サーバ３８は書き込みの許可を要求したクライアント３６に複数のフリーブロックのアドレスを提供する。フリーリスト管理は大きな負荷である。フォールトトレランスのタスクは記憶装置のミラーリングを含み、他の障害回復技術と同様に複数のファイルを制御する。障害への好ましい応答は、システムの性能の段階的な機能低下を含むが、バックアップユニットがオンラインになるまでのシステムの動作の一時的なシャットダウンもまた効果的な動作オプションである。フォールトトレランスの技術はどちらもサーバに大きな負荷をかける。メタデータ管理は、サーバを持たないファイルシステムのアプローチにおいて複数のクライアントがメタデータ情報をキャッシュするときに必要とされる、中間の負荷のサーバのタスクである。他の複数のクライアントによる書き込み動作がメタデータを修正させるときは、サーバとして機能しているクライアントは、キャッシュされたデータを論理的に再マッピングするか、上記他の複数のクライアントに新しいメタデータを再ロードするように通知するかのいずれかを実行する。２つのタイプのスケジューリング問題、すなわちディスクスケジューリングとネットワーク帯域幅スケジューリングが複数の記憶装置サーバを必要とする。ディスクスケジューリングアルゴリズムは、要求のリアルタイム強制に対応しているときに、ディスクヘッドの運動を最小化する。ネットワークスケジューラは、競合している複数の要求を時間多重によってネットワーク帯域幅を割り当てる。
【００１２】
分散型サーバ構成を有するファイルシステム
図２Ａから図２Ｄを参照すると、本発明の範囲内にある分散型サーバ構成のいくつかの実施形態が図示されている。上記分散型サーバ構成の各々は、特定のサーバ構成が最も適当である環境を示す長所と短所を有する。サーバ構成は、専用分散型サーバ（dedicated distributed severs）から、連携分散型サーバ（cooperative distributed severs）へ、ダイナミックディスクマネージャを通じて、最後にハイブリッド構成に至るまでの範囲を有する。構想されたファイルシステムの一部の概観を提供するために、各分散型サーバ構成型の特性の短い要約を以下に続ける。各構成型のより詳細な記述は、この明細書の後のセクションにおいて提供される。
【００１３】
図２Ａを参照すると、専用分散型サーバファイルシステム４０において、専用ディスクマネージャ（ＤＭ）４２は各論理的ディスク４４に静的に割り当てられ、そのディスク４４のために、アドミションコントロールとサーバに関連した他の複数のタスクとを実行する。ファイルシステムの中の各ディスクマネージャ４２は、他の複数のディスクマネージャ４２の識別（identity）について認識している。ファイルシステム４０のためのネットワーク帯域幅管理及びスケジューリングのタスクは、集中化されたノード上に静的に位置付けされているネットワークマネージャ４６によって扱われる。それに加えて、各クライアント４８は、各ディスク４４を対応するディスクマネージャ４２にマッピングするディスクロケータテーブルを保持する。
【００１４】
図２Ｂを参照すると、連携分散型サーバファイルシステム５０において、再び、複数のディスクマネージャ５２は複数のディスク５４に静的に割り当てられる。専用ネットワークマネージャを割り当てることによって発生する集中化のボトルネックを取り除くために、ネットワークマネージャの複数の機能及びタスクは、現在のネットワークマネージャ５６とされたディスクマネージャ５２によって、連携して扱われる。ネットワーク帯域幅情報を交換するために、ディスクマネージャ５２は、この明細書で後に説明される多数の可能な動作を用いる。再び、各クライアント５８は、各ディスク５４を対応するディスクマネージャ５２にマッピングするディスクロケータテーブルを保持する。
【００１５】
図２Ｃを参照すると、ダイナミックディスクマネージャファイルシステム６０において、複数のクライアント６８は、一般にはサーバに割り当てられるネットワーク及びファイル管理のタスクを共有するために用いられる。ファイルシステム６０において、複数のクライアントは各ディスク６４に対して複数のダイナミックディスクマネージャ６２として割り当てられ、ゆえに専用サーバは必要とされない。複数のクライアント６８は一般にはサーバに割り当てられる複数のタスクを扱うことを委任されるので、ネットワークの環境は、静的に割り当てられた複数のファイルマネージャを有するファイルシステムよりは安全ではない。また、複数のダイナミックディスクマネージャ６２は、ダイナミックネットワークマネージャ６６を割り当てることによって、ネットワークマネージャの複数の機能及びタスクを連携して扱う。
【００１６】
図２Ｄを参照すると、ハイブリッドファイルシステム７０が図示されている。上記ハイブリッドファイルシステム７０は、ファイルの要求の増大につりあってノードの数が実質的に増大しているスケーラブルなシステムにおいて、特に適切である。ハイブリッドファイルシステム７０において、各ディスク７４のためのファイル管理のタスクは、静的に割り当てられたクラスタマネージャ（ＣＭ）７６と、動的に割り当てられた複数のファイルマネージャ７２の集合との間で分割及び共有される。各ディスク７４について複数のファイルマネージャ７２を提供することは、個別のファイルマネージャへの負荷を減少させ、ファイルシステム７０のスケーラビリティーを可能にする。複数のクライアント７８は一般にはサーバに割り当てられる複数のタスクを扱うことを委任されるので、ネットワークの環境は、静的に割り当てられた複数のファイルマネージャを有するファイルシステムよりは安全ではない。複数のクラスタを管理することに加えて、また複数のクラスタマネージャ７６はネットワークマネージャの複数の機能及びタスクを連携して扱う。
【００１７】
図３Ａ及び図３Ｂを参照すると、すべてのクライアントが信任されているときのような、セキュリティーが主要な関心ではない環境においては、サーバを持たないファイルシステムが分散型ファイルシステムに代わる１つの選択肢である。サーバを持たないシステムにおいては、複数の記憶装置は、複数のクライアントと同様に、ネットワークに直接に接続されている。任意のクライアントは任意のデバイスに直接にアクセスすることができる。システムの状態に基づいて、クライアント又はディスクのいずれかが、アドミション制御及びリソース割り当てを提供し、ファイルに関連したデータ完全性の問題を保持する。このように、サーバの機能はセルフサービスの方式で分散されている。サーバを持たないファイルシステムは非常にスケーラブルであり、性能のボトルネックを事実上持たない。あるクライアントの障害は他のいかなるクライアントにも影響を与えないので、サーバを持たないシステムにおいて、サーバのフォールトトレランスの問題は存在しない。
【００１８】
特に図３Ａを参照すると、受動的ディスクでサーバを持たないファイルシステム（passive disk serverless file system）８０が図示されている。上記受動的ディスクでサーバを持たないシステム８０においては、アドミション制御及びデータの一貫性の管理のために必要なすべての情報は複数のディスク８４の上に記憶される。一部のディスクキャッシュと少量の帯域幅とは、ファイルシステム８０のための制御情報を記憶しかつ検索するために予約されている。ファイル動作を要求するクライアント８２は、自身のアドミション制御及びリソース割り当てを提供し、ファイル動作に関連付けられたデータ完全性の問題を保守する。すべてのディスク８４のディスクキャッシュに記憶されているディスク状態ファイルは、データ完全性の保守のための情報と同様に、アドミション制御のための帯域幅情報を含む。ネットワークデータディスク８３はファイルシステム８０のためのネットワーク帯域幅情報を提供する。システムデータディスク８５は、ファイル名のようなシステムメタデータをディスクアドレスマッピングに提供する。
【００１９】
図３Ｂを参照すると、セミアクティブディスクでサーバを持たないファイルシステム（semi-active disk serverless file system）８６が図示されている。上記セミアクティブディスクでサーバを持たないファイルシステム８６は、アドミション制御がクライアント８７ではなくセミアクティブディスク８８上で実行されることを除いて、上記受動的ディスクでサーバを持たないファイルシステム８０と同様である。受動的ディスクでサーバを持たないファイルシステム８０におけるように、ネットワークデータディスク８９及びシステムデータディスク９１は、ネットワーク帯域幅情報とシステムのメタデータとをそれぞれ提供する。
【００２０】
ファイルシステムの動作の技術及びモード
以下のいくつかのセクションは、本発明の範囲内にあるいくつかのファイルシステム構成に関連した、いくつかのオペレーティング技術及びモードを記述している。
【００２１】
アドミション制御
アドミション制御は、クライアントがファイル上で動作する前に完了させなければならない処理である。クライアントがファイルの読み出し又はファイルへの書き込みをする前に、要求された動作のために十分なファイル及びネットワーク帯域幅が存在しなければならない。それに加えて、ファイルはクライアントがアクセス可能なものでなければならない。例えば、クライアントは、もう１つのクライアントによる書き込みを処理しているファイルへのアクセスを許可されず、又はファイルへのアクセスは予め決定されたクライアントのグループに制限されるかもしれない。いったん、クライアントがファイルへのアクセスを許可されると、ファイル管理及びネットワーク管理の記録は、変化したシステムの状態を反映するために更新される。
【００２２】
帯域幅決定技術
多数の帯域幅決定技術がファイル及びネットワーク帯域幅の消費量を決定するために用いられる。静的に割り当てられたマネージャを有するファイルシステムにおいては、上記マネージャは帯域幅状態を保持し、すべての帯域幅要求は上記マネージャに向けられる。動的に割り当てられた複数のマネージャを有するファイルシステムについては、帯域幅決定のために多数の技術が用いられる。１つの帯域幅決定技術は、アドミション制御処理を管理するネットワークエンティティ又は複数のエンティティに認識された位置に保持されている、帯域幅状態ファイルの使用を要求する。あるクライアントがあるファイルにアクセスすることを許可されるたびに、適当な帯域幅状態ファイルがマネージャによって更新される。もう１つの帯域幅決定技術は、ネットワーク状態、又はファイル状態のいずれかの情報を含むトークン（token）を用いる。上記トークンを取得するために、１つのマネージャは他の複数のマネージャにマルチキャストする。上記トークンを受信した後で、マネージャは十分な帯域幅が利用可能か否かを決定し、アドミション要求が許可されたときは状態情報を修正する。トークンを用いるまたそれに代わる技術は、他の複数のマネージャの各々の帯域幅消費量を取得するために、トークンにメッセージのマルチキャストを要求することを、マネージャに許可する。帯域幅決定及び割り当ての一意な形式は、以下のセクションにおいて詳細に記述される分割及び共有技術として参照される。
【００２３】
分割及び共有技術
図４を参照すると、分割及び共有技術が図示されている。上記分割及び共有技術は、最初に利用可能な帯域幅を複数のマネージャの間で分割及び分散し、次いで定常状態動作の間に、帯域幅の動的な再割当てのための処理を提供する。ステップ９０において、帯域幅の初期量が各マネージャに割り当てられる。上記初期帯域幅割り当ては、以前の経験と、期待された作業負荷と、マネージャが制御するデータの型とのような基準に基づく。次いで、付加的な帯域幅を要求する複数のマネージャが超過した帯域幅のために他の複数のマネージャをポーリングするとき、帯域幅割り当ては動作期間の間に動的に調整される。これは以下のステップにおいて説明される。ステップ９２において、帯域幅の使用量のための要求がマネージャによって受信される。ステップ９４で、マネージャは上記要求を評価し、ステップ９６で、要求された帯域幅が予め決定された要求のベンチマークを満たすとき、例えばマネージャに割り当てられた帯域幅よりも小さいようなとき、マネージャは上記要求された帯域幅を許可する。次いでマネージャはそのアドミション制御を完了させる。ステップ９８において、マネージャは、他のすべてのマネージャが超過した帯域幅について質問されたか否かを決定する。ステップ１００で、他のすべてのマネージャが質問されたとき、要求は拒否される。そうでなければ、ステップ１０２で、マネージャは超過した帯域幅のために他の複数のマネージャをポーリングすることを続ける。本発明の好ましい実施形態においては、他の複数のマネージャは、ネットワーク上の位置及び以前の帯域幅利用度のような、予め決定された順序でポーリングされるが、他の複数のマネージャをランダムにポーリングすることは本発明の範囲内である。ステップ１０４及び１０６で、他のマネージャは、そのマネージャもまた超過した帯域幅を要求していないときは、要求された帯域幅を割り当てる。１つより多くのマネージャが帯域幅を要求しているとき、ステップ１０３で、複数のマネージャがそれぞれ要求している帯域幅の量や、要求をしているマネージャの重要度のような、予め決定されたマネージャ帯域幅の優先順位に基づいて、複数のマネージャに優先順位（priority）が割り当てられる。本発明の好ましい実施形態において、帯域幅の優先順位は、各マネージャが要求している帯域幅の量に基づいて決定される。マネージャが、他のマネージャが要求しているものよりも少ない帯域幅を要求しているときは、ステップ１０８及び１０６で、他のマネージャは要求された帯域幅をマネージャに割り当てる。マネージャが、他のマネージャが要求しているものよりも多い帯域幅を要求しているときは、ステップ１０８及び１１０で、マネージャは要求された帯域幅を他のマネージャに割り当てる。いったんマネージャが他のマネージャの各々に質問をしたときは、取得することができた帯域幅の量に基づいて、それは、そのアドミション制御を管理する。
【００２４】
一般に、各マネージャに関連付けられた帯域幅割り当ては、結局定常状態の量において安定化する。過重な帯域幅使用量においては、分割及び共有技術の使用は、利用可能な帯域幅の決定及び割り当てのために標準的に必要とされる帯域幅消費量を最小化する。軽い帯域幅使用量においては、帯域幅使用量のオーバーヘッドはシステムの帯域幅消費量と調和したレベルまで減少させられる。分割及び共有技術は、動的に割り当てられた複数のマネージャと同じく、静的に割り当てられた複数のマネージャに適用できる。
【００２５】
ファイルアクセス及びロック
ロック／ロック解除の機構は、ファイルへの上書きを望んでいるクライアントに、上記ファイルへの排他的なアクセスを提供するために用いられる。読み出し動作のためのロック／ロック解除の機構のオプションの使用法も提供される。読み出し／書き込みロックの保守はディスクマネージャによって提供される。図５Ｂを参照すると、本発明の原理に従うロックの構造が図示されている。上記ロックはユーザシグネチャー１１２、ファイル名１１４及びタイムスタンプ１１６を含む。本発明のこの好ましい実施形態において、ユーザシグネチャー１１２は一意な処理番号を付加されたクライアントｉｄを含む。飢餓状態（starvation）を防止し、複数のクライアントの間での公平さを確立するために、ロックファイルは、複数の書き込み要求をキューに入力するための循環バッファ（circular buffer）を含む。図５Ａを参照すると、ファイルロック処理が図示されている。ステップ１１４において、ファイルに書きこむために、クライアントは上記ファイルに関連付けられたディスクマネージャに要求を送る。ステップ１１６で、ディスクマネージャは循環バッファの中に要求に対応したロックを次のエントリとして書きこむ。１１８で、ロックは予め決定された時間期間ｔexpの後で終了するが、上記時間期間は先行する統計的解析によって決定されるか、又は要求が作成されるときにユーザによって選択される。１２０で、ロックがリフレッシュされないかぎり、ｔexpの後でロックは開放される。従って、クライアントが長い編集動作をすることを必要としているときは、ファイルは周期的にリフレッシュされなければならない。ロックをリフレッシュするための機構は、クライアント又は関連付けられたディスクマネージャのいずれかのロックがリフレッシュされる要求を有することを含む。１２４で、ディスクマネージャは、クライアントの要求に対応するロックが、いつキューのヘッドに進んだかを、クライアントに通知する。次いでクライアントの対応するファイル要求は処理される。ロックは、１２６で、クライアントが非活性化を要求する、ｔexpが経過する、マネージャが非活性化を要求する、及びファイル動作が完了したとき非活性化が起こるように設定されている、というような非活性化のイベントが起こるまで、活性のままである。読み出しロックが用いられるとき、１２８で、読み出しロックをされたすべてのユーザは、ロックに対応した複数のユーザに対応した複数のファイルに起きたすべての変化を通知される。ファイルの変化の通知は、システムを通じたデータの一貫性を確立することを補助する。
【００２６】
フォールトトレランス
サーバ又はクライアントの障害からの回復を提供するために、構成の各々に関連付けられた複数のマネージャの複数のミラーが、他の複数のネットワークノードに保持される。本発明の好ましい実施形態において、複数のマネージャの複数のミラーは、他のマネージャが存在しない複数のネットワークノードの上に保持される。しかしながら、他の複数のマネージャが存在する複数のネットワークノードの上に複数のミラーを含むことは本発明の範囲内である。複数のミラーがそれに対して保持される複数のマネージャは、ネットワークマネージャ、ファイルマネージャ、及びクラスタマネージャを含む。動作時においては、要求又はロックリフレッシュのような制御情報が受信されるときは、最初にマネージャはミラーされたコピーにおける対応する情報を更新し、次いで制御動作を実行する。
【００２７】
マネージャのミラーは、マネージャの障害が発生するまで非活性のままである。マネージャの障害の１つの例は、クライアントがマネージャに要求を送り、予め決定された非活性の時間期間の間に応答を受信しないときである。マネージャの障害が発生するとき、要求しているクライアントはミラーリングされたバージョンを活性化させる。次いで、ミラーリングされたバージョンは新しいマネージャになり、ネットワークノード上にミラーを作成する。次いで新しいマネージャはその管理機能と関連付けられた他の複数のマネージャ及び複数のクライアントにメッセージをブロードキャストし、それらに状態における変化とそのミラーの識別とを通知する。通知が送られた後で、障害が発生したマネージャに対応したすべての非活性なタイマは再スタートされ、新しいマネージャに関連付けられる。
【００２８】
分散型サーバファイルシステムの構成
分散型サーバファイルシステムの環境において、指定されたネットワークノードの集合は、サーバの負荷及び機能を共有する。従って負荷は複数のサーバ上に共有され、システムのスケーラビリティーを可能にする。クライアントの数量が増大するとき、増大した負荷を扱うためにサーバの数量が増大する。サーバが障害を起こしたとき、誤ったサーバの負荷が他の複数のサーバにシフトされることで、システムは段階的に機能低下する。いずれの場合でも、あるサーバの障害は、集中化されたサーバの構成のときに起こるように全てのクライアントにではなく、複数のクライアントの部分集合にのみ影響する。分散型サーバファイルシステムにおいて、セキュリティーのレベルは、信任されるネットワークノード、サーバがより多くなるために、集中化されたサーバのそれに比べてより低くなっている。低下したセキュリティーに加えて、すべてのサーバにわたる資源共用及び一貫性情報の保守のためのアルゴリズムの生成が必要とされる。
【００２９】
専用分散型サーバファイルシステム
図６Ａを参照すると、複数のクライアント１３１にファイルサービスを提供するための専用分散型サーバファイルシステム１３０が図示されている。上記専用分散型サーバファイルシステム１３０において、各ディスク１３２は、そのディスク１３２にアドミション制御と他のサーバに関連した複数のタスクとを提供する専用のディスクマネージャ１３４を割り当てられている。上記ディスクマネージャ１３４は、本質的に、関連付けられたディスク１３２の利用可能な帯域幅、メタデータ情報を保持し、関連付けられたディスク１３２に存在する複数のファイルに対する読み出し／書き込みロックを保持する、ネットワークノードである。集中化されたノードであるネットワークマネージャ１３６は、ネットワーク帯域幅管理及びスケジューリング問題を提供する。またネットワークマネージャ１３６は利用可能なネットワーク帯域幅の情報を保持する。各ディスクマネージャ１３４に対する複数のディスクマネージャのミラー１３８と、ネットワークマネージャのミラー１４０とは、ファイルシステム１３０のためのフォールトトレランスを提供する。
【００３０】
図６Ｂを付加的に参照すると、専用分散型サーバファイルシステム１３０のより詳細な図が提供される。各クライアントは、あるディスクを対応するディスクマネージャ１３４にマッピングするディスクロケータテーブル１４２と、あるファイルをそこにファイルが存在する対応するディスク１３２にマッピングするファイルロケータテーブル１４４とを含む。この好ましい実施形態においては、ファイルロケータテーブル１４４とディスクロケータテーブル１４２とは各クライアント１３１上に位置しているが、テーブル１４２及び１４４がもう１つのネットワークノード上に存在することは本発明の範囲内である。
【００３１】
各ディスクマネージャ１３４は、ファイルシステムの位置をディスクマネージャ１３４とネットワークマネージャ１３６に提供する、マネージャロケータテーブル１４６を含む。また、アドミションコントローラ１４８がディスクマネージャ１３４の中に位置付けられている。上記アドミションコントローラは、あるクライアント１３１がファイル動作を要求するとき、アドミション処理を制御する。読み出し又は書き込み動作の間のファイルへの排他的なアクセスを確立するためのファイルロックは、循環キュー（circular queue）１５２及び循環キュータイマ（circular queue timer）１５４を含むファイルアクセスコントローラ１５０によって提供される。
【００３２】
図６Ｃを参照すると、クライアント１３１は、ファイルを位置付け、次いで関連付けられたディスクマネージャ１３４に要求を送ることによって、ファイル動作を開始する。ステップ１５６において、クライアント１３１はファイルロケータテーブル１４４に質問し、所望のファイルがどのディスク１３２に存在するかを決定する。次いでステップ１５８において、ステップ１５８でディスク１３２に関連付けられているディスクマネージャ１３４を見出すために、クライアント１３１はディスクロケータテーブル１４２に質問し、ステップ１６０でディスクマネージャ１３４にファイル要求を送る。上記要求を受信する際、ステップ１６２で、ディスクマネージャ１３４はクライアント認証キーを照合する。各クライアント１３１がネットワークへ入ることを許可されているとき、それは複数のディスク１３２への制限されたアクセスを提供する認証キーを受信する。上記要求は循環キュー１５２に入力され、上述のファイルロック処理が完了するまでそこにとどまる。いったん要求が循環キュー１５２のトップに到達したときは、ステップ１６４で、ディスクマネージャ１３４は利用可能なディスク帯域幅をチェックし、要求されたファイル動作をサポートするために十分な帯域幅が存在するか否かを決定する。ステップ１６６で、要求された動作をサポートするために十分なネットワーク帯域幅の割り当てを要求するメッセージがネットワークマネージャ１３６に送られる。ステップ１６８で、ネットワークマネージャ１３６は要求を評価し、ステップ１７０で、十分なネットワーク帯域幅が存在するときはディスクマネージャ１３４からの要求を許可する。ディスクマネージャ１３４からの要求が許可された後、ステップ１７２で、ネットワークマネージャ１３６及びディスクマネージャ１３４はそれらの対応する帯域幅の記録を更新し、利用可能な帯域幅に変化を反映させる。次いで、ステップ１７４で、ネットワークマネージャのミラー１４０及びディスクマネージャのミラー１３８における制御情報が更新される。次いで、１７６で、クライアント１３１からの要求が許可される。ステップ１７８で、いったん、クライアントがファイル動作を完了させると、ステップ１８０でファイルが閉じられる。次いでステップ１８２で、ディスクマネージャ及びネットワークマネージャの帯域幅の記録が修正され、リソースが放棄されたことを反映させる。
【００３３】
連携分散型サーバ
図７Ａを参照すると、本発明の原理に基づいて構成された連携分散型サーバファイルシステム２３０が図示されている。上記連携分散型サーバファイルシステム２３０は、連携分散型サーバファイルシステム２３０におけるネットワークマネージャが静的に割り当てられていないことを除いて、２００から２５８の範囲の番号を付けられた構成要素が対応していることで、専用分散型サーバファイルシステム１３０と同様である。とって代わって、標準的にはネットワークマネージャに割り当てられる複数の機能は、複数のディスクマネージャ（ＤＭ）２３４によって連携して提供される。ネットワーク管理及びスケジューリングの機能は、現在のネットワークマネージャ（ＣＮＭ）２３６として指定されたディスクマネージャ２３４に、動的に割り当てられる。各ディスクマネージャ２３４に対するディスクマネージャのミラー２３８は、ファイルシステム２３０に対してフォールトトレランスを提供する。
【００３４】
図７Ｂを付加的に参照すると、連携分散型サーバファイルシステム２３０のより詳細な図が提供されている。再び、連携分散型サーバファイルシステム２３０は、ネットワークマネージャの機能が、現在のネットワークマネージャ（ＣＮＭ）として指定されたディスクマネージャ２３４に動的に割り当てられることを除いて、専用分散型サーバファイルシステム１３０と同様である。各ディスクマネージャ２３４は、ファイルシステムの位置をディスクマネージャ２３４及び現在のネットワークマネージャに提供するマネージャロケータテーブル２４６を含む。アドミションコントローラ２４８は、分散型専用サーバファイルシステム１３０においてアドミションコントローラ１４８によって提供される機能に加えて、ネットワーク帯域幅の割り当てを制御する。
【００３５】
図７Ｃを参照すると、ステップ２６０で、クライアント２３１は、ファイルを位置付けし、次いで関連付けられたディスクマネージャ２３４に要求を送ることによって、専用分散型サーバファイルシステム１３０において用いられているものと同様の手法でファイル動作を開始する。ディスクマネージャ２３４は上記要求を循環キュー２５２に置き、そこにおいて上述のファイルロック処理がステップ２６２で完了するまで上記要求はそこにとどまる。いったん上記要求が循環キューのトップまで進むと、ステップ２６４でファイルマネージャ２３４はクライアントの認証キーを照合する。ステップ２６６で、ディスクマネージャ２３４は利用可能なディスク帯域幅をチェックし、要求されたファイル動作をサポートするために十分なディスク帯域幅が存在するか否かを決定する。次いで、ネットワーク帯域幅の状態がチェックされ、要求されたファイル動作をサポートすることができるか否かを決定する。ネットワーク帯域幅の状態を決定するための３つのアプローチが提供される。
【００３６】
第１のアプローチは、ステップ２６７で、ネットワーク帯域幅を割り当て、ネットワーク帯域幅の状態を決定するために、本明細書の中で前に記述された分割及び共有技術を用いる。
【００３７】
第２のアプローチは、現在のネットワーク帯域幅の状態を含むトークン２３５を用いる。ステップ２６８において、要求されたファイルに関連付けられたディスクマネージャ２３４は、トークン２３５を要求するメッセージを他の複数のディスクマネージャ２３４にマルチキャストする。トークン２３５を受信する際、ステップ２７０で、ディスクマネージャ２３４は現在のネットワークマネージャ２３６になる。現在のネットワークマネージャ２３６は、トークン２３５の付加を反映するためにその関連付けられたディスクマネージャのミラー２３８を更新し、次いでステップ２７２で、トークン２３５上に表示された利用可能な帯域幅をチェックする。ステップ２７４で、クライアント２３１からの要求を許可することを決定する際、現在のネットワークマネージャはその関連付けられたディスクマネージャのミラー２３８を更新し、新しい状態を反映するために、トークン２３５上に表示された利用可能なネットワーク帯域幅を修正する。ステップ２７６で、いったんファイル動作が完了すると、ステップ２７８でファイルは閉じられ、次いでステップ２８０で、リソースが放棄されたことを反映するためにトークン２３５及びディスクマネージャ２３４の帯域幅の記録は修正される。この好ましい実施形態において、後に続く現在のネットワークマネージャ２３６は利用可能である付加的な帯域幅を反映するためにトークン２３５を修正するが、しかしながら、ファイルに関連付けられたディスクマネージャ２３４がトークン２３５を修正することは本発明の範囲内である。
【００３８】
第３のアプローチは、各ディスクマネージャ２３４のネットワーク帯域幅消費量の表示を要求するメッセージを他の複数のディスクマネージャ２３４にプロセッサがマルチキャストすることを可能にするトークン２３７を用いる。ステップ２８２において、ディスクマネージャ２３４は、ネットワーク帯域幅消費量の情報を要求するようにマルチキャストする最新のディスクマネージャ２３４である現在のネットワークマネージャ２３７からのトークン２３７を要求する。ステップ２８４で、トークン２３７を受信する際、ディスクマネージャ２３４は現在のネットワークマネージャ２３７になる。以前の現在のネットワークマネージャは、現在のネットワークマネージャ２３７に対するミラー２３８になり、上記現在のネットワークマネージャはミラー２３８の制御情報を更新し、ステップ２８６で、各ディスクマネージャ２３４のネットワーク帯域幅消費量の表示を要求するように、他の複数のディスクマネージャ２３４にマルチキャストする。要求されたファイル動作をサポートするために十分なネットワーク帯域幅が存在することを決定する際に、現在のネットワークマネージャ２３７はその関連付けられたミラー２３８を更新し、ステップ２８８でクライアント２３１からの要求を許可する。ステップ２９０で、いったんファイル動作が完了すると、ステップ２９２でファイルが閉じられ、次いでディスクマネージャ２３４の帯域幅の記録は、リソースが放棄されたことを反映するために修正される。
【００３９】
動的なディスクマネージャファイルシステム
図８Ａを参照すると、複数のクライアント３０４にファイルサービスを提供するためのダイナミックディスクマネージャファイルシステム３００が図示されている。複数のクライアント３０４は、一般には１つのサーバに割り当てられるネットワーク及びファイル管理のタスクを共有するように使用される。ダイナミックディスクマネージャファイルシステム３００は、複数のクライアント３０４が、複数のディスク３０２に記憶された複数のファイルへのアクセスを調整するように信任されているということで、低いセキュリティーのシステムである。複数のクライアント３０４は、帯域幅管理の負荷を共有する複数のディスクマネージャ３０６及び複数のネットワークマネージャ３０７として動的に割り当てられる。フォールトトレランスを提供するために、以前のディスクマネージャ及びネットワークマネージャは、現在のディスクマネージャ３０６及びネットワークマネージャ３０７に対して、ディスクマネージャのミラー３０８及びネットワークマネージャのミラー３０９として割り当てられる。ネットワークのトラフィックとデータ構造の保守を最小化するために、クライアント３０４が負担させられている管理上の負荷は、クライアント３０４の負荷の予め決定された割合に制限されている。
【００４０】
１つの実施形態において、ディスクマネージャの責務（responsibility）はすべてのクライアント３０４上で時間多重されている。それに代わる実施形態において、ファイルへの書き込みを要求しているクライアント３０４は、対応しているディスク３０２のディスクマネージャ３０６になる。クライアント３０４は、ディスクマネージャ制御情報を保持しつづけ、もう１つのクライアント３０４がディスク３０２への書き込みを要求するまで、アドミション制御とファイル保守の義務とを完了させる。書き込み動作を完了させた後でクライアント３０４がディスクマネージャ３０６でありつづける継続時間を制限することは、本発明の範囲内である。クライアント３０４がディスクマネージャ３０６になった後の予め決定された時間期間で、対応するディスク３０２への読み出し又は書き込み動作のいずれかを要求した任意のクライアントは、新しいディスクマネージャ３０６になる。ネットワークマネージャの責務はすべてのクライアント３０４上で時間多重されている。
【００４１】
図８Ｂを付加的に参照すると、ダイナミックディスクマネージャファイルシステム３００におけるクライアント３０４のより詳細な図が提供されている。クライアント３０４は，あるファイルを上記ファイルが存在する対応するディスク３０２にマッピングするファイルロケータテーブル３１０を含む。この好ましい実施形態においては、上記ファイルロケータテーブル３１０は各クライアント３０２に位置付けられているが、上記ファイルロケータテーブル３１０がもう１つのネットワークノード上に存在することは本発明の範囲内である。
【００４２】
また、クライアント３０４は、ファイルマネージャ及びネットワークマネージャの複数の機能を提供するために必要とされる複数の構成要素を含む。これらの構成要素は、本明細書の先行するセクションにおいて記述されたように、アドミションコントローラ３１２、ディスクマネージャロケータテーブル３１４、循環キュー３１６、循環キュータイマ３１８、及びネットワークマネージャロケータテーブル３２２を含む。また、クライアント３０４は、ネットワーク帯域幅の状態を提供するための、ネットワーク帯域幅決定部３２０を含む。
【００４３】
図８Ｃを参照すると、ダイナミックディスクマネージャファイルシステム３００のためのファイル動作処理が図示されている。ファイルを読み出すために、ステップ３２４で、クライアント３０４はファイルロケータテーブルに質問し、どのディスクに上記ファイルが位置付けられているかを決定する。次いでステップ３２６で、クライアント３０４は対応するディスクマネージャ３０６を位置付ける。クライアント３０４は、対応するディスクマネージャ３０６を位置付けるためのメッセージを他の複数のクライアント３０４にブロードキャストする。それに代わる実施形態において、クライアントは、ディスク３０２上のファイルを対応するディスクマネージャ３０６にマッピングするディスクロケータテーブルに質問する。次いでステップ３２８で、クライアントはディスクマネージャ３０６にファイル動作要求を送る。ディスクマネージャ３０６は、要求を受信する際、それを循環キュー３１６に入力する。上記要求は、ステップ３３０で上述のファイルロック処理が完了させられるまで、キュー３１６の中にとどまる。いったん要求が循環キュー３１６のトップに達すると、ステップ３３２で、ディスクマネージャ３０６はクライアント認証キーを照合する。次いでステップ３３４で、ディスクマネージャ３０６は利用可能なディスク帯域幅をチェックし、要求されたファイル動作をサポートするために十分な帯域幅が存在するか否かを決定する。次いで、ネットワーク帯域幅の状態がチェックされ、要求されたファイル動作をサポートすることができるか否かをチェックする。動的に変化させられるディスクマネージャファイルシステム３００においてネットワーク帯域幅の状態を決定するために用いられる３つのアプローチは、３６７から３９２の範囲で番号をつけられた対応するステップにおいて、連携分散型サーバファイルシステム２３０において用いられるアプローチと同様である。
【００４４】
フォールトトレランスのセクションにおいて記述されたように、制御情報の任意の更新に対して、ディスクマネージャ３０６とネットワークマネージャは、クライアントからの要求を許可する前にディスクマネージャのミラー３０７とネットワークマネージャのミラー３０９における対応する情報を最初に更新するか、又はロックの更新を処理する。
【００４５】
ディスクマネージャ３０６に送られたクライアントの要求が予め決定された時間期間の間に処理されないとき、ファイルマネージャのミラー３０７は活性化される。次いでファイルマネージャのミラー３０７は新しいディスクマネージャ３０６になり、新しいファイルマネージャのミラー３０７を選択する。新しいディスクマネージャは、新しい識別の通知を提供するためのメッセージを複数のクライアント３０４及びディスクマネージャ３０６にブロードキャストする。次いで、すべての関連付けられた循環キュータイマ３１８及びフォールトトレランスタイマは再スタートされる。
【００４６】
ハイブリッドファイルシステム
図９Ａを参照すると、ハイブリッドファイルシステム４００が図示されている。上記ハイブリッドファイルシステム４００は、ファイル要求の比例した増大とともに、ノードの数が実質的に増大しているスケーラブルなシステムにおいて、特に適用可能である。ハイブリッドファイルシステム４００において、システムは複数のクラスタ４０１に分割される。各クラスタ４０１は、ただ１つのディスク４０２と、１つのクラスタマネージャ（ＣＭ）４０４と、複数のファイルマネージャ（ＦＭ）４０６のセットとを有する。各ディスク４０２のためのファイル管理のタスクは、静的に割り当てられたクラスタマネージャ４０４と動的に割り当てられたファイルマネージャ４０６のセットとの間で、分割及び共有されている。
【００４７】
各ディスク４０２について複数のファイルマネージャ４０６を提供することは、個別のファイルマネージャへの負荷を減少させ、ファイルシステム４００のスケーラビリティーを可能にする。ファイルマネージャ４０６は、その対応するファイルに対するファイルロック及び他のファイル保守の問題を扱う。１つ又は複数のファイルはファイルマネージャ４０６によって管理され、ファイルシステム４００の中のすべてのファイルは１つのファイルマネージャ４０６を有する。ファイルマネージャ４０６は複数のクライアント４０８のプールから動的に指定される。１つのクラスタの中のファイルマネージャ４０６の数は、１つから無限の量の範囲にある。ファイルマネージャ４０６の数が増大することは、付加的なネットワーク帯域幅のコストに関してより効率的に負荷をバランスさせる。
【００４８】
任意のクライアント４０８は、読み出し／書き込み動作について、システム４００全体の中で任意のディスク４０２にアクセスすることができる。複数のクライアント４０８は通常はサーバに割り当てられるタスクを扱うことを信任されているので、ネットワーク環境は複数のファイルマネージャが複数のサーバに割り当てられているファイルシステムよりは安全ではない。
【００４９】
クラスタマネージャは、アドミション制御、ファイルマネージャ４０６の管理、フリーリストの保守、複数のクライアント４０８にメタデータ情報を提供すること、及びフォールトトレランスの問題について責任を果たしうる。複数のクラスタを管理することに加えて、また、複数のクラスタマネージャ４０４はネットワークマネージャの機能及びタスクを連携して扱う。この好ましい実施形態における複数のクラスタマネージャは、オリジナルの複数のディスクマネージャから選択されるが、複数の専用ノードを選択することは本発明の範囲内である。
【００５０】
図９Ｄを付加的に参照すると、ハイブリッドファイルシステム４００のクラスタ４０１のより詳細な図が提供されている。クライアント４０８はファイル動作に関する要求をクラスタマネージャ４０４に送るための要求マネージャ４０９を含む。この好ましい実施形態においては、ファイルロケータテーブル４１０及びディスクアドレステーブル４１１はクライアント４０８上にキャッシュされていないが、テーブル４１０と４１１の双方をクライアント４０８上に含むことは本発明の範囲内である。システム及びディスクのメタデータをクライアント４０８上に位置付ける代わりに、それはクラスタマネージャ４０４の中に、システムメタデータテーブル４１２及びディスクメタデータテーブル４１３として含まれる。クラスタマネージャ４０４の中のアドミションコントローラ４１４は、複数のクライアント４０８からの要求のアドミションを制御する。関連付けられたネットワーク状態キュー４１８及びネットワーク状態タイマ４１９を有するネットワーク状態テーブル４１７は、前述のように動作するロック機構にネットワーク帯域幅情報を提供する。クラスタコントローラ４２０は、クラスタ４０１内のディスク４０２上に存在する複数のファイルに関連付けられた活性度に応答して、クラスタの拡張と縮小を調節する。クラスタ４０１の中の各ファイルマネージャ４０６は、ディスク帯域幅情報を提供するための、ディスク状態キュー４２２及びディスク状態タイマ４２３を有する、ディスク状態テーブル４２１を含む。また、ファイルマネージャは、本発明の他の実施形態について本明細書の前のセクションにおいて記述されたように、データ完全性を確立するために、ファイルのロック／ロック解除を提供する、関連付けられたファイルアクセスタイマ４１６を有するファイルアクセスキュー４１５を含む。
【００５１】
図９Ｂを参照すると、ハイブリッドファイルシステム４００に対するアドミション制御処理が図示されている。ハイブリッドファイルシステム４００に対するアドミション制御処理は、ディスクマネージャ及びネットワークマネージャの機能をファイルマネージャ及びクラスタマネージャの間で分割することを除いて、ダイナミックディスクマネージャファイルシステム３００のアドミション処理と同様である。ハイブリッドファイルシステムのアドミション制御処理は、４２４から４９２の範囲の番号を付けられた対応するステップを有する。ディスク帯域幅の割り当てと決定は、ファイルマネージャのレベルで、分割及び共有技術を用いて達成される。ネットワーク帯域幅の割り当てと管理は、クラスタのレベルで、分割及び共有技術を用いて達成される。
【００５２】
クラスタ管理
クラスタ４０１の中で、ファイルマネージャ４０６の数は、クラスタディスク４０２上に存在する複数のファイルに関連したファイル動作のための、帯域幅使用量に応答して動的に変化する。従って、クラスタ４０１のサイズは負荷の基準に基づいて拡張又は縮小する。クラスタマネージャ４０４は拡張及び縮小の処理を管理し、複数のクライアント４０８にクラスタの変化の通知をブロードキャストする。本発明の範囲は、拡張及び縮小処理を後に続く通知と同様に実行することの静的な方法と動的な方法との双方を含む。
【００５３】
静的な拡張及び縮小処理
予め決定された最大の指標（index）を超えて、ファイルマネージャ４０６上の負荷が増大したとき、新しいファイルマネージャが作成される。過負荷をかけられたファイルマネージャ４０６によって管理されるファイルのいくつかは、クライアント４０８の制御へと移され、従って新しいファイルマネージャを作成する。現在、ファイルマネージャ４０６ではないクライアントのみが、新しいファイルマネージャになるように選択される。クラスタの拡張処理の間に、新しく作成されたファイルマネージャ４０６の初期の負荷は、二分木の方式で決定される。クラスタ４０１の中の複数のファイルのリストは、木に付いている全てのリーフ、すなわちファイルマネージャ４０６が、管理する複数のファイルの固定された集合を有するように、静的に分割及び割り当てをされる。クライアント４０８がハイブリッドファイルシステム４００に入るとき、ファイルリスト及び木の構成がクライアント４０８に提供される。木の構成を認識しているクライアント４０８は、どのファイルが選択されたファイルマネージャ４０４によって管理されているかを得ることができる。
【００５４】
ステップ５００で、予め決定された最大の指標を超えて、ファイルマネージャ４０６上の負荷が増大したとき、クラスタ拡張が実行される。ステップ５０２で、過負荷をかけられたファイルマネージャ４０６は、最大の負荷の指標が超過されていることを、クラスタマネージャ４０４に通知する。ステップ５０４で、クラスタマネージャ４０４は、過負荷をかけられたファイルマネージャの負荷の一部を管理するための、新しいファイルマネージャを作成する。次いで、クラスタマネージャ４０４は、ファイルマネージャの負荷の２分の１を新しく作成されたファイルマネージャに分散する。従って、二分木の各レベルでは、最も左のノードは同一の親のノードである（オリジナルのファイルマネージャ４０６）。次いでステップ５０５で、クラスタマネージャ４０４は、選択された複数のファイルを用いる複数のクライアント４０８に、ファイルマネージャ４０６の構成における変化の通知をブロードキャストする。
【００５５】
ファイルマネージャの二分木構造は、クラスタマネージャ４０４によって保持される。各ファイルマネージャ４０６はそれらの同胞（sibling）の識別を認識している。複数のファイルの管理は負荷を移すために用いられているので、負荷の分散は、拡張処理の間に形成された２つの同胞の間で等しいか、又は等しくないことがある。
【００５６】
複数のクラスタの縮小処理は、まさに拡張処理の逆である。ステップ５０６及び５０８で、ファイルマネージャ４０６上の負荷が予め決定された最小の負荷の値よりも下に減少するときは、上記ファイルマネージャ４０６はクラスタマネージャ４０４に通知する。ステップ５１０で、クラスタマネージャ４０４はファイルマネージャの同胞の負荷をチェックし、結合された負荷が予め決定された最小の負荷の値よりも下にあるか否かを決定する。ステップ５１２で、結合された負荷が最小の負荷の値よりも下にあるときは、クラスタマネージャは、軽い負荷をかけられたファイルマネージャ４０６から他のファイルマネージャ（同胞）４０６に負荷を移し、ステップ５１４で軽い負荷をかけられたファイルマネージャを除去する。次いでステップ５１６で、クラスタマネージャ４０４は、選択された複数のファイルを用いる複数のクライアント４０８に、ファイルマネージャ４０６の構成における変化の通知をブロードキャストする。
【００５７】
動的な拡張及び縮小の処理
それに代わる実施形態は、動的な動作を介して、拡張／縮小処理を達成する。この実施形態において、クラスタマネージャ４０４は、ファイルマネージャの負荷の値に関連して順所づけられた、複数のファイルマネージャの負荷のリストを保持する。上記負荷のリストはクラスタマネージャ４０６によって用いられ、重い負荷をかけられたクライアント４０８及び軽い負荷をかけられたクライアント４０８を位置付ける。ステップ５１８及び５２０で、ファイルマネージャ４０６上の負荷が予め決定された最大の負荷の指標を超えるとき、ファイルマネージャ４０６はクラスタマネージャ４０４に通知する。それに代わって、クラスタマネージャ４０４は、最大の負荷の値を超えていて、ゆえに関連付けられた複数のファイルの一部の管理を移す必要がある、負荷の値を有する複数のファイルマネージャを、負荷のリストのトップから検索する。ステップ５２２で、クラスタマネージャ４０４は軽い負荷をかけられたファイルマネージャのための負荷のリストを検索する。軽い負荷をかけられたファイルマネージャが存在しないとき、クラスタマネージャ４０４はファイルマネージャ４０６ではないクライアント４０８を選択し、ステップ５２４で、負荷をかけられたファイルマネージャ４０６から新しく形成されたファイルマネージャに負荷の一部を移す。クラスタ拡張に続いて、ステップ５２５で、新しいファイルマネージャ４０６は、影響を受けた複数のファイルを用いる複数のクライアント４０８に、ファイルマネージャの状態における変化を通知する。
【００５８】
同様に、ステップ５２６及び５２８で、ファイルマネージャの負荷が最小の負荷の値よりも下に減少するとき、ファイルマネージャ４０６はクラスタマネージャ４０４に通知する。次いでステップ５３０で、クラスタマネージャ４０４は、最大の負荷の値を超えずに付加的な負荷を受け容れることができるファイルマネージャを検索する。そのようなファイルマネージャ４０６が見出されたときは、ステップ５３２及び５３４で、転送が実行され、軽い負荷をかけられたファイルマネージャ４０６が開放される。縮小処理について、クラスタマネージャ４０４は、負荷のリストのボトムから、２つ又はそれ以上のファイルマネージャ４０６を検索する。クラスタの縮小に続いて、ステップ５３６で、修正されたファイルマネージャ４０６は、影響を受けた複数のファイルを用いる複数のクライアント４０８に、ファイルマネージャの状態における変化を通知する。
【００５９】
縮小又は拡張の間に、ファイルマネージャ４０６の負荷は、選択された複数のファイルの管理タスクを転送することによって調整される。さらに、拡張の後で、新しいファイルマネージャは、それをファイルマネージャ４０６として導入したクラスタマネージャ４０４の制御のもとにとどまる。
【００６０】
フォールトトレランス
クラスタマネージャのミラー４０５はもう１つのクラスタマネージャ４０４において作成され、クラスタマネージャ４０４に対してフォールトトレランスを提供する。専用のバックアップネットワークノードにおいてクラスタマネージャのミラー４０５を作成することは本発明の範囲内である。クラスタマネージャ４０４に障害が発生したとき、新しいクラスタマネージャがクラスタマネージャのミラー４０５から活性化される。クラスタ４０１の中の各ファイルマネージャ４０６のためのバックアップを保持する関連付けられたクラスタマネージャ４０４によって、ファイルマネージャ４０６に対するフォールトトレランスが提供される。ファイルマネージャ４０６を保護するためのそれに代わる手段は、そこからその負荷が転送されるファイルマネージャ４０６において、ファイルマネージャ４０６がファイルマネージャのミラー４０７を保持することである。ファイルマネージャ４０６に障害が発生したとき、対応するクラスタマネージャ４０４は、クラスタ４０１を拡張するときのように、もう１つのファイルマネージャ４０６にファイルの情報を転送する。
【００６１】
セキュリティー
ハイブリッドファイルシステム４００は、セキュリティーが主要な関心ではない環境において用いられる。許可されているクライアント４０８へのアドミション制御の間、クラスタマネージャ４０４によってアクセスキーが提供される。上記アクセスキーは、クライアント４０８が読み出し又は書き込みをしてもよいブロックアドレスのような、メタデータ情報を含む。
【００６２】
サーバを持たないファイルシステム
サーバを持たないシステムは、セキュリティーが主要な関心ではない環境において用いられる。サーバを持たないシステムにはサーバが存在せず、その代わり、サーバの機能は、セルフサービスの方式で分散されている。システムの状態に基づいて、クライアントはその自身のアドミション制御とリソースの割り当てを完了させ、データ完全性を保持することに必要とされる負荷を共有する。サーバを持たないシステムは非常にスケーラブルで、実質的に性能のボトルネックは存在しない。サーバのフォールトトレランスの問題はサーバを持たないシステムにおいては存在せず、クライアントの障害は他のクライアントに影響しない。
【００６３】
受動的ディスク、サーバを持たないファイルシステム
図１０Ａを参照すると、複数のクライアント６０４にファイルサービスを提供するための、受動的ディスクでサーバを持たないファイルシステム６００が図示されている。上記受動的ディスクでサーバを持たないファイルシステム６００において、アドミション制御及びデータ一貫性の管理のために必要な情報は、ディスク６０２上に記憶されている。各ディスク６０２上で、ディスクキャッシュの一部と少量の帯域幅とは、ファイルシステム６００のための制御情報を記憶しかつ検索するために確保されている。ネットワークデータディスク６０６として参照された、受動的ディスクでサーバを持たないファイルシステム６００上の１つのディスクは、ネットワーク帯域幅情報を保持するためのネットワーク状態テーブル６０７を含む。また、ディスクアドレスにファイル名をマッピングするためのシステムメタデータテーブル６３４は、単一のディスク上に記憶され、システムデータディスク６１０として参照された。
【００６４】
図１０Ｂを付加的に参照すると、受動的ディスクでサーバを持たないファイルシステム６００のデータグラムが図示されている。クライアント６０４は、ファイル名をディスクアドレスにマッピングするファイルロケータテーブル６０８における、システムレベルのメタデータ情報をキャッシュする。システムレベルのメタデータはクライアント６０４上にキャッシュされるが、ファイルシステム６００について単一のシステムレベルのメタデータテーブルを保持し、クライアント６０４が、上記ファイルシステム６００へ、ファイルをディスクにマッピングするための要求を送ることは、本発明の範囲内である。特定されたディスクの上の位置にファイルをマッピングするために、ディスクアドレステーブルが、ディスクメタデータテーブルからクライアント６０４上にキャッシュされる。ファイルシステム６００のための単一のディスクメタデータテーブルを保持することも、本発明の範囲内である。アドミションコントローラ６１２はクライアントのアドミション処理を制御する。
【００６５】
ディスク６０２は、ディスク６０２上に存在する複数のファイルへのアクセスを制限するためのファイルアクセスコントローラ６１８と、ディスク帯域幅及びデータ完全性の情報を提供するためのディスク状態テーブルとを含む。ファイル読み出し又は書き込み動作の間のファイルアクセスコントローラ６１８への排他的なアクセスを確立するためのファイルロックは、ファイルアクセスキュー６２４及びファイルアクセスキュータイマ６２６によって提供される。また、ファイルロックはディスク状態テーブル６１６へのアクセスのために提供され、ロック機構はディスク状態キュー６２０及びディスク状態キュータイマ６２２によって提供される。また、ディスク６０２上のアドレスにファイルをマッピングするためのディスクメタデータテーブル６１４が含まれる。
【００６６】
ネットワークデータディスク６０６はネットワーク状態キュー６３０及びネットワーク状態タイマ６３２を含み、ネットワーク状態テーブル６０７へのアクセスの間、ファイルロックを提供する。
【００６７】
図１０Ｃを参照すると、ステップ６４０で、クライアント６０４は、所望のファイルがその上に存在するディスク６０２を決定することによってファイル動作を開始する。クライアント６０４上のファイルロケータテーブル６０８は、ファイルが存在するディスク６０２を決定するために質問される。しかしながら、ファイルロケータテーブル６０８の中のデータが古いとき、クライアントは、システムデータディスク６１０上のシステムメタデータテーブル６３４から、テーブル６０８の中のシステムメタデータをリフレッシュする。クライアント６０４上のシステムメタデータをキャッシュせず、代わりにシステムデータディスク６１０上のシステムメタデータテーブル６３４に質問して、ファイルが存在するディスク６０２を決定することは、本発明の範囲内である。次にステップ６４２で、ディスク６０２上のファイルのアドレスが決定される。クライアント６０４上のディスクアドレステーブル６１０の中のディスクメタデータは、ディスクアドレスを決定するために質問される。しかしながら、ディスクアドレステーブル６１０の中のデータが古いとき、クライアントは、ディスク６０２上のディスクメタデータテーブル６１４から、テーブル６１０の中のディスクメタデータをリフレッシュする。しかしながら、ファイルが存在するディスク６０２のディスクメタデータテーブル６１４に質問して、ディスクアドレスを決定することは、本発明の範囲内である。いったん所望のファイルに対応するディスクアドレスが得られると、ネットワーク及びディスク帯域幅の利用可能度は決定される。この好ましい実施形態において、ネットワークデータディスク６０６上に位置付けられているネットワーク状態テーブル６０７は、利用可能なネットワーク帯域幅を決定するために用いられる。しかしながら、ネットワーク帯域幅の決定及び割り当てに関して前述された分割及び共有技術を用いることは、本発明の範囲内である。
【００６８】
帯域幅決定のための第１のアプローチにおいて、ステップ６４４で、ディスク状態テーブル６１６及びネットワーク状態テーブル６０７は、データ完全性を確立するために、読み出される間ロックされている。用いられる上記ロック技術は、多少短い満了（expiration）時間期間について本明細書の以前のセクションにおいて記述された技術と同様である。しかしながら、より長い満了時間期間又はユーザが調整できる時間期間を用いることは、本発明の範囲内である。また、この好ましい実施形態において、ロックは読み出しファイル処理の間及び書き込みファイル処理の間の双方で用いられるが、書き込み処理の間のみでロックを適用することは、本発明の範囲内である。ディスク状態テーブル６１６及びネットワーク状態テーブル６０７へのアクセスを取得した後で、ステップ６４６で、クライアント６０４は利用可能な帯域幅を決定する。十分な帯域幅が存在するとき、ステップ６４８で、クライアント６０４は、増大した負荷を反映するために、ディスク状態テーブル６１６及びネットワーク状態テーブル６０７を更新する。更新の後で、ステップ６５０で、テーブル６０７及び６１６の双方へのロックは開放される。ステップ６５２でいったんファイル動作が完了させられると、ステップ６５４で、ディスク状態テーブル６１６及びネットワーク状態テーブル６０７は減少した負荷を反映するために更新される。また、ファイル動作が書込みであるときは、ステップ６５５で、システムメタデータテーブル６３４及びディスクメタデータテーブル６１４は更新され、メッセージは複数のクライアント６０４にブロードキャストされ、テーブル６３４及び６１４のキャッシュされたコピーを更新する。メタデータの更新されたコピーをブロードキャストする代わりに、それに代わるアプローチは、複数のクライアントに存在するシステムレベルのメタデータの複数のコピーを無効化する。
【００６９】
帯域幅決定のための第２のアプローチにおいては、ステップ６５６で、データ完全性を確立するために、ディスク状態テーブル６１６は読み出されている間はロックされる。再び、用いられる上記ロック技術は、多少短い満了時間期間について本明細書の以前のセクションにおいて記述された技術と同様であり、それは読み出しファイル処理の間及び書き込みファイル処理の間の双方で用いられる。ディスク状態テーブル６１６へのアクセスを取得した後で、ステップ６５８で、クライアント６０４は利用可能なディスク帯域幅及びネットワーク帯域幅を決定する。このアプローチを用いて、ディスク状態テーブル６１６は、ディスク６０２へ割り当てられたネットワーク帯域幅の記録を保持する。ディスク６０２が十分なネットワーク帯域幅を有さないときは、ステップ６６０で、付加的なネットワーク帯域幅を取得するために、分割及び共有技術が用いられる。十分なディスク及びネットワークの帯域幅が存在するときは、ステップ６６２で、クライアント６０４は、増大した負荷を反映するためにディスク状態テーブル６１６を更新する。更新の後で、ステップ６６４で、ディスク状態テーブルへのロックは開放される。ステップ６６６でいったんファイル動作が完了させられると、ステップ６６８で、ディスク状態テーブル６１６は減少したディスク及びネットワークの負荷を反映するために更新される。ファイル動作が書込みであるときは、ステップ６６９で、上述の第１のアプローチで記述されたように、メタデータは更新される。
【００７０】
セミアクティブディスク、サーバを持たないファイルシステム
図１１Ａを参照すると、複数のクライアント７０４にファイルサービスを提供するための、セミアクティブディスクでサーバを持たないファイルシステム７００が図示されている。上記セミアクティブディスクでサーバを持たないシステム７００は、セミアクティブディスク７０２がクライアント７０４からの要求に応じてアドミション処理を管理することを除いて、受動的ディスクでサーバを持たないファイルシステムと同様である。セミアクティブディスクでサーバを持たないシステム７００は、クライアント７０４から認証キーを要求するような、ファイルアクセスの間のシステムセキュリティーを付加的に含む。アドミションコントローラと同様に、アドミション制御及びデータ一貫性の管理に必要な情報は、セミアクティブディスク７０２に記憶されている。ネットワークデータディスク７０６はネットワーク帯域幅情報を記憶する。システムデータディスク７１０は、ファイル名に対応したディスクアドレスのような、システムメタデータを提供する。
【００７１】
図１１Ｂを付加的に参照すると、セミアクティブディスクでサーバを持たないファイルシステム７００のデータグラムが提供されている。クライアント７０４は、ファイル名をディスクアドレスにマッピングするファイルロケータテーブル７０８の中に、システムレベルのメタデータ情報をキャッシュする。システムレベルのメタデータはクライアント７０４上にキャッシュされるが、ファイルシステム７００について単一のシステムレベルのメタデータテーブルを保持し、上記ファイルシステム７００へ、クライアント７０４がファイルをディスクへマッピングすることについて要求を送ることは、本発明の範囲内である。特定されたディスク上の位置へファイルをマッピングするために、ディスクメタデータテーブルから、クライアント７０４上にディスクアドレステーブルがキャッシュされる。ファイルシステム７００について、単一のディスクメタデータテーブルを保持することも、本発明の範囲内である。要求マネージャ７１２はクライアントの要求をセミアクティブディスク７０２に送る。
【００７２】
セミアクティブディスク７０２は、クライアント７０４からの要求のためのアドミション処理を管理するための、アドミションコントローラ７１３を含む。ファイルアクセスコントローラ７１８はディスク７０２上に存在するファイルへのアクセスを制限し、ディスク状態テーブル７１６はディスク帯域幅とデータ完全性の情報とを提供する。ファイルの読み出し又は書き込み動作の間のファイルアクセスコントローラ７１８への排他的なアクセスを確立するためのファイルロックは、ファイルアクセスキュー７２４及びファイルアクセスキュータイマ７２６によって提供される。ファイルロック処理は、セミアクティブディスク７０２がロックのタイムアウトとリフレッシュを扱うことを除いて、以前に記述された処理と同様である。また、ファイルロックはディスク状態テーブル７１６へのアクセスについて提供され、ロック機構はディスク状態キュー７２０及びディスク状態キュータイマ７２２によって提供される。また、ファイルをディスク７０２上のアドレスにマッピングするためのディスクメタデータテーブル７１４が含まれる。
【００７３】
ネットワークデータディスク７０６はネットワーク状態キュー７３０及びネットワーク状態タイマ７３２を含み、ネットワーク状態テーブル７０７へのアクセスの間のファイルロックを提供する。
【００７４】
図１１Ｃを参照すると、セミアクティブディスクでサーバを持たないファイルシステム７００におけるファイル動作は、対応する要素が７４０から７６９の範囲の番号を付けられている、受動的ディスクでサーバを持たないファイルシステム６００におけるファイル動作と同様である。セミアクティブディスクでサーバを持たないファイルシステム７００は、アドミション制御、要求スケジューリング、ファイルシステムのセキュリティー、及びフリーリスト管理がセミアクティブディスク７０２によって実行されていることで、受動的ディスクでサーバを持たないファイルシステム６００とは異なっている。いったん、ステップ７４０及び７４２で、所望のファイルに対応したディスクアドレスが取得されると、ステップ７４３で、クライアント７０４はディスク７０２へファイル動作要求を送る。ディスク７０２の中のアドミションコントローラ７１３はクライアント７０４の認証キーを照合し、ステップ７４５及び７５７で、処理のための要求をスケジュール化する。ディスク７０２の中の暗号化ハードウェアは、キー確認において補助する。書き込み要求に対して、アドミションコントローラはクライアント７０４にフリーブロックアドレスを提供する。アドミションコントロール処理の残りは、ディスク７０２上にシフトしているアドミションコントローラの機能を特別の例外として、受動的ディスクでサーバを持たないファイルシステム６００における処理と同様のままである。
【００７５】
本発明はその好ましい本実施形態において記述したが、添付された請求項の中で示される本発明の精神から離れることなく、一定の修正及び変化が可能であることが理解されるだろう。
【図面の簡単な説明】
【図１Ａ】  従来技術のマルチメディアファイルシステムを図示するネットワークデータグラムである。
【図１Ｂ】  本発明のこの好ましい実施形態を図示するネットワークデータグラムである。
【図２Ａ】  本発明の原理に基づいて構成された専用分散型サーバファイルシステムの、この好ましい実施形態の概略図を示すネットワークデータグラムである。
【図２Ｂ】  本発明の原理に基づいて構成された連携分散型サーバファイルシステムの、この好ましい実施形態の概略図を示すネットワークデータグラムである。
【図２Ｃ】  本発明の原理に基づいて構成されたダイナミックディスクマネージャファイルシステムの、この好ましい実施形態の概略図を示すネットワークデータグラムである。
【図２Ｄ】  本発明の原理に基づいて構成されたハイブリッドファイルシステムの、この好ましい実施形態の概略図を示すネットワークデータグラムである。
【図３Ａ】  本発明の原理に基づいて構成された受動的ディスクでサーバを持たないファイルシステムの、この好ましい実施形態の概略図を示すネットワークデータグラムである。
【図３Ｂ】  本発明の原理に基づいて構成されたセミアクティブディスクでサーバを持たないファイルシステムの、この好ましい実施形態の概略図を示すネットワークデータグラムである。
【図４】  帯域幅を管理する手順を図示するシーケンス図である。
【図５Ａ】  複数のファイル及びテーブルをロック及びロック解除する手順を図示するシーケンス図である。
【図５Ｂ】  ロックの構成を図示するデータグラムである。
【図６Ａ】  本発明の原理に基づいて構成された専用分散型サーバファイルシステムの、この好ましい実施形態のブロック図である。
【図６Ｂ】  本発明の原理に基づいて構成された専用分散型サーバファイルシステムの、この好ましい実施形態の詳細なブロック図である。
【図６Ｃ】  本発明の原理に基づいて構成された専用分散型サーバファイルシステムの、この好ましい実施形態のファイル動作のアドミション制御の手順を図示するシーケンス図である。
【図７Ａ】  本発明の原理に基づいて構成された連携分散型サーバファイルシステムの、この好ましい実施形態のブロック図である。
【図７Ｂ】  本発明の原理に基づいて構成された連携分散型サーバファイルシステムの、この好ましい実施形態の詳細なブロック図である。
【図７Ｃ】  本発明の原理に基づいて構成された連携分散型サーバファイルシステムの、この好ましい実施形態のファイル動作のアドミション制御の手順を図示するシーケンス図である。
【図８Ａ】  本発明の原理に基づいて構成されたダイナミックディスクマネージャファイルシステムの、この好ましい実施形態のブロック図である。
【図８Ｂ】  本発明の原理に基づいて構成されたダイナミックディスクマネージャファイルシステムの、この好ましい実施形態の詳細なブロック図である。
【図８Ｃ】  本発明の原理に基づいて構成されたダイナミックディスクマネージャファイルシステムの、この好ましい実施形態のファイル動作のアドミション制御の手順を図示するシーケンス図である。
【図９Ａ】  本発明の原理に基づいて構成されたハイブリッドファイルシステムの、この好ましい実施形態のブロック図である。
【図９Ｂ】  本発明の原理に基づいて構成されたハイブリッドファイルシステムの、この好ましい実施形態のファイル動作のアドミション制御の手順を図示するシーケンス図である。
【図９Ｃ】  本発明の原理に基づいて構成されたハイブリッドファイルシステムの、この好ましい実施形態において、クラスタの拡張と縮小を管理する手順を図示するシーケンス図である。
【図９Ｄ】  本発明の原理に基づいて構成されたハイブリッドファイルシステムの、この好ましい実施形態の詳細なブロック図である。
【図１０Ａ】  本発明の原理に基づいて構成された受動的ディスクでサーバを持たないファイルシステムの、この好ましい実施形態のブロック図である。
【図１０Ｂ】  本発明の原理に基づいて構成された受動的ディスクでサーバを持たないファイルシステムの、この好ましい実施形態の詳細なブロック図である。
【図１０Ｃ】  本発明の原理に基づいて構成された受動的ディスクでサーバを持たないファイルシステムの、この好ましい実施形態のファイル動作のアドミション制御の手順を図示するシーケンス図である。
【図１１Ａ】  本発明の原理に基づいて構成されたセミアクティブディスクでサーバを持たないファイルシステムの、この好ましい実施形態のブロック図である。
【図１１Ｂ】  本発明の原理に基づいて構成されたセミアクティブディスクでサーバを持たないファイルシステムの、この好ましい実施形態の詳細なブロック図である。
【図１１Ｃ】  本発明の原理に基づいて構成されたセミアクティブディスクでサーバを持たないファイルシステムの、この好ましい実施形態のファイル動作のアドミション制御の手順を図示するシーケンス図である。
【符号の説明】
１０…従来のファイルシステム、
１２，３４…記憶装置、
１４，３６，４８，５８，６８，７８，８２，８７，１３１，２３１，３０４，４０８，６０４，７０４…クライアント、
１６，３２…ネットワーク、
１８…集中化されたサーバ、
２０…内部制御ネットワーク、
３０…分散型サーバファイルシステム、
３８…サーバ、
４０，１３０…専用分散型サーバファイルシステム、
４２，５２，１３４，２３４，３０６…ディスクマネージャ（ＤＭ）、
４４，５４，６４，７４，８４，１３２，２３２，３０２，４０２，６０２…ディスク、
４６，１３６，３０７…ネットワークマネージャ、
５０，２３０…連携分散型ファイルシステム、
５６…現在のネットワークマネージャ、
６０，３００…ダイナミックディスクマネージャファイルシステム、
６２…ダイナミックディスクマネージャ、
６６…ダイナミックネットワークマネージャ、
７０，４００…ハイブリッドファイルシステム、
７２，４０６…ファイルマネージャ（ＦＭ）、
７６，４０４…クラスタマネージャ（ＣＭ）、
８０，６００…受動的なディスクでサーバを持たないファイルシステム、
８３，８９，６０６，７０６…ネットワークデータディスク、
８５，９１，６１０，７１０…システムデータディスク、
８６，７００…セミアクティブディスクでサーバを持たないファイルシステム、
８８，７０２…セミアクティブディスク、
１１２…ユーザシグネチャー、
１３８，２３８，３０８…ディスクマネージャのミラー、
１４０…ネットワークマネージャのミラー、
１４２…ディスクロケータテーブル、
１４４，２４４，３１０，４１０，６０８，７０８…ファイルロケータテーブル、
１４６，２４６…マネージャロケータテーブル、
１４８，２４８，３１２，４１４，６１２，７１３…アドミションコントローラ、
１５２，２５２，３１６…循環キュー、
１５４，２５４，３１８…循環キュータイマ、
２３５，２３７…トークン、
２３６…現在のネットワークマネージャ（ＣＮＭ）、
２４２…ディスクからＤＭへのテーブル、
３２０…ネットワーク帯域幅決定部、
３２２…ネットワークマネージャロケータテーブル、
４０１…クラスタ、
４０９，７１２…要求マネージャ、
４１１…ディスクアドレステーブル、
４１２，６３４，７３４…システムメタデータテーブル、
４１３，６１４，７１４…ディスクメタデータテーブル、
４１５，７２４，６２４…ファイルアクセスキュー、
４１６…ファイルアクセスタイマ、
４１７，６０７，７０７…ネットワーク状態テーブル、
４１８，６３０…ネットワーク状態キュー、
４１９，６３２…ネットワーク状態タイマ、
４２０…クラスタコントローラ、
４２１，６１６，７１６…ディスク状態テーブル、
４２２，７３０…キュー、
４２３，７３２…タイマ、
６１８，７１８…ファイルアクセスコントローラ、
６２０，７２０…ディスク状態キュー、
６２２…ディスク状態タイマ、
６２６，７２６…ファイルアクセスキュータイマ、
７１５…セキュリティーマネージャ、
７２２…ディスク状態キュータイマ。
【図１Ａ】
0003716166.tif 000002
【図１Ｂ】
0003716166.tif 000003
【図２Ａ】
0003716166.tif 000004
【図２Ｂ】
0003716166.tif 000005
【図２Ｃ】
0003716166.tif 000006
【図２Ｄ】
0003716166.tif 000007
【図３Ａ】
0003716166.tif 000008
【図３Ｂ】
0003716166.tif 000009
【図４】
0003716166.tif 000010
【図５Ａ】
0003716166.tif 000011
【図５Ｂ】
0003716166.tif 000012
【図６Ａ】
0003716166.tif 000013
【図６Ｂ】
0003716166.tif 000014
【図６Ｃ】
0003716166.tif 000015
【図７Ａ】
0003716166.tif 000016
【図７Ｂ】
0003716166.tif 000017
【図７Ｃ】
0003716166.tif 000018
【図８Ａ】
0003716166.tif 000019
【図８Ｂ】
0003716166.tif 000020
【図８Ｃ】
0003716166.tif 000021
【図９Ａ】
0003716166.tif 000022
【図９Ｂ】
0003716166.tif 000023
【図９Ｃ】
0003716166.tif 000024
【図９Ｄ】
0003716166.tif 000025
【図１０Ａ】
0003716166.tif 000026
【図１０Ｂ】
0003716166.tif 000027
【図１０Ｃ】
0003716166.tif 000028
【図１１Ａ】
0003716166.tif 000029
【図１１Ｂ】
0003716166.tif 000030
【図１１Ｃ】
0003716166.tif 000031