(57)【要約】【課題】メッセージングシステムにおける障害範囲特定の高速化を実現する。【解決手段】ネットワークを介して接続される複数の計算機を備え、端末からメッセージを受信し、宛先の装置に当該メッセージを送信する計算機システムであって、メッセージ受信部と、第１のログ出力部と、受信ログデータを格納する第１の記憶部と、を有する第１の計算機、データストアを管理するデータストア管理部と、データストアに格納されるメッセージの中から所定の条件に一致するメッセージを検索する第１の検索部と、第２のログ出力部と、データストアログデータを格納する第２の記憶部と、を有する第２の計算機、メッセージ送信部と、第３のログ出力部と、送信ログデータを格納する第３の記憶部と、を有する第３の計算機、並びに、監視部と、ログ収集部と、損失した前記メッセージを検索する第２の検索部と、を有する第４の計算機、を備える。【選択図】図９
2014229249.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して接続される複数の計算機を備え、端末からメッセージを受信し、宛先の装置に当該メッセージを送信する計算機システムであって、
前記複数の計算機の各々は、プロセッサ、前記プロセッサに接続されるメモリ、及び前記プロセッサに接続されるネットワークインタフェースを有し、
前記計算機システムは、
前記端末から前記メッセージを受信するメッセージ受信部と、前記受信したメッセージのログである受信ログを出力する第１のログ出力部と、複数の前記受信ログが含まれる受信ログデータを格納する第１の記憶部と、を有する第１の計算機、
前記メモリの記憶領域を用いて構築され、前記メッセージを格納するデータストアを管理するデータストア管理部と、前記データストアに格納される前記メッセージの中から所定の条件に一致するメッセージを検索する第１の検索部と、前記検索されたメッセージのログであるデータストアログを出力する第２のログ出力部と、複数の前記データストアログが含まれるデータストアログデータを格納する第２の記憶部と、を有する第２の計算機、
前記データストアに格納される前記メッセージを取得し、前記宛先の装置に前記メッセージを送信するメッセージ送信部と、前記宛先の装置に送信された前記メッセージのログである送信ログを出力する第３のログ出力部と、複数の前記送信ログが含まれる送信ログデータを格納する第３の記憶部と、を有する第３の計算機、並びに、
前記データストアの状態を監視する第１の監視部と、前記データストアの障害発生が検知された場合に、前記第１の記憶部、前記第２の記憶部、及び前記第３の記憶部のそれぞれから、前記受信ログデータ、前記データストアログデータ、及び前記送信ログデータを取得する第１のログ収集部と、前記取得された受信ログデータ、前記データストアログデータ、及び前記送信ログデータを比較することによって、前記データストアの障害発生によって損失した前記メッセージを検索する第２の検索部と、前記受信ログデータ、前記データストアログデータ、及び前記送信ログデータを格納する第４の記憶部と、を有する第４の計算機、を備えることを特徴とする計算機システム。
【請求項２】
請求項１に記載の計算機システムであって、
前記第１の検索部は、
前記データストアに格納される前記メッセージの中から処理対象のメッセージを選択し、
現在の時刻、及び前記選択されたメッセージに含まれる日時の情報に基づいて、当該メッセージの滞留時間を算出し、
前記算出された滞留時間が第１の時間幅より大きい場合、前記選択されたメッセージを前記データストアログの出力対象に決定し、
前記出力対象のメッセージの識別情報のリストを前記メモリ上に生成し、
前記第２のログ出力部は、
前記リストに基づいて、前記出力対象のメッセージのデータストアログを生成し、
前記生成されたデータストアログを前記第２の記憶部に格納される前記データストアログデータに追加することを特徴とする計算機システム。
【請求項３】
請求項２に記載の計算機システムであって、
前記第１の監視部は、
前記第２の計算機から当該第２の計算機の稼働状態を示す状態情報を取得し、
前記取得された状態情報に基づいて、前記メッセージの損失が発生したか否かを判定し、
前記メッセージの損失が発生したと判定された場合、前記第１の計算機、前記第２の計算機、及び前記第３の計算機に、ログ取得要求を送信し、
前記第１の計算機、前記第２の計算機、及び前記第３の計算機のそれぞれから受信した前記受信ログデータ、前記データストアログデータ、及び前記送信ログデータを前記第４の記憶部に格納し、
前記第２の検索部は、
前記取得された受信ログデータから、現在の時刻と、前記現在の時刻から前記第１の時間幅分さかのぼった時刻である第１の時刻との間に含まれる受信ログを抽出し、
前記取得された送信ログデータから、前記現在の時刻と、前記第１の時刻との間に含まれる第１の送信ログを抽出し、
前記取得されたデータストアログデータから、前記第１の時刻と、前記第１の時刻から第２の時間幅分さかのぼった時刻である第２の時刻との間に含まれるデータストアログを抽出し、
前記取得された送信ログデータから、前記第１の時刻と、前記第２の時刻との間に含まれる第２の送信ログを抽出し、
前記抽出された受信ログと前記抽出された第１の送信ログとを比較し、さらに、前記抽出されたデータストアログと前記抽出された第２の送信ログとを比較し、
前記比較の結果に基づいて、前記データストアの障害発生によって損失したメッセージを特定し、
前記特定されたメッセージに関する情報を前記第１の計算機に送信することを特徴とすることを特徴とする計算機システム。
【請求項４】
請求項２又は請求項３に記載の計算機システムであって、
前記第２のログ出力部は、前記出力対象のメッセージそのもの、又は前記出力対象のメッセージから生成される検索キーのいずれか一方を前記データストアログとして出力すること特徴とする計算機システム。
【請求項５】
請求項３に記載の計算機システムであって、
前記メッセージ受信部は、
前記第２の検索部から前記特定されたメッセージに関する情報を受信した場合に、前記損失したメッセージを通知するための通知情報を生成し、
前記生成された通知情報を前記端末に送信することを特徴とする計算機システム。
【請求項６】
請求項２又は請求項３に記載の計算機システムであって、
前記計算機システムは、
前記端末を接続する第１のネットワークと、前記宛先となる装置を接続する第２のネットワークと、前記第１のネットワーク及び前記第２のネットワークを接続する複数の第３のネットワークと、を含み、
前記複数の第３のネットワークの各々には、前記第１の計算機、前記第２の計算機、前記第３の計算機、及び前記第４の計算機が接続され、
前記計算機システムは、
前記複数の第３のネットワークと接続され、かつ、前記複数の第３のネットワークの各々の障害を監視する第２の監視部と、前記複数の第３のネットワークの各々から前記受信ログデータ、前記データストアログデータ、及び前記送信ログデータを取得する第２のログ収集部と、前記複数の第３のネットワーク毎に、取得された前記受信ログデータ、前記データストアログデータ、及び前記送信ログデータを格納する第５の記憶部とを有する第５の計算機を備え、
前記第２のログ収集部は、
前記複数の第３のネットワークの各々の前記第４の計算機に対して、ログ取得要求を送信し、
受信した前記受信ログデータ、前記データストアログデータ、及び前記送信ログデータを前記第５の記憶部に格納し、
前記第２の監視部は、
前記ログ取得要求に対する応答がない前記第４の計算機が存在するか否かを判定し、
前記ログ取得要求に対する応答がない前記第４の計算機が存在する場合、当該第４の計算機が接続される前記第３のネットワークの障害と判定し、
前記第５の記憶部から、前記障害が発生した第３のネットワークに対応する前記受信ログデータ、前記データストアログデータ、及び前記送信ログデータを読み出し、
障害が発生していない前記第３のネットワークに接続される前記第４の計算機に、読み出された前記受信ログデータ、前記データストアログデータ、及び前記送信ログデータを含む障害情報を送信し、
前記第２の検索部は、前記障害情報を受信した場合、当該障害情報に基づいて、前記障害が発生した第３のネットワークにおいて損失したメッセージを検索することを特徴とする計算機システム。
【請求項７】
請求項２又は請求項３に記載の計算機システムであって、
前記第１の計算機、前記第２の計算機、前記第３の計算機、及び前記第４の計算機は、同一の前記計算機の計算機資源を用いて実現されることを特徴とする計算機システム。
【請求項８】
ネットワークを介して接続される複数の計算機を備え、端末からメッセージを受信し、宛先の装置に当該メッセージを送信する計算機システムにおける障害特定方法であって、
前記複数の計算機の各々は、プロセッサ、前記プロセッサに接続されるメモリ、及び前記プロセッサに接続されるネットワークインタフェースを有し、
前記計算機システムは、
メッセージ受信部と、第１のログ出力部と、複数の受信ログが含まれる受信ログデータを格納する第１の記憶部と、を有する第１の計算機、
前記メモリの記憶領域を用いて構築され、前記メッセージを格納するデータストアを管理するデータストア管理部と、第１の検索部と、第２のログ出力部と、複数のデータストアログが含まれるデータストアログデータを格納する第２の記憶部と、を有する第２の計算機、
メッセージ送信部と、第３のログ出力部と、複数の送信ログが含まれる送信ログデータを格納する第３の記憶部と、を有する第３の計算機、及び、
第１の監視部と、第１のログ収集部と、第２の検索部と、第４の記憶部と、を有する第４の計算機、を備え、
前記方法は、
前記メッセージ受信部が、前記端末からメッセージを受信する第１のステップと、
前記メッセージ受信部が、前記受信したメッセージを含むメッセージ格納要求を前記データストア管理部に送信する第２のステップと、
前記データストア管理部は、前記メッセージ格納要求に含まれる前記メッセージを前記データストアに格納する第３のステップと、
前記第１のログ出力部が、前記データストア管理部から前記メッセージ格納要求に対する応答である第１の通知を受信した後に、前記受信したメッセージの受信ログを、前記第１の記憶部の前記受信ログデータに追加する第４のステップと、
前記メッセージ送信部が、前記データストア管理部にメール取得要求を送信する第５のステップと、
前記メッセージ送信部が、前記データストア管理部から前記メール取得要求に対応する応答である第２の通知、及びメールを受信する第６のステップと、
前記メッセージ送信部が、前記受信したメールを前記宛先の装置に送信する第７のステップと、
前記第３のログ出力部が、前記宛先の装置から、前記取得されたメールを受信したことを示す第３の通知を受信した後、前記取得されたメールの送信ログを、前記第３の記憶部の前記送信ログデータに追加する第８のステップと、
前記第１の検索部が、前記データストアに格納される前記メッセージの中から所定の条件に一致するメッセージを検索する第９のステップと、
前記第２のログ出力部が、前記検索されたメッセージのデータストアログを、前記第２の記憶部に格納される前記データストアログデータに追加する第１０のステップと、
前記第１の監視部が、前記データストアの状態を監視する第１１のステップと、
前記第１のログ収集部が、前記第１の監視部によって前記データストアの障害発生が検知された場合、前記第１の記憶部、前記第２の記憶部、及び前記第３の記憶部のそれぞれから、前記受信ログデータ、前記データストアログデータ、及び前記送信ログデータを取得する第１２のステップと、
前記第１のログ収集部が、前記受信ログデータ、前記データストアログデータ、及び前記送信ログデータを前記第４の記憶部に格納する第１３のステップと、
前記第２の検索部が、取得された前記受信ログデータ、前記データストアログデータ、及び前記送信ログデータを比較することによって、前記データストアの障害発生によって損失した前記メッセージを検索する第１４のステップと、
を含むことを特徴とする障害特定方法。
【請求項９】
請求項８に記載の障害特定方法であって、
前記第９のステップは、
前記データストアに格納される前記メッセージの中から処理対象のメッセージを選択するステップと、
現在の時刻、及び前記選択されたメッセージに含まれる日時の情報に基づいて、当該メッセージの滞留時間を算出するステップと、
前記算出された滞留時間が第１の時間幅より大きい場合、前記選択されたメッセージを前記データストアログの出力対象に決定するステップと、
前記出力対象のメッセージの識別情報のリストを前記メモリ上に生成するステップと、を含み、
前記第１０のステップは、
前記リストに基づいて、前記出力対象のメッセージのデータストアログを生成するステップと、
前記生成されたデータストアログを前記第２の記憶部に格納される前記データストアログデータに追加するステップと、を含むことを特徴とする障害特定方法。
【請求項１０】
請求項９に記載の障害特定方法であって、
前記第１１のステップは、
前記第２の計算機から当該第２の計算機の稼働状態を示す状態情報を取得するステップと、
前記取得された状態情報に基づいて、前記メッセージの損失が発生したか否かを判定するステップと、を含み、
前記第１２のステップは、前記メッセージの損失が発生したと判定された場合、前記第１の計算機、前記第２の計算機、及び前記第３の計算機に、ログ取得要求を送信するステップと、
前記第１の計算機、前記第２の計算機、及び前記第３の計算機のそれぞれから受信した前記受信ログデータ、前記データストアログデータ、及び前記送信ログデータを前記第４の記憶部に格納するステップと、を含み、
前記第１４のステップは、
前記取得された受信ログデータから、現在の時刻と、前記現在の時刻から前記第１の時間幅分さかのぼった時刻である第１の時刻との間に含まれる受信ログを抽出するステップと、
前記取得された送信ログデータから、前記現在の時刻と、前記第１の時刻との間に含まれる第１の送信ログを抽出するステップと、
前記取得されたデータストアログデータから、前記第１の時刻と、前記第１の時刻から第２の時間幅分さかのぼった時刻である第２の時刻との間に含まれるデータストアログを抽出するステップと、
前記取得された送信ログデータから、前記第１の時刻と、前記第２の時刻との間に含まれる第２の送信ログを抽出するステップと、
前記抽出された受信ログと前記抽出された第１の送信ログとを比較し、さらに、前記抽出されたデータストアログと前記抽出された第２の送信ログとを比較するステップと、
前記比較の結果に基づいて、前記データストアの障害発生によって損失したメッセージを特定するステップと、
前記特定されたメッセージに関する情報を前記メッセージ受信部に送信するステップと、を含むことを特徴とすることを特徴とする障害特定方法。
【請求項１１】
請求項９又は請求項１０に記載の障害特定方法であって、
前記第１０のステップでは、前記出力対象のメッセージそのもの、又は前記出力対象のメッセージから生成される検索キーのいずれか一方を前記データストアログとして出力されること特徴とする障害特定方法。
【請求項１２】
請求項１０に記載の障害特定方法であって、
前記方法は、さらに、
前記メッセージ受信部が、前記第２の検索部から前記特定されたメッセージに関する情報を受信した場合に、前記損失したメッセージを通知するための通知情報を生成するステップと、
前記メッセージ受信部が、前記生成された通知情報を前記端末に送信するステップと、
を含むことを特徴とする障害特定方法。
【請求項１３】
請求項９又は請求項１０の障害特定方法であって、
前記計算機システムは、
前記端末を接続する第１のネットワークと、前記宛先となる装置を接続する第２のネットワークと、前記第１のネットワーク及び前記第２のネットワークを接続する複数の第３のネットワークと、を含み、
前記複数の第３のネットワークの各々には、前記第１の計算機、前記第２の計算機、前記第３の計算機、及び前記第４の計算機が接続され、
前記計算機システムは、
前記複数の第３のネットワークと接続され、かつ、第２の監視部と、第２のログ収集部と、前記複数の第３のネットワーク毎に、前記受信ログデータ、前記データストアログデータ、及び前記送信ログデータを格納する第５の記憶部とを有する第５の計算機を備え、
前記方法は、
前記第２のログ収集部が、前記複数の第３のネットワークの各々の前記第４の計算機に対して、ログ取得要求を送信するステップと、
前記第２のログ収集部が、受信した前記受信ログデータ、前記データストアログデータ、及び前記送信ログデータを前記第５の記憶部に格納するステップと、
前記第２の監視部が、前記ログ取得要求に対する応答がない前記第４の計算機が存在するか否かを判定するステップと、
前記第２の監視部が、前記ログ取得要求に対する応答がない前記第４の計算機が存在する場合、当該第４の計算機が接続される前記第３のネットワークの障害と判定するステップと、
前記第２の監視部が、前記第５の記憶部から、前記障害が発生した第３のネットワークに対応する前記受信ログデータ、前記データストアログデータ、及び前記送信ログデータを読み出すステップと、
前記第２の監視部が、障害が発生していない前記第３のネットワークに接続される前記第４の計算機に、読み出された前記受信ログデータ、前記データストアログデータ、及び前記送信ログデータを含む障害情報を送信するステップと、
前記第２の検索部が、前記障害情報を受信した場合に、当該障害情報に基づいて、前記障害が発生した第３のネットワークにおいて前記損失したメッセージを検索するステップと、を含むことを特徴とする障害特定方法。
【請求項１４】
請求項９又は請求項１０に記載の障害特定方法であって、
前記第１の計算機、前記第２の計算機、前記第３の計算機、及び前記第４の計算機は、同一の前記計算機の計算機資源を用いて実現されることを特徴とする障害特定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書で開示される主題は、メッセージングシステムにおいて、高速に障害範囲を特定可能なシステム及び方法に関する。
【背景技術】
【０００２】
ネットワークを介して数多くのデータ（ビッグデータ）が送受信されるようになり、ビッグデータを効率的に処理するメッセージング技術の重要性が高まりつつある。一般的なメッセージング技術では、送信先サーバへのメッセージ（例えば、センサデータ等）の中継処理は、メッセージの受信サーバ、送信サーバ、及びメッセージを格納するバックアップストレージから構成されるメッセージングシステムを用いて行う。
【０００３】
メッセージングシステムは、メッセージの中継処理では、以下の処理を行う。
【０００４】
まず、受信サーバが送信端末からメッセージを受信し、受信したメッセージをバックアップストレージに記憶した上で、送信端末へ応答する。この後、送信サーバがバックアップストレージからメッセージを取得し、送信先サーバへ取得されたメッセージの中継を行った後、バックアップストレージ上のメッセージを削除する。
【０００５】
前述した処理手順を踏むことによって、バックアップストレージへの格納が済んだ時点で送信端末に応答を返すことができ、応答性能の向上することができる。また、バックアップストレージへメッセージを格納することによって、格納されたメッセージの永続性を保障することができる。
【０００６】
近年、インメモリＫＶＳ（Ｋｅｙ  Ｖａｌｕｅ  Ｓｔｏｒｅ）を利用することによって、大量のデータを効率的、かつ、高速に処理することが可能なメッセージングシステムが普及しつつある。
【０００７】
インメモリＫＶＳは、ＫｅｙとＶａｌｕｅとが組となったデータを揮発性メモリに記憶するデータストアであり、高いスケーラビリティを実現でき、また、データがメモリ上に記憶されるため高い処理性能を実現できる。また、インメモリＫＶＳでは、複数サーバ間でデータのレプリケーション（複製）を行うことによって、インメモリ環境において心配されるデータの損失を防ぐことができる。
【０００８】
以下の説明では、ＫｅｙとＶａｌｕｅとが組となったデータを揮発性メモリに記憶する処理を格納、Ｋｅｙに対応するＶａｌｕｅを揮発性メモリから読み出す処理を取得、ＫｅｙとＶａｌｕｅとが組となったデータを揮発性メモリから消去する処理を削除と表記する。
【０００９】
前述のインメモリＫＶＳを利用したメッセージングシステムでは、高速処理のためインメモリ（揮発性メモリ）上にデータを管理されているが、多重障害が発生した場合、データが完全に損失してしまう可能性がある。さらに、データの損失が発生した場合、受信サーバ、送信サーバ、及びインメモリＫＶＳがそれぞれ分担してメッセージの処理を行っているため、当該損失したデータを特定することが困難である。従って、障害範囲（何人・何件分のメッセージが損失したか等）を把握することが難しいという問題がある。
【００１０】
一般的に、メッセージングシステムでは、データの損失が発生し、かつ、データの損失による送信失敗を送信側に通知できない場合、サービス障害として扱われる。そのため、インメモリＫＶＳを用いたメッセージングシステムでは、データの復旧し、又は障害範囲を特定し、送信端末にエラーを応答するなどの対応ができない場合、サービス障害を引き起こす可能性があることから、安定したメッセージングシステムを提供することができない。
【００１１】
データを復旧することによってサービス障害を防止する方法として、特許文献１に記載の技術が知られている。
【００１２】
特許文献１に記載の技術は、ＤＢ技術である先行ログ書き込み（ＷＡＬ：Ｗｒｉｔｅ  Ａｈｅａｄ  Ｌｏｇｇｉｎｇ）として一般的に知られている技術である。先行ログ書き込みは、Ｈｂａｓｅに代表されるインメモリＤＢ等でも利用されている技術であり、データを書き込む際に、処理内容を不揮発性の記憶媒体にログとして残しておき、ログに記載された処理をやりなおすことでデータを復旧させるものである。先行ログ書き込みでは、受信サーバ及び送信サーバがインメモリＫＶＳに対して処理を行うたびに、インメモリＫＶＳでは格納したデータの内容までを含む処理のログを不揮発性の記憶媒体に記録する。そして、インメモリＫＶＳに障害が発生した際には、インメモリＫＶＳを再起動し、ログに記載された処理を実行し、障害前の状態まで復旧する。先行ログ書き込みでは、これらの手順を踏むことでデータが損失する前の状態に戻すことができるため、データ損失によるサービス障害を防ぐことが可能となる。
【００１３】
また、障害範囲を特定可能とすることによってサービス障害を防止する方法として、特許文献２に記載の技術が知られている。
【００１４】
特許文献２には、「サーバが保持するログ情報中に含まれる、ログ情報で処理毎に付与されるセッション情報をセッション情報管理テーブルに記録し、また異なるログ情報間でのセッション情報の対応関係についてセッション情報対応テーブルに記録する。利用者が表示箇所入力部によって指示したセッション情報から、セッション情報対応テーブルを再帰的に検索することにより、利用者が注目している処理に関連する一連のセッション情報を特定できる。関連する一連のセッション情報のそれぞれについて、対応する情報をログ情報より収集し、ログの記録された日時に従って統合し、処理の流れが理解し易い形に整形し利用者に提示する」ことが記載されている。
【先行技術文献】
【特許文献】
【００１５】
【特許文献１】米国特許第４１５９５１７号明細書
【特許文献２】特開２００４−２２７３６０号公報
【発明の概要】
【発明が解決しようとする課題】
【００１６】
しかし、特許文献１に記載の技術では、格納される全てのデータに対して、処理毎にインメモリＫＶＳ上にログが書き込まれるため、インメモリＫＶＳの性能が低下する。従って、高速な処理が可能なインメモリＫＶＳの利点が損なわれる。
【００１７】
また、特許文献２に記載の技術では、全ての受信サーバ、全ての送信サーバの台数だけ、何時間分ものログをチェックする必要があり、障害範囲の特定に時間がかかる。
【００１８】
本発明は上記課題を解決するためになされた発明である。すなわち、インメモリＫＶＳへのログの書き込みによる性能低下を防止し、かつ、高速に障害範囲を特定可能なシステム及び方法を提供することである。
【課題を解決するための手段】
【００１９】
本発明の代表的な一例を示せば以下の通りである。すなわち、ネットワークを介して接続される複数の計算機を備え、端末からメッセージを受信し、宛先の装置に当該メッセージを送信する計算機システムであって、前記複数の計算機の各々は、プロセッサ、前記プロセッサに接続されるメモリ、及び前記プロセッサに接続されるネットワークインタフェースを有し、前記計算機システムは、前記端末から前記メッセージを受信するメッセージ受信部と、前記受信したメッセージのログである受信ログを出力する第１のログ出力部と、複数の前記受信ログが含まれる受信ログデータを格納する第１の記憶部と、を有する第１の計算機、前記メモリの記憶領域を用いて構築され、前記メッセージを格納するデータストアを管理するデータストア管理部と、前記データストアに格納される前記メッセージの中から所定の条件に一致するメッセージを検索する第１の検索部と、前記検索されたメッセージのログであるデータストアログを出力する第２のログ出力部と、複数の前記データストアログが含まれるデータストアログデータを格納する第２の記憶部と、を有する第２の計算機、前記データストアに格納される前記メッセージを取得し、前記宛先の装置に前記メッセージを送信するメッセージ送信部と、前記宛先の装置に送信された前記メッセージのログである送信ログを出力する第３のログ出力部と、複数の前記送信ログが含まれる送信ログデータを格納する第３の記憶部と、を有する第３の計算機、並びに、前記データストアの状態を監視する第１の監視部と、前記データストアの障害発生が検知された場合に、前記第１の記憶部、前記第２の記憶部、及び前記第３の記憶部のそれぞれから、前記受信ログデータ、前記データストアログデータ、及び前記送信ログデータを取得する第１のログ収集部と、前記取得された受信ログデータ、前記データストアログデータ、及び前記送信ログデータを比較することによって、前記データストアの障害発生によって損失した前記メッセージを検索する第２の検索部と、前記受信ログデータ、前記データストアログデータ、及び前記送信ログデータを格納する第４の記憶部と、を有する第４の計算機、を備えることを特徴とする。
【発明の効果】
【００２０】
本発明によれば、所定の条件を満たすメッセージのデータストアログのみが記憶部に書き込まれるため、データストアへのログの書き込みによる性能低下を防止することができる。また、書き込まれるログの数が少ないため、高速に障害範囲を特定することができる。
【００２１】
上記した以外の課題、構成及び効果は、以下の実施例の説明により明らかにされる。
【図面の簡単な説明】
【００２２】
【図１】本発明の実施例１におけるメッセージシステムの構成の一例を示す説明図である。
【図２】本発明の実施例１におけるメール受信サーバの構成の一例を説明するブロック図である。
【図３】本発明の実施例１におけるメール送信サーバの構成の一例を説明するブロック図である。
【図４】本発明の実施例１におけるデータストアサーバの構成の一例を説明するブロック図である。
【図５】本発明の実施例１における収集・検索サーバの構成の一例を説明するブロック図である。
【図６Ａ】本発明の実施例１における収集・検索サーバ上に格納される受信ログデータの内容の一例を示す説明図である。
【図６Ｂ】本発明の実施例１における収集・検索サーバ上に格納される送信ログデータの内容の一例を示す説明図である。
【図６Ｃ】本発明の実施例１における収集・検索サーバ上に格納されるデータストアログデータの内容の一例を示す説明図である。
【図７】本発明の実施例１のメール受信処理の一例を説明するシーケンス図である。
【図８Ａ】本発明の実施例１のメール送信処理の一例を説明するシーケンス図である。
【図８Ｂ】本発明の実施例１のメール送信処理の一例を説明するシーケンス図である。
【図９】本発明の実施例１におけるデータストアサーバのデータ検索処理部によって実行されるメールデータの検索処理を説明するフローチャートである。
【図１０】本発明の実施例１におけるデータストアサーバの障害発生時に実行される処理を説明するシーケンス図である。
【図１１】本発明の実施例１における収集・検索サーバが障害範囲を特定する場合に用いるログデータを示す説明図である。
【図１２】本発明の実施例１の収集・検索サーバの操作時にオペレータが用いるターミナル画面の一例を示す説明図である。
【図１３】本発明の変形例におけるデータストアサーバのデータ検索処理部によって実行されるメールデータの検索処理を説明するフローチャートである。
【図１４】本発明の実施例２におけるメッセージシステムの構成の一例を示す説明図である。
【図１５】本発明の実施例２におけるログ管理サーバの構成の一例を説明するブロック図である。
【図１６】本発明の実施例２におけるキャリア設備網に障害が発生した場合に実行される処理を説明するシーケンス図である。
【発明を実施するための形態】
【００２３】
以下、本発明の実施例を添付図面に基づいて説明する。
【００２４】
本発明の実施例を説明するにあたり、メッセージングシステムの代表例であるメールシステムを用いる。
【実施例１】
【００２５】
図１は、本発明の実施例１におけるメールシステムの構成の一例を示す説明図である。
【００２６】
本発明のメールシステム、すなわち、メッセージングシステムは、携帯端末１０１、送信先サーバ１０５、メール受信サーバ１０６、メール送信サーバ１０７、データストアサーバ１０８、及び収集・検索サーバ１０９から構成される。また、メールシステムを構成する装置を接続するネットワークとして、モバイルネットワーク１０２、キャリア設備網１０３、及びインターネット１０４を含む。
【００２７】
携帯端末１０１は、ユーザ等が扱う端末であり、モバイルネットワーク１０２を介してキャリア設備網１０３と接続される。モバイルネットワーク１０２は、携帯端末１０１とキャリア設備網１０３とを接続する無線ネットワークである。キャリア設備網１０３は、モバイルネットワーク１０２、インターネット１０４、メール受信サーバ１０６、メール送信サーバ１０７、データストアサーバ１０８、及び収集・検索サーバ１０９を接続するネットワークである。
【００２８】
送信先サーバ１０５は、インターネット１０４を介してキャリア設備網１０３と接続され、メール送信サーバ１０７とメールの送受信を行う。
【００２９】
メール受信サーバ１０６は、キャリア設備網１０３と接続され、携帯端末１０１からキャリア設備網１０３を介して送信されたメールを受信し、データストアサーバ１０８にメールを格納する。図１では、メール受信サーバ１０６は１台のみとしているが、複数台存在してもよい。
【００３０】
メール送信サーバ１０７は、キャリア設備網１０３と接続され、データストアサーバ１０８からメールを取得し、送信先サーバ１０５にメールを送信する。図１では、メール送信サーバ１０７は１台のみとしているが、複数台存在してもよい。
【００３１】
データストアサーバ１０８は、キャリア設備網１０３と接続され、メール受信サーバ１０６によって格納されたメールを保持する。データストアサーバ１０８はインメモリＫＶＳ等に代表されるメッセージストアである。図１では、データストアサーバ１０８は１台のみとしているが、複数台存在してもよい。
【００３２】
収集・検索サーバ１０９は、キャリア設備網１０３と接続され、データストアサーバ１０８の状況を監視する。また、収集・検索サーバ１０９は、メール受信サーバ１０６、メール送信サーバ１０７、及びデータストアサーバ１０８上のログを収集し、収集されたログを用いて障害範囲を特定する。
【００３３】
なお、図１に示す例では、メール受信サーバ１０６、メール送信サーバ１０７、データストアサーバ１０８、及び収集・検索サーバ１０９をそれぞれ異なる装置として実現しているが本発明はこれに限定されない。二つ以上のサーバの機能を一つの装置を用いて実現してもよい。例えば、一つの装置上にメール受信サーバ１０６及びメール送信サーバ１０７が有する機能を実現してもよいし、また、一つの装置上にメール受信サーバ１０６、メール送信サーバ１０７、データストアサーバ１０８、及び収集・検索サーバ１０９が有する機能を実現してもよい。
【００３４】
また、メール受信サーバ１０６、メール送信サーバ１０７、データストアサーバ１０８、及び収集・検索サーバ１０９は、仮想化技術を用いて実現されてもよい。例えば、一つの計算機上に、メール受信サーバ１０６、メール送信サーバ１０７、データストアサーバ１０８、及び収集・検索サーバ１０９に対応する仮想計算機を生成する方法が考えられる。
【００３５】
図２は、本発明の実施例１におけるメール受信サーバ１０６の構成の一例を説明するブロック図である。
【００３６】
メール受信サーバ１０６は、情報処理装置を用いて実現される。メール受信サーバ１０６は、ハードウェア構成として、プロセッサ２０１、揮発性メモリ２０２、不揮発性メモリ２０３、及びネットワークＩ／Ｆ２０４を備え、各構成はバスなどの内部通信線を介して互いに接続される。
【００３７】
プロセッサ２０１は、揮発性メモリ２０２に格納されるプログラムを実行する。プロセッサ２０１が揮発性メモリ２０２に格納されるプログラムを実行することによって、メール受信サーバ１０６が備える機能が実現される。以下の説明では、プログラムを主体に処理を記載する場合、プロセッサ２０１によって当該プログラムが実行されていることを示す。
【００３８】
揮発性メモリ２０２は、プロセッサ２０１によって実行されるプログラムを格納し、また、当該プログラムの実行に必要なデータを一時的に格納する記憶領域を含む。具体的には、揮発性メモリ２０２は、メール受信処理部２１０を実現するプログラムを格納し、また、揮発性記憶部２２０を含む。
【００３９】
メール受信処理部２１０は、複数のプログラムモジュールから構成され、携帯端末１０１からのメールの受信するための受信処理を制御する。具体的には、メール受信処理部２１０は、メール受信部２１１、データストアサーバＩ／Ｆ部２１２、及びログ出力部２１３を含む。
【００４０】
メール受信部２１１は、携帯端末１０１から送信されたメールの受信処理を実行する。
【００４１】
データストアサーバＩ／Ｆ部２１２は、データストアサーバ１０８に、受信したメールを格納するための格納処理を実行する。
【００４２】
ログ出力部２１３は、データストアサーバ１０８に受信したメールが格納された場合、格納されたメールを特定するための情報を含むデータ形式の受信ログを出力する。本実施例では、出力された受信ログは、不揮発性記憶部２３０の受信ログデータ２３１に格納される。
【００４３】
なお、メール受信部２１１に、データストアサーバＩ／Ｆ部２１２の機能を含めるようにしてもよい。
【００４４】
揮発性記憶部２２０は、メール受信処理部２１０が管理するデータを格納する。
【００４５】
不揮発性メモリ２０３は、永続的にデータを格納する不揮発性記憶部２３０を含む。
【００４６】
不揮発性記憶部２３０は、メール受信処理部２１０が管理するデータを格納し、また、受信ログデータ２３１を格納する。受信ログデータ２３１は、ログ出力部２１３によって出力された一つ以上の受信ログを含むデータである。
【００４７】
ネットワークＩ／Ｆ２０４は、ネットワークを介して他の装置と接続するためのインタフェースである。本実施例では、ネットワークＩ／Ｆ２０４は、キャリア設備網１０３と接続される。
【００４８】
なお、揮発性メモリ２０２に格納されるプログラムは、不揮発性メモリ２０３に格納されてもよい。この場合、プロセッサ２０１は、不揮発性メモリ２０３からプログラムを読み出し、揮発性メモリ２０２に読み出されたプログラムをロードする。
【００４９】
図３は、本発明の実施例１におけるメール送信サーバ１０７の構成の一例を説明するブロック図である。
【００５０】
メール送信サーバ１０７は、情報処理装置を用いて実現される。メール送信サーバ１０７は、ハードウェア構成として、プロセッサ３０１、揮発性メモリ３０２、不揮発性メモリ３０３、及びネットワークＩ／Ｆ３０４を備え、各構成はバスなどの内部通信線を介して互いに接続される。
【００５１】
プロセッサ３０１は、揮発性メモリ３０２に格納されるプログラムを実行する。プロセッサ３０１が揮発性メモリ３０２に格納されるプログラムを実行することによって、メール送信サーバ１０７が備える機能が実現される。以下の説明では、プログラムを主体に処理を記載する場合、プロセッサ３０１によって当該プログラムが実行されていることを示す。
【００５２】
揮発性メモリ３０２は、プロセッサ３０１によって実行されるプログラムを格納し、また、当該プログラムの実行に必要なデータを一時的に格納する記憶領域を含む。具体的には、揮発性メモリ３０２は、メール送信処理部３１０を実現するプログラムを格納し、また、揮発性記憶部３２０を含む。
【００５３】
メール送信処理部３１０は、複数のプログラムモジュールから構成され、送信先サーバ１０５にメールを送信するための送信処理を制御する。具体的には、メール送信処理部３１０は、メール送信部３１１、データストアサーバＩ／Ｆ部３１２、及びログ出力部３１３を含む。
【００５４】
メール送信部３１１は、送信先サーバ１０５へデータストアサーバ１０８から取得されたメールの送信処理を実行する。
【００５５】
データストアサーバＩ／Ｆ部３１２は、データストアサーバ１０８からメールを取得するための取得処理を実行する。
【００５６】
ログ出力部３１３は、送信先サーバ１０５へのメールの送信が完了した場合、送信されたメールを特定するための情報を含むデータ形式の送信ログを出力する。本実施例では、出力された送信ログは、不揮発性記憶部３３０の送信ログデータ３３１に格納される。
【００５７】
揮発性記憶部３２０は、メール送信処理部３１０が管理するデータを格納する。
【００５８】
なお、メール送信部３１１に、データストアサーバＩ／Ｆ部３１２の機能を含めるようにしてもよい。
【００５９】
不揮発性メモリ３０３は、永続的にデータを格納する不揮発性記憶部３３０を含む。
【００６０】
不揮発性記憶部３３０は、メール送信処理部３１０が管理するデータを格納し、また、送信ログデータ３３１を格納する。送信ログデータ３３１は、ログ出力部３１３によって出力された一つ以上の送信ログを含むデータである。
【００６１】
ネットワークＩ／Ｆ３０４は、ネットワークを介して他の装置と接続するためのインタフェースである。本実施例では、ネットワークＩ／Ｆ３０４は、キャリア設備網１０３と接続される。
【００６２】
なお、揮発性メモリ３０２に格納されるプログラムは、不揮発性メモリ３０３に格納されてもよい。この場合、プロセッサ３０１は、不揮発性メモリ３０３からプログラムを読み出し、揮発性メモリ３０２に読み出されたプログラムをロードする。
【００６３】
図４は、本発明の実施例１におけるデータストアサーバ１０８の構成の一例を説明するブロック図である。
【００６４】
データストアサーバ１０８は、情報処理装置を用いて実現される。データストアサーバ１０８は、ハードウェア構成として、プロセッサ４０１、揮発性メモリ４０２、不揮発性メモリ４０３、及びネットワークＩ／Ｆ４０４を備え、各構成はバスなどの内部通信線を介して互いに接続される。
【００６５】
プロセッサ４０１は、揮発性メモリ４０２に格納されるプログラムを実行する。プロセッサ４０１が揮発性メモリ４０２に格納されるプログラムを実行することによって、データストアサーバ１０８が備える機能が実現される。以下の説明では、プログラムを主体に処理を記載する場合、プロセッサ４０１によって当該プログラムが実行されていることを示す。
【００６６】
揮発性メモリ４０２は、プロセッサ４０１によって実行されるプログラムを格納し、また、当該プログラムの実行に必要なデータを一時的に格納する記憶領域を含む。具体的には、揮発性メモリ４０２は、データストア管理部４１０、及びデータ検索処理部４２０を実現するプログラムを格納し、また、揮発性記憶部４３０を含む。
【００６７】
データストア管理部４１０は、データストアの各処理を制御する。データストアの処理には、メール受信サーバ１０６若しくはメール送信サーバ１０７から受信したＫｅｙとＶａｌｕｅの組を揮発性記憶部４３０へ格納するための処理、メール受信サーバ１０６若しくはメール送信サーバ１０７から受信したＫｅｙに対応するＶａｌｕｅを応答するための処理、又はメール受信サーバ１０６若しくはメール送信サーバ１０７から受信したＫｅｙに対応するＶａｌｕｅを削除するための処理が含まれる。
【００６８】
データ検索処理部４２０は、複数のプログラムモジュールから構成され、データストアログとして出力するメールデータを検索するための処理を制御する。具体的には、データ検索処理部４２０は、データ検索部４２１、及びログ出力部４２２を含む。
【００６９】
データ検索部４２１は、揮発性記憶部４３０に格納されるメールデータ４３１の中から、特定の条件を満たすメールデータ４３１を検索するための処理を実行する。
【００７０】
ログ出力部４２２は、データ検索部４２１によって検索されたメールデータ４３１のデータストアログを出力する。本実施例では、出力されたデータストアログは、不揮発性記憶部４４０のデータストアログデータ４４１に格納される。
【００７１】
揮発性記憶部４３０は、データストア管理部４１０が管理するデータを格納する。本実施例の揮発性記憶部４３０には、一つ以上のメールデータ４３１が格納される。ここで、メールデータ４３１は、データストア管理部４１０によって格納されたメールのデータである。本実施例では、データストア管理部４１０は、メールデータ４３１のヘッダ等に含まれる送信日時、固有ＩＤ、ドメイン名などをＫｅｙとし、メールデータ４３１（Ｖａｌｕｅ）を管理するものとする。
【００７２】
不揮発性メモリ４０３は、永続的にデータを格納する不揮発性記憶部４４０を含む。
【００７３】
不揮発性記憶部４４０は、データストア管理部４１０及びデータ検索処理部４２０が管理するデータを格納する。また、不揮発性記憶部４４０は、データストアログデータ４４１を格納する。データストアログデータ４４１は、ログ出力部４２２によって出力された一つ以上のデータストアログを含むデータである。
【００７４】
ネットワークＩ／Ｆ４０４は、ネットワークを介して他の装置と接続するためのインタフェースである。本実施例では、ネットワークＩ／Ｆ４０４は、キャリア設備網１０３と接続される。
【００７５】
なお、揮発性メモリ４０２に格納されるプログラムは、不揮発性メモリ４０３に格納されてもよい。この場合、プロセッサ４０１は、不揮発性メモリ４０３からプログラムを読み出し、揮発性メモリ４０２に読み出されたプログラムをロードする。
【００７６】
図５は、本発明の実施例１における収集・検索サーバ１０９の構成の一例を説明するブロック図である。
【００７７】
収集・検索サーバ１０９は、情報処理装置を用いて実現される。収集・検索サーバ１０９は、ハードウェア構成として、プロセッサ５０１、揮発性メモリ５０２、不揮発性メモリ５０３、及びネットワークＩ／Ｆ５０４を備え、各構成はバスなどの内部通信線を介して互いに接続される。
【００７８】
プロセッサ５０１は、揮発性メモリ５０２に格納されるプログラムを実行する。プロセッサ５０１が揮発性メモリ５０２に格納されるプログラムを実行することによって、収集・検索サーバ１０９が備える機能が実現される。以下の説明では、プログラムを主体に処理を記載する場合、プロセッサ５０１によって当該プログラムが実行されていることを示す。
【００７９】
揮発性メモリ５０２は、プロセッサ５０１によって実行されるプログラムを格納し、また、当該プログラムの実行に必要なデータを一時的に格納する記憶領域を含む。具体的には、揮発性メモリ５０２は、障害監視部５１０、ログ収集部５２０、障害範囲検索部５３０を実現するプログラムを格納し、また、揮発性記憶部５４０を含む。
【００８０】
障害監視部５１０は、データストアサーバ１０８等の障害を監視するための処理を実行する。具体的には、障害監視部５１０は、データストアサーバ１０８の揮発性記憶部４３０に格納されるメールデータ４３１の損失が発生しているか否かを判定する。
【００８１】
ログ収集部５２０は、各サーバからログを取得し、取得されたログを不揮発性メモリ５０３に格納するための処理を実行する。本実施例では、ログ収集部５２０は、メール受信サーバ１０６の不揮発性記憶部２３０に格納される受信ログデータ２３１、メール送信サーバ１０７の不揮発性記憶部３３０に格納される送信ログデータ３３１、及びデータストアサーバ１０８の不揮発性記憶部４４０に格納されるデータストアログデータ４４１を取得する。また、ログ収集部５２０は、不揮発性メモリ５０３の不揮発性記憶部５５０に、取得された各ログをそれぞれ受信ログデータ５５１、送信ログデータ５５２、及びデータストアログデータ５５３に格納する。
【００８２】
障害範囲検索部５３０は、不揮発性記憶部５５０に格納される受信ログデータ５５１、送信ログデータ５５２、及びデータストアログデータ５５３に基づいて、データストアサーバ１０８の障害によって損失したメールを特定するための処理を実行する。
【００８３】
揮発性記憶部５４０は、障害監視部５１０、ログ収集部５２０、障害範囲検索部５３０が管理するデータを格納する。
【００８４】
不揮発性メモリ５０３は、永続的にデータを格納する不揮発性記憶部５５０を含む。
【００８５】
不揮発性記憶部５５０は、障害監視部５１０、ログ収集部５２０、及び障害範囲検索部５３０が管理するデータを格納する。また、不揮発性記憶部５５０は、受信ログデータ５５１、送信ログデータ５５２、データストアログデータ５５３を格納する。
【００８６】
受信ログデータ５５１は、ログ収集部５２０によってメール受信サーバ１０６から取得された複数の受信ログを含む。送信ログデータ５５２は、ログ収集部５２０によってメール送信サーバ１０７から取得された複数の送信ログを含む。データストアログデータ５５３は、ログ収集部５２０によってデータストアサーバ１０８から取得された複数のデータストアログを含む。
【００８７】
ネットワークＩ／Ｆ５０４は、ネットワークを介して他の装置と接続するためのインタフェースである。本実施例では、ネットワークＩ／Ｆ５０４は、キャリア設備網１０３と接続される。
【００８８】
なお、揮発性メモリ５０２に格納されるプログラムは、不揮発性メモリ５０３に格納されてもよい。この場合、プロセッサ５０１は、不揮発性メモリ５０３からプログラムを読み出し、揮発性メモリ５０２に読み出されたプログラムをロードする。
【００８９】
図６Ａは、本発明の実施例１における収集・検索サーバ１０９上に格納される受信ログデータ５５１の内容の一例を示す説明図である。図６Ｂは、本発明の実施例１における収集・検索サーバ１０９上に格納される送信ログデータ５５２の内容の一例を示す説明図である。図６Ｃは、本発明の実施例１における収集・検索サーバ１０９上に格納されるデータストアログデータ５５３の内容の一例を示す説明図である。
【００９０】
受信ログデータ５５１、送信ログデータ５５２、及びデータストアログデータ５５３のそれぞれに格納されるログは、日時、固有ＩＤ、送信者のメールアドレス、及びメールの件名が含まれたログ形式のデータを複数含む。
【００９１】
ここで、固有ＩＤは一つのメールに対し必ず一意に決まる値とする。固有ＩＤを利用することによって、受信ログデータ５５１、送信ログデータ５５２、及びデータストアログデータ５５３に含まれるメールの内容を紐付けることが可能となる。
【００９２】
なお、各ログは、上記のログ形式に限定されず、例えば、上記ログ形式に加えてメールの本文がログに含まれてもよい。この場合、ログ出力時の処理による負荷は増大するが、障害発生によって、送信先サーバ１０５に送信されていないメールデータが損失した場合であっても、ログに含まれるメールの本文を用いてメールを復元し、送信先サーバ１０５に復元されたメールを送信することが可能となる。
【００９３】
また、各ログは、上記のログ形式に加えて、障害発生時の対応処理に関する情報を含んでもよい。例えば、「携帯端末へ未達通知送信」及び「復元して送信先サーバに送信」など）対応処理に関する情報が考えられる。障害発生時に、各サーバが上記情報に基づいた対応処理を実行することによって、柔軟な障害対応が可能となる。
【００９４】
次に、本発明における各処理の内容について説明する。
【００９５】
図７は、メール受信サーバ１０６がメールを受信する場合に実行される処理を示す図である。また、図８は、メール送信サーバ１０７がメールを送信する場合に実行される処理を示す図である。
【００９６】
メールの受信処理では、メール受信サーバ１０６のデータストアサーバＩ／Ｆ部２１２とデータストアサーバ１０８との間、又は、メール送信サーバ１０７のデータストアサーバＩ／Ｆ部３１２とデータストアサーバ１０８との間で、メール、各種要求及び通知が送受信される。
【００９７】
しかし、メール受信サーバ１０６又はメール送信サーバ１０７とデータストアサーバ１０８との間で実際に送受信されるデータは、ヘッダ情報又はデータ本体を示すペイロードなどを含むデータ形式となる。
【００９８】
以下の説明では、メールの受信処理及び送信処理に特化したシーケンスを説明するために、実際に送受信されるデータではなく、当該データのペイロード部分となるメール、各種要求、及び各種通知を用いる。
【００９９】
なお、携帯端末１０１とメール受信サーバ１０６のメール受信部２１１との間で送受信されるメール及び各種通知、並びに、メール送信サーバ１０７のメール送信部３１１と送信先サーバ１０５との間で送受信されるメール及び各種通知についても同様であるものとする。
【０１００】
また、データストアサーバ１０８の揮発性記憶部４３０に対するメールの格納、取得、削除に関する処理の実行時には、メール受信サーバ１０６のデータストアサーバＩ／Ｆ部２１２とデータストアサーバ１０８との間、又は、メール送信サーバ１０７のデータストアサーバＩ／Ｆ部３１２とデータストアサーバ１０８との間で、メール以外に各種管理情報の送受信が必要となる場合がある。
【０１０１】
しかし、以下の説明では、メールの受信処理及び送信処理に特化したシーケンスを説明するため、メールの格納、取得、又は削除に関する処理では、前述した管理情報の送受信に関する記載は省略し、１リクエスト１レスポンスの形で説明する。
【０１０２】
図７は、本発明の実施例１のメール受信処理の一例を説明するシーケンス図である。
【０１０３】
最初に、携帯端末１０１は、メール受信サーバ１０６にメールを送信する（ステップＳ７０１）。
【０１０４】
メール受信サーバ１０６のメール受信部２１１は、携帯端末１０１から送信されたメールを受信し（ステップＳ７０２）、揮発性記憶部２２０に当該メール（メールデータ）を格納する（ステップＳ７０３）。
【０１０５】
次に、メール受信サーバ１０６のデータストアサーバＩ／Ｆ部２１２は、データストアサーバ１０８にメール格納要求及びメールを送信する（ステップＳ７０４）。
【０１０６】
なお、図７には記載していないが、データストアサーバ１０８にメール格納要求及びメールが正しく受信されないためにこの後の処理が実行されなかった場合、メール受信サーバ１０６は、携帯端末１０１にメールが正常に送信されなかった旨を通知する。
【０１０７】
次に、データストアサーバ１０８のデータストア管理部４１０は、メール格納要求及びメールを受信し（ステップＳ７０５）、メール格納要求に従って、揮発性記憶部４３０に受信したメール（メールデータ４３１）を格納する（ステップＳ７０６）。データストアサーバ１０８のデータストア管理部４１０は、揮発性記憶部４３０にメール（メールデータ４３１）が格納された後、メール受信サーバ１０６にメール格納完了通知を送信する（ステップＳ７０７）。
【０１０８】
なお、図７には記載していないが、ステップＳ７０６においてメール（メールデータ４３１）の格納に失敗した場合、データストア管理部４１０は、メール受信サーバ１０６にメール（メールデータ４３１）が格納されなかった旨を通知する。このとき、メール受信サーバ１０６は、携帯端末１０１にメールが正常に送信されなかった旨を通知する。
【０１０９】
次に、メール受信サーバ１０６のデータストアサーバＩ／Ｆ部２１２は、メール格納完了通知を受信する（ステップＳ７０８）。メール受信サーバ１０６のログ出力部２１３は、データストアサーバ１０８に送信されたメールを特定するための情報を含むデータ形式の受信ログを出力する（ステップＳ７０９）。出力された受信ログは、不揮発性記憶部２３０の受信ログデータ２３１に格納される。
【０１１０】
次に、メール受信サーバ１０６のメール受信部２１１は、携帯端末１０１にメール送信完了通知を送信する（ステップＳ７１０）。携帯端末１０１は、メール送信完了通知を受信する（ステップＳ７１１）。
【０１１１】
ステップＳ７１０の後、メール受信サーバ１０６のメール受信部２１１は、揮発性記憶部２２０からデータストアサーバ１０８に送信されたメール（メールデータ）を削除する（ステップＳ７１２）。
【０１１２】
図８Ａ及び図８Ｂは、本発明の実施例１のメール送信処理の一例を説明するシーケンス図である。
【０１１３】
最初に、メール送信サーバ１０７のデータストアサーバＩ／Ｆ部３１２は、メール取得要求をデータストアサーバ１０８に送信する（ステップＳ８０１）。メール取得要求には、メールを特定するためのＫｅｙが含まれる。
【０１１４】
データストアサーバ１０８のデータストア管理部４１０は、メール取得要求を受信すると（ステップＳ８０２）、メール取得要求に従って、揮発性記憶部４３０の中から所定のメール（メールデータ４３１）を検索する（ステップＳ８０３）。データストアサーバ１０８のデータストア管理部４１０は、メール（メールデータ４３１）が検索された後、取得完了通知及びメールをメール送信サーバ１０７に送信する（ステップＳ８０４）。
【０１１５】
次に、メール送信サーバ１０７のデータストアサーバＩ／Ｆ部３１２は、取得完了通知及び検索されたメールを受信し（ステップＳ８０５）、揮発性記憶部３２０に受信したメールを格納する（ステップＳ８０６）。メール送信サーバ１０７のメール送信部３１１は、受信したメールが揮発性記憶部３２０に格納された後、送信先サーバ１０５に当該メールを送信する（ステップＳ８０７）。
【０１１６】
次に、送信先サーバ１０５は、メール送信サーバ１０７から送信されたメールを受信すると（ステップＳ８０８）、メール送信サーバ１０７にメール送信完了通知を送信する（ステップＳ８０９）。
【０１１７】
次に、メール送信サーバ１０７のメール送信部３１１は、送信先サーバ１０５からメール送信完了通知を受信する（ステップＳ８１０）。メール送信サーバ１０７のログ出力部３１３は、送信先サーバ１０５に送信されたメールを特定するための情報を含むデータ形式の送信ログを出力する（ステップＳ８１１）。出力された送信ログは、不揮発性記憶部３３０の送信ログデータ３３１に格納される。
【０１１８】
次に、メール送信サーバ１０７のログ出力部３１３は、揮発性記憶部３２０から送信先サーバ１０５に送信されたメール（メールデータ）を削除する（ステップＳ８１２）。メール送信サーバ１０７のデータストアサーバＩ／Ｆ部３１２は、データストアサーバ１０８にメール削除要求を送信する（ステップＳ８１３）。
【０１１９】
次に、データストアサーバ１０８のデータストア管理部４１０は、メール削除要求を受信すると（ステップＳ８１４）、揮発性記憶部４３０からメール（メールデータ４３１）を削除し（ステップＳ８１５）、メール送信サーバ１０７に削除完了通知を送信する（ステップＳ８１６）。
【０１２０】
メール送信サーバ１０７のデータストアサーバＩ／Ｆ部３１２は、データストアサーバ１０８から送信された削除完了通知を受信する（ステップＳ８１７）。
【０１２１】
図９は、本発明の実施例１におけるデータストアサーバ１０８のデータ検索処理部４２０によって実行されるメールデータの検索処理を説明するフローチャートである。
【０１２２】
メールデータの検索処理では、揮発性記憶部４３０に格納されているメールデータの中から所定のデータが検索される。
【０１２３】
データ検索処理部４２０は、周期的、又は、オペレータからの指示を受け付けた場合など、所定の条件を満たした場合に以下で説明する処理を実行される。
【０１２４】
データ検索処理部４２０のデータ検索部４２１は、揮発性記憶部４３０に格納されるメールデータ４３１に対するループ処理を開始する（ステップＳ９０１）。
【０１２５】
具体的には、データ検索部４２１は、処理の開始時点において、揮発性記憶部４３０に格納されているメールデータ４３１の中から処理対象のメールデータ４３１を一つ選択し、当該メールデータ４３１に対してステップＳ９０２からステップＳ９０４の処理を実行する。従って、メールデータ４３１に対するループ処理では、揮発性記憶部４３０に格納されている複数のメールデータ４３１のそれぞれに対して、ステップＳ９０２からステップＳ９０４の処理を繰り返し実行される。
【０１２６】
データ検索部４２１は、処理対象のメールデータ４３１が一定時間以上滞留しているか否かを判定する（ステップＳ９０２）。具体的には、以下のような処理が実行される。
【０１２７】
データ検索部４２１は、現時点の時刻と処理対象のメールデータ４３１に含まれる日時の情報とを用いて、メールデータ４３１の滞留時間を算出する。
【０１２８】
例えば、処理開始時点の時刻とメールの送信日時との差を滞留時間として算出する方法が考えられる。なお、メールデータ４３１の日時の情報は、日時の情報をＫｅｙに含めることによって、現時点の時刻とＫｅｙに含まれる時刻との差を算出することができる。
【０１２９】
データ検索部４２１は、算出された滞留時間が一定時間以上であるか否かを判定する。算出された滞留時間が一定時間以上である場合、データ検索部４２１は、処理対象のメールデータ４３１が一定時間以上滞留していると判定する。なお、一定時間はシステム要件に応じて設定すればよい。
【０１３０】
以下の説明では、当該一定時間を第１の時間幅とも記載する。
【０１３１】
以上がステップＳ９０２の処理の説明である。
【０１３２】
処理対象のメールデータが一定時間以上滞留していないと判定された場合、データ検索部４２１は、ステップＳ９０５に進む。
【０１３３】
処理対象のメールデータが一定時間以上滞留していると判定された場合、データ検索部４２１は、処理対象のメールデータ４３１のデータストアログがデータストアログデータ４４１に書き出されているか否かを判定する（ステップＳ９０３）。
【０１３４】
例えば、メールデータ４３１のＫｅｙに含まれる固有ＩＤがデータストアログの一部の情報として利用されている場合、データ検索部４２１は、Ｋｅｙに含まれる固有ＩＤに基づいて、データストアログデータ４４１の中から、処理対象のメールデータ４３１のデータストアログを検索する方法が考えられる。
【０１３５】
処理対象のメールデータ４３１のデータストアログがデータストアログデータ４４１に書き出されていると判定された場合、データ検索部４２１は、ステップＳ９０５に進む。
【０１３６】
処理対象のメールデータ４３１のデータストアログがデータストアログデータ４４１に書き出されていないと判定された場合、データ検索部４２１は、データストアログデータ４４１への追加対象として、処理対象のメールデータ４３１の情報を揮発性記憶部４３０に記録する（ステップＳ９０４）。
【０１３７】
例えば、データ検索部４２１は、揮発性記憶部４３０に追加対象のメールデータ４３１のＫｅｙを記録する。なお、追加対象のメールデータ４３１が複数存在する場合、データ検索部４２１は、揮発性記憶部４３０に、追加対象のメールデータ４３１のＫｅｙのリストを生成してもよい。
【０１３８】
次に、データ検索部４２１は、揮発性記憶部４３０に格納されている全てのメールデータ４３１に対して処理が完了したか否かを判定する（ステップＳ９０５）。
【０１３９】
揮発性記憶部４３０に格納されている全てのメールデータ４３１に対して処理が完了していないと判定された場合、すなわち、処理対象のメールデータ４３１が存在すると判定された場合、データ検索部４２１は、ステップＳ９０２に戻り、新たなメールデータ４３１を選択し、ステップＳ９０２からステップＳ９０４の処理を実行する。
【０１４０】
揮発性記憶部４３０に格納されている全てのメールデータ４３１に対して処理が完了していると判定された場合、データ検索処理部４２０のログ出力部４２２は、揮発性記憶部４３０に記録されたメールデータ４３１の情報に基づいて、不揮発性記憶部４４０のデータストアログデータ４４１に、追加対象のメールデータ４３１のデータストアログを追加し（ステップＳ９０６）、処理を終了する。
【０１４１】
本実施例では、ログ出力部４２２は、日時及び固有ＩＤを含むデータストアログをデータストアログデータ４４１に書き込むものとする。
【０１４２】
本実施例では、ループ処理毎に、追加対象のメールデータ４３１のデータストアログの書込処理を実行するではなく、ループ処理が終了した後に一括してデータストアログの書込処理を実行する。これによって、書込処理によるデータストアの処理の遅延を防ぐことができる。
【０１４３】
図１０は、本発明の実施例１におけるデータストアサーバ１０８の障害発生時に実行される処理を説明するシーケンス図である。図１１は、本発明の実施例１における収集・検索サーバ１０９が障害範囲を特定する場合に用いるログデータを示す説明図である。
【０１４４】
収集・検索サーバ１０９の障害監視部５１０は、データストアサーバ１０８に状態確認要求を送信する（ステップＳ１００１）。なお、障害監視部５１０は、周期的に状態確認要求を送信してもよいし、また、オペレータの指示を受けた場合に状態確認要求を送信してもよい。
【０１４５】
ステップＳ１００１の処理は、データストアサーバ１０８における障害の発生を検知するための処理である。データストアサーバ１０８における障害の発生が検知された場合、収集・検索サーバ１０９は、データストアサーバ１０８の揮発性記憶部４３０に格納されるメールデータ４３１の損失の有無を確認する。
【０１４６】
データストアサーバ１０８のデータストア管理部４１０は、状態確認要求を受信すると（ステップＳ１００２）、データストアサーバ１０８の稼働状態等を確認し、確認結果を状態情報として収集・検索サーバ１０９に送信する（ステップＳ１００３）。
【０１４７】
ここで、状態情報は、例えば、複数のデータストアサーバ１０８が存在する場合、複数のデータストアサーバ１０８の構成情報、各データストアサーバ１０８の生死情報など、メールデータ４３１の損失の有無を判定できる情報であればよい。
【０１４８】
次に、収集・検索サーバ１０９の障害監視部５１０は、状態情報を受信し、当該状態情報に基づいて、メールデータ４３１の損失が発生するか否かを判定する（ステップＳ１００４）。例えば、二つ以上のデータストアサーバ１０８が停止している場合、収集・検索サーバ１０９は、メールデータ４３１の損失が発生すると判定する。
【０１４９】
メールデータ４３１の損失が発生しないと判定された場合には、障害範囲を特定する必要がないため、収集・検索サーバ１０９は、これ以降の処理を実行することなく、処理を終了する。
【０１５０】
メールデータ４３１の損失が発生していると判定された場合、収集・検索サーバ１０９のログ収集部５２０は、メール受信サーバ１０６、メール送信サーバ１０７、及びデータストアサーバ１０８にログ取得要求を送信する（ステップＳ１００５）。例えば、メール受信サーバ１０６上でＵＮＩＸ系（ＵＮＩＸは登録商標、以下同じ。）のＯＳが稼働する場合、ｓｃｐコマンド等を用いることによってステップＳ１００５の処理を実現することができる。
【０１５１】
メール受信サーバ１０６、メール送信サーバ１０７、及びデータストアサーバ１０８は、それぞれ、収集・検索サーバ１０９にログデータを送信する（ステップＳ１００６、Ｓ１００７、Ｓ１００８）。
【０１５２】
収集・検索サーバ１０９のログ収集部５２０は、各サーバから送信されたログデータを受信し、受信したログデータを不揮発性記憶部５５０に格納する（ステップＳ１００９）。ここで、メール受信サーバ１０６から受信したログデータは受信ログデータ５５１として、メール送信サーバ１０７から受信したログデータは送信ログデータ５５２として、データストアサーバ１０８から受信したログデータはデータストアログデータ５５３として格納される。
【０１５３】
収集・検索サーバ１０９の障害範囲検索部５３０は、受信したログデータを用いて、障害範囲を特定する（ステップＳ１０１０）。ここで、図１１を用いて障害範囲の特定方法について説明する。
【０１５４】
図９で説明したように、メールデータの検索処理では、一定時間（第１の時間幅）以上滞留しているメールデータ４３１のログのみがデータストアログデータ４４１に格納される。より具体的には、処理の開始時の時刻（現時刻）から第１の時間幅分だけさかのぼった時刻より古い時刻のメールデータ４３１のデータストアログのみが格納される。
【０１５５】
そのため、図９の処理と図１０の処理とが並列に実行された場合を想定すると、データストアログデータ５５３は、図１１に示すようになる。また、データストアログデータ５５３に格納されるログの数は、受信ログデータ５５１又は送信ログデータ５５２に含まれるログの数より十分少ない。
【０１５６】
本実施例では、前述したようなデータストアログデータ５５３の特徴に基づいて、高速に障害範囲を特定することができる。
【０１５７】
まず、障害範囲検索部５３０は、受信ログデータ５５１から、現時刻と、現時刻から第１の時間幅分さかのぼった時刻との間に含まれるログを抽出する。また、障害範囲検索部５３０は、送信ログデータ５５２から、現時刻と、現時刻から第１の時間幅分さかのぼった時刻との間に含まれるログを抽出する。
【０１５８】
以下の説明では、現時刻から第１の時間幅分さかのぼった時刻を第１の時刻とも記載する。
【０１５９】
図１１に示す例では、受信ログデータ５５１の斜線部分に含まれるログ、及び送信ログデータ５５２の斜線部分に含まれるログが抽出される。
【０１６０】
次に、障害範囲検索部５３０は、送信ログデータ５５２から、第１の時刻と、第１の時刻から障害を特定したい期間さかのぼった時刻との間に含まれるログを抽出する。また、障害範囲検索部５３０は、データストアログデータ５５３から第１の時刻と、第１の時刻から障害を特定したい期間さかのぼった時刻との間に含まれるログを抽出する。
【０１６１】
以下の説明では、障害を特定したい期間を第２の時間幅とも記載し、また、第１の時刻から第２の時間幅分さかのぼった時刻を第２の時刻とも記載する。なお、第２の時刻（障害範囲を特定したい期間）は、システム要件に応じて設定すればよい。
【０１６２】
図１１に示す例では、送信ログデータ５５２の黒塗り部分に含まれるログ、及びデータストアログデータ５５３の黒塗り部分に含まれるログが抽出される。
【０１６３】
図１１に示すように、斜線部分に含まれるログと、黒塗り部分に含まれるログは重複しない。これは、現時刻から第１の時刻まで範囲に含まれるメールデータ４３１のログは出力されないためである。
【０１６４】
なお、前述した各ログの抽出処理は、ステップＳ１００９においてログを格納する場合に実行されてもよい。
【０１６５】
障害範囲検索部５３０は、現時刻から第１の時刻の間に含まれる受信ログと、現時刻から第１の時刻の間に含まれる送信ログとを比較して、送信ログデータ５５２に含まれない受信ログを検索する。例えば、障害範囲検索部５３０は、受信ログの固有ＩＤと、送信ログの固有ＩＤとを比較する方法が考えられる。
【０１６６】
また、障害範囲検索部５３０は、第１の時刻から第２の時刻の間に含まれる送信ログと、第１の時刻から第２の時刻の間に含まれるデータストアログとを比較して、送信ログに含まれないデータストアログを検索する。例えば、障害範囲検索部５３０は、送信ログの固有ＩＤと、データストアログの固有ＩＤとを比較する方法が考えられる。
【０１６７】
以上の処理によって、損失したメールデータ４３１の数、メールデータの損失によって影響を受ける人数等の障害範囲を特定することができる。すなわち、検索されたログには、図６Ａ、図６Ｂ及び図６Ｃに示すように、送信元のアドレス及びメールの件名が含まれる。従って、障害範囲検索部５３０は、検索されたログに含まれる情報に基づいて、障害範囲に関する情報を通知することができる。
【０１６８】
以上が、ステップＳ１０１０の処理の説明である。
【０１６９】
次に、収集・検索サーバ１０９の障害範囲検索部５３０は、特定された障害範囲に関する情報を障害範囲情報としてメール受信サーバ１０６に送信する（ステップＳ１０１１）。例えば、検索されたログそのものを障害範囲情報として送信する方法が考えられる。
【０１７０】
メール受信サーバ１０６のメール受信部２１１は、収集・検索サーバ１０９から送信された障害範囲情報を受信すると（ステップＳ１０１２）、携帯端末１０１に送信する未達通知を生成し、生成された未達通知を携帯端末１０１に送信する（ステップＳ１０１３）。例えば、送信元のアドレス及びメールの件名が対応づけられたリストを未達通知として送信する方法が考えられる。
【０１７１】
携帯端末１０１は、メール受信サーバ１０６から送信された未達通知を受信する（ステップＳ１０１４）。これによって、携帯端末１０１の保持者であるメール送信者は、自身が送信したメールが送信先の装置に届いていないことを知ることができる。
【０１７２】
前述した処理では、メール受信サーバ１０６は、障害発生時の対応として未達通知を送信するが、本発明はこれに限定されない。
【０１７３】
例えば、メールの本文がログとして出力されている場合、障害範囲検索部５３０は、ステップＳ１０１１において、検索されたログと、障害発生時の対応処理に関する情報とを出力し、出力された障害発生時の対応処理に関する情報に基づいてメール（メールデータ）を復元し、送信先サーバ１０５に復元されたメールを送信してもよい。
【０１７４】
前述した処理の実現方法としては、収集・検索サーバ１０９が、復元されたメールを含む障害範囲情報をメール送信サーバ１０７に送信し、メール送信サーバ１０７が送信先サーバ１０５に損失したメールを再度送信すればよい。
【０１７５】
なお、障害発生時の対応処理としては、例えば、「携帯端末への未達通知送信」、及び「メールデータを復元、送信先サーバへのメールデータの送信」などが考えられる。
【０１７６】
また、前述した処理では、収集・検索サーバ１０９は、自動的に障害範囲の特定し（ステップＳ１０１０）、また、障害範囲情報を送信する（ステップＳ１０１１）。しかし、本発明はこれに限定されず、オペレータの操作に基づいて処理が実行されてもよい。
【０１７７】
図１２は、本発明の実施例１の収集・検索サーバ１０９の操作時にオペレータが用いるターミナル画面の一例を示す説明図である。
【０１７８】
ターミナル画面１２０１は、図１０のステップＳ１０１０及びステップＳ１０１１の実行時に操作されるターミナル画面である。ターミナル画面１２０１は、一般的な情報処理装置に標準的に搭載されるターミナルプログラムによって表示される画面である。
【０１７９】
オペレータは、例えば、ＵＮＩＸのＤＩＦＦコマンドを入力することによって、各種ログの差分を求めることができる。障害範囲検索部５３０は、所定のコマンドを受け付けると、ステップＳ１０１０に示すような処理を実行し、処理結果をターミナル画面上に表示する。
【０１８０】
また、オペレータが、ＤＩＦＦコマンドを用いて検索されたログを、障害範囲検索部５３０に入力する操作を行うことによって、メール受信サーバ１０６に障害範囲情報が送信することができる。
【０１８１】
以上説明したように、実施例１によれば、データストアサーバ１０８において、所定の条件を満たすメールのログのみが不揮発性記憶部４４０に書き込まれる。従って、従来技術と比較して、書き込まれるログの数が減少するため、インメモリＫＶＳ等のデータストアの性能の低下を抑止することができる。
【０１８２】
また、障害範囲検索部５３０は、所定の時間範囲に含まれる受信ログデータと送信ログデータとを比較し、また、所定の時間範囲に含まれる送信ログデータとデータストアログデータとを比較することによって、障害範囲を特定できる。
【０１８３】
従来技術では、膨大なデータ量の受信ログデータと送信ログデータとを比較する必要があったが、本実施例では、限られた時間範囲のデータを比較することによって障害範囲を特定できるため、高速に障害範囲を特定することができる。また、データストアログには、所定の条件を満たすメールデータのログのみが格納されるため、前述した比較処理の高速化が可能となる。
【０１８４】
（変形例）
実施例１では、滞留時間に基づいて、データストアログデータ４４１に追加するメールデータ４３１を特定していたが、本発明はこれに限定されない。例えば、以下のような処理に基づいてデータストアログデータ４４１に追加するメールデータ４３１を特定してもよい。
【０１８５】
図１３は、本発明の変形例におけるデータストアサーバ１０８のデータ検索処理部４２０によって実行されるメールデータの検索処理を説明するフローチャートである。
【０１８６】
変形例１では、データ検索部４２１は、処理対象のメールデータ４３１の送信先ドメインが検索対象のドメインであるか否かを判定する（ステップＳ１３０２）。なお、検索対象のドメインは、予め設定されているものとする。
【０１８７】
例えば、メールデータ４３１のＫｅｙに含まれるドメイン名がデータストアログの一部の情報として利用されている場合、データ検索部４２１は、Ｋｅｙに含まれるドメイン名に基づいて、処理対象のメールデータ４３１であるか否かを判定する。
【０１８８】
ステップＳ１３０１、ステップＳ１３０３、ステップＳ１３０４、ステップＳ１３０５、及びステップＳ１３０６の処理は、ステップＳ９０１、ステップＳ９０３、ステップＳ９０４、ステップＳ９０５、及びステップＳ９０６の処理と同一の処理であるため説明を省略する。
【０１８９】
図１３に示すデータ検索処理を実行することによって、特定のドメインに特化した高速な障害範囲の特定が可能となる。
【実施例２】
【０１９０】
実施例２は、複数のキャリア設備網を有するメールシステムにおいて、一つのキャリア設備網に障害が発生した場合、他のキャリア設備網の収集・検索サーバ１０９が障害範囲を特定する。
【０１９１】
以下、実施例１との差異を中心に実施例２について説明する。
【０１９２】
図１４は、本発明の実施例２におけるメールシステムの構成の一例を示す説明図である。
【０１９３】
実施例２のメールシステムは、二つのキャリア設備網Ａ１０３、キャリア設備網Ｂ１０３を含む。また、実施例２のメールシステムは、ログ管理サーバ１４００を含む。ログ管理サーバ１４００は、キャリア設備網Ａ１０３及びキャリア設備網Ｂ１０３に接続され、キャリア設備網１０３毎にログを管理する。
【０１９４】
キャリア設備網Ａ１０３及びキャリア設備網Ｂ１０３には、それぞれ、メール受信サーバ１０６、メール送信サーバ１０７、データストアサーバ１０８、収集・検索サーバ１０９が接続される。
【０１９５】
実施例２の携帯端末１０１は、モバイルネットワーク１０２を介してキャリア設備網Ａ１０３及びキャリア設備網Ｂ１０３と接続される。
【０１９６】
実施例２の送信先サーバ１０５は、インターネット１０４を介して、キャリア設備網Ａ１０３及びキャリア設備網Ｂ１０３と接続される。また、実施例２の送信先サーバ１０５は、キャリア設備網Ａ１０３に接続されるメール送信サーバ１０７とメールの送受信を行い、キャリア設備網Ｂ１０３に接続されるメール送信サーバ１０７とメールの送受信を行う。
【０１９７】
なお、メール受信サーバ１０６、メール送信サーバ１０７、データストアサーバ１０８、収集・検索サーバ１０９は実施例１と同一のものであるため、各サーバの構成については説明を省略する。
【０１９８】
図１５は、本発明の実施例２におけるログ管理サーバ１４００の構成の一例を説明するブロック図である。
【０１９９】
ログ管理サーバ１４００は、情報処理装置を用いて実現される。ログ管理サーバ１４００は、ハードウェア構成として、プロセッサ１５０１、揮発性メモリ１５０２、不揮発性メモリ１５０３、及びネットワークＩ／Ｆ１５０４を備え、各構成はバスなどの内部通信線を介して互いに接続される。
【０２００】
プロセッサ１５０１は、揮発性メモリ１５０２に格納されるプログラムを実行する。プロセッサ１５０１が揮発性メモリ１５０２に格納されるプログラムを実行することによって、ログ管理サーバ１４００が備える機能が実現される。以下の説明では、プログラムを主体に処理を記載する場合、プロセッサ１５０１によって当該プログラムが実行されていることを示す。
【０２０１】
揮発性メモリ１５０２は、プロセッサ１５０１によって実行されるプログラムを格納し、また、当該プログラムの実行に必要なデータを一時的に格納する記憶領域を含む。具体的には、揮発性メモリ１５０２は、障害監視部１５１０、及びログ収集部１５２０を実現するプログラムを格納し、また、揮発性記憶部１５３０を含む。
【０２０２】
障害監視部１５１０は、キャリア設備網１０３毎の障害を監視するための処理を実行する。
【０２０３】
ログ収集部１５２０は、キャリア設備網１０３の収集・検索サーバ１０９からログを取得し、取得されたログを不揮発性メモリ５０３に格納するための処理を実行する。本実施例では、ログ収集部１５２０は、キャリア設備網１０３毎に、受信ログデータ１５４１、送信ログデータ１５４２、及びデータストアログデータ１５４３を不揮発性記憶部１５４０に格納する。
【０２０４】
揮発性記憶部１５３０は、障害監視部１５１０、及びログ収集部１５２０が管理するデータを格納する。
【０２０５】
不揮発性メモリ１５０３は、永続的にデータを格納する不揮発性記憶部１５４０を含む。
【０２０６】
不揮発性記憶部１５４０は、障害監視部１５１０、及びログ収集部１５２０が管理するデータを格納する。また、不揮発性記憶部１５４０は、キャリア設備網１０３毎に受信ログデータ１５４１、送信ログデータ１５４２、データストアログデータ１５４３を格納する。
【０２０７】
なお、受信ログデータ１５４１、送信ログデータ１５４２、及びデータストアログデータ１５４３は、受信ログデータ５５１、送信ログデータ５５２、及びデータストアログデータ５５３と同一のものである。
【０２０８】
ネットワークＩ／Ｆ１５０４は、ネットワークを介して他の装置と接続するためのインタフェースである。本実施例では、ネットワークＩ／Ｆ１５０４は、キャリア設備網Ａ１０３及びキャリア設備網Ｂ１０３と接続される。
【０２０９】
図１６は、本発明の実施例２におけるキャリア設備網に障害が発生した場合に実行される処理を説明するシーケンス図である。
【０２１０】
以下の説明では、キャリア設備網Ａ１０３の障害が発生したものとして説明する。
【０２１１】
ログ管理サーバ１４００のログ収集部１５２０は、キャリア設備網Ａ１０３及びキャリア設備網Ｂ１０３のそれぞれの収集・検索サーバ１０９にログ取得要求を送信する（ステップＳ１６０１）。例えば、ログ管理サーバ１４００は、ブロードキャスト送信にてログ取得要求を送信する。なお、ログ収集部１５２０は、周期的に状態確認要求を送信してもよいし、また、オペレータの指示を受けた場合にログ取得要求を送信してもよい。
【０２１２】
キャリア設備網Ｂ１０３の収集・検索サーバ１０９のログ収集部５２０は、ログ取得要求を受信すると、不揮発性記憶部５５０に格納される受信ログデータ５５１、送信ログデータ５５２、及びデータストアログデータ５５３をログ管理サーバ１４００に送信する（ステップＳ１６０２）。
【０２１３】
なお、ログ収集部５２０は、キャリア設備網Ｂ１０３に接続されるメール受信サーバ１０６、メール送信サーバ１０７、及びデータストアサーバ１０８にログ取得要求を送信することによって、ログデータを取得してもよい。
【０２１４】
ログ管理サーバ１４００のログ収集部１５２０は、ログデータを受信すると、キャリア設備網Ｂのログデータとして不揮発性記憶部１５４０に格納する（ステップＳ１６０３）。例えば、ログ収集部１５２０は、キャリア設備網Ｂの識別子と、ログデータとを対応づけて不揮発性記憶部１５４０に格納する。
【０２１５】
ログ管理サーバ１４００の障害監視部１５１０は、ログ取得要求の応答に基づいて、各キャリア設備網１０３における障害発生の有無を判定する（ステップＳ１６０４）。
【０２１６】
例えば、障害監視部１５１０は、ログ取得要求を送信してから一定時間経過しても、収集・検索サーバ１０９からログデータが送信されない場合、当該収集・検索サーバ１０９が接続されるキャリア設備網１０３に障害発生したものと判定する。
【０２１７】
本実施例では、キャリア設備網Ａ１０３の収集・検索サーバ１０９からログデータが送信されないため、障害監視部１５１０は、キャリア設備網Ａ１０３に障害が発生したものと判定する。
【０２１８】
キャリア設備網１０３における障害発生が検知された場合、ログ管理サーバ１４００の障害監視部１５１０は、他のキャリア設備網１０３の収集・検索サーバ１０９に障害情報を送信する（ステップＳ１６０５）。
【０２１９】
障害情報には、障害の発生が検知されたキャリア設備網１０３の識別情報、及びキャリア設備網１０３のログデータが含まれる。例えば、障害監視部１５１０は、障害の発生が検知されたキャリア設備網１０３の識別情報に基づいて、不揮発性記憶部１５４０から当該キャリア設備網１０３に対応するログデータを取得する。
【０２２０】
収集・検索サーバ１０９のログ収集部５２０は、障害情報を受信すると（ステップＳ１６０６）、キャリア設備網１０３の識別情報と対応づけて、障害情報に格納されるログデータを不揮発性記憶部５５０に格納する（ステップＳ１６０７）。
【０２２１】
収集・検索サーバ１０９の障害範囲検索部５３０は、不揮発性記憶部５５０に格納されるログデータを用いて、障害範囲を特定する（ステップＳ１６０８）。ステップＳ１６０８の処理は、ステップＳ１０１０と同一の処理であるため説明を省略する。
【０２２２】
次に、収集・検索サーバ１０９の障害範囲検索部５３０は、特定された障害範囲に関する情報を、障害範囲情報としてメール受信サーバ１０６に送信する（ステップＳ１６０９）。ステップＳ１６０９の処理は、ステップＳ１０１１と同一であるため説明を省略する。
【０２２３】
メール受信サーバ１０６のメール受信部２１１は、収集・検索サーバ１０９から送信された障害範囲情報を受信すると（ステップＳ１６１０）、携帯端末１０１に送信する未達通知を生成し、生成された未達通知を携帯端末１０１に送信する（ステップＳ１６１１）。ステップＳ１６１０及びステップＳ１６１１の処理は、ステップＳ１０１２及びステップＳ１０１３と同一の処理であるため説明を省略する。
【０２２４】
携帯端末１０１は、メール受信サーバ１０６から送信された未達通知を受信する（ステップＳ１６１２）。これによって、携帯端末１０１の保持者であるメール送信者は、自身が送信したメールが送信先に届かなかったことを知ることができる。なお、ステップＳ１６１２の処理は、ステップＳ１０１４と同一の処理である。
【０２２５】
前述した処理では、メール受信サーバ１０６は、障害発生時の対応として未達通知を送信するが、本発明はこれに限定されない。
【０２２６】
例えば、メールの本文がログとして出力されている場合、ログ収集部１５２０は、ステップＳ１６０９において、検索されたログと、障害発生時の対応処理に関する情報とを出力し、出力された障害発生時の対応処理に関する情報に基づいてメール（メールデータ）を復元し、送信先サーバ１０５に復元されたメールを送信してもよい。
【０２２７】
前述した処理の実現方法としては、収集・検索サーバ１０９が、復元されたメールを含む障害範囲情報をメール送信サーバ１０７に送信し、メール送信サーバ１０７が送信先サーバ１０５に損失したメールを再度送信すればよい。
【０２２８】
障害発生時の対応処理としては、例えば、「携帯端末への未達通知送信」、及び「メールデータを復元、送信先サーバへのメールデータの送信」などが考えられる。
【０２２９】
前述した処理では、ログ管理サーバ１４００が各キャリア設備網１０３の収集・検索サーバ１０９にログ取得要求を送信したが、本発明はこれに限定されない。
【０２３０】
例えば、メール受信サーバ１０６、メール送信サーバ１０７、及びデータストアサーバ１０８が、ログを出力する場合に（ステップＳ７０９、Ｓ８１１、Ｓ９０６）、それぞれがログ管理サーバ１４００にログを送信してもよい。この場合、ログ管理サーバ１４００は、ログ取得要求の代わりに、収集・検索サーバ１０９に状態確認要求を送信すればよい。
【０２３１】
以上説明したように、実施例２によれば、キャリア設備網１０３全体に障害が発生した場合であっても、他のキャリア設備網１０３の収集・検索サーバ１０９が、障害範囲を特定することができる。
【０２３２】
なお、本実施例で例示した種々のソフトウェアは、電磁的、電子的及び光学式等の種々の記録媒体に格納可能であり、インターネット等の通信網を通じて、コンピュータにダウンロード可能である。
【０２３３】
さらに、本実施例では、ソフトウェアによる制御を用いた例について説明したが、その一部をハードウェアによって実現することも可能である。
【０２３４】
以上、本発明を添付の図面を参照して詳細に説明したが、本発明はこのような具体的構成に限定されるものではなく、添付した請求の範囲の趣旨内における様々な変更及び同等の構成を含むものである。
【符号の説明】
【０２３５】
１０１  携帯端末
１０２  モバイルネットワーク
１０３  キャリア設備網
１０４  インターネット
１０５  送信先サーバ
１０６  メール受信サーバ
１０７  メール送信サーバ
１０８  データストアサーバ
１０９  収集・検索サーバ
２０１  プロセッサ
２０２  揮発性メモリ
２０３  不揮発性メモリ
２０４  ネットワークＩ／Ｆ
２１０  メール受信処理部
２１１  メール受信部
２１２  データストアサーバＩ／Ｆ部
２１３  ログ出力部
２２０  揮発性記憶部
２３０  不揮発性記憶部
２３１  受信ログデータ
３０１  プロセッサ
３０２  揮発性メモリ
３０３  不揮発性メモリ
３０４  ネットワークＩ／Ｆ
３１０  メール送信処理部
３１１  メール送信部
３１２  データストアサーバＩ／Ｆ部
３１３  ログ出力部
３２０  揮発性記憶部
３３０  不揮発性記憶部
３３１  送信ログデータ
４０１  プロセッサ
４０２  揮発性メモリ
４０３  不揮発性メモリ
４０４  ネットワークＩ／Ｆ
４１０  データストア管理部
４２０  データ検索処理部
４２１  データ検索部
４２２  ログ出力部
４３０  揮発性記憶部
４３１  メールデータ
４４０  不揮発性記憶部
４４１  データストアログデータ
５０１  プロセッサ
５０２  揮発性メモリ
５０３  不揮発性メモリ
５０４  ネットワークＩ／Ｆ
５１０  障害監視部
５２０  ログ収集部
５３０  障害範囲検索部
５４０  揮発性記憶部
５５０  不揮発性記憶部
５５１  受信ログデータ
５５２  送信ログデータ
５５３  データストアログデータ
１２０１  ターミナル画面
１４００  ログ管理サーバ
１５０１  プロセッサ
１５０２  揮発性メモリ
１５０３  不揮発性メモリ
１５０４  ネットワークＩ／Ｆ
１５１０  障害監視部
１５２０  ログ収集部
１５３０  揮発性記憶部
１５４０  不揮発性記憶部
１５４１  受信ログデータ
１５４２  送信ログデータ
１５４３  データストアログデータ
【図１】
2014229249.tif 000003
【図２】
2014229249.tif 000004
【図３】
2014229249.tif 000005
【図４】
2014229249.tif 000006
【図５】
2014229249.tif 000007
【図６Ａ】
2014229249.tif 000008
【図６Ｂ】
2014229249.tif 000009
【図６Ｃ】
2014229249.tif 000010
【図７】
2014229249.tif 000011
【図８Ａ】
2014229249.tif 000012
【図８Ｂ】
2014229249.tif 000013
【図９】
2014229249.tif 000014
【図１０】
2014229249.tif 000015
【図１１】
2014229249.tif 000016
【図１２】
2014229249.tif 000017
【図１３】
2014229249.tif 000018
【図１４】
2014229249.tif 000019
【図１５】
2014229249.tif 000020
【図１６】
2014229249.tif 000021