(57)【要約】【課題】  先行通知をサポートした印刷システムにおいて、複数のホストから異なる設定の先行通知が通知された場合に、使用者の手を煩わせないように効率よく処理する。【解決手段】  先行通知をキューに保存しておき、その後の各ホストから印刷のためのステータス要求がきた時に、プリンタの現在の状態に合致する先行通知のホストを優先して印刷するように返却するステータスを制御する。【選択図】  図１
2009116595.tif 000002
【特許請求の範囲】
【請求項１】
通信手段を介して互いに接続された、情報処理装置と印刷装置とを備えた印刷システムであって、
印刷実行が指示された場合に前記印刷装置に対して、前記通信手段を介して先行通知を行う通知手段と、
前記情報処理装置の前記通知手段から受信した先行通知の情報を格納する格納手段と、
前記通知手段による先行通知の内容に応じて、前記印刷装置が印刷開始前に必要な準備を行う準備手段と、
前記通知手段による先行通知の後に印刷データを生成するデータ生成手段と、
前記データ生成手段によって作成された印刷データを前記印刷装置に送信するために前記印刷装置のステータスを取得しながら印刷データを送信するデータ送信手段と、
前記格納手段の中から、ステータスを取得しようとしている前記情報処理装置に該当する先行通知の情報を検索する検索手段と、
前記印刷装置の状態と前記検索手段によって検索された先行通知の情報を比較して、返却するステータスを制御するステータス制御手段と、
前記情報処理装置から印刷データを受信した場合に印刷処理を実行する印刷手段とを備える事を特徴とする印刷システム。
【請求項２】
前記通知手段によって通知される先行通知は、給紙方法、用紙サイズ、用紙の種類のいずれか１つ、または複数の情報を含むことを特徴とする請求項１に記載の印刷システム。
【請求項３】
通信手段を介して互いに接続された、情報処理装置と印刷装置とを備えた印刷システムの制御方法であって、
印刷実行が指示された場合に前記印刷装置に対して、前記通信手段を介して先行通知を行う通知工程と、
前記情報処理装置の前記通知工程から受信した先行通知の情報を格納する格納工程と、
前記通知工程による先行通知の内容に応じて、前記印刷装置が印刷開始前に必要な準備を行う準備工程と、
前記通知工程による先行通知の後に印刷データを生成するデータ生成工程と、
前記データ生成工程によって作成された印刷データを前記印刷装置に送信するために前記印刷装置のステータスを取得しながら印刷データを送信するデータ送信工程と、
前記格納工程の中から、ステータスを取得しようとしている前記情報処理装置に該当する先行通知の情報を検索する検索工程と、
前記印刷装置の状態と前記検索工程によって検索された先行通知の情報を比較して、返却するステータスを制御するステータス制御工程と、
前記情報処理装置から印刷データを受信した場合に印刷処理を実行する印刷工程とを備える事を特徴とする印刷システムの制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、印刷装置から成る印刷システム、およびそれらの制御方法に関するものである。
【背景技術】
【０００２】
パソコンとプリンタをつないで印刷するシステムでは、ユーザが印刷を指示すると、まずパソコン上のアプリケーションソフトウェアがコマンドやデータに変換して、それをオペレーティングシステムの印刷サービスに引き渡す。印刷サービスは、それをプリンタドライバと呼ばれる、各プリンタに依存したデータ列に変換するレイヤに渡し、変換完了後にプリンタに送信する。プリンタはパソコンからの印刷要求を受信すると、実際の印刷を始める前に必要な予備動作を行って、その後に印刷を開始する。
【０００３】
この予備動作には、例えば大判インクジェットプリンタでは、インクを吐出するノズルを正常な状態に保つためのヘッドクリーニングや、ファンモータの回転、ロール紙の先端を検出するための位置出し動作、指定されたメディアへの交換、用紙の厚さに合わせた送り量の調整などがある。一般にこれらの動作には数秒から数十秒を必要とする。
【０００４】
このように通常の印刷シーケンスでは、
１.ユーザが印刷指示を出す。
【０００５】
２．アプリケーションが画像データを処理する。
【０００６】
３．オペレーティングシステムやプリンタドライバが印刷データに変換する。
【０００７】
４．印刷データをプリンタに送信する。
【０００８】
５．プリンタは、印刷要求によって予備的動作を行う。
【０００９】
６．実際の印刷を開始する。
とシーケンシャルに処理が進むため、実際に印刷が開始されるまでに多くの時間を要することになる。
【００１０】
この問題を解決するための１つの手段として、実際の印刷動作の開始に先立って行うべき予備的動作を、印刷のためのデータ処理と並行して実行することを可能とし、印刷時間を短縮する技術が提案されている。（特開２０００−１６３２２５号公報）
これは、ユーザから印刷が指示され、オペレーティングシステムから印刷ジョブがプリンタドライバへ渡されると「これから印刷が開始される」という情報をプリンタに送信し、プリンタドライバがデータを処理するのと平行してプリンタ側の予備的動作を行う事で、全体の印刷時間を短縮しようとするものである。
【特許文献１】特開２０００−１６３２２５号公報
【発明の開示】
【発明が解決しようとする課題】
【００１１】
しかしながら、上記従来例はパソコンとプリンタが１対１で接続される環境であれば有効であるが、ネットワーク環境などのように複数のパソコンが接続可能な環境では、不都合が生じる。例えば、図２のようにパソコンＡが普通紙の印刷の要求を出している状態で、パソコンＢが光沢紙の印刷要求を出すと、後にパソコンＡの印刷ジョブを受信したタイミングではプリンタは光沢紙に対する印刷準備するため、メディアを光沢紙に変更するように警告を表示し、不整合を引き起す場合がある。
【００１２】
本発明は、上記従来技術の問題点に鑑みてなされたものであり、その目的は、複数のパソコンから共有するプリンタで先行通知を実現する場合に、ロール紙の交換などのユーザの手間を省き、使い勝手の良い印刷システムを提供する事にある。
【課題を解決するための手段】
【００１３】
上記の目的を達成するため、本発明による情報処理装置は、以下のような構成を備える。すなわち、通知手段によって印刷装置と接続される情報処理装置であって、印刷の実行が指示された場合に、前記印刷装置に対して前記通信手段を介して先行通知を行う通知手段と、前記通知手段による先行通知の後に、印刷対象のデータを処理して印刷データを生成するデータ生成手段と、前記データ生成手段で生成された印刷データを前記通信手段を介して前記印刷装置へ送信するデータ送信手段とを備える。
【００１４】
また、上記の目的を達成するための本発明による印刷装置は、外部より受信した先行通知の情報（送信元と印刷条件を含む）を格納する格納手段と、前記先行通知の情報に応じて印刷前に必要な準備を実行する準備手段と、前記情報処理装置からステータス（状態）の取得要求が来た際に、前記格納手段の中から、前記情報処理装置の先行通知を検索する検索手段と、前記印刷装置の状態前と記検索工程によって検索された先行通知の情報とを比較して返却するステータスを制御するステータス制御手段と、前記情報処理装置から印刷データを受信した場合に印刷処理を実行する印刷手段とを備える。
【００１５】
また、上記の目的を達成する本発明の印刷システムは、通信手段を介して相互に通信可能に接続された情報処理装置と印刷装置とを備えた印刷システムであって、印刷の実行が指示された場合に前記印刷装置に対して、前記通信手段を介して先行通知を行う通知手段と、前記情報処理装置の前記通知手段から受信した先行通知の情報を格納する格納手段と、前記通知手段による先行通知の内容に応じて、前記印刷装置が印刷開始前に必要な準備を行う準備手段と、前記通知手段による先行通知の後に印刷データを生成するデータ生成手段と、前記データ生成手段によって作成された印刷データを前記印刷装置に送信するために前記印刷装置のステータスを取得しながら印刷データを送信するデータ送信手段と、前記格納手段の中から、ステータスを取得しようとしている前記情報処理装置に該当する先行通知の情報を検索する検索手段と、前記印刷装置の状態と前記検索手段によって検索された先行通知の情報を比較して、返却するステータスを制御するステータス制御手段と、前記情報処理装置から印刷データを受信した場合に印刷処理を実行する印刷手段とを備えることを特徴とする。
【発明の効果】
【００１６】
以上の説明から明らかなように、複数のパソコンからの先行通知によって印刷条件が競合する事なく、順次印刷要求を処理することができる。
【００１７】
また本発明によれば、現在の印刷装置の状態に合致しない先行通知を先に受信している場合でも、印刷装置の状態に合致する後から受信した先行通知の印刷を待たせる事なく、効率よく処理することができる。
【発明を実施するための最良の形態】
【００１８】
次に、本発明の詳細を実施例の記述に従って説明する。
【実施例１】
【００１９】
図１は、本発明の特徴をもっともよく表す図面であり、本発明を施した情報処理装置と印刷制御装置から成るプリンシステムの構成を示したブロック図である。
【００２０】
同図において、100はパソコンなどのホストに搭載される印刷に関わる構成要素である。101は印刷原稿を作成するためのアプリケーションソフトウェア、102はアプリケーションソフトウェア101の印刷要求に応じて印刷データを仲介するOSの印刷サービス、103はOSの印刷サービス102の要求に従って印刷データをプリンタ110で処理可能な形式のデータに変換するためのプリンタドライバである。104はOSの印刷サービス102とプリンタドライバ103との印刷データの受け渡しや、プリンタ110に転送するまでの間、一時保管するためのシステムスプーラである。
【００２１】
200はプリンタドライバ103によって作成された印刷データを印刷するためのプリンタとその構成要素である。201は、ホスト100との間のデータ通信を司る通信インターフェースである。ここを通して、ホスト100から印刷データや各種の印刷条件コマンドを受信する。一般的には、ネットワークインターフェースやUSBなどがこれに該当する。202は、プリンタ200全体の制御を行うCPUである。またCPU202は、RAM203、およびROM204に収められたプログラムやデータに従って、受信した印刷データを描画データに展開する。こうして作成された描画データをエンジンI/F205を経由して、プリントエンジン206に送信し、用紙の印刷面に印刷する。
【００２２】
図２は、本特許を施した情報処理装置と印刷制御装置から成るプリントシステムにおける処理フローを示したフロー図である。
【００２３】
同図において、使用者がアプリケーションソフト101から印刷を指示すると、印刷開始命令がOSの印刷サービス102に伝えられる。この印刷開始命令はすぐにプリンタドライバ103にも伝えられる。次にアプリケーションソフト101はページ開始命令を出し、次いで印刷するデータを生成し、それを描画命令としてOSの印刷サービス102に送る。1ページ分の描画が終わるとページ終了命令を出す。さらに全てのページの印刷が終わると印刷終了命令を出す。OSの印刷サービス102の挙動もアプリケーションソフト101の動作とほぼ同期しており、順次、命令がプリンタドライバ103に伝えられる。プリンタドライバ103は印刷開始命令を受けると、スプーラ104を介さずに直接プリンタ200に先行通知コマンドを送信する。先行通知コマンドにはメディア種類、用紙サイズ、印刷品位などの各種印刷条件の情報を付加する。プリンタ200は受信した印刷条件に従って、予備的動作を実施する。
【００２４】
プリンタドライバ103はこれと平行して印刷データを作成し、スプーラ104に印刷ジョブを送る。スプーラ104はプリンタと通信してステータスを取得し、プリンタ200が印刷可能な状態(Ready)であればジョブデータを送信する。
【００２５】
図３は、本特許を施した情報処理装置と印刷制御装置から成るプリントシステムにおいて、２台の情報処理装置であるホストＡ300とホストＢ400と、１台の印刷制御装置であるプリンタ200との間の処理フローを示したフロー図であり、特に２台のホストから異なる印刷条件が指示された場合の例を示したものである。
【００２６】
例えば、いまプリンタ200にA4サイズの普通紙が装備されているものとする。同図において、まずホストＡ300から先行通知（普通紙、A4）が送信される。するとプリンタ200はこの先行通知の情報をRAM203上に設けられたキューに格納する。次にホストＢ400から先行通知（光沢紙、A3）が送信され、この情報も同様にRAM203上のキューに格納する。
【００２７】
このキューの状態を図示したのが図４であり、この例では送信元のホストを特定するための情報と、用紙の種類、用紙サイズの情報が格納されている。ここで送信元のホストを特定する情報は、ネットワーク環境では例えばホスト側のIPアドレスや MACアドレスに相当する。
【００２８】
次にホストＡ300とホストＢ400から印刷ジョブを送信する前に、プリンタ200の状態を取得するためにステータス要求コマンドが発行される。この時、プリンタ200は、現在プリンタ200にセットされている用紙の種類や用紙サイズの情報、先に先行通知で受け取ってキューに格納した情報に応じて、ホストＡ300には印刷可能を示す <Ready> を、ホストＢ400には他のジョブを印刷中である事を示す <Busy> を返す。このようにする事で、プリンタ200はホストＡ300の印刷ジョブ（普通紙、Ａ４）を先に受信して印刷する事ができる。ホストＢ400の印刷ジョブ（光沢紙、Ａ３）は他のジョブの印刷完了後にステータスが <Ready> になって印刷可能になる。
【００２９】
このプリンタ200のステータス返却の動作論理を説明するため、図５にフローチャートを示す。ステータス要求を受信すると、まず現在印刷動作中であれば無条件に <Busy> を返す。次にS2において、ステータス要求を出した送信元ホストの情報（例えばIPアドレス）を取得する。次にS3において、キューに格納されている先行通知の中からこのホストから送られた情報を検索する。次にS4において、このホスト以外から送られた先行通知の中で、既に <Ready> を返却してもうすぐ印刷ジョブが届きそうなモノがあれば <Busy>を返却する。次にS5で、現在プリンタ200にセットされている用紙の種類や用紙サイズなどの用紙情報を取得する。S3とS5で得られた用紙情報を比較して、条件が一致してすぐに印刷可能なものには <Ready> を返却する。条件が一致しない場合は、キュー内に存在する他の先行通知を調べて、条件に一致するモノがあれば <Busy> を、他に一致するモノがなければ <Ready> を返却する。
【００３０】
図３の例では、先行通知もステータス要求も、ホストＡ300 → ホストＢ400の順に来ているが、例えばホストＢ400 → ホストＡ300の順に来ても問題ない。ホストＢ400からのステータス要求が来た時点で、先にホストＡ300からの先行通知を受信していれば、プリンタ200はホストＡ300のステータス要求を待つために、ホストＢ400には <Busy> を返却する。
【００３１】
また別な例として、図６は特に２台のホストから同種の印刷条件が指示された場合の例を示したものである。例えばホストＢ400の印刷データが十分に小さいため、先行通知とステータス要求とで受付け順序が変わったような場合である。
例えば、いまプリンタ200にA4サイズの普通紙が装備されているものとする。同図において、まずホストＡ300から先行通知（普通紙、A4）が送信される。するとプリンタ200はこの先行通知の情報をRAM203上に設けられたキューに格納する。次にホストＢ400から先行通知（普通紙、A4）が送信され、この情報も同様にRAM203上のキューに格納する。
【００３２】
次にホストＢ400から印刷ジョブを送信する前に、プリンタ200の状態を取得するためにステータス要求コマンドが発行される。先行通知の情報と、プリンタ200にセットされている用紙の情報を比較して一致するので、プリンタ200はホストＢ200に <Ready> の応答を返す。その後、ホストＡ300からステータス要求が来た時には <Busy> の応答を返す。
【図面の簡単な説明】
【００３３】
【図１】本発明のプリンタシステムの構成要素を示したブロック図。
【図２】ホスト内の構成要素とプリンタとの動作を示すフロー図。
【図３】複数のホストと１つのプリンタの動作を示すフロー図。
【図４】先行通知情報が格納されたキューのブロック図。
【図５】プリンタのステータス返却処理のフローチャート。
【図６】複数のホストと１つのプリンタの動作を示すフロー図。
【符号の説明】
【００３４】
100  ホストで印刷に関わる構成要素
101  アプリケーションソフトウェア
102  OSの印刷サービス
103  プリンタドライバ
104  システムスプーラ
105  ホスト側の通信インターフェース
200  プリンタ
201  通信インターフェース
202  プリンタのCPU
203  プリンタのRAM
204  プリンタのROM
205  エンジンI/F
206  プリントエンジン
300  ホストＡ
400  ホストＢ
【図１】
2009116595.tif 000003
【図２】
2009116595.tif 000004
【図３】
2009116595.tif 000005
【図４】
2009116595.tif 000006
【図５】
2009116595.tif 000007
【図６】
2009116595.tif 000008