JP4530420B2 - ファイル転送システム、ファイル転送プログラムおよびファイル転送方法 - Google Patents

ファイル転送システム、ファイル転送プログラムおよびファイル転送方法 Download PDF

Info

Publication number
JP4530420B2
JP4530420B2 JP2006135304A JP2006135304A JP4530420B2 JP 4530420 B2 JP4530420 B2 JP 4530420B2 JP 2006135304 A JP2006135304 A JP 2006135304A JP 2006135304 A JP2006135304 A JP 2006135304A JP 4530420 B2 JP4530420 B2 JP 4530420B2
Authority
JP
Japan
Prior art keywords
file
transfer
server
client
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.)
Active
Application number
JP2006135304A
Other languages
English (en)
Other versions
JP2007305049A (ja
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 JP2006135304A priority Critical patent/JP4530420B2/ja
Publication of JP2007305049A publication Critical patent/JP2007305049A/ja
Application granted granted Critical
Publication of JP4530420B2 publication Critical patent/JP4530420B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Description

この発明は、ファイル転送システム、ファイル転送プログラムおよびファイル転送方法に関する。
従来より、ファイルの送受信を目的として、FTP(File Transfer Protocol)、HTTP(HyperText Transfer Protocol)、SMTP/POP3(Simple Mail Transfer Protocol/Post Office Protocol3)等のプロトコルが主に利用されている。特に、送信クライアントから受信クライアントを指定してファイルを送受信する手法としては、これらのプロトコルの中でも、HTTP、SMTP/POP3を利用する手法が適している。
例えば、HTTPを利用する手法としては、特許文献1で開示されるように、HTTPリクエストやHTTPレスポンスのエンティティボディに格納したファイルデータ等を、送信クライアントから受信クライアントがHTTPサーバを介して送受信することで、送信クライアントから受信クライアントを指定してファイルを送受信している。また、例えば、SMTP/POP3を利用する手法としては、一般に実施されるように、送信クライアントや受信クライアントが電子メールの添付ファイルとしてファイルを送受信することで、送信クライアントから受信クライアントを指定してファイルを送受信している。
特開2002−149535号公報
ところで、上記した従来の技術では、以下に説明するように、ファイルの転送に失敗するおそれがあるという課題がある。すなわち、上記した手法では、ファイルの転送を行う転送サーバにおける一時的なデータ蓄積可能容量に係らず、送信クライアントから転送サーバに向けてファイルが送信される。このため、送信クライアントから転送サーバに向けて送信されたファイルの容量が、転送サーバにおける一時的なデータ蓄積可能容量を超過する場合には、転送サーバにおいてファイルの転送に関するその後の処理を継続できなくなる結果、ファイルの転送に失敗するおそれがあるという課題がある。
そこで、この発明は、上記した従来技術の課題を解決するためになされたものであり、ファイルの転送失敗を防ぐことが可能なファイル転送システム、ファイル転送プログラムおよびファイル転送方法を提供することを目的とする。
上述した課題を解決し、目的を達成するため、本発明は、転送サーバを経由して送信クライアントから受信クライアントにファイルを転送するファイル転送システムであって、前記転送サーバは、前記ファイルを受信すると、所定の転送サーバまで当該ファイルの転送が完了した状態を示す状態情報を記憶部に格納する状態情報格納手段と、前記受信クライアントが前記ファイルを受信中である状態が検知されると、前記状態情報格納手段により記憶部に格納された状態情報を、前記受信クライアントが前記ファイルを受信中である状態を示す状態情報に変更し、前記受信クライアントまで前記ファイルの転送が完了した状態が検知されると、前記状態情報格納手段により記憶部に格納された状態情報を、前記受信クライアントまで前記ファイルの転送が完了した状態を示す状態情報に変更する変更手段とを備え、前記送信クライアントは、前記転送サーバの記憶部に格納された状態情報を当該転送サーバから受信する状態情報受信手段と、前記状態情報受信手段により受信された状態情報を出力部に出力する出力手段と、を備えたことを特徴とする。
また、本発明は、上記の発明において、前記送信クライアントは、前記ファイルの容量情報を前記転送サーバに送信する容量情報送信手段と、前記転送サーバから前記ファイルの転送を許可する転送許可情報を受信すると、当該転送サーバに当該ファイルを送信するファイル送信手段とをさらに備え、前記転送サーバは、前記容量情報送信手段により送信されたファイルの容量情報を受信すると、受信したファイルの容量情報と当該ファイルを蓄積する記憶領域の空き領域とを比較して、当該ファイルの転送の許可を判断する判断手段と、前記判断手段により前記ファイルの転送を許可すると、前記転送許可情報を前記送信クライアントに送信する転送許可情報送信手段と、前記ファイル送信手段により送信されたファイルを受信すると、受信したファイルを前記受信クライアントに転送するファイル転送手段と、をさらに備えたことを特徴とする。
また、本発明は、上記の発明において、前記送信クライアントは、前記ファイルの転送をキャンセルすることを指示する転送キャンセル要求を前記転送サーバに送信する転送キャンセル要求送信手段をさらに備え、前記転送サーバは、前記転送キャンセル要求送信手段により送信された転送キャンセル要求を受信すると、受信した転送キャンセル要求によって指示された前記ファイルの転送を停止するとともに当該ファイルの受信済みデータを削除する停止削除手段をさらに備え、前記受信クライアントは、前記転送サーバから転送キャンセル要求を受信すると、受信した転送キャンセル要求によって指示されたファイルの受信済みデータを削除する第一のファイル削除手段と、をさらに備えたことを特徴とする。
また、本発明は、上記の発明において、前記受信クライアントは、前記ファイルの受信をキャンセルすることを指示する受信キャンセル要求を前記転送サーバに送信する受信キャンセル要求送信手段と、前記ファイルの転送を停止したことを示す受信キャンセル完了通知を前記転送サーバから受信すると、前記ファイルの受信済みデータを削除する第二のファイル削除手段とをさらに備え、前記転送サーバは、前記受信キャンセル要求送信手段により送信された受信キャンセル要求を受信すると、受信した受信キャンセル要求によって指示されたファイルの転送を停止する第一のファイル転送停止手段と、前記第一のファイル転送停止手段によりファイルの転送を停止すると、前記受信キャンセル完了通知を前記受信クライアントに送信する受信キャンセル完了通知送信手段と、前記受信キャンセル完了通知送信手段によって前記受信キャンセル完了通知を前記受信クライアントに送信した後に当該受信クライアントから前記ファイルの受信を要求するファイル受信要求を受信すると、当該ファイルの先頭から転送を開始する転送開始手段と、をさらに備えたことを特徴とする。
また、本発明は、上記の発明において、前記受信クライアントは、前記ファイルの受信を放棄することを指示する受信放棄要求を前記転送サーバに送信する受信放棄要求送信手段と、前記ファイルの転送を放棄したことを示す受信放棄完了通知を前記転送サーバから受信すると、前記ファイルの受信済みデータを削除する第三のファイル削除手段とをさらに備え、前記転送サーバは、前記受信放棄要求送信手段により送信された受信放棄要求を受信すると、受信した受信放棄要求によって指示されたファイルの転送を停止する第二のファイル転送停止手段と、前記送信クライアントが前記ファイルを他の受信クライアントに同報していない場合に、または、同報している場合であっても前記他の受信クライアントに対する当該ファイルの転送が完了している場合並びに当該他の受信クライアントから前記受信放棄要求を受信している場合に、当該ファイルの受信済みデータを削除するファイル削除手段と、前記受信放棄完了通知を前記受信クライアントに送信する受信放棄完了通知送信手段と、前記受信放棄完了通知送信手段によって前記受信放棄完了通知を前記受信クライアントに送信した後に当該受信クライアントから前記ファイルの受信を要求するファイル受信要求を受信すると、当該受信クライアントに対する前記ファイルの転送を拒否するファイル転送拒否通知を当該受信クライアントに送信するファイル転送拒否通知送信手段と、をさらに備えたことを特徴とする。
また、本発明は、上記の発明において、前記ファイル転送手段は、前記送信クライアントから複数の受信クライアントに対して前記ファイルが同報送信され、当該ファイルの転送先である前記受信クライアント側の転送サーバが共通である場合に、単一の当該ファイルを転送することを特徴とする。
また、本発明は、上記の発明において、ファイル転送システムの転送サーバの動作をコンピュータに実行させること、または、ファイル転送システムの送信クライアントの動作をコンピュータに実行させること、または、ファイル転送システムの受信クライアントの動作をコンピュータに実行させること、を特徴とする。
また、本発明は、転送サーバを経由して送信クライアントから受信クライアントにファイルを転送するファイル転送方法であって、前記転送サーバは、前記ファイルを受信すると、所定の転送サーバまで当該ファイルの転送が完了した状態を示す状態情報を記憶部に格納する状態情報格納工程と、前記受信クライアントが前記ファイルを受信中である状態が検知されると、前記状態情報格納工程により記憶部に格納された状態情報を、前記受信クライアントが前記ファイルを受信中である状態を示す状態情報に変更し、前記受信クライアントまで前記ファイルの転送が完了した状態が検知されると、前記状態情報格納工程により記憶部に格納された状態情報を、前記受信クライアントまで前記ファイルの転送が完了した状態を示す状態情報に変更する変更工程とを含み、前記送信クライアントは、前記転送サーバの記憶部に格納された状態情報を当該転送サーバから受信する状態情報受信工程と、前記状態情報受信工程により受信された状態情報を出力部に出力する出力工程とを含んだことを特徴とする。
また、本発明は、送信クライアントからファイルを受信する送信サーバと、受信クライアントに当該ファイルを送信する受信サーバと、当該送信サーバと当該受信サーバとの間で当該ファイルが経由するひとつまたは複数の中継サーバとで構成され、当該送信クライアントから当該受信クライアントに当該ファイルを転送するファイル転送システムであって、前記送信サーバは、前記ファイルを受信すると、当該送信サーバまで当該ファイルの転送が完了した状態を示す状態情報を記憶部に格納する状態情報格納手段と、前記受信クライアントが前記ファイルを受信中である状態を、転送経路上にて隣接する中継サーバから受信すると、前記状態情報格納手段により記憶部に格納された状態情報を、前記受信クライアントが前記ファイルを受信中である状態を示す状態情報に変更し、前記受信クライアントまで前記ファイルの転送が完了した状態を示す状態情報を、転送経路上にて隣接する中継サーバから受信すると、前記状態情報格納手段により記憶部に格納された状態情報を、前記受信クライアントまで前記ファイルの転送が完了した状態を示す状態情報に変更する変更手段とを備え、前記中継サーバは、前記ファイルを受信すると、当該中継サーバまで当該ファイルの転送が完了した状態を示す状態情報を記憶部に格納する状態情報格納手段と、前記受信クライアントが前記ファイルを受信中である状態を、転送経路上にて隣接する受信クライアント側の中継サーバまたは前記受信サーバから受信すると、当該中継サーバの状態情報格納手段により記憶部に格納された状態情報を、前記受信クライアントが前記ファイルを受信中である状態を示す状態情報に変更し、前記受信クライアントまで前記ファイルの転送が完了した状態を示す状態情報を、転送経路上にて隣接する受信クライアント側の中継サーバまたは前記受信サーバから受信すると、当該中継サーバの状態情報格納手段により記憶部に格納された状態情報を、前記受信クライアントまで前記ファイルの転送が完了した状態を示す状態情報に変更する変更手段と、前記記憶部に格納された状態情報を、転送経路上にて隣接する送信クライアント側の中継サーバまたは前記送信サーバに送信する送信手段とを備え、前記受信サーバは、前記ファイルを受信すると、当該受信サーバまで当該ファイルの転送が完了した状態を示す状態情報を記憶部に格納する状態情報格納手段と、前記受信クライアントが前記ファイルを受信中である状態を検知すると、当該受信サーバの状態情報格納手段により記憶部に格納された状態情報を、前記受信クライアントが前記ファイルを受信中である状態を示す状態情報に変更し、前記受信クライアントまで前記ファイルの転送が完了した状態を検知すると、当該受信サーバの状態情報格納手段により記憶部に格納された状態情報を、前記受信クライアントまで前記ファイルの転送が完了した状態を示す状態情報に変更する変更手段と、前記記憶部に格納された状態情報を、転送経路上にて隣接する中継サーバに送信する送信手段とを備え、前記送信クライアントは、前記送信サーバの記憶部に格納された状態情報を当該送信サーバから受信する状態情報受信手段と、前記状態情報受信手段により受信された状態情報を出力部に出力する出力手段とを備えたこと、を特徴とし、また、本発明は、上記の発明において、前記送信クライアントは、前記ファイルの容量情報を前記送信サーバに送信する容量情報送信手段と、前記送信サーバから前記ファイルの転送を許可する転送許可情報を受信すると、当該送信サーバに当該ファイルを送信するファイル送信手段とをさらに備え、前記送信サーバは、前記容量情報送信手段により送信されたファイルの容量情報を受信すると、受信したファイルの容量情報と当該ファイルを蓄積する記憶領域の空き領域とを比較して、当該ファイルの転送の許可を判断する判断手段と、前記判断手段により前記ファイルの転送を許可すると、前記ファイルの容量情報を前記中継サーバに送信する容量情報送信手段と、前記転送許可情報を前記中継サーバから受信すると、受信した転送許可情報を前記送信クライアントに送信する転送許可情報送信手段と、前記ファイル送信手段により送信されたファイルを受信すると、当該ファイルを前記中継サーバに転送するファイル転送手段とをさらに備え、前記中継サーバは、前記送信サーバの容量情報送信手段により送信されたファイルの容量情報を受信すると、受信したファイルの容量情報と当該ファイルを蓄積する記憶領域の空き領域とを比較して、当該ファイルの転送の許可を判断する判断手段と、
前記中継サーバの判断手段により前記ファイルの転送を許可すると、前記ファイルの容量情報を転送経路上の受信クライアント側の中継サーバまたは前記受信サーバに送信する容量情報送信手段と、前記転送許可情報を転送経路上の受信クライアント側の中継サーバまたは前記受信サーバから受信すると、受信した転送許可情報を転送経路上の送信クライアント側の中継サーバまたは前記送信サーバに送信する転送許可情報送信手段と、前記送信サーバのファイル転送手段により転送されたファイルを受信すると、当該ファイルを転送経路上の受信クライアント側の中継サーバまたは前記受信サーバに転送するファイル転送手段とをさらに備え、前記受信サーバは、前記中継サーバの容量情報送信手段により送信されたファイルの容量情報を受信すると、受信したファイルの容量情報と当該ファイルを蓄積する記憶領域の空き領域とを比較して、当該ファイルの転送の許可を判断する判断手段と、前記受信サーバの判断手段により前記ファイルの転送を許可すると、前記転送許可情報を前記中継サーバに送信する転送許可情報送信手段とをさらに備えたことを特徴とする。
本発明によれば、転送サーバを経由して送信クライアントから受信クライアントにファイルを転送するファイル転送システムであって、送信クライアントは、ファイルの容量情報を転送サーバに送信し、転送サーバからファイルの転送を許可する転送許可情報を受信した場合に、転送サーバにファイルを送信し、転送サーバは、送信クライアントから受信したファイルの容量情報とファイルを蓄積する記憶領域の空き領域とを比較して、ファイルの転送の許可を判断し、ファイルの転送を許可した場合に、転送許可情報を送信クライアントに送信するので、送信クライアントにおいて、転送サーバにおけるファイル転送の許可を把握し、転送サーバにおける一時的なデータ蓄積可能容量に応じて、送信クライアントから転送サーバに向けてファイルを送信することから、例えば、送信クライアントから転送サーバに向けて大容量のファイルを送信した場合に、転送サーバの一時的なデータ蓄積可能容量を使い果たして他の通信に障害をもたらすような事態を回避するなど、ファイルの転送失敗を防ぐことが可能になる。
また、本発明によれば、送信クライアントからファイルを受信する送信サーバと、受信クライアントにファイルを送信する受信サーバと、送信サーバと受信サーバとの間でファイルが経由するひとつまたは複数の中継サーバとで構成され、送信クライアントから受信クライアントにファイルを転送するファイル転送システムであって、送信クライアントは、ファイルの容量情報を送信サーバに送信し、送信サーバからファイルの転送を許可する転送許可情報を受信した場合に、送信サーバにファイルを送信し、送信サーバは、送信クライアントから受信したファイルの容量情報とファイルを蓄積する記憶領域の空き領域とを比較して、ファイルの転送の許可を判断し、ファイルの転送を許可した場合に、中継サーバにファイルの容量情報を転送し、中継サーバから受信した転送許可情報を送信クライアントに転送し、送信クライアントから受信したファイルを中継サーバに転送し、中継サーバは、送信クライアント側の中継サーバもしくは送信サーバから受信したファイルの容量情報とファイルを蓄積する記憶領域の空き領域とを比較して、ファイルの転送の許可を判断し、ファイルの転送を許可した場合に、受信クライアント側の中継サーバもしくは受信サーバにファイルの容量情報を転送し、受信クライアント側の中継サーバもしくは受信サーバから受信した転送許可情報を送信クライアント側の中継サーバもしくは送信サーバに転送し、送信クライアント側の中継サーバもしくは送信サーバから受信したファイルを受信クライアント側の中継サーバもしくは受信サーバに転送し、受信サーバは、中継サーバから受信したファイルの容量情報とファイルを蓄積する記憶領域の空き領域とを比較して、ファイルの転送の許可を判断し、ファイルの転送を許可した場合に、転送許可情報を中継サーバに送信し、中継サーバから受信したファイルを受信クライアントに転送するので、送信クライアントにおいて、転送サーバ(送信サーバ、中継サーバ、および受信サーバ)におけるファイル転送の許可を把握し、転送サーバにおける一時的なデータ蓄積可能容量に応じて、送信クライアントから転送サーバに向けてファイルを送信することから、例えば、送信クライアントから転送サーバに向けて大容量のファイルを送信した場合に、いずれかの転送サーバの一時的なデータ蓄積可能容量を使い果たして他の通信に障害をもたらすような事態を回避するなど、ファイルの転送失敗を防ぐことが可能になる。
また、本発明によれば、送信クライアントから複数の受信クライアントに対してファイルが同報送信され、ファイルの転送先である受信クライアント側の中継サーバもしくは受信サーバが共通である場合に、単一のファイルを転送するので、複数の受信クライアントに対して単一のファイルで送信できることから、複数の受信クライアント各々に対して別々のファイルを送信する手法に比較して、転送サーバの一時的なデータ蓄積可能容量を効率よく利用してファイルを送信することが可能になる。
また、本発明によれば、送信クライアントは、ファイルの送受信状態に係る情報を保持し、ファイルの送信状態を検知して、保持する送受信状態に係る情報を遷移させ、送受信状態に係る情報を送信サーバに要求して取得し、送信サーバは、ファイルの送受信状態に係る情報を保持し、送信クライアントから受信したファイルの送信状態を検知して、保持する送受信状態に係る情報を遷移させ、遷移させた送受信状態に係る情報を中継サーバに送信し、中継サーバから送受信状態に係る情報を受信して、保持する送受信状態に係る情報を遷移させ、保持する送受信状態に係る情報を送信クライアントの要求に応じて送信クライアントに送信し、中継サーバは、ファイルの送受信状態に係る情報を保持し、送信クライアント側の中継サーバもしくは送信サーバから受信した送受信状態に係る情報を受信クライアント側の中継サーバもしくは受信サーバに転送し、受信クライアント側の中継サーバもしくは受信サーバから受信した送受信状態に係る情報を送信クライアント側の中継サーバもしくは送信サーバに転送し、受信サーバは、ファイルの送受信状態に係る情報を保持し、送信クライアントから受信したファイルの送信状態を検知して、保持する送受信状態に係る情報を遷移させ、遷移させた送受信状態に係る情報を中継サーバに送信し、受信クライアントによって受信されるファイルの受信状態を検知して、保持する送受信状態に係る情報を遷移させ、遷移させた送受信状態に係る情報を中継サーバに送信し、保持する送受信状態に係る情報を受信クライアントの要求に応じて受信クライアントに送信し、受信クライアントは、ファイルの送受信状態に係る情報を保持し、ファイルの受信状態を検知して、保持する送受信状態に係る情報を遷移させ、送受信状態に係る情報を受信サーバに要求して取得するので、送信クライアントおよび受信クライアントにおいて、ファイルの送受信状態に係る情報を把握できることから、ファイルの送受信状態に応じてファイルの送受信を制御することが可能になる。
具体的に例を挙げると、必ずしも高速のネットワークに接続しているとは限らない受信クライアント(例えば、電話回線に転送速度56kbpsのアナログモデムで接続する受信クライアントなど)に対して、送信クライアントが大容量のファイル(例えば、10MBのファイルなど)を送信すると、受信クライアントにおいては、ファイルの受信に長時間(約24分)を要し、この間の受信クライアントにおけるメールの受信やインターネットへのアクセススピードが大幅に低下し、また、ネットワーク障害に遭う可能性も高くなり、結果としてファイル転送が突然切断される可能性も高くなるが、送信クライアントにおいて、受信クライアントの受信状態を把握できることから、例えば、受信クライアントが「受信中」の状態である場合にはファイルの送信を控えるように制御することが可能になる。また、送信クライアントがファイルの送信を中断した場合に、送信クライアントにおいて、送信クライアントの状態情報を「送信中断」の状態に遷移させることができることから、送信を再開する場合には、この状態情報に基づいて続きから送信を再開することが可能になる。また、受信クライアントがファイルの受信を中断した場合に、受信クライアントにおいて、受信クライアントの状態情報を「受信中断」の状態に遷移させることができることから、受信を再開する場合には、この状態情報に基づいて続きから受信を再開することが可能になる。
また、本発明によれば、送信クライアントは、ファイルの転送をキャンセルすることを指示する転送キャンセル要求を送信サーバに送信し、送信サーバは、送信クライアントから転送キャンセル要求を受信して、転送キャンセル要求によって指示されたファイルの転送を停止し、転送キャンセル要求によって指示されたファイルを削除し、転送キャンセル要求を中継サーバに転送し、ファイルの削除が受信クライアントにおいて完了したことを示す削除完了通知を中継サーバから受信して送信クライアントに転送し、中継サーバは、送信クライアント側の中継サーバもしくは送信サーバから転送キャンセル要求を受信して、転送キャンセル要求によって指示されたファイルの転送を停止し、転送キャンセル要求によって指示されたファイルを削除し、転送キャンセル要求を受信クライアント側の中継サーバもしくは受信サーバに転送し、受信クライアント側の中継サーバもしくは受信サーバから受信した削除完了通知を送信クライアント側の中継サーバもしくは送信サーバに転送し、受信サーバは、中継サーバから転送キャンセル要求を受信して、転送キャンセル要求によって指示されたファイルの転送を停止し、転送キャンセル要求によって指示されたファイルを削除し、転送キャンセル要求を受信クライアントに転送し、受信クライアントから受信した削除完了通知を中継サーバに転送し、受信クライアントは、受信サーバから受信した転送キャンセル要求によって指示されたファイルを削除し、削除完了通知を受信サーバに送信するので、送信クライアントが誤ってファイルを送信してしまった場合などにその転送をキャンセルできることから、受信クライアントに係るネットワークリソースやディスクスペースを無駄なファイルによって占有させないことが可能になる。
また、本発明によれば、受信サーバは、受信クライアントからファイルの受信をキャンセルすることを指示する受信キャンセル要求を受信して、受信キャンセル要求によって指示されたファイルの転送を停止し、ファイルの転送を停止したことを示す受信キャンセル完了通知を受信クライアントに送信し、受信キャンセル完了通知を受信クライアントに送信した後に受信クライアントからファイルの受信を要求するファイル受信要求を受信すると、ファイルの先頭から転送を開始し、受信クライアントは、受信キャンセル要求を受信サーバに送信し、受信キャンセル完了通知を受信サーバから受信すると、すでに受信したファイルを削除するので、受信クライアントがファイルの受信をキャンセルした場合にすでに受信したファイルを削除できることから、受信クライアントのディスクスペースを無駄なファイルによって占有させないことが可能になる。
また、本発明によれば、受信サーバは、受信クライアントからファイルの受信を放棄することを指示する受信放棄要求を受信して、受信放棄要求によって指示されたファイルの転送を停止し、送信クライアントがファイルを他の受信クライアントに同報していない場合に、または、同報している場合であっても他の受信クライアントに対するファイルの転送が完了している場合並びに他の受信クライアントから受信放棄要求を受信している場合に、ファイルを削除し、受信クライアントに対するファイルの転送を放棄したことを示す受信放棄完了通知を受信クライアントに送信し、受信放棄完了通知を受信クライアントに送信した後に受信クライアントからファイルの受信を要求するファイル受信要求を受信すると、受信クライアントに対するファイルの転送を拒否するファイル転送拒否通知を受信クライアントに送信し、受信クライアントは、受信放棄要求を受信サーバに送信し、受信サーバから受信放棄完了通知を受信すると、すでに受信したファイルを削除するので、複数の受信クライアントに同報されたメールについて、受信放棄を要求しない他の受信クライアントの受信状況などを判断してファイルを削除できることから、複数の受信クライアントに同報されたメールについて、複数のクライアント間の受信状況などを調整しながらファイルを管理することが可能になる。
以下に添付図面を参照して、この発明に係るファイル転送システム、ファイル転送プログラムおよびファイル転送方法の実施例を詳細に説明する。なお、以下では、実施例で用いる主要な用語、実施例1に係るファイル転送システムの概要および特徴、実施例1に係るファイル転送システムの構成および処理の手順、実施例1の効果を順に説明し、次に、他の実施例を説明する。
[用語の説明]
まず最初に、以下の実施例で用いる主要な用語を説明する。「ファイル転送システム」とは、ネットワークにおいてファイルの送受信を実現するシステムのことである。インターネットなどのネットワークにおいて、異なるネットワークに属するクライアント間でファイルを送受信する際には、送受信されるファイルは、ひとつまたは複数のサーバを経由して転送される。
ファイルが複数のサーバを経由する場合について具体的に説明すると、まず、ファイルを送信する「送信クライアント」が、最終的にファイルを受信する「受信クライアント」の宛先(ネットワーク上で受信クライアントを識別するための情報)を指定してファイルを送信する。すると、送信クライアントからファイルを最初に受信したサーバが、送信クライアントから受信クライアントに至るまでのルーティング情報(送信クライアントと受信クライアントとの間でデータを送受信する際に経由すべきサーバ等の経路情報)に基づいて、次のサーバにファイルを転送する。続いて、ファイルを転送された次のサーバが、同じく、ルーティング情報に基づいて、次のサーバにファイルを転送する。このように、送信クライアントから受信クライアント宛に送信されたファイルは、ルーティング情報に基づいて経由される複数のサーバによって順に転送され、最後に受信クライアントに転送されることで、受信クライアントが最終的にファイルを受信することになる。
なお、以下の実施例では、送信クライアントからファイルを最初に受信するサーバのことを「送信サーバ」と呼び、受信クライアントに最後にファイルを転送するサーバのことを「受信サーバ」と呼び、送信サーバと受信サーバとの間でファイルが経由するその他のサーバのことを「中継サーバ」と呼ぶ。また、送信サーバと受信サーバと中継サーバとを併せて、「転送サーバ」と呼ぶ。
ところで、上記のようなファイル転送の場面において、転送サーバは、他の転送サーバ(もしくは送信クライアント)からファイルを受信し、このファイルを次の転送サーバ(もしくは受信クライアント)に転送するので、受信したファイルを、転送サーバの記憶領域に一時的に蓄積しなければならない。ここで、ファイルの転送を開始するタイミングとして、転送サーバがファイルの全部を記憶領域に蓄積した状態で(ファイルの受信が完了した状態で)、次の転送サーバ(もしくは受信クライアント)にファイルの転送を開始する場合と、転送サーバがファイルの一部を記憶領域に蓄積した状態で(ファイルの受信が完了しない状態で)、次の転送サーバ(もしくは受信クライアント)にファイルの転送を開始する(ファイルの受信と転送とを並行して行う)場合とが考えられる。前者の場合には、転送サーバにおいて一時的にファイルを蓄積する記憶領域の空き領域が、転送するファイルの容量を上回って確保される必要があり、後者の場合には、転送するファイルの容量と比較して適切に確保される必要がある。
なお、このようなファイル転送システムにおいては、送信クライアントから受信クライアントに至るまでのルーティング情報が、ルーティングサーバから転送サーバに提供される場合と、ルーティングサーバによる提供によらず他の手段によって転送サーバに保持される場合とがある。以下の実施例においては、ルーティング情報がルーティングサーバから転送サーバに提供される場合を前提とするので、ファイル転送システムは、送信クライアントと、送信サーバと、ひとつの中継サーバと、受信サーバと、受信クライアントと、ルーティングサーバとで構成されるものとする。
[実施例1に係るファイル転送システムの概要および特徴]
続いて、図1を用いて、実施例1に係るファイル転送システムの概要および特徴を説明する。図1は、実施例1に係るファイル転送システムの概要および特徴を説明するための図である。
実施例1に係るファイル転送システムは、上記したように、送信クライアントからファイルを受信する送信サーバと、受信クライアントにファイルを送信する受信サーバと、送信サーバと受信サーバとの間でファイルが経由するひとつまたは複数の中継サーバとで構成され、送信クライアントから受信クライアントにファイルを転送することを概要とし、ファイルの転送失敗を防ぐことを主たる特徴とする。なお、以下では、送信クライアントから送信されたファイルが受信サーバに到達するまでの段階と、受信クライアントが受信サーバからファイルを受信する段階との2つの段階に分けて、実施例1に係るファイル転送システムの主たる特徴を説明する。
まず、送信クライアントから送信されたファイルが受信サーバに到達するまでの段階について説明すると、図1に示すように、実施例1における送信クライアント10は、ファイルの容量情報を送信サーバ41に送信する(図1の(1)を参照)。すると、送信サーバ41は、送信クライアント10から受信したファイルの容量情報と、ファイルを蓄積する記憶領域の空き領域とを比較して、ファイルの転送の許可を判断する(図1の(2)を参照)。
そして、送信サーバ41は、ファイルの転送を許可した場合に、ルーティングサーバ30に対してルーティング情報要求を送信する(図1の(3)を参照)。すると、ルーティングサーバ30は、要求されたルーティング情報を送信サーバ41に対して応答する(図1の(4)を参照)。次に、送信サーバ41は、中継サーバ42にファイルの容量情報を転送する(図1の(5)を参照)。
続いて、中継サーバ42は、送信サーバ41から受信したファイルの容量情報と、ファイルを蓄積する記憶領域の空き領域とを比較して、ファイルの転送の許可を判断する(図1の(6)を参照)。そして、中継サーバ42は、ファイルの転送を許可した場合に、受信サーバ43にファイルの容量情報を転送する(図1の(7)を参照)。
次に、受信サーバ43は、中継サーバ42から受信したファイルの容量情報と、ファイルを蓄積する記憶領域の空き領域とを比較して、ファイルの転送の許可を判断する(図1の(8)を参照)。そして、受信サーバ43は、ファイルの転送を許可した場合に、ファイルの転送を許可する転送許可情報を中継サーバ42に送信する(図1の(9)を参照)。
続いて、中継サーバ42は、受信サーバ43から受信した転送許可情報を、送信サーバ41に転送する(図1の(10)を参照)。次に、送信サーバ41は、中継サーバ42から受信した転送許可情報を、送信クライアント10に転送する(図1の(11)を参照)。
そして、送信クライアント10は、送信サーバ41から転送許可情報を受信した場合に、送信サーバ41にファイルを送信する(図1の(12)を参照)。続いて、送信サーバ41は、送信クライアント10から受信したファイルを、中継サーバ42に転送する(図1の(13)を参照)。そして、中継サーバ42は、送信サーバ41から受信したファイルを、受信サーバ43に転送する(図1の(14)を参照)。
こうして、送信クライアント10から送信されたファイルが受信サーバ43に到達するので、受信サーバ43は、受信クライアント20から送信されるファイルの受信要求に応じて、受信クライアント20にファイルを転送できる状態になる。
続いて、受信クライアントが受信サーバからファイルを受信する段階について説明すると、受信クライアント20は、受信クライアント20宛に送信されたファイルが受信サーバ43に到達しているかどうかを確認することを目的として、受信クライアント20宛に送信されたファイルのリストの取得を要求するファイルリスト取得要求を受信サーバ43に送信する(図1の(15)を参照)。すると、受信サーバ43は、受信クライアント20に送信可能なファイルリストを返却する(図1の(16)を参照)。続いて、受信クライアント20は、返却されたファイルリストに含まれるファイルについて、ファイルの受信を要求するファイルの受信要求を送信する(図1の(17)を参照)。すると、受信サーバ43は、要求されたファイルを受信クライアント20に送信する(図1の(18)を参照)。
なお、実施例1においては、送信クライアント10から送信されて受信サーバ43に到達したファイルを、受信クライアント20が要求して受信する(プル型)場合を説明したが、この発明はこれに限定されるものではなく、送信クライアント10から送信されたファイルが受信クライアント20の要求を待たずに転送される(プッシュ型)場合にも、この発明を同様に適用することができる。
このようなことから、実施例1に係るファイル転送システムは、送信クライアントにおいて、転送サーバにおけるファイル転送の許可を把握し、転送サーバにおける一時的なデータ蓄積可能容量に応じて、送信クライアントから転送サーバに向けてファイルを送信するので、ファイルの転送失敗を防ぐことが可能になる。
なお、実施例1に係るファイル転送システムは、上記の他に、ファイルの送受信状態に係る情報を保持、遷移、または取得することにも特徴がある。具体的には、送信クライアントおよび受信クライアントにおいて、ファイルの送受信状態に係る情報(例えば、「ファイル送信中」、「ファイル受信中断」など)を把握してファイルの送受信を制御することを目的として、送信クライアントおよび受信クライアントで検知したファイルの送受信状態に係る情報や、送信サーバや受信サーバで検知したファイルの送受信状態に係る情報を、中継サーバを含めてファイル転送システム全体で保持し、送受信状態の変化に応じて保持する情報を遷移させたり、必要に応じて情報を取得したりする。
また、実施例1に係るファイル転送システムは、上記の他に、ファイルの転送キャンセルに対応することにも特徴がある。具体的には、送信クライアントからファイルが送信された後に、送信クライアントから転送キャンセル要求が送信サーバに送信されると、送信サーバ、中継サーバ、受信サーバ、および受信クライアントにこの転送キャンセル要求が順に転送され、各サーバおよび受信クライアントにおいて、ファイルの転送停止やファイルの削除を行う。
また、実施例1に係るファイル転送システムは、上記の他に、ファイルの受信キャンセルに対応することにも特徴がある。具体的には、受信クライアントにおけるファイルの受信中もしくはファイルの受信中断中に、受信クライアントから受信キャンセル要求が受信サーバに送信されると、受信サーバにおいては、受信クライアントに対するファイルの転送を停止し、受信クライアントにおいては、ファイルの削除を行う。そして、再び、受信クライアントから受信サーバに対してファイルの受信要求が送信されると、受信サーバは、ファイルの先頭から転送を開始する。
また、実施例1に係るファイル転送システムは、上記の他に、ファイルの受信放棄に対応することにも特徴がある。具体的には、受信クライアントにおけるファイルの受信中、ファイルの受信中断中、もしくはファイルの受信キャンセル中に、受信クライアントから受信放棄要求が受信サーバに送信されると、受信サーバにおいては、受信クライアントに対するファイルの転送を停止し、所定の場合にファイルを削除し、受信クライアントにおいては、ファイルの削除を行う。そして、再び、受信クライアントから受信サーバに対してファイルの受信要求が送信されると、受信サーバは、ファイルの転送を拒否する通知を送信する。
[実施例1に係るファイル転送システムの構成]
続いて、図2〜図18を用いて、実施例1に係るファイル転送システムの構成を説明する。図2は、実施例1における送信クライアントおよび受信クライアントの構成を示すブロック図であり、図3は、入力部を説明するための図であり、図4は、容量情報送信部を説明するための図であり、図5は、ファイル送信部を説明するための図であり、図6および図7は、状態情報遷移部を説明するための図であり、図8は、状態情報取得部を説明するための図であり、図9は、転送キャンセル要求送信部を説明するための図であり、図10は、ファイル受信部を説明するための図であり、図11は、受信キャンセル要求送信部を説明するための図であり、図12は、受信放棄要求送信部を説明するための図であり、図13は、実施例1における転送サーバの構成を示すブロック図であり、図14は、ファイル管理情報記憶部を説明するための図であり、図15は、ルーティング情報を説明するための図であり、図16および図17は、容量情報転送部を説明するための図であり、図18は、状態情報転送部を説明するための図である。
[クライアントの構成]
まず、図2では、ファイルを送信する送信クライアントと、最終的にファイルを受信する受信クライアントとを、同じ端末で実現する(ひとつの端末が送信クライアントの機能および受信クライアントの機能の双方を備える)ことを前提とし、このような端末を「クライアント」と呼ぶことにする。図2に示すように、実施例1におけるクライアント100は、入力部110と、出力部120と、入出力制御IF部130と、ネットワーク通信部140と、記憶部200と、制御部300とから構成される。
入力部110は、制御部300による各種処理に用いるデータや、各種処理をするための操作指示などを、キーボード、マウス、または記憶媒体などによって入力する手段である。具体的には、入力部110は、クライアント100によって他のクライアントに送信されるファイルを入力し、後述するファイル記憶部210に記憶させる。また、入力部110は、クライアント100によって実行される転送キャンセル要求送信や、受信キャンセル要求送信や、受信放棄要求送信などの操作指示を入力する。例えば、入力部110は、図3に示すような、出力部120によってモニタに出力されたファイル転送プログラムを実行するソフトウェアの画面において、『送信ファイル名』や『受信ユーザアドレス』のボックスに、クライアント100によって送信されるファイル名や受信クライアントの宛先などをキーボードによって入力し、『中断』、『再開』、『キャンセル』、『放棄』、または、『送信』などのアイコンをマウスによってクリックすることで操作指示を入力する。なお、図3において、一部のアイコンが網掛けされているが、これは、これらの操作指示に対する入力を受け付けられない状態であることを示す。
出力部120は、制御部300による各種処理の結果や、各種処理をするための操作指示などを、モニタ、またはプリンタなどに出力する手段である。具体的には、出力部120は、クライアント100によって受信され、後述するファイル記憶部210に記憶されたファイルを、モニタやプリンタなどに出力する。また、出力部120は、クライアント100によって実行される転送キャンセル要求送信や、受信キャンセル要求送信や、受信放棄要求送信などの操作指示を、入力部110によって入力させるための画面を出力する。例えば、出力部120は、図3に示すような、ファイル転送プログラムを実行するソフトウェアの画面をモニタに出力する。
ここで、ファイル転送プログラムをクライアント100において実行するソフトウェアの画面について具体的に説明すると、実施例1におけるクライアント100は、送信クライアントの機能および受信クライアントの機能の双方を備えるクライアントであるので、図3に示すように、ソフトウェアの画面において、『送信の部』および『受信の部』の双方が出力されている。また、実施例1におけるクライアント100は、後述する状態情報処理部312および状態情報処理部322によってファイルの送受信状態に係る情報を取得するなどするので、図3に示すように、ソフトウェアの画面において、『送信状態』および『受信状態』などが出力されている。さらに、実施例1におけるクライアント100は、後述する転送キャンセル処理部313、転送キャンセル処理部323、受信キャンセル処理部324、および受信放棄処理部325によって各種処理を行うので、図3に示すように、ソフトウェアの画面において、各種処理に対応するアイコンが出力されている。
入出力制御IF部130は、入力部110および出力部120と、ネットワーク通信部140と、記憶部200および制御部300との間におけるデータ転送を制御する手段である。
ネットワーク通信部140は、クライアント100が、後述する転送サーバ400やその他のネットワーク上の装置にネットワークを介して接続され、アクセスするための通信を行う手段である。具体的には、ネットワーク通信部140は、パソコンなどに搭載されたLANボード(Local Area Networkボード)などによって通信を行い、クライアント100によるファイルの容量情報送信や、ファイルの送受信などを行う。
記憶部200は、制御部300による各種処理に用いるデータを記憶する手段であり、特に本発明に密接に関連するものとしては、図2に示すように、ファイル記憶部210と、ファイル管理情報記憶部220と、状態情報保持部230とを備える
かかる記憶部200のなかで、ファイル記憶部210は、クライアント100が送受信するファイルを記憶する手段である。具体的には、ファイル記憶部210は、入力部110によって入力されたファイルをハードディスクなどに記憶し、記憶したファイルは、後述するファイル送信部311bによるファイル送信処理などに利用される。また、ファイル記憶部210は、ネットワーク通信部140によって受信されたファイルを記憶し、記憶したファイルは、出力部120によって出力されるなどする。例えば、図3において送信の部に出力されている「test1.mpg」、「test2.zip」、「test0.tar」や、受信の部に出力されている「test000.pdf」は、ファイル記憶部210が記憶するファイルのファイル名である。
ファイル管理情報記憶部220は、クライアント100が送受信するファイルを管理するための情報を記憶する手段である。具体的には、ファイル管理情報記憶部220は、ファイル記憶部210が記憶するファイルの管理情報(例えば、ファイル名、ファイルサイズなど)をRDBMS(Relational DataBase Management System)などで記憶し、記憶したファイルの管理情報は、後述する容量情報送信部311aによる容量情報送信処理などに利用される。例えば、ファイル管理情報記憶部220は、ファイル記憶部210が記憶するファイルのファイル名が「test1.mpg」であり、ファイルサイズが「10MB」である場合には、「test1.mpg」と「10MB」とを対応づけて記憶し、クライアント100によって「test1.mpg」が送信される際に、記憶した「10MB」の情報は、容量情報送信部311aによって利用される。
状態情報保持部230は、クライアント100が送受信するファイルの送受信状態に係る情報を保持する手段である。具体的には、状態情報保持部230は、後述する状態情報処理部312または状態情報処理部322によって遷移もしくは取得されたファイルの送受信状態に係る情報を保持し、保持した情報は、後述する転送キャンセル処理部323による転送キャンセル処理や、受信キャンセル処理部324による受信キャンセル処理や、受信放棄処理部325による受信放棄処理などに利用される。また、状態情報保持部230は、保持した情報を、出力部120によって出力される。例えば、状態情報保持部230が記憶する送受信状態に係る情報は、図3に示すように、ソフトウェアの画面において、『送信状態』および『受信状態』の欄に表示される。なお、送受信状態に係る情報の具体的な説明については、状態情報処理部312の説明において詳述する。
制御部300は、クライアント100を制御して各種処理を実行する手段であり、特に本発明に密接に関連するものとしては、図2に示すように、送信処理部310と受信処理部320とを備える。なお、送信処理部310は、クライアント100が送信クライアントとして機能する際に利用される処理部であり、受信処理部320は、クライアント100が受信クライアントとして機能する際に利用される処理部である。
かかる制御部300のなかで、送信処理部310は、クライアント100がファイルを送信する手段であり、ファイル送信処理部311と、状態情報処理部312と、転送キャンセル処理部313とを備える。
ここで、ファイル送信処理部311の構成について説明すると、ファイル送信処理部311は、クライアント100がファイルを送信する手段であり、図2に示すように、容量情報送信部311aと、ファイル送信部311bとを備える。なお、容量情報送信部311aは、特許請求の範囲に記載の「容量情報送信手段」に対応し、ファイル送信部311bは、特許請求の範囲に記載の「ファイル送信手段」に対応する。
容量情報送信部311aは、クライアント100によって行われるファイル送信処理において、ファイルの容量情報を送信サーバに送信する手段である。具体的には、容量情報送信部311aは、ファイル記憶部210によって記憶されるファイルを送信する前に、ファイル管理情報記憶部220によって記憶される送信対象のファイルのファイル容量情報を、送信サーバに送信する。例えば、容量情報送信部311aは、図4に示すような要求メッセージを送信サーバに送信する。
ここで、図4に示す要求メッセージについて説明すると、「RequestFileTransfer」は、これからクライアント100がファイルの送信(転送)を行いたい旨を、送信サーバに伝えるためのメッセージである。また、「Sender=user1@domain1」は、クライアント100のアドレス(ネットワーク上でクライアント100を識別するための情報)であり、ドメイン名「domain1」に属するユーザ名「user1」であることを示している。また、「Receiver=user2@domain2」は、最終的にファイルを受信するクライアントのアドレスであり、ドメイン名「domain2」に属するユーザ名「user2」であることを示している。また、「Filename=test.mpg」は、送信対象のファイルのファイル名が「test.mpg」であることを示している。また、「Filesize=10MB」は、送信対象のファイルの容量が10MBであることを示している。
このように、実施例1における容量情報送信部311aは、送信対象のファイルの容量情報と共に、送信クライアントのアドレス、受信クライアントのアドレス、送信対象のファイルのファイル名も送信する。なお、容量情報送信部311aによって送信された要求メッセージを受信した送信サーバは、図4に示すように、応答メッセージとして、「OK ReqestFile Transfer」を応答する。
ファイル送信部311bは、クライアント100によって行われるファイル送信処理において、送信サーバにファイルを送信する手段である。具体的には、ファイル送信部311bは、送信サーバからファイルの転送を許可する転送許可情報を受信した場合に、ファイル記憶部210に記憶するファイルを送信サーバに送信する。例えば、ファイル送信部311bは、図5に示すような要求メッセージを送信サーバに送信する。
ここで、図5に示す要求メッセージについて説明すると、「FileTransfer」は、これからクライアント100がファイルの送信(転送)を行う旨を、送信サーバに伝えるためのメッセージである。また、「(以下転送対象ファイル)」は、送信対象のファイルの具体的なデータを示す。なお、ファイル送信部311bによって送信された要求メッセージを受信した送信サーバは、図5に示すように、応答メッセージとして、「OK File Transfer」を応答する。
状態情報処理部312の構成について説明すると、状態情報処理部312は、クライアント100がファイルの送受信状態に係る情報を遷移または取得する手段であり、図2に示すように、状態情報遷移部312 aと、状態情報取得部312bとを備える
状態情報遷移部312aは、クライアント100が送信するファイルの送信状態を検知して、送受信状態に係る情報を遷移させる手段である。具体的には、状態情報遷移部312aは、ファイルの送信状態を検知して、状態情報保持部230によって保持される送受信状態に係る情報を遷移させる。
ここで、図6および図7を用いて、実施例1における状態情報について説明する。状態情報としては、ファイルの送信状態とファイルの受信状態の2種類がある。図6の(A)および図7の(A)が、ファイルの送信状態の遷移を示している。まず、図6の(A)をみると、「初期状態」、「ファイル送信中(Sending)」、「ファイル送信中断(SendingSuspend)」、「送信サーバまでファイル送信完了(FileAccepted)」、および「受信サーバまでファイル送信完了(ReceiveEnable)」の送信状態がある。
「初期状態」は、クライアント100がファイルの送信を開始する前の状態であり、クライアント100において何も実行されていない状態や、容量情報送信部311aによって容量情報が送信サーバに送信されている状態などが考えられる。「ファイル送信中(Sending)」は、クライアント100によって送信サーバにファイルが送信されている状態である。「ファイル送信中断(SendingSuspend)」は、クライアント100によって送信サーバにファイルの送信が開始されたが、送信サーバにおいてファイル全部が受信される前に、ファイルの送信が中断されている状態である。中断の原因としては、ネットワーク障害や、クライアント100による自発的な中断などが考えられる。「送信サーバまでファイル送信完了(FileAccepted)」は、クライアント100によって送信されたファイル全部が送信サーバにおいて受信された状態である。「受信サーバまでファイル送信完了(ReceiveEnable)」は、クライアント100によって送信されたファイル全部が受信サーバにおいて受信された状態である。
これらの送信状態のうち、状態情報遷移部312aが検知するのは、「初期状態」、「ファイル送信中(Sending)」、「ファイル送信中断(SendingSuspend)」、および「送信サーバまでファイル送信完了(FileAccepted)」の送信状態である(「受信サーバまでファイル送信完了(ReceiveEnable)」の送信状態については検知することができない)。
図6の(A)に示すように、状態情報遷移部312aは、例えば、ファイル送信部311bによってファイルの送信が開始されたことを検知すると、状態情報保持部230によって保持されている送信状態に係る状態情報を、「初期状態」から「ファイル送信中(Sending)」に遷移させる。また、状態情報遷移部312aは、例えば、「ファイル送信中(Sending)」に送信中断されたことを検知すると、状態情報保持部230によって保持されている送信状態に係る状態情報を、「ファイル送信中(Sending)」から「ファイル送信中断(SendingSuspend)」に遷移させ、送信再開されたことを検知すると、「ファイル送信中断(SendingSuspend)」から「ファイル送信中(Sending)」に遷移させる。また、状態情報遷移部312aは、例えば、「ファイル送信中(Sending)」に送信サーバまで送信完了したことを検知すると、状態情報保持部230によって保持されている送信状態に係る状態情報を、「ファイル送信中(Sending)」から「送信サーバまでファイル送信完了(FileAccepted)」に遷移させる。
同様に、図7の(A)をみると、「初期状態」、「ファイル送信中(Sending)」、「ファイル送信中断(SendingSuspend)」、「送信サーバまでファイル送信完了(FileAccepted)」、および「受信サーバまでファイル送信完了(ReceiveEnable)」の送信状態の他に、「転送キャンセル(SendingCancel)」の送信状態がある。「転送キャンセル(SendingCancel)」は、後述する転送キャンセル要求送信部313aによって転送キャンセル情報が送信された状態である。そして、状態情報遷移部312aは、例えば、クライアント100から送信サーバにファイルが送信されている途中などに転送キャンセルされたことを検知すると、状態情報保持部230によって保持されている送信状態に係る状態情報を、「ファイル送信中(Sending)」から「転送キャンセル(SendingCancel)」に遷移させる。
なお、実施例1においては、「初期状態」、「ファイル送信中(Sending)」、「ファイル送信中断(SendingSuspend)」、「送信サーバまでファイル送信完了(FileAccepted)」、および「受信サーバまでファイル送信完了(ReceiveEnable)」の送信状態や、この他に「転送キャンセル(SendingCancel)」の送信状態について、送信状態情報を遷移または取得させる場合を説明したが、この発明はこれに限定されるものではなく、例えば、「容量情報送信中」などの送信状態についても遷移または取得するなど、その他の送信状態を含む場合や、あるいは、一部の送信状態について省略する場合など、いずれでもよい。
状態情報取得部312bは、送受信状態に係る情報を、送信サーバに要求して取得する手段である。具体的には、状態情報取得部312bは、送信サーバにおける状態情報保持部において保持されている状態情報を要求して取得する。例えば、状態情報取得部312bは、図8に示すような要求メッセージを送信サーバに送信する。
ここで、図8に示す要求メッセージについて説明すると、「GetStatus」は、状態情報取得部312bが状態情報の取得する旨を、送信サーバに伝えるためのメッセージである。図8に示すように、状態情報の取得は、「FileList=test100.zip,test200.mp3」と送受信状態に係る情報を取得したいファイル名を指定して行われる。一方、状態情報取得部312bによって送信された要求メッセージを受信した送信サーバは、図8に示すように、応答メッセージとして、「OK GetStatus」を応答する他に、「StatusList=(test100.zip,Receive Enable, Receiving),(test200.mp3,ReceiveEnable,ReceiveSuspend)」と応答する。なお、「test100.zip」は、送信状態として「受信サーバまでファイル送信完了(ReceiveEnable)」にあり、受信状態として「受信クライアントがファイル受信中(Receiving)」にあることを示している。また、「test200.mp3」は、送信状態として「受信サーバまでファイル送信完了(ReceiveEnable)」にあり、受信状態として「ファイル受信中断(ReceivingSuspend)」にあることを示している。
転送キャンセル処理部313の構成について説明すると、転送キャンセル処理部313は、クライアント100が送信したファイルの転送をキャンセルする手段であり、図2に示すように、転送キャンセル要求送信部313aを備える。なお、転送キャンセル要求送信部313aは、特許請求の範囲に記載の「転送キャンセル要求送信手段」に対応する。
転送キャンセル要求送信部313aは、ファイルの転送をキャンセルすることを指示する転送キャンセル要求を、送信サーバに送信する手段である。具体的には、転送キャンセル要求送信部313aは、ファイル送信部311bによって送信されたファイルが、受信クライアントにおいて受信完了する前に、受信クライアントに対するファイルの転送をキャンセルするためのメッセージを送信サーバに送信する。例えば、転送キャンセル要求送信部313aは、図9に示すような要求メッセージを送信サーバに送信する。
ここで、図9に示す要求メッセージについて説明すると、「CancelFileTransfer」は、クライアント100がファイルの転送をキャンセルする旨を、送信サーバに伝えるためのメッセージである。また、「Filename=test1.mpg」は、転送をキャンセルする対象のファイルのファイル名である。すなわち、「test1.mpg」の転送をキャンセルすることを指示している。
また、かかる制御部300のなかで、受信処理部320は、クライアント100がファイルを受信する手段であり、ファイル受信部321と、状態情報処理部322と、転送キャンセル処理部323と、受信キャンセル処理部324と、受信放棄処理部325とを備える。
ここで、ファイル受信部321は、クライアント100によって行われるファイルの受信処理において、ファイルを受信サーバから受信する手段である。具体的には、ファイル受信部321は、ネットワーク通信部140によって受信サーバからファイルを受信し、ファイル記憶部210に記憶させる。例えば、ファイル受信部321は、図10に示すような要求メッセージを受信サーバに送信する。
ここで、図10に示す要求メッセージについて説明すると、まず、図10の(A)に示す「RequestFileList」は、クライアント100宛に送信されたファイルが受信サーバに到達しているかどうかを確認するため、クライアント100宛に送信されたファイルのリストの取得を要求するメッセージである。一方、ファイル受信部321によって送信された要求メッセージを受信した受信サーバは、図10の(A)に示すように、応答メッセージとして、「OK RequestFileList」を応答する他に、「FileList=test100.zip,test200.mp3」と応答する。すなわち、クライアント100宛に送信されたファイルとして、「test100.zip」および「test200.mp3」が受信サーバに到達していることを示している。
次に、ファイル受信部321は、返却されたファイルリストに含まれるファイルについて、ファイルの受信を要求するファイルの受信要求を送信する。図10の(B)に示す「ReceiveFile」は、ファイルの受信を希望する旨を、受信サーバに伝えるメッセージである。また、「Filename=test100.zip」は、ファイル名「test100.zip」のファイルの受信を希望することを示している。一方、ファイル受信部321によって送信された要求メッセージを受信した受信サーバは、図10の(B)に示すように、応答メッセージとして、「OK ReceiveFile」を応答する。また、「(以下転送対象ファイル)」は、受信対象のファイルの具体的なデータを示す。
状態情報処理部322の構成について説明すると、状態情報処理部322は、クライアント100において状態情報を処理する手段であり、図2に示すように、状態情報遷移部322aと、状態情報取得部322bとを備える
状態情報遷移部322aは、クライアント100が受信するファイルの受信状態を検知して、送受信状態にかかる情報を遷移させる手段である。具体的には、ファイルの受信状態を検知して、状態情報保持部230によって保持される送受信状態に係る情報を遷移させる。
ここで、図6および図7を用いて、実施例1における受信状態に係る状態情報について説明する。図6の(B)および図7の(B)が、ファイルの受信状態の遷移を示している。まず、図6の(B)をみると、「初期状態」、「受信クライアントがファイル受信中(Receiving)」、「ファイル受信中断(ReceivingSuspend)」、および「ファイル受信完了(Received)」の受信状態がある。
「初期状態」は、クライアント100がファイルの受信を開始する前の状態であり、クライアント100において何も実行されていない状態や、ファイル受信部321によって受信サーバにファイルのリストの取得が要求されている状態などが考えられる。「受信クライアントがファイル受信中(Receiving)」は、クライアント100によって受信サーバからファイルが受信されている状態である。「ファイル受信中断(ReceivingSuspend)」は、クライアント100によって受信サーバからファイルの受信が開始されたが、クライアント100においてファイル全部が受信される前に、ファイルの受信が中断されている状態である。中断の原因としては、ネットワーク障害や、クライアント100による自発的な中断などが考えられる。「ファイル受信完了(Received)」は、クライアント100によって、受信サーバからファイル全部が受信された状態である。これらの受信状態すべてを、状態情報遷移部322aは検知する。
図6の(B)に示すように、状態情報遷移部322aは、例えば、ファイル受信部321によってファイルの受信が開始されたことを検知すると、状態情報保持部230によって保持されている受信状態に係る状態情報を、「初期状態」から「受信クライアントがファイル受信中(Receiving)」に遷移させる。また、状態情報遷移部322aは、例えば、「受信クライアントがファイル受信中(Receiving)」に受信中断されたことを検知すると、状態情報保持部230によって保持されている受信状態に係る状態情報を、「受信クライアントがファイル受信中(Receiving)」から「ファイル受信中断(ReceivingSuspend)」に遷移させ、受信再開されたことを検知すると、「ファイル受信中断(ReceivingSuspend)」から「受信クライアントがファイル受信中(Receiving)」に遷移させる。また、状態情報遷移部322aは、例えば、「受信クライアントがファイル受信中(Receiving)」にクライアント100において受信完了したことを検知すると、状態情報保持部230によって保持されている受信状態に係る情報を、「受信クライアントがファイル受信中(Receiving)」から「ファイル受信完了(Received)」に遷移させる。
同様に、図7の(B)をみると、「初期状態」、「受信クライアントがファイル受信中(Receiving)」、「ファイル受信中断(ReceivingSuspend)」、および「ファイル受信完了(Received)」の受信状態のほかに、「受信キャンセル(ReceivingCancel)」および「受信放棄(ReceivingRenounce)」の受信状態がある。「受信キャンセル(ReceivingCancel)」は、後述する受信キャンセル要求送信部324aによって受信キャンセル情報が送信された状態である。そして、状態情報遷移部322aは、例えば、クライアント100が受信サーバからファイルを受信している途中に受信キャンセルされたことを検知すると、状態情報保持部230によって保持されている受信状態に係る状態情報を、「受信クライアントがファイル受信中(Receiving)」から「受信キャンセル(ReceivingCancel)」に遷移させる。
なお、実施例1においては、「初期状態」、「受信クライアントがファイル受信中(Receiving)」、「ファイル受信中断(ReceivingSuspend)」、および「ファイル受信完了(Received)」の受信状態や、この他に「受信キャンセル(ReceivingCancel)」、および「受信放棄(ReceivingRenounce)」の受信状態について、受信状態情報を遷移または取得させる場合を説明したが、この発明はこれに限定されるものではなく、例えば、「ファイルリスト送信中」などの受信状態についても遷移または取得するなど、その他の受信状態を含む場合や、あるいは、一部の受信状態について省略する場合など、いずれでもよい。
状態情報取得部322bは、送受信状態に係る情報を、受信サーバに要求して取得する手段である。具体的には、状態情報取得部322bは、受信サーバにおける状態情報保持部において保持されている状態情報を要求して取得する。例えば、状態情報取得部322bは、送信処理部310における状態情報取得部312bと同様に、図8に示すような要求メッセージを送信サーバに送信する。
転送キャンセル処理部323の構成について説明すると、転送キャンセル処理部323は、クライアント100においてファイル全部が受信される前に送信クライアントによってファイルの転送がキャンセルされた場合に、クライアント100において転送キャンセルの処理を行う手段であり、図2に示すように、ファイル削除部323aと、削除完了通知送信部323bとを備える。なお、ファイル削除部323aは、特許請求の範囲に記載の「第一のファイル削除手段」に対応する。
ファイル削除部323aは、受信サーバから受信した転送キャンセル要求によって指示されたファイルを削除する手段である。具体的には、ファイル削除部323aは、送信クライアントからクライアント100宛に送信されたファイルで、クライアント100においてファイル全部が受信される前であれば、受信サーバから転送キャンセル要求によって指示されたファイルを削除する。例えば、ファイル削除部323aは、送信クライアントから送信された図10に示すような転送キャンセル要求を受信サーバから受信すると、ファイル記憶部210もしくは図示しない一時的な記憶領域上に記憶されたファイル名「test1.mpg」のファイルを削除する。削除完了通知送信部323bは、ファイルの削除がクライアント100において完了したことを示す削除完了通知を、受信サーバに送信する手段である。
受信キャンセル処理部324の構成について説明すると、受信キャンセル処理部324は、受信サーバからのファイルの受信をキャンセルする手段であり、図2に示すように、受信キャンセル要求送信部324aと、ファイル削除部324bとを備える。なお、受信キャンセル要求送信部324aは、特許請求の範囲に記載の「受信キャンセル要求送信手段」に対応し、ファイル削除部324bは、「第二のファイル削除手段」に対応する。
受信キャンセル要求送信部324aは、ファイルの受信をキャンセルすることを指示する受信キャンセル要求を、受信サーバに送信する手段である。具体的には、受信キャンセル要求送信部324aは、ファイル受信部321によって受信されたファイルが、受信クライアントにおいて受信完了する前(受信中もしくは受信中断中)に、受信サーバからのファイルの受信をキャンセルするためのメッセージを受信サーバに送信する。例えば、受信キャンセル要求送信部324aは、図11に示すような要求メッセージを受信サーバに送信する。
ここで、図11に示す要求メッセージについて説明すると、「CancelReceiving」は、クライアント100がファイルの受信をキャンセルする旨を、受信サーバに伝えるためのメッセージである。また、「Filename=test1.mpg」は、受信をキャンセルする対象のファイルのファイル名である。すなわち、ファイル名「test1.mpg」のファイルの受信をキャンセルすることを指示している。
ファイル削除部324bは、受信サーバにおいてファイルの転送を停止したことを示す受信キャンセル完了通知を受信サーバから受信すると、すでに受信したファイルを削除する手段である。具体的には、ファイル削除部324bは、受信サーバからクライアント100に送信されているファイルで、クライアント100においてファイル全部が受信される前であれば、受信キャンセル要求によって指示したファイルを削除する。例えば、ファイル削除部324bは、受信キャンセル要求送信部324aにおいて、図11に示すような受信キャンセル要求を受信サーバに送信し、受信サーバから受信キャンセル完了通知を受信すると、ファイル名「test1.mpg」のファイルを削除する。
受信放棄処理部325の構成について説明すると、受信放棄処理部325は、受信サーバからのファイルの受信を放棄する手段であり、図2に示すように、受信放棄要求送信部325aと、ファイル削除部325bとを備える。なお、受信放棄要求送信部325aは、特許請求の範囲に記載の「受信放棄要求送信手段」に対応し、ファイル削除部325bは、特許請求の範囲に記載の「第三のファイル削除手段」に対応する。
受信放棄要求送信部325aは、ファイルの受信を放棄することを指示する受信放棄要求を、受信サーバに送信する手段である。具体的には、受信放棄要求送信部325aは、ファイル受信部321によって受信されたファイルが、受信クライアントにおいて受信完了する前(受信中、受信中断中もしくは受信キャンセル中)に、受信サーバからのファイルの受信を放棄するためのメッセージを受信サーバに送信する。例えば、受信放棄要求送信部325aは、図12に示すような要求メッセージを受信サーバに送信する。
ここで、図12に示す要求メッセージについて説明すると、「RenounceReceiving」は、クライアント100がファイルの受信を放棄する旨を、受信サーバに伝えるためのメッセージである。また、「Filename=test1.mpg」は、受信を放棄する対象のファイルのファイル名である。すなわち、ファイル名「test1.mpg」のファイルの受信を放棄することを指示している。
ファイル削除部325bは、受信サーバにおいてクライアント100に対するファイルの転送を放棄したことを示す受信放棄完了通知を受信サーバから受信すると、すでに受信したファイルを削除する手段である。具体的には、ファイル削除部325bは、受信サーバからクライアント100に送信されているファイルで、クライアント100においてファイル全部が受信される前であれば、受信放棄要求によって指示したファイルを削除する。例えば、ファイル削除部325bは、受信放棄要求送信部325aにおいて図12に示すような受信放棄要求を受信サーバに送信し、受信サーバから受信放棄完了通知を受信すると、ファイル名「test1.mpg」のファイルを削除する。
[転送サーバの構成]
次に、図13では、送信クライアントからファイルを受信する送信サーバと、受信クライアントにファイルを送信する受信サーバと、送信サーバと受信サーバとの間でファイルが経由する中継サーバとを同じ端末で実現する(ひとつの端末が、送信サーバになることも、受信サーバになることも、中継サーバになることもある)ことを前提とし、このような端末を「転送サーバ」と呼ぶことにする。図13に示すように、実施例1における転送サーバ400は、ネットワーク通信部410と、記憶部500と、制御部600とから構成される。
ネットワーク通信部410は、転送サーバ400が、クライアント100やその他のネットワーク上の装置にネットワークを介して接続され、アクセスするための通信を行う手段である。具体的には、ネットワーク通信部410は、パソコンなどに搭載されたLANボードなどによって通信を行い、転送サーバ400によるファイルの容量情報転送や、ファイルの転送などを行う。
記憶部500は、制御部600による各種処理に用いるデータを記憶する手段であり、特に本発明に密接に関連するものとしては、図13に示すように、ファイル記憶部510と、ファイル管理情報記憶部520 と、状態情報保持部530とを備える
かかる記憶部500のなかで、ファイル記憶部510は、転送サーバ400が転送するファイルを記憶する手段である。具体的には、ファイル記憶部510は、ネットワーク通信部410によってクライアント100もしくは他の転送サーバから受信したファイルをハードディスクなどに記憶し、記憶したファイルは、後述するファイル転送部615によるファイル転送処理などに利用される。
ファイル管理情報記憶部520は、転送サーバ400が転送するファイルを管理するための情報を記憶する手段である。具体的には、ファイル管理情報記憶部520は、ファイル記憶部510が記憶するファイルの管理情報(例えば、ファイル名、ファイルサイズなど)をRDBMSなどで記憶し、記憶したファイルの管理情報は、後述する容量情報転送部612による容量情報転送処理などに利用される。例えば、ファイル管理情報記憶部520は、図14に示すような管理情報を記憶している。ここで、図14について説明すると、ファイル記憶部510が記憶するファイルのファイル名として、「test1.mpg」および「test2.zip」が記憶されている。また、例えば、「test1.mpg」について、ファイルサイズが10MBであること、ルーティング情報が「server1、server2、server3」であること、送信ユーザアドレスが「user1@domain1」であること、受信ユーザアドレスが「user2@domain2」であることが対応づけられて記憶されている。
ここで、ルーティング情報について説明すると、実施例1における転送サーバ400は、ルーティング情報(送信クライアントと受信クライアントとの間でデータを送受信する際に経由すべきサーバ等の経路情報)が、ルーティングサーバから転送サーバ400に提供される場合を前提とする。このため、実施例1において、ルーティングサーバは、図15に示すようなルーティング情報を保持している。
例えば、図15に示す1行目のルーティング情報をみると、送信ユーザドメインが「domain1」と示され、受信ユーザドメインが「domain2」と示され、経由サーバリストが「server1,server2,server3」のように送信ユーザドメインに近い方から順にカンマ区切りで示されている。これは、所属するドメインが「domain1」である送信クライアントから、所属するドメインが「domain2」である受信クライアントに送信されたデータは、「server1」、「server2」、「server3」の順でサーバを経由して転送されるべきであり、「server3」が受信クライアントの収容されているサーバ(受信クライアントにファイルを送信するサーバ)であることを意味している。ファイル管理情報記憶部520は、このようなルーティングサーバから提供されるルーティング情報を、図14に示すように、転送対象となるファイルと対応づけて記憶する。
図13に戻ると、状態情報保持部530は、クライアント100が送受信するファイルの送受信状態に係る情報を保持する手段である。具体的には、状態情報保持部530は、後述する状態情報遷移部621および状態情報転送部623によって遷移もしくは転送されたファイルの送受信状態に係る情報を保持し、保持した情報は、後述する状態情報送信部622による状態情報送信処理に利用される。また、状態情報保持部530に保持された送受信状態に係る情報は、図14に示すように、例えば、「test1.mpg」について、送信状態に係る情報が「ReceiveEnable(受信サーバまでファイル送信完了)」であること、受信状態に係る情報が「Receiving(受信クライアントがファイル受信中)」であることが対応づけられて保持されている。なお、図14においては、ファイル管理情報記憶部520によって記憶される情報と、状態情報保持部530によって保持される情報とが、同じテーブルに記憶されている構成を説明したが、別々のテーブルがRDBMSによって連携されている構成など、いずれの構成でもよい。
制御部600は、転送サーバ400を制御して各種処理を実行する手段であり、特に本発明に密接に関連するものとしては、図13に示すように、ファイル転送処理部610と、状態情報処理部620と、転送キャンセル処理部630と、受信キャンセル処理部640と、受信放棄処理部650とを備える。
かかる制御部600のなかで、ファイル転送処理部610は、転送サーバ400がファイルを転送する手段であり、判断部611と、容量情報転送部612と、転送許可情報送信部613と、転送許可情報転送部614と、ファイル転送部615とを備える。なお、判断部611は、特許請求の範囲に記載の送信サーバの「判断手段」と中継サーバの「判断手段」と受信サーバの「判断手段」とに対応する。また、容量情報転送部612は、特許請求の範囲に記載の送信サーバの「容量情報送信手段」と中継サーバの「容量情報送信手段」とに対応する。また、転送許可情報送信部613は、特許請求の範囲に記載の受信サーバの「転送許可情報送信手段」に対応する。また、転送許可情報転送部614は、特許請求の範囲に記載の送信サーバの「転送許可情報転送手段」と中継サーバの「転送許可情報転送手段」とに対応する。また、ファイル転送部615は、特許請求の範囲に記載の送信サーバの「ファイル転送手段」と中継サーバの「ファイル転送手段」に対応する。
判断部611は、クライアント100から受信したファイルの容量情報とファイルを蓄積する記憶領域の空き領域とを比較して、ファイルの転送の許可を判断する手段である。具体的には、判断部611は、転送サーバ400が送信サーバとして機能する際には、クライアント100から受信したファイルの容量情報とファイルを蓄積する記憶領域の空き領域とを比較して、ファイルの転送の許可を判断する。
例えば、判断部611は、(仮想的に定めた記憶領域の最大値)−((転送サーバに記録されている過去に受信したファイルの容量情報の総和)−(転送サーバに記録されている過去に転送し既に記憶領域から削除されたファイルの容量情報の総和))を計算する。すなわち、判断部611は、ファイル管理情報記憶部520に記憶されている全ファイルの容量情報の総和(S1とする)と、受信状態が「ファイル受信完了」になっているファイルの容量情報の総和(S2とする)とを計算し、転送サーバの記憶領域として利用可能な仮想的な容量情報の上限(Suとする)と、ファイル転送要求に含まれる転送対象ファイルのサイズ(Sfとする)とを用いて、式(Sf≦Su−(S1−S2))が真であるかを評価し、真であれば、ファイルの転送の許可を判断する。
なお、実施例1においては、ファイルの転送を開始するタイミングとして、転送サーバがファイルの全部を記憶領域に蓄積した状態で(ファイルの受信が完了した状態で)、次の転送サーバにファイルの転送を開始する場合を説明したが、この発明はこれに限定されるものではなく、転送サーバ400がファイルの一部を記憶領域に蓄積した状態で(ファイルの受信が完了しない状態で)、次の転送サーバ400(もしくはクライアント100)にファイルの転送を開始する(ファイルの受信と転送とを並行して行う)場合にも、この発明を同様に適用することができ、この場合には、転送するファイルの容量情報とファイルを蓄積する記憶領域の空き領域とを比較して、記憶領域の空き領域を適切に確保できればよい。
また、判断部611は、転送サーバ400が中継サーバとして機能する際には、クライアント100側の中継サーバもしくは送信サーバから受信したファイルの容量情報とファイルを蓄積する記憶領域とを比較して、送信サーバとして機能する場合と同様に、ファイルの転送の許可を判断する。また、判断部611は、転送サーバ400が受信サーバとして機能する場合には、中継サーバから受信したファイルの容量情報とファイルを蓄積する記憶領域の空き領域とを比較して、送信サーバとして機能する場合や中継サーバとして機能する場合と同様に、ファイルの転送の許可を判断する。
容量情報転送部612は、判断部611によってファイルの転送が許可された場合に、受信クライアント側の他の転送サーバにファイルの容量情報を転送する手段である。具体的には、容量情報転送部612は、転送サーバ400が送信サーバとして機能する際には、判断部611によってファイルの転送が許可された場合に、まず、ルーティングサーバからルーティング情報を取得し、次に、中継サーバにファイルの容量情報を転送する。例えば、容量情報転送部612は、図16に示すような要求メッセージを、ルーティングサーバに送信する。
ここで、図16に示す要求メッセージについて説明すると、「GetRoutingInfo」は、転送サーバ400がルーティング情報を要求する旨を、ルーティングサーバに伝えるためのメッセージである。また、「Sender=user1@domain1」は、ファイルを送信するクライアントのアドレス(ネットワーク上でクライアントを識別するための情報)であり、ドメイン名「domain1」に属するユーザ名「user1」であることを示している。また、「Receiver=user2@domain2」は、最終的にファイルを受信するクライアントのアドレスであり、ドメイン名「domain2」に属するユーザ名「user2」であることを示している。このような要求メッセージにより、容量情報転送部612は、送信クライアントから受信クライアントに至るまでのルーティング情報を要求する。
なお、容量情報転送部612によって送信された要求メッセージを受信したルーティングサーバは、図16に示すように、応答メッセージとして、「OK GetRoutingInfo」と、ルーティング情報である「Route=server1,server2,server3」とを応答する。すなわち、所属するドメインが「domain1」である送信クライアントから、所属するドメインが「domain2」である受信クライアントに送信されたデータは、「server1」、「server2」、「server3」の順でサーバを経由して転送されるべきであるというルーティング情報を応答する。このような応答メッセージにより、容量情報転送部612は、送信クライアントから受信クライアントに至るまでのルーティング情報を取得する。
また、容量情報転送部612は、ルーティングサーバからルーティング情報を取得すると、次に、図17に示すような要求メッセージを、中継サーバに送信する。ここで、図17に示す要求メッセージについて説明すると、「ServerRequestFileTransfer」は、これから転送サーバ400がファイルの転送を行いたい旨を、中継サーバに伝えるためのメッセージである。また、「Sender=user1@domain1」は、図16と同様、ファイルを送信するクライアントのアドレスであり、ドメイン名「domain1」に属するユーザ名「user1」であることを示している。また、「Receiver=user2@domain2」は、図16と同様、最終的にファイルを受信するクライアントのアドレスであり、ドメイン名「domain2」に属するユーザ名「user2」であることを示している。また、「Filename=test.mpg」は、転送対象のファイルのファイル名が「test.mpg」であることを示している。また、「Filesize=10MB」は、転送対象のファイルの容量が10MBであることを示している。また、「Route=server1,server2,server3」は、「user1」から「user2」に送信されたファイルは、「server1」、「server2」、「server3」の順でサーバを経由して送信されるべきであり、「server3」が受信クライアントの収容されているサーバであるという経路情報を示している。なお、容量情報転送部612によって送信された要求メッセージを受信した中継サーバは、図17に示すように、応答メッセージとして、「OK ServerRequestFileTransfer」を応答する。
また、容量情報転送部612は、転送サーバ400が中継サーバとして機能する際には、ルーティング情報は、送信サーバによってすでに取得されて転送されているので、判断部611によってファイルの転送が許可された場合に、受信クライアント側の中継サーバもしくは受信サーバに、ファイルの容量情報を転送する。
転送許可情報送信部613は、転送サーバ400が受信サーバとして機能する際に、ファイルの転送を許可する転送許可情報を中継サーバに送信する手段である。具体的には、転送許可情報送信部613は、判断部611によってファイルの転送が許可された場合に、転送許可情報を中継サーバに送信する。
転送許可情報転送部614は、転送許可情報を転送する手段である。具体的には、転送許可情報転送部614は、転送サーバ400が中継サーバとして機能する際に、受信クライアント側の中継サーバもしくは受信サーバから受信した転送許可情報を、送信クライアント側の中継サーバもしくは送信サーバに転送する。また、転送許可情報転送部614は、転送サーバ400が送信サーバとして機能する際に、中継サーバから受信した転送許可情報を送信クライアントに転送する。
ファイル転送部615は、ファイルを転送する手段である。具体的には、ファイル転送部615は、転送サーバ400が送信サーバとして機能する際に、送信クライアントから受信したファイルを中継サーバに転送する。また、ファイル転送部615は、転送サーバ400が中継サーバとして機能する際に、送信クライアント側の中継サーバもしくは送信サーバから受信したファイルを、受信クライアント側の中継サーバもしくは受信サーバに転送する。また、ファイル転送部615は、転送サーバ400が受信サーバとして機能する際に、中継サーバから受信したファイルを受信クライアントに転送する。
制御部600のなかで、状態情報処理部620は、転送サーバ400がファイルの送受信状態に係る情報を遷移、送信、または転送する手段であり、状態情報遷移部621と、状態情報送信部622と、状態情報転送部623とを備える
状態情報遷移部621は、送受信状態に係る情報を遷移させる手段である。具体的には、状態情報遷移部621は、転送サーバ400が送信サーバとして機能する際には、送信クライアントから受信したファイルの送信状態を検知して、状態情報保持部530によって保持する送受信状態に係る情報を遷移させる。例えば、図6の(A)に示すように、送信サーバにおいては、「初期状態」、「ファイル送信中(Sending)」、「ファイル送信中断(SendingSuspend)」、および「送信サーバまでファイル送信完了(FileAccepted)」を検知して、送受信状態に係る情報を遷移させる。
また、状態情報遷移部621は、同じく送信サーバとして機能する際には、中継サーバから送受信状態に係る情報を受信して、状態情報保持部530によって保持する送受信状態に係る情報を遷移させる。例えば、図6に示すように、送信サーバにおいては、「受信サーバまでファイル送信完了(ReceiveEnable)」および受信状態に係る情報を検知することができないので、これらの情報を中継サーバから受信して、送受信状態に係る情報を遷移させる。
また、状態情報遷移部621は、転送サーバ400が受信サーバとして機能する際には、送信クライアントから受信したファイルの送信状態を検知して、状態情報保持部530によって保持する送受信状態に係る情報を遷移させる。例えば、図6の(A)に示すように、受信サーバにおいては、「受信サーバまでファイル送信完了(ReceiveEnable)」を検知して、送受信状態に係る情報を遷移させる。
また、状態情報遷移部621は、同じく受信サーバとして機能する際には、受信クライアントによって受信されるファイルの受信状態を検知して、状態情報保持部530によって保持する送受信状態に係る情報を遷移させる。例えば、図6の(B)に示すように、受信サーバにおいては、「初期状態」、「受信クライアントがファイル受信中(Receiving)」、「ファイル受信中断(ReceivingSuspend)」、および「ファイル受信完了(Received)」を検知して、送受信状態に係る情報を遷移させる。
状態情報送信部622は、送受信状態に係る情報を送信する手段である。具体的には、状態情報送信部622は、転送サーバ400が送信サーバとして機能する際には、状態情報遷移部621によって遷移させた送受信状態に係る情報を、中継サーバに送信する。例えば、状態情報遷移部621によって検知された「初期状態」、「ファイル送信中(Sending)」、「ファイル送信中断(SendingSuspend)」、および「送信サーバまでファイル送信完了(FileAccepted)」の情報を、中継サーバに送信する。
また、状態情報送信部622は、同じく送信サーバとして機能する際には、送受信状態に係る情報を送信クライアントの要求に応じて送信クライアントに送信する。例えば、状態情報送信部622は、図8に示すような要求メッセージをクライアント100から受信すると、図8に示すような応答メッセージで応答する。
また、状態情報送信部622は、転送サーバ400が受信サーバとして機能する際には、状態情報遷移部621によって遷移させた送受信状態に係る情報を中継サーバに送信する。例えば、状態情報遷移部621によって検知された「初期状態」、「受信クライアントがファイル受信中(Receiving)」、「ファイル受信中断(ReceivingSuspend)」、および「ファイル受信完了(Received)」の情報を、中継サーバに送信する。また、状態情報送信部622は、例えば、状態情報遷移部621によって検知された「受信サーバまでファイル送信完了(ReceiveEnable)」の情報を、中継サーバに送信する。
また、状態情報送信部622は、同じく受信サーバとして機能する際には、送受信状態に係る情報を受信クライアントの要求に応じて受信クライアントに送信する。例えば、状態情報送信部622は、図8に示すような要求メッセージをクライアント100から受信すると、図8に示すような応答メッセージで応答する。
状態情報転送部623は、転送サーバ400が中継サーバとして機能する際に、送受信に係る情報を転送する手段である。具体的には、状態情報転送部623は、送信クライアント側の中継サーバもしくは送信サーバから受信した送受信に係る情報を、受信クライアント側の中継サーバもしくは受信サーバに転送する。例えば、状態情報転送部623は、図18の(A)に示すような要求メッセージを、受信クライアント側の中継サーバもしくは受信サーバに転送する。
ここで、図18の(A)に示す要求メッセージについて説明すると、「StatusForward」は、送受信状態に係る情報を、送信方向へ転送する旨を、受信クライアント側の中継サーバもしくは受信サーバに伝えるためのメッセージである。また、「Filename=test.mpg」は、ファイル名「test.mpg」のファイルの送受信状態に係る情報であることを示している。また、「SendStatus=sending」は、送信状態が「ファイル送信中(Sending)」であることを示している。
また、状態情報転送部623は、受信クライアント側の中継サーバもしくは受信サーバから受信した送受信状態に係る情報を、送信クライアント側の中継サーバもしくは送信サーバに転送する。例えば、状態情報転送部623は、図18の(B)に示すような要求メッセージを、送信クライアント側の中継サーバもしくは送信サーバに転送する。例えば、状態情報転送部623は、図18の(B)に示すような要求メッセージを、送信クライアント側の中継サーバもしくは送信サーバに転送する。
ここで、図18の(B)に示す要求メッセージについて説明すると、「StatusBackward」は、送受信状態に係る情報を、受信方向へ転送する旨を、送信クライアント側の中継サーバもしくは送信サーバに伝えるためのメッセージである。また、「Filename=test2.zip」は、ファイル名「test2.zip」のファイルの送受信状態に係る情報であることを示している。また、「ReceiveStatus=Receiving」は、受信状態が「受信クライアントがファイル受信中(Receiving)」であることを示している。なお、状態情報転送部623は、転送した送受信状態に係る情報を、状態情報保持部530に保持する。
制御部600のなかで、転送キャンセル処理部630は、クライアント100(送信クライアント)が送信したファイルの転送キャンセル要求に対応する手段であり、ファイル転送停止部631と、ファイル削除部632と、転送キャンセル要求転送部633と、削除完了通知転送部634とを備える
ファイル転送停止部631は、転送キャンセル要求を受信して、転送キャンセル要求によって指示されたファイルの転送を停止する手段である。具体的には、ファイル転送停止部631は、転送サーバ400が送信サーバとして機能する際に、送信クライアントから転送キャンセル要求を受信して、転送キャンセル要求によって指示されたファイルの転送を停止する。また、ファイル転送停止部631は、転送サーバ400が中継サーバとして機能する際に、送信クライアント側の中継サーバもしくは送信サーバから転送キャンセル要求を受信して、送信サーバとして機能する際と同様に、転送キャンセル要求によって指示されたファイルの転送を停止する。また、ファイル転送停止部631は、転送サーバ400が受信サーバとして機能する際に、中継サーバから転送キャンセル要求を受信して、送信サーバおよび中継サーバとして機能する際と同様に、転送キャンセル要求によって指示されたファイルの転送を停止する。
ファイル削除部632は、転送キャンセル要求によって指示されたファイルを削除する手段である。例えば、ファイル削除部632は、図9のような要求メッセージが、クライアント100の転送キャンセル要求送信部313aによって送信された場合には、ファイル記憶部510もしくは図示しない一時的な記憶領域上に記憶されたファイル名「test1.mpg」のファイルを削除する。
転送キャンセル要求転送部633は、転送キャンセル要求を転送する手段である。具体的には、転送キャンセル要求転送部633は、転送サーバ400が送信サーバとして機能する際に、転送キャンセル要求を中継サーバに転送する。また、転送キャンセル要求転送部633は、転送サーバ400が中継サーバとして機能する際に、転送キャンセル要求を受信クライアント側の中継サーバもしくは受信サーバに転送する。また、転送キャンセル要求転送部633は、転送サーバ400が受信サーバとして機能する際に、転送キャンセル要求を受信クライアントに転送する。
削除完了通知転送部634は、ファイルの削除が受信クライアントにおいて完了したことを示す削除完了通知を転送する手段である。具体的には、削除完了通知転送部634は、転送サーバ400が送信サーバとして機能する際に、削除完了通知を中継サーバから受信して送信クライアントに転送する。また、削除完了通知転送部634は、転送サーバ400が中継サーバとして機能する際に、削除完了通知を受信クライアント側の中継サーバもしくは受信サーバから受信して、送信クライアント側の中継サーバもしくは送信サーバに転送する。また、削除完了通知転送部634は、転送サーバ400が受信サーバとして機能する際に、削除完了通知を受信クライアントから受信して中継サーバに転送する。
制御部600のなかで、受信キャンセル処理部640は、クライアント100(受信クライアント)が送信したファイルの受信キャンセル要求に対応する手段であり、ファイル転送停止部641と、受信キャンセル完了通知送信部642と、転送開始部643とを備える
ファイル転送停止部641は、転送サーバ400が受信サーバとして機能する際に、受信キャンセル要求によって指示されたファイルの転送を停止する手段である。具体的には、受信クライアントから、ファイルの受信をキャンセルすることを指示する受信キャンセル要求を受信して、受信キャンセル要求によって指示されたファイルの転送を停止する。例えば、ファイル転送停止部641は、図11に示すような要求メッセージを受信クライアントから受信すると、ファイル名「test1.mpg」のファイルの転送を停止する。
受信キャンセル完了通知送信部642は、転送サーバ400が受信サーバとして機能する際に、受信キャンセル完了通知を受信クライアントに送信する手段である。具体的には、ファイル転送停止部641によってファイルの転送を停止したことを示す受信キャンセル完了通知を、受信クライアントに送信する。
転送開始部643は、転送サーバ400が受信サーバとして機能する際に、ファイルの先頭から転送を開始する手段である。具体的には、転送開始部643は、受信キャンセル完了通知送信部642によって受信キャンセル完了通知を受信クライアントに送信した後に、受信クライアントからファイルの受信を要求するファイル受信要求を受信すると、ファイルの先頭から転送を開始する。
制御部600のなかで、受信放棄処理部650は、クライアント100(受信クライアント)が送信したファイルの受信放棄要求に対応する手段であり、ファイル転送停止部651と、ファイル削除部652と、受信放棄完了通知送信部653と、ファイル転送許否通知送信部654 とを備える
ファイル転送停止部651は、転送サーバ400が受信サーバとして機能する際に、受信放棄要求によって指示されたファイルの転送を停止する手段である。具体的には、ファイル転送停止部651は、受信クライアントからファイルの受信を放棄することを指示する受信放棄要求を受信して、受信放棄要求によって指示されたファイルの転送を停止する。例えば、ファイル転送停止部651は、図12に示すような要求メッセージを受信クライアントから受信すると、ファイル名「test1.mpg」のファイルの転送を停止する。
ファイル削除部652は、転送サーバ400が受信サーバとして機能する際に、所定の場合に、ファイルを削除する手段である。具体的には、送信クライアントがファイルを他のクライアントに同報していない場合に、または、同報している場合であっても他の受信クライアントに対するファイルの転送が完了している場合並びに他の受信クライアントから受信放棄要求を受信している場合に、ファイルを削除する。
受信放棄完了通知送信部653は、転送サーバ400が受信サーバとして機能する際に、受信放棄完了通知を受信クライアントに送信する手段である。具体的には、受信放棄完了通知送信部653は、受信クライアントに対するファイルの転送を放棄したことを示す受信放棄完了通知を受信クライアントに送信する。
ファイル転送許否通知送信部654は、転送サーバ400が受信サーバとして機能する際に、ファイル転送拒否通知を受信クライアントに送信する手段である。具体的には、ファイル転送許否通知送信部654は、受信放棄完了通知送信部653によって受信放棄完了通知を受信クライアントに送信した後に、受信クライアントからファイルの受信を要求するファイル受信要求を受信すると、受信クライアントに対するファイルの転送を拒否する転送拒否通知を受信クライアントに送信する。
[実施例1に係るファイル転送システムの処理の手順]
次に、図19から図23を用いて、実施例1に係るファイル転送システムの処理の手順を説明する。図19は、ファイル転送処理の手順を示すシーケンス図であり、図20は、ファイル受信処理の手順を示すシーケンス図であり、図21は、転送キャンセル処理の手順を示すシーケンス図であり、図22は、受信キャンセル処理の手順を示すシーケンス図であり、図23は、受信放棄処理の手順を示すシーケンス図である。
[ファイル転送処理の手順]
まず、実施例1における送信クライアントは、ファイルの容量情報を送信サーバに送信する(ステップS1901)。なお、実施例1における送信クライアントは、ファイルの容量情報と共に、送信クライアントのアドレス(送信ユーザアドレス)、受信クライアントのアドレス(受信ユーザアドレス)、および送信対象ファイルのファイル名も送信する。
次に、送信サーバは、送信クライアントからファイルの容量情報を受信すると、送信クライアントから受信したファイルの容量情報とファイルを蓄積する記憶領域の空き領域とを比較して、ファイルの転送の許可を判断する(ステップS1902)。
そして、送信サーバは、ファイルの転送を許可した場合に、ルーティングサーバにルーティング情報を要求する(ステップS1903)。なお、実施例1における送信サーバは、ルーティング情報を要求する際に、送信クライアントのアドレスおよび受信クライアントのアドレスを送信する。すると、ルーティングサーバは、これらのアドレスに対応するルーティング情報を応答する(ステップS1904)。
続いて、送信サーバは、ルーティングサーバからルーティング情報を受信すると、ファイル管理情報記憶部520に、ファイル名、ファイルサイズ、送信クライアントのアドレス、および受信クライアントのアドレスを記憶させる(ステップS1905)。
そして、送信サーバは、ルーティング情報で送信サーバの次に記載されている中継サーバにファイルの容量情報を転送する(ステップS1906)。なお、実施例1における送信サーバは、ファイルの容量情報と共に、送信クライアントのアドレス、受信クライアントのアドレス、ファイルの名前、およびルーティング情報も送信する。
次に、中継サーバは、送信サーバからファイルの容量情報を受信すると、送信サーバから受信したファイルの容量情報とファイルを蓄積する記憶領域の空き領域とを比較して、ファイルの転送の許可を判断する(ステップS1907)。
そして、中継サーバは、ファイルの転送を許可した場合に、ファイル管理情報記憶部520に、ファイル名、ファイルサイズ、送信クライアントのアドレス、および受信クライアントのアドレスを記憶させる(ステップS1908)。すると、中継サーバは、受信サーバにファイルの容量情報を転送する(ステップ1909)。
続いて、受信サーバは、中継サーバからファイルの容量情報を受信すると、中継サーバから受信したファイルの容量情報とファイルを蓄積する記憶領域の空き領域とを比較して、ファイルの転送の許可を判断する(ステップS1910)。
そして、受信サーバは、ファイルの転送を許可した場合に、ファイル管理情報記憶部520に、ファイル名、ファイルサイズ、送信クライアントのアドレス、および受信クライアントのアドレスを記憶させる(ステップS1911)。
次に、受信サーバは、ファイルの転送を許可する転送許可情報を中継サーバに送信する(ステップS1912)。そして、中継サーバは、受信サーバから転送許可情報を受信すると、転送許可情報を送信サーバに送信する(ステップS1913)。すると、送信サーバは、中継サーバから転送許可情報を受信すると、転送許可情報を送信クライアントに送信する(ステップS1914)。
次に、送信クライアントは、転送許可情報を受信し、送信サーバにファイルを送信する(ステップS1915)。そして、送信サーバは、送信クライアントからファイルを受信すると、中継サーバにファイルを転送する(ステップS1916)。続いて、中継サーバは、送信サーバからファイルを受信すると、受信サーバにファイルを転送する(ステップS1917)。
こうして、実施例1に係るファイル転送システムは、送信クライアントにおいて、転送サーバにおけるファイル転送の許可を把握し、転送サーバにおける一時的なデータ蓄積可能容量に応じて、送信クライアントから転送サーバに向けてファイルを送信することから、例えば、送信クライアントから転送サーバに向けて大容量のファイルを送信した場合に、転送サーバの一時的なデータ蓄積可能容量を使い果たして他の通信に障害をもたらすような事態を回避するなど、ファイルの転送失敗を防ぐことが可能になる。
[ファイル受信処理の手順]
まず、実施例1における受信クライアントは、受信クライアント宛のファイルが受信サーバに到着しているかどうかを確認することを目的として、定期的に、ファイルリスト取得要求を受信サーバに送信する(ステップS2001)。
すると、受信サーバは、受信クライアントからファイルリスト取得要求を受信すると、受信クライアント(受信ユーザ)に送信可能なファイルリストを応答メッセージに含め、受信クライアントに返却する(ステップS2002)。
次に、受信クライアントは、受信サーバからファイルリストの応答メッセージを受信すると、応答メッセージに含まれるファイルそれぞれについて、ファイル受信要求を受信サーバに送信する(ステップS2003)。なお、実施例1における受信クライアントは、ファイル受信要求と共に、ファイル名を送信する。
そして、受信サーバは、受信クライアントからファイル受信要求を受信すると、受信クライアントから要求されたファイルを受信クライアントに送信する(ステップS2004)。
[転送キャンセル処理の手順]
まず、実施例1における送信クライアントは、転送キャンセルを行うファイルの送信を停止する(ステップS2101)。
次に、送信クライアントは、ファイルの転送をキャンセルすることを指示する転送キャンセル要求を送信サーバに送信する(ステップS2102)。なお、実施例1における送信クライアントが送信する転送キャンセル要求には、転送キャンセル対象のファイルのファイル名が含まれる。
すると、送信サーバは、送信クライアントから転送キャンセル要求を受信すると、転送キャンセル要求によって指示されたファイルの転送を停止し(ステップS2103)、送受信状態に係る情報を「転送キャンセル(SendingCancel)」に遷移させ、転送キャンセル対象のファイル(または、ファイルの一部)を削除する(ステップS2104)。
そして、送信サーバは、ファイル管理情報記憶部520に記載のルーティング情報から中継サーバのアドレスを取得し、転送キャンセル要求を受信サーバに転送する(ステップS2105)。
続いて、中継サーバは、送信サーバから転送キャンセル要求を受信すると、転送キャンセル要求によって指示されたファイルの転送を停止し(ステップS2106)、転送キャンセル対象のファイル(または、ファイルの一部)を削除する(ステップS2107)。
そして、中継サーバは、ファイル管理情報記憶部520に記載のルーティング情報から受信サーバのアドレスを取得し、転送キャンセル要求を受信サーバに転送する(ステップS2108)。
次に、受信サーバは、中継サーバから転送キャンセル要求を受信すると、転送キャンセル要求によって指示されたファイルの転送を停止し(ステップS2109)、転送キャンセル対象のファイル(または、ファイルの一部)を削除する(ステップS2110)。
そして、受信サーバは、受信クライアントに対し、転送キャンセル要求を転送する(ステップS2111)。すると、受信クライアントは、受信サーバから転送キャンセル要求を受信すると、転送キャンセル要求によって指示されたファイルを削除する(ステップS2112)。
続いて、受信クライアントは、ファイルの削除が受信クライアントにおいて完了したことを示す削除完了通知を受信サーバに送信する(ステップS2113)。
そして、受信サーバは、受信クライアントから削除完了通知を受信すると、中継サーバに削除完了通知を転送する(ステップS2114)。すると、中継サーバは、受信サーバから削除完了通知を受信すると、送信サーバに削除完了通知を転送する(ステップS2115)。そして、送信サーバは、中継サーバから削除完了通知を受信すると、送信クライアントに削除完了通知を転送する(ステップS2116)。
こうして、実施例1に係るファイル転送システムは、送信クライアントが誤ってファイルを送信してしまった場合などにその転送をキャンセルできることから、受信クライアントに係るネットワークリソースやディスクスペースを無駄なファイルによって占有させないことが可能になる。
[受信キャンセル処理の手順]
まず、実施例1における受信クライアントは、ファイルの受信をキャンセルすることを指示する受信キャンセル要求を、受信サーバに送信する(ステップS2201)。
次に、受信サーバは、受信クライアントから受信キャンセル要求を受信すると、受信キャンセル要求によって指示されたファイルの転送を停止する(ステップS2202)。なお、ファイルの送受信状態に係る情報を「受信キャンセル状態(ReceivingCancel)」に遷移させる。
そして、受信サーバは、ファイルの転送を停止したことを示す受信キャンセル完了通知を、受信クライアントに送信する(ステップS2203)。すると、受信クライアントは、受信サーバから受信キャンセル完了通知を受信すると、すでに受信したファイル(ファイルの一部)を削除し(ステップS2204)、受信キャンセル処理を終了する。
続いて、受信クライアントは、ファイルの受信を再開することを目的として、ファイルの受信を要求するファイル受信要求を受信サーバに送信する(ステップS2205)。
すると、受信サーバは、受信クライアントからファイル受信要求を受信すると、ファイルの先頭から受信クライアントにファイルの転送を開始し(ステップS2206)、受信クライアントにファイルを転送する(ステップS2207)。なお、受信サーバは、ファイルの送受信状態に係る情報を「ファイル受信中(Receiving)」に遷移させる。
こうして、実施例1に係るファイル転送システムは、受信クライアントがファイルの受信をキャンセルした場合にすでに受信したファイルを削除できることから、受信クライアントのディスクスペースを無駄なファイルによって占有させないことが可能になる。
[受信放棄処理の手順]
まず、実施例1における受信クライアントは、ファイルの受信を放棄することを指示する受信放棄要求を、受信サーバに送信する(ステップS2301)。
次に、受信サーバは、受信クライアントから受信放棄要求を受信すると、受信放棄要求によって指示されたファイルの転送を停止する(ステップS2302)。なお、ファイルの送受信状態にかかる情報を「受信放棄状態(ReceivingRenouce)」に遷移させる。
そして、受信サーバは、ファイル管理情報記憶部520に、受信クライアントが受信を放棄した旨を記憶させ(ステップS2303)、送信クライアントがファイルを他の受信クライアントに同報していない場合に、または、同報している場合であっても他の受信クライアントに対するファイルの転送が完了している場合並びに他の受信クライアントから受信放棄要求を受信している場合に、ファイルを削除する(ステップS2304)。
そして、受信サーバは、受信クライアントに対するファイルの転送を放棄したことを示す受信放棄完了通知を、受信クライアントに送信する(ステップS2305)。すると、受信クライアントは、受信サーバから受信放棄完了通知を受信すると、すでに受信したファイル(ファイルの一部)を削除し(ステップS2306)、受信放棄処理を終了する。
続いて、受信クライアントは、ファイルの受信を再開することを目的として、ファイルの受信を要求するファイル受信要求を受信サーバに送信する(ステップS2307)。
すると、受信サーバは、ファイル管理情報記憶部520を確認し(ステップS2308)、受信クライアントに対するファイルの転送を拒否するファイル転送拒否通知を送信する(ステップS2309)。
こうして、実施例1に係るファイル転送システムは、複数の受信クライアントに同報されたメールについて、受信放棄を要求しない他の受信クライアントの受信状況などを判断してファイルを削除できることから、複数の受信クライアントに同報されたメールについて、複数のクライアント間の受信状況などを調整しながらファイルを管理することが可能になる。
[実施例1の効果]
上記してきたように、実施例1によれば、転送サーバを経由して送信クライアントから受信クライアントにファイルを転送するファイル転送システムであって、送信クライアントは、ファイルの容量情報を転送サーバに送信し、転送サーバからファイルの転送を許可する転送許可情報を受信した場合に、転送サーバにファイルを送信し、転送サーバは、送信クライアントから受信したファイルの容量情報とファイルを蓄積する記憶領域の空き領域とを比較して、ファイルの転送の許可を判断し、ファイルの転送を許可した場合に、転送許可情報を送信クライアントに送信するので、送信クライアントにおいて、転送サーバにおけるファイル転送の許可を把握し、転送サーバにおける一時的なデータ蓄積可能容量に応じて、送信クライアントから転送サーバに向けてファイルを送信することから、例えば、送信クライアントから転送サーバに向けて大容量のファイルを送信した場合に、転送サーバの一時的なデータ蓄積可能容量を使い果たして他の通信に障害をもたらすような事態を回避するなど、ファイルの転送失敗を防ぐことが可能になる。
また、実施例1によれば、送信クライアントからファイルを受信する送信サーバと、受信クライアントにファイルを送信する受信サーバと、送信サーバと受信サーバとの間でファイルが経由するひとつまたは複数の中継サーバとで構成され、送信クライアントから受信クライアントにファイルを転送するファイル転送システムであって、送信クライアントは、ファイルの容量情報を送信サーバに送信し、送信サーバからファイルの転送を許可する転送許可情報を受信した場合に、送信サーバにファイルを送信し、送信サーバは、送信クライアントから受信したファイルの容量情報とファイルを蓄積する記憶領域の空き領域とを比較して、ファイルの転送の許可を判断し、ファイルの転送を許可した場合に、中継サーバにファイルの容量情報を転送し、中継サーバから受信した転送許可情報を送信クライアントに転送し、送信クライアントから受信したファイルを中継サーバに転送し、中継サーバは、送信クライアント側の中継サーバもしくは送信サーバから受信したファイルの容量情報とファイルを蓄積する記憶領域の空き領域とを比較して、ファイルの転送の許可を判断し、ファイルの転送を許可した場合に、受信クライアント側の中継サーバもしくは受信サーバにファイルの容量情報を転送し、受信クライアント側の中継サーバもしくは受信サーバから受信した転送許可情報を送信クライアント側の中継サーバもしくは送信サーバに転送し、送信クライアント側の中継サーバもしくは送信サーバから受信したファイルを受信クライアント側の中継サーバもしくは受信サーバに転送し、受信サーバは、中継サーバから受信したファイルの容量情報とファイルを蓄積する記憶領域の空き領域とを比較して、ファイルの転送の許可を判断し、ファイルの転送を許可した場合に、転送許可情報を中継サーバに送信し、中継サーバから受信したファイルを受信クライアントに転送するので、送信クライアントにおいて、転送サーバ(送信サーバ、中継サーバ、および受信サーバ)におけるファイル転送の許可を把握し、転送サーバにおける一時的なデータ蓄積可能容量に応じて、送信クライアントから転送サーバに向けてファイルを送信することから、例えば、送信クライアントから転送サーバに向けて大容量のファイルを送信した場合に、いずれかの転送サーバの一時的なデータ蓄積可能容量を使い果たして他の通信に障害をもたらすような事態を回避するなど、ファイルの転送失敗を防ぐことが可能になる。
また、実施例1によれば、送信クライアントは、ファイルの送受信状態に係る情報を保持し、ファイルの送信状態を検知して、保持する送受信状態に係る情報を遷移させ、送受信状態に係る情報を送信サーバに要求して取得し、送信サーバは、ファイルの送受信状態に係る情報を保持し、送信クライアントから受信したファイルの送信状態を検知して、保持する送受信状態に係る情報を遷移させ、遷移させた送受信状態に係る情報を中継サーバに送信し、中継サーバから送受信状態に係る情報を受信して、保持する送受信状態に係る情報を遷移させ、保持する送受信状態に係る情報を送信クライアントの要求に応じて送信クライアントに送信し、中継サーバは、ファイルの送受信状態に係る情報を保持し、送信クライアント側の中継サーバもしくは送信サーバから受信した送受信状態に係る情報を受信クライアント側の中継サーバもしくは受信サーバに転送し、受信クライアント側の中継サーバもしくは受信サーバから受信した送受信状態に係る情報を送信クライアント側の中継サーバもしくは送信サーバに転送し、受信サーバは、ファイルの送受信状態に係る情報を保持し、送信クライアントから受信したファイルの送信状態を検知して、保持する送受信状態に係る情報を遷移させ、遷移させた送受信状態に係る情報を中継サーバに送信し、受信クライアントによって受信されるファイルの受信状態を検知して、保持する送受信状態に係る情報を遷移させ、遷移させた送受信状態に係る情報を中継サーバに送信し、保持する送受信状態に係る情報を受信クライアントの要求に応じて受信クライアントに送信し、受信クライアントは、ファイルの送受信状態に係る情報を保持し、ファイルの受信状態を検知して、保持する送受信状態に係る情報を遷移させ、送受信状態に係る情報を受信サーバに要求して取得するので、送信クライアントおよび受信クライアントにおいて、ファイルの送受信状態に係る情報を把握できることから、ファイルの送受信状態に応じてファイルの送受信を制御することが可能になる。
具体的に例を挙げると、必ずしも高速のネットワークに接続しているとは限らない受信クライアント(例えば、電話回線に転送速度56kbpsのアナログモデムで接続する受信クライアントなど)に対して、送信クライアントが大容量のファイル(例えば、10MBのファイルなど)を送信すると、受信クライアントにおいては、ファイルの受信に長時間(約24分)を要し、この間の受信クライアントにおけるメールの受信やインターネットへのアクセススピードが大幅に低下し、また、ネットワーク障害に遭う可能性も高くなり、結果としてファイル転送が突然切断される可能性も高くなるが、送信クライアントにおいて、受信クライアントの受信状態を把握できることから、例えば、受信クライアントが「受信中」の状態である場合にはファイルの送信を控えるように制御することが可能になる。また、送信クライアントがファイルの送信を中断した場合に、送信クライアントにおいて、送信クライアントの状態情報を「送信中断」の状態に遷移させることができることから、送信を再開する場合には、この状態情報に基づいて続きから送信を再開することが可能になる。また、受信クライアントがファイルの受信を中断した場合に、受信クライアントにおいて、受信クライアントの状態情報を「受信中断」の状態に遷移させることができることから、受信を再開する場合には、この状態情報に基づいて続きから受信を再開することが可能になる。
また、実施例1によれば、送信クライアントは、ファイルの転送をキャンセルすることを指示する転送キャンセル要求を送信サーバに送信し、送信サーバは、送信クライアントから転送キャンセル要求を受信して、転送キャンセル要求によって指示されたファイルの転送を停止し、転送キャンセル要求によって指示されたファイルを削除し、転送キャンセル要求を中継サーバに転送し、ファイルの削除が受信クライアントにおいて完了したことを示す削除完了通知を中継サーバから受信して送信クライアントに転送し、中継サーバは、送信クライアント側の中継サーバもしくは送信サーバから転送キャンセル要求を受信して、転送キャンセル要求によって指示されたファイルの転送を停止し、転送キャンセル要求によって指示されたファイルを削除し、転送キャンセル要求を受信クライアント側の中継サーバもしくは受信サーバに転送し、受信クライアント側の中継サーバもしくは受信サーバから受信した削除完了通知を送信クライアント側の中継サーバもしくは送信サーバに転送し、受信サーバは、中継サーバから転送キャンセル要求を受信して、転送キャンセル要求によって指示されたファイルの転送を停止し、転送キャンセル要求によって指示されたファイルを削除し、転送キャンセル要求を受信クライアントに転送し、受信クライアントから受信した削除完了通知を中継サーバに転送し、受信クライアントは、受信サーバから受信した転送キャンセル要求によって指示されたファイルを削除し、削除完了通知を受信サーバに送信するので、送信クライアントが誤ってファイルを送信してしまった場合などにその転送をキャンセルできることから、受信クライアントに係るネットワークリソースやディスクスペースを無駄なファイルによって占有させないことが可能になる。
また、実施例1によれば、受信サーバは、受信クライアントからファイルの受信をキャンセルすることを指示する受信キャンセル要求を受信して、受信キャンセル要求によって指示されたファイルの転送を停止し、ファイルの転送を停止したことを示す受信キャンセル完了通知を受信クライアントに送信し、受信キャンセル完了通知を受信クライアントに送信した後に受信クライアントからファイルの受信を要求するファイル受信要求を受信すると、ファイルの先頭から転送を開始し、受信クライアントは、受信キャンセル要求を受信サーバに送信し、受信キャンセル完了通知を受信サーバから受信すると、すでに受信したファイルを削除するので、受信クライアントがファイルの受信をキャンセルした場合にすでに受信したファイルを削除できることから、受信クライアントのディスクスペースを無駄なファイルによって占有させないことが可能になる。
また、実施例1によれば、受信サーバは、受信クライアントからファイルの受信を放棄することを指示する受信放棄要求を受信して、受信放棄要求によって指示されたファイルの転送を停止し、送信クライアントがファイルを他の受信クライアントに同報していない場合に、または、同報している場合であっても他の受信クライアントに対するファイルの転送が完了している場合並びに他の受信クライアントから受信放棄要求を受信している場合に、ファイルを削除し、受信クライアントに対するファイルの転送を放棄したことを示す受信放棄完了通知を受信クライアントに送信し、受信放棄完了通知を受信クライアントに送信した後に受信クライアントからファイルの受信を要求するファイル受信要求を受信すると、受信クライアントに対するファイルの転送を拒否するファイル転送拒否通知を受信クライアントに送信し、受信クライアントは、受信放棄要求を受信サーバに送信し、受信サーバから受信放棄完了通知を受信すると、すでに受信したファイルを削除するので、複数の受信クライアントに同報されたメールについて、受信放棄を要求しない他の受信クライアントの受信状況などを判断してファイルを削除できることから、複数の受信クライアントに同報されたメールについて、複数のクライアント間の受信状況などを調整しながらファイルを管理することが可能になる。
ところで、上記の実施例1では、送信クライアントがひとつの受信クライアントにファイルを転送する場合を説明したが、この発明はこれに限定されるものではなく、送信クライアントが複数の受信クライアントにファイルを同報して転送する場合にも、この発明を同様に適用することができる。以下では、実施例2として、送信クライアントが複数の受信クライアントにファイルを同報して転送する場合を、図24〜図28を用いて説明する。図24は、実施例2に係るファイル転送システムの構成を説明するための図であり、図25〜図27は、容量情報送信部を説明するための図であり、図28は、ファイル管理情報記憶部を説明するための図である。
実施例2に係るファイル転送システムは、図24に示すように、送信クライアントが受信クライアント1〜受信クライアント8にファイルを同報して転送する。また、受信クライアント1は、送信サーバに収容され、送信サーバからファイルを受信する。受信クライアント2は、中継サーバ1に収容され、中継サーバ1からファイルを受信する。受信クライアント3は、中継サーバ2に収容され、中継サーバ2からファイルを受信する。受信クライアント4および受信クライアント5は、受信サーバ1に収容され、受信サーバ1からファイルを受信する。受信クライアント6は、受信サーバ2に収容され、受信サーバ2からファイルを受信する。受信クライアント7および受信クライアント8は、受信サーバ3からファイルを受信する。
このような実施例2に係るファイル転送システムでは、送信サーバおよび中継サーバにおけるファイル転送部615は、ファイルの転送先である受信クライアント側の中継サーバもしくは受信サーバが共通である場合に、単一のファイルを転送する。
実施例2に係るファイル転送システムに関し、実施例1に係るファイル転送システムと異なる点について具体的に説明すると、まず、クライアント100における容量情報送信部311aは、複数の受信クライアントにファイルを同報して転送する場合は、送信クライアントから複数の受信クライアントアドレスを指定する必要があるため、図25に示すような要求メッセージを送信サーバに送信する。
ここで、図25に示す要求メッセージについて、実施例1に係るファイル転送システムと異なる点(下線部分)を説明すると、実施例1では、「Receiver=user2@domain2」のように、受信クライアントアドレスをひとつ列挙するのみであったが、実施例2では、「Receiver=user-r1@domain1,user-r2@domain2,user-r3@domain3,user-r4@domain4,user-r5@domain4,user-r6@domain5,user-r7@domain6,user-r8@domain6」のように、複数の受信クライアントアドレスを列挙する。
また、転送サーバ400における容量情報転送部612は、複数の受信クライアントにファイルを同報して転送する場合は、一度に複数の受信クライアントアドレスに対するルーティング情報を取得する必要があるため、図26に示すような要求メッセージをルーティングサーバに送信する。
ここで、図26に示す要求メッセージについて、実施例1に係るファイル転送システムと異なる点(下線部分)を説明すると、実施例1では、「Receiver=user2@domain2」のように、受信クライアントアドレスをひとつ列挙するのみであったが、実施例2では、「Receiver=user-r1@domain1,user-r2@domain2,user-r3@domain3,user-r4@domain4,user-r5@domain4,user-r6@domain5,user-r7@domain6,user-r8@domain6」のように、複数の受信クライアントアドレスを列挙する。
また、ルーティングサーバにおけるルーティング情報は、ドメインごとに記載されているため、ユーザアドレスごとにルーティング情報を記述するよりも、同一のドメインに属する複数の受信クライアントアドレスに対しては、ひとつのルーティング情報を対応づけて記述する方が効率的である。したがって、図26に示すように、応答メッセージは、「Route=[(user-r1@domain1),(server1)],[user-r2@domain2],(server1,server2)」,[user-r3@domain3],(server1,server3)],[(user-r4@domain4,user-r5@domain4),(server1,server2,server4)],[(user-r6@domain5),(server1,server2,server5)],[(user-r7@domain6,user-r8@domain6),(server1,server3,server6)]のように、同一のドメインに属する複数の受信クライアントアドレスとひとつのルーティング情報とを対応づけている。
また、転送サーバ400における容量情報転送部612は、複数の受信クライアントにファイルを同報して転送する場合は、受信クライアントごとに、あるいは、受信クライアントが属するドメインごとに、転送サーバ400間の容量情報転送処理を行うよりも、ファイルの転送先である受信クライアント側の中継サーバもしくは受信サーバが共通である受信クライアントをひとまとめにして、単一のファイルを転送する方が効率的である。このため、図27に示すような要求メッセージを転送サーバに送信する。
ここで、図27に示す要求メッセージについて、実施例1に係るファイル転送システムと異なる点(下線部分)を説明する。図27の(A)は、送信サーバから中継サーバ1に送信される要求メッセージであるので、中継サーバ1を共通にする「user-r2@domain2」、「user-r4@domain4」、「user-r5@domain4」、および「user-r6@domain5」をひとまとめにして、「Receiver=user-r2@domain2,user-r4@domain4,user-r5@domain4,user-r6@domain5」のように、単一のファイルを転送している。
また、図27の(B)は、送信サーバ1から中継サーバ2に送信される要求メッセージであるので、中継サーバ2を共通にする「user-r3@domain3」、「user-r7@domain6」、および「user-r8@domain6」をひとまとめにして、「Receiver=user-r3=domain3,user-r7@domain6,user-r8@domain6」のように、単一のファイルを転送している。
もっとも、複数の受信クライアントにファイルを同報して転送する場合においても、送受信状態に係る情報は受信クライアントごとに異なる状況が発生することから、ファイル管理情報記憶部520は、図28に示すように、受信クライアントごとの情報を記憶する。
[実施例2の効果]
上記してきたように、実施例2によれば、送信クライアントから複数の受信クライアントに対してファイルが同報送信され、ファイルの転送先である受信クライアント側の中継サーバもしくは受信サーバが共通である場合に、単一のファイルを転送するので、複数の受信クライアントに対して単一のファイルで送信できることから、複数の受信クライアント各々に対して別々のファイルを送信する手法に比較して、転送サーバの一時的なデータ蓄積可能容量を効率よく利用してファイルを送信することが可能になる。
ところで、これまで実施例1および実施例2に係るファイル転送システムについて説明したが、この発明は上記した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下では、実施例3に係るファイル転送システムとして、異なる実施例を説明する。
[他の実施例]
上記の実施例においては、ファイル転送システムが、送受信状態に係る情報を保持、遷移、または取得する機能を有する場合を説明したが、この発明はこれに限定されるものではなく、ファイル転送システムが、送受信状態に係る情報を保持、遷移、または取得する機能を有しない場合にも、この発明を同様に適用することができる。
また、上記の実施例においては、ファイル転送システムが、ファイルの転送キャンセルに対応する機能を有する場合を説明したが、この発明はこれに限定されるものではなく、ファイル転送システムが、ファイルの転送キャンセルに対応する機能を有しない場合にも、この発明を同様に適用することができる。
また、上記の実施例においては、ファイル転送システムが、ファイルの受信キャンセルに対応する機能を有する場合を説明したが、この発明はこれに限定されるものではなく、ファイル転送システムが、ファイルの受信キャンセルに対応する機能を有しない場合にも、この発明を同様に適用することができる。
また、上記の実施例においては、ファイル転送システムが、ファイルの受信放棄に対応する機能を有する場合を説明したが、この発明はこれに限定されるものではなく、ファイル転送システムが、ファイルの受信放棄に対応する機能を有しない場合にも、この発明を同様に適用することができる。
また、上記の実施例においては、ファイルの転送を開始するタイミングとして、転送サーバがファイルの全部を記憶領域に蓄積した状態で(ファイルの受信が完了した状態で)、次の転送サーバにファイルの転送を開始する場合を説明したが、この発明はこれに限定されるものではなく、転送サーバがファイルの一部を記憶領域に蓄積した状態で(ファイルの受信が完了しない状態で)、次の転送サーバにファイルの転送を開始する(ファイルの受信と転送とを並行して行う)場合にも、この発明を同様に適用することができる。
[システム構成等]
上記の実施例においては、送信サーバと中継サーバと受信サーバとで構成される転送サーバを経由してファイルを転送する場合を説明したが、この発明はこれに限定されるものではなく、ひとつの転送サーバを経由してファイルを転送する場合にも、送信サーバと受信サーバとで構成される転送サーバを経由して(中継サーバを経由せずに)ファイルを転送する場合にも、この発明を同様に適用することができる。
また、上記の実施例においては、送信クライアントから受信クライアントに至るまでのルーティング情報が、ルーティングサーバから転送サーバに提供される場合を説明したが、ルーティングサーバによる提供によらず他の手段によって転送サーバに保持される場合にも、この発明を同様に適用することができる。
また、上記の実施例において説明した各処理のうち、自動的におこなわれるものとして説明した処理(例えば、受信クライアントが受信サーバに対して定期的にファイルリスト取得要求を送信する処理など)の全部または一部を手動的におこなうこともでき、あるいは、手動的におこなわれるものとして説明した処理(例えば、送信クライアントにおける送信ファイル名の入力など)の全部または一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態(例えば、図2や図13など)は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
なお、上記の実施例で説明したファイル転送方法は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。このプログラムは、インターネットなどのネットワークを介して配布することができる。また、このプログラムは、ハードディスク、フレキシブルディスク(FD)、CD−ROM、MO、DVDなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行することもできる。
以上のように、本発明に係るファイル転送システム、ファイル転送プログラムおよびファイル転送方法は、転送サーバを経由して送信クライアントから受信クライアントにファイルを転送することに有用であり、特に、ファイルの転送失敗を防ぐことに適する。
実施例1に係るファイル転送システムの概要および特徴を説明するための図である。 実施例1における送信クライアントおよび受信クライアントの構成を示すブロック図である。 入力部を説明するための図である。 容量情報送信部を説明するための図である。 ファイル送信部を説明するための図である。 状態情報遷移部を説明するための図である。 状態情報遷移部を説明するための図である。 状態情報取得部を説明するための図である。 転送キャンセル要求送信部を説明するための図である。 ファイル受信部を説明するための図である。 受信キャンセル要求送信部を説明するための図である。 受信放棄要求送信部を説明するための図である。 実施例1における転送サーバの構成を示すブロック図である。 ファイル管理情報記憶部を説明するための図である。 ルーティング情報を説明するための図である。 容量情報転送部を説明するための図である。 容量情報転送部を説明するための図である。 状態情報転送部を説明するための図である。 ファイル転送処理の手順を示すシーケンス図である。 ファイル受信処理の手順を示すシーケンス図である。 転送キャンセル処理の手順を示すシーケンス図である。 受信キャンセル処理の手順を示すシーケンス図である。 受信放棄処理の手順を示すシーケンス図である。 実施例2に係るファイル転送システムの構成を説明するための図である。 容量情報送信部を説明するための図である。 容量情報送信部を説明するための図である。 容量情報送信部を説明するための図である。 ファイル管理情報記憶部を説明するための図である。
符号の説明
100 クライアント
110 入力部
120 出力部
130 入出力制御IF部
140 ネットワーク通信部
200 記憶部
210 ファイル記憶部
220 ファイル管理情報記憶部
230 状態情報保持部
300 制御部
310 送信処理部
311 ファイル送信処理部
312 状態情報処理部
313 転送キャンセル処理部
320 受信処理部
321 ファイル受信部
322 状態情報処理部
323 転送キャンセル処理部
324 受信キャンセル処理部
325 受信放棄処理部
400 転送サーバ
410 ネットワーク通信部
500 記憶部
510 ファイル記憶部
520 ファイル管理情報記憶部
530 状態情報保持部
600 制御部
610 ファイル転送処理部
620 状態情報処理部
630 転送キャンセル処理部
640 受信キャンセル処理部
650 受信放棄処理部

