JP4175379B2 - ファイル共有方法およびファイル共有システム - Google Patents
ファイル共有方法およびファイル共有システム Download PDFInfo
- Publication number
- JP4175379B2 JP4175379B2 JP2006121355A JP2006121355A JP4175379B2 JP 4175379 B2 JP4175379 B2 JP 4175379B2 JP 2006121355 A JP2006121355 A JP 2006121355A JP 2006121355 A JP2006121355 A JP 2006121355A JP 4175379 B2 JP4175379 B2 JP 4175379B2
- Authority
- JP
- Japan
- Prior art keywords
- file
- real
- server computer
- information
- client
- 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
-
- 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/17—Details of further file system functions
- G06F16/176—Support for shared access to files; File sharing support
-
- 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/18—File system types
- G06F16/188—Virtual file systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer 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)
Description
前記クライアントコンピュータおよび子サーバーコンピュータと親サーバーコンピュータをネットワーク経由で接続すると共に、前記複数のディスク装置と前記各クライアントコンピュータおよび前記各子サーバーコンピュータをチャネルスイッチを介して接続し、
前記各ディスク装置の実ファイルシステムの構造および前記実ファイルシステムを跨ぐ仮想ファイルシステムの構造と前記仮想ファイルシステム内における実ファイルの記憶位置を特定する実ファイル情報を前記親サーバーコンピュータにファイル管理データベースとして予め登録しておき、
前記クライアントコンピュータによるファイルのオープン操作に際し、目的とするファイルに対応した実ファイル情報が当該クライアントコンピュータ内のファイル管理表に記憶されているか否かを該クライアントコンピュータが判定し、記憶されている場合には、ファイル管理表に記憶されている実ファイル情報に基づいて、該クライアントコンピュータが、該当する子サーバーコンピュータに対して直接的に入出力処理の要求を送信して、当該子サーバーコンピュータで管理されるディスク装置との間で前記チャネルスイッチを介してファイル操作に関わる入出力処理を開始する一方、
目的とするファイルに対応した実ファイル情報が当該クライアントコンピュータ内のファイル管理表に記憶されていない場合には、前記親サーバーコンピュータにネットワーク経由で要求を送信して前記親サーバーコンピュータから目的とするファイルに対応した実ファイル情報を求め、親サーバーコンピュータのファイル管理データベースに実ファイル情報が登録されていれば、この実ファイル情報を取得し、当該実ファイル情報に基づいて、該クライアントコンピュータが、該当する子サーバーコンピュータに対して直接的に入出力処理の要求を送信して、当該子サーバーコンピュータで管理されるディスク装置との間で前記チャネルスイッチを介してファイル操作に関わる入出力処理を開始すると共に、親サーバーコンピュータから取得した実ファイル情報を前記ファイル管理表に記憶し、また、親サーバーコンピュータのファイル管理データベースに実ファイル情報が登録されていなければ、親サーバーコンピュータが子サーバーコンピュータから実ファイルのファイルハンドルを取得してファイル管理データベースに登録した後、クライアントコンピュータが当該実ファイル情報を親サーバーコンピュータから取得し、当該実ファイル情報に基づいて、クライアントコンピュータが、該当する子サーバーコンピュータに対して直接的に入出力処理の要求を送信して当該子サーバーコンピュータで管理されるディスク装置との間で前記チャネルスイッチを介してファイル操作に関わる入出力処理を開始すると共に、親サーバーコンピュータから取得した実ファイル情報を前記ファイル管理表に記憶することを特徴とした構成を有する。
そして、図2に示すように1つの大規模ファイルシステムを複数の子サーバーコンピュータ3で分担して管理し、図3に示すように1つの巨大ファイルを同様に複数の子サーバーコンピュータ3で分担して管理する。
各子サーバーコンピュータ3はそれぞれ個別に管理する実ファイルシステムを持っており、これらを親サーバーコンピュータ2がクライアントコンピュータ1に対して、あたかも1つのファイルシステムであるように見せかける(仮想ファイルシステム)。
さらに、各実ファイルシステム内に大容量ファイルの分割されたある一部分をそれぞれ配置し、これらを親サーバーコンピュータ2がクライアントコンピュータ1に対して、あたかも1つのファイルであるように見せかける(仮想ファイル)。
クライアントコンピュータ1は、ファイルのオープン処理において、目的とするファイルに対応した情報が当該クライアントコンピュータ1内のファイル管理表に記憶されているか否かを判定し、記憶されていない場合には、ネットワークを介して、親サーバーコンピュータ2へ該当するファイルが存在する子サーバーコンピュータ3とそのファイルに関する情報を要求する。この時、親サーバーコンピュータ2はファイル管理データベースから該当する子サーバーコンピュータ3を検索し、子サーバーコンピュータ3に対して該当ファイルのファイルハンドルを取得するLOPOKUP処理を実行し、仮想ファイルシステム上でファイルまたはディレクトリを一意に特定するための識別子であるファイルハンドルを得る。
そして、クライアントコンピュータ1は、実ファイルシステムの構造と実ファイルシステムを跨ぐ仮想ファイルシステムの構造および仮想ファイルシステム内における実ファイルの記憶位置を特定するために必要とされる実ファイル情報、つまり、子サーバーコンピュータ3のIPアドレスやファイルオフセットおよびファイルハンドル等の情報を親サーバーコンピュータ2から受け取り、この情報に基づいて該当する子サーバーコンピュータ3に対して直接的に入出力処理の要求を送信し、当該子サーバーコンピュータ3で管理されるディスク装置4との間でチャネルスイッチ5を介してファイル操作に関わる入出力処理を開始すると共に、親サーバーコンピュータ2から取得した実ファイル情報をファイル管理表に記憶する。
また、目的とするファイルに対応した情報が当該クライアントコンピュータ1内のファイル管理表に記憶されている場合には、ファイル管理表に記憶されている実ファイル情報に基づいて、該クライアントコンピュータ1が、該当する子サーバーコンピュータ3に対して直接的に入出力処理の要求を送信して、当該子サーバーコンピュータ3で管理されるディスク装置4との間でチャネルスイッチ5を介してファイル操作に関わる入出力処理を開始する。
読み出しや書き込みのI/O処理に際しては、親サーバーコンピュータ2を介さず、親サーバーコンピュータ2から受信した実ファイル情報に基づいて、クライアントコンピュータ1が該当するファイルのデータを管理する子サーバーコンピュータ3に対してI/Oのリクエストを送信する。
ファイルのオープン処理の回数は、読み出しや書き込み処理の回数に比べて、一般に少ないので、クライアントコンピュータ1の数が多い場合でも、親サーバーコンピュータ2には大きな負荷をかけることがない。
また、I/0データの転送は、親サーバーコンピュータ2や子サーバーコンピュータ3およびネットワークを共に介さず、クライアントコンピュータ1と該当するディスク装置4との間でチャネルスイッチ5を介して直接的に行われるため、子サーバーコンピュータ3やネットワークにも大きな負荷がかからない。
更に、ディスク装置4は各ディスク装置4毎の子サーバーコンピュータ3によって管理されているので、同一の仮想ファイル上の異なる実ファイルに対して複数のクライアントコンピュータ1から同時に書き込み処理を行うことが可能である。
しかも、操作対象となるファイルの実ファイル情報がファイル管理表に記憶されている場合にはクライアントコンピュータ1から親サーバーコンピュータ2にアクセスして実ファイル情報を取得する必要がなくなるので、親サーバーコンピュータ2やネットワークの負荷を更に軽減することができる。
また、操作対象となるファイルの実ファイル情報がファイル管理表に記憶されていない場合でも、親サーバーコンピュータ2のファイル管理データベースに登録されている場合があるので、子サーバーコンピュータ3にまで問い合わせを行なわなくてもよく、親サーバーコンピュータ2やネットワークの負荷を軽減することができる。
また、I/0データの転送は、親サーバーコンピュータや子サーバーコンピュータおよびネットワークを共に介さず、クライアントコンピュータと該当するディスク装置との間でチャネルスイッチを介して直接的に行われるため、子サーバーコンピュータやネットワークにも大きな負荷がかからない。
更に、ディスク装置は各ディスク装置毎の子サーバーコンピュータによって管理されているので、同一の仮想ファイル上の異なる実ファイルに対して複数のクライアントコンピュータから同時にI/Oの処理、特に、書き込みに関わる処理を行うこともできる。
図4は主にクライアントコンピュータ1(以下、単にクライアント1という)の構成の概略を示した機能ブロック図、図5は主に親サーバーコンピュータ2(以下、単に親サーバー2という)の構成の概略を示した機能ブロック図、図6は主に子サーバーコンピュータ3(以下、単に子サーバー3という)の構成の概略を示した機能ブロック図である。
I/O要求手段102は、I/O要求作成手段102a,受信待ち手段102b,I/O発行手段102cを内包し、実ファイル情報操作手段103は、実ファイル情報取得手段103aと実ファイル情報登録手段103bを内包する。
仮想ファイル管理手段203は、実ファイル終端処理手段203a,オフセット変更手段203b,子サーバー割り当て手段203c,アクセス許可手段203d,アクセス許可リスト203e,ファイルハンドル作成手段203f,実ファイル情報取得手段203g,実ファイル情報登録手段203hを内包し、子サーバー管理手段205は、ファイルハンドル取得手段205a,マウント手段205b,実ファイル操作手段205c,実ファイルシステム拡張手段205d,子サーバー追加手段205e,実ファイル情報収集手段205fを内包する。
クライアント1は、アプリケーションプログラムを実行するユーザプロセスが動作するコンピュータであり、一般にシステム内に複数存在する。
I/O発行の場合は、I/O発行手段102cを呼び出し、I/O処理の終了通知の場合はI/O終了判別手段102dを呼び出す。
また、発行したブロックI/Oの終了通知は、I/Oの終了割り込みの処理内において、パケットを受信した子サーバー3から指示されたブロックI/Oが終了した旨を伝えるパケットをその子サーバー3へ返信する。
また、正常ではない場合には、次の2種がある。
(1)I/O中にエラーが発生した場合。
(2)エラーは発生していないが、I/Oすべき仮想ファイルの続きが他の子サーバー上にある場合。
(1)の場合は、エラー番号を設定してユーザプロセスへ復帰する。
(2)の場合は、ファイル管理表105に対応する実ファイル情報がある場合はそれを取り出し、ない場合は、実ファイル情報を親サーバー2へ問い合わせるパケットを送信して応答があるまで待ち合わせ、親サーバー2からその応答のパケットを受信した時点で、再度I/O要求作成手段102aの処理に戻る。
存在すれば、openシステムコールを呼び出したプロセスからiノード番号によって同エントリを参照できるので、この処理を終了する。
存在しない場合は、親サーバー2へ問い合わせるためのパケットを送信する。そして、親サーバー2からの応答を受信すると、実ファイル情報登録手段103bを呼び出す。
また、read,writeシステムコールの内部の処理において、I/O対象の仮想ファイル上の現在のファイルオフセットとiノード番号によりファイル管理表105内に対応する実ファイル情報が存在するか否かを確認し、存在しない場合は上記と同様に親サーバー2へ問い合わせるためのパケットを送信し、親サーバー2からの応答を受信すると、実ファイル情報登録手段103bを呼び出す。
また、対応する仮想ファイルが削除または移動された場合または対応する仮想ファイルが存在するディレクトリが削除移動された際に、それを認識した時点でその実ファイル情報が削除される。
このファイル管理表105は、iノード番号毎に仮想ファイル毎のエントリを持ち、そのエントリ毎に実ファイル毎のエントリを持つ。実ファイル毎のエントリは、各実ファイルの仮想ファイル上のオフセットにより、実ファイル情報を判別される。
親サーバー2は、システムに1つ存在し、仮想ファイルシステムや仮想ファイルの管理を行う。一般に、親サーバー2は、複数の仮想ファイルシステムを管理する。
もし、同リストに当該クライアント1が登録されていない場合は、ステータスとしてエラーを設定し、通信手段201を介して同クライアント1へ返送する。
一方、同リストに当該クライアント1が登録されていた場合は、仮想ファイルシステムの先頭のディレクトリのファイルハンドルがファイル管理データベース202にあるかどうかをデータベース検索更新手段204を介して調べる。そして、まだ存在しない場合は、このファイルハンドルを作成してデータベース検索更新手段204によりファイル管理データベース202へ登録し、通信手段201によりマウントを要求したクライアントへ返送する。
また、クライアント1から仮想ファイルシステム上にディレクトリの作成を要求するパケットを受信した際に仮想ファイル操作手段203iから呼び出され、仮想ファイルシステム全体で一意のファイルハンドルを生成する。
子サーバー3は、仮想ファイルシステムや仮想ファイルの存在を意識せずに、各実ファイルシステムと実ファイルを管理する。子サーバー3は一般にシステム内に複数存在する。また、子サーバー3は、複数のディスク装置4に跨って1つの実ファイルシステムを構築し、その中で複数の実ファイルを管理する。
もし、登録されていない場合は、そのクライアントに対してエラーを示すパケットを返信する。登録されている場合は、そのI/O要求に実ファイル処理手段302内のアクセス許可リスト302bは、アクセスを許可したクライアント1のIPアドレスのリストで、アクセス許可手段302aにより、更新または参照される。
なお、全子サーバーが同じ種類のファイルシステムを使用する必要はなく、一般的なUNIXオペレーティングシステムのインターフェースをサポートしているファイルシステムであれば、子サーバー3毎に異なる種類のファイルシステムであってもよい。
ディスク装置4は、ランダムアクセスが出来る一般的な記憶媒体であり、また図1に示すようにファイバチャネルなどのI/Oプロトコルに対応したスイッチ5に接続され、子サーバー3及びクライアント1よりアクセス可能である。
次に、図2および図4〜図6のブロック図と図7〜図10のフローチャートやシーケンス図を参照して本実施形態の動作について詳細に説明する。
各部の動作には以下のように複数のフェーズがあるので、この単位毎に説明する。
・システム設定時(子サーバーの設定)
・システム設定時(アクセス許可)
・クライアントからの親サーバーのマウント時
・クライアントからの仮想ファイルのオープン時
・I/O処理時(read,write処理)
・オフセット移動時
図5より、システム管理者は、子サーバー追加手段205eにより、すべての子サーバー3のIPアドレスとマウントするディレクトリ名から、マウント手段205bを用いて各子サーバー3の実ファイルシステムをマウントし、一般的なネットワークファイルシステムの手続きにより、各実ファイルシステムのファイルシステムの容量を取得する。
次に、データベース検索更新手段204により、ファイル管理データベース202に新たな実ファイルシステムのエントリを実ファイルシステム数だけ設ける。
図5,図6より、システム管理者は、アクセス許可手段203dによりアクセス許可リスト203eへ、親サーバー2が管理する仮想ファイルシステムへのアクセスを許可する各クライアント1のIPアドレスを設定する。
図4,図5より、クライアント1は、一般的なネットワークファイルシステムのクライアントの機能であるネットワークファイルシステム処理手段106により、通信手段101を介して、仮想ファイルシステムを管理する親サーバー2を一般的なネットワークファイルシステムと同様にマウント処理を行う。この時、親サーバー2は、通信手段201を介して、上記一般的なネットワークファイルシステムのマウントプロトコルに従ったパケットを受信すると、ファイルハンドル作成手段203fにより、まずアクセス許可リスト203eを参照し、マウントを要求したクライアント1が同リストに登録されているか否かを確認する。もし、登録されていない場合は、アクセス許可を持たないクライアント1からの不正なマウント要求なので、ステータスとしてエラーを設定し、通信手段201を介して同クライアント1へ返送する。一方、マウントを要求したクライアント1が同リストに登録されていた場合は、仮想ファイルシステムの先頭のディレクトリのファイルハンドルがファイル管理データベース202にあるかどうかをデータベース検索更新手段204を介して調べる。そして、まだ存在しない場合は、このファイルハンドルを作成してデータベース検索更新手段204により、ファイル管理データベース202へ登録し、通信手段201により、マウントを要求したクライアント1へ返送する。
図7のフローチャートおよび図8のシーケンス図と図4〜図6のブロック図より、仮想ファイルのオープンの処理においては、最初に親サーバー2からディレクトリのファイルハンドルを得て、次に実ファイル情報を得る。この際、実ファイル情報を取得する仕方として条件によって以下がある。
クライアント1のファイル管理表105内に該当する実ファイル情報が既に登録されている場合。
これは処理の手間が一番少ない場合で、クライアント1内で処理が完結する。
実ファイル情報は、クライアント1のファイル管理表105には登録されていないが、親サーバー2のファイル管理データベース202に該当する実ファイル情報が登録されている場合。
この場合は子サーバー3への問い合わせをしなくても良いので、クライアント1と親サーバー2との通信だけでよい。
実ファイル情報は、クライアント1のファイル管理表105にも、親サーバー2のファイル管理データベース202にも登録されておらず、該当する子サーバー3へ問い合わせを行わなければならない場合。
これは最も処理の手間が多い場合であり、クライアント1と親サーバー2、親サーバー2と子サーバー3との通信が必要となる。(図2内の「open時の制御パケットの転送経路」として示された点線は、この場合の通信経路である。)
・実ファイルが存在する子サーバーのIPアドレス
・実ファイルのファイルハンドル
・実ファイルの最大長
・終端フラグ(仮想ファイルの最後の実ファイルであることを示すフラグ)
・仮想ファイルに対するこの実ファイルのオフセット
・仮想ファイルが存在するディレクトリのファイルハンドル
ファイル管理表105に該当するエントリがない場合は、実ファイル情報取得手段103aは、一般的なネットワークファイルシステムのクライアントの機能と同様なLOOKUPを対象ファイルに到達するまで、ディレクトリツリーを辿りながら行い、LOOKUPの度に親サーバーから返されるディレクトリのファイルハンドルを上記マウント時と同様に、ネットワークファイルシステムのクライアントの機能が保持する。
(1)該当するエントリが見つからず、属性がファイルの生成である。
(2)該当するエントリが見つかったが、実ファイル情報が登録されていない。
(3)該当するエントリがあり、実ファイル情報が登録されている。
クライアント1上のユーザプロセスから呼び出されるreadまたはwriteシステムコールの内部の処理において、図9のフローチャート及び図4〜図6のブロック図より、I/O要求作成手段102aは、ファイル管理表105をI/O対象の仮想ファイルのiノード番号に対応するエントリを参照し、さらに仮想ファイルの現在のファイルオフセットの値を元に、同エントリ内の実ファイル情報を順に調べ(図9のステップS1)、ファイルオフセットに対応した実ファイル情報が存在すれば(図9のステップS2)、それを取り出す。存在しない場合は、実ファイル情報取得手段103aにより、親サーバー2へ対応する実ファイルの実ファイル情報を問い合わせるパケットを送信し、応答があるまで待ち合わせる(図9のステップS3)。
また、正常終了した場合は、クライアント1へ返すI/O終了通知のステータスとして正常終了を設定し、そのパケットを同クライアント1へ返送する(図10のステップS5)。
クライアント1上のユーザプロセスから呼び出されるseekシステムコールの内部の処理において、図4〜図6のブロック図より、オフセット変更手段104を用いて、仮想ファイルシステム上のファイルオフセットの新しい位置をseekシステムコールの渡された引数の値より計算し、ファイル管理表105を、対象の仮想ファイルのiノード番号と計算した新しいファイルオフセットの値を用いて検索し、対応する実ファイル情報があるかどうかを調べる。
実ファイル情報が存在する場合は何もしない。存在しない場合は、実ファイル情報取得手段103aにより、親サーバー2へ対応する実ファイルの実ファイル情報を問い合わせ、親サーバー2から返された実ファイル情報をファイル管理表105の該当するエントリに実ファイル情報登録手段103bにより登録する。
また、MPI(Message Passing Interface)のジョブが複数のクライアント上で動作する場合、大容量ファイルの異なる箇所に対して、同時にI/O処理を行うことがある。本発明によれば、実ファイルが異なる場合、大容量ファイルの異なる箇所に対して同時に書き込み等のI/O処理ができるため、効率的に大容量ファイルの生成等が行える。従って、本発明はMPIのような分野にも好適である。
2 親サーバコンピュータ
3 子サーバコンピュータ
4 ディスク装置
5 チャネルスイッチ
101 通信手段
102 I/O要求手段
102a I/O要求作成手段
102b 受信待ち手段
102c I/O発行手段
102d I/O終了判別手段
103 実ファイル情報操作手段
103a 実ファイル情報取得手段
103b 実ファイル情報登録手段
104 オフセット変更手段
105 ファイル管理表
106 ネットワークファイルシステム処理手段
201 通信手段
202 ファイル管理データベース
203 仮想ファイル管理手段
203a 実ファィル終端処理手段
203b オフセット変更手段
203c 子サーバ割り当て手段
203d アクセス許可手段
203e アクセス許可リスト
203f ファイルハンドル作成手段
203g 実ファィル情報取得手段
203h 実ファイル情報登録手段
203i 仮想ファイル操作手段
204 データベース検索更新手段
205 子サーバ管理手段
205a ファイルハンドル取得手段
205b マウント手段
205c 実ファイル操作手段
205d 実ファイルシステム拡張手段
205e 子サーバ追加手段
205f 実ファイル情報収集手段
301 通信手段
302 実ファイル管理手段
302a アクセス許可手段
302b アクセス許可リスト
302c I/O結果返信手段
303 実ファイルシステム管理手段
304 ブロックIO手段
Claims (5)
- 複数のディスク装置を管理する各ディスク装置毎の子サーバーコンピュータと前記子サーバーコンピュータを管理する親サーバーコンピュータと複数のクライアントコンピュータとを情報伝達可能に接続し、前記ディスク装置に大容量ファイルを分割して記憶するようにしたファイル共有方法であって、
前記クライアントコンピュータおよび子サーバーコンピュータと親サーバーコンピュータをネットワーク経由で接続すると共に、前記複数のディスク装置と前記各クライアントコンピュータおよび前記各子サーバーコンピュータをチャネルスイッチを介して接続し、
前記各ディスク装置の実ファイルシステムの構造および前記実ファイルシステムを跨ぐ仮想ファイルシステムの構造と前記仮想ファイルシステム内における実ファイルの記憶位置を特定する実ファイル情報を前記親サーバーコンピュータにファイル管理データベースとして予め登録しておき、
前記クライアントコンピュータによるファイルのオープン操作に際し、目的とするファイルに対応した実ファイル情報が当該クライアントコンピュータ内のファイル管理表に記憶されているか否かを該クライアントコンピュータが判定し、記憶されている場合には、ファイル管理表に記憶されている実ファイル情報に基づいて、該クライアントコンピュータが、該当する子サーバーコンピュータに対して直接的に入出力処理の要求を送信して当該子サーバーコンピュータで管理されるディスク装置との間で前記チャネルスイッチを介してファイル操作に関わる入出力処理を開始する一方、
目的とするファイルに対応した実ファイル情報が当該クライアントコンピュータ内のファイル管理表に記憶されていない場合には、前記親サーバーコンピュータにネットワーク経由で要求を送信して前記親サーバーコンピュータから目的とするファイルに対応した実ファイル情報を求め、親サーバーコンピュータのファイル管理データベースに実ファイル情報が登録されていれば、この実ファイル情報を取得し、当該実ファイル情報に基づいて、該クライアントコンピュータが、該当する子サーバーコンピュータに対して直接的に入出力処理の要求を送信して当該子サーバーコンピュータで管理されるディスク装置との間で前記チャネルスイッチを介してファイル操作に関わる入出力処理を開始すると共に、親サーバーコンピュータから取得した実ファイル情報を前記ファイル管理表に記憶し、また、親サーバーコンピュータのファイル管理データベースに実ファイル情報が登録されていなければ、親サーバーコンピュータが子サーバーコンピュータから実ファイルのファイルハンドルを取得してファイル管理データベースに登録した後、クライアントコンピュータが当該実ファイル情報を親サーバーコンピュータから取得し、当該実ファイル情報に基づいて、クライアントコンピュータが、該当する子サーバーコンピュータに対して直接的に入出力処理の要求を送信して当該子サーバーコンピュータで管理されるディスク装置との間で前記チャネルスイッチを介してファイル操作に関わる入出力処理を開始すると共に、親サーバーコンピュータから取得した実ファイル情報を前記ファイル管理表に記憶することを特徴としたファイル共有方法。 - 前記クライアントコンピュータが前記実ファイル情報に基づいてディスク装置との間でブロックI/O情報に従ってファイル操作に関わる入出力処理を行う間に、要求されたI/Oサイズの入出力処理が完了する前に当該ディスク装置内における実ファィルの終端が検出されると、前記クライアントコンピュータが、当該実ファイルに続く実ファイルの実ファイル情報が当該クライアントコンピュータ内のファイル管理表に記憶されているか否かを判定し、記憶されている場合には、ファイル管理表に記憶されている実ファイル情報に基づいて、該当する子サーバーコンピュータに対して入出力処理の要求を送信して、ディスク装置との間で前記チャネルスイッチを介してファイル操作に関わる入出力処理を継続する一方、実ファイルに続く実ファイルの実ファイル情報が当該クライアントコンピュータ内のファイル管理表に記憶されていない場合には、当該実ファイルに続く実ファイルの実ファイル情報を前記親サーバーコンピュータに要求することを特徴とした請求項1記載のファイル共有方法。
- 前記仮想ファイルシステム上のディレクトリのファイルハンドルを前記親サーバーコンピュータが生成すると共に、前記仮想ファイルシステム上のファイルのオフセットに基づいて前記親サーバーコンピュータが前記子サーバーコンピュータから実ファイルシステム上のファイルのファイルハンドルを取得し、前記親サーバーコンピュータが、仮想ファイルシステム上のディレクトリのファイルハンドルと実ファイルシステム上のファイルのファイルハンドルを実ファイル情報として前記クライアントコンピュータに送信することを特徴とした請求項1または請求項2記載のファイル共有方法。
- 複数のディスク装置を管理する子サーバーコンピュータと前記子サーバーコンピュータを管理する親サーバーコンピュータと複数のクライアントコンピュータを情報伝達可能に接続し、前記ディスク装置に大容量ファイルを分割して記憶するようにしたファイル共有システムであって、
前記クライアントコンピュータおよび子サーバーコンピュータと親サーバーコンピュータがネットワーク経由で接続されると共に、前記複数のディスク装置と前記各クライアントコンピュータおよび前記各子サーバーコンピュータがチャネルスイッチを介して接続され、
前記親サーバーコンピュータには、前記各ディスク装置の実ファイルシステムの構造および前記実ファイルシステムを跨ぐ仮想ファイルシステムの構造と前記仮想ファイルシステム内における実ファイルの記憶位置を特定する実ファイル情報を生成する子サーバー管理手段と、生成された実ファイル情報を記憶するファイル管理データベースが備えられ、前記子サーバー管理手段には、クライアントコンピュータから前記ファイル管理データベースに記憶されていない実ファイル情報の要求を受けた際に子サーバーコンピュータから実ファイルのファイルハンドルを取得してファイル管理データベースに実ファイル情報を登録するファイルハンドル取得手段が設けられ、
前記クライアントコンピュータには、ファイルのオープン操作に際し、目的とするファイルに対応した実ファイル情報が当該クライアントコンピュータ内のファイル管理表に記憶されているか否かを判定し、目的とするファイルに対応した実ファイル情報が当該クライアントコンピュータ内のファイル管理表に記憶されていない場合に限り、前記親サーバーコンピュータにネットワーク経由で要求を送信して前記親サーバーコンピュータから目的とするファイルに対応した実ファイル情報を取得する実ファイル情報取得手段と、該実ファイル情報取得手段で取得された実ファイル情報を前記ファイル管理表に記憶させる実ファイル情報登録手段と、前記ファイル管理表に取得された実ファイル情報に基いて該当する子サーバーコンピュータに対して直接的に入出力処理の要求を送信し、該子サーバーコンピュータから送信されたブロックI/O情報に従って、チャネルスイッチを介して前記ディスク装置に直接的にアクセスしてファイル操作に関わる入出力処理を行うI/O要求手段が設けられていることを特徴としたファイル共有システム。 - 前記I/O要求手段は、前記クライアントコンピュータが前記実ファイル情報に基づいてディスク装置との間でブロックI/O情報に従ってファイル操作に関わる入出力処理を行う間に、要求されたI/Oサイズの入出力処理が完了する前に当該ディスク装置内における実ファィルの終端が検出されると、当該実ファイルに続く実ファイルの実ファイル情報が当該クライアントコンピュータ内のファイル管理表に記憶されているか否かを判定し、記憶されている場合には、ファイル管理表に記憶されている実ファイル情報に基づいて、該当する子サーバーコンピュータに対して入出力処理の要求を送信してディスク装置との間で前記チャネルスイッチを介してファイル操作に関わる入出力処理を継続する一方、実ファイルに続く実ファイルの実ファイル情報が当該クライアントコンピュータ内のファイル管理表に記憶されていない場合には、当該実ファイルに続く実ファイルの実ファイル情報を前記親サーバーコンピュータに要求し、この実ファイル情報に基づいて、該当する子サーバーコンピュータに対して入出力処理の要求を送信してディスク装置との間で前記チャネルスイッチを介してファイル操作に関わる入出力処理を継続するように構成されていることを特徴とした請求項4記載のファイル共有システム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006121355A JP4175379B2 (ja) | 2006-04-25 | 2006-04-25 | ファイル共有方法およびファイル共有システム |
US11/785,947 US8250176B2 (en) | 2006-04-25 | 2007-04-23 | File sharing method and file sharing system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006121355A JP4175379B2 (ja) | 2006-04-25 | 2006-04-25 | ファイル共有方法およびファイル共有システム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2007293634A JP2007293634A (ja) | 2007-11-08 |
JP4175379B2 true JP4175379B2 (ja) | 2008-11-05 |
Family
ID=38620758
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006121355A Expired - Fee Related JP4175379B2 (ja) | 2006-04-25 | 2006-04-25 | ファイル共有方法およびファイル共有システム |
Country Status (2)
Country | Link |
---|---|
US (1) | US8250176B2 (ja) |
JP (1) | JP4175379B2 (ja) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070255677A1 (en) * | 2006-04-28 | 2007-11-01 | Sun Microsystems, Inc. | Method and apparatus for browsing search results via a virtual file system |
GB2455347B (en) * | 2007-12-07 | 2012-04-11 | Virtensys Ltd | Control path I/O virtualisation |
US20100070544A1 (en) * | 2008-09-12 | 2010-03-18 | Microsoft Corporation | Virtual block-level storage over a file system |
KR101245519B1 (ko) * | 2008-12-09 | 2013-03-20 | 한국전자통신연구원 | 방송콘텐츠 보호 장치 및 방법 |
JP5395532B2 (ja) * | 2009-06-22 | 2014-01-22 | 日本電信電話株式会社 | クライアント装置、サーバ装置、コンピュータシステム、および、ファイルシステムアクセス方法、並びに、クライアントプログラムおよびサーバプログラム |
US8468007B1 (en) | 2010-08-13 | 2013-06-18 | Google Inc. | Emulating a peripheral mass storage device with a portable device |
US20150293938A1 (en) * | 2012-09-27 | 2015-10-15 | Hewlett-Packard Development Company, L.P. | Replacing virtual file system data structures deleted by a forced unmount |
US9626377B1 (en) * | 2013-06-07 | 2017-04-18 | EMC IP Holding Company LLC | Cluster file system with metadata server for controlling movement of data between storage tiers |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0304032B1 (de) | 1987-08-20 | 1993-01-27 | Siemens Aktiengesellschaft | Lichtsteuerbarer Thyristor |
JPH103421A (ja) | 1995-11-20 | 1998-01-06 | Matsushita Electric Ind Co Ltd | 仮想ファイル管理システム |
JP3500972B2 (ja) | 1998-07-24 | 2004-02-23 | 日本電気株式会社 | ディスク共有型クラスタシステムにおける論理ファイル管理システム |
US6609213B1 (en) * | 2000-08-10 | 2003-08-19 | Dell Products, L.P. | Cluster-based system and method of recovery from server failures |
US7865596B2 (en) * | 2000-11-02 | 2011-01-04 | Oracle America, Inc. | Switching system for managing storage in digital networks |
US7313614B2 (en) * | 2000-11-02 | 2007-12-25 | Sun Microsystems, Inc. | Switching system |
US20020161846A1 (en) * | 2001-01-29 | 2002-10-31 | Ulrich Thomas R. | Data path controller architecture |
US20020138559A1 (en) * | 2001-01-29 | 2002-09-26 | Ulrich Thomas R. | Dynamically distributed file system |
US7054927B2 (en) * | 2001-01-29 | 2006-05-30 | Adaptec, Inc. | File system metadata describing server directory information |
US20030105816A1 (en) * | 2001-08-20 | 2003-06-05 | Dinkar Goswami | System and method for real-time multi-directional file-based data streaming editor |
EP1298536A1 (en) * | 2001-10-01 | 2003-04-02 | Partec AG | Distributed file system and method of operating a distributed file system |
JP4237515B2 (ja) | 2003-02-07 | 2009-03-11 | 株式会社日立グローバルストレージテクノロジーズ | ネットワークストレージ仮想化方法およびネットワークストレージシステム |
US7610348B2 (en) * | 2003-05-07 | 2009-10-27 | International Business Machines | Distributed file serving architecture system with metadata storage virtualization and data access at the data server connection speed |
US7653699B1 (en) * | 2003-06-12 | 2010-01-26 | Symantec Operating Corporation | System and method for partitioning a file system for enhanced availability and scalability |
-
2006
- 2006-04-25 JP JP2006121355A patent/JP4175379B2/ja not_active Expired - Fee Related
-
2007
- 2007-04-23 US US11/785,947 patent/US8250176B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2007293634A (ja) | 2007-11-08 |
US8250176B2 (en) | 2012-08-21 |
US20070250594A1 (en) | 2007-10-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4175379B2 (ja) | ファイル共有方法およびファイル共有システム | |
JP5066415B2 (ja) | ファイルシステム仮想化のための方法および装置 | |
JP4824085B2 (ja) | ネットワークファイルシステムをキャッシュするシステム、及び方法 | |
JP4405533B2 (ja) | キャッシュ方法及びキャッシュ装置 | |
US8086634B2 (en) | Method and apparatus for improving file access performance of distributed storage system | |
JP5828760B2 (ja) | キャッシュを最適化するための方法とシステム | |
JP4931660B2 (ja) | データ移行処理装置 | |
JP4451293B2 (ja) | 名前空間を共有するクラスタ構成のネットワークストレージシステム及びその制御方法 | |
JP4278445B2 (ja) | ネットワークシステム及びスイッチ | |
US8909753B2 (en) | Root node for file level virtualization | |
US9300692B2 (en) | System and method for implementing data migration while preserving security policies of a source filer | |
US20030212571A1 (en) | Distributed file management method and program therefor | |
WO2015118865A1 (ja) | 情報処理装置、情報処理システム及びデータアクセス方法 | |
CN109302448A (zh) | 一种数据处理方法及装置 | |
US9304997B2 (en) | Asynchronously migrating a file system | |
WO2016101662A1 (zh) | 一种数据处理方法及相关服务器 | |
JP3848268B2 (ja) | 計算機システム、計算機装置、計算機システムにおけるデータアクセス方法及びプログラム | |
JP2011242826A (ja) | ファイル管理システム及びファイル管理プログラム | |
JP2007287180A (ja) | 分散ファイルシステム、分散ファイルシステムサーバ及び分散ファイルシステムへのアクセス方法 | |
JP6607044B2 (ja) | サーバー装置、分散ファイルシステム、分散ファイルシステム制御方法、および、プログラム | |
WO2011117921A1 (en) | Method for concurrency control in a file versioning system | |
KR20220053207A (ko) | 멀티-다운로드 기반의 고성능 인터넷 파일 시스템 | |
JP4005102B2 (ja) | ゲートウェイ装置 | |
JP2014235531A (ja) | データ転送装置、データ転送システム、およびプログラム | |
US20220182384A1 (en) | Multi-protocol lock manager for distributed lock management |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080507 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080707 |
|
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: 20080729 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080811 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110829 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4175379 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110829 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120829 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130829 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |