(57)【特許請求の範囲】
【請求項１】
受信したメッセージを中継するメッセージゲートウェイであって、
受信したメッセージを宛先に向けて送信するための送信キューとメッセージを再送するための再送キューとを有する第１のキューと、
前記再送キューに保持するメッセージに対して、当該メッセージに含まれる特定の情報について統計情報を集計する集計部と、
前記統計情報の集計数が、予め設定される閾値を超えると判定された、前記特定の情報を含むメッセージを、当該メッセージを送信するための第２のキューに詰め替えるメッセージ詰め替え部と、
集計された前記統計情報の集計数が前記予め設定される閾値を超えると判定された前記特定の情報を含むメッセージを送信するための前記第２のキューを作成する新規キュー作成部と
を備えることを特徴とするメッセージゲートウェイ。
【請求項２】
前記新規キュー作成部は、前記集計数が前記予め設定される閾値を超える場合、かつ前記第２のキューの作成済数が予め設定してある作成上限数未満の場合、前記第２のキューを作成する
ことを特徴とする請求項１に記載のメッセージゲートウェイ。
【請求項３】
受信したメッセージの中で、前記集計数が前記予め設定される閾値を超えると判定された前記特定の情報を含むメッセージを前記第２のキューに入力するメッセージ振分部
をさらに備えることを特徴とする請求項１または請求項２に記載のメッセージゲートウェイ。
【請求項４】
前記メッセージ振分部は、前記第２のキューが輻輳状態となった場合には、前記集計数が前記予め設定される閾値を超えると判定された前記特定の情報を含むメッセージを当該第２のキューへ入力することを制限する
ことを特徴とする請求項３に記載のメッセージゲートウェイ。
【請求項５】
前記メッセージゲートウェイは、
前記集計部によって集計された前記第２のキューに保持されているメッセージの前記集計数が、予め設定されている下限閾値未満である場合、前記集計数が前記予め設定される閾値を超えると判定された前記特定の情報を含むメッセージを前記第２のキューに入力することを止め、前記第２のキューに保持されているメッセージが無くなったとき、当該第２のキューを削除する
ことを特徴とする請求項１から請求項４のいずれか一項に記載のメッセージゲートウェイ。
【請求項６】
前記集計数は、キュー長またはタイムアウト回数である
ことを特徴とする請求項１から請求項５のいずれか一項に記載のメッセージゲートウェイ。
【請求項７】
受信したメッセージを中継するメッセージゲートウェイのメッセージ配信方法であって、
前記メッセージゲートウェイは、
受信したメッセージを宛先に向けて送信するための送信キューとメッセージを再送するための再送キューとを有する第１のキューを備え、
前記再送キューに保持するメッセージに対して、当該メッセージに含まれる特定の情報について統計情報を集計する集計ステップと、
前記集計ステップによって集計された前記統計情報の集計数が予め設定される閾値を超えると判定された前記特定の情報を含むメッセージを送信するための第２のキューを作成する新規キュー作成ステップと、
前記集計数が前記予め設定される閾値を超えると判定された前記特定の情報を含むメッセージを前記第２のキューに詰め替えるメッセージ詰め替えステップと、
を実行することを特徴とするメッセージ配信方法。
【請求項８】
前記新規キュー作成ステップでは、前記集計数が前記予め設定される閾値を超える場合、かつ前記第２のキューの作成済数が前記予め設定してある作成上限数未満の場合、前記第２のキューを作成する
ことを特徴とする請求項７に記載のメッセージ配信方法。
【請求項９】
受信したメッセージの中で、前記集計数が前記予め設定される閾値を超えると判定された前記特定の情報を含むメッセージを前記第２のキューに入力するメッセージ振分ステップ
をさらに実行することを特徴とする請求項７または請求項８に記載のメッセージ配信方法。
【請求項１０】
前記メッセージ振分ステップでは、前記第２のキューが輻輳状態となった場合には、前記集計数が前記予め設定される閾値を超えると判定された前記特定の情報を含むメッセージを当該第２のキューへ入力することを制限する
ことを特徴とする請求項９に記載のメッセージ配信方法。
【請求項１１】
前記メッセージゲートウェイは、
前記集計ステップにおいて集計された前記第２のキューに保持されているメッセージの前記集計数が、予め設定されている下限閾値未満である場合、前記集計数が前記予め設定される閾値を超えると判定された前記特定の情報を含むメッセージを前記第２のキューに入力することを止め、前記第２のキューに保持されるメッセージが無くなったとき、当該第２のキューを削除する
ことを特徴とする請求項７から請求項１０のいずれか一項に記載のメッセージ配信方法。
【請求項１２】
前記集計数は、キュー長またはタイムアウト回数である
ことを特徴とする請求項７から請求項１１のいずれか一項に記載のメッセージ配信方法。
【請求項１３】
請求項７から請求項１２のいずれか一項に記載のメッセージ配信方法を、コンピュータである前記メッセージゲートウェイに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メールを配信する技術に関する。
【背景技術】
【０００２】
近年、メールシステムには、メールを一旦受信して、受信したメールに対して所定の処理を実行した後、そのメールを宛先のメールサーバへ送信（中継）する機能を有するメールゲートウェイが導入されている。なお、本明細書において、メールとは、例えば、電子メール用のプロトコルや、ショートメッセージサービスまたはマルチメディアメッセージングサービスにおけるメール用のプロトコルを用いて、パソコンや携帯電話や携帯情報端末間で送受信される文字、図、画像、音声、動画等のメッセージを含む情報を意味している。
【０００３】
メールゲートウェイは、例えば、携帯電話や携帯情報端末向けのデータ通信サービスを提供する携帯通信キャリアのメールシステムでは、メールに含まれる文字コードや添付されている画像等に変換処理を施し、その処理後のメールを宛先のメールサーバへ向けて送信する。また、メールゲートウェイは、大学や企業のメールシステムでは、メールサーバに対するセキュリティの向上のために、送受信するメールすべてが通過するように配置され、迷惑メールのフィルタリング等の処理を担っている。
【０００４】
ここで、メールゲートウェイの処理の具体例を説明するために、メールを中継する場合について、携帯通信キャリアのメールシステムを一例として説明する。
まず、メールゲートウェイは、送信側携帯電話からメールを受信し、受信したメールの情報をキューに格納し、送信側携帯電話にメールを正常に受信したことを示す正常応答情報を返す。次に、メールゲートウェイは、受信したメールを、宛先のメール転送サーバ（MTA: Message Transfer Agent）に中継する。中継に成功した場合、メールゲートウェイは、キューに格納したメールの情報を削除して終了する。
【０００５】
メールゲートウェイのキューは、受信したメールの情報を一時的に格納するための領域であり、ＲＡＭ（Random Access Memory）等の揮発性メモリや、磁気ディスクやＳＳＤ（Solid State Drive）等の不揮発性メモリにより構成される。そして、メールゲートウェイは、キューを備えることより、送信側携帯電話への即時応答や、メール転送サーバへの中継が成功するまでのメールの保持を可能にしている。
【０００６】
なお、中継に失敗した場合には、メールゲートウェイは、所定の時間が経過した後に再送処理を行う。しかし、宛先のメール転送サーバで障害が発生して輻輳状態となっている場合、または、宛先のメール転送サーバに至る通信路で輻輳が発生している場合には、メールゲートウェイは、再送待ちのメールによってキューが一杯となって、新規のメールを受信できなくなる輻輳状態となる。
【０００７】
この輻輳状態を回避する方法が、特許文献１に開示されている。特許文献1では、メールの宛先となるメールサーバごとにキューを備え、メールサーバごとに輻輳制御を行う。これにより、特定のメールサーバで輻輳が発生した場合、その輻輳したメールサーバにメールを送信するキューがメールの受信を制限することによって、メールゲートウェイ全体としては、その輻輳の影響を輻輳したメールサーバに関わるメールだけに留めることが可能となる。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００５−２６９２６３号公報（段落００４８〜００５０参照）
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、特許文献１に記載の方法では、オペレータがメールの宛先となるメールサーバごとにキューを予め設定しており、日々追加・削除されていくインターネット上のメールサーバに対して、オペレータがキューを設定していくことは不可能といえる。したがって、キューの設定されていないメールサーバを宛先とするメールによって輻輳状態が引き起こされる場合、その輻輳状態の影響を限定するための制御技術については未検討となっている。
【００１０】
そこで、本発明では、キューの設定されていないメールサーバを宛先とするメールによって輻輳状態が引き起こされる場合、その輻輳状態の影響を限定する技術を提供することを課題とする。
【課題を解決するための手段】
【００１１】
前記課題を解決するために、本発明のメールゲートウェイは、受信したメッセージを中継するメッセージゲートウェイであって、受信したメッセージを宛先に向けて送信するための送信キューとメッセージを再送するための再送キューとを有する第１のキューと、前記再送キューに保持するメッセージに対して、当該メッセージに含まれる特定の情報について統計情報を集計する集計部と、再送に失敗したメッセージの中で、前記統計情報の集計数が、予め設定される閾値を超えると判定された、前記特定の情報を含むメッセージを、当該メッセージを送信するための第２のキューに詰め替えるメッセージ詰め替え部と、集計された前記統計情報の集計数が前記予め設定される閾値を超えると判定された前記特定の情報を含むメッセージを送信するための前記第２のキューを作成する新規キュー作成部とを備えることを特徴とする。
【発明の効果】
【００１２】
本発明によれば、キューの設定されていないメールサーバを宛先とするメールによって輻輳状態が引き起こされる場合、その輻輳状態の影響を限定することができる。
【図面の簡単な説明】
【００１３】
【図１】本実施形態におけるメールゲートウェイの動作の概要を示す図である。
【図２】本実施形態のメールシステムの構成例を示す図である。
【図３】メールゲートウェイのハードウェア構成例を示す図である。
【図４】メールゲートウェイプログラム領域のプロセス構成を示す図である。
【図５】キュー情報の一例を示す図である。
【図６】キュー管理情報の一例を示す図である。
【図７】収集グループ情報の一例を示す図である。
【図８】収集エントリ情報の一例を示す図である。
【図９】キュー作成除外リストの一例を示す図である。
【図１０】収集エントリ情報の具体例を示す図であり、（ａ）は集計する情報がキュー長の場合を表し、（ｂ）は集計する情報がタイムアウト回数の場合を表す。
【図１１】メールゲートウェイの処理フロー例を示す図である。
【図１２】新規キュー作成処理のフロー例を示す図である。
【発明を実施するための形態】
【００１４】
次に、本発明を実施するための形態（以降、「本実施形態」と称す。）について、適宜図面を参照しながら詳細に説明する。
【００１５】
（概要）
はじめに、本実施形態のメールゲートウェイの動作の概要について、図１を用いて説明する。
図１は、メールゲートウェイ１０が、端末３０から送信されたメール４０を受信して、メール振分部１３においてメールをキューに振り分けて、メール転送サーバ２０に中継する状態を表したものである。
【００１６】
図１に示すように、メールゲートウェイ１０は、機能として、通常キュー（第１のキュー）１１、新規キュー（第２のキュー）１２、メール振分部１３、集計部１４、メール詰め替え部１５および新規キュー作成部１６を備える。なお、通常キュー１１は常時存在するが、新規キュー１２は、作成されたり削除されたりする。
通常キュー１１は、送信キュー１１ａと再送キュー１１ｂとを有しており、送信キュー１１ａには端末３０から受信したメール４０が入力され、メール４０を宛先となるメール転送サーバ２０に向けて送出（中継）する機能を有する。再送キュー１１ｂは、中継に失敗したメール４０を再送待ちとして保持する機能を有する。通常キュー１１には、複数のメール転送サーバ２０に送出するメールが入力される。
【００１７】
新規キュー１２は、送信キュー１２ａと再送キュー１２ｂとを有しており、予めオペレータ等によって決められた特定の情報を含むメール４０を送出する機能を有し、通常キュー１１とは別に作成される。なお、送信キュー１２ａおよび再送キュー１２ｂは、それぞれ送信キュー１１ａおよび再送キュー１１ｂと同様の機能を有する。また、通常キュー１１は、予めオペレータ等によって作成され、新規キュー１２は新規キュー作成部１６により作成される。
【００１８】
メール振分部１３は、端末３０から受信したメール４０のうち、前記した特定の情報を含むメール４０を新規キュー１２に入力し、特定の情報を含まないメール４０を通常キュー１１に入力するように振り分ける機能を有する。また、メール振分部１３は、新規キュー１２が輻輳状態になったとき、当該新規キュー１２へメール４０を入力することを制限する機能を有する。なお、輻輳状態とは、キューが一杯になって新たに入力するメール４０を保持できなくなった（受け付けられなくなった）状態のことである。
【００１９】
集計部１４は、特定の情報について統計情報を集計し、集計数を算出する機能を有する。
メール詰め替え部１５は、再送キュー１１ｂに保持されている、特定の情報を含むメール４０を、新規キュー１２に詰め替える機能を有する。
新規キュー作成部１６は、集計部１４によって集計された集計数を監視し、集計数が上限閾値を超える場合、新規キュー１２を作成する機能を有する。
【００２０】
なお、通常キュー１１、新規キュー１２、メール振分部１３、集計部１４、メール詰め替え部１５および新規キュー作成部１６の詳細な動作については、以降に説明する。また、図１に示す破線矢印は、メールの中継に失敗した後のメールに対する処理の流れを表している。また、図１は、前記した統計情報を集計する情報として、宛先のドメイン名を用いた場合で表している。
【００２１】
ステップＳ１では、メールゲートウェイ１０のメール振分部１３は、新規に受信したメール４０を、通常キュー１１に入れる。通常キュー１１は、送信キュー１１ａと再送キュー１１ｂとを備えており、送信キュー１１ａが新規に受信したメール４０をネットワークを介して宛先となるメール転送サーバ２０に送信する。なお、図１では、例えば、丸印にＢ３と記している場合は、ドメイン名Ｂ宛の３番目に受信したメール４０を表している。また、メール転送サーバ２０ａ（２０）は、ドメイン名Ａ宛のメール４０を転送するサーバを表しているものとする。
【００２２】
ステップＳ２では、メールゲートウェイ１０は、メール転送サーバ２０ａが輻輳状態となったため、ドメイン名Ａ宛のＡ２，Ａ３，Ａ４のメール４０を中継することに失敗したため、中継に失敗したメール４０を再送キュー１１ｂに入力する。
【００２３】
ステップＳ３では、集計部１４は、中継に失敗したメールを再送キュー１１ｂに入力する際、再送キュー１１ｂに入力されるメールに含まれる特定の情報（ドメイン名）に基づいて、その特定の情報ごとに統計情報を集計し、集計数を算出する。統計情報は、例えば、キュー長やタイムアウト回数等である。なお、集計数の集計処理の詳細については、後記する。
【００２４】
ステップＳ４では、新規キュー作成部１６は、集計数を監視し、集計数が上限閾値を超える場合、新規キュー１２を作成する。ただし、新規キュー１２を作成すると、メモリの一部を占有することになるため、新規キュー１２の作成数には、制限が設けられる。また、特定の情報が、予めオペレータ等が設定した新規キュー１２を作成しない設定に一致した場合、新規キュー１２は作成されない。なお、新規キュー１２を作成しない設定情報（図９に示すキー情報８１０）は、図４に示すキュー作成除外リスト１１６に記載しておく。ただし、図１のケースでは、新規キュー作成部１６は、ドメイン名Ａ宛のメールを入力する新規キュー１２を作成する。
【００２５】
ステップＳ５では、メール詰め替え部１５は、再送失敗時にドメイン名Ａ宛のメール４０を、新規キュー１２に詰め替える。具体的には、メール詰め替え部１５は、再送に失敗したメール４０の中から、ドメイン名Ａ宛のメール４０を抽出し、ドメイン名Ａ宛のメール４０を新規キュー１２に詰め替え、ドメイン名Ａ宛以外のメール４０を再送キューに戻す。この詰め替えの際に、メール詰め替え部１５は、新規キュー１２のキュー長を超える場合には、新規キュー１２に詰め替えようとしていたドメイン名Ａ宛のメール４０について、再送失敗のメッセージを端末３０に送信し、当該メールを削除する。
【００２６】
ステップＳ６では、メール振分部１３は、新規に受信したドメイン名Ａ宛のメールを新規キュー１２に入力する。ただし、メール振分部１３は、新規キュー１２が輻輳状態になったとき、当該新規キュー１２へメール４０を入力することを制限する。なお、制限することには、完全に止めることを含むものとする。
【００２７】
ステップＳ７では、メールゲートウェイ１０は、新規キュー１２に保持されるメール４０の集計数が下限閾値を下回った場合、新規キュー１２を削除する削除モードに移行する。具体的には、メールゲートウェイ１０は、新規に受信したドメイン名Ａ宛のメール４０を通常キュー１１に入力するようにして、新規キュー１２へのメール４０の入力を止め、新規キュー１２に保持されているメール４０が空になったときに、新規キュー１２を削除する。
【００２８】
以上、メールゲートウェイ１０は、前記したような構成を備えているため、通常キュー１１が特定の情報（例えば、ドメイン名Ａ宛のメール）を含むメール４０によって輻輳状態が引き起こされそうな場合に、当該特定の情報を含むメール４０の送出を実行する新規キュー１２を作成することによって、通常キュー１１が輻輳状態になることを防止することができる。また、メールゲートウェイ１０は、特定の情報を含むメール４０の送出を実行する新規キュー１２において輻輳状態が引き起こされる場合には、当該新規キュー１２へメール４０を入力することを制限するため、その輻輳状態の影響を新規キュー１２だけに限定することができる。
【００２９】
（メールシステム）
次に、本実施形態におけるメールシステムの構成について、図２を用いて説明する（適宜、図１参照）。なお、図２は、携帯通信キャリアで用いられるメールシステムの構成を表している。
図２に示すように、メールシステム１は、メールゲートウェイ１０、外部記憶装置１７、メール転送サーバ２０、端末３０および運用監視サーバ５０を備えている。なお、端末３０とメール転送サーバ２０との間は、無線網６０、キャリア設備網６１、インターネット６２を介して接続され、メールゲートウェイ１０および運用監視サーバ５０は、キャリア設備網６１に接続している。
【００３０】
端末３０は、携帯電話端末やパソコン等のデータ通信可能な端末装置である。無線網６０は、携帯通信キャリアが管理する無線ネットワークである。キャリア設備網６１は、無線網６０からの通信をインターネット６２やメールゲートウェイ１０へ中継するネットワークおよびネットワーク設備である。無線網６０とキャリア設備網６１は、メールゲートウェイ１０を管理する携帯通信キャリアによって管理される。
【００３１】
メール転送サーバ２０は、インターネット６２を経由してメールゲートウェイ１０とメール４０の送受信を行う機能を有する。具体的には、メール転送サーバ２０は、メール転送サーバ２０を管理する他の携帯通信キャリアや他のプロバイダ内のメール４０をメールゲートウェイ１０へ転送する処理と、メールゲートウェイ１０から受信したメール４０を他の携帯通信キャリアや他のプロバイダ内へ中継する処理とを行う。
【００３２】
メールゲートウェイ１０は、キャリア設備網６１に設置され、端末３０がキャリア設備網６１へ送信したメール４０を受信し、メール４０の宛先がキャリア設備網６１外（すなわち、他の携帯通信キャリアや他のプロバイダ内）であればメール転送サーバ２０へメール４０を中継する。また、本実施形態では、メールゲートウェイ１０は複数台で負荷分散されていても構わない。
【００３３】
外部記憶装置１７は、半導体記憶装置またはハードディスク等で構成され、メールゲートウェイ１０に記憶される情報のバップアップする機能を備えている。
【００３４】
本実施形態では、メールゲートウェイ１０と端末３０との間の通信プロトコルはＳＭＴＰ（Simple Mail Transfer Protocol）またはＥＳＭＴＰ(Extended SMTP)を想定しているが、それ以外にも、ＨＴＴＰ(Hypertext Transfer Protocol)、ＩＭＡＰ（Internet Message Access Protocol）、ＰＯＰ（Post Office Protocol）、ＭＭＳ（Multimedia Messaging Service）等のプロトコルが適用可能である。
【００３５】
運用監視サーバ５０は、メールゲートウェイ１０から輻輳状態時のアラートや新規キュー１２の作成時のアラートを受信する機能や集計情報を表示する機能を有し、メールゲートウェイ１０を監視する。
【００３６】
（メールゲートウェイの構成）
図３は、メールゲートウェイ１０を実現する情報処理装置（例えば、コンピュータ）のハードウェア構成を示している。
情報処理装置は、処理部（プロセッサ）１０１と、キャリア設備網６１との間で情報を送受信するための入出力インタフェース部１０２と、記憶部１０３と、これらを接続するバス等の内部通信線を備える。
【００３７】
記憶部１０３は、処理部１０１で実行されるメールゲートウェイプログラムを格納しているメールゲートウェイプログラム領域１０４と、メールゲートウェイプログラム領域１０４以外でメールゲートウェイプログラムによって入出力されるデータを記憶している揮発性記憶領域１０５および不揮発性記憶領域１０６を備える。
また、処理部（プロセッサ）１０１は、記憶部１０３に記憶されているプログラムを動作させる機能を有する。
【００３８】
図４は、メールゲートウェイプログラム領域１０４に格納されている、メールゲートウェイ１０で実行されるプロセスを実現するプログラムの構成を表している（適宜、図１参照）。
図４に示すように、メールゲートウェイ１０を具現化するプログラム領域は、メール中継プロセス１１１を実現するプログラムと、コマンドＩ／Ｆ（Interface）プロセス１１２を実現するプログラムと、キュー管理プロセス１１３を実現するプログラムと、共有データ１１４と、を含んで構成される。
【００３９】
メール中継プロセス１１１は、図１に示した通常キュー１１、新規キュー１２、メール振分部１３、集計部１４、メール詰め替え部１５および新規キュー作成部１６を具現化させている。
コマンドＩ／Ｆプロセス１１２は、ＧＵＩ（Graphical User Interface）等によって実現され、携帯通信キャリアのオペレータが、メールゲートウェイ１０の動作を設定するために、共有データ１１４に予め所定値を設定する場合に用いられる。
キュー管理プロセス１１３は、共有データ１１４に記憶しているキュー情報１１５の読み書きを実行する機能を有する。
共有データ１１４は、通常キュー１１、新規キュー１２のキュー情報１１５、キュー作成除外リスト１１６を記憶している。
【００４０】
次に、キュー情報１１５の詳細について、図５を用いて説明する。
キュー情報１１５は、キュー管理情報１２１を階層のトップとして、その配下に種々の情報を記憶している。なお、キュー情報１１５は、外部記憶装置１７（図１参照）にそのバックアップが記憶される。
【００４１】
キュー管理情報１２１は、通常キュー１１および新規キュー１２の状態に関する情報を管理している。具体的には、キュー管理情報１２１は、送信キュー１１ａ，１２ａに関する送信キュー情報１２２と、再送キュー１１ｂ，１２ｂに関する再送キュー情報１２３とを記憶している。そして、送信キュー情報１２２および再送キュー情報１２３は、それぞれメール管理情報１２４を記憶している。メール管理情報１２４には、キューに保持されているメール４０に関する情報が記憶されている。通常キュー１１の場合、キュー管理情報１２１は、新規キュー１２を作成するときの判定に用いる情報である収集グループ情報１２５を保持する。新規キュー１２の場合、キュー管理情報１２１は収集グループ情報１２５を保持しない。
【００４２】
収集グループ情報１２５は、集計部１４がメール４０の統計情報を集計するために利用される。ここで、グループとは、メール４０に含まれる情報を大分類によって分けられた情報を意味している。例えば、キュー長、タイムアウト回数、特定のメール転送サーバ２０に送信されるメールのヘッダに含まれる共通の情報等である。なお、収集グループ情報１２５の数は、予め所定の数以下となるように決められる。
【００４３】
収集グループ情報１２５は、集計部１４がメール４０の統計情報を集計する時点で更新される。具体的には、メール４０の中継（送信）に失敗したときであり、メール４０が送信キュー１１ａから取り出された後、または、メール４０が再送キュー１１ｂから取り出された後である。再送キュー１１ｂに保持されているメール４０は定期的に再送処理されるため、その周期に対応して、出現頻度の少ない（集計数の小さい）情報は、出現頻度の多い（集計数の大きい）情報と取り替えられる。
【００４４】
収集グループ情報１２５は、さらに収集エントリ情報１２６を格納している。収集エントリ情報１２６は、収集グループ情報１２５をさらに小分類して、キー情報ごとに収集された情報である。
【００４５】
図６は、キュー管理情報１２１の一例を示している。キュー管理情報１２１は、キューＩＤ６０１、キュー名６０２、キューサイズ６０３、有効期限６０４、再送時間６０５、再送回数６０６、送信レート６０７、接続上限値６０８、規制フラグ６０９を有している。
【００４６】
キューＩＤ６０１は、作成したキューを識別する識別情報である。
キュー名６０２は、作成したキューに付す名称である。
キューサイズ６０３は、キューに格納できるメッセージの上限数を表す。また、キューに格納できるメッセージの合計サイズを指定することも可能である。
有効期限６０４は、キューに滞在できる時間を表す。
再送時間６０５は、保持してから再送するまでの時間を表す。
【００４７】
再送回数６０６は、このキューに格納されたメール４０が再送できる上限回数を表す。
送信レート６０７は、１秒間当たりに送信できるメッセージ数の上限を表す。
接続上限値６０８は、同時に接続するコネクション数（セッション数）の上限値を表す
規制フラグ６０９は、送信および／または受信を止めるためのフラグを表し、オペレータによって設定される。
【００４８】
図７は、収集グループ情報１２５の一例を示している。収集グループ情報１２５は、グループＩＤ７０１、集計対象７０２、新規キュー作成情報７０３、上限閾値７０４、下限閾値７０５、作成上限数７０６、作成済数７０７、制御フラグ７０８、収集対象フラグ７０９、オプション７１０を有している。
【００４９】
グループＩＤ７０１は、グループを識別するための識別情報である。
集計対象７０２は、グループに属するメール４０に共通の情報を表す。例えば、キュー長やタイムアウト回数、特定のメール転送サーバ２０に送信されるメールのヘッダに含まれる共通の情報等である。
新規キュー作成情報７０３は、新規キューを作成するときの情報である。
【００５０】
上限閾値７０４は、新規キューを作成するか否かを判定する際に用いられる。新規キューに詰め替えるメール４０の集計数がこの上限閾値７０４を超える場合は、新規キューを作成すると判定される。
下限閾値７０５は、新規キューを削除するか否かを判定する際に用いられる。新規キューに入力されるメール４０の集計数がこの下限閾値７０５を下回る場合は、新規キューを削除する削除モードへ移行すると判定される。
【００５１】
作成上限数７０６は、新規キューを作成する際の上限数を表す。
作成済数７０７は、既に作成済の新規キューの数を表す。
制御フラグ７０８は、オペレータによって設定され、新規キューを作成しない指示または削除しない指示をフラグで表す。
収集対象フラグ７０９は、オペレータによって設定され、収集グループ情報１２５が収集対象となっているか否かをフラグで表す。
オプション７１０は、オペレータによって適宜設定される。
【００５２】
図８は、収集エントリ情報１２６の一例を示している。収集エントリ情報１２６は、キー情報ＩＤ８０１、キー情報８０２、集計数８０３、上限閾値８０４、下限閾値８０５、状態フラブ８０６、更新日時８０７、オプション８０８を有している。
【００５３】
キー情報ＩＤ８０１は、メール４０の統計情報を集計する際に用いるキー情報を識別する識別情報である。
キー情報８０２は、メール４０の統計情報を集計する際に用いるキー情報を表す。例えば、キー情報８０２は、メール４０のヘッダに格納されている情報の中から抽出される。
集計数８０３は、キー情報を含むメール４０の統計情報を集計した結果である集計数を表す。
【００５４】
上限閾値８０４は、キー情報ごとの集計数に対して設定する上限の閾値を表す。例えば、上限閾値８０４は、グループ内で上限閾値７０４を、キー情報ごとに配分するようにして設定される。つまり、収集グループ情報１２５の上限閾値７０４は、収集エントリ情報１２６の上限閾値８０４を加算した合計値となる。
下限閾値８０５は、キー情報ごとの集計数に対して設定する下限の閾値を表す。例えば、下限閾値８０５は、グループ内で下限閾値７０５を、キー情報ごとに配分するようにして設定される。つまり、収集グループ情報１２５の下限閾値７０５は、収集エントリ情報１２６の下限閾値８０５を加算した合計値となる。
状態フラブ８０６は、オペレータによって設定されるフラグであり、新規キューが作成済または未作成の状態を表す。
更新日時８０７は、収集エントリ情報１２６が更新されたときの日時を表す。
オプション８０８は、オペレータによって設定される。
【００５５】
図９は、キュー作成除外リスト１１６の一例を示している。キュー作成除外リスト１１６は、複数のキー情報８１０を有している。キー情報８１０は、オペレータ等により設定される。たとえば、キー情報８１０として、ドメイン名、サブドメイン名、ドメイン名の一部だけを設定することが可能である。集計部１４は、集計数が上限閾値７０４を超えても、キュー作成除外リスト１１６のキー情報８１０に一致した場合は、新規キュー１２を作成しない。
【００５６】
図１０は、収集エントリ情報１２６の具体例を示している。
図１０（ａ）は集計する情報がキュー長の場合を表している。ここで、キュー長とは、キューに格納しているメッセージの数である。例えば、１行目は、キー情報ＩＤ９０１＝「０００１」、キー情報９０２＝「ＡＡＡ」、集計数（キュー長）９０３＝「１０１０」、上限閾値（キュー長）９０４＝「１０００」、下限閾値（キュー長）９０５＝「２００」、状態フラグ９０６＝「キュー作成済」、更新日時９０７＝「2011/09/20 hh:mm:ss」、オプション（メッセージ／秒、最大値）９０８＝「20、1000」となっている。この１行目において、集計数９０３の値が上限閾値９０４の値を超えたため、新規キューが作成され、状態フラグ９０６が「キュー作成済」となっている。
また、キュー長として、メッセージの合計サイズを指定することも可能である。
【００５７】
また、図１０（ｂ）は集計する情報がタイムアウト回数の場合を表している。タイムアウト回数は、ネットワーク側の原因について考慮したものである。例えば、１行目は、キー情報ＩＤ９１１＝「０００１」、キー情報９１２＝「ＡＡＡ」、集計数（タイムアウト回数）９１３＝「１０３」、上限閾値（タイムアウト回数）９１４＝「１００」、下限閾値（タイムアウト回数）９１５＝「２０」、状態フラグ９１６＝「キュー作成済」、更新日時９１７＝「2011/09/20 hh:mm:ss」、オプション（タイムアウトの検出開始時刻）９１８＝「2011/09/20 hh:mm:ss」となっている。この１行目において、集計数９１３の値が上限閾値９１４の値を超えたため、新規キューが作成され、状態フラグ９１６が「キュー作成済」となっている。
【００５８】
（処理フロー）
次に、メールゲートウェイ１０の処理フロー例について、図１１を用いて説明する（適宜、図１参照）。ただし、図１１は、メール４０が特定のキー情報を含むものだけに限られているものとして表されている。
【００５９】
ステップＳ１００１では、メールゲートウェイ１０は、端末３０からのメール送信を受け付ける。
ステップＳ１００２では、メールゲートウェイ１０は、外部記憶装置１７に受け付けたメール４０を記憶する。
ステップＳ１００３では、メールゲートウェイ１０は、外部記憶装置１７から、記憶終了を示す応答情報を受信する。
【００６０】
ステップＳ１００４では、メールゲートウェイ１０は、端末３０に、正常に受信したことを示す正常応答情報を送信する。
ステップＳ１００５では、メールゲートウェイ１０は、メール転送サーバ２０にメールを送信（中継）する。しかし、メール転送サーバ２０が輻輳状態となっているため、送信したメールは中継失敗の状態となる。
【００６１】
ステップＳ１００６では、メールゲートウェイ１０は、中継に失敗したメールを再送キュー１１ｂに格納する。
ステップＳ１００７では、メールゲートウェイ１０は、収集エントリ情報１２６（図８参照）の集計数８０３を増加する。
【００６２】
ステップＳ１００８では、メールゲートウェイ１０は、集計数８０３が上限閾値８０４を超えたか否かを判定する。集計数８０３が上限閾値８０４を超えていないと判定した場合（ステップＳ１００８でＮｏ）、処理はステップＳ１００１へ戻り、ステップＳ１００１〜Ｓ１００８と同様の処理が実行される。そして、集計数８０３が上限閾値８０４を超えたと判定した場合（ステップＳ１００８でＹｅｓ）、処理はステップＳ１００９へ進む。
ステップＳ１００９では、メールゲートウェイ１０は、新規キュー１２を作成する。
【００６３】
ステップＳ１０１０では、メールゲートウェイ１０は、端末３０からのメール送信を受け付ける。
ステップＳ１０１１では、メールゲートウェイ１０は、受け付けたメール４０のキー情報８０２に基づいて、新規キュー１２を選択する。そして、メールゲートウェイ１０は、当該新規キュー１２に受け付けたメール４０を格納する。
【００６４】
ステップＳ１０２１では、メールゲートウェイ１０は、メール転送サーバ２０にメール４０を送信（中継）する。そして、メール転送サーバ２０の輻輳状態が解消されているため、中継成功の状態となる。
【００６５】
ステップＳ１０２２では、メールゲートウェイ１０は、収集エントリ情報１２６（図８参照）の集計数８０３を減算する。なお、集計数８０３を減算する処理は、ステップＳ１０２２に限らず、ステップＳ１００６で再送キュー１１ｂに格納したメール４０が再送されて送信成功した場合、または再送キュー１１ｂに格納したメール４０が新規キュー１２に移動した場合に行われる。また、メールゲートウェイ１０は、新規キュー１２と収集エントリ情報１２６とを関連して集計しない、すなわち、ステップＳ１０２２がなくても本発明は実施可能である。その場合でも、ステップＳ１００６で再送キュー１１ｂに格納したメール４０が再送されて送信成功した場合と再送キュー１１ｂに格納したメール４０が新規キュー１２に移動した場合に減算処理が行われる。
【００６６】
ステップＳ１０２３では、メールゲートウェイ１０は、送信したメール４０の記憶情報を削除する。具体的には、メールゲートウェイ１０は、送信したメール４０に関して、キュー情報１１５（図５参照）に記憶してある記憶情報や、外部記憶装置１７に記憶してあるバックアップ情報を削除する。
【００６７】
ステップＳ１０２４では、メールゲートウェイ１０は、集計数８０３が下限閾値８０５未満となったか否かを判定する。集計数８０３が下限閾値８０５未満でないと判定した場合（ステップＳ１０２４でＮｏ）、処理はステップＳ１０１０へ進み、ステップＳ１０１０，Ｓ１０１１，Ｓ１０２１〜Ｓ１０２４と同様の処理が実行される。そして、集計数８０３が下限閾値８０５未満と判定した場合（ステップＳ１０２４でＹｅｓ）、処理はステップＳ１０２５へ進む。
【００６８】
ステップＳ１０２５では、メールゲートウェイ１０は、新規キュー１２を削除する削除モードに移行する。
ステップＳ１０２６では、メールゲートウェイ１０は、新規キュー１２が空になったら削除する。
【００６９】
図１２に示すフローチャートは、図１１のステップＳ１００７〜Ｓ１００９に示す新規キュー作成処理の詳細を示したものである（適宜、図７，８参照）。
【００７０】
ステップＳ１１０１では、メールゲートウェイ１０は、収集グループ情報１２５が収集対象の収集グループとなっているか否かを判定する。具体的には、メールゲートウェイ１０は、収集グループ情報１２５（図７参照）の収集対象フラグ７０９（図７参照）が収集対象とするように設定されている場合に、メール４０に対して統計情報の集計を実行することになる。
収集対象の収集グループでないと判定した場合（ステップＳ１１０１でＮｏ）、処理はステップＳ１１０１へ戻り次の収集グループに対して判定を実行し、収集対象の収集グループであると判定した場合（ステップＳ１１０１でＹｅｓ）、処理はステップＳ１１０２へ進む。
【００７１】
ステップＳ１１０２では、メールゲートウェイ１０は、メール４０に含まれる情報の中でキー情報８０２に一致する収集エントリ情報１２６があるか否かを判定する。具体的には、メールゲートウェイ１０は、収集エントリ情報１２６のキー情報８０２を参照して、一致するキー情報８０２に関する収集エントリ情報１２６を検索する。
キー情報８０２に一致する収集エントリ情報１２６がないと判定した場合（ステップＳ１１０２でＮｏ）、処理はステップＳ１１０３へ進み、キー情報８０２に一致する収集エントリ情報１２６があると判定した場合（ステップＳ１１０２でＹｅｓ）、処理はステップＳ１１０３をスキップしてステップＳ１１０４へ進む。
【００７２】
ステップＳ１１０３では、メールゲートウェイ１０は、新たに、キー情報８０２に一致する収集エントリ情報１２６を作成する。
ステップＳ１１０４では、メールゲートウェイ１０は、収集エントリ情報１２６の集計数８０３を増加する。
【００７３】
ステップＳ１１０５では、メールゲートウェイ１０は、メール４０に含まれるキー情報が、キュー作成除外リスト１１６のキー情報８１０に一致するか否かを判定する。一致しなかったと判定した場合（ステップＳ１１０５でＮｏ）、処理はステップＳ１１０６へ進み、一致したと判定した場合（ステップＳ１１０５でＹｅｓ）、処理はステップＳ１１１０へ進む。
【００７４】
ステップＳ１１０６では、メールゲートウェイ１０は、収集エントリ情報１２６の状態フラグ８０６が未作成を示すか否かを判定する。具体的には、メールゲートウェイ１０は、図１０に示すような収集エントリ情報１２６を参照して、その状態フラグ９０５が「未作成」、「キュー作成済」のいずれかを判定する。
未作成を示すと判定した場合（ステップＳ１１０６でＹｅｓ）、処理はステップＳ１１０７へ進み、未作成を示さないと判定した場合（ステップＳ１１０６でＮｏ）、処理はステップＳ１１１０へ進む。
【００７５】
ステップＳ１１０７では、メールゲートウェイ１０は、集計数８０３が上限閾値８０４を超えているか否かを判定する。
上限閾値８０４を超えていると判定した場合（ステップＳ１１０７でＹｅｓ）、処理はステップＳ１１０８へ進み、上限閾値８０４以下と判定した場合（ステップＳ１１０７でＮｏ）、処理はステップＳ１１１０へ進む。
【００７６】
ステップＳ１１０８では、メールゲートウェイ１０は、新規キュー１２の作成済数７０７が作成上限数７０６未満か否かを判定する。具体的には、メールゲートウェイ１０は、図７の作成済数７０７および作成上限数７０６を参照して、判定する。
作成上限数７０６未満であると判定した場合（ステップＳ１１０８でＹｅｓ）、処理はステップＳ１１０９へ進み、作成上限数７０６以上であると判定した場合（ステップＳ１１０８でＮｏ）、処理はステップＳ１１１０へ進む。
【００７７】
ステップＳ１１０９では、メールゲートウェイ１０は、新規キュー１２を作成する。
ステップＳ１１１０では、メールゲートウェイ１０は、未処理の収集グループがあるか否かを判定する。未処理の収集グループがある場合（ステップＳ１１１０でＹｅｓ）、処理はステップＳ１１０１へ戻り、未処理の収集グループがない場合（ステップＳ１１１０でＮｏ）、処理は終了し、次に再送キュー１１ｂに入力されるメール４０に対しての処理がステップＳ１１０１から実行される。
【００７８】
以上説明したように、本実施形態におけるメールゲートウェイ１０は、再送キュー１１ｂに入力されるメール４０に含まれる特定の情報ごとに、その特定の情報の統計情報を集計し、その集計数８０３に基づいて、集計数８０３が上限閾値８０４を超えるメール４０の送出を実行する新規キュー１２を作成する。すなわち、集計数８０３が上限閾値８０４を超える場合とは、輻輳状態が引き起こされる可能性がある場合に相当している。そして、輻輳状態が起きた新規キュー１２は、メール４０の入力を制限する。このような構成を備えているため、メールゲートウェイ１０は、特定の情報を含むメール４０によって輻輳状態が引き起こされる場合、その輻輳状態の影響を輻輳状態が起きた新規キュー１２に限定することができる。つまり、メールゲートウェイ１０は、キューの設定されていないメール転送サーバ２０を宛先とするメール４０によって輻輳状態が引き起こされる場合、その輻輳状態の影響を限定することができる。
【００７９】
また、本実施形態では、図１，２に示すメールシステム１は、携帯通信キャリアで用いられる構成で表しているが、メールゲートウェイ１０の処理は、携帯通信キャリア以外の大学や企業のメールシステム等でも同様に適用することができる。そして、携帯通信キャリア以外のメールシステムの場合には、図１，２中のメール転送サーバ２０を、宛先のメールサーバに置き換えればよい。
【００８０】
本実施形態では、集計数として、キュー長およびタイムアウト回数を例示したが、メール４０の個数や統計情報の変化率、宛先のメールサーバの障害やネットワークの障害にともなって応答される情報に含まれる計算可能な数値を用いても構わない。
【符号の説明】
【００８１】
１    メールシステム
１０  メールゲートウェイ
１１  通常キュー（第１のキュー）
１１ａ  送信キュー
１１ｂ  再送キュー
１２  新規キュー（第２のキュー）
１３  メール振分部
１４  集計部
１５  メール詰め替え部
１６  新規キュー作成部
１７  外部記憶装置
２０  メール転送サーバ
３０  端末
４０  メール
１０１  処理部
１０２  入出力インタフェース部
１０３  記憶部
１０４  メールゲートウェイプログラム領域
１１４  共有データ
１１５，１１５ａ，１１５ｂ  キュー情報
１１６  キュー作成除外リスト
１２１  キュー管理情報
１２２  送信キュー情報
１２３  再送キュー情報
１２５，１２５ａ，１２５ｂ  収集グループ情報
１２６，１２６ａ，１２６ｂ  収集エントリ情報
７０６  作成上限数
７０７  作成済数
８０２  キー情報
８０３  集計数
８０４  上限閾値
８０５  下限閾値
８０６  状態フラグ
８１０  キー情報
【図１】
0005722244.tif 000002
【図２】
0005722244.tif 000003
【図３】
0005722244.tif 000004
【図４】
0005722244.tif 000005
【図５】
0005722244.tif 000006
【図６】
0005722244.tif 000007
【図７】
0005722244.tif 000008
【図８】
0005722244.tif 000009
【図９】
0005722244.tif 000010
【図１０】
0005722244.tif 000011
【図１１】
0005722244.tif 000012
【図１２】
0005722244.tif 000013