JP5913196B2 - 計算機システム及び障害特定方法 - Google Patents

計算機システム及び障害特定方法 Download PDF

Info

Publication number
JP5913196B2
JP5913196B2 JP2013110830A JP2013110830A JP5913196B2 JP 5913196 B2 JP5913196 B2 JP 5913196B2 JP 2013110830 A JP2013110830 A JP 2013110830A JP 2013110830 A JP2013110830 A JP 2013110830A JP 5913196 B2 JP5913196 B2 JP 5913196B2
Authority
JP
Japan
Prior art keywords
log
data
data store
message
unit
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.)
Active
Application number
JP2013110830A
Other languages
English (en)
Other versions
JP2014229249A (ja
Inventor
衣津美 水谷
衣津美 水谷
木下 雅文
雅文 木下
直規 原口
直規 原口
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 JP2013110830A priority Critical patent/JP5913196B2/ja
Priority to US14/893,247 priority patent/US9852031B2/en
Priority to PCT/JP2014/063634 priority patent/WO2014192641A1/ja
Publication of JP2014229249A publication Critical patent/JP2014229249A/ja
Application granted granted Critical
Publication of JP5913196B2 publication Critical patent/JP5913196B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1469Backup restoration techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0709Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a distributed system consisting of a plurality of standalone computer nodes, e.g. clusters, client-server systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • G06F11/1451Management of the data involved in backup or backup restore by selection of backup contents
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/04Processing captured monitoring data, e.g. for logfile generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/84Using snapshots, i.e. a logical point-in-time copy of the data

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Debugging And Monitoring (AREA)
  • Computer And Data Communications (AREA)

Description

本明細書で開示される主題は、メッセージングシステムにおいて、高速に障害範囲を特定可能なシステム及び方法に関する。
ネットワークを介して数多くのデータ(ビッグデータ)が送受信されるようになり、ビッグデータを効率的に処理するメッセージング技術の重要性が高まりつつある。一般的なメッセージング技術では、送信先サーバへのメッセージ(例えば、センサデータ等)の中継処理は、メッセージの受信サーバ、送信サーバ、及びメッセージを格納するバックアップストレージから構成されるメッセージングシステムを用いて行う。
メッセージングシステムは、メッセージの中継処理では、以下の処理を行う。
まず、受信サーバが送信端末からメッセージを受信し、受信したメッセージをバックアップストレージに記憶した上で、送信端末へ応答する。この後、送信サーバがバックアップストレージからメッセージを取得し、送信先サーバへ取得されたメッセージの中継を行った後、バックアップストレージ上のメッセージを削除する。
前述した処理手順を踏むことによって、バックアップストレージへの格納が済んだ時点で送信端末に応答を返すことができ、応答性能の向上することができる。また、バックアップストレージへメッセージを格納することによって、格納されたメッセージの永続性を保障することができる。
近年、インメモリKVS(Key Value Store)を利用することによって、大量のデータを効率的、かつ、高速に処理することが可能なメッセージングシステムが普及しつつある。
インメモリKVSは、KeyとValueとが組となったデータを揮発性メモリに記憶するデータストアであり、高いスケーラビリティを実現でき、また、データがメモリ上に記憶されるため高い処理性能を実現できる。また、インメモリKVSでは、複数サーバ間でデータのレプリケーション(複製)を行うことによって、インメモリ環境において心配されるデータの損失を防ぐことができる。
以下の説明では、KeyとValueとが組となったデータを揮発性メモリに記憶する処理を格納、Keyに対応するValueを揮発性メモリから読み出す処理を取得、KeyとValueとが組となったデータを揮発性メモリから消去する処理を削除と表記する。
前述のインメモリKVSを利用したメッセージングシステムでは、高速処理のためインメモリ(揮発性メモリ)上にデータを管理されているが、多重障害が発生した場合、データが完全に損失してしまう可能性がある。さらに、データの損失が発生した場合、受信サーバ、送信サーバ、及びインメモリKVSがそれぞれ分担してメッセージの処理を行っているため、当該損失したデータを特定することが困難である。従って、障害範囲(何人・何件分のメッセージが損失したか等)を把握することが難しいという問題がある。
一般的に、メッセージングシステムでは、データの損失が発生し、かつ、データの損失による送信失敗を送信側に通知できない場合、サービス障害として扱われる。そのため、インメモリKVSを用いたメッセージングシステムでは、データの復旧し、又は障害範囲を特定し、送信端末にエラーを応答するなどの対応ができない場合、サービス障害を引き起こす可能性があることから、安定したメッセージングシステムを提供することができない。
データを復旧することによってサービス障害を防止する方法として、特許文献1に記載の技術が知られている。
特許文献1に記載の技術は、DB技術である先行ログ書き込み(WAL:Write Ahead Logging)として一般的に知られている技術である。先行ログ書き込みは、Hbaseに代表されるインメモリDB等でも利用されている技術であり、データを書き込む際に、処理内容を不揮発性の記憶媒体にログとして残しておき、ログに記載された処理をやりなおすことでデータを復旧させるものである。先行ログ書き込みでは、受信サーバ及び送信サーバがインメモリKVSに対して処理を行うたびに、インメモリKVSでは格納したデータの内容までを含む処理のログを不揮発性の記憶媒体に記録する。そして、インメモリKVSに障害が発生した際には、インメモリKVSを再起動し、ログに記載された処理を実行し、障害前の状態まで復旧する。先行ログ書き込みでは、これらの手順を踏むことでデータが損失する前の状態に戻すことができるため、データ損失によるサービス障害を防ぐことが可能となる。
また、障害範囲を特定可能とすることによってサービス障害を防止する方法として、特許文献2に記載の技術が知られている。
特許文献2には、「サーバが保持するログ情報中に含まれる、ログ情報で処理毎に付与されるセッション情報をセッション情報管理テーブルに記録し、また異なるログ情報間でのセッション情報の対応関係についてセッション情報対応テーブルに記録する。利用者が表示箇所入力部によって指示したセッション情報から、セッション情報対応テーブルを再帰的に検索することにより、利用者が注目している処理に関連する一連のセッション情報を特定できる。関連する一連のセッション情報のそれぞれについて、対応する情報をログ情報より収集し、ログの記録された日時に従って統合し、処理の流れが理解し易い形に整形し利用者に提示する」ことが記載されている。
米国特許第4159517号明細書 特開2004−227360号公報
しかし、特許文献1に記載の技術では、格納される全てのデータに対して、処理毎にインメモリKVS上にログが書き込まれるため、インメモリKVSの性能が低下する。従って、高速な処理が可能なインメモリKVSの利点が損なわれる。
また、特許文献2に記載の技術では、全ての受信サーバ、全ての送信サーバの台数だけ、何時間分ものログをチェックする必要があり、障害範囲の特定に時間がかかる。
本発明は上記課題を解決するためになされた発明である。すなわち、インメモリKVSへのログの書き込みによる性能低下を防止し、かつ、高速に障害範囲を特定可能なシステム及び方法を提供することである。
本発明の代表的な一例を示せば以下の通りである。すなわち、ネットワークを介して接続される複数の計算機を備え、端末からメッセージを受信し、宛先の装置に当該メッセージを送信する計算機システムであって、前記複数の計算機の各々は、プロセッサ、前記プロセッサに接続されるメモリ、及び前記プロセッサに接続されるネットワークインタフェースを有し、前記計算機システムは、前記端末から前記メッセージを受信するメッセージ受信部と、前記受信したメッセージのログである受信ログを出力する第1のログ出力部と、複数の前記受信ログが含まれる受信ログデータを格納する第1の記憶部と、を有する第1の計算機、前記メモリの記憶領域を用いて構築され、前記メッセージを格納するデータストアを管理するデータストア管理部と、前記データストアに格納される前記メッセージの中から所定の条件に一致するメッセージを検索する第1の検索部と、前記検索されたメッセージのログであるデータストアログを出力する第2のログ出力部と、複数の前記データストアログが含まれるデータストアログデータを格納する第2の記憶部と、を有する第2の計算機、前記データストアに格納される前記メッセージを取得し、前記宛先の装置に前記メッセージを送信するメッセージ送信部と、前記宛先の装置に送信された前記メッセージのログである送信ログを出力する第3のログ出力部と、複数の前記送信ログが含まれる送信ログデータを格納する第3の記憶部と、を有する第3の計算機、並びに、前記データストアの状態を監視する第1の監視部と、前記データストアの障害発生が検知された場合に、前記第1の記憶部、前記第2の記憶部、及び前記第3の記憶部のそれぞれから、前記受信ログデータ、前記データストアログデータ、及び前記送信ログデータを取得する第1のログ収集部と、前記取得された受信ログデータ、前記データストアログデータ、及び前記送信ログデータを比較することによって、前記データストアの障害発生によって損失した前記メッセージを検索する第2の検索部と、前記受信ログデータ、前記データストアログデータ、及び前記送信ログデータを格納する第4の記憶部と、を有する第4の計算機、を備えることを特徴とする。
本発明によれば、所定の条件を満たすメッセージのデータストアログのみが記憶部に書き込まれるため、データストアへのログの書き込みによる性能低下を防止することができる。また、書き込まれるログの数が少ないため、高速に障害範囲を特定することができる。
上記した以外の課題、構成及び効果は、以下の実施例の説明により明らかにされる。
本発明の実施例1におけるメッセージシステムの構成の一例を示す説明図である。 本発明の実施例1におけるメール受信サーバの構成の一例を説明するブロック図である。 本発明の実施例1におけるメール送信サーバの構成の一例を説明するブロック図である。 本発明の実施例1におけるデータストアサーバの構成の一例を説明するブロック図である。 本発明の実施例1における収集・検索サーバの構成の一例を説明するブロック図である。 本発明の実施例1における収集・検索サーバ上に格納される受信ログデータの内容の一例を示す説明図である。 本発明の実施例1における収集・検索サーバ上に格納される送信ログデータの内容の一例を示す説明図である。 本発明の実施例1における収集・検索サーバ上に格納されるデータストアログデータの内容の一例を示す説明図である。 本発明の実施例1のメール受信処理の一例を説明するシーケンス図である。 本発明の実施例1のメール送信処理の一例を説明するシーケンス図である。 本発明の実施例1のメール送信処理の一例を説明するシーケンス図である。 本発明の実施例1におけるデータストアサーバのデータ検索処理部によって実行されるメールデータの検索処理を説明するフローチャートである。 本発明の実施例1におけるデータストアサーバの障害発生時に実行される処理を説明するシーケンス図である。 本発明の実施例1における収集・検索サーバが障害範囲を特定する場合に用いるログデータを示す説明図である。 本発明の実施例1の収集・検索サーバの操作時にオペレータが用いるターミナル画面の一例を示す説明図である。 本発明の変形例におけるデータストアサーバのデータ検索処理部によって実行されるメールデータの検索処理を説明するフローチャートである。 本発明の実施例2におけるメッセージシステムの構成の一例を示す説明図である。 本発明の実施例2におけるログ管理サーバの構成の一例を説明するブロック図である。 本発明の実施例2におけるキャリア設備網に障害が発生した場合に実行される処理を説明するシーケンス図である。
以下、本発明の実施例を添付図面に基づいて説明する。
本発明の実施例を説明するにあたり、メッセージングシステムの代表例であるメールシステムを用いる。
図1は、本発明の実施例1におけるメールシステムの構成の一例を示す説明図である。
本発明のメールシステム、すなわち、メッセージングシステムは、携帯端末101、送信先サーバ105、メール受信サーバ106、メール送信サーバ107、データストアサーバ108、及び収集・検索サーバ109から構成される。また、メールシステムを構成する装置を接続するネットワークとして、モバイルネットワーク102、キャリア設備網103、及びインターネット104を含む。
携帯端末101は、ユーザ等が扱う端末であり、モバイルネットワーク102を介してキャリア設備網103と接続される。モバイルネットワーク102は、携帯端末101とキャリア設備網103とを接続する無線ネットワークである。キャリア設備網103は、モバイルネットワーク102、インターネット104、メール受信サーバ106、メール送信サーバ107、データストアサーバ108、及び収集・検索サーバ109を接続するネットワークである。
送信先サーバ105は、インターネット104を介してキャリア設備網103と接続され、メール送信サーバ107とメールの送受信を行う。
メール受信サーバ106は、キャリア設備網103と接続され、携帯端末101からキャリア設備網103を介して送信されたメールを受信し、データストアサーバ108にメールを格納する。図1では、メール受信サーバ106は1台のみとしているが、複数台存在してもよい。
メール送信サーバ107は、キャリア設備網103と接続され、データストアサーバ108からメールを取得し、送信先サーバ105にメールを送信する。図1では、メール送信サーバ107は1台のみとしているが、複数台存在してもよい。
データストアサーバ108は、キャリア設備網103と接続され、メール受信サーバ106によって格納されたメールを保持する。データストアサーバ108はインメモリKVS等に代表されるメッセージストアである。図1では、データストアサーバ108は1台のみとしているが、複数台存在してもよい。
収集・検索サーバ109は、キャリア設備網103と接続され、データストアサーバ108の状況を監視する。また、収集・検索サーバ109は、メール受信サーバ106、メール送信サーバ107、及びデータストアサーバ108上のログを収集し、収集されたログを用いて障害範囲を特定する。
なお、図1に示す例では、メール受信サーバ106、メール送信サーバ107、データストアサーバ108、及び収集・検索サーバ109をそれぞれ異なる装置として実現しているが本発明はこれに限定されない。二つ以上のサーバの機能を一つの装置を用いて実現してもよい。例えば、一つの装置上にメール受信サーバ106及びメール送信サーバ107が有する機能を実現してもよいし、また、一つの装置上にメール受信サーバ106、メール送信サーバ107、データストアサーバ108、及び収集・検索サーバ109が有する機能を実現してもよい。
また、メール受信サーバ106、メール送信サーバ107、データストアサーバ108、及び収集・検索サーバ109は、仮想化技術を用いて実現されてもよい。例えば、一つの計算機上に、メール受信サーバ106、メール送信サーバ107、データストアサーバ108、及び収集・検索サーバ109に対応する仮想計算機を生成する方法が考えられる。
図2は、本発明の実施例1におけるメール受信サーバ106の構成の一例を説明するブロック図である。
メール受信サーバ106は、情報処理装置を用いて実現される。メール受信サーバ106は、ハードウェア構成として、プロセッサ201、揮発性メモリ202、不揮発性メモリ203、及びネットワークI/F204を備え、各構成はバスなどの内部通信線を介して互いに接続される。
プロセッサ201は、揮発性メモリ202に格納されるプログラムを実行する。プロセッサ201が揮発性メモリ202に格納されるプログラムを実行することによって、メール受信サーバ106が備える機能が実現される。以下の説明では、プログラムを主体に処理を記載する場合、プロセッサ201によって当該プログラムが実行されていることを示す。
揮発性メモリ202は、プロセッサ201によって実行されるプログラムを格納し、また、当該プログラムの実行に必要なデータを一時的に格納する記憶領域を含む。具体的には、揮発性メモリ202は、メール受信処理部210を実現するプログラムを格納し、また、揮発性記憶部220を含む。
メール受信処理部210は、複数のプログラムモジュールから構成され、携帯端末101からのメールの受信するための受信処理を制御する。具体的には、メール受信処理部210は、メール受信部211、データストアサーバI/F部212、及びログ出力部213を含む。
メール受信部211は、携帯端末101から送信されたメールの受信処理を実行する。
データストアサーバI/F部212は、データストアサーバ108に、受信したメールを格納するための格納処理を実行する。
ログ出力部213は、データストアサーバ108に受信したメールが格納された場合、格納されたメールを特定するための情報を含むデータ形式の受信ログを出力する。本実施例では、出力された受信ログは、不揮発性記憶部230の受信ログデータ231に格納される。
なお、メール受信部211に、データストアサーバI/F部212の機能を含めるようにしてもよい。
揮発性記憶部220は、メール受信処理部210が管理するデータを格納する。
不揮発性メモリ203は、永続的にデータを格納する不揮発性記憶部230を含む。
不揮発性記憶部230は、メール受信処理部210が管理するデータを格納し、また、受信ログデータ231を格納する。受信ログデータ231は、ログ出力部213によって出力された一つ以上の受信ログを含むデータである。
ネットワークI/F204は、ネットワークを介して他の装置と接続するためのインタフェースである。本実施例では、ネットワークI/F204は、キャリア設備網103と接続される。
なお、揮発性メモリ202に格納されるプログラムは、不揮発性メモリ203に格納されてもよい。この場合、プロセッサ201は、不揮発性メモリ203からプログラムを読み出し、揮発性メモリ202に読み出されたプログラムをロードする。
図3は、本発明の実施例1におけるメール送信サーバ107の構成の一例を説明するブロック図である。
メール送信サーバ107は、情報処理装置を用いて実現される。メール送信サーバ107は、ハードウェア構成として、プロセッサ301、揮発性メモリ302、不揮発性メモリ303、及びネットワークI/F304を備え、各構成はバスなどの内部通信線を介して互いに接続される。
プロセッサ301は、揮発性メモリ302に格納されるプログラムを実行する。プロセッサ301が揮発性メモリ302に格納されるプログラムを実行することによって、メール送信サーバ107が備える機能が実現される。以下の説明では、プログラムを主体に処理を記載する場合、プロセッサ301によって当該プログラムが実行されていることを示す。
揮発性メモリ302は、プロセッサ301によって実行されるプログラムを格納し、また、当該プログラムの実行に必要なデータを一時的に格納する記憶領域を含む。具体的には、揮発性メモリ302は、メール送信処理部310を実現するプログラムを格納し、また、揮発性記憶部320を含む。
メール送信処理部310は、複数のプログラムモジュールから構成され、送信先サーバ105にメールを送信するための送信処理を制御する。具体的には、メール送信処理部310は、メール送信部311、データストアサーバI/F部312、及びログ出力部313を含む。
メール送信部311は、送信先サーバ105へデータストアサーバ108から取得されたメールの送信処理を実行する。
データストアサーバI/F部312は、データストアサーバ108からメールを取得するための取得処理を実行する。
ログ出力部313は、送信先サーバ105へのメールの送信が完了した場合、送信されたメールを特定するための情報を含むデータ形式の送信ログを出力する。本実施例では、出力された送信ログは、不揮発性記憶部330の送信ログデータ331に格納される。
揮発性記憶部320は、メール送信処理部310が管理するデータを格納する。
なお、メール送信部311に、データストアサーバI/F部312の機能を含めるようにしてもよい。
不揮発性メモリ303は、永続的にデータを格納する不揮発性記憶部330を含む。
不揮発性記憶部330は、メール送信処理部310が管理するデータを格納し、また、送信ログデータ331を格納する。送信ログデータ331は、ログ出力部313によって出力された一つ以上の送信ログを含むデータである。
ネットワークI/F304は、ネットワークを介して他の装置と接続するためのインタフェースである。本実施例では、ネットワークI/F304は、キャリア設備網103と接続される。
なお、揮発性メモリ302に格納されるプログラムは、不揮発性メモリ303に格納されてもよい。この場合、プロセッサ301は、不揮発性メモリ303からプログラムを読み出し、揮発性メモリ302に読み出されたプログラムをロードする。
図4は、本発明の実施例1におけるデータストアサーバ108の構成の一例を説明するブロック図である。
データストアサーバ108は、情報処理装置を用いて実現される。データストアサーバ108は、ハードウェア構成として、プロセッサ401、揮発性メモリ402、不揮発性メモリ403、及びネットワークI/F404を備え、各構成はバスなどの内部通信線を介して互いに接続される。
プロセッサ401は、揮発性メモリ402に格納されるプログラムを実行する。プロセッサ401が揮発性メモリ402に格納されるプログラムを実行することによって、データストアサーバ108が備える機能が実現される。以下の説明では、プログラムを主体に処理を記載する場合、プロセッサ401によって当該プログラムが実行されていることを示す。
揮発性メモリ402は、プロセッサ401によって実行されるプログラムを格納し、また、当該プログラムの実行に必要なデータを一時的に格納する記憶領域を含む。具体的には、揮発性メモリ402は、データストア管理部410、及びデータ検索処理部420を実現するプログラムを格納し、また、揮発性記憶部430を含む。
データストア管理部410は、データストアの各処理を制御する。データストアの処理には、メール受信サーバ106若しくはメール送信サーバ107から受信したKeyとValueの組を揮発性記憶部430へ格納するための処理、メール受信サーバ106若しくはメール送信サーバ107から受信したKeyに対応するValueを応答するための処理、又はメール受信サーバ106若しくはメール送信サーバ107から受信したKeyに対応するValueを削除するための処理が含まれる。
データ検索処理部420は、複数のプログラムモジュールから構成され、データストアログとして出力するメールデータを検索するための処理を制御する。具体的には、データ検索処理部420は、データ検索部421、及びログ出力部422を含む。
データ検索部421は、揮発性記憶部430に格納されるメールデータ431の中から、特定の条件を満たすメールデータ431を検索するための処理を実行する。
ログ出力部422は、データ検索部421によって検索されたメールデータ431のデータストアログを出力する。本実施例では、出力されたデータストアログは、不揮発性記憶部440のデータストアログデータ441に格納される。
揮発性記憶部430は、データストア管理部410が管理するデータを格納する。本実施例の揮発性記憶部430には、一つ以上のメールデータ431が格納される。ここで、メールデータ431は、データストア管理部410によって格納されたメールのデータである。本実施例では、データストア管理部410は、メールデータ431のヘッダ等に含まれる送信日時、固有ID、ドメイン名などをKeyとし、メールデータ431(Value)を管理するものとする。
不揮発性メモリ403は、永続的にデータを格納する不揮発性記憶部440を含む。
不揮発性記憶部440は、データストア管理部410及びデータ検索処理部420が管理するデータを格納する。また、不揮発性記憶部440は、データストアログデータ441を格納する。データストアログデータ441は、ログ出力部422によって出力された一つ以上のデータストアログを含むデータである。
ネットワークI/F404は、ネットワークを介して他の装置と接続するためのインタフェースである。本実施例では、ネットワークI/F404は、キャリア設備網103と接続される。
なお、揮発性メモリ402に格納されるプログラムは、不揮発性メモリ403に格納されてもよい。この場合、プロセッサ401は、不揮発性メモリ403からプログラムを読み出し、揮発性メモリ402に読み出されたプログラムをロードする。
図5は、本発明の実施例1における収集・検索サーバ109の構成の一例を説明するブロック図である。
収集・検索サーバ109は、情報処理装置を用いて実現される。収集・検索サーバ109は、ハードウェア構成として、プロセッサ501、揮発性メモリ502、不揮発性メモリ503、及びネットワークI/F504を備え、各構成はバスなどの内部通信線を介して互いに接続される。
プロセッサ501は、揮発性メモリ502に格納されるプログラムを実行する。プロセッサ501が揮発性メモリ502に格納されるプログラムを実行することによって、収集・検索サーバ109が備える機能が実現される。以下の説明では、プログラムを主体に処理を記載する場合、プロセッサ501によって当該プログラムが実行されていることを示す。
揮発性メモリ502は、プロセッサ501によって実行されるプログラムを格納し、また、当該プログラムの実行に必要なデータを一時的に格納する記憶領域を含む。具体的には、揮発性メモリ502は、障害監視部510、ログ収集部520、障害範囲検索部530を実現するプログラムを格納し、また、揮発性記憶部540を含む。
障害監視部510は、データストアサーバ108等の障害を監視するための処理を実行する。具体的には、障害監視部510は、データストアサーバ108の揮発性記憶部430に格納されるメールデータ431の損失が発生しているか否かを判定する。
ログ収集部520は、各サーバからログを取得し、取得されたログを不揮発性メモリ503に格納するための処理を実行する。本実施例では、ログ収集部520は、メール受信サーバ106の不揮発性記憶部230に格納される受信ログデータ231、メール送信サーバ107の不揮発性記憶部330に格納される送信ログデータ331、及びデータストアサーバ108の不揮発性記憶部440に格納されるデータストアログデータ441を取得する。また、ログ収集部520は、不揮発性メモリ503の不揮発性記憶部550に、取得された各ログをそれぞれ受信ログデータ551、送信ログデータ552、及びデータストアログデータ553に格納する。
障害範囲検索部530は、不揮発性記憶部550に格納される受信ログデータ551、送信ログデータ552、及びデータストアログデータ553に基づいて、データストアサーバ108の障害によって損失したメールを特定するための処理を実行する。
揮発性記憶部540は、障害監視部510、ログ収集部520、障害範囲検索部530が管理するデータを格納する。
不揮発性メモリ503は、永続的にデータを格納する不揮発性記憶部550を含む。
不揮発性記憶部550は、障害監視部510、ログ収集部520、及び障害範囲検索部530が管理するデータを格納する。また、不揮発性記憶部550は、受信ログデータ551、送信ログデータ552、データストアログデータ553を格納する。
受信ログデータ551は、ログ収集部520によってメール受信サーバ106から取得された複数の受信ログを含む。送信ログデータ552は、ログ収集部520によってメール送信サーバ107から取得された複数の送信ログを含む。データストアログデータ553は、ログ収集部520によってデータストアサーバ108から取得された複数のデータストアログを含む。
ネットワークI/F504は、ネットワークを介して他の装置と接続するためのインタフェースである。本実施例では、ネットワークI/F504は、キャリア設備網103と接続される。
なお、揮発性メモリ502に格納されるプログラムは、不揮発性メモリ503に格納されてもよい。この場合、プロセッサ501は、不揮発性メモリ503からプログラムを読み出し、揮発性メモリ502に読み出されたプログラムをロードする。
図6Aは、本発明の実施例1における収集・検索サーバ109上に格納される受信ログデータ551の内容の一例を示す説明図である。図6Bは、本発明の実施例1における収集・検索サーバ109上に格納される送信ログデータ552の内容の一例を示す説明図である。図6Cは、本発明の実施例1における収集・検索サーバ109上に格納されるデータストアログデータ553の内容の一例を示す説明図である。
受信ログデータ551、送信ログデータ552、及びデータストアログデータ553のそれぞれに格納されるログは、日時、固有ID、送信者のメールアドレス、及びメールの件名が含まれたログ形式のデータを複数含む。
ここで、固有IDは一つのメールに対し必ず一意に決まる値とする。固有IDを利用することによって、受信ログデータ551、送信ログデータ552、及びデータストアログデータ553に含まれるメールの内容を紐付けることが可能となる。
なお、各ログは、上記のログ形式に限定されず、例えば、上記ログ形式に加えてメールの本文がログに含まれてもよい。この場合、ログ出力時の処理による負荷は増大するが、障害発生によって、送信先サーバ105に送信されていないメールデータが損失した場合であっても、ログに含まれるメールの本文を用いてメールを復元し、送信先サーバ105に復元されたメールを送信することが可能となる。
また、各ログは、上記のログ形式に加えて、障害発生時の対応処理に関する情報を含んでもよい。例えば、「携帯端末へ未達通知送信」及び「復元して送信先サーバに送信」など)対応処理に関する情報が考えられる。障害発生時に、各サーバが上記情報に基づいた対応処理を実行することによって、柔軟な障害対応が可能となる。
次に、本発明における各処理の内容について説明する。
図7は、メール受信サーバ106がメールを受信する場合に実行される処理を示す図である。また、図8は、メール送信サーバ107がメールを送信する場合に実行される処理を示す図である。
メールの受信処理では、メール受信サーバ106のデータストアサーバI/F部212とデータストアサーバ108との間、又は、メール送信サーバ107のデータストアサーバI/F部312とデータストアサーバ108との間で、メール、各種要求及び通知が送受信される。
しかし、メール受信サーバ106又はメール送信サーバ107とデータストアサーバ108との間で実際に送受信されるデータは、ヘッダ情報又はデータ本体を示すペイロードなどを含むデータ形式となる。
以下の説明では、メールの受信処理及び送信処理に特化したシーケンスを説明するために、実際に送受信されるデータではなく、当該データのペイロード部分となるメール、各種要求、及び各種通知を用いる。
なお、携帯端末101とメール受信サーバ106のメール受信部211との間で送受信されるメール及び各種通知、並びに、メール送信サーバ107のメール送信部311と送信先サーバ105との間で送受信されるメール及び各種通知についても同様であるものとする。
また、データストアサーバ108の揮発性記憶部430に対するメールの格納、取得、削除に関する処理の実行時には、メール受信サーバ106のデータストアサーバI/F部212とデータストアサーバ108との間、又は、メール送信サーバ107のデータストアサーバI/F部312とデータストアサーバ108との間で、メール以外に各種管理情報の送受信が必要となる場合がある。
しかし、以下の説明では、メールの受信処理及び送信処理に特化したシーケンスを説明するため、メールの格納、取得、又は削除に関する処理では、前述した管理情報の送受信に関する記載は省略し、1リクエスト1レスポンスの形で説明する。
図7は、本発明の実施例1のメール受信処理の一例を説明するシーケンス図である。
最初に、携帯端末101は、メール受信サーバ106にメールを送信する(ステップS701)。
メール受信サーバ106のメール受信部211は、携帯端末101から送信されたメールを受信し(ステップS702)、揮発性記憶部220に当該メール(メールデータ)を格納する(ステップS703)。
次に、メール受信サーバ106のデータストアサーバI/F部212は、データストアサーバ108にメール格納要求及びメールを送信する(ステップS704)。
なお、図7には記載していないが、データストアサーバ108にメール格納要求及びメールが正しく受信されないためにこの後の処理が実行されなかった場合、メール受信サーバ106は、携帯端末101にメールが正常に送信されなかった旨を通知する。
次に、データストアサーバ108のデータストア管理部410は、メール格納要求及びメールを受信し(ステップS705)、メール格納要求に従って、揮発性記憶部430に受信したメール(メールデータ431)を格納する(ステップS706)。データストアサーバ108のデータストア管理部410は、揮発性記憶部430にメール(メールデータ431)が格納された後、メール受信サーバ106にメール格納完了通知を送信する(ステップS707)。
なお、図7には記載していないが、ステップS706においてメール(メールデータ431)の格納に失敗した場合、データストア管理部410は、メール受信サーバ106にメール(メールデータ431)が格納されなかった旨を通知する。このとき、メール受信サーバ106は、携帯端末101にメールが正常に送信されなかった旨を通知する。
次に、メール受信サーバ106のデータストアサーバI/F部212は、メール格納完了通知を受信する(ステップS708)。メール受信サーバ106のログ出力部213は、データストアサーバ108に送信されたメールを特定するための情報を含むデータ形式の受信ログを出力する(ステップS709)。出力された受信ログは、不揮発性記憶部230の受信ログデータ231に格納される。
次に、メール受信サーバ106のメール受信部211は、携帯端末101にメール送信完了通知を送信する(ステップS710)。携帯端末101は、メール送信完了通知を受信する(ステップS711)。
ステップS710の後、メール受信サーバ106のメール受信部211は、揮発性記憶部220からデータストアサーバ108に送信されたメール(メールデータ)を削除する(ステップS712)。
図8A及び図8Bは、本発明の実施例1のメール送信処理の一例を説明するシーケンス図である。
最初に、メール送信サーバ107のデータストアサーバI/F部312は、メール取得要求をデータストアサーバ108に送信する(ステップS801)。メール取得要求には、メールを特定するためのKeyが含まれる。
データストアサーバ108のデータストア管理部410は、メール取得要求を受信すると(ステップS802)、メール取得要求に従って、揮発性記憶部430の中から所定のメール(メールデータ431)を検索する(ステップS803)。データストアサーバ108のデータストア管理部410は、メール(メールデータ431)が検索された後、取得完了通知及びメールをメール送信サーバ107に送信する(ステップS804)。
次に、メール送信サーバ107のデータストアサーバI/F部312は、取得完了通知及び検索されたメールを受信し(ステップS805)、揮発性記憶部320に受信したメールを格納する(ステップS806)。メール送信サーバ107のメール送信部311は、受信したメールが揮発性記憶部320に格納された後、送信先サーバ105に当該メールを送信する(ステップS807)。
次に、送信先サーバ105は、メール送信サーバ107から送信されたメールを受信すると(ステップS808)、メール送信サーバ107にメール送信完了通知を送信する(ステップS809)。
次に、メール送信サーバ107のメール送信部311は、送信先サーバ105からメール送信完了通知を受信する(ステップS810)。メール送信サーバ107のログ出力部313は、送信先サーバ105に送信されたメールを特定するための情報を含むデータ形式の送信ログを出力する(ステップS811)。出力された送信ログは、不揮発性記憶部330の送信ログデータ331に格納される。
次に、メール送信サーバ107のログ出力部313は、揮発性記憶部320から送信先サーバ105に送信されたメール(メールデータ)を削除する(ステップS812)。メール送信サーバ107のデータストアサーバI/F部312は、データストアサーバ108にメール削除要求を送信する(ステップS813)。
次に、データストアサーバ108のデータストア管理部410は、メール削除要求を受信すると(ステップS814)、揮発性記憶部430からメール(メールデータ431)を削除し(ステップS815)、メール送信サーバ107に削除完了通知を送信する(ステップS816)。
メール送信サーバ107のデータストアサーバI/F部312は、データストアサーバ108から送信された削除完了通知を受信する(ステップS817)。
図9は、本発明の実施例1におけるデータストアサーバ108のデータ検索処理部420によって実行されるメールデータの検索処理を説明するフローチャートである。
メールデータの検索処理では、揮発性記憶部430に格納されているメールデータの中から所定のデータが検索される。
データ検索処理部420は、周期的、又は、オペレータからの指示を受け付けた場合など、所定の条件を満たした場合に以下で説明する処理を実行される。
データ検索処理部420のデータ検索部421は、揮発性記憶部430に格納されるメールデータ431に対するループ処理を開始する(ステップS901)。
具体的には、データ検索部421は、処理の開始時点において、揮発性記憶部430に格納されているメールデータ431の中から処理対象のメールデータ431を一つ選択し、当該メールデータ431に対してステップS902からステップS904の処理を実行する。従って、メールデータ431に対するループ処理では、揮発性記憶部430に格納されている複数のメールデータ431のそれぞれに対して、ステップS902からステップS904の処理を繰り返し実行される。
データ検索部421は、処理対象のメールデータ431が一定時間以上滞留しているか否かを判定する(ステップS902)。具体的には、以下のような処理が実行される。
データ検索部421は、現時点の時刻と処理対象のメールデータ431に含まれる日時の情報とを用いて、メールデータ431の滞留時間を算出する。
例えば、処理開始時点の時刻とメールの送信日時との差を滞留時間として算出する方法が考えられる。なお、メールデータ431の日時の情報は、日時の情報をKeyに含めることによって、現時点の時刻とKeyに含まれる時刻との差を算出することができる。
データ検索部421は、算出された滞留時間が一定時間以上であるか否かを判定する。算出された滞留時間が一定時間以上である場合、データ検索部421は、処理対象のメールデータ431が一定時間以上滞留していると判定する。なお、一定時間はシステム要件に応じて設定すればよい。
以下の説明では、当該一定時間を第1の時間幅とも記載する。
以上がステップS902の処理の説明である。
処理対象のメールデータが一定時間以上滞留していないと判定された場合、データ検索部421は、ステップS905に進む。
処理対象のメールデータが一定時間以上滞留していると判定された場合、データ検索部421は、処理対象のメールデータ431のデータストアログがデータストアログデータ441に書き出されているか否かを判定する(ステップS903)。
例えば、メールデータ431のKeyに含まれる固有IDがデータストアログの一部の情報として利用されている場合、データ検索部421は、Keyに含まれる固有IDに基づいて、データストアログデータ441の中から、処理対象のメールデータ431のデータストアログを検索する方法が考えられる。
処理対象のメールデータ431のデータストアログがデータストアログデータ441に書き出されていると判定された場合、データ検索部421は、ステップS905に進む。
処理対象のメールデータ431のデータストアログがデータストアログデータ441に書き出されていないと判定された場合、データ検索部421は、データストアログデータ441への追加対象として、処理対象のメールデータ431の情報を揮発性記憶部430に記録する(ステップS904)。
例えば、データ検索部421は、揮発性記憶部430に追加対象のメールデータ431のKeyを記録する。なお、追加対象のメールデータ431が複数存在する場合、データ検索部421は、揮発性記憶部430に、追加対象のメールデータ431のKeyのリストを生成してもよい。
次に、データ検索部421は、揮発性記憶部430に格納されている全てのメールデータ431に対して処理が完了したか否かを判定する(ステップS905)。
揮発性記憶部430に格納されている全てのメールデータ431に対して処理が完了していないと判定された場合、すなわち、処理対象のメールデータ431が存在すると判定された場合、データ検索部421は、ステップS902に戻り、新たなメールデータ431を選択し、ステップS902からステップS904の処理を実行する。
揮発性記憶部430に格納されている全てのメールデータ431に対して処理が完了していると判定された場合、データ検索処理部420のログ出力部422は、揮発性記憶部430に記録されたメールデータ431の情報に基づいて、不揮発性記憶部440のデータストアログデータ441に、追加対象のメールデータ431のデータストアログを追加し(ステップS906)、処理を終了する。
本実施例では、ログ出力部422は、日時及び固有IDを含むデータストアログをデータストアログデータ441に書き込むものとする。
本実施例では、ループ処理毎に、追加対象のメールデータ431のデータストアログの書込処理を実行するではなく、ループ処理が終了した後に一括してデータストアログの書込処理を実行する。これによって、書込処理によるデータストアの処理の遅延を防ぐことができる。
図10は、本発明の実施例1におけるデータストアサーバ108の障害発生時に実行される処理を説明するシーケンス図である。図11は、本発明の実施例1における収集・検索サーバ109が障害範囲を特定する場合に用いるログデータを示す説明図である。
収集・検索サーバ109の障害監視部510は、データストアサーバ108に状態確認要求を送信する(ステップS1001)。なお、障害監視部510は、周期的に状態確認要求を送信してもよいし、また、オペレータの指示を受けた場合に状態確認要求を送信してもよい。
ステップS1001の処理は、データストアサーバ108における障害の発生を検知するための処理である。データストアサーバ108における障害の発生が検知された場合、収集・検索サーバ109は、データストアサーバ108の揮発性記憶部430に格納されるメールデータ431の損失の有無を確認する。
データストアサーバ108のデータストア管理部410は、状態確認要求を受信すると(ステップS1002)、データストアサーバ108の稼働状態等を確認し、確認結果を状態情報として収集・検索サーバ109に送信する(ステップS1003)。
ここで、状態情報は、例えば、複数のデータストアサーバ108が存在する場合、複数のデータストアサーバ108の構成情報、各データストアサーバ108の生死情報など、メールデータ431の損失の有無を判定できる情報であればよい。
次に、収集・検索サーバ109の障害監視部510は、状態情報を受信し、当該状態情報に基づいて、メールデータ431の損失が発生するか否かを判定する(ステップS1004)。例えば、二つ以上のデータストアサーバ108が停止している場合、収集・検索サーバ109は、メールデータ431の損失が発生すると判定する。
メールデータ431の損失が発生しないと判定された場合には、障害範囲を特定する必要がないため、収集・検索サーバ109は、これ以降の処理を実行することなく、処理を終了する。
メールデータ431の損失が発生していると判定された場合、収集・検索サーバ109のログ収集部520は、メール受信サーバ106、メール送信サーバ107、及びデータストアサーバ108にログ取得要求を送信する(ステップS1005)。例えば、メール受信サーバ106上でUNIX系(UNIXは登録商標、以下同じ。)のOSが稼働する場合、scpコマンド等を用いることによってステップS1005の処理を実現することができる。
メール受信サーバ106、メール送信サーバ107、及びデータストアサーバ108は、それぞれ、収集・検索サーバ109にログデータを送信する(ステップS1006、S1007、S1008)。
収集・検索サーバ109のログ収集部520は、各サーバから送信されたログデータを受信し、受信したログデータを不揮発性記憶部550に格納する(ステップS1009)。ここで、メール受信サーバ106から受信したログデータは受信ログデータ551として、メール送信サーバ107から受信したログデータは送信ログデータ552として、データストアサーバ108から受信したログデータはデータストアログデータ553として格納される。
収集・検索サーバ109の障害範囲検索部530は、受信したログデータを用いて、障害範囲を特定する(ステップS1010)。ここで、図11を用いて障害範囲の特定方法について説明する。
図9で説明したように、メールデータの検索処理では、一定時間(第1の時間幅)以上滞留しているメールデータ431のログのみがデータストアログデータ441に格納される。より具体的には、処理の開始時の時刻(現時刻)から第1の時間幅分だけさかのぼった時刻より古い時刻のメールデータ431のデータストアログのみが格納される。
そのため、図9の処理と図10の処理とが並列に実行された場合を想定すると、データストアログデータ553は、図11に示すようになる。また、データストアログデータ553に格納されるログの数は、受信ログデータ551又は送信ログデータ552に含まれるログの数より十分少ない。
本実施例では、前述したようなデータストアログデータ553の特徴に基づいて、高速に障害範囲を特定することができる。
まず、障害範囲検索部530は、受信ログデータ551から、現時刻と、現時刻から第1の時間幅分さかのぼった時刻との間に含まれるログを抽出する。また、障害範囲検索部530は、送信ログデータ552から、現時刻と、現時刻から第1の時間幅分さかのぼった時刻との間に含まれるログを抽出する。
以下の説明では、現時刻から第1の時間幅分さかのぼった時刻を第1の時刻とも記載する。
図11に示す例では、受信ログデータ551の斜線部分に含まれるログ、及び送信ログデータ552の斜線部分に含まれるログが抽出される。
次に、障害範囲検索部530は、送信ログデータ552から、第1の時刻と、第1の時刻から障害を特定したい期間さかのぼった時刻との間に含まれるログを抽出する。また、障害範囲検索部530は、データストアログデータ553から第1の時刻と、第1の時刻から障害を特定したい期間さかのぼった時刻との間に含まれるログを抽出する。
以下の説明では、障害を特定したい期間を第2の時間幅とも記載し、また、第1の時刻から第2の時間幅分さかのぼった時刻を第2の時刻とも記載する。なお、第2の時刻(障害範囲を特定したい期間)は、システム要件に応じて設定すればよい。
図11に示す例では、送信ログデータ552の黒塗り部分に含まれるログ、及びデータストアログデータ553の黒塗り部分に含まれるログが抽出される。
図11に示すように、斜線部分に含まれるログと、黒塗り部分に含まれるログは重複しない。これは、現時刻から第1の時刻まで範囲に含まれるメールデータ431のログは出力されないためである。
なお、前述した各ログの抽出処理は、ステップS1009においてログを格納する場合に実行されてもよい。
障害範囲検索部530は、現時刻から第1の時刻の間に含まれる受信ログと、現時刻から第1の時刻の間に含まれる送信ログとを比較して、送信ログデータ552に含まれない受信ログを検索する。例えば、障害範囲検索部530は、受信ログの固有IDと、送信ログの固有IDとを比較する方法が考えられる。
また、障害範囲検索部530は、第1の時刻から第2の時刻の間に含まれる送信ログと、第1の時刻から第2の時刻の間に含まれるデータストアログとを比較して、送信ログに含まれないデータストアログを検索する。例えば、障害範囲検索部530は、送信ログの固有IDと、データストアログの固有IDとを比較する方法が考えられる。
以上の処理によって、損失したメールデータ431の数、メールデータの損失によって影響を受ける人数等の障害範囲を特定することができる。すなわち、検索されたログには、図6A、図6B及び図6Cに示すように、送信元のアドレス及びメールの件名が含まれる。従って、障害範囲検索部530は、検索されたログに含まれる情報に基づいて、障害範囲に関する情報を通知することができる。
以上が、ステップS1010の処理の説明である。
次に、収集・検索サーバ109の障害範囲検索部530は、特定された障害範囲に関する情報を障害範囲情報としてメール受信サーバ106に送信する(ステップS1011)。例えば、検索されたログそのものを障害範囲情報として送信する方法が考えられる。
メール受信サーバ106のメール受信部211は、収集・検索サーバ109から送信された障害範囲情報を受信すると(ステップS1012)、携帯端末101に送信する未達通知を生成し、生成された未達通知を携帯端末101に送信する(ステップS1013)。例えば、送信元のアドレス及びメールの件名が対応づけられたリストを未達通知として送信する方法が考えられる。
携帯端末101は、メール受信サーバ106から送信された未達通知を受信する(ステップS1014)。これによって、携帯端末101の保持者であるメール送信者は、自身が送信したメールが送信先の装置に届いていないことを知ることができる。
前述した処理では、メール受信サーバ106は、障害発生時の対応として未達通知を送信するが、本発明はこれに限定されない。
例えば、メールの本文がログとして出力されている場合、障害範囲検索部530は、ステップS1011において、検索されたログと、障害発生時の対応処理に関する情報とを出力し、出力された障害発生時の対応処理に関する情報に基づいてメール(メールデータ)を復元し、送信先サーバ105に復元されたメールを送信してもよい。
前述した処理の実現方法としては、収集・検索サーバ109が、復元されたメールを含む障害範囲情報をメール送信サーバ107に送信し、メール送信サーバ107が送信先サーバ105に損失したメールを再度送信すればよい。
なお、障害発生時の対応処理としては、例えば、「携帯端末への未達通知送信」、及び「メールデータを復元、送信先サーバへのメールデータの送信」などが考えられる。
また、前述した処理では、収集・検索サーバ109は、自動的に障害範囲の特定し(ステップS1010)、また、障害範囲情報を送信する(ステップS1011)。しかし、本発明はこれに限定されず、オペレータの操作に基づいて処理が実行されてもよい。
図12は、本発明の実施例1の収集・検索サーバ109の操作時にオペレータが用いるターミナル画面の一例を示す説明図である。
ターミナル画面1201は、図10のステップS1010及びステップS1011の実行時に操作されるターミナル画面である。ターミナル画面1201は、一般的な情報処理装置に標準的に搭載されるターミナルプログラムによって表示される画面である。
オペレータは、例えば、UNIXのDIFFコマンドを入力することによって、各種ログの差分を求めることができる。障害範囲検索部530は、所定のコマンドを受け付けると、ステップS1010に示すような処理を実行し、処理結果をターミナル画面上に表示する。
また、オペレータが、DIFFコマンドを用いて検索されたログを、障害範囲検索部530に入力する操作を行うことによって、メール受信サーバ106に障害範囲情報が送信することができる。
以上説明したように、実施例1によれば、データストアサーバ108において、所定の条件を満たすメールのログのみが不揮発性記憶部440に書き込まれる。従って、従来技術と比較して、書き込まれるログの数が減少するため、インメモリKVS等のデータストアの性能の低下を抑止することができる。
また、障害範囲検索部530は、所定の時間範囲に含まれる受信ログデータと送信ログデータとを比較し、また、所定の時間範囲に含まれる送信ログデータとデータストアログデータとを比較することによって、障害範囲を特定できる。
従来技術では、膨大なデータ量の受信ログデータと送信ログデータとを比較する必要があったが、本実施例では、限られた時間範囲のデータを比較することによって障害範囲を特定できるため、高速に障害範囲を特定することができる。また、データストアログには、所定の条件を満たすメールデータのログのみが格納されるため、前述した比較処理の高速化が可能となる。
(変形例)
実施例1では、滞留時間に基づいて、データストアログデータ441に追加するメールデータ431を特定していたが、本発明はこれに限定されない。例えば、以下のような処理に基づいてデータストアログデータ441に追加するメールデータ431を特定してもよい。
図13は、本発明の変形例におけるデータストアサーバ108のデータ検索処理部420によって実行されるメールデータの検索処理を説明するフローチャートである。
変形例1では、データ検索部421は、処理対象のメールデータ431の送信先ドメインが検索対象のドメインであるか否かを判定する(ステップS1302)。なお、検索対象のドメインは、予め設定されているものとする。
例えば、メールデータ431のKeyに含まれるドメイン名がデータストアログの一部の情報として利用されている場合、データ検索部421は、Keyに含まれるドメイン名に基づいて、処理対象のメールデータ431であるか否かを判定する。
ステップS1301、ステップS1303、ステップS1304、ステップS1305、及びステップS1306の処理は、ステップS901、ステップS903、ステップS904、ステップS905、及びステップS906の処理と同一の処理であるため説明を省略する。
図13に示すデータ検索処理を実行することによって、特定のドメインに特化した高速な障害範囲の特定が可能となる。
実施例2は、複数のキャリア設備網を有するメールシステムにおいて、一つのキャリア設備網に障害が発生した場合、他のキャリア設備網の収集・検索サーバ109が障害範囲を特定する。
以下、実施例1との差異を中心に実施例2について説明する。
図14は、本発明の実施例2におけるメールシステムの構成の一例を示す説明図である。
実施例2のメールシステムは、二つのキャリア設備網A103、キャリア設備網B103を含む。また、実施例2のメールシステムは、ログ管理サーバ1400を含む。ログ管理サーバ1400は、キャリア設備網A103及びキャリア設備網B103に接続され、キャリア設備網103毎にログを管理する。
キャリア設備網A103及びキャリア設備網B103には、それぞれ、メール受信サーバ106、メール送信サーバ107、データストアサーバ108、収集・検索サーバ109が接続される。
実施例2の携帯端末101は、モバイルネットワーク102を介してキャリア設備網A103及びキャリア設備網B103と接続される。
実施例2の送信先サーバ105は、インターネット104を介して、キャリア設備網A103及びキャリア設備網B103と接続される。また、実施例2の送信先サーバ105は、キャリア設備網A103に接続されるメール送信サーバ107とメールの送受信を行い、キャリア設備網B103に接続されるメール送信サーバ107とメールの送受信を行う。
なお、メール受信サーバ106、メール送信サーバ107、データストアサーバ108、収集・検索サーバ109は実施例1と同一のものであるため、各サーバの構成については説明を省略する。
図15は、本発明の実施例2におけるログ管理サーバ1400の構成の一例を説明するブロック図である。
ログ管理サーバ1400は、情報処理装置を用いて実現される。ログ管理サーバ1400は、ハードウェア構成として、プロセッサ1501、揮発性メモリ1502、不揮発性メモリ1503、及びネットワークI/F1504を備え、各構成はバスなどの内部通信線を介して互いに接続される。
プロセッサ1501は、揮発性メモリ1502に格納されるプログラムを実行する。プロセッサ1501が揮発性メモリ1502に格納されるプログラムを実行することによって、ログ管理サーバ1400が備える機能が実現される。以下の説明では、プログラムを主体に処理を記載する場合、プロセッサ1501によって当該プログラムが実行されていることを示す。
揮発性メモリ1502は、プロセッサ1501によって実行されるプログラムを格納し、また、当該プログラムの実行に必要なデータを一時的に格納する記憶領域を含む。具体的には、揮発性メモリ1502は、障害監視部1510、及びログ収集部1520を実現するプログラムを格納し、また、揮発性記憶部1530を含む。
障害監視部1510は、キャリア設備網103毎の障害を監視するための処理を実行する。
ログ収集部1520は、キャリア設備網103の収集・検索サーバ109からログを取得し、取得されたログを不揮発性メモリ503に格納するための処理を実行する。本実施例では、ログ収集部1520は、キャリア設備網103毎に、受信ログデータ1541、送信ログデータ1542、及びデータストアログデータ1543を不揮発性記憶部1540に格納する。
揮発性記憶部1530は、障害監視部1510、及びログ収集部1520が管理するデータを格納する。
不揮発性メモリ1503は、永続的にデータを格納する不揮発性記憶部1540を含む。
不揮発性記憶部1540は、障害監視部1510、及びログ収集部1520が管理するデータを格納する。また、不揮発性記憶部1540は、キャリア設備網103毎に受信ログデータ1541、送信ログデータ1542、データストアログデータ1543を格納する。
なお、受信ログデータ1541、送信ログデータ1542、及びデータストアログデータ1543は、受信ログデータ551、送信ログデータ552、及びデータストアログデータ553と同一のものである。
ネットワークI/F1504は、ネットワークを介して他の装置と接続するためのインタフェースである。本実施例では、ネットワークI/F1504は、キャリア設備網A103及びキャリア設備網B103と接続される。
図16は、本発明の実施例2におけるキャリア設備網に障害が発生した場合に実行される処理を説明するシーケンス図である。
以下の説明では、キャリア設備網A103の障害が発生したものとして説明する。
ログ管理サーバ1400のログ収集部1520は、キャリア設備網A103及びキャリア設備網B103のそれぞれの収集・検索サーバ109にログ取得要求を送信する(ステップS1601)。例えば、ログ管理サーバ1400は、ブロードキャスト送信にてログ取得要求を送信する。なお、ログ収集部1520は、周期的に状態確認要求を送信してもよいし、また、オペレータの指示を受けた場合にログ取得要求を送信してもよい。
キャリア設備網B103の収集・検索サーバ109のログ収集部520は、ログ取得要求を受信すると、不揮発性記憶部550に格納される受信ログデータ551、送信ログデータ552、及びデータストアログデータ553をログ管理サーバ1400に送信する(ステップS1602)。
なお、ログ収集部520は、キャリア設備網B103に接続されるメール受信サーバ106、メール送信サーバ107、及びデータストアサーバ108にログ取得要求を送信することによって、ログデータを取得してもよい。
ログ管理サーバ1400のログ収集部1520は、ログデータを受信すると、キャリア設備網Bのログデータとして不揮発性記憶部1540に格納する(ステップS1603)。例えば、ログ収集部1520は、キャリア設備網Bの識別子と、ログデータとを対応づけて不揮発性記憶部1540に格納する。
ログ管理サーバ1400の障害監視部1510は、ログ取得要求の応答に基づいて、各キャリア設備網103における障害発生の有無を判定する(ステップS1604)。
例えば、障害監視部1510は、ログ取得要求を送信してから一定時間経過しても、収集・検索サーバ109からログデータが送信されない場合、当該収集・検索サーバ109が接続されるキャリア設備網103に障害発生したものと判定する。
本実施例では、キャリア設備網A103の収集・検索サーバ109からログデータが送信されないため、障害監視部1510は、キャリア設備網A103に障害が発生したものと判定する。
キャリア設備網103における障害発生が検知された場合、ログ管理サーバ1400の障害監視部1510は、他のキャリア設備網103の収集・検索サーバ109に障害情報を送信する(ステップS1605)。
障害情報には、障害の発生が検知されたキャリア設備網103の識別情報、及びキャリア設備網103のログデータが含まれる。例えば、障害監視部1510は、障害の発生が検知されたキャリア設備網103の識別情報に基づいて、不揮発性記憶部1540から当該キャリア設備網103に対応するログデータを取得する。
収集・検索サーバ109のログ収集部520は、障害情報を受信すると(ステップS1606)、キャリア設備網103の識別情報と対応づけて、障害情報に格納されるログデータを不揮発性記憶部550に格納する(ステップS1607)。
収集・検索サーバ109の障害範囲検索部530は、不揮発性記憶部550に格納されるログデータを用いて、障害範囲を特定する(ステップS1608)。ステップS1608の処理は、ステップS1010と同一の処理であるため説明を省略する。
次に、収集・検索サーバ109の障害範囲検索部530は、特定された障害範囲に関する情報を、障害範囲情報としてメール受信サーバ106に送信する(ステップS1609)。ステップS1609の処理は、ステップS1011と同一であるため説明を省略する。
メール受信サーバ106のメール受信部211は、収集・検索サーバ109から送信された障害範囲情報を受信すると(ステップS1610)、携帯端末101に送信する未達通知を生成し、生成された未達通知を携帯端末101に送信する(ステップS1611)。ステップS1610及びステップS1611の処理は、ステップS1012及びステップS1013と同一の処理であるため説明を省略する。
携帯端末101は、メール受信サーバ106から送信された未達通知を受信する(ステップS1612)。これによって、携帯端末101の保持者であるメール送信者は、自身が送信したメールが送信先に届かなかったことを知ることができる。なお、ステップS1612の処理は、ステップS1014と同一の処理である。
前述した処理では、メール受信サーバ106は、障害発生時の対応として未達通知を送信するが、本発明はこれに限定されない。
例えば、メールの本文がログとして出力されている場合、ログ収集部1520は、ステップS1609において、検索されたログと、障害発生時の対応処理に関する情報とを出力し、出力された障害発生時の対応処理に関する情報に基づいてメール(メールデータ)を復元し、送信先サーバ105に復元されたメールを送信してもよい。
前述した処理の実現方法としては、収集・検索サーバ109が、復元されたメールを含む障害範囲情報をメール送信サーバ107に送信し、メール送信サーバ107が送信先サーバ105に損失したメールを再度送信すればよい。
障害発生時の対応処理としては、例えば、「携帯端末への未達通知送信」、及び「メールデータを復元、送信先サーバへのメールデータの送信」などが考えられる。
前述した処理では、ログ管理サーバ1400が各キャリア設備網103の収集・検索サーバ109にログ取得要求を送信したが、本発明はこれに限定されない。
例えば、メール受信サーバ106、メール送信サーバ107、及びデータストアサーバ108が、ログを出力する場合に(ステップS709、S811、S906)、それぞれがログ管理サーバ1400にログを送信してもよい。この場合、ログ管理サーバ1400は、ログ取得要求の代わりに、収集・検索サーバ109に状態確認要求を送信すればよい。
以上説明したように、実施例2によれば、キャリア設備網103全体に障害が発生した場合であっても、他のキャリア設備網103の収集・検索サーバ109が、障害範囲を特定することができる。
なお、本実施例で例示した種々のソフトウェアは、電磁的、電子的及び光学式等の種々の記録媒体に格納可能であり、インターネット等の通信網を通じて、コンピュータにダウンロード可能である。
さらに、本実施例では、ソフトウェアによる制御を用いた例について説明したが、その一部をハードウェアによって実現することも可能である。
以上、本発明を添付の図面を参照して詳細に説明したが、本発明はこのような具体的構成に限定されるものではなく、添付した請求の範囲の趣旨内における様々な変更及び同等の構成を含むものである。
101 携帯端末
102 モバイルネットワーク
103 キャリア設備網
104 インターネット
105 送信先サーバ
106 メール受信サーバ
107 メール送信サーバ
108 データストアサーバ
109 収集・検索サーバ
201 プロセッサ
202 揮発性メモリ
203 不揮発性メモリ
204 ネットワークI/F
210 メール受信処理部
211 メール受信部
212 データストアサーバI/F部
213 ログ出力部
220 揮発性記憶部
230 不揮発性記憶部
231 受信ログデータ
301 プロセッサ
302 揮発性メモリ
303 不揮発性メモリ
304 ネットワークI/F
310 メール送信処理部
311 メール送信部
312 データストアサーバI/F部
313 ログ出力部
320 揮発性記憶部
330 不揮発性記憶部
331 送信ログデータ
401 プロセッサ
402 揮発性メモリ
403 不揮発性メモリ
404 ネットワークI/F
410 データストア管理部
420 データ検索処理部
421 データ検索部
422 ログ出力部
430 揮発性記憶部
431 メールデータ
440 不揮発性記憶部
441 データストアログデータ
501 プロセッサ
502 揮発性メモリ
503 不揮発性メモリ
504 ネットワークI/F
510 障害監視部
520 ログ収集部
530 障害範囲検索部
540 揮発性記憶部
550 不揮発性記憶部
551 受信ログデータ
552 送信ログデータ
553 データストアログデータ
1201 ターミナル画面
1400 ログ管理サーバ
1501 プロセッサ
1502 揮発性メモリ
1503 不揮発性メモリ
1504 ネットワークI/F
1510 障害監視部
1520 ログ収集部
1530 揮発性記憶部
1540 不揮発性記憶部
1541 受信ログデータ
1542 送信ログデータ
1543 データストアログデータ

