(57)【要約】【課題】  ユーザごとにカスタマイズされたログ解析処理を実行可能とするとともに、装置においてログ解析し設定変更のフィードバックをかける処理が複数実行されたとしても整合して動作するための仕組みを提供する【解決手段】  登録要求がなされた第１のテンプレート情報によって制御される設定値を制御する第２のテンプレート情報が前記記憶手段に記憶されている場合には、前記第１のテンプレート情報の登録の制限、又は、前記第１又は第２のテンプレート情報の実行を制限する。【選択図】  図１２
2019211837.tif 000002
【特許請求の範囲】
【請求項１】
一又は複数の画像形成装置の前記動作パターン及び前記一又は複数の画像形成装置に設定すべき設定内容を示すテンプレート情報を記憶する記憶手段と、
前記一又は複数の画像形成装置の動作履歴を示す履歴データを蓄積する蓄積手段と、
前記蓄積手段に蓄積された前記履歴データから前記記憶手段に記憶された前記動作パターンに該当する履歴データを検出した場合、該動作パターンに関連付けられて前記テンプレート情報に示された前記設定内容を前記一又は複数の画像形成装置に出力する出力手段と、
テンプレート情報を前記記憶手段に記憶させる登録要求を受け付ける受付手段と、
前記登録要求がなされた第１のテンプレート情報による設定内容が前記記憶手段に記憶されている第２のテンプレート情報による設定内容と競合する場合には、前記第１のテンプレート情報の登録の制限、又は、前記第１のテンプレート情報又は前記第２のテンプレート情報の実行を制限する制御を行う制御手段と
を有することを特徴とする情報処理装置。
【請求項２】
前記一又は複数の画像形成装置から履歴データを取得する取得手段と、
前記取得手段が取得した前記履歴データのうち、前記蓄積手段に蓄積させる履歴項目を示すフィルタテンプレート情報を前記記憶手段に記憶させる入力手段とを有し、
前記蓄積手段は、前記入力手段が入力した前記フィルタテンプレート情報によって特定される履歴項目に関する履歴データを前記蓄積手段に蓄積させ、
前記制御手段は、前記登録要求がなされた前記第１のテンプレート情報を動作させるための履歴項目を前記履歴データから抽出するフィルタテンプレート情報が前記記憶手段に登録されていない場合には、前記第１のテンプレート情報の登録を制限する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記制御手段は、前記登録要求がなされた前記第１のテンプレート情報による設定内容が、前記第２のテンプレート情報による設定内容と競合する場合には、前記第２のテンプレート情報に基づいて設定内容を変更する動作を停止させることを特徴とする請求項
１に記載の情報処理装置。
【請求項４】
前記制御手段は、前記登録要求がなされた前記第１のテンプレート情報による設定内容が、前記第２のテンプレート情報による設定内容と競合する場合には、前記第１のテンプレート情報に基づいて設定内容を変更する動作を停止させることを特徴とする請求項
１に記載の情報処理装置。
【請求項５】
前記情報処理装置に接続された複数の画像形成装置の設定情報のマスターデータを管理する管理手段と、
第１の画像形成装置において前記第１の画像形成装置の設定情報が更新された場合に、該更新の内容を示す第１の更新情報を前記第１の画像形成装置から受信する受信手段と、
前記受信手段が受信した前記第１の更新情報を用いて前記マスターデータを更新する更新手段と、
前記マスターデータの更新の内容を示す第２の更新情報の取得要求を第２の画像形成装置から受信した場合、前記第２の更新情報を前記出力手段により前記第２の画像形成装置に出力させる制御を行う制御手段と
前記蓄積手段に蓄積された前記履歴データから前記記憶手段に記憶された動作パターンに該当する履歴データを検出した場合、該動作パターンに関連付けられて前記記憶手段に記憶された前記設定内容を前記マスターデータに反映させる反映手段とを有し、
前記反映手段が前記設定内容を前記マスターデータに反映させたことにより前記マスターデータの内容が更新された場合、前記制御手段は、前記マスターデータの該更新の内容を示す前記第２の更新情報を、前記取得要求に応じて前記出力手段から前記第２の画像形成装置に出力させる制御を行う
ことを特徴とする請求項１に記載の情報処理装置。
【請求項６】
一又は複数の画像形成装置の前記動作パターン及び前記一又は複数の画像形成装置に設定すべき設定内容を示すテンプレート情報を記憶する記憶手段を有する情報処理装置の制御方法であって、
前記一又は複数の画像形成装置の動作履歴を示す履歴データを蓄積する蓄積ステップと、
蓄積された前記履歴データから前記記憶手段に記憶された前記動作パターンに該当する履歴データを検出した場合、該動作パターンに関連付けられて前記テンプレート情報に示された前記設定内容を前記一又は複数の画像形成装置に出力する出力ステップと、
テンプレート情報を前記記憶手段に記憶させる登録要求を受け付ける受付ステップと、
前記登録要求がなされた第１のテンプレート情報による設定内容が前記記憶手段に記憶されている第２のテンプレート情報による設定内容と競合する場合には、前記第１のテンプレート情報の登録の制限、又は、前記第１のテンプレート情報又は前記第２のテンプレート情報の実行を制限する制御を行う制御ステップと
を有することを特徴とする制御方法。
【請求項７】
一又は複数の画像形成装置の前記動作パターン及び前記一又は複数の画像形成装置に設定すべき設定内容を示すテンプレート情報を記憶する記憶手段を有する情報処理装置に、
前記一又は複数の画像形成装置の動作履歴を示す履歴データを蓄積する蓄積手順と、
前記蓄積手順において蓄積された前記履歴データから前記記憶手段に記憶された前記動作パターンに該当する履歴データを検出した場合、該動作パターンに関連付けられて前記テンプレート情報に示された前記設定内容を前記一又は複数の画像形成装置に出力する出力手順と、
テンプレート情報を前記記憶手段に記憶させる登録要求を受け付ける受付手順と、
前記登録要求がなされた第１のテンプレート情報による設定内容が前記記憶手段に記憶されている第２のテンプレート情報による設定内容と競合する場合には、前記第１のテンプレート情報の登録の制限、又は、前記第１のテンプレート情報又は前記第２のテンプレート情報の実行を制限する制御を行う制御手順と
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
情報処理装置の動作履歴を分析し、これに応じて情報処理装置の設定をカスタマイズする技術に関する。
【背景技術】
【０００２】
従来、情報処理装置の履歴情報を収集・分析または利用する技術が知られている。特許文献１に記載の画像形成装置は、ジョブ履歴を収集し画像形成装置の詳細な消費電力推移を可視化する。
【０００３】
特許文献２に記載の印刷システムは、ログ毎に分析項目を紐づけて管理できるような仕組みを提供する。特許文献２には、複数のＷｅｂサーバのログ情報を収集するサーバ管理装置が開示されている。サーバ管理装置は、収集したログ情報について分類項目ごとに統計データを生成する。そして、複数の分類項目のうち、予め選択された分析項目に関する分析処理を実行して、分析結果のデータを生成して出力する。
【０００４】
特許文献２に記載のシステムは、操作者がサーバ管理装置に対して、ログ収集ルールの設定と、分析ルールの設定とを行う。ログ収集のルール設定では、毎日又は曜日ごと等、ログを収集するスケジュールに関する設定や、収集すべきログファイルの特定を行う。また、分析ルールの設定では、解析対象とするログの期間、グラフの縦軸（ヒット数、送信バイト数、又は、処理時間）、及び、グラフの横軸（日付・時刻、サーバ、クライアント、又は、サイト）が設定される。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１２−５３４４９号公報
【特許文献２】特開２０００−２０７２５４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
従来技術では、ログ収集を行うアプリケーションと、ログ分析を行うアプリケーションとが予め用意されており、ログ収集ルール設定や、分析ルール設定においてユーザがどのように設定しても、両者のアプリケーションが整合して動作するように設計されていた。
【０００７】
しかしながら、従来の技術では、所定のログ分析しか行うことができなかった。そこで、ユーザごとにカスタマイズされたログ分析を行うアプリケーション或いは解析テンプレートを装置にインストールすることが考えられる。またこの解析テンプレートはログの解析結果に応じて実行されるべき装置の設定変更を示す記述を含むことができる。しかし、そのような場合、複数の解析テンプレートを同時に動かすと設定変更の内容が競合してしまうことが考えられる。
【０００８】
例えば、下記の２つの解析テンプレートを、印刷処理エンジンを有する画像形成装置にインストールした場合について説明する。第１の解析テンプレートは、温度湿度の条件を元にエンジンパラメータを調整する第解析テンプレートである。また第２の解析テンプレートは、ユーザの印刷状況（カラー比・印刷物のコンテンツ）等を加味してエンジンパラメータを調整する解析テンプレートである。
【０００９】
どちらの解析テンプレートも画質の調整を実施するテンプレートだが、異なる調整結果を導き出すケースが考えられる。これらの解析テンプレートを並行して動作させると、一方の解析テンプレートを実行したことにより調整されたエンジンパラメータが、他方の解析テンプレートを実行することにより変更されてしまう。このような動作が繰り返されると、エンジンパラメータが変動し続けてしまい、画像形成装置が安定して動作しなくなってしまう。
【００１０】
そこで、本発明では、ユーザごとにカスタマイズされたログ解析処理を実行可能とするとともに、装置においてログ解析し設定変更のフィードバックをかける処理が複数実行されたとしても整合して動作するための仕組みを提供することを目的とする。
【課題を解決するための手段】
【００１１】
上記の問題を解決するために本発明に係る情報処理装置は以下の構成を有する。すなわち、一又は複数の画像形成装置の前記動作パターン及び前記一又は複数の画像形成装置に設定すべき設定内容を示すテンプレート情報を記憶する記憶手段と、前記一又は複数の画像形成装置の動作履歴を示す履歴データを蓄積する蓄積手段と、前記蓄積手段に蓄積された前記履歴データから前記記憶手段に記憶された前記動作パターンに該当する履歴データを検出した場合、該動作パターンに関連付けられて前記テンプレート情報に示された前記設定内容を前記一又は複数の画像形成装置に出力する出力手段と、テンプレート情報を前記記憶手段に記憶させる登録要求を受け付ける受付手段と、前記登録要求がなされた第１のテンプレート情報による設定内容が前記記憶手段に記憶されている第２のテンプレート情報による設定内容と競合する場合には、前記第１のテンプレート情報の登録の制限、又は、前記第１のテンプレート情報又は前記第２のテンプレート情報の実行を制限する制御を行う制御手段とを有する。
【発明の効果】
【００１２】
上記の構成によれば、複数の解析シナリオを同時に動作させつつ、複数の解析シナリオによる設定変更が整合した状態で動作するように制御する仕組みを提供できる。
【図面の簡単な説明】
【００１３】
【図１】システム全体を示すシステム構成図
【図２】管理サーバ１１０の構成を表すブロック図
【図３】複合機１２０の全体構成を表すブロック図
【図４】複合機１２０の情報処理コントローラユニット３０１の構成を表すブロック図
【図５】管理サーバ１１０が保持する情報処理装置を管理するマスターデータを示す図
【図６】管理サーバ１１０に実装される設定値管理アプリケーション６００のソフトウェアブロック図
【図７】管理サーバ１１０に実装される履歴収集分析アプリケーション７００のソフトウェアブロック図
【図８】複合機１２０のソフトウェアブロック図
【図９】履歴収集分析アプリケーションにおけるデータの流れを示す図
【図１０】フィルタテンプレートのスクリプト部１００１とマニフェスト部１００２を示す図
【図１１】解析テンプレートのスクリプト部１１０１とマニフェスト部１１０２を示す図
【図１２】解析テンプレートの新規登録時のフローチャート
【図１３】フィルタテンプレートの更新時のフローチャート
【図１４】設定値管理アプリケーション６００、履歴収集分析アプリケーション７００、複合機１２０の間の動作フローチャート
【発明を実施するための形態】
【００１４】
以下、本発明を実施するための形態について図面を用いて説明する。以下の実施形態においては管理サーバと通信するクライアントとなる情報処理装置としてはコピーやＦＡＸ機能を搭載した複合機を例として説明する。本発明に係る情報処理装置は、必ずしも複合機である必要ななく、印刷機能のみを有するＳＦＰ（Ｓｉｎｇｌｅ  Ｆｕｎｃｔｉｏｎ  Ｐｒｉｎｔｅｒ）等であってもよい。
【００１５】
（第１の実施の形態）
図１は、本実施形態におけるシステム全体を示すシステム構成図である。ネットワーク１００には、管理サーバ１１０、複合機１２０ａ、及び、複合機１２０ｂが接続されている。以下、複合機１２０ａ及び１２０ｂを総称して複合機１２０と表記する場合がある。
【００１６】
管理サーバ１１０には２つのアプリケーション機能が搭載されている。１つはクライアントとなる複合機１２０などで実行されたジョブやユーザの操作の履歴情報を収集し分析する履歴収集分析アプリケーション７００（以下、分析アプリケーション７００）である。また、もう１つはクライアントとなる複合機１２０などが利用する設定値群をサーバ上で管理し、変更があった場合は複合機１２０に反映させる設定管理アプリケーション６００である。本実施例ではこの２つのアプリケーションは同一の管理サーバ１１０に搭載されている前提で記載するが、アプリケーション同士の通信が可能な環境であれば別のサーバ上で動作していても構わない。
【００１７】
分析アプリケーション７００は、ネットワーク１００を介して複合機１２０から送付されてくるログを収集分析する。分析結果を受けて後述の設定値管理アプリケーションと通信し必要な設定を書き換える動作を行う。
【００１８】
設定値管理アプリケーション６００（以下、設定管理アプリケーション６００）は、サーバ１１０上のＤＢの保持内容に変更があった場合は当該変更内容を複合機１２０のＤＢに同期する。また、設定管理アプリケーション６００は、複合機１２０上で設定変更があった場合に、当該設定変更の内容をサーバ１１０上のＤＢに同期する。
【００１９】
設定管理アプリケーション６００によれば、以下の同期処理が実現される。すなわち、複合機１２０ａの設定値が変更されると、当該設定変更が複合機１２０ａから管理サーバ１１０に通知される。管理サーバ１１０は、通知された内容に基づいて、マスターデータ５０１を更新する。すなわち、複合機１２０ａにおける設定内容の更新が、管理サーバ１１０が管理するマスターデータに反映される。その後、複合機１２０ｂは所定のタイミングで、管理サーバ１１０に対してマスターデータ５０１の更新の有無を問い合わせる取得要求を行う。所定のタイミングとは例えば、複合機１２０ｂによる定期ポーリングのタイミングや、複合機１２０ｂにユーザがログインしたタイミングなどである。管理サーバ１１０は当該取得要求に応じて、マスターデータ５０１の更新内容を示す更新情報を通知する。複合機１２０ｂは、通知された更新内容に基づいて、自身の設定内容を更新する。このようにして、複合機１２０ａにおいて行われた設定変更が、複合機１２０ｂにおいても実行され、複合機１２０ａと１２０ｂとの間で設定内容が同期される。
【００２０】
複合機１２０は複数種類の機能、例えばコピーやＦＡＸ等を実現する機器であり、内部にそれらの機能の実行時の履歴を保持する機能、および機能実行時に利用する設定値を保持する機能と、それらを管理サーバ１１０と通信する機能を具備している。
【００２１】
図２は、本実施形態における管理サーバ１１０の構成を表すブロック図である。管理サーバ１１０はコンピュータとディスプレイで構成される一般的なＰＣでも良いし、複合機１２０と同様の複合機でも良い。管理サーバ１１０は、コントローラユニット２００、操作部２２０、表示部２３０を含んでいる。コントローラユニット２００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２０１を有する。ＣＰＵ２０１は、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）２０２に格納されているブートプログラムによりＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）を起動する。
【００２２】
ＣＰＵ２０１は、このＯＳ上で、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）２０４に格納されているアプリケーションプログラムを実行し、これによって各種処理を実行する。このＣＰＵ２０１の作業領域としてはＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２０２が用いられる。
【００２３】
ＨＤＤ２０４は、上記アプリケーションプログラムとマスターデータ等を格納する。マスターデータの管理方法に関する詳細については後述する。
【００２４】
ＣＰＵ２０１には、システムバス２０８を介して、ＲＯＭ２０２、ＲＡＭ２０３、操作部Ｉ／Ｆ２０５、表示部Ｉ／Ｆ２０６、及び、Ｎｅｔｗｏｒｋ２０７が接続される。
【００２５】
操作部Ｉ／Ｆ２０５は、マウス、キーボード等から成る操作部２０９とのインタフェースであり、操作部２０９を介してユーザが入力した情報をＣＰＵ２０１に送出する。
【００２６】
表示部Ｉ／Ｆ２０６は、ディスプレイ等から成る表示部２１０に表示すべき画像データを表示部２１０に対して出力する。また、Ｎｅｔｗｏｒｋ２０７は、ネットワーク１００に接続され、ネットワーク１００を介してネットワーク１００上の各装置との間で情報の入出力を行う。
【００２７】
図３は本実施形態における複合機１２０の構成を表すブロック図である。
【００２８】
情報処理コントローラユニット３０１は、複合機１２０の動作に係る情報処理制御を統括するコントローラであり、操作部３０６が接続される。さらに画像出力デバイスであるプリンタ３０４を制御するプリンタコントローラユニット３０２や画像入力デバイスであるスキャナ３０５を制御するスキャナコントローラユニット３０３が接続される。
【００２９】
図４は本実施形態における複合機１２０の情報処理コントローラユニット３０１の構成を表すブロック図である。情報処理コントローラユニット３０１は、ＣＰＵ４０１を有し、ＣＰＵ４０１は、ＲＯＭ４０２に格納されているブートプログラムによりＯＳを起動する。ＣＰＵ４０１は、このＯＳ上で、ＨＤＤ４０４に格納されているアプリケーションプログラムを実行し、これによって各種処理を実行する。このＣＰＵ４０１の作業領域としてはＲＡＭ４０３が用いられる。また、ＲＡＭ４０３は、作業領域を提供するとともに、画像データを一時記憶するための画像メモリ領域を提供する。ＨＤＤ４０４は、上記アプリケーションプログラムや画像データ、各種設定値を格納する。複合機１２０における設定値の管理方法については後述する。
【００３０】
ＣＰＵ４０１には、システムバス４０９を介して、ＲＯＭ４０２およびＲＡＭ４０３とともに、操作部Ｉ／Ｆ４０６、デバイスコントローラＩ／Ｆ４０８、Ｎｅｔｗｏｒｋ４０５、画像処理部４０７が接続される。
【００３１】
操作部Ｉ／Ｆ４０６は、タッチパネルを有する操作部３０６とのインタフェースであり、操作部３０６に表示すべき画像データを操作部３０６に対して出力する。また、操作部Ｉ／Ｆ４０６は、操作部３０６によってユーザにより入力された情報をＣＰＵ４０１に送出する。
【００３２】
デバイスコントローラＩ／Ｆ４０８には、スキャナコントローラユニット３０２およびプリンタコントローラユニット３０３が接続され、デバイスコントローラＩ／Ｆ４０８は、画像データの同期系／非同期系の変換を行う。
【００３３】
Ｎｅｔｗｏｒｋ４０５は、ネットワーク１００に接続され、ネットワーク１００を介してネットワーク１００上の各装置との間で情報の入出力を行う。画像処理部４０７では、プリンタ３０４への出力画像処理やスキャナ３０５からの入力画像処理、画像回転、画像圧縮、解像度変換、色空間変換、階調変換などの処理を行う。
【００３４】
図５は、本実施形態における管理サーバ１１０上で動作する設定値管理アプリケーションによって管理されるマスターデータ５０１の構成を表すブロック図である。マスターデータ５０１は、上述の設定管理アプリケーション６００によって管理される。
【００３５】
設定値の仕様管理ＤＢ５１０（以下、仕様ＤＢ５１０）は、各複合機１２０に設定可能な設定値の範囲（値域）などの仕様情報を管理する。例えば、複合機１２０のオプション装置の有無や、ファームウェアバージョン等によって、設定値の設定可能な範囲が異なる。そこで、複合機１２０ごとに設定値の設定可能な範囲（仕様情報）を管理する。あるいは、オプション装置ごと或いはファームウェアバーションごとに仕様情報を管理することとしてもよい。
【００３６】
表示リソースＤＢ５１１は、設定データを編集するためにユーザが用いる編集画面を表示させるために必要な画像データ、仕様情報、及び、設定値等を管理する。
【００３７】
登録デバイス管理ＤＢ５１２は、管理サーバ１１０の管理対象である複合機１２０の情報を管理するデータベースである。複合機の情報として登録される情報は、たとえば複合機１２０の識別情報や、機種情報、複合機１２０が有する機能を示す情報などである。
【００３８】
デバイス構成情報の管理ＤＢ５１３（以下、構成情報ＤＢ５１３）は、管理サーバ１１０が管理する各複合機１２０のハードウェア構成やファームウェアバージョンを表す構成情報を管理する。構成情報には例えば、複合機１２０ａに接続されているオプション装置やオプション部品を示す情報が含まれる。また、構成情報ＤＢ５１３には、複合機１２０が有するライセンス情報なども記憶される。オプション装置は、例えばフィニッシャ、パンチャ、スタッカ等、印刷された成果物に対する後処理を行う装置である。複合機１２０にオプション装置を装着することにより、複合機１２０の機能を拡張することができる。
【００３９】
デバイス共通設定値ＤＢ５２１は、管理サーバ１１０が管理する複合機１２０に共通して設定される設定値を管理するデータベースである。
【００４０】
デバイス個別設定値ＤＢ５２０ａ、及び、５２０ｂ（以下、総称して個別設定ＤＢ５２０）は、管理サーバ１１０が管理する個別の複合機１２０ａ又は１２０ｂごとに固有の設定値を管理するデータベースである。複合機１２０に固有の設定値とは、例えば、複合機１２０の操作パネルに表示される操作画面の表示レイアウトの設定などである。図６の例では、設定管理アプリケーション６００は、複合機１２０ａに固有の設定値を管理するためのデータベースとしてデバイス個別設定値ＤＢ５２０ａを備える。また設定管理アプリケーション６００は、複合機１２０ｂに固有の設定値を管理するためのデータベースとしてデバイス個別設定値ＤＢ５２０ｂを備える。
【００４１】
ユーザ設定値ＤＢ５３０（以下、ユーザ設定ＤＢ５３０）は、複合機１２０のユーザごとの設定値を管理するデータベースである。ユーザ設定ＤＢ５３０は、例えば、ユーザの識別情報と、当該ユーザが複合機１２０を使用する場合に適用される設定情報とを関連付けて記憶する。
【００４２】
ユーザ設定ＤＢ５３０は、例えば、ユーザＡが複合機１２０ａにログインして複合機１２０ａを操作する場合の表示パネルに表示される操作画面の表示レイアウトの設定を管理する。また例えば、ユーザ設定ＤＢ５３０は、ユーザＢが複合機１２０ａにログインして複合機１２０ａを操作する場合の表示パネルに表示される操作画面の表示レイアウトの設定を管理する。
【００４３】
登録デバイス管理ＤＢ５１２やデバイス構成情報の管理ＤＢ５１３に記憶された情報は、マスターデータに含まれる設定情報の表示非表示を後述の設定データ管理部６１０が管理するために用いられる。また、登録デバイス管理ＤＢ５１２や構成情報ＤＢ５１３に記憶された情報は、マスターデータに含まれる設定情報の編集を制限するために参照される。
【００４４】
次に、管理サーバ１１０がマスターデータを管理するために用いる設定管理アプリケーション６００のソフトウェア構成について図６を用いて説明する。設定管理アプリケーション６００は、管理サーバ１１０が記憶するＤＢの内容と、複合機１２０が記憶するＤＢの内容とが共通の内容となるように制御する。以下、管理サーバ１１０が記憶するＤＢの内容と、複合機１２０が記憶するＤＢの内容とが共通の内容にするための上述の処理を総称して同期処理と呼ぶ場合がある。なお同期される対象としての更新情報には、既存の設定項目の設定値の更新内容に限られず、管理サーバ１１０又は複合機１２０が新たに記憶した設定項目の設定値等も含まれる。
【００４５】
設定管理アプリケーション６００は、ＲＡＭ２０３、ＨＤＤ２０４、ＲＯＭ２０２のいずれかの記憶手段に記憶され、ＣＰＵ２０１により実行される。
【００４６】
設定データ管理部６１０（以下、設定管理部６１０）は、管理サーバ１１０に接続された一又は複数の複合機１２０の設定情報のマスターデータを管理する。設定管理部６１０は、管理サーバ１１０が記憶するマスターデータのうち前述した個別設定ＤＢ５２０、共通設定ＤＢ５２１、及び、ユーザ設定ＤＢ５３０の読み書きを管理する。また設定管理部６１０は、後述の通信制御部６２０が複合機１２０から設定値の更新情報を受信した場合、共通設定ＤＢ５２１及び個別設定ＤＢ５２０、および、ユーザ設定ＤＢ５３０を受信した更新情報に基づいて更新する。また設定管理部６１０は、通信制御部６２０が複合機１２０より設定値の更新情報の取得要求を受信した場合に、複合機１２０に対して送信すべき更新情報を作成し、通信制御部に通知する処理を行う。
【００４７】
通信制御部６２０は、Ｎｅｔｗｏｒｋ２０７を介して通信の制御を行う。通信制御部６２０は、複合機１２０において複合機１２０の設定情報が更新された場合に、該更新の内容を示す更新情報を複合機１２０から受信する。また通信制御部６２０は、マスターデータの更新の内容を示す更新情報の取得要求を複合機１２０から受信する。さらに通信制御部６２０は、取得要求に応じて、マスターデータの更新内容を示す更新情報を取得要求を行った複合機１２０に送信する。通信制御部６２０は、複合機１２０との設定値の同期処理を制御する制御部６２１と、通信処理部６２２とを含む。
【００４８】
また制御部６２１は、通信処理部６２２が複合機１２０より更新情報の取得要求を受信した場合に、設定管理部６１０より複合機１２０の更新情報を取得し、これを複合機１２０に送信するよう通信処理部６２２に指示する処理を行う。通信処理部６２２は、先述した複合機１２０との通信処理を実行する。
【００４９】
また設定データ編集部６３０（以下、編集部６３０）は、ＰＣやタブレット等のウェブブラウザを用いて管理サーバ１１０に対して入力された指示を受信する。編集部６３０は、設定管理部６１０が管理する設定情報を、受信した指示に従って、ＰＣやタブレット等のウェブブラウザＵＩに表示したり、設定情報の編集を行ったりする。
【００５０】
編集部６３０は、ブラウザＵＩに編集画面を表示するために仕様ＤＢ５１０、及び、表示リソースＤＢ５１１に保持されている情報を利用する。編集部６３０は、ブラウザＵＩ経由の指示を受けて設定管理部６１０を介してマスターデータに含まれる各ＤＢの値を読み書きすることができる。
【００５１】
次に、管理サーバ１１０が複合機１２０から取得される履歴情報を用いて所定の処理を実行するために用いられる分析アプリケーション７００のソフトウェア構成について図７を用いて説明する。管理サーバ１１０のＨＤＤ２０４に記憶された分析アプリケーション７００がＲＡＭ２０３に展開され、ＣＰＵ２０１によって実行されることにより分析アプリケーション７００の機能が実現される。
【００５２】
履歴データ管理部７１０（以下、履歴管理部７１０）は、履歴蓄積ＤＢ７４０と履歴集計ＤＢ７４１に対する履歴データの読み書きを行う。履歴データとは、複合機１２０から管理サーバ１１０に送信されるデータであって、複合機１２０の動作履歴（例えば、処理の実行履歴等）を示す情報である。履歴データには例えば、ジョブの実行履歴（プリントジョブ、コピージョブ、ＦＡＸジョブ等）、複合機１２０に対してユーザが行った操作内容を表す操作履歴、及び、複合機１２０で発生したエラーの内容を示すエラー履歴等が含まれる。
【００５３】
履歴蓄積ＤＢ７４０は、一又は複数の複合機１２０から取得した履歴データを蓄積する。本実施形態において、履歴蓄積ＤＢ７４０は、履歴データをその履歴データを送信した複合機１２０の識別情報と関連付けて管理する。
【００５４】
テンプレート管理部７３０は、テンプレートＤＢ７５０の管理を行う。テンプレートＤＢ７５０は、後述のマッチング部７３１が履歴データを分析するために用いるテンプレート情報（以下、テンプレート）を保持する。本実施形態では、テンプレートの種類として、フィルタテンプレートと解析テンプレートがある。
【００５５】
解析テンプレートは、複合機１２０の履歴データが所定のパターンを満たす場合に、解析テンプレートに記載された所定の設定処理を実行するテンプレートである。解析テンプレートは、画像形成装置の動作パターン（履歴データのパターン）と、当該画像形成装置に設定すべき設定内容とを示す情報を含む。
【００５６】
またフィルタテンプレートは、複合機１２０に蓄積されたすべての履歴データのうち、動作中の解析テンプレートの解析対象になる履歴データを抽出したり、解析テンプレートが解析を行えるように履歴データを加工したりするためのテンプレートである。テンプレートについては図９から図１１を用いて詳細を後述する。
【００５７】
テンプレート実行部７３１は、履歴蓄積ＤＢ７４０に蓄積された履歴データ、及び、履歴集計ＤＢ７４１に蓄積された履歴データの分析を行う。マッチング部７３１は、履歴蓄積ＤＢ７４０又は、履歴集計ＤＢ７４１に蓄積された履歴データと、テンプレートの記述とを対比してマッチング処理を行う。マッチング部７３１は、複合機１２０から受信した履歴データに基づいて、使用するテンプレートを決定する。またテンプレート実行部７３１は、履歴蓄積ＤＢ７４０又は、履歴集計ＤＢ７４１に蓄積された履歴データが、選択テンプレートに記載された所定の動作パターンに該当するかを判定する。
【００５８】
テンプレートは複数の登録が可能で、テンプレート管理部７３０によってテンプレートのインストールやアクティベートが管理される。テンプレートのインストールや有効化（アクティベート）を行う。システム管理者は、複合機１２０の動作パターンと複合機１２０に対する設定内容とを関連付けたテンプレートをテンプレートＤＢ７５０に記憶させる指示を入力することができる。
【００５９】
結果反映部７３２（以下、反映部７３２）は、テンプレート実行部７３１がテンプレートに記載の所定の動作パターンを履歴蓄積ＤＢ７４０又は、履歴集計ＤＢ７４１から抽出した場合、そのテンプレートに記載の所定の処理を実行する。
【００６０】
通信制御部７２０は、Ｎｅｔｗｏｒｋ２０７を介した通信の制御を行う。通信制御部７２０は、複合機１２０から送付される履歴データを解釈する制御部７２１と、Ｎｅｔｗｏｒｋ２０７を介した通信処理を行う通信処理部７２２とを含む。通信制御部７２０は、テンプレートに記述された動作パターンに該当する履歴データが検出された場合、該動作パターンに関連付けられてテンプレートに記述された設定内容を一又は複数の画像形成装置に出力する。
【００６１】
テンプレートはＰＣ等の外部装置において編集や生成が可能である。編集又は生成されたテンプレートは、外部装置から管理サーバ１１０にインストールすることができる。あるいは、外部装置からの指示に応じて、複合機１２０において編集や生成を行うこととしてもよい。システム管理者は、外部装置又は複合機１２０において、テンプレートの登録、更新、削除、および、現在登録されているテンプレートの状態確認などを行うことができる。
【００６２】
テンプレートは、テンプレートＤＢ７５０に登録されることにより有効化される。本実施形態において、テンプレートは、システム管理者等が、所定のフォーマットに従って生成して、管理サーバ１１０に登録することができる。操作部２０９は、テンプレートの登録要求を受け付ける受付部として機能する。管理サーバ１１０は、テンプレートを記憶させる登録要求を受け付けると、当該テンプレートをテンプレートＤＢ７５０に記憶させる。
【００６３】
図８は設定管理アプリケーション６００および分析アプリケーション７００と通信する複合機１２０側のクライアントモジュールのソフトウェアブロック図である。図８に示したクライアントモジュールは、ＲＡＭ４０３、ＨＤＤ４０４、ＲＯＭ４０２のいずれかの記憶手段に記憶され、ＣＰＵ４０１により実行される。
【００６４】
ユーザ設定値ＤＢ８１２（以下、ユーザ設定ＤＢ８１２）は、複合機１２０にログインするユーザの識別情報とユーザ毎の設定情報とを対応付けて管理する。デバイス設定値ＤＢ８１３（以下、デバイス設定ＤＢ８１３）は、ユーザに関わらずデバイスに設定された設定情報を管理する。設定データ管理部８１０（以下、設定管理部８１０）は、ユーザ設定値ＤＢ８１２（以下、ユーザ設定ＤＢ８１２）及びデバイス設定値ＤＢ８１３（以下、デバイス設定ＤＢ８１３）を管理する。
【００６５】
履歴ＤＢ８２２は、複合機１２０において実行された操作や処理の履歴を保持する。履歴管理部８２０は、履歴ＤＢ８２２を管理する。
【００６６】
設定データ同期処理部８１１（以下、同期処理部８１１）は、ユーザ設定ＤＢ８１２とデバイス設定ＤＢ８１３が記憶する設定情報を設定管理アプリケーション６００のマスターデータと同期させる。設定データは通信処理部８３０を介して通信される。
【００６７】
履歴制御部８２１は、履歴ＤＢ８２２に記憶された情報を管理サーバ１１０の分析アプリケーション７００に送信するように、通信処理部８３０を制御する。
【００６８】
表示制御部８６０は、設定情報や履歴データを操作部３０６に表示させる。認証部８４０は、ユーザを識別するためのログイン処理を実施する。
【００６９】
また複合機１２０には、設定管理部８１０を通して設定の読み書きを実行したり、履歴管理部８２０を介して履歴ＤＢ８２２に履歴データを書き込んだりするアプリケーション８５０が複数存在する。アプリケーション８５０は例えば、コピー、ＦＡＸ、プリントなどの処理を実行するアプリケーションである。
【００７０】
図９は、図７で説明した分析アプリケーション７００におけるデータの流れを示した図である。図９を用いて、フィルタテンプレートと解析テンプレートを利用した分析の流れについて説明する。
【００７１】
フィルタテンプレート９０１、９０２、９２１および解析テンプレート９１１、９１２、９１３、９２２はいずれもテンプレートＤＢ７５０に保持されておりテンプレート管理部７３０によって管理されている。テンプレート実行部７３１は、それぞれのテンプレートに記載された処理を実行する。
【００７２】
上述の通り、フィルタテンプレートは、複合機１２０に蓄積されたすべての履歴データのうち、動作中の解析テンプレートの解析対象になる履歴データを抽出したり、解析テンプレートが解析を行えるように履歴データを加工したりするためのテンプレートである。フィルタテンプレートには、履歴蓄積ＤＢ７４０からデータを読んでデータをフィルタリングしたり加工したりしてサマリＤＢ７４１に書き込む命令が記述されている。
【００７３】
また、解析テンプレートには、複合機１２０の履歴データが所定のパターンを満たす場合に、解析テンプレートに記載された所定の設定処理を複合機１２０に対して行う処理が記述されている。解析テンプレートはサマリＤＢ７４１からデータを読んで、当該データに基づく解析結果を、反映部７３２に通知する動作を行う。
【００７４】
一例として、解析テンプレート１−１（９１１）が実行されるまでの流れについて、図９を用いて説明する。まず履歴蓄積ＤＢ７４０からフィルタテンプレート１（９０１）が必要なデータを読み出し加工して、加工した結果をサマリＤＢ７４１に対してサマリ１（９３１）という形で保存する。解析テンプレート１−１（９１１）はこのサマリ１（９３１）を読み出すように記述されているテンプレートであり、これが実行されるとサマリ１（９３１）からデータを読み出し分析を実施する。分析の結果、フィードバック（例えば複合機１２０の設定変更など）が必要であれば結果反映部７３２に通知する。このように集められた履歴を一度フィルタし解析しやすいように構造変更した後、別途、解析処理が実施される。
【００７５】
解析テンプレート１−２（９１２）も解析テンプレート１−１（９１１）と同様にサマリ１（９３１）からデータを読み出す。このように１つのサマリを複数の解析テンプレートから読みだすことも可能である。
【００７６】
また、フィルタテンプレート２（９０２）が生成したサマリ２（９３２）をさらにフィルタテンプレート２−１（９２１）でフィルタし、サマリ２−１（９３３）を作成したデータを使って処理をしている。例えば解析テンプレート２（９１３）が利用するサマリ２（９３２）が１時間周期で集計されたデータであるのに対して、解析テンプレート２−１−１（９２２）が利用するサマリ２−１（９３３）は１日単位の集計データという場合を考える。このように元データが同じであっても解析しやすさのために、サマリをさらに一段加工したものを利用できるようフィルタテンプレートは多段に配置しサマライズすることも可能である。
【００７７】
このように一度サマリという形でデータ量を減らし、かつ正規化することで、大量に発生する履歴情報のうち、必要な情報だけを後で処理しやすい形で保存することが可能になる。サマライズされたデータを多くの解析テンプレートが容易に利用することが可能になる。またこのような構造の上でフィルタテンプレートや解析テンプレートを追加したり更新したりということを行うことで、さまざまな解析と制御を容易に組み替えることが可能になる。
【００７８】
図１０、及び、図１１はテンプレートの記載例である。フィルタテンプレートと解析テンプレートは共にスクリプト記載部（１００１、１１０１）と管理情報のマニフェスト記載部（１００２，１１０２）を有する。
【００７９】
図１０はプリントジョブログをフィルタリングするフィルタテンプレートの例である。プリントジョブログは履歴蓄積ＤＢ７４０内に蓄積されている。例えば表１に示す表履歴蓄積データが履歴蓄積ＤＢ７４０に蓄積されている。プリントジョブログには、実行日、開始時刻、終了時刻、印刷ファイル名、ユーザ名、カラーモノクロの別、印刷枚数、終了ステータスなどの項目が含まれる。テンプレート実行部７３１は、図１０のフィルタテンプレートを実行して、履歴蓄積ＤＢ７４０からデータを抽出し、サマリＤＢ７４１に１日毎の出力枚数の集計データ（表サマリデータ）を作る。表サマリデータの例を表２に示す。
【００８０】
図１１は、フィルタリングされた後のサマリデータを解析する解析テンプレートの例である。テンプレート実行部７３１は、図１１の解析テンプレートを実行して、表サマリデータから月毎のカウントの集計を行い、集計結果が閾値を超えた場合にデバイスの設定を変更する。
【００８１】
【表１】
2019211837.tif 000003
【００８２】
【表２】
2019211837.tif 000004
【００８３】
スクリプト記載部（１００１、１１０１）は様々なサーバ環境で実行できるようＪａｖａＳｃｒｉｐｔ（登録商標）のような汎用的なスクリプト言語で記載することができる。同様にスクリプト記載部の履歴蓄積ＤＢ７４０からのデータ読み出し処理はＳＱＬ文で記載することができる。
【００８４】
続いてマニフェスト記載部（１００２、１１０２）には、テンプレート管理部７３０が管理上必要とする各種情報が記載される。ＪＳＯＮのような汎用データ構造の表現可能なフォーマットを用いることができる。表３に示した表フィルタテンプレートマニフェスト、および、表４に示した表解析テンプレートマニフェストはこのマニフェスト記載部（１００２、１１０２）の内容の詳細である。
【００８５】
【表３】
2019211837.tif 000005
【００８６】
【表４】
2019211837.tif 000006
【００８７】
表３及び４に示した各マニュフェストには、シナリオ名（ＳｃｅｎａｒｉｏＮａｍｅ）、スクリプト記載部のファイル名（ＳｃｒｉｐｔＦｉｌｅｎａｍｅ）とバージョン（Ｖｅｒｓｉｏｎ）が識別子として記載される。また表３及び４に示した各マニュフェストには、書き込むＤＢ名（ＴｏＤＢＦｉｌｅｎａｍｅ）、書き込みＤＢの最大サイズ（ＴｏＤＢＳｉｚｅ）、読み出すＤＢ（ＦｒｏｍＤＢＦｉｌｅｎａｍｅ）がデータアクセス情報として記載される。さらに表３及び４に示した各マニュフェストには、実行タイミングの指示情報（ＥｘｅｃｕｔｅＴｉｍｅ、ＥｘｅｃｕｔｅＴｉｍｅＦｏｒｍａｔ）が記載される。
【００８８】
フィルタテンプレートの場合は読み出すＤＢと書き込むＤＢの両方の定義が必要になる。解析テンプレートの場合は書き込むＤＢが存在せず代わりに制御を実行する設定値項目（ＣｏｎｔｒｏｌＫｅｙ）が記載される。またＡｒｇＯｂｊはスクリプト記載部中で利用する変数でこれを外部から与える際に利用する。変数はＪＳＯＮ形式などで複数記載できる。
【００８９】
また実行タイミングについては上記の例では、毎日０：００の実行をＵＮＩＸ（登録商標）のｃｒｏｎ形式で記載してあるが、これに限らない。必ずしも時刻情報だけではなく、デバイス起動時、ジョブ終了時など複合機１２０内で発生するイベントなどを記載することも可能である。
【００９０】
表３の表フィルタテンプレートマニフェストと表４の表解析テンプレートマニフェストの情報は、テンプレート管理部７３０によりテンプレートが登録されると、テンプレートＤＢ７５０内にあるテンプレート登録テーブルに登録される。表５に示す表テンプレート管理テーブルは登録テーブルの例である。マニフェストファイルの内容に加えて実際の処理タイミングと過去の実行結果が記載されている。ＤＢＰｒｉｏｒｉｔｙはフィルタテンプレートのマニュフェストにのみ記載があり、書き込むＤＢの優先度を示すものである。静的に事前に書き込んでもよいし、登録後、運用中に書き換えてもよい。
【００９１】
【表５】
2019211837.tif 000007
【００９２】
表５の表テンプレート管理テーブルに記載された内容と、登録しようとしている表３の表フィルタテンプレートマニフェストと表４の表解析テンプレートマニフェストの情報を使って、管理部７３０が、テンプレートの登録・更新・削除などを実施する。
【００９３】
解析テンプレートはフィルタテンプレートが作成したＤＢを読み出すため、インストール時にまず解析テンプレートとフィルタテンプレートの整合チェックを行い登録が実施される。
【００９４】
さらに図９で説明したようにこのようなフィルタテンプレートと解析テンプレートの組み合わせをテンプレート管理部７３０に複数登録することができる。この時解析テンプレートは図１１の例のように複合機１２０の設定を変更するという機能を持っているため、複数のテンプレートが同一の設定を変更する可能性がある。
【００９５】
たとえば、解析テンプレートＡ１は、複合機１２０の置かれている環境の温度湿度の推移を監視して画像のパラメータを設定する。また、解析テンプレートＡ２は、ユーザが印刷するファイルのフォーマット等を監視してそのユーザが最もよく利用するファイルフォーマットに最適な画像のパラメータを設定する。この２つのテンプレートが同時に登録されて動作していた場合、温度湿度から導かれるパラメータと利用頻度から導かれるパラメータが相反する設定を推奨するようなことが考えられる。この場合複合機１２０の設定がテンプレートの動作タイミングのたびに書き換えられてしまうなどの動作を不安定にする恐れがある。これを回避するため解析テンプレートのインストール時に、解析テンプレート同士の整合性チェックが行われる。
【００９６】
図１２は管理サーバ１１０のユーザがテンプレート管理部７３０に対し解析テンプレートＡ１を登録しようとした際のインストールのフローチャートである。図１２のフローは、管理サーバ１１０のＣＰＵ２０１が、ＨＤＤ２０４又はＲＯＭ２０２等に格納されたプログラムをＲＡＭ２０３等のメモリに展開して実行することにより実現することができる。
【００９７】
図１２に示した処理を実行することにより、解析テンプレートＡ１に対応するフィルタテンプレートが存在するかの確認を行うことができる。さらに、解析テンプレートＡ１と競合する他の解析テンプレートがないかを判断し、競合が生じないように制御することができる。
【００９８】
テンプレート管理部７３０は解析テンプレートのマニフェスト部を読み込む（Ｓ１２０１）。テンプレート管理部７３０は、解析テンプレートＡ１のＦｒｏｍＤＢＦｉｌｅｎａｍｅ部に記載されているＤＢファイル名について以下の確認を行う（Ｓ１２０２）。テンプレート管理部７３０は、ＴｏＤＢＦｉｌｅｎａｍｅとして定義しているフィルタテンプレートが存在しているかを表テンプレート管理テーブルに記載された登録済みテンプレートの内容に基づいて確認する。すなわち、解析テンプレートＡ１に対応するフィルタテンプレートがテンプレートＤＢ７５０に登録されているかを判定する。言い換えると、解析テンプレートＡ１が解析を行うために必要なログを履歴蓄積ＤＢ７４０から抽出するためのフィルタテンプレートが管理サーバ１１０に登録されているかを判定する。
【００９９】
解析テンプレートＡ１に対応するフィルタテンプレートが登録されていない（Ｓ１２０２においてＮＯ）場合、ステンプレート管理部７３０はステップＳ１２０３に進み登録エラーをユーザに通知する。すなわち、解析テンプレートＡ１はテンプレートＤＢ７５０に登録されない。このように、登録要求がなされた解析テンプレート情報を動作させるための履歴項目を履歴データから抽出するフィルタテンプレート情報が登録されていない場合には、当該解析テンプレート情報の登録を制限する。一方、解析テンプレートＡ１に対応するフィルタテンプレートが登録されている（Ｓ１２０２においてＹＥＳ）場合、テンプレート管理部７３０はステップＳ１２０４に進む。
【０１００】
ステップＳ１２０４では、テンプレート管理部７３０は、解析テンプレートＡ１の識別子と同一の識別子をＣｏｎｔｒｏｌＫｅｙ部に記載している他の解析テンプレートが存在するかを確認する。確認は、表テンプレート管理テーブルが示す登録済みテンプレートに基づいて行われる。
【０１０１】
ステップＳ１２０４においてテンプレート管理部７３０は、解析テンプレートのマニフェスト部を読み込み、解析テンプレートＡ１のＣｏｎｔｒｏｌＫｅｙ部に記載されている複合機ＭＦＰの持つ設定を識別する識別子を読み出す。そして、読みだした識別子に対応する識別子が登録済テンプレートの識別子としてすでに登録されているかを判定する。
【０１０２】
登録されていない（Ｓ１２０４においてＮＯ）場合は、テンプレート管理部７３０は、競合する解析テンプレートが存在しないのでステップＳ１２０８に進む。ステップＳ１２０８においてテンプレート管理部７３０は、解析テンプレートＡ１をテンプレートＤＢ７５０に登録し、解析テンプレートＡ１の実行をスケジュールする。
【０１０３】
解析テンプレートＡ１と競合する解析テンプレート（以下、解析テンプレートＡ２）が登録されている（１２０４においてＹＥＳ）場合は、テンプレート管理部７３０はステップＳ１２０５に進む。
【０１０４】
ステップＳ１２０５ではテンプレート管理部７３０は、解析テンプレートＡ１が解析するログをフィルタリングするフィルタテンプレートを特定する。すなわち、解析テンプレートＡ１が参照するＦｒｏｍＤＢＦｉｌｅｎａｍｅ部に記載のＤＢを生成するフィルタテンプレートを特定する。そして、特定したフィルタテンプレートのＤＢＰｒｉｏｒｉｔｙ部に値が入っているかを確認する。
【０１０５】
特定したフィルタテンプレートのＤＢＰｒｉｏｒｉｔｙ部に値が入っていなければ（Ｓ１２０５でＮＯ）、テンプレート管理部７３０はステップＳ１２０３に進み登録エラーをユーザに通知する。すなわち、解析テンプレートＡ１はテンプレートＤＢ７５０に登録されない。特定したフィルタテンプレートのＤＢＰｒｉｏｒｉｔｙ部に値が入っていた（Ｓ１２０５でＹＥＳ）場合は、テンプレート管理部７３０はステップＳ１２０６に進む。
【０１０６】
ステップＳ１２０６において、テンプレート管理部７３０は、解析テンプレートＡ１の参照するＦｒｏｍＤＢのＤＢＰｒｉｏｒｉｔｙ部の値と、登録済みの解析テンプレートＡ２のＦｒｏｍＤＢのＤＢＰｒｉｏｒｉｔｙ部の値を比較する。本実施形態では、ＤＢＰｒｉｏｒｉｔｙ部の値が大きい方の解析テンプレートが、他の解析テンプレートに優先して適用されるものとする。複数の解析テンプレートの優先度の決定方法についてはこれに限らず、特に限定しない。
【０１０７】
解析テンプレートＡ１のＤＢＰｒｉｏｒｉｔｙ部の値の方が、解析テンプレートＡ２のそれよりも大きければ（Ｓ１２０６でＹｅｓ）、テンプレート管理部７３０は、ステップＳ１２０７に進む。テンプレート管理部７３０は、ステップＡ１２０７において解析テンプレートＡ２を削除した上でステップＳ１２０８に進む。ステップＳ１２０８では、テンプレート管理部７３０は、解析テンプレートＡ１をテンプレートＤＢ７５０に登録し、実行をスケジュールする。
【０１０８】
一方、解析テンプレートＡ２のＤＢＰｒｉｏｒｉｔｙ部の値の方が、解析テンプレートＡ１のそれよりも大きければ（Ｓ１２０６でＮＯ）、テンプレート管理部７３０はステップＳ１２０３に進みＡ１の登録がエラーとなったことをユーザに通知する。すなわち、解析テンプレートＡ１はテンプレートＤＢ７５０に登録されない。
【０１０９】
なお本実施例では、ステップＳ１２０３で同一設定を制御する解析テンプレートが複数見つかったケースや優先度が低い場合は、登録エラーとしたが、登録自体を許可しユーザに対しては警告を出すという形での実現も可能である。
【０１１０】
本実施形態によれば、新たに解析テンプレートを登録しようとした場合に、当該解析テンプレートが必要とするログを履歴ＤＢ７４０から抽出するフィルタテンプレートが存在しない場合には、新たな解析テンプレートが登録されないようにすることができる。
【０１１１】
また本実施形態によれば、新たに解析テンプレートを登録しようとした場合に、当該解析テンプレートと競合する解析テンプレートが存在する場合には、解析テンプレート同士の優先順位に基づいて、新たな解析テンプレートの登録の可否を決定することができる。
【０１１２】
新たに登録しようとする解析テンプレートの優先度が、すでに登録されている競合する解析テンプレートの優先度よりも高い場合には、競合する解析テンプレートを削除して、新たな解析テンプレートを適用することができる。
【０１１３】
また、新たに登録しようとする解析テンプレートの優先度が、すでに登録されている競合する解析テンプレートの優先度よりも低い場合には、新たな解析テンプレートの登録を不可とすることができる。
【０１１４】
（第２の実施の形態）
第１の実施形態では、同一の設定を制御する解析テンプレートを同時にはインストールさせない、または登録させてもワーニングを出すといった仕組みを説明した。本実施形態では、同一の設定を制御する複数の解析テンプレート登録を許可し、どちらかのテンプレートが設定変更の制御動作を実施したタイミングで他のテンプレートの動作を停止させる例について説明する。
【０１１５】
第２の実施形態のシステムのハードウェア構成、及び、ソフトウェア構成は第１の実施形態と同様であるため、説明を省略する。
【０１１６】
本実施形態に係る管理サーバ１１０の動作について、図１３および図１４を用いて説明する。図１３は、サーバ１１０のユーザがテンプレート管理部７３０に対し解析テンプレートＡ１を登録しようとした際のインストールのフローチャートである。図１３のフローは、管理サーバ１１０のＣＰＵ２０１が、ＨＤＤ２０４又はＲＯＭ２０２等に格納されたプログラムをＲＡＭ２０３等のメモリに展開して実行することにより実現することができる。
【０１１７】
ステップＳ１３０１からＳ１３０４までの処理は、実施形態１において図１２を用いて説明したステップＳ１２０１からＳ１２０４までの処理と同様であるため、説明を省略する。
【０１１８】
解析テンプレートＡ１が制御する設定値の識別子に対応する設定値を制御する解析テンプレートＡ２が登録されていない（Ｓ１３０４においてＮＯ）場合は、テンプレート管理部７３０は、競合する解析テンプレートが存在しないのでステップＳ１３０５に進む。ステップＳ１３０５においてテンプレート管理部７３０は、解析テンプレートＡ１をテンプレートＤＢ７５０に登録し、解析テンプレートＡ１の実行をスケジュールする。
【０１１９】
一方、新たに登録する解析テンプレートＡ１と競合する解析テンプレートＡ２が登録されている（１３０４においてＹＥＳ）場合には、テンプレート管理部７３０は、ステップＳ１３０６に進む。
【０１２０】
ステップＳ１３０６において、テンプレート管理部７３０は、解析テンプレートＡ１と解析テンプレートＡ２の動作を監視対象としてテンプレートＤＢ７５０内に記録する。その後、ステップＳ１３０５に進み、解析テンプレートＡ１を登録、実行をスケジュールする。
【０１２１】
次に、インストールされたテンプレートを利用して、ログの収集、分析、及び、分析結果に基づく設定値の制御が実施されるまでの一連の流れを、図１４を使って説明する。
【０１２２】
ステップＳ１４２１で複合機１２０上の各種アプリケーション８５０が動作する。アプリケーション８５０は、例えばコピー、ＦＡＸ、スキャンして送信、プリントなどのアプリケーションである。
【０１２３】
次に複合機１２０上のアプリケーション８５０は、実行したジョブの履歴を履歴ＤＢ８２２に書き込む（Ｓ１４２２）。複合機１２０上の履歴データ送付部８２１は、分析アプリケーション７００に対し書き込んだ履歴をサーバ１１０の履歴収集分析アプリケーション７００に送信する（Ｓ１４２３）。
【０１２４】
データを受信した分析アプリケーション７００の履歴データ管理部７１０は、受信した履歴情報を履歴蓄積ＤＢ７４０に保存する（Ｓ１４０１）。
【０１２５】
テンプレート実行部７３１は、テンプレート管理部７３０の指示に従い、テンプレート毎にマニフェストに記載された起動タイミングが来たらテンプレートを動作するようにタスクが準備されている。
【０１２６】
テンプレート実行部７３１はテンプレート毎に時刻によるタイマ発火や対象ログの書き込みなどテンプレート実行タイミングを待っている（Ｓ１４０２）。実行タイミングになった場合、テンプレート実行部７３１はテンプレート内のスクリプト記載部（１００１、１１０１）に記載された処理を実施する（Ｓ１４０３）。
【０１２７】
テンプレートがフィルタテンプレートである場合は、サマリデータを作成するが、解析テンプレートの場合は解析テンプレートの実行により、複合機１２０の設定値のマスターデータが変更されることがある。設定値の変更を伴う場合には、マッチング結果反映部７３２が、テンプレートに記載のアクションに従って、設定値の変更指示を実施する。
【０１２８】
解析テンプレート内にアクションの記載があった場合には、設定管理アプリケーション６００に変更内容を通知し、設定管理アプリケーション６００が複合機１２０のマスターデータを更新する。
【０１２９】
すなわち、設定変更の通知を受けた設定データ管理部６１０は通知された内容に応じて、デバイス個別設定値ＤＢ５２０、デバイス共通設定値ＤＢ５２１、ユーザ設定値ＤＢ５３０のいずれかのＤＢを更新する（Ｓ１４１１）。
【０１３０】
テンプレート実行部７３１はステップＳ１４０３において、設定変更の実施が行われたかどうかを検知する。設定変更を行ったテンプレートが監視対象のテンプレートであった場合は、テンプレート実行部７３１は、ステップＳ１４０５に進む。
【０１３１】
ステップＳ１４０５では、テンプレート実行部７３１は設定値の変更を実行したテンプレートと競合する解析テンプレートの実行を停止し、実行スケジュールからも削除する。たとえば、解析テンプレートＡ１が設定値の変更を実施した場合は、同一の設定値の制御（ＣｏｎｔｒｏｌＫｅｙ）を宣言している解析テンプレートＡ２の処理がテンプレート実行部７３１により停止され、実行スケジュールから削除される。このようにして、解析テンプレートＡ１の設定内容と、解析テンプレートＡ２の設定内容とが競合する場合には、解析テンプレートＡ２の実行を制限する。例えば、解析テンプレートＡ２の実行を停止し、将来の実行スケジュールからも削除する。
【０１３２】
一方で、複合機１２０の設定値同期管理モジュール８１１は、設定管理アプリケーション６００の設定データ管理部６１０に対して、設定値の更新が無いかをサーバ１１０に問い合わせる（Ｓ１４２４）。問い合わせタイミングは、ポーリングにより定期的に行ったり、ユーザのログイン時に問い合わせたりすることが想定されるがこれに限らない。
【０１３３】
複合機１２０の設定値同期管理モジュール８１１は、前回管理サーバ１１０と設定値を同期した時刻以降の更新差分が無いかを管理サーバ１１０に問い合わせる（Ｓ１４２４）。
【０１３４】
設定管理アプリケーション６００の制御部６２１は、問い合わせを受け（Ｓ１４１２）、通知すべき設定値の更新があればそれを返却する（Ｓ１４１３）。設定値同期管理モジュール８１１は、ステップＳ１４２５で返信を受け、返信に含まれる設定地で、ユーザ設定値ＤＢ８１２またはデバイス設定値ＤＢ８１３のいずれかを更新する（Ｓ１４２６）。
【０１３５】
図１４の例では、ステップＳ１４０５において解析テンプレートＡ１の設定内容と、解析テンプレートＡ２の設定内容とが競合する場合には、解析テンプレートＡ２の実行を制限する。例について説明したが、これに限らない。解析テンプレートＡ１の設定内容と、解析テンプレートＡ２の設定内容とが競合する場合には、解析テンプレートＡ１の実行を制限することとしてもよい。すなわち、ステップＳ１４０５において解析テンプレートＡ１の実行を停止し、将来の実行スケジュールからも削除することとしてもよい。
【０１３６】
以上の処理によれば、複合機１２０でジョブが実行されると、ジョブ履歴が管理サーバ１１０に送信される。管理サーバ１１０は、ジョブ履歴を解析して、解析テンプレートに記載のジョブ履歴パターンが存在するか判定する。そして、解析テンプレートに記載のジョブ履歴パターンが存在する場合には、当該解析テンプレートにおいて指示された設定値の変更をマスターデータ上で行う。
【０１３７】
この際に、解析テンプレートの指示によって変更される設定値を制御する他の解析テンプレートが存在するかを確認し、存在する場合には、当該他の解析テンプレートの動作を停止させる。あるいは、他の解析テンプレートを優先し、他の解析テンプレートと競合することが判明した解析テンプレートの実行を停止させる。このようにして、複数の解析テンプレートにより、同じ設定値が変更されることを防ぐことができる。
【０１３８】
マスターデータにおいて設定値が変更されると、複合機１２０からの問い合わせに応じて当該変更が複合機１２０に通知される。複合機１２０は、問い合わせ結果に基づいて、自身の設定値を更新する。
【０１３９】
このようにして、特定の履歴パターンが発生した場合に、複合機１２０の設定値を変更させることができる。
【０１４０】
（その他の実施形態）
複合機が設定管理アプリケーション６００及び分析アプリケーション７００（又は分析アプリケーション１３００）を有し、管理サーバ１１０として機能することとしてもよい。この場合、この複合機は、管理サーバ１１０として機能すると共に、管理サーバ１１０のクライアントである複合機１２０のうちの１台としても機能することができる。
【０１４１】
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【０１４２】
１１０  管理サーバ
１２０  複合機
５０１  マスターデータ
７２０  通信制御部
７４０  履歴蓄積ＤＢ
７５０  テンプレートＤＢ
【図１】
2019211837.tif 000008
【図２】
2019211837.tif 000009
【図３】
2019211837.tif 000010
【図４】
2019211837.tif 000011
【図５】
2019211837.tif 000012
【図６】
2019211837.tif 000013
【図７】
2019211837.tif 000014
【図８】
2019211837.tif 000015
【図９】
2019211837.tif 000016
【図１０】
2019211837.tif 000017
【図１１】
2019211837.tif 000018
【図１２】
2019211837.tif 000019
【図１３】
2019211837.tif 000020
【図１４】
2019211837.tif 000021