説明

印刷装置、印刷システム

【課題】時計が内蔵されていない印刷装置における、確度の高い時刻情報の設定。
【解決手段】時刻格納モジュールは、仮現在時刻記憶部を参照して現在時刻を取得し(ステップS32)、第2の印刷ジョブ送信日時記憶部に格納されている第2の時刻情報と現在時刻の差分Aを算出し、差分Aの絶対値が所定の時間範囲内であるかを判断する(ステップS34)。差分Aが所定の時間範囲内に含まれる場合には、第1の時刻情報と第2の時刻情報に矛盾が無いから、第1の時刻情報と第2の時刻情報の確度は高いと判断する。所定の時間範囲とは、一定時間の値に対して、ジョブ受信間隔を表す経過時間に所定の係数を乗算して算出される値を積算した値である。差分Aの絶対値が所定の時間範囲内である場合には、第1の時刻情報を使用開始時刻とし、第2の時刻情報を最終使用時刻として保持する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、時刻情報を設定する印刷装置に関する。
【背景技術】
【0002】
印刷装置に設定された時刻情報を用いて、一定期間内に印刷装置において使用された消耗品の量などを取得する印刷システムが利用されている。このような印刷システムにおいて、印刷装置には、時計機能を内蔵しているものと、時計を内蔵していないものとがある。時計機能を内蔵している印刷装置は、例えば、内蔵された時計から現在時刻を取得している。一方、時計を内蔵していない印刷装置は、例えば、サーバと通信してサーバの時刻情報を現在時刻として取得している。
【0003】
【特許文献1】特開2004−192435号公報
【特許文献2】特開2004−106281号公報
【特許文献3】特開2003−260851号公報
【特許文献4】特開2006−62179号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
しかしながら、時計を内蔵しない印刷装置は、サーバにアクセス不可能な場合、時刻情報を取得することができない。また、サーバと接続されることなく用いられるシステム環境でも、時刻情報を取得することができない。この結果、印刷装置には時刻情報が設定されないため、所定期間内の印刷装置の使用状況の把握など、印刷装置に関する種々の解析が困難になるという問題が生じる。
【0005】
本発明は上述の課題に鑑みてなされたものであり、時計が内蔵されていない印刷装置における、確度の高い時刻情報の設定を目的とする。
【課題を解決するための手段】
【0006】
本発明は、上述の課題の少なくとも一部を解決するためになされたものであり、以下の形態または適用例として実現することが可能である。
【0007】
[適用例1]
印刷ジョブを印刷する印刷装置は、 所定の時点からの経過時間を測定するタイマーと、前記印刷装置の使用が開始された時刻を記憶するための使用開始時刻記憶部と、前記印刷装置の使用が終了された時刻を記憶するための最終使用時刻記憶部と、印刷ジョブを受信するジョブ受信手段と、前記受信した印刷ジョブのうちの第1の印刷ジョブから、前記ジョブ受信手段により受信された前記第1の印刷ジョブに関する時刻を表す第1の時刻情報と、前記第1の印刷ジョブより後に前記印刷ジョブ受信手段により受信された第2の印刷ジョブから、前記第2の印刷ジョブに関する時刻を表す第2の時刻情報と、を抽出する抽出手段と、前記第1の印刷ジョブ受信時からの経過時間であるジョブ経過時間を、前記タイマーを用いて取得し、前記抽出した第1の時刻情報と前記取得したジョブ経過時間とを用いて仮の現在時刻を算出する算出手段と、前記第2の時刻情報と前記仮の現在時刻との差分が、前記ジョブ経過時間によって変更する所定の時間範囲に含まれる場合、前記仮の現在時刻もしくは第2の時刻情報を、前記最終使用時刻記憶部に格納する最終使用時刻格納手段と、
前記第2の時刻情報と前記仮の現在時刻との差分が前記所定の時間範囲に含まれ、かつ、前記使用開始時刻記憶部に、前記印刷装置の使用が開始された時刻が格納されていない場合、前記第1の時刻情報により表される時刻を前記使用開始時刻記憶部に格納する使用開始時刻格納手段と、を備える。
【0008】
適用例1の印刷装置は、第1の時刻情報に基づき算出される仮の現在時刻と第2の時刻情報との差分が、ジョブ経過時間によって変更する所定の時間範囲内に含まれる場合には第1の時刻情報および第2の時刻情報を使用開始時刻および最終使用時刻として記憶する。従って、適用例1の印刷装置によれば、確度の高い使用開始時刻と最終使用日時を保持できる。
【0009】
適用例1の印刷装置において、前記所定の時間範囲は、予め規定された一定時間に対して、前記ジョブ経過時間に所定の計数を乗算した変動時間を積算した時間範囲である。
【0010】
適用例1の印刷装置によれば、予め規定された一定時間にジョブ経過時間を反映させることができるため、第1の印刷ジョブ受信から第2の印刷ジョブ受信までに、予め規定された一定時間が経過した場合にも、確度の高い使用開始時刻および最終使用時刻を設定できる。
【0011】
適用例1の印刷装置において、前記使用開始時刻格納手段は、前記印刷装置の電源投入が初回である場合に、前記印刷装置の電源投入時からの経過時間である動作経過時間を、前記タイマーを用いて取得し、前記第2の時刻情報と前記動作経過時間とを用いて、前記印刷装置の使用が開始された時刻を逆算して、前記逆算された時刻を前記使用開始時刻記憶部に格納する。
【0012】
適用例1の印刷装置によれば、第2の時刻情報から印刷装置の使用開始時刻を逆算できるため、使用開始時刻の確度を向上できる。
【0013】
適用例1の印刷装置において、前記第1の時刻情報は、前記第1の印刷ジョブの生成時刻もしくは送信時刻を含み、前記第2の時刻情報は、前記第2の印刷ジョブの生成時刻もしくは送信時刻を含む。
【0014】
適用例1の印刷装置によれば、第1の時刻情報および第2の時刻情報を簡易に取得できる。
【0015】
適用例1の印刷装置において、前記第2の印刷ジョブは、前記第1の印刷ジョブ受信後に受信した印刷ジョブのうち、前記第1の印刷ジョブの発行元とは異なる発行元から発行された印刷ジョブである。
【0016】
適用例1の印刷装置によれば、第1の印刷ジョブと第2の印刷ジョブとを別の発行元から取得するため、第1の印刷ジョブと第2の印刷ジョブとを同一の発行元から取得する場合に比べて、確度の高い使用開始時刻および最終使用時刻を設定できる。
【0017】
適用例1の印刷装置において、
前記第2の印刷ジョブは、更に、前記第1の印刷ジョブの発行元と異なる発行元から発
行された印刷ジョブのうち、最先に受信した印刷ジョブである。
【0018】
適用例1の印刷装置において、前記第2の印刷ジョブは、前記第1の印刷ジョブの次に受信した印刷ジョブである、印刷装置。
【0019】
適用例1の印刷装置によれば、第1の印刷ジョブの受信と第2の印刷ジョブの受信との時間間隔が空きすぎることによる使用開始時刻および最終使用時刻の確度低下を抑制できる。
【0020】
[適用例2]
適用例1の印刷装置と、絶対時刻を表す時計を有するプリンタサーバとがネットワークを介して接続された印刷システムである。前記プリンタサーバは、前記ネットワークに接続された印刷ジョブ発行装置から印刷ジョブを受信する第1の受信手段と、前記受信した印刷ジョブに、前記時計が表す時刻を送信時刻として設定する設定手段と、前記送信時刻を設定した印刷ジョブを前記印刷装置へ送信する送信手段と、を備える。前記印刷装置は、更に、受信した印刷ジョブが前記プリンタサーバから送信された印刷ジョブである場合、前記抽出手段による抽出、前記算出手段による算出、前記最終使用時刻格納手段による格納を禁止する制御手段と、前記プリンタサーバ受信した印刷ジョブから前記送信時刻を取得する取得手段と、前記取得した送信時刻からの経過時間を、前記タイマーを用いて取得し、前記取得した送信時刻に前記経過時間を積算して現在時刻を算出する現在時刻算出手段と、前記プリンタサーバから送信された印刷ジョブ以降の前記印刷ジョブ受信手段による印刷ジョブの受信時に、前記算出した現在時刻を前記最終使用時刻記憶部に格納する最終使用時刻更新手段と、を備える。
【0021】
適用例2の印刷システムによれば、サーバからの印刷ジョブの受信時には、サーバが設定した正確な時刻情報を用いることができる。従って、適用例2の印刷システムによれば、軽い負荷で確度の高い使用開始時刻及び最終使用日時を設定できる。
【0022】
本発明は、上述の印刷装置、印刷システムとしての構成の他、時刻設定方法の発明として構成することもできる。また、時刻設定を実現するコンピュータプログラム、およびそのプログラムを記録した記録媒体、そのプログラムを含み搬送波内に具現化されたデータ信号など種々の態様で実現することが可能である。なお、それぞれの態様において、先に示した種々の付加的要素を適用することが可能である。
【発明を実施するための最良の形態】
【0023】
A.第1実施例
A1.システム構成:
A1−1.システム概略:
図1は、第1実施例における印刷システムのシステム構成を例示する説明図である。印刷システム10は、プリンタ20と、クライアントコンピュータ30〜32とがローカルエリアネットワークLANを介して接続されている。以降、実施例では、クライアントコンピュータ30〜32を、クライアント30〜32と呼ぶ。
【0024】
クライアント30〜32は、印刷ジョブを生成しプリンタ20に送信する印刷ジョブ発行装置である。クライアント30〜32には、ユーザが任意に設定可能な時計が内蔵されており、予め製品に設定されている時刻、あるいは、ユーザにより設定された時刻を現在時刻として管理している。クライアント30〜32には、プリンタ20で印刷を行うために使用するプリンタドライバソフトウェアがインストールされており、このプリンタドライバソフトウェアが、印刷ジョブ生成時に、印刷ジョブの送信時の時刻を印刷ジョブの送信日時として印刷ジョブに含める。
【0025】
プリンタ20は、クライアント30〜32から発行された印刷ジョブを受信すると、受信した印刷ジョブに含まれる時刻情報を抽出する。プリンタ20は、受信した複数の印刷ジョブからそれぞれ抽出した複数の時刻情報を用いて、プリンタ20が使用開始された時刻を表す使用開始時刻と、プリンタ20が最後に使用された時刻を表す最終使用時刻とを取得し、保持する。なお、第1実施例において、印刷ジョブに含まれる時刻情報とは、印刷ジョブの送信日時である。
【0026】
例えば、プリンタ20は、クライアント30から印刷ジョブ50を受信すると、印刷ジョブ50に含まれる時刻情報、すなわち、印刷ジョブ50の送信日時を抽出する。プリンタ20は、その後、クライアント32から印刷ジョブ51を受信すると、印刷ジョブ51に含まれる送信時刻を抽出する。プリンタ20は、抽出した印刷ジョブ50の送信日時と印刷ジョブ51の送信時刻とを用いて、プリンタ20の使用開始時刻と最終使用時刻とを算出する。使用開始時刻と最終使用時刻との算出方法の詳細については後述する。
【0027】
A1−2.プリンタの機能ブロック:
図2は、第1実施例のプリンタ20の機能ブロックの詳細を例示する説明図である。プリンタ20は、CPU100と、ROM110とRAM120と、カウントアップタイマー130と、通信部140と、印刷機構150と、を備える。ROM110は、印刷ジョブ受信モジュール111と、抽出モジュール112と、時刻格納モジュール113と、時刻格納モジュール113と、仮現在時刻算出モジュール115と、印刷処理部116と、を備える。RAM120は、不揮発性のメモリであり、第1の印刷ジョブ送信日時記憶部121と、第2の印刷ジョブ送信日時記憶部122と、使用開始時刻記憶部123と、最終使用時刻記憶部124と、仮現在時刻記憶部125と、を備える。通信部140は、ローカルエリアネットワークLANに接続するためのネットワークインターフェースである。各機能ブロックは、CPU100により制御されている。各モジュールはCPUにより実行される。なお、第1実施例において、第1の印刷ジョブ送信日時記憶部121と、第2の印刷ジョブ送信日時記憶部122と、使用開始時刻記憶部123と、最終使用時刻記憶部124と、仮現在時刻記憶部125には、出荷時に予め初期値「0」が設定されている。
【0028】
印刷機構150は、受信した印刷ジョブにより表される画像を媒体に印刷する処理を行う。
【0029】
カウントアップタイマー130は、ジョブを受信した時点からの経過時間をカウントアップする。カウントアップタイマー130は印刷ジョブを受信するたびにリセットされる。なお、カウントアップタイマー130をプリンタ20の電源投入を契機として開始し、計算によりジョブを受信した時点からの経過時間が算出されてもよい。
【0030】
印刷ジョブ受信モジュール111は、印刷ジョブを受信すると、カウントアップタイマー130に、カウントアップを開始させる。
【0031】
抽出モジュール112は、印刷ジョブを受信すると、印刷ジョブのヘッダ部分に含まれる印刷ジョブの送信日時を抽出する。抽出モジュール112は、第1の印刷ジョブ送信日時記憶部121に時刻情報が記憶されていない場合、第1の印刷ジョブ送信日時記憶部121に抽出した送信日時を格納し、第1の印刷ジョブ送信日時記憶部121に時刻情報が記憶されている場合、第2の印刷ジョブ送信日時記憶部122に抽出した送信日時を格納する。すなわち、抽出モジュール112は、先に受信した印刷ジョブである第1の印刷ジョブの送信時刻を第1の印刷ジョブ送信日時記憶部121に記憶し、第1の印刷ジョブの次に受信した印刷ジョブである第2の印刷ジョブの送信時刻を第2の印刷ジョブ送信日時記憶部122に記憶する。
【0032】
仮現在時刻算出モジュール115は、印刷ジョブから抽出した時刻情報にカウントアップタイマー130によって取得される経過時間を積算した時刻情報を仮の現在時刻(以降、第1実施例では、仮現在時刻と呼ぶ)として算出し、仮現在時刻記憶部125に格納する。
【0033】
時刻格納モジュール113は、第2の印刷ジョブ送信日時記憶部122に記憶されている送信日時(以降、第1実施例では、第2の時刻情報と呼ぶ)と、仮現在時刻記憶部125に記憶されている時刻情報との差分が所定の時間範囲に含まれる場合には、第1の時刻情報および第2の時刻情報を使用開始時刻記憶部123および最終使用時刻記憶部124に格納する。
【0034】
このようにして、絶対時刻を表す時計を内蔵していないプリンタ20は、自己の使用開始時刻と最終使用時刻とを保持する。
【0035】
A2.時刻格納処理:
A2−1.処理フロー:
図3および図4は、第1実施例における時刻格納処理を説明するフローチャートである。図5は、第1実施例における印刷ジョブの構成について例示する説明図である。図6は、第1実施例におけるヘッダ部の内容を例示する説明図である。時刻格納処理は、プリンタ20のCPU100が各モジュールを実行することにより実現される。以降、説明を明瞭とするために、各機能ブロックが実行するものとして説明する。
【0036】
印刷ジョブ受信モジュール111は、印刷ジョブを受信するとカウントアップタイマー130のカウントを開始し、印刷ジョブのヘッダに含まれる送信元特定情報を参照する(ステップS10)。印刷ジョブ受信モジュール111は、受信した印刷ジョブが、直前に受信した印刷ジョブとは異なる送信元から送信されたかを判断する(ステップS12)。具体的には、印刷ジョブ受信モジュール111は、受信した印刷ジョブの送信元が、直前に受信した印刷ジョブの送信元と異なるかを判断する。
【0037】
印刷ジョブ受信モジュール111は、受信した印刷ジョブの送信元が、直前に受信した印刷ジョブの送信元と同じ場合(ステップS12:NO)、処理を終了する。
【0038】
印刷ジョブ受信モジュール111は、受信した印刷ジョブの送信元が、直前に受信した印刷ジョブの送信元と異なる場合(ステップS12:YES)、仮現在時刻記憶部125に仮現在時刻が格納されているかを判断する(ステップS14)。具体的には、印刷ジョブ受信モジュール111は、仮現在時刻記憶部125に「0」が格納されているかを判断する。仮現在時刻記憶部125に「0」が格納されていない場合には、仮現在時刻が格納されていると判断して、仮現在時刻記憶部125から仮現在時刻を取得する(ステップS16)。
【0039】
抽出モジュール112は、仮現在時刻記憶部125に「0」が格納されている場合(ステップS14:NO)、仮現在時刻が格納されていないと判断して受信した印刷ジョブの時刻情報を抽出する(ステップS18)。図5に示すように、印刷ジョブ50は、ヘッダ部50aと、印刷データ50bとから構成されている。印刷ジョブ50のヘッダ部50aには、図6に示すように、印刷ジョブの送信日時60や印刷ジョブの送信元クライアントを表す送信元特定情報61(第1実施例では、クライアントコンピュータのコンピュータ名)等を含む。印刷ジョブの送信日時は、ジョブ送信時に、クライアントコンピュータにより付される。抽出モジュール112は、受信した印刷ジョブのヘッダ部から時刻情報である送信日時を抽出する。なお、送信元特定情報は、コンピュータ名の他、IPアドレスやMACアドレス、製造番号などとしてもよい。
【0040】
仮現在時刻算出モジュール115は、抽出モジュール112により抽出された送信日時とカウントアップタイマー130がカウントアップした経過時間を用いて現在時刻の生成を開始する(ステップS20)。具体的には、仮現在時刻算出モジュール115は、送信日時に経過時間を積算して現在時刻を算出し、仮現在時刻記憶部125に格納する。仮現在時刻算出モジュール115は、カウントアップタイマー130のカウントアップに応じて現在時刻を生成し仮現在時刻記憶部125に格納する。
【0041】
抽出モジュール112は、第1の印刷ジョブ送信日時記憶部121に「0」が格納されているかを判断し(ステップS22)、第1の印刷ジョブ送信日時記憶部121に「0」が格納されている場合(ステップS22:YES)、抽出した送信日時を時刻情報として第1の印刷ジョブ送信日時記憶部121に格納する(ステップS24)。第1の印刷ジョブ送信日時記憶部121に「0」が格納されていない(ステップS22:NO)場合、すでに第1の印刷ジョブの送信日時は格納されていると判断し、第2の印刷ジョブ送信日時記憶部122に「0」が格納されているかを判断する(ステップS26)。
【0042】
抽出モジュール112は、第2の印刷ジョブ送信日時記憶部122に「0」が格納されている場合(ステップS26:YES)、抽出した送信日時を時刻情報として第2の印刷ジョブ送信日時記憶部122に格納する。抽出モジュール112は、第2の印刷ジョブ送信日時記憶部122に「0」が格納されていない場合(ステップS26:NO)、第2の印刷ジョブ送信日時記憶部122に格納されている時刻情報を第1の時刻情報に移動し(ステップS28)、抽出した送信日時を第2の印刷ジョブ送信日時記憶部122に格納する(ステップS30)。すなわち、先に受信した印刷ジョブの時刻情報が第1の印刷ジョブ送信日時記憶部121に格納され、後に受信した印刷ジョブの時刻情報が第2の印刷ジョブ送信日時記憶部122に格納される。
【0043】
時刻格納モジュール113は、仮現在時刻記憶部125を参照して現在時刻を取得し(ステップS32)、第2の印刷ジョブ送信日時記憶部122に格納されている第2の時刻情報と現在時刻の差分Aを算出し、差分Aの絶対値が所定の時間範囲内であるかを判断する(ステップS34)。第1実施例では、現在時刻は、第1の時刻情報に基づき算出されているため、差分Aが所定の時間範囲内に含まれる場合には、第1の時刻情報と第2の時刻情報に矛盾が無いから、第1の時刻情報と第2の時刻情報の確度は高いと判断する。
【0044】
第1実施例において、差分Aの絶対値が所定の時間範囲内に含まれるか否かは、次の式1により判断される。
【0045】
0≦|差分A|≦B …式1
【0046】
なお、第1実施例において、式1の「B」は、一定時間の値に、カウントアップタイマー130によってカウントアップされている経過時間に所定の係数を乗算して算出される値を積算した値である。例えば、一定時間を0.1時間、経過時間を11時間、係数を10%とすると、式2に示すように算出される。
【0047】
B=一定時間+(経過時間×10%)=0.1時間×(11時間×10%)=1.2時間 …式2
【0048】
カウントアップタイマー130に一定の誤差が有る場合、仮現在時刻記憶部125の情報は経過時間に比例して、正確な時刻との差が増加する。例えばカウントアップタイマー130の誤差が1%あったとする。第1の印刷ジョブと第2の印刷ジョブが共に正確な時刻情報を持っていたとしても、式2のBが一定時間では、第1の印刷ジョブ受信から第2の印刷ジョブ受信までの経過期間が長い場合、算出した差分Aは経過期間に比例して数値が大きくなり、正確な時刻情報を持った印刷情報を矛盾が有ると判断してしまう。経過時間が11時間の場合、カウントアップタイマー130の誤差は0.11時間となる。式Bが一定時間だけで判断すると、0.11時間は一定時間0.1時間よりも大きく、第1の時刻情報と第2の時刻情報には矛盾が有ると判断してしまう。逆に経過時間が短い場合は、矛盾の有る時刻情報を、矛盾が無いと判断する可能性が高くなる。所定の時間範囲Bをあらかじめ決められた一定時間とするより、第1実施例のように、所定の時間範囲Bに経過時間を反映させることにより、第1の時刻情報と第2の時刻情報の確度を向上できる。
【0049】
時刻格納モジュール113は、差分Aが所定の時間範囲内に含まれる場合(ステップS32:YES)、使用開始時刻記憶部123に、既に、使用開始時刻が格納されているかを判断する(ステップS34)。具体的には、時刻格納モジュール113は、使用開始時刻記憶部123に「0」が格納されているかを判断する。時刻格納モジュール113は、使用開始時刻記憶部123に「0」が格納されている場合(ステップS34:YES)、使用開始時刻は格納されていないと判断して、第1の時刻情報を使用開始時刻記憶部123に格納し(ステップS36)、第2の時刻情報を最終使用時刻記憶部124に格納する(ステップS38)。時刻格納モジュール113は、使用開始時刻記憶部123に「0」が格納されていない場合(ステップS34:NO)、既に使用開始時刻は格納されていると判断し、最終使用時刻記憶部124に第2の時刻情報を格納する(ステップS38)。
【0050】
時刻格納モジュール113は、差分Aが所定の時間範囲内に含まれない場合(ステップS32:NO)、第1の時刻情報および第2の時刻情報の少なくとも一方の時刻情報が誤っていると判断し、第1の印刷ジョブ送信日時記憶部121および第2の印刷ジョブ送信日時記憶部122の内容を初期化して、第1の時刻情報および第2の時刻情報を削除する(ステップS40)。第1の時刻情報および第2の時刻情報の双方を排除することにより、時刻情報の確度を向上できる。
【0051】
A2−2.最終使用時刻の更新:
図7は、第1実施例における最終使用時刻の更新について模式的に説明する説明図である。図7において、横軸は、プリンタ20が初めて電源投入されてからの経過時間を表している。
【0052】
(1)プリンタ20は、最初に受信した印刷ジョブ50と、印刷ジョブ50の次に受信した印刷ジョブ51から抽出した印刷ジョブの送信日時とに矛盾が無い場合、印刷ジョブ50の送信日時をプリンタ20の使用開始時刻として使用開始時刻記憶部123に格納し、印刷ジョブ51の送信日時を、この時点におけるプリンタ20の最終使用時刻として最終使用時刻記憶部124に格納する。
【0053】
(2)プリンタ20は、印刷ジョブ51の次に印刷ジョブ52を受信すると、印刷ジョブ51と印刷ジョブ52の送信日時とに矛盾が無いかを判断する。矛盾が無い場合、印刷ジョブ52の送信日時を最終使用時刻記憶部124に格納する。言い換えれば、プリンタ20は、印刷ジョブ52の送信日時で最終使用時刻を更新する。
【0054】
(3)プリンタ20は、印刷ジョブ52の次に印刷ジョブ53を受信すると、印刷ジョブ52の送信日時と印刷ジョブ53の送信日時とに矛盾が無いかを判断する。矛盾がある場合、すなわち、印刷ジョブ52から算出される現在時刻と印刷ジョブ53の送信日時とが所定の時間範囲Bに含まれない場合には、プリンタ20の最終使用時刻を更新せず、印刷ジョブ52と印刷ジョブ53の送信日時とを排除する。
【0055】
(4)プリンタ20は、印刷ジョブ53の次に受信した印刷ジョブ54と、印刷ジョブ54の次に受信した印刷ジョブ55との送信日時とに矛盾が無いかを判断し、矛盾が無い場合、印刷ジョブ55の送信日時を最終使用時刻記憶部124に格納することにより、プリンタ20の最終使用時刻を更新する。
【0056】
このように、プリンタ20は、時刻情報に矛盾のない印刷ジョブのうち、最初に受信した印刷ジョブの送信時刻を使用開始時刻として保持すると共に、最後に受信した印刷ジョブの送信時刻を最終使用時刻として保持できる。
【0057】
以上説明した第1実施例のプリンタは、第2の時刻情報と仮現在時刻との差分が所定の時間範囲に含まれる場合には、第1の時刻情報および第2の時刻情報を使用開始時刻記憶部123および最終使用時刻記憶部124に格納する。よって、絶対時刻を表す時計を内蔵していないプリンタであっても、確度の高い使用開始時刻及び最終使用時刻を保持できる。従って、プリンタの製造者は、プリンタが使用され始めてから最後に使用されるまでの現実の経過期間を簡易に取得できるため、プリンタの製品生涯で印刷した枚数や、一定期間の消耗品使用量等の使用状況を精度良く取得でき、新機種開発やマーケティング解析を効率的に行うことができる。
【0058】
また、第1実施例のプリンタによれば、使用開始時刻及び最終使用時刻の取得に、複数の時刻情報を用いているため、確度の高い使用開始時刻及び最終使用時刻を保持できる。
【0059】
また、第1実施例のプリンタによれば、所定の時間範囲Bに、ジョブ受信間隔を表す経過時間を反映させているため、第1の時刻情報と第2の時刻情報の確度を向上できる。
【0060】
同一の送信元から送信された複数の印刷ジョブを用いた場合、送信元のクライアントに設定されている時刻が間違っていても、第1の時刻情報および第2の時刻情報には矛盾がないと判断されることがある。従って、第1実施例のプリンタによれば、異なる送信元から送信された印刷ジョブの送信日時を用いて使用開始時刻と最終使用時刻とを取得でき、確度を向上させた使用開始時刻および最終使用時刻を格納できる。
【0061】
B.第2実施例:
第2実施例では、仮現在時刻からプリンタの使用開始時刻を逆算する印刷システムについて説明する。第2実施例のシステム構成は、第1実施例と同様である。ただし、第2実施例のプリンタ20は、RAM120に、電源投入されたことを表す電源フラグ記憶部を備えている。電源フラグ記憶部には初期値「0」が予め設定されており、電源が切断される際に「1」が設定される。すなわち、電源フラグ記憶部には「0」が設定されているのは、初回電源投入時から電源切断までの間だけである。
【0062】
なお、第2実施例では、プリンタ20のCPU100は、プリンタの電源投入を検出するとカウントアップタイマー130を開始する。以降、第2実施例では、カウントアップタイマー130が表すプリンタの電源投入からの経過時間を、動作時間と呼ぶ。
【0063】
B1.時刻格納処理:
図8は、第2実施例における時刻格納処理を説明するフローチャートである。第2実施例の時刻格納処理は、第1実施例の時刻格納処理のステップS10〜S30まではほぼ同一である。ただし、第2実施例では、プリンタ20の電源投入と同時にカウントアップタイマー130のカウントが開始される。以下では、第1実施例のステップS30以降の処理について説明する。
【0064】
時刻格納モジュール113は、第2の印刷ジョブ送信日時記憶部122に格納されている第2の時刻情報と仮現在時刻の差分Aを算出し、差分Aの絶対値が所定の時間範囲B内であるかを判断する(ステップS100)。
【0065】
時刻格納モジュール113は、差分Aが所定の時間範囲Bに含まれる場合、電源フラグが0であるかを判断する(ステップS102)。電源フラグが「0」の場合、第2の時刻情報とプリンタ20の動作時間とを用いて、プリンタの使用開始時間を算出する(ステップS104)。具体的には、時刻格納モジュール113は、第2の時刻情報である第2の印刷ジョブの送信時刻から、プリンタ20の動作時間を遡って、プリンタの電源が投入された時刻である使用開始時間を逆算する。
【0066】
時刻格納モジュール113は、逆算した使用開始時刻を使用開始時刻記憶部123に格納し(ステップS106)、第2の時刻情報を最終使用時刻記憶部124に格納する(ステップS108)。
【0067】
時刻格納モジュール113は、電源フラグが「0」でない場合(ステップS102:NO)、使用開始時刻記憶部123が「0」であるかを判断する(ステップS110)。時刻格納モジュール113は、使用開始時刻記憶部123が「0」である場合(ステップS110:YES)、第1の印刷ジョブ送信日時記憶部121に格納されている第1の時刻情報を使用開始時刻記憶部123に格納し(ステップS112)、使用開始時刻記憶部123が「0」でない場合(ステップS110:NO)、第2の印刷ジョブ送信日時記憶部122に格納されている第2の時刻情報を最終使用時刻記憶部124に格納して(ステップS108)、処理を終了する。
【0068】
時刻格納モジュール113は、差分Aが所定の時間範囲内に含まれない場合(ステップS100:NO)、第1の印刷ジョブ送信日時記憶部121と第2の印刷ジョブ送信日時記憶部122の内容を初期化する(ステップS114)。
【0069】
以上説明した第2実施例のプリンタによれば、印刷ジョブの時刻情報から使用開始時刻を逆算できる。よって、使用開始時刻記憶部に、実際にプリンタの電源を投入して使用を開始した確度の高い時刻を記憶できる。
【0070】
C.第3実施例:
第3実施例では、第1の時刻情報と第2の時刻情報の差分を用いて第1の時刻情報および第2の時刻情報の確度を判断し、使用開始時刻および最終使用時刻を格納する。なお、第3実施例のシステム構成は第1実施例のシステム構成を同一である。
【0071】
C1.時刻格納処理:
図9は、第3実施例における時刻格納処理を例示する説明図である。第3実施例の時刻格納処理には、第1実施例の時刻格納処理とほぼ同一であり、同一の符号が付されたステップは同一の処理を行う。第3実施例では、図9に示すステップS200の処理が、図3において説明した第1実施例のステップS32の処理と異なる。第1実施例と異なるステップS200について以下に説明する。
【0072】
時刻格納モジュール113は、第1の時刻情報および第2の時刻情報を参照し、第2の時刻情報と第1の時刻情報の差分が0以上であるかを判断する(ステップS200)。時刻格納モジュール113は、差分が0以上である場合(ステップS200:YES)、ステップS34〜ステップS36以降の処理を行い、差分が0未満である場合(ステップS200:NO)、印刷ジョブの到着順と第1の時刻情報および第2の時刻情報とに矛盾があると判断して、第1の印刷ジョブ送信日時記憶部121および第2の印刷ジョブ送信日時記憶部122を初期化する(ステップS40)。
【0073】
以上説明した第3実施例の印刷モジュールによれば、第1の時刻情報および第2の時刻情報とのみによって使用開始時刻および最終使用時刻を格納できる。よって、カウントアップタイマー130を内蔵しないプリンタにおいても、使用開始時刻および最終使用時刻の確実性を向上できる。
【0074】
D.第4実施例:
第4実施例では、印刷システム内にプリンタサーバが設けられている場合について説明する。第4実施例では、プリンタサーバには、正確な絶対時刻が予め設定されていることを前提とし、プリンタは、プリンタサーバから印刷ジョブを受信すると、プリンタサーバから受信した印刷ジョブに含まれる送信時刻をプリンタの現在時刻として取得し、使用開始時刻および最終使用時刻を取得する。
【0075】
D1.システム構成:
図10は、第4実施例における印刷システムのシステム構成を例示する説明図である。第4実施例の印刷システム10aは、第1実施例の印刷システム10に加えて、プリンタサーバ40を備える。第2実施例において、第1実施例と同一の符号が付された構成は、同一の機能・作用を奏する。なお、第2実施例において、クライアント30〜32は、印刷ジョブをプリンタ20に直接発行せずに、プリンタサーバ40に発行する。
【0076】
プリンタサーバ40は、プリンタ20、クライアント30〜32とローカルエリアネットワークLANを介して接続されている。プリンタサーバ40は、クライアント30〜32から印刷ジョブを受信すると、プリンタサーバ40に内蔵されている時計の時刻を印刷ジョブの送信日時として設定し、印刷ジョブをプリンタ20に送信する。
【0077】
例えば、図10に示すように、プリンタサーバ40は、クライアント30から印刷ジョブ50を受信すると、印刷ジョブ50の送信日時にプリンタサーバ40に内蔵されている時計の時刻を設定した印刷ジョブ50aをプリンタ20に送信する。同様に、クライアント32から印刷ジョブ51を受信すると、印刷ジョブ51の送信日時にプリンタサーバ40に内蔵されている時計の時刻を設定した印刷ジョブ51aをプリンタ20に送信する。
【0078】
プリンタ20は、プリンタサーバ40から受信した印刷ジョブの送信時刻をプリンタ20の時刻情報として設定し、設定した時刻情報に基づいて使用開始時刻及び最終使用時刻を格納するとともに、印刷を実行する。
【0079】
D2:送信時刻設定処理:
図11は、第4実施例におけるプリンタサーバによる送信日時設定処理を説明するフローチャートである。プリンタサーバ40は、クライアント30〜32から印刷ジョブを受信すると、キューに一時的に格納する(ステップS300)。プリンタサーバ40は、キューに格納した順に印刷ジョブをプリンタ20へ送信する。印刷ジョブ送信の際、プリンタサーバ40は、印刷ジョブのヘッダ部に含まれる時刻情報を、プリンタサーバ40の時刻で書き換えて(ステップS302)、プリンタ20に送信する(ステップS304)。こうすることにより、印刷ジョブの送信時刻は正確な時刻に設定される。
【0080】
D3.時刻格納処理:
図12は、第4実施例におけるプリンタ20による時刻格納処理を説明するフローチャートである。プリンタ20の印刷ジョブ受信モジュール111は、印刷ジョブを受信すると(ステップS400)、受信した印刷ジョブがプリンタサーバ40から送信された印刷ジョブであるかを判断する(ステップS402)。具体的には、印刷ジョブ受信モジュール111は、受信した印刷ジョブのヘッダ部の送信元特定情報を参照して、印刷ジョブがプリンタサーバ40から送信された印刷ジョブであるかを判断する。
【0081】
プリンタ20の各機能ブロックは、印刷ジョブ受信モジュール111による判断の結果、印刷ジョブがプリンタサーバ40から送信された印刷ジョブで無い場合、第1実施例において説明した図3のステップS12以降の処理を実行する。
【0082】
プリンタ20の抽出モジュール112は、印刷ジョブがプリンタサーバ40から送信された印刷ジョブである場合(ステップS402:YES)、印刷ジョブから時刻情報を抽出(ステップS404)する。仮現在時刻算出モジュール115は、抽出モジュール112が抽出した時刻情報とカウントアップタイマー130が測定する経過時間を用いて、仮現在時刻の生成を開始し、仮現在時刻記憶部125に格納する(ステップS406)。
【0083】
時刻格納モジュール113は、使用開始時刻記憶部123に「0」が格納されているかを判断し(ステップS408)、「0」が格納されている場合(ステップS408:YES)、使用開始時刻記憶部123に仮現在時刻記憶部125に格納されている仮現在時刻を格納する(ステップS410)。時刻格納モジュール113は、使用開始時刻記憶部123に「0」が格納されていない場合(ステップS408:NO)、仮現在時刻記憶部125に格納されている仮現在時刻を最終使用時刻記憶部124に格納する(ステップ411)。
【0084】
以上説明した第4実施例のプリンタによれば、サーバに設定されている時刻を、プリンタの仮現在時刻として使用できる。サーバに設定されている時刻は正確であるため、プリンタには、確度の高い使用開始時刻および最終使用時刻を記憶できる。
【0085】
F.変形例:
(1)第4実施例では、プリンタの電源投入が初回であるかを判断していないが、例えば、プリンタの電源投入が初回であるかを表すフラグや電源投入回数を表すカウンターをプリンタ20に設け、初回電源投入時のみ、第2実施例において説明したように、使用開始時刻を逆算してもよい。こうすれば、正確な時刻であるサーバの時刻からプリンタの使用開始時刻を逆算できるため、確度を向上できる。
【0086】
(2)第4実施例では、サーバからの印刷ジョブの受信の度に現在時刻を生成しているが、例えば、サーバからの印刷ジョブの受信を表すフラグを設け、電源が投入されてから2回目以降のサーバからの印刷ジョブの受信時には、現在時刻を生成しなおさないようにしてもよい。
【0087】
(3)上記各実施例では、印刷ジョブに含まれる送信日時を時刻情報として用いているが、例えば、印刷ジョブに生成時刻が含まれる場合は、生成時刻を時刻情報として用いてもよい。
【0088】
(4)第1実施例では、連続して受信した印刷ジョブを用いて使用開始時刻および最終使用時刻を取得しているが、例えば、1つおきなど時系列的に矛盾していなければ、どのようなタイミングで受信した印刷ジョブを用いてもよい。
【0089】
(5)上記各実施例では、2つの時刻情報を用いて使用開始時刻および最終使用時刻を取得しているが、例えば、3つ以上の複数の時刻情報を用いて使用開始時刻および最終使用時刻を取得してもよい。こうすれば、より確度の高い使用開始時刻および最終使用時刻を取得できる。
【0090】
(6)第4実施例では、同一ローカルエリアネットワークLANにプリンタサーバが接続されているものとしたが、例えば、プリンタサーバはインターネットを介してローカルエリアネットワークの外部のネットワークに接続されていてもよい。
【0091】
(7)第4実施例では、設置されているサーバは単なるプリンタサーバとしているが、例えば、認証印刷を行うための認証印刷サーバとしてもよい。
【0092】
(8)本発明は、複合機やプリンタだけでなく、プロジェクタ等種々の情報機器にも共通して適用可能である。
【0093】
以上、本発明の種々の実施例について説明したが、本発明はこれらの実施例に限定されず、その趣旨を逸脱しない範囲で種々の構成をとることができる。
【図面の簡単な説明】
【0094】
【図1】第1実施例における印刷システムのシステム構成を例示する説明図。
【図2】第1実施例のプリンタ20の機能ブロックの詳細を例示する説明図。
【図3】第1実施例における時刻格納処理を説明するフローチャート
【図4】第1実施例における時刻格納処理を説明するフローチャート。
【図5】第1実施例における印刷ジョブの構成について例示する説明図。
【図6】第1実施例におけるヘッダ部の内容を例示する説明図。
【図7】第1実施例における最終使用時刻の更新について模式的に説明する説明図。
【図8】第2実施例における時刻格納処理を説明するフローチャート。
【図9】第3実施例における時刻格納処理を例示する説明図。
【図10】第4実施例における印刷システムのシステム構成を例示する説明図。
【図11】第4実施例におけるプリンタサーバによる送信日時設定処理を説明するフローチャート。
【図12】第4実施例におけるプリンタ20による時刻格納処理を説明するフローチャート。
【符号の説明】
【0095】
10…印刷システム
10a…印刷システム
20…プリンタ
30〜32…クライアント
40…プリンタサーバ
50…印刷ジョブ
50a…ヘッダ部
50b…印刷データ
51〜55…印刷ジョブ
60…送信日時
61…送信元特定情報
100…CPU
111…印刷ジョブ受信モジュール
112…抽出モジュール
113…時刻格納モジュール
115…仮現在時刻算出モジュール
116…印刷処理部
121…第1の印刷ジョブ送信日時記憶部
122…第2の印刷ジョブ送信日時記憶部
123…使用開始時刻記憶部
124…最終使用時刻記憶部
125…仮現在時刻記憶部
130…カウントアップタイマー
140…通信部
150…印刷機構

