JP2013157728A - メールゲートウェイ、メール配信方法およびプログラム - Google Patents

メールゲートウェイ、メール配信方法およびプログラム Download PDF

Info

Publication number
JP2013157728A
JP2013157728A JP2012015507A JP2012015507A JP2013157728A JP 2013157728 A JP2013157728 A JP 2013157728A JP 2012015507 A JP2012015507 A JP 2012015507A JP 2012015507 A JP2012015507 A JP 2012015507A JP 2013157728 A JP2013157728 A JP 2013157728A
Authority
JP
Japan
Prior art keywords
mail
queue
information
upper limit
gateway
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2012015507A
Other languages
English (en)
Other versions
JP5722244B2 (ja
JP2013157728A5 (ja
Inventor
Masafumi Kinoshita
雅文 木下
Toshiyuki Kamiya
俊之 神谷
Takafumi Koike
隆文 小池
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2012015507A priority Critical patent/JP5722244B2/ja
Priority to US13/746,009 priority patent/US9252974B2/en
Publication of JP2013157728A publication Critical patent/JP2013157728A/ja
Publication of JP2013157728A5 publication Critical patent/JP2013157728A5/ja
Application granted granted Critical
Publication of JP5722244B2 publication Critical patent/JP5722244B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/21Monitoring or handling of messages
    • H04L51/23Reliability checks, e.g. acknowledgments or fault reporting

Abstract

【課題】キューの設定されていないメールサーバを宛先とするメールによって輻輳状態が引き起こされる場合、その輻輳状態の影響を限定する。
【解決手段】メールゲートウェイ10の集計部14は、再送キュー11bに入力されるメールに含まれる特定の情報ごとに、その特定の情報の統計情報を集計する。そして、新規キュー作成部16は、その集計数に基づいて、輻輳を引き起こす可能性のあるメールを扱う新規キュー12を作成する。したがって、通常キュー11が輻輳状態になることを防止することができる。また、メールゲートウェイ10は、特定の情報を含むメール40の送出を実行する新規キュー12において輻輳状態が引き起こされる場合には、当該新規キュー12へメール40を入力することをメール振分部13によって制限するため、その輻輳状態の影響を新規キュー12だけに限定することができる。
【選択図】図1

Description

本発明は、メールを配信する技術に関する。
近年、メールシステムには、メールを一旦受信して、受信したメールに対して所定の処理を実行した後、そのメールを宛先のメールサーバへ送信(中継)する機能を有するメールゲートウェイが導入されている。なお、本明細書において、メールとは、例えば、電子メール用のプロトコルや、ショートメッセージサービスまたはマルチメディアメッセージングサービスにおけるメール用のプロトコルを用いて、パソコンや携帯電話や携帯情報端末間で送受信される文字、図、画像、音声、動画等のメッセージを含む情報を意味している。
メールゲートウェイは、例えば、携帯電話や携帯情報端末向けのデータ通信サービスを提供する携帯通信キャリアのメールシステムでは、メールに含まれる文字コードや添付されている画像等に変換処理を施し、その処理後のメールを宛先のメールサーバへ向けて送信する。また、メールゲートウェイは、大学や企業のメールシステムでは、メールサーバに対するセキュリティの向上のために、送受信するメールすべてが通過するように配置され、迷惑メールのフィルタリング等の処理を担っている。
ここで、メールゲートウェイの処理の具体例を説明するために、メールを中継する場合について、携帯通信キャリアのメールシステムを一例として説明する。
まず、メールゲートウェイは、送信側携帯電話からメールを受信し、受信したメールの情報をキューに格納し、送信側携帯電話にメールを正常に受信したことを示す正常応答情報を返す。次に、メールゲートウェイは、受信したメールを、宛先のメール転送サーバ(MTA: Message Transfer Agent)に中継する。中継に成功した場合、メールゲートウェイは、キューに格納したメールの情報を削除して終了する。
メールゲートウェイのキューは、受信したメールの情報を一時的に格納するための領域であり、RAM(Random Access Memory)等の揮発性メモリや、磁気ディスクやSSD(Solid State Drive)等の不揮発性メモリにより構成される。そして、メールゲートウェイは、キューを備えることより、送信側携帯電話への即時応答や、メール転送サーバへの中継が成功するまでのメールの保持を可能にしている。
なお、中継に失敗した場合には、メールゲートウェイは、所定の時間が経過した後に再送処理を行う。しかし、宛先のメール転送サーバで障害が発生して輻輳状態となっている場合、または、宛先のメール転送サーバに至る通信路で輻輳が発生している場合には、メールゲートウェイは、再送待ちのメールによってキューが一杯となって、新規のメールを受信できなくなる輻輳状態となる。
この輻輳状態を回避する方法が、特許文献1に開示されている。特許文献1では、メールの宛先となるメールサーバごとにキューを備え、メールサーバごとに輻輳制御を行う。これにより、特定のメールサーバで輻輳が発生した場合、その輻輳したメールサーバにメールを送信するキューがメールの受信を制限することによって、メールゲートウェイ全体としては、その輻輳の影響を輻輳したメールサーバに関わるメールだけに留めることが可能となる。
特開2005−269263号公報(段落0048〜0050参照)
しかしながら、特許文献1に記載の方法では、オペレータがメールの宛先となるメールサーバごとにキューを予め設定しており、日々追加・削除されていくインターネット上のメールサーバに対して、オペレータがキューを設定していくことは不可能といえる。したがって、キューの設定されていないメールサーバを宛先とするメールによって輻輳状態が引き起こされる場合、その輻輳状態の影響を限定するための制御技術については未検討となっている。
そこで、本発明では、キューの設定されていないメールサーバを宛先とするメールによって輻輳状態が引き起こされる場合、その輻輳状態の影響を限定する技術を提供することを課題とする。
前記課題を解決するために、本発明のメールゲートウェイは、再送待ちのメールに含まれる情報に基づいて、その情報ごとに統計情報を集計し、集計数が上限閾値を超えた情報を含むメールを送信する新規キューを作成する。そして、メールゲートウェイは、再送待ちのメールの中で、前記集計数が上限閾値を超えた情報を含むメールを新規キューに詰め替えるとともに、新たに受信したメールの中で、当該情報を含むメールを新規キューに入力する。なお、メールゲートウェイは、その新規キューが輻輳状態となった場合には、新規キューへのメールの入力を制限する。次に、メールゲートウェイは、新規キューに入力されるメールの集計数が下限閾値を下回った場合、メールを新規キューに入力することを止め、新規キューに保持しているメールが空になった後、当該新規キューを削除する。
本発明によれば、キューの設定されていないメールサーバを宛先とするメールによって輻輳状態が引き起こされる場合、その輻輳状態の影響を限定することができる。
本実施形態におけるメールゲートウェイの動作の概要を示す図である。 本実施形態のメールシステムの構成例を示す図である。 メールゲートウェイのハードウェア構成例を示す図である。 メールゲートウェイプログラム領域のプロセス構成を示す図である。 キュー情報の一例を示す図である。 キュー管理情報の一例を示す図である。 収集グループ情報の一例を示す図である。 収集エントリ情報の一例を示す図である。 キュー作成除外リストの一例を示す図である。 収集エントリ情報の具体例を示す図であり、(a)は集計する情報がキュー長の場合を表し、(b)は集計する情報がタイムアウト回数の場合を表す。 メールゲートウェイの処理フロー例を示す図である。 新規キュー作成処理のフロー例を示す図である。
次に、本発明を実施するための形態(以降、「本実施形態」と称す。)について、適宜図面を参照しながら詳細に説明する。
(概要)
はじめに、本実施形態のメールゲートウェイの動作の概要について、図1を用いて説明する。
図1は、メールゲートウェイ10が、端末30から送信されたメール40を受信して、メール振分部13においてメールをキューに振り分けて、メール転送サーバ20に中継する状態を表したものである。
図1に示すように、メールゲートウェイ10は、機能として、通常キュー(第1のキュー)11、新規キュー(第2のキュー)12、メール振分部13、集計部14、メール詰め替え部15および新規キュー作成部16を備える。なお、通常キュー11は常時存在するが、新規キュー12は、作成されたり削除されたりする。
通常キュー11は、送信キュー11aと再送キュー11bとを有しており、送信キュー11aには端末30から受信したメール40が入力され、メール40を宛先となるメール転送サーバ20に向けて送出(中継)する機能を有する。再送キュー11bは、中継に失敗したメール40を再送待ちとして保持する機能を有する。通常キュー11には、複数のメール転送サーバ20に送出するメールが入力される。
新規キュー12は、送信キュー12aと再送キュー12bとを有しており、予めオペレータ等によって決められた特定の情報を含むメール40を送出する機能を有し、通常キュー11とは別に作成される。なお、送信キュー12aおよび再送キュー12bは、それぞれ送信キュー11aおよび再送キュー11bと同様の機能を有する。また、通常キュー11は、予めオペレータ等によって作成され、新規キュー12は新規キュー作成部16により作成される。
メール振分部13は、端末30から受信したメール40のうち、前記した特定の情報を含むメール40を新規キュー12に入力し、特定の情報を含まないメール40を通常キュー11に入力するように振り分ける機能を有する。また、メール振分部13は、新規キュー12が輻輳状態になったとき、当該新規キュー12へメール40を入力することを制限する機能を有する。なお、輻輳状態とは、キューが一杯になって新たに入力するメール40を保持できなくなった(受け付けられなくなった)状態のことである。
集計部14は、特定の情報について統計情報を集計し、集計数を算出する機能を有する。
メール詰め替え部15は、再送キュー11bに保持されている、特定の情報を含むメール40を、新規キュー12に詰め替える機能を有する。
新規キュー作成部16は、集計部14によって集計された集計数を監視し、集計数が上限閾値を超える場合、新規キュー12を作成する機能を有する。
なお、通常キュー11、新規キュー12、メール振分部13、集計部14、メール詰め替え部15および新規キュー作成部16の詳細な動作については、以降に説明する。また、図1に示す破線矢印は、メールの中継に失敗した後のメールに対する処理の流れを表している。また、図1は、前記した統計情報を集計する情報として、宛先のドメイン名を用いた場合で表している。
ステップS1では、メールゲートウェイ10のメール振分部13は、新規に受信したメール40を、通常キュー11に入れる。通常キュー11は、送信キュー11aと再送キュー11bとを備えており、送信キュー11aが新規に受信したメール40をネットワークを介して宛先となるメール転送サーバ20に送信する。なお、図1では、例えば、丸印にB3と記している場合は、ドメイン名B宛の3番目に受信したメール40を表している。また、メール転送サーバ20a(20)は、ドメイン名A宛のメール40を転送するサーバを表しているものとする。
ステップS2では、メールゲートウェイ10は、メール転送サーバ20aが輻輳状態となったため、ドメイン名A宛のA2,A3,A4のメール40を中継することに失敗したため、中継に失敗したメール40を再送キュー11bに入力する。
ステップS3では、集計部14は、中継に失敗したメールを再送キュー11bに入力する際、再送キュー11bに入力されるメールに含まれる特定の情報(ドメイン名)に基づいて、その特定の情報ごとに統計情報を集計し、集計数を算出する。統計情報は、例えば、キュー長やタイムアウト回数等である。なお、集計数の集計処理の詳細については、後記する。
ステップS4では、新規キュー作成部16は、集計数を監視し、集計数が上限閾値を超える場合、新規キュー12を作成する。ただし、新規キュー12を作成すると、メモリの一部を占有することになるため、新規キュー12の作成数には、制限が設けられる。また、特定の情報が、予めオペレータ等が設定した新規キュー12を作成しない設定に一致した場合、新規キュー12は作成されない。なお、新規キュー12を作成しない設定情報(図9に示すキー情報810)は、図4に示すキュー作成除外リスト116に記載しておく。ただし、図1のケースでは、新規キュー作成部16は、ドメイン名A宛のメールを入力する新規キュー12を作成する。
ステップS5では、メール詰め替え部15は、再送失敗時にドメイン名A宛のメール40を、新規キュー12に詰め替える。具体的には、メール詰め替え部15は、再送に失敗したメール40の中から、ドメイン名A宛のメール40を抽出し、ドメイン名A宛のメール40を新規キュー12に詰め替え、ドメイン名A宛以外のメール40を再送キューに戻す。この詰め替えの際に、メール詰め替え部15は、新規キュー12のキュー長を超える場合には、新規キュー12に詰め替えようとしていたドメイン名A宛のメール40について、再送失敗のメッセージを端末30に送信し、当該メールを削除する。
ステップS6では、メール振分部13は、新規に受信したドメイン名A宛のメールを新規キュー12に入力する。ただし、メール振分部13は、新規キュー12が輻輳状態になったとき、当該新規キュー12へメール40を入力することを制限する。なお、制限することには、完全に止めることを含むものとする。
ステップS7では、メールゲートウェイ10は、新規キュー12に保持されるメール40の集計数が下限閾値を下回った場合、新規キュー12を削除する削除モードに移行する。具体的には、メールゲートウェイ10は、新規に受信したドメイン名A宛のメール40を通常キュー11に入力するようにして、新規キュー12へのメール40の入力を止め、新規キュー12に保持されているメール40が空になったときに、新規キュー12を削除する。
以上、メールゲートウェイ10は、前記したような構成を備えているため、通常キュー11が特定の情報(例えば、ドメイン名A宛のメール)を含むメール40によって輻輳状態が引き起こされそうな場合に、当該特定の情報を含むメール40の送出を実行する新規キュー12を作成することによって、通常キュー11が輻輳状態になることを防止することができる。また、メールゲートウェイ10は、特定の情報を含むメール40の送出を実行する新規キュー12において輻輳状態が引き起こされる場合には、当該新規キュー12へメール40を入力することを制限するため、その輻輳状態の影響を新規キュー12だけに限定することができる。
(メールシステム)
次に、本実施形態におけるメールシステムの構成について、図2を用いて説明する(適宜、図1参照)。なお、図2は、携帯通信キャリアで用いられるメールシステムの構成を表している。
図2に示すように、メールシステム1は、メールゲートウェイ10、外部記憶装置17、メール転送サーバ20、端末30および運用監視サーバ50を備えている。なお、端末30とメール転送サーバ20との間は、無線網60、キャリア設備網61、インターネット62を介して接続され、メールゲートウェイ10および運用監視サーバ50は、キャリア設備網61に接続している。
端末30は、携帯電話端末やパソコン等のデータ通信可能な端末装置である。無線網60は、携帯通信キャリアが管理する無線ネットワークである。キャリア設備網61は、無線網60からの通信をインターネット62やメールゲートウェイ10へ中継するネットワークおよびネットワーク設備である。無線網60とキャリア設備網61は、メールゲートウェイ10を管理する携帯通信キャリアによって管理される。
メール転送サーバ20は、インターネット62を経由してメールゲートウェイ10とメール40の送受信を行う機能を有する。具体的には、メール転送サーバ20は、メール転送サーバ20を管理する他の携帯通信キャリアや他のプロバイダ内のメール40をメールゲートウェイ10へ転送する処理と、メールゲートウェイ10から受信したメール40を他の携帯通信キャリアや他のプロバイダ内へ中継する処理とを行う。
メールゲートウェイ10は、キャリア設備網61に設置され、端末30がキャリア設備網61へ送信したメール40を受信し、メール40の宛先がキャリア設備網61外(すなわち、他の携帯通信キャリアや他のプロバイダ内)であればメール転送サーバ20へメール40を中継する。また、本実施形態では、メールゲートウェイ10は複数台で負荷分散されていても構わない。
外部記憶装置17は、半導体記憶装置またはハードディスク等で構成され、メールゲートウェイ10に記憶される情報のバップアップする機能を備えている。
本実施形態では、メールゲートウェイ10と端末30との間の通信プロトコルはSMTP(Simple Mail Transfer Protocol)またはESMTP(Extended SMTP)を想定しているが、それ以外にも、HTTP(Hypertext Transfer Protocol)、IMAP(Internet Message Access Protocol)、POP(Post Office Protocol)、MMS(Multimedia Messaging Service)等のプロトコルが適用可能である。
運用監視サーバ50は、メールゲートウェイ10から輻輳状態時のアラートや新規キュー12の作成時のアラートを受信する機能や集計情報を表示する機能を有し、メールゲートウェイ10を監視する。
(メールゲートウェイの構成)
図3は、メールゲートウェイ10を実現する情報処理装置(例えば、コンピュータ)のハードウェア構成を示している。
情報処理装置は、処理部(プロセッサ)101と、キャリア設備網61との間で情報を送受信するための入出力インタフェース部102と、記憶部103と、これらを接続するバス等の内部通信線を備える。
記憶部103は、処理部101で実行されるメールゲートウェイプログラムを格納しているメールゲートウェイプログラム領域104と、メールゲートウェイプログラム領域104以外でメールゲートウェイプログラムによって入出力されるデータを記憶している揮発性記憶領域105および不揮発性記憶領域106を備える。
また、処理部(プロセッサ)101は、記憶部103に記憶されているプログラムを動作させる機能を有する。
図4は、メールゲートウェイプログラム領域104に格納されている、メールゲートウェイ10で実行されるプロセスを実現するプログラムの構成を表している(適宜、図1参照)。
図4に示すように、メールゲートウェイ10を具現化するプログラム領域は、メール中継プロセス111を実現するプログラムと、コマンドI/F(Interface)プロセス112を実現するプログラムと、キュー管理プロセス113を実現するプログラムと、共有データ114と、を含んで構成される。
メール中継プロセス111は、図1に示した通常キュー11、新規キュー12、メール振分部13、集計部14、メール詰め替え部15および新規キュー作成部16を具現化させている。
コマンドI/Fプロセス112は、GUI(Graphical User Interface)等によって実現され、携帯通信キャリアのオペレータが、メールゲートウェイ10の動作を設定するために、共有データ114に予め所定値を設定する場合に用いられる。
キュー管理プロセス113は、共有データ114に記憶しているキュー情報115の読み書きを実行する機能を有する。
共有データ114は、通常キュー11、新規キュー12のキュー情報115、キュー作成除外リスト116を記憶している。
次に、キュー情報115の詳細について、図5を用いて説明する。
キュー情報115は、キュー管理情報121を階層のトップとして、その配下に種々の情報を記憶している。なお、キュー情報115は、外部記憶装置17(図1参照)にそのバックアップが記憶される。
キュー管理情報121は、通常キュー11および新規キュー12の状態に関する情報を管理している。具体的には、キュー管理情報121は、送信キュー11a,12aに関する送信キュー情報122と、再送キュー11b,12bに関する再送キュー情報123とを記憶している。そして、送信キュー情報122および再送キュー情報123は、それぞれメール管理情報124を記憶している。メール管理情報124には、キューに保持されているメール40に関する情報が記憶されている。通常キュー11の場合、キュー管理情報121は、新規キュー12を作成するときの判定に用いる情報である収集グループ情報125を保持する。新規キュー12の場合、キュー管理情報121は収集グループ情報125を保持しない。
収集グループ情報125は、集計部14がメール40の統計情報を集計するために利用される。ここで、グループとは、メール40に含まれる情報を大分類によって分けられた情報を意味している。例えば、キュー長、タイムアウト回数、特定のメール転送サーバ20に送信されるメールのヘッダに含まれる共通の情報等である。なお、収集グループ情報125の数は、予め所定の数以下となるように決められる。
収集グループ情報125は、集計部14がメール40の統計情報を集計する時点で更新される。具体的には、メール40の中継(送信)に失敗したときであり、メール40が送信キュー11aから取り出された後、または、メール40が再送キュー11bから取り出された後である。再送キュー11bに保持されているメール40は定期的に再送処理されるため、その周期に対応して、出現頻度の少ない(集計数の小さい)情報は、出現頻度の多い(集計数の大きい)情報と取り替えられる。
収集グループ情報125は、さらに収集エントリ情報126を格納している。収集エントリ情報126は、収集グループ情報125をさらに小分類して、キー情報ごとに収集された情報である。
図6は、キュー管理情報121の一例を示している。キュー管理情報121は、キューID601、キュー名602、キューサイズ603、有効期限604、再送時間605、再送回数606、送信レート607、接続上限値608、規制フラグ609を有している。
キューID601は、作成したキューを識別する識別情報である。
キュー名602は、作成したキューに付す名称である。
キューサイズ603は、キューに格納できるメッセージの上限数を表す。また、キューに格納できるメッセージの合計サイズを指定することも可能である。
有効期限604は、キューに滞在できる時間を表す。
再送時間605は、保持してから再送するまでの時間を表す。
再送回数606は、このキューに格納されたメール40が再送できる上限回数を表す。
送信レート607は、1秒間当たりに送信できるメッセージ数の上限を表す。
接続上限値608は、同時に接続するコネクション数(セッション数)の上限値を表す
規制フラグ609は、送信および/または受信を止めるためのフラグを表し、オペレータによって設定される。
図7は、収集グループ情報125の一例を示している。収集グループ情報125は、グループID701、集計対象702、新規キュー作成情報703、上限閾値704、下限閾値705、作成上限数706、作成済数707、制御フラグ708、収集対象フラグ709、オプション710を有している。
グループID701は、グループを識別するための識別情報である。
集計対象702は、グループに属するメール40に共通の情報を表す。例えば、キュー長やタイムアウト回数、特定のメール転送サーバ20に送信されるメールのヘッダに含まれる共通の情報等である。
新規キュー作成情報703は、新規キューを作成するときの情報である。
上限閾値704は、新規キューを作成するか否かを判定する際に用いられる。新規キューに詰め替えるメール40の集計数がこの上限閾値704を超える場合は、新規キューを作成すると判定される。
下限閾値705は、新規キューを削除するか否かを判定する際に用いられる。新規キューに入力されるメール40の集計数がこの下限閾値705を下回る場合は、新規キューを削除する削除モードへ移行すると判定される。
作成上限数706は、新規キューを作成する際の上限数を表す。
作成済数707は、既に作成済の新規キューの数を表す。
制御フラグ708は、オペレータによって設定され、新規キューを作成しない指示または削除しない指示をフラグで表す。
収集対象フラグ709は、オペレータによって設定され、収集グループ情報125が収集対象となっているか否かをフラグで表す。
オプション710は、オペレータによって適宜設定される。
図8は、収集エントリ情報126の一例を示している。収集エントリ情報126は、キー情報ID801、キー情報802、集計数803、上限閾値804、下限閾値805、状態フラブ806、更新日時807、オプション808を有している。
キー情報ID801は、メール40の統計情報を集計する際に用いるキー情報を識別する識別情報である。
キー情報802は、メール40の統計情報を集計する際に用いるキー情報を表す。例えば、キー情報802は、メール40のヘッダに格納されている情報の中から抽出される。
集計数803は、キー情報を含むメール40の統計情報を集計した結果である集計数を表す。
上限閾値804は、キー情報ごとの集計数に対して設定する上限の閾値を表す。例えば、上限閾値804は、グループ内で上限閾値704を、キー情報ごとに配分するようにして設定される。つまり、収集グループ情報125の上限閾値704は、収集エントリ情報126の上限閾値804を加算した合計値となる。
下限閾値805は、キー情報ごとの集計数に対して設定する下限の閾値を表す。例えば、下限閾値805は、グループ内で下限閾値705を、キー情報ごとに配分するようにして設定される。つまり、収集グループ情報125の下限閾値705は、収集エントリ情報126の下限閾値805を加算した合計値となる。
状態フラブ806は、オペレータによって設定されるフラグであり、新規キューが作成済または未作成の状態を表す。
更新日時807は、収集エントリ情報126が更新されたときの日時を表す。
オプション808は、オペレータによって設定される。
図9は、キュー作成除外リスト116の一例を示している。キュー作成除外リスト116は、複数のキー情報810を有している。キー情報810は、オペレータ等により設定される。たとえば、キー情報810として、ドメイン名、サブドメイン名、ドメイン名の一部だけを設定することが可能である。集計部14は、集計数が上限閾値704を超えても、キュー作成除外リスト116のキー情報810に一致した場合は、新規キュー12を作成しない。
図10は、収集エントリ情報126の具体例を示している。
図10(a)は集計する情報がキュー長の場合を表している。ここで、キュー長とは、キューに格納しているメッセージの数である。例えば、1行目は、キー情報ID901=「0001」、キー情報902=「AAA」、集計数(キュー長)903=「1010」、上限閾値(キュー長)904=「1000」、下限閾値(キュー長)905=「200」、状態フラグ906=「キュー作成済」、更新日時907=「2011/09/20 hh:mm:ss」、オプション(メッセージ/秒、最大値)908=「20、1000」となっている。この1行目において、集計数903の値が上限閾値904の値を超えたため、新規キューが作成され、状態フラグ906が「キュー作成済」となっている。
また、キュー長として、メッセージの合計サイズを指定することも可能である。
また、図10(b)は集計する情報がタイムアウト回数の場合を表している。タイムアウト回数は、ネットワーク側の原因について考慮したものである。例えば、1行目は、キー情報ID911=「0001」、キー情報912=「AAA」、集計数(タイムアウト回数)913=「103」、上限閾値(タイムアウト回数)914=「100」、下限閾値(タイムアウト回数)915=「20」、状態フラグ916=「キュー作成済」、更新日時917=「2011/09/20 hh:mm:ss」、オプション(タイムアウトの検出開始時刻)918=「2011/09/20 hh:mm:ss」となっている。この1行目において、集計数913の値が上限閾値914の値を超えたため、新規キューが作成され、状態フラグ916が「キュー作成済」となっている。
(処理フロー)
次に、メールゲートウェイ10の処理フロー例について、図11を用いて説明する(適宜、図1参照)。ただし、図11は、メール40が特定のキー情報を含むものだけに限られているものとして表されている。
ステップS1001では、メールゲートウェイ10は、端末30からのメール送信を受け付ける。
ステップS1002では、メールゲートウェイ10は、外部記憶装置17に受け付けたメール40を記憶する。
ステップS1003では、メールゲートウェイ10は、外部記憶装置17から、記憶終了を示す応答情報を受信する。
ステップS1004では、メールゲートウェイ10は、端末30に、正常に受信したことを示す正常応答情報を送信する。
ステップS1005では、メールゲートウェイ10は、メール転送サーバ20にメールを送信(中継)する。しかし、メール転送サーバ20が輻輳状態となっているため、送信したメールは中継失敗の状態となる。
ステップS1006では、メールゲートウェイ10は、中継に失敗したメールを再送キュー11bに格納する。
ステップS1007では、メールゲートウェイ10は、収集エントリ情報126(図8参照)の集計数803を増加する。
ステップS1008では、メールゲートウェイ10は、集計数803が上限閾値804を超えたか否かを判定する。集計数803が上限閾値804を超えていないと判定した場合(ステップS1008でNo)、処理はステップS1001へ戻り、ステップS1001〜S1008と同様の処理が実行される。そして、集計数803が上限閾値804を超えたと判定した場合(ステップS1008でYes)、処理はステップS1009へ進む。
ステップS1009では、メールゲートウェイ10は、新規キュー12を作成する。
ステップS1010では、メールゲートウェイ10は、端末30からのメール送信を受け付ける。
ステップS1011では、メールゲートウェイ10は、受け付けたメール40のキー情報802に基づいて、新規キュー12を選択する。そして、メールゲートウェイ10は、当該新規キュー12に受け付けたメール40を格納する。
ステップS1021では、メールゲートウェイ10は、メール転送サーバ20にメール40を送信(中継)する。そして、メール転送サーバ20の輻輳状態が解消されているため、中継成功の状態となる。
ステップS1022では、メールゲートウェイ10は、収集エントリ情報126(図8参照)の集計数803を減算する。なお、集計数803を減算する処理は、ステップS1022に限らず、ステップS1006で再送キュー11bに格納したメール40が再送されて送信成功した場合、または再送キュー11bに格納したメール40が新規キュー12に移動した場合に行われる。また、メールゲートウェイ10は、新規キュー12と収集エントリ情報126とを関連して集計しない、すなわち、ステップS1022がなくても本発明は実施可能である。その場合でも、ステップS1006で再送キュー11bに格納したメール40が再送されて送信成功した場合と再送キュー11bに格納したメール40が新規キュー12に移動した場合に減算処理が行われる。
ステップS1023では、メールゲートウェイ10は、送信したメール40の記憶情報を削除する。具体的には、メールゲートウェイ10は、送信したメール40に関して、キュー情報115(図5参照)に記憶してある記憶情報や、外部記憶装置17に記憶してあるバックアップ情報を削除する。
ステップS1024では、メールゲートウェイ10は、集計数803が下限閾値805未満となったか否かを判定する。集計数803が下限閾値805未満でないと判定した場合(ステップS1024でNo)、処理はステップS1010へ進み、ステップS1010,S1011,S1021〜S1024と同様の処理が実行される。そして、集計数803が下限閾値805未満と判定した場合(ステップS1024でYes)、処理はステップS1025へ進む。
ステップS1025では、メールゲートウェイ10は、新規キュー12を削除する削除モードに移行する。
ステップS1026では、メールゲートウェイ10は、新規キュー12が空になったら削除する。
図12に示すフローチャートは、図11のステップS1007〜S1009に示す新規キュー作成処理の詳細を示したものである(適宜、図7,8参照)。
ステップS1101では、メールゲートウェイ10は、収集グループ情報125が収集対象の収集グループとなっているか否かを判定する。具体的には、メールゲートウェイ10は、収集グループ情報125(図7参照)の収集対象フラグ709(図7参照)が収集対象とするように設定されている場合に、メール40に対して統計情報の集計を実行することになる。
収集対象の収集グループでないと判定した場合(ステップS1101でNo)、処理はステップS1101へ戻り次の収集グループに対して判定を実行し、収集対象の収集グループであると判定した場合(ステップS1101でYes)、処理はステップS1102へ進む。
ステップS1102では、メールゲートウェイ10は、メール40に含まれる情報の中でキー情報802に一致する収集エントリ情報126があるか否かを判定する。具体的には、メールゲートウェイ10は、収集エントリ情報126のキー情報802を参照して、一致するキー情報802に関する収集エントリ情報126を検索する。
キー情報802に一致する収集エントリ情報126がないと判定した場合(ステップS1102でNo)、処理はステップS1103へ進み、キー情報802に一致する収集エントリ情報126があると判定した場合(ステップS1102でYes)、処理はステップS1103をスキップしてステップS1104へ進む。
ステップS1103では、メールゲートウェイ10は、新たに、キー情報802に一致する収集エントリ情報126を作成する。
ステップS1104では、メールゲートウェイ10は、収集エントリ情報126の集計数803を増加する。
ステップS1105では、メールゲートウェイ10は、メール40に含まれるキー情報が、キュー作成除外リスト116のキー情報810に一致するか否かを判定する。一致しなかったと判定した場合(ステップS1105でNo)、処理はステップS1106へ進み、一致したと判定した場合(ステップS1105でYes)、処理はステップS1110へ進む。
ステップS1106では、メールゲートウェイ10は、収集エントリ情報126の状態フラグ806が未作成を示すか否かを判定する。具体的には、メールゲートウェイ10は、図10に示すような収集エントリ情報126を参照して、その状態フラグ905が「未作成」、「キュー作成済」のいずれかを判定する。
未作成を示すと判定した場合(ステップS1106でYes)、処理はステップS1107へ進み、未作成を示さないと判定した場合(ステップS1106でNo)、処理はステップS1110へ進む。
ステップS1107では、メールゲートウェイ10は、集計数803が上限閾値804を超えているか否かを判定する。
上限閾値804を超えていると判定した場合(ステップS1107でYes)、処理はステップS1108へ進み、上限閾値804以下と判定した場合(ステップS1107でNo)、処理はステップS1110へ進む。
ステップS1108では、メールゲートウェイ10は、新規キュー12の作成済数707が作成上限数706未満か否かを判定する。具体的には、メールゲートウェイ10は、図7の作成済数707および作成上限数706を参照して、判定する。
作成上限数706未満であると判定した場合(ステップS1108でYes)、処理はステップS1109へ進み、作成上限数706以上であると判定した場合(ステップS1108でNo)、処理はステップS1110へ進む。
ステップS1109では、メールゲートウェイ10は、新規キュー12を作成する。
ステップS1110では、メールゲートウェイ10は、未処理の収集グループがあるか否かを判定する。未処理の収集グループがある場合(ステップS1110でYes)、処理はステップS1101へ戻り、未処理の収集グループがない場合(ステップS1110でNo)、処理は終了し、次に再送キュー11bに入力されるメール40に対しての処理がステップS1101から実行される。
以上説明したように、本実施形態におけるメールゲートウェイ10は、再送キュー11bに入力されるメール40に含まれる特定の情報ごとに、その特定の情報の統計情報を集計し、その集計数803に基づいて、集計数803が上限閾値804を超えるメール40の送出を実行する新規キュー12を作成する。すなわち、集計数803が上限閾値804を超える場合とは、輻輳状態が引き起こされる可能性がある場合に相当している。そして、輻輳状態が起きた新規キュー12は、メール40の入力を制限する。このような構成を備えているため、メールゲートウェイ10は、特定の情報を含むメール40によって輻輳状態が引き起こされる場合、その輻輳状態の影響を輻輳状態が起きた新規キュー12に限定することができる。つまり、メールゲートウェイ10は、キューの設定されていないメール転送サーバ20を宛先とするメール40によって輻輳状態が引き起こされる場合、その輻輳状態の影響を限定することができる。
また、本実施形態では、図1,2に示すメールシステム1は、携帯通信キャリアで用いられる構成で表しているが、メールゲートウェイ10の処理は、携帯通信キャリア以外の大学や企業のメールシステム等でも同様に適用することができる。そして、携帯通信キャリア以外のメールシステムの場合には、図1,2中のメール転送サーバ20を、宛先のメールサーバに置き換えればよい。
本実施形態では、集計数として、キュー長およびタイムアウト回数を例示したが、メール40の個数や統計情報の変化率、宛先のメールサーバの障害やネットワークの障害にともなって応答される情報に含まれる計算可能な数値を用いても構わない。
1 メールシステム
10 メールゲートウェイ
11 通常キュー(第1のキュー)
11a 送信キュー
11b 再送キュー
12 新規キュー(第2のキュー)
13 メール振分部
14 集計部
15 メール詰め替え部
16 新規キュー作成部
17 外部記憶装置
20 メール転送サーバ
30 端末
40 メール
101 処理部
102 入出力インタフェース部
103 記憶部
104 メールゲートウェイプログラム領域
114 共有データ
115,115a,115b キュー情報
116 キュー作成除外リスト
121 キュー管理情報
122 送信キュー情報
123 再送キュー情報
125,125a,125b 収集グループ情報
126,126a,126b 収集エントリ情報
706 作成上限数
707 作成済数
802 キー情報
803 集計数
804 上限閾値
805 下限閾値
806 状態フラグ
810 キー情報

Claims (13)

  1. 受信したメールを中継するメールゲートウェイであって、
    受信したメールを宛先に向けて送信する送信キューと中継に失敗したメールを再送する再送キューとを有する第1のキューと、
    前記再送キューに保持するメールに対して、当該メールに含まれる情報ごとに統計情報を集計する集計部と、
    前記集計部によって集計された集計数が、予め設定してある上限閾値を超えるか否かを判定し、前記上限閾値を超えると判定した場合、前記上限閾値を超えると判定された前記情報を含むメールの送信を実行する第2のキューを作成する新規キュー作成部と、
    前記再送キューからの再送に失敗したメールの中で、前記上限閾値を超えると判定された前記情報を含むメールを前記第2のキューに詰め替えるメール詰め替え部と、
    を備えることを特徴とするメールゲートウェイ。
  2. 前記新規キュー作成部は、前記第2のキューの作成済数をカウントし、前記作成済数が予め設定してある作成上限数未満である場合、前記第2のキューを作成し、前記作成済数が前記作成上限数以上である場合、前記第2のキューの作成を止める
    ことを特徴とする請求項1に記載のメールゲートウェイ。
  3. 新たに受信したメールの中で、前記上限閾値を超えると判定された前記情報を含むメールを前記第2のキューに入力するメール振分部
    をさらに備えることを特徴とする請求項1または請求項2に記載のメールゲートウェイ。
  4. 前記メール振分部は、前記第2のキューが輻輳状態となった場合には、前記上限閾値を超えると判定された前記情報を含むメールを当該第2のキューへ入力することを制限する
    ことを特徴とする請求項3に記載のメールゲートウェイ。
  5. 前記メールゲートウェイは、
    前記集計部によって集計された前記第2のキューに保持されているメールの前記集計数が、予め設定されている下限閾値未満である場合、前記上限閾値を超えると判定された前記情報を含むメールを前記第2のキューに入力することを止め、前記第2のキューに保持されるメールが無くなったとき、当該第2のキューを削除する
    ことを特徴とする請求項1ないし請求項4のいずれか一項に記載のメールゲートウェイ。
  6. 前記集計数は、キュー長またはタイムアウト回数である
    ことを特徴とする請求項1ないし請求項5のいずれか一項に記載のメールゲートウェイ。
  7. 受信したメールを中継するメールゲートウェイのメール配信方法であって、
    前記メールゲートウェイは、
    受信したメールを宛先に向けて送信する送信キューと中継に失敗したメールを再送する再送キューとを有する第1のキューを備え、
    前記再送キューに保持するメールに対して、当該メールに含まれる情報ごとに統計情報を集計する集計ステップと、
    前記集計ステップによって集計された集計数が、予め設定してある上限閾値を超えるか否かを判定し、前記上限閾値を超えると判定した場合、前記上限閾値を超えると判定された前記情報を含むメールの送信を実行する第2のキューを作成する新規キュー作成ステップと、
    前記再送キューからの再送に失敗したメールの中で、前記上限閾値を超えると判定された前記情報を含むメールを前記第2のキューに詰め替えるメール詰め替えステップと
    を実行することを特徴とするメール配信方法。
  8. 前記新規キュー作成ステップでは、前記第2のキューの作成済数をカウントし、前記作成済数が予め設定してある作成上限数未満である場合、前記第2のキューを作成、前記作成済数が前記作成上限数以上である場合、前記第2のキューの作成を止める
    ことを特徴とする請求項7に記載のメール配信方法。
  9. 新たに受信したメールの中で、前記上限閾値を超えると判定された前記情報を含むメールを前記第2のキューに入力するメール振分ステップ
    をさらに実行することを特徴とする請求項7または請求項8に記載のメール配信方法。
  10. 前記メール振分ステップでは、前記第2のキューが輻輳状態となった場合には、前記上限閾値を超えると判定された前記情報を含むメールを当該第2のキューへ入力することを制限する
    ことを特徴とする請求項9に記載のメール配信方法。
  11. 前記集計ステップにおいて集計された前記第2のキューに保持されているメールの前記集計数が、予め設定されている下限閾値未満である場合、前記上限閾値を超えると判定された前記情報を含むメールを前記第2のキューに入力することを止め、前記第2のキューに保持されるメールが無くなったとき、当該第2のキューを削除する
    ことを特徴とする請求項7ないし請求項10のいずれか一項に記載のメール配信方法。
  12. 前記集計数は、キュー長またはタイムアウト回数である
    ことを特徴とする請求項7ないし請求項11のいずれか一項に記載のメール配信方法。
  13. 請求項7ないし請求項12に記載のメール配信方法を、コンピュータである前記メールゲートウェイに実行させるためのプログラム。
JP2012015507A 2012-01-27 2012-01-27 メールゲートウェイ、メール配信方法およびプログラム Active JP5722244B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2012015507A JP5722244B2 (ja) 2012-01-27 2012-01-27 メールゲートウェイ、メール配信方法およびプログラム
US13/746,009 US9252974B2 (en) 2012-01-27 2013-01-21 Mail gateway, mail delivery method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012015507A JP5722244B2 (ja) 2012-01-27 2012-01-27 メールゲートウェイ、メール配信方法およびプログラム

Publications (3)

Publication Number Publication Date
JP2013157728A true JP2013157728A (ja) 2013-08-15
JP2013157728A5 JP2013157728A5 (ja) 2014-09-25
JP5722244B2 JP5722244B2 (ja) 2015-05-20

Family

ID=48871262

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012015507A Active JP5722244B2 (ja) 2012-01-27 2012-01-27 メールゲートウェイ、メール配信方法およびプログラム

Country Status (2)

Country Link
US (1) US9252974B2 (ja)
JP (1) JP5722244B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE202014103265U1 (de) 2013-07-30 2014-10-23 Hitachi Koki Co., Ltd. Elektrowerkzeug

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9201716B1 (en) * 2013-12-31 2015-12-01 Sprint Communications Company L.P. Automatic queue size determination and tuning
US9614926B2 (en) * 2014-04-29 2017-04-04 International Business Machines Corporation Parallel I/O write processing for use in clustered file systems having cache storage
US9667736B2 (en) 2014-04-29 2017-05-30 International Business Machines Corporation Parallel I/O read processing for use in clustered file systems having cache storage
US11929920B2 (en) * 2021-07-22 2024-03-12 VMware LLC Managing processing queue allocation based on addressing attributes of an inner packet

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04318726A (ja) * 1991-04-18 1992-11-10 Fuji Xerox Co Ltd 電子メールシステムのメッセージ管理装置
JP2005524254A (ja) * 2002-03-27 2005-08-11 デンジャー, インコーポレイテッド 無線データ処理機器に電子メッセージを配信する装置及び方法
JP2006519559A (ja) * 2003-02-20 2006-08-24 ストロングメール システムズ,インコーポレーテッド 非永続的メモリ内のキューを用いる電子メール

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7155725B1 (en) 2002-03-27 2006-12-26 Danger, Inc. Apparatus and method for coordinating multiple e-mail accounts
JP3735631B2 (ja) 2004-03-18 2006-01-18 株式会社エヌ・ティ・ティ・ドコモ メール送受信装置及びメール送受信方法
JP4767336B2 (ja) * 2009-06-10 2011-09-07 株式会社日立製作所 メールサーバシステム及び輻輳制御方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04318726A (ja) * 1991-04-18 1992-11-10 Fuji Xerox Co Ltd 電子メールシステムのメッセージ管理装置
JP2005524254A (ja) * 2002-03-27 2005-08-11 デンジャー, インコーポレイテッド 無線データ処理機器に電子メッセージを配信する装置及び方法
JP2006519559A (ja) * 2003-02-20 2006-08-24 ストロングメール システムズ,インコーポレーテッド 非永続的メモリ内のキューを用いる電子メール

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE202014103265U1 (de) 2013-07-30 2014-10-23 Hitachi Koki Co., Ltd. Elektrowerkzeug

Also Published As

Publication number Publication date
JP5722244B2 (ja) 2015-05-20
US9252974B2 (en) 2016-02-02
US20130198302A1 (en) 2013-08-01

Similar Documents

Publication Publication Date Title
US7386595B1 (en) System for remote configuration of automatic reply message settings using an email message sent from a second email address to a first email address allocated to a user
US8909714B2 (en) Electronic mail delay adaptation
TWI455530B (zh) 擴展傳訊平臺
JP5722244B2 (ja) メールゲートウェイ、メール配信方法およびプログラム
JP5607461B2 (ja) システム及びゲートウェイ
CN101369989A (zh) 跟踪已送达的电子邮件的方法和系统
JP3807857B2 (ja) 電子メールシステムおよび電子メールサーバ
WO2013043365A1 (en) Archive control for text messages
US20140108574A1 (en) Receiving email attachments when a mailbox is full
US20090055490A1 (en) Electronic mail delay adaptation
US20130191474A1 (en) Electronic Messaging Recovery Engine
US10356034B2 (en) Electronically processing bounceback messages from communications networks
JP5427497B2 (ja) メールゲートウェイ
US20190364007A1 (en) Message redirection protocol
KR100938005B1 (ko) 특정 구분자를 이용하여 이메일 수신인을 구별하는 단말 및그 방법
JP5965720B2 (ja) メールシステム
JP4114009B2 (ja) メール中継装置、メール中継方法、メール中継プログラム、およびコンピュータ読み取り可能な記録媒体
JP2011191944A (ja) メーリングリスト管理支援装置、メーリングリスト管理支援方法及びメールシステム
JP4633651B2 (ja) 通知システム及びプログラム
JP2013054556A (ja) メールシステム、メール開封確認方法、メールサーバー、及びメール開封確認プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140306

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140807

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20141112

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150106

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150225

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20150317

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150325

R150 Certificate of patent or registration of utility model

Ref document number: 5722244

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150