(57)【要約】【課題】適切な帯域にて効率的かつ確実にファイルを送受信し、処理時間を短縮する。【解決手段】ファイル受信装置２は、受信用バッファ２０７に所定領域を確保した後、送信要求ブロック番号及び確認応答（受信したデータパケットのブロック番号、開始パケット番号及び終了パケット番号）を記述した同期パケットをファイル送信装置１へ送信する。ファイル送信装置１は、同期パケットを受信し、送信要求ブロック番号のデータをパケット化し、データパケットをファイル受信装置２へ送信する。また、ファイル送信装置１は、確認応答と、既に送信済みのデータパケットのブロック番号及びパケット番号とを比較し、パケットロスを検出してロスが発生したデータパケットをファイル受信装置２へ再送する。これにより、輻輳制御を行うことなく確実にデータを送受信できる。また、ファイル受信装置２が要求するデータを、帯域を狭めることなく効率的に送受信できる。【選択図】図１
2011071764.tif 000002
【特許請求の範囲】
【請求項１】
ファイルのデータをパケット化し、データパケットを送信するファイル送信装置と、前記データパケットを受信し、ファイルを蓄積するファイル受信装置とを備えて構成されるファイル送受信システムにおいて、
前記ファイル受信装置は、
ファイルを蓄積する蓄積装置と、
データを一時的に保存する受信用バッファと、
前記受信用バッファに所定領域を確保し、前記所定領域に保存されるデータの送信を要求する情報、及び既に受信したデータパケットを識別する情報を記述した同期パケットを、所定周期で生成する受信管理手段と、
前記受信管理手段により生成された同期パケットを、前記ファイル送信装置へ送信する同期パケット送信手段と、
前記ファイル送信装置からデータパケットを受信し、前記データパケットから当該データパケットを識別する情報及びデータを取り出し、前記識別情報を前記受信管理手段に出力し、前記データを前記受信用バッファに保存するパケット受信手段と、
前記受信用バッファの所定領域にデータが保存されたときに、前記データを読み出し、ファイルとして前記蓄積装置に蓄積し、前記受信用バッファの所定領域に保存されたデータを削除するデータ出力手段と、を備え、
前記ファイル送信装置は、
送受信対象のファイルが蓄積された蓄積装置と、
送信済みのデータパケットを保存する再送用バッファと、
前記ファイル受信装置から同期パケットを受信する同期パケット受信手段と、
前記同期パケット受信手段により受信された同期パケットから、データの送信を要求する情報、及び既に受信したデータパケットを識別する情報を取り出し、前記データの送信を要求する情報に基づいて送信要求を出力し、前記既に受信したデータパケットを識別する情報に基づいてデータパケットの再送要求を出力する送信管理手段と、
前記蓄積装置からファイルを読み出すデータ入力手段と、
前記送信管理手段から送信要求を入力した場合、前記データ入力手段により読み出されたファイルのデータのうち、前記送信要求が示すデータをパケット化し、パケットデータを前記ファイル受信装置へ送信すると共に、前記パケットデータを前記再送用バッファに保存し、前記送信管理手段から再送要求を入力した場合、前記再送要求が示すデータパケットを前記再送用バッファから読み出し、前記読み出したデータパケットを前記ファイル受信装置へ送信するパケット送信手段と、を備えたことを特徴とするファイル送受信システム。
【請求項２】
請求項１に記載のファイル送受信システムにおいて、
前記ファイル受信装置の受信管理手段は、
前記受信用バッファに所定領域の空きの有無を判定し、前記空き有りを判定して前記所定領域を確保できた場合、前記所定領域に保存されるデータの送信を要求する情報を記述した同期パケットを生成し、前記空き無しを判定して前記受信用バッファに所定領域を確保できなかった場合、前記所定領域に保存されるデータの送信を要求する情報を記述することなく同期パケットを生成する、ことを特徴とするファイル受信装置。
【請求項３】
請求項１に記載のファイル送受信システムにおいて、
前記ファイル送信装置の送信管理手段は、
前記同期パケットに記述された、前記既に受信したデータパケットを識別する情報と、前記パケット送信手段により送信されたデータパケットを識別する情報とを比較し、前記比較により識別する情報が一致しない場合に、前記一致しない情報のデータパケットに対する再送要求を出力する、ことを特徴とするファイル送信装置。
【請求項４】
請求項１に記載のファイル送受信システムにおいて、
さらに、前記ファイル受信装置と前記ファイル送信装置との間で、同期パケット及びデータパケットを中継し、ファイルを蓄積するファイル中継装置を備え、
前記ファイル中継装置は、
ファイルを蓄積する蓄積装置と、
データを一時的に保存する受信用バッファと、
送信済みのデータパケットを保存する再送用バッファと、
前記ファイル受信装置から同期パケットを受信する同期パケット受信手段と、
前記同期パケット受信手段により受信された同期パケットを中継し、前記同期パケットを出力する同期パケット中継手段と、
前記同期パケット中継手段から前記同期パケットを入力し、前記受信用バッファに所定領域を確保し、前記同期パケットにおけるデータの送信を要求する情報、及び当該ファイル中継装置が既に受信したデータパケットを識別する情報を記述して新たな同期パケットを生成する受信管理手段と、
前記受信管理手段により生成された新たな同期パケットを、前記ファイル送信装置へ送信する同期パケット送信手段と、
前記ファイル送信装置からデータパケットを受信し、前記データパケットから当該データパケットを識別する情報及びデータを取り出し、前記識別情報を前記受信管理手段に出力し、前記データを前記受信用バッファに保存するパケット受信手段と、
前記受信用バッファの所定領域にデータが保存されたときに、前記データを読み出して出力し、ファイルとして前記蓄積装置に蓄積し、前記受信用バッファの所定領域に保存されたデータを削除するデータ出力手段と、
前記同期パケット受信手段により受信された同期パケットから、データの送信を要求する情報、及び既に受信したデータパケットを識別する情報を取り出し、前記データの送信を要求する情報に基づいて送信要求を出力し、前記既に受信したデータパケットを識別する情報に基づいてデータパケットの再送要求を出力する送信管理手段と、
前記データ出力手段からデータを入力し、前記送信管理手段から送信要求を入力した場合、前記送信要求が示すデータをパケット化し、パケットデータを前記ファイル受信装置へ送信すると共に、前記パケットデータを前記再送用バッファに保存し、前記送信管理手段から再送要求を入力した場合、前記再送要求が示すデータパケットを前記再送用バッファから読み出し、前記読み出したデータパケットを前記ファイル受信装置へ送信するパケット送信手段と、を備えたことを特徴とするファイル送受信システム。
【請求項５】
請求項１に記載のファイル送信装置と、データパケットを受信し、蓄積していたファイルの一部を、受信したデータパケットのデータに差替えて新たなファイルを蓄積するファイル差替え装置とを備えて構成されるファイル送受信システムにおいて、
前記ファイル差替え装置は、
ファイルを蓄積する蓄積装置と、
データを一時的に保存する受信用バッファと、
前記受信用バッファに所定領域を確保し、前記所定領域に保存されるデータの送信を要求する情報、及び既に受信したデータパケットを識別する情報を記述した同期パケットを、所定周期で生成する受信管理手段と、
前記受信管理手段により生成された同期パケットを、前記ファイル送信装置へ送信する同期パケット送信手段と、
前記ファイル送信装置からデータパケットを受信し、前記データパケットから当該データパケットを識別する情報及びデータを取り出し、前記識別情報を前記受信管理手段に出力し、前記データを前記受信用バッファに保存するパケット受信手段と、
前記受信用バッファの所定領域にデータが保存されたときに、前記データを読み出し、前記蓄積装置に蓄積されたファイルの一部を、前記読み出したデータに差替え、新たなファイルとして前記蓄積装置に蓄積し、前記受信用バッファの所定領域に保存されたデータを削除するファイル差替え手段と、を備えたことを特徴とするファイル送受信システム。
【請求項６】
請求項１に記載のファイル送信装置及びファイル受信装置と、前記ファイル受信装置と前記ファイル送信装置との間で、同期パケット及びデータパケットを中継し、蓄積していたファイルの一部を、受信したデータパケットのデータに差替えて新たなファイルを蓄積するファイル差替え装置とを備えて構成されるファイル送受信システムにおいて、
前記ファイル差替え装置は、
ファイルを蓄積する蓄積装置と、
データを一時的に保存する受信用バッファと、
送信済みのデータパケットを保存する再送用バッファと、
前記ファイル受信装置から同期パケットを受信する同期パケット受信手段と、
前記同期パケット受信手段により受信された同期パケットを中継し、前記同期パケットを出力する同期パケット中継手段と、
前記同期パケット中継手段から前記同期パケットを入力し、前記受信用バッファに所定領域を確保し、前記同期パケットにおけるデータの送信を要求する情報、及び当該ファイル中継装置が既に受信したデータパケットを識別する情報を記述して新たな同期パケットを生成する受信管理手段と、
前記受信管理手段により生成された新たな同期パケットを、前記ファイル送信装置へ送信する同期パケット送信手段と、
前記ファイル送信装置からデータパケットを受信し、前記データパケットから当該データパケットを識別する情報及びデータを取り出し、前記識別情報を前記受信管理手段に出力し、前記データを前記受信用バッファに保存するパケット受信手段と、
前記受信用バッファの所定領域にデータが保存されたときに、前記データを読み出して出力し、前記受信用バッファの所定領域に保存されたデータを削除するデータ出力手段と、
前記受信用バッファの所定領域にデータが保存されたときに、前記データを読み出し、前記蓄積装置に蓄積されたファイルの一部を、前記読み出したデータに差替え、新たなファイルとして前記蓄積装置に蓄積するファイル差替え手段と、
前記同期パケット受信手段により受信された同期パケットから、データの送信を要求する情報、及び既に受信したデータパケットを識別する情報を取り出し、前記データの送信を要求する情報に基づいて送信要求を出力し、前記既に受信したデータパケットを識別する情報に基づいてデータパケットの再送要求を出力する送信管理手段と、
前記データ出力手段からデータを入力し、前記送信管理手段から送信要求を入力した場合、前記送信要求が示すデータをパケット化し、パケットデータを前記ファイル受信装置へ送信すると共に、前記パケットデータを前記再送用バッファに保存し、前記送信管理手段から再送要求を入力した場合、前記再送要求が示すデータパケットを前記再送用バッファから読み出し、前記読み出したデータパケットを前記ファイル受信装置へ送信するパケット送信手段と、を備えたことを特徴とするファイル送受信システム。
【請求項７】
請求項１に記載のファイル送信装置を複数備え、請求項１に記載のファイル受信装置と、前記複数のファイル送信装置からデータパケットをそれぞれ受信し、前記データパケットのデータを合成してパケット化し、前記パケット化したデータパケットを前記ファイル受信装置へ送信するファイル合成装置とを備えて構成されるファイル送受信システムにおいて、
前記ファイル合成装置は、
前記複数のファイル送信装置にそれぞれ蓄積されたファイルのデータと、前記それぞれのデータを合成して得られる合成データとの間の対応関係が定義されたテーブルと、
データを一時的に保存する受信用バッファと、
送信済みのデータパケットを保存する再送用バッファと、
前記ファイル受信装置から、前記合成データの送信を要求する情報が記述された同期パケットを受信する同期パケット受信手段と、
前記同期パケット受信手段により受信された同期パケットを、前記テーブルに従って変換することにより、前記ファイル送信装置に蓄積されたファイルのデータの送信を要求する情報を第２の同期パケットに記述し、前記第２の同期パケットを前記ファイル送信装置毎に生成して出力する同期パケット変換手段と、
前記同期パケット変換手段から前記第２の同期パケットを入力し、前記受信用バッファに、前記ファイル送信装置毎の所定領域を確保し、前記第２の同期パケットにおけるデータの送信を要求する情報、及び当該ファイル合成装置が既に受信したデータパケットを識別する情報を第３の同期パケットに記述し、前記第３の同期パケットを前記ファイル送信装置毎に生成する受信管理手段と、
前記受信管理手段により生成された第３の同期パケットを、前記ファイル送信装置へそれぞれ送信する同期パケット送信手段と、
前記ファイル送信装置からデータパケットをそれぞれ受信し、前記データパケットから当該データパケットを識別する情報及びデータを取り出し、前記識別情報を前記受信管理手段に出力し、前記データを前記ファイル送信装置毎に前記受信用バッファに保存するパケット受信手段と、
前記受信用バッファにおける前記ファイル送信装置毎の所定領域にデータが保存されたときに、前記データを読み出し、前記テーブルに従って前記ファイル送信装置毎のデータを合成し合成データを出力し、前記受信用バッファにおける前記ファイル送信装置毎の所定領域に保存されたデータを削除するファイル合成手段と、
前記同期パケット受信手段により受信された同期パケットから、前記合成データの送信を要求する情報、及び既に受信したデータパケットを識別する情報を取り出し、前記合成データの送信を要求する情報に基づいて送信要求を出力し、前記既に受信したデータパケットを識別する情報に基づいてデータパケットの再送要求を出力する送信管理手段と、
前記ファイル合成手段から合成データを入力し、前記送信管理手段から送信要求を入力した場合、前記送信要求が示す合成データをパケット化し、パケットデータを前記ファイル受信装置へ送信すると共に、前記パケットデータを前記再送用バッファに保存し、前記送信管理手段から再送要求を入力した場合、前記再送要求が示すデータパケットを前記再送用バッファから読み出し、前記読み出したデータパケットを前記ファイル受信装置へ送信するパケット送信手段と、を備えたことを特徴とするファイル送受信システム。
【請求項８】
請求項１に記載のファイル送信装置を複数備え、前記複数のファイル送信装置からデータパケットをそれぞれ受信し、前記データパケットのデータを合成してファイルを蓄積するファイル合成装置を備えて構成されるファイル送受信システムにおいて、
前記ファイル合成装置は、
ファイルを蓄積する蓄積装置と、
データを一時的に保存する受信用バッファと、
前記受信用バッファに前記ファイル送信装置毎の所定領域を確保し、前記所定領域に保存されるデータの送信を要求する情報、及び既に受信したデータパケットを識別する情報を記述した同期パケットを、所定周期で前記ファイル送信装置毎に生成する受信管理手段と、
前記受信管理手段により生成された同期パケットを、前記ファイル送信装置へそれぞれ送信する同期パケット送信手段と、
前記ファイル送信装置からデータパケットをそれぞれ受信し、前記データパケットから当該データパケットを識別する情報及びデータを取り出し、前記識別情報を前記受信管理手段に出力し、前記データを前記ファイル送信装置毎に前記受信用バッファに保存するパケット受信手段と、
前記受信用バッファにおける前記ファイル送信装置毎の所定領域にデータが保存されたときに、前記データを読み出し、前記ファイル送信装置毎のデータを合成しファイルとして前記蓄積装置に蓄積し、前記受信用バッファにおける前記ファイル送信装置毎の所定領域に保存されたデータを削除するファイル合成手段と、を備えたことを特徴とするファイル送受信システム。
【請求項９】
請求項１、４から８までのいずれか一項に記載のファイル送受信システムにおいて、
前記同期パケットには、前記データの送信を要求する情報として、ファイルを所定サイズに分割した際のブロックデータの番号が記述される、ことを特徴とするファイル送受信システム。
【請求項１０】
請求項１、４から８までのいずれか一項に記載のファイル送受信システムにおいて、
前記ファイルを、複数のフレームにより構成された映像及び音声用ファイルとし、前記同期パケットには、前記データの送信を要求する情報として、前記映像及び音声用ファイルにおけるフレームの番号及びブロックの番号、または、前記映像及び音声ファイル内の位置を示すタイムコード及びブロックの番号が記述される、ことを特徴とするファイル送受信システム。
【請求項１１】
請求項１に記載のファイル送受信システムに備えたファイル受信装置。
【請求項１２】
請求項１に記載のファイル送受信システムに備えたファイル送信装置。
【請求項１３】
請求項４に記載のファイル送受信システムに備えたファイル中継装置。
【請求項１４】
請求項５または６に記載のファイル送受信システムに備えたファイル差替え装置。
【請求項１５】
請求項７または８に記載のファイル送受信システムに備えたファイル合成装置。
【請求項１６】
コンピュータを、請求項２若しくは１１に記載のファイル受信装置、請求項３若しくは１２に記載のファイル送信装置、請求項１３に記載のファイル中継装置、請求項１４に記載のファイル差替え装置、または請求項１５に記載のファイル合成装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークを介してファイルを送受信するシステムにおいて、受信側からの指示に従って送信側がファイルを送信する技術に関する。また、ファイルを送受信しながら、ファイルを中継、差替え、または合成する技術に関する。
【背景技術】
【０００２】
従来、ネットワークを介してファイルを送受信するシステムでは、送信側と受信側との間で、ＴＣＰ／ＩＰプロトコルを用いたＦＴＰプロトコルが使用されている。しかしながら、送信側と受信側との間の距離が長い場合には、ＲＴＴ（ラウンドトリップタイム）が長くなってしまうことがあり得る。このようなＲＴＴが長くなる環境では、受信側が確認応答、ブロック送信要求、受信可能な帯域等の情報を送信してから、送信側がこれらの情報を受信するまでの間の時間（情報の到達時間）がかかってしまう。このため、送信側は、受信側にて受信可能なバッファ容量をリアルタイムに把握することが困難になり、送信側が、受信側にて受信可能なバッファ容量以上のデータを送信したり、受信可能な帯域を大きく下回って送信したりする。また、パケットロス等により転送速度が落ちてしまうと、輻輳制御またはスロースタートが影響して、適切なウィンドウサイズにするまで時間がかかってしまう。したがって、ＲＴＴが長くなる環境では、適切な帯域でファイルを送受信することが困難であった。
【０００３】
一方、輻輳制御等の機能を持たないプロトコルとして、ＵＤＰ／ＩＰプロトコルが知られている。このＵＤＰ／ＩＰプロトコルを、ファイルを送受信するシステムに使用した場合、長距離のファイル送受信を行いＲＴＴが長くなる環境であっても、ファイル送受信を高速に行うことができる。しかしながら、ＵＤＰ／ＩＰ自体にはパケット到達の保証が無いため、別の方法で信頼性を確保することが必要となる。
【０００４】
そこで、前述のＵＤＰ／ＩＰプロトコルを使用することを前提にして、受信側から送信側へ制御パケットを送信することにより、ファイル送受信の信頼性を確保することが可能なＵＤＴプロトコルが考案されている（非特許文献１を参照）。
【０００５】
また、ファイル送受信の高速化を実現するために、複数のＴＣＰコネクションを張って並列にファイル転送を行うプロトコルとして、Ｇｒｉｄ  ＦＴＰ（Ｇｒｉｄ  Ｆｉｌｅ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）が知られており（非特許文献２を参照）、また、ＳＶＦＴＰ（Ｓｗｉｆｔ  Ｖｉｄｅｏ  Ｆｉｌｅ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）も知られている（特許文献１を参照）。
【０００６】
ＵＤＴプロトコルでは、定期的に帯域幅を測定し、その帯域に合わせてデータを転送する方式が用いられる。しかしながら、同じネットワーク内で複数のファイル転送が行われた場合、帯域の奪い合いが発生し、適切な帯域でファイルを転送することが困難になる。
【０００７】
Ｇｒｉｄ  ＦＴＰ及びＳＶＦＴＰでは、複数のＴＣＰコネクションを張って並列にファイル転送を行う方式が用いられる。このような方式で帯域を生かした転送を行うには、その帯域に合わせた適切なコネクション数等のパラメータを予め決定しておく必要がある。しかしながら、同じネットワーク内で複数のファイル転送が次々に行われることにより、ネットワーク環境が変動する場合には、その変動に対応することが困難である。
【０００８】
また、ファイルの転送速度を保ちつつデータ到達の信頼性を確保するために、受信側が、受信したデータパケットを識別するための情報を確認応答として設定し、この確認応答を送信側へ通知することにより、送信側が、受信側へ到達したデータパケットを判別する手法がある。確認応答には、受信開始から連続して受信できている最新のパケット番号を通知する累積型の他に、どのパケットが到達したかを詳細に送信側へ通知するＳＡＣＫ（Ｓｅｌｅｃｔｉｖｅ  Ａｃｋｎｏｗｌｅｄｍｅｎｔ）オプションがある。ＳＡＣＫオプションを用いた場合には、受信側は、受信開始から確認応答の通知を行う時点までに受信したデータブロックのうち、新しい順番で最大４つの連続するデータブロックの確認応答を通知することができる。
【０００９】
〔放送局におけるファイル転送〕
ところで、放送局では、従来、映像・音声素材の情報はテープに保存されていたが、昨今はテープレス化、すなわちテープに代わってファイルとしてサーバーに保存されるようになっている。また、サーバー管理の下で、同一のファイルを複数のサーバーにコピーすることにより、信頼性の向上を図っている。具体的には、ファイル送信装置から複数のファイル受信装置へのリンク等を共有しているとき、ファイルの宛先であるファイル受信装置毎にネットワーク帯域を分割してファイル送信を行うか、または、ファイル受信装置毎にファイル送信装置から繰り返してファイル送信を行うことにより、ファイル送信装置から複数のファイル受信装置へファイルを送信し、同一のファイルを複数のサーバーにコピーする。
【００１０】
また、放送局では、サーバーからネットワークを介して他のサーバーへ向けてファイルを高速に送信する要求が高まっている中、ファイルのデータ差替え（ファイル差替え）、ファイルのデータ合成（ファイル合成）等の各種処理を行う場合がある。従来のファイル送受信システムでは、ファイル送信装置からファイル受信装置へファイル全体を送信した後、ファイル受信装置が、受信したファイルから必要な部分を取り出して、ファイル差替え等の各種処理を行っていた。このため、ファイル送信装置からファイル受信装置へファイルを送信し、各種処理を完了するまでに時間がかかり、待ち時間が発生するという問題があった。
【００１１】
図２０は、ファイル差替え処理の概要を説明する図である。図中、元のファイルは、タイムコードＡからＢまでの間で複数のフレームにより構成されており、タイムコードＸからＹまでの間にもフレームを含んでいる。差替え用フレームは、タイムコードＶからＷまでの間のフレームにより構成されている。ここでのファイル差替え処理とは、元のファイルにおいて、タイムコードＸからＹまでの間のフレームを、ファイル受信装置が受信したファイルのうちのタイムコードＶからＷまでの間のフレームに差替え、新たなファイルを生成することをいう。ファイル差替え処理により、タイムコードＡからＢまでのうち、タイムコードＸからＹまでの間に前述の差替え用フレームを含む、差替え後のファイルが生成される。
【００１２】
図２１は、ファイル合成処理の概要を説明する図である。図中、ファイル１は、タイムコードＶからＷまでのうち、タイムコードＡからＢまでの間に合成対象である第１のフレーム（複数フレーム）を含んで構成されている。また、ファイル２は、タイムコードＸからＹまでのうち、タイムコードＣからＤまでの間に合成対象である第２のフレーム（複数フレーム）を含んで構成されている。ここでのファイル合成処理とは、ファイル受信装置が受信したファイル１における第１のフレーム、及び、ファイル受信装置が受信したファイル２における第２のフレームを用いて、第１のフレームの後ろに第２のフレームを結合し、新たなファイルを生成することをいう。ファイル合成処理により、タイムコードＥからＥ’までの間の第１のフレームと、タイムコードＥ’からＦまでの間の第２のフレームとからなる合成後のファイルが生成される。このようなカット編集の他、ワイプ、ディゾルブ等の効果を得るために結合する処理もある。
【００１３】
図２０に示したファイル差替え処理、及び図２１に示したファイル合成処理では、ファイルをフレーム単位またはブロック単位で扱うことが必要である。例えば、ファイルをフレーム単位に扱うことが可能なＭＸＦ（Ｍａｔｅｒｉａｌ  Ｅｘｃｈａｎｇｅ  Ｆｏｒｍａｔ）ファイルを用いることができる。ＭＸＦファイルは、映像・音声素材の情報を送受信するのに適している。ＭＸＦは、ＳＭＰＴＥで規格化されたファイルフォーマットであり、データを包み込むラッパーという概念によって、圧縮内容に関わらず、フレーム単位で操作できるという特徴がある。
【００１４】
このように、従来のファイル送受信システムでは、ファイルの送受信を行って、ファイル受信装置において図２０に示したファイル差替え処理または図２１に示したファイル合成処理を行う場合に時間がかかり、待ち時間が発生するという問題があった。この場合、ファイルを送受信しているときに、同時にファイル差替え処理またはファイル合成処理を行うことができれば、処理時間の短縮が可能となる。
【先行技術文献】
【特許文献】
【００１５】
【特許文献１】特開２００１−２４７３３号公報
【非特許文献】
【００１６】
【非特許文献１】Y.Gu et al.,“Experiences in the design and implementation of a high performance transport protocol”,in SC2004,Nov.2004
【非特許文献２】W.Allcock et al.,“GridFTP: Protocol extensions to FTP for the Grid”,GGF Document Series GFD.20,April 2003
【発明の概要】
【発明が解決しようとする課題】
【００１７】
従来のファイル送受信システムでは、以下の（１）〜（４）の問題があった。
（１）ＲＴＴが長い環境では、適切な帯域でファイルを送受信することが困難である。
（２）ＳＡＣＫオプションを用いた場合、全てのパケットロスを一度の応答で正確に認識できるとは限らない。
（３）ファイル送信装置から複数のファイル受信装置へ同一ファイルを送信する場合、帯域が分割されて転送速度が低下したり、遅延が発生したりする。
（４）ファイル差替え処理またはファイル合成処理を行う場合、時間がかかる。
以下、（１）〜（４）について詳細に説明する。
【００１８】
（１）ＲＴＴが長い環境における帯域変動
前述のように、長距離のファイル送受信を行う際に、ＲＴＴ（ラウンドトリップタイム）が長くなる場合がある。このような環境の下で、例えば、確認応答を行うＴＣＰのようなプロトコルを用いる場合には、ファイル受信装置からファイル送信装置へ、ファイル受信装置の受信可能なバッファ容量を通知するのに時間がかかってしまう。このため、ファイル送信装置は、ファイル受信装置の受信可能なバッファ容量以上のデータを送信したり、受信可能な帯域を大きく下回って送信したりする。この場合、ファイル送信装置は、その度にスロースタート等の輻輳制御を行って、転送速度を落とす等の処理を行う。しかしながら、適切なビットレートに戻す時間も含めて、使用可能な帯域を生かした転送ができない時間が発生し、適切な帯域でファイルを送受信することができないという問題があった。
【００１９】
また、例えば、輻輳制御を行わずに、受信可能な帯域を監視してファイル送信装置へ通知する転送プロトコルを用いる場合、複数の転送が同一ネットワークで行われてネットワークの利用可能帯域が変動したときに、その変動に追従して転送速度を調整することが困難であるという問題があった。
【００２０】
（２）パケットロスに伴う再送処理の困難性
大きなサイズのファイルを高速に送受信するファイル送受信システムでは、パケットロスが間欠的に発生する場合がある。この問題を解決するためにＳＡＣＫオプションを用いる手法があるが、全てのパケットロスを一度の応答で正確に認識することが困難であるという問題があった。これは、ＳＡＣＫオプションの確認応答により、最大４つの連続するデータブロックに対してパケットロスを認識できるに過ぎないからである。
【００２１】
例えば、ファイル送信装置がパケット番号１〜５９９のデータパケットをファイル受信装置へ送信し、ファイル受信装置がＳＡＣＫオプションにより確認応答をファイル送信装置へ通知するファイル送受信システムにおいて、パケット番号１００，２００，３００，４００，５００のデータパケットがパケットロスした場合を想定する。いま、ファイル受信装置が１番目の確認応答を生成するまでに、ファイル送信装置がパケット番号１〜１５０のデータパケットを送信し、ファイル受信装置が２番目の確認応答を生成するまでに、ファイル送信装置がパケット番号１５１〜５９９のデータパケットを送信したとする。ＳＡＣＫオプションにより、１番目の確認応答にてパケット番号１０１−１５０が通知されたとすると、ファイル送信装置は、累積型確認応答の１−９９と合わせて、パケットロスしたパケット番号１００を判別することができる。そして、２番目の確認応答にてパケット番号５０１−５９９，４０１−４９９，３０１−３９９，２０１−２９９が通知されたとすると、ファイル送信装置は、パケットロスしたパケット番号５００，４００，３００を判別することができる。しかし、累積型確認応答が１−９９のままであるため、前回のＳＡＣＫオプションの確認応答により通知したパケット番号１０１−１５０と合わせても、パケットロスしたパケット番号２００を判別することができない。したがって、ＳＡＣＫオプションを用いたとしても、全てのパケットロスを正確に認識することができない場合があるという問題があった。特に、ＲＴＴが長い環境では、間欠的に発生するパケットロスが多くなると、高速な再送処理が困難になり、転送速度が低下してしまうという問題があった。
【００２２】
（３）同一ファイル送信時の遅延
ファイル送信装置から複数のファイル受信装置へのリンク等を共有している場合、ファイル送信装置が複数のファイル受信装置へ同一のファイルを送信するときには、並列に同時に送信する方式、または、ファイル受信装置毎に順番に送信する方式が用いられる。前者の方式を用いた場合、帯域が分割されるから、全体的に速度が低下してしまう。後者の方式を用いた場合、送信順番が後のファイル受信装置は、送信順番を待つ必要があり転送遅延が大きくなるから、ファイル送信装置によりファイルの送信が開始されてから実際にファイルを受信するまでに、時間がかかってしまう。
【００２３】
（４）ファイル差替え処理時及びファイル合成処理時の遅延
ファイル全体を指定して転送要求するプロトコルを用いた場合、ファイル受信装置が、ネットワーク内の装置に蓄積されている、例えば映像・音声ファイルの一部分を必要としており、この一部分によりファイル差替え処理またはファイル合成処理を行う場合であっても、ファイルの全データを受信した後に必要な一部分のデータを取り出し、処理を行う。このため、これらの処理を完了するまでに時間がかかり、ネットワーク資源を消費し、蓄積領域も消費するという問題があった。
【００２４】
そこで、本発明は前記課題を解決するためになされたものであり、その目的は、適切な帯域にて効率的かつ確実にファイルを送受信し、処理時間の短縮化を図ることが可能なファイル送受信システム、ファイル受信装置、ファイル送信装置、ファイル中継装置、ファイル差替え装置、ファイル合成装置及びプログラムを提供することにある。
【課題を解決するための手段】
【００２５】
前記目的を達成するために、本発明によるファイル送受信システムは、ファイルのデータをパケット化し、データパケットを送信するファイル送信装置と、前記データパケットを受信し、ファイルを蓄積するファイル受信装置とを備えて構成されるファイル送受信システムにおいて、前記ファイル受信装置が、ファイルを蓄積する蓄積装置と、データを一時的に保存する受信用バッファと、前記受信用バッファに所定領域を確保し、前記所定領域に保存されるデータの送信を要求する情報、及び既に受信したデータパケットを識別する情報を記述した同期パケットを、所定周期で生成する受信管理手段と、前記受信管理手段により生成された同期パケットを、前記ファイル送信装置へ送信する同期パケット送信手段と、前記ファイル送信装置からデータパケットを受信し、前記データパケットから当該データパケットを識別する情報及びデータを取り出し、前記識別情報を前記受信管理手段に出力し、前記データを前記受信用バッファに保存するパケット受信手段と、前記受信用バッファの所定領域にデータが保存されたときに、前記データを読み出し、ファイルとして前記蓄積装置に蓄積し、前記受信用バッファの所定領域に保存されたデータを削除するデータ出力手段と、を備え、前記ファイル送信装置が、送受信対象のファイルが蓄積された蓄積装置と、送信済みのデータパケットを保存する再送用バッファと、前記ファイル受信装置から同期パケットを受信する同期パケット受信手段と、前記同期パケット受信手段により受信された同期パケットから、データの送信を要求する情報、及び既に受信したデータパケットを識別する情報を取り出し、前記データの送信を要求する情報に基づいて送信要求を出力し、前記既に受信したデータパケットを識別する情報に基づいてデータパケットの再送要求を出力する送信管理手段と、前記蓄積装置からファイルを読み出すデータ入力手段と、前記送信管理手段から送信要求を入力した場合、前記データ入力手段により読み出されたファイルのデータのうち、前記送信要求が示すデータをパケット化し、パケットデータを前記ファイル受信装置へ送信すると共に、前記パケットデータを前記再送用バッファに保存し、前記送信管理手段から再送要求を入力した場合、前記再送要求が示すデータパケットを前記再送用バッファから読み出し、前記読み出したデータパケットを前記ファイル受信装置へ送信するパケット送信手段と、を備えたことを特徴とする。
【００２６】
また、本発明によるファイル受信装置は、前記ファイル送受信システムにおいて、前記ファイル受信装置の受信管理手段が、前記受信用バッファに所定領域の空きの有無を判定し、前記空き有りを判定して前記所定領域を確保できた場合、前記所定領域に保存されるデータの送信を要求する情報を記述した同期パケットを生成し、前記空き無しを判定して前記受信用バッファに所定領域を確保できなかった場合、前記所定領域に保存されるデータの送信を要求する情報を記述することなく同期パケットを生成する、ことを特徴とする。
【００２７】
また、本発明によるファイル送信装置は、前記ファイル送受信システムにおいて、前記ファイル送信装置の送信管理手段が、前記同期パケットに記述された、前記既に受信したデータパケットを識別する情報と、前記パケット送信手段により送信されたデータパケットを識別する情報とを比較し、前記比較により識別する情報が一致しない場合に、前記一致しない情報のデータパケットに対する再送要求を出力する、ことを特徴とする。
【００２８】
また、本発明によるファイル送受信システムは、さらに、前記ファイル受信装置と前記ファイル送信装置との間で、同期パケット及びデータパケットを中継し、ファイルを蓄積するファイル中継装置を備え、前記ファイル中継装置が、ファイルを蓄積する蓄積装置と、データを一時的に保存する受信用バッファと、送信済みのデータパケットを保存する再送用バッファと、前記ファイル受信装置から同期パケットを受信する同期パケット受信手段と、前記同期パケット受信手段により受信された同期パケットを中継し、前記同期パケットを出力する同期パケット中継手段と、前記同期パケット中継手段から前記同期パケットを入力し、前記受信用バッファに所定領域を確保し、前記同期パケットにおけるデータの送信を要求する情報、及び当該ファイル中継装置が既に受信したデータパケットを識別する情報を記述して新たな同期パケットを生成する受信管理手段と、前記受信管理手段により生成された新たな同期パケットを、前記ファイル送信装置へ送信する同期パケット送信手段と、前記ファイル送信装置からデータパケットを受信し、前記データパケットから当該データパケットを識別する情報及びデータを取り出し、前記識別情報を前記受信管理手段に出力し、前記データを前記受信用バッファに保存するパケット受信手段と、前記受信用バッファの所定領域にデータが保存されたときに、前記データを読み出して出力し、ファイルとして前記蓄積装置に蓄積し、前記受信用バッファの所定領域に保存されたデータを削除するデータ出力手段と、前記同期パケット受信手段により受信された同期パケットから、データの送信を要求する情報、及び既に受信したデータパケットを識別する情報を取り出し、前記データの送信を要求する情報に基づいて送信要求を出力し、前記既に受信したデータパケットを識別する情報に基づいてデータパケットの再送要求を出力する送信管理手段と、前記データ出力手段からデータを入力し、前記送信管理手段から送信要求を入力した場合、前記送信要求が示すデータをパケット化し、パケットデータを前記ファイル受信装置へ送信すると共に、前記パケットデータを前記再送用バッファに保存し、前記送信管理手段から再送要求を入力した場合、前記再送要求が示すデータパケットを前記再送用バッファから読み出し、前記読み出したデータパケットを前記ファイル受信装置へ送信するパケット送信手段と、を備えたことを特徴とする。
【００２９】
また、本発明によるファイル送受信システムは、前記ファイル送信装置と、データパケットを受信し、蓄積していたファイルの一部を、受信したデータパケットのデータに差替えて新たなファイルを蓄積するファイル差替え装置とを備えて構成されるファイル送受信システムにおいて、前記ファイル差替え装置が、ファイルを蓄積する蓄積装置と、データを一時的に保存する受信用バッファと、前記受信用バッファに所定領域を確保し、前記所定領域に保存されるデータの送信を要求する情報、及び既に受信したデータパケットを識別する情報を記述した同期パケットを、所定周期で生成する受信管理手段と、前記受信管理手段により生成された同期パケットを、前記ファイル送信装置へ送信する同期パケット送信手段と、前記ファイル送信装置からデータパケットを受信し、前記データパケットから当該データパケットを識別する情報及びデータを取り出し、前記識別情報を前記受信管理手段に出力し、前記データを前記受信用バッファに保存するパケット受信手段と、前記受信用バッファの所定領域にデータが保存されたときに、前記データを読み出し、前記蓄積装置に蓄積されたファイルの一部を、前記読み出したデータに差替え、新たなファイルとして前記蓄積装置に蓄積し、前記受信用バッファの所定領域に保存されたデータを削除するファイル差替え手段と、を備えたことを特徴とする。
【００３０】
また、本発明によるファイル送受信システムは、前記ファイル送信装置及びファイル受信装置と、前記ファイル受信装置と前記ファイル送信装置との間で、同期パケット及びデータパケットを中継し、蓄積していたファイルの一部を、受信したデータパケットのデータに差替えて新たなファイルを蓄積するファイル差替え装置とを備えて構成されるファイル送受信システムにおいて、前記ファイル差替え装置が、ファイルを蓄積する蓄積装置と、データを一時的に保存する受信用バッファと、送信済みのデータパケットを保存する再送用バッファと、前記ファイル受信装置から同期パケットを受信する同期パケット受信手段と、前記同期パケット受信手段により受信された同期パケットを中継し、前記同期パケットを出力する同期パケット中継手段と、前記同期パケット中継手段から前記同期パケットを入力し、前記受信用バッファに所定領域を確保し、前記同期パケットにおけるデータの送信を要求する情報、及び当該ファイル差替え装置が既に受信したデータパケットを識別する情報を記述して新たな同期パケットを生成する受信管理手段と、前記受信管理手段により生成された新たな同期パケットを、前記ファイル送信装置へ送信する同期パケット送信手段と、前記ファイル送信装置からデータパケットを受信し、前記データパケットから当該データパケットを識別する情報及びデータを取り出し、前記識別情報を前記受信管理手段に出力し、前記データを前記受信用バッファに保存するパケット受信手段と、前記受信用バッファの所定領域にデータが保存されたときに、前記データを読み出して出力し、前記受信用バッファの所定領域に保存されたデータを削除するデータ出力手段と、前記受信用バッファの所定領域にデータが保存されたときに、前記データを読み出し、前記蓄積装置に蓄積されたファイルの一部を、前記読み出したデータに差替え、新たなファイルとして前記蓄積装置に蓄積するファイル差替え手段と、前記同期パケット受信手段により受信された同期パケットから、データの送信を要求する情報、及び既に受信したデータパケットを識別する情報を取り出し、前記データの送信を要求する情報に基づいて送信要求を出力し、前記既に受信したデータパケットを識別する情報に基づいてデータパケットの再送要求を出力する送信管理手段と、前記データ出力手段からデータを入力し、前記送信管理手段から送信要求を入力した場合、前記送信要求が示すデータをパケット化し、パケットデータを前記ファイル受信装置へ送信すると共に、前記パケットデータを前記再送用バッファに保存し、前記送信管理手段から再送要求を入力した場合、前記再送要求が示すデータパケットを前記再送用バッファから読み出し、前記読み出したデータパケットを前記ファイル受信装置へ送信するパケット送信手段と、を備えたことを特徴とする。
【００３１】
また、本発明によるファイル送受信システムは、前記ファイル送信装置を複数備え、前記ファイル受信装置と、前記複数のファイル送信装置からデータパケットをそれぞれ受信し、前記データパケットのデータを合成してパケット化し、前記パケット化したデータパケットを前記ファイル受信装置へ送信するファイル合成装置とを備えて構成されるファイル送受信システムにおいて、前記ファイル合成装置が、前記複数のファイル送信装置にそれぞれ蓄積されたファイルのデータと、前記それぞれのデータを合成して得られる合成データとの間の対応関係が定義されたテーブルと、データを一時的に保存する受信用バッファと、送信済みのデータパケットを保存する再送用バッファと、前記ファイル受信装置から、前記合成データの送信を要求する情報が記述された同期パケットを受信する同期パケット受信手段と、前記同期パケット受信手段により受信された同期パケットを、前記テーブルに従って変換することにより、前記ファイル送信装置に蓄積されたファイルのデータの送信を要求する情報を第２の同期パケットに記述し、前記第２の同期パケットを前記ファイル送信装置毎に生成して出力する同期パケット変換手段と、前記同期パケット変換手段から前記第２の同期パケットを入力し、前記受信用バッファに、前記ファイル送信装置毎の所定領域を確保し、前記第２の同期パケットにおけるデータの送信を要求する情報、及び当該ファイル合成装置が既に受信したデータパケットを識別する情報を第３の同期パケットに記述し、前記第３の同期パケットを前記ファイル送信装置毎に生成する受信管理手段と、前記受信管理手段により生成された第３の同期パケットを、前記ファイル送信装置へそれぞれ送信する同期パケット送信手段と、前記ファイル送信装置からデータパケットをそれぞれ受信し、前記データパケットから当該データパケットを識別する情報及びデータを取り出し、前記識別情報を前記受信管理手段に出力し、前記データを前記ファイル送信装置毎に前記受信用バッファに保存するパケット受信手段と、前記受信用バッファにおける前記ファイル送信装置毎の所定領域にデータが保存されたときに、前記データを読み出し、前記テーブルに従って前記ファイル送信装置毎のデータを合成し合成データを出力し、前記受信用バッファにおける前記ファイル送信装置毎の所定領域に保存されたデータを削除するファイル合成手段と、前記同期パケット受信手段により受信された同期パケットから、前記合成データの送信を要求する情報、及び既に受信したデータパケットを識別する情報を取り出し、前記合成データの送信を要求する情報に基づいて送信要求を出力し、前記既に受信したデータパケットを識別する情報に基づいてデータパケットの再送要求を出力する送信管理手段と、前記ファイル合成手段から合成データを入力し、前記送信管理手段から送信要求を入力した場合、前記送信要求が示す合成データをパケット化し、パケットデータを前記ファイル受信装置へ送信すると共に、前記パケットデータを前記再送用バッファに保存し、前記送信管理手段から再送要求を入力した場合、前記再送要求が示すデータパケットを前記再送用バッファから読み出し、前記読み出したデータパケットを前記ファイル受信装置へ送信するパケット送信手段と、を備えたことを特徴とする。
【００３２】
また、本発明によるファイル送受信システムは、前記ファイル送信装置を複数備え、前記複数のファイル送信装置からデータパケットをそれぞれ受信し、前記データパケットのデータを合成してファイルを蓄積するファイル合成装置を備えて構成されるファイル送受信システムにおいて、前記ファイル合成装置が、ファイルを蓄積する蓄積装置と、データを一時的に保存する受信用バッファと、前記受信用バッファに前記ファイル送信装置毎の所定領域を確保し、前記所定領域に保存されるデータの送信を要求する情報、及び既に受信したデータパケットを識別する情報を記述した同期パケットを、所定周期で前記ファイル送信装置毎に生成する受信管理手段と、前記受信管理手段により生成された同期パケットを、前記ファイル送信装置へそれぞれ送信する同期パケット送信手段と、前記ファイル送信装置からデータパケットをそれぞれ受信し、前記データパケットから当該データパケットを識別する情報及びデータを取り出し、前記識別情報を前記受信管理手段に出力し、前記データを前記ファイル送信装置毎に前記受信用バッファに保存するパケット受信手段と、前記受信用バッファにおける前記ファイル送信装置毎の所定領域にデータが保存されたときに、前記データを読み出し、前記ファイル送信装置毎のデータを合成しファイルとして前記蓄積装置に蓄積し、前記受信用バッファにおける前記ファイル送信装置毎の所定領域に保存されたデータを削除するファイル合成手段と、を備えたことを特徴とする。
【００３３】
また、本発明によるファイル送受信システムは、前記同期パケットには、前記データの送信を要求する情報として、ファイルを所定サイズに分割した際のブロックの番号が記述される、ことを特徴とする。
【００３４】
また、本発明によるファイル送受信システムは、前記ファイルを、複数のフレームにより構成された映像及び音声用ファイルとし、前記同期パケットには、前記データの送信を要求する情報として、前記映像及び音声用ファイルにおけるフレームの番号及びブロックの番号、または、前記映像及び音声ファイル内の位置を示すタイムコード及びブロックの番号が記述される、ことを特徴とする。
【００３５】
さらに、本発明は、前記ファイル送受信システムに備えたファイル受信装置にある。
【００３６】
また、本発明は、前記ファイル送受信システムに備えたファイル送信装置にある。
【００３７】
また、本発明は、前記ファイル送受信システムに備えたファイル中継装置にある。
【００３８】
また、本発明は、前記ファイル送受信システムに備えたファイル差替え装置にある。
【００３９】
また、本発明は、前記ファイル送受信システムに備えたファイル合成装置にある。
【００４０】
さらに、本発明は、コンピュータを、前記ファイル受信装置、ファイル送信装置、ファイル中継装置、ファイル差替え装置またはファイル合成装置として機能させるためのプログラムにある。
【発明の効果】
【００４１】
以上のように、本発明によれば、データパケットを受信する装置が、受信用バッファに所定領域を確保した後に、データの送信を要求する情報、及び受信したデータパケットを識別する情報を記述した同期パケットを生成し、同期パケットを送信するようにした。また、データパケットを送信する装置が、同期パケットを受信し、データの送信を要求する情報に基づいてデータパケットの送信を行い、受信したデータパケットを識別する情報に基づいてデータパケットの再送信を行うようにした。また、本発明によれば、同期パケットを用いてファイルの送受信を行いながら、ファイルの差替えまたは合成を行うようにした。これにより、適切な帯域にて効率的かつ確実にファイルを送受信し、処理時間の短縮化を図ることが可能となる。また、ファイルの差替え等の編集処理を効率的に行うことが可能となる。
【図面の簡単な説明】
【００４２】
【図１】本発明の第１の実施形態（実施例１）によるファイル送受信システムの構成を示すブロック図である。
【図２】本発明の第２の実施形態（実施例２）によるファイル送受信システムの構成を示すブロック図である。
【図３】本発明の第３の実施形態（実施例３）によるファイル送受信システムの構成を示すブロック図である。
【図４】本発明の第４の実施形態（実施例４）によるファイル送受信システムの構成を示すブロック図である。
【図５】ファイル受信装置の処理を説明するフローチャートである。
【図６】ファイル送信装置の処理を説明するフローチャートである。
【図７】ファイル中継装置の処理を説明するフローチャートである。
【図８】ファイル差替え中継装置の処理を説明するフローチャートである。
【図９】ファイル合成中継装置の処理を説明するフローチャートである。
【図１０】実施例１のファイル送受信処理を説明するシーケンス図である。
【図１１】実施例２のファイル中継処理を説明するシーケンス図である。
【図１２】実施例３のファイル差替え処理を説明するシーケンス図である。
【図１３】実施例４のファイル合成処理を説明するシーケンス図である。
【図１４】データパケットの構造を示す図である。
【図１５】ＭＸＦファイルデータパケットの構造を示す図である。
【図１６】同期パケットの構造を示す図である。
【図１７】受信用バッファに保存されるデータを説明する図である。
【図１８】ファイルの構成を説明する図である。
【図１９】ＭＸＦファイルの構成を説明する図である。
【図２０】ファイル差替え処理の概要を説明する図である。
【図２１】ファイル合成処理の概要を説明する図である。
【発明を実施するための形態】
【００４３】
以下、本発明を実施するための形態について、図面を参照して説明する。本発明の第１の実施形態（実施例１）は、ファイル送信装置及びファイル受信装置がネットワークを介して接続されるファイル送受信システムにおいて、ファイル受信装置が、保存領域を確保してから同期パケットをファイル送信装置へ送信し、ファイル送信装置が、同期パケットに基づいて、データパケットをファイル受信装置へ送信する。これにより、ファイル送信装置は、蓄積したファイルを、適切な帯域にて効率的にかつ確実にファイル受信装置へ送信することができる。また、輻輳制御が不要になるから、処理時間を短縮することができる。
【００４４】
実施例２は、ファイル送信装置及びファイル中継装置がネットワークを介して接続され、ファイル中継装置及びファイル受信装置がネットワークを介して接続されるファイル送受信システムにおいて、ファイル受信装置が、保存領域を確保してから同期パケットをファイル中継装置へ送信し、ファイル中継装置が、ファイル受信装置から受信する同期パケットに基づいて、保存領域を確保した後に同期パケットをファイル送信装置へ送信し、ファイル送信装置から受信するデータパケットをファイル受信装置へ送信し、ファイル送信装置が、ファイル中継装置から受信する同期パケットに基づいて、データパケットをファイル中継装置へ送信する。これにより、ファイル送信装置は、蓄積したファイルを、適切な帯域にて効率的にかつ確実にファイル中継装置及びファイル受信装置へ送信することができ、処理時間を短縮することができる。
【００４５】
実施例３は、ファイル送信装置及びファイル差替え中継装置がネットワークを介して接続され、ファイル差替え中継装置及びファイル差替え受信装置がネットワークを介して接続されるファイル送受信システムにおいて、ファイル差替え中継装置が実施例２のファイル中継装置に対応し、ファイル差替え受信装置が実施例２のファイル受信装置に対応して、実施例２と同様に同期パケット及びデータパケットを送受信し、さらに、ファイル差替え中継装置及びファイル差替え受信装置が、蓄積していた元のファイルの一部を、受信したデータパケットのデータにより差替える。これにより、ファイル送信装置は、蓄積したファイルを、適切な帯域にて効率的にかつ確実にファイル差替え中継装置及びファイル差替え受信装置へ送信することができる。また、ファイルを送受信しながら元のファイルの一部を差替えることができるから、処理時間を短縮することができる。
【００４６】
実施例４は、２台のファイル送信装置及びファイル合成中継装置がネットワークを介して接続され、ファイル合成中継装置及びファイル差替え受信装置がネットワークを介して接続されるファイル送受信システムにおいて、ファイル合成中継装置が実施例３のファイル差替え中継装置に対応して、実施例３と同様に同期パケット及びデータパケットを送受信し、さらに、ファイル合成中継装置が、第１のファイル送信装置から受信したデータと、第２のファイル送信装置から受信したデータとを合成して新たなファイルを生成し、新たなファイルのデータをファイル差替え受信装置へ送信する。これにより、２台のファイル送信装置は、蓄積したファイルのデータを、適切な帯域にて効率的にかつ確実にファイル合成中継装置へ送信し、ファイル合成中継装置は、合成した新たなファイルのデータを、適切な帯域にて効率的にかつ確実にファイル差替え受信装置へ送信することができる。また、ファイルを送受信しながらファイルを合成することができるから、処理時間を短縮することができる。以下、実施例１〜４について詳細に説明する。
【実施例１】
【００４７】
まず、実施例１について説明する。実施例１のファイル送受信システムは、ファイル送信装置のファイルを、同期パケットを用いてファイル受信装置へ送信して蓄積する基本的な処理を行う。
【００４８】
〔構成〕
図１は、実施例１によるファイル送受信システムの構成を示すブロック図である。このファイル送受信システムは、ファイル送信装置１及びファイル受信装置２を備えて構成され、ファイル送信装置１とファイル受信装置２とはネットワーク１０を介して接続される。実施例１のファイル送受信システムは、ファイル送信装置１が、蓄積したファイルをパケット化し、データパケットとしてネットワーク１０を介してファイル受信装置２へ送信し、ファイル受信装置２が、データパケットを受信し、ファイルとして蓄積するシステムである。具体的には、ファイル受信装置２が、保存領域を確保してから同期パケットをファイル送信装置１へ送信し、ファイル送信装置１が、同期パケットに基づいて、データパケットをファイル受信装置２へ送信する。
【００４９】
（ファイル受信装置の構成）
ファイル受信装置２は、パケット受信手段２０１、受信管理手段２０２、同期パケット送信手段２０３、同期信号生成手段２０４、データ出力手段２０５、蓄積装置２０６、受信用バッファ２０７及びユーザー要求受信手段１０７を備えている。
【００５０】
パケット受信手段２０１は、所定の通信プロトコルによってファイル送信装置１からデータパケットを受信し、データパケットからブロック番号、パケット番号、マーカービット、データ等を取り出す。そして、パケット受信手段２０１は、ブロック番号、パケット番号及びマーカービットを受信管理手段２０２に出力し、データを受信用バッファ２０７に保存する。
【００５１】
図１４は、データパケットの構造を示す図である。このデータパケットは、後述するファイル送信装置１のパケット送信手段１０１により生成される。データパケットは、下位プロトコルヘッダー、ペイロードサイズ、ブロック番号、パケット番号、マーカービット、データポジション及びペイロードにより構成される。
【００５２】
下位プロトコルヘッダーは、ＩＰ、ＴＣＰ、ＵＤＰ等の下位プロトコルの通信のために用いるヘッダー情報である。本実施例においては、後述するようにＵＤＰ／ＩＰプロトコルのヘッダー情報が設定される。ペイロードサイズは、送信されるデータ本体のサイズである。ブロック番号は、ファイルが分割されて先頭から順番に付けられるブロックの番号であり、ブロックを識別するために用いられる。パケット番号は、ブロックが分割されてブロック内で先頭から順番に付けられるパケットの番号であり、パケットを識別するために用いられる。マーカービットは、ブロックがパケットに分割された際の最終パケットを識別するためのビットである。マーカービットが設定されている場合、そのデータパケットが最終パケットであることを意味する。データポジションは、後述するペイロードに設定されるデータの位置、すなわちブロックの先頭からの位置である。ペイロードは、送信されるデータ本体である。
【００５３】
図１５は、ＭＸＦファイルのデータパケットの構造を示す図である。ＭＸＦファイルは、前述のとおり、フレーム単位でアクセスすることが可能なファイルであり、後述するファイル送信装置１のパケット送信手段１０１により生成される。このＭＸＦファイルは、下位プロトコルヘッダー、ペイロードサイズ、ブロック番号、パケット番号、マーカービット、データポジション、タイムコード、ＭＸＦ  ＧＣのＫｅｙ、ＭＸＦ  ＧＣのＬｅｎｇｔｈ、ＭＸＦ  ＧＣのＶａｌｕｅ（ペイロード）により構成される。
【００５４】
下位プロトコルヘッダー、ペイロードサイズ、ブロック番号、パケット番号、マーカービット及びデータポジションについては、図１４に示したデータパケットの項目と同様であるから、ここでは説明を省略する。タイムコードは、ファイルが分割されたフレームの時間を示すコードである。ＭＸＦ  ＧＣのＫｅｙは、ＭＸＦ  ＧＣフレームにおけるＫＬＶのＫ、すなわちデータ識別のタグである。ＭＸＦ  ＧＣのＬｅｎｇｔｈは、ＭＸＦ  ＧＣフレームにおけるＫＬＶのＬ、すなわちペイロードのデータ長である。ＭＸＦ  ＧＣのＶａｌｕｅは、ＭＸＦ  ＧＣフレームにおけるＫＬＶのＶ、すなわちペイロードデータである。
【００５５】
図１に戻って、受信管理手段２０２は、同期信号生成手段２０４から同期信号を入力すると共に、パケット受信手段２０１からブロック番号、パケット番号及びマーカービットを入力し、ファイル送信装置１から受信するファイルのブロック番号（送信要求ブロック番号）を管理する。また、受信管理手段２０２は、同期信号を入力したタイミングで、受信用バッファ２０７に保存用領域を確保し、入力したブロック番号、パケット番号及びマーカービットに基づいて同期パケットを生成し、同期パケット送信手段２０３に出力する。ここで、受信用バッファ２０７に保存用領域を確保するとは、他の手段がその保存用領域にアクセスしたり、データを書き込んだりすることを禁止することを意味する。また、受信管理手段２０２は、後述するユーザー要求受信手段１０７から予め入力したファイルサイズ及びブロックサイズを用いて、ファイルが分割されるブロック数を算出する。算出したブロック数は、送信要求ブロック番号を設定するために用いられる。具体的には、送信要求ブロック番号は０からブロック数−１までの値が設定される。また、受信管理手段２０２は、受信用バッファ２０７の保存用領域に全てのデータが保存されたときに、受信完了フラグを設定し書き込む。送信要求ブロック番号の管理及び同期パケット生成処理の詳細については後述する。
【００５６】
図１６は、同期パケットの構造を示す図である。この同期パケットは、下位プロトコルヘッダー、送信要求ブロック番号、確認応答ブロック番号、受信開始パケット番号及び受信終了パケット番号により構成される。下位プロトコルヘッダーは、図１４及び図１５と同様に、ＩＰ、ＴＣＰ、ＵＤＰ等の下位プロトコルの通信のために用いるヘッダー情報である。本実施例においては、後述するようにＴＣＰ／ＩＰプロトコルのヘッダー情報が設定される。送信要求ブロック番号は、ファイル受信装置２が受信要求するブロックの番号である。この送信要求ブロック番号は、図１４に示したデータパケットのブロック番号に対応する。尚、ＭＸＦファイルの送受信を行う場合には、送信要求ブロック番号には、タイムコード及びブロック番号、または、フレーム番号及びブロック番号が設定される。確認応答ブロック番号、受信開始パケット番号及び受信終了パケット番号は、総称して確認応答であり、確認応答用のデータが設定される。すなわち、確認応答として、受信したデータパケットのブロック番号、及び、同一のブロック番号においてどのデータパケットからどのデータパケットまで連続して受信したかを示すパケット番号が設定される。
【００５７】
尚、ｎ個の確認応答が設定される場合には、同期パケットは、下位プロトコルヘッダー、送信要求ブロック番号、第１の確認応答、第２の確認応答、・・・、第ｎの確認応答の順番になるように生成される。例えば、パケット受信手段２０１が、ブロック番号１、パケット番号１〜２０，２２〜４０のデータパケットを受信した場合、受信管理手段２０２は、パケット受信手段２０１からこれらの番号を入力し、第１の確認応答として、確認応答ブロック番号１、受信開始パケット番号１及び受信終了パケット番号２０を設定し、第２の確認応答として、確認応答ブロック番号１、受信開始パケット番号２２及び受信終了パケット番号４０を設定する。この場合、受信管理手段２０２は、下位プロトコルヘッダー、送信要求ブロック番号、第１の確認応答、第２の確認応答の順番からなる同期パケットを生成する。
【００５８】
図１に戻って、同期パケット送信手段２０３は、受信管理手段２０２から同期パケットを入力し、所定のプロトコルによって同期パケットをファイル送信装置１へ送信する。
【００５９】
同期信号生成手段２０４は、予め設定された周期にて同期信号を生成し、受信管理手段２０２に出力する。例えば、周期Ｔは以下の式により設定される。
Ｔ＝１／（ｆ×Ｎ）
ｆはフレーム周波数、Ｎは所定の整数である。
【００６０】
尚、ファイル受信装置２の内部に備えたタイマーが周期Ｔを設定し、同期信号生成手段２０４は、タイマーにより設定された周期Ｔにて同期信号を生成するようにしてもよい。また、同期信号生成手段２０４は、外部から周期Ｔの信号を受信し、受信した信号のタイミングにて同期信号を生成するようにしてもよい。
【００６１】
データ出力手段２０５は、受信用バッファ２０７からブロック単位のデータを読み出し、ファイルとして蓄積装置２０６に蓄積する。
【００６２】
蓄積装置２０６には、データ出力手段２０５からのデータがファイルとして蓄積される。蓄積装置２０６は、ハードディスクまたは半導体メモリであるが、これに限定されるものではない。
【００６３】
受信用バッファ２０７には、パケット受信手段２０１からのデータが保存される。また、受信用バッファ２０７は、ＦＩＦＯ（Ｆｉｒｓｔ Ｉｎ  Ｆｉｒｓｔ Ｏｕｔ）の記憶装置として機能し、受信管理手段２０２からのアクセスにより、空き領域の確認応答を行い、データが保存される際の保存用領域が確保される。受信用バッファ２０７は、半導体メモリであるが、これに限定されるものではない。
【００６４】
図１７は、受信用バッファ２０７に保存されるデータを説明する図である。図１７に示すように、受信用バッファ２０７には、ブロック情報、受信完了フラグ及びデータがブロック毎に保存される。尚、ＭＸＦファイルの場合は、ブロック情報の代わりのフレーム情報、受信完了フラグ及びデータがフレーム毎に保存される。ブロック情報は、データサイズ、ブロック番号、タイムコード、次のブロックの位置等である。受信完了フラグは、ブロック内（ＭＸＦファイルの場合はフレーム内）のデータが全て揃ったか否か（全て保存されたか否か）を示すフラグである。データはデータ本体であり、１つのブロック（ＭＸＦの場合は１つのフレーム）のデータがペイロードサイズのパケット毎に保存される。
【００６５】
図１に戻って、ユーザー要求受信手段１０７は、ユーザーにより指定されたファイル名、その蓄積先である蓄積装置２０６、ファイルサイズ、ブロックサイズ等の要求情報を受信し、ファイル送受信処理が行われる前に予め各手段に出力する。各手段は、ユーザー要求受信手段１０７から要求情報を入力し、必要に応じて使用する。
【００６６】
（ファイル送信装置の構成）
次に、ファイル送信装置１の構成について説明する。ファイル送信装置１は、パケット送信手段１０１、送信管理手段１０２、同期パケット受信手段１０３、データ入力手段１０４、蓄積装置１０５、再送用バッファ１０６及びユーザー要求受信手段１０７を備えている。
【００６７】
パケット送信手段１０１は、データ入力手段１０４からブロック毎のデータを入力すると共に、送信管理手段１０２から送信要求または再送要求を入力し、入力したデータをパケットに分割し、送信要求または再送要求に従って、図１４に示したデータパケットを生成し、所定の通信プロトコルによってファイル受信装置２へ送信する。データパケットのサイズは、一般に、ネットワーク１０の最大伝送パケットサイズに合わせられる。そして、パケット送信手段１０１は、送信したデータパケットを、パケット単位に送信管理手段１０２に出力し、送信管理手段１０２を介して再送用バッファ１０６に保存する。
【００６８】
送信管理手段１０２は、同期パケット受信手段１０３から同期パケットを入力し、同期パケットから送信要求ブロック番号及び確認応答を取り出し、送信要求ブロック番号が０の場合、そのファイルを読み出すためのファイル読出要求をデータ入力手段１０４に出力する。また、送信管理手段１０２は、送信要求ブロック番号の送信を要求するための送信要求をパケット送信手段１０１に出力する。また、送信管理手段１０２は、確認応答の示すブロック番号及びパケット番号のデータパケットを再送用バッファ１０６から削除し、確認応答の示すブロック番号及びパケット番号に基づいて、データを再送するか否かを判定し、データを再送する場合は、再送要求をパケット送信手段１０１に出力する。再送処理の詳細については後述する。
【００６９】
同期パケット受信手段１０３は、所定の通信プロトコルによってファイル受信装置２から同期パケットを受信し、送信管理手段１０２に出力する。
【００７０】
データ入力手段１０４は、送信管理手段１０２からファイル読出要求を入力し、後述するユーザー要求受信手段１０７から予め入力したファイル名のファイルを、蓄積装置１０５から読み出す。そして、データ入力手段１０４は、後述するユーザー要求受信手段１０７から予め入力したファイルサイズ及びブロックサイズを用いて、ファイルを分割するブロック数を算出し、読み出したファイルのデータをそのブロックサイズに分割し、ブロック毎のデータとしてパケット送信手段１０１に出力する。
【００７１】
蓄積装置１０５には、送受信対象のファイルが予め蓄積されている。蓄積装置１０５は、ハードディスクまたは半導体メモリであるが、これに限定されるものではない。
【００７２】
再送用バッファ１０６には、パケット送信手段１０１により送信されたデータパケットの複製が保存される。再送用バッファ１０６は、半導体メモリであるが、これに限定されるものではない。
【００７３】
ユーザー要求受信手段１０７は、ユーザーにより指定されたファイル名、その蓄積先である蓄積装置１０５、ファイルサイズ、ブロックサイズ等の要求情報を受信し、ファイル送受信処理が行われる前に予め各手段に出力する。各手段は、ユーザー要求受信手段１０７から要求情報を入力し、必要に応じて使用する。
【００７４】
図１に示したファイル送受信システムにおいて、ファイル送信装置１のパケット送信手段１０１とファイル受信装置２のパケット受信手段２０１との間で、ネットワーク１０を介して、例えばＵＤＰ／ＩＰ、ＴＣＰ／ＩＰの通信プロトコルによってデータパケットの送受信が行われる。ＵＤＰ／ＩＰの通信プロトコルを用いた場合は、データ到達の信頼性が保証できないが、前述した同期パケットによる確認応答を行うことにより、信頼性を確保することができる。
【００７５】
また、ファイル受信装置２の同期パケット送信手段２０３とファイル送信装置１の同期パケット受信手段１０３との間で、ネットワーク１０を介して、例えばＴＣＰ／ＩＰの通信プロトコルによって同期パケットが送受信される。図１６に示したように、この同期パケットには、送信要求ブロック番号及び確認応答が含まれているから、同期パケットが損失しないように送受信する必要がある。通信プロトコルとしてＴＣＰ／ＩＰを用いることにより、たとえ同期パケットが損失したとしても、ＴＣＰ／ＩＰに従った再送技術及び誤り訂正技術等にて、同期パケットをファイル受信装置２からファイル送信装置１へ確実に送信することができる。
【００７６】
そこで、実施例１〜４では、データパケットを送受信する場合には通信プロトコルとして簡易的なＵＤＰ／ＩＰを用い、同期パケットを送受信する場合には通信プロトコルとして信頼性のあるＴＣＰ／ＩＰを用いるものとする。
【００７７】
図１８は、ファイル送受信システムにより送受信されるファイルの構成を説明する図である。図１８において、ファイルは、複数のブロックにより構成される。ここで、ブロックとは、ファイルを所定のサイズ（ブロックサイズ）にて分割したデータの単位をいう。前述のとおり、ブロックサイズは、ユーザー要求受信手段１０７により予め設定され、ブロック毎のデータは、データ入力手段１０４によりファイルから分割される。パケット毎のデータは、パケット送信手段１０１によりブロックから分割される。ここで、パケットとは、ブロックをネットワーク１０にて送受信するために分割した単位をいう。
【００７８】
図１９は、ファイル送受信システムにより送受信されるＭＸＦファイルの構成を説明する図である。図１９において、ＭＸＦファイルは、複数のフレームにより構成される。フレームは、ＫＬＶにより構成され、Ｖ部分には複数のブロックが含まれる。ここで、フレームとは、ＭＸＦファイルにおいてラッピングされたＫＬＶの単位をいう。つまり、ＭＸＦファイルは、フレームラッピングのＫＬＶ構造をとり、ＫＬＶを１フレームとしている。ＫＬＶのＶ部分に含まれるブロック数は、ユーザー要求受信手段１０７により予め設定され、フレーム毎のデータは、データ入力手段１０４によりファイルから取り出され、ブロック毎のデータは、データ入力手段１０４によりフレームから分割され、パケット毎のデータは、パケット送信手段１０１によりブロックから分割される。
【００７９】
〔ファイル送受信処理〕
次に、図１に示した実施例１のファイル送受信システムによる処理について説明する。図５は、ファイル受信装置２の処理を説明するフローチャートであり、図６は、ファイル送信装置１の処理を説明するフローチャートである。また、図１０は、ファイル送受信処理を説明するシーケンス図である。図１０に示すステップＳの番号は、図５及び図６に示すステップＳの番号に対応している。このファイル送受信処理は、ファイル送信装置１が、蓄積装置１０５に蓄積しているファイルを読み出し、ネットワーク１０を介してファイル受信装置２へ送信し、ファイル受信装置２が、受信したファイルを蓄積装置２０６に蓄積する一連の処理である。
【００８０】
前述のように、ファイル送信装置１及びファイル受信装置２のユーザー要求受信手段１０７は、送受信対象のファイル名、その蓄積先である蓄積装置１０５，２０６、ファイルサイズ、ブロックサイズ等の要求情報を、ユーザーの指定により受信し、処理が行われる前に予め各手段に出力しているものとする。また、ファイル送信装置１の同期パケット受信手段１０３とファイル受信装置２の同期パケット送信手段２０３との間にＴＣＰコネクションが張られており、ＴＣＰ／ＩＰの通信プロトコルが用いられるものとする。また、ファイル送信装置１のパケット送信手段１０１とファイル受信装置２のパケット受信手段２０１との間にＵＤＰコネクションが張られており、ＵＤＰ／ＩＰの通信プロトコルが用いられるものとする。また、ファイル送受信システムにより送受信されるファイルは、図１８に示したファイルとする。
【００８１】
（ファイル受信装置の処理）
まず、図５及び図１０を参照して、ファイル受信装置２の処理について説明する。ファイル受信装置２の同期信号生成手段２０４は、予め設定された周期にて同期信号を生成し、受信管理手段２０２に出力する（ステップＳ５０１）。
【００８２】
受信管理手段２０２は、同期信号生成手段２０４から同期信号を入力し（ステップＳ５０２）、その入力タイミングで、受信用バッファ２０７にブロックサイズ以上の蓄積可能な空き領域があるかないかの確認を行う（ステップＳ５０３）。ブロックサイズは、ユーザー要求受信手段１０７により予め設定されており、受信管理手段２０２は、ブロックサイズを予め入力している。また、空き領域があるかないかの確認は、例えば、受信用バッファ２０７の空き容量等を管理している手段（図示せず）からの応答により行われる。
【００８３】
受信管理手段２０２は、受信用バッファ２０７に空き領域がないと判定した場合（ステップＳ５０３：なし）、送信要求ブロック番号を記述しない同期パケットを生成する（ステップＳ５０６）。一方、受信管理手段２０２は、受信用バッファ２０７に空き領域があると判定した場合（ステップＳ５０３：あり）、受信用バッファ２０７にブロックサイズのデータ領域を確保し（ステップＳ５０４）、送信要求ブロック番号を記述した同期パケットを生成する（ステップＳ５０５）。ここで、受信管理手段２０２は、最初に送信要求ブロック番号に０を記述して同期パケットを生成する。受信管理手段２０２は、ステップＳ５０２にて同期信号を入力する毎に、ステップＳ５０５において１を加算して送信要求ブロック番号に記述し、同期パケットを生成する。同期パケットの送信要求ブロック番号には、同期信号毎に、ステップＳ５０５において０からブロック数−１までの値が記述される。ブロック数は、ユーザー要求受信手段１０７により予め設定されたファイルサイズ及びブロックサイズにより算出される。
【００８４】
また、受信管理手段２０２は、送信要求ブロック番号として最終のブロック番号（ブロック数−１の値）を記述して同期パケットを生成した後に、すなわち、ファイルを構成する全てのブロックの送信要求をした後に、ステップＳ５０２における同期信号を入力した場合、送信要求ブロック番号を記述しない同期パケットを生成する（ステップＳ５０６）。
【００８５】
受信管理手段２０２は、ステップＳ５０５またはステップＳ５０６から移行して、後述するステップＳ５１０において確認応答が生成されている場合、その確認応答を記述した同期パケットを生成する（ステップＳ５０７）。受信管理手段２０２は、生成した同期パケットを同期パケット送信手段２０３に出力する。
【００８６】
このように、ファイル送信装置１からのデータパケットの送信に先立って、受信管理手段２０２において、受信用バッファ２０７にブロックサイズの領域が確保される。これにより、ファイル受信装置２は、送信要求ブロック番号が記述された同期パケットにより、ファイル送信装置１に対し、データパケットを送信させることができ、ファイル送信装置１からのデータパケットを受信して受信用バッファ２０７に保存することができる。また、ブロックサイズの領域を確保できない場合は、送信要求ブロック番号を記述しない同期パケットが生成され、ファイル送信装置１に対し、次のブロックや新たなブロックのデータパケットを送信させないようにする。
【００８７】
同期パケット送信手段２０３は、受信管理手段２０２から入力した同期パケットを、ＴＣＰ／ＩＰの通信プロトコルによってファイル送信装置１へ送信する（ステップＳ５０８）。
【００８８】
後述する図６に示すステップＳ６０９のデータパケット送信処理の後、パケット受信手段２０１は、ＵＤＰ／ＩＰの通信プロトコルによってファイル送信装置１からデータパケットを受信する（ステップＳ５０９）。パケット受信手段２０１は、データパケットからペイロードサイズ、ブロック番号、パケット番号、マーカービット、データポジション、ペイロードのデータ等を取り出し、ブロック番号、パケット番号及びマーカービットを受信管理手段２０２に出力する。
【００８９】
受信管理手段２０２は、パケット受信手段２０１からブロック番号、パケット番号及びマーカービットを入力し、これらの情報に基づいて、所定のタイミングにて、確認応答ブロック番号、受信開始パケット番号及び受信終了パケット番号の確認応答を生成する（ステップＳ５１０）。そして、ステップＳ５０７へ移行して同期パケットを生成する。ここで、確認応答は、前回確認応答を生成した後に、ファイル受信装置２が受信したデータパケットのブロック（確認応答ブロック番号）において、連続するパケット番号（受信開始パケット番号及び受信終了パケット番号）により構成される。パケット番号が連続していない場合は、新たな別の確認応答が生成される。例えば、受信管理手段２０２は、パケット受信手段２０１から、ブロック番号１、パケット番号１〜２０，２２〜４０を入力した場合、第１の確認応答として、確認応答ブロック番号１、受信開始パケット番号１及び受信終了パケット番号２０を記述し、第２の確認応答として、確認応答ブロック番号１、受信開始パケット番号２２及び受信終了パケット番号４０を記述する。したがって、受信管理手段２０２は、下位プロトコルヘッダー、送信要求ブロック番号、第１の確認応答、第２の確認応答の順番からなる同期パケットを生成する。
【００９０】
ここで、確認応答が生成される所定のタイミングは、例えば、パケット受信手段２０１から入力したブロック番号が、前回入力したブロック番号と異なる場合、または、マーカービットが、受信したデータパケットがブロックの最終パケットであることを示している場合（マーカービットが設定されている場合）とする。受信管理手段２０２は、生成した確認応答を、同期信号生成手段２０４から同期信号を入力するまで保持する。
【００９１】
パケット受信手段２０１は、受信したデータパケットから取り出したペイロードサイズ及びデータポジションを用いて、ペイロードのデータを取り出し、受信用バッファ２０７に保存する（ステップＳ５１１）。データは、受信用バッファ２０７に確保された保存領域に、ブロック単位で保存される。
【００９２】
受信管理手段２０２は、受信用バッファ２０７のデータ領域を監視し（図１７に示した受信用バッファ２０７を参照）、データ領域にデータが欠落なく揃っていると判定した場合、受信完了フラグを設定して（１をセットして）受信用バッファ２０７に書き込む。これにより、受信管理手段２０２は、受信用バッファ２０７からブロックデータを読み出すことを、データ出力手段２０５に許可する。データ領域にデータが欠落なく揃っているとは、ブロックにおける全てのデータがデータ領域に格納されていることを示す。
【００９３】
データ出力手段２０５は、受信用バッファ２０７にブロックの全データが揃ったか否かを判定する（ステップＳ５１２）。具体的には、データ出力手段２０５は、受信完了フラグを監視して、受信完了フラグが０から１に変化したか否かを判定する。データ出力手段２０５は、受信用バッファ２０７にブロックの全データが揃ったことを判定した場合（ステップＳ５１２：Ｙ）、すなわち、受信完了フラグが０から１に変化したことを判定した場合、受信用バッファ２０７からブロックのデータを読み出し、ファイルとして蓄積装置２０６に蓄積する（ステップＳ５１３）。そして、データ出力手段２０５は、受信用バッファ２０７に保存されたブロック（読み出したブロック）のデータを削除すると共に、そのブロックのデータに対応するブロック情報及び受信完了フラグを削除し（ステップＳ５１４）、ステップＳ５１５へ移行する。すなわち、新たなブロックのデータを書き換え可能にする。これにより、受信用バッファ２０７において１ブロック分の領域が開放され、受信管理手段２０２により、新たなブロックが保存される空き領域を確保することが可能となる。
【００９４】
データ出力手段２０５は、ステップＳ５１２において、受信用バッファ２０７にブロックの全データが揃っていないことを判定した場合（ステップＳ５１２：Ｎ）、全データが揃うまで待つため、ステップＳ５１５へ移行する。そして、ファイル受信装置２は、ファイル転送が完了して処理を終了するまで、ステップＳ５０１〜ステップＳ５１４の処理を行う（ステップＳ５１５）。
【００９５】
このように、実施例１のファイル受信装置２によれば、ファイル送信装置１から送信されるブロックの全データを保存する領域を受信用バッファ２０７に前もって確保し、新たなブロックの送信を要求する送信要求ブロック番号と、受信済みのデータパケットをファイル送信装置１において確認できる確認応答とを同期パケットに記述し、ファイル送信装置１へ送信するようにした。また、受信用バッファ２０７に領域を確保できた場合は、新たなブロックデータの送信を要求し、確保できなかった場合は、新たなブロックデータの送信の要求をすることなく、受信できなかったデータパケットの再送を、同期パケットの確認応答によりファイル送信装置１に判断させるようにした。これにより、ファイル送信装置１は、同期パケットを受信して、ファイル受信装置２により受信可能な容量の新たなブロックを送信することができる。また、ファイル送信装置１は、同期パケットを受信して、ファイル受信装置２により受信できなかったデータパケットを特定し、そのデータパケットを再送することができる。これにより、ファイル送信装置１は、蓄積したファイルを、適切な帯域にて効率的にかつ確実にファイル受信装置２へ送信することができる。また、ファイル受信装置２では、ファイル送信装置１からのブロックの全データを保存する領域を、前もって確保するようにしたから、受信可能な伝送ビットレートを超えることなくデータパケットを受信し、輻輳制御を行うことなく受信用バッファ２０７に保存することができる。したがって、処理時間の短縮化を図ることができる。
【００９６】
（ファイル送信装置の処理）
次に、図６及び図１０を参照して、ファイル送信装置１の処理について説明する。ファイル送信装置１の同期パケット受信手段１０３は、ＴＣＰ／ＩＰの通信プロトコルによりファイル受信装置２から同期パケットを受信し、送信管理手段１０２に出力する（ステップＳ６０１）。
【００９７】
送信管理手段１０２は、同期パケット受信手段１０３から同期パケットを入力し、同期パケットから確認応答を取り出し（ステップＳ６０２）、確認応答のブロック番号（確認応答ブロック番号）及びパケット番号（受信開始パケット番号から受信終了パケット番号まで）と、送信済みのデータパケットについて記憶しているブロック番号及びパケット番号とを比較し、欠落番号（ファイル受信装置２が受信していないデータパケットのブロック番号及びパケット番号）があるかないかを判定する（ステップＳ６０３）。
【００９８】
送信管理手段１０２は、欠落番号がないと判定した場合（ステップＳ６０３：なし）、確認応答におけるブロック番号（確認応答ブロック番号）及びパケット番号（受信開始パケット番号から受信終了パケット番号まで）のデータパケットを再送用バッファ１０６から削除する（ステップＳ６０５）。
【００９９】
一方、送信管理手段１０２は、欠落番号があると判定した場合（ステップＳ６０３：あり）、確認応答のブロック番号（確認応答ブロック番号）及びパケット番号（受信開始パケット番号から受信終了パケット番号まで）と、送信済みのデータパケットについて記憶しているブロック番号及びパケット番号とが一致するブロック番号及びパケット番号のデータパケットを再送用バッファ１０６から削除し、欠落番号（ブロック番号及びパケット番号）と共に再送要求をパケット送信手段１０１に出力する（ステップＳ６０４）。そして、パケット送信手段１０１は、欠落番号と共に再送要求を送信管理手段１０２から入力すると、欠落番号が示すブロック番号及びパケット番号のデータパケットを、送信管理手段１０２を介して再送用バッファ１０６から読み出し、ＵＤＰ／ＩＰの通信プロトコルによってファイル受信装置２へ送信する。
【０１００】
例えば、送信管理手段１０２が、既に送信済みのデータパケットについてのブロック番号１、パケット番号１〜４０を記憶しており、同期パケット受信手段１０３が、確認応答ブロック番号１、受信開始パケット番号１及び受信終了パケット番号２０、並びに、確認応答ブロック番号１、受信開始パケット番号２２及び受信終了パケット番号４０が記述された第２の同期パケットを受信した場合を想定する。この場合、送信管理手段１０２は、同期パケット受信手段１０３から同期パケットを入力し、比較処理により欠落番号（ブロック番号１、パケット番号２１）を特定する。そして、送信管理手段１０２は、ブロック番号１、パケット番号１〜２０，２２〜４０のデータパケットを再送用バッファ１０６から削除し、欠落番号ブロック番号１、パケット番号２１と共に再送要求をパケット送信手段１０１に出力する。これにより、パケット送信手段１０１からブロック番号１、パケット番号２１のデータパケットが再送される。
【０１０１】
また、送信管理手段１０２は、最終のブロック内で最終パケット番号から所定数前のパケット番号までのデータパケットについてロスが生じたとして、これらの番号を欠落番号として設定し、所定周期にて再送要求をパケット送信手段１０１に出力する。最終のブロック内で最終パケット番号から所定数前のパケット番号のデータパケットについては、ステップＳ６０３による欠落の判定を行うことができない。そこで、欠落したものとして強制的に再送要求を出力し、データパケットの再送を行う。
【０１０２】
このように、ファイル送信装置１は、同期パケットの確認応答に基づいてパケットロスしたデータパケットのブロック番号及びパケット番号を欠落番号として特定するようにし、再送を行うようにした。これにより、ファイル送信装置１は、蓄積したファイルを確実にファイル受信装置２へ送信することができる。
【０１０３】
送信管理手段１０２は、ステップＳ６０１において受信した同期パケットから送信要求ブロック番号を取り出し（ステップＳ６０６）、送信要求ブロック番号が０の場合、ユーザー要求受信手段１０７により予め設定されたファイルを読み出すためのファイル読出要求をデータ入力手段１０４に出力する。また、送信管理手段１０２は、送信要求ブロック番号のデータパケットに対する送信要求をパケット送信手段１０１に出力する。
【０１０４】
データ入力手段１０４は、送信管理手段１０２からファイル読出要求を入力し、ユーザー要求受信手段１０７により予め設定されたファイルを蓄積装置１０５から読み出し、読み出したファイルのデータを、ユーザー要求受信手段１０７により予め設定されたブロックサイズのブロックに分割し、０からインクリメントするブロック番号のブロック毎のデータをパケット送信手段１０１に出力する（ステップＳ６０７）。
【０１０５】
パケット送信手段１０１は、データ入力手段１０４からブロック番号が付されたブロック毎のデータを入力し、入力したブロック毎のデータのうち、送信管理手段１０２から入力した送信要求に含まれるブロック番号のデータをパケットに分割する（ステップＳ６０８）。そして、パケット送信手段１０１は、データパケットを生成し、ＵＤＰ／ＩＰの通信プロトコルによってファイル受信装置２へ送信する（ステップＳ６０９）。このように、パケット送信手段１０１により、送信管理手段１０２が入力した同期パケットの送信要求ブロック番号の１つの番号につき、１ブロック分のデータパケットが送信される。
【０１０６】
パケット送信手段１０１は、送信済みのデータパケットを、送信管理手段１０２を介して再送用バッファ１０６に保存する（ステップＳ６１０）。これにより、送信済みのデータパケットの複製が再送用バッファ１０６に保存され、データパケットのロスが発生した場合には、パケット送信手段１０１により、ロスが発生したデータパケットが再送用バッファ１０６から読み出され、再送される。
【０１０７】
送信管理手段１０２は、パケット送信手段１０１がデータパケットを再送用バッファ１０６に保存する際に、そのデータパケットについてのブロック番号及びパケット番号を記憶する。
【０１０８】
そして、ファイル送信装置１は、ファイル転送が完了して処理を終了するまで、ステップＳ６０１〜ステップＳ６１０の処理を行う（ステップＳ６１１）。
【０１０９】
このように、実施例１のファイル送信装置１によれば、ファイル受信装置２から送信された同期パケットの送信要求ブロック番号に基づいて、送受信対象のファイルを蓄積装置１０５から読み出しブロックのデータに分割し、送信要求ブロック番号の示すデータをデータパケットとしてファイル受信装置２へ送信するようにした。また、同期パケットの確認応答に基づいて、ファイル受信装置２が受信できなかったデータパケットを特定し、そのデータパケットを再送するようにした。これにより、ファイル送信装置１は、同期パケットに応じてブロックデータをファイル受信装置２へ送信することができ、蓄積したファイルを、適切な帯域にて効率的にかつ確実にファイル受信装置２へ送信することができる。
【０１１０】
また、実施例１のファイル送受信システムによれば、ファイル送信装置１のパケット送信手段１０１とファイル受信装置２のパケット受信手段２０１との間にはＵＤＰコネクションが張られ、ＵＤＰ／ＩＰの通信プロトコルによって、データパケットの送受信を行うようにした。ＵＤＰ／ＩＰは、データパケットの到達の保証がない信頼性の低い通信プロトコルであるが、ファイル送信装置１において、ファイル受信装置２から受信した同期パケットの確認応答により、パケットロスを認識してデータパケットを再送するか否かを判定することができるから、ＵＤＰ／ＩＰの弱点を補うことができ、信頼性の高いファイル送受信を実現することができる。
【０１１１】
また、実施例１のファイル送受信システムによれば、同期パケットに応じてファイルを送受信するようにした。この場合、同期パケットの送信周期は、ファイル受信装置２の同期信号生成手段２０４において同期信号を生成する周期により決定される。したがって、ファイルの転送速度は同期パケットの送信周期に依存することになるから、同期パケットの送信周期を調整することにより、ファイルの転送速度を決定することができる。
【０１１２】
〔ＭＸＦファイルの場合〕
尚、ファイル送受信システムにより送受信されるファイルが、図１９に示したＭＸＦファイルの場合も、前述と同様の手順により処理が行われる。図１８に示したファイルを対象にする場合との違いを以下に説明する。
【０１１３】
ファイル送信装置１及びファイル受信装置２のユーザー要求受信手段１０７は、送受信対象であるＭＸＦファイルのファイル名、その蓄積先である蓄積装置１０５，２０６、フレームサイズ、タイムコード（フレームの位置を示す情報）、フレーム内のブロック数等の要求情報を、ユーザーの指定により受信し、ファイル送受信処理が行われる前に予め各手段に出力する。
【０１１４】
ファイル受信装置２の受信管理手段２０２は、同期パケットの生成の際に、受信用バッファ２０７の保存領域をフレーム単位で確保する。確保するサイズは、ユーザー要求受信手段１０７によりフレームサイズとして予め設定される。
【０１１５】
図１７を参照して、ファイル受信装置２の受信用バッファ２０７には、ブロック情報の代わりであるフレーム情報、受信完了フラグ及びデータがフレーム毎に保存される。フレーム情報は、データサイズ、フレーム番号、タイムコード、次のフレームの位置等である。受信完了フラグは、フレーム内のデータが全て揃ったか否かを示すフラグである。データは、データ本体であり、１つのフレームのデータがペイロードサイズのパケット毎に保存される。
【０１１６】
ファイル受信装置２の受信管理手段２０２は、送信要求ブロック番号に、タイムコード及びブロック番号、または、フレーム番号及びブロック番号を記述し、同期パケットを生成する。この同期パケットは同期信号毎に生成される。これにより、同期パケット送信手段２０３から、同期信号毎に生成された同期パケットが順次送信されて、同期パケットに記述された送信要求ブロック番号に対応したデータパケットの送信が要求され、１フレームを受信するまで、同期パケットに対応したブロック毎のデータを受信する。送信要求ブロック番号が記述された１つの同期パケットに対して、１ブロックを受信することができる。
【０１１７】
ファイル受信装置２のパケット受信手段２０１は、受信したデータパケットからＭＸＦ  ＧＣのＶａｌｕｅのデータ等を取り出し、データを受信用バッファ２０７に保存する。
【０１１８】
ファイル受信装置２の受信管理手段２０２は、受信用バッファ２０７のデータ領域にデータが欠落なく揃っていると判定した場合、すなわち、フレームにおける全てのデータがデータ領域に格納されていると判定した場合、受信完了フラグを設定して（１をセットして）受信用バッファ２０７に書き込む。
【０１１９】
ファイル受信装置２のデータ出力手段２０５は、受信用バッファ２０７の受信完了フラグを監視して、受信完了フラグが設定されていると判定した場合、受信用バッファ２０７からフレームのデータを読み出し、ファイルとして蓄積装置２０６に蓄積し、読み出したフレームのデータを削除すると共に、そのフレームのデータに対応するフレーム情報及び受信完了フラグを削除する。これにより、受信用バッファ２０７において１フレーム分の領域が開放され、受信管理手段２０２により、新たなフレームが保存される空き領域を確保することが可能となる。
【０１２０】
ファイル送信装置１の送信管理手段１０２は、同期パケット受信手段１０３から同期パケットを入力し、同期パケットから送信要求ブロック番号（タイムコード及びブロック番号、または、フレーム番号及びブロック番号）を取り出し、ファイル読出要求をデータ入力手段１０４に出力すると共に、タイムコード及びブロック番号、または、フレーム番号及びブロック番号のデータパケットの送信を要求するための送信要求をパケット送信手段１０１に出力する。
【０１２１】
ファイル送信装置１のデータ入力手段１０４は、蓄積装置１０５から読み出したＭＸＦファイルからフレームを取り出し、ブロックに分割し、ＭＸＦファイルを構成するＫ及びＬのデータ、並びにＶのデータであるブロック毎のデータをパケット送信手段１０１に出力する。
【０１２２】
ファイル送信装置１のパケット送信手段１０１は、データ入力手段１０４からデータを入力し、入力したブロック毎のデータをパケットに分割し、図１５に示したＭＸＦファイルデータパケットを生成し、送信管理手段１０２から送信要求ブロック番号（タイムコード及びブロック番号、または、フレーム番号及びブロック番号）の送信要求を入力したときに、そのブロック番号のデータパケットをファイル受信装置２へ送信する。このように、同期パケットによって、送信要求ブロック番号に対応したブロック番号のデータパケットが送信される。
【実施例２】
【０１２３】
次に、実施例２について説明する。実施例２のファイル送受信システムは、同期パケット及びデータパケットの中継を行い、ファイル送信装置のファイルを、ファイル中継装置及びファイル受信装置に蓄積する処理を行う。
【０１２４】
〔構成〕
図２は、実施例２によるファイル送受信システムの構成を示すブロック図である。このファイル送受信システムは、ファイル送信装置１、ファイル受信装置２及びファイル中継装置３を備えて構成され、ファイル送信装置１とファイル中継装置３とはネットワーク１０を介して接続され、ファイル中継装置３とファイル受信装置２とはネットワーク１０を介して接続される。実施例２のファイル送受信システムは、ファイル送信装置１が、蓄積したファイルをパケット化し、データパケットとしてネットワーク１０を介してファイル中継装置３へ送信し、ファイル中継装置３が、データパケットを受信し、ファイルとして蓄積すると共に、データパケットをファイル受信装置２へ送信し、ファイル受信装置２が、データパケットを受信し、ファイルとして蓄積するシステムである。具体的には、ファイル受信装置２が、保存領域を確保してから同期パケットをファイル中継装置３へ送信し、ファイル中継装置３が、ファイル受信装置２から受信する同期パケットに基づいて、保存領域を確保した後に同期パケットをファイル送信装置１へ送信すると共に、ファイル送信装置１から受信するデータパケットをファイル受信装置２へ送信し、ファイル送信装置１が、ファイル中継装置３から受信する同期パケットに基づいて、データパケットをファイル中継装置３へ送信する。
【０１２５】
（ファイル中継装置の構成）
ファイル中継装置３は、パケット受信手段２０１、受信管理手段２０２、同期パケット送信手段２０３、データ出力手段２０５、蓄積装置２０６、受信用バッファ２０７、パケット送信手段１０１、送信管理手段１０２、同期パケット受信手段１０３、再送用バッファ１０６、同期パケット中継手段３０１及びユーザー要求受信手段１０７を備えている。
【０１２６】
ファイル中継装置３は、図１に示した実施例１のファイル送信装置１及びファイル受信装置２の機能を有し、さらに、同期パケット及びデータパケットを中継して転送する機能を有する。パケット送信手段１０１、送信管理手段１０２、同期パケット受信手段１０３、再送用バッファ１０６、パケット受信手段２０１、受信管理手段２０２、同期パケット送信手段２０３、データ出力手段２０５、蓄積装置２０６、受信用バッファ２０７及びユーザー要求受信手段１０７については、実施例１において説明済みであるから、ここでは説明を省略する。ファイル中継装置３は、ファイル受信装置２から同期パケットαを受信し、同期パケットβを生成してファイル送信装置１へ送信するものとする。同期パケットαと同期パケットβとを比較すると、送信要求ブロック番号には同一の情報が記述されるが、確認応答には異なる情報が記述される。同期パケットαの確認応答は、ファイル中継装置３からファイル受信装置２へ送信されたデータパケットを確認するための情報であり、同期パケットβの確認応答は、ファイル送信装置１からファイル中継装置３へ送信されたデータパケットを確認するための情報だからである。
【０１２７】
同期パケット中継手段３０１は、ファイル受信装置２から受信した同期パケットαを、同期パケット受信手段１０３を介して入力し、入力した同期パケットαをそのまま受信管理手段２０２に出力する。ここで、ファイル中継装置３がファイル受信装置２から同期パケットαを受信し、同期パケットβを生成してファイル送信装置１へ送信する際に、同期パケットαに記述された送信要求ブロック番号は、同期パケットβによってそのまま中継される。また、同期パケット中継手段３０１により出力される同期パケットαは、図１に示したファイル受信装置２の同期信号生成手段２０４により出力される同期信号と同様に、受信管理手段２０２において、同期パケットβを生成するタイミングの信号として用いられる。
【０１２８】
〔ファイル中継処理〕
次に、図２に示した実施例２のファイル送受信システムによる処理について説明する。図７は、ファイル中継装置３の処理を説明するフローチャートであり、図１１は、ファイル中継処理を説明するシーケンス図である。図１１に示すステップＳの番号は、図７に示すステップＳの番号に対応している。このファイル中継処理は、ファイル中継装置３が、ファイル送信装置１からファイルを受信し、受信したファイルを蓄積装置２０６に蓄積し、また、受信したファイルをファイル受信装置２へ送信し、ファイル受信装置２が、受信したファイルを蓄積装置２０６に蓄積する一連の処理である。
【０１２９】
前述のように、ファイル送信装置１、ファイル中継装置３及びファイル受信装置２のユーザー要求受信手段１０７は、送受信対象のファイル名、その蓄積先である蓄積装置１０５，２０６、ファイルサイズ、ブロックサイズ等の要求情報を、ユーザーの指定により受信し、処理が行われる前に予め各手段に出力しているものとする。また、ファイル送信装置１の同期パケット受信手段１０３とファイル中継装置３の同期パケット送信手段２０３との間、及び、ファイル中継装置３の同期パケット受信手段１０３とファイル受信装置２の同期パケット送信手段２０３との間に、ＴＣＰコネクションが張られており、ＴＣＰ／ＩＰの通信プロトコルが用いられるものとする。また、ファイル送信装置１のパケット送信手段１０１とファイル中継装置３のパケット受信手段２０１との間、及び、ファイル中継装置３のパケット送信手段１０１とファイル受信装置２のパケット受信手段２０１との間に、ＵＤＰコネクションが張られており、ＵＤＰ／ＩＰの通信プロトコルが用いられるものとする。
【０１３０】
（ファイル中継装置の処理）
図７及び図１１を参照して、ファイル中継装置３の処理について説明する。ファイル中継装置３の同期パケット受信手段１０３は、ＴＣＰ／ＩＰの通信プロトコルによりファイル受信装置２から同期パケットαを受信し、同期パケットαを送信管理手段１０２に出力した後、同期パケット中継手段３０１に出力する（ステップＳ７０１）。
【０１３１】
同期パケット中継手段３０１は、同期パケット受信手段１０３から同期パケットαを入力し、入力した同期パケットαを受信管理手段２０２にそのまま出力することにより、同期パケットαを中継する（ステップＳ７０２）。
【０１３２】
受信管理手段２０２は、同期パケット中継手段３０１から同期パケットαを入力し、その入力タイミングで、同期パケットαに記述された送信要求ブロック番号のデータを保存するための領域を確保し、同期パケットαに記述された送信要求ブロック番号を、同期パケットβの送信要求ブロック番号にそのまま記述する（ステップＳ７０３）。このステップＳ７０３の処理は、図５に示したステップＳ５０２〜ステップＳ５０６の処理と同様である。同期パケットαに送信要求ブロック番号が記述されていない場合は、領域確保の処理を行わず、同期パケットβの送信要求ブロック番号への記述も行わない。
【０１３３】
受信管理手段２０２は、同期パケットβの確認応答を削除し、後述するステップＳ７０７において確認応答が生成されている場合、その確認応答を記述した同期パケットβを生成する（ステップＳ７０４）。受信管理手段２０２は、生成した同期パケットβを同期パケット送信手段２０３に出力する。
【０１３４】
同期パケット送信手段２０３は、受信管理手段２０２から入力した同期パケットβを、ＴＣＰ／ＩＰの通信プロトコルによってファイル送信装置１へ送信する（ステップＳ７０５）。
【０１３５】
このように、ファイル中継装置３は、ファイル受信装置２から同期パケットαを受信し、同期パケットαに記述された送信要求ブロック番号と同じ番号、及び、生成した確認応答を同期パケットβに記述し、同期パケットβをファイル送信装置１へ送信する。これにより、同期パケットの中継を行うことができる。
【０１３６】
パケット受信手段２０１は、ＵＤＰ／ＩＰの通信プロトコルによってファイル送信装置１からデータパケットを受信する（ステップＳ７０６）。受信するデータパケットは、同期パケットβに記述された送信要求ブロック番号のデータパケットである。パケット受信手段２０１は、データパケットからペイロードサイズ、ブロック番号、パケット番号、マーカービット、データポジション、ペイロードのデータ等を取り出し、ブロック番号、パケット番号及びマーカービットを受信管理手段２０２に出力する。
【０１３７】
受信管理手段２０２は、パケット受信手段２０１からブロック番号、パケット番号及びマーカービットを入力し、入力したこれらの情報に基づいて、所定のタイミングにて、確認応答ブロック番号、受信開始パケット番号及び受信終了パケット番号の確認応答を生成する（ステップＳ７０７）。そして、ステップＳ７０４へ移行して同期パケットを生成する。
【０１３８】
パケット受信手段２０１は、受信したデータパケットから取り出したペイロードサイズ及びデータポジションを用いて、ペイロードのデータを取り出し、受信用バッファ２０７に保存する（ステップＳ７０８）。
【０１３９】
受信管理手段２０２は、受信用バッファ２０７のデータ領域を監視し、データ領域にデータが欠落なく揃っていると判定した場合、受信完了フラグを設定して（１をセットして）受信用バッファ２０７に書き込む。
【０１４０】
送信管理手段１０２は、同期パケット受信手段１０３から同期パケットを入力し、同期パケットから確認応答を取り出し、確認応答のブロック番号及びパケット番号と、送信済みのデータパケットについて記憶しているブロック番号及びパケット番号とを比較し、欠落番号があるかないかを判定し、前述したデータパケットの欠落処理を行う（ステップＳ７０９）。このステップＳ７０９の処理は、図６に示したステップＳ６０２〜ステップＳ６０５の処理と同様である。
【０１４１】
送信管理手段１０２は、同期パケットから送信要求ブロック番号を取り出し（ステップＳ７１０）、受信用バッファ２０７からその送信要求ブロック番号のデータを読み出すためのブロック読出要求をデータ出力手段２０５に出力する。また、送信管理手段１０２は、送信要求ブロック番号のデータパケットに対する送信要求をパケット送信手段１０１に出力する。
【０１４２】
データ出力手段２０５は、送信管理手段１０２からブロック読出要求を入力し、受信用バッファ２０７にその送信要求ブロック番号の全データが揃ったことを、ブロック情報及び受信完了フラグによって判定し、受信用バッファ２０７からブロックのデータを読み出し、ファイルとして蓄積装置２０６に蓄積し、読み出したブロックのデータを受信用バッファ２０７から削除すると共に、そのブロックのデータに対応するブロック情報及び受信完了フラグを削除する（ステップＳ７１１）。このステップＳ７１１の処理は、図５に示したステップＳ５１２〜ステップＳ５１４の処理と同様である。尚、データ出力手段２０５は、受信用バッファ２０７に送信要求ブロック番号の全データが揃っていないと判定した場合、全データが揃うまで待機する。また、データ出力手段２０５は、受信用バッファ２０７から読み出した送信要求ブロック番号のデータを、パケット送信手段１０１に出力する。
【０１４３】
パケット送信手段１０１は、データ出力手段２０５から送信要求ブロック番号のデータを入力し、入力したデータをパケットに分割してデータパケットを生成し、送信管理手段１０２から送信要求ブロック番号のデータパケットに対する送信要求を入力したときに、データパケットを、ＵＤＰ／ＩＰの通信プロトコルによってファイル受信装置２へ送信する（ステップＳ７１２）。また、パケット送信手段１０１は、送信済みのデータパケットを、送信管理手段１０２を介して再送用バッファ１０６に保存する（ステップＳ７１３）。また、送信管理手段１０２は、パケット送信手段１０１がデータパケットを再送用バッファ１０６に保存する際に、そのデータパケットについてのブロック番号及びパケット番号を記憶する。
【０１４４】
そして、ファイル中継装置３は、ファイル転送が完了して処理を終了するまで、ステップＳ７０１〜ステップＳ７１３の処理を行う（ステップＳ７１４）。
【０１４５】
このように、ファイル中継装置３は、ファイル送信装置１からデータパケットを受信し、ファイルとして蓄積装置２０６に蓄積すると共に、ファイル受信装置２へ送信し、ファイル受信装置２は、ファイル中継装置３からデータパケットを受信し、ファイルとして蓄積装置２０６に蓄積する。これにより、データパケットの中継を行うことができる。
【０１４６】
以上のように、実施例２のファイル中継装置３によれば、ファイル受信装置２から、送信要求ブロック番号が記述された同期パケットαを受信し、保存領域を確保した後に、同じ送信要求ブロック番号を記述した同期パケットβをファイル送信装置１へ送信するようにした。また、ファイル送信装置１から、同期パケットβに対する送信要求ブロック番号のデータパケットを受信して蓄積装置２０６にファイルとして蓄積すると共に、同期パケットαに対する送信要求ブロック番号のデータパケットをファイル受信装置２へ送信するようにした。これにより、ファイル送信装置１に蓄積されていたファイルは、ファイル送信装置１からファイル中継装置３へ、ファイル中継装置３からファイル受信装置２へと直列的に送信され、同一のファイルとして、ファイル中継装置３の蓄積装置２０６及びファイル受信装置２の蓄積装置２０６に蓄積することができる。従来は、ファイル送信装置１と複数のファイル受信装置２との間でファイルを送受信し、複数のファイル受信装置２にファイルを蓄積する場合に、帯域が分割され、ファイルを蓄積するまで時間がかかっていた。実施例２ではこのような問題はなく、ファイルを送受信しながら蓄積するようにしたから、ファイルを蓄積するまでの時間を短縮することができる。
【０１４７】
〔ＭＸＦファイルの場合〕
尚、ファイル送受信システムにより送受信されるファイルが、図１９に示したＭＸＦファイルの場合も、前述と同様の手順により処理が行われる。図１８に示したファイルを対象にする場合との違いを以下に説明する。
【０１４８】
実施例１において説明した違いの他、ファイル中継装置３の送信管理手段１０２は、同期パケットの送信要求ブロック番号に新たなフレーム番号が記述されていた場合、フレーム読出要求をデータ出力手段２０５に出力し、データ出力手段２０５は、送信管理手段１０２からのフレーム読出要求に従って、そのフレームのデータを受信用バッファ２０７から読み出して蓄積装置２０６に蓄積し、パケット送信手段１０１に出力する。
【０１４９】
ファイル中継装置３の同期パケット中継手段３０１は、同期パケット受信手段１０３から同期パケットαを入力し、入力した同期パケットαをそのまま受信管理手段２０２に出力することにより、同期パケットαを中継する。また、受信管理手段２０２は、同期パケット中継手段３０１から同期パケットαを入力し、その入力タイミングで、同期パケットαに記述された送信要求ブロック番号が示すフレーム番号のデータを保存するための領域を受信用バッファ２０７に確保し、同期パケットαに記述された送信要求ブロック番号を、同期パケットβの送信要求ブロック番号にそのまま記述し、同期パケットβを生成する。
【実施例３】
【０１５０】
次に、実施例３について説明する。実施例３のファイル送受信システムは、ファイルを送受信しながら、ファイル差替え中継装置及びファイル差替え受信装置において、元のファイルの一部を、ファイル送信装置から受信したデータに差替え、新たなファイルとして蓄積する処理を行う。
【０１５１】
〔構成〕
図３は、実施例３によるファイル送受信システムの構成を示すブロック図である。このファイル送受信システムは、ファイル送信装置１、ファイル差替え中継装置４及びファイル差替え受信装置５を備えて構成され、ファイル送信装置１とファイル差替え中継装置４とはネットワーク１０を介して接続され、ファイル差替え中継装置４とファイル差替え受信装置５とはネットワーク１０を介して接続される。実施例３のファイル送受信システムは、ファイル送信装置１が、蓄積したファイルをパケット化し、データパケットとしてネットワーク１０を介してファイル差替え中継装置４へ送信し、ファイル差替え中継装置４が、蓄積していた元のファイルの一部を、受信したデータパケットのデータに差替える。また、ファイル差替え中継装置４が、受信したデータパケットをファイル差替え受信装置５へ送信し、ファイル差替え受信装置５が、蓄積していた元のファイルの一部を、受信したデータパケットのデータに差替える。
【０１５２】
（ファイル差替え中継装置の構成）
ファイル差替え中継装置４は、パケット受信手段２０１、受信管理手段２０２、同期パケット送信手段２０３、データ出力手段２０５、受信用バッファ２０７、パケット送信手段１０１、送信管理手段１０２、同期パケット受信手段１０３、蓄積装置１０５、再送用バッファ１０６、同期パケット中継手段３０１、ファイル差替え手段４０１及びユーザー要求受信手段１０７を備えている。
【０１５３】
ファイル差替え中継装置４は、図２に示した実施例２のファイル中継装置３の機能を有し、さらに、ファイルの一部を差替える機能を有する。すなわち、ファイル差替え中継装置４は、図１に示した実施例１のファイル送信装置１及びファイル受信装置２の機能に加え、同期パケット及びデータパケットを中継して転送する機能、及び、ファイルの一部を差替える機能を有する。パケット受信手段２０１、受信管理手段２０２、同期パケット送信手段２０３、データ出力手段２０５、受信用バッファ２０７、パケット送信手段１０１、送信管理手段１０２、同期パケット受信手段１０３、蓄積装置１０５、再送用バッファ１０６、同期パケット中継手段３０１及びユーザー要求受信手段１０７については、実施例１，２において説明済みであるから、ここでは説明を省略する。尚、データ出力手段２０５の代わりにファイル差替え手段４０１が、受信用バッファ２０７から読み出したデータを蓄積装置１０５に蓄積する。ファイル差替え中継装置４は、ファイル差替え受信装置５から同期パケットαを受信し、同期パケットβを生成してファイル送信装置１へ送信するものとする。同期パケットα及び同期パケットβは、実施例２と同様である。
【０１５４】
ファイル差替え手段４０１は、受信用バッファ２０７からブロック単位のデータを読み出し、蓄積装置１０５に蓄積されているファイルの一部を、読み出したデータに差替えて新たなファイルを生成し、差替え後のファイルとして蓄積装置１０５に蓄積する。尚、元のファイルにおいて差替える位置、及び差替えるデータ等については、ユーザー要求受信手段１０７により予め設定されているものとする。
【０１５５】
（ファイル差替え受信装置の構成）
ファイル差替え受信装置５は、パケット受信手段２０１、受信管理手段２０２、同期パケット送信手段２０３、同期信号生成手段２０４、蓄積装置２０６、受信用バッファ２０７、ファイル差替え手段４０１及びユーザー要求受信手段１０７を備えている。
【０１５６】
ファイル差替え受信装置５は、図１に示した実施例１のファイル受信装置２の機能を有し、さらに、ファイルの一部を差替える機能を有する。パケット受信手段２０１、受信管理手段２０２、同期パケット送信手段２０３、同期信号生成手段２０４、蓄積装置２０６、受信用バッファ２０７及びユーザー要求受信手段１０７については、実施例１において説明済みであるから、ここでは説明を省略する。
【０１５７】
ファイル差替え手段４０１は、前述したファイル差替え中継装置４のファイル差替え手段４０１の機能に加え、受信用バッファ２０７からブロックのデータを読み出した後、そのデータ、ブロック情報及び受信完了フラグを削除する。
【０１５８】
〔ファイル差替え処理〕
次に、図３に示した実施例３のファイル送受信システムによる処理について説明する。図８は、ファイル差替え中継装置４の処理を説明するフローチャートであり、図１２は、ファイル差替え処理を説明するシーケンス図である。図１２に示すステップＳの番号は、図８に示すステップＳの番号に対応している。このファイル差替え処理は、ファイル差替え中継装置４が、ファイル送信装置１からファイルを受信し、蓄積装置１０５に蓄積している元のファイルの一部を、受信したファイルのデータに差替えて蓄積装置１０５に蓄積し、受信したファイルをファイル差替え受信装置５へ送信し、ファイル差替え受信装置５が、蓄積装置２０６に蓄積している元のファイルの一部を、受信したファイルのデータに差替えて蓄積装置２０６に蓄積する一連の処理である。
【０１５９】
前述のように、ファイル送信装置１、ファイル差替え中継装置４及びファイル差替え受信装置５のユーザー要求受信手段１０７は、送受信対象のファイル名、その蓄積先である蓄積装置１０５，２０６、ファイルサイズ、ブロックサイズ、差替え対象のファイル名、差替えデータの位置等の要求情報を、ユーザーの指定により受信し、処理が行われる前に予め各手段に出力しているものとする。また、ファイル送信装置１の同期パケット受信手段１０３とファイル差替え中継装置４の同期パケット送信手段２０３との間、及び、ファイル差替え中継装置４の同期パケット受信手段１０３とファイル差替え受信装置５の同期パケット送信手段２０３との間に、ＴＣＰコネクションが張られており、ＴＣＰ／ＩＰの通信プロトコルが用いられるものとする。また、ファイル送信装置１のパケット送信手段１０１とファイル差替え中継装置４のパケット受信手段２０１との間、及び、ファイル差替え中継装置４のパケット送信手段１０１とファイル差替え受信装置５のパケット受信手段２０１との間に、ＵＤＰコネクションが張られており、ＵＤＰ／ＩＰの通信プロトコルが用いられるものとする。
【０１６０】
（ファイル差替え中継装置の処理）
図８及び図１２を参照して、ファイル差替え中継装置４の処理について説明する。図８及び図１２のステップＳ８０１〜ステップＳ８０８の処理は、図７及び図１１に示したステップＳ７０１〜ステップＳ７０８の処理と同様である。すなわち、ファイル差替え中継装置４の同期パケット受信手段１０３は、ファイル差替え受信装置５から同期パケットαを受信し、受信管理手段２０２は、同期パケット受信手段１０３から同期パケット中継手段３０１を介して同期パケットαを入力し、受信用バッファ２０７に領域を確保して同期パケットβを生成し、同期パケット送信手段２０３は、同期パケットβをファイル送信装置１へ送信する。
【０１６１】
同期パケットαの送信要求ブロック番号には、ファイル送信装置１からのデータを、ファイル差替え受信装置５に蓄積された元のファイルの一部に差替える際の、ファイル送信装置１に蓄積されたファイル内のデータ位置、すなわち、ファイル送信装置１に蓄積されたファイルのブロック番号が記述される。このブロック番号は、差替えデータの位置の要求情報として、ファイル差替え受信装置５のユーザー要求受信手段１０７により予め設定される。
【０１６２】
このように、ファイル差替え中継装置４は、ファイル差替え受信装置５から同期パケットαを受信し、同期パケットαに記述された送信要求ブロック番号と同じ番号、及び、生成した確認応答を同期パケットβに記述し、同期パケットβをファイル送信装置１へ送信する。これにより、同期パケットの中継を行うことができる。
【０１６３】
また、パケット受信手段２０１は、ファイル送信装置１からデータパケットを受信し、データパケットからデータを取り出し受信用バッファ２０７に保存する。
【０１６４】
この場合、ファイル送信装置１は、ファイル差替え中継装置４から同期パケットβを受信し、同期パケットβから送信要求ブロック番号を取り出し、ユーザー要求受信手段１０７により予め設定された差替え対象のファイル名（差替え元のファイル名）及び差替えデータの位置（差替え元のファイルにおけるデータ位置）の要求情報を参照して、蓄積装置１０５から差替え元のファイルを読み出し、送信要求ブロック番号のデータをデータパケットとして送信する。
【０１６５】
ファイル差替え手段４０１は、受信用バッファ２０７にブロック毎の全データが揃ったことを受信完了フラグによって判定する（ステップＳ８０９）。ファイル差替え手段４０１は、ブロック毎の全データが揃ったことを判定した場合（ステップＳ８０９：Ｙ）、受信用バッファ２０７からブロックのデータを読み出し、ユーザー要求受信手段１０７により予め設定された情報に従って、蓄積装置１０５に格納されているファイルの一部を、受信用バッファ２０７から読み出したブロックのデータに差替えて新たなファイルを生成し、差替え後のファイルとして蓄積装置１０５に蓄積する。一方、ブロック毎の全データが揃っていないと判定した場合、ステップＳ８１６へ移行する。
【０１６６】
図８及び図１２のステップＳ８１１〜ステップＳ８１５の処理は、図７及び図１１に示したステップＳ７１１の一部の処理を除きステップＳ７０９〜ステップＳ７１３の処理と同様である。すなわち、ファイル差替え中継装置４の送信管理手段１０２は、同期パケット受信手段１０３から入力した同期パケットαの確認応答を取り出し、確認応答のブロック番号及びパケット番号と、送信済みのデータパケットについて記憶しているブロック番号及びパケット番号とを比較し、欠落番号があるかないかを判定し、前述したデータパケットの欠落処理を行う。また、送信管理手段１０２は、同期パケットαから送信要求ブロック番号を取り出し、データ出力手段２０５は、送信要求ブロック番号のデータを受信用バッファ２０７から読み出し、パケット送信手段１０１は、データパケットをファイル差替え受信装置５へ送信し、送信済みのデータパケットを、送信管理手段１０２を介して再送用バッファ１０６に保存する。また、送信管理手段１０２は、そのデータパケットについてのブロック番号及びパケット番号を記憶する。
【０１６７】
そして、ファイル差替え中継装置４は、ファイル転送が完了して処理を終了するまで、ステップＳ８０１〜ステップＳ８１５の処理を行う（ステップＳ８１６）。
【０１６８】
このように、ファイル差替え中継装置４は、ファイル送信装置１からデータパケットを受信し、元のファイルの一部を、受信したデータパケットのデータに差替えて蓄積装置１０５に蓄積すると共に、データパケットをファイル差替え受信装置５へ送信するようにした。これにより、ファイルの差替えを行うと共に、データパケットの中継を行うことができる。尚、差替え前後のデータサイズは、必ずしも一致していなくてもよい。
【０１６９】
以上のように、実施例３のファイル差替え中継装置４によれば、ファイル差替え受信装置５から、差替えデータの送信要求ブロック番号が記述された同期パケットαを受信し、保存領域を確保した後に、同じ送信要求ブロック番号を記述した同期パケットβをファイル送信装置１へ送信するようにした。また、ファイル送信装置１から、同期パケットβに対する送信要求ブロック番号のデータパケットを受信し、元のファイルの一部を、受信したデータパケットのデータに差替え新たなファイルとして蓄積装置１０５に蓄積すると共に、同期パケットαに対する送信要求ブロック番号のデータパケットをファイル差替え受信装置５へ送信するようにした。これにより、ファイル送信装置１に蓄積されていたファイルは、ファイル送信装置１からファイル差替え中継装置４へ、適切な帯域にて効率的にかつ確実に送信される。また、元のファイルの一部は、受信したデータに差替えられ、差替え後のファイルとして蓄積装置１０５に蓄積される。従来は、ファイルの受信が完了した後に差替え処理を行っていたが、実施例３では、ファイルの一部のデータを受信して差替えを行うから、差替え完了までの時間を短縮することができ、効率的な処理を実現できる。また、ネットワーク資源及び蓄積領域を節減できる。
【０１７０】
（ファイル差替え受信装置の処理）
ファイル差替え受信装置５による同期パケットを生成して送信する処理、データパケットを受信して受信用バッファ２０７に保存し、ファイルの一部を差替える処理は、ファイル差替え中継装置４と同様である。この場合、受信管理手段２０２は、同期信号生成手段２０４から入力した同期信号のタイミングにて、差替えデータの送信要求ブロック番号を記述した同期パケットαを生成する。また、受信用バッファ２０７に保存されたブロック毎のデータ等については、ファイル差替え手段４０１により読み出され、削除される。
【０１７１】
以上のように、実施例３のファイル差替え受信装置５によれば、保存領域を確保した後に、差替えデータの送信要求ブロック番号を記述した同期パケットαを、ファイル差替え中継装置４へ送信するようにした。また、ファイル差替え中継装置４から、同期パケットαに対する送信要求ブロック番号のデータパケットを受信し、元のファイルの一部を、受信したデータパケットのデータに差替え、新たなファイルとして蓄積装置２０６に蓄積するようにした。これにより、ファイル送信装置１に蓄積されていたファイルは、ファイル差替え中継装置４を介してファイル差替え受信装置５へ、適切な帯域にて効率的にかつ確実に送信される。また、元のファイルの一部は、受信したデータに差替えられ、差替え後のファイルとしてファイル差替え受信装置５の蓄積装置２０６に蓄積される。ファイル差替え中継装置４と同様に、処理時間の短縮化を図り、ネットワーク資源及び蓄積領域を蓄積できる。
【０１７２】
〔ＭＸＦファイルの場合〕
尚、ファイル送受信システムにより送受信されるファイルが、図１９に示したＭＸＦファイルの場合も、前述と同様の手順により処理が行われる。図１８に示したファイルを対象にする場合との違いを以下に説明する。
【０１７３】
実施例１，２において説明した違いの他、ファイル差替え中継装置４及びファイル差替え受信装置５のユーザー要求受信手段１０７は、差替え対象のＭＸＦファイル名、及び差替え位置を示すタイムコードまたはフレーム番号等の要求情報を、ユーザーの指定により受信し、ファイル送受信処理が行われる前に予め各手段に出力する。
【０１７４】
ファイル差替え中継装置４及びファイル差替え受信装置５のファイル差替え手段４０１は、受信用バッファ２０７からフレームのデータを読み出し、予め設定された差替え対象のＭＸＦファイル名、差替え位置を示すタイムコードまたはフレーム番号等の要求情報に従って、蓄積装置１０５，２０６に蓄積されているファイルの一部を、読み出したフレームのデータに差替えて新たなファイルを生成し、差替え後のファイルとして蓄積装置１０５，２０６に蓄積する。
【０１７５】
ファイル差替え中継装置４の送信管理手段１０２は、同期パケットに記述された送信要求ブロック番号のフレーム番号を取り出し、フレーム読出要求をデータ出力手段２０５に出力し、データ出力手段２０５は、送信管理手段１０２からのフレーム読出要求に従って、受信用バッファ２０７からそのフレームのデータを読み出し、パケット送信手段１０１に出力する。
【０１７６】
尚、図３に示した実施例３のファイル送受信システムは、ファイル送信装置１、ファイル差替え中継装置４及びファイル差替え受信装置５を備えて構成されるが、ファイル送信装置１及びファイル差替え受信装置５を備えて構成されるようにしてもよい。また、ファイル送受信システムは、ファイル送信装置１、ファイル差替え中継装置４及びファイル受信装置２を備えて構成されるようにしてもよい。
【実施例４】
【０１７７】
次に、実施例４について説明する。実施例４のファイル送受信システムは、ファイルを送受信しながら、ファイル合成中継装置において、第１のファイル送信装置からのデータと、第２のファイル送信装置からのデータとを合成する処理を行う。以下、合成元のファイル及び合成後のファイルは、いずれも図１９に示したＭＸＦファイルとして説明する。
【０１７８】
〔構成〕
図４は、実施例４によるファイル送受信システムの構成を示すブロック図である。このファイル送受信システムは、ファイル送信装置１−１，１−２、ファイル合成中継装置６及びファイル差替え受信装置５を備えて構成され、ファイル送信装置１−１，１−２とファイル合成中継装置６とはネットワーク１０を介して接続され、ファイル合成中継装置６とファイル差替え受信装置５とはネットワーク１０を介して接続される。実施例４のファイル送受信システムは、ファイル送信装置１−１，１−２が、蓄積したファイルをパケット化し、データパケットとしてネットワーク１０を介してファイル合成中継装置６へそれぞれ送信し、ファイル合成中継装置６が、ファイル送信装置１−１から受信したデータパケットのデータと、ファイル送信装置１−２から受信したデータパケットのデータとを合成し、合成したデータをデータパケットとしてファイル差替え受信装置５へ送信し、ファイル差替え受信装置５が、ファイル合成中継装置６から受信したデータパケットを、ファイル差替え処理の後に蓄積する。
【０１７９】
（ファイル合成中継装置の構成）
ファイル合成中継装置６は、パケット受信手段２０１−１，２０１−２、受信管理手段２０２−１，２０２−２、同期パケット送信手段２０３−１，２０３−２、受信用バッファ２０７−１，２０７−２、データ出力手段２０５、パケット送信手段１０１、送信管理手段１０２、同期パケット受信手段１０３、再送用バッファ１０６、ファイル合成手段１２１、同期パケット変換手段１２２及びユーザー要求受信手段１０７を備えている。
【０１８０】
ファイル合成中継装置６は、図１に示した実施例１のファイル受信装置２の機能を２系統有し、ファイル送信装置１の機能を１系統有し、さらに、ファイルの一部を合成する機能を有する。パケット受信手段２０１−１、受信管理手段２０２−１、同期パケット送信手段２０３−１、受信用バッファ２０７−１は、ファイル送信装置１−１との間で同期パケットβを送信し、及びデータパケットを受信して保存する処理を行い、パケット受信手段２０１−２、受信管理手段２０２−２、同期パケット送信手段２０３−２、受信用バッファ２０７−２は、ファイル送信装置１−２との間で同期パケットγを送信し、及びデータパケットを受信して保存する処理を行う。パケット受信手段２０１−１、２０１−２、受信管理手段２０２−１，２０２−２、同期パケット送信手段２０３−１，２０３−２、受信用バッファ２０７−１，２０７−２、データ出力手段２０５、パケット送信手段１０１、送信管理手段１０２、同期パケット受信手段１０３、再送用バッファ１０６及びユーザー要求受信手段１０７については、実施例１，２，３において説明済みであるから、ここでは説明を省略する。
【０１８１】
ファイル合成中継装置６は、ファイル差替え受信装置５から同期パケットαを受信し、同期パケットαを同期パケットβ’に変換して同期パケットβを生成し、ファイル送信装置１−１へ送信し、同期パケットαを同期パケットγ’に変換して同期パケットγを生成し、ファイル送信装置１−２へ送信するものとする。ファイル合成中継装置６のユーザー要求受信手段１０７により、ファイル送信装置１−１，１−２が蓄積している合成元のファイルにおけるデータ位置（フレーム番号）、及び合成後のデータ位置（フレーム番号）等の情報が変換テーブルとして予め設定される。したがって、送信要求ブロック番号がフレーム番号及びブロック番号により構成されている場合、同期パケットαを同期パケットβ’に変換する際に、変換テーブルに基づいて、同期パケットαにおける合成後のデータ位置（フレーム番号）が、ファイル送信装置１−１に蓄積されている合成元のファイルにおけるデータ位置（フレーム番号）に変換され、そのフレーム番号、及び同期パケットαにおける送信要求ブロック番号のブロック番号が送信要求ブロック番号として同期パケットβ’に記述される。同期パケットαを同期パケットγ’に変換する場合も同様である。同期パケットβの送信要求ブロック番号には、同期パケットβ’の送信要求ブロック番号と同じ番号が記述され、同期パケットγの送信要求ブロック番号には、同期パケットγ’の送信要求ブロック番号と同じ番号が記述される。
【０１８２】
ファイル合成手段１２１は、受信用バッファ２０７−１，２０７−２からフレームのデータを読み出し、変換テーブルに従って合成処理を行い、合成後のデータをデータ出力手段２０５に出力する。このとき、ファイル合成手段１２１は、変換テーブルに従ってブロック番号を付け直す。
【０１８３】
同期パケット変換手段１２２は、同期パケット受信手段１０３から同期パケットαを入力し、同期パケットαを同期パケットβ’，γ’に変換し、同期パケットβ’を受信管理手段２０２−１に出力し、同期パケットγ’を受信管理手段２０２−２に出力する。具体的には、同期パケット変換手段１２２は、同期パケットαに記述されている送信要求ブロック番号を取り出し、予め設定されている変換テーブルに基づいて、その送信要求ブロック番号に含まれるフレーム番号（合成後のデータ位置（フレーム番号））を合成元のフレーム番号（ファイル送信装置１−１，１−２に蓄積されている合成元のファイルにおけるフレーム番号）に変換し、そのフレーム番号、及び同期パケットαにおける送信要求ブロック番号に含まれるブロック番号を送信要求ブロック番号にそれぞれ記述して同期パケットβ’，γ’をそれぞれ生成する。
【０１８４】
〔ファイル合成処理〕
次に、図４に示した実施例４のファイル送受信システムによる処理について説明する。図９は、ファイル合成中継装置６の処理を説明するフローチャートであり、図１３は、ファイル合成処理を説明するシーケンス図である。図１３に示すステップＳの番号は、図９に示すステップＳの番号に対応している。このファイル合成処理は、ファイル合成中継装置６が、ファイル送信装置１−１，１−２からデータをそれぞれ受信し、これら２つのデータを合成し、合成したデータをファイル差替え受信装置５へ送信し、ファイル差替え受信装置５が、蓄積装置２０６に蓄積している元のファイルの一部を、受信したデータに差替える一連の処理である。
【０１８５】
前述のように、ファイル送信装置１−１，１−２及びファイル合成中継装置６のユーザー要求受信手段１０７は、送受信対象のファイル名、その蓄積先である蓄積装置１０５，２０６、フレームサイズ、フレーム内のブロック数、合成対象のファイル名（合成元のファイルのファイル名及び合成後のファイルのファイル名）、合成データの位置（合成元のファイルにおけるデータ位置（フレーム番号）、合成後のファイルにおけるデータ位置（フレーム番号））等の要求情報を、ユーザーの指定により受信し、処理が行われる前に予め各手段に出力しているものとする。この合成データの位置に関する要求情報は、ファイル送信装置１−１に蓄積されている合成元のファイルのフレーム番号、ファイル送信装置１−２に蓄積されている合成元のファイルのフレーム番号、合成後のファイルのフレーム番号の対応関係、及び、合成順序等が定義された変換テーブルとして設定される。例えば、ファイル送信装置１−１に蓄積されている合成元のファイル１のフレーム番号１１−２０、ファイル送信装置１−２に蓄積されている合成元のファイル２のフレーム番号３１−４０、合成後のファイルのフレーム番号１−２０、ファイル１のフレーム番号１１−２０の後ろにファイル２のフレーム番号３１−４０を合成する順序とすると、図２１に示したように、ファイル１におけるフレーム番号１１−２０のデータの後ろに、ファイル２におけるフレーム番号３１−４０のデータが合成され、フレーム番号１−２０のデータを有する合成後のファイルが生成される。
【０１８６】
また、ファイル差替え受信装置５のユーザー要求受信手段１０７は、実施例３と同様に、ファイル差替えのための要求情報を、ユーザーの指定により受信し、処理が行われる前に各手段に出力しているものとする。
【０１８７】
また、ファイル送信装置１−１，１−２の同期パケット受信手段１０３とファイル合成中継装置６の同期パケット送信手段２０３−１，２０３−２との間、及び、ファイル合成中継装置６の同期パケット受信手段１０３とファイル差替え受信装置５の同期パケット送信手段２０３との間に、ＴＣＰコネクションが張られており、ＴＣＰ／ＩＰの通信プロトコルが用いられるものとする。また、ファイル送信装置１−１，１−２のパケット送信手段１０１とファイル合成中継装置６のパケット受信手段２０１−１，２０１−２との間、及び、ファイル合成中継装置６のパケット送信手段１０１とファイル差替え受信装置５のパケット受信手段２０１との間に、ＵＤＰコネクションが張られており、ＵＤＰ／ＩＰの通信プロトコルが用いられるものとする。
【０１８８】
（ファイル合成中継装置の処理）
図９及び図１３を参照して、ファイル合成中継装置６の処理について説明する。ファイル合成中継装置６の同期パケット受信手段１０３は、ファイル受信装置２から同期パケットαを受信し、同期パケットαを送信管理手段１０２に出力した後に同期パケット変換手段１２２に出力する（ステップＳ９０１）。同期パケットαの送信要求ブロック番号には、合成後のファイルにおけるフレーム番号及びブロック番号が記述されている。
【０１８９】
同期パケット変換手段１２２は、同期パケット受信手段１０３から同期パケットαを入力し、予め設定されている変換テーブルに従って、同期パケットαの送信要求ブロック番号に含まれる合成後のフレーム番号を合成元のフレーム番号に変換、そのフレーム番号、及び同期パケットαの送信要求ブロック番号に含まれるブロック番号を送信要求ブロック番号に記述して同期パケットβ’，γ’を生成し、同期パケットβ’を受信管理手段２０２−１に出力し、同期パケットγ’を受信管理手段２０２−２に出力する（ステップＳ９０２）。例えば、前述のように、変換テーブルに、ファイル送信装置１−１に蓄積されている合成元のファイル１のフレーム番号１１−２０、ファイル送信装置１−２に蓄積されている合成元のファイル２のフレーム番号３１−４０、合成後のファイルのフレーム番号１−２０が定義されている場合を想定する。同期パケットαの送信要求ブロック番号が１，１（フレーム番号１、ブロック番号１）のときには、同期パケットβ’の送信要求ブロック番号に１１，１（フレーム番号１１、ブロック番号１）が記述され、同期パケットαの送信要求ブロック番号が１１，１（フレーム番号１１、ブロック番号１）のときには、同期パケットγ’の送信要求ブロック番号に３１，１（フレーム番号３１、ブロック番号１）が記述される。
【０１９０】
図９及び図１３のステップＳ９０３〜ステップＳ９０８の処理は、図８及び図１２に示したステップＳ８０３〜ステップＳ８０８の処理と同様である。すなわち、ファイル合成中継装置６の受信管理手段２０２−１，２０２−２は、同期パケット変換手段１２２から同期パケットβ’，γ’を入力し、受信用バッファ２０７−１，２０７−２にフレームのデータが保存される領域を確保して同期パケットβ，γを生成し、同期パケット送信手段２０３−１，２０３−２は、同期パケットβ，γをファイル送信装置１−１，１−２へ送信する。
【０１９１】
このように、ファイル合成中継装置６は、ファイル差替え受信装置５から同期パケットαを受信し、同期パケットαに記述された送信要求ブロック番号に含まれるフレーム番号を変換して得た合成元のフレーム番号、同期パケットαに記述された送信要求ブロック番号に含まれるブロック番号と同じ番号、及び確認応答を同期パケットβ，γに記述し、同期パケットβ，γをファイル送信装置１−１，１−２へ送信する。これにより、合成ファイルを生成するための同期パケットαを、合成元のそれぞれのファイルからデータを取得するための同期パケットβ，γに変換することができる。ここで、ファイル合成中継装置６の送信管理手段１０２、及びファイル差替え受信装置５の受信管理手段２０２が扱うフレーム番号は、合成後のファイルに対応したフレーム番号であり、ファイル合成中継装置６の受信管理手段２０２−１，２０２−２、及びファイル送信装置１−１，１−２の送信管理手段１０２が扱うフレーム番号は、合成元のファイルに対応したフレーム番号である。
【０１９２】
また、パケット受信手段２０１−１，２０２−２は、ファイル送信装置１−１，１−２からデータパケットを受信し、フレームのデータを受信用バッファ２０７−１，２０７−２に保存し、ステップＳ９１５へ移行する。
【０１９３】
この場合、ファイル送信装置１−１，１−２は、ファイル合成中継装置６から受信した同期パケットβ，γについて、送信要求ブロック番号に含まれるフレーム番号及びブロック番号を取り出し、ユーザー要求受信手段１０７により予め設定された合成対象のファイル名（合成元のファイルのファイル名）及び合成データの位置（合成元のファイルにおけるデータ位置（フレーム番号）の要求情報を参照して、蓄積装置１０５から合成元のファイルを読み出し、送信要求ブロック番号に含まれるフレーム番号かつブロック番号のデータをデータパケットとして送信する。
【０１９４】
図９及び図１３のステップＳ９０９及びステップＳ９１０の処理は、図８及び図１２に示したステップＳ８１１及びステップＳ８１２の処理と同様である。すなわち、ファイル合成中継装置６の送信管理手段１０２は、同期パケット受信手段１０３から入力した同期パケットαの確認応答を取り出し、確認応答のブロック番号及びパケット番号と、送信済みのデータパケットについて記憶しているブロック番号及びパケット番号とを比較し、欠落番号があるかないかを判定し、前述したデータパケットの欠落処理を行う。また、送信管理手段１０２は、同期パケットαから送信要求ブロック番号を取り出し、送信要求ブロック番号に含まれるフレーム番号のデータを読み出すためのフレーム読出要求をデータ出力手段２０５に出力する。
【０１９５】
ファイル合成手段１２１は、予め設定された変換テーブルに従って、受信用バッファ２０７−１，２０７−２からフレームのデータを読み出す（ステップＳ９１１）。具体的には、ファイル合成手段１２１は、受信用バッファ２０７−１に、合成元のファイルにおけるフレーム番号（同期パケットβに記述された送信要求ブロック番号に含まれるフレーム番号）の全データが揃ったことを、フレーム情報及び受信完了フラグによって判定し、受信用バッファ２０７−１からそのフレームのデータを読み出す。同様に、ファイル合成手段１２１は、受信用バッファ２０７−２に、合成元のファイルにおけるフレーム番号（同期パケットγに記述された送信要求ブロック番号に含まれるフレーム番号）の全データが揃ったことを、フレーム情報及び受信完了フラグによって判定し、受信用バッファ２０７−２からそのフレームのデータを読み出す。そして、ファイル合成手段１２１は、読み出したフレームのデータを受信用バッファ２０７−１，２０７−２から削除すると共に、そのデータに対応するフレーム情報及び受信完了フラグを削除する。尚、ファイル合成手段１２１は、受信用バッファ２０７−１，２０７−２に送信要求ブロック番号が示すフレームの全データが揃っていないと判定した場合、全データが揃うまで待機する。
【０１９６】
ファイル合成手段１２１は、予め設定された変換テーブルに従って、受信用バッファ２０７−１から読み出したフレームのデータと、受信用バッファ２０７−２から読み出したフレームのデータとを合成し、合成後のフレームのデータをデータ出力手段２０５に出力する（ステップＳ９１２）。ファイル合成手段１２１は、フレームのデータを合成する際に、変換テーブルに定義された合成後のファイルにおけるフレーム番号になるよう、合成後のフレームのデータにフレーム番号を付け直す。
【０１９７】
前述のように、変換テーブルに、ファイル送信装置１−１に蓄積されている合成元のファイル１のフレーム番号１１−２０、ファイル送信装置１−２に蓄積されている合成元のファイル２のフレーム番号３１−４０、合成後のファイルのフレーム番号１−２０が定義されている場合、ファイル合成手段１２１は、合成後のフレームのデータに、フレーム番号１−２０を付け直してデータ出力手段２０５に出力する。
【０１９８】
このように、ファイル合成中継装置６は、ファイル送信装置１−１，１−２からそれぞれ受信したフレームを合成し、変換テーブルに従ってフレーム番号を付け直し、合成後のデータを生成することができる。これにより、変換テーブルに従って、フレーム単位の合成を行うことができる。
【０１９９】
データ出力手段２０５は、送信管理手段１０２からフレーム読出要求を入力し、ファイル合成手段１２１から合成後のフレームのデータを入力し、フレーム読出要求のフレーム番号に対応するデータをパケット送信手段１０１に出力する。
【０２００】
パケット送信手段１０１は、データ出力手段２０５から、送信要求ブロック番号に含まれるフレーム番号が示すデータを入力し、送信管理手段１０２から送信要求ブロック番号を入力し、入力したフレームのデータのうち、送信要求ブロック番号に含まれるブロック番号が示すデータをパケットに分割し、データパケットを生成する。そして、パケット送信手段１０１は、データパケットをファイル差替え受信装置５へ送信する（ステップＳ９１３）。また、パケット送信手段１０１は、送信済みのデータパケットを、送信管理手段１０２を介して再送用バッファ１０６に保存する（ステップＳ９１４）。また、送信管理手段１０２は、パケット送信手段１０１がデータパケットを再送用バッファ１０６に保存する際に、そのデータパケットについてのブロック番号及びパケット番号を記憶する。
【０２０１】
そして、ファイル合成中継装置６は、ファイル転送が完了して処理を終了するまで、ステップＳ９０１〜ステップＳ９１４の処理を行う（ステップＳ９１５）。
【０２０２】
一方、ファイル差替え受信装置５は、図３に示したファイル差替え受信装置５と同様に、ファイル合成中継装置６からデータパケットを受信し、ユーザー要求受信手段１０７により予め設定された要求情報に従って、蓄積装置２０６に蓄積されている元のファイルの一部を、受信したデータパケットのデータに差替えて蓄積装置２０６に蓄積する。尚、差替え前後のフレームサイズは、必ずしも一致していなくてもよい。
【０２０３】
以上のように、実施例４のファイル合成中継装置６によれば、ファイル差替え受信装置５から、送信要求ブロック番号（合成後のファイルにおけるフレーム番号及びブロック番号）が記述された同期パケットαを受信し、変換テーブルに従って合成元のフレーム番号に変換して同期パケットβ，γを生成し、受信用バッファ２０７−１，２０７−２にフレームサイズの保存領域を確保した後、ファイル送信装置１−１，１−２へ送信するようにした。また、ファイル送信装置１−１，１−２から、同期パケットβ，γに対するデータパケットを受信し、変換テーブルに従って、フレームのデータを合成し、合成後のフレームのデータを、同期パケットαに対するデータパケットとしてファイル差替え受信装置５へ送信するようにした。これにより、ファイル送信装置１−１，１−２に蓄積されていたファイルは、ファイル送信装置１−１，１−２からファイル合成中継装置６へ、適切な帯域にて効率的にかつ確実に送信される。また、受信したデータは合成され、合成後のデータとしてファイル差替え受信装置５へ送信される。ファイル差替え受信装置５は、蓄積装置２０６に蓄積されている元のファイルの一部を、受信した合成後のデータに差替えて蓄積装置２０６に蓄積する。従来は、ファイルの受信が完了した後に合成処理を行っていたが、実施例４では、ファイルの一部のデータを受信して合成処理を行うから、合成処理完了までの時間を短縮することができ、効率的な処理を実現できる。また、ネットワーク資源及び蓄積領域を節減できる。尚、図１８に示したファイルについても同様に、ファイル合成処理を行うことができる。
【０２０４】
尚、図４に示した実施例４のファイル送受信システムは、ファイル送信装置１−１,１−２、ファイル合成中継装置６及びファイル差替え受信装置５を備えて構成されるが、ファイル送信装置１−１，１−２、ファイル合成中継装置６及びファイル受信装置２を備えて構成されるようにしてもよい。また、ファイル送受信システムは、ファイル送信装置１−１，１−２及びファイル合成受信装置を備えて構成されるようにしてもよい。この場合、ファイル合成受信装置は、パケット受信手段２０１−１，２０１−２、受信管理手段２０２−１，２０２−２、同期パケット送信手段２０３−１，２０３−２、受信用バッファ２０７−１，２０７−２、ファイル合成手段１２１、蓄積装置２０６、同期信号生成手段２０４及びユーザー要求受信手段１０７を備えており、ファイル合成手段１２１が、合成したデータをファイルとして蓄積装置２０６に蓄積する。また、ファイル送受信システムは、ファイル送信装置１及びファイル合成受信装置を備えて構成されるようにしてもよい。この場合、ファイル合成受信装置は、前述のファイル合成受信装置と同じ構成をしており、ファイル合成手段１２１が、蓄積装置２０６に蓄積されたファイルの一部と、ファイル送信装置１から受信したファイルの一部とを合成し、合成した新たなファイルを蓄積装置２０６に蓄積する。
【０２０５】
尚、本発明の実施形態によるファイル送信装置１、ファイル受信装置２、ファイル中継装置３、ファイル差替え中継装置４、ファイル差替え受信装置５及びファイル合成中継装置６のハード構成としては、通常のコンピュータを使用することができる。ファイル送信装置１、ファイル受信装置２、ファイル中継装置３、ファイル差替え中継装置４、ファイル差替え受信装置５及びファイル合成中継装置６は、ＣＰＵ、ＲＡＭ等の揮発性の記憶媒体、ＲＯＭ等の不揮発性の記憶媒体、及びインターフェース等を備えたコンピュータによって構成される。ファイル送信装置１、ファイル受信装置２、ファイル中継装置３、ファイル差替え中継装置４、ファイル差替え受信装置５及びファイル合成中継装置６に備えた各構成手段の各機能は、これらの機能を記述したプログラムをＣＰＵに実行させることによりそれぞれ実現される。また、これらのプログラムは、磁気ディスク（フロッピー（登録商標）ディスク、ハードディスク等）、光ディスク（ＣＤ−ＲＯＭ、ＤＶＤ等）、半導体メモリ等の記憶媒体に格納して頒布することもできる。
【０２０６】
以上、実施形態を挙げて本発明を説明したが、本発明は前記実施形態に限定されるものではなく、その技術思想を逸脱しない範囲で種々変形可能である。例えば、図４に示した実施例４のファイル合成を行うファイル送受信システムでは、ファイル合成中継装置６が、ファイル送信装置１−１の蓄積装置１０５に蓄積されている合成元のファイルにおけるフレーム番号のフレームデータの後ろに、別のファイル送信装置１−２の蓄積装置１０５に蓄積されている合成元のファイルにおけるフレーム番号のフレームデータを結合して合成し、新たなフレーム番号を付したフレームデータを用いて、ファイル差替え受信装置５の蓄積装置２０６に蓄積されている元のファイルの一部を差替えるようにした。本発明の合成処理はこれに限定されるものではない。例えば、映像フレームにワイプ処理を施して合成後のファイルを生成するために、ネットワーク１０を介して受信したファイルと、装置内に蓄積しているファイルとの間で合成を行うようにしてもよい。
【０２０７】
また、送受信対象のファイルの例として、図１８に示したファイル及び図１９に示したＭＸＦファイルを挙げて説明したが、本発明の対象とするファイルはこれらに限定されるものではなく、ブロック単位またはフレーム単位で扱うことができるファイルであればよい。
【符号の説明】
【０２０８】
１  ファイル送信装置
２  ファイル受信装置
３  ファイル中継装置
４  ファイル差替え中継装置
５  ファイル差替え受信装置
６  ファイル合成中継装置
１０  ネットワーク
１０１  パケット送信手段
１０２  送信管理手段
１０３  同期パケット受信手段
１０４  データ入力手段
１０５，２０６  蓄積装置
１０６  再送用バッファ
１０７  ユーザー要求受信手段
１２１  ファイル合成手段
１２２  同期パケット変換手段
２０１  パケット受信手段
２０２  受信管理手段
２０３  同期パケット送信手段
２０４  同期信号生成手段
２０５  データ出力手段
２０７  受信用バッファ
３０１  同期パケット中継手段
４０１  ファイル差替え手段
【図１】
2011071764.tif 000003
【図２】
2011071764.tif 000004
【図３】
2011071764.tif 000005
【図４】
2011071764.tif 000006
【図５】
2011071764.tif 000007
【図６】
2011071764.tif 000008
【図７】
2011071764.tif 000009
【図８】
2011071764.tif 000010
【図９】
2011071764.tif 000011
【図１０】
2011071764.tif 000012
【図１１】
2011071764.tif 000013
【図１２】
2011071764.tif 000014
【図１３】
2011071764.tif 000015
【図１４】
2011071764.tif 000016
【図１５】
2011071764.tif 000017
【図１６】
2011071764.tif 000018
【図１７】
2011071764.tif 000019
【図１８】
2011071764.tif 000020
【図１９】
2011071764.tif 000021
【図２０】
2011071764.tif 000022
【図２１】
2011071764.tif 000023