【特許請求の範囲】
【請求項1】
印刷ジョブを印刷する印刷装置であって、
所定の時点からの経過時間を測定するタイマーと、
前記印刷装置の使用が開始された時刻を記憶するための使用開始時刻記憶部と、
前記印刷装置の使用が終了された時刻を記憶するための最終使用時刻記憶部と、
印刷ジョブを受信するジョブ受信手段と、
前記受信した印刷ジョブのうちの第1の印刷ジョブから、前記ジョブ受信手段により受信された前記第1の印刷ジョブに関する時刻を表す第1の時刻情報と、前記第1の印刷ジョブより後に前記印刷ジョブ受信手段により受信された第2の印刷ジョブから、前記第2の印刷ジョブに関する時刻を表す第2の時刻情報と、を抽出する抽出手段と、
前記第1の印刷ジョブ受信時からの経過時間であるジョブ経過時間を、前記タイマーを用いて取得し、前記抽出した第1の時刻情報と前記取得したジョブ経過時間とを用いて仮の現在時刻を算出する算出手段と、
前記第2の時刻情報と前記仮の現在時刻との差分が、前記ジョブ経過時間によって変更する所定の時間範囲に含まれる場合、前記仮の現在時刻もしくは第2の時刻情報を、前記最終使用時刻記憶部に格納する最終使用時刻格納手段と、
前記第2の時刻情報と前記仮の現在時刻との差分が前記所定の時間範囲に含まれ、かつ、前記使用開始時刻記憶部に、前記印刷装置の使用が開始された時刻が格納されていない場合、前記第1の時刻情報により表される時刻を前記使用開始時刻記憶部に格納する使用開始時刻格納手段と、を備える印刷装置。
【請求項2】
請求項1記載の印刷装置であって、
前記所定の時間範囲は、予め規定された一定時間に対して、前記ジョブ経過時間に所定の計数を乗算した変動時間を積算した時間範囲である印刷装置。
【請求項3】
請求項1記載の印刷装置であって、
前記使用開始時刻格納手段は、前記印刷装置の電源投入が初回である場合に、前記印刷装置の電源投入時からの経過時間である動作経過時間を、前記タイマーを用いて取得し、前記第2の時刻情報と前記動作経過時間とを用いて、前記印刷装置の使用が開始された時刻を逆算して、前記逆算された時刻を前記使用開始時刻記憶部に格納する、印刷装置。
【請求項4】
請求項1記載の印刷装置であって、
前記第1の時刻情報は、前記第1の印刷ジョブの生成時刻もしくは送信時刻を含み、
前記第2の時刻情報は、前記第2の印刷ジョブの生成時刻もしくは送信時刻を含む、印刷装置。
【請求項5】
請求項1記載の印刷装置であって、
前記第2の印刷ジョブは、前記第1の印刷ジョブ受信後に受信した印刷ジョブのうち、前記第1の印刷ジョブの発行元とは異なる発行元から発行された印刷ジョブである、印刷装置。
【請求項6】
請求項5記載の印刷装置であって、
前記第2の印刷ジョブは、更に、前記第1の印刷ジョブの発行元と異なる発行元から発行された印刷ジョブのうち、最先に受信した印刷ジョブである、印刷装置。
【請求項7】
請求項1記載の印刷装置であって、
前記第2の印刷ジョブは、前記第1の印刷ジョブの次に受信した印刷ジョブである、印刷装置。
【請求項8】
請求項1記載の印刷装置と、絶対時刻を表す時計を有するプリンタサーバとがネットワークを介して接続された印刷システムであって、
前記プリンタサーバは、
前記ネットワークに接続された印刷ジョブ発行装置から印刷ジョブを受信する第1の受信手段と、
前記受信した印刷ジョブに、前記時計が表す時刻を送信時刻として設定する設定手段と、
前記送信時刻を設定した印刷ジョブを前記印刷装置へ送信する送信手段と、を備え、
前記印刷装置は、更に、
受信した印刷ジョブが前記プリンタサーバから送信された印刷ジョブである場合、前記抽出手段による抽出、前記算出手段による算出、前記最終使用時刻格納手段による格納を禁止する制御手段と、
前記プリンタサーバ受信した印刷ジョブから前記送信時刻を取得する取得手段と、
前記取得した送信時刻からの経過時間を、前記タイマーを用いて取得し、前記取得した送信時刻に前記経過時間を積算して現在時刻を算出する現在時刻算出手段と、
前記プリンタサーバから送信された印刷ジョブ以降の前記印刷ジョブ受信手段による印刷ジョブの受信時に、前記算出した現在時刻を前記最終使用時刻記憶部に格納する最終使用時刻更新手段と、を備える、印刷システム。
【請求項9】
所定の時点からの経過時間を測定するタイマーを有し、印刷ジョブを印刷する印刷装置が実行する時刻設定方法であって、
印刷ジョブを受信し、
前記受信した印刷ジョブのうちの第1の印刷ジョブから、前記第1の印刷ジョブに関する時刻を表す第1の時刻情報と、前記第1の印刷ジョブより後に受信した第2の印刷ジョブから、前記第2の印刷ジョブに関する時刻を表す第2の時刻情報と、を抽出し、
前記第1の時刻情報により表される時刻からの経過時間であるジョブ経過時間を、前記タイマーを用いて取得し、前記抽出した第1の時刻情報と前記ジョブ経過時間とを用いて仮の現在時刻を算出し、
前記第2の時刻情報と前記仮の現在時刻との差分が、前記ジョブ経過時間に所定の係数を積算した時間範囲に含まれる場合、前記仮の現在時刻もしくは第2の時刻情報を、前記印刷装置が最後に使用された時刻を記憶するための最終使用時刻記憶部に格納し、
前記第2の時刻情報と前記仮の現在時刻との差分が、前記ジョブ経過時間に所定の係数を積算した時間範囲に含まれ、かつ、前記使用開始時刻記憶部に、前記印刷装置の使用が開始された時刻が格納されていない場合、前記第1の時刻情報により表される時刻を前記使用開始時刻記憶部に格納する、時刻設定方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate