(57)【要約】【課題】最初に行うメール転送処理とメール転送に失敗した後の再転送処理とでスレッド資源を共有し効率的に利用するメール転送制御システムを提供する。【解決手段】メールクライアント１０から送信されたメール１は、メール転送受付装置１００に受け付けられ、転送キュー２０１に追加される。メール転送装置１０１は、管理しているスレッド資源の範囲で、転送キュー２０１からメールを取り出して転送先メールサーバ３０への転送を試みる。成功した場合、メール１は転送先メールサーバ３０に転送されるが、失敗した場合、再転送キュー２０２に追加される。再転送管理装置１０２は、再転送キュー２０２から転送キュー２０１に移動させる量を決定し、一定時間が経過したなどの理由で再転送を試みるべき状態になったメールの中から移動させる量分のメールを再転送キュー２０２から転送キュー２０１に移動する。【選択図】      図１
2005005990.tif 000002
【特許請求の範囲】
【請求項１】
メールを転送元メールサーバに送信するメールクライアントと、
前記メールクライアントからメールを受信して転送先メールサーバへの転送を試み前記転送に失敗した場合に前記転送に失敗したメールを一時保存しメール転送に使用される資源の状況に応じて前記一時保存したメールの中から再転送するメール数を決定し決定した数分のメールを再転送する転送元メールサーバと、
前記転送元メールサーバから転送されたメールを受信する転送先メールサーバとを備えることを特徴とするメール転送制御システム。
【請求項２】
前記転送元メールサーバは、
前記メールクライアントから送信されたメールを受信して転送キューに格納するメール転送受付装置と、
転送処理で使用する資源を管理し前記転送キューから取り出したメールの転送処理に資源を割り当てて前記転送先メールサーバへの転送処理を行い前記転送に失敗した場合はメールを再転送キューに格納するメール転送装置と、
前記再転送キューに格納されたメールが再転送を試みるべき状態になった場合に前記メール転送装置での資源の割当状況および前記転送キューに蓄積されたメール数に基づいて再転送キューから転送キューに移動するメール量を決定し決定した数分のメールを再転送キューから転送キューに移動する再転送メール管理装置と、
転送待ちのメールを蓄積する転送キューと、
転送に失敗した再転送待ちのメールを蓄積する再転送キューとを備える、
ことを特徴とする請求項１記載のメール転送制御システム。
【請求項３】
前記再転送キューから前記転送キューに移動するメール量は、資源に余りがある場合には総資源数から使用中資源数と初回転送優先資源数とメール蓄積数とを引いた値の数から成り、資源に余りがない場合には最低限移動数で定義される値の数から成る、
ことを特徴とする請求項２記載のメール転送制御システム。
【請求項４】
前記転送元メールサーバは、
前記メールクライアントから送信されたメールを受信して転送キューに格納するメール転送受付装置と、
転送処理で使用する資源を管理し前記転送キューから取り出したメールの転送処理に資源を割り当てて前記転送先メールサーバへの転送処理を行い接続拒否によって前記転送が失敗した場合はメールを接続拒否用再転送キューに格納しタイムアウトによって前記転送が失敗した場合はメールをタイムアウト用再転送キューに格納するメール転送装置と、
前記接続拒否用再転送キューに格納されたメールが再転送を試みるべき状態になった場合に再転送を試みるべき状態になったメールの全てを前記接続拒否用再転送キューから前記転送キューに移動し前記タイムアウト用再転送キューに格納されたメールが再転送を試みるべき状態になった場合に前記メール転送装置での資源の割当状況および前記転送キューに蓄積されたメール数に基づいてタイムアウト再転送キューから転送キューに移動するメール量を決定し決定した数分のメールをタイムアウト再転送キューから転送キューに移動する再転送メール管理装置と、
転送待ちのメールを蓄積する転送キューと、
接続拒否により転送に失敗した再転送待ちのメールを蓄積する接続拒否用再転送キューと、
タイムアウトにより転送に失敗した再転送待ちのメールを蓄積するタイムアウト用再転送キューと、を備える、
ことを特徴とする請求項１記載のメール転送制御システム。
【請求項５】
前記タイムアウト用再転送キューから前記転送キューに移動するメール量は、資源に余りがある場合には総資源数から使用中資源数と初回転送優先資源数とメール蓄積数とを引いた値の数から成り、資源に余りがない場合には最低限移動数で定義される値の数から成る、
ことを特徴とする請求項４記載のメール転送制御システム。
【請求項６】
メールクライアントと転送元メールサーバと転送先メールサーバとを備えるメール転送制御システムのメール転送制御方法であって、
前記メールクライアントは、
前記転送元メールサーバにメールを送信し、
前記転送元メールサーバは、
前記メールクライアントからメールを受信して前記転送先メールサーバへの転送を試み、
前記転送が成功した場合、
前記転送先メールサーバは、
前記転送元メールサーバからのメールを受信し、
前記転送が失敗した場合、
前記転送元メールサーバは、
転送に失敗したメールを一時保存し、
メール転送に使用される資源の状況に応じて前記一時保存したメールの中から再転送するメール数を決定し、
決定した数分のメールを前記転送先メールサーバに再転送する、
ことを特徴とするメール転送制御方法。
【請求項７】
メールクライアントと転送元メールサーバと転送先メールサーバとを備えるメール転送制御システムのメール転送制御方法であって、
前記メールクライアントは、
前記転送元メールサーバにメールを送信し、
前記転送元メールサーバは、
前記メールクライアントから送信されたメールを受信して転送キューに格納し、
前記転送キューから取り出したメールの転送処理に管理している資源の中から資源を割り当て、
前記転送先メールサーバへの転送処理を行い、
前記転送が成功した場合、
前記転送先メールサーバは、
前記転送元メールサーバからのメールを受信し、
前記転送が失敗した場合、
前記転送元メールサーバは、
転送に失敗したメールを再転送キューに格納し、
前記再転送キューに格納されたメールが再転送を試みるべき状態になった場合に前記資源の割当状況および前記転送キューに蓄積されたメール数に基づいて再転送キューから転送キューに移動するメール量を決定し、
決定した数分のメールを再転送キューから転送キューに移動し、
前記転送キューから取り出したメールを前記転送先メールサーバに転送する、
ことを特徴とするメール転送制御方法。
【請求項８】
メールクライアントと転送元メールサーバと転送先メールサーバとを備えるメール転送制御システムのメール転送制御方法であって、
前記メールクライアントは、
前記転送元メールサーバにメールを送信し、
前記転送元メールサーバは、
前記メールクライアントから送信されたメールを受信して転送キューに格納し、
前記転送キューから取り出したメールの転送処理に管理している資源の中から資源を割り当て、
前記転送先メールサーバへの転送処理を行い、
前記転送が成功した場合、
前記転送先メールサーバは、
前記転送元メールサーバからのメールを受信し、
前記転送が失敗した場合、
前記転送元メールサーバは、
接続拒否によって転送が失敗した場合には転送に失敗したメールを接続拒否用再転送キューに格納し、
タイムアウトによって転送が失敗した場合には転送に失敗したメールをタイムアウト用再転送キューに格納し、
前記接続拒否用再転送キューに格納されたメールが再転送を試みるべき状態になった場合に再転送を試みるべき状態になったメールの全てを前記接続拒否用再転送キューから前記転送キューに移動し、
前記タイムアウト用再転送キューに格納されたメールが再転送を試みるべき状態になった場合に前記資源の割当状況および前記転送キューに蓄積されたメール数に基づいてタイムアウト再転送キューから転送キューに移動するメール量を決定し、
決定した数分のメールをタイムアウト再転送キューから転送キューに移動し、
前記転送キューから取り出したメールを前記転送先メールサーバに転送する、
ことを特徴とするメール転送制御方法。
【請求項９】
メールを受信して他へ転送する転送元メールサーバのメール転送制御方法であって、
前記転送元メールサーバは、
メールを受信して他への転送を試み、
前記転送が成功した場合、
前記転送元メールサーバは、
他へメールを転送し、
前記転送が失敗した場合、
前記転送元メールサーバは、
転送に失敗したメールを一時保存し、
メール転送に使用される資源の状況に応じて前記一時保存したメールの中から再転送するメール数を決定し、
決定した数分のメールを他へ再転送する、
ことを特徴とするメール転送制御方法。
【請求項１０】
メールを受信して他へ転送する転送元メールサーバのメール転送制御方法であって、
前記転送元メールサーバは、
メールを受信して転送キューに格納し、
前記転送キューから取り出したメールの転送処理に管理している資源の中から資源を割り当て、
他への転送処理を行い、
前記転送が成功した場合、
前記転送元メールサーバは、
他へメールを転送し、
前記転送が失敗した場合、
前記転送元メールサーバは、
転送に失敗したメールを再転送キューに格納し、
前記再転送キューに格納されたメールが再転送を試みるべき状態になった場合に前記資源の割当状況および前記転送キューに蓄積されたメール数に基づいて再転送キューから転送キューに移動するメール量を決定し、
決定した数分のメールを再転送キューから転送キューに移動し、
前記転送キューから取り出したメールを他へ転送する、
ことを特徴とするメール転送制御方法。
【請求項１１】
メールを受信して他へ転送する転送元メールサーバのメール転送制御方法であって、
前記転送元メールサーバは、
メールを受信して転送キューに格納し、
前記転送キューから取り出したメールの転送処理に管理している資源の中から資源を割り当て、
他への転送処理を行い、
前記転送が成功した場合、
前記転送元メールサーバは、
他へメールを転送し、
前記転送が失敗した場合、
前記転送元メールサーバは、
接続拒否によって転送が失敗した場合には転送に失敗したメールを接続拒否用再転送キューに格納し、
タイムアウトによって転送が失敗した場合には転送に失敗したメールをタイムアウト用再転送キューに格納し、
前記接続拒否用再転送キューに格納されたメールが再転送を試みるべき状態になった場合に再転送を試みるべき状態になったメールの全てを前記接続拒否用再転送キューから前記転送キューに移動し、
前記タイムアウト用再転送キューに格納されたメールが再転送を試みるべき状態になった場合に前記資源の割当状況および前記転送キューに蓄積されたメール数に基づいてタイムアウト再転送キューから転送キューに移動するメール量を決定し、
決定した数分のメールをタイムアウト再転送キューから転送キューに移動し、
前記転送キューから取り出したメールを他へ転送する、
ことを特徴とするメール転送制御方法。
【請求項１２】
前記再転送キューから前記転送キューに移動するメール量は、
前記転送元メールサーバが管理している資源に余りがある場合には総資源数から使用中資源数と初回転送優先資源数とメール蓄積数とを引いた値の数であり、
資源に余りがない場合には最低限移動数で定義される値の数である、
ことを特徴とする請求項７または請求項１０記載のメール転送制御方法。
【請求項１３】
前記タイムアウト用再転送キューから前記転送キューに移動するメール量は、
前記転送元メールサーバが管理している資源に余りがある場合には総資源数から使用中資源数と初回転送優先資源数とメール蓄積数とを引いた値の数であり、
資源に余りがない場合には最低限移動数で定義される値の数である、
ことを特徴とする請求項８または請求項１１記載のメール転送制御方法。
【請求項１４】
メールクライアントと転送元メールサーバと転送先メールサーバとを備えるメール転送制御システムのメール転送制御プログラムであって、
コンピュータに、
前記メールクライアントが、
前記転送元メールサーバにメールを送信する機能、
前記転送元メールサーバが、
前記メールクライアントからメールを受信して前記転送先メールサーバへの転送を試みる機能、
前記転送が成功した場合、
前記転送先メールサーバが、
前記転送元メールサーバからのメールを受信する機能、
前記転送が失敗した場合、
前記転送元メールサーバが、
転送に失敗したメールを一時保存する機能、
メール転送に使用される資源の状況に応じて前記一時保存したメールの中から再転送するメール数を決定する機能、
決定した数分のメールを前記転送先メールサーバに再転送する機能、
を実現させるためのメール転送制御プログラム。
【請求項１５】
メールクライアントと転送元メールサーバと転送先メールサーバとを備えるメール転送制御システムのメール転送制御プログラムであって、
コンピュータに、
前記メールクライアントが、
前記転送元メールサーバにメールを送信する機能、
前記転送元メールサーバが、
前記メールクライアントから送信されたメールを受信して転送キューに格納する機能、
前記転送キューから取り出したメールの転送処理に管理している資源の中から資源を割り当てる機能、
前記転送先メールサーバへの転送処理を行う機能、
前記転送が成功した場合、
前記転送先メールサーバが、
前記転送元メールサーバからのメールを受信する機能、
前記転送が失敗した場合、
前記転送元メールサーバが、
転送に失敗したメールを再転送キューに格納する機能、
前記再転送キューに格納されたメールが再転送を試みるべき状態になった場合に前記資源の割当状況および前記転送キューに蓄積されたメール数に基づいて再転送キューから転送キューに移動するメール量を決定する機能、
決定した数分のメールを再転送キューから転送キューに移動する機能、
前記転送キューから取り出したメールを前記転送先メールサーバに転送する機能、
を実現させるためのメール転送制御プログラム。
【請求項１６】
メールクライアントと転送元メールサーバと転送先メールサーバとを備えるメール転送制御システムのメール転送制御プログラムであって、
コンピュータに、
前記メールクライアントが、
前記転送元メールサーバにメールを送信する機能、
前記転送元メールサーバが、
前記メールクライアントから送信されたメールを受信して転送キューに格納する機能、
前記転送キューから取り出したメールの転送処理に管理している資源の中から資源を割り当てる機能、
前記転送先メールサーバへの転送処理を行う機能、
前記転送が成功した場合、
前記転送先メールサーバが、
前記転送元メールサーバからのメールを受信する機能、
前記転送が失敗した場合、
前記転送元メールサーバが、
接続拒否によって転送が失敗した場合には転送に失敗したメールを接続拒否用再転送キューに格納する機能、
タイムアウトによって転送が失敗した場合には転送に失敗したメールをタイムアウト用再転送キューに格納する機能、
前記接続拒否用再転送キューに格納されたメールが再転送を試みるべき状態になった場合に再転送を試みるべき状態になったメールの全てを前記接続拒否用再転送キューから前記転送キューに移動する機能、
前記タイムアウト用再転送キューに格納されたメールが再転送を試みるべき状態になった場合に前記資源の割当状況および前記転送キューに蓄積されたメール数に基づいてタイムアウト再転送キューから転送キューに移動するメール量を決定する機能、
決定した数分のメールをタイムアウト再転送キューから転送キューに移動する機能、
前記転送キューから取り出したメールを前記転送先メールサーバに転送する機能、
を実現させるためのメール転送制御プログラム。
【請求項１７】
メールを受信して他へ転送する転送元メールサーバのメール転送制御プログラムであって、
コンピュータに、
前記転送元メールサーバが、
メールを受信して他への転送を試みる機能、
前記転送が成功した場合、
前記転送元メールサーバが、
他へメールを転送する機能、
前記転送が失敗した場合、
前記転送元メールサーバが、
転送に失敗したメールを一時保存する機能、
メール転送に使用される資源の状況に応じて前記一時保存したメールの中から再転送するメール数を決定する機能、
決定した数分のメールを他へ再転送する機能、
を実現させるためのメール転送制御プログラム。
【請求項１８】
メールを受信して他へ転送する転送元メールサーバのメール転送制御プログラムであって、
コンピュータに、
前記転送元メールサーバが、
メールを受信して転送キューに格納する機能、
前記転送キューから取り出したメールの転送処理に管理している資源の中から資源を割り当てる機能、
他への転送処理を行う機能、
前記転送が成功した場合、
前記転送元メールサーバが、
他へメールを転送する機能、
前記転送が失敗した場合、
前記転送元メールサーバが、
転送に失敗したメールを再転送キューに格納する機能、
前記再転送キューに格納されたメールが再転送を試みるべき状態になった場合に前記資源の割当状況および前記転送キューに蓄積されたメール数に基づいて再転送キューから転送キューに移動するメール量を決定する機能、
決定した数分のメールを再転送キューから転送キューに移動する機能、
前記転送キューから取り出したメールを他へ転送する機能、
を実現させるためのメール転送制御プログラム。
【請求項１９】
メールを受信して他へ転送する転送元メールサーバのメール転送制御プログラムであって、
コンピュータに、
前記転送元メールサーバが、
メールを受信して転送キューに格納する機能、
前記転送キューから取り出したメールの転送処理に管理している資源の中から資源を割り当てる機能、
他への転送処理を行う機能、
前記転送が成功した場合、
前記転送元メールサーバが、
他へメールを転送する機能、
前記転送が失敗した場合、
前記転送元メールサーバが、
接続拒否によって転送が失敗した場合には転送に失敗したメールを接続拒否用再転送キューに格納する機能、
タイムアウトによって転送が失敗した場合には転送に失敗したメールをタイムアウト用再転送キューに格納する機能、
前記接続拒否用再転送キューに格納されたメールが再転送を試みるべき状態になった場合に再転送を試みるべき状態になったメールの全てを前記接続拒否用再転送キューから前記転送キューに移動する機能、
前記タイムアウト用再転送キューに格納されたメールが再転送を試みるべき状態になった場合に前記資源の割当状況および前記転送キューに蓄積されたメール数に基づいてタイムアウト再転送キューから転送キューに移動するメール量を決定する機能、
決定した数分のメールをタイムアウト再転送キューから転送キューに移動する機能、
前記転送キューから取り出したメールを他へ転送する機能、
を実現させるためのメール転送制御プログラム。
【請求項２０】
前記再転送キューから前記転送キューに移動するメール量を、
前記転送元メールサーバが管理している資源に余りがある場合には総資源数から使用中資源数と初回転送優先資源数とメール蓄積数とを引いた値から算出する機能、
資源に余りがない場合には最低限移動数で定義される値から算出する機能、
を実現させるための請求項１５または請求項１８記載のメール転送制御プログラム。
【請求項２１】
前記タイムアウト用再転送キューから前記転送キューに移動するメール量を、
前記転送元メールサーバが管理している資源に余りがある場合には総資源数から使用中資源数と初回転送優先資源数とメール蓄積数とを引いた値から算出する機能、
資源に余りがない場合には最低限移動数で定義される値から算出する機能、
を実現させるための請求項１６または請求項１９記載のメール転送制御プログラム。
【請求項２２】
メールを受信して他へ転送する転送元メールサーバであって、
メールを受信して他への転送を試み前記転送に失敗した場合に前記転送に失敗したメールを一時保存しメール転送に使用される資源の状況に応じて前記一時保存したメールの中から再転送するメール数を決定し決定した数分のメールを再転送する、
ことを特徴とする転送元メールサーバ。
【請求項２３】
メールを受信して転送キューに格納するメール転送受付装置と、
転送処理で使用する資源を管理し前記転送キューから取り出したメールの転送処理に資源を割り当てて他への転送処理を行い前記転送に失敗した場合はメールを再転送キューに格納するメール転送装置と、
前記再転送キューに格納されたメールが再転送を試みるべき状態になった場合に前記メール転送装置での資源の割当状況および前記転送キューに蓄積されたメール数に基づいて再転送キューから転送キューに移動するメール量を決定し決定した数分のメールを再転送キューから転送キューに移動する再転送メール管理装置と、
転送待ちのメールを蓄積する転送キューと、
転送に失敗した再転送待ちのメールを蓄積する再転送キューとを備える、
ことを特徴とする請求項２２記載の転送元メールサーバ。
【請求項２４】
前記再転送キューから前記転送キューに移動するメール量は、資源に余りがある場合には総資源数から使用中資源数と初回転送優先資源数とメール蓄積数とを引いた値の数から成り、資源に余りがない場合には最低限移動数で定義される値の数から成る、
ことを特徴とする請求項２３記載の転送元メールサーバ。
【請求項２５】
メールを受信して転送キューに格納するメール転送受付装置と、
転送処理で使用する資源を管理し前記転送キューから取り出したメールの転送処理に資源を割り当てて他への転送処理を行い接続拒否によって前記転送が失敗した場合はメールを接続拒否用再転送キューに格納しタイムアウトによって前記転送が失敗した場合はメールをタイムアウト用再転送キューに格納するメール転送装置と、
前記接続拒否用再転送キューに格納されたメールが再転送を試みるべき状態になった場合に再転送を試みるべき状態になったメールの全てを前記接続拒否用再転送キューから前記転送キューに移動し前記タイムアウト用再転送キューに格納されたメールが再転送を試みるべき状態になった場合に前記メール転送装置での資源の割当状況および前記転送キューに蓄積されたメール数に基づいてタイムアウト再転送キューから転送キューに移動するメール量を決定し決定した数分のメールをタイムアウト再転送キューから転送キューに移動する再転送メール管理装置と、
転送待ちのメールを蓄積する転送キューと、
接続拒否により転送に失敗した再転送待ちのメールを蓄積する接続拒否用再転送キューと、
タイムアウトにより転送に失敗した再転送待ちのメールを蓄積するタイムアウト用再転送キューと、を備える、
ことを特徴とする請求項２２記載の転送元メールサーバ。
【請求項２６】
前記タイムアウト用再転送キューから前記転送キューに移動するメール量は、資源に余りがある場合には総資源数から使用中資源数と初回転送優先資源数とメール蓄積数とを引いた値の数から成り、資源に余りがない場合には最低限移動数で定義される値の数から成る、
ことを特徴とする請求項２５記載の転送元メールサーバ。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、メールの転送を制御するメール転送制御システム，方法およびプログラムに関し、特にメール転送のための資源を効率的に利用するメール転送制御システム，方法およびプログラムに関する。
【０００２】
【従来の技術】
メール転送システムにおいて、メール転送処理はマルチスレッド機能を使用して、処理が並列に実行される。１つの転送は、１つのスレッドの下で実行される。並列に実行される処理のマルチ度は、システムの環境（メール転送のための資源）に依る上限がある。例えば、マルチ度１００のシステムでは、５通のメールを並列に転送することは問題ないが、１００通を超えるメールを並列に転送するとメール転送のための資源不足となり転送ができない。ここでいうメール転送処理には、最初に行うメール転送処理とメールの転送に失敗した後のメール再転送処理とを含む。
【０００３】
１つのメールを転送する処理を実行するためのスレッド環境を整える資源（スレッドを構成する資源）をスレッド資源と称す。
【０００４】
従来、スレッド資源は、以下のように管理されている。
（１）スレッド資源数を一括プールして管理し、最初に行うメール転送時またはメールの転送に失敗した後のメール再転送時に、必要数分のスレッ資源を確保してメール転送処理を行う。
（２）スレッド資源数を最初に行うメール転送用とメールの転送に失敗した後のメール再転送用に予め分割して割り当てておき、最初に行うメール転送時またはメールの転送に失敗した後のメール再転送時に、予めそれぞれに割り当てられてあるスレッド資源数の中から必要数分のスレッド資源を確保してメール転送処理を行う。
【０００５】
従来のメール転送システムの一例が、特許文献１に記載されている。特許文献１では、メールサーバに送られてきた電子メールのメッセージを一時格納するインプットキューと、他のメールサーバに転送されるメッセージを一時格納するフォワードキューと、何等かの原因により他のメールサーバへの転送が未達であったメッセージを一時格納するペンディングキューとを備え、キューマネジャは条件判定手段の判定に基づいてペンディングキュー内にある未達メッセージを取り出してフォワードキューに移し、メッセージ転送の再処理を行う電子メールシステムのメッセージ管理装置が開示されている。本システムでは、最初に行うメール転送の処理と、一度メールの転送に失敗し場合に再度転送する処理は、それぞれのキューの状態に従って独立して実行されている。
【０００６】
【特許文献１】
特開平４−３１８７２６号公報
【０００７】
【発明が解決しようとする課題】
しかしながら、上述した従来の技術のシステムでは、次のような問題点があった。
【０００８】
すなわち、最初に行うメール転送時またはメールの転送に失敗した後のメール再転送時に、一括プールして管理されたスレッド資源数の中からを確保して処理を行う方式では、スレッド資源の無駄は発生しないものの、大量のメール転送を行う場合には多くのスレッド資源を消費してしまうので、例えば、最初に行うメール転送のためにスレッド資源を消費してしまうと、メール再転送を試みようとしてもスレッド資源が無く、メール再転送が全くできない状況が発生する。
【０００９】
また、最初に行うメール転送時またはメールの転送に失敗した後のメール再転送時に、予めそれぞれに割り当てられてあるスレッド資源を確保して処理を行う方式では、最初に行うメール転送の要求が多くてそれ用のスレッド資源が枯渇し、メール再転送用のスレッド資源が使用されていないという場合にも、メール再転送用に割り当てられ使用されていないスレッド資源を、最初に行うメール転送のために、有効に利用することができない。
【００１０】
本発明の第１の目的は、上記の問題点を解決し、最初に行うメール転送処理とメール転送に失敗した後の再転送処理との間でスレッド資源を共有して効率的に利用するメール転送制御システム，方法およびプログラムを提供することにある。
【００１１】
また、第２の目的は、最初に行うメール転送のスレッド資源待ちの時間を抑えることができるメール転送制御システム，方法およびプログラムを提供することにある。
【００１２】
【課題を解決するための手段】
本願第１の発明のメール転送制御システムは、メールを転送元メールサーバに送信するメールクライアントと、前記メールクライアントからメールを受信して転送先メールサーバへの転送を試み前記転送に失敗した場合に前記転送に失敗したメールを一時保存しメール転送に使用される資源の状況に応じて前記一時保存したメールの中から再転送するメール数を決定し決定した数分のメールを再転送する転送元メールサーバと、前記転送元メールサーバから転送されたメールを受信する転送先メールサーバとを備える。
【００１３】
本願第２の発明のメール転送制御システムは、第１の発明において前記転送元メールサーバは、前記メールクライアントから送信されたメールを受信して転送キューに格納するメール転送受付装置と、転送処理で使用する資源を管理し前記転送キューから取り出したメールの転送処理に資源を割り当てて前記転送先メールサーバへの転送処理を行い前記転送に失敗した場合はメールを再転送キューに格納するメール転送装置と、前記再転送キューに格納されたメールが再転送を試みるべき状態になった場合に前記メール転送装置での資源の割当状況および前記転送キューに蓄積されたメール数に基づいて再転送キューから転送キューに移動するメール量を決定し決定した数分のメールを再転送キューから転送キューに移動する再転送メール管理装置と、転送待ちのメールを蓄積する転送キューと、転送に失敗した再転送待ちのメールを蓄積する再転送キューとを備える。
【００１４】
本願第３の発明のメール転送制御システムは、第２の発明において前記再転送キューから前記転送キューに移動するメール量は、資源に余りがある場合には総資源数から使用中資源数と初回転送優先資源数とメール蓄積数とを引いた値の数から成り、資源に余りがない場合には最低限移動数で定義される値の数から成る、ことを特徴とする。
【００１５】
本願第４の発明のメール転送制御システムは、第１の発明において前記転送元メールサーバは、前記メールクライアントから送信されたメールを受信して転送キューに格納するメール転送受付装置と、転送処理で使用する資源を管理し前記転送キューから取り出したメールの転送処理に資源を割り当てて前記転送先メールサーバへの転送処理を行い接続拒否によって前記転送が失敗した場合はメールを接続拒否用再転送キューに格納しタイムアウトによって前記転送が失敗した場合はメールをタイムアウト用再転送キューに格納するメール転送装置と、前記接続拒否用再転送キューに格納されたメールが再転送を試みるべき状態になった場合に再転送を試みるべき状態になったメールの全てを前記接続拒否用再転送キューから前記転送キューに移動し前記タイムアウト用再転送キューに格納されたメールが再転送を試みるべき状態になった場合に前記メール転送装置での資源の割当状況および前記転送キューに蓄積されたメール数に基づいてタイムアウト再転送キューから転送キューに移動するメール量を決定し決定した数分のメールをタイムアウト再転送キューから転送キューに移動する再転送メール管理装置と、転送待ちのメールを蓄積する転送キューと、接続拒否により転送に失敗した再転送待ちのメールを蓄積する接続拒否用再転送キューと、タイムアウトにより転送に失敗した再転送待ちのメールを蓄積するタイムアウト用再転送キューと、を備える。
【００１６】
本願第５の発明のメール転送制御システムは、第４の発明において前記タイムアウト用再転送キューから前記転送キューに移動するメール量は、資源に余りがある場合には総資源数から使用中資源数と初回転送優先資源数とメール蓄積数とを引いた値の数から成り、資源に余りがない場合には最低限移動数で定義される値の数から成る、ことを特徴とする。
【００１７】
本願第６の発明のメール転送制御方法は、メールクライアントと転送元メールサーバと転送先メールサーバとを備えるメール転送制御システムのメール転送制御方法であって、前記メールクライアントは、前記転送元メールサーバにメールを送信し、前記転送元メールサーバは、前記メールクライアントからメールを受信して前記転送先メールサーバへの転送を試み、前記転送が成功した場合、前記転送先メールサーバは、前記転送元メールサーバからのメールを受信し、前記転送が失敗した場合、前記転送元メールサーバは、転送に失敗したメールを一時保存し、メール転送に使用される資源の状況に応じて前記一時保存したメールの中から再転送するメール数を決定し、決定した数分のメールを前記転送先メールサーバに再転送する、ことを特徴とする。
【００１８】
本願第７の発明のメール転送制御方法は、メールクライアントと転送元メールサーバと転送先メールサーバとを備えるメール転送制御システムのメール転送制御方法であって、前記メールクライアントは、前記転送元メールサーバにメールを送信し、前記転送元メールサーバは、前記メールクライアントから送信されたメールを受信して転送キューに格納し、前記転送キューから取り出したメールの転送処理に管理している資源の中から資源を割り当て、前記転送先メールサーバへの転送処理を行い、前記転送が成功した場合、前記転送先メールサーバは、前記転送元メールサーバからのメールを受信し、前記転送が失敗した場合、前記転送元メールサーバは、転送に失敗したメールを再転送キューに格納し、前記再転送キューに格納されたメールが再転送を試みるべき状態になった場合に前記資源の割当状況および前記転送キューに蓄積されたメール数に基づいて再転送キューから転送キューに移動するメール量を決定し、決定した数分のメールを再転送キューから転送キューに移動し、前記転送キューから取り出したメールを前記転送先メールサーバに転送する、ことを特徴とする。
【００１９】
本願第８の発明のメール転送制御方法は、メールクライアントと転送元メールサーバと転送先メールサーバとを備えるメール転送制御システムのメール転送制御方法であって、前記メールクライアントは、前記転送元メールサーバにメールを送信し、前記転送元メールサーバは、前記メールクライアントから送信されたメールを受信して転送キューに格納し、前記転送キューから取り出したメールの転送処理に管理している資源の中から資源を割り当て、前記転送先メールサーバへの転送処理を行い、前記転送が成功した場合、前記転送先メールサーバは、前記転送元メールサーバからのメールを受信し、前記転送が失敗した場合、前記転送元メールサーバは、接続拒否によって転送が失敗した場合には転送に失敗したメールを接続拒否用再転送キューに格納し、タイムアウトによって転送が失敗した場合には転送に失敗したメールをタイムアウト用再転送キューに格納し、前記接続拒否用再転送キューに格納されたメールが再転送を試みるべき状態になった場合に再転送を試みるべき状態になったメールの全てを前記接続拒否用再転送キューから前記転送キューに移動し、前記タイムアウト用再転送キューに格納されたメールが再転送を試みるべき状態になった場合に前記資源の割当状況および前記転送キューに蓄積されたメール数に基づいてタイムアウト再転送キューから転送キューに移動するメール量を決定し、決定した数分のメールをタイムアウト再転送キューから転送キューに移動し、前記転送キューから取り出したメールを前記転送先メールサーバに転送する、ことを特徴とする。
【００２０】
本願第９の発明のメール転送制御方法は、メールを受信して他へ転送する転送元メールサーバのメール転送制御方法であって、前記転送元メールサーバは、メールを受信して他への転送を試み、前記転送が成功した場合、前記転送元メールサーバは、他へメールを転送し、前記転送が失敗した場合、前記転送元メールサーバは、転送に失敗したメールを一時保存し、メール転送に使用される資源の状況に応じて前記一時保存したメールの中から再転送するメール数を決定し、決定した数分のメールを他へ再転送する、ことを特徴とする。
【００２１】
本願第１０の発明のメール転送制御方法は、メールを受信して他へ転送する転送元メールサーバのメール転送制御方法であって、前記転送元メールサーバは、メールを受信して転送キューに格納し、前記転送キューから取り出したメールの転送処理に管理している資源の中から資源を割り当て、他への転送処理を行い、前記転送が成功した場合、前記転送元メールサーバは、他へメールを転送し、前記転送が失敗した場合、前記転送元メールサーバは、転送に失敗したメールを再転送キューに格納し、前記再転送キューに格納されたメールが再転送を試みるべき状態になった場合に前記資源の割当状況および前記転送キューに蓄積されたメール数に基づいて再転送キューから転送キューに移動するメール量を決定し、決定した数分のメールを再転送キューから転送キューに移動し、前記転送キューから取り出したメールを他へ転送する、ことを特徴とする。
【００２２】
本願第１１の発明のメール転送制御方法は、メールを受信して他へ転送する転送元メールサーバのメール転送制御方法であって、前記転送元メールサーバは、メールを受信して転送キューに格納し、前記転送キューから取り出したメールの転送処理に管理している資源の中から資源を割り当て、他への転送処理を行い、前記転送が成功した場合、前記転送元メールサーバは、他へメールを転送し、前記転送が失敗した場合、前記転送元メールサーバは、接続拒否によって転送が失敗した場合には転送に失敗したメールを接続拒否用再転送キューに格納し、タイムアウトによって転送が失敗した場合には転送に失敗したメールをタイムアウト用再転送キューに格納し、前記接続拒否用再転送キューに格納されたメールが再転送を試みるべき状態になった場合に再転送を試みるべき状態になったメールの全てを前記接続拒否用再転送キューから前記転送キューに移動し、前記タイムアウト用再転送キューに格納されたメールが再転送を試みるべき状態になった場合に前記資源の割当状況および前記転送キューに蓄積されたメール数に基づいてタイムアウト再転送キューから転送キューに移動するメール量を決定し、決定した数分のメールをタイムアウト再転送キューから転送キューに移動し、前記転送キューから取り出したメールを他へ転送する、ことを特徴とする。
【００２３】
本願第１２の発明のメール転送制御方法は、第７または第１０の発明において前記再転送キューから前記転送キューに移動するメール量は、前記転送元メールサーバが管理している資源に余りがある場合には総資源数から使用中資源数と初回転送優先資源数とメール蓄積数とを引いた値の数であり、資源に余りがない場合には最低限移動数で定義される値の数である、ことを特徴とする。
【００２４】
本願第１３の発明のメール転送制御方法は、第８または第１１の発明において前記タイムアウト用再転送キューから前記転送キューに移動するメール量は、前記転送元メールサーバが管理している資源に余りがある場合には総資源数から使用中資源数と初回転送優先資源数とメール蓄積数とを引いた値の数であり、資源に余りがない場合には最低限移動数で定義される値の数である、ことを特徴とする。
【００２５】
本願第１４の発明のメール転送制御プログラムは、メールクライアントと転送元メールサーバと転送先メールサーバとを備えるメール転送制御システムのメール転送制御プログラムであって、コンピュータに、前記メールクライアントが、前記転送元メールサーバにメールを送信する機能、前記転送元メールサーバが、前記メールクライアントからメールを受信して前記転送先メールサーバへの転送を試みる機能、前記転送が成功した場合、前記転送先メールサーバが、前記転送元メールサーバからのメールを受信する機能、前記転送が失敗した場合、前記転送元メールサーバが、転送に失敗したメールを一時保存する機能、メール転送に使用される資源の状況に応じて前記一時保存したメールの中から再転送するメール数を決定する機能、決定した数分のメールを前記転送先メールサーバに再転送する機能、を実現させる。
【００２６】
本願第１５の発明のメール転送制御プログラムは、メールクライアントと転送元メールサーバと転送先メールサーバとを備えるメール転送制御システムのメール転送制御プログラムであって、コンピュータに、前記メールクライアントが、前記転送元メールサーバにメールを送信する機能、前記転送元メールサーバが、前記メールクライアントから送信されたメールを受信して転送キューに格納する機能、前記転送キューから取り出したメールの転送処理に管理している資源の中から資源を割り当てる機能、前記転送先メールサーバへの転送処理を行う機能、前記転送が成功した場合、前記転送先メールサーバが、前記転送元メールサーバからのメールを受信する機能、前記転送が失敗した場合、前記転送元メールサーバが、転送に失敗したメールを再転送キューに格納する機能、前記再転送キューに格納されたメールが再転送を試みるべき状態になった場合に前記資源の割当状況および前記転送キューに蓄積されたメール数に基づいて再転送キューから転送キューに移動するメール量を決定する機能、決定した数分のメールを再転送キューから転送キューに移動する機能、前記転送キューから取り出したメールを前記転送先メールサーバに転送する機能、を実現させる。
【００２７】
本願第１６の発明のメール転送制御プログラムは、メールクライアントと転送元メールサーバと転送先メールサーバとを備えるメール転送制御システムのメール転送制御プログラムであって、コンピュータに、前記メールクライアントが、前記転送元メールサーバにメールを送信する機能、前記転送元メールサーバが、前記メールクライアントから送信されたメールを受信して転送キューに格納する機能、前記転送キューから取り出したメールの転送処理に管理している資源の中から資源を割り当てる機能、前記転送先メールサーバへの転送処理を行う機能、前記転送が成功した場合、前記転送先メールサーバが、前記転送元メールサーバからのメールを受信する機能、前記転送が失敗した場合、前記転送元メールサーバが、接続拒否によって転送が失敗した場合には転送に失敗したメールを接続拒否用再転送キューに格納する機能、タイムアウトによって転送が失敗した場合には転送に失敗したメールをタイムアウト用再転送キューに格納する機能、前記接続拒否用再転送キューに格納されたメールが再転送を試みるべき状態になった場合に再転送を試みるべき状態になったメールの全てを前記接続拒否用再転送キューから前記転送キューに移動する機能、前記タイムアウト用再転送キューに格納されたメールが再転送を試みるべき状態になった場合に前記資源の割当状況および前記転送キューに蓄積されたメール数に基づいてタイムアウト再転送キューから転送キューに移動するメール量を決定する機能、決定した数分のメールをタイムアウト再転送キューから転送キューに移動する機能、前記転送キューから取り出したメールを前記転送先メールサーバに転送する機能、を実現させる。
【００２８】
本願第１７の発明のメール転送制御プログラムは、メールを受信して他へ転送する転送元メールサーバのメール転送制御プログラムであって、コンピュータに、前記転送元メールサーバが、メールを受信して他への転送を試みる機能、前記転送が成功した場合、前記転送元メールサーバが、他へメールを転送する機能、前記転送が失敗した場合、前記転送元メールサーバが、転送に失敗したメールを一時保存する機能、メール転送に使用される資源の状況に応じて前記一時保存したメールの中から再転送するメール数を決定する機能、決定した数分のメールを他へ再転送する機能、を実現させる。
【００２９】
本願第１８の発明のメール転送制御プログラムは、メールを受信して他へ転送する転送元メールサーバのメール転送制御プログラムであって、コンピュータに、前記転送元メールサーバが、メールを受信して転送キューに格納する機能、前記転送キューから取り出したメールの転送処理に管理している資源の中から資源を割り当てる機能、他への転送処理を行う機能、前記転送が成功した場合、前記転送元メールサーバが、他へメールを転送する機能、前記転送が失敗した場合、前記転送元メールサーバが、転送に失敗したメールを再転送キューに格納する機能、前記再転送キューに格納されたメールが再転送を試みるべき状態になった場合に前記資源の割当状況および前記転送キューに蓄積されたメール数に基づいて再転送キューから転送キューに移動するメール量を決定する機能、決定した数分のメールを再転送キューから転送キューに移動する機能、前記転送キューから取り出したメールを他へ転送する機能、を実現させる。
【００３０】
本願第１９の発明のメール転送制御プログラムは、メールを受信して他へ転送する転送元メールサーバのメール転送制御プログラムであって、コンピュータに、前記転送元メールサーバが、メールを受信して転送キューに格納する機能、前記転送キューから取り出したメールの転送処理に管理している資源の中から資源を割り当てる機能、他への転送処理を行う機能、前記転送が成功した場合、前記転送元メールサーバが、他へメールを転送する機能、前記転送が失敗した場合、前記転送元メールサーバが、接続拒否によって転送が失敗した場合には転送に失敗したメールを接続拒否用再転送キューに格納する機能、タイムアウトによって転送が失敗した場合には転送に失敗したメールをタイムアウト用再転送キューに格納する機能、前記接続拒否用再転送キューに格納されたメールが再転送を試みるべき状態になった場合に再転送を試みるべき状態になったメールの全てを前記接続拒否用再転送キューから前記転送キューに移動する機能、前記タイムアウト用再転送キューに格納されたメールが再転送を試みるべき状態になった場合に前記資源の割当状況および前記転送キューに蓄積されたメール数に基づいてタイムアウト再転送キューから転送キューに移動するメール量を決定する機能、決定した数分のメールをタイムアウト再転送キューから転送キューに移動する機能、前記転送キューから取り出したメールを他へ転送する機能、を実現させる。
【００３１】
本願第２０の発明のメール転送制御プログラムは、第１５または第１８の発明において前記再転送キューから前記転送キューに移動するメール量を、前記転送元メールサーバが管理している資源に余りがある場合には総資源数から使用中資源数と初回転送優先資源数とメール蓄積数とを引いた値から算出する機能、資源に余りがない場合には最低限移動数で定義される値から算出する機能、を実現させる。
【００３２】
本願第２１の発明のメール転送制御プログラムは、第１６または第１９の発明において前記タイムアウト用再転送キューから前記転送キューに移動するメール量を、前記転送元メールサーバが管理している資源に余りがある場合には総資源数から使用中資源数と初回転送優先資源数とメール蓄積数とを引いた値から算出する機能、資源に余りがない場合には最低限移動数で定義される値から算出する機能、を実現させる。
【００３３】
本願第２２の発明の転送元メールサーバは、メールを受信して他へ転送する転送元メールサーバであって、メールを受信して他への転送を試み前記転送に失敗した場合に前記転送に失敗したメールを一時保存しメール転送に使用される資源の状況に応じて前記一時保存したメールの中から再転送するメール数を決定し決定した数分のメールを再転送する、ことを特徴とする。
【００３４】
本願第２３の発明の転送元メールサーバは、第２２の発明においてメールを受信して転送キューに格納するメール転送受付装置と、転送処理で使用する資源を管理し前記転送キューから取り出したメールの転送処理に資源を割り当てて他への転送処理を行い前記転送に失敗した場合はメールを再転送キューに格納するメール転送装置と、前記再転送キューに格納されたメールが再転送を試みるべき状態になった場合に前記メール転送装置での資源の割当状況および前記転送キューに蓄積されたメール数に基づいて再転送キューから転送キューに移動するメール量を決定し決定した数分のメールを再転送キューから転送キューに移動する再転送メール管理装置と、転送待ちのメールを蓄積する転送キューと、転送に失敗した再転送待ちのメールを蓄積する再転送キューとを備える、ことを特徴とする。
【００３５】
本願第２４の発明の転送元メールサーバは、第２３の発明において前記再転送キューから前記転送キューに移動するメール量は、資源に余りがある場合には総資源数から使用中資源数と初回転送優先資源数とメール蓄積数とを引いた値の数から成り、資源に余りがない場合には最低限移動数で定義される値の数から成る、ことを特徴とする。
【００３６】
本願第２５の発明の転送元メールサーバは、第２２の発明においてメールを受信して転送キューに格納するメール転送受付装置と、転送処理で使用する資源を管理し前記転送キューから取り出したメールの転送処理に資源を割り当てて他への転送処理を行い接続拒否によって前記転送が失敗した場合はメールを接続拒否用再転送キューに格納しタイムアウトによって前記転送が失敗した場合はメールをタイムアウト用再転送キューに格納するメール転送装置と、前記接続拒否用再転送キューに格納されたメールが再転送を試みるべき状態になった場合に再転送を試みるべき状態になったメールの全てを前記接続拒否用再転送キューから前記転送キューに移動し前記タイムアウト用再転送キューに格納されたメールが再転送を試みるべき状態になった場合に前記メール転送装置での資源の割当状況および前記転送キューに蓄積されたメール数に基づいてタイムアウト再転送キューから転送キューに移動するメール量を決定し決定した数分のメールをタイムアウト再転送キューから転送キューに移動する再転送メール管理装置と、転送待ちのメールを蓄積する転送キューと、接続拒否により転送に失敗した再転送待ちのメールを蓄積する接続拒否用再転送キューと、タイムアウトにより転送に失敗した再転送待ちのメールを蓄積するタイムアウト用再転送キューと、を備える、ことを特徴とする。
【００３７】
本願第２６の発明の転送元メールサーバは、第２５の発明において前記タイムアウト用再転送キューから前記転送キューに移動するメール量は、資源に余りがある場合には総資源数から使用中資源数と初回転送優先資源数とメール蓄積数とを引いた値の数から成り、資源に余りがない場合には最低限移動数で定義される値の数から成る、ことを特徴とする。
【００３８】
【発明の実施の形態】
本発明のメール転送制御システムは、最初に行うメール転送とメールの転送に失敗した後のメール再転送を、それぞれの状態に基づいて統一的に管理してメール転送のためのシステム資源を効率的に利用することを特徴とする。
【００３９】
より具体的には、転送に失敗した後に再転送キューに格納されたメールが再転送を試みるべき状態になった場合には、メール転送のための資源（スレッド資源）の消費度合いと転送キューの蓄積数とに基づいて、再転送キューから転送キューに移動させる再転送メールの量を決定し、決定した量のメールを再転送キューから転送キューに移動して再転送を行う。
【００４０】
次に、本発明の実施の形態の構成について、図面を参照して詳細に説明する。図１は、本発明の実施の形態の構成を示す図である。
【００４１】
図１を参照すると、本発明のメール転送制御システムの一実施例は、メールクライアント１０と、転送元メールサーバ２０と、転送先メールサーバ３０と、を備えている。
【００４２】
なお、図１では、メールクライアントと転送先メールサーバは各１個で図示しているが、メールクライアントと転送先メールサーバの個数に制約はない。メールクライアントから転送元メールサーバ２０に送信されたメールは、転送元メールサーバ２０を介して、メールで指定された宛先に係わる転送先メールサーバに転送される。
【００４３】
メールクライアント１０は、プログラム制御で動作するパーソナルコンピュータ等の情報処理装置で、メール１を作成して転送元メールサーバ２０に送信する。
【００４４】
転送元メールサーバ２０は、プログラム制御で動作するサーバ等の情報処理装置で、マルチスレッド機能を有し、メールクライアント１０から送信されたメール１を受信して転送先メールサーバ３０に転送する。転送元メールサーバ２０は、メール転送受付装置１００と、メール転送装置１０１と、再転送メール管理装置１０２と、転送キュー２０１と、再転送キュー２０２と、を備えている。
【００４５】
メール転送受付装置１００は、メールクライアント１０が送信するメール１を受信し、転送キュー２０１に格納する。
【００４６】
メール転送装置１０１は、転送処理で使用するスレッド資源を一括プールして管理し、転送キュー２０１から取り出したメール１の転送処理にスレッド資源を割り当て、転送先メールサーバ３０への転送処理を実施する。転送に失敗した場合は、メール１を再転送キュー２０２に格納する。メール１を再転送キュー２０２に格納するときに、メール転送に失敗した時刻も併せて格納する。また、再転送メール管理装置１０２からのスレッド資源の割り当て状態問い合わせ等に対して応答する機能を有する。
【００４７】
また、メール転送装置１０１は、総資源数Ｒａと使用中資源数Ｒｗを管理する。総資源数Ｒａはメール転送装置１０１が一括プールして管理するスレッド資源の総数であり、使用中資源数Ｒｗは総資源数Ｒａの中からメール転送のためにメール転送装置１０１が割り当てて使用中であるスレッド資源の数である。総資源数Ｒａは予め決められた固定値であり、使用中資源数Ｒｗはスレッド資源の使用開始／使用終了に応じてメール転送装置１０１が更新（＋１／−１）する値である。総資源数Ｒａと使用中資源数Ｒｗは主記憶装置等（図示せず）の領域に格納される。
【００４８】
再転送メール管理装置１０２は、再転送キュー２０２に格納されているメールの中から再転送を試みるべき条件に合致するメールの一覧（例えば、前回の転送失敗から一定時間経過したメールの一覧）を取得する機能、メール転送装置１０１に対してスレッド資源の割り当て状態（総資源数Ｒａと使用中資源数Ｒｗ）などを問い合わせる機能、転送キュー２０１にアクセスして転送キュー２０１に蓄積されているメールの数（メール蓄積数Ｑ）などを取得する機能等を有する。また、これらの問い合わせ結果および取得結果に基づいて再転送キュー２０２から転送キュー２０１に移動させる量を算出決定する機能、決定した量のメールを再転送キュー２０２から転送キュー２０１に移動させる機能を有する。
【００４９】
転送キュー２０１は、転送待ちのメールを蓄積するメモリであり、蓄積した順に取り出すことができる。
【００５０】
再転送キュー２０２は、転送に失敗した再転送待ちのメールを蓄積するメモリであり、蓄積した順に取り出すことができる。
【００５１】
転送先メールサーバ３０は、プログラム制御で動作するサーバ等の情報処理装置で、転送元メールサーバ２０から転送されたメール１を受信する。なお、メールの転送先は転送先メールサーバ３０ではなく、転送元メールサーバ２０配下の他のメールクライアントでもよい。
【００５２】
ここで、再転送メール管理装置１０２が再転送キュー２０２から転送キュー２０１に移動させる量を算出決定するときに使用する初回転送優先資源数Ｒ１と最低限移動数Ｍｉについて説明する。
【００５３】
初回転送優先資源数Ｒ１は、最初に行うメール転送に優先的に割り当てられるスレッド資源数である。初回転送優先資源数Ｒ１を設けることにより、転送に失敗しているメールを再転送する場合は再度失敗する可能性が高いため、タイムアウト待ちなどの失敗となるまで時間のかかる転送処理によって資源が占有され、最初に行うメール転送に資源が割り当てられなくなるのを防止する。
【００５４】
最低限移動数Ｍｉは、再転送キュー２０２から転送キュー２０１に移動してもよい最低限のメール数である。転送に失敗しているメールの再転送がすべてタイムアウト待ちなどの失敗となるまでに時間のかかるものであっても、転送キュー２０１に蓄積されるメールの数が多くなり過ぎない範囲で決める。例えば、具体例として、メールの転送に使えるスレッド資源が２００あり、１通転送するのに１スレッド専有し、失敗となるまでに４０秒かかる場合には、４０秒間で２００通転送することができるので秒間５（２００／４０）通となる。すなわち、それだけ、転送キューから取り出して処理するので、その分新規に転送キューにためることができる。そこで、秒間５を限度に最低限移動数Ｍｉを決定する。
【００５５】
なお、初回転送優先資源数Ｒ１と最低限移動数Ｍｉは予め設定され、主記憶装置等（図示せず）の領域に格納されている。
【００５６】
次に、本発明の実施の形態の動作について、図面を参照して詳細に説明する。
【００５７】
先ず、図１を参照して、全体の動作を説明する。
【００５８】
図１において、メール１の転送先メールサーバ３０への転送要求は、メール転送受付装置１００によって受け付けられ、メール１は転送キュー２０１の末尾に追加される。
【００５９】
メール転送装置１０１は、管理しているスレッド資源の範囲で、転送キュー２０１の先頭からメール１を取り出し、転送先メールサーバ３０への転送を試みる（これを最初に行うメール転送と称す）。メール１は、転送が成功すると転送先メールサーバ３０に転送され、失敗した場合には再転送キュー２０２の末尾に追加される。
【００６０】
再転送管理装置１０２は、再転送キュー２０２を監視し、一定時間が経過したなどの理由で、メール１を含む複数のメールが再転送を試みるべき状態になったことを検知すると、転送キュー２０１およびメール転送装置１０１の状態を調べ、最初に行うメール転送に対するメールの転送に失敗した後に一定時間が経過したなどの理由で再転送する場合の優先度を決定し、その優先度に基づいて再転送を試みるべき状態の複数のメールに対し再転送キュー２０２から転送キュー２０１に移動させる量を調整する（再転送を試みるべき状態の複数のメールのうち、何通を移動させるかを決定する）。その後、再転送管理装置１０２は、移動させる量分の再転送メールを再転送キュー２０２から転送キュー２０１に移動する。
【００６１】
メール転送装置１０１は、転送キュー２０１からメ−ル１を取り出して転送先メールサーバ３０へのメ−ルの再転送を行う（これをメールの転送に失敗した後のメール再転送と称す）。
【００６２】
次に、図２を参照して、再転送メール管理装置１０２が再転送キュー２０２から転送キュー２０１に移動させる量を決定する処理について詳細に説明する。
図２は、再転送メール管理装置１０２が再転送キュー２０２から転送キュー２０１に移動させる量を決定する処理の流れを示す図である。
【００６３】
図２を参照すると、ステップＳ１では、初回転送優先資源数Ｒ１と最低限移動数Ｍｉを設定領域より取得する。
【００６４】
ステップＳ２では、メール転送装置１０１に問い合わせを行い、資源割り当て状態として、総資源数Ｒａと使用中資源数Ｒｗを取得する。
【００６５】
ステップＳ３では、再転送で使用可能な資源数Ｒ２（Ｒ２＝Ｒａ−Ｒｗ−Ｒ１）を計算する。
【００６６】
ステップＳ４では、転送キュー２０１のメール蓄積数Ｑを取得する。
【００６７】
ステップＳ５では、メール転送装置１０１で使用していない資源を転送キュー２０１のメールの転送にために割り当てた場合に、余る資源があるかを判定する。
【００６８】
ステップＳ６では、余る資源がある場合（（Ｒ２−Ｑ）＞Ｍｉ）には、余る資源の分（Ｒ２−Ｑ）だけ、再転送キュー２０２から転送キュー２０１に移動可能とする。
【００６９】
ステップＳ７では、余る資源がない場合（（Ｒ２−Ｑ）≦Ｍｉ）には、最低限移動数Ｍｉの分だけ、再転送キュー２０２から転送キュー２０１に移動可能とする。
【００７０】
ステップＳ８では、再転送キュー２０２から、転送失敗から一定時間たったメールを、ステップＳ６またはステップＳ７で決定した移動可能数を限度として、転送キュー２０１に移動する。
【００７１】
このようにして、メール転送で使用するスレッドなどの資源を、最初に行うメール転送およびメール転送に失敗した後の再転送の処理で共有することにより効率的に利用すること、再転送キューから転送キューに移動させる量を調整することににより転送キューの蓄積量が多くなりすぎず最初のメール転送の資源待ち時間を抑えることが可能となる。
【００７２】
次に、本発明の他の実施の形態について、図面を参照して詳細に説明する。
図３は、本発明の他の実施の形態の構成を示す図である。
図４は、再転送メール管理装置１０４が接続拒否用再転送キュー２０３およびタイムアウト用再転送キュー２０４から転送キュー２０１に移動させる量を決定する処理の流れを示す図である。
【００７３】
図３を参照すると、本実施例と図１に示す上述の実施例との違いは、転送元メールサーバ４０ではメール転送装置１０３でメール転送に失敗した理由により再転送キューを複数用意している点である。本実施例では、接続拒否用再転送キュー２０３とタイムアウト用再転送キュー２０４とを設けている。
【００７４】
メール転送装置１０３は、メール転送時に、接続拒否によって転送が失敗した場合は、失敗したメールを接続拒否用再転送キュー２０３に蓄積し、タイムアウトによって転送が失敗した場合は、失敗したメールをタイムアウト用再転送キュー２０４に蓄積する。接続拒否による転送失敗の場合は、スレッド資源を占有している時間は短く、タイムアウトによる転送失敗の場合は、スレッド資源を占有している時間は長い。
【００７５】
図４のフローチャートを参照すると、本実施例と図２に示す上述の実施例との違いは次の点である。
【００７６】
ステップＳ１Ｂにおいて、接続拒否用再転送キュー２０３より、転送失敗から一定時間たったメールをすべて、転送キュー２０１に移動させる点である。接続拒否で転送に失敗したメールは、接続拒否により再転送に失敗する可能性があるが、資源の占有時間が短いため、最初に行うメール転送に与える影響が少ないためである。
【００７７】
また、ステップＳ８においては、タイムアウト用再転送キュー２０４から一定時間たったメールの転送キュー２０１に移動させる量は、上述の実施例と同じである（図４のステップ２〜ステップ８は、図２のステップ２〜ステップ８と同様である）。
【００７８】
このように、接続拒否で転送に失敗したメールは、タイムアウトで転送に失敗したメールより優先的に処理されるため、より早く再転送が試みられる。  このことにより、接続拒否で転送に失敗したメールの再転送処理の効率をあげることができる。
【００７９】
更に、本発明の他の実施の形態として、メール転送装置が、メール転送に失敗してメールを再転送キューに格納するときに、再転送プライオリティも併せて格納するようにし、  再転送メール管理装置１０２は、再転送キューから転送キューに移動させる量を決定して再転送キューから転送キューにメールを移動するときに、移動するメールをメールの再転送プライオリティに基づき選定するようにしてもよい。
【００８０】
本発明による上述した実施の形態において、メール転送制御システムの処理動作を実行するためのプログラム等を、データとしてコンピュータの磁気ディスクや光ディスク等の記録媒体（図示せず）に記録するようにし、記録されたデータを読み出してメール転送制御システムを動作させるために用いる。このように、本発明によるメール転送制御システムを動作させるデータを記録媒体に記録させ、この記録媒体をインストールすることによりメール転送制御システムの機能が実現できるようになる。
【００８１】
【発明の効果】
第１の効果は、スレッドなどの資源を効率的に利用できることにある。
【００８２】
その理由は、最初に行うメール転送およびメール転送に失敗した後の再転送の処理で資源を共有することができるためである。
【００８３】
第２の効果は、最初に行うメール転送の資源待ちの時間を抑えることができることにある。
【００８４】
その理由は、再転送キューから転送キューに移動する量を制限することにより、転送キューの蓄積数を抑えることができるためである。
【図面の簡単な説明】
【図１】本発明の実施の形態の構成を示す図
【図２】再転送メール管理装置が再転送キューから転送キューに移動させる量を決定する処理の流れを示す図
【図３】本発明の他の実施の形態の構成を示す図
【図４】再転送メール管理装置が接続拒否用再転送キューおよびタイムアウト用再転送キューから転送キューに移動させる量を決定する処理の流れを示す図
【符号の説明】
１    メール
１０    メールクライアント
２０    転送元メールサーバ
３０    転送先メールサーバ
４０    転送元メールサーバ
１００    メール転送受付装置
１０１    メール転送装置
１０２    再転送メール管理装置
１０３    メール転送装置
１０４    再転送メール管理装置
２０１    転送キュー
２０２    再転送キュー
２０３    接続拒否用再転送キュー
２０４    タイムアウト用再転送キュー
【図１】
2005005990.tif 000003
【図２】
2005005990.tif 000004
【図３】
2005005990.tif 000005
【図４】
2005005990.tif 000006