"ネットワーク上で第1、第2のコンピュータ間でファイルの入出力の処理を行うシステムであり、前記ファイルを送信する側の第1のコンピュータに、入力元のファイルからデータを読み出して分割して複数のピースとして前記ネットワークへ送信する処理をマルチスレッドの処理により行う第1のモジュールを備え、前記ファイルを受信する側の第2のコンピュータに、前記ネットワークから前記複数のピースを受信して統合して出力先のファイルへ書き込む処理をマルチスレッドの処理により行う第2のモジュールを備え、前記第1のモジュールは、前記分割による複数の各々のピースの送信を、割当てる複数の各々の送信スレッドにより同時並行で処理し、前記第2のモジュールは、前記分割による複数の各々のピースの受信を、割当てる複数の各々の受信スレッドにより同時並行で処理し、前記第1のモジュールは、送信するピースに、当該ファイルの送信のIDと、当該ファイルの先頭位置からの相対位置の情報とを付属させ、前記第2のモジュールは、受信したピースの相対位置と、前記出力先のファイルで先頭位置からの順でどの相対位置までピースが書き込み済みかの状態と、を確認しながら、かつ、当該受信ピースを必要に応じて前記第2のコンピュータ内の受信バッファに蓄積しながら、前記出力先のファイルへ前記複数のピースを先頭位置からの順で書き込む処理を行うこと、を特徴とするマルチスレッド型ファイル入出力システム。請求項1記載のマルチスレッド型ファイル入出力システムにおいて、前記第2のモジュールにおける各々の受信スレッドは、受信したピースの相対位置と、前記出力先のファイルで次に書き込む相対位置を示す次位置と、を確認しながら、当該受信ピースが、次位置に該当しない場合は、当該受信ピースを前記第2のコンピュータ内の受信バッファに蓄積し、次位置に該当する場合は、当該受信ピースと、前記受信バッファに蓄積されている前記相対位置の順で後続する1つ以上のピースがある場合は当該後続ピースとを一緒に一括で、前記出力先のファイルの次位置から書き込む処理を行うこと、を特徴とするマルチスレッド型ファイル入出力システム。請求項1記載のマルチスレッド型ファイル入出力システムにおいて、前記第1のモジュールは、前記入力元のファイルからデータを読み出して所定のサイズまたは数で分割して前記複数のピースとして、前記第1のコンピュータ内の送信バッファに格納する処理を行う、1つのファイル読み出しスレッドを起動し、前記第2のモジュールは、前記複数のピースを前記出力先のファイルへ先頭位置から順に連続的なデータとして書き込む処理を行う、1つのファイル書き込みスレッドを起動すること、を特徴とするマルチスレッド型ファイル入出力システム。請求項1記載のマルチスレッド型ファイル入出力システムにおいて、前記第1のモジュールは、前記複数の送信スレッドの状況をモニタし、当該送信スレッドの数を調整する、1つのモニタスレッドを起動し、前記第2のモジュールは、前記複数の受信スレッドの状況をモニタし、当該受信スレッドの数を調整する、1つのモニタスレッドを起動すること、を特徴とするマルチスレッド型ファイル入出力システム。請求項1記載のマルチスレッド型ファイル入出力システムにおいて、前記第2のモジュールは、前記第2のコンピュータ内の物理的なメモリに前記受信バッファを確保し、前記受信バッファのサイズを、設定された上限値で制限する機能を有すること、を特徴とするマルチスレッド型ファイル入出力システム。請求項1記載のマルチスレッド型ファイル入出力システムにおいて、前記第2のモジュールは、前記受信バッファに蓄積されるピースのデータ量が前記受信バッファのサイズを超えた場合、バースト状態とし、上記バーストの対処のための継続処理として、前記第1、第2のモジュールは、当該ファイル転送に関する前記出力先のファイルへ書き込み済みのピース以降のピースに関する転送処理を行う機能を有すること、を特徴とするマルチスレッド型ファイル入出力システム。請求項1記載のマルチスレッド型ファイル入出力システムにおいて、前記第1のコンピュータの第1のアプリケーションプログラムは、前記第1のモジュールに対して第1のファイルの読み出し送信処理を要求し、当該要求に対して前記第1のモジュールは当該第1のファイルの処理用の第1のインスタンスを生成し、前記第2のコンピュータの第2のアプリケーションプログラムは、前記第2のモジュールに対して前記第1のファイルの受信書き込み処理を要求し、当該要求に対して前記第2のモジュールは当該第1のファイルの処理用の第2のインスタンスを生成し、上記構成により複数のファイルの転送処理を同時並行で可能とすること、を特徴とするマルチスレッド型ファイル入出力システム。ネットワーク上で第1、第2のコンピュータ間でファイルの入出力の処理を実行させるプログラムであり、前記ファイルを送信する側の第1のコンピュータに、入力元のファイルからデータを読み出して分割して複数のピースとして前記ネットワークへ送信する処理をマルチスレッドの処理により行わせる第1のプログラムと、前記ファイルを受信する側の第2のコンピュータに、前記ネットワークから前記複数のピースを受信して統合して出力先のファイルへ書き込む処理をマルチスレッドの処理により行わせる第2のプログラムと、を有し、前記第1のプログラムは、前記分割による複数の各々のピースの送信を、割当てる複数の各々の送信スレッドにより同時並行で処理させ、前記第2のプログラムは、前記分割による複数の各々のピースの受信を、割当てる複数の各々の受信スレッドにより同時並行で処理させ、前記第1のプログラムは、送信するピースに、当該ファイルの送信のIDと、当該ファイルの先頭位置からの相対位置の情報とを付属させ、前記第2のプログラムは、受信したピースの相対位置と、前記出力先のファイルで先頭位置からの順でどの相対位置までピースが書き込み済みかの状態と、を確認しながら、かつ、当該受信ピースを必要に応じて前記第2のコンピュータ内の受信バッファに蓄積しながら、前記出力先のファイルへ前記複数のピースを先頭位置からの順で書き込む処理を行わせること、を特徴とするマルチスレッド型ファイル入出力プログラム。上述のように、先行技術例を含む背景技術では、ネットワークインターネット上のファイルの転送入出力における処理効率などの問題がある。上記を鑑み、本発明の主な目的は、ネットワークインターネット上のコンピュータ間でのファイルの転送入出力に係わり、特に対象ファイルのサイズが大きい場合にも、ファイルを複数ピースに分割して転送する処理を行う構成において、全体的な処理効率を向上することができる技術を提供することである。上記目的を達成するため、本発明のうち代表的な形態は、ネットワークインターネット上のコンピュータ間でのファイルの転送入出力の処理を行う情報処理システム及びプログラムなどであって、特に対象ファイルのサイズが大きい場合にも、ファイルを複数ピースに分割して転送する処理を行う機能を備える構成であって、以下に示す構成を有することを特徴とする。本形態のシステムマルチスレッド型ファイル入出力転送システムでは、第1のコンピュータ例えばクライアント端末-第2のコンピュータ例えばサーバ間におけるファイルデータの転送入出力を含む処理における、ファイルの入力読み出し、分割、転送送信-受信、統合、出力書き込み、といった流れにおける処理において、マルチスレッド型の仕組みを適用する。即ち、対象ファイルの転送を含む処理において、分割による複数の各々のピースのデータに関する処理をマルチスレッドで並行的に行うという機能処理部マルチスレッド型ファイル入出力モジュールを有する構成とする。これによりファイル転送の処理効率の向上などを図る。第1、第2のコンピュータは、送信入力側と受信出力側とで対応した情報処理例えばソフトウェアプログラム処理を行うファイル入出力モジュールを具備する。例えばファイルを送信する側の第1のコンピュータに、送信用の第1のモジュールファイル入力読み出し、分割、ピースデータ送信、等を行う処理部を備え、ファイルを受信する側の第2のコンピュータに、受信用の第2のモジュールピースデータ受信、統合復元、ファイル出力書き込み、等を行う処理部を備える。本形態のマルチスレッド型ファイル入出力システムは、ネットワーク上で第1、第2のコンピュータ間でファイルの入出力の処理を行うシステムであり、前記ファイルを送信する側の第1のコンピュータに、入力元のファイルからデータを読み出して分割して複数のピースとして前記ネットワークへ送信する処理をマルチスレッドの処理により行う第1のモジュールを備え、前記ファイルを受信する側の第2のコンピュータに、前記ネットワークから前記複数のピースを受信して統合して出力先のファイルへ書き込む処理をマルチスレッドの処理により行う第2のモジュールを備える。前記第1のモジュールは、前記分割による複数の各々のピースの送信を、割当てる複数の各々の送信スレッドにより同時並行で処理し、前記第2のモジュールは、前記分割による複数の各々のピースの受信を、割当てる複数の各々の受信スレッドにより同時並行で処理する。前記第1のモジュールは、送信するピースに、当該ファイルの送信のIDと、当該ファイルの先頭位置からの相対位置の情報とを付属させる。前記第2のモジュールは、受信したピースの相対位置と、前記出力先のファイルで先頭位置からの順でどの相対位置までピースが書き込み済みかの状態と、を確認しながら、かつ、当該受信ピースを必要に応じて前記第2のコンピュータ内の受信バッファに蓄積しながら、前記出力先のファイルへ前記複数のピースを先頭位置からの順で書き込む処理を行う。上記構成により、前記第1のモジュールからの複数のピースの送信の順序Aと、前記第2のモジュールの前記複数のピースの受信の順序Bとが異なる場合であっても、前記ファイルの転送を効率的に遂行する。本発明のうち代表的な形態によれば、ネットワークインターネット上のコンピュータ間でのファイルの転送入出力に係わり、特に対象ファイルのサイズが大きい場合にも、マルチスレッド処理によりファイルを複数ピースに分割して転送する処理を行う構成において、全体的な処理効率を向上することができる。以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一部には原則として同一符号を付し、その繰り返しの説明は省略する。なお説明上の記号として適宜、R:読み出し、W:書き込み、F:ファイル、d:ピース断片、T:送信スレッド、U:受信スレッド、A:出力位置ファイル先頭からの相対位置、等とする。<特徴等>本発明及び実施の形態の特徴などについて以下である。1:概要本実施の形態のシステムマルチスレッド型ファイル入出力システム等では、通信ネットワークのコンピュータ間例えばクライアント端末-サーバ間で、マルチスレッド型のファイル転送入出力の処理を行うことにより、転送処理効率の向上を実現する。本システムのマルチスレッド型ファイル入出力モジュール30図1等は、送信側コンピュータ1第1のコンピュータ、例えばクライアント端末に備える送信用モジュール第1のモジュール10と、受信側コンピュータ2第2のコンピュータ、例えばサーバに備える受信用モジュール第2のモジュール20と、を有する構成である。本モジュール30は、例えばクライアント端末側サーバ側のいずれのファイル入出力にも使用される。以下、第1のモジュール10は、Rクラス-Rインスタンスが対応し、第2のモジュール20は、Wクラス-Wインスタンスが対応する図3。なおRはReader読み出し、入力、WはWriter書き込み、出力を示す。クラスやインスタンスは情報処理分野の用語に基づく。なお、図1の構成では、クライアント端末側に送信用モジュール10、サーバ側に受信用モジュール20を有し、クライアント端末からサーバへファイルを転送する場合アップロードの例である。逆に、クライアント端末側に受信用モジュール10、サーバ側に送信用モジュール20を有し、サーバからクライアント端末へファイルを転送する場合ダウンロード、とすることができる。クライアント端末サーバの両方に両方のモジュール10,20を備える構成とすれば、ファイルの入力出力の両方が可能な構成となる。2:動作本モジュール30は、ファイル転送処理に係わるマルチスレッドの各スレッドから発生するファイル入出力要求に対して排他制御しながら対応する処理を行う。各スレッドが発行する入出力要求では、ファイル先頭からの相対位置Aを指定する。本モジュール30は、指定された相対位置Aを基準に、ファイルFのピースd群の入出力順を制御する。スレッドからの処理要求が実際のファイル処理順と異なる場合、本モジュールは、メモリバッファにピースdをスタックし、順序を整合する。例えば、500バイトのサイズのファイルFを100バイトのサイズのピースdに分割して出力する場合、出力要求は5回{[出力位置0],[出力位置100],[出力位置200],[出力位置300],[出力位置400]}出力位置A=ファイルF先頭からの相対位置発生することになる。例えば[出力位置200]のピースが[出力位置100]のピースよりも先に要求された場合、[出力位置200]のピースをメモリバッファにスタックし、[出力位置100]のピースが出力されたタイミングで[出力位置200]のピースを出力する。3:管理機能本モジュール30では、アプリケーションのプロセス内で複数のファイル入出力が同時に実行される場合を想定した管理機能図3、61,62を有する。本モジュール30を利用するアプリケーション図3、31,32は、ファイル転送処理のために生成したRクラス及びWインスタンスを、管理機能61,62に登録することにより、アプリケーションのプロセス内のファイル入出力を一元管理することができる。これにより、メモリ使用量の上限管理、不要なインスタンスの削除、などを一括して実施することができる。4:メモリ使用量の上限とバーストコンピュータ特に受信側コンピュータ2内のメモリ特にメモリ52の受信バッファ42にピースdをスタックする処理において、管理機能で管理するプロセス単位の上限制限、または、ファイル毎のメモリ上限制限に抵触した場合、所定の状態説明上バーストと称するとなる。当該バースト状態処理一時中断の以降、当該ファイルに対する転送ピース受信等は、すべてエラーとなる。本システムは、このバースト状態に対処可能な機能としてファイル転送の再処理継続処理の機能も有する。バースト状態となった場合、本システム受信用モジュール20は、所定のメソッド上記機能を呼び出すことにより当該ファイル転送処理を継続することができる。5:管理機能のファイル出力動作管理機能の1つとして、受信側におけるファイル出力処理では、出力先ファイル図1の5へ直接ピースdデータを書き込み処理するのではなく、間にテンポラリフォルダ一時ファイルを設け、テンポラリフォルダにGUID一意な識別情報をファイル名として出力し、すべての出力が終了した時点で出力先図1の5に移動させる方式公知技術を採用してもよい。管理機能により実行するファイル出力処理は長時間化する可能性も考えられるため、出力途中のファイル図1の5を他のアプリケーションから参照されることを避けるための対応として、上記方式は有効である。上記ファイルの移動は、同一ドライブ内であれば高速インデックス付け替えのみであるため、上記テンポラリフォルダと出力先ファイル図1の5は同一ドライブに設定すると好ましい。<実施の形態>以下、図1~図7を用いて、本実施の形態のシステムマルチスレッド型ファイル入出力モジュールを含んで成る情報処理システムマルチスレッド型ファイル入出力システムについて説明する。図1,図2は、本実施の形態の概要等をわかりやすく示している。図3,図4は、機能構成や実装構成、各要素の関係などを示している。図5,図6は、主要処理を示している。図7は、応用的な機能や処理の例などを示している。[概要1]図1を用いて、本実施の形態の概要その1複数のピースdの順序を考えない所までについて説明する。本システム全体は、送信側コンピュータ1と、受信側コンピュータ2とが、ネットワークインターネット3を介して接続される構成である。送信側コンピュータ1は例えばユーザのクライアント端末であり、受信側コンピュータ2は例えばサーバサーバ装置である。送信側コンピュータ1は、転送入出力対象のファイルF4の送信入力側であり、受信側コンピュータ2は、当該ファイルF5の受信出力側である。そして本システムは、送信側コンピュータ1と受信側コンピュータ2とで対応した情報処理ソフトウェアプログラム処理による実現を行うマルチスレッド型ファイル入出力モジュール30{送信用モジュール10,受信用モジュール20}を具備する。送信側コンピュータ1に送信用モジュール10を備え、受信側コンピュータ2に受信用モジュール20を備える。送信用モジュール10は、入力元のファイル5のデータの入力読み出し、分割、ピースdの送信、等の処理をマルチスレッドで行う処理部である。受信用モジュール20は、ピースdの受信、統合、出力先のファイル5へのデータの出力書き込み、等の処理をマルチスレッドで行う処理部である。第1のモジュール10、第2のモジュール20の各々の処理は独立しているが、第1のモジュール10-第2のモジュール20間で対応連携した処理が自動的に実現される仕組みである。図1では省略しているが各コンピュータ1,2で稼働するアプリケーション等図3が本モジュール3010,20を使用して所定のファイルF転送の処理を行う。図1のようにクライアント端末1側に送信用モジュール10、サーバ2側に受信用モジュール20を有する場合は、クライアントからサーバへのファイルFの転送アップロードを行うことができ、逆に、クライアント端末側に受信用モジュール20、サーバ側に送信用モジュール10を有する構成とすれば、サーバからクライアントへのファイルFの転送ダウンロードを行うことができる。また、クライアントとサーバのそれぞれに両方のモジュール10,20を有する構成とすれば、両方向の転送を行うことができる。いずれも基本的な仕組みは同じであるため以下では図1のような構成の場合で説明する。ファイルF入力ファイル4は入力元を示し、ファイルF出力ファイル5は出力先を示す。入力ファイル4の全データを出力ファイル5へ転送して書き込みを完了することが、本モジュール30を用いた本処理の目的である。なお入力ファイル4及び出力ファイル5は、例えば、指定のパスアドレスによる指定のドライブのデータファイルである。送信側コンピュータ1送信用モジュール10における処理により、送信側のファイル4は、複数のピースd例:d1~dmに分割される送信バッファ41に格納される。ファイルF全体のサイズをsF、分割のサイズピースサイズをsdとする。mは、ファイルFの分割数ピース数とする。また、出力位置AファイルF先頭からの相対位置に間して、各ピースd1~dmの出力位置AをA1~Amとする。例えばsF=500、sd=100の場合m=5、各ピースd1~d5の出力位置Aは{A1=0,A2=100,A3=200,A4=300,A5=400}である。送信用モジュール10は、ファイルFピースd1~dmの転送送信のために複数のスレッド送信スレッドTを起動、割当する。例えば送信スレッドT1~Ttとする。tは送信スレッド数とする。mとtは独立であり状況に応じて可変の値であるが後述、図1の例では簡単にm=tであるピースdと送信スレッドTとが1対1の関係。送信側から各送信スレッドTにより各ピースdがネットワーク3を介して受信側へ転送送信される。各送信スレッドTが発行する入出力要求では、当該ピースdに関してファイルF先頭からの相対位置Aなどを指定する。本モジュール3010,20は、指定された相対位置Aを基準に、複数のピースdの入出力順を制御する。ネットワーク3上を転送される各ピースdのデータ6には、情報として、対象ファイルF毎の送信IDfとする、出力位置A、等の情報を付属させる例えばヘッダで記述。送信IDfは、対象ファイルF4の送信転送処理ごとに付けられるID一意な識別情報である。送信IDが同じものは同じファイル転送処理であると認識される。出力位置Aは、ファイルFの先頭からの相対位置を示す情報である。また、ファイルサイズsFや、ピースサイズsd等の各種の情報を付属させてもよい。なお、送信側1,10、ネットワーク3、受信側2,20の状況などに応じて、上記ファイル転送処理における複数のピースdの順序入出力順は変動し得る図2。一方、受信側コンピュータ2の受信用モジュール20では、ファイルFピースd1~dmの転送受信のために複数のスレッド受信スレッドUを起動、割当する。例えば受信スレッドU1~Uuとする。uは受信スレッド数とする。uは、m,tと同様に独立、可変の値であるが、図1の例では簡単にt=uである。送信スレッドTと受信スレッドUとの対応関係は動的割当で決まるため1対1関係ではないそれぞれ独立したマルチスレッド。受信用モジュール20は、ネットワーク3を介した各ピースdデータの受信に応じて受信スレッドUによる処理を行う。受信用モジュール20は、相対位置Aを基準に、複数のピースdの出力順を制御する。受信用モジュール20の処理により、受信される複数の各ピースd1~dmのデータは、当該ピースdの出力位置A等の情報に基づいて、必要に応じて、受信バッファ42に蓄積スタックされ、そして複数のピースdの順序が整合され、出力ファイル5として統合、書き込みされる。[概要2]図2を用いて、図1に続き、本実施の形態の概要その2複数のピースdの順序を考え、ファイル転送処理を完了する所までについて説明する。図2の例では、送信IDf=f1,ファイルサイズsF=500のファイルF4の送信処理に関して、m=5,sd=100による複数のピースd1~d5を、t=5の送信スレッドTT1~T5により送信処理する場合とする。送信側コンピュータ1からの送信時点のピースdの送信順序順序Aが例えば{d1,d2,d3,d4,d5}とする出力位置Aが小さい順である。ネットワーク3の状況などにより、複数のピースdの転送の順序が変動し、受信側コンピュータ2での受信時点の順序順序Bが、例として{d1,d4,d3,d2,d5}とする。受信用モジュール20において、複数の各々の受信スレッドU例えばu=5のU1~U5は、自身が受信したピースdデータについて、その情報{f,A等}を参照し、ファイルF処理順例えば順序Aに対して異なる場合、目的のファイルF5例えばディスク領域に出力書き込みせずに、受信バッファ42に一旦スタックする。そして、上記スタックを利用して、複数のピースdの順序を整合させる。特に出力位置Aの情報をみることで、順序を整合させることができる。また、受信用モジュール20は、出力ファイルF5に対して、先頭からどの相対位置Aピースdまで書き込み済みであるか、ないしは次に書き込むべき相対位置Aピースd、等を情報として管理する。これを次位置Xとする。最初の次位置X1はA=0である。送信用モジュール10-受信用モジュール20間で、以下、s1~s5のような順の処理となる。なお各ピースd内の括弧の値は、出力位置Aの値を示す。s1まず、第1の受信スレッドU1では、第1のピースd1A1=0を受信したとする。d1については、元の順序Aに従っており最初にファイル5に出力書き込みすべきピースであるため、受信バッファ42にスタックせずに、直接、ファイル5の領域に出力書き込みする。この時点で、次位置X2は、A2=100のピースd2になる。s2次に、第4の受信スレッドU4では、第4のピースd4A4=300を受信したとする。この場合、当該ピースd4は、次位置X2=A2ではないため、当該ピースd4を受信バッファ42にスタックする。s3次に、第3の受信スレッドU3では、第3のピースd3A3=200を受信したとする。この場合、当該ピースd3は、次位置X2=A2ではないため、当該ピースd4を受信バッファ42にスタックする。受信バッファ42には、d4,d3がスタックされた状態となる。s4次に、第2の受信スレッドU2では、第2のピースd2A2=100を受信したとする。この場合、当該ピースd2は、次位置X2=A2に該当するピースであるため、受信バッファ42にスタックせずに、直接、ファイル5の領域に出力書き込みする。この際、受信バッファ42にスタックされているピースdd4,d3において、受信ピースdd2に位置Aが後続するピースdd3,d4が有る場合は、受信ピースdd2とこれら後続ピースdd3,d4とを一緒に、一括で、ファイル5の領域に出力書き込みする。即ち、s1で書き込み済みのd1の後の位置X2=A2から{d2,d3,d4}のデータをまとめて書き込む。これにより、d1~d4までファイル5に書き込み済みの状態となり、次位置X3はA5となる。s5その後、第5の受信スレッドU5では、第5のピースd5を受信したとする。この場合、当該ピースd5は、次位置X3=A5に該当するピースであるため、受信バッファ42にスタックせずに、直接、ファイル5の領域に出力書き込みする。これにより、d1~d5までのすべてのピースが目的のファイルF5に書き込まれた状態となる。上記のように、受信側20では、出力書き込み済みのピースdに後続する位置Aのピースdが来ると、そのタイミングで、受信バッファ42のスタック済みデータも含めてまとめてピースdデータが出力書き込みされる。このような仕組みにより、複数のピースdの順序が変動していても、効率的に整合させることができる。よって、目的のファイルFに対する出力書き込み処理の効率が良くなる。[基本構成]図3は、本システムの基本的な機能構成を示している。図4は、対応するハードウェアソフトウェア構成例を示している。送信側コンピュータ1は、アプリケーション31、記憶装置71に格納されている転送対象となる入力ファイルF4、送信用モジュール10管理機能61を含む、送信バッファ41が確保されるメモリ51、等を有する。受信側コンピュータ2は、アプリケーション32、記憶装置71に格納される転送対象となる出力ファイルF5、受信用モジュール20、受信バッファ42が確保されるメモリ52、等を有する。アプリケーション31は、本モジュール10を用いたファイル転送処理を要求するプログラムプロセスであり、対象ファイルFの転送処理ごとに、送信用モジュール10のRクラスを用いてRインスタンスを形成する。アプリケーション31は、ファイルFの転送の際には送信用モジュール10を呼び出して処理要求して制御を渡す。受信側20のアプリケーション32も同様である。本モジュール30は、マルチスレッド型のファイル入出力転送に係わるクラスインスタンスを生成するためのクラスとして、送信用モジュール10における送信用クラスRクラスと、受信用モジュール20における受信用クラスWクラスと、を有する。それぞれ、ファイル転送処理単位ごとに、実処理用のインスタンスRインスタンス、Wインスタンスを生成する。送信用モジュール10は、プログラム処理により実現され、アプリケーション31からのファイルFの転送ないし読み出し入力、送信等の要求に応じて、Rクラスから当該ファイル処理単位のRインスタンスを生成割当てして稼働させる。送信用モジュール10は、生成したRインスタンスの情報を管理機能61登録部12に登録する。Rインスタンスは、マルチスレッド{T0,TM,T1~Tt}を制御する。受信用モジュール20は、プログラム処理により実現され、アプリケーション32からのファイルFの転送ないし受信、書き込み出力等の要求に応じて、Wクラスから当該ファイル処理単位のWインスタンスを生成割当てして稼働させる。受信用モジュール20は、生成したWインスタンスの情報を管理機能62登録部22に登録する。Wインスタンスは、マルチスレッド{U0,UM,U1~Uu}を制御する。送信用モジュール10は、送信側コンピュータ1の物理的なメモリ51内に、上記ファイル転送処理用の送信バッファ41を確保する。メモリ51内に確保される送信バッファ41のサイズ容量は、設定される上限値xによる大きさである。受信用モジュール20は、受信側コンピュータ2の物理的なメモリ52内に、上記ファイル転送処理用の受信バッファ42を確保する。メモリ52内に確保される受信バッファ42のサイズ容量は、設定される上限値yによる大きさである。図4において、第1、第2のコンピュータ1,2ともに、図示しないがOS上でマルチスレッドが稼働可能な構成である。送信側コンピュータ1クライアント端末は、プロセッサ401、メモリ402、記憶装置403、通信IF装置404、入力装置405、出力装置406などを備える。プロセッサ401は、ディスク等の記憶装置403からアプリケーションプログラム412のコードをメモリ40251に読み出して実行することにより、アプリケーション31のプロセスを実現する。また、プロセッサ401は、記憶装置403から制御プログラム411のコードをメモリ40251に読み出して実行することにより、送信用モジュール10のRインスタンスを含むマルチスレッド処理を実現する。また記憶装置403に格納されている対象入力ファイル4のデータがメモリ40251の送信バッファ41に読み出されて処理されるT0。受信側コンピュータ2サーバは、プロセッサ501、メモリ502、記憶装置503、通信IF装置504、入力装置505、出力装置506などを備える。プロセッサ501は、ディスク等の記憶装置503からアプリケーションプログラム512のコードをメモリ50252に読み出して実行することにより、アプリケーション32のプロセスを実現する。また、プロセッサ501は、記憶装置503から制御プログラム511のコードをメモリ50252に読み出して実行することにより、受信用モジュール20のWインスタンスを含むマルチスレッド処理を実現する。またメモリ50252の受信バッファ42に格納されたデータは、記憶装置503に格納される対象出力ファイル5へ書き込み処理されるU0。送信用モジュール10各送信スレッドTは、通信IF装置404を用いてピースdデータ6をネットワーク3送信処理する。受信用モジュール20各受信スレッドUは、通信IF装置504を用いてピースdデータ6をネットワーク3受信処理する。[管理機能]図3で、管理機能61は、送信用モジュール10の一部として有する。管理機能62は、受信用モジュール20の一部として有する。なお管理機能61,62は、別のモジュールとして構成されてもよい。例えば、モジュール10,20の上位に管理制御用の第3のモジュールなどを追加して備えてもよい例えば複数のファイル転送処理の管理制御用など。送信側10の管理機能61として、設定部11、登録部12、上限管理部13、バースト対処部14、等を有する。受信側20の管理機能62として、設定部21、登録部22、上限管理部23、バースト対処部24、等を有する。その他、管理機能61,62は、バッファ41,42の不要なデータのクリアや、不要インスタンスの一括削除などの処理機能を有する。また、ネットワーク通信における公知技術であるリトライ再送などの処理機能を有する。設定部11,21は、それぞれ、前述の各種可変の設定値例えば送信側10のm,sd,x,t0等の設定処理を行う。登録部12,22は、それぞれ、アプリケーション31,32からの要求に応じてクラスからインスタンスを生成起動割当した場合の情報を登録管理する。上限管理部13,23は、それぞれ、ファイル転送処理に係わるメモリ51,52の使用量の上限を管理する。即ちメモリ51,52に確保されるバッファ41,42のサイズの上限値x,yを管理する。上限値x,yは設定部11.21から設定可能とする。バースト対処部14,24は、それぞれ、受信側20でバーストが発生した場合の対処処理を行う。対処処理として、継続処理などの機能を含む後述。送信側10では、送信バッファ41がピースdデータの格納により上限値xに達した場合、当該ファイル転送処理を一時停止する。受信側20では、受信バッファ42がピースdデータの格納により上限値yを超えた場合、バースト状態として、バースト対処処理を起動する24を用いる。[処理シーケンス]図5,図6において、本システムの主要処理を説明する。送信側1,10の処理図5と、受信側2,20の処理図6とは、独立した処理であり、対応した所定の内容の処理アルゴリズムを有している。複数の各々のスレッドの処理では、自スレッドの処理を所定の処理アルゴリズムに従って実行すればよい送信側と受信側とで同期的な制御情報通信などは不要である。これにより全体的自動的にファイル転送処理が遂行される仕組みである。なお例えばS102とS202では、送信側10-受信側20間でピースデータ6の転送等が行われる。またS104とS207では、送信側10-受信側20間でピースデータ6の転送等が行われる。S101図5において、送信側コンピュータ1のアプリケーション31そのプロセスは、対象の入力ファイル4の転送処理を送信用モジュール10に要求する。S102送信用モジュール10は、要求に対して、当該ファイル4処理用のRインスタンスを生成登録し、割当てるマルチスレッド{T0,TM,T1~Tt}による処理以下を開始する。また当該ファイル転送処理を識別する送信IDfも設定する。送信用モジュール10はマルチスレッド{T0,TM,T1~Tt}を排他制御する。なおS102の時点で受信側20では特に何も処理を開始する必要は無い。ファイル読み出しスレッドT0により、入力ファイル4からデータ分割ピースサイズsdごとのデータを順次に読み出し、複数のピースdd1~dmとして、送信バッファ41へ格納登録する。送信ピースdd1~dm毎に送信スレッドTT1~Ttを割当てる。割当てる送信スレッドTの初期数はt0である。各送信スレッドTは、送信バッファ41から1ピースdデータを取り出し、必要な情報{f,A,...}を付属させてピースdデータ6を形成し、ネットワーク3へ送信処理する。送信スレッドTによるピースdデータ6送信処理では、ピースd自体に加えて付属する情報として、送信IDf,出力位置Aを含む。送信スレッドTは、1ピースdの送信が終わると他ピースdがある場合はその送信にとりかかることができるm>tの場合。S103送信用モジュール10は、モニタスレッドTMにより複数の送信スレッドT1~Ttの状況をモニタしながら、適宜、送信スレッド数tを調整する。S104送信側10は、すべての送信スレッドTで対象ファイルF4のすべてのピースdd1~dmを読み出し送信し、ファイルFの転送を終了する。全ピースdの送信が終了すると、送信側10は終了通知を受信側20へ送信する。この終了通知では、当該ファイルFに対応する送信IDf情報と、当該ファイルFのファイル名などの情報と、が指定され、付属する。また送信側10は、受信側20から完了通知を受け取ると、本ファイル転送処理を完了する。また送信側10は、受信側20からリトライ要求を受けた場合は、要求指定されたピースdデータを対応する送信スレッドTにより受信側20へ再送する。また送信側10は、受信側20からバースト対処継続処理の要求を受けた場合は、バースト対処部14を用いて、要求指定されたピースdデータ群を対応する送信スレッドT群により受信側20へ送信する。S201図6において、受信側コンピュータ2のアプリケーション32は、対象の出力ファイルF5の転送処理を受信用モジュール20に要求する。S202受信用モジュール20は、要求に対して、当該ファイル5処理用のWインスタンスを生成登録し、割当てるマルチスレッド{U0,UM,U1~Uu}による処理以下を開始する。受信用モジュール20はマルチスレッド{U0,UM,U1~Ut}を排他制御する。受信側20は、送信側10からのピースdを受信すると、受信ピースd毎に受信スレッドUU1~Uuを割当てる。各受信スレッドUU1~Unによりネットワーク3から各ピースdd1~dmのデータ6情報{f,A,...}が付属を受信処理する。ファイル書き込みスレッドU0により、複数のピースdデータを統合して出力ファイル5へ書き込む処理を行う。U0を用いて、ファイル5の次位置Xから順に連続的にピースdデータを書き込むように制御する。詳しくはS203以下のようになる。S203受信用モジュール20では、送信側10と同様にモニタスレッドUMにより受信スレッドU1~Uuの状況をモニタし、適宜、受信スレッド数uを調整する。各受信スレッドUは、受信ピースdの付属情報{f,A,...}を参照し、対応ファイルFや、当該ピースdの出力位置Aやサイズsdなどを確認する。同じ送信IDfのものは同じファイル転送処理として取り扱う。ここで、受信用モジュール20で、各受信スレッドUは、目的出力先のファイル5に先頭位置から順に連続的にピースdデータを書き込むための、次位置Xの情報を管理確認しながら、以下の分岐に応じた処理を行う。S204各受信スレッドUは、受信ピースdの出力位置Aが次位置Xに該当するか否かを判断する。次位置Xに該当する場合YはS205の処理を行い、該当しない場合NはS206の処理を行う。S205受信スレッドUは、受信ピースdと、当該ピースdに位置Aが後続する一連のピースd1つ以上が受信バッファ42にスタックされている場合は当該一連のピースd1つ以上とを、一括で、直接、出力ファイル5の次位置Xから書き込むようにする。受信バッファ42にスタックされている該当ピースdが無い場合は単に受信ピースdを直接ファイル5に書き込むだけである。上記ファイル5への書き込み処理は、ファイル書き込みスレッドU0により行われる。次位置Xの例は図2に示している。S206受信スレッドUは、受信ピースdを受信バッファ42にスタック蓄積する。この時点では次位置Xからのピースdがまだ受信側20に無いため、当該受信ピースdをファイル5に書き込まずに受信バッファ42にスタックする。S207受信用モジュール20は、すべての受信スレッドUU1~Uuで対象ファイルFのすべてのピースdを受信し、T0により出力ファイルF5への書き込みが終了し、送信側10からの終了通知を受信すると、最後に完了通知を受信側10へ送信する。完了通知には、送信IDfなどの情報を付属させる。受信側20は、当該ファイル出力処理を終了し、当該ファイルF5のファイル名を変更する。即ち送信側10から終了通知で指定されたファイル名へ変更して確定する。[各種スレッド、スレッド数]上述のように、送信側10、受信側20において、それぞれ、マルチスレッド構成として、いくつかの種類のスレッドを有する。以下、送信側10のマルチスレッド構成を説明するが、受信側20においても基本的に同様の考え方である。送信側10において、個別のファイルF転送処理送信IDf単位ごとのマルチスレッド処理として、1つのファイル読み出しスレッドT0と、1つのモニタスレッドTMと、複数tの送信スレッドTと、が起動される。ファイル読み出しスレッドT0は、起動により、入力ファイルF4のデータを複数のピースdd1~dmとして送信バッファ41へ読み込む処理を行う。なお、T0を単数とする理由は、一般に1つのスレッドのファイルオープン処理に時間がかかるためである。仮に複数のスレッドでファイルのデータを読み込むためには、これらスレッド数分ファイルオープン処理が必要になるため時間がかかる。1つのファイル読み出しスレッドT0でファイルデータ読み出し処理1回のオープンを行い、かつ複数の送信スレッドTにより各ピースの送信処理を行うことも、本構成の1つの特徴である。受信側20では、ファイル5を書き込むコンポーネントファイル書き込みスレッドU0が複数の受信スレッドUから独立して存在し、当該コンポーネントU0がファイル出力書き込み処理を行う。これにより出力ファイル5は1つのコンポーネントU0から実施されるため、ファイルオープンは1回となる。送信スレッドTT1~Ttにより、それぞれ送信バッファ41からピースdd1~dmのデータを読み出して情報{f,A,...}を付属させてネットワーク3への送信処理を行う。モニタスレッドTMは、送信スレッドTと共に起動され、送信スレッドTの状況をモニタする。モニタスレッドTMの制御により、送信状況に応じて、送信スレッドTの数tを動的に変動させる。この送信スレッド数tは、環境設定や、モニタスレッドTMによる調整などに応じて決定される。例えば、最初ファイル転送処理開始時は送信スレッド数tを一定数t0にする。そして、モニタスレッドTMにより、ネットワーク通信転送の状況などをみながら、必要に応じて数tが調整増減される。例えば処理性能不足と判断した場合は1つ以上の送信スレッドTを追加し、処理性能過剰と判断した場合は1つ以上の送信スレッドTを休眠し、あるいは、処理性能不足と判断した場合は1つ以上の休眠中の送信スレッドTを起動し、といった制御をする。送信スレッド数tなどを適切に調整することにより、処理効率の向上などを図る。分割のピースdの数mないし分割ピースサイズsd等と、送信スレッド数tとは、独立可変の値である。例えばm>tの場合、まず送信スレッドT1~Ttによりt個分のピースdを送信処理し、そのうちある送信スレッドTによるあるピースdの送信が終われば、次に残りのm-t分のうちのあるピースdの送信処理にとりかかることができる多重処理。本システムでは、ファイル転送処理の効率については、概ね、送信スレッドTの数tにより決定調整することができる。実際の転送では、ネットワーク3環境とその状態などに依存し、同じネットワーク3であってもその状態により大きく通信効率が異なる。また、例えばスレッドの多重度を上げすぎると、逆にネットワーク3内の通信量を増やし、通信効率が落ちてしまう。また、当該ファイル転送が、あまりにもネットワークリソースを消費すると、他の処理に影響してしまう。上記を考慮して、以下のように制御してもよい。本システムの管理設定情報として、送信側10において、目標転送量r、ピースサイズsd、初期送信スレッド数t0、などを設定する可変設定可能。目標転送量rは、例えば1秒間に何バイト転送したいかを規定する情報である。転送開始時の送信スレッド数tは、上記初期送信スレッド数t0にする。その後、前述のモニタスレッドTMにより現在の転送量などを確認しながら、例えば現在の転送量が目標転送量rを超えている場合は、送信スレッド数tを少なくするために、例えば1つ以上の送信スレッドTを休眠させる。また目標転送量rに至っていない場合は、送信スレッド数tを増やすために、例えば、休眠状態の送信スレッドがある場合は当該休眠スレッドを起動し、あるいは、新規に1つ以上の送信スレッドTを追加する。また、送信スレッドTを増やしたにも関わらず、逆に転送量が下がった場合には、当該送信スレッドTを休眠させる。それでも転送量が下がる場合には、更に送信スレッドTを休眠させる。また、一定回数以上送信スレッド数tを下げても転送量が上昇しない場合は、送信スレッド数tを増やしてみる。モニタスレッドTMによりこのような調整を常時繰り返すことにより、転送効率の最適化を図る。なお、送信用モジュール10における、ファイル読み出しスレッドT0、及びモニタスレッドTMについては、送信スレッドTとは独立させた別の機能モジュールとして構成してもよい。受信用モジュール20U0,UMについても同様である。[複数ファイル転送処理]また本モジュール3010,20は、応用的な形として、アプリケーション31,32のプロセス内で複数のファイルFの入出力転送を同時並行的に実行する場合にも対応可能な実装管理機能61,62を有する。図7中に例を示している。第1のファイルF1の入出力処理1701送信ID:f1と、第2のファイルF2の入出力処理2702送信ID:f2と、を同時並行的に実行する場合である。ファイル転送処理単位送信IDごとに、それぞれ、対応するインスタンスやバッファ41,42が割当される。これらの情報は例えば登録部12,22を用いて管理される。複数のファイル転送処理に係わるR,Wインスタンスの情報を一元管理することにより、アプリケーション31,32のプロセス内の複数のファイル入出力処理の全体を把握して適切に制御する。[バッファ上限管理]管理機能61,62の上限管理部13,23を用いて、各バッファ41,42のサイズを上限値x,yにより制限する仕組みを有する。この制限により、メモリ51,52リソース消費の抑制などを実現する。上限値x,yの設定は、例えば、アプリケーション31,32のプロセス単位の設定値や、あるいは、ファイルF毎の設定値、などが可能である。また例えば、対象ファイルFのサイズが通常よりも大きい場合などには、上限値が大きくなるように設定を変更することにより、柔軟に対応が可能である。[バースト対処]受信バッファ42にスタック蓄積されるピースdデータ量が上限値yを超えてしまう場合状態を本明細書ではバーストと称する。このバースト状態になった時は、以降、基本的には、当該ファイル転送処理に関するピースdの処理に関してすべてエラー処理一時中断などにする。そして、バースト対処部14,24を用いて対処処理を起動する。ネットワーク3の状況などに応じてバーストが発生し得る。例えば、送信側10が受信側20へのピースdデータの到達を認識していない場合などに発生しやすい。図2の例で言えば、例えば第2のピースd2が受信側20へ到達しないまま、第3のピース以降が送信されてしまう場合、それらのピース群が受信バッファ42にスタックされるので、当該ピースデータ量によって上限値yを超えてしまう可能性がある。管理機能61,62は、ファイル転送のバースト時に関するバースト対処部継続処理部14,24を有する。ある送信IDのファイル転送処理でバーストになった時は、本処理を呼び出して実行することにより、当該ファイル転送処理に関するバーストによるエラー処理一時中断状態からの継続処理再処理を行うことができる。継続処理とは、新規ファイル送信転送処理ではなく、受信側20のバーストなどによって不完全なまま中断した処理を継続再開する処理を指している。本実施の形態のバースト対処処理における継続処理として以下がある。第1の継続処理例として、受信側20でバーストが発生した場合、出力ファイル5へ未出力未書き込み分のピースdの転送処理を、送信側10-受信側20間で行う。図7中に例示しており、s15のピースdの分の処理に相当する。またバースト分に対応した不要なインスタンスを削除する。受信用モジュール2024は、バースト時、当該時点までに出力ファイル5へ正常に出力書き込み済みの分のピースdデータを一旦ファイルとして確定させる。受信バッファ42にスタックされている分のピースd、未到達分のピースd、及びバースト上限値y超え分のピースdデータについては無視ないし削除する。受信側20は、バースト対処部24により、継続処理の要求指示を送信側10へ通知する。これに対し、送信側10のバースト対処部14は、要求に従い、バースト対処のための継続処理を実行する。送信側10は、継続処理として、受信側20で不足分上記確定分以外、即ち、次位置X以降の分のピースdデータの送信処理を、前述の初期開始時のマルチスレッド処理と同様に行う。前述の初期開始時のマルチスレッド送信処理と同様に行う。なおこの継続処理では、通常時のピースd単位の転送のリトライ処理再送処理を用いてもよい。具体的に、図7の例では、ファイル入出力処理2702に関して、バースト発生時、s11は、出力ファイル5次位置Xまでに直接的に書き込み済み分のピースd1~di及びその処理を示す。s12は、ネットワーク3上の障害等により受信側20へ未到達のピースdx及びその処理を示す。s13は、受信バッファ42の上限値y以内で正常にスタックされたピースdj~dk及びその処理を示す。s14は、受信バッファ42の上限値yを超えたバースト分のピースdl~dm及びその処理を示す。s15は、対処処理継続処理の第1の例を示す。s13のピースdj~dkを無視した場合であり、s12のピースdx以降、dmまでを転送処理すればよい。送信側10の継続処理の例については以下である。送信側10は、バーストにより中断した処理と同じ送信IDfを使い、対象ファイルFの存在確認を受信側20に対して実行する。受信側20は、送信側10からの存在確認の対象の送信IDfのファイルFが存在している場合は、そのうちどこまでピースdデータを書き込み確定済みであるかを示す位置やサイズ等の情報を送信側10へ応答する。例えば次位置Xの情報を応答する。これに対し、送信側10は、受信側20で書き込み済みのサイズ分のピースdの処理をスキップし、当該次位置XからのファイルFのピースdの読み出し送信処理を、前述同様に開始する。第2の継続処理の例として、バースト時点で受信バッファ42内に正常に受領スタックしているピースdデータを一旦ファイルとして出力確定させて、受信バッファ42領域を空けるようにしてもよい。即ち、そのまま受信バッファ42に保持、もしくはファイル5とは別として保存し、当該時点の受信バッファ42の状態をクリアする。受信用モジュール2024は、バースト上限値y超え分のピースdデータは無視ないし削除する。具体的に、図7の例では、s16は、対処処理継続処理の第2の例を示す。s13の受信バッファ42の上限値y以内で正常にスタックされたピースdj~dkについてはそのまま保持、もしくはs11とは別のファイルとして保存しておく。そして、s14のピースdl~dmと、s12のピースdxとを転送処理すればよい。[リトライ、再送]受信側20,受信スレッドUが、ピースdデータの到達/未到達の状態を認識することにより、送信側10,送信スレッドTに対して、必要なピースdの送信のリトライを要求指示することができる。この場合、送信側10は受信側20からのリトライ要求に応じたピースdデータを再送する。これにより、バースト時にも、受信側20で不足分のピースdデータ例えば図7の例の次位置X以降のピースdを転送することができる。送信側10は、ピースdデータ送信で通信エラー等が発生しそれにより受信側20からリトライ要求を受けた場合、当該ピースdデータを再送する。受信側20は、送信側10から再送されたピースdデータを受信した場合は、当該時点で既に取得済みであった対応するピースdの方を無視し、当該再送で新たに取得したピースdの方を用いる。また、受信側20は、送信側10から終了通知を受けたとき、受信側20で当該ファイル5への全ピースdの出力が終了していない場合は、送信側10から未到達のピースdがあると判断できる。これにより、受信側20及び送信側10は、バースト時と同様に、未到達分のピースdデータの再送などによる処理を行う。[不要インスタンス削除、受信バッファクリア]また上述した処理と併せて、管理機能61,62を用いて、以下のような処理を行うことができる。まず不要インスタンス削除処理として、バースト分のピースdに関係付けられていた受信スレッドU対応Wインスタンスについては、不要インスタンスとして削除する。送信側コンピュータ1やネットワーク3に例えば障害が発生した場合、受信側20には、中断されたファイル転送に関連する処理バッファデータ受信バッファ42及びスタック状態のピースdデータと出力処理途中のファイルF5が残ることになる。不要インスタンス削除処理では、一定時間経過後にも残っている上記データ情報を削除する処理を行う。またバッファクリア処理として、バースト対処における受信バッファ42のクリアの際、受信バッファ42にスタック済みの当該ファイル転送に係わる全ピースデータを削除する第1の継続処理の例。<効果等>以上説明したように、本実施の形態によれば、ネットワーク3インターネット上のコンピュータ1,2間でのファイルFの転送入出力に係わり、特に対象ファイルFのサイズが大きい場合にも、マルチスレッド処理によりファイルFを複数ピースdに分割して転送する処理を行う構成において、全体的な処理効率を向上することができる。以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることは言うまでもない。"