Claims (12)

  1. 転送サーバを経由して送信クライアントから受信クライアントにファイルを転送するファイル転送システムであって、
    前記転送サーバは、
    前記ファイルを受信すると、所定の転送サーバまで当該ファイルの転送が完了した状態を示す状態情報を記憶部に格納する状態情報格納手段と、
    前記受信クライアントが前記ファイルを受信中である状態が検知されると、前記状態情報格納手段により記憶部に格納された状態情報を、前記受信クライアントが前記ファイルを受信中である状態を示す状態情報に変更し、
    前記受信クライアントまで前記ファイルの転送が完了した状態が検知されると、前記状態情報格納手段により記憶部に格納された状態情報を、前記受信クライアントまで前記ファイルの転送が完了した状態を示す状態情報に変更する変更手段とを備え、
    前記送信クライアントは、
    前記転送サーバの記憶部に格納された状態情報を当該転送サーバから受信する状態情報受信手段と、
    前記状態情報受信手段により受信された状態情報を出力部に出力する出力手段とを備えたことを特徴とするファイル転送システム。
  2. 前記送信クライアントは、
    前記ファイルの容量情報を前記転送サーバに送信する容量情報送信手段と、
    前記転送サーバから前記ファイルの転送を許可する転送許可情報を受信すると、当該転送サーバに当該ファイルを送信するファイル送信手段とをさらに備え、
    前記転送サーバは、
    前記容量情報送信手段により送信されたファイルの容量情報を受信すると、受信したファイルの容量情報と当該ファイルを蓄積する記憶領域の空き領域とを比較して、当該ファイルの転送の許可を判断する判断手段と、
    前記判断手段により前記ファイルの転送を許可すると、前記転送許可情報を前記送信クライアントに送信する転送許可情報送信手段と、
    前記ファイル送信手段により送信されたファイルを受信すると、受信したファイルを前記受信クライアントに転送するファイル転送手段とをさらに備えたことを特徴とする請求
    項1に記載のファイル転送システム。
  3. 前記送信クライアントは、
    前記ファイルの転送をキャンセルすることを指示する転送キャンセル要求を前記転送サーバに送信する転送キャンセル要求送信手段をさらに備え、
    前記転送サーバは、
    前記転送キャンセル要求送信手段により送信された転送キャンセル要求を受信すると、
    受信した転送キャンセル要求によって指示された前記ファイルの転送を停止するとともに当該ファイルの受信済みデータを削除する停止削除手段をさらに備え、
    前記受信クライアントは、
    前記転送サーバから転送キャンセル要求を受信すると、受信した転送キャンセル要求によって指示されたファイルの受信済みデータを削除する第一のファイル削除手段をさらに備えたことを特徴とする請求項1または2に記載のファイル転送システム。
  4. 前記受信クライアントは、
    前記ファイルの受信をキャンセルすることを指示する受信キャンセル要求を前記転送サーバに送信する受信キャンセル要求送信手段と、
    前記ファイルの転送を停止したことを示す受信キャンセル完了通知を前記転送サーバから受信すると、記ファイルの受信済みデータを削除する第二のファイル削除手段とをさらに備え、
    前記転送サーバは、
    前記受信キャンセル要求送信手段により送信された受信キャンセル要求を受信すると、
    受信した受信キャンセル要求によって指示されたファイルの転送を停止する第一のファイル転送停止手段と、
    前記第一のファイル転送停止手段によりファイルの転送を停止すると、前記受信キャンセル完了通知を前記受信クライアントに送信する受信キャンセル完了通知送信手段と、
    前記受信キャンセル完了通知送信手段によって前記受信キャンセル完了通知を前記受信クライアントに送信した後に当該受信クライアントから前記ファイルの受信を要求するファイル受信要求を受信すると、当該ファイルの先頭から転送を開始する転送開始手段とを
    さらに備えたことを特徴とする請求項1〜3のいずれか一つに記載のファイル転送システム。
  5. 前記受信クライアントは、
    前記ファイルの受信を放棄することを指示する受信放棄要求を前記転送サーバに送信する受信放棄要求送信手段と、
    前記ファイルの転送を放棄したことを示す受信放棄完了通知を前記転送サーバから受信すると、記ファイルの受信済みデータを削除する第三のファイル削除手段とをさらに備え、
    前記転送サーバは、
    前記受信放棄要求送信手段により送信された受信放棄要求を受信すると、受信した受信放棄要求によって指示されたファイルの転送を停止する第二のファイル転送停止手段と、
    前記送信クライアントが前記ファイルを他の受信クライアントに同報していない場合に、または、同報している場合であっても前記他の受信クライアントに対する当該ファイルの転送が完了している場合並びに当該他の受信クライアントから前記受信放棄要求を受信している場合に、当該ファイルの受信済みデータを削除するファイル削除手段と、
    前記受信放棄完了通知を前記受信クライアントに送信する受信放棄完了通知送信手段と、
    前記受信放棄完了通知送信手段によって前記受信放棄完了通知を前記受信クライアントに送信した後に当該受信クライアントから前記ファイルの受信を要求するファイル受信要求を受信すると、当該受信クライアントに対する前記ファイルの転送を拒否するファイル転送拒否通知を当該受信クライアントに送信するファイル転送拒否通知送信手段とをさら
    に備えたことを特徴とする請求項1〜4のいずれか一つに記載のファイル転送システム。
  6. 前記ファイル転送手段は、前記送信クライアントから複数の受信クライアントに対して前記ファイルが同報送信され、当該ファイルの転送先である前記受信クライアント側の転送サーバが共通である場合に、単一の当該ファイルを転送することを特徴とする請求項2〜5のいずれか一つに記載のファイル転送システム。
  7. 請求項1〜6のいずれか一つに記載のファイル転送システムの転送サーバの動作をコンピュータに実行させる転送サーバプログラム。
  8. 請求項1〜6のいずれか一つに記載のファイル転送システムの送信クライアントの動作をコンピュータに実行させる送信クライアントプログラム。
  9. 請求項1〜6のいずれか一つに記載のファイル転送システムの受信クライアントの動作をコンピュータに実行させる受信クライアントプログラム。
  10. 転送サーバを経由して送信クライアントから受信クライアントにファイルを転送するファイル転送方法であって、
    前記転送サーバは、
    前記ファイルを受信すると、所定の転送サーバまで当該ファイルの転送が完了した状態を示す状態情報を記憶部に格納する状態情報格納工程と、
    前記受信クライアントが前記ファイルを受信中である状態が検知されると、前記状態情報格納工程により記憶部に格納された状態情報を、前記受信クライアントが前記ファイルを受信中である状態を示す状態情報に変更し、
    前記受信クライアントまで前記ファイルの転送が完了した状態が検知されると、前記状態情報格納工程により記憶部に格納された状態情報を、前記受信クライアントまで前記ファイルの転送が完了した状態を示す状態情報に変更する変更工程とを含み、
    前記送信クライアントは、
    前記転送サーバの記憶部に格納された状態情報を当該転送サーバから受信する状態情報受信工程と、
    前記状態情報受信工程により受信された状態情報を出力部に出力する出力工程とを含んだことを特徴とするファイル転送方法。
  11. 送信クライアントからファイルを受信する送信サーバと、受信クライアントに当該ファイルを送信する受信サーバと、当該送信サーバと当該受信サーバとの間で当該ファイルが経由するひとつまたは複数の中継サーバとで構成され、当該送信クライアントから当該受信クライアントに当該ファイルを転送するファイル転送システムであって、
    前記送信サーバは、
    前記ファイルを受信すると、当該送信サーバまで当該ファイルの転送が完了した状態を示す状態情報を記憶部に格納する状態情報格納手段と、
    前記受信クライアントが前記ファイルを受信中である状態を、転送経路上にて隣接する中継サーバから受信すると、前記状態情報格納手段により記憶部に格納された状態情報を、前記受信クライアントが前記ファイルを受信中である状態を示す状態情報に変更し、
    前記受信クライアントまで前記ファイルの転送が完了した状態を示す状態情報を、転送経路上にて隣接する中継サーバから受信すると、前記状態情報格納手段により記憶部に格納された状態情報を、前記受信クライアントまで前記ファイルの転送が完了した状態を示す状態情報に変更する変更手段とを備え、
    前記中継サーバは、
    前記ファイルを受信すると、当該中継サーバまで当該ファイルの転送が完了した状態を示す状態情報を記憶部に格納する状態情報格納手段と、
    前記受信クライアントが前記ファイルを受信中である状態を、転送経路上にて隣接する受信クライアント側の中継サーバまたは前記受信サーバから受信すると、当該中継サーバの状態情報格納手段により記憶部に格納された状態情報を、前記受信クライアントが前記ファイルを受信中である状態を示す状態情報に変更し、
    前記受信クライアントまで前記ファイルの転送が完了した状態を示す状態情報を、転送経路上にて隣接する受信クライアント側の中継サーバまたは前記受信サーバから受信すると、当該中継サーバの状態情報格納手段により記憶部に格納された状態情報を、前記受信クライアントまで前記ファイルの転送が完了した状態を示す状態情報に変更する変更手段
    と、
    前記記憶部に格納された状態情報を、転送経路上にて隣接する送信クライアント側の中継サーバまたは前記送信サーバに送信する送信手段とを備え、
    前記受信サーバは、
    前記ファイルを受信すると、当該受信サーバまで当該ファイルの転送が完了した状態を示す状態情報を記憶部に格納する状態情報格納手段と、
    前記受信クライアントが前記ファイルを受信中である状態を検知すると、当該受信サーバの状態情報格納手段により記憶部に格納された状態情報を、前記受信クライアントが前記ファイルを受信中である状態を示す状態情報に変更し、
    前記受信クライアントまで前記ファイルの転送が完了した状態を検知すると、当該受信サーバの状態情報格納手段により記憶部に格納された状態情報を、前記受信クライアントまで前記ファイルの転送が完了した状態を示す状態情報に変更する変更手段と、
    前記記憶部に格納された状態情報を、転送経路上にて隣接する中継サーバに送信する送信手段とを備え、
    前記送信クライアントは、
    前記送信サーバの記憶部に格納された状態情報を当該送信サーバから受信する状態情報受信手段と、
    前記状態情報受信手段により受信された状態情報を出力部に出力する出力手段とを備えたことを特徴とするファイル転送システム。
  12. 前記送信クライアントは、
    前記ファイルの容量情報を前記送信サーバに送信する容量情報送信手段と、
    前記送信サーバから前記ファイルの転送を許可する転送許可情報を受信すると、当該送信サーバに当該ファイルを送信するファイル送信手段とをさらに備え、
    前記送信サーバは、
    前記容量情報送信手段により送信されたファイルの容量情報を受信すると、受信したファイルの容量情報と当該ファイルを蓄積する記憶領域の空き領域とを比較して、当該ファイルの転送の許可を判断する判断手段と、
    前記判断手段により前記ファイルの転送を許可すると、前記ファイルの容量情報を前記中継サーバに送信する容量情報送信手段と、
    前記転送許可情報を前記中継サーバから受信すると、受信した転送許可情報を前記送信クライアントに送信する転送許可情報送信手段と、
    前記ファイル送信手段により送信されたファイルを受信すると、当該ファイルを前記中継サーバに転送するファイル転送手段とをさらに備え、
    前記中継サーバは、
    前記送信サーバの容量情報送信手段により送信されたファイルの容量情報を受信すると、受信したファイルの容量情報と当該ファイルを蓄積する記憶領域の空き領域とを比較して、当該ファイルの転送の許可を判断する判断手段と、
    前記中継サーバの判断手段により前記ファイルの転送を許可すると、前記ファイルの容量情報を転送経路上の受信クライアント側の中継サーバまたは前記受信サーバに送信する容量情報送信手段と、
    前記転送許可情報を転送経路上の受信クライアント側の中継サーバまたは前記受信サーバから受信すると、受信した転送許可情報を転送経路上の送信クライアント側の中継サーバまたは前記送信サーバに送信する転送許可情報送信手段と、
    前記送信サーバのファイル転送手段により転送されたファイルを受信すると、当該ファイルを転送経路上の受信クライアント側の中継サーバまたは前記受信サーバに転送するファイル転送手段とをさらに備え、
    前記受信サーバは、
    前記中継サーバの容量情報送信手段により送信されたファイルの容量情報を受信すると、受信したファイルの容量情報と当該ファイルを蓄積する記憶領域の空き領域とを比較して、当該ファイルの転送の許可を判断する判断手段と、
    前記受信サーバの判断手段により前記ファイルの転送を許可すると、前記転送許可情報を前記中継サーバに送信する転送許可情報送信手段とをさらに備えたことを特徴とする請求項11に記載のファイル転送システム。
