(57)【特許請求の範囲】
【請求項１】
通信端末から送信されるメールを格納する記憶部と、
前記メールを前記記憶部から読み出し、前記メールの宛先ドメインに対応する複数のＭＸレコードを得、前記複数のＭＸレコードをキーとしてＭＸレコード毎輻輳統計情報を検索して送信先ＭＸレコードを決定し、前記送信先ＭＸレコードに対応する複数のＩＰアドレスを得、前記複数のＩＰアドレスをキーとしてホスト毎輻輳統計情報を検索して送信先ホストを決定し、前記送信先ホストに前記メールを転送するメール中継処理部とを有する通信システム。
【請求項２】
前記メール中継処理部は、前記メールの宛先ドメインについてＤＮＳサーバと通信して前記複数のＭＸレコードを得、前記送信先ＭＸレコードについて前記ＤＮＳサーバと通信して複数のＩＰアドレスを得ることを特徴とする請求項１に記載の通信システム。
【請求項３】
前記メール中継処理部は、前記複数のＩＰアドレスをキーとしてホスト毎輻輳統計情報を検索して送信先ホストＩＰアドレスを決定することを特徴とする請求項１または２に記載の通信システム。
【請求項４】
前記ＭＸレコード毎輻輳統計情報はＭＸレコード毎のメール送信の失敗情報を含み、前記ホスト毎輻輳統計情報はＩＰアドレス毎のメール送信の失敗情報を含むことを特徴とする請求項１乃至３のいずれか一項に記載の通信システム。
【請求項５】
前記メール中継処理部は、前記ＭＸレコード毎輻輳統計情報を検索して前記複数のＭＸレコード間で相対的にメール送信の失敗が一番少ないＭＸレコードを前記送信先ＭＸレコードとし、かつホスト毎輻輳統計情報を検索して前記複数のＩＰアドレス間で相対的にメール送信の失敗が一番少ないＩＰアドレスを前記送信先ホストとすることを特徴とする請求項４に記載の通信システム。
【請求項６】
前記メール中継処理部は、前記送信先ホストから前記メールの送信結果を受信し、前記送信結果に基づいて前記ＭＸレコード毎輻輳統計情報と前記ホスト毎輻輳統計情報とを更新することを特徴とする請求項１乃至５のいずれか一項に記載の通信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メールゲートウェイシステムにおいて、宛先のメールサーバや通信経路に障害が発生した場合などに送信先メールサーバの選択を行う技術に関する。
【背景技術】
【０００２】
従来のメールゲートウェイシステムは、メール送信宛先ドメインの名前解決をＤＮＳ（ＤｏｍａｉｎＮａｍｅＳｅｒｖｉｃｅ）問い合わせにより行っている。DNS問い合わせは、まずＭＸ（ＭａｉｌｅＸｃｈａｎｇｅ）レコード問い合わせを行い、得られたＭＸレコードの中で一番優先度(preference値)が高いＭＸレコードのＡレコードの問い合わせを行い、得られたホスト（ＩＰアドレス）群の中の何れかのメールサーバにメール送信を行う。
従来のメールゲートウェイでは、対向メールサーバ障害時には、例えば特許文献１に記載されるように複数の送信先メールサーバをドメイン単位に輻輳制御し送信規制、解除を行っている。また、例えば特許文献２では、内部DNSが保有するMXレコードの障害が発生したサーバの優先度を下げることで輻輳制御を行っている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開2010-287987
【特許文献２】特開2001-086152
【発明の概要】
【発明が解決しようとする課題】
【０００４】
従来のメールゲートウェイシステムでは、メール送信宛先ドメインの一部のメールサーバで障害が発生した場合、メール送信の度に障害が発生しているメールサーバへのメール送信試行を繰り返し、メールゲートウェイシステムで提供するメール配信サービスに配信遅延の影響を与える可能性がある。またメール送信先ドメインのＭＸレコードは、優先度を持つが、外部ＤＮＳにマスタ管理されている為、メールゲートウェイで優先度を変更することが出来ない。また、ＭＸレコードに紐付いたホストには優先度が無く、複数のＭＸレコード、ホストを有する大規模な通信システムの一部サーバで障害が発生した場合、送信可能なホストがあるにも関わらず、障害メールサーバへのメール送信試行を繰り返しメール送信が遅延する課題がある。
【０００５】
メールゲートウェイシステムにおいては、送信先ドメインの一部のメールサーバや通信経路で障害が発生した場合に、障害が発生したドメインに対して、障害発生メールサーバへのメール送信を規制し、健全なメールサーバへのメール送信を優先的に行うことで、送信先ドメインで発生した障害による影響が少ないメール配信サービスを提供することが課題である。
【課題を解決するための手段】
【０００６】
本発明による通信システムは一例として、通信端末から送信されるメールを格納する記憶部と、前記メールを前記記憶部から読み出し、前記メールの宛先ドメインに対応する複数のＭＸレコードを得、前記複数のＭＸレコードをキーとしてＭＸレコード毎輻輳統計情報を検索して送信先ＭＸレコードを決定し、前記送信先ＭＸレコードに対応する複数のＩＰアドレスを得、前記複数のＩＰアドレスをキーとしてホスト毎輻輳統計情報を検索して送信先ホストを決定し、前記送信先ホストに前記メールを転送するメール中継処理部とを有する。
【発明の効果】
【０００７】
メール送信先ドメインの一部のメールサーバで障害が発生した場合にも、メールサーバ群から送信が成功する可能性が相対的に高いホストサーバを決定し、メール配信障害の影響を極小化できる。
【図面の簡単な説明】
【０００８】
【図１】本発明の実施の形態を示すシステム構成例のブロック図。
【図２】メールゲートウェイブロック論理構成例の図
【図３】本メールゲートウェイシステムによる輻輳制御のシーケンス例の図。
【図４】ＭＸレコード毎輻輳統計情報例
【図５】ホスト毎輻輳統計情報例
【図６】送信可能ＭＸレコード判定フローチャート例
【図７】送信可能ホスト判定フローチャート例
【発明を実施するための形態】
【０００９】
以下、本発明の実施の形態について図面により詳細に説明する。
図１はメールゲートウェイシステムの実施の形態の例のブロック図を示したものである。図１において１０１はメール送信が可能な通信端末、１０２は１０１と１０３を接続する無線網、１０３は通信キャリアが管理するキャリア設備網（コア網）で１０２、１０４と１０６を接続する、１０４はインターネットで、１０５は１０４を介して接続されるメール送信先のメールサーバ群、１０７は１０４を介して接続されるＤＮＳサーバ、１０６はメールゲートウェイシステム、１０８は１０３を介して１０６の運用監視を行う運用監視サーバである。
図２はメールゲートウェイシステムの論理構成を示したものである。図２において２０１は１０３を介して通信端末からのメールを受信するメール受信プロセス処理部、２０２は２０１で受信したメールを格納するメッセージキュー（第1記憶部）、２０４は２０２に格納されたメールを１０３を介して転送先のメールサーバへ送信するメール中継プロセス処理部である。２０７は２０４がメール送信に失敗した場合にメールを格納する再送キュー（第２記憶部）である。２０５は２０４から依頼のあった宛先ドメインの名前解決を行うＤＮＳ通信プロセス処理部である。２０６は１０８からの運用コマンドを２０４に中継するコマンドＩ／Ｆプロセス処理部である。２０３は２０４による処理についての統計情報を処理する輻輳統計情報処理部である。
次に、本メールゲートウェイシステムによる名前解決制御を図３のシーケンスに従って説明する。メールクライアント機能を持つ通信端末からメール３０１を受信したメール受信プロセス処理部は、メール３０２をメッセージキューに格納し、成功応答３０３を受信すると通信端末に正常応答３０４を送信する。メッセージ中継プロセス処理部は、メッセージキューに格納されたメール３０５を読み出し、送信可能ドメイン判定３０６を行い、ＤＮＳサーバにメッセージキューから読み出したメールの宛先ドメインについてのＭＸレコード問い合わせ３０７を送信する。メール中継プロセス処理部は、ＤＮＳサーバよりＭＸレコード問い合わせ３０７の応答としてＭＸレコード３０８を受信する。
【００１０】
メール中継プロセス処理部は次に、輻輳統計情報処理部２０３に格納されるＭＸレコード毎輻輳統計情報３２０に対して、受信したＭＸレコードをキー情報として検索を行う。ＭＸレコード毎輻輳統計情報３２０は後述する図４に詳細を示す。当該検索では、受信したＭＸレコードと一致するキー情報４０２を検索し、一致するキー情報４０２に対応する失敗判定カウンタ情報４０４、失敗内訳情報４０５、優先度情報４０７を検索する。これらの検索結果に基づいて、詳細を後述する送信可能ＭＸレコード判定３０９を行う。
【００１１】
メール中継プロセス処理部は、３０９で送信先ＭＸレコードとして決定したＭＸレコードを用いてホスト名問い合わせ３１０をＤＮＳサーバに送信し、ホスト名問い合わせ３１０の応答としてＤＮＳサーバよりＩＰアドレス３１１を受信する。
【００１２】
メール中継プロセス処理部は、輻輳統計情報処理部２０３に格納されるホスト（ＩＰアドレス）毎輻輳統計情報３２１に対して、送信先ＭＸレコードと受信したＩＰアドレスをキー情報として検索を行う。ＩＰアドレス毎輻輳統計情報３２１は後述する図５に詳細を示す。当該検索では、受信したＩＰアドレスとＭＸレコードをキーにしてキー情報（ＩＰアドレス）５０２とオプション記憶領域（ＭＸレコード）５０７を検索し、対応する失敗判定カウンタ５０４情報、失敗内訳５０５情報を検索する。これらの検索結果に基づいて、詳細を後述する送信可能ホスト判定３１２を行う。なお、キー情報（ＩＰアドレス）のみをキーとして検索をしてもよい。
【００１３】
メール中継プロセス処理部は、３１２で決定した送信先ホスト（送信先ホストＩＰアドレス）に送信先メールサーバにメール３１３を送信（転送）する。３１３の送信結果３１４を受信後、メール中継プロセス処理部は、送信結果判定３１５を行い、その結果を３２０、３２１に反映して輻輳統計情報更新３１６を行う。
次に、本メールゲートウェイシステムが収集するＭＸレコード毎の輻輳統計情報の例を図４に従って説明する。ＭＸレコード毎の輻輳統計情報は、ＭＸレコード毎のメール送信の失敗情報を含む。例えば、ユニークなＩＤ４０１と、キー情報（ＭＸレコード）毎に、メール送信が成功した回数をカウントするカウンタ情報４０３と、メール送信が失敗した回数をカウントする失敗判定カウント情報４０４と、メール送信が失敗した場合のエラー要因別に回数をカウントする失敗内訳情報４０５と、更新日時情報４０６と、ＤＮＳから受信した優先度情報４０７を記憶するテーブルである。例えば、メール送信コネクションを使い回す場合は、使用中のコネクション数を併せて格納してもよい。また、単位時間毎の送信メール数や、送信したメールの平均メッセージサイズや、メール送信要求の平均応答時間を集計しても良い。
次に、本メールゲートウェイシステムが収集するＩＰアドレス毎の輻輳統計情報の例を図５に従って説明する。ＩＰアドレス毎の輻輳統計情報は、ＩＰアドレス毎のメール送信の失敗情報を含む。例えば、ユニークなＩＤ５０１と、キー情報（ＩＰアドレス）毎に、メール送信が成功した回数をカウントするカウンタ情報５０３と、メール送信が失敗した回数をカウントする失敗判定カウント情報５０４と、メール送信が失敗が失敗した場合のエラー要因別に回数をカウントする失敗内訳情報５０５と、更新日時情報５０６と、元となったＭＸレコード５０７を記憶するテーブルである。例えば、メール送信コネクションを使い回す場合は、使用中のコネクション数を併せて格納してもよい。また、単位時間毎の送信メール数や、送信したメールの平均メッセージサイズや、メール送信要求の平均応答時間を集計しても良い。
次に送信可能ＭＸレコード判定について図６に従って説明する。送信可能ＭＸレコード判定では、送信先ドメインのＤＮＳ問い合わせで得られたＭＸレコードについて、６０１でＭＸレコード毎輻輳統計情報３２０に存在するか判定を行い、存在しない場合は、ＤＮＳ問い合わせで得られたＭＸレコードの優先度の高いＭＸレコードを選択する。ここでＭＸレコードは、一般に送信先ドメインのＤＮＳ問い合わせの応答にて複数得られるものである。よって、ＭＸレコード毎輻輳統計情報３２０に送信先ドメインのＤＮＳ問い合わせで得られた複数ＭＸレコードが存在する場合は、６０２で失敗の少ないＭＸレコードを選択する。
【００１４】
失敗が少ないＭＸレコードとは、複数のＭＸレコード間で相対的に失敗が一番少ないと判断されるＭＸレコードであって、例えば、カウンタ情報に対する失敗判定カウンタの割合が最も少ないものとすることや、失敗判定カウンタ情報の数値が最も少ないものとすることや、失敗内訳情報において特定の失敗要因についての失敗数値が最も少ないものとすることができる。
【００１５】
６０２の選択では、例えば、閾値を儲け失敗率（カウンタ情報に対する失敗判定カウンタの割合）が一定以下のＭＸレコードについて優先度の高いＭＸレコードを選択する方法も可能である。その他、メール送信のコネクションを使い回して使用する場合は、有効なコネクション数が少ないＭＸレコードを選択する方法も可能である。また、単位時間毎の送信メール数の一番少ないＭＸレコードを選択する方法や、送信したメールの平均メッセージサイズが一番小さいＭＸレコードを選択する方法や、メール送信要求の平均応答時間が一番小さいＭＸレコードを選択する方法や、複数の方法に優先度をつけて選択する方法であっても良い。また６０２の判定は、運用監視端末からのコマンド操作で閾値、有効期限や判定優先度を変更することもできる。６０２で選択したＭＸレコードについては、６０３で更新日時の有効期限判定を行い、有効期限が切れていた場合は、６０４で該当情報の輻輳統計情報からの削除を行い、「開始」からＭＸレコード選択をやり直す。
次に送信可能ホスト判定について図７に従って説明する。送信可能ホスト判定では、送信可能ＭＸレコード判定で選択したＭＸレコードのＤＮＳ問い合わせ応答で得るＩＰアドレスについて、７０１でホスト（ＩＰアドレス）毎輻輳統計情報３２１に存在するか判定を行い、存在しない場合は、ＤＮＳ問い合わせで得られたＩＰアドレスの中から任意に選択する。
【００１６】
ここでＩＰアドレスには、一般にＭＸレコードのＤＮＳ問い合わせの応答にて複数得られるものである。よって、ホスト（ＩＰアドレス）毎輻輳統計情報３２１にＭＸレコードのホスト名問い合わせ応答で得られた複数ＩＰアドレスが存在する場合は、７０２で失敗の少ないＩＰアドレスを選択する。
【００１７】
失敗が少ないＩＰアドレスとは、複数のＩＰアドレス間で相対的に失敗が一番少ないと判断されるＩＰアドレスであって、例えば、カウンタ情報に対する失敗判定カウンタの割合が最も少ないものとすることや、失敗判定カウンタ情報の数値が最も少ないものとすることや、失敗内訳情報において特定の失敗要因についての失敗数値が最も少ないものとすることができる。
【００１８】
７０２の選択では、例えば、閾値を儲け失敗率（カウンタ情報に対する失敗判定カウンタの割合）が一定以下のＩＰアドレスを選択する方法も可能である。その他、メール送信のコネクションを使い回して使用する場合は、有効なコネクション数が少ないＩＰアドレスを選択する方法も可能である。また、単位時間毎の送信メール数の一番少ないＩＰアドレスを選択する方法や、送信したメールの平均メッセージサイズが一番小さいＩＰアドレスを選択する方法や、メール送信要求の平均応答時間が一番小さいＩＰアドレスを選択する方法や、複数の方法に優先度をつけて選択する方法であっても良い。また７０２の判定は、運用監視端末からのコマンド操作で閾値、有効期限や、有効期限を変更することもできる。７０２で選択したＩＰアドレスについては、７０３で更新日時の有効期限判定を行い、有効期限が切れていた場合は、７０４で該当情報の輻輳統計情報からの削除を行い「開始」からＩＰアドレス選択をやり直す。
【図１】
0005830434.tif 000002
【図２】
0005830434.tif 000003
【図３】
0005830434.tif 000004
【図４】
0005830434.tif 000005
【図５】
0005830434.tif 000006
【図６】
0005830434.tif 000007
【図７】
0005830434.tif 000008