(57)【特許請求の範囲】
【請求項１】
転送元記憶装置のサイズの小さな多数のファイルのサイズをそれぞれブロック単位からセクタ単位にサイズ補正し、これらのサイズ補正したファイルを連結した１つの仮想ファイルとしてまとめ、転送先記憶装置に１つのファイルとしてファイル転送させることを特徴とするデータ転送方法。
【請求項２】
前記転送先記憶装置においては、転送された仮想ファイルを補正前のブロック単位の小さなサイズのファイルにそれぞれ復元し、分割して書き込まれることを特徴とする請求項１に記載のデータ転送方法。
【請求項３】
前記仮想ファイルは、そのファイルサイズがセクタ単位になるように連結される前のブロック単位のファイルのギャップを１セクタ以内に削減されることを特徴とする請求項１又は２に記載のデータ転送方法。
【請求項４】
前記仮想ファイルは、連結される前のファイル毎のファイル管理番号、ファイル種別、ファイルサイズ及びデータ格納位置情報のリストが１つのエントリとして保存されたファイル管理表で管理されることを特徴とする請求項１乃至３のいずれかに記載のデータ転送方法。
【請求項５】
前記仮想ファイルは、連結される前のファイルのオフセットをセクタ単位に補正されることを特徴とする請求項１乃至４のいずれかに記載のデータ転送方法。
【請求項６】
前記仮想ファイルは、ファイル転送用メモリ領域に書き込まれたあとで削除されることを特徴とする請求項１乃至５のいずれかに記載のデータ転送方法。
【請求項７】
転送元のサーバーが転送するファイル名リストを受け取り、仮想ファイル作成機能が複数のファイルのファイルサイズをブロック単位からセクタ単位に削減し、これらのファイルを連結した１つの仮想ファイルとしてまとめ、読み込みアクセスに従って、その作成された仮想ファイルをファイル転送用メモリ領域に書き込み、
転送先のサーバーが転送されるファイル名リストを受け取り、データ領域確保機能が転送先ディスク装置のデータ領域を確保し、アクセス要求に従って、前記ファイル転送用メモリ領域の仮想ファイルを前記転送先ディスク装置のデータ領域に書き込みすることを特徴とするデータ転送方法。
【請求項８】
前記転送先ディスク装置のデータ領域への書き込みは、転送元のファイルサイズにそれぞれ復元し、分割して書き込まれることを特徴とする請求項７に記載のデータ転送方法。
【請求項９】
前記ファイル転送用メモリ領域に仮想ファイルが書き込まれた後、前記転送元の仮想ファイル作成機能が作成した仮想ファイルは、仮想ファイル削除機能を使って削除されることを特徴とする請求項７又は８に記載のデータ転送方法。
【請求項１０】
請求項１乃至９のいずれかに記載のデータ転送方法を用いたことを特徴とするデータ転送方式。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ転送方法に関し、特に共有ファイルシステム等におけるファイル転送を効率的に行うことができるデータ転送方法に関する。
【背景技術】
【０００２】
最近のＨＰＣ（High Performance Computing）では、ＣＰＵ（Central Processing Unit）の高速化や、メモリの大容量化とメモリバンド幅の向上などにより、入出力データ量もまた大規模化している。そのため、特にＨＰＣの分野では、大規模ＳＡＮ（Storage Area Network）環境をベースとした高速ファイル共有システムが利用されている。ＨＰＣでは、１つのファイルが大きいことも１つの特徴であるが、それだけではなく同時に環境設定ファイル、ログファイルなど数百Ｋバイト程度までの小さいサイズのファイルを多量に取り扱うことも多い。これらのファイルはジョブ実行環境だけでなく、準備や後処理を行う環境でも利用する。そのため、それら環境間でファイル転送が必要になる。これら多数のファイルを転送するものとしては、ＨＰＣのステージング／デステージング、一般的なコピー／ムーブコマンドなどがある。
【０００３】
ＳＡＮの共有ファイルシステムでは、クライアントノードから、制御パケットをＬＡＮ（Local Area Network）経由でサーバーノードと通信する。この通信でサイズの大きいファイルを転送する場合には、データをＳＡＮ経由でディスク装置に直接入出力することで、ディスク装置の性能を生かした高速なファイル転送機能を実現している。しかし、サイズの小さいファイルをたくさん転送する場合には、オーバーヘッドが大きくなるため、十分な性能を出すことができない。
【０００４】
ＨＰＣクラスタのジョブ実行の機能の一つに、図１のような構成によるステージング／デステージングがある。ステージング／デステージングは、ジョブ実行のディスク負荷と、通常アクセスのディスク負荷を分離する手法の一つである。ジョブ実行前に、ジョブ実行に必要なファイルを計算ノードのジョブ実行用ディスク装置に配備し（ステージング）、ジョブ実行後に、ジョブ実行結果のファイルを通常アクセス用ディスク装置に退避する（デステージング）。ステージング／デステージングでは、ジョブ実行とファイル転送を独立して行うために、上記のディスク装置に共有ファイルシステムを作成する。そこで、計算ノードは共有ファイルシステム上でジョブ実行に専念し、ファイル転送ノードが計算ノードの代わりに共有ファイルシステム上のファイルを転送する。
【０００５】
ステージング／デステージングで用いられる共有ファイルシステムとして、ＮＦＳ（Network File System）やＳＡＮを利用した共有ファイルシステムが存在する。ＮＦＳは広く利用されている共有ファイルシステムである。図２に示すように、制御パケットの通信とデータの入出力を両方ともＬＡＮ（Local Area Network）で行っている。そのため、ＬＡＮの負荷が高く、全ての入出力データがＮＦＳサーバーを経由するため、サーバーの負荷が高くなってしまい、ディスク装置の性能が発揮できないといった問題がある。
【０００６】
ＳＡＮを利用した共有ファイルシステムは、上記のＮＦＳの問題点を解決したファイル共有の方法で、ＨＰＣで一般的に利用されている。ＳＡＮを利用したファイル共有の方法のひとつに、特開平１１−３３８７９２号公報（特許文献１）に開示された方法がある。図３に示すように、クライアントは、制御パケットをＬＡＮ経由でサーバーと通信し、データをＳＡＮ経由でディスク装置と直接入出力する。特許文献１の方法は、ＮＦＳと比較してＬＡＮやサーバーの負荷が小さく、ディスク装置の性能を生かした高速なデータの入出力が可能になる。
【０００７】
さらに、特許文献１の方法の改善例が特開２００３−３４５６９８号公報（特許文献２）に記載されている。図４に示すように、アクセス要求があったファイルがディスク装置内で分散して保存されている場合であっても、それらのデータ格納位置情報をファイル単位（ストライピングディスク単位）でひとつにまとめて送信することで、制御パケットの通信回数を低減する。特許文献２の方法は、特許文献１の方法と比較して、ＬＡＮの負荷をさらに小さくすることが可能になる。ＨＰＣでは、この様な、ＳＡＮを利用した共有ファイルシステムでのステージング／デステージングが一般的に行われている。
【０００８】
【特許文献１】特開平１１−３３８７９２号公報
【特許文献２】特開２００３−３４５６９８号公報
【特許文献３】特開平６−２３１０１６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
上記したように、ステージング／デステージングでファイル転送ノードが転送するファイルには、さまざまなサイズのファイルがある。転送するファイルとしては、ジョブ実行結果のような膨大な計算結果が保存されたギガ（Ｇ）あるいはテラ（Ｔ）バイトオーダーの巨大なファイルばかりではない。環境設定ファイル、ログファイルなどの、数百Ｋバイト程度までの小さいサイズのファイルも多く含まれている。特許文献１、２の方法は、サイズの大きいファイルの転送には有効な方法であるが、反対に、サイズの小さいファイルの転送で十分に性能を発揮することができないという問題があった。
【００１０】
特許文献１の方法は、サイズの小さいファイルは、ファイル転送にかかる時間で制御パケットの通信時間が占める割合が大きくなる。そのため、たとえデータの入出力が高速であっても、制御パケットの通信時間の方がボトルネックとなってしまい、十分な性能を得ることができない。特許文献２の方法は、図５に示すように、サイズの小さいファイルはディスク装置内に分散して保存されていることが少ないため、まとめられる位置情報が少なく、サイズの大きなファイルの場合と比較して、効果を十分に得ることができない。
【００１１】
これらの問題点により、特許文献１、２の方法では、ステージング／デステージングにサイズの小さいファイルが大量に含まれている場合、ステージング／デステージング全体の性能に深刻な影響を及ぼしてしまう。これらサイズの小さい多数のファイルを転送するものとしては、ＨＰＣのステージング／デステージングの他にも、一般的なコピー／ムーブコマンドなどがある。
【００１２】
また、複数のファイルを効率よく取り扱う方法として、特開平６−２３１０１６号公報（特許文献３）に、ファイルを１つに結合する方法について記載されている。しかし、特許文献３ではファイルを格納するディスクはセクタ（５１２バイト）単位でしかデータを扱えないという点が考慮されていないため、この方法でファイルの結合を行っても、作成された結合ファイルを利用することができない。さらに、転送先で結合ファイルを元の複数のファイルに戻すことを考慮していないため、ファイル転送には利用することができない。したがって、この様なファイル転送に小さなファイルが大量に含まれる場合であっても、特許文献１、２、３の上記問題点を解消し、ファイル転送の性能を向上させる機能を提供することが課題となっている。
【００１３】
本発明の目的は、上記した課題を解決するデータ転送方法を提供することにある。
【課題を解決するための手段】
【００１４】
上記した課題を解決するため、本願発明のデータ転送方法は、転送元記憶装置のサイズの小さな多数のファイルのサイズをそれぞれブロック単位からセクタ単位にサイズ補正し、これらのサイズ補正したファイルを連結した１つの仮想ファイルとしてまとめ、転送先記憶装置に１つのファイルとしてファイル転送させることを特徴とする。
【００１５】
また、本願発明のデータ転送方法は、転送元のサーバーが転送するファイル名リストを受け取り、仮想ファイル作成機能が複数のファイルのファイルサイズをブロック単位からセクタ単位に削減し、これらのファイルを連結した１つの仮想ファイルとしてまとめ、読み込みアクセスに従って、その作成された仮想ファイルをファイル転送用メモリ領域に書き込み、転送先のサーバーが転送されるファイル名リストを受け取り、データ領域確保機能が転送先ディスク装置のデータ領域を確保し、アクセス要求に従って、ファイル転送用メモリ領域の仮想ファイルを転送先ディスク装置のデータ領域に書き込みすることもできる。
【００１６】
さらに本願発明のデータ転送方式においては、上記したこれらのデータ転送方法を用いることを特徴とする。
【発明の効果】
【００１７】
本発明においては、複数のファイルをひとつにまとめた仮想ファイルを転送することで、ファイル単位よりも高速なファイル転送が可能にできる。  
本発明によれば、データ転送を効率的に行うことができるデータ転送方法が得られる。
【発明を実施するための最良の形態】
【００１８】
本発明の実施の形態について、添付した図面を参照して詳細に説明する。最初に発明の基本原理と基本構成について説明し、次により具体的なデータ構造や、フローチャートを含めて、詳細に説明する。
【００１９】
本発明は、サイズの小さい多数のファイルを、ひとつの大きなファイルとして取り扱うための機能（仮想ファイル機能）を共有ファイルシステムに追加する。つまり、小さな多数のファイルをひとつの大きなファイルとして扱うことで、高速なファイル（データ）転送を実現するものである。図６には、仮想ファイルの構成を示している。図７には、共有ファイルシステムのシステム構成図を示している。図８にファイル管理表、図９に通常ファイルと仮想ファイルのデータ構成を説明する説明図、図１０に仮想ファイルのギャップを補正する前後におけるデータ配置図をそれぞれ示している。
【００２０】
仮想ファイルは、サイズの小さい多数のファイルを、ひとつの大きなファイルとしてまとめたファイルである。この仮想ファイルは、図６に示すような複数のファイルを連結したイメージであり、ファイルと同様に読み書き可能な仮想的なファイルである。仮想ファイルを実現するために、図７に示すように、サーバー（２００）に仮想ファイル作成機能（２０６）と仮想ファイル削除機能（２０７）を用意する。仮想ファイルは、サーバー（２００）のファイル管理機能（２０５）とファイル管理表（２０９）にて一般的なファイルと同様に管理する。ファイル管理表（２０９）は、図８で示すように、個々のファイルごとに、ファイル管理番号、「通常ファイル」や「ディレクトリ」といったファイル種別、ファイルが保存されているデータ格納位置情報のリストなどが１つのエントリで保存されている。
【００２１】
仮想ファイルでは、このファイル管理表（２０９）のファイル種別に新たに「仮想ファイル」を追加し、データ格納位置情報を既存のファイルと共有する。図９において、仮想ファイル１はファイル種別を「仮想ファイル」とし、ファイルＡ、ファイルＢ、ファイルＣの全てのデータ格納位置情報を持っている。これにより、仮想ファイル１にアクセスすることで、ファイルＡ、ファイルＢ、ファイルＣを１つの連結したファイルとして入出力することができる。
【００２２】
仮想ファイルを使ったファイル転送は、以下のような流れで実施する。まず、仮想ファイル転送プログラム（１０１）から処理を開始する。仮想ファイル転送プログラム（１０１）は、仮想ファイルの転送を行うユーザモードのアプリケーションである。しかし本発明においては、仮想ファイル転送プログラムに基づいて制御される仮想ファイル転送機能（仮想ファイル転送手段）を含めて、単に仮想ファイル転送プログラムと記載するものとする。
【００２３】
仮想ファイル転送プログラム（１０１）は、複数個のファイルを指定して、仮想ファイル作成依頼機能（１０４）に仮想ファイルの作成を依頼して、転送元サーバーの仮想ファイル作成機能（２０６）で仮想ファイルを作成する。仮想ファイル転送プログラム（１０１）は、作成した仮想ファイルを指定して、共有ファイルシステムクライアント機能（１０３）から読み込み要求を行い、ファイル転送用メモリ領域（１０８）に仮想ファイル、すなわち、複数個のファイルを一度に読み込む。仮想ファイルが読み込み終わったら、仮想ファイル削除依頼機能（１０５）で、仮想ファイルの削除を依頼する。次に、仮想ファイル転送プログラム（１０１）は、転送先サーバーのデータ領域確保機能（２０８）によりファイルごとのデータ格納領域を確保し、それらをまとめた仮想ファイルを作成する。あとは、読み込みと同様の方法で書き込みを行い、仮想ファイルを削除する。
【００２４】
クライアント（１００）からの仮想ファイルのデータのディスクとの入出力については、ディスクアクセスとしてはセクタ単位の倍数でなければアクセスできない。且つ、ファイルシステムは、一般にブロックサイズ毎にデータ格納領域を管理している。しかしファイルサイズはバイト単位であるので、仮想ファイルを読み込むときは、図１０の補正前のデータの配置のように、個々のファイルの間に不定長のギャップが生じることを考慮しなくてはならない。
【００２５】
そこで、図１０の補正後のデータの配置のように、どのようなブロックサイズのファイルシステムとデータを入出力する場合でも、常にセクタ単位でデータ配置を補正してから入出力を行う。ディスクアクセス変換機能（１０７）とディスクアクセス変換表（１０８）を用意することで、ファイルシステムによってブロックサイズが異なる場合でもギャップの位置を正しく認識し、さらにディスク装置への無駄な入出力を極力行わないことを可能にする。このようにブロック単位のファイルを、セクタ単位に変換する。このためファイル間のギャップは１セクタ以下となり、ファイルサイズが削減される。
【００２６】
転送先サーバーへの書き込みに関しては、ファイルを転送先サーバーに転送する前に、データ領域確保機能（２０８）により、転送先サーバーのディスク装置にファイル各々のデータ格納領域を確保する。その後仮想ファイル作成機能（２０６）により、これらファイルを連結した仮想ファイルを転送先に作成する。最後に転送先サーバーの仮想ファイルにデータ書き込みをする。転送元では複数の小さなサイズのファイルをまとめて、仮想ファイルとしたが、同様の方法で、あらかじめ転送先に仮想ファイルを作成しておくことで、転送元サーバーのディスク装置における各々のファイルと同じように、転送先ディスクに各々のファイルデータを書き込むことが可能になる。
【００２７】
以上の機能により、クライアントは個々のファイルではなく、それらを１つにまとめた仮想ファイルとして入出力する。入出力の回数を個々のファイル単位から仮想ファイル単位に削減でき、特許文献１の問題点であった、小さいファイルにおける制御パケットの増大を削減することができる。さらに、サーバーで仮想ファイルを上記の方法で保存することで、多数のファイルが物理的に分散して保存されている状態を、ひとつの仮想ファイルが物理的に分散して保存されている状態に置き換えることができる。このため特許文献２のデータ格納位置情報をファイル単位でまとめる機能をより効果的に利用できる。
【００２８】
次に上記した図６〜１０に加えて図１１〜２５をも参照しながら、本発明の実施形態について、より具体的なデータ構造や、フローチャートを含めて、詳細に説明する。図１１と図１２にはディスクアクセス変換表のファイル構成図とその一例を示す。図１３と図１４にはディスクアクセス情報テーブルのファイル構成図とその一例を示す。図１５にはファイル転送のファイル転送プログラムにおけるフローチャートを示す。図１６〜２２には、ファイル転送のそれぞれの処理におけるフローチャートを示す。図２３〜２５にはディスクアクセス情報テーブルのそれぞれの補正前後のデータ配置図を示す。
【００２９】
図７を参照すると、本実施形態のシステムは、クライアント（１００）、サーバー（２００）、ディスク装置（３００）から構成される。クライアント（１００）とサーバー（２００）はＬＡＮで接続され、クライアント（１００）とサーバー（２００）とディスク装置（３００）はＳＡＮで接続されている。
【００３０】
図７のシステム構成のサーバーとディスク装置の関係は、図１の構成と同様である。サーバー（２００）として転送元サーバー（図１のファイルサーバー１）と転送先サーバー（図１のファイルサーバー２）の２つのサーバーを備えているとする。ディスク装置（３００）として転送元ディスク装置（図１のジョブ実行データ用ディスク装置）と転送先ディスク装置（図１の通常データ用ディスク装置）の２つのディスク装置を備えているとする。さらにこれらのサーバーとディスク装置はそれぞれがそれぞれ接続されているとする。また、これらのサーバーとディスク装置は、転送元と転送先の役割が反対になってもかまわない。
【００３１】
クライアント（１００）は仮想ファイル転送プログラム（１０１）、共有ファイルシステムクライアント（１０２）、ＬＡＮアクセス機能（１１１）、ディスクドライバ機能（１１０）で構成されている。
【００３２】
仮想ファイル転送プログラム（１０１）は、仮想ファイルの転送を行うユーザモードのアプリケーションであり、仮想ファイル転送プログラムに基づいて制御される仮想ファイル転送機能（仮想ファイル転送手段）そのものを表すものとする。転送される仮想ファイルは、ファイル転送用メモリ領域（１０９）に転送元サーバーから読み込まれた後、転送先サーバーへ書き込まれる。
【００３３】
共有ファイルシステムクライアント（１０２）は、共有ファイルシステムクライアント機能（１０３）、仮想ファイル作成依頼機能（１０４）、仮想ファイル削除依頼機能（１０５）、データ領域確保依頼機能（１０６）、ディスクアクセス変換機能（１０７）、ディスクアクセス変換表（１０８）で構成されている。共有ファイルシステム（１０２）が提供するファイルや仮想ファイルを操作する各種機能は、システムコールとしてユーザランドに公開されている。
【００３４】
共有ファイルシステムクライアント機能（１０３）は、ファイル、ディレクトなどの通常操作を共有ファイルシステムサーバー（２０１）に依頼する機能（手段）である。仮想ファイル作成依頼機能（１０４）は、仮想ファイルの作成を共有ファイルシステムサーバー（２０１）に依頼する処理と、ディスクアクセス変換表（１０８）にレコードを追加する処理を行う。仮想ファイル削除依頼機能（１０５）は、仮想ファイルの削除を共有ファイルシステムサーバー（２０１）に依頼する処理と、ディスクアクセス変換表（１０８）からレコードを削除する処理を行う。データ領域確保依頼機能（１０６）は、ファイルのデータ格納領域の確保を共有ファイルシステムサーバー（２０１）に依頼する。ディスクアクセス変換機能（１０７）は、ディスクアクセス変換表（１０８）を元に、共有ファイルシステムクライアント（１０２）が受信したディスクアクセス情報テーブルを補正する機能である。
【００３５】
ディスクアクセス変換表（１０８）は、後述のディスクアクセス情報テーブルに含まれる各ファイル間のギャップをセクタ単位に補正するための表である。その変換表は、仮想ファイルを構成する各ファイルのデータ転送用メモリ領域（１０９）のオフセットとデータサイズの補正前後の情報を持つ。図１１に示すように、ディスクアクセス変換表（１０８）は仮想ファイルを構成するファイルごとに、ファイルサイズ、ファイル補正サイズ、ファイルオフセット、ファイル補正オフセットが１行としてまとめられている。ファイル補正サイズはファイルサイズをセクタ単位に補正したサイズである。ファイル補正オフセットはメモリの読み込み位置であるファイルオフセットのメモリの読み込み位置をセクタ単位に補正したものである。
【００３６】
それらの行が仮想ファイルのファイルハンドラで１つのレコードにまとめられて保存される。ディスクアクセス変換表（１０８）は仮想ファイル転送プログラム（１０１）のプロセスにつき１つ生成される。図１０は、ギャップの補正前後におけるデータ配置図を示す。図１２は、その補正後のデータの配置を示すディスクアクセス変換表の例である。ファイル補正サイズ、ファイル補正オフセットで、各ファイルのサイズ、オフセットがセクタサイズの整数倍に補正されている。
【００３７】
ディスクドライバ機能（１１０）は、後述のディスクアクセス情報テーブルを使って、ファイル転送用メモリ領域（１０９）とディスク装置（３００）との間でデータの入出力を行う。ディスクアクセス情報テーブルは、ディスク装置（３００）中のファイルの保存位置とファイル転送用メモリ領域（１０９）のメモリオフセットの対応を示したディスクアクセスのための表である。ディスクアクセス情報テーブルは、図１３に示すように、ファイル転送用メモリ領域（１０９）のオフセットであるメモリオフセット、入出力を行うデータサイズ（セクタの整数倍）、ディスク装置（３００）中のファイルの保存位置を表すディスク位置が１行で保存される。図１４は図１０の補正前のデータの配置に対応するディスクアクセス情報テーブルの例である。例えば、図１０の補正前のデータ配置において、仮想ファイル中の末尾のファイルのデータがディスク装置内の異なる位置に分散して保存されている場合、ディスクアクセス情報テーブルの行が図１４の３、４、５行目のように別々に作成される。
【００３８】
ＬＡＮアクセス機能（１１１）は、共有ファイルシステムクライアント（１０２）と、共有ファイルシステムサーバー（２０１）との間でＬＡＮを経由した制御情報の通信を行う。
【００３９】
サーバー（２００）は、共有ファイルシステムサーバー（２０１）、ファイルシステム（２０４）、ディスクドライバ機能（２１０）、ＬＡＮアクセス機能（２１１）で構成されている。
【００４０】
共有ファイルシステムサーバー（２０１）は、共有ファイルシステムサーバー機能（２０２）、ディスクアクセス情報テーブル統合機能（２０３）で構成されている。共有ファイルシステムサーバー機能（２０２）は、共有ファイルシステムクライアント（１０２）からの操作依頼をファイルシステム（２０４）に通知し、結果をクライアントに返す機能である。ディスクアクセス情報テーブル統合機能（２０３）は、特許文献２に記載されている、ディスクアクセステーブル情報テーブルをディスク単位にまとめる機能を持つ。
【００４１】
ファイルシステム（２０４）は、ファイル管理機能（２０５）、仮想ファイル作成機能（２０６）、仮想ファイル削除機能（２０７）、データ領域確保機能（２０８）、ファイル管理表（２０９）で構成されている。ファイル管理機能（２０５）は、ファイル管理表（２０９）を元にファイル、ディレクトリなどの通常操作を実行する機能である。仮想ファイル作成機能（２０６）は、ファイル管理表（２０９）に仮想ファイルを登録する機能である。仮想ファイル削除機能（２０７）は、ファイル管理表（２０９）から仮想ファイルを削除する機能である。データ領域確保機能（２０８）は、ファイル管理表（２０９）のファイルに指定サイズ分のデータ格納位置を確保する機能である。ファイル管理表（２０９）は、図８に示すように、ファイルの各種属性、データ格納位置のリストをファイルごとに管理している。
【００４２】
ディスクドライバ機能（２１０）、ＬＡＮアクセス機能（２１１）は、クライアント（１００）の同名のものと同じ機能を持つ。
【００４３】
ディスク装置（３００）は、ディスクドライバ機能（１１０、２１１）からアクセスされて、ディスクアクセス情報テーブルで指定されたメモリオフセットとディスク位置でデータを入出力する。
【００４４】
次に、図７のシステム構成図、図１５〜図２２のフローチャートを参照して、本発明の実施形態の動作について詳細に説明する。なお以下では、アルファベットから始まる番号（Ａ１〜Ｈ１３）は、それぞれフローチャートの処理ステップを表す。フローチャートとして、図１５にファイル転送プログラム、図１６に仮想ファイル転送処理、図１７に仮想ファイル作成依頼機能、図１８に仮想アクセス要求機能、図１９に仮想ファイル削除依頼機能、図２０に仮想ファイル作成機能、図２１にディスク仮想アクセス変換表レコード作成依頼処理、図２２にディスクアクセス変換機能のフローチャートをそれぞれ示す。
【００４５】
（Ａ、仮想ファイル転送プログラム（図１５））  
図１５に、仮想ファイル転送プログラムによる処理フローを示す。仮想ファイル転送プログラム（１０１）は仮想ファイルとして転送するファイルの名前リストとファイル転送用メモリ領域（１０９）のサイズを受け取って処理を開始する。指定されたファイルが、ファイル転送用メモリ領域（１０９）に収まる数ごとに仮想ファイルにまとめられて、順番に転送される。
【００４６】
１、初期化作業を行う。転送リストは１つの仮想ファイルとして転送するファイルの名前リストであり、サイズリストは、それらのファイルのファイルサイズのリストである。転送リストとサイズリストを空で初期化する（ステップＡ２）。
【００４７】
２、引数で受け取った名前リストの要素全てに下記の処理を行う（ステップＡ３）。  
２―１、名前リストからファイル名を１つ取り出して（ステップＡ４）、共有ファイルシステムクライアント機能（１０３）を介してサーバー（２００）のファイルシステム（２０４）からファイルサイズを取得する（ステップＡ５）。
【００４８】
２―２、上記で取得したファイルサイズとサイズリストの要素の合計値とファイル転送用メモリ領域（１０９）とのサイズを比較する（ステップＡ６）。ファイルサイズとサイズリストの要素の合計値がファイル転送用メモリ領域（１０９）より小さい場合は、サイズリストに上記のファイルサイズを、転送リストに上記のファイル名を加える（ステップＡ９）。さらにステップＡ３に戻り、ステップＡ４、５、６を繰り返す。ファイルサイズとサイズリストの要素の合計値がファイル転送用メモリ領域（１０９）より大きい場合は、保持されているサイズリスト及び転送リストを引数に仮想ファイル転送処理（詳細はフローチャートＢ）を行う（ステップＡ７）。その後、サイズリストと転送リストをリセットし、今回のファイルサイズとファイル名で、サイズリストと転送リストを初期化する（ステップＡ８）。さらにステップＡ３に戻り、ステップＡ４、５、６を繰り返す。
【００４９】
転送する仮想ファイルの大きさは、ファイル転送用メモリ領域（１０９）のサイズより、わずかに小さい場合が最も効率的である。そのため名前リストからファイル名を取り出し、そのファイルサイズを加算するステップを繰り返す。この繰り返しステップで加算されたサイズがファイル転送用メモリ領域（１０９）のサイズより、大きくなる。この場合に、その１つ前までに積算されたファイルを１つの仮想ファイルとして連結させ、転送する。このようにしてファイル転送用メモリ領域（１０９）のサイズよりやや小さなサイズの仮想ファイルとして、効率よくデータ転送を行うことができる。
【００５０】
３、転送リストが空でない場合（ステップＡ１０）は、転送リストとサイズリストを引数に仮想ファイル転送処理（詳細はフローチャートＢ）を行う（ステップＡ１１）。このステップは、ステップＡ３の名前リストは無だが、ステップＡ９に転送リストが残っている場合の転送処理である。転送リストが空の場合は仮想ファイル転送プログラムによる処理ステップを終了する。
【００５１】
（Ｂ、仮想ファイル転送処理（図１６））  
図１６に示す仮想ファイル転送処理は、ファイル転送プログラム（１０１）のサブルーチンであり、ファイル転送プログラムのフローチャート（ステップＡ７、Ａ１１）で、転送リストとサイズリストを引数に呼び出される。転送元サーバーから仮想ファイルをファイル転送用メモリ領域（１０９）に読みこんで（ステップＢ１〜Ｂ４）、転送先サーバーに各ファイルの領域を確保した（ステップＢ５〜Ｂ８）後で、転送先サーバーに仮想ファイルを書き込む（ステップＢ９〜Ｂ１１）。
【００５２】
１、転送リストを引数に、転送元サーバーに対して、仮想ファイル作成依頼機能（１０４）（詳細はフローチャートＣ）を実行し、仮想ファイルのファイル記述子を受け取る（ステップＢ２）。
【００５３】
２、転送元サーバーから受け取った仮想ファイルのファイル記述子を引数に、転送元サーバーに対して、共有ファイルシステムクライアント機能（１０３）のアクセス要求（詳細はフローチャートＤ）を実行し、ファイル転送用メモリ領域（１０９）に仮想ファイルのデータを読み込む（ステップＢ３）。
【００５４】
３、転送元サーバーから受け取った仮想ファイルのファイル記述子を引数に、転送元サーバーに対して、仮想ファイル削除依頼機能（１０５）（詳細はフローチャートＥ）を実行し、仮想ファイルを削除する（ステップＢ４）。
【００５５】
４、転送リストの要素全てに以下の処理を行う（ステップＢ５）。  
４―１、転送リストからファイル名を、サイズリストからファイルサイズを１つ取り出す（ステップＢ６）。  
４―２、共有ファイルシステムクライアント機能（１０３）を介して、転送先サーバーに上記のファイル名でファイルを作成し、ファイル記述子を取得する（ステップＢ７）。  
４―３、上記ファイル記述子、ファイルサイズを引数に、転送先サーバーにデータ領域確保依頼機能（１０６）を実行する（ステップＢ８）。転送先サーバーの共有ファイルシステムサーバー機能（２０２）が、データ領域確保機能（２０８）を実行して、指定したファイルサイズ分のデータ格納領域を確保する（ステップＢ８’）。ここでは、領域の確保のみを行いデータの書き込みは行わない。ステップＢ５〜Ｂ８までを転送リストの要素全てに対し繰り返す。
【００５６】
５、ステップＢ２と同様にして、転送リストを引数に、転送先サーバーに対して、仮想ファイル作成依頼機能（１０４）（詳細はフローチャートＣ）を実行し、仮想ファイルのファイル記述子を受け取る（ステップＢ９）。
【００５７】
６、ステップＢ３と同様にして、転送先サーバーから受け取った仮想ファイルのファイル記述子を引数に、転送先サーバーに対して、共有ファイルシステムクライアント機能（１０３）のアクセス要求（詳細はフローチャートＤ）を実行し、転送先サーバーに仮想ファイルのデータを書き込む（ステップＢ１０）。
【００５８】
７、ステップＢ４と同様にして、転送先サーバーから受け取った仮想ファイルのファイル記述子を引数に、転送先サーバーに対して、仮想ファイル削除依頼機能（１０５）（詳細はフローチャートＥ）を実行し、仮想ファイルを削除する（ステップＢ１１）。
【００５９】
（Ｃ、仮想ファイル作成依頼機能（図１７））  
仮想ファイル作成依頼機能（１０４）は、仮想ファイル転送のフローチャート（ステップＢ２）、（ステップＢ９）で、転送リストを引数に呼び出される。  
１、引数で受け取った転送リストを指定して、共有ファイルシステムサーバー機能（２０２）に仮想ファイル作成依頼を送信する（ステップＣ２）。共有ファイルシステムサーバー機能（２０２）が仮想ファイル作成機能（２０６）（詳細はフローチャートＦ）を実行して仮想ファイルを作成し、仮想ファイルに対応するファイルハンドラと転送リストに含まれるファイルのサイズのリストを返す（ステップＣ２’）。  
２、仮想ファイルのファイルハンドラと上記のファイルサイズのリストを引数にディスクアクセス変換表エントリ作成処理（詳細はフローチャートＧ）を実行する（ステップＣ３）。  
３、仮想ファイルのファイルハンドラに対するファイル記述子を呼び出し元に返す（ステップＣ４）。
【００６０】
（Ｄ、ファイルアクセス要求機能（図１８））  
ファイルアクセス要求機能は、特許文献１のディスクアクセス機能を、ディスクアクセス情報テーブルの補正を行うように拡張した機能である。ファイルアクセス要求機能は、共有ファイルシステムクライアント機能（１０３）の一部として、仮想ファイル転送処理のフローチャート（ステップＢ３、Ｂ１０）で、仮想ファイルのファイル記述子を引数に呼び出される。
【００６１】
１、引数で受け取ったファイル記述子に対応するファイルハンドラを指定して、共有ファイルシステムサーバー機能（２０２）に仮想ファイルのアクセス要求を送信する（ステップＤ２）。共有ファイルシステムサーバー機能（２０２）がファイルハンドラからファイル管理番号を取得し、ファイル管理番号をキーにしてファイル管理機能（２０５）から仮想ファイルのデータ格納位置情報を取得する（ステップＤ３）。ディスクアクセス情報テーブル統合機能（２０３）が、データ格納位置情報をディスク単位でまとめ、ディスクアクセス情報テーブルを作成し、クライアント（１００）へ返す（ステップＤ４）。
【００６２】
２、引数で受け取ったファイル記述子に対応するファイルハンドラをキーにして、ディスクアクセス変換表（１０８）からレコードを取得する。ディスクアクセス情報テーブルとこのレコードを引数にディスクアクセス変換機能（１０７）を実行し、ディスクアクセス情報テーブルを補正する（詳細はフローチャートＨ）（ステップＤ５）。
【００６３】
３、補正したディスクアクセス情報テーブルを引数にディスクドライバ機能（１１０）を実行し、ディスク装置（３００）とファイル転送用メモリ領域（１０９）でデータの入出力を行う（ステップＤ６）。
【００６４】
（Ｅ、仮想ファイル削除依頼機能（図１９））  
仮想ファイル削除依頼機能（１０５）は、仮想ファイル転送処理のフローチャート（ステップＢ４、Ｂ１１）で、仮想ファイルのファイル記述子を引数に呼び出される。  
１、引数で受け取ったファイル記述子に対応するファイルハンドラを指定して、共有ファイルシステムサーバー機能（２０２）に仮想ファイル削除依頼を送信する（ステップＥ２）。共有ファイルシステムサーバー機能（２０２）が仮想ファイル削除機能（２０７）を実行して仮想ファイルを削除する（ステップＥ２’）。  
２、上記のファイルハンドラをキーに、ディスクアクセス変換表（１０８）からレコードを削除する（ステップＥ３）。
【００６５】
（Ｆ、仮想ファイル作成機能（図２０））  
仮想ファイル作成機能（２０６）は、仮想ファイル作成依頼機能のフローチャート（ステップＣ２’）で、転送リストを引数に呼び出される。  
１、ファイル種別に「仮想ファイル」を設定したエントリを１つ作成し（ステップＦ２）、サイズリストを空で初期化する（ステップＦ３）。
【００６６】
２、転送リストの要素全てに以下の処理を行う（ステップＦ４）。  
２―１、転送リストからファイル名を１つ取り出し（ステップＦ５）、ファイル管理表（２０９）から、そのファイルのデータ格納位置情報を取得し、上記のエントリに追加する（ステップＦ６）。  
２―２、上記ファイル名で、ファイル管理表（２０９）から、ファイルサイズを取得し、サイズリストに追加する（ステップＦ７）。ステップＦ４〜ステップＦ７を転送リストの要素全てに繰り返す。  
３、データ格納位置情報の合計サイズをエントリのファイルサイズに設定する（ステップＦ８）。  
４、エントリをファイル管理表（２０９）に追加する（ステップＦ９）。  
５、仮想ファイルと、サイズリストを呼び出し元に返す（ステップＦ１０）。
【００６７】
（Ｇ、ディスクアクセス変換表レコード作成処理（図２１））  
ディスクアクセス変換表レコード作成処理は、仮想ファイル作成依頼機能（１０４）のサブルーチンであり、仮想ファイル作成依頼機能のフローチャート（ステップＣ３）で、仮想ファイルのファイルハンドラとサイズリストを引数に呼び出される。ディスクアクセス変換表レコード作成処理は、ディスクアクセス情報テーブルを図１０の補正前のデータの配置から補正後のデータの配置へと補正するためのレコードを作成する。
【００６８】
補正前のディスクアクセス情報テーブルは、図１０の補正前のデータの配置に示すように、仮想ファイルを構成する各ファイルをブロック単位で切り上げたオフセットで配置するように、メモリオフセットが指定されている。このため、補正前の各ファイルのメモリ上のオフセット（ファイルオフセット）を、ファイルサイズをブロックサイズで切り上げた値を順次加算することで求める（ステップＧ９）。また、補正後の各ファイルのメモリ上のオフセット（ファイル補正オフセット）を、図１０の補正後のデータの配置に示すように各ファイルをセクタ単位で切り上げたオフセットで配置するよう、各ファイルのファイルサイズをセクタサイズで切り上げた値を順次加算して求める（ステップＧ９）。また、ファイルサイズをセクタサイズで切り上げてファイル補正サイズを計算する（ステップＧ７）。以上により、各ファイルに対して、ファイルサイズ、ファイル補正サイズ、ファイルオフセット、ファイル補正オフセットを計算し、仮想ファイルのファイルハンドラと合わせてレコードとして保存する（ステップＧ１０）。
【００６９】
１、共有ファイルシステムクライアント機能（１０３）を介して、サーバー（２００）のファイルシステム（２０４）のブロックサイズを問い合わせる（ステップＧ２）。共有ファイルシステムサーバー機能（２０２）がファイル管理機能（２０５）からファイルシステムのブロックサイズを取得してクライアント（１００）に返す（ステップＧ２’）。
【００７０】
２、ディスクアクセス変換表のレコードを１つ作成する（ステップＧ３）。  
３、ファイルオフセット、ファイル補正オフセットを０で初期化する（ステップＧ４）。
【００７１】
４、サイズリストの要素全てに以下の処理を行う（ステップＧ５）。  
４―１、サイズリストからファイルサイズを１つ取り出し（ステップＧ６）、ファイルサイズをセクタサイズで切り上げた値をファイル補正サイズに設定する（ステップＧ７）。  
４―２、上記のレコードに、ファイルサイズ、ファイル補正サイズ、ファイルオフセット、ファイル補正オフセットを追加する（ステップＧ８）。  
４―３、ファイルオフセットにファイルサイズをブロックサイズで切り上げた値を足し、ファイル補正オフセットに、ファイルサイズをセクタサイズで切り上げた値を足す（ステップＧ９）。ステップＧ５〜Ｇ９までをサイズリストの要素全てに繰り返す。
【００７２】
５、上記のレコードに、引数で受け取った仮想ファイルのファイルハンドラを設定し、ディスクアクセス変換表に登録する（ステップＧ１０）。
【００７３】
（Ｈ、ディスクアクセス変換機能（図２２））
ディスクアクセス変換機能（１０７）は、仮想ファイルアクセス要求機能のフローチャート（ステップＤ５）で、ディスクアクセス情報テーブルとディスクアクセス変換表（１０９）のレコードを引数に呼び出される。ディスクアクセス変換機能は、ディスクアクセス情報テーブルの各行に対して、大きく以下の４つの処理を行い、図２３の補正後のデータ配置のように、メモリオフセットとデータサイズがセクタ単位で補正された新しいディスクアクセス情報テーブル（以下、変換後表と呼ぶ）を作成する。
【００７４】
この変換後表の作成としては、大きく以下の４つの処理を行う。  
（処理１）ディスクアクセス変換表（１０８）のレコードの各行とつき合わせて、どのファイルへのアクセスかを決定する（ステップＨ５）。  
（処理２）ファイルのデータが存在しない場合に、その行を削除する（ステップＨ６）。
（処理３）後方にデータが存在しない場合（ステップＨ８）、データサイズをセクタ単位で小さくする（ステップＨ９）。  
（処理４）メモリオフセットをディスクアクセス変換表のファイル補正オフセットで補正する（ステップＨ１０）。
【００７５】
具体的に、図１２、図１４、図２３、図２４、図２５を用いて、ディスクアクセス情報テーブルの最後の行（図１４の５行目、以下変換前行と呼ぶ）をディスクアクセス変換表（１０８）のレコード（図１２、以下変換レコードと呼ぶ）を用いて変換する例を説明する。図２３に示すように、ディスクアクセス情報テーブルの最後の行が、メモリオフセットは前に移動し、データサイズは有効なファイルを含むサイズをセクタ単位で切り上げられた値に補正される（以下、補正された行を変換後行と呼ぶ）。
【００７６】
はじめに（処理１）を行う。変換前行があるファイルにアクセスしている場合、変換前行のメモリオフセットは、そのファイルが読み込まれるメモリ領域を指している。また、ファイルが読み込まれるメモリ領域の開始位置は、変換レコードのファイルオフセットの値と等しい。よって、変換レコードの各行をファイルオフセットが小さい順に調べて、ファイルオフセットが変換前行のメモリオフセットよりも大きい直前の行が、変換前行がアクセスしているファイルに対応する変換レコードの行になる（ステップＨ５）。今回の変換前行は、図２４が示すように、変換前行のメモリオフセットが変換レコードの最後の行のファイルオフセットよりも大きくなるので、図１２の最後の行が該当する。以下、この該当行を変換行と呼ぶ。
【００７７】
次に（処理２）を行う。ファイルの有効範囲は、図２４が示すように、「変換行のファイルオフセット＋ファイルサイズ」（１００２）までになる。変換前行のメモリオフセットが（１００２）よりも大きい場合は、変換前行がファイルのデータを含んでいないのでこの行の変換処理を中止する（ステップＨ６のｙｅｓ）。今回の変換前行のメモリオフセット（２０４８０バイト）は、（１００２）の値（１２２８８＋１００００＝２２２８８バイト）以下なので、ファイルのデータを含んだ行であるため、処理を続行する。
【００７８】
次に（処理３）を行う。変換前行の後方にファイルのデータが存在しない場合は、変換前行がファイルの有効範囲を飛び越えてアクセスしている状態なので、図２４の「変換行のファイルオフセット＋ファイルサイズ」（１００２）よりも、「変換前行のメモリオフセット＋データサイズ」（１００５）が大きくなる（ステップＨ８のｙｅｓ）。今回の変換前行は、（１００２）の値（１２２８８＋１００００＝２２２８８バイト）よりも（１００５）の値（２０４８０＋４０９６＝２４５７６バイト）が大きくなるので、後方にファイルのデータが存在しない行である。よって、後方のファイルのデータが存在しない部分をセクタ単位で切り詰める作業を行う。
【００７９】
図２５で示すように、変換前行のメモリオフセットがファイルのどの位置に当たるかは、「変換前行のメモリオフセット−変換行のファイルオフセット」（１１０２）で計算できる。さらに変換行のファイル補正オフセットが、ファイルサイズをセクタ単位で切り上げた値になっているので、変換前行のデータサイズを補正した値は、「変換行のファイル補正サイズ−（変換前行のメモリオフセット−変換行のファイルオフセット）」（１１０５）になる（ステップＨ９）。今回の変換前行のデータサイズを補正した値は、（１１０５）から２０４８バイト（＝１０２４０−（２０４８０−１２２８８））になる。
【００８０】
最後に（処理４）を行う。変換前行のメモリオフセットを変換行のファイル補正オフセットで補正する。図２５で示すように、ファイルの先頭オフセットは、「変換行のファイル補正オフセット」（１１０３）になる。変換前行がファイルのどの位置からアクセスするかは（処理３）と同様に（１１０２）で計算できるので、変換前行のメモリオフセットを補正した値は、「変換行のファイル補正オフセット＋（変換前行のメモリオフセット−変換行のファイルオフセット）」（１１０６）となる（ステップＨ１０）。今回の変換前行のメモリオフセットを補正した値は、（１１０６）から１５０７２バイト（＝７６８０＋（２０４８０−１２２８８））になる。
【００８１】
以上により、変換前行を補正した変換後行を作成し、変換後表に登録していく（ステップＨ１１）。今回の変換前行の場合、メモリオフセット１５０７２バイト、ファイルサイズ２０４８バイト、ディスク位置５という、変換後行が登録される。すべての変換前行に対して上記処理を行い、変換後表を返す（ステップＨ１２）。
【００８２】
本発明では上記したように、サイズの小さい多数のファイルを、あたかも、ひとつの大きなファイルとして取り扱うことのできる機能（仮想ファイル機能と呼ぶ）を備える。サイズの小さいファイルを多数転送する場合に、まず、多数のファイルをひとつの仮想ファイルとする。この仮想ファイルを１つの大きなファイルとして取り扱い、一度に転送することで、制御パケットのオーバーヘッドを削減し、高速なファイル転送を実現することができる。このように複数のファイルをひとつにまとめた仮想ファイルを転送することで、ファイル単位で分離されない入出力が実現でき、ファイル単位よりも高速なファイル転送が可能になる。ＳＡＮを利用した共有ファイルシステムでサイズの小さいファイルを多数転送する場合に有効である。また大きなサイズの入出力が実行できるファイルシステムにおいても有効である。
【００８３】
本発明によれば、転送元記憶装置のサイズの小さな多数のファイルのサイズをそれぞれブロック単位からセクタ単位にサイズ補正し、これらのサイズ補正したファイルを連結した１つの仮想ファイルとしてまとめ、転送先記憶装置に１つのファイルとしてファイル転送させるデータ転送方法が得られる。
【００８４】
本発明の転送先記憶装置においては、転送された仮想ファイルを補正前のブロック単位の小さなサイズのファイルにそれぞれ復元し、分割して書き込むことができる。
【００８５】
本発明の仮想ファイルは、そのファイルサイズがセクタ単位になるように連結される前のブロック単位のファイルのギャップを１セクタ以内とすることができる。また仮想ファイルを、連結される前のファイル毎のファイル管理番号、ファイル種別、ファイルサイズ及びデータ格納位置情報のリストが１つのエントリとして保存されたファイル管理表で管理することができる。その仮想ファイルは、連結される前のファイルのオフセットをセクタ単位に補正することもできる。さらに仮想ファイルは、ファイル転送用メモリ領域に書き込まれたあとで削除することもできる。
【００８６】
また本発明によれば、転送元のサーバーが転送するファイル名リストを受け取り、仮想ファイル作成機能が複数のファイルのファイルサイズをブロック単位からセクタ単位に削減し、これらのファイルを連結した１つの仮想ファイルとしてまとめ、読み込みアクセスに従って、その作成された仮想ファイルをファイル転送用メモリ領域に書き込み、転送先のサーバーが転送されるファイル名リストを受け取り、データ領域確保機能が転送先ディスク装置のデータ領域を確保し、アクセス要求に従って、ファイル転送用メモリ領域の仮想ファイルを転送先ディスク装置のデータ領域に書き込みするデータ転送方法が得られる。
【００８７】
本発明の転送先ディスク装置のデータ領域への書き込みは、転送元のファイルサイズにそれぞれ復元し、分割して書き込むことができる。また、ファイル転送用メモリ領域に仮想ファイルが書き込まれた後、転送元の仮想ファイル作成機能が作成した仮想ファイルは、仮想ファイル削除機能を使って削除することができる。
【００８８】
上記したように実施形態を参照して本願発明を説明したが、本願発明は上記の実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【産業上の利用可能性】
【００８９】
本発明においては、多数のファイルをひとつの大きな仮想ファイルとして取り扱い、一度に転送することで、制御パケットのオーバーヘッドを削減し、高速なファイル転送を実現できる。このことからＳＡＮを利用した共有ファイルシステムでサイズの小さいファイルを多数転送する場合や、大きなサイズの入出力が実行できるファイルシステムにおいて有効である。ＨＰＣにおけるＳＡＮを介して高速なファイル転送を行う共有ファイルシステムに好適に利用できるものである。
【図面の簡単な説明】
【００９０】
【図１】ステージング・デスステージングを説明するためのシステム構成図である。
【図２】ネットワークファイルシステム（ＮＦＳ）の構成図である。
【図３】ストレージエリアネットワーク（ＳＡＮ）の構成図である。
【図４】データ格納位置をまとめるストレージエリアネットワーク（ＳＡＮ）の構成図である。
【図５】図４の効果を示す説明図である。
【図６】本発明に係る仮想ファイルの構成図である。
【図７】本発明に係る共有ファイルシステムのシステム構成図である。
【図８】本発明に係るファイル管理表である。
【図９】通常ファイルと仮想ファイルのデータ構成を説明する説明図である。
【図１０】仮想ファイルのギャップの補正前後におけるデータ配置図である。
【図１１】ディスクアクセス変換表のファイル構成図である。
【図１２】ディスクアクセス変換表の一例である。
【図１３】ディスクアクセス情報テーブルのファイル構成図である。
【図１４】ディスクアクセス情報テーブルの一例である。
【図１５】ファイル転送のファイル転送プログラムにおけるフローチャートである。
【図１６】ファイル転送の仮想ファイル転送処理におけるフローチャートである。
【図１７】ファイル転送の仮想ファイル作成依頼機能におけるフローチャートである。
【図１８】ファイル転送の仮想ファイルアクセス要求機能におけるフローチャートである。
【図１９】ファイル転送の仮想ファイル削除依頼機能におけるフローチャートである。
【図２０】ファイル転送の仮想ファイル作成機能におけるフローチャートである。
【図２１】ファイル転送のディスク仮想アクセス変換表レコード作成処理におけるフローチャートである。
【図２２】ファイル転送のディスクアクセス変換機能におけるフローチャートである。
【図２３】ディスクアクセス情報テーブルのエントリの補正前後のデータ配置図である。
【図２４】ディスクアクセス情報テーブルのアクセス位置の補正前後のデータ配置図である。
【図２５】ディスクアクセス情報テーブルのオフセット、サイズの補正前後のデータ配置図である。
【符号の説明】
【００９１】
１００    クライアント
１０１    仮想ファイル転送プログラム
１０２    共有ファイルシステムクライアント
１０３    共有ファイルシステムクライアント機能
１０４    仮想ファイル作成依頼機能
１０５    仮想ファイル削除依頼機能
１０６    データ領域確保依頼機能
１０７    ディスクアクセス変換機能
１０８    ディスクアクセス変換表
１０９    ファイル転送用メモリ領域
１１０    ディスクドライバ機能
１１１    ＬＡＮアクセス機能
２００    サーバー
２０１    共有ファイルシステムサーバー
２０２    共有ファイルシステムサーバー機能
２０３    ディスクアクセス情報テーブル統合機能
２０４    ファイルシステム
２０５    ファイル管理機能
２０６    仮想ファイル作成機能
２０７    仮想ファイル削除機能
２０８    データ領域確保機能
２０９    ファイル管理表
２１０    ディスクドライバ機能
２１１    ＬＡＮアクセス機能
３００    ディスク装置
【図１】
0004743444.tif 000002
【図２】
0004743444.tif 000003
【図３】
0004743444.tif 000004
【図４】
0004743444.tif 000005
【図５】
0004743444.tif 000006
【図６】
0004743444.tif 000007
【図７】
0004743444.tif 000008
【図８】
0004743444.tif 000009
【図９】
0004743444.tif 000010
【図１０】
0004743444.tif 000011
【図１１】
0004743444.tif 000012
【図１２】
0004743444.tif 000013
【図１３】
0004743444.tif 000014
【図１４】
0004743444.tif 000015
【図１５】
0004743444.tif 000016
【図１６】
0004743444.tif 000017
【図１７】
0004743444.tif 000018
【図１８】
0004743444.tif 000019
【図１９】
0004743444.tif 000020
【図２０】
0004743444.tif 000021
【図２１】
0004743444.tif 000022
【図２２】
0004743444.tif 000023
【図２３】
0004743444.tif 000024
【図２４】
0004743444.tif 000025
【図２５】
0004743444.tif 000026