JP5355049B2 - 診断装置及びコンピュータプログラム及び診断方法 - Google Patents

診断装置及びコンピュータプログラム及び診断方法 Download PDF

Info

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
Application number
JP2008294340A
Other languages
English (en)
Other versions
JP2010122790A (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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2008294340A priority Critical patent/JP5355049B2/ja
Publication of JP2010122790A publication Critical patent/JP2010122790A/ja
Application granted granted Critical
Publication of JP5355049B2 publication Critical patent/JP5355049B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Test And Diagnosis Of Digital Computers (AREA)

Description

この発明は、組込み機器などの装置に内蔵され、内蔵された装置の故障を診断する診断装置に関する。
カーナビゲーション端末、ポータブルナビゲーション端末、携帯電話、ライフログ端末、デジカメ、ビデオレコーダなど、組み込み型の小型のコストを抑えた情報処理機器や、ウエアラブル端末などの装置は、暴走、異常な動作、ユーザの大事なデータの破壊などを防ぐため、起動時に診断を行う。
一方、これらの装置は、一般ユーザが電源を入れたら待つことなくすぐにでも使いたいという要望がある。
特開平9−62534号公報 特開2000−276315号公報 特開平5−120157号公報 特開2000−231310号公報
起動時に診断を行わなければ、起動を速くすることができるが、安全性が確保できないという課題がある。
装置がアイドル状態となった場合など装置の動作中に診断を行う方式も考えられるが、装置の動作中には診断できない部分がある場合は、やはり、安全性が確保できないという課題がある。
この発明は、例えば上記のような課題を解決するためになされたものであり、対象装置の起動にかかる時間を短くしつつ、診断が必要な項目についての診断を実行し、対象装置を安全に使用できるようにすることを目的とする。
この発明にかかる診断装置は、
診断対象である1つまたは複数の対象装置に対する複数の診断項目記憶された記憶装置と、
上記複数の診断項目を複数回の診断処理に振り分け、これらの診断処理のうちの一回の診断処理が実行され他の回の診断処理が省略される処理が上記対象装置の起動時に実行され上記対象装置の起動が繰り返されることによって上記複数回の診断処理を網羅するように計画された診断計画を、上記複数の診断項目の診断にかかる所要時間に基づいて作成する診断計画作成部と、
記対象装置起動時に、上記診断計画作成部が作成した診断計画に基づいて、上記複数回の診断処理のなかの一回の診断処理を実行する診断実行部と、
を備えたことを特徴とする。
この発明にかかる診断装置によれば、対象装置が起動したとき、診断すべき複数の診断項目のなかから診断計画作成部が抽出した診断項目について診断をするので、起動時の待ち時間を短くすることができる。また、診断計画作成部が、複数回の診断処理で、診断すべき複数の診断項目を診断する診断計画を作成するので、故障を見逃すことなく、対象装置を安全に使用することができる。
実施の形態1.
実施の形態1について、図1〜図12を用いて説明する。
図1は、この実施の形態における組込み機器800のハードウェア構成の一例を示すハードウェア構成図である。
組込み機器800は、例えば、CPU911、表示装置901、入力装置902、RAM914、スピーカ908、磁気ディスク装置920、フラッシュメモリ930、メモリカード読取装置951、カメラ952、通信メモリ953、温度センサ961、衝撃センサ962などを有する。組込み機器800は、コンピュータの一種である。
RAM914(Random Access Memory)・磁気ディスク装置920・フラッシュメモリ930は、CPU911が実行するプログラムや、CPU911が処理するデータなどを記憶する記憶装置である。RAM914は、揮発性の記憶装置であり、磁気ディスク装置920やフラッシュメモリ930は、不揮発性の記憶装置である。
CPU911は、RAM914・磁気ディスク装置920・フラッシュメモリ930などの記憶装置が記憶したプログラムを実行することにより、RAM914・磁気ディスク装置920・フラッシュメモリ930などの記憶装置が記憶したデータを処理する処理装置である。
入力装置902は、例えばキーボードやボタンなど、データを入力する装置である。
表示装置901は、例えばLCD(Liquid Crystal Display)など、文字や図形などを表示することにより、利用者に対して、データを視覚的に出力する装置である。
スピーカ908は、音声などを出力することにより、利用者に対して、データを聴覚的に出力する装置である。
メモリカード読取装置951は、メモリカード810からデータを読み取ったり、メモリカード810にデータを書き込んだりする装置である。
カメラ952は、静止画や動画などの画像や映像を撮影する装置である。
通信メモリ953は、カメラ952が撮影した画像や映像を表わすデータを一時的に記憶しておくための記憶装置である。CPU911は、通信メモリ953が記憶したデータを読み出すことにより、カメラ952が撮影した画像や映像を取得する。
温度センサ961は、CPU911・磁気ディスク装置920・組込み機器800の周辺などの温度を測定する測定装置である。
衝撃センサ962は、組込み機器800に加えられた衝撃を測定する測定装置である。
なお、組込み機器800が動作していない間の温度や衝撃も測定し、最高温度や最大衝撃を記憶しておく機能を有する温度センサ961・衝撃センサ962であれば、更に望ましい。
図2は、この実施の形態における組込み機器800のソフトウェアの階層構成の一例を示すソフトウェア階層図である。
磁気ディスク装置920などの記憶装置は、OS921、ミドルウェア922、アプリケーション923〜925などのプログラムを記憶している。
OS921(Operating Sytem)は、図1で説明したハードウェア上で動作するプログラムである。
ミドルウェア922は、OS921上で動作するプログラムである。
アプリケーション923〜925は、ミドルウェア922上で動作するプログラムである。
この例において、診断装置100は、ソフトウェア的に実現される。すなわち、磁気ディスク装置920などの記憶装置が記憶したプログラムをCPU911が実行することにより、組込み機器800が診断装置100として機能する。なお、診断装置100は、ハードウェア的に実現されるものであってもよいし、診断装置100の機能のうちの一部分をハードウェア的に実現し、他の部分をソフトウェア的に実現するものであってもよい。
診断装置100は、起動時診断実行部210、動作中診断実行部220を有する。
起動時診断実行部210は、組込み機器800の起動時に自己診断を実行し、組込み機器800が故障しているか否かを判定する。起動時診断実行部210が自己診断を実行して、組込み機器800が故障していないと判定した場合、CPU911はOS921を起動し、組込み機器800の本来の動作を実行する。起動時診断実行部210は、OS921起動前に自己診断を実行するので、OS921の機能に頼らずに動作する。これにより、起動時診断実行部210は、OS921が動作中には診断できない部分の診断をすることができる。
動作中診断実行部220は、組込み機器800の動作中に自己診断を実行し、組込み機器800が故障しているか否かを判定する。動作中診断実行部220は、OS921起動後に自己診断を実行するので、OS921あるいはミドルウェア922が提供する機能を利用することができるが、OS921やミドルウェア922が動作中でも診断できる部分の診断しかすることができない。
図3は、この実施の形態における診断装置100の機能ブロックの構成の一例を示すブロック構成図である。
診断装置100は、診断項目データベース記憶部110、診断計画作成部120、制限時間入力部130、異常状況判定部140、診断所要時間計測部150、診断結果記憶部160、診断結果出力部170、診断計画記憶部190、診断実行部200を有する。
上述した起動時診断実行部210及び動作中診断実行部220は、診断実行部200の一部である。
診断項目データベース記憶部110は、磁気ディスク装置920を用いて、診断項目に関する情報を記憶する。
診断項目とは、組込み機器800を構成するハードウェアごとに分け、更に、それぞれのハードウェアについて、その機能などによって分けた項目であって、それぞれ単独で試験をするなどして、故障しているか否かを診断することができる単位のことである。診断項目は、後述する診断計画作成の自由度を高くするため、なるべく細分化されているほうがよい。例えば、フラッシュメモリ930を診断対象とする診断項目であれば、全記憶領域を一つの診断項目とするのではなく、読み出し・書き込みの診断であればページごと、消去の診断であればブロックごとに分割した診断項目とするほうが望ましい。
なお、磁気ディスク装置920が故障した場合に備えて、診断項目データベース記憶部110は、磁気ディスク装置920を用いて記憶したのと同じ情報を、フラッシュメモリ930など他の記憶装置を用いて記憶する構成としてもよい。後述する診断計画記憶部190、診断結果記憶部160なども同様である。
制限時間入力部130は、入力装置902を用いて、利用者が指定する制限時間を入力する。制限時間入力部130は、CPU911を用いて、入力した制限時間を出力する。
制限時間とは、一回の診断処理に許容する最大時間のことである。例えば、組込み機器800の起動時に行う診断は、組込み機器800を起動後すぐに利用したいという利用者のニーズに鑑みれば、できるかぎり短い時間で行うほうがよい。そのため、起動時の診断処理にかかる時間の制限を設け、制限時間内に診断を終え、組込み機器800が利用可能になるようにする。
また、動作中に行う診断は、通常、組込み機器800がアイドル状態になったときに実行する。診断処理の実行中に、利用者が組込み機器800を利用しようとした場合、診断処理が終了してから、通常の動作に復帰するとすると、最大で、動作中の診断処理にかかる時間だけ、利用者を待たせることになる。そのため、動作中の診断処理にかかる時間にも制限を設け、利用者の待ち時間が、最大でも制限時間内に収まるようにする。なお、起動時における診断処理の制限時間(以下「起動時制限時間」と呼ぶ。)と、動作中における診断処理の制限時間(以下「動作中制限時間」と呼ぶ。)とは、異なっていてもよい。
なお、組込み機器800が、動作中における診断処理の実行中に、利用者が組込み機器800を利用しようとした場合、診断処理を中断して通常の動作に復帰する構成である場合などは、動作中制限時間を設けなくともよい。
異常状況判定部140は、CPU911を用いて、温度センサ961や衝撃センサ962が測定した温度や衝撃に基づいて、組込み機器800の故障の原因となるような異常状況が発生したか否かを判定する。異常状況判定部140は、CPU911を用いて、判定した判定結果を出力する。
例えば、組込み機器800が強い衝撃を受けた場合には、磁気ディスク装置920が故障する可能性が高くなる。
なお、温度や衝撃は、組込み機器800が故障しやすくなる状況を判定するための基礎となる情報の一例であり、組込み機器800が、他の情報を測定するセンサを備え、異常状況判定部140が、その情報に基づいて、異常状況が発生したか否かを判定する構成であってもよい。
診断計画作成部120は、CPU911を用いて、診断項目データベース記憶部110が記憶した診断項目に関する情報に基づいて、診断計画を作成する。診断計画作成部120は、CPU911を用いて、作成した診断計画を出力する。
診断計画とは、起動時あるいは動作中の診断処理において、どの診断項目をどのような順序で診断するかを定めたものである。診断計画作成部120は、CPU911を用いて、制限時間入力部130が出力した制限時間を入力し、入力した制限時間に基づいて、一回の診断処理にかかる時間が制限時間を超えないように、診断計画を作成する。すべての診断項目について診断するのにかかる時間が制限時間を超える場合、診断計画作成部120は、一回の診断処理では一部の診断項目についての診断を実行し、複数回の診断処理で、すべての診断項目についての診断を終えるよう、診断計画を作成する。
また、診断計画作成部120は、CPU911を用いて、異常状況判定部140が出力した判定結果を入力し、入力した判定結果に基づいて、異常状況が発生した場合、その異常状況によって故障しやすくなった部分についての診断を、他の診断より優先して行うよう、診断計画を作成する。
診断計画記憶部190は、CPU911を用いて、診断計画作成部120が出力した診断計画を入力する。診断計画記憶部190は、磁気ディスク装置920を用いて、入力した診断計画を記憶する。
診断実行部200は、CPU911を用いて、診断計画記憶部190が記憶した診断計画を入力する。診断実行部200は、CPU911を用いて、入力した診断計画に基づいて、診断処理を実行する。起動時診断実行部210は、CPU911を用いて、起動時における診断処理を実行し、動作中診断実行部220は、CPU911を用いて、動作中における診断処理を実行する。診断実行部200は、CPU911を用いて、診断した診断結果を出力する。
診断所要時間計測部150は、CPU911を用いて、診断実行部200が実行した診断処理において診断した診断項目それぞれについて、診断にかかった時間(以下「診断所要時間」と呼ぶ。)を計測する。診断所要時間計測部150は、CPU911を用いて、計測した診断所要時間を出力する。診断所要時間計測部150が出力した診断所要時間は、診断項目データベース記憶部110が入力し、記憶した診断項目に関する情報の更新に利用する。
診断結果記憶部160は、CPU911を用いて、診断実行部200が出力した診断結果を入力する。診断結果記憶部160は、磁気ディスク装置920を用いて、入力した診断結果を記憶する。
診断結果出力部170は、CPU911を用いて、診断結果記憶部160が記憶した診断結果を入力する。診断結果出力部170は、表示装置901やスピーカ908を用いて、入力した診断結果に基づいて、利用者に知らせるべき情報を出力する。
利用者に知らせるべき情報には、例えば、「故障のため、組込み機器800を起動できない」旨、「故障のため、組込み機器800の動作を停止する」旨、「故障があり、特定の機能が利用できない」旨、「故障があり、特に利用できない機能はないが、注意が必要である」旨など、故障箇所や故障の深刻度に応じた情報がある。診断結果出力部170は、CPU911を用いて、入力した診断結果に基づいて、利用者に知らせるべき情報を生成し、生成した情報を、表示装置901を用いて表示したり、スピーカ908を用いて音声案内として出力したりする。
図4は、この実施の形態における診断項目データベース記憶部110が記憶する診断項目に関する情報の一例を示す図である。
診断項目データベース記憶部110は、例えば、一つの診断項目について、診断対象511、診断内容512、診断所要時間521、診断重要度531、動作中診断可否541、故障発生可能性551、故障発生可能性552などの情報の組(レコード)を記憶し、複数の診断項目に対応する複数のレコードを記憶する。
診断対象511は、その診断項目において診断の対象となるハードウェアを表わす情報である。
診断内容512は、その診断項目において診断対象のハードウェアの何について診断をするかを表わす情報である。例えば、ハードウェアの機能ごとに診断項目を分ける場合、診断内容512は、診断する機能を表わし、ハードウェアを複数の部分に分割して診断する場合(例えば、フラッシュメモリ930をページやブロックごとに分けて診断する場合や、磁気ディスク装置920をセクタやトラックごとに分けて診断する場合など)、診断内容512は、分割された部分を表わす番号などである。
診断対象511及び診断内容512は、診断項目の一例であり、診断項目データベース記憶部110のうち、診断対象511及び診断内容512を記憶する部分は、診断項目記憶部111の一例である。
診断所要時間521は、その診断項目について、診断実行部200が診断をするのにかかる時間を表わす情報である。例えば、診断項目データベース記憶部110は、CPU911を用いて、診断所要時間計測部150が出力した診断所要時間を入力し、入力した診断所要時間を所定の回数分平均して、平均所要時間を算出し、算出した平均所要時間を診断所要時間521として記憶する。なお、まだ診断を実行していない初期状態においては、あらかじめ予測した診断所要時間521を、診断項目データベース記憶部110が記憶しておく構成とすることが望ましい。
診断項目データベース記憶部110のうち、診断所要時間521を記憶する部分は、診断所要時間記憶部112の一例である。
診断重要度531は、その診断項目の重要性を数値化した情報である。診断項目の重要性は、例えば、その診断項目によって診断できる故障が組込み機器800に与える影響の大きさに比例する。すなわち、故障により動作停止など重大な障害が発生する項目は、重要性が高く、故障によりその機能が使えないだけで全体の動作には影響しない項目は、重要性が低い。また、診断項目の重要性は、その診断項目によって診断できる故障の発生しやすさにも比例する。すなわち、故障の発生頻度が高い項目は、重要性が高く、故障が滅多に発生しない項目は、重要性が低い。診断重要度531は、診断項目の重要性が高いほど、大きい数値で表わす構成であってもよいし、診断項目の重要性が高いほど、小さい数値で表わす構成であってもよいが、以下の説明では、診断項目の重要性が高いほど、大きい数値で表わすものとする。
診断項目データベース記憶部110のうち、診断重要度531を記憶する部分は、診断重要度記憶部113の一例である。
動作中診断可否541は、その診断項目が、組込み機器800の動作中に診断することのできる項目であるか否かを表わす情報である。例えば、この例において、「可」は、動作中診断実行部220が組込み機器800の動作中に診断することのできる項目を表わし、「否」は、動作中診断実行部220が組込み機器800の動作中に診断することはできず、起動時診断実行部210が組込み機器800の起動時に診断する必要がある項目を表わす。
診断項目データベース記憶部110のうち、動作中診断可否541を記憶する部分は、動作中診断可否記憶部114の一例である。
故障発生可能性551,552は、異常状況が発生した場合に、その診断項目によって診断できる故障が発生する可能性を数値化した情報である。例えば、故障発生可能性551は、組込み機器800の温度が所定の温度より高くなった場合に、その故障が発生する可能性を表わす。また、故障発生可能性552は、組込み機器800が所定の閾値よりも強い衝撃を受けた場合に、その故障が発生する可能性を表わす。故障発生可能性551,552は、故障発生の可能性が高いほど、大きい数値で表わす構成であってもよいし、故障発生の可能性が高いほど、小さい数値で表わす構成であってもよいが、以下の説明では、故障発生の可能性が高いほど、大きい数値で表わすものとする。
診断項目データベース記憶部110のうち、故障発生可能性551,552を記憶する部分は、故障発生可能性記憶部115の一例である。
図5は、この実施の形態における診断計画作成部120の詳細ブロックの構成の一例を示す詳細ブロック図である。
診断計画作成部120は、制限時間記憶部121、総所要時間算出部122、診断所要回数算出部123、診断項目振り分け部124を有する。
制限時間記憶部121は、CPU911を用いて、制限時間入力部130が出力した制限時間(起動時制限時間及び動作中制限時間)を入力する。制限時間記憶部121は、磁気ディスク装置920を用いて、入力した制限時間を記憶する。
総所要時間算出部122は、CPU911を用いて、診断項目データベース記憶部110が記憶したすべての診断項目について診断所要時間521と動作中診断可否541とを入力する。総所要時間算出部122は、CPU911を用いて、入力した動作中診断可否541に基づいて、診断項目を、組込み機器800の動作中に診断できる項目(以下「動作中診断項目」と呼ぶ。)と、組込み機器800の動作中に診断できない項目(以下「起動時診断項目」と呼ぶ。)とに分類する。総所要時間算出部122は、CPU911を用いて、分類したそれぞれの項目について、診断所要時間521を合計する。総所要時間算出部122は、CPU911を用いて、動作中診断項目について計算した合計を、動作中診断総所要時間として出力する。総所要時間算出部122は、CPU911を用いて、起動時診断項目について計算した合計を、起動時診断総所要時間として出力する。
診断所要回数算出部123は、CPU911を用いて、制限時間記憶部121が記憶した起動時制限時間及び動作中制限時間と、総所要時間算出部122が出力した起動時診断総所要時間及び動作中診断総所要時間とを入力する。
診断所要回数算出部123は、CPU911を用いて、入力した起動時診断総所要時間と起動時制限時間とに基づいて、起動時の診断処理を何回実行すれば起動時診断項目すべてについての診断ができるか(以下「起動時診断所要回数」と呼ぶ。)を算出する。診断所要回数算出部123は、算出した起動時診断所要回数を出力する。
例えば、診断所要回数算出部123は、CPU911を用いて、起動時診断総所要時間を起動時制限時間で割った商を算出し、算出した商の端数を切り上げて整数にして、起動時診断所要回数とする。なお、余裕を見て、診断所要回数算出部123は、CPU911を用いて、更に1を加えたものを起動時診断所要回数とする構成であってもよい。
また、診断所要回数算出部123は、CPU911を用いて、入力した動作中診断総所要時間と動作中制限時間とに基づいて、動作中の診断処理を何回実行すれば動作中診断項目すべてについての診断ができるか(以下「動作中診断所要回数」と呼ぶ。)を算出する。診断所要回数算出部123は、CPU911を用いて、算出した動作中診断所要回数を出力する。なお、動作中診断所要回数の具体的な算出方式は、起動時診断所要回数と同様である。
診断項目振り分け部124は、CPU911を用いて、診断所要回数算出部123が出力した起動時診断所要回数及び動作中診断所要回数と、制限時間記憶部121が記憶した起動時制限時間及び動作中制限時間とを入力する。
診断項目振り分け部124は、CPU911を用いて、入力した起動時診断所要回数と起動時制限時間とに基づいて、診断項目データベース記憶部110が記憶した診断項目のうち、起動時診断項目を、一回の診断処理にかかる時間の合計が起動時制限時間を超えないよう、起動時診断所要回数の診断処理に振り分ける。診断項目振り分け部124は、CPU911を用いて、各回の診断処理にどの診断項目を振り分けたかを表わす情報(以下「起動時診断計画」と呼ぶ。)を出力する。
また、診断項目振り分け部124は、CPU911を用いて、入力した動作中診断所要回数と動作中制限時間とに基づいて、診断項目データベース記憶部110が記憶した診断項目のうち、動作中診断項目を、一回の診断処理にかかる時間の合計が動作中制限時間を超えないよう、動作中診断回数の診断処理に振り分ける。診断項目振り分け部124は、CPU911を用いて、各回の診断処理にどの診断項目を振り分けたかを表わす情報(以下「動作中診断計画」と呼ぶ。)を出力する。
診断項目振り分け部124が出力した起動時診断計画と動作中診断計画とは、診断計画記憶部190が入力し、記憶する。
なお、診断項目振り分け部124は、動作中診断項目の一部あるいは全部を、動作中診断処理ではなく、起動時診断処理で診断する診断計画を作成する構成としてもよい。
例えば、診断項目振り分け部124は、CPU911を用いて、作成した起動時診断計画において、各回の診断処理にかかる時間が制限時間より短い場合、余った時間を利用して、動作中診断項目を診断する起動時診断計画を作成する。診断項目振り分け部124は、CPU911を用いて、動作中診断項目のなかから、起動時に診断することとした診断項目を除き、残りの診断項目について、動作中診断計画を作成する。このとき、診断項目振り分け部124は、CPU911を用いて、診断所要回数算出部123が算出した動作中所要回数よりも少ない回数の診断処理で、一回あたりの診断処理にかかる時間が制限時間を超えることなく、残った診断項目についての診断が実行できるのであれば、動作中所要回数を減らす構成としてもよい。
あるいは、診断項目振り分け部124は、CPU911を用いて、起動時診断所要回数が所定の回数(例えば4回)以下であり、かつ、動作中診断所要回数が所定の回数(例えば10回)を超える場合に、起動時診断所要回数を所定の回数まで増やし、起動時診断計画を作成する。上述した例と同様、余った時間には、動作中診断項目を診断することとし、その分、動作中診断所要回数を減らす構成としてもよい。
図6は、この実施の形態における診断計画作成部起動時診断実行部210及び動作中診断実行部220の詳細ブロックの構成の一例を示す詳細ブロック図である。
起動時診断実行部210は、起動時診断回数記憶部211、起動時診断計画取得部212、起動時診断部213、起動時診断回数更新部214、動作中診断計画取得部215、動作中診断項目確保部216を有する。
動作中診断実行部220は、動作中診断回数記憶部221、確保項目開放部222、診断項目確保判定部223、動作中診断部224、動作中診断回数更新部225を有する。
起動時診断回数記憶部211は、磁気ディスク装置920を用いて、起動時診断計画のうち、何回目の診断処理までが終わったか(以下「起動時診断回数」と呼ぶ。)を記憶する。例えば、起動時診断処理をまだ一度も実行したことがなければ、起動時診断回数記憶部211は、起動時診断回数として「0」を記憶している。
起動時診断計画取得部212は、CPU911を用いて、起動時診断回数記憶部211が記憶した起動時診断回数を入力する。起動時診断計画取得部212は、CPU911を用いて、入力した起動時診断回数に基づいて、次に実行すべき起動時診断処理についての診断計画を、診断計画記憶部190が記憶した起動時診断計画から取得する。起動時診断計画取得部212は、CPU911を用いて、取得した診断計画を出力する。
起動時診断部213は、CPU911を用いて、起動時診断計画取得部212が出力した診断計画を入力する。起動時診断部213は、CPU911を用いて、入力した診断計画に基づいて、診断すべき診断項目についての診断を実行する。
起動時診断部213は、CPU911を用いて、各診断項目についての診断を開始する前に、これから診断を開始する診断項目を、診断所要時間計測部150に対して通知する。また、起動時診断部213は、CPU911を用いて、各診断項目についての診断が終了した後に、診断が終了した診断項目を、診断所要時間計測部150に対して通知する。診断所要時間計測部150は、起動時診断部213からの通知に基づいて、各診断項目についての診断所要時間を計測する。
また、起動時診断部213は、CPU911を用いて、各診断項目についての診断が終了した後、診断した結果、故障を発見したか否か、故障を発見した場合はその程度などを、診断結果として出力する。起動時診断部213が出力した診断結果は、診断結果記憶部160が入力し、記憶する。
更に、起動時診断部213は、CPU911を用いて、診断計画で予定されていたすべての診断項目についての診断が終了した場合、起動時診断回数更新部214に対して、診断終了を通知する。
起動時診断回数更新部214は、CPU911を用いて、起動時診断部213からの通知を入力する。起動時診断回数更新部214は、CPU911を用いて、起動時診断部213が診断終了を通知した場合に、起動時診断回数記憶部211が記憶した起動時診断回数を更新する。起動時診断回数更新部214は、CPU911を用いて、起動時診断回数記憶部211が記憶した起動時診断回数を入力し、入力した起動時診断回数に「1」を加える。起動時診断回数更新部214は、CPU911を用いて、起動時診断回数が起動時診断所要回数に達した場合、起動時診断回数を「0」にする。起動時診断回数記憶部211は、磁気ディスク装置920を用いて、起動時診断回数更新部214が更新した起動時診断回数を記憶する。
動作中診断計画取得部215は、CPU911を用いて、後述する動作中診断回数記憶部221が記憶した動作中診断回数を入力する。動作中診断計画取得部215は、CPU911を用いて、入力した動作中診断回数に基づいて、次に実行すべき動作中診断処理についての診断計画を、診断計画記憶部190が記憶した動作中診断計画のなかから取得する。動作中診断計画取得部215は、CPU911を用いて、取得した診断計画を出力する。
動作中診断項目確保部216は、CPU911を用いて、動作中診断計画取得部215が出力した診断計画を入力する。動作中診断項目確保部216は、CPU911を用いて、入力した診断計画に含まれる診断項目の診断対象のうち、あとで診断を実行するために確保しておくべき診断対象を抽出し、抽出した診断対象を確保する。
例えば、RAM914の記憶領域の一部が診断対象である場合、その記憶領域を、OS921、ミドルウェア922、アプリケーション923〜925などが使っていると、組込み機器800の動作中に診断をすることができなくなる。このため、動作中診断項目確保部216は、CPU911を用いて、その記憶領域をOS921などが使わないよう、切り離して確保する。
動作中診断回数記憶部221は、磁気ディスク装置920を用いて、動作中診断計画のうち、何回目の動作中診断処理までが終わったか(「動作中診断回数」と呼ぶ。)を記憶する。例えば、動作中診断処理をまだ一度も実行したことがなければ、動作中診断回数記憶部221は、動作中診断回数として「0」を記憶している。
確保項目開放部222は、組込み機器800が動作中であるとき、CPU911を用いて、組込み機器800が動作するために必要な資源が不足しているか否かを判定する。確保項目開放部222は、CPU911を用いて、資源が不足していると判定した場合、動作中診断項目確保部216が確保した診断対象のうち、開放することで資源不足を解消することができるものがあるかを判定する。確保項目開放部222は、CPU911を用いて、資源不足を解消することができると判定した診断対象を開放する。
例えば、動作中診断項目確保部216がRAM914の記憶領域の一部を確保している状態で、組込み機器800がメモリ不足状態となった場合、確保項目開放部222は、CPU911を用いて、動作中診断項目確保部216が確保した記憶領域を開放して、OS921などが利用できるようにする。
また、確保項目開放部222は、CPU911を用いて、後述する動作中診断部224が診断終了を通知した場合、動作中診断項目確保部216が確保した診断対象を開放する。
診断項目確保判定部223は、組込み機器800が動作中であり、かつ、組込み機器800がアイドル状態になるなど、動作中診断処理の開始条件が整ったとき、CPU911を用いて、動作中診断計画取得部215が出力した診断計画を入力する。診断項目確保判定部223は、CPU911を用いて、入力した診断計画に含まれる診断項目の診断対象のうち、診断を実行するために確保しておくべき診断対象を確保項目開放部222が開放したか否かを判定する。診断項目確保判定部223は、CPU911を用いて、判定した判定結果を出力する。
動作中診断部224は、CPU911を用いて、診断項目確保判定部223が出力した判定結果を入力する。動作中診断部224は、CPU911を用いて、入力した判定結果に基づいて、診断を実行するために確保しておくべき診断対象を確保項目開放部222が開放していないと診断項目確保判定部223が判定した場合、診断すべき診断項目についての診断を実行する。
動作中診断部224は、CPU911を用いて、各診断項目について診断を開始する前に、これから診断を開始する診断項目を、診断所要時間計測部150に対して通知する。また、動作中診断部224は、CPU911を用いて、各診断項目について診断が終了した後に、診断が終了した診断項目を、診断所要時間計測部150に対して通知する。診断所要時間計測部150は、動作中診断部224からの通知に基づいて、各診断項目についての診断所要時間を計測する。
また、動作中診断部224は、CPU911を用いて、各診断項目についての診断が終了した後、診断した診断結果を出力する。動作中診断部224が出力した診断結果は、診断結果記憶部160が入力し、記憶する。
更に、動作中診断部224は、CPU911を用いて、診断計画で予定されていたすべての診断項目についての診断が終了した場合、確保項目開放部222と動作中診断回数更新部225とに対して、診断終了を通知する。
動作中診断回数更新部225は、CPU911を用いて、動作中診断部224からの通知を入力する。動作中診断回数更新部225は、CPU911を用いて、動作中診断部224が診断終了を通知した場合に、動作中診断回数記憶部221が記憶した動作中診断回数を更新する。動作中診断回数更新部225は、CPU911を用いて、動作中診断回数記憶部221が記憶した動作中診断回数を入力し、入力した動作中診断回数に「1」を加える。動作中診断回数更新部225は、動作中診断回数が動作中診断所要回数に達した場合、動作中診断回数を「0」にする。動作中診断回数記憶部221は、磁気ディスク装置920を用いて、動作中診断回数更新部225が更新した動作中診断回数を記憶する。
図7は、この実施の形態における組込み機器800全体の動作の流れの一例を示すフローチャート図である。
電源投入などにより組込み機器800が起動すると、組込み機器800は、まず、故障検出判定工程S610を実行する。
故障検出判定工程S610において、組込み機器800は、CPU911を用いて、診断装置100が故障を既に検出しているか否かを判定する。
組込み機器800は、CPU911を用いて、診断装置100が故障を既に検出していると判定した場合、故障警告工程S710へ進む。
組込み機器800は、CPU911を用いて、診断装置100が故障を検出していないと判定した場合、診断計画作成済判定工程S620へ進む。
診断計画作成済判定工程S620において、診断装置100は、CPU911を用いて、診断計画作成部120が診断計画を既に作成してあるか否かを判定する。
診断装置100は、CPU911を用いて、診断計画作成部120が診断計画を既に作成してあると判定した場合、起動時診断処理S640へ進む。
診断装置100は、CPU911を用いて、診断計画作成部120が診断計画をまだ作成していないと判定した場合、診断計画作成処理S630へ進む。
診断計画作成処理S630において、診断計画作成部120は、CPU911を用いて、診断計画を作成する。診断計画作成処理S630の詳細については、後述する。
起動時診断処理S640において、起動時診断実行部210は、CPU911を用いて、診断計画作成処理S630で診断計画作成部120が作成した起動時診断計画に基づいて、一回の診断処理を実行する。
診断装置100は、CPU911を用いて、診断処理により故障を発見した場合、故障警告工程S710へ進む。
診断装置100は、CPU911を用いて、診断処理により故障を発見しなかった場合、動作中診断項目確保処理S650へ進む。
動作中診断項目確保処理S650において、起動時診断実行部210は、CPU911を用いて、診断計画作成処理S630で診断計画作成部120が作成した動作中診断計画に基づいて、次回の診断処理を実行するために必要な診断対象を確保する。
動作処理S660において、組込み機器800は、CPU911を用いて、OS921などを起動し、組込み機器800本来の動作をする。
組込み機器800本来の動作中に、組込み機器800が資源不足になった場合、組込み機器800は、CPU911を用いて、確保項目開放処理S670へ進む。
組込み機器800本来の動作中に、組込み機器800がアイドル状態となった場合、組込み機器800は、CPU911を用いて、診断項目確保判定処理S680へ進む。
それ以外の場合、組込み機器800は、CPU911を用いて、動作処理S660を繰り返す。
なお、動作処理S660において、制限時間入力部130が制限時間を入力できる構成としてもよい。その場合、診断計画作成部120は、CPU911を用いて、新しく入力された制限時間に基づいて、診断計画を作成し直す。
確保項目開放処理S670において、確保項目開放部222は、CPU911を用いて、動作中診断項目確保処理S650で起動時診断実行部210が確保した診断対象のうち、資源不足を解消するために必要な診断対象を開放する。
その後、組込み機器800は、CPU911を用いて、動作処理S660に戻る。
診断項目確保判定処理S680において、診断項目確保判定部223は、CPU911を用いて、今回の診断処理を実行するために必要な診断対象が、動作中診断項目確保処理S650で確保されたままであるか、確保項目開放処理S670で開放されたかを判定する。
組込み機器800は、CPU911を用いて、診断対象が開放されたと診断項目確保判定部223が判定した場合、動作処理S660に戻る。
組込み機器800は、CPU911を用いて、診断対象が確保されていると診断項目確保判定部223が判定した場合、動作中診断処理S690へ進む。
動作中診断処理S690において、動作中診断実行部220は、CPU911を用いて、診断計画作成処理S630で診断計画作成部120が作成した動作中診断計画に基づいて、一回の診断処理を実行する。
診断装置100は、CPU911を用いて、診断処理により故障を発見した場合、故障警告工程S710へ進む。
診断装置100は、CPU911を用いて、診断処理により故障を発見しなかった場合、動作処理S660に戻る。
故障警告工程S710において、診断結果出力部170は、表示装置901やスピーカ908を用いて、組込み機器800の故障を利用者に対して通知する。
その後、組込み機器800は、CPU911を用いて、動作を停止する。
なお、診断装置100は、CPU911を用いて、発見した故障が致命的なものか軽度なものかを判定し、故障が軽度であって、組込み機器800の動作を停止する必要がない場合には、故障警告工程S710が終了したのち、元に戻って、続きの処理をする構成としてもよい。
図8は、この実施の形態における診断計画作成部120が診断計画を作成する診断計画作成処理S630の流れの一例を示すフローチャート図である。
診断計画作成処理S630は、例えば、制限時間入力工程S631,総所要時間算出工程S632、診断所要回数算出工程S633、診断項目整列工程S634、診断項目繰り返し工程S635、診断項目振り分け工程S636、残り時間算出工程S637、繰り返し判定工程S638を有する。
制限時間入力工程S631において、制限時間入力部130は、入力装置902を用いて、利用者が指定する起動時制限時間及び動作中制限時間を入力する。
総所要時間算出工程S632において、総所要時間算出部122は、CPU911を用いて、診断項目データベース記憶部110が記憶した診断項目に関する情報に基づいて、起動時診断総所要時間及び動作中診断総所要時間を算出する。
診断所要回数算出工程S633において、診断所要回数算出部123は、CPU911を用いて、制限時間入力工程S631で制限時間入力部130が入力した起動時制限時間と、総所要時間算出工程S632で総所要時間算出部122が算出した起動時診断総所要時間とに基づいて、起動時診断所要回数を算出する。また、診断所要回数算出部123は、CPU911を用いて、制限時間入力工程S631で制限時間入力部130が入力した動作中制限時間と、総所要時間算出工程S632で総所要時間算出部122が算出した動作中総所要時間とに基づいて、動作中診断所要回数を算出する。
診断項目振り分け部124は、CPU911を用いて、診断所要回数算出部123が算出した起動時診断所要回数と動作中診断所要回数とに基づいて、起動時診断計画と動作中診断計画とを初期化する。診断計画記憶部190は、磁気ディスク装置920を用いて、起動時診断計画として、起動時診断所要回数分の起動時診断処理を記憶する記憶領域と、動作中診断計画として、動作中診断所要回数分の動作中診断処理を記憶する記憶領域とを確保する。診断項目振り分け部124は、RAM914を用いて、それぞれの起動時診断処理について、残り時間として、起動時制限時間を記憶し、それぞれの動作中診断処理について、残り時間として、動作中制限時間を記憶する。
診断項目整列工程S634において、診断項目振り分け部124は、CPU911を用いて、診断項目データベース記憶部110が記憶した診断項目に関する情報に基づいて、全ての診断項目を診断所要時間521が長い順に整列する。
診断項目繰り返し工程S635において、診断項目振り分け部124は、CPU911を用いて、診断項目データベース記憶部110が記憶した診断項目すべてについて、診断項目整列工程S634で整列した順に一つずつ診断項目を選択し、選択した診断項目について、診断項目振り分け工程S636〜残り時間算出工程S637の処理をする。
診断項目振り分け工程S636において、診断項目振り分け部124は、CPU911を用いて、診断項目繰り返し工程S635で選択した診断項目が起動時診断項目か動作中診断項目かを判定する。
選択した診断項目が起動時診断項目である場合、診断項目振り分け部124は、CPU911を用いて、起動時診断処理のなかから、記憶した残り時間が最も長いものを選択する。診断項目振り分け部124は、CPU911を用いて、診断項目繰り返し工程S635で選択した診断項目を、選択した起動時診断処理に割り当てる。診断計画記憶部190は、磁気ディスク装置920を用いて、診断項目を割り当てた起動時診断処理を記憶する。
選択した診断項目が動作中診断項目である場合、診断項目振り分け部124は、CPU911を用いて、動作中診断処理のなかから、記憶した残り時間が最も長いものを選択する。診断項目振り分け部124は、CPU911を用いて、診断項目繰り返し工程S635で選択した診断項目を、選択した動作中診断処理に割り当てる。診断計画記憶部190は、磁気ディスク装置920を用いて、診断項目を割り当てた動作中診断処理を記憶する。
残り時間算出工程S637において、診断項目振り分け部124は、CPU911を用いて、診断項目振り分け工程S636で選択した起動時診断処理または動作中診断処理について記憶した残り時間から、診断項目繰り返し工程S635で選択した診断項目の診断所要時間521を差し引いた差を算出し、RAM914を用いて、算出した差を、選択した起動時診断処理または動作中診断処理についての残り時間として記憶する。
繰り返し判定工程S638において、診断項目振り分け部124は、CPU911を用いて、診断項目データベース記憶部110が記憶した診断項目すべてについて、診断項目振り分け工程S636〜残り時間算出工程S637の処理が終了したか判定する。
診断項目振り分け部124は、CPU911を用いて、未処理の診断項目があると判定した場合、診断項目繰り返し工程S635に戻り、次の診断項目を選択する。
診断項目振り分け部124は、CPU911を用いて、すべての診断項目についての処理が終了したと判定した場合、診断計画作成処理S630を終了する。
図9は、この実施の形態における診断計画作成処理において、診断項目振り分け部124が診断項目を振り分ける様子を示す概念図である。
この図において、診断項目を表わす長方形の横方向の長さは、その診断項目の診断所要時間を表わす。
診断項目振り分け部124は、起動時診断所要回数(この例では「3」)個の起動時診断処理についての残り時間と、動作中診断所要回数(この例では「5」)個の動作中診断処理について残り時間とを算出する。起動時診断処理についての残り時間の初期値は、起動時制限時間とし、動作中診断処理についての残り時間の初期値は、動作中制限時間とする。診断項目振り分け部124は、各診断処理に診断項目を振り分けたとき、振り分けた診断項目についての診断所要時間を、その診断処理の残り時間から差し引く。
診断項目振り分け部124は、診断所要時間が長い順に、診断項目を一つずつ、診断計画に振り分けていく。振り分ける診断項目が起動時診断項目であれば起動時診断処理のなかで、振り分ける診断項目が動作中診断項目であれば動作中診断処理のなかで、それぞれ残り時間が一番長い診断処理に、診断項目を振り分ける。
なお、この例では、一つの診断処理に振り分けられた診断項目の診断所要時間の合計が制限時間を超えないよう、あらかじめ診断所要回数を十分な回数に設定しているので、診断所要時間の合計が制限時間を超えたか否かの判定を省略している。しかし、確実を期するため、以下のような構成としてもよい。
例えば、診断項目振り分け部124は、CPU911を用いて、診断項目を振り分けようとしている診断処理の残り時間と、その診断項目の診断所要時間とを比較する。診断所要時間が残り時間以下の場合、診断項目振り分け部124は、CPU911を用いて、その診断項目をその診断処理に振り分ける。診断所要時間が残り時間を超える場合、診断項目振り分け部124は、CPU911を用いて、診断所要回数を1つ増やし、新たな診断処理を設定して、新たに設定した診断処理に、その診断項目を振り分ける。
また、そのような構成とした場合、最初に設定した診断所要回数が足りなくても、診断項目振り分け部124が診断所要回数を増やして、自動的に最適な診断所要回数とすることができる。そのため、診断項目振り分け部124は、CPU911を用いて、総所要時間や制限時間とは関係なく、診断所要回数の初期値を所定の値(例えば「1」)に設定する構成としてもよい。その場合、総所要時間算出部122及び診断所要回数算出部123は、なくてもよい。
なお、この例では、起動時診断項目の振り分けと動作中診断項目の振り分けとを並行して実行しているが、起動時診断項目の振り分けを先に実行し、動作中診断項目の振り分けをその後実行する構成としてもよい。
例えば、診断項目整列工程S634において、診断項目振り分け部124は、CPU911を用いて、診断項目を起動時診断項目と動作中診断項目に分類した上で、分類された診断項目をそれぞれ整列する。診断項目振り分け部124は、CPU911を用いて、まず、起動時診断項目について、診断所要時間が長い順に、起動時診断処理に振り分ける。次に、診断項目振り分け部124は、CPU911を用いて、動作中診断項目について、診断所要時間が長い順に、動作中診断処理に振り分ける。このとき、診断項目振り分け部124は、CPU911を用いて、振り分けようとしている動作中診断項目の診断所要時間が、いずれかの起動時診断処理についての残り時間以下であれば、その動作中診断項目を、動作中診断処理に振り分けるのではなく、起動時診断処理に振り分ける構成としてもよい。
図10は、この実施の形態における起動時診断実行部210が組込み機器800の起動時に自己診断をする起動時診断処理S640の流れの一例を示すフローチャート図である。
起動時診断処理S640は、例えば、起動時診断回数取得工程S641、起動時診断計画取得工程S642、診断項目繰り返し工程S643、診断工程S644、繰り返し判定工程S645、起動時診断回数更新工程S646を有する。
起動時診断回数取得工程S641において、起動時診断計画取得部212は、CPU911を用いて、起動時診断回数記憶部211が記憶した起動時診断回数を取得する。
起動時診断計画取得工程S642において、起動時診断計画取得部212は、CPU911を用いて、起動時診断回数取得工程S641で取得した起動時診断回数に基づいて、診断計画記憶部190が記憶した起動時診断計画のなかから、今回の起動時診断処理で診断をする診断項目を取得する。
診断項目繰り返し工程S643において、起動時診断部213は、CPU911を用いて、起動時診断計画取得工程S642で取得した診断項目から、診断項目を一つずつ選択し、選択した診断項目について、診断工程S644の処理をする。
診断工程S644において、起動時診断部213は、CPU911を用いて、診断項目繰り返し工程S643で選択した診断項目を診断する。
起動時診断部213は、CPU911を用いて、診断により故障を発見した場合、故障と判定して、起動時診断処理S640を終了する。
起動時診断部213は、CPU911を用いて、診断により故障を発見しなかった場合、繰り返し判定工程S645へ進む。
繰り返し判定工程S645において、起動時診断部213は、CPU911を用いて、起動時診断計画取得工程S642で取得した診断項目すべてについて、診断工程S644の処理が終了したか否かを判定する。
起動時診断部213は、CPU911を用いて、未処理の診断項目があると判定した場合、診断項目繰り返し工程S643に戻り、次の診断項目を選択する。
起動時診断部213は、CPU911を用いて、起動時診断計画取得工程S642で取得したすべての診断項目についての処理が終了したと判定した場合、起動時診断回数更新工程S646へ進む。
起動時診断回数更新工程S646において、起動時診断回数更新部214は、CPU911を用いて、起動時診断回数記憶部211が記憶した起動時診断回数を更新する。起動時診断回数記憶部211は、磁気ディスク装置920を用いて、起動時診断回数更新部214が更新した起動時診断回数を記憶する。
起動時診断実行部210は、CPU911を用いて、正常と判定して、起動時診断処理S640を終了する。
図11は、この実施の形態における起動時診断実行部210が動作中診断処理のために動作中診断項目を確保する動作中診断項目確保処理S650の流れの一例を示すフローチャート図である。
動作中診断項目確保処理S650は、例えば、動作中診断回数取得工程S651、動作中診断計画取得工程S652、診断項目繰り返し工程S653、診断項目確保工程S654、繰り返し判定工程S655を有する。
動作中診断回数取得工程S651において、動作中診断計画取得部215は、CPU911を用いて、動作中診断回数記憶部221が記憶した動作中診断回数を取得する。
動作中診断計画取得工程S652において、動作中診断計画取得部215は、CPU911を用いて、動作中診断回数取得工程S651で取得した動作中診断回数に基づいて、診断計画記憶部190が記憶した動作中診断計画のなかから、今回の動作中診断処理で診断をする診断項目を取得する。
診断項目繰り返し工程S653において、動作中診断項目確保部216は、CPU911を用いて、動作中診断計画取得工程S652で動作中診断計画取得部215が取得した診断項目から、診断項目を一つずつ選択し、選択した診断項目について、診断項目確保工程S654の処理をする。
診断項目確保工程S654において、動作中診断項目確保部216は、CPU911を用いて、診断項目繰り返し工程S653で選択した診断項目が、診断をするために確保しておく必要がある項目か否かを判定する。
動作中診断項目確保部216は、CPU911を用いて、診断項目が確保しておく必要がある項目であると判定した場合、その診断項目の診断対象を確保する。
繰り返し判定工程S655において、動作中診断項目確保部216は、CPU911を用いて、動作中診断計画取得工程S652で取得した診断項目すべてについて、診断項目確保工程S654の処理が終了したか否かを判定する。
動作中診断項目確保部216は、CPU911を用いて、未処理の診断項目があると判定した場合、診断項目繰り返し工程S653に戻り、次の診断項目を選択する。
動作中診断項目確保部216は、CPU911を用いて、動作中診断計画取得工程S652で取得したすべての診断項目について、診断項目確保工程S654の処理が終了したと判定した場合、動作中診断項目確保処理S650を終了する。
図12は、この実施の形態における動作中診断実行部220が組込み機器800の動作中に自己診断をする動作中診断処理S690の流れの一例を示すフローチャート図である。
動作中診断処理S690は、例えば、確保項目取得工程S691、診断項目繰り返し工程S692、診断工程S693、繰り返し判定工程S694、動作中診断回数更新工程S695を有する。
確保項目取得工程S691において、動作中診断部224は、CPU911を用いて、今回の動作中診断処理で診断をする診断項目を取得する。
診断項目繰り返し工程S692において、動作中診断部224は、CPU911を用いて、確保項目取得工程S691で取得した診断項目から、診断項目を一つずつ選択し、選択した診断項目について、診断工程S693の処理をする。
診断工程S693において、動作中診断部224は、CPU911を用いて、診断項目繰り返し工程S692で選択した診断項目を診断する。
動作中診断部224は、CPU911を用いて、診断により故障を発見した場合、故障と判定して、動作中診断処理S690を終了する。
動作中診断部224は、CPU911を用いて、診断により故障を発見しなかった場合、繰り返し判定工程S694へ進む。
繰り返し判定工程S694において、動作中診断部224は、CPU911を用いて、診断項目繰り返し工程S692で取得した診断項目すべてについて、診断工程S693の処理が終了したか否かを判定する。
動作中診断部224は、CPU911を用いて、未処理の診断項目があると判定した場合、診断項目繰り返し工程S692に戻り、次の診断項目を選択する。
動作中診断部224は、CPU911を用いて、診断項目繰り返し工程S692で取得したすべての診断項目について、診断工程S693の処理が終了したと判定した場合、動作中診断回数更新工程S695へ進む。
動作中診断回数更新工程S695において、動作中診断回数更新部225は、CPU911を用いて、動作中診断回数記憶部221が記憶した動作中診断回数を更新する。動作中診断回数記憶部221は、磁気ディスク装置920を用いて、動作中診断回数更新部225が更新した動作中診断回数を記憶する。
動作中診断実行部220は、CPU911を用いて、正常と判定して、動作中診断処理S690を終了する。
この実施の形態における診断装置100は、データを記憶する記憶装置(磁気ディスク装置920)と、データを処理する処理装置(CPU911)と、診断項目記憶部111と、診断計画作成部120と、診断実行部200とを有する。
上記診断項目記憶部111は、上記記憶装置(磁気ディスク装置920)を用いて、対象装置(組込み機器800)の故障を診断する複数の診断項目を記憶する。
上記診断計画作成部120は、上記処理装置(CPU911)を用いて、上記診断項目記憶部111が記憶した複数の診断項目のなかから一回の診断処理において診断する診断項目を抽出し、複数回の診断処理により、上記診断項目記憶部111が記憶した複数の診断項目について診断をする診断計画を作成する。
上記診断実行部200は、上記処理装置(CPU911)を用いて、上記対象装置(組込み機器800)が起動した場合に、上記診断計画作成部120が作成した診断計画に基づいて、一回の診断処理を実行する。
この実施の形態における診断装置100によれば、対象装置が起動したとき、診断すべき複数の診断項目のなかから診断計画作成部120が抽出した診断項目について診断をするので、起動時の待ち時間を短くすることができる。また、診断計画作成部120が、複数回の診断処理で、診断すべき複数の診断項目を診断する診断計画を作成するので、故障を見逃すことなく、対象装置を安全に使用することができる。
この実施の形態における診断装置100は、更に、診断所要時間記憶部112を有する。
上記診断所要時間記憶部112は、上記記憶装置(磁気ディスク装置920)を用いて、上記診断項目記憶部111が記憶した複数の診断項目のそれぞれについて、診断にかかる所要時間(診断所要時間)を記憶する。
上記診断計画作成部120は、上記処理装置(CPU911)を用いて、上記診断所要時間記憶部112が記憶した所要時間(診断所要時間)に基づいて、一回の診断処理にかかる所要時間を算出し、算出した所要時間が所定の制限時間以内となる診断計画を作成する。
この実施の形態における診断装置100によれば、診断計画作成部120が、一回の診断処理にかかる所要時間が所定の制限時間内となる診断計画を作成するので、起動時の待ち時間を制限時間内に収めることができる。制限時間を長くすれば、診断すべき診断項目について診断をするのにかかる診断所要回数を少なくすることができ、いち早く故障を発見できるので、対象装置の安全性が高くなる反面、起動時の待ち時間が長くなる。逆に、制限時間を短くすれば、起動時の待ち時間が短くなる反面、診断すべき診断項目について診断をするのにかかる診断所要回数が多くなるので、故障の発見が遅れる可能性が生じる。制限時間を適切な値に設定することにより、両者のバランスを取ることができ、利用者のニーズに合った対象装置を提供することができる。
また、この実施の形態で説明したように、対象装置の利用者が制限時間を指定できるよう構成してもよい。そうすれば、利用者自らが利便性を取るか安全性を取るかを選択することができる。
この実施の形態における診断装置100は、更に、診断所要時間計測部150を有する。
上記診断所要時間計測部150は、上記処理装置(CPU911)を用いて、上記診断項目記憶部111が記憶した複数の診断項目のそれぞれについて、上記診断実行部200が診断をするのに要した所要時間を計測する。
上記診断所要時間記憶部112は、上記記憶装置(磁気ディスク装置920)を用いて、上記診断所要時間計測部150が計測した所要時間を記憶する。
この実施の形態における診断装置100によれば、実際に診断をするのにかかった所要時間を診断所要時間計測部150が計測して、診断所要時間記憶部112が記憶するので、個々の組込み機器800が置かれた状況によって診断にかかる時間が変化する場合であっても、一回の診断処理にかかる時間が制限時間内に収まる診断計画を診断計画作成部120が作成することができる。
この実施の形態における診断装置100は、更に、動作中診断可否記憶部114を有する。
上記動作中診断可否記憶部114は、上記記憶装置(磁気ディスク装置920)を用いて、上記診断項目記憶部111が記憶した複数の診断項目のそれぞれについて、上記対象装置(組込み機器800)の動作中に診断できる項目であるか否かを表わす動作中診断可否フラグ(動作中診断可否)を記憶する。
上記診断計画作成部120は、上記処理装置(CPU911)を用いて、上記動作中診断可否記憶部114が記憶した動作中診断可否フラグに基づいて、上記診断項目記憶部111が記憶した複数の診断項目を、上記対象装置(組込み機器800)の動作中に診断できる動作中診断可能項目(動作中診断項目)と、上記対象装置(組込み機器800)の動作中に診断できない動作中診断不可項目(起動時診断項目)とに分類し、複数回の診断処理(動作中診断処理)により、分類した動作中診断不可項目について診断をする起動時診断計画と、複数回の診断処理(起動時診断処理)により、分類した動作中診断可能項目について診断をする動作中診断計画とを作成する。
上記診断実行部200は、上記処理装置(CPU911)を用いて、上記対象装置(組込み機器800)が起動した場合に、上記診断計画作成部120が作成した起動時診断計画に基づいて、一回の診断処理(起動時診断処理)を実行し、上記対象装置(組込み機器800)が動作中の場合に、上記診断計画作成部120が作成した動作中診断計画に基づいて、一回の診断処理(動作中診断処理)を実行する。
この実施の形態における診断装置100によれば、対象装置の動作中でも診断できる診断項目を動作中に診断することにより、対象装置の起動時に診断する診断項目を少なくすることができ、起動時の待ち時間を更に短くすることができる。
この実施の形態における診断装置100において、上記診断実行部200は、上記処理装置(CPU911)を用いて、上記対象装置(組込み機器800)がアイドル状態となった場合に、上記診断計画作成部120が作成した動作中診断計画に基づいて、一回の診断処理(動作中診断処理)を実行する。
この実施の形態における診断装置100によれば、対象装置の動作中でも診断できる診断項目を、複数回の診断処理に分け、対象装置がアイドル状態となった場合に、一回の診断処理をするので、診断処理からの復帰にかかる時間を短くすることができる。また、複数回の診断処理で、対象装置の動作中でも診断できる複数の診断項目を診断するので、故障を見逃すことなく、対象装置を安全に使用することができる。
この実施の形態における診断装置100において、上記診断計画作成部120は、上記処理装置(CPU911)を用いて、上記診断項目記憶部111が記憶した複数の診断項目を複数の診断項目群に分類し、複数回の診断処理のそれぞれにおいて、分割した複数の診断項目群のなかから順に選択した一つの診断項目群に属する診断項目について診断をする診断計画を作成する。
この実施の形態における診断装置100によれば、診断計画作成部120が分類した診断項目群の数と同じ回数の診断処理をすることにより、すべての診断項目について確実に診断をすることができるので、故障を見逃すことなく、対象装置を安全に使用することができる。
この実施の形態における診断装置100は、データを記憶する記憶装置(磁気ディスク装置920)と、データを処理する処理装置(CPU911)とを有するコンピュータが実行することにより、上記コンピュータが上記診断装置100として機能するコンピュータプログラムにより、実現することができる。
この実施の形態における診断装置100を実現するコンピュータプログラムによれば、対象装置が起動したとき、診断すべき複数の診断項目のなかから診断計画作成部120が抽出した診断項目について診断をするので、起動時の待ち時間を短くすることができるとともに、診断計画作成部120が、複数回の診断処理で、診断すべき複数の診断項目を診断する診断計画を作成するので、故障を見逃すことなく、対象装置を安全に使用することができる診断装置100を実現することができる。
この実施の形態における診断装置100が、対象装置(組込み機器800)の故障を診断する診断方法は、以下の工程を有する。
上記処理装置(CPU911)が、上記記憶装置(磁気ディスク装置920)が記憶した複数の診断項目のなかから一回の診断処理において診断する診断項目を抽出し、複数回の診断処理により、上記記憶装置(磁気ディスク装置920)が記憶した複数の診断項目について診断をする診断計画を作成する。
上記対象装置(組込み機器800)が起動した場合に、上記処理装置(CPU911)が、作成した診断計画に基づいて、一回の診断処理を実行する。
この実施の形態における診断方法によれば、対象装置が起動したとき、診断すべき複数の診断項目のなかから抽出した診断項目について診断をするので、起動時の待ち時間を短くすることができる。また、複数回の診断処理で、診断すべき複数の診断項目を診断する診断計画を作成するので、故障を見逃すことなく、対象装置を安全に使用することができる。
以上説明した診断装置100(組み込み機器起動時自己診断装置)は、
プログラムコードを格納するフラッシュメモリ930またはHDDドライブ(磁気ディスク装置920)と、プログラムやデータを格納することができるRAM914とCPU911とをバスで接続し、複数の周辺デバイス(メモリカード読取装置951、カメラ952など)や周辺メモリ(通信メモリ953)を保持した組込み機器800において、
フラッシュメモリ930、HDDドライブ、RAM914、周辺メモリなどを複数の診断対象に分けるメモリ分割部(診断項目記憶部111)と、
周辺機器も診断機能ごとに複数の部位に分ける機器分割部(診断項目記憶部111)と、
各診断機能毎に予め測定した正常に終了するまでの各部位ごとの単位診断処理時間を管理する単位診断処理時間管理部(診断所要時間記憶部112)と、
毎回の診断がほぼ同じ時間で終えることを保証するように診断機能を分割する診断機能分割部(診断計画作成部120)と、
部分的に毎起動ごとに診断を行う部分診断部(診断実行部200)と、
一定回数で全体を診断することを保障する診断計画部(診断計画作成部120)とからなる。
以上説明した診断装置100(機器起動時自己診断装置)において、メモリ分割部(診断項目記憶部111)は、フラッシュメモリ930であれば消去ブロック単位、通常のRAM914であれば、一定のアクセスする単位である物理的なページ単位に分割する。
以上説明した診断装置100(機器起動時自己診断装置)において、機器分割部(診断項目記憶部111)は、単に複数の機器グループに分けるだけでなく、例えば一つの制御機器であっても、正常な接続判定と正常な動作判定のように、診断対象とする機能を分割することも含める。
以上説明した診断装置100(機器起動時自己診断装置)において、単位診断処理時間管理部(診断所要時間記憶部112)は、分割された各診断対象の単位診断時間(診断所要時間)を保持する。
以上説明した診断装置100(機器起動時自己診断装置)において、診断機能分割部(診断計画作成部120)は、単位診断時間(診断所要時間)を利用してすべて同一の時間で診断できるように診断機能を分割する。
以上説明した診断装置100(機器起動時自己診断装置)において、診断機能分割部(診断計画作成部120)は、単位診断時間(診断所要時間)を利用してすべて一定時間以内で診断できるように診断機能を分割する。
以上説明した診断装置100(機器起動時自己診断装置)において、部分診断部(診断実行部200)は、分割された診断機能から0以上の機能を診断計画部(診断計画作成部120)の指示に基づいて選択し、診断する。
以上説明した診断装置100(機器起動時自己診断装置)において、診断計画部(診断計画作成部120)は、部分診断部(診断実行部200)に対して、1回の起動時の診断は一定時間に終えることを指示し、一定回数ですべての部分的な診断を行い、結果的に全体の診断を行う。
以上説明した診断装置100は、例えば、一般的な組込み機器800の一部である。
組込み機器800は、命令を実行するCPU911、プログラムコードを格納するフラッシュメモリ930(HDDがあれば存在しない構成でもよい)、揮発性のメモリのRAM914、フラッシュカードリードや制御機器などの周辺接続機器、周辺接続機器との通信用のメモリ、HDD(磁気ディスク装置920)(フラッシュメモリ930があれば存在しない構成でもよい)、温度計(温度センサ961)や衝撃センサ962などのセンサを有する。
組込み機器800のソフトウェア構成は、例えば、上記のようなハードウェア上で動作するOS層(OS921)(組込み機器800によっては存在しない構成でもよい)、OS層の上でサービスを実現するミドルウエア層(ミドルウェア922)(組込み機器800によっては存在しない構成でもよい)、ナビゲーションアプリやDTVアプリなどのアプリケーション、これらのアプリケーションと同じアプリケーションの一つであって、実行時に機器を診断する装置(動作中診断実行部220)を実現するプログラム、OSなどのサービスがなくとも動作するプログラムであって、起動時の自己診断装置(起動時診断実行部210など)を実現するプログラムなどからなる。
起動時自己診断装置は、複数のメモリ領域に物理的な分割を行うメモリ分割部(診断項目記憶部111)(分割は例えばページ単位に行う)、メモリ以外の診断対象となる機器を複数のグループに分割したり、一つの機器でも診断対象が複数あれば、対象を分けることを実施する機器分割部(診断項目記憶部111)、分割された診断対象単位ごとに正常であることを診断するのにどの程度の時間がかかるかを管理する単位診断処理時間管理部(診断所要時間記憶部112)、分割結果を単位診断処理時間と合わせて計算し、診断計画部から指示される一定の時間(制限時間)に収まるように組み合わせる診断機能分割部(診断計画作成部120)、実際に部分診断を行う部分診断部(起動時診断実行部210)を有する。
実行時自己診断装置は、メモリ分割部、診断対象分割部、診断処理時間管理部、診断機能分割部、実行中にのみ診断する機能の診断計画部、実行中に診断できるものを選び出しグループ化するグループ分割部、実際に部分的な診断を行う部分診断部(動作中診断実行部220)、アプリケーションとして部分診断部を呼び出すことにより診断を行う診断アプリケーションを有する。
例えば、組込み機器800の工場出荷前に、診断計画作成に必要な情報を調査設定する。
まず、メモリの構成情報としてページの情報やフラッシュメモリならば消去ブロックの情報などを設定し、診断項目記憶部111が、磁気ディスク装置920を用いて、記憶する。
次に、診断対象とする周辺機器の情報などを出荷担当者が設定するか、設定情報を記載されたデータを読み込んで設定し、診断項目記憶部111が、磁気ディスク装置920を用いて、記憶する。
診断実行部200は、一度すべての機能の診断を行い、診断所要時間計測部150は、各診断ごとの単位時間を測定する。診断所要時間記憶部112は、測定結果を記録する。なお、診断所要時間記憶部112は、実測結果を記憶するのではなく、予め設定されたデータを読み込んで設定しても構わない。
診断計画作成部120は、予め設定された制限時間に診断が終わるような診断単位の時間の合計を計算した組を作成する。例えば、診断計画作成部120は、順番に時間を加えておき、制限時間を越えた場合には、最後に加えた対象を次のグループにするという処理を繰り返して診断対象がなくなるまでグルーピングを行う。あるいは、診断計画作成部120は、単位診断時間の大きい順にソーティングした上で、総診断時間を制限時間で割った数のグループに大きい順に割り当てるというような計算をしてグルーピングをする。診断計画作成部120は、作成したグループの実行順序などを適当に決めて診断計画とする。あるいは、診断計画作成部120は、毎回同一の時間で終了するような組み合わせを発見する程度で良い場合もある。なお、「適当に決める」とは、例えばグルーピングした際にグループにIDを順に付与しておき、その順に診断計画するという手法でもよい。
また、出荷後の最初の起動時、例えば、組込み機器800が携帯電話であって、携帯電話ショップの店員が起動したとき、あるいは、組込み機器800がカーナビゲーションシステムであって、自動車販売店の店員が起動したとき、また、組込み機器800が通常の家電であって、ユーザ自らが起動したときなどに、特別な設定をする構成としてもよい。
例えば、組込み機器800が起動すると、最初に、診断実行部200が、全機能を診断し、出荷時設定の設定値に問題がないかどうかや、診断対象の機能がついているかどうかを判断する。また、同時に診断も行い、問題があれば異常と判断して、異常終了する。問題なければ、ユーザの要望する起動時間保障を設定する。起動時間(制限時間)を短くすると、1回の診断対象が減りリスクが大きくなることなどは通知し、推奨値などを示すなどしてもよい。このとき、最低値以下は指定できないようなインタフェースにするのが好ましい。
ユーザの要望が出荷時設定と変更があった場合は、診断計画作成部120が、診断対象のグループ数や診断計画を変更する。
二回目以降の起動時は、通常の診断処理をする。
組込み機器800が起動すると、すぐに診断処理に移る。起動時診断実行部210は、診断計画に基づき、今回の起動でするべき診断処理を抽出する。例えば、順番に診断する場合、前回に診断した部位の次が候補である。また、1日に1回という指定を行っている場合には、診断計画部が診断結果の報告状況に基づいて判断し、診断するべきところがなければ部位なしとする。あるいは、前回の診断からの時間で判断しても構わない。このように実行することによって、一定の起動回数で全部位の診断が可能になる。
抽出された部位(診断項目)の診断処理において、例えば診断対象がメモリであれば、起動時診断実行部210は、あるパターンを書いて読んで正しいことを確認する。あるいは、周辺装置の診断であれば、起動時診断実行部210は、診断用の信号を出力し,想定時間内に想定した信号が戻ることで確認する。
診断が終了すると、起動時診断実行部210は、診断計画部に報告し、いつ実施したかのログを保存し、次の起動時に診断を実施するかしないかなどの判断のための情報とする。
以上説明した診断装置100は、このように構成されているため、通常の利用時にユーザビリティを損なうことなく、ユーザのデータを破壊するなどの可能性を事前診断により排除する可能性を高くできるという効果がある。また実行時にできる診断は実行時に動作させることにより診断の頻度をあげ、より確実な診断ができるという効果がある。
また、組込み機器のソフトウエアやハードウェアのバージョンアップにより起動時間が変わった場合も、制限値を変更するだけで1回の診断量が変わり、制限起動時間までの起動を保障できるという点でも開発の効率化という効果がある。
実施の形態2.
実施の形態2について、図13〜図16を用いて説明する。
なお、実施の形態1で説明した組込み機器800と共通する部分については、同一の符号を付し、説明を省略する。
この実施の形態では、診断項目の重要度に基づいて診断の頻度を変化させる構成、動作中診断計画の他の例、及び、動作中診断項目について診断直前に診断対象を確保する構成について説明する。
図13は、この実施の形態における診断計画作成部120の詳細ブロックの構成の一例を示す詳細ブロック図である。
診断計画作成部120は、制限時間記憶部121、重要度記憶部231、起動時診断項目抽出部232、動作中診断項目抽出部233、重要度更新部234、起動時診断処理初期化部241、残り時間記憶部242、起動時診断処理選択部243、残り時間減算部244、完了判定部245を有する。
制限時間記憶部121は、CPU911を用いて、制限時間入力部130が入力した制限時間を入力し、磁気ディスク装置920を用いて、記憶する。なお、この実施の形態において、制限時間入力部130が入力し、制限時間記憶部121が記憶する制限時間は、起動時制限時間のみであり、動作中制限時間は含まれない。
重要度記憶部231は、CPU911を用いて、診断項目データベース記憶部110が記憶した診断項目すべてについて、診断重要度531を入力する。重要度記憶部231は、RAM914を用いて、入力した診断重要度531を記憶する。
起動時診断項目抽出部232は、CPU911を用いて、重要度記憶部231が記憶した診断重要度を入力する。起動時診断項目抽出部232は、CPU911を用いて、入力した診断重要度に基づいて、起動時診断項目のなかから、最も診断重要度の高い診断項目を抽出する。起動時診断項目抽出部232は、CPU911を用いて、抽出した診断項目を出力する。
動作中診断項目抽出部233は、CPU911を用いて、重要度記憶部231が記憶した診断重要度を入力する。動作中診断項目抽出部233は、CPU911を用いて、入力した診断重要度に基づいて、動作中診断項目のなかから、最も診断重要度の高い診断項目を抽出する。動作中診断項目抽出部233は、CPU911を用いて、抽出した診断項目を出力する。
診断計画記憶部190は、CPU911を用いて、動作中診断項目抽出部233が出力した診断項目を入力する。診断計画記憶部190は、磁気ディスク装置920を用いて、入力した診断項目を順に、動作中診断計画として記憶する。
この実施の形態における動作中診断計画では、一回の動作中診断処理で複数の診断項目を診断するのではなく、一回の診断処理で一つの診断項目を診断する。動作中診断計画は、診断項目を診断する順序を定める。
重要度更新部234は、CPU911を用いて、起動時診断項目抽出部232及び動作中診断項目抽出部233が出力した診断項目を入力する。重要度更新部234は、CPU911を用いて、入力した診断項目について、重要度記憶部231が記憶した診断重要度を更新する。重要度記憶部231は、RAM914を用いて、重要度更新部234が更新した診断重要度を記憶する。
例えば、重要度更新部234は、CPU911を用いて、入力した診断項目について、重要度記憶部231が記憶した診断重要度を「2」で割った商を算出し、更新後の診断重要度とする。
起動時診断処理初期化部241は、CPU911を用いて、制限時間記憶部121が記憶した起動時制限時間を入力する。起動時診断処理初期化部241は、CPU911を用いて、入力した起動時制限時間に基づいて、新たな起動時診断処理を初期化する。具体的には、起動時診断処理初期化部241は、CPU911を用いて、診断計画記憶部190に、新たな起動時診断処理に振り分けられた診断項目を記憶する記憶領域を確保するとともに、残り時間記憶部242に、新たな起動時診断処理の残り時間として、入力した制限時間を設定する。診断計画記憶部190は、磁気ディスク装置920を用いて、新たな起動時診断処理に振り分けられた診断項目を記憶する記憶領域を確保する。
残り時間記憶部242は、磁気ディスク装置920を用いて、診断計画記憶部190が記憶した起動時診断計画に含まれる起動時診断処理のそれぞれについて、残り時間を記憶する。起動時診断処理初期化部241が新たな起動時診断処理を初期化した場合、残り時間記憶部242は、磁気ディスク装置920を用いて、新たな起動時診断処理についての残り時間として、起動時制限時間を記憶する。
起動時診断処理選択部243は、CPU911を用いて、起動時診断項目抽出部232が出力した診断項目を入力する。起動時診断処理選択部243は、CPU911を用いて、入力した診断項目を振り分けるべき起動時診断処理を選択する。起動時診断処理選択部243は、CPU911を用いて、選択した起動時診断処理を出力する。
例えば、起動時診断処理選択部243は、CPU911を用いて、入力した診断項目について、診断項目データベース記憶部110が記憶した診断所要時間521を取得する。起動時診断処理選択部243は、CPU911を用いて、残り時間記憶部242が記憶した残り時間を取得する。起動時診断処理選択部243は、CPU911を用いて、取得した診断所要時間521と、残り時間とに基づいて、残り時間が診断所要時間521以上である起動時診断処理のなかから、入力した診断項目を振り分ける起動時診断処理を選択する。
選択できる起動時診断処理がない場合は、起動時診断処理初期化部241が、CPU911を用いて、新たな起動時診断処理を初期化し、起動時診断処理選択部243は、CPU911を用いて、起動時診断処理初期化部241が初期化した新たな起動時診断処理を選択する。
診断計画記憶部190は、CPU911を用いて、起動時診断処理選択部243が出力した起動時診断処理を入力する。診断計画記憶部190は、磁気ディスク装置920を用いて、入力した起動時診断処理に振り分けられた診断項目を記憶する記憶領域に、起動時診断項目抽出部232が抽出した診断項目を記憶する。
残り時間減算部244は、CPU911を用いて、起動時診断処理選択部243が出力した起動時診断処理を入力する。残り時間減算部244は、CPU911を用いて、入力した起動時診断処理について、残り時間記憶部242が記憶した残り時間から、起動時診断項目抽出部232が抽出した診断項目についての診断所要時間521を差し引いた差を算出する。残り時間記憶部242は、磁気ディスク装置920を用いて、残り時間減算部244が算出した差を、起動時診断処理選択部243が選択した起動時診断処理についての残り時間として記憶する。
完了判定部245は、CPU911を用いて、作成した診断計画が、すべての診断項目を少なくとも一回は実行する診断計画となっているか否かを判定する。
例えば、完了判定部245は、CPU911を用いて、あらかじめ、最も重要度が低い診断項目を抽出しておき、抽出しておいた診断項目を、診断計画記憶部190が記憶した場合に、すべての診断項目を少なくとも一回は実行する診断計画となったと判定する。
図14は、この実施の形態における起動時診断実行部210及び動作中診断実行部220の詳細ブロックの一例を示す詳細ブロック図である。
起動時診断実行部210は、起動時診断回数記憶部211、起動時診断計画取得部212、起動時診断部213、起動時診断回数更新部214を有する。
動作中診断実行部220は、診断済項目記憶部226、動作中診断計画取得部215、動作中診断項目確保部216、動作中診断部224、確保項目開放部222を有する。
実施の形態1と異なり、動作中診断計画取得部215、動作中診断項目確保部216は、起動時診断実行部210ではなく、動作中診断実行部220に含まれる。
診断済項目記憶部226は、磁気ディスク装置920を用いて、診断計画記憶部190が記憶した動作中診断計画に含まれる動作中診断項目のそれぞれについて、診断が終わったか否か(以下「診断済フラグ」と呼ぶ。)を記憶する。
動作中診断計画取得部215は、CPU911を用いて、診断済項目記憶部226が記憶した診断済フラグを入力する。動作中診断計画取得部215は、入力した診断済フラグに基づいて、診断計画記憶部190が記憶した動作中診断計画のなかから、次に実行すべき診断項目を取得する。動作中診断計画取得部215は、CPU911を用いて、取得した診断項目を出力する。
動作中診断項目確保部216は、CPU911を用いて、動作中診断計画取得部215が出力した診断項目を入力する。動作中診断項目確保部216は、CPU911を用いて、入力した診断項目を診断するため、その診断項目の診断対象を確保する。
動作中診断部224は、CPU911を用いて、動作中診断項目確保部216が確保した診断項目についての診断を実行する。
確保項目開放部222は、CPU911を用いて、動作中診断部224が診断を終えた診断項目について、動作中診断項目確保部216が確保した診断対象を開放する。
図15は、この実施の形態における組込み機器800全体の動作の流れの一例を示すフローチャート図である。
起動時診断処理S640において、診断装置100は、CPU911を用いて、診断処理により故障を発見しなかった場合、動作処理S660へ進む。
動作処理S660において、組込み機器800がアイドル状態となった場合、組込み機器800は、CPU911を用いて、動作中診断項目繰り返し工程S658へ進む。
動作中診断項目繰り返し工程S658において、動作中診断計画取得部215は、CPU911を用いて、診断計画記憶部190が記憶した動作中診断計画と、診断済項目記憶部226が記憶した診断済フラグとを入力する。動作中診断計画取得部215は、CPU911を用いて、入力した動作中診断計画と診断済みフラグとに基づいて、まだ診断をしていない診断項目のなかから、診断の順序が最も早い診断項目を取得する。
動作中診断項目確保処理S650において、動作中診断項目確保部216は、CPU911を用いて、動作中診断項目繰り返し工程S658で動作中診断計画取得部215が取得した診断項目について、診断対象を確保する。
動作中診断実行部220は、CPU911を用いて、動作中診断項目確保部216が診断対象の確保に成功した場合、動作中診断処理S690へ進む。
動作中診断実行部220は、CPU911を用いて、動作中診断項目確保部216が診断対象の確保に失敗した場合、繰り返し判定工程S659へ進む。
例えば、確保しようとした診断対象を、他のアプリケーションなどが使用中である場合、動作中診断項目確保部216は、その診断対象の確保に失敗する。
繰り返し判定工程S659において、動作中診断計画取得部215は、CPU911を用いて、今回の診断を諦めるか否かを判定する。
動作中診断計画取得部215は、CPU911を用いて、今回の診断を諦めると判定した場合、動作処理S660に戻る。
動作中診断計画取得部215は、CPU911を用いて、今回の診断を諦めないと判定した場合、動作中診断項目繰り返し工程S658に戻り、次の順番の診断項目を取得する。
例えば、動作中診断項目繰り返し工程S658で動作中診断計画取得部215がまだ診断していない診断項目をすべて取得した場合や、今回取得した診断項目の数が所定の数に達した場合に、動作中診断項目確保部216は、今回の診断を諦めると判定する。
動作中診断処理S690において、動作中診断部224は、CPU911を用いて、動作中診断項目繰り返し工程S658で動作中診断計画取得部215が取得した診断項目について、診断を実行する。
診断済項目記憶部226は、磁気ディスク装置920を用いて、動作中診断部224が診断した診断項目が診断済みであることを表わす診断済フラグを記憶する。
確保項目開放処理S670において、確保項目開放部222は、CPU911を用いて、動作中診断項目確保処理S650で動作中診断項目確保部216が確保した診断対象を開放する。
動作中診断実行部220は、CPU911を用いて、確保項目開放処理S670で動作中診断部224が診断した結果、故障を発見した場合、故障警告工程S710へ進む。
動作中診断実行部220は、CPU911を用いて、確保項目開放処理S670で動作中診断部224が診断した結果、故障を発見しなかった場合、動作処理S660に戻る。
図16は、この実施の形態における診断計画作成部120が診断計画を作成する診断計画作成処理S630の流れの一例を示すフローチャート図である。
診断計画作成処理S630は、例えば、制限時間入力工程S631、初期化工程S721、起動時診断項目抽出工程S722、診断所要時間取得工程S723、診断処理繰り返し工程S724、振り分け済判定工程S725、残り時間比較工程S726、繰り返し判定工程S727、新規診断処理追加工程S728、起動時診断項目設定工程S729、重要度更新工程S730、完了判定工程S731、動作中診断項目抽出工程S732、動作中診断順序設定工程S733、重要度更新工程S734、完了判定工程S735を有する。
制限時間入力工程S631において、制限時間入力部130は、入力装置902を用いて、起動時制限時間を入力する。
初期化工程S721において、起動時診断処理初期化部241は、CPU911を用いて、起動時診断計画として、最初の起動時診断処理を初期化する。残り時間記憶部242は、RAM914を用いて、起動時診断処理初期化部241が初期化した最初の起動時診断処理についての残り時間として、制限時間入力工程S631で制限時間入力部130が入力した起動時制限時間を記憶する。
重要度記憶部231は、CPU911を用いて、診断項目データベース記憶部110が記憶した診断項目すべてについて、診断重要度531を取得し、RAM914を用いて、取得した診断重要度531を記憶する。
診断計画記憶部190は、磁気ディスク装置920を用いて、起動時診断計画として、起動時診断処理初期化部241が初期化した最初の起動時診断処理を記憶する。また、診断計画記憶部190は、磁気ディスク装置920を用いて、動作中診断計画として、動作中診断項目の順序を記憶する記憶領域を初期化する。
起動時診断項目抽出工程S722において、起動時診断項目抽出部232は、CPU911を用いて、重要度記憶部231が記憶した診断重要度に基づいて、診断項目データベース記憶部110が記憶した起動時診断項目のなかから、最も重要度の高い起動時診断項目を抽出する。
診断所要時間取得工程S723において、起動時診断処理選択部243は、CPU911を用いて、起動時診断項目抽出工程S722で起動時診断項目抽出部232が抽出した起動時診断項目について、診断項目データベース記憶部110が記憶した診断所要時間521を取得する。
診断処理繰り返し工程S724において、起動時診断処理選択部243は、CPU911を用いて、設定されている起動時診断処理のうちから、初期化された順に一つずつ起動時診断処理を選択する。
振り分け済判定工程S725において、起動時診断処理選択部243は、CPU911を用いて、診断処理繰り返し工程S724で選択した起動時診断処理のなかに、起動時診断項目抽出工程S722で起動時診断項目抽出部232が抽出した診断項目と同じ項目が既に振り分け済であるか否かを判定する。
起動時診断処理選択部243は、CPU911を用いて、既に振り分け済であると判定した場合、繰り返し判定工程S727へ進む。
起動時診断処理選択部243は、CPU911を用いて、振り分け済でないと判定した場合、残り時間比較工程S726へ進む。
この実施の形態において、診断計画作成部120は、重要度の高い診断項目を、重要度の低い診断項目よりも高い頻度で診断する診断計画を作成するので、一つの起動時診断計画のなかに、同じ診断項目が複数回現れる場合がある。しかし、一回の起動時診断処理のなかで、同じ診断項目を複数回診断しても無意味なので、起動時診断処理選択部243は、選択した起動時診断処理のなかに、同じ診断項目がないかを判定する。
残り時間比較工程S726において、起動時診断処理選択部243は、CPU911を用いて、診断処理繰り返し工程S724で選択した起動時診断処理について、残り時間記憶部242が記憶した残り時間を取得する。起動時診断処理選択部243は、CPU911を用いて、取得した残り時間と、診断所要時間取得工程S723で取得した診断所要時間とを比較する。
起動時診断処理選択部243は、CPU911を用いて、残り時間が診断所要時間以上である場合、起動時診断項目設定工程S729へ進む。
起動時診断処理選択部243は、CPU911を用いて、残り時間が診断処理時間より短い場合、繰り返し判定工程S727へ進む。
繰り返し判定工程S727において、起動時診断処理選択部243は、CPU911を用いて、設定されているすべての起動時診断処理について、残り時間比較工程S726の処理が終わったか否かを判定する。
起動時診断処理選択部243は、CPU911を用いて、未処理の起動時診断処理があると判定した場合、診断処理繰り返し工程S724に戻り、次の起動時診断処理を選択する。
起動時診断処理選択部243は、CPU911を用いて、設定されている起動時診断処理すべてについて、残り時間比較工程S726の処理が終わったと判定した場合、新規診断処理追加工程S728へ進む。
新規診断処理追加工程S728において、起動時診断処理初期化部241は、CPU911を用いて、新しい起動時診断処理を初期化する。残り時間記憶部242は、RAM914を用いて、起動時診断処理初期化部241が初期化した新しい起動時診断処理についての残り時間として、制限時間入力工程S631で制限時間入力部130が入力した起動時制限時間を記憶する。
起動時診断処理選択部243は、CPU911を用いて、起動時診断処理初期化部241が新しく初期化した起動時診断処理を選択する。
起動時診断項目設定工程S729において、診断計画記憶部190は、CPU911を用いて、診断処理繰り返し工程S724または新規診断処理追加工程S728で起動時診断処理選択部243が選択した起動時診断処理で診断をする診断項目に、起動時診断項目抽出工程S722で動作中診断項目抽出工程S732が抽出した診断項目を追加し、磁気ディスク装置920を用いて、記憶する。
残り時間減算部244は、CPU911を用いて、診断処理繰り返し工程S724または新規診断処理追加工程S728で起動時診断処理選択部243が選択した起動時診断処理について、残り時間記憶部242が記憶した残り時間から、診断所要時間取得工程S723で起動時診断処理選択部243が取得した診断所要時間を差し引いた差を算出する。残り時間記憶部242は、RAM914を用いて、残り時間減算部244が算出した差を、診断処理繰り返し工程S724または新規診断処理追加工程S728で起動時診断処理選択部243が選択した起動時診断処理についての残り時間として記憶する。
重要度更新工程S730において、重要度更新部234は、CPU911を用いて、起動時診断項目抽出工程S722で起動時診断項目抽出部232が抽出した起動時診断項目について、重要度記憶部231が記憶した診断重要度を更新する。重要度記憶部231は、RAM914を用いて、重要度更新部234が更新した診断重要度を、起動時診断項目抽出工程S722で起動時診断項目抽出部232が抽出した起動時診断項目についての診断重要度として記憶する。
起動時診断項目抽出工程S722で起動時診断項目抽出部232が抽出した起動時診断項目についての診断重要度を半分にするなどして更新することにより、次回の起動時診断項目抽出工程S722において、起動時診断項目抽出部232は、異なる起動時診断項目を抽出する。しかし、ある起動時診断項目の元々の診断重要度が、別の起動時診断項目の元々の診断重要度の二倍以上であれば、起動時診断項目抽出部232は、診断重要度が低い起動時診断項目を抽出するよりも前に、診断重要度が高い起動時診断項目をもう一度抽出する。診断計画作成部120は、このようにして、診断重要度に応じて診断の頻度が変化する起動時診断計画を作成する。
完了判定工程S731において、完了判定部245は、CPU911を用いて、診断計画記憶部190が記憶した起動時診断計画が、診断項目データベース記憶部110が記憶した起動時診断項目すべてについて、いずれかの起動時診断処理で、少なくとも一回は診断をする起動時診断計画であるか否かを判定する。
いずれの起動時診断処理でも診断をすることとなっていない起動時診断項目がまだあると完了判定部245が判定した場合、診断計画作成部120は、CPU911を用いて、起動時診断項目抽出工程S722に戻り、次の起動時診断項目を抽出する。
すべての起動時診断項目が、いずれかの起動時診断処理で、少なくとも一回は診断をする起動時診断計画であると完了判定部245が判定した場合、診断計画作成部120は、CPU911を用いて、動作中診断項目抽出工程S732へ進む。
動作中診断項目抽出工程S732において、動作中診断項目抽出部233は、CPU911を用いて、重要度記憶部231が記憶した診断重要度に基づいて、診断項目データベース記憶部110が記憶した動作中診断項目のなかから、最も重要度の高い動作中診断項目を抽出する。
動作中診断順序設定工程S733において、診断計画記憶部190は、CPU911を用いて、動作中診断項目抽出工程S732で動作中診断項目抽出部233が抽出した動作中診断項目を、
記憶した動作中診断計画が示す診断の順序の最後に追加する。診断計画記憶部190は、磁気ディスク装置920を用いて、動作中診断項目抽出工程S732で動作中診断項目抽出部233が抽出した動作中診断項目を追加した動作中診断計画を記憶する。
重要度更新工程S734において、重要度更新部234は、CPU911を用いて、動作中診断項目抽出工程S732で動作中診断項目抽出部233が抽出した動作中診断項目について、重要度記憶部231が記憶した診断重要度を更新する。重要度記憶部231は、RAM914を用いて、重要度更新部234が更新した診断重要度を記憶する。
完了判定工程S735において、完了判定部245は、CPU911を用いて、診断計画記憶部190が記憶した動作中診断計画が、診断項目データベース記憶部110が記憶した動作中診断項目すべてについて、少なくとも一回は診断をする動作中診断計画であるか否かを判定する。
一回も診断をすることとなっていない動作中診断項目がまだあると完了判定部245が判定した場合、診断計画作成部120は、CPU911を用いて、動作中診断項目抽出工程S732に戻り、次の動作中診断項目を抽出する。
すべての動作中診断項目が、少なくとも一回は診断をする動作中診断計画であると完了判定部245が判定した場合、診断計画作成部120は、CPU911を用いて、診断計画作成処理S630を終了する。
この実施の形態における診断装置100は、更に、診断重要度記憶部113を有する。
上記診断重要度記憶部113は、上記記憶装置(磁気ディスク装置920)を用いて、上記診断項目記憶部111が記憶した複数の診断項目のそれぞれについて、診断の重要性を表わす診断重要度を記憶する。
上記診断計画作成部120は、上記処理装置(CPU911)を用いて、上記診断重要度記憶部113が記憶した診断重要度に基づいて、診断重要度が高い診断項目ほど高い頻度で診断をする診断計画を作成する。
この実施の形態における診断装置100によれば、診断計画作成部120が、診断の重要性に応じて診断の頻度を変化させる診断計画を作成するので、重大な故障を早く発見することができ、組込み機器800を安全に使用することができる。
以上説明した診断装置100(組み込み機器自己診断装置)は、
プログラムコードを格納するフラッシュメモリ930またはHDDドライブ(磁気ディスク装置920)と、プログラムやデータを格納することができるRAM914とCPU911とをバスで接続し、複数の周辺デバイス(メモリカード読取装置951、カメラ952など)や周辺メモリ(通信メモリ953)を保持した組込み機器800において、
フラッシュメモリ930、HDDドライブ、RAM914、周辺メモリなどを複数の診断対象に分けるメモリ分割部(診断項目記憶部111)と、
周辺機器も診断機能ごとに複数の部位に分ける機器分割部(診断項目記憶部111)と、
分割された診断機能が起動時にのみ実行可能なのか運用時に実行可能かを示す情報(動作中診断可否541)に基づいて、起動時実行グループと実行時実行グループとに分割するグループ分割部(診断項目振り分け部124)と、
各診断機能毎に予め測定した正常に終了するまでの各部位ごとの単位診断処理時間を管理する単位診断処理時間管理部(診断所要時間記憶部112)と、
毎回の診断がほぼ同じ時間で終えることを保証するように診断機能を分割する診断機能分割部(診断計画作成部120)と、
部分的に毎起動ごとに起動時に行える診断対象に対して診断を行う部分診断部(起動時診断実行部210)と、
動作中にも他のプロセスに影響を与えずに実行時診断を行う動作中部分診断部(動作中診断実行部220)と、
一定回数で全体を診断することを保障する診断計画部(診断計画作成部120)とからなる。
以上説明した診断装置100(機器自己診断装置)において、メモリ分割部(診断項目記憶部111)は、フラッシュメモリ930であれば消去ブロック単位、通常のRAM914であれば、一定のアクセスする単位である物理的なページ単位に分割し、実行時には、起動時にアプリケーションから診断対象を確保しておく。
以上説明した診断装置100(機器自己診断装置)において、機器分割部(診断項目記憶部111)は、単に複数の機器グループに分けるだけでなく、例えば一つの制御機器であっても、正常な接続判定と正常な動作判定のように、診断対象とする機能を分割することも含め、実行時には、排他制御を行いながらも一定時間に診断を終了することができる。
以上説明した診断装置100(機器自己診断装置)において、単位診断処理時間管理部(診断所要時間記憶部112)は、分割された各診断対象の単位診断時間(診断所要時間)を起動時、実行時ごとに保持する。
以上説明した診断装置100(機器自己診断装置)において、診断機能分割部(診断計画作成部120)は、単位診断時間(診断所要時間)を利用してすべて同一の時間で診断できるように診断機能を分割する。
以上説明した診断装置100(機器自己診断装置)において、診断機能分割部(診断計画作成部120)は、単位診断時間(診断所要時間)を利用してすべて一定時間以内で診断できるように診断機能を分割する。
以上説明した診断装置100(機器自己診断装置)において、部分診断部(診断実行部200)は、分割された診断機能から0つ以上の機能を診断計画部(診断計画作成部120)の指示に基づいて選択し、起動時および実行時に診断する。
以上説明した診断装置100(機器自己診断装置)において、診断計画部(診断計画作成部120)は、部分診断部(診断実行部200)に対して、1回の起動時の診断は起動時のみ一定時間に終えることを指示し、実行時にはアイドル中に実行することにより部分的な診断を行う。
以上説明した診断装置100において、実行時の診断機能は、アプリケーションとして実行する。診断アプリケーションは、アイドルプロセスより少し高い程度の優先度で動作させる。なお、優先度制御のないOS環境やOSの存在しない場合は、アイドル状態となったときに処理が動作するようにする。
組込み機器800の起動時において、動作中診断計画取得部215は、診断計画に従い診断部位(診断項目)を抽出する。この処理は、起動時の診断計画とほぼ同じであるが、実行時に診断できる部分のみが対象となる。動作中診断項目確保部216は、例えばメモリ診断であれば、対象となるメモリを使う旨宣言して確保し、他のアプリケーションなどには使わせないようにする。なお、周辺機器など、確保してしまうと通常のアプリケーションが動作できないような場合は、確保しない。
組込み機器800がアイドル状態になった場合、動作中診断実行部220は、あらかじめ計画された診断計画に基づき診断を開始する。ただし、メモリを確保していなかった場合などは、メモリの移動(退避)を行うことにより問題のない場合は移動(退避)を行って診断する。問題のある場合はスキップする。周辺機器の場合も同様で使われている場合には、スキップする。
動作中診断実行部220は、結果を報告し、次の診断候補を抽出して、処理を繰り返す。
なお、診断処理中に優先度の高いプロセスが周辺機器を使いにきた場合は,診断はやめてリソースを開放するために、診断プログラムは単位診断ごとにリソースを確保しては開放する構成としてもよい。こうすることにより、一定時間以内での診断中でも他の処理の動作を保障するための中断をすることができる。
実施の形態3.
実施の形態3について、図17〜図19を用いて説明する。
なお、実施の形態2で説明した組込み機器800と共通する部分については、同一の符号を付し、説明を省略する。
この実施の形態では、状況に応じて動的に診断計画を変更する構成について説明する。
図17は、この実施の形態における診断装置100の機能ブロックの構成の一例を示すブロック構成図である。
診断装置100は、実施の形態1で説明した機能ブロックに加えて、更に、診断対象利用率計測部155を有する。
診断対象利用率計測部155は、CPU911を用いて、診断項目データベース記憶部110が記憶した診断項目それぞれの診断対象について、その診断対象の利用率を計測する。診断対象利用率計測部155は、CPU911を用いて、計測した利用率を出力する。
例えば、診断対象利用率計測部155は、CPU911を用いて、診断対象が利用されるたびに、利用回数を計数し、所定の期間内に診断対象が利用された利用回数に基づいて、利用率を算出する。
診断項目データベース記憶部110は、CPU911を用いて、診断対象利用率計測部155が出力した利用率を入力する。診断項目データベース記憶部110は、CPU911を用いて、入力した利用率に基づいて、記憶した診断重要度531を更新する。診断項目データベース記憶部110は、磁気ディスク装置920を用いて、更新した診断重要度531を記憶する。
例えば、利用者が組込み機器800の撮影機能を滅多に利用せず、カメラ952の利用率が低い場合、カメラ952の故障を診断する重要性は低い。診断項目データベース記憶部110は、CPU911を用いて、利用率が低い診断対象についての診断項目について、診断重要度531を低くする。
逆に、利用者が毎回必ず利用する機能を実現する診断対象については、その診断対象の故障が致命的なものでなくても、その利用者にとっては、故障を診断する重要性が高いといえる。診断項目データベース記憶部110は、CPU911を用いて、利用率が高い診断対象についての診断項目について、診断重要度531を高くする。
なお、組込み機器800の動作にとって故障が致命的である診断対象については、たとえ利用率が低くても、診断の重要性が高い。したがって、そのような診断対象についての診断項目は、利用率にかかわらず、高い診断重要度531とする。
このように、利用率とは無関係に診断重要度531を設定する診断対象について利用率を計測する必要がないので、診断対象利用率計測部155が、利用率を計測しない構成であってもよい。
図18は、この実施の形態における診断計画作成部120の詳細ブロックの構成の一例を示す詳細ブロック図である。
診断計画作成部120は、例えば、、優先度記憶部251、起動時診断項目抽出部232、動作中診断項目抽出部233、優先度更新部254、診断間隔記憶部255、診断間隔更新部256、診断間隔加算部257、重要度加算部258、故障可能性加算部259、制限時間記憶部121、起動時診断処理初期化部241、残り時間記憶部242、起動時診断処理選択部243、残り時間減算部244、完了判定部245を有する。
優先度記憶部251は、磁気ディスク装置920を用いて、診断項目データベース記憶部110が記憶した診断項目それぞれについての優先度を記憶する。優先度とは、その診断項目を診断する順序を判定する目安となる数値であり、優先度が高いほど、その診断項目を他の診断項目に優先して診断すべきことを表わす。優先度記憶部251が記憶した優先度は、組込み機器800の状況に応じて更新される。
起動時診断項目抽出部232は、CPU911を用いて、優先度記憶部251が記憶した優先度を入力する。起動時診断項目抽出部232は、CPU911を用いて、入力した優先度に基づいて、診断項目データベース記憶部110が記憶した起動時診断項目のなかから、最も優先度の高い起動時診断項目を抽出する。起動時診断項目抽出部232は、CPU911を用いて、抽出した起動時診断項目を出力する。
動作中診断項目抽出部233は、CPU911を用いて、優先度記憶部251が記憶した優先度を入力する。動作中診断項目抽出部233は、CPU911を用いて、入力した優先度に基づいて、診断項目データベース記憶部110が記憶した動作中診断項目のなかから、最も優先度の高い動作中診断項目を抽出する。動作中診断項目抽出部233は、CPU911を用いて、抽出した動作中診断項目を出力する。
優先度更新部254は、CPU911を用いて、起動時診断項目抽出部232及び動作中診断項目抽出部233が抽出した診断項目を入力する。優先度更新部254は、CPU911を用いて、入力した診断項目について、優先度記憶部251が記憶した優先度を更新する。優先度記憶部251は、磁気ディスク装置920を用いて、優先度更新部254が更新した優先度を記憶する。
例えば、優先度更新部254は、CPU911を用いて、入力した診断項目について優先度記憶部251が記憶した優先度を入力し、入力した優先度から所定の値を減算して、更新後の優先度とする。
これにより、その診断項目について診断をする診断計画が作成された診断項目の優先度が低くなる。
診断間隔記憶部255は、磁気ディスク装置920を用いて、診断項目データベース記憶部110が記憶したすべての診断項目について、診断間隔を記憶する。診断間隔とは、その診断項目について前回診断をしてからの間隔である。例えば、診断間隔は、その診断項目について診断をしたのち、その診断項目を含まない診断処理を実行した回数である。あるいは、最後にその診断項目について診断をしてからの経過日数などであってもよい。
診断間隔更新部256は、CPU911を用いて、起動時診断項目抽出部232及び動作中診断項目抽出部233が抽出した診断項目を入力する。診断間隔更新部256は、CPU911を用いて、入力した診断項目に基づいて、診断間隔記憶部255が記憶した診断間隔を更新する。診断間隔記憶部255は、磁気ディスク装置920を用いて、診断間隔更新部256が更新した診断間隔を記憶する。
例えば、診断間隔更新部256は、CPU911を用いて、入力した診断項目について、診断間隔更新部256が記憶した診断間隔を「0」にし、それ以外の診断項目について、診断間隔更新部256が記憶した診断間隔に「1」を加える。
診断間隔加算部257は、CPU911を用いて、診断間隔記憶部255が記憶した診断間隔を入力する。診断間隔加算部257は、CPU911を用いて、入力した診断間隔に基づいて、優先度記憶部251が記憶した優先度を更新する。優先度記憶部251は、磁気ディスク装置920を用いて、診断間隔加算部257が更新した優先度を記憶する。
例えば、診断間隔加算部257は、CPU911を用いて、それぞれの診断項目について、診断間隔記憶部255が記憶した診断間隔を入力し、入力した診断間隔と、所定の閾値とを比較する。診断間隔加算部257は、CPU911を用いて、診断間隔が所定の閾値よりも大きい場合に、その診断項目について、優先度記憶部251が記憶した優先度を入力し、入力した優先度に所定の値を加算して、更新後の優先度とする。
これにより、所定の間隔より長い間、診断されていない診断項目の優先度が高くなる。
重要度加算部258は、CPU911を用いて、診断項目データベース記憶部110が記憶した診断重要度531を入力する。重要度加算部258は、CPU911を用いて、入力した診断重要度531に基づいて、優先度記憶部251が記憶した優先度を更新する。優先度記憶部251は、磁気ディスク装置920を用いて、重要度加算部258が更新した優先度を記憶する。
例えば、重要度加算部258は、CPU911を用いて、診断項目データベース記憶部110が記憶した診断項目それぞれについて、診断重要度531を入力する。重要度加算部258は、CPU911を用いて、その診断項目について、優先度記憶部251が記憶した優先度を入力する。重要度加算部258は、CPU911を用いて、入力した優先度に、入力した診断重要度531を加算して、更新後の優先度とする。
これにより、重要度が高い診断項目の優先度は、重要度が低い診断項目の優先度よりも速い速度で高くなる。
故障可能性加算部259は、CPU911を用いて、異常状況判定部140が出力した判定結果を入力する。故障可能性加算部259は、CPU911を用いて、入力した判定結果に基づいて、異常状況が発生したと異常状況判定部140が判定した場合に、診断項目データベース記憶部110が記憶した故障発生可能性551,552のなかから、異常状況判定部140が判定した異常状況についての故障発生可能性を取得する。故障可能性加算部259は、CPU911を用いて、取得した故障発生可能性に基づいて、優先度記憶部251が記憶した優先度を更新する。優先度記憶部251は、磁気ディスク装置920を用いて、故障可能性加算部259が更新した優先度を記憶する。
例えば、故障可能性加算部259は、CPU911を用いて、診断項目データベース記憶部110が記憶した診断項目それぞれについて、故障発生可能性を入力する。故障可能性加算部259は、CPU911を用いて、その診断項目について、優先度記憶部251が記憶した優先度を入力する。故障可能性加算部259は、CPU911を用いて、入力した優先度に、入力した故障発生可能性を加算して、更新後の優先度とする。
これにより、異常状況が発生した場合に、故障発生の可能性が高くなった診断項目の優先度が高くなる。
完了判定部245は、CPU911を用いて、診断計画の作成が完了したか否かを判定する。
この実施の形態における完了判定部245は、実施の形態2と異なり、ある程度のところまで診断計画が作成できたら、作成が完了したと判定する。
例えば、完了判定部245は、CPU911を用いて、次回実行すべき起動時診断処理について残り時間記憶部242が記憶した残り時間が、所定の閾値よりも短くなった場合、起動時診断計画の作成が完了したと判定する。
また、完了判定部245は、CPU911を用いて、動作中診断計画として診断を実行する順序を定めた動作中診断項目の数が、所定の数以上になった場合に、動作中診断計画の作成が完了したと判定する。
あるいは、完了判定部245は、CPU911を用いて、優先度記憶部251が記憶した優先度が所定の閾値以上の診断項目がなくなった場合に、診断計画の作成が完了したと判定する構成としてもよい。
図19は、この実施の形態における組込み機器800全体の動作の流れの一例を示すフローチャート図である。
実施の形態2と比較して、診断計画作成処理S740がある点が異なる。
この実施の形態における診断計画作成処理S630において、診断計画作成部120は、CPU911を用いて、完全な診断計画を作成するのではなく、状況の変化に柔軟に応じられるよう、とりあえず次回(もしくは数回先まで)の診断処理が実行できる程度の暫定的な診断計画を作成する。
そのため、組込み機器800がアイドル状態となり、動作中診断処理が終わった段階(もしくは診断対象が確保できなかったために動作中診断処理ができなかった段階)で、診断計画作成処理S740を実行する。
診断計画作成処理S740において、診断計画作成部120は、CPU911を用いて、暫定的な診断計画を作成する。このとき、診断計画作成部120は、診断計画記憶部190が記憶した診断計画を初期化して、また最初から診断計画を作成する構成でもよいし、診断計画記憶部190が記憶した診断計画を初期化せず、作成済の診断計画の続きとして、診断計画を作成する構成でもよい。
診断計画記憶部190は、磁気ディスク装置920を用いて、診断計画作成部120が作成した診断計画を記憶する。
なお、診断計画作成部120は、組込み機器800がアイドル状態となった場合だけでなく、組込み機器800の動作を終了させる終了時にも、診断計画を作成する構成としてもよい。そうすれば、組込み機器800がアイドル状態となる前に組込み機器800の動作が終了するなどした場合であっても、診断計画作成部120が作成した診断計画が枯渇することがなくなるので、組込み機器800の起動時に、診断計画作成処理S630を実行する機会がほとんどなくなり、組込み機器800の起動時における待ち時間を短くすることができる。
この実施の形態における診断装置100は、更に、異常状況判定部140と、故障発生可能性記憶部115とを有する。
上記異常状況判定部140は、上記処理装置(CPU911)を用いて、上記対象装置(組込み機器800)が故障しやすくなる異常状況が発生したか否かを判定する。
上記故障発生可能性記憶部115は、上記記憶装置(磁気ディスク装置920)を用いて、上記診断項目記憶部111が記憶した複数の診断項目のそれぞれについて、上記異常状況判定部140が判定する異常状況が発生した場合に上記対象装置(組込み機器800)が故障する可能性を表わす故障発生可能性551,552を記憶する。
上記診断計画作成部120は、上記処理装置(CPU911)を用いて、異常状況が発生したと上記異常状況判定部140が判定した場合に、上記故障発生可能性記憶部115が記憶した故障発生可能性に基づいて、故障する可能性の高い診断項目ほど優先して診断をする診断計画を作成する。
この実施の形態における診断装置100によれば、異常状況が発生した場合に、故障する可能性の高い診断項目ほど優先して診断をする診断計画を、診断計画作成部120が作成するので、異常状況により発生した故障を早期に発見することができ、組込み機器800を安全に使用することができる。
以上説明した診断装置100(機器起動時自己診断装置、機器自己診断装置)において、診断計画部(診断計画作成部120)は、利用率に基づき、よく利用される部分の診断頻度を上げる。
例えば、メモリや外部装置へのアクセスの頻度をとっておき、利用頻度の高かったメモリ部位や利用頻度の高かった装置を中心に重みをつけて、診断計画を作成する。
あるいは、診断実行部200が診断計画から診断項目を抽出する際に、アクセス履歴を利用して利用率の高いものに重みをつけて選択する構成としても良い。
以上説明した診断装置100(機器起動時自己診断装置、機器自己診断装置)において、診断計画部(診断計画作成部120)は、部分診断部(診断実行部200)に対して、1日1回あるいは前回の起動から一定時間以上たったとき、あるいは当該組込み機器800が使われる状況下において高温や低温、振動状態など通常とは異なる状況になったときのみ外部機器からの情報に基づいて起動時の診断を行うことを指示することにより診断を行う。
例えば、温度計や衝撃センサなどで異常な高温や衝撃を受けたと判断できるような情報がある場合は、関連する部位(例えば温度であればCPU、衝撃であればHDD)を優先的に診断対象とする診断計画を作成する。
あるいは、診断実行部200が診断計画から診断項目を抽出する際に、外部のセンサーの情報を利用して異常状態があった場合に関連する部位の診断の優先度を高くする構成としても良い。
実施の形態4.
実施の形態4について、図20を用いて説明する。
なお、実施の形態3で説明した組込み機器800と共通する部分については、同一の符号を付し、説明を省略する。
この実施の形態では、異常状況が発生した場合に、すべての診断項目についての診断を終えるまでの所要回数を少なくする構成について説明する。
図20は、この実施の形態における診断計画作成部120の詳細ブロックの構成の一例を示す詳細ブロック図である。
診断計画作成部120は、実施の形態3で説明した機能ブロックに加えて、制限時間緩和部261を有する。
制限時間緩和部261は、CPU911を用いて、異常状況判定部140が出力した判定結果を入力する。制限時間緩和部261は、CPU911を用いて、入力した判定結果に基づいて、以上状況が発生したと異常状況判定部140が判定した場合に、制限時間記憶部121が記憶した制限時間を緩和する。制限時間記憶部121は、磁気ディスク装置920を用いて、制限時間緩和部261が緩和した制限時間を記憶する。
例えば、制限時間緩和部261は、CPU911を用いて、制限時間記憶部121が記憶した制限時間を入力し、入力した制限時間を「1.25」倍して、緩和した制限時間とする。
これにより、異常状況が発生した場合は、通常時よりも、少ない所要回数(以下「異常時診断回数」と呼ぶ。)で、すべての診断項目についての診断をすることができる。
あるいは、制限時間緩和部261は、CPU911を用いて、あらかじめ定められた異常時診断回数に基づいて、異常時診断回数の診断処理ですべての診断項目についての診断が終了するよう、緩和した制限時間を算出する構成であってもよい。
例えば、診断計画作成部120は、CPU911を用いて、すべての診断項目について少なくとも一回は診断をする診断計画を作成し、その診断計画における診断所要回数を算出する。制限時間緩和部261は、CPU911を用いて、制限時間記憶部121が記憶した制限時間と、算出した診断所要回数との積を算出し、算出した積を、所定の異常時診断回数で割った商を算出し、算出した商を、緩和した制限時間とする。
これにより、異常状況が発生した場合は、あらかじめ定めた異常時診断回数で、すべての診断項目についての診断をすることができる。
また、制限時間緩和部261は、CPU911を用いて、制限時間記憶部121が記憶した制限時間を緩和したのち、組込み機器800が故障していないことを確認できたか否かを判定する。制限時間緩和部261は、CPU911を用いて、組込み機器800が故障していないことを確認できたと判定した場合、制限時間記憶部121が記憶した制限時間を元に戻す。制限時間記憶部121は、磁気ディスク装置920を用いて、制限時間緩和部261が元に戻した制限時間を記憶する。
例えば、制限時間緩和部261は、CPU911を用いて、制限時間記憶部121が記憶した制限時間を入力し、入力した制限時間を「0.8」倍して、元に戻した制限時間とする。
組込み機器800が故障していないことを確認する方式には、例えば、以下の方式がある。
制限時間緩和部261は、CPU911を用いて、制限時間記憶部121が記憶した制限時間を緩和して以降における組込み機器800の起動回数を計数することにより、起動時診断処理の実行回数を算出する。制限時間緩和部261は、算出した実行回数に基づいて、すべての診断項目についての診断を終えるに十分な回数の起動時診断処理を実行した場合に、組込み機器800が故障していないことが確認できたと判定する。
この実施の形態における診断装置100は、更に、異常状況判定部140を有する。
上記異常状況判定部140は、、上記処理装置(CPU911)を用いて、上記対象装置(組込み機器800)が故障しやすくなる異常状況が発生したか否かを判定する。
上記診断計画作成部120は、上記処理装置(CPU911)を用いて、異常状況が発生したと上記異常状況判定部140が判定した場合に、所定の異常時診断回数の診断処理により、上記診断項目記憶部111が記憶した複数の診断項目について診断をする診断計画を作成し、異常状況が発生していないと上記異常状況判定部140が判定した場合に、上記所定の異常時診断回数よりも多い回数の診断処理により、上記診断項目記憶部111が記憶した複数の診断項目について診断をする診断計画を作成する。
この実施の形態における診断装置100によれば、異常状況が発生した場合に、通常よりも少ない診断所要回数ですべての診断項目についての診断をする診断計画を、診断計画作成部120が作成するので、異常状況により発生した故障を早期に発見することができ、組込み機器800を安全に使用することができる。
実施の形態1における組込み機器800のハードウェア構成の一例を示すハードウェア構成図。 実施の形態1における組込み機器800のソフトウェアの階層構成の一例を示すソフトウェア階層図。 実施の形態1における診断装置100の機能ブロックの構成の一例を示すブロック構成図。 実施の形態1における診断項目データベース記憶部110が記憶する診断項目に関する情報の一例を示す図。 実施の形態1における診断計画作成部120の詳細ブロックの構成の一例を示す詳細ブロック図。 実施の形態1における診断計画作成部起動時診断実行部210及び動作中診断実行部220の詳細ブロックの構成の一例を示す詳細ブロック図。 実施の形態1における組込み機器800全体の動作の流れの一例を示すフローチャート図。 実施の形態1における診断計画作成部120が診断計画を作成する診断計画作成処理S630の流れの一例を示すフローチャート図。 実施の形態1における診断計画作成処理において、診断項目振り分け部124が診断項目を振り分ける様子を示す概念図。 実施の形態1における起動時診断実行部210が組込み機器800の起動時に自己診断をする起動時診断処理S640の流れの一例を示すフローチャート図。 実施の形態1における起動時診断実行部210が動作中診断処理のために動作中診断項目を確保する動作中診断項目確保処理S650の流れの一例を示すフローチャート図。 実施の形態1における動作中診断実行部220が組込み機器800の動作中に自己診断をする動作中診断処理S690の流れの一例を示すフローチャート図。 実施の形態2における診断計画作成部120の詳細ブロックの構成の一例を示す詳細ブロック図。 実施の形態2における起動時診断実行部210及び動作中診断実行部220の詳細ブロックの一例を示す詳細ブロック図。 実施の形態2における組込み機器800全体の動作の流れの一例を示すフローチャート図。 実施の形態2における診断計画作成部120が診断計画を作成する診断計画作成処理S630の流れの一例を示すフローチャート図。 実施の形態3における診断装置100の機能ブロックの構成の一例を示すブロック構成図。 実施の形態3における診断計画作成部120の詳細ブロックの構成の一例を示す詳細ブロック図。 実施の形態3における組込み機器800全体の動作の流れの一例を示すフローチャート図。 実施の形態4における診断計画作成部120の詳細ブロックの構成の一例を示す詳細ブロック図。
符号の説明
100 診断装置、110 診断項目データベース記憶部、111 診断項目記憶部、112 診断所要時間記憶部、113 診断重要度記憶部、114 動作中診断可否記憶部、115 故障発生可能性記憶部、120 診断計画作成部、121 制限時間記憶部、122 総所要時間算出部、123 診断所要回数算出部、124 診断項目振り分け部、125 診断計画記憶部、130 制限時間入力部、140 異常状況判定部、150 診断所要時間計測部、155 診断対象利用率計測部、160 診断結果記憶部、170 診断結果出力部、190 診断計画記憶部、200 診断実行部、210 起動時診断実行部、211 起動時診断回数記憶部、212 起動時診断計画取得部、213 起動時診断部、214 起動時診断回数更新部、215 動作中診断計画取得部、216 動作中診断項目確保部、220 動作中診断実行部、221 動作中診断回数記憶部、222 確保項目開放部、223 診断項目確保判定部、224 動作中診断部、225 動作中診断回数更新部、226 診断済項目記憶部、231 重要度記憶部、232 起動時診断項目抽出部、233 動作中診断項目抽出部、234 重要度更新部、241 起動時診断処理初期化部、242 残り時間記憶部、243 起動時診断処理選択部、244 残り時間減算部、245 完了判定部、251 優先度記憶部、252 起動時優先項目抽出部、253 動作中優先項目抽出部、254 優先度更新部、255 診断間隔記憶部、256 診断間隔更新部、257 診断間隔加算部、258 重要度加算部、259 故障可能性加算部、261 制限時間緩和部、511 診断対象、512 診断内容、521 診断所要時間、531 診断重要度、541 動作中診断可否、551,552 故障発生可能性、800 組込み機器、810 メモリカード、901 表示装置、902 入力装置、908 スピーカ、911 CPU、914 RAM、920 磁気ディスク装置、921 OS、922 ミドルウェア、923〜925 アプリケーション、930 フラッシュメモリ、951 メモリカード読取装置、952 カメラ、953 通信メモリ、961 温度センサ、962 衝撃センサ。

Claims (11)

  1. 診断対象である1つまたは複数の対象装置に対する複数の診断項目が記憶された記憶装置と、
    上記複数の診断項目を複数回の診断処理に振り分け、これらの診断処理のうちの一回の診断処理が実行され他の回の診断処理が省略される処理が上記対象装置の起動時に実行され上記対象装置の起動が繰り返されることによって上記複数回の診断処理網羅される診断計画を、上記複数の診断項目の診断にかかる所要時間に基づいて作成する診断計画作成部と、
    上記対象装置の起動時に、上記診断計画作成部が作成した診断計画に基づいて、上記複数回の診断処理のなかの一回の診断処理を実行する診断実行部と、
    を備えたことを特徴とする診断装置。
  2. 上記診断計画作成部は、上記所要時間の増加に従って上記診断処理の回数が増加するように上記所要時間に基づいて上記診断処理の回数を決定し、この決定した回数に基づき上記複数の診断項目を振り分けることにより上記診断計画を作成することを特徴とする請求項1に記載の診断装置。
  3. 上記診断計画作成部は、上記対象装置の起動時において上記対象装置を診断するための診断計画が作成されているか否かを判定し、まだ作成されていない場合に、上記複数の診断項目のそれぞれの診断にかかる所要時間に基づいて、一回あたりの処理時間が予め定められた制限時間以内となるように、上記複数の診断項目を複数回の診断処理に振り分けて上記診断計画を作成することを特徴とする請求項1に記載の診断装置。
  4. 上記複数の診断項目のそれぞれについて、上記診断実行部が診断をするのに要した上記所要時間を計測する診断所要時間計測部を備え、
    上記記憶装置が、上記診断所要時間計測部が計測した上記所要時間を記憶することを特徴とする請求項3に記載の診断装置。
  5. 上記記憶装置は、上記複数の診断項目のそれぞれについて、上記対象装置の動作中に診断できる項目であるか否かを表わす動作中診断可否フラグを記憶し、
    上記診断計画作成部は、上記動作中診断可否フラグに基づいて、上記複数の診断項目を、上記対象装置の動作中に診断できる動作中診断可能項目と上記対象装置の動作中に診断できない動作中診断不可項目とに分類し、上記診断計画として上記動作中診断不可項目の診断を起動時に実行する起動時診断計画を作成するとともに、起動終了後の動作中に実行する動作中診断計画として上記動作中診断可能項目を複数回の動作中の診断処理に分けて診断する診断計画を作成し、
    上記診断実行部は、上記対象装置が動作中の場合に、上記動作中診断計画に基づいて、上記複数回の動作中の診断処理のなかの一回の診断処理を実行することを特徴とする請求項1乃至請求項4のいずれかに記載の診断装置。
  6. 上記診断実行部は、上記対象装置がアイドル状態となった場合に、上記診断計画作成部が作成した上記動作中診断計画に基づいて、複数回に分けられた上記動作中の診断処理のうちの一回の診断処理を実行することを特徴とする請求項5に記載の診断装置。
  7. 上記複数の診断項目のそれぞれについて、診断の重要性を表わす診断重要度が上記記憶装置に記憶され、
    上記診断計画作成部は、上記診断重要度に基づいて、上記診断重要度が高い診断項目ほど高い頻度で診断を行う診断計画を作成することを特徴とする請求項1乃至請求項6のいずれかに記載の診断装置。
  8. 上記対象装置が故障しやすくなる異常状況が発生したか否かを判定する異常状況判定部を備え、
    上記診断計画作成部は、異常状況が発生したと上記異常状況判定部が判定した場合に、異常状況が発生していないと上記異常状況判定部が判定した場合よりも少ない回数の診断処理により、上記複数の診断項目について診断をする診断計画を作成することを特徴とする請求項1乃至請求項7のいずれかに記載の診断装置。
  9. 上記対象装置が故障しやすくなる異常状況が発生したか否かを判定する異常状況判定部を備え、
    上記記憶装置は、上記複数の診断項目のそれぞれについて、上記異常状況判定部が判定する異常状況が発生した場合に上記対象装置が故障する可能性を表わす故障発生可能性を記憶し、
    上記診断計画作成部は、異常状況が発生したと上記異常状況判定部が判定した場合に、上記記憶装置に記憶された上記故障発生可能性に基づいて、故障する可能性の高い診断項目ほど優先して診断をする診断計画を作成することを特徴とする請求項1乃至請求項7のいずれかに記載の診断装置。
  10. 診断対象である対象装置の故障を診断するコンピュータに、
    上記コンピュータの記憶装置に記憶された複数の診断項目を複数回の診断処理に振り分け、これらの診断処理のうちの一回の診断処理が実行され他の回の診断処理が省略される処理が上記対象装置の起動時に実行され上記対象装置の起動が繰り返されることによって上記複数回の診断処理網羅される診断計画を、上記複数の診断項目の診断にかかる所要時間に基づいて作成するステップと、
    上記対象装置が起動したときに、上記診断計画に基づいて上記複数回の診断処理のなかの一回の診断処理を実行するステップと、を実行させるコンピュータプログラム。
  11. コンピュータが診断対象である対象装置に対する複数の診断項目を複数回の診断処理に振り分け、これらの診断処理のうちの一回の診断処理が実行され他の回の診断処理が省略される処理が上記対象装置の起動時に実行され上記対象装置の起動が繰り返されることによって上記複数回の診断処理網羅される診断計画を、上記複数の診断項目の診断にかかる所要時間に基づいて作成するステップと、
    上記コンピュータが、上記対象装置が起動したときに、上記診断計画に基づいて上記複数回の診断処理のなかの一回の診断処理を実行するステップと、を備えた診断方法。
JP2008294340A 2008-11-18 2008-11-18 診断装置及びコンピュータプログラム及び診断方法 Expired - Fee Related JP5355049B2 (ja)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5617420B2 (ja) * 2010-08-06 2014-11-05 アイシン・エィ・ダブリュ株式会社 ナビゲーション装置、診断方法および診断プログラム
JP5617419B2 (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 マツダ株式会社 車両用電源制御装置
JP6032369B2 (ja) * 2013-08-01 2016-11-24 富士通株式会社 情報処理装置、診断方法、診断プログラム、及び情報処理システム
JP6327539B2 (ja) * 2013-12-24 2018-05-23 華為終端(東莞)有限公司 インテリジェント端末のハードウェアが異常動作しているかどうかをチェックするための方法およびインテリジェント端末
JP6295113B2 (ja) * 2014-03-17 2018-03-14 ルネサスエレクトロニクス株式会社 自己診断装置及び自己診断方法
JP6172040B2 (ja) * 2014-05-09 2017-08-02 株式会社デンソー 電子制御装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
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> 故障箇所特定化方法及び故障箇所特定化プログラムを記録した媒体

Also Published As

Publication number Publication date
JP2010122790A (ja) 2010-06-03

Similar Documents

Publication Publication Date Title
JP5355049B2 (ja) 診断装置及びコンピュータプログラム及び診断方法
US8423718B2 (en) Low-overhead run-time memory leak detection and recovery
US8024609B2 (en) Failure analysis based on time-varying failure rates
US20060085664A1 (en) Component-based application constructing method
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
US20230009868A1 (en) Error information processing method and device, and storage medium
US8214693B2 (en) Damaged software system detection
JP2021502663A (ja) ハードディスクドライブの寿命予測
KR20100010390A (ko) 마이크로컴퓨터와 마이크로컴퓨터의 제어방법
JPWO2010113212A1 (ja) メモリリーク監視装置、及び方法
JP6880961B2 (ja) 情報処理装置、およびログ記録方法
CN112133357A (zh) 一种eMMC的测试方法及装置
EP3121724A1 (en) Method for monitoring a software program and corresponding electronic device, communication system, computer readable program product and computer readable storage medium
JP2020129275A (ja) 情報処理装置、方法、およびプログラム
CN115422010A (zh) 数据集群中的节点管理方法、装置及存储介质
JP2010165007A (ja) 情報処理装置
JP5696492B2 (ja) 故障検出装置、故障検出方法、及び、故障検出プログラム
CN112527343A (zh) 固件更新方法、装置、计算机设备和存储介质
JP2015130023A (ja) 情報記録装置、情報処理装置、情報記録方法、及び情報記録プログラム
TWI750783B (zh) 基本輸入輸出系統的復原系統及方法
JP7368552B1 (ja) 情報処理装置、及び制御方法

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