(57)【要約】【課題】短期間に複数の障害が連続して検出されても、障害に関するトレースデータ抜けを発生させることなく、各障害に関するトレースデータを保存することを可能とする。【解決手段】プログラムの動作イベント検知部１０〜１２でイベントが検知されたとき、プログラム動作イベントをトレースデータ記録エリア１４に書き込みシステム部１３が記録する。その際、トレースデータ記録エリアの決められた範囲を書き込み禁止にする処理部１５は、検知されたイベントが障害イベント等の予め決められたイベントであった場合、知した際に記録したトレースデータが、以降に記録されるトレースデータによって上書きされること防止するために書き込み禁止に設定する。【選択図】図１
2010250372.tif 000002
【特許請求の範囲】
【請求項１】
計算機システム上で動作するプログラムの動作イベントをメモリ上の決められた容量の記録エリアに書き込む循環型のトレースデータ記録方法において、
前記計算機システムは、正常、障害、割り込みのプログラムの各動作イベントを検知するプログラムの動作イベント検知手段と、プログラムの動作イベントをトレースデータ記録エリアに書き込む書き込み処理手段と、動作イベントを書き込んだ記録領域への書き込みを禁止する書き込み禁止設定処理手段とを備えて構成され、
前記書き込み禁止設定処理手段は、前記書き込み処理手段が前記トレースデータ記録エリアに書き込んだ動作イベントが予め決められた動作イベントであった場合、その動作イベントを書き込んだ前記トレースデータ記録エリアの領域を書き込み禁止にすることを特徴とするトレースデータ記録方法。
【請求項２】
前記書き込み禁止にする前記トレースデータ記録エリアの領域は、書き込んだ動作イベント毎に定義された複数の領域であることを特徴とする請求項１記載のトレースデータ記録方法。
【請求項３】
前記トレースデータ記録エリアの書き込みアドレスの最大値まで動作イベントを書き込んだ後、再び最小アドレスに戻り書き込みを続ける際に、前記書き込み禁止となっている領域への書き込みを行わないことを特徴とする請求項１または２記載のトレースデータ記録方法。
【請求項４】
前記書き込み禁止に設定した領域の書き込み禁止を解除することが可能であることを特徴とする請求項１、２または３記載のトレースデータ記録方法。
【請求項５】
計算機システム上で動作するプログラムの動作イベントをメモリ上の決められた容量の記録エリアに循環して書き込む機能を有する計算機システムにおいて、
正常、障害、割り込みのプログラムの各動作イベントを検知するプログラムの動作イベント検知手段と、プログラムの動作イベントをトレースデータ記録エリアに書き込む書き込み処理手段と、動作イベントを書き込んだ記録領域への書き込みを禁止する書き込み禁止設定処理手段とを備え、
前記書き込み禁止設定処理手段は、前記書き込み処理手段が前記トレースデータ記録エリアに書き込んだ動作イベントが予め決められた動作イベントであった場合、その動作イベントを書き込んだ前記トレースデータ記録エリアの領域を書き込み禁止にすることを特徴とする計算機システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、トレースデータ記録方法及び計算機システムに係り、特に、計算機システム上で、プログラムの動作イベントをメモリ上に書き込むトレースデータ記録方法及びトレースデータ記録機能を有する計算機システムに関する。
【背景技術】
【０００２】
一般に、計算機システムの障害等に対処するためには、計算機システムの動作状況を記録保持しておくという方法が用いられるている。このような技術として、計算機システム上で動作しているプログラムの動作イベントを取得してメモリ上の決められた容量の記録エリアに書き込み、書き込みアドレス最大値まで書き込んだ後、再び最小アドレスに戻って書き込みを続ける循環型のトレースデータ記録方法が知られている。
【０００３】
前述したような循環型のトレースデータ記録方法は、古いトレースデータが新しいトレースデータにより上書きされていくが、このとき、古いトレースデータが障害に関係するトレースデータであった場合、古いトレースデータが消失してしまい、計算機システムに対する障害解析が不可能となってしまうという問題点を生じさせている。
【０００４】
前述のような問題点を解決することのできる技術として、障害が検出されたときにプログラムの動作イベントの書き込みを一旦停止するという方法が知られている。しかし、この方法は、イベントの書き込み開始後、１回目に検出した障害に関するトレースデータについては保存することができるが、続けて検出された障害に関するトレースデータの保存を行うことができないという問題点を有している。
【０００５】
前述したような問題点を解決することができる従来技術として、例えば、特許文献１等に記載された技術が知られている。この従来技術は、障害検出の度にそのトレースデータをファイルに出力し、プログラムの動作イベントの書き込みを続けることとして、複数の障害に関するトレースデータを保存するというものである。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００２−２１５４３１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
前述した特許文献１記載の従来技術は、障害検出の度にそのトレースデータをファイルに出力してプログラムの動作イベントの書き込みを続けることにより、複数の障害に対するトレースデータを保存することができる。しかし、この従来技術は、トレースデータをファイルに出力している間、プログラムの動作イベントの書き込みを一旦停止する必要があるため、短期間に複数の障害が連続して検出された場合には、イベントの書き込みを停止している期間が増加し、その期間に検出した障害に関するトレースデータの記録が行われず、障害に関するトレースデータ抜けが発生するという問題点を有している。
【０００８】
本発明の目的は、前述した従来技術の問題点を解決し、短期間に複数の障害が連続して検出されても、障害に関するトレースデータ抜けを発生させることなく、各障害に関するトレースデータを保存することを可能としたトレースデータ記録方法及び計算機システムを提供することにある。
【課題を解決するための手段】
【０００９】
本発明によれば前記目的は、計算機システム上で動作するプログラムの動作イベントをメモリ上の決められた容量の記録エリアに書き込む循環型のトレースデータ記録方法において、前記計算機システムは、正常、障害、割り込みのプログラムの各動作イベントを検知するプログラムの動作イベント検知手段と、プログラムの動作イベントをトレースデータ記録エリアに書き込む書き込み処理手段と、動作イベントを書き込んだ記録領域への書き込みを禁止する書き込み禁止設定処理手段とを備えて構成され、前記書き込み禁止設定処理手段は、前記書き込み処理手段が前記トレースデータ記録エリアに書き込んだ動作イベントが予め決められた動作イベントであった場合、その動作イベントを書き込んだ前記トレースデータ記録エリアの領域を書き込み禁止にすることにより達成される。
【発明の効果】
【００１０】
本発明によれば、障害等の予め定めた動作イベントの検出に対するトレースデータをファイル出力せずメモリ上に記録することができるため、短期間に複数の障害を連続検出してもトレースデータ抜けを発生させることなく、各障害に対するトレースデータを保存することができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の一実施形態による計算機システムにおけるトレースデータの記録を行う記録処理部の機能構成を示すブロック図である。
【図２】トレースデータ記録エリアの構成を示す図である。
【図３】書き込み禁止要因イベント定義ファイルの構成を示す図である。
【図４】プログラム動作イベント書き込み処理部の処理動作を説明するフローチャートである。
【図５】書き込み禁止設定処理部の処理動作を説明するフローチャートである。
【図６】書き込み禁止解除処理部の処理動作を説明するフローチャートである。
【発明を実施するための形態】
【００１２】
以下、本発明によるトレースデータ記録方法及び計算機システムの実施形態を図面により詳細に説明する。
【００１３】
図１は本発明の一実施形態による計算機システムにおけるトレースデータの記録を行う記録処理部の機能構成を示すブロック図である。
【００１４】
本発明の実施形態による計算機システムは、図示していないが、よく知られているように、主メモリ、ＨＤＤ等による記憶装置、ＣＰＵ、表示装置等による出力装置、キーボード、マウス等の入力装置を備えて構成されている。そして、その計算機システムは、主記憶装置にロードされるアプリケーションプログラムをＣＰＵに実行させて各種の業務の処理を行っている。
【００１５】
本発明の実施形態におけるトレースデータ記録方法は、図１に示しているようなトレースデータ記録処理部が、前述したようなアプリケーションプログラムからの各種のイベントを検知してトレースデータとして記録していくものである。
【００１６】
トレースデータ記録処理部は、図１に示すように、プログラムの正常イベント検知部１０、プログラムの障害イベント検知部１１、プログラムの割り込みイベント検知部１２、各イベント検知部１０〜１２からのイベント検知情報をトレースデータ記録エリア１４に書き込むプログラム動作イベント書き込み処理部１３、プログラムの動作イベントをトレースデータとして記録保持するトレースデータ記録エリア１４、トレースデータ記録エリア内の決められた範囲（アドレス範囲）を書き込み禁止にする書き込み禁止処理部１５、記録エリア内の範囲を書き込み禁止にする要因イベント及び書き込み禁止とする記録エリア内の範囲を定義した書き込み禁止要因イベント定義ファイル１６、トレースデータ記録エリアの書き込み禁止解除処理部１７、書き込み禁止解除対象エリアを指定する対象エリア指定パラメータ１８により構成される。
【００１７】
前述において、トレースデータ記録処理部は、計算機システムの主記憶装置内に構成され、イベント検知部１０〜１２、各処理部１３、１５、１７は、プログラムにより構成され、ＣＰＵにより実行されることにより、それぞれの機能が構築されるものである。また、書き込み禁止要因イベント定義ファイル１６、対象エリア指定パラメータ１８は、本発明に必要な各種のデータを格納している。そして、対象エリア指定パラメータ１８は、計算機システムの保守者が、障害に関するトレースデータを確認したとき、障害に関するトレースデータをＨＤＤ等の記憶装置に格納し終わったとき、あるいは、障害に対するしを終了したときに、保守者によって設定されるものである。
【００１８】
図２はトレースデータ記録エリア１４の構成を示す図である。図示トレースデータ記録エリア１４は、アドレス０〜Ｘまでの大きさを持つものとしている。また、図示のトレースデータ記録エリア１４は、１つのトレースデータが１つのアドレスを持つ領域に格納されるものとしている。
【００１９】
そして、トレースデータ記録エリア１４は、０からＸまでの各記録領域のアドレス２０、アドレス２０が示す記録領域が書き込み禁止となっているかを管理する書き込み禁止フラグ２１、アドレス２０が示す記録領域に書き込まれたトレースデータの記録時刻を格納する記録時刻２２、トレースデータ本体を格納するトレースデータ２３により構成され、また、トレースデータ記録エリア１４の先頭アドレスを示す先頭アドレス２４、トレースデータの書き込み先領域のアドレスを示す書き込みアドレス２５、トレースデータ記録エリア１４の終端アドレスを示す終端アドレス２６を有している。
【００２０】
書き込み禁止フラグ２１の状態は、書き込み可能状態を表すＯＦＦフラグ２７、書き込み禁止状態を表すＯＮフラグ２８の２種類で表される。１つのトレースデータを格納するために必要な領域は、２９の太線で示したような領域となり、トレースデータ記録エリア１４のサイズ２ａに応じてＸ個まで存在する。
【００２１】
図３は書き込み禁止要因イベント定義ファイル１６の構成を示す図である。書き込み禁止要因イベント定義ファイル１６は、定義の管理番号を示す管理番号３０、書き込み禁止状態とする要因イベントを指定する要因イベント３１、要因イベント３１に定義されたイベント書き込み時に書き込み禁止とするトレースデータ記録エリアの範囲である領域数を指定する書き込み禁止範囲３２により構成される。このような設定は、任意の個数Ｙ個まで行うことができる。前述の書き込み禁止範囲３２は、１つの禁止要因イベントが発生した場合に、そのイベントが生じることとなった原因を特定するために、そのイベント発生以前のイベントの幾つを書き込み禁止とするかを示すものである。
【００２２】
図４はプログラム動作イベント書き込み処理部１３の処理動作を説明するフローチャートであり、次に、これについて説明する。
【００２３】
（１）まず、始めに、書き込みアドレス２５の値がＮＵＬＬであるか否かを判定し、書き込みアドレスがＮＵＬＬであった場合、トレースデータ記録エリアに書き込み可能な記録領域がが存在しないことを意味しているので、トレースデータの記録を行わずにここでの処理を終了する（ステップ４０）。
【００２４】
（２）ステップ４０の判定で、書き込みアドレスがＮＵＬＬでなかった場合、書き込みアドレス２５が示す記録領域に、現在時刻及びトレースデータの書き込み見を行い、書き込み禁止設定処理を実行する。この書き込み禁止設定処理の詳細については、図５に示すフローチャートにより後述する（ステップ４１、４２）。
【００２５】
（３）次に、現在書き込みアドレス２５が指している記録領域の次の領域を指すように、書き込みアドレスの値を進め、書き込みアドレス２５を進めた結果がトレースデータ記録エリア１４の終端アドレス以降となったか否かを判定する（ステップ４３、４４）。
【００２６】
（４）ステップ４４の判定で、書き込みアドレス２５を進めた結果が終端アドレス以降となっていた場合、書き込みアドレス２５をトレースデータ記録エリア１４の先頭アドレスに設定する（ステップ４５）。
【００２７】
（５）ステップ４５の処理の終了後、または、ステップ４４の判定で書き込みアドレス２５を進めた結果が終端アドレス以降となっていなかった場合、トレースデータ記録エリアの全ての領域に対して、次に説明するステップ４８のチェックを実施したか否かを判定する（ステップ４６）。
【００２８】
（６）ステップ４６の判定で、ステップ４８で行うべきチェックが済んでいなかった場合、書き込みアドレスが示す記録領域の書き込み禁止フラグがＯＮとなっているか否か、すなわち、書き込み禁止であるか否かをチェックし、書き込み禁止フラグがＯＮであった場合、当該領域へのトレースデータの書き込みを行うことができないため、ステップ４３からの処理に戻って、書き込みアドレスを再度進めて、処理を繰り返す（ステップ４８）。
【００２９】
（７）ステップ４８のチェックで、記録用の領域の書き込み禁止フラグがＯＮではないと判断された場合、当該領域が次回のトレースを書き込む領域となり、トレース記録処理を終了する。一方、書込み禁止フラグがＯＮではない領域が見つからなかった場合、書き込みアドレスの値がトレース記録用エリアを一周し、ステップ４１でトレースデータを書き込んだ記録エリアのアドレスと同一となる。この場合、トレース記録用エリアの全領域に対してステップ４８の判定を行ったことになるので、前述したステップ４６の判定で、ＹＥＳの判定が得られ、トレースデータ記録用エリア１４には書き込み可能な領域が存在しないことを意味するので、書き込みアドレス２５にＮＵＬＬを設定し、ここでの処理を終了する（ステップ４７）。
【００３０】
図５は書き込み禁止設定処理部１５の処理動作を説明するフローチャートであり、次に、これについて説明する。ここでの処理は、図４に示して説明したフローチャートのステップ４２での処理から呼び出され、図４に示すフローチャートのステップ４１の処理でトレースデータを記録した領域及びその記録時刻以前にトレースデータを記録した領域を、書き込み禁止に設定するか否かの判定と設定とを行う処理である。
【００３１】
（１）処理が開始されると、まず、今回記録したトレースデータのイベントが、図３に示して説明した書き込み禁止要因イベント定義ファイル１６の要因イベント３１の項目に定義されているかを判定し、定義されていなかった場合、書き込み禁止設定対象のイベントではないため、ここでの書き込み禁止設定処理を終了する（ステップ５０）。
【００３２】
（５）ステップ５０の判定で、今回記録したトレースデータのイベントが、要因イベント３１に定義されていた場合、書き込みアドレスが指す記録エリアの書き込み禁止フラグをＯＮに設定する（ステップ５１）。
【００３３】
（６）次に、書き込み禁止要因イベント定義ファイル１６の今回記録したイベントに対応する書き込み禁止範囲３２の項目に指定された個数分の記録用領域を、書き込み禁止にする。このとき、今回記録したトレースデータよりも以前に記録済みのトレースデータの記録領域が対象となるので、今回の記録時刻に最も近い記録時刻を持つ記録エリアから順に、書き込み禁止範囲３２の項目に指定された個数分のトレース記録用領域に対して、書き込み禁止フラグをＯＮにする（ステップ５２）。
【００３４】
図６は書き込み禁止解除処理部１７の処理動作を説明するフローチャートであり、次に、これについて説明する。
【００３５】
（１）最初に、ここでの処理に渡される対象エリア指定パラメータ１８のチェックを行う。このパラメータには、書き込み禁止を解除するトレースデータ記録領域のアドレスの範囲が指定されている。指定可能な範囲は、トレースデータ記録エリア１４の先頭アドレス以上、終端アドレス以下であるので、ここでのチェックは、それ以外の値が指定されたか否かのチェックであり、前述以外の値が指定されていた場合、パラメータ異常として、ここでの処理を終了する（ステップ６０）。
【００３６】
（２）ステップ６０のチェックで、パラメータの指定が正常であった場合、パラメータで指定されたアドレスが示す記録領域に対して、書き込み禁止フラグの状態をＯＦＦに設定する。パラメータとして、アドレス５００〜５０３が指定されていた場合の動作例を６２として示している。この場合、アドレス５００から５０３までのトレースデータ記録領域の書き込み禁止フラグをＯＦＦに設定する（ステップ６１）。
【００３７】
（３）書き込みアドレス２５に、パラメータで指定されたアドレスのうち、最小の値を設定する（ステップ６３）。
【００３８】
前述した処理を実行することにより、トレースデータ記録エリアの全領域が書き込み禁止となった場合にも、再度トレースデータを記録することができるようになる。
【００３９】
前述した本発明の実施形態での各処理は、プログラムにより構成し、本発明が備えるＣＰＵに実行させることができ、また、それらのプログラムは、ＦＤ、ＣＤＲＯＭ、ＤＶＤ等の記録媒体に格納して提供することができ、また、ネットワークを介してディジタル情報により提供することができる。
【００４０】
前述した本発明の実施形態によれば、障害検出に対するトレースデータをファイル出力せずメモリ上に記録することができるため、短期間に複数の障害を連続検出してもトレースデータ抜けを発生させることなく、各障害に対するトレースデータを保存することができる。また、本発明の実施形態によれば、障害だけではなく、指定した任意のイベントの検出時にトレースデータを保存することができるため、プログラムの動作解析にも適用することができ、さらに、メモリのみを使用して、障害検出に対するトレースデータを複数個保存することができるので、記録装置を持たずメモリ上で動作する計算機システムの保守性を向上させることができる。
【符号の説明】
【００４１】
１０  正常イベント検知部
１１  障害イベント検知部
１２  割り込みイベント検知部
１３  プログラム動作イベント書き込み処理部
１４  トレースデータ記録エリア
１５  書き込み禁止設定処理部
１６  書き込み禁止要因イベント定義ファイル
１７  書き込み禁止解除処理部
１８  対象エリア指定パラメータ
【図１】
2010250372.tif 000003
【図２】
2010250372.tif 000004
【図３】
2010250372.tif 000005
【図４】
2010250372.tif 000006
【図５】
2010250372.tif 000007
【図６】
2010250372.tif 000008