(57)【特許請求の範囲】
【請求項１】
転送サーバを経由して送信クライアントから受信クライアントにファイルを転送するファイル転送システムであって、
前記転送サーバは、
前記ファイルを受信すると、所定の転送サーバまで当該ファイルの転送が完了した状態を示す状態情報を記憶部に格納する状態情報格納手段と、
前記受信クライアントが前記ファイルを受信中である状態が検知されると、前記状態情報格納手段により記憶部に格納された状態情報を、前記受信クライアントが前記ファイルを受信中である状態を示す状態情報に変更し、
前記受信クライアントまで前記ファイルの転送が完了した状態が検知されると、前記状態情報格納手段により記憶部に格納された状態情報を、前記受信クライアントまで前記ファイルの転送が完了した状態を示す状態情報に変更する変更手段とを備え、
前記送信クライアントは、
前記転送サーバの記憶部に格納された状態情報を当該転送サーバから受信する状態情報受信手段と、
前記状態情報受信手段により受信された状態情報を出力部に出力する出力手段とを備えたことを特徴とするファイル転送システム。
【請求項２】
前記送信クライアントは、
前記ファイルの容量情報を前記転送サーバに送信する容量情報送信手段と、
前記転送サーバから前記ファイルの転送を許可する転送許可情報を受信すると、当該転送サーバに当該ファイルを送信するファイル送信手段とをさらに備え、
前記転送サーバは、
前記容量情報送信手段により送信されたファイルの容量情報を受信すると、受信したファイルの容量情報と当該ファイルを蓄積する記憶領域の空き領域とを比較して、当該ファイルの転送の許可を判断する判断手段と、
前記判断手段により前記ファイルの転送を許可すると、前記転送許可情報を前記送信クライアントに送信する転送許可情報送信手段と、
前記ファイル送信手段により送信されたファイルを受信すると、受信したファイルを前記受信クライアントに転送するファイル転送手段とをさらに備えたことを特徴とする請求
項１に記載のファイル転送システム。
【請求項３】
前記送信クライアントは、
前記ファイルの転送をキャンセルすることを指示する転送キャンセル要求を前記転送サーバに送信する転送キャンセル要求送信手段をさらに備え、
前記転送サーバは、
前記転送キャンセル要求送信手段により送信された転送キャンセル要求を受信すると、
受信した転送キャンセル要求によって指示された前記ファイルの転送を停止するとともに当該ファイルの受信済みデータを削除する停止削除手段をさらに備え、
前記受信クライアントは、
前記転送サーバから転送キャンセル要求を受信すると、受信した転送キャンセル要求によって指示されたファイルの受信済みデータを削除する第一のファイル削除手段をさらに備えたことを特徴とする請求項１または２に記載のファイル転送システム。
【請求項４】
前記受信クライアントは、
前記ファイルの受信をキャンセルすることを指示する受信キャンセル要求を前記転送サーバに送信する受信キャンセル要求送信手段と、
前記ファイルの転送を停止したことを示す受信キャンセル完了通知を前記転送サーバから受信すると、前記ファイルの受信済みデータを削除する第二のファイル削除手段とをさらに備え、
前記転送サーバは、
前記受信キャンセル要求送信手段により送信された受信キャンセル要求を受信すると、
受信した受信キャンセル要求によって指示されたファイルの転送を停止する第一のファイル転送停止手段と、
前記第一のファイル転送停止手段によりファイルの転送を停止すると、前記受信キャンセル完了通知を前記受信クライアントに送信する受信キャンセル完了通知送信手段と、
前記受信キャンセル完了通知送信手段によって前記受信キャンセル完了通知を前記受信クライアントに送信した後に当該受信クライアントから前記ファイルの受信を要求するファイル受信要求を受信すると、当該ファイルの先頭から転送を開始する転送開始手段とを
さらに備えたことを特徴とする請求項１〜３のいずれか一つに記載のファイル転送システム。
【請求項５】
前記受信クライアントは、
前記ファイルの受信を放棄することを指示する受信放棄要求を前記転送サーバに送信する受信放棄要求送信手段と、
前記ファイルの転送を放棄したことを示す受信放棄完了通知を前記転送サーバから受信すると、前記ファイルの受信済みデータを削除する第三のファイル削除手段とをさらに備え、
前記転送サーバは、
前記受信放棄要求送信手段により送信された受信放棄要求を受信すると、受信した受信放棄要求によって指示されたファイルの転送を停止する第二のファイル転送停止手段と、
前記送信クライアントが前記ファイルを他の受信クライアントに同報していない場合に、または、同報している場合であっても前記他の受信クライアントに対する当該ファイルの転送が完了している場合並びに当該他の受信クライアントから前記受信放棄要求を受信している場合に、当該ファイルの受信済みデータを削除するファイル削除手段と、
前記受信放棄完了通知を前記受信クライアントに送信する受信放棄完了通知送信手段と、
前記受信放棄完了通知送信手段によって前記受信放棄完了通知を前記受信クライアントに送信した後に当該受信クライアントから前記ファイルの受信を要求するファイル受信要求を受信すると、当該受信クライアントに対する前記ファイルの転送を拒否するファイル転送拒否通知を当該受信クライアントに送信するファイル転送拒否通知送信手段とをさら
に備えたことを特徴とする請求項１〜４のいずれか一つに記載のファイル転送システム。
【請求項６】
前記ファイル転送手段は、前記送信クライアントから複数の受信クライアントに対して前記ファイルが同報送信され、当該ファイルの転送先である前記受信クライアント側の転送サーバが共通である場合に、単一の当該ファイルを転送することを特徴とする請求項２〜５のいずれか一つに記載のファイル転送システム。
【請求項７】
請求項１〜６のいずれか一つに記載のファイル転送システムの転送サーバの動作をコンピュータに実行させる転送サーバプログラム。
【請求項８】
請求項１〜６のいずれか一つに記載のファイル転送システムの送信クライアントの動作をコンピュータに実行させる送信クライアントプログラム。
【請求項９】
請求項１〜６のいずれか一つに記載のファイル転送システムの受信クライアントの動作をコンピュータに実行させる受信クライアントプログラム。
【請求項１０】
転送サーバを経由して送信クライアントから受信クライアントにファイルを転送するファイル転送方法であって、
前記転送サーバは、
前記ファイルを受信すると、所定の転送サーバまで当該ファイルの転送が完了した状態を示す状態情報を記憶部に格納する状態情報格納工程と、
前記受信クライアントが前記ファイルを受信中である状態が検知されると、前記状態情報格納工程により記憶部に格納された状態情報を、前記受信クライアントが前記ファイルを受信中である状態を示す状態情報に変更し、
前記受信クライアントまで前記ファイルの転送が完了した状態が検知されると、前記状態情報格納工程により記憶部に格納された状態情報を、前記受信クライアントまで前記ファイルの転送が完了した状態を示す状態情報に変更する変更工程とを含み、
前記送信クライアントは、
前記転送サーバの記憶部に格納された状態情報を当該転送サーバから受信する状態情報受信工程と、
前記状態情報受信工程により受信された状態情報を出力部に出力する出力工程とを含んだことを特徴とするファイル転送方法。
【請求項１１】
送信クライアントからファイルを受信する送信サーバと、受信クライアントに当該ファイルを送信する受信サーバと、当該送信サーバと当該受信サーバとの間で当該ファイルが経由するひとつまたは複数の中継サーバとで構成され、当該送信クライアントから当該受信クライアントに当該ファイルを転送するファイル転送システムであって、
前記送信サーバは、
前記ファイルを受信すると、当該送信サーバまで当該ファイルの転送が完了した状態を示す状態情報を記憶部に格納する状態情報格納手段と、
前記受信クライアントが前記ファイルを受信中である状態を、転送経路上にて隣接する中継サーバから受信すると、前記状態情報格納手段により記憶部に格納された状態情報を、前記受信クライアントが前記ファイルを受信中である状態を示す状態情報に変更し、
前記受信クライアントまで前記ファイルの転送が完了した状態を示す状態情報を、転送経路上にて隣接する中継サーバから受信すると、前記状態情報格納手段により記憶部に格納された状態情報を、前記受信クライアントまで前記ファイルの転送が完了した状態を示す状態情報に変更する変更手段とを備え、
前記中継サーバは、
前記ファイルを受信すると、当該中継サーバまで当該ファイルの転送が完了した状態を示す状態情報を記憶部に格納する状態情報格納手段と、
前記受信クライアントが前記ファイルを受信中である状態を、転送経路上にて隣接する受信クライアント側の中継サーバまたは前記受信サーバから受信すると、当該中継サーバの状態情報格納手段により記憶部に格納された状態情報を、前記受信クライアントが前記ファイルを受信中である状態を示す状態情報に変更し、
前記受信クライアントまで前記ファイルの転送が完了した状態を示す状態情報を、転送経路上にて隣接する受信クライアント側の中継サーバまたは前記受信サーバから受信すると、当該中継サーバの状態情報格納手段により記憶部に格納された状態情報を、前記受信クライアントまで前記ファイルの転送が完了した状態を示す状態情報に変更する変更手段
と、
前記記憶部に格納された状態情報を、転送経路上にて隣接する送信クライアント側の中継サーバまたは前記送信サーバに送信する送信手段とを備え、
前記受信サーバは、
前記ファイルを受信すると、当該受信サーバまで当該ファイルの転送が完了した状態を示す状態情報を記憶部に格納する状態情報格納手段と、
前記受信クライアントが前記ファイルを受信中である状態を検知すると、当該受信サーバの状態情報格納手段により記憶部に格納された状態情報を、前記受信クライアントが前記ファイルを受信中である状態を示す状態情報に変更し、
前記受信クライアントまで前記ファイルの転送が完了した状態を検知すると、当該受信サーバの状態情報格納手段により記憶部に格納された状態情報を、前記受信クライアントまで前記ファイルの転送が完了した状態を示す状態情報に変更する変更手段と、
前記記憶部に格納された状態情報を、転送経路上にて隣接する中継サーバに送信する送信手段とを備え、
前記送信クライアントは、
前記送信サーバの記憶部に格納された状態情報を当該送信サーバから受信する状態情報受信手段と、
前記状態情報受信手段により受信された状態情報を出力部に出力する出力手段とを備えたことを特徴とするファイル転送システム。
【請求項１２】
前記送信クライアントは、
前記ファイルの容量情報を前記送信サーバに送信する容量情報送信手段と、
前記送信サーバから前記ファイルの転送を許可する転送許可情報を受信すると、当該送信サーバに当該ファイルを送信するファイル送信手段とをさらに備え、
前記送信サーバは、
前記容量情報送信手段により送信されたファイルの容量情報を受信すると、受信したファイルの容量情報と当該ファイルを蓄積する記憶領域の空き領域とを比較して、当該ファイルの転送の許可を判断する判断手段と、
前記判断手段により前記ファイルの転送を許可すると、前記ファイルの容量情報を前記中継サーバに送信する容量情報送信手段と、
前記転送許可情報を前記中継サーバから受信すると、受信した転送許可情報を前記送信クライアントに送信する転送許可情報送信手段と、
前記ファイル送信手段により送信されたファイルを受信すると、当該ファイルを前記中継サーバに転送するファイル転送手段とをさらに備え、
前記中継サーバは、
前記送信サーバの容量情報送信手段により送信されたファイルの容量情報を受信すると、受信したファイルの容量情報と当該ファイルを蓄積する記憶領域の空き領域とを比較して、当該ファイルの転送の許可を判断する判断手段と、
前記中継サーバの判断手段により前記ファイルの転送を許可すると、前記ファイルの容量情報を転送経路上の受信クライアント側の中継サーバまたは前記受信サーバに送信する容量情報送信手段と、
前記転送許可情報を転送経路上の受信クライアント側の中継サーバまたは前記受信サーバから受信すると、受信した転送許可情報を転送経路上の送信クライアント側の中継サーバまたは前記送信サーバに送信する転送許可情報送信手段と、
前記送信サーバのファイル転送手段により転送されたファイルを受信すると、当該ファイルを転送経路上の受信クライアント側の中継サーバまたは前記受信サーバに転送するファイル転送手段とをさらに備え、
前記受信サーバは、
前記中継サーバの容量情報送信手段により送信されたファイルの容量情報を受信すると、受信したファイルの容量情報と当該ファイルを蓄積する記憶領域の空き領域とを比較して、当該ファイルの転送の許可を判断する判断手段と、
前記受信サーバの判断手段により前記ファイルの転送を許可すると、前記転送許可情報を前記中継サーバに送信する転送許可情報送信手段とをさらに備えたことを特徴とする請求項１１に記載のファイル転送システム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ファイル転送システム、ファイル転送プログラムおよびファイル転送方法に関する。
【背景技術】
【０００２】
従来より、ファイルの送受信を目的として、ＦＴＰ（File Transfer Protocol）、ＨＴＴＰ（HyperText Transfer Protocol）、ＳＭＴＰ／ＰＯＰ３（Simple Mail Transfer Protocol／Post Office Protocol３）等のプロトコルが主に利用されている。特に、送信クライアントから受信クライアントを指定してファイルを送受信する手法としては、これらのプロトコルの中でも、ＨＴＴＰ、ＳＭＴＰ／ＰＯＰ３を利用する手法が適している。
【０００３】
例えば、ＨＴＴＰを利用する手法としては、特許文献１で開示されるように、ＨＴＴＰリクエストやＨＴＴＰレスポンスのエンティティボディに格納したファイルデータ等を、送信クライアントから受信クライアントがＨＴＴＰサーバを介して送受信することで、送信クライアントから受信クライアントを指定してファイルを送受信している。また、例えば、ＳＭＴＰ／ＰＯＰ３を利用する手法としては、一般に実施されるように、送信クライアントや受信クライアントが電子メールの添付ファイルとしてファイルを送受信することで、送信クライアントから受信クライアントを指定してファイルを送受信している。
【０００４】
【特許文献１】特開２００２−１４９５３５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ところで、上記した従来の技術では、以下に説明するように、ファイルの転送に失敗するおそれがあるという課題がある。すなわち、上記した手法では、ファイルの転送を行う転送サーバにおける一時的なデータ蓄積可能容量に係らず、送信クライアントから転送サーバに向けてファイルが送信される。このため、送信クライアントから転送サーバに向けて送信されたファイルの容量が、転送サーバにおける一時的なデータ蓄積可能容量を超過する場合には、転送サーバにおいてファイルの転送に関するその後の処理を継続できなくなる結果、ファイルの転送に失敗するおそれがあるという課題がある。
【０００６】
そこで、この発明は、上記した従来技術の課題を解決するためになされたものであり、ファイルの転送失敗を防ぐことが可能なファイル転送システム、ファイル転送プログラムおよびファイル転送方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上述した課題を解決し、目的を達成するため、本発明は、転送サーバを経由して送信クライアントから受信クライアントにファイルを転送するファイル転送システムであって、前記転送サーバは、前記ファイルを受信すると、所定の転送サーバまで当該ファイルの転送が完了した状態を示す状態情報を記憶部に格納する状態情報格納手段と、前記受信クライアントが前記ファイルを受信中である状態が検知されると、前記状態情報格納手段により記憶部に格納された状態情報を、前記受信クライアントが前記ファイルを受信中である状態を示す状態情報に変更し、前記受信クライアントまで前記ファイルの転送が完了した状態が検知されると、前記状態情報格納手段により記憶部に格納された状態情報を、前記受信クライアントまで前記ファイルの転送が完了した状態を示す状態情報に変更する変更手段とを備え、前記送信クライアントは、前記転送サーバの記憶部に格納された状態情報を当該転送サーバから受信する状態情報受信手段と、前記状態情報受信手段により受信された状態情報を出力部に出力する出力手段と、を備えたことを特徴とする。
【０００８】
また、本発明は、上記の発明において、前記送信クライアントは、前記ファイルの容量情報を前記転送サーバに送信する容量情報送信手段と、前記転送サーバから前記ファイルの転送を許可する転送許可情報を受信すると、当該転送サーバに当該ファイルを送信するファイル送信手段とをさらに備え、前記転送サーバは、前記容量情報送信手段により送信されたファイルの容量情報を受信すると、受信したファイルの容量情報と当該ファイルを蓄積する記憶領域の空き領域とを比較して、当該ファイルの転送の許可を判断する判断手段と、前記判断手段により前記ファイルの転送を許可すると、前記転送許可情報を前記送信クライアントに送信する転送許可情報送信手段と、前記ファイル送信手段により送信されたファイルを受信すると、受信したファイルを前記受信クライアントに転送するファイル転送手段と、をさらに備えたことを特徴とする。
【０００９】
また、本発明は、上記の発明において、前記送信クライアントは、前記ファイルの転送をキャンセルすることを指示する転送キャンセル要求を前記転送サーバに送信する転送キャンセル要求送信手段をさらに備え、前記転送サーバは、前記転送キャンセル要求送信手段により送信された転送キャンセル要求を受信すると、受信した転送キャンセル要求によって指示された前記ファイルの転送を停止するとともに当該ファイルの受信済みデータを削除する停止削除手段をさらに備え、前記受信クライアントは、前記転送サーバから転送キャンセル要求を受信すると、受信した転送キャンセル要求によって指示されたファイルの受信済みデータを削除する第一のファイル削除手段と、をさらに備えたことを特徴とする。
【００１０】
また、本発明は、上記の発明において、前記受信クライアントは、前記ファイルの受信をキャンセルすることを指示する受信キャンセル要求を前記転送サーバに送信する受信キャンセル要求送信手段と、前記ファイルの転送を停止したことを示す受信キャンセル完了通知を前記転送サーバから受信すると、前記ファイルの受信済みデータを削除する第二のファイル削除手段とをさらに備え、前記転送サーバは、前記受信キャンセル要求送信手段により送信された受信キャンセル要求を受信すると、受信した受信キャンセル要求によって指示されたファイルの転送を停止する第一のファイル転送停止手段と、前記第一のファイル転送停止手段によりファイルの転送を停止すると、前記受信キャンセル完了通知を前記受信クライアントに送信する受信キャンセル完了通知送信手段と、前記受信キャンセル完了通知送信手段によって前記受信キャンセル完了通知を前記受信クライアントに送信した後に当該受信クライアントから前記ファイルの受信を要求するファイル受信要求を受信すると、当該ファイルの先頭から転送を開始する転送開始手段と、をさらに備えたことを特徴とする。
【００１１】
また、本発明は、上記の発明において、前記受信クライアントは、前記ファイルの受信を放棄することを指示する受信放棄要求を前記転送サーバに送信する受信放棄要求送信手段と、前記ファイルの転送を放棄したことを示す受信放棄完了通知を前記転送サーバから受信すると、前記ファイルの受信済みデータを削除する第三のファイル削除手段とをさらに備え、前記転送サーバは、前記受信放棄要求送信手段により送信された受信放棄要求を受信すると、受信した受信放棄要求によって指示されたファイルの転送を停止する第二のファイル転送停止手段と、前記送信クライアントが前記ファイルを他の受信クライアントに同報していない場合に、または、同報している場合であっても前記他の受信クライアントに対する当該ファイルの転送が完了している場合並びに当該他の受信クライアントから前記受信放棄要求を受信している場合に、当該ファイルの受信済みデータを削除するファイル削除手段と、前記受信放棄完了通知を前記受信クライアントに送信する受信放棄完了通知送信手段と、前記受信放棄完了通知送信手段によって前記受信放棄完了通知を前記受信クライアントに送信した後に当該受信クライアントから前記ファイルの受信を要求するファイル受信要求を受信すると、当該受信クライアントに対する前記ファイルの転送を拒否するファイル転送拒否通知を当該受信クライアントに送信するファイル転送拒否通知送信手段と、をさらに備えたことを特徴とする。
【００１２】
また、本発明は、上記の発明において、前記ファイル転送手段は、前記送信クライアントから複数の受信クライアントに対して前記ファイルが同報送信され、当該ファイルの転送先である前記受信クライアント側の転送サーバが共通である場合に、単一の当該ファイルを転送することを特徴とする。
【００１３】
また、本発明は、上記の発明において、ファイル転送システムの転送サーバの動作をコンピュータに実行させること、または、ファイル転送システムの送信クライアントの動作をコンピュータに実行させること、または、ファイル転送システムの受信クライアントの動作をコンピュータに実行させること、を特徴とする。
【００１４】
また、本発明は、転送サーバを経由して送信クライアントから受信クライアントにファイルを転送するファイル転送方法であって、前記転送サーバは、前記ファイルを受信すると、所定の転送サーバまで当該ファイルの転送が完了した状態を示す状態情報を記憶部に格納する状態情報格納工程と、前記受信クライアントが前記ファイルを受信中である状態が検知されると、前記状態情報格納工程により記憶部に格納された状態情報を、前記受信クライアントが前記ファイルを受信中である状態を示す状態情報に変更し、前記受信クライアントまで前記ファイルの転送が完了した状態が検知されると、前記状態情報格納工程により記憶部に格納された状態情報を、前記受信クライアントまで前記ファイルの転送が完了した状態を示す状態情報に変更する変更工程とを含み、前記送信クライアントは、前記転送サーバの記憶部に格納された状態情報を当該転送サーバから受信する状態情報受信工程と、前記状態情報受信工程により受信された状態情報を出力部に出力する出力工程とを含んだことを特徴とする。
【００１５】
また、本発明は、送信クライアントからファイルを受信する送信サーバと、受信クライアントに当該ファイルを送信する受信サーバと、当該送信サーバと当該受信サーバとの間で当該ファイルが経由するひとつまたは複数の中継サーバとで構成され、当該送信クライアントから当該受信クライアントに当該ファイルを転送するファイル転送システムであって、前記送信サーバは、前記ファイルを受信すると、当該送信サーバまで当該ファイルの転送が完了した状態を示す状態情報を記憶部に格納する状態情報格納手段と、前記受信クライアントが前記ファイルを受信中である状態を、転送経路上にて隣接する中継サーバから受信すると、前記状態情報格納手段により記憶部に格納された状態情報を、前記受信クライアントが前記ファイルを受信中である状態を示す状態情報に変更し、前記受信クライアントまで前記ファイルの転送が完了した状態を示す状態情報を、転送経路上にて隣接する中継サーバから受信すると、前記状態情報格納手段により記憶部に格納された状態情報を、前記受信クライアントまで前記ファイルの転送が完了した状態を示す状態情報に変更する変更手段とを備え、前記中継サーバは、前記ファイルを受信すると、当該中継サーバまで当該ファイルの転送が完了した状態を示す状態情報を記憶部に格納する状態情報格納手段と、前記受信クライアントが前記ファイルを受信中である状態を、転送経路上にて隣接する受信クライアント側の中継サーバまたは前記受信サーバから受信すると、当該中継サーバの状態情報格納手段により記憶部に格納された状態情報を、前記受信クライアントが前記ファイルを受信中である状態を示す状態情報に変更し、前記受信クライアントまで前記ファイルの転送が完了した状態を示す状態情報を、転送経路上にて隣接する受信クライアント側の中継サーバまたは前記受信サーバから受信すると、当該中継サーバの状態情報格納手段により記憶部に格納された状態情報を、前記受信クライアントまで前記ファイルの転送が完了した状態を示す状態情報に変更する変更手段と、前記記憶部に格納された状態情報を、転送経路上にて隣接する送信クライアント側の中継サーバまたは前記送信サーバに送信する送信手段とを備え、前記受信サーバは、前記ファイルを受信すると、当該受信サーバまで当該ファイルの転送が完了した状態を示す状態情報を記憶部に格納する状態情報格納手段と、前記受信クライアントが前記ファイルを受信中である状態を検知すると、当該受信サーバの状態情報格納手段により記憶部に格納された状態情報を、前記受信クライアントが前記ファイルを受信中である状態を示す状態情報に変更し、前記受信クライアントまで前記ファイルの転送が完了した状態を検知すると、当該受信サーバの状態情報格納手段により記憶部に格納された状態情報を、前記受信クライアントまで前記ファイルの転送が完了した状態を示す状態情報に変更する変更手段と、前記記憶部に格納された状態情報を、転送経路上にて隣接する中継サーバに送信する送信手段とを備え、前記送信クライアントは、前記送信サーバの記憶部に格納された状態情報を当該送信サーバから受信する状態情報受信手段と、前記状態情報受信手段により受信された状態情報を出力部に出力する出力手段とを備えたこと、を特徴とし、また、本発明は、上記の発明において、前記送信クライアントは、前記ファイルの容量情報を前記送信サーバに送信する容量情報送信手段と、前記送信サーバから前記ファイルの転送を許可する転送許可情報を受信すると、当該送信サーバに当該ファイルを送信するファイル送信手段とをさらに備え、前記送信サーバは、前記容量情報送信手段により送信されたファイルの容量情報を受信すると、受信したファイルの容量情報と当該ファイルを蓄積する記憶領域の空き領域とを比較して、当該ファイルの転送の許可を判断する判断手段と、前記判断手段により前記ファイルの転送を許可すると、前記ファイルの容量情報を前記中継サーバに送信する容量情報送信手段と、前記転送許可情報を前記中継サーバから受信すると、受信した転送許可情報を前記送信クライアントに送信する転送許可情報送信手段と、前記ファイル送信手段により送信されたファイルを受信すると、当該ファイルを前記中継サーバに転送するファイル転送手段とをさらに備え、前記中継サーバは、前記送信サーバの容量情報送信手段により送信されたファイルの容量情報を受信すると、受信したファイルの容量情報と当該ファイルを蓄積する記憶領域の空き領域とを比較して、当該ファイルの転送の許可を判断する判断手段と、
前記中継サーバの判断手段により前記ファイルの転送を許可すると、前記ファイルの容量情報を転送経路上の受信クライアント側の中継サーバまたは前記受信サーバに送信する容量情報送信手段と、前記転送許可情報を転送経路上の受信クライアント側の中継サーバまたは前記受信サーバから受信すると、受信した転送許可情報を転送経路上の送信クライアント側の中継サーバまたは前記送信サーバに送信する転送許可情報送信手段と、前記送信サーバのファイル転送手段により転送されたファイルを受信すると、当該ファイルを転送経路上の受信クライアント側の中継サーバまたは前記受信サーバに転送するファイル転送手段とをさらに備え、前記受信サーバは、前記中継サーバの容量情報送信手段により送信されたファイルの容量情報を受信すると、受信したファイルの容量情報と当該ファイルを蓄積する記憶領域の空き領域とを比較して、当該ファイルの転送の許可を判断する判断手段と、前記受信サーバの判断手段により前記ファイルの転送を許可すると、前記転送許可情報を前記中継サーバに送信する転送許可情報送信手段とをさらに備えたことを特徴とする。
【発明の効果】
【００１６】
本発明によれば、転送サーバを経由して送信クライアントから受信クライアントにファイルを転送するファイル転送システムであって、送信クライアントは、ファイルの容量情報を転送サーバに送信し、転送サーバからファイルの転送を許可する転送許可情報を受信した場合に、転送サーバにファイルを送信し、転送サーバは、送信クライアントから受信したファイルの容量情報とファイルを蓄積する記憶領域の空き領域とを比較して、ファイルの転送の許可を判断し、ファイルの転送を許可した場合に、転送許可情報を送信クライアントに送信するので、送信クライアントにおいて、転送サーバにおけるファイル転送の許可を把握し、転送サーバにおける一時的なデータ蓄積可能容量に応じて、送信クライアントから転送サーバに向けてファイルを送信することから、例えば、送信クライアントから転送サーバに向けて大容量のファイルを送信した場合に、転送サーバの一時的なデータ蓄積可能容量を使い果たして他の通信に障害をもたらすような事態を回避するなど、ファイルの転送失敗を防ぐことが可能になる。
【００１７】
また、本発明によれば、送信クライアントからファイルを受信する送信サーバと、受信クライアントにファイルを送信する受信サーバと、送信サーバと受信サーバとの間でファイルが経由するひとつまたは複数の中継サーバとで構成され、送信クライアントから受信クライアントにファイルを転送するファイル転送システムであって、送信クライアントは、ファイルの容量情報を送信サーバに送信し、送信サーバからファイルの転送を許可する転送許可情報を受信した場合に、送信サーバにファイルを送信し、送信サーバは、送信クライアントから受信したファイルの容量情報とファイルを蓄積する記憶領域の空き領域とを比較して、ファイルの転送の許可を判断し、ファイルの転送を許可した場合に、中継サーバにファイルの容量情報を転送し、中継サーバから受信した転送許可情報を送信クライアントに転送し、送信クライアントから受信したファイルを中継サーバに転送し、中継サーバは、送信クライアント側の中継サーバもしくは送信サーバから受信したファイルの容量情報とファイルを蓄積する記憶領域の空き領域とを比較して、ファイルの転送の許可を判断し、ファイルの転送を許可した場合に、受信クライアント側の中継サーバもしくは受信サーバにファイルの容量情報を転送し、受信クライアント側の中継サーバもしくは受信サーバから受信した転送許可情報を送信クライアント側の中継サーバもしくは送信サーバに転送し、送信クライアント側の中継サーバもしくは送信サーバから受信したファイルを受信クライアント側の中継サーバもしくは受信サーバに転送し、受信サーバは、中継サーバから受信したファイルの容量情報とファイルを蓄積する記憶領域の空き領域とを比較して、ファイルの転送の許可を判断し、ファイルの転送を許可した場合に、転送許可情報を中継サーバに送信し、中継サーバから受信したファイルを受信クライアントに転送するので、送信クライアントにおいて、転送サーバ（送信サーバ、中継サーバ、および受信サーバ）におけるファイル転送の許可を把握し、転送サーバにおける一時的なデータ蓄積可能容量に応じて、送信クライアントから転送サーバに向けてファイルを送信することから、例えば、送信クライアントから転送サーバに向けて大容量のファイルを送信した場合に、いずれかの転送サーバの一時的なデータ蓄積可能容量を使い果たして他の通信に障害をもたらすような事態を回避するなど、ファイルの転送失敗を防ぐことが可能になる。
【００１８】
また、本発明によれば、送信クライアントから複数の受信クライアントに対してファイルが同報送信され、ファイルの転送先である受信クライアント側の中継サーバもしくは受信サーバが共通である場合に、単一のファイルを転送するので、複数の受信クライアントに対して単一のファイルで送信できることから、複数の受信クライアント各々に対して別々のファイルを送信する手法に比較して、転送サーバの一時的なデータ蓄積可能容量を効率よく利用してファイルを送信することが可能になる。
【００１９】
また、本発明によれば、送信クライアントは、ファイルの送受信状態に係る情報を保持し、ファイルの送信状態を検知して、保持する送受信状態に係る情報を遷移させ、送受信状態に係る情報を送信サーバに要求して取得し、送信サーバは、ファイルの送受信状態に係る情報を保持し、送信クライアントから受信したファイルの送信状態を検知して、保持する送受信状態に係る情報を遷移させ、遷移させた送受信状態に係る情報を中継サーバに送信し、中継サーバから送受信状態に係る情報を受信して、保持する送受信状態に係る情報を遷移させ、保持する送受信状態に係る情報を送信クライアントの要求に応じて送信クライアントに送信し、中継サーバは、ファイルの送受信状態に係る情報を保持し、送信クライアント側の中継サーバもしくは送信サーバから受信した送受信状態に係る情報を受信クライアント側の中継サーバもしくは受信サーバに転送し、受信クライアント側の中継サーバもしくは受信サーバから受信した送受信状態に係る情報を送信クライアント側の中継サーバもしくは送信サーバに転送し、受信サーバは、ファイルの送受信状態に係る情報を保持し、送信クライアントから受信したファイルの送信状態を検知して、保持する送受信状態に係る情報を遷移させ、遷移させた送受信状態に係る情報を中継サーバに送信し、受信クライアントによって受信されるファイルの受信状態を検知して、保持する送受信状態に係る情報を遷移させ、遷移させた送受信状態に係る情報を中継サーバに送信し、保持する送受信状態に係る情報を受信クライアントの要求に応じて受信クライアントに送信し、受信クライアントは、ファイルの送受信状態に係る情報を保持し、ファイルの受信状態を検知して、保持する送受信状態に係る情報を遷移させ、送受信状態に係る情報を受信サーバに要求して取得するので、送信クライアントおよび受信クライアントにおいて、ファイルの送受信状態に係る情報を把握できることから、ファイルの送受信状態に応じてファイルの送受信を制御することが可能になる。
【００２０】
具体的に例を挙げると、必ずしも高速のネットワークに接続しているとは限らない受信クライアント（例えば、電話回線に転送速度５６ｋｂｐｓのアナログモデムで接続する受信クライアントなど）に対して、送信クライアントが大容量のファイル（例えば、１０ＭＢのファイルなど）を送信すると、受信クライアントにおいては、ファイルの受信に長時間（約２４分）を要し、この間の受信クライアントにおけるメールの受信やインターネットへのアクセススピードが大幅に低下し、また、ネットワーク障害に遭う可能性も高くなり、結果としてファイル転送が突然切断される可能性も高くなるが、送信クライアントにおいて、受信クライアントの受信状態を把握できることから、例えば、受信クライアントが「受信中」の状態である場合にはファイルの送信を控えるように制御することが可能になる。また、送信クライアントがファイルの送信を中断した場合に、送信クライアントにおいて、送信クライアントの状態情報を「送信中断」の状態に遷移させることができることから、送信を再開する場合には、この状態情報に基づいて続きから送信を再開することが可能になる。また、受信クライアントがファイルの受信を中断した場合に、受信クライアントにおいて、受信クライアントの状態情報を「受信中断」の状態に遷移させることができることから、受信を再開する場合には、この状態情報に基づいて続きから受信を再開することが可能になる。
【００２１】
また、本発明によれば、送信クライアントは、ファイルの転送をキャンセルすることを指示する転送キャンセル要求を送信サーバに送信し、送信サーバは、送信クライアントから転送キャンセル要求を受信して、転送キャンセル要求によって指示されたファイルの転送を停止し、転送キャンセル要求によって指示されたファイルを削除し、転送キャンセル要求を中継サーバに転送し、ファイルの削除が受信クライアントにおいて完了したことを示す削除完了通知を中継サーバから受信して送信クライアントに転送し、中継サーバは、送信クライアント側の中継サーバもしくは送信サーバから転送キャンセル要求を受信して、転送キャンセル要求によって指示されたファイルの転送を停止し、転送キャンセル要求によって指示されたファイルを削除し、転送キャンセル要求を受信クライアント側の中継サーバもしくは受信サーバに転送し、受信クライアント側の中継サーバもしくは受信サーバから受信した削除完了通知を送信クライアント側の中継サーバもしくは送信サーバに転送し、受信サーバは、中継サーバから転送キャンセル要求を受信して、転送キャンセル要求によって指示されたファイルの転送を停止し、転送キャンセル要求によって指示されたファイルを削除し、転送キャンセル要求を受信クライアントに転送し、受信クライアントから受信した削除完了通知を中継サーバに転送し、受信クライアントは、受信サーバから受信した転送キャンセル要求によって指示されたファイルを削除し、削除完了通知を受信サーバに送信するので、送信クライアントが誤ってファイルを送信してしまった場合などにその転送をキャンセルできることから、受信クライアントに係るネットワークリソースやディスクスペースを無駄なファイルによって占有させないことが可能になる。
【００２２】
また、本発明によれば、受信サーバは、受信クライアントからファイルの受信をキャンセルすることを指示する受信キャンセル要求を受信して、受信キャンセル要求によって指示されたファイルの転送を停止し、ファイルの転送を停止したことを示す受信キャンセル完了通知を受信クライアントに送信し、受信キャンセル完了通知を受信クライアントに送信した後に受信クライアントからファイルの受信を要求するファイル受信要求を受信すると、ファイルの先頭から転送を開始し、受信クライアントは、受信キャンセル要求を受信サーバに送信し、受信キャンセル完了通知を受信サーバから受信すると、すでに受信したファイルを削除するので、受信クライアントがファイルの受信をキャンセルした場合にすでに受信したファイルを削除できることから、受信クライアントのディスクスペースを無駄なファイルによって占有させないことが可能になる。
【００２３】
また、本発明によれば、受信サーバは、受信クライアントからファイルの受信を放棄することを指示する受信放棄要求を受信して、受信放棄要求によって指示されたファイルの転送を停止し、送信クライアントがファイルを他の受信クライアントに同報していない場合に、または、同報している場合であっても他の受信クライアントに対するファイルの転送が完了している場合並びに他の受信クライアントから受信放棄要求を受信している場合に、ファイルを削除し、受信クライアントに対するファイルの転送を放棄したことを示す受信放棄完了通知を受信クライアントに送信し、受信放棄完了通知を受信クライアントに送信した後に受信クライアントからファイルの受信を要求するファイル受信要求を受信すると、受信クライアントに対するファイルの転送を拒否するファイル転送拒否通知を受信クライアントに送信し、受信クライアントは、受信放棄要求を受信サーバに送信し、受信サーバから受信放棄完了通知を受信すると、すでに受信したファイルを削除するので、複数の受信クライアントに同報されたメールについて、受信放棄を要求しない他の受信クライアントの受信状況などを判断してファイルを削除できることから、複数の受信クライアントに同報されたメールについて、複数のクライアント間の受信状況などを調整しながらファイルを管理することが可能になる。
【発明を実施するための最良の形態】
【００２４】
以下に添付図面を参照して、この発明に係るファイル転送システム、ファイル転送プログラムおよびファイル転送方法の実施例を詳細に説明する。なお、以下では、実施例で用いる主要な用語、実施例１に係るファイル転送システムの概要および特徴、実施例１に係るファイル転送システムの構成および処理の手順、実施例１の効果を順に説明し、次に、他の実施例を説明する。
【実施例１】
【００２５】
［用語の説明］
まず最初に、以下の実施例で用いる主要な用語を説明する。「ファイル転送システム」とは、ネットワークにおいてファイルの送受信を実現するシステムのことである。インターネットなどのネットワークにおいて、異なるネットワークに属するクライアント間でファイルを送受信する際には、送受信されるファイルは、ひとつまたは複数のサーバを経由して転送される。
【００２６】
ファイルが複数のサーバを経由する場合について具体的に説明すると、まず、ファイルを送信する「送信クライアント」が、最終的にファイルを受信する「受信クライアント」の宛先（ネットワーク上で受信クライアントを識別するための情報）を指定してファイルを送信する。すると、送信クライアントからファイルを最初に受信したサーバが、送信クライアントから受信クライアントに至るまでのルーティング情報（送信クライアントと受信クライアントとの間でデータを送受信する際に経由すべきサーバ等の経路情報）に基づいて、次のサーバにファイルを転送する。続いて、ファイルを転送された次のサーバが、同じく、ルーティング情報に基づいて、次のサーバにファイルを転送する。このように、送信クライアントから受信クライアント宛に送信されたファイルは、ルーティング情報に基づいて経由される複数のサーバによって順に転送され、最後に受信クライアントに転送されることで、受信クライアントが最終的にファイルを受信することになる。
【００２７】
なお、以下の実施例では、送信クライアントからファイルを最初に受信するサーバのことを「送信サーバ」と呼び、受信クライアントに最後にファイルを転送するサーバのことを「受信サーバ」と呼び、送信サーバと受信サーバとの間でファイルが経由するその他のサーバのことを「中継サーバ」と呼ぶ。また、送信サーバと受信サーバと中継サーバとを併せて、「転送サーバ」と呼ぶ。
【００２８】
ところで、上記のようなファイル転送の場面において、転送サーバは、他の転送サーバ（もしくは送信クライアント）からファイルを受信し、このファイルを次の転送サーバ（もしくは受信クライアント）に転送するので、受信したファイルを、転送サーバの記憶領域に一時的に蓄積しなければならない。ここで、ファイルの転送を開始するタイミングとして、転送サーバがファイルの全部を記憶領域に蓄積した状態で（ファイルの受信が完了した状態で）、次の転送サーバ（もしくは受信クライアント）にファイルの転送を開始する場合と、転送サーバがファイルの一部を記憶領域に蓄積した状態で（ファイルの受信が完了しない状態で）、次の転送サーバ（もしくは受信クライアント）にファイルの転送を開始する（ファイルの受信と転送とを並行して行う）場合とが考えられる。前者の場合には、転送サーバにおいて一時的にファイルを蓄積する記憶領域の空き領域が、転送するファイルの容量を上回って確保される必要があり、後者の場合には、転送するファイルの容量と比較して適切に確保される必要がある。
【００２９】
なお、このようなファイル転送システムにおいては、送信クライアントから受信クライアントに至るまでのルーティング情報が、ルーティングサーバから転送サーバに提供される場合と、ルーティングサーバによる提供によらず他の手段によって転送サーバに保持される場合とがある。以下の実施例においては、ルーティング情報がルーティングサーバから転送サーバに提供される場合を前提とするので、ファイル転送システムは、送信クライアントと、送信サーバと、ひとつの中継サーバと、受信サーバと、受信クライアントと、ルーティングサーバとで構成されるものとする。
【００３０】
［実施例１に係るファイル転送システムの概要および特徴］
続いて、図１を用いて、実施例１に係るファイル転送システムの概要および特徴を説明する。図１は、実施例１に係るファイル転送システムの概要および特徴を説明するための図である。
【００３１】
実施例１に係るファイル転送システムは、上記したように、送信クライアントからファイルを受信する送信サーバと、受信クライアントにファイルを送信する受信サーバと、送信サーバと受信サーバとの間でファイルが経由するひとつまたは複数の中継サーバとで構成され、送信クライアントから受信クライアントにファイルを転送することを概要とし、ファイルの転送失敗を防ぐことを主たる特徴とする。なお、以下では、送信クライアントから送信されたファイルが受信サーバに到達するまでの段階と、受信クライアントが受信サーバからファイルを受信する段階との２つの段階に分けて、実施例１に係るファイル転送システムの主たる特徴を説明する。
【００３２】
まず、送信クライアントから送信されたファイルが受信サーバに到達するまでの段階について説明すると、図１に示すように、実施例１における送信クライアント１０は、ファイルの容量情報を送信サーバ４１に送信する（図１の（１）を参照）。すると、送信サーバ４１は、送信クライアント１０から受信したファイルの容量情報と、ファイルを蓄積する記憶領域の空き領域とを比較して、ファイルの転送の許可を判断する（図１の（２）を参照）。
【００３３】
そして、送信サーバ４１は、ファイルの転送を許可した場合に、ルーティングサーバ３０に対してルーティング情報要求を送信する（図１の（３）を参照）。すると、ルーティングサーバ３０は、要求されたルーティング情報を送信サーバ４１に対して応答する（図１の（４）を参照）。次に、送信サーバ４１は、中継サーバ４２にファイルの容量情報を転送する（図１の（５）を参照）。
【００３４】
続いて、中継サーバ４２は、送信サーバ４１から受信したファイルの容量情報と、ファイルを蓄積する記憶領域の空き領域とを比較して、ファイルの転送の許可を判断する（図１の（６）を参照）。そして、中継サーバ４２は、ファイルの転送を許可した場合に、受信サーバ４３にファイルの容量情報を転送する（図１の（７）を参照）。
【００３５】
次に、受信サーバ４３は、中継サーバ４２から受信したファイルの容量情報と、ファイルを蓄積する記憶領域の空き領域とを比較して、ファイルの転送の許可を判断する（図１の（８）を参照）。そして、受信サーバ４３は、ファイルの転送を許可した場合に、ファイルの転送を許可する転送許可情報を中継サーバ４２に送信する（図１の（９）を参照）。
【００３６】
続いて、中継サーバ４２は、受信サーバ４３から受信した転送許可情報を、送信サーバ４１に転送する（図１の（１０）を参照）。次に、送信サーバ４１は、中継サーバ４２から受信した転送許可情報を、送信クライアント１０に転送する（図１の（１１）を参照）。
【００３７】
そして、送信クライアント１０は、送信サーバ４１から転送許可情報を受信した場合に、送信サーバ４１にファイルを送信する（図１の（１２）を参照）。続いて、送信サーバ４１は、送信クライアント１０から受信したファイルを、中継サーバ４２に転送する（図１の（１３）を参照）。そして、中継サーバ４２は、送信サーバ４１から受信したファイルを、受信サーバ４３に転送する（図１の（１４）を参照）。
【００３８】
こうして、送信クライアント１０から送信されたファイルが受信サーバ４３に到達するので、受信サーバ４３は、受信クライアント２０から送信されるファイルの受信要求に応じて、受信クライアント２０にファイルを転送できる状態になる。
【００３９】
続いて、受信クライアントが受信サーバからファイルを受信する段階について説明すると、受信クライアント２０は、受信クライアント２０宛に送信されたファイルが受信サーバ４３に到達しているかどうかを確認することを目的として、受信クライアント２０宛に送信されたファイルのリストの取得を要求するファイルリスト取得要求を受信サーバ４３に送信する（図１の（１５）を参照）。すると、受信サーバ４３は、受信クライアント２０に送信可能なファイルリストを返却する（図１の（１６）を参照）。続いて、受信クライアント２０は、返却されたファイルリストに含まれるファイルについて、ファイルの受信を要求するファイルの受信要求を送信する（図１の（１７）を参照）。すると、受信サーバ４３は、要求されたファイルを受信クライアント２０に送信する（図１の（１８）を参照）。
【００４０】
なお、実施例１においては、送信クライアント１０から送信されて受信サーバ４３に到達したファイルを、受信クライアント２０が要求して受信する（プル型）場合を説明したが、この発明はこれに限定されるものではなく、送信クライアント１０から送信されたファイルが受信クライアント２０の要求を待たずに転送される（プッシュ型）場合にも、この発明を同様に適用することができる。
【００４１】
このようなことから、実施例１に係るファイル転送システムは、送信クライアントにおいて、転送サーバにおけるファイル転送の許可を把握し、転送サーバにおける一時的なデータ蓄積可能容量に応じて、送信クライアントから転送サーバに向けてファイルを送信するので、ファイルの転送失敗を防ぐことが可能になる。
【００４２】
なお、実施例１に係るファイル転送システムは、上記の他に、ファイルの送受信状態に係る情報を保持、遷移、または取得することにも特徴がある。具体的には、送信クライアントおよび受信クライアントにおいて、ファイルの送受信状態に係る情報（例えば、「ファイル送信中」、「ファイル受信中断」など）を把握してファイルの送受信を制御することを目的として、送信クライアントおよび受信クライアントで検知したファイルの送受信状態に係る情報や、送信サーバや受信サーバで検知したファイルの送受信状態に係る情報を、中継サーバを含めてファイル転送システム全体で保持し、送受信状態の変化に応じて保持する情報を遷移させたり、必要に応じて情報を取得したりする。
【００４３】
また、実施例１に係るファイル転送システムは、上記の他に、ファイルの転送キャンセルに対応することにも特徴がある。具体的には、送信クライアントからファイルが送信された後に、送信クライアントから転送キャンセル要求が送信サーバに送信されると、送信サーバ、中継サーバ、受信サーバ、および受信クライアントにこの転送キャンセル要求が順に転送され、各サーバおよび受信クライアントにおいて、ファイルの転送停止やファイルの削除を行う。
【００４４】
また、実施例１に係るファイル転送システムは、上記の他に、ファイルの受信キャンセルに対応することにも特徴がある。具体的には、受信クライアントにおけるファイルの受信中もしくはファイルの受信中断中に、受信クライアントから受信キャンセル要求が受信サーバに送信されると、受信サーバにおいては、受信クライアントに対するファイルの転送を停止し、受信クライアントにおいては、ファイルの削除を行う。そして、再び、受信クライアントから受信サーバに対してファイルの受信要求が送信されると、受信サーバは、ファイルの先頭から転送を開始する。
【００４５】
また、実施例１に係るファイル転送システムは、上記の他に、ファイルの受信放棄に対応することにも特徴がある。具体的には、受信クライアントにおけるファイルの受信中、ファイルの受信中断中、もしくはファイルの受信キャンセル中に、受信クライアントから受信放棄要求が受信サーバに送信されると、受信サーバにおいては、受信クライアントに対するファイルの転送を停止し、所定の場合にファイルを削除し、受信クライアントにおいては、ファイルの削除を行う。そして、再び、受信クライアントから受信サーバに対してファイルの受信要求が送信されると、受信サーバは、ファイルの転送を拒否する通知を送信する。
【００４６】
［実施例１に係るファイル転送システムの構成］
続いて、図２〜図１８を用いて、実施例１に係るファイル転送システムの構成を説明する。図２は、実施例１における送信クライアントおよび受信クライアントの構成を示すブロック図であり、図３は、入力部を説明するための図であり、図４は、容量情報送信部を説明するための図であり、図５は、ファイル送信部を説明するための図であり、図６および図７は、状態情報遷移部を説明するための図であり、図８は、状態情報取得部を説明するための図であり、図９は、転送キャンセル要求送信部を説明するための図であり、図１０は、ファイル受信部を説明するための図であり、図１１は、受信キャンセル要求送信部を説明するための図であり、図１２は、受信放棄要求送信部を説明するための図であり、図１３は、実施例１における転送サーバの構成を示すブロック図であり、図１４は、ファイル管理情報記憶部を説明するための図であり、図１５は、ルーティング情報を説明するための図であり、図１６および図１７は、容量情報転送部を説明するための図であり、図１８は、状態情報転送部を説明するための図である。
【００４７】
［クライアントの構成］
まず、図２では、ファイルを送信する送信クライアントと、最終的にファイルを受信する受信クライアントとを、同じ端末で実現する（ひとつの端末が送信クライアントの機能および受信クライアントの機能の双方を備える）ことを前提とし、このような端末を「クライアント」と呼ぶことにする。図２に示すように、実施例１におけるクライアント１００は、入力部１１０と、出力部１２０と、入出力制御ＩＦ部１３０と、ネットワーク通信部１４０と、記憶部２００と、制御部３００とから構成される。
【００４８】
入力部１１０は、制御部３００による各種処理に用いるデータや、各種処理をするための操作指示などを、キーボード、マウス、または記憶媒体などによって入力する手段である。具体的には、入力部１１０は、クライアント１００によって他のクライアントに送信されるファイルを入力し、後述するファイル記憶部２１０に記憶させる。また、入力部１１０は、クライアント１００によって実行される転送キャンセル要求送信や、受信キャンセル要求送信や、受信放棄要求送信などの操作指示を入力する。例えば、入力部１１０は、図３に示すような、出力部１２０によってモニタに出力されたファイル転送プログラムを実行するソフトウェアの画面において、『送信ファイル名』や『受信ユーザアドレス』のボックスに、クライアント１００によって送信されるファイル名や受信クライアントの宛先などをキーボードによって入力し、『中断』、『再開』、『キャンセル』、『放棄』、または、『送信』などのアイコンをマウスによってクリックすることで操作指示を入力する。なお、図３において、一部のアイコンが網掛けされているが、これは、これらの操作指示に対する入力を受け付けられない状態であることを示す。
【００４９】
出力部１２０は、制御部３００による各種処理の結果や、各種処理をするための操作指示などを、モニタ、またはプリンタなどに出力する手段である。具体的には、出力部１２０は、クライアント１００によって受信され、後述するファイル記憶部２１０に記憶されたファイルを、モニタやプリンタなどに出力する。また、出力部１２０は、クライアント１００によって実行される転送キャンセル要求送信や、受信キャンセル要求送信や、受信放棄要求送信などの操作指示を、入力部１１０によって入力させるための画面を出力する。例えば、出力部１２０は、図３に示すような、ファイル転送プログラムを実行するソフトウェアの画面をモニタに出力する。
【００５０】
ここで、ファイル転送プログラムをクライアント１００において実行するソフトウェアの画面について具体的に説明すると、実施例１におけるクライアント１００は、送信クライアントの機能および受信クライアントの機能の双方を備えるクライアントであるので、図３に示すように、ソフトウェアの画面において、『送信の部』および『受信の部』の双方が出力されている。また、実施例１におけるクライアント１００は、後述する状態情報処理部３１２および状態情報処理部３２２によってファイルの送受信状態に係る情報を取得するなどするので、図３に示すように、ソフトウェアの画面において、『送信状態』および『受信状態』などが出力されている。さらに、実施例１におけるクライアント１００は、後述する転送キャンセル処理部３１３、転送キャンセル処理部３２３、受信キャンセル処理部３２４、および受信放棄処理部３２５によって各種処理を行うので、図３に示すように、ソフトウェアの画面において、各種処理に対応するアイコンが出力されている。      
【００５１】
入出力制御ＩＦ部１３０は、入力部１１０および出力部１２０と、ネットワーク通信部１４０と、記憶部２００および制御部３００との間におけるデータ転送を制御する手段である。
【００５２】
ネットワーク通信部１４０は、クライアント１００が、後述する転送サーバ４００やその他のネットワーク上の装置にネットワークを介して接続され、アクセスするための通信を行う手段である。具体的には、ネットワーク通信部１４０は、パソコンなどに搭載されたＬＡＮボード（Local Area Networkボード）などによって通信を行い、クライアント１００によるファイルの容量情報送信や、ファイルの送受信などを行う。
【００５３】
記憶部２００は、制御部３００による各種処理に用いるデータを記憶する手段であり、特に本発明に密接に関連するものとしては、図２に示すように、ファイル記憶部２１０と、ファイル管理情報記憶部２２０と、状態情報保持部２３０とを備える。
【００５４】
かかる記憶部２００のなかで、ファイル記憶部２１０は、クライアント１００が送受信するファイルを記憶する手段である。具体的には、ファイル記憶部２１０は、入力部１１０によって入力されたファイルをハードディスクなどに記憶し、記憶したファイルは、後述するファイル送信部３１１ｂによるファイル送信処理などに利用される。また、ファイル記憶部２１０は、ネットワーク通信部１４０によって受信されたファイルを記憶し、記憶したファイルは、出力部１２０によって出力されるなどする。例えば、図３において送信の部に出力されている「test1.mpg」、「test2.zip」、「test0.tar」や、受信の部に出力されている「test000.pdf」は、ファイル記憶部２１０が記憶するファイルのファイル名である。
【００５５】
ファイル管理情報記憶部２２０は、クライアント１００が送受信するファイルを管理するための情報を記憶する手段である。具体的には、ファイル管理情報記憶部２２０は、ファイル記憶部２１０が記憶するファイルの管理情報（例えば、ファイル名、ファイルサイズなど）をＲＤＢＭＳ（Relational DataBase Management System）などで記憶し、記憶したファイルの管理情報は、後述する容量情報送信部３１１ａによる容量情報送信処理などに利用される。例えば、ファイル管理情報記憶部２２０は、ファイル記憶部２１０が記憶するファイルのファイル名が「test1.mpg」であり、ファイルサイズが「１０ＭＢ」である場合には、「test1.mpg」と「１０ＭＢ」とを対応づけて記憶し、クライアント１００によって「test1.mpg」が送信される際に、記憶した「１０ＭＢ」の情報は、容量情報送信部３１１ａによって利用される。
【００５６】
状態情報保持部２３０は、クライアント１００が送受信するファイルの送受信状態に係る情報を保持する手段である。具体的には、状態情報保持部２３０は、後述する状態情報処理部３１２または状態情報処理部３２２によって遷移もしくは取得されたファイルの送受信状態に係る情報を保持し、保持した情報は、後述する転送キャンセル処理部３２３による転送キャンセル処理や、受信キャンセル処理部３２４による受信キャンセル処理や、受信放棄処理部３２５による受信放棄処理などに利用される。また、状態情報保持部２３０は、保持した情報を、出力部１２０によって出力される。例えば、状態情報保持部２３０が記憶する送受信状態に係る情報は、図３に示すように、ソフトウェアの画面において、『送信状態』および『受信状態』の欄に表示される。なお、送受信状態に係る情報の具体的な説明については、状態情報処理部３１２の説明において詳述する。
【００５７】
制御部３００は、クライアント１００を制御して各種処理を実行する手段であり、特に本発明に密接に関連するものとしては、図２に示すように、送信処理部３１０と受信処理部３２０とを備える。なお、送信処理部３１０は、クライアント１００が送信クライアントとして機能する際に利用される処理部であり、受信処理部３２０は、クライアント１００が受信クライアントとして機能する際に利用される処理部である。
【００５８】
かかる制御部３００のなかで、送信処理部３１０は、クライアント１００がファイルを送信する手段であり、ファイル送信処理部３１１と、状態情報処理部３１２と、転送キャンセル処理部３１３とを備える。
【００５９】
ここで、ファイル送信処理部３１１の構成について説明すると、ファイル送信処理部３１１は、クライアント１００がファイルを送信する手段であり、図２に示すように、容量情報送信部３１１ａと、ファイル送信部３１１ｂとを備える。なお、容量情報送信部３１１ａは、特許請求の範囲に記載の「容量情報送信手段」に対応し、ファイル送信部３１１ｂは、特許請求の範囲に記載の「ファイル送信手段」に対応する。
【００６０】
容量情報送信部３１１ａは、クライアント１００によって行われるファイル送信処理において、ファイルの容量情報を送信サーバに送信する手段である。具体的には、容量情報送信部３１１ａは、ファイル記憶部２１０によって記憶されるファイルを送信する前に、ファイル管理情報記憶部２２０によって記憶される送信対象のファイルのファイル容量情報を、送信サーバに送信する。例えば、容量情報送信部３１１ａは、図４に示すような要求メッセージを送信サーバに送信する。
【００６１】
ここで、図４に示す要求メッセージについて説明すると、「RequestFileTransfer」は、これからクライアント１００がファイルの送信（転送）を行いたい旨を、送信サーバに伝えるためのメッセージである。また、「Sender＝user1@domain1」は、クライアント１００のアドレス（ネットワーク上でクライアント１００を識別するための情報）であり、ドメイン名「domain1」に属するユーザ名「user1」であることを示している。また、「Receiver＝user2@domain2」は、最終的にファイルを受信するクライアントのアドレスであり、ドメイン名「domain2」に属するユーザ名「user2」であることを示している。また、「Filename＝test.mpg」は、送信対象のファイルのファイル名が「test.mpg」であることを示している。また、「Filesize＝10MB」は、送信対象のファイルの容量が10MBであることを示している。
【００６２】
このように、実施例１における容量情報送信部３１１ａは、送信対象のファイルの容量情報と共に、送信クライアントのアドレス、受信クライアントのアドレス、送信対象のファイルのファイル名も送信する。なお、容量情報送信部３１１ａによって送信された要求メッセージを受信した送信サーバは、図４に示すように、応答メッセージとして、「OK ReqestFile Transfer」を応答する。
【００６３】
ファイル送信部３１１ｂは、クライアント１００によって行われるファイル送信処理において、送信サーバにファイルを送信する手段である。具体的には、ファイル送信部３１１ｂは、送信サーバからファイルの転送を許可する転送許可情報を受信した場合に、ファイル記憶部２１０に記憶するファイルを送信サーバに送信する。例えば、ファイル送信部３１１ｂは、図５に示すような要求メッセージを送信サーバに送信する。
【００６４】
ここで、図５に示す要求メッセージについて説明すると、「FileTransfer」は、これからクライアント１００がファイルの送信（転送）を行う旨を、送信サーバに伝えるためのメッセージである。また、「（以下転送対象ファイル）」は、送信対象のファイルの具体的なデータを示す。なお、ファイル送信部３１１ｂによって送信された要求メッセージを受信した送信サーバは、図５に示すように、応答メッセージとして、「OK File Transfer」を応答する。
【００６５】
状態情報処理部３１２の構成について説明すると、状態情報処理部３１２は、クライアント１００がファイルの送受信状態に係る情報を遷移または取得する手段であり、図２に示すように、状態情報遷移部３１２ ａと、状態情報取得部３１２ｂとを備える。
【００６６】
状態情報遷移部３１２ａは、クライアント１００が送信するファイルの送信状態を検知して、送受信状態に係る情報を遷移させる手段である。具体的には、状態情報遷移部３１２ａは、ファイルの送信状態を検知して、状態情報保持部２３０によって保持される送受信状態に係る情報を遷移させる。
【００６７】
ここで、図６および図７を用いて、実施例１における状態情報について説明する。状態情報としては、ファイルの送信状態とファイルの受信状態の２種類がある。図６の（Ａ）および図７の（Ａ）が、ファイルの送信状態の遷移を示している。まず、図６の（Ａ）をみると、「初期状態」、「ファイル送信中（Sending）」、「ファイル送信中断（SendingSuspend）」、「送信サーバまでファイル送信完了（FileAccepted）」、および「受信サーバまでファイル送信完了（ReceiveEnable）」の送信状態がある。
【００６８】
「初期状態」は、クライアント１００がファイルの送信を開始する前の状態であり、クライアント１００において何も実行されていない状態や、容量情報送信部３１１ａによって容量情報が送信サーバに送信されている状態などが考えられる。「ファイル送信中（Sending）」は、クライアント１００によって送信サーバにファイルが送信されている状態である。「ファイル送信中断（SendingSuspend）」は、クライアント１００によって送信サーバにファイルの送信が開始されたが、送信サーバにおいてファイル全部が受信される前に、ファイルの送信が中断されている状態である。中断の原因としては、ネットワーク障害や、クライアント１００による自発的な中断などが考えられる。「送信サーバまでファイル送信完了（FileAccepted）」は、クライアント１００によって送信されたファイル全部が送信サーバにおいて受信された状態である。「受信サーバまでファイル送信完了（ReceiveEnable）」は、クライアント１００によって送信されたファイル全部が受信サーバにおいて受信された状態である。
【００６９】
これらの送信状態のうち、状態情報遷移部３１２ａが検知するのは、「初期状態」、「ファイル送信中（Sending）」、「ファイル送信中断（SendingSuspend）」、および「送信サーバまでファイル送信完了（FileAccepted）」の送信状態である（「受信サーバまでファイル送信完了（ReceiveEnable）」の送信状態については検知することができない）。
【００７０】
図６の（Ａ）に示すように、状態情報遷移部３１２ａは、例えば、ファイル送信部３１１ｂによってファイルの送信が開始されたことを検知すると、状態情報保持部２３０によって保持されている送信状態に係る状態情報を、「初期状態」から「ファイル送信中（Sending）」に遷移させる。また、状態情報遷移部３１２ａは、例えば、「ファイル送信中（Sending）」に送信中断されたことを検知すると、状態情報保持部２３０によって保持されている送信状態に係る状態情報を、「ファイル送信中（Sending）」から「ファイル送信中断（SendingSuspend）」に遷移させ、送信再開されたことを検知すると、「ファイル送信中断（SendingSuspend）」から「ファイル送信中（Sending）」に遷移させる。また、状態情報遷移部３１２ａは、例えば、「ファイル送信中（Sending）」に送信サーバまで送信完了したことを検知すると、状態情報保持部２３０によって保持されている送信状態に係る状態情報を、「ファイル送信中（Sending）」から「送信サーバまでファイル送信完了（FileAccepted）」に遷移させる。
【００７１】
同様に、図７の（Ａ）をみると、「初期状態」、「ファイル送信中（Sending）」、「ファイル送信中断（SendingSuspend）」、「送信サーバまでファイル送信完了（FileAccepted）」、および「受信サーバまでファイル送信完了（ReceiveEnable）」の送信状態の他に、「転送キャンセル（SendingCancel）」の送信状態がある。「転送キャンセル（SendingCancel）」は、後述する転送キャンセル要求送信部３１３ａによって転送キャンセル情報が送信された状態である。そして、状態情報遷移部３１２ａは、例えば、クライアント１００から送信サーバにファイルが送信されている途中などに転送キャンセルされたことを検知すると、状態情報保持部２３０によって保持されている送信状態に係る状態情報を、「ファイル送信中（Sending）」から「転送キャンセル（SendingCancel）」に遷移させる。
【００７２】
なお、実施例１においては、「初期状態」、「ファイル送信中（Sending）」、「ファイル送信中断（SendingSuspend）」、「送信サーバまでファイル送信完了（FileAccepted）」、および「受信サーバまでファイル送信完了（ReceiveEnable）」の送信状態や、この他に「転送キャンセル（SendingCancel）」の送信状態について、送信状態情報を遷移または取得させる場合を説明したが、この発明はこれに限定されるものではなく、例えば、「容量情報送信中」などの送信状態についても遷移または取得するなど、その他の送信状態を含む場合や、あるいは、一部の送信状態について省略する場合など、いずれでもよい。
【００７３】
状態情報取得部３１２ｂは、送受信状態に係る情報を、送信サーバに要求して取得する手段である。具体的には、状態情報取得部３１２ｂは、送信サーバにおける状態情報保持部において保持されている状態情報を要求して取得する。例えば、状態情報取得部３１２ｂは、図８に示すような要求メッセージを送信サーバに送信する。
【００７４】
ここで、図８に示す要求メッセージについて説明すると、「GetStatus」は、状態情報取得部３１２ｂが状態情報の取得する旨を、送信サーバに伝えるためのメッセージである。図８に示すように、状態情報の取得は、「FileList＝test100.zip,test200.mp3」と送受信状態に係る情報を取得したいファイル名を指定して行われる。一方、状態情報取得部３１２ｂによって送信された要求メッセージを受信した送信サーバは、図８に示すように、応答メッセージとして、「OK GetStatus」を応答する他に、「StatusList＝(test100.zip,Receive Enable, Receiving)，（test200.mp3,ReceiveEnable,ReceiveSuspend）」と応答する。なお、「test100.zip」は、送信状態として「受信サーバまでファイル送信完了（ReceiveEnable）」にあり、受信状態として「受信クライアントがファイル受信中（Receiving）」にあることを示している。また、「test200.mp3」は、送信状態として「受信サーバまでファイル送信完了（ReceiveEnable）」にあり、受信状態として「ファイル受信中断（ReceivingSuspend）」にあることを示している。
【００７５】
転送キャンセル処理部３１３の構成について説明すると、転送キャンセル処理部３１３は、クライアント１００が送信したファイルの転送をキャンセルする手段であり、図２に示すように、転送キャンセル要求送信部３１３ａを備える。なお、転送キャンセル要求送信部３１３ａは、特許請求の範囲に記載の「転送キャンセル要求送信手段」に対応する。
【００７６】
転送キャンセル要求送信部３１３ａは、ファイルの転送をキャンセルすることを指示する転送キャンセル要求を、送信サーバに送信する手段である。具体的には、転送キャンセル要求送信部３１３ａは、ファイル送信部３１１ｂによって送信されたファイルが、受信クライアントにおいて受信完了する前に、受信クライアントに対するファイルの転送をキャンセルするためのメッセージを送信サーバに送信する。例えば、転送キャンセル要求送信部３１３ａは、図９に示すような要求メッセージを送信サーバに送信する。
【００７７】
ここで、図９に示す要求メッセージについて説明すると、「CancelFileTransfer」は、クライアント１００がファイルの転送をキャンセルする旨を、送信サーバに伝えるためのメッセージである。また、「Filename＝test1.mpg」は、転送をキャンセルする対象のファイルのファイル名である。すなわち、「test1.mpg」の転送をキャンセルすることを指示している。
【００７８】
また、かかる制御部３００のなかで、受信処理部３２０は、クライアント１００がファイルを受信する手段であり、ファイル受信部３２１と、状態情報処理部３２２と、転送キャンセル処理部３２３と、受信キャンセル処理部３２４と、受信放棄処理部３２５とを備える。
【００７９】
ここで、ファイル受信部３２１は、クライアント１００によって行われるファイルの受信処理において、ファイルを受信サーバから受信する手段である。具体的には、ファイル受信部３２１は、ネットワーク通信部１４０によって受信サーバからファイルを受信し、ファイル記憶部２１０に記憶させる。例えば、ファイル受信部３２１は、図１０に示すような要求メッセージを受信サーバに送信する。
【００８０】
ここで、図１０に示す要求メッセージについて説明すると、まず、図１０の（Ａ）に示す「RequestFileList」は、クライアント１００宛に送信されたファイルが受信サーバに到達しているかどうかを確認するため、クライアント１００宛に送信されたファイルのリストの取得を要求するメッセージである。一方、ファイル受信部３２１によって送信された要求メッセージを受信した受信サーバは、図１０の（Ａ）に示すように、応答メッセージとして、「OK RequestFileList」を応答する他に、「FileList＝test100.zip,test200.mp3」と応答する。すなわち、クライアント１００宛に送信されたファイルとして、「test100.zip」および「test200.mp3」が受信サーバに到達していることを示している。
【００８１】
次に、ファイル受信部３２１は、返却されたファイルリストに含まれるファイルについて、ファイルの受信を要求するファイルの受信要求を送信する。図１０の（Ｂ）に示す「ReceiveFile」は、ファイルの受信を希望する旨を、受信サーバに伝えるメッセージである。また、「Filename＝test100.zip」は、ファイル名「test100.zip」のファイルの受信を希望することを示している。一方、ファイル受信部３２１によって送信された要求メッセージを受信した受信サーバは、図１０の（Ｂ）に示すように、応答メッセージとして、「OK ReceiveFile」を応答する。また、「（以下転送対象ファイル）」は、受信対象のファイルの具体的なデータを示す。
【００８２】
状態情報処理部３２２の構成について説明すると、状態情報処理部３２２は、クライアント１００において状態情報を処理する手段であり、図２に示すように、状態情報遷移部３２２ａと、状態情報取得部３２２ｂとを備える。
【００８３】
状態情報遷移部３２２ａは、クライアント１００が受信するファイルの受信状態を検知して、送受信状態にかかる情報を遷移させる手段である。具体的には、ファイルの受信状態を検知して、状態情報保持部２３０によって保持される送受信状態に係る情報を遷移させる。
【００８４】
ここで、図６および図７を用いて、実施例１における受信状態に係る状態情報について説明する。図６の（Ｂ）および図７の（Ｂ）が、ファイルの受信状態の遷移を示している。まず、図６の（Ｂ）をみると、「初期状態」、「受信クライアントがファイル受信中（Receiving）」、「ファイル受信中断（ReceivingSuspend）」、および「ファイル受信完了（Received）」の受信状態がある。
【００８５】
「初期状態」は、クライアント１００がファイルの受信を開始する前の状態であり、クライアント１００において何も実行されていない状態や、ファイル受信部３２１によって受信サーバにファイルのリストの取得が要求されている状態などが考えられる。「受信クライアントがファイル受信中（Receiving）」は、クライアント１００によって受信サーバからファイルが受信されている状態である。「ファイル受信中断（ReceivingSuspend）」は、クライアント１００によって受信サーバからファイルの受信が開始されたが、クライアント１００においてファイル全部が受信される前に、ファイルの受信が中断されている状態である。中断の原因としては、ネットワーク障害や、クライアント１００による自発的な中断などが考えられる。「ファイル受信完了（Received）」は、クライアント１００によって、受信サーバからファイル全部が受信された状態である。これらの受信状態すべてを、状態情報遷移部３２２ａは検知する。
【００８６】
図６の（Ｂ）に示すように、状態情報遷移部３２２ａは、例えば、ファイル受信部３２１によってファイルの受信が開始されたことを検知すると、状態情報保持部２３０によって保持されている受信状態に係る状態情報を、「初期状態」から「受信クライアントがファイル受信中（Receiving）」に遷移させる。また、状態情報遷移部３２２ａは、例えば、「受信クライアントがファイル受信中（Receiving）」に受信中断されたことを検知すると、状態情報保持部２３０によって保持されている受信状態に係る状態情報を、「受信クライアントがファイル受信中（Receiving）」から「ファイル受信中断（ReceivingSuspend）」に遷移させ、受信再開されたことを検知すると、「ファイル受信中断（ReceivingSuspend）」から「受信クライアントがファイル受信中（Receiving）」に遷移させる。また、状態情報遷移部３２２ａは、例えば、「受信クライアントがファイル受信中（Receiving）」にクライアント１００において受信完了したことを検知すると、状態情報保持部２３０によって保持されている受信状態に係る情報を、「受信クライアントがファイル受信中（Receiving）」から「ファイル受信完了（Received）」に遷移させる。
【００８７】
同様に、図７の（Ｂ）をみると、「初期状態」、「受信クライアントがファイル受信中（Receiving）」、「ファイル受信中断（ReceivingSuspend）」、および「ファイル受信完了（Received）」の受信状態のほかに、「受信キャンセル（ReceivingCancel）」および「受信放棄（ReceivingRenounce）」の受信状態がある。「受信キャンセル（ReceivingCancel）」は、後述する受信キャンセル要求送信部３２４ａによって受信キャンセル情報が送信された状態である。そして、状態情報遷移部３２２ａは、例えば、クライアント１００が受信サーバからファイルを受信している途中に受信キャンセルされたことを検知すると、状態情報保持部２３０によって保持されている受信状態に係る状態情報を、「受信クライアントがファイル受信中（Receiving）」から「受信キャンセル（ReceivingCancel）」に遷移させる。
【００８８】
なお、実施例１においては、「初期状態」、「受信クライアントがファイル受信中（Receiving）」、「ファイル受信中断（ReceivingSuspend）」、および「ファイル受信完了（Received）」の受信状態や、この他に「受信キャンセル（ReceivingCancel）」、および「受信放棄（ReceivingRenounce）」の受信状態について、受信状態情報を遷移または取得させる場合を説明したが、この発明はこれに限定されるものではなく、例えば、「ファイルリスト送信中」などの受信状態についても遷移または取得するなど、その他の受信状態を含む場合や、あるいは、一部の受信状態について省略する場合など、いずれでもよい。
【００８９】
状態情報取得部３２２ｂは、送受信状態に係る情報を、受信サーバに要求して取得する手段である。具体的には、状態情報取得部３２２ｂは、受信サーバにおける状態情報保持部において保持されている状態情報を要求して取得する。例えば、状態情報取得部３２２ｂは、送信処理部３１０における状態情報取得部３１２ｂと同様に、図８に示すような要求メッセージを送信サーバに送信する。
【００９０】
転送キャンセル処理部３２３の構成について説明すると、転送キャンセル処理部３２３は、クライアント１００においてファイル全部が受信される前に送信クライアントによってファイルの転送がキャンセルされた場合に、クライアント１００において転送キャンセルの処理を行う手段であり、図２に示すように、ファイル削除部３２３ａと、削除完了通知送信部３２３ｂとを備える。なお、ファイル削除部３２３ａは、特許請求の範囲に記載の「第一のファイル削除手段」に対応する。
【００９１】
ファイル削除部３２３ａは、受信サーバから受信した転送キャンセル要求によって指示されたファイルを削除する手段である。具体的には、ファイル削除部３２３ａは、送信クライアントからクライアント１００宛に送信されたファイルで、クライアント１００においてファイル全部が受信される前であれば、受信サーバから転送キャンセル要求によって指示されたファイルを削除する。例えば、ファイル削除部３２３ａは、送信クライアントから送信された図１０に示すような転送キャンセル要求を受信サーバから受信すると、ファイル記憶部２１０もしくは図示しない一時的な記憶領域上に記憶されたファイル名「test1.mpg」のファイルを削除する。削除完了通知送信部３２３ｂは、ファイルの削除がクライアント１００において完了したことを示す削除完了通知を、受信サーバに送信する手段である。
【００９２】
受信キャンセル処理部３２４の構成について説明すると、受信キャンセル処理部３２４は、受信サーバからのファイルの受信をキャンセルする手段であり、図２に示すように、受信キャンセル要求送信部３２４ａと、ファイル削除部３２４ｂとを備える。なお、受信キャンセル要求送信部３２４ａは、特許請求の範囲に記載の「受信キャンセル要求送信手段」に対応し、ファイル削除部３２４ｂは、「第二のファイル削除手段」に対応する。
【００９３】
受信キャンセル要求送信部３２４ａは、ファイルの受信をキャンセルすることを指示する受信キャンセル要求を、受信サーバに送信する手段である。具体的には、受信キャンセル要求送信部３２４ａは、ファイル受信部３２１によって受信されたファイルが、受信クライアントにおいて受信完了する前（受信中もしくは受信中断中）に、受信サーバからのファイルの受信をキャンセルするためのメッセージを受信サーバに送信する。例えば、受信キャンセル要求送信部３２４ａは、図１１に示すような要求メッセージを受信サーバに送信する。
【００９４】
ここで、図１１に示す要求メッセージについて説明すると、「CancelReceiving」は、クライアント１００がファイルの受信をキャンセルする旨を、受信サーバに伝えるためのメッセージである。また、「Filename＝test1.mpg」は、受信をキャンセルする対象のファイルのファイル名である。すなわち、ファイル名「test1.mpg」のファイルの受信をキャンセルすることを指示している。
【００９５】
ファイル削除部３２４ｂは、受信サーバにおいてファイルの転送を停止したことを示す受信キャンセル完了通知を受信サーバから受信すると、すでに受信したファイルを削除する手段である。具体的には、ファイル削除部３２４ｂは、受信サーバからクライアント１００に送信されているファイルで、クライアント１００においてファイル全部が受信される前であれば、受信キャンセル要求によって指示したファイルを削除する。例えば、ファイル削除部３２４ｂは、受信キャンセル要求送信部３２４ａにおいて、図１１に示すような受信キャンセル要求を受信サーバに送信し、受信サーバから受信キャンセル完了通知を受信すると、ファイル名「test1.mpg」のファイルを削除する。
【００９６】
受信放棄処理部３２５の構成について説明すると、受信放棄処理部３２５は、受信サーバからのファイルの受信を放棄する手段であり、図２に示すように、受信放棄要求送信部３２５ａと、ファイル削除部３２５ｂとを備える。なお、受信放棄要求送信部３２５ａは、特許請求の範囲に記載の「受信放棄要求送信手段」に対応し、ファイル削除部３２５ｂは、特許請求の範囲に記載の「第三のファイル削除手段」に対応する。
【００９７】
受信放棄要求送信部３２５ａは、ファイルの受信を放棄することを指示する受信放棄要求を、受信サーバに送信する手段である。具体的には、受信放棄要求送信部３２５ａは、ファイル受信部３２１によって受信されたファイルが、受信クライアントにおいて受信完了する前（受信中、受信中断中もしくは受信キャンセル中）に、受信サーバからのファイルの受信を放棄するためのメッセージを受信サーバに送信する。例えば、受信放棄要求送信部３２５ａは、図１２に示すような要求メッセージを受信サーバに送信する。
【００９８】
ここで、図１２に示す要求メッセージについて説明すると、「RenounceReceiving」は、クライアント１００がファイルの受信を放棄する旨を、受信サーバに伝えるためのメッセージである。また、「Filename＝test1.mpg」は、受信を放棄する対象のファイルのファイル名である。すなわち、ファイル名「test1.mpg」のファイルの受信を放棄することを指示している。
【００９９】
ファイル削除部３２５ｂは、受信サーバにおいてクライアント１００に対するファイルの転送を放棄したことを示す受信放棄完了通知を受信サーバから受信すると、すでに受信したファイルを削除する手段である。具体的には、ファイル削除部３２５ｂは、受信サーバからクライアント１００に送信されているファイルで、クライアント１００においてファイル全部が受信される前であれば、受信放棄要求によって指示したファイルを削除する。例えば、ファイル削除部３２５ｂは、受信放棄要求送信部３２５ａにおいて図１２に示すような受信放棄要求を受信サーバに送信し、受信サーバから受信放棄完了通知を受信すると、ファイル名「test1.mpg」のファイルを削除する。
【０１００】
［転送サーバの構成］
次に、図１３では、送信クライアントからファイルを受信する送信サーバと、受信クライアントにファイルを送信する受信サーバと、送信サーバと受信サーバとの間でファイルが経由する中継サーバとを同じ端末で実現する（ひとつの端末が、送信サーバになることも、受信サーバになることも、中継サーバになることもある）ことを前提とし、このような端末を「転送サーバ」と呼ぶことにする。図１３に示すように、実施例１における転送サーバ４００は、ネットワーク通信部４１０と、記憶部５００と、制御部６００とから構成される。
【０１０１】
ネットワーク通信部４１０は、転送サーバ４００が、クライアント１００やその他のネットワーク上の装置にネットワークを介して接続され、アクセスするための通信を行う手段である。具体的には、ネットワーク通信部４１０は、パソコンなどに搭載されたＬＡＮボードなどによって通信を行い、転送サーバ４００によるファイルの容量情報転送や、ファイルの転送などを行う。
【０１０２】
記憶部５００は、制御部６００による各種処理に用いるデータを記憶する手段であり、特に本発明に密接に関連するものとしては、図１３に示すように、ファイル記憶部５１０と、ファイル管理情報記憶部５２０ と、状態情報保持部５３０とを備える。
【０１０３】
かかる記憶部５００のなかで、ファイル記憶部５１０は、転送サーバ４００が転送するファイルを記憶する手段である。具体的には、ファイル記憶部５１０は、ネットワーク通信部４１０によってクライアント１００もしくは他の転送サーバから受信したファイルをハードディスクなどに記憶し、記憶したファイルは、後述するファイル転送部６１５によるファイル転送処理などに利用される。
【０１０４】
ファイル管理情報記憶部５２０は、転送サーバ４００が転送するファイルを管理するための情報を記憶する手段である。具体的には、ファイル管理情報記憶部５２０は、ファイル記憶部５１０が記憶するファイルの管理情報（例えば、ファイル名、ファイルサイズなど）をＲＤＢＭＳなどで記憶し、記憶したファイルの管理情報は、後述する容量情報転送部６１２による容量情報転送処理などに利用される。例えば、ファイル管理情報記憶部５２０は、図１４に示すような管理情報を記憶している。ここで、図１４について説明すると、ファイル記憶部５１０が記憶するファイルのファイル名として、「test1.mpg」および「test2.zip」が記憶されている。また、例えば、「test1.mpg」について、ファイルサイズが１０ＭＢであること、ルーティング情報が「server1、server2、server3」であること、送信ユーザアドレスが「user1@domain1」であること、受信ユーザアドレスが「user2@domain2」であることが対応づけられて記憶されている。
【０１０５】
ここで、ルーティング情報について説明すると、実施例１における転送サーバ４００は、ルーティング情報（送信クライアントと受信クライアントとの間でデータを送受信する際に経由すべきサーバ等の経路情報）が、ルーティングサーバから転送サーバ４００に提供される場合を前提とする。このため、実施例１において、ルーティングサーバは、図１５に示すようなルーティング情報を保持している。
【０１０６】
例えば、図１５に示す１行目のルーティング情報をみると、送信ユーザドメインが「domain1」と示され、受信ユーザドメインが「domain2」と示され、経由サーバリストが「server1,server2,server3」のように送信ユーザドメインに近い方から順にカンマ区切りで示されている。これは、所属するドメインが「domain1」である送信クライアントから、所属するドメインが「domain2」である受信クライアントに送信されたデータは、「server1」、「server2」、「server３」の順でサーバを経由して転送されるべきであり、「server3」が受信クライアントの収容されているサーバ（受信クライアントにファイルを送信するサーバ）であることを意味している。ファイル管理情報記憶部５２０は、このようなルーティングサーバから提供されるルーティング情報を、図１４に示すように、転送対象となるファイルと対応づけて記憶する。
【０１０７】
図１３に戻ると、状態情報保持部５３０は、クライアント１００が送受信するファイルの送受信状態に係る情報を保持する手段である。具体的には、状態情報保持部５３０は、後述する状態情報遷移部６２１および状態情報転送部６２３によって遷移もしくは転送されたファイルの送受信状態に係る情報を保持し、保持した情報は、後述する状態情報送信部６２２による状態情報送信処理に利用される。また、状態情報保持部５３０に保持された送受信状態に係る情報は、図１４に示すように、例えば、「test1.mpg」について、送信状態に係る情報が「ReceiveEnable（受信サーバまでファイル送信完了）」であること、受信状態に係る情報が「Receiving（受信クライアントがファイル受信中）」であることが対応づけられて保持されている。なお、図１４においては、ファイル管理情報記憶部５２０によって記憶される情報と、状態情報保持部５３０によって保持される情報とが、同じテーブルに記憶されている構成を説明したが、別々のテーブルがＲＤＢＭＳによって連携されている構成など、いずれの構成でもよい。
【０１０８】
制御部６００は、転送サーバ４００を制御して各種処理を実行する手段であり、特に本発明に密接に関連するものとしては、図１３に示すように、ファイル転送処理部６１０と、状態情報処理部６２０と、転送キャンセル処理部６３０と、受信キャンセル処理部６４０と、受信放棄処理部６５０とを備える。
【０１０９】
かかる制御部６００のなかで、ファイル転送処理部６１０は、転送サーバ４００がファイルを転送する手段であり、判断部６１１と、容量情報転送部６１２と、転送許可情報送信部６１３と、転送許可情報転送部６１４と、ファイル転送部６１５とを備える。なお、判断部６１１は、特許請求の範囲に記載の送信サーバの「判断手段」と中継サーバの「判断手段」と受信サーバの「判断手段」とに対応する。また、容量情報転送部６１２は、特許請求の範囲に記載の送信サーバの「容量情報送信手段」と中継サーバの「容量情報送信手段」とに対応する。また、転送許可情報送信部６１３は、特許請求の範囲に記載の受信サーバの「転送許可情報送信手段」に対応する。また、転送許可情報転送部６１４は、特許請求の範囲に記載の送信サーバの「転送許可情報転送手段」と中継サーバの「転送許可情報転送手段」とに対応する。また、ファイル転送部６１５は、特許請求の範囲に記載の送信サーバの「ファイル転送手段」と中継サーバの「ファイル転送手段」とに対応する。
【０１１０】
判断部６１１は、クライアント１００から受信したファイルの容量情報とファイルを蓄積する記憶領域の空き領域とを比較して、ファイルの転送の許可を判断する手段である。具体的には、判断部６１１は、転送サーバ４００が送信サーバとして機能する際には、クライアント１００から受信したファイルの容量情報とファイルを蓄積する記憶領域の空き領域とを比較して、ファイルの転送の許可を判断する。
【０１１１】
例えば、判断部６１１は、（仮想的に定めた記憶領域の最大値）−（（転送サーバに記録されている過去に受信したファイルの容量情報の総和）−（転送サーバに記録されている過去に転送し既に記憶領域から削除されたファイルの容量情報の総和））を計算する。すなわち、判断部６１１は、ファイル管理情報記憶部５２０に記憶されている全ファイルの容量情報の総和（Ｓ１とする）と、受信状態が「ファイル受信完了」になっているファイルの容量情報の総和（Ｓ２とする）とを計算し、転送サーバの記憶領域として利用可能な仮想的な容量情報の上限（Ｓｕとする）と、ファイル転送要求に含まれる転送対象ファイルのサイズ（Ｓｆとする）とを用いて、式（Ｓｆ≦Ｓｕ−（Ｓ１−Ｓ２））が真であるかを評価し、真であれば、ファイルの転送の許可を判断する。
【０１１２】
なお、実施例１においては、ファイルの転送を開始するタイミングとして、転送サーバがファイルの全部を記憶領域に蓄積した状態で（ファイルの受信が完了した状態で）、次の転送サーバにファイルの転送を開始する場合を説明したが、この発明はこれに限定されるものではなく、転送サーバ４００がファイルの一部を記憶領域に蓄積した状態で（ファイルの受信が完了しない状態で）、次の転送サーバ４００（もしくはクライアント１００）にファイルの転送を開始する（ファイルの受信と転送とを並行して行う）場合にも、この発明を同様に適用することができ、この場合には、転送するファイルの容量情報とファイルを蓄積する記憶領域の空き領域とを比較して、記憶領域の空き領域を適切に確保できればよい。
【０１１３】
また、判断部６１１は、転送サーバ４００が中継サーバとして機能する際には、クライアント１００側の中継サーバもしくは送信サーバから受信したファイルの容量情報とファイルを蓄積する記憶領域とを比較して、送信サーバとして機能する場合と同様に、ファイルの転送の許可を判断する。また、判断部６１１は、転送サーバ４００が受信サーバとして機能する場合には、中継サーバから受信したファイルの容量情報とファイルを蓄積する記憶領域の空き領域とを比較して、送信サーバとして機能する場合や中継サーバとして機能する場合と同様に、ファイルの転送の許可を判断する。
【０１１４】
容量情報転送部６１２は、判断部６１１によってファイルの転送が許可された場合に、受信クライアント側の他の転送サーバにファイルの容量情報を転送する手段である。具体的には、容量情報転送部６１２は、転送サーバ４００が送信サーバとして機能する際には、判断部６１１によってファイルの転送が許可された場合に、まず、ルーティングサーバからルーティング情報を取得し、次に、中継サーバにファイルの容量情報を転送する。例えば、容量情報転送部６１２は、図１６に示すような要求メッセージを、ルーティングサーバに送信する。
【０１１５】
ここで、図１６に示す要求メッセージについて説明すると、「GetRoutingInfo」は、転送サーバ４００がルーティング情報を要求する旨を、ルーティングサーバに伝えるためのメッセージである。また、「Sender＝user1@domain1」は、ファイルを送信するクライアントのアドレス（ネットワーク上でクライアントを識別するための情報）であり、ドメイン名「domain1」に属するユーザ名「user1」であることを示している。また、「Receiver＝user2@domain2」は、最終的にファイルを受信するクライアントのアドレスであり、ドメイン名「domain2」に属するユーザ名「user2」であることを示している。このような要求メッセージにより、容量情報転送部６１２は、送信クライアントから受信クライアントに至るまでのルーティング情報を要求する。
【０１１６】
なお、容量情報転送部６１２によって送信された要求メッセージを受信したルーティングサーバは、図１６に示すように、応答メッセージとして、「OK GetRoutingInfo」と、ルーティング情報である「Route＝server1,server2,server3」とを応答する。すなわち、所属するドメインが「domain1」である送信クライアントから、所属するドメインが「domain2」である受信クライアントに送信されたデータは、「server1」、「server2」、「server３」の順でサーバを経由して転送されるべきであるというルーティング情報を応答する。このような応答メッセージにより、容量情報転送部６１２は、送信クライアントから受信クライアントに至るまでのルーティング情報を取得する。
【０１１７】
また、容量情報転送部６１２は、ルーティングサーバからルーティング情報を取得すると、次に、図１７に示すような要求メッセージを、中継サーバに送信する。ここで、図１７に示す要求メッセージについて説明すると、「ServerRequestFileTransfer」は、これから転送サーバ４００がファイルの転送を行いたい旨を、中継サーバに伝えるためのメッセージである。また、「Sender＝user1@domain1」は、図１６と同様、ファイルを送信するクライアントのアドレスであり、ドメイン名「domain1」に属するユーザ名「user1」であることを示している。また、「Receiver＝user2@domain2」は、図１６と同様、最終的にファイルを受信するクライアントのアドレスであり、ドメイン名「domain2」に属するユーザ名「user2」であることを示している。また、「Filename＝test.mpg」は、転送対象のファイルのファイル名が「test.mpg」であることを示している。また、「Filesize＝10MB」は、転送対象のファイルの容量が１０ＭＢであることを示している。また、「Route＝server1,server2,server3」は、「user1」から「user2」に送信されたファイルは、「server1」、「server2」、「server3」の順でサーバを経由して送信されるべきであり、「server3」が受信クライアントの収容されているサーバであるという経路情報を示している。なお、容量情報転送部６１２によって送信された要求メッセージを受信した中継サーバは、図１７に示すように、応答メッセージとして、「OK ServerRequestFileTransfer」を応答する。
【０１１８】
また、容量情報転送部６１２は、転送サーバ４００が中継サーバとして機能する際には、ルーティング情報は、送信サーバによってすでに取得されて転送されているので、判断部６１１によってファイルの転送が許可された場合に、受信クライアント側の中継サーバもしくは受信サーバに、ファイルの容量情報を転送する。
【０１１９】
転送許可情報送信部６１３は、転送サーバ４００が受信サーバとして機能する際に、ファイルの転送を許可する転送許可情報を中継サーバに送信する手段である。具体的には、転送許可情報送信部６１３は、判断部６１１によってファイルの転送が許可された場合に、転送許可情報を中継サーバに送信する。
【０１２０】
転送許可情報転送部６１４は、転送許可情報を転送する手段である。具体的には、転送許可情報転送部６１４は、転送サーバ４００が中継サーバとして機能する際に、受信クライアント側の中継サーバもしくは受信サーバから受信した転送許可情報を、送信クライアント側の中継サーバもしくは送信サーバに転送する。また、転送許可情報転送部６１４は、転送サーバ４００が送信サーバとして機能する際に、中継サーバから受信した転送許可情報を送信クライアントに転送する。
【０１２１】
ファイル転送部６１５は、ファイルを転送する手段である。具体的には、ファイル転送部６１５は、転送サーバ４００が送信サーバとして機能する際に、送信クライアントから受信したファイルを中継サーバに転送する。また、ファイル転送部６１５は、転送サーバ４００が中継サーバとして機能する際に、送信クライアント側の中継サーバもしくは送信サーバから受信したファイルを、受信クライアント側の中継サーバもしくは受信サーバに転送する。また、ファイル転送部６１５は、転送サーバ４００が受信サーバとして機能する際に、中継サーバから受信したファイルを受信クライアントに転送する。
【０１２２】
制御部６００のなかで、状態情報処理部６２０は、転送サーバ４００がファイルの送受信状態に係る情報を遷移、送信、または転送する手段であり、状態情報遷移部６２１と、状態情報送信部６２２と、状態情報転送部６２３とを備える。
【０１２３】
状態情報遷移部６２１は、送受信状態に係る情報を遷移させる手段である。具体的には、状態情報遷移部６２１は、転送サーバ４００が送信サーバとして機能する際には、送信クライアントから受信したファイルの送信状態を検知して、状態情報保持部５３０によって保持する送受信状態に係る情報を遷移させる。例えば、図６の（Ａ）に示すように、送信サーバにおいては、「初期状態」、「ファイル送信中（Sending）」、「ファイル送信中断（SendingSuspend）」、および「送信サーバまでファイル送信完了（FileAccepted）」を検知して、送受信状態に係る情報を遷移させる。
【０１２４】
また、状態情報遷移部６２１は、同じく送信サーバとして機能する際には、中継サーバから送受信状態に係る情報を受信して、状態情報保持部５３０によって保持する送受信状態に係る情報を遷移させる。例えば、図６に示すように、送信サーバにおいては、「受信サーバまでファイル送信完了（ReceiveEnable）」および受信状態に係る情報を検知することができないので、これらの情報を中継サーバから受信して、送受信状態に係る情報を遷移させる。
【０１２５】
また、状態情報遷移部６２１は、転送サーバ４００が受信サーバとして機能する際には、送信クライアントから受信したファイルの送信状態を検知して、状態情報保持部５３０によって保持する送受信状態に係る情報を遷移させる。例えば、図６の（Ａ）に示すように、受信サーバにおいては、「受信サーバまでファイル送信完了（ReceiveEnable）」を検知して、送受信状態に係る情報を遷移させる。
【０１２６】
また、状態情報遷移部６２１は、同じく受信サーバとして機能する際には、受信クライアントによって受信されるファイルの受信状態を検知して、状態情報保持部５３０によって保持する送受信状態に係る情報を遷移させる。例えば、図６の（Ｂ）に示すように、受信サーバにおいては、「初期状態」、「受信クライアントがファイル受信中（Receiving）」、「ファイル受信中断（ReceivingSuspend）」、および「ファイル受信完了（Received）」を検知して、送受信状態に係る情報を遷移させる。
【０１２７】
状態情報送信部６２２は、送受信状態に係る情報を送信する手段である。具体的には、状態情報送信部６２２は、転送サーバ４００が送信サーバとして機能する際には、状態情報遷移部６２１によって遷移させた送受信状態に係る情報を、中継サーバに送信する。例えば、状態情報遷移部６２１によって検知された「初期状態」、「ファイル送信中（Sending）」、「ファイル送信中断（SendingSuspend）」、および「送信サーバまでファイル送信完了（FileAccepted）」の情報を、中継サーバに送信する。
【０１２８】
また、状態情報送信部６２２は、同じく送信サーバとして機能する際には、送受信状態に係る情報を送信クライアントの要求に応じて送信クライアントに送信する。例えば、状態情報送信部６２２は、図８に示すような要求メッセージをクライアント１００から受信すると、図８に示すような応答メッセージで応答する。
【０１２９】
また、状態情報送信部６２２は、転送サーバ４００が受信サーバとして機能する際には、状態情報遷移部６２１によって遷移させた送受信状態に係る情報を中継サーバに送信する。例えば、状態情報遷移部６２１によって検知された「初期状態」、「受信クライアントがファイル受信中（Receiving）」、「ファイル受信中断（ReceivingSuspend）」、および「ファイル受信完了（Received）」の情報を、中継サーバに送信する。また、状態情報送信部６２２は、例えば、状態情報遷移部６２１によって検知された「受信サーバまでファイル送信完了（ReceiveEnable）」の情報を、中継サーバに送信する。
【０１３０】
また、状態情報送信部６２２は、同じく受信サーバとして機能する際には、送受信状態に係る情報を受信クライアントの要求に応じて受信クライアントに送信する。例えば、状態情報送信部６２２は、図８に示すような要求メッセージをクライアント１００から受信すると、図８に示すような応答メッセージで応答する。
【０１３１】
状態情報転送部６２３は、転送サーバ４００が中継サーバとして機能する際に、送受信に係る情報を転送する手段である。具体的には、状態情報転送部６２３は、送信クライアント側の中継サーバもしくは送信サーバから受信した送受信に係る情報を、受信クライアント側の中継サーバもしくは受信サーバに転送する。例えば、状態情報転送部６２３は、図１８の（Ａ）に示すような要求メッセージを、受信クライアント側の中継サーバもしくは受信サーバに転送する。
【０１３２】
ここで、図１８の（Ａ）に示す要求メッセージについて説明すると、「StatusForward」は、送受信状態に係る情報を、送信方向へ転送する旨を、受信クライアント側の中継サーバもしくは受信サーバに伝えるためのメッセージである。また、「Filename＝test.mpg」は、ファイル名「test.mpg」のファイルの送受信状態に係る情報であることを示している。また、「SendStatus＝sending」は、送信状態が「ファイル送信中（Sending）」であることを示している。
【０１３３】
また、状態情報転送部６２３は、受信クライアント側の中継サーバもしくは受信サーバから受信した送受信状態に係る情報を、送信クライアント側の中継サーバもしくは送信サーバに転送する。例えば、状態情報転送部６２３は、図１８の（Ｂ）に示すような要求メッセージを、送信クライアント側の中継サーバもしくは送信サーバに転送する。例えば、状態情報転送部６２３は、図１８の（Ｂ）に示すような要求メッセージを、送信クライアント側の中継サーバもしくは送信サーバに転送する。
【０１３４】
ここで、図１８の（Ｂ）に示す要求メッセージについて説明すると、「StatusBackward」は、送受信状態に係る情報を、受信方向へ転送する旨を、送信クライアント側の中継サーバもしくは送信サーバに伝えるためのメッセージである。また、「Filename＝test2.zip」は、ファイル名「test2.zip」のファイルの送受信状態に係る情報であることを示している。また、「ReceiveStatus＝Receiving」は、受信状態が「受信クライアントがファイル受信中（Receiving）」であることを示している。なお、状態情報転送部６２３は、転送した送受信状態に係る情報を、状態情報保持部５３０に保持する。
【０１３５】
制御部６００のなかで、転送キャンセル処理部６３０は、クライアント１００（送信クライアント）が送信したファイルの転送キャンセル要求に対応する手段であり、ファイル転送停止部６３１と、ファイル削除部６３２と、転送キャンセル要求転送部６３３と、削除完了通知転送部６３４とを備える。
【０１３６】
ファイル転送停止部６３１は、転送キャンセル要求を受信して、転送キャンセル要求によって指示されたファイルの転送を停止する手段である。具体的には、ファイル転送停止部６３１は、転送サーバ４００が送信サーバとして機能する際に、送信クライアントから転送キャンセル要求を受信して、転送キャンセル要求によって指示されたファイルの転送を停止する。また、ファイル転送停止部６３１は、転送サーバ４００が中継サーバとして機能する際に、送信クライアント側の中継サーバもしくは送信サーバから転送キャンセル要求を受信して、送信サーバとして機能する際と同様に、転送キャンセル要求によって指示されたファイルの転送を停止する。また、ファイル転送停止部６３１は、転送サーバ４００が受信サーバとして機能する際に、中継サーバから転送キャンセル要求を受信して、送信サーバおよび中継サーバとして機能する際と同様に、転送キャンセル要求によって指示されたファイルの転送を停止する。
【０１３７】
ファイル削除部６３２は、転送キャンセル要求によって指示されたファイルを削除する手段である。例えば、ファイル削除部６３２は、図９のような要求メッセージが、クライアント１００の転送キャンセル要求送信部３１３ａによって送信された場合には、ファイル記憶部５１０もしくは図示しない一時的な記憶領域上に記憶されたファイル名「test1.mpg」のファイルを削除する。
【０１３８】
転送キャンセル要求転送部６３３は、転送キャンセル要求を転送する手段である。具体的には、転送キャンセル要求転送部６３３は、転送サーバ４００が送信サーバとして機能する際に、転送キャンセル要求を中継サーバに転送する。また、転送キャンセル要求転送部６３３は、転送サーバ４００が中継サーバとして機能する際に、転送キャンセル要求を受信クライアント側の中継サーバもしくは受信サーバに転送する。また、転送キャンセル要求転送部６３３は、転送サーバ４００が受信サーバとして機能する際に、転送キャンセル要求を受信クライアントに転送する。
【０１３９】
削除完了通知転送部６３４は、ファイルの削除が受信クライアントにおいて完了したことを示す削除完了通知を転送する手段である。具体的には、削除完了通知転送部６３４は、転送サーバ４００が送信サーバとして機能する際に、削除完了通知を中継サーバから受信して送信クライアントに転送する。また、削除完了通知転送部６３４は、転送サーバ４００が中継サーバとして機能する際に、削除完了通知を受信クライアント側の中継サーバもしくは受信サーバから受信して、送信クライアント側の中継サーバもしくは送信サーバに転送する。また、削除完了通知転送部６３４は、転送サーバ４００が受信サーバとして機能する際に、削除完了通知を受信クライアントから受信して中継サーバに転送する。
【０１４０】
制御部６００のなかで、受信キャンセル処理部６４０は、クライアント１００（受信クライアント）が送信したファイルの受信キャンセル要求に対応する手段であり、ファイル転送停止部６４１と、受信キャンセル完了通知送信部６４２と、転送開始部６４３とを備える。
【０１４１】
ファイル転送停止部６４１は、転送サーバ４００が受信サーバとして機能する際に、受信キャンセル要求によって指示されたファイルの転送を停止する手段である。具体的には、受信クライアントから、ファイルの受信をキャンセルすることを指示する受信キャンセル要求を受信して、受信キャンセル要求によって指示されたファイルの転送を停止する。例えば、ファイル転送停止部６４１は、図１１に示すような要求メッセージを受信クライアントから受信すると、ファイル名「test1.mpg」のファイルの転送を停止する。
【０１４２】
受信キャンセル完了通知送信部６４２は、転送サーバ４００が受信サーバとして機能する際に、受信キャンセル完了通知を受信クライアントに送信する手段である。具体的には、ファイル転送停止部６４１によってファイルの転送を停止したことを示す受信キャンセル完了通知を、受信クライアントに送信する。
【０１４３】
転送開始部６４３は、転送サーバ４００が受信サーバとして機能する際に、ファイルの先頭から転送を開始する手段である。具体的には、転送開始部６４３は、受信キャンセル完了通知送信部６４２によって受信キャンセル完了通知を受信クライアントに送信した後に、受信クライアントからファイルの受信を要求するファイル受信要求を受信すると、ファイルの先頭から転送を開始する。
【０１４４】
制御部６００のなかで、受信放棄処理部６５０は、クライアント１００（受信クライアント）が送信したファイルの受信放棄要求に対応する手段であり、ファイル転送停止部６５１と、ファイル削除部６５２と、受信放棄完了通知送信部６５３と、ファイル転送許否通知送信部６５４ とを備える。
【０１４５】
ファイル転送停止部６５１は、転送サーバ４００が受信サーバとして機能する際に、受信放棄要求によって指示されたファイルの転送を停止する手段である。具体的には、ファイル転送停止部６５１は、受信クライアントからファイルの受信を放棄することを指示する受信放棄要求を受信して、受信放棄要求によって指示されたファイルの転送を停止する。例えば、ファイル転送停止部６５１は、図１２に示すような要求メッセージを受信クライアントから受信すると、ファイル名「test1.mpg」のファイルの転送を停止する。
【０１４６】
ファイル削除部６５２は、転送サーバ４００が受信サーバとして機能する際に、所定の場合に、ファイルを削除する手段である。具体的には、送信クライアントがファイルを他のクライアントに同報していない場合に、または、同報している場合であっても他の受信クライアントに対するファイルの転送が完了している場合並びに他の受信クライアントから受信放棄要求を受信している場合に、ファイルを削除する。
【０１４７】
受信放棄完了通知送信部６５３は、転送サーバ４００が受信サーバとして機能する際に、受信放棄完了通知を受信クライアントに送信する手段である。具体的には、受信放棄完了通知送信部６５３は、受信クライアントに対するファイルの転送を放棄したことを示す受信放棄完了通知を受信クライアントに送信する。
【０１４８】
ファイル転送許否通知送信部６５４は、転送サーバ４００が受信サーバとして機能する際に、ファイル転送拒否通知を受信クライアントに送信する手段である。具体的には、ファイル転送許否通知送信部６５４は、受信放棄完了通知送信部６５３によって受信放棄完了通知を受信クライアントに送信した後に、受信クライアントからファイルの受信を要求するファイル受信要求を受信すると、受信クライアントに対するファイルの転送を拒否する転送拒否通知を受信クライアントに送信する。
【０１４９】
［実施例１に係るファイル転送システムの処理の手順］
次に、図１９から図２３を用いて、実施例１に係るファイル転送システムの処理の手順を説明する。図１９は、ファイル転送処理の手順を示すシーケンス図であり、図２０は、ファイル受信処理の手順を示すシーケンス図であり、図２１は、転送キャンセル処理の手順を示すシーケンス図であり、図２２は、受信キャンセル処理の手順を示すシーケンス図であり、図２３は、受信放棄処理の手順を示すシーケンス図である。
【０１５０】
［ファイル転送処理の手順］
まず、実施例１における送信クライアントは、ファイルの容量情報を送信サーバに送信する（ステップＳ１９０１）。なお、実施例１における送信クライアントは、ファイルの容量情報と共に、送信クライアントのアドレス（送信ユーザアドレス）、受信クライアントのアドレス（受信ユーザアドレス）、および送信対象ファイルのファイル名も送信する。
【０１５１】
次に、送信サーバは、送信クライアントからファイルの容量情報を受信すると、送信クライアントから受信したファイルの容量情報とファイルを蓄積する記憶領域の空き領域とを比較して、ファイルの転送の許可を判断する（ステップＳ１９０２）。
【０１５２】
そして、送信サーバは、ファイルの転送を許可した場合に、ルーティングサーバにルーティング情報を要求する（ステップＳ１９０３）。なお、実施例１における送信サーバは、ルーティング情報を要求する際に、送信クライアントのアドレスおよび受信クライアントのアドレスを送信する。すると、ルーティングサーバは、これらのアドレスに対応するルーティング情報を応答する（ステップＳ１９０４）。
【０１５３】
続いて、送信サーバは、ルーティングサーバからルーティング情報を受信すると、ファイル管理情報記憶部５２０に、ファイル名、ファイルサイズ、送信クライアントのアドレス、および受信クライアントのアドレスを記憶させる（ステップＳ１９０５）。
【０１５４】
そして、送信サーバは、ルーティング情報で送信サーバの次に記載されている中継サーバにファイルの容量情報を転送する（ステップＳ１９０６）。なお、実施例１における送信サーバは、ファイルの容量情報と共に、送信クライアントのアドレス、受信クライアントのアドレス、ファイルの名前、およびルーティング情報も送信する。
【０１５５】
次に、中継サーバは、送信サーバからファイルの容量情報を受信すると、送信サーバから受信したファイルの容量情報とファイルを蓄積する記憶領域の空き領域とを比較して、ファイルの転送の許可を判断する（ステップＳ１９０７）。
【０１５６】
そして、中継サーバは、ファイルの転送を許可した場合に、ファイル管理情報記憶部５２０に、ファイル名、ファイルサイズ、送信クライアントのアドレス、および受信クライアントのアドレスを記憶させる（ステップＳ１９０８）。すると、中継サーバは、受信サーバにファイルの容量情報を転送する（ステップ１９０９）。
【０１５７】
続いて、受信サーバは、中継サーバからファイルの容量情報を受信すると、中継サーバから受信したファイルの容量情報とファイルを蓄積する記憶領域の空き領域とを比較して、ファイルの転送の許可を判断する（ステップＳ１９１０）。
【０１５８】
そして、受信サーバは、ファイルの転送を許可した場合に、ファイル管理情報記憶部５２０に、ファイル名、ファイルサイズ、送信クライアントのアドレス、および受信クライアントのアドレスを記憶させる（ステップＳ１９１１）。
【０１５９】
次に、受信サーバは、ファイルの転送を許可する転送許可情報を中継サーバに送信する（ステップＳ１９１２）。そして、中継サーバは、受信サーバから転送許可情報を受信すると、転送許可情報を送信サーバに送信する（ステップＳ１９１３）。すると、送信サーバは、中継サーバから転送許可情報を受信すると、転送許可情報を送信クライアントに送信する（ステップＳ１９１４）。
【０１６０】
次に、送信クライアントは、転送許可情報を受信し、送信サーバにファイルを送信する（ステップＳ１９１５）。そして、送信サーバは、送信クライアントからファイルを受信すると、中継サーバにファイルを転送する（ステップＳ１９１６）。続いて、中継サーバは、送信サーバからファイルを受信すると、受信サーバにファイルを転送する（ステップＳ１９１７）。
【０１６１】
こうして、実施例１に係るファイル転送システムは、送信クライアントにおいて、転送サーバにおけるファイル転送の許可を把握し、転送サーバにおける一時的なデータ蓄積可能容量に応じて、送信クライアントから転送サーバに向けてファイルを送信することから、例えば、送信クライアントから転送サーバに向けて大容量のファイルを送信した場合に、転送サーバの一時的なデータ蓄積可能容量を使い果たして他の通信に障害をもたらすような事態を回避するなど、ファイルの転送失敗を防ぐことが可能になる。
【０１６２】
［ファイル受信処理の手順］
まず、実施例１における受信クライアントは、受信クライアント宛のファイルが受信サーバに到着しているかどうかを確認することを目的として、定期的に、ファイルリスト取得要求を受信サーバに送信する（ステップＳ２００１）。
【０１６３】
すると、受信サーバは、受信クライアントからファイルリスト取得要求を受信すると、受信クライアント（受信ユーザ）に送信可能なファイルリストを応答メッセージに含め、受信クライアントに返却する（ステップＳ２００２）。
【０１６４】
次に、受信クライアントは、受信サーバからファイルリストの応答メッセージを受信すると、応答メッセージに含まれるファイルそれぞれについて、ファイル受信要求を受信サーバに送信する（ステップＳ２００３）。なお、実施例１における受信クライアントは、ファイル受信要求と共に、ファイル名を送信する。
【０１６５】
そして、受信サーバは、受信クライアントからファイル受信要求を受信すると、受信クライアントから要求されたファイルを受信クライアントに送信する（ステップＳ２００４）。
【０１６６】
［転送キャンセル処理の手順］
まず、実施例１における送信クライアントは、転送キャンセルを行うファイルの送信を停止する（ステップＳ２１０１）。
【０１６７】
次に、送信クライアントは、ファイルの転送をキャンセルすることを指示する転送キャンセル要求を送信サーバに送信する（ステップＳ２１０２）。なお、実施例１における送信クライアントが送信する転送キャンセル要求には、転送キャンセル対象のファイルのファイル名が含まれる。
【０１６８】
すると、送信サーバは、送信クライアントから転送キャンセル要求を受信すると、転送キャンセル要求によって指示されたファイルの転送を停止し（ステップＳ２１０３）、送受信状態に係る情報を「転送キャンセル（SendingCancel）」に遷移させ、転送キャンセル対象のファイル（または、ファイルの一部）を削除する（ステップＳ２１０４）。
【０１６９】
そして、送信サーバは、ファイル管理情報記憶部５２０に記載のルーティング情報から中継サーバのアドレスを取得し、転送キャンセル要求を受信サーバに転送する（ステップＳ２１０５）。
【０１７０】
続いて、中継サーバは、送信サーバから転送キャンセル要求を受信すると、転送キャンセル要求によって指示されたファイルの転送を停止し（ステップＳ２１０６）、転送キャンセル対象のファイル（または、ファイルの一部）を削除する（ステップＳ２１０７）。
【０１７１】
そして、中継サーバは、ファイル管理情報記憶部５２０に記載のルーティング情報から受信サーバのアドレスを取得し、転送キャンセル要求を受信サーバに転送する（ステップＳ２１０８）。
【０１７２】
次に、受信サーバは、中継サーバから転送キャンセル要求を受信すると、転送キャンセル要求によって指示されたファイルの転送を停止し（ステップＳ２１０９）、転送キャンセル対象のファイル（または、ファイルの一部）を削除する（ステップＳ２１１０）。
【０１７３】
そして、受信サーバは、受信クライアントに対し、転送キャンセル要求を転送する（ステップＳ２１１１）。すると、受信クライアントは、受信サーバから転送キャンセル要求を受信すると、転送キャンセル要求によって指示されたファイルを削除する（ステップＳ２１１２）。
【０１７４】
続いて、受信クライアントは、ファイルの削除が受信クライアントにおいて完了したことを示す削除完了通知を受信サーバに送信する（ステップＳ２１１３）。
【０１７５】
そして、受信サーバは、受信クライアントから削除完了通知を受信すると、中継サーバに削除完了通知を転送する（ステップＳ２１１４）。すると、中継サーバは、受信サーバから削除完了通知を受信すると、送信サーバに削除完了通知を転送する（ステップＳ２１１５）。そして、送信サーバは、中継サーバから削除完了通知を受信すると、送信クライアントに削除完了通知を転送する（ステップＳ２１１６）。
【０１７６】
こうして、実施例１に係るファイル転送システムは、送信クライアントが誤ってファイルを送信してしまった場合などにその転送をキャンセルできることから、受信クライアントに係るネットワークリソースやディスクスペースを無駄なファイルによって占有させないことが可能になる。
【０１７７】
［受信キャンセル処理の手順］
まず、実施例１における受信クライアントは、ファイルの受信をキャンセルすることを指示する受信キャンセル要求を、受信サーバに送信する（ステップＳ２２０１）。
【０１７８】
次に、受信サーバは、受信クライアントから受信キャンセル要求を受信すると、受信キャンセル要求によって指示されたファイルの転送を停止する（ステップＳ２２０２）。なお、ファイルの送受信状態に係る情報を「受信キャンセル状態（ReceivingCancel）」に遷移させる。
【０１７９】
そして、受信サーバは、ファイルの転送を停止したことを示す受信キャンセル完了通知を、受信クライアントに送信する（ステップＳ２２０３）。すると、受信クライアントは、受信サーバから受信キャンセル完了通知を受信すると、すでに受信したファイル（ファイルの一部）を削除し（ステップＳ２２０４）、受信キャンセル処理を終了する。
【０１８０】
続いて、受信クライアントは、ファイルの受信を再開することを目的として、ファイルの受信を要求するファイル受信要求を受信サーバに送信する（ステップＳ２２０５）。
【０１８１】
すると、受信サーバは、受信クライアントからファイル受信要求を受信すると、ファイルの先頭から受信クライアントにファイルの転送を開始し（ステップＳ２２０６）、受信クライアントにファイルを転送する（ステップＳ２２０７）。なお、受信サーバは、ファイルの送受信状態に係る情報を「ファイル受信中（Receiving）」に遷移させる。
【０１８２】
こうして、実施例１に係るファイル転送システムは、受信クライアントがファイルの受信をキャンセルした場合にすでに受信したファイルを削除できることから、受信クライアントのディスクスペースを無駄なファイルによって占有させないことが可能になる。
【０１８３】
［受信放棄処理の手順］
まず、実施例１における受信クライアントは、ファイルの受信を放棄することを指示する受信放棄要求を、受信サーバに送信する（ステップＳ２３０１）。
【０１８４】
次に、受信サーバは、受信クライアントから受信放棄要求を受信すると、受信放棄要求によって指示されたファイルの転送を停止する（ステップＳ２３０２）。なお、ファイルの送受信状態にかかる情報を「受信放棄状態（ReceivingRenouce）」に遷移させる。
【０１８５】
そして、受信サーバは、ファイル管理情報記憶部５２０に、受信クライアントが受信を放棄した旨を記憶させ（ステップＳ２３０３）、送信クライアントがファイルを他の受信クライアントに同報していない場合に、または、同報している場合であっても他の受信クライアントに対するファイルの転送が完了している場合並びに他の受信クライアントから受信放棄要求を受信している場合に、ファイルを削除する（ステップＳ２３０４）。
【０１８６】
そして、受信サーバは、受信クライアントに対するファイルの転送を放棄したことを示す受信放棄完了通知を、受信クライアントに送信する（ステップＳ２３０５）。すると、受信クライアントは、受信サーバから受信放棄完了通知を受信すると、すでに受信したファイル（ファイルの一部）を削除し（ステップＳ２３０６）、受信放棄処理を終了する。
【０１８７】
続いて、受信クライアントは、ファイルの受信を再開することを目的として、ファイルの受信を要求するファイル受信要求を受信サーバに送信する（ステップＳ２３０７）。
【０１８８】
すると、受信サーバは、ファイル管理情報記憶部５２０を確認し（ステップＳ２３０８）、受信クライアントに対するファイルの転送を拒否するファイル転送拒否通知を送信する（ステップＳ２３０９）。
【０１８９】
こうして、実施例１に係るファイル転送システムは、複数の受信クライアントに同報されたメールについて、受信放棄を要求しない他の受信クライアントの受信状況などを判断してファイルを削除できることから、複数の受信クライアントに同報されたメールについて、複数のクライアント間の受信状況などを調整しながらファイルを管理することが可能になる。
【０１９０】
［実施例１の効果］
上記してきたように、実施例１によれば、転送サーバを経由して送信クライアントから受信クライアントにファイルを転送するファイル転送システムであって、送信クライアントは、ファイルの容量情報を転送サーバに送信し、転送サーバからファイルの転送を許可する転送許可情報を受信した場合に、転送サーバにファイルを送信し、転送サーバは、送信クライアントから受信したファイルの容量情報とファイルを蓄積する記憶領域の空き領域とを比較して、ファイルの転送の許可を判断し、ファイルの転送を許可した場合に、転送許可情報を送信クライアントに送信するので、送信クライアントにおいて、転送サーバにおけるファイル転送の許可を把握し、転送サーバにおける一時的なデータ蓄積可能容量に応じて、送信クライアントから転送サーバに向けてファイルを送信することから、例えば、送信クライアントから転送サーバに向けて大容量のファイルを送信した場合に、転送サーバの一時的なデータ蓄積可能容量を使い果たして他の通信に障害をもたらすような事態を回避するなど、ファイルの転送失敗を防ぐことが可能になる。
【０１９１】
また、実施例１によれば、送信クライアントからファイルを受信する送信サーバと、受信クライアントにファイルを送信する受信サーバと、送信サーバと受信サーバとの間でファイルが経由するひとつまたは複数の中継サーバとで構成され、送信クライアントから受信クライアントにファイルを転送するファイル転送システムであって、送信クライアントは、ファイルの容量情報を送信サーバに送信し、送信サーバからファイルの転送を許可する転送許可情報を受信した場合に、送信サーバにファイルを送信し、送信サーバは、送信クライアントから受信したファイルの容量情報とファイルを蓄積する記憶領域の空き領域とを比較して、ファイルの転送の許可を判断し、ファイルの転送を許可した場合に、中継サーバにファイルの容量情報を転送し、中継サーバから受信した転送許可情報を送信クライアントに転送し、送信クライアントから受信したファイルを中継サーバに転送し、中継サーバは、送信クライアント側の中継サーバもしくは送信サーバから受信したファイルの容量情報とファイルを蓄積する記憶領域の空き領域とを比較して、ファイルの転送の許可を判断し、ファイルの転送を許可した場合に、受信クライアント側の中継サーバもしくは受信サーバにファイルの容量情報を転送し、受信クライアント側の中継サーバもしくは受信サーバから受信した転送許可情報を送信クライアント側の中継サーバもしくは送信サーバに転送し、送信クライアント側の中継サーバもしくは送信サーバから受信したファイルを受信クライアント側の中継サーバもしくは受信サーバに転送し、受信サーバは、中継サーバから受信したファイルの容量情報とファイルを蓄積する記憶領域の空き領域とを比較して、ファイルの転送の許可を判断し、ファイルの転送を許可した場合に、転送許可情報を中継サーバに送信し、中継サーバから受信したファイルを受信クライアントに転送するので、送信クライアントにおいて、転送サーバ（送信サーバ、中継サーバ、および受信サーバ）におけるファイル転送の許可を把握し、転送サーバにおける一時的なデータ蓄積可能容量に応じて、送信クライアントから転送サーバに向けてファイルを送信することから、例えば、送信クライアントから転送サーバに向けて大容量のファイルを送信した場合に、いずれかの転送サーバの一時的なデータ蓄積可能容量を使い果たして他の通信に障害をもたらすような事態を回避するなど、ファイルの転送失敗を防ぐことが可能になる。
【０１９２】
また、実施例１によれば、送信クライアントは、ファイルの送受信状態に係る情報を保持し、ファイルの送信状態を検知して、保持する送受信状態に係る情報を遷移させ、送受信状態に係る情報を送信サーバに要求して取得し、送信サーバは、ファイルの送受信状態に係る情報を保持し、送信クライアントから受信したファイルの送信状態を検知して、保持する送受信状態に係る情報を遷移させ、遷移させた送受信状態に係る情報を中継サーバに送信し、中継サーバから送受信状態に係る情報を受信して、保持する送受信状態に係る情報を遷移させ、保持する送受信状態に係る情報を送信クライアントの要求に応じて送信クライアントに送信し、中継サーバは、ファイルの送受信状態に係る情報を保持し、送信クライアント側の中継サーバもしくは送信サーバから受信した送受信状態に係る情報を受信クライアント側の中継サーバもしくは受信サーバに転送し、受信クライアント側の中継サーバもしくは受信サーバから受信した送受信状態に係る情報を送信クライアント側の中継サーバもしくは送信サーバに転送し、受信サーバは、ファイルの送受信状態に係る情報を保持し、送信クライアントから受信したファイルの送信状態を検知して、保持する送受信状態に係る情報を遷移させ、遷移させた送受信状態に係る情報を中継サーバに送信し、受信クライアントによって受信されるファイルの受信状態を検知して、保持する送受信状態に係る情報を遷移させ、遷移させた送受信状態に係る情報を中継サーバに送信し、保持する送受信状態に係る情報を受信クライアントの要求に応じて受信クライアントに送信し、受信クライアントは、ファイルの送受信状態に係る情報を保持し、ファイルの受信状態を検知して、保持する送受信状態に係る情報を遷移させ、送受信状態に係る情報を受信サーバに要求して取得するので、送信クライアントおよび受信クライアントにおいて、ファイルの送受信状態に係る情報を把握できることから、ファイルの送受信状態に応じてファイルの送受信を制御することが可能になる。
【０１９３】
具体的に例を挙げると、必ずしも高速のネットワークに接続しているとは限らない受信クライアント（例えば、電話回線に転送速度５６ｋｂｐｓのアナログモデムで接続する受信クライアントなど）に対して、送信クライアントが大容量のファイル（例えば、１０ＭＢのファイルなど）を送信すると、受信クライアントにおいては、ファイルの受信に長時間（約２４分）を要し、この間の受信クライアントにおけるメールの受信やインターネットへのアクセススピードが大幅に低下し、また、ネットワーク障害に遭う可能性も高くなり、結果としてファイル転送が突然切断される可能性も高くなるが、送信クライアントにおいて、受信クライアントの受信状態を把握できることから、例えば、受信クライアントが「受信中」の状態である場合にはファイルの送信を控えるように制御することが可能になる。また、送信クライアントがファイルの送信を中断した場合に、送信クライアントにおいて、送信クライアントの状態情報を「送信中断」の状態に遷移させることができることから、送信を再開する場合には、この状態情報に基づいて続きから送信を再開することが可能になる。また、受信クライアントがファイルの受信を中断した場合に、受信クライアントにおいて、受信クライアントの状態情報を「受信中断」の状態に遷移させることができることから、受信を再開する場合には、この状態情報に基づいて続きから受信を再開することが可能になる。
【０１９４】
また、実施例１によれば、送信クライアントは、ファイルの転送をキャンセルすることを指示する転送キャンセル要求を送信サーバに送信し、送信サーバは、送信クライアントから転送キャンセル要求を受信して、転送キャンセル要求によって指示されたファイルの転送を停止し、転送キャンセル要求によって指示されたファイルを削除し、転送キャンセル要求を中継サーバに転送し、ファイルの削除が受信クライアントにおいて完了したことを示す削除完了通知を中継サーバから受信して送信クライアントに転送し、中継サーバは、送信クライアント側の中継サーバもしくは送信サーバから転送キャンセル要求を受信して、転送キャンセル要求によって指示されたファイルの転送を停止し、転送キャンセル要求によって指示されたファイルを削除し、転送キャンセル要求を受信クライアント側の中継サーバもしくは受信サーバに転送し、受信クライアント側の中継サーバもしくは受信サーバから受信した削除完了通知を送信クライアント側の中継サーバもしくは送信サーバに転送し、受信サーバは、中継サーバから転送キャンセル要求を受信して、転送キャンセル要求によって指示されたファイルの転送を停止し、転送キャンセル要求によって指示されたファイルを削除し、転送キャンセル要求を受信クライアントに転送し、受信クライアントから受信した削除完了通知を中継サーバに転送し、受信クライアントは、受信サーバから受信した転送キャンセル要求によって指示されたファイルを削除し、削除完了通知を受信サーバに送信するので、送信クライアントが誤ってファイルを送信してしまった場合などにその転送をキャンセルできることから、受信クライアントに係るネットワークリソースやディスクスペースを無駄なファイルによって占有させないことが可能になる。
【０１９５】
また、実施例１によれば、受信サーバは、受信クライアントからファイルの受信をキャンセルすることを指示する受信キャンセル要求を受信して、受信キャンセル要求によって指示されたファイルの転送を停止し、ファイルの転送を停止したことを示す受信キャンセル完了通知を受信クライアントに送信し、受信キャンセル完了通知を受信クライアントに送信した後に受信クライアントからファイルの受信を要求するファイル受信要求を受信すると、ファイルの先頭から転送を開始し、受信クライアントは、受信キャンセル要求を受信サーバに送信し、受信キャンセル完了通知を受信サーバから受信すると、すでに受信したファイルを削除するので、受信クライアントがファイルの受信をキャンセルした場合にすでに受信したファイルを削除できることから、受信クライアントのディスクスペースを無駄なファイルによって占有させないことが可能になる。
【０１９６】
また、実施例１によれば、受信サーバは、受信クライアントからファイルの受信を放棄することを指示する受信放棄要求を受信して、受信放棄要求によって指示されたファイルの転送を停止し、送信クライアントがファイルを他の受信クライアントに同報していない場合に、または、同報している場合であっても他の受信クライアントに対するファイルの転送が完了している場合並びに他の受信クライアントから受信放棄要求を受信している場合に、ファイルを削除し、受信クライアントに対するファイルの転送を放棄したことを示す受信放棄完了通知を受信クライアントに送信し、受信放棄完了通知を受信クライアントに送信した後に受信クライアントからファイルの受信を要求するファイル受信要求を受信すると、受信クライアントに対するファイルの転送を拒否するファイル転送拒否通知を受信クライアントに送信し、受信クライアントは、受信放棄要求を受信サーバに送信し、受信サーバから受信放棄完了通知を受信すると、すでに受信したファイルを削除するので、複数の受信クライアントに同報されたメールについて、受信放棄を要求しない他の受信クライアントの受信状況などを判断してファイルを削除できることから、複数の受信クライアントに同報されたメールについて、複数のクライアント間の受信状況などを調整しながらファイルを管理することが可能になる。
【実施例２】
【０１９７】
ところで、上記の実施例１では、送信クライアントがひとつの受信クライアントにファイルを転送する場合を説明したが、この発明はこれに限定されるものではなく、送信クライアントが複数の受信クライアントにファイルを同報して転送する場合にも、この発明を同様に適用することができる。以下では、実施例２として、送信クライアントが複数の受信クライアントにファイルを同報して転送する場合を、図２４〜図２８を用いて説明する。図２４は、実施例２に係るファイル転送システムの構成を説明するための図であり、図２５〜図２７は、容量情報送信部を説明するための図であり、図２８は、ファイル管理情報記憶部を説明するための図である。
【０１９８】
実施例２に係るファイル転送システムは、図２４に示すように、送信クライアントが受信クライアント１〜受信クライアント８にファイルを同報して転送する。また、受信クライアント１は、送信サーバに収容され、送信サーバからファイルを受信する。受信クライアント２は、中継サーバ１に収容され、中継サーバ１からファイルを受信する。受信クライアント３は、中継サーバ２に収容され、中継サーバ２からファイルを受信する。受信クライアント４および受信クライアント５は、受信サーバ１に収容され、受信サーバ１からファイルを受信する。受信クライアント６は、受信サーバ２に収容され、受信サーバ２からファイルを受信する。受信クライアント７および受信クライアント８は、受信サーバ３からファイルを受信する。
【０１９９】
このような実施例２に係るファイル転送システムでは、送信サーバおよび中継サーバにおけるファイル転送部６１５は、ファイルの転送先である受信クライアント側の中継サーバもしくは受信サーバが共通である場合に、単一のファイルを転送する。
【０２００】
実施例２に係るファイル転送システムに関し、実施例１に係るファイル転送システムと異なる点について具体的に説明すると、まず、クライアント１００における容量情報送信部３１１ａは、複数の受信クライアントにファイルを同報して転送する場合は、送信クライアントから複数の受信クライアントアドレスを指定する必要があるため、図２５に示すような要求メッセージを送信サーバに送信する。
【０２０１】
ここで、図２５に示す要求メッセージについて、実施例１に係るファイル転送システムと異なる点（下線部分）を説明すると、実施例１では、「Receiver＝user2@domain2」のように、受信クライアントアドレスをひとつ列挙するのみであったが、実施例２では、「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」のように、複数の受信クライアントアドレスを列挙する。
【０２０２】
また、転送サーバ４００における容量情報転送部６１２は、複数の受信クライアントにファイルを同報して転送する場合は、一度に複数の受信クライアントアドレスに対するルーティング情報を取得する必要があるため、図２６に示すような要求メッセージをルーティングサーバに送信する。
【０２０３】
ここで、図２６に示す要求メッセージについて、実施例１に係るファイル転送システムと異なる点（下線部分）を説明すると、実施例１では、「Receiver＝user2@domain2」のように、受信クライアントアドレスをひとつ列挙するのみであったが、実施例２では、「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」のように、複数の受信クライアントアドレスを列挙する。
【０２０４】
また、ルーティングサーバにおけるルーティング情報は、ドメインごとに記載されているため、ユーザアドレスごとにルーティング情報を記述するよりも、同一のドメインに属する複数の受信クライアントアドレスに対しては、ひとつのルーティング情報を対応づけて記述する方が効率的である。したがって、図２６に示すように、応答メッセージは、「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)]のように、同一のドメインに属する複数の受信クライアントアドレスとひとつのルーティング情報とを対応づけている。
【０２０５】
また、転送サーバ４００における容量情報転送部６１２は、複数の受信クライアントにファイルを同報して転送する場合は、受信クライアントごとに、あるいは、受信クライアントが属するドメインごとに、転送サーバ４００間の容量情報転送処理を行うよりも、ファイルの転送先である受信クライアント側の中継サーバもしくは受信サーバが共通である受信クライアントをひとまとめにして、単一のファイルを転送する方が効率的である。このため、図２７に示すような要求メッセージを転送サーバに送信する。
【０２０６】
ここで、図２７に示す要求メッセージについて、実施例１に係るファイル転送システムと異なる点（下線部分）を説明する。図２７の（Ａ）は、送信サーバから中継サーバ１に送信される要求メッセージであるので、中継サーバ１を共通にする「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」のように、単一のファイルを転送している。
【０２０７】
また、図２７の（Ｂ）は、送信サーバ１から中継サーバ２に送信される要求メッセージであるので、中継サーバ２を共通にする「user-r3@domain3」、「user-r7@domain6」、および「user-r8@domain6」をひとまとめにして、「Receiver＝user-r3=domain3,user-r7@domain6,user-r8@domain6」のように、単一のファイルを転送している。
【０２０８】
もっとも、複数の受信クライアントにファイルを同報して転送する場合においても、送受信状態に係る情報は受信クライアントごとに異なる状況が発生することから、ファイル管理情報記憶部５２０は、図２８に示すように、受信クライアントごとの情報を記憶する。
【０２０９】
［実施例２の効果］
上記してきたように、実施例２によれば、送信クライアントから複数の受信クライアントに対してファイルが同報送信され、ファイルの転送先である受信クライアント側の中継サーバもしくは受信サーバが共通である場合に、単一のファイルを転送するので、複数の受信クライアントに対して単一のファイルで送信できることから、複数の受信クライアント各々に対して別々のファイルを送信する手法に比較して、転送サーバの一時的なデータ蓄積可能容量を効率よく利用してファイルを送信することが可能になる。
【実施例３】
【０２１０】
ところで、これまで実施例１および実施例２に係るファイル転送システムについて説明したが、この発明は上記した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下では、実施例３に係るファイル転送システムとして、異なる実施例を説明する。
【０２１１】
［他の実施例］
上記の実施例においては、ファイル転送システムが、送受信状態に係る情報を保持、遷移、または取得する機能を有する場合を説明したが、この発明はこれに限定されるものではなく、ファイル転送システムが、送受信状態に係る情報を保持、遷移、または取得する機能を有しない場合にも、この発明を同様に適用することができる。
【０２１２】
また、上記の実施例においては、ファイル転送システムが、ファイルの転送キャンセルに対応する機能を有する場合を説明したが、この発明はこれに限定されるものではなく、ファイル転送システムが、ファイルの転送キャンセルに対応する機能を有しない場合にも、この発明を同様に適用することができる。
【０２１３】
また、上記の実施例においては、ファイル転送システムが、ファイルの受信キャンセルに対応する機能を有する場合を説明したが、この発明はこれに限定されるものではなく、ファイル転送システムが、ファイルの受信キャンセルに対応する機能を有しない場合にも、この発明を同様に適用することができる。
【０２１４】
また、上記の実施例においては、ファイル転送システムが、ファイルの受信放棄に対応する機能を有する場合を説明したが、この発明はこれに限定されるものではなく、ファイル転送システムが、ファイルの受信放棄に対応する機能を有しない場合にも、この発明を同様に適用することができる。
【０２１５】
また、上記の実施例においては、ファイルの転送を開始するタイミングとして、転送サーバがファイルの全部を記憶領域に蓄積した状態で（ファイルの受信が完了した状態で）、次の転送サーバにファイルの転送を開始する場合を説明したが、この発明はこれに限定されるものではなく、転送サーバがファイルの一部を記憶領域に蓄積した状態で（ファイルの受信が完了しない状態で）、次の転送サーバにファイルの転送を開始する（ファイルの受信と転送とを並行して行う）場合にも、この発明を同様に適用することができる。
【０２１６】
［システム構成等］
上記の実施例においては、送信サーバと中継サーバと受信サーバとで構成される転送サーバを経由してファイルを転送する場合を説明したが、この発明はこれに限定されるものではなく、ひとつの転送サーバを経由してファイルを転送する場合にも、送信サーバと受信サーバとで構成される転送サーバを経由して（中継サーバを経由せずに）ファイルを転送する場合にも、この発明を同様に適用することができる。
【０２１７】
また、上記の実施例においては、送信クライアントから受信クライアントに至るまでのルーティング情報が、ルーティングサーバから転送サーバに提供される場合を説明したが、ルーティングサーバによる提供によらず他の手段によって転送サーバに保持される場合にも、この発明を同様に適用することができる。
【０２１８】
また、上記の実施例において説明した各処理のうち、自動的におこなわれるものとして説明した処理（例えば、受信クライアントが受信サーバに対して定期的にファイルリスト取得要求を送信する処理など）の全部または一部を手動的におこなうこともでき、あるいは、手動的におこなわれるものとして説明した処理（例えば、送信クライアントにおける送信ファイル名の入力など）の全部または一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【０２１９】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態（例えば、図２や図１３など）は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、ＣＰＵおよび当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【０２２０】
なお、上記の実施例で説明したファイル転送方法は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。このプログラムは、インターネットなどのネットワークを介して配布することができる。また、このプログラムは、ハードディスク、フレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行することもできる。
【産業上の利用可能性】
【０２２１】
以上のように、本発明に係るファイル転送システム、ファイル転送プログラムおよびファイル転送方法は、転送サーバを経由して送信クライアントから受信クライアントにファイルを転送することに有用であり、特に、ファイルの転送失敗を防ぐことに適する。
【図面の簡単な説明】
【０２２２】
【図１】実施例１に係るファイル転送システムの概要および特徴を説明するための図である。
【図２】実施例１における送信クライアントおよび受信クライアントの構成を示すブロック図である。
【図３】入力部を説明するための図である。
【図４】容量情報送信部を説明するための図である。
【図５】ファイル送信部を説明するための図である。
【図６】状態情報遷移部を説明するための図である。
【図７】状態情報遷移部を説明するための図である。
【図８】状態情報取得部を説明するための図である。
【図９】転送キャンセル要求送信部を説明するための図である。
【図１０】ファイル受信部を説明するための図である。
【図１１】受信キャンセル要求送信部を説明するための図である。
【図１２】受信放棄要求送信部を説明するための図である。
【図１３】実施例１における転送サーバの構成を示すブロック図である。
【図１４】ファイル管理情報記憶部を説明するための図である。
【図１５】ルーティング情報を説明するための図である。
【図１６】容量情報転送部を説明するための図である。
【図１７】容量情報転送部を説明するための図である。
【図１８】状態情報転送部を説明するための図である。
【図１９】ファイル転送処理の手順を示すシーケンス図である。
【図２０】ファイル受信処理の手順を示すシーケンス図である。
【図２１】転送キャンセル処理の手順を示すシーケンス図である。
【図２２】受信キャンセル処理の手順を示すシーケンス図である。
【図２３】受信放棄処理の手順を示すシーケンス図である。
【図２４】実施例２に係るファイル転送システムの構成を説明するための図である。
【図２５】容量情報送信部を説明するための図である。
【図２６】容量情報送信部を説明するための図である。
【図２７】容量情報送信部を説明するための図である。
【図２８】ファイル管理情報記憶部を説明するための図である。
【符号の説明】
【０２２３】
１００  クライアント
１１０  入力部
１２０  出力部
１３０  入出力制御ＩＦ部
１４０  ネットワーク通信部
２００  記憶部
２１０  ファイル記憶部
２２０  ファイル管理情報記憶部
２３０  状態情報保持部
３００  制御部
３１０  送信処理部
３１１  ファイル送信処理部
３１２  状態情報処理部
３１３  転送キャンセル処理部
３２０  受信処理部
３２１  ファイル受信部
３２２  状態情報処理部
３２３  転送キャンセル処理部
３２４  受信キャンセル処理部
３２５  受信放棄処理部
４００  転送サーバ
４１０  ネットワーク通信部
５００  記憶部
５１０  ファイル記憶部
５２０  ファイル管理情報記憶部
５３０  状態情報保持部
６００  制御部
６１０  ファイル転送処理部
６２０  状態情報処理部
６３０  転送キャンセル処理部
６４０  受信キャンセル処理部
６５０  受信放棄処理部
【図１】
0004530420.tif 000002
【図２】
0004530420.tif 000003
【図３】
0004530420.tif 000004
【図４】
0004530420.tif 000005
【図５】
0004530420.tif 000006
【図６】
0004530420.tif 000007
【図７】
0004530420.tif 000008
【図８】
0004530420.tif 000009
【図９】
0004530420.tif 000010
【図１０】
0004530420.tif 000011
【図１１】
0004530420.tif 000012
【図１２】
0004530420.tif 000013
【図１３】
0004530420.tif 000014
【図１４】
0004530420.tif 000015
【図１５】
0004530420.tif 000016
【図１６】
0004530420.tif 000017
【図１７】
0004530420.tif 000018
【図１８】
0004530420.tif 000019
【図１９】
0004530420.tif 000020
【図２０】
0004530420.tif 000021
【図２１】
0004530420.tif 000022
【図２２】
0004530420.tif 000023
【図２３】
0004530420.tif 000024
【図２４】
0004530420.tif 000025
【図２５】
0004530420.tif 000026
【図２６】
0004530420.tif 000027
【図２７】
0004530420.tif 000028
【図２８】
0004530420.tif 000029