(57)【特許請求の範囲】
【請求項１】
情報処理装置であって、
ユーザインタフェースと、
前記ユーザインタフェースでの操作入力を認識し、前記操作入力に伴う情報処理を行うと共に、前記ユーザインタフェースにおける前記情報処理装置の状態表示を制御するユーザインタフェース制御手段と、
前記ユーザインタフェース制御手段がエラー状態にあるか否かを監視する監視手段と、
前記情報処理装置に記憶手段を有する外部装置が接続されたときに前記外部装置を使用可能にするデバイスインタフェースと、
前記外部装置の接続を検知する検知手段と、
前記情報処理装置の動作ログを保持する保持手段とを備え、
前記検知手段は、前記外部装置の接続を検知した場合に、前記外部装置内の前記動作ログを回収するコンテンツの有無を判定するコンテンツ判定手段と、
前記コンテンツ判定手段が前記コンテンツが有ると判定した場合に、前記外部装置が接続された旨を前記監視手段に通知する通知手段とを有し、
前記監視手段は、前記通知手段により前記旨が通知された場合に、前記ユーザインタフェース制御手段がエラー状態にあるか否かの判定を開始するエラー判定開始手段と、
前記エラー判定開始手段により開始された判定の結果、前記ユーザインタフェース制御手段がエラー状態にある場合に、前記動作ログを前記保持手段から回収する回収手段と、
前記回収手段が回収した動作ログを前記外部装置の前記記憶手段に保存する動作ログ保存手段とを有することを特徴とする情報処理装置。
【請求項２】
前記デバイスインタフェースはＵＳＢインタフェースであることを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記デバイスインタフェースはネットワークインタフェースであり、前記検知手段は、前記情報処理装置にＬＡＮケーブルが接続され、且つ前記外部装置が、前記ＬＡＮケーブルを介して前記情報処理装置がデータ通信を行う外部ネットワーク中にあることを検知したときに、前記外部装置の接続を検知することを特徴とする請求項１記載の情報処理装置。
【請求項４】
前記監視手段は、前記ユーザインタフェース制御手段がエラー状態にあるときは、前記ユーザインタフェース制御手段を単独で再起動させることを特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項５】
ユーザインタフェースを備える情報処理装置であって、
前記ユーザインタフェースを制御する制御手段と、
前記情報処理装置の動作ログを保持する保持手段と、
記憶手段を有する外部装置が前記情報処理装置に接続されたことを検知する検知手段と、
前記制御手段がエラー状態にあるか否かを判断する判断手段と、
前記検知手段によって前記外部装置が接続されたことが検知され、且つ、前記判断手段によって前記制御手段がエラー状態にあると判断された場合、前記保持手段によって保持される動作ログを前記外部装置に保存する保存手段とを有することを特徴とする情報処理装置。
【請求項６】
前記検知手段によって前記外部装置が接続されたことが検知され、且つ、前記判断手段によって前記制御手段がエラー状態ではないと判断された場合、前記制御手段は、前記動作ログの取得が不要であることを前記ユーザインタフェースに表示させることを特徴とする請求項５記載の情報処理装置。
【請求項７】
前記検知手段によって検知された外部装置が、動作ログを回収するための外部装置であるか判定する装置判定手段をさらに備え、
前記判断手段は、前記装置判定手段によって、前記検知された外部装置が動作ログを回収するための外部装置であると判定された場合に、前記制御手段がエラー状態にあるか否かを判断することを特徴とする請求項５記載の情報処理装置。
【請求項８】
情報処理装置で実行される情報処理方法であって、
前記情報処理装置は、
ユーザインタフェースと、
前記ユーザインタフェースでの操作入力を認識し、前記操作入力に伴う情報処理を行うと共に、前記ユーザインタフェースにおける前記情報処理装置の状態表示を制御するユーザインタフェース制御手段と、
前記ユーザインタフェース制御手段がエラー状態にあるか否かを監視する監視手段と、
前記情報処理装置に記憶手段を有する外部装置が接続されたときに前記外部装置を使用可能にするデバイスインタフェースと、
前記外部装置の接続を検知する検知手段と、
前記情報処理装置の動作ログを保持する保持手段とを備え、
前記情報処理方法は、
前記検知手段により前記外部装置の接続が検知された場合に、前記外部装置内の前記動作ログを回収するコンテンツの有無を判定するコンテンツ判定ステップと、
前記コンテンツ判定ステップで前記動作ログを回収するコンテンツが有ると判定された場合に、前記外部装置が接続された旨を前記監視手段に通知する通知ステップと、
前記通知ステップにおいて前記旨が通知された場合に、前記監視手段での前記ユーザインタフェース制御手段がエラー状態にあるか否かの判定を開始するエラー判定開始ステップと、
前記エラー判定開始ステップで開始された判定の結果、前記ユーザインタフェース制御手段がエラー状態にある場合に、前記動作ログを前記保持手段から回収する回収ステップと、
前記回収ステップで回収された動作ログを前記外部装置の前記記憶手段に保存する動作ログ保存ステップと、を有することを特徴とする情報処理方法。
【請求項９】
情報処理装置で実行される情報処理方法をコンピュータに実行させるプログラムであって、
前記情報処理装置は、
ユーザインタフェースと、
前記ユーザインタフェースでの操作入力を認識し、前記操作入力に伴う情報処理を行うと共に、前記ユーザインタフェースにおける前記情報処理装置の状態表示を制御するユーザインタフェース制御手段と、
前記ユーザインタフェース制御手段がエラー状態にあるか否かを監視する監視手段と、
前記情報処理装置に記憶手段を有する外部装置が接続されたときに前記外部装置を使用可能にするデバイスインタフェースと、
前記外部装置の接続を検知する検知手段と、
前記情報処理装置の動作ログを保持する保持手段を備え、
前記情報処理方法は、
前記検知手段において、
前記外部装置の接続が検知された場合に、前記外部装置内の前記動作ログを回収するコンテンツの有無を判定するコンテンツ判定ステップと、
前記コンテンツ判定ステップで前記動作ログを回収するコンテンツが有ると判定された場合に、前記外部装置が接続された旨を前記監視手段に通知する通知ステップを実行し、
前記監視手段において、
前記通知ステップで前記旨が通知された場合に、前記ユーザインタフェース制御手段がエラー状態にあるか否かの判定を開始するエラー判定開始ステップと、
前記エラー判定開始ステップで開始された判定の結果、前記ユーザインタフェース制御手段がエラー状態にある場合に、前記動作ログを前記保持手段から回収する回収ステップと、
前記回収ステップで回収された動作ログを前記外部装置の前記記憶手段に保存する動作ログ保存ステップを実行することを特徴とするプログラム。
【請求項１０】
ユーザインタフェースを備える情報処理装置で実行される情報処理方法であって、
前記情報処理装置は前記ユーザインタフェースを制御する制御手段を備え、
前記情報処理方法は、
前記情報処理装置の動作ログを保持する保持ステップと、
記憶手段を有する外部装置が前記情報処理装置に接続されたことを検知する検知ステップと、
前記制御手段がエラー状態にあるか否かを判断する判断ステップと、
前記検知ステップにおいて前記外部装置が接続されたことが検知され、且つ、前記判断ステップにおいて前記制御手段がエラー状態にあると判断された場合、前記保持ステップにおいて保持される動作ログを前記外部装置に保存する保存ステップとを有することを特徴とする情報処理方法。
【請求項１１】
ユーザインタフェースを備える情報処理装置で実行される情報処理方法をコンピュータに実行させるプログラムであって、
前記情報処理装置は前記ユーザインタフェースを制御する制御手段を備え、
前記情報処理方法は、
前記情報処理装置の動作ログを保持する保持ステップと、
記憶手段を有する外部装置が前記情報処理装置に接続されたことを検知する検知ステップと、
前記制御手段がエラー状態にあるか否かを判断する判断ステップと、
前記検知ステップにおいて前記外部装置が接続されたことが検知され、且つ、前記判断ステップにおいて前記制御手段がエラー状態にあると判断された場合、前記保持ステップにおいて保持される動作ログを前記外部装置に保存する保存ステップとを有することを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法及びプログラムに関し、より詳しくは、デバイスインタフェースを備えた情報処理装置においてプログラムを自動実行する技術に関する。
【背景技術】
【０００２】
例えば、近年の画像処理装置では、多機能化、高機能化に伴って制御ファームウエアが大規模、複雑化する傾向があり、その開発段階では、デバッグのためにファームウエアの動作ログが動作確認や不具合原因調査に使用されている。なお、ファームウエアの動作ログは、画像処理装置のファームウエア開発おいて必須のものの１つである。
【０００３】
例えば、Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ（以下「ＵＳＢ」と記す）のようなデバイスインタフェースを備えた画像処理装置では、画像処理装置のユーザインタフェース（以下「ＵＩ」と記す）からの操作により動作ログの取得を可能にしたものがある。一方、ＵＩからの操作を行うことなく、外部装置の接続検知をトリガとして所定の処理を自動実行することも可能なため、動作ログの回収を自動化することもできる。例えば、ＵＳＢ接続を行うだけで、ＵＳＢメモリメディアの内容に応じてＵＳＢメモリに保存された任意のアプリケーションを自動的に実行する技術が提案されている（例えば、特許文献１参照）。
【０００４】
上記２つの技術を組み合わせることで、ＵＳＢメモリメディアを装着すると、自動的に動作ログが回収される機能を実現することができる。ここで、動作ログのデータサイズは膨大で回収に時間がかかるケースがあり、動作ログの回収は必要時のみ、すなわちファームウエアのデバッグが必要な場合にのみ実行されることが望ましい。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００５−１２２４５１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかし、従来技術では、画像処理装置のＵＩを制御するファームウエアが停止した場合、ＵＩから動作ログをＵＳＢメモリへ保存する手段自体を起動させることができず、そのために動作ログを回収することができず、デバッグに支障をきたすという問題がある。また、特許文献１の技術では、アプリケーションの自動実行の制御がＵＳＢメモリメディアの内容に応じて行われるため、動作ログを取得するアプリケーションを自動実行した場合、動作ログの回収をその必要が無い場合も実行してしまうという問題がある。
【０００７】
本発明は、外部装置が接続された場合に、動作ログを外部装置に書き出す必要があるか否かを自動的に判別し、必要な場合に動作ログを外部装置に保存することを可能にする情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明に係る情報処理装置は、情報処理装置であって、ユーザインタフェースと、前記ユーザインタフェースでの操作入力を認識し、前記操作入力に伴う情報処理を行うと共に、前記ユーザインタフェースにおける前記情報処理装置の状態表示を制御するユーザインタフェース制御手段と、前記ユーザインタフェース制御手段がエラー状態にあるか否かを監視する監視手段と、前記情報処理装置に記憶手段を有する外部装置が接続されたときに前記外部装置を使用可能にするデバイスインタフェースと、前記外部装置の接続を検知する検知手段と、前記情報処理装置の動作ログを保持する保持手段とを備え、前記検知手段は、前記外部装置の接続を検知した場合に、前記外部装置内の前記動作ログを回収するコンテンツの有無を判定するコンテンツ判定手段と、前記コンテンツ判定手段が前記コンテンツが有ると判定した場合に、前記外部装置が接続された旨を前記監視手段に通知する通知手段とを有し、前記監視手段は、前記通知手段により前記旨が通知された場合に、前記ユーザインタフェース制御手段がエラー状態にあるか否かの判定を開始するエラー判定開始手段と、前記エラー判定開始手段により開始された判定の結果、前記ユーザインタフェース制御手段がエラー状態にある場合に、前記動作ログを前記保持手段から回収する回収手段と、前記回収手段が回収した動作ログを前記外部装置の前記記憶手段に保存する動作ログ保存手段とを有することを特徴とする。
また、本発明に係る情報処理装置は、ユーザインタフェースを備える情報処理装置であって、前記ユーザインタフェースを制御する制御手段と、前記情報処理装置の動作ログを保持する保持手段と、記憶手段を有する外部装置が前記情報処理装置に接続されたことを検知する検知手段と、前記制御手段がエラー状態にあるか否かを判断する判断手段と、前記検知手段によって前記外部装置が接続されたことが検知され、且つ、前記判断手段によって前記制御手段がエラー状態にあると判断された場合、前記保持手段によって保持される動作ログを前記外部装置に保存する保存手段とを有することを特徴とする。
【発明の効果】
【０００９】
本発明によれば、情報処理装置に外部装置が接続されたときに、情報処理装置の動作ログを回収する必要がある場合に自動的に動作ログを外部装置に回収する動作を実現することが可能となる。特に、情報処理装置のユーザインタフェース制御手段が停止していた場合に、効率的に動作ログを回収することが可能となる。
【図面の簡単な説明】
【００１０】
【図１】本発明の実施形態に係る画像処理装置のハードウエア構成を示すブロック図である。
【図２】図１に示されるコントローラファームのソフトウエア構成を示す図である。
【図３】図１に示される操作部の概要を示す図である。
【図４】図１に示される画像処理装置での、本発明の第１実施形態に係る動作ログの自動取得処理のフローチャートである。
【図５】図４に示されるステップＳ４０８（エラーリカバリ）の処理の詳細を示すフローチャートである。
【図６】図１に示される画像処理装置での、本発明の第２実施形態に係る、画像処理装置における動作ログの自動取得処理のフローチャートである。
【発明を実施するための形態】
【００１１】
以下、本発明の実施形態について添付図面を参照して詳細に説明する。本実施形態では、本発明に係る情報処理装置の一例として画像処理装置を取り上げることとする。
【００１２】
＜画像処理装置のハードウエア構成＞
図１は、本発明の実施形態に係る画像処理装置のハードウエア構成を示すブロック図である。画像処理装置は、画像処理装置の中枢機能を担い、画像処理装置の全体的な制御を司るコントローラ部１００を有し、コントローラ部１００は、ＣＰＵ１１０、ＲＡＭ１１１、ＳＲＡＭ１１２及びＨＤＤ１１３を備えている。ＨＤＤ１１３には、コントローラファーム１０１（ファームウエア）が記録されており、画像処理装置を起動させると、ＣＰＵ１１０が実行可能なようにコントローラファーム１０１がＲＡＭ１１１に読み込まれ、展開される。なお、ＨＤＤ１１３は、コントローラファーム１０１を保持する以外に、プリント画像やスキャン画像等の一時的又は恒久的な保存にも使用される。コントローラファーム１０１の構成については、後に、図２を参照して詳細に説明する。
【００１３】
ＳＲＡＭ１１２は、コントローラ部１００、プリンタエンジン１３１及びスキャナエンジン１３５の動作に関わる設定値を保持する不揮発メモリである。ＣＰＵ１１０は、動作の必要に応じてＳＲＡＭ１１２から該当するプログラムや設定値を読み出し、読み出したプログラムや設定値に従ってコントローラ部１００、プリンタエンジン１３１及びスキャナエンジン１３５を制御する。
【００１４】
コントローラ部１００はまた、各種のデバイスを使用可能にするデバイスインタフェース（デバイスＩ／Ｆ）として、操作部インタフェース（操作部Ｉ／Ｆ）１２０、ネットワークインタフェース（ネットワークＩ／Ｆ）１２４を備えている。コントローラ部１００はまた、プリンタインタフェース（プリンタＩ／Ｆ）１２１、スキャナインタフェース（スキャナＩ／Ｆ）１２２、ＵＳＢインタフェース（ＵＳＢ−Ｉ／Ｆ）１２３を備えている。これらのデバイスＩ／Ｆはシステムバス１９０によってＣＰＵ１１０等と接続されている。ＲＡＭ１１１に展開され、実行可能となったコントローラファーム１０１は、各デバイスＩ／Ｆを経由してデバイス制御を統合的に行い、コピー、スキャン、プリント等のシステム動作を実現させる。
【００１５】
操作部Ｉ／Ｆ１２０は、ユーザインタフェースである操作部１３０に専用のバスで接続されている。コントローラファーム１０１に含まれるユーザインタフェース制御プロセス（以下「ＵＩ制御プロセス」と記す）２２０によって、操作部１３０におけるキー入力や装置状態の表示が可能となっている（図２参照）。なお、操作部１３０の詳細については、図３を参照して後に詳細に説明する。
【００１６】
プリンタエンジン１３１は、プリンタＩ／Ｆ１２０を介してコントローラファーム１０１による制御指示を受け、用紙等の記録メディア上に画像形成を行う。スキャナエンジン１３５は、スキャナＩ／Ｆ１２２を介してコントローラファーム１０１の制御指示を受け、原稿から画像を読み取る。外部装置であるＵＳＢメモリメディア１４０は、ＵＳＢコネクタ１４１に接続されると、ＵＳＢ−Ｉ／Ｆ１２３を介してコントローラファーム１０１に認識され、データの読み書きの対象となる。本実施形態では、情報処理装置は、ネットワークＩ／Ｆ１２４及びＬＡＮケーブル１８０を介して、外部ネットワーク（不図示）とのデータ通信を行う。
【００１７】
＜コントローラファーム１０１のソフトウエア構成＞
図２は、コントローラファーム１０１のソフトウエア構成を示す図である。オペレーティングシステム（以下「ＯＳ」と記す）２１０は、コントローラファーム１０１の基礎的部分となるソフトウエアである。ＯＳ２１０は、画像処理装置の制御システムの基幹部としてのコントローラファーム１０１の構成要素として最も堅牢に構成されており、後述する各種プロセスが動作停止する事態においても、ＯＳ２１０自体の動作は継続されるようになっている。
【００１８】
デバイスドライバの１つであるＵＳＢドライバ２３０は、ＵＳＢコネクタ１４１に対するＵＳＢメモリメディア１４０の挿抜を検知する検知手段である。また、ＵＳＢドライバ２３０は、ＵＳＢ−Ｉ／Ｆ１２３を介してＵＳＢコネクタ１４１に接続されたＵＳＢメモリメディア１４０へのデータ書き込み、ＵＳＢメモリメディア１４０からのデータの読み取りを行う。別のデバイスドライバであるネットワークＩ／Ｆドライバ（以下「ＮＩＣドライバ」と記す）２４０は、ＬＡＮケーブル１８０の挿抜（リンク）を検知する検知手段であり、ＬＡＮケーブル１８０を介したネットワーク通信の制御を行う。
【００１９】
図２に示されるように、本実施形態に係る画像処理装置は、各機能を実現するためにＯＳ２１０上で実行される複数のアプリケーションプロセス（以下「プロセス」と記す）を有している。本実施形態において、「プロセス」とは、プログラムの実行単位を指しており、ファームウエアの構成要素である。各プロセスはお互いにプログラムの実行単位として独立性高く構成されている。そのため、あるプロセスがバグ等よって停止しても、他のプロセスは停止することなく動作を継続することができるようになっている。また、各プロセスはＯＳ２１０の管理下において実行、制御されるため、あるプロセスが停止または例外状態に陥った場合でも、ＯＳ２１０の動作が停止することがない。各プロセスは、コントローラ部１００の起動に伴って、ファームウエアとして実行が開始される。以下、各プロセスについて具体的に説明する。
【００２０】
ＵＩ制御プロセス２２０は、操作部１３０の動作制御を司り、操作部１３０での操作入力の認識、操作入力に伴う情報処理、画像処理装置の状態表示のための操作部１３０の制御等の機能を実現するユーザインタフェース制御手段である。ジョブ制御プロセス２２２は、操作部１３０からの動作指示を受けてプリンタエンジン１３１やスキャナエンジン１３５等を制御して、ジョブ動作を実現するジョブ制御手段である。データ管理プロセス２２３は、ＳＲＡＭ１１２やＨＤＤ１１３に記録されている不揮発性データの管理とアクセス制御を行うデータ管理手段である。ネットワーク制御プロセス２２４は、ＮＩＣドライバ２４０を介して各種ネットワークプロトコルによる通信を司るネットワーク制御手段である。
【００２１】
システム監視・デバッグログプロセス２２１は、ＵＩ制御プロセス２２０が正常に動作しているかの生存確認と、コントローラファーム１０１の動作ログを記録、保持する機能を司る監視手段である。システム監視・デバッグログプロセス２２１は、コントローラファーム１０１内に常駐しており、上記の各プロセスが出力する動作ログを受け取り、ＲＡＭ１１１上に確保されたログ領域２５０に記録し、また、必要時にはログ領域２５０から読み出す機能を提供する。
【００２２】
システム監視・デバッグログプロセス２２１はまた、ＵＩ制御プロセス２２０において異常が発生しているか否か、つまり、エラー状態にあるか否かを監視する。具体的には、システム監視・デバッグログプロセス２２１は、ＵＩ制御プロセス２２０と定期的に生存確認のメッセージ交換を行い、このメッセージ交換が一定時間以上停止した場合、ＵＩ制御プロセス２２０がエラー状態にあると判定する機能を有する。システム監視・デバッグログプロセス２２１は更に、ＵＳＢメモリメディア１４０等のＵＳＢメディアの挿抜検知の通知をＵＳＢドライバ２３０から受信し、ＬＡＮケーブルの挿抜検知の通知をＮＩＣドライバ２４０から受信する機能を有する。そのため、ＵＳＢドライバ２３０及びＮＩＣドライバ２４０は、ＵＳＢメディア又はＬＡＮケーブルの挿抜を自動的に認識することができるように構成されている。
【００２３】
＜操作部１３０の概略構成＞
図３は、操作部１３０の概要を示す図であり、本実施形態では、画像処理装置のユーザは、操作部１３０として図３に示されるタッチパネルを操作することにより、画像処理装置が提供する各種機能を実行させる。画面領域３１０は、タッチパネル機能を有するＵＩ画面（表示領域）であり、選択可能な各種機能や設定ボタンを含んでいる。なお、図３には、画像処理装置が提供する複数の機能のうちの１つであるコピー機能の画面を示しているが、以下の説明では、本発明の構成に直接には関係のない画面中の設定項目等について、説明を省略する。
【００２４】
コピースタートボタン３１１は、ユーザが所望するコピー動作について設定を行った後に押下するボタンであり、コピースタートボタン３１１の押下により原稿の読み取り、プリント出力等の一連のコピー動作が実行される。システム管理ボタン３１２は、画像処理装置の状態を表示する画面を開くためのボタンである。ステータス表示ボックス３２０には、画像処理装置の現在のステータスが表示される。
【００２５】
操作部１３０には、ＵＳＢメモリメディア１４０を接続するためのＵＳＢコネクタ１４１が設けられている。ＵＳＢメモリメディア１４０は、ＵＳＢコネクタ１４１に装着されることによってＵＳＢドライバ２３０に認識されて使用可能となり、ＵＳＢメモリメディア１４０のステータスはステータス表示ボックス３２０に表示される。
【００２６】
＜第１実施形態に係る動作ログの回収処理＞
最初に、ＵＩ制御プロセス２２０が正常に動作している状態での動作ログの回収処理について説明する。動作ログの回収は、コントローラファーム１０１（ファームウエア）で何らかの不具合（バグ）が発生した場合の原因調査に必要なものであるが、図３に示した操作部１３０の通常のＵＩ画面に動作ログに関する操作ボタン等は表示されていない。
【００２７】
そのため、操作部１３０（ＵＩ画面）で特殊操作を行うと、ＵＳＢメモリメディア１４０による動作ログの回収を実行することが可能になっている。すなわち、本実施形態では、システム管理ボタン３１２を一定時間以上押し続けると、ＵＩ制御プロセス２２０がこれを認識して、システム監視・デバッグログプロセス２２１に通知し、ＵＳＢメモリメディア１４０への動作ログの書き出しを行う。
【００２８】
ここで、従来技術では、ＵＩ制御プロセス２２０がソフト例外等により動作を停止していた場合、操作部１３０（ＵＩ画面）からの「システム管理ボタン３１２を一定時間以上押し続ける（長押し）」という操作自体を認識して処理することができないため、動作ログを回収できなくなる。
【００２９】
これに対し、第１実施形態では、ＵＩ制御プロセス２２０が正常に動作しているときはいうまでもなく、停止している場合でも、動作ログを回収することを可能としており、そのための処理フローを以下に説明する。
【００３０】
図４は、画像処理装置での第１実施形態に係る動作ログの自動取得処理のフローチャートである。最初に、ＵＳＢドライバ２３０がＵＳＢメモリメディア１４０の装着を検出する（ステップＳ４０１）。続いて、ＵＳＢドライバ２３０は、ＵＳＢメモリメディア１４０のメディアコンテンツを読み取り（ステップＳ４０２）、読み取ったメディアコンテンツにデバッグのための動作ログ回収用のものが含まれるか否かを判定する（ステップＳ４０３）。
【００３１】
動作ログ回収用のものが含まれない場合（Ｓ４０３で“ＮＯ”）、ＵＳＢドライバ２３０は、通常のＵＳＢメモリメディア機能を起動させる（ステップＳ４２０）。動作ログ回収用のものが含まれる場合（Ｓ４０３で“ＹＥＳ）、ＵＳＢドライバ２３０は、システム監視・デバッグログプロセス２２１に、動作ログ回収用のＵＳＢメモリメディア１４０が装着されたことを通知する。
【００３２】
システム監視・デバッグログプロセス２２１は、ＵＩ制御プロセス２２０が生存確認に対して正常に応答しているか否か（つまり、エラー状態にあるか否か）を判定する（ステップＳ４０４）。ＵＩ制御プロセス２２０が正常に応答している場合（Ｓ４０４で“ＮＯ”）、動作ログを回収する必要はないため、ＵＩ制御プロセス２２０は、「動作ログ取得不要」を示すメッセージを操作部１３０のステータス表示ボックス３２０に表示させ、処理を終了させる。
【００３３】
一方、ＵＩ制御プロセス２２０が正常に応答していない場合（Ｓ４０４で“ＹＥＳ”）、自動動作ログを回収する処理に移るために、処理をステップＳ４０５に進める。ステップＳ４０５では、システム監視・デバッグログプロセス２２１は、ログ領域２５０に保持されている動作ログをファイルとして回収する処理を行う。続いて、システム監視・デバッグログプロセス２２１は、動作ログをＵＳＢメモリメディア１４０に書き出し、保存する（ステップＳ４０６）。
【００３４】
ステップＳ４０６までの処理により、ＵＩ制御プロセス２２０が停止状態での動作ログの回収処理が完了する。これにより、ファームウエア開発者は、ＵＳＢメモリメディア１４０に回収された動作ログの分析を行うことで、ＵＩ制御プロセス２２０が停止に至った原因等の調査を行うことが可能になる。
【００３５】
ステップＳ４０６の後、システム監視・デバッグログプロセス２２１は、ＵＩ制御プロセスのエラーリカバリが可能か否かを判定する（ステップＳ４０７）。エラーリカバリが不可能な場合（Ｓ４０７で“ＮＯ”）、システム監視・デバッグログプロセス２２１は、動作ログを取得した旨（処理結果）をステータス表示ボックス３２０に表示し（ステップＳ４０９）、処理を終了させる。エラーリカバリが可能な場合（Ｓ４０７で“ＹＥＳ”）、システム監視・デバッグログプロセス２２１は、リカバリ処理を実行し（ステップＳ４０８）、その後、処理結果をステータス表示ボックス３２０に表示して（ステップＳ４０９）、処理を終了させる。
【００３６】
図５は、図４に示されるステップＳ４０８（エラーリカバリ）の処理の詳細を示すフローチャートである。システム監視・デバッグログプロセス２２１は、リカバリプログラムを起動、実行し（ステップＳ５０１）。ＵＩ制御プロセス２２０に生存確認を行い（ステップＳ５０２）、生存確認の応答が有るか否かを判定する（ステップＳ５０３）。
【００３７】
生存確認の応答がある場合（Ｓ５０３で“ＮＯ”）、システム監視・デバッグログプロセス２２１は、ＵＩ制御プロセス２２０がエラー状態から復旧したと判断し、リカバリ処理を行わずに処理を終了させる。生存確認の応答が無い場合（Ｓ５０３で“ＹＥＳ”）、システム監視・デバッグログプロセス２２１は、ＵＩ制御プロセス２２０のプロセス単独での再起動を行う（ステップＳ５０４）。システム監視・デバッグログプロセス２２１は、ＵＩ制御プロセス２２０の再起動中に、その旨のステータス表示ボックス３２０表示させる（ステップＳ５０５）。
【００３８】
ＵＩ制御プロセス２２０の再起動処理が終了すると、システム監視・デバッグログプロセスは、再度、ＵＩ制御プロセス２２０に生存確認の問い合わせを行い、正常に再起動できたか否かを判定する（ステップＳ５０６）。正常に生存確認の応答があった場合（Ｓ５０６で“ＹＥＳ”）、システム監視・デバッグログプロセスは、ＵＩ制御プロセス２２０の再起動に成功した旨を操作部１３０（ＵＩ画面）に表示して（ステップＳ５０７）、処理を終了させる。生存確認の応答がない場合（Ｓ５０６で“ＮＯ”）、システム監視・デバッグログプロセスは、再起動に失敗したと判断し、サービスマンコール（エラー表示）を操作部１３０（ＵＩ画面）に表示して（ステップＳ５３０）、処理を終了させる。
【００３９】
本実施形態によれば、画像処理装置にＵＳＢメモリメディア１４０が接続されたときに、ＵＳＢメモリメディア１４０のメディアコンテンツにしたがって画像処理装置の動作ログを回収する必要があるか否かが判断される。そのため、ＵＳＢメモリメディア１４０が動作ログの回収を行うコンテンツを含む場合にのみ、自動的に動作ログをＵＳＢメモリメディア１４０に回収することができる。また、画像処理装置のＵＩ制御プロセス２２０が停止していた場合でも、効率的に動作ログを回収することができる。なお、本実施形態では、画像処理装置に装着されるメモリメディアの一例としてＵＳＢメモリメディアを用いたが、その他の様々なメモリメディアによっても本発明は実施可能である。
【００４０】
＜第２実施形態に係る動作ログの回収処理＞
第１実施形態に係る画像処理装置では、ＵＳＢメモリメディア１４０の挿入検知が動作ログの回収処理を開始する直接のトリガとした。これに対し、第２実施形態に係る画像処理装置では、メモリメディアに接続されたＬＡＮケーブルの挿入検知をトリガとして動作ログの回収処理を開始する。
【００４１】
図６は、画像処理装置での第２実施形態に係る動作ログの自動取得処理のフローチャートである。図４のフローチャートのステップＳ４０１では、ＵＳＢメモリメディア１４０の装着を検知した。これに対して、図６のフローチャートのステップＳ６０１では、ＬＡＮケーブルに接続されたメモリメディアの装着を、ＬＡＮケーブルの挿入（リンク）を検知することにより行う。ＬＡＮケーブル挿入検出は、ＮＩＣドライバ２４０により行われ、ＮＩＣドライバ２４０は検出結果をシステム監視・デバッグログプロセス２２１に通知する。
【００４２】
そして、図６のフローチャートに示されるステップＳ６０２−Ｓ６０９，Ｓ６２０，Ｓ６３０の処理はそれぞれ、図４のフローチャートのステップＳ４０２−Ｓ４０９，４２０，Ｓ４３０の処理と同じである。よって、これらの処理の詳細については、本実施形態における説明を割愛する。第２実施形態でも、第１実施形態と同じ効果を得ることができることはいうまでもない。なお、本実施形態では、メモリメディアに接続されるケーブルの一例としてＬＡＮケーブルを用いたが、ＵＳＢケーブル等のその他のケーブルを用いても本発明は同様に実施可能である。
【００４３】
＜その他の実施形態＞
以上、本発明をその好適な実施形態に基づいて詳述してきたが、本発明はこれら特定の実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の様々な形態も本発明に含まれる。さらに、上述した各実施形態は本発明の一実施形態を示すものにすぎず、各実施形態を適宜組み合わせることも可能である。例えば、上記の実施形態では、本発明の機能を画像処理装置に適用したが、本発明の機能が実施されるのであれば、画像処理装置のような単体の機器であってもよいし、複数の機器からなるシステムであってもよい。
【００４４】
また、上記の実施形態では、情報処理装置と接続される外部装置の一例としてメモリメディアを用いたが、記憶手段を備えるパーソナルコンピュータ等の端末が接続された場合でも同様に実現可能である。また、上記の実施形態では、情報処理装置の一例としてプリンタやスキャナ等の機能を備える画像処理装置を例に説明したが、本発明は、画像処理装置に限らず、コンピュータ等の端末にも適用可能である。
【００４５】
本発明は以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）をネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ等）がプログラムコードを読み出して実行する処理である。この場合、そのプログラム、及び該プログラムを記憶した記憶媒体は本発明を構成することになる。
【符号の説明】
【００４６】
１００    コントローラ部
１０１    コントローラファーム
１１０    ＣＰＵ
１４０    ＵＳＢメモリメディア
１８０    ＬＡＮケーブル
２２０    ＵＩ制御プロセス
２２１    システム監視・デバッグプロセス
２２２    ジョブ制御プロセス
２２３    データ管理プロセス
２２４    ネットワークプロセス
２３０    ＵＳＢドライバ
２４０    ＮＩＣドライバ
２５０    ログ領域
【図１】
0005726000.tif 000002
【図２】
0005726000.tif 000003
【図３】
0005726000.tif 000004
【図４】
0005726000.tif 000005
【図５】
0005726000.tif 000006
【図６】
0005726000.tif 000007