(57)【特許請求の範囲】
【請求項１】
印刷装置に印刷ジョブを送信する情報処理装置であって、
印刷データを生成する生成手段と、
第１の動作モード、第２の動作モード及び第３の動作モードのいずれかを指定する第１の指定手段と、
前記第１の指定手段で前記第１の動作モードが指定された場合に、前記生成手段により生成された印刷データと前記第１の動作モードを示す第１の指定とを含む、前記印刷装置に送信されるべき第１の印刷ジョブを生成する第１の印刷ジョブ生成手段と、
前記第１の指定手段で前記第２の動作モードが指定された場合に、前記生成手段により生成された印刷データと前記第２の動作モードを示す第２の指定とを含む、前記印刷装置に送信されるべき第２の印刷ジョブを生成する第２の印刷ジョブ生成手段と、
前記第１の指定手段で前記第３の動作モードが指定された場合に、前記生成手段により生成された印刷データと前記第３の動作モードを示す第３の指定とを含む、前記印刷装置に送信されるべき第３の印刷ジョブを生成する第３の印刷ジョブ生成手段と、
前記第１の印刷ジョブを前記印刷装置に送信する第１の送信手段と、
前記第２の印刷ジョブを前記印刷装置に送信する第２の送信手段と、
前記第３の印刷ジョブを前記印刷装置に送信する第３の送信手段と、
前記第３の送信手段で前記第３の印刷ジョブを送信した後に、前記第１の動作モードと前記第３の印刷ジョブとを指定する第２の指定手段と、
前記第２の指定手段で前記第１の動作モードと前記第３の印刷ジョブが指定された場合に、前記第１の動作モードを示す第４の指定と前記第３の印刷ジョブを識別する識別情報とを前記印刷装置に送信する第４の送信手段と、
前記第３の送信手段で前記第３の印刷ジョブを送信した後に、前記第２の動作モードと前記第３の印刷ジョブとを指定する第３の指定手段と、
前記第３の指定手段で前記第２の動作モードと前記第３の印刷ジョブが指定された場合に、前記第２の動作モードを示す第５の指定と前記第３の印刷ジョブを識別する識別情報とを前記印刷装置に送信する第５の送信手段とを有し、
前記印刷装置は、前記第１の指定に従って、前記第１の印刷ジョブより先に受信した第４の印刷ジョブの印刷データの画像形成を開始した後であって、前記第４の印刷ジョブの印刷データの全てのページの画像形成を終了する前に、前記第１の印刷ジョブの印刷データの画像形成を開始し、
前記印刷装置は、前記第２の指定に従って、前記第２の印刷ジョブを、印刷データが処理されるのを待つ印刷ジョブの先頭にし、
前記印刷装置は、前記第３の指定に従って、前記第３の印刷ジョブを、印刷データが処理されるのを待つ印刷ジョブの最後尾にし、
前記印刷装置は、前記第４の指定に従って、前記第３の印刷ジョブより先に受信した第５の印刷ジョブの印刷データの画像形成を開始した後であって、前記第５の印刷ジョブの印刷データの全てのページの画像形成を終了する前に、前記第３の印刷ジョブの印刷データの画像形成を開始し、
前記印刷装置は、前記第５の指定に従って、前記第３の印刷ジョブを、印刷データが処理されるのを待つ印刷ジョブの先頭にすることを特徴とする情報処理装置。
【請求項２】
前記第１の印刷ジョブ生成手段は、前記第１の指定を含むジョブパケットと、前記第１の印刷ジョブの属性を含むジョブパケットと、前記生成手段により生成された印刷データを含むジョブパケットとを生成し、
前記第２の印刷ジョブ生成手段は、前記第２の指定を含むジョブパケットと、前記第２の印刷ジョブの属性を含むジョブパケットと、前記生成手段により生成された印刷データを含むジョブパケットとを生成し、
前記第３の印刷ジョブ生成手段は、前記第３の指定を含むジョブパケットと、前記第３の印刷ジョブの属性を含むジョブパケットと、前記生成手段により生成された印刷データを含むジョブパケットとを生成し、
前記第１の印刷ジョブは、前記ジョブパケット生成手段により生成された、前記第１の指定を含むジョブパケット、前記属性を含むジョブパケット及び前記印刷データを含むジョブパケットから構成され、
前記第２の印刷ジョブは、前記ジョブパケット生成手段により生成された、前記第２の指定を含むジョブパケット、前記属性を含むジョブパケット及び前記印刷データを含むジョブパケットから構成され、
前記第３の印刷ジョブは、前記ジョブパケット生成手段により生成された、前記第３の指定を含むジョブパケット、前記属性を含むジョブパケット及び前記印刷データを含むジョブパケットから構成されることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
印刷装置に印刷ジョブを送信する情報処理装置における情報処理方法であって、
印刷データを生成する生成ステップと、
第１の動作モード、第２の動作モード及び第３の動作モードのいずれかを指定する第１の指定ステップと、
前記第１の指定ステップで前記第１の動作モードが指定された場合に、前記生成ステップで生成された印刷データと前記第１の動作モードを示す第１の指定とを含む、前記印刷装置に送信されるべき第１の印刷ジョブを生成する第１の印刷ジョブ生成ステップと、
前記第１の指定ステップで前記第２の動作モードが指定された場合に、前記生成ステップで生成された印刷データと前記第２の動作モードを示す第２の指定とを含む、前記印刷装置に送信されるべき第２の印刷ジョブを生成する第２の印刷ジョブ生成ステップと、
前記第１の指定ステップで前記第３の動作モードが指定された場合に、前記生成ステップで生成された印刷データと前記第３の動作モードを示す第３の指定とを含む、前記印刷装置に送信されるべき第３の印刷ジョブを生成する第３の印刷ジョブ生成ステップと、
前記第１の印刷ジョブを前記印刷装置に送信する第１の送信ステップと、
前記第２の印刷ジョブを前記印刷装置に送信する第２の送信ステップと、
前記第３の印刷ジョブを前記印刷装置に送信する第３の送信ステップと、
前記第３の送信ステップで前記第３の印刷ジョブを送信した後に、前記第１の動作モードと前記第３の印刷ジョブとを指定する第２の指定ステップと、
前記第２の指定ステップで前記第１の動作モードと前記第３の印刷ジョブが指定された場合に、前記第１の動作モードを示す第４の指定と前記第３の印刷ジョブを識別する識別情報とを前記印刷装置に送信する第４の送信ステップと、
前記第３の送信ステップで前記第３の印刷ジョブを送信した後に、前記第２の動作モードと前記第３の印刷ジョブとを指定する第３の指定ステップと、
前記第３の指定ステップで前記第２の動作モードと前記第３の印刷ジョブが指定された場合に、前記第２の動作モードを示す第５の指定と前記第３の印刷ジョブを識別する識別情報とを前記印刷装置に送信する第５の送信ステップとを有し、
前記印刷装置は、前記第１の指定に従って、前記第１の印刷ジョブより先に受信した第４の印刷ジョブの印刷データの画像形成を開始した後であって、前記第４の印刷ジョブの印刷データの全てのページの画像形成を終了する前に、前記第１の印刷ジョブの印刷データの画像形成を開始し、
前記印刷装置は、前記第２の指定に従って、前記第２の印刷ジョブを、印刷データが処理されるのを待つ印刷ジョブの先頭にし、
前記印刷装置は、前記第３の指定に従って、前記第３の印刷ジョブを、印刷データが処理されるのを待つ印刷ジョブの最後尾にし、
前記印刷装置は、前記第４の指定に従って、前記第３の印刷ジョブより先に受信した第５の印刷ジョブの印刷データの画像形成を開始した後であって、前記第５の印刷ジョブの印刷データの全てのページの画像形成を終了する前に、前記第３の印刷ジョブの印刷データの画像形成を開始し、
前記印刷装置は、前記第５の指定に従って、前記第３の印刷ジョブを、印刷データが処理されるのを待つ印刷ジョブの先頭にすることを特徴とする情報処理方法。
【請求項４】
前記第１の印刷ジョブ生成ステップでは、前記第１の指定を含むジョブパケットと、前記第１の印刷ジョブの属性を含むジョブパケットと、前記生成ステップで生成された印刷データを含むジョブパケットとを生成し、
前記第２の印刷ジョブ生成ステップでは、前記第２の指定を含むジョブパケットと、前記第２の印刷ジョブの属性を含むジョブパケットと、前記生成ステップで生成された印刷データを含むジョブパケットとを生成し、
前記第３の印刷ジョブ生成ステップでは、前記第３の指定を含むジョブパケットと、前記第３の印刷ジョブの属性を含むジョブパケットと、前記生成ステップで生成された印刷データを含むジョブパケットとを生成し、
前記第１の印刷ジョブは、前記ジョブパケット生成ステップで生成された、前記第１の指定を含むジョブパケット、前記属性を含むジョブパケット及び前記印刷データを含むジョブパケットから構成され、
前記第２の印刷ジョブは、前記ジョブパケット生成ステップで生成された、前記第２の指定を含むジョブパケット、前記属性を含むジョブパケット及び前記印刷データを含むジョブパケットから構成され、
前記第３の印刷ジョブは、前記ジョブパケット生成ステップで生成された、前記第３の指定を含むジョブパケット、前記属性を含むジョブパケット及び前記印刷データを含むジョブパケットから構成されることを特徴とする請求項３に記載の情報処理方法。
【請求項５】
情報処理装置から印刷ジョブを受信し、前記印刷ジョブの印刷データの画像形成を行う印刷装置であって、
印刷データと第１の動作モードを示す第１の指定とを含む第１の印刷ジョブを前記情報処理装置から受信する第１の受信手段と、
印刷データと第２の動作モードを示す第２の指定とを含む第２の印刷ジョブを前記情報処理装置から受信する第２の受信手段と、
印刷データと第３の動作モードを示す第３の指定とを含む第３の印刷ジョブを前記情報処理装置から受信する第３の受信手段と、
前記第１の指定に従って、前記第１の印刷ジョブより先に受信した第４の印刷ジョブの印刷データの画像形成を開始した後であって、前記第４の印刷ジョブの印刷データの全てのページの画像形成を終了する前に、前記第１の印刷ジョブの印刷データの画像形成を開始する第１の制御手段と、
前記第２の指定に従って、前記第２の印刷ジョブを、印刷データが処理されるのを待つ印刷ジョブの先頭にする第２の制御手段と、
前記第３の指定に従って、前記第３の印刷ジョブを、印刷データが処理されるのを待つ印刷ジョブの最後尾にする第３の制御手段と、
前記第３の受信手段で前記第３の印刷ジョブを受信した後に、前記第１の動作モードを示す第４の指定と前記第３の印刷ジョブを識別する識別情報とを前記情報処理装置から受信する第４の受信手段と、
前記第４の指定に従って、前記第３の印刷ジョブより先に受信した第５の印刷ジョブの印刷データの画像形成を開始した後であって、前記第５の印刷ジョブの印刷データの全てのページの画像形成を終了する前に、前記第３の印刷ジョブの印刷データの画像形成を開始する第４の制御手段と、
前記第３の受信手段で前記第３の印刷ジョブを受信した後に、前記第２の動作モードを示す第５の指定と前記第３の印刷ジョブを識別する識別情報とを前記情報処理装置から受信する第５の受信手段と、
前記第５の指定に従って、前記第３の印刷ジョブを、印刷データが処理されるのを待つ印刷ジョブの先頭にする第５の制御手段とを有することを特徴とする印刷装置。
【請求項６】
情報処理装置から印刷ジョブを受信し、前記印刷ジョブの印刷データの画像形成を行う印刷装置であって、
印刷データを含む印刷ジョブを前記情報処理装置から受信する受信手段と、
前記受信手段で受信した印刷ジョブを、印刷データが処理されるのを待つ印刷ジョブの最後尾にする制御手段とを有し、
前記受信手段が、印刷データと第１の動作モードを示す第１の指定とを含む印刷ジョブを受信した場合には、前記制御手段は、前記第１の指定に従って、第１の印刷ジョブの印刷データの画像形成を開始した後であって、前記第１の印刷ジョブの印刷データの全てのページの画像形成を終了する前に、前記受信手段で受信した印刷ジョブの印刷データの画像形成を開始するよう制御し、
前記受信手段が、印刷データと第２の動作モードを示す第２の指定とを含む印刷ジョブを受信した場合には、前記制御手段は、前記第２の指定に従って、前記受信手段で受信した印刷ジョブを、印刷データが処理されるのを待つ印刷ジョブの先頭にし、
前記受信手段が、前記第１の動作モードを示す第３の指定と印刷ジョブを識別する識別情報とを受信した場合には、前記制御手段は、前記第３の指定に従って、第２の印刷ジョブの印刷データの画像形成を開始した後であって、前記第２の印刷ジョブの印刷データの全てのページの画像形成を終了する前に、前記識別情報によって識別される印刷ジョブの印刷データの画像形成を開始するよう制御し、
前記受信手段が、前記第２の動作モードを示す第４の指定と印刷ジョブを識別する識別情報とを受信した場合には、前記制御手段は、前記第４の指定に従って、前記識別情報によって識別される印刷ジョブを、印刷データが処理されるのを待つ印刷ジョブの先頭にすることを特徴とする印刷装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザの指示にしたがって印刷データを生成するホストコンピュータと、前記ホストコンピュータから所定の通信媒体を介して送信されてきた印刷データをデータ処理して画像データを生成し、用紙などのメディアに実際に印刷を行う印刷装置からなる印刷システムに関するものである。
【背景技術】
【０００２】
従来、ホストコンピュータと印刷装置から構成された印刷システムにおいては、ホストコンピュータで生成される印字データをもとに印刷装置が印刷を行うというだけではなく、ホストコンピュータで印刷装置の情報獲得、環境設定が行えるということが要求されている（特許文献１）。
【０００３】
特に昨今のネットワークの普及により、印刷処理時間の速い高機能な１台の印刷装置を複数のユーザがネットワークを介して共有することにより、オフィスにおける大量の印刷ニーズを満たし、管理コストが最低限に押さえられるような使用形態が一般化している。
【０００４】
この状況下で、管理者は遠隔地からリアルタイムに印刷装置の管理を行いたいという要求がある。また一般ユーザは、自分が発行した印刷ジョブの処理状況の確認や取り消しといった２次操作を行いたいという要求がある。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平１０−２８３３２２
【発明の概要】
【発明が解決しようとする課題】
【０００６】
そして、これらの要求を満たす印刷システムが数多く考えられる。
【０００７】
図１は、上記の要求を満たす印刷システムの一例であって、ホストコンピュータから印刷装置への印刷ジョブの送信、印刷装置の情報獲得、環境設定を行う仕組みを具現化した印刷システムの機能構成を示すブロック図である。この印刷システムでは、ホストコンピュータ１００と印刷装置１５０とが所定の印刷媒体１８０を介して接続されている。
【０００８】
ホストコンピュータ１００はアプリケーション部１０１、プリンタドライバ部１０２、送信バッファ部１０３、Ｉ／Ｆドライバ部１０４、ユーティリティ部１０５、論理チャネル制御部１０６、ジョブパケット生成部１０７から構成されている。
【０００９】
アプリケーション部１０１はユーザにグラフィカルユーザインターフェイスを提供し、ユーザの目的に適った画像データを生成する。プリンタドライバ部１０２は、アプリケーション部１０１が生成した画像データを印刷装置１５０で印刷可能なページ記述言語（以下ＰＤＬと略称）データに変換する。送信バッファ部１０３はプリンタドライバ部１０２が生成したＰＤＬデータを一時的に格納しておく。ジョブパケット生成部１０７は、送信バッファ部１０３に蓄えられたＰＤＬデータにアプリケーション部１０１が所有する印刷ジョブのジョブ情報を付加して、所定のフォーマットに従ってジョブパケットを生成する。
【００１０】
ユーティリティ部１０５は印刷装置１５０に関する情報を獲得してグラフィックユーザインタフェイスを提供し、ユーザや管理者の要望に従って、印刷装置１５０における機器の情報を設定するための管理パケットを生成する。また、ユーティリティ部１０５は、印刷ジョブの状態の獲得や取り消しの要求を行うための管理パケットも生成する。
【００１１】
論理チャネル制御部１０６は、ジョブパケット生成部１０７が生成するジョブパケットとユーティリティ部１０５が生成する管理パケットとの多重化を制御し、ＯＳＩ７階層におけるトランスポート層の役割を受け持つ。Ｉ／Ｆドライバ部１０４は論理チャネル制御部１０６から生成されたデータの送信と印刷装置１５０から送信されてきたデータの受信を行う。
【００１２】
印刷装置１５０は、論理チャネル制御部１５１、機器データベース部１５２、ジョブプリプロセッサ部１５３、受信バッファ１５４、ＰＤＬトランスレータ部１５５、描画バッファ１５６、描画部１５７、プリンタエンジン部１５８、Ｉ／Ｆドライバ部１５９、情報管理部１６０、操作パネル１６１から構成されている。
【００１３】
Ｉ／Ｆドライバ部１５９はホストコンピュータ１００から送信されてきたデータの受信と、論理チャネル制御部１５１で生成されたデータの送信を行う。論理チャネル制御部１５１はＩ／Ｆドライバ部１５９が受信したデータを解析し、ジョブパケットはジョブプリプロセッサ部１５３、管理パケットは情報管理部１６０に分別し、逆に情報管理部１６０から送信される管理パケットをＩ／Ｆドライバ部１５９に送信する。
【００１４】
ジョブプリプロセッサ部１５３は、ジョブパケットを受け取って解釈し、ＰＤＬデータを受信バッファ１５４に、ジョブのジョブ情報を機器データベース部１５２に送る。受信バッファ１５４には、ＰＤＬデータが受信された順番に格納されている。機器データベース部１５２には、コピー数などのジョブ情報や、機器に関する情報が格納されている。
【００１５】
ＰＤＬトランスレータ部１５５は受信バッファ１５４に格納されたＰＤＬデータと機器データベースに格納されたジョブ情報を元にトランスレート処理を行い、ＰＤＬデータを描画部１５７がリアルタイムに描画できる中間データに変換し、その中間データを描画バッファ１５６に送信する。
【００１６】
描画バッファ１５６は複数ページ分の中間データを格納し、描画部１５７に渡す。描画部１５７は描画バッファ１５６から中間データを取得し、プリンタエンジン部１５８が行う用紙搬送処理と伴って、リアルタイムに中間データのレンダリングを行い、プリンタエンジン部１５８にビデオデータを送信する。プリンタエンジン部１５８は既知の電子写真技術を用いて描画部１５７から送信されてきたビデオデータを元に、用紙に物理的に印刷を行う。
【００１７】
情報管理部１６０は、ユーティリティ部１０５からの情報獲得要求を管理パケットの形で受け取り、機器データベース部１５２から必要な情報を獲得し、管理パケットに変換して論理チャネル制御部１５１を介してホストコンピュータに返答する。また、ジョブの終了を検知して、自発的にジョブの終了の通知を管理パケットに変換してホストコンピュータに送信する。
【００１８】
操作パネル１６１は印刷装置１５０の本体に備え付けられており、液晶やＬＥＤなどのディスプレイ装置と操作ボタンから構成されている。そして、操作パネル１６１は、ユーザからの入力（設定）を情報管理部を通して機器データベースに反映させ、あるいは現在の機器の状態を表示するという処理を行う。
【００１９】
次に、印刷装置１５０が印刷ジョブの印刷要求を受けた場合の処理について説明する。印刷装置１５０は印刷ジョブの印刷要求を受けると、ジョブプリプロセッサ部１５３がこの新規な印刷ジョブを認識し、印刷装置内で一意に保たれるジョブＩＤをこの印刷ジョブに割り振る。その情報は機器データベース部１５２に格納される。なお、この情報は、印刷ジョブの全ページが解釈され、描画されて、プリンタエンジン部１５８で最後の１ページの排紙が完了したと検知された段階で削除される。
【００２０】
次に、この印刷システムにおけるジョブの取り消し機能の仕組みを説明する。ジョブの取り消し機能は、印刷要求を出したユーザ、或いは、管理者が印刷装置に送信された印刷ジョブの印刷取り消しを要求する機能である。ユーザ或いは管理者は、ユーティリティ部１０５のユーザインタフェース、或いは、操作パネル１６１から取り消しを要求する。
【００２１】
ユーティリティ部１０５は、印刷装置１５０に対して装置内ジョブリストの獲得を要求する管理パケットを発行する。印刷装置１５０は装置内で認識しているすべての印刷ジョブの前記ジョブＩＤのリストを送信する。ユーティリティ部１０５はこれを受け取り、グラフィックユーザインタフェイスを用いて、装置内の印刷ジョブの状況を表示する。
【００２２】
印刷ジョブを送信したユーザ、或いは、印刷装置の管理者は、表示されている印刷ジョブの中のある印刷ジョブを選択して、その印刷ジョブの取り消しを要求すると、つまり、ユーティリティ部１０５のグラフィックユーザインタフェイスで、印刷取り消しが行われる印刷ジョブのジョブＩＤが指定されると、ジョブ取り消し要求の管理パケットが生成され、印刷装置１５０に送信される。印刷装置１５０へジョブ取り消し要求の管理パケットが送信されると、情報管理部１６０がそれ検知し、印刷パス上、具体的には、受信バッファ１５４、ＰＤＬトランスレータ部１５５、描画バッファ１５６、描画部１５７上に該当印刷ジョブに係るＰＤＬデータや中間データが存在する場合には、それらのデータの無効、削除、消去等や、それらのデータの処理の中断が行われる。
【００２３】
操作パネル１６１から取り消しを行う場合は、ジョブＩＤを明示的に指定するのが困難である。そのため、印刷パス上もっとも処理が進んでいる印刷ジョブを取り消しの対象とする。具体的にはプリンタエンジン部１５８でジョブを処理しているときはそのジョブを取り消しの対象とし、そうでない場合には描画部１５７で処理されているジョブ、更にそうでないバイ場合にはＰＤＬトランスレータ部１５５で処理されているジョブといったように、印刷パス上で処理中のジョブが見つかった段階で該当ジョブＩＤを取り消しの対象とし、当該ジョブのジョブＩＤを特定する。
【００２４】
操作パネルによるジョブの取り消しは、取り消し対象となるジョブの決定方法が異なるだけで、実際の印刷装置内の取り消し処理はユーティリティ部１０５による取り消しと同じである。以上の操作によって、印刷装置１５０内の任意のジョブの取り消しが可能となっている。
【００２５】
更に、ネットワークの普及に伴い、高速、高機能な印刷装置を複数のユーザが共有する利用形態が増えてきた結果、新しいサービスのニーズがでてきた。
【００２６】
一般に印刷ジョブの出力スループットは、プリンタエンジン部の出力速度がボトルネックになっている。いくらコントローラの機能が向上しても出力時間には一定の限界がある。しかしプリンタエンジン部の高速化は定着温度の上昇や用紙搬送系の高速化に伴い大型、高価格化を招くため、ユーザのニーズに適応しにくい。この点でも、印刷ジョブの出力時間には一定の限界が存在する。
【００２７】
あるユーザが印刷ジョブを至急出力したい時に、すでに別の印刷ジョブが印刷装置に投入されている場合、従来では、ユーザは、先行投入されている印刷ジョブが印刷完了されるまで一定時間待つ必要があった。あるいは、ユーザが印刷装置のリセット、印刷ジョブの取り消しを行うことにより、印刷ジョブの至急の出力がある程度達成される。しかし、取り消された印刷ジョブが他のユーザの印刷ジョブであった場合、そのユーザに再度印刷を行うよう通知する必要があり、手間がかかる。従って、印刷ジョブの至急の出力を遂行するためには、印刷ジョブの割り込み印刷、割り込まれた印刷ジョブの復帰印刷機能が印刷装置に求められる。
【００２８】
本発明は上述した点に鑑みてなされたものであり、印刷ジョブが割り込み指定された場合には、現在処理中の印刷ジョブの処理を中断し、割り込み指定された印刷ジョブの印刷処理をただちに行い、しかる後に割り込まれた印刷ジョブの復帰を自動的に行うことにより、他のユーザの印刷ジョブに影響を与えることをなくして、印刷ジョブの至急の出力を行うことを可能としている。
【００２９】
更に、割り込み印刷は、割込まれた印刷ジョブの印刷処理を中止して、復帰後あらためて割込まれた印刷ジョブの印刷処理を行うため、印刷処理が複数回実行され、その分、印刷装置３００全体のスループットが低下する可能性がある。どうしても至急に印刷したい場合には割込み印刷を行い、至急に印刷したいが印刷装置全体のスループットが低下しない範囲で印刷を行いたい。
【００３０】
本発明は、上述した点に鑑みてなされたものであり、既に印刷処理が行なわれている印刷ジョブは中止させない程度に、指定された印刷ジョブの印刷順位を優先的に上げることにより、印刷装置全体のスループットを低下させずに、印刷ジョブを至急に出力させることが可能としている。
【課題を解決するための手段】
【００３１】
本発明に係わる情報処理装置は、印刷装置に印刷ジョブを送信する情報処理装置であって、印刷データを生成する生成手段と、第１の動作モード、第２の動作モード及び第３の動作モードのいずれかを指定する第１の指定手段と、前記第１の指定手段で前記第１の動作モードが指定された場合に、前記生成手段により生成された印刷データと前記第１の動作モードを示す第１の指定とを含む、前記印刷装置に送信されるべき第１の印刷ジョブを生成する第１の印刷ジョブ生成手段と、前記第１の指定手段で前記第２の動作モードが指定された場合に、前記生成手段により生成された印刷データと前記第２の動作モードを示す第２の指定とを含む、前記印刷装置に送信されるべき第２の印刷ジョブを生成する第２の印刷ジョブ生成手段と、前記第１の指定手段で前記第３の動作モードが指定された場合に、前記生成手段により生成された印刷データと前記第３の動作モードを示す第３の指定とを含む、前記印刷装置に送信されるべき第３の印刷ジョブを生成する第３の印刷ジョブ生成手段と、前記第１の印刷ジョブを前記印刷装置に送信する第１の送信手段と、前記第２の印刷ジョブを前記印刷装置に送信する第２の送信手段と、前記第３の印刷ジョブを前記印刷装置に送信する第３の送信手段と、前記第３の送信手段で前記第３の印刷ジョブを送信した後に、前記第１の動作モードと前記第３の印刷ジョブとを指定する第２の指定手段と、前記第２の指定手段で前記第１の動作モードと前記第３の印刷ジョブが指定された場合に、前記第１の動作モードを示す第４の指定と前記第３の印刷ジョブを識別する識別情報とを前記印刷装置に送信する第４の送信手段と、前記第３の送信手段で前記第３の印刷ジョブを送信した後に、前記第２の動作モードと前記第３の印刷ジョブとを指定する第３の指定手段と、前記第３の指定手段で前記第２の動作モードと前記第３の印刷ジョブが指定された場合に、前記第２の動作モードを示す第５の指定と前記第３の印刷ジョブを識別する識別情報とを前記印刷装置に送信する第５の送信手段とを有し、前記印刷装置は、前記第１の指定に従って、前記第１の印刷ジョブより先に受信した第４の印刷ジョブの印刷データの画像形成を開始した後であって、前記第４の印刷ジョブの印刷データの全てのページの画像形成を終了する前に、前記第１の印刷ジョブの印刷データの画像形成を開始し、前記印刷装置は、前記第２の指定に従って、前記第２の印刷ジョブを、印刷データが処理されるのを待つ印刷ジョブの先頭にし、前記印刷装置は、前記第３の指定に従って、前記第３の印刷ジョブを、印刷データが処理されるのを待つ印刷ジョブの最後尾にし、前記印刷装置は、前記第４の指定に従って、前記第３の印刷ジョブより先に受信した第５の印刷ジョブの印刷データの画像形成を開始した後であって、前記第５の印刷ジョブの印刷データの全てのページの画像形成を終了する前に、前記第３の印刷ジョブの印刷データの画像形成を開始し、前記印刷装置は、前記第５の指定に従って、前記第３の印刷ジョブを、印刷データが処理されるのを待つ印刷ジョブの先頭にすることを特徴とする。
【００３２】
また、本発明に係わる情報処理方法は、印刷装置に印刷ジョブを送信する情報処理装置における情報処理方法であって、印刷データを生成する生成ステップと、第１の動作モード、第２の動作モード及び第３の動作モードのいずれかを指定する第１の指定ステップと、前記第１の指定ステップで前記第１の動作モードが指定された場合に、前記生成ステップで生成された印刷データと前記第１の動作モードを示す第１の指定とを含む、前記印刷装置に送信されるべき第１の印刷ジョブを生成する第１の印刷ジョブ生成ステップと、前記第１の指定ステップで前記第２の動作モードが指定された場合に、前記生成ステップで生成された印刷データと前記第２の動作モードを示す第２の指定とを含む、前記印刷装置に送信されるべき第２の印刷ジョブを生成する第２の印刷ジョブ生成ステップと、前記第１の指定ステップで前記第３の動作モードが指定された場合に、前記生成ステップで生成された印刷データと前記第３の動作モードを示す第３の指定とを含む、前記印刷装置に送信されるべき第３の印刷ジョブを生成する第３の印刷ジョブ生成ステップと、前記第１の印刷ジョブを前記印刷装置に送信する第１の送信ステップと、前記第２の印刷ジョブを前記印刷装置に送信する第２の送信ステップと、前記第３の印刷ジョブを前記印刷装置に送信する第３の送信ステップと、前記第３の送信ステップで前記第３の印刷ジョブを送信した後に、前記第１の動作モードと前記第３の印刷ジョブとを指定する第２の指定ステップと、前記第２の指定ステップで前記第１の動作モードと前記第３の印刷ジョブが指定された場合に、前記第１の動作モードを示す第４の指定と前記第３の印刷ジョブを識別する識別情報とを前記印刷装置に送信する第４の送信ステップと、前記第３の送信ステップで前記第３の印刷ジョブを送信した後に、前記第２の動作モードと前記第３の印刷ジョブとを指定する第３の指定ステップと、前記第３の指定ステップで前記第２の動作モードと前記第３の印刷ジョブが指定された場合に、前記第２の動作モードを示す第５の指定と前記第３の印刷ジョブを識別する識別情報とを前記印刷装置に送信する第５の送信ステップとを有し、前記印刷装置は、前記第１の指定に従って、前記第１の印刷ジョブより先に受信した第４の印刷ジョブの印刷データの画像形成を開始した後であって、前記第４の印刷ジョブの印刷データの全てのページの画像形成を終了する前に、前記第１の印刷ジョブの印刷データの画像形成を開始し、前記印刷装置は、前記第２の指定に従って、前記第２の印刷ジョブを、印刷データが処理されるのを待つ印刷ジョブの先頭にし、前記印刷装置は、前記第３の指定に従って、前記第３の印刷ジョブを、印刷データが処理されるのを待つ印刷ジョブの最後尾にし、前記印刷装置は、前記第４の指定に従って、前記第３の印刷ジョブより先に受信した第５の印刷ジョブの印刷データの画像形成を開始した後であって、前記第５の印刷ジョブの印刷データの全てのページの画像形成を終了する前に、前記第３の印刷ジョブの印刷データの画像形成を開始し、前記印刷装置は、前記第５の指定に従って、前記第３の印刷ジョブを、印刷データが処理されるのを待つ印刷ジョブの先頭にすることを特徴とする。
【００３３】
また、本発明に係わる印刷装置は、情報処理装置から印刷ジョブを受信し、前記印刷ジョブの印刷データの画像形成を行う印刷装置であって、印刷データと第１の動作モードを示す第１の指定とを含む第１の印刷ジョブを前記情報処理装置から受信する第１の受信手段と、印刷データと第２の動作モードを示す第２の指定とを含む第２の印刷ジョブを前記情報処理装置から受信する第２の受信手段と、印刷データと第３の動作モードを示す第３の指定とを含む第３の印刷ジョブを前記情報処理装置から受信する第３の受信手段と、前記第１の指定に従って、前記第１の印刷ジョブより先に受信した第４の印刷ジョブの印刷データの画像形成を開始した後であって、前記第４の印刷ジョブの印刷データの全てのページの画像形成を終了する前に、前記第１の印刷ジョブの印刷データの画像形成を開始する第１の制御手段と、前記第２の指定に従って、前記第２の印刷ジョブを、印刷データが処理されるのを待つ印刷ジョブの先頭にする第２の制御手段と、前記第３の指定に従って、前記第３の印刷ジョブを、印刷データが処理されるのを待つ印刷ジョブの最後尾にする第３の制御手段と、前記第３の受信手段で前記第３の印刷ジョブを受信した後に、前記第１の動作モードを示す第４の指定と前記第３の印刷ジョブを識別する識別情報とを前記情報処理装置から受信する第４の受信手段と、前記第４の指定に従って、前記第３の印刷ジョブより先に受信した第５の印刷ジョブの印刷データの画像形成を開始した後であって、前記第５の印刷ジョブの印刷データの全てのページの画像形成を終了する前に、前記第３の印刷ジョブの印刷データの画像形成を開始する第４の制御手段と、前記第３の受信手段で前記第３の印刷ジョブを受信した後に、前記第２の動作モードを示す第５の指定と前記第３の印刷ジョブを識別する識別情報とを前記情報処理装置から受信する第５の受信手段と、前記第５の指定に従って、前記第３の印刷ジョブを、印刷データが処理されるのを待つ印刷ジョブの先頭にする第５の制御手段とを有することを特徴とする。
また、本発明に係わる印刷装置は、情報処理装置から印刷ジョブを受信し、前記印刷ジョブの印刷データの画像形成を行う印刷装置であって、印刷データを含む印刷ジョブを前記情報処理装置から受信する受信手段と、前記受信手段で受信した印刷ジョブを、印刷データが処理されるのを待つ印刷ジョブの最後尾にする制御手段とを有し、前記受信手段が、印刷データと第１の動作モードを示す第１の指定とを含む印刷ジョブを受信した場合には、前記制御手段は、前記第１の指定に従って、第１の印刷ジョブの印刷データの画像形成を開始した後であって、前記第１の印刷ジョブの印刷データの全てのページの画像形成を終了する前に、前記受信手段で受信した印刷ジョブの印刷データの画像形成を開始するよう制御し、前記受信手段が、印刷データと第２の動作モードを示す第２の指定とを含む印刷ジョブを受信した場合には、前記制御手段は、前記第２の指定に従って、前記受信手段で受信した印刷ジョブを、印刷データが処理されるのを待つ印刷ジョブの先頭にし、前記受信手段が、前記第１の動作モードを示す第３の指定と印刷ジョブを識別する識別情報とを受信した場合には、前記制御手段は、前記第３の指定に従って、第２の印刷ジョブの印刷データの画像形成を開始した後であって、前記第２の印刷ジョブの印刷データの全てのページの画像形成を終了する前に、前記識別情報によって識別される印刷ジョブの印刷データの画像形成を開始するよう制御し、前記受信手段が、前記第２の動作モードを示す第４の指定と印刷ジョブを識別する識別情報とを受信した場合には、前記制御手段は、前記第４の指定に従って、前記識別情報によって識別される印刷ジョブを、印刷データが処理されるのを待つ印刷ジョブの先頭にすることを特徴とする。
【発明の効果】
【００３４】
以上説明したように、本発明によれば、ユーザが情報処理装置から割り込み指定した印刷指示を出すことによって、印刷装置は、既に他の印刷ジョブの印刷処理を行っていても、その印刷ジョブの印刷処理を停止して、割り込み指定された印刷ジョブの印刷処理を即座に行うことが可能であり、そのため、緊急の印刷ジョブをすぐに印刷処理することが可能である。
【００３５】
さらに、既に印刷処理が行なわれている印刷ジョブは中止させないで、印刷ジョブの印刷順位を優先的に上げる優先印刷により、印刷ジョブを優先的に処理することが可能である。
【図面の簡単な説明】
【００３６】
【図１】ホストコンピュータから印刷装置への印刷ジョブの送信、印刷装置の情報獲得、環境設定を行う仕組みを具現化した印刷システムの機能構成を示すブロック図である。
【図２】実施の形態の印刷システムのホストコンピュータの機能構成を示すブロック図である。
【図３】実施の形態の印刷システムのホストコンピュータの機能構成を示すブロック図である。
【図４】ジョブパケットの構成を示す説明図である。
【図５】ジョブパケット生成部の動作を示すフローチャートである。
【図６】ジョブパケット生成部の動作を説明するフローチャートである。
【図７】ジョブプリプロセッサ部３０３の動作を説明するフローチャートである。
【図８】ジョブ読み出しテーブルを表す説明図である。
【図９】割り込み処理部３１２の動作を説明するフローチャートである。
【図１０】割り込み処理時におけるジョブ読み出しテーブルの状態を表す説明図である。
【図１１】割り込み処理部３１２の動作を説明するフローチャートである。
【図１２】割り込み処理時におけるジョブ読み出しテーブルの状態を表す説明図である。
【図１３】ユーザに所望の処理方法（ジョブの実行モード）を指示させるために提供するグラフィックユーザインターフェースを示す図である。
【図１４】ジョブリストを表示するユーザインターフェースの一例を示す図である。
【図１５】ジョブ完了通知をする際の処理を示すフローチャートである。
【図１６】印刷完了通知を表示するユーザインターフェースを示す図である。
【図１７】印刷装置の操作パネルを示す図である。
【図１８】ジョブプリプロセッサ部の動作を示すフローチャートである。
【図１９】ジョブ読み出しテーブルを表す説明図である。
【図２０】停止／再開処理部の動作を示すフローチャートである。
【図２１】ジョブ読み出しテーブルを表す説明図である。
【図２２】ジョブ読み出しテーブルを表す説明図である。
【図２３】ジョブ読み出しテーブルを表す説明図である。
【図２４】電源切断時の処理を示すフローチャートである。
【図２５】電源切断時の操作パネルの表示を示す図である。
【図２６】電源切断時の操作パネルの表示を示す図である。
【図２７】プロモート処理部の動作を示すフローチャートである。
【図２８】ジョブ読み出しテーブルを表す説明図である。
【図２９】レーザビームプリンタ（以下、ＬＢＰと略す）の内部構造を示す断面図である。
【図３０】インクジェット記録装置ＩＪＲＡの概観図である。
【図３１】プログラムコードを記録した記憶媒体を示す図である。
【図３２】プログラムコードの供給方法を示す図である。
【図３３】印刷装置の制御構成を示す図である。
【図３４】ホストコンピュータの制御構成を示す図である。
【図３５】ジョブを管理するための管理テーブルを例示した図である。
【図３６】中間データを例示した図である。
【図３７】出力情報を例示した図である。
【図３８】割り込み通知をする場合の、割り込み処理部３１２の動作を説明するフローチャートである。
【図３９】ホストコンピュータと印刷装置によるシステムの一例を示す図である。
【図４０】割り込み通知をする場合の、割り込み処理部３１２の動作を説明するフローチャートである。
【図４１】プロモート通知をする場合の、プロモート処理部の動作を説明するフローチャートである。
【図４２】レーザビームプリンタの断面構成図である。
【図４３】レーザビームプリンタのブロック図である。
【図４４】ジョブを管理するための管理テーブルを例示した図である。
【図４５】割り込みコマンドのフォーマットを例示した図である。
【図４６】解析後のページバッファを例示した図である。
【図４７】解析情報を例示した図である。
【図４８】出力情報を例示した図である。
【図４９】処理手順を示したフローチャートである。
【図５０】本発明の他の実施の形態における割り込みコマンドのフォーマットを例示した図である。
【図５１】本発明の他の実施の形態における処理手順を示したフローチャートである。
【発明を実施するための形態】
【００３７】
＜第１の実施の形態＞
以下、本発明の実施の形態を説明する。
【００３８】
図２及び図３は実施の形態の印刷システムであって、ホストコンピュータから印刷装置への印刷ジョブ送信、印刷装置の情報獲得、環境設定が行われる仕組みを具現化した印刷システムの機能構成を示すブロック図である。
【００３９】
この印刷システムは、印刷ジョブを生成するホストコンピュータ２００と当該印刷ジョブに基づいて実際に用紙に印刷を行う印刷装置３００、ホストコンピュータ２００と印刷装置３００を接続するインターフェイス２１０、３１１から構成されている。インターフェイス２１０、３１１はＩＥＥＥ１２８４で規定されているローカルインターフェイスでも、ＥｔｈｅｒＮｅｔのようなネットワークインターフェイスでもよく、ここではローカルインタフェイスの場合の説明を行う。
【００４０】
図２において、ホストコンピュータ２００は、アプリケーション部２０１、プリンタドライバ部２０２、送信バッファ２０３、Ｉ／Ｆドライバ部２０４、ユーティリティ部２０５、論理チャネル制御部２０６、ジョブパケット生成部２０７から構成されている。
【００４１】
アプリケーション部２０１では、ユーザがグラフィックユーザインターフェイスを操作し、それに応じて所望の画像データを生成する。プリンタドライバ部２０２は、アプリケーション部２０１が生成した画像データを、印刷装置３００が印刷可能なページ記述言語（以下ＰＤＬと略称）データに変換する。送信バッファ２０３には、プリンタドライバ部２０２が生成したＰＤＬデータが一時的に格納される。ジョブパケット生成部２０７は、送信バッファ２０３に格納されたＰＤＬデータとアプリケーション部２０１が有するジョブ情報とから所定のジョブパケットを生成する。
【００４２】
ユーティリティ部２０５は、印刷装置３００の状態の確認や送信した印刷ジョブの印刷状態の確認、印刷ジョブの取り消し、印刷ジョブの割り込み、印刷ジョブの印刷停止、印刷ジョブの印刷再開などの操作をユーザがグラフィカルユーザインターフェイスを用いて行えるようにし、これらの操作に応じて印刷装置３００が解釈可能な管理パケットを生成する。
【００４３】
論理チャネル制御部２０６は、ジョブパケットと管理パケットをそれぞれ異なるチャネルに割り振り、ＯＳＩ７階層におけるトランスポート層の多重化を行う。Ｉ／Ｆドライバ部２０４は、論理的なデータと電気信号とに双方向に変換して、インターフェイス２１０とのやりとりを行う。
【００４４】
図３において、印刷装置３００は、Ｉ／Ｆドライバ部３０１、論理チャネル制御部３０２、ジョブプリプロセッサ部３０３、ジョブスプーラ部３０４、機器データベース部３０５、ＰＤＬトランスレータ部３０６、描画バッファ３０７、描画部３０８、プリンタエンジン部３０９、情報管理部３１０、割込み処理部３１２、ジョブ読み出しテーブル３１３から構成されている。
【００４５】
Ｉ／Ｆドライバ部３０１は、論理的なデータと電気信号とに双方向に変換し、インターフェイス３１１とのやりとりを行う。論理チャネル制御部３０２は、ジョブパケットと管理パケットをそれぞれ異なるチャネルに割り振り、ＯＳＩ７階層におけるトランスポート層の多重化を行う。ジョブプリプロセッサ部３０３は、ジョブパケットを受け取って解析し、印刷ジョブのジョブ情報を機器データベース部３０５に、ＰＤＬデータをジョブスプーラ部３０４に割り分けて格納する。
【００４６】
ジョブスプーラ部３０４は、ＨＤＤやフラッシュメモリ、あるいはＤＲＡＭなどの大容量メモリデバイスから構成され、印刷ジョブのＰＤＬデータを印刷完了まで一時的に保持する。印刷ジョブの最後の１ページの排紙が完了したと検知された段階で、ジョブスプーラ部３０４に格納されている当該印刷ジョブのＰＤＬデータは削除、或いは無効にされる。
【００４７】
ジョブ読み出しテーブル３１３には、印刷ジョブの処理順番が記述されている。ＰＤＬトランスレータ部３０６は、ジョブ読み出しテーブル３１３に記述された処理順番どおりに印刷ジョブを選択し、機器データベース部３０５に格納された当該印刷ジョブのジョブ情報とジョブスプーラ部３０４に格納された当該印刷ジョブのＰＤＬデータを解析して、リアルタイムに描画処理可能な中間データを生成（これをトランスレートすると言う）し、その中間データを描画バッファ３０７に格納する。
【００４８】
描画バッファ３０７は、中間データをページ単位に印刷完了まで一時的に保持する。描画部３０８は、描画バッファ３０７から中間データを取得し、プリンタエンジン部３０９が行う用紙搬送処理に伴ってリアルタイムに中間データのレンダリングを行い、プリンタエンジン部３０９にビデオデータを送信する。プリンタエンジン部３０９は、既知の電子写真技術を用いて描画部３０８から送信されたビデオデータを基に、用紙に物理的に印刷を行う。
【００４９】
情報管理部３１０は、ホストコンピュータ２００から送信されてきた管理パケットを受け取り、要求に応じて機器データベース部３０５から情報の獲得を行い、また印刷ジョブの取り消し指定（取り消し要求）、割り込み指定（割り込み要求）、印刷停止指定（印刷停止要求）、印刷再開指定（印刷再開要求）、優先印刷指定（優先印刷要求）を処理し、またジョブの終了や機器の異常を検知して自立的にホストコンピュータ２００にその旨を通知するための管理パケットを発行する。
【００５０】
割り込み処理部３１２は、印刷ジョブの割り込みの指定が行われた時に、実際の割り込み処理を行う。停止／再開処理部３１５は、印刷ジョブの印刷停止（以下、停止と省略する）指定、印刷ジョブの印刷再開（以下、再開と省略する）指定が行われたときに、実際の停止処理、再開処理を行う。プロモート処理部３１６は、印刷ジョブの優先印刷（以下、プロモートとも言う）指定、が行われたときに、実際のプロモート処理を行なう。プロモート処理では、印刷ジョブの処理順序を優先的にあげる処理のことを言う。
【００５１】
ホストコンピュータ２００の論理チャネル制御部２０６と印刷装置の論理チャネル制御部３０２との間で行われるデータ通信は、例えば、ネットワークの場合はＴＣＰ／ＩＰ、ローカルの場合はＩＥＥＥ１２８４／ＩＥＥＥ１２８４．４などの規定のプロトコルにより、トランスポート層レベルの多重化が行われる。詳細の説明は、ここでは省略する。
【００５２】
論理的にジョブパケット生成部２０７から送信されるジョブパケットは、ジョブプリプロセッサ部３０３が受け取る。このジョブパケットが流れる論理的的な経路をジョブチャネルという。ユーティリティ部２０５と情報管理部３１０との間では、管理パケットが送受信される。この管理パケットが流れる論理的な経路を管理チャネルという。両チャネルは双方向通信が可能であると規定されているが、ジョブチャネルはホストコンピュータから＞印刷装置への片方向でも、本実施の形態では構わない。ジョブチャネルと管理チャネルはＯＳＩ７階層におけるトランスポート層レベルで多重化されており、片方のチャネルのフロー処理が他方のチャネルに影響することはない。
【００５３】
次にジョブパケット及び管理パケットの構造について説明する。ジョブパケット及び管理パケットはアプリケーション層のプロトコルで規定されており、ヘッダ部、データ部（パラメータ部ともいう）から構成されるパケット構造になっている。１つの印刷ジョブは複数のジョブパケットから構成される。印刷ジョブを構成する一連のジョブパケットの集合をジョブスクリプトと呼ぶ。
【００５４】
図４はジョブパケットの構造を示す説明図である。縦軸はバイトを示し、横軸は各バイトのビットを示している。図中において０〜１バイト目のオペレーションコードは、パケットの機能を示す長さ２バイト（１６ビット）のＩＤである。ジョブパケットにおいては以下の値を取ることができる。
【００５５】
０ｘ０２０１：ジョブ開始オペレーション０ｘ０２０２：ジョブ属性設定オペレーション０ｘ０２０４：ＰＤＬデータ送信オペレーション０ｘ０２０５：ジョブ終了オペレーション  ２〜３バイト目のブロック番号は、ジョブパケットを送信した送信側が返答を要求する（返答要求）場合に、受信側からの返答が送信側のどの返答要求に対するものであるか、その対応を取るために使用される番号である。例えば、ホストコンピュータ２００が、それぞれブロック番号＝１、２、３のジョブパケットを立て続けに送信した時に、ブロック番号＝２というエラーパケットが帰ってきたとする。この場合、ホストコンピュータは、２番目に送ったジョブパケットにエラーが発生したと特定することが可能である。
【００５６】
４〜５バイト目のパラメータ長はデータ部のバイト長さを示す領域で、０〜６４Ｋバイトまでを示すことが可能である。
【００５７】
６〜７バイト目はジョブパケットの各種フラグを示すビットが格納される領域でそれぞれ以下の値を示す。
【００５８】
エラーフラグ：この値が１の場合、印刷装置で何らかのエラーが発生したことを示す。このフラグは印刷装置３００からホストコンピュータ２００に送られる返信パケットに付加される。
【００５９】
通知フラグ：この値が１の時は、ホストコンピュータ２００から印刷装置３００への要求パケットに対する返答ではなく、印刷装置３００がなんらかの通知事項があることをホストコンピュータ２００に通知することを示している。
【００６０】
継続フラグ：この値が１の場合、データ部にすべてのデータが入らなかったため、次のジョブパケットで残りのデータが送られることを示す。次のジョブパケットは前のパケットと同じオペレーションコード、ブロック番号を設定しなくてはならない。
【００６１】
返答要求：ホストコンピュータ２００が、要求パケットに対する返答パケットを印刷装置３００に要求する場合に１をセットする。０のときは要求パケットが正常に処理された場合には、返答パケットは返答されない。印刷装置でエラーが発生した場合には返答要求の０／１に関わらす、つねにエラーフラグを１にした返答パケットが送出される。
【００６２】
８〜９バイト目のユーザＩＤおよび１０〜１１バイト目のパスワードは、パケットでできる操作にセキュリティ的制限が設けられている際に、認証に使われる領域である。
【００６３】
１２バイト目以降はオペレーションコードに対応した追加データが格納されるデータ部である。ジョブ開始オペレーションの場合、追加データとして、ジョブの実行モード（動作モード）が記述される。指定可能な動作モードコードは以下の通りである。
０ｘ０１：印刷ジョブの通常実行。当該印刷ジョブは通常印刷ジョブとして印刷装置のキューの最後に追加され、スケジューリングが回ってきたら印刷処理が行われる。
０ｘ０３：印刷ジョブのプロモート実行。当該印刷ジョブは、プロモート指定された印刷ジョブとして扱われ、当該印刷ジョブの印刷が優先して実行される。
０ｘ０４：印刷ジョブの割り込み実行。当該印刷ジョブは割り込み印刷ジョブとして扱われ、全ての印刷ジョブの処理が停止され、当該印刷ジョブの印刷が優先して実行される。
０ｘ０５：印刷ジョブの印刷停止。当該印刷ジョブは、投入と同時に停止印刷ジョブとして扱われ、当該印刷ジョブの印刷データの格納のみが行われ、実際の印刷は行われない。
【００６４】
図１３は、プリンタドライバ部２０２が、ユーザに所望の処理方法（ジョブの実行モード）を指示させるために提供するグラフィックユーザインターフェースを示す図である。図１３の画面において、ジョブの処理方法と書かれた欄に「印刷（Ｒ）」、「割り込み印刷（Ｔ）」、「停止印刷（Ｅ）」、「プロモート印刷（Ｂ）」という項目と、各項目に対するチェックボタンがある。チェックボタンは排他的に選択され、いずれかのボタンがチェックされると、他のボタンのチェックは解除される。「印刷」のチェックボタンがチェックされると実行モードは０ｘ０１となり、「割り込み印刷」のチェックボタンがチェックされると実行モードは０ｘ０４となる。
【００６５】
「停止印刷」のチェックボタンがチェックされると実行モードは０ｘ０５となる。「プロモート印刷」のチェックボタンがチェックされると実行モードは０ｘ０３となる。
【００６６】
ジョブ属性設定オペレーションの場合、追加データとして、設定を行いたいジョブ属性ＩＤとジョブ属性値がデータ部に格納される。ジョブ属性ＩＤとは、ジョブに関する属性或いは環境に対応した識別子を示すもので、ＩＳＯ−１０１７５（ＤＰＡ）で規定されるジョブの属性に相当するＩＤが予め割り振られている。以下にジョブ属性の代表的なものを挙げる。
【００６７】
ジョブ属性ＩＤ０ｘ０１０１：ジョブ名称０ｘ０１０３：ジョブオーナ名０ｘ０１６ａ：ジョブサイズ０ｘ０００２：ジョブ完了の通知アドレス  この他、印刷装置の機能に応じて、印刷部数、モノクロ・カラーなどのジョブ属性に、それぞれ対応するＩＤが割り振られる。
【００６８】
ＰＤＬデータ送信オペレーションの場合は、追加データとして、ＰＤＬデータがデータ部に入る。１つのジョブパケットのデータは前記パラメータ長に格納できる最大サイズまでで、６４ＫＢまで格納可能であり、それ以上のデータは、ＰＤＬデータ送信オペレーションを有する複数のジョブパケットに分割して送信される。この場合は前記継続フラグに１を立てる。
【００６９】
ジョブ終了オペレーションの場合は追加データは存在しない。
【００７０】
次にホストコンピュータのジョブパケット生成部２０７を説明する。図５及び図６はジョブパケット生成部２０７の動作を示すフローチャートである。アプリケーション部２０１で印刷指示が選択されると、まずプリンタドライバ部２０２が起動し、プリンタドライバ部２０２が印刷データを送信バッファ２０３に格納し終えた後に、ジョブパケット生成部２０７は、処理を開始する。
【００７１】
まず、ステップ５０１において、当該印刷ジョブが割り込み指定されたか、停止指定されたか、プロモート指定されたかどうかを判断する。割り込み指定は、ユーザがプリンタドライバ部２０２のユーザインターフェースのプロパティ画面で、割り込み印刷を指定した場合に行われる。停止指定は、ユーザがプリンタドライバ部２０２のユーザインターフェースのプロパティ画面で、印刷ジョブの停止を指定した場合に行われる。プロモート指定は、ユーザがプリンタドライバ部２０２のユーザインターフェースのプロパティ画面で、プロモート印刷を指定した場合に行なわれる。
【００７２】
割り込み指定がある場合には、ステップ５０２において動作モードが０ｘ０４に設定される。停止指定がある場合には、ステップ５０３において動作モードが０ｘ０５に設定される。プロモート指定がある場合には、ステップ５０９において動作モードが０ｘ０３に設定される。割り込み指定でも、停止指定でも、プロモート指定でもない場合には、ステップ５１０において動作モードが０ｘ０１に設定される。
【００７３】
次に、ステップ５０４において、オペレーションコードが格納されている領域にジョブ開始オペレーションコード（＝０ｘ０２０１）が格納されているジョブパケットを論理チャネル制御部２０６に発行する。この時、ジョブパケットのデータ部に動作モードを示す値が設定され、通常ジョブであるか、割り込み印刷ジョブであるか、停止印刷ジョブであるか、プロモート印刷ジョブであるかの指定がなされる。
【００７４】
以降、ジョブ終了オペレーションが発行されるまで、全てのオペレーションは当該印刷ジョブのジョブ情報の設定に用いられる。
【００７５】
ステップ５０５において、ジョブの名称の設定が行われる。オペレーションコードが格納される領域にジョブ属性設定オペレーションコード（０ｘ０２０２）を格納し、データ部に、ジョブ名称を示すジョブ属性ＩＤ（＝０ｘ０１０１）とジョブ属性値となる名称を格納して、ジョブパケットを生成し、そのジョブパケットを論理チャネル制御部２０６に発行する。
【００７６】
ステップ５０６において、ジョブの所有者の設定が行われる。図４のオペレーションコードが格納される領域にジョブ属性設定オペレーションコード（０ｘ０２０２）を格納し、データ部に、ジョブ所有者を示すジョブ属性ＩＤ（＝０ｘ０１０３）とジョブ属性値となる所有者名を格納して、ジョブパケットを生成し、そのジョブパケットを論理チャネル制御部２０６に発行する。
【００７７】
ステップ５０７において、ジョブのサイズの設定が行われる。図４のオペレーションコードが格納される領域にジョブ属性設定オペレーションコード（０ｘ０２０２）を格納し、データ部に、ジョブサイズを示すジョブ属性ＩＤ（＝０ｘ０１６ａ）とジョブ属性値となるジョブのデータサイズを格納して、ジョブパケットを生成し、そのジョブパケットを論理チャネル制御部２０６に発行する。
【００７８】
ステップ５０９では、当該印刷ジョブのジョブ完了を通知する際の通知先のアドレス（通知アドレス）の設定が行われる。ジョブ完了とは、印刷ジョブの最後の１ページの排紙が完了したことをいう。図４のオペレーションコードが格納される領域にジョブ属性設定オペレーションコード（０ｘ０２０２）を格納し、データ部に通知先アドレスを示すジョブ属性ＩＤ（＝０ｘ０００２）とジョブ属性値となるジョブ完了の通知先アドレスを格納して、ジョブパケットを生成し、そのジョブパケットを論理チャネル制御部２０６に発行する。
【００７９】
通知アドレスは、通常、印刷ジョブを送信したホストコンピュータの送信アドレスを示しており、送信元が１２８４．４を用いたローカルインターフェースであってソケットＩＤが０ｘ１０の場合は、“１２８４．４：０ｘ２０”という文字列となり、送信元がＴＣＰ／ＩＰのＩＰアドレスが１７２．１６．１．１であってポート番号が０ｘｂ９ｂ９の場合には、“ＴＣＰ／ＩＰ：１７２．１６．１．１：０ｘｂ９ｂ９”という文字列となる。
【００８０】
ステップ５０８において、変数ｓｉｚｅに送信すべきＰＤＬデータのバイトサイズを代入する。
【００８１】
ステップ６０１において、変数ｓｉｚｅの大きさをチェックし、６４Ｋより大きいかどうかを比較する。１つのジョブパケットのデータ部に格納できるデータのサイズは、パケットヘッダのパラメータ長が１６ビットで表現されているため、最大６４Ｋバイトという制限がある。そのため、それ以上のデータは複数のジョブパケットに分割して発行されることになる。
【００８２】
もしＰＤＬデータのサイズが６４Ｋよりも大きい時は、ステップ６０５において、図５のパケットヘッダの継続フラグを１に設定し、さらに、ステップ６０７において、図５のオペレーションコードが格納される領域にＰＤＬデータ送信オペレーション（０ｘ０２０４）を格納し、送信バッファ部４０３から６４Ｋバイト分のＰＤＬデータを取り出してデータ部に格納して、ジョブパケットを生成し、そのジョブパケットを論理チャネル制御部２０６に発行する。また、ステップ６０８において、送信した分の６４Ｋをｓｉｚｅから減じて、ステップ６０１の分岐に戻る。
【００８３】
ステップ６０１において、ＰＤＬデータのサイズ示す変数ｓｉｚｅが６４Ｋ以下の場合は、後１回のＰＤＬデータ送信オペレーションコードを有するジョブパケットで全ＰＤＬデータの送信が完了する。この場合、ステップ６０２において、図４のパケットヘッダの継続フラグを０にして、ＰＤＬデータの送信が最後であることを設定し、さらに、ステップ６０３において、図４のオペレーションコードが格納される領域にＰＤＬデータ送信オペレーションコード（０ｘ０２０４）を格納し、送信バッファ２０３から残り全てのＰＤＬデータを取り出してデータ部に格納して、ジョブパケットを生成し、そのジョブパケットを論理チャネル制御部２０６に発行する。
【００８４】
最後に、ステップ６０４において、図４のオペレーションコードが格納される領域にジョブ終了オペレーションコード（０ｘ０２０５）を格納して、ジョブパケットを生成し、そのジョブパケットを論理チャネル制御部２０６に発行して終了する。
【００８５】
次に、ジョブパケットを受け取るジョブプリプロセッサ部３０３の説明を行う。
【００８６】
図７はジョブプリプロセッサ部３０３の動作を示すフローチャートである。図７において、ジョブプリプロセッサ部３０３は、印刷装置３００の起動時に起動され、以後印刷装置３００の電源遮断まで処理を継続する。
【００８７】
まず最初に、ステップ７０１において、ジョブパケットの受信を行う。ジョブパケットを受信すると、ステップ７０２において、そのジョブパケットのオペレーションコードがジョブ開始オペレーションコードであるかかどうかを判定する。ここでジョブ開始オペレーション以外のオペレーションコードを有するジョブパケットが到着した場合には、不正動作となり、ステップ７０３において、そのジョブパケットの破棄が行われる。
【００８８】
ジョブ開始オペレーションコードであると判定されると、ステップ７０４において、当該印刷ジョブのジョブＩＤを獲得する。ジョブＩＤは、印刷装置３００内で発行されるものであり、２バイトの番号として割り振られ、機器データベース部３０５におけるジョブ情報の読み書き処理のキーとして利用される。
【００８９】
次に、ステップ７０５において、ジョブパケットのデータ部に格納されている動作モードコードを調べて、動作モードがなにになっているかを判定する。
【００９０】
動作モードコードが０ｘ０１の場合は、ステップ７０６において、ジョブ読み出しテーブル３１３に当該印刷ジョブのジョブＩＤを登録（追加）する。このとき、後述するジョブ読み出しテーブルの停止フラグを確認して、停止フラグがＦになっている印刷ジョブの最後尾に当該印刷ジョブを追加する。
０ｘ０４の場合は、ステップ７０７において、割り込み処理部３１２に対して当該印刷ジョブの割り込み印刷の指示を出す。このとき、ステップ７０４で獲得したジョブＩＤも、割り込み処理部３１２に送信する。
０ｘ０５の場合は、ステップ７１６において、ジョブ読み出しテーブル３１３に当該印刷ジョブのジョブＩＤを登録する。ただし、当該印刷ジョブは停止印刷ジョブであるため、ジョブＩＤをジョブ読み出しテーブル３１３の最後尾に追加し、更に、当該印刷ジョブの停止フラグをＴに設定する。
０ｘ０３の場合は、ステップ７１５において、ジョブ読み出しテーブル３１３に当該印刷ジョブのジョブＩＤを登録する。ただし、当該印刷ジョブは、プロモート印刷ジョブであるため、ジョブＩＤを、後で説明するジョブ読み出しテーブル３１３のポインタが指すジョブＩＤの次にジョブＩＤを登録する。ポインタ８０１がいずれの印刷ジョブをも指していない場合には、ジョブ読み出しテーブル３１３の先頭に割り込ませる。
【００９１】
続いて、ステップ７０８において、次に来るジョブパケットの受け付けを行う。
【００９２】
ステップ７０９において、次に受信したジョブパケットのオペレーションコードが属性設定オペレーションコードであるかを判定する。属性設定オペレーションコードである場合は、ステップ７１０において、当該印刷ジョブのジョブ情報として機器データベース部３０５に登録する。この時キーとなるのは、ステップ７０４で獲得したジョブＩＤとジョブパケットのデータ部に格納されている属性ＩＤおよび属性データ（属性値）である。
【００９３】
属性設定（ジョブ情報の登録）が完了すると、次のジョブパケットを受信するため、ステップ７０８に戻る。
【００９４】
ステップ７１１においては、受信したジョブパケットのオペレーションコードがＰＤＬデータ送信オペレーションコードであるかどうか判定する。ＰＤＬデータ送信オペレーションコードである場合には、ステップ７１２において、ジョブスプーラ部３０４にＰＤＬデータを格納する。この時、ステップ７０４で取得したジョブＩＤをキーにしてＰＤＬデータを格納し、後でＰＤＬデータを取り出すときには、ジョブＩＤをキーにして取り出せるようにしておく。一方、ジョブスプーラ部３０４では、ジョブＩＤとＰＤＬデータとを関連付けて、ＰＤＬデータを格納しておく。ジョブスプーラ部３０４への追加が完了すると次のジョブパケットを受信するため、７０８に戻る。ＰＤＬデータ送信オペレーションコードでない場合には、ステップ７１３に進む。
【００９５】
ステップ７１３において、ジョブパケットのオペレーションコードがジョブ終了オペレーションコードであるかどうかを判定する。ジョブ終了オペレーションコードである場合には、一連のループを抜けてステップ７０１の初期状態に戻る。
【００９６】
ジョブパケットのオペレーションコードがいずれのオペレーションコードにも該当しない場合には、不正なジョブパケットであると判断して、ステップ７１４においてジョブパケットを破棄する。
【００９７】
以上の動作によって、ジョブプリプロセッサ部３０３は、ジョブパケットのジョブ情報を機器データベース部３０５に、ジョブパケットのＰＤＬデータをジョブスプーラ部３０４に振り分ける。
【００９８】
次に、情報管理部３１０が行なうジョブ完了通知について説明する。図１５は、情報管理部３１０が行うジョブ完了処理の動作を示すフローチャートである。まず、ステップ１５０１において、最後のページの排紙が完了した印刷ジョブについて、機器データベース部３０５の当該印刷ジョブのジョブ属性を調べて、ジョブ完了の通知アドレスが設定されているか否かを判定する。
【００９９】
通常、ジョブパケット生成部２０７は、図５のステップ５０９において、通知アドレスを有するジョブパケットを生成しているため、ステップ１５０１ではｙｅｓになる。
【０１００】
すると、ステップ１５０２において、完了通知イベントが通知アドレスに送信される。完了通知イベントは、ジョブパケットと同様に、図４のようなパケット構造をしている。ただし、完了通知イベントのオペレーションコードは０ｘ０００ａであり、通知フラグのビットと返答送信のビットが１になる。データ部には、ジョブ完了を示すイベントＩＤ（＝０ｘ０００８）と、印刷装置３００に複数の排紙ビンがある場合には排紙がなされた排紙ビンのビン番号が格納される。
【０１０１】
ユーティリティ部２０５は、完了通知イベントを受信すると、ポップアップダイアログを表示して、グラフィックユーザインターフェースを用いてユーザに印刷ジョブの印刷処理が完了したことを報せる。図１６は、このポップアップダイアログの一例である。
【０１０２】
ユーティリティ部２０５の説明を行う。ユーティリティ部２０５は、ユーザが、印刷ジョブのリストや属性の表示、印刷ジョブの取り消し、印刷ジョブの割り込み指定、印刷ジョブの停止指定或いは再開指定、印刷ジョブのプロモート指定等の操作を行うのに使用される。
【０１０３】
ユーティリティ部２０５で行われた操作は、管理チャネルを介して、管理パケットがホストコンピュータ２００と印刷装置３００との間で送受信されることにより実現される。管理パケットは、ジョブパケットと同様、図４に示すようなデータ構造を持つ。０〜１１バイト目のパケットヘッダの各情報の内容もジョブパケットと同様である。ただし、オペレーションコードのみが以下のように異なる。
【０１０４】
０ｘ０１０ｂ：印刷ジョブのキャンセル指定０ｘ０１２３：印刷ジョブの割り込み指定０ｘ０１０ｄ：印刷ジョブのリスト獲得０ｘ０１２０：印刷ジョブの停止指定０ｘ０１２１：印刷ジョブの再開指定０ｘ００２２：印刷ジョブのプロモート指定０ｘ０１０５：属性の設定０ｘ０１０６：属性の獲得０ｘ０１１０：印刷装置の停止指定０ｘ０１１１：印刷装置の復帰指定０ｘ０１１ａ：印刷装置のリセット指定  管理パケットは、ジョブパケットと異なり、は個々のパケットが固有の目的に使用される。
【０１０５】
印刷ジョブが、ジョブパケットという形で印刷装置３００に送信されると、印刷装置３００では、ジョブプリプロセッサ部３０３の働きにより、機器データベース部３０５に、ジョブＩＤとジョブ情報が格納される。
【０１０６】
ユーティリティ部２０５が印刷装置３００にどの印刷ジョブが投入されているかを知りたい時は、印刷ジョブのリスト獲得のオペレーションコード（０ｘ０１０ｄ）を有した管理パケットを管理チャネルに送信する。データ部には、獲得したいオブジェクトである印刷ジョブクラスを示すオブジェクトＩＤ＝０ｘ０１０２を格納する。そして、この管理パケットが，論理チャネル制御部２０６、Ｉ／Ｆドライバ部２０４、インターフェイス２１０、インターフェイス３１１、Ｉ／Ｆドライバ部３０１、論理チャネル制御部３０２を介して、情報管理部３１０に送られる。
【０１０７】
情報管理部３１０は、受け取った管理パケットのオペレーションコードから印刷ジョブのリスト獲得だと認識し、機器データベース部３０５に蓄えられた印刷ジョブのリスト情報を獲得して、そのリスト情報が格納された返信パケットを返信する。返信パケットのデータ部には、印刷装置３００で認識されている印刷ジョブの個数、および、各印刷ジョブのジョブＩＤのリストが格納されている。
【０１０８】
各印刷ジョブが、ジョブ属性設定オペレーションによりジョブ名称、オーナ、サイズの情報を持っている場合、ユーティリティ部２０５は印刷ジョブに関する詳細な情報を獲得可能である。そのために、ユーティリティ部２０５は、印刷ジョブのリストを獲得した後、属性の獲得のオペレーションコード（＝０ｘ０１０６）を有した管理パケットを印刷装置３００に送信する。管理パケットのデータ部には、獲得したい印刷ジョブのジョブＩＤ、獲得したい属性の属性ＩＤを指定する。例えば、ジョブＩＤが１の印刷ジョブのジョブ名称を獲得したい場合には、ジョブＩＤに１、属性ＩＤに０ｘ０１０１を指定する。
【０１０９】
情報管理部３１０は、受け取った管理パケットのオペレーションコードから属性の獲得だと認識し、機器データベース部３０５から、指定されたジョブＩＤの、指定された属性ＩＤの属性値を獲得し、その値が格納された返信パケットを返信する。
【０１１０】
図１４は、ユーティリティ部２０５のジョブリスト表示のユーザインターフェースを示す図である。図１４では、装置名「ＬＳＨＯＴ  Ｐ−８４０」の印刷装置におけるジョブリストが表示されている。ここでは、印刷装置内に印刷ジョブが１つだけ存在している。
【０１１１】
ユーティリティ部２０５が、印刷ジョブのリスト獲得のオペレーションコードを有する管理パケットを発行して、印刷ジョブのリストを獲得し、更に、その印刷ジョブのリストの中の個々の印刷ジョブの属性を獲得するオペレーションコードを有する管理パケットを発行して、各印刷ジョブの属性を獲得し、これらの情報をもとに表示が行われる。
【０１１２】
図１４では、ジョブ名称が「ｈｔｔｐ：／／ｗｗｗ．．．」の印刷ジョブが１つあり、この印刷ジョブは現在印刷中で、オーナ名が「ｔｏｉｔｏｉ」で、サイズが１６Ｋバイトであることが示されている。
【０１１３】
ユーザは、図１４のユーザインターフェースにおいて、追加操作することができる。ユーザは、マウスを用いて、画面に表示されている所望の印刷ジョブの欄にカーソルを移動して、マウスの右ボタンを押下する。すると、追加メニューとして、「印刷ジョブのキャンセル」、「印刷ジョブの割り込み印刷」、「印刷ジョブの印刷停止」、「印刷ジョブの再開印刷」、「印刷ジョブの優先印刷」との選択画面が表示され、いずれを選択することができる。
【０１１４】
ユーザが「印刷ジョブのキャンセル」を選択した場合、印刷ジョブのキャンセル指定のオペレーションコードを有し、データ部に当該印刷ジョブのジョブＩＤが格納された管理パケットが生成され、印刷装置３００に向けて送信される。
【０１１５】
ユーザが「印刷ジョブの割り込み印刷」を選択した場合、印刷ジョブの割り込み指定のオペレーションコード（＝０ｘ０１２３）が格納された管理パケットが印刷装置３００に送信される。この管理パケットのデータ部には、割り込み指定された印刷ジョブのジョブＩＤが格納される。
【０１１６】
ユーザが、「印刷ジョブの印刷停止」を選択した場合、印刷ジョブの停止指定のオペレーションコード（＝０ｘ０１２０）が格納された管理パケットが印刷装置３００に送信される。この管理パケットのデータ部には、停止指示された印刷ジョブのジョブＩＤが格納される。
【０１１７】
ユーザが、「印刷ジョブの印刷再開」を選択した場合、印刷ジョブの再開指定のオペレーションコード（＝０ｘ０１２１）が格納された管理パケットが印刷装置３００に送信される。この管理パケットのデータ部には、再開指示された印刷ジョブのジョブＩＤが格納される。
【０１１８】
ユーザが、「印刷ジョブの優先印刷」を選択した場合、印刷ジョブのプロモート指定のオペレーションコード（＝０ｘ００２２）が格納された管理パケットが印刷装置３００に送信される。この管理パケットのデータ部には、優先印刷指示された印刷ジョブのジョブＩＤが格納されている。
【０１１９】
最後に、ジョブ読み出しテーブル３１３について説明する。図８は、ジョブ読み出しテーブルを表す説明図である。ＰＤＬトランスレータ部３０６は、このジョブ読み出しテーブル３１３に記述された処理順番どおりに印刷ジョブを選択して、選択した印刷ジョブのＰＤＬデータをトランスレート処理していく。
【０１２０】
８−１のジョブ読み出しテーブルには、ジョブＩＤが１〜４の印刷ジョブが登録されている。従って、ＰＤＬトランスレータ部３０６はトランスレートを実行する時、読み出しテーブルの上から順番に、ジョブＩＤが１の印刷ジョブ、ジョブＩＤが２の印刷ジョブ、ジョブＩＤが３の印刷ジョブ、ジョブＩＤが４の印刷ジョブという順に印刷ジョブを選択して、これらの印刷ジョブのＰＤＬデータをトランスレートする。
【０１２１】
ジョブプリプロセッサ部３０３が、ジョブ読み出しテーブル３１３にジョブＩＤが５の印刷ジョブを追加した場合、８−２のジョブ読み出しテーブルのように、ジョブＩＤが５の印刷ジョブはジョブ読み出しテーブルの最後に追加される。
【０１２２】
プリンタエンジン部がジョブＩＤが１の印刷ジョブの最後のページの排紙を完了すると、８−３のジョブ読み出しテーブルのように、ジョブＩＤが１の印刷ジョブはジョブ読み出しテーブルから削除される。
【０１２３】
以上のようにジョブ読み出しテーブル３１３はＰＤＬトランスレータ部が処理する印刷ジョブの処理順番を示し、印刷ジョブの処理順序を制御するのに用いられる。
【０１２４】
なお、ＰＤＬトランスレータ部３０６がどの印刷ジョブのＰＤＬデータを読み出して処理しているかを示すのが、ポインタ８０１である。ＰＤＬトランスレータ部３０６がある印刷ジョブのＰＤＬデータをすべてトランスレート処理し終わると、ポインタ８０１はその印刷ジョブの次の印刷ジョブを指すようになる。図８では、ジョブＩＤが２の印刷ジョブのＰＤＬデータが、ＰＤＬトランスレータ部３０６により読み出されている。ＰＤＬトランスレータ部３０６がジョブＩＤが２の印刷ジョブのＰＤＬデータをすべてトランスレート処理素すると、次は、ポインタ８０１はジョブＩＤが３の印刷ジョブを指す。
【０１２５】
停止フラグは、その印刷ジョブに対して停止指定がされているか否かを示すフラグである。この停止フラグがＴｒｕｅ（Ｔ）になっている場合には、その印刷ジョブは停止されており、Ｆａｌｓｅ（Ｆ）になっている場合には、その印刷ジョブは停止されていない。なお、図８のジョブ読み出しテーブルでは、ジョブＩＤが１〜５の印刷ジョブは全て停止指示されておらず、停止印刷ジョブは存在しない。
【０１２６】
以下、割り込み処理、停止／再開処理、プロモート処理について説明する。
【０１２７】
＜割り込み処理＞
まず、割り込み処理について説明する。
【０１２８】
ジョブプリプロセッサ部３０３が、図７のステップ７０５において、印刷ジョブの割り込み指定を認識すると、ステップ７１５において、割り込み処理部に対して割り込み指示を行う。この時、割り込みが行われる印刷ジョブのジョブＩＤも通知される。
【０１２９】
図９は割り込み処理部３１２の動作を示すフローチャートである。割り込み処理部３１２は、まず、ステップ９０９において、割り込み指示がされたかどうかを判定する。割り込み指示がされると、ステップ９０１において、ＰＤＬトランスレータ部３０６に対して、現在処理している印刷ジョブの処理中止を指示する。指示されたＰＤＬトランスレータ部３０６は、現在行っているトランスレート処理を直ちに中断する。
【０１３０】
次にステップ９０２において、描画バッファ３０７に中間データがある場合にはそれらの中間データの削除を行う。なお、中間データの削除は、実際にデータを消すことだけを指すのではなく、その中間データを無効にすることも含む。さらにステップ９０４において、プリンタエンジン部３０９に処理の中止を指示する。ただし、プリンタエンジン部３０９が、現在まさに印刷中であったり、排紙中であったりする場合に、処理を中止するとジャムが発生する可能性がある。そのため、印刷中や排紙中の場合は、それらの処理の中止は行われない。
【０１３１】
そして、ステップ９１１において、割り込まれた印刷ジョブのすでに排紙が完了したページ数をプリンタエンジン部３０９から取得し、当該印刷ジョブのジョブ情報として機器データベース部３０５に記憶しておく。なお、このステップは、プリンタエンジン部３０９自身が行ってもよく、この場合、プリンタエンジン部３０９が、割り込み処理部３１２から処理中止の指示を受けたときに、割込まれた印刷ジョブについてすでに排紙が完了したページ数を情報管理部３１０に送信し、情報管理部３１０がその情報を当該印刷ジョブのジョブ情報として機器データベース部３０５に記憶しておく。
【０１３２】
ステップ９０５において、割り込み指示された印刷ジョブのジョブＩＤをジョブ読み出しテーブル３１３の先頭に追加する。このとき、ポインタ８０１はこの印刷ジョブのジョブＩＤを指すようにポイント移動する。このジョブＩＤは、ジョブプリプロセッサ部３０３から割り込み指示とともに通知されてきたものである。これによって、ジョブ読み出しテーブル３１３において、次に処置される印刷ジョブが割り込み指示された印刷ジョブとなる。
【０１３３】
さらにステップ９０６において、ＰＤＬトランスレータ部３０６に処理再開の指示を出す。すると、ＰＤＬトランスレータ部３０６は読み出しテーブル３１３のポインタ８１０を見て、読み出しテーブル３１３のポインタ８１０が指す印刷ジョブ（この場合、割り込み指示された印刷ジョブ）のＰＤＬデータをジョブスプーラ部３０４から取り出してトランスレート処理を行う。また、ステップ９０７においては、描画部３０８に処理再開の指示を出し、最後にステップ９０８においてプリンタエンジン部に処理再開の指示を出す。
【０１３４】
図１０は割り込み処理がされた場合のジョブ読み出しテーブル３１３の状態を示す説明図である。この図では、停止フラグは省略されている。１０−１のジョブ読み出しテーブルにおいて、ジョブＩＤが１〜４の通常印刷ジョブが投入されている状態で、ジョブＩＤが５の割り込み印刷ジョブが投入されてきたときを説明する。ジョブＩＤが５の割り込み印刷ジョブが投入されると、割り込み処理部３１２が、図９のステップ９０５において、ジョブＩＤが５の印刷ジョブがジョブ読み出しテーブルの先頭に追加し、１０−２のジョブ読み出しテーブルになる。
【０１３５】
そして、処理再開の指示をされたＰＤＬトランスレータ部３０６は、ジョブ読み出しテーブル３１３に記述された順番に印刷ジョブのトランスレートを行うため、以後、ジョブＩＤが５の印刷ジョブ、ジョブＩＤが１の印刷ジョブ、ジョブＩＤが２の印刷ジョブ、ジョブＩＤが３の印刷ジョブ、ジョブＩＤが４の印刷ジョブといった順に印刷ジョブがトランスレート処理される。
【０１３６】
なお、ジョブ読み出しテーブルが１０−１の状態で、ジョブＩＤが１の印刷ジョブが排紙途中に割り込まれた場合、図９のステップ９１１で、ジョブＩＤが１の印刷ジョブにおいて排紙が完了したページ数が当該印刷ジョブのジョブ情報として機器データベース部３０５に記憶される。そして、ジョブＩＤが１の印刷ジョブが再びジョブ読み出しテーブルの先頭に来て、当該印刷ジョブのＰＤＬデータがＰＤＬトランスレータ部３０６によりトランスレート処理されはじめるが、描画部３０８は、印刷ジョブの排紙が完了したページ数の情報に基づいて排紙完了したページの描画処理をスキップする。これによって、割り込まれた印刷ジョブの復帰を行う際に、割り込まれる前の印刷ページと割り込まれた後の印刷ページの重複を避けることができ、同じページが２度印刷されるのを防ぐことができる。
【０１３７】
前述では、ジョブ開始オペレーションコードを有するジョブパケットのデータ部に格納された動作モードを見て割り込み処理を行うかどうかの判断をしていたが、通常ジョブとして投入されたジョブに関して後で割り込み指定を行うことも可能である。
【０１３８】
前に説明したように、図１４の画面において、ユーザが「印刷ジョブの割り込み印刷」を選択した場合、印刷ジョブの割り込み指定のオペレーションコード（＝０ｘ０１２３）が格納された管理パケットが印刷装置３００に送信される。この管理パケットのデータ部には、割り込み指定された印刷ジョブのジョブＩＤが格納される。
【０１３９】
情報管理部３１０は、受け取った管理パケットのオペレーションコードから、印刷ジョブの割り込み指定だと認識し、割り込み処理部３１２に割り込みの指示を行う。この場合、ジョブプリプロセッサ部３０３からの割り込み指示と異なり、割り込みジョブは新規追加ではなく、すでにある印刷ジョブが割り込みジョブに変化するのである。そのため、割り込み処理部３１２の処理が若干異なる。
【０１４０】
図１１は、割り込み処理部３１２の動作を説明するフローチャートである。図９のフローチャートとほぼ同等ではあるが、ステップ１１０５では、ジョブ読み出しテーブル３１３において、割り込み指定されたジョブのジョブＩＤを元の位置から先頭へ移動する点で異なる。なお、このステップでは、ポインタ８０１は、割込み指定された印刷ジョブのジョブＩＤを指すようにポイント移動する。
【０１４１】
図１２は、割り込み処理がされた場合のジョブ読み出しテーブル３１３の状態を表す説明図である。１２−１のジョブ読み出しテーブルにおいて、ジョブＩＤが１〜４の通常印刷ジョブが投入されている状態で、ジョブＩＤが４の印刷ジョブがユーティリティ部２０５から割り込み指定されたときを説明する。ジョブＩＤが４の印刷ジョブが割込み指定されると、割り込み処理部３１２が、図１１のステップ１１０５において、ジョブＩＤが４の印刷ジョブをジョブ読み出しテーブルの先頭に移動し、１２−２のジョブ読み出しテーブルになる。
【０１４２】
そして、処理再開の指示をされたＰＤＬトランスレータ部３０６は、ジョブ読み出しテーブルに記述された順番に印刷ジョブのトランスレートを行うため、以後、ジョブＩＤが４の印刷ジョブ、ジョブＩＤが１の印刷ジョブ、ジョブＩＤが２の印刷ジョブ、ジョブＩＤが３の印刷ジョブといった順に印刷ジョブがトランスレート処理される。
【０１４３】
なお、ジョブＩＤが１の印刷ジョブが排紙途中で割り込まれた場合、図１１のステップ１１１１で、ジョブＩＤが１の印刷ジョブにおいて排紙が完了したページ数が当該印刷ジョブのジョブ情報として機器データベース部３０５に記憶される。そして、ジョブＩＤが１の印刷ジョブが再びジョブ読み出しテーブルの先頭に来て、当該印刷ジョブのＰＤＬデータがＰＤＬトランスレータ部３０６によりトランスレート処理され始めるが、描画部３０８は、印刷ジョブの排紙が完了したページ数のジョブ情報に基づいて排紙完了したページの描画処理をスキップする。これによって、割り込まれた印刷ジョブの復帰を行う際に、割り込まれる前の印刷ページと割り込まれた後の印刷ページの重複を避けることができ、同じページが２度印刷されるのを防ぐことができる。
【０１４４】
なお、割り込み指定がされた印刷ジョブの印刷物（印刷された用紙）は、割り込まれた印刷ジョブの印刷物の途中ページの後に出力されるため、その後割り込まれた印刷ジョブの印刷物の残りのページが出力されると、割り込まれた印刷ジョブの印刷物の中に、割り込んだ印刷ジョブの印刷物が混じってしまう可能性がある。これを混載問題という。
【０１４５】
従って、印刷装置によっては排紙ビンを複数もつものがあるので、割り込み印刷ジョブの印刷物と割り込まれた印刷ジョブの印刷物で、排紙口を自動的に変更することによって、混載問題を回避することが可能である。
【０１４６】
割り込み印刷は、割込まれる印刷ジョブに影響を与え、その割込まれた印刷ジョブの所有者に迷惑をかける。そのため、割り込み印刷を行えるユーザを制限したいという要望がある。ここでは、割り込み印刷の制限を実現する方法について説明する。
【０１４７】
まず、印刷装置３００の操作パネル３１４で割り込み印刷の制限を設定する方法を説明する。図１７は、操作パネル３１４の液晶表示（ＬＣＤ）を示す図である。印刷装置３００では、印刷ジョブの印刷処理が行われていないときに、ユーザが操作パネル３１４を操作することにより、各種環境変数の書き換えが可能である。ユーザは操作パネル３１４を操作して、図１７のように「ワリコミインサツショリ」のメニューを表示させる。そして、操作パネル３１４にある左右キーを押すことで、「ツカウ」、「ツカワナイ」を表示させることができ、表示されている方が設定値として環境変数に書き込まれる。設定値が「ツカウ」となっている場合には、割り込み印刷が行われるが、設定値が「ツカワナイ」となっている場合には、割り込み印刷が無効になる。図１８は、割り込み印刷の制限が考慮された場合の、ジョブプリプロセッサ部３０３の動作を示すフローチャートである。図７のフローチャートと異なる点は、ステップ１８１７において、環境変数「ワリコミインサツショリ」の設定値が「ツカウ」になっているか否かを判定している点である。ステップ１８１７において「ツカウ」になっている場合には、ステップ１８０７において、割り込み処理部３１２に割り込み指示を出す。しかし、ステップ１８１７において、設定値が「ツカワナイ」になっている場合には、割り込み印刷の指示を出さずに、ステップ１８０６に進む。
【０１４８】
このように、操作パネルで環境変数に設定値を設定することで、印刷装置が割込み印刷の処理を行えるようにするか否かを制限することできる。
【０１４９】
次に、ある特定のユーザ、例えば、管理者のみが割り込み印刷を行えるようにする場合の方法について説明する。まず、印刷装置３００の属性として、管理者ユーザＩＤと管理者パスワードという属性を設け、それらの属性値を機器データベース部３０５に記憶しておく。これは、それぞれ２バイトで表現可能な任意の数字とする。この属性値は、印刷装置３００の設置時に、ユーティリティ部２０５或いは操作パネル３１４から設定される。
【０１５０】
そして、印刷ジョブが印刷装置３００に投入されたときに、ジョブ開始のオペレーションコードを有するジョブパケットのユーザＩＤ及びパスワード（図４の８〜１１バイト目）が、それぞれ管理者ユーザＩＤ及び管理者パスワードと一致した場合のみ、当該印刷ジョブの割り込み指定が有効と判断され、ジョブプリプロセッサ部３０３が割り込み処理部３１２に割り込み指示を出せるようにする。
【０１５１】
なお、管理者がプリンタドライバ部２０２で割り込み印刷を指定する場合には、ポップアップダイアログが表示され、ユーザＩＤとパスワードの入力を求められる。そして、この入力値は、ジョブパケット生成部２０７がジョブ開始のオペレーションコードを有するジョブパケットを生成する際に用いられ、そのジョブパケットのユーザＩＤ及びパスワードが格納される領域に格納される。
【０１５２】
これにより、特定のユーザのみが割込み印刷を行えるように制限することができる。
【０１５３】
土に、管理者以外でも、複数の特定ユーザが割り込み印刷を行えるようにする場合の方法について説明する。まず、印刷装置３００の属性として、割り込み印刷を行うことを許可されたユーザのユーザＩＤとパスワードのリストの属性を設け、その属性値を機器データベース部３０５に記憶しておく。なお、この属性の属性値の変更、例えば、リストへのユーザＩＤとパスワードの追加、は、管理者がユーティリティ部２０５或いは操作パネル３１４から設定することにより行われる。
【０１５４】
そして、ユーザがプリンタドライバ部２０２で割り込み印刷を指定する場合には、ポップアップダイアログが表示され、ユーザＩＤとパスワードの入力を求められる。そして、この入力値は、ジョブパケット生成部２０７がジョブ開始のオペレーションコードを有するジョブパケットを生成する際に用いられ、そのジョブパケットのユーザＩＤ及びパスワードが格納される領域に格納される。
【０１５５】
この印刷ジョブが印刷装置３００に投入されたときに、ジョブ開始のオペレーションコードを有するジョブパケットのユーザＩＤ及びパスワード（図４の８〜１１バイト目）が、リストにあるユーザＩＤ及びパスワードと一致した場合のみ、当該印刷ジョブの割り込み指定が有効と判断され、ジョブプリプロセッサ部３０３が割り込み処理部３１２に割り込み指示を出せるようにする。
【０１５６】
これにより、割り込み印刷を行うことを許可されたユーザのみが、割り込み印刷を行えるように制限することができる。
【０１５７】
＜停止／再開処理＞
次に、停止／再開処理について説明する。
【０１５８】
図１９は、停止／再開処理を説明するためのジョブ読み出しテーブルを表す説明図である。１９−１の読み出しテーブルには、ジョブＩＤが１〜４の印刷ジョブが登録されている。
【０１５９】
停止フラグは、その印刷ジョブに対して停止指示がされているか否かを示すフラグである。この停止フラグがＴｒｕｅ（Ｔ）になっている場合には、その印刷ジョブは停止されており、Ｆａｌｓｅ（Ｆ）になっている場合には、その印刷ジョブは停止されていない。なお、１９−１のジョブ読み出しテーブルでは、ジョブＩＤが１〜３の印刷ジョブは停止指示されておらず、ジョブＩＤが４の印刷ジョブは、停止印刷ジョブである。
【０１６０】
従って、ＰＤＬトランスレータ部３０６はトランスレートを実行する時、読み出しテーブルの上から順番に印刷ジョブを選択して、これらの印刷ジョブのＰＤＬデータをトランスレートする。ただし、停止フラグがＴになっている印刷ジョブのＰＤＬデータは選択してトランスレートするということを行わない。
【０１６１】
ジョブプリプロセッサ部３０３が、ステップ７０６において、ジョブ読み出しテーブル３１３にジョブＩＤが５の印刷ジョブを追加する場合、１９−２のジョブ読み出しテーブルのように、停止フラグがＦになっている印刷ジョブの最後尾に、ジョブＩＤが５の印刷ジョブを追加する。すなわち、ジョブＩＤが３の印刷ジョブとジョブＩＤが４の印刷ジョブの間にジョブＩＤが５の印刷ジョブが追加される。ジョブＩＤが５の印刷ジョブは、停止指定されていないので、停止フラグはＦになる。
【０１６２】
プリンタエンジン部がジョブＩＤが１の印刷ジョブの最後のページの排紙を完了すると、１９−３のジョブ読み出しテーブルのように、ジョブＩＤが１の印刷ジョブはジョブ読み出しテーブルから削除される。
【０１６３】
ジョブプリプロセッサ部３０３が、印刷ジョブの動作モードが印刷停止であると認識すると、図７のステップ７１６において、ジョブ読み出しテーブル３１３に当該印刷ジョブのジョブＩＤを登録する。ただし、当該印刷ジョブは停止印刷ジョブであるため、ジョブＩＤをジョブ読み出しテーブル３１３の最後尾に追加し、更に、当該印刷ジョブの停止フラグをＴに設定する。
【０１６４】
図２１は、停止処理がされた場合のジョブ読み出しテーブル３１３の状態を示す説明図である。２１−１のジョブ読み出しテーブルにおいて、ジョブＩＤが１〜４の印刷ジョブが投入されている状態で、ジョブＩＤが５の停止印刷ジョブが投入されてきたときを説明する。
【０１６５】
ジョブＩＤが５の停止印刷ジョブが投入されると、ジョブプリプロセッサ部３０３が、当該印刷ジョブをジョブ読み出しテーブル３１３の停止フラグがＦになっている印刷ジョブの最後尾に追加し、更に、当該印刷ジョブの停止フラグをＴにする。それが、２１−２のジョブ読み出しテーブルである。
【０１６６】
ＰＤＬトランスレータ部３０６は、ジョブ読み出しテーブルに記述された処理順番に従って、ジョブＩＤが１の印刷ジョブ、ジョブＩＤが２の印刷ジョブ、ジョブＩＤが３の印刷ジョブ、ジョブＩＤが４の印刷ジョブのＰＤＬデータを順にトランスレート処理すると、停止フラグがＴになっているジョブＩＤが５の印刷ジョブのみが残ったままになる。この停止指示されているジョブＩＤが５の印刷ジョブは、再開指示が出され、停止フラグがＦになったのちに、ＰＤＬトランスレータ部３０６によりＰＤＬデータがトランスレート処理される。
【０１６７】
いままでは、停止印刷ジョブを投入するときの処理について説明してきたが、この停止印刷ジョブの印刷再開の指示を後で行うことが可能である。
【０１６８】
それでは、ユーザがユーティリティ部２０５から再開指定を行う方法について説明する。図１４のユーザインタフェースにおいて、ユーザが「印刷ジョブの印刷再開」を選択すると、再開指定のオペレーションコードを有する管理パケットが印刷装置３００に送信される。なお、この管理パケットのデータ部には、再開指示された印刷ジョブのジョブＩＤが格納されている。
【０１６９】
情報管理部３１０は、受け取った管理パケットのオペレーションコードから、印刷ジョブの再開指定だと認識し、停止／再開処理部３１５に再開指示を行う。このとき、再開指示された印刷ジョブのジョブＩＤも停止／再開処理部３１５に送信される。すると、停止／再開処理部３１５は、図２０のステップ２００５〜２００８のフローチャートに従って、再開処理を行う。
【０１７０】
また、ジョブ開始オペレーションコードを有するジョブパケットのデータ部に格納された動作モードに従って停止処理を行うかどうかを判定していたが、通常印刷ジョブとして投入された印刷ジョブに対して後で停止指定を行うことも可能である。
【０１７１】
ユーザがユーティリティ部２０５から停止指定を行う方法について説明する。図１４のユーザインターフェースにおいて、ユーザが「印刷ジョブの印刷停止」を選択すると、停止指示のオペレーションコードを有する管理パケットが印刷装置３００に送信される。なお、この管理パケットのデータ部には、停止指示された印刷ジョブのジョブＩＤが格納されている。
【０１７２】
情報管理部３１０は、受け取った管理パケットのオペレーションコードから、印刷ジョブの印刷停止指定だと認識し、停止／再開処理部３１５に停止指示を行う。このとき、停止指示された印刷ジョブのジョブＩＤも停止／再開処理部３１５に送信される。すると、停止／再開処理部３１５は、図２０のステップ２００１〜２００５のフローチャートに従って、再開処理を行う。
【０１７３】
図２１は、情報管理部３１０から停止／再開処理部３１５に、停止指示或いは再開指示が送られたときの停止／再開処理部３１５の動作を説明するフローチャートである。まず、停止／再開処理部３１５は、ステップ２００１において、停止指示が送られてきたのかどうかを判定する。停止指示がない場合には、ステップ２００５に進む。
【０１７４】
停止指示が送られていると、ステップ２００２において、停止指示された印刷ジョブのＰＤＬデータの読み出しがすでに行われているかどうかの判定を行う。情報管理部３１０から送られてきた停止指示された印刷ジョブのジョブＩＤから、当該印刷ジョブのＰＤＬデータが既にＰＤＬトランスレータ部３０６により読み出されている場合には、停止処理を行なわないようにステップ２００１に戻る。これは、ジョブ読み出しテーブル３１３のポインタ８０１がどの印刷ジョブを指しているかで判断できる。ジョブ読み出しテーブルにおいて、ポインタ８０１が指している印刷ジョブから上にある印刷ジョブは、既に読み出しが行なわれている。
【０１７５】
読み出しが行われていなければ、ステップ２００３において、停止指示された印刷ジョブのジョブＩＤをジョブ読み出しテーブル３１３の最後尾に移動する。更に、ステップ２００４において、当該印刷ジョブの停止フラグをＴに設定する。これによって、当該印刷ジョブは停止印刷ジョブになり、当該印刷ジョブの再開指示が出されるまで、印刷処理されない。
【０１７６】
つづいて、ステップ２００５において、再開指示が送られてきたかどうかを判定する。再開指示がない場合には、ステップ２００１に戻る。
【０１７７】
再開指示が送られてきていれば、次は、ステップ２００６において、再開指示された印刷ジョブが実際に停止されているかを調べる。これは、読み出しテーブルの停止フラグがＴになっているか、Ｆになっているかで判断できる。停止されていなければ、ステップ２００１に戻る。
【０１７８】
再開指示された印刷ジョブが停止されていれば、ステップ２００７において、再開指示された印刷ジョブの停止フラグをＦに設定し、ステップ２００８において、この印刷ジョブのジョブＩＤを停止フラグがＦになっている印刷ジョブの最後尾に移動する。
【０１７９】
図２２は、停止処理された場合のジョブ読み出しテーブル３１３の状態を表す説明図である。２２−１のジョブ読み出しテーブルにおいて、ジョブ１〜４の通常印刷ジョブが投入されている状態で、ジョブＩＤが３の印刷ジョブがユーティリティ部２０５から停止指定されたときを説明する。ジョブＩＤが３の印刷ジョブが停止指定されると、停止／再開処理部３１５が、図２１のステップ２００２において、ジョブＩＤが３の印刷ジョブをジョブ読み出しテーブルの最後尾に移動し（２２−２のジョブ読み出しテーブル）、ステップ２００３において、当該印刷ジョブの停止フラグをＴに設定する。すると、２２−３のジョブ読み出しテーブルになる。
【０１８０】
ＰＤＬトランスレータ部３０６は、ジョブ読み出しテーブルに記述された順番に印刷ジョブのＰＤＬデータのトランスレート処理を行なうことにより、ジョブＩＤが１、２、４の印刷ジョブが順に処理され、停止印刷ジョブとなったジョブＩＤが３の印刷ジョブのみが残ったままになる。なお、この停止印刷ジョブは、再開指示により、停止フラグがＦに設定されたのちに、ＰＤＬトランスレータ部３０６によりＰＤＬデータがトランスレート処理される。
【０１８１】
なお、前述の停止処理では、停止印刷ジョブはジョブ読み出しテーブル３１３の最後尾に追加されたが、読み出しテーブルでの位置は移動せず、停止フラグをＴに設定するだけの方法もある。ＰＤＬトランスレータ部３０６は、停止フラグがＴになっている印刷ジョブは読み飛ばし（選択を飛ばし）、停止フラグがＦになっている印刷ジョブのＰＤＬデータをトランスレート処理していくので、この場合も、停止フラグがＴになっている停止印刷ジョブのみが残ったままになる。ただし、印刷ジョブの選択され方が前述と異なる。
【０１８２】
すなわち、図２３の２３−１のジョブ読み出しテーブルにおいて、ジョブＩＤがジョブＩＤが３の印刷ジョブが停止指定された場合、印刷ジョブの順序は変えずに、停止フラグだけをＴに設定すると、２３−１のジョブ読み出しテーブルになる。そして、ジョブＩＤが１の印刷ジョブのトランスレート処理が完了すると、２３−２のジョブ読み出しテーブルになる。
【０１８３】
更に、ここで、ジョブＩＤが３の印刷ジョブに対して再開指定がされると、ジョブの順序は変えずに、停止フラグのみをＦに設定し直すので、２３−３のジョブ読み出しテーブルになる。
【０１８４】
こうすると、前述の停止処理では、停止指示された印刷ジョブは最後尾に追加されるが、この場合の停止処理では、停止指示された印刷ジョブが即座に再開指示されると、停止指示されたときの順番に近い順番で印刷が行なわれる。
【０１８５】
以上の停止処理において、印刷装置３００内に停止印刷ジョブが存在しても、印刷装置３００の外見からは確認し難い。そのため、停止印刷ジョブが存在する状態で印刷装置３００の電源が切断される恐れがある。すると、ジョブスプーラ部３０４にＰＤＬデータが残ったままになってジョブスプーラ部３０４の記憶容量が圧迫され、当該印刷ジョブを投入したユーザは、印刷が行なわれないために再度印刷指示を出すなどが生ずる恐れがある。そのため、印刷装置３００の電源切断時に次のような処理を行なう。
【０１８６】
図２４は、電源切断時の処理を示すフローチャートである。また、図２５及び図２６は、操作パネル３１４の表示例を示す図である。図２６の電源スイッチが押されたときに、図２４の処理が開始される。まず、ステップ２４０１において、ジョブ読み出しテーブル３１３を確認して、停止印刷ジョブが存在しないかどうか判定する。存在しないのであれば、ステップ２４０４において、電源切断処理を実行して一連の処理を終了する。
【０１８７】
存在するのであれば、ステップ２４０２において、図２６のように、停止印刷ジョブが残っていることを操作パネルに一定時間（例えば、５秒間）表示する。更に、ステップ２４０３にいて、電源スイッチが押されているかいなかを再度判定する。
【０１８８】
電源スイッチが押されている場合には、ステップ２４０４において、電源切断処理を実行して一連の処理を終了する。
【０１８９】
一方、ステップ２４０３において、電源スイッチが押されていないと判定された場合には、電源切断処理を行なわず（電源切断をせず）に、一連の処理を終了する。
【０１９０】
以上は、操作パネル３１４の電源スイッチが押された場合について説明したが、ユーザが、ホストコンピュータ２００のユーティリティ部２０５から電源切断を指示できるようにした場合に、図２４のフローチャートに従って、図２６のようなダイアログ画面をホストコンピュータ２００のユーザインターフェースに表示させるようにしてもよい。
【０１９１】
＜プロモート処理＞
次に、印刷ジョブの優先印刷（プロモート印刷）について説明する。
【０１９２】
割り込み印刷は、割込まれた印刷ジョブのトランスレート処理を中止して、復帰後あらためて割込まれた印刷ジョブのトランスレート処理を行なうため、トランスレート処理が複数回実行され、その分、印刷装置３００全体のスループットが低下する可能性がある。
【０１９３】
そこで、既に印刷処理が行なわれている印刷ジョブは中止させない程度に、指定された印刷ジョブの印刷順位を優先的に上げることによって、印刷装置３００全体のスループットを低下させずに、印刷ジョブを至急に出力させることが可能である。
【０１９４】
そこで、ジョブプリプロセッサ部３０３は、プロモート印刷ジョブを受信すると、図７のステップ７０６において、ジョブ読み出しテーブル３１３において、ポインタ８０１が指す印刷ジョブのジョブＩＤの次に、プロモート指定された印刷ジョブのジョブＩＤを登録する。ポインタ８０１がいずれの印刷ジョブをも指していない場合には、ジョブ読み出しテーブル３１３の先頭に割り込ませる。
【０１９５】
また、ジョブ開始オペレーションコードを有するジョブパケットのデータ部に格納された動作モードに従ってプロモート処理を行うかどうかを判定していたが、通常印刷ジョブとして投入された印刷ジョブに対して後でプロモート指定を行うことも可能である。
【０１９６】
ユーザがユーティリティ部２０５からプロモート指定を行う方法について説明する。図１４のユーザインターフェースにおいて、ユーザが「印刷ジョブのプロモート印刷」を選択すると、プロモート印刷指定のオペレーションコードを有する管理パケットが印刷装置３００に送信される。なお、この管理パケットのデータ部には、プロモート指定された印刷ジョブのジョブＩＤが格納されている。
【０１９７】
情報管理部３１０は、受け取った管理パケットのオペレーションコードから、印刷ジョブのプロモート指定だと認識し、プロモート処理部３１６にプロモート指示を行う。このとき、プロモート指示された印刷ジョブのジョブＩＤもプロモート処理部３１６に送信される。
【０１９８】
図２７は、プロモート処理部３１６の動作を示すフローチャートである。プロモート処理部３１６は、まず、ステップ３００１において、プロモート指示されたかを判断し、指示されていない場合には、ステップ３００１に戻って、プロモート指示を待つ。プロモート指示は、情報管理部３１０がプロモート指定のオペレーションコードを有する管理パケットを受信したときに、情報管理部３１０からプロモート処理部３１６に送信される。なお、この管理パケットのデータ部には、優先印刷指定された印刷ジョブ（この印刷ジョブをプロモート印刷ジョブという）のジョブＩＤが格納されている。
【０１９９】
ステップ３００１において、プロモート指示があった場合には、ステップ３００２において、優先印刷指定された印刷ジョブのジョブＩＤがジョブ読み出しテーブル３１３に存在するかを確認する。存在しない場合には、ステップ３００１に戻る。存在する場合には、ステップ３００３において、優先印刷指定された印刷ジョブを、ポインタ８０１が指す印刷ジョブの次に挿入する。つまり、未だにＰＤＬトランスレータ部３０６によりＰＤＬデータが読み出されていない印刷ジョブの先頭に割り込ませる。ポインタ８０１がいずれの印刷ジョブをも指していない場合には、ジョブ読み出しテーブル３１３の先頭に割り込ませる。
【０２００】
図２８は、プロモート処理を説明するためのジョブ読み出しテーブルを示す説明図である。この図では、停止フラグは省略している。ＰＤＬトランスレータ部３０６は、ジョブ読み出しテーブルのポインタが指すジョブＩＤを獲得して、そのジョブＩＤに関連するＰＤＬデータをジョブスプーラ部３０４から読み出し、トランスレート処理する。
【０２０１】
３１−１のジョブ読み出しテーブルでは、ＰＤＬトランスレータ部３０６は、ジョブＩＤが２の印刷ジョブのトランスレート処理を行なっている。ジョブＩＤが２の印刷ジョブの処理が完了すると、このままの状態では、ジョブＩＤが３の印刷ジョブのＰＤＬデータがトランスレート処理される。しかし、ジョブＩＤが５の印刷ジョブがプロモート指定されると、ジョブ読み出しテーブル３１３でジョブＩＤの入れ替わりが行われ、３１−２のジョブ読み出しテーブル３１３のようになる。すると、ジョブＩＤが１の印刷ジョブの処理が完了すると、次に、ジョブＩＤが５の印刷ジョブのＰＤＬデータがトランスレート処理され、その結果、ジョブＩＤが５の印刷ジョブは、ジョブＩＤが３、４の印刷ジョブよりも先に印刷される。このように、プロモート印刷は、印刷ジョブのＰＤＬデータの解析、印刷処理を停止しないため、印刷装置全体のスループットの低下を防ぐことができる。一方、現在とトランスレート処理されている印刷ジョブの次に印刷処理が行なわれるようになるため、緊急の印刷を行なう場合には割込み印刷処理が適している。
【０２０２】
＜割り込み通知＞
図３９は、ホストコンピュータと印刷装置が、ネットワークを介して、或いは、ローカルケーブルを介して接続されているシステムの一例を示す図である。ホストコンピュータ３９０１、３９０２、３９０３は、図２のホストコンピュータ１００と同等なホストコンピュータである。また、印刷装置３９０４は、図３の印刷装置３００と同等な印刷装置である。
【０２０３】
ホストコンピュータ３９０１と印刷装置３９０４、ホストコンピュータ３９０２と印刷装置３９０４は、ネットワークを介して接続されている。従って、ホストコンピュータ３９０１やホストコンピュータ３９０２は、それぞれネットワークアドレスを有している。また、ホストコンピュータ３９０３と印刷装置３９０４とは、セントロニクスインターフェースやＳＣＳＩインターフェースなどのローカルケーブルを介して接続されている。
【０２０４】
図３５は、複数のホストコンピュータ（ホストコンピュータ３９０１、３９０２、３９０３）から送信されてきた各印刷ジョブの状態および印刷ジョブのジョブ情報を管理するための管理テーブルの一例を示す。この管理テーブルは、機器データベース部３０５の一部として、ＲＡＭ３６１０等に記憶される。
【０２０５】
図３５において、欄３５０１は印刷ジョブの認識番号（ジョブＩＤ）を示す。欄３５０２は各印刷ジョブの状態を示す。欄３５０３は、印刷ジョブのＰＤＬデータから生成された、出力中または出力待ちになっている中間データが格納されているアドレスを示す。欄３５０４は、割り込みが行われた場合の現在の解析情報が格納されているアドレスを示す。欄３５０５は、割り込みが行われた場合の出力情報が格納されているアドレスを示す。欄３５０６は、印刷ジョブを送信したホストコンピュータのネットワークアドレスを示す。
【０２０６】
図３６は、描画バッファ３０７に格納される、中間データの一例を示したものである。本実施の形態の描画バッファでは、レコードが基本単位となっている。図３６において、３６０１は次に続くレコードのアドレスを示す領域である。３６０２は、このレコードが罫線を示すものであることを示している。３６０３は、罫線の開始座標を、３６０４は罫線の終了座標を示している。３６０５は線の太さを示す。これらの情報によって罫線がレンダリングされる。
【０２０７】
また、３６０６は、３６０１で示されたアドレスの領域で、次に続くレコードのアドレスを示す領域である。３６０７〜３６１１は、文字を示すレコードである。３６０８は、フォント名称を示し、フォント名称によりフォントパターンが確定される。３６０９は、開始座標を示す。３６１０は、連続して格納されている文字の文字数を示す。３６１１は、文字コードを示す。描画部３０８は、文字コードに対応したパターンを読み出して、開始座標から順次文字をレンダリングしていく。
【０２０８】
さらに、３６１３〜３６１６は矩形のレコードを示したものである。すなわち、開始座標（３６１４）、終了座標（３６１５）、線幅（３６１６）に基づいて、矩形がレンダリングされる。
【０２０９】
これらのレコードの集まりに基づいて、１ページ分の画像がレンダリングされる。
【０２１０】
図３７は、出力情報の一例を示したものである。図３７において、３７０１は現在排出中の排紙先を示す。３７０２は、排出中の紙サイズ・送り方向を示す。また、３７０３は、印刷ジョブの印刷処理によって出力されたページ数を示す。
【０２１１】
図３８は、割り込みの通知を行なう場合の、割り込み処理部の動作を説明するフローチャートである。図３８は、図９のフローチャートに、割り込みの通知を行なうためのステップ３８１２〜３８１４を追加したものである。割り込み処理部３１２は、まず、ステップ９０９において、割り込み指示がされたかどうかを判定する。割り込み指示がされると、ステップ３８１２において、図３７で示した出力情報をＲＡＭに退避させる。次に、ステップ３８１３において、割り込まれた印刷ジョブを検索する。具体的には、管理テーブルで各印刷ジョブの状態を調べて割り込まれた印刷ジョブを検索してもいいし、また、ジョブ読み出しテーブル３１３を調べて割り込まれた印刷ジョブを検索してもいい。
【０２１２】
図３５の管理テーブルでは、ジョブＩＤが１，２，３である印刷ジョブが、割り込まれた印刷ジョブになる。また、図１０のジョブ読み出しテーブルでは、ジョブＩＤが１，２，３，４である印刷ジョブが、割り込まれた印刷ジョブになる。
【０２１３】
ステップ３８１４において、割り込まれた印刷ジョブを送信したホストコンピュータに、割り込みが発生したことを通知する。図３５の管理テーブルでは、まず、ジョブＩＤが１である印刷ジョブを送信したホストコンピュータは、ローカルケーブルを介して直接接続されているので、ローカルケーブルを介して通知が送信される。また、ジョブＩＤが２及び３である印刷ジョブを送信したホストコンピュータは、ネットワークを介して接続されているので、図３の管理テーブルの欄３５０６に格納されているネットワークアドレスに基づいて通知が送信される。
【０２１４】
ステップ９０１において、ＰＤＬトランスレータ部３０６に対して、現在処理している印刷ジョブの処理中止を指示する。指示されたＰＤＬトランスレータ部３０６は、現在行っているトランスレート処理を直ちに中断する。
【０２１５】
次にステップ９０２において、描画バッファ３０７に中間データがある場合にはそれらの中間データの削除を行う。なお、中間データの削除は、実際にデータを消すことだけを指すのではなく、その中間データを無効にすることも含む。さらにステップ９０４において、プリンタエンジン部３０９に処理の中止を指示する。ただし、プリンタエンジン部３０９が、現在まさに印刷中であったり、排紙中であったりする場合に、処理を中止するとジャムが発生する可能性がある。そのため、印刷中や排紙中の場合は、それらの処理の中止は行われない。
【０２１６】
そして、ステップ９１１において、割り込まれた印刷ジョブのすでに排紙が完了したページ数をプリンタエンジン部３０９から取得し、当該印刷ジョブのジョブ情報として機器データベース部３０５に記憶しておく。なお、このステップは、プリンタエンジン部３０９自身が行ってもよく、この場合、プリンタエンジン部３０９が、割り込み処理部３１２から処理中止の指示を受けたときに、割込まれた印刷ジョブについてすでに排紙が完了したページ数を情報管理部３１０に送信し、情報管理部３１０がその情報を当該印刷ジョブのジョブ情報として機器データベース部３０５に記憶しておく。
【０２１７】
ステップ９０５において、割り込み指示された印刷ジョブのジョブＩＤをジョブ読み出しテーブル３１３の先頭に追加する。このとき、ポインタ８０１はこの印刷ジョブのジョブＩＤを指すようにポイト移動する。このジョブＩＤは、ジョブプリプロセッサ部３０３から割り込み指示とともに通知されてきたものである。これによって、ジョブ読み出しテーブル３１３において、次に処置される印刷ジョブが割り込み指示された印刷ジョブとなる。
【０２１８】
さらにステップ９０６において、ＰＤＬトランスレータ部３０６に処理再開の指示を出す。すると、ＰＤＬトランスレータ部３０６は読み出しテーブル３１３のポインタ８１０を見て、読み出しテーブル３１３のポインタ８１０が指す印刷ジョブ（この場合、割り込み指示された印刷ジョブ）のＰＤＬデータをジョブスプーラ部３０４から取り出してトランスレート処理を行う。また、ステップ９０７においては、描画部３０８に処理再開の指示を出し、最後にステップ９０８においてプリンタエンジン部に処理再開の指示を出す。
【０２１９】
図４０は、割り込みの通知を行なう場合の、割り込み処理部の動作を説明するフローチャートである。図４０は、図９のフローチャートに、図３８で説明した割り込みの通知を行なうためのステップ３８１２〜３８１４を追加したものである。
【０２２０】
図４１は、プロモートの通知を行なう場合の、プロモート処理部の動作を説明するフローチャートである。図４１は、図２７のフローチャートに、プロモートの通知のためのステップ４１１３と４１１４を追加したものである。
【０２２１】
プロモート処理部３１６は、まず、ステップ３００１において、プロモート指示されたかを判断し、指示されていない場合には、ステップ３００１に戻って、プロモート指示を待つ。プロモート指示は、情報管理部３１０がプロモート指定のオペレーションコードを有する管理パケットを受信したときに、情報管理部３１０からプロモート処理部３１６に送信される。なお、この管理パケットのデータ部には、優先印刷指定された印刷ジョブ（この印刷ジョブをプロモート印刷ジョブという）のジョブＩＤが格納されている。
【０２２２】
ステップ３００１において、プロモート指示があった場合には、ステップ３００２において、優先印刷指定された印刷ジョブのジョブＩＤがジョブ読み出しテーブル３１３に存在するかを確認する。存在しない場合には、ステップ３００１に戻る。
【０２２３】
存在する場合には、ステップ４１１３において、割り込まれた印刷ジョブを検索する。具体的には、管理テーブルで各印刷ジョブの状態を調べて割り込まれた印刷ジョブを検索してもいいし、また、ジョブ読み出しテーブル３１３を調べて割り込まれた印刷ジョブを検索してもいい。図２８のジョブ読み出しテーブルでは、ジョブＩＤが３，４である印刷ジョブが、プロモート処理で割り込まれた印刷ジョブになる。
【０２２４】
ステップ４１１４において、プロモート処理で割り込まれた印刷ジョブを送信したホストコンピュータに、プロモートが発生したことを通知する。このとき、管理テーブルの欄３５０６に格納されているネットワークアドレスに基づいて通知が送信される。
【０２２５】
ステップ３００３において、優先印刷指定された印刷ジョブを、ポインタ８０１が指す印刷ジョブの次に挿入する。つまり、未だにＰＤＬトランスレータ部３０６によりＰＤＬデータが読み出されていない印刷ジョブの先頭に割り込ませる。ポインタ８０１がいずれの印刷ジョブをも指していない場合には、ジョブ読み出しテーブル３１３の先頭に割り込ませる。
【０２２６】
更に、印刷装置３００の制御構成を説明する。図３３は、印刷装置３００の制御構成を示すブロック図である。図３３において、印刷装置３６０１は、プリンタコントローラ（以下、コントローラ）３６０３と、エンジン３６０４と、パネル装置３６０５と、ディスク装置３６０６を備えた構成となっている。
【０２２７】
また、コントローラ３６０３は、ＣＰＵ３６０７と、ＰＲＯＭ３６０８と、オプションメモリ３６０９と、ＲＡＭ３６１０と、ホストＩ／Ｆ３６１１と、エンジンＩ／Ｆ３６１２と、パネルＩ／Ｆ３６１３と、ディスクＩ／Ｆ３６１４と、ＮＶＲＡＭ３６１５を備えた構成となっている。
【０２２８】
ＣＰＵ３６０７は、ＰＲＯＭ３６０８に格納された、図５、６、７，９，１１，１５，１８、２０、２４、３０のフローチャートで示すような制御プログラム及びその他の各種制御プログラムに基づいて各部を制御する。ホストＩ／Ｆ３６１１は、ホストコンピュータ３６０２と印刷ジョブなどの送受信を行うためのインターフェースである。エンジンＩ／Ｆ３６１２は、実際に印字を行うエンジン３６０４と通信するためのインターフェースである。
【０２２９】
パネルＩ／Ｆ３６１３は、ユーザにレーザビームプリンタ３６０１の状態を示したり、ユーザがレーザビームプリンタ３６０１に印刷環境の変更を指示したりするためのパネル装置３６０５と、指示と状態を送受信するためのインターフェースである。ディスクＩ／Ｆ３６１４は、ディスク装置３６０６と通信するためのインターフェースである。
【０２３０】
オプションメモリ３６０９は、フォントなどを格納するための抜き差し可能なメモリで、カードやオプションＲＯＭ、ＦＬＡＳＨメモリなどである。ＲＡＭ３６１０には、画像オブジェクトを格納するフレームバッファ３６１０ａや、ホストコンピュータ３６０２から入力されたＰＤＬデータを一時的に格納する受信バッファ３６１０ｂなどの領域が確保されている。また、ＲＡＭ３６１０はＣＰＵ３６０７のワークエリアとしても使用される。ＮＶＲＡＭ３６１５は、機器或いは印刷ジョブに関する各種設定項目の設定値を格納するために使用される。
【０２３１】
パネル装置３６０５には、レーザビームプリンタ３６０１の状態などの情報を文字列として表示するための液晶パネルディスプレイ、ユーザがレーザビームプリンタ３６０１に対する様々な操作をするための各種の操作ボタン、給紙場所やオンライン／オフラインなどをユーザに知らせるためのＬＥＤなどが備わっている。
【０２３２】
エンジン３６０４は、記録媒体に画像オブジェクトを実際に印刷する。ディスク装置３６０６は、様々なデータを記憶しておく外部記憶装置であり、ハードディスク装置や光磁気ディスク装置、フロッピー（登録商標）ディスク装置などである。レーザビームプリンタ３６０１は図示しない電源部から電力の供給を受けている。
【０２３３】
図３の印刷システムの機能構成における各構成、例えば、論理チャネル制御部３０２、ジョブプリプロセッサ部３０３、ＰＤＬトランスレータ部３０６、描画部３０８、情報管理部３１０、割り込み処理部３１２、停止／再開処理部３１５、プロモート処理部３１６などは、図３６の印刷装置３６０１におけるＣＰＵ３６０７が、ＰＲＯＭ３６０８に格納された制御プログラムを実行することにより実現される。また、図３のジョブスプーラ部３０４、機器データベース部３０５、ジョブ読み出しテーブル３１３、描画バッファ３０７は、図３６の印刷装置３６０１のＲＡＭ３６１０やディスク装置３６０６上に確保される。
【０２３４】
更に、ホストコンピュータ２００の制御構成を説明する。図３４は、ホストコンピュータ２００の制御構成を示すブロック図である。図３４において、ＣＰＵ３７０１は、ＲＯＭ３７０２もしくはハードディスク（ＨＤ）３７１１、フロッピー（登録商標）ディスク（ＦＤ）３７１２などの記憶媒体に記億された、制御プログラムを実行し、システムバス３７０４に接続される各デバイスを総括的に制御する。
【０２３５】
３７０３はＲＡＭで、ＣＰＵ３７０１の主メモリ、ワークエリア等として機能する。３７０５はキーボードコントローラ（ＫＢＣ）で、キーボード（ＫＢ）３７０９や不図示のポインティングデバイスなどからのユーザによる指示入力を制御する。
【０２３６】
３７０６はＣＲＴコントローラ（ＣＲＴＣ）で、ＣＲＴディスプレイ（ＣＲＴ）３７１０の表示を制御する。３７０７はディスクコントローラ（ＤＫＣ）で、ブートプログラム、種々のアプリケーション、編集ファイル、ユーザファイル、制御プログラム等を記憶するハードディスク（ＨＤ）３７１１およびフロッピー（登録商標）ディスク（ＦＤ）３７１２とのアクセスを制御する。３７０８はインターフェースカード（ＩＣ）で、通信媒体を介して、印刷装置３００と双方向にデータのやりとりをする。
【０２３７】
図２の印刷システムの機能構成における各構成、例えば、論理チャネル制御部２０６、ジョブパケット生成部２０７、プリンタドライバ部２０２、アプリケーション部２０１、ユーティリティ部２０５は、図３７のホストコンピュータ２００におけるＣＰＵ３７０１が、ＲＯＭ３７０２或いはＨＤ３７１１に格納された制御プログラムを実行することにより実現される。また、図２の送信バッファ２０３は、図３４のホストコンピュータ２００のＲＡＭ３７０３やＨＤ３７１１上に確保される。
【０２３８】
図２９は、図３或いは図３６の印刷装置の一例であるレーザビームプリンタ（以下、ＬＢＰと略す）の内部構造を示す断面図で、このＬＢＰは、文字パターンデータ等を入力して記録紙に印刷することができる。図２９において、８０１２はＬＢＰ本体であり、供給される文字パターン等を基に、記録媒体である記録紙上に像を形成する。８０００は操作のためのスイツチ及びＬＥＤ表示器などが配されている操作パネル、８００１はＬＢＰ８０１２全体の制御及び文字パターン情報等を解析するプリンタ制御ユニツトである。このプリンタ制御ユニツト８００１は主に文字パターン情報をビデオ信号に変換してレーザドライバ８００２に出力する。レーザドライバ８００２は半導体レーザ８００３を駆動するための回路であり、入力されたビデオ信号に応じて半導体レーザ８００３から発射されるレーザ光８００４をオン・オフ切替えする。レーザ光８００４は回転多面鏡８００５で左右方向に振られて静電ドラム８００６上を走査する。これにより、静電ドラム８００６上には文字パターンの静電潜像が形成される。この潜像は静電ドラム８００６周囲の現像ユニツト８００７により現像された後、記録紙に転写される。この記録紙にはカットシートを用い、カットシート記録紙はＬＢＰ８０１２に装着した複数種の用紙に対応した複数の用紙カセツト８００８に収納され、給紙ローラ８００９及び搬送ローラ８０１０と８０１１とにより装置内に取込まれて、静電ドラム８００６に供給される。
【０２３９】
図３０は、図３或いは図３６の印刷装置の一例であるインクジェット記録装置ＩＪＲＡの概観図である。同図において、駆動モータ９０１１の正逆回転に連動して駆動力伝達ギア９０１０，９００８を介して回転するリードスクリュー９００４の螺旋溝９００３に対して係合するキャリッジＨＣはピン（不図示）を有し、矢印ａ，ｂ方向に往復移動される。このキャリッジＨＣには、インクジェットカートリッジＩＪＣが搭載されている。９００１は紙押え板であり、キャリッジの移動方向に亙って紙をプラテン９０００に対して押圧する。９００６，９００７はフォトカプラで、キャリッジのレバー９００５のこの域での存在を確認して、駆動モータ９０１１の回転方向切り換え等を行うためのホームポジション検知手段である。９０１３は記録ヘッドの前面をキャップするキャップ部材９０１９を支持する部材で、９０１２はこのキャップ内を吸引する吸引手段で、キャップ内開口９０２０を介して記録ヘッドの吸引回復を行う。９０１４はクリーニングブレードで、９０１６はこのブレードを前後方向に移動可能にする部材であり、本体支持板９０１５にこれらが支持されている。ブレードは、この形態でなく周知のクリーニングブレードが本例に適用できることは言うまでもない。又、９０１８は、吸引回復の吸引を開始するためのレバーで、キャリッジと係合するカム９０１７の移動に伴って移動し、駆動モータからの駆動力がクラッチ切り換え等の公知の伝達手段で移動制御される。これらのキャッピング、クリーニング、吸引回復は、キャリッジがホームポジション側の領域に来た時にリードスクリュー９００４の作用によってそれらの対応位置で所望の処理が行えるように構成されているが、周知のタイミングで所望の作動を行うようにすれば、本例にはいずれも適用できる。
【０２４０】
なお、本発明は、単体で存在するコピー機、プリンタ、スキャナ等から構成されるシステムに適用しても、一つの機器からなる装置（例えば、複写機，ファクシミリ装置など）に適用してもよい。
【０２４１】
また、本発明の目的は、前述した実施の形態の機能を実現するソフトウエア（制御プログラム）のプログラムコードを記録した記憶媒体（図３１）を、図３６及び図３７に示すようなシステムに供給し、そのシステムの装置（ＣＰＵ３６０７、ＣＰＵ３７０１）が記憶媒体に格納されたプログラムコードを読出し実行することによって達成される。プログラムやデータを供給する方法として図３２に示すようにフロッピー（登録商標）ディスクＦＤ３４０２に記憶させてＰＣ本体３４０１に供給する方法も一般的である。
【０２４２】
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【０２４３】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピー（登録商標）ディスクやハードディスク以外にも，光ディスク，光磁気ディスク，ＣＤ−ＲＯＭ，ＣＤ−Ｒ，磁気テープ，不揮発性のメモリカード，ＲＯＭなどを用いることができる。
【０２４４】
また、プログラムやデータを供給する方法として図３２に示すように、ＬＡＮ或いは公衆回線３４０５を介して、サーバ装置からＰＣ本体３４０１に供給する方法も一般的である。この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを送出したサーバ装置は本発明を構成することになる。
【０２４５】
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０２４６】
＜第２の実施の形態＞
図４２は、本発明を適用したレーザビームプリンタ（以下、ＬＢＰと略す）の内部構造を示す断面図である。このＬＢＰは、不図示のデータ源から送出された文字パターンの登録や定型書式（フォームデータ）などの登録を行う。
【０２４７】
図４２において、４２００はＬＢＰ本体であり、外部に接続されているホストコンピュータ（図４３の４３０１，４３１１，４３１２）から供給される文字情報（文字コード）やフォーム情報あるいはマクロ命令などを入力して記憶すると共に、それらの情報に従って対応する文字パターンやフォームパターンなどを作成し、記録媒体である印刷メデイア上に像を形成する。１１１２は操作のためのスイッチおよびＬＥＤ表示器などが配されている操作パネル、４２０１はＬＢＰ４２００全体の制御および上記ホストコンピュータから供給される文字情報などを解析するプリンタ制御ユニットである。このプリンタ制御ユニット４２０１は、主に文字情報を対応する文字パターンのビデオ信号に変換してレーザドライバ４２０２に出力する。
【０２４８】
レーザドライバ４２０２は半導体レーザ４２０３を駆動するための回路であり、入力されたビデオ信号に応じて半導体レーザ４２０３から発射されるレーザ光４２０４をオンオフ切り替えする。レーザ光４２０４は回転多面鏡４２０５で左右方向に振られ、静電ドラム４２０６上を走査する。これにより、静電ドラム４２０６上には文字パターンの静電潜像が形成される。この潜像は、静電ドラム４２０６の周囲にある現像ユニット４２０７により現像された後、印刷メディアに転送される。この印刷メディアにはカットシートを用いる。カットシート（印刷メディア）はＬＢＰ４２００に装着した用紙カセット４２０８内に収納され、給紙ローラ４２０９および搬送ローラ４２１０，４２１１とによりＬＢＰ装置内に取り込まれて、静電ドラム４２０６に供給される。
【０２４９】
４２１２は、カットシートの排出先を振り分けるユニットであり、これによりフェースアップトレイ４２１３に排出するか、あるいはフェースダウントレイ４２１４に排出するかを選択することができる。
【０２５０】
図４３は、図４２に示したＬＢＰのブロック構成と、データ発生源との関係を示す。なお、本図中に示した符号４３０２から４３１５の各ブロックは図４２に示したプリンタ制御ユニット４２０１に含まれるものであり、プリンタ部４３１０の構成は図４２で説明した通りである。
【０２５１】
４３０１は、第１のデータ源となるホストコンピュータである。４３０２はデータ源（ホストコンピュータ）４３０１に対する入力バッファ、４３０３はデータ源（ホストコンピュータ）４３０１に返送するための出力バッファ、４３０４は本ＬＢＰの制御を司るＣＰＵ、４３０５はプログラム（図８，図１０）やフォントパターンが格納されているＲＯＭ、４３０５はワーク情報および解析情報、出力情報を格納するＲＡＭである。４３０７は、解析されたイメージ情報を格納するページバッファであり、複数のページ情報を格納できる。４３０８は、操作パネル４２１２との接続制御を行うパネルインタフェースである。４３０９は、プリンタとの制御を行うプリンタインタフェースである。４３１０は、実際の印字を行うプリンタ部（プリンタエンジン）である。
【０２５２】
４３１１，４３１２は、ネットワークに接続されたホストコンピュータである。４３１３は、ネットワークとの接続を制御するネットワークＩ／Ｆ（インタフェース）である。４３１４および４３１５は、それぞれ入力バッファ４３０２および出力バッファ４３０３に対応する、ネットワーク接続のための入力バッファおよび出力バッファである。
【０２５３】
図４４は、データ源となるホストコンピュータ４３０１，４３１１，４３１２より送信された各ジョブの状態およびその情報を管理するためにＲＡＭ４３０６に記憶させた管理テーブルの一例を示す。本図において、欄４４０１はジョブの認識番号（ＩＤ）、欄４４０２は受け付けた各ジョブの状態を示す。欄４４０３は、解析されて出力中または出力待ちになっているページのページバッファ４３０７内のアドレスを示す。欄４４０４は、割り込みが行われた場合の現在の解析情報を格納したアドレスを示す。欄４４０５は、割り込みが行われた場合の出力情報を格納したアドレスを示す。欄４４０６には、ネットワーク（図４３参照）を通して受信したジョブに関するホストコンピュータのネットワークアドレスを格納してある。
【０２５４】
図４５は、データ源となるホストコンピュータ４３０１，４３１１，４３１２（図４３参照）から指定される割り込みコマンドの一例を示した図である。本図において、４５０１は、制御コマンドであることを示すＥＳＣコードである。４５０２は、この命令が割り込みコマンドであることを示す文字列ＰＲＯである。４５０３には、どの状態のジョブ（図４４の４４０２参照）に対して割り込みを行うかを指定する情報が格納される。
【０２５５】
図４６は、ページバッファ４３０７（図４３参照）に格納される、データ解析後のページバッファの一例を示したものである。本実施の形態において、ページバッファはレコードを基本単位として処理する。本図において、４６０１は、次に続くレコードのアドレスを指定する領域である。４６０２は、このレコードが罫線を処理するものであることを示している。４６０３は、罫線の開始座標を、４６０４は終了座標を、４６０５は線の太さをそれぞれ示し、これらの情報によって罫線が引かれる。
【０２５６】
また、４６０６は、上記の４６０１によりリンクされたものであり、次にリンクされるアドレスが格納されている。このレコードは文字（４６０７）を記述するレコードであり、フォント名称（４６０８）によりフォントパターンを確定する。そして、開始点（４６０９）より開始座標を確定し、文字数（４６１０）分のコードが連続して格納されているので、文字コード（４６１１）に応じたパターンを読み出して開始座標から順次画像を形成していく。
【０２５７】
さらに、４６１２〜４６１６は矩形のレコードを示したものである。すなわち、開始座標（４６１４）、終了座標（４６１５）および線幅（４６１６）によって画像を形成する。
【０２５８】
これらのレコードの集まりによって、１ページ分の画像が形成されていく。
【０２５９】
図４７は、解析情報の一例を示した図である。本図において、４７０１には、現在画像を展開している座標値が格納されている。４７０２には、罫線の幅および罫線の種類が格納されている。４７０３には、現在選択されているフォント名称，文字ピッチ，書体が格納されている。４７０４には、用紙のサイズ，送り方向，拡大率，用紙の種類が格納されている。これらの解析情報をＲＡＭに格納することによって、中断したジョブを再開させることが可能となる（図８のステップＳ８１０、ステップＳ８１６参照）。
【０２６０】
図４８は、出力情報の一例を示したものである。本図において、４８０１には現在排出中の排紙先が、４８０２には排出中の紙サイズ・送り方向が格納されている。また、４８０３には、現在のジョブの出力を終えたページ数が格納されている。
【０２６１】
図４９は、ＲＯＭ４３０５に予め記憶されている制御プログラムに従って、ＣＰＵ４３０４が実行すべき制御手順を示したフローチャートである。以下、図４９の各ステップに基づいて、本実施の形態における動作を説明する。
【０２６２】
まず、電源が投入されることにより、本プログラムが開始する（ステップＳ４９０１）。ステップＳ４９０２では、ホストコンピュータからポート（入力バッファ）にデータが着信しているか否かをチェックする。データがない場合には、ステップＳ４９０２のループを繰り返す。データが着信すると、管理テーブル（図４４参照）ヘの登録が行われる（ステップＳ４９０２Ａ）。すなわち、ジョブのＩＤが欄４４０１へ登録される。
【０２６３】
その後、ステップＳ４９０３に移り、受信したデータが制御コマンドであるか否かを確認する。制御コマンドでない場合は、ステップＳ４９０４に移り、入力されたデータの解析を行い、内部コードに変換する。この内部コードの内容は、先に図５で述べた通りである。そして、ステップＳ４９０５において、この内部コードはページバッファ４３０７（図４３参照）ヘ書き込まれる。これと同時に、管理テーブルの欄４４０３「ページバッファ」（図４４参照）にアドレスが登録される。ここで、複数のジョブのページバッファが作成され、ジョブが出力待ちになる場合には、管理テーブルの欄４４０２「状態」を「出力待ち」にする。
【０２６４】
ステップＳ４９０６では、ページバファの作成が完了したか否かを確認し、完了していない場合には、ステップＳ４９０３以降の処理を再度行う。
【０２６５】
ページバッファの作成が完了した場合は、ステップＳ４９０７に移り、プリンタＩ／Ｆ４３０９（図４３参照）を介してプリンタ部（プリンタエンジン）４３１０ヘ出力する。この時、管理テーブルの欄４４０２「状態」（図４４参照）を「出力中」に変更する。
【０２６６】
一方、ステップＳ４９０３において制御コマンドであると判断された場合は、ステップＳ４９０８において、割り込みの命令であるか否かを、割り込みコマンドの４０２（ＰＲＯ：図４参照）に対応させて確認する。ステップＳ４９０８で割り込みの命令でないと判断された場合は、ステップＳ４９０９に移って制御コマンドに対応する解析を行い、かつ必要であれば、ページバッファヘの書き込みを行い、データの解析（ステップＳ４９０４）に戻る。
【０２６７】
ステップＳ４９０８において、割り込みコマンドであることが確認され、現在解析中のジョブに対して割り込みがなされた場合には、ステップＳ４９１０の処理を実行する。すなわち、ステップＳ４９１０では、図６に示した解析情報、および、図７に示した出力情報をＲＡＭに退避する。
【０２６８】
次のステップＳ４９１１では、管理テーブルの欄４４０１および４４０２（図４４参照）から、割り込まれたジョブを検索する。本例では３つのジョブが存在し、それぞれのジョブに割り込みがなされることになる。
【０２６９】
ステップＳ４９１２では、割り込まれたジョブに関するホストコンピュータに対して、割り込みが発生したことを通知する。図４４の例でみると、ジョブＩＤ「１」については、ホストコンピュータ４３０１から直接入力されているので（行４４０７参照）、出力バッファ４３０３（図４３参照）を介して通知が行われる。他方、ジョブＩＤ「２」および「３」（すなわち、行４４０８，４４０９に示されているジョブ）はネットワークを介して発せられたことが欄４４０６により判るので、この場合には、各ジョブを送出したホストコンピュータのネットワークアドレス（欄４４０６）に基づき、ネットワークＩ／Ｆ４３１３（図４３参照）を通じてジョブの割り込みが発生したことを通知する。
【０２７０】
上記のネットワークアドレスは、ジョブを送出する時に、制御コマンドの一部として送られてくる。従って、ステップＳ４９０９のコマンド解析処理において、管理テーブルの欄４４０６に登録される。
【０２７１】
ステップＳ４９１３では、割り込みデータの受信が可能となり、データ受信を開始する。次のステップＳ４９１４では、割り込みデータの受信が終了したか否かを確認し、終了していない場合は、ステップＳ４９１３に戻って再度受信を行う。
【０２７２】
割り込みデータを全て受信すると、ステップＳ４９１５に移ってデータ解析が行われ、プリンタ部（プリンタエンジン）４３１０ヘの出力が開始される。
【０２７３】
割り込みデータの出力が終了すると、ステップＳ４９１６において、ステップＳ４９１０で退避した解析情報および出力情報を戻す。これにより、解析中のジョブ「３」（図４４の行４４０９参照）の解析が続行可能となる。
【０２７４】
ステップＳ４９１７では、データの有無を確認し、データ有りと判断された場合はステップＳ４９０３に戻って処理を継続する。他方、データが存在しないと判断された場合は、現在解析され出力待ちとして格納されているページバッファを出力し、処理を終了する。
【０２７５】
（他の実施の形態）
これまでの説明では、割り込みコマンド（図４５参照）の発令後にデータ割り込みを行ったが、複数のジョブが既に格納されている場合には、印刷制御装置内でのジョブ割り込みを行うことも可能である。その場合の割り込みコマンドの一例を図５０に示す。
【０２７６】
図５０において、９０１は、制御コマンドであることを示すＥＳＣコードである。９０２は、このコマンドが割り込みコマンドであることを示す文字列である。９０３は、割り込みジョブを行うジョブのＩＤを示す。９０４は、割り込まれるジョブのＩＤを示す。
【０２７７】
また、割り込みジョブによる印刷済みシートを、通常とは異なる排紙先に排出することも可能である。図５１は、この排出処理を示すフローチャートである。本図に示す処理手順は、ＲＯＭ４３０５（図４３参照）に記憶されているプログラムに従って、ＣＰＵ４３０４が制御するものである。
【０２７８】
図５１における制御は、図４９のステップＳ４９０８で割り込みコマンドとして認識された後の処理を前提としている。まずステップＳ５１０２において、割り込まれるジョブの状態をチェックする。割り込まれるジョブの状態が「出力中」の場合、例えば図４４に示すジョブＩＤ「１」の場合は、ステップＳ５１０３において出力情報を退避する。
【０２７９】
ステップＳ５１０２において、出力中でないと判断された場合、例えば図４４に示すジョブＩＤ「２」のように出力待ちの場合は、ステップＳ５１０４において、割り込みジョブの優先順位を割り込まれたジョブより上げる。
【０２８０】
次のステップＳ５１０５では、割り込みジョブの出力先として、現在使用されている排紙先を変更して出力を行う。そして排紙が終了すると、ステップＳ５１０６に移り、退避されている出力情報を戻し、かつ排紙先も元に戻す。
【０２８１】
以上説明したように、上記によれば、ユーザがホストコンピュータ上から割り込み指定した印刷指示を出すことによって、印刷装置は、既に他の印刷ジョブの印刷処理を行っていても、その印刷ジョブの印刷処理を停止して、割り込み指定された印刷ジョブの印刷処理を即座に行うことが可能であり、そのため、緊急の印刷ジョブをすぐに印刷処理することが可能である。
【０２８２】
さらに、割り込み指定された印刷ジョブの印刷処理が終了した後、割込まれた印刷ジョブの印刷処理が自動的に復帰されるため、割込まれた印刷ジョブの所有者が印刷ジョブの再送を行わなくてもよくなる。
【０２８３】
さらに、すでに印刷装置に投入した通常の印刷ジョブに対して、ユーザはユーティリティから割り込み指定を行うことができ、印刷ジョブ投入後にその印刷ジョブの割り込み印刷の必要性が発生しても、同様の効果を達成することが可能である。
【０２８４】
さらに複数の排紙ビンを持つ印刷装置の場合、割り込み指定された印刷ジョブの排紙口を割込まれた印刷ジョブの排紙口と異なるものに変更することにより、割込まれた印刷ジョブの印刷物と割り込み指定された印刷ジョブの印刷物の混載を防ぐことが可能である。
【０２８５】
さらに、既に印刷処理が行なわれている印刷ジョブは中止させないで、印刷ジョブの印刷順位を優先的に上げる優先印刷により、印刷装置全体のスループットを発生させることなく、印刷ジョブを優先的に処理することが可能である。
【０２８６】
さらに、ユーザがホストコンピュータから印刷処理を実行する場合に、停止指定を行なって印刷実行をおこなうことにより、停止指定された印刷ジョブは印刷装置内で印刷処理されずに停止され、再開指定を改めて行なうことにより、実際の印刷処理をおこなうということが可能である。
【０２８７】
さらに、既に印刷装置に投入された通常の印刷ジョブに対して、停止指定を行なって印刷処理を一時的に停止させることにより、例えばその印刷ジョブの処理時間がかかり印刷装置を占有してしまうのを避けるためなど、印刷ジョブ投入後に印刷の停止をする必要が発生した場合に、後ろの印刷ジョブを先に印刷させることができる。
【０２８８】
さらに、印刷装置の電源切断時に、停止されたままの印刷ジョブが印刷装置内に存在していることを操作パネルなどに表示することにより、停止された印刷ジョブが存在する状態で印刷装の電源が切断されるのを回避することができる。
【０２８９】
さらに、割り込み印刷ジョブが発生した場合には、割り込まれた印刷ジョブの送信元（ホストコンピュータなど）に対して、割り込みが発生したことを通知できる。
【０２９０】
さらに、ネットワークを介してプリンタに接続されたホストコンピュータがある場合にも、そのホストコンピュータに対して、割り込まれたことを通知することができる。
【０２９１】
さらに、複数の排紙手段を有するプリンタを用いる場合には、割り込み印刷ジョブの排紙先と、通常的に使用されている排紙先とを異ならせることができる。
【符号の説明】
【０２９２】
１００、２００  ホストコンピュータ
１５０  印刷装置
１８０、２１０、３１１  インターフェイス
１０１、２０１  アプリケーション部
１０２、２０２  プリンタドライバ部
１０３、２０３  送信バッファ
１０４、２０４  Ｉ／Ｆドライバ部（ホストコンピュータ）
１０５、２０５  ユーティリティ部
１０６、２０６  論理チャネル制御部（ホストコンピュータ）
１５１、３０２  論理チャネル制御部（印刷装置）
１５２、３０５  機器データベース部
１５３、３０３  ジョブプリプロセッサ部
１５４  受信バッファ
１５５、３０６  ＰＤＬトランスレータ部
１５６、３０７  描画バッファ
１５７、３０８  描画部
１５８、３０９  プリンタエンジン部
１５９、３０１  Ｉ／Ｆドライバ部（印刷装置）
１６０、３１０  情報管理部
１６１  操作パネル
３０４  ジョブスプーラ部
３１２  割り込み処理部
【図１】
0004898874.tif 000002
【図２】
0004898874.tif 000003
【図３】
0004898874.tif 000004
【図４】
0004898874.tif 000005
【図５】
0004898874.tif 000006
【図６】
0004898874.tif 000007
【図７】
0004898874.tif 000008
【図８】
0004898874.tif 000009
【図９】
0004898874.tif 000010
【図１０】
0004898874.tif 000011
【図１１】
0004898874.tif 000012
【図１２】
0004898874.tif 000013
【図１３】
0004898874.tif 000014
【図１４】
0004898874.tif 000015
【図１５】
0004898874.tif 000016
【図１６】
0004898874.tif 000017
【図１７】
0004898874.tif 000018
【図１８】
0004898874.tif 000019
【図１９】
0004898874.tif 000020
【図２０】
0004898874.tif 000021
【図２１】
0004898874.tif 000022
【図２２】
0004898874.tif 000023
【図２３】
0004898874.tif 000024
【図２４】
0004898874.tif 000025
【図２５】
0004898874.tif 000026
【図２６】
0004898874.tif 000027
【図２７】
0004898874.tif 000028
【図２８】
0004898874.tif 000029
【図２９】
0004898874.tif 000030
【図３０】
0004898874.tif 000031
【図３１】
0004898874.tif 000032
【図３２】
0004898874.tif 000033
【図３３】
0004898874.tif 000034
【図３４】
0004898874.tif 000035
【図３５】
0004898874.tif 000036
【図３６】
0004898874.tif 000037
【図３７】
0004898874.tif 000038
【図３８】
0004898874.tif 000039
【図３９】
0004898874.tif 000040
【図４０】
0004898874.tif 000041
【図４１】
0004898874.tif 000042
【図４２】
0004898874.tif 000043
【図４３】
0004898874.tif 000044
【図４４】
0004898874.tif 000045
【図４５】
0004898874.tif 000046
【図４６】
0004898874.tif 000047
【図４７】
0004898874.tif 000048
【図４８】
0004898874.tif 000049
【図４９】
0004898874.tif 000050
【図５０】
0004898874.tif 000051
【図５１】
0004898874.tif 000052