JP5627414B2 - 動作ログ収集システム及びプログラム - Google Patents

動作ログ収集システム及びプログラム Download PDF

Info

Publication number
JP5627414B2
JP5627414B2 JP2010258869A JP2010258869A JP5627414B2 JP 5627414 B2 JP5627414 B2 JP 5627414B2 JP 2010258869 A JP2010258869 A JP 2010258869A JP 2010258869 A JP2010258869 A JP 2010258869A JP 5627414 B2 JP5627414 B2 JP 5627414B2
Authority
JP
Japan
Prior art keywords
timer
unit
counter
main control
log collection
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
JP2010258869A
Other languages
English (en)
Other versions
JP2012108848A (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.)
Fujikura Ltd
Oki Electric Industry Co Ltd
Original Assignee
Fujikura Ltd
Oki Electric Industry Co 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 Fujikura Ltd, Oki Electric Industry Co Ltd filed Critical Fujikura Ltd
Priority to JP2010258869A priority Critical patent/JP5627414B2/ja
Publication of JP2012108848A publication Critical patent/JP2012108848A/ja
Application granted granted Critical
Publication of JP5627414B2 publication Critical patent/JP5627414B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、動作ログ収集システム及びプログラムに関し、例えば、CPUリセット入力に結線されている回路において、ソフトウェア動作異常時に、CPUリセット起動前に、ソフトウェアの異常動作に関する情報を収集するシステム及びプログラムに適用し得るものである。
従来、中央処理装置(CPU)によるソフトウェア動作に異常が生じ、CPUの暴走を監視するために、ウォッチドッグ監視回路が用いられている。
ウォッチドッグ監視回路は、タイマ機能を有している。システムが正常動作をしている場合、一定時間内に、ソフトウェア処理によるタイマリフレッシュを受け、ウォッチドッグ監視回路はタイマをリフレッシュする。
一方、CPUによるソフトウェア処理に異常が生じると、ソフトウェア処理によるウォッチドッグ監視回路のタイマリフレッシュがなされない。そのため、タイマの満了をもって、ウォッチドッグ監視回路は、直接結線されているCPUのリセット入力に信号を出力する。これにより、ハードウェア自律のシステム再起動が行われ、システム動作の正常復帰が可能となる(特許文献1参照)。
一般的に、ウォッチドッグ監視回路の実装は、ソフトウェア処理暴走時のシステム再起動による自律正常復帰を目的とする。ソフトウェアによるウォッチドッグ監視回路のタイマリフレッシュは、実行レベルの低い周期処理により行われる。そして、ソフトウェア正常動作時は、ウォッチドッグ監視回路のタイマ時間内で周期的にリフレッシュ動作が行われるように実装する。その結果、ソフトウェア処理暴走時に、実行レベルの低い周期処理は待ち状態になり、ウォッチドッグ監視回路のタイマリフレッシュが行われず、タイマ満了でCPUリセットが入力される。
特許文献3には、ハードウェア上の障害を監視する監視許容時間より短い周期で割り込み信号をコンピュータに送出するタイマ手段を備え、タイマ手段から割り込み信号を受け取ると、ハードウェア用ウォッチドッグのプログラムを、他のプログラムよりも最優先で起動する技術が記載されている。
また、特許文献2には、診断装置からシステム内の障害発生が中央処理装置に通知された時に、中央処理装置によって実行される障害情報を記録する技術が記載されている。
特開平5−282182号公報 特開平8−286956号公報 特開平4−190433号公報
ところで、ウォッチドッグ監視回路によるCPUの再起動が発生するケースにおいて、その再起動直前のソフトウェア異常動作に関する情報を記憶しておくことが望まれる。これは、例えば、無限ループ処理等が生じた場合に、その原因を特定することができるかである。
しかし、上記のようなウォッチドッグ監視回路から直接CPUリセット入力に結線されているハードウェア構成の既存システムにおいては、ソフトウェアの介在なしにハードウェア論理でCPUリセットが入るので、ソフトウェアの異常動作に関する情報を残すことができず、問題解析が困難であった。
そのため、ウォッチドッグ監視回路から直接CPUのリセット入力に結線されていているハードウェア構成のシステムにおいて、ソフトウェア異常動作に関する情報を、CPUの再起動前に収集することができる動作ログ収集システム及びプログラムが求められている。
かかる課題を解決するために、第1の本発明の動作ログ収集システムは、主制御装置と、タイマを有し、そのタイマ満了時に主制御装置に対してリセット信号を出力するウォッチドッグ監視手段とを備える動作ログ収集システムにおいて、(1)最優先レベルの周期割り込み動作により、ウォッチドッグ監視手段のタイマをリフレッシュし、所定周期のカウンタを有し、主制御装置による動作ログをカウンタのカウンタ値に対応付けて記憶手段に保存し、カウンタ値により主制御装置の再起動を行う動作ログ収集手段と、(2)動作ログ収集手段のカウンタを所定周期でリフレッシュする定周期処理手段とを備えることを特徴とする。
第2の本発明の動作ログ収集プログラムは、主制御装置と、タイマを有し、そのタイマ満了時に主制御装置に対してリセット信号を出力するウォッチドッグ監視手段とを備えるコンピュータを、(1)最優先レベルの周期割り込み動作により、ウォッチドッグ監視手段のタイマをリフレッシュし、所定周期のカウンタを有し、主制御装置による動作ログをカウンタのカウンタ値に対応付けて記憶手段に保存し、カウンタ値により主制御装置の再起動を行う動作ログ収集手段、(2)動作ログ収集手段のカウンタを所定周期でリフレッシュする定周期処理手段として機能させることを特徴とする。
本発明によれば、ウォッチドッグ監視手段から主制御装置のリセット入力に結線されていているハードウェア構成のシステムにおいて、ソフトウェア異常動作に関する動作ログを、主制御装置の再起動前に収集することができる。
実施形態の動作ログ収集システムの構成を示す構成図である。 実施形態の最優先周期処理ソフトウェアプロセスの処理を示すフローチャートである。 実施形態の定周期処理ソフトウェアプロセスの処理を示すフローチャートである。 実施形態のトレースログ収集エリアに格納される情報例を説明する説明図である。 実施形態のウォッチドッグ監視回路部における処理を示すフローチャートである。
(A)実施形態
以下では、動作ログ収集システム及びプログラムの実施形態を、図面を参照しながら説明する。
(A−1)実施形態の構成
図1は、実施形態に係る動作ログ収集システムの構成を示すブロック図である。図1において、この実施形態に係る動作ログ収集システム10は、主制御部1、ウォッチドッグ監視回路部2、リセット回路部3、揮発性メモリ部4、不揮発性メモリ部5を少なくとも有して構成される。
主制御部1は、主制御部1を搭載する装置の動作を司るものである。主制御部1は、揮発性メモリ4において最優先周期処理ソフトウェアプロセス41及び定周期処理ソフトウェアプロセス42を実行するものである。
最優先周期処理ソフトウェアプロセス41及び定周期処理ソフトウェアプロセス42は、揮発性メモリ4内で動作するソフトウェアである。
最優先周期処理ソフトウェアプロセス41は、ウォッチドッグ監視回路部2のタイマリフレッシュを、最優先レベルの周期的な割り込み処理として行うものである。最優先周期処理ソフトウェアプロセス41は、ソフトウェア処理の実行レベルを最優先レベルとしているので、主制御部1によるソフトウェア処理の暴走時に最優先で実行され、主制御部1に対してリセット命令を出力することができる。
また、図1に示すように、最優先周期処理ソフトウェアプロセス41により行われる主な機能として、タイマ部411、タイマリフレッシュ部412、トレースログ収集部413、再起動部414を少なくとも有する。
タイマ部411は、所定時間を計時するものである。タイマ部411は、例えば、「0」でない初期値(例えば「255」)から減算していく減算カウンタを適用することができる。なお、初期値は、特に限定されるものではない。なお、タイマ部411が計時する時間は、ウォッチドッグ監視回路部2のタイマ部21のタイマ時間よりも短い。
また、この実施形態では、減算カウンタを適用する場合を例示するが、加算カウンタを適用するようにしてもよい。その場合、例えば初期値を「0」として加算していき所定値に達するか否かで、所定時間を計時することができる。この場合も、初期値は限定されるものではない。
タイマリフレッシュ部412は、最優先周期処理ソフトウェアプロセス41が実行されると、ウォッチドッグ監視回路部2のタイマ部21のタイマ値を初期値に戻し、タイマリフレッシュを行うものである。
トレースログ収集部413は、タイマ部411によるタイマが満了でない場合、タイマ部411のタイマ値をインデックスとして、対応するトレースログ情報を、不揮発性メモリ部5のトレースログ収集エリア51に記録するものである。
トレースログ収集部413が、トレースログを収集するタイミングは、タイマ部411のタイマ値の変更時である。すなわち、減算カウンタがカウンタ値を減算したときに、トレースログ収集部413は、そのときのトレースログ情報をトレースログ収集エリア51に記録する。
再起動部414は、タイマ部411によるタイマが満了した場合、主制御部1に対して直接リセット命令を出力するものである。ここで、再起動部414は、後述するウォッチドッグ監視回路部2及びリセット回路部3を用いずに、直接主制御部1に対してリセット命令を出力する。
定周期処理ソフトウェアプロセス42は、所定周期毎に、最優先周期処理ソフトウェアプロセス41のタイマ部411のタイマ値を初期値にリフレッシュするものである。定周期処理ソフトウェアプロセス42の実行レベルは低い。また、定周期処理ソフトウェアプロセス42の実行周期は、最優先周期処理ソフトウェアプロセス41のタイマ部411の計時時間よりも短い。
例えば、特許文献3に記載の従来技術の場合、ウォッチドッグ監視回路のタイマリフレッシュを行うが、この実施形態の定周期処理ソフトウェアプロセス42は、最優先周期処理ソフトウェアプロセス41のタイマリフレッシュを行う点で異なる。
ウォッチドッグ監視回路部2は、主制御部1のソフトウェア実行処理に異常が生じた場合に、リセット回路部3にリセット命令を出力するものである。
図1に示すように、ウォッチドッグ監視回路部2の主な機能としては、タイマ部21、リセット命令部22が少なくともある。
タイマ部21は、所定時間を計時するものである。タイマ部21は、タイマ満了前に、最優先周期処理ソフトウェアプロセス41からタイマのリフレッシュを受けると、タイマ値を初期値に戻す。なお、タイマ満了は、所定の閾値に達したときとすることができる。
リセット命令部22は、タイマ部21のタイマが満了になると、リセット回路部3に対してリセット命令を出力するものである。
リセット回路部3は、ウォッチドッグ監視回路部2からリセット命令を受け取ると、主制御部1に対してリセット信号を出力するものである。
揮発性メモリ部4は、最優先周期処理ソフトウェアプロセス41、定周期処理ソフトウェアプロセス42のワーキングエリアである。
不揮発性メモリ部5は、主制御部1のリセット入力によるシステム再起動前後で、データ内容が保証されるトレースログ情報エリア51を保持するものである。
(A−2)実施形態の動作
次に、この実施形態のソフトウェア動作ログ情報収集処理の動作を、図面を参照しながら説明する。
図2は、最優先周期処理ソフトウェアプロセス41の処理を示すフローチャートである。また、図3は、定周期処理ソフトウェアプロセス42の処理を示すフローチャートである。
まず、図2において、最優先周期処理ソフトウェアプロセス41は、周期的な割り込み信号によりスタートする。その割り込みの周期は、特に限定されるものではないが、例えば10ms間隔で割り込みスタートさせるようにしてもよい。
最優先周期処理ソフトウェアプロセス41を実行すると、タイマリフレッシュ部412は、ウォッチドッグ監視回路部2のタイマ部21のタイマ値を初期値に戻し、タイマフレッシュを行う(S101)。ウォッチドッグ監視回路部2のタイマフレッシュが行われると、事実上ハードウェアによるウォッチドッグ監視回路部2の機能が無効化することになる。
次に、最優先周期処理ソフトウェアプロセス41のタイマ411のカウンタ値(この実施形態では減算カウンタのカウンタ値)が「0」であるか否かを判断する(S102)。ここで、最優先周期処理ソフトウェアプロセス41のタイマ部411のカウンタ値の初期値は「255」であり、タイマ部411は、「255」〜「0」までカウントする。
図3に示すように、タイマ部411は、所定周期毎に、定周期処理ソフトウェアプロセス42の処理により、カウンタ値が初期値に戻りリフレッシュされる(S201)。
カウンタ値が「0」の場合、再起動部414は、主制御部1に対してリセット命令を出力し、システムは再起動される(S103)。上記のように、最優先周期処理ソフトウェアプロセス41が行われると、ウォッチドッグ監視回路部2のタイマリフレッシュがなされ、ウォッチドッグ監視回路部2は無効化しているので、最優先周期処理ソフトウェアプロセス41が主制御部1に対して直接リセット命令を出力する。
一方、カウンタ値が「0」でない場合、タイマ部411は、カウンタ値を周期的に減算する(S104)。
ソフトウェア正常動作時には、タイマ部411のカウンタ値が「0」になる前に、定周期処理ソフトウェアプロセス42によるリフレッシュ動作が実施されるので、タイマ部411は満了にならない。
トレースログ収集部413は、タイマ部411のカウンタ値が「0」でない場合、主制御部1により実行されているトレースログ情報を、タイマ部411のカウンタ値と対応付けて、トレースログ収集エリア51に記録する(S105)。
ここで、図4は、トレースログ収集エリア51に格納される情報例を説明する説明図である。
図4に示すように、トレースログ収集エリア51には、カウンタ値が「0」以外の場合に、そのカウンタ値から減算したカウンタ値と、そのときのトレースログ情報とを対応付けた情報が記録される。
ここで、トレースログ情報は、例えば、CPUのプログラムカウンタ、ステータスレジスタ、メモリ/スタック等のソフトウェア動作情報である。また、トレースログ情報は、1個のカウンタ値に複数種類を対応付けることができる。図4では、3種類のトレースログ情報をカウンタ値に対応付ける場合を例示する。
S103で説明したように、再起動部414は、カウンタ値が「0」の場合に、主制御部1にリセット命令を行う。図4に示すように、カウンタ値が「0」になるまでのトレースログ情報、すなわち、カウント値が「255」から「1」まで経過する時点のトレースログ情報は、トレースログ収集エリア51に記録されている。従って、再起動部414がリセット命令を出力する直前までのトレースログ情報が、トレースログ収集エリア51に記録される。また、主制御部1は、再起動部414からのリセット命令により再起動し、システムを正常復帰させる。
図5は、ウォッチドッグ監視回路部2における処理を示すフローチャートである。
ウォッチドッグ監視回路部2は、周期的にタイマ部21のタイマ値をカウントダウンし(S301)、タイマ満了である場合(S302)、リセット回路部3にリセット命令を行う(S303)。これを受けて、リセット回路部3は主制御部1にリセット信号を出力する。なお、タイマ満了でない場合、S301に移行し、タイマ満了になるまでタイマ値のカウントダウンを行う。
また、上述したように、最優先周期処理ソフトウェアプロセス41が、ウォッチドッグ監視回路部2のタイマリフレッシュを行っている。
ここで、ソフトウェア異常動作時に、例えばメモリ破壊等、最優先周期処理ソフトウェアプロセス41までも動作不能になった場合は、ウォッチドッグ監視回路部2による主制御部1へのリセットが動作するため、システムは正常復帰する。
この場合でも、最優先周期処理ソフトウェアプロセス41のトレースログ収集部413が、ソフトウェア異常動作時のカウンタ値にトレースログ情報を対応付けて記録しているので、その時点までのトレース動作ログ情報がトレースログ収集エリア51に保存されている。
(A−3)実施形態の効果
以上のように、実施形態によれば、ウォッチドッグ再起動直前のソフトウェア動作トレース情報を収集することにより、ウォッチドッグ再起動発生原因の解析時間短縮が期待できる。
例えば、無限ループ処理に陥り、ウォッチドッグ再起動が発生したケースにおいて、再起動前のソフトウェア動作情報(例えば、CPUのプログラムカウンタ、ステータスレジスタ、メモリ/スタックなど)がトレース収集されていれば、少なくとも無限ループに陥っていた箇所は特定可能であり、収集情報によっては、無限ループに陥った原因(スタック破壊、メモリ破壊etc)も特定可能である。
(B)他の実施形態
上述した実施形態は、本発明の実施形態の一例である。例えば、上述した実施形態では、最優先周期処理ソフトウェアプロセスという1つのソフトウェアの機能として説明したが、最優先周期処理ソフトウェアプロセスが備える各機能をソフトウェアとし、複数のソフトウェアとして設けるようにしてもよい。
また、実施形態では、最優先周期処理ソフトウェアプロセスの再起動部のリセット命令を出力タイミングがカウンタ値「0」の場合として説明したが、これに限定されるものではなく、例えば、閾値に達した時点としてもよい。この場合も、その閾値に対するまでのカウンタ値に対応付けた動作ログが、時系列にトレースログとして保存することができる。
1…主制御部、2…ウォッチドッグ監視回路部、21…タイマ部、22…リセット命令部、3…リセット回路部、4…揮発性メモリ部、41…最優先周期処理ソフトウェアプロセス、42…定周期処理ソフトウェアプロセス、5…不揮発性メモリ部、51…トレースログ収集エリア。

