JP5656519B2 - 情報処理装置、情報処理装置の制御方法、及び、プログラム - Google Patents

情報処理装置、情報処理装置の制御方法、及び、プログラム Download PDF

Info

Publication number
JP5656519B2
JP5656519B2 JP2010196527A JP2010196527A JP5656519B2 JP 5656519 B2 JP5656519 B2 JP 5656519B2 JP 2010196527 A JP2010196527 A JP 2010196527A JP 2010196527 A JP2010196527 A JP 2010196527A JP 5656519 B2 JP5656519 B2 JP 5656519B2
Authority
JP
Japan
Prior art keywords
log
processing apparatus
information processing
setting
debug
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2010196527A
Other languages
English (en)
Other versions
JP2012054803A5 (ja
JP2012054803A (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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2010196527A priority Critical patent/JP5656519B2/ja
Publication of JP2012054803A publication Critical patent/JP2012054803A/ja
Publication of JP2012054803A5 publication Critical patent/JP2012054803A5/ja
Application granted granted Critical
Publication of JP5656519B2 publication Critical patent/JP5656519B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Facsimiles In General (AREA)

Description

本発明は、情報処理装置、情報処理装置の制御方法、及び、プログラムに関する。
近年の画像処理装置、特に複数の機能を備えたマルチファンクション機器(以下、MFPと略する)においては、機能の多様化、デバイスの高性能化に伴い、その制御を行うファームウェアの規模、複雑度が増大しつづけている。そのためファームウェア開発、デバッグにおける効果的な調査、分析手段が求められている。
従来の組み込み装置向けのファームウェア開発においては、採用されるCPUに対応してハードウェアレベルによるソフトデバッグ支援ツールが提供されることが多かった。このようなハードウェアレベルによるデバッグ支援機能では、ソフト的には実現できない強力なデバッグ機能を具備しており、ソフトウェア開発における必須ツールとなっていた。
例えば、ソフトウェアバグによる不正なメモリ領域アクセスの検出や、多様な条件でのプログラム実行停止などは、ハード支援ならではの強力なデバッグ機能であり、広くファームウェア開発で使用されてきた。
しかし、近年のMFPのコントローラでは、ハードウェアによるデバッグ支援装置が提供されない汎用CPUを採用することも増えている。そのような場合、主にソフトウェア中に埋め込んだデバッグメッセージをデバッグログとして出力し、そのログ内容を検証することで動作確認や不具合調査に使うことが広く行われている。
デバッグログによるデバッグは、ハード支援に機能が劣るケースがある一方で、市場のユーザ先でも取得が可能であり、製品出荷後のファーム不具合調査でも利用することができる。そのため、MFPの市場不具合調査、分析にはまず市場から不具合動作を含むデバッグログを回収することが広く行われている。また同時に、ファームウェアの不具合発生時にその不具合要因の切り分けあるいは特定に利用できると、不具合への対応の迅速化が期待できる。
そのため例えば、特許文献1のように、MFPの動作異常時のログを、異常が発生したデバイスのIDを付加して記録し、不具合原因の特定に役立てる技術が提案されている。
特開2008−299565号公報
しかし、MFPのデバッグログには以下の課題がある。
MFPのようなリアルタイム制御を含むファームウェア動作のデバッグログ出力では、ミリ秒又はマイクロ秒オーダーの動作分析が必要である。そのためデバッグログ出力は、高速なメインメモリの一部領域をリングバッファとして行い、後からHDDにファイル化する構成をとることが多い。
メインメモリは、高速な一方でデバッグログに割り当て可能な領域サイズは小さく、時間的に数秒〜数十秒程度しかログ記録できない場合もある。そのため適切なタイミングでメインメモリからHDDなどの二次記憶装置にデバッグログをファイル化しないと、不具合調査に必要な動作区間の情報自体が失われてしまう。
この制約のため、従来では、取得したデバッグログに調査対象としたい動作が含まれず、分析自体ができない場合があった(第1の課題)。
さらに、MFPの機能としてデバッグログの制御機能やステータス確認機能が正式には提供されず、あくまで開発者向けの機能を限定的に運用するケースが多い。そのため、実際にMFPのログ取得を試みるサービスマンやユーザにとっては、前述の取得タイミングの問題と合わせてデバッグログの取り扱いが難しく、判りにくいという課題があった(第2の課題)。
本発明は、上記の問題点を解決するためになされたものである。本発明の目的は、情報処理装置の制御ファームウェアにおける所望のデバッグログの取得の確率を向上し、ファームウェアの不具合調査の効率を高めることができる仕組みを提供することである。
本発明は、ファームウェアにより動作する情報処理装置であって、前記ファームウェアの動作中のログを記憶する第1の記憶手段と、予め設定された事象の発生に対応して、前記第1の記憶手段に記憶されているログを第2の記憶手段に退避させる退避手段と、前記退避手段により前記第1の記憶手段から前記第2の記憶手段にログの退避が行われた場合、その旨を通知する第1の通知手段と、操作者により設定された文字列を読み込む読込手段と、前記退避手段により前記第2の記憶手段に退避されたログに、前記操作者により設定された文字列が含まれるか否かを検査するログ検査手段と、前記ログ検査手段による検査結果を前記操作者に通知する第2の通知手段と、を有することを特徴とする。
本発明によれば、情報処理装置の制御ファームウェアにおける所望のデバッグログの取得の確率を向上し、ファームウェアの不具合調査の効率を高めることができる。
本発明のMFPの全体構成を示す概要図である。 本発明のMFPのコントローラユニットのハードウェア構成の一例を示すブロック図である。 本発明のMFPのコントローラソフトウェアの構成図である。 本実施例におけるデバッグログ出力用API定義および呼び出し例を示す図である。 本実施例におけるデバッグログのデフォルト出力内容の一例を示す図である。 本実施例のデバッグログ動作設定ファイルの反映フローを示す図である。 本実施例のデバッグログ出力処理の一例を示すフローチャートである。 本実施例のデバッグログファイルの蓄積、回収フローを示す図である。 本実施例のログ設定ファイルのデータ例を示す図である。 本実施例のデバッグログのIDによる絞込み出力内容の一例を示す図である。 本実施例のデバッグログのレベルによる絞込み出力内容の一例を示す図である。 本実施例のデバッグログのID及びレベルでの絞りこみ出力内容の一例を示す図である。 本発明のMFPのデバッグログステータス確認画面の一例を示す図である。 本実施例のデバッグログステータス画面のステータス表示処理の一例を示すフローチャートである。 本実施例でUSBメモリにログ回収する処理の一例を示すフローチャートである。 本発明のMFPのデバッグログの動作設定画面の一例を示す図である。 通常のコピー機能画面の標準画面の一例を示す図である。 通常のコピー機能画面の標準画面の一例を示す図である。 本実施例のデバッグログ自動退避処理の一例を示すフローチャートである。 本実施例でFTPサーバにログ回収する処理の一例を示すフローチャートである。
以下、本発明を実施するための形態について図面を用いて説明する。
図1は、本発明の情報処理装置の一実施例を示す画像処理装置を適用したMFPの全体構成を示す概要図である。
図1において、100は本発明の画像処理装置を適用したMFP(Multifunction Peripheral)である。以下、MFP100の画像形成動作について説明する。
MFP100は、1Dカラー系画像処理装置(1つの感光ドラムでカラー画像形成を行う画像処理装置)であり、操作部210、スキャナエンジン201、プリンタエンジン202、さらにコントローラユニット200を有する。コントローラユニット200については後述の図2で説明する。なお、プリンタエンジン202は、レーザ露光部10、作像部20、定着部30、給紙/搬送部40を有する。
操作部210は、ユーザからの操作や装置全体のステータス表示などを行なう入力キーやタッチパネル付き表示画面を有し、画像処理装置とユーザとのユーザインターフェース機能を提供する。
スキャナエンジン201は、原稿台に置かれた原稿に対して、照明を当てて原稿画像を光学的に読み取り、その像を電気信号に変換して画像データを作成する。
プリンタエンジン202のレーザ露光部10は、画像データ(例えば、スキャナエンジン201により生成)に応じて変調されたレーザ光等の光線を等角速度で回転する回転多面鏡(ポリゴンミラー)に入射させ、反射走査光として感光ドラム21に照射する。
作像部20は、感光ドラム21を回転駆動し、帯電器によって帯電させ、レーザ露光部10によって感光ドラム21上に形成された潜像をトナーによって現像化し、そのトナー像をシートに転写する。その際に転写されずに感光ドラム21上に残った微小トナーを回収するといった一連の電子写真プロセスを実行して作像する。その際、シートが転写ドラム22の所定位置に巻きつき、4回転する間に、マゼンタ(M)、シアン(C)、イエロー(Y)、ブラック(K)のトナーを持つそれぞれの現像ユニット(現像ステーション)23〜26が入れ替わりで順次前述の電子写真プロセスを繰り返し実行する。4回転の後、4色のフルカラートナー像を転写されたシートは、転写ドラム22を離れ、定着部30へ搬送される。
定着部30は、ローラやベルトの組み合わせによって構成され、ハロゲンヒータなどの熱源を内蔵し、前記作像部によってトナー像が転写されたシート上のトナーを、熱と圧力によって溶解、定着させる。
給紙/搬送部40は、シートカセットやペーパーデッキに代表されるシート収納庫を一つ以上持っており、前記プリンタ制御部の指示に応じてシート収納庫に収納された複数のシートの中から一枚分離し、作像部20・定着部30へ搬送する。シートは作像部20の転写ドラム22に巻きつけられ、4回転した後に定着部30へ搬送される。4回転する間に前述のYMCK各色のトナー像がシートに転写される。また、シートの両面に画像形成する場合は、定着部を通過したシートを再度、作像部20へ搬送する搬送経路を通るように制御する。
上記各機能部はコントローラユニット200で実行されるコントローラウェアによって統合制御されており、それぞれコントローラソフトウェアと相互に通信を行ないつつ画像処理装置機能動作を実現するものである。コントローラソフトウェアにつていは図3で後述する。なお、上記のとおり図1のMFPの制御においてはコントローラソフトウェアは紙搬送制御、画像データ生成など実時間制約の強いリアルタイム処理を行う必要がある。その内部処理の時間粒度は、μ秒のオーダーであることも多く、コントローラソフトウェアが出力するデバッグログの出力頻度は通常のパーソナルコンピュータ(PC)やサーバ上のアプリケーションの数百〜数万倍となる。
<コントローラハードの構成>
図2は、コントローラユニット200のハードウェア構成の一例を示すブロック図である。
図2に示すように、コントローラユニット200は、画像入力デバイスであるスキャナエンジン201や画像出力デバイスであるプリンタエンジン202と接続し、画像データの読み取りやプリント出力のための制御を行う。また、コントローラユニット200は、LAN50と接続することで、外部装置(例えば、FTPサーバ250)と画像情報やデバイス情報を入出力するための制御を行う。
コントローラユニット200において、MainCPU205は、主に装置全体のシステム的な制御とアプリケーションプログラムを制御するための中央処理装置である。RAM206は、MainCPU205が動作するためのシステムワークメモリであり、MainCPU205が出力するデバッグログを保持する領域も確保されている。
SubCPU218は、主にスキャナエンジン201、プリンタエンジン202のリアルタイム制御、及び画像処理の制御をつかさどり、MainCPU205と連携してコピー機能、PDLプリント機能を実現する。なお、PDLは、Page Description Languageの略称であり、ページ記述言語を示す。即ち、PDLプリント機能とは、ページ記述言語で記述されたプリントデータに基づいて印刷を行う機能を示す。
RAM219は、SubCPU218用のメインメモリであり、SubCPU218が出力するデバッグログ出力領域もここに割り当てられている。
BootROM207には、コントローラの電源がON後、MainCPU205を起動するために最初に実行されるシステムのブートプログラム(図3のブートローダー370)が格納されている。このブートプログラムにより、BootROM207内のオペレーティングシステム(図3の380)や各種ファームウェアが起動される。ここで、電源Onで起動されるのはMainCPU205のみである。SubCPU218の起動は、MainCPU205のファームウェアがSubCPU218用のファームウェアをBootROM207からロードし、起動させることで行われる。
ハードディスクドライブ(HDD)208は、各種処理のためのシステムソフトウェア及び入力された画像データ、及び本発明のデバッグログが参照するログ設定ファイルA1(図6)、自動退避によって永続化されたログファイルB(図6)を保持する。なお、HDD208の代わりに、SSD(Solid State Drive)を備える構成であってもよい。
操作部I/F209は、画像データ等を表示可能なタッチパネル付き表示画面を有する操作部210に対するインタフェース部であり、操作部210に対して操作画面データを出力する。また、操作部I/F209は、操作部210から操作者が入力した情報をMainCPU205に伝える役割をする。ネットワークインタフェース(ネットワークI/F)211は、例えばLANカード等で実現され、LAN50に接続して外部装置(例えば、FTPサーバ250)との間で情報の入出力を行う。USB I/F230は、USBデバイス(例えば、USBメモリ240)との間で情報の入出力を行う。なお、USBメモリ240の代わりに、USBハードディスク等のMFP100と着脱可能な他の記憶装置であってもよい。もちろん、インタフェースはUSBインタフェースでなくとも、MFP100と通信可能なインタフェースであればどのようなインタフェースであってもよい。
イメージバスインタフェース(イメージバスI/F)214は、システムバス213と画像データを高速で転送する画像バス215とを接続するためのインタフェースであり、データ構造を変換するバスブリッジである。画像バス215上には、ラスタイメージプロセッサ(RIP)216、デバイスインタフェース(デバイスI/F)217が接続される。
RIP216は、ページ記述言語(PDL)コードや後述するベクトルデータをイメージに展開する。デバイスI/F部217は、スキャナエンジン201やプリンタエンジン202とコントローラユニット200とを物理的に接続し、画像データの同期系/非同期系の変換を行う。
また、画像処理ボード203は、スキャナエンジン201から読み込んだ画像やプリンタエンジン202に出力しようとしている画像に応じた補正、解像度変換等の処理を行う。画像処理は、スキャナエンジン201、プリンタエンジン202の速度に対応したリアルタイム処理が必要なため、画像処理ボード203の高速な専用処理ハードウェアによって処理実行される。
FAXデバイス260は、ファクシミリプロトコルによって通信を行うためのデバイスである。
図2中のFTPサーバ250とUSBメモリ240は、本実施例のMFP100のコントローラハードウェアに含まれるものではないが、後述の実施例中でデバッグログの回収に使用する他の外部装置として使用されるものである。
<コントローラソフトウェア構成>
図3は、MFP100のコントローラユニット200で実行されて画像処理装置全体の制御を行なうコントローラソフトウェアの構成図である。
図3において、300はコントローラソフトウェアである。コントローラソフトウェア300は、MainCPU205で実行されるMain側と、SubCPU218で実行されるSub側から構成されるが、本実施例で説明するデバッグログの動作は主にMainCPU205に関する。そのためSubCPU218側の詳細説明は省略する。
コントローラソフトウェア300は、システム全体制御とアプリケーション層の制御とともに、SubCPU218と連携してスキャナエンジン201、プリンタエンジン202、画像処理などのリアルタイム処理も行う。また、コントローラソフトウェア300は、操作部210から入力された動作指示にしたがってMFP全体としての機能動作を実現する。ブートローダー370は、コントローラユニット200のオペレーティングシステム380を起動するためのシステム読み込みプログラムである。オペレーティングシステム380はコントローラソフトウェア300全体が動作するための実行環境およびデバイスアクセス機能を提供するシステムソフトウェアである。
UIアプリケーション301は、操作部210の画面表示及び入力受付を行うソフトウェアモジュールである。ネットワークモジュール302は、ネットワークI/F211のドライバ及びプロトコル層の制御を行い、ネット−ワークを介した通信機能を提供する。
USB管理モジュールは、USB I/F230を管理し、USBデバイスの装着や取り外しを監視する。スキャンジョブ310、コピージョブ320、プリントジョブ330、FAXジョブ360は、それぞれ対応するMFP機能を実現するソフトウェアモジュールである。
コントローラAPI303は、アプリケーション層からの動作指示を受け付けるソフトAPI群で構成され、アプリケーションが所定の手順で本API群を呼び出すことでMFP動作が実行される。
電力管理モジュール383は、MFP全体の電力制御を行い、電源OFF時のシステム電源遮断処理や、MFPがアイドル状態の場合に省電力モードにシステム状態を変更する制御を行う。エラーマネージャ385は、MFP全体の各種事象を監視しており、例えばコントローラソフトウェア300内で発生したソフト例外、あるいはサービスマンコールのような致命的エラー、プリンタエンジン202でのジャムなどを捕捉するモジュールである。
<デバッグログ管理モジュール構成>
デバッグログ管理モジュール382は、コントローラソフトウェア300が動作中に出力するデバッグログの出力、退避、転送など一連のデバッグログ機能を実現する。
次に、デバッグログ管理モジュール382が提供するデバッグログ出力IF機能について図4を用いて説明する。
図4は、本実施例におけるデバッグログ出力用API定義及び呼び出し例を示す図である。
デバッグログ出力IF830は、コントローラソフトウェア300の開発者向けに提供されている。
なお、本実施例では、ログID定義820に示すように、各モジュール用にログIDが定義されているものとする。例えば、UIアプリケーション301用には「UI00」から始まる一連のIDが、FAXジョブ360用には「FAX00」からの一連のIDが、アプリ用には「APP00」からの一連のIDが割り当てられる。
また、本実施例では、ログ出力レベル定義810に示すように、出力レベルが定義されているものとする。なお、出力レベルは、ログ出力のエラー程度に応じて設定される。
840は、デバッグログ出力IF830を用いたデバッグログ出力呼出例である。この例では、ログIDとしてFAX00、出力レベルとしてWARN、文字列として"Waitign IMG-MEM 1000ms retry"が指定されて、デバッグログ出力が呼び出されている。
本実施例のコントローラソフトウェア300には、開発者により、840のようなデバッグログ出力呼出が、プログラムコード内に埋め込まれている。開発者は、840のようなデバッグログ出力呼出により出力されるデバッグログの内容を検証することで、コントローラソフトウェア300の動作確認や不具合調査を行うことができる。
図5は、デバッグログ出力の一例を示す図である。なお、本発明の効果を端的に説明するため、本実施例ではRAM206に割り当てるデバッグログ用領域(図6に示すデバッグログ用RAM領域1040)をログ60行分とすることを前提として説明する。
図5ではRAM206のデバッグ領域60行分いっぱいにログ出力されている様子を示す。
次の61行目にあたるデバッグログ出力IF830の呼び出しが行われると、デバッグログ管理モジュール382は、RAM206領域をリングバッファとして最古の行を上書きしてログ記録を継続する。そのため、RAM206のデバッグログ領域には最近の60行分だけの出力が保持されており、それ以前のログは上書きされて失われていく構成である。
line910はログの行数、time920はデバッグログ出力が行われた時刻、TASK930はデバッグログ出力を行ったモジュールのタスク名を示す。GroupID940、LEVEL950、Message960はそれぞれデバッグログIF830の呼び出し時に入力されたログID、出力レベル、メッセージ本体の文字列である。例えば、図5の30行目にあたる970の出力は、図4の840のようにデバッグログ出力IFを呼び出した結果である。なお、行数910、時間920、タスク名930はデバッグログ管理モジュール382が自動的に付加する情報であり、開発者によるデバッグログ分析をし易くするためのものである。
図6は、デバッグログ管理モジュール382の内部構成と、その動作モードを制御するログ設定の反映フローを示す図である。
図7は、本実施例のデバッグログ出力処理の一例を示すフローチャートである。なお、このフローチャートの処理は、デバッグログ管理モジュール382により実行される(即ち、MainCPU205がBootROM207から読み出されたファームウェアを実行することにより実現される)。
デバッグログ出力モジュール1000は、デバッグログ出力IF830の処理実体である。デバッグログ出力モジュール1000は、ログ動作設定1010を参照しつつ、図7のフローチャートに従ってデバッグログ用RAM領域1040へのログ出力を行う。なお、ログ動作設定1010は、ログ設定ファイルA1やA2から読み込まれてものである。A1は、MFP100のHDD208(ログ設定情報記憶部)に標準保持されるログ設定ファイル(ログ設定情報)を示す。また、A2は、USBメモリ240等の外部装置に記憶されて後からMFP100に送り込まれるカスタムログの設定ファイル(ログ設定情報)を示す。なお、ログ設定ファイルA1やA2の具体例は、後述する図9に示す。
デバッグログ出力IF830が呼び出されると、デバッグログ出力モジュール1000は、図7のS1201において、入力されたログIDが有効(出力対象)かどうか、ログ動作設定1010内のログ出力条件を参照して判定する。なお、ここで参照するログ動作設定1010内のログ出力条件は、具体的には、後述する図9の1803、1813、1823、1833等の"ID:"の設定値が対応する。
そして、入力されたログIDが無効(出力対象でない)と判定した場合(S1201でNo)、デバッグログ出力モジュール1000は、ログ出力を行わず処理を終了する。
一方、入力されたログIDが有効(出力対象)と判定した場合(S1201でYes)、デバッグログ出力モジュール1000は、S1202に処理を進める。
S1202では、デバッグログ出力モジュール1000は、入力された出力レベルが有効(出力対象)かどうか、ログ動作設定1010内の出力レベルの設定を参照してチェックする。なお、ここで参照するログ動作設定1010内の出力レベルの設定は、具体的には、後述する図9の1803、1813、1823、1833等の"Level:"の設定値が対応する。
そして、入力された出力レベルが無効(出力対象でない)と判定した場合(S1202でNo)、デバッグログ出力モジュール1000は、ログ出力を行わず処理を終了する。
一方、入力された出力レベルが有効(出力対象)と判定した場合(S1202でYes)、デバッグログ出力モジュール1000は、S1203に処理を進める。
S1203では、デバッグログ出力モジュール1000は、入力されたメッセージに、タイムスタンプ、タスク名、ID、レベル等の他の情報を付加して、ログ動作設定1010内の出力先の設定で指定されている出力先に出力し、処理を終了する。なお、ログ動作設定1010内の出力先の設定とは、具体的には、後述する図9の1803、1813、1823、1833等の"output:"の設定値が対応する。例えば、図9の1803のように"output:RAM"と設定されている場合、図6の例では、デバッグログ用RAM領域1040となる。なお、デバッグログの出力先には高速なメインメモリを用いる必要があるため、通常では、デバッグログの出力先はデバッグログ用RAM領域1040となる。しかし、本実施例では、"output:"の設定値を変更することにより、デバッグログの出力先を変更することも可能である。
ログ設定読み込みモジュール1020は、HDD208又はUSBメモリ240に保持されているログ設定ファイルA1又はA2を読み込み、ログ動作設定1010に反映するモジュールである。
ここで、ログ設定ファイルA1は、MFP出荷時点で予め想定されるデバッグログ動作パターンを定義して標準状態でHDD208に保持されている設定ファイル群である。また、ログ設定ファイルA2は、想定されたログ設定ファイルA1のデバッグログ動作設定に含まれないカスタム設定ファイルであり、製品出荷後に想定外の条件でデバッグログ取得を行いたい場合に開発者が記述し作成するものである。
デバッグログ用RAM領域1040は、MFP100のメインメモリ(RAM206)の一部領域をデバッグ用に割り当てたリングバッファ(ログ記憶部)であり、本実施例ではデバッグログ60行分が確保されている。
続いて図8を用いてログの自動退避及び外部装置へのログファイル転送について説明する。
図8は、本実施例のデバッグログファイルの蓄積、回収フロー図である。
ログ自動退避モジュール1030は、ログ動作設定1010内のログ退避トリガ条件が発生すると、このタイミングでデバッグログ用RAM領域1040の内容を読み出し、HDD208の一時領域にファイルとして退避(自動退避)する。なお、ログ動作設定1010内のログ退避トリガ条件とは、具体的には、後述する図9の1804、1814、1824等の"trigger:"の設定値が対応する。また、MFP100内の各種事象は、エラーマネージャ385からログ自動退避モジュール1030に常に通知されており、実際にログ退避を行うかはログ自動退避モジュール1030が設定(ログ退避トリガ条件)に基づいて判断を行う。
ログパターンチェックモジュール1060は、自動退避されたログファイルに、ログ動作設定1010内の期待パターンが含まれるかを検査するモジュールである。なお、ログ動作設定1010内の期待パターンとは、具体的には、後述する図9の1802、1812、1822、1832等で設定されている文字列(例えば、"Waitign IMG-MEM 1000ms retry")が対応する。そして、上記自動退避されたログファイルに期待パターンが含まれている場合、ログ自動退避モジュール1030は、上記HDD208内の一時領域に自動退避されたログファイルをHDD208内のログ永続化領域(永続化記憶部)に退避し、期待ログ保存フラグをOnにする。なお、期待ログ保存フラグは、後述する図13の410に示される機能ごとに設けられたものであり、デバッグログ管理モジュール382内で管理され(例えば、RAM206又はHDD208内に保持され)、後述する図14のS1602で参照される。
ログ転送モジュール1050は、HDD208のログ永続化領域に退避されたログファイル群を外部装置(FTPサーバ250やUSBメモリ240)に転送するモジュールである。
図9は、ログ設定ファイルA1又はA2の一例を示す図である。
ログ設定ファイルは、設定項目別の1つ以上のセクションから構成される。例えば、ログ設定ファイルは、期待ログパターン、ログ出力条件部、ログ退避トリガ、サーバ設定、上書きモード等のセクションが含まれる。
以下、本実施例のログ動作設定例、デバッグログ出力例では、「MFPが受信したFAXの処理に異常発生」の状況で異常原因調査のためのデバッグログ取得を想定して説明する。
図9において、ログ設定ファイル1801は、期待ログパターン1802、ログ出力条件部1803、ログ退避トリガ1804等のセクションを有する。
ログ出力条件部1803は、出力先はRAM(output:RAM)、出力IDはFAX関連の全てのID(ID:FAX,all)、アプリの60番と63番(ID:App,60,63)、出力レベルは全レベル(Level:all)(絞り込み無し)の設定である。即ち、ログIDがFAX関連のID、アプリの60番、又は、アプリの63番のデバッグログ出力が呼び出された場合に、デバッグログをデバッグログ用RAM領域1040に出力することが設定されている。なお、レベル(LEVEL)による絞込みは行わない設定となっている。
また、ログ退避トリガ1804は、FAX関連のエラー発生でRAM206に保持されているデバッグログ用RAM領域1040をファイル化する設定(trigger:FaxERR)である。即ち、FAX関連のエラーが発生した場合に、このタイミングでデバッグログ用RAM領域1040内のデバッグログをHDD208の一時領域に退避することが設定されている。
また、期待ログパターン1802は、"Waitign IMG-MEM 1000ms retry"の設定である。即ち、上記一時領域に退避されたデバッグログ内に文字列"Waitign IMG-MEM 1000ms retry"が含まれている場合に、上記一時領域に退避されたログをHDD208内のログ永続化領域に退避することが設定されている。
図10は、ログ設定ファイル1801の設定の元で出力されたデバッグログ内容例を示す図である。
図5に示したデフォルト出力内容では、コピー動作、ネットワークパケット等の動作等と混合してFAX動作のログが出力されており、FAXに注目したログ分析は困難である。一方で図10に示すように、FAXに絞ったログID出力の結果では、FAXに関連したアプリ及びFAXジョブのログのみが出力されており、容量が限られたデバッグログ用RAM領域1040が有効利用でき、且つ、FAX動作分析も容易である。また、期待ログパターン1802で記述したメッセージもログ内に残っているため、ログパターンチェックモジュール1060は、期待したログが取得されたと判断し、ログ自動退避モジュール1030によるHDD208への退避が行われる。
次に、図9のログ設定ファイル1810について説明する。
期待ログパターン1812、ログ退避トリガ1814は、ログ設定ファイル1801の期待ログパターン1802、ログ退避トリガ1804と同一であるので説明は省略する。
ログ出力条件部1813は、出力先はRAM(output:RAM)、出力IDは全ログID(ID:all,all)、出力レベルは警告以上のみ出力(Level:WARN)の絞込みを行う設定例である。即ち、出力レベルが警告"WARN"以上のデバッグログ出力が呼び出された場合に、デバッグログをデバッグログ用RAM領域1040に出力することが設定されている。なお、ログIDによる絞込みは行わない。
図11は、ログ設定ファイル1810の設定で出力されたデバッグログ内容例を示す図である。
ログ設定ファイル1810では、ログID設定は「全ID(ID:all,all)」となっているため、ネットワーク、FAX、電力制御、プリントなどの各モジュールの出力がされている。出力レベルでの絞込みは、MFP全体の動作で発生しているエラーや警告を確認する目的では判りやすく、且つ、緊急度の高いログのみに絞り込むとともに、デバッグログ用RAM領域1040を節約することができる。
例えば、図11では、直接異常が発生しているFAX処理中のメモリ確保の待ちが確認できるとともに、同時に電力制御のIDでERRレベルのログが11行目で確認できる。そのためFAXと同時に電力関係の不具合が発生し、FAXに異常が生じたのではないかという推測や調査につなげることが可能となる。
次に、図9のログ設定ファイル1820について説明する。
期待ログパターン1822、ログ退避トリガ1824は、ログ設定ファイル1801の期待ログパターン1802、ログ退避トリガ1804と同一であるので説明は省略する。
ログ出力条件部1823は、出力先はRAM(output:RAM)、出力IDはFAX関連の全てのID(ID:FAX,all)、アプリの60番と63番(ID:App,60,63)、出力レベルは警告以上のみ出力(Level:WARN)の絞込みを行う設定例である。即ち、ログIDがFAX関連のID、アプリの60番、又はアプリの63番で、且つ、出力レベルが警告"WARN"以上のデバッグログ出力が呼び出された場合に、デバッグログをデバッグログ用RAM領域1040に出力することが設定されている。
図12は、ログ設定ファイル1820の設定で出力されたデバッグログ内容例を示す図である。
図12の例では、ログ設定ファイル1801によるID絞り込みによる出力である図10に比べて出力レベルが警告"WARN"未満のLOGレベルが出力されず、「FAX動作の警告"WARN"以上のログのみ」が取得されている。このように出力条件を絞り込むことで限られたデバッグログ用RAM領域1040がリングバッファとして古いログを上書きするタイミングを引き伸ばし、有効なログを記録する可能性を高めることができる。
次に、図9のログ設定ファイル1830について説明する。
ログ設定ファイル1830には、期待ログパターン1832、ログ出力条件部1833等に加えて、サーバ設定1834のセクションが記述されている。なお、期待ログパターン1832、ログ出力条件部1833は、ログ設定ファイル1820の期待ログパターン1822、ログ出力条件部1823と同一であるので説明は省略する。
サーバ設定1834は、サーバのネットワークアドレス(SERVER:192.168.0.1)、使用するアカウント(USER:logger、PASS:xxxx)を用いてサーバに接続を行う設定例である。なお、このサーバ設定1834は、後述する図20のS2005で用いられる。
<デバッグログ画面>
次に、デバッグログ管理モジュール382が提供する機能やステータスを設定、確認するUI画面について図13を用いて説明する。
図13は、本MFPのデバッグログ動作設定やログ自動取得の状態を表示、確認可能な操作部210のタッチパネル付き表示部に表示されるデバッグログステータス画面の一例を示す図である。
図13に示すように、410の列に示すMFP機能ごとにログ設定が行われ、各機能ごとにログ自動取得設定420、取得モード430、取得状況440を表示する。なお、MFP機能とは、例えば、コピー機能、プリント機能、BOX機能、SEND機能、FAX機能、電力機能、アプリ機能、全体機能等を示す。
図13では、コピー機能とFAX機能でログ自動取得420が有効となっており、コピー機能では取得状況ボタン(ステータスボタン)441で自動取得は行われていないこと、FAX機能では取得状況ボタン(ステータスボタン)442で自動取得が行われログが退避されていることが示されている。
また、ログ自動取得のタイミングが、取得モード430で設定されており、コピー機能は「JAM」、FAX機能は「カスタム」の設定となっている。
以下、取得状況ボタン441及び442の表示処理を図14のフローチャートで説明する。
図14は、本実施例のデバッグログステータス画面のステータス表示処理の一例を示すフローチャートである。なお、このフローチャートの処理は、UIアプリケーション301により実行される(即ち、MainCPU205がBootROM207から読み出されたファームウェアを実行することにより実現される)。
操作部210からデバッグログステータス画面(図13)を開く操作が行われると、UIアプリケーション301は、S1601において、デバッグログステータス画面を操作部210のタッチパネル付き表示部に表示する。
そして、UIアプリケーション301は、デバッグログステータス画面内に表示する項目の収集を行い、その1つとして、S1602において、機能ごとの期待ログ保存フラグを、デバッグログ管理モジュール382から取得する。なお、期待ログ保存フラグは、後述する図19のS1509又はS1514で設定されるものである。
次に、S1603において、UIアプリケーション301は、上記S1602で取得した機能ごとの期待ログ保存フラグの状態に応じて、取得状況440に「あり」又は「なし」の表示を行う。詳細には、期待ログ保存フラグがOnの機能については、図13の442に示すように、取得状況440に「あり」の表示を行う。一方、期待ログ保存フラグがOffの機能については、図13の441に示すように、取得状況440に「なし」の表示を行う。
以下、図13の画面の説明に戻る。
ユーザが、USBメモリ転送ボタン490を選択してから実行ボタン402を押下すると、デバッグログ管理モジュール382は、HDD208に自動退避されたデバッグログファイルをUSBメモリに転送実行する。ステータス表示ボタン491には、USBメモリへの転送動作状況が表示される。なお、USBメモリがMFP100に装着されている場合にのみ、USBメモリ転送ボタン490が操作可能になるように構成してもよい。
FTPサーバ転送ボタン492は、ログ転送先を所定のFTPサーバへ転送する場合に選択、実行され、USB転送と同様にステータスボタン493に処理状況が表示される。なお、図9のサーバ設定1834のようなFTPサーバの設定がなされている場合にのみ、FTPサーバ転送ボタン492が操作可能になるように構成してもよい。
USBメモリ転送ボタンから行われる処理を、図15のフローチャートで説明する。
図15は、本実施例でUSBメモリにログ回収する処理のフローチャートである。なお、このフローチャートの処理は、UIアプリケーション301、USBIF管理モジュール390、デバッグログ管理モジュール382等により実行される(即ち、MainCPU205がBootROM207から読み出されたファームウェアを実行することにより実現される)。
操作部210からデバッグログステータス画面(図13)を開く操作が行われると、UIアプリケーション301は、デバッグログステータス画面を操作部210のタッチパネル付き表示部に表示する(S1701)。
また、USBメモリがMFP100に装着されると、USBIF管理モジュール390は、USBメモリの接続を認識し、その旨をデバッグログ管理モジュール382に通知する(S1702)。なお、S1701とS1702の順序は逆でもよい。
また、UIアプリケーション301は、USBメモリ転送ボタン490が選択されたことを検知すると、USBメモリ転送ボタン490を反転表示する(S1703)。この状態で実行ボタン402が押下されたことを検知すると、UIアプリケーション301は、その旨をデバッグログ管理モジュール382に通知する(S1704)。
上記S1702の通知及びS1704の通知を受けると、デバッグログ管理モジュール382は、ログ転送モジュール1050を起動する。
次に、S1705において、ログ転送モジュール1050は、デバッグログ用RAM領域1040の現時点のデバッグログをHDD208にファイル化する。
次に、S1706において、ログ転送モジュール1050は、上記S1705でHDD208にファイル化されたデバッグログ及びHDD208に自動退避されていたログファイルBも含めて、USBメモリ240に全てのログファイルを転送し、処理を終了する。
図16は、デバッグログの動作設定画面の一例を示す図である。
図13のデバッグログステータス画面に表示されるデバッグログ設定は、図16の動作設定画面から行われる。この動作設定画面も、図13に示したデバッグログステータス画面と同じく、MFP100の機能510別に設定が分かれており、520でログ自動退避(自動取得)のOff/On切り替え、530で自動退避のトリガ事象の設定が可能である。
自動取得520、及び、取得モード530の選択は、501及び502に示すプルダウンメニューから所望の値を選択し、実行ボタン502を押下することで可能である。上述のように自動取得及び取得モードが選択されて実行ボタン502を押下されると、選択された設定をデバッグログ管理モジュール382が読み込み、デバッグログ動作に反映する。このとき、デバッグログ管理モジュール382内のログ動作設定1010には、UI画面から選択された条件に対応するログ設定ファイルが選択され、読み込まれる。
なお、ログ設定ファイル群A1には、MFPの各機能ごとに、JAM用のログ設定ファイル、ソフト例外用のログ設定ファイル、サービスコール用のログ設定ファイル、リブート用のログ設定ファイルがそれぞれ含まれている。即ち、ログ設定ファイル群A1には、MFPの各機能ごと及び取得モードごとのログ設定ファイルがそれぞれ含まれている。そして、取得モード530として「JAM」、「ソフト例外」、「サービスコール」又は「リブート」が選択された場合、ログ設定読み込みモジュール1020は、これに対応するログ設定ファイルを、ログ設定ファイル群A1から選択して読み込む。例えば、FAX機能の自動取得が有効にされ、取得モードとしてJAMが選択されていた場合、ログ設定読み込みモジュール1020は、FAX機能のJAMに対応するログ設定ファイルを、ログ設定ファイル群A1から選択して読み込む。
なお、取得モード530として「カスタム」が選択された場合、ログ設定読み込みモジュール1020は、USBメモリ240からカスタム設定ファイルA2を読み込み、ログ動作設定1010に反映する。つまり取得モード530として「カスタム」を選択することで、柔軟なデバッグログ動作設定をMFP100に送り込むことができる。
また、取得モード530として「無効」が選択された機能については、ログ設定読み込みモジュール1020は、設定ファイルの読み込みを行わない。
設定クリアボタン550は、MFP100のデバッグログ動作設定を標準状態に戻すためのボタンである。この設定クリアボタン550が押下されると、デバッグログ管理モジュール382は、HDD等に格納されたデバッグログ動作設定の初期値等を読み出してログ動作設定1010に設定する。
ログファイルクリアボタン551は、MFP100内(HDD208のログ永続化領域)に退避、保持されているデバッグログ関連のファイルやデータを全て削除する処理を実行するボタンである。
これらの設定クリアボタン550、ログファイルクリアボタン551は、コントローラソフトウェア300の不具合調査が完了し、デバッグログ動作が不要となった時点でMFPを標準状態に戻すためのものである。
戻るボタン503は、図示しない1階層元(1つ前)のUI画面に遷移するためのボタンである。
<デバッグログ動作のステータス表示>
前述のデバッグログの自動退避機能の実施に伴って、その動作状況をユーザ通知する表示が必要となる。そのUI表示例を図17、図18で説明する。
図17、図18は、通常のコピー機能画面の標準画面の一例を示す図である。
本実施例のMFP100では、図17の610、図18の710に示す、操作画面下部の表示領域が、MFP全体の動作状況をユーザに通知するための領域として使用される。
図17の610では、ログのHDD退避中にMFP100の電源OFFをされるとHDD208の破損につながる可能性があるため、MFP100の電源OFFしなよう注意を促す表示がなされている例が示されている。
図18の710では、ログの自動退避が作動しHDD208にログファイルBが存在していることを通知する表示がなされている例が示されている。自動退避が作動したということは、即ちデバッグログを取得してコントローラソフトウェア300の動作を調査すべき状態が発生したということである。そのため、迅速にHDD208のログファイルBを回収し、コントローラソフトウェア300の開発者が分析することが望まれるため、ログ回収を促すための表示が操作画面下部の表示領域になされる(図18の710)。
なお、コピー画面内の各ボタンや機能の詳細は、本発明とは関係しないため説明は省略する。
なお、図17の610、図18の710に示す表示は、UIアプリケーション301が、デバッグログ管理モジュール382からの通知に応じて行うものである。
<設定からログ自動退避の流れ>
以下、図19を用いて、デバッグログ設定からログ自動退避までの処理の流れを説明する。
図19は、本実施例のデバッグログ自動退避処理のフローチャートであるである。このフローチャートの処理は、デバッグログ管理モジュール382により実行される(即ち、MainCPU205がBootROM207から読み出されたファームウェアを実行することにより実現される)。
デバッグログ管理モジュール382は、図16に示したデバッグログの動作設定画面からログの自動取得対象機能及び取得モードの設定が行われたことを検知すると(S1501)、S1502に処理を進める。
S1502では、デバッグログ管理モジュール382は、前記S1501でなされた設定に対応するログ設定ファイルを読み込んでログ動作設定1010に設定し、設定反映に必要な内部モジュールの再起動を行う。これにより、上述の前記S1501でなされた設定に対応するデバッグログ出力設定、自動退避トリガ設定がMFPに設定される。
そして、図3に示したMFP100の各モジュールは、前記S1501でなされた設定に対応する動作設定の元で動作を継続する(定常動作)(S1503)。
そして、ログ自動退避のトリガ事象が発生すると、エラーマネージャ385は、デバッグログ管理モジュール382に事象発生を通知する(S1504)。なお、この事象発生の通知を受けると、デバッグログ管理モジュール382は、ログ動作設定1010と発生した事象を比較する。そして、デバッグログ管理モジュール382が、発生した事象がログ退避トリガであると判断すると、ログ自動退避モジュール1030が、デバッグログ用RAM領域1040内の情報(ログ)を、一旦、HDD208の一時領域にファイル出力する。
次に、S1505において、ログパターンチェックモジュール1060が、HDD208の一時領域に出力したログ(ファイル)に、期待ログパターンが含まれているか否かを判定する。そして、HDD208の一時領域に出力したログ(ファイル)に、期待ログパターンが含まれていないと判断した場合(S1506でNo)、ログ自動退避モジュール1030は、上記一時領域に出力したログ(ファイル)を破棄する(S1515)。そして、図3に示したMFPの各モジュールは、再び定常動作に戻る(S1503)。
一方、HDD208の一時領域に出力したログ(ファイル)に、期待ログパターンが含まれていると判断した場合(S1506でYes)、ログ自動退避モジュール1030は、S1507処理を進める。
S1507では、ログ自動退避モジュール1030は、HDD208のログ永続化領域に空きがあるかを判定する。
そして、HDD208のログ永続化領域に空きがあると判定した場合(S1507でYes)、ログ自動退避モジュール1030は、S1508に処理を進める。
S1508では、ログ自動退避モジュール1030は、HDD208の一時領域に出力したログ(ファイル)をHDD208のログ永続化領域に退避し、S1509において、対応する機能の期待ログ保存フラグをOnにする。詳細には、上記S1506でログ(ファイル)内に含まれていると判定された期待ログパターンが設定されている機能の期待ログ保存フラグをOnにする。そして、図3に示したMFPの各モジュールは、再び定常動作に戻る(S1503)。
一方、HDD208のログ永続化領域に空きがないと判定した場合(S1507でNo)、ログ自動退避モジュール1030は、S1510に処理を進める。
S1510では、ログ自動退避モジュール1030は、ログ動作設定1010に保持されている退避ログの上書きモードが上書き設定On(上書き有効)か否かを判定する。そして、上書きモードが上書き設定On(上書き有効)と判定した場合(S1510でYes)、ログ自動退避モジュール1030は、S1513に処理を進める。
S1513では、ログ自動退避モジュール1030は、HDD208のログ永続化領域に存在するログファイルBのうち、最古のログファイルを、HDD208の一時領域に出力したログ(ファイル)で上書きする。さらに、S1514において、ログ自動退避モジュール1030は、対応する機能の期待ログ保存フラグをOnにする。詳細には、上記S1506でログ(ファイル)内に含まれていると判定された期待ログパターンが設定されている機能の期待ログ保存フラグをOnにする。そして、図3に示したMFPの各モジュールは、再び定常動作に戻る(S1503)。
なお、上記S1504で、上記事象発生の通知を受けると、デバッグログ管理モジュール382は、デバッグログ処理中となったことを、UIアプリケーション301に通知する。この通知を受けて、UIアプリケーション301は、操作部210に図17のMFPステータス表示を行う。そして、上記S1509又はS1514の処理を完了すると、デバッグログ管理モジュール382は、デバッグログ処理が終了したことを、UIアプリケーション301に通知する。この通知を受けて、UIアプリケーション301は、操作部210に図18のMFPステータス表示を行う。
一方、上記S1510において、上書きモードが上書き設定Off(上書き無効)と判定した場合(S1510でNo)、ログ自動退避モジュール1030は、S1511に処理を進める。
S1511では、ログ自動退避モジュール1030は、HDD208の一時領域に出力したログ(ファイル)を破棄し、S1512において、ログ動作設定1010内のログ自動退避設定をOffし、処理を終了する。なお、S1512でログ自動退避設定をOffするのは、退避領域がフルになっていて且つ上書きしない設定のため、この状態でデバッグログ動作をしても無駄な動作となってしまうため、このような無駄な動作を避けるためである。
以上でデバッグログ取得設定からログファイル自動退避までの処理が完結する。続いて、図15を用いて説明した、USBメモリでのログファイル回収を行うことで、所望のデバッグログを回収することができる。
<FTPサーバでの回収>
以下、USBメモリではなく、MFPとネットワーク接続されたサーバへ退避されたログを転送、回収する実施例について、図20及び図9の1830を用いて説明する。
図20は、本実施例でFTPサーバにログ回収する処理のフローチャートである。なお、このフローチャートの処理は、UIアプリケーション301、USBIF管理モジュール390、デバッグログ管理モジュール382等により実行される(即ち、MainCPU205がBootROM207から読み出されたファームウェアを実行することにより実現される)。
なお、デバッグログ管理モジュール382内のログ転送モジュール1050は、USBメモリの他にネットワーク接続された外部サーバへログファイルを転送する機能も備える。本実施例では、ログ転送モジュール1050が、FTPプロトコルを用いて、FTPサーバへ転送する構成を例に説明するが、他のプロトコルを用いて他の種類のサーバへ転送する構成であってもよい。また、サーバでなくとも、MFP100と通信可能な外部装置、例えば、NAS(Network Attached Storage)であってもよい。
操作部210からデバッグログステータス画面(図13)を開く操作が行われると、UIアプリケーション301は、デバッグログステータス画面を操作部210のタッチパネル付き表示部に表示する(S2001)。
また、UIアプリケーション301は、FTPサーバ転送ボタン492が選択されたことを検知すると、FTPサーバ転送ボタン492を反転表示する(S2002)。この状態で実行ボタン402が押下されたことを検知すると、UIアプリケーション301は、その旨をデバッグログ管理モジュール382に通知する(S2003)。
上記S2003の通知を受けると、デバッグログ管理モジュール382は、ログ転送モジュール1050を起動する。
次に、S2004において、ログ転送モジュール1050は、ログ動作設定1010内のサーバ設定(具体的には、図9のサーバ設定1834)を用いてFTPサーバ250への接続確認を行う。
そして、FTPサーバ250への接続に失敗した(接続NG)場合(S2004でNo)、ログファイルの転送は不可能なため、S2007において、ログ転送モジュール1050は、接続NGをステータスボタン493に表示し、処理を終了する。
一方、FTPサーバ250への接続に成功した(接続OK)場合(S2004でYes)、ログ転送モジュール1050は、S2005に処理を進める。
S2005では、ログ転送モジュール1050は、USBメモリ転送と同様に、デバッグログ用RAM領域1040の現時点のデバッグログをHDD208にファイル化する。
次に、S2006において、ログ転送モジュール1050は、上記S2005でHDD208にファイル化されたデバッグログ及びHDD208に自動退避されていたログファイルBも含めて、FTPサーバ250に全てのログファイルを転送し、処理を終了する。
<デバッグログ回収完了時>
デバッグログの取得が不要になった時点で、デバッグログ設定、及び、残ったログファイルのクリアなど、MFP100の動作を標準状態に戻す必要がある。
そのために図16で説明した設定クリアボタン550、ログファイルクリアボタン551が用意されており、これらのボタンを押下してクリア実行する。この操作によって、MFP100はデバッグログ取得設定する前の、標準動作状態に戻るため、以後、再度、明示的にデバッグログ動作設定を行わない限り、コントローラソフトウェア300のデバッグログ管理モジュール382は動作することはない。
また、上記実施例では、本発明の情報処理装置を、一実施例として、MFP等の画像処理装置を用いて説明したが、本発明の情報処理装置は画像処理装置に限られるものではない。ファームウェアにより動作する情報処理装置であれば、どのような情報処理装置であってもよい。
なお、上述した各種データの構成及びその内容はこれに限定されるものではなく、用途や目的に応じて、様々な構成や内容で構成されることは言うまでもない。
以上、一実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様をとることが可能である。具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
また、上記各実施例を組み合わせた構成も全て本発明に含まれるものである。
(他の実施例)
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等のプロセッサ)がプログラムを読み出して実行する処理である。
また、本発明は、複数の機器から構成されるシステムに適用しても、1つの機器からなる装置に適用してもよい。
本発明は上記実施例に限定されるものではなく、本発明の趣旨に基づき種々の変形(各実施例の有機的な組合せを含む)が可能であり、それらを本発明の範囲から除外するものではない。即ち、上述した各実施例及びその変形例を組み合わせた構成も全て本発明に含まれるものである。
以上説明したように、本発明によれば、デバッグログ取得(ファイル化)の自動化と、非開発者にも理解可能な取得設定および取得ステータスUIを備えることで、情報処理装置の制御ファームウェアにおける所望のデバッグログの取得の確率を向上し、ファームウェアの不具合調査の効率を高めることができる。
100 MFP
200 コントローラユニット
210 操作部
201 スキャナエンジン
202 プリンタエンジン
203 画像処理ボード
260 FAXデバイス
300 コントローラソフトウェア
382 デバッグログ管理モジュール
385 エラーマネージャ

Claims (12)

  1. ファームウェアにより動作する情報処理装置であって、
    前記ファームウェアの動作中のログを記憶する第1の記憶手段と、
    予め設定された事象の発生に対応して、前記第1の記憶手段に記憶されているログを第2の記憶手段に退避させる退避手段と、
    前記退避手段により前記第1の記憶手段から前記第2の記憶手段にログの退避が行われた場合、その旨を通知する第1の通知手段と、
    操作者により設定された文字列を読み込む読込手段と、
    前記退避手段により前記第2の記憶手段に退避されたログに、前記操作者により設定された文字列が含まれるか否かを検査するログ検査手段と、
    前記ログ検査手段による検査結果を前記操作者に通知する第2の通知手段と、
    を有することを特徴とする情報処理装置。
  2. ファームウェアにより動作する情報処理装置であって、
    前記ファームウェアの動作中のログを記憶する第1の記憶手段と、
    予め設定された事象の発生に対応して、前記第1の記憶手段に記憶されているログを第2の記憶手段に退避させる退避手段と、
    操作者により設定された文字列をUSBメモリから読み込む読込手段と、
    前記退避手段により前記第2の記憶手段に退避されたログに、前記操作者により設定された文字列が含まれるか否かを検査するログ検査手段と、
    前記ログ検査手段による検査結果を前記操作者に通知する通知手段と、
    を有することを特徴とする情報処理装置。
  3. 前記第1の記憶手段は、前記情報処理装置のメインメモリの一部領域に設けられたリングバッファであることを特徴とする請求項1又は2に記載の情報処理装置。
  4. 前記第2の記憶手段に退避したログを前記情報処理装置と通信可能な外部装置に転送する転送手段を有することを特徴とする請求項1乃至3のいずれか1項に記載の情報処理装置。
  5. 前記外部装置は、前記情報処理装置に着脱可能に接続される記憶装置であることを特徴とする請求項4に記載の情報処理装置。
  6. 前記外部装置は、ネットワークを介して前記情報処理装置と通信可能な装置であることを特徴とする請求項4に記載の情報処理装置。
  7. 前記情報処理装置は、ファームウェアの動作により制御される複数の機能を有するものであり、
    前記予め設定された事象を設定するための設定手段を有し、
    前記設定手段は、前記予め設定された事象を前記機能ごとにそれぞれ設定することを特徴とする請求項1乃至6のいずれか1項に記載の情報処理装置。
  8. 前記情報処理装置の操作者による前記いずれの機能についてログを退避させるかの選択、及び、予め用意されている複数のモードのいずれのモードでログを退避させるかの選択を受け付ける受付手段と、
    前記機能ごと及び前記モードごとに、前記予め設定された事象を含むログ設定情報を記憶するログ設定情報記憶手段と、を有し、
    前記設定手段は、前記受付手段で受け付けた前記機能の選択及び前記モードの選択に対応するログ設定情報を前記ログ設定情報記憶手段から読み出して、前記予め設定された事象を設定することを特徴とする請求項7に記載の情報処理装置。
  9. 前記設定手段は、前記ログ設定情報を前記ログ設定情報記憶手段又は外部装置から読み出すことを特徴とする請求項8に記載の情報処理装置。
  10. ファームウェアにより動作する情報処理装置の制御方法であって、
    退避手段が、予め設定された事象の発生に対応して、第1の記憶手段に記憶されている前記ファームウェアの動作中のログを第2の記憶手段に退避させる退避ステップと、
    第1の通知手段が、前記退避ステップにより前記第1の記憶手段から前記第2の記憶手段にログの退避が行われた場合、その旨を通知する第1の通知ステップと、
    読込手段が、操作者により設定された文字列を読み込む読込ステップと、
    ログ検査手段が、前記退避手段により前記第2の記憶手段に退避されたログに、前記操作者により設定された文字列が含まれるか否かを検査するログ検査ステップと、
    第2の通知手段が、前記ログ検査ステップによる検査結果を前記操作者に通知する第2の通知ステップと、
    を有することを特徴とする情報処理装置の制御方法。
  11. ファームウェアにより動作する情報処理装置の制御方法であって、
    退避手段が、予め設定された事象の発生に対応して、第1の記憶手段に記憶されている前記ファームウェアの動作中のログを第2の記憶手段に退避させる退避ステップと、
    読込手段が、操作者により設定された文字列をUSBメモリから読み込む読込ステップと、
    ログ検査手段が、前記退避手段により前記第2の記憶手段に退避されたログに、前記操作者により設定された文字列が含まれるか否かを検査するログ検査ステップと、
    通知手段が、前記ログ検査ステップによる検査結果を前記操作者に通知する通知ステップと、
    を有することを特徴とする情報処理装置の制御方法。
  12. ファームウェアにより動作する情報処理装置を、請求項1乃至のいずれか1項に記載された情報処理装置の手段として機能させるためのプログラム。
JP2010196527A 2010-09-02 2010-09-02 情報処理装置、情報処理装置の制御方法、及び、プログラム Active JP5656519B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010196527A JP5656519B2 (ja) 2010-09-02 2010-09-02 情報処理装置、情報処理装置の制御方法、及び、プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010196527A JP5656519B2 (ja) 2010-09-02 2010-09-02 情報処理装置、情報処理装置の制御方法、及び、プログラム

Publications (3)

Publication Number Publication Date
JP2012054803A JP2012054803A (ja) 2012-03-15
JP2012054803A5 JP2012054803A5 (ja) 2013-11-07
JP5656519B2 true JP5656519B2 (ja) 2015-01-21

Family

ID=45907670

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010196527A Active JP5656519B2 (ja) 2010-09-02 2010-09-02 情報処理装置、情報処理装置の制御方法、及び、プログラム

Country Status (1)

Country Link
JP (1) JP5656519B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6312073B2 (ja) 2013-05-28 2018-04-18 キヤノン株式会社 画像形成装置、画像形成装置の制御方法、及びプログラム
JP7309349B2 (ja) 2018-11-30 2023-07-18 キヤノン株式会社 情報処理装置、およびその制御方法、プログラム
CN118227397B (zh) * 2024-05-22 2024-08-09 湖北芯擎科技有限公司 一种多平台BootROM测试方法及装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001257823A (ja) * 2000-03-10 2001-09-21 Pfu Ltd 画像処理装置及びその制御方法
JP2007233918A (ja) * 2006-03-03 2007-09-13 Nec Corp ログ情報収集システム、情報処理装置、ログ情報収集方法およびプログラム
JP2010056744A (ja) * 2008-08-27 2010-03-11 Fuji Xerox Co Ltd 情報処理装置、画像形成装置及びプログラム

Also Published As

Publication number Publication date
JP2012054803A (ja) 2012-03-15

Similar Documents

Publication Publication Date Title
US9075705B2 (en) Information processing apparatus capable of appropriately providing notification of storage unit failure prediction, control method therefor, and storage medium
JP5019817B2 (ja) 情報処理装置、情報処理方法、情報処理プログラム、及び記録媒体
US8625142B2 (en) Printing apparatus and control method thereof and program
US11570313B2 (en) Image forming apparatus, information processing apparatus, method of controlling image forming apparatus, method of controlling information processing apparatus, and storage medium
US9292240B2 (en) Image processing device, image processing method, and computer-readable storage medium
US11076055B2 (en) Control apparatus detects an error in image processor and reboots the image processor before transmits printing data to printing apparatus
US20090279138A1 (en) Image processing system, method of controlling the same, and storage medium
JP5656519B2 (ja) 情報処理装置、情報処理装置の制御方法、及び、プログラム
US8582161B2 (en) Image forming apparatus, and computer program product for image forming provided with managing log of a time designated print job
JP2020160230A (ja) 画像形成装置及びその制御方法
EP2608520B1 (en) Performing error notification and error recovery in an image forming apparatus
JP2012190197A (ja) ログ処理システム
JP5306130B2 (ja) 情報処理装置、分析方法、及びそのプログラム
JP2010287108A (ja) 画像処理装置
JP2010049388A (ja) 画像処理装置及び障害解析プログラム
JP4857043B2 (ja) 情報処理装置及び画像形成装置
JP7127378B2 (ja) 画像処理装置、自己診断方法及びプログラム
JP7192655B2 (ja) 情報処理装置、情報処理システム、プログラム、及び情報処理方法
JP4343547B2 (ja) 画像形成装置、デバッグ情報記録方法
JP2008011513A (ja) パイプライン化されたデータフロー文書処理システムおよびその方法
US10924617B2 (en) Image forming system, portable terminal, and error notification method
JP6953994B2 (ja) シミュレート装置、画像形成装置、装置設定方法および装置設定プログラム
JP6256507B2 (ja) 画像形成システム、画像形成装置及びプログラム
JP5710412B2 (ja) 画像処理装置
JP2008048208A (ja) 画像処理装置及び画像処理方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130830

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130918

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140729

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140805

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141002

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141125

R151 Written notification of patent or utility model registration

Ref document number: 5656519

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151