JP3685110B2 - File transfer system, apparatus, method, and recording medium recording file transfer program - Google Patents

File transfer system, apparatus, method, and recording medium recording file transfer program Download PDF

Info

Publication number
JP3685110B2
JP3685110B2 JP2001259588A JP2001259588A JP3685110B2 JP 3685110 B2 JP3685110 B2 JP 3685110B2 JP 2001259588 A JP2001259588 A JP 2001259588A JP 2001259588 A JP2001259588 A JP 2001259588A JP 3685110 B2 JP3685110 B2 JP 3685110B2
Authority
JP
Japan
Prior art keywords
file
transmission
identifier
data
receiving
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP2001259588A
Other languages
Japanese (ja)
Other versions
JP2002149535A (en
Inventor
剛 安部
正久 川島
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2001259588A priority Critical patent/JP3685110B2/en
Publication of JP2002149535A publication Critical patent/JP2002149535A/en
Application granted granted Critical
Publication of JP3685110B2 publication Critical patent/JP3685110B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

【0001】
【発明の属する技術分野】
この発明はファイル(一定の目的を持つ情報)を転送するファイル転送技術に関し、より詳細には、受信装置から提供される受信済みデータ量に応じたファイルデータを受信装置に送ることにより、ファイルの送信処理、受信処理に要する時間が短く、受信装置によるファイル受信を開始可能になるまでの待ち時間がファイルサイズと中継装置の数に比例しないファイル転送技術に関する。
【0002】
【従来の技術】
ネットワークを用いてある発信側端末装置(以下、「送信装置」という)から受信側の別の端末装置(以下、「受信装置」という)ヘファイルを転送する装置をファイル転送システムと呼ぶ。
【0003】
従来のファイル転送システムの一実現方式として、送信装置から受信装置に直接ファイルを転送する方式がある。別の実現方式としてFTPサーバやHTTPサーバなどの、ファイルを蓄積する手段と端末からの要求に応じて蓄積されたファイルを端末に配信する手段とを備えた共有サーバを設け、送信装置が共有サーバにファイルを蓄積し、受信装置が共有サーバからファイルを受信する方式がある。また更に別の方式としてE-mailのようにファイルが複数のファイル中継装置を経由しながら転送される方式もある。
【0004】
【発明が解決しようとする課題】
送信装置から受信装置に直接ファイルを転送する方式では、送信装置と受信装置は同時に起動していなくてはならないという問題がある。また、共有サーバを設ける方式では、送信装置と受信装置は同時に起動していなくても良いが、共有サーバが送信装置、受信装置から離れていると、送信装置にとってのファイル送信処理、受信装置にとってのファイル受信処理に時間がかかるという問題点がある。
【0005】
また、複数のファイル中継装置を中継する方式では、送信装置、受信装置は最寄りのファイル中継装置とファイルの送受信をできるため、送信装置にとってのファイル送信処理、受信装置にとってのファイル受信処理に時間がかかるという問題点は解決される。しかし、各ファイル中継装置は、転送されるファイルの全部分を受信しないと次の転送先ヘファイルを転送できない。なぜなら各ファイル中継装置は、前段のファイル中継装置または送信装置からのファイル受信速度が、次段のファイル中継装置または受信装置への転送速度を下回る場合、次段へのファイル転送を途中で中断せざるをえないからである。そのため、送信装置がファイルを送信開始してから受信装置がファイルの受信を開始可能になるまでの待ち時間が、ファイルサイズと中継ファイル転送装置の数に比例して大きくなる。
【0006】
本発明は、ファイルの送信処理、受信処理に要する時間が短く、受信装置によるファイル受信を開始可能になるまでの待ち時間がファイルサイズと中継装置の数に比例しないファイル転送システムを実現することを目的とする。また、従来のファイル転送方式では、中断・再開を途中で行いながら1つのファイルを転送することができない。なぜなら従来のファイル転送方式では、転送を中断されたファイルについて、中継装置が送信装置に対して、蓄積済みデータ量を伝達し、送信装置は伝達されたデータ量以降のデータから中継装置にデータ転送する手段を持たないためである。本発明は、ファイルを送信する送信装置がファイル転送の途中で転送を中断し、再開することを可能とすることを別の目的とする。
【0007】
【課題を解決するための手段】
本発明のファイル転送システムはファイル蓄積手段と発信ファイル受信手段と着信ファイル送信手段とを備え、送信装置は発信ファイル蓄積手段と発信ファイル送信手段とを備え、受信装置は着信ファイル蓄積手段と着信ファイル受信手段とを備える。
【0008】
中継装置は、発信ファイル受信手段で送信装置から受信したデータをファイル蓄積手段に蓄積する動作と、ファイル蓄積手段に蓄積されたデータを着信ファイル送信手段で受信装置へ送信する動作を独立に行うため、送信装置からのファイル受信を完了する前に受信装置へのファイル送信を開始することができる。また中継装置は発信ファイル情報受信手段と着信ファイル情報送信手段とを備える。
【0009】
送信装置は発信ファイル情報送信手段を備え、受信装置は着信ファイル情報受信手段を備える。
【0010】
中継装置は、ファイルを受信する前に予め発信ファイル情報受信手段で送信装置からファイルサイズを受信し、ファイル識別子と関連付けてファイル蓄積手段に登録する。
【0011】
また、ファイルを送信する前に予め着信ファイル情報送信手段で受信装置にファイル識別子とファイルサイズを通知する。受信装置は、着信ファイル情報受信手段で中継装置から受信したファイル識別子とファイルサイズを、着信ファイル蓄積手段に蓄積する。
【0012】
受信装置は、中継装置に蓄積済みのデータを全て着信ファイル受信手段で受信後、着信ファイル蓄積手段に蓄積されている該ファイルのファイルサイズと受信済みデータ量を比較し、一致しない場合は、中継装置に新たに到着したデータを受信する動作を繰り返す。そのため、送信装置が中継装置にファイルを送信する速度よりも、受信装置が中継装置からファイルを受信する速度のほうが速い場合にも速度調整がなされる。
【0013】
また、中継装置は、転送先決定手段とファイル中継情報送信手段と、中継ファイル送信手段と、ファイル中継情報受信手段と、中継ファイル受信手段とを備えてもよい。この場合中継装置は、転送先決定手段でファイル蓄積手段に蓄積されているファイルの宛先アドレス群から他の中継装置に転送が必要か判断し、必要である場合には転送先とすべき中継装置群を決定し、ファイル中継情報送信手段で、該中継装置群に宛先アドレスのリストとファイル識別子とファイルサイズを含むファイル中継情報を送信する。
【0014】
前段の中継装置からファイル中継情報受信手段でファイル中継情報を受信した第2の中継装置は、ファイル中継情報をファイル情報蓄積手段に蓄積し、中継ファイル受信手段で前段の中継装置からデータを受信する。前段の中継装置に蓄積済みのデータを全て受信後、ファイル蓄積手段に蓄積されている該ファイルのファイルサイズと受信済みデータ量を比較し、一致しない場合は、前段の中継装置に新たに到着したデータを受信する動作を繰り返す。
【0015】
このように送信装置から受信装置ヘファイルが転送される間にファイルが複数の中継装置を経由することも可能となるため、送信装置、受信装置はそれぞれネットワーク的に最寄りの中継装置と通信でき、送信装置にとってのファイル送信処理、受信装置にとってのファイル受信処理を早く完了できる。
【0016】
また、中継装置のファイル蓄積手段は、送信装置がファイル送信を中断したか否かを示す発信状態を蓄積する手段を含み、発信ファイル受信手段は、送信装置がファイル送信を中断した場合に、ファイル蓄積手段に蓄積されている発信状態を中断状態に変化させる手段を含み、着信ファイル送信手段は、受信装置にデータを送信する際に、まず該ファイルの発信状態を送信し、続けて該データを送信する手段を含み、送信装置の発信ファイル送信手段はファイル送信を中断する手段を含み、受信装置の着信ファイル受信手段は中継装置からファイルの発信状態を受信し、中断状態であった場合は受信を中断し、中断状態でない場合には続けてファイルの未受信部分のデータを受信する手段を含んでいても良い。この場合、送信装置がファイル送信を中断したことが、中継装置、受信装置にも伝達されるため、ファイル送信が中断されたにもかかわらず中継装置、受信装置が続きのデータを待ち続けることがなくなる。
【0017】
また、中継装置の中継ファイル送信手段は、データを送信する際にまず該ファイルの発信状態を送信し、続けて該データを送信する手段を含み、中継ファイル受信手段は、前段の中継装置からファイルの発信状態を受信し、中断状態であった場合は受信を中断し、中断状態でない場合には続けてファイルの未受信部分のデータを受信する手段を含んでいても良い。この場合は、送信装置がファイル送信を中断したことが、ファイルを中継する複数の中継装着に伝達されるため、ファイル送信が中断されたにもかかわらず各々の中継装置が続きのデータを待ちつづけることがなくなる。
【0018】
また中継装置は、受信済みデータ量応答手段を備えていてもよく、発信ファイル受信手段は、該ファイル識別子に対応するファイルが既に存在し、前記ファイル蓄積手段に該ファイルのファイル識別子と関連付けて蓄積されている発信状態が中断状態の場合は、該発信状態を中断状態でない状態に変化させ、保存されているファイルの最後尾に該データを追加して蓄積する手段を含み、送信装置の発信ファイル送信手段は、ファイルの受信済みデータ量を中継装置に問い合わせ、通知されたデータ量以降のデータを該中継装置に送信する手段をふくんでいてもよい。この場合は、発信装置は中断したファイル送信を続きのデータから再開することができ、中継装置のファイル蓄積手段に蓄積されている発信状態も中断状態ではなくなるため、受信装置もファイル受信を再開できる。中継装置の中継ファイル受信手段は、前段の中継装置からファイルの発信状態を受信し、送信中断状態でない場合には、ファイル蓄積手段の該ファイルの発信状態を中断ではない状態に変化させる手段を含む場合もある。この場合は、送信装置がファイル送信を再開したことが各中継装置に通知され、各中継装置のファイル蓄積手段に蓄積されている発信状態も中断状態ではなくなるため、各中継装置間のファイル転送も再開される。
【0019】
また、本発明は、上記のようなファイル転送システムに用いられる中継装置としても成立する。この場合本発明は、受信装置からファイル識別子およびダウンロード済みデータ量を受け取る着信ファイル送信手段と、ファイル識別子と該ファイルのファイルデータとを対応付けて記憶し、該着信ファイル送信手段からのファイル識別子およびダウンロード済みデータ量に応じたファイルデータを該着信ファイル送信手段に渡すファイル蓄積手段とを具備し、該着信ファイル送信手段は該ダウンロード済みデータ量に応じたファイルデータを受信装置に宛てて送出することを特徴とする。
【0020】
また、本発明は、上記のようなファイル転送システムに用いられる送信装置、受信装置としても成立する。
【0021】
また、本発明は、ファイル転送方法としても成立する。この場合本発明はファイルの送信のリクエストを受けた場合、該ファイルを識別するためのファイル識別子を生成する第1の工程と、該ファイルのデータを送信装置から受信する前に予め送信装置からファイルサイズを受信し、ファイル識別子と関連付けて記憶する第2の工程と、該送信装置から受け取った該ファイルのファイルデータ量が前記ファイルサイズに達するまで送信装置にファイルデータの送信を要求する第3の工程と、該ファイルのデータを受信装置に送信する前に予め受信装置に該ファイル識別子と該ファイルサイズを通知する第4の工程と、受信装置における該ファイルの受信済みデータ量が該ファイルサイズに達するまで受信装置にファイルデータの送信をおこなう第5の工程とを具備することを特徴とする。
【0022】
また更に、本発明は上記方法を実行するためのプログラムを記録したコンピュータ読み取り可能な記録媒体、更に、プログラムとしても成立する。
【0023】
本発明の他の目的、特徴、機能、利点は、後の詳細な説明を添付の図面を参照して読むことにより、より明確になる。
【0024】
【発明の実施の形態】
以下に、本発明にかかる実施の形態について図面を参照しながら説明する。
【0025】
[第1の実施の形態]
本発明にかかる第1の実施の形態を以下に説明する。
【0026】
図1は、本実施の形態におけるファイル転送システムの全体構造を示す概略ブロック図である。図示のように、ファイル転送システムは、送信装置30と、受信装置50と、該送信装置30と受信装置50とにデータ交換可能に接続された中継装置10とを含む。なお、送信装置30、受信装置50、および中継装置10のそれぞれは、ネットワークインターフェースを備えたコンピュータ上に下記に記載された実現方法に基づくプログラムを起動することによって実現される。
【0027】
なお、本発明のプログラムは、例えばCD−ROM等に格納して配付したり、コンピュータからネットワーク経由でダウンロードすることにより配付することができる。CD−ROMに格納されたプログラムもしくはダウンロードしたプログラムをコンピュータにインストールすることにより、当該コンピュータを、本発明の送信装置、中継装置、受信装置として動作させることが可能となる。
【0028】
送信装置10は、ファイル発信情報送信手段31と、発信ファイル蓄積手段33と、発信ファイル送信手段32とを有している。
【0029】
該ファイル発信情報送信手段31は、発信ファイル情報送信を表す文字列と、ファイル識別子Iと、送信するファイルのファイルサイズLと、宛先IPアドレスRとを含むファイル発信情報を中継装置10に送信し、該ファイル識別子Iを受け取り、該ファイル識別子Iを発信ファイル蓄積手段33に渡す機能を有する。
【0030】
発信ファイル蓄積手段33は、該ファイル識別子Iにもとづいて自らもしくは図示しない他の記憶装置に記憶されたファイルデータを読み出し、ファイル識別子Iとともにファイルデータを発信ファイル送信手段32に渡す機能を有する。
【0031】
発信ファイル送信手段32は、ファイル識別子Iとともにファイルデータを前記発信ファイル蓄積手段33より受けとり、発信ファイル送信を表す文字列とともに中継装置10へと送信する機能を有する。
【0032】
中継装置10は、ファイル発信情報受信手段11と、発信ファイル受信手段12と、ファイル蓄積手段13と、ファイル着信情報送信手段14と、着信ファイル送信手段15とを有している。
【0033】
ファイル発信情報受信手段11は、前記送信装置からファイルサイズL及び宛先アドレスRを受け取り可能であるとともに、ファイル識別子I及びファイルパスPを生成してファイル蓄積手段13に提供可能である。
【0034】
発信ファイル受信手段12は、前記送信装置からファイル識別子I及びファイルデータF(x)を受け取り可能であるとともに、これらをファイル蓄積手段13に提供可能である。なお、「x」は、該ファイルデータのうちすでに読み取られ中継手段に送信されたデータ量(オフセット)を表すものとする。
【0035】
ファイル着信情報送信手段14は、受信装置50から送られたPOSTメソッドを受け取り可能で該受信装置のIPアドレスRを取得可能であるとともに、該IPアドレスRと対応付けされて登録されているファイル識別子IとファイルサイズLの組を前記ファイル蓄積手段13のファイルテーブルから検索し、これらを取得し、かつ該取得したファイル識別子IとファイルサイズLの組を受信装置50へ通知する機能を有する。
【0036】
着信ファイル送信手段15は、受信装置50からファイル識別子Iおよびダウンロード済みデータ量(転送対象のファイルデータのうちすでに受信装置50が受信済であるデータの量をいう)O_Rを受け取り可能であり、該ファイル識別子Iおよびダウンロード済みデータ量O_Rに応じたファイルデータF(O_R)を前記ファイル蓄積手段13から受け取り可能であり、該ファイルデータF(O_R)を受信装置50に送出する機能を有する。
【0037】
ファイル蓄積手段13は、ファイル発信情報受信手段から送られた前記ファイル識別子Iと前記ファイルパスPとファイルサイズLと宛先IPアドレスRをそれぞれ対応付けて蓄積(記憶)し、発信ファイル受信手段から送られてくるファイルデータF’を該ファイルパスPによって特定される領域に蓄積(記憶)し、ファイル着信情報送信手段14からの宛先アドレスRに応じて該ファイル着信情報送信手段14にファイル識別子IおよびファイルサイズLを渡し、着信ファイル送信手段15からのファイル識別子Iおよびダウンロード済みデータ量O_Rに応じたファイルデータF(O_R)を該着信ファイル送信手段15に渡す機能を有する。
【0038】
受信装置50は、ファイル着信情報受信手段51と、着信ファイル蓄積手段53と、着信ファイル受信手段52とを有している。
【0039】
ファイル着信情報受信手段51は、中継装置50からファイル識別子I及びファイルサイズLを含むファイル着信情報を受け取り、該ファイル識別子Iにもとづいて該ファイルの保存先となるファイルパスP’を決定し、該ファイル識別子Iと、該ファイルパスP’、ファイルサイズLを着信ファイル蓄積手段53に提供する機能を有する。
【0040】
着信ファイル蓄積手段53は、ファイル着信情報受信手段51からのファイル識別子Iと、該ファイルパスP’、およびファイルサイズLにもとづいて着信ファイル手段52にそのファイル識別子I、および該ファイルのダウンロード済みデータ量O_Rを渡し、かつ着信ファイル受信手段52から該ファイルデータの一部もしくは全部であるファイルデータF(O_R)を受け取り、これを蓄積(記憶)する機能を有する。
【0041】
また、着信ファイル受信手段52は、着信ファイル蓄積手段53からファイル識別子I、および該ファイルのダウンロード済みデータ量O_Rを受け取り、これらを中継装置10に渡し、それらに応じて該中継装置10から返信されるファイルデータF(O_R)を受けとり、これを着信ファイル蓄積手段53に渡す機能を有する。
【0042】
なお、中継装置10ではHTTPサーバプロセスを起動し、あるURLに対するHTTP POSTメソッドでCGIプログラムまたはサーブレットとして実装された中継装置プログラムが起動するようにする。該URLは予め送信装置30と受信装置50とに教えておく。
【0043】
中継装置10ではまた、リレーショナルデータベース管理システム(RDBMS)を起動し、ファイル識別子とファイルパスとファイルサイズと宛先IPアドレスの組を蓄積するためのテーブルを用意する。このデータベースのテーブルをファイルテーブルと呼ぶ。ファイルテーブルと、ファイルが実際に保存されるディスク領域がファイル蓄積手段13となるように構成しても良い。
【0044】
また、前記手段31〜33、11〜15、51〜53は物理的にそれぞれ独立した手段でなくとも良く、マイクロプロセッサ及びプログラムを記憶した記憶装置により実現されるものであってもよい。
【0045】
つぎに、図2を参照しながら、本実施の形態における処理工程について説明する。図2は、本実施の形態における処理の流れの概略的に示すフロー図である。
【0046】
まず、送信装置30と中継装置10との間で行われる処理について説明する。
送信装置30は、予め教えられているURLに対してHTTPリクエストのPOSTメソッドのエンティティボディに、「発信ファイル情報送信」を表す文字列と、ファイル識別子Iと、送信するファイルのファイルサイズLと、宛先IPアドレスDとを改行で区切りながら格納し中継装置10送信する(S101)。
【0047】
HTTPサーバによって起動された中継装置プログラムによって実現されるファイル発信情報受信手段11は、送信装置30から受け取ったPOSTメソッドのエンティティボディの1行目が「発信ファイル情報送信」を表す文字列の場合、その文字列に続く送信するファイルのファイルサイズL、宛先IPアドレスRを読み取り、該ファイルに対し時刻情報をもとにユニークな値を生成し、これをファイル識別子Iとして割り当てる(S102)。
【0048】
また、該ファイル識別子Iにもとづいて該ファイルの保存先となるファイルパスPを決定し、該ファイル識別子Iと、該ファイルパスP、送信装置30から通知された前記ファイルサイズLと宛先アドレスRをファイル蓄積手段13におくる(S103)。
【0049】
ファイル蓄積手段13はそのファイルテーブルにこれらを登録する(S104)。
【0050】
一方、ファイル発信情報受信手段11は、該ファイル識別子Iを表す文字列をHTTPレスポンスのエンティティボディに含めて送信装置30に通知する(S105)。
【0051】
送信装置30は該ファイル識別子Iを表す文字列を含むHTTPレスポンスのエンティティボディを受け取ると、それから該ファイル識別子Iを読み取り、HTTPリクエストのPOSTメソッドのエンティティボディに、「発信ファイル送信」、該ファイル識別子Iを表す文字列を改行で区切って格納した後、該ファイル識別子Iに対応するファイルデータのバイナリ列を格納して中継装置30へと送信開始する(S106)。
【0052】
なお、送信装置30の内部での処理は以下のように行われる。まず、送信装置30のファイル発信情報送信手段31は、該ファイル識別子Iを含むHTTPレスポンスのエンティティボディから受けとり、それから該ファイル識別子Iを読み取り、該ファイル識別子Iを発信ファイル蓄積手段33に渡す。発信ファイル蓄積手段33は、該ファイル識別子IにもとづいてファイルデータF(x)を読み出す。これらを発信ファイル送信手段32に渡す。発信ファイル送信手段32はHTTPリクエストのPOSTメソッドのエンティティボディに、「発信ファイル送信」を表す文字列、該ファイル識別子Iを改行で区切って格納した後、該「ファイルデータ」のバイナリ列を格納して中継装置10へと送信開始する。
【0053】
HTTPサーバによって起動された中継装置プログラムによって実現される中継装置10において、POSTメソッドのエンティティボディの1行目が「発信ファイル送信」を表す文字列の場合、発信ファイル受信手段12は、それに続くファイル識別子Iを読み取り、ファイル蓄積手段13に記憶されたファイルテーブルから該ファイル識別子に対応付けられて登録されているファイルパスPを取得する。更に、該エンティティボディに続けて格納されてきた「ファイルデータ」を読み取り、該ファイルパスPによって特定されるファイル蓄積手段13の領域に蓄積開始される(S107)。ファイルデータのすべてがファイル蓄積手段13に蓄積されるまで、同様にファイルデータの保存が続けられる(S108)。
【0054】
ファイルデータのすべてがファイル蓄積手段13に蓄積されると、中継装置10はデータ保存完了を発信装置30に通知し(Sl19、S120)、該通知に応じて送信装置30はファイル転送処理を終了する。
【0055】
つぎに、受信装置50と中継装置10との間で行われる処理について説明する。
【0056】
受信装置50は、HTTPリクエストのPOSTメソッドのエンティティボディに、「着信ファイル情報要求」を表す文字列を格納し、予め教えられているURLを宛て先として中継装置10に送信する(S109)。
【0057】
HTTPサーバによって起動された中継装置プログラムによって実現される中継装置10において、ファイル着信情報送信手段14は、受信装置50から送られたPOSTメソッドのエンティティボディの1行目が「着信ファイル情報要求」を表す文字列の場合、HTTPによって通知されるHTTPクライアントのIPアドレスRを取得し、該IPアドレスRと組で登録されているファイル識別子IとファイルサイズLの組を前記ファイル蓄積手段13のファイルテーブルから検索し(S110)、これらを取得する(S111)。そして、ファイル着信情報送信手段14は、該受信装置50に対するHTTPレスポンスのエンティティボディに該ファイル識別子Iと該ファイルサイズLの組を改行で区切りながら格納し、該受信装置50にそのHTTPレスポンスを返送する(S112)。
【0058】
受信装置50は該HTTPレスポンスのエンティティボディからファイル識別子IとファイルサイズLの組を読み取り、該ファイル識別子Iに対応付けて、該ファイルの保存先となるファイルパスP’を決定し、該ファイル識別子I、該ファイルサイズL、該ファイルパスP’を含むファイル情報として保存する(S113)。該ファイル情報は、たとえばこれらを要素として持つ構造体の配列として記憶されても良い。また、該ファイル情報はそのファイルについての受信済みデータ量O_R(初回は0)を含んでいても良い。。
【0059】
次に受信装置50は、該ファイル識別子Iについて、「着信ファイル要求」、該ファイル識別子I、受信済みデータ量O_R(初回は0)を表す文字列を改行で区切ってPOSTメソッドのエンティティボディに格納して、これを中継装置10へ送信する(S114)。
【0060】
つぎに、HTTPサーバによって起動された中継装置プログラムによって実現させる中継装置10は、POSTメソッドのエンティティボディの1行目が「着信ファイル要求」を表す文字列の場合、それに続いて格納されているファイル識別子I、受信済みデータ量O_Rを読み取り、前記ファイル蓄積手段13のファイルテーブルから該ファイル識別子Iと組で登録されているファイルパスPを取得し、該ファイルパスPに対応するファイルの該受信済みデータ量O_R以降のファイルデータをファイル記憶手段13から読み出し(S116)、これをHTTPレスポンスのエンティティボディに格納して受信装置50に返信する(S117)。
【0061】
該HTTPレスポンスを受け取った受信装置50は、保存されているファイル情報から該ファイルのファイルパスP’を取得し、該ファイルパスP’に蓄積されているファイルデータの続きに該HTTPレスポンスのエンティティボディの内容(該受信済みデータ量O_R以降のファイルデータ)を付け加えて蓄積する(S118)。
【0062】
上記のS114からS118までの処理工程が、受信済みデータ量O_RがファイルサイズLに達するまで繰り返される(L1)。
【0063】
また、受信装置50の受信速度が送信装置30の送信速度を上回り、送信装置30が全てのデータを送信完了する前に、中継装置10に蓄積済みのファイルデータを受信装置50が受信完了した場合は、受信装置50は受信済みデータ量O_Rが該ファイルサイズLに達するまで繰り返し中継装置10に残りのデータを要求する(S114、L1)。
【0064】
なお、上記の説明においては、一つの受信装置へファイルが転送される場合を例としてあげたが、本発明ではファイルを複数の受信装置へ転送する場合(マルチキャスト)にも適用可能である。この場合には、送信装置30から宛て先アドレスRの代わりに、該複数の受信装置のアドレスR〜Rからなる宛先アドレス群Dを中継装置10に送信し、中継装置10は該アドレス群Dに含まれるアドレスR〜Rのそれぞれについてファイル識別子Iと、ファイルパスP、ファイルサイズLを対応付けてファイルテーブルに記憶させるようにすればよい。
また、送信装置30のファイル発信情報送信手段31が、転送すべきファイルに対してファイル識別子を割り当て、この割り当てられたファイル識別子をファイル発信情報に含め、中継装置10のファイル発信情報受信手段11は、ファイル識別子を割り当てる代わりに、ファイル発信情報に含まれているファイル識別子を取得してもよい
【0065】
[第2の実施の形態]
以下に、本発明にかかる第2の実施の形態について説明する。本実施の形態は、複数の中継装置を介して送信装置から受信装置へファイルが転送される点が、第1の実施の形態と異なる。
【0066】
本実施の形態において、送信装置30、受信装置50、中継装置10’は前記第1の実施の形態の送信装置30、受信装置50、中継装置10と基本的に同一であるが、第2の実施の形態においては、送信装置と受信装置の間に中継装置が複数配置されており、各々の中継装置には、IPアドレスのネットワーク部と転送先中継装置のURLの組を蓄積するためのデータベースのテーブルを有する転送先決定手段16が設けられている点が異なる。このテーブルを「ルーティングテーブル」と呼ぶ。ルーティングテーブルにおいて、IPアドレスのネットワーク部を入れるべきフィールドに「default」の文字が格納されている場合は、ルーティングテーブルの他の行のどのIPアドレスのネットワーク部にも相当しないアドレスを意味する。転送先中継装置のURLを入れるべきフィールドに「local」の文字が格納されている場合は、他の中継装置への転送が不要であることを表す。
【0067】
図3は、本実施の形態におけるファイル転送システムの全体構造を示す概略ブロック図である。
【0068】
送信装置30と受信装置50とは、中継装置10’A、10’B、10’Cを順に介してデータ送信可能に接続されている。中継装置10’A、10’B、10’Cの構成は共通であるので、中継装置10’Aを代表として説明する。中継装置10’Aはファイル発信情報受信手段11Aと、発信ファイル受信手段12Aと、ファイル蓄積手段13Aと、ファイル着信情報送信手段14Aと、着信ファイル送信手段15Aとを有している。これらは第1の実施例における中継装置10の対応する手段と同一である。中継装置10’Aは更に、転送先決定手段16Aと、ファイル中継情報送信手段17Aと、中継ファイル送信手段18Aと、ファイル中継情報受信手段19Aと、中継ファイル受信手段20Aとを更に有している。
【0069】
転送先決定手段16Aは、IPアドレスのネットワーク部と転送先中継装置のURLの組を蓄積するためのルーティングテーブルを備えており、ファイル中継情報送信手段17Aから宛て先アドレスを受け取るとそれに対応した転送先中継装置のURLをファイル中継情報送信手段17Aに返す機能を有する。
【0070】
ファイル中継情報送信手段17Aは、ファイル蓄積手段13Aからファイル識別子I、ファイルサイズL、宛て先アドレスRを受け取り、転送先決定手段に宛て先アドレスRを渡してこれに対応する転送先中継装置のURLをうけとり、該URLに対してファイル中継情報を送る機能を有する。
【0071】
中継ファイル送信手段18Aは、次段の中継装置からファイル識別子Iと受信済みデータ量(中継装置10’AにおいてはO_M)を受け取り、これをファイル蓄積手段13Aに渡し、ファイル蓄積手段13Aから送られてくるファイルデータF(O_M)を受け取り、これを次段の中継装置に送る機能を有する。
【0072】
ファイル中継情報受信手段19Aは、前段の中継装置からファイル中継情報を受け取り、該情報中のファイル識別子にもとづいて、ファイルパスPAを生成し、これを該ファイル中継情報とともにファイル蓄積手段13Aに渡す機能を有する。 中継ファイル受信手段20Aは、前段の中継装置から送られてくるファイルデータを受け取りこれをファイル蓄積手段13Aに渡し、かつファイル蓄積手段からファイル識別子、前段の中継装置における該ファイルデータの受信済みデータ量を受け取り、これらを前段の中継装置に渡す機能を有する。
【0073】
つぎに、図4を参照しながら、本実施の形態における処理工程について説明する。図4は、本実施の形態における処理の流れの概略的に示すフロー図である。
【0074】
送信装置10は送信するファイルのファイルサイズと宛先IPアドレスを最寄りの中継装置10’Aに前記第1の実施の形態と同様の方法で通知する(S201〜S204)。
【0075】
該中継装置10’Aは該ファイルに対し、時刻情報と該中継装置10’AのIPアドレスRをもとにユニークな値をファイル識別子Iとして割り当て、第1の実施の形態と同様の方法で、該ファイル識別子IとファイルサイズLと宛先IPアドレスRとをファイル蓄積手段13Aに登録し、該ファイル識別子Iを送信装置30に通知する(S204)。
【0076】
また該中継装置10’Aは、宛先IPアドレスRをルーティングテーブル16Aのネットワーク部と照らし合わせ、マッチした場合には該当する転送先中継装置10’BのURL「M」を取得する(S205)。
【0077】
次に、中継装置10’Aは該URL「M」に対してHTTPリクエストのPOSTメソッドのエンティティボディに、「中継ファイル情報送信」、該ファイル識別子I、該ファイルサイズL、該中継装置10’Bを経由する宛先IPアドレスRを表す文字列を改行で区切りながら格納した中継ファイル情報を送信する(S206)。
【0078】
HTTPリクエストのPOSTメソッドを受け取った中継装置10’Bにおいて、該HTTPサーバによって起動された中継装置プログラムは、POSTメソッドのエンティティボディの1行目が「中継ファイル情報送信」を表す文字列の場合、それに続くファイル識別子I、ファイルサイズL、宛先IPアドレスRを読み取る。また該ファイル識別子をもとに該ファイルの保存先となるファイルパスPBを決定し、ファイル蓄積手段13B(より詳しくはそのファイルテーブル)に該ファイル識別子Iと、該ファイルパスPB、該ファイルサイズLと該宛先アドレスRを登録する。更に宛先IPアドレスRをルーティングテーブル16Bのネットワーク部と照らし合わせ、マッチした場合には該当する転送先中継装置10’CのURL「N」を取得する(S207)。
【0079】
次に、中継装置10’Bは、該URL「N」に対してHTTPリクエストのPOSTメソッドのエンティティボディに、「中継ファイル情報」、該ファイル識別子I、該ファイルサイズL、該中継装置10’Cを経由する宛先IPアドレスRを表す文字列を改行で区切りながら格納した中継ファイル情報を送信する(S208)。
【0080】
このようにしてファイル情報は、最終的には宛先アドレスRを担当する、受信装置50の最寄り中継装置10’Cに到達する。
【0081】
一方、送信装置30は、該ファイル識別子Iと関連付けて該ファイルの内容データ(以下、「ファイルデータ」という)を第1の実施の形態と同様の方法で、最寄り中継装置10’Aへと送信開始する(S209)。
【0082】
中継装置10’Aは送られてきた「ファイルデータ」を読み取り、ファイルパスPAによって特定されるファイル蓄積手段13Aの領域に蓄積開始し、ファイルデータのすべてがファイル蓄積手段13Aに蓄積されるまで、同様にファイルデータの保存が続けられる。ファイルデータのすべてがファイル蓄積手段13Aに蓄積されると、中継装置10’Aはデータ保存完了を送信装置30に通知し(S211)、該通知に応じて発信装置30はファイル転送処理を終了する。
【0083】
送信装置の最寄り中継装置をのぞく他の中継装置10’B、10’Cは、「中継ファイル情報」を受信すると、POSTメソッドのエンティティボディに、「中継ファイル要求」、該ファイル識別子I,受信済みデータ量O_M,O_N(初回は0)を表す文字列を改行で区切って格納して前段の中継装置10’A,10’Bへそれぞれ送信する(S212,S213)。
【0084】
上記の中継ファイル要求に応答して、HTTPサーバによって起動された該前段の中継装置10’A,10’Bの中継装置プログラムは、POSTメソッドのエンティティボディの1行目が「中継ファイル要求」を表す文字列の場合、それに続いて格納されているファイル識別子I、受信済みデータ量O_M,O_Nを読み取り、それぞれのファイル蓄積手段13A、13Bのファイルテーブルから該ファイル識別子Iと対応付けされて登録されているファイルパスPA,PBを取得し、該ファイルパスPA、PBのファイルの該受信済みデータ量O_M,O_N以降のファイルデータを、HTTPレスポンスのエンティティボディに格納し(S214,S215)、それぞれ次段の中継装置10’B、10’Cに返信する(S216,S217)。
【0085】
送信装置30の最寄り中継装置10’Aをのぞく他の中継装置10’B,10’Cは、前段に蓄積済みのファイルデータを受信した場合前段の中継装置に残りのファイルデータを要求し、これに応答して中継装置10’A,10’Bがそれぞれファイルデータを次段の中継装置10’B−10’Cに送信する(L2、L3)ことがその受信済みデータ量O_M,O_Nが予めファイル中継情報によって通知されているファイルサイズLに達するまで繰り返される。
【0086】
一方、受信装置50は第1の実施の形態と同様の方法で、最寄りの中継装置10’Cに該宛先アドレスR宛の新着ファイル情報を問い合わせ(S218)、これに応答して中継装置10’Cは該ファイル識別子Iと該ファイルサイズLを受信装置50に送る(S219)。受信装置50は、これらをファイル情報として登録する(S220)とともに、該ファイル識別子Iに関連付けられて蓄積されているファイルデータの転送を該中継装置10’Cに要求し(S221)、これに応答して該中継装置10’Cはファイルデータを受信装置50に送る(S222)。
【0087】
受信装置50が中継装置10’Cに蓄積済みのデータを受信完了しても受信済みデータ量O_Rが該ファイルサイズLに満たない場合は、受信装置50は受信済みデータ量O_Rが該ファイルサイズLに達するまで繰り返し最寄り中継装置10’Cに残りのファイルデータを要求する(L1)。
【0088】
なお、上記の説明においては、一つの受信装置へファイルが転送される場合を例としてあげたが、本発明ではファイルを複数の受信装置へ転送する場合(マルチキャスト)にも適用可能である。この場合には、送信装置30から宛て先アドレスRの代わりに、該複数の受信装置のアドレスR〜Rからなる宛先アドレス群Dを中継装置10’に送信し、中継装置10’は該アドレス群Dに含まれるアドレスR〜Rのそれぞれについてファイル識別子Iと、ファイルパスP、ファイルサイズLを対応付けてファイルテーブルに記憶させるようにすればよい。
【0089】
本実施の形態にかかるファイル転送システムでは、送信装置と受信装置の間に複数の中継装置を置くことができる。送信装置と受信装置がネットワーク的に遠い場合でも、送信装置は最寄りの中継装置にファイルを送信し、受信装置は最寄りの中継装置からファイルを受信することで、送信に要する時間と受信に要する時間を短縮できる。
【0090】
[第3の実施の形態]
つぎに、第3の実施の形態について説明する。
【0091】
図5は、本実施の形態におけるファイル転送システムの全体構造を示す概略ブロック図である。第3の実施の形態では、送信装置30、受信装置50、中継装置10’’は第1の実施の形態の送信装置30、受信装置50、中継装置10と基本的に同様であるが、以下に述べる点が異なる。すなわち、本実施の形態では、中継装置10’’のファイル蓄積手段13’のファイルテーブルにファイルの発信中断を記録するフィールド(以下、「発信中断フィールド」という)が追加され、送信装置30がファイル送信を中断すると、該「発信中断フィールド」に発信状態を示すデータ、例えば「真」を示す値もしくは文字列が記録され、中断されていない間は「偽」を示す値もしくは文字列が記録される。また、送信装置30にアップロード済みデータ量(送信対象のファイルデータのうち送信装置から中継装置に送信済みであるファイルデータのデータ量をいう)を送るための受信済みデータ量応答手段21を更に具備している。
【0092】
つぎに、図6を参照しながら、本実施の形態における処理工程について説明する。図6は、本実施の形態における処理の流れの概略的に示すフロー図である。
【0093】
本実施の形態において、送信装置30から中継装置10’’へ発信ファイル情報送信を送信し、これに応じて中継装置10’’からファイル識別子が送信装置30へ送られるまでの一連の処理、および受信装置50から中継装置10’’へ着信ファイル情報要求がなされ、これに応じて中継装置10’’が受信装置50に着信ファイル情報としてファイル識別子、ファイルサイズをおくり、受信装置50はこれらをファイル情報として保存するまでの一連の処理は、第1の実施の形態の処理を示す図2中の破線で囲まれた部分PRと同一である。
【0094】
送信装置30がファイル送信を中断する(S301)と、該発信中断状態のフィールドに発信中断状態を示す「真」を示す値が記録される(S302,303)。
【0095】
一方、HTTPサーバによって起動された中継装置プログラムにより実現される中継装置10’’は、受信装置50から着信ファイル情報要求(HTTPリクエストのPOSTメソッド)を受け取り(S304)、そのエンティティボディの1行目が「着信ファイル要求」を表す文字列の場合、該エンティティボディ中に格納されているファイル識別子I、受信済みデータ量O_Rを読み取り(S305)、またファイル蓄積手段13のファイルテーブルから該ファイル識別子Iと組で登録されている発信状態ZとファイルパスPを取得し(S306)、HTTPレスポンスのエンティティボディに該発信中断状態の値を格納してこれを受信装置50に送る(S307)。
【0096】
上記の処理工程が、受信済みデータ量O_RがファイルサイズLに達するまで繰り返される(L4)。
【0097】
該HTTPレスポンスを受け取った受信装置50は、ファイル情報を登録する(S308)とともに、エンティティボディの1行目から発信中断状態の値Zを読み取り、この値が「真」であった場合は受信を中断する。「偽」であった場合は、更に中継装置10’’に着信ファイル要求を発する(S316)。中継装置10’’は、POSTメソッドのエンティティボディの1行目が「着信ファイル要求」を表す文字列の場合、それに続いて格納されているファイル識別子I、受信済みデータ量O_Rを読み取り、前記ファイル蓄積手段13のファイルテーブルから該ファイル識別子Iと組で登録されているファイルパスPを取得し(S317)、該ファイルパスPに対応するファイルの該受信済みデータ量O_R以降のファイルデータをファイル記憶手段13’から読み出し(S318)、これをHTTPレスポンスのエンティティボディに格納して受信装置50に返信する(S319)。
【0098】
該HTTPレスポンスを受け取った受信装置50は、保存されているファイル情報から該ファイルのファイルパスP’を取得し、該ファイルパスP’に蓄積されているファイルデータの続きに該HTTPレスポンスのエンティティボディの内容(該受信済みデータ量O_R以降のファイルデータF(O_R))を付け加えて蓄積する(S320)。
【0099】
上記の処理工程が、受信済みデータ量O_RがファイルサイズLに達するまで繰り返される(L5)。
【0100】
一方、送信装置30はファイル送信を再開する際、HTTPリクエストのPOSTメソッドのエンティティボディに、蓄積済みデータ量O_S、該ファイル識別子Iを表す文字列を改行で区切って格納し、中継装置10’’へ送信する(S309)。
【0101】
HTTPサーバによって起動された中継装置プログラムによって実現される中継装置10’’は、POSTメソッドのエンティティボディの1行目が「蓄積済みデータ量」を表す文字列の場合、続くファイル識別子Iを読み取り(S310)、ファイルテーブルから該ファイル識別子と組で登録されているファイルパスPを取得し(S311)、該ファイルパスPに蓄積されているデータ量をHTTPレスポンスのエンティティボディに格納し、該送信装置30に返信する(S312)。
【0102】
送信装置30は、中継装置10’’からのHTTPレスポンスのエンティティボディから蓄積済みデータ量O_Sを読み取り、HTTPリクエストのPOSTメソッドのエンティティボディに、「発信ファイル」、該ファイル識別子Iを表す文字列を改行で区切って格納した後、該「ファイルデータ」の該「蓄積済みデータ量」以降のファイルデータ(たとえばバイナリ列)F(O_S)を格納して中継装置10’’へと送信開始する(S313)。
【0103】
HTTPサーバによって起動された中継装置プログラムによる中継装置10’’は、POSTメソッドのエンティティボディの1行目が「発信ファイル」を表す文字列の場合、続く「ファイル識別子」を読み取り、ファイルテーブルから該「ファイル識別子」と組で登録されているファイルパスを取得し、エンティティボディに続けて格納されてきた「ファイルデータ」を読み取り、該ファイルパスに蓄積されているデータの最後尾に続けて蓄積開始する(S314)。また、該発信中断状態の値Zを「偽」に変更する(S315)。
【0104】
ファイルデータのすべてがファイル蓄積手段13に蓄積される(アップロード済ファイルデータ量O_SがファイルサイズLに達する)と、中継装置10’’はデータ保存完了を発信装置30に通知し(S321、S322)、該通知に応じて送信装置30はファイル転送処理を終了する。
【0105】
なお、上記の説明においては、一つの受信装置へファイルが転送される場合を例としてあげたが、本発明ではファイルを複数の受信装置へ転送する場合(マルチキャスト)にも適用可能である。この場合には、送信装置30から宛て先アドレスRの代わりに、該複数の受信装置のアドレスR〜Rからなる宛先アドレス群Dを中継装置10’’に送信し、中継装置10’’は該アドレス群Dに含まれるアドレスR〜Rのそれぞれについてファイル識別子Iと、ファイルパスP、ファイルサイズLを対応付けてファイルテーブルに記憶させるようにすればよい。
【0106】
本実施の形態にかかるファイル転送システムでは、中継装置はファイルの発信状態を記録し、それを受信装置に伝達する手段を持つため、送信装置が途中で送信を中断した場合には、並行して受信動作を行っている受信装置も送信が中断されたことを認識し、ファイルサイズに達していなくても受信動作を中断することができる。また、中継装置は送信装置の問い合わせに対し蓄積済みファイルデータ量を応答する手段を持つため、送信装置は中断したファイル送信を続きから再開することができる。受信装置は受信済みデータ量を中継装置に通知し、続きのデータを中継装置より受信する手段を持つため、中断したファイル受信を続きから再開することができる。
【0107】
[第4の実施の形態]
本発明にかかる第4の実施の形態について以下に説明する。
【0108】
本実施の形態において、送信装置、受信装置、中継装置は第2の実施の形態の送信装置、受信装置、中継装置が備える特徴を全て備えるが、中継装置10’’’,A,10’’’B,10’’’Cのそれぞれは,前述の第3の実施の形態において述べた受信済みデータ量応答手段21を備えている点で異なっている。
【0109】
その他の構成については第2の実施の形態の場合と同様である。
【0110】
つぎに、図8を参照しながら、本実施の形態における処理工程について説明する。図8は、本実施の形態における処理の流れの概略的に示すフロー図である。
【0111】
送信装置30は送信するファイルのファイルサイズと宛先IPアドレスを最寄りの中継装置10’’’Aに前記第1の実施の形態と同様の方法で通知する(S401)。
【0112】
該中継装置10’’’Aは該ファイルに対し、時刻情報と該中継装置10’’’AのIPアドレスPをもとにユニークな値をファイル識別子Iとして割り当て(S402)、第1の実施の形態と同様の方法で、該ファイル識別子IとファイルサイズLと宛先IPアドレスRとをファイル蓄積手段13’Aに登録し(S403)、該ファイル識別子Iを送信装置30に通知する(S404)。
【0113】
また該中継装置10’Aは、宛先IPアドレスRを転送先決定手段(ルーティングテーブル)16Aのネットワーク部と照らし合わせ、マッチした場合には該当する転送先中継装置10’’’BのURL「M」を取得する(S405)。
【0114】
次に、中継装置10’’’Aは該URL「M」に対してHTTPリクエストのPOSTメソッドのエンティティボディに、「中継ファイル情報送信」、該ファイル識別子I、該ファイルサイズL、該中継装置10’’’Bを経由する宛先IPアドレスRを表す文字列を改行で区切りながら格納した中継ファイル情報を送信する(S406)。
【0115】
HTTPリクエストのPOSTメソッドを受け取った中継装置10’’’Bにおいて、該HTTPサーバによって起動された中継装置プログラムは、POSTメソッドのエンティティボディの1行目が「中継ファイル情報送信」を表す文字列の場合、それに読くファイル識別子I、ファイルサイズL、宛先IPアドレスRを読み取る。また該ファイル識別子をもとに該ファイルの保存先となるファイルパスPBを決定し、ファイル蓄積手段13’B(より詳しくはそのファイルテーブル)に該ファイル識別子Iと、該ファイルパスPB、該ファイルサイズLと該宛先アドレスRを登録する。更に宛先IPアドレスRを転送先決定手段(ルーティングテーブル)16Bのネットワーク部と照らし合わせ、マッチした場合には該当する転送先中継装置10’’’CのURL「N」を取得し、該URL「N」に対してHTTPリクエストのPOSTメソッドのエンティティボディに、「中継ファイル情報」、該ファイル識別子I、該ファイルサイズL、該中継装置10’’’Cを経由する宛先IPアドレスRを表す文字列を改行で区切りながら格納した中継ファイル情報を送信する(S407)。
【0116】
このようにしてファイル情報は、最終的には宛先アドレスRを担当する、受信装置50の最寄り中継装置10’’’Cに到達する。
【0117】
一方、送信装置30は、「発信ファイル送信」を表す文字列と該ファイル識別子Iと、該ファイルの内容データをPOSTメソッドのエンティティボディに格納して、最寄り中継装置10’’’Aへと送信開始する(S408)。
【0118】
中継装置10’’’Aは、POSTメソッドのエンティティボディの1行目が「発信ファイル送信」を表す文字列の場合、続くファイル識別子Iを読み取り、ルーティングテーブルを検索し、ファイルの転送が必要か否か判断する。転送が必要な場合は、転送すべき次段の中継装置のURLを取得し、HTTPリクエストのPOSTメソッドのエンティティボディに、「中継ファイル到着」を表す文字列と、該ファイル識別子Iを改行で区切って格納し、次段の中継装置10’’’Bに送信する(S409)。
【0119】
なお、中継装置10’’’Aは送られてきた「ファイルデータ」を読み取り、ファイルパスPAによって特定されるファイル蓄積手段13’Aの領域に蓄積開始し、受信済みデータ量O_SがファイルサイズLに達するまでファイル蓄積手段13Aに蓄積されるまで、同様にファイルデータの保存が続けられる。ファイルデータのすべてがファイル蓄積手段13’Aに蓄積されると、中継装置10’’’Aはデータ保存完了を送信装置30に通知し(S499)、該通知に応じて送信装置30はファイル転送処理を終了する。
【0120】
中継装置10’’’Bは、「中継ファイル到着」を表す文字列を含むHTTPリクエストを受け取ると、HTTPリクエストのPOSTメソッドのエンティティボディに、「中継ファイル到着」を表す文字列と、該ファイル識別子Iを改行で区切って格納し、次段の中継装置10’’’Cに送信する(S410)。
【0121】
中継装置10’’’Bと10’’’C、は、「中継ファイル到着」をふくむリクエストを受信すると、POSTメソッドのエンティティボディに、「中継ファイル要求」、該ファイル識別子I,受信済みデータ量O_M,O_N(初回は0)を表す文字列を改行で区切って格納して前段の中継装置10’’’A,10’’’Bへそれぞれ送信する(S411,S412)。なお、前記第2の実施の形態では、送信装置30の最寄り中継装置10Aをのぞく他の中継装置10B,10Cは、「中継ファイル情報」を受信すると、POSTメソッドのエンティティボディに「中継ファイル要求」、該ファイル識別子I、受信済みデータ量(初回は0)を表す文字列を改行で区切って格納して前段の中継装置へ送信したが、第4の実施の形態では、中継ファイル情報受信後のタイミングでは「中継ファイル要求」を行わず、「中継ファイル到着」の通知を待って「中継ファイル要求」を行う。
【0122】
上記の中継ファイル要求に応答して、各前段の中継装置10’’’A,10’’’Bの中継装置プログラムは、受け取ったPOSTメソッドのエンティティボディの1行目が「中継ファイル要求」を表す文字列の場合、それに続いて格納されているファイル識別子I、受信済みデータ量O_M,O_Nを読み取り、それぞれのファイル蓄積手段13’A、13’Bのファイルテーブルから該ファイル識別子Iと対応付けされて登録されているファイルパスPA、PBを取得し、該ファイルパスPA,PBのファイルの該受信済みデータ量O_M,O_N以降のファイルデータと、発信中断状態を示す値ZをHTTPレスポンスのエンティティボディに格納し、それぞれ次段の中継装置10’’’B、10’’’Cに返信する(S413、S414)。
【0123】
該HTTPレスポンスを受け取った中継装置10’’’B、10’’’Cは、「発信中断状態を示す値Zが「真」であった場合は受信を中断し、「偽」であった場合はファイル蓄積手段13’B,13’C上に保存されている該ファイルのファイルパスPB,PCを取得し、該ファイルパスに蓄積されているデータの続きに該HTTPレスポンスのエンティティボディの続きの内容(該ファイルデータの残部)を蓄積する。
【0124】
中継装置10’’’B、10’’’Cにおいて、受信済みデータ量O_M,O_Nが予めファイル中継情報によって通知されているファイルサイズLに達するか、あるいは発信中断状態を示す値Zが「真」になるまで、中継ファイル要求とそれに応じたファイルデータの送信が繰り返される(L6、L7)。
【0125】
一方、受信装置50は第1の実施の形態と同様の方法で、最寄りの中継装置10’’’Cに該宛先アドレスR宛の新着ファイル情報を問い合わせ(S416)、これに応答して中継装置10’’’Cは該ファイル識別子Iと該ファイルサイズLを受信装置50に送る(S417)。
【0126】
受信装置50は、該ファイル識別子Iと対応付けされて登録されているファイルパスを取得し、該ファイルパスに対応する該受信済みデータ量O_Rを取得し、POSTメソッドのエンティティボディに、「着信ファイル要求」、該ファイル識別子I、受信済みデータ量O_R(初回は0)を表す文字列を改行で区切って格納して中継装置10’’’Cへ送信する(S419)。
【0127】
上記の着信ファイル要求に応答して、中継装置10’’’Cは、受け取ったPOSTメソッドのエンティティボディの1行目が「中継ファイル要求」を表す文字列の場合、それに続いて格納されているファイル識別子I、受信済みデータ量O_R,を読み取り、ファイル蓄積手段13’Cのファイルテーブルから該ファイル識別子Iと対応付けされて登録されているファイルパスPCを取得し、該ファイルパスPCのファイルの該受信済みデータ量O_R以降のファイルデータと、発信中断状態を示す値ZをHTTPレスポンスのエンティティボディに格納し、受信装置50に返信する(S420)。
【0128】
該HTTPレスポンスを受け取った受信装置50は、発信中断状態を示す値Zが「真」であった場合は受信を中断し、「偽」であった場合は着信ファイル蓄積手段53上に保存されている該ファイルのファイルパスを取得し、該ファイルパスに蓄積されているデータの続きに該HTTPレスポンスのエンティティボディの続きの内容(該ファイルデータの残部)を蓄積する。
【0129】
受信装置50において、受信済みデータ量O_Rが予め通知されているファイルサイズLに達するか、あるいは発信中断状態を示す値Zが「真」になるまで、着信ファイル要求とそれに応じたファイルデータの送信が繰り返される(L8)一方、送信装置30はファイル送信を再開する際、HTTPリクエストのPOSTメソッドのエンティティボディに、蓄積済みデータ量O_S、該ファイル識別子Iを表す文字列を改行で区切って格納し、中継装置10’’’Aへ送信する(S412)。
【0130】
中継装置10’’’Aは、POSTメソッドのエンティティボディの1行目が「蓄積済みデータ量」を表す文字列の場合、続くファイル識別子Iを読み取り、ファイルテーブルから該ファイル識別子と組で登録されているファイルパスPAを取得し、該ファイルパスPAに蓄積されているデータ量をHTTPレスポンスのエンティティボディに格納し、該送信装置30に返信する。
【0131】
送信装置30は、中継装置10’’’AからのHTTPレスポンスのエンティティボディから蓄積済みデータ量O_Sを読み取り、HTTPリクエストのPOSTメソッドのエンティティボディに、「発信ファイル」、該ファイル識別子Iを表す文字列を改行で区切って格納した後、該「ファイルデータ」の該「蓄積済みデータ量」以降のファイルデータ(たとえばバイナリ列)F(O_S)を格納して中継装置10’’へと送信開始する。
【0132】
中継装置10’’’Aは、POSTメソッドのエンティティボディの1行目が「発信ファイル」を表す文字列の場合、続くファイル識別子Iを読み取り、ファイルテーブルから該ファイル識別子Iと組で登録されているファイルパスを取得し、エンティティボディに続けて格納されてきた「ファイルデータ」を読み取り、該ファイルパスPAに蓄積されているデータの最後尾に続けて蓄積開始する。また、該発信中断状態の値Zを「偽」に変更する。
【0133】
ファイルデータのすべてがファイル蓄積手段13に蓄積される(アップロード済ファイルデータ量O_SがファイルサイズLに達する)と、中継装置10’’’Aはデータ保存完了を発信装置30に通知し(S499)、該通知に応じて送信装置30はファイル転送処理を終了する。
【0134】
以降の中継装置10’’’A,10’’’B,10’’’C,および受信装置50間の処理は前記(S409,S410,S411、S412、S413、S414、S420、L6,L7、L8)と同様に行われる。
【0135】
なお、上記の説明においては、一つの受信装置へファイルが転送される場合を例としてあげたが、本発明ではファイルを複数の受信装置へ転送する場合(マルチキャスト)にも適用可能である。この場合には、送信装置30から宛て先アドレスRの代わりに、該複数の受信装置のアドレスR〜Rからなる宛先アドレス群Dを中継装置10’’’に送信し、中継装置10’’’は該アドレス群Dに含まれるアドレスR〜Rのそれぞれについてファイル識別子Iと、ファイルパスP、ファイルサイズLを対応付けてファイルテーブルに記憶させるようにすればよい。
【0136】
本実施の形態にかかるファイル転送システムでは、送信装置がファイル送信を再開したことを中継装置から次段の中継装置へと伝達する手段を持つため、送信装置が送信再開したデータは各中継装置間でも転送再開される。
【0137】
なお、本発明は、上記の実施例に限定されることなく、特許請求の範囲内で種々変更・応用が可能である。
【0138】
【発明の効果】
本発明においては、送信装置から中継装置へのファイル転送と、中継装置から受信装置へのファイル転送が並行して行われるため、送信が完了する前に受信をはじめることができる。また、予め送信装置から中継装置、受信装置へと転送するファイルのファイルサイズを含む発信ファイル情報が通知されるため、受信装置はファイルサイズに達するまでファイル受信を繰り返すことが可能となる。その結果、送信装置からの送信速度よりも受信装置の受信速度の方が速く、中継装置に既に蓄積済みのデータを受信装置が全て受信し終えても、ファイルサイズに達していない場合には、後続のデータが中継装置に蓄積されるのを待って受信を繰り返すことで、ファイル転送の速度調整がなされる。
【図面の簡単な説明】
【図1】第1の実施の形態におけるファイル転送システムの全体構造を示す概略ブロック図である。
【図2】第1の実施の形態における処理の流れを概略的に示すフロー図である。
【図3】第2の実施の形態におけるファイル転送システムの全体構造を示す概略ブロック図である。
【図4】第2の実施の形態における処理の流れを概略的に示すフロー図である。
【図5】第3の実施の形態におけるファイル転送システムの全体構造を示す概略ブロック図である。
【図6】第3の実施の形態における処理の流れを概略的に示すフロー図である。
【図7】第4の実施の形態におけるファイル転送システムの全体構造を示す概略ブロック図である。
【図8】第4の実施の形態における処理の流れを概略的に示すフロー図である。
【符号の説明】
10 中継装置
10’A,B,C 中継装置
10' ’ 中継装置
10' ’’ A,B,C 中継装置
11 ファイル発信情報受信手段
12 発信ファイル受信手段
13 ファイル蓄積手段
13’、13’A,13’C ファイル蓄積手段
14 ファイル着信情報送信手段
15 着信ファイル送信手段
16 転送先決定手段
17 ファイル中継情報送信手段
18 中継ファイル送信手段
19 ファイル中継情報受信手段
20 中継ファイル受信手段
21 受信済みデータ量応答手段
30 送信装置
31 ファイル発信情報送信手段
32 発信ファイル送信手段
33 発信ファイル蓄積手段
50 受信装置
51 ファイル着信情報受信手段
52 着信ファイル受信手段
53 着信ファイル蓄積手段
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a file transfer technique for transferring a file (information having a certain purpose), and more specifically, by sending file data corresponding to the amount of received data provided from a receiving device to the receiving device. The present invention relates to a file transfer technique in which the time required for transmission processing and reception processing is short, and the waiting time until the reception of a file by a receiving apparatus can be started is not proportional to the file size and the number of relay apparatuses.
[0002]
[Prior art]
A device that transfers a file from a transmitting terminal device (hereinafter referred to as “transmitting device”) to another terminal device (hereinafter referred to as “receiving device”) on the receiving side using a network is called a file transfer system.
[0003]
As a method for realizing a conventional file transfer system, there is a method for directly transferring a file from a transmission device to a reception device. As another implementation method, there is provided a shared server having means for storing files, such as an FTP server and an HTTP server, and means for distributing the files stored in response to a request from the terminal to the terminal. There is a method in which the file is stored in the receiver and the receiving device receives the file from the shared server. As another method, there is a method in which a file is transferred via a plurality of file relay devices, such as E-mail.
[0004]
[Problems to be solved by the invention]
In the method of transferring a file directly from a transmission device to a reception device, there is a problem that the transmission device and the reception device must be activated at the same time. In the method of providing a shared server, the transmission device and the reception device do not have to be activated at the same time, but if the shared server is separated from the transmission device and the reception device, the file transmission processing for the transmission device and the reception device There is a problem that it takes time to receive the file.
[0005]
Further, in the method of relaying a plurality of file relay devices, the transmitting device and the receiving device can send and receive files to and from the nearest file relay device, so the file transmission processing for the transmitting device and the file receiving processing for the receiving device take time. This problem is solved. However, each file relay apparatus cannot transfer a file to the next transfer destination unless it receives all the parts of the transferred file. This is because each file relay device interrupts file transfer to the next stage if the file reception speed from the previous file relay apparatus or transmission device is lower than the transfer speed to the next file relay device or reception device. This is unavoidable. Therefore, the waiting time from when the transmission device starts transmitting a file until the reception device can start receiving the file increases in proportion to the file size and the number of relay file transfer devices.
[0006]
The present invention realizes a file transfer system in which the time required for file transmission processing and reception processing is short, and the waiting time until the reception of a file by the receiving device can be started is not proportional to the file size and the number of relay devices. Objective. Further, in the conventional file transfer method, it is not possible to transfer one file while interrupting / resuming in the middle. Because, in the conventional file transfer method, the relay device transmits the accumulated data amount to the transmission device for the file whose transfer is interrupted, and the transmission device transfers data from the data after the transmitted data amount to the relay device. This is because there is no means to do this. Another object of the present invention is to enable a transmission apparatus that transmits a file to interrupt and resume transfer in the middle of file transfer.
[0007]
[Means for Solving the Problems]
The file transfer system of the present invention comprises file storage means, outgoing file reception means and incoming file transmission means, the transmission device comprises outgoing file storage means and outgoing file transmission means, and the receiving device comprises incoming file storage means and incoming file. Receiving means.
[0008]
The relay device performs the operation of storing the data received from the transmission device by the outgoing file reception unit in the file storage unit and the operation of transmitting the data stored in the file storage unit to the reception device by the incoming file transmission unit independently. The file transmission to the receiving device can be started before the file reception from the transmitting device is completed. Further, the relay device includes outgoing file information receiving means and incoming file information transmitting means.
[0009]
The transmission device includes outgoing file information transmission means, and the reception device includes incoming file information reception means.
[0010]
Before receiving the file, the relay device receives the file size from the transmission device by the transmission file information reception unit in advance and registers it in the file storage unit in association with the file identifier.
[0011]
In addition, the file identifier and file size are notified to the receiving apparatus in advance by the incoming file information transmission means before the file is transmitted. The receiving apparatus stores the file identifier and file size received from the relay apparatus by the incoming file information receiving means in the incoming file storage means.
[0012]
The receiving apparatus receives all the data stored in the relay apparatus by the incoming file receiving means, and then compares the file size of the file stored in the incoming file storage means with the amount of received data. The operation of receiving data newly arriving at the apparatus is repeated. Therefore, the speed adjustment is performed even when the receiving apparatus receives a file from the relay apparatus at a higher speed than the transmitting apparatus transmits the file to the relay apparatus.
[0013]
The relay apparatus may include a transfer destination determination unit, a file relay information transmission unit, a relay file transmission unit, a file relay information reception unit, and a relay file reception unit. In this case, the relay apparatus determines whether transfer is necessary from the destination address group of the file stored in the file storage means by the transfer destination determination means to another relay apparatus, and if necessary, the relay apparatus to be the transfer destination A group is determined, and file relay information transmitting means transmits file relay information including a list of destination addresses, a file identifier, and a file size to the relay device group.
[0014]
The second relay device that has received the file relay information from the preceding relay device by the file relay information receiving unit accumulates the file relay information in the file information storage unit, and receives the data from the preceding relay device by the relay file receiving unit. . After all the data stored in the preceding relay device is received, the file size of the file stored in the file storage means is compared with the amount of received data, and if they do not match, a new arrival has arrived at the preceding relay device Repeat the operation to receive data.
[0015]
In this way, since the file can pass through a plurality of relay devices while the file is transferred from the transmission device to the reception device, each of the transmission device and the reception device can communicate with the nearest relay device on the network, The file transmission process for the transmission apparatus and the file reception process for the reception apparatus can be completed quickly.
[0016]
The file storage means of the relay device includes means for storing a transmission state indicating whether or not the transmission device has interrupted file transmission, and the transmission file reception means includes a file when the transmission device interrupts file transmission. Including a means for changing the transmission state stored in the storage means to a suspended state, and the incoming file transmission means first transmits the transmission state of the file when transmitting the data to the receiving device, and subsequently the data Means for transmitting, the outgoing file transmitting means of the transmitting device includes means for interrupting file transmission, and the incoming file receiving means of the receiving device receives the transmission status of the file from the relay device and receives if it is interrupted May be included, and if it is not in the interrupted state, it may include means for continuously receiving the data of the unreceived portion of the file. In this case, the fact that the transmission device interrupted the file transmission is also transmitted to the relay device and the reception device, so that the relay device and the reception device may continue to wait for subsequent data even though the file transmission is interrupted. Disappear.
[0017]
The relay file transmitting means of the relay device includes means for transmitting the data transmission state first when transmitting data, and subsequently transmitting the data, and the relay file receiving means receives the file from the preceding relay device. It is also possible to include means for receiving the transmission state of the file, suspending the reception when it is in the suspended state, and continuously receiving the data of the unreceived portion of the file when not in the suspended state. In this case, the fact that the transmission device has interrupted the file transmission is transmitted to a plurality of relays that relay the file, so that each relay device continues to wait for subsequent data even if the file transmission is interrupted. Nothing will happen.
[0018]
The relay device may include a received data amount response means, and the outgoing file reception means stores a file corresponding to the file identifier already stored in the file storage means in association with the file identifier of the file. A means for changing the transmission state to a non-interrupted state and adding the data to the end of the stored file and storing it, and the transmission file of the transmission device The transmission means may include means for inquiring the relay device about the received data amount of the file and transmitting data after the notified data amount to the relay device. In this case, the transmission device can resume the interrupted file transmission from the subsequent data, and the transmission state stored in the file storage means of the relay device is not interrupted, so the reception device can also resume file reception. . The relay file receiving means of the relay device includes means for receiving the file transmission status from the preceding relay device and changing the file transmission status of the file storage means to a non-interrupted status when the transmission status is not interrupted. In some cases. In this case, each relay device is notified that the transmission device has resumed file transmission, and the transmission state stored in the file storage means of each relay device is no longer suspended. Resumed.
[0019]
Further, the present invention is also established as a relay device used in the above file transfer system. In this case, the present invention relates to an incoming file transmission unit that receives a file identifier and a downloaded data amount from a receiving device, stores the file identifier and the file data of the file in association with each other, and stores the file identifier and the file identifier from the incoming file transmission unit File storage means for passing file data corresponding to the downloaded data amount to the incoming file transmission means, and the incoming file transmission means sends the file data corresponding to the downloaded data amount to the receiving device It is characterized by.
[0020]
Further, the present invention is also established as a transmission device and a reception device used in the above file transfer system.
[0021]
The present invention is also established as a file transfer method. In this case, when the present invention receives a file transmission request, the first step of generating a file identifier for identifying the file and the file from the transmission device before receiving the data of the file from the transmission device. A second step of receiving a size and storing the file in association with a file identifier; and a third step of requesting the transmission device to transmit file data until the amount of file data received from the transmission device reaches the file size. And a fourth step of notifying the receiving device of the file identifier and the file size in advance before transmitting the file data to the receiving device, and the received data amount of the file in the receiving device becomes the file size. And a fifth step of transmitting the file data to the receiving device until it reaches.
[0022]
Furthermore, the present invention can be realized as a computer-readable recording medium on which a program for executing the above method is recorded, and further as a program.
[0023]
Other objects, features, functions, and advantages of the present invention will become more apparent when the following detailed description is read with reference to the accompanying drawings.
[0024]
DETAILED DESCRIPTION OF THE INVENTION
Embodiments according to the present invention will be described below with reference to the drawings.
[0025]
[First Embodiment]
A first embodiment according to the present invention will be described below.
[0026]
FIG. 1 is a schematic block diagram showing the overall structure of the file transfer system in the present embodiment. As illustrated, the file transfer system includes a transmission device 30, a reception device 50, and the relay device 10 connected to the transmission device 30 and the reception device 50 so as to exchange data. Note that each of the transmission device 30, the reception device 50, and the relay device 10 is realized by starting a program based on an implementation method described below on a computer having a network interface.
[0027]
The program of the present invention can be distributed, for example, stored in a CD-ROM or downloaded from a computer via a network. By installing a program stored in a CD-ROM or a downloaded program into a computer, the computer can be operated as the transmission device, the relay device, and the reception device of the present invention.
[0028]
The transmission apparatus 10 includes a file transmission information transmission unit 31, a transmission file storage unit 33, and a transmission file transmission unit 32.
[0029]
The file transmission information transmission means 31 transmits file transmission information including a character string representing transmission file information transmission, a file identifier I, a file size L of a file to be transmitted, and a destination IP address R to the relay apparatus 10. , Receiving the file identifier I and passing the file identifier I to the outgoing file storage means 33.
[0030]
The transmission file storage means 33 has a function of reading file data stored in itself or in another storage device (not shown) based on the file identifier I and passing the file data together with the file identifier I to the transmission file transmission means 32.
[0031]
The outgoing file transmission means 32 has a function of receiving the file data together with the file identifier I from the outgoing file storage means 33 and transmitting it to the relay device 10 together with a character string representing the outgoing file transmission.
[0032]
The relay device 10 includes a file transmission information receiving unit 11, a transmission file receiving unit 12, a file storage unit 13, a file incoming information transmission unit 14, and an incoming file transmission unit 15.
[0033]
The file transmission information receiving unit 11 can receive the file size L and the destination address R from the transmission device, and can generate the file identifier I and the file path P and provide them to the file storage unit 13.
[0034]
The outgoing file receiving unit 12 can receive the file identifier I and the file data F (x) from the transmission device, and can provide them to the file storage unit 13. Note that “x” represents the amount of data (offset) that has already been read and transmitted to the relay means.
[0035]
The file arrival information transmission means 14 can receive the POST method sent from the receiving device 50, can acquire the IP address R of the receiving device, and is registered in association with the IP address R. It has a function of retrieving a set of I and file size L from the file table of the file storage means 13, acquiring these, and notifying the receiving device 50 of the acquired set of file identifier I and file size L.
[0036]
The incoming file transmission means 15 can receive the file identifier I and the amount of downloaded data O_R from the receiving device 50 (referring to the amount of data that has already been received by the receiving device 50 among the file data to be transferred) The file data F (O_R) corresponding to the file identifier I and the downloaded data amount O_R can be received from the file storage unit 13 and has a function of sending the file data F (O_R) to the receiving device 50.
[0037]
The file storage unit 13 stores (stores) the file identifier I, the file path P, the file size L, and the destination IP address R, which are sent from the file transmission information reception unit, in association with each other, and sends the file identifier from the transmission file reception unit. The received file data F ′ is stored (stored) in an area specified by the file path P, and the file identifier I and the file identifier I are sent to the file arrival information transmitter 14 in accordance with the destination address R from the file arrival information transmitter 14. The file size L is passed, and the file identifier F from the incoming file transmission means 15 and the file data F (O_R) corresponding to the downloaded data amount O_R are passed to the incoming file transmission means 15.
[0038]
The receiving device 50 includes a file incoming information receiving unit 51, an incoming file storage unit 53, and an incoming file receiving unit 52.
[0039]
The file arrival information receiving means 51 receives the file arrival information including the file identifier I and the file size L from the relay device 50, determines the file path P ′ as the storage destination of the file based on the file identifier I, and The file identifier I, the file path P ′, and the file size L are provided to the incoming file storage means 53.
[0040]
The incoming file storage means 53 sends the file identifier I to the incoming file means 52 based on the file identifier I from the file incoming information reception means 51, the file path P ', and the file size L, and the downloaded data of the file. It has a function of passing the amount O_R and receiving the file data F (O_R) which is a part or all of the file data from the incoming file receiving means 52 and accumulating (storing) it.
[0041]
The incoming file receiving means 52 receives the file identifier I and the downloaded data amount O_R of the file from the incoming file storage means 53, passes them to the relay apparatus 10, and is replied from the relay apparatus 10 accordingly. Receiving file data F (O_R) and passing it to the incoming file storage means 53.
[0042]
The relay device 10 starts an HTTP server process so that a relay device program implemented as a CGI program or a servlet is started by an HTTP POST method for a URL. The URL is taught to the transmission device 30 and the reception device 50 in advance.
[0043]
The relay apparatus 10 also activates a relational database management system (RDBMS) and prepares a table for storing a set of file identifier, file path, file size, and destination IP address. This database table is called a file table. The file storage unit 13 may be configured so that the file table and the disk area where the file is actually stored are used.
[0044]
The means 31 to 33, 11 to 15, and 51 to 53 may not be physically independent means, but may be realized by a microprocessor and a storage device storing a program.
[0045]
Next, the processing steps in the present embodiment will be described with reference to FIG. FIG. 2 is a flowchart schematically showing the flow of processing in the present embodiment.
[0046]
First, processing performed between the transmission device 30 and the relay device 10 will be described.
The transmission device 30 includes a character string representing “transmission file information transmission”, a file identifier I, a file size L of a file to be transmitted, in an entity body of a POST method of an HTTP request for a URL taught in advance. The destination IP address D is stored while being separated by a line feed, and transmitted to the relay device 10 (S101).
[0047]
When the first line of the entity body of the POST method received from the transmission device 30 is a character string representing “transmission file information transmission”, the file transmission information receiving means 11 realized by the relay device program started by the HTTP server The file size L and the destination IP address R of the file to be transmitted following the character string are read, a unique value is generated for the file based on the time information, and this is assigned as the file identifier I (S102).
[0048]
Further, a file path P as a storage destination of the file is determined based on the file identifier I, and the file identifier I, the file path P, the file size L and the destination address R notified from the transmission device 30 are determined. It comes to the file storage means 13 (S103).
[0049]
The file storage means 13 registers these in the file table (S104).
[0050]
On the other hand, the file transmission information receiving means 11 includes the character string representing the file identifier I in the entity body of the HTTP response and notifies the transmission device 30 (S105).
[0051]
Upon receiving the HTTP response entity body including the character string representing the file identifier I, the transmission apparatus 30 reads the file identifier I from the HTTP response POST method entity body, and transmits the “outgoing file transmission” and the file identifier. After the character string representing I is stored separated by a line feed, the binary string of the file data corresponding to the file identifier I is stored and transmission to the relay device 30 is started (S106).
[0052]
The processing inside the transmission device 30 is performed as follows. First, the file transmission information transmission unit 31 of the transmission device 30 receives the HTTP response entity body including the file identifier I, reads the file identifier I from it, and passes the file identifier I to the transmission file storage unit 33. The outgoing file storage means 33 reads the file data F (x) based on the file identifier I. These are passed to the outgoing file transmission means 32. The outgoing file transmission means 32 stores the character string representing “outgoing file transmission” and the file identifier I separated by a line feed in the entity body of the POST method of the HTTP request, and then stores the binary string of the “file data”. Then, transmission to the relay device 10 is started.
[0053]
In the relay device 10 realized by the relay device program started by the HTTP server, when the first line of the POST method entity body is a character string representing “send file transmission”, the outgoing file receiving means 12 The identifier I is read, and the file path P registered in association with the file identifier is acquired from the file table stored in the file storage unit 13. Further, the “file data” stored in the entity body is read, and accumulation is started in the area of the file accumulation means 13 specified by the file path P (S107). The storage of the file data is continued in the same manner until all the file data is stored in the file storage means 13 (S108).
[0054]
When all of the file data is stored in the file storage means 13, the relay device 10 notifies the transmission device 30 of the completion of data storage (Sl19, S120), and the transmission device 30 ends the file transfer process in response to the notification. .
[0055]
Next, processing performed between the receiving device 50 and the relay device 10 will be described.
[0056]
The receiving device 50 stores a character string representing “incoming file information request” in the entity body of the POST method of the HTTP request, and transmits the URL taught in advance to the relay device 10 (S109).
[0057]
In the relay device 10 realized by the relay device program activated by the HTTP server, the file incoming information transmission unit 14 determines that the first line of the entity body of the POST method sent from the receiving device 50 is “incoming file information request”. In the case of a character string to be represented, an IP address R of an HTTP client notified by HTTP is acquired, and a set of the file identifier I and the file size L registered in combination with the IP address R is stored in the file table of the file storage unit 13 (S110) and obtain these (S111). Then, the file arrival information transmitting means 14 stores the pair of the file identifier I and the file size L in the entity body of the HTTP response to the receiving device 50 while separating them with a line feed, and returns the HTTP response to the receiving device 50 (S112).
[0058]
The receiving device 50 reads a set of the file identifier I and the file size L from the entity body of the HTTP response, determines a file path P ′ as a storage destination of the file in association with the file identifier I, and the file identifier I, the file size L, and the file path P ′ are stored as file information (S113). The file information may be stored, for example, as an array of structures having these as elements. The file information may include a received data amount O_R (0 for the first time) for the file. .
[0059]
Next, for the file identifier I, the receiving device 50 delimits the character string representing the “incoming file request”, the file identifier I, and the received data amount O_R (initially 0) by a line feed, and stores it in the POST method entity body. Then, this is transmitted to the relay device 10 (S114).
[0060]
Next, when the first line of the POST method entity body is a character string representing “incoming file request”, the relay apparatus 10 realized by the relay apparatus program started by the HTTP server stores the file stored subsequently to the character string. The identifier I and the received data amount O_R are read, the file path P registered in combination with the file identifier I is obtained from the file table of the file storage means 13, and the received file of the file corresponding to the file path P is obtained. File data after the data amount O_R is read from the file storage means 13 (S116), stored in the entity body of the HTTP response, and returned to the receiving device 50 (S117).
[0061]
The receiving device 50 that has received the HTTP response acquires the file path P ′ of the file from the stored file information, and the entity body of the HTTP response is added to the continuation of the file data stored in the file path P ′. (File data after the received data amount O_R) is added and stored (S118).
[0062]
The processing steps from S114 to S118 are repeated until the received data amount O_R reaches the file size L (L1).
[0063]
In addition, when the reception speed of the reception device 50 exceeds the transmission speed of the transmission device 30 and the reception device 50 has completed reception of the file data accumulated in the relay device 10 before the transmission device 30 has completed transmission of all data. The receiving device 50 repeatedly requests the remaining data from the relay device 10 until the received data amount O_R reaches the file size L (S114, L1).
[0064]
In the above description, the case where a file is transferred to one receiving device has been described as an example. However, the present invention can also be applied to a case where a file is transferred to a plurality of receiving devices (multicast). In this case, instead of the destination address R from the transmission device 30, the addresses R of the plurality of reception devices 1 ~ R N Is transmitted to the relay device 10, and the relay device 10 transmits the address R included in the address group D. 1 ~ R N The file identifier I, the file path P, and the file size L may be associated with each other and stored in the file table.
The file transmission information transmission unit 31 of the transmission device 30 assigns a file identifier to the file to be transferred, includes the assigned file identifier in the file transmission information, and the file transmission information reception unit 11 of the relay device 10 Instead of assigning a file identifier, the file identifier included in the file transmission information may be acquired. .
[0065]
[Second Embodiment]
The second embodiment according to the present invention will be described below. This embodiment is different from the first embodiment in that a file is transferred from a transmission device to a reception device via a plurality of relay devices.
[0066]
In this embodiment, the transmission device 30, the reception device 50, and the relay device 10 ′ are basically the same as the transmission device 30, the reception device 50, and the relay device 10 of the first embodiment, but the second In the embodiment, a plurality of relay devices are arranged between the transmission device and the reception device, and each relay device has a database for storing a set of the IP address network part and the forwarding destination relay device URL. The transfer destination determining means 16 having the table is different. This table is called a “routing table”. In the routing table, when the word “default” is stored in the field where the network part of the IP address is to be entered, it means an address that does not correspond to the network part of any IP address in another row of the routing table. When the character “local” is stored in the field where the URL of the transfer destination relay apparatus is to be stored, it indicates that transfer to another relay apparatus is not required.
[0067]
FIG. 3 is a schematic block diagram showing the overall structure of the file transfer system in the present embodiment.
[0068]
The transmitting device 30 and the receiving device 50 are connected so as to be able to transmit data via relay devices 10′A, 10′B, and 10′C in order. Since the configurations of the relay apparatuses 10′A, 10′B, and 10′C are common, the relay apparatus 10′A will be described as a representative. The relay device 10′A includes a file transmission information receiving unit 11A, a transmission file receiving unit 12A, a file storage unit 13A, a file incoming information transmission unit 14A, and an incoming file transmission unit 15A. These are the same as the corresponding means of the relay apparatus 10 in the first embodiment. The relay apparatus 10′A further includes a transfer destination determination unit 16A, a file relay information transmission unit 17A, a relay file transmission unit 18A, a file relay information reception unit 19A, and a relay file reception unit 20A. .
[0069]
The transfer destination determination unit 16A includes a routing table for storing a pair of URLs of the network part of the IP address and the transfer destination relay device. When the destination address is received from the file relay information transmission unit 17A, the transfer corresponding to the destination table is performed. It has a function of returning the URL of the destination relay device to the file relay information transmitting means 17A.
[0070]
The file relay information transmission unit 17A receives the file identifier I, the file size L, and the destination address R from the file storage unit 13A, passes the destination address R to the transfer destination determination unit, and the URL of the transfer destination relay device corresponding thereto And has a function of sending file relay information to the URL.
[0071]
The relay file transmitting unit 18A receives the file identifier I and the amount of received data (O_M in the relay device 10′A) from the next-stage relay device, passes it to the file storage unit 13A, and is sent from the file storage unit 13A. It has a function of receiving incoming file data F (O_M) and sending it to the next-stage relay device.
[0072]
The file relay information receiving unit 19A receives the file relay information from the preceding relay device, generates a file path PA based on the file identifier in the information, and passes this to the file storage unit 13A together with the file relay information Have The relay file receiving means 20A receives the file data sent from the preceding relay device, passes it to the file storage means 13A, and receives the file identifier from the file storage means, and the received data amount of the file data in the preceding relay device And has a function of passing them to the preceding relay device.
[0073]
Next, processing steps in the present embodiment will be described with reference to FIG. FIG. 4 is a flowchart schematically showing the flow of processing in the present embodiment.
[0074]
The transmission device 10 notifies the file size and destination IP address of the file to be transmitted to the nearest relay device 10′A by the same method as in the first embodiment (S201 to S204).
[0075]
The relay device 10′A assigns a unique value to the file as a file identifier I based on time information and the IP address R of the relay device 10′A, and uses the same method as in the first embodiment. The file identifier I, the file size L, and the destination IP address R are registered in the file storage means 13A, and the file identifier I is notified to the transmission device 30 (S204).
[0076]
Further, the relay device 10′A compares the destination IP address R with the network part of the routing table 16A, and if it matches, acquires the URL “M” of the corresponding transfer destination relay device 10′B (S205).
[0077]
Next, the relay device 10′A adds “relay file information transmission”, the file identifier I, the file size L, and the relay device 10′B to the entity body of the POST method of the HTTP request for the URL “M”. The relay file information in which the character string representing the destination IP address R passing through is stored while being separated by a line feed is transmitted (S206).
[0078]
In the relay device 10′B that has received the POST method of the HTTP request, if the relay device program started by the HTTP server is a character string indicating “relay file information transmission” in the first line of the entity body of the POST method, The subsequent file identifier I, file size L, and destination IP address R are read. Based on the file identifier, a file path PB as a storage destination of the file is determined, and the file identifier I, the file path PB, and the file size L are stored in the file storage unit 13B (more specifically, the file table). And the destination address R are registered. Further, the destination IP address R is checked against the network part of the routing table 16B, and if it matches, the URL “N” of the corresponding forwarding destination relay device 10′C is acquired (S207).
[0079]
Next, the relay device 10′B adds “relay file information”, the file identifier I, the file size L, and the relay device 10′C to the entity body of the POST method of the HTTP request for the URL “N”. The relay file information in which the character string representing the destination IP address R passing through is stored while being separated by a line feed is transmitted (S208).
[0080]
In this way, the file information finally reaches the nearest relay device 10′C of the receiving device 50 that is in charge of the destination address R.
[0081]
On the other hand, the transmission apparatus 30 transmits the content data of the file (hereinafter referred to as “file data”) in association with the file identifier I to the nearest relay apparatus 10′A in the same manner as in the first embodiment. Start (S209).
[0082]
The relay device 10′A reads the sent “file data”, starts accumulation in the area of the file storage means 13A specified by the file path PA, and until all of the file data is accumulated in the file storage means 13A. Similarly, saving of file data is continued. When all of the file data is stored in the file storage means 13A, the relay device 10′A notifies the transmission device 30 of the completion of data storage (S211), and the transmission device 30 ends the file transfer process in response to the notification. .
[0083]
Upon receiving “relay file information”, the other relay devices 10′B and 10′C except the nearest relay device of the transmitting device receive “relay file request”, the file identifier I, and received in the entity body of the POST method. Character strings representing the data amounts O_M and O_N (initially 0) are delimited by line feeds and stored, and transmitted to the relay devices 10′A and 10′B in the previous stage (S212 and S213).
[0084]
In response to the relay file request, the relay device program of the preceding relay device 10′A, 10′B started by the HTTP server has a “relay file request” in the first line of the POST method entity body. In the case of the character string to be represented, the file identifier I and the received data amounts O_M and O_N stored thereafter are read and registered in association with the file identifier I from the file tables of the respective file storage means 13A and 13B. And the file data after the received data amounts O_M and O_N of the files with the file paths PA and PB are stored in the entity body of the HTTP response (S214 and S215), respectively. It returns to the relay devices 10′B and 10′C of the stage (S216, S217).
[0085]
When the other relay devices 10′B and 10′C except the nearest relay device 10′A of the transmitting device 30 receive the file data accumulated in the previous stage, the other relay apparatuses 10′B and 10′C request the remaining file data from the previous relay apparatus, In response to this, the relay devices 10′A and 10′B transmit the file data to the subsequent relay devices 10′B to 10′C (L2, L3) respectively, so that the received data amounts O_M and O_N are determined in advance. The process is repeated until the file size L notified by the file relay information is reached.
[0086]
On the other hand, the receiving device 50 inquires of the nearest relay device 10′C about the new file information addressed to the destination address R (S218) in the same manner as in the first embodiment, and in response to this, the relay device 10 ′. C sends the file identifier I and the file size L to the receiving device 50 (S219). The receiving device 50 registers these as file information (S220) and requests the relay device 10′C to transfer the file data stored in association with the file identifier I (S221), and responds to this request. Then, the relay device 10′C sends the file data to the receiving device 50 (S222).
[0087]
If the received data amount O_R is less than the file size L even after the receiving device 50 has received the data stored in the relay device 10′C, the receiving device 50 determines that the received data amount O_R is less than the file size L. The remaining file data is requested to the nearest relay device 10′C repeatedly until the value reaches (L1).
[0088]
In the above description, the case where a file is transferred to one receiving device has been described as an example. However, the present invention can also be applied to a case where a file is transferred to a plurality of receiving devices (multicast). In this case, instead of the destination address R from the transmission device 30, the addresses R of the plurality of reception devices 1 ~ R N Is transmitted to the relay device 10 ′, and the relay device 10 ′ transmits the address R included in the address group D. 1 ~ R N The file identifier I, the file path P, and the file size L may be associated with each other and stored in the file table.
[0089]
In the file transfer system according to the present embodiment, a plurality of relay devices can be placed between the transmission device and the reception device. Even if the transmitting device and the receiving device are far from each other on the network, the transmitting device transmits the file to the nearest relay device, and the receiving device receives the file from the nearest relay device, so that the time required for transmission and the time required for reception Can be shortened.
[0090]
[Third Embodiment]
Next, a third embodiment will be described.
[0091]
FIG. 5 is a schematic block diagram showing the overall structure of the file transfer system in the present embodiment. In the third embodiment, the transmission device 30, the reception device 50, and the relay device 10 '' are basically the same as the transmission device 30, the reception device 50, and the relay device 10 of the first embodiment. The differences are as follows. That is, in the present embodiment, a field for recording the transmission interruption of the file (hereinafter referred to as “transmission interruption field”) is added to the file table of the file storage means 13 ′ of the relay apparatus 10 ″, and the transmission apparatus 30 stores the file. When transmission is interrupted, data indicating the transmission state, for example, a value or character string indicating “true” is recorded in the “transmission interruption field”, and a value or character string indicating “false” is recorded while not interrupted. The Further, the apparatus further comprises received data amount response means 21 for sending the uploaded data amount (referring to the data amount of file data that has been transmitted from the transmission device to the relay device among the file data to be transmitted) to the transmission device 30. doing.
[0092]
Next, processing steps in the present embodiment will be described with reference to FIG. FIG. 6 is a flowchart schematically showing the flow of processing in the present embodiment.
[0093]
In the present embodiment, a transmission file information transmission is transmitted from the transmission device 30 to the relay device 10 ″, and a series of processes until the file identifier is transmitted from the relay device 10 ″ to the transmission device 30 according to this, Incoming file information request is made from the receiving device 50 to the relay device 10 ″, and in response to this, the relay device 10 ″ sends the file identifier and file size as the incoming file information to the receiving device 50, and the receiving device 50 sends these to the file. A series of processing until it is stored as information is the same as the portion PR surrounded by a broken line in FIG. 2 showing the processing of the first embodiment.
[0094]
When the transmission apparatus 30 interrupts file transmission (S301), a value indicating "true" indicating the transmission interruption state is recorded in the transmission interruption state field (S302, 303).
[0095]
On the other hand, the relay device 10 '' realized by the relay device program started by the HTTP server receives the incoming file information request (the POST method of the HTTP request) from the receiving device 50 (S304), and the first line of the entity body Is a character string representing “incoming file request”, the file identifier I and the received data amount O_R stored in the entity body are read (S305), and the file identifier I from the file table of the file storage means 13 is read. The transmission state Z and file path P registered as a pair are acquired (S306), the value of the transmission interruption state is stored in the entity body of the HTTP response, and this is sent to the receiving device 50 (S307).
[0096]
The above processing steps are repeated until the received data amount O_R reaches the file size L (L4).
[0097]
The receiving device 50 that has received the HTTP response registers the file information (S308), reads the value Z of the transmission interruption state from the first line of the entity body, and receives the reception if this value is “true”. Interrupt. If it is “false”, an incoming file request is further issued to the relay device 10 ″ (S316). When the first line of the entity body of the POST method is a character string indicating “incoming file request”, the relay device 10 ″ reads the file identifier I and the received data amount O_R stored subsequently, and reads the file The file path P registered in combination with the file identifier I is obtained from the file table of the storage means 13 (S317), and the file data after the received data amount O_R of the file corresponding to the file path P is stored in the file. The information is read from the means 13 ′ (S318), stored in the entity body of the HTTP response, and returned to the receiving device 50 (S319).
[0098]
The receiving device 50 that has received the HTTP response acquires the file path P ′ of the file from the stored file information, and the entity body of the HTTP response is added to the continuation of the file data stored in the file path P ′. (File data F (O_R) after the received data amount O_R) is added and stored (S320).
[0099]
The above processing steps are repeated until the received data amount O_R reaches the file size L (L5).
[0100]
On the other hand, when resuming file transmission, the transmission device 30 stores the accumulated data amount O_S and the character string representing the file identifier I separated by a line feed in the entity body of the POST method of the HTTP request, and relay device 10 '' (S309).
[0101]
The relay device 10 '' realized by the relay device program started by the HTTP server reads the subsequent file identifier I when the first line of the POST method entity body is a character string representing "accumulated data amount" ( S310), obtaining the file path P registered in combination with the file identifier from the file table (S311), storing the data amount accumulated in the file path P in the entity body of the HTTP response, and the transmission device It returns to 30 (S312).
[0102]
The transmitting device 30 reads the accumulated data amount O_S from the entity body of the HTTP response from the relay device 10 ″, and adds “outgoing file” and a character string representing the file identifier I to the entity body of the POST method of the HTTP request. After storing by delimiting with a line feed, the file data (for example, binary string) F (O_S) after the “accumulated data amount” of the “file data” is stored, and transmission to the relay device 10 ″ is started (S313). ).
[0103]
When the first line of the POST method entity body is a character string indicating “outgoing file”, the relay device 10 ″ by the relay device program started by the HTTP server reads the “file identifier” that follows and reads the file identifier from the file table. Acquires the file path registered in combination with the “file identifier”, reads the “file data” stored after the entity body, and starts accumulation following the end of the data accumulated in the file path (S314). Further, the value Z of the transmission interruption state is changed to “false” (S315).
[0104]
When all of the file data is stored in the file storage means 13 (the uploaded file data amount O_S reaches the file size L), the relay device 10 ″ notifies the transmission device 30 of the completion of data storage (S321, S322). In response to the notification, the transmission device 30 ends the file transfer process.
[0105]
In the above description, the case where a file is transferred to one receiving device has been described as an example. However, the present invention can also be applied to a case where a file is transferred to a plurality of receiving devices (multicast). In this case, instead of the destination address R from the transmission device 30, the addresses R of the plurality of reception devices 1 ~ R N Is transmitted to the relay device 10 ″, and the relay device 10 ″ transmits the address R included in the address group D. 1 ~ R N The file identifier I, the file path P, and the file size L may be associated with each other and stored in the file table.
[0106]
In the file transfer system according to the present embodiment, the relay device has a means for recording the transmission state of the file and transmitting it to the reception device. Therefore, when the transmission device interrupts transmission halfway, The receiving apparatus performing the receiving operation also recognizes that the transmission has been interrupted, and can interrupt the receiving operation even if the file size has not been reached. Further, since the relay apparatus has means for responding to the inquiry of the transmission apparatus with the accumulated file data amount, the transmission apparatus can resume the interrupted file transmission from the next. Since the receiving device has means for notifying the relay device of the amount of received data and receiving subsequent data from the relay device, it is possible to resume interrupted file reception from the continuation.
[0107]
[Fourth Embodiment]
A fourth embodiment according to the present invention will be described below.
[0108]
In the present embodiment, the transmission device, the reception device, and the relay device have all the features of the transmission device, the reception device, and the relay device of the second embodiment, but the relay devices 10 ′ ″, A, 10 ″. Each of 'B, 10''' C is different in that it includes the received data amount response means 21 described in the third embodiment.
[0109]
Other configurations are the same as those in the second embodiment.
[0110]
Next, processing steps in the present embodiment will be described with reference to FIG. FIG. 8 is a flowchart schematically showing the flow of processing in the present embodiment.
[0111]
The transmitting device 30 notifies the file size and destination IP address of the file to be transmitted to the nearest relay device 10 ′ ″ A by the same method as in the first embodiment (S401).
[0112]
The relay apparatus 10 ′ ″ A assigns a unique value to the file as a file identifier I based on the time information and the IP address P of the relay apparatus 10 ′ ″ A (S402). The file identifier I, the file size L, and the destination IP address R are registered in the file storage means 13′A (S403), and the file identifier I is notified to the transmission device 30 (S404). .
[0113]
Further, the relay device 10′A compares the destination IP address R with the network part of the transfer destination determination means (routing table) 16A, and if it matches, the URL “M” of the corresponding transfer destination relay device 10 ′ ″ B is matched. Is acquired (S405).
[0114]
Next, the relay device 10 ′ ″ A adds “relay file information transmission”, the file identifier I, the file size L, the relay device 10 to the entity body of the POST method of the HTTP request for the URL “M”. The relay file information in which the character string representing the destination IP address R passing through '''B is delimited by a line feed is transmitted (S406).
[0115]
In the relay device 10 ′ ″ B that has received the POST method of the HTTP request, the relay device program started by the HTTP server has a character string indicating “relay file information transmission” in the first line of the entity body of the POST method. In this case, the file identifier I, the file size L, and the destination IP address R to be read are read. Based on the file identifier, a file path PB as a storage destination of the file is determined, and the file identifier I, the file path PB, and the file are stored in the file storage means 13′B (more specifically, the file table). The size L and the destination address R are registered. Further, the destination IP address R is compared with the network part of the transfer destination determining means (routing table) 16B, and if it matches, the URL “N” of the corresponding transfer destination relay device 10 ′ ″ C is acquired, and the URL “ N ”is a character string representing the destination IP address R via“ relay file information ”, the file identifier I, the file size L, and the relay device 10 ′ ″ C in the entity body of the POST method of the HTTP request The relay file information stored while being separated by line feeds is transmitted (S407).
[0116]
In this way, the file information finally reaches the nearest relay device 10 ′ ″ C of the receiving device 50 that is in charge of the destination address R.
[0117]
On the other hand, the transmission device 30 stores the character string representing “transmission file transmission”, the file identifier I, and the content data of the file in the entity body of the POST method, and transmits them to the nearest relay device 10 ′ ″ A. Start (S408).
[0118]
If the first line of the POST method entity body is a character string indicating “send file transmission”, the relay device 10 ′ ″ A reads the subsequent file identifier I, searches the routing table, and does the transfer of the file be necessary? Judge whether or not. If transfer is necessary, obtain the URL of the next relay device to be transferred, and separate the character string indicating "Relay file arrival" and the file identifier I with a line feed in the POST method entity body of the HTTP request. And transmits it to the next-stage relay device 10 ′ ″ B (S409).
[0119]
The relay apparatus 10 ′ ″ A reads the sent “file data”, starts accumulation in the area of the file accumulation means 13′A specified by the file path PA, and the received data amount O_S is the file size L The file data is stored in the same manner until it is stored in the file storage means 13A until the value reaches. When all the file data is stored in the file storage means 13′A, the relay device 10 ′ ″ A notifies the transmission device 30 of the completion of data storage (S499), and in response to the notification, the transmission device 30 transfers the file. The process ends.
[0120]
When the relay apparatus 10 ′ ″ B receives the HTTP request including the character string indicating “relay file arrival”, the character string indicating “relay file arrival” and the file identifier are included in the entity body of the POST method of the HTTP request. I is delimited by a line feed and stored, and transmitted to the next-stage relay device 10 ′ ″ C (S410).
[0121]
When the relay devices 10 ′ ″ B and 10 ′ ″ C receive the request including “relay file arrival”, the “relay file request”, the file identifier I, and the received data amount are included in the entity body of the POST method. Character strings representing O_M and O_N (0 for the first time) are delimited by line feeds, stored, and transmitted to the preceding relay devices 10 ″ ′ A and 10 ′ ″ B, respectively (S411, S412). In the second embodiment, when the other relay devices 10B and 10C except the nearest relay device 10A of the transmission device 30 receive the “relay file information”, the “relay file request” is added to the entity body of the POST method. The character string indicating the file identifier I and the amount of received data (initially 0) is delimited by line feeds and stored and transmitted to the preceding relay device. In the fourth embodiment, after receiving the relay file information, At the timing, a “relay file request” is not performed, but a “relay file request” is made after a notification of “relay file arrival”.
[0122]
In response to the above relay file request, the relay device program of each upstream relay device 10 ′ ″ A, 10 ′ ″ B receives the “relay file request” in the first line of the received POST method entity body. In the case of the character string to be represented, the file identifier I and the received data amounts O_M and O_N stored thereafter are read and associated with the file identifier I from the file tables of the respective file storage means 13′A and 13′B. The registered file paths PA and PB are acquired, the file data after the received data amounts O_M and O_N of the files of the file paths PA and PB, and the value Z indicating the transmission interruption state are set as an HTTP response entity. The data is stored in the body and returned to the relay devices 10 ′ ″ B and 10 ′ ″ C in the next stage (S413 and S414).
[0123]
When the relay device 10 ′ ″ B, 10 ′ ″ C receives the HTTP response, “if the value Z indicating the transmission interruption state is“ true ”, the reception is interrupted, and if it is“ false ”. Obtains the file path PB, PC of the file stored on the file storage means 13'B, 13'C, and continues the entity body of the HTTP response to the continuation of the data stored in the file path. The contents (the rest of the file data) are accumulated.
[0124]
In the relay apparatuses 10 ′ ″ B, 10 ′ ″ C, the received data amount O_M, O_N reaches the file size L notified in advance by the file relay information, or the value Z indicating the transmission interruption state is “true”. The relay file request and the transmission of the file data corresponding to the relay file request are repeated (L6, L7).
[0125]
On the other hand, the receiving device 50 inquires of the nearest relay device 10 ′ ″ C about the new file information addressed to the destination address R in the same manner as in the first embodiment (S416), and in response to this, the relay device 10 ′ ″ C sends the file identifier I and the file size L to the receiving device 50 (S417).
[0126]
The receiving device 50 acquires a file path registered in association with the file identifier I, acquires the received data amount O_R corresponding to the file path, and displays “incoming file” in the entity body of the POST method. A character string representing “request”, the file identifier I, and the received data amount O_R (initially 0) is delimited by a line feed and stored and transmitted to the relay device 10 ′ ″ C (S419).
[0127]
In response to the above incoming file request, when the first line of the received POST method entity body is a character string representing “relay file request”, the relay device 10 ′ ″ C stores the received character string. The file identifier I and the received data amount O_R are read, the file path PC registered in association with the file identifier I is obtained from the file table of the file storage means 13′C, and the file path PC of the file path PC is acquired. The file data after the received data amount O_R and the value Z indicating the outgoing call interruption state are stored in the entity body of the HTTP response and returned to the receiving device 50 (S420).
[0128]
The receiving device 50 that has received the HTTP response interrupts the reception if the value Z indicating the outgoing call interruption state is “true”, and if it is “false”, the receiving device 50 stores it on the incoming file storage means 53. The content of the entity body of the HTTP response (the remainder of the file data) is accumulated in the continuation of the data accumulated in the file path.
[0129]
In the receiving device 50, until the received data amount O_R reaches the file size L notified in advance or the value Z indicating the outgoing call interruption state becomes “true”, the incoming file request and the transmission of the file data corresponding thereto are performed. (L8) On the other hand, when resuming file transmission, the transmission device 30 stores the accumulated data amount O_S and the character string representing the file identifier I separated by a line feed in the entity body of the POST method of the HTTP request. Then, the data is transmitted to the relay device 10 ′ ″ A (S412).
[0130]
When the first line of the POST method entity body is a character string indicating “accumulated data amount”, the relay device 10 ′ ″ A reads the subsequent file identifier I, and is registered in pairs with the file identifier from the file table. The file path PA is acquired, the data amount accumulated in the file path PA is stored in the entity body of the HTTP response, and returned to the transmitting device 30.
[0131]
The transmission device 30 reads the accumulated data amount O_S from the entity body of the HTTP response from the relay device 10 ′ ″ A, and in the entity body of the POST method of the HTTP request, the character representing the file identifier I After the columns are stored separated by line feeds, the file data (for example, binary string) F (O_S) after the “accumulated data amount” of the “file data” is stored and transmission to the relay device 10 ″ is started. .
[0132]
When the first line of the POST method entity body is a character string representing “outgoing file”, the relay device 10 ′ ″ A reads the subsequent file identifier I and is registered in combination with the file identifier I from the file table. The file path stored in the entity body is read, “file data” stored in the entity body is read, and accumulation is started following the end of the data accumulated in the file path PA. Further, the value Z of the transmission interruption state is changed to “false”.
[0133]
When all of the file data is stored in the file storage means 13 (the uploaded file data amount O_S reaches the file size L), the relay device 10 ′ ″ A notifies the transmission device 30 of the completion of data storage (S499). In response to the notification, the transmission device 30 ends the file transfer process.
[0134]
The subsequent processing between the relay devices 10 ′ ″ A, 10 ′ ″ B, 10 ′ ″ C and the receiving device 50 is the same as that described above (S409, S410, S411, S412, S413, S414, S420, L6, L7, The same as L8).
[0135]
In the above description, the case where a file is transferred to one receiving device has been described as an example. However, the present invention can also be applied to a case where a file is transferred to a plurality of receiving devices (multicast). In this case, instead of the destination address R from the transmission device 30, the addresses R of the plurality of reception devices 1 ~ R N Is sent to the relay device 10 ′ ″, and the relay device 10 ′ ″ transmits the address R included in the address group D. 1 ~ R N The file identifier I, the file path P, and the file size L may be associated with each other and stored in the file table.
[0136]
In the file transfer system according to the present embodiment, since the transmission device has means for transmitting that the file transmission has been resumed from the relay device to the relay device of the next stage, the data that the transmission device has resumed transmission is between the relay devices. But transfer is resumed.
[0137]
The present invention is not limited to the above-described embodiments, and various modifications and applications can be made within the scope of the claims.
[0138]
【The invention's effect】
In the present invention, since the file transfer from the transmission device to the relay device and the file transfer from the relay device to the reception device are performed in parallel, the reception can be started before the transmission is completed. Further, since the transmission file information including the file size of the file to be transferred from the transmission device to the relay device and the reception device is notified in advance, the reception device can repeat the file reception until the file size is reached. As a result, the reception speed of the reception device is faster than the transmission speed from the transmission device, and even if the reception device has received all the data already accumulated in the relay device, but the file size has not been reached, By repeating the reception after waiting for the subsequent data to be stored in the relay apparatus, the file transfer speed is adjusted.
[Brief description of the drawings]
FIG. 1 is a schematic block diagram showing an overall structure of a file transfer system according to a first embodiment.
FIG. 2 is a flowchart schematically showing a flow of processing in the first embodiment.
FIG. 3 is a schematic block diagram showing an overall structure of a file transfer system according to a second embodiment.
FIG. 4 is a flowchart schematically showing a processing flow in the second embodiment.
FIG. 5 is a schematic block diagram showing an overall structure of a file transfer system according to a third embodiment.
FIG. 6 is a flowchart schematically showing a processing flow in the third embodiment.
FIG. 7 is a schematic block diagram showing an overall structure of a file transfer system according to a fourth embodiment.
FIG. 8 is a flowchart schematically showing a flow of processing in the fourth embodiment.
[Explanation of symbols]
10 Relay device
10'A, B, C Relay device
10 '' Relay device
10 '''A, B, C relay device
11 File transmission information receiving means
12 Outgoing file receiving means
13 File storage means
13 ', 13'A, 13'C File storage means
14 File incoming information transmission means
15 Incoming file transmission means
16 Transfer destination decision means
17 File relay information transmission means
18 Relay file transmission means
19 File relay information receiving means
20 Relay file receiving means
21 Received data amount response means
30 Transmitter
31 File transmission information transmission means
32 Outgoing file transmission means
33 Outgoing file storage means
50 Receiver
51 File incoming information receiving means
52 Incoming file reception means
53 Incoming file storage means