Claims (2)

  1. 主制御装置と、タイマを有し、そのタイマ満了時に上記主制御装置に対してリセット信号を出力するウォッチドッグ監視手段とを備える動作ログ収集システムにおいて、
    最優先レベルの周期割り込み動作により、上記ウォッチドッグ監視手段の上記タイマをリフレッシュし、所定周期のカウンタを有し、上記主制御装置による動作ログを上記カウンタのカウンタ値に対応付けて記憶手段に保存し、上記カウンタ値により上記主制御装置の再起動を行う動作ログ収集手段と、
    上記動作ログ収集手段の上記カウンタを所定周期でリフレッシュする定周期処理手段と を備えることを特徴とする動作ログ収集システム。
  2. 主制御装置と、タイマを有し、そのタイマ満了時に上記主制御装置に対してリセット信号を出力するウォッチドッグ監視手段とを備えるコンピュータを、
    最優先レベルの周期割り込み動作により、上記ウォッチドッグ監視手段の上記タイマをリフレッシュし、所定周期のカウンタを有し、上記主制御装置による動作ログを上記カウンタのカウンタ値に対応付けて記憶手段に保存し、上記カウンタ値により上記主制御装置の再起動を行う動作ログ収集手段と、
    上記動作ログ収集手段の上記カウンタを所定周期でリフレッシュする定周期処理手段
    として機能させることを特徴とする動作ログ収集プログラム。
