ファイルを記憶するストレージから、ファイルを読み出して、内部にキャッシュするファイルバッファ部と、第1ファイルの転送要求をユーザ端末から受信する受信部と、前記ファイルバッファ部に前記第1ファイルがキャッシュされていないとき、前記第1ファイルを前記ストレージから読み出すことを前記ファイルバッファ部に指示する指示部と、前記ファイルバッファ部に前記第1ファイルがキャッシュされていないとき、前記ファイルバッファ部のファイルキャッシュ状態に応じて、前記ユーザ端末に転送する第2ファイルを決定する転送ファイル判断部と、前記ファイルバッファ部による前記第1ファイルの読み出しと並行して、前記第2ファイルを前記ファイルバッファ部から読み出す転送プロトコル部と、前記転送プロトコル部により読み出した第2ファイルを前記ユーザ端末に送信する送信部と、を備え、前記指示部は、前記ファイルバッファ部への前記第1ファイルの読み出しの進行状況に基づいて、前記第1ファイルの転送を行うことを決定し、前記転送プロトコル部は、前記指示部により前記第1ファイルの転送が決定されたとき、前記第2ファイルの読み出しを停止して、前記第1ファイルを前記ファイルバッファ部から読み出し、前記送信部は、前記転送プロトコル部により読み出した第1ファイルを前記ユーザ端末に送信するファイル転送装置。前記指示部は、前記第1ファイルの全データのうち、前記フィルバッファ部にキャッシュ済みのデータを前記ユーザ端末に送信するのに要する送信所要時間と、キャッシュ済みでないデータを前記ストレージからキャッシュするのに要するキャッシュ充填残り時間とに基づいて、前記第1ファイルの読み出しの進行状況を判断することを特徴とする請求項1に記載のファイル転送装置。前記指示部は、前記キャッシュ充填残り時間が前記送信所要時間以下になったとき、前記第1ファイルの転送を行うことを決定することを特徴とする請求項2に記載のファイル転送装置。前記第1ファイルの転送要求は、前記第2ファイルの指定を含み、前記判断部は、前記転送要求に指定されたファイルを前記ユーザ端末に転送することを決定することを特徴とする請求項1ないし3のいずれか一項に記載のファイル転送装置。前記第1ファイルの転送要求は、拒絶ファイルのリストを含み、前記判断部は、前記リストにおける前記拒絶ファイルと異なるファイルを前記第2ファイルとして決定することを特徴とする請求項1ないし3のいずれか一項に記載のファイル転送装置。前記転送プロトコル部は、前記ユーザ端末への前記第1ファイルの転送が完了した後、前記第2ファイルの読み出しを再開することを特徴とする請求項1ないし5のいずれか一項に記載のファイル転送装置。第1ファイルの転送要求をユーザ端末から受信するステップと、ファイルバッファ部に前記第1ファイルがキャッシュされているかを検査するステップと、前記第1ファイルがキャッシュされていないとき、前記第1ファイルをストレージから読み出して、前記第1ファイルを前記ファイルバッファ部にキャッシュするステップと、前記第1ファイルがキャッシュされていないとき、前記ファイルバッファ部のファイルキャッシュ状態に応じて、前記ユーザ端末に転送する第2ファイルを決定するステップと、前記ファイルバッファ部への前記第1ファイルの読み出しと並行して、前記第2ファイルを前記ファイルバッファ部から読み出し、読み出した第2ファイルを前記ユーザ端末に転送するステップと、前記ファイルバッファ部への前記第1ファイルの読み出しの進行状況に基づいて、前記第1ファイルの転送を行うことを決定するステップと、前記第1ファイルの転送が決定されたとき、前記第2ファイルの読み出しを停止して、前記第1ファイルを前記ファイルバッファ部から読み出すステップと、読み出した第1ファイルを前記ユーザ端末に送信するステップと、を備えたファイル転送方法。近接無線通信の重要な用途の一つに、タッチ通信がある。極短時間、2つのデバイスを接近させることで、ファイルの交換を行なう使用法である。この場合、極短時間の通信時間しか確保できない状況であるため、限られた時間を有効に使用するファイル交換方法が必要となる。しかし、例えば、転送すべき対象ファイルがハードディスクドライブHDDに保持されている場合は、HDDのアクセス遅延が問題となる。すなわち、シーク待ち、データ転送待ち、それらの割り込み待ちを経た後に、メモリ上にデータが展開され、そのデータを近接無線インタフェースを通じて転送することで、ファイルの転送が実施される。タッチが1秒間であるとした時、HDDのシーク待ちからデータ転送までを考えると、送信データがメモリ上に整うのに数十ミリ秒から数百ミリ秒を要することとなるため、1秒のタッチ時間の内、実際に近接無線通信に使用できる時間が大きく目減りする。更に、送信対象のファイルが、送信側端末にとってネットワークストレージに保持されている場合には、さらなる遅延が発生することになる。すなわち、ネットワークのHDDへアクセスするネットワーク遅延が加わる場合には、上述のHDDのアクセス遅延に加え、HDDにアクセスするまでのネットワーク遅延が加わるため、実際に近接無線通信に使用できる時間はわずかとなってしまう問題がある。特に、公衆などでの繰り返しタッチ通信を行うような利用シーン等、その無駄な時間の累積は大きなロスとなり、システム全体のファイル転送効率に大きく影響する。本発明の一側面は、限られた時間を有効に活用した、効率的なファイル転送を行うことを目的とする。本発明の一態様としてのファイル転送装置は、ファイルバッファ部と、受信部と、指示部と、転送ファイル判断部と、転送プロトコル部と、送信部とを備える。前記ファイルバッファ部は、ファイルを記憶するストレージから、ファイルを読み出して、内部にキャッシュする。前記受信部は、第1ファイルの転送要求をユーザ端末から受信する。前記指示部は、前記ファイルバッファ部に前記第1ファイルがキャッシュされていないとき、前記第1ファイルを前記ストレージから読み出すことを前記ファイルバッファ部に指示する。前記転送ファイル判断部は、前記ファイルバッファ部に前記第1ファイルがキャッシュされていないとき、前記ファイルバッファ部のファイルキャッシュ状態に応じて、前記ユーザ端末に転送する第2ファイルを決定する。前記転送プロトコル部は、前記ファイルバッファ部による前記第1ファイルの読み出しと並行して、前記第2ファイルを前記ファイルバッファ部から読み出す。前記送信部は、前記転送プロトコル部により読み出した第2ファイルを前記ユーザ端末に送信する。前記指示部は、前記ファイルバッファ部への前記第1ファイルの読み出しの進行状況に基づいて、前記第1ファイルの転送を行うことを決定する。前記転送プロトコル部は、前記指示部により前記第1ファイルの転送が決定されたとき、前記第2ファイルの読み出しを停止して、前記第1ファイルを前記ファイルバッファ部から読み出す。前記送信部は、前記転送プロトコル部により読み出した第1ファイルを前記ユーザ端末に送信する。図1は、本発明の実施形態に係るシステム全体のイメージを説明するための図である。ユーザ端末11は、ユーザが持つ移動端末である。ユーザ端末11は、数センチから十数センチの距離で、高速にデータ送受を行う通信方式を実行する近接無線通信部を持つ。ユーザは、本発明の実施形態に係るファイル転送装置としての固定端末本例ではキヨスク端末12に、ユーザ端末11をタッチさせることで、ファイル等のデータをキヨスク端末12から受信する。キヨスク端末12は、タッチによりユーザ端末11にファイル等のデータを送信する。キヨスク端末12には、ファイルを保持するための内蔵のHDDストレージ13が搭載されている。また、キヨスク端末12は、ファイルを保持するネットワークHDDストレージ15に、ネットワーク14を介して、接続されている。キヨスク端末12の内蔵HDD13にはファイルAが保持され、ネットワークHDD15にはファイルaが保持されている。本例では、ユーザ端末11は、タッチにより近接無線通信が開始された際に、ファイルAの取得要求を実施して、ファイルAをキヨスク端末12から受信する。タッチされた際のファイルAの取得要求の実施は、事前のユーザの操作、あるいは、ユーザ端末で動作中のプログラムの指令により、行われる。図2は、本発明の実施形態に係るファイル転送装置としてのキヨスク端末の機能ブロック図である。キヨスク端末12は、ストレージ部21、ファイルバッファ部22、転送プロトコル部23、通信部24に加え、本実施形態の特徴であるプッシュ指示部25と転送ファイル判断部26を有している。ストレージ部21は、本装置の内蔵HDD内蔵ストレージ、あるいは、ネットワーク接続されたネットワークHDDネットワークストレージである。ストレージ部21は、ファイルを保持している。ファイルバッファ部22は、ストレージ21からファイルを読み出し、読み出したファイルを内部RAM等のメモリに保持する。ファイルバッファ部22は、ストレージ部21のファイルアクセスを、高速化する機能ブロックである。通信部受信部、送信部24は、ユーザ端末と通信する手段である。本実施形態では、通信部24は、近接無線通信を行う。ただし、近距離無線通信以外の他の通信方式で通信してもよい。なお、通信部24は、ストレージ部21からのデータ転送速度と同等以上の通信速度性能を有することが望ましい。転送プロトコル部23は、通信部24を介してユーザ端末との間で、ファイル転送を実施するプロトコル部である。転送プロトコル部23は、ユーザ端末からのファイル転送要求第1ファイルの転送要求を、通信部24を介して受け、このファイル転送要求の情報を、プッシュ指示部25および転送判断部26に送る。転送プロトコル部23は、転送ファイル判断部26から指示されたファイルを、ファイルバッファ部22を介してストレージ部21から読み出す。そして、読み出したファイルを、通信部24を介して、ユーザ端末へ送信する。ただし、既に、当該ファイルが、ファイルバッファ部22の内部メモリに保持されている場合は、ストレージ部21へのアクセスは発生せず、当該内部メモリから高速に読み出す。また、転送プロトコル23は、ユーザ端末に転送中のファイルに関する情報転送ファイル情報を、プッシュ指示部25に逐次送る。プッシュ指示部25は、ファイル転送要求および転送ファイル情報を転送プロトコル部23から受ける。プッシュ指示部25は、ファイル転送要求に示されるファイル要求ファイルを送信するか、それ以外の何かしらの別のファイルを送信するかを決定する。以降、別ファイルを送信することを、本実施形態ではプッシュと表現することがある。上記要求ファイルは、第1ファイルに相当する。ファイル転送要求に示されるファイルの送信を決定したときは、要求応答指示を転送ファイル判断部26に送る。別のファイルの送信を決定したときは、プッシュ指示を転送ファイル判断部26に送る。なおプッシュ指示には、どのファイルを送るかの情報は含まれておらず、どのファイルを送るかは、転送ファイル判断部26で決定する。プッシュ指示部25が、要求応答指示を行うのか、プッシュ指示を行うのかは、ファイルバッファ部22が有している要求ファイルのキャッシュ状態と、要求ファイルのキャッシュの充填にかかる残り時間と、転送プロトコル部23の送信能力を勘案したキャッシュ済みデータの転送所要時間とを判断材料に行う。プッシュ指示部25は、プッシュ指示を行った場合は、上記判断材料に基づいて、要求ファイルの送信すべきタイミングを見計らい、要求ファイルの送信を決定する。そして、プッシュ指示部25は、要求ファイルの送信を決定したら、要求応答指示を、転送ファイル判断部26に送る。転送ファイル判断部26は、プッシュ指示部25からプッシュ指示または要求応答指示を受ける。プッシュ指示を受けたときは、ユーザ端末に転送すべき別ファイル第2ファイルを決定し、転送ファイル判断部26は、決定したファイルの転送指示を、転送プロトコル部23に行う。要求応答指示を受けたときは、要求ファイル第1ファイルを送信することを、転送プロトコル部23に指示する。別ファイルを転送中に、要求応答指示を受けたときは、別ファイルの転送を途中で中止し、要求ファイルの送信を、転送プロトコル部23に指示する。図3および図4を用いて、従来および本実施形態の典型的な動作例を示す。ストレージ部21であるHDDに、ファイルAが保持されており、ファイルバッファ部22にファイルBが保持されているとする。ファイルBは、以前にストレージ部21である内蔵のHDDまたはネットワークHDDから読み出しが行なわれ、ファイルバッファ部22に保持されている。ユーザ端末がファイル転送装置にタッチされて通信が開始され、ファイルAの転送要求であるGETファイルAが、ユーザ端末からファイル転送装置キヨスク端末で受信される。図3の従来例では、ファイルバッファ部から、ストレージ部に対してファイルAの読み出しが要求され、ファイルバッファ部がファイルAの読み出しを開始する。ファイルバッファ部により読み出されたファイルデータを、順次、通信プロトコル部が、通信部を介してユーザ端末に転送する。ストレージ部からのデータの読み出しは、HDDのシーク時間やデータの転送遅延があり、実際のファイルAのデータがファイルバッファに蓄積が始まるまでには、レイテンシが発生する。ファイルバッファ部に蓄積されたファイルデータは、逐次通信部を介して転送されるが、ストレージ部からの読み出しよりも通信部の転送速度が高速なため、通信が間欠になってしまっている。これに対し、本実施形態では、図4に示すように、読み出しレイテンシと、ファイルバッファ部へのファイルA要求ファイルの読み出し中の時間を有効に利用し、既にファイルバッファ部が保持しているファイルB別ファイルを、ユーザ端末に自発的にプッシュすることで、通信時間を有効に活用する。ファイルBは、多くのユーザ端末で利用されているファイルであったり、キヨスク端末の管理者がユーザへ優先的に配布したいファイルであったりする。このように、本実施形態では、通信にとって無駄な時間を有効に利用した通信を実現する。図5は、本実施形態に係る別の動作例を示す。図5の例は、ファイルAの転送が完了した後の時間も利用して、ファイルBの転送の続きを実施した場合である。ユーザ端末により要求されたファイルAの転送を終えた後も通信が可能な状態が維持されており、かつ、ファイルBの転送がファイルAの転送開始前に完了していないなら、ファイルAの転送後に、ファイルBの残りを送ることが出来る。無論、ファイルバッファ部に、ファイルC、ファイルDなどが保持されているならば、それを転送しても構わない。図6に、図5の動作例に対応する通信シーケンスを示す。ユーザ端末からのファイルAの取得要求GETファイルAを受ける。ストレージ部からファイルAの転送のための準備である読み出しを行なっている最中に、ファイルバッファ部内で保持されているファイルBを送信する。ファイルAの送信準備が整うと詳細は後述、ファイルBの送信を中断し、ファイルAの送信を実施する。ファイルAの送信が完了すると、ファイルBの送信の続きを実施する。本例では、ファイルBの送信が完了する前に、ユーザ端末のタッチ状態が解除されて通信が切断され、ファイルBの転送が途中で終了している。図7、図8、および図9は、図2に示した各機能ブロックがやり取りする情報の一例を示す。図7は、転送プロトコル部23が、プッシュ指示部25と転送ファイル判断部26に渡すファイル転送要求情報の例を示す。ファイル転送要求情報は、ユーザ端末から転送要求されたファイル名と、転送開始位置を含む。ユーザ端末に何バイト分のデータを転送するかを示す、データ長の情報が含まれていても構わない。図8は、転送プロトコル部23により管理され、プッシュ指示部25に渡される転送ファイル情報の例を示す。転送ファイル情報は、通信部24を介してユーザ端末との間で行なっているファイル転送に関する情報を含んでいる。具体的には、ユーザ端末が転送を要求してきたファイル情報に加え、実際に今転送中のファイル情報、現在の通信性能を示す転送済みデータサイズと経過時間の情報を含む。図9は、ファイルバッファ部22により管理され、プッシュ指示部25および転送ファイル判断部26に渡されるファイルキャッシュ状態情報の例を示す。ファイルキャッシュ状態情報は、ファイルバッファ部22が保有しているファイルのキャッシュの一覧を示す。どのファイルがストレージ部からメモリ上に読み出されて、ファイルバッファ部によって保持されているかを示している。図9では、説明の簡単化のために、キャッシュはファイルの先頭から行われるという前提で、キャッシュサイズを表している。ただし、実装によっては、ファイルの途中からキャッシュしたり、斑模様のようにファイルの部分部分をキャッシュしたりすることも可能である。図10に、転送プロトコル部23の動作を表すフローチャートを示す。転送プロトコル部23は、通信部24を介してユーザ端末からファイル転送要求を受信すると、ファイル転送要求をプッシュ指示部25と転送ファイル判断部26に通知するS11。そして、転送プロトコル部23は、実際に転送すべきファイルのファイル名、および、転送開始位置を含む転送ファイル指示を、転送ファイル判断部26から受信するS12。転送ファイル指示にファイル名がブランクのときは、転送すべきファイルは存在しないとしてS13、処理を終了するS20。転送ファイル指示にファイル名が記載されているときは、転送プロトコル部23は、通信プロトコルに従って、ファイルバッファ部22から、該当するファイルのデータを所定のサイズ単位で読みながら、ユーザ端末にデータを送信するS14、S15、S16。送信の途中で、タッチ解除等によりユーザ端末との接続が切れたときは、処理を終了するS17、S20。転送ファイル判断部26からの転送ファイル指示の内容に変化があれば、すなわち転送するファイルに変更があれば、その都度、適切なファイルデータの転送に切替えるS18、S12。ファイル転送の終了後、転送ファイル判断部26から転送すべきファイルの指示が来ないときは、すなわちファイル名がブランクの転送ファイル指示が来たときは、本処理を終了するS19、S12、S13、S20。図11に、プッシュ指示部25の動作を表すフローチャートを示す。プッシュ指示部25は、転送プロトコル部23からファイル転送要求情報を受信し、受信時刻を、startTimeとして保存するS31、S32。プッシュ指示部25は、転送要求のあったファイルファイルAとするがファイルバッファ部22にキャッシュされているときは、転送ファイル判断部26に要求応答指示を出しS35、キャッシュされていないときはプッシュ指示を転送ファイル判断部26に出すS37。プッシュ指示部25は、転送プロトコル部23からの転送ファイル情報と、ファイルバッファ部22からのファイルキャッシュ状態に基づき、一定時間ごとに要求応答指示を出すか否かを、すなわち要求ファイル第1ファイルの転送を行うかを、判断するS38、S39。つまり、プッシュ指示を解除して要求応答指示を出すか、それとも、出したプッシュ指示をそのまま有効とするかを判断する。この判断は以下のようにして行う。既にファイルバッファ部22にキャッシュとして充填されたデータを転送プロトコル部を介して転送するのに必要と見込まれる時間キャッシュ済みデータ送信所要時間と、まだキャッシュされていない残りのデータがキャッシュとして充填されるのに必要な時間キャッシュ充填残り時間を比べる。図13に、キャッシュ充填残り時間およびキャッシュ済みデータ送信所要時間の算出方法を示す。キャッシュ充填残り時間は、現在時刻から上記受信時刻を減算して得られる経過時間現在時刻-startTimeに、ファイルAのサイズからキャッシュ済みファイルサイズを減算した値を当該キャッシュ済みファイルサイズで除算した結果を乗算することで得られる。たとえばキャッシュ済みサイズが、ファイルAのサイズのちょうど2分の1のときは、上記除算結果は1となるため、キャッシュ充填残り時間は、上記経過時間とちょうど同じであると計算される。一方、キャッシュ済みデータ送信所要時間は、キャッシュ済みサイズcCacheSizeファイルAを転送中ファイル転送済みデータサイズtSendSizeで除算した結果に、転送中ファイル転送経過時間tSendTimeを乗算することで、計算される。転送中ファイルは、ファイルAの読み出し中に並行してプッシュ送信している、ファイルAと別のファイルたとえばファイルBである。ファイルAの送信スピードは、ファイルBの送信スピードと同じであることを仮定している。プッシュ指示部25は、キャッシュ充填残り時間が、キャッシュ済みデータ送信所要時間より大きいときは、要求応答指示をまだ出さない出したプッシュ指示がそのまま有効と判断するS37。一方、キャッシュ充填残り時間が、キャッシュ済みデータ送信所要時間以下となったときは、要求応答指示を出すS35。プッシュ指示部25は、要求ファイルの転送が完了したら、再びプッシュ指示を出すS40。プッシュ指示部25は、ファイル転送が完了するたびに、プッシュ指示を出し続ける。以上のように、プッシュ指示部25は、最も時間の無駄がない瞬間を見極めて、プッシュ指示と要求応答指示を行なう。図12に、転送ファイル判断部26の動作を表すフローチャートを示す。転送ファイル判断部26は、転送プロトコル部23からファイル転送要求情報を受けるS41。転送ファイル判断部26は、プッシュ指示部25からプッシュ指示を受けたときは、ユーザ端末に転送すべきファイルを選択して、転送プロトコル部23に転送ファイル指示を行なうS43、S44。選択するファイルの判断基準は、例えば、ファイルキャッシュ状態図9参照の上から順番に選ぶ方法がある。あるいは、過去のファイルプッシュの実績を記憶しておき、実績の多いもの、あるいは、実績の少ないものを優先して、ファイルキャッシュ状態に含まれるものを選択する方法がある。別の例として、図14に例示したように、ユーザ端末からのファイル転送要求に、プッシュされるファイルの候補従属転送要求ファイルの提示を受け、それに従って選択する方法もある。あるいは、図15に例示した、ユーザ端末が既に保有しているなどの理由でプッシュされるのを拒む候補拒絶ファイルの提示を受け、それらを避けて選択する方法もある。転送ファイル判断部26は、プッシュ指示部25から応答要求指示を受けたときは、要求ファイルの転送指示を転送プロトコル部23に行うS42、S45。その後、プッシュ指示をプッシュ指示部25から受けたときは、上記と同様の判断基準により、転送するファイルを選択し、選択したファイルの転送を転送プロトコル部23に指示するS47。プッシュ指示が来ないときは、処理を終了する。以上、本実施形態によれば、転送対象のファイルがストレージから読み出されるのに必要な時間に別のファイルを転送することで、限られた通信可能時間を最大限ファイル転送に有効利用することができる。つまり、近接無線のような高速な通信路を通じてファイル転送を行なう際に、極短時間の通信時間しか確保できない状況でも、限られた時間を有効に使用するファイル転送が可能となる。なお、以上に説明した本発明の実施形態におけるファイル転送装置は、例えば、汎用のコンピュータ装置を基本ハードウェアとして用いることでも実現することが可能である。すなわち、ファイル転送装置における各機能ブロックは、上記のコンピュータ装置に搭載されたプロセッサにプログラムを実行させることにより実現することができる。このとき、ファイル転送装置は、上記のプログラムをコンピュータ装置にあらかじめインストールすることで実現してもよいし、CD-ROMなどの記憶媒体に記憶して、あるいはネットワークを介して上記のプログラムを配布して、このプログラムをコンピュータ装置に適宜インストールすることで実現してもよい。また、当該ファイル転送装置のストレージ部は、上記のコンピュータ装置に内蔵あるいは外付けされたメモリ、ハードディスクもしくはCD-R、CD-RW、DVD-RAM、DVD-Rなどの記憶媒体などを適宜利用して実現することができる。