Claims (14)

  1. ネットワークを介して接続される複数の計算機を備え、端末からメッセージを受信し、宛先の装置に当該メッセージを送信する計算機システムであって、
    前記複数の計算機の各々は、プロセッサ、前記プロセッサに接続されるメモリ、及び前記プロセッサに接続されるネットワークインタフェースを有し、
    前記計算機システムは、
    前記端末から前記メッセージを受信するメッセージ受信部と、前記受信したメッセージのログである受信ログを出力する第1のログ出力部と、複数の前記受信ログが含まれる受信ログデータを格納する第1の記憶部と、を有する第1の計算機、
    前記メモリの記憶領域を用いて構築され、前記メッセージを格納するデータストアを管理するデータストア管理部と、前記データストアに格納される前記メッセージの中から所定の条件に一致するメッセージを検索する第1の検索部と、前記検索されたメッセージのログであるデータストアログを出力する第2のログ出力部と、複数の前記データストアログが含まれるデータストアログデータを格納する第2の記憶部と、を有する第2の計算機、
    前記データストアに格納される前記メッセージを取得し、前記宛先の装置に前記メッセージを送信するメッセージ送信部と、前記宛先の装置に送信された前記メッセージのログである送信ログを出力する第3のログ出力部と、複数の前記送信ログが含まれる送信ログデータを格納する第3の記憶部と、を有する第3の計算機、並びに、
    前記データストアの状態を監視する第1の監視部と、前記データストアの障害発生が検知された場合に、前記第1の記憶部、前記第2の記憶部、及び前記第3の記憶部のそれぞれから、前記受信ログデータ、前記データストアログデータ、及び前記送信ログデータを取得する第1のログ収集部と、前記取得された受信ログデータ、前記データストアログデータ、及び前記送信ログデータを比較することによって、前記データストアの障害発生によって損失した前記メッセージを検索する第2の検索部と、前記受信ログデータ、前記データストアログデータ、及び前記送信ログデータを格納する第4の記憶部と、を有する第4の計算機、を備えることを特徴とする計算機システム。
  2. 請求項1に記載の計算機システムであって、
    前記第1の検索部は、
    前記データストアに格納される前記メッセージの中から処理対象のメッセージを選択し、
    現在の時刻、及び前記選択されたメッセージに含まれる日時の情報に基づいて、当該メッセージの滞留時間を算出し、
    前記算出された滞留時間が第1の時間幅より大きい場合、前記選択されたメッセージを前記データストアログの出力対象に決定し、
    前記出力対象のメッセージの識別情報のリストを前記メモリ上に生成し、
    前記第2のログ出力部は、
    前記リストに基づいて、前記出力対象のメッセージのデータストアログを生成し、
    前記生成されたデータストアログを前記第2の記憶部に格納される前記データストアログデータに追加することを特徴とする計算機システム。
  3. 請求項2に記載の計算機システムであって、
    前記第1の監視部は、
    前記第2の計算機から当該第2の計算機の稼働状態を示す状態情報を取得し、
    前記取得された状態情報に基づいて、前記メッセージの損失が発生したか否かを判定し、
    前記メッセージの損失が発生したと判定された場合、前記第1の計算機、前記第2の計算機、及び前記第3の計算機に、ログ取得要求を送信し、
    前記第1の計算機、前記第2の計算機、及び前記第3の計算機のそれぞれから受信した前記受信ログデータ、前記データストアログデータ、及び前記送信ログデータを前記第4の記憶部に格納し、
    前記第2の検索部は、
    前記取得された受信ログデータから、現在の時刻と、前記現在の時刻から前記第1の時間幅分さかのぼった時刻である第1の時刻との間に含まれる受信ログを抽出し、
    前記取得された送信ログデータから、前記現在の時刻と、前記第1の時刻との間に含まれる第1の送信ログを抽出し、
    前記取得されたデータストアログデータから、前記第1の時刻と、前記第1の時刻から第2の時間幅分さかのぼった時刻である第2の時刻との間に含まれるデータストアログを抽出し、
    前記取得された送信ログデータから、前記第1の時刻と、前記第2の時刻との間に含まれる第2の送信ログを抽出し、
    前記抽出された受信ログと前記抽出された第1の送信ログとを比較し、さらに、前記抽出されたデータストアログと前記抽出された第2の送信ログとを比較し、
    前記比較の結果に基づいて、前記データストアの障害発生によって損失したメッセージを特定し、
    前記特定されたメッセージに関する情報を前記第1の計算機に送信することを特徴とすることを特徴とする計算機システム。
  4. 請求項2又は請求項3に記載の計算機システムであって、
    前記第2のログ出力部は、前記出力対象のメッセージそのもの、又は前記出力対象のメッセージから生成される検索キーのいずれか一方を前記データストアログとして出力すること特徴とする計算機システム。
  5. 請求項3に記載の計算機システムであって、
    前記メッセージ受信部は、
    前記第2の検索部から前記特定されたメッセージに関する情報を受信した場合に、前記損失したメッセージを通知するための通知情報を生成し、
    前記生成された通知情報を前記端末に送信することを特徴とする計算機システム。
  6. 請求項2又は請求項3に記載の計算機システムであって、
    前記計算機システムは、
    前記端末を接続する第1のネットワークと、前記宛先となる装置を接続する第2のネットワークと、前記第1のネットワーク及び前記第2のネットワークを接続する複数の第3のネットワークと、を含み、
    前記複数の第3のネットワークの各々には、前記第1の計算機、前記第2の計算機、前記第3の計算機、及び前記第4の計算機が接続され、
    前記計算機システムは、
    前記複数の第3のネットワークと接続され、かつ、前記複数の第3のネットワークの各々の障害を監視する第2の監視部と、前記複数の第3のネットワークの各々から前記受信ログデータ、前記データストアログデータ、及び前記送信ログデータを取得する第2のログ収集部と、前記複数の第3のネットワーク毎に、取得された前記受信ログデータ、前記データストアログデータ、及び前記送信ログデータを格納する第5の記憶部とを有する第5の計算機を備え、
    前記第2のログ収集部は、
    前記複数の第3のネットワークの各々の前記第4の計算機に対して、ログ取得要求を送信し、
    受信した前記受信ログデータ、前記データストアログデータ、及び前記送信ログデータを前記第5の記憶部に格納し、
    前記第2の監視部は、
    前記ログ取得要求に対する応答がない前記第4の計算機が存在するか否かを判定し、
    前記ログ取得要求に対する応答がない前記第4の計算機が存在する場合、当該第4の計算機が接続される前記第3のネットワークの障害と判定し、
    前記第5の記憶部から、前記障害が発生した第3のネットワークに対応する前記受信ログデータ、前記データストアログデータ、及び前記送信ログデータを読み出し、
    障害が発生していない前記第3のネットワークに接続される前記第4の計算機に、読み出された前記受信ログデータ、前記データストアログデータ、及び前記送信ログデータを含む障害情報を送信し、
    前記第2の検索部は、前記障害情報を受信した場合、当該障害情報に基づいて、前記障害が発生した第3のネットワークにおいて損失したメッセージを検索することを特徴とする計算機システム。
  7. 請求項2又は請求項3に記載の計算機システムであって、
    前記第1の計算機、前記第2の計算機、前記第3の計算機、及び前記第4の計算機は、同一の前記計算機の計算機資源を用いて実現されることを特徴とする計算機システム。
  8. ネットワークを介して接続される複数の計算機を備え、端末からメッセージを受信し、宛先の装置に当該メッセージを送信する計算機システムにおける障害特定方法であって、
    前記複数の計算機の各々は、プロセッサ、前記プロセッサに接続されるメモリ、及び前記プロセッサに接続されるネットワークインタフェースを有し、
    前記計算機システムは、
    メッセージ受信部と、第1のログ出力部と、複数の受信ログが含まれる受信ログデータを格納する第1の記憶部と、を有する第1の計算機、
    前記メモリの記憶領域を用いて構築され、前記メッセージを格納するデータストアを管理するデータストア管理部と、第1の検索部と、第2のログ出力部と、複数のデータストアログが含まれるデータストアログデータを格納する第2の記憶部と、を有する第2の計算機、
    メッセージ送信部と、第3のログ出力部と、複数の送信ログが含まれる送信ログデータを格納する第3の記憶部と、を有する第3の計算機、及び、
    第1の監視部と、第1のログ収集部と、第2の検索部と、第4の記憶部と、を有する第4の計算機、を備え、
    前記方法は、
    前記メッセージ受信部が、前記端末からメッセージを受信する第1のステップと、
    前記メッセージ受信部が、前記受信したメッセージを含むメッセージ格納要求を前記データストア管理部に送信する第2のステップと、
    前記データストア管理部は、前記メッセージ格納要求に含まれる前記メッセージを前記データストアに格納する第3のステップと、
    前記第1のログ出力部が、前記データストア管理部から前記メッセージ格納要求に対する応答である第1の通知を受信した後に、前記受信したメッセージの受信ログを、前記第1の記憶部の前記受信ログデータに追加する第4のステップと、
    前記メッセージ送信部が、前記データストア管理部にメール取得要求を送信する第5のステップと、
    前記メッセージ送信部が、前記データストア管理部から前記メール取得要求に対応する応答である第2の通知、及びメールを受信する第6のステップと、
    前記メッセージ送信部が、前記受信したメールを前記宛先の装置に送信する第7のステップと、
    前記第3のログ出力部が、前記宛先の装置から、前記取得されたメールを受信したことを示す第3の通知を受信した後、前記取得されたメールの送信ログを、前記第3の記憶部の前記送信ログデータに追加する第8のステップと、
    前記第1の検索部が、前記データストアに格納される前記メッセージの中から所定の条件に一致するメッセージを検索する第9のステップと、
    前記第2のログ出力部が、前記検索されたメッセージのデータストアログを、前記第2の記憶部に格納される前記データストアログデータに追加する第10のステップと、
    前記第1の監視部が、前記データストアの状態を監視する第11のステップと、
    前記第1のログ収集部が、前記第1の監視部によって前記データストアの障害発生が検知された場合、前記第1の記憶部、前記第2の記憶部、及び前記第3の記憶部のそれぞれから、前記受信ログデータ、前記データストアログデータ、及び前記送信ログデータを取得する第12のステップと、
    前記第1のログ収集部が、前記受信ログデータ、前記データストアログデータ、及び前記送信ログデータを前記第4の記憶部に格納する第13のステップと、
    前記第2の検索部が、取得された前記受信ログデータ、前記データストアログデータ、及び前記送信ログデータを比較することによって、前記データストアの障害発生によって損失した前記メッセージを検索する第14のステップと、
    を含むことを特徴とする障害特定方法。
  9. 請求項8に記載の障害特定方法であって、
    前記第9のステップは、
    前記データストアに格納される前記メッセージの中から処理対象のメッセージを選択するステップと、
    現在の時刻、及び前記選択されたメッセージに含まれる日時の情報に基づいて、当該メッセージの滞留時間を算出するステップと、
    前記算出された滞留時間が第1の時間幅より大きい場合、前記選択されたメッセージを前記データストアログの出力対象に決定するステップと、
    前記出力対象のメッセージの識別情報のリストを前記メモリ上に生成するステップと、を含み、
    前記第10のステップは、
    前記リストに基づいて、前記出力対象のメッセージのデータストアログを生成するステップと、
    前記生成されたデータストアログを前記第2の記憶部に格納される前記データストアログデータに追加するステップと、を含むことを特徴とする障害特定方法。
  10. 請求項9に記載の障害特定方法であって、
    前記第11のステップは、
    前記第2の計算機から当該第2の計算機の稼働状態を示す状態情報を取得するステップと、
    前記取得された状態情報に基づいて、前記メッセージの損失が発生したか否かを判定するステップと、を含み、
    前記第12のステップは、前記メッセージの損失が発生したと判定された場合、前記第1の計算機、前記第2の計算機、及び前記第3の計算機に、ログ取得要求を送信するステップと、
    前記第1の計算機、前記第2の計算機、及び前記第3の計算機のそれぞれから受信した前記受信ログデータ、前記データストアログデータ、及び前記送信ログデータを前記第4の記憶部に格納するステップと、を含み、
    前記第14のステップは、
    前記取得された受信ログデータから、現在の時刻と、前記現在の時刻から前記第1の時間幅分さかのぼった時刻である第1の時刻との間に含まれる受信ログを抽出するステップと、
    前記取得された送信ログデータから、前記現在の時刻と、前記第1の時刻との間に含まれる第1の送信ログを抽出するステップと、
    前記取得されたデータストアログデータから、前記第1の時刻と、前記第1の時刻から第2の時間幅分さかのぼった時刻である第2の時刻との間に含まれるデータストアログを抽出するステップと、
    前記取得された送信ログデータから、前記第1の時刻と、前記第2の時刻との間に含まれる第2の送信ログを抽出するステップと、
    前記抽出された受信ログと前記抽出された第1の送信ログとを比較し、さらに、前記抽出されたデータストアログと前記抽出された第2の送信ログとを比較するステップと、
    前記比較の結果に基づいて、前記データストアの障害発生によって損失したメッセージを特定するステップと、
    前記特定されたメッセージに関する情報を前記メッセージ受信部に送信するステップと、を含むことを特徴とすることを特徴とする障害特定方法。
  11. 請求項9又は請求項10に記載の障害特定方法であって、
    前記第10のステップでは、前記出力対象のメッセージそのもの、又は前記出力対象のメッセージから生成される検索キーのいずれか一方を前記データストアログとして出力されること特徴とする障害特定方法。
  12. 請求項10に記載の障害特定方法であって、
    前記方法は、さらに、
    前記メッセージ受信部が、前記第2の検索部から前記特定されたメッセージに関する情報を受信した場合に、前記損失したメッセージを通知するための通知情報を生成するステップと、
    前記メッセージ受信部が、前記生成された通知情報を前記端末に送信するステップと、
    を含むことを特徴とする障害特定方法。
  13. 請求項9又は請求項10の障害特定方法であって、
    前記計算機システムは、
    前記端末を接続する第1のネットワークと、前記宛先となる装置を接続する第2のネットワークと、前記第1のネットワーク及び前記第2のネットワークを接続する複数の第3のネットワークと、を含み、
    前記複数の第3のネットワークの各々には、前記第1の計算機、前記第2の計算機、前記第3の計算機、及び前記第4の計算機が接続され、
    前記計算機システムは、
    前記複数の第3のネットワークと接続され、かつ、第2の監視部と、第2のログ収集部と、前記複数の第3のネットワーク毎に、前記受信ログデータ、前記データストアログデータ、及び前記送信ログデータを格納する第5の記憶部とを有する第5の計算機を備え、
    前記方法は、
    前記第2のログ収集部が、前記複数の第3のネットワークの各々の前記第4の計算機に対して、ログ取得要求を送信するステップと、
    前記第2のログ収集部が、受信した前記受信ログデータ、前記データストアログデータ、及び前記送信ログデータを前記第5の記憶部に格納するステップと、
    前記第2の監視部が、前記ログ取得要求に対する応答がない前記第4の計算機が存在するか否かを判定するステップと、
    前記第2の監視部が、前記ログ取得要求に対する応答がない前記第4の計算機が存在する場合、当該第4の計算機が接続される前記第3のネットワークの障害と判定するステップと、
    前記第2の監視部が、前記第5の記憶部から、前記障害が発生した第3のネットワークに対応する前記受信ログデータ、前記データストアログデータ、及び前記送信ログデータを読み出すステップと、
    前記第2の監視部が、障害が発生していない前記第3のネットワークに接続される前記第4の計算機に、読み出された前記受信ログデータ、前記データストアログデータ、及び前記送信ログデータを含む障害情報を送信するステップと、
    前記第2の検索部が、前記障害情報を受信した場合に、当該障害情報に基づいて、前記障害が発生した第3のネットワークにおいて前記損失したメッセージを検索するステップと、を含むことを特徴とする障害特定方法。
  14. 請求項9又は請求項10に記載の障害特定方法であって、
    前記第1の計算機、前記第2の計算機、前記第3の計算機、及び前記第4の計算機は、同一の前記計算機の計算機資源を用いて実現されることを特徴とする障害特定方法。
