(57)【特許請求の範囲】
【請求項１】
情報処理装置から送信される電子メールを当該電子メールに設定された宛先に送信するべく中継する電子メール中継システムであって、
受信サーバは、
前記情報処理装置から送信される電子メールを受信する第１の受信手段と、
前記第１の受信手段により受信した電子メールを正系サーバに送信するとともに、前記正系サーバにおける処理に遅延が発生している場合には当該電子メールのコピーである電子メールを副系サーバに送信する第１の送信手段と、
を備え、
正系サーバは、
前記第１の送信手段により送信された電子メールを受信する第２の受信手段と、
前記第２の受信手段により受信した電子メールに対して、予め規定された処理を実行する処理手段と、
前記処理手段により処理が実行された電子メールを配送サーバに送信する第２の送信手段と、
を備え、
副系サーバは、
前記第１の送信手段により送信された電子メールを受信する第３の受信手段と、
前記第３の受信手段により送信した電子メールを配送サーバに送信する第３の送信手段と、
を備えることを特徴とする電子メール中継システム。
【請求項２】
前記配送サーバは、前記第２の送信手段により送信された電子メールおよび前記第３の送信手段により送信された電子メールを受信する第４の受信手段と、
前記第４の受信手段で受信した、前記第２の送信手段により送信された電子メールまたは前記第３の送信手段により送信された電子メールのいずれか一方を、当該電子メールに設定された宛先に送信する第４の送信手段と、
を備えることを特徴とする請求項１に記載の電子メール中継システム。
【請求項３】
前記第４の送信手段は、前記第２の送信手段により送信された電子メールまたは前記第３の送信手段により送信された電子メールのうち、前記配送サーバに先に到達した電子メールを当該電子メールに設定された宛先に送信することを特徴とする請求項２に記載の電子メール中継システム。
【請求項４】
前記副系サーバは、さらに、
前記正系サーバに対して計測メールを送信する計測メール送信手段と、
前記正系サーバから、前記計測メール送信手段により送信した計測メールを受信する計測メール受信手段と、
前記計測メール送信手段による計測メールの送信と、前記計測メール受信手段による当該計測メールの受信との時間差に基づき、正系サーバによる処理に遅延が生じているかを判定する判定手段と、
前記判定手段により正系サーバによる処理の遅延が発生していると判定された場合、前記受信サーバに対して遅延が発生している旨を通知する通知手段と、
を備えることを特徴とする請求項１乃至３のいずれか１項に記載の電子メール中継システム。
【請求項５】
前記通知手段は、さらに、前記判定手段により、前記計測メール送信手段による計測メールの送信と、前記計測メール受信手段による当該計測メールの受信との時間差に基づき、正系サーバによる処理の遅延が解消したと判定した場合、前記受信サーバに遅延が解消した旨を通知することを特徴とする請求項４に記載の電子メール中継システム。
【請求項６】
前記判定手段により遅延が発生しているかを判定するための時間差は、時間帯によって異なることを特徴とする請求項４または５に記載の電子メール中継システム。
【請求項７】
前記副系サーバは、さらに、前記第３の送信手段により送信される電子メールに対して、副系サーバから送信された旨の情報を付加する情報付加手段をさらに備えることを特徴とする請求項１乃至６のいずれか１項に記載の電子メール中継システム。
【請求項８】
情報処理装置から送信される電子メールを当該電子メールに設定された宛先に送信するべく中継する電子メール中継システムにおける電子メール中継方法であって、
受信サーバの第１の受信手段が、前記情報処理装置から送信される電子メールを受信する第１の受信工程と、
前記受信サーバの送信手段が、前記第１の受信工程により受信した電子メールを正系サーバに送信するとともに、前記正系サーバにおける処理に遅延が発生している場合には当該電子メールのコピーである電子メールを副系サーバに送信する第１の送信工程と、
正系サーバの第２の受信手段が、前記第１の送信工程により送信された電子メールを受信する第２の受信工程と、
前記正系サーバの処理手段が、前記第２の受信工程により受信した電子メールに対して、予め規定された処理を実行する処理工程と、
前記正系サーバの第２の送信手段が、前記処理工程により処理が実行された電子メールを配送サーバに送信する第２の送信工程と、
副系サーバの第３の受信手段が、前記第１の送信工程により送信された電子メールを受信する第３の受信工程と、
前記副系サーバの第３の送信手段が、前記第３の受信工程により送信した電子メールを配送サーバに送信する第３の送信工程と、
を備えることを特徴とする電子メール中継方法。
【請求項９】
情報処理装置から送信される電子メールを当該電子メールに設定された宛先に送信するべく中継する電子メール中継システムにおいて実行されるプログラムであって、
受信サーバを、
前記情報処理装置から送信される電子メールを受信する第１の受信手段と、
前記第１の受信手段により受信した電子メールを正系サーバに送信するとともに、前記正系サーバにおける処理に遅延が発生している場合には当該電子メールのコピーである電子メールを副系サーバに送信する第１の送信手段として機能させ、
正系サーバを、
前記第１の送信手段により送信された電子メールを受信する第２の受信手段と、
前記第２の受信手段により受信した電子メールに対して、予め規定された処理を実行する処理手段と、
前記処理手段により処理が実行された電子メールを配送サーバに送信する第２の送信手段として機能させ、
副系サーバを、
前記第１の送信手段により送信された電子メールを受信する第３の受信手段と、
前記第３の受信手段により送信した電子メールを配送サーバに送信する第３の送信手段として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子メールの中継システムに関する。
【背景技術】
【０００２】
従来から、電子メールの中継を行うサーバにおいて、電子メールに対してウイルススキャンや電子メールの暗号化などの処理を行い、電子メールを配送する仕組みがある。
【０００３】
このような仕組みにおいては、中継サーバの負荷が高く、一時に多くの電子メールが送信されると、中継サーバの処理が追いつかずにサーバがダウンしてしまうことがある。
【０００４】
中継サーバがダウンしてしまうと、電子メールの配送が滞るため、ユーザにとって不都合が生じていた。
【０００５】
このような問題に対処すべく、特許文献１には、主サーバと副サーバの２台のサーバを用意し、片方のサーバがダウンしても、もう片方のサーバが同様の処理を行い、電子メールの中継の停滞を防ぐ仕組みが開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０００−１２４９４６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献１には、多くのメールが送信された場合など、サーバの処理が追いつかずにサーバがダウンしてしまった場合の対応については記載がなく、副サーバにおいても同様にダウンしてしまう可能性がある。
【０００８】
そこで、本発明は、電子メールの中継サーバに障害が発生した場合にも、電子メールの配送の遅延を低減させる仕組みを提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明は、情報処理装置から送信される電子メールを当該電子メールに設定された宛先に送信するべく中継する電子メール中継システムであって、第１の中継サーバが、前記情報処理装置から送信される電子メールを受信する受信手段と、前記受信手段により受信した電子メールに対して予め規定された処理を実行する処理手段と、前記処理手段により処理が実行された電子メールを送信する第１の送信手段と、を備え、第２の中継サーバが、前記第１の中継サーバが実行する処理に障害が発生しているか否かを検出する検出手段と、前記検出手段により障害の発生が検出された場合に、前記第１の中継サーバに対してその旨を通知する通知手段と、を備え、前記第１の中継サーバは、さらに、前記第２の中継サーバの通知手段により、障害の発生を検知した旨が通知された場合に、前記受信手段で受信した電子メールの複写を前記第２の中継サーバへ送信する第２の送信手段を備え、前記第２の中継サーバは、さらに、前記第２の送信手段により送信された電子メールの複写を、当該電子メールの宛先に送信する第３の送信手段を備えることを特徴とする電子メール中継システム。
【００１０】
また、本発明は、情報処理装置から送信される電子メールを当該電子メールに設定された宛先に送信するべく中継する電子メール中継システムにおける電子メール中継方法であって、第１の中継サーバの受信手段が、前記情報処理装置から送信される電子メールを受信する受信工程と、第１の中継サーバの処理手段が、前記受信工程により受信した電子メールに対して予め規定された処理を実行する処理工程と、第１の中継サーバの第１の送信手段が、前記処理工程により処理が実行された電子メールを送信する第１の送信工程と、第２の中継サーバの検出手段が、前記第１の中継サーバが実行する処理に障害が発生しているか否かを検出する検出工程と、第２の中継サーバの通知手段が、前記検出工程により障害の発生が検出された場合に、前記第１の中継サーバに対してその旨を通知する通知工程と、を備え、前記第１の中継サーバの第２の送信手段が、前記第２の中継サーバの通知工程により、障害の発生を検知した旨が通知された場合に、前記受信工程で受信した電子メールの複写を前記第２の中継サーバへ送信する第２の送信工程を備え、前記第２の中継サーバの第３の送信手段が、前記第２の送信工程により送信された電子メールの複写を、当該電子メールの宛先に送信する第３の送信工程を備えることを特徴とする。
【００１１】
また、本発明は、情報処理装置から送信される電子メールを当該電子メールに設定された宛先に送信するべく中継する電子メール中継システムおいて実行されるプログラムであって、第１の中継サーバを、前記情報処理装置から送信される電子メールを受信する受信手段と、前記受信手段により受信した電子メールに対して予め規定された処理を実行する処理手段と、前記処理手段により処理が実行された電子メールを送信する第１の送信手段として機能させ、第２の中継サーバを、前記第１の中継サーバが実行する処理に障害が発生しているか否かを検出する検出手段と、前記検出手段により障害の発生が検出された場合に、前記第１の中継サーバに対してその旨を通知する通知手段として機能させ、前記第１の中継サーバを、さらに前記第２の中継サーバの通知手段により、障害の発生を検知した旨が通知された場合に、前記受信手段で受信した電子メールの複写を前記第２の中継サーバへ送信する第２の送信手段として機能させ、前記第２の中継サーバを、さらに、前記第２の送信手段により送信された電子メールの複写を、当該電子メールの宛先に送信する第３の送信手段として機能させることを特徴とする。
【発明の効果】
【００１２】
本発明によれば、電子メールの中継サーバに障害が発生した場合にも、電子メールの配送の遅延を低減させることが可能となる。
【図面の簡単な説明】
【００１３】
【図１】本発明のシステム構成の一例を示す図である。
【図２】クライアントＰＣ１００、受信サーバ２００、正系サーバ３００、副系サーバ４００、配送サーバ５００に適用可能な情報処理装置のハードウエア構成を示す図である。
【図３】受信サーバ２００における電子メール中継処理を示すフローチャートである。
【図４】正系サーバ３００における電子メール中継処理を示すフローチャートである。
【図５】副系サーバ４００における送信遅延判断処理を示すフローチャートである。
【図６】副系サーバ４００における電子メール中継処理を示すフローチャートである。
【図７】配送サーバ５００における電子メール中継処理を示すフローチャートである。
【図８】副系サーバ４００へ電子メールを送信するか否かを示す切替フラグを示す図である。
【図９】計測用メールの送受信時刻を示す送受信時刻テーブルである。
【図１０】正系サーバ３００の処理が遅延しているか否かを判定するための遅延判定時間を示す図である。
【図１１】計測用メールの送信間隔を示す図である。
【図１２】副系サーバ４００が受信した電子メールを示す図である。
【図１３】配送サーバ５００が配送した電子メールを示す図である。
【図１４】本実施形態における受信サーバ２００、正系サーバ３００、副系サーバ４００、配送サーバ５００それぞれの機能構成を示す機能ブロック図である。
【発明を実施するための形態】
【００１４】
以下、図面を参照して本発明の実施形態を詳細に説明する。
【００１５】
図１は本発明のシステム構成の一例を示すシステム構成図である。
【００１６】
本発明の実施例のシステム構成は、クライアントＰＣ１００、受信サーバ２００、正系サーバ３００、副系サーバ４００、配送サーバ５００がそれぞれＬＡＮ６００を介して通信可能に接続されている。
【００１７】
以下、図２を用いて、図１に示したクライアントＰＣ１００、受信サーバ２００、正系サーバ３００、副系サーバ４００、配送サーバ５００に適用可能な情報処理装置のハードウエア構成について説明する。
【００１８】
図２において、２０１はＣＰＵで、システムバス２０４に接続される各デバイスやコントローラを統括的に制御する。また、ＲＯＭ２０３あるいは外部メモリ２１１には、ＣＰＵ２０１の制御プログラムであるＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ  ／  Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）やオペレーティングシステムプログラム（以下、ＯＳ）や、各サーバ或いは各ＰＣの実行する機能を実現するために必要な各種プログラム等が記憶されている。
【００１９】
２０２はＲＡＭで、ＣＰＵ２０１の主メモリ、ワークエリア等として機能する。ＣＰＵ２０１は、処理の実行に際して必要なプログラム等をＲＯＭ２０３あるいは外部メモリ２１１からＲＡＭ２０２にロードして、該ロードしたプログラムを実行することで各種動作を実現するものである。
【００２０】
また、２０５は入力コントローラで、入力装置２０９等からの入力を制御する。２０６はビデオコントローラで、液晶ディスプレイ等のディスプレイ装置２１０への表示を制御する。なお、ディスプレイ装置は、液晶ディスプレイに限られず、ＣＲＴディスプレイなどであっても良い。これらは必要に応じてクライアントが使用するものである。
【００２１】
２０７はメモリコントローラで、ブートプログラム，各種のアプリケーション，フォントデータ，ユーザファイル，編集ファイル，各種データ等を記憶するハードディスク（ＨＤ）や、フレキシブルディスク（ＦＤ）、或いはＰＣＭＣＩＡカードスロットにアダプタを介して接続されるコンパクトフラッシュ（登録商標）メモリ等の外部メモリ２１１へのアクセスを制御する。
【００２２】
２０８は通信Ｉ／Ｆコントローラで、ネットワーク（例えば、図１に示したＬＡＮ６００）を介して外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、ＴＣＰ／ＩＰを用いた通信等が可能である。
【００２３】
なお、ＣＰＵ２０１は、例えばＲＡＭ２０２内の表示情報用領域へアウトラインフォントの展開（ラスタライズ）処理を実行することにより、ディスプレイ装置２１０上での表示を可能としている。また、ＣＰＵ２０１は、ディスプレイ装置２１０上の不図示のマウスカーソル等でのユーザ指示を可能とする。
【００２４】
ハードウエア上で動作する各種プログラムは、外部メモリ２１１に記録されており、必要に応じてＲＡＭ２０２にロードされることによりＣＰＵ２０１によって実行されるものである。
【００２５】
次に、図３を用いて受信サーバ２００における電子メールの中継処理について説明する。
【００２６】
図３は、受信サーバ２００がクライアントＰＣ１００から受信した電子メールを正系サーバ３００、副系サーバ４００へ送信する処理を示すフローチャートである。
【００２７】
なお、図３のフローチャートで示す処理については、受信サーバ２００のＣＰＵ２０１が所定の制御プログラムを読み出して実行する処理である。
【００２８】
ステップＳ１０１では、受信サーバ２００のＣＰＵ２０１は、クライアントＰＣ１００から送信された電子メールを受信する。
【００２９】
ステップＳ１０２では、受信サーバ２００のＣＰＵ２０１は、副系サーバ４００から切替シグナルが発信されているか否かを判断する。具体的には、図５のステップＳ３０４において副系サーバ４００から切替シグナルが発信されると、受信サーバ２００が当該切替シグナルを受信し、切替フラグ（図８）が設定されるため、当該切替フラグが設定されているか否かによって判断する。
【００３０】
ステップＳ１０２において切替シグナルが発信されていると判断されると（ステップＳ１０２：ＹＥＳ）処理をステップＳ１０３に移行する。切替シグナルが発信されていない場合（ステップＳ１０２：ＮＯ）は、処理をステップＳ１０５に移行する。
【００３１】
ステップＳ１０３では、受信サーバ２００のＣＰＵ２０１は、ステップＳ１０１で受信した電子メールのコピー（複写）を作成する。
【００３２】
ステップＳ１０４では、受信サーバ２００のＣＰＵ２０１は、ステップＳ１０３で作成されたコピーメールを副系サーバ４００へ送信する。
【００３３】
ステップＳ１０５では、受信サーバ２００のＣＰＵ２０１は、ステップＳ１０１で受信した電子メールを正系サーバに送信する。
【００３４】
以上の処理により、切替シグナルが発信されている場合、すなわち正系サーバにおける処理に何らかの異常が発生している場合には、正系サーバ３００、副系サーバ４００の双方に対して電子メールを送信することが可能となる。
【００３５】
次に、図４を用いて、正系サーバ３００における電子メールの中継処理について説明する。
【００３６】
図４は、本発明の実施形態における、正系サーバ３００における処理を示すフローチャートである。
【００３７】
なお、図４のフローチャートで示す処理については、正系サーバ３００のＣＰＵ２０１が所定の制御プログラムを読み出して実行する処理である。
【００３８】
ステップＳ２０１では、正系サーバ３００のＣＰＵ２０１は、ステップＳ１０５で受信サーバ２００から送信された電子メール、ステップＳ３０１で副系サーバ４００から送信された計測用の電子メールを受信する。
【００３９】
ステップＳ２０２では、正系サーバ３００のＣＰＵ２０１は、ステップＳ２０１で受信した電子メールに対してウイルススキャンを実行する。なお、ウイルススキャンの方法については、公知の技術を用いるものとし、ここでは詳細は省略する。
【００４０】
ステップＳ２０３では、正系サーバ３００のＣＰＵ２０１は、ステップＳ２０１で受信した電子メールが計測用電子メールであるか否か、すなわち副系サーバ４００から送信された電子メールであるか否かを判定する。
【００４１】
計測用電子メールであると判定された場合（ステップＳ２０３：ＹＥＳ）は、処理をステップＳ２０４に移行する。
【００４２】
計測用電子メールではない（受信サーバ２００から送信された電子メールである）と判定された場合（ステップＳ２０３：ＮＯ）は、処理をステップＳ２０５に移行する。
【００４３】
ステップＳ２０４では、正系サーバ３００のＣＰＵ２０１は、当該計測用電子メールをその送信元である副系サーバ４００へ送信する。
【００４４】
ステップＳ２０５では、正系サーバ３００のＣＰＵ２０１は、ステップＳ２０４でウイルススキャンをした結果、ウイルスが検出されたか否かを判断する。
【００４５】
ウイルスが検出された場合（ステップＳ２０５：ＹＥＳ）は処理をステップＳ２０６に移行する。ウイルスが検出されなかった場合（ステップＳ２０５：ＮＯ）は処理をステップＳ２０７に移行する。
【００４６】
ステップＳ２０６では、正系サーバ３００のＣＰＵ２０１は、当該ウイルスが検出された電子メールを削除する。
【００４７】
ステップＳ２０７では、正系サーバ３００のＣＰＵ２０１は、ステップＳ２０１で受診した電子メールを配送サーバ５００へ送信する。
以上の処理が正系サーバにより実行される処理である。
【００４８】
なお、ステップＳ２０２、Ｓ２０５〜Ｓ２０７におけるウイルスチェックの処理は、あくまでも正系サーバにおける処理の一例である。すなわち、本発明においては正系サーバにおける処理の内容はいずれでもよく、ウイルススキャンに限られず、暗号化処理やメール送信制御処理などであってもよい。
【００４９】
次に、図５を用いて、副系サーバ４００における送信遅延判断処理について説明する。
【００５０】
図５は、本発明の実施形態における、副系サーバ４００における電子メールの送信遅延判断処理を示すフローチャートである。
【００５１】
なお、図５のフローチャートで示す処理については、副系サーバ４００のＣＰＵ２０１が所定の制御プログラムを読み出して実行する処理である。
【００５２】
ステップＳ３０１では、副系サーバ４００のＣＰＵ２０１は、計測用電子メールを正系サーバ３００に対して送信する。なお、ここで送信する電子メールは、正系サーバ３００に異常が発生しているか否かを確かめるためのメールである。また、送信した時刻とメールＩＤとを対応付けて記録しておく（図９）。
【００５３】
ステップＳ３０２では、副系サーバ４００のＣＰＵ２０１は、ステップＳ３０１で送信した計測用電子メールを正系サーバ３００から受信する。すなわち、正系サーバ３００における処理（図４）のステップＳ２０４で送信された電子メールを受信する。そして、受信したメールの受信時刻を記録する（図９）。
【００５４】
ステップＳ３０３では、副系サーバ４００のＣＰＵ２０１は、ステップＳ３０１で計測用電子メールを送信した時刻とステップＳ３０２で計測用電子メールを受信した時刻とを比較し、その差が予め設定された値（図１０）よりも大きいか否かを判定する。すなわち、計測用電子メールを送信した時刻と受信した時刻との差を算出し、正系サーバ３００による処理に遅延が発生しているか否かを判断する。
【００５５】
遅延が発生している場合（時刻差が予め設定された値よりも大きい場合）（ステップＳ３０３：ＹＥＳ）は、処理をステップＳ３０４に移行する。
【００５６】
遅延が発生していない場合（ステップＳ３０３：ＮＯ）は、本フローチャートの処理を終了する。
【００５７】
例えば、図１０の例では閾値として３０分が設定されているため、送信時刻と受信時刻との差が３０分以上である場合には、遅延が発生していると判定される。すなわち、図９の例では、メールＩＤが「０００４」の電子メールについては送信時刻（２０１０／１１／１５  ０９：４５：００）と受信時刻（２０１０／１１／１５  １０：２４：５０）との差が３０分以上であるため、メールＩＤが「０００４」のメールを受信した際に、遅延が発生していると判定される。
【００５８】
なお、送信時刻から予め設定された時間が経過しても受信出来ない場合には遅延が発生していると判定されるようにしてもよい。そのように構成した場合には、メールＩＤが「０００４」の電子メールの送信時刻である「２０１０／１１／１５  ０９：４５：００」から３０分が経過した「２０１０／１１／１５  １０：１５：００」が到来した時点で遅延が発生している（本実施形態においては、ウイルスチェックの処理に時間を要している）と判定される。
【００５９】
なお、計測用メールを送信するタイミングについては、予め設定された間隔（図１１）に従い送信されるものとする。すなわち、予め設定された間隔をおいて本フローチャートの処理が繰り返されることとなる。
【００６０】
また、送信間隔については、本実施例では固定としているが、時間帯によって変化させるように設定されていてもよい。例えば９：００〜１８：００までは５分間隔で計測用メールの送信を行い、１８：００〜翌日９：００までは１５分間隔で送信するというような設定でも良い。
【００６１】
このようにすることで、９：００〜１８：００の間は遅延の発生をより早い段階で検知することが可能となり、電子メール配送の遅延をより低減させることが可能となる。
【００６２】
また、遅延判定時間についても、計測用メールの送信間隔と同様に、時間帯に応じて異なる時間を設定できるようにしてもよい。すなわち、９：００〜１８：００までは５分間遅延した場合には切替シグナルを発信し、１８：００〜翌日９：００までは１５分間遅延があった場合に切替シグナルを発信するというような設定が可能であってもよい。
【００６３】
ステップＳ３０４では、副系サーバ４００のＣＰＵ２０１は、受信サーバ２００に対して切替シグナルを発信する。すなわち、正系サーバ３００に何らかの異常が発生していることを受信サーバ２００に通知する。
【００６４】
なお、切替シグナルが発信されている状態（図８の切替フラグが「１」である状態）においてステップＳ３０３で遅延がないと判断された場合（ステップＳ３０３：ＮＯ）には、切替フラグを「０」に戻すように受信サーバへ通知を出してもよい。
【００６５】
この通知を出すことにより、正系サーバ３００による処理の遅延が解消された以降は副系サーバに対して電子メールのコピーが送信されなくなる。
【００６６】
以上の処理により、正系サーバ３００の処理が遅延しているといった異常発生を検知することが可能となる。
【００６７】
次に、図６を用いて、副系サーバ４００における電子メール配送処理について説明する。
【００６８】
図６は、本発明の実施形態における、副系サーバ４００におけるメール中継処理を示すフローチャートである。
【００６９】
なお、図６のフローチャートで示す処理については、副系サーバ４００のＣＰＵ２０１が所定の制御プログラムを読み出して実行する処理である。
【００７０】
ステップＳ４０１では、副系サーバ４００のＣＰＵ２０１は、電子メールを受信する。
【００７１】
ステップＳ４０２では、副系サーバ４００のＣＰＵ２０１は、ステップＳ４０１で受信した電子メールが計測用メールであるか否かを判定する。
【００７２】
計測用メールであると判定された場合、すなわちステップＳ２０３で正系サーバ３００から送信された計測用のメールである場合（ステップＳ４０２：ＹＥＳ）は、本フローチャートによる処理を終了する。
【００７３】
計測用メールではないと判定された場合、すなわちステップＳ１０４で受信サーバ２００から送信された電子メールである場合（ステップＳ４０２：ＮＯ）は、処理をステップＳ４０３に移行する。
【００７４】
ステップＳ４０３では、副系サーバ４００のＣＰＵ２０１は、ステップＳ４０１で受信した電子メールのメッセージＩＤを取得する。なお、ここでのメッセージＩＤは、電子メールを識別できるものの一例であり、メッセージＩＤ以外でも電子メールを識別可能なものであれば何れでも良い。
【００７５】
ステップＳ４０４では、副系サーバ４００のＣＰＵ２０１は、ステップＳ４０３で取得したメッセージＩＤを副系メールテーブル（図１２）へ登録する。すなわち、副系サーバを経由した電子メールの情報を記録する。
【００７６】
ステップＳ４０５では、副系サーバ４００のＣＰＵ２０１は、ステップＳ４０１で受信した電子メールに対して、正系サーバにより実行される処理が実行されていない旨の情報を付加する。なお、本実施例では、ウイルススキャンを実行しないことになるため、その旨の情報を付加することとなる。
【００７７】
ステップＳ４０６では、副系サーバ４００のＣＰＵ２０１は、ステップＳ４０１で受信した電子メールを配送サーバ５００へ送信する。
【００７８】
以上のように、副系サーバ４００での配送処理では、図４に示す正系サーバ３００での配送処理と異なり、ウイルススキャンといった処理は実行しない。
【００７９】
次に、図７を用いて、配送サーバ５００における電子メールの配送処理について説明する。
【００８０】
図７は、本発明の実施形態における、配送サーバ５００による処理を示すフローチャートである。
【００８１】
なお、図７のフローチャートで示す処理については、配送サーバ５００のＣＰＵ２０１が所定の制御プログラムを読み出して実行する処理である。
【００８２】
ステップＳ５０１では、配送サーバ５００のＣＰＵ２０１は、ステップＳ２０６で正系サーバ３００から送信された電子メール、ステップＳ４０６で副系サーバ４００から送信された電子メールを受信する。
【００８３】
ステップＳ５０２では、配送サーバ５００のＣＰＵ２０１は、副系サーバ４００がステップＳ４０４で登録した副系メールテーブル（図１２）を取得する。
【００８４】
ステップＳ５０３では、配送サーバ５００のＣＰＵ２０１は、ステップＳ５０１で取得した電子メールが、ステップＳ５０２で取得した副系メールテーブルに含まれるか否かを判定する。すなわち、副系サーバ４００を経由してきた電子メールまたは正系サーバ３００を経由した電子メールであって当該電子メールのコピーが副系サーバ４００に送信された電子メールであるか否かを判定する。
【００８５】
副系メールテーブルに含まれる場合（ステップＳ５０３：ＹＥＳ）は、処理をステップＳ５０４へ移行する。
【００８６】
副系メールテーブルに含まれない場合（ステップＳ５０３：ＮＯ）は、処理をステップＳ５０６に移行する。
【００８７】
ステップＳ５０４では、配送サーバ５００のＣＰＵ２０１は、ステップＳ５０１で受信した電子メールが既に送信済みの電子メールであるか否かを送信済メールテーブル（図１３）を用いて判断する。
【００８８】
既に送信済みの電子メールである場合（ステップＳ５０４：ＹＥＳ）は、処理をステップＳ５０５に移行する。
【００８９】
未だ送信されていない電子メールである場合（ステップＳ５０４：ＮＯ）は、処理をステップＳ５０６に移行する。
【００９０】
ステップＳ５０５では、配送サーバ５００のＣＰＵ２０１は、当該電子メールを削除する。そして、処理をステップＳ５０１に移行し、再度電子メールの受信処理を実行する。
【００９１】
ステップＳ５０６では、配送サーバ５００のＣＰＵ２０１は、ステップＳ５０１で取得した電子メールを当該電子メールの宛先へ送信する。
【００９２】
ステップＳ５０７では、配送サーバ５００のＣＰＵ２０１は、ステップＳ５０６で送信した電子メールを識別する情報（メッセージＩＤなど）を送信済メールテーブル（図１３）へ登録する。
【００９３】
以上の図７に示すフローチャートの処理により、正系サーバ３００と副系サーバ４００のいずれにも送信された電子メールについては、配送サーバ５００へ先に到達した電子メールを送信することが可能となる。また、後から到達した電子メールについては、二重に送信がされないように制御することが可能となる。
【００９４】
図８は受信サーバ２００に記憶される切替フラグを示す図である。
【００９５】
ステップＳ３０４で副系サーバ４００から切替シグナルが発信され、受信サーバ２００が当該切替シグナルを受信すると、切替フラグが設定される。図８の例では、切替シグナルが発信され受信サーバ２００が受信すると、フラグが「１」となるものとしている。
【００９６】
受信サーバ２００のＣＰＵ２０１は、この切替フラグに従いステップＳ１０２の判断を実行する。
【００９７】
図９は、副系サーバ４００に記録される計測用メールの送信時刻と受信時刻を示すテーブルである。「送信時刻」は副系サーバ４００から正系サーバ３００へ計測用メールが送信された時刻を示し、「受信時刻」は正系サーバ３００から送信された計測用メールを副系サーバ４００が受信した時刻を示している。
【００９８】
なお、計測用メールには、それぞれメールＩＤが副系サーバ４００により付与されて送信され、送信時刻、受信時刻は当該メールＩＤごとに記録される。
【００９９】
図１０は、副系サーバ４００に記憶される、正系サーバ３００の処理の遅延を判定するための遅延判定時間が設定されたテーブルである。
【０１００】
副系サーバ４００は、図９の送受信時刻テーブルに記録される計測用メールの送信時刻と受信時刻との差が図１０の遅延判定時間を超える場合には、正系サーバ３００における処理に遅延が発生していると判断をする。
【０１０１】
図１１は、副系サーバ４００に記憶される、計測用メールの送信間隔が設定されたテーブルである。副系サーバ４００は、図１１に示すテーブルに設定された間隔で正系サーバ３００に対して計測用メールを送信する。
【０１０２】
図１２は、副系サーバ４００に記憶される、副系サーバ４００を経由して配送サーバ５００へ配送された電子メールを示すリストである。
【０１０３】
本実施形態においては、電子メールのメッセージＩＤを記録するが、電子メールを識別できる情報であればメッセージＩＤに限らずいずれでもよい。
【０１０４】
図１３は、配送サーバ５００に記憶される、配送サーバ５００から送信された電子メールを示すリストである。このリストには、配送サーバ５００から送信された全ての電子メールが記録される。なお、図１２に示す副系メールテーブルと同様に、記録される情報は電子メールを識別できる情報であればメッセージＩＤに限られずいずれでもよい。
【０１０５】
図１４は、本実施形態における受信サーバ２００、正系サーバ３００、副系サーバ４００、配送サーバ５００それぞれの機能構成を示す機能ブロック図である。
【０１０６】
１４０１は、受信サーバ２００が備える電子メール受信部であり、クライアントＰＣ１００から送信された電子メールを受信する機能を備える。
【０１０７】
１４０２は、受信サーバ２００が備える電子メール複写部であり、電子メール受信部１４０１が受信した電子メールのコピーを作成する機能を備える。
【０１０８】
１４０３は、受信サーバ２００が備える電子メール送信部であり、電子メール受信部１４０１が受信した電子メールや電子メール複写部１４０２が作成した電子メールを正系サーバ３００および副系サーバ４００へ送信する機能を備える。
【０１０９】
１４０４は、正系サーバ３００が備える電子メール受信部であり、受信サーバ２００や副系サーバ４００から送信された電子メールを受信する機能を備える。
【０１１０】
１４０５は、正系サーバ３００が備える電子メール処理実行部であり、予め規定された処理を電子メールに対して実行する機能を有する。なお、本実施形態では、電子メールに対するウイルススキャン処理を実行する機能を有する。
【０１１１】
１４０６は、正系サーバ３００が備える電子メール送信部であり、正系サーバ３００の電子メール受信部１４０４で受信した電子メールを副系サーバ４００や配送サーバ５００へ送信する機能を備える。
【０１１２】
１４０７は、副系サーバ４００が備える電子メール受信部であり、受信サーバ２００や正系サーバ３００から送信された電子メールを受信する機能を有する。
【０１１３】
１４０８は、副系サーバ４００が備える電子メール送信部であり、正系サーバ３００の障害を検知するための計測用メールを予め設定された間隔で送信する機能や、電子メール受信部１４０７で受信した電子メールを配送サーバ５００へ送信する機能を有する。
【０１１４】
１４０９は、副系サーバ４００が備えるシグナル発信部であり、正系サーバに障害が発生していることを検知した際に、受信サーバ２００に対して切替シグナルを発信する機能を有する。
【０１１５】
１４１０は、副系サーバ４００が備える送信メール記憶部であり、図１２に示す副系メールテーブルを作成、保持する。
【０１１６】
１４１１は、副系サーバ４００が備える遅延判断処理部であり、電子メール送信部１４０８が計測用メールを送信した日時からの経過時間を算出し、予め設定された値と比較することで正系サーバ３００で障害（処理の遅延）が発生しているか否かを判断する機能を有する。
【０１１７】
１４１２は、配送サーバ５００が備える送信制御部であり、図１２に示す副系メールテーブルと図１３に示す送信済みメールテーブルとを用いて、重複して電子メールを送信しないように制御する機能を有する。
【０１１８】
１４１３は、配送サーバ５００が備える電子メール受信部であり、正系サーバ３００、副系サーバ４００から送信された電子メールを受信する機能を備える。
【０１１９】
１４１４は、配送サーバ５００が備える電子メール送信部であり、クライアントＰＣから送信された電子メールを当該電子メールに設定された宛先へ送信する機能を備える。
【０１２０】
１４１５は、配送サーバ５００が備える送信メール記憶部であり、配送サーバ５００の電子メール送信部１４１４により送信された電子メールを記憶する機能を備える（図１３に示す送信済みメールテーブルを作成、保持する）。
【０１２１】
以上の構成を備えることにより、電子メールの中継サーバに障害が発生した場合にも、電子メールの配送の遅延を低減させることが可能となる。
【０１２２】
特に、副系サーバ４００においては、正系サーバ３００で実行する処理（本実施形態においてはウイルススキャン）を実行しないようにすることで、多量の電子メールが集中したことにより処理が追いつかずに遅延が発生したというケースにも対応が可能となる。
【０１２３】
なお、本実施形態においては、受信サーバ２００、正系サーバ３００、副系サーバ４００、配送サーバ５００をそれぞれ別の端末として説明したが、複数の端末の機能をひとつの端末から成る装置に適用してもよい。
【０１２４】
例えば、受信サーバ２００、正系サーバ３００が実行する処理を一つの端末において実行するように構成してもよい。
【０１２５】
また、上述した各種データの構成及びその内容はこれに限定されるものではなく、用途や目的に応じて、様々な構成や内容で構成されることは言うまでもない。
【０１２６】
また、本発明におけるプログラムは、図３〜図７の処理方法をコンピュータが実行可能なプログラムである。なお、本発明におけるプログラムは図３〜図７の各装置の処理方法ごとのプログラムであってもよい。
【０１２７】
以上のように、前述した実施形態の機能を実現するプログラムを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記録媒体に格納されたプログラムを読み出し、実行することによっても本発明の目的が達成されることは言うまでもない。
【０１２８】
この場合、記録媒体から読み出されたプログラム自体が本発明の新規な機能を実現することになり、そのプログラムを記録した記録媒体は本発明を構成することになる。
【０１２９】
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＤＶＤ−ＲＯＭ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＥＥＰＲＯＭ、シリコンディスク等を用いることが出来る。
【０１３０】
また、コンピュータが読み出したプログラムを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１３１】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１３２】
また、本発明は、複数の機器から構成されるシステムに適用しても、ひとつの機器から成る装置に適用しても良い。また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのプログラムを格納した記録媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【０１３３】
さらに、本発明を達成するためのプログラムをネットワーク上のサーバ、データベース等から通信プログラムによりダウンロードして読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。なお、上述した各実施形態およびその変形例を組み合わせた構成も全て本発明に含まれるものである。
【符号の説明】
【０１３４】
１００  クライアントＰＣ
２００  受信サーバ
３００  正系サーバ
４００  副系サーバ
５００  配送サーバ
６００  ＬＡＮ
【図１】
0005682279.tif 000002
【図２】
0005682279.tif 000003
【図３】
0005682279.tif 000004
【図４】
0005682279.tif 000005
【図５】
0005682279.tif 000006
【図６】
0005682279.tif 000007
【図７】
0005682279.tif 000008
【図８】
0005682279.tif 000009
【図９】
0005682279.tif 000010
【図１０】
0005682279.tif 000011
【図１１】
0005682279.tif 000012
【図１２】
0005682279.tif 000013
【図１３】
0005682279.tif 000014
【図１４】
0005682279.tif 000015