JP2010258869A 2010-11-19 2010-11-19 動作ログ収集システム及びプログラム Active JP5627414B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010258869A JP5627414B2 (ja) 2010-11-19 2010-11-19 動作ログ収集システム及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010258869A JP5627414B2 (ja) 2010-11-19 2010-11-19 動作ログ収集システム及びプログラム

Publications (2)

Publication Number Publication Date
JP2012108848A JP2012108848A (ja) 2012-06-07
JP5627414B2 true JP5627414B2 (ja) 2014-11-19

Family

ID=46494381

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010258869A Active JP5627414B2 (ja) 2010-11-19 2010-11-19 動作ログ収集システム及びプログラム

Country Status (1)

Country Link
JP (1) JP5627414B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108268335B (zh) * 2018-01-31 2022-04-19 努比亚技术有限公司 基于系统服务的重启定位方法、移动终端及存储介质
CN110515815A (zh) * 2019-08-19 2019-11-29 成都华镭科技有限公司 单板复位测试的监控方法
CN111193609B (zh) * 2019-11-20 2021-09-28 腾讯科技(深圳)有限公司 应用异常的反馈方法、装置及应用异常的监控系统

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1063544A (ja) * 1996-08-20 1998-03-06 Toshiba Corp タイムアウト監視方式
JP4313858B2 (ja) * 1998-03-31 2009-08-12 株式会社東芝 計算機