Claims (17)

ファイルを発信する送信装置と、ファイルを中継する中継装置と、ファイルを着信する受信装置とを有し、送信装置から受信装置ヘファイルを転送するファイル転送システムの前記中継装置が実行するファイル転送方法であって、
前記送信装置から、転送すべきファイルのファイルサイズと宛先アドレスとを含むファイル発信情報を受信し、該ファイルにファイル識別子を割り当て、該ファイル識別子と該ファイルサイズと該宛先アドレスとを、前記中継装置のファイル蓄積手段に格納し、該ファイル識別子を該送信装置に通知するファイル発信情報受信ステップと、
前記ファイル識別子と、該ファイル識別子に対応するファイルデータとを前記送信装置から受信して前記ファイル蓄積手段に該ファイルデータを該ファイル識別子と関連付けて蓄積する処理を開始する蓄積開始ステップと、
前記宛先アドレスに対応する受信装置からファイル着信情報要求を受信したことに応じて、当該宛先アドレスに対応するファイル識別子とファイルサイズとを含むファイル着信情報を該受信装置に通知するファイル着信情報通知ステップと、
前記ファイル識別子と、該ファイル識別子に対応するファイルデータとして前記受信装置が既に受信したデータ量とを含む着信ファイル要求を前記受信装置から受信し、該ファイル識別子に関連付けて前記ファイル蓄積手段に既に蓄積されているファイルデータを該受信装置に送信するデータ送信ステップとを有し、
前記データ送信ステップにおいて、前記受信装置が前記ファイル蓄積手段に蓄積済みのファイルデータの受信を完了しても、該受信装置における前記ファイルの受信済みデータ量が該ファイルのファイルサイズに満たない場合に、前記中継装置は、前記着信ファイル要求を前記受信装置から受信する処理と、該受信装置における前記ファイルの未受信のデータを該受信装置へ送信する処理とを、該受信装置における該ファイルの受信済みデータ量が該ファイルのファイルサイズに達するまで繰り返し行い、
前記中継装置が、前記送信装置から前記ファイルの全ファイルデータを受信完了する前に、前記受信装置から前記着信ファイル要求を受信した場合には、前記中継装置は、前記送信装置からのファイルデータの受信と、前記受信装置へのファイルデータの送信とを並行して行うことを特徴とするファイル転送方法。
A file transfer method executed by the relay device of a file transfer system that includes a transmission device that transmits a file, a relay device that relays the file, and a reception device that receives the file, and transfers the file from the transmission device to the reception device Because
File transmission information including a file size and a destination address of a file to be transferred is received from the transmission device, a file identifier is assigned to the file, and the file identifier, the file size, and the destination address are assigned to the relay device. A file transmission information receiving step of storing the file identifier in the file storage means and notifying the transmission device of the file identifier;
A storage start step for starting processing for receiving the file identifier and the file data corresponding to the file identifier from the transmission device and storing the file data in the file storage unit in association with the file identifier;
File arrival information notification step of notifying the reception device of file arrival information including a file identifier and a file size corresponding to the destination address in response to receiving a file arrival information request from the reception device corresponding to the destination address When,
An incoming file request including the file identifier and the amount of data already received by the receiving device as file data corresponding to the file identifier is received from the receiving device, and is already stored in the file storage means in association with the file identifier A data transmission step of transmitting the file data being transmitted to the receiving device ,
In the data transmission step, when the received data amount of the file in the receiving device is less than the file size of the file even when the receiving device completes reception of the file data stored in the file storage means. The relay device performs processing for receiving the incoming file request from the receiving device and processing for transmitting unreceived data of the file to the receiving device at the receiving device. Repeat until the amount of data reaches the file size of the file,
If the relay device receives the incoming file request from the receiving device before the reception of all file data of the file from the transmitting device, the relay device transmits the file data from the transmitting device. A file transfer method characterized in that reception and transmission of file data to the receiving device are performed in parallel.
請求項1に記載のファイル転送方法における前記ファイル発信情報受信ステップにおいて、
前記中継装置は、前記ファイル識別子を割り当てる代わりに、前記送信装置から、転送すべきファイルのファイル識別子とファイルサイズと宛先アドレスとを含むファイル発信情報を受信し、該ファイル発信情報から取得した該ファイル識別子と該ファイルサイズと該宛先アドレスとを、前記中継装置のファイル蓄積手段に格納する、ファイル転送方法。
In the file transmission information receiving step in the file transfer method according to claim 1,
Instead of assigning the file identifier, the relay device receives file transmission information including a file identifier, a file size, and a destination address of a file to be transferred from the transmission device, and the file acquired from the file transmission information A file transfer method for storing an identifier, the file size, and the destination address in a file storage means of the relay device.
ファイルを発信する送信装置と、ファイルを中継する中継装置と、ファイルを着信する受信装置とを有し、送信装置から受信装置ヘファイルを転送するファイル転送システムであって、
前記中継装置は:
ファイルとファイル識別子とファイルサイズと宛先アドレスとを関連付けて蓄積するファイル蓄積手段と、
前記送信装置から、転送すべきファイルのファイルデータを受信する前に、当該転送すべきファイルのファイルサイズと宛先アドレスとを含むファイル発信情報を受信し、該ファイルにファイル識別子を割り当て、該ファイル識別子と該ファイルサイズと該宛先アドレスとを前記ファイル蓄積手段に登録し、該ファイル識別子を該送信装置に通知する、ファイル発信情報受信手段と、
ある宛先アドレスに対応する受信装置からファイル着信情報要求を受信したことに応じて、当該宛先アドレスに対応するファイル識別子とファイルサイズとを含むファイル着信情報を該受信装置に通知するファイル着信情報送信手段と、
あるファイル識別子と該ファイル識別子に対応するファイルデータとを前記送信装置から受信し、前記ファイル蓄積手段に該ファイル識別子と関連付けて蓄積させる発信ファイル受信手段と、
あるファイル識別子と、該ファイル識別子に対応するファイルデータとして前記受信装置が既に受信したデータ量とを含む着信ファイル要求を前記受信装置から受信し、該ファイル識別子に関連付けて前記ファイル蓄積手段に既に蓄積されているファイルデータのうち該受信装置が未受信のデータを該受信装置へ送信する着信ファイル送信手段と
を備え、
前記送信装置は:
転送すべきファイルとファイル識別子を関連付けて蓄積する発信ファイル蓄積手段と、
転送すべきファイルのファイルサイズと宛先アドレスを含むファイル発信情報を前記中継装置へ送信し、該ファイルに割り当てられたファイル識別子を該中継装置から受信し、前記発信ファイル蓄積手段に該ファイル識別子を該ファイルに関連付けて蓄積するファイル発信情報送信手段と、
前記発信ファイル蓄積手段に蓄積されているファイル識別子と該ファイル識別子に対応したファイルデータを前記中継装置に送信する発信ファイル送信手段と
を備え、
前記受信装置は:
ファイルデータとファイル識別子とファイルサイズとを関連付けて蓄積する着信ファイル蓄積手段と、
当該受信装置に対応する宛先アドレスを含むファイル着信情報要求を前記中継装置に送信する手段と、
前記ファイル着信情報要求を送信した後に、前記中継装置からファイル識別子とファイルサイズとを含むファイル着信情報を受信し、前記ファイル着信情報に含まれるファイル識別子とファイルサイズを取得し、これらを前記着信ファイル蓄積手段に登録するファイル着信情報受信手段と、
前記着信ファイル蓄積手段に登録したファイル識別子と該ファイル識別子に対応するファイルの受信済みデータ量とを含む着信ファイル要求を前記中継装置に送信し、前記中継装置から前記ファイル蓄積手段に蓄積済みのファイルデータを受信する着信ファイル受信手段とを有し、
前記着信ファイル受信手段は、前記中継装置の前記ファイル蓄積手段に蓄積済みのファイルデータの受信を完了しても、前記ファイルの受信済みデータ量が該ファイルのファイルサイズに満たない場合に、前記着信ファイル要求を前記中継装置に送信する処理と、該中継装置から該ファイルの未受信部分のデータを受信し該データを既に受信したファイルのデータに追加して蓄積する処理を、該ファイルの受信済みデータ量が該ファイルのファイルサイズに達するまで繰り返し行う
ことを特徴とするファイル転送システム。
A file transfer system that includes a transmission device that transmits a file, a relay device that relays the file, and a reception device that receives the file, and transfers the file from the transmission device to the reception device,
The relay device is:
File storage means for storing the file, file identifier, file size, and destination address in association with each other;
Before receiving the file data of the file to be transferred from the transmitting device, the file transmission information including the file size and the destination address of the file to be transferred is received, the file identifier is assigned to the file, and the file identifier A file transmission information receiving means for registering the file size and the destination address in the file storage means, and notifying the transmitting device of the file identifier;
File incoming information transmission means for notifying the receiving device of file incoming information including a file identifier and a file size corresponding to the destination address in response to receiving a file incoming information request from a receiving device corresponding to a destination address When,
A transmission file receiving means for receiving a file identifier and file data corresponding to the file identifier from the transmission apparatus and causing the file storage means to store the file data in association with the file identifier;
An incoming file request including a file identifier and the amount of data already received by the receiving device as file data corresponding to the file identifier is received from the receiving device, and is already stored in the file storage means in association with the file identifier An incoming file transmission means for transmitting unreceived data to the receiving device among the file data being received,
The transmitter is:
Outgoing file storage means for associating and storing a file to be transferred and a file identifier;
File transmission information including the file size and destination address of the file to be transferred is transmitted to the relay device, the file identifier assigned to the file is received from the relay device, and the file identifier is stored in the transmission file storage means. File transmission information transmission means for storing in association with a file;
A file identifier stored in the transmission file storage means and a transmission file transmission means for transmitting file data corresponding to the file identifier to the relay device;
The receiver is:
An incoming file storage means for storing file data, a file identifier, and a file size in association with each other;
Means for transmitting a file incoming information request including a destination address corresponding to the receiving device to the relay device;
After transmitting the file arrival information request, the file reception information including a file identifier and a file size is received from the relay apparatus, the file identifier and the file size included in the file arrival information are obtained, and these are received as the incoming file. File incoming information receiving means to be registered in the storage means;
An incoming file request including a file identifier registered in the incoming file storage unit and a received data amount of a file corresponding to the file identifier is transmitted to the relay device, and the file already stored in the file storage unit from the relay device An incoming file receiving means for receiving data;
The incoming file receiving means completes the reception of the file data stored in the file storage means of the relay device, but the incoming call is received when the received data amount of the file is less than the file size of the file. a process of transmitting the file request to the relay device, and a process of accumulating add from the relay device to the data of the file which has already received the received the data the data of the unreceived portion of the file, the reception of the file The file transfer system is characterized in that it is repeated until the amount of completed data reaches the file size of the file.
請求項3に記載のファイル転送システムにおいて、
前記中継装置は:
転送すべきファイルの宛先アドレスから、当該ファイルについて他の中継装置に転送が必要か否かについての判断を行い、転送が必要であると判断された場合に転送先とすべき第二の中継装置を決定する転送先決定手段と、
前記転送先決定手段により決定した第二の中継装置に、前記宛先アドレスと、当該宛先アドレスに対応するファイル識別子とファイルサイズとを含むファイル中継情報を送信するファイル中継情報送信手段と、
前記第二の中継装置から、ファイル識別子と、該ファイル識別子に対応するファイルデータとして該第二の中継装置が既に受信したデータ量とを受信し、前記ファイル蓄積手段に既に蓄積済みのファイルデータのうちファイル先頭部を始まりとする前記データ量に相当する量のファイルデータに後続するファイルデータを該第二の中継装置へ送信する中継ファイル送信手段と、
別の第三の中継装置から前記ファイル中継情報を受信し、該ファイル中継情報に含まれる宛先アドレスとファイル識別子とファイルサイズとを前記ファイル蓄積手段に登録するファイル中継情報受信手段と、
前記第三の中継装置から受信したファイル識別子と該ファイル識別子に対応するファイルの受信済みデータ量を前記第三の中継装置に送信し、該第三の中継装置から該ファイルの未受信部分のデータを受信する中継ファイル受信手段と、
を更に具備することを特徴とするファイル転送システム。
In the file transfer system according to claim 3,
The relay device is:
A second relay device that determines whether or not the file needs to be transferred to another relay device from the destination address of the file to be transferred and should be the transfer destination when it is determined that the transfer is necessary A transfer destination determination means for determining
File relay information transmitting means for transmitting file relay information including the destination address, a file identifier corresponding to the destination address, and a file size to the second relay device determined by the transfer destination determining means;
A file identifier and the amount of data already received by the second relay device as file data corresponding to the file identifier are received from the second relay device, and the file data already stored in the file storage unit is received. Relay file transmitting means for transmitting to the second relay device file data subsequent to the amount of file data corresponding to the amount of data starting from the beginning of the file,
File relay information receiving means for receiving the file relay information from another third relay device, and registering the destination address, file identifier, and file size included in the file relay information in the file storage means;
The file identifier received from the third relay device and the received data amount of the file corresponding to the file identifier are transmitted to the third relay device, and the data of the unreceived portion of the file from the third relay device A relay file receiving means for receiving
A file transfer system, further comprising:
請求項4に記載のファイル転送システムにおいて、
前記中継ファイル送信手段は、前記第二の中継装置へ前記ファイルのデータを送信する前に、まず、前記ファイル蓄積手段に該ファイルのファイル識別子と関連付けて蓄積されている、ファイルの発信状態を示す情報を送信し、該ファイルのデータを送信する手段を含み、
前記中継ファイル受信手段は、前記第三の中継装置からファイル識別子に対応するファイルの発信状態を示す情報を受信し、送信中断状態であった場合には受信を中断し、送信中断状態でない場合には、ファイル蓄積手段の該ファイルの発信状態を示す情報を中断ではない状態に変化させ、続けてファイルの未受信部分のデータを受信する手段を含むことを特徴とするファイル転送システム。
The file transfer system according to claim 4, wherein
The relay file transmission unit first indicates the transmission state of the file stored in the file storage unit in association with the file identifier of the file before transmitting the file data to the second relay device. Means for transmitting information and transmitting data of the file;
The relay file receiving means receives information indicating the transmission status of the file corresponding to the file identifier from the third relay device, interrupts reception when it is in a transmission interrupted state, and when it is not in a transmission interrupted state Includes a means for changing the information indicating the transmission state of the file in the file storage means to a non-interrupted state, and subsequently receiving the data of the unreceived portion of the file.
請求項3から5のいずれかに記載のファイル転送システムにおいて、
前記ファイル蓄積手段は、前記送信装置がファイル送信を中断したか否かを示す発信状態を示す情報をファイル識別子と関連付けて蓄積する手段を含み、
前記発信ファイル受信手段は:
前記送信装置がファイル送信を中断した場合には、前記ファイル蓄積手段に該ファイル識別子と関連付けられて蓄積されている発信状態を示す情報を中断を示す値に変化させ、
前記着信ファイル送信手段は:
前記受信装置へ前記ファイルのデータを送信する前に、まず、前記ファイル蓄積手段に該ファイルのファイル識別子と関連付けて蓄積されている発信状態を示す情報を送信し、
該中継装置は、送信装置からファイル識別子に関連付けられたファイルの受信済みデータ量の問い合わせを受けると、前記ファイル蓄積手段に該ファイル識別子と関連付けて保存されているファイルの受信済みデータ量を、該送信装置に通知する、受信済みデータ量応答手段を更に具備し、
前記送信装置の前記発信ファイル送信手段は:
前記中継装置への送信を中断した後に再開した場合、前記中継装置の受信済みデータ量応答手段から通知されたあるファイル識別子に関連付けられたファイルのデータ量分のファイル先頭部からのデータに後続するデータを、該中継装置に送信し、
前記受信装置の前記着信ファイル受信手段は、前記中継装置からあるファイル識別子に対応するファイルの発信状態を示す情報を受信し、送信中断状態であった場合には受信を中断し、送信中断状態でない場合には続けてファイルの未受信部分のデータを受信する、
ことを特徴とするファイル転送システム。
The file transfer system according to any one of claims 3 to 5,
The file storage means includes means for storing information indicating a transmission state indicating whether or not the transmission device has interrupted file transmission in association with a file identifier,
The outgoing file receiving means is:
When the transmission device interrupts file transmission, the information indicating the transmission state stored in association with the file identifier in the file storage means is changed to a value indicating interruption,
The incoming file transmission means is:
Before transmitting the file data to the receiving device, first, the information indicating the transmission state stored in association with the file identifier of the file is transmitted to the file storage means,
When the relay device receives an inquiry about the received data amount of the file associated with the file identifier from the transmission device, the relay device determines the received data amount of the file stored in association with the file identifier in the file storage unit. It further comprises a received data amount response means for notifying the transmitting device,
The outgoing file transmission means of the transmission device is:
When the transmission to the relay device is interrupted and then resumed, the data from the file head portion corresponding to the data amount of the file associated with a certain file identifier notified from the received data amount response means of the relay device follows. Sending data to the relay device;
The incoming file receiving means of the receiving device receives information indicating a transmission state of a file corresponding to a certain file identifier from the relay device, interrupts reception when the transmission is interrupted, and is not in a transmission interrupted state In that case, continue to receive the data of the unreceived part of the file
A file transfer system characterized by that.
請求項3から6のいずれかに記載のファイル転送システムにおいて、
前記送信装置の前記ファイル発信情報送信手段は、転送すべきファイルに対して前記ファイル識別子を割り当て、この割り当てられたファイル識別子を前記ファイル発信情報に含め、
前記中継装置の前記ファイル発信情報受信手段は、前記ファイル識別子を割り当てる代わりに前記ファイル発信情報に含まれている該ファイル識別子を取得する、
ことを特徴とするファイル転送システム。
The file transfer system according to any one of claims 3 to 6,
The file transmission information transmission means of the transmission device assigns the file identifier to a file to be transferred, includes the assigned file identifier in the file transmission information,
The file transmission information receiving means of the relay device acquires the file identifier included in the file transmission information instead of assigning the file identifier.
A file transfer system characterized by that.
請求項3から7のいずれかに記載のファイル転送システムにおいて、前記データ量はバイト数であることを特徴とするファイル転送システム。  8. The file transfer system according to claim 3, wherein the data amount is a number of bytes. ファイルを発信する送信装置と、ファイルを中継する中継装置と、ファイルを着信する受信装置とを有し、送信装置から受信装置ヘファイルを転送するファイル転送システムにおいて使用される前記中継装置であって、
ファイルとファイル識別子とファイルサイズと宛先アドレスとを関連付けて蓄積するファイル蓄積手段と、
前記送信装置から、転送すべきファイルのファイルデータを受信する前に、転送すべきファイルのファイルサイズと宛先アドレスとを含むファイル発信情報を受信し、該ファイルにファイル識別子を割り当て、該ファイル識別子と該ファイルサイズと該宛先アドレスとを前記ファイル蓄積手段に登録し、該ファイル識別子を該送信装置に通知する、ファイル発信情報受信手段と、
ある宛先アドレスに対応する受信装置からファイル着信情報要求を受信したことに応じて、当該宛先アドレスに対応するファイル識別子とファイルサイズとを含むファイル着信情報を該受信装置に通知するファイル着信情報送信手段と、
あるファイル識別子と該ファイル識別子に対応するファイルデータとを前記送信装置から受信し、前記ファイル蓄積手段に該ファイル識別子と関連付けて蓄積させる発信ファイル受信手段と、
前記ファイル識別子と、該ファイル識別子に対応するファイルデータとして前記受信装置が既に受信したデータ量とを含む着信ファイル要求を前記受信装置から受信し、該ファイル識別子に関連付けて前記ファイル蓄積手段に既に蓄積されているファイルデータを該受信装置に送信する着信ファイル送信手段とを有し
前記受信装置が前記ファイル蓄積手段に蓄積済みのファイルデータの受信を完了しても、該受信装置における前記ファイルの受信済みデータ量が該ファイルのファイルサイズに満たない場合に、前記着信ファイル送信手段は、前記着信ファイル要求を前記受信装置から受信する処理と、該受信装置における前記ファイルの未受信のデータを該受信装置へ送信する処理とを、該受信装置における該ファイルの受信済みデータ量が該ファイルのファイルサイズに達するまで繰り返し行う
ことを特徴とする中継装置。
A relay device used in a file transfer system that includes a transmitting device that transmits a file, a relay device that relays a file, and a receiving device that receives a file, and transfers the file from the transmitting device to the receiving device. ,
File storage means for storing the file, file identifier, file size, and destination address in association with each other;
Before receiving the file data of the file to be transferred from the transmitting device, it receives file transmission information including the file size and the destination address of the file to be transferred, assigns a file identifier to the file, File transmission information receiving means for registering the file size and the destination address in the file storage means, and notifying the transmission device of the file identifier;
File incoming information transmission means for notifying the receiving device of file incoming information including a file identifier and a file size corresponding to the destination address in response to receiving a file incoming information request from a receiving device corresponding to a destination address When,
A transmission file receiving means for receiving a file identifier and file data corresponding to the file identifier from the transmission apparatus and causing the file storage means to store the file data in association with the file identifier;
An incoming file request including the file identifier and the amount of data already received by the receiving device as file data corresponding to the file identifier is received from the receiving device, and is already stored in the file storage means in association with the file identifier file data has been and a incoming file transmission means for transmitting to the receiving device,
Even if the reception device completes the reception of the file data stored in the file storage means, and the received data amount of the file in the reception device is less than the file size of the file, the incoming file transmission means The processing for receiving the incoming file request from the receiving device and the processing for transmitting unreceived data of the file in the receiving device to the receiving device, the received data amount of the file in the receiving device is A relay apparatus that is repeatedly performed until the file size of the file is reached .
請求項9に記載の中継装置において、
転送すべきファイルの宛先アドレスから、当該ファイルについて他の中継装置に転送が必要か否かについての判断を行い、転送が必要であると判断された場合に転送先とすべき第二の中継装置を決定する転送先決定手段と、
前記転送先決定手段により決定した第二の中継装置に、前記宛先アドレスと、当該宛先アドレスに対応するファイル識別子とファイルサイズとを含むファイル中継情報を送信するファイル中継情報送信手段と、
前記第二の中継装置から、ファイル識別子と、該ファイル識別子に対応するファイルデータとして該第二の中継装置が既に受信したデータ量とを受信し、前記ファイル蓄積手段に既に蓄積済みのファイルデータのうちファイル先頭部を始まりとする前記データ量に相当する量のファイルデータに後続するファイルデータを該第二の中継装置へ送信する中継ファイル送信手段と、
別の第三の中継装置から前記ファイル中継情報を受信し、該ファイル中継情報に含まれる宛先アドレスとファイル識別子とファイルサイズとを前記ファイル蓄積手段に登録するファイル中継情報受信手段と、
前記第三の中継装置から受信したファイル識別子と該ファイル識別子に対応するファイルの受信済みデータ量を前記第三の中継装置に送信し、該第三の中継装置から該ファイルの未受信部分のデータを受信する中継ファイル受信手段と、
を更に具備することを特徴とする中継装置。
The relay device according to claim 9,
A second relay device that determines whether or not the file needs to be transferred to another relay device from the destination address of the file to be transferred and should be the transfer destination when it is determined that the transfer is necessary A transfer destination determination means for determining
File relay information transmitting means for transmitting file relay information including the destination address, a file identifier corresponding to the destination address, and a file size to the second relay device determined by the transfer destination determining means;
A file identifier and the amount of data already received by the second relay device as file data corresponding to the file identifier are received from the second relay device, and the file data already stored in the file storage unit is received. Relay file transmitting means for transmitting to the second relay device file data subsequent to the amount of file data corresponding to the amount of data starting from the beginning of the file,
File relay information receiving means for receiving the file relay information from another third relay device, and registering the destination address, file identifier, and file size included in the file relay information in the file storage means;
The file identifier received from the third relay device and the received data amount of the file corresponding to the file identifier are transmitted to the third relay device, and the data of the unreceived portion of the file from the third relay device A relay file receiving means for receiving
The relay apparatus further comprising:
請求項9または10に記載の中継装置において、
前記ファイル蓄積手段は、前記送信装置がファイル送信を中断したか否かを示す発信状態を示す情報をファイル識別子と関連付けて蓄積する手段を含み、
前記発信ファイル受信手段は:
前記送信装置がファイル送信を中断した場合には、前記ファイル蓄積手段に該ファイル識別子と関連付けられて蓄積されている発信状態を示す情報を中断を示す値に変化させ、
前記着信ファイル送信手段は:
前記受信装置へ前記ファイルのデータを送信する前に、まず、前記ファイル蓄積手段に該ファイルのファイル識別子と関連付けて蓄積されている発信状態を示す情報を送信し、
前記中継装置は、前記送信装置からファイル識別子に関連付けられたファイルの受信済みデータ量の問い合わせを受けると、前記ファイル蓄積手段に該ファイル識別子と関連付けて保存されているファイルの受信済みデータ量を、該送信装置に通知する、受信済みデータ量応答手段を更に具備することを特徴とする中継装置。
The relay device according to claim 9 or 10,
The file storage means includes means for storing information indicating a transmission state indicating whether or not the transmission device has interrupted file transmission in association with a file identifier,
The outgoing file receiving means is:
When the transmission device interrupts file transmission, the information indicating the transmission state stored in association with the file identifier in the file storage means is changed to a value indicating interruption,
The incoming file transmission means is:
Before transmitting the file data to the receiving device, first, the information indicating the transmission state stored in association with the file identifier of the file is transmitted to the file storage means,
When the relay device receives an inquiry about the received data amount of the file associated with the file identifier from the transmission device, the relay device determines the received data amount of the file stored in association with the file identifier in the file storage unit, A relay apparatus further comprising a received data amount response means for notifying the transmitting apparatus.
請求項9から11のいずれかに記載の中継装置において、前記ファイル発信情報は、前記ファイルに対して割り当てられたファイル識別子を更に含み、
前記中継装置の前記ファイル発信情報受信手段は、ファイル識別子を割り当てる代わりに前記ファイル発信情報に含まれている該ファイル識別子を取得する、ことを特徴とする中継装置。
The relay device according to any one of claims 9 to 11, wherein the file transmission information further includes a file identifier assigned to the file,
The file transmission information receiving means of the relay device acquires the file identifier included in the file transmission information instead of assigning a file identifier.
ファイルを発信する送信装置と、ファイルを中継する中継装置と、ファイルを着信する受信装置とを有し、送信装置から受信装置ヘファイルを転送するファイル転送システムにおいて使用される前記中継装置としてコンピュータを機能させるプログラムであって、前記コンピュータを、
前記送信装置から、転送すべきファイルのファイルデータを受信する前に、転送すべきファイルのファイルサイズと宛先アドレスとを含むファイル発信情報を受信し、該ファイルにファイル識別子を割り当て、該ファイル識別子と該ファイルサイズと該宛先アドレスとを前記コンピュータの記憶手段に登録し、該ファイル識別子を該送信装置に通知する、ファイル発信情報受信手段、
ある宛先アドレスに対応する受信装置からファイル着信情報要求を受信したことに応じて、当該宛先アドレスに対応するファイル識別子とファイルサイズとを含むファイル着信情報を該受信装置に通知するファイル着信情報送信手段、
あるファイル識別子と該ファイル識別子に対応するファイルデータとを前記送信装置から受信し、前記記憶手段に該ファイル識別子と関連付けて蓄積する発信ファイル受信手段、
前記ファイル識別子と、該ファイル識別子に対応するファイルデータとして前記受信装置が既に受信したデータ量とを含む着信ファイル要求を前記受信装置から受信し、該ファイル識別子に関連付けて前記記憶手段に既に蓄積されているファイルデータを該受信装置に送信する着信ファイル送信手段として機能させるプログラムであり、
前記受信装置が前記記憶手段に蓄積済みのファイルデータの受信を完了しても、該受信装置における前記ファイルの受信済みデータ量が該ファイルのファイルサイズに満たない場合に、前記着信ファイル送信手段は、前記着信ファイル要求を前記受信装置から受信する処理と、該受信装置における前記ファイルの未受信のデータを該受信装置へ送信する処理とを、該受信装置における該ファイルの受信済みデータ量が該ファイルのファイルサイズに達するまで繰り返し行う
ことを特徴とするプログラム。
A computer as the relay device used in a file transfer system having a transmission device for transmitting a file, a relay device for relaying the file, and a reception device for receiving the file, and transferring the file from the transmission device to the reception device. A program for functioning the computer,
Before receiving the file data of the file to be transferred from the transmitting device, it receives file transmission information including the file size and the destination address of the file to be transferred, assigns a file identifier to the file, Registering the file size and the destination address in the storage means of the computer, and notifying the transmitting device of the file identifier, a file transmission information receiving means;
File incoming information transmission means for notifying the receiving device of file incoming information including a file identifier and a file size corresponding to the destination address in response to receiving a file incoming information request from a receiving device corresponding to a destination address ,
A transmission file receiving means for receiving a file identifier and file data corresponding to the file identifier from the transmission device, and storing the file data in association with the file identifier in the storage means;
An incoming file request including the file identifier and the amount of data already received by the receiving device as file data corresponding to the file identifier is received from the receiving device, and is already stored in the storage means in association with the file identifier. Is a program that functions as incoming file transmission means for transmitting file data to the receiving device ,
Even if the reception device completes reception of the file data accumulated in the storage means, if the received data amount of the file in the reception device is less than the file size of the file, the incoming file transmission means A process of receiving the incoming file request from the receiving apparatus and a process of transmitting unreceived data of the file in the receiving apparatus to the receiving apparatus, wherein the received data amount of the file in the receiving apparatus is A program that is repeated until the file size of the file is reached .
請求項13に記載のプログラムにおいて、前記コンピュータを更に、
転送すべきファイルの宛先アドレスから、当該ファイルについて他の中継装置に転送が必要か否かについての判断を行い、転送が必要であると判断された場合に転送先とすべき第二の中継装置を決定する転送先決定手段、
前記転送先決定手段により決定した第二の中継装置に、前記宛先アドレスと、当該宛先アドレスに対応するファイル識別子とファイルサイズとを含むファイル中継情報を送信するファイル中継情報送信手段、
前記第二の中継装置から、ファイル識別子と、該ファイル識別子に対応するファイルデータとして該第二の中継装置が既に受信したデータ量とを受信し、前記ファイル蓄積手段に既に蓄積済みのファイルデータのうちファイル先頭部を始まりとする前記データ量に相当する量のファイルデータに後続するファイルデータを該第二の中継装置へ送信する中継ファイル送信手段、
別の第三の中継装置から前記ファイル中継情報を受信し、該ファイル中継情報に含まれる宛先アドレスとファイル識別子とファイルサイズとを前記ファイル蓄積手段に登録するファイル中継情報受信手段、
前記第三の中継装置から受信したファイル識別子と該ファイル識別子に対応するファイルの受信済みデータ量を前記第三の中継装置に送信し、該第三の中継装置から該ファイルの未受信部分のデータを受信する中継ファイル受信手段、
として機能させるプログラム。
The program according to claim 13, further comprising:
A second relay device that determines whether or not the file needs to be transferred to another relay device from the destination address of the file to be transferred and should be the transfer destination when it is determined that the transfer is necessary Destination determination means for determining
File relay information transmitting means for transmitting file relay information including the destination address, a file identifier corresponding to the destination address, and a file size to the second relay device determined by the transfer destination determining means;
A file identifier and the amount of data already received by the second relay device as file data corresponding to the file identifier are received from the second relay device, and the file data already stored in the file storage unit is received. Relay file transmitting means for transmitting file data subsequent to the amount of file data corresponding to the amount of data starting from the beginning of the file to the second relay device;
File relay information receiving means for receiving the file relay information from another third relay device and registering the destination address, file identifier, and file size included in the file relay information in the file storage means;
The file identifier received from the third relay device and the received data amount of the file corresponding to the file identifier are transmitted to the third relay device, and the data of the unreceived portion of the file from the third relay device A relay file receiving means for receiving
Program to function as.
請求項13または14に記載のプログラムにおいて、
前記発信ファイル受信手段は:
前記送信装置がファイル送信を中断した場合には、前記記憶手段に、該ファイル識別子と関連付けて、ファイル送信中断を示す値を発信状態として保持する手段を有し、
前記着信ファイル送信手段は:
前記受信装置へ前記ファイルのデータを送信する前に、まず、前記ファイル蓄積手段に該ファイルのファイル識別子と関連付けて保持されている発信状態を示す情報を送信し、
前記プログラムは、前記コンピュータを更に、前記送信装置からファイル識別子に関連付けられたファイルの受信済みデータ量の問い合わせを受けると、前記記憶手段に該ファイル識別子と関連付けて保存されているファイルの受信済みデータ量を、該送信装置に通知する、受信済みデータ量応答手段として機能させるプログラム。
The program according to claim 13 or 14,
The outgoing file receiving means is:
When the transmission device interrupts file transmission, the storage means associates with the file identifier and has means for holding a value indicating file transmission interruption as a transmission state,
The incoming file transmission means is:
Before transmitting the data of the file to the receiving device, first, the information indicating the transmission state held in association with the file identifier of the file is transmitted to the file storage means,
When the program further receives an inquiry about the received data amount of the file associated with the file identifier from the transmission device, the program receives the received data of the file stored in association with the file identifier in the storage means A program for functioning as a received data amount response means for notifying the transmission device of the amount.
請求項13から15のいずれかに記載のプログラムにおいて、
前記ファイル発信情報は、前記ファイルに対して割り当てられたファイル識別子を更に含み、
前記ファイル発信情報受信手段は、ファイル識別子を割り当てる代わりに前記ファイル発信情報に含まれている該ファイル識別子を取得する、プログラム。
The program according to any one of claims 13 to 15,
The file transmission information further includes a file identifier assigned to the file,
The file transmission information receiving unit obtains the file identifier included in the file transmission information instead of assigning a file identifier.
請求項13から16のうちいずれか1項に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。  The computer-readable recording medium which recorded the program of any one of Claims 13-16.
JP2001259588A 2000-08-31 2001-08-29 File transfer system, apparatus, method, and recording medium recording file transfer program Expired - Lifetime JP3685110B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001259588A JP3685110B2 (en) 2000-08-31 2001-08-29 File transfer system, apparatus, method, and recording medium recording file transfer program

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2000-263656 2000-08-31
JP2000263656 2000-08-31
JP2001259588A JP3685110B2 (en) 2000-08-31 2001-08-29 File transfer system, apparatus, method, and recording medium recording file transfer program

