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