JP5355049B2 - 診断装置及びコンピュータプログラム及び診断方法 - Google Patents
診断装置及びコンピュータプログラム及び診断方法 Download PDFInfo
- Publication number
- JP5355049B2 JP5355049B2 JP2008294340A JP2008294340A JP5355049B2 JP 5355049 B2 JP5355049 B2 JP 5355049B2 JP 2008294340 A JP2008294340 A JP 2008294340A JP 2008294340 A JP2008294340 A JP 2008294340A JP 5355049 B2 JP5355049 B2 JP 5355049B2
- Authority
- JP
- Japan
- Prior art keywords
- diagnosis
- diagnostic
- unit
- plan
- item
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Test And Diagnosis Of Digital Computers (AREA)
Description
一方、これらの装置は、一般ユーザが電源を入れたら待つことなくすぐにでも使いたいという要望がある。
装置がアイドル状態となった場合など装置の動作中に診断を行う方式も考えられるが、装置の動作中には診断できない部分がある場合は、やはり、安全性が確保できないという課題がある。
この発明は、例えば上記のような課題を解決するためになされたものであり、対象装置の起動にかかる時間を短くしつつ、診断が必要な項目についての診断を実行し、対象装置を安全に使用できるようにすることを目的とする。
診断対象である1つまたは複数の対象装置に対する複数の診断項目が記憶された記憶装置と、
上記複数の診断項目を複数回の診断処理に振り分け、これらの診断処理のうちの一回の診断処理が実行され他の回の診断処理が省略される処理が上記対象装置の起動時に実行され上記対象装置の起動が繰り返されることによって上記複数回の診断処理を網羅するように計画された診断計画を、上記複数の診断項目の診断にかかる所要時間に基づいて作成する診断計画作成部と、
上記対象装置の起動時に、上記診断計画作成部が作成した診断計画に基づいて、上記複数回の診断処理のなかの一回の診断処理を実行する診断実行部と、
を備えたことを特徴とする。
実施の形態1について、図1〜図12を用いて説明する。
組込み機器800は、例えば、CPU911、表示装置901、入力装置902、RAM914、スピーカ908、磁気ディスク装置920、フラッシュメモリ930、メモリカード読取装置951、カメラ952、通信メモリ953、温度センサ961、衝撃センサ962などを有する。組込み機器800は、コンピュータの一種である。
表示装置901は、例えばLCD(Liquid Crystal Display)など、文字や図形などを表示することにより、利用者に対して、データを視覚的に出力する装置である。
スピーカ908は、音声などを出力することにより、利用者に対して、データを聴覚的に出力する装置である。
カメラ952は、静止画や動画などの画像や映像を撮影する装置である。
通信メモリ953は、カメラ952が撮影した画像や映像を表わすデータを一時的に記憶しておくための記憶装置である。CPU911は、通信メモリ953が記憶したデータを読み出すことにより、カメラ952が撮影した画像や映像を取得する。
衝撃センサ962は、組込み機器800に加えられた衝撃を測定する測定装置である。
なお、組込み機器800が動作していない間の温度や衝撃も測定し、最高温度や最大衝撃を記憶しておく機能を有する温度センサ961・衝撃センサ962であれば、更に望ましい。
磁気ディスク装置920などの記憶装置は、OS921、ミドルウェア922、アプリケーション923〜925などのプログラムを記憶している。
OS921(Operating Sytem)は、図1で説明したハードウェア上で動作するプログラムである。
ミドルウェア922は、OS921上で動作するプログラムである。
アプリケーション923〜925は、ミドルウェア922上で動作するプログラムである。
起動時診断実行部210は、組込み機器800の起動時に自己診断を実行し、組込み機器800が故障しているか否かを判定する。起動時診断実行部210が自己診断を実行して、組込み機器800が故障していないと判定した場合、CPU911はOS921を起動し、組込み機器800の本来の動作を実行する。起動時診断実行部210は、OS921起動前に自己診断を実行するので、OS921の機能に頼らずに動作する。これにより、起動時診断実行部210は、OS921が動作中には診断できない部分の診断をすることができる。
診断装置100は、診断項目データベース記憶部110、診断計画作成部120、制限時間入力部130、異常状況判定部140、診断所要時間計測部150、診断結果記憶部160、診断結果出力部170、診断計画記憶部190、診断実行部200を有する。
上述した起動時診断実行部210及び動作中診断実行部220は、診断実行部200の一部である。
診断項目とは、組込み機器800を構成するハードウェアごとに分け、更に、それぞれのハードウェアについて、その機能などによって分けた項目であって、それぞれ単独で試験をするなどして、故障しているか否かを診断することができる単位のことである。診断項目は、後述する診断計画作成の自由度を高くするため、なるべく細分化されているほうがよい。例えば、フラッシュメモリ930を診断対象とする診断項目であれば、全記憶領域を一つの診断項目とするのではなく、読み出し・書き込みの診断であればページごと、消去の診断であればブロックごとに分割した診断項目とするほうが望ましい。
なお、磁気ディスク装置920が故障した場合に備えて、診断項目データベース記憶部110は、磁気ディスク装置920を用いて記憶したのと同じ情報を、フラッシュメモリ930など他の記憶装置を用いて記憶する構成としてもよい。後述する診断計画記憶部190、診断結果記憶部160なども同様である。
制限時間とは、一回の診断処理に許容する最大時間のことである。例えば、組込み機器800の起動時に行う診断は、組込み機器800を起動後すぐに利用したいという利用者のニーズに鑑みれば、できるかぎり短い時間で行うほうがよい。そのため、起動時の診断処理にかかる時間の制限を設け、制限時間内に診断を終え、組込み機器800が利用可能になるようにする。
また、動作中に行う診断は、通常、組込み機器800がアイドル状態になったときに実行する。診断処理の実行中に、利用者が組込み機器800を利用しようとした場合、診断処理が終了してから、通常の動作に復帰するとすると、最大で、動作中の診断処理にかかる時間だけ、利用者を待たせることになる。そのため、動作中の診断処理にかかる時間にも制限を設け、利用者の待ち時間が、最大でも制限時間内に収まるようにする。なお、起動時における診断処理の制限時間(以下「起動時制限時間」と呼ぶ。)と、動作中における診断処理の制限時間(以下「動作中制限時間」と呼ぶ。)とは、異なっていてもよい。
なお、組込み機器800が、動作中における診断処理の実行中に、利用者が組込み機器800を利用しようとした場合、診断処理を中断して通常の動作に復帰する構成である場合などは、動作中制限時間を設けなくともよい。
例えば、組込み機器800が強い衝撃を受けた場合には、磁気ディスク装置920が故障する可能性が高くなる。
なお、温度や衝撃は、組込み機器800が故障しやすくなる状況を判定するための基礎となる情報の一例であり、組込み機器800が、他の情報を測定するセンサを備え、異常状況判定部140が、その情報に基づいて、異常状況が発生したか否かを判定する構成であってもよい。
診断計画とは、起動時あるいは動作中の診断処理において、どの診断項目をどのような順序で診断するかを定めたものである。診断計画作成部120は、CPU911を用いて、制限時間入力部130が出力した制限時間を入力し、入力した制限時間に基づいて、一回の診断処理にかかる時間が制限時間を超えないように、診断計画を作成する。すべての診断項目について診断するのにかかる時間が制限時間を超える場合、診断計画作成部120は、一回の診断処理では一部の診断項目についての診断を実行し、複数回の診断処理で、すべての診断項目についての診断を終えるよう、診断計画を作成する。
また、診断計画作成部120は、CPU911を用いて、異常状況判定部140が出力した判定結果を入力し、入力した判定結果に基づいて、異常状況が発生した場合、その異常状況によって故障しやすくなった部分についての診断を、他の診断より優先して行うよう、診断計画を作成する。
利用者に知らせるべき情報には、例えば、「故障のため、組込み機器800を起動できない」旨、「故障のため、組込み機器800の動作を停止する」旨、「故障があり、特定の機能が利用できない」旨、「故障があり、特に利用できない機能はないが、注意が必要である」旨など、故障箇所や故障の深刻度に応じた情報がある。診断結果出力部170は、CPU911を用いて、入力した診断結果に基づいて、利用者に知らせるべき情報を生成し、生成した情報を、表示装置901を用いて表示したり、スピーカ908を用いて音声案内として出力したりする。
診断項目データベース記憶部110は、例えば、一つの診断項目について、診断対象511、診断内容512、診断所要時間521、診断重要度531、動作中診断可否541、故障発生可能性551、故障発生可能性552などの情報の組(レコード)を記憶し、複数の診断項目に対応する複数のレコードを記憶する。
診断内容512は、その診断項目において診断対象のハードウェアの何について診断をするかを表わす情報である。例えば、ハードウェアの機能ごとに診断項目を分ける場合、診断内容512は、診断する機能を表わし、ハードウェアを複数の部分に分割して診断する場合(例えば、フラッシュメモリ930をページやブロックごとに分けて診断する場合や、磁気ディスク装置920をセクタやトラックごとに分けて診断する場合など)、診断内容512は、分割された部分を表わす番号などである。
診断対象511及び診断内容512は、診断項目の一例であり、診断項目データベース記憶部110のうち、診断対象511及び診断内容512を記憶する部分は、診断項目記憶部111の一例である。
診断項目データベース記憶部110のうち、診断所要時間521を記憶する部分は、診断所要時間記憶部112の一例である。
診断項目データベース記憶部110のうち、診断重要度531を記憶する部分は、診断重要度記憶部113の一例である。
診断項目データベース記憶部110のうち、動作中診断可否541を記憶する部分は、動作中診断可否記憶部114の一例である。
診断項目データベース記憶部110のうち、故障発生可能性551,552を記憶する部分は、故障発生可能性記憶部115の一例である。
診断計画作成部120は、制限時間記憶部121、総所要時間算出部122、診断所要回数算出部123、診断項目振り分け部124を有する。
診断所要回数算出部123は、CPU911を用いて、入力した起動時診断総所要時間と起動時制限時間とに基づいて、起動時の診断処理を何回実行すれば起動時診断項目すべてについての診断ができるか(以下「起動時診断所要回数」と呼ぶ。)を算出する。診断所要回数算出部123は、算出した起動時診断所要回数を出力する。
例えば、診断所要回数算出部123は、CPU911を用いて、起動時診断総所要時間を起動時制限時間で割った商を算出し、算出した商の端数を切り上げて整数にして、起動時診断所要回数とする。なお、余裕を見て、診断所要回数算出部123は、CPU911を用いて、更に1を加えたものを起動時診断所要回数とする構成であってもよい。
また、診断所要回数算出部123は、CPU911を用いて、入力した動作中診断総所要時間と動作中制限時間とに基づいて、動作中の診断処理を何回実行すれば動作中診断項目すべてについての診断ができるか(以下「動作中診断所要回数」と呼ぶ。)を算出する。診断所要回数算出部123は、CPU911を用いて、算出した動作中診断所要回数を出力する。なお、動作中診断所要回数の具体的な算出方式は、起動時診断所要回数と同様である。
診断項目振り分け部124は、CPU911を用いて、入力した起動時診断所要回数と起動時制限時間とに基づいて、診断項目データベース記憶部110が記憶した診断項目のうち、起動時診断項目を、一回の診断処理にかかる時間の合計が起動時制限時間を超えないよう、起動時診断所要回数の診断処理に振り分ける。診断項目振り分け部124は、CPU911を用いて、各回の診断処理にどの診断項目を振り分けたかを表わす情報(以下「起動時診断計画」と呼ぶ。)を出力する。
また、診断項目振り分け部124は、CPU911を用いて、入力した動作中診断所要回数と動作中制限時間とに基づいて、診断項目データベース記憶部110が記憶した診断項目のうち、動作中診断項目を、一回の診断処理にかかる時間の合計が動作中制限時間を超えないよう、動作中診断回数の診断処理に振り分ける。診断項目振り分け部124は、CPU911を用いて、各回の診断処理にどの診断項目を振り分けたかを表わす情報(以下「動作中診断計画」と呼ぶ。)を出力する。
診断項目振り分け部124が出力した起動時診断計画と動作中診断計画とは、診断計画記憶部190が入力し、記憶する。
例えば、診断項目振り分け部124は、CPU911を用いて、作成した起動時診断計画において、各回の診断処理にかかる時間が制限時間より短い場合、余った時間を利用して、動作中診断項目を診断する起動時診断計画を作成する。診断項目振り分け部124は、CPU911を用いて、動作中診断項目のなかから、起動時に診断することとした診断項目を除き、残りの診断項目について、動作中診断計画を作成する。このとき、診断項目振り分け部124は、CPU911を用いて、診断所要回数算出部123が算出した動作中所要回数よりも少ない回数の診断処理で、一回あたりの診断処理にかかる時間が制限時間を超えることなく、残った診断項目についての診断が実行できるのであれば、動作中所要回数を減らす構成としてもよい。
あるいは、診断項目振り分け部124は、CPU911を用いて、起動時診断所要回数が所定の回数(例えば4回)以下であり、かつ、動作中診断所要回数が所定の回数(例えば10回)を超える場合に、起動時診断所要回数を所定の回数まで増やし、起動時診断計画を作成する。上述した例と同様、余った時間には、動作中診断項目を診断することとし、その分、動作中診断所要回数を減らす構成としてもよい。
起動時診断実行部210は、起動時診断回数記憶部211、起動時診断計画取得部212、起動時診断部213、起動時診断回数更新部214、動作中診断計画取得部215、動作中診断項目確保部216を有する。
動作中診断実行部220は、動作中診断回数記憶部221、確保項目開放部222、診断項目確保判定部223、動作中診断部224、動作中診断回数更新部225を有する。
起動時診断部213は、CPU911を用いて、各診断項目についての診断を開始する前に、これから診断を開始する診断項目を、診断所要時間計測部150に対して通知する。また、起動時診断部213は、CPU911を用いて、各診断項目についての診断が終了した後に、診断が終了した診断項目を、診断所要時間計測部150に対して通知する。診断所要時間計測部150は、起動時診断部213からの通知に基づいて、各診断項目についての診断所要時間を計測する。
また、起動時診断部213は、CPU911を用いて、各診断項目についての診断が終了した後、診断した結果、故障を発見したか否か、故障を発見した場合はその程度などを、診断結果として出力する。起動時診断部213が出力した診断結果は、診断結果記憶部160が入力し、記憶する。
更に、起動時診断部213は、CPU911を用いて、診断計画で予定されていたすべての診断項目についての診断が終了した場合、起動時診断回数更新部214に対して、診断終了を通知する。
例えば、RAM914の記憶領域の一部が診断対象である場合、その記憶領域を、OS921、ミドルウェア922、アプリケーション923〜925などが使っていると、組込み機器800の動作中に診断をすることができなくなる。このため、動作中診断項目確保部216は、CPU911を用いて、その記憶領域をOS921などが使わないよう、切り離して確保する。
例えば、動作中診断項目確保部216がRAM914の記憶領域の一部を確保している状態で、組込み機器800がメモリ不足状態となった場合、確保項目開放部222は、CPU911を用いて、動作中診断項目確保部216が確保した記憶領域を開放して、OS921などが利用できるようにする。
また、確保項目開放部222は、CPU911を用いて、後述する動作中診断部224が診断終了を通知した場合、動作中診断項目確保部216が確保した診断対象を開放する。
動作中診断部224は、CPU911を用いて、各診断項目について診断を開始する前に、これから診断を開始する診断項目を、診断所要時間計測部150に対して通知する。また、動作中診断部224は、CPU911を用いて、各診断項目について診断が終了した後に、診断が終了した診断項目を、診断所要時間計測部150に対して通知する。診断所要時間計測部150は、動作中診断部224からの通知に基づいて、各診断項目についての診断所要時間を計測する。
また、動作中診断部224は、CPU911を用いて、各診断項目についての診断が終了した後、診断した診断結果を出力する。動作中診断部224が出力した診断結果は、診断結果記憶部160が入力し、記憶する。
更に、動作中診断部224は、CPU911を用いて、診断計画で予定されていたすべての診断項目についての診断が終了した場合、確保項目開放部222と動作中診断回数更新部225とに対して、診断終了を通知する。
故障検出判定工程S610において、組込み機器800は、CPU911を用いて、診断装置100が故障を既に検出しているか否かを判定する。
組込み機器800は、CPU911を用いて、診断装置100が故障を既に検出していると判定した場合、故障警告工程S710へ進む。
組込み機器800は、CPU911を用いて、診断装置100が故障を検出していないと判定した場合、診断計画作成済判定工程S620へ進む。
診断装置100は、CPU911を用いて、診断計画作成部120が診断計画を既に作成してあると判定した場合、起動時診断処理S640へ進む。
診断装置100は、CPU911を用いて、診断計画作成部120が診断計画をまだ作成していないと判定した場合、診断計画作成処理S630へ進む。
診断装置100は、CPU911を用いて、診断処理により故障を発見した場合、故障警告工程S710へ進む。
診断装置100は、CPU911を用いて、診断処理により故障を発見しなかった場合、動作中診断項目確保処理S650へ進む。
組込み機器800本来の動作中に、組込み機器800が資源不足になった場合、組込み機器800は、CPU911を用いて、確保項目開放処理S670へ進む。
組込み機器800本来の動作中に、組込み機器800がアイドル状態となった場合、組込み機器800は、CPU911を用いて、診断項目確保判定処理S680へ進む。
それ以外の場合、組込み機器800は、CPU911を用いて、動作処理S660を繰り返す。
その後、組込み機器800は、CPU911を用いて、動作処理S660に戻る。
組込み機器800は、CPU911を用いて、診断対象が開放されたと診断項目確保判定部223が判定した場合、動作処理S660に戻る。
組込み機器800は、CPU911を用いて、診断対象が確保されていると診断項目確保判定部223が判定した場合、動作中診断処理S690へ進む。
診断装置100は、CPU911を用いて、診断処理により故障を発見した場合、故障警告工程S710へ進む。
診断装置100は、CPU911を用いて、診断処理により故障を発見しなかった場合、動作処理S660に戻る。
その後、組込み機器800は、CPU911を用いて、動作を停止する。
なお、診断装置100は、CPU911を用いて、発見した故障が致命的なものか軽度なものかを判定し、故障が軽度であって、組込み機器800の動作を停止する必要がない場合には、故障警告工程S710が終了したのち、元に戻って、続きの処理をする構成としてもよい。
診断計画作成処理S630は、例えば、制限時間入力工程S631,総所要時間算出工程S632、診断所要回数算出工程S633、診断項目整列工程S634、診断項目繰り返し工程S635、診断項目振り分け工程S636、残り時間算出工程S637、繰り返し判定工程S638を有する。
診断項目振り分け部124は、CPU911を用いて、診断所要回数算出部123が算出した起動時診断所要回数と動作中診断所要回数とに基づいて、起動時診断計画と動作中診断計画とを初期化する。診断計画記憶部190は、磁気ディスク装置920を用いて、起動時診断計画として、起動時診断所要回数分の起動時診断処理を記憶する記憶領域と、動作中診断計画として、動作中診断所要回数分の動作中診断処理を記憶する記憶領域とを確保する。診断項目振り分け部124は、RAM914を用いて、それぞれの起動時診断処理について、残り時間として、起動時制限時間を記憶し、それぞれの動作中診断処理について、残り時間として、動作中制限時間を記憶する。
選択した診断項目が起動時診断項目である場合、診断項目振り分け部124は、CPU911を用いて、起動時診断処理のなかから、記憶した残り時間が最も長いものを選択する。診断項目振り分け部124は、CPU911を用いて、診断項目繰り返し工程S635で選択した診断項目を、選択した起動時診断処理に割り当てる。診断計画記憶部190は、磁気ディスク装置920を用いて、診断項目を割り当てた起動時診断処理を記憶する。
選択した診断項目が動作中診断項目である場合、診断項目振り分け部124は、CPU911を用いて、動作中診断処理のなかから、記憶した残り時間が最も長いものを選択する。診断項目振り分け部124は、CPU911を用いて、診断項目繰り返し工程S635で選択した診断項目を、選択した動作中診断処理に割り当てる。診断計画記憶部190は、磁気ディスク装置920を用いて、診断項目を割り当てた動作中診断処理を記憶する。
診断項目振り分け部124は、CPU911を用いて、未処理の診断項目があると判定した場合、診断項目繰り返し工程S635に戻り、次の診断項目を選択する。
診断項目振り分け部124は、CPU911を用いて、すべての診断項目についての処理が終了したと判定した場合、診断計画作成処理S630を終了する。
この図において、診断項目を表わす長方形の横方向の長さは、その診断項目の診断所要時間を表わす。
診断項目振り分け部124は、診断所要時間が長い順に、診断項目を一つずつ、診断計画に振り分けていく。振り分ける診断項目が起動時診断項目であれば起動時診断処理のなかで、振り分ける診断項目が動作中診断項目であれば動作中診断処理のなかで、それぞれ残り時間が一番長い診断処理に、診断項目を振り分ける。
例えば、診断項目振り分け部124は、CPU911を用いて、診断項目を振り分けようとしている診断処理の残り時間と、その診断項目の診断所要時間とを比較する。診断所要時間が残り時間以下の場合、診断項目振り分け部124は、CPU911を用いて、その診断項目をその診断処理に振り分ける。診断所要時間が残り時間を超える場合、診断項目振り分け部124は、CPU911を用いて、診断所要回数を1つ増やし、新たな診断処理を設定して、新たに設定した診断処理に、その診断項目を振り分ける。
また、そのような構成とした場合、最初に設定した診断所要回数が足りなくても、診断項目振り分け部124が診断所要回数を増やして、自動的に最適な診断所要回数とすることができる。そのため、診断項目振り分け部124は、CPU911を用いて、総所要時間や制限時間とは関係なく、診断所要回数の初期値を所定の値(例えば「1」)に設定する構成としてもよい。その場合、総所要時間算出部122及び診断所要回数算出部123は、なくてもよい。
例えば、診断項目整列工程S634において、診断項目振り分け部124は、CPU911を用いて、診断項目を起動時診断項目と動作中診断項目に分類した上で、分類された診断項目をそれぞれ整列する。診断項目振り分け部124は、CPU911を用いて、まず、起動時診断項目について、診断所要時間が長い順に、起動時診断処理に振り分ける。次に、診断項目振り分け部124は、CPU911を用いて、動作中診断項目について、診断所要時間が長い順に、動作中診断処理に振り分ける。このとき、診断項目振り分け部124は、CPU911を用いて、振り分けようとしている動作中診断項目の診断所要時間が、いずれかの起動時診断処理についての残り時間以下であれば、その動作中診断項目を、動作中診断処理に振り分けるのではなく、起動時診断処理に振り分ける構成としてもよい。
起動時診断処理S640は、例えば、起動時診断回数取得工程S641、起動時診断計画取得工程S642、診断項目繰り返し工程S643、診断工程S644、繰り返し判定工程S645、起動時診断回数更新工程S646を有する。
起動時診断部213は、CPU911を用いて、診断により故障を発見した場合、故障と判定して、起動時診断処理S640を終了する。
起動時診断部213は、CPU911を用いて、診断により故障を発見しなかった場合、繰り返し判定工程S645へ進む。
起動時診断部213は、CPU911を用いて、未処理の診断項目があると判定した場合、診断項目繰り返し工程S643に戻り、次の診断項目を選択する。
起動時診断部213は、CPU911を用いて、起動時診断計画取得工程S642で取得したすべての診断項目についての処理が終了したと判定した場合、起動時診断回数更新工程S646へ進む。
起動時診断実行部210は、CPU911を用いて、正常と判定して、起動時診断処理S640を終了する。
動作中診断項目確保処理S650は、例えば、動作中診断回数取得工程S651、動作中診断計画取得工程S652、診断項目繰り返し工程S653、診断項目確保工程S654、繰り返し判定工程S655を有する。
動作中診断項目確保部216は、CPU911を用いて、診断項目が確保しておく必要がある項目であると判定した場合、その診断項目の診断対象を確保する。
動作中診断項目確保部216は、CPU911を用いて、未処理の診断項目があると判定した場合、診断項目繰り返し工程S653に戻り、次の診断項目を選択する。
動作中診断項目確保部216は、CPU911を用いて、動作中診断計画取得工程S652で取得したすべての診断項目について、診断項目確保工程S654の処理が終了したと判定した場合、動作中診断項目確保処理S650を終了する。
動作中診断処理S690は、例えば、確保項目取得工程S691、診断項目繰り返し工程S692、診断工程S693、繰り返し判定工程S694、動作中診断回数更新工程S695を有する。
動作中診断部224は、CPU911を用いて、診断により故障を発見した場合、故障と判定して、動作中診断処理S690を終了する。
動作中診断部224は、CPU911を用いて、診断により故障を発見しなかった場合、繰り返し判定工程S694へ進む。
動作中診断部224は、CPU911を用いて、未処理の診断項目があると判定した場合、診断項目繰り返し工程S692に戻り、次の診断項目を選択する。
動作中診断部224は、CPU911を用いて、診断項目繰り返し工程S692で取得したすべての診断項目について、診断工程S693の処理が終了したと判定した場合、動作中診断回数更新工程S695へ進む。
動作中診断実行部220は、CPU911を用いて、正常と判定して、動作中診断処理S690を終了する。
上記診断項目記憶部111は、上記記憶装置(磁気ディスク装置920)を用いて、対象装置(組込み機器800)の故障を診断する複数の診断項目を記憶する。
上記診断計画作成部120は、上記処理装置(CPU911)を用いて、上記診断項目記憶部111が記憶した複数の診断項目のなかから一回の診断処理において診断する診断項目を抽出し、複数回の診断処理により、上記診断項目記憶部111が記憶した複数の診断項目について診断をする診断計画を作成する。
上記診断実行部200は、上記処理装置(CPU911)を用いて、上記対象装置(組込み機器800)が起動した場合に、上記診断計画作成部120が作成した診断計画に基づいて、一回の診断処理を実行する。
上記診断所要時間記憶部112は、上記記憶装置(磁気ディスク装置920)を用いて、上記診断項目記憶部111が記憶した複数の診断項目のそれぞれについて、診断にかかる所要時間(診断所要時間)を記憶する。
上記診断計画作成部120は、上記処理装置(CPU911)を用いて、上記診断所要時間記憶部112が記憶した所要時間(診断所要時間)に基づいて、一回の診断処理にかかる所要時間を算出し、算出した所要時間が所定の制限時間以内となる診断計画を作成する。
上記診断所要時間計測部150は、上記処理装置(CPU911)を用いて、上記診断項目記憶部111が記憶した複数の診断項目のそれぞれについて、上記診断実行部200が診断をするのに要した所要時間を計測する。
上記診断所要時間記憶部112は、上記記憶装置(磁気ディスク装置920)を用いて、上記診断所要時間計測部150が計測した所要時間を記憶する。
上記動作中診断可否記憶部114は、上記記憶装置(磁気ディスク装置920)を用いて、上記診断項目記憶部111が記憶した複数の診断項目のそれぞれについて、上記対象装置(組込み機器800)の動作中に診断できる項目であるか否かを表わす動作中診断可否フラグ(動作中診断可否)を記憶する。
上記診断計画作成部120は、上記処理装置(CPU911)を用いて、上記動作中診断可否記憶部114が記憶した動作中診断可否フラグに基づいて、上記診断項目記憶部111が記憶した複数の診断項目を、上記対象装置(組込み機器800)の動作中に診断できる動作中診断可能項目(動作中診断項目)と、上記対象装置(組込み機器800)の動作中に診断できない動作中診断不可項目(起動時診断項目)とに分類し、複数回の診断処理(動作中診断処理)により、分類した動作中診断不可項目について診断をする起動時診断計画と、複数回の診断処理(起動時診断処理)により、分類した動作中診断可能項目について診断をする動作中診断計画とを作成する。
上記診断実行部200は、上記処理装置(CPU911)を用いて、上記対象装置(組込み機器800)が起動した場合に、上記診断計画作成部120が作成した起動時診断計画に基づいて、一回の診断処理(起動時診断処理)を実行し、上記対象装置(組込み機器800)が動作中の場合に、上記診断計画作成部120が作成した動作中診断計画に基づいて、一回の診断処理(動作中診断処理)を実行する。
上記処理装置(CPU911)が、上記記憶装置(磁気ディスク装置920)が記憶した複数の診断項目のなかから一回の診断処理において診断する診断項目を抽出し、複数回の診断処理により、上記記憶装置(磁気ディスク装置920)が記憶した複数の診断項目について診断をする診断計画を作成する。
上記対象装置(組込み機器800)が起動した場合に、上記処理装置(CPU911)が、作成した診断計画に基づいて、一回の診断処理を実行する。
プログラムコードを格納するフラッシュメモリ930またはHDDドライブ(磁気ディスク装置920)と、プログラムやデータを格納することができるRAM914とCPU911とをバスで接続し、複数の周辺デバイス(メモリカード読取装置951、カメラ952など)や周辺メモリ(通信メモリ953)を保持した組込み機器800において、
フラッシュメモリ930、HDDドライブ、RAM914、周辺メモリなどを複数の診断対象に分けるメモリ分割部(診断項目記憶部111)と、
周辺機器も診断機能ごとに複数の部位に分ける機器分割部(診断項目記憶部111)と、
各診断機能毎に予め測定した正常に終了するまでの各部位ごとの単位診断処理時間を管理する単位診断処理時間管理部(診断所要時間記憶部112)と、
毎回の診断がほぼ同じ時間で終えることを保証するように診断機能を分割する診断機能分割部(診断計画作成部120)と、
部分的に毎起動ごとに診断を行う部分診断部(診断実行部200)と、
一定回数で全体を診断することを保障する診断計画部(診断計画作成部120)とからなる。
組込み機器800は、命令を実行するCPU911、プログラムコードを格納するフラッシュメモリ930(HDDがあれば存在しない構成でもよい)、揮発性のメモリのRAM914、フラッシュカードリードや制御機器などの周辺接続機器、周辺接続機器との通信用のメモリ、HDD(磁気ディスク装置920)(フラッシュメモリ930があれば存在しない構成でもよい)、温度計(温度センサ961)や衝撃センサ962などのセンサを有する。
まず、メモリの構成情報としてページの情報やフラッシュメモリならば消去ブロックの情報などを設定し、診断項目記憶部111が、磁気ディスク装置920を用いて、記憶する。
次に、診断対象とする周辺機器の情報などを出荷担当者が設定するか、設定情報を記載されたデータを読み込んで設定し、診断項目記憶部111が、磁気ディスク装置920を用いて、記憶する。
診断実行部200は、一度すべての機能の診断を行い、診断所要時間計測部150は、各診断ごとの単位時間を測定する。診断所要時間記憶部112は、測定結果を記録する。なお、診断所要時間記憶部112は、実測結果を記憶するのではなく、予め設定されたデータを読み込んで設定しても構わない。
診断計画作成部120は、予め設定された制限時間に診断が終わるような診断単位の時間の合計を計算した組を作成する。例えば、診断計画作成部120は、順番に時間を加えておき、制限時間を越えた場合には、最後に加えた対象を次のグループにするという処理を繰り返して診断対象がなくなるまでグルーピングを行う。あるいは、診断計画作成部120は、単位診断時間の大きい順にソーティングした上で、総診断時間を制限時間で割った数のグループに大きい順に割り当てるというような計算をしてグルーピングをする。診断計画作成部120は、作成したグループの実行順序などを適当に決めて診断計画とする。あるいは、診断計画作成部120は、毎回同一の時間で終了するような組み合わせを発見する程度で良い場合もある。なお、「適当に決める」とは、例えばグルーピングした際にグループにIDを順に付与しておき、その順に診断計画するという手法でもよい。
ユーザの要望が出荷時設定と変更があった場合は、診断計画作成部120が、診断対象のグループ数や診断計画を変更する。
組込み機器800が起動すると、すぐに診断処理に移る。起動時診断実行部210は、診断計画に基づき、今回の起動でするべき診断処理を抽出する。例えば、順番に診断する場合、前回に診断した部位の次が候補である。また、1日に1回という指定を行っている場合には、診断計画部が診断結果の報告状況に基づいて判断し、診断するべきところがなければ部位なしとする。あるいは、前回の診断からの時間で判断しても構わない。このように実行することによって、一定の起動回数で全部位の診断が可能になる。
診断が終了すると、起動時診断実行部210は、診断計画部に報告し、いつ実施したかのログを保存し、次の起動時に診断を実施するかしないかなどの判断のための情報とする。
また、組込み機器のソフトウエアやハードウェアのバージョンアップにより起動時間が変わった場合も、制限値を変更するだけで1回の診断量が変わり、制限起動時間までの起動を保障できるという点でも開発の効率化という効果がある。
実施の形態2について、図13〜図16を用いて説明する。
なお、実施の形態1で説明した組込み機器800と共通する部分については、同一の符号を付し、説明を省略する。
診断計画作成部120は、制限時間記憶部121、重要度記憶部231、起動時診断項目抽出部232、動作中診断項目抽出部233、重要度更新部234、起動時診断処理初期化部241、残り時間記憶部242、起動時診断処理選択部243、残り時間減算部244、完了判定部245を有する。
この実施の形態における動作中診断計画では、一回の動作中診断処理で複数の診断項目を診断するのではなく、一回の診断処理で一つの診断項目を診断する。動作中診断計画は、診断項目を診断する順序を定める。
例えば、重要度更新部234は、CPU911を用いて、入力した診断項目について、重要度記憶部231が記憶した診断重要度を「2」で割った商を算出し、更新後の診断重要度とする。
例えば、起動時診断処理選択部243は、CPU911を用いて、入力した診断項目について、診断項目データベース記憶部110が記憶した診断所要時間521を取得する。起動時診断処理選択部243は、CPU911を用いて、残り時間記憶部242が記憶した残り時間を取得する。起動時診断処理選択部243は、CPU911を用いて、取得した診断所要時間521と、残り時間とに基づいて、残り時間が診断所要時間521以上である起動時診断処理のなかから、入力した診断項目を振り分ける起動時診断処理を選択する。
選択できる起動時診断処理がない場合は、起動時診断処理初期化部241が、CPU911を用いて、新たな起動時診断処理を初期化し、起動時診断処理選択部243は、CPU911を用いて、起動時診断処理初期化部241が初期化した新たな起動時診断処理を選択する。
例えば、完了判定部245は、CPU911を用いて、あらかじめ、最も重要度が低い診断項目を抽出しておき、抽出しておいた診断項目を、診断計画記憶部190が記憶した場合に、すべての診断項目を少なくとも一回は実行する診断計画となったと判定する。
起動時診断実行部210は、起動時診断回数記憶部211、起動時診断計画取得部212、起動時診断部213、起動時診断回数更新部214を有する。
動作中診断実行部220は、診断済項目記憶部226、動作中診断計画取得部215、動作中診断項目確保部216、動作中診断部224、確保項目開放部222を有する。
実施の形態1と異なり、動作中診断計画取得部215、動作中診断項目確保部216は、起動時診断実行部210ではなく、動作中診断実行部220に含まれる。
起動時診断処理S640において、診断装置100は、CPU911を用いて、診断処理により故障を発見しなかった場合、動作処理S660へ進む。
動作中診断実行部220は、CPU911を用いて、動作中診断項目確保部216が診断対象の確保に成功した場合、動作中診断処理S690へ進む。
動作中診断実行部220は、CPU911を用いて、動作中診断項目確保部216が診断対象の確保に失敗した場合、繰り返し判定工程S659へ進む。
例えば、確保しようとした診断対象を、他のアプリケーションなどが使用中である場合、動作中診断項目確保部216は、その診断対象の確保に失敗する。
動作中診断計画取得部215は、CPU911を用いて、今回の診断を諦めると判定した場合、動作処理S660に戻る。
動作中診断計画取得部215は、CPU911を用いて、今回の診断を諦めないと判定した場合、動作中診断項目繰り返し工程S658に戻り、次の順番の診断項目を取得する。
例えば、動作中診断項目繰り返し工程S658で動作中診断計画取得部215がまだ診断していない診断項目をすべて取得した場合や、今回取得した診断項目の数が所定の数に達した場合に、動作中診断項目確保部216は、今回の診断を諦めると判定する。
診断済項目記憶部226は、磁気ディスク装置920を用いて、動作中診断部224が診断した診断項目が診断済みであることを表わす診断済フラグを記憶する。
動作中診断実行部220は、CPU911を用いて、確保項目開放処理S670で動作中診断部224が診断した結果、故障を発見しなかった場合、動作処理S660に戻る。
重要度記憶部231は、CPU911を用いて、診断項目データベース記憶部110が記憶した診断項目すべてについて、診断重要度531を取得し、RAM914を用いて、取得した診断重要度531を記憶する。
診断計画記憶部190は、磁気ディスク装置920を用いて、起動時診断計画として、起動時診断処理初期化部241が初期化した最初の起動時診断処理を記憶する。また、診断計画記憶部190は、磁気ディスク装置920を用いて、動作中診断計画として、動作中診断項目の順序を記憶する記憶領域を初期化する。
起動時診断処理選択部243は、CPU911を用いて、既に振り分け済であると判定した場合、繰り返し判定工程S727へ進む。
起動時診断処理選択部243は、CPU911を用いて、振り分け済でないと判定した場合、残り時間比較工程S726へ進む。
起動時診断処理選択部243は、CPU911を用いて、残り時間が診断所要時間以上である場合、起動時診断項目設定工程S729へ進む。
起動時診断処理選択部243は、CPU911を用いて、残り時間が診断処理時間より短い場合、繰り返し判定工程S727へ進む。
起動時診断処理選択部243は、CPU911を用いて、未処理の起動時診断処理があると判定した場合、診断処理繰り返し工程S724に戻り、次の起動時診断処理を選択する。
起動時診断処理選択部243は、CPU911を用いて、設定されている起動時診断処理すべてについて、残り時間比較工程S726の処理が終わったと判定した場合、新規診断処理追加工程S728へ進む。
起動時診断処理選択部243は、CPU911を用いて、起動時診断処理初期化部241が新しく初期化した起動時診断処理を選択する。
残り時間減算部244は、CPU911を用いて、診断処理繰り返し工程S724または新規診断処理追加工程S728で起動時診断処理選択部243が選択した起動時診断処理について、残り時間記憶部242が記憶した残り時間から、診断所要時間取得工程S723で起動時診断処理選択部243が取得した診断所要時間を差し引いた差を算出する。残り時間記憶部242は、RAM914を用いて、残り時間減算部244が算出した差を、診断処理繰り返し工程S724または新規診断処理追加工程S728で起動時診断処理選択部243が選択した起動時診断処理についての残り時間として記憶する。
いずれの起動時診断処理でも診断をすることとなっていない起動時診断項目がまだあると完了判定部245が判定した場合、診断計画作成部120は、CPU911を用いて、起動時診断項目抽出工程S722に戻り、次の起動時診断項目を抽出する。
すべての起動時診断項目が、いずれかの起動時診断処理で、少なくとも一回は診断をする起動時診断計画であると完了判定部245が判定した場合、診断計画作成部120は、CPU911を用いて、動作中診断項目抽出工程S732へ進む。
記憶した動作中診断計画が示す診断の順序の最後に追加する。診断計画記憶部190は、磁気ディスク装置920を用いて、動作中診断項目抽出工程S732で動作中診断項目抽出部233が抽出した動作中診断項目を追加した動作中診断計画を記憶する。
一回も診断をすることとなっていない動作中診断項目がまだあると完了判定部245が判定した場合、診断計画作成部120は、CPU911を用いて、動作中診断項目抽出工程S732に戻り、次の動作中診断項目を抽出する。
すべての動作中診断項目が、少なくとも一回は診断をする動作中診断計画であると完了判定部245が判定した場合、診断計画作成部120は、CPU911を用いて、診断計画作成処理S630を終了する。
上記診断重要度記憶部113は、上記記憶装置(磁気ディスク装置920)を用いて、上記診断項目記憶部111が記憶した複数の診断項目のそれぞれについて、診断の重要性を表わす診断重要度を記憶する。
上記診断計画作成部120は、上記処理装置(CPU911)を用いて、上記診断重要度記憶部113が記憶した診断重要度に基づいて、診断重要度が高い診断項目ほど高い頻度で診断をする診断計画を作成する。
プログラムコードを格納するフラッシュメモリ930またはHDDドライブ(磁気ディスク装置920)と、プログラムやデータを格納することができるRAM914とCPU911とをバスで接続し、複数の周辺デバイス(メモリカード読取装置951、カメラ952など)や周辺メモリ(通信メモリ953)を保持した組込み機器800において、
フラッシュメモリ930、HDDドライブ、RAM914、周辺メモリなどを複数の診断対象に分けるメモリ分割部(診断項目記憶部111)と、
周辺機器も診断機能ごとに複数の部位に分ける機器分割部(診断項目記憶部111)と、
分割された診断機能が起動時にのみ実行可能なのか運用時に実行可能かを示す情報(動作中診断可否541)に基づいて、起動時実行グループと実行時実行グループとに分割するグループ分割部(診断項目振り分け部124)と、
各診断機能毎に予め測定した正常に終了するまでの各部位ごとの単位診断処理時間を管理する単位診断処理時間管理部(診断所要時間記憶部112)と、
毎回の診断がほぼ同じ時間で終えることを保証するように診断機能を分割する診断機能分割部(診断計画作成部120)と、
部分的に毎起動ごとに起動時に行える診断対象に対して診断を行う部分診断部(起動時診断実行部210)と、
動作中にも他のプロセスに影響を与えずに実行時診断を行う動作中部分診断部(動作中診断実行部220)と、
一定回数で全体を診断することを保障する診断計画部(診断計画作成部120)とからなる。
動作中診断実行部220は、結果を報告し、次の診断候補を抽出して、処理を繰り返す。
実施の形態3について、図17〜図19を用いて説明する。
なお、実施の形態2で説明した組込み機器800と共通する部分については、同一の符号を付し、説明を省略する。
診断装置100は、実施の形態1で説明した機能ブロックに加えて、更に、診断対象利用率計測部155を有する。
例えば、診断対象利用率計測部155は、CPU911を用いて、診断対象が利用されるたびに、利用回数を計数し、所定の期間内に診断対象が利用された利用回数に基づいて、利用率を算出する。
逆に、利用者が毎回必ず利用する機能を実現する診断対象については、その診断対象の故障が致命的なものでなくても、その利用者にとっては、故障を診断する重要性が高いといえる。診断項目データベース記憶部110は、CPU911を用いて、利用率が高い診断対象についての診断項目について、診断重要度531を高くする。
このように、利用率とは無関係に診断重要度531を設定する診断対象について利用率を計測する必要がないので、診断対象利用率計測部155が、利用率を計測しない構成であってもよい。
診断計画作成部120は、例えば、、優先度記憶部251、起動時診断項目抽出部232、動作中診断項目抽出部233、優先度更新部254、診断間隔記憶部255、診断間隔更新部256、診断間隔加算部257、重要度加算部258、故障可能性加算部259、制限時間記憶部121、起動時診断処理初期化部241、残り時間記憶部242、起動時診断処理選択部243、残り時間減算部244、完了判定部245を有する。
例えば、優先度更新部254は、CPU911を用いて、入力した診断項目について優先度記憶部251が記憶した優先度を入力し、入力した優先度から所定の値を減算して、更新後の優先度とする。
これにより、その診断項目について診断をする診断計画が作成された診断項目の優先度が低くなる。
例えば、診断間隔更新部256は、CPU911を用いて、入力した診断項目について、診断間隔更新部256が記憶した診断間隔を「0」にし、それ以外の診断項目について、診断間隔更新部256が記憶した診断間隔に「1」を加える。
例えば、診断間隔加算部257は、CPU911を用いて、それぞれの診断項目について、診断間隔記憶部255が記憶した診断間隔を入力し、入力した診断間隔と、所定の閾値とを比較する。診断間隔加算部257は、CPU911を用いて、診断間隔が所定の閾値よりも大きい場合に、その診断項目について、優先度記憶部251が記憶した優先度を入力し、入力した優先度に所定の値を加算して、更新後の優先度とする。
これにより、所定の間隔より長い間、診断されていない診断項目の優先度が高くなる。
例えば、重要度加算部258は、CPU911を用いて、診断項目データベース記憶部110が記憶した診断項目それぞれについて、診断重要度531を入力する。重要度加算部258は、CPU911を用いて、その診断項目について、優先度記憶部251が記憶した優先度を入力する。重要度加算部258は、CPU911を用いて、入力した優先度に、入力した診断重要度531を加算して、更新後の優先度とする。
これにより、重要度が高い診断項目の優先度は、重要度が低い診断項目の優先度よりも速い速度で高くなる。
例えば、故障可能性加算部259は、CPU911を用いて、診断項目データベース記憶部110が記憶した診断項目それぞれについて、故障発生可能性を入力する。故障可能性加算部259は、CPU911を用いて、その診断項目について、優先度記憶部251が記憶した優先度を入力する。故障可能性加算部259は、CPU911を用いて、入力した優先度に、入力した故障発生可能性を加算して、更新後の優先度とする。
これにより、異常状況が発生した場合に、故障発生の可能性が高くなった診断項目の優先度が高くなる。
この実施の形態における完了判定部245は、実施の形態2と異なり、ある程度のところまで診断計画が作成できたら、作成が完了したと判定する。
例えば、完了判定部245は、CPU911を用いて、次回実行すべき起動時診断処理について残り時間記憶部242が記憶した残り時間が、所定の閾値よりも短くなった場合、起動時診断計画の作成が完了したと判定する。
また、完了判定部245は、CPU911を用いて、動作中診断計画として診断を実行する順序を定めた動作中診断項目の数が、所定の数以上になった場合に、動作中診断計画の作成が完了したと判定する。
あるいは、完了判定部245は、CPU911を用いて、優先度記憶部251が記憶した優先度が所定の閾値以上の診断項目がなくなった場合に、診断計画の作成が完了したと判定する構成としてもよい。
実施の形態2と比較して、診断計画作成処理S740がある点が異なる。
診断計画記憶部190は、磁気ディスク装置920を用いて、診断計画作成部120が作成した診断計画を記憶する。
上記異常状況判定部140は、上記処理装置(CPU911)を用いて、上記対象装置(組込み機器800)が故障しやすくなる異常状況が発生したか否かを判定する。
上記故障発生可能性記憶部115は、上記記憶装置(磁気ディスク装置920)を用いて、上記診断項目記憶部111が記憶した複数の診断項目のそれぞれについて、上記異常状況判定部140が判定する異常状況が発生した場合に上記対象装置(組込み機器800)が故障する可能性を表わす故障発生可能性551,552を記憶する。
上記診断計画作成部120は、上記処理装置(CPU911)を用いて、異常状況が発生したと上記異常状況判定部140が判定した場合に、上記故障発生可能性記憶部115が記憶した故障発生可能性に基づいて、故障する可能性の高い診断項目ほど優先して診断をする診断計画を作成する。
例えば、メモリや外部装置へのアクセスの頻度をとっておき、利用頻度の高かったメモリ部位や利用頻度の高かった装置を中心に重みをつけて、診断計画を作成する。
あるいは、診断実行部200が診断計画から診断項目を抽出する際に、アクセス履歴を利用して利用率の高いものに重みをつけて選択する構成としても良い。
例えば、温度計や衝撃センサなどで異常な高温や衝撃を受けたと判断できるような情報がある場合は、関連する部位(例えば温度であればCPU、衝撃であればHDD)を優先的に診断対象とする診断計画を作成する。
あるいは、診断実行部200が診断計画から診断項目を抽出する際に、外部のセンサーの情報を利用して異常状態があった場合に関連する部位の診断の優先度を高くする構成としても良い。
実施の形態4について、図20を用いて説明する。
なお、実施の形態3で説明した組込み機器800と共通する部分については、同一の符号を付し、説明を省略する。
診断計画作成部120は、実施の形態3で説明した機能ブロックに加えて、制限時間緩和部261を有する。
例えば、制限時間緩和部261は、CPU911を用いて、制限時間記憶部121が記憶した制限時間を入力し、入力した制限時間を「1.25」倍して、緩和した制限時間とする。
これにより、異常状況が発生した場合は、通常時よりも、少ない所要回数(以下「異常時診断回数」と呼ぶ。)で、すべての診断項目についての診断をすることができる。
例えば、診断計画作成部120は、CPU911を用いて、すべての診断項目について少なくとも一回は診断をする診断計画を作成し、その診断計画における診断所要回数を算出する。制限時間緩和部261は、CPU911を用いて、制限時間記憶部121が記憶した制限時間と、算出した診断所要回数との積を算出し、算出した積を、所定の異常時診断回数で割った商を算出し、算出した商を、緩和した制限時間とする。
これにより、異常状況が発生した場合は、あらかじめ定めた異常時診断回数で、すべての診断項目についての診断をすることができる。
例えば、制限時間緩和部261は、CPU911を用いて、制限時間記憶部121が記憶した制限時間を入力し、入力した制限時間を「0.8」倍して、元に戻した制限時間とする。
制限時間緩和部261は、CPU911を用いて、制限時間記憶部121が記憶した制限時間を緩和して以降における組込み機器800の起動回数を計数することにより、起動時診断処理の実行回数を算出する。制限時間緩和部261は、算出した実行回数に基づいて、すべての診断項目についての診断を終えるに十分な回数の起動時診断処理を実行した場合に、組込み機器800が故障していないことが確認できたと判定する。
上記異常状況判定部140は、、上記処理装置(CPU911)を用いて、上記対象装置(組込み機器800)が故障しやすくなる異常状況が発生したか否かを判定する。
上記診断計画作成部120は、上記処理装置(CPU911)を用いて、異常状況が発生したと上記異常状況判定部140が判定した場合に、所定の異常時診断回数の診断処理により、上記診断項目記憶部111が記憶した複数の診断項目について診断をする診断計画を作成し、異常状況が発生していないと上記異常状況判定部140が判定した場合に、上記所定の異常時診断回数よりも多い回数の診断処理により、上記診断項目記憶部111が記憶した複数の診断項目について診断をする診断計画を作成する。
Claims (11)
- 診断対象である1つまたは複数の対象装置に対する複数の診断項目が記憶された記憶装置と、
上記複数の診断項目を複数回の診断処理に振り分け、これらの診断処理のうちの一回の診断処理が実行され他の回の診断処理が省略される処理が上記対象装置の起動時に実行され上記対象装置の起動が繰り返されることによって上記複数回の診断処理が網羅される診断計画を、上記複数の診断項目の診断にかかる所要時間に基づいて作成する診断計画作成部と、
上記対象装置の起動時に、上記診断計画作成部が作成した診断計画に基づいて、上記複数回の診断処理のなかの一回の診断処理を実行する診断実行部と、
を備えたことを特徴とする診断装置。 - 上記診断計画作成部は、上記所要時間の増加に従って上記診断処理の回数が増加するように上記所要時間に基づいて上記診断処理の回数を決定し、この決定した回数に基づき上記複数の診断項目を振り分けることにより上記診断計画を作成することを特徴とする請求項1に記載の診断装置。
- 上記診断計画作成部は、上記対象装置の起動時において上記対象装置を診断するための診断計画が作成されているか否かを判定し、まだ作成されていない場合に、上記複数の診断項目のそれぞれの診断にかかる所要時間に基づいて、一回あたりの処理時間が予め定められた制限時間以内となるように、上記複数の診断項目を複数回の診断処理に振り分けて上記診断計画を作成することを特徴とする請求項1に記載の診断装置。
- 上記複数の診断項目のそれぞれについて、上記診断実行部が診断をするのに要した上記所要時間を計測する診断所要時間計測部を備え、
上記記憶装置が、上記診断所要時間計測部が計測した上記所要時間を記憶することを特徴とする請求項3に記載の診断装置。 - 上記記憶装置は、上記複数の診断項目のそれぞれについて、上記対象装置の動作中に診断できる項目であるか否かを表わす動作中診断可否フラグを記憶し、
上記診断計画作成部は、上記動作中診断可否フラグに基づいて、上記複数の診断項目を、上記対象装置の動作中に診断できる動作中診断可能項目と上記対象装置の動作中に診断できない動作中診断不可項目とに分類し、上記診断計画として上記動作中診断不可項目の診断を起動時に実行する起動時診断計画を作成するとともに、起動終了後の動作中に実行する動作中診断計画として上記動作中診断可能項目を複数回の動作中の診断処理に分けて診断する診断計画を作成し、
上記診断実行部は、上記対象装置が動作中の場合に、上記動作中診断計画に基づいて、上記複数回の動作中の診断処理のなかの一回の診断処理を実行することを特徴とする請求項1乃至請求項4のいずれかに記載の診断装置。 - 上記診断実行部は、上記対象装置がアイドル状態となった場合に、上記診断計画作成部が作成した上記動作中診断計画に基づいて、複数回に分けられた上記動作中の診断処理のうちの一回の診断処理を実行することを特徴とする請求項5に記載の診断装置。
- 上記複数の診断項目のそれぞれについて、診断の重要性を表わす診断重要度が上記記憶装置に記憶され、
上記診断計画作成部は、上記診断重要度に基づいて、上記診断重要度が高い診断項目ほど高い頻度で診断を行う診断計画を作成することを特徴とする請求項1乃至請求項6のいずれかに記載の診断装置。 - 上記対象装置が故障しやすくなる異常状況が発生したか否かを判定する異常状況判定部を備え、
上記診断計画作成部は、異常状況が発生したと上記異常状況判定部が判定した場合に、異常状況が発生していないと上記異常状況判定部が判定した場合よりも少ない回数の診断処理により、上記複数の診断項目について診断をする診断計画を作成することを特徴とする請求項1乃至請求項7のいずれかに記載の診断装置。 - 上記対象装置が故障しやすくなる異常状況が発生したか否かを判定する異常状況判定部を備え、
上記記憶装置は、上記複数の診断項目のそれぞれについて、上記異常状況判定部が判定する異常状況が発生した場合に上記対象装置が故障する可能性を表わす故障発生可能性を記憶し、
上記診断計画作成部は、異常状況が発生したと上記異常状況判定部が判定した場合に、上記記憶装置に記憶された上記故障発生可能性に基づいて、故障する可能性の高い診断項目ほど優先して診断をする診断計画を作成することを特徴とする請求項1乃至請求項7のいずれかに記載の診断装置。 - 診断対象である対象装置の故障を診断するコンピュータに、
上記コンピュータの記憶装置に記憶された複数の診断項目を複数回の診断処理に振り分け、これらの診断処理のうちの一回の診断処理が実行され他の回の診断処理が省略される処理が上記対象装置の起動時に実行され上記対象装置の起動が繰り返されることによって上記複数回の診断処理が網羅される診断計画を、上記複数の診断項目の診断にかかる所要時間に基づいて作成するステップと、
上記対象装置が起動したときに、上記診断計画に基づいて上記複数回の診断処理のなかの一回の診断処理を実行するステップと、を実行させるコンピュータプログラム。 - コンピュータが診断対象である対象装置に対する複数の診断項目を複数回の診断処理に振り分け、これらの診断処理のうちの一回の診断処理が実行され他の回の診断処理が省略される処理が上記対象装置の起動時に実行され上記対象装置の起動が繰り返されることによって上記複数回の診断処理が網羅される診断計画を、上記複数の診断項目の診断にかかる所要時間に基づいて作成するステップと、
上記コンピュータが、上記対象装置が起動したときに、上記診断計画に基づいて上記複数回の診断処理のなかの一回の診断処理を実行するステップと、を備えた診断方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008294340A JP5355049B2 (ja) | 2008-11-18 | 2008-11-18 | 診断装置及びコンピュータプログラム及び診断方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008294340A JP5355049B2 (ja) | 2008-11-18 | 2008-11-18 | 診断装置及びコンピュータプログラム及び診断方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010122790A JP2010122790A (ja) | 2010-06-03 |
JP5355049B2 true JP5355049B2 (ja) | 2013-11-27 |
Family
ID=42324095
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008294340A Expired - Fee Related JP5355049B2 (ja) | 2008-11-18 | 2008-11-18 | 診断装置及びコンピュータプログラム及び診断方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5355049B2 (ja) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5617419B2 (ja) * | 2010-08-06 | 2014-11-05 | アイシン・エィ・ダブリュ株式会社 | ナビゲーション装置、診断方法および診断プログラム |
JP5617420B2 (ja) * | 2010-08-06 | 2014-11-05 | アイシン・エィ・ダブリュ株式会社 | ナビゲーション装置、診断方法および診断プログラム |
US8744604B2 (en) * | 2012-05-09 | 2014-06-03 | Fisher Controls International Llc | Method and apparatus for configuring a blackout period for scheduled diagnostic checks of a field device in a process plant |
JP5994652B2 (ja) * | 2013-01-21 | 2016-09-21 | マツダ株式会社 | 車両用電源制御装置 |
WO2015015621A1 (ja) * | 2013-08-01 | 2015-02-05 | 富士通株式会社 | 情報処理装置、診断方法、診断プログラム、及び情報処理システム |
US10055273B2 (en) | 2013-12-24 | 2018-08-21 | Huawei Device (Dongguan) Co., Ltd. | Method for checking whether hardware of intelligent terminal runs abnormally and intelligent terminal |
JP6295113B2 (ja) | 2014-03-17 | 2018-03-14 | ルネサスエレクトロニクス株式会社 | 自己診断装置及び自己診断方法 |
JP6172040B2 (ja) * | 2014-05-09 | 2017-08-02 | 株式会社デンソー | 電子制御装置 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6111855A (ja) * | 1984-06-28 | 1986-01-20 | Mitsubishi Electric Corp | デ−タ処理装置の機能診断方式 |
JPS6353653A (ja) * | 1986-08-22 | 1988-03-07 | Nec Corp | 試験プログラム用スケジユ−ラ |
JPH06149612A (ja) * | 1992-11-10 | 1994-05-31 | Fujitsu Ltd | 診断テスト方式 |
JP2959383B2 (ja) * | 1994-02-15 | 1999-10-06 | 日本電気株式会社 | 情報処理装置の自己診断方式 |
JPH08129495A (ja) * | 1994-11-01 | 1996-05-21 | Toshiba Corp | コンピュータシステム及びそのセルフテスト方法 |
JP2000069122A (ja) * | 1998-08-26 | 2000-03-03 | Nippon Telegr & Teleph Corp <Ntt> | 故障箇所特定化方法及び故障箇所特定化プログラムを記録した媒体 |
-
2008
- 2008-11-18 JP JP2008294340A patent/JP5355049B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2010122790A (ja) | 2010-06-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5355049B2 (ja) | 診断装置及びコンピュータプログラム及び診断方法 | |
US7703072B2 (en) | Component-based application constructing method | |
US8423718B2 (en) | Low-overhead run-time memory leak detection and recovery | |
US8024609B2 (en) | Failure analysis based on time-varying failure rates | |
US8555111B2 (en) | Method and apparatus for offline diagnosis based on prioriyu level setting | |
JP2007157131A (ja) | ガベージ・コレクション対応の仮想マシンにおいて、将来のメモリ不足例外を自動予測する方法、コンピュータ読み取り可能な媒体、及びコンピューティング・デバイス | |
WO2013069138A1 (ja) | 稼働情報予測計算機、稼働情報予測方法及びプログラム | |
JP2010086364A (ja) | 情報処理装置、動作状態監視装置および方法 | |
US8245085B2 (en) | Dump output control apparatus and dump output control method | |
US11822419B2 (en) | Error information processing method and device, and storage medium | |
US8214693B2 (en) | Damaged software system detection | |
JP2021502663A (ja) | ハードディスクドライブの寿命予測 | |
JP6880961B2 (ja) | 情報処理装置、およびログ記録方法 | |
EP3121724A1 (en) | Method for monitoring a software program and corresponding electronic device, communication system, computer readable program product and computer readable storage medium | |
CN112133357A (zh) | 一种eMMC的测试方法及装置 | |
JP2020129275A (ja) | 情報処理装置、方法、およびプログラム | |
JP2010165007A (ja) | 情報処理装置 | |
JP5696492B2 (ja) | 故障検出装置、故障検出方法、及び、故障検出プログラム | |
CN112527343A (zh) | 固件更新方法、装置、计算机设备和存储介质 | |
CN114253825A (zh) | 内存泄漏检测方法、装置、计算机设备和存储介质 | |
JP2015130023A (ja) | 情報記録装置、情報処理装置、情報記録方法、及び情報記録プログラム | |
TWI750783B (zh) | 基本輸入輸出系統的復原系統及方法 | |
JP7368552B1 (ja) | 情報処理装置、及び制御方法 | |
JP2019168845A (ja) | 情報処理装置とその制御方法 | |
US8614799B2 (en) | Memory paging |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20110902 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20121207 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130308 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130312 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130426 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130528 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130705 |
|
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: 20130730 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130827 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5355049 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |