(57)【要約】【課題】  所定の処理の処理性能の低下の抑制と、当該所定の処理のログ情報が破棄されることの抑制と、のいずれを優先させるかを選択的に切替えられるようにすることを目的とする。【解決手段】  情報処理装置は、所定の処理を実行する処理手段と、前記処理手段による前記所定の処理のログ情報を一時的に記憶する記憶手段と、前記記憶手段における記憶領域の残量が所定の閾値よりも小さい場合、前記情報処理装置の動作モードに応じて、前記処理手段による前記所定の処理の実行を制限する制限手段と、を有する。【選択図】  図３
2018097618.tif 000002
【特許請求の範囲】
【請求項１】
情報処理装置であって、
所定の処理を実行する処理手段と、
前記処理手段による前記所定の処理のログ情報を一時的に記憶する記憶手段と、
前記記憶手段において前記ログ情報を記憶するための記憶領域における空き容量が所定の閾値よりも小さい場合、前記情報処理装置の動作モードに応じて、前記処理手段による前記所定の処理の実行を制限する制限手段と、
を有することを特徴とする情報処理装置。
【請求項２】
前記空き容量が前記所定の閾値よりも大きい場合、前記制限手段による制限は行われないことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記記憶手段に記憶された前記ログ情報を、他のメモリへ転送する転送手段を更に有することを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記転送手段により転送された前記ログ情報は前記記憶手段から削除されることを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記処理手段は複数のプロセッサを含み、前記記憶手段は、前記複数のプロセッサの各々に対応する記憶領域を有することを特徴とする請求項１から４のいずれか１項に記載の情報処理装置。
【請求項６】
前記記憶手段は、前記ログ情報を記憶する際の時刻情報を、前記ログ情報と対応付けて記憶することを特徴とする請求項１から５のいずれか１項に記載の情報処理装置。
【請求項７】
前記処理手段が第１のクロック周波数で動作している場合には、前記制限手段は、前記処理手段による前記所定の処理の実行を制限し、前記処理手段が前記第１のクロック周波数とは異なる第２のクロック周波数で動作している場合には、前記制限手段による制限は行われないことを特徴とする請求項１から６のいずれか１項に記載の情報処理装置。
【請求項８】
前記処理手段が前記第１のクロック周波数で動作している場合とは、前記情報処理装置がデバッグモードであることを特徴とする請求項７に記載の情報処理装置。
【請求項９】
前記情報処理装置の動作モードが、前記制限手段が前記所定の処理の実行を制限するモードとは異なる場合、前記記憶手段は、既に記憶されている前記ログ情報を上書きして、新たな前記ログ情報を記憶することを特徴とする請求項１から８のいずれか１項に記載の情報処理装置。
【請求項１０】
前記ログ情報は優先度を有し、
前記記憶手段は、新たな前記ログ情報の優先度よりも、既に記憶されている前記ログ情報のうち優先度の低い前記ログ情報を上書きして、当該新たなログ情報を記憶することを特徴とする請求項９に記載の情報処理装置。
【請求項１１】
前記所定の処理は、前記情報処理装置と他の通信装置との間の通信処理であることを特徴とする請求項１から１０のいずれか１項に記載の情報処理装置。
【請求項１２】
前記通信処理は、ＴＣＰ／ＩＰプロトコル処理であることを特徴とする請求項１１に記載の情報処理装置。
【請求項１３】
メモリを有する情報処理装置の制御方法であって、
所定の処理を実行する処理工程と、
前記所定の処理のログ情報を一時的に前記メモリへ記憶する記憶工程と、
前記メモリにおいて前記ログ情報を記憶するための記憶領域における空き容量が所定の閾値よりも小さい場合、前記情報処理装置の動作モードに応じて、前記所定の処理の実行を制限する制限工程と、
を有することを特徴とする制御方法。
【請求項１４】
コンピュータを請求項１から１２のいずれか１項に記載の情報処理装置として動作させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
ログ情報を記憶する情報処理装置に関する。
【背景技術】
【０００２】
ユーザがＣＰＵにおいて実行される処理の経過や結果に関する情報を得ることを目的として、ログ情報を記憶させることが一般的に行われている。ここで、ログ情報は、高速低容量の一時メモリに一旦、保存され、その後、低速大容量のメモリに転送される。
【０００３】
高速に動作するＣＰＵについて、様々な種類のログ情報を記憶させる場合、一時メモリにも大容量のメモリリソースが必要となってしまう。そこで、特許文献１では、メモリの空き容量に応じて、優先度の高いログ情報を選択的に記憶し、その他のログ情報は破棄するようにしている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１２−８８８８７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１においては、メモリの空き容量によっては、ユーザが欲しているログ情報も破棄されてしまう可能性があった。例えば、デバッグモードで動作している場合には、より多くの種類のログ情報を取得したいという要望があるにも拘わらず、それらのログ情報が優先度の観点で破棄されてしまう可能性があった。
【０００６】
ログ情報を破棄されないようにするためには、ログ情報が一時メモリから、低速大容量のメモリに転送されるまで、ＣＰＵの動作を一時的に止める必要がある。しかしながら、ＣＰＵの処理速度を優先させる通常モードにおいては、ログ情報を記憶するためにＣＰＵの処理性能を低下させたくないという要望があった。
【０００７】
上記課題を解決するために、本発明は、所定の処理の処理性能の低下の抑制と、当該所定の処理のログ情報が破棄されることの抑制と、のいずれを優先させるかを選択的に切替えられるようにすることを目的とする。
【課題を解決するための手段】
【０００８】
上記課題を鑑み、本発明の情報処理装置は、所定の処理を実行する処理手段と、前記処理手段による前記所定の処理のログ情報を一時的に記憶する記憶手段と、前記記憶手段における記憶領域の残量が所定の閾値よりも小さい場合、前記情報処理装置の動作モードに応じて、前記処理手段による前記所定の処理の実行を制限する制限手段と、を有する。
【発明の効果】
【０００９】
情報処理装置の動作モードに応じて所定の処理の実行を制限するので、所定の処理の処理性能の向上と、当該所定の処理のログ情報の破棄の防止と、のいずれを優先させるかを選択的に切替えることができる。
【図面の簡単な説明】
【００１０】
【図１】本発明を実施可能な情報処理装置のブロック構成図
【図２】ログコントローラ１１４のログ生成動作を示すシーケンス図
【図３】ログコントローラ１１４のログ格納方法選択動作を示すフロー図
【図４】ＣＰＵ優先度によるログ格納方法選択動作を示すフロー図
【発明を実施するための形態】
【００１１】
図１に本実施形態の情報処理装置を示す。情報処理装置は、主処理部（メインシステム）１０１と通信処理部（サブシステム）１０５を有する。主処理部１０１は、情報処理装置のアプリケーションを制御するためのシステムである。例えば、情報処理装置がプリンタであれば、主処理部１０１は印刷処理に関わる制御を行い、情報処理装置がカメラであれば撮像処理に関わる制御を行う。また、主処理部１０１はＴＣＰ／ＩＰプロトコル処理は行わず、通信処理部１０５がＴＣＰ／ＩＰプロトコル処理を行う。
【００１２】
主処理部１０１は、メインＣＰＵ１０２、メインメモリ１０３、および、メインバス１０４を含む。メインＣＰＵ１０２は、情報処理装置全体のアプリケーション制御を担う。メインメモリ１０３は、メインＣＰＵ１０２およびサブＣＰＵ１０７〜１１１が実行するプログラムを格納し、また、データ用バッファメモリとしての役割を担う。さらにメインメモリ１０３は、ログ情報の格納場所としての役割も担う。メインバス１０４は、メインＣＰＵ１０２とメインメモリ１０３、通信処理部１０５とのデータ転送に使用される。
【００１３】
通信処理部１０５には、ローカルバス１０６、サブＣＰＵ１０７〜１１１、データ移動部１１２、有線インターフェイス１１３、および、ログコントローラ１１４を含む。通信処理部１０５は、例えばＴＣＰ／ＩＰプロトコル処理を実行することにより、情報処理装置に外部ネットワークを介して他の通信装置と通信することを可能にする。
【００１４】
ローカルバス１０６は、サブＣＰＵ１０７〜１１１からデータ移動部１１２、ログコントローラ１１４、および主処理部１０１へのアクセスおよびデータ転送に使用される。
【００１５】
サブＣＰＵ１０７〜１１１は、ＴＣＰ／ＩＰプロトコル処理等の通信処理を実行する。各サブＣＰＵは、メインメモリ１０３に格納されたプログラムを内蔵するキャッシュメモリにロードして（読みだして）、プログラムを実行する。各サブＣＰＵが実行するプログラムは共通であっても良いし、各サブＣＰＵ個別であっても良い。
【００１６】
データ移動部１１２は、主処理部１０１と通信処理部１０５との間のデータ転送を実行する。またデータ移動部１１２は、不図示の内部バッファを有し、転送データを記憶しておくことが可能である。各サブＣＰＵは、当該内部バッファに記憶されたデータにアクセスすることが可能である。
【００１７】
データ移動部１１２は、本実施形態において外部ネットワークへのデータ送信時に、データ移動部１１２の内部バッファから有線インターフェイス１１３へデータ転送を行う。またデータ受信時には、有線インターフェイス１１３から内部バッファへのデータ転送を行う。
【００１８】
有線インターフェイス１１３は通信ケーブルを介して、情報処理装置をネットワークに接続する。有線通信として、ＩＥＥＥ８０２．３（Ｅｔｈｅｒｎｅｔ）が可能である。なお、これに限らず、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）等の他の種類の有線通信を行ってもよい。また、情報処理装置が有線インターフェイス１１３に代えて、もしくは、加えて無線インターフェイスを有し、ＩＥＥＥ８０２．１１シリーズ（Ｗｉ−Ｆｉ）等の無線通信を行ってもよい。
【００１９】
有線インターフェイスにより、例えば情報処理装置がプリンタであれば、ネットワークを介してＰＣ等が情報処理装置に印刷指示を行うことにより、情報処理装置に印刷処理を行わせることが可能である。
【００２０】
ログコントローラ１１４は、レジスタ部１１５、タイマ部１１６、動作モード検出部１１７、ログコントローラ制御部１１８、内部メモリ１１９、データ転送部１２０を含む。
【００２１】
ログコントローラ１１４はＡＳＩＣであり、各サブＣＰＵ１０７〜１１１からのログ生成要求を受信すると、ログ生成処理を実行する。生成されたログ情報は内部メモリ１１９に一時的に格納され、データ転送部１２０により内部メモリ１１９からメインメモリ１０３へ転送される。
【００２２】
ログを保存するためには大容量のメモリが必要なる。しかし、組み込み機器向けのＡＳＩＣ内部に大容量のメモリを持つことは、コスト面から考えると難しい。そのため、本実施形態ではＡＳＩＣ外部に別途メモリを用意する。ただし、ＡＳＩＣ内部のＣＰＵから外部メモリへのアクセスは、アクセスにかかる時間が大きくなってしまう。ログコントローラ１１４は、ログを外部メモリに書き込む処理をＣＰＵに代わり実行することで、ＣＰＵの負担を減らすことを可能としている。
【００２３】
ログコントローラ１１４内の各構成要素について以下に説明を行う。
【００２４】
レジスタ部１１５は、各サブＣＰＵから発行されるログ生成要求を受信する要求レジスタを有する。本実施形態においては、メインＣＰＵ１０２および各サブＣＰＵ（１０７〜１１１）に対応し、６つの要求レジスタをレジスタ部１１５内に有するものとする。各ＣＰＵは、生成したいログデータを、当該ＣＰＵに対応する要求レジスタへ書き込む。レジスタ部１１５は要求レジスタに対する書き込みを検知すると、ログコントローラ制御部１１８へログ生成要求を通知する。
【００２５】
また、レジスタ部１１５は、レジスタへ書き込みを行ったＣＰＵに対し、書き込みを受け付けたことを示す応答信号を返す。各ＣＰＵは該応答信号を受信した後、即座に他の処理へ移行することが出来る。
【００２６】
タイマ部１１６は常時、時刻情報をカウントしており、時刻情報をログコントローラ制御部１１８へ通知する。動作モード検出部１１７は、主処理部１０１および通信処理部１０５の動作モードを検出し、ログコントローラ制御部１１８へ通知する。本実施形態において動作モード検出部１１７は、主処理部１０１および通信処理部１０５に供給されるクロック信号が入力され、クロック信号の状態から動作モードを検出する。
【００２７】
例えば、主処理部１０１および通信処理部１０５へ、クロック信号が供給されている場合は通常モード、通信処理部１０５にのみクロック信号が供給されている場合はネットワークスタンバイモードと判断する。ネットワークスタンバイモードは、通常モードより消費電力が低く、外部ネットワークを介して起動メッセージの受信を待ち受けている状態を指す。本実施形態においては、ネットワークスタンバイモード時は、５つのサブＣＰＵ（１０７〜１１１）のうち、４つのサブＣＰＵはスリープ状態になっているものとする。
【００２８】
さらに、通常モードと同様に主処理部１０１と通信処理部１０５にクロック信号が供給され、通常モード時のクロック周波数と異なる場合デバッグモードと判断する。クロック信号の状態から動作モードを検出することで、ＣＰＵが情報処理装置内の動作モードを逐一ログコントローラへ設定する必要が無いため、ＣＰＵにおける負荷が増加することは無い。
【００２９】
なお、これに代えて、動作モード検出部１１７がメインＣＰＵ１０２から、主処理部１０１および通信処理部１０５の動作モード情報を取得し、動作モードを検出するようにしてもよい。この場合、動作モード検出部１１７が、主処理部１０１と通信処理部１０５へ供給されるクロック周波数を検出する必要は無い。
【００３０】
また、動作モード検出部１１７は、ログコントローラ１１４の外にあっても構わない。例えば、動作モード検出部１１７が、ローカルバス１０６に直接接続され、動作モードを通知する信号をログコントローラ１１４へ送信する形態であっても構わない。
【００３１】
ログコントローラ制御部１１８は、レジスタ部１１５からログ生成要求が通知されると、ログ生成処理を開始する。レジスタ部１１５に書き込まれたログデータと、ログデータを書き込んだＣＰＵのＩＤ、タイマ部１１６から通知される時刻情報を基にログを生成し、内部メモリ１１９へ格納する。ここで、ＣＰＵと要求レジスタは１対１に対応付けられているため、ログデータを書き込んだＣＰＵのＩＤは、ログデータが書き込まれた要求レジスタに基づいて判断される。
【００３２】
ログコントローラ制御部１１８は、各内部メモリ１１９の空き容量を管理する。ログ情報の格納を実行する毎に、内部メモリ１１９の空き容量を計算する。ログ情報を記憶するための記憶領域における空き容量が少なくなると、内部メモリ１１９内に格納されたログ情報をメインメモリ１０３へ転送するために、データ転送部１２０に対し転送の指示を行う。
【００３３】
内部メモリ１１９の空き容量が少なくログ情報の格納が実施できない場合、ログコントローラ制御部１１８は、動作モード検出部１１７から通知される動作モードに基づき、内部メモリ１１９へのログ格納方法を選択する。ログ格納方法については後述する。
【００３４】
内部メモリ１１９は、生成されたログが一時的に格納されるバッファの役割を担う。レジスタ部１１５同様、メインＣＰＵ１０２および各サブＣＰＵ（１０７〜１１１）に対応し、６つの内部メモリを有する。例えば、サブＣＰＵ１０７からのログ生成要求に基づき生成されたログ情報は、サブＣＰＵ１０７用の内部メモリへ格納される。
【００３５】
データ転送部１２０は、ログコントローラ制御部１１８の指示により、内部メモリ１１９に格納されたログをメインメモリ１０３へ転送する。クロック信号生成部は、クロック信号を生成し主処理部１０１および通信処理部１０５へ供給する。また、メインＣＰＵ１０２からの指示により、クロック信号の停止およびクロック周波数の変更を行う。
【００３６】
図２にログコントローラ１１４のログ生成動作を示すフロー図を示す。当該フロー図は、ログコントローラ制御部１１８のＡＳＩＣ（ハードウェア）により実現される。なお、ＡＳＩＣでの動作に代えて、情報処理装置のメインメモリ１０３に記憶されたプログラムをログコントローラ制御部１１８が読み出して実行することでソフトウェアとして実現するようにしてもよい。
【００３７】
ログコントローラ１１４は、情報処理装置に電源が投入され、通信処理部１０５が起動した時点で動作を開始する（Ｓ２０１）。Ｓ２０２において、ログコントローラ制御部１１８は、動作開始後ログ生成要求がＣＰＵから通知されているかを確認する。ログ生成要求があった場合、Ｓ２０３へ、ログ生成要求が無い場合、Ｓ２０６へと進む。
【００３８】
Ｓ２０３において、ログコントローラ制御部１１８はログ生成処理を実行する。ログコントローラ制御部１１８は、レジスタ部１１５からどのＣＰＵがログ生成要求を出したのかを判別し、ＣＰＵのＩＤ情報を生成する。また、タイマ部１１６から時刻情報を取得する。ＣＰＵのＩＤ情報および時刻情報を、レジスタ部１１５に書き込まれたログの内容に付加しログを生成する。ログ生成処理が完了すると、Ｓ２０４へと進む。
【００３９】
Ｓ２０４において、ログコントローラ制御部１１８はログ格納方法の選択を実行する。ログ格納方法の選択については、図３を用いて後述する。ログ格納方法の選択が完了すると、Ｓ２０５へ進む。
【００４０】
Ｓ２０５において、ログコントローラ制御部１１８はＳ２０４にて選択したログ格納方法に従ってログ格納処理を実行する。ログ生成要求を通知したＣＰＵに対応する内部メモリ１１９に、ログ情報を格納するだけの空き容量がある場合は、生成したログ情報を内部メモリ１１９へ書き込む処理が実行される。書き込み処理が完了すると、書き込んだログのサイズを基に内部メモリ１１９の空き容量を計算する。ログ格納処理が完了するとＳ２０６へ進む。
【００４１】
Ｓ２０６において、ログコントローラ制御部１１８は内部メモリ１１９の空き容量の確認を実行する。内部メモリ１１９つの各空き容量を確認し、空き容量が少ない内部メモリがあった場合はＳ２０７へ進み、無い場合はＳ２０８へ進む。
【００４２】
ここでの空き容量の判断は、予め設定されている設定値（閾値）と空き容量の値を比較し、空き容量が設定値を下回っている場合は空き容量が少ないと判断する。
【００４３】
Ｓ２０７において、ログコントローラ制御部１１８はデータ転送部１２０に対し、空き容量が少ないメモリからデータ転送を行うように指示を行う。データ転送部１２０により、指示された内部メモリ１１９からログ情報が読みだされ、メインメモリ１０３へ転送される。
【００４４】
ここで、転送とは、内部メモリ１１９からメインメモリ１０３へのログ情報の移動を指し、転送されたログ情報は内部メモリ１１９から削除される。従って、ログ情報が転送されると、空き容量が増加する。
【００４５】
なお、本実施形態では、空き容量が設定値を下回っている全ての内部メモリについて、当該転送が行われる。しかしながら、複数の内部メモリについて空き容量が設定値を下回っている場合であっても、空き容量が最も少ない１つの内部メモリについてのみ当該転送を行うようにしてもよい。これにより、複数の内部メモリについて転送処理を行う場合よりも、早くログ生成要求があるかを確認することができる。また、情報処理装置の動作モードによって、これらの動作を切替えるようにしてもよい。例えば、通常モードである場合には、空き容量が最も少ない１つの内部メモリについてのみ当該転送を行う。そして、デバッグモードである場合には、空き容量が設定値を下回っている全ての内部メモリについて、当該転送を行う。これによれば、動作モードに応じて適切な転送方法を選択的に行うことができる。
【００４６】
転送が完了すると、内部メモリ１１９の空き容量の計算が実行され、Ｓ２０８へ進む。
【００４７】
Ｓ２０８において本フローは終了し、所定時間が経過すると、再びＳ２０１より開始される。これにより、当該フローは、周期的に繰り返される。所定時間は０であってもよく、また、情報処理装置の動作モードのよって異なる値であってもよい。
【００４８】
また、情報処理装置の電源がＯＦＦになった場合や、ユーザの指示によりログの保存機能がＯＦＦになった場合には、Ｓ２０１から再開することなく、Ｓ２０８において本フローを停止するようにしてもよい。
【００４９】
図３は、ログコントローラ１１４内におけるログ格納方法選択動作（Ｓ２０４）の詳細を示すフロー図である。図３に示すフロー図は、図２におけるＳ２０４の処理に進み、かつ、ログ生成を要求したＣＰＵに対応する内部メモリ１１９にログ情報を格納できるだけの空き容量が存在しない場合に開始される（Ｓ３０１）。
【００５０】
なお、ログ生成を要求したＣＰＵに対応する内部メモリ１１９にログ情報を格納できるだけの空き容量が存在する場合には、ログコントローラ制御部１１８は、ログ生成を要求したＣＰＵに対応する内部メモリ１１９にログ情報を格納すると判定する。当該判定をＳ２０４において行い、Ｓ２０５に進む。
【００５１】
以降の説明において、ログ生成を要求したＣＰＵを自ＣＰＵ、それ以外のＣＰＵを他ＣＰＵとして記載する。
【００５２】
Ｓ３０２において、ログコントローラ制御部１１８は動作モード検出部１１７から通知される動作モードの判定を行う。通常モードである場合はＳ３０３へ、通常モードで無い場合はＳ３０７へ進む。
【００５３】
Ｓ３０３において、ログコントローラ制御部１１８は生成要求のあったログに優先度設定がされているか判定を行う。本実施形態では、ログ内の特定のフィールドを、優先度を示す領域として確保している。そこで、ログコントローラ制御部１１８は、ログ内に設定されている優先度を読み取り、ログ間の優先度を判定する。
【００５４】
例えば、優先度を示す情報としてＦＡＴＡＬ、ＥＲＲＯＲ、ＩＮＦＯＲＭＡＴＩＯＮなど、それぞれのログの優先度を設定することが出来る。この場合はＦＡＴＡＬが最も優先度が高く、ＩＮＦＯＲＭＡＴＩＯＮが最も低い優先度となる。以降で説明するログの選択処理において、より優先度の高いログが選択されることで、重要なログを残すことが可能になる。
【００５５】
ログに優先度が設定されている場合、Ｓ３０４へ進み、ログに優先度が設定されていない場合、Ｓ３０５へ進む。
【００５６】
Ｓ３０４において、ログコントローラ制御部１１８はログ優先度に基づくログの選択処理を実行する。ログ生成要求があったログと、自ＣＰＵに対応する内部メモリ１１９内に格納されているログの優先度を比較し、より優先度の高いログを内部メモリ１１９内に格納することを決定し本フローは終了する（Ｓ３０６）。ログの格納処理（Ｓ２０５）において、優先度の低いログは破棄されることになる。
【００５７】
Ｓ３０５において、ログコントローラ制御部１１８は自ＣＰＵに対応する内部メモリ１１９内に格納されているログへ上書き処理を実行することを決定し、本フローは終了する（Ｓ３０６）。ログの格納処理（Ｓ２０５）において、内部メモリ１１９内に格納されていたログの中で、最も古いログが上書きされ破棄されることになる。
【００５８】
以上のように、通常モードかつ内部メモリ１１９に空き容量が十分に無い場合は、ログの破棄が発生することになる。
【００５９】
Ｓ３０７において、ログコントローラ制御部１１８は動作モード検出部１１７から通知される動作モードの判定を行う。ネットワークスタンバイモードである場合はＳ３０８へ、ネットワークスタンバイモードで無い場合はＳ３１０へ進む。Ｓ３０７における判定は、Ｓ３０２における判定と同時に実行しても構わない。
【００６０】
Ｓ３０８において、ログコントローラ制御部１１８は、他ＣＰＵに対応する内部メモリ１１９に空き容量があるか判定を行う。空き容量がある場合はＳ３０９へ進み、無い場合にはＳ３０３へ進む。
【００６１】
Ｓ３０９において、ログコントローラ制御部１１８は、他ＣＰＵに対応する内部メモリ１１９へログを格納することを決定し、本フローは終了する（Ｓ３０６）。ネットワークスタンバイモード時は、前述したように動作しているＣＰＵの数は限られる。本実施形態では、動作しているＣＰＵは１つとしているが、複数のＣＰＵが動作していても構わない。スリープ状態にあるＣＰＵに対応する内部メモリ１１９を利用することで、ログの破棄を防ぐことが可能となる。
【００６２】
Ｓ３０８において他ＣＰＵに対応する内部メモリ１１９にも空き容量が十分に無い場合は、Ｓ３０３へ進み以降のフローは前述と同様になる。
【００６３】
Ｓ３０７において、ネットワークスタンバイモードで無い場合と判定された場合、Ｓ３１０へ進む。本実施形態においては、デバッグモードであった場合にＳ３１０に進むことになる。デバッグモードは、情報処理装置のシステム開発者やユーザを対象にしたデバッグを目的としたモードであり、情報処理装置の処理性能は重視していない。ただしデバッグ目的であるため、ログが破棄されることを防止したいという要求がある。
【００６４】
Ｓ３１０において、ログコントローラ制御部１１８は自ＣＰＵに対応する内部メモリ１１９に空きが出来るまで、格納処理を待機することを決定する。内部メモリ１１９内のログがデータ転送部１２０により転送され、空きが出来るとログの格納を実行する。ログコントローラ制御部１１８が格納処理を待機している間に、自ＣＰＵが新たにログ生成要求を行っても、レジスタ部１１５は応答を返さない。そのため、ＣＰＵはレジスタ部１１５が応答を返すまで待機状態となり、他の処理へ移ることは出来ない。即ち、ＣＰＵによるＴＣＰ／ＩＰ等の通信処理の実行が制限される。
【００６５】
以上のように、デバッグモードかつ内部メモリ１１９に空き容量が十分に無い場合は、ＣＰＵにおいて待機状態が発生することで処理性能が落ちてしまう可能性があるが、ログの破棄は発生しない。
【００６６】
図３のフローにおいては、他ＣＰＵに対応する内部メモリ１１９に空き容量が無い場合は、ログの選択処理（Ｓ３０４）は行わないとしている。
【００６７】
ログ内の優先度設定に加え、各ＣＰＵに優先度を設定することで、他ＣＰＵに対応する内部メモリ１１９へ格納するログを選択するように構成することも可能である。
【００６８】
図４に、各ＣＰＵにログの優先度が設定されている場合のログ格納方法選択動作フローを示す。各ＣＰＵの優先度は静的に決定されていても良いし、動的に変更しても良い。例えば、各ＣＰＵが実行中のアプリケーションに応じて優先度を変更することで、より重要度の高いログの破棄を防止することが可能になる。
【００６９】
本フローは自ＣＰＵに対応する内部メモリ１１９にログを格納出来るだけの空き容量が存在しない場合に、本フローは開始される（Ｓ４０１）。
【００７０】
Ｓ４０２において、ログコントローラ制御部１１８は、他ＣＰＵに対応する内部メモリ１１９に空き容量があるか判定を行う。空き容量がある場合はＳ４０３へ進み、無い場合にはＳ４０４へ進む。
【００７１】
Ｓ４０３において、ログコントローラ制御部１１８は、他ＣＰＵに対応する内部メモリ１１９へログを格納することを決定し、本フローは終了する（Ｓ４１０）。他ＣＰＵに対応する内部メモリ１１９に空き容量がある場合は、図３に示したフロー内のＳ３０９と同様の処理となる。
【００７２】
Ｓ４０４において、ログコントローラ制御部１１８は、生成要求のあったログと自ＣＰＵに対応する内部メモリ１１９内に格納されているログ間で優先度比較を実施する。ここでは、ログ内に設定されている優先度が比較され、Ｓ４０５へ進む。
【００７３】
Ｓ４０５において、Ｓ４０４の比較結果を基に、生成要求があったログより優先度の低いログが、自ＣＰＵに対応する内部メモリ１１９内に存在する場合、Ｓ４０６へ進み、存在しない場合、Ｓ４０７へ進む。
【００７４】
Ｓ４０６において、ログコントローラ制御部１１８は自ＣＰＵに対応する内部メモリ１１９内に存在する優先度の低いログへ上書き処理を行うことを決定し、本フローは終了する（Ｓ４１０）。
【００７５】
Ｓ４０７において、ログコントローラ制御部１１８は自ＣＰＵより低い優先度が設定されているＣＰＵが存在するか判定を行う。ここでは、ログ内に設定されている優先度では無く、各ＣＰＵに設定されている優先度が比較される。自ＣＰＵより低い優先度が設定されているＣＰＵが存在する場合はＳ４０８へ進み、存在しない場合はＳ４０９へ進む。
【００７６】
Ｓ４０８において、ログコントローラ制御部１１８は自ＣＰＵより低い優先度が設定されている他ＣＰＵに対応する内部メモリ１１９内でログの入れ替え処理を行うことを決定し、本フローを終了する（Ｓ４１０）。破棄されるログは、他ＣＰＵに対応する内部メモリ１１９内に格納されているログの中で、ログ内に設定されている優先度が最も低いものが選択される。また全てのログの優先度が同値だった場合、最も古いログが選択される。破棄されたログの代わりに、生成要求があったログが格納される。
【００７７】
Ｓ４０９において、ログコントローラ制御部１１８は自ＣＰＵに対応する内部メモリ１１９内の最も古いログに、生成要求があったログを上書きすることを決定し、本フローを終了する（Ｓ４１０）。
【００７８】
以上のように、各ＣＰＵに対し優先度を設定することにより、他ＣＰＵに対応する内部メモリへログを格納することが可能になり、重要度の高いログの破棄を防ぐことが出来る。
【００７９】
本実施形態によれば、情報処理装置の動作モードに基づきログの格納方法を選択する。これにより、動作モードに応じて、重要度の高いログの破棄を防ぐことを優先するログ処理と、処理部の処理性能を落とさないことを優先するログ処理とを選択的に行うことができる。
【００８０】
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。
【符号の説明】
【００８１】
１０１  主処理部
１０２  メインＣＰＵ
１０３  メインメモリ
１０４  メインバス
１０５  通信処理部
１０６  ローカルバス
１０７  サブＣＰＵ１
１０８  サブＣＰＵ２
１０９  サブＣＰＵ３
１１０  サブＣＰＵ４
１１１  サブＣＰＵ５
１１２  データ移動部
１１３  有線インターフェイス
１１４  ログコントローラ
１１５  レジスタ部
１１６  タイマ部
１１７  動作モード検出部
１１８  ログコントローラ制御部
１１９  内部メモリ
１２０  データ移動部
１２１  クロック信号生成部
【図１】
2018097618.tif 000003
【図２】
2018097618.tif 000004
【図３】
2018097618.tif 000005
【図４】
2018097618.tif 000006