(57)【要約】      （修正有）【課題】プリンタによる印刷ジョブの取消し方法が開示され、当該方法は、比較的小型のバッファメモリを有するプリンタに特に有用である。【解決手段】プリンタのコントロールパネルを用いてユーザにより印刷ジョブが取り消されると、この方法によって、現行ジョブが取り消されている間にプリンタコントローラが追加の印刷ジョブを受信できるようになる。この際、現行の印刷ジョブの送信を停止するようにホストに通知する必要がない。プリンタコントローラは、取り消されているジョブに割り当てられたメモリを削減する。プリンタコントローラは、ホストから現行ジョブ用のデータを受け入れ続けるが、受信した当該データを印刷はしない。このデータはその後メモリから消去される。プリンタコントローラはまた、取り消されている印刷ジョブに対してより低位の優先度を割り当てる。なお、残りのメモリは追加の印刷ジョブを受信し、印刷するのに用いられうる。【選択図】図１
2009241584.tif 000002
【特許請求の範囲】
【請求項１】
プリンタにより実行される印刷方法であって、
（ａ）第１の印刷ジョブに対して第１の記憶領域を割り当てるステップと、
（ｂ）第１のホストから前記第１の印刷ジョブ用の複数ページの印刷データを受信し、当該複数ページの印刷データを前記第１の記憶領域内に配置するステップと、
（ｃ）前記第１の記憶領域中の前記複数ページの印刷データを印刷するステップと、
（ｄ）プリンタのコントロールパネルから前記第１の印刷ジョブを取り消すための取消し要求が受信されているか否かを決定するステップと、
（ｅ）前記取消し要求が受信された場合に、
（ｅ１）前記第１の印刷ジョブに対して、前記第１の記憶領域よりも小さい第２の記憶領域を割り当て、
（ｅ２）前記第１のホストから前記第１の印刷ジョブ用の複数ページの印刷データを受信し続けて当該複数ページの印刷データを前記第２の記憶領域内に配置し、当該印刷データを印刷することなく前記第２の記憶領域から当該印刷データを消去するステップと、
を含む、印刷方法。
【請求項２】
前記印刷データはラスター画像データを含む、請求項１に記載の方法。
【請求項３】
前記第２の記憶領域は前記第１の記憶領域の２分の１である、請求項１または２に記載の方法。
【請求項４】
ステップ（ｅ）は、前記第１のホストに通知することなく実行される、請求項１〜３のいずれか１項に記載の方法。
【請求項５】
ステップ（ｅ２）を行う間に、
（ｆ）第２の印刷ジョブに対して、前記第１の記憶領域よりも小さい第３の記憶領域を割り当てるステップと、
（ｇ）第２のホストから前記第２の印刷ジョブ用の複数ページの印刷データを受信し、当該複数ページの印刷データを前記第３の記憶領域内に配置するステップと、
（ｈ）前記第３の記憶領域中の前記複数ページの印刷データを印刷するステップと、
をさらに含む、請求項１〜４のいずれか１項に記載の方法。
【請求項６】
前記第２の記憶領域は前記第１の記憶領域の２分の１であり、前記第３の記憶領域は前記第１の記憶領域の２分の１である、請求項５に記載の方法。
【請求項７】
プリンタコントローラと、
バッファメモリと、
記録媒体上に画像を形成するための印刷エンジンと、
ユーザからのコマンドを受信するためのオペレーションコントロールユニットと、を有し、
前記プリンタコントローラは、
（ａ）第１の印刷ジョブに対して、前記バッファメモリの第１の記憶領域を割り当て、
（ｂ）第１のホストから前記第１の印刷ジョブ用の複数ページの印刷データを受信し、当該複数ページの印刷データを前記第１の記憶領域内に配置し、
（ｃ）前記第１の記憶領域中の前記複数ページの印刷データを印刷し、
（ｄ）前記オペレーションコントロールユニットから前記第１の印刷ジョブを取り消すための取消し要求が受信されているか否かを決定し、
（ｅ）前記取消し要求が受信された場合に、
（ｅ１）前記第１の印刷ジョブに対して、前記第１の記憶領域よりも小さい第２の記憶領域を割り当て、
（ｅ２）前記第１のホストから前記第１の印刷ジョブ用の複数ページの印刷データを受信し続けて当該複数ページの印刷データを前記第２の記憶領域内に配置し、当該印刷データを印刷することなく前記第２の記憶領域から当該印刷データを消去する、
ようにプログラムされている、プリンタ。
【請求項８】
前記印刷データはラスター画像データを含む、請求項７に記載のプリンタ。
【請求項９】
前記第２の記憶領域は前記第１の記憶領域の２分の１である、請求項７または８に記載のプリンタ。
【請求項１０】
前記プリンタコントローラは、前記第１の印刷ジョブを取り消す工程を前記第１のホストに通知することなく実行する、請求項７〜９のいずれか１項に記載のプリンタ。
【請求項１１】
前記プリンタコントローラは、さらに、
（ｆ）第２の印刷ジョブに対して、前記第１の記憶領域よりも小さい第３の記憶領域を割り当て、
（ｇ）第２のホストから前記第２の印刷ジョブ用の複数ページの印刷データを受信し、当該複数ページの印刷データを前記第３の記憶領域内に配置し、
（ｈ）前記第３の記憶領域中の前記複数ページの印刷データを印刷する、
ようにプログラムされている、請求項７〜１０のいずれか１項に記載のプリンタ。
【請求項１２】
前記第２の記憶領域は前記第１の記憶領域の２分の１であり、前記第３の記憶領域は前記第１の記憶領域の２分の１である、請求項１１に記載のプリンタ。
【請求項１３】
プリンタを制御するためのコンピュータプログラムであって、
（ａ）第１の印刷ジョブに対して第１の記憶領域を割り当てるステップと、
（ｂ）第１のホストから前記第１の印刷ジョブ用の複数ページの印刷データを受信し、当該複数ページの印刷データを前記第１の記憶領域内に配置するステップと、
（ｃ）前記第１の記憶領域中の前記複数ページの印刷データを印刷するステップと、
（ｄ）プリンタのコントロールパネルから前記第１の印刷ジョブを取り消すための取消し要求が受信されているか否かを決定するステップと、
（ｅ）前記取消し要求が受信された場合に、
（ｅ１）前記第１の印刷ジョブに対して、前記第１の記憶領域よりも小さい第２の記憶領域を割り当て、
（ｅ２）前記第１のホストから前記第１の印刷ジョブ用の複数ページの印刷データを受信し続けて当該複数ページの印刷データを前記第２の記憶領域内に配置し、当該印刷データを印刷することなく前記第２の記憶領域から当該印刷データを消去するステップと、
を含む印刷処理を前記プリンタに実行させる、コンピュータプログラム。
【請求項１４】
前記印刷データはラスター画像データを含む、請求項１３に記載のコンピュータプログラム。
【請求項１５】
前記第２の記憶領域は前記第１の記憶領域の２分の１である、請求項１３または１４に記載のコンピュータプログラム。
【請求項１６】
ステップ（ｅ）は、前記第１のホストに通知することなく実行される、請求項１３〜１５のいずれか１項に記載のコンピュータプログラム。
【請求項１７】
前記処理は、ステップ（ｅ２）を行う間に、
（ｆ）第２の印刷ジョブに対して、前記第１の記憶領域よりも小さい第３の記憶領域を割り当てるステップと、
（ｇ）第２のホストから前記第２の印刷ジョブ用の複数ページの印刷データを受信し、当該複数ページの印刷データを前記第３の記憶領域内に配置するステップと、
（ｈ）前記第３の記憶領域中の前記複数ページの印刷データを印刷するステップと、
をさらに含む、請求項１３〜１６のいずれか１項に記載のコンピュータプログラム。
【請求項１８】
前記第２の記憶領域は前記第１の記憶領域の２分の１であり、前記第３の記憶領域は前記第１の記憶領域の２分の１である、請求項１７に記載のコンピュータプログラム。
【請求項１９】
請求項１３〜１８のいずれか１項に記載のコンピュータプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
発明の背景
発明の分野
本発明は印刷方法に関し、本発明は特に、プリンタに提出された印刷ジョブの取消しを実施する方法に関する。
【背景技術】
【０００２】
関連技術の説明
ラスタープリンタでは、印刷ジョブは、プリンタコントローラへと送信される前に、ホストコンピュータ上でラスタライズされる。当該印刷ジョブデータのサイズは比較的大きく、通常はＰＤＬ（ページ記述言語）フォーマットでの印刷データのサイズよりもずっと大きい。ラスタープリンタの低コスト化のため、当該プリンタコントローラ上のメモリサイズは比較的小さいのが一般的である。したがって、プリンタコントローラは通常、ホストコンピュータからプリンタへと送信されたラスタージョブのうち、限られた数のみを記憶可能である。印刷ジョブが多くのページを含む場合、プリンタコントローラ上のメモリが現行ジョブで使い果たされると、プリンタは、現行ジョブへさらにページを受け入れるまで、ホストを待たせる必要がある。プリンタコントローラのメモリにおいて十分なメモリが使用可能となると、ホストは、データを小分けにして送信する。なお、このメモリを使い果たすと、プリンタコントローラは、同一のホストまたは他のホストからの印刷ジョブデータをそれ以上受け入れることはできない。
【０００３】
ユーザは時として、ホストコンピュータが印刷ジョブをプリンタへ送信し始めた後に、プリンタのコントロールパネル上のボタンを用いて当該印刷ジョブを取り消すことがある。プリンタからジョブが取り消された場合、ホストが印刷データをプリンタへと送信し続けると、そして、当該印刷ジョブが比較的大きいと、当該データによりプリンタコントローラのメモリを使い果たし続けることとなろう。ホストがデータの生成およびプリンタコントローラへの送信を停止できるようにプリンタコントローラがホストに通知する、ジョブの取消し方法が提案されている。これにより、プリンタは自身のメモリを開放して、同一のホストまたは他のホストからの他の印刷ジョブを受け入れることができる。
【発明の開示】
【０００４】
概要
本発明は、関連技術の制限および不利点による１以上の問題を実質的に回避する、印刷ジョブの取消し方法に関する。
【０００５】
本発明の目的は、現行ジョブが取り消されている間に、同一のホストまたは他のホストがデータをプリンタへ送信することを可能とする、印刷ジョブ（特に、比較的大きいジョブ）の取消し方法を提供することである。
【０００６】
本発明のさらなる特徴および利点を以下に記載するが、部分的にはこの記載から自明であり、本発明の実施により明らかになることもありうる。本発明の目的および他の利点は、発明の詳細な説明および特許請求の範囲、並びに添付の図面に特に示される構造により実現され、達成されるものである。
【０００７】
これらのおよび／または他の目的を達成するため、本発明は、具現化され広く説明されるように、プリンタにより実行される印刷方法であって、（ａ）第１の印刷ジョブに対して第１の記憶領域を割り当てるステップと、（ｂ）第１のホストから前記第１の印刷ジョブ用の複数ページの印刷データを受信し、当該複数ページの印刷データを前記第１の記憶領域内に配置するステップと、（ｃ）前記第１の記憶領域中の前記複数ページの印刷データを印刷するステップと、（ｄ）プリンタのコントロールパネルから前記第１の印刷ジョブを取り消すための取消し要求が受信されているか否かを決定するステップと、（ｅ）前記取消し要求が受信された場合に、（ｅ１）前記第１の印刷ジョブに対して、前記第１の記憶領域よりも小さい第２の記憶領域を割り当て、（ｅ２）前記第１のホストから前記第１の印刷ジョブ用の複数ページの印刷データを受信し続けて当該複数ページの印刷データを前記第２の記憶領域内に配置し、当該印刷データを印刷することなく前記第２の記憶領域から当該印刷データを消去するステップとを含む、印刷方法を提供する。
【０００８】
上記方法は、工程（ｅ２）を行う間に、（ｆ）第２の印刷ジョブに対して、前記第１の記憶領域よりも小さい第３の記憶領域を割り当てるステップと、（ｇ）第２のホストから前記第２の印刷ジョブ用の複数ページの印刷データを受信し、当該複数ページの印刷データを前記第３の記憶領域内に配置するステップと、（ｈ）前記第３の記憶領域中の前記複数ページの印刷データを印刷するステップとをさらに含んでもよい。
【０００９】
他の形態において、本発明は、データ処理装置に上記方法を実行させるコンピュータプログラムを提供する。
【００１０】
他の形態において、本発明は、プリンタコントローラと、バッファメモリと、記録媒体上に画像を形成するための印刷エンジンと、ユーザからのコマンドを受信するためのオペレーションコントロールユニットとを有し、前記プリンタコントローラは、（ａ）第１の印刷ジョブに対して、前記バッファメモリの第１の記憶領域を割り当て、（ｂ）第１のホストから前記第１の印刷ジョブ用の複数ページの印刷データを受信し、当該複数ページの印刷データを前記第１の記憶領域内に配置し、（ｃ）前記第１の記憶領域中の前記複数ページの印刷データを印刷し、（ｄ）前記オペレーションコントロールユニットから前記第１の印刷ジョブを取り消すための取消し要求が受信されているか否かを決定し、（ｅ）前記取消し要求が受信された場合に、（ｅ１）前記第１の印刷ジョブに対して、前記第１の記憶領域よりも小さい第２の記憶領域を割り当て、（ｅ２）前記第１のホストから前記第１の印刷ジョブ用の複数ページの印刷データを受信し続けて当該複数ページの印刷データを前記第２の記憶領域内に配置し、当該印刷データを印刷することなく前記第２の記憶領域から当該印刷データを消去するようにプログラムされている、プリンタを提供する。
【００１１】
上記プリンタコントローラは、さらに、（ｆ）第２の印刷ジョブに対して、前記第１の記憶領域よりも小さい第３の記憶領域を割り当て、（ｇ）第２のホストから前記第２の印刷ジョブ用の複数ページの印刷データを受信し、当該複数ページの印刷データを前記第３の記憶領域内に配置し、（ｈ）前記第３の記憶領域中の前記複数ページの印刷データを印刷するようにプログラムされていてもよい。
【００１２】
上述した一般的な説明および後述する詳細な説明はいずれも、例示および説明を目的としたものであって、特許請求されている発明のさらなる説明を提供することを意図したものであると解されるべきである。
【図面の簡単な説明】
【００１３】
【図１】図１は、本発明の一実施形態に係るホストおよびプリンタシステムを示す。
【図２】図２は、本発明の一実施形態に係るプリンタを示す。
【図３】図３は、プリンタコントローラの状態を示す状態図である。
【図４】図４は、プリンタコントローラにより実行されるジョブタスクおよび印刷タスクを示すフローチャートである。
【図５Ａ】図５Ａは、プリンタコントローラが種々の状態のうちの１つの状態にあるときのバッファメモリの割り当てを示すメモリマップである。
【図５Ｂ】図５Ｂは、プリンタコントローラが種々の状態のうちの他の１つの状態にあるときのバッファメモリの割り当てを示すメモリマップである。
【発明を実施するための形態】
【００１４】
好ましい実施形態の詳細な説明
本発明の実施形態によれば、ユーザによりプリンタから印刷ジョブが取り消されると、プリンタコントローラは当該コントローラ中のバッファメモリを操作し、現行ジョブが比較的大きく、本発明によらなければプリンタコントローラのメモリ全体を使い果たしていたであろう場合であっても、現行ジョブが取り消されている間に、同一のホストまたは他のホストから追加の印刷ジョブが受信され、印刷されうるようにする。本発明の実施形態によれば、プリンタは、現行の印刷ジョブ（プリンタにより取り消されている印刷ジョブ）の送信を停止させるのにホストに通知する必要がない。むしろ、プリンタコントローラは、現行ジョブとして印刷ジョブを受信するのにより少量のメモリを割り当てる。プリンタコントローラはホストから現行ジョブとしてデータを受け入れ続けるが、受信したデータを印刷はしない。当該データは、メモリから実質的に消去される。プリンタコントローラはまた、現行の印刷ジョブに対してより低位の優先度（例えば、ＣＰＵ時間に関して）を割り当てる。なお、残りのメモリは、新たに受信される印刷ジョブを受信し印刷するのに用いられうる。
【００１５】
図１は、本発明の一実施形態に係るシステムを示し、図１では、複数のホストコンピュータ２００とプリンタ１００とが、ネットワークを介して互いに接続されている。図２は、プリンタ１００のハードウェア構造を示す。図１および図２に示すように、プリンタ１００は、プリンタコントローラ１１０（プロセッサにより実装される）と、バッファメモリ１０１と、紙などの記録媒体上に画像を形成するための印刷エンジン１０２と、オペレーションコントロールユニットおよび関連する回路１０３と、プリンタコントローラのファームウェアを保存するためのメモリ１０４（例えば、ＲＯＭまたはフラッシュメモリ）と、ホストコンピュータとの通信を行うための通信部１０５とを有する。プリンタコントローラ１１０は、パーサ１１１、ジョブキュー１１２、およびジョブマネジャ１１３などの種々の機能部分を有する。オペレータコントロールユニット１０３は、ユーザによるプリンタへの種々のコマンド（現在印刷されているジョブ、またはプリンタの印刷待ちキューにおけるジョブを取り消すための取消し要求を含む）の入力を可能とする種々のボタンまたはキーをプリンタ１００上に有する。
【００１６】
図１中の矢印は一般的に、データおよびコマンドの流れを示す。ホストコンピュータ上のプリンタドライバ２０１は、ＰＤＬ（ページ記述言語）コマンドとともにラスター画像データ（または他のデータ形式）を含む印刷ジョブデータを生成し、ネットワークを介して当該印刷ジョブデータをプリンタ１００へ転送する。この印刷ジョブデータはプリンタのバッファメモリ１０１においてバッファされる。パーサ１１１はデータの全体を解析し、ジョブチケットパラメータを含むＰＤＬコマンドを調べること、ラスター画像データ（または他のデータ形式）を探すことなどを含む。ジョブチケットパラメータは、用紙サイズ、レイアウトなどの印刷ジョブの条件を記述する。解析後、この印刷ジョブはジョブキュー１１２へ送信される。このキューは、印刷エンジン１０２により印刷されるべき印刷ジョブを記憶するためのものである。ジョブキューは、それぞれのジョブに対して、ジョブ名、ジョブＩＤ、優先度、ジョブ送信元（例えば、ホストコンピュータのＩＰアドレス）、および実際のデータが記憶されるバッファメモリ中の場所へのポインタなどの情報を記憶する。ジョブマネジャ１１３は、バッファメモリ１０１を管理することにより、ジョブの取消し方法を実行する。
【００１７】
図３は、上述したジョブの取消し方法に関連するプリンタコントローラ１１０の状態を示す状態図である。このプリンタコントローラの４つの状態は、アイドル状態３０４、印刷状態３０１、取消し状態３０２、並びに、印刷および取消し状態３０３である。アイドル状態３０４において、プリンタコントローラはホストコンピュータ２００から受信される印刷ジョブもしくは他のコマンド、またはオペレーションコントロールユニット１０３から入力されるコマンドを待機する。ホストコンピュータ２００からの印刷要求イベント３１１が入力されると、プリンタコントローラはアイドル状態３０４から印刷状態３０１へと移行する。印刷状態３０１において、プリンタコントローラは印刷エンジン１０２を制御してホストコンピュータ２００から受信されるラスター画像データを印刷する。印刷が完了して印刷完了イベント３１２が受信されると、プリンタコントローラは印刷状態３０１からアイドル状態３０４へと戻る。
【００１８】
プリンタコントローラが印刷状態３０１にあって取消し要求イベント３１３が受信されると、プリンタコントローラは取消し状態３０２へと移行して印刷されているジョブを取り消す。この取消し要求イベント３１３は、ユーザがプリンタ１００上のオペレーションコントロールユニット１０３を用いて現行の印刷ジョブの取消しを要求したときに発生する。取消し状態３０２において、プリンタコントローラは、印刷エンジン１０２を制御して印刷を停止する。ホストコンピュータ２００からの印刷ジョブデータが到着し続けている間、当該データはバッファメモリ１０１から連続的に消去される。ホストコンピュータ２００からのすべてのデータが受信されてバッファメモリ１０１から消去されたときに、取消しは完了する。取消し要求イベント３１４が受信されると、プリンタコントローラは取消し状態３０２からアイドル状態３０４へと戻る。
【００１９】
しかしながら、プリンタコントローラが取消し状態３０２にあって他のジョブ（例えば、同一のホストコンピュータまたは他のホストコンピュータからのもの）を印刷する印刷要求イベント３１５が受信されると、プリンタコントローラは印刷および取消し状態３０３へと移行する。この状態では、プリンタコントローラはバッファメモリ１０１および印刷エンジン１０２を制御して、新たに受信される印刷ジョブ（第２の印刷ジョブ）を受信して印刷すると同時に、第１の印刷ジョブを取り消す（すなわち、第１の印刷ジョブ用のデータを印刷することなく当該データを受信し続け、そしてバッファメモリから当該データを消去する）。
【００２０】
印刷完了イベント３１６が受信されると（すなわち、第１のジョブの取消しが完了する前に第２のジョブの印刷が完了すると）、プリンタコントローラは印刷および取消し状態３０３から取消し状態３０２へと戻り、第１のジョブの取消しを継続する。続いて、第１のジョブの取消しが完了して取消し完了イベント３１４が受信されると、プリンタコントローラはアイドル状態３０４へと戻る。プリンタコントローラが印刷および取消し状態３０３にあるときに、取消し完了イベント３１７が受信されると（すなわち、第２のジョブの印刷が完了する前に第１のジョブの取消しが完了すると）、プリンタコントローラは印刷状態３０１へと移行して第２のジョブの印刷を継続する。続いて、第２のジョブの印刷が完了して印刷完了イベントが受信されると、プリンタコントローラはアイドル状態３０４へと戻る。
【００２１】
本発明の実施形態に係るジョブの取消し方法は、メモリの割り当てを操作して、第１のジョブが取り消されている間の第２のジョブの印刷を達成する。図５Ａは、通常の（すなわち、プリンタコントローラが印刷状態３０１にあるときの）印刷ジョブに対するバッファメモリ１０１の割り当てを模式的に示すメモリマップである。全体のバー５１０は、本ジョブ用のメモリを表す。存在する場合にはＰＤＬデータを伴ったラスター画像データの１ページにそれぞれ対応する多数ページの印刷データ（ページデータ）５１１が、このメモリに記憶される。ここで、参照符号５１１、５１２、および５１３は、文脈に応じて、ページデータまたは当該ページデータを記憶するメモリの記憶場所のいずれかを意味する。図５Ａは、上記多数ページの１ページ（ページデータ５１２として示される）が現在印刷されていることを示す。換言すれば、印刷エンジンがこのメモリの記憶場所５１２にアクセスして、印刷するためのデータを読み出す。ページ５１２よりも上方のページ５１１は既に印刷されている。図５Ａはまた、ページデータが現在受信されているメモリの記憶場所５１３も示す。メモリ領域５１４は、追加のページデータの受信に使用可能なフリーメモリプールとして示される。この例において、印刷ジョブは当該ジョブに割り当てられたメモリすべてを消費してはいなかった。
【００２２】
図５Ｂは、プリンタコントローラが取消し状態３０２にあるか、または印刷および取消し状態３０３にあるとき（すなわち、プリンタコントローラが第１のジョブを取り消しているか、または第１のジョブを取り消しながら第２のジョブを印刷しているとき）の、バッファメモリの割り当てを模式的に示すメモリマップである。以下、このメモリマップについて、図４の記載と併せて説明する。
【００２３】
図４は、プリンタコントローラ１１０（特に、当該プリンタコントローラのジョブマネジャ部１１３）により実行されるジョブタスクおよび印刷タスクを示すフローチャートである。印刷要求３１１が受信されたときにプリンタコントローラがアイドル状態３０４から印刷状態３０１へと移行すると、ジョブタスクが開始する（ステップＳ４１）。このジョブタスクは、現行ジョブ用のジョブデータを記憶するのに使用可能なメモリを割り当てる（ステップＳ４１２）。例えば、ジョブタスクは、現行ジョブ用に総メモリの１００％または５０％を割り当てることができる。次いで、このジョブタスクは、次のページ用のページデータ（ラスターデータおよびＰＤＬデータの双方）に対してメモリを割り当てる（ステップＳ４１３）。各ページデータに対するメモリのサイズは、用紙サイズおよび他の要因に基づいて見積もられる。次いで、ジョブタスクは、ホストコンピュータから、次のページ用の印刷データの１ページを受信し（ステップＳ４１４）、このページデータをメモリ中に配置する（ステップＳ４１５）。
【００２４】
このとき、ジョブタスクは、取消しイベントが受信されたか否か（すなわち、プリンタのオペレーションコントロールユニットを用いて現行の印刷ジョブを取り消すことをユーザが要求しているか否か）を決定する（ステップＳ４１６）。いいえ（ステップＳ４１６において「Ｎ」）であれば、ジョブタスクはページ準備通知を印刷タスクへ送信して（ステップＳ４１７）、そのページデータがメモリ中に存在し印刷タスクによって処理される用意ができていることを印刷タスクに通知する。印刷ジョブが完了すると（すなわち、すべてのデータがホストから受信されると）（ステップＳ４１８において「Ｙ」）、この処理は終了する（ステップＳ４１９）。印刷ジョブが完了していなければ（ステップＳ４１８において「Ｎ」）、この処理は、次のページのためにステップＳ４１３へと戻る。
【００２５】
なお、印刷タスクは、メモリ中に存在するページデータを印刷する。この印刷タスクは、ジョブタスクからページ準備通知を受信し（ステップＳ４３１）、ホストから受信されたデータを（必要であれば）処理してそのページ用の印刷準備データを印刷エンジンに出力し（ステップＳ４３２）、当該印刷エンジンが当該ページを確かに読んで印刷したという確認を当該エンジンから受信した後に、関係するメモリを開放し（ステップＳ４３３）、ページ印刷完了通知をジョブタスクへ送信する（ステップＳ４３４）。この通知は、ジョブタスクに対して、メモリが開放されてジョブタスクが使用可能となったことを示すものである。次いで、印刷タスクはステップＳ４３１へと戻り、他のページが印刷される用意ができているか否かを決定する。
【００２６】
図４に示す例において、ジョブタスクおよび印刷タスクは、互いにメッセージ（通知）を送信する分離したスレッドとして実行される。印刷タスクは、あるページが印刷される用意ができたことを示すページ準備通知をジョブタスクから受信（ステップＳ４３１）した後にページを印刷する（ステップＳ４３２およびＳ４３３）。ジョブタスクは、ページ印刷完了メッセージを印刷タスクから受信した後に、開放されたメモリを割り当てる。メモリが制約されていない（すなわち、フリーメモリプール５１４が現行の印刷ジョブに使用可能である）場合、ジョブタスクは、印刷タスクからのページ完了通知を待つことなくホストコンピュータからページデータを受信し続ける（ステップＳ４１３〜Ｓ４１５）ことができることに留意すべきである。現行ジョブが使用可能なメモリが使い果たされた場合、ジョブタスクは、あるページが印刷されて印刷タスクによりメモリが開放され（すなわち、印刷タスクからページ完了通知が受信され）、ジョブタスクがホストコンピュータから次のページのデータを受信できるまで待たなくてはならない。あるいは、ジョブタスクは、多数のページが印刷されてメモリが開放されるのを待ち、次いで新たな多数のページをホストコンピュータから受信してもよい。
【００２７】
ステップＳ４１６に戻って、ジョブタスクが、取消しイベントが受信されたと決定すると（Ｓ４１６において「Ｙ」）、プリンタコントローラは取消し状態３０２へと移行して現行ジョブを取り消す。ジョブタスクは現行ジョブの優先度を低下させる（ステップＳ４２１）（ジョブタスクが開始されたとき、現行ジョブには当初はより高い優先度が割り当てられていた）。例えば、現行ジョブに許されるＣＰＵ時間が削減されうる。優先度の割り当ては、本技術分野において一般的に知られている種々の方法により達成されうる。ジョブタスクはまた、現行ジョブに割り当てられるメモリのサイズを削減する（ステップＳ４２１）。一実施形態において、現行ジョブに割り当てられるメモリのサイズは、２分の１に削減される。この時点で、現行ジョブが自身に割り当てられる新たなメモリのサイズよりも大きい量のメモリを既に消費している場合には、ジョブタスクはホストからのデータの受信を中断し、現行ジョブにより消費されるメモリの合計サイズが現行ジョブに対して割り当てられる新たなメモリのサイズ未満となるまで、メモリ中に既に存在するページデータを消去する。
【００２８】
図５Ｂは、現行ジョブに割り当てられたメモリが削減された後の当該現行ジョブ用のメモリマップを模式的に示す。この具体例では、バー全体が図５Ａにおけるバー５１０に対応し、印刷ジョブに使用可能なメモリを表す。領域５２１、５２３、５２４、および５２５などの、線５３０Ａよりも上方のメモリ領域５２０は、ステップＳ４２１後に現行ジョブ（取り消されているジョブ）に割り当てられたメモリを表し、そのサイズは当該ジョブにもともと割り当てられていたメモリのサイズの２分の１である（図５Ａを参照）。メモリ領域５２０を用いて、ジョブタスクはホストからページデータを受信し続け、既に受信されたページデータを消去する（ステップＳ４２2）。ステップＳ４１６においてジョブタスクが「Ｙ」へと分岐した（すなわち、取消しイベントが受信された）後には、もはやジョブタスクは印刷タスクへページ準備通知を送信せず、その結果、ステップＳ４２２において受信されたデータは印刷されないことに留意すべきである。メモリ領域５２３は、現在受信されているページデータが配置される領域を示し、メモリ領域５２５は、現在消去されているページデータが配置される領域を示す。メモリ領域５２４は、フリーメモリプールを示す。
【００２９】
線５３０Ａよりも下方の領域５３０（この例では全体のメモリ領域のサイズの２分の１であり、メモリ領域５２０とは重複しない）は、今では、他の入力印刷ジョブが受信された場合に当該ジョブ用に用いられうる。ジョブタスクが現行ジョブを取り消している間（すなわち、実行ステップＳ４２２の間）に、他の印刷ジョブ（第２のジョブ）が受信されると、プリンタコントローラは印刷および取消し状態３０３へと移行する。この状態では、２つのジョブタスク（分離したスレッド）が同時に実行される。１つ目は第１のジョブ（現行ジョブ）を取り消すためのものであり、２つ目は第２のジョブを印刷するためのものである。第２のジョブタスクが開始されると、当該第２のジョブにはより高い当初の優先度が割り当てられる。第２のジョブ用のジョブタスクは、図４に示すのと同様に進行する。当該ジョブタスクはメモリ領域５３０を第２のジョブに割り当て、当該メモリ領域は、メモリ領域５１０が図５Ａに示すように第１の印刷ジョブ用に利用されるのと同様に、第２の印刷ジョブ用に利用される。ただし、使用可能なメモリ領域５３０のサイズは、メモリ領域５１０のサイズの２分の１である。
【００３０】
第１の印刷ジョブについて図４を再度参照すると、当該ジョブ用のすべての印刷データがホストから受信されてバッファメモリから消去された後、第１のジョブは確かに取り消される（ステップＳ４２３）。この時点で、第２のジョブが印刷されていると、プリンタコントローラは印刷状態３０１へと移行し、第２の印刷ジョブ用のジョブタスクが実行され続ける。第１のジョブの取消しが完了した時点（ステップＳ４２３の時点）で印刷されている第２のジョブが存在しない場合、プリンタコントローラはアイドル状態３０４へと移行する。
【００３１】
図５Ａおよび図５Ｂにおいては、理解の容易のために、種々のメモリの配置が連続的かつ逐次的に模式的に示されていることに留意すべきである。実際のメモリの配置は、連続的または逐次的である必要はない。例えば、図５Ｂでは、第１の印刷ジョブ用のメモリ領域および第２の印刷ジョブ用のメモリ領域は連続した領域に存在する必要はない。物理的なメモリの実際の配置は、通常はオペレーティングシステムにより実行される。
【００３２】
本発明の実施形態に係るジョブの取消し方法の利点は、ホストコンピュータによって既に提出された印刷ジョブを取り消すのに、ホストコンピュータをプリンタと協働させる必要がない、というものである。
【００３３】
本発明の思想または範囲から逸脱することなく、本発明のジョブの取消し方法において種々の修飾および変更がなされうるということは、当業者にとっては明らかである。よって、添付の特許請求の範囲およびその均等物の範囲内の修飾および変更は、本発明に含まれるものとする。
【図１】
2009241584.tif 000003
【図２】
2009241584.tif 000004
【図３】
2009241584.tif 000005
【図４】
2009241584.tif 000006
【図５Ａ】
2009241584.tif 000007
【図５Ｂ】
2009241584.tif 000008
【外国語明細書】
2009241584000001.pdf
2009241584000002.pdf
2009241584000003.pdf
2009241584000004.pdf