(57)【要約】【課題】  情報処理装置に対するユーザからの設定変更を受け付けたことにより、所定の機能を実行するアプリケーションが影響を受ける設定項目を特定する。【解決手段】    情報処理装置において、情報処理装置に対して設定された設定値の変更状態を日時情報に対応づけた履歴情報を保存手段に登録して管理する。そして、実行したアプリケーションで特定のエラーが発生した場合、履歴情報および所定の機能処理が影響を受けるかどうかをアプリケーションが公開する機能名に対応づけた関連設定リストから、特定のエラーに関わる設定値の変更履歴情報を作成する構成を特徴とする。【選択図】  図７
2017112422.tif 000002
【特許請求の範囲】
【請求項１】
所定の機能処理を行うアプリケーションを管理する情報処理装置であって、
前記アプリケーションを実行する実行手段と、
前記情報処理装置に対して設定された設定値を保持する保持手段と、
前記設定値が変更されることで前記所定の機能処理が影響を受けるかどうかを前記アプリケーションが公開する機能名に対応づけた関連設定リストを記憶する記憶手段と、
前記設定値が変更されたことを検知する検知手段と、
前記検知手段が検知する設定値の変更状態を日時情報に対応づけた履歴情報を管理する管理手段と、
前記実行手段が実行した前記アプリケーションで特定のエラーが発生したかどうかを判断する判断手段と、
前記特定のエラーが発生したと判断した場合、前記履歴情報および前記関連設定リストから、前記特定のエラーに関わる前記設定値の変更履歴情報を作成する作成手段と、
を備えることを特徴とする情報処理装置。
【請求項２】
前記記憶手段は、設定値が変更されることで前記所定の機能処理が影響を受けるかどうかを前記アプリケーションが公開する機能名と設定値とに対応づけた関連設定リストを記憶することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記作成手段が作成した前記特定のエラーに関わる前記設定値の変更履歴情報を出力する出力手段を備えることを特徴とする請求項１に記載の情報処理装置。
【請求項４】
前記判断手段は、前記実行手段が実行した前記アプリケーションで特定のエラーが過去に変更した設定値の履歴情報から特定のエラーが再発しているかどうかを判断することを特徴とする請求項１に記載の情報処理装置。
【請求項５】
前記判断手段が設定値の履歴情報から特定のエラーが再発していると判断した場合、前記作成手段は、再発している前記特定のエラーに関わる前記設定値の変更履歴情報を作成することを特徴とする請求項４に記載の情報処理装置。
【請求項６】
前記管理手段は、前記履歴情報の変化状態から前記特定のエラーが発生してから、当該特定のエラーが回復させるために変更された設定値を履歴情報として管理することを特徴とする請求項１に記載の情報処理装置。
【請求項７】
前記出力手段は、前記作成手段が作成した前記特定のエラーに関わる前記設定値の変更履歴情報を表示することを特徴とする請求項３に記載の情報処理装置。
【請求項８】
前記出力手段は、前記作成手段が作成した前記特定のエラーに関わる前記設定値の変更履歴情報を印刷することを特徴とする請求項３に記載の情報処理装置。
【請求項９】
所定の機能処理を行うアプリケーションを管理する情報処理装置の制御方法であって、
前記アプリケーションを実行する実行工程と、
前記情報処理装置に対して設定された設定値を保持手段に保持させる保持工程と、
前記設定値が変更されることで前記所定の機能処理が影響を受けるかどうかを前記アプリケーションが公開する機能名に対応づけた関連設定リストを記憶手段に登録する登録工程と、
前記設定値が変更されたことを検知する検知工程と、
前記検知工程が検知する設定値の変更状態を日時情報に対応づけた履歴情報を保存手段に登録して管理する管理工程と、
前記実行工程が実行した前記アプリケーションで特定のエラーが発生したかどうかを判断する判断工程と、
前記特定のエラーが発生したと判断した場合、前記履歴情報および前記関連設定リストから、前記特定のエラーに関わる前記設定値の変更履歴情報を作成する作成工程と、
を備えることを特徴とする情報処理装置の制御方法。
【請求項１０】
請求項９に記載の情報処理装置の制御方法をコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理装置の制御方法、及びプログラムに関するものである。
【背景技術】
【０００２】
近年、複合機やプリンタと呼ばれる画像処理装置において、画像処理装置の出荷後に追加でソフトウェア（以下、アプリケーションとする）をインストールが可能な画像処理装置が開発されている。この際、サービスマンがアプリケーションのインストール、設定や、画像処理装置の各種設定を行い、正常に動作することを確認する。
ところが、画像処理装置の設置後に、利用者が不用意に画像処理装置の設定値を変更すると、アプリケーションにエラーが発生することがある。アプリケーションエラーが発生すると、サービスマンは、アプリケーションが作成した動作ログを元にエラー原因を調査する。画像処理装置の設定値が変更されたことによるエラー発生時に、エラー原因となった変更された値を調査する方法がある（例えば、特許文献１）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１２−２３６４４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１記載の方法では、装置の現在設定値と、１つ前の設定値が保存され、エラー発生時に保存されている設定値を見比べることで、エラー原因となった設定変更を見つけることが容易となる。
しかしながら、特許文献１記載の処理方法では、直前の設定変更の情報しか残すことができず、設定変更を何度も繰り返した時はエラー原因となった設定変更を見つけることは難しいという課題があった。
【０００５】
本発明は、上記の課題を解決するためになされたもので、本発明の目的は、情報処理装置に対するユーザからの設定変更を受け付けたことにより、所定の機能を実行するアプリケーションが影響を受ける設定項目を特定できる仕組みを提供することである。
【課題を解決するための手段】
【０００６】
上記目的を達成する本発明の情報処理装置は以下に示す構成を備える。
所定の機能処理を行うアプリケーションを管理する情報処理装置であって、
前記アプリケーションを実行する実行手段と、前記情報処理装置に対して設定された設定値を保持する保持手段と、前記設定値が変更されることで前記所定の機能処理が影響を受けるかどうかを前記アプリケーションが公開する機能名に対応づけた関連設定リストを記憶する記憶手段と、前記設定値が変更されたことを検知する検知手段と、前記検知手段が検知する設定値の変更状態を日時情報に対応づけた履歴情報を管理する管理手段と、前記実行手段が実行した前記アプリケーションで特定のエラーが発生したかどうかを判断する判断手段と、前記特定のエラーが発生したと判断した場合、前記履歴情報および前記関連設定リストから、前記特定のエラーに関わる前記設定値の変更履歴情報を作成する作成手段と、を備えることを特徴とする。
【発明の効果】
【０００７】
本発明によれば、情報処理装置に対するユーザからの設定変更を受け付けたことにより、所定の機能を実行するアプリケーションが影響を受ける設定項目を特定できる。
【図面の簡単な説明】
【０００８】
【図１】情報処理システムの構成図である。
【図２】ＭＦＰの装置構成例を示すブロック図である。
【図３】ＭＦＰのソフトウェア構造の一例を示す図である。
【図４】情報処理装置の機能構成を説明するブロック図である。
【図５】情報処理装置の制御方法を説明するフローチャートである。
【図６】情報処理装置の制御方法を説明するフローチャートである。
【図７】情報処理装置の制御方法を説明するフローチャートである。
【図８】情報処理装置の制御方法を説明するフローチャートである。
【図９】変更履歴特定結果の一例を示す図である。
【図１０】変更履歴特定結果の一例を示す図である。
【図１１】ＭＦＰのソフトウェア構造の一例を示す図である。
【図１２】情報処理装置の制御方法を説明するフローチャートである。
【図１３】情報処理装置の制御方法を説明するフローチャートである。
【図１４】情報処理装置の制御方法を説明するフローチャートである。
【図１５】情報処理装置の制御方法を説明するフローチャートである。
【図１６】情報処理装置の制御方法を説明するフローチャートである。
【発明を実施するための形態】
【０００９】
次に本発明を実施するための最良の形態について図面を参照して説明する。ただし、この実施の形態に記載されている構成要素はあくまで例示であり、この発明の範囲をそれらのみに限定する趣旨のものではない。
＜システム構成の説明＞
〔第１実施形態〕
【００１０】
図１は、本実施形態を示す情報処理装置を含む情報処理システムの構成図である。発明の実施の形態にかかる画像処理システムの構成の一例を示すブロック図である。以下、本実施形態では、情報処理装置として、画像形成装置の一例であるＭＦＰを例として説明するが、情報処理装置は、これらに限定されるものではない。
また、特に断らない限り、本発明の機能が実行されるのであれば、単体の機器であっても、複数の機器からなるシステムであっても、本発明を適用できることは言うまでもない。
【００１１】
本情報処理システムは、情報処理装置としてのＭＦＰ１００、管理者が使う情報処理装置としてのサーバ１１０、ユーザが使う情報処理装置としてのクライアントＰＣ１２０が通信可能なシステムとして構成される例である。さらに、本システムは、ネットワーク１３０を介し、ＭＦＰ１００、サーバ１１０、クライアントＰＣ１２０が相互に接続されている。
【００１２】
本実施形態では、情報処理装置の特定の機能として、印刷手段、スキャナ手段等の複数の機能を持つ複合機を情報処理装置の例とする。
ＭＦＰ１００は、記憶部１０１、および図示しないプリンタ部、ＦＡＸ送受信部、ライセンス管理部、ネットワーク部等を備え持つ。記憶部１０１は、ハードディスクやメモリから構成され、追加インストールしたアプリケーションの実行ファイルや、ライセンスファイル、印刷やファクス等のジョブデータ、印刷の履歴等を保存・蓄積する。
【００１３】
サーバ１１０は、予め供えられている管理ツールを用いて、ＭＦＰ１００に特定の機能処理を実行するための複数のアプリケーションをインストールすることが可能に構成されている。
【００１４】
ユーザは、クライアントＰＣ１２０に予め供えられたプリンタドライバを用い、所望のドキュメントをＭＦＰ１００が処理可能な画像データに変換し、ネットワーク１３０を介し、ＭＦＰ１００に送信することができる。ネットワーク１３０はインターネット、イントラネットなどのネットワークで構成される。
【００１５】
図２は、図１に示したＭＦＰ１００の装置構成例を示すブロック図である。
図２において、制御部２０８は、ＣＰＵ２１０、ＲＯＭ２１１、及びＲＡＭ２１２を含み、ＭＦＰ１００全体の動作を制御する。ＣＰＵ２１０は、ＲＯＭ２１１に記憶された制御プログラムを読み出して読取制御や送信制御などの各種制御処理を実行する。ＲＡＭ２１２は、ＣＰＵ２１０の主メモリ、ワークエリア等の一時記憶領域として用いられる。また、制御部２０８は、機能部２０１と接続され、操作表示部２０２、スキャナ部２０３、及びプリンタ部２０４の動作を制御する。
【００１６】
操作表示部２０２には、タッチパネル機能を有する液晶等の表示部やキーボード等が配置されている。操作表示部２０２は、ブラウザ機能を備えており、ブラウザは、サーバ１００や図示しない情報処理装置から受信したＨＴＭＬファイルを解析し、解析したＨＴＭＬファイルの記述に基づく操作画面を操作表示部２０２に表示する。   
【００１７】
プリンタ部２０４は、制御部２０８から出力された画像データをシートに印刷する。スキャナ部２０３は、原稿の画像を読み取って画像データを生成し、制御部２０８に出力する。インタフェース部２０６は、制御部２０８をネットワーク１３０に接続して外部の情報処理装置であるクライアントＰＣ１２０から印刷用の画像データを受信したり、操作表示部２０２で表示する画面データを受信したりする。ＨＤＤ２０９は、画像データや各種プログラムを記憶する。なお、外部の情報処理装置から受信した印刷用の画像データは、画像メモリ２０７に一時的に格納され、制御部２０８を介してプリンタ部２０４により印刷される。
【００１８】
図３は、図１に示したＭＦＰ１００のソフトウェア構造の一例を示す図である。図３に示される各ソフトウェアは、ＲＯＭ２１１あるいはＨＤＤ２０９に格納され、ＣＰＵ２１０によって実行されるものとする。
図３において、ＯＳ（Ｏｐｅｒａｔｉｎｇ Ｓｙｓｔｅｍ）層３０１は、一般的にはリアルタイムＯＳが使用されるが、Ｌｉｎｕｘ（登録商標）等の汎用ＯＳを用いても良い。
コントロールサービス３０２は、各種のハードウェアリソース等を制御するための機能を上位アプリケーションに提供したり、ＭＦＰ１００基盤的な機能等を実行したりする
【００１９】
アプリケーションプラットフォーム３０３は、アプリケーションのライフサイクルを管理する機能、およびアプリケーションが共通で利用する機能を提供する。インストーラサービス３０４は、後述のアプリケーションＡ，Ｂなど複数のアプリケーションを、アプリケーションプラットフォーム３０３に登録することでインストール処理を行う。また、インストーラサービス３０４は、インストール済のアプリケーションのアンインストール処理や、期間延長処理を行う。
【００２０】
アプリケーションＡ３０５，アプリケーションＢ３０６は、インストーラサービス３０４によってインストールされたアプリケーションであり、ＭＦＰ１００上で様々な機能を提供する。アプリケーションＡ３０５，アプリケーションＢ３０６は、ＭＦＰ１００の外部からダウンロードしてインストールすることが可能である。アプリケーションＡ３０５、アプリケーションＢ３０６の少なくともいずれかは、操作表示部２０２を介してユーザとやり取りを行うことが可能である。
また、アプリケーションＡ３０５，アプリケーションＢ３０６の少なくともいずれかは、インタフェース部２０６を介して、機能部２０１の各機能を使って、画像データを生成、印刷指示することも可能である。また、アプリケーションプラットフォーム３０３には図示しないアプリケーションが登録されている。
【００２１】
アプリ管理３０８は、後述のアプリケーション管理機能を有するソフトウェアである。アプリ管理３０８は、操作表示部２０２を介してユーザとやり取りを行うことが可能である。また、アプリ管理３０８は、インストーラサービス３０４に所定の機能処理を行うアプリケーションのインストール、アンインストール、使用期間の延長を依頼することができる。
【００２２】
Ｎａｔｉｖｅ機能部３０７は、ＭＦＰ１００に組み込まれた機能を提供する。Ｎａｔｉｖｅ機能の一例として、インタフェース部２０６を介して受信した印刷データに基づき、プリンタ部２０４で印刷を行う機能がある。なお、本実施形態では、コントロールサービス３０２、アプリケーションプラットフォーム３０３はＨＤＤ２０９に格納されているものとする。また、Ｎａｔｉｖｅ機能部３０７はＲＯＭ２１１に格納されているものとする。  
【００２３】
図４は、本実施形態を示す情報処理装置の機能構成を説明するブロック図である。本例は、ＭＦＰ１００におけるアプリケーションプラットフォーム、および、コントロールサービスの機能構成例である。
図４において、アプリケーションプラットフォーム３０３は、設定値監視部４０１、エラー検知部４０３、変更履歴特定部４０５を有する。設定値監視部４０１、エラー検知部４０３、変更履歴特定部４０５は、ＭＦＰ１００の起動と共に起動し、ＭＦＰ１００の終了と共に終了するものとする。
設定値監視部４０１は、ＭＦＰ１００の設定値を監視する。設定値に変化があったときは、後述の設定値履歴４０２に変化を記録する。設定値履歴４０２は、記憶部１０１に格納され、ＭＦＰ１００の設定値の変更状態を履歴情報として保持する。設定値履歴４０２の一例を表１に示す。
【００２４】
【表１】
2017112422.tif 000003
【００２５】
設定値履歴４０２は、項目「Date」、「Time」、「設定」、「設定種」を持つ。表中「Date」および「Time」は設定変更がいつ発生したかを示す項目である。表中「設定値」は、変更された設定の値が記載されている項目である。表中「設定種」は、変更された設定項目のカテゴリが分かる項目である。例えば、表１行目は、「2015/06/20 11:53:01」に設定が変更された。設定項目「DNSドメイン名」の設定値が 「""」すなわち空欄に変更されたことを意味する。設定変更された設定は「ネットワーク」に関連する項目である。
【００２６】
エラー検知部４０３は、アプリケーションプラットフォーム３０３が有し、アプリケーションに公開している機能を監視し、機能の開始、終了、結果等の機能の動作に関する情報を後述の機能動作履歴４０４に監視結果を記録する。
機能動作履歴４０４は、記憶部１０１に格納され、アプリケーションプラットフォーム３０３が公開している機能の動作情報を保持する。機能動作履歴４０４の一例を表２に示す。表２は、アプリケーションの機能が正常に実行されたか、失敗したかを日時情報に対応づけた履歴情報に対応する。
【００２７】
【表２】
2017112422.tif 000004
【００２８】
機能動作履歴４０４は、項目「Date」、「Time」、「機能」、「結果」を持つ。表中「Date」および「Time」は機能動作がいつ発生したかを示す項目である。表中「機能」は、アプリケーションプラットフォーム３０３が有し、アプリケーションに公開している機能が、いつ動作したかを示す項目である。表中「結果」は、該機能の結果示す項目である。例えば、表中１行目は、「2015/06/25 00:00:01」に「ログ取得」が行われ、結果は成功であった、を意味する。
変更履歴特定部４０５は、アプリケーションプラットフォーム３０３が公開している機能にエラーが発生したときは、後述の変更履歴特定結果４０６を作成する。
変更履歴特定結果４０６は、記憶部１０１に格納され、エラー情報と関連する設定値の変更履歴情報を保持する。変更履歴特定結果４０６の一例を図９に示す。
【００２９】
図９の（ａ）において、９０１はエラー情報で、エラーＩＤ、エラー発生日時、機能名、および、エラーの詳細が記載されている状態を示す。９０２は設定の変更履歴で、該エラーに関連する設定値の変更履歴が記載されている状態を示す。
【００３０】
機能別関連設定４０７は、記憶部１０１に格納され、アプリケーションプラットフォーム３０３が公開している機能と、ＭＦＰ１００の設定値との関係を表した情報である。機能別関連設定４０７の一例を表３に示す。
【００３１】
【表３】
2017112422.tif 000005
機能別関連設定４０７は、アプリケーションプラットフォーム３０３が公開している機能名と、設定の種類（ネットワーク、認証、言語、仕向けを例とする）が関係するかを示す。例えば、表中１行目は、機能「エクスポート」の動作は、設定「ネットワーク」と設定「認証」に影響され、設定「言語」、設定「仕向け」には影響されないことを意味する。表中、１は関連を意味し、０は関連しないことを意味する。コントロールサービス３０２は、設定管理部４０８と、プリンタ管理部４０９と、ネットワーク管理部４１０を有する。
【００３２】
設定管理部４０８は、アプリケーション３０５やＮａｔｉｖｅ機能部３０７から呼び出され、ＭＦＰ１００の設定を構成する各項目の設定を行う。ＭＦＰ１００の設定値は、記憶部１０１に格納されているファイルに保持されているものとする。プリンタ管理部４０９は、プリンタ部２０４の管理、制御を行う。ネットワーク管理部４１０は、ネットワーク通信に関する機能、制御を行う。
【００３３】
図５は、本発明の情報処理装置の制御方法を説明するフローチャートである。本例は、設定値監視処理例である。なお、各ステップは、ＣＰＵ２１０が記憶された制御プログラムを実行することで実現される。以下、ＣＰＵ２１０が実行するモジュールを主体として処理を説明する。
Ｓ５０１で、設定値監視部４０１は、設定値に変化があるか判断する。具体的には、設定値監視部４０１は、設定管理部４０８によって作成、更新される、図示しない設定値を保持するファイルを監視し、該ファイルの記載内容に変化があると設定値に変化があったと判断する。
【００３４】
Ｓ５０１で設定値に変化があったと設定値監視部４０１が判断した場合は、Ｓ５０２で、予めアプリケーションプラットフォーム３０３に備えられた方法によって、Ｓ５０２で変化した設定値の現在の設定値を取得する。設定値の種類とは、ネットワーク設定や、認証設定等である。
次にＳ５０３、設定値監視部４０１は設定値履歴にレコードを追加する。すなわち、Ｓ５０２で取得した現在の設定値を、表１に示す設定値履歴４０２に追記する。次にＳ５０１へ進む。
【００３５】
図６は、本発明の情報処理装置の制御方法を説明するフローチャートである。本例は、エラー検知処理例である。なお、各ステップは、ＣＰＵ２１０が記憶された制御プログラムを実行することで実現される。以下、ＣＰＵ２１０が実行するモジュールを主体として処理を説明する。
Ｓ６０１で、エラー検知部４０３はアプリケーションプラットフォーム３０３が公開している機能の動作に変化があったか判断する。アプリケーションプラットフォーム３０３に予め備えている方法によって、アプリケーションプラットフォーム３０３が公開している機能に変化を検知する。
【００３６】
Ｓ６０１で機能の動作に変化があったとエラー検知部４０３が判断した場合、Ｓ６０２で、エラー検知部４０３は、機能動作履歴４０４にレコードを追加する。すなわち、前記Ｓ６０１で取得した機能の動作を表２に示す機能動作履歴４０４に追記する。次に、Ｓ６０３へ進む。一方、Ｓ６０１で機能の動作に変化がなかったとエラー検知部４０３が判断した場合は、Ｓ６０１へ進む。
次にＳ６０３で設定値監視部４０１は、エラーか判断する。具体的には、設定値監視部４０１は、Ｓ６０１で取得した機能動作がエラーを示すとき、エラーであると判断する。
Ｓ６０３でエラーであると設定値監視部４０１が判断した場合、Ｓ６０４で、設定値監視部４０１は変更履歴特定部４０５を呼び出し、後述する図７に示す変更履歴特定処理を行う。次にＳ６０１へ進む。一方、Ｓ６０３でエラーであると設定値監視部４０１が判断しなかった場合は、Ｓ６０１へ進む。
【００３７】
図７は、本発明の情報処理装置の制御方法を説明するフローチャートである。本例は、変更履歴特定処理例である。なお、各ステップは、ＣＰＵ２１０が記憶された制御プログラムを実行することで実現される。以下、ＣＰＵ２１０が実行するモジュールを主体として処理を説明する。
変更履歴特定部４０５は、ＭＦＰ１００の起動と共に起動し、エラー検知部４０３によって呼び出されることを待機している。また、呼び出されて一連の処理が終わると待機状態に戻る。エラー検知部４０３は検知したエラー情報を、予め決められた方法によって、変更履歴特定部４０５に適宜渡しているものとする。本説明の例では、前記エラー検知処理によって、表２に示す機能動作履歴の４行目に記録されている、エクスポート失敗の情報がエラー情報として渡されているものとする。
【００３８】
Ｓ７０１で、変更履歴特定部４０５は変更履歴特定結果４０６を作成する。すなわち、図９の（ｂ）に示す変更履歴特定結果４０６を作成し、予め記憶部１０１に用意したワークエリアに保存する。変更履歴特定結果４０６のエラー情報には、エラー検知部４０３から変更履歴特定部４０５に渡されたエラー情報が格納されている。すなわち発生時刻には「2015/6/25 00:02:45」が、機能には「エクスポート」が、詳細には「−８」が格納されている。
【００３９】
次にＳ７０２で、変更履歴特定部４０５は機能別関連設定リストから関連設定種類を取り出す。すなわち、表３に示す機能別関連設定リストから、前記エラー検知処理から渡されたエラー発生した機能種類「エクスポート」を検索し、設定種類「ネットワーク」と「認証」を取り出し、予め記憶部１０１に用意したワークエリアに保存する。
次にＳ７０３で、変更履歴特定部４０５は後述の検索時刻設定処理を呼び出し、後述の検索に用いる開始時刻と終了時刻を設定し、予め記憶部１０１に用意したワークエリアに保存する。
【００４０】
次にＳ７０４で、変更履歴特定部４０５は、設定値情報を１件取り出す。すなわち、表１に示す設定値履歴４０２から、Ｓ７０３で設定した開始時刻から過去に遡り、レコードを１件取得し、予め記憶部１０１に用意したワークエリアに保存する。
【００４１】
次にＳ７０５で、変更履歴特定部４０５は、同じ設定種類か判断する。具体的には、変更履歴特定部４０５は、Ｓ７０４で取得したレコードの設定種類と、Ｓ７０２で取得した設定種類が同じ場合は、同じ設定種類と判断する。
例えば、Ｓ７０４で取得したレコードが、表１中７行目の 2015/06/24 20:12:12 のレコードの場合、該レコードの設定種類は「ネットワーク」であり、Ｓ７０２で取得した設定種類「ネットワーク」と一致するため、変更履歴特定部４０５は、同じ設定種類と判断する。
【００４２】
Ｓ７０５で同じ設定種類と判断した場合、Ｓ７０６で、変更履歴特定部４０５は、設定の変更履歴特定結果４０６に追加する。具体的には、変更履歴特定部４０５は、Ｓ７０１で作成した変更履歴特定結果４０６の設定の変更履歴９０２にＳ７０４で取得したレコードを追記する。次にＳ７０７へ進む。一方、Ｓ７０５で同じ設定種類でないと変更履歴特定部４０５が判断した場合はＳ７０７へ進む。
Ｓ７０７で、変更履歴特定部４０５は、終了か判断する。具体的には、変更履歴特定部４０５は、表１に示す変更値履歴の先頭レコードまで取得済の場合は、終了と判断する。一方、Ｓ７０７で終了であると変更履歴特定部４０５が判断した場合は、本変更履歴特定処理を終了する。
【００４３】
Ｓ７０７で終了と判断しない場合、Ｓ７０８で、変更履歴特定部４０５は、次の設定値情報を１件取り出す。具体的には、変更履歴特定部４０５は、表１に示す設定値履歴から、過去に遡り、レコードを１件取得し、予め記憶部１０１に用意したワークエリアに保存する。
【００４４】
次にＳ７０９で、変更履歴特定部４０５は、設定値情報が終了時刻より古いか否かを判断する。具体的には、変更履歴特定部４０５は、Ｓ７０８で取得した設定値情報の DateおよびTimeと Ｓ７０３で設定した終了時刻を比較し、設定値情報が古い場合は、設定値情報が終了時刻より古いと判断する。
Ｓ７０９で、設定値情報が終了時刻より古くないと、変更履歴特定部４０５が判断した場合は、Ｓ７０５へ進む。
【００４５】
Ｓ７０９で、変更履歴特定部４０５が、設定値情報が終了時刻より古いと判断したときは、本処理を終了する。本処理終了後の設定履歴特定結果を、図９の（ｃ）に示す。図中、設定の変更には、設定値履歴の記録からＳ７０３で設定した開始時刻から終了時刻の間に発生した記録が転記されている。
【００４６】
図８は、本発明の情報処理装置の制御方法を説明するフローチャートである。本例は、検索時刻設定処理例である。なお、各ステップは、ＣＰＵ２１０が記憶された制御プログラムを実行することで実現される。以下、ＣＰＵ２１０が実行するモジュールを主体として処理を説明する。
Ｓ８０１で、変更履歴特定部４０５は、開始時刻にエラー発生時刻を設定する。具体的には、変更履歴特定部４０５は、エラー検知手段から渡されたエラー情報に含まれる時刻「2015/06/25 00:02:45」を設定し、予め記憶部１０１に用意したワークエリアに保存する。
【００４７】
Ｓ８０２で、変更履歴特定部４０５は、機能動作履歴から、直前の同じ機能の成功結果を検索する。具体的には、変更履歴特定部４０５がエクスポート失敗の例では機能動作履歴から機能が「エクスポート」で、且つ結果が「成功」のレコードを過去方向に検索する。
Ｓ８０３で、変更履歴特定部４０５は、前記Ｓ８０２で成功結果が見つかったか判断する。ここで、成功結果が見つかったと変更履歴特定部４０５が判断した場合は、次にＳ８０４で、変更履歴特定部４０５は、終了時刻に成功時刻を設定する。具体的には、変更履歴特定部４０５は、終了時刻にＳ８０２で見つけたレコードのDateおよび Time を設定し、予め記憶部１０１に用意したワークエリアに保存する。
【００４８】
一方、Ｓ８０３で成功結果が見つかっていないと変更履歴特定部４０５が判断した場合、次にＳ８０５で、変更履歴特定部４０５は、終了時刻に「０」を設定する。ここで、「０」は特別な意味を持ち、Ｓ７０９の判定において常に、設定値情報が終了時刻より古いと判断しない。
【００４９】
第１実施形態によれば、アプリケーションプラットフォーム３０３が公開している機能にエラー発生時、その機能が成功してからエラー発生するまでの間に、その機能が関連する設定のみの変更履歴をエラー情報と共に保持することが可能になる。これにより、設定変更が原因によるエラー発生時に容易にエラー原因を特定可能になる。
【００５０】
なお、上記実施形態では説明上、エラー検知処理はアプリケーションプラットフォーム３０３が公開している機能のエラーを検知する例で説明したが、アプリケーションのエラーを検知しても本発明は適用される。
アプリケーションは、アプリケーションプラットフォーム３０３が公開している機能を呼び出すことでアプリケーションが持つ機能を実現している。よって、アプリケーションのエラーを検知することで、容易にアプリケーションプラットフォーム３０３が公開している機能のエラーを特定できる。
また、変更履歴特定結果４０６のエラー情報にアプリケーションを識別する情報を追加することで、エラー発生時の原因究明がより簡単になる。
【００５１】
〔第２実施形態〕
アプリケーションが動作するために必要な情報を予め、アプリケーションプラットフォーム３０３に公開することにより、エラー発生時の原因究明をより簡単にする改良が考えられる。以下、第１実施形態と異なる構成について説明する。
【００５２】
図１０は、本実施形態を示す情報処理装置における設定値変更に伴うエラー情報の管理例を示す図である。
図１１は、本実施形態を示す情報処理装置の機能構成を説明するブロック図である。本例は、図４にしたアプリケーションプラットフォーム３０３、および、コントロールサービス３０２の機能構成例である。第１実施形態との違いは、必須設定値リスト１１１と、変更履歴特定部１１１２を備える点である。
【００５３】
図１１において、必須設定値リスト１１１１は、アプリケーションプラットフォーム３０３が公開している機能毎に必須の設定値を記した情報であり、記憶部１０１に格納される。必須設定値リスト１１１１の一例を表４に示す。
【００５４】
【表４】
2017112422.tif 000006
【００５５】
必須設定値リスト１１１１は、項目「設定項目」と「値」を持つ。表中「設定項目」はＭＦＰ１００の設定項目である。表中「値」は、必須としている値である。例えば、３行目は設定項目「ネットワーク設定\SMB設定\SMB認証設定\認証タイプ」が「NTLMv2」になっていることが必要であることを意味する。この情報は、アプリケーション毎、複数のアプリケーションから共通に呼び出されるライブラリ毎に作成することができ、適宜ＭＦＰ１００に追加可能とする。
【００５６】
図１２は、本発明の情報処理装置の制御方法を説明するフローチャートである。本例は、変更履歴特定部１１１２による変更履歴特定処理例である。なお、各ステップは、ＣＰＵ２１０が記憶された制御プログラムを実行することで実現される。以下、ＣＰＵ２１０が実行するモジュールを主体として処理を説明する。なお、第２実施形態における変更履歴特定処理のフローＳ１２０１〜Ｓ１２０９は、図７のフローＳ７０1〜Ｓ７０９と同じである。Ｓ１２１０とＳ１２１１のみ説明する。
【００５７】
Ｓ１２０５で同じ設定種類と判断したときはＳ１２１０で、変更履歴特定部１１１２は、設定が競合しているか判断する。具体的には、Ｓ１２０４で、取得したレコードの設定値が必須設定値リストに存在し、値が異なっているときは、変更履歴特定部１１１２は設定が競合していると判断する。
例えば、Ｓ１２０４で取得したレコードの設定値が「認証タイプ＝"NTLMv1"」になっていたとすると、表４に示す必須設定値リストに「認証タイプ＝"NTLMv2"」が存在する場合、設定が競合していると判断する。
【００５８】
Ｓ１２１０で設定が競合していると変更履歴特定部１１１２が判断した場合、Ｓ１２１１で、変更履歴特定部１１１２は設定の競合に追加する。具体的には、変更履歴特定部１１１２は、図１０の（ａ）に示す変更履歴特定結果の設定の競合１００１に、Ｓ１２０４で取得したレコードを追記する。次にＳ１２０６へ進む。一方、Ｓ１２１０で設定が競合していないと変更履歴特定部１１１２が判断した場合、Ｓ１２０６へ進む。
本実施形態によれば、設定の変更履歴の中から必須の設定とは異なる設定を絞り込むこが可能になり、エラー発生時の原因究明が容易に可能になる。
【００５９】
〔第３実施形態〕
上記実施形態において、エラー発生、エラー回復、エラー再発が繰り返されるとき、複数期間の設定値履歴の変化状態を検索することで、エラー発生要因となった設定値変更を特定する改良が考えられる。以下、第１実施形態と異なる構成について説明する。以下、図１０の（ｂ）、図１３、図１４、図１５を用いて説明する。
【００６０】
図１３は、本発明の情報処理装置の制御方法を説明するフローチャートである。本例は、変更履歴特定部１１１２による変更履歴特定処理例である。なお、各ステップは、ＣＰＵ２１０が記憶された制御プログラムを実行することで実現される。以下、ＣＰＵ２１０が実行するモジュールを主体として処理を説明する。以下、第３実施形態における変更履歴特定処理のフローＳ１３０１〜Ｓ１３０２、および、Ｓ１３０４〜Ｓ１３０９は、図７のフローＳ７０１〜Ｓ７０２、およびＳ７０４〜Ｓ７０９と同じである。Ｓ１３０３とＳ１３１０のみ説明する。
【００６１】
Ｓ１３０３は、変更履歴特定部１１１２は、後述の区間設定処理を呼び出し、区間設定処理によって設定された第一の区間の開始と終了をそれぞれ、開始時刻と終了時刻に設定し、予め記憶部１０１に用意したワークエリアに保存する。Ｓ１３１０は、変更履歴特定部１１１２は後述の追加検索処理を呼び出す。
【００６２】
図１４は、本発明の情報処理装置の制御方法を説明するフローチャートである。本例は、図１３に示したＳ１３０３の区間設定処理の詳細例である。なお、各ステップは、ＣＰＵ２１０が記憶された制御プログラムを実行することで実現される。以下、ＣＰＵ２１０が実行するモジュールを主体として処理を説明する。
Ｓ１４０１で、変更履歴特定部１１１２は区間リストを作成する。すなわち、表５に示す機能別区間リストを作成し、予め記憶部１０１に用意したワークエリアに保存する。機能別区間リストを表５に示す。
【００６３】
【表５】
2017112422.tif 000007
機能別区間リストは、項目「区間」、「発生時刻」、「成功時刻」を持つ。「区間」は、１から始まる連番を値として持つ。「発生時刻」はエラーが発生した時刻を表す。「成功時刻」は、エラー発生から遡り、同機能の最初の成功時刻を表す。例えば、1行目は、2015 09/15 18:34:01 にエラー発生し、直前の成功は2015 08/01 08:00であることを意味する。
【００６４】
Ｓ１４０２で、変更履歴特定部１１１２は、第一区間の発生時刻にエラー発生時刻を設定する。すなわち、表５に示す機能別区間リストの先頭区間の発生時刻に、エラー検知部４０３から渡されたエラー情報に含まれるエラー発生時刻を設定する。
【００６５】
Ｓ１４０３で、変更履歴特定部１１１２は機能動作履歴から、直前の同じ機能の成功結果を検索する。具体的には、エクスポート失敗の例では機能動作履歴から機能が「エクスポート」で、且つ結果が「成功」のレコードを、検索済のレコードから過去方向に検索する。
Ｓ１４０４で、変更履歴特定部１１１２は、Ｓ１４０３で成功結果が見つかったか判断する。Ｓ１４０４で成功結果が見つかったと変更履歴特定部１１１２が判断した場合は、Ｓ１４０５で、変更履歴特定部１１１２は、成功時刻を設定する。具体的には、変更履歴特定部１１１２は、機能別区間リストの該当エントリの成功時刻にＳ１４０３で見つけたレコードのDateおよび Time を設定し、予め記憶部１０１に用意したワークエリアに保存する。次にＳ１４０６へ進む。
【００６６】
一方、Ｓ１４０４で成功結果が見つからなかったと変更履歴特定部１１１２が判断した場合は、次にＳ１４０６で、変更履歴特定部１１１２は、成功時刻に０を設定する。具体的には、変更履歴特定部１１１２は、機能別区間リストの該当エントリの成功時刻に「０」を設定する。ここで、「０」は特別な意味を持ち、Ｓ１３０９の判定において常に、設定値情報が終了時刻より古いと判断しない。次に、Ｓ１４１１へ進む。
【００６７】
Ｓ１４０７で、変更履歴特定部１１１２は、機能動作履歴から直前の同じ機能の失敗結果を検索する。具体的には、変更履歴特定部１１１２は、エクスポート失敗の例では機能動作履歴から機能が「エクスポート」で、且つ結果が「失敗」のレコードを、検索済のレコードから過去方向に検索する。
次に、Ｓ１４０８で、変更履歴特定部１１１２は、失敗結果が見つかったか否かを判断する。Ｓ１４０８で失敗結果が見つかったと変更履歴特定部１１１２が判断した場合、Ｓ１４０９で、変更履歴特定部１１１２は、区間エントリを追加する。具体的には、変更履歴特定部１１１２は、表５に示す機能別区間リストに行を追加する
【００６８】
次にＳ１４１０で、変更履歴特定部１１１２は、発生時刻にエラー発生時刻を設定する。具体的には、変更履歴特定部１１１２は、Ｓ１４０９で機能別区間リストに追加したエントリの発生時刻に、Ｓ１４０８で見つけた失敗のレコードのDateおよび Time を設定し、予め記憶部１０１に用意したワークエリアに保存する。次にＳ１４０３へ戻る。
一方、Ｓ１４０８で失敗結果が見つからなかったと変更履歴特定部１１１２が判断した場合は、変更履歴特定部１１１２はＳ１４１１へ進む。
【００６９】
Ｓ１４１１で、変更履歴特定部１１１２は、開始・終了時刻を設定して、本処理を終了する。Ｓ１４１１では、変更履歴特定部１１１２が機能別区間リストの先頭区間の発生時刻、成功時刻をそれぞれ、予め記憶部１０１に用意したワークエリアに確保した開始時刻、終了時刻に設定する。Ｓ１４１１の後は、区間設定処理を終了する。
【００７０】
図１５は、本発明の情報処理装置の制御方法を説明するフローチャートである。本例は、図１３に示したＳ１３１１の追加検索処理の詳細例である。なお、各ステップは、ＣＰＵ２１０が記憶された制御プログラムを実行することで実現される。以下、ＣＰＵ２１０が実行するモジュールを主体として処理を説明する。
Ｓ１５０１で、変更履歴特定部１１１２は、未検査区間が存在するか判断する。すなわち、機能別区間リストに格納されている区間情報を調べ、未検査の区間が存在するときは、未検査区間が存在すると判断する。
【００７１】
Ｓ１５０２で、変更履歴特定部１１１２は、開始・終了時刻を設定する。具体的には、変更履歴特定部１１１２は、機能別区間リストの検査済区間の次区間の発生時刻、成功時刻をそれぞれ、予め記憶部１０１に用意したワークエリアに確保した開始時刻、終了時刻に設定する。
【００７２】
Ｓ１５０３で、変更履歴特定部１１１２は、設定値情報を１件取り出す。すなわち、表１に示す設定値履歴から、Ｓ１５０２で設定した開始時刻から過去に遡り、レコードを１件取得し、予め記憶部１０１に用意したワークエリアに保存する。
【００７３】
Ｓ１５０４で、変更履歴特定部１１１２は、同じ設定種類、且つ、設定の変更履歴に存在するか判断する。具体的には、変更履歴特定部１１１２は、Ｓ１５０３で取得したレコードの設定種類と、Ｓ１３０２で取得した設定種類が同じ場合は、同じ設定種類と判断する。
一方、Ｓ１５０３で取得したレコードの設定値と、Ｓ１３０６で変更履歴特定結果に追加した設定の変更履歴に存在する設定値が同じであると変更履歴特定部１１１２が判断した場合は、設定の変更履歴に存在すると判断する。
例えば、Ｓ１５０３取得したレコードが、設定種類が「認証」で、設定値が「認証タイプ＝""NTLMv1"」の場合、変更履歴特定結果の設定の変更履歴に、「認証タイプ＝""NTLMv1"」が存在する場合、同じ設定種類、且つ、設定の変更履歴に存在すると判断する。
【００７４】
Ｓ１５０４で、同じ設定種類、且つ、設定の変更履歴に存在すると変更履歴特定部１１１２が判断した場合、変更履歴特定部１１１２は、Ｓ１５０５で、重複設定変更に追加する。すなわち、図１０の（ｂ）に示す重複設定変更１００２に、Ｓ１５０３で取得したレコードを追加する。次にＳ１５０６へ進む。  一方、Ｓ１５０４で同じ設定種類、且つ、設定の変更履歴に存在しないと変更履歴特定部１１１２が判断した場合、Ｓ１５０６へ進む。Ｓ１５０６で、変更履歴特定部１１１２は、処理を終了するかどうかを判断する。具体的には、変更履歴特定部１１１２は、表１に示す変更値履歴の先頭レコードまで取得済の場合は、処理を終了すると判断する。
【００７５】
一方、Ｓ１５０６で終了しないと変更履歴特定部１１１２が判断した場合、Ｓ１５０７で、変更履歴特定部１１１２は、次の設定値情報を１件取り出す。具体的には、表１に示す設定値履歴から、過去に遡り、レコードを１件取得し、予め記憶部１０１に用意したワークエリアに保存する。そして、Ｓ１５０８で、変更履歴特定部１１１２は、設定値情報が終了時刻より古いか判断する。
具体的には、変更履歴特定部１１１２は、Ｓ１５０３で取得した設定値情報のDateおよびTimeとＳ１５０２で設定した終了時刻を比較し、設定値情報が古い場合は、設定値情報が終了時刻より古いと判断する。
一方、Ｓ１５０８で設定値情報が終了時刻より古いと変更履歴特定部１１１２が判断した場合は、Ｓ１５０１へ戻る。
また、Ｓ１５０８で設定値情報が終了時刻より古くないと変更履歴特定部１１１２が判断した場合は、Ｓ１５０４へ戻る。
さらに、Ｓ１５０６で処理を終了すると変更履歴特定部１１１２が判断したときは、変更履歴特定部１１１２は、追加検索処理を終了する。
第３実施形態によれば、エラー再発が繰り返されたとき、エラー発生時に共通の設定変更を検知することで、エラー発生要因となった可能性の高い設定値変更を絞り込むことが可能になる。
【００７６】
〔第４実施形態〕
エラー発生、エラー回復、エラー再発が繰り返されるとき、成功区間の設定値履歴を検索することで、エラー回復の要因となる設定値変更を特定する改良が考えられる。以下、第３実施形態と異なる構成について説明する。
【００７７】
第３実施形態と異なる点は、変更履歴特定処理における、Ｓ１３１１の追加検索処理と、変更履歴特定結果である。
図１６は、本発明の情報処理装置の制御方法を説明するフローチャートである。本例は、図１３に示したＳ１３１１の追加検索処理の詳細例である。なお、各ステップは、ＣＰＵ２１０が記憶された制御プログラムを実行することで実現される。以下、ＣＰＵ２１０が実行するモジュールを主体として処理を説明する。
なお、第４実施形態における追加検索処理のフローＳ１６０１〜Ｓ１６０３、および、Ｓ１６０６〜Ｓ１６０８は、実施形態３における図１５のフローＳ１５０１〜Ｓ１５０３、およびＳ１５０６〜Ｓ１５０８と同じである。Ｓ１６０４とＳ１６０５のみ説明する。
【００７８】
Ｓ１６０４で、変更履歴特定部１１１２は、同じ設定種類、且つ、異なる設定か判断する。具体的には、変更履歴特定部１１１２は、Ｓ１６０３で取得したレコードの設定種類と、Ｓ１３０２で取得した設定種類が同じ場合は、同じ設定種類と判断する。さらに、変更履歴特定部１１１２は、Ｓ１６０３で取得したレコードの設定値と、Ｓ１３０６で変更履歴特定結果に追加した設定の変更履歴に存在する設定値が異なると場合は、異なる設定と判断する。
例えば、Ｓ１３０６で取得レコードの設定種類が「認証」で、設定値が「認証タイプ＝""NTLMv2"」の場合、変更履歴特定結果の設定の変更履歴に、「認証タイプ＝""NTLMv1"」が存在する場合、同じ設定種類、且つ、異なる設定と判断する。
【００７９】
Ｓ１６０４で同じ設定種類、且つ、異なる設定と変更履歴特定部１１１２が判断した場合はＳ１６０５で、変更履歴特定部１１１２は、回復操作に追加をする。具体的には、変更履歴特定部１１１２は、図１０の（ｃ）に示す回復操作１００３に、Ｓ１６０３で取得したレコードを追加する。次にＳ１６０６へ進む。
第４実施形態によれば、エラー再発が繰り返されたとき、回復時の設定変更を絞り込むことができ、ユーザはエラー発生時に速やかに回復の方法を知ることが可能になる。
【００８０】
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステムまたは装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサがプログラムを読み出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えばＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００８１】
１００  ＭＦＰ
【図１】
2017112422.tif 000008
【図２】
2017112422.tif 000009
【図３】
2017112422.tif 000010
【図４】
2017112422.tif 000011
【図５】
2017112422.tif 000012
【図６】
2017112422.tif 000013
【図７】
2017112422.tif 000014
【図８】
2017112422.tif 000015
【図９】
2017112422.tif 000016
【図１０】
2017112422.tif 000017
【図１１】
2017112422.tif 000018
【図１２】
2017112422.tif 000019
【図１３】
2017112422.tif 000020
【図１４】
2017112422.tif 000021
【図１５】
2017112422.tif 000022
【図１６】
2017112422.tif 000023