(57)【要約】      （修正有）【課題】時計が内蔵されていない印刷装置における、確度の高い時刻情報の設定。【解決手段】時刻格納モジュールは、仮現在時刻記憶部を参照して現在時刻を取得し（ステップＳ３２）、第２の印刷ジョブ送信日時記憶部に格納されている第２の時刻情報と現在時刻の差分Ａを算出し、差分Ａの絶対値が所定の時間範囲内であるかを判断する（ステップＳ３４）。差分Ａが所定の時間範囲内に含まれる場合には、第１の時刻情報と第２の時刻情報に矛盾が無いから、第１の時刻情報と第２の時刻情報の確度は高いと判断する。所定の時間範囲とは、一定時間の値に対して、ジョブ受信間隔を表す経過時間に所定の係数を乗算して算出される値を積算した値である。差分Ａの絶対値が所定の時間範囲内である場合には、第１の時刻情報を使用開始時刻とし、第２の時刻情報を最終使用時刻として保持する。【選択図】図４
2009096134.tif 000002
【特許請求の範囲】
【請求項１】
印刷ジョブを印刷する印刷装置であって、
所定の時点からの経過時間を測定するタイマーと、
前記印刷装置の使用が開始された時刻を記憶するための使用開始時刻記憶部と、
前記印刷装置の使用が終了された時刻を記憶するための最終使用時刻記憶部と、
印刷ジョブを受信するジョブ受信手段と、
前記受信した印刷ジョブのうちの第１の印刷ジョブから、前記ジョブ受信手段により受信された前記第１の印刷ジョブに関する時刻を表す第１の時刻情報と、前記第１の印刷ジョブより後に前記印刷ジョブ受信手段により受信された第２の印刷ジョブから、前記第２の印刷ジョブに関する時刻を表す第２の時刻情報と、を抽出する抽出手段と、
前記第１の印刷ジョブ受信時からの経過時間であるジョブ経過時間を、前記タイマーを用いて取得し、前記抽出した第１の時刻情報と前記取得したジョブ経過時間とを用いて仮の現在時刻を算出する算出手段と、
前記第２の時刻情報と前記仮の現在時刻との差分が、前記ジョブ経過時間によって変更する所定の時間範囲に含まれる場合、前記仮の現在時刻もしくは第２の時刻情報を、前記最終使用時刻記憶部に格納する最終使用時刻格納手段と、
前記第２の時刻情報と前記仮の現在時刻との差分が前記所定の時間範囲に含まれ、かつ、前記使用開始時刻記憶部に、前記印刷装置の使用が開始された時刻が格納されていない場合、前記第１の時刻情報により表される時刻を前記使用開始時刻記憶部に格納する使用開始時刻格納手段と、を備える印刷装置。
【請求項２】
請求項１記載の印刷装置であって、
前記所定の時間範囲は、予め規定された一定時間に対して、前記ジョブ経過時間に所定の計数を乗算した変動時間を積算した時間範囲である印刷装置。
【請求項３】
請求項１記載の印刷装置であって、
前記使用開始時刻格納手段は、前記印刷装置の電源投入が初回である場合に、前記印刷装置の電源投入時からの経過時間である動作経過時間を、前記タイマーを用いて取得し、前記第２の時刻情報と前記動作経過時間とを用いて、前記印刷装置の使用が開始された時刻を逆算して、前記逆算された時刻を前記使用開始時刻記憶部に格納する、印刷装置。
【請求項４】
請求項１記載の印刷装置であって、
前記第１の時刻情報は、前記第１の印刷ジョブの生成時刻もしくは送信時刻を含み、
前記第２の時刻情報は、前記第２の印刷ジョブの生成時刻もしくは送信時刻を含む、印刷装置。
【請求項５】
請求項１記載の印刷装置であって、
前記第２の印刷ジョブは、前記第１の印刷ジョブ受信後に受信した印刷ジョブのうち、前記第１の印刷ジョブの発行元とは異なる発行元から発行された印刷ジョブである、印刷装置。
【請求項６】
請求項５記載の印刷装置であって、
前記第２の印刷ジョブは、更に、前記第１の印刷ジョブの発行元と異なる発行元から発行された印刷ジョブのうち、最先に受信した印刷ジョブである、印刷装置。
【請求項７】
請求項１記載の印刷装置であって、
前記第２の印刷ジョブは、前記第１の印刷ジョブの次に受信した印刷ジョブである、印刷装置。
【請求項８】
請求項１記載の印刷装置と、絶対時刻を表す時計を有するプリンタサーバとがネットワークを介して接続された印刷システムであって、
前記プリンタサーバは、
前記ネットワークに接続された印刷ジョブ発行装置から印刷ジョブを受信する第１の受信手段と、
前記受信した印刷ジョブに、前記時計が表す時刻を送信時刻として設定する設定手段と、
前記送信時刻を設定した印刷ジョブを前記印刷装置へ送信する送信手段と、を備え、
前記印刷装置は、更に、
受信した印刷ジョブが前記プリンタサーバから送信された印刷ジョブである場合、前記抽出手段による抽出、前記算出手段による算出、前記最終使用時刻格納手段による格納を禁止する制御手段と、
前記プリンタサーバ受信した印刷ジョブから前記送信時刻を取得する取得手段と、
前記取得した送信時刻からの経過時間を、前記タイマーを用いて取得し、前記取得した送信時刻に前記経過時間を積算して現在時刻を算出する現在時刻算出手段と、
前記プリンタサーバから送信された印刷ジョブ以降の前記印刷ジョブ受信手段による印刷ジョブの受信時に、前記算出した現在時刻を前記最終使用時刻記憶部に格納する最終使用時刻更新手段と、を備える、印刷システム。
【請求項９】
所定の時点からの経過時間を測定するタイマーを有し、印刷ジョブを印刷する印刷装置が実行する時刻設定方法であって、
印刷ジョブを受信し、
前記受信した印刷ジョブのうちの第１の印刷ジョブから、前記第１の印刷ジョブに関する時刻を表す第１の時刻情報と、前記第１の印刷ジョブより後に受信した第２の印刷ジョブから、前記第２の印刷ジョブに関する時刻を表す第２の時刻情報と、を抽出し、
前記第１の時刻情報により表される時刻からの経過時間であるジョブ経過時間を、前記タイマーを用いて取得し、前記抽出した第１の時刻情報と前記ジョブ経過時間とを用いて仮の現在時刻を算出し、
前記第２の時刻情報と前記仮の現在時刻との差分が、前記ジョブ経過時間に所定の係数を積算した時間範囲に含まれる場合、前記仮の現在時刻もしくは第２の時刻情報を、前記印刷装置が最後に使用された時刻を記憶するための最終使用時刻記憶部に格納し、
前記第２の時刻情報と前記仮の現在時刻との差分が、前記ジョブ経過時間に所定の係数を積算した時間範囲に含まれ、かつ、前記使用開始時刻記憶部に、前記印刷装置の使用が開始された時刻が格納されていない場合、前記第１の時刻情報により表される時刻を前記使用開始時刻記憶部に格納する、時刻設定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、時刻情報を設定する印刷装置に関する。
【背景技術】
【０００２】
印刷装置に設定された時刻情報を用いて、一定期間内に印刷装置において使用された消耗品の量などを取得する印刷システムが利用されている。このような印刷システムにおいて、印刷装置には、時計機能を内蔵しているものと、時計を内蔵していないものとがある。時計機能を内蔵している印刷装置は、例えば、内蔵された時計から現在時刻を取得している。一方、時計を内蔵していない印刷装置は、例えば、サーバと通信してサーバの時刻情報を現在時刻として取得している。
【０００３】
【特許文献１】特開２００４−１９２４３５号公報
【特許文献２】特開２００４−１０６２８１号公報
【特許文献３】特開２００３−２６０８５１号公報
【特許文献４】特開２００６−６２１７９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、時計を内蔵しない印刷装置は、サーバにアクセス不可能な場合、時刻情報を取得することができない。また、サーバと接続されることなく用いられるシステム環境でも、時刻情報を取得することができない。この結果、印刷装置には時刻情報が設定されないため、所定期間内の印刷装置の使用状況の把握など、印刷装置に関する種々の解析が困難になるという問題が生じる。
【０００５】
本発明は上述の課題に鑑みてなされたものであり、時計が内蔵されていない印刷装置における、確度の高い時刻情報の設定を目的とする。
【課題を解決するための手段】
【０００６】
本発明は、上述の課題の少なくとも一部を解決するためになされたものであり、以下の形態または適用例として実現することが可能である。
【０００７】
［適用例１］
印刷ジョブを印刷する印刷装置は、  所定の時点からの経過時間を測定するタイマーと、前記印刷装置の使用が開始された時刻を記憶するための使用開始時刻記憶部と、前記印刷装置の使用が終了された時刻を記憶するための最終使用時刻記憶部と、印刷ジョブを受信するジョブ受信手段と、前記受信した印刷ジョブのうちの第１の印刷ジョブから、前記ジョブ受信手段により受信された前記第１の印刷ジョブに関する時刻を表す第１の時刻情報と、前記第１の印刷ジョブより後に前記印刷ジョブ受信手段により受信された第２の印刷ジョブから、前記第２の印刷ジョブに関する時刻を表す第２の時刻情報と、を抽出する抽出手段と、前記第１の印刷ジョブ受信時からの経過時間であるジョブ経過時間を、前記タイマーを用いて取得し、前記抽出した第１の時刻情報と前記取得したジョブ経過時間とを用いて仮の現在時刻を算出する算出手段と、前記第２の時刻情報と前記仮の現在時刻との差分が、前記ジョブ経過時間によって変更する所定の時間範囲に含まれる場合、前記仮の現在時刻もしくは第２の時刻情報を、前記最終使用時刻記憶部に格納する最終使用時刻格納手段と、
前記第２の時刻情報と前記仮の現在時刻との差分が前記所定の時間範囲に含まれ、かつ、前記使用開始時刻記憶部に、前記印刷装置の使用が開始された時刻が格納されていない場合、前記第１の時刻情報により表される時刻を前記使用開始時刻記憶部に格納する使用開始時刻格納手段と、を備える。
【０００８】
適用例１の印刷装置は、第１の時刻情報に基づき算出される仮の現在時刻と第２の時刻情報との差分が、ジョブ経過時間によって変更する所定の時間範囲内に含まれる場合には第１の時刻情報および第２の時刻情報を使用開始時刻および最終使用時刻として記憶する。従って、適用例１の印刷装置によれば、確度の高い使用開始時刻と最終使用日時を保持できる。
【０００９】
適用例１の印刷装置において、前記所定の時間範囲は、予め規定された一定時間に対して、前記ジョブ経過時間に所定の計数を乗算した変動時間を積算した時間範囲である。
【００１０】
適用例１の印刷装置によれば、予め規定された一定時間にジョブ経過時間を反映させることができるため、第１の印刷ジョブ受信から第２の印刷ジョブ受信までに、予め規定された一定時間が経過した場合にも、確度の高い使用開始時刻および最終使用時刻を設定できる。
【００１１】
適用例１の印刷装置において、前記使用開始時刻格納手段は、前記印刷装置の電源投入が初回である場合に、前記印刷装置の電源投入時からの経過時間である動作経過時間を、前記タイマーを用いて取得し、前記第２の時刻情報と前記動作経過時間とを用いて、前記印刷装置の使用が開始された時刻を逆算して、前記逆算された時刻を前記使用開始時刻記憶部に格納する。
【００１２】
適用例１の印刷装置によれば、第２の時刻情報から印刷装置の使用開始時刻を逆算できるため、使用開始時刻の確度を向上できる。
【００１３】
適用例１の印刷装置において、前記第１の時刻情報は、前記第１の印刷ジョブの生成時刻もしくは送信時刻を含み、前記第２の時刻情報は、前記第２の印刷ジョブの生成時刻もしくは送信時刻を含む。
【００１４】
適用例１の印刷装置によれば、第１の時刻情報および第２の時刻情報を簡易に取得できる。
【００１５】
適用例１の印刷装置において、前記第２の印刷ジョブは、前記第１の印刷ジョブ受信後に受信した印刷ジョブのうち、前記第１の印刷ジョブの発行元とは異なる発行元から発行された印刷ジョブである。
【００１６】
適用例１の印刷装置によれば、第１の印刷ジョブと第２の印刷ジョブとを別の発行元から取得するため、第１の印刷ジョブと第２の印刷ジョブとを同一の発行元から取得する場合に比べて、確度の高い使用開始時刻および最終使用時刻を設定できる。
【００１７】
適用例１の印刷装置において、
前記第２の印刷ジョブは、更に、前記第１の印刷ジョブの発行元と異なる発行元から発
行された印刷ジョブのうち、最先に受信した印刷ジョブである。
【００１８】
適用例１の印刷装置において、前記第２の印刷ジョブは、前記第１の印刷ジョブの次に受信した印刷ジョブである、印刷装置。
【００１９】
適用例１の印刷装置によれば、第１の印刷ジョブの受信と第２の印刷ジョブの受信との時間間隔が空きすぎることによる使用開始時刻および最終使用時刻の確度低下を抑制できる。
【００２０】
［適用例２］
適用例１の印刷装置と、絶対時刻を表す時計を有するプリンタサーバとがネットワークを介して接続された印刷システムである。前記プリンタサーバは、前記ネットワークに接続された印刷ジョブ発行装置から印刷ジョブを受信する第１の受信手段と、前記受信した印刷ジョブに、前記時計が表す時刻を送信時刻として設定する設定手段と、前記送信時刻を設定した印刷ジョブを前記印刷装置へ送信する送信手段と、を備える。前記印刷装置は、更に、受信した印刷ジョブが前記プリンタサーバから送信された印刷ジョブである場合、前記抽出手段による抽出、前記算出手段による算出、前記最終使用時刻格納手段による格納を禁止する制御手段と、前記プリンタサーバ受信した印刷ジョブから前記送信時刻を取得する取得手段と、前記取得した送信時刻からの経過時間を、前記タイマーを用いて取得し、前記取得した送信時刻に前記経過時間を積算して現在時刻を算出する現在時刻算出手段と、前記プリンタサーバから送信された印刷ジョブ以降の前記印刷ジョブ受信手段による印刷ジョブの受信時に、前記算出した現在時刻を前記最終使用時刻記憶部に格納する最終使用時刻更新手段と、を備える。
【００２１】
適用例２の印刷システムによれば、サーバからの印刷ジョブの受信時には、サーバが設定した正確な時刻情報を用いることができる。従って、適用例２の印刷システムによれば、軽い負荷で確度の高い使用開始時刻及び最終使用日時を設定できる。
【００２２】
本発明は、上述の印刷装置、印刷システムとしての構成の他、時刻設定方法の発明として構成することもできる。また、時刻設定を実現するコンピュータプログラム、およびそのプログラムを記録した記録媒体、そのプログラムを含み搬送波内に具現化されたデータ信号など種々の態様で実現することが可能である。なお、それぞれの態様において、先に示した種々の付加的要素を適用することが可能である。
【発明を実施するための最良の形態】
【００２３】
Ａ．第１実施例
Ａ１．システム構成：
Ａ１−１．システム概略：
図１は、第１実施例における印刷システムのシステム構成を例示する説明図である。印刷システム１０は、プリンタ２０と、クライアントコンピュータ３０〜３２とがローカルエリアネットワークＬＡＮを介して接続されている。以降、実施例では、クライアントコンピュータ３０〜３２を、クライアント３０〜３２と呼ぶ。
【００２４】
クライアント３０〜３２は、印刷ジョブを生成しプリンタ２０に送信する印刷ジョブ発行装置である。クライアント３０〜３２には、ユーザが任意に設定可能な時計が内蔵されており、予め製品に設定されている時刻、あるいは、ユーザにより設定された時刻を現在時刻として管理している。クライアント３０〜３２には、プリンタ２０で印刷を行うために使用するプリンタドライバソフトウェアがインストールされており、このプリンタドライバソフトウェアが、印刷ジョブ生成時に、印刷ジョブの送信時の時刻を印刷ジョブの送信日時として印刷ジョブに含める。
【００２５】
プリンタ２０は、クライアント３０〜３２から発行された印刷ジョブを受信すると、受信した印刷ジョブに含まれる時刻情報を抽出する。プリンタ２０は、受信した複数の印刷ジョブからそれぞれ抽出した複数の時刻情報を用いて、プリンタ２０が使用開始された時刻を表す使用開始時刻と、プリンタ２０が最後に使用された時刻を表す最終使用時刻とを取得し、保持する。なお、第１実施例において、印刷ジョブに含まれる時刻情報とは、印刷ジョブの送信日時である。
【００２６】
例えば、プリンタ２０は、クライアント３０から印刷ジョブ５０を受信すると、印刷ジョブ５０に含まれる時刻情報、すなわち、印刷ジョブ５０の送信日時を抽出する。プリンタ２０は、その後、クライアント３２から印刷ジョブ５１を受信すると、印刷ジョブ５１に含まれる送信時刻を抽出する。プリンタ２０は、抽出した印刷ジョブ５０の送信日時と印刷ジョブ５１の送信時刻とを用いて、プリンタ２０の使用開始時刻と最終使用時刻とを算出する。使用開始時刻と最終使用時刻との算出方法の詳細については後述する。
【００２７】
Ａ１−２．プリンタの機能ブロック：
図２は、第１実施例のプリンタ２０の機能ブロックの詳細を例示する説明図である。プリンタ２０は、ＣＰＵ１００と、ＲＯＭ１１０とＲＡＭ１２０と、カウントアップタイマー１３０と、通信部１４０と、印刷機構１５０と、を備える。ＲＯＭ１１０は、印刷ジョブ受信モジュール１１１と、抽出モジュール１１２と、時刻格納モジュール１１３と、時刻格納モジュール１１３と、仮現在時刻算出モジュール１１５と、印刷処理部１１６と、を備える。ＲＡＭ１２０は、不揮発性のメモリであり、第１の印刷ジョブ送信日時記憶部１２１と、第２の印刷ジョブ送信日時記憶部１２２と、使用開始時刻記憶部１２３と、最終使用時刻記憶部１２４と、仮現在時刻記憶部１２５と、を備える。通信部１４０は、ローカルエリアネットワークＬＡＮに接続するためのネットワークインターフェースである。各機能ブロックは、ＣＰＵ１００により制御されている。各モジュールはＣＰＵにより実行される。なお、第１実施例において、第１の印刷ジョブ送信日時記憶部１２１と、第２の印刷ジョブ送信日時記憶部１２２と、使用開始時刻記憶部１２３と、最終使用時刻記憶部１２４と、仮現在時刻記憶部１２５には、出荷時に予め初期値「０」が設定されている。
【００２８】
印刷機構１５０は、受信した印刷ジョブにより表される画像を媒体に印刷する処理を行う。
【００２９】
カウントアップタイマー１３０は、ジョブを受信した時点からの経過時間をカウントアップする。カウントアップタイマー１３０は印刷ジョブを受信するたびにリセットされる。なお、カウントアップタイマー１３０をプリンタ２０の電源投入を契機として開始し、計算によりジョブを受信した時点からの経過時間が算出されてもよい。
【００３０】
印刷ジョブ受信モジュール１１１は、印刷ジョブを受信すると、カウントアップタイマー１３０に、カウントアップを開始させる。
【００３１】
抽出モジュール１１２は、印刷ジョブを受信すると、印刷ジョブのヘッダ部分に含まれる印刷ジョブの送信日時を抽出する。抽出モジュール１１２は、第１の印刷ジョブ送信日時記憶部１２１に時刻情報が記憶されていない場合、第１の印刷ジョブ送信日時記憶部１２１に抽出した送信日時を格納し、第１の印刷ジョブ送信日時記憶部１２１に時刻情報が記憶されている場合、第２の印刷ジョブ送信日時記憶部１２２に抽出した送信日時を格納する。すなわち、抽出モジュール１１２は、先に受信した印刷ジョブである第１の印刷ジョブの送信時刻を第１の印刷ジョブ送信日時記憶部１２１に記憶し、第１の印刷ジョブの次に受信した印刷ジョブである第２の印刷ジョブの送信時刻を第２の印刷ジョブ送信日時記憶部１２２に記憶する。
【００３２】
仮現在時刻算出モジュール１１５は、印刷ジョブから抽出した時刻情報にカウントアップタイマー１３０によって取得される経過時間を積算した時刻情報を仮の現在時刻（以降、第１実施例では、仮現在時刻と呼ぶ）として算出し、仮現在時刻記憶部１２５に格納する。
【００３３】
時刻格納モジュール１１３は、第２の印刷ジョブ送信日時記憶部１２２に記憶されている送信日時（以降、第１実施例では、第２の時刻情報と呼ぶ）と、仮現在時刻記憶部１２５に記憶されている時刻情報との差分が所定の時間範囲に含まれる場合には、第１の時刻情報および第２の時刻情報を使用開始時刻記憶部１２３および最終使用時刻記憶部１２４に格納する。
【００３４】
このようにして、絶対時刻を表す時計を内蔵していないプリンタ２０は、自己の使用開始時刻と最終使用時刻とを保持する。
【００３５】
Ａ２．時刻格納処理：
Ａ２−１．処理フロー：
図３および図４は、第１実施例における時刻格納処理を説明するフローチャートである。図５は、第１実施例における印刷ジョブの構成について例示する説明図である。図６は、第１実施例におけるヘッダ部の内容を例示する説明図である。時刻格納処理は、プリンタ２０のＣＰＵ１００が各モジュールを実行することにより実現される。以降、説明を明瞭とするために、各機能ブロックが実行するものとして説明する。
【００３６】
印刷ジョブ受信モジュール１１１は、印刷ジョブを受信するとカウントアップタイマー１３０のカウントを開始し、印刷ジョブのヘッダに含まれる送信元特定情報を参照する（ステップＳ１０）。印刷ジョブ受信モジュール１１１は、受信した印刷ジョブが、直前に受信した印刷ジョブとは異なる送信元から送信されたかを判断する（ステップＳ１２）。具体的には、印刷ジョブ受信モジュール１１１は、受信した印刷ジョブの送信元が、直前に受信した印刷ジョブの送信元と異なるかを判断する。
【００３７】
印刷ジョブ受信モジュール１１１は、受信した印刷ジョブの送信元が、直前に受信した印刷ジョブの送信元と同じ場合（ステップＳ１２：ＮＯ）、処理を終了する。
【００３８】
印刷ジョブ受信モジュール１１１は、受信した印刷ジョブの送信元が、直前に受信した印刷ジョブの送信元と異なる場合（ステップＳ１２：ＹＥＳ）、仮現在時刻記憶部１２５に仮現在時刻が格納されているかを判断する（ステップＳ１４）。具体的には、印刷ジョブ受信モジュール１１１は、仮現在時刻記憶部１２５に「０」が格納されているかを判断する。仮現在時刻記憶部１２５に「０」が格納されていない場合には、仮現在時刻が格納されていると判断して、仮現在時刻記憶部１２５から仮現在時刻を取得する（ステップＳ１６）。
【００３９】
抽出モジュール１１２は、仮現在時刻記憶部１２５に「０」が格納されている場合（ステップＳ１４：ＮＯ）、仮現在時刻が格納されていないと判断して受信した印刷ジョブの時刻情報を抽出する（ステップＳ１８）。図５に示すように、印刷ジョブ５０は、ヘッダ部５０ａと、印刷データ５０ｂとから構成されている。印刷ジョブ５０のヘッダ部５０ａには、図６に示すように、印刷ジョブの送信日時６０や印刷ジョブの送信元クライアントを表す送信元特定情報６１（第１実施例では、クライアントコンピュータのコンピュータ名）等を含む。印刷ジョブの送信日時は、ジョブ送信時に、クライアントコンピュータにより付される。抽出モジュール１１２は、受信した印刷ジョブのヘッダ部から時刻情報である送信日時を抽出する。なお、送信元特定情報は、コンピュータ名の他、ＩＰアドレスやＭＡＣアドレス、製造番号などとしてもよい。
【００４０】
仮現在時刻算出モジュール１１５は、抽出モジュール１１２により抽出された送信日時とカウントアップタイマー１３０がカウントアップした経過時間を用いて現在時刻の生成を開始する（ステップＳ２０）。具体的には、仮現在時刻算出モジュール１１５は、送信日時に経過時間を積算して現在時刻を算出し、仮現在時刻記憶部１２５に格納する。仮現在時刻算出モジュール１１５は、カウントアップタイマー１３０のカウントアップに応じて現在時刻を生成し仮現在時刻記憶部１２５に格納する。
【００４１】
抽出モジュール１１２は、第１の印刷ジョブ送信日時記憶部１２１に「０」が格納されているかを判断し（ステップＳ２２）、第１の印刷ジョブ送信日時記憶部１２１に「０」が格納されている場合（ステップＳ２２：ＹＥＳ）、抽出した送信日時を時刻情報として第１の印刷ジョブ送信日時記憶部１２１に格納する（ステップＳ２４）。第１の印刷ジョブ送信日時記憶部１２１に「０」が格納されていない（ステップＳ２２：ＮＯ）場合、すでに第１の印刷ジョブの送信日時は格納されていると判断し、第２の印刷ジョブ送信日時記憶部１２２に「０」が格納されているかを判断する（ステップＳ２６）。
【００４２】
抽出モジュール１１２は、第２の印刷ジョブ送信日時記憶部１２２に「０」が格納されている場合（ステップＳ２６：ＹＥＳ）、抽出した送信日時を時刻情報として第２の印刷ジョブ送信日時記憶部１２２に格納する。抽出モジュール１１２は、第２の印刷ジョブ送信日時記憶部１２２に「０」が格納されていない場合（ステップＳ２６：ＮＯ）、第２の印刷ジョブ送信日時記憶部１２２に格納されている時刻情報を第１の時刻情報に移動し（ステップＳ２８）、抽出した送信日時を第２の印刷ジョブ送信日時記憶部１２２に格納する（ステップＳ３０）。すなわち、先に受信した印刷ジョブの時刻情報が第１の印刷ジョブ送信日時記憶部１２１に格納され、後に受信した印刷ジョブの時刻情報が第２の印刷ジョブ送信日時記憶部１２２に格納される。
【００４３】
時刻格納モジュール１１３は、仮現在時刻記憶部１２５を参照して現在時刻を取得し（ステップＳ３２）、第２の印刷ジョブ送信日時記憶部１２２に格納されている第２の時刻情報と現在時刻の差分Ａを算出し、差分Ａの絶対値が所定の時間範囲内であるかを判断する（ステップＳ３４）。第１実施例では、現在時刻は、第１の時刻情報に基づき算出されているため、差分Ａが所定の時間範囲内に含まれる場合には、第１の時刻情報と第２の時刻情報に矛盾が無いから、第１の時刻情報と第２の時刻情報の確度は高いと判断する。
【００４４】
第１実施例において、差分Ａの絶対値が所定の時間範囲内に含まれるか否かは、次の式１により判断される。
【００４５】
０≦｜差分Ａ｜≦Ｂ  …式１
【００４６】
なお、第１実施例において、式１の「Ｂ」は、一定時間の値に、カウントアップタイマー１３０によってカウントアップされている経過時間に所定の係数を乗算して算出される値を積算した値である。例えば、一定時間を０．１時間、経過時間を１１時間、係数を１０％とすると、式２に示すように算出される。
【００４７】
Ｂ＝一定時間＋（経過時間×１０％）＝０．１時間×（１１時間×１０％）＝１．２時間  …式２
【００４８】
カウントアップタイマー１３０に一定の誤差が有る場合、仮現在時刻記憶部１２５の情報は経過時間に比例して、正確な時刻との差が増加する。例えばカウントアップタイマー１３０の誤差が１％あったとする。第１の印刷ジョブと第２の印刷ジョブが共に正確な時刻情報を持っていたとしても、式２のＢが一定時間では、第１の印刷ジョブ受信から第２の印刷ジョブ受信までの経過期間が長い場合、算出した差分Ａは経過期間に比例して数値が大きくなり、正確な時刻情報を持った印刷情報を矛盾が有ると判断してしまう。経過時間が１１時間の場合、カウントアップタイマー１３０の誤差は０．１１時間となる。式Ｂが一定時間だけで判断すると、０．１１時間は一定時間０．１時間よりも大きく、第１の時刻情報と第２の時刻情報には矛盾が有ると判断してしまう。逆に経過時間が短い場合は、矛盾の有る時刻情報を、矛盾が無いと判断する可能性が高くなる。所定の時間範囲Ｂをあらかじめ決められた一定時間とするより、第１実施例のように、所定の時間範囲Ｂに経過時間を反映させることにより、第１の時刻情報と第２の時刻情報の確度を向上できる。
【００４９】
時刻格納モジュール１１３は、差分Ａが所定の時間範囲内に含まれる場合（ステップＳ３２：ＹＥＳ）、使用開始時刻記憶部１２３に、既に、使用開始時刻が格納されているかを判断する（ステップＳ３４）。具体的には、時刻格納モジュール１１３は、使用開始時刻記憶部１２３に「０」が格納されているかを判断する。時刻格納モジュール１１３は、使用開始時刻記憶部１２３に「０」が格納されている場合（ステップＳ３４：ＹＥＳ）、使用開始時刻は格納されていないと判断して、第１の時刻情報を使用開始時刻記憶部１２３に格納し（ステップＳ３６）、第２の時刻情報を最終使用時刻記憶部１２４に格納する（ステップＳ３８）。時刻格納モジュール１１３は、使用開始時刻記憶部１２３に「０」が格納されていない場合（ステップＳ３４：ＮＯ）、既に使用開始時刻は格納されていると判断し、最終使用時刻記憶部１２４に第２の時刻情報を格納する（ステップＳ３８）。
【００５０】
時刻格納モジュール１１３は、差分Ａが所定の時間範囲内に含まれない場合（ステップＳ３２：ＮＯ）、第１の時刻情報および第２の時刻情報の少なくとも一方の時刻情報が誤っていると判断し、第１の印刷ジョブ送信日時記憶部１２１および第２の印刷ジョブ送信日時記憶部１２２の内容を初期化して、第１の時刻情報および第２の時刻情報を削除する（ステップＳ４０）。第１の時刻情報および第２の時刻情報の双方を排除することにより、時刻情報の確度を向上できる。
【００５１】
Ａ２−２．最終使用時刻の更新：
図７は、第１実施例における最終使用時刻の更新について模式的に説明する説明図である。図７において、横軸は、プリンタ２０が初めて電源投入されてからの経過時間を表している。
【００５２】
（１）プリンタ２０は、最初に受信した印刷ジョブ５０と、印刷ジョブ５０の次に受信した印刷ジョブ５１から抽出した印刷ジョブの送信日時とに矛盾が無い場合、印刷ジョブ５０の送信日時をプリンタ２０の使用開始時刻として使用開始時刻記憶部１２３に格納し、印刷ジョブ５１の送信日時を、この時点におけるプリンタ２０の最終使用時刻として最終使用時刻記憶部１２４に格納する。
【００５３】
（２）プリンタ２０は、印刷ジョブ５１の次に印刷ジョブ５２を受信すると、印刷ジョブ５１と印刷ジョブ５２の送信日時とに矛盾が無いかを判断する。矛盾が無い場合、印刷ジョブ５２の送信日時を最終使用時刻記憶部１２４に格納する。言い換えれば、プリンタ２０は、印刷ジョブ５２の送信日時で最終使用時刻を更新する。
【００５４】
（３）プリンタ２０は、印刷ジョブ５２の次に印刷ジョブ５３を受信すると、印刷ジョブ５２の送信日時と印刷ジョブ５３の送信日時とに矛盾が無いかを判断する。矛盾がある場合、すなわち、印刷ジョブ５２から算出される現在時刻と印刷ジョブ５３の送信日時とが所定の時間範囲Ｂに含まれない場合には、プリンタ２０の最終使用時刻を更新せず、印刷ジョブ５２と印刷ジョブ５３の送信日時とを排除する。
【００５５】
（４）プリンタ２０は、印刷ジョブ５３の次に受信した印刷ジョブ５４と、印刷ジョブ５４の次に受信した印刷ジョブ５５との送信日時とに矛盾が無いかを判断し、矛盾が無い場合、印刷ジョブ５５の送信日時を最終使用時刻記憶部１２４に格納することにより、プリンタ２０の最終使用時刻を更新する。
【００５６】
このように、プリンタ２０は、時刻情報に矛盾のない印刷ジョブのうち、最初に受信した印刷ジョブの送信時刻を使用開始時刻として保持すると共に、最後に受信した印刷ジョブの送信時刻を最終使用時刻として保持できる。
【００５７】
以上説明した第１実施例のプリンタは、第２の時刻情報と仮現在時刻との差分が所定の時間範囲に含まれる場合には、第１の時刻情報および第２の時刻情報を使用開始時刻記憶部１２３および最終使用時刻記憶部１２４に格納する。よって、絶対時刻を表す時計を内蔵していないプリンタであっても、確度の高い使用開始時刻及び最終使用時刻を保持できる。従って、プリンタの製造者は、プリンタが使用され始めてから最後に使用されるまでの現実の経過期間を簡易に取得できるため、プリンタの製品生涯で印刷した枚数や、一定期間の消耗品使用量等の使用状況を精度良く取得でき、新機種開発やマーケティング解析を効率的に行うことができる。
【００５８】
また、第１実施例のプリンタによれば、使用開始時刻及び最終使用時刻の取得に、複数の時刻情報を用いているため、確度の高い使用開始時刻及び最終使用時刻を保持できる。
【００５９】
また、第１実施例のプリンタによれば、所定の時間範囲Ｂに、ジョブ受信間隔を表す経過時間を反映させているため、第１の時刻情報と第２の時刻情報の確度を向上できる。
【００６０】
同一の送信元から送信された複数の印刷ジョブを用いた場合、送信元のクライアントに設定されている時刻が間違っていても、第１の時刻情報および第２の時刻情報には矛盾がないと判断されることがある。従って、第１実施例のプリンタによれば、異なる送信元から送信された印刷ジョブの送信日時を用いて使用開始時刻と最終使用時刻とを取得でき、確度を向上させた使用開始時刻および最終使用時刻を格納できる。
【００６１】
Ｂ．第２実施例：
第２実施例では、仮現在時刻からプリンタの使用開始時刻を逆算する印刷システムについて説明する。第２実施例のシステム構成は、第１実施例と同様である。ただし、第２実施例のプリンタ２０は、ＲＡＭ１２０に、電源投入されたことを表す電源フラグ記憶部を備えている。電源フラグ記憶部には初期値「０」が予め設定されており、電源が切断される際に「１」が設定される。すなわち、電源フラグ記憶部には「０」が設定されているのは、初回電源投入時から電源切断までの間だけである。
【００６２】
なお、第２実施例では、プリンタ２０のＣＰＵ１００は、プリンタの電源投入を検出するとカウントアップタイマー１３０を開始する。以降、第２実施例では、カウントアップタイマー１３０が表すプリンタの電源投入からの経過時間を、動作時間と呼ぶ。
【００６３】
Ｂ１．時刻格納処理：
図８は、第２実施例における時刻格納処理を説明するフローチャートである。第２実施例の時刻格納処理は、第１実施例の時刻格納処理のステップＳ１０〜Ｓ３０まではほぼ同一である。ただし、第２実施例では、プリンタ２０の電源投入と同時にカウントアップタイマー１３０のカウントが開始される。以下では、第１実施例のステップＳ３０以降の処理について説明する。
【００６４】
時刻格納モジュール１１３は、第２の印刷ジョブ送信日時記憶部１２２に格納されている第２の時刻情報と仮現在時刻の差分Ａを算出し、差分Ａの絶対値が所定の時間範囲Ｂ内であるかを判断する（ステップＳ１００）。
【００６５】
時刻格納モジュール１１３は、差分Ａが所定の時間範囲Ｂに含まれる場合、電源フラグが０であるかを判断する（ステップＳ１０２）。電源フラグが「０」の場合、第２の時刻情報とプリンタ２０の動作時間とを用いて、プリンタの使用開始時間を算出する（ステップＳ１０４）。具体的には、時刻格納モジュール１１３は、第２の時刻情報である第２の印刷ジョブの送信時刻から、プリンタ２０の動作時間を遡って、プリンタの電源が投入された時刻である使用開始時間を逆算する。
【００６６】
時刻格納モジュール１１３は、逆算した使用開始時刻を使用開始時刻記憶部１２３に格納し（ステップＳ１０６）、第２の時刻情報を最終使用時刻記憶部１２４に格納する（ステップＳ１０８）。
【００６７】
時刻格納モジュール１１３は、電源フラグが「０」でない場合（ステップＳ１０２：ＮＯ）、使用開始時刻記憶部１２３が「０」であるかを判断する（ステップＳ１１０）。時刻格納モジュール１１３は、使用開始時刻記憶部１２３が「０」である場合（ステップＳ１１０：ＹＥＳ）、第１の印刷ジョブ送信日時記憶部１２１に格納されている第１の時刻情報を使用開始時刻記憶部１２３に格納し（ステップＳ１１２）、使用開始時刻記憶部１２３が「０」でない場合（ステップＳ１１０：ＮＯ）、第２の印刷ジョブ送信日時記憶部１２２に格納されている第２の時刻情報を最終使用時刻記憶部１２４に格納して（ステップＳ１０８）、処理を終了する。
【００６８】
時刻格納モジュール１１３は、差分Ａが所定の時間範囲内に含まれない場合（ステップＳ１００：ＮＯ）、第１の印刷ジョブ送信日時記憶部１２１と第２の印刷ジョブ送信日時記憶部１２２の内容を初期化する（ステップＳ１１４）。
【００６９】
以上説明した第２実施例のプリンタによれば、印刷ジョブの時刻情報から使用開始時刻を逆算できる。よって、使用開始時刻記憶部に、実際にプリンタの電源を投入して使用を開始した確度の高い時刻を記憶できる。
【００７０】
Ｃ．第３実施例：
第３実施例では、第１の時刻情報と第２の時刻情報の差分を用いて第１の時刻情報および第２の時刻情報の確度を判断し、使用開始時刻および最終使用時刻を格納する。なお、第３実施例のシステム構成は第１実施例のシステム構成を同一である。
【００７１】
Ｃ１．時刻格納処理：
図９は、第３実施例における時刻格納処理を例示する説明図である。第３実施例の時刻格納処理には、第１実施例の時刻格納処理とほぼ同一であり、同一の符号が付されたステップは同一の処理を行う。第３実施例では、図９に示すステップＳ２００の処理が、図３において説明した第１実施例のステップＳ３２の処理と異なる。第１実施例と異なるステップＳ２００について以下に説明する。
【００７２】
時刻格納モジュール１１３は、第１の時刻情報および第２の時刻情報を参照し、第２の時刻情報と第１の時刻情報の差分が０以上であるかを判断する（ステップＳ２００）。時刻格納モジュール１１３は、差分が０以上である場合（ステップＳ２００：ＹＥＳ）、ステップＳ３４〜ステップＳ３６以降の処理を行い、差分が０未満である場合（ステップＳ２００：ＮＯ）、印刷ジョブの到着順と第１の時刻情報および第２の時刻情報とに矛盾があると判断して、第１の印刷ジョブ送信日時記憶部１２１および第２の印刷ジョブ送信日時記憶部１２２を初期化する（ステップＳ４０）。
【００７３】
以上説明した第３実施例の印刷モジュールによれば、第１の時刻情報および第２の時刻情報とのみによって使用開始時刻および最終使用時刻を格納できる。よって、カウントアップタイマー１３０を内蔵しないプリンタにおいても、使用開始時刻および最終使用時刻の確実性を向上できる。
【００７４】
Ｄ．第４実施例：
第４実施例では、印刷システム内にプリンタサーバが設けられている場合について説明する。第４実施例では、プリンタサーバには、正確な絶対時刻が予め設定されていることを前提とし、プリンタは、プリンタサーバから印刷ジョブを受信すると、プリンタサーバから受信した印刷ジョブに含まれる送信時刻をプリンタの現在時刻として取得し、使用開始時刻および最終使用時刻を取得する。
【００７５】
Ｄ１．システム構成：
図１０は、第４実施例における印刷システムのシステム構成を例示する説明図である。第４実施例の印刷システム１０ａは、第１実施例の印刷システム１０に加えて、プリンタサーバ４０を備える。第２実施例において、第１実施例と同一の符号が付された構成は、同一の機能・作用を奏する。なお、第２実施例において、クライアント３０〜３２は、印刷ジョブをプリンタ２０に直接発行せずに、プリンタサーバ４０に発行する。
【００７６】
プリンタサーバ４０は、プリンタ２０、クライアント３０〜３２とローカルエリアネットワークＬＡＮを介して接続されている。プリンタサーバ４０は、クライアント３０〜３２から印刷ジョブを受信すると、プリンタサーバ４０に内蔵されている時計の時刻を印刷ジョブの送信日時として設定し、印刷ジョブをプリンタ２０に送信する。
【００７７】
例えば、図１０に示すように、プリンタサーバ４０は、クライアント３０から印刷ジョブ５０を受信すると、印刷ジョブ５０の送信日時にプリンタサーバ４０に内蔵されている時計の時刻を設定した印刷ジョブ５０ａをプリンタ２０に送信する。同様に、クライアント３２から印刷ジョブ５１を受信すると、印刷ジョブ５１の送信日時にプリンタサーバ４０に内蔵されている時計の時刻を設定した印刷ジョブ５１ａをプリンタ２０に送信する。
【００７８】
プリンタ２０は、プリンタサーバ４０から受信した印刷ジョブの送信時刻をプリンタ２０の時刻情報として設定し、設定した時刻情報に基づいて使用開始時刻及び最終使用時刻を格納するとともに、印刷を実行する。
【００７９】
Ｄ２：送信時刻設定処理：
図１１は、第４実施例におけるプリンタサーバによる送信日時設定処理を説明するフローチャートである。プリンタサーバ４０は、クライアント３０〜３２から印刷ジョブを受信すると、キューに一時的に格納する（ステップＳ３００）。プリンタサーバ４０は、キューに格納した順に印刷ジョブをプリンタ２０へ送信する。印刷ジョブ送信の際、プリンタサーバ４０は、印刷ジョブのヘッダ部に含まれる時刻情報を、プリンタサーバ４０の時刻で書き換えて（ステップＳ３０２）、プリンタ２０に送信する（ステップＳ３０４）。こうすることにより、印刷ジョブの送信時刻は正確な時刻に設定される。
【００８０】
Ｄ３．時刻格納処理：
図１２は、第４実施例におけるプリンタ２０による時刻格納処理を説明するフローチャートである。プリンタ２０の印刷ジョブ受信モジュール１１１は、印刷ジョブを受信すると（ステップＳ４００）、受信した印刷ジョブがプリンタサーバ４０から送信された印刷ジョブであるかを判断する（ステップＳ４０２）。具体的には、印刷ジョブ受信モジュール１１１は、受信した印刷ジョブのヘッダ部の送信元特定情報を参照して、印刷ジョブがプリンタサーバ４０から送信された印刷ジョブであるかを判断する。
【００８１】
プリンタ２０の各機能ブロックは、印刷ジョブ受信モジュール１１１による判断の結果、印刷ジョブがプリンタサーバ４０から送信された印刷ジョブで無い場合、第１実施例において説明した図３のステップＳ１２以降の処理を実行する。
【００８２】
プリンタ２０の抽出モジュール１１２は、印刷ジョブがプリンタサーバ４０から送信された印刷ジョブである場合（ステップＳ４０２：ＹＥＳ）、印刷ジョブから時刻情報を抽出（ステップＳ４０４）する。仮現在時刻算出モジュール１１５は、抽出モジュール１１２が抽出した時刻情報とカウントアップタイマー１３０が測定する経過時間を用いて、仮現在時刻の生成を開始し、仮現在時刻記憶部１２５に格納する（ステップＳ４０６）。
【００８３】
時刻格納モジュール１１３は、使用開始時刻記憶部１２３に「０」が格納されているかを判断し（ステップＳ４０８）、「０」が格納されている場合（ステップＳ４０８：ＹＥＳ）、使用開始時刻記憶部１２３に仮現在時刻記憶部１２５に格納されている仮現在時刻を格納する（ステップＳ４１０）。時刻格納モジュール１１３は、使用開始時刻記憶部１２３に「０」が格納されていない場合（ステップＳ４０８：ＮＯ）、仮現在時刻記憶部１２５に格納されている仮現在時刻を最終使用時刻記憶部１２４に格納する（ステップ４１１）。
【００８４】
以上説明した第４実施例のプリンタによれば、サーバに設定されている時刻を、プリンタの仮現在時刻として使用できる。サーバに設定されている時刻は正確であるため、プリンタには、確度の高い使用開始時刻および最終使用時刻を記憶できる。
【００８５】
Ｆ．変形例：
（１）第４実施例では、プリンタの電源投入が初回であるかを判断していないが、例えば、プリンタの電源投入が初回であるかを表すフラグや電源投入回数を表すカウンターをプリンタ２０に設け、初回電源投入時のみ、第２実施例において説明したように、使用開始時刻を逆算してもよい。こうすれば、正確な時刻であるサーバの時刻からプリンタの使用開始時刻を逆算できるため、確度を向上できる。
【００８６】
（２）第４実施例では、サーバからの印刷ジョブの受信の度に現在時刻を生成しているが、例えば、サーバからの印刷ジョブの受信を表すフラグを設け、電源が投入されてから２回目以降のサーバからの印刷ジョブの受信時には、現在時刻を生成しなおさないようにしてもよい。
【００８７】
（３）上記各実施例では、印刷ジョブに含まれる送信日時を時刻情報として用いているが、例えば、印刷ジョブに生成時刻が含まれる場合は、生成時刻を時刻情報として用いてもよい。
【００８８】
（４）第１実施例では、連続して受信した印刷ジョブを用いて使用開始時刻および最終使用時刻を取得しているが、例えば、１つおきなど時系列的に矛盾していなければ、どのようなタイミングで受信した印刷ジョブを用いてもよい。
【００８９】
（５）上記各実施例では、２つの時刻情報を用いて使用開始時刻および最終使用時刻を取得しているが、例えば、３つ以上の複数の時刻情報を用いて使用開始時刻および最終使用時刻を取得してもよい。こうすれば、より確度の高い使用開始時刻および最終使用時刻を取得できる。
【００９０】
（６）第４実施例では、同一ローカルエリアネットワークＬＡＮにプリンタサーバが接続されているものとしたが、例えば、プリンタサーバはインターネットを介してローカルエリアネットワークの外部のネットワークに接続されていてもよい。
【００９１】
（７）第４実施例では、設置されているサーバは単なるプリンタサーバとしているが、例えば、認証印刷を行うための認証印刷サーバとしてもよい。
【００９２】
（８）本発明は、複合機やプリンタだけでなく、プロジェクタ等種々の情報機器にも共通して適用可能である。
【００９３】
以上、本発明の種々の実施例について説明したが、本発明はこれらの実施例に限定されず、その趣旨を逸脱しない範囲で種々の構成をとることができる。
【図面の簡単な説明】
【００９４】
【図１】第１実施例における印刷システムのシステム構成を例示する説明図。
【図２】第１実施例のプリンタ２０の機能ブロックの詳細を例示する説明図。
【図３】第１実施例における時刻格納処理を説明するフローチャート
【図４】第１実施例における時刻格納処理を説明するフローチャート。
【図５】第１実施例における印刷ジョブの構成について例示する説明図。
【図６】第１実施例におけるヘッダ部の内容を例示する説明図。
【図７】第１実施例における最終使用時刻の更新について模式的に説明する説明図。
【図８】第２実施例における時刻格納処理を説明するフローチャート。
【図９】第３実施例における時刻格納処理を例示する説明図。
【図１０】第４実施例における印刷システムのシステム構成を例示する説明図。
【図１１】第４実施例におけるプリンタサーバによる送信日時設定処理を説明するフローチャート。
【図１２】第４実施例におけるプリンタ２０による時刻格納処理を説明するフローチャート。
【符号の説明】
【００９５】
１０…印刷システム
１０ａ…印刷システム
２０…プリンタ
３０〜３２…クライアント
４０…プリンタサーバ
５０…印刷ジョブ
５０ａ…ヘッダ部
５０ｂ…印刷データ
５１〜５５…印刷ジョブ
６０…送信日時
６１…送信元特定情報
１００…ＣＰＵ
１１１…印刷ジョブ受信モジュール
１１２…抽出モジュール
１１３…時刻格納モジュール
１１５…仮現在時刻算出モジュール
１１６…印刷処理部
１２１…第１の印刷ジョブ送信日時記憶部
１２２…第２の印刷ジョブ送信日時記憶部
１２３…使用開始時刻記憶部
１２４…最終使用時刻記憶部
１２５…仮現在時刻記憶部
１３０…カウントアップタイマー
１４０…通信部
１５０…印刷機構
【図１】
2009096134.tif 000003
【図２】
2009096134.tif 000004
【図３】
2009096134.tif 000005
【図４】
2009096134.tif 000006
【図５】
2009096134.tif 000007
【図６】
2009096134.tif 000008
【図７】
2009096134.tif 000009
【図８】
2009096134.tif 000010
【図９】
2009096134.tif 000011
【図１０】
2009096134.tif 000012
【図１１】
2009096134.tif 000013
【図１２】
2009096134.tif 000014