(57)【要約】【課題】設定値に基づいて画像を処理する画像処理装置の履歴情報を適切に収集して利用する。【解決手段】画像処理装置２に組み込まれるまたはデータ通信可能な情報処理装置１１０は、画像処理装置２の使用の履歴情報を他のプログラム７５２で利用するために収集して収集データを生成する収集プログラム７５１を含む複数のプログラムを記録可能な記録手段４０４と、予め設定されたタイミングで各プログラムを実行する実行手段７３１と、予め設定されたタイミングでの実行を判断する判断手段Ｓ１２０２と、実行されなかったプログラムをリスケジュールするリスケジュール手段Ｓ１２０９，Ｓ１２１０と、リスケジュールされたプログラムを実行する再実行手段Ｓ１２１１と、を有する。リスケジュール手段Ｓ１２０９は、実行されなかった複数のプログラムを、収集プログラムと収集データを利用する他のプログラムとの実行順が維持されるようにリスケジュールする。【選択図】図１２
2019209507.tif 000002
【特許請求の範囲】
【請求項１】
設定値に基づいて画像を処理する画像処理装置に組み込まれるまたは前記画像処理装置とデータ通信可能な情報処理装置であって、
前記画像処理装置を使用した際の設定値を含む履歴情報を他のプログラムで利用するために収集して収集データを生成する収集プログラムを含む、互いに非同期に個別に実行可能な複数のプログラムを記録可能な記録手段と、
各前記プログラムを予め設定されたタイミングで実行する実行手段と、
前記実行手段により各前記プログラムが予め設定されたタイミングで実行されたかを判断する判断手段と、
前記判断手段により予め設定されたタイミングにて実行されなかったと判断される前記プログラムについての実行をリスケジュールするリスケジュール手段と、
前記リスケジュール手段によりリスケジュールされた前記プログラムを実行する再実行手段と、
を有し、
前記リスケジュール手段は、実行されなかったと判断される複数の前記プログラムについて、前記収集プログラムと前記収集データを利用する前記他のプログラムとの実行順が維持されるようにリスケジュールする、
情報処理装置。
【請求項２】
前記収集データを利用する前記他のプログラムは、前記収集データに応じて前記画像処理装置を使用する際の設定値を変更または通知する解析プログラムである、
請求項１記載の情報処理装置。
【請求項３】
前記再実行手段は、前記画像処理装置による画像処理のための処理についてのバックグラウンドプロセスとして、リスケジュールされたプログラムを実行する、
請求項１または２記載の情報処理装置。
【請求項４】
前記再実行手段は、前記画像処理装置による画像処理のための処理よりも低い優先度で、リスケジュールされたプログラムを実行する、
請求項１から３のいずれか一項記載の情報処理装置。
【請求項５】
前記リスケジュール手段は、実行されなかったと判断されるプログラムを解析し、記述されている他のプログラムまたは記述されている参照データを生成する他のプログラムが、予め設定されたタイミングで実行されなかったプログラムに含まれる場合、前記他のプログラムの後に実行するようにリスケジュールする、
請求項１から４のいずれか一項記載の情報処理装置。
【請求項６】
前記リスケジュール手段は、実行されなかったと判断されるプログラムに前記収集プログラムが含まれる場合、前記収集プログラムの後に前記解析プログラムを実行するようにリスケジュールする、
請求項２記載の情報処理装置。
【請求項７】
前記収集データを利用する前記他のプログラムは、前記収集データへのアクセス時刻が設定されているアプリケーションプログラムである、
請求項１記載の情報処理装置。
【請求項８】
前記リスケジュール手段は、リスケジュールされるプログラムについての実行期限がある場合、現在時刻と実行期限とから前記プログラムの実行についての優先度を設定し、
前記再実行手段は、前記設定手段により設定された優先度で、リスケジュールされたプログラムを実行する、
請求項１または７記載の情報処理装置。
【請求項９】
前記リスケジュール手段は、
現在時刻と実行期限との間にリスケジュールされるプログラムを実行するための期間がない場合、リスケジュールされるプログラムについての優先度を、前記情報処理装置による画像処理のための処理よりも高く設定し、
現在時刻と実行期限との間にリスケジュールされるプログラムを実行するための期間がある場合、リスケジュールされるプログラムについての優先度を、前記情報処理装置による画像処理のための処理よりも低く設定する、
請求項８記載の情報処理装置。
【請求項１０】
設定値に基づいて画像を処理する画像処理装置に組み込まれるまたは前記画像処理装置とデータ通信可能な情報処理装置の制御方法であって、
前記情報処理装置の記録手段において互いに非同期に個別に実行可能に記録される複数のプログラムであって、前記画像処理装置を使用した際の設定値を含む履歴情報を他のプログラムで利用するために収集して収集データを生成する収集プログラムを含む複数のプログラムを予め設定されたタイミングで実行する実行工程と、
前記実行工程により各前記プログラムが予め設定されたタイミングで実行されたかを判断する判断工程と、
前記判断工程により予め設定されたタイミングにて実行されなかったと判断される前記プログラムについての実行をリスケジュールするリスケジュール工程と、
前記リスケジュール工程によりリスケジュールされた前記プログラムを実行する再実行工程と、
を有し、
前記リスケジュール工程は、実行されなかったと判断される複数の前記プログラムについて、前記収集プログラムと前記収集データを利用する前記他のプログラムとの実行順が維持されるようにリスケジュールする、
情報処理装置の制御方法。
【請求項１１】
設定値に基づいて画像を処理する画像処理装置に組み込まれるまたは前記画像処理装置とデータ通信可能な情報処理装置の制御方法をコンピュータに実行させるプログラムであって、
前記情報処理装置の制御方法は、
前記情報処理装置の記録手段において互いに非同期に個別に実行可能に記録される複数のプログラムであって、前記画像処理装置を使用した際の設定値を含む履歴情報を他のプログラムで利用するために収集して収集データを生成する収集プログラムを含む複数のプログラムを予め設定されたタイミングで実行する実行工程と、
前記実行工程により各前記プログラムが予め設定されたタイミングで実行されたかを判断する判断工程と、
前記判断工程により予め設定されたタイミングにて実行されなかったと判断される前記プログラムについての実行をリスケジュールするリスケジュール工程と、
前記リスケジュール工程によりリスケジュールされた前記プログラムを実行する再実行工程と、
を有し、
前記リスケジュール工程は、実行されなかったと判断される複数の前記プログラムについて、前記収集プログラムと前記収集データを利用する前記他のプログラムとの実行順が維持されるようにリスケジュールする、
プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置に組み込まれる情報処理装置、または画像処理装置とデータ通信可能な情報処理装置に関する。
【背景技術】
【０００２】
特許文献１は、プリンタを開示する。プリンタなどの画像処理装置は、画像処理のための設定値に基づいて、プリント、コピー、スキャンなどの画像処理を実行する。ところで、このように設定値に基づいて画像を処理する画像処理装置では、その履歴情報を利用することが考えられる。たとえば画像処理装置を使用する際の設定の初期値を履歴情報に基づいて変更することにより、その後の画像処理装置の使用においてユーザが設定変更の操作をしなければならない設定項目を減らすことができる。特許文献２は、スケジュール設定に基づいて、複数のＷｅｂサーバからログ情報を収集するサーバ管理装置を開示する。このような技術を利用して、画像処理装置に組み込まれる情報処理装置または画像処理装置とデータ通信可能な情報処理装置が、スケジュールに基づいて複数の画像処理装置から履歴情報を収集して利用することが考えられる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１２−０５３４４９号公報
【特許文献２】特開２０００−２０７２５４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、Ｗｅｂサーバとは異なり、画像処理装置は、常に動作しているとは限らない。画像処理装置は、使用しない夜間において電源がオフされている可能性がある。そして、スケジュールの設定時刻がたとえば画像処理装置についての電源のオフ期間中である場合、情報処理装置は、画像処理装置から履歴情報を収集することができない。このように情報処理装置は、設定値に基づいて画像を処理する画像処理装置の履歴情報を適切に収集して利用できるようにすることが求められている。
【課題を解決するための手段】
【０００５】
本発明に係る情報処理装置は、設定値に基づいて画像を処理する画像処理装置に組み込まれるまたは前記画像処理装置とデータ通信可能な情報処理装置であって、前記画像処理装置を使用した際の設定値を含む履歴情報を他のプログラムで利用するために収集して収集データを生成する収集プログラムを含む、互いに非同期に個別に実行可能な複数のプログラムを記録可能な記録手段と、各前記プログラムを予め設定されたタイミングで実行する実行手段と、前記実行手段により各前記プログラムが予め設定されたタイミングで実行されたかを判断する判断手段と、前記判断手段により予め設定されたタイミングにて実行されなかったと判断される前記プログラムについての実行をリスケジュールするリスケジュール手段と、前記リスケジュール手段によりリスケジュールされた前記プログラムを実行する再実行手段と、を有し、前記リスケジュール手段は、実行されなかったと判断される複数の前記プログラムについて、前記収集プログラムと前記収集データを利用する前記他のプログラムとの実行順が維持されるようにリスケジュールする。
【発明の効果】
【０００６】
本発明では、設定値に基づいて画像を処理する画像処理装置の履歴情報を適切に収集して利用することができる。
【図面の簡単な説明】
【０００７】
【図１】本発明の第一実施形態に係る情報処理装置を有する履歴利用システムの一例を示す構成図である。
【図２】図１のクライアント機の構成を表すブロック図である。
【図３】図２の情報処理コントローラユニットの構成を表すブロック図である。
【図４】図１のサーバ機のハードウェア構成の説明図である。
【図５】図１のサーバ機が管理するマスタデータのデータ構造図である。
【図６】図１のサーバ機の設定値管理アプリケーションプログラムの構造図である。
【図７】図１のサーバ機の履歴収集分析アプリケーションプログラムの構造図である。
【図８】図２のクライアント機の機能の一例を示す説明図である。
【図９】図７の履歴収集分析アプリケーションプログラムに基づく処理でのデータの流れの一例を示す図である。
【図１０】図７のフィルタテンプレートの構造例の説明図である。
【図１１】図７の解析テンプレートの構造例の説明図である。
【図１２】図１のサーバ機でのリスケジューリング処理のフローチャートである。
【図１３】本発明の第二実施形態に係る分析データ送付アプリケーションプログラムの構成図である。
【図１４】第二実施形態のサーバ機でのリスケジューリング処理のフローチャートである。
【発明を実施するための形態】
【０００８】
以下、本発明の実施形態について図面を参照しながら詳細に説明する。しかしながら、以下の実施形態に記載されている構成はあくまで例示に過ぎず、本発明の範囲は実施形態に記載されている構成によって限定されることはない。
【０００９】
［第一実施形態］
図１は、本発明の第一実施形態に係る情報処理装置を有する履歴利用システム１の一例を示す構成図である。図１の履歴利用システム１は、ＭＦＰ２に組み込まれた情報処理装置としてのサーバ機１１０、画像形成装置としての複数のＭＦＰ２に組み込まれた複数のクライアント機１２０、およびこれらをデータ通信可能に接続するネットワーク１００、を有する。ＭＦＰ（Ｍｕｌｔｉ  Ｆｕｎｃｔｉｏｎ  Ｐｒｉｎｔｅｒ）２は、画像形成装置の一例である。ＭＦＰ２は、たとえばコピー機能やＦＡＸ機能などの複数種類の機能の処理を実行する。
【００１０】
図２は、図１のクライアント機１２０の構成を表すブロック図である。図２のクライアント機１２０は、設定値に基づいて画像を処理するＭＦＰ２に組み込まれている。クライアント機１２０は、情報処理コントローラユニット２０１、プリンタコントローラユニット２０２、スキャナコントローラユニット２０３、プリンタ２０４、スキャナ２０５、ＵＩ部２０６、を有する。プリンタコントローラユニット２０２は、画像出力デバイスであるプリンタ２０４の動作を制御する。スキャナコントローラユニット２０３は、画像入力デバイスであるスキャナ２０５の動作を制御する。情報処理コントローラユニット２０１は、クライアント機１２０の動作に係る情報処理制御を統括するコントローラであり、ＵＩ部２０６が接続される。
【００１１】
図３は、図２の情報処理コントローラユニット２０１の構成を表すブロック図である。図３の情報処理コントローラユニット２０１は、ＣＰＵ３０１、ＲＯＭ３０２、ＲＡＭ３０３、ＨＤＤ３０４、ネットワークＩ／Ｆ３０５、ユーザＩ／Ｆ３０６、画像処理部３０７、デバイスコントローラＩ／Ｆ３０８、およびシステムバス３０９、を有する。ネットワークＩ／Ｆ３０５は、ネットワーク１００に接続され、ネットワーク１００を介してネットワーク１００上の各装置との間で情報の入出力を行う。ユーザＩ／Ｆ３０６は、表示デバイスおよびタッチパネルデバイスを有するＵＩ部２０６とのインタフェースであり、ＵＩ（Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）部２０６に表示すべき画像データをＵＩ部２０６に対して出力する。ユーザＩ／Ｆ３０６は、ＵＩ部２０６によってユーザにより入力された情報をＣＰＵ３０１に送出する。画像処理部３０７は、プリンタ２０４への出力画像処理やスキャナ２０５からの入力画像処理、画像回転、画像圧縮、解像度変換、色空間変換、階調変換などの処理を行う。デバイスコントローラＩ／Ｆ３０８には、スキャナコントローラユニット２０３およびプリンタコントローラユニット２０２が接続され、デバイスコントローラＩ／Ｆ３０８は、画像データの同期系／非同期系の変換を行う。ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）３０４は、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）プログラム、アプリケーションプログラム、画像データ、各種の設定値を記録する。ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）４０３は、ＣＰＵ３０１の作業領域として用いられる。また、ＲＡＭ３０３は、画像データを一時記録するための画像メモリ領域を提供する。ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）３０１は、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）３０２に格納されているブートプログラムによりＯＳプログラムを起動する。ＣＰＵ３０１は、ＯＳプログラムを実行している状態で、ＨＤＤ３０４に格納されているアプリケーションプログラムを実行する。これにより、ＣＰＵ３０１には、各種の処理機能が実現される。  たとえば、ＣＰＵ３０１には、機能実行時に利用する設定値を保持する機能、機能の実行時の履歴を保持する機能、保持する履歴情報をサーバ機１１０へ送信する機能、が実現される。
【００１２】
図４は、図１のサーバ機１１０のハードウェア構成の説明図である。図４のサーバ機１１０は、ＭＦＰ２とネットワーク１００を通じて通信するコンピュータ装置である。サーバ機１１０は、コントローラユニット４００、操作部４２０、表示部４３０、を有する。コントローラユニット４００は、ＣＰＵ４０１、ＲＯＭ４０２、ＲＡＭ４０３、ＨＤＤ４０４、操作部Ｉ／Ｆ４０５、表示部Ｉ／Ｆ４０６、ネットワークＩ／Ｆ４０７、およびこれらをデータ入出力可能に接続するシステムバス４０８、を有する。操作部Ｉ／Ｆ４０５は、マウス、キーボード等からなる操作部４２０とのインタフェースであり、操作部４２０によってユーザにより入力された情報をＣＰＵ４０１に送出する。表示部Ｉ／Ｆ４０６は、ディスプレイ等からなる表示部４３０に表示すべき画像データを表示部４３０に対して出力する。ネットワークＩ／Ｆ４０７は、ネットワーク１００に接続され、ネットワーク１００を介して、ネットワーク１００に接続されている他の装置との間で情報の入出力を行う。ＨＤＤ４０４は、各種のプログラムおよびデータを記録可能である。ＨＤＤ４０４は、たとえばＯＳプログラム、アプリケーションプログラム、マスタデータ５０１などを記録する。ＲＡＭ４０３は、ＣＰＵ４０１の作業領域として用いられる。ＣＰＵ４０１は、ＲＯＭ４０２に格納されているブートプログラムによりＯＳプログラムを起動する。また、ＣＰＵ４０１は、ＯＳプログラムを実行している状態で、ＨＤＤ４０４に格納されているアプリケーションプログラムを実行する。これにより、ＣＰＵ４０１には、各種の処理機能が実現される。
【００１３】
このような履歴利用システム１では、たとえば、クライアント機１２０は、ＭＦＰ２を使用した際の設定値を含む履歴情報を、サーバ機１１０へ送信する。サーバ機１１０は、複数のクライアント機１２０から取得した履歴情報に基づいて、各ＭＦＰ２についての設定の初期値を生成し、これにより各ＭＦＰ２の初期値を更新する。これにより、履歴利用システム１は、ユーザの利便性の向上に寄与し得る。なお、図１においてサーバ機１１０は、画像形成装置としてのたとえばＭＦＰ２に組み込まれている。この他にもたとえば、サーバ機１１０は、画像形成装置としてのたとえばＭＦＰに組み込まれていないコンピュータ装置として実現されてよい。また、図１のようにサーバ機１１０をＭＦＰ２に組み込む場合、ＭＦＰ２には、サーバ機１１０としての機能とともに、クライアント機１２０としての機能を組み込むとよい。これにより、サーバ機１１０は、それが組み込まれたＭＦＰ２についての履歴情報を、取得して利用することができる。サーバ機１１０は、ネットワーク１００を通じて取得する他のＭＦＰ２の履歴情報とともに、自身が組み込まれたＭＦＰ２の履歴情報を取得することができる。また、サーバ機１１０としての機能とともにクライアント機１２０としての機能が組み込まれたＭＦＰ２は、それ単独で閉じて、組み込まれたＭＦＰ２の履歴情報を取得して利用することもできる。
【００１４】
次に、サーバ機１１０が画像形成装置の履歴情報を取得して利用する例について説明する。図５から図７は、サーバ機１１０の機能の一例を説明するための説明図である。図５は、図１のサーバ機１１０が管理するマスタデータ５０１のデータ構造図である。図６は、図１のサーバ機１１０のための設定値管理アプリケーションプログラム６００のプログラム構造図である。図７は、図１のサーバ機１１０のための履歴収集分析アプリケーションプログラム７００のプログラム構造図である。
【００１５】
図６または図７に示すように、サーバ機１１０には、２つのアプリケーション機能が搭載されている。図６および図７のアプリケーションプログラムは、サーバ機１１０の記録手段としてのＨＤＤ４０４などに記録される。図７の履歴収集分析アプリケーションプログラム７００を実行することにより、ＣＰＵ４０１は、クライアント機１２０で実行されたジョブやユーザの操作の履歴情報を取得して分析する。図６の設定値管理アプリケーションプログラム６００を実行することにより、ＣＰＵ４０１は、履歴収集分析アプリケーションプログラム７００の実行時に生成した分析結果を利用する。ＣＰＵ４０１は、たとえばクラウドの別ストレージに結果を送付する。この他にもたとえば、ＣＰＵ４０１は、ネットワーク１００に接続された情報処理装置の設定の初期値を、履歴の分析結果に基づいて更新する。
【００１６】
図５のマスタデータ５０１は、設定値管理アプリケーションプログラム６００によって管理される。図５のマスタデータ５０１は、サーバ機１１０の記録手段としてのＨＤＤ４０４などに記録される。マスタデータ５０１は、設定の仕様管理を行う設定値仕様管理データベース５１０の仕様情報、設定値編集用表示リソースデータベース５１１の仕様情報、を含む。マスタデータ５０１は、サーバに登録されているＭＦＰ２の情報である登録デバイス管理データベース５１２、そのオプション構成等を管理するデバイス構成情報管理データベース５１３、を含む。マスタデータ５０１は、実際の設定値を管理する、デバイス個別設定値データベース５２０、デバイス共通設定値データベース５２１、ユーザ設定値データベース５３０、を含む。デバイス共通設定値データベース５２１、デバイス個別設定値データベース５２０、ユーザ設定値データベース５３０はいずれも、Ｋｅｙ−Ｖａｌｕｅの組み合わせで表現されるデータ構造を有する。それぞれのデータベースが対象とする設定値は、順番に、管理するすべてのデバイスに共通する設定値、デバイスごとの設定値、ログインするユーザの設定値となる。ここで、デバイスとは、クライアント機１２０が搭載される個別のＭＦＰ２を意味する。
【００１７】
図６の設定値管理アプリケーションプログラム６００は、サーバ機１１０のＲＡＭ３０３、ＨＤＤ３０４、ＲＯＭ３０２のいずれかの記録手段に記録され、ＣＰＵ３０１により実行される。設定値管理アプリケーションプログラム６００は、設定データ管理部６１０、通信制御部６２０、設定データ編集部６３０、を有する。設定データ管理部６１０は、サーバ機１１０のマスタデータ５０１のうち、前述したデバイス個別設定値データベース５２０、デバイス共通設定値データベース５２１、およびユーザ単位の設定値であるユーザ設定値データベース５３０の読み書きを管理する。デバイス個別設定値データベース５２０は、サーバ機１１０と設定値を同期しているクライアント機１２０の数だけ存在する。設定データ管理部６１０が管理するデバイス共通設定値データベース５２１及びデバイス個別設定値データベース５２０は、ＨＤＤ３０４に保存される。通信制御部６２０は、複数のブロックから構成され、ネットワークＩ／Ｆ３０５を介して通信の制御を行う。通信制御部６２０は、クライアント機１２０との設定値同期処理を制御する制御部６２１と、ネットワークＩ／Ｆ３０５を介した通信処理を行う通信処理部６２２とから構成される。設定データ管理部６１０は、通信制御部６２０がクライアント機１２０より設定値更新情報を受信した場合、それをデバイス共通設定値データベース５２１、デバイス個別設定値データベース５２０、およびユーザ設定値データベース５３０に反映させる。た、設定データ管理部６１０は、通信制御部６２０がクライアント機１２０より設定値更新情報取得要求を受信した場合に、クライアント機１２０に対して送信すべき設定値更新情報を作成し、通信制御部６２０に通知する処理を行う。通信制御部６２０は、クライアント機１２０との設定値同期通信を制御する。制御部６２１は、通信処理部６２２がクライアント機１２０から設定値更新情報を受信した場合に、設定値更新情報を設定データ管理部６１０に通知する処理を行う。また、制御部６２１は、通信処理部６２２がクライアント機１２０より設定値更新情報取得要求を受信した場合に、設定データ管理部６１０よりクライアント機１２０の設定値更新情報を取得する。そして、制御部６２１は、取得した設定値更新情報を、クライアント機１２０に送信するよう通信処理部６２２に指示する処理を行う。通信処理部６２２は、先述したクライアント機１２０との通信処理を実行する。設定データ編集部６３０は、ネットワーク１００を通じて設定値の閲覧編集が可能にする通信機能を有する。設定データ編集部６３０は、一般的なＰＣやタブレット等のウェブブラウザからアクセスするための機能を保持している。設定データ編集部６３０は、ブラウザＵＩに設定値編集画面を表示して編集するために、設定値仕様管理データベース５１０、設定値編集用表示リソースデータベース５１１に保持されている情報を利用する。また、登録されているＭＦＰ２の情報は、登録デバイス管理データベース５１２に保持されている。ライセンスやハード構成等の情報は、デバイス構成情報管理データベース５１３に保持されている。設定データ編集部６３０は、設定値の表示非表示や編集禁則条件などのためにこれらのデータベースを参照する。設定データ編集部６３０は、ブラウザＵＩからの指示を受けると、設定データ管理部６１０を介して各データベースの値を読み書きする。
【００１８】
図７の履歴収集分析アプリケーションプログラム７００は、サーバ機１１０のＲＡＭ３０３、ＨＤＤ３０４、ＲＯＭ３０２のいずれかの記録手段に記録され、ＣＰＵ３０１により実行される。履歴収集分析アプリケーションプログラム７００は、履歴データ管理部７１０、サマリデータ管理部７１１、通信制御部７２０、テンプレート管理部７３０、テンプレート実行部７３１、結果反映部７３２、を有する。履歴データ管理部７１０は、履歴蓄積データベース７４０の読み書きを管理する。サマリデータ管理部７１１は、収集データとししてのサマリを保持するサマリデータベース７４１の読み書きを管理する。通信制御部７２０は、複数のブロックから構成され、ネットワークＩ／Ｆ３０５を介して通信の制御を行う。通信制御部７２０は、クライアント機１２０から送付されるログ情報を解釈する制御部７２１と、ネットワークＩ／Ｆ３０５を介した通信処理を行う通信処理部７２２とから構成される。テンプレート管理部７３０は、履歴データやサマリデータの分析に必要な情報が保持されたテンプレートデータベース７５０の管理を行う。テンプレート管理部７３０は、テンプレートのインストールやアクティベートが管理される。テンプレートは、プログラムの一種である。テンプレート管理部７３０は、サーバ機１１０のＵＩ部２０６、またはネットワークＩ／Ｆ３０５を介したウェブアプリケーションを使って、サーバ機１１０のユーザとの間にインタラクションを持つ。テンプレート管理部７３０は、テンプレートの登録、更新、削除および現在登録されているテンプレートの状態確認などの管理を実行する。たとえば、テンプレート管理部７３０は、テンプレートの新規登録や動作停止、およびインストール時には該当のテンプレートが動作か可能かなどを判断する。テンプレートデータベース７５０には、複数のテンプレートを登録できる。図７のテンプレートデータベース７５０は、たとえば、フィルタテンプレート７５１と、解析テンプレート７５２との２種類のテンプレートを有する。テンプレートデータベース７５０には、それぞれが個別の設定変更処理を実施する複数組のフィルタテンプレート７５１および解析テンプレート７５２を登録できる。ユーザは、ＭＦＰ２の利用履歴に基づいて適応的に更新したい設定がある場合、その設定ごとに、複数組のフィルタテンプレート７５１および解析テンプレート７５２を登録することができる。テンプレート実行部７３１は、テンプレートデータベース７５０に保持されたテンプレートに従って処理を実施する。テンプレートは、テンプレート実行部７３１が実行する処理内容を記述したテンプレートである。テンプレートには、たとえば、ＳＱＬでデータベースに対するデータの読み書き処理、スクリプトによるデータの集計、加工および解析の処理、解析結果を設定に反映する通知処理、を記述できる。テンプレートの具体的な記述内容は、ユーザにより変更可能である。
【００１９】
図７のテンプレートデータベース７５０は、フィルタテンプレート７５１と、解析テンプレート７５２との２種類のテンプレートを有する。フィルタテンプレート７５１には、履歴蓄積データベース７４０の情報を取得して分析しサマリデータベース７４１に書き込む処理が記述されている。フィルタテンプレート７５１は、テンプレート実行部７３１により実行される収集プログラムである。解析テンプレート７５２には、フィルタテンプレート７５１によって生成されたサマリデータベース７４１の情報を取得して分析し、その分析結果に応じた設定による変更を結果反映部７３２に指示する処理が記述されている。解析テンプレート７５２は、テンプレート実行部７３１により実行される解析プログラムである。解析テンプレート７５２は、複数のフィルタテンプレート７５１の解析結果を用いて設定変更処理を実施する処理が記述されていてよい。結果反映部７３２は、指示された設定変更を、たとえば前述の設定値管理アプリケーションプログラム６００といった履歴分析結果利用アプリケーションに通知する。この場合、結果反映部７３２は、設定値管理アプリケーションプログラム６００に設定変更を通知する。設定値管理アプリケーションプログラム６００を実行するＣＰＵ４０１は、この通知をトリガにしてデバイス共通設定値データベース５２１を更新する。これにより、クライアント機１２０の設定が変更される。
【００２０】
図８は、クライアント機１２０の機能の一例を示す説明図である。クライアント機１２０は、設定データ管理部８１０、設定データ同期処理部８１１、履歴データ管理部８２０、履歴データ送付部８２１、通信処理部８６０、を有する。これらの各機能に対応するプログラムは、クライアント機１２０のＲＡＭ３０３、ＨＤＤ３０４、ＲＯＭ３０２のいずれかの記録手段に記録され、ＣＰＵ３０１により実行される。クライアント機１２０は、ユーザ設定値データベース８１２、デバイス設定値データベース８１３、履歴データベース８２２、を有する。ユーザ設定値データベース８１２は、クライアント機１２０が組み込まれるＭＦＰ２の動作に必要な設定データを、ログインユーザに紐づけて保持する。デバイス設定値データベース８１３は、クライアント機１２０が組み込まれるＭＦＰ２の動作に必要な設定データを、デバイスとしてのＭＦＰ２に紐づけて保持する。設定データ管理部８１０は、ユーザ設定値データベース８１２、デバイス設定値データベース８１３、を管理する。履歴データベース８２２は、ＭＦＰ２により画像処理を実施した際の操作および処理の履歴を保持する。履歴データ管理部８２０は、履歴データベース８２２を管理する。通信処理部８６０は、サーバ機１１０の設定値管理アプリケーションプログラム６００と、履歴収集分析アプリケーションプログラム７００と、通信する。設定データ同期処理部８１１は、通信処理部８６０を通してサーバ機１１０と通信し、取得したデータによりユーザ設定値データベース８１２およびデバイス設定値データベース８１３を更新する。これにより、ユーザ設定値データベース８１２およびデバイス設定値データベース８１３のデータは、設定値管理アプリケーションプログラム６００のデータベースと同期される。履歴データ送付部８２１は、通信処理部８６０を通してサーバ機１１０と通信し、履歴データベース８２２の履歴情報を、履歴収集分析アプリケーションプログラム７００に送信する。履歴データベース８２２は、ＭＦＰ２の記録手段を利用している。履歴データ送付部８２１は、ＭＦＰ２の記録手段を占有しないように、新たな履歴が記録手段に書き込まれたら即座に、その履歴情報を履歴収集分析アプリケーションプログラム７００に送信する。これにより、サーバ機１１０の履歴蓄積データベース７４０には、ＭＦＰ２を使用した際の設定値を含む履歴情報が蓄積される。また、ＭＦＰ２の記録手段から履歴情報を削除し得るようになる。ＭＦＰ２の記録手段は、複数の履歴情報により占有され難くなる。この他にも、図８のクライアント機１２０には、設定データや履歴データをＵＩ部２０６に表示して閲覧するための表示アプリケーションである表示部８３０、ユーザを識別するためのログイン処理を実施するユーザ認証部８４０、が図示されている。また、図８のクライアント機１２０には、クライアント機１２０においてはコピー、ＦＡＸ、ＳＥＮＤ、プリントなどの処理を実行する複数のアプリケーション８５０、が図示されている。アプリケーション８５０は、それに対応するプログラムがＣＰＵ３０１により実行される。これにより、ＣＰＵ３０１は、設定データ管理部８１０を通してユーザ設定値データベース８１２およびデバイス設定値データベース８１３から設定の初期値を読み書きする。また、ＣＰＵ３０１は、処理結果を履歴データ管理部８２０を通して履歴データベース８２２に実行した設定値を書き込む。
【００２１】
図９は、サーバ機１１０の図７の履歴収集分析アプリケーションプログラム７００に基づく処理でのデータの流れを示した図である。図９を用いて、フィルタテンプレート７５１に基づくＣＰＵ４０１の処理と、解析テンプレート７５２に基づくＣＰＵ４０１の処理と、の一例について説明する。フィルタテンプレート７５１に基づくＣＰＵ４０１の処理では、履歴蓄積データベース７４０からデータを取得し、取得したデータに基づいて生成した履歴のデータをサマリデータベース７４１に書き込む。解析テンプレート７５２に基づくＣＰＵ４０１の処理では、サマリデータベース７４１からデータを取得し、取得したデータに基づいて生成した設定値を、結果反映部７３２に通知する。このように、履歴を一度フィルタすることにより、データ構造を変更して、解析処理に適したデータを生成することができる。解析処理において履歴蓄積データベース７４０から逐次データを取得する必要がない。履歴蓄積データベース７４０と、結果反映部７３２による設定値の反映処理とを、同時に使用しなくてよい。図９の例では、第一のフィルタテンプレート９０１の処理において、ＣＰＵ４０１は、履歴蓄積データベース７４０からデータを取得して加工し、加工結果を第一のサマリ９３１としてサマリデータベース７４１に保存する。第一の解析テンプレート９１１の処理において、ＣＰＵ４０１は、第一のサマリ９３１を取得して分析し、フィードバックが必要な設定値などの内容があれば結果反映部７３２に通知する。また、第二の解析テンプレート９１２の処理において、ＣＰＵ４０１は、第一の解析テンプレート９１１と同様に第一のサマリ９３１からデータ取得して分析し、フィードバックが必要な設定値などの内容があれば結果反映部７３２に通知する。このように１つのサマリは、複数の解析テンプレート７５２の処理に利用してよい。また、図９の別の例では、第二のフィルタテンプレート９０２が生成した第二のサマリ９３２に基づいて、第三のフィルタテンプレート９２１によりさらに別の第三のサマリ９３３が生成される。たとえば第三の解析テンプレート９１３が利用する第二のサマリ９３２が１時間周期で集計されたデータであり、第四の解析テンプレート９２２が利用する第三のサマリ９３３が１日単位の集計データという場合が想定し得る。このように元のデータが同じであっても解析しやすさのために、サマリをさらに一段加工したものを利用できるように、フィルタテンプレート７５１を多段で設けて、サマライズすることも可能である。このように一度サマリという形でデータ量を減らし、かつ正規化することで、サーバ機１１０は、大量に発生する履歴情報をそのまま全て永続的に保持する必要がなくなる。サーバ機１１０は、必要な情報だけを後で処理しやすい形で保持することが可能になる。しかも、サマライズされたデータは、利用する複数の解析テンプレート７５２において容易に利用することができるデータへ変換されている。ユーザは、適宜所望のフィルタテンプレート７５１や解析テンプレート７５２を追加したり更新したりすることで、図９のような任意のデータ処理構造を実現できる。ユーザは、さまざまな解析と制御とを容易に組み替えることができる。
【００２２】
次に、フィルタテンプレート７５１および解析テンプレート７５２の具体例を説明する。図１０は、フィルタテンプレート７５１の構造の一例の説明図である。図１０のフィルタテンプレート７５１は、スクリプト記載部１００１と、管理情報のマニフェスト記載部１００２との２つのファイルからなる。スクリプト記載部１００１は、様々なサーバ環境で実行できるようＪａｖａＳｃｒｉｐｔ（登録商標）のような汎用的なスクリプト言語で記載することが望ましい。同様に、スクリプト記載部１００１は、履歴蓄積データベース７４０からのデータ読み出し処理を、ＳＱＬ文で記載することが望ましい。図１０のフィルタテンプレート７５１は、履歴蓄積データベース７４０に蓄積されたプリントジョブのログデータとして下記表１に示す履歴蓄積データが存在する場合の例である。表１の履歴蓄積データにおいて各行は、実際に印刷を実行したプリントジョブに対応する。各プリントジョブのログは、少なくとも実行日、開始時刻、終了時刻、印刷ファイル名、ユーザ名、カラーモノクロの別、印刷枚数、終了ステータスなどの画像形成処理の情報を有する。図１０のスクリプト記載部１００１には、表１の履歴蓄積データを読み込んで、サマリデータベース７４１に表２のサマリデータを生成する処理が記述されている。表２のサマリデータには、１日毎のレコードに、出力枚数の集計データが登録される。
【００２３】
【表１】
2019209507.tif 000003
【００２４】
【表２】
2019209507.tif 000004
【００２５】
図１１は、解析テンプレート７５２の構造の一例の説明図である。解析テンプレート７５２は、スクリプト記載部１１０１と、管理情報のマニフェスト記載部１１０２との２つのファイルからなる。図１１のスクリプト記載部１１０１には、表２のサマリデータを読み込んで、月毎のカウントを集計し、その結果が閾値を超えた場合にＭＦＰ２の設定を変更する処理が記述されている。
【００２６】
マニフェスト記載部１００２，１１０２には、テンプレート管理部７３０が管理上必要とする各種情報が記載される。マニフェスト記載部１００２，１１０２には、ＪＳＯＮ（ＪａｖａＳｃｒｉｐｔ  Ｏｂｊｅｃｔ  Ｎｏｔａｔｉｏｎ）のような汎用データ構造の表現可能なフォーマットを用いることができる。表３は、フィルタテンプレート７５１のマニフェスト記載部１００２の記述内容の例である。表４は、解析テンプレート７５２のマニフェスト記載部１１０２の記述内容の例である。これらのマニフェスト記載部１００２，１１０２には、識別子として、テンプレート名（ＳｃｅｎａｒｉｏＮａｍｅ）、スクリプト記載部が記載されたファイル名（ＳｃｒｉｐｔＦｉｌｅｎａｍｅ）、バージョン（Ｖｅｒｓｉｏｎ）、が記述される。マニフェスト記載部１００２，１１０２には、データアクセス情報が記載される。データアクセス情報は、書き込むデータベース名（ＴｏデータベースＦｉｌｅｎａｍｅ）、書き込みデータベースの最大サイズ（ＴｏデータベースＳｉｚｅ）、読み出すデータベース（ＦＲＯＭデータベースＦｉｌｅｎａｍｅ）、である。マニフェスト記載部１００２，１１０２には、実行タイミングの指示情報（ＥｘｅｃｕｔｅＴｉｍｅ、ＥｘｅｃｕｔｅＴｉｍｅＦｏｒｍａｔ）が記載される。また、フィルタテンプレート７５１のマニフェスト記載部１００２には、さらに、読み出すデータベースと、書き込むデータベースの両方の定義が記述される。これに対し、解析テンプレート７５２マニフェスト記載部１１０２には、書き込むデータベースが存在せず、代わりに制御を実行する設定値項目（ＣｏｎｔｒｏｌＫｅｙ）が記載される。また、ＡｒｇＯｂｊは、スクリプト記載部に対して外部から与えて、スクリプト記載部で利用する変数である。このようにテンプレートのマニフェスト記載部１００２，１１０２には、ＪＳＯＮ形式などにより複数の項目を記載できる。たとえば、実行タイミングについては、上記の例では毎日０：００の実行時刻をＵＮＩＸ（登録商標）のｃｒｏｎ形式で記載しているが、デバイス起動時、ジョブ終了時などのようなクライアント機１２０内で発生するイベントを記載することも可能である。
【００２７】
【表３】
2019209507.tif 000005
【００２８】
【表４】
2019209507.tif 000006
【００２９】
そして、表３のフィルタテンプレート７５１のマニフェスト記載部１００２と、表４の解析テンプレート７５２のマニフェスト記載部１１０２とは、テンプレート管理部７３０により、テンプレートデータベース７５０のテンプレート登録テーブルに登録される。管理部７３０は、テンプレートの登録・更新・削除などを実施する。管理部７３０は、解析テンプレート７５２などを登録する際に、テンプレートに記述されたアクセス先のファイルが存在の有無をチェックする。表５は、テンプレート管理テーブルの一例である。表５では、各列が、テンプレートマニフェストに対応する。各列のテンプレートのマニフェストには、表３や表４の情報に加えて、実際の処理タイミングと、過去の実行結果とが記載されている。
【００３０】
【表５】
2019209507.tif 000007
【００３１】
テンプレートが登録されると、テンプレート管理部７３０は、テンプレートの実行をスケジュールする。テンプレート管理部７３０は、登録されたマニュフェストのＥｘｅｃｕｔｅＴｉｍｅに記載のタイミングを、該当テンプレートのスクリプトの実行タイミングとして登録する。履歴を解析する処理は、１日１回程度でのバッチ処理で充分である。このため、テンプレートのマニュフェストには、ユーザがＭＦＰ２を動作させない深夜時間帯などが指定されることが望ましい。しかしながら、サーバ機１１０がたとえばＭＦＰ２である場合のように、夜間は機器の電源を切る運用のユーザもいる。この場合、テンプレートのスクリプト処理は、マニュフェストに記述される予定時刻のタイミングで実行できない可能性がある。そして、テンプレートのスクリプト処理は、ユーザがサーバ機１１０を動作させている期間においてリスケジュールする必要がある。しかしながら、ユーザの使用時間帯においてテンプレートをリスケジュールした場合、以下のような課題が生じ得る。１つめの課題は、複数のテンプレートの実行は非同期に実施され、また、各テンプレートがそれぞれについて個別に設定された時刻に実行されることに起因する。この場合、電源が落とされるタイミングによっては、一連のバッチ処理を実施するための複数のテンプレートのうちの一部のみが実施され、残りが未実施となる可能性がある。このような事態が生じたとしても、適切に一連のバッチ処理が実施し終えるように、未実施のテンプレートを抽出する必要がある。また、未実施のテンプレートが複数ある場合、それらの間での実行順を守る必要がある。２つめの課題は、リスケジュールされたテンプレートが、ユーザ操作と並行して実施されることに起因する。この場合、リスケジュールされたテンプレートと、ユーザ操作による画像処理とが競合する。リスケジュールされたテンプレートにて処理するデータ量が多い場合、または複雑な分析を実施する場合、その間においてＣＰＵ４０１などの処理負荷が増大し、ユーザ操作による画像処理が実施できなくなる可能性がある。ユーザによる動作に影響を及ぼす可能性がある。本実施形態では、これらの課題が生じ難くしている。以下、詳しく説明する。
【００３２】
図１２は、リスケジューリング処理のフローチャートである。サーバ機１１０のＣＰＵ４０１は、サーバ機１１０の電源か投入されて起動した際に、テンプレート管理部７３０として、図１２の処理を開始する。ステップＳ１２０１において、リスケジュール手段としてのテンプレート管理部７３０は、テンプレートデータベース７５０に登録されているテンプレート管理テーブルで示される内容の全テンプレート情報を確認する。具体的には、ステップＳ１２０２において、テンプレート管理部７３０は、各テンプレートについて前回の定刻起動において実施できたか否かを判断する。テンプレート管理部７３０は、各テンプレート情報のＮｅｘｔＥｘｅｃｕｔｅＴｉｍｅまたはＬａｓｔＥｘｅｃｕｔｅＴｉｍｅと、現在時刻とを照らし合わせる。たとえばＮｅｘｔＥｘｅｃｕｔｅＴｉｍｅとＬａｓｔＥｘｅｃｕｔｅＴｉｍｅとが異なり、かつＮｅｘｔＥｘｅｃｕｔｅＴｉｍｅが現在時刻より前の過去の時刻である場合、テンプレート管理部７３０は、該テンプレートが定刻に実施されていないと判断する。これ以外の場合には、テンプレート管理部７３０は、該テンプレートが前回の定刻起動において実施できたと判断する。定刻実施できている場合、ステップＳ１２０４において、テンプレート管理部７３０は、該テンプレートについての次回の定刻起動をスケジュールする。定刻実施できていない場合、ステップＳ１２０４において、テンプレート管理部７３０は、該テンプレートを、非定刻実行リストに積む。テンプレート管理部７３０は、全ての登録テンプレートについて以上の処理を繰り返す。これにより、非定刻実行リストには、サーバ機１１０の電源か投入される前に定刻起動ができなかったすべてのテンプレートが登録される。
【００３３】
ステップＳ１２０５において、テンプレート管理部７３０は、非定刻実行リストに１件以上のエントリがあるかを確認する。エントリがない場合、テンプレート管理部７３０は、図１２の処理を終了する。非定刻実行リストに１件以上のエントリがある場合、ステップＳ１２０６において、テンプレート管理部７３０は、非定刻実行リストに登録されたすべてのテンプレートを確認する。ステップＳ１２０７において、テンプレート管理部７３０は、非定刻実行リストに登録された未処理のテンプレートを処理対象Ａとして選択する。ステップＳ１２０８において、テンプレート管理部７３０は、処理対象Ａのテンプレートについてテンプレートデータベース７５０に登録されている表５のテンプレート管理テーブルのＰｒｅＴａｓｋに記載されたテンプレートの情報を取得する。そして、テンプレート管理部７３０は、取得したテンプレートが非定刻実行リストに存在するか否かを確認する。テンプレート管理部７３０は、非定刻実行リストに存在するテンプレートを、処理対象Ｂとして選択する。処理対象Ｂのテンプレートが非定刻実行リストに存在しない場合、ステップＳ１２１０において、テンプレート管理部７３０は、処理対象Ａのテンプレートを、実行リストに登録する。処理対象Ｂのテンプレートが非定刻実行リストに存在する場合、ステップＳ１２０９において、テンプレート管理部７３０は、処理対象Ａのテンプレートを、処理対象Ｂのテンプレートの後に実施するように実行リストを更新する。テンプレート管理部７３０は、非定刻実行リストにエントリされている全てのテンプレートについて以上の処理を繰り返す。これにより、テンプレート管理部７３０は、定刻実施されなかったすべてのテンプレートを１つずつ順番に実施する実行リストを生成する。特に、実施順に規制がある複数のテンプレートについては、テンプレート管理部７３０は、その順番で実施する実行リストを生成する。たとえば、テンプレート管理部７３０は、実行されなかったと判断されるテンプレートを解析し、それに記述されている他のテンプレートまたは参照データを生成する他のテンプレートが、実行されなかったテンプレートに含まれるか否かを判断する。そして、含まれている場合、テンプレート管理部７３０は、他のテンプレートの後に解析対象のテンプレートを実行するようにリスケジュールする。ここで、参照データは、たとえばサマリである。
【００３４】
ステップＳ１２１１において、再実行手段としてのテンプレート実行部７３１は、実行リストの登録順で、複数の未実施のテンプレートのスクリプト処理を１つずつ順番に実行する。テンプレート実行部７３１は、ユーザの画像処理よりも低いタスク優先度により、複数のテンプレートのスクリプト処理を１つずつ順番に実行する。これにより、テンプレート実行部７３１は、ユーザの画像処理のバックグラウンド処理として、複数のテンプレートのスクリプト処理を１つずつ順番に実行する。タスクの実行についての優先度が低いとは、具体的には、実行タスクの優先度を他より下げて実施したり、ある程度の処理の後にスリープを挟んだ完結的な処理で実施したりすることをいう。これにより、複数の未実施のテンプレートのスクリプト処理は、競合する他のタスクの処理を、なるべく妨げないように実行され得る。また、テンプレート実行部７３１は、ステップＳ１２０４で非定刻実行リストに登録されていないテンプレートの処理が定刻時刻となったとしても、ステップＳ１２１１の処理完了後に実施する。このような一連のリスケジュール処理により、複数のテンプレートを、それらの間での実行順を維持して順番に実施することができる。
【００３５】
以上のように、本実施形態では、互いに非同期に個別に実行可能な複数のテンプレートが予め設定されたタイミングで実行されなかった場合、サーバ機１１０の再起動後にそのことを判断する。そして、テンプレートについての実行をリスケジュールする。よって、サーバ機１１０は、複数のテンプレートを予め設定されたタイミングで実行できなくても、その後の再起動後に１つずつ順番に実行し、設定値に基づいて画像を処理するＭＦＰ２から履歴情報を適切に収集して利用することができる。しかも、予め設定されたタイミングで実行されなかったテンプレートに、フィルタテンプレート７５１が含まれる場合、フィルタテンプレート７５１とそのサマリを利用する他のプログラムとの実行順が維持されるようにリスケジュールする。ここで、フィルタテンプレート７５１は、ＭＦＰ２を使用した際の設定値を含む履歴情報を他のプログラムで利用するために収集してサマリを生成するプログラムである。また、サマリを利用する他のプログラムは、たとえば実行手段により実行されて、サマリに応じてＭＦＰ２を使用する際の設定の初期値を変更または通知する解析テンプレート７５２である。よって、サマリを利用する他のプログラムとしての解析テンプレート７５２は、ＭＦＰ２についての最新の履歴情報に基づいてフィルタテンプレート７５１が生成した最新のサマリを適切に利用することができる。他のプログラムとしての解析テンプレート７５２は、フィルタテンプレート７５１が実行されていない状況下で、フィルタテンプレート７５１が前回以前の過去に生成したサマリを再度利用しないようにできる。このように本実施形態では、設定値に基づいて画像を処理するＭＦＰ２の履歴情報を適切に収集して利用することができる。本実施形態では、テンプレート実行部７３１は、たとえばＭＦＰ２による画像処理のための処理よりも低い優先度でリスケジュールされたテンプレートを実行する。テンプレート実行部７３１は、ＭＦＰ２による画像処理のための処理についてのバックグラウンドプロセスとして、リスケジュールされたテンプレートを実行する。よって、ＭＦＰ２による画像処理のための処理を、リスケジュールされたテンプレートの実行により遅延させたり疎外したりしないようにできる。ユーザがＭＦＰ２を用いる場合に、その処理に影響を与え難くできる。本実施形態では、テンプレート管理部７３０は、たとえばフィルタテンプレート７５１が実施されていない場合、フィルタテンプレート７５１の実行が完了した後に、そのサマリを利用する解析テンプレート７５２が実行されるようにリスケジュールする。よって、複数のテンプレートである、フィルタテンプレート７５１と、そのサマリを利用する解析テンプレート７５２とは、その順番を守って適切に実行され得る。
【００３６】
［第二実施形態］
次に、本発明の第二実施形態に係る情報処理装置を有する履歴利用システム１について説明する。以下の説明では、主に第一実施形態との相違点について説明する。第一実施形態では、履歴蓄積データベース７４０の履歴情報を収集するフィルタテンプレート７５１とともに、フィルタテンプレート７５１が生成したサマリを利用する他のプログラムとして解析テンプレート７５２を用いる例を説明した。そして、フィルタテンプレート７５１と、他のプログラムである解析テンプレート７５２とは、テンプレート管理部７３０により共通に実行が管理されている。第二実施形態では、サマリを利用する他のプログラムの別の例として、クラウドサーバなどの別のログ集計サーバへ分析データを送付する、分析データ送付アプリケーションプログラム１３００の例を説明する。分析データ送付アプリケーションプログラム１３００は、テンプレート管理部７３０により実行が管理されているものではなく、テンプレート管理部７３０とは別に独立して実行されるプログラムである。分析データ送付アプリケーションプログラム１３００は、履歴収集分析アプリケーションプログラム７００とは別のアプリケーションプログラムである。
【００３７】
図１３は、本発明の第二実施形態に係る分析データ送付アプリケーションプログラム１３００の構成図である。ＣＰＵ４０１は、分析データ送付アプリケーションプログラム１３００を実行する。図１３の分析データ送付アプリケーションプログラム１３００は、データ送付部１３０１、分析動作登録部１３０２、分析結果取得部１３０３、通信制御部１３２０、を有する。分析動作登録部１３０２は、履歴収集分析アプリケーションプログラム７００のテンプレート管理部７３０に対して、自身が作成を依頼したいデータのテンプレートを登録する。履歴収集分析アプリケーションプログラム７００のテンプレート管理部７３０は、分析動作登録部１３０２の指示に基づいて、図１３の分析データ送付アプリケーションプログラム１３００を、テンプレート管理テーブルに登録する。この場合、表５のテンプレート管理テーブルには、下記表６のテンプレート管理テーブルが追加される。分析結果取得部１３０３は、ポーリングなど特定のタイミングで履歴収集分析アプリケーションプログラム７００のテンプレートが生成するサマリデータベース７４１にアクセスする。これにより、分析結果取得部１３０３は、たとえば設定値管理アプリケーションプログラム６００により生成されたデータを取得する。データ送付部１３０１は、取得されたデータを、通信制御部１３２０を介して、クラウドなど外部サーバに送付する。
【００３８】
【表６】
2019209507.tif 000008
【００３９】
第一実施形態では、図７で説明したようにテンプレートの分析結果を設定値の変更指示として結果反映部７３２を介して設定値管理アプリケーションプログラム６００に通知した。第二実施形態では、結果反映部７３２は動作せず、フィルタテンプレート７５１の作成したデータは、あらかじめ決められたタイミングで、分析データ送付アプリケーションプログラム１３００により直接アクセスして読み出して利用される。このような構成にすることで、テンプレート実行部７３１の制御下にない履歴収集分析アプリケーションプログラム７００であっても、アプリケーションのタイミングにおいてサマリデータベース７４１の情報を参照して利用することができる。しかしながら、この場合には第一実施形態で前述したような非定刻起動で処理が実施されると分析データ送付アプリケーションプログラム１３００がデータを読み出す際に、欲しいデータがまだ生成されていなことが想定され得る。これをなるべく回避するためにテンプレートデータベース７５０に登録されているテンプレート管理テーブルは、表６のように拡張されている。具体的には、第二実施形態の表６では、第一実施形態の表５と比べて、以下の点が異なる。表６では、アプリケーション名を示すＡｐｐｌｉｃａｔｉｏｎフィールドと、アプリケーションが作成データにアクセスするタイミングを示すＡｐｐｌｉｃａｔｉｏｎＡｃｃｅｓｓＴｉｍｅと、が追加されている。また、表６では、データ形式を示すＡｐｐｌｉｃａｔｉｏｎＡｃｃｅｓｓＴｉｍｅＦｏｒｍａｔ、が追加されている。また、表６の例は、サマリデータベース７４１であるＳｕｍｍａｒｙ＿ＰｒｉｎｔＣｏｕｎｔ＿ｆｏｒＣｌｏｌｄ．データベースというデータベースに対して、集計を毎晩０時に実施し、アプリケーションは毎朝８時に集計結果を読み出すというものである。
【００４０】
図１４は、第二実施形態におけるリスケジューリング処理のフローチャートである。図１４のリスケジューリング処理は、サーバ機１１０の起動時に、ＣＰＵ４０１により実行される。図１４においてステップＳ１４０１までの処理は、図１２と同様である。第二実施形態では、図１２のステップＳ１２１１の代わりに、ステップＳ１４０１を実行する。ステップＳ１４０１において、ＣＰＵ４０１は、非定刻の実行リストの前後関係と実行順を加味し、アプリケーションが欲するデータが作成される処理終了までの時間を見積もり、閾値を決定する。閾値は、たとえば非定刻の実行リストに登録されているすべてのテンプレートの予定実行完了時間でよい。または、閾値は、たとえば非定刻の実行リストに登録されている複数のテンプレートを順番に実行した場合での、上述した処理対象のテンプレートの予定実行完了時間でよい。ステップＳ１４０２において、ＣＰＵ４０１は、表６のテンプレート管理テーブルのＡｐｐｌｉｃａｔｉｏｎＡｃｅｓｓＴｉｍｅを確認し、現在時刻と比較する。なお、複数のアプリケーションのＡｐｐｌｉｃａｔｉｏｎＡｃｅｓｓＴｉｍｅが指定されている場合は、個別に比較しても、現在時刻から見て直近のＡｐｐｌｉｃａｔｉｏｎＡｃｅｓｓＴｉｍｅのみについて比較してもよい。そして、ステップで決定した閾値よりも早くアプリケーションのアクセス時刻に到達する場合、ＣＰＵ４０１は、ステップＳ１４０３において、実行リストに登録されている複数のテンプレートの処理の実行優先度を高に設定する。アクセス時刻が閾値以上であり処理に余裕のある場合、ＣＰＵ４０１は、ステップＳ１４０４において、バックグラウンドプロセスを意識して優先度を低に設定する。ここで、優先度の高低は、たとえばユーザが画像処理を実施する優先度を基準とすればよい。その後、ＣＰＵ４０１は、ステップＳ１４０５において、それぞれで決定した優先度において非定刻の実行リストのテンプレート群を一つずつ順番に実行する。実行優先度が高である場合、実行タスクの優先度は他の処理と同等以上となる。ＣＰＵ４０１は、非定刻の実行リストのテンプレート群を、他の処理より優先して実行する。非定刻の実行リストのテンプレート群についての実施は、短時間で早期に完了する。実行優先度が低である場合、実行タスクの優先度は他の処理より低くなる。ＣＰＵ４０１は、たとえばある程度の処理の後にスリープを挟んで簡潔的に実施したり、競合する他のタスクを優先して実行したりする。このように本実施形態のサーバ機１１０は、テンプレート管理部７３０が実行を管理していない分析データ送付アプリケーションプログラム１３００がサマリデータベース７４１にアクセスするタイミングに間に合うようにテンプレートを実行する。これにより、分析データ送付アプリケーションプログラム１３００は、定刻にテンプレートが実施される場合と同様のデータにアクセスすることができる。また、時間的に余裕がある場合、サーバ機１１０のＣＰＵ４０１は、ユーザの画像処理などの他の処理を妨げないように、バックグラウンドプロセスとしてテンプレートを実行できる。
【００４１】
本実施形態では、フィルタテンプレート７５１が予め設定されたタイミングで実行されなかった場合、フィルタテンプレート７５１とそのサマリを利用する他のプログラムとの実行順が維持されるようにリスケジュールする。ここで、サマリを利用する他のプログラムは、たとえばフィルタテンプレート７５１とは別に実行が管理され、そのサマリへのアクセス時刻（実行開始時刻）が設定されている分析データ送付アプリケーションプログラム１３００である。よって、サマリを利用する他のプログラムとしての分析データ送付アプリケーションプログラム１３００は、ＭＦＰ２についての最新の履歴情報に基づいてフィルタテンプレート７５１が生成した最新のサマリを適切に利用することができる。他のプログラムとしての分析データ送付アプリケーションプログラム１３００は、フィルタテンプレート７５１が定刻に実行されていない状況下で、フィルタテンプレート７５１が前回以前の過去に生成したサマリを再度利用しないようになる。
【００４２】
本実施形態では、リスケジュールされるテンプレートについての実行期限がある場合、現在時刻と実行期限とからテンプレートの実行についての優先度を設定する。たとえば、現在時刻と実行期限との間にリスケジュールされるテンプレートを実行するための十分な期間がない場合、リスケジュールされるテンプレートについての優先度を、情報処理装置による画像処理のための処理よりも高く設定する。また、現在時刻と実行期限との間にリスケジュールされるテンプレートを実行するための十分な期間がある場合、リスケジュールされるテンプレートについての優先度を、情報処理装置による画像処理のための処理よりも低く設定する。そして、テンプレート実行部７３１は、設定された優先度で、リスケジュールされたテンプレートを実行する。よって、サマリを利用する他のプログラムが、テンプレートとは別に実行が管理されているものであったとしても、他のプログラムがサマリへアクセスする時刻（実行開始時刻）までに、テンプレートをリスケジュールして実行することが可能になる。その結果、テンプレートとは別に実行が管理されるアプリケーションプログラムは、実行開始時刻である実行期限までに生成された最新のサマリを用いて、ＭＦＰ２についての最新の履歴情報を適切に利用することができる。
【００４３】
以上、本発明をその好適な実施形態に基づいて詳述してきたが、本発明はこれら特定の実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の様々な形態も本発明に含まれる。本発明は、上述の実施の形態の１以上の機能を実現するプログラムを、ネットワークや記憶媒体を介してシステムや装置に供給し、そのシステム又は装置のコンピュータの１つ以上のプロセッサーがプログラムを読み出して実行する処理でも実現可能である。また、本発明は、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００４４】
１  履歴利用システム
２  ＭＦＰ
１１０  サーバ機
１２０  クライアント機
４０１  ＣＰＵ
４０４  ＨＤＤ
５０１  マスタデータ
６００  設定値管理アプリケーションプログラム
７００  履歴収集分析アプリケーションプログラム
７３０  テンプレート管理部
７３１  テンプレート実行部
７４０  履歴蓄積データベース
７４１  サマリデータベース
７５０  テンプレートデータベース
７５１  フィルタテンプレート
７５２  解析テンプレート
１３００  分析データ送付アプリケーションプログラム
【図１】
2019209507.tif 000009
【図２】
2019209507.tif 000010
【図３】
2019209507.tif 000011
【図４】
2019209507.tif 000012
【図５】
2019209507.tif 000013
【図６】
2019209507.tif 000014
【図７】
2019209507.tif 000015
【図８】
2019209507.tif 000016
【図９】
2019209507.tif 000017
【図１０】
2019209507.tif 000018
【図１１】
2019209507.tif 000019
【図１２】
2019209507.tif 000020
【図１３】
2019209507.tif 000021
【図１４】
2019209507.tif 000022