説明

メール保存バックアップシステムおよびバックアップ方法

【課題】メールを保存する際の対障害性を確保した上で、メールの収容効率を高めることができる、メール保存バックアップシステムおよびバックアップ方法を提供する。
【解決手段】メールサーバ10は、受信したメールの重要度を、メール重要度判定テーブル300を参照して判定する。そして、メールサーバ10は、バックアップサーバ管理テーブル100を参照し、判定したメールの重要度に応じて、メールを保存するバックアップサーバ20の台数を決定し、その保存先となるバックアップサーバ20を選定する。そして、メールサーバ10は、受信したメールを、選定したバックアップサーバ20に送信し、バックアップサーバ20は、受信したメールをメモリ部230に保存する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、メール保存バックアップシステムおよびバックアップ方法に関する。
【背景技術】
【0002】
外部サーバから受信した電子メール(以下、単に「メール」と呼ぶ)をメールサーバに保存しておき、通信端末からのメール送信要求に応じてメールを送信するメールシステムにおいて、メールを保存する技術として、メールサーバに具備している記憶装置(ハードディスク等)にメールのバックアップを保存する方法が開示されている(特許文献1参照)。また、メールサーバとは別にバックアップサーバを用意し、そのバックアップサーバの記憶装置(ハードディスク等)にメールのバックアップを保存する方法が開示されている(特許文献2参照)。
【0003】
メールのバックアップに用いられる記憶装置には、ハードディスク、Flash SSD(フラッシュ ソリッドステートドライブ)、サーバの揮発性のメモリ(例えば、RAM(Random Access Memory))等がある。
近年は、サーバに搭載されるメモリの大容量化および低価格化に伴い、データのバックアップに従来のハードディスクを用いずに、サーバのメモリにデータを保存する運用が実現され始めている(特許文献3参照)。
【0004】
バックアップサーバのメモリにメールを保存する場合、メールの保存のためのディスクI/O(Input/Output)が、従来のハードディスクを用いたシステムと比較して少なくなるため、メールサーバ1台当たり、ディスクバックアップ型の約10倍の処理速度が実現可能となる。
【0005】
しかし、メモリバックアップは、ハードディスクバックアップに比べて、サーバ障害時にデータをロスト(消失)する可能性が高い。そのため、サーバが障害を起こしたとしてもデータをロストしないように、バックアップサーバを複数台用いて対障害性を上げる必要がある。
【0006】
一方、メールサーバに保存されるメールには、メールを受信者にとって、優先的に残したい重要なメールと、spam(大量に送りつけられる、広告などの迷惑メール)等の残す必要の少ないメールが存在する。
特許文献4には、データを受信したサーバ内に具備された記憶媒体のうち、信頼度の高い記憶媒体に優先的にユーザが残したいデータを保存することで、データの重要度に応じて、バックアップ先を変更する技術が開示されている。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開2002−351719号公報(段落0008、図1)
【特許文献2】特開2007−274053号公報(段落0012、図1)
【特許文献3】特開2006−139696号公報(段落0009、0010)
【特許文献4】米国特許第6826665号明細書
【発明の概要】
【発明が解決しようとする課題】
【0008】
しかしながら、前記した従来技術を用いて、複数台のバックアップサーバのメモリを、メールのバックアップに利用しようとする場合には、以下のような問題が存在する。
【0009】
特許文献1および特許文献2に記載の技術は、バックアップ先の記憶媒体が1台であることを前提とするため、バックアップ先を複数台設置する技術には、そのまま適用することができない。
【0010】
特許文献4に記載の技術をメールのバックアップに適用することで、残したいメールの重要度に応じて、複数台存在する信頼度の異なる記憶媒体の中から、保存先に適した記憶媒体を選択してメールを保存することができる。しかし、この特許文献4に記載の技術は、バックアップ先として、複数台の記憶媒体の中から1台を選択するものである。したがって、バックアップ先の記憶媒体が1台であることに替わりはなく、バックアップ先を複数台設定して対障害性を上げるというものではない。また、この特許文献4に記載の技術を用いて、メモリ等に比べ信頼性の高いハードディスクにメールを保存する場合には、メモリに保存する場合に比べ、処理速度の高速化が図れなくなるという問題もある。
【0011】
また、特許文献3に記載の技術は、データのバックアップにメモリを用いるものであるが、一般的にメモリは、ハードディスクに比べて同一コスト当たりの記憶容量が少ない。よって、特許文献3の技術を用いて、単に複数台のバックアップサーバのメモリにメールのデータを保存した場合、バックアップサーバのメールの収容効率が低下し、メールバックアップが困難になるおそれがある。
【0012】
このような背景に鑑みて本発明がなされたのであり、本発明は、メールを保存する際の対障害性を確保した上で、メールの収容効率を高めることができる、メール保存バックアップシステムおよびバックアップ方法を提供することを目的とする。
【課題を解決するための手段】
【0013】
本発明のメール保存バックアップシステムは、メールサーバと複数のバックアップサーバとを含んで構成される。
メールサーバは、受信したメールの重要度を、メール重要度判定テーブルを参照して判定する。そして、メールサーバは、各バックアップサーバの状態情報を記憶したバックアップサーバ管理テーブル(バックアップサーバ管理情報)を参照し、判定したメールの重要度に応じて、メールを保存するバックアップサーバの台数を決定し、その保存先となるバックアップサーバを選定する。次に、メールサーバは、受信したメールを、選定したバックアップサーバに送信し、バックアップサーバは、受信したメールをメモリ部に保存する。
【発明の効果】
【0014】
本発明によれば、メールを保存する際の対障害性を確保した上で、メールの収容効率を高めることができる、メール保存バックアップシステムおよびバックアップ方法を提供することができる。
【図面の簡単な説明】
【0015】
【図1】本実施形態に係るメールシステムの構成例を示す機能ブロック図である。
【図2】本実施形態に係るバックアップサーバ管理テーブルのデータ構成の一例を示す図である。
【図3】本実施形態に係る重要度判定要求のフォーマット例を示す図である。
【図4】本実施形態に係る重要度判定応答のフォーマット例を示す図である。
【図5】本実施形態に係るメールサーバ保存メール情報のデータ構成の一例を示す図である。
【図6】本実施形態に係るメール保存要求のフォーマット例を示す図である。
【図7】本実施形態に係るメール保存応答のフォーマット例を示す図である。
【図8】本実施形態に係るメール削除要求のフォーマット例を示す図である。
【図9】本実施形態に係るメール削除応答のフォーマット例を示す図である。
【図10】本実施形態に係るメール重要度判定テーブルのデータ構成の一例を示す図である。
【図11】本実施形態に係るバックアップサーバ保存メール情報のデータ構成の一例を示す図である。
【図12】本実施形態に係るメールサーバのメールサーバ処理部が行うメール保存先決定処理の流れを示すフローチャートである。
【図13】本実施形態に係るメールサーバのメール重要度判定部が行うメール重要度判定処理の流れを示すフローチャートである。
【図14】本実施形態に係るメールシステム全体の処理の流れを示すシーケンス図である。
【発明を実施するための形態】
【0016】
まず、本実施形態に係るメール保存バックアップシステム5を含むメールシステム1について説明する。図1は、本実施形態に係るメールシステム1の構成例を示す機能ブロック図である。
【0017】
メールシステム1は、メールサーバ10と、通信端末30と、外部サーバ40とがネットワーク50を介して接続されており、さらに、メールサーバ10には、複数のバックアップサーバ20(20A,20B,20C,…)が通信可能に接続されている。なお、ここで、メールサーバ10と複数のバックアップサーバ20とを合わせて、メール保存バックアップシステム5とする。
【0018】
通信端末30は、ネットワーク50を介してメールサーバ10に接続し、メールの送信および受信を行う。
外部サーバ40は、外部サーバ40が収容する他の通信端末(不図示)や、他の外部サーバ(不図示)経由のメールを受信し、ネットワーク50を介して、メールサーバ10に収容される通信端末30宛てのメールを、メールサーバ10に送信する。
また、ネットワーク50は、例えば、WAN(Wide Area Network)やLAN(Local Area Network)等で構成される。
【0019】
(メールサーバ)
メールサーバ10は、メールサーバ10自身が収容する通信端末30宛てのメールを受信する。そして、メールサーバ10は、その受信したメールの重要度を、メール重要度判定テーブル300(詳細は後記)を参照して判定する。次に、メールサーバ10は、各バックアップサーバ20のメモリ使用量を含む状態情報を記憶したバックアップサーバ管理テーブル100(詳細を後記)を参照し、判定したメールの重要度に応じて、メールを保存するバックアップサーバ20の台数を決定し、その保存先となるバックアップサーバ20を選定する。次に、メールサーバ10は、受信したメールをメール保存要求500(詳細は後記)として、選定したバックアップサーバ20に送信する。
また、メールサーバ10は、メールの送信要求を通信端末30から受信すると、自身のメールサーバ10または保存先として選定したバックアップサーバ20に保存したメールを通信端末30に送信する。
【0020】
このメールサーバ10は、制御部110と、入出力部120と、メモリ部130と、記憶部140とを含んで構成される。
【0021】
制御部110は、メールの送受信やメールのバックアップのための制御全般を司り、バックアップサーバ監視部111と、メールサーバ処理部112と、メール重要度判定部113とを含んで構成される。
【0022】
バックアップサーバ監視部111は、メールサーバ10がメールのバックアップ先として各バックアップサーバ20(20A,20B,20C,…)の中からいずれかを選択するための指標となる、各バックアップサーバ20の接続状態やメモリ使用量等の情報を監視する。そして、バックアップサーバ監視部111は、各バックアップサーバ20の監視により取得した情報を、メモリ部130内のバックアップサーバ管理テーブル100に保存する。
【0023】
図2は、本実施形態に係るバックアップサーバ管理テーブル(バックアップサーバ管理情報)100のデータ構成の一例を示す図である。
【0024】
バックアップサーバ管理テーブル100は、バックアップサーバ20毎に、ホスト名101、IPアドレス102、接続状態103、サービス状態104、メモリ使用量105、下限閾値106、および上限閾値107の情報を含んで構成される。
【0025】
ホスト名101は、バックアップサーバ20のホスト名、またはドメイン名を格納する。IPアドレス102は、バックアップサーバ20のIPアドレスを格納する。
接続状態103は、メールサーバ10とバックアップサーバ20との間が、通信可能か否かの情報を格納する。バックアップサーバ20との間が通信可能な状態であれば、「Connect」、通信可能な状態でなければ「disconnect」が格納される。
サービス状態104は、バックアップサーバ20のメールバックアップ機能(後記するバックアップサーバ情報管理部211およびバックアップサーバ処理部212)が稼動しており、利用可能か否かの状態を格納する。バックアップサーバ20のメールバックアップ機能が稼動状態であれば、利用可能を示す「Service」が格納され、メールバックアップ機能が稼動しておらず、利用不可であれば「No service」が格納される。
メモリ使用量105は、各バックアップサーバ20の現時点でのメモリ使用量が格納される。
なお、請求項に記載の状態情報には、メモリ使用量105に加えて、接続状態103およびサービス状態104も、バックアップサーバ20の現時点での稼動状態を示す情報として含むことができる。
【0026】
下限閾値106および上限閾値107は、バックアップサーバ20毎に設定されるメモリ使用量の閾値である。この下限閾値106および上限閾値107は、各バックアップサーバ20の記憶部240に予め記憶され、例えば、バックアップサーバ20の起動時にコンフィグファイルを読み込むことで設定される。下限閾値106は、この下限閾値106未満のメモリ使用量の場合に、そのバックアップサーバ20のメモリ使用量が、全メモリ量に比べて少なく、使用メモリに充分な余裕があると判定する閾値を表す。上限閾値107は、この上限閾値107を超えるメモリ使用量の場合に、そのバックアップサーバのメモリ使用量が、全メモリ量に比べて多く、使用メモリに余裕がないと判定する閾値を表す。なお、この下限閾値106および上限閾値107は、メールサーバ10(後記するメールサーバ処理部112)が、メールの保存先となるバックアップサーバ20の台数の決定の際に参照される。
【0027】
バックアップサーバ監視部111は、各バックアップサーバ20が起動されると、バックアップサーバ20の後記するバックアップサーバ情報管理部211から、ホスト名101、IPアドレス102、下限閾値106、および上限閾値107の情報を収集し、バックアップサーバ管理テーブル100(図2)に格納する。そして、バックアップサーバ監視部111は、所定の間隔で、バックアップサーバ20のバックアップサーバ情報管理部211から、接続状態103、サービス状態104、およびメモリ使用量105の情報を収集することで、バックアップサーバ20の現時点での状態を監視する。
【0028】
なお、バックアップサーバ監視部111は、バックアップサーバ20の起動時に、そのバックアップサーバ20が使用可能な全メモリ量の情報を取得し、バックアップサーバ管理テーブル100(図2)に格納するようにしてもよい。そのようにすることで、メールサーバ10は、各バックアップサーバ20の現時点での使用可能メモリ量の情報を、全メモリ量からメモリ使用量105を減算することで得ることができる。また、全メモリ量に対するメモリ使用量の割合を算出することができる。そしてこれらの情報を、バックアップサーバ20を選定する際の指標とすることもできる。
【0029】
図1に戻り、メールサーバ処理部112は、外部サーバ40からネットワーク50を経由し、入出力部120を介して、メールを受信すると、その受信したメールの重要度の判定依頼である重要度判定要求400(図3)を、メール重要度判定部113に出力する。そして、メールサーバ処理部112は、メール重要度判定部113から、そのメールの重要度の判定結果が付された重要度判定応答450(図4)を取得する。
【0030】
ここで、メールの重要度とは、そのメールをユーザが優先的に保存しておきたいかどうかを示す指標であり、本実施形態では、優先的に保存させたい、つまり、通常のメール以上にデータを消失させたくないものを「重要」、spamメールであり、保存する必要性の低いものを「spam」、この2つ以外の通常のメールを「一般」の3段階に分類する。なお、このメールの重要度は、後記するメール重要度判定部113が判定する。また、本実施形態では、メールの重要度を3段階としたが、これに限定されことなく、重要度を4段階以上に設定してもよい。
【0031】
図3は、本実施形態に係る重要度判定要求400のフォーマット例を示す図である。また、図4は、本実施形態に係る重要度判定応答450のフォーマット例を示す図である。
【0032】
重要度判定要求400は、図3に示すように、重要度の判定を要求するメールのメッセージID401、メールヘッダ402、およびメール本文403を含んで構成される。
【0033】
メッセージID401は、例えば、メールヘッダに含まれるMessage-IDであり、各メールに固有の番号である。本実施形態では、メッセージID401として、メールヘッダに含まれるMessage-IDを使用するものとして説明するが、Message-ID以外に、メールサーバ処理部112が、メール毎にユニークなIDを割り当てるようにしてもよい。
メールヘッダ402には、送信元のメールアドレス、IPアドレス、ドメイン名や、経由したサーバのIPアドレス、ドメイン名や、宛先のメールアドレス等のヘッダ情報が格納される。
メール本文403には、そのメールに付された本文が格納される。
【0034】
また、重要度判定応答450は、図4に示すように、メッセージID451、およびメール重要度判定部113が判定したメールの重要度を示すメール重要度452を含んで構成される。
ここで、メッセージID451は、重要度判定要求400のメッセージID401と同じMessage-IDが付される。また、メール重要度452は、メール重要度判定部113が判定した重要度として「重要」、「spam」、「一般」のいずれかが付される。
【0035】
引き続きメールサーバ処理部112が行う処理を説明する。メールサーバ処理部112は、メール重要度判定部113から取得した重要度判定応答450に付されたメールの重要度と、メモリ部130内のバックアップサーバ管理テーブル100(図2)に格納されている各バックアップサーバ20の情報を用いて、そのメールを保存するバックアップサーバ20の台数と、保存先となるバックアップサーバ20を決定する。
【0036】
具体的には、メールサーバ処理部112は、バックアップサーバ管理テーブル100(図2)を参照し、接続状態103が「Connect」であり、サービス状態104が「Service」である、現時点でメールのバックアップが可能なバックアップサーバ20を抽出する。そして、メールサーバ処理部112は、抽出した各バックアップサーバ20のメモリ使用量105が、下限閾値106未満、もしくは、上限閾値107を超えているかを判定することにより、そのメールを収容するバックアップサーバ20の台数を決定する(詳細は、図12)。続いて、メールサーバ処理部112は、決定した台数のバックアップサーバ20を、メールの保存先となるバックアップサーバ20として、例えば、メモリ使用量105の少ない順に選定する。
【0037】
なお、メールサーバ処理部112は、図2のバックアップサーバ管理テーブル100の各項目に加えて、各バックアップサーバ20の全メモリ量を記憶しておくことにより、各バックアップサーバ20の使用可能メモリ量や、全メモリ量に対するメモリ使用量の割合を算出できる場合には、使用可能メモリ量の多い順、全メモリ量に対するメモリ使用量の割合の少ない順等で、メールを収容するバックアップサーバ20を選定してもよい。
また、このメールを保存するバックアップサーバ20の台数の決定、およびその保存先となるバックアップサーバ20を選定する処理を、以下、メール保存先決定処理と呼ぶ。このメール保存先決定処理については、後記する図12において、詳細に説明する。
【0038】
また、このメールサーバ処理部112は、受信したメールの情報を、メモリ部130内のメールサーバ保存メール情報200に記憶する。そして、メールサーバ処理部112は、メールの参照(通信端末30からの要求による保存したメールの送信)や、保存したメールの削除を行うため、このメールサーバ保存メール情報200にアクセスする。
【0039】
図5は、本実施形態に係るメールサーバ保存メール情報200のデータ構成の一例を示す図である。
メールサーバ保存メール情報200は、受信したメール毎に1レコードからなる情報であり、メッセージID201、メールヘッダ202、メール本文203、および使用バックアップサーバ204の情報を含んで構成される。
【0040】
メッセージID201、メールヘッダ202、およびメール本文203は、メールサーバ10がメールを受信した際に、メールサーバ処理部112が、メールサーバ保存メール情報200に格納する情報であり、前記した図3に示す重要度判定要求400と同様の情報が格納される。
また、使用バックアップサーバ204は、メールサーバ処理部112が、メール保存先決定処理により選定した、そのメールを保存するバックアップサーバ20が格納される。例えば、メッセージID201が「1」のメールは、使用バックアップサーバ204に示されるように、「store_svr1」、「store_svr2」の2台のバックアップサーバ20に保存される。
なお、メッセージID201が「1」のメールは、バックアップサーバ20に保存されたため、メールサーバ保存メール情報200のメール本文203を削除している(メール本文203欄で「−」として示す)。
【0041】
メールサーバ処理部112は、メールの保存先として使用するバックアップサーバ20を選定すると、そのバックアップサーバ20に対し、メール保存要求500(図6)を送信する。そして、そのバックアップサーバ20がメールを保存した確認応答として、バックアップサーバ20から、メール保存応答550(図7)を受信する。
【0042】
また、メールサーバ処理部112は、通信端末30へのメールの送信が完了したことを契機として、そのメールを保存していたバックアップサーバ20に対し、メール削除要求600(図8)を送信する。そして、バックアップサーバ20がメールを削除した確認応答として、バックアップサーバ20から、メール削除応答650(図9)を受信する。
【0043】
図6は、本実施形態に係るメール保存要求500のフォーマット例を示す図である。また、図7は、本実施形態に係るメール保存応答550のフォーマット例を示す図である。
【0044】
メール保存要求500は、図6に示すように、保存するメールのメッセージID501、保存要求メッセージ502、メールヘッダ503、およびメール本文504を含んで構成される。この保存要求メッセージ502は、例えば、0や1等の値をフィールドに設定することにより、メールの保存要求であることを表す。
【0045】
メール保存応答550は、図7に示すように、保存したメールのメッセージID551、およびバックアップサーバ20での保存が完了したことを示す保存メッセージ552を含んで構成される。この保存メッセージ552は、例えば、0や1等の値をフィールドに設定することにより、メールの保存応答であることを表す。
【0046】
図8は、本実施形態に係るメール削除要求600のフォーマット例を示す図である。また、図9は、本実施形態に係るメール削除応答650のフォーマット例を示す図である。
【0047】
メール削除要求600は、図8に示すように、削除要求するメールのメッセージID601、および削除要求メッセージ602を含んで構成される。この削除要求メッセージ602は、例えば、0や1等の値をフィールドに設定することにより、メールの削除要求であることを表す。
【0048】
メール削除応答650は、図9に示すように、削除したメールのメッセージID651、および削除メッセージ652を含んで構成される。この削除メッセージ652は、例えば、0や1等の値をフィールドに設定することにより、メールの削除応答であることを表す。
【0049】
なお、このメールサーバ処理部112は、メールサーバ保存メール情報200の各情報についての保存、更新、削除等の動作ログを、記憶部140内の動作ログ情報141に記憶する。
【0050】
図1に戻り、メール重要度判定部113は、メールサーバ処理部112から、重要度判定要求400(図3)を取得すると、メモリ部130に記憶されたメール重要度判定テーブル300を参照して、メールの重要度を判定する。ここで、メール重要度判定部113は、受信したメールの重要度を「重要」、「spam」、「一般」の3段階に判定する。そして、メール重要度判定部113は、その重要度の判定結果を、重要度判定応答450(図4)として、メールサーバ処理部112へ出力する。
【0051】
図10は、本実施形態に係るメール重要度判定テーブル300のデータ構成の一例を示す図である。
メール重要度判定テーブル300には、メールの重要度が「重要」もしくは「spam」であるかを判定するための条件がレコード毎に設定され、アドレス301、ドメイン302、キーワード303、送信元IPアドレス304、およびspam判定305の情報を含んで構成される。なお、このメール重要度判定テーブル300は、予めメールサーバ10の管理者等により設定されるものとする。
【0052】
アドレス301は、重要度を判定する対象となる、送信元のメールアドレスや宛先のメールアドレスが格納される。ドメイン302は、重要度を判定する対象となるドメイン名が格納される。キーワード303は、重要度を判定する対象となるキーワードが格納される。なお、メール重要度判定部113は、このキーワード303欄に設定されたキーワードがメール本文中に含まれるか否かを探索する。送信元IPアドレス304は、重要度を判定するメールの送信元IPアドレスが格納される。spam判定305は、そのメールがspamメールであるとする判定が格納される。
【0053】
このメール重要度判定テーブル300において、アドレス301欄から送信元IPアドレス304欄までに設定された各レコードのいずれかの条件に一致し、spam判定305欄に「○」が設定されていれば、メール重要度判定部113は、そのメールの重要度を「spam」と判定する。例えば、図10に示すように、ドメイン302欄が「hogehoge」の条件に一致するメールについて、メール重要度判定部113は、spam判定305欄が「○」であることにより、重要度を「spam」と判定する。
一方、アドレス301欄から送信元IPアドレス304欄までに設定された各レコードのいずれかの条件に一致し、spam判定305欄に「○」が設定されていなければ、メール重要度判定部113は、そのメールの重要度を「重要」と判定する。例えば、図10に示すように、ドメイン302欄が「fuga」であり、かつ、キーワード303欄が「hoge」(メール本文中にキーワードして「hoge」が探索される場合)の条件に一致するメールで、spam判定305欄に「○」が設定されていないメールについて、メール重要度判定部113は、重要度を「重要」と判定する。
また、アドレス301欄から送信元IPアドレス304欄までに設定された各レコードのいずれの条件にも一致しなければ、メール重要度判定部113は、そのメールの重要度を「一般」と判定する。
【0054】
図1に戻り、入出力部120は、LANやWANを介して、通信端末30や外部サーバ40、バックアップサーバ20と情報の送受信を行うための通信インタフェースと、キーボードやマウス等の入力装置(不図示)や、ディスプレイ等の出力装置(不図示)との間で情報を交換する入出力インタフェースとから構成される。
【0055】
メモリ部130は、RAM(Random Access Memory)等の記憶手段からなり、前記したバックアップサーバ管理テーブル100、メールサーバ保存メール情報200、メール重要度判定テーブル300等を記憶する。
【0056】
記憶部140は、ハードディスク、フラッシュメモリ等の記憶手段からなり、メールの保存や削除等の処理を記憶した動作ログ情報141を記憶する。また、記憶部140には、制御部110の処理を行うためのプログラム等が記憶される。
【0057】
なお、このメールサーバ10の制御部110の機能は、例えば、メールサーバ10の記憶部140に記憶されたプログラムを、CPU(Central Processing Unit)がメモリ部130に展開し実行することで実現される。
【0058】
(バックアップサーバ)
次に、バックアップサーバ20について説明する。
バックアップサーバ20(20A,20B,20C,…)は、メールサーバ10からのメール保存要求500(図6)を受け付け、自身のメモリ部230内に、メールサーバ10が受信したメールをバックアップとして保存する。このバックアップサーバ20は、制御部210と、入出力部220と、メモリ部230と、記憶部240とを含んで構成される。なお、このバックアップサーバ20は、図1に図示した3台に限定されず、複数台設定されていればよい。
【0059】
制御部210は、バックアップとしてのメールの保存の制御全般を司り、バックアップサーバ情報管理部211と、バックアップサーバ処理部212とを含んで構成される。
【0060】
バックアップサーバ情報管理部211は、自身のバックアップサーバ20の起動時に、記憶部240に予め記憶された、メモリ使用量の下限閾値106および上限閾値107の情報、ホスト名101、IPアドレス102の情報を、入出力部220を介して、メールサーバ10のバックアップサーバ監視部111に送信する。なお、このとき、バックアップサーバ情報管理部211は、そのバックアップサーバ20の全メモリ量の情報を含めて送信するようにしてもよい。
また、バックアップサーバ情報管理部211は、所定の間隔で、サービス状態104、およびメモリ使用量105の情報を、メールサーバ10のバックアップサーバ監視部111に送信する。
【0061】
次に、バックアップサーバ処理部212は、メールサーバ10から、メール保存要求500(図6)を受信すると、そのメールの情報を、メモリ部230内のバックアップサーバ保存メール情報250に記憶する。そして、バックアップサーバ処理部212は、メールを保存した確認応答として、メール保存応答550(図7)をメールサーバ10に送信する。
【0062】
図11は、本実施形態に係るバックアップサーバ保存メール情報250のデータ構成の一例を示す図である。
バックアップサーバ保存メール情報250は、メッセージID251、メールヘッダ252、およびメール本文253の情報を含んで構成される。
【0063】
また、バックアップサーバ処理部212は、メールサーバ10から、メール削除要求600(図8)を受信すると、そのメール削除要求600に付されたメッセージID601をキーとして、メモリ部230内のバックアップサーバ保存メール情報250(図11)を探索し、該当するメッセージID251のメールの情報を削除する。そして、バックアップサーバ処理部212は、メールを削除した旨の確認応答を、メール削除応答650(図9)として、メールサーバ10に送信する。
【0064】
なお、このバックアップサーバ処理部212は、バックアップサーバ保存メール情報250(図11)の各情報についての保存、削除等の動作ログを、記憶部240内の動作ログ情報241(図1)に記憶する。
【0065】
図1に戻り、入出力部220は、通信回線を介して、メールサーバ10との情報の送受信を行うための通信インタフェースと、キーボードやマウス等の入力装置(不図示)や、ディスプレイ等の出力装置(不図示)との間で情報を交換する入出力インタフェースとから構成される。
【0066】
メモリ部230は、RAM等の記憶手段からなり、前記したバックアップサーバ保存メール情報250(図11)等を記憶する。
【0067】
記憶部240は、ハードディスク、フラッシュメモリ等の記憶手段からなり、メールの保存や削除等の処理を記憶した動作ログ情報241を格納する。また、記憶部240には、制御部210の処理を行うためのプログラム等が記憶される。
【0068】
なお、このバックアップサーバ20の制御部210の機能は、例えば、バックアップサーバ20の記憶部240に記憶されたプログラムを、CPUがメモリ部230に展開し実行することで実現される。
【0069】
次に、本実施形態に係るメールサーバ10が受信するメールのバックアップ方法について具体的に説明する。まず、メールサーバ10のメールサーバ処理部112が行うメール保存先決定処理について、図12を参照して説明し、次に、メールサーバ10のメール重要度判定部113が行うメール重要度判定処理について、図13を参照して説明する。そして、本実施形態に係るメールシステム1全体の処理の流れを、図14を参照して説明する。
【0070】
(メール保存先決定処理)
図12は、本実施形態に係るメールサーバ10のメールサーバ処理部112が行うメール保存先決定処理の流れを示すフローチャートである。このメール保存先決定処理で、メールサーバ処理部112は、外部サーバ40から受信したメールを保存するバックアップサーバ20の台数の決定し、その保存先となるバックアップサーバ20を選定する。
【0071】
まず、メールサーバ10のメールサーバ処理部112は、入出力部120を介して、外部サーバ40からのメールを受信する(ステップS101)。
【0072】
次に、メールサーバ処理部112は、受信したメールの重要度を判定するため、メール重要度判定部113に、重要度判定要求400(図3)を出力する(ステップS102)。そして、メールサーバ処理部112は、メール重要度判定部113から、メールの重要度の判定結果が付された重要度判定応答450(図4)を取得する(ステップS103)。
【0073】
続いて、メールサーバ処理部112は、バックアップサーバ管理テーブル100(図2)を参照し、そのバックアップサーバ20が接続可能か否かを示す接続状態103、バックアップサーバ20がバックアップ可能か否かを示すサービス状態104、および、バックアップサーバ20のメモリ使用量105の情報を取得する(ステップS104)。
【0074】
そして、メールサーバ処理部112は、接続状態103が「Connect」であり、サービス状態104が「Service」である、つまり、その時点でメールバックアップが可能な状態にある、すべてのバックアップサーバ20について、そのバックアップサーバ20のメモリ使用量105が、それぞれのバックアップサーバ20に設定された下限閾値106未満であるか否かを判定する(ステップS105)。
【0075】
ステップS105において、メールサーバ処理部112は、すべてのバックアップサーバ20のメモリ使用量105が下限閾値106未満であると判定した場合(ステップS105→Yes)、つまり、すべてのバックアップサーバ20のメモリ領域に余裕があると判定した場合には、次のステップS106に進む。
【0076】
ステップS106において、メールサーバ処理部112は、ステップS103で取得した、そのメールの重要度判定に基づき、メールの重要度が「重要」の場合は、i台のバックアップサーバ20にそのメールを保存すると決定する。メールの重要度が「一般」の場合は、j台のバックアップサーバ20に保存すると決定する。そして、メールの重要度が「spam」の場合は、k台のバックアップサーバ20に保存すると決定する。
【0077】
一方、ステップS105において、すべてのバックアップサーバ20のメモリ使用量105が下限閾値106未満であるという条件を満たさない場合(ステップS105→No)、つまり、1台でも下限閾値106以上のメモリ使用量105であるバックアップサーバ20が存在する場合は、次のステップS107に進む。
【0078】
ステップS107において、メールサーバ処理部112は、バックアップサーバ20のうち、少なくとも1台のバックアップサーバ20のメモリ使用量105が、上限閾値107を超えているか否かを判定する。
【0079】
そして、メールサーバ処理部112は、すべてのバックアップサーバ20のメモリ使用量105が、上限閾値107を超えていない場合には(ステップS107→No)、ステップS108に進む。
【0080】
ステップS108において、メールサーバ処理部112は、ステップS103で取得した、そのメールの重要度判定に基づき、メールの重要度が「重要」の場合は、i’台のバックアップサーバ20にそのメールを保存すると決定する。メールの重要度が「一般」の場合は、j’台のバックアップサーバ20に保存すると決定する。そして、メールの重要度が「spam」の場合は、k’台のバックアップサーバ20に保存すると決定する。
【0081】
一方、ステップS107において、少なくとも1台のバックアップサーバ20のメモリ使用量105が、上限閾値107を超えていれば(ステップS107→Yes)、ステップS109に進む。
【0082】
ステップS109において、メールサーバ処理部112は、ステップS103で取得した、そのメールの重要度判定に基づき、メールの重要度が「重要」の場合は、i”台のバックアップサーバ20にそのメールを保存すると決定する。メールの重要度が「一般」の場合は、j”台のバックアップサーバ20に保存すると決定する。そして、メールの重要度が「spam」の場合は、k”台のバックアップサーバ20に保存すると決定する。
【0083】
バックアップサーバ20が、複数台設定されている場合、メールサーバ10は、上記の各変数「i」「j」「k」について、i≧j≧k、i’≧j’≧k’、i”≧j”≧k”、i≧i’≧i”、j≧j’≧j”、k≧k’≧k”が成り立つように、各値を設定する。これは、重要度が高いメール程、台数を多く設定する。メモリ使用量に余裕がない程、台数を少なく設定するという思想に基づき、予め設定されるものである。なお、メモリ使用量に余裕がない程、台数を少なく設定するのは、台数の設定を抑えることで、メモリ不足による輻輳等の発生を防止するためである。
【0084】
次に、ステップS106,S108,S109において、メールを保存するバックアップサーバ20の台数を決定すると、メールサーバ処理部112は、メールの保存先として、その決定した台数のバックアップサーバ20を選定する(ステップS110)。
【0085】
このメールサーバ処理部112によるバックアップサーバ20の選定は、例えば、メモリ使用量105の少ない順で決定される。また、メールサーバ10のバックアップサーバ管理テーブル100(図2)に各バックアップサーバ20の全メモリ量が格納されている場合には、使用可能メモリ量の多い順、全メモリ量に対するメモリ使用量105の割合が少ない順等で選定してもよい。なお、このバックアップサーバ20の選定は、例えば、メールサーバ10の記憶部140に、選定ロジックが予め記憶されることにより、メールサーバ10の起動時に、その選定ロジックをメールサーバ処理部112が読み込むことにより設定される。
【0086】
続いて、メールサーバ処理部112は、ステップS110で選定されたバックアップサーバ20に対し、メール保存要求500(図6)を送信する(ステップS111)。
【0087】
このようにすることで、メールサーバ10のメールサーバ処理部112は、受信したメールを保存するバックアップサーバ20の台数の決定し、その保存先となるバックアップサーバ20を選定することができる。
【0088】
(メール重要度判定処理)
次に、本実施形態に係るメールサーバ10が行うメール重要度判定処理について説明する。
【0089】
図13は、本実施形態に係るメールサーバ10のメール重要度判定部113が行うメール重要度判定処理の流れを示すフローチャートである。
【0090】
まず、メールサーバ10のメール重要度判定部113は、メールサーバ処理部112から重要度判定要求400(図3)を取得する(ステップS201)。
【0091】
次に、メール重要度判定部113は、取得した重要度判定要求400のメールヘッダ402およびメール本文403を用いて、メール重要度判定テーブル300(図10)を探索し、メール重要度判定テーブル300の各レコードに設定された条件のいずれかに一致するか否かを、spam判定305の欄以外について判定する(ステップS202)。具体的には、メール重要度判定部113は、アドレス301欄から送信元IPアドレス304欄までに設定された各レコードの条件に一致するか否かを判定する。
【0092】
そして、メール重要度判定部113は、ステップS202において、spam判定305以外のメール重要度判定テーブル300の各レコードに設定された条件のいずれにも一致しない場合は(ステップS202→No)、次のステップS203に進み、判定したメールの重要度を「一般」に決定する(ステップS203)。
【0093】
一方、ステップS202において、メール重要度判定部113は、spam判定305以外のメール重要度判定テーブル300の各レコードに設定された条件のいずれかに一致した場合(ステップS202→Yes)、つまり、アドレス301欄から送信元IPアドレス304欄までに設定されたレコード毎のいずれかの条件に一致した場合には、次のステップS204に進む。
【0094】
ステップS204において、メール重要度判定部113は、ステップS202で一致したメール重要度判定テーブル300のレコードについて、spam判定305欄で「○」と設定されるものか否かを判定する。
【0095】
そして、ステップS202で一致した条件のレコードで、spam判定305欄が「○」と設定されていない場合(ステップS204→No)、メール重要度判定部113は、そのメールの重要度を「重要」に決定する(ステップS205)。
一方、ステップS202で一致した条件のレコードでspam判定305欄が「○」と設定されている場合(ステップS204→Yes)、メール重要度判定部113は、そのメールの重要度を「spam」に決定する(ステップS206)。
【0096】
続いて、ステップS203,S205,S206でメールの重要度を決定すると、メール重要度判定部113は、決定したメールの重要度を、重要度判定応答450(図4)として、メールサーバ処理部112に出力する(ステップS207)。
【0097】
このように、メールサーバ10のメール重要度判定部113は、メール重要度判定テーブル300を参照して、メールの重要度を判定することができる。
【0098】
(メールシステム全体の処理)
次に、本実施形態に係るメールシステム1全体の処理の流れについて説明する。
【0099】
図14は、本実施形態に係るメールサーバ10およびバックアップサーバ20を含むメールシステム1全体の処理の流れを示すシーケンス図である。この図14は、外部サーバ40に接続される送信元の通信端末等から、メールサーバ10がメールを受信し、バックアップサーバ20にメールを保存した上で、要求のあった通信端末30にメールを送信する処理を示している。また、メールサーバ10のバックアップサーバ監視部111により、バックアップサーバ20(20A,20B,20C,…)の監視が行われ、バックアップサーバ管理テーブル100(図2)に各バックアップサーバ20の情報がすでに格納されているものとして説明する。
【0100】
まず、外部サーバ40からネットワーク50を介して、メールサーバ10にメールが送信される(ステップS1)。メールを受信したメールサーバ10のメールサーバ処理部112は、メール受信応答を外部サーバ40に送信する(ステップS2)。そして、メールサーバ処理部112は、受信したメールの情報をメモリ部130内のメールサーバ保存メール情報200(図5)に記憶する(ステップS3)。
【0101】
次に、メールサーバ10のメールサーバ処理部112は、メール重要度判定部113に対し、受信したメールについての重要度判定要求400(図3)を出力する(ステップS4)。重要度判定要求400を受信したメール重要度判定部113は、メール重要度判定テーブル300(図10)を参照してメール重要度判定処理を行い、そのメールの重要度を判定する(ステップS5)。ここでは、メールの重要度が「重要」、「一般」、「spam」のいずれかであるかが判定される。そして、メール重要度判定部113は、その判定結果を付した重要度判定応答450(図4)をメールサーバ処理部112に出力する(ステップS6)。
【0102】
重要度判定応答450を受信したメールサーバ処理部112は、メール重要度判定部113が判定したメールの重要度と、バックアップサーバ管理テーブル100(図2)の情報を用いて、複数台のバックアップサーバ20のうち、メールを保存するバックアップサーバ20の台数と、その保存先となるバックアップサーバ20を決定する(メール保存先決定処理:ステップS7)。
【0103】
続いて、メールサーバ処理部112は、決定したメールの保存先となるバックアップサーバ20に、メール保存要求500(図6)を送信する(ステップS8)。メール保存要求500を受信したバックアップサーバ20のバックアップサーバ処理部212は、受信したメールの情報を、メモリ部230内のバックアップサーバ保存メール情報250(図11)に記憶する(ステップS9)。そして、バックアップサーバ処理部212は、メール保存応答550(図7)をメールサーバ10に送信する(ステップS10)。
【0104】
メール保存応答550を受信したメールサーバ10のメールサーバ処理部112は、メールサーバ保存メール情報200(図5)の使用バックアップサーバ204の欄の入力を行い(ステップS11)、また、メール本文203の欄の情報を削除する(ステップS12)。
【0105】
次に、メールサーバ10は、通信端末30からのメール送信要求を受信する(ステップS13)。すると、メールサーバ10のメールサーバ処理部112は、メールサーバ保存メール情報200(図5)の使用バックアップサーバ204を参照し、バックアップサーバ20にメールデータ要求を送信する(ステップS14)。なお、このとき、メールが複数のバックアップサーバ20に保存されている場合には、ランダムにいずれかのバックアップサーバ20にメールデータ要求を送信してもよいし、複数のバックアップサーバ20に優先度を設けて、優先度の高いバックアップサーバ20にメールデータ要求を送信するようにしてもよい。
【0106】
メールデータ要求を受信したバックアップサーバ20のバックアップサーバ処理部212は、該当するメールの情報をメモリ部230内のバックアップサーバ保存メール情報250(図11)から取得し、メールサーバ10に対し、メールデータ応答として送信する(ステップS15)。
【0107】
メールデータ応答を受信したメールサーバ10のメールサーバ処理部112は、通信端末30に、メールを送信し(ステップS16)、送信したメール本文を削除する(ステップS17)。続いて、メールサーバ10からメールを受信した通信端末30は、メールサーバ10にメール受信応答を送信する(ステップS18)。
【0108】
なお、ステップS12でのメール本文203の削除は、メールサーバ10のメモリ使用量をできるだけ削減するために行うものであり、このメール本文203の削除処理を行わないようにしてもよい。ステップS12の処理を行わない場合、ステップS14,S15の処理は行わない。また、ステップS17の処理を行わないようにしてもよい。
【0109】
次に、メールサーバ10のメールサーバ処理部112は、通信端末30からメール受信応答を受信すると、バックアップサーバ20に対して、該当するメールの情報の削除を要求するメール削除要求600(図8)を送信する(ステップS19)。メール削除要求600を受信したバックアップサーバ20のバックアップサーバ処理部212は、該当するメールの情報をバックアップサーバ保存メール情報250(図11)から削除する(ステップS20)。そして、バックアップサーバ処理部212は、メール削除応答650(図9)をメールサーバ10に送信する(ステップS21)。バックアップサーバ20からメール削除応答650を受信したメールサーバ10のメールサーバ処理部112は、該当するメールの情報をメールサーバ保存メール情報200(図5)から削除して(ステップS22)、処理を終える。
【0110】
このようにすることで、本実施形態に係るメール保存バックアップシステムおよびバックアップ方法によれば、受信したメールの重要度を判定し、その重要度と、各バックアップサーバ20から取得したメモリ使用量等の状態情報に基づき、メールを保存するバックアップサーバ20の台数と、そのメールの保存先となるバックアップサーバ20とを決定することができる。よって、メールを保存する際の対障害性を確保した上で、メールの収容効率を高めることができる。
【符号の説明】
【0111】
1 メールシステム
5 メール保存バックアップシステム
10 メールサーバ
20 バックアップサーバ
30 通信端末
40 外部サーバ
50 ネットワーク
100 バックアップサーバ管理テーブル(バックアップサーバ管理情報)
110,210 制御部
111 バックアップサーバ監視部
112 メールサーバ処理部
113 メール重要度判定部
120,220 入出力部
130,230 メモリ部
140,240 記憶部
141,241 動作ログ情報
200 メールサーバ保存メール情報
250 バックアップサーバ保存メール情報
300 メール重要度判定テーブル

