(57)【要約】【課題】通信装置において障害が発生した場合、障害が発生した直前の障害の情報を通信装置から取得する。【解決手段】所定の量ごとにデータが書き込まれ、かつ、データを保持するための電源の供給を必要としない第１のメモリと、所定の量より少ない量ごとにデータが書き込まれ、かつ、データを保持するための電源の供給を必要としないＭＲＡＭと、データを保持するための電源の供給を必要とする第２のメモリと、を有し、通信装置において処理されたデータを、第２のメモリに格納し、通信装置において処理されたデータであり、かつ、通信装置において発生した事象を解析するために保存するべきデータを、ＭＲＡＭに格納し、ＭＲＡＭに格納されるデータを所定の量ごとに第１のメモリに移動し、通信装置において事象が発生し通信装置が停止した後、通信装置が起動した場合、ＭＲＡＭに格納されるデータを、第１のメモリに格納する。【選択図】図１
2015170140.tif 000002
【特許請求の範囲】
【請求項１】
通信装置であって、
データを処理するプロセッサと、
所定の量ごとにデータが書き込まれ、かつ、前記データを保持するための電源の供給を必要としない第１のメモリと、
前記所定の量より少ない量ごとにデータが書き込まれ、かつ、前記データを保持するための電源の供給を必要としないＭＲＡＭと、
前記データを保持するための電源の供給を必要とする第２のメモリと、を有し、
前記通信装置において処理されたデータを、前記第２のメモリに格納し、
前記通信装置において処理されたデータであり、かつ、前記通信装置において発生した事象を解析するために保存するべきデータを、前記ＭＲＡＭに格納し、
前記ＭＲＡＭに格納されるデータを前記所定の量ごとに前記第１のメモリに移動し、
前記通信装置において前記事象が発生し前記通信装置が停止した後、前記通信装置が起動した場合、前記ＭＲＡＭに格納されるデータを、前記第１のメモリに格納することを特徴とする通信装置。
【請求項２】
請求項１に記載の通信装置であって、
前記ＭＲＡＭは、
前記通信装置において事象が発生した時を含む第１の期間において処理されたデータを格納するための第１の記憶領域と、
前記第１の期間より長い第２の期間保存するべきデータを格納するための第２の記憶領域と、を含み、
前記通信装置は、
前記第１の記憶領域に格納された時が古いデータを、新たなデータによって上書きすることによって、前記第１の記憶領域に前記新たなデータを格納し、
前記通信装置が起動した後、前記第２の記憶領域に格納されるデータを、前記第１のメモリに格納することを特徴とする通信装置。
【請求項３】
請求項２に記載の通信装置であって、
ネットワークインターフェイスを有し、
前記ネットワークインターフェイスを介して受信したパケットを、前記第１の記憶領域に格納することを特徴とする通信装置。
【請求項４】
請求項２に記載の通信装置であって、
前記通信装置において処理されたデータは、前記通信装置において発生した事象の内容を少なくとも示すイベントログを含み、
前記通信装置は、
前記イベントログが前記保存するべきデータであるか否か判定するための定義情報を保持し、
前記通信装置において処理されたデータから、前記定義情報に基づいて、前記通信装置において発生した事象を解析するために保存するべきイベントログを抽出し、
前記抽出したイベントログを前記第２の記憶領域に格納することを特徴とする通信装置。
【請求項５】
請求項２に記載の通信装置であって、
前記ＭＲＡＭに格納されたデータが前記第１のメモリに格納されたか否かを示す管理情報を保持し、
前記ＭＲＡＭに格納されるデータを前記第１のメモリに格納した場合、前記管理情報を更新し、
前記通信装置において事象が発生し通信装置が停止した後、前記通信装置が起動した場合、前記ＭＲＡＭに格納されるデータから、前記管理情報に基づいてデータを抽出したデータを前記第１のメモリに格納することを特徴とする通信装置。
【請求項６】
請求項１に記載の通信装置であって、
出力インターフェイスを有し、
前記通信装置において事象が発生し通信装置が停止した後、前記通信装置が起動し、前記ＭＲＡＭに格納されるデータを前記第１のメモリに格納した場合、前記第１のメモリにデータを格納したことを示す通知を、前記出力インターフェイスから出力することを特徴とする通信装置。
【請求項７】
通信装置によるデータ管理方法であって、
前記通信装置は、
データを処理するプロセッサと、
所定の量ごとにデータが書き込まれ、かつ、前記データを保持するための電源の供給を必要としない第１のメモリと、
前記所定の量より少ない量ごとにデータが書き込まれ、かつ、前記データを保持するための電源の供給を必要としないＭＲＡＭと、
前記データを保持するための電源の供給を必要とする第２のメモリと、を有し、
前記方法は、
前記プロセッサが、前記通信装置において処理されたデータを、前記第２のメモリに格納する手順と、
前記プロセッサが、前記通信装置において処理されたデータであり、かつ、前記通信装置において発生した事象を解析するために保存するべきデータを、前記ＭＲＡＭに格納する手順と、
前記プロセッサが、前記ＭＲＡＭに格納されるデータを前記所定の量ごとに前記第１のメモリに移動する手順と、
前記プロセッサが、前記通信装置において前記事象が発生し前記通信装置が停止した後、前記通信装置が起動した場合、前記ＭＲＡＭに格納されるデータを、前記第１のメモリに格納する手順と、を含むことを特徴とするデータ管理方法。
【請求項８】
請求項７に記載のデータ管理方法であって、
前記ＭＲＡＭは、
前記通信装置において事象が発生した時を含む第１の期間において処理されたデータを格納するための第１の記憶領域と、
前記第１の期間より長い第２の期間保存するべきデータを格納するための第２の記憶領域と、を含み、
前記方法は、
前記プロセッサが、前記第１の記憶領域に格納された時が古いデータを、新たなデータによって上書きすることによって、前記第１の記憶領域に前記新たなデータを格納する手順と、
前記プロセッサが、前記通信装置が起動した後、前記第２の記憶領域に格納されるデータを、前記第１のメモリに格納する手順と、を含むことを特徴とするデータ管理方法。
【請求項９】
請求項８に記載のデータ管理方法であって、
前記通信装置は、ネットワークインターフェイスを有し、
前記方法は、前記プロセッサが、前記ネットワークインターフェイスを介して受信したパケットを、前記第１の記憶領域に格納する手順を含むことを特徴とするデータ管理方法。
【請求項１０】
請求項８に記載のデータ管理方法であって、
前記通信装置において処理されたデータは、前記通信装置において発生した事象の内容を少なくとも示すイベントログを含み、
前記通信装置は、前記イベントログが前記保存するべきデータであるか否か判定するための定義情報を保持し、
前記方法は、
前記プロセッサが、前記通信装置において処理されたデータから、前記定義情報に基づいて、前記通信装置において発生した事象を解析するために保存するべきイベントログを抽出する手順と、
前記プロセッサが、前記抽出したイベントログを前記第２の記憶領域に格納する手順と、を含むことを特徴とするデータ管理方法。
【請求項１１】
請求項８に記載のデータ管理方法であって、
前記通信装置は、前記ＭＲＡＭに格納されたデータが前記第１のメモリに格納されたか否かを示す管理情報を保持し、
前記方法は、
前記プロセッサが、前記ＭＲＡＭに格納されるデータを前記第１のメモリに格納した場合、前記管理情報を更新する手順と、
前記プロセッサが、前記通信装置において事象が発生し通信装置が停止した後、前記通信装置が起動した場合、前記ＭＲＡＭに格納されるデータから、前記管理情報に基づいてデータを抽出したデータを前記第１のメモリに格納する手順と、を含むことを特徴とするデータ管理方法。
【請求項１２】
請求項７に記載のデータ管理方法であって、
前記通信装置は、出力インターフェイスを有し、
前記通信装置において事象が発生し通信装置が停止した後、前記通信装置が起動した場合に、前記ＭＲＡＭに格納されるデータを前記第１のメモリに格納する手順は、前記プロセッサが、前記第１のメモリにデータを格納したことを示す通知を、前記出力インターフェイスから出力する手順を含むことを特徴とするデータ管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信装置に関する。
【背景技術】
【０００２】
汎用コンピュータ、サーバ、又は、伝送装置などの様々な情報処理装置において、故障又は障害が発生した場合、原因究明及び対策の為、故障又は障害が発生する直前の装置情報を情報処理装置から取得する必要がある。従来、情報処理装置が稼動している間、装置情報は記憶デバイスに格納され、障害等の発生時、記憶デバイスから装置情報が取得されていた。
【０００３】
従来、情報処理装置において発生する様々な装置情報を保持する技術が提案されている。例えば、処理の履歴情報を記録する記録領域においてその記録を開始する記録開始アドレスを記憶する手段が提案されている（例えば、特許文献１参照）。
【０００４】
また、ログ管理システムにおいて、ソフトウェアの動作に応じて動作履歴をログとして出力する手段が提案されている（例えば、特許文献２参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１３−２２８７８９号公報
【特許文献２】特開２０１２−２４２８７２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
情報処理装置が、揮発性記憶デバイスに装置情報を格納する場合、情報処理装置を再起動した場合、揮発性記憶デバイスの内容が消失することがある。このため、情報処理装置において故障又は障害が発生し、再起動した場合、揮発性記憶デバイスの内容が消失し、故障又は障害発生時の装置情報が不明となり、原因調査に支障をきたすという問題があった。
【課題を解決するための手段】
【０００７】
本発明の代表的な一形態によると、通信装置であって、データを処理するプロセッサと、所定の量ごとにデータが書き込まれ、かつ、前記データを保持するための電源の供給を必要としない第１のメモリと、前記所定の量より少ない量ごとにデータが書き込まれ、かつ、前記データを保持するための電源の供給を必要としないＭＲＡＭと、前記データを保持するための電源の供給を必要とする第２のメモリと、を有し、前記通信装置において処理されたデータを、前記第２のメモリに格納し、前記通信装置において処理されたデータであり、かつ、前記通信装置において発生した事象を解析するために保存するべきデータを、前記ＭＲＡＭに格納し、前記ＭＲＡＭに格納されるデータを前記所定の量ごとに前記第１のメモリに移動し、前記通信装置において前記事象が発生し前記通信装置が停止した後、前記通信装置が起動した場合、前記ＭＲＡＭに格納されるデータを、前記第１のメモリに格納する。
【発明の効果】
【０００８】
本発明の一実施形態によると、通信装置において障害が発生した場合、障害が発生した直前の障害の情報を通信装置から取得できる。
【０００９】
上記した以外の課題、構成及び効果は、以下の実施形態の説明により明らかにされる。
【図面の簡単な説明】
【００１０】
【図１】本実施例の計算機を示すブロック図である。
【図２】本実施例のログ定義テーブルを示す説明図である。
【図３】本実施例のログ分類テーブルを示す説明図である。
【図４】本実施例の転送管理テーブルを示す説明図である。
【図５】本実施例の装置制御モジュールの処理を示すフローチャートである。
【図６】本実施例の装置制御モジュール及びイベント記録部の処理を示すフローチャートである。
【図７】本実施例のパケット記録部の処理を示すフローチャートである。
【図８】本実施例のログ記録部の処理を示すフローチャートである。
【図９】本実施例の起動処理部の処理を示すフローチャートである。
【発明を実施するための形態】
【００１１】
以下に、本発明の情報処理装置である計算機について説明する。
【００１２】
図１は、本実施例の計算機１００を示すブロック図である。
【００１３】
本実施例の計算機１００は、汎用コンピュータ、サーバ又は通信装置の機能を有する計算機であり、プロセッサを備える。また、本実施例の計算機１００は、パケットを転送する通信機能を有する通信装置である。
【００１４】
計算機１００は、ネットワーク１５０又は他の計算機１００に接続される。また、計算機１００は、入出力装置１６０に接続される。
【００１５】
入出力装置１６０は、ユーザからの入力を受け付け、また、計算機１００における処理結果をユーザに表示する。入出力装置１６０は、ディスプレイ、プリンタ、タブレット端末、キーボード及びマウス等のいかなる装置を備えてもよい。
【００１６】
また、図１に示す計算機１００は、制御部１１０、転送部１３０、及び、少なくとも一つのインターフェイス部１４０（１４０ａ〜１４０ｃ）を有する。
【００１７】
インターフェイス部１４０は、パケットをネットワーク１５０に送信し、さらに、ネットワーク１５０からパケットを受信するネットワークインターフェイスである。インターフェイス部１４０は、ネットワーク１５０（１５０ａ、１５０ｂ）、又は、他の計算機１００に接続される。インターフェイス部１４０が受信したパケットは、転送部１３０に転送される。
【００１８】
なお、計算機１００がパケットを転送する機能を有しない場合、インターフェイス部１４０は、制御部１１０の装置制御モジュール１１１に接続されてもよい。
【００１９】
転送部１３０は、インターフェイス部１４０から受信したパケットを、パケットの宛先に従って、インターフェイス部１４０又は制御部１１０へ転送する処理部である。転送部１３０は、プロセッサ及びメモリを有する。
【００２０】
本実施例の転送部１３０は、受信したパケットが自らの装置以外を宛先とするパケットである場合、そのパケットを複製する。そして、転送部１３０は、制御部１１０の装置制御モジュール１１１に複製したパケットを送信する。
【００２１】
制御部１１０は、計算機１００において処理されるデータを管理するための処理部である。制御部１１０は、プロセッサ及びメモリを有する。制御部１１０は、処理部として、装置制御モジュール１１１及びロギングモジュール１１２を有する。また、制御部１１０は、記憶デバイスとして、補助記憶装置１１３、ＤＲＡＭ１１４及び不揮発性メモリ１１５を有する。
【００２２】
装置制御モジュール１１１は、計算機１００が有するハードウェア及びソフトウェアに関するログを収集する。具体的には、装置制御モジュール１１１は、計算機１００が稼動している間、ハードウェアから出力されるシステムログ、及び、ソフトウェアから出力されるアプリケーションログ等を監視し、所定の条件に該当するログを収集する。そして、収集したログを、ロギングモジュール１１２のイベント記録部１１６に送る。
【００２３】
ここで、所定の条件は、ハードウェア及びソフトウェアにおいて発生する障害等の事象を、解析するために必要なログを指定するためのものである。装置制御モジュール１１１は、ログを収集するための所定の条件として、入出力装置１６０を介してユーザが指定した条件を保持してもよい。また、所定の条件は、例えば、ログが示すイベントの種類、又は、メッセージの内容等によって指定されてもよい。
【００２４】
また、装置制御モジュール１１１は、転送部１３０から転送されたパケットを収集する。そして、装置制御モジュール１１１は、収集したパケットを、ロギングモジュール１１２のパケット記録部１１７に送信する。
【００２５】
また、装置制御モジュール１１１は、計算機１００の起動時にロギングモジュール１１２に、起動時の処理を実行するように指示する。
【００２６】
ロギングモジュール１１２は、制御部１１０の記憶デバイスにデータを格納し、また、記憶デバイスのデータを移動するモジュールを有する。ロギングモジュール１１２は、イベント記録部１１６、パケット記録部１１７、ログ記録部１１８及び起動処理部１１９を有する。また、ロギングモジュール１１２は、ログ定義テーブル１２５、ログ分類テーブル１２６及びパケット定義テーブル１２７を有する。
【００２７】
補助記憶装置１１３は、例えば、フラッシュメモリ、又は、ハードディスク等の不揮発性メモリであり、電源の供給がなくてもデータを保持することができる記憶デバイスである。制御部１１０の各処理部は、補助記憶装置１１３に、所定のデータ量ごとにデータを書き込むことができる。
【００２８】
一般的に、前述の所定のデータの量が大きい場合、アクセス速度は遅くなる。すなわち、一度に書き込むことができるデータの量が大きい場合、補助記憶装置１１３にデータを格納する速度が遅くなる。
【００２９】
ＤＲＡＭ１１４は、揮発性メモリによって構成される。本実施例において、ＤＲＡＭ１１４は、ＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）以外の揮発性メモリであってもよい。本実施例のＤＲＡＭ１１４は、データを保持するために電源を必要とする揮発性メモリであればいかなる揮発性メモリであってもよい。ＤＲＡＭ１１４は、補助記憶装置１１３よりもアクセス速度が速い。
【００３０】
不揮発性メモリ１１５は、ＭＲＡＭ（Ｍａｇｎｅｔｏｒｅｓｉｓｔｉｖｅ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等の不揮発性メモリによって構成される。制御部１１０の各処理部は、不揮発性メモリ１１５に、補助記憶装置１１３よりも少ないデータ量ごとにデータを書き込むことができる。
【００３１】
このため、不揮発性メモリ１１５は、補助記憶装置１１３よりもアクセス速度（具体的には、データを格納する速度）が早く、処理におけるバッファとして用いられることがある。
【００３２】
本実施例の不揮発性メモリ１１５は、データを保持するために電源を必要とせず、補助記憶装置１１３よりも少ないデータ量ごとにデータを書き込むことができる不揮発性メモリであれば、いかなるメモリであってもよい。
【００３３】
イベント記録部１１６は、装置制御モジュール１１１から入力されたログを、ログ定義テーブル１２５に基づいて、不揮発性メモリ１１５に格納する。パケット記録部１１７は、パケット定義テーブル１２７に基づいて、装置制御モジュール１１１から入力されたパケットを、不揮発性メモリ１１５に格納する。起動処理部１１９は、計算機１００の障害後に不揮発性メモリ１１５に格納されたデータを補助記憶装置１１３に移動する。
【００３４】
ログ定義テーブル１２５は、装置制御モジュール１１１から入力されたログの不揮発性メモリ１１５における格納先を示す。ログ分類テーブル１２６は、ログの重要度を示す。
【００３５】
パケット定義テーブル１２７は、不揮発性メモリ１１５におけるパケットの格納先を示す。具体的には、パケット定義テーブル１２７は、パケットの宛先、送信元、種別、又は、メッセージ等に従った、パケットの格納先を示す。
【００３６】
不揮発性メモリ１１５は、長期保存領域１２１（１２１ａ、１２１ｂ）及び短期保存領域１２２（１２２ａ、１２２ｂ）を含む。長期保存領域１２１は、長く保存することが必要なデータが格納され、短期保存領域１２２は、長く保存することが必要ではないデータが格納される。
【００３７】
本実施例の長期保存領域１２１は、長期保存領域１２１に格納されるデータの容量が領域の上限値に達した場合に上書きされる頻度が低い記憶領域である。また、本実施例の短期保存領域１２２は、短期保存領域１２２に格納されるデータの容量が領域の上限値に達した場合に上書きされる頻度が高い記憶領域である。
【００３８】
長期保存領域１２１には、上書きの頻度を低下させるため、短期保存領域１２２よりも大きい領域が割り当てられてもよい。また、制御部１１０の各処理部は、不揮発性メモリ１１５にデータを格納した日時を不揮発性メモリ１１５に記録し、長期保存領域１２１に格納するデータを所定の期間上書きしないように制限してもよい。
【００３９】
図１に示す長期保存領域１２１ａ及び短期保存領域１２２ａは、ログを格納するための記憶領域である。また、図１に示す長期保存領域１２１ｂ及び短期保存領域１２２ｂは、パケットを格納するための記憶領域である。
【００４０】
さらに、不揮発性メモリ１１５は、転送管理テーブル１２０（１２０ａ、１２０ｂ）を有する。転送管理テーブル１２０は、不揮発性メモリ１１５の記憶領域に格納されたデータが、補助記憶装置１１３に転送されたか否かを示す。
【００４１】
転送管理テーブル１２０ａは、長期保存領域１２１ａ及び短期保存領域１２２ａに対応し、転送管理テーブル１２０ｂは、長期保存領域１２１ｂ及び短期保存領域１２２ｂに対応する。
【００４２】
そして、長期保存領域１２１ｂ及び短期保存領域１２２ｂは、計算機１００において障害が発生した際に、障害が発生した直前直後のデータのみを保存するための領域であり、すなわち、障害が発生した時を含む所定の期間（第１の期間）において、計算機１００において処理されたデータを保存するための領域である。本実施例における長期保存領域１２１ｂ及び短期保存領域１２２ｂは、インターフェイス部１４０を介して受信したパケットを格納するための領域である。
【００４３】
また、長期保存領域１２１ａ及び短期保存領域１２２ａは、所定の期間（第２の期間）保存する必要があるデータを格納するための領域であり、補助記憶装置１１３に転送する必要があるデータを格納する領域である。本実施例における長期保存領域１２１ａ及び短期保存領域１２２ａは、イベントのログを格納するための領域である。
【００４４】
ここで第１の期間は、第２の期間よりも十分に短い期間である。これは、一定の期間に大量に発生する可能性があるデータは、障害が発生した時の直前直後に処理された分について保存される必要があるが、一方で、補助記憶装置１１３等の記憶デバイスの使用容量を圧迫する可能性があるためである。このため、一定の期間に大量に発生する可能性があるデータは、本実施例における長期保存領域１２１ｂ及び短期保存領域１２２ｂに格納される。
【００４５】
本実施例の不揮発性メモリ１１５は、データを保存する必要がある期間に応じて、長期保存領域１２１、及び、短期保存領域１２２等を有することによって、補助記憶装置１１３等のリソースの使用容量を最適に制御することができる。  装置制御モジュール１１１及びロギングモジュール１１２は、各々プロセッサ及びメモリを備える物理的な装置であってもよいし、プログラムによって実装される論理的な処理部であってもよい。装置制御モジュール１１１及びロギングモジュール１１２が論理的な処理部である場合、装置制御モジュール１１１及びロギングモジュール１１２を実装するためのプログラムは、ＤＲＡＭ１１４に展開されてもよい。
【００４６】
図２は、本実施例のログ定義テーブル１２５を示す説明図である。
【００４７】
ログ定義テーブル１２５は、イベント記録部１１６が受信したログを格納する格納先を示す。ログ定義テーブル１２５は、ログコード１２５１、日時１２５２、ログ詳細１２５３及び不揮発性メモリ格納先１２５４を含む。
【００４８】
ログコード１２５１は、ログに含まれる数字を示す。日時１２５２は、ログに含まれるイベントの発生日時を示す。ログ詳細１２５３は、ログに含まれるイベントの内容を示す。
【００４９】
不揮発性メモリ格納先１２５４は、ログコード１２５１、日時１２５２及びログ詳細１２５３を含むログを格納する、不揮発性メモリ１１５の格納先を示す。例えば、受信したログに対応するエントリの不揮発性メモリ格納先１２５４が「長期保存領域」を示す場合、イベント記録部１１６は、当該ログを、ＤＲＡＭ１１４、及び、不揮発性メモリ１１５の長期保存領域１２１ａに格納する。
【００５０】
また、例えば、不揮発性メモリ格納先１２５４が「非該当」を示す場合、イベント記録部１１６は、ログを、ＤＲＡＭ１１４のみに格納する。
【００５１】
図３は、本実施例のログ分類テーブル１２６を示す説明図である。
【００５２】
図３に示すログ分類テーブル１２６は、ログコード１２６１と、ログコードの定義１２６２を示す。ログコード１２６１は、ログ定義テーブル１２５のログコード１２５１に対応する。
【００５３】
ログコードの定義１２６２は、ログコードの意味を示す。図３が示すログコード１２６１は、数が小さい程、長期の保存が必要なログであることを示す。また、本実施例のログ分類テーブル１２６は、重要なログのログコードと重要ではないログのログコードがあらかじめ指定される。
【００５４】
装置制御モジュール１１１は、ログ分類テーブル１２６を入出力装置１６０に表示し、ユーザにログコードと格納先との対応関係を指定させてもよく、この指定に従ってログ定義テーブル１２５を更新してもよい。
【００５５】
また、装置制御モジュール１１１は、ログ分類テーブル１２６を入出力装置１６０に表示し、不揮発性メモリ１１５に格納する必要がないログのログコードを、ユーザに入力させてもよい。そして、装置制御モジュール１１１は、入力されたログコードを、イベント記録部１１６に保持させてもよい。
【００５６】
図４は、本実施例の転送管理テーブル１２０を示す説明図である。
【００５７】
転送管理テーブル１２０は、不揮発性メモリ１１５に格納されるデータの格納場所を示し、不揮発性メモリ１１５のデータを管理するためのテーブルである。転送管理テーブル１２０は、記録デバイス１２０１、アドレス１２０２、長さ１２０３及び転送状態１２０４を含む。
【００５８】
記録デバイス１２０１は、不揮発性メモリ１１５の領域を示す。具体的には、記録デバイス１２０１は、長期保存領域１２１であるか、又は、短期保存領域１２２であるかを示す。
【００５９】
アドレス１２０２及び長さ１２０３は、不揮発性メモリ１１５に一つのデータとして格納されたデータの領域を示す。一つのデータとは、具体的には、イベントのログ、又は、パケット等である。
【００６０】
アドレス１２０２は、一つのデータが格納される領域のアドレスの開始点を示す。長さ１２０３は、アドレス１２０２が示す開始点からの長さ（すなわち、データの量）を示す。
【００６１】
なお、本実施例において、転送管理テーブル１２０は、アドレス１２０２及び長さ１２０３によって一つのデータが格納される領域を示すが、一つのデータが格納される領域の開始アドレス及び終了アドレスによって、領域を示してもよい。
【００６２】
転送状態１２０４は、アドレス１２０２及び長さ１２０３によって示される領域のデータが、補助記憶装置１１３に格納済みであるか否かを示す。
【００６３】
図５は、本実施例の装置制御モジュール１１１の処理を示すフローチャートである。
【００６４】
装置制御モジュール１１１は、計算機１００の起動処理が開始した際、起動処理部１１９を起動し、不揮発性メモリ１１５から補助記憶装置１１３へのデータの移動を指示する（６０１）。ステップ６０１の処理は、不揮発性メモリ１１５に格納されたデータを補助記憶装置１１３に格納することにより、障害等によってＤＲＡＭ１１４のデータが消えた場合にも、障害時の情報を取得することができるようにするために実行される。ステップ６０１における起動処理部１１９の処理は、図８に示す処理に相当する。
【００６５】
ステップ６０１の後、装置制御モジュール１１１は、ハードウェア及びソフトウェアによって出力されるログ（ＤＲＡＭ１１４に格納される）を監視し、イベントが発生したか否かを判定する（６０２）。
【００６６】
ステップ６０２において、イベントが発生したと判定された場合、装置制御モジュール１１１は、発生したイベントに関する処理を実行する（６０３）。ここで、発生したイベントに関する処理とは、イベントが発生した場合にイベントへの対処としてあらかじめ定められた処理であり、例えば、入出力装置１６０を介した警告の通知、又は、ソフトウェアの再起動等である。
【００６７】
ステップ６０３の後、又は、ステップ６０３の実行中、装置制御モジュール１１１は、発生したイベントのログをＤＲＡＭ１１４から取得し、取得したログをイベント記録部１１６に送信する。イベント記録部１１６は、イベントのログを受信した場合、図６に示す処理を実行することによって、イベントのログを不揮発性メモリ１１５に格納する（６０４）。
【００６８】
ステップ６０２において、イベントが発生したと判定されない場合、装置制御モジュール１１１は、転送部１３０からパケットを受信したか否かを判定する（６０５）。転送部１３０からパケットを受信していない場合、装置制御モジュール１１１は、ステップ６０２に戻る。
【００６９】
ステップ６０５において、転送部１３０からパケットを受信したと判定された場合、装置制御モジュール１１１は、受信したパケットに関する処理を実行する（６０６）。ここで、受信したパケットに関する処理とは、受信したパケットの内容に従ってあらかじめ定められた処理であり、例えば、受信したパケットの内容に従って所定の種類のパケットのトラフィック量を算出する処理である。
【００７０】
ステップ６０６の後又はステップ６０６の実行中、装置制御モジュール１１１は、受信したパケットをパケット記録部１１７に送信する。パケット記録部１１７は、パケットを受信した場合、図７に示す処理によってパケットを不揮発性メモリ１１５に格納する（６０７）。
【００７１】
ステップ６０４又はステップ６０７の後、装置制御モジュール１１１は、ステップ６０２に戻る。
【００７２】
図６は、本実施例の装置制御モジュール１１１及びイベント記録部１１６の処理を示すフローチャートである。
【００７３】
装置制御モジュール１１１は、計算機１００のハードウェア及びソフトウェアのログを収集し、収集したログをイベント記録部１１６に転送する（３０１）。例えば、装置制御モジュール１１１は、ハードウェアにおいてイベントが発生したことを検知した場合、イベントのログを収集する。
【００７４】
なお、計算機１００のハードウェア及びソフトウェアにおいてイベントが発生した場合、ハードウェア及びソフトウェアの機能は、イベントを示すログをＤＲＡＭ１１４に格納する。
【００７５】
ステップ３０１の後、イベント記録部１１６は、受信したログの内容によって、ログ定義テーブル３１１を検索する。そして、イベント記録部１１６は、受信したログに該当するログ定義テーブル３１１のエントリの、不揮発性メモリ格納先１２５４を特定する。
【００７６】
取得した不揮発性メモリ格納先１２５４の値が「非該当」である場合、又は、受信したログに対応するエントリがログ定義テーブル３１１にない場合、イベント記録部１１６は、ログを不揮発性メモリ１１５に格納する必要がないため、図６の処理を終了する。
【００７７】
また、取得した不揮発性メモリ格納先１２５４が「長期保存領域」を示す場合、イベント記録部１１６は、不揮発性メモリ１１５の長期保存領域１２１ａにログを格納する（３３１）。ここで、イベント記録部１１６は、転送管理テーブル１２０ａに新たなエントリを追加し、新たなエントリに長期保存領域１２１ａに格納したログに関する情報を格納する。
【００７８】
具体的には、イベント記録部１１６は、ステップ３３１において、転送管理テーブル１２０ａの新たなエントリの記録デバイス１２０１に「長期保存領域」を示す値を格納し、アドレス１２０２及び長さ１２０３に、ログを格納した領域を示す値を格納する。そして、転送状態１２０４に、未転送を示す値を格納する。
【００７９】
また、取得した不揮発性メモリ格納先１２５４の値が「短期保存領域」である場合、イベント記録部１１６は、受信したログが重要であるか否かをログ分類テーブル１２６に基づいて判定する（３２１）。
【００８０】
例えば、ログ分類テーブル１２６が、重要なログとして、２以下のログコードをあらかじめ指定されており、受信したログのログコードが１である場合、イベント記録部１１６は、受信したログが重要であり、不揮発性メモリ１１５に格納する必要があると判定する。そして、イベント記録部１１６は、受信したログを不揮発性メモリ１１５の短期保存領域１２２ａに格納する（３３２）。
【００８１】
また、受信したログが、重要ではないログとしてあらかじめ指定されたログコードである場合、イベント記録部１１６は、受信したログを不揮発性メモリ１１５に格納することなく、図６の処理を終了する。
【００８２】
ステップ３３２において、イベント記録部１１６は、転送管理テーブル１２０ａに新たなエントリを追加し、新たなエントリに短期保存領域１２２ａに格納したログに関する情報を格納する。具体的には、イベント記録部１１６は、ステップ３３２において、転送管理テーブル１２０ａの新たなエントリの記録デバイス１２０１に「短期保存領域」を示す値を格納し、アドレス１２０２及び長さ１２０３に、ログを格納した領域を示す値を格納する。そして、転送状態１２０４に、未転送を示す値を格納する。
【００８３】
図６の処理によって、イベント記録部１１６は、受信したログを不揮発性メモリ１１５の長期保存領域１２１ａ又は短期保存領域１２２ａに、ログの内容に従って格納することができる。
【００８４】
図７は、本実施例のパケット記録部１１７の処理を示すフローチャートである。
【００８５】
インターフェイス部１４０がパケットを受信した場合、転送部１３０は、受信したパケットの宛先に従ってパケットを転送する一方で、受信したパケットを複製し、複製したパケットを装置制御モジュール１１１に転送する。装置制御モジュール１１１は、転送部１３０から受信したパケットをパケット記録部１１７に送信する（２０１）。
【００８６】
ステップ２０１の後、パケット記録部１１７は、受信したパケットを参照し、パケットの宛先が計算機１００自身（自宛て）であるか否かを判定する（２１１）。本実施例において計算機１００自身宛てのパケットは、計算機１００の障害の原因である可能性が高い。このため、パケットの宛先が計算機１００自身である場合、パケット記録部１１７は、不揮発性メモリ１１５の長期保存領域１２１ｂに、受信したパケットを格納する（２３１）。
【００８７】
ここで、パケット記録部１１７は、転送管理テーブル１２０ｂに新たなエントリを追加し、新たなエントリに長期保存領域１２１ｂに格納したパケットに関する情報を格納する。具体的には、パケット記録部１１７は、ステップ２３１において、転送管理テーブル１２０ｂの新たなエントリの記録デバイス１２０１に「長期保存領域」を示す値を格納し、アドレス１２０２及び長さ１２０３に、パケットを格納した領域を示す値を格納する。そして、転送状態１２０４に、未転送を示す値を格納する。
【００８８】
受信したパケットの宛先が計算機１００自身でない場合、パケット記録部１１７は、パケット定義テーブル１２７を参照し、受信したパケットの格納先を判定する（２２１）。具体的には、パケット記録部１１７は、ステップ２２１において、受信したパケットのヘッダ部及びデータ部等を参照し、受信したパケットの宛先、送信元、又は、種別等とパケット定義テーブル１２７とに基づいて、受信したパケットの格納先が長期保存領域１２１ｂであるか、短期保存領域１２２ｂであるかを判定する。
【００８９】
ステップ２２１において、受信したパケットの格納先が長期保存領域１２１ｂである場合、パケット記録部１１７は、ステップ２３１を実行し、長期保存領域１２１ｂに受信したパケットを格納する。
【００９０】
ステップ２２１において、受信したパケットの格納先が短期保存領域１２２ｂである場合、パケット記録部１１７は、短期保存領域１２２ｂに受信したパケットを格納する（２３２）。
【００９１】
ここで、パケット記録部１１７は、転送管理テーブル１２０ｂに新たなエントリを追加し、新たなエントリに短期保存領域１２２ｂに格納したパケットに関する情報を格納する。具体的には、パケット記録部１１７は、ステップ２３２において、転送管理テーブル１２０ｂの新たなエントリの記録デバイス１２０１に「短期保存領域」を示す値を格納し、アドレス１２０２及び長さ１２０３に、パケットを格納した領域を示す値を格納する。そして、転送状態１２０４に、未転送を示す値を格納する。
【００９２】
ステップ２３１又はステップ２３２の後、パケット記録部１１７は、図７に示す処理を終了する。
【００９３】
図８は、本実施例のログ記録部１１８の処理を示すフローチャートである。
【００９４】
ログ記録部１１８は、計算機１００が稼動している間、図８に示す処理によって、イベントのログが格納された不揮発性メモリ１１５の領域から、補助記憶装置１１３へデータを転送する。これは、本実施例において、イベントのログは、一定期間保存されることが望ましいデータであり、また、パケットは、障害等が発生した際のパケットのみを保存されることが望ましいデータであるとあらかじめ定められているためである。
【００９５】
しかし、インターフェイス部１４０を介して受信したパケットも、一定期間保存されることが望ましいと定められる場合、ログ記録部１１８は、図８の処理を転送管理テーブル１２０ｂ、長期保存領域１２１ｂ及び短期保存領域１２２ｂに実行する。
【００９６】
ログ記録部１１８は、転送管理テーブル１２０ａに基づいて、不揮発性メモリ１１５からデータを取得する（３６１）。具体的には、ログ記録部１１８は、転送管理テーブル１２０ａの転送状態１２０４が未転送を示すエントリのアドレス１２０２及び長さ１２０３が示す領域からデータを取得する。
【００９７】
ログ記録部１１８は、転送管理テーブル１２０ａが更新される都度、不揮発性メモリ１１５からデータを取得してもよい。また、ログ記録部１１８は、転送管理テーブル１２０ａを定期的に参照し、不揮発性メモリ１１５からデータを取得してもよい。また、ログ記録部１１８は、ステップ３６１において、記録デバイス１２０１が長期保存領域１２１ａを示すエントリのアドレス１２０２及び長さ１２０３の領域から、優先してデータを取得してもよい。
【００９８】
そして、ログ記録部１１８は、不揮発性メモリ１１５から所定の量を取得したか否かを判定する（３６２）。ここで、ステップ３６２における所定の量とは、補助記憶装置１１３に書込み可能な量であり、補助記憶装置１１３によって一意に定まる値である。
【００９９】
補助記憶装置１１３へ書き込むことができる量が大きい場合、長期間補助記憶装置１１３にデータを書きこめない可能性があり、データを書き込めない期間に障害が発生した場合、ＤＲＡＭ１１４にも補助記憶装置１１３にも書き込まれないデータが発生する可能性がある。
【０１００】
なお、本実施例の不揮発性メモリ１１５には、ステップ３６２における所定の量より少ない量ごとにデータを書き込むことができる。
【０１０１】
ステップ３６２において、取得したデータが所定の量未満である場合、ログ記録部１１８は、ステップ３６１に戻る。具体的には、ログ記録部１１８は、新たにデータを取得し、取得済みのデータと新たに取得したデータの量の合計値が所定の量になるまで、ステップ３６１を繰り返す。
【０１０２】
ステップ３６２において、所定の量のデータを取得した場合、ログ記録部１１８は、取得したデータを補助記憶装置１１３に格納する（３６３）。ステップ３６３においてデータを格納した後、ログ記録部１１８は、イベント記録部１１６に、補助記憶装置１１３に格納したデータを通知する（３６４）。この通知は、ステップ３６３において、補助記憶装置１１３に格納したデータの、不揮発性メモリ１１５におけるアドレス１２０２及び長さ１２０３を示す。
【０１０３】
そして、イベント記録部１１６は、ログ記録部１１８から通知を受けた場合、通知が示すアドレス１２０２及び長さ１２０３の転送状態１２０４を、転送済みを示す値に更新する（３６５）。
【０１０４】
なお、ロギングモジュール１１２は、図８に示す処理と同様に、ＤＲＡＭ１１４に格納されたデータを、補助記憶装置１１３に転送してもよい。この場合、転送管理テーブル１２０は更新されない。ＤＲＡＭ１１４から補助記憶装置１１３にデータを格納することにより、計算機１００において処理されたデータを長期間保存できる。
【０１０５】
図９は、本実施例の起動処理部１１９の処理を示すフローチャートである。
【０１０６】
計算機１００の起動処理が開始した際、装置制御モジュール１１１は、起動処理部１１９を起動する（５０１）。
【０１０７】
起動処理部１１９は、まず、前回計算機１００が終了した際（、又は、停止した際）、計算機１００は正常に終了したか否かを判定する（５１１）。起動処理部１１９は、計算機１００のハードウェアが出力するシステムログ等を参照し、計算機１００が正常に終了したか否かを判定する。
【０１０８】
ステップ５１１において、前回計算機１００が終了した際、計算機１００は正常に終了したと判定された場合、起動処理部１１９は、図９に示す処理を終了し、計算機１００は、計算機１００の起動処理を継続する。
【０１０９】
ステップ５１１において、前回計算機１００が終了した際、計算機１００は正常に終了していないと判定された場合、起動処理部１１９は、不揮発性メモリ１１５に格納されたデータから、補助記憶装置１１３に未転送のデータを、転送管理テーブル１２０ａ及び１２０ｂに基づいて抽出する。そして、起動処理部１１９は、抽出したデータを補助記憶装置１１３に格納する（５２１）。
【０１１０】
ここで、起動処理部１１９は、不揮発性メモリ１１５の長期保存領域１２１ｂ及び短期保存領域１２２ｂに格納されたデータ（パケット）も、補助記憶装置１１３に格納する。このため、起動処理部１１９は、障害等が発生した直前直後に受信したパケットも、補助記憶装置１１３に格納することができる。
【０１１１】
ステップ５２１において、起動処理部１１９は、データを補助記憶装置１１３に格納した後、転送管理テーブル１２０ａ及び１２０ｂの転送状態１２０４を、イベント記録部１１６及びパケット記録部１１７に更新させる。具体的には、起動処理部１１９は、転送状態１２０４を、転送済みを示す値によって更新させる。
【０１１２】
ステップ５２１の後、起動処理部１１９は、計算機１００が異常終了をしたこと、及び、障害情報として不揮発性メモリ１１５のデータを補助記憶装置１１３に格納したことを、入出力装置１６０に出力する（５４１）。起動処理部１１９は、装置制御モジュール１１１を介して、入出力装置１６０に出力する情報を送信してもよい。
【０１１３】
また、ステップ５４１において起動処理部１１９は、ステップ５２１において補助記憶装置１１３に格納されたデータの内容、又は、リストを、入出力装置１６０に送信してもよい。そして、入出力装置１６０は、送信されたデータに基づいて、計算機１００において障害等が発生した直前及び直後のデータを表示してもよい。
【０１１４】
これによって、ユーザは、計算機１００に障害があったことを検知でき、さらに、障害を解析するためのデータを入出力装置１６０から取得することができる。
【０１１５】
ステップ５４１の後、起動処理部１１９は、図９に示す処理を終了し、計算機１００は、計算機１００の起動処理を継続する。
【０１１６】
故障又は障害等により計算機１００が停止し、再起動をした場合において、ＤＲＡＭ１１４のデータが補助記憶装置１１３に転送されていないにもかかわらず、ＤＲＡＭ１１４からデータが消失した場合、図９に示す処理を実行することによって、障害等が発生した直前直後のデータが補助記憶装置１１３に格納される。これによって、計算機１００において障害が発生した場合、障害が発生した直前の障害の情報を計算機１００から取得できる。
【０１１７】
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。
【０１１８】
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路等で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリ、ハードディスク、若しくは、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等の記録装置、または、ＩＣカード、ＳＤカード、若しくは、ＤＶＤ等の記録媒体に置くことができる。
【０１１９】
また、制御線及び情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線及び情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。
【符号の説明】
【０１２０】
１００  計算機
１１０  制御部
１１１  装置制御モジュール
１１２  ロギングモジュール
１１３  補助記憶装置
１１４  ＤＲＡＭ
１１５  不揮発性メモリ
１１６  イベント記録部
１１７  パケット記録部
１１８  ログ記録部
１１９  起動処理部
１２０  転送管理テーブル
１２１  長期保存領域
１２２  短期保存領域
１３０  転送部
１４０  インターフェイス部
１５０  ネットワーク
１６０  入出力装置
【図１】
2015170140.tif 000003
【図２】
2015170140.tif 000004
【図３】
2015170140.tif 000005
【図４】
2015170140.tif 000006
【図５】
2015170140.tif 000007
【図６】
2015170140.tif 000008
【図７】
2015170140.tif 000009
【図８】
2015170140.tif 000010
【図９】
2015170140.tif 000011