(57)【特許請求の範囲】
【請求項１】
プリントデータを含むプリントジョブデータを受信するプリンタと通信可能な情報処理装置であって、
各々がヘッダを持ったプリントジョブデータとしての複数のジョブパケットを生成する生成手段と、
ジョブデータチャネルによる前記生成手段により生成された複数のジョブパケットの転送を制御する転送制御手段とを有し、前記複数のジョブパケットを転送する間にプリントジョブをキャンセルする指示がなされると、前記生成手段は、ヘッダに前記プリントジョブのキャンセル指示を含ませたダミー印刷データのキャンセルパケットを生成し、前記転送制御手段は、前記ジョブデータチャネルによる前記キャンセルパケットの転送を制御し、前記プリンタは、前記ジョブパケットのヘッダの解析に基づきプリントデータとして識別されるジョブパケットから取り出されるデータを格納部に格納し、さらに、受信したジョブパケットのヘッダ解析に基づきキャンセルパケットを確認すると、前記プリントジョブのキャンセル処理を行なうことを特徴とする情報処理装置。
【請求項２】
前記複数のジョブパケットを転送する間に前記プリントジョブをキャンセルする指示がなされると、前記生成手段は、前記プリントジョブのキャンセルフラグをヘッダに含ませたダミー印刷データのキャンセルパケットを生成することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記ダミー印刷データは空の印刷データであることを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
前記プリンタは、管理ユーティリティーが前記プリンタへアクセスするための管理チャネルによる管理データを受信し、前記管理チャネルは前記ジョブデータチャネルとは別チャネルであることを特徴とする請求項１乃至３の何れかに記載の情報処理装置。
【請求項５】
情報処理装置と通信可能で、ジョブデータチャネルによるプリントデータを含むプリントジョブデータを受信する印刷装置であって、
前記ジョブデータチャネルを介して、情報処理装置から送信されてくるヘッダを持ったプリントジョブデータとしての複数のジョブパケットを受信する受信手段と、
前記受信手段により受信したジョブパケットのヘッダを解析する解析手段と、
前記解析手段の解析に基づきプリントデータとして識別されるジョブパケットから取り出されるデータを格納する格納手段と、
前記解析手段による受信したパケットのヘッダの解析に基づきキャンセルパケットが確認されると、格納されたデータの処理のキャンセル処理を行うキャンセル手段とを有し、前記キャンセルパケットは前記情報処理装置において生成されたものであり、ヘッダにプリントジョブのキャンセル指示が含まれたダミー印刷データであることを特徴とする印刷装置。
【請求項６】
前記情報処理装置が前記複数のジョブパケットを転送する間に、前記情報処理装置において前記プリントジョブをキャンセルする指示がなされると、前記情報処理装置は、プリントジョブのキャンセル指示をヘッダに含ませたダミー印刷データのキャンセルパケットを生成することを特徴とする請求項５に記載の印刷装置。
【請求項７】
前記ダミー印刷データは空の印刷データであることを特徴とする請求項５又は６に記載の印刷装置。
【請求項８】
管理ユーティリティーが前記印刷装置へアクセスするための管理チャネルによる管理データを受信し、前記管理チャネルは前記ジョブデータチャネルとは別チャネルであることを特徴とする請求項５乃至７の何れかに記載の印刷装置。
【請求項９】
プリントデータを含むプリントジョブデータを受信するプリンタと通信可能な情報処理装置における情報処理方法であって、
各々がヘッダを持ったプリントジョブデータとしての複数のジョブパケットを生成する第１生成工程と、
ジョブデータチャネルによる前記第１生成工程により生成された複数のジョブパケットの転送を制御する転送制御工程と、
前記複数のジョブパケットを転送する間にプリントジョブをキャンセルする指示がなされると、ヘッダに前記プリントジョブのキャンセル指示を含ませたダミー印刷データのキャンセルパケットを生成する第２生成工程とを有し、前記転送制御工程は、前記ジョブデータチャネルによる前記キャンセルパケットの転送を制御し、
前記プリンタは、前記ジョブパケットのヘッダの解析に基づきプリントデータとして識別されるジョブパケットから取り出されるデータを格納部に格納し、さらに、受信したジョブパケットのヘッダ解析に基づきキャンセルパケットを確認をると、前記プリントジョブのキャンセル処理を行なうことを特徴とする情報処理方法。
【請求項１０】
前記複数のジョブパケットを転送する間に前記プリントジョブをキャンセルする指示がなされると、前記第２生成工程は、前記プリントジョブのキャンセルフラグをヘッダに含ませたダミー印刷データのキャンセルパケットを生成することを特徴とする請求項９に記載の情報処理方法。
【請求項１１】
前記ダミー印刷データは空の印刷データであることを特徴とする請求項９又は１０に記載の情報処理方法。
【請求項１２】
前記プリンタは、管理ユーティリティーが前記プリンタへアクセスするための管理チャネルによる管理データを受信し、前記管理チャネルは前記ジョブデータチャネルとは別チャネルであることを特徴とする請求項９乃至１１の何れかに記載の情報処理方法。
【請求項１３】
請求項９乃至１２の何れかに記載の情報処理方法をコンピュータに実行させるためのプログラムをコンピュータ可読の形態で記憶した記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ホストコンピュータが印刷ジョブを構成している印刷データをプリンタへ送信して、プリンタが上記印刷データに基づいて印刷を行う印刷システムにおける、情報処理装置、印刷装置、情報処理方法及び記憶媒体に関する。
【０００２】
【従来の技術】
従来、ホストコンピュータで作成されたデータ（集計データや文書データなど）が、印字データとして印刷出力装置（以下、プリンタと呼ぶ）へ転送されて、用紙等へ出力される印刷処理システムが存在していた。
【０００３】
【発明が解決しようとする課題】
しかし、従来の技術では、プリントサーバで印刷処理待ちをしている印刷ジョブをキャンセルすることはできても、プリンタで印刷処理待ちをしている印刷ジョブ、プリンタで印刷処理は開始されているが出力が完了されていない印刷ジョブのキャンセル処理をすることは困難であった。なお、ここで、印刷ジョブのキャンセルとは、この印刷ジョブに係る印字データの削除や、この印刷ジョブに係る印字データの印刷処理を停止することをいい、印刷ジョブの出力を回避するための一連の処理をいう。
【０００４】
そこで、プリンタ内の印刷ジョブをキャンセルすることができるシステムとして、図５に示すようなシステムが考えられる。特に、図５では、印刷ジョブがホストコンピュータからプリンタへ転送されている途中で、その印刷ジョブをキャンセルするための手順を示している。
【０００５】
まず、ホストコンピュータが、印刷ジョブの印刷データの転送を開始する（ステップＳ５０１）。続いて、プリンタが印刷データの受信を開始する（ステップＳ５１１）。そして、印刷データの転送中に、ユーザが、図１１に示すようなダイアログで「キャンセル」ボタンを押すと、ホストコンピュータは、印刷ジョブのキャンセル指示を受け付ける（ステップＳ５０２）。更に、そのキャンセル指示に応じて、印刷データの転送を停止する（ステップＳ５０３）。
【０００６】
ステップＳ５０３の時点で、とりあえず印刷データの転送は停止されるが、既にプリンタで受信されている印刷データはその印刷処理が行われてしまう。そのため、不要な出力を回避するためには、既にプリンタで受信されている印刷データの削除、その印刷データの印刷処理の停止を行うための処理が必要である。
【０００７】
よって、ユーザは、プリンタ内の印刷データの削除、その印刷データの印刷処理の停止を行うためのユーティリティをホストコンピュータで起動する（ステップＳ５０４）。すると、ユーティリティは（或いは、ユーティリティに従ってホストコンピュータが）、プリンタでの印刷処理の状況を示す情報を要求する制御命令をプリンタへ転送する（ステップＳ５０５）。
【０００８】
プリンタは、その制御命令に答えるべく、印刷処理の状況を示す情報をホストコンピュータへ返信する（ステップＳ５１２）。ユーティリティは、その情報をもとに図１０に示すような画面を表示する（ステップＳ５０６）。
【０００９】
ユーザは、図１０に示すような画面を見ながら、どの印刷ジョブのキャンセル指示を出したのか（ステップＳ５０２でキャンセル指示が出された印刷ジョブはどれか）を確認し、その印刷ジョブを選択して、「キャンセル」ボタンを押す。ホストコンピュータは、ユーザがどの印刷ジョブのキャンセル指示を出したかを認識し（ステップＳ５０７）、その印刷データの削除、その印刷データの印刷処理の停止をするための制御命令をプリンタへ転送する（ステップＳ５０８）。
【００１０】
プリンタは、その制御命令に応じて、該当する印刷データの削除、該当する印刷データの印刷処理の停止を行う。
【００１１】
これにより、ユーザが印刷ジョブの出力指示を出した後に、その印刷ジョブの印字データに不備（印字データの文章中の誤字、脱字など）を発見した場合や、印字データの出力体裁（用紙サイズ、レイアウトなど）に間違いがあった場合に、不要な出力を避けることができ、用紙やトナーなどの無駄な消費を回避することができる。
【００１２】
しかし、このシステムでは、不要な出力を避けるために、ユーザはステップＳ５０２とＳ５０７とで２回、印刷ジョブのキャンセル指示を出す操作をしなければならない。従って、印刷ジョブのキャンセル処理に伴うユーザの負担が多くなる。
【００１３】
また、最初のキャンセル指示が出されてから、実際にプリンタ内の印刷データが削除され、印刷データの印刷処理が停止されるまでには、ステップＳ５０４からＳ５０８までの処理が行われなければならない。そのため、この間に、プリンタ内での印字データの印刷処理が必要以上に進んでしまい、印刷ジョブのキャンセルが迅速に行われない。特に、処理能力が高い高速プリンタでは、印字データの削除、印字データの印刷処理の停止が、印字データの出力が完了される前に間に合わずに、不要な出力が回避されない場合がある。
【００１４】
【課題を解決するための手段】
上記課題を解決するため、本願発明に係わる情報処理装置は、プリントデータを含むプリントジョブデータを受信するプリンタと通信可能で、各々がヘッダを持ったプリントジョブデータとしての複数のジョブパケットを生成する生成手段と、ジョブデータチャネルによる前記生成手段により生成された複数のジョブパケットの転送を制御する転送制御手段とを有し、前記複数のジョブパケットを転送する間にプリントジョブをキャンセルする指示がなされると、前記生成手段は、ヘッダに前記プリントジョブのキャンセル指示を含ませたダミー印刷データのキャンセルパケットを生成し、前記転送制御手段は、前記ジョブデータチャネルによる前記キャンセルパケットの転送を制御し、前記プリンタは、前記ジョブパケットのヘッダの解析に基づきプリントデータとして識別されるジョブパケットから取り出されるデータを格納部に格納し、さらに、受信したジョブパケットのヘッダ解析に基づきキャンセルパケットを確認すると、前記プリントジョブのキャンセル処理を行なうことを特徴とする。
【００２０】
【発明の実施の形態】
＜印刷処理システム＞
まず、本発明に係る印刷処理システムについて説明する。図６は、本発明に係る印刷処理システムのシステム構造を示す図である。図６では、クライアントホストコンピュータ６０１とサーバホストコンピュータ６０２がネットワークに接続されている。また、プリンタ６０３及び６０６はそれぞれ、クライアントホストコンピュータ６０１及びサーバホストコンピュータ６０２にローカルインターフェースで接続されており、プリンタ６０４はネットワークに接続されている。
【００２１】
ホストコンピュータとプリンタの接続形態は、ホストコンピュータ６０１及び６０２がローカルインターフェースを介してプリンタ６０３及び６０６に接続している場合、クライアントホストコンピュータ６０１がサーバホストコンピュータ６０２を介してプリンタ６０６及びプリンタ６０４に接続している場合、ホストコンピュータ６０１及び６０２がネットワークを介してプリンタ６０４に接続している場合などがあるが、どの場合も同様である。
【００２２】
＜印刷処理システムの制御構成＞
次に、図１は、ホストコンピュータとプリンタとが通信媒体を介して接続している場合の、それぞれの制御構成を示すブロック図である。ホストコンピュータ１００とプリンタ１１０は通信媒体１２０を介して接続している。なお、ホストコンピュータ１００は、図６のクライアントホストコンピュータ６０１及びサーバホストコンピュータ６０２と同等である。また、プリンタ１１０は、図６のプリンタ６０３、６０４．６０６と同等である。また、通信媒体１２０は、図６のネットワーク及びローカルインターフェースと同等である。
【００２３】
ホストコンピュータ１００は、入力部１０６、記録媒体読取部１０５、表示部１０４、ＲＡＭ１０７、ＲＯＭ、１０８、ディスク装置１０９、制御部１０１、接続部１０２から構成されている。制御部１０１は、ＲＯＭ１０８あるいはディスク装置１０９に記憶された文書処理プログラムを実行したり、また、各構成を総括的に制御したりする。ＲＯＭ１０８やディスク装置１０９には、上記文書処理プログラムのほかに、オペレーティングシステムプログラム（以下ＯＳ）や文書処理の際に使用されるフォントデータ等が記憶され、更に、ディスク装置１０９には、文書処理プログラムで作成された文書データなども記憶される。ＲＡＭ１０７は、制御部１０１の主メモリ、ワークエリア等として使用される。
【００２４】
入力部１０６は、不図示のキーボードやポインティングデバイスからのユーザによる入力を受け付ける。表示部１０４は、ディスプレイ装置などに様々な情報を表示して、ユーザにグラフィカルインターフェースを提供する。記録媒体読取部１０５は、フロッピーディスク１０３やＣＤ−ＲＯＭなどの記録媒体へのアクセスを制御する。接続部１０２は、プリンタ１１０との通信制御を行う。
【００２５】
また、プリンタ１１０は、制御部１１１、接続部１１２、ＲＡＭ１１４、ＲＯＭ１１５、ディスク装置１１６、印刷部１１３から構成されている。接続部１１２は、ホストコンピュータ１００との間の通信制御を行い、印刷データの受信を実際に行う。制御部（ＣＰＵ）１１１は、プリンタ１１０の全体的な制御を司る。印刷部１１３は、接続部１１２で受信された印刷データをもとに紙媒体への出力を行う。プリンタの記録部はＲＯＭ（読み出し専用メモリ）１１５、ＲＡＭ（ランダムアクセスメモリ）１１４、ディスク装置１１６からなる。ＲＡＭ１１４は使用制限のないデータ記憶領域であり、印刷データの受信バッファや、印刷データもとに生成されたイメージデータの記憶領域として使用される。
【００２６】
本発明を実現するためのプログラム及び関連データは、ホストコンピュータのディスク装置１０９に記憶されており、ホストコンピュータ１００が起動されたときに、ＲＡＭ１０７にロードされ、制御部１０１により実行される。同様に、本発明を実現するためのプログラム及び関連データは、プリンタ１１０のＲＯＭ１１５に記憶されており、プリンタ１１０が起動されたときに、ＲＡＭ１１４にロードされ、制御部１１１により実行される。なお、本発明を実現するためのプログラムは、図１４及び図１５のフローチャートに基づいてプログラムコード化されている。
【００２７】
また、ユーザが記録媒体１０３をホストコンピュータの記録媒体挿入部２０１に挿入して、ホストコンピュータ１００の媒体読取部１０５が、本発明を実現するためのプログラム及び関連データを記録媒体１０３からＲＡＭ１１４にロードするようにしてもよい。
【００２８】
＜印刷処理システムの機能構成＞
次に、本発明に係る印刷システムにおける、ホストコンピュータとプリンタの機能構成を説明する。図１６は、ホストコンピュータとプリンタの機能構成を示すブロック図である。なお、この機能構成は、図１の制御構成上に実装される。
【００２９】
ホストコンピュータ１００の機能構成は、アプリケーション部１６０１と、プリンタドライバ部１６０２と、送信バッファ１６０３と、Ｉ／Ｆドライバ部１６０４と、ユーティリティ部１６０５と、論理チャネル制御部１６０６と、ジョブパケット生成部１６０７とから構成されている。
【００３０】
上記各部の機能を詳述すると、アプリケーション部１６０１は、ユーザにグラフィックユーザインタフェイスを提供し、ユーザの目的に適った文書データを生成する。プリンタドライバ部１６０２は、アプリケーション部１６０１が生成した文書データをプリンタ１１０で印刷可能なページ記述言語（ＰＤＬ）データに変換する。送信バッファ１６０３は、プリンタドライバ部１６０２が生成したＰＤＬデータを一時的に格納しておく。ジョブパケット生成部１６０７は、送信バッファ１６０３に蓄えられたＰＤＬデータからジョブパケットデータを生成する（図１７及び図１８を用いて後に説明する）。ユーティリティ部１６０５は、プリンタ１１０の情報を獲得してグラフィックユーザインタフェイスに表示したり、ユーザの要望に従ってプリンタ１１０の環境設定を変更する。
【００３１】
論理チャネル制御部１６０６は、ジョブパケット生成部１６０７から送られるジョブパケットデータを転送するためのデータチャネルと、ユーティリティ部１６０５で送受信される状態取得、環境設定のための管理パケットデータを転送するための管理チャネルとの２つの論理チャネルを１つの物理チャネルに変換する。つまり、論理チャネル制御部１６０６は、通信媒体１２０が物理的には１つの双方向インタフェースであるため、２つの異なる種類のデータを１つのインタフェースで送受信するための制御を行う。Ｉ／Ｆドライバ部１６０４は、論理チャネル制御部１６０６の制御の下、プリンタとの間のデータの送受信を実際に行う。
【００３２】
他方、プリンタ１１０の機能構成は、論理チャネル制御部１６０８と、機器データベース部１６０９と、ジョブプリプロセッサ部１６１０と、受信バッファ１６１１と、ＰＤＬトランスレータ部１６１２と、描画バッファ１６１３と、描画部１６１４と、プリンタエンジン部１６１５と、Ｉ／Ｆドライバ部１６１６と、情報管理部１６１７とから構成されている。
【００３３】
上記各部の機能を詳述すると、Ｉ／Ｆドライバ部１６１６は、ホストコンピュータ１００との間のデータの送受信を実際に行う。論理チャネル制御部１６０８は、Ｉ／Ｆドライバ部１６１６で受信したパケットデータと管理データとを後段に振り分ける。これは、ジョブパケットデータであればジョブプリプロセッサ部１６１０に渡し、管理パケットデータであれば情報管理部１６１７に渡す。
【００３４】
ジョブプリプロセッサ部１６１０は、論理チャネル制御部１６０８からジョブパケットデータを受取り、ジョブパケットのパケットヘッダ部（図１７を用いて後に説明する）に格納されているオペレーションコードに応じて、受信バッファ１６１１にＰＤＬデータを転送したり、機器データベース部１６０９に情報を設定したりする。
【００３５】
図１９を用いて後に説明するが、ジョブパケットのオペレーションコードがジョブ開始コマンドであれば、ジョブ番号を割り付けて機器データベース部１６０９のジョブ管理テーブルにジョブ番号を設定する。また、ジョブパケットのオペレーションコードがＰＤＬデータ送信オペレーションであれば、受信バッファ１６１１にＰＤＬデータとジョブ番号を転送する。ジョブプリプロセッサ部１６１０は、ＰＤＬデータを受信バッファ１６１１に転送するたびに、機器データベース部１６０９の受信済みデータの欄を更新する。また、ジョブパケットのオペレーションコードがジョブ属性設定オペレーションであれば、パラメータの内容を機器データベース部１６０９のジョブ管理テーブルに設定する。
【００３６】
ジョブプリプロセッサ部１６１０は、あるジョブ番号のすべてのＰＤＬデータを受信バッファ１６１１に格納すると、機器データベース部１６０９のジョブ管理テーブルの受信済みデータの欄にその旨を記憶する。
【００３７】
受信バッファ１６１１は、ジョブ番号が割り付けられたＰＤＬデータを一時的に保有し、後段の処理の遅延の緩衝材となる。機器データベース部１６０９は、プリンタ１１０の機器情報及び印刷ジョブのジョブ情報を格納しておく。なお、機器データベース部１６０９のジョブ管理テーブルについては、図１３をもちいて後に説明する。
【００３８】
情報管理部１６１７は、管理チャネルで送られてきた管理パケットを受取り、管理パケットのオペレーションコードとデータに応じて機器データベース部１６０９の情報の書き換えや、印刷ジョブの制御を行う。
【００３９】
ＰＤＬトランスレータ部１６１２は、ＰＤＬデータの翻訳処理を行って、描画に適した描画オブジェクト（中間データ）に変換し、描画バッファ１５１３に格納する。描画バッファ１６１３は、描画オブジェクトが印刷処理されるまで、その描画オブジェクトを一時的に格納しておくものである。描画バッファ１６１３に１ページ分の描画オブジェクトが格納されると、描画部１６１４は描画オブジェクトの印刷処理を開始する。
【００４０】
描画部１６１４は、描画バッファ１６１３に一時格納された描画オブジェクトを実際に描画を行ってビットマップ画像を生成し、ビットマップ画像をプリンタエンジン部１６１５に送信する。描画部１６１４は、新しいジョブ番号のビットマップ画像の生成を始めると、機器データベース部１６０９のジョブ管理テーブルの印字中データの欄を更新する。
【００４１】
プリンタエンジン部１５１５は、描画部１５１４が生成したビットマップ画像を受取り、既知の印刷技術により用紙等のメディアに出力する。
【００４２】
＜印刷ジョブ＞
印刷ジョブは、複数のジョブパケットから構成され、それぞれのジョブパケットは、パケットヘッダ部とデータ部とから構成される。そして、ジョブパケットは１つのデータの塊としてホストコンピュータ１００からプリンタ１１０へ送信される。ここでいうパケットとは、ネットワークにおけるデータ通信でのパケットという下位層のパケットではなく、印刷ジョブに係るデータの塊という上位概念のパケットである。
【００４３】
図１７はジョブパケットの構造を示す構造図である。縦軸はバイトを示し、横軸は各バイトのビットを示している。図中において０〜１バイト目のオペレーションコードは、パケットの機能を示す長さ２バイトのＩＤを示すものである。オペレーションコードは、以下の値を取ることができる。
【００４４】
０ｘ０２０１    ジョブ開始オペレーション
０ｘ０２０２    ジョブ属性設定オペレーション
０ｘ０２０４    ＰＤＬデータ送信オペレーション
０ｘ０２０５    ジョブ終了オペレーション
ここで「０ｘ」とは、１６進数表記を意味している。ジョブ開始オペレーションは、印刷ジョブの開始を示すジョブパケットのオペレーションコードである。ジョブ属性設定オペレーションは、印刷ジョブの属性を設定するためのジョブパケットのオペレーションコードである。ＰＤＬデータ送信オペレーションは、ＰＤＬデータが格納されているジョブパケットのオペレーションコードである。ジョブ終了オペレーションは、印刷ジョブの終了を示すジョブパケットのオペレーションコートである。また、ジョブ制御オペレーションは、印刷ジョブを制御するためのジョブパケットのオペレーションコードである。
【００４５】
２〜３バイト目のブロック番号は、ジョブパケットを送信した側が返答を要求する場合に、要求と返答の対応を取るために使用する番号である。例えば、それぞれブロック番号＝１、２、３というジョブパケットをホストコンピュータ１０９が立て続けに送信した時にブロック番号＝２というエラーパケットが印刷装置１１０から返ってきた場合、送信側は２番目に送ったジョブパケットにエラーが発生したことを特定することが可能である。
【００４６】
４〜５バイト目のパラメータ長は、１２バイト目以降のデータ部のバイト長さを示す領域で、０〜６４Ｋバイトまでを示すことが可能である。パラメータ長は、パケットヘッダが示す属性により異なる。
【００４７】
６〜７バイト目はジョブパケットの各種フラグを示す領域で、それぞれ以下の値を示す。
【００４８】
エラーフラグ：この値が１の場合、印刷装置１１０で何らかのエラーが発生したことを示す。このフラグは印刷装置１１０からホストコンピュータ１０９に送られる返信パケットに付加される。
【００４９】
通知フラグ：この値が１の時は、ホストコンピュータ１０９からの要求パケットに対する返答ではなく、印刷装置１１０が何らかの通知事項があることをホストコンピュータ１０９に通知することを示している。
【００５０】
継続フラグ：この値が１の場合、データ部に全てのデータが入らなかったため、次のジョブパケットで残りのデータが送られることを示す。次のジョブパケットは前のパケットと同じオペレーションコードを設定しなくてはならない。
【００５１】
返答要求：ホストコンピュータ１０９から印刷装置１１０に対して返答パケットが必要な場合に１をセットする。０のときは要求パケットは正常に処理された場合には返答は返さない。印刷装置１１０でエラーが発生した場合には返答要求の０／１に関わらず、常にエラーフラグを１にした返答パケットを送出する。
【００５２】
キャンセルフラグ：この値が１の場合には、印刷ジョブのキャンセル指示が出されていることを示す。
【００５３】
８〜９バイト目のユーザＩＤ及び１０〜１１バイト目のパスワードは、要求パケットでできる操作にセキュリティ的制限を設ける際に認証に使われる領域である。
【００５４】
１２バイト目以降はオペレーションコードに対応したデータ（パラメータやＰＤＬ）が格納される。ジョブ開始オペレーション及びジョブ終了オペレーションの場合は、データは存在しない。
【００５５】
ジョブ属性設定オペレーションの場合、設定したいジョブ属性ＩＤとジョブ属性値を設定する。ジョブ属性ＩＤとは、印刷ジョブに関する属性に対応した識別子を示すもので、ＩＳＯ−１０１７５（ＤＰＡ）（ＩＳＯ：国際標準化機構）で規定されるジョブの属性に相当するＩＤが予め割り振られている。以下にジョブ属性の代表的なものを挙げる。
【００５６】
０ｘ０１０１    ジョブ名称
０ｘ０１０３    ジョブオーナ名
０ｘ０１６ａ    ジョブサイズ
【００５７】
ＰＤＬデータ送信オペレーションの場合は、データ部にはＰＤＬデータが入る。１つのジョブパケットのデータは上記パラメータ長に格納できる最大サイズまでなので、６４ＫＢまで格納可能であり、それ以上のデータは複数のジョブパケットに分割されて送信され、それぞれのジョブパケットのオペレーションコードはＰＤＬデータ送信オペレーションになっている。また、これらのジョブパケットの上記継続フラグは１になっている。
【００５８】
＜ジョブパケットの生成＞
図１８は、ジョブパケット生成部１６０７が、１つの印刷ジョブに係るジョブパケットを生成するための動作を示すフローチャートである。ユーザが、アプリケーション部１６０１で文書データを生成した後、当該文書データの印刷指示を出すと、文書データがアプリケーション部１６７０１からＧＤＩ（Graphical Device Interface）等を通じてプリンタドライバ１６０２に送信される。プリンタドライバ１６０２は、ＧＤＩから送られてきたデータに基づいてＰＤＬデータを生成し、送信バッファ１６０３に格納する。送信バッファ１６０３にＰＤＬデータが順次生成されると、ジョブパケット生成部１６０７がジョブパケットの生成処理を開始する。
【００５９】
ステップ１８０１において、ジョブパケット生成部１６０７は、ジョブ開始パケットを生成し、論理チャネル制御部１５０６に送信する。ジョブ開始パケットは、パケットヘッダ（図１７）のオペレーションコードがジョブ開始オペレーション（「０２０１」）になっているジョブパケットである。またジョブ開始パケットのデータ部には、ジョブパケット生成部１６０７が発行するジョブの識別子が入る。
【００６０】
ステップ１８０２において、ジョブパケット生成部１６０７は、ジョブ属性パケットを生成し、論理チャネル制御部１５０７に送信する。ジョブ属性パケットは、パケットヘッダ（図１７）のオペレーションコードがジョブ属性設定オペーレーション（「０２０２」）になっているジョブパケットである。また、ジョブ属性パケットのデータ部には、当該印刷ジョブに関する属性ＩＤと属性値が入る。ジョブ属性には、前述したように、ジョブ名、ジョブオーナ名、ジョブサイズなどがある。なお、ジョブ名は、ＧＤＩからプリンタドライバ部１６０２が取得でき、またジョブオーナ名は、ＯＳに付属されている関数からユーザのログオン時のユーザ名を取得でき、ジョブサイズは、プリンタドライバ１６０２が生成するＰＤＬを内部計算により求めることができる。
【００６１】
ステップ１８０３において、ジョブパケット生成部１６０７は、ジョブパケットで送信可能なデータの最大サイズＮを取得する。上記説明したように、本実施の形態では、ジョブパケットで送信可能なデータのの最大サイズは、６４Ｋｂｙｔｅである。
【００６２】
次にステップ１８０４において、ジョブパケット生成部１６０７は、送信すべきデータのサイズ、具体的には、送信バッファ１６０３に格納されているＰＤＬデータのサイズを取得する。ステップ１８０５では、ステップ１８０４で取得した送信データ（ＰＤＬデータ）のサイズが最大サイズＮよりも大きいか否かを判定する。もし送信データのサイズが最大サイズＮよりも大きいと判定された場合（ステップ１８０５−Ｙｅｓ）は、ステップ１８０６に処理が進み、ジョブパケット生成部１６０７は、ＰＤＬデータを先頭からサイズＮ（ここでは６４Ｋｂｙｔｅ）の部分とそれ以外の部分（残りの部分）に分割する。
【００６３】
ステップ１８０７において、ジョブパケット生成部１６０７は、先頭からサイズＮの部分ＰＤＬデータが格納された送信データパケットのパケットヘッダを生成する。送信データパケットは、パケットヘッダ（図１７）のオペレーションコードがＰＤＬデータ送信オペレーション（「０２０４」）になっているジョブパケットである。また、このときパケットヘッダの継続フラグを「１」にする。
【００６４】
そしてステップ１８０８で、ジョブパケット生成部１６０７は、パケットヘッダと先頭からサイズＮ分のＰＤＬデータををつなげて、送信データパケットを作成する。つまり、ジョブパケットのデータ部には、サイズＮ分のＰＤＬデータがそのまま入る。
【００６５】
ステップ１８０９では、ジョブパケット生成部１６０７は、作成したジョブパケットを論理チャネル制御部１６０６に送信する。そして、ステップ１８１０において、ジョブパケット生成部１６０７は、送信されていいないＰＤＬデータのサイズを取得し、ステップ１８０５の処理に戻る。
【００６６】
一方、ステップ１８０５において、送信データのサイズが最大サイズＮ未満であると判断された場合は、ステップ１８１１に処理が進み、ステップ１８０７と同様にパケットヘッダを生成する。しかし、ステップ１８１１では、パケットヘッダの継続フラグは「０」にしておく。
【００６７】
そしてステップ１８１２で、ジョブパケット生成部１６０７は、パケットヘッダと残りのＰＤＬデータとをつなげて、送信データパケットを作成する。ステップ１８１３では、ジョブパケット生成部１６０７は、作成した送信データパケットを論理チャネル制御部１６０６に送信しする。
【００６８】
最後に、ステップ１８１４では、ジョブパケット生成部１６０７は、ジョブ終了パケットを生成し、論理チャネル制御部１５０６に送信する。ジョブ終了パケットは、パケットヘッダ（図１６）のオペレーションコードがジョブ終了オペレーション（「０２０５」）になっているジョブパケットである。ジョブ少量パケットのデータ部には、実際はパラメータやデータは存在しない。
【００６９】
このようにして、１つの印刷ジョブに係る一連のジョブパケットが生成され、論理チャネル制御部１５０６を介してホストコンピュータ１００からプリンタ１１０に送信される。
【００７０】
＜ジョブパケットの受信＞
次に、プリンタ１１０のジョブプリプロセッサ１６０８がジョブパケットを受信したときの動作を説明する。図１９は、ジョブプリプロセッサ部１６０８がジョブパケットを受信したときの動作を示すフローチャートである。
【００７１】
論理チャネル制御部１６０８は、ホストコンピュータから送られてきたジョブパケットをジョブプリプロセッサ部１６０８へ転送し、一方、管理パケットは情報管理部１６１７へ転送する。従って、ジョブプリプロセッサ部１６０８は、ステップＳ１９０１においては、ジョブパケットを受信したかを判定する。
【００７２】
ジョブパケットを受信していると判定した場合（ステップＳ１９０１−Ｙｅｓ）には、ステップＳ１９０２において、ジョブパケットのパケットヘッダのオペレーションコードを解析する。
【００７３】
そして、ステップＳ１９０３では、まず、ジョブパケットがジョブ終了パケットであるかをか判定し、ジョブ終了パケットである場合（ステップＳ１９０３−Ｙｅｓ９はステップＳ１９１２に進む。そして、ステップＳ１９１２では、機器データベース部１６０３のジョブ管理テーブルの受信済みデータの欄に、このジョブ終了パケットに係る印刷ジョブの印刷データが１００％受信済みであることを書き込む。
【００７４】
ジョブ終了パケットでない場合（ステップＳ１９０３−Ｎｏ）は、ステップＳ１９０４において、ジョブパケットがジョブ開始パケットであるかを判定し、ジョブ開始パケットである場合はステップＳ１９０８に遷移する。そして、ステップＳ１９０８では、ジョブ開始パケットに係る印刷ジョブにジョブ番号を発行して、その印刷ジョブをジョブ番号と共にジョブ管理テーブルに登録する。
【００７５】
ジョブ開始パケットでない場合（ステップＳ１９０４−Ｎｏ）は、ステップＳ１９０５において、ジョブパケットがジョブ属性パケットであるかどうかを判定し、ジョブ属性パケットである場合はステップＳ１９０９に遷移する。そして、ステップＳ１９０９では、ジョブ管理テーブルの当該印刷ジョブのジョブ属性の欄を更新する。
【００７６】
ジョブ属性パケットでない場合（ステップＳ１９０５−Ｎｏ）は、ステップＳ１９０６において、ジョブパケットが送信データパケットであるかどうかを判定し、送信データパケットである場合はステップＳ１９１０に遷移する。そして、ステップＳ１９１０では、印刷データを受信バッファ１６１１に格納する。このとき、当該印刷データがどの印刷ジョブのものであるかが後で確認できるように、印刷データと共にジョブ番号をも受信バッファに記憶する。更に、ステップＳ１９０７では、このジョブパケットに係る印刷ジョブの印刷データをどれだけ既に受信しているかを確認して、ジョブ管理テーブルの受信済みデータの欄を更新する。
【００７７】
＜印刷データの送信処理＞
以上のことを踏まえて、ユーザによる印刷ジョブの出力指示及び当該印刷ジョブのキャンセル指示に対するホストコンピュータの動作を説明する。図１４は、このときのホストコンピュータ１００の制御部１０１の動作を示すフローチャートである。なお、ここでは、ホストコンピュータ１００の各機能構成（図１６）の動作を総括して、ホストコンピュータの制御部１０１の動作とする。
【００７８】
まず、ユーザが、プリンタドライバ部１６０２用のユーザインターフェースであるプリントダイアログ（図７）で、「プリント」ボタンを押すと、制御部１１０は、印刷ジョブの処理を開始し（ステップ１４０１）、まず、当該印刷ジョブの印刷データ（ＰＤＬデータ）を生成する（ステップ１４０２）。そして、印刷ジョブの処理に使用する印刷ジョブ情報テーブルをＲＡＭ１０７に作成する（ステップ１４０３）。図１２は、印刷ジョブ情報テーブルの一例である。
【００７９】
この時点では、印刷ジョブ情報テーブルは、（Ａ）のようになっており、この例では、ジョブ名称「サンプルＡ」、オーナー名「Ｍｒ−Ｂ」の印刷ジョブの出力指示が出されたことになっている。また、この印刷ジョブのページ数が５ページであることが未処理送信待ちデータの欄に示されている。なお、この時点では、まだ、印刷データの転送が行われていないため、処理中送信データはなく、印刷ジョブのステータスは送信待ちになっている。
【００８０】
次に、制御部１０１は、印刷データの転送を開始すると共に、表示部１０４に図１１に示すようなキャンセルダイアログを表示する（ステップ１４０４）。そして、ユーザがキャンセルダイアログの「キャンセル」ボタンを押したかどうかを判定する（ステップ１４０５）。
【００８１】
「キャンセル」ボタンがユーザにより押されていないと判定した場合（ステップ１４０５−Ｎｏ）には、印刷データをプリンタ１１０へ送信するための処理を行う（ステップ１４０９）。具体的には、ジョブパケット生成部１６０７によるジョブパケットの生成処理、論理チャネル制御部１６０６によるジョブパケットの送信処理を行う。そして、ステップ１４０９で送信された分の印刷データを送信バッファから削除して（ステップ１４１０）、印刷ジョブ情報テーブルの未処理送信待ちデータ及び処理中送信待ちデータの欄を更新する（ステップ１４１１）。
【００８２】
図１２の印刷ジョブ情報テーブル（Ｂ）は、ステップ１４１１での更新後の印刷ジョブ情報テーブルの一例である。ここでは、印刷ジョブ「サンプルＡ」の１ページ目が送信中であり、１ページの７０％が送信待ち（１ページの３０％が送信済み）であることが示されている。
【００８３】
一方、ステップ１４０５において、「キャンセル」ボタンがユーザにより押されていると判定した場合（ステップ１４０５−Ｙｅｓ）には、ＲＡＭ１０７に格納されている印刷ジョブ情報テーブルを参照して、送信済みデータがあるかどうかを判定する（ステップ１４０６）。
【００８４】
送信済みデータがない（例えば、印刷ジョブ情報テーブルが図１２の（Ａ）の状態にある場合）と判定した場合（ステップ１４０６−Ｎｏ）は、未処理・処理中を問わずに送信待ちデータを記憶部から削除する（ステップ１４１５）。例えば、印刷ジョブ情報テーブルが（Ａ）の状態の場合は、印刷ジョブ「サンプルＡ」の５ページ分の印刷データを無効にする（或いは削除する）。続いて、印刷ジョブ情報テーブルをもＲＡＭ１０７から消去（削除）する。
【００８５】
送信済みデータがある（例えば、印刷ジョブ情報テーブルが図１２の（Ｃ）の状態にある場合）と判定した場合（ステップ１４０６−Ｙｅｓ）には、既にプリンタ１１０に送信済みの印刷データの削除、これらの印刷データの印刷処理の停止を行うべく、ステップ１４１６、１４０７、１４０８、１４１７の処理を行う。
【００８６】
まず、キャンセルフラグをプリンタ１１０へ送信するための、ダミーの印刷データをＲＡＭ１０７に生成する（ステップ１４１６）。具体的には、ダミーの印刷データとは、実質的なデータのない空の印刷データである。次に、このダミーの印刷データにキャンセルフラグを設定する（ステップ１４０７）。具体的には、このダミーの印刷データが格納された送信データパケット（＜ジョブパケットの生成＞で説明済み）のパケットヘッダ部のキャンセルフラグの値を１にする。
【００８７】
そして、印刷ジョブ情報テーブルのキャンセルの欄に「ＯＮ」を設定する（ステップ１４０８）。印刷ジョブ情報テーブル（Ｄ）は、ステップ１４０８後の印刷ジョブ情報テーブルの一例である。最後に、ダミーの印刷データを送信する処理を行う（ステップ１４１７）。具体的には、ダミーの印刷データが格納され、パケットヘッダ部のキャンセルフラグが１になっている送信データパケットをプリンタ１１０へ送信する。
【００８８】
以上、ステップ１４０５で、「キャンセル」ボタンが押されたと判定した場合、押されなかったと判定した場合の処理をそれぞれ説明してきたが、ステップ１４１１或いはステップ１４１７の処理が行われた後には、ステップ１４１２に移る。
【００８９】
ステップ１４１２では、印刷ジョブ情報テーブルを参照して、キャンセルの欄に「ＯＮ」が設定されているかどうかを判定する（ステップ１４１２）。キャンセルの欄に「ＯＮ」が設定されていない（例えば、印刷ジョブ情報テーブルが（Ａ）、（Ｂ）、（Ｃ）の状態にある場合）と判定した場合（ステップ１４１２−Ｎｏ）には、全ての印刷データを送信したかを判定する（ステップ１４１４）。全ての印刷データの送信が完了した場合（ステップ１４１４−Ｙｅｓ）、ステップ１４１５に移り、全てのイン差羽データの送信が完了していない場合（ステップ１４１４−Ｎｏ）には、ステップ１４０５に戻る。
【００９０】
一方、キャンセルの欄に「ＯＮ」が設定されている（例えば、印刷ジョブ情報テーブルが（Ｄ）の状態にある場合）と判定した場合（ステップ１４１２−Ｙｅｓ）には、未処理・処理中を問わずに送信待ちデータを記憶部から削除する（ステップ１４１５）。例えば、印刷ジョブ情報テーブルが（Ｄ）の状態の場合は、印刷ジョブ「サンプルＡ」の２ページ（Ｐ４、Ｐ５）分の印刷データを無効にする（或いは削除する）。続いて、印刷ジョブ情報テーブルをもＲＡＭ１０７から消去（削除）する。
【００９１】
＜印刷データの受信処理＞
次に、印刷データの受信処理を行うときのプリンタ１１０の動作を説明する。図１５は、このときのプリンタ１１０の制御部１１１の動作を示すフローチャートである。なお、ここでは、プリンタ１１０の各機能構成（図１６）の動作を総括して、プリンタ１１０の制御部１１１の動作とする。また、ここでは、ある１つの印刷ジョブについて、それの印刷データの受信処理の流れを説明する。
【００９２】
まず、制御部１１１は、ホストコンピュータからの印刷データを受信中であるかを判定する（ステップ１５０１）。印刷データを受信中であれば（ステップ１５０１−Ｙｅｓ）、その印刷データの受信処理を行う（ステップ１５０７）。このとき、ジョブ管理テーブルの受信済みデータの欄を更新する。例えば、ジョブ管理テーブル（Ｂ）では、印刷ジョブ「サンプルＡ」の１ページ目のデータを３０％受信したことが示されている。
【００９３】
そして、受信した印刷データの中にキャンセルフラグが立っているものが存在するかを確認する（ステップ１５０８）。具体的には、受信した送信データパケット中で、パケットヘッダ部のキャンセルフラグが１になっている送信データパケットがあるかどうかを判定する。もし、キャンセルフラグが立っている印刷データが存在しないと確認した場合（ステップ１５０８―Ｎｏ）には、ステップ１５０２に移る。
【００９４】
ステップ１５０２では、ジョブ管理テーブルを参照して、印刷処理可能な受信済みデータ或いは印刷処理中のデータが存在するかどうかを判定する（ステップ１５０２）。例えば、ジョブ管理テーブルが（Ｂ）の状態にある場合には、１ページ目のデータが完全に受信し終えていないため、印刷処理可能な受信済みデータは存在しないと判定する。また、ジョブ管理テーブルが（Ｃ）の状態にある場合には、印刷処理可能な受信済みデータ、印刷処理中データの両方が存在すると判定する。
【００９５】
印刷処理可能な受信済みデータ或いは印刷処理中のデータが存在すると判定した場合（ステップ１５０２）には、印刷処理を行い（ステップ１５０３）、それに応じて、ジョブ管理テーブルを更新する。具体的には、印刷ジョブ「サンプルＡ」の１ページ目の印刷データが受信済みになった場合には、当該１ページ目の印刷データの印刷処理を開始し、ジョブ管理テーブルを（Ｃ）の状態にする。
【００９６】
ステップ１５０５では、印刷ジョブの印刷データをすべて印刷処理したかを判定し、全ての印刷データを印刷処理し終えている場合には、当該印刷ジョブの情報をジョブ管理テーブルから抹消する（ステップ１５０６）。
【００９７】
一方、ステップ１５０８で、キャンセルフラグが立っている印刷データが存在すると確認した場合（ステップ１５０８―Ｙｅｓ）には、まず、ジョブ管理テーブルを参照して、キャンセル指示が出された印刷ジョブの印刷データであって、印刷処理中の印刷データが存在するかを判定する（ステップ１５０９）。存在する場合には、当該印刷データの印刷処理を停止し（ステップ１５１０）、その印刷データを削除する（ステップ１５１１）。具体的には、ＰＤＬトランスレータ部１６１２や描画部１６１４の処理を停止させ、処理中だったデータを破棄させる、あるいは無効にさせる。
【００９８】
次に、ジョブ管理テーブルを参照して、キャンセル指示が出された印刷ジョブの印刷データであって、受信済みの印刷データが存在するかを判定する（ステップ１５１２）。存在する場合には、当刷印刷データの削除を行う（ステップ１５１３）。具体的には、受信バッファ１６１１や描画バッファ１６１３に格納されている印刷データを、キャンセル指示された印刷ジョブのジョブ番号に従って、削除したり、無効にしたりする。
【００９９】
以上の、印刷ジョブのキャンセル処理が狩猟したら、当該印刷ジョブの情報をジョブ管理テーブルから削除する。
【０１００】
＜ホストコンピュータとプリンタ間の印刷データの送受信＞
図９は、ホストコンピュータ１００とプリンタ１１０間の印刷データの送受信の様子を示した図である。まず、ステップ（Ａ）で、ホストコンピュータで印刷ジョブの出力指示が出され、５ページ分の印刷データが送信待ちになる。続いて、１ページ目の印刷データのホストコンピュータからプリンタへの送信が開始され、ステップ（Ｂ）では１ページ目の３０％分のデータが既に送信され終わっていることを示している。
【０１０１】
順次、２ページ、３ページと印刷データが送信され、ステップ（Ｃ）、（Ｄ）では、４ページ目の印刷データが送信されている様子を示している。
【０１０２】
最後に、ステップ（Ｅ）では、印刷ジョブのキャンセル指示に対して、ダミーの印刷データがホストコンピュータからプリンタへ送信されている様子を示している。
【０１０３】
＜プリンタの構成＞
本発明に係るプリンタの具体的な構成を説明する。プリンタとしてはレーザビームプリンタを用いてもよい。図２０は、この場合のレーザビームプリンタの内部構造を示す断面図である。図２０において、２０４０は本体であり、供給される文字パターン等を基に、記録媒体である記録紙上に像を形成する。２０００は操作のためのスイツチ及びＬＥＤ表示器などが配されている操作パネル、２００１はＬＢＰ２０４０全体の制御及び文字パターン情報等を解析するプリンタ制御ユニツトである。このプリンタ制御ユニツト２００１は主に文字パターン情報をビデオ信号に変換してレーザドライバ２００２に出力する。
【０１０４】
レーザドライバ２００２は半導体レーザ２００３を駆動するための回路であり、入力されたビデオ信号に応じて半導体レーザ２００３から発射されるレーザ光２００４をオン・オフ切替えする。レーザ光２００４は回転多面鏡２００５で左右方向に振られて静電ドラム２００６上を走査する。これにより、静電ドラム２００６上には文字パターンの静電潜像が形成される。この潜像は静電ドラム２００６周囲の現像ユニツト２００７により現像された後、記録紙に転写される。
【０１０５】
この記録紙にはカットシートを用い、カットシート記録紙はＬＢＰ２０４０に装着した複数種の用紙に対応した複数の用紙カセツト２００８に収納され、給紙ローラ２００９及び搬送ローラ２０１０と２０１１とにより装置内に取込まれて、静電ドラム２００６に供給される。
【０１０６】
レーザビームプリンタを例にして説明したが、これに限定されるものでなく、以下で説明するインクジェットプリンタ等にも適応可能である。図２１は、不図示であるが複数種の用紙を印刷ジョブに対応して給紙可能であるインクジェット記録装置ＩＪＲＡの概観図である。同図において、駆動モータ５０１３の正逆回転に連動して駆動力伝達ギア５０１１，５００９を介して回転するリードスクリュー５００５の螺旋溝５００４に対して係合するキャリッジＨＣはピン（不図示）を有し、矢印ａ，ｂ方向に往復移動される。このキャリッジＨＣには、インクジェットカートリッジＩＪＣが搭載されている。５００２は紙押え板であり、キャリッジの移動方向に亙って紙をプラテン５０００に対して押圧する。５００７，５００８はフォトカプラで、キャリッジのレバー５００６のこの域での存在を確認して、モータ５０１３の回転方向切り換え等を行うためのホームポジション検知手段である。５０１６は記録ヘッドの前面をキャップするキャップ部材５０２２を支持する部材で、５０１５はこのキャップ内を吸引する吸引手段で、キャップ内開口５０２３を介して記録ヘッドの吸引回復を行う。５０１７はクリーニングブレードで、５０１９はこのブレードを前後方向に移動可能にする部材であり、本体支持板５０１８にこれらが支持されている。ブレードは、この形態でなく周知のクリーニングブレードが本例に適用できることは言うまでもない。又、５０２１は、吸引回復の吸引を開始するためのレバーで、キャリッジと係合するカム５０２０の移動に伴って移動し、駆動モータからの駆動力がクラッチ切り換え等の公知の伝達手段で移動制御される。これらのキャッピング、クリーニング、吸引回復は、キャリッジがホームポジション側の領域に来た時にリードスクリュー５００５の作用によってそれらの対応位置で所望の処理が行えるように構成されているが、周知のタイミングで所望の作動を行うようにすれば、本例にはいずれも適用できる。
【０１０７】
＜その他の実施の形態＞
なお、本発明は、複数の機器（例えばホストコンピュータ，インタフェイス機器，リーダ，プリンタなど）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、複写機，ファクシミリ装置など）に適用してもよい。また、複数の機能（コピー、プリント、ＦＡＸ）を持っている複合機に適用してもよい。
【０１０８】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、図２に示すようにシステムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても、達成されることは言うまでもない。プログラムとは、本実施例で説明した図１４、１５、１８、１９のフローチャートの制御をプログラムコード化したものである。この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【０１０９】
図３は、本発明に係るホストコンピュータの制御プログラムがＲＡＭ１０７にロードされ実行可能となった状態のメモリマップを示す。
【０１１０】
また、図４は、本発明に係るプリンタの制御プログラムがＲＡＭ１１４にロードされ実行可能となった状態のメモリマップを示す。
【０１１１】
本実施例では、記憶媒体から本制御プログラム及び関連データを直接ＲＡＭにロードして実行させる例を示したが、この他にＦＤ等の外部記憶媒体から本制御プログラム及び関連データを一旦不揮発性記憶媒体であるハードディスク（ディスク装置１０９）に格納（インストール）しておき、本データ作成・送信処理制御プログラムを動作させる際にハードディスクからＲＡＭにロードするようにしても良い。
【０１１２】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピディスク，ハードディスク，光ディスク，光磁気ディスク，ＣＤ−ＲＯＭ，ＣＤ−Ｒ，磁気テープ，不揮発性のメモリカード，ＲＯＭなどを用いることができる。また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１１３】
さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１１４】
【発明の効果】
本発明では、最初のキャンセル指示が出されてから、実際にプリンタ内の印刷データを削除したり、印刷データの印刷処理を停止したりする処理を迅速に行うことができる。
【図面の簡単な説明】
【図１】ホストコンピュータとプリンタとが通信媒体を介して接続している場合の、それぞれの制御構成を示すブロック図である。
【図２】本発明に係るプログラムをシステム或いは装置に供給する方法を示す図である。
【図３】本発明に係るホストコンピュータの制御プログラムがＲＡＭ１０７にロードされ実行可能となった状態のメモリマップを示す図である。
【図４】本発明に係るプリンタの制御プログラムがＲＡＭ１１４にロードされ実行可能となった状態のメモリマップを示す図である。
【図５】印刷ジョブをキャンセルするための手順を示すフローチャートである。
【図６】印刷処理システムのシステム構造を示す図である。
【図７】プリンタドライバ用のユーザインターフェースであるプリントダイアログの一例を示す図である。
【図８】印刷システムを示す概念図である。
【図９】ホストコンピュータとプリンタ間の印刷データの送受信の様子を示した図である。
【図１０】プリンタでの印刷処理の状況を表示する画面の一例を示す図である。
【図１１】キャンセルダイアログの一例を示す図である。
【図１２】印刷ジョブ情報テーブルの例を示す図である。
【図１３】ジョブ管理テーブルの例を示す図である。
【図１４】ユーザによる印刷ジョブの出力指示及び当該印刷ジョブのキャンセル指示に対するホストコンピュータの制御部の動作を示すフローチャートである。
【図１５】印刷データの受信処理を行うときのプリンタの制御部の動作を示すフローチャートである。
【図１６】ホストコンピュータとプリンタの機能構成を示すブロック図である。
【図１７】ジョブパケットの構造を示す構造図である。
【図１８】ジョブパケット生成部が、１つの印刷ジョブに係るジョブパケットを生成するための動作を示すフローチャートである。
【図１９】ジョブプリプロセッサ部がジョブパケットを受信したときの動作を示すフローチャートである。
【図２０】レーザビームプリンタの内部構造を示す断面図である。
【図２１】複数種の用紙を印刷ジョブに対応して給紙可能であるインクジェット記録装置ＩＪＲＡの概観図である。
【符号の説明】
１００  ホストコンピュータ
１０１  制御部
１０２  接続部
１０３  記録媒体
１０４  表示部
１０５  媒体読取部
１０６  入力部
１０７  ＲＡＭ
１０８  ＲＯＭ
１０９  ディスク装置
１１０  プリンタ
１１１  制御部
１１２  接続部
１１３  印刷部
１１４  ＲＡＭ
１１５  ＲＯＭ
１１６  ディスク装置
【図１】
0003817387.tif 000002
【図２】
0003817387.tif 000003
【図３】
0003817387.tif 000004
【図４】
0003817387.tif 000005
【図５】
0003817387.tif 000006
【図６】
0003817387.tif 000007
【図７】
0003817387.tif 000008
【図８】
0003817387.tif 000009
【図９】
0003817387.tif 000010
【図１０】
0003817387.tif 000011
【図１１】
0003817387.tif 000012
【図１２】
0003817387.tif 000013
【図１３】
0003817387.tif 000014
【図１４】
0003817387.tif 000015
【図１５】
0003817387.tif 000016
【図１６】
0003817387.tif 000017
【図１７】
0003817387.tif 000018
【図１８】
0003817387.tif 000019
【図１９】
0003817387.tif 000020
【図２０】
0003817387.tif 000021
【図２１】
0003817387.tif 000022