JP2013110830A 2013-05-27 2013-05-27 計算機システム及び障害特定方法 Active JP5913196B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2013110830A JP5913196B2 (ja) 2013-05-27 2013-05-27 計算機システム及び障害特定方法
US14/893,247 US9852031B2 (en) 2013-05-27 2014-05-23 Computer system and method of identifying a failure
PCT/JP2014/063634 WO2014192641A1 (ja) 2013-05-27 2014-05-23 計算機システム及び障害特定方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013110830A JP5913196B2 (ja) 2013-05-27 2013-05-27 計算機システム及び障害特定方法

Publications (2)

Publication Number Publication Date
JP2014229249A JP2014229249A (ja) 2014-12-08
JP5913196B2 true JP5913196B2 (ja) 2016-04-27

Family

ID=51988674

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013110830A Active JP5913196B2 (ja) 2013-05-27 2013-05-27 計算機システム及び障害特定方法

Country Status (3)

Country Link
US (1) US9852031B2 (ja)
JP (1) JP5913196B2 (ja)
WO (1) WO2014192641A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6328595B2 (ja) * 2015-09-29 2018-05-23 東芝テック株式会社 情報処理装置及びプログラム
JP6438871B2 (ja) * 2015-09-29 2018-12-19 東芝テック株式会社 情報処理装置及びプログラム
KR102183582B1 (ko) * 2018-11-29 2020-11-26 동서대학교 산학협력단 비공개 데이터셋의 데이터 무결성 보장을 위한 블록체인 솔루션 제공 시스템, 그리고 이의 처리 방법

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1505603A (en) 1976-07-07 1978-03-30 Ibm Data processing systems
JPH05316166A (ja) * 1992-05-11 1993-11-26 Oki Electric Ind Co Ltd 通信データ判定装置
JP2002278853A (ja) * 2001-03-21 2002-09-27 Hitachi Information Systems Ltd 分散オブジェクト環境における通信障害監視システムと通信障害監視方法およびプログラム
US20030110224A1 (en) * 2001-12-12 2003-06-12 Cazier Robert Paul Message auto-routing for electronic mail
JP4300808B2 (ja) 2003-01-24 2009-07-22 株式会社日立製作所 統合ログ表示方法及びシステム
JP4759418B2 (ja) * 2006-03-23 2011-08-31 株式会社日立製作所 メッセージ回復システムおよび回復方法
US8239458B2 (en) * 2006-03-31 2012-08-07 Microsoft Corporation Determining failed delivery of email messages using email notifications
US20070233789A1 (en) * 2006-03-31 2007-10-04 Microsoft Corporation Determining failed delivery of email messages using email notifications
JP4257364B2 (ja) * 2007-01-24 2009-04-22 富士通株式会社 通信エラー情報出力プログラム、通信エラー情報出力方法および通信エラー情報出力装置
JP2012088815A (ja) * 2010-10-15 2012-05-10 Toshiba Corp マイクロプロセッサ動作監視システム
ES2896059T3 (es) * 2011-12-22 2022-02-23 Amadeus Método y sistema para el seguimiento y la verificación de mensajes

Also Published As

Publication number Publication date
US9852031B2 (en) 2017-12-26
JP2014229249A (ja) 2014-12-08
WO2014192641A1 (ja) 2014-12-04
US20160085638A1 (en) 2016-03-24

Similar Documents

Publication Publication Date Title
CN109040252B (zh) 文件传输方法、***、计算机设备和存储介质
CN105357038B (zh) 监控虚拟机集群的方法和***
US8275752B2 (en) Data backup method through distributed network, involves generating data segment copies to transmit to peer storage servers based on metadata with segment distribution matrix by calculating redundancy corresponding to data segments
CN108289034B (zh) 一种故障发现方法和装置
US11218541B2 (en) Data storage method, storage server, and storage medium and system
WO2013078689A1 (zh) 一种云消息服务中实现消息传递的方法和装置
US9858152B2 (en) Collaborative information source recovery
KR101881232B1 (ko) 이메일 웹클라이언트 통지 큐잉
JP5517417B2 (ja) 監視装置及びその制御方法、並びに、プログラム
JP5913196B2 (ja) 計算機システム及び障害特定方法
KR20170068533A (ko) 가상 카드 처리 방법 및 장치
CN111342986B (zh) 分布式节点管理方法及装置、分布式***、存储介质
US8055991B2 (en) Error detection and recovery using an asynchronous transaction journal
TW201227268A (en) Data backup system and data backup and retrival method
JP4600324B2 (ja) ポリシー管理システム、ポリシーマネージャ、ポリシーエージェント、ルール生成方法及びプログラム
JP6697101B2 (ja) 情報処理システム
CN111182047B (zh) 用于在跨网络的大数据平台之间转移文件的方法和***
CN114327563A (zh) 数据同步方法及装置、***、存储介质、计算机***
JP5954738B2 (ja) ファイルのバックアップの処理を行うコンピュータ、システム、方法およびプログラム
JP5433069B1 (ja) バックアップ装置、バックアッププログラム及びバックアップシステム
CN113179333B (zh) 一种用于区块链的文件传输与实时计算***及方法
US20230370959A1 (en) Systems and methods for retrieving ran information
JP2018097822A (ja) プログラム、システム、およびシステムの制御方法
CN116723159A (zh) 信息查询方法和相关设备
WO2018184509A1 (zh) 一种数据处理的方法和装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150403

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: 20160315

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160401

R150 Certificate of patent or registration of utility model

Ref document number: 5913196

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150