JP2003157194A - ファイルサーバプログラム - Google Patents
ファイルサーバプログラムInfo
- Publication number
- JP2003157194A JP2003157194A JP2001356071A JP2001356071A JP2003157194A JP 2003157194 A JP2003157194 A JP 2003157194A JP 2001356071 A JP2001356071 A JP 2001356071A JP 2001356071 A JP2001356071 A JP 2001356071A JP 2003157194 A JP2003157194 A JP 2003157194A
- Authority
- JP
- Japan
- Prior art keywords
- file
- server
- directory
- file server
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/14—Details of searching files based on file metadata
- G06F16/148—File search processing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Library & Information Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Computer And Data Communications (AREA)
- Information Transfer Between Computers (AREA)
Abstract
散を行うことができるようにする。 【解決手段】 クラスタ2において実行する処理のうち
自身の担当する処理を判断するための判断条件が予め定
義されており、クラスタ2を構成する複数のファイルサ
ーバ3,4,5に対して送信されたファイル操作要求1
a,1b,1cを受け取ると、判断条件に基づいてファ
イル操作要求1a,1b,1cに応じた処理の実行の要
否を判断する(ステップS1,S3,S5)。そして、
ファイル操作要求1a,1b,1cに応じた処理の実行
が必要と判断された場合、自己の管理するストレージデ
バイス3a,4a,5aに対してファイル操作要求1
a,1b,1cに応じた処理を行う(ステップS2,S
4,S6)。
Description
に応じてファイル操作を行うためのファイルサーバプロ
グラムに関し、特にクラスタの一部を構成するコンピュ
ータで使用されるファイルサーバプログラムに関する。
共有するために、ファイルサーバが用いられる。ファイ
ルサーバを利用するクライアントコンピュータ(以下、
単にクライアントという)は、ネットワークを介してフ
ァイルサーバにアクセスし、必要なファイルを取得する
ことができる。
ァイルサーバで管理されるファイルの量が膨大になる。
さらには、ファイルを利用するクライアントの数も大量
となる。そのため、複数のファイルサーバによってクラ
スタを構成し、ファイル操作(ファイルの書き込みや読
み取りなど)に関する処理を、複数のファイルサーバに
分散させることが行われている。これにより、ファイル
サーバ1台当たりの負荷が軽減される。
のファイルサーバで分散して処理させた場合、各クライ
アントは、各ファイルがどのファイルサーバで管理され
ているのかを、常に把握しておく必要がある。
サーバをクライアントに認識させる方法として、たとえ
ば、複数のファイルサーバの1つに、システム全体のフ
ァイル管理情報を持たせる方法がある。この方法によれ
ば、各クライアントは、ファイル管理情報を有している
ファイルサーバに問い合わせることで、任意のファイル
が管理されているファイルサーバを認識することができ
る。
ァイルサーバをクライアントに認識させる別の方法とし
て、ファイルを格納するディレクトリを作成するファイ
ルサーバの決定に関して、一定のルールを定義しておく
方法がある。この方法では、ディレクトリを管理してい
るファイルサーバにおいて、そのディレクトリ配下のフ
ァイルが管理される。このような方法の一例として、た
とえば、特開平5−233417号公報に記載された発
明がある。この発明では、ディレクトリの識別名を用い
たルールによって、そのディレクトリを作成するファイ
ルサーバを決定する。そして、クライアントは、そのル
ールに従って、そのディレクトリを作成したファイルサ
ーバを特定する。
は、適切に負荷を分散させるのが困難だった。すなわ
ち、1つのファイルサーバにシステム全体のファイル管
理情報を持たせる方法では、ファイルアクセスが増える
につれて、ファイル管理情報を有するファイルサーバへ
の処理負荷が増大してしまう。
するファイルサーバを決定する方法では、ディレクトリ
の識別名の偏りに伴って、ディレクトリを作成するファ
イルサーバにも偏りが生じてしまう。たとえば、識別名
の先頭の文字に応じてファイルサーバを決定すると、使
用頻度の多い文字に対応するファイルサーバの処理負荷
が、他のサーバよりも高くなる。
れば、ファイル操作処理の遅延が発生し、クラスタ全体
の処理能力の低下を招く。しかも、近年のネットワーク
の通信速度の高速化に伴い、ネットワーク上のデータ転
送速度に、ファイルサーバでのファイル書き込みや読み
出しが追いつかない事態が発生している。そのため、フ
ァイルサーバにおけるファイル書き込み速度やファイル
読み取り速度の高速化が強く望まれている。
のであり、複数のファイルサーバにおいて適切な負荷分
散を行うことができるファイルサーバプログラムを提供
することを目的とする。
決するために、図1に示すような処理をコンピュータに
実行させるファイルサーバプログラムが提供される。本
発明に係るファイルサーバプログラムは、クラスタ2を
構成する複数のファイルサーバ3,4,5の一つとして
コンピュータを機能させるためのプログラムである。本
発明に係るファイルサーバプログラムを実行するコンピ
ュータは、クラスタ2において実行する処理のうち自身
の担当する処理を判断するための判断条件が予め定義さ
れており、クラスタ2を構成する複数のファイルサーバ
3,4,5に対して送信されたファイル操作要求1a,
1b,1cを受け取ると、判断条件に基づいてファイル
操作要求1a,1b,1cに応じた処理の実行の要否を
判断する(ステップS1,S3,S5)。そして、ファ
イル操作要求1a,1b,1cに応じた処理の実行が必
要と判断された場合、自己の管理するストレージデバイ
ス3a,4a,5aに対してファイル操作要求1a,1
b,1cに応じた処理を行う(ステップS2,S4,S
6)。
れば、クライアント1が全てのファイルサーバ3,4,
5に対してファイル操作要求1a,1b,1cを出力す
ると、処理の実行が必要と判断したファイルサーバにお
いて、ファイル操作要求1a,1b,1cに応じた処理
が実行される。
を参照して説明する。まず、本発明の実施の形態に適用
される発明の概要について説明し、その後、本発明の実
施の形態の具体的な内容を説明する。
発明の概念図である。本発明に係るファイルサーバプロ
グラムは、クラスタ2を構成する複数のファイルサーバ
3,4,5の一つとしてコンピュータを機能させること
ができる。クラスタ2は、クライアント1からのファイ
ル操作要求1a,1b,1cに応じて、ファイル操作
(ディレクトリの作成、ファイルの書き込み、ファイル
の読み取りなど)を行う。
実行するコンピュータ(ファイルサーバ3,4,5)に
は、クラスタ2において実行する処理のうち自身の担当
する処理を判断するための判断条件が予め定義されてい
る。ファイルサーバ3,4,5は、クラスタ2を構成す
る複数のファイルサーバ3,4,5に対して送信された
ファイル操作要求1a,1b,1cを受け取ると、判断
条件に基づいてファイル操作要求1a,1b,1cに応
じた処理の実行の要否を判断する(ステップS1,S
3,S5)。そして、ファイル操作要求1a,1b,1
cに応じた処理の実行が必要と判断された場合、自己の
管理するストレージデバイス3a,4a,5aに対して
ファイル操作要求1a,1b,1cに応じた処理を行う
(ステップS2,S4,S6)。
れば、クライアント1が全てのファイルサーバ3,4,
5に対してファイル操作要求1a,1b,1cを出力す
ると、処理の実行が必要と判断したファイルサーバにお
いて、ファイル操作要求1a,1b,1cに応じた処理
が実行される。
に対してファイル操作を依頼する際には、全てのファイ
ルサーバ3,4,5に対してファイル操作要求1a,1
b,1cを出力すればよくなる。すなわち、どのファイ
ルサーバ3,4,5で処理が実行されるかを、クライア
ント1において認識する必要がない。その結果、ファイ
ル操作を実行するファイルサーバをクライアント1に認
識させるための処理が不要となり、処理の効率化を図る
ことができる。
バ間での処理の偏りの原因となっていた処理(ファイル
操作処理の依頼先をクライアント1に認識させる処理)
が不要となり、処理負荷の偏りの発生を抑制することが
できる。適切な負荷分散が行われることで、クラスタ2
全体としての処理の高速化が図られる。
適用した場合の例を用いて、実施の形態を詳しく説明す
る。 [第1の実施の形態]図2は、第1の実施の形態のシス
テム構成例を示す図である。第1の実施の形態では、ネ
ットワーク10を介して、複数のWebクライアント2
1,22,23、Webサーバ30、アプリケーション
サーバ41,42,43、および複数のファイルサーバ
100,200,300が接続されている。
WWW(World Wide Web)の閲覧機能(ブラウザ)を有し
ている。Webクライアント21,22,23は、We
bサーバ30にアクセスして、様々なコンテンツを閲覧
することができる。
21,22,23からの要求に応じて、コンテンツを提
供する。また、Webサーバ30は、Webクライアン
ト21,22,23から、ファイルサーバ100,20
0,300が保持するファイルへのアクセス要求(書き
込み要求や読込要求)を受けると、その処理をアプリケ
ーションサーバ41,42,43に依頼する。
は、Webサーバ30において高度な処理が必要となっ
たときに、その処理をWebサーバ30に代わって実行
する。たとえば、アプリケーションサーバ41,42,
43は、Webサーバ30から、ファイルサーバ10
0,200,300に対するファイル操作要求の処理を
引き継ぐ。処理を引き継いだアプリケーションサーバ4
1,42,43は、ファイルサーバ100,200,3
00に対してファイル操作要求を出力する。そして、ア
プリケーションサーバ41,42,43は、ファイルサ
ーバ100,200,300に対するファイル操作要求
の結果を、Webサーバ30に通知する。
2,43は、図1に示すクライアント1として機能す
る。複数のファイルサーバ100,200,300は、
それぞれが大規模のストレージデバイスを有しており、
ファイルサーバ100,200,300全体でクラスタ
が構成されている。そして、クラスタを構成する各ファ
イルサーバ100,200,300が有しているストレ
ージデバイスの利用環境が、アプリケーションサーバ4
1,42,43に提供される。たとえば、ファイルサー
バ100,200,300は、アプリケーションサーバ
41,42,43からのファイル操作要求に応じて、デ
ィレクトリの作成、ファイルの書き込み、ファイルの読
み取りなどの処理を行う。
300には、それぞれを一意に識別するためのノードI
Dが割り振られている。図2の例では、ファイルサーバ
100のノードIDは[1]であり、ファイルサーバ2
00のノードIDは[2]であり、ファイルサーバ30
0のノードIDは[3]である。
イルサーバのハードウェア構成例を示す図である。ファ
イルサーバ100は、CPU(Central Processing Uni
t)101によって装置全体が制御されている。CPU1
01には、バス107を介してRAM(Random Access M
emory)102、ストレージデバイスインタフェース10
3、グラフィック処理装置104、入力インタフェース
105、および通信インタフェース106が接続されて
いる。
せるOS(Operating System)のプログラムやアプリケー
ションプログラムの少なくとも一部が一時的に格納され
る。また、RAM102には、CPU101による処理
に必要な各種データが格納される。ストレージデバイス
インタフェース103には、ストレージデバイス110
が接続されている。ストレージデバイスインタフェース
103は、ストレージデバイス110の動作を制御し、
CPU101からの要求に従って、ストレージデバイス
110へのデータの書き込みやデータの読み出しを行
う。ストレージデバイス110は、たとえば、ハードデ
ィスク装置(HDD:Hard Disk Drive)である。スト
レージデバイス110には、OSやアプリケーションプ
ログラム、各種データが格納される。格納されるデータ
には、分割されたファイルデータも含まれる。
11が接続されている。グラフィック処理装置104
は、CPU101からの命令に従って、画像をモニタ1
1の画面に表示させる。入力インタフェース105に
は、キーボード12とマウス13とが接続されている。
入力インタフェース105は、キーボード12やマウス
13から送られてくる信号を、バス107を介してCP
U101に送信する。
ク10に接続されている。通信インタフェース106
は、ネットワーク10を介して、他のコンピュータとの
間でデータの送受信を行う。
第1の実施の形態の処理機能を実現することができる。
なお、図3には、ファイルサーバ100の構成を示した
が、他のファイルサーバ200,300、Webクライ
アント21,22,23、Webサーバ30、およびア
プリケーションサーバ41,42,43も同様のハード
ウェア構成で実現できる。
おけるファイルサーバ100、200,300およびア
プリケーションサーバ41,42,43が有する処理機
能について説明する。なお、各ファイルサーバ100,
200,300は、それぞれ同様の処理機能を有してい
るため、ファイルサーバ100の機能を代表的に説明す
るものとする。同様に、アプリケーションサーバ41,
42,43は、それぞれ同様の処理機能を有しているた
め、アプリケーションサーバ41の機能を代表的に説明
するものとする。
ケーションサーバとファイルサーバとの機能ブロック図
である。アプリケーションサーバ41は、ユーザバッフ
ァ41aとファイル操作要求部41bとを有している。
ユーザバッファ41aは、Webサーバ30から依頼さ
れた処理を実行するためのプロセスが利用する記憶領域
である。ファイル操作要求部41bは、ファイルサーバ
100,200,300に対してファイル操作要求を送
信する。ファイル操作要求には、ディレクトリ作成要
求、ファイル書き込み要求、ファイル読み取り要求など
がある。
ージデバイス110には、ディレクトリ111,111
a,111b,・・・、オブジェクト112,112
a,112b,・・・、ディレクトリ管理情報113、
およびファイルテーブル114が格納されている。ディ
レクトリ111,111a,111b,・・・は、ファ
イルサーバ100によって作成されたディレクトリであ
り、そのディレクトリ配下のファイルに関する情報が登
録されている。オブジェクト112,112a,112
b,・・・は、クラスタ全体で管理される各ファイルの
一部である。ディレクトリ管理情報113は、ディレク
トリ111,111a,111b,・・・に関する管理
情報である。
ルがクラスタ全体においてどのように分散されているか
を含むファイル情報のリストである。ファイル情報に
は、ファイルの属性(更新時間、作成者など)も含まれ
ている。なお、1つのファイルに対するファイル情報
は、クラスタを構成するファイルサーバ100,20
0,300のうちの一台が管理している。すなわち、フ
ァイルサーバ100のファイルテーブル114は、ファ
イルサーバ100自身が作成したファイルに関するファ
イル情報が登録されている。同様に、各ファイルサーバ
100,200,300は、それぞれオリジナルのファ
イルテーブル(ファイルサーバのノードIDがファイル
テーブル内のファイル情報中のファイルIDに含まれて
いる)を有している。
ファイルテーブル114に変更を加えた場合、データ入
出力部160が、ファイルテーブルに、内容を変更した
ことを示すフラグを立てる。ファイルサーバ100が、
自身がオリジナルのファイルテーブルを持たないファイ
ルに対して処理を行う場合、そのファイルテーブルのコ
ピーが生成される。そのとき、ファイルサーバ100
は、今回コピーしたファイルテーブルが前回から変更が
ない場合は、前回コピーしたファイルテーブルを使用す
る。
ト120、ディレクトリ作成部130、RDMA(Remot
e Direct Memory Access)転送部140、キャッシュ領
域150、およびデータ入出力部160を有している。
サーバ200,300の管理エージェントと連携して、
ノードリスト121とファイルテーブル114との内容
の統一化や、ディレクトリ111の送受信などを行う。
ァイルサーバが追加された場合には、追加されたファイ
ルサーバの管理エージェントが、他のファイルサーバを
検出し、接続する。追加されたファイルサーバは、接続
したファイルサーバのノードIDをノードリストに書き
込む。追加されたファイルサーバの接続相手の既存のフ
ァイルサーバは、接続要求を受けたことにより新規のフ
ァイルサーバを認識し、自身のノードリストに、追加さ
れたファイルサーバのノードIDを加える。
ファイルサーバ200,300が有するファイルテーブ
ルを参照する場合、管理エージェント120が他のファ
イルサーバ200,300で管理されているオリジナル
のファイルテーブルを参照する。そして、管理エージェ
ント120は、前回参照したときに作成したときから変
更されていれば、参照したファイルテーブルのコピーを
生成し、生成したコピーを自分自身で管理する。
レクトリ作成部130からディレクトリ情報の取得依頼
を受け取ると、その取得依頼に応じて、他のファイルサ
ーバ200,300にディレクトリ情報の取得要求を送
信する。そして、他のファイルサーバ200,300か
ら送られたディレクトリ情報を、ディレクトリ作成部1
30に渡す。逆に、管理エージェント120は、他のフ
ァイルサーバ200,300からのディレクトリ情報の
取得要求を受信すると、その取得要求で指定されたディ
レクトリ情報をストレージデバイス110内のディレク
トリ111,111a,111b,・・・やディレクト
リ管理情報113から読み出す。そして、管理エージェ
ント120は、ディレクトリ情報の取得要求を出力した
ファイルサーバに対して、ストレージデバイス110か
ら読み出したディレクトリ情報を送信する。
イルサーバ200,300との間で受け渡しするディレ
クトリ情報には、様々な情報がある。たとえば、あるデ
ィレクトリの親ディレクトリや、その親ディレクトリ配
下にディレクトリを前回作成したファイルサーバのノー
ドIDである。また、ディレクトリ情報には、ディレク
トリ111,111a,111b,・・・のコピーも含
まれる。
ションサーバ41〜43からのディレクトリ作成要求に
応じて、ストレージデバイス110にディレクトリを作
成する。具体的には、ディレクトリ作成部130には、
ファイルサーバ100自身がディレクトリ作成処理を担
当するか否かを判断するための判断条件が、予め定義さ
れている。ディレクトリ作成部130は、アプリケーシ
ョンサーバ41,42,43からのディレクトリ作成要
求を受け取ると、予め定義されている判断条件に従っ
て、ファイルサーバ100で管理すべきディレクトリか
否かを判断する。そして、ディレクトリ作成部130
は、ディレクトリを作成すべきであると判断された場合
のみ、ファイルサーバ100で管理すべきディレクトリ
111のみを、ストレージデバイス110に作成する。
の判断条件として、共通の親ディレクトリの配下へディ
レクトリを作成するファイルサーバの処理担当順が、フ
ァイルサーバ100自身の順番であることという条件が
定義されている。ディレクトリ作成処理担当順は、ノー
ドリスト121の登録順に従う。
アプリケーションサーバ41,42,43からディレク
トリ作成要求を受け取ると、まず、作成すべきディレク
トリの親ディレクトリ配下に、前回ディレクトリを作成
したファイルサーバを調べる。そのために、ディレクト
リ作成部130は、該当するファイルサーバのノードI
Dの取得依頼を、管理エージェント120に通知する。
すると、管理エージェント120で該当するファイルサ
ーバのノードIDの取得処理が行われ、取得したノード
IDがディレクトリ作成部130に渡される。
ェント120から渡されたノードIDが、ノードリスト
121の順番において、ファイルサーバ100自身の直
前であるかどうかを判断する。管理エージェント120
から渡されたノードIDの次の順番がファイルサーバ1
00自身であれば、ディレクトリ作成部130は、ディ
レクトリ作成要求に応じてディレクトリを作成する。
リを作成した際には、作成したディレクトリに対応する
情報を、ディレクトリ管理情報113に登録する。RD
MA転送部140は、RDMAと呼ばれるデータ転送方
式により、アプリケーションサーバ41,42,43と
の間でファイルデータの送受信を行う。RDMA転送
は、転送元と転送先とのアドレスを指定したデータ転送
である。RDMA転送を行うことで、たとえば、アプリ
ケーションサーバ41のユーザバッファ41a内のアド
レスを指定して、そのアドレス内のデータをキャッシュ
領域150に転送することができる。また、RDMA転
送によれば、アプリケーションサーバ41のユーザバッ
ファ41a内のアドレスを指定して、そのアドレス内へ
キャッシュ領域150のデータを転送することができ
る。
ンサーバ41,42,43との間で送受信するデータを
一時的に格納する記憶領域である。キャッシュ領域15
0は、図3に示すRAM102の記憶領域の一部であ
る。
ンサーバ41,42,43からの要求に応じて、ストレ
ージデバイス110に対するデータの入出力を行う。具
体的には、データ入出力部160には、予めファイル書
き込み要求を実行する際の判断条件として、ファイルの
分割規則と、分割により生成されたファイルデータのう
ち、ファイルサーバ100自身が管理すべきファイルデ
ータの選択規則が定義されている。
み要求を受け取ると、ファイルサーバ100自身が管理
すべきファイルデータの有無を判断する。管理すべきフ
ァイルデータがあれば、該当するファイルデータのデー
タ転送をRDMA転送部140に依頼する。次に、デー
タ入出力部160は、転送されたファイルデータをキャ
ッシュ領域150から読み出し、1つのオブジェクトと
してストレージデバイス110に書き込む。このとき、
データ入出力部160は、格納したオブジェクト112
の元となったファイルの情報をファイルテーブル114
に登録する。
読み取り要求を実行するための判断条件として、ファイ
ル読み取り要求で示されるファイル、またのそのファイ
ルの一部(ファイルデータ)を自己の管理するストレー
ジデバイス110内に格納していることという条件が定
義されている。データ入出力部160は、ファイル読み
取り要求を受け取ると、読み取り対象のファイルの少な
くとも一部がストレージデバイス110に格納されてい
るか否かを判断する。
するオブジェクト112がストレージデバイス110に
格納されていれば、データ入出力部160は、そのオブ
ジェクト112をストレージデバイス110から読み出
し、キャッシュ領域150に格納する。キャッシュ領域
150に格納されたオブジェクト112は、RDMA転
送部140によって、ファイル読み取り要求を出力した
アプリケーションサーバに転送される。
ータの構造について説明する。図5は、ノードリストの
データ構造例を示す図である。ノードリスト121に
は、ディレクトリ作成処理を行うファイルサーバ10
0,200,300の処理担当順が定義されている。図
5の例では、ノードIDが上位に記載されている程、対
応するファイルサーバの順番が先となる。ノードリスト
121に登録されているノードIDの順番に基づいて、
ディレクトリの作成順が決定される。なお、ノードリス
ト121の最後尾のノードIDの次の順番は、先頭のノ
ードIDとなる。
す図である。ディレクトリ111には、配下のディレク
トリのディレクトリ名とファイルID(識別情報とし
て、ディレクトリとファイルとは区別されない)との
組、および配下のファイルのファイル名とファイルID
との組が格納されている。いずれかのファイルサーバ1
00,200,300でディレクトリやファイルが作成
または削除されると、各ファイルサーバ100,20
0,300の管理エージェントの働きにより、操作対象
のディレクトリまたはファイルの親ディレクトリを有し
ているファイルサーバに対し、処理の内容が通知され
る。これにより、ディレクトリ111の内容が最新の状
態に保たれる。
12bについて説明する。オブジェクト112,112
a,112bは、ファイルを分散格納させることで生成
されている。
である。アプリケーションサーバ41に格納されている
ファイル50をファイルサーバ100,200,300
に分散格納する場合、ファイル50が、所定長の複数の
ファイルデータ51〜59,・・・に分割される。分割
されたファイルデータ51〜59,・・・は、各ファイ
ルサーバ100,200,300に分散して送信され
る。なお、ファイル50を分割した際の各ファイルデー
タ51〜59,・・・に対し、先頭から順番に0から始
まる識別番号を付与するものとする。
ョンサーバ41から送られた識別番号「0」,「3」,
「6」,・・・のファイルデータ51,54,57,・
・・によってオブジェクト112を構成し、ストレージ
デバイス110に格納する。オブジェクト112には、
オブジェクトID[X]が付与されている。
ョンサーバ41から送られた識別番号「1」,「4」,
「7」,・・・のファイルデータ52,55,58,・
・・によってオブジェクト212を構成し、ストレージ
デバイス210に格納する。オブジェクト212には、
オブジェクトID[Y]が付与されている。
ョンサーバ41から送られた識別番号「2」,「5」,
「8」,・・・のファイルデータ53,56,59,・
・・によってオブジェクト312を構成し、ストレージ
デバイス310に格納する。オブジェクト312には、
オブジェクトID[Z]が付与されている。
9,・・・は、先頭から順番に、1つずつ各ファイルサ
ーバ100,200,300に割り振られている。そし
て、ファイルデータ51〜59,・・・は、割り振られ
たファイルサーバ100,200,300で管理され
る。
を示す図である。ファイルテーブル114には、クラス
タで管理されている各ファイルに関するファイル情報1
14aが格納されている。ファイル情報114aは、フ
ァイルID61と、マップ情報(map[0],map
[1],map[2])62〜64とで構成されてい
る。
イルの識別情報である。各マップ情報62〜64は、そ
れぞれファイルサーバ100,200,300に対応し
ている。図8において、マップ情報62〜64を表して
いる文字(map[0],map[1],map
[2])の括弧内の数字は、対応するファイルサーバの
ノードIDを示している。各マップ情報62〜64は、
対応するファイルサーバ100,200,300で管理
されているオブジェクトに関する情報である。
0で管理されているオブジェクト112に関する情報が
登録されている。オフセット62a、データ長62b、
及びオブジェクトID62cで構成されている。オフセ
ット62aは、ファイル50を構成する各オブジェクト
112,212,312を結合した場合における、マッ
プ情報62に対応するオブジェクト112の先頭までの
オフセットアドレスである。データ長62bは、マップ
情報62に対応するオブジェクト112のデータ長(デ
ータ容量)である。オブジェクトID62cは、マップ
情報62に対応するオブジェクト112のオブジェクト
ID[X]である。
のデータ構造により、オブジェクト212に関する情報
が登録されている。したがって、マップ情報63のファ
イルIDの欄には、オブジェクト212のオブジェクト
ID[Y]が登録される。
のデータ構造により、オブジェクト312に関する情報
が登録されている。したがって、マップ情報64のファ
イルIDの欄には、オブジェクト312のオブジェクト
ID[Z]が登録される。
るオフセット値について詳しく説明する。図9は、マッ
プ情報に登録されるオフセットを説明する図である。各
オブジェクト112,212,312に対応するマップ
情報62〜64に設定されるオフセットは、オブジェク
ト112、オブジェクト212、オブジェクト312の
順で結合したときの先頭からのオフセットである。従っ
て、オブジェクト112に対応するマップ情報62に登
録されるオフセットは、0である。オブジェクト212
に対応するマップ情報63に登録されるオフセットは、
オブジェクト112のデータ長に相当する値である。オ
ブジェクト312に対応するマップ情報64に登録され
るオフセットは、オブジェクト112とオブジェクト2
12とを合わせたデータ長に相当する値である。
構造例を示す図である。ディレクトリ管理情報113に
は、ファイルサーバ100で管理している各ディレクト
リの管理情報113aが登録されている。管理情報の1
つとして、前回ディレクトリ作成ノードIDが登録され
ている。前回ディレクトリ作成ノードIDは、管理情報
113aに対応するディレクトリ配下に、ディレクトリ
(子ディレクトリ)を前回作成したファイルサーバのノ
ードIDである。図10の例では、ノードID「2」が
登録されている。
て実行される処理を以下に説明する。まず、ノードリス
ト121の同一性確保処理について説明する。
の概念図である。各ファイルサーバ100,200,3
00の管理エージェント120,220,320は、互
いにノードリスト121の内容を通知し合っている。そ
して、1つのファイルサーバでノードリスト121の内
容が更新された場合、更新後のノードリスト121が他
のファイルサーバに通知される。更新後のノードリスト
121を受け取ったファイルサーバは、受け取ったノー
ドリスト121の内容に従って、自己の管理するノード
リストの内容を更新する。これにより、複数のファイル
サーバ100,200,300におてい、ノードリスト
121の内容の同一性が保たれる。
する。図12は、ディレクトリ作成処理の手順を示すフ
ローチャートである。図12では、アプリケーションサ
ーバ41とファイルサーバ100との処理手順が示され
ている。アプリケーションサーバ41の処理は図中左側
に示されており、ファイルサーバ100の処理は図中右
側に示されている。以下、図12に示す処理をステップ
番号に沿って説明する。
バ41のファイル操作要求部41bは、ディレクトリ作
成要求を生成する。作成されたディレクトリ作成要求に
は、作成するディレクトリの親ディレクトリに関する情
報(親ディレクトリを生成したファイルサーバのノード
IDを含む)が含まれている。
1bは、全てのファイルサーバ100,200,300
に対して、ディレクトリ作成要求を送信する。その後、
アプリケーションサーバ41の処理はステップS13に
進むと共に、ファイルサーバ100において、ステップ
S14の処理が開始される。
1bは、ファイルサーバ100,200,300からの
返信を待つ。 [ステップS14]ファイルサーバ100のディレクト
リ作成部130は、アプリケーションサーバ41からの
ディレクトリ作成要求を受信する。
30は、親ディレクトリを持つファイルサーバから、親
ディレクトリ配下に前回ディレクトリを作成したファイ
ルサーバのノードIDを取得する。
は、ディレクトリ作成要求に含まれる親ディレクトリに
関する情報を抽出する。そして、抽出した情報を管理エ
ージェント120に渡すと共に、管理エージェント12
0に対して、親ディレクトリ配下に前回ディレクトリを
作成したノードのノードIDの取得を依頼する。
ィレクトリに関する情報から、親ディレクトリを作成し
たファイルサーバのノードIDを認識する。そして、管
理エージェント120は、親ディレクトリを作成したフ
ァイルサーバに対して、親ディレクトリ配下に前回ディ
レクトリを作成したファイルサーバのノードIDの取得
要求を出力する。この取得要求を受け取ったファイルサ
ーバの管理エージェントは、親ディレクトリのディレク
トリ管理情報を参照し、そのディレクトリ配下に前回デ
ィレクトリを作成したファイルサーバのノードIDを取
得する。そして、親ディレクトリを作成したファイルサ
ーバの管理エージェントは、取得したノードIDを、取
得要求を出力したファイルサーバ100に対して送信す
る。送信されたノードIDは、ファイルサーバ100の
管理エージェント120で受け取られ、ディレクトリ作
成部130に渡される。
30は、管理エージェント120が保持しているノード
リスト121と、取得したノードIDとを比較する。 [ステップS17]ディレクトリ作成部130は、ノー
ドリスト121の配列において、取得したノードIDの
ファイルサーバの次に、自己(ファイルサーバ100)
のノードIDがあるか否かを判断する。次に自己のノー
ドIDが設定されている場合には、処理がステップS1
8に進められる。次に自己のノードIDが設定されてい
ない場合には、処理がステップS22に進められる。
30は、ディレクトリ作成要求に従って、新規のディレ
クトリを作成する。 [ステップS19]ディレクトリ作成部130は、親デ
ィレクトリを有するファイルサーバからディレクトリの
内容を取得する。
は、管理エージェント120に対して、親ディレクトリ
を指定したディレクトリの取得を依頼する。管理エージ
ェント120は、依頼に応じて、親ディレクトリを有す
るファイルサーバに対して、ディレクトリ取得要求を出
力する。すると、親ディレクトリを有するファイルサー
バの管理エージェントが、親ディレクトリの内容をコピ
ーし、ファイルサーバ100に送信する。送信された親
ディレクトリのコピーは、管理エージェント120から
ディレクトリ作成部130に渡される。
30は、親ディレクトリのコピーに、作成したディレク
トリの情報を追加する。そして、ディレクトリ作成部1
30は、更新後の親ディレクトリのコピーを、元のファ
イルサーバに送信する。なお、親ディレクトリのコピー
を送信する場合、実際には、まず、親ディレクトリのコ
ピーが管理エージェント120に渡される。そして、管
理エージェント120が、親ディレクトリを有するファ
イルサーバに対して、ディレクトリ作成部130によっ
て更新された親ディレクトリのコピーを送信する。更新
後の親ディレクトリのコピーを受信したファイルサーバ
では、管理エージェントが、受信した内容に従って、親
ディレクトリのディレクトリ管理情報を更新する。
30は、ディレクトリを作成した旨の応答内容を作成す
る。その後、処理がステップS23に進められる。 [ステップS22]ディレクトリ作成部130は、ディ
レクトリを作成しない旨の応答内容を作成する。
30は、ディレクトリ作成要求に対する応答として、デ
ィレクトリ作成結果を送信する。その後、ファイルサー
バ100の処理は終了すると共に、アプリケーションサ
ーバ41においてステップS24の処理が開始される。
バ41のファイル操作要求部41bは、全てのファイル
サーバ100,200,300からディレクトリ作成結
果を受信し、処理を終了する。
の前半である。図13の例は、アプリケーションサーバ
41からの要求によって、ファイルサーバ100が有す
るディレクトリの配下に新規のディレクトリを作成する
場合の例である。なお、ファイルサーバ100が有する
ディレクトリ配下に前回ディレクトリを作成したファイ
ルサーバは、ノードID「2」のファイルサーバ200
であるものとする。
ーバ41からファイルサーバ100に対して、ディレク
トリ作成要求71が送信される。同様に、アプリケーシ
ョンサーバ41から、ファイルサーバ200に対してデ
ィレクトリ作成要求72が送信され、ファイルサーバ3
00に対してディレクトリ作成要求73が送信される。
各ディレクトリ作成要求71〜73は、宛先が異なる以
外は、同じ内容である。
レクトリの親ディレクトリを有しているファイルサーバ
100から他のファイルサーバ200,300に対し
て、親ディレクトリ配下に前回ディレクトリを作成した
ファイルサーバ200のノードID74(図13の例で
は、ノードID=2)が通知される。
の配列においてノードID「2」の次のノードID
「3」に対応するファイルサーバ300では、ディレク
トリ作成部330が、ストレージデバイス310に新規
ディレクトリ311を作成する。
の後半である。 [ステップS104]新規ディレクトリ311を作成し
たファイルサーバ300の管理エージェント320は、
ファイルサーバ100から親ディレクトリ情報(親ディ
レクトリの内容をコピーしたもの)81を受け取る。
0の管理エージェント320は、親ディレクトリのコピ
ーを更新し、更新後の親ディレクトリ情報82をファイ
ルサーバ100に送信する。
00、200,300は、アプリケーションサーバ41
に対して、ディレクトリ作成要求71〜73に対する応
答91〜93を返す。ファイルサーバ100からアプリ
ケーションサーバ41へは、ディレクトリを作成しない
旨(非作成)の応答91が返される。ファイルサーバ2
00からアプリケーションサーバ41へは、ディレクト
リを作成しない旨(非作成)の応答92が返される。フ
ァイルサーバ300からアプリケーションサーバ41へ
は、ディレクトリの作成が完了した旨(作成完了)の応
答93が返される。
するファイルサーバ100,200,300のいずれか
1つにおいて、新規のディレクトリが作成される。次
に、ファイルの書き込み処理について説明する。
示すフローチャートの前半である。図15には、アプリ
ケーションサーバ41がファイルの書き込み要求を出力
した場合の処理の例を示している。図15では、アプリ
ケーションサーバ41とファイルサーバ100との処理
手順が示されている。アプリケーションサーバ41の処
理は図中左側に示されており、ファイルサーバ100の
処理は図中右側に示されている。以下、図15に示す処
理をステップ番号に沿って説明する。
バ41のファイル操作要求部41bは、ファイルサーバ
100,200,300へ転送する書き込み要求を作成
する。
1bは、全てのファイルサーバ100,200,300
に書き込み要求を送信する。その後、アプリケーション
サーバ41の処理がステップS33に進められると共
に、ファイルサーバ100においてステップS34の処
理が開始される。
1bは、全てのファイルサーバ100,200,300
からの返信を待つ。その後、アプリケーションサーバ4
1の処理は、図16に示すステップS48に進められ
る。
のデータ入出力部160は、アプリケーションサーバ4
1からの書き込み要求を取得する。 [ステップS35]データ入出力部160は、書き込み
要求で指定されたファイルのデータを書き込むべきか否
かを判断する。たとえば、ファイルを複数のファイルデ
ータに分割した際に、ファイルサーバ100自身に割り
当てられたデータが存在する場合には、ファイルのデー
タを書き込むべきであると判断する。ファイルサーバ1
00自身に割り当てられたデータが存在しない場合に
は、ファイルのデータを書き込む必要なないと判断す
る。データを書き込むべきであれば、処理がステップS
36に進められる。データを書き込むべきでなければ、
処理が図16に示すステップS41に進められる。
は、管理エージェント120へ書き込みを行うストレー
ジデバイス110内のブロックの情報を通知する。 [ステップS37]RDMA転送部140は、アプリケ
ーションサーバ41内のユーザバッファ41aから、フ
ァイルサーバ100自身に割り当てられたファイルデー
タをRDMA転送で、メモリのキャッシュ領域150に
転送する。
は、キャッシュ領域150に格納された複数のファイル
データを1つのオブジェクトとして、ストレージデバイ
ス110に書き込む。
は、管理エージェント120へ書き込み完了を通知す
る。その後、処理が図16のステップS43に進められ
る。図16は、ファイル書き込み処理の手順を示すフロ
ーチャートの後半である。以下、図16に示す処理をス
テップ番号に沿って説明する。
は、処理対象のファイルがファイルサーバ100自身の
管理するファイルか否かを判断する。具体的には、処理
対象のファイルのファイルIDには、そのファイルのフ
ァイル情報を管理しているファイルサーバのノードID
が含まれている。
ルIDに含まれるノードIDと、ファイルサーバ100
自身のノードIDとを比較する。データ入出力部160
は、比較の結果、ノードIDが一致すれば、自己の管理
するファイルであると判断し、ノードIDが一致しなけ
れば、自己の管理するファイルではないと判断する。処
理対象のファイルがファイルサーバ100自身の管理す
るファイルであれば、処理がステップS42に進められ
る。処理対象のファイルがファイルサーバ100自身の
管理するファイルでなければ、処理がステップS46に
進められる。
は、管理エージェント120に対して、データの書き込
みを行わないことを通知する。 [ステップS43]管理エージェント120は、他のフ
ァイルサーバ200,300の管理エージェント22
0,320と連携して、書き込みデータの総量を計算す
る。計算結果は、データ入出力部160に通知される。
ファイルサーバ100自身の管理するファイルか否かを
判断する。処理対象のファイルがファイルサーバ100
自身の管理するファイルであれば、処理がステップS4
5に進められる。処理対象のファイルがファイルサーバ
100自身の管理するファイルでなければ、処理がステ
ップS46に進められる。
は、書き込み結果を作成する。書き込み結果には、書き
込んだオブジェクトのデータ量を示す情報が含まれる。
その後、処理がステップS47に進められる。
は、処理をしないことを示す書き込み結果を作成する。 [ステップS47]データ入出力部160は、作成した
書き込み結果を、アプリケーションサーバ41に送信す
る。その後、ファイルサーバ100における処理が終了
し、アプリケーションサーバ41においてステップS4
8の処理が実行される。
バ41のファイル操作要求部41bでは、全てのファイ
ルサーバ100,200,300からの書き込み結果を
受信し、処理を終了する。
て、書き込み処理が行われる。なお、データ量を含む書
き込み結果(正常に書き込みを完了したことを示す情
報)は、処理対象のファイルのファイル情報を管理する
ファイルサーバが、アプリケーションサーバに対して通
知する。他のファイルサーバは、データの書き込みを行
った場合でも、アプリケーションサーバに対して、処理
を行わないことを示す処理結果を通知する。これによ
り、アプリケーションサーバにおいて、1台のファイル
サーバが書き込み処理を実行したものと認識させること
ができる。その結果、ファイルサーバにおいて、ファイ
ルが分散格納されたことによる特別な処理が不要とな
る。このことは、後述するファイルの読み取り処理にお
いても同様である。
全てのファイルサーバ100,200,300に対し
て、書き込み要求411〜413が送信される。書き込
み要求411〜413は、宛先が異なるのみで、それ以
外は同じ内容である。
ーバ41のユーザバッファ41aに格納されているファ
イル50がファイルデータ単位に分割され、複数のファ
イルサーバ100,200,300に分散して転送され
る。各ファイルサーバ100,200,300では、転
送されファイルデータがキャッシュ領域150,25
0,350に格納される。
00,200,300のキャッシュ領域150,25
0,350に格納されたファイルデータは、オブジェク
ト112,212,312としてストレージデバイス1
10,210,310に格納される。
ことができる。次に、ファイルの読み取り処理について
説明する。図18は、ファイルの読み取り処理の手順を
示すフローチャートの前半である。図18では、アプリ
ケーションサーバ41とファイルサーバ100との処理
手順が示されている。アプリケーションサーバ41の処
理は図中左側に示されており、ファイルサーバ100の
処理は図中右側に示されている。以下、図18に示す処
理をステップ番号に沿って説明する。
バ41のファイル操作要求部41bは、ファイルサーバ
100,200,300に転送する読み取り要求を作成
する。読み取り要求では、ファイルの一部のデータに対
する読み取り要求を出すことができる。その場合、デー
タ開始位置のオフセット(ファイルの先頭からの差分)
や、データ長により、読み取り対象のデータが特定され
る。
1bは、全てのファイルサーバ100,200,300
に対して、読み取り要求を送信する。その後、アプリケ
ーションサーバ41の処理がステップS53に進むと共
に、ファイルサーバ100においてステップS54の処
理が実行される。
1bは、全てのファイルサーバからの返信を待つ。その
後、アプリケーションサーバ41の処理は、図19に示
すステップS68に進められる。
のデータ入出力部160は、アプリケーションサーバ4
1からの読み取り要求を取得する。[ステップS55]
データ入出力部160は、読み取り対象として要求され
ているデータを有しているか否かを判断する。読み取り
対象のデータを有していれば、処理がステップS56に
進められる。読み取り対象のデータを有していなけれ
ば、処理が図19に示すステップS61に進められる。
は、管理エージェント120へ、読み取りを行うストレ
ージデバイス110内のブロックを通知する。 [ステップS57]データ入出力部160は、ストレー
ジデバイス110に格納されているオブジェクトから、
要求されているファイルデータを読み取り、キャッシュ
領域150に書き込む。
は、キャッシュ領域150に書き込まれたデータを、ア
プリケーションサーバ41のユーザバッファにRDMA
転送する。転送先のアドレスは、読み取り要求で指定さ
れている。
は、管理エージェント120へ、読み取り完了を通知す
る。その後、処理が図19に示すステップS63に進め
られる。
を示すフローチャートの後半である。以下、図19に示
す処理をステップ番号に沿って説明する。 [ステップS61]データ入出力部160は、処理対象
のファイルがファイルサーバ100自身の管理するファ
イルか否かを判断する。ファイルサーバ100自身の管
理するファイルか否かは、処理対象のファイルのファイ
ルIDに含まれるファイルIDが、ファイルサーバ10
0自身のノードIDと一致するか否かによって判断でき
る。処理対象のファイルがファイルサーバ100自身の
管理するファイルであれば、処理がステップS62に進
められる。処理対象のファイルがファイルサーバ100
自身の管理するファイルでなければ、処理がステップS
66に進められる。
は、管理エージェント120に対して、データの読み取
りを行わないことを通知する。 [ステップS63]管理エージェント120は、他のフ
ァイルサーバ200,300の管理エージェント22
0,320と連携して、読み取りデータの総量を計算す
る。計算結果は、データ入出力部160に通知される。
ファイルサーバ100自身の管理するファイルか否かを
判断する。処理対象のファイルがファイルサーバ100
自身の管理するファイルであれば、処理がステップS6
5に進められる。処理対象のファイルがファイルサーバ
100自身の管理するファイルでなければ、処理がステ
ップS66に進められる。
は、読み取り結果を作成する。この読み取り結果には、
転送したデータのデータ量が示されている。その後、処
理がステップS67に進められる。
は、処理を行わないことを示す読み取り結果を作成す
る。 [ステップS67]データ入出力部160は、読み取り
結果をアプリケーションサーバ41に送信する。その
後、ファイルサーバ100における処理が終了すると共
に、アプリケーションサーバ41においてステップS6
8の処理が実行される。
バ41のファイル操作要求部41bは、全てのファイル
サーバ100,200,300から読み取り結果を受信
し、処理を終了する。
各ファイルサーバ100,200,300へ、読み取り
要求421〜423が送信される。読み取り要求421
〜423は、宛先が異なるのみで、それ以外は同じ内容
である。
00,200,300は、読み取り要求で指定されたフ
ァイルデータのうち、自身が所有しているファイルデー
タをストレージデバイス110,210,310から読
み出し、キャッシュ領域150,250,350に格納
する。
00,200,300は、キャッシュ領域150,25
0,350に格納したファイルデータを含む読み取り結
果431〜433を、アプリケーションサーバ41のユ
ーザバッファ41aにRDMAにより転送する。なお、
RDMA転送の際に、各ファイルデータの格納領域が指
定されることで、ユーザバッファ41aに格納された時
点で、複数のファイルデータが連結され、元のファイル
50が生成される。
イルを読み取ることができる。以上説明したように、本
発明の実施の形態によれば、アプリケーションサーバ4
1〜43がファイルサーバ100,200,300に対
してファイル操作(ディレクトリ作成、データ書き込
み、データ読み取りなど)を要求する場合、全てのファ
イルサーバ100,200,300に同じ内容の要求を
送信することで、ファイルサーバ100,200,30
0にファイル操作を実行させることができる。これによ
り、アプリケーションサーバ41〜43において、ファ
イル操作要求を送信すべきファイルサーバを認識する必
要が無くなる。すなわち、ファイルサーバ100,20
0,300のクライアントとして動作するコンピュータ
(たとえばアプリケーションサーバ41〜43)に、フ
ァイルサーバ100,200,300の負荷分散のため
の処理機能を実装せずにすむ。その結果、ファイルサー
バ100,200,300のクライアントとして動作す
るコンピュータの処理負荷が軽減される。
にしたため、大容量のファイルの入出力が発生しても、
1つのファイルサーバへの負荷の集中が無くなる。しか
も、ファイルを分散格納したことで、1つのファイルの
書き込みや読み取りの処理が、高速化される。その結
果、ネットワークの通信速度の高速化によるメリット
を、十分に生かすことができる。
は、RDMA転送を行うことができるシステムについて
説明したが、RDMA転送ができない場合であっても、
同様のファイルの分散格納を行うことできる。そこで、
RDMA転送を用いない場合の例を、第2の実施の形態
として説明する。
構成は、図2に示した第1の実施の形態の構成と同様で
ある。ただし、アプリケーションサーバとファイルサー
バとの機能の一部が、第1の実施の形態と異なる。ま
た、第2の実施の形態におけるアプリケーションサーバ
とファイルサーバとは、図3と同様のハードウェア構成
で実現することができる。
ブロック図である。第2の実施の形態は、複数のアプリ
ケーションサーバ45〜47と、複数のファイルサーバ
100,200a,300aとで構成される。ファイル
サーバ100,200a,300aによって、クラスタ
が構成されている。ここで、アプリケーションサーバ4
5とファイルサーバ100aとの機能を、代表的に説明
する。なお、ストレージデバイス110の内容は第1の
実施の形態と同じであるため、図4と同一の符号を付し
て説明を省略する。
ッファ45a、ファイル操作要求部45b、および通信
バッファ45cを有している。ユーザバッファ45a
は、Webサーバ30からの要求に応じた処理を実行す
るためのプロセスが利用する記憶領域である。
ーバ100a,200a,300aに対してファイル操
作要求を送信する。ファイル操作要求には、ディレクト
リ作成要求、ファイル書き込み要求、ファイル読み取り
要求などがある。ファイル操作要求部45bは、ファイ
ルの読み取り要求を各ファイルサーバ100a,200
a,300aに送信した際には、その応答として、各フ
ァイルサーバ100a,200a,300aからオブジ
ェクトを受け取る。すると、ファイル操作要求部45b
は、受け取った複数のオブジェクトを組み合わせて1つ
のファイルを生成し、ユーザバッファ45aに格納す
る。
部45bがネットワークを介した通信を行うためのデー
タを記憶するための記憶領域である。ファイルサーバ1
00aは、管理エージェント120a、ディレクトリ作
成部130a、キャッシュ領域150a、およびデータ
入出力部160aを有している。管理エージェント12
0aは、ノードリスト121aを保持している。管理エ
ージェント120a、ディレクトリ作成部130aの機
能は、図4に示した第1の実施の形態の同名も構成要素
と同じである。
部160aが、ストレージデバイス110に入出力する
データを一時的に格納する記憶領域である。データ入出
力部160aは、アプリケーションサーバ45からのフ
ァイルの書き込み要求や読み取り要求に応じて、ストレ
ージデバイス110内のファイルを操作する。
ョンサーバ45からファイルの書き込み要求を受け取れ
ば、管理エージェント120aが保持しているノードリ
スト121aを参照して、書き込みを行うべきファイル
データを特定する。次に、データ入出力部160aは、
書き込みを行うべきファイルデータをアプリケーション
サーバ45のファイル操作要求部45bから受け取り、
一端キャッシュ領域150aに格納する。そして、デー
タ入出力部160aは、キャッシュ領域150aに格納
したファイルデータを纏めて1つのオブジェクト112
として、ストレージデバイス110に格納する。
ョンサーバ45からファイルの読み取り要求を受け取る
と、指定されたファイルの一部を構成するオブジェクト
112をストレージデバイス110から読み取り、キャ
ッシュ領域150aに格納する。次に、キャッシュ領域
150aに格納されたオブジェクト112を、アプリケ
ーションサーバ45のファイル操作要求部45bに渡
す。
の読み取り処理について詳しく説明する。図22は、第
2の実施の形態におけるファイルの読み取り処理の手順
を示すフローチャートである。図22では、アプリケー
ションサーバ45とファイルサーバ100aとの処理手
順が示されている。アプリケーションサーバ45の処理
は図中左側に示されており、ファイルサーバ100aの
処理は図中右側に示されている。以下、図22に示す処
理をステップ番号に沿って説明する。
ーバ45のファイル操作要求部45bは、読み取り要求
を作成する。読み取り要求では、ファイルの一部のデー
タに対する読み取り要求を出すことができる。その場
合、データ開始位置のオフセット(ファイルの先頭から
の差分)や、データ長により、読み取り対象のデータが
特定される。
45bは、全てのファイルサーバ100a,200a,
300aに対して、ファイルの読み取り要求を送信す
る。その後、アプリケーションサーバ45の処理がステ
ップS203に進むと共に、ファイルサーバ100aに
おいてステップS204の処理が実行される。
45bは、全てのファイルサーバ100a,200a,
300aからの返信を待つ。その後、アプリケーション
サーバ45の処理は、ステップS210に進められる。
0aのデータ入出力部160aは、アプリケーションサ
ーバ45からの読み取り要求を取得する。 [ステップS205]データ入出力部160aは、読み
取り対象として要求されているデータを有しているか否
かを判断する。読み取り対象のデータを有していれば、
処理がステップS206に進められる。読み取り対象の
データを有していなければ、処理がステップS208に
進められる。
0aは、ストレージデバイス110に格納されているオ
ブジェクトから、要求されているファイルデータを読み
取り、キャッシュ領域150aに書き込む。
0aは、読み取り結果を作成する。読み取り結果には、
要求されたデータや、そのデータのデータ量などが含ま
れる。その後、処理がステップS209に進められる。
0aは、処理を行わないことを示す読み取り結果を作成
する。 [ステップS209]データ入出力部160aは、読み
取り結果をアプリケーションサーバ45に送信する。そ
の後、ファイルサーバ100aにおける処理が終了する
と共に、アプリケーションサーバ45においてステップ
S210の処理が実行される。
ーバ45のファイル操作要求部45bは、全てのファイ
ルサーバ100a,200a,300aから読み取り結
果を受信する。受信した読み取り結果は、一端、通信バ
ッファ45cに格納される。
45bは、全ファイルサーバからの読み取り結果に含ま
れるファイルデータを通信バッファ45cから読み出
し、繋ぎ合わせ、連続データとする。これにより、読み
取り対象のファイルが生成される。ファイル操作要求部
45bは、生成したファイルをユーザバッファ45aに
格納する。
イル読み取り処理の前半を示す概念図である。 [ステップS221]アプリケーションサーバ45から
各ファイルサーバ100a,200a,300aへ、読
み取り要求441〜443が送信される。読み取り要求
441〜443は、宛先が異なるのみで、それ以外は同
じ内容である。
00a,200a,300aは、読み取り要求441〜
443で指定されたファイルデータのうち、自身が所有
しているファイルデータをストレージデバイス110,
210,310から読み出し、キャッシュ領域150
a,250a,350aに格納する。
イル読み取り処理の後半を示す概念図である。 [ステップS223]各ファイルサーバ100a,20
0a,300aは、キャッシュ領域150a,250
a,350aに格納したファイルデータを含む読み取り
結果451〜453を、アプリケーションサーバ45に
転送する。その読み取り結果451〜453は、通信バ
ッファ45cに格納される。
ーバ45は、通信バッファ45cに格納された読み取り
結果内のファイルデータを、元の順番に繋ぎ合わせ、フ
ァイルを生成する。そして、アプリケーションサーバ4
5は、そのファイルをユーザバッファ45aに格納す
る。
に、分散格納されたファイルの読み取りを行うことがで
きる。 [変形例]以下、上記第1、第2の実施の形態に対する
変形例について説明する。
納しているが、常にファイルの分散格納を行う必要はな
い。たとえば、ファイルのデータ量が小さければ、分散
させずに、1つのファイルサーバで管理させてもよい。
この場合、ファイルの書き込み要求が出されたときに、
各ファイルサーバは、自己の格納すべきファイルか否か
を判断する。たとえば、ファイルサーバに対して、格納
対象のファイルを決定するための規則を予め定義してお
く。そして、各ファイルサーバは、定義された規則に従
って、それぞれの格納すべきファイルを特定し、特定し
たファイルの書き込みを実行する。
としては、たとえば、ディレクトリ作成要求に応じてデ
ィレクトリを作成するファイルサーバの決定規則と同様
の規則を適用することができる。すなわち、ファイルが
作成される場所のディレクトリ(親ディレクトリ)配下
に、前回ファイルを作成したファイルサーバを調べる。
そして、ノードリストにおいて、前回ファイルを作成し
たファイルサーバの次のファイルサーバがファイルの書
き込みを行う。
では、ファイルのファイル情報を管理するファイルサー
バの決定方法について説明していないが、上記の変形例
に示した格納対象のファイルを決定するための規則と同
様の方法によって、あるファイルのファイル情報を管理
すべきファイルサーバを決定することができる。
クライアントコンピュータとによって実現することがで
きる。その場合、ファイルサーバが有すべき機能の処理
内容を記述したサーバプログラム、およびアプリケーシ
ョンサーバが有すべき機能の処理内容を記述したクライ
アントプログラムが提供される。サーバプログラムをサ
ーバコンピュータで実行することにより、ファイルサー
バの処理機能がサーバコンピュータ上で実現される。ま
た、クライアントプログラムをクライアントコンピュー
タで実行することにより、アプリケーションサーバの処
理機能がクライアントコンピュータ上で実現される。
ライアントプログラムは、コンピュータで読み取り可能
な記録媒体に記録しておくことができる。コンピュータ
で読み取り可能な記録媒体としては、磁気記録装置、光
ディスク、光磁気記録媒体、半導体メモリなどがある。
磁気記録装置には、ハードディスク装置(HDD)、フ
レキシブルディスク(FD)、磁気テープなどがある。
光ディスクには、DVD(Digital Versatile Disc)、D
VD−RAM(Random Access Memory)、CD−ROM(C
ompact Disc Read Only Memory)、CD−R(Recordabl
e)/RW(ReWritable)などがある。光磁気記録媒体に
は、MO(Magneto-Optical disc)などがある。
ムを流通させる場合には、たとえば、各プログラムが記
録されたDVD、CD−ROMなどの可搬型記録媒体が
販売される。また、クライアントプログラムをサーバコ
ンピュータの記憶装置に格納しておき、ネットワークを
介して、サーバコンピュータからクライアントコンピュ
ータにクライアントプログラムを転送することもでき
る。
ュータは、たとえば、可搬型記録媒体に記録されたサー
バプログラムを、自己の記憶装置に格納する。そして、
サーバコンピュータは、自己の記憶装置からサーバプロ
グラムを読み取り、サーバプログラムに従った処理を実
行する。なお、サーバコンピュータは、可搬型記録媒体
から直接サーバプログラムを読み取り、そのサーバプロ
グラムに従った処理を実行することもできる。
アントコンピュータは、たとえば、可搬型記録媒体に記
録されたクライアントプログラムもしくはサーバコンピ
ュータから転送されたクライアントプログラムを、自己
の記憶装置に格納する。そして、クライアントコンピュ
ータは、自己の記憶装置からクライアントプログラムを
読み取り、クライアントプログラムに従った処理を実行
する。なお、クライアントコンピュータは、可搬型記録
媒体から直接クライアントプログラムを読み取り、その
クライアントプログラムに従った処理を実行することも
できる。また、クライアントコンピュータは、サーバコ
ンピュータからクライアントプログラムが転送される毎
に、逐次、受け取ったクライアントプログラムに従った
処理を実行することもできる。
ァイルサーバの一つとしてコンピュータを機能させるた
めのファイルサーバプログラムにおいて、前記コンピュ
ータに、前記クラスタにおいて実行する処理のうち自身
の担当する処理を判断するための判断条件が予め定義さ
れており、前記クラスタを構成する前記複数のファイル
サーバに対して送信されたファイル操作要求を受け取る
と、前記判断条件に基づいて前記ファイル操作要求に応
じた処理の実行の要否を判断し、前記ファイル操作要求
に応じた処理の実行が必要と判断された場合、自己の管
理するストレージデバイスに対して前記ファイル操作要
求に応じた処理を行う、処理を実行させることを特徴と
するファイルサーバプログラム。
複数のファイルサーバの処理担当順が予め定義されてお
り、前記処理担当順において自己の順番であることが、
前記判断条件として定義されていることを特徴とする付
記1記載のファイルサーバプログラム。
レクトリ作成要求である場合、前記処理担当順によっ
て、共通の親ディレクトリの配下へディレクトリを作成
するファイルサーバの順番が定義されていることを特徴
とする付記1記載のファイルサーバプログラム。
は、前記ディレクトリの配下に最後に子ディレクトリを
作成したファイルサーバの識別情報を記憶し、前記ディ
レクトリ作成要求において、前記ディレクトリ配下への
ディレクトリ作成が要求された場合、前記ディレクトリ
配下に前回子ディレクトリを作成したファイルサーバの
識別情報を、他のファイルサーバに通知することを特徴
とする付記3記載のファイルサーバプログラム。
た処理のうち担当部分として割り当てられた処理を含む
ことが前記判断条件として定義されており、前記ファイ
ル操作要求に応じた処理を実行する際には、前記担当部
分として割り当てられた処理のみを実行することを特徴
とする付記1記載のファイルサーバプログラム。
イルの書き込み要求であるときの前記判断条件として、
前記ファイルを分割したファイルデータのうち、書き込
み処理を担当すべき処理担当データの選択規則が定義さ
れており、前記ファイル操作要求に応じた処理を実行す
る際には、前記処理担当データを、自己の管理するスト
レージデバイスに格納することを特徴とする付記1記載
のファイルサーバプログラム。
イルの読み取り要求であるときの前記判断条件として、
前記ファイルを自己の管理するストレージデバイス内に
格納していることが定義されており、前記ファイル操作
要求に応じた処理を実行する際には、前記ストレージデ
バイスから前記ファイルを読み出し、読み出した前記フ
ァイルを、前記ファイル操作要求を出力した装置へ送信
することを特徴とする付記1記載のファイルサーバプロ
グラム。
イルを構成する一部のファイルデータの読み取り要求で
ある場合、前記ファイルデータを自己の管理するストレ
ージデバイス内に格納していることが、前記判断条件と
して定義されており、前記ファイル操作要求に応じた処
理を実行する際には、前記ストレージデバイスから前記
ファイルデータを読み出し、読み出した前記ファイルデ
ータを、前記ファイル操作要求を出力した装置へ送信す
ることを特徴とする付記1記載のファイルサーバプログ
ラム。
ァイルサーバの一つとして機能するコンピュータのファ
イル操作方法において、前記クラスタにおいて実行する
処理のうち自身の担当する処理を判断するための判断条
件が予め定義されており、前記クラスタを構成する前記
複数のファイルサーバに対して送信されたファイル操作
要求を受け取ると、前記判断条件に基づいて前記ファイ
ル操作要求に応じた処理の実行の要否を判断し、前記フ
ァイル操作要求に応じた処理の実行が必要と判断された
場合、自己の管理下にあるストレージデバイスに対して
前記ファイル操作要求に応じた処理を行う、ことを特徴
とするファイル操作方法。
装置の一つとして機能するファイルサーバにおいて、ス
トレージデバイスと、前記クラスタにおいて実行する処
理のうち自身の担当する処理を判断するための判断条件
が予め定義されており、前記クラスタを構成する前記複
数のファイルサーバに対して送信されたファイル操作要
求を受け取ると、前記判断条件に基づいて前記ファイル
操作要求に応じた処理の実行の要否を判断する判断手段
と、前記判断手段において前記ファイル操作要求に応じ
た処理の実行が必要と判断された場合、前記ストレージ
デバイスに対して前記ファイル操作要求に応じた処理を
行う処理実行手段と、を有することを特徴とするファイ
ルサーバ。
ファイルサーバの一つとしてコンピュータを機能させる
ためのファイルサーバプログラムを記録した前記コンピ
ュータ読み取り可能な記録媒体において、前記コンピュ
ータに、前記クラスタにおいて実行する処理のうち自身
の担当する処理を判断するための判断条件が予め定義さ
れており、前記クラスタを構成する前記複数のファイル
サーバに対して送信されたファイル操作要求を受け取る
と、前記判断条件に基づいて前記ファイル操作要求に応
じた処理の実行の要否を判断し、前記ファイル操作要求
に応じた処理の実行が必要と判断された場合、自己の管
理するストレージデバイスに対して前記ファイル操作要
求に応じた処理を行う、処理を実行させることを特徴と
する記録媒体。
ファイルサーバに対してファイル操作要求が出力される
と、処理の実行が必要と判断したファイルサーバにおい
て、ファイル操作要求に応じた処理が実行されるように
した。そのため、ファイル操作要求の送信先をクライア
ントに認識させる必要が無くなり、処理の効率化を図る
ことができるとともに、ファイル操作要求の送信先の認
識処理に起因する処理負荷の偏りを防ぐことができる。
である。
ある。
ハードウェア構成例を示す図である。
ーバとファイルサーバとの機能ブロック図である。
る。
図である。
図である。
る。
ャートである。
る。
る。
ャートの前半である。
ャートの後半である。
チャートの前半である。
チャートの後半である。
ある。
り処理の手順を示すフローチャートである。
処理の前半を示す概念図である。
処理の後半を示す概念図である。
14)
ルがクラスタ全体においてどのように分散されているか
を含むファイル情報のリストである。ファイル情報に
は、ファイルの属性(更新時間、作成者など)も含まれ
ている。なお、1つのファイルに対するファイル情報
は、クラスタを構成するファイルサーバ200,300
のうちの一台が管理している。すなわち、ファイルサー
バ100のファイルテーブル114は、ファイルサーバ
100自身が作成したファイルに関するファイル情報が
登録されている。同様に、各ファイルサーバ100,2
00,300は、それぞれオリジナルのファイルテーブ
ル(ファイルサーバのノードIDがファイルテーブル内
のファイル情報中のファイルIDに含まれている)を有
している。
を示す図である。ファイルテーブル114には、クラス
タで管理されている各ファイルに関するファイル情報1
14aが格納されている。ファイル情報114aは、フ
ァイルID61と、マップ情報(map[1],map
[2],map[3])62〜64とで構成されてい
る。
イルの識別情報である。各マップ情報62〜64は、そ
れぞれファイルサーバ100,200,300に対応し
ている。図8において、マップ情報62〜64を表して
いる文字(map[1],map[2],map
[3])の括弧内の数字は、対応するファイルサーバの
ノードIDを示している。各マップ情報62〜64は、
対応するファイルサーバ100,200,300で管理
されているオブジェクトに関する情報である。
の概念図である。各ファイルサーバ100,200,3
00の管理エージェント120,220,320は、互
いにノードリスト121の内容を通知し合っている。そ
して、1つのファイルサーバでノードリスト121の内
容が更新された場合、更新後のノードリスト121が他
のファイルサーバに通知される。更新後のノードリスト
121を受け取ったファイルサーバは、受け取ったノー
ドリスト121の内容に従って、自己の管理するノード
リストの内容を更新する。これにより、複数のファイル
サーバ100,200,300において、ノードリスト
121の内容の同一性が保たれる。
は、キャッシュ領域150に書き込まれたデータを、ア
プリケーションサーバ41のユーザバッファ41aにR
DMA転送する。転送先のアドレスは、読み取り要求で
指定されている。
を示すフローチャートの後半である。以下、図19に示
す処理をステップ番号に沿って説明する。[ステップS
61]データ入出力部160は、処理対象のファイルが
ファイルサーバ100自身の管理するファイルか否かを
判断する。ファイルサーバ100自身の管理するファイ
ルか否かは、処理対象のファイルのファイルIDに含ま
れるノードIDが、ファイルサーバ100自身のノード
IDと一致するか否かによって判断できる。処理対象の
ファイルがファイルサーバ100自身の管理するファイ
ルであれば、処理がステップS62に進められる。処理
対象のファイルがファイルサーバ100自身の管理する
ファイルでなければ、処理がステップS66に進められ
る。
ブロック図である。第2の実施の形態は、複数のアプリ
ケーションサーバ45〜47と、複数のファイルサーバ
100a,200a,300aとで構成される。ファイ
ルサーバ100a,200a,300aによって、クラ
スタが構成されている。ここで、アプリケーションサー
バ45とファイルサーバ100aとの機能を、代表的に
説明する。なお、ストレージデバイス110の内容は第
1の実施の形態と同じであるため、図4と同一の符号を
付して説明を省略する。
ョンサーバ45からファイルの書き込み要求を受け取れ
ば、管理エージェント120aが保持しているノードリ
スト121aを参照して、書き込みを行うべきファイル
データを特定する。次に、データ入出力部160aは、
書き込みを行うべきファイルデータをアプリケーション
サーバ45のファイル操作要求部45bから受け取り、
一旦キャッシュ領域150aに格納する。そして、デー
タ入出力部160aは、キャッシュ領域150aに格納
したファイルデータを纏めて1つのオブジェクト112
として、ストレージデバイス110に格納する。
ーバ45のファイル操作要求部45bは、全てのファイ
ルサーバ100a,200a,300aから読み取り結
果を受信する。受信した読み取り結果は、一旦、通信バ
ッファ45cに格納される。
レクトリ作成要求である場合、前記処理担当順によっ
て、共通の親ディレクトリの配下へディレクトリを作成
するファイルサーバの順番が定義されていることを特徴
とする付記2記載のファイルサーバプログラム。
装置の一つとして機能するファイルサーバにおいて、ス
トレージデバイスと、前記クラスタにおいて実行する処
理のうち自身の担当する処理を判断するための判断条件
が予め定義されており、前記クラスタを構成する前記複
数の装置に対して送信されたファイル操作要求を受け取
ると、前記判断条件に基づいて前記ファイル操作要求に
応じた処理の実行の要否を判断する判断手段と、前記判
断手段において前記ファイル操作要求に応じた処理の実
行が必要と判断された場合、前記ストレージデバイスに
対して前記ファイル操作要求に応じた処理を行う処理実
行手段と、を有することを特徴とするファイルサーバ。
Claims (5)
- 【請求項1】 クラスタを構成する複数のファイルサー
バの一つとしてコンピュータを機能させるためのファイ
ルサーバプログラムにおいて、 前記コンピュータに、 前記クラスタにおいて実行する処理のうち自身の担当す
る処理を判断するための判断条件が予め定義されてお
り、前記クラスタを構成する前記複数のファイルサーバ
に対して送信されたファイル操作要求を受け取ると、前
記判断条件に基づいて前記ファイル操作要求に応じた処
理の実行の要否を判断し、 前記ファイル操作要求に応じた処理の実行が必要と判断
された場合、自己の管理するストレージデバイスに対し
て前記ファイル操作要求に応じた処理を行う、処理を実
行させることを特徴とするファイルサーバプログラム。 - 【請求項2】 前記クラスタを構成する前記複数のファ
イルサーバの処理担当順が予め定義されており、前記処
理担当順において自己の順番であることが、前記判断条
件として定義されていることを特徴とする請求項1記載
のファイルサーバプログラム。 - 【請求項3】 前記ファイル操作要求がディレクトリ作
成要求である場合、前記処理担当順によって、共通の親
ディレクトリの配下へディレクトリを作成するファイル
サーバの順番が定義されていることを特徴とする請求項
1記載のファイルサーバプログラム。 - 【請求項4】 前記ファイル操作要求がファイルの書き
込み要求であるときの前記判断条件として、前記ファイ
ルを分割したファイルデータのうち、書き込み処理を担
当すべき処理担当データの選択規則が定義されており、 前記ファイル操作要求に応じた処理を実行する際には、
前記処理担当データを、自己の管理するストレージデバ
イスに格納することを特徴とする請求項1記載のファイ
ルサーバプログラム。 - 【請求項5】 前記ファイル操作要求がファイルの読み
取り要求であるときの前記判断条件として、前記ファイ
ルを自己の管理するストレージデバイス内に格納してい
ることが定義されており、 前記ファイル操作要求に応じた処理を実行する際には、
前記ストレージデバイスから前記ファイルを読み出し、
読み出した前記ファイルを、前記ファイル操作要求を出
力した装置へ送信することを特徴とする請求項1記載の
ファイルサーバプログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001356071A JP3983036B2 (ja) | 2001-11-21 | 2001-11-21 | ファイルサーバプログラム |
US10/295,920 US7415518B2 (en) | 2001-11-21 | 2002-11-18 | File server program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001356071A JP3983036B2 (ja) | 2001-11-21 | 2001-11-21 | ファイルサーバプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003157194A true JP2003157194A (ja) | 2003-05-30 |
JP3983036B2 JP3983036B2 (ja) | 2007-09-26 |
Family
ID=19167660
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001356071A Expired - Fee Related JP3983036B2 (ja) | 2001-11-21 | 2001-11-21 | ファイルサーバプログラム |
Country Status (2)
Country | Link |
---|---|
US (1) | US7415518B2 (ja) |
JP (1) | JP3983036B2 (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006338624A (ja) * | 2005-06-06 | 2006-12-14 | Nec Corp | サーバアクセス制御システム、サーバアクセス制御方法およびサーバアクセス制御プログラム |
JP2008191915A (ja) * | 2007-02-05 | 2008-08-21 | Hitachi Ltd | ファイル格納方法及び計算機システム |
JP2008234264A (ja) * | 2007-03-20 | 2008-10-02 | Nec Software Chubu Ltd | ファイルサーバの負荷分散装置、負荷分散装置用プログラム、及び負荷分散方法 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20060125465A (ko) * | 2005-06-02 | 2006-12-06 | 엘지전자 주식회사 | 기록매체, 데이터 재생방법 및 재생장치와 데이터 저장방법및 저장장치 |
US20190320008A1 (en) * | 2018-04-16 | 2019-10-17 | Qbic Technology Co., Ltd. | Data transfer system and method thereof |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000207370A (ja) | 1999-01-20 | 2000-07-28 | Matsushita Electric Ind Co Ltd | 分散ファイル管理装置及び分散ファイル管理システム |
JP2001051890A (ja) | 1999-08-10 | 2001-02-23 | Toshiba Corp | 仮想分散ファイルサーバシステム |
US7506034B2 (en) * | 2000-03-03 | 2009-03-17 | Intel Corporation | Methods and apparatus for off loading content servers through direct file transfer from a storage center to an end-user |
WO2002056181A2 (en) * | 2001-01-11 | 2002-07-18 | Force Communications Inc Z | File switch and switched file system |
-
2001
- 2001-11-21 JP JP2001356071A patent/JP3983036B2/ja not_active Expired - Fee Related
-
2002
- 2002-11-18 US US10/295,920 patent/US7415518B2/en not_active Expired - Fee Related
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006338624A (ja) * | 2005-06-06 | 2006-12-14 | Nec Corp | サーバアクセス制御システム、サーバアクセス制御方法およびサーバアクセス制御プログラム |
JP2008191915A (ja) * | 2007-02-05 | 2008-08-21 | Hitachi Ltd | ファイル格納方法及び計算機システム |
JP2008234264A (ja) * | 2007-03-20 | 2008-10-02 | Nec Software Chubu Ltd | ファイルサーバの負荷分散装置、負荷分散装置用プログラム、及び負荷分散方法 |
Also Published As
Publication number | Publication date |
---|---|
JP3983036B2 (ja) | 2007-09-26 |
US7415518B2 (en) | 2008-08-19 |
US20030097437A1 (en) | 2003-05-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10789217B2 (en) | Hierarchical namespace with strong consistency and horizontal scalability | |
US8463867B2 (en) | Distributed storage network | |
US8700573B2 (en) | File storage service system, file management device, file management method, ID denotative NAS server and file reading method | |
US6775673B2 (en) | Logical volume-level migration in a partition-based distributed file system | |
EP0976065B1 (en) | Dynamic directory service | |
JP2948496B2 (ja) | データ処理システム内で複写データ一貫性を維持するためのシステムおよび方法 | |
JP2003131924A (ja) | リモートアクセスプログラム、リモートアクセス要求処理プログラム、およびクライアントコンピュータ | |
JP4275683B2 (ja) | オブジェクト状態転送方法,オブジェクト状態転送装置およびオブジェクト状態転送プログラム並びにそのプログラムの記録媒体 | |
US20080256090A1 (en) | Dynamic directory service | |
US20080271130A1 (en) | Minimizing client-side inconsistencies in a distributed virtual file system | |
US20060259611A1 (en) | Method for accessing distributed file system | |
US20060123121A1 (en) | System and method for service session management | |
JP2004511840A (ja) | 他のノードのキャッシュに基づくあるノードのキャッシュ内のデータの置換管理 | |
KR20120072907A (ko) | 오브젝트를 복수 개의 데이터 노드들의 위치에 기반하여 분산 저장하는 분산 저장 시스템 및 그 위치 기반 분산 저장 방법 및 컴퓨터에 의하여 독출 가능한 저장 매체 | |
US8429129B2 (en) | Database restructuring apparatus, and computer-readable recording medium recording database restructuring program | |
JP2009181167A (ja) | コンピュータシステム、リモートコピー方法及び第1コンピュータ | |
JP4713257B2 (ja) | データ記憶装置及びバージョン管理プログラム | |
US11341009B1 (en) | Directing placement of data in cloud storage nodes | |
US8332844B1 (en) | Root image caching and indexing for block-level distributed application management | |
JP3290801B2 (ja) | 資源所在位置検出方式 | |
JP2003157194A (ja) | ファイルサーバプログラム | |
JP2005063374A (ja) | データ管理方法、データ管理装置、およびそのためのプログラムならびに記録媒体。 | |
JP2004302564A (ja) | ネームサービス提供方法及びその実施装置並びにその処理プログラム | |
CN113553314A (zh) | 一种超融合系统的服务处理方法、装置、设备及介质 | |
JP2004280847A (ja) | 情報中継装置及び記憶媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20050913 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20050922 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20061121 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070119 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070410 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070606 |
|
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: 20070703 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070703 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100713 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100713 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110713 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |