(57)【要約】【課題】狭伝送帯域の回線やサーバリソースの不足の場合でも、優先度を設定したファイルにおいては、優先的にリソースを使用できるようにし、転送を行うことができるようにする。【解決手段】  ファイルＩＤ登録の際に優先度を割り振っておき、ファイル転送クライアント１４０がファイル転送サーバ１０とファイル転送を行う際に、ファイルＩＤに割り振られた優先度を判定し、ファイルのデータを送信している際に、優先度の低いファイルＩＤの転送についてはデータ転送毎に指定時間だけ処理を一旦停止する。これにより、優先度の低いファイルＩＤの転送で使用する回線の使用帯域が減る。その間に、優先度が高いファイルＩＤの転送を行うことで、優先的にファイル転送を行う。【選択図】  図１
2010117845.tif 000002
【特許請求の範囲】
【請求項１】
ファイル転送サーバとファイル転送クライアントとの間でネットワークを介してファイル転送を行うファイル転送システムにおけるファイル転送方法において、
前記ファイル転送システムは、ファイル転送の行われるファイルに対して設定されたファイルＩＤ及び優先度を記憶装置に格納し、
前記ファイル転送システムは、ファイル転送を行う際に、転送要求されているファイルのファイルＩＤに対応する優先度を前記記憶装置から読み出し、その読み出した優先度に応じた転送間隔時間が経過するまで当該ファイル転送を待機させる処理を行い、
前記ファイル転送システムは、前記転送間隔時間の経過後、前記転送要求されているファイルのファイル転送をファイル転送サーバとファイル転送クライアントとの間で行うことを特徴とするファイル転送方法。
【請求項２】
前記ファイル転送システムは、前記ファイル転送クライアントからファイル転送サーバへのファイル転送を行う際に、そのファイル転送を前記転送間隔時間が経過するまでファイル転送クライアントで待機させることを特徴とする請求項１に記載されたファイル転送方法。
【請求項３】
前記ファイル転送システムは、前記ファイル転送サーバからファイル転送クライアントへのファイル転送を行う際に、そのファイル転送を前記転送間隔時間が経過するまでファイル転送サーバで待機させることを特徴とする請求項１に記載されたファイル転送方法。
【請求項４】
ファイル転送サーバとファイル転送クライアントとの間でネットワークを介してファイル転送を行うファイル転送システムにおいて、
ファイル転送の行われるファイルに対して設定されたファイルＩＤ及び優先度を記憶装置に格納するファイルＩＤ登録部と、
ファイル転送を行う際に、転送要求されているファイルのファイルＩＤに対応する優先度を前記記憶装置から読み出し、その読み出した優先度に応じた転送間隔時間が経過するまで当該ファイル転送を待機させる優先転送制御部と、
前記転送間隔時間の経過後、前記転送要求されているファイルのファイル転送をファイル転送サーバとファイル転送クライアントとの間で行うファイル転送部とを備えることを特徴とするファイル転送システム。
【請求項５】
ファイル転送サーバとファイル転送クライアントとの間でネットワークを介してファイル転送を行うファイル転送システムにおけるファイル転送方法をコンピュータに実行させるためのプログラムにおいて、
前記ファイル転送システムは、ファイル転送の行われるファイルに対して設定されたファイルＩＤ及び優先度を記憶装置に格納し、
前記ファイル転送システムは、ファイル転送を行う際に、転送要求されているファイルのファイルＩＤに対応する優先度を前記記憶装置から読み出し、その読み出した優先度に応じた転送間隔時間が経過するまで当該ファイル転送を待機させる処理を行い、
前記ファイル転送システムは、前記転送間隔時間の経過後、前記転送要求されているファイルのファイル転送をファイル転送サーバとファイル転送クライアントとの間で行うことを特徴とするファイル転送方法をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＨＴＴＰを用いたファイル転送サーバとファイル転送クライアントとの間でファイルを転送するファイル転送システム及びファイル転送方法に関する。
【背景技術】
【０００２】
インターネットシステムにおける計算機相互間のファイル転送手段として、ＦＴＰ(File Transfer Protocol)がよく使用される。しかしながら、近年、セキュリティを考慮し、ファイアウォールによってＨＴＴＰ(HyperText Transfer Protocol)やＨＴＴＰＳ(HyperText Transfer Protocol Security)等限られたプロトコルのポートしか使用できない環境が増えてきている。この限られた環境下で、既存環境を変更することなく、ファイル転送を行う手段として、ＨＴＴＰを使用したファイル転送システムが利用される。
【０００３】
ＨＴＴＰを使用したファイル転送を行う場合、ファイル転送サーバとファイル転送クライアント間で共通のファイルＩＤを登録する必要がある。このファイルＩＤを用いてファイル転送を行う。また、このファイルＩＤを用いることで、ファイル転送の転送状態を管理することが出来るため、転送中にネットワークシステムが切断したとしても、再転送を行う際に、データを途中から転送することができる。
【０００４】
【特許文献１】特開平５−２１６７８７号公報
【特許文献２】特開平１１−２２４２２５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
前記の様に、限られた環境下で既存環境を変更することなくファイル転送を行う手段として、ＨＴＴＰを使用したファイル転送システムが利用されるが、そのＨＴＴＰを使用したファイル転送は、優先度の概念が無い。そのため複数のファイル転送クライアントが、同時に１つのファイル転送サーバに対して多くのファイル転送を行った場合に、ファイル転送側での処理が追いつかず、ファイル転送の遅延やファイル転送の中断等が起こる。また、狭伝送帯域の回線において、ファイル転送を行った場合も、ファイル転送の遅延やファイル転送の中断といった同じことが起こる。
【０００６】
本発明の目的は、前述した従来技術での問題を解決し、優先度の高いファイル転送を優先的に行えるようにすることで、優先度の高いファイルの転送時間の短縮させることにある。
【課題を解決するための手段】
【０００７】
上記目的を達するためには、ファイル転送サーバのファイルＩＤ登録において、優先度も含めて設定し、ファイルＩＤを保存しておくサーバファイルＩＤテーブルに、前記設定された優先度も保存するようにする。
【０００８】
また、ファイル転送サーバは、ファイル転送を行う際に、サーバファイルＩＤテーブルから優先度を判定し、優先度の低いファイル転送を待たせる時間を求め、優先度の低いファイル転送を、求めた時間分待たせることで、優先度の低いファイル転送で使用している帯域を抑えるようにしたものである。
【発明の効果】
【０００９】
本発明によれば、狭帯域回線でファイル転送を行う場合に、優先度を設定することで優先度の高いファイルほどファイル転送に要する時間を短縮することができる。
【００１０】
また、優先度を持たないＨＴＴＰファイル転送に比べて優先度の高いファイル転送が要求された際に、優先度の低いファイル転送で使用する帯域を減らすことで転送の信頼性を確保することが出来るため、従来のシステムよりも信頼性を高めることができる。
【発明を実施するための最良の形態】
【００１１】
以下、本発明によるファイル転送方法及びファイル転送システムの実施形態を図面により詳細に説明する。
【００１２】
図１は、本発明の一実施形態によるファイル転送システムの構成を示す概略図である。本発明の実施形態によるファイル転送システムは、利用者が使用するファイル転送クライアント１４０と、ファイル転送クライアント１４０からの要求によりファイルの送受信を行うファイル転送サーバ１０とがネットワーク１３０を介して接続された計算機システムとして構成される。
【００１３】
ファイル転送クライアントは、通信インタフェース１５０を介してネットワーク１３０に接続され、ファイル転送サーバ１０は、通信インタフェース１２０を介してネットワーク１３０に接続されている。ネットワーク１３０は、データを転送可能な通信路であり、ＴＣＰ／ＩＰ(Transmission Control Protocol/Internet Protocol)を用いたＬＡＮ（ローカルエリアネットワーク）やイーサネット、インターネット、無線通信ネットワーク等でも良い。
【００１４】
ファイル転送クライアントは、ＣＰＵ（中央処理演算装置）１６０、主記憶装置（メモリ）１８０、入出力装置１７０、通信インタフェース１５０及び補助記憶装置２３０を備え、これらが内部バスによって接続されている計算機である。なお、図１には２台の端末１４０が図示してあるが、３台以上のファイル転送クライアント１４０が設けられても良く、また１台のファイル転送クライアント１４０で複数のファイル転送を行うものとしても良い。
【００１５】
前述において、ＣＰＵ１６０は、主記憶装置１８０に格納された優先転送制御部１９０、ファイルＩＤ登録部２００、ＨＴＴＰ通信制御部２１０、ファイル転送部２２０のプログラムを実行する演算処理装置である。ファイルＩＤ登録部２００は、クライアントファイルＩＤテーブル２４０への登録処理を行い、ファイル転送部２２０は、クライアントファイルＩＤテーブル２４０を参照し、ＨＴＴＰ通信制御部２１０によりファイル転送サーバ１０とＨＴＴＰを用いてファイル転送を行う。もし、優先制御によるファイル転送を行う場合には、優先転送制御部１９０を使用する。また、入出力装置１７０は、ユーザインタフェースを提供するキーボード、表示装置等の装置である。
【００１６】
ファイル転送サーバ１０は、ＣＰＵ（中央処理演算装置）１００、主記憶装置（メモリ）２０、入出力装置１１０、通信インタフェース１２０及び補助記憶装置７０を備え、これらが内部バスによって接続されている計算機である。なお、図１には１台のファイル転送サーバ１０を図示しているが、２台以上のファイル転送サーバ１０が設けられても良い。
【００１７】
前述において、ＣＰＵ１００は、主記憶装置２０に格納された優先転送制御部３０、ファイルＩＤ登録部４０、ＨＴＴＰ通信制御部５０、ファイル転送部６０のプログラムを実行する演算処理装置である。ファイルＩＤ登録部４０は、サーバファイルＩＤテーブル８０への登録処理を行い、ファイル転送部６０は、サーバファイルＩＤテーブル８０を参照し、ＨＴＴＰ通信制御部５０によりファイル転送クライアント１４０とＨＴＴＰを用いてファイル転送を行う。
【００１８】
図２は、図１に示す要素が、ファイル転送を行った場合にどのような関連に在るのかを示した図である。
【００１９】
本実施形態のファイル転送システムでは、はじめにファイル転送サーバ１０のファイルＩＤ登録部４０、ファイル転送クライアント１４０のファイルＩＤ登録部２００によりファイルＩＤを登録する。ファイルＩＤ登録部４０は、サーバファイルＩＤテーブル８０にファイルＩＤを登録し、ファイルＩＤ登録部２００は、クライアントＩＤテーブル２４０にファイルＩＤを登録する。これらファイルＩＤ登録作業は、ファイル転送を行う前に事前に行う必要がある。
【００２０】
まずファイル転送クライアント１４０のファイル転送部２２０は、クライアントファイルＩＤテーブル２４０を参照し、ファイル２５０も参照する。その後、ＨＴＴＰ通信制御部２１０によりＨＴＴＰを用いたファイル転送を行う。ファイル転送サーバ１０は、ＨＴＴＰ通信制御部５０でファイル転送クライアント１４０の要求を取得し、ファイル転送部６０に処理を移す。ファイル転送部６０では、転送要求受けているファイルＩＤの情報をサーバファイルＩＤテーブル８０から参照し、ファイル９０も参照する。ここで優先制御を行う場合には、優先転送制御部３０の処理を行い処理結果と共に優先制御の情報をファイル転送クライアント１４０へ返信する。ファイル転送サーバ１０より処理結果を受信したファイル転送クライアント１４０は、優先制御の情報が含まれていれば優先転送制御部１９０にて処理を行う。
【００２１】
図３は、ファイル転送サーバ１０の補助記憶装置７０に格納されたサーバファイルＩＤテーブル８０の構成例であり、優先制御の処理をファイル転送サーバ１０とファイル転送クライアント１４０が協調して行う場合の構成例を示す図である。サーバファイルＩＤテーブル８０は、ファイルＩＤ３１０、転送状態３２０、転送済みデータサイズ３３０、データサイズ３４０、優先度３５０の各項目を有し、これらの項目を関連付けた複数のレコードが格納されて構成されている。
【００２２】
図４は、ファイル転送クライアント１４０の補助記憶装置２３０に格納されたクライアントファイルＩＤテーブル２４０の構成例を示す図である。クライアントファイルＩＤテーブル２４０は、ファイルＩＤ３６０、転送状態３７０、転送済みデータサイズ３８０、データサイズ３９０、転送間隔４００の各項目を有し、これらの項目を関連付けた複数のレコードが格納されて構成される。
【００２３】
図５、６、７は、優先制御の処理をファイル転送サーバ１０とファイル転送クライアント１４０が協調して行う場合において、ファイルのアップロードの処理動作を説明するシーケンスチャートであり、次は、これについて説明する。
【００２４】
（１）まず、システム利用者４１０は、ファイル転送クライアント＃１(１４０)、ファイル転送クライアント＃２（１４０）にファイルＩＤを入力し、ファイル転送クライアント＃１(１４０)、ファイル転送クライアント＃２（１４０）は入力されたファイルＩＤを受け付けて登録する（ステップＳ１０、２０、３０）。そしてファイル転送サーバ１０もファイルＩＤを登録するが、優先度も含めて登録する。ここではファイルＩＤ＃１の優先度は「中」、ファイルＩＤ＃２の優先度は「高」であるものとして登録する（ステップＳ４０、５０）。
【００２５】
（２）次に、システム利用者４１０は、ファイル転送クライアント＃１（１４０）に対してファイルＩＤ＃１の転送要求（アップロード）の指示を出す（ステップＳ６０）。
【００２６】
（３）ファイル転送クライアント＃１（１４０）では、ファイル転送要求（ステップＳ７０）を受け付けてファイル転送サーバ１０に送信し、ファイル転送サーバ１０でファイル転送受付処理（ステップＳ８０）を行い、結果をファイル転送クライアント＃１（１４０）へ返信し、その返信を受信したファイル転送クライアント＃１（１４０）は、ファイル転送を開始する（ステップＳ１００）。
【００２７】
（４）システム利用者４１０は、ファイルＩＤ＃１の転送要求に遅れる形で、ファイルＩＤ＃２の転送要求（アップロード）の指示をファイル転送クライアント＃２（１４０）に出す（ステップＳ９０）。
【００２８】
（５）ファイル転送クライアント＃２（１４０）では、ファイル転送要求（ステップＳ１１０）を受け付けてファイル転送サーバ１０に送信し、ファイル転送サーバ１０でファイル転送受付処理（ステップＳ１２０）を行い、結果をファイル転送クライアント＃２（１４０）へ返信し、その返信を受信したファイル転送クライアント＃２（１４０）は、ファイル転送を開始する（ステップＳ１３０）。
【００２９】
（６）ファイル転送クライアント＃１（１４０）は、ファイル転送サーバ１０にファイルのデータを送信する（ステップＳ１４０）。ファイルのデータを受信したファイル転送サーバ１０は、受信したデータの処理と優先制御の処理を行う。優先制御の処理を行う必要がなければ、ファイル転送クライアント＃１（１４０）へ返信する結果は、受信したデータの処理に対する結果のみであり、優先制御処理の必要がある場合は、受信したデータの処理と共に優先制御処理の結果をファイル転送クライアント＃１（１４０）へ返信する(ステップＳ１５０、１６０)。結果を受信したファイル転送クライアント＃１（１４０）は、ファイル転送が終了したかを確認し（ステップＳ１７０）、送信したファイルのデータの処理を行い、サーバ優先転送制御処理（ステップＳ１６０）の結果が存在すれば、クライアント優先転送制御処理を行う（ステップＳ１８０）。以降、ファイルのデータを送信し終わるまで、本動作を繰り返す。
【００３０】
（７）ファイル転送クライアント＃２（１４０）は、ファイル転送サーバ１０にファイルのデータを送信する（ステップＳ１９０）。ファイルのデータを受信したファイル転送サーバ１０は、受信したデータの処理と優先制御の処理を行い、その両方の結果をファイル転送クライアントへ返信する(ステップＳ２００、２１０)。この際、ファイル転送クライアント＃２（１４０）から転送要求されているファイルＩＤ＃２の優先度は「高」であるため、ファイル転送クライアント＃１（１４０）が転送を行っているファイルＩＤ＃１の転送は、サーバ優先転送制御処理（ステップＳ１６０）が有効となり、次データ転送から優先転送制御処理が動作する。受信したデータの処理に対する結果とサーバ優先転受信したファイル転送クライアント＃２（１４０）は、ファイル転送が終了したかを確認し（ステップＳ２２０）、送信したファイルのデータの処理を行い、サーバ優先転送制御処理（ステップＳ２１０）の結果を元に、クライアント優先転送制御処理を行う（ステップＳ２３０）。以降、ファイルのデータを送信し終わるまで、本動作を繰り返す。
【００３１】
（８）ファイル転送クライアント＃２（１４０）は、最後のファイルのデータをファイル転送サーバ１０に対して送信し、その結果を受信する（ステップＳ２４０、２５０）。最後にファイル転送終了確認処理（ステップＳ２６０）にて最終処理を行った後、システム利用者へ転送が完了した旨を通知する（ステップＳ２７０）。なお、ファイルＩＤ＃２の転送は、優先度が「高」と設定されており、ファイルＩＤ＃１の転送と比べて、優先制御処理により優先的にファイル転送を行えるようになるため、速く終えることができる。
【００３２】
（９）ファイル転送クライアント＃１（１４０）は、最後のファイルのデータをファイル転送サーバ１０に対して送信し、その結果を受信する（ステップＳ２８０、２９０）。最後にファイル転送終了確認処理（ステップＳ３００）にて最終処理を行った後、システム利用者へ転送が完了した旨を通知する（ステップＳ３１０）。
【００３３】
図８は、図５のシーケンスチャートで示したステップＳ２０、３０のファイル転送クライアント側でのファイルＩＤの登録処理の動作を示したフローチャートである。次に、これについて説明する。
【００３４】
（１）ファイルＩＤを新規登録するにあたり、クライアントファイルＩＤテーブル２４０に行を追加する（ステップＳ４１０）。
【００３５】
（２）行を追加した後、システム利用者から取得したファイルＩＤを、ファイルＩＤ３６０に設定し、転送間隔４００を設定する（ステップＳ４２０）。なお、転送間隔の値は、システム利用者が定義することができるものとする。
【００３６】
図９は、図５のシーケンスチャートで示したステップＳ４０、５０のファイル転送サーバ側でのファイルＩＤの登録処理の動作を示したフローチャートである。次に、これについて説明する。
【００３７】
（１）ファイルＩＤを新規登録するにあたり、サーバファイルＩＤテーブル８０に行を追加する（ステップＳ５１０）。
【００３８】
（２）行を追加した後、システム利用者から取得したファイルＩＤとそのファイルＩＤに関する優先度の設定を、ファイルＩＤ３１０と優先度３５０に設定する（ステップＳ５２０）。
【００３９】
図１０は、図５のシーケンスチャートで示したステップＳ７０、１１０のファイル転送要求処理の動作を示したフローチャートである。次に、これについて説明する。
【００４０】
システム利用者４１０より転送指示されたファイルＩＤの情報を、クライアントファイルＩＤテーブル２４０より取得し（ステップＳ６１０）、図５のシーケンスチャートで示した例がアップロードであるため、ファイルＩＤとデータサイズをファイル転送サーバ１０へ送信する（ステップＳ６２０）。その後、ファイル転送サーバ１０からの転送開始の指示を待つ（ステップＳ６３０）。また、ダウンロードの場合は、ファイルＩＤのみをファイル転送サーバ１０へ送信し、サーバからの返信でファイル転送サーバ１０からダウンロードするファイルのデータサイズを取得する。
【００４１】
図１１は、図５のシーケンスチャートで示したステップＳ８０、１２０のファイル転送受付処理の動作を示したフローチャートである。次に、これについて説明する。
【００４２】
（１）ファイル転送クライアント１４０からの転送要求を受信すると、要求を受けているファイルＩＤの情報を、サーバファイルＩＤテーブル８０より取得・更新する（ステップＳ７１０、７２０）。
【００４３】
（２）要求を受けているファイルＩＤの優先度を、サーバファイルＩＤテーブル８０より取得し（ステップＳ７３０）、優先転送制御でファイル転送クライアント１４０に返信する上乗せ時間を求める（ステップＳ７４０、７５０、７６０、７７０）。なお、上乗せする時間の求め方であるが、ユーザに定義してもらう回線速度から、要求を受けているファイルのデータが転送し終わるまでの時間を割り出し、要求を受けているファイルのデータが、ユーザに定義された１回あたりの転送量から何ブロックに分けられるのかを求め、１ブロックあたりに上乗せする時間を求める。
【００４４】
（３）ファイル転送クライアント１４０へ転送開始を通知する（ステップＳ７８０）。なお、ダウンロードの場合は、転送開始の通知と共に、ダウンロードを行うファイルのサイズもファイル転送クライアント１４０へ送信する。
【００４５】
図１２は、図６、７のシーケンスチャートで示したステップＳ１５０、２００、２５０、２９０のデータ受信処理の動作を示したフローチャートである。次に、これについて説明する。
【００４６】
（１）ファイル転送クライアント１４０よりデータを受信すると、サーバファイルＩＤテーブル８０の転送済みデータサイズ３３０を更新する（ステップＳ８１０、８２０）。
【００４７】
（２）次に、ファイルの送信が完了したかを判定する（ステップＳ８３０）。もし送信が完了していれば、サーバファイルＩＤテーブル８０の転送状態を更新する（ステップＳ８４０）。また、転送が終了したファイルＩＤで上乗せ時間として上乗せした時間があれば、その時間を上乗せ時間から削除する（ステップＳ８５０）。その後、ファイル転送クライアント１４０へ転送完了を通知する（ステップＳ８６０）。
【００４８】
図１３は、図６のシーケンスチャートで示したステップＳ１６０、２１０のサーバ優先転送制御処理の動作を示したシーケンスチャートである。次に、これについて説明する。
【００４９】
（１）現在、ファイル転送サーバ１０が転送処理を行っているファイルＩＤの優先度を判定する。優先度が「高」であれば、上乗せ時間は設定せず、優先度が「中」であれば、上乗せ時間＃１を上乗せ時間とし、優先度が「小」であれば、上乗せ時間＃１、上乗せ時間＃２を足したものを上乗せ時間とする（ステップＳ９１０、９２０、９３０、９４０、９５０）。なお、上乗せ時間＃１は、現在転送している優先度「高」のファイルＩＤの１ブロックあたりに上乗せする時間の総和であり、上乗せ時間＃２は、現在転送している優先度「中」のファイルＩＤの1ブロックあたりに上乗せする時間の総和である。そのため、優先度「中」の転送で上乗せされる時間は、優先度「高」のファイルの転送に要する時間分、優先度「小」の転送で上乗せされる時間は、優先度「高」と「中」のファイル転送に要する時間分となる。
【００５０】
（２）ファイル転送クライアント１４０に、上乗せ時間を送信する（ステップＳ９６０）。
【００５１】
図１４は、図７のシーケンスチャートで示したステップＳ２６０、３００のファイル転送終了確認処理の動作を示したシーケンスチャートである。次に、これについて説明する。
【００５２】
処理内容としては、ファイル転送クライアント１４０が、クライアントファイルＩＤテーブル２４０の転送済みデータサイズ３８０を更新する（ステップＳ１０１０）。次に、ファイル転送サーバ１０より転送完了の通知を受信したかを調べ（ステップＳ１０２０）、受信している場合は、ファイル転送が完了したことを示すため、クライアントファイルＩＤテーブル２４０の転送状態３７０を更新し（ステップＳ１０３０）、システム利用者４１０に対して転送完了した旨を通知する（ステップＳ１０４０）。
【００５３】
図１５は、図６のシーケンスチャートで示したステップＳ１８０、２３０のクライアント優先転送制御処理の動作を示したシーケンスチャートである。次に、これについて説明する。
【００５４】
ファイル転送サーバ１０より上乗せ時間を受信し、クライアントファイルＩＤテーブル２４０の転送間隔４００を足し合わせた時間を転送間隔時間とする（ステップＳ１１１０）。次データ転送時に、転送間隔時間分待機し、データを転送する（ステップＳ１１２０）。この待機させる処理を行うことで、優先度の低いファイル転送で使用している帯域を減らすことができる。
【００５５】
図１６は、ファイル転送サーバ１０の補助記憶装置７０に格納されたサーバファイルＩＤテーブル８０の構成例であり、優先制御の処理をファイル転送サーバ１０のみで行う場合の図である。サーバファイルＩＤテーブル８０は、ファイルＩＤ４１０、転送状態４２０、転送済みデータサイズ４３０、データサイズ４４０、優先度４５０の各項目を有し、これらの項目を関連付けた複数のレコードが格納されて構成されている。
【００５６】
図１７は、ファイル転送クライアント１４０の補助記憶装置２３０に格納されたクライアントファイルＩＤテーブル２４０の構成例を示す図であり、優先制御の処理をファイル転送サーバ１０のみで行う場合の図である。クライアントファイルＩＤテーブル２４０は、ファイルＩＤ４６０、転送状態４７０、転送済みデータサイズ４８０、データサイズ４９０の各項目を有し、これらの項目を関連付けた複数のレコードが格納されて構成される。
【００５７】
図１８、１９、２０は、優先制御の処理をファイル転送サーバ１０のみで行う場合において、ファイルのダウンロードの処理動作を説明するシーケンスチャートであり、次は、これについて説明する。
【００５８】
（１）まず、システム利用者４１０は、ファイル転送クライアント１４０、ファイル転送クライアント＃２（１４０）にファイルＩＤを入力し、ファイル転送クライアント１４０、ファイル転送クライアント＃２（１４０）は、入力されたファイルＩＤを受け付けて登録する（ステップＳ１２１０、１２２０、１２３０）。そしてファイル転送サーバ１０もファイルＩＤを登録するが、優先度も含めて登録する。ここではファイルＩＤ＃１の優先度は「中」、ファイルＩＤ＃２の優先度は「高」であるものとして登録する（ステップＳ１２４０、１２５０）。
【００５９】
（２）次に、システム利用者４１０は、ファイル転送クライアント１４０に対してファイルＩＤ＃１の転送要求（ダウンロード）の指示を出す（ステップＳ１２６０）。
【００６０】
（３）ファイル転送クライアント１４０は、ファイル転送要求（ステップＳ１２７０）をファイル転送サーバ１０に送信し、ファイル転送サーバ１０でファイル転送受付処理（ステップＳ１２８０）を行い、結果をファイル転送クライアント１４０へ返信し、その返信を受信したファイル転送クライアント１４０は、ファイル転送を受け付ける状態となり、ファイル転送サーバ１０は、ファイル転送を開始する。（ステップＳ１３３０）。
【００６１】
（４）システム利用者４１０は、ファイルＩＤ＃１の転送要求に遅れる形で、ファイルＩＤ＃２の転送要求（ダウンロード）の指示をファイル転送クライアント１４０に出す（ステップＳ１２９０）。
【００６２】
（５）ファイル転送クライアント１４０は、ファイル転送要求（ステップＳ１３００）をファイル転送サーバ１０に送信し、ファイル転送サーバ１０でファイル転送受付処理（ステップＳ１３１０）を行い、結果をファイル転送クライアント１４０へ返信し、その返信を受信したファイル転送クライアント１４０は、ファイル転送を受け付ける状態となり、ファイル転送サーバ１０は、ファイル転送を開始する。（ステップＳ１３２０）。
【００６３】
（６）ファイル転送サーバ１０は、ファイル転送クライアント１４０にファイルのデータを送信する（ステップＳ１３４０）。ファイルのデータを受信したファイル転送クライアント１４０は、受信したデータの処理を行い、結果をファイル転送サーバ１０へ送信する（ステップＳ１３５０）。ファイル転送サーバ１０では、ファイル転送が終了したかを確認してファイル転送中であるため処理を続行し（ステップＳ１３６０）、優先制御処理の必要がある場合は、次データ転送時の間、処理を停止させる（ステップＳ１３７０）。以降、ファイルのデータを送信し終わるまで、本動作を繰り返す。
【００６４】
（７）ファイル転送サーバ１０は、ファイル転送クライアント１４０にファイルのデータを送信する（ステップＳ１３８０）。ファイルのデータを受信したファイル転送クライアント１４０は、受信したデータの処理を行い、結果をファイル転送サーバ１０へ送信する（ステップＳ１３９０）。ファイル転送サーバ１０では、ファイル転送が終了したかを確認してファイル転送中であるため処理を続行し（ステップＳ１４００）、優先制御処理の必要がある場合は、次データ転送時の間、処理を停止させる（ステップＳ１４１０）。なお、優先度「高」と設定されているファイルＩＤ＃２の転送が開始すると、ファイルＩＤ＃１の転送は優先度が「中」であるため、ステップＳ１３７０で転送の合間に処理を停止させる処理が実行される。以降、ファイルのデータを送信し終わるまで、本動作を繰り返す。
【００６５】
（８）ファイル転送サーバ１０のファイルＩＤ＃２のファイル転送は、最後のファイルのデータをファイル転送クライアント１４０に対して送信し、その結果を受信する（ステップＳ１４２０、１４３０）。最後にファイル転送サーバ１０のファイル転送終了確認処理（ステップＳ１４４０）にて最終処理を行った後、ファイル転送クライアント１４０は、システム利用者へ転送が完了した旨を通知する（ステップＳ１４５０）。なお、ファイルＩＤ＃２の転送は、優先度が「高」と設定されており、ファイルＩＤ＃１の転送と比べて、優先制御処理により優先的にファイル転送を行えるようになるため、速く終えることができる。
【００６６】
（９）ファイル転送サーバ１０のファイルＩＤ＃１のファイル転送は、最後のファイルのデータをファイル転送クライアント１４０に対して送信し、その結果を受信する（ステップＳ１４６０、１４７０）。最後にファイル転送サーバ１０のファイル転送終了確認処理（ステップＳ１４８０）にて最終処理を行った後、ファイル転送クライアント１４０は、システム利用者へ転送が完了した旨を通知する（ステップＳ１４９０）。
【００６７】
図２１は、図１８のシーケンスチャートで示したステップＳ１２７０、１３００のファイル転送要求処理の動作を示したフローチャートである。次に、これについて説明する。
【００６８】
システム利用者４１０より転送指示されたファイルＩＤの情報を、クライアントファイルＩＤテーブル２４０より取得し（ステップＳ１５１０）、図１８のシーケンスチャートで示した例がダウンロードであるため、ファイルＩＤをファイル転送サーバ１０へ送信する（ステップＳ１５２０）。その後、ファイル転送サーバ１０からの転送開始の指示とダウンロードするファイルのサイズを受信するのを待つ（ステップＳ１５３０）。
【００６９】
図２２は、図１８のシーケンスチャートで示したステップＳ１２８０、１３１０のファイル転送受付処理の動作を示したフローチャートである。次に、これについて説明する。
【００７０】
（１）ファイル転送クライアント１４０からの転送要求を受信すると、要求を受けているファイルＩＤの情報を、サーバファイルＩＤテーブル８０より取得する（ステップＳ１６１０、１６２０）。
【００７１】
（２）要求を受けているファイルＩＤの優先度を、サーバファイルＩＤテーブル８０より取得し（ステップＳ１６３０）、優先転送制御で次データ転送までに待機する待機時間を求める（ステップＳ１６４０、１６５０、１６６０、１６７０）。なお、待機時間の求め方であるが、ユーザに定義してもらう回線速度から、要求を受けているファイルのデータが転送し終わるまでの時間を割り出し、要求を受けているファイルのデータが、ユーザに定義された1回あたりの転送量から何ブロックに分けられるのかを求め、1ブロックあたりの待機時間を求める。
【００７２】
（３）ファイル転送クライアント１４０へ転送開始の通知と転送を行うファイルのサイズを送信する（ステップＳ１６８０）。
【００７３】
図２３は、図１９、２０のシーケンスチャートで示したステップＳ１３５０、１３９０、１４３０、１４７０のデータ受信処理の動作を示したフローチャートである。次に、これについて説明する。
【００７４】
（１）ファイル転送サーバ１０よりデータを受信すると、クライアントファイルＩＤテーブル２４０の転送済みデータサイズ４８０を更新する（ステップＳ１７００、１７１０）。
【００７５】
（２）次に、ファイルの送信が完了したかを判定する（ステップＳ１７２０）。もし送信が完了していれば、クライアントファイルＩＤテーブル４７０の転送状態を更新する（ステップＳ１７３０）。最後にファイル転送サーバ１０へ転送完了を通知する（ステップＳ１７４０）。
【００７６】
図２４は、図２０のシーケンスチャートで示したステップＳ１４４０、１４８０のファイル転送終了確認処理の動作を示したシーケンスチャートである。次に、これについて説明する。
【００７７】
処理内容としては、ファイル転送サーバ１０が、サーバファイルＩＤテーブル８０の転送済みデータサイズ４３０の更新する（ステップＳ１８００）。次に、ファイル転送クライアント１４０より転送完了の通知を受信したかを調べ（ステップＳ１８１０）、受信している場合は、ファイル転送が完了したことを示すため、サーバファイルＩＤテーブル８０の転送状態４２０を更新し（ステップＳ１８２０）、転送が完了したファイルＩＤで設定した待ち時間の時間を待ち時間から除く作業を行い（ステップＳ１８３０）、システム利用者４１０に対して転送完了した旨を通知する（ステップＳ１８４０）。
【００７８】
図２５は、図１９に示すシーケンスのステップＳ１３７０、１４１０のサーバ優先転送制御の処理動作を説明するフローチャートである。次に、これについて説明する。
【００７９】
（１）現在、ファイル転送サーバ１０が転送処理を行っているファイルＩＤの優先度を判定する。優先度が「高」であれば、待機時間は設定せず、優先度が「中」であれば、待機時間＃１を待機時間とし、優先度が「小」であれば、待機時間＃１、待機時間＃２を足したものを待機時間とする（ステップＳ１９１０、１９２０、１９３０、１９４０、１９５０）。なお、待機時間＃１は、現在転送している優先度「高」のファイルＩＤの１ブロックあたりに上乗せする時間の総和であり、待機時間＃２は、現在転送している優先度「中」のファイルＩＤの1ブロックあたりに待機する時間の総和である。そのため、優先度「中」の転送で待機する時間は、優先度「高」のファイルの転送に要する時間分、優先度「小」の転送で待機する時間は、優先度「高」と「中」のファイル転送に要する時間分となる。
【００８０】
（２）次データ転送までに、待機時間に設定された時間分待機する(ステップＳ１９６０)。
【００８１】
前述した本実施形態では、ファイル転送クライアントとファイル転送サーバが協調して優先転送制御を行う方法とファイル転送サーバでのみ優先転送制御を行う方法を示した。なお、アップロードとダウンロードで処理が異なるため、前述のものは、ファイル転送クライアント・ファイル転送サーバ協調方法ではファイルのアップロード、ファイル転送サーバ制御方式では、ダウンロードで示している。
【００８２】
前述した本実施形態のファイル転送システムによれば、ファイル単位で優先度を設定することができるため、非常に柔軟なシステムを構築することができる。また、ファイルＩＤの機能を持たせていることで途中から再転送できることから、優先度「小」と設定し、途中で転送が失敗したとしても、既に送ったデータを再度送ることなく途中からデータを送ることができるのも特徴と言える。
【００８３】
前述した本発明の実施形態での各処理は、プログラムにより構成し、本発明が備えるＣＰＵに実行させることができ、また、それらのプログラムは、ＦＤ、ＣＤＲＯＭ、ＤＶＤ等の記録媒体に格納して提供することができ、また、ネットワークを介してディジタル情報により提供することができる。
【図面の簡単な説明】
【００８４】
【図１】本発明の一実施形態によるファイル転送システムの構成を示す構成図である。
【図２】図１に示すファイル転送システムにおいて、ファイル転送を行う場合の全体の処理を表した図である。
【図３】図１に示すファイル転送システムにおいて、優先制御処理をファイル転送サーバ１０とファイル転送クライアント１４０が協調して行った場合の、ファイル転送サーバ１０の補助記憶装置７０に格納されたサーバファイルＩＤテーブル８０の構成例を示す図である。
【図４】図１に示すファイル転送システムにおいて、優先制御処理をファイル転送サーバ１０とファイル転送クライアント１４０が協調して行った場合の、ファイル転送クライアント１４０の補助記憶装置２３０に格納されたクライアントファイルＩＤテーブル２４０の構成例を示す図である。
【図５】図１に示すファイル転送システムにおいて、優先制御処理をファイル転送サーバ１０とファイル転送クライアント１４０が協調して行った場合の、ファイルＩＤの登録を行い、ファイル転送（アップロード）を開始するまでの動作を説明するシーケンスチャートである。
【図６】図１に示すファイル転送システムにおいて、優先制御処理をファイル転送サーバ１０とファイル転送クライアント１４０が協調して行った場合の、ファイル転送（アップロード）の流れと優先制御処理実行までの動作を説明するシーケンスチャートである。
【図７】図１に示すファイル転送システムにおいて、優先制御処理をファイル転送サーバ１０とファイル転送クライアント１４０が協調して行った場合の、ファイル転送終了（アップロード）の動作を説明するシーケンスチャートである。
【図８】図５に示すシーケンスのステップＳ２０、３０のクライアントファイルＩＤテーブルの処理動作を説明するフローチャートである。
【図９】図５に示すシーケンスのステップＳ４０、５０のサーバファイルＩＤテーブルの動作処理を説明するフローチャートである。
【図１０】図５に示すシーケンスのステップＳ７０、１１０のファイル転送要求の処理動作を説明するフローチャートである。
【図１１】図５に示すシーケンスのステップＳ８０、１２０のファイル転送受付の処理動作を説明するフローチャートである。
【図１２】図６に示すシーケンスのステップＳ１５０、２００のデータ受信の処理動作を説明するフローチャートである。
【図１３】図６に示すシーケンスのステップＳ１６０、２１０のサーバ優先転送制御の処理動作を説明するフローチャートである。
【図１４】図６、７に示すシーケンスのステップＳ１７０、２２０、２６０、３００のファイル転送終了確認の処理動作を説明するフローチャートである。
【図１５】図６に示すシーケンスのステップＳ１８０、２３０のクライアント優先転送制御の処理動作を説明するフローチャートである。
【図１６】図１に示すファイル転送システムにおいて、優先制御処理をファイル転送サーバ１０のみで行った場合の、ファイル転送サーバ１０の補助記憶装置７０に格納されたサーバファイルＩＤテーブル８０の構成例を示す図である。
【図１７】図１に示すファイル転送システムにおいて、優先制御処理をファイル転送サーバ１０のみで行った場合の、ファイル転送クライアント１４０の補助記憶装置２３０に格納されたクライアントファイルＩＤテーブル２４０の構成例を示す図である。
【図１８】図１に示すファイル転送システムにおいて、優先制御処理をファイル転送サーバ１０のみで行った場合の、ファイルＩＤの登録を行い、ファイル転送（ダウンロード）を開始するまでの動作を説明するシーケンスチャートである。
【図１９】図１に示すファイル転送システムにおいて、優先制御処理をファイル転送サーバ１０のみで行った場合の、ファイル転送（ダウンロード）の流れと優先制御処理実行までの動作を説明するシーケンスチャートである。
【図２０】図１に示すファイル転送システムにおいて、優先制御処理をファイル転送サーバ１０のみで行った場合の、ファイル転送終了（ダウンロード）の動作を説明するシーケンスチャートである。
【図２１】図１８に示すシーケンスのステップＳ１２７０、１３００のファイル転送要求の処理動作を説明するフローチャートである。
【図２２】図１８に示すシーケンスのステップＳ１２８０、１３１０のファイル転送受付の処理動作を説明するフローチャートである。
【図２３】図１９、２０に示すシーケンスのステップＳ１３５０、１３９０、１４３０、１４７０のデータ受信の処理動作を説明するフローチャートである。
【図２４】図１９、２０に示すシーケンスのステップＳ１３６０、１４００、１４４０、１４８０のファイル転送終了確認の処理動作を説明するフローチャートである。
【図２５】図１９に示すシーケンスのステップＳ１３７０、１４１０のサーバ優先転送制御の処理動作を説明するフローチャートである。
【符号の説明】
【００８５】
１０…ファイル転送サーバ、２０、１８０…主記憶装置、３０、１９０…優先転送制御部、４０、２００…ファイルＩＤ登録部、５０、２１０…ＨＴＴＰ通信制御部、６０、２２０…ファイル転送部、７０、２３０…補助記憶装置、８０…サーバファイルＩＤテーブル、９０、２５０…ファイル、１００、１６０…ＣＰＵ、１１０、１７０…入出力装置、１２０、１５０…通信インタフェース、１３０…ネットワーク、１４０…ファイル転送クライアント、２４０…クライアントファイルＩＤテーブル
【図１】
2010117845.tif 000003
【図２】
2010117845.tif 000004
【図３】
2010117845.tif 000005
【図４】
2010117845.tif 000006
【図５】
2010117845.tif 000007
【図６】
2010117845.tif 000008
【図７】
2010117845.tif 000009
【図８】
2010117845.tif 000010
【図９】
2010117845.tif 000011
【図１０】
2010117845.tif 000012
【図１１】
2010117845.tif 000013
【図１２】
2010117845.tif 000014
【図１３】
2010117845.tif 000015
【図１４】
2010117845.tif 000016
【図１５】
2010117845.tif 000017
【図１６】
2010117845.tif 000018
【図１７】
2010117845.tif 000019
【図１８】
2010117845.tif 000020
【図１９】
2010117845.tif 000021
【図２０】
2010117845.tif 000022
【図２１】
2010117845.tif 000023
【図２２】
2010117845.tif 000024
【図２３】
2010117845.tif 000025
【図２４】
2010117845.tif 000026
【図２５】
2010117845.tif 000027