Also Published As

Publication number Publication date
JP2012108848A (ja) 2012-06-07

Similar Documents

Publication Publication Date Title
CN102521098B (zh) Cpu死机监控的处理方法和装置
US20140068350A1 (en) Self-checking system and method using same
JP2006309760A (ja) データプロセッサの異常動作を検出するためのモニタリング論理及びモニタリング方法
JP2012069032A (ja) 情報処理装置
JP2009110156A (ja) ログ出力装置及びログ出力プログラム
JP2010086364A (ja) 情報処理装置、動作状態監視装置および方法
US8234526B2 (en) Computer system and monitoring device
JP5627414B2 (ja) 動作ログ収集システム及びプログラム
JP2016224883A (ja) 異常検出方法、情報処理装置および異常検出プログラム
US9009537B2 (en) Diagnostic data capture in a computing environment
JP2010009296A (ja) ソフトウェア動作監視装置およびソフトウェア動作監視方法
JP6880961B2 (ja) 情報処理装置、およびログ記録方法
JP2010204851A (ja) 記憶装置及び情報処理装置
JP2019152995A (ja) コンピュータおよびその制御方法
JP2016066139A (ja) 車両制御装置
JP5133649B2 (ja) 電子機器およびメモリ管理プログラム
JP6131688B2 (ja) 安全関連装置、そのプログラム
JP2006011686A (ja) マルチタスクシステムの異常検知方法
WO2014155228A1 (en) A primary memory module with a record of usage history and applications of the primary memory module to a computer system
WO2016204070A1 (ja) Cpu監視装置
JP2014052827A (ja) 情報処理装置及び情報処理方法
WO2014112039A1 (ja) 情報処理装置、情報処理装置制御方法及び情報処理装置制御プログラム
JP4562641B2 (ja) コンピュータシステム、動作状態判定プログラムおよび動作状態判定方法
CN108415788B (zh) 用于对无响应处理电路作出响应的数据处理设备和方法
CN112711467B (zh) 分区超时处理方法、装置、计算机设备及存储介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130709

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140319

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140401

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140602

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140930

R150 Certificate of patent or registration of utility model

Ref document number: 5627414

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313115

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313117

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350