(57)【要約】【課題】ＳＮＴＰ等のプロトコルにより時刻情報を定期的に補正する履歴記録装置において、内蔵時計の誤差による履歴時刻の不具合を低減する。【解決手段】履歴記録装置の内蔵時計（ＲＴＣ）は、該時計のクロックの分周パルスを電源投入時点から通算して計数し、これを第一の時刻として提供すると共に、一般的な年月日時分秒等の単位で示される公共的な時刻も計時し、これを第二の時刻として提供する。履歴記録装置は、管理対象の装置から事象の発生の通知を受けると、その事象に対して通し番号No.を付与し、その時点でＲＴＣから供給される第一の時刻Time1及び第二の時刻Time2を、その事象を示す文字列Eventと合わせて、履歴情報として記録する。電源投入直後、ＳＮＴＰによる外部の基準時計との時刻合わせが完了するまでは、履歴には、第一の時刻Time1のみを記録する。【選択図】        図９
2004199410.tif 000002
【特許請求の範囲】
【請求項１】
所定のタイミングを起点とする通算の経過時間を第一の時刻として計時する第一計時手段と、
所定の基準時刻と等価な単位での計時結果を第二の時刻として求める第二計時手段と、
前記基準時刻の正確な値を外部の所定の基準計時装置から取得し、取得した基準時刻を用いて前記第二計時手段が示す第二の時刻の値を補正する時刻補正手段と、
記録すべき事象の発生を検知する事象検知手段と、
前記事象検知手段で事象の発生を検知した場合、その時点で前記第一計時手段及び第二計時手段がそれぞれ示す第一の時刻及び第二の時刻を、その事象の内容を示す情報と共に、その事象の履歴として記録する記録手段と、
を備える履歴記録装置。
【請求項２】
前記第一計時手段における前記第一の時刻の計時の起点となる前記所定のタイミングは、当該履歴記録装置に対する電源投入時点であることを特徴とする請求項１記載の履歴記録装置。
【請求項３】
当該履歴記録装置に対する電源投入を検知すると、前記時刻補正手段を起動して前記第二の時刻の補正を行わせる電源投入時補正制御手段を更に備え、
前記記録手段は、電源投入時点から前記電源投入時補正制御手段の制御による前記第二の時刻の補正が完了したことを検知するまでの期間に発生が検知された事象については、その履歴に前記第二の時刻を記録しない、
ことを特徴とする請求項２記載の履歴記録装置。
【請求項４】
前記時刻補正手段は、前記第一の計時手段及び前記第二の計時手段が基準とするクロックの誤差と、前記第二の時刻に求められる要求精度と、に基づき定められた補正間隔ごとに定期的に前記第二の時刻の補正処理を実行することを特徴とする請求項１記載の履歴記録装置。
【請求項５】
前記時刻補正手段は、前記第二の時刻の補正を開始した時点でその旨を前記記録手段が検知できるようにするとともに、その補正が終了した時点でその旨を前記記録手段が検知できるようにし、
前記記録手段は、前記時刻補正手段が前記第二の時刻の補正を開始してから終了するまでの期間に発生が検知された事象については、その履歴に前記第二の時刻を記録しない、
ことを特徴とする請求項４記載の履歴記録装置。
【請求項６】
前記記録手段は、前記時刻補正手段による前記第二の時刻の補正が完了したことを検知した時点で、この時刻補正完了の履歴を記録する、
ことを特徴とする請求項１記載の履歴記録装置。
【請求項７】
所定のタイミングを起点とする通算の経過時間を第一の時刻として計時し、
前記第一の時刻の計時と並行して、所定の基準時刻と等価な単位での時刻を第二の時刻として計時し、
所定のタイミングで、前記基準時刻の正確な値を外部の所定の基準計時装置から取得し、取得した基準時刻を用いて前記第二の時刻の値を補正し、
記録すべき事象の発生を検知した場合、その時点での前記第一の時刻及び前記第二の時刻を、その事象の内容を示す情報と共に、その事象の履歴として記録する、
履歴記録方法。
【請求項８】
コンピュータシステムに、
所定のタイミングを起点とする通算の経過時間を第一の時刻として計時するステップ、
前記第一の時刻の計時と並行して、所定の基準時刻と等価な単位での時刻を第二の時刻として計時するステップ、
所定のタイミングで、前記基準時刻の正確な値を外部の所定の基準計時装置から取得し、取得した基準時刻を用いて前記第二の時刻の値を補正するステップ、
記録すべき事象の発生を検知した場合、その時点での前記第一の時刻及び前記第二の時刻を、その事象の内容を示す情報と共に、その事象の履歴として記録するステップ、
を実行させるためのプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、情報処理機能を備える装置に接続された、またそのような装置に内蔵された履歴記録装置に関するものであり、特に時刻とともに履歴が記録される履歴記録装置に関するものである。
【０００２】
【従来の技術】
今日多くの装置は、該装置内で発生した事象の履歴を記録し、これを画面表示やその他の方法で出力する機能を備えている。この機能の目的は、処理実行の証明や、装置の不具合の解析や、装置の利用状況の把握など様々である。しかし、いずれの目的においても、その処理内容は、装置内外からの指示に従い何らかの処理が実行された結果として発生する装置属性や装置状態の変化を、その変化が生じた時刻と共に履歴として記録するものである。
【０００３】
近年急増するセキュリティ機能を持つ装置では、上記の履歴記録機能は不正利用者の特定や、不正利用者から被った被害の特定といった目的に利用されるため、記録に用いられる時刻は非常に正確でなければならない。そのため装置は、正確な時刻情報の取得及び保持のための手段が不可欠となる。
【０００４】
正確な時刻情報の取得方法に関する公知の技術として、非特許文献１に示されるNTP(Network Time Protocol, RFC1305)、非特許文献２に示されるSNTP (Simple Network Time Protocol, RFC2030)等がよく用いられている。これら公知技術では、インターネット等のネットワークに接続された各装置は、高い精度で正確な時刻情報を持つ外部時刻源（タイムサーバともいう）からネットワークを介して時刻情報を取得する。この技術を用いることで、操作者が介在することなく、プリンタや複合機等の装置は正確な時刻情報を得ることができ、その結果装置内で発生した事象を正確に記録することが可能となる。
【０００５】
しかし、装置内で何らかの事象が発生する度に、上記の取得技術を用いて時刻情報をタイムサーバに問い合わせたのでは、装置自体の処理効率を低下させるだけではなく、ネットワークトラフィックを増加させてしまい他の装置に対して通信速度の低下等の悪影響を及ぼすこととなる。
【０００６】
そのため、一般的には、装置内部にクロック回路を設け、上記の取得技術で取得した正確な時刻情報をそのクロック回路に設定し、そのクロック回路から提供される時刻情報を履歴の記録に用いることで、タイムサーバからの時刻取得の頻度を減らしている。
【０００７】
ここで、装置内のクロック回路は、コスト等の理由から一定の精度誤差を許容した簡易な計時機能しか持たないことが一般的であり、稼動が長期間に及んだ場合には無視することが出来ないほど大きな誤差（基準計時手段との時刻差。例えばタイムサーバと、装置内のクロック回路とのある時点における計時時刻の差）が発生してしまう。そのため、正確な時刻情報を取得し、これをもとにクロック回路の時刻情報を修正することを、定期的に、またはある事象（電源投入など）の発生等に応じて不定期に行うことで、クロック回路の出力時刻の誤差を低減している。
【０００８】
【非特許文献１】
ＲＦＣ１３０５
【非特許文献２】
ＲＦＣ２０３０
【０００９】
【発明が解決しようとする課題】
しかし、前述の履歴記録装置では、工場出荷時等のように、クロック回路に対して一度も正確な時刻情報が取得、設定されていない期間には、各事象が正確ではない時刻を伴って記録されてしまう。
【００１０】
このような事態の防止方法として、装置の電源が投入された時点から正確な時刻が取得される時点までの間、装置が他の機能(特に事象の記録が必要な機能)の実行を抑制するといった方法が考えられるが、これには次のような問題がある。
【００１１】
すなわち、そのような方法を採った場合、時刻情報の取得にかかる処理が完了するまでの間、ユーザを待たせてしまうことになってしまう。もし履歴記録装置が、前述したNTPやSNTPを用いて、時刻を取得する場合、当該装置とタイムサーバ間のネットワークトラフィックや物理的距離に依存して待ち時間が伸びてしまうことが予想される。
【００１２】
また、前述の従来の履歴記録装置の別の問題を、図１２を用いて説明する。図１２は、時刻補正機能を備える履歴記録装置内に記録されている履歴データを、表として示したものである。履歴データの各エントリは、各事象の発生順序を示す履歴番号と、発生時刻と、事象の内容を示す情報で構成されている。図１２の例では、履歴記録装置は、履歴番号７の事象と履歴番号８の事象との間で、タイムサーバにアクセスして正確な時刻を取得し、内蔵クロック回路の時刻を補正している。この例で示す問題は、履歴番号７の事象と履歴番号８の事象の関係である。すなわち、履歴番号７の事象よりも後に履歴番号８の事象が発生したにも関わらず、発生時刻の順序が逆となっている点である。このような現象は、クロック回路が実際の時刻に比べ早く進む性質を持ち、累積された時刻誤差を補正した場合に発生する。図１２に示すような履歴情報では、満足な情報を得られないだけではなく、管理者等の履歴利用者の混乱を招いてしまう。
【００１３】
履歴の記録に関する上述した不具合を解消すべく、本発明は、外部時刻源を用いた時刻補正機能を持ち、補正前後の履歴情報によって履歴利用者が混乱を招くことのない履歴記録装置を提供することが目的である。
【００１４】
さらに、本発明は、外部時刻源からの応答を待つ間も事象を記録することができ、利用者を待たせることなく履歴記録以外の機能を提供することが可能な履歴記録装置を提供することが目的である。
【００１５】
【課題を解決するための手段】
このような目的を達成するため、本発明に係る履歴記録装置は、所定のタイミングを起点とする通算の経過時間を第一の時刻として計時する第一計時手段と、所定の基準時刻と等価な単位での計時結果を第二の時刻として求める第二計時手段と、前記基準時刻の正確な値を外部の所定の基準計時装置から取得し、取得した基準時刻を用いて前記第二計時手段が示す第二の時刻の値を補正する時刻補正手段と、記録すべき事象の発生を検知する事象検知手段と、前記事象検知手段で事象の発生を検知した場合、その時点で前記第一計時手段及び第二計時手段がそれぞれ示す第一の時刻及び第二の時刻を、その事象の内容を示す情報と共に、その事象の履歴として記録する記録手段と、を備える。
【００１６】
ここで、基準時刻とは、例えば広く用いられ人々が馴染んでいる年月日時分秒等の単位で表される時刻である。基準時刻の単位での計時とは、そのような年月日時分秒等の単位での計時を意味する。
【００１７】
好適な態様では、前記第一の時刻は、当該履歴記録装置に対する電源投入時点を起点として計時を開始する。
【００１８】
ここで、当該履歴記録装置に対する電源投入を検知すると、前記時刻補正手段を起動して前記第二の時刻の補正を行わせる電源投入時補正制御手段を更に設け、前記記録手段は、電源投入時点から前記電源投入時補正制御手段の制御による前記第二の時刻の補正が完了したことを検知するまでの期間に発生が検知された事象については、その履歴に前記第二の時刻を記録しないようにすることも好適である。
【００１９】
また別の好適な態様では、前記時刻補正手段は、前記第一の計時手段及び前記第二の計時手段が基準とするクロックの誤差と、前記第二の時刻に求められる要求精度と、に基づき定められた補正間隔ごとに定期的に前記第二の時刻の補正処理を実行する。
【００２０】
ここで、前記時刻補正手段は、前記第二の時刻の補正を開始した時点でその旨を前記記録手段が検知できるようにするとともに、その補正が終了した時点でその旨を前記記録手段が検知できるようにし、前記記録手段は、前記時刻補正手段が前記第二の時刻の補正を開始してから終了するまでの期間に発生が検知された事象については、その履歴に前記第二の時刻を記録しないようにすることも好適である。
【００２１】
また、別の好適な態様では、前記記録手段は、前記時刻補正手段による前記第二の時刻の補正が完了したことを検知した時点で、この時刻補正完了の履歴を記録する。
【００２２】
【発明の実施の形態】
以下に、本発明を、その実施形態を示す図面に基づいて具体的に説明する。
【００２３】
図１は、本発明に係る履歴記録装置の実施形態である「ログ収集装置」を含むシステムの構成図である。このシステムは、ホスト装置１とログ収集装置２とタイムサーバ３によって構成されている。ホスト装置１は、ログ収集装置２でログ（事象の履歴）が管理可能なものであればどのようなものでもよく、例えばプリンタや複写機、複合機、あるいは家電機器などが考えられる。
【００２４】
このシステム構成では、ログ収集装置２がＬＡＮやインターネット等のネットワーク４に接続されており、ホスト装置１はそのログ収集装置２に対して有線接続されている。すなわち、この構成例は、ホスト装置１はネットワーク４には直接接続していない。なお、ホスト装置１とログ収集装置２との間の有線接続の方法としては、シリアル接続(ＲＳ-２３２Ｃ,ＵＳＢ等)やパラレル接続(ＩＥＥＥ-１２８４等)が利用可能である。
【００２５】
ログ収集装置２とタイムサーバ３はネットワーク４を介して接続され、プロトコルＳＮＴＰ (Simple Network Time Protocol, RFC2030)に従った通信を行うことができる。タイムサーバ３は、ネットワーク４上に設置され、精度が確保された基準時計であり、ネットワーク４上の各装置からの要求に応じてその標準時計が示す時刻情報を提供する。
【００２６】
ログ収集装置２は、ＣＰＵ（中央演算処理装置）２１、ＲＯＭ（リード・オンリ・メモリ）２２、ＲＡＭ（ランダム・アクセス・メモリ）２３、ＲＴＣ(Real Time Clock)２４、ハードディスク２５、ホストＩ／Ｆ２６、ネットワークＩ／Ｆ２７から構成される。
【００２７】
ＣＰＵ２１は、ＲＯＭ２２に格納されているプログラムに従い、データの入出力が可能なＲＡＭ２３のメモリ領域を利用して、ホストＩ／Ｆ２６及びネットワークＩ／Ｆ２７に対する通信制御や、ＲＴＣ２４からの時刻の取得及びＲＴＣ２４への時刻の設定や、ハードディスク２５に対するデータ入出力制御や、指示された演算処理等を行う。
【００２８】
ＲＴＣ２４は、ＣＰＵ２１に対して時刻情報を提供するクロック機構である。またＲＴＣ２４は、ＣＰＵ２１からの時刻の設定を受け付けることもできる。
【００２９】
本実施形態のＲＴＣ２４は、２種類の時刻情報を提供する。すなわち、ログ収集装置２への電源投入時点を０として計時した第一の時刻と、ＣＰＵ２１から受け付けた設定時刻をもとに計時した第二の時刻の２つである。具体例を上げると、第一の時刻は１０ms間隔で計数したカウント数で表す。例えばログ収集装置２への電源投入時点（例えば、ログ収集装置２は、ホスト装置１の電源投入・切断に連動して電源投入・切断が行われる）から１秒経過した時点での第一の時刻は１００となる。すなわち、この第一の時刻は、電源投入時点からのＲＴＣ２４の内蔵クロックのパルス（又はこれを分周した分周パルス）をカウントしたカウント値で示される。この第一の時刻は、電源投入時点から一貫して計時し、ログ収集装置２への電源が断たれるまでの間に修正されることはない。これに対し、第二の時刻は、「年月日時分秒」といった値で構成される一般的な意味での「時刻」である。
【００３０】
ハードディスク２５は、ログ情報を格納する手段である。これらログ情報は、ＣＰＵ２１の制御により、ハードディスク２５に書き込まれたり、ハードディスク２５から読み出されたりする。ホストＩ／Ｆ２６は、ＲＳ-２３２Ｃ等の規格に従ってホスト装置１との通信を行う。ネットワークＩ／Ｆ２７は、ネットワーク４を経由したタイムサーバ３との通信に使用する。
【００３１】
次に図１に示すシステムの動作概要を説明する。
【００３２】
本システムでは、図２に示すログ操作処理と、図８に示す時刻補正処理とが同時並行的に実行される。これら各処理は、それぞれ対応するプログラムをＣＰＵ２１で実行することで行われる。これら各プログラムは、ＲＡＭ２３上の一部の領域(以下、共有メモリ領域)を共有することで、データの交換を行う。
【００３３】
はじめに、ログ操作処理について説明する。図２に示すように、この処理では、まずホスト装置１と、時刻補正処理のプログラムからの要求メッセージを待ち受ける。要求メッセージの種類は「ログ記録要求」メッセージと「ログ取得要求」メッセージの２種類である。「ログ記録要求」メッセージとは、発生した事象に関する指定した文字列（以下、履歴文字列という）をログ収集装置２内に記録することを要求するメッセージである。「ログ取得要求」は、ログ収集装置内に記録されているログ情報の送信を要求するメッセージである。この要求メッセージの受渡しは、ホスト装置１との間ではホストＩ／Ｆ２６を介する送受信により実現し、時刻補正プログラムとの間では上述した共有メモリ領域内への格納と読み出しにより実現する。いずれの要求メッセージも文字列で表すことができる。
【００３４】
図３に、要求メッセージの一例を挙げる。この例では、各要求メッセージは、先頭に要求処理を識別するための文字列がつき、終端文字はnull文字(十六進表記で0x00)となる。この例では、ログ記録要求メッセージを識別するための文字列は「REC:」であり、その後に履歴文字列が続く。また、ログ取得要求メッセージを識別するための文字列は「GET:」となっている。
【００３５】
ログ操作プログラムは、ステップＳ１１で、ホストＩ／Ｆ２６を介してホスト装置１からの要求メッセージを受信したか、またはＲＡＭ２３上の共有メモリ領域内に時間補正プログラムからの要求メッセージが格納されているか否かの判断を例えば定期的に繰り返すことで、要求メッセージを待ち受ける。この待ち受け処理にて、要求メッセージが検出された場合、ステップＳ１１及びＳ１３の判定に進む。これらのステップでは、ＣＰＵ２１はその要求メッセージの先頭３文字から、これがログ記録要求とログ取得要求のどちらであるかを判断する。この判断の結果、受信した要求メッセージがログ取得要求メッセージであった場合には、ログ出力処理を実行する（Ｓ１２）。一方、受信した要求メッセージがログ記録要求メッセージであった場合には、ログ記録処理を実行する（Ｓ１４）。なお、上述した要求メッセージ以外の誤ったメッセージが受信された場合は、このログ操作プログラムは、次のメッセージの受信待機状態となる。
【００３６】
なお、以上の流れにおいて、ログ出力要求メッセージはホスト装置１のみから発行されるのに対し、ログ記録要求メッセージはホスト装置１だけでなく、時刻補正プログラムからも発行される。すなわち、ログ出力要求メッセージは、ホスト装置１の管理者等がそのログ情報を閲覧したい場合に、ホスト装置１の操作入力部に対してログ閲覧指示を入力した場合等に発行される。これに対し、ログ記録要求メッセージは、ホスト装置１の制御部が、自装置内で所定の事象の発生を検知した場合に発行される他、当該ログ収集装置２内の時刻補正処理のプログラムが時刻補正処理を行った際に、その旨をログに記録するために発行される。
【００３７】
次に、図４を参照して、ログ出力処理（Ｓ１２）の一例を説明する。
【００３８】
このログ出力処理では、ステップＳ２０でＣＰＵ２１がハードディスク２５内に記録されているログ情報を読み出し、ＲＡＭ２３に格納する。図５に、メモリ上に格納されたログ情報の例を模式図として示す。この例では、ログ情報の１つのエントリは、各事象の発生順序を示すログ番号No.と、その事象の発生時刻を電源投入時点からの通算経過時間で示した第一の時刻Time1と、その事象の発生時刻を年月日時分秒などの一般的な時刻表示で示した第二の時刻Time2と、その事象の内容を示す履歴文字列Eventで構成されている（これら各ログエントリの記録処理については後述する）。次にステップＳ２１では、ＣＰＵ２１がＲＡＭ２３上に読み出されたログ情報を、ＣＳＶ(Comma Separated Value)形式等の標準的な形式に整形し再度ＲＡＭ２３上に格納する。図６は、図５に示したログ情報例をＣＳＶ形式に整形したログ情報の例である。そして、ステップＳ２２で、ＣＰＵ２１はホストＩ／Ｆ２６を介して、ＲＡＭ２３に格納されている整形済のログ情報をホスト装置１に送信する。
【００３９】
次に、図７を参照して、ログ記録処理（Ｓ１４）の処理例を説明する。このログ記録処理では、時刻補正プログラムが後述する時刻補正を行っているか（以下、時刻補正を行っている間を「時刻補正期間」と呼ぶ）否かに従って、要求された履歴文字列の記録方法を選択する。ここで、本実施形態では、時刻補正プログラムは、ＲＡＭ２３内共有メモリエリア内に確保した所定領域を、時間補正処理中か否かを示すフラグを保持する領域とすることで(この領域を、以下、時刻補正有無表示領域と呼ぶ)、ログ操作プログラムに対し時刻補正期間内であるか否かを伝える。時刻補正有無領域に設定するフラグ値は、例えば、時刻補正中の場合は１、それ以外の場合は０等とすればよい。
【００４０】
このログ記録処理では、まずステップＳ３０において、ＣＰＵ２１がＲＡＭ２３内の時刻補正有無表示領域のフラグ値を読み出し、その処理時点が時刻補正期間内であるか否かを判断する。ここで、もし処理時点が時刻補正期間内でないと判断した場合は、ステップＳ３１にて、ＣＰＵ２１はＲＴＣ２４に対し前述の第一及び第二の時刻を要求し、得られた二つの時刻と履歴文字列とを一つの組として、ログ番号を付与した上で、それらを対応付けてハードディスク２５に格納する（例えば図５参照）。一方、ステップＳ３０の判定で、その処理時点が時刻補正期間内であると判断した場合は、ステップＳ３２にて、ＣＰＵ２１がＲＴＣ２４に対し第一の時刻（電源投入時点からの通算経過時間に相当する時刻）のみを要求し、得られた第一の時刻と履歴文字列とを一つの組として、ログ番号を付与した上で、それらを対応付けてハードディスク２５に格納する。ログ記録処理は、ステップＳ３１又はＳ３２のハードディスクへの格納が完了した時点で終了する。
【００４１】
次に、時刻補正処理について、図８のフローチャートを参照して説明する。大まかに言えば、この時刻補正処理では、ある一定間隔で外部時刻源にアクセスして時刻を補正すると共に、その時刻補正に要する期間をログ操作プログラムに通知し、さらに時刻補正が完了した時点の記録を行う。
【００４２】
この処理では、まずステップＳ４０で、ＣＰＵ２１は、前回に時刻補正を実施した時点の時刻情報を保持するカウンタTmをクリアする。カウンタTmはＲＡＭ２３に確保した領域であり、時刻情報としては、電源投入時点からの通算経過時間を示す第一の時刻を用いる。
【００４３】
次に、ステップＳ４１では、ＣＰＵ２１は、ＲＴＣ２４に対し、第一の時刻を要求し、この第一の時刻(時刻補正プログラム内ではTrとして表現する)と前回補正時点を示すカウンタTmとの差分を求め、この差分(Tr-Tm)が、予め設定されている時刻補正間隔を越えているか否かを判断する。
【００４４】
ここで時刻補正間隔とは、ログ情報に記録される事象（イベント）発生時刻に対し、期待する精度を保持するために時刻補正処理が必要となる最短の間隔であり、例えばそれ以上時刻補正を行わないとその精度が確保できなくなる最長の時間間隔を用いることができる。簡単な例を挙げると、ＲＴＣ２４が月差±２０秒を保証している場合において、記録されるイベント発生時刻を月差±１０秒以内で記録したい場合には、時刻補正は最低でも１５日間隔で行わなければならない。この場合、実際には、その１５日といった間隔を、第一の時刻の最小単位である１０msで割った値「129,600,000」が時刻補正間隔の値となる。
【００４５】
そして、ステップＳ４１で、もし差分が時刻補正間隔を越えていないと判定した場合は再度ステップＳ４１に戻り、差分が時刻補正間隔を越えるまでこの待機処理を繰り返す。ステップＳ４１で差分が時刻補正間隔を越えていると判定した場合は、ステップＳ４２に進む。
【００４６】
ステップＳ４２では、ＣＰＵ２１は、前述の時刻補正有無表示領域に時刻補正中である旨を示すフラグ値「１」を格納する。次にステップＳ４３でＣＰＵ２１は、タイムサーバ３に対しＳＮＴＰに従った時刻問い合せを、ネットワークＩ／Ｆ２７を介して実施する。この問い合わせによりタイムサーバ３から正確な時刻情報が取得できると、ステップＳ４４でＣＰＵ２１は、その時刻情報をＲＴＣ２４に設定する。このＲＴＣ２４への設定が完了すると、次にステップＳ４５で、ＣＰＵ２１は、ＲＡＭ２３内の時刻補正有無表示領域のフラグ値を、時刻補正中ではない旨を示す値「０」に変更する。そして、ステップＳ４６で、ＣＰＵ２１は、ＲＡＭ２３内の共有メモリ領域に、ログ記録要求メッセージを格納することで、前述のログ操作処理のプログラムに対し、時刻補正を行ったという事象のログの記録を要求する。ここでのログ記録要求メッセージ内の履歴文字列としては、時刻補正完了の旨を示す所定の文字列を用いればよい。このログ記録の要求が完了すると、時刻補正プログラムは、ステップＳ４１に戻り、次の時刻補正タイミングの到来を待つ。
【００４７】
時刻補正プログラムによる時刻補正イベントの記録を含むログ情報とその出力の例を図９及び図１０に示す。この例は、ログ記録装置２への電源投入直後から時刻補正プログラムが起動して時刻補正処理が開始され、この時刻補正期間中にホスト装置１でプリント処理が開始された場合のログ情報を示している。
【００４８】
このログ例では、ログ番号３のログが、電源投入後の最初の時刻補正の完了を示しており、この完了時点では、タイムサーバ３から正確な時刻情報（第二の時刻）が取得できているので、この事象とそれ以降の事象については、ログには第一の時刻（電源投入時からの通算経過時間に対応する時刻）に加え、第二の時刻も記録される。
【００４９】
一方、最初の時刻補正が完了するまでの補正期間中にホスト装置１で発生した事象（例えば電源投入直後に実行されるプログラムの起動や、電源投入直後にホスト装置１に指示されたプリントやコピーの処理開始など）については、ログには第一の時刻Time1のみが記録され、年月日時分秒等の一般的な時刻である第二の時刻Time2の値は記録されない。したがって、ＣＳＶ形式等のログ出力においても、第二の時刻Time2に対応する欄は空欄であり、時刻を表す文字列は出力されない。
【００５０】
以上、実施形態のログ収集装置２の装置構成とその処理手順を説明した。このログ収集装置２では、タイムサーバ３から正確な時刻情報（第二の時刻）が取得できる前に事象が起こっても、電源投入時からの通算経過時間に相当する第一の時刻をログに記録することができる。したがって、ログ情報を検査する管理者等の人は、この第一の時刻をみることで、年月日時分秒で表される第二の時刻ほど分かりやすくはないものの、事象発生のタイミングを知ることができる。このように、本実施形態では、タイムサーバ３からの時刻取得前にも事象発生タイミングを示す時刻情報（第一の時刻）を記録できるので、従来装置のようにタイムサーバ３からの時刻取得までの間ホスト装置１の時刻取得以外の処理を一時的に禁止するなどといった対策をとらなくてよい。したがって、ホスト装置１のユーザを待たせなくて済む。
【００５１】
また、ログ収集装置２の電源切断中は、タイムサーバ３との通信による時刻補正を行っていないため、電源投入後のＲＴＣ２４の第二の時刻（年月日時分秒等）は大きい誤差を含んでいる可能性がある。従来装置の場合、仮にログ収集装置２の電源投入後にホスト装置１に対するユーザの操作を受け付けたとしたら、その操作に対応して発生した事象のログの時刻情報が、大きな誤差を含む可能性がある。これに対し、本実施形態では、タイムサーバ３を利用した時刻補正処理（電源投入時の最初の時刻取得も含む）の期間中は、そのような大きな誤差を含む可能性がある第二の時刻をログに記録しないようにしたので、このログ情報を閲覧する人が、各事象の時間関係などについて混乱する可能性を低減できる。
【００５２】
また、本実施形態では、タイムサーバ３を利用した時刻補正処理の実行間隔を、ＲＴＣ２４（クロック）の精度と、ログに記録する第二の時刻の要求精度との関係に基づき決定し、その実行間隔ごとに定期的に時刻補正処理を実行するので、時刻補正処理の実行タイミングが到来した時には、ＲＴＣ２４が供給する第二の時刻が要求精度ぎりぎりになっている可能性が高い。したがって、時刻補正期間中は、このような要求精度ぎりぎりである第二の時刻のログへの記録を中止したので、この補正の前後の事象の時刻が数値上逆転するといった不具合を極力防止できる。
【００５３】
また、本実施形態によれば、時刻補正の実行間隔を上記のごとくに定めたので、初回の時刻補正以降で記録される時刻を一定精度以上に保つことができるため、履歴利用者に正確な時刻情報を持つログ情報を提供することが可能となる。
【００５４】
また、この時刻補正期間中に記録する第一の時刻は、いわばＲＴＣ２４のクロック周期をカウントしたものなので、単調に増加していく。したがって、そのクロック周期自体に誤差があるとしても、各事象の第一の時刻同士の前後関係が実際と逆転することは起こりえない。また、２つの事象の第一の時刻同士の差は、それら２事象間の時間間隔（上記の例では１０ms単位）を表している。したがって、クロック周期自体の誤差があるものの、それが何らかの方法で分かれば、第一の時刻同士の差から２事象間のかなり正確な時間間隔を計算することができる。ここで、クロック周期自体の誤差は、例えば、前回の時刻補正完了時点の第一及び第二の時刻（この時点の第二の時刻は正確である）と、今回の時刻補正完了時点の第一及び第二の時刻との比較から計算することができる。このようなクロック周期誤差を、ログ収集装置２で自動計算することも可能である。
【００５５】
また本実施形態のログ収集装置によれば、単一の事象が、装置内のクロックカウントである第一の時刻と、装置外の公共の時刻である第二の時刻の二つの時刻を伴って記録されるため、ログ利用者がどちらの時刻を利用するかを選択することが可能となる。
【００５６】
また、本実施形態によれば、ログ収集装置２は、時刻補正処理の完了も事象の一つとしてログに記録するので、履歴利用者は、時刻補正が実施されたこと、及びその補正が完了した時刻とを把握することができる。時刻補正が完了した時点の第二の時刻は、タイムサーバ３から取得したばかりなので、精度が高い。したがって、ログ利用者は、時刻補正完了時点の第二の時刻は誤差が少なく、時刻補正完了の直前の事象の第二の時刻は誤差が大きくなっている可能性がある、等といった傾向を知ることができ、便利である。
【００５７】
なお、以上の説明では、ホスト装置１がログ収集装置２とＵＳＢなどのケーブルで接続され、ホスト装置１自体はネットワーク４に接続されない場合を説明した。しかしながら、本発明の手法は、このような場合に限らず、図１１に示すように、ホスト装置１がネットワーク４に接続され、ネットワーク４を介してログ収集装置２と通信を行う構成にも適用可能である。この場合、ホスト装置１は、ネットワーク４を通るプロトコル（少なくとも、ログ収集装置２との間で情報がやり取りできるものであればよい）を用いて、ログ記録要求メッセージやログ出力メッセージをログ収集装置２に送ればよい。ログ出力メッセージに対しては、ログ収集装置２は、ＣＳＶ等のログ出力データを、ネットワーク４を介してホスト装置１に返す。なお、この場合、ログ収集装置２にはホストＩ／Ｆ２６は不要である。
【００５８】
また、ログ収集装置２がホスト装置１に内蔵されるシステム構成の場合も、明らかなように本発明は適用可能である。
【００５９】
また、以上の説明では、ログに記録する第一の時刻は、電源投入時点からの通算カウント数を用いたが、これは電源投入時点がタイミングとして明確であり、取り扱いやすいためである。この代わりに、電源投入中の任意の時点を基準に第一の時刻の値を計数していく構成でも、上記実施形態の効果のほとんどを得ることができる。
【図面の簡単な説明】
【図１】本発明に係るログ収集装置を含む第一のシステムの構成を示す図である。
【図２】本発明に係るログ収集装置のログ操作プログラムの処理を示すフローチャートである。
【図３】本発明に係るログ収集装置の要求メッセージのフォーマット例を示す図である。
【図４】本発明に係るログ収集装置のログ出力処理の処理を示すフローチャートである。
【図５】本発明に係るログ収集装置に格納されるログ情報の一例を模式的に示す図である。
【図６】本発明に係るログ収集装置が外部に出力するログ出力の例を示す図である。
【図７】本発明に係るログ収集装置のログ記録処理の処理を示すフローチャートである。
【図８】本発明に係るログ収集装置の時刻補正プログラムの処理を示すフローチャートである。
【図９】本発明に係るログ収集装置に格納されるログ情報の一例を模式的に示す図である。
【図１０】本発明に係るログ収集装置が外部に出力するログ出力の例を示す図である。
【図１１】本発明に係るログ収集装置を含む第二のシステムの構成例を示す図である。
【図１２】時刻補正により発生した矛盾のある履歴情報の例を示す図である。
【符号の説明】
１  ホスト装置、２  ログ収集装置、３  タイムサーバ、４  ネットワーク、２１  ＣＰＵ、２２  ＲＯＭ、２３  ＲＡＭ、２４  ＲＴＣ（計時機構）、２５ハードディスク、２６  ホストＩ／Ｆ、２７  ネットワークＩ／Ｆ。
【図１】
2004199410.tif 000003
【図２】
2004199410.tif 000004
【図３】
2004199410.tif 000005
【図４】
2004199410.tif 000006
【図５】
2004199410.tif 000007
【図６】
2004199410.tif 000008
【図７】
2004199410.tif 000009
【図８】
2004199410.tif 000010
【図９】
2004199410.tif 000011
【図１０】
2004199410.tif 000012
【図１１】
2004199410.tif 000013
【図１２】
2004199410.tif 000014