以下、本発明の一実施形態に係る印刷システム1について図面を参照して説明する。
図1は、本発明の一実施形態に係る印刷システム1の全体構成を示す図である。
印刷システム1は、パーソナルコンピュータ(以下、PC)100と、PC100に対してネットワークLANを介して接続するプリンタ200,300とを備える。
なお、プリンタ200,300は、印刷システム1に設けられたプリンタを例示したものであり、印刷システム1には、更に多数の、三台以上の、これらプリンタ200,300と同様の構成を備え、ネットワークLANに接続されたプリンタが含まれるものとしてもよい。
PC100は、プリンタ200,300にそれぞれ印刷データを送付して、その印刷データの表す内容の印刷をプリンタ200,300に行なわせる。
プリンタ200,300は、それぞれ、PC100から印刷データを取得すると、パスワードをPC100へ送信する。PC100は、印刷データの送信に応じて返信されたパスワードをこれらプリンタ200,300から取得して、プリンタ200または300への印刷をPC100に指示した、PC100のユーザへ報知する。
ユーザは、このパスワードを紙に記録したり、覚えたりして、PC100から印刷データを送信したプリンタ200または300の場所に移動してからプリンタ200,300に設けられた操作パネル200pまたは300pを操作して、そのパスワードを入力することによりPC100から印刷データを送信したプリンタ200または300に、その印刷データの印刷をそれぞれ実行させることができるようになっている。
こうして、ユーザがパスワードをプリンタ200または300に入力するまでは、プリンタ200または300はその印刷を実行開始せず、第三者がプリンタ200,300の近くにいたとしても、その印刷の結果物の内容がそれら第三者の目にふれることを回避できる。印刷システム1は、かかる、親展印刷を行なう印刷システムである。
図2は、PC100およびプリンタ200の詳細な構成を示すブロック図である。
PC100は、CPU、ROM、RAM、ハードディスク、キーボード、ディスプレイ100d等を備えるパーソナルコンピュータであり、ハードウェアに格納されたソフトウェアを実行することによって、様々な機能を実現する。
図2には、かかるPC100に実現される機能の1つである、PC100からプリンタ200やプリンタ300に印刷を実行させるプリンタドライバ150の機能ブロックの機能を示している。このプリンタドライバ150の機能ブロックの機能は、PC100において、ハードディスクに格納されたこのプリンタドライバ150のソフトウェアが、PC100のOSによりRAMへ読み出されて、さらに、RAMからCPU内のキャッシュメモリへ読み出されてCPUに実行されることによって、PC100のCPUに実現される。
プリンタドライバ150は、装置状態検知部151と、印刷データ送信部152と、パスワード受信部153と、パスワード報知部154との各機能ブロックの機能を備え、これらの機能を用いてプリンタドライバ150全体の機能が実現される。なお、印刷データ送信部152の機能には、親展印刷機記憶部152mと代替印刷諾否取得部152iとの機能ブロックの機能が含まれる。
ここで、図示するこれらの機能ブロックにより構成される機能ブロック図は、PC100のCPUに実現される機能およびそれらの機能の間の関係を示したものであるので、これらの機能および機能間の関係が有する論理的な構造を、PC100のハードウェアに格納されるプリンタドライバ150のソフトウェアに備えさせれば、この実施形態のPC100を構成できる。この構造と同一構造を有するモジュール構成やクラス構成により当該ソフトウェアの当該論理的な構造を構築してもよいし、モジュール構成やクラス構成の構造には当該論理的な構造(の少なくとも一部)が欠けるもののプログラム中の各命令が構成する構造が当該論理的な構造を備えているというものにしてもよい。
図示する機能ブロックの機能の少なくとも一部は、LSIなどにより構築した専用ハードウェアにおいて実現してもよい。この場合も、図2に示す論理構造に基づいてハードウェアのモジュールを構成して、当該専用ハードウェアを実現することができる。
他方、プリンタ200は、感光体ドラム等の画像形成機構、キー入力により前述のようにパスワードが入力される操作パネル200p、および、これらプリンタ200の各部の動作を制御する制御装置とが備えられる。
制御装置は、CPU、ROM、RAM等を備え、ROMに格納されたソフトウェアを実行する。図2には、制御部250の機能ブロックの機能が、こうして制御装置でソフトウェアが実行されることで、CPUに実現されることを示している。
制御部250は、プリンタ200各部の動作制御を行なう。
制御部250は、状態情報送信部251と、印刷データ受信部252と、パスワード生成部253と、パスワード送信部254と、印刷制御部255との機能ブロックの機能を備える。
これら、プリンタ200の各機能ブロックについても、前述のPC100の各機能ブロックと同様に、さまざまな構成のソフトウェア、ハードウェアを用いて実現するものとできる。
なお、ここでは、プリンタ200を例にとって説明を行なうが、プリンタ300も同様の構成を備えるものとする。
ここで、この画像形成システムでは、図5〜図8を参照して詳しく説明するように、「待ち時間表示」を行なう機能を備える。この「待ち時間表示」を行なう機能に関係する説明は、後で、図5〜図8を参照して、まとめて行なう。
状態情報送信部251は、PC100へ、プリンタ200の状態情報を送信する。ここで状態情報とは、たとえばステータス情報が含まれる。状態情報には、プリンタ200がスリープ状態またはウォームアップ状態であれば、それぞれ、そのことを示す情報が含まれる。プリンタ200は、プリンタ200がスリープ状態またはウォームアップ状態である間は、即座には印刷を実行できない。このように、プリンタ200が、スリープ状態またはウォームアップ状態であり、即座には印刷を実行できない状態のことを、印刷不能状態と呼ぶこととする。
印刷データ受信部252は、PC100から印刷データを受信する。パスワード生成部253は、パスワードを生成する。パスワード送信部254は、パスワード生成部253により生成されたパスワードをPC100へ送信する。パスワード送信部254は、ネットワークLANに、PC100と同様に、複数の、プリンタ200に印刷を行なわせるコンピュータが接続されている場合、印刷データ受信部252に印刷データが受信された場合にその印刷データを受信させたコンピュータにパスワードの送信を行なうものとする。
印刷制御部255は、操作パネル200pにパスワードが入力された場合に、プリンタ200の画像形成機構を動作させて、印刷データ受信部252に受信された印刷データの印刷を実行させる。
なお、印刷制御部255は、印刷データ受信部252に受信された印刷データと、当該印刷データが印刷データ受信部252に受信されたときに、PC100へとパスワード送信部254により送信したパスワードとを対応付けて記憶する印刷データ記憶部を備え、操作パネル200pへユーザによりパスワードが入力されると、この印刷データ記憶部の示す、入力されたパスワードに対応する印刷データの印刷を実行させるものとする。
他方、PC100側において、装置状態検知部151は、状態情報送信部251から、プリンタ200の状態情報を取得することにより、プリンタ200が、スリープ状態またはウォームアップ状態、つまり印刷不能状態であるときに、そのことを検知する。
印刷データ送信部152は、PC100のキーボード等へのユーザ操作に基づいて、ユーザが印刷を所望する印刷内容を表す印刷データをプリンタ200へ送信する。送信される印刷データは、PC100の印刷データ受信部252により受信される。
親展印刷機記憶部152mは、印刷システム1に接続するプリンタのうち、プリンタ200と同様の構成を備えるプリンタを記憶する。親展印刷機記憶部152mは、たとえば、プリンタ200,300等のアドレスを記憶することにより、この記憶を行なう。
代替印刷諾否取得部152iは、所定のユーザインタフェース100x1(後述の図4)を表示して、印刷先のプリンタを変更することを許諾するか拒否するかの指示をユーザから取得する。
パスワード受信部153は、パスワード送信部254の出力するパスワードを受信する。ここで、パスワード受信部153は、印刷データ送信部152により印刷データが送信された先のプリンタ(プリンタ200または300)のパスワード送信部254から、パスワードを受信する。
パスワード報知部154は、パスワード受信部153により受信されたパスワードを、PC100dのディスプレイ100dに表示させることにより、PC100に印刷データの送信を実行させたユーザに、そのパスワードを報知する。
PC100からプリンタ200(または300)に印刷データを送信させたPC100のユーザは、パスワード報知部154によりディスプレイ100d上に表示されたパスワードを、プリンタ200(または300)の場所まで移動して、操作パネル200p(または300p)に入力することにより、印刷データを送信させた送信先のプリンタ200(または300)にその印刷データの印刷を実行させることができる。
図3は、PC100およびプリンタ200の動作の流れを示すフローチャートである。
ステップSa1では、印刷データ送信部152が、PC100のユーザが指定するプリンタ200(または300)へ印刷要求を行なう。ここで、ユーザはプリンタ200を指定するものとして、以下、説明を行なう。印刷データ送信部152は、親展印刷機記憶部152mに記憶されたプリンタの指定のみを受け付けるものとする。印刷データ送信部152がこの印刷要求を行なうことで、状態情報送信部251により、プリンタ200の状態情報が、PC100に送信され、送信された状態情報が、装置状態検知部151に取得される。
ステップSb1では、状態情報送信部251が、印刷データ送信部152からの印刷要求(ステップSa1)に応じて、プリンタ200の状態情報をPC100へ送信する。
ステップSa2では、装置状態検知部151が、ステップSa1で取得された状態情報を解析して、プリンタ200がスリープ状態、またはウォームアップ状態、つまり、印刷を実行できない印刷不能状態でないかを判定する。
PC100は、ステップSa2で、装置状態検知部151によりプリンタ200が印刷不能状態と検知された場合に(ステップSa2:Yes)、ステップSa3,Sa3x,Sa4の処理を実行する。
ステップSa3では、印刷データ送信部152が、印刷不能状態のプリンタ200に代えて用いることができる代替プリンタを検索をする。このときには、印刷データ送信部152は、親展印刷機記憶部152mに記憶されたプリンタのうちから、検索を行なう。印刷データ送信部152は、この検索を行なうことにより、プリンタ200以外のプリンタのうちで、装置状態検知部151により印刷不能状態が検知されないプリンタを、プリンタ200の代わりに用いる、代替プリンタと特定する。
以下、このステップSa3で、印刷データ送信部は、プリンタ300を代替プリンタと特定するものとして説明を行なう。
代替プリンタ300は、ステップSb1で、PC100がステップSa3の処理をするときに、装置状態検知部151へ装置情報を送信する。
ステップSa3xでは、印刷データ送信部152が、印刷先のプリンタを、ステップSa3で印刷データ送信部152により特定された代替プリンタに変更することの許諾をユーザに求める。
図4は、印刷データ送信部152によりディスプレイ100dに表示される、印刷先のプリンタの変更をユーザに確認するユーザインタフェース100x1を示す図である。
代替印刷諾否取得部152iは、このユーザインタフェース100x1を、たとえば、PC100のOSに備えられたウインドウ表示用のソフトウェアモジュール(クラスモジュールなど)やライブラリなどの機能ブロックを用いてディスプレイ100dに表示させる。代替印刷諾否取得部152iは、このインタフェース100x1のキャンセルボタンやOKボタンへのユーザ操作に基づいて、代替プリンタへの印刷のユーザの諾否の指示を取得する。
ステップSa4では、印刷データ送信部152が、印刷を行なう先のプリンタ200が装置状態検知部151により印刷不能状態と検知されないようになるまで、待機する。印刷データ送信部152は、1台も代替プリンタを特定できなかった場合(ステップSa3:No)、つまり、プリンタ300の電源オフなどで、ネットワークLANに一台も、親展印刷機記憶部152mに記憶されたプリンタを発見できなかったときや、発見できたプリンタが全て印刷不能状態であったときや、あるいは、代替プリンタを特定できても(ステップSa3:Yes)、ステップSa3xでユーザがインタフェース100x1でキャンセルボタンを押すなどして、代替印刷での印刷を拒否する指示が代替印刷諾否取得部152iに取得された場合に(ステップSa3x:No)、このステップSa4の待機処理を行なう。
なお、このステップSa4の処理については、後で、図5〜図8を参照しつつ、さらに詳しく説明する。
ステップSa5では、ステップSa4での待機が終了してプリンタ200が印刷不能状態と装置状態検知部151に検知されなくなったとき、または、はじめからプリンタ200が印刷不能状態ではなかったとき(ステップSa2:No)、あるいは、代替プリンタ300への印刷がされる場合において(ステップSa3:Yes)、代替プリンタとして印刷データ送信部152により特定できたプリンタ300等への印刷を許諾する指示が、インタフェース100x1でユーザがOKボタンを押すなどして、代替印刷諾否取得部152iに取得された場合に(ステップSa3x:Yes)、印刷データ送信部152が、プリンタ200(ステップSa2:No、またはステップSa4の処理が終了した時)、または、代替プリンタ300(ステップSa3x:Yes)へ、それぞれ、印刷データを送信する。
印刷データ送信部152は、ステップSa4での待機処理を行なうことにより、印刷データの送信タイミングを遅らせる。
以下、ステップSa5〜Sa8およびステップSb5〜Sb10の説明では、印刷データがプリンタ200へ送信されるときを例にとって説明を行なうが、代替プリンタ300へ送信されるときも同様である。
ステップSb5では、印刷データ受信部252が、ステップSa5で印刷データ送信部152により送信される印刷データを受信する。
ステップSa6では、パスワード生成部253が、ステップSb5で印刷データ受信部252により印刷データが受信されたのに応じて、受信された印刷データ用のパスワードを生成する。
ここで、パスワード生成部253が生成するパスワードは、いわゆるワンタイムパスワードであり、当該パスワードに対応するステップSb5で印刷データ受信部252により受信された印刷データの送信元の装置により一定であったり、当該装置により印刷データを送信させたユーザにより一定であったりすることはなく、たとえば、時間や、プリンタ200の印刷実行回数などに応じて変化するように、たとえばこれら時間や印刷実行回数を種として生成される乱数に基づいて生成される。かかるワンタイムパスワードが用いられて、印刷ごとにリアルタイムにないし動的にパスワードの文字列が変更されることにより、上述のようにパスワードが一定であり、1つのパスワードが複数回の印刷に用いられるときと比べて、パスワードが漏洩した場合の弊害を抑制することができる。
ステップSb7では、パスワード送信部254が、ステップSb6でパスワード生成部253により生成されたパスワードを、PC100へ送信する。
ステップSa7では、パスワード受信部153が、ステップSb7で、パスワード送信部254により送信されたパスワードを受信する。
ステップSa8では、パスワード報知部154が、ステップSa7でパスワード受信部153により受信されたパスワードをディスプレイ100dに表示させて、ユーザへ報知する。
ステップSb9では、PC100を操作して印刷データの送信等をさせたPC100のユーザが、プリンタ200の場所へ移動して、ステップSa8でパスワード報知部154によりディスプレイ100dに表示されたパスワードを、プリンタ200の操作パネル200pへ入力する。
ステップSb10では、印刷制御部255が、ステップSb9で操作パネル200pへユーザにより入力されたパスワードに基づいて、当該パスワードがパスワード送信部254によりPC100に送信されたときに(ステップSb6)、印刷データ受信部252に受信された印刷データ(ステップSb5)の印刷を実行させる。印刷制御部255は、前述した印刷データの記憶部の示す対応関係に基づいて、ステップSb9で操作パネル200pに入力されたパスワードにこの対応関係が対応させる印刷データの印刷を実行させる。
ここで、ステップSa1で印刷データ送信部152が印刷要求をしたときに、要求先のプリンタ200が電源オフであり、停止していたときのことについて説明する。この場合、プリンタ200は、ステップSb1における、状態情報送信部251による状態情報の返信をしない。
ここで、プリンタドライバ150は、電源オフ対応部(図略)を備えるものとする。電源オフ対応部は、ステップSa1で、ステップSb1の状態情報送信部251が状態情報の返信をしなかった場合に、そのことを検知する。そして、その場合に、印刷を行なわせるプリンタをプリンタ200から他の適切なプリンタに変更する。電源オフ対応部は、変更先のプリンタとして、たとえば親展印刷機記憶部152mに記憶されたものを選択する。
なお、電源オフ対応部は、ユーザからプリンタを変更するのを許諾する許諾指示を取得し、許諾が得られた場合にのみプリンタの変更をして、得られなかった場合には、図3の処理を終了させるものとしてもよい。また、電源オフ対応部は、印刷先のプリンタを指定するプリンタ指定をユーザから取得して、指定されるプリンタに、印刷先のプリンタを変更するものとしてもよい。
そして、ステップSa1で印刷データ送信部152は、電源オフ対応部により印刷先のプリンタの変更がされたときには、再度、変更後の印刷先のプリンタに印刷要求を行ない、ステップSa2以降の処理が、変更後のプリンタを印刷先のプリンタとして実行される。
こうして、プリンタ200が電源オフ状態である場合には、プリンタ200に印刷を実行させるパスワードが、PC100などのプリンタ200外の場所へ流出せず、プリンタ200の印刷のセキュリティ性を向上させることができる。
続けて、更に、この印刷システム1においては、ステップSa4において、プリンタ200が印刷不能状態から印刷可能状態になるまでに、PC100のユーザへ、プリンタ200が印刷可能状態になるまでの待ち時間が表示される(図6参照)ことについて説明する。
図5は、プリンタドライバ150および制御部250の構成を、待ち時間表示に関わる部分を中心に示したブロック図である。
制御部250は、上記した状態情報送信部251の備える実行開始時間記憶部251mと、ウォームアップ制御部250xとを備える。
プリンタ200は、図示しない動作モード制御部を、制御部250の機能の一部の機能として備え、この動作モード制御部が、PC100から印刷要求等(図3のステップSa1,Sb1参照)がプリンタ200にされず、また、操作パネル200pの操作もされないで一定期間が経過したときに、プリンタ200の運転状態を、通常の運転状態からスリープ状態へ切り替える。
動作モード制御部は、プリンタ200をスリープ状態にしたときには、プリンタ200が有する定着装置のヒータの電源をオフにする。また、その他も、プリンタ200の殆どの箇所を電源オフとする。動作モード制御部は、これによって、省エネルギー化を実現する。
なお、前述した状態情報送信部251は、かかる動作モード制御部によりプリンタ200がスリープ状態に設定された場合に、プリンタ200がスリープ状態であるときの状態情報をPC100へ送信する。
そして、ウォームアップ制御部250xは、こうしてプリンタ200がスリープ状態になっている間に、PC100の印刷データ送信部152からプリンタ200に印刷要求があると(図3のステップSa1,Sb1参照)、スリープ状態を終了させて、プリンタ200にウォームアップ動作を開始させる。
図6は、印刷システム1の動作を示すタイミングチャートである。
図6において、左側の(a)の図は、印刷データ送信部152が印刷要求をタイミングT2でプリンタ200側へ行ない(ステップSa1)、このタイミングT2で、印刷要求を受信したウォームアップ制御部250xが、プリンタ200でウォームアップ動作を開始させて、このタイミングT2までのスリープ状態中に冷えてしまったプリンタ200の定着ローラ等の加熱をさせ、プリンタ200を立ち上げる(タイミングT2〜T3)。
ここで、かかるウォームアップ動作の時間は、およそいつでも一定である。図示するように、このおよそ一定のウォームアップ動作の所要時間を、この実施形態では、T秒であるものとして説明を行なう。
ウォームアップ制御部250xがプリンタ200にウォームアップ動作をさせ、上述したようにウォームアップ動作の所要時間であるT秒だけ、動作をさせ終われば、プリンタ200は、印刷を実行することができる印刷可能状態になる(図3のステップSa4の説明を参照)。図6では、こうして、タイミングT1以前から続いてきたプリンタ200の印刷不能状態が、タイミングT1で開始されたウォームアップ動作がT秒続いた後の、タイミングT4で、プリンタ200が印刷可能状態に変化することを、印刷不能状態を太線のハッチングをタイミングT4以前の部位に付して示すと共に、印刷可能状態を細線のハッチングをタイミングT4以降の部位に付して示すことにより、それぞれ図示している。
次に、図6(b)は、PC100以外のネットワークLAN(図1)を介してプリンタ200に印刷をさせる他のコンピュータによる印刷要求、あるいは、操作パネル200pへのプリンタ200の場所に居るユーザによる何らかのタッチ操作により、PC100がプリンタ200に印刷要求を行なうタイミングT2に先立って、タイミングT1でウォームアップ制御部250xがウォームアップ動作を開始した場合について示している。
かかる図6(b)のときには、ウォームアップ制御部250xは、既にタイミングT1でプリンタ200にウォームアップ動作を開始させているので、改めてこのタイミングT2で開始させるということはない。
なお、ウォームアップ動作が開始されたタイミングT1から、PC100の印刷要求がウォームアップ制御部250xに受信されるタイミングT2までの時間を、以下、x秒であるものとして説明を行なう。
このため、図6(b)のときには、ウォームアップ制御部250xは、図6(a)のときにウォーミングアップ動作を終了させるタイミングT3よりもx秒早い、タイミングT3で、T秒間の所要時間だけのウォームアップを終了させることとなる。
図5に戻って、状態情報送信部251が備える実行開始時間記憶部251mは、こうしてウォームアップ制御部250xによりウォーミングアップ動作が開始された時刻(図6(a)ではタイミングT2、図6(b)ではタイミングT1)を記憶する。
状態情報送信部251は、印刷データ送信部152からの印刷要求がプリンタ200に受信されると、その時に、図6(a)のときのようにスリープ状態であれば、そのことをPC100へ通知する。つまり、状態情報送信部251は、その時に、スリープ状態中であることにより、その時にウォームアップ動作を開始させることを、PC100へ通知し、さらに言えば、その時からT秒後(タイミングT4)までは、プリンタ200は印刷不能状態で、T秒後(タイミングT4)に印刷不能状態から印刷可能状態に変化することを通知することとなる。
また、状態情報送信部251は、印刷データ送信部152からの印刷要求がプリンタ200に受信された時に、図6(b)のときのようにプリンタ200がウォームアップ動作中であると、上述したx秒(図6(b)のタイミングT1〜T2)、つまり、実行開始時間記憶部251mの記憶する、そのウォームアップ動作が開始された時刻から、現在時刻までの時間、すなわち、ウォームアップ動作を実行済みの実行済み時間の長さ(x秒)を、PC100へ通知する。つまり、状態情報送信部251は、その印刷要求の時から、所要時間T秒よりもx秒だけ早い時、つまり、T−x秒後(タイミングT3)までは印刷不能状態で、T−x秒後(タイミングT3)の時に印刷不能状態から印刷可能状態に変化することを通知する。
状態情報送信部251は、これらの通知を、ステップSb1(図3)でする、印刷要求に対する状態情報の返信の時に、返信する状態情報に通知内容を示すデータを付すことにより、行なう。
次に、他方のPC100側において、装置状態検知部151は、かかる状態情報をプリンタ200から取得することにより、印刷データ送信部152によるプリンタ200への印刷要求の時に(ステップSa1、図6(a)および(b)のタイミングT2)、プリンタ200がスリープ状態であるか(図6(a)のケース)、あるいは、ウォームアップ動作の途中であれば(図6(b)のケース)、それぞれ、そのことを検知することができ、また、後者の場合には、ウォームアップ動作済みの時間(x秒、タイミングT1〜T2)を検知することができる。
装置状態検知部151は、プリンタ200が印刷不能状態であればそのことを検知することを先に説明したが、このように、詳しくは、印刷不能状態のプリンタ200が、スリープ状態であるか、または、ウォームアップ動作の途中であるかを区別することができる。
プリンタドライバ150は、残り待ち時間管理制御部500を備える。残り待ち時間管理制御部500は、残り待ち時間に関わる、PC100の動作を制御する処理を行なう。
残り待ち時間とは、プリンタ200で実行中のウォームアップ動作が完了するまでの時間、つまり、現在時刻から、ウォームアップ動作が完了してプリンタ200が印刷可能状態に変わるとき(図6(a)のタイミングT4、図6(b)のタイミングT3)までの時間をいう。たとえば、残り待ち時間は、現在時刻がタイミングT2であれば、図6(a)のときにはT秒であり、図6(b)のときにはT−x秒である。
残り待ち時間管理制御部500は、ウォームアップ所要時間記憶部501と、残り待ち時間計算部502と、待ち時間計時タイマ503との機能ブロックの機能を備える。
ウォームアップ所要時間記憶部501は、上述したウォームアップ動作の所要時間(T秒、図6(a)のタイミングT2〜T4、図6(b)のタイミングT1〜T3)を記憶する。
残り待ち時間計算部502は、印刷データ送信部152によりプリンタ200へ印刷要求がされたときに、上述の残り待ち時間を計算する。
残り待ち時間計算部502は、印刷要求の時にプリンタ200がスリープ状態で、つまり、図6(a)のときのケースであり、状態情報送信部251が、その印刷要求の時に(図6(a)のタイミングT2)、ウォームアップ制御部250xがウォームアップ動作を開始させたことをプリンタドライバ150側に通知し、プリンタドライバ150において装置状態検知部151が、印刷データ送信部152による印刷要求時にウォームアップ動作を開始したことを検知すると、その時までに(図6(a)のタイミングT2以前)ウォーミングアップ動作はされていないので、残り待ち時間を、ウォームアップ動作の所要時間T秒のすべて、すなわちT秒(図6(a)のタイミングT2〜T4)と特定する。
他方、残り待ち時間計算部502は、印刷要求の時にプリンタ200がウォームアップ動作中で(図6(b)のタイミングT2)、状態情報送信部251が、ウォームアップの動作済み時間(前述のx秒)をプリンタドライバ150側へ通知したときには、その時までに既に、ウォームアップ動作の所要時間T秒のうちで、x秒分はウォーミングアップ動作が完了しているので(図6(b)のタイミングT1〜T2)、T−x秒を、残り待ち時間と特定する(図6(b)のタイミングT2〜T3の矢印、および、図5の残り待ち時間計算部502を参照)。
残り待ち時間管理制御部500は、印刷データ送信部152がプリンタ200に印刷要求をして、残り待ち時間計算部502により残り待ち時間が求められると、求められた残り待ち時間を待ち時間計時タイマ503へセットする。
待ち時間計時タイマ503は、残り待ち時間を記憶する。そして、時間経過にあわせて、経過した時間分だけ、残り待ち時間を減算(デクリメント)してゆく。
図7は、残り待ち時間管理制御部500が、ディスプレイ100dに残り待ち時間のユーザへの表示をさせるユーザインタフェース画面を示す図である。
残り待ち時間管理制御部500は、PC100のOSソフトウェアによりCPUに実現されるGUI(Graphical User Interface)機能を用いて、図示する画面100y1,100y2をディスプレイ100dに表示させる。残り待ち時間管理制御部500は、たとえば、GUI機能のオブジェクトを生成して、このオブジェクトを用いて、たとえば当該オブジェクトに含まれるメソッドや関数等を実行させることによりこの表示を行なう。
画面100y1は、待ち時間計時タイマ503に残り待ち時間として7秒が記憶されているときに、残り待ち時間管理制御部500がディスプレイ100dに表示させる画面である。残り待ち時間管理制御部500は、この画面100y1のように、図6(a)や図6(b)のタイミングT2で待ち時間計時タイマ503に残り待ち時間をセットした後、継続して、その後の各現在時刻において(図6(a)のタイミングT2〜T4、図6(b)のタイミングT1〜T3)、待ち時間計時タイマ503に記憶された、当該現在時刻における最新の残り待ち時間をディスプレイ100dによりユーザへ報知させる。
画面100y2は、待ち時間計時タイマ503の記憶する最新の残り待ち時間が0秒となり(図6(a)のタイミングT4、図6(b)のタイミングT3)、プリンタ200においてウォームアップ制御部250xによりウォームアップ動作が停止する時の、残り待ち時間管理制御部500がディスプレイ100dに表示させる画面を示している。
残り待ち時間管理制御部500は、このときには、ウォームアップ動作が終了して、最残り待ち時間が0秒となったことをユーザへ報知する。
こうして、残り待ち時間管理制御部500は、時々刻々、待ち時間計時タイマ503の記憶する最新の残り待ち時間が0秒となるまで、ユーザへ最新の残り待ち時間を報知する。
なお、待ち時間計時タイマ503は、記憶する最新の残り待ち時間が0秒となると、以後は、記憶する時間が再セットされるまで、0秒を維持するものとする。
図8は、待ち時間を表示することに関する処理を中心として、印刷システム1の行なう処理を示したフローチャートである。
図8に示す各ステップのうちで、PC100のステップSa1,Sa2,Sa4,Sa5、および、プリンタ200のステップSb1,Sb5,Sb10のステップは、それぞれ、図3において同じ符号を付したステップを示すものである。以下では、これらのステップで、待ち時間表示のために行なわれる処理を詳しく説明する。また、プリンタ200のステップSu1,Sv2,Sv4の処理は、図3では図示を省略していたが、ステップSb1とステップSb5との間で行なわれる処理である。
なお、以下の説明では、図3のステップSa3で、印刷データ送信部152が、代替プリンタを見つけられなかった場合(図3のステップSa3:NO)に付いて説明するので、フローチャートを見易くするために、図3で示していたステップSa3、Sa3x(以下、両者をまとめたものをステップSa3Aと呼ぶ)に付いては図8では示していない。ここで、これらステップSa3、Sa3x(ステップSa3A)の処理は、PC100により、ステップSa2とSa4との間で実行される(図3参照)。図8においては、ステップSa2が三分岐しており、図3において二分岐だったのと相違するが、図3における「ステップSa2:Yes」が、図8では、「ステップSa2:スリープ期間中」または「およびステップSa2:立ち上げ途中」の2つに分けられたものである。図3に示したステップSa3、Sa3x(ステップSa3A)の処理は、「ステップSa2:スリープ期間中」およびステップSa4の間と、「およびステップSa2:立ち上げ途中」およびステップSa4の間との両者で、PC100に実行される(ステップSa3AaおよびステップSa3Abとしてそれぞれ図示)。
つまり、「ステップSa2:スリープ期間中」および「およびステップSa2:立ち上げ途中」のいずれの場合にも、代替プリンタの検索が印刷データ送信部152により行なわれ(ステップSa3AaおよびステップSa3AbのステップSa3)、またこの検索で代替プリンタが印刷データ送信部152に発見されたときには(ステップSa3AaおよびステップSa3AbのステップSa3:Yes)、印刷データ送信部152によりユーザの許諾が求められる(ステップSa3AaおよびステップSa3AbのステップSa3x)。つまり、「ステップSa2:スリープ期間中」および「およびステップSa2:立ち上げ途中」のいずれの場合にも、代替プリンタが見付からないか(ステップSa3AaおよびステップSa3AbのステップSa3:No)、あるいは、見付かってもユーザによる代替プリンタ使用の許諾がなかった場合のみ(ステップSa3AaおよびステップSa3AbのステップSa3x:Yes)、それぞれ、ステップSa4(のステップSn1aおよびステップSn1b)の処理が、PC100に実行開始される。
なお、ステップSa3AaおよびステップSa3AbからステップSa5への処理の流れ(図3のステップSa3AからステップSa5への処理の流れ)については、図8では、図示の便宜上、示していない。
また、図8では、図3では示していたステップSa7、Sa8、およびステップSb6〜Sb9のステップについても図示を省略している。
前述の通り、ステップSa1では、印刷データ送信部152がプリンタ200に印刷要求を行ない、ステップSb1ではこの印刷要求を受けたプリンタ200が、状態情報送信部251により状態情報をPC100へ送信する(図6(a)、(b)のタイミングT2)。
PC100側では、ステップSm1で、印刷データ送信部152がプリンタ200に印刷要求をすると共に、続くステップSm2で装置状態検知部151が状態情報を、プリンタ200から受信して、プリンタ200の装置状態を検知する。装置状態検知部151は、このステップSm2で、状態情報を受信することにより、ステップSm1での印刷要求の時にプリンタ200がスリープ状態であった場合には(図6(a)のタイミングT2のとき)、その通知を受け、また、その印刷要求の時にプリンタ200が過去に開始したウォームアップ動作の途中であった場合には(図6(b)のタイミングT2のとき)、そのウォームアップ動作の実行済み時間(x秒:図6(b)のタイミングT1〜T2)の通知を受ける。
プリンタ200側では、ステップSt1で、制御部250が印刷要求を受け付け、ステップSt2で、状態情報送信部251が状態情報をPC100側へ送信する。
次に、ステップSa2では、図3を用いて説明したように、装置状態検知部151が、状態情報に基づく判定を行なう。
このステップSa2で、装置状態検知部151が、ステップSm2で受信した状態情報(通知)に基づいて、ステップSm1の印刷要求の時に、プリンタ200がスリープ状態またはウォームアップ動作中のいずれでもなかったと判定した場合、つまりプリンタ200が印刷不能状態ではないと判定した場合(図7のステップSa2:立ち上げ完了済み)、前述の通り、PC100は、ステップSa5以下の処理を開始して、印刷を実行する(図3の説明を参照)。
他方、ステップSa2で、PC100は、装置状態検知部151が、ステップSm1の印刷要求の時にプリンタ200がスリープ状態またはウォームアップ動作中のいずれかであると判定した場合、つまり、前述のように、プリンタ200が印刷不能状態であると判定し場合に(図6(a)および(b)の場合)、ステップSa4の処理を実行する。
図6(a)の場合、つまり、ステップSm1での印刷要求の時に、プリンタ200がスリープ状態だったと装置状態検知部151により判定された場合(ステップSa2:スリープ期間中)、ステップSn1aで、残り待ち時間管理制御部500が、待ち時間計算部502により計算される、残り待ち時間T秒を待ち時間計時タイマ503にセットする。
他方、図6(b)の場合、つまり、ステップSm1での印刷要求の時に、プリンタ200がウォームアップ動作の途中だったと装置状態検知部151により判定された場合(ステップSa2:立ち上げ途中)、ステップSn1bで、残り待ち時間管理制御部500が、待ち時間計算部502により計算される、残り待ち時間T−x秒を待ち時間計時タイマ503にセットする。
そして、ステップSn2では、待ち時間計時タイマ503が、セットされた値のカウントダウン、つまり、時間経過に応じて、経過した時間ずつ記憶値を減算していくことを開始する。
そして、ステップSn3〜Sn4では、残り待ち時間管理制御部500が、時間経過につれて、時々刻々、更新される待ち時間計時タイマ503の記憶値に基づいて、図7に示した画面100y1を表示し、この間、待ち時間計時タイマ503が、上述のステップSn2で開始した、減算処理を続ける(図6(a)のタイミングT2〜T4、図6(b)のタイミングT2〜T3)。
そして、ステップSn5では、残り待ち時間管理制御部500が、更新される待ち時間計時タイマ503に記憶された残り待ち時間が0秒となったときに(ステップSn4:Yes、図6(a)のタイミングT4、図6(b)のタイミングT3)、図7の画面100y2を表示させて、そのことをユーザへ報知する。そして、このステップSn5では、残り待ち時間管理制御部500は、図7の上段に示した画面100y1のときと異なり、送信ボタン100y2bを有効にし、つまり、ユーザがマウスのクリック等によりこのボタン100y2bを押すことができるようにする。
なお、残り待ち時間管理制御部500は、ステップSn5で、装置状態検知部151によりプリンタ200が印刷可能状態になったことを確認してから、ボタン100y2bを有効にすることが好ましい。
他方、プリンタ200は、ステップSt2でPC100から印刷要求を受信したときに、印刷可能状態であれば(ステップSu1:立ち上げ完了済み)、ステップSb5〜Sb10の処理を行ない、印刷処理をする(図3の説明を参照)。
また、プリンタ200は、ステップSt2で印刷要求を受信したときに、スリープ状態であった場合、つまり、図6の(a)のケースの場合には(ステップSu1:スリープ期間中)、ステップSv2で、ウォームアップ制御部250xが、スリープ状態を終了させてウォームアップ動作を開始させる(図6(a)のタイミングT2以降)。このときには、ステップSt2で、状態情報送信部251は、印刷要求の時にプリンタ200がウォームアップ動作を開始したことをPC100に通知する。これにより、ステップSv2でウォームアップ制御部250xは、PC100側で残り待ち時間管理制御部500により、ステップSn1aで、待ち時間計時タイマ503に初期の残り待ち時間としてT秒がセットされて、ステップSn2で待ち時間計時タイマ503が、このウォームアップ動作の所要時間T秒の減算を開始するのと殆ど同時に、プリンタ200側でウォームアップ動作を開始させる。この結果、プリンタ200で、T秒間のウォームアップ動作がされるのにつれて、PC100で、残り待ち時間管理制御部500が、各時点での正しい残り待ち時間の表示をディスプレイ100dに時々刻々、行なわせる(ステップSn3〜Sn4およびSv2〜Sv4、図6(a)ののタイミングT2〜T4)。
そして、待ち時間計時タイマ503の記憶値が0秒となるのと殆ど同時に(ステップSn4:Yes)、ステップSv4で、ウォームアップ制御部250xが、T秒間のウォームアップ動作を終了させることとなる(図6(a)のタイミングT2〜T4)。
また、プリンタ200は、ステップSt1でプリンタ200が印刷要求を受信したときに、ウォームアップ動作の途中であった場合には(ステップSu1:立ち上げ途中、図6(b)のタイミングT2のとき)、ステップSt2で、状態情報送信部251により、このウォームアップ動作を開始してからのウォームアップ動作の実行済み時間(x秒:図6のタイミングT1〜T2の時間)をPC100側へ通知する。これにより、PC100側で、残り待ち時間管理制御部500は、初期の待ち時間計時タイマ503の値にセットする残り待ち時間を(ステップSn1b)、「T−x秒」、つまり、このタイミングT2の後にプリンタ200がウォームアップ動作をする時間(タイミングT2〜T3の時間)に等しい残り待ち時間とする。
この結果、ステップSn2で待ち時間計時タイマ503が記憶値の減算を開始すると共に、PC200でタイミングT2以降のウォームアップ動作がされると、待ち時間計時タイマ503は、タイミングT2〜T3の間、適切な残り待ち時間を計時し続け、残り待ち時間管理制御部500は、かかる適切な残り待ち時間をユーザへ報知させ続け(ステップSn3,Sn4:No)、タイミングT3では、殆ど同時に、プリンタ200でウォームアップ制御部250xが、ステップSv4でウォームアップ動作を停止させると共に、PC100で残り待ち時間管理制御部500が、ステップSn5で、図6の下段の残り待ち時間が0秒であることを示す画面100y2をディスプレイ100dに表示させる。
以上の処理がされた後、ユーザは、表示された画面100y2の送信ボタン100y2bを押すことにより、印刷を実行させることができる(ステップSa5〜Sa8、ステップSb5〜Sb10、図3参照)。
なお、ステップSn5、Sn6の処理は省略してもよい。つまり、待ち時間計時タイマ503に記憶された残り待ち時間が0秒となったときには(ステップSn4:Yes、図6(a)のタイミングT4、図6(b)のタイミングT3)、即座に、自動的に、印刷データ送信部152等により、ステップSa5〜Sa8、ステップSb5〜Sb10(図3参照)の処理が実行されて、印刷データの送信等が行なわれるものとしてもよい。
以下、他の実施形態について説明する。
(A)図3のフローチャートにおいて、ステップSa3xの処理は省略して、ステップSa3で印刷データ送信部152により代替プリンタを特定できれば(ステップSa3:Yes)、すぐにステップSa5へ処理が移るものとしてもよい。つまり、印刷データ送信部152は、印刷先のプリンタを変更することをユーザに確認することなく(ステップSa3x)、代替プリンタへの印刷を開始するものとしてもよい。
(B)ステップSa3xだけでなく、ステップSa3の処理も省略して、印刷データ送信部152は、装置状態検知部151によりプリンタ200が印刷不能状態と検知されると(ステップSa2:Yes)、代替プリンタがあるか否か等に関わらずに、必ず、プリンタ200が印刷不能状態でなくなるまで待機を行ない(ステップSa4)、はじめにユーザに指定されたプリンタ200への印刷を行なうものとしてもよい(ステップSa5〜Sa8)。
(C)上述の説明では、印刷データ送信部152は、ステップSa5で、プリンタ200が印刷不能状態でなくなったと装置状態検知部151に検知された後に(ステップSa4,ステップSn5〜Sn6参照)、印刷データをプリンタ200に送信するものとしたが(図3の説明を参照)、印刷不能状態でなくなったと装置状態検知部151に検知されるまでに、ステップSa4の処理の途中ないし処理の開始時に印刷データを予めプリンタ200に送信してしまうものとしてもよい。
同様に、ステップSa4の処理の開始時や途中で、パスワード受信部153により、ステップSa7の処理が行なわれ、プリンタ200からPC100にパスワードが取得されるものとしてもよい。
さらには、ステップSa4の処理の開始時や途中で、パスワード報知部154によるステップSa8の処理まで行なわれるものとしてもよい。
(D)上述の説明では、印刷データ受信部252により印刷データが受信されるたびに(ステップSb5)、パスワード生成部253により異なるパスワードが生成されて(ステップSb6)、印刷データを受信させたPC100へとパスワード送信部254によりパスワードが送信されるものとしたが(ステップSb7)、かかる場合に限定されない。
たとえば、パスワードは一定期間のみ有効で、パスワード生成部253は、たとえば日ごと、週ごと、または月ごとになどの一定期間の間は同じパスワードを生成し、その期間が経過するごとに異なるパスワードを生成し、パスワード送信部254によりPC100へ送信されるパスワードはかかる一定期間ごとに変更されるものとしてもよい。
このときには、PC100のパスワード受信部153は、印刷データ送信部152によりPC100からプリンタ200へ印刷データが送信されるときか否かに関わらず、その一定期間ごとに、プリンタ200から、定期的にパスワードを取得し、パスワード報知部154は、その一定期間ごとにパスワード受信部153によりパスワードが受信されるたびにそのパスワードをユーザへ報知するものとしてもよい。
なお、このときには、図3の処理では、ステップSa7およびSa8と、ステップSb6およびSb7の処理を省略し、行なわないものとできる。
(E)上述の説明のように、残り待ち時間管理制御部500は、時々刻々、リアルタイムに最新の残り待ち時間を表示する必要はない(ステップSn3〜Sn4)。たとえば、残り待ち時間管理制御部500は、タイミングT2で、その時点からの、T秒またはT−x秒の残り待ち時間の表示を一度のみ行なうものとしてもよい。
(F)PC100が印刷要求をするときに(ステップSm1)、プリンタ200がウォームアップ動作の途中であることは比較的、稀なことが多い。待ち時間管理制御部300は、プリンタ200が印刷不能状態であれば、プリンタ200がウォームアップ動作のときでも(ステップSa2:立ち上げ途中)、待ち時間計時タイマ503にT秒をセットするものとしてもよい(ステップSn1a)。このときには、プリンタ200の状態情報送信部251は、実行開始時間記憶部251mを備えずともよく、ウォームアップ動作の実行済み時間(x秒)の通知も必要でなくなるなど、印刷システム1の構成を簡単にすることができる。
(G)プリンタ200は、自らのウォームアップ動作が終了する時刻を特定する終了時刻特定部を備え、状態情報送信部251は、ステップSt2で、自らがスリープ状態またはウォームアップ動作中であるときに、この終了時刻特定部により特定される時刻の情報をPC100へ送信するものとしてもよい。そして、残り待ち時間管理制御部500は、送信されるこの情報の示す時刻を、ステップSa4で表示させるものとしてもよい。
(H)上述の説明では、ウォームアップ動作が完了するまでの間の待ち時間がPC100でユーザへ報知される場合を例にとって、説明したが、PC100のユーザ以外の他ユーザによる印刷が完了するまで、PC100からの印刷が不能になる印刷不能状態を経て、それらの印刷が完了した後にプリンタ200が印刷可能状態になるまでの待ち時間が、PC100でユーザへ報知されるようにしてもよい。
この場合、プリンタ200は、ステップSt2で、状態情報送信部251により、プリンタ200が印刷不能状態の場合に、他ユーザからの印刷の残り枚数の情報をPC100へ送信する。
PC100は、ステップSm2で装置状態検知部151によりかかる枚数情報を受信し、ステップSa2では、残り待ち時間管理制御部300により、受信された枚数情報の示す枚数が0枚以上であるときにステップSa4の処理を行なうことを判定し、ステップSa4では、同じく残り待ち時間管理制御部300が、受信された当該枚数情報の示す枚数に対して、平均の1枚当たりの印刷時間を乗じた時間を、残り待ち時間と特定し、ステップSn1a(ステップSn1b)で、特定されたこの残り待ち時間を待ち時間計時タイマ303へセットする。なお、残り待ち時間管理制御部300は、予め、プリンタ200が印刷を1枚の記録紙への印刷を行なう際の平均の印刷時間を記憶しているものとする。これにより、残り待ち時間管理制御部300は、ステップSn3〜Sn5で、当該枚数情報の示す枚数だけの印刷がプリンタ200ですすむのに合わせて、適切な残り待ち時間をユーザへ報知することができる。
(I)図7の画面100y1には、キャンセルボタンも設けるものとしてもよい。そして、ステップSn3とステップSn5との間で、プリンタドライバ150の備える印刷キャンセル処理部が、このキャンセルボタンが押されたことを判定し、押された場合には、印刷を中止し、図8(図3)の処理をその時点で終了させる。こうすれば、ユーザは、ある程度、残り待ち時間が長い時には、プリンタ200への印刷を中止させることができ、たとえば親展印刷機152mに記憶されたプリンタ以外のネットワークLANに接続されたプリンタへの印刷を行なうようにできる。このときには、ステップSa3で、印刷データ送信部152は代替プリンタを発見できなかったときであるものとする(ステップSa3:No)。このときには、ユーザは、セキュリティの高い印刷をするのにあまりにも長い残り待ち時間があるときには、敢えてセキュリティの高い印刷をするのをとりやめて、プリンタ200等以外のプリンタにより低いセキュリティの印刷で済ますことができ、ユーザの利便性を向上させることができる。
(J)図3の処理のうちで、PC100はステップSa5以降の処理のみを実行し、プリンタ200はステップSb5以降の処理のみを実行するものとしてもよい(図3)。つまり、図8に示したステップSa1〜Sa4の処理、およびステップSb1〜S4の処理は実行されないものとする。
このとき、ステップSa5で、印刷データ送信部152は、プリンタ200が印刷不能状態であるか否かに関わらず、プリンタ200が印刷不能状態であるか否かを検知することなく(図3、図8のステップSa1参照)、印刷データの送信を行なう。
ステップSb5では、ウォームアップ制御部250xは、印刷データ受信部252がステップSb5で印刷データを受信したときに、その受信を印刷要求とみなして、印刷要求があったときの処理を行なう(ステップSb1、図7(a)、(b)のタイミングT2参照)。このため、ステップSb5では、ウォームアップ制御部250xが、そのときにプリンタ200がスリープ状態の場合に(図6(a)参照)、プリンタ200にウォームアップを開始させる。
なお、ステップSa5で、印刷データ送信部152は、送信データを送信するのと同時に、別途、印刷要求を行ない、ステップSb5で、印刷データ受信部252は、印刷データを受信するのと同時に、別途、印刷要求の受け付けを行なうものとしてもよい。
そして、プリンタ200においては、ステップSb7で、パスワード送信部254が、パスワードをPC100へ送信するに際して、プリンタ200が印刷可能状態であるときにのみ、即時にパスワードの送信を行ない、印刷不能状態であれば当該印刷不能状態が終了してプリンタ200が印刷可能状態になってからパスワードの送信を行なう(図6(a)のタイミングT4、図6(b)のタイミングT3参照)。
そして、他方、PC100においては、ステップSa7で、パスワード受信部153は、即時にパスワードがプリンタ200のパスワード送信部254から送信されてこない場合、つまり、プリンタ200が印刷可能状態ではないとき(図6(a)、(b))には、送信されるまで待機するものとする(図6(a)のタイミングT2〜T4、図6(b)のタイミングT2〜T3参照)。
ステップSa8で、パスワード報知部154は、ステップSa7でパスワード受信部153にパスワードが受信された場合に、受信されたパスワードの報知を行なう。
なお、ステップSa5で、装置状態検知部151が状態情報をプリンタ200から取得し、ステップSa5〜Sa7の間に、残り待ち時間管理制御部500が、ステップSa5で装置状態検知部151により取得される状態情報に基づいて、図8のステップa2、Sa3Aa、Sa3Ab、Sa4の処理を行なうものとしてもよい。そして、このときには、ステップSn5(ステップSa4内)の処理は、ステップSa7(図3)の処理と同時に行われるものとして、ステップSn5で、残り待ち時間管理制御部500は、待ち時間計時タイマ503に記憶された残り待ち時間が0秒となり(ステップSn4:Yes)、かつ、パスワード受信部153にパスワードが受信された場合に(ステップSa7、図6(a)のタイミングT4、図6(b)のタイミングT3参照)、送信ボタン100y2bを有効にさせるものとする。
かかる場合、プリンタ200が電源オフであると、PC100が印刷データをプリンタ200へ送信しようとしても(ステップSa5)、プリンタ200は受信を行なうことはなく、このため、印刷データが受信されたのに応じて、印刷データを受信させたPC100へパスワードを送信することも行なわない(ステップSb7)。
これにより、プリンタ200が電源オフ状態である間は、プリンタ200に印刷を実行させるパスワードが、無用に、PC100などのプリンタ200外の場所へ流出せず、プリンタ200の印刷のセキュリティ性を向上させることができる。