(57)【要約】【課題】ＣＰＵを搭載した組み込み装置において、発生した障害の要因を特定することを容易にする。【解決手段】タスクの実行中に障害が発生すると、障害情報を示すメッセージを発行するタスクを行い、対応するメッセージキューにおいてキュー処理を行い相手先を特定する識別子をメッセージに添付する。メッセージを受け取ると、データ記録媒体へのアクセス手順を示すメッセージを発行する障害発行タスクを行い、データ記録媒体に対してリード／ライトアクセス及びマウント／アンマウント制御を実行し、データ記録媒体に障害情報を示すメッセージを書き込む。【選択図】  図１
2004348359.tif 000002
【特許請求の範囲】
【請求項１】
ＣＰＵを搭載した組み込み装置においてタスクを実行中に障害が発生した場合に障害情報を発行し、該障害情報の発行に基づきデータ記録媒体に前記障害情報を保存するために必要である制御手順を発行し、該制御手順に基づき前記データ記録媒体に前記障害情報を保存することを特徴とする障害情報取得方法。
【請求項２】
前記障害情報の発行及び前記制御手順の発行はメッセージキューを利用して行われ、前記障害情報を示すメッセージ及び前記制御手順を示すメッセージの送信により前記障害情報の発行及び前記制御手順の発行が行われることを特徴とする請求項１記載の障害情報取得方法。
【請求項３】
前記障害情報は障害内容及び障害の発生に関係するタスクの名称を含むことを特徴とする請求項１または請求項２記載の障害情報取得方法。
【請求項４】
障害の影響による前記組み込み装置に対するリセット制御が実施される前に、前記障害情報を発行し、前記制御手順を発行し、前記障害情報を保存することを特徴とする請求項１または請求項２記載の障害情報取得方法。
【請求項５】
前記障害情報の発行に基づき前記組み込み装置の内部メモリに前記障害情報を保存することを特徴とする請求項１または請求項２記載の障害情報取得方法。
【請求項６】
ＣＰＵを搭載した組み込み装置においてタスクを実行中に障害が発生した場合に障害情報を発行する第１の機能部と、該障害情報の発行に基づきデータ記録媒体に前記障害情報を保存するために必要である制御手順を発行する第２の機能部と、前記制御手順に基づき前記データ記録媒体に前記障害情報を保存する第３の機能部とを備えた障害情報取得装置。
【請求項７】
前記第１の機能部の障害情報の発行及び前記第２の機能部の制御手順の発行はメッセージキューを利用して行われ、前記障害情報を示すメッセージ及び前記制御手順を示すメッセージの送信により前記障害情報の発行及び前記制御手順の発行が行われることを特徴とする請求項６記載の障害情報取得装置。
【請求項８】
前記第１の機能部は前記組み込み装置に対するリセット制御が実施される前に前記障害情報を発行し、前記第２の機能部は前記組み込み装置に対するリセット制御が実施される前に前記制御手順を発行し、前記第３の機能部は前記組み込み装置に対するリセット制御が実施される前に前記障害情報を保存することを特徴とする請求項６または請求項７記載の障害情報取得装置。
【請求項９】
前記第１の機能部が発行する障害情報は障害内容及び障害の発生に関係するタスクの名称を含むことを特徴とする請求項６または請求項７記載の障害情報取得装置。
【請求項１０】
前記障害情報の発行に基づき前記組み込み装置の内部メモリに前記障害情報を保存する第４の機能部を備えたことを特徴とする請求項６または請求項７記載の障害情報取得装置。
【請求項１１】
ＣＰＵを搭載した組み込み装置においてタスクを実行中に障害が発生した場合に障害情報を発行するステップと、前記障害情報の発行に基づきデータ記録媒体に前記障害情報を保存するために必要である制御手順を発行するステップと、該制御手順に基づき前記データ記録媒体に前記障害情報を保存するステップとを有する障害情報取得方法をコンピュータに行わせるための障害情報取得プログラム。
【請求項１２】
前記障害情報の発行及び前記制御手順の発行はメッセージキューを利用して行われ、前記障害情報を示すメッセージ及び前記制御手順を示すメッセージの送信により前記障害情報の発行及び前記制御手順の発行が行われることを特徴とする請求項１１記載の障害情報取得プログラム。
【請求項１３】
前記組み込み装置に対するリセット制御が実施される前に、前記障害情報を発行し、前記制御手順を発行し、前記障害情報を保存することを特徴とする請求項１１または請求項１２記載の障害情報取得プログラム。
【請求項１４】
前記障害情報は障害内容及び障害の発生に関係するタスクの名称を含むことを特徴とする請求項１１または請求項１２記載の障害情報取得プログラム。
【請求項１５】
前記障害情報の発行に基づき前記組み込み装置の内部メモリに前記障害情報を保存するステップを備えたことを特徴とする請求項１１または請求項１２記載の障害情報取得プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、中央処理装置（ＣＰＵ）を搭載した組み込み装置において、なんらかの障害が発生した場合に、その障害の要因を特定するために、その障害情報を取得する障害情報取得方法、障害情報取得装置及び障害情報取得プログラムに関する。
【０００２】
【従来の技術】
現在、一般に商用化されている多くの装置は複数のＣＰＵを搭載した組み込み装置である。ＣＰＵを搭載した組み込み装置が大規模システムで利用されて人の監視が行き届かない場所に設置されている場合、装置の運用中に障害が発生すると、早急に復旧処理を施さなければならないので装置のリセット処理が実行される可能性が考えられる。
【０００３】
つまり、あるＣＰＵにて障害が発生すると自律リセット制御が実施され、または実装された他のＣＰＵからの復旧処理としてのリセット制御が障害発生に係るＣＰＵに対して実施されることになる。
【０００４】
なお、本発明に関連した先行技術文献としては、以下のものがある。
【０００５】
【特許文献１】
特開平０２−０２７４４９号公報（実施例及び図面）。
【特許文献２】
特開平０２−１１４３６４号公報（特許請求の範囲及び図面）。
【特許文献３】
特開平０４−３４０６３０号公報（段落番号［００１３］から［００１６］及び図面）。
【０００６】
【発明が解決しようとする課題】
しかしながら、リセット制御が実施されると、障害状態の情報取得または目視での装置状況把握が不可能になり、障害内容が不明のままとなってしまうことが考えられる。この場合、リセット処理が実施され装置が再び運用されても、障害要因が取り除かれていないので、その後同じ障害内容が頻発することが考えられ、組み込み装置の運用に悪影響を及ぼす。組み込み装置での繰り返される障害による損害は装置が大規模であればあるほど甚大である。また、個人ユーザーが所有する組み込み装置も例外ではなく、繰り返される障害による損害は大きい。
【０００７】
また、特許文献１の発明では、障害を検出したとき全てのプロセッサでの通信ログ情報収集を停止するので、効率的にプロセッサを実行することができない問題がある。
【０００８】
また、特許文献２の発明では、異常発生時に自動的にリセット処理がなされるので、障害内容を取得できないことがあるという問題がある。
【０００９】
また、特許文献３の発明では、故障が発生したプロセッサにリセット処理がなされるので、障害内容を取得できないことがあるという問題がある。
【００１０】
本発明は上記の問題点に鑑みてなされたものであり、ＣＰＵを搭載した組み込み装置においてＣＰＵで障害が発生しても、その障害の要因を特定することを容易にする障害内容取得方法を提供することを目的とする。
【００１１】
【課題を解決するための手段】
この発明に係る障害内容取得方法は、ＣＰＵを搭載した組み込み装置においてタスクを実行中に障害が発生した場合に障害情報を発行し、障害情報の発行に基づきデータ記録媒体に障害情報を保存するために必要である制御手順を発行し、制御手順に基づきデータ記録媒体に障害情報を保存するものである。
【００１２】
この発明に係る障害内容取得装置は、ＣＰＵを搭載した組み込み装置においてタスクを実行中に障害が発生した場合に障害情報を発行する第１の機能部と、障害情報の発行に基づきデータ記録媒体に障害情報を保存するために必要である制御手順を発行する第２の機能部と、制御手順に基づきデータ記録媒体に障害情報を保存する第３の機能部とを備えたものである。
【００１３】
この発明に係る障害内容取得プログラムは、ＣＰＵを搭載した組み込み装置においてタスクを実行中に障害が発生した場合に障害情報を発行するステップと、障害情報の発行に基づきデータ記録媒体に障害内容を保存するために必要である制御手順を発行するステップと、制御手順に基づきデータ記録媒体に障害情報を保存するステップとを有する障害情報取得方法をコンピュータに行わせるためのものである。
【００１４】
【発明の実施の形態】
以下、本発明の実施の形態を、図面を参照しつつ詳細に説明する。
【００１５】
［実施形態１］
以下、本発明の障害情報取得方法、障害情報取得装置及び障害情報取得プログラムの第１の実施形態を図面を用いて説明する。図１は本発明の第１の実施形態による障害情報取得装置で実施される障害情報取得方法におけるタスクの構成を示す図、図２は図１に示される障害情報取得装置が配置される組み込み装置の構成を示すブロック図であり、図３は図１に示す障害情報取得装置で実施される障害情報取得方法を示すフローチャートである。
【００１６】
図２に示すように、組み込み装置は、ＣＰＵを搭載した制御部２１と、制御部２１で用いられるデータ及び命令を格納するメモリ部２２と、コンパクトフラッシュ（登録商標）部２３と、制御部２１で用いる外部データ及び外部命令を入力し制御部２１で得られる結果を表示する表示操作部２４と、他の装置（図示省略）とのインターフェースであるＩＦ部２５とから構成される。
【００１７】
メモリ部２２はＤＲＡＭなどの揮発性メモリ２２１及びフラッシュメモリなどの不揮発性メモリ２２２からなり、不揮発性メモリ２２２には制御部２１で発行される障害情報が格納される。コンパクトフラッシュ（登録商標）部２３には、コンパクトフラッシュ（登録商標）がデータ記録媒体として挿入され、障害情報が格納される。障害情報取得方法に係るタスクはその手順プログラムがメモリ部２２に格納され、制御部２１で実施される。
【００１８】
制御部２１で実施される障害情報取得方法では、あるＣＰＵに対してリセット制御が発生する前に以下のタスク制御にて障害情報を取得する。図１に示すように、障害情報取得方法は、第１の機能部１１での処理実行タスク及び障害情報発行タスク、第２の機能部１２でのアクセス手順発行タスク１２１、第３の機能部１３でのデータ記録媒体制御タスク１３１及び第４の機能部１４での障害情報更新タスク１４１から構成される。
【００１９】
第１の機能部１１では、ＣＰＵを搭載した制御部２１において複数のタスクが実行される。本実施形態では、第１のタスク１１１、第２のタスク１１２及び第３のタスク１１３が実行される。ＣＰＵで実行されたタスクのいずれかにおいて障害が発生すると、メッセージ送受信機能部１１４の処理が走り、第１の機能部１１は障害情報のメッセージを発行し、発行されたメッセージは第２の機能部１２、第３の機能部１３及び第４の機能部１４へ送信される。障害情報は、障害内容、障害に係るタスク名、障害発生時刻及び同一の障害内容の発生回数などを含む。
【００２０】
第２の機能部１２ではアクセス手順発行タスク１２１が実行され、受信したメッセージの障害情報をデータ記録媒体に書き込むために必要とされるデータ記録媒体へのアクセス手順を示すメッセージを発行する。
【００２１】
第３の機能部１３では、第２の機能部１２で発行されたアクセス手順のメッセージに基づきデータ記録媒体に対してリード／ライトアクセス及びマウント／アンマウント制御を実行する（データ記録媒体制御タスク１３１）。
【００２２】
第４の機能部１４では、第１の機能部１１から受信したメッセージの障害情報を取得し、障害情報の不揮発メモリ２２２への書き込みを実行し、不揮発メモリ２２２に格納される障害情報を最新の障害情報に更新する（障害情報更新タスク１４１）。
【００２３】
次に、障害情報取得方法で行われるタスク処理の手順を図１、図２及び図３を参照しつつ詳細に説明する。
【００２４】
組み込み装置の立ち上げ時に、図１に示す各機能部でのタスクが生成されるものとする。各タスク間ではメッセージ送受信をリアルタイムオペレーションシステム（ＲＴＯＳ）でシステムコールとして用意されているメッセージキューを利用して行う。
【００２５】
第１の機能部１１での処理中に何らかの障害が発生した場合、障害情報のメッセージを発行し（ステップＳ１）、対応するメッセージキューにおいて発行メッセージに対してキュー処理が行なわれ（ステップＳ２）、キュー処理されたメッセージは第２の機能部１２、第３の機能部１３及び第４の機能部１４のメッセージキューで受信される（ステップＳ３）。
【００２６】
このキュー処理について詳細に説明する。キュー処理ではメッセージキューが用いられる。メッセージキューは送信メッセージを格納するバッファを管理する機能と、ｍｓｇＱＳｅｎｄ／ｍｓｇＱＲｅｃｅｉｖｅ（共にシステムコール）を使用するメッセージの送受信機能を有する。メッセージを送信する際は、メッセージキューのバッファ管理の取得機能により使用可能バッファを取得し、メッセージを編集し、取得したバッファに編集されたメッセージを一旦格納した後送信する。このメッセージ編集では、相手先を区別する識別子をメッセージに添付する。メッセージを受信する機能部のメッセージキューでは、識別子に基づき自分宛のメッセージであることを確認した場合のみ、送信されてきたメッセージを受信する。この際、受信した機能部で行うタスクにおいてメッセージキューのキューＩＤを削除し、メッセージキューを解放する。なお、複数タスク間のリレーを考慮して、取得したバッファの解放タイミングはＣＰＵで実行される制御プログラムに基づき決められる。このようなキュー処理は、以下に説明する全てのタスク間のメッセージ送受信において実施される。
【００２７】
第２の機能部１２はメッセージキューから障害情報のメッセージを受信する。第２の機能部１２が第１の機能部１１からメッセージを受信した時点でデータ記録媒体にアクセスが発生したとみなし、第２の機能部１２はデータ記録媒体に障害情報を保存するために必要である制御手順を示すメッセージを発行し（ステップＳ４）、対応するメッセージキューにおいて発行メッセージに対してキュー処理が行なわれ（ステップＳ５）、キュー処理されたメッセージは第３の機能部１３のメッセージキューで受信される（ステップＳ６）。
【００２８】
第３の機能部１３は第２の機能部１２からのメッセージを受信した段階でタスク起動を行い、データ記録媒体に対してアクセスを実行し、第１の機能部１１からの障害情報のメッセージをデータ記録媒体に保存する（ステップＳ７）。アクセス手順はカードイン状態確認、ファイルオープン処理、ファイル書き込み処理、書き込み完了後ファイルクローズ処理の順で実施される。
【００２９】
また、ファイル・アロケーション・テーブル（ＦＡＴ）方法等のファイル方法でデータ記録媒体にデータが格納される場合、コンパクトフラッシュ（登録商標）部２３を介したデータ記録媒体へのアクセス中に組み込み装置のリセットが発生すると、データ記録媒体のファイル方法を規定する情報が破壊され、データ記録媒体のクラスタ領域に保存されている実データを読み出せなくなる恐れがある。それで、第３の機能部１３での処理に追加して、第４の機能部１４は不揮発メモリ２２２に障害情報を保存する処理を行う。
【００３０】
つまり、第２の機能部１２と同様に第１の機能部１１のメッセージキューからメッセージを第４の機能部１４で受信した段階で、メッセージを不揮発メモリ２２２に書き込む処理の条件判断を行い、メッセージを不揮発メモリ２２２に書き込む（ステップＳ８）。ここで言う条件判断とは、初めて発生した障害であるか、若しくはすでに発生した障害が再度発生したものであるかの判断である。
【００３１】
ステップＳ７においてメッセージをデータ記録媒体に保存する際にデータ記録媒体への送信メッセージは制御部２１において検知され、この検知結果の基づき第４の機能部１４は不揮発メモリ２２２に書き込む障害情報のメッセージ内容を判断する。データ記憶媒体の容量と同様に不揮発メモリ２２２にも容量に限りがあるので、この判断処理により、再度発生した障害に関しては最小限の情報（発生時刻、当該障害のカウントアップ）のみの保存を行うなどして不揮発メモリ２２２の有効利用を行う。
【００３２】
それで、第１の機能部１１にて処理中に障害が発生した場合に第２の機能部１２で障害情報を受信し、第３の機能部１３にてデータ記録媒体に情報をファイル化し保存する。また第４の機能部１４では第２の機能部１２と同様に第１の機能部１１からの障害情報を受信し不揮発メモリ２２２に障害情報の更新処理を実施する。
【００３３】
ここで障害がいつ発生するかわからないため、常に第２の機能部１２及び第４の機能部１４ではタスクプライオリティーを他のタスクより低く設定する必要がある。それで、タスク自体の機能をアイドルタスクに持たせてもよい。
【００３４】
以上のように、この実施形態１によれば、ＣＰＵを搭載した組み込み装置において障害が発生すると、リセット制御が発生する前に、障害情報のメッセージを発行し、このメッセージに基づきアクセス手順発行タスク１２１を行い、アクセス手順発行タスク１２１に基づいてデータ記録媒体にアクセスを実行し、障害情報のメッセージをデータ記録媒体に保存する。したがって、オペレータまたはユーザはデータ記録媒体に保存された障害情報を取得することができる。よって、障害情報を特定するデバッグ機能が確立され、障害要因を特定することができるのでバグ発見率も上がり、組み込み装置の信頼性も向上する効果が得られる。
【００３５】
また、この実施形態１によれば、障害情報を取得することによってオペレータまたはユーザは障害に係るＣＰＵ及び障害要因を特定することができるので、障害による問題点、他の機能部へ与える影響度等、また障害に対する対応策に早期に取り組み対処することができる効果が得られる。たとえば、特定された障害要因を組み込み装置から取り除くことができる。
【００３６】
また、障害情報のメッセージに対してキュー処理が行なわれ、メッセージの送信先が特定されるので、アクセス手順発行タスク１２１、データ記録媒体制御タスク１３１及び障害情報更新タスク１４１を障害情報に応じて確実に実行することができる。
【００３７】
また、この実施形態１によれば、ＦＡＴ方法等のファイル方法がデータ記録媒体において使用されている場合、障害情報のメッセージを不揮発メモリ２２２に書き込むので、データ記録媒体から障害情報を読み出せない事態が生じても、不揮発メモリ２２２から確実に障害情報を読み出すことができる効果が得られる。
【００３８】
本実施形態では、１個のＣＰＵを対象にして障害情報の取得を説明したが、複数のＣＰＵを有する組み込み装置においても障害情報を取得することができる。この場合、障害情報取得装置において、第１の機能部１１及び対応するメッセージキューはＣＰＵごとに配置される。また、ＣＰＵ間の通信は、デュアルポートＲＡＭなどの記憶装置を用いたバス経由でのデータの送受信、ＵＴＯＰＩＡ（ユニバーサル・テスト・アンド・オペレーション・フィジカル・レイヤー・プロトコール・インターフェース・フォー・アシンメトリック・トランスファー・モード）通信、Ｅｔｈｅｒｎｅｔ（登録商標）通信またはシリアル通信などを利用して行われる。
【００３９】
また、本実施形態では、データ記録媒体としてコンパクトフラッシュ（登録商標）を用いたが、ＰＣカード等の媒体であってもよい。この場合には、組み込み装置にコンパクトフラッシュ（登録商標）部２３の代わりにＰＣカード部が備えられる。
【００４０】
［実施形態２］
以下、本発明の障害情報取得方法の第２の実施形態を説明する。
【００４１】
第１の実施形態では、ＲＴＯＳにて用意されているファイルアクセス機能を利用して障害情報がデータ記録媒体に書き込まれた。しかしながら、第２の実施形態として、組み込み装置の制御部２１で用いられるプログラムの構成を見直すことにより、障害情報のみならず障害情報以外の情報をデータ記録媒体に書き込むようにしても良い。たとえば、メモリ部２２に保存されておりＣＰＵを搭載した組み込み装置の制御部２１で用いられるアプリケーションプログラムをデータ記録媒体に書き込むようにしても良い。
【００４２】
また、データ記録媒体に保存されたアプリケーションプログラムをアプリケーションプログラムを保存しているメモリ部２２に吸い上げ、組み込み装置の立ち上げ時にメモリ部２２に吸い上げられたアプリケーションプログラムを読み込むようにしても良い。この場合、メモリ部２２に予め保存されているアプリケーションプログラムの代わりに、データ記録媒体に保存されたアプリケーションプログラムを用いることになるので、アプリケーションプログラムの更新機能も確立することができる。
【００４３】
また、組み込み装置の制御部２１で用いられるプログラムの構成を見直すことにより、データ記録媒体に保存された障害情報をＣＰＵを搭載した組み込み装置に書き込むようにしても良い。また、障害情報のみならず障害情報以外の情報を組み込み装置に書き込むようにしても良い。たとえば、その他のアプリケーションプログラムまたはデータ記録媒体のフォーマット機能等を示す情報を組み込み装置に書き込むようにしても良い。
【００４４】
【発明の効果】
以上のように、この発明の障害情報取得方法によれば、ＣＰＵを搭載した組み込み装置においてタスクを実行中に障害が発生した場合に障害情報を発行し、障害情報の発行に基づきデータ記録媒体に障害情報を保存するために必要である制御手順を発行し、制御手順に基づきデータ記録媒体に障害情報を保存するように構成したので、組み込み装置においていずれかのＣＰＵで障害が発生しても、障害情報を取得することができ、その障害の要因を特定することを容易にする効果がある。
【００４５】
この発明の障害情報取得装置によれば、ＣＰＵを搭載した組み込み装置においてタスクを実行中に障害が発生した場合に障害情報を発行する第１の機能部と、障害情報の発行に基づきデータ記録媒体に障害情報を保存するために必要である制御手順を発行する第２の機能部と、制御手順に基づきデータ記録媒体に障害情報を保存する第３の機能部とを備えるように構成したので、組み込み装置においていずれかのＣＰＵで障害が発生しても、障害情報を取得することができ、その障害の要因を特定することを容易にする効果がある。
【００４６】
この発明の障害情報取得プログラムによれば、ＣＰＵを搭載した組み込み装置においてタスクを実行中に障害が発生した場合に障害情報を発行するステップと、障害情報の発行に基づきデータ記録媒体に障害情報を保存するために必要である制御手順を発行するステップと、制御手順に基づきデータ記録媒体に障害情報を保存するステップとを有する障害情報取得方法をコンピュータに行わせるように構成したので、組み込み装置においていずれかのＣＰＵで障害が発生しても、障害情報を取得することができ、その障害の要因を特定することを容易にする効果がある。
【図面の簡単な説明】
【図１】本発明の第１の実施形態による障害情報取得装置で実施される障害情報取得方法におけるタスクの構成を示す図である。
【図２】図１に示される障害情報取得装置が配置される組み込み装置の構成を示すブロック図である。
【図３】図１に示す障害情報取得装置で実施される障害情報取得方法を示すフローチャートである。
【符号の説明】
１１  第１の機能部
１２  第２の機能部
１３  第３の機能部
１４  第４の機能部
２１  制御部
２２  メモリ部
２３  コンパクトフラッシュ（登録商標）部
２４  表示操作部
２５  ＩＦ部
１１１  第１のタスク
１１２  第２のタスク
１１３  第３のタスク
１１４  メッセージ送受信機能部
１２１  アクセス手順発行タスク
１３１  データ記録媒体制御タスク
１４１  障害情報更新タスク
２２１  揮発性メモリ
２２２  不揮発性メモリ
【図１】
2004348359.tif 000003
【図２】
2004348359.tif 000004
【図３】
2004348359.tif 000005