JP2006135304A 2006-05-15 2006-05-15 ファイル転送システム、ファイル転送プログラムおよびファイル転送方法 Active JP4530420B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006135304A JP4530420B2 (ja) 2006-05-15 2006-05-15 ファイル転送システム、ファイル転送プログラムおよびファイル転送方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006135304A JP4530420B2 (ja) 2006-05-15 2006-05-15 ファイル転送システム、ファイル転送プログラムおよびファイル転送方法

Publications (2)

Publication Number Publication Date
JP2007305049A JP2007305049A (ja) 2007-11-22
JP4530420B2 true JP4530420B2 (ja) 2010-08-25

Family

ID=38838897

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006135304A Active JP4530420B2 (ja) 2006-05-15 2006-05-15 ファイル転送システム、ファイル転送プログラムおよびファイル転送方法

Country Status (1)

Country Link
JP (1) JP4530420B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6011167B2 (ja) 2012-09-03 2016-10-19 ブラザー工業株式会社 通信中継プログラム、及び、通信中継装置
JP6075010B2 (ja) * 2012-10-31 2017-02-08 ブラザー工業株式会社 通信中継プログラム、及び、画像処理装置
JP6167502B2 (ja) 2012-10-31 2017-07-26 ブラザー工業株式会社 通信中継プログラム、通信中継装置、及び、画像処理装置
AU2013356802B2 (en) * 2012-12-09 2017-07-20 Lg Electronics Inc. Method and device for session initialization in wireless communication system

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000112809A (ja) * 1998-10-01 2000-04-21 Nec Corp 遅延型転送機能における転送データの削除および状態表示装置
JP2000163373A (ja) * 1998-11-26 2000-06-16 Nec Corp 通信端末再開システム
JP2001290692A (ja) * 2000-04-05 2001-10-19 Sk Kaken Co Ltd Ftpサーバおよびそのファイル転送方法
JP2002132615A (ja) * 2000-10-23 2002-05-10 Nippon Telegr & Teleph Corp <Ntt> ファイル転送装置およびファイル転送方法および記録媒体
JP2002149535A (ja) * 2000-08-31 2002-05-24 Nippon Telegr & Teleph Corp <Ntt> ファイル転送システム、装置、方法、及びファイル転送プログラムを記録した記録媒体
JP2002232485A (ja) * 2001-02-06 2002-08-16 Mitsubishi Electric Corp 電子メールシステム
JP2002288094A (ja) * 2001-03-27 2002-10-04 Minolta Co Ltd 情報配信システム、情報配信装置、プログラム、情報配信方法、中継サーバー装置及び電子メール受信端末
JP2003345699A (ja) * 2002-05-28 2003-12-05 Nippon Telegr & Teleph Corp <Ntt> ファイル転送システム
JP2005182169A (ja) * 2003-12-16 2005-07-07 Sony Corp 通信システムおよび方法、情報処理装置および方法、プログラム並びに記録媒体
JP2005202715A (ja) * 2004-01-16 2005-07-28 Giken Shoji International Co Ltd 機密情報転送システム
JP2006113721A (ja) * 2004-10-13 2006-04-27 Sennan Joho Gijutsu Center:Kk データ転送方法及びデータ転送システム

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3212891B2 (ja) * 1995-10-31 2001-09-25 日本電気株式会社 ファイル転送システムおよびファイル転送方法
JPH11313059A (ja) * 1998-04-27 1999-11-09 Nippon Telegr & Teleph Corp <Ntt> マルチキャスト通信方法及びそのシステム並びにマルチキャスト通信プログラムを記録した記録媒体
EP1806877A1 (en) * 2004-10-26 2007-07-11 Matsushita Electric Industrial Co., Ltd. Transmitting device, receiving device, and file forwarding system

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000112809A (ja) * 1998-10-01 2000-04-21 Nec Corp 遅延型転送機能における転送データの削除および状態表示装置
JP2000163373A (ja) * 1998-11-26 2000-06-16 Nec Corp 通信端末再開システム
JP2001290692A (ja) * 2000-04-05 2001-10-19 Sk Kaken Co Ltd Ftpサーバおよびそのファイル転送方法
JP2002149535A (ja) * 2000-08-31 2002-05-24 Nippon Telegr & Teleph Corp <Ntt> ファイル転送システム、装置、方法、及びファイル転送プログラムを記録した記録媒体
JP2002132615A (ja) * 2000-10-23 2002-05-10 Nippon Telegr & Teleph Corp <Ntt> ファイル転送装置およびファイル転送方法および記録媒体
JP2002232485A (ja) * 2001-02-06 2002-08-16 Mitsubishi Electric Corp 電子メールシステム
JP2002288094A (ja) * 2001-03-27 2002-10-04 Minolta Co Ltd 情報配信システム、情報配信装置、プログラム、情報配信方法、中継サーバー装置及び電子メール受信端末
JP2003345699A (ja) * 2002-05-28 2003-12-05 Nippon Telegr & Teleph Corp <Ntt> ファイル転送システム
JP2005182169A (ja) * 2003-12-16 2005-07-07 Sony Corp 通信システムおよび方法、情報処理装置および方法、プログラム並びに記録媒体
JP2005202715A (ja) * 2004-01-16 2005-07-28 Giken Shoji International Co Ltd 機密情報転送システム
JP2006113721A (ja) * 2004-10-13 2006-04-27 Sennan Joho Gijutsu Center:Kk データ転送方法及びデータ転送システム

