(57)【要約】【課題】排他制御を行わずに、複数のタスクに関する動作履歴情報を収集することができる情報処理装置を提供する。【解決手段】画像形成システム１には、各タスクについてログ生成モジュール５０２及びタスクログ記録領域１１２が設けられている。各タスクでは、ログ生成モジュール５０２が各タスクの動作に応じてログ情報を生成し、生成されたログ情報はタスクログ記録領域１１２に記録される。ログ収集タスクのログ収集モジュール５１０は、各タスクのタスクログ記録領域１１２からログ情報を収集し、収集されたログ情報は、全体ログ記録領域１１４に記録される。【選択図】図２
2010066799.tif 000002
【特許請求の範囲】
【請求項１】
複数のタスクそれぞれについて設けられ、それぞれのタスクに関する動作履歴情報を生成する複数の履歴情報生成手段と、
複数のタスクそれぞれについて設けられ、前記履歴情報生成手段により生成された動作履歴情報を記録する複数の履歴記録手段と、
前記履歴記録手段それぞれに記録されている動作履歴情報を収集する収集手段と、
を有する情報処理装置。
【請求項２】
前記収集手段により収集された動作履歴情報を格納する履歴格納手段をさらに有する請求項１に記載の情報処理装置。
【請求項３】
前記履歴記録手段は、複数の前記履歴情報生成手段により生成される動作履歴情報全ての生成順序を特定するための順序特定情報を、それぞれの動作履歴情報に対応付けて記録し、
前記収集手段は、前記履歴記録手段それぞれに記録されている動作履歴情報及び順序特定情報を収集する請求項１又は２に記載の情報処理装置。
【請求項４】
前記収集手段により収集された動作履歴情報を、収集された順序特定情報に基づいて整列させる整列手段をさらに有する請求項３に記載の情報処理装置。
【請求項５】
複数のタスクそれぞれにおいて、それぞれのタスクに関する動作履歴情報を生成するステップと、
複数のタスクそれぞれに割り当てられた記録領域に、これらのタスクそれぞれにおいて生成された動作履歴情報を記録するステップと、
複数のタスクそれぞれに割り当てられた記録領域から、動作履歴情報を収集するステップと
をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置及びプログラムに関する。
【背景技術】
【０００２】
例えば、特許文献１には、組み込み機器２００における障害解析データを収集する組み込み機器障害解析データ収集タスク２１４と、組み込み機器障害解析データ収集タスク２１４にて収集された障害解析データを圧縮し、圧縮した障害解析データを組み込み機器内の組み込み機器制御タスク障害解析データ収集メモリ２２４に保存する組み込み機器障害解析データ編集タスク２１５とを設けた障害解析データ収集方法が開示されている。
また、特許文献２には、アプリケーション群で実行したイベント又は内部状態を表す操作プロセスログに、種々のパラメータに相当する識別子をそれぞれ記録して識別子記録・操作プロセスログＬを作成し、作成された識別子記録・操作プロセスログＬをログ記録メモリに記録し、エラーが認識された場合に、エラーを表す識別子を含む識別子記録・操作プロセスログＬＥを入力し、この識別子記録・操作プロセスログＬＥに基づいてログ記録メモリから、エラーの発生場所を検索する操作プロセスログの収集システムが開示されている。
【０００３】
【特許文献１】特開２０００−１５５７０４号公報
【特許文献２】特開２００５−２７５９４２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
本発明は、排他制御を行わずに、複数のタスクに関する動作履歴情報を収集することができる情報処理装置及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００５】
請求項１に係る本発明は、複数のタスクそれぞれについて設けられ、それぞれのタスクに関する動作履歴情報を生成する複数の履歴情報生成手段と、複数のタスクそれぞれについて設けられ、前記履歴情報生成手段により生成された動作履歴情報を記録する複数の履歴記録手段と、前記履歴記録手段それぞれに記録されている動作履歴情報を収集する収集手段とを有する。
【０００６】
請求項２に係る本発明は、前記収集手段により収集された動作履歴情報を、格納する履歴格納手段をさらに有する。ここで、動作履歴情報は、例えば、不揮発性の記録領域、ネットワーク送信用のバッファ領域等に格納される。
【０００７】
請求項３に係る本発明では、前記履歴記録手段は、複数の前記履歴情報生成手段により生成される動作履歴情報全ての生成順序を特定するための順序特定情報を、それぞれの動作履歴情報に対応付けて記録し、前記収集手段は、前記履歴記録手段それぞれに記録されている動作履歴情報及び順序特定情報を収集する。
【０００８】
請求項４に係る本発明は、前記収集手段により収集された動作履歴情報を、収集された順序特定情報に基づいて整列させる整列手段をさらに有する。
【０００９】
請求項５に係る本発明は、複数のタスクそれぞれにおいて、それぞれのタスクに関する動作履歴情報を生成するステップと、複数のタスクそれぞれに割り当てられた記録領域に、これらのタスクそれぞれにおいて生成された動作履歴情報を記録するステップと、複数のタスクそれぞれに割り当てられた記録領域から、動作履歴情報を収集するステップとをコンピュータに実行させる。
【発明の効果】
【００１０】
請求項１に係る本発明によれば、排他制御を行わずに、複数のタスクに関する動作履歴情報を収集することができる情報処理装置を提供することができる情報処理装置を提供することができる。
【００１１】
請求項２に係る本発明によれば、請求項１に係る本発明が奏する効果を奏することに加えて、不揮発性の記録領域に動作履歴情報を記録するか、又は動作記録をネットワークで動作履歴情報を送信することができる情報処理装置を提供することができる。
【００１２】
請求項３に係る本発明によれば、請求項１に係る本発明が奏する効果を奏することに加えて、動作履歴情報の生成順序を特定する順序特定情報を記録することができる情報処理装置を提供することができる。
【００１３】
請求項４に係る本発明によれば、請求項３に係る本発明が奏する効果を奏することに加えて、動作履歴情報を生成順序に整列することができる情報処理装置を提供することができる情報処理装置を提供することができる。
【００１４】
請求項５に係る本発明によれば、排他制御を行わずに、複数のタスクに関する動作履歴情報を収集することができる情報処理装置を提供することができるプログラムを提供することができる。
【発明を実施するための最良の形態】
【００１５】
図１（Ａ）は、画像形成システム１のハードウェア構成を例示し、図１（Ｂ）は、画像形成システム１のソフトウェア構成を例示する図である。
図１（Ａ）に例示するように、画像形成システム１は、画像形成装置本体１０、ＣＰＵ１００、ＲＡＭ１１０、ＲＯＭ１２０、及び、ＩＯ装置１３０を有する。ＣＰＵ１００、ＲＡＭ１１０、ＲＯＭ１２０及びＩＯ装置１３０は、例えば、画像形成装置本体１０の内部に設けられ、システムバスを介して互いに接続している。なお、ＣＰＵ１００、ＲＡＭ１１０、ＲＯＭ１２０及びＩＯ装置１３０の組み合わせが、本発明に係る情報処理装置の一例である。
【００１６】
画像形成装置本体１０は、例えば、スキャナ装置及びプリントエンジンを含み、原稿から画像を読み取り、読み取られた画像を印刷用紙に印刷する。
ＣＰＵ１００は、中央演算装置であり、例えば、ＲＯＭ１２０に格納されたプログラムを実行する。
【００１７】
ＲＡＭ１１０は、主記憶装置であり、例えば、ＣＰＵ１００に対してワークエリアを提供する。
ＲＯＭ１２０は、不揮発性メモリであり、例えば、プログラムファイルを格納する。
ＩＯ装置１３０は、入出力装置であり、例えば、LANポートである。
【００１８】
図１（Ｂ）に例示するように、画像形成システム１は、デバイスドライバ、ＯＳ（Operation System）、複数のタスク、及び、少なくとも１つのアプリケーションを有する。デバイスドライバは、図１（Ａ）に例示したハードウェア構成を制御する。ＯＳは、基本ソフトウェアである。タスクは、処理の実行単位である。アプリケーションは、例えば、画像形成処理に必要な各機能を実現するソフトウェアである。
【００１９】
図２は、ログ収集処理を実現するための機能構成を例示する図である。
図２に例示するように、ログ収集プログラムは、管理対象となるタスク（タスクＡ及びタスクＢなど）と、ログ収集タスクとに分散して存在する。
管理対象となる各タスク（本図のタスクＡ及びタスクＢなど）には、順序保証モジュール５００、ログ生成モジュール５０２、及び、ログ書込みモジュール５０４が設けられており、さらに、ログ情報（すなわち、動作履歴情報）を記録するための記録領域（以下、タスクログ記録領域１１２）が割り当てられている。
また、ログ収集タスクには、ログ収集モジュール５１０、ログ整列モジュール５１２、及び、ログ格納モジュール５１４が設けられており、複数のタスクから収集したログ情報を記録するための記録領域（以下、全体ログ記録領域１１４）が割り当てられている。
【００２０】
ログ収集プログラムにおいて、順序保証モジュール５００は、複数のタスクそれぞれで生成されるログ情報の生成順序を特定するための順序特定情報を生成する。
本例の順序保証モジュール５００は、画像形成システム１の内部クロックカウント値から、順序特定値を生成する。
【００２１】
各タスクのログ生成モジュール５０２は、タスクの動作履歴を示す動作履歴情報（ログ情報）を生成する。
本例のログ生成モジュール５０２は、関数ポインタ及び関数の引数をログ情報として生成する。なお、ログ生成モジュール５０２は、タスクＩＤ及びイベントをログ情報として生成してもよい。
【００２２】
ログ書込みモジュール５０４は、ログ生成モジュール５０２により生成されたログ情報をタスクログ記録領域１１２に書き込む。
本例のログ書込みモジュール５０４は、ログ生成モジュール５０２により生成されたログ情報と、このログ情報に関して順序保証モジュール５００により生成された順序特定値とを互いに対応付けた状態でタスクログ記録領域１１２に書き込む。
【００２３】
各タスクのタスクログ記録領域１１２は、ログ書込みモジュール５０４により書き込まれたログ情報を記録する。
本例のタスクログ記録領域１１２は、ログ書込みモジュール５０４により書き込まれたログ情報を時系列に記録する。
【００２４】
ログ収集モジュール５１０は、複数のタスクそれぞれのタスクログ記録領域１１２に記録されているログ情報を収集する。
本例のログ収集モジュール５１０は、複数のタスクログ記録領域１１２から、ログ情報及び順序特定値を収集する。
【００２５】
ログ整列モジュール５１２は、ログ収集モジュール５１０により収集されたログ情報を、順序特定値に基づいて整列させる。
本例のログ整列モジュール５１２は、複数のタスクログ記録領域１１２から収集されたログ情報を、各ログ情報に対応付けられた順序特定値に基づいて、ログ情報の生成順序に並べ替える。
【００２６】
ログ格納モジュール５１４は、ログ収集モジュール５１０により収集されたログ情報を全体ログ記録領域１１４に格納する。
全体ログ記録領域１１４は、ログ格納モジュール５１４により格納されたログ情報を記録する。
【００２７】
次に、画像形成システム１の動作例を説明する。
図３は、各タスク内でのログ収集動作（Ｓ１０）を例示するフローチャートである。
図３に示すように、モジュールが呼び出されると、ステップ１０５（Ｓ１０５）において、ログ生成モジュール５０２は、関数ポインタと関数の引数とで呼び出され、この関数の識別情報（関数ID）及び関数の引数をログ情報とする。
【００２８】
ステップ１１０（Ｓ１１０）において、ログ生成モジュール５０２は、ログ情報を生成すると、順序保証モジュール５００を呼び出す。
ステップ１１５（Ｓ１１５）において、順序保証モジュール５０２は、ログ生成モジュール５０２からの呼出しに応じて、内部クロックカウンタ値から、順序特定値を生成する。
【００２９】
ステップ１２０（S１２０）において、ログ書込みモジュール５０４は、書込みポインタの更新準備を行う。具体的には、ログ書込みモジュール５０４は、順序特定値及びログ情報（関数ID及び関数の引数）を記録する領域分だけ、書込みポインタ１を進める。
【００３０】
ステップ１２５（Ｓ１２５）において、ログ書込みモジュール５０４は、ログ生成モジュール５０２により生成されたログ情報（関数ID及び関数の引数）と、順序保証モジュール５００により生成された順序特定値とを互いに対応付けた状態でタスクログ記録領域１１２に書き込む。
【００３１】
ステップ１３０（Ｓ１３０）において、ログ書込みモジュール５０４は、ログ情報及び順序特定値の書込みに応じて、書込みポインタを更新する。具体的には、ログ書込みモジュール５０４は、書込みポインタ２を書込みポインタ１にあわせる。
【００３２】
図４は、タスク間でのログ収集動作（Ｓ２０）を例示するフローチャートである。なお、ログ収集タスク（図２）は、例えば、定期的に起動して、タスク間ログ収集動作（Ｓ２０）を開始する。
図４に示すように、ステップ２００（Ｓ２００）において、ログ収集モジュール５１０（図２）は、収集対象となるタスクを順に選択する。
【００３３】
ステップ２１０（Ｓ２１０）において、ログ収集モジュール５１０は、読込みポインタから、選択されたタスクのタスクログ領域１１２における読込み位置を特定する。
ステップ２１５（Ｓ２１５）において、ログ収集モジュール５１０は、特定した読込み位置から、１つ分のログ情報及び順序特定値を読み出す。
ログ格納モジュール５１４は、ログ収集モジュール５１０により読み出されたログ情報及び順序特定値を全体ログ記録領域１１４に書き込む。
【００３４】
ステップ２２０（S２２０）において、ログ収集モジュール５１０は、選択されたタスクのタスクログ記録領域１１２から、全てのログ情報を読み出したか否かを判断し、全てのログ情報を読み出した場合に、S２２５の処理に移行し、読み出していないログ情報が残存する場合に、S２１０の処理に戻って、次のログ情報を読み出す。
【００３５】
ステップ２２５（Ｓ２２５）において、ログ収集モジュール５１０は、読み出されたログ情報及び順序特定値に応じて、読込みポインタを更新する。具体的には、ログ収集モジュール５１０は、読み出されたログ情報及び順序特定値の分だけ、読込みポインタを進める。
【００３６】
ステップ２３０（Ｓ２３０）において、ログ収集モジュール５１０は、全タスクのログ収集が完了したか否かを判断し、未処理のタスクが存在する場合に、S２００の処理に戻り、全てのタスクについて処理が完了した場合に、S２３５の処理に移行する。
【００３７】
ステップ２３５（S２３５）において、ログ整列モジュール５１２は、全体ログ記録領域１１４に記録されているログ情報を、対応する順序特定値に基づいて時系列に並べ替える。
【００３８】
図５は、収集されるログ情報を例示する図である。図５（A）は、タスクA内で収集されたログ情報及び順序特定値を例示し、図５（B）は、タスクB内で収集されたログ情報及び順序特定値を例示する。また、図５（C）は、全体ログ記録領域１１４に記録されたログ情報（整列済み）を例示し、図５（D）は、全体ログ記録領域１１４に記録されたログ情報を解析用に変換したものを例示する。
図５（A）及び図５（B）に示された「Byte数」は、ログ情報（関数ID及び関数引数）を表現するために必要なバイト数である。図５（A）及び図５（B）のログ情報が、ログ収集モジュール５１０により収集され、ログ整列モジュール５１２により時系列に並べ替えられると、図５（C）の全体ログ情報となる。すなわち、タスクA及びタスクBから収集されたログ情報は、順序特定値に基づいて、時系列順にソートされることになる。そして、この全体ログ情報は、ログ解析ツールによって変換されると、図５（D）のログ解析用データとなる。これにより、管理者は、複数のタスクが含まれた画像形成システム１の動作履歴を解析することができる。
【００３９】
以上説明したように、本実施形態の画像形成システム１によれば、各タスクについてタスクログ記録領域を設けて、各タスクについて生成されたログ情報をそれぞれのタスクログ記録領域に記録し、ログ収集タスクが非同期でログ情報を各タスクのタスクログ記録領域から収集する。これにより、排他制御を行わずに、複数のタスクに関する動作履歴情報を収集することが可能になる。
【００４０】
［変形例］
次に、上記実施形態の変形例を説明する。
上記実施形態では、画像形成システム１内でログ情報を解析する形態を説明したが、これに限定されるものではなく、例えば、画像形成システム１の外部にログ情報を送出し、外部に設けられたログ解析装置で、ログ情報を蓄積し解析してもよい。
【００４１】
図６は、画像形成システム１の外部にログ解析装置２０を設けた形態を例示する図である。なお、本図に示された各構成のうち、図２に示された構成と実質的に同一のものには同一の符号が付されている。
図６に例示するように、管理対象となるタスク（タスクＡ及びタスクＢなど）とログ収集タスクが設けられた画像形成システム１の外部には、ログ解析装置２０が設けられている。ログ解析装置２０は、例えば、コンピュータ端末であり、LANなどのネットワークを介して画像形成システム１に接続している。ログ解析装置２０には、ログ受信モジュール５２０、ログ整列モジュール５２２、ログ格納モジュール５２４、及び、全体ログ記録領域５２６が設けられている。
また、ログ収集タスクには、ログ整列モジュール５１２に代えて、ログ送信モジュール５１６が設けられ、全体ログ記録領域１１４に代えて、送信用バッファ１１６が割り当てられている。
【００４２】
本変形例では、ログ格納モジュール５１４は、ログ収集モジュール５１０により収集されたログ情報及び順序特定値を送信用バッファ１１６に書き込み、ログ送信モジュール５１６は、ネットワークを介して、送信用バッファ１１６に記録されたログ情報及び順序特定値を、ログ解析装置２０（ログ受信モジュール５２０）に送信する。
ログ解析装置２０のログ受信モジュール５２０は、ログ送信モジュール５１６からログ情報及び順序特定値を受信すると、ログ格納モジュール５２４は、受信されたログ情報及び順序特定値を全体ログ記録領域５２６に格納する。本変形例の全体ログ記録領域５２６は、ログ解析装置２０の記録領域の一部である。
【００４３】
ログ整列モジュール５２２は、全体ログ記録領域５２６に記録されたログ情報を、対応する順序特定値に基づいて並び替える。
このように、ログ収集モジュール５１０により収集されたログ情報は、画像形成システム１の外部に送出し、外部のログ解析装置２０により管理されてもよい。
【図面の簡単な説明】
【００４４】
【図１】画像形成システム１のハードウェア構成及びソフトウェア構成を例示する図である。
【図２】ログ収集処理を実現するための機能構成を例示する図である。
【図３】各タスク内でのログ収集動作（Ｓ１０）を例示するフローチャートである。
【図４】タスク間でのログ収集動作（Ｓ２０）を例示するフローチャートである。
【図５】収集されるログ情報を例示する図である。
【図６】画像形成システム１の外部にログ解析装置２０を設けた形態を例示する図である。
【符号の説明】
【００４５】
１・・・画像形成システム
１０・・・画像形成装置本体
１００・・・ＣＰＵ
１１０・・・ＲＡＭ
１１２・・・タスクログ記録領域
１１４・・・全体ログ記録領域
１１６・・・送信用バッファ
１２０・・・ＲＯＭ
１３０・・・ＩＯ装置
２０・・・ログ解析装置
５００・・・順序保証モジュール
５０２・・・ログ生成モジュール
５０４・・・ログ書込みモジュール
５１０・・・ログ収集モジュール
５１２，５２２・・・ログ整列モジュール
５１４，５２４・・・ログ格納モジュール
５１６・・・ログ送信モジュール
５２０・・・ログ受信モジュール
【図１】
2010066799.tif 000003
【図２】
2010066799.tif 000004
【図３】
2010066799.tif 000005
【図４】
2010066799.tif 000006
【図５】
2010066799.tif 000007
【図６】
2010066799.tif 000008