(57)【要約】【課題】時刻情報を照らし合わせることで、どの処理とどの処理が同時に実行されていたのか把握すること。【解決手段】マルチタスク対応として並列的に処理を行う処理履歴保存テーブルを有し、処理履歴保存テーブルに各処理の開始時に、各プログラム処理に割り当てられた番号と時刻を保存し、不具合発生のときに実行中のタスク処理履歴を保護してリセットし、処理履歴保存テーブルの時刻情報からどの処理とどの処理が同時に実行されていたのかを把握する。【選択図】図２
2008171119.tif 000002
【特許請求の範囲】
【請求項１】
マルチタスク対応として並列的に処理を行う処理履歴保存テーブルを有し、該処理履歴保存テーブルに各処理の開始時に、各プログラム処理に割り当てられた番号と時刻を保存し、
不具合発生のときに実行中のタスク処理履歴を保護してリセットし、
前記処理履歴保存テーブルの時刻情報からどの処理とどの処理が同時に実行されていたのかを把握することを特徴とする端末機器の不具合検出システム。
【請求項２】
前記処理履歴保存テーブルの時刻情報から各処理の処理時間を算定し、処理時間が規定されている処理について処理時間の妥当性を判断することを特徴とする請求項１記載の端末機器の不具合検出システム。
【請求項３】
マルチタスク対応として並列的に処理を行う処理履歴保存テーブルに各処理の開始時に、各プログラム処理に割り当てられた番号と時刻を保存するステップと、
不具合発生のときに実行中のタスク処理履歴を保護してリセットするステップと、
前記処理履歴保存テーブルの時刻情報からどの処理とどの処理が同時に実行されていたのかを把握するステップと、
を有することを特徴とする端末機器の不具合検出方法。
【請求項４】
前記処理履歴保存テーブルの時刻情報から各処理の処理時間を算定し、処理時間が規定されている処理について処理時間の妥当性を判断するステップをさらに有することを特徴とする請求項３記載の端末機器の不具合検出方法。
【請求項５】
コンピュータシステムに請求項１記載の機能を実現させることを特徴とするプログラム。
【請求項６】
コンピュータシステムに請求項２記載の機能を実現させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム処理の履歴を把握している端末機器の不具合を検出することができる技術に関する。
【背景技術】
【０００２】
近年、端末機器の機能は多様化かつ複雑化している。また、端末機器でも複数の処理を同時に実行するマルチタスクＯＳが搭載されるようになってきており、不具合発生箇所を特定することがより困難になっている。
【０００３】
不具合検出の方法として、特許文献１には、プログラム処理ごとに番号を割り当て、各処理の実行時に処理番号を保存していくという方法が提案されている。
【０００４】
しかし、従来の方法ではマルチタスクＯＳを使用した端末機器の不具合検出に課題がある。マルチタスクＯＳではＣＰＵの処理時間を時分割し、複数の処理を同時に実行しているため、最後に実行した処理が不具合の発生した処理であると特定することはできない。従って、従来の方法のように一つのリングバッファに処理履歴を保存していくだけでは、不具合の発生した処理を特定するのが困難である。
【０００５】
ここで、データ処理装置が、予め定められたタイミングでトラップ設定部動作させ、トラップ検出部がトラップ設定部に設定された事象を検出した際、タスク状態情報収集部はタスク状態テーブルを参照してタスク状態情報を収集し、メール送信部は、メール設定部に設定されたメールアドレスにタスク状態情報を添付してエラー通知を送信することで、予め設定したトラップ条件にあてはまるエラー、障害が発生した場合に、予め設定したメールアドレスにトラップの通知と、データ処理置内のタスク状態情報を収集して送付できるデータ処理装置を提供する技術が開示されている（例えば、特許文献２参照）。
【特許文献１】特開２００１−１２５８０９号公報
【特許文献２】特開２００６−１１３８３９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、上述の従来技術では、時刻情報を照らし合わせることで、どの処理とどの処理が同時に実行されていたのか把握することができない。
【０００７】
本発明は、以上説明した問題点を解決するためになされたものである。その目的は、時刻情報を照らし合わせることで、どの処理とどの処理が同時に実行されていたのか把握することである。
【課題を解決するための手段】
【０００８】
本発明は、マルチタスク対応として並列的に処理を行う処理履歴保存テーブルを有し、該処理履歴保存テーブルに各処理の開始時に、各プログラム処理に割り当てられた番号と時刻を保存し、
不具合発生のときに実行中のタスク処理履歴を保護してリセットし、
前記処理履歴保存テーブルの時刻情報からどの処理とどの処理が同時に実行されていたのかを把握する端末機器の不具合検出システムを提供する。
【０００９】
また、本発明は、マルチタスク対応として並列的に処理を行う処理履歴保存テーブルに各処理の開始時に、各プログラム処理に割り当てられた番号と時刻を保存するステップと、
不具合発生のときに実行中のタスク処理履歴を保護してリセットするステップと、
前記処理履歴保存テーブルの時刻情報からどの処理とどの処理が同時に実行されていたのかを把握するステップと、
を有する端末機器の不具合検出方法を提供する。
【発明の効果】
【００１０】
本発明によれば、時刻情報を照らし合わせることで、どの処理とどの処理が同時に実行されていたのか把握することができる。
【発明を実施するための最良の形態】
【００１１】
以下、本発明の実施の形態について図面を参照して詳細に説明する。
【００１２】
図１を参照すると、本実施の形態における端末機器の不具合検出システムは、最低限の構成部品として、ＣＰＵ２０１、ＲＯＭ（EEPROM）２０２、ＲＡＭ２０３、タイマ２０４、外部ＩＦ２０５を有する。
【００１３】
各構成部品の主な使用用途は以下の通りである。
ＣＰＵ２０１：端末機器の制御全般
ＲＯＭ（EEPROM）２０２：プログラムの保存、処理履歴保存テーブルの保存用
ＲＡＭ２０３：ワーク領域、処理履歴保存テーブルの保存用
タイマ２０４：時刻情報用
外部ＩＦ２０５：端末機器の操作、処理履歴保存テーブルの読み出し用
【００１４】
各部品は一般的なものを使用することができ、現在の構成を変更せずに実施することができる。
【００１５】
本実施の形態における端末機器の不具合検出システムでは、端末機器には処理ごとに番号を割り当てたプログラムが搭載されているものとする。まず、プログラム開始時にマルチタスク数分の処理履歴保存テーブル（リングバッファ）をＲＡＭ２０３上に確保する。その後は各処理を実行するたびに、タスク番号に応じた処理履歴保存テーブルへ処理番号と時刻情報を保存していく。このようにすることで、タスクごとに、ＣＰＵ２０１が実行した順番で処理番号が保存される。
【００１６】
端末機器に不具合が生じた場合、不具合発生時の処理履歴保存テーブルの情報を残すために、ＲＡＭ２０３上に保存されている処理履歴保存テーブルをＲＯＭ（EEPROM）２０２へ書き込む。ＲＯＭ（EEPROM）２０２には、複数の処理履歴保存テーブルが保存できるように領域を確保し、処理履歴が上書きされないようにすると好ましい。
【００１７】
ここで想定している不具合は、ハードウェアが検出できるもので、データアボートといった異常時にＣＰＵ２０１へ割り込み信号が発生し、割り込みテーブルへ飛ぶことのできる不具合である。ＲＯＭ（EEPROM）２０２への保存処理は割り込み処理で行う。
【００１８】
不具合解析時には、ＲＯＭ（EEPROM）２０２に保存された処理履歴保存テーブルを外部ＩＦ２０５から読み出すことにより、タスクごとの処理履歴と最後に実行された処理を確認することができ、不具合の発生した処理は各タスクの最後に実行された処理のいずれかであると特定することができる。
【００１９】
次に、本実施の形態の動作を図３、図４のフローチャートを参照して詳細に説明する。
【００２０】
プログラム開始時、ＲＡＭ２０３上にマルチタスク数分の処理履歴テーブルを確保する（ステップ３０１）。処理履歴テーブルは、図２に示すようにバッファポインタ保存エリアとリングバッファである処理履歴保存エリアで構成されている。リングバッファのサイズは、端末機器の性能などによって適当な大きさに設定する。
【００２１】
各処理の実行時（ステップ３０２、３０３）には、図４に示すような処理履歴の保存処理を行う。
【００２２】
まず、処理が行われるタスクのタスク番号とタイマから現在時刻を取得する（ステップ４０１）。
【００２３】
次に、タスク番号に対応した処理履歴保存テーブルを選択する（ステップ４０２）。
【００２４】
次に、選択した処理履歴保存テーブルのバッファポインタの値を取得し（ステップ４０３）、バッファポインタの指し示すアドレスに処理番号と時刻を保存する（ステップ４０４）。
【００２５】
最後にバッファポインタの値をインクリメントする（ステップ４０５）。
【００２６】
端末機器が不具合を検出した場合（ステップ３０４）、不具合発生時の情報が消えないようにＲＡＭ２０３上に保存していた処理履歴保存テーブルをＲＯＭ（EEPROM）２０２へ書き込む（ステップ３０５）。
【００２７】
その後、端末機器のリセットを行う（ステップ３０６）。
【００２８】
処理履歴の保存処理の具体的な例として図５のような処理が行われた場合の動作を以下に示す。この例では、同時実行可能なタスク数は２個とする。
【００２９】
処理２１（ステップ５０１）を実行する場合、処理２１はタスク２で実行されるので、タスク２の処理履歴保存テーブルを参照する（図６参照）。バッファポインタが３４を示しているとすると、処理履歴保存エリアのアドレス３４に処理番号である２１と時刻９：００：００．００を保存するとともに、バッファポインタの値を３５に書き換える。
【００３０】
次に、処理１２（ステップ５０２）を実行する場合、処理１２はタスク１で実行されるので、タスク１の処理履歴保存テーブルを参照する（図７参照）。バッファポインタが１９を示していたとすると、処理履歴保存エリアのアドレス１９に処理番号である１２と時刻９：００：００．１０を保存するとともに、バッファポインタの値を２０に書き換える。
【００３１】
次に、処理１３（ステップ５０３）を実行する場合、処理１３はタスク1で実行されるので、タスク１の処理履歴保存テーブルを参照する（図８参照）。バッファポインタが示している処理履歴保存エリアのアドレス１９に処理番号である１３と時刻９：００：００．９０を保存するとともに、バッファポインタの値を２１に書き換える。
【００３２】
以下同様な動作を繰り返して行う。
【００３３】
次に、不具合検出の実施例を示す。図５中の処理１３の途中で不具合が発生し、図９のような処理履歴保存テーブルが保存されたとする。
【００３４】
処理履歴保存テーブルから、タスク１は処理１２→処理１３、タスク２は処理２１→処理２２→処理２３の順番で実行されたことが分かる。従って、不具合の発生した処理は処理１３または処理２３のいずれかであると特定することができる。
【００３５】
従来の方法のように処理履歴の保存先が一つしかない場合、図１０に示すような処理履歴を得ることができるが、この処理履歴から不具合の発生した処理（処理１３）を特定することは困難であり、本発明の優位性が分かる。
【００３６】
また、時刻情報を照らし合わせることで、図９の処理履歴保存テーブルから図５のようなタイミングチャートを描くことができ、どの処理とどの処理が同時に実行されていたのか把握することができる。
【００３７】
上記の本実施の形態によれば、タスクごとの処理履歴を把握できる。処理履歴保存テーブルをマルチタスク数分確保し、タスクごとに保存先を変えることで、タスクごとのプログラム処理の履歴を把握することができる。
【００３８】
また、不具合発生時の処理を特定できる。処理実行時に各処理に割り当てられた番号と実行時の時刻を保存しているため、これらの情報から最後に行われた処理を特定することができる。
【００３９】
また、同時に実行された処理を把握できる。処理履歴保存テーブルの時刻情報からどの処理とどの処理が同時に実行されていたのか把握することができる。
【００４０】
次に、本発明の他の実施の形態について説明する。
【００４１】
処理番号と同時に時刻情報も保存しているため、時刻情報から各処理の処理時間が分かり、処理時間が規定されている処理については、処理時間の妥当性について判断することができる。
【００４２】
すなわち、図９のような処理履歴保存テーブルが残っており、仮に処理１１が１．００秒以内に完了しなければならない処理だとする。処理履歴保存テーブルの時刻情報から処理１１の処理時間は０．８０秒であると分かり、処理時間に問題はないと判断できる。
【００４３】
なお、上述する各実施の形態は、本発明の好適な実施の形態であり、本発明の要旨を逸脱しない範囲内において種々変更実施が可能である。例えば、端末機器の不具合検出システムの機能を実現するためのプログラムをシステムに読込ませて実行することによりシステムの機能を実現する処理を行ってもよい。さらに、そのプログラムは、コンピュータ読み取り可能な記録媒体であるＣＤ−ＲＯＭまたは光磁気ディスクなどを介して、または伝送媒体であるインターネット、電話回線などを介して伝送波により他のコンピュータシステムに伝送されてもよい。
【００４４】
本発明は、プログラムを用いて制御を行っている各種の機器に適用可能である。
【図面の簡単な説明】
【００４５】
【図１】本発明の実施の形態の端末機器の不具合検出システムの構成を示す図である。
【図２】本発明の実施の形態の処理履歴保存テーブルのデータ構造を示す図である。
【図３】本発明の実施の形態の処理動作を示すフローチャートである。
【図４】本発明の実施の形態の処理履歴保存時の処理動作を示すフローチャートである。
【図５】本発明の実施の形態のタイミングチャートである。
【図６】本発明の実施の形態の処理２１の開始時の動作を示す図である。
【図７】本発明の実施の形態の処理１２の開始時の動作を示す図である。
【図８】本発明の実施の形態の処理１３の開始時の動作を示す図である。
【図９】本発明の実施の形態の不具合発生後の処理履歴保存テーブルのデータ構造を示す図である。
【図１０】従来の手法を適用した様子を示す図である。
【符号の説明】
【００４６】
２０１    ＣＰＵ
２０２    ＲＯＭ（EEPROM）
２０３    ＲＡＭ
２０４    タイマ
２０５    外部ＩＦ
【図１】
2008171119.tif 000003
【図２】
2008171119.tif 000004
【図３】
2008171119.tif 000005
【図４】
2008171119.tif 000006
【図５】
2008171119.tif 000007
【図６】
2008171119.tif 000008
【図７】
2008171119.tif 000009
【図８】
2008171119.tif 000010
【図９】
2008171119.tif 000011
【図１０】
2008171119.tif 000012