【特許請求の範囲】
【請求項1】
外部サーバからメールを受信するメールサーバと、前記メールサーバが受信したメールをバックアップのために保存する複数のバックアップサーバとを備えるメール保存バックアップシステムであって、
前記メールサーバは、
前記複数のバックアップサーバそれぞれの現時点でのメモリ使用量を含む状態情報を格納するバックアップサーバ管理情報が記憶されるメモリ部と、
前記複数のバックアップサーバから、所定の間隔で前記状態情報を取得し、前記バックアップサーバ管理情報に記憶するバックアップサーバ監視部と、
前記受信したメールについて、前記バックアップサーバに優先的に保存しておくべきか否かの指標である重要度を判定するメール重要度判定部と、
前記判定した重要度と、前記取得した状態情報に含まれる現時点でのメモリ使用量とに基づき、前記受信したメールを保存する前記バックアップサーバの台数を決定し、
前記複数のバックアップサーバの中から、前記受信したメールの保存先となる前記バックアップサーバを、前記決定したバックアップサーバの台数について選定し、
前記選定したバックアップサーバそれぞれに、前記受信したメールを送信するメールサーバ処理部と、を備え、
前記バックアップサーバは、
前記メールサーバに、前記所定の間隔で、前記状態情報を送信するバックアップサーバ情報管理部と、
前記メールサーバからの前記メールを受信し、当該バックアップサーバのメモリ部に保存するバックアップサーバ処理部と、を備えること
を特徴とするメール保存バックアップシステム。
【請求項2】
前記メールサーバは、
前記メモリ部の前記バックアップサーバ管理情報に、さらに、前記バックアップサーバのメモリ使用量が当該バックアップサーバの全メモリ量に比べて少ないと判定される閾値である下限閾値と、前記バックアップサーバのメモリ使用量が当該バックアップサーバの全メモリ量に比べて多い判定される上限閾値とを、前記複数のバックアップサーバ毎に格納しており、
前記メールサーバ処理部が、前記メールを保存するバックアップサーバの台数を決定するときに、
少なくとも1台の前記バックアップサーバの前記現時点でのメモリ使用量が前記上限閾値を超えているか否かを判定し、前記上限閾値を少なくとも1台が超えている場合に前記選定するバックアップサーバの台数を、
前記バックアップサーバそれぞれの前記現時点でのメモリ使用量がいずれも前記下限閾値未満か否かを判定し、いずれも前記下限閾値未満の場合に前記選定するバックアップサーバの台数以下に決定すること
を特徴とする請求項1に記載のメール保存バックアップシステム。
【請求項3】
前記メールサーバは、
前記メール重要度判定部が、前記重要度を高く判定したメール程、前記メールサーバ処理部が、前記メールを保存するバックアップサーバの台数を決定するときに、前記保存先となるバックアップサーバの台数を多く決定すること
を特徴とする請求項1または請求項2に記載のメール保存バックアップシステム。
【請求項4】
前記メールサーバは、
前記メールサーバ処理部が、前記保存先となるバックアップサーバを選定するときに、
前記複数のバックアップサーバのうち、前記メモリ使用量の少ない順に、前記メールの保存先となるバックアップサーバを選定すること
を特徴とする請求項1ないし請求項3のいずれか1項に記載のメール保存バックアップシステム。
【請求項5】
外部サーバからメールを受信するメールサーバと、前記メールサーバが受信したメールをバックアップのために保存する複数のバックアップサーバとを備えるメール保存バックアップシステムのバックアップ方法であって、
前記メールサーバは、
前記複数のバックアップサーバそれぞれの現時点でのメモリ使用量を含む状態情報を格納するバックアップサーバ管理情報が記憶されるメモリ部を備えており、
前記複数のバックアップサーバから、所定の間隔で前記状態情報を取得し、前記バックアップサーバ管理情報に記憶するステップと、
前記外部サーバからメールを受信するステップと、
前記受信したメールについて、前記バックアップサーバに優先的に保存しておくべきか否かの指標である重要度を判定するステップと、
前記判定した重要度と、前記取得した状態情報に含まれる現時点でのメモリ使用量とに基づき、前記受信したメールを保存する前記バックアップサーバの台数を決定するステップと、
前記複数のバックアップサーバの中から、前記受信したメールの保存先となる前記バックアップサーバを、前記決定したバックアップサーバの台数について選定するステップと、
前記選定したバックアップサーバそれぞれに、前記受信したメールを送信するステップと、を実行し、
前記バックアップサーバは、
前記メールサーバに、前記所定の間隔で、前記状態情報を送信するステップと、
前記メールサーバからの前記メールを受信し、当該バックアップサーバのメモリ部に保存するステップと、を実行すること
を特徴とするバックアップ方法。
【請求項6】
前記メールサーバは、
前記メモリ部の前記バックアップサーバ管理情報に、さらに、前記バックアップサーバのメモリ使用量が当該バックアップサーバの全メモリ量に比べて少ないと判定される閾値である下限閾値と、前記バックアップサーバのメモリ使用量が当該バックアップサーバの全メモリ量に比べて多い判定される上限閾値とを、前記複数のバックアップサーバ毎に格納しており、
前記メールを保存するバックアップサーバの台数を決定するステップにおいて、
少なくとも1台の前記バックアップサーバの前記現時点でのメモリ使用量が前記上限閾値を超えているか否かを判定し、前記上限閾値を少なくとも1台が超えている場合に前記選定するバックアップサーバの台数を、
前記バックアップサーバそれぞれの前記現時点でのメモリ使用量がいずれも前記下限閾値未満か否かを判定し、いずれも前記下限閾値未満の場合に前記選定するバックアップサーバの台数以下に決定すること
を特徴とする請求項5に記載のバックアップ方法。
【請求項7】
前記メールサーバは、
前記受信したメールの重要度を判定するステップにおいて、前記重要度が高く判定されたメール程、前記メールを保存するバックアップサーバの台数を決定するステップにおいて、前記保存先となるバックアップサーバの台数を多く決定すること
を特徴とする請求項5または請求項6に記載のバックアップ方法。
【請求項8】
前記メールサーバは、
前記保存先となるバックアップサーバを選定するステップにおいて、
前記複数のバックアップサーバのうち、前記メモリ使用量の少ない順に、前記メールの保存先となるバックアップサーバを選定すること
を特徴とする請求項5ないし請求項7のいずれか1項に記載のバックアップ方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate


【公開番号】特開2012−168713(P2012−168713A)
【公開日】平成24年9月6日(2012.9.6)
【国際特許分類】
【出願番号】特願2011−28855(P2011−28855)
【出願日】平成23年2月14日(2011.2.14)
【出願人】(000005108)株式会社日立製作所 (27,607)
【Fターム(参考)】