(57)【要約】【課題】  従来の技術によれば、ホストコンピュータの時刻が正確ではない場合に、その正確でない時刻がプリンタに設定されることとなり、より正確な時刻を設定できる仕組みが望まれる。【解決手段】  複数の時刻発信元の外部から入力される時刻の優先度を判定し、該判定により優先度が高いと判定された時刻を設定する仕組みを提供する。【選択図】  図５
2006021489.tif 000002
【特許請求の範囲】
【請求項１】
外部のホストコンピュータと通信可能なプリンタであって、
複数の時刻発信元の各々から入力される時刻の優先度を判定する判定手段と、
前記判定手段により優先度が高いと判定された時刻に基づく設定をする設定手段とを有することを特徴とするプリンタ。
【請求項２】
前記時刻の優先度は入力される時刻の入力元インタフェースの種別によって決定されることを特徴とする請求項１に記載のプリンタ。
【請求項３】
前記判定手段は、入力される時刻設定コマンドに含まれる属性と、現在設定されている時刻の属性と、を比較し優先度を判定することを特徴とする請求項１又２に記載のプリンタ。
【請求項４】
ネットワークインターフェースを介して送信される時刻設定コマンドの属性は、ローカルインターフェースを介して送信される時刻設定コマンドの属性よりも優先度が高いことを特徴とする請求項１から３の何れかに記載のプリンタ。
【請求項５】
前記設定手段は、一定時間外部からの印刷に係るコマンドが無い場合に、設定された時刻を未設定状態にすることを特徴とする請求項１から４の何れかに記載のプリンタ。
【請求項６】
前記外部のホストコンピュータに時刻設定における拒否通知を行なう通知手段を有し、前記ホストコンピュータにおいては、拒否通知を受信したことに応じてプリンタへの時刻設定コマンドの送信抑制が行なわれることを特徴とする請求項１から５の何れかに記載のプリンタ。
【請求項７】
ホストコンピュータと、前記ホストコンピュータ及び時刻サーバと通信可能なプリンタとからなる印刷システムであって、
前記プリンタは、
外部から入力される時刻の優先度を判定する判定手段と、
前記判定手段により優先度が高いと判定された時刻に基づく設定をする設定手段とを有し、
前記ホストコンピュータは、
印刷制御ソフトウェアの起動時にプリンタの時刻設定を行なうべく、前記プリンタに対して時刻設定コマンドを送信するか否かを設定する設定手段を有することを特徴とする印刷システム。
【請求項８】
外部のホストコンピュータと通信可能なプリンタにおける制御方法であって、
複数の時刻発信元の各々から入力される時刻の優先度を判定する判定ステップと、
前記判定ステップにおいて優先度が高いと判定された時刻に基づく設定をする設定ステップとを有することを特徴とする制御方法。
【請求項９】
前記時刻の優先度は入力される時刻の入力元インタフェースの種別によって決定されることを特徴とする請求項８に記載の制御方法。
【請求項１０】
前記判定手段は、入力される時刻設定コマンドに含まれる属性と、現在設定されている時刻の属性と、を比較し優先度を判定することを特徴とする請求項８又９に記載の制御方法。
【請求項１１】
ネットワークインターフェースを介して送信される時刻設定コマンドの属性は、ローカルインターフェースを介して送信される時刻設定コマンドの属性よりも優先度が高いことを特徴とする請求項８から１０の何れかに記載の制御方法。
【請求項１２】
一定時間外部からの印刷に係るコマンドが無い場合に、設定された時刻を未設定状態にする初期化ステップを有することを特徴とする請求項８から１０の何れかに記載の制御方法。
【請求項１３】
前記外部のホストコンピュータに時刻設定における拒否通知を行なう通知ステップを有し、前記ホストコンピュータにおいては、拒否通知を受信したことに応じてプリンタへの時刻設定コマンドの送信抑制が行なわれることを特徴とする請求項８から１２の何れかに記載の制御方法。
【請求項１４】
ホストコンピュータと、前記ホストコンピュータ及び時刻サーバと通信可能なプリンタとからなる印刷システムにおける制御方法であって、
前記プリンタは、
外部から入力される時刻の優先度を判定する判定ステップと、
前記判定手段により優先度が高いと判定された時刻に基づく設定をする設定ステップとを有し、
前記ホストコンピュータは、
印刷制御ソフトウェアの起動時にプリンタの時刻設定を行なうべく、前記プリンタに対して時刻設定コマンドを送信するか否かを設定する設定ステップを有することを特徴とする制御方法。
【請求項１５】
請求項８から１４の何れかに記載の制御方法をコンピュータに実行させるためのプログラム。
【請求項１６】
請求項１５に記載のプログラムを格納したコンピュータ可読の記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プリンタの時刻の設定の仕組みに関するものである。
【背景技術】
【０００２】
従来から外部への各種通知に電子メールを用いるプリンタや、時刻を付加したログを記録するプリンタが知られている。
【０００３】
ネットワークに接続されるプリンタ機能を有する装置には時計機能が必須であるため、単純な時計機能が搭載されているのが普通である。しかし、低価格のプリンタ機能を有する装置においては、コストを下げるために、電源を切っている間は電池によるバックアップがなされない時計を搭載している場合も多い。この場合には、時計を合わせてから電源を切るまでは概ね正しい時刻が得られるが、一旦電源を切った場合には、再度時計を合わせない限り、正しい時刻が得られないことになる。
【０００４】
そして、ネットワークに接続されている装置が時刻を取得する方法として、上位装置であるホストコンピュータから通知する方法が提案されており、例えば、特許文献１や特許文献２が知られている。
【０００５】
特許文献１に開示されている技術は、予め登録されているホストコンピュータからのデータに含まれている時刻を使用してプリンタ機能を有する装置の内部時計の時刻を設定するようにしたものである。
【０００６】
また、特許文献３に開示されている技術は、印刷データに時刻情報を含ませ、最初に印刷データを送ったホストコンピュータの時刻をプリンタの内部時計に設定するようにしたものである。
【特許文献１】特開２００１−１０５６９４号公報
【特許文献２】特開２００３−２６０８５１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、従来の技術によれば、ホストコンピュータの時刻が正確ではない場合に、その正確でない時刻がプリンタに設定されることとなり、より正確な時刻を設定できる仕組みが望まれる。
【０００８】
また、プリンタ自身が時刻サーバからの時刻を取得し、該取得された時刻を自プリンタに設定するようにすれば、正確な時刻をプリンタに設定することができる。しかし、時刻サーバが何らかの原因でダウンしているような場合に、時刻自体が設定できないという問題点があった。
【課題を解決するための手段】
【０００９】
本願発明は上記課題を鑑みてなされものであり、外部から入力される時刻の優先度を判定する判定手段と、前記判定手段により優先度が高いと判定された時刻に基づく設定をする設定手段とを有する仕組みを提供する。
【発明の効果】
【００１０】
本発明によれば、ホストコンピュータの時刻が間違っている、或いは、正確ではない場合に、間違っている、或いは、正確ではない時刻がプリンタに設定されることを防止し、より正確な時刻を設定できる。
【００１１】
また、時刻サーバが何らかの原因でダウンしているような場合にも、時刻自体が設定できないという事態を防ぐことができる。
【発明を実施するための最良の形態】
【００１２】
以下、本発明の発明を実施するための最良の形態について図面を用いて説明する。
【００１３】
以下、図面を参照して本発明の実施の形態を説明する。
【００１４】
図１は、本発明の第１実施形態に係る画像処理装置を備えた画像処理システムの構成を示すブロック図である。
【００１５】
本実施形態の画像処理システムは、ネットワーク上に接続されている複数のホストコンピュータ１１０／１１１と、各種のサーバ１１２／１１３と、該ホストコンピュータや該サーバからインターフェース（ローカルＩ／Ｆ  １２１−１もしくはネットワークＩ／Ｆ  １２１−２）を通して送信された画像データに対して所定の画像処理を施すコントローラ（画像処理装置）１２０とコントローラ１２０に接続され例えばカラー／グレースケールのデジタル画像をプリントアウトする複写機等のエンジン１３０とで構成される画像形成装置１５０で構成されている。
【００１６】
コントローラ１２０は、ホストコンピュータ１１０にインターフェース１２１（１２１−１、１２１−２）を介して接続される外部インターフェース１２１を有し、この外部インターフェースがＣＰＵバス１２３に接続されている。ＣＰＵバスには、装置全体の動作を制御するＣＰＵ１２４と、制御プログラム（後述するフローを含む）を格納するＲＯＭ１２５と、作業用のワークエリアとして使用されるＲＡＭ１２６（１２６−１、１２６−２）と、フォントデータや一時記憶用のデータ、印字画像データ等が記憶される内蔵ハードディスク（ＨＤＤ）１２８を制御するＨＤＤコントローラ１２７と、ＦＩＦＯ１２９とが接続されている。ここで、ＲＡＭは、ラスタ画像データを記憶するフレームメモリ１２６−１と、ＰＤＬ画像データを保持するＰＤＬバッファ１２６−２を備えている。なお、ラスタ画像データをフレームメモリ１２６−１に記憶する代りに、内蔵ＨＤＤ１２８に記憶することも可能である。また、内蔵ＨＤＤ１２８に格納された複数の画像データは、プリンタの操作部１３２で指定された編集モードに応じた順序で印字出力することも可能である。
【００１７】
このコントローラ１２０によれば、ホストコンピュータ１１０からローカルインターフェース１２１−１及びネットワークインターフェース１２１−２を介して送られてきたＰＤＬ（Ｐａｇｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ：ページ記述言語）画像データは、ＣＰＵバス１２３を介して一旦ＰＤＬバッファ１２６−２に保持される。ＣＰＵ１２４は、ＲＯＭ１２５や内蔵ＨＤＤ１２８にあるフォントデータ等を用いて、ＰＤＬバッファ１２６−２に保存されているＰＤＬ画像データをラスタ画像データに展開し、フレームメモリ１２６−１に書き込む。
【００１８】
このコントローラ１２０からは、ＣＰＵバス１２３及びＦＩＦＯ１２９を介してラスタ画像データがプリンタエンジン１３０へ形成用信号１４１上に送られ、その信号に基づいて画像形成が行われる。また、コントローラ１２０とプリンタエンジン１３０は、インターフェース１４２を介して、種々の通信が行える。
【００１９】
プリンタエンジン１３０は、画像形成部１３１と、操作部１３２と、制御部１３３とで構成されている。画像形成部１３１は、ホストコンピュータ１１０から送られてきた画像データを４００ｄｐｉ等の画像処理装置解像度で記録媒体にカラーまたはグレースケールで出力する機能を有し、制御部１３３は、プリンタ１３０の制御を行うもので、操作部１３２及び画像処理装置１２０との通信内容に応じてプリント機能を実行する。操作部１３２は、プリンタの各種設定および各種動作の指示を行うために使用する。
【００２０】
コントローラ１２０は、ネットワークインターフェース１２１−２を介してネットワーク上の機器と通信を行うことが可能であり、印刷データのやりとりだけでなく、機器制御のための通信や、機器の状態や管理情報の通信等が行われる。
【００２１】
例として、トナー残量、カセット毎、サイズ毎の用紙の残量、ステイプル針の残量、等の消耗品情報の通信である。またプリンタの状態情報（ドアが空いている，紙詰まり等）の通信や、各種オプション装置（排紙処理装置（ソータ），Ｚ折り機，ペーパデッキ）装着の有無等の通信である。機器設定値を設定するための通信も行われる。
【００２２】
前記説明における画像形成装置１５０は、ＰＤＬデータをホストコンピュータより受け取り、印刷装置の内部で画像のレンダリングや印刷制御を行う形式の画像形成装置であったが、印刷イメージのレンダリングや印刷制御が、ホストコンピュータ１１０上で動作する図２記載のＰｒｉｎｔｅｒＤｒｉｖｅｒ（プリンタドライバ）２０２やＬａｎｇｕａｇｅＭｏｎｉｔｏｒ（ランゲージモニタ）２０３で実行されるような形式の画像形成装置であっても良い。以下、この場合におけるホストコンピュータ側についての構成を説明する。
【００２３】
次に図２は、本発明を実施する印刷制御システムにおけるホストコンピュータのソフトウェアブロック図である。ホストコンピュータ２００では、印刷を行うＡｐｐｌｉｃａｔｉｏｎ（プリントアプリケーション）２０１が動作しており、印刷処理が発行された場合には、あらかじめインストールされているプリンタドライバ２０２が起動され、印刷イメージデータを作成する。この生成された印刷イメージデータはランゲージモニタ２０３に渡され、ランゲージモニタ２０３は印刷を制御するための各種コマンドと生成された印刷イメージデータをあらかじめ定めておいたプロトコルに基づき、ＵＳＢＰｏｒｔＭｏｎｉｔｏｒ（ＵＳＢポートモニタ）２０５およびＵＳＢケーブル２０６を経由してプリンタ２１０に転送する。ＵＳＢではなく、ネットワーク接続の場合には、ネットワークポートモニタとネットワークＬＡＮを経由してプリンタ２１０に転送する。
【００２４】
各種制御コマンドはプリンタで解釈の後に処理が行われる。ホストコンピュータに返答が必要なものについては返信処理がなされる。例としては印刷装置における各種ステータス情報がある。この返信されたステータスは接続ポートによってランゲージモニタが受け取り、その内容に応じてさらに印刷処理を進めると同時にＳｔａｔｕｓＷｉｎｄｏｗ（ステータスウィンドウ）２０４に通知され、ステータスウィンドウ２０４は印刷の状況や印刷装置の状態をホストコンピュータに表示する。
【００２５】
また、図２記載のステータスウィンドウ２０４は、印刷の一時停止やキャンセルといったユーザの操作要求を受けることができるように構成され、その要求は適宜ランゲージモニタ２０３に伝えられる。ランゲージモニタ２０３は、伝えられた操作要求に応じたコマンドを前記定められたプロトコルに基づいてＵＳＢポートモニタ２０５およびＵＳＢケーブル２０６を経由してプリンタ２１０に転送し、前記のごとくコントローラ部よって転送されたコマンドに応じた処理が実行される。
【００２６】
次に図３は、本発明を実施する印刷制御システムの全体を示すブロック図である。ネットワーク上には時刻情報をサービスするＳＮＴＰサーバ３６０／３６１が存在する。これは複数台存在してもよい。またＳＮＴＰサーバとしているが、ＮＴＰサーバでもよい。ネットワークプリンタ３７０には、単独での時計機能が存在しない。前記ＳＮＴＰサーバとネットワークプリンタ３７０は通信を行い、サーバから獲得した時刻情報をプリンタ内の時刻情報に用いる。ホストコンピュータ３ではプリンタの設定を行うことが可能なＲｅｍｏｔｅＵＩユーティリティが実行されるＷｅｂブラウザが動作する。これでＳＮＴＰ時刻取得機能の設定も行われる。
【００２７】
この設定環境において、プリンタ３７０はサーバに時刻を問い合わせて設定を行う。
【００２８】
ＳＮＴＰサーバがネットワーク上に存在しない場合には、ローカル接続のホストコンピュータ１（３５１）やネットワーク接続のホストコンピュータ２（３５２）によって、プリンタ３７０の時刻情報の設定も可能である。現況において、ホストコンピュータはリアルタイムタイマを持っており、時刻情報を保持しているものが通常である。
【００２９】
この設定環境の場合は、プリンタが時刻を問い合わせるのではなく、ホストコンピュータより強制の時刻設定指示が行われる。
【００３０】
プリンタ側で設定指示を受けて取得したホストコンピュータの時刻情報には、時刻のほかに、時刻の正確度の属性が含まれている。時刻設定指示をプリンタ３７０へ行う場合は、時刻のほかに、その属性とホスト名が含まれている。時刻正確性比較手段は、ホストコンピュータから受け取った時刻設定指示内容と、既に設定されている時刻の設定内容を比較し、どちらの時刻を設定するか判断する。
【００３１】
ホストコンピュータからの時刻設定指示を受け付ける場合（図５のステップＳ５１３、図６のステップＳ６０３）や、ネットワーク時刻サーバから時刻を獲得した場合（図５のステップＳ５０３）には、それぞれ指示時刻、獲得時刻の時刻情報を時刻設定手段によってプリンタ時刻として設定する。この時、時刻の各種属性（ホスト名等）も記録される。
【００３２】
ホストコンピュータによる時刻設定指示が受け付けられなかった場合は、時刻設定指示中断手段３７７によって、それ以降時刻設定指示を行わないようにホストコンピュータの時刻設定指示手段に指示してもよい。ホストコンピュータ側では、その指示を行わないように指示された場合には以降の時刻設定指示を行わない。
【００３３】
なお、やり取りされる時刻情報は全てＧＭＴとする。時刻を受け取った側にて時差等の変換を行いローカル時間を算出して時刻情報とする。
【００３４】
しかしながら「時刻情報」に時差情報も添付させることも可能であるのはいうまでもない。
【００３５】
本実施例では、ＧＭＴで時刻のやりとりを行い、時刻を受け取った側にて時差等の変換を行いローカル時間を算出する場合の実施例として記述を行っている。
【００３６】
［ホスト側の動作］
図４は実施例のホスト側の動作を示すフローチャートである。このフローチャートを用いて詳細に説明する。実際には図４におけるホストコンピュータ３５１や３５２で実行される送信プログラム処理である。
【００３７】
尚、図４のフローチャートは、ホスト側のＰｒｉｎｔｅｒＤｒｉｖｅｒ（プリンタドライバ）、或いは、ＬａｎｇｕａｇｅＭｏｎｉｔｏｒ（ランゲージモニタ）に、図４のフローチャート（時刻設定コマンドをプリンタに送信する）を実行するか否かのユーザ設定が施されており、該設定が図４のフローチャートを実行すると設定されている場合に行なわれるものとする。また、図４のフローチャートを行なうか否かの設定は、ＰｒｉｎｔｅｒＤｒｉｖｅｒ（プリンタドライバ）、或いは、ＬａｎｇｕａｇｅＭｏｎｉｔｏｒ（ランゲージモニタ）が起動した際に、ＰｒｉｎｔｅｒＤｒｉｖｅｒ（プリンタドライバ）、或いは、ＬａｎｇｕａｇｅＭｏｎｉｔｏｒ（ランゲージモニタ）自身により参照されるものとする。
【００３８】
送信プログラムは、ワーク領域として、時刻情報、時刻の属性、ステータスを使用する。時刻情報は、そのホストの時刻情報を保持し、初期値は送信プログラム起動時の時刻である。時刻の属性のうち１と２以降とで分類される属性は、そのホストコンピュータにおける時刻がどのような方法やルートで設定されているかを示し、初期値は１である。属性の取る値として、０、１、２以降がある。
【００３９】
０の場合は、プリンタでの時刻の未設定を表し、プリンタでの時刻の属性として利用される。１はローカルのリアルタイムクロックを使用した時刻、言い換えれば、ＮＴＰサーバ等にアクセスするためのネットワークに接続されていないホストコンピュータにおける時刻を表す。本実施例では、２以降はＮＴＰ（Ｎｅｔｗｏｒｋ  Ｔｉｍｅ  Ｐｒｏｔｏｃｏｌ）もしくはＳＮＴＰ（Ｓｉｍｐｌｅ  Ｎｅｔｗｏｒｋ  Ｔｉｍｅ  Ｐｒｏｔｏｃｏｌ）によって取得した時刻であることを表している。ＮＴＰによって取得した時刻は原子時計やＧＰＳによって取得した時刻を元にしているので、ローカルのリアルタイムクロックから取得した時刻よりも正確である。
【００４０】
また、ＮＴＰサーバは別のＮＴＰサーバに対して時刻情報を転送できる。転送した場合には、転送処理時間だけ、時刻が遅れ、時刻情報のオリジナル度（正確度）が低下することがある。よって、一度時刻情報を転送するたびにこの値を＋１する。そして、何れかのオリジナル度の時刻がホストコンピュータやＳＮＴＰサーバにより取得される。また、ステータスは、時刻設定情報を保持し、時刻設定情報には、その時刻を設定したホスト名、その時刻の属性が含まれている。
【００４１】
まず、ホスト側からプリンタの時刻を自律的に設定する場合について説明する。ホスト側で動作する送信プログラムは、起動されると、ステップＳ４０１でホストの時刻設定方法としてＮＴＰの設定がされているかどうかをＯＳから取得し、設定されていれば時刻の属性を２以降に、されていなければ属性を１に設定する。
【００４２】
ステップＳ４０２では、ホストコンピュータ内の時刻により所定時刻の経過を判断する。これは予め定められた間隔でデバイスへの時刻設定を行わせるためである。
【００４３】
ステップＳ４０３では、ホストコンピュータ内の時刻情報を時刻設定コマンド用に加工しておく。この加工は、図２中のＰｒｉｎｔｅｒＤｒｉｖｅｒ（プリンタドライバ）、或いは、ＬａｎｇｕａｇｅＭｏｎｉｔｏｒ（ランゲージモニタ）により実行される。ステップＳ４０４では、プリンタにステータス取得コマンドを送信し、そのレスポンスとしてプリンタ時刻設定情報ステータス（設定済フラグ、拒否フラグ、等）を取得する。
【００４４】
ステップＳ４０５では、受信したステータスの時刻設定情報の時刻属性が０かどうかを判別する。０の場合は未設定と判断し、ステップＳ４０７に進み、それ以外の場合は、ステップＳ４０６に進む。
【００４５】
ステップＳ４０６では、時刻設定拒否フラグの値を評価し、０である場合は、拒否されていないので、ステップＳ４０７に進み、１である場合は、拒否されているのでＳ３０２に戻り時刻設定コマンドの送信を抑制する。なお、ホストコンピュータのメモリに予め格納される拒否フラグのデフォルト値は「０」とする。
【００４６】
ステップＳ４０７では、先に用意しておいた時刻設定コマンドを、図２のＰｒｉｎｔｅｒＤｒｉｖｅｒ２０２や、Ｌａｎｇｕａｇｅ  Ｍｏｎｉｔｏｒ（ランゲージモニタ）２０３を介してプリンタに送信する。時刻設定コマンドには、時刻のほかに、時刻の属性とそのホスト名が含まれている。尚ホストコンピュータ側の時刻設定コマンドを発行するモジュールは、２０２、２０３の何れでもよく、制御ソフトウェアや制御手段と呼ぶこともできる。
【００４７】
ステップＳ４０８では、時刻設定コマンドのレスポンスから時刻設定コマンドが拒否されたかどうかを判別する。拒否された場合は、ステップＳ４０９に進み、受け付けられた場合は、ステップＳ４１０に進む。
【００４８】
ステップＳ４０９では、拒否フラグを１に設定し、Ｓ４０２に戻る。Ｓ４１０では、拒否フラグを０に設定し、Ｓ４０２に戻る。
【００４９】
尚、上に説明したステップＳ３０１において、時刻情報を獲得できない場合には、時刻設定は行われない。
【００５０】
［プリンタ側の動作］
図５は実施例のプリンタ側の動作を示すフローチャートである。このフローチャートを用いて詳細に説明する。実際には図１におけるプリンタの制御回路１２０、図３におけるプリンタ３７０によって実行される処理である。
【００５１】
制御回路は、ワーク領域として、時刻、時刻の属性、ホスト名、経過時間を使用する。時刻は、設定された時刻を保持し、初期値は０である。時刻の属性は設定されている時刻の取得方法を表している。意味はホスト側の動作で説明したとおりである。ホスト名は時刻設定を行ったホスト名を保持し、初期値は何も書かれていない。経過時間は最後に時刻設定を行われてから経過した時間を保持し、初期値は０である。また、経過時間は内部クロックによって計測されている。
【００５２】
まず、制御回路は起動すると、ステップＳ５０１にてネットワーク上のＳＮＴＰサーバにネットワーク時刻情報の問い合わせを行う。
【００５３】
ステップＳ５０２で、この問い合わせに応答があった場合は、ステップＳ５０３で、応答された時刻を用いてプリンタデバイス内の時刻情報を設定する。
【００５４】
ステップＳ５０４で、２１２、２１１の何れかのインターフェースを介して、何れかのホストコンピュータからのコマンドを受信したかどうかを判別する。コマンドを受信している場合は、ステップＳ５０７に進み、受信していない場合はステップＳ５０５に進む。
【００５５】
ステップＳ５０５では、経過時間が予め設定されている時間（例えば１時間）より経過したかどうかを判別し、一定時間経過していない場合は、ステップＳ５０４に戻り、経過している場合は、ステップＳ５０６に進む。
【００５６】
ステップＳ５０６では、一定期間、時刻設定指示が行われていないので、ホストがダウンしている可能性がある。そのため、時刻の属性を０の未設定状態に初期化設定し、何れかの他の外部の時刻発信元から時刻の設定を受け付けることが可能なように設定し、ステップＳ５０１に戻る。ここで再度ＳＮＴＰサーバに問い合わせを行い、時刻の設定を行う。ステップＳ５０５、５０６の処理は、特に、プリンタのクロック機能の精度が悪く、時刻がずれるような場合に、有効になる。
【００５７】
ステップＳ５０７では、コマンドが時刻設定コマンドかどうかを判別する。時刻設定コマンドである場合は、ステップＳ５０９に進み、そうでない場合は、ステップＳ５０８に進む。
【００５８】
ステップＳ５０８では、該当するコマンドの処理を行い、ステップＳ５０４に戻る。
【００５９】
ステップＳ５０９では、設定されている時刻の属性が０かどうかを判別し、０の場合は、未設定と判別し、ステップＳ５１３に進む。それ以外の場合は、設定されていると判別し、ステップＳ５１０に進む。
【００６０】
Ｓ５１０では、Ｓ５０４で受信した時刻設定コマンドに含まれているホスト名と、ワーク領域のホスト名を比較し、現在設定されている時刻のホスト名からの時刻設定コマンドかどうかを判別する。
【００６１】
ホスト名が一致している場合は、現在設定しているホストからのコマンドと判別し、ステップＳ５１１に進む。一致しない場合は、他のホストからの設定コマンドのため、ステップＳ５１１に進む。
【００６２】
ステップＳ５１１では、ステップＳ５０４で受信した時刻設定コマンドの時刻の属性（オリジナル度）と現在設定されている時刻の属性（オリジナル度）を比較し、どちらが正確かを判別する。正確だと判断される時刻が優先度が高い時刻とされる。つまりコマンドの属性が２、２以上、１、０の順で、優先度の高い時刻であると判定される。優先度の高いと判定される、つまり、より正確な属性を示す時刻が受信された場合に、処理をステップＳ５１３に進める。
【００６３】
現在設定されている時刻のほうが優先度が高いと判定された場合には処理をステップＳ５１２に進める。
【００６４】
ステップＳ５１２では、時刻設定コマンドが拒否されたことをホストに通知し、ステップＳ５０４に戻る。
【００６５】
ステップＳ５１３では、時刻設定コマンドに含まれている時刻に基づく設定を行い、時刻設定コマンドの発信元のホスト名、属性をワーク領域に保存する。ステップＳ４１１では、時刻が設定されたため、経過時間を０にリセットし、ステップＳ５１５に進む。ステップＳ５１５では、時刻設定コマンドを受け付けたことをホストに通知し、ステップＳ５０４に戻る。
【００６６】
以上のように図５のフローチャートによれば、外部のホストコンピュータと通信可能なプリンタにおいて、図１の１１０乃至１１３の複数の時刻発信元の各々から入力される時刻の優先度をステップＳ５１１で判定し、優先度が高いと判定された時刻をステップＳ５１３で設定することができるので、より正確な時刻をプリンタ本体に設定することができる。また、何れかの装置が電源ＯＦＦなど、何らかの原因により時刻設定コマンドを発しないような状態であったとしても、他の時刻発信元からの時刻設定コマンドに基づき時刻を設定することができる。
【００６７】
尚、ここでの時刻発信元とは、例えば、図１の１１０乃至１１３のような別の装置であっても良いし、同一の装置内のＳＮＴＰサーバ機能、或いは、Ｌａｎｇｕａｇｅ  Ｍｏｎｉｔｏｒ２０３などの別ソフトウェアモジュールであっても良い。
【００６８】
図６について説明する。図６も図５と同様に、プリンタコントローラにおける時刻設定コマンドに対する動作を示す別の実施例である。ステップＳ６０１において時刻設定コマンドが受信されたインターフェースの種別を判定する。もしローカルインターフェースからの受信であるならば、Ｓ６０５に、ネットワークインターフェースによって受信されたものであるならばＳ６０２に進む。
【００６９】
尚、ステップＳ６０１の判定処理は、時刻設定コマンドに時刻の属性を含ませ、この時刻の属性を上に説明したステップＳ５１１と同様に判定するようにしても良い。この場合には、時刻設定コマンドの発行元のホストコンピュータにおいてデータ通信に利用するインターフェースの種別に応じて、ローカルインターフェースならば１の属性を時刻設定コマンドに含ませ、ネットワークインターフェースならば２又は２以降の属性を時刻設定コマンドに含ませるようにすれば良い。
【００７０】
図６の説明に戻ると、ステップＳ６０２では、ネットワークインターフェースから時刻設定コマンドを受けたことを示す設定済みフラグをセットする。電源投入直後にこのフラグはクリアされる。すなわち一度セットされていても電源が一度ＯＦＦされると無効となる。
【００７１】
ステップＳ６０２に続いてステップＳ６０３において時刻設定コマンドで通知された時刻をＲＡＭ上に割り当てられた領域に格納する。最後にステップＳ６０４において、正常に時刻が設定できた旨の応答コマンドをコマンド発行元に返送して、時刻設定コマンド処理を終了する。
【００７２】
一方、時刻設定コマンドがローカルインターフェースで受信されたものであったならば、ステップＳ６０５においてＲＡＭ上に格納されている上記設定済フラグを調べる。もし設定済フラグがセットされていなければ、すなわち、ネットワークインターフェースから時刻設定コマンドを受けていなければステップＳ６０３に進み、時刻設定処理を行う。一方、設定済フラグがセットされているならば、すなわち、既にネットワークインターフェースから時刻設定コマンドを受けているならば、ローカルＰＣからの時刻設定コマンドを無視してステップＳ６０６に進み、無視したことを示す応答データをコマンド発行元に返送して、時刻設定コマンド処理を終了する。
【００７３】
この図６のフローチャートにより、複数の時刻発信元からの時刻設定コマンドが入力されるインターフェースの種別に基づき時刻の優先度を判定することができ、ネットワーク経由のより正確な時刻設定を推進することができると共に、ネットワーク経由の時刻設定を行なえなくとも、ＵＳＢインターフェース等のローカルインターフェースを介して入力される時刻設定コマンドに基づく時刻設定処理を行なうことができる。
【００７４】
以上のように本発明による実施例の画像形成装置は、コントローラ部において、ローカルホストコンピュータからの時刻設定コマンドより、ネットワークインターフェースからの時刻設定コマンドを優先的に扱うことにより、プリンタ内部に信頼性の高い時刻情報を保持することが可能になる。
【００７５】
実際のネットワーク環境では、あるホストコンピュータから定常的に時刻を取得しており、もしもそのホストコンピュータに異常があるなどして時刻サービスが提供されないという場合に限り他のホストコンピュータに問い合わせるという運用が期待されるが、その場合にも本発明を適用することが可能である。
【００７６】
上では、プリンタデバイスが外部から獲得した時刻情報は結果として１つだけ保存されていた。しかしながら、時刻情報を必要とする機能部分は複数あり、その機能ごとに使用する時刻情報を分けて制御することが好ましい場合がある。
例としては、デバイスエラーログとジョブログである。
【００７７】
デバイスのエラーログは、前述したネットワーク時刻がそのログ内容に格納される。デバイス単体でのエラー発生事象にてログが作成できるからである。
【００７８】
エラーログに対し、ジョブログは、ジョブを生成したホストコンピュータの動作時刻（そのジョブの生成時刻）とジョブの印刷時刻がログに格納される。つまりプリンタデバイス内の時刻だけでは構成できない。このジョブの生成時刻はジョブ内に記録されているものであり、その情報でログが作成される。
【００７９】
図９は、ホストＰＣ上で動作するユーティリティにおける、ジョブログの表示例である。この例においては「印刷日時」の項目部分がジョブの生成時刻を示している。この例ではジョブの印刷時刻の表示を行っていないが、ログの内容としては保持されている。
【００８０】
また、図９において「最終更新」の時刻情報が表示されているがこの時刻情報は、このユーティリティが動作しているホストＰＣの時刻情報を用いて表示をおこなっている（このユーティリティ例はウェブブラウザであり、この場合は表示されるウェブのコンテンツはネットワークインタフェースカードが生成する）。
【００８１】
図１０は、図９と同じユーティリティにおける別の機能画面であり、ネットワークインタフェースカード内の時刻を表示するとともに、ネットワーク上のＳＮＴＰサーバへ問い合わせを行うユーザインタフェースを持っている。
【００８２】
この「デバイス保持時刻」で表示しているのがネットワークインタフェースが保持している時刻情報である。そして「今すぐ更新」ボタンを押すことによりプリンタがネットワーク上のサーバに対して時刻の問い合わせを行う指示を遠隔から行うことができる。そのアクセスのログがその上のリストボックスに表示される。
【００８３】
なお、上部の「最終更新」に表示されている時刻はホストＰＣ上の時刻である。
また、「今すぐ更新」ボタンを押してサーバから時刻情報を得られた場合には、プリンタデバイスに対しても時刻を通知することはいうまでもない。
【００８４】
図１１は、図９と同じユーティリティの別機能画面であり、ネットワーク上のＳＮＴＰサーバを指定するユーザインタフェースを備えている。
ＳＮＴＰサーバアドレスを一つだけ設定できる。サーバから受け取った時刻はＧＭＴであるのでローカル時間を算出するための設定情報として、タイムゾーンの設定、サマータイム設定を行うことが可能である。なおサーバに複数のアドレスを指定して動作させることも可能である。またブロードキャストで時刻の問い合わせを行ってもよい。
【００８５】
次に、上に説明した図５、６のフローチャートにおいて設定された時刻の利用形態の一例であるエラーログ作成について、図７のフローチャートで説明する。
【００８６】
まずステップＳ７０１にてプリンタデバイスのステータス情報を獲得、その情報によって、エラー状態を検知する（ステップＳ７０２）。
【００８７】
エラー状態が検知されたら、デバイス側からさらにエラー詳細情報を獲得する（ステップＳ７０３）。
【００８８】
そしてステータス情報（ステータスコード）内容やエラー詳細情報を加工し、エラーログ（エラーログにはジャムログが含まれる）に必要な情報を作成する（ステップＳ７０４）。
【００８９】
この時、使用する時刻情報を獲得する（ステップＳ７０５）。この場合はジャムログなのでステップＳ７１１によりネットワークＩ／Ｆ内（ステップＳ５１３や、ステップ６０３で設定された時刻）の時刻を獲得しログに記録する。そしてエラーログのサービスを一時停止し（ステップＳ７０６）、エラーログのデータベースへ新規作成したログ情報を追加登録する（ステップＳ７０７）。最後にエラーログのサービスを再開する（ステップＳ７０８）。
【００９０】
上の説明ではエラーログの場合であったが、ステータスコードの内容の判定により、ジャム状態を検知した場合には、ジャムログの作成を行うようにしてもよい。このジャムログの場合もネットワークＩ／Ｆ内の時刻情報でログを作成する。
【００９１】
また、ジョブ終了状態を検知した場合には、ジョブログの作成を行う。前述したようにこのジョブログの場合には、ログ内容の時刻情報には、ジョブに含まれるジョブ生成時刻を使用する。
【００９２】
次にログ獲得コマンド処理（ログサービス処理）について図８を用いて説明する。図７で作成したログを外部のホストコンピュータに通知する際に行われる処理に該当する。
【００９３】
まず、ログ獲得コマンドの内容を判断する（ステップＳ８０１）。
【００９４】
ログ機能には複数のログ種別が存在するので、どのログに対してのアクセスなのかを判断し（ステップＳ８０２）、以降はその指定されたログに対しての処理を行う（ステップＳ８０２以降）。ログ獲得コマンドには、ログにおける番号指定など、詳細なアクセスを行う情報が含まれており、その情報に合わせて、ログ用のデータベースより該当ログ情報を引き出す（ステップＳ８０２）。該当ログ情報からさらに必要な情報を加工して、返信に必要な情報を作成する（ステップＳ８０３）。そしてその作成した返信情報をログ獲得コマンド処理を依頼してきた機能部へ返信する（ステップＳ８０４）。
【００９５】
図１２はエラーログの例である。前述したログサービス処理を用いてログを獲得したホスト上のユーティリティにてエラーログ内容の表示を動作させた例である。
前述しているがこのエラーログの１件のデータ中の時刻についてはネットワークＩ／Ｆ内の時刻が使用されている。
【００９６】
また、本発明の目的は、前述した実施の形態の機能を実現するソフトウェアのプログラムコードを記憶した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記憶媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記憶媒体及びプログラムは本発明を構成することになる。
【００９７】
また、プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭ等を用いることができる。
【００９８】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施の形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ（オペレーティングシステム）等が実際の処理の一部または全部を行い、その処理によって前述した実施の形態の機能が実現される場合も含まれることは言うまでもない。
【００９９】
更に、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって前述した実施の形態の機能が実現される場合も含まれることは言うまでもない。
【図面の簡単な説明】
【０１００】
【図１】本発明に係るデータ処理装置を含むネットワーク機器のシステム構成を説明する図である。
【図２】主として本発明におけるホストコンピュータの実施例を示す印刷システムの構成を説明するブロック図である。
【図３】本発明における実施例を示す印刷システムの機能構成を説明するブロック図である。
【図４】ホストコンピュータにおける、プリンタへの送信を行うプログラムにおいて、本発明の時刻設定処理ルーチンを示すフローチャートである。
【図５】プリンタにおける、本発明の時刻設定処理ルーチンを示すフローチャートである。
【図６】プリンタにおける、本発明の時刻設定処理ルーチンを示すフローチャートである。
【図７】プリンタにおける、本発明のエラーログ作成処理ルーチンを示すフローチャートである。
【図８】プリンタにおける、本発明のログ獲得コマンド処理ルーチンを示すフローチャートである。
【図９】ジョブログ情報の表示の例である。
【図１０】デバイス時刻を設定させるユーザインタフェース画面例である。
【図１１】デバイス時刻を設定するためのサーバを指定するユーザインタフェース画面例である。
【図１２】エラーログ情報の表示の例である。
【図１】
2006021489.tif 000003
【図２】
2006021489.tif 000004
【図３】
2006021489.tif 000005
【図４】
2006021489.tif 000006
【図５】
2006021489.tif 000007
【図６】
2006021489.tif 000008
【図７】
2006021489.tif 000009
【図８】
2006021489.tif 000010
【図９】
2006021489.tif 000011
【図１０】
2006021489.tif 000012
【図１１】
2006021489.tif 000013
【図１２】
2006021489.tif 000014