Also Published As

Publication number Publication date
JP2007305049A (ja) 2007-11-22

Similar Documents

Publication Publication Date Title
EP2073429A1 (en) Data synchronous method, system and apparatus
US7634566B2 (en) Arrangement in a network for passing control of distributed data between network nodes for optimized client access based on locality
KR100488672B1 (ko) 메일 처리 시스템
JP4978537B2 (ja) アクセス要求転送システム、アクセス要求転送方法およびアクセス要求転送プログラム
US20090222450A1 (en) System and a method for transferring email file attachments over a telecommunication network using a peer-to-peer connection
CN100568857C (zh) 电子邮件事务***和方法
JP4530420B2 (ja) ファイル転送システム、ファイル転送プログラムおよびファイル転送方法
US20140089594A1 (en) Data processing method, cache node, collaboration controller, and system
WO2011135629A1 (ja) 計算機システムにおけるソフトウェアの配布管理方法、及び、ソフトウェアの配布管理のための計算機システム
US20020143965A1 (en) Server application initiated affinity within networks performing workload balancing
JP2011502388A (ja) ポリシーおよび課金ルール機能制御方法、制御ネットワーク・エレメント、ネットワーク・システム
JP2008052340A (ja) オーバーレイネットワークでピア・ツー・ピアのファイル送受信を行うコンピュータプログラム
KR101321667B1 (ko) 다큐먼트 포워딩을 위한 xdm 장치 및 방법
WO2011069387A1 (zh) 一种网络节点及其数据查询方法和索引更新方法
JP2000207370A (ja) 分散ファイル管理装置及び分散ファイル管理システム
US20030084140A1 (en) Data relay method
WO2005029345A1 (en) Communication management system
JP2013135450A (ja) ネットワーク制御方法、ネットワークシステム及び転送装置
KR100892885B1 (ko) 로드 밸런싱 시스템의 요청 배정 장치 및 로드 밸런싱 방법
CA2595438C (en) Method for improving peer to peer network communication
JP2009230369A (ja) 共有データの同期方法、共有データを同期するためのプログラム、および共有データを同期して保持可能なネットワークシステム
JP3704134B2 (ja) パケット転送装置、ネットワーク制御サーバ、およびパケット通信ネットワーク
CN102447724B (zh) 控制p2p下载的方法、服务器及***
EP2790362B1 (en) Network load control method and registration server
JP3927386B2 (ja) 協調スケジューリング型QoS制御システムおよびその方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090424

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090908

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091105

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20091222

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100316

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20100412

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: 20100604

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100607

R150 Certificate of patent or registration of utility model

Ref document number: 4530420

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: 20130618

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20140618

Year of fee payment: 4

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