IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社リコーの特許一覧

特許7439546情報処理装置、情報処理方法およびプログラム
<>
  • 特許-情報処理装置、情報処理方法およびプログラム 図1
  • 特許-情報処理装置、情報処理方法およびプログラム 図2
  • 特許-情報処理装置、情報処理方法およびプログラム 図3
  • 特許-情報処理装置、情報処理方法およびプログラム 図4
  • 特許-情報処理装置、情報処理方法およびプログラム 図5
  • 特許-情報処理装置、情報処理方法およびプログラム 図6
  • 特許-情報処理装置、情報処理方法およびプログラム 図7
  • 特許-情報処理装置、情報処理方法およびプログラム 図8
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-02-19
(45)【発行日】2024-02-28
(54)【発明の名称】情報処理装置、情報処理方法およびプログラム
(51)【国際特許分類】
   G06F 11/07 20060101AFI20240220BHJP
   G06F 11/34 20060101ALI20240220BHJP
   G06F 11/30 20060101ALI20240220BHJP
【FI】
G06F11/07 178
G06F11/07 140Q
G06F11/34 176
G06F11/30 140D
【請求項の数】 7
(21)【出願番号】P 2020015428
(22)【出願日】2020-01-31
(65)【公開番号】P2021124756
(43)【公開日】2021-08-30
【審査請求日】2022-11-17
(73)【特許権者】
【識別番号】000006747
【氏名又は名称】株式会社リコー
(74)【代理人】
【識別番号】100089118
【弁理士】
【氏名又は名称】酒井 宏明
(72)【発明者】
【氏名】青木 龍太
【審査官】坂庭 剛史
(56)【参考文献】
【文献】特開2016-057658(JP,A)
【文献】特開2017-207894(JP,A)
【文献】特開2018-073363(JP,A)
【文献】特開2019-191820(JP,A)
【文献】特開平11-353208(JP,A)
【文献】特開2000-066929(JP,A)
【文献】特開2009-053935(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 11/07
G06F 11/30-11/34
(57)【特許請求の範囲】
【請求項1】
情報処理装置であって、
エラーを示すダンプ情報を記憶する第1記憶部と、
エラー発生時のログデータを記憶する第2記憶部と、
前記第2記憶部に記憶された前記エラー発生時のログデータの種類を判別する判別部と、
前記第1記憶部にダンプ情報が記憶されているか否かを判定する第2判定部と、
前記第2判定部により前記第1記憶部にダンプ情報が記憶されていると判定された場合、前記判別部により判別された種類と同じ種類のダンプ情報が前記第1記憶部に存在するか否かを判定する第1判定部と、
前記第1判定部により前記同じ種類のダンプ情報が前記第1記憶部に存在すると判定された場合、前記第2記憶部に記憶された前記エラー発生時のログデータを削除する削除部と、
前記第2判定部により前記第1記憶部にダンプ情報が存在しないと判定された場合、または、前記第1判定部により前記同じ種類のダンプ情報が前記第1記憶部に存在しないと判定された場合、前記第2記憶部に記憶されたログデータを、前記判別部により判別された種類と関連付けてダンプ情報として前記第1記憶部に保存する書込部と、
を備え
前記書込部は、カーネルパニックの発生時にログデータを新規のダンプ情報として前記第1記憶部に保存し、
前記書込部により前記新規のダンプ情報が前記第1記憶部に保存された後、前記情報処理装置を再起動させる再起動部をさらに備え、
前記第2判定部は、前記再起動部による再起動後、前記第1記憶部に前記新規のダンプ情報が保存されているか否かを判定し、
前記判別部は、前記第2判定部により前記第1記憶部に前記新規のダンプ情報が保存されていると判定された場合、該新規のダンプ情報の種類を判別し、
前記第1判定部は、前記判別部により判別された前記新規のダンプ情報の種類と同じ種類のダンプ情報が前記第1記憶部に存在するか否かを判定し、
前記削除部は、前記第1判定部により前記新規のダンプ情報の種類と同じ種類のダンプ情報が前記第1記憶部に存在すると判定された場合、前記新規のダンプ情報を削除し、
前記書込部は、前記第1判定部により前記新規のダンプ情報の種類と同じ種類のダンプ情報が前記第1記憶部に存在しないと判定された場合、前記判別部により判別された前記新規のダンプ情報の種類を、前記新規のダンプ情報と関連付けて前記第1記憶部に保存する情報処理装置。
【請求項2】
前記第2判定部による判定動作、前記判別部による前記エラー発生時のログデータの種類の判別動作、前記第1判定部による前記第2判定部の判定結果に応じた判定動作、前記削除部による前記第1判定部の判定結果に応じた削除動作、および、前記書込部による前記第2判定部および前記第1判定部の各判定結果に応じた保存動作は、所定の条件を満たした場合に実行される請求項に記載の情報処理装置。
【請求項3】
前記書込部は、前記カーネルパニックが発生した場合に、前記第1記憶部の空き容量が所定値以上である場合、前記カーネルパニックの発生時のログデータを新規のダンプ情報として該第1記憶部に保存し、前記空き容量が前記所定値未満である場合、該ログデータを、該第1記憶部に記憶されているダンプ情報に新規のダンプ情報として上書きして保存する請求項1または2に記載の情報処理装置。
【請求項4】
前記書込部は、前記カーネルパニックの発生時にログデータをダンプ情報として前記第1記憶部に保存した後、該カーネルパニックが発生したことを示すフラグ情報を、前記第1記憶部に書き込み、
前記第2判定部は、前記再起動部による再起動後、前記第1記憶部に前記フラグ情報が記憶されている場合、前記第1記憶部に前記新規のダンプ情報が保存されているか否かを判定し、
前記削除部は、
前記第1判定部により前記同じ種類のダンプ情報が前記第1記憶部に存在すると判定された場合、前記新規のダンプ情報を削除してから、前記フラグ情報を削除し、
前記第1判定部により前記同じ種類のダンプ情報が前記第1記憶部に存在しないと判定された場合、前記書込部によって、前記判別部により判別された種類が、前記新規のダンプ情報と関連付けて前記第1記憶部に保存されてから、前記フラグ情報を削除する請求項1~3のいずれか一項に記載の情報処理装置。
【請求項5】
前記判別部は、機械学習により構築された学習モデルを用いて、前記エラー発生時のログデータの種類を判別する請求項1~のいずれか一項に記載の情報処理装置。
【請求項6】
情報処理装置の情報処理方法であって、
エラー発生時のログデータを第2記憶部に記憶する記憶ステップと、
前記第2記憶部に記憶された前記エラー発生時のログデータの種類を判別する判別ステップと、
第1記憶部にダンプ情報が記憶されているか否かを判定する第2判定ステップと、
前記第2判定ステップで前記第1記憶部にダンプ情報が記憶されていると判定した場合、判別した種類と同じ種類のダンプ情報が第1記憶部に存在するか否かを判定する第1判定ステップと、
前記同じ種類のダンプ情報が前記第1記憶部に存在すると判定した場合、前記第2記憶部に記憶された前記エラー発生時のログデータを削除する削除ステップと、
前記第2判定ステップで前記第1記憶部にダンプ情報が存在しないと判定した場合、または、前記第1判定ステップで前記同じ種類のダンプ情報が前記第1記憶部に存在しないと判定した場合、前記第2記憶部に記憶されたログデータを、判別した種類と関連付けてダンプ情報として前記第1記憶部に保存する書込ステップと、
カーネルパニックの発生時にログデータを新規のダンプ情報として前記第1記憶部に保存するステップと、
前記新規のダンプ情報を前記第1記憶部に保存した後、前記情報処理装置を再起動させる再起動ステップと、
前記情報処理装置の再起動後、前記第1記憶部に前記新規のダンプ情報が保存されているか否かを判定するステップと、
前記第1記憶部に前記新規のダンプ情報が保存されていると判定した場合、該新規のダンプ情報の種類を判別するステップと、
判別した前記新規のダンプ情報の種類と同じ種類のダンプ情報が前記第1記憶部に存在するか否かを判定するステップと、
前記新規のダンプ情報の種類と同じ種類のダンプ情報が前記第1記憶部に存在すると判定した場合、前記新規のダンプ情報を削除するステップと、
前記新規のダンプ情報の種類と同じ種類のダンプ情報が前記第1記憶部に存在しないと判定した場合、判別した前記新規のダンプ情報の種類を、前記新規のダンプ情報と関連付けて前記第1記憶部に保存するステップと、
を有する情報処理方法。
【請求項7】
情報処理装置のコンピュータに、
エラー発生時のログデータを第2記憶部に記憶する記憶ステップと、
前記第2記憶部に記憶された前記エラー発生時のログデータの種類を判別する判別ステップと、
第1記憶部にダンプ情報が記憶されているか否かを判定する第2判定ステップと、
前記第2判定ステップで前記第1記憶部にダンプ情報が記憶されていると判定した場合、判別した種類と同じ種類のダンプ情報が第1記憶部に存在するか否かを判定する第1判定ステップと、
前記同じ種類のダンプ情報が前記第1記憶部に存在すると判定した場合、前記第2記憶部に記憶された前記エラー発生時のログデータを削除する削除ステップと、
前記第2判定ステップで前記第1記憶部にダンプ情報が存在しないと判定した場合、または、前記第1判定ステップで前記同じ種類のダンプ情報が前記第1記憶部に存在しないと判定した場合、前記第2記憶部に記憶されたログデータを、判別した種類と関連付けてダンプ情報として前記第1記憶部に保存する書込ステップと、
カーネルパニックの発生時にログデータを新規のダンプ情報として前記第1記憶部に保存するステップと、
前記新規のダンプ情報を前記第1記憶部に保存した後、前記情報処理装置を再起動させる再起動ステップと、
前記情報処理装置の再起動後、前記第1記憶部に前記新規のダンプ情報が保存されているか否かを判定するステップと、
前記第1記憶部に前記新規のダンプ情報が保存されていると判定した場合、該新規のダンプ情報の種類を判別するステップと、
判別した前記新規のダンプ情報の種類と同じ種類のダンプ情報が前記第1記憶部に存在するか否かを判定するステップと、
前記新規のダンプ情報の種類と同じ種類のダンプ情報が前記第1記憶部に存在すると判定した場合、前記新規のダンプ情報を削除するステップと、
前記新規のダンプ情報の種類と同じ種類のダンプ情報が前記第1記憶部に存在しないと判定した場合、判別した前記新規のダンプ情報の種類を、前記新規のダンプ情報と関連付けて前記第1記憶部に保存するステップと、
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、情報処理方法およびプログラムに関する。
【背景技術】
【0002】
情報処理装置において、OS(Operating System)に含まれるプログラムのうち、プロセス管理、I/O管理およびファイル管理等の重要な機能を担う部分であるカーネルの実行に致命的な支障が生じて、正常な動作の継続が不能になる状態をカーネルパニックと称する。このカーネルパニックが発生した場合、メインメモリ等のデータの状態をダンプファイルとして記憶装置に出力する処理であるパニックダンプを実行することが知られている。このダンプファイルを活用することによって、カーネルおよびドライバ等の不具合の修正および改良に役立てることができる。
【0003】
従来、パニックダンプでは、コストの観点等からHDD(Hard Disk Drive)等の補助記憶装置を搭載できない機器では、十分なダンプファイルを記憶する領域を確保できないため、有益なダンプ情報を残せない問題がある。ここで、ダンプ情報とは、保存したダンプファイルに含まれる情報を示すものとする。すなわち、ダンプファイルをダンプ情報と捉えることもできる。また、パニックダンプが複数回発生すると、記憶装置に空き領域がない場合、古いデータを上書きしてしまい、必要なダンプ情報が得られないという問題もある。一方で、ネットワークを利用して、サーバ上のストレージにダンプファイルを保存する手段も考えられるが、セキュリティ面でネットワーク環境の構築が困難な場合、またはログデーアを外部へ持ち出せない場合等において、装置内にダンプファイルを保持する必要がある。すなわち、パニックダンプにおいては、ダンプファイルの縮小、および必要なダンプ情報の抽出が求められている。
【0004】
このようなダンプファイルの縮小を図る技術として、予め設定した保存サイズに適したコアファイル(ダンプファイル)を生成することにより、メモリダンプするサイズを縮小する手法が開示される(例えば特許文献1)。
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、引用文献1に記載された技術では、個々のダンプファイルのサイズを縮小するために、元のダンプファイルの一部の情報だけを選択的に保存するため、有益なダンプ情報が失われる虞があるという問題がある。また、このようなダンプファイルが保存されるのは、カーネルパニックが生じた場合のみであり、カーネルパニックまで陥らないエラーの発生時における当該エラーのログデータについての保存処理については考慮されていないという問題もある。
【0006】
本発明は、上記に鑑みてなされたものであり、カーネルパニックに限らないエラーの発生時における情報を、限られた記憶領域上に有益なダンプ情報として残すことができる情報処理装置、情報処理方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【0007】
上述した課題を解決し、目的を達成するために、本発明は、エラーを示すダンプ情報を記憶する第1記憶部と、エラー発生時のログデータを記憶する第2記憶部と、前記第2記憶部に記憶された前記エラー発生時のログデータの種類を判別する判別部と、前記第1記憶部にダンプ情報が記憶されているか否かを判定する第2判定部と、前記第2判定部により前記第1記憶部にダンプ情報が記憶されていると判定された場合、前記判別部により判別された種類と同じ種類のダンプ情報が前記第1記憶部に存在するか否かを判定する第1判定部と、前記第1判定部により前記同じ種類のダンプ情報が前記第1記憶部に存在すると判定された場合、前記第2記憶部に記憶された前記エラー発生時のログデータを削除する削除部と、前記第2判定部により前記第1記憶部にダンプ情報が存在しないと判定された場合、または、前記第1判定部により前記同じ種類のダンプ情報が前記第1記憶部に存在しないと判定された場合、前記第2記憶部に記憶されたログデータを、前記判別部により判別された種類と関連付けてダンプ情報として前記第1記憶部に保存する書込部と、を備え、前記書込部は、カーネルパニックの発生時にログデータを新規のダンプ情報として前記第1記憶部に保存し、前記書込部により前記新規のダンプ情報が前記第1記憶部に保存された後、前記情報処理装置を再起動させる再起動部をさらに備え、前記第2判定部は、前記再起動部による再起動後、前記第1記憶部に前記新規のダンプ情報が保存されているか否かを判定し、前記判別部は、前記第2判定部により前記第1記憶部に前記新規のダンプ情報が保存されていると判定された場合、該新規のダンプ情報の種類を判別し、前記第1判定部は、前記判別部により判別された前記新規のダンプ情報の種類と同じ種類のダンプ情報が前記第1記憶部に存在するか否かを判定し、前記削除部は、前記第1判定部により前記新規のダンプ情報の種類と同じ種類のダンプ情報が前記第1記憶部に存在すると判定された場合、前記新規のダンプ情報を削除し、前記書込部は、前記第1判定部により前記新規のダンプ情報の種類と同じ種類のダンプ情報が前記第1記憶部に存在しないと判定された場合、前記判別部により判別された前記新規のダンプ情報の種類を、前記新規のダンプ情報と関連付けて前記第1記憶部に保存することを特徴とする。
【発明の効果】
【0008】
本発明によれば、カーネルパニックに限らないエラーの発生時における情報を、限られた記憶領域上に有益なダンプ情報として残すことができる。
【図面の簡単な説明】
【0009】
図1図1は、実施形態に係る情報処理装置のハードウェア構成の一例を示す図である。
図2図2は、実施形態に係る情報処理装置の機能ブロックの構成の一例を示す図である。
図3図3は、機械学習により学習モデルを構築し、当該学習モデルを用いて判別処理を行う動作を説明する図である。
図4図4は、実施形態に係る情報処理装置のカーネルパニック発生時処理の流れの一例を示すフローチャートである。
図5図5は、実施形態に係る情報処理装置のデータ判断処理の流れの一例を示すフローチャートである。
図6図6は、実施形態に係る情報処理装置のエラー発生時のログ保存処理の流れの一例を示す図である。
図7図7は、実施形態に係る情報処理装置の一例としてのPCのハードウェア構成を示す図である。
図8図8は、実施形態に係る情報処理装置の一例としてのMFPのハードウェア構成を示す図である。
【発明を実施するための形態】
【0010】
以下、添付図面を参照しながら、本発明に係る情報処理装置、情報処理方法およびプログラムを詳細に説明する。また、以下の実施形態によって本発明が限定されるものではなく、以下の実施形態における構成要素には、当業者が容易に想到できるもの、実質的に同一のもの、およびいわゆる均等の範囲のものが含まれる。さらに、以下の実施形態の要旨を逸脱しない範囲で構成要素の種々の省略、置換、変更および組み合わせを行うことができる。
【0011】
また、コンピュータソフトウェアとは、コンピュータの動作に関するプログラム、その他コンピュータによる処理の用に供する情報であってプログラムに準ずるものをいう(以下、コンピュータソフトウェアは、ソフトウェアという)。アプリケーションとは、ソフトウェアの分類のうち、特定の作業を行うために使用されるソフトウェアの総称である。また、ファームウェアとは、電子機器に組み込まれたハードウェアを制御するためのソフトウェアである。そして、オペレーティングシステム(OS)とは、コンピュータを制御し、アプリケーションソフト等がコンピュータ資源を利用可能にするためのソフトウェアのことである。オペレーティングシステムは、入出力の制御、メモリおよびハードディスク等のハードウェアの管理、ならびにプロセスの管理といった、コンピュータの基本的な管理・制御を行っている。アプリケーションは、オペレーティングシステムが提供する機能を利用して動作する。プログラムとは、コンピュータに対する指令であって、一の結果を得ることができるように組み合わせたものをいう。また、プログラムに準ずるものとは、コンピュータに対する直接の指令ではないためプログラムとは呼べないが、コンピュータの処理を規定するという点でプログラムに類似する性質を有するものをいう。例えば、データ構造(データ要素間の相互関係で表される、データの有する論理的構造)がプログラムに準ずるものに該当する。
【0012】
例えば、本実施形態に係る情報処理装置の構成は、PC(Personal Computer)、MFP(Multifunction Peripheral:複合機)、プロジェクタ、スマートフォン、携帯電話、タブレット端末、PDA(Personal Digital Assistant)IWB(Interactive White Board:電子黒板)デジタルサイネージ、HUD(Head-Up Display)装置、ウェアラブルPC産業機械、撮像装置、集音装置、医療機器、ネットワーク家電、自動車、ゲーム機器、コンシューマ向け電子機器、組み込み機械等に適用することが可能である。なお、複合機(MFP)とは、コピー機能、スキャナ機能、プリンタ機能、およびファクス機能等の複数の異なる機能を有する装置である。
【0013】
(情報処理装置のハードウェア構成)
図1は、実施形態に係る情報処理装置のハードウェア構成の一例を示す図である。図1を参照しながら、本実施形態に係る情報処理装置1のハードウェア構成について説明する。
【0014】
図1に示す情報処理装置1は、カーネルパニックの発生時、およびカーネルパニックまで陥らない通常動作時におけるエラー(以下、通常エラーと称する場合がある)の発生時にログデータを含むダンプファイルを保存する装置である。また、カーネルパニックおよび通常エラーを総称して、単に「エラー」と称する場合がある。図1に示すように、情報処理装置1は、CPU(Central Processing Unit)501と、不揮発性メモリ502(第1記憶部)と、メインメモリ503(第2記憶部)と、ROM(Read Only Memory)504と、ネットワークI/F505と、を備えている。
【0015】
CPU501は、情報処理装置1の動作を統括的に制御する演算装置である。CPU501は、重要な機能を担うカーネルを含むOSに従って情報処理装置1の動作を制御する。
【0016】
不揮発性メモリ502は、電源を供給しなくてもデータの記憶を可能とする不揮発性の記憶装置である。不揮発性メモリ502は、上述のように、エラー発生時においてメインメモリ503に展開されているログデータ等をダンプファイル30(ダンプ情報)として記憶する。また、不揮発性メモリ502は、ダンプファイル30の他、後述するように、学習モデル40を用いて判別されたダンプファイル30の種類の情報も記憶する。また、ダンプファイル30は、固定長のデータであってもよく、可変長のデータであってもよい。また、不揮発性メモリ502は、HDD(Hard Disk Drive)またはネットワークストレージ等の大容量の記憶装置を想定しておらず、本実施形態では、小容量の不揮発性の記憶装置を想定するものとする。
【0017】
メインメモリ503は、プログラムが展開されると共に一時データが記憶されるワークエリアとして機能する揮発性の記憶装置である。CPU501によりOSの実行中に、メインメモリ503には、カーネル等のプログラムからコールされた関数の名称、関数の順序、およびコールされたタイミング等の情報がログデータとして記録される。そして、カーネルパニックの発生時に、これらのログデータを含む情報がダンプファイル30として不揮発性メモリ502に記憶される。また、カーネルパニックではない通常エラーの発生時に生じたログデータについては、後述する所定のタイミングで、ダンプファイル30として不揮発性メモリ502に記憶される。また、ダンプファイル30には、例えばドライバのログデータ、およびカーネルデバッガのログデータ等が含まれる。
【0018】
ROM504は、カーネルを含むOS、およびCPU10によって実行される各種プログラムおよび各種データが格納される記憶装置である。したがって、カーネルを含むOSは、情報処理装置1の起動時にROM504からメインメモリ503に展開される。また、ROM504は、予め機械学習により教師データを用いて学習された学習モデル40を記憶している。この学習モデル40は、後述するように、ダンプファイルの種別を判別するためのモデルである。なお、学習モデル40は、ROM504に記憶されていることに限られず、不揮発性メモリ502に記憶されていてもよい。また、カーネルを含むOSについても、ROM504に記憶されていることに限られず、不揮発性メモリ502に記憶されていて、当該不揮発性メモリ502からOSがメインメモリ503に展開されるものとしてもよい。
【0019】
ネットワークI/F505は、情報処理装置1をネットワーク2に接続するための通信モジュールである。ネットワークI/F505は、例えば、イーサネット(登録商標)に対応し、TCP(Transmission Control Protocol)/IP(Internet Protocol)等に準拠した通信が可能とする。情報処理装置1は、ネットワークI/F505を介して、ネットワーク2に接続された他の情報処理装置とデータ通信を行うことができる。例えば、情報処理装置1は、ネットワークI/F505を介して、他の情報処理装置から予め学習されている学習モデル40を受信して用いるものとしてもよい。
【0020】
(情報処理装置の機能ブロック構成)
図2は、実施形態に係る情報処理装置の機能ブロックの構成の一例を示す図である。図2を参照しながら、本実施形態に係る情報処理装置1の機能ブロックの構成について説明する。
【0021】
図2に示すように、情報処理装置1は、カーネル部101と、第1判定部102と、第2判定部103と、判別部104と、書込部105と、削除部106と、再起動部107と、を備えている。
【0022】
カーネル部101は、OS(Operating System)に含まれる機能のうち、プロセス管理、I/O管理およびファイル管理等の重要な動作を実行する機能部である。カーネル部101は、図1に示すCPU501によりプログラム(OSのカーネル)が実行されることによって実現される。
【0023】
第1判定部102は、特定のダンプファイルと同じ種類のダンプファイルが不揮発性メモリ502に存在するか否かを判定する機能部である。同じ種類のダンプファイルとは、例えば、同じ障害内容等の情報を含むダンプファイルであり、基となるログデータの内容が一部異なっていても、同じ種類のダンプファイルとして取り扱われる場合もある。第1判定部102は、例えば、図1に示すCPU501によりプログラムが実行されることによって実現される。
【0024】
第2判定部103は、第1判定部102による判定以外の種々の判定を行う機能部である。例えば、第2判定部103は、不揮発性メモリ502にダンプファイルが記憶されているか否か、および、後述するカーネルパニックが発生したことを示すフラグが立っているか否か等の判定を行う。第2判定部103は、例えば、図1に示すCPU501によりプログラムが実行されることによって実現される。
【0025】
判別部104は、ROM504から学習モデル40を読み出し、当該学習モデル40を用いて、不揮発性メモリ502上のダンプファイル30、および、メインメモリ503上のログデータの種類を判別する機能部である。判別部104は、例えば、図1に示すCPU501によりプログラムが実行されることによって実現される。
【0026】
書込部105は、メインメモリ503に記憶されているログデータをダンプファイル30として不揮発性メモリ502に書き込む機能部である。書込部105は、例えば、図1に示すCPU501によりプログラムが実行されることによって実現される。
【0027】
削除部106は、不揮発性メモリ502上の新規のダンプファイル30を削除したり、メインメモリ503上のログデータを削除する機能部である。削除部106は、例えば、図1に示すCPU501によりプログラムが実行されることによって実現される。
【0028】
再起動部107は、カーネルパニックが発生した場合に、書込部105によりダンプファイル30が不揮発性メモリ502に保存された後、情報処理装置1を再起動する機能部である再起動部107は、例えば、図1に示すCPU501によりプログラムが実行されることによって実現される。
【0029】
なお、図2に示す第1判定部102、第2判定部103、判別部104、書込部105、削除部106および再起動部107のうち少なくともいずれかの機能部は、専用のハードウェア回路(集積回路等)によって実現されるものとしてもよい。
【0030】
また、図2に示す情報処理装置1の各機能部は、機能を概念的に示したものであって、このような構成に限定されるものではない。例えば、図2に示す情報処理装置1で独立した機能部として図示した複数の機能部を、1つの機能部として構成してもよい。一方、図2に示す情報処理装置1で1つの機能部が有する機能を複数に分割し、複数の機能部として構成するものとしてもよい。
【0031】
(機械学習による学習モデルの構築について)
図3は、機械学習により学習モデルを構築し、当該学習モデルを用いて判別処理を行う動作を説明する図である。図3を参照しながら、機械学習により学習モデルを構築し、当該学習モデルを用いて判別処理を行う動作を説明する。
【0032】
本実施形態において、学習モデル40は、予め情報処理装置1外の情報処理装置(以下では、外部装置と称する)において、過去のログデータを使用した機械学習により構築される。ここでは、機械学習として教師あり学習の例を説明する。
【0033】
まず、図3(a)に示すように、外部装置により予め取得されている過去のログデータ(ダンプファイルとしての形式であってもよい)に対して、当該ログデータの種類を正解ラベルとして付与し、当該ログデータおよび当該正解ラベルの組み合わせを教師データ(ラベル付きデータ)とする。ログデータは、種々の種類の障害が発生した場合の各種情報をログとして記録したデータである。したがって、ログデータの種類とは、例えばログとして含まれる障害に関する種類である。また、教師データに用いるログデータは、例えば、情報処理装置1と機種が同じ他の情報処理装置で障害が発生した場合に取得されたログデータであってもよく、障害を想定してサーバによって生成されたログデータであってもよい。外部装置は、予め用意されたこれらのログデータおよび正解ラベルである複数の教師データを用いて、機械学習により学習モデルを構築する。機械学習の学習アルゴリズムとしては、例えば、教師あり学習の学習アルゴリズムである「分類(Classification)」等を使用するものとすればよい。
【0034】
例えば、図3(a)に示すように、学習に使用するログデータ(データ(1)~データ(3))に対し、ログデータの種類を正解ラベル(障害(1)~障害(3))を付与し、教師データとして用意しておく。すなわち、ログデータ(1)には障害(1)、ログデータ(2)には障害(2)、ログデータ(3)には障害(3)、というようにログデータに対して該ログデータがどのような種類の障害発生時に取得されたログデータであるのか、またはどのような種類の障害発生を想定して生成されたログデータであるのかを対応付けておく。例えば、図3(a)に示す例では、ログデータとしてのデータ(2)には、コールされた関数の名称である「bbb」、および「BBBドライバ」のログが含まれていることが示されている。なお、図3(a)に示す例では、3つの教師データが示されているが、3つに限定されるものではない。
【0035】
そして、外部装置は、これらの教師データに対して所定の学習アルゴリズム(例えば上述の「分類」のアルゴリズム)を適用して、学習モデル(図1および図2に示す学習モデル40)を構築する。そして、構築された学習モデル40は、外部装置からネットワーク2およびネットワークI/F505を介して情報処理装置1へ送信され、不揮発性メモリ502またはROM504に記憶される。また、構築された学習モデル40は、外部装置からフラッシュメモリ等の記録メディアを介して情報処理装置1の不揮発性メモリ502またはROM504に記憶されるものとしてもよい。なお、学習アルゴリズムは、ログデータに含まれる情報(一例として、カーネル、その他のソフトウェアからコールされた関数名、コールされた関数の順序、およびコールされたタイミング等)に基づいて、障害の種類を複数パターンに分類することができるような学習モデルを構築するようなアルゴリズムである。
【0036】
そして、図3(b)に示すように、ログデータ(4)が、種類の判別の対象となるログデータとして入力されたものとする。この場合、情報処理装置1の判別部104は、図3(b)に示すように、外部装置により構築された学習モデルを用いて、ログデータ(4)の種類、すなわち、障害の種類を判別する。このとき、外部装置により構築された学習モデルは、ログデータの種類が障害(1)~障害(3)のいずれであるかを判別できるモデルとなっているので、判別部104は、ログデータ(4)の種類が、障害(1)~障害(3)のいずれであるかを判別する。なお、学習モデルによる判別の対象となるログデータは、情報処理装置1で発生したすべてのログデータではなく、一部の場合もあり得る。例えば、バックトレースの関数名またはログの種類(AAAドライバ、EEEライブラリ等)を学習データとして使用する。
【0037】
図3(b)に示す例では、判別部104は、学習モデルを用いて、ログデータ(4)の種類が障害(2)であると判別する。
【0038】
なお、図3に示す例では、判別部104が、学習モデルを用いて、ログデータについて障害の種類を判別する場合について説明したが、これに限定されない。例えば、ログデータのうち最後にコールされた関数名等によって一意に障害の種類が判別できる場合には、学習モデルを用いずに障害の種類を判別してもよい。この場合、障害が発生した場合であっても、一部の種類の障害については、学習モデルを使用した障害の種類の判別処理を省略することができるため、情報処理装置1のメインメモリ503およびCPU501の負荷を抑制することができる。
【0039】
また、学習モデルによるログデータの種類の判別として、障害の種類を判別するものとしたが、これに限られず、例えば、ログを出力したドライバの種類であってもよい。
【0040】
(カーネルパニック発生時処理)
図4は、実施形態に係る情報処理装置のカーネルパニック発生時処理の流れの一例を示すフローチャートである。図4を参照しながら、本実施形態に係る情報処理装置1のカーネルパニック発生時処理について説明する。情報処理装置1は、カーネルパニックが発生した場合、図4に示すカーネルパニック発生時処理を実行する。
【0041】
<ステップS11>
情報処理装置1の書込部105は、不揮発性メモリ502に十分な空き容量があるか否かを判定する。具体的には、書込部105は、不揮発性メモリ502の空き容量が所定値以上あるか否かを判定する。不揮発性メモリ502に十分な空き容量がある場合(不揮発性メモリ502の空き容量が所定値以上である場合)(ステップS11:Yes)、ステップS12へ移行し、十分な空き容量がない場合(不揮発性メモリ502の空き容量が所定値未満である場合)(ステップS11:No)、ステップS13へ移行する。
【0042】
<ステップS12>
書込部105は、不揮発性メモリ502に十分な空き容量がある場合、カーネルパニックの発生により生成されたログデータ(メインメモリ503に記憶されたログデータ)を、ダンプファイル30として不揮発性メモリ502へ書き込む。そして、ステップS14へ移行する。
【0043】
<ステップS13>
書込部105は、不揮発性メモリ502に十分な空き容量がない場合、カーネルパニックの発生により生成されたログデータ(メインメモリ503に記憶されたログデータ)を、ダンプファイル30として不揮発性メモリ502に記憶されているデータ(例えば古いダンプファイル)に対して上書きして書き込む。例えば、図2に示すように、不揮発性メモリ502には複数のダンプファイル30が保存されている場合もあり、書込部105は、カーネルパニックの発生により生成されたログデータを、不揮発性メモリ502に記憶されている過去のダンプファイル30のうち古いダンプファイル30から上書きして新たなダンプファイル30として書き込む。そして、ステップS14へ移行する。
【0044】
<ステップS14>
書込部105は、カーネルパニックが発生したことを示すフラグを立てる。すなわち、書込部105は、カーネルパニックが発生したことを示すフラグ情報を、不揮発性メモリ502に書き込む。そして、ステップS15へ移行する。
【0045】
<ステップS15>
情報処理装置1の再起動部107は、情報処理装置1を再起動する。そして、カーネルパニック発生時処理を終了する。
【0046】
以上のように、情報処理装置1は、カーネルパニックが発生した場合に、不揮発性メモリ502に十分な空き容量がない場合、古いデータに対してダンプファイル30を上書きして書き込むものとしている。これによって、当該カーネルパニックに関するダンプファイル30を、不揮発性メモリ502に確実に記憶させることができ、有益なダンプ情報を不揮発性メモリ502に確実に残すことができる。
【0047】
(データ判断処理)
図5は、実施形態に係る情報処理装置のデータ判断処理の流れの一例を示すフローチャートである。図5を参照しながら、本実施形態に係る情報処理装置1のデータ判断処理について説明する。情報処理装置1は、再起動後、図5に示すデータ判断処理を実行する。
【0048】
<ステップS21>
情報処理装置1の第2判定部103は、再起動後、カーネルパニックが発生したことを示すフラグが立っているか否かを判定する。すなわち、第2判定部103は、カーネルパニックが発生したことを示すフラグ情報が不揮発性メモリ502に記憶されているか否かを判定する。フラグが立っている場合(ステップS21:Yes)、ステップS22へ移行し、フラグが立っていない場合(ステップS21:No)、データ判断処理を終了する。
【0049】
<ステップS22>
第2判定部103は、カーネルパニックが発生したことを示すフラグが立っている場合、不揮発性メモリ502に新規のダンプファイル30が保存されているか否かを判定する。不揮発性メモリ502に新規のダンプファイル30が保存されている場合(ステップS22:Yes)、ステップS23へ移行し、新規のダンプファイル30が保存されていない場合(ステップS22:No)、データ判断処理を終了する。
【0050】
<ステップS23>
情報処理装置1の判別部104は、ROM504から予め構築されている学習モデル40を読み出し、当該学習モデル40を用いて、不揮発性メモリ502に保存されている上述の新規のダンプファイル30の種類を判別する。そして、ステップS24へ移行する。
【0051】
<ステップS24>
そして、第1判定部102は、判別部104により判別された新規のダンプファイル30の種類と同じ種類のダンプファイル30が不揮発性メモリ502に存在するか否かを判定する。同じ種類のダンプファイル30が存在する場合(ステップS24:Yes)、ステップS25へ移行し、同じ種類のダンプファイル30が存在しない場合(ステップS24:No)、ステップS26へ移行する。
【0052】
<ステップS25>
新規のダンプファイル30と同じ種類のダンプファイル30が不揮発性メモリ502に存在する場合、削除部106は、当該新規のダンプファイル30を不揮発性メモリ502から削除する。これは、不揮発性メモリ502に既に同じ種類のダンプファイル30があれば、当該ダンプファイル30を、カーネルおよびドライバ等の不具合の修正および改良に用いるダンプ情報として利用できるためである。また、削除部106は、第2判定部103により不揮発性メモリ502に記憶されていると判定されたフラグ情報を削除する。
【0053】
なお、削除部106は、新規のダンプファイル30を削除することに限られず、存在が確認された同じ種類のダンプファイル30を削除するものとしてもよい。この場合、新規のダンプファイル30を不揮発性メモリ502に残すので、最新のダンプ情報をカーネルおよびドライバ等の不具合の修正および改良に用いることができる。
【0054】
そして、データ判断処理を終了する。
【0055】
<ステップS26>
新規のダンプファイル30と同じ種類のダンプファイル30が不揮発性メモリ502に存在しない場合、書込部105は、ステップS23で判別部104により判別された種類を、当該新規のダンプファイル30と関連付けて、不揮発性メモリ502に保存する。この場合、書込部105は、新規のダンプファイル30と、判別部104により判別された種類とを関連付けるために、当該ダンプファイル30のヘッダに種類を付与して管理してもよく、別途、関連付けのためのテーブル(リスト)を作成して管理してもよい。また、削除部106は、第2判定部103により不揮発性メモリ502に記憶されていると判定されたフラグ情報を削除する。これによって、次回のデータ判断処理におけるステップS24の処理において、第1判定部102による同じ種類のダンプファイル30が不揮発性メモリ502に存在するか否かの判定に利用することができる。そして、データ判断処理を終了する。
【0056】
(エラー発生時のログ保存処理)
図6は、実施形態に係る情報処理装置のエラー発生時のログ保存処理の流れの一例を示す図である。図6を参照しながら、本実施形態に係る情報処理装置1のエラー発生時のログ保存処理について説明する。情報処理装置1は、例えば、CPU501の負荷に余裕がある場合、メインメモリ503に十分な空き容量がない場合、または一定時間経過するごとに、図6に示すエラー発生時のログ保存処理を実行する。ここで、例えば、メインメモリ503の空き容量、またはメインメモリ503内のログデータ用の記憶領域の容量が所定値未満となった場合、メインメモリ503に十分な空き容量がないと判定するものとすればよい。
【0057】
<ステップS31>
情報処理装置1の第2判定部103は、不揮発性メモリ502にログデータ(ダンプファイル30)が保存されているか否かを判定する。不揮発性メモリ502にログデータが保存されている場合(ステップS31:Yes)、ステップS32へ移行し、不揮発性メモリ502にログデータが保存されていない場合(ステップS31:No)、ステップS34へ移行する。
【0058】
<ステップS32>
情報処理装置1の判別部104は、不揮発性メモリ502にログデータ(ダンプファイル30)が保存されている場合、ROM504から予め構築されている学習モデル40を読み出し、当該学習モデル40を用いて、メインメモリ503に記憶されているログデータの種類を判別する。そして、ステップS33へ移行する。
【0059】
<ステップS33>
情報処理装置1の第1判定部102は、不揮発性メモリ502に保存されているログデータ(ダンプファイル30)を読み出す。この場合、第1判定部102は、当該ログデータ(ダンプファイル30)と関連付けられている種類(障害の種類)を読み出す。そして、ステップS35へ移行する。
【0060】
<ステップS34>
情報処理装置1の判別部104は、不揮発性メモリ502にログデータ(ダンプファイル30)が保存されていない場合、ROM504から予め構築されている学習モデル40を読み出し、当該学習モデル40を用いて、メインメモリ503に記憶されているログデータの種類を判別する。そして、ステップS37へ移行する。
【0061】
<ステップS35>
そして、第1判定部102は、判別部104により判別されたログデータの種類と同じ種類のログデータ(ダンプファイル30)が不揮発性メモリ502に存在するか否かを判定する。同じ種類のログデータ(ダンプファイル30)が存在する場合(ステップS35:Yes)、ステップS36へ移行し、同じ種類のログデータ(ダンプファイル30)が存在しない場合(ステップS35:No)、ステップS37へ移行する。
【0062】
<ステップS36>
判別部104により判別されたログデータの種類と同じ種類のログデータ(ダンプファイル30)が不揮発性メモリ502に存在する場合、削除部106は、メインメモリ503に保存されているログデータを削除し、不揮発性メモリ502へは当該ログデータを保存しない。これは、不揮発性メモリ502に既に同じ種類のログデータ(ダンプファイル30)があれば、当該ログデータ(ダンプファイル30)を、カーネルおよびドライバ等の不具合の修正および改良に用いるダンプ情報として利用できるためである。
【0063】
なお、削除部106は、メインメモリ503に保存されているログデータを削除することに限られず、例えば、不揮発性メモリ502で存在が確認されたログデータを削除部106により削除しつつ、書込部105によりメインメモリ503に保存されているログデータを不揮発性メモリ502に書き込むものとしてもよい。この場合、新しいログデータ(メインメモリ503に記憶されたログデータ)を不揮発性メモリ502にダンプファイル30として残すので、最新のダンプ情報をカーネルおよびドライバ等の不具合の修正および改良に用いることができる。
【0064】
そして、エラー発生時のログ保存処理を終了する。
【0065】
<ステップS37>
不揮発性メモリ502にログデータが保存されていない場合、または、判別部104により判別されたログデータの種類と同じ種類のログデータ(ダンプファイル30)が不揮発性メモリ502に存在しない場合、書込部105は、メインメモリ503に記憶されているログデータを、判別部104により判別された種類と関連付けて、ダンプファイル30として不揮発性メモリ502に保存する。この場合、書込部105は、当該ログデータと、判別部104により判別された種類とを関連付けるために、当該ログデータのヘッダに種類を付与して管理してもよく、別途、関連付けのためのテーブル(リスト)を作成して管理してもよい。これによって、次回のエラー発生時のログ保存処理におけるステップS35の処理において、第1判定部102による同じ種類のログデータ(ダンプファイル30)が不揮発性メモリ502に存在するか否かの判定に利用することができる。そして、エラー発生時のログ保存処理を終了する。
【0066】
(PCのハードウェア構成)
図7は、実施形態に係る情報処理装置の一例としてのPCのハードウェア構成を示す図である。ここで、図7を参照しながら、情報処理装置1がPCであるものとした場合のハードウェア構成について説明する。
【0067】
図7に示すように、情報処理装置1の一例としてのPC1aは、CPU601と、ROM602と、RAM603と、HD604と、HDDコントローラ605と、ディスプレイ606と、外部機器接続I/F608と、ネットワークI/F609と、キーボード611と、ポインティングデバイス612と、DVD-RW(Digital Versatile Disc Rewritable)614と、メディアI/F616と、を備えている。これらの構成要素は、アドレスバスおよびデータバス等のバスライン610によって互いに通信可能となるように接続されている。
【0068】
CPU601は、PC1a全体の動作を制御する演算装置である。ROM602は、IPL(Initial Program Loader)等のCPU601の駆動に用いられるプログラムを記憶する不揮発性の記憶装置である。RAM603は、CPU601のワークエリアとして使用される揮発性の記憶装置である。
【0069】
HD604は、プログラム等の各種データを記憶する不揮発性の記憶装置である。HDDコントローラ605は、CPU601の制御に従ってHD604に対する各種データの読み出しまたは書き込みを制御する装置である。
【0070】
ディスプレイ606は、カーソル、メニュー、ウィンドウ、文字、または画像等の各種情報を表示する表示装置である。外部機器接続I/F608は、各種の外部機器を接続するためのインターフェースである。この場合の外部機器は、例えば、USB(Universal Serial Bus)メモリまたはプリンタ等である。ネットワークI/F609は、ネットワーク2を利用してデータ通信をするためのインターフェースである。
【0071】
キーボード611は、文字、数値、各種指示等の入力のための複数のキーを備えた入力装置である。ポインティングデバイス612は、各種指示の選択、実行、処理対象の選択、カーソルの移動等を行う入力装置である。
【0072】
DVD-RWドライブ614は、着脱可能な記録媒体の一例としてのDVD613に対する各種データの読み出しまたは書き込みを制御する装置である。なお、DVD613は、例えば、DVD-RWまたはDVD-R(Digital Versatile Disk Recordable)等である。メディアI/F616は、フラッシュメモリ等の記録メディア615に対するデータの読み出し又は書き込み(記憶)を制御するインターフェースである。
【0073】
なお、上述の図1に示した情報処理装置1の構成のうち、CPU501は、図7に示すCPU601に相当し、不揮発性メモリ502は、HD604に相当し、メインメモリ503は、RAM603に相当し、ROM504は、ROM602に相当し、ネットワークI/F505は、ネットワークI/F609に相当する。
【0074】
(MFPのハードウェア構成)
図8は、実施形態に係る情報処理装置の一例としてのMFPのハードウェア構成を示す図である。さらに、図8を参照しながら、情報処理装置1がMFPであるものとした場合のハードウェア構成について説明する。
【0075】
図8に示すように、情報処理装置1の一例としてのMFP1bは、コントローラ710と、近距離通信回路720と、エンジン制御部730と、操作パネル740と、ネットワークI/F750と、を備えている。これらのうち、コントローラ710は、コンピュータの主要部であるCPU701と、システムメモリ(MEM-P)702、ノースブリッジ(NB)703、サウスブリッジ(SB)704、ASIC(Application Specific Integrated Circuit)706と、記憶装置であるローカルメモリ(MEM-C)707と、HDDコントローラ708と、記憶装置であるHD709とを有し、ノースブリッジ703とASIC706との間をAGP(Accelerated Graphics Port)バス721で、接続した構成となっている。
【0076】
CPU701は、MFP1bの全体制御を行う制御装置である。ノースブリッジ703は、CPU701と、システムメモリ702と、サウスブリッジ704と、およびAGPバス721とを接続するためのブリッジであり、システムメモリ702に対する読み書き等を制御するメモリコントローラと、PCI(Peripheral Component Interconnect)マスタおよびAGPターゲットとを有する。
【0077】
システムメモリ702は、コントローラ710の各機能を実現させるプログラムおよびデータの格納用メモリであるROM702aと、プログラムおよびデータの展開、ならびにメモリ印刷時の描画用メモリ等として用いるRAM702bと、を含む。なお、RAM702bに記憶されているプログラムは、インストール可能な形式または実行可能な形式のファイルでCD-ROM(Compact Disc Read Only Memory)、CD-R(Compact Disc Recordable)、またはDVD等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよい。
【0078】
サウスブリッジ704は、ノースブリッジ703と、PCIデバイスまたは周辺デバイスとを接続するためのブリッジである。ASIC706は、画像処理用のハードウェア要素を有する画像処理用途向けのIC(Integrated Circuit)であり、AGPバス721、PCIバス722、HDDコントローラ708およびローカルメモリ707をそれぞれ接続するブリッジの役割を有する。このASIC706は、PCIターゲットおよびAGPマスタ、ASIC706の中核をなすアービタ(ARB)、ローカルメモリ707を制御するメモリコントローラ、ハードウェアロジック等により画像データの回転等を行う複数のDMAC(Direct Memory Access Controller)、ならびに、スキャナ部731およびプリンタ部732との間でPCIバス722を介したデータ転送を行うPCIユニットを含む。なお、ASIC706には、USBインターフェース、またはIEEE1394(Institute of Electrical and Electronics Engineers 1394)インターフェースを接続するようにしてもよい。
【0079】
ローカルメモリ707は、コピー用画像バッファおよび符号バッファとして用いるローカルメモリである。HD709は、画像データの蓄積、印刷時に用いるフォントデータの蓄積、およびフォームの蓄積を行うためのストレージである。HDDコントローラ708は、CPU701の制御にしたがって、HD709に対するデータの読出しまたは書込みを制御する装置である。
【0080】
AGPバス721は、グラフィック処理を高速化するために提案されたグラフィックスアクセラレータカード用のバスインタフェースであり、システムメモリ702に高スループットで直接アクセスすることにより、グラフィックスアクセラレータカードを高速にすることができる。
【0081】
近距離通信回路720は、NFC(Near Field Communication)、またはBluetooth(登録商標)等の通信回路である。近距離通信回路720は、アンテナ720aを備える。
【0082】
エンジン制御部730は、スキャナ部731と、プリンタ部732とを有する。
【0083】
操作パネル740は、現在の設定値または選択画面等を表示させ、操作者からの入力を受け付けるタッチパネル等のパネル表示部740a、ならびに、濃度の設定条件等の画像形成に関する条件の設定値を受け付けるテンキーおよびコピー開始指示を受け付けるスタートキー等を含む操作部740bを備えている。
【0084】
コントローラ710は、MFP1b全体の制御を行い、例えば、描画、通信、操作パネル740からの入力等を制御する。スキャナ部731またはプリンタ部732には、誤差拡散またはガンマ変換等の画像処理部分が含まれている。
【0085】
なお、MFP1bは、操作パネル740のアプリケーション切り替えキーにより、ドキュメントボックス機能、コピー機能、プリンタ機能、およびファクシミリ機能を順次に切り替えて選択することが可能となる。ドキュメントボックス機能の選択時にはドキュメントボックスモードとなり、コピー機能の選択時にはコピーモードとなり、プリンタ機能の選択時にはプリンタモードとなり、ファクシミリモードの選択時にはファクシミリモードとなる。
【0086】
また、ネットワークI/F750は、ネットワーク2を利用してデータ通信をするためのインターフェースである。近距離通信回路720、エンジン制御部730およびネットワークI/F750は、PCIバス722を介して、ASIC706に電気的に接続されている。
【0087】
なお、上述の図1に示した情報処理装置1の構成のうち、CPU501は、図8に示すCPU701に相当し、不揮発性メモリ502は、HD709に相当し、メインメモリ503は、RAM702bに相当し、ROM504は、ROM702aに相当し、ネットワークI/F505は、ネットワークI/F750に相当する。
【0088】
以上のように、本実施形態に係る情報処理装置1は、カーネルパニックに限らないエラーの発生時におけるログデータ(ダンプファイル含む)について、不揮発性メモリ502に同じ種類のダンプファイルが存在するか否かを判定し、存在する場合には、エラー発生時のログデータ、および不揮発性メモリ502の同じ種類のダンプファイルのうち、少なくともいずれかを削除しつつ、不揮発性メモリ502には、当該種類のダンプファイルが保存された状態とするものとしている。これによって、カーネルパニックに限らないエラーの発生時における情報を、限られた記憶領域上に有益なダンプ情報として残すことができる。
【0089】
なお、上述の実施形態の各機能は、一または複数の処理回路によって実現することが可能である。ここで、「処理回路」とは、電子回路により実装されるプロセッサのようにソフトウェアによって各機能を実行するようプログラミングされたプロセッサや、上述した各機能を実行するよう設計されたASIC、DSP(Digital Signal Processor)、FPGA(Field-Programmable Gate Array)、SoC(System on a Chip)、GPU(Graphics Processing Unit)や従来の回路モジュール等のデバイスを含むものとする。
【0090】
また、上述の実施形態において、情報処理装置1の各機能部の少なくともいずれかがプログラムの実行によって実現される場合、そのプログラムは、ROM等に予め組み込まれて提供される。また、上述の実施形態に係る情報処理装置1で実行されるプログラムは、インストール可能な形式または実行可能な形式のファイルでCD-ROM、フレキシブルディスク(FD)、CD-R、DVDまたはSD(Secure Digital)カード等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよい。また、上述の実施形態に係る情報処理装置1で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、上述の実施形態に係る情報処理装置1で実行されるプログラムを、インターネット等のネットワーク経由で提供または配布するように構成してもよい。また、上述の実施形態に係る情報処理装置1で実行されるプログラムは、上述した各機能部のうち少なくともいずれかを含むモジュール構成となっており、実際のハードウェアとしてはCPUが上述の記憶装置からプログラムを読み出して実行することにより、上述の各機能部が主記憶装置上にロードされて生成されるようになっている。
【符号の説明】
【0091】
1 情報処理装置
1a PC
1b MFP
2 ネットワーク
30 ダンプファイル
40 学習モデル
101 カーネル部
102 第1判定部
103 第2判定部
104 判別部
105 書込部
106 削除部
107 再起動部
501 CPU
502 不揮発性メモリ
503 メインメモリ
504 ROM
505 ネットワークI/F
510 バスライン
601 CPU
602 ROM
603 RAM
604 HD
605 HDDコントローラ
606 ディスプレイ
608 外部機器接続I/F
609 ネットワークI/F
610 バスライン
611 キーボード
612 ポインティングデバイス
613 DVD
614 DVD-RWドライブ
615 メディア
616 メディアI/F
701 CPU
702 システムメモリ(MEM-P)
702a ROM
702b RAM
703 ノースブリッジ(NB)
704 サウスブリッジ(SB)
706 ASIC
707 ローカルメモリ(MEM-C)
708 HDDコントローラ
709 HD
710 コントローラ
720 近距離通信回路
720a アンテナ
721 AGPバス
722 PCIバス
730 エンジン制御部
731 スキャナ部
732 プリンタ部
740 操作パネル
740a パネル表示部
740b 操作部
750 ネットワークI/F
【先行技術文献】
【特許文献】
【0092】
【文献】特開2007-172414号公報
図1
図2
図3
図4
図5
図6
図7
図8