Publications (2)

Publication Number Publication Date
JP2002149535A JP2002149535A (en) 2002-05-24
JP3685110B2 true JP3685110B2 (en) 2005-08-17

Family

ID=26598973

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001259588A Expired - Lifetime JP3685110B2 (en) 2000-08-31 2001-08-29 File transfer system, apparatus, method, and recording medium recording file transfer program

Country Status (1)

Country Link
JP (1) JP3685110B2 (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080126517A1 (en) * 2004-10-29 2008-05-29 Monta Nakatsuka File Transfer System, Transmitting Device and Receiving Device
JP4367941B2 (en) 2005-01-25 2009-11-18 キヤノン株式会社 Relay device, image supply device, printing system and control method thereof
EP2016514A4 (en) * 2006-04-21 2010-03-17 Topia Technology Electronic file sharing
JP4530420B2 (en) * 2006-05-15 2010-08-25 日本電信電話株式会社 File transfer system, file transfer program, and file transfer method
JP5675548B2 (en) * 2011-10-19 2015-02-25 株式会社日立製作所 Data communication control method and data communication control system
EP3451172B1 (en) * 2016-04-28 2020-08-12 Kyocera Document Solutions Inc. Data transmission system and data transmission method

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63143657A (en) * 1986-12-05 1988-06-15 Nec Corp File transfer control system
JPH01211147A (en) * 1988-02-19 1989-08-24 Fujitsu Ltd File transmitting system
JPH04338852A (en) * 1991-05-16 1992-11-26 Fujitsu Ltd File transfer program with interruption restart mechanism
JPH06243059A (en) * 1993-02-19 1994-09-02 Hitachi Ltd Interruption/resumption system for film transfer
JPH10133970A (en) * 1996-10-28 1998-05-22 Nec Corp File transferring system
JPH11242640A (en) * 1998-02-25 1999-09-07 Kdd Corp File transfer method
JP2000076158A (en) * 1998-08-28 2000-03-14 Nec Corp Application downloading resume method and system therefor
JP2000242587A (en) * 1999-02-24 2000-09-08 Pfu Ltd Object processor and its program storage medium

Also Published As

Publication number Publication date
JP2002149535A (en) 2002-05-24

Similar Documents

Publication Publication Date Title
KR100460320B1 (en) File Transfer System, Apparatus, Method and Computer Readable Medium Storing File Transfer Program
US6041049A (en) Method and apparatus for determining a routing table for each node in a distributed nodal system
JP5741150B2 (en) Relay device, relay program, and relay method
CN101938502B (en) Server cluster system and load balancing method
KR101887581B1 (en) Flow-based packet transport device and packet management method thereof
JP2002512411A (en) Access control method and device
JP2002511959A (en) Communication system for client-server data processing system
JP3121221B2 (en) Communication method of information processing system and information processing system
JP3685110B2 (en) File transfer system, apparatus, method, and recording medium recording file transfer program
KR20020021502A (en) Method for Transferring Message in Message Transfer Part with High Speed
JP2003114823A5 (en)
JP2003510718A (en) Method and apparatus for processing an invalidation request for a processor not present in the computer system
JP2007013804A (en) Attribute designated communication method and communication apparatus thereof
CN110061922B (en) Message forwarding method and device
JP2002342193A (en) Method, device and program for selecting data transfer destination server and storage medium with data transfer destination server selection program stored therein
JP2000022728A (en) Network system
JP2005277974A (en) Method and program for distributing/collecting address information and transmission/reception terminal
JP2763943B2 (en) Message communication system
JP3353750B2 (en) Data transfer system using batch response method
JP3159180B2 (en) Dialup router device
JP2000293454A (en) Equipment and method for data communication, and recording medium
JP3236158B2 (en) Network processing method for multiple host systems
JP2002149518A (en) Image input-output processing system
JP2004252518A (en) Method and system for reporting operation start
JPH06209320A (en) Data repeating installation

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040706

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040906

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050222

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050414

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20050510

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050523

R150 Certificate of patent or registration of utility model

Ref document number: 3685110

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090610

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090610

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100610

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100610

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110610

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120610

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130610

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140610

Year of fee payment: 9

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

EXPY Cancellation because of completion of term