(57)【要約】【課題】既存のメールサーバ及びメールクライアントの変更を伴わずに、電子メール通信の遅延を低減させることが可能なメール通信中継システム、メール通信中継装置、メール通信中継方法及びメール通信中継用プログラムを提供する。【解決手段】メールサーバ４００内の電子メールのメッセージが操作される際に、クライアントプロキシ２００及びサーバプロキシ３００は、パイプライニングを用いて、互いにネットワーク１０を介した電子メール通信を行う。一方、メールクライアント１００及びメールサーバ４００は、それぞれパイプライニングを用いない従来のＰＯＰ３プロトコルによる電子メール通信を行う。【選択図】        図３
2004254039.tif 000002
【特許請求の範囲】
【請求項１】
メールクライアントの代理として機能する第１のメール通信中継装置と、メールサーバの代理として機能する第２のメール通信中継装置とを有し、前記メールサーバと前記メールクライアントとの間における電子メール通信の中継を行うメール通信中継システムにおいて、
前記第１のメール通信中継装置は、
前記メールクライアントから複数のメッセージの操作が要求された場合に、前記第２のメール通信中継装置に対し、前記複数のメッセージの操作要求を一括して送信する第１のメッセージ操作要求手段を備え、
前記第２のメール通信中継装置は、
前記第１のメッセージ操作要求手段による要求に応じ、前記メールサーバに対し、前記複数のメッセージの操作を要求する第２のメッセージ操作要求手段を備えることを特徴とするメール通信中継システム。
【請求項２】
請求項１に記載のメール通信中継システムにおいて、
前記第２のメール通信中継装置は、
前記メールサーバにおいて、前記複数のメッセージが操作された場合に、その実行結果を一括して前記メールクライアントへ通知する実行結果通知手段を備えることを特徴とするメール通信中継システム。
【請求項３】
メールクライアントとメールサーバとを有するメールシステムにて、前記メールクライアントの代理として機能するメール通信中継装置において、
前記メールクライアントから複数のメッセージの操作が要求された場合に、前記メールサーバ又は前記メールサーバの代理として機能する他のメール通信中継装置に対し、前記複数のメッセージの操作要求を一括して送信するメッセージ操作要求手段を備えることを特徴とするメール通信中継装置。
【請求項４】
メールクライアントとメールサーバとを有するメールシステムにて、前記メールサーバの代理として機能するメール通信中継装置において、
前記メールクライアント又は前記メールクライアントの代理として機能する他のメール通信中継装置から一括して送信される複数のメッセージの操作要求に応じ、前記メールサーバに対し、前記複数のメッセージの操作を要求するメッセージ操作要求手段を備えることを特徴とするメール通信中継装置。
【請求項５】
請求項４に記載のメール通信中継装置において、
前記メールサーバにおいて、前記複数のメッセージが操作された場合に、その実行結果を一括して前記メールクライアント又は前記メールクライアントの代理として機能する他のメール通信中継装置へ通知する実行結果通知手段を備えることを特徴とするメール通信中継装置。
【請求項６】
メールクライアントとメールサーバとを有するメールシステムにて、前記メールサーバと前記メールクライアントとの間における電子メール通信の中継を行うメール通信中継方法において、
前記メールクライアントから複数のメッセージの操作が要求された場合に、前記メールサーバ又は前記メールサーバの代理として機能する他のメール通信中継装置に対し、前記複数のメッセージの操作要求を一括して送信する手順を備えることを特徴とするメール通信中継方法。
【請求項７】
メールクライアントとメールサーバとを有するメールシステムにて、前記メールサーバと前記メールクライアントとの間における電子メール通信の中継を行うメール通信中継方法において、
前記メールサーバにおいて、前記複数のメッセージが操作された場合に、その実行結果を一括して前記メールクライアント又は前記メールクライアントの代理として機能する他のメール通信中継装置へ通知する手順を備えることを特徴とするメール通信中継方法。
【請求項８】
メールサーバとメールクライアントとの間における電子メール通信の中継を行うコンピュータにおいて実行されるメール通信中継用プログラムにおいて、
前記コンピュータに、
前記メールクライアントから複数のメッセージの操作が要求された場合に、前記メールサーバ又は前記メールサーバの代理として機能する他のコンピュータに対し、前記複数のメッセージの操作要求を一括して送信する手順を実行させるメール通信中継用プログラム。
【請求項９】
メールサーバとメールクライアントとの間における電子メール通信の中継を行うコンピュータにおいて実行されるメール通信中継用プログラムにおいて、
前記コンピュータに、
前記メールサーバにおいて、前記複数のメッセージが操作された場合に、その実行結果を一括して前記メールクライアント又は前記メールクライアントの代理として機能する他のメール通信中継装置へ通知する手順を実行させるメール通信中継用プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、メールサーバとメールクライアントとの間における電子メール通信の中継を行うメール通信中継システム、メール通信中継装置、メール通信中継方法、及び、メールサーバとメールクライアントとの間における電子メール通信の中継を行うコンピュータにおいて実行されるメール通信中継用プログラムに関する。
【０００２】
【従来の技術】
利用者の端末において動作するメールクライアントの要求に応じ、メールサーバに蓄積されている当該利用者宛の電子メールのメッセージを操作する際のプロトコルとして、ＲＦＣ（Ｒｅｑｕｅｓｔ  Ｆｏｒ  Ｃｏｍｍｅｎｔｓ）１９３９（例えば、非特許文献１参照）で標準化されたＰＯＰ３（Ｐｏｓｔ  Ｏｆｆｉｃｅ  Ｐｒｏｔｏｃｏｌ  ｖｅｒｓｉｏｎ３）が広く用いられている。ＰＯＰ３プロトコルに基づくメッセージの操作時においては、メールクライアントは、メールサーバに対し、１個のコマンドを送信する。メールサーバは、このコマンドを受信すると、当該コマンドに応じて、蓄積しているメッセージを操作し、その結果をメールクライアントに返す。メールクライアントは、メールサーバに対して複数のメッセージ操作を要求する場合、送信したコマンドに対する実行結果を受信するまでは、次のメッセージ操作のためのコマンドを送信することができず、メールクライアントによるメッセージ要求コマンドの送信と、メールサーバによるメッセージ操作及び実行結果の送信が繰り返される。
【０００３】
即ち、メールクライアントは、メールサーバに対して複数のメッセージ操作を要求する場合、１個のコマンドを送信し、当該メッセージ要求コマンドに応じてメールサーバが送信する実行結果を受信した後に、次のメッセージを操作するための１個のコマンドを送信する。
【０００４】
しかしながら、このようにメールクライアントが１個のコマンドに対する実行結果を受信するのを待って、次のコマンドを送信する手順では、実行結果の受信毎に、１ＲＴＴ（Ｒｏｕｎｄ  Ｔｒｉｐ  Ｔｉｍｅ：ネットワークの往復時間）分の遅延が加算される。例えば、図１には、メールクライアントがメールサーバに対して、メッセージ削除を要求する場合のコマンドと実行結果のやり取りが示されている。このように、メールクライアントによる実行結果の受信毎に、１ＲＴＴ分の遅延が加算されると、メールクライアントとメールサーバとの間に無線ネットワーク等の遅延が大きくなりやすいネットワークが存在する場合、メールクライアントが全ての実行結果を受信するまでに多くの時間を要するという問題がある。
【０００５】
このような電子メール通信における遅延を低減させるため、ＲＦＣ２４４９（例えば非特許文献２参照）では、「パイプライニング」と称される電子メール通信の手法が標準化されている。パイプライニングでは、メールクライアントは、コマンドに対するメールサーバからの実行結果を受信する前であっても、次のメッセージ操作のためのコマンドを送信することができる。これにより、メールクライアントが複数のメッセージ操作を要求し、実行結果を受信する場合における遅延を低減させることができる。例えば、図２にはパイプライニングが用いられる場合において、メールクライアントがメールサーバに対して、メッセージ削除を要求する場合のコマンドと実行結果のやり取りが示されている。
【０００６】
【非特許文献１】
Ｍｙｅｒｓ，Ｊ著「Ｐｏｓｔ  Ｏｆｆｉｃｅ  Ｐｒｏｔｏｃｏｌ−Ｖｅｒｓｉｏｎ３，ＳＴＤ５３，ＲＦＣ１９３９」、１９９６年５月
【０００７】
【非特許文献２】
Ｇｅｌｌｅｎｓ，Ｒ著「ＰＯＰ３  Ｅｘｔｅｎｓｉｏｎ  Ｍｅｃｈａｎｉｓｍ，ＲＦＣ２４４９」１９９８年１１月
【０００８】
【発明が解決しようとする課題】
しかしながら、パイプライニングを用いた電子メール通信を可能にするためには、パイプライニングに対応していない既存のメールサーバ及びメールクライアントの変更が必要となる。
【０００９】
本発明は、上記問題点を解決するものであり、その課題は、既存のメールサーバ及びメールクライアントの変更を伴わずに、電子メール通信の遅延を低減させることが可能なメール通信中継システム、メール通信中継装置、メール通信中継方法及びメール通信中継用プログラムを提供することである。
【００１０】
【課題を解決するための手段】
上記の目的を達成するため、本発明は請求項１に記載されるように、メールクライアントの代理として機能する第１のメール通信中継装置と、メールサーバの代理として機能する第２のメール通信中継装置とを有し、前記メールサーバと前記メールクライアントとの間における電子メール通信の中継を行うメール通信中継システムにおいて、前記第１のメール通信中継装置は、前記メールクライアントから複数のメッセージの操作が要求された場合に、前記第２のメール通信中継装置に対し、前記複数のメッセージの操作要求を一括して送信する第１のメッセージ操作要求手段を備え、前記第２のメール通信中継装置は、前記第１のメッセージ操作要求手段による要求に応じ、前記メールサーバに対し、前記複数のメッセージの操作を要求する第２のメッセージ操作要求手段を備えることを特徴とする。
【００１１】
本発明によれば、メールクライアントの代理として機能する第１のメール通信中継装置が複数のメッセージの操作要求を一括して送信し、メールサーバの代理として機能する第２のメール通信中継装置がこの要求に応じてメールサーバに対し、前記複数のメッセージの操作を要求する。即ち、メールクライアントの代理として機能する第１のメール通信中継装置とメールサーバの代理として機能する第２のメール通信中継装置とが互いにパイプライニングを用いた電子メール通信を行うことにより、既存のメールサーバ及びメールクライアントの変更を伴うことなく、第１のメール通信中継装置と第２のメール通信中継装置との間のネットワークにおける電子メール通信の遅延を低減させることができる。
【００１２】
また、本発明は請求項２に記載されるように、請求項１に記載のメール通信中継システムにおいて、前記第２のメール通信中継装置は、前記メールサーバにおいて、前記複数のメッセージが操作された場合に、その実行結果を一括して前記前記第１のメール通信中継装置へ通知する操作完了通知手段を備えることを特徴とする
本発明によれば、メールサーバの代理として機能する第２のメール通信中継装置が複数のメッセージの実行結果を一括してメールクライアントの代理として機能する第１のメール通信中継装置へ通知している。即ち、第１のメール通信中継装置と第２のメール通信中継装置とが互いにパイプライニングを用いた電子メール通信を行うことにより、既存のメールサーバ及びメールクライアントの変更を伴うことなく、第１のメール通信中継装置と第２のメール通信中継装置との間のネットワークにおける電子メール通信の遅延を低減させることができる。
【００１３】
また、請求項１に記載の発明と同様の観点から、本発明は請求項３に記載されるように、メールクライアントとメールサーバとを有するメールシステムにて、前記メールクライアントの代理として機能するメール通信中継装置において、前記メールクライアントから複数のメッセージの操作が要求された場合に、前記メールサーバ又は前記メールサーバの代理として機能する他のメール通信中継装置に対し、前記複数のメッセージの操作要求を一括して送信するメッセージ操作要求手段を備えることを特徴とする。
【００１４】
また、請求項１に記載の発明と同様の観点から、本発明は請求項４に記載されるように、メールクライアントとメールサーバとを有するメールシステムにて、前記メールサーバの代理として機能するメール通信中継装置において、前記メールクライアント又は前記メールクライアントの代理として機能する他のメール通信中継装置から一括して送信される複数のメッセージの操作要求に応じ、前記メールサーバに対し、前記複数のメッセージの操作を要求するメッセージ操作要求手段を備えることを特徴とするメール通信中継装置。
【００１５】
また、請求項２に記載の発明と同様の観点から、本発明は請求項５に記載されるように、請求項４に記載のメール通信中継装置において、前記メールサーバにおいて、前記複数のメッセージが操作された場合に、その実行結果を一括して前記メールクライアント又は前記メールクライアントの代理として機能する他のメール通信中継装置へ通知する実行結果通知手段を備えることを特徴とする。
【００１６】
また、請求項１に記載の発明と同様の観点から、本発明は請求項６に記載されるように、メールクライアントとメールサーバとを有するメールシステムにて、前記メールサーバと前記メールクライアントとの間における電子メール通信の中継を行うメール通信中継方法において、前記メールクライアントから複数のメッセージの操作が要求された場合に、前記メールサーバ又は前記メールサーバの代理として機能する他のメール通信中継装置に対し、前記複数のメッセージの操作要求を一括して送信する手順を備えることを特徴とする。
【００１７】
また、請求項２に記載の発明と同様の観点から、本発明は請求項７に記載されるように、メールクライアントとメールサーバとを有するメールシステムにて、前記メールサーバと前記メールクライアントとの間における電子メール通信の中継を行うメール通信中継方法において、前記メールサーバにおいて、前記複数のメッセージが操作された場合に、その実行結果を一括して前記メールクライアント又は前記メールクライアントの代理として機能する他のメール通信中継装置へ通知する手順を備えることを特徴とする。
【００１８】
また、請求項１に記載の発明と同様の観点から、本発明は請求項８に記載されるように、メールサーバとメールクライアントとの間における電子メール通信の中継を行うコンピュータにおいて実行されるメール通信中継用プログラムにおいて、前記コンピュータに、前記メールクライアントから複数のメッセージの操作が要求された場合に、前記メールサーバ又は前記メールサーバの代理として機能する他のコンピュータに対し、前記複数のメッセージの操作要求を一括して送信する手順を実行させることを特徴とする。
【００１９】
また、請求項２に記載の発明と同様の観点から、本発明は請求項９に記載されるように、メールサーバとメールクライアントとの間における電子メール通信の中継を行うコンピュータにおいて実行されるメール通信中継用プログラムにおいて、前記コンピュータに、前記メールサーバにおいて、前記複数のメッセージが操作された場合に、その実行結果を一括して前記メールクライアント又は前記メールクライアントの代理として機能する他のメール通信中継装置へ通知する手順を実行させることを特徴とする。
【００２０】
【発明の実施の形態】
以下、本発明の実施の形態を図面に基づいて説明する。
【００２１】
図３は、本発明の実施の形態に係る電子メール通信システムの構成例を示す図である。同図に示す電子メール通信システム１は、メールクライアント１００と、メールクライアント１００とネットワーク１０との間において、メールクライアント１００の代理として機能して電子メール通信の中継を行うクライアントプロキシ２００と、メールサーバ４００と、メールサーバ４００とネットワーク１０との間において、メールサーバ４００の代理として機能して電子メール通信の中継を行うサーバプロキシ３００とを備える。
【００２２】
電子メール通信システム１において、メールクライアント１００及びメールサーバ４００は、それぞれパイプライニングによる電子メール通信を行わないクライアント及びサーバである。
【００２３】
また、クライアントプロキシ２００及びサーバプロキシ３００によってメール中継システムが構成される。クライアントプロキシ２００は、独立した装置に実装されていても良く、メールクライアント１００と同一の装置に実装されていても良い。同様に、サーバプロキシ３００は、独立した装置に実装されていても良く、メールサーバ４００と同一の装置に実装されていても良い。なお、ネットワーク１０は、例えば無線ネットワーク等、遅延の大きいネットワークである。
【００２４】
メールクライアント１００は、ＰＯＰ３メールクライアントソフトウェアがインストールされており、ＰＯＰ３プロトコルに基づいて電子メール通信を行う。一方、メールサーバ４００は、ＰＯＰ３メールサーバソフトウェアがインストールされており、ＰＯＰ３プロトコルに基づいて電子メール通信を行う。
【００２５】
クライアントプロキシ２００は、コマンド蓄積部２１０と、代理応答部２２０と、代理ＯＫ記憶部２３０と、メールクライアント１００に接続されるメールクライアント側端子２４０と、ネットワーク１０を介してサーバプロキシ３００に接続されるサーバプロキシ側端子２５０とを備える。
【００２６】
代理応答部２２０は、コマンド蓄積部２１０、代理ＯＫ記憶部２３０、メールクライアント側端子２４０及びサーバプロキシ側端子２５０に接続されている。代理応答部２２０は、これらコマンド蓄積部２１０、代理ＯＫ記憶部２３０、メールクライアント側端子２４０及びサーバプロキシ側端子２５０の相互間でやり取りされるコマンドや、メールサーバ４００における当該コマンドに対する実行の結果について、その種別に応じた中継を行う。
【００２７】
また、代理応答部２２０は、メールクライアント１００からメールクライアント側端子２４０にコマンドが到来すると、当該コマンドをコマンド蓄積部２１０へ送る。コマンド蓄積部２１０は、このコマンドを格納する。また、代理応答部２２０は、コマンド蓄積部２１０に蓄積された複数のコマンドを一括して、サーバプロキシ側端子２５０及びネットワーク１０を介してサーバプロキシ３００へ送信する。
【００２８】
更に、代理応答部２２０は、メールクライアント側端子２４０に到来するコマンドの実行結果についてメールサーバ４００に代わって応答する。また、代理応答部２２０は、代理応答を行う毎に、代理ＯＫ記憶部２３０の値を１だけ増加させる。更に、代理応答部２２０は、サーバプロキシ側端子２５０に実行結果の応答が到来すると、代理ＯＫ記憶部２３０の値が０であれば、当該実行結果の応答を、メールクライアント側端子２４０を介してメールクライアント１００へ送信する。一方、代理応答部２２０は、代理ＯＫ記憶部２３０の値が０以外の値であれば、実行結果の応答を送信せず、当該代理ＯＫ記憶部２３０の値を１だけ減少させる。
【００２９】
サーバプロキシ３００は、中継制御回路３１０と、コマンドキュー３２０と、ネットワーク１０を介してクライアントプロキシ２００に接続されるクライアントプロキシ側端子３３０と、メールサーバ４００に接続されるメールサーバ側端子３５０とを備える。
【００３０】
中継制御回路３１０は、コマンドキュー３２０、クライアントプロキシ側端子３３０及びメールサーバ側端子３５０に接続されている。この中継制御回路３１０は、これらコマンドキュー３２０、クライアントプロキシ側端子３３０及びメールサーバ側端子３５０の相互間でやり取りされるコマンドや、メールサーバ４００における当該コマンドに対する実行の結果について、その種別に応じた中継を行う。
【００３１】
コマンドキュー３２０は、中継制御回路３１０の制御により、クライアントプロキシ側端子３３０に到来するコマンドを、その到来順序に従って格納する。また、コマンドキュー３２０は、中継制御回路３１０の制御により、格納しているコマンドを、その到来順序に従ってメールサーバ側端子３５０へ送り出す。
【００３２】
次に、図４のシーケンス図を参照しつつ、メールクライアント１００の要求に応じてメールサーバ４００が蓄積している電子メールのメッセージを削除する際における電子メール通信システム１の動作を説明する。
【００３３】
メールクライアント１００は、まずクライアントプロキシ２００との接続を確立する。クライアントプロキシ２００は、メールクライアント１００からの接続に応じて、サーバプロキシ３００との接続を確立する。更に、サーバプロキシ３００は、クライアントプロキシ２００からの接続に応じて、メールサーバ４００との接続を確立する。このような手順により、メールクライアント１００とメールサーバ４００との間の接続が確立される（ステップ１０１）。
【００３４】
次に、メールクライアント１００は、利用者に付与された認証のためのユーザ名のコマンド「ＵＳＥＲユーザ名」をクライアントプロキシ２００へ送信する（ステップ１０２）。
【００３５】
クライアントプロキシ２００内の代理応答部２２０は、メールクライアント側端子２４０に到来するコマンドが「ＵＳＥＲユーザ名」であることを認識すると、コマンド蓄積部２１０へ当該コマンド「ＵＳＥＲユーザ名」を格納するとともに、メールクライアント側端子２４０を介してメールクライアント１００に対し、メールサーバ４００に代わって代理応答「＋ＯＫ」を送信する。更に、代理応答部２２０は、代理応答を送信したことに対応して、代理ＯＫ記憶部２３０の値を１にする（ステップ１０３）。
【００３６】
代理応答「＋ＯＫ」を受信したメールクライアント１００は、利用者に付与された認証のためのパスワードのコマンド「ＰＡＳＳパスワード」をクライアントプロキシ２００へ送信する（ステップ１０４）。
【００３７】
クライアントプロキシ２００内の代理応答部２２０は、メールクライアント側端子２４０に到来するコマンドが「ＰＡＳＳパスワード」であることを認識すると、コマンド蓄積部２１０に蓄積されているコマンド「ＵＳＥＲユーザ名」を取り出して、コマンド蓄積部２１０内を空にする。更に、代理応答部２２０は、これらコマンド「ＵＳＥＲユーザ名」及びコマンド「ＰＡＳＳパスワード」を、一括して、サーバプロキシ側端子２５０及びネットワーク１０を介してサーバプロキシ３００へ送信する。
【００３８】
サーバプロキシ３００内の中継制御回路３１０は、クライアントプロキシ側端子３３０に到来するコマンドが「ＵＳＥＲユーザ名」及び「ＰＡＳＳパスワード」であることを認識すると、これらコマンド「ＵＳＥＲユーザ名」及びコマンド「ＰＡＳＳパスワード」を、到来順序に従ってコマンドキュー３２０へ送る。コマンドキュー３２０は、コマンド「ＵＳＥＲユーザ名」及びコマンド「ＰＡＳＳパスワード」を到来順序に従って格納する（ステップ１０５）。
【００３９】
更に、中継制御回路３１０は、コマンドキュー３２０からコマンド「ＵＳＥＲユーザ名」を取り出し、メールサーバ側端子３５０を介してメールサーバ４００へ送信する（ステップ１０６）。
【００４０】
メールサーバ４００は、コマンド「ＵＳＥＲユーザ名」を受信すると、ユーザ名の正当性を判定し、正当である場合には、実行結果としての応答「＋ＯＫ」をサーバプロキシ３００へ返す。
【００４１】
サーバプロキシ３００内の中継制御回路３１０は、メールサーバ側端子３５０に実行結果の応答「＋ＯＫ」が到来すると、当該実行結果の応答「＋ＯＫ」を、クライアントプロキシ側端子３３０及びネットワーク１０を介してクライアントプロキシ２００へ送信する。
【００４２】
クライアントプロキシ２００内の代理応答部２２０は、サーバプロキシ側端子２５０に実行結果の応答「＋ＯＫ」が到来すると、代理ＯＫ記憶部２３０の値を認識する。ここでは、代理ＯＫ記憶部２３０の値は１である。このため、代理応答部２３０は、実行結果の応答「＋ＯＫ」を送信せず、代理ＯＫ記憶部２３０の値を１だけ減少させて０にする（ステップ１０７）。
【００４３】
一方、サーバプロキシ３００内の中継制御回路３１０は、コマンドキュー３２０に、コマンド「ＰＡＳＳパスワード」が残っているため、当該コマンド「ＰＡＳＳパスワード」を取り出し、メールサーバ側端子３５０を介してメールサーバ４００へ送信する（ステップ１０８）。
【００４４】
メールサーバ４００は、コマンド「ＰＡＳＳパスワード」を受信すると、パスワードの正当性を判定し、正当である場合には、実行結果としての応答「＋ＯＫ」をサーバプロキシ３００へ送信する。
【００４５】
サーバプロキシ３００内の中継制御回路３１０は、メールサーバ側端子３５０に実行結果の応答「＋ＯＫ」が到来すると、当該実行結果の応答「＋ＯＫ」を、クライアントプロキシ側端子３３０及びネットワーク１０を介してクライアントプロキシ２００へ送信する。
【００４６】
クライアントプロキシ２００内の代理応答部２２０は、サーバプロキシ側端子２５０に実行結果の応答「＋ＯＫ」が到来すると、代理ＯＫ記憶部２３０の値を認識する。ここでは代理ＯＫ記憶部２３０の値は０である。このため、代理応答部２３０は、実行結果の応答「＋ＯＫ」を、メールクライアント側端子２４０を介してメールクライアント１００へ送信する（ステップ１０９）。
【００４７】
メールクライアント１００は、受信した実行結果の応答「＋ＯＫ」により、メールサーバ４００において利用者の認証が成功したことを認識し、メッセージ要求コマンドを送信して、メールサーバ４００に蓄積されている利用者宛のメッセージをダウンロードする。この際、クライアントプロキシ２００及びサーバプロキシ３００は、メールクライアント１００からのメッセージ要求コマンドをそのまま通過させる（ステップ１１０）。
【００４８】
メールクライアント１００は、メッセージのダウンロード終了後、利用者がメッセージの削除を要求した場合には、その要求に応じて、メールサーバ４００に蓄積された１個目のメッセージを要求するためのメッセージ要求コマンド「ＤＥＬＥ１」をクライアントプロキシ２００へ送信する（ステップ１１１）。
【００４９】
クライアントプロキシ２００内の代理応答部２２０は、メールクライアント側端子２４０に到来するコマンドがメッセージ削除要求コマンド「ＤＥＬＥ１」であることを認識すると、コマンド蓄積部２１０へ当該メッセージ削除要求コマンド「ＤＥＬＥ１」を格納するとともに、メールクライアント側端子２４０を介してメールクライアント１００に対し、メールサーバ４００に代わって代理応答「＋ＯＫ」を送信する。更に、代理応答部２２０は、代理応答を送信したことに対応して、代理ＯＫ記憶部２３０の値を１増加させる（ステップ１１２）。
【００５０】
メールクライアント１００は、代理応答「＋ＯＫ」を受信する毎に、利用者が更にメッセージの削除を要求しているか否かを判定する。利用者が更にメッセージの削除を要求している場合には、メールクライアント１００は、利用者の要求に応じて、１個のメッセージを要求するためのメッセージ削除要求コマンドをクライアントプロキシ２００へ送信する（ステップ１１３、１１５）。
【００５１】
クライアントプロキシ２００内の代理応答部２２０は、メールクライアント側端子２４０にメッセージ削除要求コマンドが到来する毎に、コマンド蓄積部２１０へ当該メッセージ削除要求コマンド（ここでは「ＤＥＬＥ２」及び「ＤＥＬＥ３」）を格納するとともに、メールクライアント側端子２４０を介してメールクライアント１００に対して、メールサーバ４００に代わって代理応答「＋ＯＫ」を送信する。更に、代理応答部２２０は、代理応答を送信したことに対応して、代理ＯＫ記憶部２３０の値を１増加させる（ステップ１１４、１１６）。なお、クライアントプロキシ２００がメッセージ削除要求コマンド「ＤＥＬＥ１」、「ＤＥＬＥ２」及び「ＤＥＬＥ３」を受信した時点で、代理ＯＫ記憶部２３０の値は３になる。
【００５２】
更に、メールクライアント１００は、利用者が更にメッセージの削除を要求していなければ、終了コマンド「ＱＵＩＴ」をクライアントプロキシ２００へ送信する（ステップ１１７）。
【００５３】
クライアントプロキシ２００内の代理応答部２２０は、メールクライアント側端子２４０に到来するコマンドが終了コマンド「ＱＵＩＴ」であることを認識すると、コマンド蓄積部２１０に蓄積されている、メッセージ削除要求コマンド「ＤＥＬＥ１」、「ＤＥＬＥ２」及び「ＤＥＬＥ３」を取り出し、終了コマンド「ＱＵＩＴ」とともに、一括して、サーバプロキシ側端子２５０及びネットワーク１０を介してサーバプロキシ３００へ送信する（ステップ１１８）。
【００５４】
サーバプロキシ３００内の中継制御回路３１０は、クライアントプロキシ側端子３３０に到来するこれらメッセージ削除要求コマンド「ＤＥＬＥ１」、「ＤＥＬＥ２」及び「ＤＥＬＥ３」と、終了コマンド「ＱＵＩＴ」とを、到来順序に従ってコマンドキュー３２０へ送る。コマンドキュー３２０は、これら各コマンドを到来順序に従って格納する。更に、中継制御回路３１０は、コマンドキュー３２０に格納されているメッセージ要求コマンドの中から最初に到来したメッセージ削除要求コマンド「ＤＥＬＥ１」を取り出し、メールサーバ側端子３５０を介してメールサーバ４００へ送信する（ステップ１１９）。
【００５５】
メールサーバ４００は、メッセージ削除要求コマンド「ＤＥＬＥ１」を受信すると、当該メッセージ削除要求コマンド「ＤＥＬＥ１」に対応するメッセージを削除し、実行結果としての応答「＋ＯＫ」をサーバプロキシ３００へ送信する（ステップ１２０）。
【００５６】
サーバプロキシ３００内の中継制御回路３１０は、メールサーバ側端子３５０に、実行結果の応答「＋ＯＫ」が到来する毎に、コマンドキュー３２０にコマンドが残っているか否かを判定する。コマンドキュー３２０にコマンドが残っている場合、中継制御回路３１０は、コマンドキュー３２０から次のコマンドを取り出し、メールサーバ側端子３５０を介してメールサーバ４００へ送信する。このサーバプロキシ３００の動作は、コマンドキュー３２０内のコマンドがなくなるまで繰り返される（ステップ１２１、１２３、１２５）。
【００５７】
メールサーバ４００は、サーバプロキシ３００からメッセージ削除要求コマンド（ここでは「ＤＥＬＥ２」及び「ＤＥＬＥ３」）が到来する毎に、当該メッセージ削除要求コマンドに対応するメッセージを削除し、メッセージ削除が完了したことを示す実行結果としての応答「＋ＯＫ」をサーバプロキシ３００へ送信する（ステップ１２２、１２４０）。また、メールサーバ４００は、サーバプロキシ３００から終了コマンド「ＱＵＩＴ」が到来した場合には、当該終了コマンド「ＱＵＩＴ」に応じて、メッセージ削除処理を終了し、実行結果としての応答「＋ＯＫ」をサーバプロキシ３００へ送信する（ステップ１２６）。
【００５８】
サーバプロキシ３００内の中継制御回路３１０は、メールサーバ側端子３５０に実行結果の応答「＋ＯＫ」が到来する毎に、当該実行結果の応答「＋ＯＫ」を、クライアントプロキシ側端子３３０及びネットワーク１０を介してクライアントプロキシ２００へ送信する（ステップ１２７、１２８、１２９、１３０）。
【００５９】
クライアントプロキシ２００内の代理応答部２２０は、サーバプロキシ側端子２５０に実行結果の応答「＋ＯＫ」が到来する毎に、代理ＯＫ記憶部２３０の値を認識し、その値が０でない場合には、実行結果の応答「＋ＯＫ」を送信せず、当該代理ＯＫ記憶部２３０の値を１だけ減少させる。
【００６０】
ここでは、ステップ１１２、１１４及び１１６において、代理応答部２２０は、メールクライアント１００からのメッセージ削除要求コマンド「ＤＥＬＥ１」、「ＤＥＬＥ２」及び「ＤＥＬＥ３」に対応して、３個の代理応答を送信しており、代理ＯＫ記憶部２３０の値は３である。このため、代理応答部２２０は、ステップ１２１、１２３及び１２５において、メッセージ削除コマンド「ＤＥＬＥ１」、「ＤＥＬＥ２」及び「ＤＥＬＥ３」に対応する３個の実行結果の応答「＋ＯＫ」を受信した時点では、これらの実行結果の応答「＋ＯＫ」をメールクライアント１００へ送信せず、代理ＯＫ記憶部２３０の値を１ずつ減少させる。このため、クライアントプロキシ２００が、これら３個の実行結果の応答「＋ＯＫ」を受信した時点で、代理ＯＫ記憶部２３０の値は０になる。
【００６１】
そして、代理応答部２２０は、４個目の実行結果の応答「＋ＯＫ」、即ち、終了コマンド「ＱＵＩＴ」に対応する実行結果の応答「＋ＯＫ」を受信すると、代理ＯＫ記憶部２３０の値が０であるため、その実行結果の応答「＋ＯＫ」を、メールクライアント側端子２４０を介してメールクライアント１００へ送信する。メールクライアント１００は、この実行結果の応答「＋ＯＫ」を受信することにより、メールサーバ４００におけるメッセージ削除が完了したことを認識することができる（ステップ１３１）。
【００６２】
このように、本実施形態の電子メール通信システム１では、メールサーバ４００内の電子メールのメッセージが操作される際に、クライアントプロキシ２００及びサーバプロキシ３００は、パイプライニングを用いて、互いにネットワーク１０を介した電子メール通信を行う。一方、メールクライアント１００及びメールサーバ４００は、それぞれパイプライニングを用いない従来のＰＯＰ３プロトコルによる電子メール通信を行う。従って、既存のメールサーバ４００及びメールクライアント１００にパイプライニングを採用するための変更を行うことなく、無線ネットワーク等の遅延の大きいネットワーク１０を介した電子メール通信における遅延を低減させることができ、更には、ネットワーク１０の効率的な利用を図ることも可能となる。
【００６３】
なお、上述した実施形態では、メールクライアント１００及びメールサーバ４００の双方がパイプライニングを用いない従来のＰＯＰ３プロトコルによる電子メール通信を行ったが、メールクライアント１００及びメールサーバ４００の何れか一方がパイプライニングを用いた電子メール通信を行う場合にも、本発明を適用することができる。
【００６４】
具体的には、メールクライアント１００がパイプライニングを用いた電子メール通信を行うのであれば、電子メール通信システム１は、クライアントプロキシ２００を備える必要はない。この場合、メールクライアント１００とサーバプロキシ３００とが、パイプライニングを用いて、互いにネットワーク１０を介した電子メール通信を行う。
【００６５】
また、メールサーバ４００がパイプライニングを用いた電子メール通信を行うのであれば、電子メール通信システム１は、サーバプロキシ３００を備える必要はない。この場合、クライアントプロキシ２００とメールサーバ４００とが、パイプライニングを用いて、互いにネットワーク１０を介した電子メール通信を行う。
【００６６】
また、上述した実施形態では、メールサーバ４００内の電子メールのメッセージを削除する場合を例に説明したが、他のメッセージ操作が行われる場合においても、同様に本発明を適用することができる。
【００６７】
【発明の効果】
上述の如く、本発明によれば、既存のメールサーバ及びメールクライアントの変更を伴わずに、電子メール通信の遅延を低減させることが可能となる。
【図面の簡単な説明】
【図１】従来のＰＯＰ３プロトコルを用いた電子メール通信の一例を示す図である。
【図２】従来のパイプライニングを用いた電子メール通信の一例を示す図である。
【図３】本実施形態の電子メール通信システムの構成例を示す図である。
【図４】本実施形態の電子メール通信システムの動作を示すシーケンス図である。
【符号の説明】
１  電子メール通信システム
１０  ネットワーク
１００  メールクライアント
２００  クライアントプロキシ
２１０  コマンド蓄積部
２２０  代理応答部
２３０  メッセージキャッシュ
２４０  メールクライアント側端子
２５０  サーバプロキシ側端子
３００  サーバプロキシ
３１０  中継制御回路
３２０  コマンドキュー
３３０  クライアントプロキシ側端子
３５０  メールサーバ側端子
４００  メールサーバ
【図１】
2004254039.tif 000003
【図２】
2004254039.tif 000004
【図３】
2004254039.tif 000005
【図４】
2004254039.tif 000006