(57)【要約】【課題】時計の時計調整が行われた際にも、低負荷で適切な履歴利用を行うことを目的とする。【解決手段】複数の履歴データを取得する取得手段と、取得手段により取得された複数の履歴データの中に時計調整ログを示す履歴データが含まれている場合、複数の履歴データのうち、履歴データの発生順を示す履歴識別情報が時計調整ログを示す履歴データの履歴識別情報よりも小さい履歴データに対して、履歴データの時刻情報の信頼性に関する情報を付加する付加手段と、を有する。【選択図】図８
2019186785.tif 000002
【特許請求の範囲】
【請求項１】
複数の履歴データを取得する取得手段と、
前記取得手段により取得された複数の履歴データの中に時計調整ログを示す履歴データが含まれている場合、前記複数の履歴データのうち、履歴データの発生順を示す履歴識別情報が前記時計調整ログを示す履歴データの履歴識別情報よりも小さい履歴データに対して、履歴データの時刻情報の信頼性に関する情報を付加する付加手段と、
を有する情報処理装置。
【請求項２】
前記時計調整ログに関する時計調整が時計を戻す調整である場合、前記付加手段は、前記複数の履歴データのうち、履歴データの発生順を示す履歴識別情報が前記時計調整ログを示す履歴データの履歴識別情報よりも小さい履歴データに対して、履歴データの集計が過大になる可能性を示す情報を前記信頼性に関する情報として付加する請求項１記載の情報処理装置。
【請求項３】
前記時計調整ログに関する時計調整が時計を進める調整である場合、前記付加手段は、前記複数の履歴データのうち、履歴データの発生順を示す履歴識別情報が前記時計調整ログを示す履歴データの履歴識別情報よりも小さい履歴データに対して、履歴データの集計が過小になる可能性を示す情報を前記信頼性に関する情報として付加する請求項１記載の情報処理装置。
【請求項４】
前記付加手段により付加された前記信頼性に関する情報に基づき表示を制御する表示制御手段を更に有する請求項１乃至３何れか１項記載の情報処理装置。
【請求項５】
テンプレートの処理内容が、履歴データの時刻情報を参照している場合、前記取得手段は、前記テンプレートの処理に関する複数の履歴データを取得する請求項１乃至４何れか１項記載の情報処理装置。
【請求項６】
前記履歴識別情報を含む履歴データを生成する生成手段を更に有する請求項１乃至５何れか１項記載の情報処理装置。
【請求項７】
前記情報処理装置は、画像処理部を有する画像処理装置である請求項１乃至６何れか１項記載の情報処理装置。
【請求項８】
情報処理装置が実行する情報処理方法であって、
複数の履歴データを取得する取得工程と、
前記取得工程により取得された複数の履歴データの中に時計調整ログを示す履歴データが含まれている場合、前記複数の履歴データのうち、履歴データの発生順を示す履歴識別情報が前記時計調整ログを示す履歴データの履歴識別情報よりも小さい履歴データに対して、履歴データの時刻情報の信頼性に関する情報を付加する付加工程と、
を含む情報処理方法。
【請求項９】
コンピュータを、請求項１乃至７何れか１項記載の情報処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法及びプログラムに関する。
【背景技術】
【０００２】
従来、情報処理装置の履歴情報を収集・分析又は利用する技術が知られている。
特許文献１に記載の情報処理システムでは、クライアント装置で発生したイベントのログを、ログ時刻を含めて記録し、サーバ装置に送信する。その際にサーバ装置では、クライアント装置がログ送信を行なった現在時刻情報及びサーバ装置での受信時刻情報に基づいて、受信したログに含まれているログ時刻を修正する。更に、クライアント装置では時計の修正を記録するシステム時刻修正イベントをログとして記録し、サーバ装置でのログ時刻修正に利用する。
先行技術においては、クライアント装置で発生したイベントのログはサーバ装置に送信される。ログは時刻情報を含み、またクライアント装置の時計の修正イベントもログとしてサーバ装置に送信されることで、サーバ装置ではログに記録された時刻情報を修正する。このような構成では、クライアント装置ではログに記録された時刻情報をそのままサーバに送信するため、クライアント装置上でログの時刻情報を修正する必要がない。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−６９８９２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、装置内でのイベント発生を、時刻を含めたログを記録する装置で、記録したログ情報を機器内で参照・分析し、その後の機器の動作において利用することがある。ログ情報の統計的な分析を行い機器管理者向けレポートとして可視化表示することや、ユーザによる機器操作履歴から、ＵＩ表示内容を最適化するレコメンド等が検討されている。機器内でこのようなログ参照・分析を行う際に、ログの連続性や前後関係を参照することで、より効果的な制御を行うことが可能になる場合がある。その際には、参照するログに記録された時刻情報が正確であれば、ログの連続性や前後関係の判断を正確に行うことができる。
しかし、機器内蔵時計の時刻を調整した場合には、その前後でログの時刻情報が不正確になるのは避けられない。時計を「戻す」調整を行った場合には、時計調整前後で記録した異なるログ中の時刻情報に重複が生じる可能性がある。この場合、特定の時間帯内のログを基に利用履歴の集計分析を行うと、実際よりも過大な利用状況がレポートされることになる。逆に時計を「進める」調整を行った場合には、特定の時間帯内の利用履歴が過小に集計される。期間内の利用回数の上限を設定しているような場合には、実際の利用回数よりも過小な集計結果を基に上限管理をすることになるため、「使い過ぎ」を防止することができなくなる可能性がある。
先行技術のような方法で機器内に蓄積したログの時刻情報を修正しようとすると、機器内蔵時計の調整を行った直後に、機器内に蓄積されたログに対して時刻情報の修正処理が行われることになる。機器内に蓄積されるログは膨大な量になっている場合もあり、ログ時刻修正処理自体が機器上で大きな負荷となり、機器全体のスムーズな動作を妨げる原因となる。機器内部で、ログの連続性や前後関係を利用した制御を行おうとする場合には、機器内蔵時計の調整が行われた際にも適切なログ利用を行うことが可能で、かつ、低負荷なログ記録方法が必要となる。
【課題を解決するための手段】
【０００５】
本発明の情報処理装置は、複数の履歴データを取得する取得手段と、前記取得手段により取得された複数の履歴データの中に時計調整ログを示す履歴データが含まれている場合、前記複数の履歴データのうち、履歴データの発生順を示す履歴識別情報が前記時計調整ログを示す履歴データの履歴識別情報よりも小さい履歴データに対して、履歴データの時刻情報の信頼性に関する情報を付加する付加手段と、を有する。
【発明の効果】
【０００６】
本発明によれば、時計の時刻調整が行われた際にも、低負荷で適切な履歴利用を行うことができる。
【図面の簡単な説明】
【０００７】
【図１】複合機のハードウェア構成の一例を示す図である。
【図２】情報処理コントローラユニットのハードウェア構成等の一例を示す図である。
【図３】ソフトウェア構成の一例を示す図である。
【図４】履歴収集分析アプリケーションのソフトウェア構成の一例を示す図である。
【図５】履歴収集分析アプリケーションにおけるデータの流れを示す図である。
【図６】フィルタテンプレートの記載例の抜粋の一例を示す図である。
【図７】解析テンプレートの記載例の抜粋の一例を示す図である。
【図８】履歴収集分析アプリケーションのログ記録処理の概要を示す図である。
【図９】時計調整ログを含むサマリデータ生成対象のログの一例を示す図である。
【図１０】情報処理の一例を示すフローチャートである。
【発明を実施するための形態】
【０００８】
以下、本発明の実施形態について図面に基づいて説明する。
【０００９】
＜実施形態１＞
本実施形態においては、動作ログを蓄積し利用する情報処理装置として、コピー機能、プリント機能、ユニバーサルセンド機能を搭載した複合機を例として説明する。複合機は、画像処理装置の一例である。
図１は、複合機のハードウェア構成の一例を示す図である。複合機１００は、情報処理コントローラユニット１０１、プリンタコントローラユニット１０２、スキャナコントローラユニット１０３、プリンタ１０４、スキャナ１０５、操作部１０６を含んでいる。情報処理コントローラユニット１０１は、複合機１００の動作に係る情報処理制御を統括するコントローラであり、操作部１０６が接続される。更に、情報処理コントローラユニット１０１には、プリンタ１０４を制御するプリンタコントローラユニット１０２やスキャナ１０５を制御するスキャナコントローラユニット１０３が接続される。
【００１０】
図２は、複合機１００の情報処理コントローラユニット１０１のハードウェア構成等の一例を示す図である。情報処理コントローラユニット１０１は、ＣＰＵ２０１を有し、ＣＰＵ２０１は、ＲＯＭ２０２に格納されているブートプログラムによりＯＳを起動する。ＣＰＵ２０１は、このＯＳ上で、ＨＤＤ２０４に格納されているアプリケーションプログラムを実行し、これによって各種処理を実行する。このＣＰＵ２０１の作業領域としてはＲＡＭ２０３が用いられる。また、ＲＡＭ２０３は、作業領域を提供すると共に、画像データを一時記憶するための画像メモリ領域を提供する。ＨＤＤ２０４は、アプリケーションプログラムや画像データ、各種設定値、動作履歴（ログ）を記録したデータベース（ＤＢ）を格納する。複合機１００におけるログの管理方法については後述する。
【００１１】
ＣＰＵ２０１には、ＲＯＭ２０２及びＲＡＭ２０３と共に、ＨＤＤ２０４、ネットワークインタフェース２０５、操作部インタフェース２０６、画像処理部２０７、デバイスコントローラインタフェース２０８、システム時計２０９が接続される。これらはシステムバス２１０を介して接続される。操作部インタフェース２０６は、液晶ディスプレイ一体型タッチパネルを有する操作部１０６とのインタフェースであり、操作部１０６に表示すべき画像データを操作部１０６に対して出力する。また、操作部インタフェース２０６は、操作部１０６によってユーザにより入力された情報をＣＰＵ２０１に送出する。デバイスコントローラインタフェース２０８には、プリンタコントローラユニット１０２及びスキャナコントローラユニット１０３が接続され、画像データの転送制御を行う。ネットワークインタフェース２０５は、ネットワークに接続され、ネットワークを介してネットワーク上の各装置との間で情報の入出力を行う。画像処理部２０７では、プリンタ１０４への出力画像処理やスキャナ１０５からの入力画像処理として、画像回転、画像圧縮、解像度変換、色空間変換、階調変換等の画像処理を行う。システム時計２０９は、リアルタイムクロック回路及びバッテリーから構成され、年、月、日、時、分、秒からなる時刻情報を保持、更新する。システム時計２０９の時刻情報はＯＳからの読み出し及び変更が可能であり、また、情報処理コントローラユニット１０１が停止している状態でも、バッテリーからの電力により更新され続ける。
【００１２】
複合機１００の情報処理コントローラユニット１０１では画像処理アプリケーションが動作し、プリンタ１０４、スキャナ１０５、ネットワークインタフェース２０５を制御することで、コピー機能、プリント機能、センド機能を提供する。この画像処理アプリケーションは実行時の履歴を記録する機能を合わせて具備している。更に、複合機１００の情報処理コントローラユニット１０１では、実行したジョブやユーザの操作の履歴情報を収集し分析する履歴収集分析アプリケーションが動作する。
ＣＰＵ２０１が、ＲＯＭ２０２、ＲＡＭ２０３、ＨＤＤ２０４、の何れかの記憶手段に記憶されたプログラムに基づき処理を実行することによって、図３−図５のソフトウェア構成及び図１０のフローチャートの処理が実現される。
【００１３】
図３は、複合機１００の情報処理コントローラユニット１０１上で動作するソフトウェア構成のうち、設定データ管理、履歴データ管理、システム時計管理に関するソフトウェア構成の一例を示す図である。
ＨＤＤ２０４には、動作に必要な設定データとしてログインユーザに紐づくユーザ設定値データベース（ユーザ設定値ＤＢ）３１１と、デバイスに紐づくデバイス設定値データベース（デバイス設定値ＤＢ）３１２と、に保持されるデータが記憶される。設定データ管理部３１０は、このデータを管理する。
履歴データ管理部３２０は、ユーザによる操作や複合機内の処理の履歴を保持する履歴データベース（履歴ＤＢ）３２１を管理する。履歴ＤＢ３２１内には、個々の履歴情報（ログ）の内容と共に、ログの発生順序を一意に示すログＩＤと、そのログの発生時刻を示す時刻情報と、が記録される。システム時計管理部３３０は、システム時計２０９から現在時刻情報を読み出したり、現在時刻の変更処理を行ったりする。ログの発生順序を一意に示すログＩＤは、履歴データの発生順を示す履歴識別情報の一例である。
表示部３４０は、設定データや履歴データ、時刻管理のための操作画面を操作部１０６に表示して閲覧・操作するための表示アプリケーションである。ユーザ認証部３５０は、ユーザを識別するためのログイン処理を実施する。
複数のアプリケーション３６０は、設定データ管理部３１０を通して設定を読み書きしたり、処理結果を、履歴データ管理部３２０を通して書き込んだりする。アプリケーション３６０の例としては、例えば、コピー機能、プリント機能、センド機能等の処理を実行する画像処理アプリケーションや、履歴収集分析アプリケーションがある。
複合機１００の情報処理コントローラユニット１０１上で動作するアプリケーションは、その動作履歴を履歴データ管理部３２０経由で履歴ＤＢ３２１に随時記録する。画像処理アプリケーションは、画像処理ジョブを処理する毎に、時刻情報を付与した形で動作履歴を記録する。表示部３４０は、システム時計２０９の時刻が不正確だった場合には、ユーザが操作することで、システム時計２０９の示す現在時刻情報の修正を行う。表示部３４０は、現在時刻情報の修正操作が行われたことを動作履歴として記録する。
【００１４】
図４は、複合機１００の情報処理コントローラユニット１０１上で動作する履歴収集分析アプリケーション４００のソフトウェア構成の一例を示す図である。
履歴収集分析アプリケーション４００は、サマリデータ管理部４２０、テンプレート管理部４３０、テンプレート実行部４１０、及び、結果表示反映部４６０を含む。
履歴収集分析アプリケーション４００は、履歴データ管理部３２０にアクセスし、履歴ＤＢ３２１の読み書きを管理する。履歴収集分析アプリケーション４００のサマリデータ管理部４２０は、サマリデータベース（サマリＤＢ）４４０の読み書きを管理する。テンプレート管理部４３０は、履歴データやサマリデータの分析に必要な情報が保持されたテンプレートデータベース（テンプレートＤＢ）４５０の管理を行う。テンプレート実行部４１０は、テンプレートＤＢ４５０に保持されたテンプレートに従って処理を実施する。これらのＤＢは、ＨＤＤ２０４に記憶される。
テンプレートには、データベース言語ＳＱＬによってデータベース（ＤＢ）に対するデータの読み書きが記述され、スクリプト言語によってデータの解析、集計加工及び結果表示反映部４６０への通知処理が記述される。テンプレートにはフィルタテンプレートと解析テンプレートとの２種類が存在する。テンプレート実行部４１０は、フィルタテンプレートに基づき、履歴ＤＢ３２１の情報を分析しサマリＤＢ４４０に書き込む。テンプレート実行部４１０は、解析テンプレートに基づき、フィルタテンプレートによって生成されたサマリＤＢ４４０の情報を分析し、分析結果を結果表示反映部４６０に表示する。また、テンプレート実行部４１０は、分析結果に応じて、複合機１００の動作設定を変更する場合もある。
またテンプレートは複数の同時登録が可能で、テンプレート管理部４３０によってテンプレートのインストールやアクティベートが管理される。
【００１５】
図５は、図４で説明した履歴収集分析アプリケーション４００におけるデータの流れを示す図である。これを用いてフィルタテンプレートと解析テンプレートとを利用した分析の流れについて説明する。フィルタテンプレート５１１及び解析テンプレート５１２は、何れもテンプレートＤＢ４５０に保持されておりテンプレート管理部４３０によって管理されている。テンプレート実行部４１０によってそれぞれのテンプレートに記載された処理が実行される。この際、テンプレート実行部４１０は、フィルタテンプレート５１１に基づき、履歴ＤＢ３２１からデータを読み、データを加工してサマリＤＢ４４０に書き込むという処理を行う。また、テンプレート実行部４１０は、解析テンプレート５１２に基づき、サマリＤＢ４４０からデータを読んで結果表示反映部４６０に通知するという動作を行う。
【００１６】
図５で、解析テンプレート５１２が実行されるまでの流れを以下で説明する。テンプレート実行部４１０は、まず履歴ＤＢ３２１からフィルタテンプレート５１１が必要なデータを読み出し加工し、加工した結果をサマリとしてサマリＤＢ４４０に保存する。このように、集められた履歴を一度フィルタし解析しやすいように構造変更した後、別途解析処理が実施される。解析テンプレート５１２は、このサマリＤＢ４４０内のサマリを読み出すように書かれているテンプレートである。テンプレート実行部４１０は、解析テンプレート５１２を実行すると、サマリを読み出し分析を実施し、レポート表示を行うためのレポートサマリ５１３を生成する。更に、テンプレート実行部４１０は、分析結果から機器の設定値変更が必要な内容があれば、推奨設定値５１４としてＲＡＭ２０３上に記憶しつつ、結果表示反映部４６０に通知する。結果表示反映部４６０は、利用状況のレポート表示と共に新たな設定値の推奨値を表示するので、ユーザは新たな設定値を有効にすべきかを容易に判断することが可能になる。結果表示反映部４６０にてユーザ操作により推奨設定値５１４を機器動作に反映させることが指示された場合には、結果表示反映部４６０は、推奨設定値５１４を設定データ管理部３１０に通知し動作に反映させる。
【００１７】
図６は、フィルタテンプレートの記載例の抜粋の一例を示す図である。フィルタテンプレートは処理の実体を記載しているスクリプト記載部６０１と管理情報のマニフェスト記載部６０２との２つのファイルから成る。
スクリプト記載部６０１は、ＪａｖａＳｃｒｉｐｔ（登録商標）のようなスクリプト言語で記載される。スクリプト記載部６０１にはまず履歴ＤＢ３２１からのデータ読み出し処理（６１１）がＳＱＬ文で記載されている。ここでは印刷実行履歴であるプリントジョブログからユーザＩＤと出力枚数とを読み出している。続いて、スクリプト記載部６０１には読み出したデータを集計する処理（６１２）が書かれている。ここではユーザＩＤ毎の出力枚数の集計値を計算している。また、スクリプト記載部６０１には、サマリＤＢ４４０への書き込みを行う書き込み処理（６１３）が書かれている。ここでは１ユーザ毎に１レコードとして集計した出力枚数を挿入する処理が書かれている。最後に、スクリプト記載部６０１には、管理情報の書き込み処理（６１４）が書かれている。ここではどこまでログを読み出したかを記録するため、処理を終えた最終レコードをサマリＤＢ４４０に対して書きこむ処理が記載されている。テンプレート実行部４１０は、これを次回、フィルタ処理時に参照して同じ情報の二度読みを行わないよう制御する。
【００１８】
マニフェスト記載部６０２には、テンプレート管理部４３０が管理上必要とする各種情報がＪＳＯＮ形式で記載される。図６の例ではスクリプト記載部６０１が記載されたファイルのファイル名６２１、読み出すＤＢ名６２２、書き出すＤＢ名６２３、初期起動日時６２４、起動周期６２５、読み出すログの種類６２６が記載されている。テンプレート実行部４１０は、これらを使ってテンプレートの実行制御を実施する。図６の例では、周期処理定義として初期起動日時６２４と起動周期６２５とが書かれているが、例えば処理対象のログの書き込み毎や、１０回書き込まれる毎等、イベントドリブンで起動するような記載も可能である。
マニフェスト記載の起動日時と周期とは無関係に、他のアプリケーション３６０からの呼び出しに応じてテンプレートを随時起動させることも可能である。
【００１９】
図７は、解析テンプレートの記載例の抜粋の一例を示す図である。解析テンプレートもフィルタテンプレート同様、処理の実体を記載しているスクリプト記載部７０１と管理情報のマニフェスト記載部７０２との２つのファイルから成る。
スクリプト記載部７０１はＪａｖａＳｃｒｉｐｔのようなスクリプト言語で記載される。スクリプト記載部７０１にはまずサマリＤＢ４４０からのデータ読み出し処理（７１１）がＳＱＬ文で記載されている。この例では図６のフィルタテンプレートに基づき生成されたサマリからユーザ毎の出力枚数情報を参照している。続いて、スクリプト記載部７０１には読み出したデータを集計する処理（７１２）が書かれている。ここでは全ユーザの出力枚数の平均値を計算している。また、スクリプト記載部７０１には、分析結果を受けての処理（７１３）が書かれている。ここではその平均値が閾値以上であれば、特定の設定を変更するという処理が書かれている。もし、分析結果を更に別のＤＢに書き出す必要がある場合には、ＩＮＳＥＲＴ／ＵＰＤＡＴＥ命令を含むＳＱＬ文が記載される。更にこの処理は結果表示反映部４６０に通知され、そこから設定データ管理部３１０に指示される。
【００２０】
マニフェスト記載部７０２には、テンプレート管理部４３０が管理上必要とする、テンプレート実行に必要な各種情報がＪＳＯＮ形式で記載される。図７の例ではスクリプト記載部７０１が記載されたファイル名７２１、読み出すＤＢ名７２２、書き出すＤＢ名７２３、初期起動日時７２４、起動周期７２５、読み出す最初のレコード７２６、読み出す最後のレコード７２７、及び閾値７２８が記載されている。このうち読み出す最初のレコード７２６、読み出す最後のレコード７２７、及び閾値７２８は、テンプレートの中で参照される値になり、テンプレートインストール後の動作微調整のため編集することも可能なデータである。またフィルタテンプレートと同様、周期起動ではなくイベントドリブンでの動作記載も可能である。
マニフェスト記載の起動日時と周期とは無関係に、他のアプリケーション３６０からの呼び出しに応じてテンプレートを随時起動させることも可能である。
【００２１】
次に、図８及び図９を用いて、情報処理コントローラユニット１０１上で動作する履歴収集分析アプリケーション４００が、履歴ＤＢ３２１やサマリＤＢ４４０にログやサマリを記録する際に、システム時計から得られる時刻情報をどう扱っているかを説明する。
表示部３４０は、ユーザ操作に応じて、システム時計２０９の調整を行うことができる。図８は、時計の調整を行わない場合（８００）、時計を進める調整を行った場合（８１０）、時計を戻す修正を行った場合（８２０）の履歴収集分析アプリケーション４００のログ記録処理の概要をそれぞれ模式的に示す図である。
フィルタテンプレート５１１のマニフェスト記載部６０２では、フィルタテンプレートが動作するタイミングとして、毎日０２：００、２４時間ごとにフィルタテンプレートが動作することが定義されている。
【００２２】
時計の調整を行わない場合（８００）、履歴収集分析アプリケーション４００は、既定の時刻２：００になると、フィルタテンプレートにより定義された２４時間分のサマリデータの生成を履歴ＤＢ３２１に記録されたログから行い、サマリＤＢ４４０に保管する。履歴ＤＢ３２１内のログには、ログＩＤが付与されている。フィルタテンプレート５１１に基づきサマリデータを生成する際には、履歴収集分析アプリケーション４００は、最後に読み取ったログのログＩＤをサマリ済ポインタ８０１としてＲＡＭ２０３に記憶する。次回、フィルタテンプレートが動作するタイミングである２４時間後、フィルタテンプレート５１１に基づき、履歴収集分析アプリケーション４００は、履歴ＤＢ３２１内を参照する。そして、履歴収集分析アプリケーション４００は、サマリ済ポインタ８０１を示すログＩＤを起点としてログＩＤが最も大きいログまでをサマリデータ生成の対象とする。新たなサマリデータ生成が完了した際には、履歴収集分析アプリケーション４００は、最後に読み取ったログのログＩＤを新たなサマリ済ポインタ８０１としてＲＡＭ２０３に記憶する。この繰り返しにより、履歴収集分析アプリケーション４００は、履歴ＤＢ３２１内のログに対して重複無くサマリデータを生成することができる。
【００２３】
時計を進める調整を行った場合（８１０）、履歴収集分析アプリケーション４００は、時計の調整操作を行ったことを示すログを履歴データ管理部３２０に送り、履歴ＤＢ３２１に時計調整ログ８１２を記録する。この時計調整ログ８１２は、ログＩＤとして時計調整が行われる直前のログと連続性を保ったログＩＤを保持し、そのログ時刻情報としては、時計調整が行われた後のシステム時計の時刻情報を保持する。また、履歴収集分析アプリケーション４００は、時計調整操作を始めた時点での時刻情報と、時計調整操作を完了した後の時刻情報とを比較することにより、時計が「進められた」ことを判断し、その情報を時計調整ログ８１２内に保持する。時計調整後に他のアプリケーションが動作した際には、履歴データ管理部３２０が生成する動作ログ８１３は、ログＩＤとして時計調整ログ８１２と連続性を保ったログＩＤを保持する。またログの時刻情報は時計調整後の「進められた」時刻情報である。調整後の時計において、履歴収集分析アプリケーション４００は、既定の時刻２：００になるとサマリデータの生成を履歴ＤＢ３２１に記録されたログから行う。その際には、履歴収集分析アプリケーション４００は、時計調整前に記録されたサマリ済ポインタ８１１を示すログＩＤを起点として、ログＩＤが最も大きいログまでをサマリデータ生成の対象とする。ここで図９に示すように、サマリデータ生成対象のログが時計調整ログを含む場合は、履歴収集分析アプリケーション４００は、時計調整ログを、一つの独立したサマリデータとして生成する。また、履歴収集分析アプリケーション４００は、時計調整ログのログＩＤよりもログＩＤが小さいログと、時計調整ログのログＩＤよりもログＩＤが大きいログも、それぞれ別のサマリデータとして集計しサマリデータを生成する。時計は「進める」調整をされているため、履歴ＤＢ３２１に記録された個々のログの時刻は重複しておらず、時計調整前後のサマリデータも時刻は重複していない。履歴収集分析アプリケーション４００は、新たなサマリデータ生成が完了した際には、最後に読み取ったログのログＩＤを新たなサマリ済ポインタ８１１としてＲＡＭ２０３に記憶する。履歴収集分析アプリケーション４００は、この繰り返しにより、履歴ＤＢ３２１内のログに対して重複無くサマリデータを生成する。
【００２４】
時計を戻す調整を行った場合（８２０）、履歴収集分析アプリケーション４００は、時計の調整操作を行ったことを示すログを履歴データ管理部３２０に送り、履歴ＤＢ３２１に時計調整ログ８２２を記録する。この時計調整ログ８２２は、ログＩＤとして時計調整が行われる直前のログと連続性を保ったログＩＤを保持し、そのログ時刻情報としては、時計調整が行われた後のシステム時計の時刻情報を保持する。また、履歴収集分析アプリケーション４００は、時計調整操作を始めた時点での時刻情報と、時計調整操作を完了した後の時刻情報とを比較することにより、時計が「戻された」ことを判断し、その情報を時計調整ログ８２２内に保持する。時計調整後に他のアプリケーションが動作した際には、履歴データ管理部３２０が生成する動作ログ８２３は、ログＩＤとして時計調整ログ８２２と連続性を保ったログＩＤを保持する。またログの時刻情報は時計調整後の「戻された」時刻情報である。調整後の時計において、履歴収集分析アプリケーション４００は、既定の時刻２：００になるとサマリデータの生成を履歴ＤＢ３２１に記録されたログから行う。その際には、履歴収集分析アプリケーション４００は、時計調整前に記録されたサマリ済ポインタ８２１を示すログＩＤを起点として、ログＩＤが最も大きいログまでをサマリデータ生成の対象とする。ここで図９に示すように、サマリデータ生成対象のログが時計調整ログを含む場合は、履歴収集分析アプリケーション４００は、時計調整ログを、一つの独立したサマリデータとして生成する。また、履歴収集分析アプリケーション４００は、時計調整ログのログＩＤよりもログＩＤが小さいログと、時計調整ログのログＩＤよりもログＩＤが大きいログも、それぞれ別のサマリデータとして集計しサマリデータを生成する。時計は「戻す」調整をされているため、履歴ＤＢ３２１に記録された個々のログの時刻は重複している可能性があり、また時計調整前後のサマリデータも時刻重複している可能性がある。しかし、ログＩＤが重複することはない。履歴収集分析アプリケーション４００は、新たなサマリデータ生成が完了した際には、最後に読み取ったログのログＩＤを新たなサマリ済ポインタ８２１としてＲＡＭ２０３に記憶する。履歴収集分析アプリケーション４００は、この繰り返しにより、履歴ＤＢ３２１内のログに対して重複無くサマリデータを生成する。
【００２５】
図１０は、情報処理コントローラユニット１０１で動作する履歴収集分析アプリケーション４００が、テンプレート実行部４１０にて解析テンプレートを実行する際に、サマリＤＢ４４０内のサマリデータをどのように扱うかを説明する流れ図である。
Ｓ１００１にて、履歴収集分析アプリケーション４００は、テンプレート実行部４１０が実行する解析テンプレートの処理内容が、サマリデータの時刻情報を参照しているか否かを確認する。履歴収集分析アプリケーション４００は、時刻情報を参照しない解析テンプレート処理である場合は、Ｓ１０１２に進み、時刻情報を参照する解析テンプレート処理である場合は、Ｓ１００２に進む。
Ｓ１０１２にて、履歴収集分析アプリケーション４００は、解析テンプレート処理を開始する。
Ｓ１００２にて、履歴収集分析アプリケーション４００は、解析テンプレート処理に必要なサマリデータをサマリＤＢ４４０から読み込む。Ｓ１００２の処理は、処理に要する履歴データを取得する処理の一例である。また、履歴情報及びサマリデータ、又はサマリデータは、履歴データの一例である。
Ｓ１００３にて、履歴収集分析アプリケーション４００は、Ｓ１００２で読み込んだサマリデータを確認し、その中に時計調整ログを示すサマリデータが含まれているかを判定する。履歴収集分析アプリケーション４００は、時計調整ログを示すサマリデータが含まれていない場合は、Ｓ１０１２に進み、時計調整ログを示すサマリデータが含まれている場合は、Ｓ１００４に進む。
Ｓ１００４にて、履歴収集分析アプリケーション４００は、時計調整ログのログＩＤを確認する。ここで、履歴収集分析アプリケーション４００は、複数の時計調整ログを示すサマリデータが見つかった場合は、そのなかでログＩＤが最も大きなものを採用する。
Ｓ１００５にて、履歴収集分析アプリケーション４００は、Ｓ１００２で読み込んだサマリデータのうち、ログＩＤが最小のサマリデータを選択する。
【００２６】
Ｓ１００６にて、履歴収集分析アプリケーション４００は、選択されたサマリデータのログＩＤを、時計調整ログのログＩＤと比較する。履歴収集分析アプリケーション４００は、時計調整ログのログＩＤよりも、選択されたサマリデータのログＩＤの方が大きい場合は、そのサマリデータ中の時刻情報は正確性において信頼できると判断し、Ｓ１０１０に進む。一方、履歴収集分析アプリケーション４００は、時計調整ログのログＩＤよりも、選択されたサマリデータのログＩＤの方が小さい場合は、そのサマリデータ中の時刻情報は正確性において信頼性が低いと判断し、Ｓ１００７に進む。
Ｓ１００７にて、履歴収集分析アプリケーション４００は、時計調整ログの内容にて、時計調整操作により「進められた」か「戻された」を判定する。時計調整が「戻された」状態である場合には、ログの時刻情報が遡って重複している可能性があり、その時刻情報の範囲ではログ記録数も過大になっている可能性があるため、Ｓ１００８に進む。一方、時計調整が「戻された」状態でない場合には、ログの時刻情報が飛んで記録されている可能性があり、その時刻情報の範囲ではログ記録数も過小になっている可能性があるため、Ｓ１００９に進む。
Ｓ１００８にて、履歴収集分析アプリケーション４００は、選択中のサマリデータに対して、ログが重複し集計が過大になる可能性があること示す情報を付加する。
Ｓ１００９にて、履歴収集分析アプリケーション４００は、選択中のサマリデータに対して、ログが飛んでいて集計が過小になる可能性があること示す情報を付加する。
Ｓ１０１０にて、履歴収集分析アプリケーション４００は、全てのサマリデータを確認したかの判定をする。履歴収集分析アプリケーション４００は、確認が終わっていないサマリデータがある場合には、Ｓ１０１１に進み、確認が終わっていないサマリデータが無い場合には、Ｓ１０１２に進む。
Ｓ１０１１にて、履歴収集分析アプリケーション４００は、ログＩＤが一つ大きいサマリデータを新たに選択し、Ｓ１００６からの処理を繰り返す。
【００２７】
図１０に説明した処理は、解析テンプレートを実行する履歴収集分析アプリケーション４００であったが、同様の処理を個々の解析テンプレート内処理として、解析テンプレート内のスクリプトに記載してもよい。また、図１０ではサマリテンプレートを参照する解析テンプレートの処理を説明したが、フィルタテンプレートが時計調整による影響を受ける処理を行う場合には、同等の処理をフィルタテンプレートに対して適用してもよい。
【００２８】
以上の履歴収集分析アプリケーション４００の処理により、テンプレートがログを参照する際に、複数の連続したログの途中で時計調整が行われた場合であっても、ログ中の時刻情報の信頼性を考慮した処理を行うことができる。これにより、時刻情報の信頼性の低いログが収集・分析対象である場合は、収集対象から外す、分析方法を変更する、分析結果に対して信頼性が十分ではないことを利用者や機器管理者に警告する、等の処理が可能となる。また、時計調整が行われる前に記録された、時刻情報の信頼性が低いログに関しては、その時計調整によって時刻情報が重複して記録されるのか、飛んで記録されるのかを判別することが可能である。これにより、集計・分析結果が不正確であることに対して、過大に集計分析されているのか、又は過小に集計分析されているのか、等、利用者や機器管理者に対して更に詳細な注意喚起を促す結果表示を行うことが可能となる。この処理は、表示制御の処理の一例である。解析テンプレート５１２が推奨設定値５１４を設定する場合には、集計・分析結果が不正確であることを前提とした、より適切な設定値を選択することも可能となる。
【００２９】
＜その他の実施形態＞
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給する。そして、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読み出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【００３０】
以上、本発明の実施形態の一例について詳述したが、本発明は係る特定の実施形態に限定されるものではない。
例えば、情報処理コントローラユニット１０１のハードウェア構成として、ＣＰＵは複数存在してもよく、複数のＣＰＵがＲＯＭ、ＲＡＭ、ＨＤＤ等に記憶されているプログラムに基づき処理を実行するようにしてもよい。また、情報処理コントローラユニット１０１のハードウェア構成として、ＣＰＵの替わりに、ＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）を用いてもよい。
【００３１】
以上、上述した各実施形態の構成によれば、時計の時計調整が行われた際にも、低負荷で適切な履歴利用を行うことができる。
【符号の説明】
【００３２】
１００  複合機
１０１  情報処理コントローラユニット
２０１  ＣＰＵ
【図１】
2019186785.tif 000003
【図２】
2019186785.tif 000004
【図３】
2019186785.tif 000005
【図４】
2019186785.tif 000006
【図５】
2019186785.tif 000007
【図６】
2019186785.tif 000008
【図７】
2019186785.tif 000009
【図８】
2019186785.tif 000010
【図９】
2019186785.tif 000011
【図１０】
2019186785.tif 000012