JP3716166B2 - ネットワークに接続された記憶装置のためのスケーラブルなマルチメディアファイルシステム - Google Patents
ネットワークに接続された記憶装置のためのスケーラブルなマルチメディアファイルシステム Download PDFInfo
- Publication number
- JP3716166B2 JP3716166B2 JP2000226653A JP2000226653A JP3716166B2 JP 3716166 B2 JP3716166 B2 JP 3716166B2 JP 2000226653 A JP2000226653 A JP 2000226653A JP 2000226653 A JP2000226653 A JP 2000226653A JP 3716166 B2 JP3716166 B2 JP 3716166B2
- Authority
- JP
- Japan
- Prior art keywords
- file
- disk
- network
- manager
- bandwidth
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0643—Management of files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0689—Disk arrays, e.g. RAID, JBOD
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/21—Server components or server architectures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
【発明の属する技術分野】
本発明は一般にマルチメディアデータの記憶のためのファイルシステムに関する。特に、本発明は、リアルタイム又は大容量要求(high volume requirement)のいずれかでデータを記憶しかつ検索することに用いることができ、安価で、スケーラブルな、オープンアーキテクチャのファイルシステムに関する。
【0002】
【従来の技術】
ネットワーキングおよび記憶装置の技術における最近の発展、および拡大するマルチメディアアプリケーションに対して、マルチメディアデータの改良された記憶及び検索手段を提供することについての関心が増大している。通信教育及びトレーニング、マルチメディアの娯楽、ニュースの編集及び配信、ホテル及び企業におけるビデオ・オン・デマンドのサービス、マルチメディア通信、及びコマーシャルは、改良された記憶及び検索プロセスから利益を得ることが期待されているアプリケーションのうちのいくつかである。マルチメディアデータのタイプは、テキスト及び画像と同じく、さまざまなフォーマットにおける音声及び動画を含む。
【0003】
データタイプの特性の本質的な違いのために、マルチメディアデータの記憶及び検索に対して、伝統的なテキスト及び数字のデータと比較して増大した拘束条件がかけられた。テキストデータとは異なり、連続的なメディアとして知られているマルチメディアの音声及び動画のデータは、時間的に近接又は連続して再生されたときのみ知覚できる。それに加えて、連続的なメディアのデータは通常大量の記憶空間を要求し、サーバに対して厳しい帯域幅要求をする。一般に、従来のシステムは、システムのサイズが増大することによって引き起こされた増大する帯域幅要求に応じることについて典型的にはあまりスケーラブルでない、集中化されたサーバのアプローチを用いている。
【0004】
【発明が解決しようとする課題】
ゆえに、高速ネットワークによって複数のクライアントがネットワークに接続された記憶システムに相互に接続されている、マルチメディアアプリケーションのためのファイルシステムを提供することが望ましい。それに加えて、ファイルシステムが、サーバを持たないシステム、又はシステム管理の負荷がすべてのサーバにわたって共有される分散型のサーバと共に用いることに適応できることが望ましい。また、ファイルシステムが、実装の単純さと同様に、性能についてもスケーラブルであることが望ましい。それに加えて、ファイルシステムがリアルタイムではないデータオブジェクトと同様にリアルタイムデータの動作をサポートすることが望ましい。それに加えて、システムが、ファイルセキュリティーを提供し、障害が発生したときに段階的に機能低下(gracefully degrade)することが望ましい。
【0005】
【課題を解決するための手段】
本発明は、ネットワーク上でマルチメディアクライアントとネットワーク記憶装置との間で情報を通信するための、マルチメディアファイルシステムを提供する。上記ファイルシステムは、各ネットワーク記憶装置に対して、1つのクラスタマネージャと少なくとも1つのファイルマネージャとを備えたクラスタを含む。クライアント上に位置するクラスタマネージャは、選択されたファイルに対するファイル動作のための、クライアントからのリクエストのアドミションを制御するためのアドミションコントローラを含む。上記アドミションコントローラからのネットワークの帯域幅要求は、クラスタマネージャに含まれるネットワーク状態決定部(network status determiner)によって応答される。上記ネットワーク状態決定部は利用可能なネットワークの帯域幅を決定する。各ファイルマネージャは複数のクライアントのうちの1つに位置する。上記ファイルマネージャは、ネットワーク記憶装置上に位置する対応するファイルのファイル保守手順を管理する。各ファイルマネージャは、利用可能なディスクの帯域幅を決定するためのディスク状態決定部(disk status determiner)を含む。上記ディスク状態決定部は、アドミションコントローラからの要求に応答する。
【0006】
本発明、その目的及び利点のより完全な理解のために、以下の明細書と添付の図とを参照する。
【発明の実施の形態】
【0007】
図1Aを参照すると、ネットワーク16を介して複数のクライアント14にサービスを供給する、サーバに接続された記憶装置12のための従来型のファイルシステム10が図示されている。集中化されたサーバ18は、内部制御ネットワーク(inner control network)20上に位置された複数の記憶装置12への複数のクライアント14によるアクセスを制御する。集中化されたサーバ18は、他のすべてのファイルアクセス、読み出し/書き込み動作、及びセキュリティーの問題と同様にアドミション処理を制御する単一の専用ノードである。すべての読み出し/書き込み動作は集中化されたサーバによって承認され、かつ扱われる。このように、ファイルシステム10の実装は単純で、データ完全性を保持するために必要とされるネットワークの帯域幅は狭い。また、集中化された制御のために、容易にファイルのセキュリティーを強化することができる。しかしながら、集中化されたサーバのアプローチはスケーラビリティーの問題と、フォールトトレランスの問題によって制限されている。クライアントの数が増大するとき、サーバの帯域幅に対する増大する要求が増大する数のファイル動作の要求をサービスさせ、スケーラビリティーが問題となる。また、集中化されたサーバは、システムの中断を引き起こす単一の点の障害(single point failure)のためのポテンシャルサイトである。サーバの障害はすべてのクライアントに対して一斉に不利な効果を持つ。サーバのミラーを保持することができるが、サーバが障害を起こしたときに段階的な機能低下をしない。そのかわりに、サーバのミラーが機能的になる前に、サーバの動作の一時的な停止が存在する。
【0008】
図1Bを参照すると、本発明の原理に基づいて構成された分散型サーバファイルシステム30の1つの実施形態が図示されている。ファイルシステム30において、指定された複数のネットワークノードの集合が、サーバの負荷及び機能を共有している。このように負荷を複数のサーバ上に分散することで、システムのスケーラビリティーを可能にする。スケーラビリティーは、クライアントの数が増大したときに、付加的なサーバを用いることによって達成される。分散型サーバファイルシステム30において、単一の点による障害は存在しない。障害が発生したとき、故障したサーバの負荷は他の複数のサーバにシームレスに移されることで、システムは段階的な機能低下をする。いかなる場合においても、サーバの障害は、複数のクライアントのうちのサブセットにのみ影響する。増大した数のノードがサーバとして動作しているとき、セキュリティーのレベルは集中化されたサーバのときよりも低くなっている。それに加えて、すべてのサーバにわたって一貫した情報を保守することと同様に、資源を共有することは、制御アルゴリズムの実装を要求する。
【0009】
ファイルシステム30のさまざまな装置は、通信の基礎構造を提供するネットワーク32によって、互いに接続されている。本実施形態において、ファイバーチャネルネットワークがネットワーク32のために用いられるが、イーサネットやSCSIのような他のネットワークを用いることは本発明の範囲内のことである。音声データファイル、動画データファイル及び動画データオブジェクトのようなマルチメディアファイルを記憶し、かつ供給するために、複数の記憶装置34はネットワークに接続されている。本発明の範囲内にある記憶装置の例は、単一のディスク、又は1つのファイルがストリップ化されているディスクの集合のような複数の論理的ディスクを含む。複数の記憶装置34と、上記記憶装置上のさまざまなマルチメディアファイルとへのアクセスを取得するために、複数のクライアント36はネットワーク30に接続されている。他のすべてのファイルアクセス、ファイルの読み出し/書き込み動作、及びファイルのセキュリティーの問題と同様に、複数のクライアント36のアドミション処理を制御するために、1つ又は複数のサーバ38はネットワーク32に接続されている。図1Bに専用サーバ38が図示されているが、本発明の範囲は、複数のクライアント36や記憶装置34のような他のネットワークデバイスに、サーバ38の機能を分散することを含んでいる。
【0010】
ネットワークに接続された記憶装置34を用いる分散型ファイルシステムを有することにより、2つの主要な性能の利点が存在する。第1に、単純な、データ集中化動作(data intensive operations)はサーバ38からオフロードされ、従ってサーバ38によってより多くの数量のクライアント36をサポートすることができる。第2に、ファイルアクセス計算と、ネットワーク転送帯域幅とを各記憶装置34に接続することによって、総転送帯域幅は(サーバメモリ及びネットワーク帯域幅よりはむしろ)記憶装置34に対してスケーラブルである。それに加えて、サーバ38を介して蓄積転送でデータをコピーする必要が無い。
【0011】
サーバの機能
マルチメディアサービス環境を管理することについて、サーバ38が潜在的に責任を果たしうるいくつかのタスクが存在する。上記タスクは、ディスク帯域幅管理、ネットワーク帯域幅管理、ファイルロック管理、セキュリティーの問題、フリーリスト管理、フォールトトレランス、メタデータ管理、及びスケジューリングを含む。上記ディスク帯域幅管理は、利用可能な記憶装置の帯域幅と、アドミション制御を完了させるために要求された帯域幅とをチェックすることを含む負荷の軽い動作である。上記ネットワーク帯域幅管理のタスクも負荷の軽い動作であり、そこにおいてサーバ38はアドミション制御を実行する間のネットワーク帯域幅の利用可能度をチェックする。ファイルロック管理は、データ完全性を保持するためにファイルの読み出し/書き込みのロックを保持することと、応答の無いクライアントからファイルのロックを解放することとを含む。書き込みロックは、一度にただ1つのクライアントがあるファイルを修正することが許可されていることを確立する。読み出しロックは、データがクライアント36によって読み出しのためにキャッシュされた後で、クライアント36にデータにおける変化について通知するために用いられる。複数の読み出しロックはサーバ38に大きな負荷を与える。システム30のためのセキュリティータスクは、あるクライアントに対して選択されたファイルへのアクセスを制限することを含む、サーバ38への大きな負荷である。複数のサーバのフリーリスト管理のタスクは、複数の記憶装置34上への書き込み動作の割り当てのために利用可能な複数のブロックのフリーリストを管理することを含む。書き込み要求アドミションの後で、サーバ38は書き込みの許可を要求したクライアント36に複数のフリーブロックのアドレスを提供する。フリーリスト管理は大きな負荷である。フォールトトレランスのタスクは記憶装置のミラーリングを含み、他の障害回復技術と同様に複数のファイルを制御する。障害への好ましい応答は、システムの性能の段階的な機能低下を含むが、バックアップユニットがオンラインになるまでのシステムの動作の一時的なシャットダウンもまた効果的な動作オプションである。フォールトトレランスの技術はどちらもサーバに大きな負荷をかける。メタデータ管理は、サーバを持たないファイルシステムのアプローチにおいて複数のクライアントがメタデータ情報をキャッシュするときに必要とされる、中間の負荷のサーバのタスクである。他の複数のクライアントによる書き込み動作がメタデータを修正させるときは、サーバとして機能しているクライアントは、キャッシュされたデータを論理的に再マッピングするか、上記他の複数のクライアントに新しいメタデータを再ロードするように通知するかのいずれかを実行する。2つのタイプのスケジューリング問題、すなわちディスクスケジューリングとネットワーク帯域幅スケジューリングが複数の記憶装置サーバを必要とする。ディスクスケジューリングアルゴリズムは、要求のリアルタイム強制に対応しているときに、ディスクヘッドの運動を最小化する。ネットワークスケジューラは、競合している複数の要求を時間多重によってネットワーク帯域幅を割り当てる。
【0012】
分散型サーバ構成を有するファイルシステム
図2Aから図2Dを参照すると、本発明の範囲内にある分散型サーバ構成のいくつかの実施形態が図示されている。上記分散型サーバ構成の各々は、特定のサーバ構成が最も適当である環境を示す長所と短所を有する。サーバ構成は、専用分散型サーバ(dedicated distributed severs)から、連携分散型サーバ(cooperative distributed severs)へ、ダイナミックディスクマネージャを通じて、最後にハイブリッド構成に至るまでの範囲を有する。構想されたファイルシステムの一部の概観を提供するために、各分散型サーバ構成型の特性の短い要約を以下に続ける。各構成型のより詳細な記述は、この明細書の後のセクションにおいて提供される。
【0013】
図2Aを参照すると、専用分散型サーバファイルシステム40において、専用ディスクマネージャ(DM)42は各論理的ディスク44に静的に割り当てられ、そのディスク44のために、アドミションコントロールとサーバに関連した他の複数のタスクとを実行する。ファイルシステムの中の各ディスクマネージャ42は、他の複数のディスクマネージャ42の識別(identity)について認識している。ファイルシステム40のためのネットワーク帯域幅管理及びスケジューリングのタスクは、集中化されたノード上に静的に位置付けされているネットワークマネージャ46によって扱われる。それに加えて、各クライアント48は、各ディスク44を対応するディスクマネージャ42にマッピングするディスクロケータテーブルを保持する。
【0014】
図2Bを参照すると、連携分散型サーバファイルシステム50において、再び、複数のディスクマネージャ52は複数のディスク54に静的に割り当てられる。専用ネットワークマネージャを割り当てることによって発生する集中化のボトルネックを取り除くために、ネットワークマネージャの複数の機能及びタスクは、現在のネットワークマネージャ56とされたディスクマネージャ52によって、連携して扱われる。ネットワーク帯域幅情報を交換するために、ディスクマネージャ52は、この明細書で後に説明される多数の可能な動作を用いる。再び、各クライアント58は、各ディスク54を対応するディスクマネージャ52にマッピングするディスクロケータテーブルを保持する。
【0015】
図2Cを参照すると、ダイナミックディスクマネージャファイルシステム60において、複数のクライアント68は、一般にはサーバに割り当てられるネットワーク及びファイル管理のタスクを共有するために用いられる。ファイルシステム60において、複数のクライアントは各ディスク64に対して複数のダイナミックディスクマネージャ62として割り当てられ、ゆえに専用サーバは必要とされない。複数のクライアント68は一般にはサーバに割り当てられる複数のタスクを扱うことを委任されるので、ネットワークの環境は、静的に割り当てられた複数のファイルマネージャを有するファイルシステムよりは安全ではない。また、複数のダイナミックディスクマネージャ62は、ダイナミックネットワークマネージャ66を割り当てることによって、ネットワークマネージャの複数の機能及びタスクを連携して扱う。
【0016】
図2Dを参照すると、ハイブリッドファイルシステム70が図示されている。上記ハイブリッドファイルシステム70は、ファイルの要求の増大につりあってノードの数が実質的に増大しているスケーラブルなシステムにおいて、特に適切である。ハイブリッドファイルシステム70において、各ディスク74のためのファイル管理のタスクは、静的に割り当てられたクラスタマネージャ(CM)76と、動的に割り当てられた複数のファイルマネージャ72の集合との間で分割及び共有される。各ディスク74について複数のファイルマネージャ72を提供することは、個別のファイルマネージャへの負荷を減少させ、ファイルシステム70のスケーラビリティーを可能にする。複数のクライアント78は一般にはサーバに割り当てられる複数のタスクを扱うことを委任されるので、ネットワークの環境は、静的に割り当てられた複数のファイルマネージャを有するファイルシステムよりは安全ではない。複数のクラスタを管理することに加えて、また複数のクラスタマネージャ76はネットワークマネージャの複数の機能及びタスクを連携して扱う。
【0017】
図3A及び図3Bを参照すると、すべてのクライアントが信任されているときのような、セキュリティーが主要な関心ではない環境においては、サーバを持たないファイルシステムが分散型ファイルシステムに代わる1つの選択肢である。サーバを持たないシステムにおいては、複数の記憶装置は、複数のクライアントと同様に、ネットワークに直接に接続されている。任意のクライアントは任意のデバイスに直接にアクセスすることができる。システムの状態に基づいて、クライアント又はディスクのいずれかが、アドミション制御及びリソース割り当てを提供し、ファイルに関連したデータ完全性の問題を保持する。このように、サーバの機能はセルフサービスの方式で分散されている。サーバを持たないファイルシステムは非常にスケーラブルであり、性能のボトルネックを事実上持たない。あるクライアントの障害は他のいかなるクライアントにも影響を与えないので、サーバを持たないシステムにおいて、サーバのフォールトトレランスの問題は存在しない。
【0018】
特に図3Aを参照すると、受動的ディスクでサーバを持たないファイルシステム(passive disk serverless file system)80が図示されている。上記受動的ディスクでサーバを持たないシステム80においては、アドミション制御及びデータの一貫性の管理のために必要なすべての情報は複数のディスク84の上に記憶される。一部のディスクキャッシュと少量の帯域幅とは、ファイルシステム80のための制御情報を記憶しかつ検索するために予約されている。ファイル動作を要求するクライアント82は、自身のアドミション制御及びリソース割り当てを提供し、ファイル動作に関連付けられたデータ完全性の問題を保守する。すべてのディスク84のディスクキャッシュに記憶されているディスク状態ファイルは、データ完全性の保守のための情報と同様に、アドミション制御のための帯域幅情報を含む。ネットワークデータディスク83はファイルシステム80のためのネットワーク帯域幅情報を提供する。システムデータディスク85は、ファイル名のようなシステムメタデータをディスクアドレスマッピングに提供する。
【0019】
図3Bを参照すると、セミアクティブディスクでサーバを持たないファイルシステム(semi-active disk serverless file system)86が図示されている。上記セミアクティブディスクでサーバを持たないファイルシステム86は、アドミション制御がクライアント87ではなくセミアクティブディスク88上で実行されることを除いて、上記受動的ディスクでサーバを持たないファイルシステム80と同様である。受動的ディスクでサーバを持たないファイルシステム80におけるように、ネットワークデータディスク89及びシステムデータディスク91は、ネットワーク帯域幅情報とシステムのメタデータとをそれぞれ提供する。
【0020】
ファイルシステムの動作の技術及びモード
以下のいくつかのセクションは、本発明の範囲内にあるいくつかのファイルシステム構成に関連した、いくつかのオペレーティング技術及びモードを記述している。
【0021】
アドミション制御
アドミション制御は、クライアントがファイル上で動作する前に完了させなければならない処理である。クライアントがファイルの読み出し又はファイルへの書き込みをする前に、要求された動作のために十分なファイル及びネットワーク帯域幅が存在しなければならない。それに加えて、ファイルはクライアントがアクセス可能なものでなければならない。例えば、クライアントは、もう1つのクライアントによる書き込みを処理しているファイルへのアクセスを許可されず、又はファイルへのアクセスは予め決定されたクライアントのグループに制限されるかもしれない。いったん、クライアントがファイルへのアクセスを許可されると、ファイル管理及びネットワーク管理の記録は、変化したシステムの状態を反映するために更新される。
【0022】
帯域幅決定技術
多数の帯域幅決定技術がファイル及びネットワーク帯域幅の消費量を決定するために用いられる。静的に割り当てられたマネージャを有するファイルシステムにおいては、上記マネージャは帯域幅状態を保持し、すべての帯域幅要求は上記マネージャに向けられる。動的に割り当てられた複数のマネージャを有するファイルシステムについては、帯域幅決定のために多数の技術が用いられる。1つの帯域幅決定技術は、アドミション制御処理を管理するネットワークエンティティ又は複数のエンティティに認識された位置に保持されている、帯域幅状態ファイルの使用を要求する。あるクライアントがあるファイルにアクセスすることを許可されるたびに、適当な帯域幅状態ファイルがマネージャによって更新される。もう1つの帯域幅決定技術は、ネットワーク状態、又はファイル状態のいずれかの情報を含むトークン(token)を用いる。上記トークンを取得するために、1つのマネージャは他の複数のマネージャにマルチキャストする。上記トークンを受信した後で、マネージャは十分な帯域幅が利用可能か否かを決定し、アドミション要求が許可されたときは状態情報を修正する。トークンを用いるまたそれに代わる技術は、他の複数のマネージャの各々の帯域幅消費量を取得するために、トークンにメッセージのマルチキャストを要求することを、マネージャに許可する。帯域幅決定及び割り当ての一意な形式は、以下のセクションにおいて詳細に記述される分割及び共有技術として参照される。
【0023】
分割及び共有技術
図4を参照すると、分割及び共有技術が図示されている。上記分割及び共有技術は、最初に利用可能な帯域幅を複数のマネージャの間で分割及び分散し、次いで定常状態動作の間に、帯域幅の動的な再割当てのための処理を提供する。ステップ90において、帯域幅の初期量が各マネージャに割り当てられる。上記初期帯域幅割り当ては、以前の経験と、期待された作業負荷と、マネージャが制御するデータの型とのような基準に基づく。次いで、付加的な帯域幅を要求する複数のマネージャが超過した帯域幅のために他の複数のマネージャをポーリングするとき、帯域幅割り当ては動作期間の間に動的に調整される。これは以下のステップにおいて説明される。ステップ92において、帯域幅の使用量のための要求がマネージャによって受信される。ステップ94で、マネージャは上記要求を評価し、ステップ96で、要求された帯域幅が予め決定された要求のベンチマークを満たすとき、例えばマネージャに割り当てられた帯域幅よりも小さいようなとき、マネージャは上記要求された帯域幅を許可する。次いでマネージャはそのアドミション制御を完了させる。ステップ98において、マネージャは、他のすべてのマネージャが超過した帯域幅について質問されたか否かを決定する。ステップ100で、他のすべてのマネージャが質問されたとき、要求は拒否される。そうでなければ、ステップ102で、マネージャは超過した帯域幅のために他の複数のマネージャをポーリングすることを続ける。本発明の好ましい実施形態においては、他の複数のマネージャは、ネットワーク上の位置及び以前の帯域幅利用度のような、予め決定された順序でポーリングされるが、他の複数のマネージャをランダムにポーリングすることは本発明の範囲内である。ステップ104及び106で、他のマネージャは、そのマネージャもまた超過した帯域幅を要求していないときは、要求された帯域幅を割り当てる。1つより多くのマネージャが帯域幅を要求しているとき、ステップ103で、複数のマネージャがそれぞれ要求している帯域幅の量や、要求をしているマネージャの重要度のような、予め決定されたマネージャ帯域幅の優先順位に基づいて、複数のマネージャに優先順位(priority)が割り当てられる。本発明の好ましい実施形態において、帯域幅の優先順位は、各マネージャが要求している帯域幅の量に基づいて決定される。マネージャが、他のマネージャが要求しているものよりも少ない帯域幅を要求しているときは、ステップ108及び106で、他のマネージャは要求された帯域幅をマネージャに割り当てる。マネージャが、他のマネージャが要求しているものよりも多い帯域幅を要求しているときは、ステップ108及び110で、マネージャは要求された帯域幅を他のマネージャに割り当てる。いったんマネージャが他のマネージャの各々に質問をしたときは、取得することができた帯域幅の量に基づいて、それは、そのアドミション制御を管理する。
【0024】
一般に、各マネージャに関連付けられた帯域幅割り当ては、結局定常状態の量において安定化する。過重な帯域幅使用量においては、分割及び共有技術の使用は、利用可能な帯域幅の決定及び割り当てのために標準的に必要とされる帯域幅消費量を最小化する。軽い帯域幅使用量においては、帯域幅使用量のオーバーヘッドはシステムの帯域幅消費量と調和したレベルまで減少させられる。分割及び共有技術は、動的に割り当てられた複数のマネージャと同じく、静的に割り当てられた複数のマネージャに適用できる。
【0025】
ファイルアクセス及びロック
ロック/ロック解除の機構は、ファイルへの上書きを望んでいるクライアントに、上記ファイルへの排他的なアクセスを提供するために用いられる。読み出し動作のためのロック/ロック解除の機構のオプションの使用法も提供される。読み出し/書き込みロックの保守はディスクマネージャによって提供される。図5Bを参照すると、本発明の原理に従うロックの構造が図示されている。上記ロックはユーザシグネチャー112、ファイル名114及びタイムスタンプ116を含む。本発明のこの好ましい実施形態において、ユーザシグネチャー112は一意な処理番号を付加されたクライアントidを含む。飢餓状態(starvation)を防止し、複数のクライアントの間での公平さを確立するために、ロックファイルは、複数の書き込み要求をキューに入力するための循環バッファ(circular buffer)を含む。図5Aを参照すると、ファイルロック処理が図示されている。ステップ114において、ファイルに書きこむために、クライアントは上記ファイルに関連付けられたディスクマネージャに要求を送る。ステップ116で、ディスクマネージャは循環バッファの中に要求に対応したロックを次のエントリとして書きこむ。118で、ロックは予め決定された時間期間texpの後で終了するが、上記時間期間は先行する統計的解析によって決定されるか、又は要求が作成されるときにユーザによって選択される。120で、ロックがリフレッシュされないかぎり、texpの後でロックは開放される。従って、クライアントが長い編集動作をすることを必要としているときは、ファイルは周期的にリフレッシュされなければならない。ロックをリフレッシュするための機構は、クライアント又は関連付けられたディスクマネージャのいずれかのロックがリフレッシュされる要求を有することを含む。124で、ディスクマネージャは、クライアントの要求に対応するロックが、いつキューのヘッドに進んだかを、クライアントに通知する。次いでクライアントの対応するファイル要求は処理される。ロックは、126で、クライアントが非活性化を要求する、texpが経過する、マネージャが非活性化を要求する、及びファイル動作が完了したとき非活性化が起こるように設定されている、というような非活性化のイベントが起こるまで、活性のままである。読み出しロックが用いられるとき、128で、読み出しロックをされたすべてのユーザは、ロックに対応した複数のユーザに対応した複数のファイルに起きたすべての変化を通知される。ファイルの変化の通知は、システムを通じたデータの一貫性を確立することを補助する。
【0026】
フォールトトレランス
サーバ又はクライアントの障害からの回復を提供するために、構成の各々に関連付けられた複数のマネージャの複数のミラーが、他の複数のネットワークノードに保持される。本発明の好ましい実施形態において、複数のマネージャの複数のミラーは、他のマネージャが存在しない複数のネットワークノードの上に保持される。しかしながら、他の複数のマネージャが存在する複数のネットワークノードの上に複数のミラーを含むことは本発明の範囲内である。複数のミラーがそれに対して保持される複数のマネージャは、ネットワークマネージャ、ファイルマネージャ、及びクラスタマネージャを含む。動作時においては、要求又はロックリフレッシュのような制御情報が受信されるときは、最初にマネージャはミラーされたコピーにおける対応する情報を更新し、次いで制御動作を実行する。
【0027】
マネージャのミラーは、マネージャの障害が発生するまで非活性のままである。マネージャの障害の1つの例は、クライアントがマネージャに要求を送り、予め決定された非活性の時間期間の間に応答を受信しないときである。マネージャの障害が発生するとき、要求しているクライアントはミラーリングされたバージョンを活性化させる。次いで、ミラーリングされたバージョンは新しいマネージャになり、ネットワークノード上にミラーを作成する。次いで新しいマネージャはその管理機能と関連付けられた他の複数のマネージャ及び複数のクライアントにメッセージをブロードキャストし、それらに状態における変化とそのミラーの識別とを通知する。通知が送られた後で、障害が発生したマネージャに対応したすべての非活性なタイマは再スタートされ、新しいマネージャに関連付けられる。
【0028】
分散型サーバファイルシステムの構成
分散型サーバファイルシステムの環境において、指定されたネットワークノードの集合は、サーバの負荷及び機能を共有する。従って負荷は複数のサーバ上に共有され、システムのスケーラビリティーを可能にする。クライアントの数量が増大するとき、増大した負荷を扱うためにサーバの数量が増大する。サーバが障害を起こしたとき、誤ったサーバの負荷が他の複数のサーバにシフトされることで、システムは段階的に機能低下する。いずれの場合でも、あるサーバの障害は、集中化されたサーバの構成のときに起こるように全てのクライアントにではなく、複数のクライアントの部分集合にのみ影響する。分散型サーバファイルシステムにおいて、セキュリティーのレベルは、信任されるネットワークノード、サーバがより多くなるために、集中化されたサーバのそれに比べてより低くなっている。低下したセキュリティーに加えて、すべてのサーバにわたる資源共用及び一貫性情報の保守のためのアルゴリズムの生成が必要とされる。
【0029】
専用分散型サーバファイルシステム
図6Aを参照すると、複数のクライアント131にファイルサービスを提供するための専用分散型サーバファイルシステム130が図示されている。上記専用分散型サーバファイルシステム130において、各ディスク132は、そのディスク132にアドミション制御と他のサーバに関連した複数のタスクとを提供する専用のディスクマネージャ134を割り当てられている。上記ディスクマネージャ134は、本質的に、関連付けられたディスク132の利用可能な帯域幅、メタデータ情報を保持し、関連付けられたディスク132に存在する複数のファイルに対する読み出し/書き込みロックを保持する、ネットワークノードである。集中化されたノードであるネットワークマネージャ136は、ネットワーク帯域幅管理及びスケジューリング問題を提供する。またネットワークマネージャ136は利用可能なネットワーク帯域幅の情報を保持する。各ディスクマネージャ134に対する複数のディスクマネージャのミラー138と、ネットワークマネージャのミラー140とは、ファイルシステム130のためのフォールトトレランスを提供する。
【0030】
図6Bを付加的に参照すると、専用分散型サーバファイルシステム130のより詳細な図が提供される。各クライアントは、あるディスクを対応するディスクマネージャ134にマッピングするディスクロケータテーブル142と、あるファイルをそこにファイルが存在する対応するディスク132にマッピングするファイルロケータテーブル144とを含む。この好ましい実施形態においては、ファイルロケータテーブル144とディスクロケータテーブル142とは各クライアント131上に位置しているが、テーブル142及び144がもう1つのネットワークノード上に存在することは本発明の範囲内である。
【0031】
各ディスクマネージャ134は、ファイルシステムの位置をディスクマネージャ134とネットワークマネージャ136に提供する、マネージャロケータテーブル146を含む。また、アドミションコントローラ148がディスクマネージャ134の中に位置付けられている。上記アドミションコントローラは、あるクライアント131がファイル動作を要求するとき、アドミション処理を制御する。読み出し又は書き込み動作の間のファイルへの排他的なアクセスを確立するためのファイルロックは、循環キュー(circular queue)152及び循環キュータイマ(circular queue timer)154を含むファイルアクセスコントローラ150によって提供される。
【0032】
図6Cを参照すると、クライアント131は、ファイルを位置付け、次いで関連付けられたディスクマネージャ134に要求を送ることによって、ファイル動作を開始する。ステップ156において、クライアント131はファイルロケータテーブル144に質問し、所望のファイルがどのディスク132に存在するかを決定する。次いでステップ158において、ステップ158でディスク132に関連付けられているディスクマネージャ134を見出すために、クライアント131はディスクロケータテーブル142に質問し、ステップ160でディスクマネージャ134にファイル要求を送る。上記要求を受信する際、ステップ162で、ディスクマネージャ134はクライアント認証キーを照合する。各クライアント131がネットワークへ入ることを許可されているとき、それは複数のディスク132への制限されたアクセスを提供する認証キーを受信する。上記要求は循環キュー152に入力され、上述のファイルロック処理が完了するまでそこにとどまる。いったん要求が循環キュー152のトップに到達したときは、ステップ164で、ディスクマネージャ134は利用可能なディスク帯域幅をチェックし、要求されたファイル動作をサポートするために十分な帯域幅が存在するか否かを決定する。ステップ166で、要求された動作をサポートするために十分なネットワーク帯域幅の割り当てを要求するメッセージがネットワークマネージャ136に送られる。ステップ168で、ネットワークマネージャ136は要求を評価し、ステップ170で、十分なネットワーク帯域幅が存在するときはディスクマネージャ134からの要求を許可する。ディスクマネージャ134からの要求が許可された後、ステップ172で、ネットワークマネージャ136及びディスクマネージャ134はそれらの対応する帯域幅の記録を更新し、利用可能な帯域幅に変化を反映させる。次いで、ステップ174で、ネットワークマネージャのミラー140及びディスクマネージャのミラー138における制御情報が更新される。次いで、176で、クライアント131からの要求が許可される。ステップ178で、いったん、クライアントがファイル動作を完了させると、ステップ180でファイルが閉じられる。次いでステップ182で、ディスクマネージャ及びネットワークマネージャの帯域幅の記録が修正され、リソースが放棄されたことを反映させる。
【0033】
連携分散型サーバ
図7Aを参照すると、本発明の原理に基づいて構成された連携分散型サーバファイルシステム230が図示されている。上記連携分散型サーバファイルシステム230は、連携分散型サーバファイルシステム230におけるネットワークマネージャが静的に割り当てられていないことを除いて、200から258の範囲の番号を付けられた構成要素が対応していることで、専用分散型サーバファイルシステム130と同様である。とって代わって、標準的にはネットワークマネージャに割り当てられる複数の機能は、複数のディスクマネージャ(DM)234によって連携して提供される。ネットワーク管理及びスケジューリングの機能は、現在のネットワークマネージャ(CNM)236として指定されたディスクマネージャ234に、動的に割り当てられる。各ディスクマネージャ234に対するディスクマネージャのミラー238は、ファイルシステム230に対してフォールトトレランスを提供する。
【0034】
図7Bを付加的に参照すると、連携分散型サーバファイルシステム230のより詳細な図が提供されている。再び、連携分散型サーバファイルシステム230は、ネットワークマネージャの機能が、現在のネットワークマネージャ(CNM)として指定されたディスクマネージャ234に動的に割り当てられることを除いて、専用分散型サーバファイルシステム130と同様である。各ディスクマネージャ234は、ファイルシステムの位置をディスクマネージャ234及び現在のネットワークマネージャに提供するマネージャロケータテーブル246を含む。アドミションコントローラ248は、分散型専用サーバファイルシステム130においてアドミションコントローラ148によって提供される機能に加えて、ネットワーク帯域幅の割り当てを制御する。
【0035】
図7Cを参照すると、ステップ260で、クライアント231は、ファイルを位置付けし、次いで関連付けられたディスクマネージャ234に要求を送ることによって、専用分散型サーバファイルシステム130において用いられているものと同様の手法でファイル動作を開始する。ディスクマネージャ234は上記要求を循環キュー252に置き、そこにおいて上述のファイルロック処理がステップ262で完了するまで上記要求はそこにとどまる。いったん上記要求が循環キューのトップまで進むと、ステップ264でファイルマネージャ234はクライアントの認証キーを照合する。ステップ266で、ディスクマネージャ234は利用可能なディスク帯域幅をチェックし、要求されたファイル動作をサポートするために十分なディスク帯域幅が存在するか否かを決定する。次いで、ネットワーク帯域幅の状態がチェックされ、要求されたファイル動作をサポートすることができるか否かを決定する。ネットワーク帯域幅の状態を決定するための3つのアプローチが提供される。
【0036】
第1のアプローチは、ステップ267で、ネットワーク帯域幅を割り当て、ネットワーク帯域幅の状態を決定するために、本明細書の中で前に記述された分割及び共有技術を用いる。
【0037】
第2のアプローチは、現在のネットワーク帯域幅の状態を含むトークン235を用いる。ステップ268において、要求されたファイルに関連付けられたディスクマネージャ234は、トークン235を要求するメッセージを他の複数のディスクマネージャ234にマルチキャストする。トークン235を受信する際、ステップ270で、ディスクマネージャ234は現在のネットワークマネージャ236になる。現在のネットワークマネージャ236は、トークン235の付加を反映するためにその関連付けられたディスクマネージャのミラー238を更新し、次いでステップ272で、トークン235上に表示された利用可能な帯域幅をチェックする。ステップ274で、クライアント231からの要求を許可することを決定する際、現在のネットワークマネージャはその関連付けられたディスクマネージャのミラー238を更新し、新しい状態を反映するために、トークン235上に表示された利用可能なネットワーク帯域幅を修正する。ステップ276で、いったんファイル動作が完了すると、ステップ278でファイルは閉じられ、次いでステップ280で、リソースが放棄されたことを反映するためにトークン235及びディスクマネージャ234の帯域幅の記録は修正される。この好ましい実施形態において、後に続く現在のネットワークマネージャ236は利用可能である付加的な帯域幅を反映するためにトークン235を修正するが、しかしながら、ファイルに関連付けられたディスクマネージャ234がトークン235を修正することは本発明の範囲内である。
【0038】
第3のアプローチは、各ディスクマネージャ234のネットワーク帯域幅消費量の表示を要求するメッセージを他の複数のディスクマネージャ234にプロセッサがマルチキャストすることを可能にするトークン237を用いる。ステップ282において、ディスクマネージャ234は、ネットワーク帯域幅消費量の情報を要求するようにマルチキャストする最新のディスクマネージャ234である現在のネットワークマネージャ237からのトークン237を要求する。ステップ284で、トークン237を受信する際、ディスクマネージャ234は現在のネットワークマネージャ237になる。以前の現在のネットワークマネージャは、現在のネットワークマネージャ237に対するミラー238になり、上記現在のネットワークマネージャはミラー238の制御情報を更新し、ステップ286で、各ディスクマネージャ234のネットワーク帯域幅消費量の表示を要求するように、他の複数のディスクマネージャ234にマルチキャストする。要求されたファイル動作をサポートするために十分なネットワーク帯域幅が存在することを決定する際に、現在のネットワークマネージャ237はその関連付けられたミラー238を更新し、ステップ288でクライアント231からの要求を許可する。ステップ290で、いったんファイル動作が完了すると、ステップ292でファイルが閉じられ、次いでディスクマネージャ234の帯域幅の記録は、リソースが放棄されたことを反映するために修正される。
【0039】
動的なディスクマネージャファイルシステム
図8Aを参照すると、複数のクライアント304にファイルサービスを提供するためのダイナミックディスクマネージャファイルシステム300が図示されている。複数のクライアント304は、一般には1つのサーバに割り当てられるネットワーク及びファイル管理のタスクを共有するように使用される。ダイナミックディスクマネージャファイルシステム300は、複数のクライアント304が、複数のディスク302に記憶された複数のファイルへのアクセスを調整するように信任されているということで、低いセキュリティーのシステムである。複数のクライアント304は、帯域幅管理の負荷を共有する複数のディスクマネージャ306及び複数のネットワークマネージャ307として動的に割り当てられる。フォールトトレランスを提供するために、以前のディスクマネージャ及びネットワークマネージャは、現在のディスクマネージャ306及びネットワークマネージャ307に対して、ディスクマネージャのミラー308及びネットワークマネージャのミラー309として割り当てられる。ネットワークのトラフィックとデータ構造の保守を最小化するために、クライアント304が負担させられている管理上の負荷は、クライアント304の負荷の予め決定された割合に制限されている。
【0040】
1つの実施形態において、ディスクマネージャの責務(responsibility)はすべてのクライアント304上で時間多重されている。それに代わる実施形態において、ファイルへの書き込みを要求しているクライアント304は、対応しているディスク302のディスクマネージャ306になる。クライアント304は、ディスクマネージャ制御情報を保持しつづけ、もう1つのクライアント304がディスク302への書き込みを要求するまで、アドミション制御とファイル保守の義務とを完了させる。書き込み動作を完了させた後でクライアント304がディスクマネージャ306でありつづける継続時間を制限することは、本発明の範囲内である。クライアント304がディスクマネージャ306になった後の予め決定された時間期間で、対応するディスク302への読み出し又は書き込み動作のいずれかを要求した任意のクライアントは、新しいディスクマネージャ306になる。ネットワークマネージャの責務はすべてのクライアント304上で時間多重されている。
【0041】
図8Bを付加的に参照すると、ダイナミックディスクマネージャファイルシステム300におけるクライアント304のより詳細な図が提供されている。クライアント304は,あるファイルを上記ファイルが存在する対応するディスク302にマッピングするファイルロケータテーブル310を含む。この好ましい実施形態においては、上記ファイルロケータテーブル310は各クライアント302に位置付けられているが、上記ファイルロケータテーブル310がもう1つのネットワークノード上に存在することは本発明の範囲内である。
【0042】
また、クライアント304は、ファイルマネージャ及びネットワークマネージャの複数の機能を提供するために必要とされる複数の構成要素を含む。これらの構成要素は、本明細書の先行するセクションにおいて記述されたように、アドミションコントローラ312、ディスクマネージャロケータテーブル314、循環キュー316、循環キュータイマ318、及びネットワークマネージャロケータテーブル322を含む。また、クライアント304は、ネットワーク帯域幅の状態を提供するための、ネットワーク帯域幅決定部320を含む。
【0043】
図8Cを参照すると、ダイナミックディスクマネージャファイルシステム300のためのファイル動作処理が図示されている。ファイルを読み出すために、ステップ324で、クライアント304はファイルロケータテーブルに質問し、どのディスクに上記ファイルが位置付けられているかを決定する。次いでステップ326で、クライアント304は対応するディスクマネージャ306を位置付ける。クライアント304は、対応するディスクマネージャ306を位置付けるためのメッセージを他の複数のクライアント304にブロードキャストする。それに代わる実施形態において、クライアントは、ディスク302上のファイルを対応するディスクマネージャ306にマッピングするディスクロケータテーブルに質問する。次いでステップ328で、クライアントはディスクマネージャ306にファイル動作要求を送る。ディスクマネージャ306は、要求を受信する際、それを循環キュー316に入力する。上記要求は、ステップ330で上述のファイルロック処理が完了させられるまで、キュー316の中にとどまる。いったん要求が循環キュー316のトップに達すると、ステップ332で、ディスクマネージャ306はクライアント認証キーを照合する。次いでステップ334で、ディスクマネージャ306は利用可能なディスク帯域幅をチェックし、要求されたファイル動作をサポートするために十分な帯域幅が存在するか否かを決定する。次いで、ネットワーク帯域幅の状態がチェックされ、要求されたファイル動作をサポートすることができるか否かをチェックする。動的に変化させられるディスクマネージャファイルシステム300においてネットワーク帯域幅の状態を決定するために用いられる3つのアプローチは、367から392の範囲で番号をつけられた対応するステップにおいて、連携分散型サーバファイルシステム230において用いられるアプローチと同様である。
【0044】
フォールトトレランスのセクションにおいて記述されたように、制御情報の任意の更新に対して、ディスクマネージャ306とネットワークマネージャは、クライアントからの要求を許可する前にディスクマネージャのミラー307とネットワークマネージャのミラー309における対応する情報を最初に更新するか、又はロックの更新を処理する。
【0045】
ディスクマネージャ306に送られたクライアントの要求が予め決定された時間期間の間に処理されないとき、ファイルマネージャのミラー307は活性化される。次いでファイルマネージャのミラー307は新しいディスクマネージャ306になり、新しいファイルマネージャのミラー307を選択する。新しいディスクマネージャは、新しい識別の通知を提供するためのメッセージを複数のクライアント304及びディスクマネージャ306にブロードキャストする。次いで、すべての関連付けられた循環キュータイマ318及びフォールトトレランスタイマは再スタートされる。
【0046】
ハイブリッドファイルシステム
図9Aを参照すると、ハイブリッドファイルシステム400が図示されている。上記ハイブリッドファイルシステム400は、ファイル要求の比例した増大とともに、ノードの数が実質的に増大しているスケーラブルなシステムにおいて、特に適用可能である。ハイブリッドファイルシステム400において、システムは複数のクラスタ401に分割される。各クラスタ401は、ただ1つのディスク402と、1つのクラスタマネージャ(CM)404と、複数のファイルマネージャ(FM)406のセットとを有する。各ディスク402のためのファイル管理のタスクは、静的に割り当てられたクラスタマネージャ404と動的に割り当てられたファイルマネージャ406のセットとの間で、分割及び共有されている。
【0047】
各ディスク402について複数のファイルマネージャ406を提供することは、個別のファイルマネージャへの負荷を減少させ、ファイルシステム400のスケーラビリティーを可能にする。ファイルマネージャ406は、その対応するファイルに対するファイルロック及び他のファイル保守の問題を扱う。1つ又は複数のファイルはファイルマネージャ406によって管理され、ファイルシステム400の中のすべてのファイルは1つのファイルマネージャ406を有する。ファイルマネージャ406は複数のクライアント408のプールから動的に指定される。1つのクラスタの中のファイルマネージャ406の数は、1つから無限の量の範囲にある。ファイルマネージャ406の数が増大することは、付加的なネットワーク帯域幅のコストに関してより効率的に負荷をバランスさせる。
【0048】
任意のクライアント408は、読み出し/書き込み動作について、システム400全体の中で任意のディスク402にアクセスすることができる。複数のクライアント408は通常はサーバに割り当てられるタスクを扱うことを信任されているので、ネットワーク環境は複数のファイルマネージャが複数のサーバに割り当てられているファイルシステムよりは安全ではない。
【0049】
クラスタマネージャは、アドミション制御、ファイルマネージャ406の管理、フリーリストの保守、複数のクライアント408にメタデータ情報を提供すること、及びフォールトトレランスの問題について責任を果たしうる。複数のクラスタを管理することに加えて、また、複数のクラスタマネージャ404はネットワークマネージャの機能及びタスクを連携して扱う。この好ましい実施形態における複数のクラスタマネージャは、オリジナルの複数のディスクマネージャから選択されるが、複数の専用ノードを選択することは本発明の範囲内である。
【0050】
図9Dを付加的に参照すると、ハイブリッドファイルシステム400のクラスタ401のより詳細な図が提供されている。クライアント408はファイル動作に関する要求をクラスタマネージャ404に送るための要求マネージャ409を含む。この好ましい実施形態においては、ファイルロケータテーブル410及びディスクアドレステーブル411はクライアント408上にキャッシュされていないが、テーブル410と411の双方をクライアント408上に含むことは本発明の範囲内である。システム及びディスクのメタデータをクライアント408上に位置付ける代わりに、それはクラスタマネージャ404の中に、システムメタデータテーブル412及びディスクメタデータテーブル413として含まれる。クラスタマネージャ404の中のアドミションコントローラ414は、複数のクライアント408からの要求のアドミションを制御する。関連付けられたネットワーク状態キュー418及びネットワーク状態タイマ419を有するネットワーク状態テーブル417は、前述のように動作するロック機構にネットワーク帯域幅情報を提供する。クラスタコントローラ420は、クラスタ401内のディスク402上に存在する複数のファイルに関連付けられた活性度に応答して、クラスタの拡張と縮小を調節する。クラスタ401の中の各ファイルマネージャ406は、ディスク帯域幅情報を提供するための、ディスク状態キュー422及びディスク状態タイマ423を有する、ディスク状態テーブル421を含む。また、ファイルマネージャは、本発明の他の実施形態について本明細書の前のセクションにおいて記述されたように、データ完全性を確立するために、ファイルのロック/ロック解除を提供する、関連付けられたファイルアクセスタイマ416を有するファイルアクセスキュー415を含む。
【0051】
図9Bを参照すると、ハイブリッドファイルシステム400に対するアドミション制御処理が図示されている。ハイブリッドファイルシステム400に対するアドミション制御処理は、ディスクマネージャ及びネットワークマネージャの機能をファイルマネージャ及びクラスタマネージャの間で分割することを除いて、ダイナミックディスクマネージャファイルシステム300のアドミション処理と同様である。ハイブリッドファイルシステムのアドミション制御処理は、424から492の範囲の番号を付けられた対応するステップを有する。ディスク帯域幅の割り当てと決定は、ファイルマネージャのレベルで、分割及び共有技術を用いて達成される。ネットワーク帯域幅の割り当てと管理は、クラスタのレベルで、分割及び共有技術を用いて達成される。
【0052】
クラスタ管理
クラスタ401の中で、ファイルマネージャ406の数は、クラスタディスク402上に存在する複数のファイルに関連したファイル動作のための、帯域幅使用量に応答して動的に変化する。従って、クラスタ401のサイズは負荷の基準に基づいて拡張又は縮小する。クラスタマネージャ404は拡張及び縮小の処理を管理し、複数のクライアント408にクラスタの変化の通知をブロードキャストする。本発明の範囲は、拡張及び縮小処理を後に続く通知と同様に実行することの静的な方法と動的な方法との双方を含む。
【0053】
静的な拡張及び縮小処理
予め決定された最大の指標(index)を超えて、ファイルマネージャ406上の負荷が増大したとき、新しいファイルマネージャが作成される。過負荷をかけられたファイルマネージャ406によって管理されるファイルのいくつかは、クライアント408の制御へと移され、従って新しいファイルマネージャを作成する。現在、ファイルマネージャ406ではないクライアントのみが、新しいファイルマネージャになるように選択される。クラスタの拡張処理の間に、新しく作成されたファイルマネージャ406の初期の負荷は、二分木の方式で決定される。クラスタ401の中の複数のファイルのリストは、木に付いている全てのリーフ、すなわちファイルマネージャ406が、管理する複数のファイルの固定された集合を有するように、静的に分割及び割り当てをされる。クライアント408がハイブリッドファイルシステム400に入るとき、ファイルリスト及び木の構成がクライアント408に提供される。木の構成を認識しているクライアント408は、どのファイルが選択されたファイルマネージャ404によって管理されているかを得ることができる。
【0054】
ステップ500で、予め決定された最大の指標を超えて、ファイルマネージャ406上の負荷が増大したとき、クラスタ拡張が実行される。ステップ502で、過負荷をかけられたファイルマネージャ406は、最大の負荷の指標が超過されていることを、クラスタマネージャ404に通知する。ステップ504で、クラスタマネージャ404は、過負荷をかけられたファイルマネージャの負荷の一部を管理するための、新しいファイルマネージャを作成する。次いで、クラスタマネージャ404は、ファイルマネージャの負荷の2分の1を新しく作成されたファイルマネージャに分散する。従って、二分木の各レベルでは、最も左のノードは同一の親のノードである(オリジナルのファイルマネージャ406)。次いでステップ505で、クラスタマネージャ404は、選択された複数のファイルを用いる複数のクライアント408に、ファイルマネージャ406の構成における変化の通知をブロードキャストする。
【0055】
ファイルマネージャの二分木構造は、クラスタマネージャ404によって保持される。各ファイルマネージャ406はそれらの同胞(sibling)の識別を認識している。複数のファイルの管理は負荷を移すために用いられているので、負荷の分散は、拡張処理の間に形成された2つの同胞の間で等しいか、又は等しくないことがある。
【0056】
複数のクラスタの縮小処理は、まさに拡張処理の逆である。ステップ506及び508で、ファイルマネージャ406上の負荷が予め決定された最小の負荷の値よりも下に減少するときは、上記ファイルマネージャ406はクラスタマネージャ404に通知する。ステップ510で、クラスタマネージャ404はファイルマネージャの同胞の負荷をチェックし、結合された負荷が予め決定された最小の負荷の値よりも下にあるか否かを決定する。ステップ512で、結合された負荷が最小の負荷の値よりも下にあるときは、クラスタマネージャは、軽い負荷をかけられたファイルマネージャ406から他のファイルマネージャ(同胞)406に負荷を移し、ステップ514で軽い負荷をかけられたファイルマネージャを除去する。次いでステップ516で、クラスタマネージャ404は、選択された複数のファイルを用いる複数のクライアント408に、ファイルマネージャ406の構成における変化の通知をブロードキャストする。
【0057】
動的な拡張及び縮小の処理
それに代わる実施形態は、動的な動作を介して、拡張/縮小処理を達成する。この実施形態において、クラスタマネージャ404は、ファイルマネージャの負荷の値に関連して順所づけられた、複数のファイルマネージャの負荷のリストを保持する。上記負荷のリストはクラスタマネージャ406によって用いられ、重い負荷をかけられたクライアント408及び軽い負荷をかけられたクライアント408を位置付ける。ステップ518及び520で、ファイルマネージャ406上の負荷が予め決定された最大の負荷の指標を超えるとき、ファイルマネージャ406はクラスタマネージャ404に通知する。それに代わって、クラスタマネージャ404は、最大の負荷の値を超えていて、ゆえに関連付けられた複数のファイルの一部の管理を移す必要がある、負荷の値を有する複数のファイルマネージャを、負荷のリストのトップから検索する。ステップ522で、クラスタマネージャ404は軽い負荷をかけられたファイルマネージャのための負荷のリストを検索する。軽い負荷をかけられたファイルマネージャが存在しないとき、クラスタマネージャ404はファイルマネージャ406ではないクライアント408を選択し、ステップ524で、負荷をかけられたファイルマネージャ406から新しく形成されたファイルマネージャに負荷の一部を移す。クラスタ拡張に続いて、ステップ525で、新しいファイルマネージャ406は、影響を受けた複数のファイルを用いる複数のクライアント408に、ファイルマネージャの状態における変化を通知する。
【0058】
同様に、ステップ526及び528で、ファイルマネージャの負荷が最小の負荷の値よりも下に減少するとき、ファイルマネージャ406はクラスタマネージャ404に通知する。次いでステップ530で、クラスタマネージャ404は、最大の負荷の値を超えずに付加的な負荷を受け容れることができるファイルマネージャを検索する。そのようなファイルマネージャ406が見出されたときは、ステップ532及び534で、転送が実行され、軽い負荷をかけられたファイルマネージャ406が開放される。縮小処理について、クラスタマネージャ404は、負荷のリストのボトムから、2つ又はそれ以上のファイルマネージャ406を検索する。クラスタの縮小に続いて、ステップ536で、修正されたファイルマネージャ406は、影響を受けた複数のファイルを用いる複数のクライアント408に、ファイルマネージャの状態における変化を通知する。
【0059】
縮小又は拡張の間に、ファイルマネージャ406の負荷は、選択された複数のファイルの管理タスクを転送することによって調整される。さらに、拡張の後で、新しいファイルマネージャは、それをファイルマネージャ406として導入したクラスタマネージャ404の制御のもとにとどまる。
【0060】
フォールトトレランス
クラスタマネージャのミラー405はもう1つのクラスタマネージャ404において作成され、クラスタマネージャ404に対してフォールトトレランスを提供する。専用のバックアップネットワークノードにおいてクラスタマネージャのミラー405を作成することは本発明の範囲内である。クラスタマネージャ404に障害が発生したとき、新しいクラスタマネージャがクラスタマネージャのミラー405から活性化される。クラスタ401の中の各ファイルマネージャ406のためのバックアップを保持する関連付けられたクラスタマネージャ404によって、ファイルマネージャ406に対するフォールトトレランスが提供される。ファイルマネージャ406を保護するためのそれに代わる手段は、そこからその負荷が転送されるファイルマネージャ406において、ファイルマネージャ406がファイルマネージャのミラー407を保持することである。ファイルマネージャ406に障害が発生したとき、対応するクラスタマネージャ404は、クラスタ401を拡張するときのように、もう1つのファイルマネージャ406にファイルの情報を転送する。
【0061】
セキュリティー
ハイブリッドファイルシステム400は、セキュリティーが主要な関心ではない環境において用いられる。許可されているクライアント408へのアドミション制御の間、クラスタマネージャ404によってアクセスキーが提供される。上記アクセスキーは、クライアント408が読み出し又は書き込みをしてもよいブロックアドレスのような、メタデータ情報を含む。
【0062】
サーバを持たないファイルシステム
サーバを持たないシステムは、セキュリティーが主要な関心ではない環境において用いられる。サーバを持たないシステムにはサーバが存在せず、その代わり、サーバの機能は、セルフサービスの方式で分散されている。システムの状態に基づいて、クライアントはその自身のアドミション制御とリソースの割り当てを完了させ、データ完全性を保持することに必要とされる負荷を共有する。サーバを持たないシステムは非常にスケーラブルで、実質的に性能のボトルネックは存在しない。サーバのフォールトトレランスの問題はサーバを持たないシステムにおいては存在せず、クライアントの障害は他のクライアントに影響しない。
【0063】
受動的ディスク、サーバを持たないファイルシステム
図10Aを参照すると、複数のクライアント604にファイルサービスを提供するための、受動的ディスクでサーバを持たないファイルシステム600が図示されている。上記受動的ディスクでサーバを持たないファイルシステム600において、アドミション制御及びデータ一貫性の管理のために必要な情報は、ディスク602上に記憶されている。各ディスク602上で、ディスクキャッシュの一部と少量の帯域幅とは、ファイルシステム600のための制御情報を記憶しかつ検索するために確保されている。ネットワークデータディスク606として参照された、受動的ディスクでサーバを持たないファイルシステム600上の1つのディスクは、ネットワーク帯域幅情報を保持するためのネットワーク状態テーブル607を含む。また、ディスクアドレスにファイル名をマッピングするためのシステムメタデータテーブル634は、単一のディスク上に記憶され、システムデータディスク610として参照された。
【0064】
図10Bを付加的に参照すると、受動的ディスクでサーバを持たないファイルシステム600のデータグラムが図示されている。クライアント604は、ファイル名をディスクアドレスにマッピングするファイルロケータテーブル608における、システムレベルのメタデータ情報をキャッシュする。システムレベルのメタデータはクライアント604上にキャッシュされるが、ファイルシステム600について単一のシステムレベルのメタデータテーブルを保持し、クライアント604が、上記ファイルシステム600へ、ファイルをディスクにマッピングするための要求を送ることは、本発明の範囲内である。特定されたディスクの上の位置にファイルをマッピングするために、ディスクアドレステーブルが、ディスクメタデータテーブルからクライアント604上にキャッシュされる。ファイルシステム600のための単一のディスクメタデータテーブルを保持することも、本発明の範囲内である。アドミションコントローラ612はクライアントのアドミション処理を制御する。
【0065】
ディスク602は、ディスク602上に存在する複数のファイルへのアクセスを制限するためのファイルアクセスコントローラ618と、ディスク帯域幅及びデータ完全性の情報を提供するためのディスク状態テーブルとを含む。ファイル読み出し又は書き込み動作の間のファイルアクセスコントローラ618への排他的なアクセスを確立するためのファイルロックは、ファイルアクセスキュー624及びファイルアクセスキュータイマ626によって提供される。また、ファイルロックはディスク状態テーブル616へのアクセスのために提供され、ロック機構はディスク状態キュー620及びディスク状態キュータイマ622によって提供される。また、ディスク602上のアドレスにファイルをマッピングするためのディスクメタデータテーブル614が含まれる。
【0066】
ネットワークデータディスク606はネットワーク状態キュー630及びネットワーク状態タイマ632を含み、ネットワーク状態テーブル607へのアクセスの間、ファイルロックを提供する。
【0067】
図10Cを参照すると、ステップ640で、クライアント604は、所望のファイルがその上に存在するディスク602を決定することによってファイル動作を開始する。クライアント604上のファイルロケータテーブル608は、ファイルが存在するディスク602を決定するために質問される。しかしながら、ファイルロケータテーブル608の中のデータが古いとき、クライアントは、システムデータディスク610上のシステムメタデータテーブル634から、テーブル608の中のシステムメタデータをリフレッシュする。クライアント604上のシステムメタデータをキャッシュせず、代わりにシステムデータディスク610上のシステムメタデータテーブル634に質問して、ファイルが存在するディスク602を決定することは、本発明の範囲内である。次にステップ642で、ディスク602上のファイルのアドレスが決定される。クライアント604上のディスクアドレステーブル610の中のディスクメタデータは、ディスクアドレスを決定するために質問される。しかしながら、ディスクアドレステーブル610の中のデータが古いとき、クライアントは、ディスク602上のディスクメタデータテーブル614から、テーブル610の中のディスクメタデータをリフレッシュする。しかしながら、ファイルが存在するディスク602のディスクメタデータテーブル614に質問して、ディスクアドレスを決定することは、本発明の範囲内である。いったん所望のファイルに対応するディスクアドレスが得られると、ネットワーク及びディスク帯域幅の利用可能度は決定される。この好ましい実施形態において、ネットワークデータディスク606上に位置付けられているネットワーク状態テーブル607は、利用可能なネットワーク帯域幅を決定するために用いられる。しかしながら、ネットワーク帯域幅の決定及び割り当てに関して前述された分割及び共有技術を用いることは、本発明の範囲内である。
【0068】
帯域幅決定のための第1のアプローチにおいて、ステップ644で、ディスク状態テーブル616及びネットワーク状態テーブル607は、データ完全性を確立するために、読み出される間ロックされている。用いられる上記ロック技術は、多少短い満了(expiration)時間期間について本明細書の以前のセクションにおいて記述された技術と同様である。しかしながら、より長い満了時間期間又はユーザが調整できる時間期間を用いることは、本発明の範囲内である。また、この好ましい実施形態において、ロックは読み出しファイル処理の間及び書き込みファイル処理の間の双方で用いられるが、書き込み処理の間のみでロックを適用することは、本発明の範囲内である。ディスク状態テーブル616及びネットワーク状態テーブル607へのアクセスを取得した後で、ステップ646で、クライアント604は利用可能な帯域幅を決定する。十分な帯域幅が存在するとき、ステップ648で、クライアント604は、増大した負荷を反映するために、ディスク状態テーブル616及びネットワーク状態テーブル607を更新する。更新の後で、ステップ650で、テーブル607及び616の双方へのロックは開放される。ステップ652でいったんファイル動作が完了させられると、ステップ654で、ディスク状態テーブル616及びネットワーク状態テーブル607は減少した負荷を反映するために更新される。また、ファイル動作が書込みであるときは、ステップ655で、システムメタデータテーブル634及びディスクメタデータテーブル614は更新され、メッセージは複数のクライアント604にブロードキャストされ、テーブル634及び614のキャッシュされたコピーを更新する。メタデータの更新されたコピーをブロードキャストする代わりに、それに代わるアプローチは、複数のクライアントに存在するシステムレベルのメタデータの複数のコピーを無効化する。
【0069】
帯域幅決定のための第2のアプローチにおいては、ステップ656で、データ完全性を確立するために、ディスク状態テーブル616は読み出されている間はロックされる。再び、用いられる上記ロック技術は、多少短い満了時間期間について本明細書の以前のセクションにおいて記述された技術と同様であり、それは読み出しファイル処理の間及び書き込みファイル処理の間の双方で用いられる。ディスク状態テーブル616へのアクセスを取得した後で、ステップ658で、クライアント604は利用可能なディスク帯域幅及びネットワーク帯域幅を決定する。このアプローチを用いて、ディスク状態テーブル616は、ディスク602へ割り当てられたネットワーク帯域幅の記録を保持する。ディスク602が十分なネットワーク帯域幅を有さないときは、ステップ660で、付加的なネットワーク帯域幅を取得するために、分割及び共有技術が用いられる。十分なディスク及びネットワークの帯域幅が存在するときは、ステップ662で、クライアント604は、増大した負荷を反映するためにディスク状態テーブル616を更新する。更新の後で、ステップ664で、ディスク状態テーブルへのロックは開放される。ステップ666でいったんファイル動作が完了させられると、ステップ668で、ディスク状態テーブル616は減少したディスク及びネットワークの負荷を反映するために更新される。ファイル動作が書込みであるときは、ステップ669で、上述の第1のアプローチで記述されたように、メタデータは更新される。
【0070】
セミアクティブディスク、サーバを持たないファイルシステム
図11Aを参照すると、複数のクライアント704にファイルサービスを提供するための、セミアクティブディスクでサーバを持たないファイルシステム700が図示されている。上記セミアクティブディスクでサーバを持たないシステム700は、セミアクティブディスク702がクライアント704からの要求に応じてアドミション処理を管理することを除いて、受動的ディスクでサーバを持たないファイルシステムと同様である。セミアクティブディスクでサーバを持たないシステム700は、クライアント704から認証キーを要求するような、ファイルアクセスの間のシステムセキュリティーを付加的に含む。アドミションコントローラと同様に、アドミション制御及びデータ一貫性の管理に必要な情報は、セミアクティブディスク702に記憶されている。ネットワークデータディスク706はネットワーク帯域幅情報を記憶する。システムデータディスク710は、ファイル名に対応したディスクアドレスのような、システムメタデータを提供する。
【0071】
図11Bを付加的に参照すると、セミアクティブディスクでサーバを持たないファイルシステム700のデータグラムが提供されている。クライアント704は、ファイル名をディスクアドレスにマッピングするファイルロケータテーブル708の中に、システムレベルのメタデータ情報をキャッシュする。システムレベルのメタデータはクライアント704上にキャッシュされるが、ファイルシステム700について単一のシステムレベルのメタデータテーブルを保持し、上記ファイルシステム700へ、クライアント704がファイルをディスクへマッピングすることについて要求を送ることは、本発明の範囲内である。特定されたディスク上の位置へファイルをマッピングするために、ディスクメタデータテーブルから、クライアント704上にディスクアドレステーブルがキャッシュされる。ファイルシステム700について、単一のディスクメタデータテーブルを保持することも、本発明の範囲内である。要求マネージャ712はクライアントの要求をセミアクティブディスク702に送る。
【0072】
セミアクティブディスク702は、クライアント704からの要求のためのアドミション処理を管理するための、アドミションコントローラ713を含む。ファイルアクセスコントローラ718はディスク702上に存在するファイルへのアクセスを制限し、ディスク状態テーブル716はディスク帯域幅とデータ完全性の情報とを提供する。ファイルの読み出し又は書き込み動作の間のファイルアクセスコントローラ718への排他的なアクセスを確立するためのファイルロックは、ファイルアクセスキュー724及びファイルアクセスキュータイマ726によって提供される。ファイルロック処理は、セミアクティブディスク702がロックのタイムアウトとリフレッシュを扱うことを除いて、以前に記述された処理と同様である。また、ファイルロックはディスク状態テーブル716へのアクセスについて提供され、ロック機構はディスク状態キュー720及びディスク状態キュータイマ722によって提供される。また、ファイルをディスク702上のアドレスにマッピングするためのディスクメタデータテーブル714が含まれる。
【0073】
ネットワークデータディスク706はネットワーク状態キュー730及びネットワーク状態タイマ732を含み、ネットワーク状態テーブル707へのアクセスの間のファイルロックを提供する。
【0074】
図11Cを参照すると、セミアクティブディスクでサーバを持たないファイルシステム700におけるファイル動作は、対応する要素が740から769の範囲の番号を付けられている、受動的ディスクでサーバを持たないファイルシステム600におけるファイル動作と同様である。セミアクティブディスクでサーバを持たないファイルシステム700は、アドミション制御、要求スケジューリング、ファイルシステムのセキュリティー、及びフリーリスト管理がセミアクティブディスク702によって実行されていることで、受動的ディスクでサーバを持たないファイルシステム600とは異なっている。いったん、ステップ740及び742で、所望のファイルに対応したディスクアドレスが取得されると、ステップ743で、クライアント704はディスク702へファイル動作要求を送る。ディスク702の中のアドミションコントローラ713はクライアント704の認証キーを照合し、ステップ745及び757で、処理のための要求をスケジュール化する。ディスク702の中の暗号化ハードウェアは、キー確認において補助する。書き込み要求に対して、アドミションコントローラはクライアント704にフリーブロックアドレスを提供する。アドミションコントロール処理の残りは、ディスク702上にシフトしているアドミションコントローラの機能を特別の例外として、受動的ディスクでサーバを持たないファイルシステム600における処理と同様のままである。
【0075】
本発明はその好ましい本実施形態において記述したが、添付された請求項の中で示される本発明の精神から離れることなく、一定の修正及び変化が可能であることが理解されるだろう。
【図面の簡単な説明】
【図1A】 従来技術のマルチメディアファイルシステムを図示するネットワークデータグラムである。
【図1B】 本発明のこの好ましい実施形態を図示するネットワークデータグラムである。
【図2A】 本発明の原理に基づいて構成された専用分散型サーバファイルシステムの、この好ましい実施形態の概略図を示すネットワークデータグラムである。
【図2B】 本発明の原理に基づいて構成された連携分散型サーバファイルシステムの、この好ましい実施形態の概略図を示すネットワークデータグラムである。
【図2C】 本発明の原理に基づいて構成されたダイナミックディスクマネージャファイルシステムの、この好ましい実施形態の概略図を示すネットワークデータグラムである。
【図2D】 本発明の原理に基づいて構成されたハイブリッドファイルシステムの、この好ましい実施形態の概略図を示すネットワークデータグラムである。
【図3A】 本発明の原理に基づいて構成された受動的ディスクでサーバを持たないファイルシステムの、この好ましい実施形態の概略図を示すネットワークデータグラムである。
【図3B】 本発明の原理に基づいて構成されたセミアクティブディスクでサーバを持たないファイルシステムの、この好ましい実施形態の概略図を示すネットワークデータグラムである。
【図4】 帯域幅を管理する手順を図示するシーケンス図である。
【図5A】 複数のファイル及びテーブルをロック及びロック解除する手順を図示するシーケンス図である。
【図5B】 ロックの構成を図示するデータグラムである。
【図6A】 本発明の原理に基づいて構成された専用分散型サーバファイルシステムの、この好ましい実施形態のブロック図である。
【図6B】 本発明の原理に基づいて構成された専用分散型サーバファイルシステムの、この好ましい実施形態の詳細なブロック図である。
【図6C】 本発明の原理に基づいて構成された専用分散型サーバファイルシステムの、この好ましい実施形態のファイル動作のアドミション制御の手順を図示するシーケンス図である。
【図7A】 本発明の原理に基づいて構成された連携分散型サーバファイルシステムの、この好ましい実施形態のブロック図である。
【図7B】 本発明の原理に基づいて構成された連携分散型サーバファイルシステムの、この好ましい実施形態の詳細なブロック図である。
【図7C】 本発明の原理に基づいて構成された連携分散型サーバファイルシステムの、この好ましい実施形態のファイル動作のアドミション制御の手順を図示するシーケンス図である。
【図8A】 本発明の原理に基づいて構成されたダイナミックディスクマネージャファイルシステムの、この好ましい実施形態のブロック図である。
【図8B】 本発明の原理に基づいて構成されたダイナミックディスクマネージャファイルシステムの、この好ましい実施形態の詳細なブロック図である。
【図8C】 本発明の原理に基づいて構成されたダイナミックディスクマネージャファイルシステムの、この好ましい実施形態のファイル動作のアドミション制御の手順を図示するシーケンス図である。
【図9A】 本発明の原理に基づいて構成されたハイブリッドファイルシステムの、この好ましい実施形態のブロック図である。
【図9B】 本発明の原理に基づいて構成されたハイブリッドファイルシステムの、この好ましい実施形態のファイル動作のアドミション制御の手順を図示するシーケンス図である。
【図9C】 本発明の原理に基づいて構成されたハイブリッドファイルシステムの、この好ましい実施形態において、クラスタの拡張と縮小を管理する手順を図示するシーケンス図である。
【図9D】 本発明の原理に基づいて構成されたハイブリッドファイルシステムの、この好ましい実施形態の詳細なブロック図である。
【図10A】 本発明の原理に基づいて構成された受動的ディスクでサーバを持たないファイルシステムの、この好ましい実施形態のブロック図である。
【図10B】 本発明の原理に基づいて構成された受動的ディスクでサーバを持たないファイルシステムの、この好ましい実施形態の詳細なブロック図である。
【図10C】 本発明の原理に基づいて構成された受動的ディスクでサーバを持たないファイルシステムの、この好ましい実施形態のファイル動作のアドミション制御の手順を図示するシーケンス図である。
【図11A】 本発明の原理に基づいて構成されたセミアクティブディスクでサーバを持たないファイルシステムの、この好ましい実施形態のブロック図である。
【図11B】 本発明の原理に基づいて構成されたセミアクティブディスクでサーバを持たないファイルシステムの、この好ましい実施形態の詳細なブロック図である。
【図11C】 本発明の原理に基づいて構成されたセミアクティブディスクでサーバを持たないファイルシステムの、この好ましい実施形態のファイル動作のアドミション制御の手順を図示するシーケンス図である。
【符号の説明】
10…従来のファイルシステム、
12,34…記憶装置、
14,36,48,58,68,78,82,87,131,231,304,408,604,704…クライアント、
16,32…ネットワーク、
18…集中化されたサーバ、
20…内部制御ネットワーク、
30…分散型サーバファイルシステム、
38…サーバ、
40,130…専用分散型サーバファイルシステム、
42,52,134,234,306…ディスクマネージャ(DM)、
44,54,64,74,84,132,232,302,402,602…ディスク、
46,136,307…ネットワークマネージャ、
50,230…連携分散型ファイルシステム、
56…現在のネットワークマネージャ、
60,300…ダイナミックディスクマネージャファイルシステム、
62…ダイナミックディスクマネージャ、
66…ダイナミックネットワークマネージャ、
70,400…ハイブリッドファイルシステム、
72,406…ファイルマネージャ(FM)、
76,404…クラスタマネージャ(CM)、
80,600…受動的なディスクでサーバを持たないファイルシステム、
83,89,606,706…ネットワークデータディスク、
85,91,610,710…システムデータディスク、
86,700…セミアクティブディスクでサーバを持たないファイルシステム、
88,702…セミアクティブディスク、
112…ユーザシグネチャー、
138,238,308…ディスクマネージャのミラー、
140…ネットワークマネージャのミラー、
142…ディスクロケータテーブル、
144,244,310,410,608,708…ファイルロケータテーブル、
146,246…マネージャロケータテーブル、
148,248,312,414,612,713…アドミションコントローラ、
152,252,316…循環キュー、
154,254,318…循環キュータイマ、
235,237…トークン、
236…現在のネットワークマネージャ(CNM)、
242…ディスクからDMへのテーブル、
320…ネットワーク帯域幅決定部、
322…ネットワークマネージャロケータテーブル、
401…クラスタ、
409,712…要求マネージャ、
411…ディスクアドレステーブル、
412,634,734…システムメタデータテーブル、
413,614,714…ディスクメタデータテーブル、
415,724,624…ファイルアクセスキュー、
416…ファイルアクセスタイマ、
417,607,707…ネットワーク状態テーブル、
418,630…ネットワーク状態キュー、
419,632…ネットワーク状態タイマ、
420…クラスタコントローラ、
421,616,716…ディスク状態テーブル、
422,730…キュー、
423,732…タイマ、
618,718…ファイルアクセスコントローラ、
620,720…ディスク状態キュー、
622…ディスク状態タイマ、
626,726…ファイルアクセスキュータイマ、
715…セキュリティーマネージャ、
722…ディスク状態キュータイマ。
Claims (7)
- 複数のマルチメディアクライアントを備えたネットワーク上で情報を伝送するように動作する、マルチメディア記憶システムのためのファイルシステムであって、上記ネットワークは利用可能なネットワーク帯域幅を有し、
上記ファイルシステムは、
上記ネットワークに接続され、少なくとも1つのファイルを記憶しかつ検索し、利用可能なディスク帯域幅を有する少なくとも1つのネットワーク記憶装置と、
上記少なくとも1つのネットワーク記憶装置に関連付けられ、上記少なくとも1つのファイルに関連したファイル保守手順を管理するディスクマネージャとを備え、
上記ディスクマネージャは、
選択されたファイルに対するファイル動作のための、上記複数のマルチメディアクライアントのうちの1つからのファイル要求に応答して、ディスク帯域幅要求及びネットワーク帯域幅要求を送信するように動作するアドミションコントローラと、
上記アドミションコントローラからのディスク帯域幅要求に応答して上記利用可能なディスク帯域幅を決定するように動作するディスク状態決定部とを含み、
上記ファイルシステムは、
上記ネットワークに関連付けられかつネットワークサービスを提供するネットワークマネージャを備え、上記ネットワークマネージャはネットワーク状態決定部を含み、上記ネットワーク状態決定部は、上記アドミションコントローラにアクセスし、上記アドミションコントローラからのネットワーク帯域幅要求に応答して上記利用可能なネットワーク帯域幅を決定するように動作し、
上記アドミションコントローラは、上記ディスク状態決定部によって決定された上記利用可能なディスク帯域幅と、上記ネットワーク状態決定部によって決定された上記利用可能なネットワーク帯域幅とに基づいて、上記ファイル要求のアドミションを制御するように動作することを特徴とするファイルシステム。 - 上記複数のマルチメディアクライアントにアクセスし、上記選択されたファイルに対するディスク位置を提供するファイルロケータテーブルをさらに備えたことを特徴とする請求項1記載のファイルシステム。
- 上記複数のマルチメディアクライアントにアクセスし、上記ディスクマネージャに対する位置を提供するディスクマネージャロケータテーブルをさらに備えたことを特徴とする請求項1記載のファイルシステム。
- 上記ディスクマネージャは、上記複数のマルチメディアクライアントのうちの1つよりも多くが上記選択されたファイルに同時に書き込むことを防止するように動作する書き込みロックマネージャをさらに含むことを特徴とする請求項1記載のファイルシステム。
- 上記書き込みロックマネージャは、上記選択されたファイルに対する書き込み要求が先入れ先出しの基準でサービスされるように、上記書き込み要求を記憶する書き込み循環バッファを含むことを特徴とする請求項4記載のファイルシステム。
- 上記書き込みロックマネージャは、上記選択されたファイルに対する読み出し要求が先入れ先出しの基準でサービスされるように、上記読み出し要求を記憶する読み出し循環バッファを含むことを特徴とする請求項4記載のファイルシステム。
- 複数のマルチメディアクライアントを備えたネットワーク上で情報を伝送するように動作する、マルチメディア記憶システムのためのファイルシステムであって、上記ネットワークは利用可能なネットワーク帯域幅を有し、
上記ファイルシステムは、
上記ネットワークに接続され、クラスタを定義する複数のネットワーク構成要素を備え、
上記クラスタは、
上記ネットワークに接続され、上記クラスタに関連付けられた上記複数のネットワーク構成要素を管理するクラスタマネージャを備え、
上記クラスタマネージャは、
選択されたファイルに対するファイル動作のための、上記複数のマルチメディアクライアントのうちの1つからのファイル要求に応答して、ディスク帯域幅要求及びネットワーク帯域幅要求を送信するように動作するアドミションコントローラと、
上記アドミションコントローラにアクセスし、上記アドミションコントローラからのネットワーク帯域幅要求に応答して上記利用可能なネットワーク帯域幅を決定するように動作するネットワーク状態決定部とを備え、
上記クラスタは、
上記ネットワークに接続され、少なくとも1つのファイルを記憶しかつ検索し、利用可能なディスク帯域幅を有するネットワーク記憶装置と、
上記クラスタに関連付けられたネットワーク構成要素上に存在し、上記少なくとも1つのファイルに関連したファイル保守手順を管理し、ディスク状態決定部を含む少なくとも1つのディスクマネージャとを備え、上記ディスク状態決定部は、上記アドミションコントローラからのディスク帯域幅要求に応答して上記利用可能なディスク帯域幅を決定するように動作し、
上記アドミションコントローラは、上記ディスク状態決定部によって決定された上記利用可能なディスク帯域幅と、上記ネットワーク状態決定部によって決定された上記利用可能なネットワーク帯域幅とに基づいて、上記ファイル要求のアドミションを制御するように動作することを特徴とするファイルシステム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/362,819 US6466978B1 (en) | 1999-07-28 | 1999-07-28 | Multimedia file systems using file managers located on clients for managing network attached storage devices |
US09/362819 | 1999-07-28 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001117807A JP2001117807A (ja) | 2001-04-27 |
JP3716166B2 true JP3716166B2 (ja) | 2005-11-16 |
Family
ID=23427665
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000226653A Expired - Fee Related JP3716166B2 (ja) | 1999-07-28 | 2000-07-27 | ネットワークに接続された記憶装置のためのスケーラブルなマルチメディアファイルシステム |
Country Status (4)
Country | Link |
---|---|
US (1) | US6466978B1 (ja) |
JP (1) | JP3716166B2 (ja) |
DE (1) | DE10036726A1 (ja) |
GB (1) | GB2357171B (ja) |
Families Citing this family (139)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6978297B1 (en) * | 1998-11-12 | 2005-12-20 | Ricoh, Co., Ltd. | System and method of managing queues by maintaining metadata files having attributes corresponding to capture of electronic document and using the metadata files to selectively lock the electronic document |
US7634453B1 (en) * | 1999-08-13 | 2009-12-15 | Storage Technology Corporation | Distributed file data location |
GB2354090B (en) * | 1999-09-08 | 2004-03-17 | Sony Uk Ltd | Distributed service provider |
US7167867B1 (en) * | 1999-10-05 | 2007-01-23 | Emc Corporation | Self-describing file system |
US6708213B1 (en) * | 1999-12-06 | 2004-03-16 | Lucent Technologies Inc. | Method for streaming multimedia information over public networks |
EP1256950A4 (en) * | 1999-12-28 | 2011-03-16 | Panasonic Corp | RECORDING APPARATUS, REPRODUCING APPARATUS, DATA PROCESSING APPARATUS, RECORDING / REPRODUCING APPARATUS, AND DATA TRANSMITTING APPARATUS |
US6826580B2 (en) * | 2000-01-20 | 2004-11-30 | Emc Corporation | Distributed storage resource management in a storage area network |
US6735623B1 (en) | 2000-02-09 | 2004-05-11 | Mitch Prust | Method and system for accessing a remote storage area |
US6714968B1 (en) * | 2000-02-09 | 2004-03-30 | Mitch Prust | Method and system for seamless access to a remote storage server utilizing multiple access interfaces executing on the remote server |
US6571276B1 (en) * | 2000-02-23 | 2003-05-27 | International Business Machines Corporation | System for managing asset access in a distributed storage system |
US7418439B2 (en) * | 2000-03-17 | 2008-08-26 | Twin Peaks Software, Inc. | Mirror file system |
US7260635B2 (en) * | 2000-03-21 | 2007-08-21 | Centrisoft Corporation | Software, systems and methods for managing a distributed network |
US6671724B1 (en) * | 2000-03-21 | 2003-12-30 | Centrisoft Corporation | Software, systems and methods for managing a distributed network |
US6898618B1 (en) * | 2000-05-09 | 2005-05-24 | Sun Microsystems, Inc. | Client-specified display services in a distributed computing environment |
US6714959B1 (en) * | 2000-06-23 | 2004-03-30 | Unisys Corporation | System and method for optimizing insertions for timer queue operations |
US6978306B2 (en) * | 2000-08-10 | 2005-12-20 | Pts Corporation | Multi-tier video delivery network |
US7082521B1 (en) | 2000-08-24 | 2006-07-25 | Veritas Operating Corporation | User interface for dynamic computing environment using allocateable resources |
US7278142B2 (en) * | 2000-08-24 | 2007-10-02 | Veritas Operating Corporation | Dynamic computing environment using remotely allocable resources |
US7065637B1 (en) | 2000-08-24 | 2006-06-20 | Veritas Operating Corporating | System for configuration of dynamic computing environments using a visual interface |
US7043724B2 (en) | 2000-09-14 | 2006-05-09 | Veritas Operating Corporation | System and services for handling computing environments as documents |
US6725266B1 (en) * | 2000-10-05 | 2004-04-20 | Hewlett-Packard Development Company, L.P. | System and method for changing the status of a system service |
US7113900B1 (en) | 2000-10-24 | 2006-09-26 | Microsoft Corporation | System and method for logical modeling of distributed computer systems |
US7606898B1 (en) | 2000-10-24 | 2009-10-20 | Microsoft Corporation | System and method for distributed management of shared computers |
US6886038B1 (en) * | 2000-10-24 | 2005-04-26 | Microsoft Corporation | System and method for restricting data transfers and managing software components of distributed computers |
US6915338B1 (en) * | 2000-10-24 | 2005-07-05 | Microsoft Corporation | System and method providing automatic policy enforcement in a multi-computer service application |
US7093288B1 (en) | 2000-10-24 | 2006-08-15 | Microsoft Corporation | Using packet filters and network virtualization to restrict network communications |
US6907395B1 (en) | 2000-10-24 | 2005-06-14 | Microsoft Corporation | System and method for designing a logical model of a distributed computer system and deploying physical resources according to the logical model |
US7027412B2 (en) * | 2000-11-10 | 2006-04-11 | Veritas Operating Corporation | System for dynamic provisioning of secure, scalable, and extensible networked computer environments |
US8631103B1 (en) | 2000-11-10 | 2014-01-14 | Symantec Operating Corporation | Web-based administration of remote computing environments via signals sent via the internet |
US20020059377A1 (en) * | 2000-11-14 | 2002-05-16 | Jagadish Bandhole | Collaborative computing systems using dynamic computing environments |
US7177917B2 (en) * | 2000-12-27 | 2007-02-13 | Softwired Ag | Scaleable message system |
US7213231B1 (en) | 2001-01-11 | 2007-05-01 | Cisco Technology, Inc. | Cross-spectrum application model for dynamic computing environments in software lifecycle |
US7047420B2 (en) * | 2001-01-17 | 2006-05-16 | Microsoft Corporation | Exclusive encryption |
US6883029B2 (en) * | 2001-02-14 | 2005-04-19 | Hewlett-Packard Development Company, L.P. | Separate read and write servers in a distributed file system |
EP1239635A1 (en) * | 2001-03-07 | 2002-09-11 | BRITISH TELECOMMUNICATIONS public limited company | Method of providing service classes in a packet network |
US7478243B2 (en) | 2001-03-21 | 2009-01-13 | Microsoft Corporation | On-disk file format for serverless distributed file system with signed manifest of file modifications |
US7043637B2 (en) | 2001-03-21 | 2006-05-09 | Microsoft Corporation | On-disk file format for a serverless distributed file system |
US7062490B2 (en) * | 2001-03-26 | 2006-06-13 | Microsoft Corporation | Serverless distributed file system |
US6981138B2 (en) | 2001-03-26 | 2005-12-27 | Microsoft Corporation | Encrypted key cache |
US7171453B2 (en) * | 2001-04-19 | 2007-01-30 | Hitachi, Ltd. | Virtual private volume method and system |
US7036006B2 (en) | 2001-05-17 | 2006-04-25 | Veritas Operating Corporation | System to provide computing as a product using dynamic computing environments |
US7617292B2 (en) | 2001-06-05 | 2009-11-10 | Silicon Graphics International | Multi-class heterogeneous clients in a clustered filesystem |
US7640582B2 (en) | 2003-04-16 | 2009-12-29 | Silicon Graphics International | Clustered filesystem for mix of trusted and untrusted nodes |
US8010558B2 (en) | 2001-06-05 | 2011-08-30 | Silicon Graphics International | Relocation of metadata server with outstanding DMAPI requests |
US20040139125A1 (en) | 2001-06-05 | 2004-07-15 | Roger Strassburg | Snapshot copy of data volume during data access |
US7310644B2 (en) * | 2001-06-06 | 2007-12-18 | Microsoft Corporation | Locating potentially identical objects across multiple computers |
US6988124B2 (en) * | 2001-06-06 | 2006-01-17 | Microsoft Corporation | Locating potentially identical objects across multiple computers based on stochastic partitioning of workload |
JP2003030018A (ja) * | 2001-07-13 | 2003-01-31 | Sony Corp | データ通信装置および方法、データ通信システム、情報処理装置および方法、記録媒体、並びにプログラム |
US6950966B2 (en) | 2001-07-17 | 2005-09-27 | Seachange International, Inc. | Data transmission from raid services |
EP1407406A1 (en) * | 2001-07-17 | 2004-04-14 | BRITISH TELECOMMUNICATIONS public limited company | Communications network |
US7243374B2 (en) | 2001-08-08 | 2007-07-10 | Microsoft Corporation | Rapid application security threat analysis |
US7047299B1 (en) * | 2001-08-31 | 2006-05-16 | Hewlett-Packard Development Company, L.P. | Generic cluster aware lock broker with user defined locking modes |
US20030079016A1 (en) * | 2001-10-23 | 2003-04-24 | Sheng (Ted) Tai Tsao | Using NAS appliance to build a non-conventional distributed video server |
EP1310869A1 (en) * | 2001-11-12 | 2003-05-14 | Hewlett-Packard Company | Data processing system and method |
US7293030B2 (en) * | 2001-11-29 | 2007-11-06 | Symantec Operating Corporation | Methods, functional data, and systems to represent a storage environment |
US7013379B1 (en) | 2001-12-10 | 2006-03-14 | Incipient, Inc. | I/O primitives |
US7173929B1 (en) | 2001-12-10 | 2007-02-06 | Incipient, Inc. | Fast path for performing data operations |
WO2003071419A2 (en) * | 2001-12-10 | 2003-08-28 | Incipient, Inc. | Fast path for performing data operations |
US6959373B2 (en) | 2001-12-10 | 2005-10-25 | Incipient, Inc. | Dynamic and variable length extents |
US7127716B2 (en) * | 2002-02-13 | 2006-10-24 | Hewlett-Packard Development Company, L.P. | Method of load balancing a distributed workflow management system |
US7020665B2 (en) * | 2002-03-07 | 2006-03-28 | Microsoft Corporation | File availability in distributed file storage systems |
JP2003330782A (ja) | 2002-05-10 | 2003-11-21 | Hitachi Ltd | 計算機システム |
US7448077B2 (en) * | 2002-05-23 | 2008-11-04 | International Business Machines Corporation | File level security for a metadata controller in a storage area network |
JP4112284B2 (ja) * | 2002-05-29 | 2008-07-02 | 富士通株式会社 | データベースアクセス制御方法およびデータベースアクセス制御プログラム |
US20040030728A1 (en) * | 2002-08-08 | 2004-02-12 | Nizamudeen Ishmael | Deferred renaming of files |
US6986033B2 (en) | 2002-09-10 | 2006-01-10 | Veritas Operating Corporation | System for automated boot from disk image |
US7069428B2 (en) * | 2002-09-10 | 2006-06-27 | Veritas Operating Corporation | System for managing boot-up of target computers |
US7065723B2 (en) * | 2002-09-25 | 2006-06-20 | Sun Microsystems, Inc. | Defect tracking by utilizing real-time counters in network computing environments |
US8041735B1 (en) | 2002-11-01 | 2011-10-18 | Bluearc Uk Limited | Distributed file system and method |
GB2395809B (en) * | 2002-11-28 | 2005-12-21 | Ibm | Metadata lock management in advanced function n-way shared storage controller systems |
US20040122917A1 (en) * | 2002-12-18 | 2004-06-24 | Menon Jaishankar Moothedath | Distributed storage system for data-sharing among client computers running defferent operating system types |
JP4271967B2 (ja) * | 2003-03-10 | 2009-06-03 | 株式会社日立製作所 | 分散ファイルシステム及び分散ファイルシステムの運用方法 |
WO2004088937A1 (en) * | 2003-03-31 | 2004-10-14 | Corvil Limited | A method and system for quality of service optimisation in a data network |
US7558927B2 (en) | 2003-05-06 | 2009-07-07 | Aptare, Inc. | System to capture, transmit and persist backup and recovery meta data |
CA2524794C (en) * | 2003-05-06 | 2010-03-30 | Aptare, Inc. | System to capture, transmit and persist backup and recovery meta data |
US7912954B1 (en) * | 2003-06-27 | 2011-03-22 | Oesterreicher Richard T | System and method for digital media server load balancing |
US7747717B2 (en) * | 2003-08-14 | 2010-06-29 | Oracle International Corporation | Fast application notification in a clustered computing system |
US8543781B2 (en) * | 2004-02-06 | 2013-09-24 | Vmware, Inc. | Hybrid locking using network and on-disk based schemes |
US10776206B1 (en) | 2004-02-06 | 2020-09-15 | Vmware, Inc. | Distributed transaction system |
US8700585B2 (en) * | 2004-02-06 | 2014-04-15 | Vmware, Inc. | Optimistic locking method and system for committing transactions on a file system |
US7849098B1 (en) | 2004-02-06 | 2010-12-07 | Vmware, Inc. | Providing multiple concurrent access to a file system |
US8560747B1 (en) | 2007-02-16 | 2013-10-15 | Vmware, Inc. | Associating heartbeat data with access to shared resources of a computer system |
US20110179082A1 (en) * | 2004-02-06 | 2011-07-21 | Vmware, Inc. | Managing concurrent file system accesses by multiple servers using locks |
US7526672B2 (en) * | 2004-02-25 | 2009-04-28 | Microsoft Corporation | Mutual exclusion techniques in a dynamic peer-to-peer environment |
JP2005310243A (ja) * | 2004-04-20 | 2005-11-04 | Seiko Epson Corp | メモリコントローラ、半導体集積回路装置、半導体装置、マイクロコンピュータ及び電子機器 |
US9081872B2 (en) * | 2004-06-25 | 2015-07-14 | Apple Inc. | Methods and systems for managing permissions data and/or indexes |
US8260893B1 (en) | 2004-07-06 | 2012-09-04 | Symantec Operating Corporation | Method and system for automated management of information technology |
EP1617341A1 (en) * | 2004-07-16 | 2006-01-18 | International Business Machines Corporation | File operation management device |
US8126990B2 (en) | 2005-04-21 | 2012-02-28 | Fiducci Thomas E | Data backup and transfer system, method and computer program product |
US7849165B2 (en) | 2005-04-21 | 2010-12-07 | Fiducci Thomas E | Data backup, storage, transfer, and retrieval system, method and computer program product |
US20070094323A1 (en) * | 2005-10-25 | 2007-04-26 | Smith Jeffrey C | Managed resource sharing method and apparatus |
US20070091809A1 (en) * | 2005-10-25 | 2007-04-26 | Smith Jeffrey C | Managed network resource sharing and optimization method and apparatus |
US7941309B2 (en) | 2005-11-02 | 2011-05-10 | Microsoft Corporation | Modeling IT operations/policies |
US8458295B1 (en) * | 2005-11-14 | 2013-06-04 | Sprint Communications Company L.P. | Web content distribution devices to stage network device software |
US7634652B2 (en) | 2006-01-12 | 2009-12-15 | Microsoft Corporation | Management of streaming content |
US7669222B2 (en) * | 2006-01-17 | 2010-02-23 | Microsoft Corporation | Virtual tuner management |
US7685306B2 (en) * | 2006-01-20 | 2010-03-23 | Microsoft Corporation | Streaming content navigation |
US8739230B2 (en) | 2006-01-20 | 2014-05-27 | Microsoft Corporation | Manager/remote content architecture |
US20070203714A1 (en) * | 2006-02-28 | 2007-08-30 | Microsoft Corporation | Purchasable Token Bandwidth Portioning |
US7774391B1 (en) * | 2006-03-30 | 2010-08-10 | Vmware, Inc. | Method of universal file access for a heterogeneous computing environment |
US20070297332A1 (en) * | 2006-06-22 | 2007-12-27 | James Andrew Broberg | Distributed resource allocation in stream processing systems |
US20080071804A1 (en) * | 2006-09-15 | 2008-03-20 | International Business Machines Corporation | File system access control between multiple clusters |
US20080201549A1 (en) * | 2007-02-20 | 2008-08-21 | Raytheon Company | System and Method for Improving Data Caching |
US20090122707A1 (en) * | 2007-11-13 | 2009-05-14 | At&T Services, Inc. | Multi-layer cascading network bandwidth control |
WO2009150259A1 (es) * | 2008-06-10 | 2009-12-17 | Microelectronica Española, S.A.U. | Procedimiento para el acceso a un sistema de almacenamiento con múltiples sistemas de fichero |
US9098519B2 (en) * | 2008-09-16 | 2015-08-04 | File System Labs Llc | Methods and apparatus for distributed data storage |
US8805967B2 (en) | 2010-05-03 | 2014-08-12 | Panzura, Inc. | Providing disaster recovery for a distributed filesystem |
US9613064B1 (en) | 2010-05-03 | 2017-04-04 | Panzura, Inc. | Facilitating the recovery of a virtual machine using a distributed filesystem |
US9679040B1 (en) | 2010-05-03 | 2017-06-13 | Panzura, Inc. | Performing deduplication in a distributed filesystem |
US9824095B1 (en) | 2010-05-03 | 2017-11-21 | Panzura, Inc. | Using overlay metadata in a cloud controller to generate incremental snapshots for a distributed filesystem |
US9811532B2 (en) | 2010-05-03 | 2017-11-07 | Panzura, Inc. | Executing a cloud command for a distributed filesystem |
US9792298B1 (en) | 2010-05-03 | 2017-10-17 | Panzura, Inc. | Managing metadata and data storage for a cloud controller in a distributed filesystem |
US9852149B1 (en) | 2010-05-03 | 2017-12-26 | Panzura, Inc. | Transferring and caching a cloud file in a distributed filesystem |
US9678968B1 (en) | 2010-05-03 | 2017-06-13 | Panzura, Inc. | Deleting a file from a distributed filesystem |
US9852150B2 (en) | 2010-05-03 | 2017-12-26 | Panzura, Inc. | Avoiding client timeouts in a distributed filesystem |
US8356016B1 (en) * | 2011-09-02 | 2013-01-15 | Panzura, Inc. | Forwarding filesystem-level information to a storage management system |
US8799413B2 (en) | 2010-05-03 | 2014-08-05 | Panzura, Inc. | Distributing data for a distributed filesystem across multiple cloud storage systems |
US9678981B1 (en) | 2010-05-03 | 2017-06-13 | Panzura, Inc. | Customizing data management for a distributed filesystem |
US8805968B2 (en) | 2010-05-03 | 2014-08-12 | Panzura, Inc. | Accessing cached data from a peer cloud controller in a distributed filesystem |
US8799414B2 (en) | 2010-05-03 | 2014-08-05 | Panzura, Inc. | Archiving data for a distributed filesystem |
US9811662B2 (en) | 2010-05-03 | 2017-11-07 | Panzura, Inc. | Performing anti-virus checks for a distributed filesystem |
US20110282833A1 (en) * | 2010-05-11 | 2011-11-17 | Salesforce.Com, Inc. | Providing administrative capabilities in a multi-tenant database environment |
US8793334B1 (en) * | 2010-07-19 | 2014-07-29 | Applied Micro Circuits Corporation | Network-attached storage (NAS) bandwidth manager |
US9135118B2 (en) | 2011-03-07 | 2015-09-15 | Aptare, Inc. | System to catalog and search point-in-time instances of a file system |
US9805054B2 (en) | 2011-11-14 | 2017-10-31 | Panzura, Inc. | Managing a global namespace for a distributed filesystem |
US9804928B2 (en) | 2011-11-14 | 2017-10-31 | Panzura, Inc. | Restoring an archived file in a distributed filesystem |
US20130166670A1 (en) * | 2011-12-21 | 2013-06-27 | James George Wayda | Networked storage system and method including private data network |
TW201426333A (zh) * | 2012-12-27 | 2014-07-01 | Cal Comp Electronics & Comm Co | 網路資料儲存系統、裝置及其方法 |
US9400792B1 (en) * | 2013-06-27 | 2016-07-26 | Emc Corporation | File system inline fine grained tiering |
US10341208B2 (en) | 2013-09-26 | 2019-07-02 | Taiwan Semiconductor Manufacturing Co., Ltd. | File block placement in a distributed network |
US10291503B2 (en) | 2013-09-26 | 2019-05-14 | Taiwan Semiconductor Manufacturing Co., Ltd. | File block placement in a distributed network |
US9633041B2 (en) * | 2013-09-26 | 2017-04-25 | Taiwan Semiconductor Manufacturing Co., Ltd. | File block placement in a distributed file system network |
US10162843B1 (en) * | 2014-05-05 | 2018-12-25 | EMC IP Holding Company LLC | Distributed metadata management |
US9613048B2 (en) * | 2014-09-10 | 2017-04-04 | Panzura, Inc. | Sending interim notifications to a client of a distributed filesystem |
US10630772B2 (en) | 2014-09-10 | 2020-04-21 | Panzura, Inc. | Maintaining global namespace consistency for a distributed filesystem |
US10291705B2 (en) | 2014-09-10 | 2019-05-14 | Panzura, Inc. | Sending interim notifications for namespace operations for a distributed filesystem |
US9916275B2 (en) * | 2015-03-09 | 2018-03-13 | International Business Machines Corporation | Preventing input/output (I/O) traffic overloading of an interconnect channel in a distributed data storage system |
BR112016021638B1 (pt) * | 2015-12-14 | 2022-08-16 | Huawei Technologies Co., Ltd | Método de gerenciamento de bloqueio em agrupamento, servidor de bloqueio, e cliente |
US10613882B2 (en) | 2016-10-14 | 2020-04-07 | Seagate Technology Llc | Active drive API |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5581703A (en) * | 1993-06-29 | 1996-12-03 | International Business Machines Corporation | Method and apparatus for reserving system resources to assure quality of service |
US6282561B1 (en) * | 1995-12-07 | 2001-08-28 | Microsoft Corporation | Method and system for resource management with independent real-time applications on a common set of machines |
US5920700A (en) * | 1996-09-06 | 1999-07-06 | Time Warner Cable | System for managing the addition/deletion of media assets within a network based on usage and media asset metadata |
DE19642563C1 (de) * | 1996-10-15 | 1998-02-26 | Siemens Ag | Chipkarte mit einer Kontaktzone sowie Verfahren zur Herstellung einer solchen Chipkarte |
US5928331A (en) | 1997-10-30 | 1999-07-27 | Matsushita Electric Industrial Co., Ltd. | Distributed internet protocol-based real-time multimedia streaming architecture |
DE69829515T2 (de) | 1998-01-21 | 2006-02-16 | Juniper Networks, Inc., Sunnyvale | Dynamische Netzbandbreitenzuweisung für Multimedia-Anwendungen mit weichen Dienstqualitätsanforderungen |
US6275471B1 (en) * | 1998-05-12 | 2001-08-14 | Panasonic Technologies, Inc. | Method for reliable real-time multimedia streaming |
-
1999
- 1999-07-28 US US09/362,819 patent/US6466978B1/en not_active Expired - Fee Related
-
2000
- 2000-07-25 GB GB0018082A patent/GB2357171B/en not_active Expired - Fee Related
- 2000-07-27 JP JP2000226653A patent/JP3716166B2/ja not_active Expired - Fee Related
- 2000-07-27 DE DE10036726A patent/DE10036726A1/de not_active Withdrawn
Also Published As
Publication number | Publication date |
---|---|
DE10036726A1 (de) | 2001-03-29 |
US6466978B1 (en) | 2002-10-15 |
GB2357171B (en) | 2001-11-21 |
GB2357171A (en) | 2001-06-13 |
JP2001117807A (ja) | 2001-04-27 |
GB0018082D0 (en) | 2000-09-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3716166B2 (ja) | ネットワークに接続された記憶装置のためのスケーラブルなマルチメディアファイルシステム | |
US7069295B2 (en) | Peer-to-peer enterprise storage | |
US9436694B2 (en) | Cooperative resource management | |
US7076553B2 (en) | Method and apparatus for real-time parallel delivery of segments of a large payload file | |
CN107547653B (zh) | 一种分布式文件存储系统 | |
US6339793B1 (en) | Read/write data sharing of DASD data, including byte file system data, in a cluster of multiple data processing systems | |
US7243103B2 (en) | Peer to peer enterprise storage system with lexical recovery sub-system | |
US8862644B2 (en) | Data distribution system | |
US9880753B2 (en) | Write requests in a distributed storage system | |
US8046422B2 (en) | Automatic load spreading in a clustered network storage system | |
US7149853B2 (en) | System and method for synchronization for enforcing mutual exclusion among multiple negotiators | |
US9575985B2 (en) | Distributed lock administration | |
US7890555B2 (en) | File system mounting in a clustered file system | |
US20020103907A1 (en) | System and method of storing data to a recording medium | |
US20050289143A1 (en) | Method for managing lock resources in a distributed storage system | |
WO2011053909A1 (en) | Distributed resource management | |
US20090100436A1 (en) | Partitioning system including a generic partitioning manager for partitioning resources | |
US20060288088A1 (en) | Method and apparatus for managing a web cache system | |
JPH0981491A (ja) | ネットワークビデオサーバ、クライアント装置及びマルチメディア情報提供方法 | |
JP5413599B2 (ja) | データ配信システム,負荷分散方法及び蓄積サーバ | |
CN117851037A (zh) | 一种基于边缘函数计算的键值对同步及存储方法 | |
CN117931087A (zh) | 基于Ceph的存储方法、设备、系统和存储介质 | |
KR20050013519A (ko) | 데이터의 배포와 획득시스템 및 데이터의 배포와 획득방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20041102 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050104 |
|
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: 20050802 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050829 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 Ref document number: 3716166 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080902 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090902 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090902 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100902 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110902 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120902 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130902 Year of fee payment: 8 |
|
LAPS | Cancellation because of no payment of annual fees |