(57)【要約】      （修正有）【課題】ジョブキャンセル発生後の無駄な印刷を抑制することのできる印刷制御装置を提供する。【解決手段】ＲＩＰコントローラにおいて、シーケンシャルジョブの受信が開始されると、受信処理、ＲＩＰ処理、出力処理が並行して実行され、出力処理では、ジョブは受け付け開始の順に印刷装置へ出力される。シーケンシャル印刷において、ＲＩＰコントローラでは、印刷装置からジョブのキャンセル発生の通知が受信されると、ジョブ制御部は、ＲＩＰデータ作業メモリ内容を対象に、「送信済みフラグ」の値がＴＲＵＥでない、即ち送信が完了していないジョブの送信を停止させるようジョブ送受信部及びＲＩＰデータ送信部を制御すると共に、「送信済みフラグ」をＣＡＮＣＥＬへと変更する。これにより、未送信のジョブの送信を停止させる。【選択図】図１４
2017052235.tif 000002
【特許請求の範囲】
【請求項１】
印刷装置と通信し、前記印刷装置にジョブを送信して印刷を実行させる印刷制御装置であって、
ジョブを受け付ける受け付け手段と、
前記受け付け手段により受け付けられたジョブをＲＩＰ処理するＲＩＰ手段と、
前記ＲＩＰ手段によりＲＩＰ処理されたジョブを、前記受け付け手段による受け付け開始の順に前記印刷装置へ送信する送信手段と、
前記印刷装置から、ジョブのキャンセル発生の通知を受信する受信手段と、
前記受信手段によりジョブのキャンセル発生の通知が受信された場合は、前記送信手段による未送信のジョブの送信を停止させる制御手段と、を有することを特徴とする印刷制御装置。
【請求項２】
前記受信手段によりジョブのキャンセル発生の通知が受信された場合、前記制御手段はさらに、前記送信手段による送信済みのジョブのキャンセルを前記印刷装置に指示することを特徴とする請求項１に記載の印刷制御装置。
【請求項３】
前記送信手段による未送信のジョブの送信を停止させる制御と前記送信手段による送信済みのジョブのキャンセルを前記印刷装置に指示する制御の２つの制御の優先順位を指定する指定手段を有し、前記制御手段は、前記指定手段による指定に従った順番で、前記２つの制御を実行することを特徴とする請求項２に記載の印刷制御装置。
【請求項４】
前記送信手段による送信済みのジョブのキャンセルを前記印刷装置に指示した後、前記送信済みのジョブのキャンセルが完了した旨の通知を前記印刷装置から受けると、前記制御手段は、所定の報知を行うことを特徴とする請求項２または３に記載の印刷制御装置。
【請求項５】
前記受信手段によりジョブのキャンセル発生の通知が受信された場合、前記制御手段はさらに、前記受け付け手段に対するジョブの送信元の装置に対して、新たなジョブの送信を中止するよう指示することを特徴とする請求項１〜４のいずれか１項に記載の印刷制御装置。
【請求項６】
前記制御手段は、前記送信元の装置に対して受信エラーを送信するかまたはジョブ受信キューを閉じることで、前記新たなジョブの送信を中止するよう指示することを特徴とする請求項５に記載の印刷制御装置。
【請求項７】
前記受信手段によりジョブのキャンセル発生の通知が受信された場合、前記制御手段はさらに、前記ＲＩＰ手段によるＲＩＰ処理を停止させることを特徴とする請求項１〜６のいずれか１項に記載の印刷制御装置。
【請求項８】
請求項１〜７のいずれか１項に記載の印刷制御装置と、前記印刷制御装置と通信可能に接続され、前記印刷制御装置から送信されたジョブの印刷を実行する印刷装置とから構成されることを特徴とする画像処理システム。
【請求項９】
請求項１に記載の印刷制御装置と、前記印刷制御装置と通信可能に接続され、前記印刷制御装置から送信されたジョブの印刷を実行する印刷装置とから構成される画像処理システムであって、
前記印刷装置は、
前記印刷制御装置から受信した未印刷のジョブの印刷をキャンセルすることを特徴とする画像処理システム。
【請求項１０】
ジョブを受け付ける受け付け手段と、
前記受け付け手段により受け付けられたジョブをＲＩＰ処理するＲＩＰ手段と、
前記ＲＩＰ手段によりＲＩＰ処理されたジョブを、前記受け付け手段による受け付け開始の順に印刷する印刷手段と、
ジョブのキャンセル発生を検知する検知手段と、
前記検知手段によりジョブのキャンセル発生が検知された場合は、前記印刷手段の印刷機能を停止させる制御手段と、を有することを特徴とする画像処理装置。
【請求項１１】
前記検知手段によりジョブのキャンセル発生が検知された場合、前記制御手段はさらに、前記印刷手段による未印刷のジョブの印刷をキャンセルすることを特徴とする請求項１０に記載の画像処理装置。
【請求項１２】
前記印刷手段による未印刷のジョブの印刷のキャンセルが完了すると、前記制御手段は、所定の報知を行うことを特徴とする請求項１１に記載の画像処理装置。
【請求項１３】
前記検知手段によりジョブのキャンセル発生が検知された場合、前記制御手段はさらに、前記受け付け手段に対するジョブの送信元の装置に対して、新たなジョブの送信を中止するよう指示することを特徴とする請求項１０〜１２のいずれか１項に記載の画像処理装置。
【請求項１４】
前記制御手段は、前記送信元の装置に対して受信エラーを送信するかまたはジョブ受信キューを閉じることで、前記新たなジョブの送信を中止するよう指示することを特徴とする請求項１３に記載の画像処理装置。
【請求項１５】
前記検知手段によりジョブのキャンセル発生が検知された場合、前記制御手段はさらに、前記ＲＩＰ手段によるＲＩＰ処理を停止させることを特徴とする請求項１０〜１４のいずれか１項に記載の画像処理装置。
【請求項１６】
前記印刷手段による印刷結果の異常を検知する装置により印刷結果に異常が有ると検知された場合は、前記検知手段は、ジョブのキャンセル発生があったと検知することを特徴とする請求項１０〜１５のいずれか１項に記載の画像処理装置。
【請求項１７】
印刷装置と通信し、前記印刷装置にジョブを送信して印刷を実行させる印刷制御装置の制御方法であって、
ジョブを受け付ける受け付けステップと、
前記受け付けステップにより受け付けられたジョブをＲＩＰ処理するＲＩＰステップと、
前記ＲＩＰステップによりＲＩＰ処理されたジョブを、前記受け付けステップによる受け付け開始の順に前記印刷装置へ送信する送信ステップと、
前記印刷装置から、ジョブのキャンセル発生の通知を受信する受信ステップと、
前記受信ステップによりジョブのキャンセル発生の通知が受信された場合は、前記送信ステップによる未送信のジョブの送信を停止させる制御ステップと、を有することを特徴とする印刷制御装置の制御方法。
【請求項１８】
画像処理装置の制御方法であって、
ジョブを受け付ける受け付けステップと、
前記受け付けステップにより受け付けられたジョブをＲＩＰ処理するＲＩＰステップと、
前記ＲＩＰステップによりＲＩＰ処理されたジョブを、前記受け付けステップによる受け付け開始の順に印刷する印刷ステップと、
ジョブのキャンセル発生を検知する検知ステップと、
前記検知ステップによりジョブのキャンセル発生が検知された場合は、前記印刷ステップによる印刷を停止させる制御ステップと、を有することを特徴とする画像処理装置の制御方法。
【請求項１９】
請求項１７に記載の印刷制御装置の制御方法をコンピュータに実行させることを特徴とするプログラム。
【請求項２０】
請求項１８に記載の画像処理装置の制御方法をコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、順番に印刷されるジョブがキャンセルされた際の処理の技術に関する。
【背景技術】
【０００２】
従来、印刷ジョブを順番に印刷するシーケンシャル印刷が知られている。シーケンシャル印刷は、例えば旅行代理店で利用されている。旅行代理店では、旅行商品を購入するお客様に対し、旅行内容のパンフレット、旅費の見積もりや振込用紙、旅行日程表、旅行オプションリストなどの複数種類の印刷物を送付する必要がある。その印刷物を印刷するシステムでは、これら複数種類の印刷物を生成するための各種アプリケーションソフトが稼働している。例えば、全てのパンフレットを保存しているデータベースからお客様の購入する旅行商品に該当するものを選択し印刷するアプリケーションソフトがある。このほか、旅費を計算するための会計アプリケーションソフトと連動して見積書や振込用紙を生成し印刷するアプリケーションソフト等もある。これら複数のアプリケーションソフトから印刷を実行する場合、印刷物ごとに１つのジョブの形式で印刷が行われる。印刷が完了すると、お客様ごとに印刷物を順番通り抜けなく且つ重複なく仕分けし、封筒等にパッケージして送付する。即ち、お客様の各々に送付する印刷物は、各種アプリケーションソフトから複数の印刷ジョブとして出力され、それらを順番通り出力しパッケージして送付される。多数のお客様に対して送付する際、印刷物やパッケージを間違ってはならない。
【０００３】
ところで、印刷装置と通信可能に接続され、ジョブを受け付け、受け付けたジョブにＲＩＰ（Ｒａｓｔｅｒ  Ｉｍａｇｅ  Ｐｒｏｃｅｓｓｏｒ）処理等を実施して、印刷装置に印刷を実行させるＲＩＰコントローラが知られている。近年のＲＩＰコントローラは、ジョブの受信処理、受信した印刷データのＲＩＰ処理、ＲＩＰした印刷データの出力処理などの各処理ステップにおいて、マルチＣＰＵやマルチコアを生かして並列処理を行える。ジョブの大きさや処理の複雑度によって処理時間が増減するので、処理を開始した順番と処理が完了する順番とが一致しない場合がある。そのため、上記した旅行代理店の印刷システムで通常の印刷装置で印刷を行うと、意図した順番で印刷出力がなされない場合がある。そこで、シーケンシャル印刷をサポートする印刷装置で印刷を行うことで、意図した順番で印刷出力を行えるようにしている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第４９４２１６６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、印刷装置において何らかのエラーが発生し、一部の印刷ジョブがキャンセルされると、キャンセルされたジョブが一連の出力物には存在しなくなり、意図した順番の印刷物が得られなくなる。もし、そのままシーケンシャル印刷を継続したとすると、キャンセル発生後の印刷物は利用できなくなることもあり、無駄な出力物となってしまう。すると、用紙の無駄が生じるだけでなく、リカバリ作業が必要になる場合もある。さらに、キャンセルが発生したことをユーザが知ることができないと、ユーザは正常に印刷完了したと誤認識し、お客様に間違った印刷物を送付するおそれもある。
【０００６】
特許文献１の技術では、ジョブを一時停止しなければならない場合、停止要因に該当する後続のジョブを停止すると共に、処理を続行可能なジョブはそのまま処理することで、生産性を維持している。しかし、この技術でも、停止要因に該当しない後続のジョブは印刷されるので、出力物の順番が飛び飛びになり、意図する順番の印刷物が得られず、上記した無駄発生の問題も解決されない。
【０００７】
本発明の目的は、ジョブキャンセル発生後の無駄な印刷を抑制することである。
【課題を解決するための手段】
【０００８】
上記目的を達成するために本発明は、印刷装置と通信し、前記印刷装置にジョブを送信して印刷を実行させる印刷制御装置であって、ジョブを受け付ける受け付け手段と、前記受け付け手段により受け付けられたジョブをＲＩＰ処理するＲＩＰ手段と、前記ＲＩＰ手段によりＲＩＰ処理されたジョブを、前記受け付け手段による受け付け開始の順に前記印刷装置へ送信する送信手段と、前記印刷装置から、ジョブのキャンセル発生の通知を受信する受信手段と、前記受信手段によりジョブのキャンセル発生の通知が受信された場合は、前記送信手段による未送信のジョブの送信を停止させる制御手段と、を有することを特徴とする。
【発明の効果】
【０００９】
本発明によれば、ジョブキャンセル発生後の無駄な印刷を抑制することができる。
【図面の簡単な説明】
【００１０】
【図１】印刷システムの全体構成を示す図である。
【図２】ＲＩＰコントローラのハードウェア構成を示すブロック図である。
【図３】コントローラ装置の機能ブロック図である。
【図４】印刷装置のハードウェア構成を示すブロック図である。
【図５】コントローラ装置の機能ブロック図である。
【図６】シーケンシャル印刷の設定画面である。
【図７】シーケンシャルジョブ管理データベース（図（ａ））、ジョブデータ作業メモリの内容の例を示す図（図（ｂ）、（ｃ））である。
【図８】シーケンシャルジョブの各処理における順番例を示す図である。
【図９】各タイミングにおける受信データ作業メモリ内容（図（ａ）、（ｃ）、（ｅ））、ＲＩＰデータ作業メモリ内容を示す図（図（ｂ）、（ｄ）、（ｆ））である。
【図１０】シーケンシャル印刷処理の全体のフローチャートである。
【図１１】受信処理（図（ａ））、受信スレッド処理（図（ｂ））のフローチャートである。
【図１２】ＲＩＰ処理（図（ａ））、ＲＩＰスレッド処理（図（ｂ））のフローチャートである。
【図１３】出力処理のフローチャートである。
【図１４】キャンセル発生時の対応処理のフローチャートである。
【図１５】キャンセル発生時の対応処理（図（ａ））、印刷装置側キャンセル対応処理（図（ｂ））のフローチャートである。
【発明を実施するための形態】
【００１１】
以下、本発明の実施の形態を図面を参照して説明する。
【００１２】
（第１の実施の形態）
図１は、本発明の第１の実施の形態に係る印刷制御装置を含む印刷システムの全体構成を示す図である。この印刷システムは、複数の画像処理装置１０３（１０３ａ、１０３ｂ、１０３ｃ）がネットワーク１０１を介してクライアントＰＣ１０２と接続されて構成される。画像処理装置１０３ａ、１０３ｂ、１０３ｃは、それぞれ印刷装置１０５（１０５ａ、１０５ｂ、１０５ｃ）を含むと共に、印刷制御装置としてのＲＩＰコントローラ１０４（１０４ａ、１０４ｂ、１０４ｃ）を含んでいる。各画像処理装置１０３の呼称は、画像処理システムであってもよい。各画像処理装置１０３のＲＩＰコントローラ１０４がネットワーク１０１に接続されるが、画像処理装置１０３ｂ、１０３ｃについては印刷装置１０５ｂ、１０５ｃもネットワーク１０１に接続されている。各画像処理装置１０３において、印刷装置１０５とＲＩＰコントローラ１０４とは専用線１０６（１０６ａ、１０６ｂ、１０６ｃ）で接続されている。画像処理装置１０３ａ、１０３ｂにおいては、それぞれ、印刷装置１０５とＲＩＰコントローラ１０４とは専用ネットワーク１０７（１０７ａ、ｂ）でも接続されている。
【００１３】
専用線１０６は主に、ＲＩＰコントローラ１０４によるＲＩＰ済みデータを印刷装置１０５に出力するために用いられる。専用ネットワーク１０７は主に、ＲＩＰコントローラ１０４と印刷装置１０５との間で制御情報等のコマンドを送受信するために用いられる。図１に示したように、専用ネットワーク１０７の有無や印刷装置１０５とネットワーク１０１との接続の有無によって、画像処理装置１０３には異なる構成のバリエーションが存在し得る。また、図示はしないが、専用線１０６を用いず専用ネットワーク１０７によってＲＩＰ済みデータを印刷装置１０５に出力する構成もありうる。しかし、本発明の適用に関し、これらの構成の差異を考慮する必要はない。従って、本発明が適用される画像処理装置１０３はいずれの構成でもよく、また、印刷システムにおける画像処理装置１０３の数は１つでもよい。
【００１４】
クライアントＰＣ１０２は、印刷システムにおける複数のアプリケーションソフトから印刷ジョブを一旦受信し、印刷ジョブの順番を整え、ＲＩＰコントローラ１０４に対して順番に印刷ジョブを送出する。図１ではアプリケーションソフトが動くＰＣは図示せず、ＲＩＰコントローラ１０４に対して印刷ジョブを投入するＰＣ１０２のみを図示している。ＰＣ１０２からＲＩＰコントローラ１０４に対してジョブが投入されると、ＲＩＰコントローラ１０４から所定の処理を経て印刷装置１０５へ印刷が指示され、印刷装置１０５から印刷物が出力される。
【００１５】
図２は、ＲＩＰコントローラ１０４のハードウェア構成を示すブロック図である。ＲＩＰコントローラ１０４は、コントローラ装置２１０、表示／操作装置２２０及び記憶装置２３０を有する。コントローラ装置２１０は、ＣＰＵ２１１、ＲＯＭ２１２、ＲＡＭ２１３、表示／操作装置Ｉ／Ｆ（インターフェイス）部２１４、記憶装置Ｉ／Ｆ部２１５、ネットワークＩ／Ｆ部２１８、専用線Ｉ／Ｆ部２１９を有する。コントローラ装置２１０と表示／操作装置２２０及び記憶装置２３０とは、何らかのケーブル（或いは配線）で繋がり、そのケーブル上を電気信号が伝送され、相互通信または片方通信により互いが連携して動作する。その電気信号を伝送するためのドライバ・レシーバチップ、絶縁のためのトランスチップ、ケーブルの接続機構であるコネクタ等から構成されるハードウェア回路が、表示／操作装置Ｉ／Ｆ部２１４及び記憶装置Ｉ／Ｆ部２１５である。
【００１６】
コントローラ装置２１０では、ＲＯＭ２１２または記憶装置２３０に格納されたプログラムに基づきＲＡＭ２１３上でＣＰＵ２１１がそのプログラムの一部或いは全部を実行する。コントローラ装置２１０は、上記プログラムに基づき、表示／操作装置２２０、記憶装置２３０を制御する。ネットワークＩ／Ｆ部２１８はネットワーク１０１に接続するためのハードウェアであり、上記プログラムに基づきＰＣ１０２及び／又は印刷装置１０５と通信する。表示／操作装置２２０は、タッチパネル式液晶画面、または、大画面モニタ、キーボード及びマウスを有するハードウェアである。表示／操作装置２２０は、上記プログラムに基づきユーザに対して画像処理装置１０３の状態や操作メニューを表示したり、ユーザからの操作指示を受け付けたりする。記憶装置２３０は、ＨＤＤやフラッシュメモリ等のハードウェアであり、上記プログラムに基づきファイルやデータを記憶する。
【００１７】
図３は、コントローラ装置２１０の機能ブロック図である。この図では、ＲＡＭ２１３上でＣＰＵ２１１が上記プログラムの一部或いは全部を実行した場合にソフトウェアとして実現される各種処理部、各種制御部のブロックを示している。ジョブ制御部３１１（制御手段）は、各ブロックを統合的に制御する。各ブロックは、上記プログラムに基づいて連携して動作する。
【００１８】
シーケンシャルジョブ管理データベース部３０１は、後述するシーケンシャルジョブ管理データベース８０１（図７（ａ））を保持し、シーケンシャルジョブを管理する。シーケンシャルジョブは、複数が連続して投入され、投入された順番に印刷が実行される印刷ジョブである。ジョブデータ作業メモリ３０２は、シーケンシャルジョブが処理される場合に使われる作業メモリである。シーケンシャルジョブ受信部３１２（受け付け手段）は、ＰＣ１０２からシーケンシャルジョブを受信する。ＲＩＰ処理部３１３（ＲＩＰ手段）は、受信されたシーケンシャルジョブをＲＩＰ処理する。ジョブ送受信部３１４は、ＲＩＰコントローラ１０４から印刷装置１０５へ印刷ジョブを送信するタイミングや印刷ジョブ及びＲＩＰデータの属性を送信する制御を行ったり、印刷装置１０５からのキャンセル指示を受信したりする。ＲＩＰデータ送信部３１５は、印刷装置１０５に対してＲＩＰデータを送信する。ジョブ送受信部３１４は本発明における受信手段に該当する。ジョブ送受信部３１４及びＲＩＰデータ送信部３１５は本発明における送信手段に該当する。解像度やトナーやインクの数によってはＲＩＰデータのサイズが大きくなる。ＲＩＰデータを高速に送信する場合は、高速通信を実現できる専用線１０６が用いられる。しかし、ＲＩＰデータのサイズが小さく低速な送信でも良い場合は、専用線１０６を用いず専用ネットワーク１０７またはネットワーク１０１が用いられる。本発明は、専用線１０６を用いる場合と用いない場合の両方に適応可能である。
【００１９】
なお、ＲＩＰコントローラ１０４は、シーケンシャルジョブ以外にも通常のジョブも受信することができる。ＲＩＰコントローラ１０４は、シーケンシャルジョブ専用のジョブ受信キューを用意し、通常のジョブのジョブ受信キューとは別にすることで、シーケンシャルジョブと通常のジョブとを分別して受信することができる。
【００２０】
図４は、印刷装置１０５のハードウェア構成を示すブロック図である。印刷装置１０５は、コントローラ装置４１０、表示／操作装置４２０、記憶装置４３０、スキャナ装置４４０及びプリンタ装置４５０を有する。コントローラ装置４１０は、ＣＰＵ４１１、ＲＯＭ４１２及びＲＡＭ４１３を有する。コントローラ装置４１０はまた、表示／操作装置Ｉ／Ｆ部４１４、記憶装置Ｉ／Ｆ部４１５、スキャナ装置Ｉ／Ｆ部４１６、プリンタ装置Ｉ／Ｆ部４１７、ネットワークＩ／Ｆ部４１８及び専用線Ｉ／Ｆ部４１９を有する。コントローラ装置４１０と、表示／操作装置４２０、記憶装置４３０、スキャナ装置４４０及びプリンタ装置４５０とは、何らかのケーブル（或いは配線）で繋がり、そのケーブル上を電気信号が伝送され、相互通信または片方通信により互いが連携して動作する。その電気信号を伝送するためのドライバ・レシーバチップ、絶縁のためのトランスチップ、ケーブルの接続機構であるコネクタ等からハードウェア回路が構成される。これらのハードウェア回路が、表示／操作装置Ｉ／Ｆ部４１４、記憶装置Ｉ／Ｆ部４１５、スキャナ装置Ｉ／Ｆ部４１６及びプリンタ装置Ｉ／Ｆ部４１７である。
【００２１】
コントローラ装置４１０では、ＲＯＭ４１２または記憶装置４３０に格納されたプログラムに基づきＲＡＭ４１３上でＣＰＵ４１１がそのプログラムの一部或いは全部を実行する。コントローラ装置４１０は、上記プログラムに基づき、表示／操作装置４２０、記憶装置４３０、スキャナ装置４４０及びプリンタ装置４５０を制御する。ネットワークＩ／Ｆ部４１８はネットワーク１０１に接続するためのハードウェアであり、上記プログラムに基づきＰＣ１０２と通信する。表示／操作装置４２０は、タッチパネル式液晶画面等に代表されるハードウェアである。表示／操作装置４２０は、上記プログラムに基づきユーザに対して画像処理装置１０３の状態や操作メニューを表示したり、ユーザからの操作指示を受け付けたりする。記憶装置４３０は、ＨＤＤやフラッシュメモリ等のハードウェアであり、上記プログラムに基づきファイルやデータを記憶する。スキャナ装置４４０は原稿をスキャンすることができ、自動的に複数枚の原稿を搬送する機能を有していてもよい。スキャナ装置４４０はさらに、スキャンしたデータをコントローラ装置４１０に送信するための信号ケーブル、コントローラ装置４１０と信号を送受信するための通信装置、通信装置を制御するためのＣＰＵ、ＲＯＭ、ＲＡＭを有していてもよい。本実施の形態ではこれら全てを含んだものをスキャナ装置４４０とする。プリンタ装置４５０は、コントローラ装置４１０から印刷用データを受信し、印刷指示に基づいて印刷を行う。その印刷方式は問わず、例えば、インクジェットや電子写真方式等である。
【００２２】
図５は、コントローラ装置４１０の機能ブロック図である。この図では、ＲＡＭ４１３上でＣＰＵ４１１が上記プログラムの一部或いは全部を実行した場合にソフトウェアとして実現される各種処理部、各種制御部のブロックを示している。印刷装置ジョブ制御部５１１は、各ブロックを統合的に制御する。各ブロックは、上記プログラムに基づいて連携して動作する。印刷装置ジョブ管理データベース部５０１は、印刷装置１０５において受信したジョブを管理する。印刷装置ジョブ送受信部５１４は、ＲＩＰコントローラ１０４のジョブ送受信部３１４からジョブを受信する。印刷装置ＲＩＰデータ受信部５１５は、ＲＩＰコントローラ１０４のＲＩＰデータ送信部３１５からＲＩＰデータを受信する。印刷装置出力部５１６は紙上に画像を形成することで印刷物を出力する。
【００２３】
図６は、シーケンシャル印刷の設定画面である。この設定画面６０１は、ＲＩＰコントローラ１０４のコントローラ装置２１０上で、ＲＡＭ２１３上でＣＰＵ２１１が上記プログラムの一部或いは全部を実行することで実現される。さらには、ＣＰＵ２１１は、表示／操作装置２２０に対して、生成した画面を表示するように制御し、ユーザからの入力を表示／操作装置２２０経由で受信するよう制御する。
【００２４】
設定画面６０１では、シーケンシャル印刷に関する次の３つの項目が設定される。まず、シーケンシャル印刷を使用する項目６１１は、ＲＩＰコントローラ１０４においてシーケンシャル印刷の機能を使えるようにするかどうかを示す設定項目であり、チェックボックス６１２を用いて設定される。項目６１３は、後述するシーケンシャル印刷の動作において用いられるタイムアウトＴＭを示す設定項目であり、３０〜３００秒の範囲で設定される。項目６１５は、キャンセル発生時処理優先、すなわちＲＩＰコントローラ１０４の内部処理の順番を規定する設定項目であり、チェックボックス６１６を用いて設定される。ユーザは、設定画面６０１を閉じる際には、設定値を適用する場合はＯＫボタン６０２を押下し、設定値を適用しない場合はキャンセルボタン６０３を押下する。
【００２５】
図７（ａ）は、シーケンシャルジョブ管理データベース８０１の例である。この管理データベース８０１は、ＲＡＭ２１３上でＣＰＵ２１１により実行されるプログラムによって生成される。この管理データベース８０１はテーブル構造をしていて、ジョブ毎に「ジョブ受付番号」、「受信済みデータ」、「ＲＩＰ済みデータ」が保持される。ジョブ受付番号は、シーケンシャルジョブ受信部３１２がジョブを受け付けた順番に１から昇順に番号を振ったものである。受信済みデータ、ＲＩＰ済みデータには、対応するジョブの受信済みの実データ、ＲＩＰ済みの実データが保持される。なお、これらの実データはジョブ毎にサイズが異なるので、実データを管理データベース８０１に保持するのに代えて、実データへのアドレスを保持してもよい。以降では、記述や説明を簡便にするため、実データが保持されているとして説明する。
【００２６】
図７（ｂ）、（ｃ）は、ＲＩＰコントローラ１０４のジョブデータ作業メモリ３０２のメモリ内容の例を示す図である。これらのメモリ内容は、ＲＡＭ２１３上でＣＰＵ２１１により実行されるプログラムによって生成される。特に、図７（ｂ）には、シーケンシャルジョブ受信部３１２が受信した受信済みデータに関する受信データ作業メモリ内容８１１が示される。この作業メモリ内容８１１はジョブ毎に生成される。「ジョブ受付番号ｘ」には、シーケンシャルジョブ受信部３１２が受信したジョブに付与されたジョブ受付番号の値が入り、ジョブ受付番号ｘの値によって、シーケンシャルジョブのうち何番目に受信されたジョブの受信データであるかが分かるようになっている。「受信済みデータ」は受信済みのデータであり、「受信済みフラグ」はジョブの受信が完了したか否かを示す。すなわち、ジョブ受付番号ｘに対応するジョブが受信されて「受信済みデータ」にデータの保持が完了したら、「受信済みフラグ」にＴＲＵＥが立つ。
【００２７】
図７（ｃ）には、ＲＩＰコントローラ１０４のＲＩＰ処理部３１３がＲＩＰ処理したＲＩＰ済みデータに関するＲＩＰデータ作業メモリ内容８２１が示される。この作業メモリ内容８２１はジョブ毎に生成される。ジョブ受付番号「ｙ」には、シーケンシャルジョブ受信部３１２が受信したジョブに付与されたジョブ受付番号の値が入り、ジョブ受付番号ｙの値によって、シーケンシャルジョブのうち何番目に受信されたジョブのＲＩＰデータであるかが分かるようになっている。「ＲＩＰ済みデータ」はＲＩＰ処理されたＲＩＰ済みデータであり、「ＲＩＰ済みフラグ」はジョブのＲＩＰ処理が完了したか否かを示す。すなわち、ジョブ受付番号ｙに対応するジョブがＲＩＰ処理されて「ＲＩＰ済みデータ」への保持が完了したら、「ＲＩＰ済みフラグ」にＴＲＵＥが立つ。また、ＲＩＰコントローラ１０４が「ＲＩＰ済みデータ」を印刷装置１０５に対し送信し、その送信が完了したら、「送信済みフラグ」にＴＲＵＥが立つ。
【００２８】
なお、図７（ｂ）、（ｃ）に示した作業メモリ内容８１１及び作業メモリ内容８２１は、シーケンシャルジョブ受信部３１２、ＲＩＰ処理部３１３、ジョブ送受信部３１４及びＲＩＰデータ送信部３１５が処理を行う上で用いられる。シーケンシャルジョブ管理データベース部３０１は、出力処理がジョブ単位で終わると、終了したジョブの作業メモリ内容８１１、８２１を管理データベース８０１（図７（ａ））にコピーし記録する。これは、シーケンシャルジョブが終了した後に、それを再印刷したり、ジョブの処理状況の痕跡を追ったりするのに用いられる。
【００２９】
図８は、シーケンシャルジョブの各処理における順番例を示す図である。図の縦軸は時間を示し、上から下に時間が経過する。図の横軸は各処理を表す。ジョブ受付番号は、シーケンシャルジョブ受信部３１２がジョブを受け付けた順番（厳密には受信開始した順番）であるので、１から８まで順に並ぶ。この例では、シーケンシャルジョブはジョブ受付番号１〜８の８つのジョブで構成されている。ジョブ受付番号３、４のジョブは、ジョブのデータ量が大きいために受信処理に時間がかかり、受信完了段階では、受信開始順が後であったジョブ受付番号５、６のジョブにそれぞれ抜かれる。よって、「受信完了順番」では順序が入れ替わり、「１２５３６４７８」という順番になる。
【００３０】
受信が完了したら、受信完了の順にＲＩＰ処理が開始される。ジョブ受付番号３、４のジョブはデータ量が大きい或いはデータが複雑なためにＲＩＰ処理に時間がかかり、ＲＩＰ完了段階では、受信開始順が後であったジョブ受付番号６、７のジョブに抜かれる。よって、「ＲＩＰ完了順番」では順序が入れ替わり、「１２５６３７４８」という順番になる。ＲＩＰ処理が完了したら出力処理が開始される。この出力処理の順序は、ＲＩＰ処理の完了順ではなく、「ジョブ受付番号」の順番通りとされる。従って、「出力順番」は「ジョブ受付番号」の順番通りとなり「１２３４５６７８」という順番になる。
【００３１】
タイミングｔ１、ｔ２、ｔ３のそれぞれにおいて、作業メモリ内容８１１、８２１は異なる。これらを図９で説明する。図９（ａ）、（ｃ）、（ｅ）はそれぞれ、タイミングｔ１、ｔ２、ｔ３における受信データ作業メモリ内容８１１を示す図である。図９（ｂ）、（ｄ）、（ｆ）はそれぞれ、タイミングｔ１、ｔ２、ｔ３におけるＲＩＰデータ作業メモリ内容８２１を示す図である。なお、作業メモリ内容８１１、８２１は、ジョブ毎に生成されるので、図７（ｂ）、（ｃ）に示したようにジョブ毎に独立するが、ジョブ毎に記述するよりテーブル形式で記述する方が分かりやすいため、図９（ａ）〜（ｆ）ではテーブル形式で記述している。テーブルでの順番としては、図９（ａ）、（ｃ）、（ｅ）では受信完了順、図９（ｂ）、（ｄ）、（ｆ）ではＲＩＰ完了順に記述されている。なお、タイミングｔ３は全てのジョブのＲＩＰ処理が完了した時点であり、シーケンシャルジョブに関する受信データ作業メモリ内容８１１及びＲＩＰデータ作業メモリ内容８２１は完成している（図９（ｅ）、（ｆ））。
【００３２】
次に、図１０〜図１３で、ＲＩＰコントローラ１０４におけるシーケンシャル印刷等の処理を説明する。これらの処理は、コントローラ装置２１０上で、ＲＯＭ２１２或いは記憶装置２３０に格納されたプログラムに基づきＲＡＭ２１３上でＣＰＵ２１１がそのプログラムの一部或いは全部を実行することで実現される。
【００３３】
図１０は、シーケンシャル印刷処理の全体のフローチャートである。この処理は、ＲＩＰコントローラ１０４の電源が投入されると開始される。
【００３４】
まず、ジョブ制御部３１１は、シーケンシャル印刷を使用するか否かを、設定画面６０１のチェックボックス６１２（図６）がチェックされているか否かによって判別する。その判別の結果、ジョブ制御部３１１は、シーケンシャル印刷を使用しない場合は、図１０の処理を終了させる一方、シーケンシャル印刷を使用する場合は、ステップＳ１０２〜Ｓ１０４の準備動作へ移行する。まず、ジョブ制御部３１１は、シーケンシャルジョブに対応して、管理データベース８０１を新たに作成し（ステップＳ１０２）、変数Ｎ、Ｍを０に初期化する（ステップＳ１０３）。そしてジョブ制御部３１１は、受信処理、ＲＩＰ処理、出力処理を開始する（ステップＳ１０４）。これにより、受信処理（図１１（ａ））、ＲＩＰ処理（図１２（ａ））、出力処理（図１３）が開始される。これらの処理は並行して実行される。
【００３５】
次に、ジョブ制御部３１１は、タイマの計時を開始する（ステップＳ１０５）。このタイマは、ジョブを受信する度に受信処理（図１１（ａ））のステップＳ２０４で０にリセットされる。次に、ジョブ制御部３１１は、タイマの値がタイムアウト値ＴＭ（図６）を超えるまで待機する（ステップＳ１０６）。そして、タイマの値がタイムアウト値ＴＭを超えた場合は、ジョブ制御部３１１は、ジョブの最後の受信から十分な時間が経過しているので、シーケンシャルジョブの受信は完了し、すなわち、受信処理、ＲＩＰ処理、出力処理の全てが完了したと判断する。そこでジョブ制御部３１１は、変数Ｎが０よりも大きいか否かを判別する（ステップＳ１０７）。
【００３６】
ここで、ＲＩＰコントローラ１０４の電源が投入されても、シーケンシャルジョブを受信すること無く通常のジョブのみを受信する場合もある。変数Ｎはシーケンシャルジョブの受信開始の度にインクリメントされる値である（図１１のステップＳ２０２）。従って、シーケンシャルジョブを受信していないならば変数Ｎは０のままである。従って、ステップＳ１０７の判別の結果、変数Ｎが０より大きくない場合は、ジョブ制御部３１１は、シーケンシャルジョブを受信していないので、処理をステップＳ１０５に戻してタイマの計時を再度開始し、シーケンシャルジョブの受信を待つ。一方、変数Ｎが０より大きい場合は、シーケンシャルジョブを既に受信している。そこでジョブ制御部３１１は、管理データベース部３０１に、受信データ作業メモリ内容８１１とＲＩＰデータ作業メモリ内容８２１を、「ジョブ受付番号」に合わせて管理データベース８０１として保存する。
【００３７】
次に、ステップＳ１０９では、ジョブ制御部３１１は、受信処理、ＲＩＰ処理、出力処理を終了する。ステップＳ１０９の処理では、ジョブ制御部３１１は、受信スレッド（図１１（ｂ））で作成された受信データ作業メモリ内容８１１と、ＲＩＰスレッド（図１２（ｂ））で作成されたＲＩＰデータ作業メモリ内容８２１とを削除する。ステップＳ１０９の後、処理はステップＳ１０２に戻る。図１０の処理は、ＲＩＰコントローラ１０４の電源がオフになるか、またはチェックボックス６１２がオフとされるまで継続される。
【００３８】
図１１（ａ）は、受信処理のフローチャートである。この処理は、図１０のステップＳ１０４で起動されて開始される。まず、ジョブ制御部３１１は、シーケンシャルジョブ受信部３１２によりシーケンシャルジョブの受信が検知されたか否かによって、シーケンシャルジョブの受信を開始したか否かを判別する（ステップＳ２０１）。ジョブ制御部３１１は、シーケンシャルジョブの受信を開始するまで待ち、受信を開始すると、変数Ｎを１だけ増加させる（ステップＳ２０２）。変数Ｎが各ジョブの受け付け開始の順を示す「ジョブ受付番号」を規定する。次に、ジョブ制御部３１１は、受信スレッド処理（図１１（ｂ））を起動し（ステップＳ２０３）、タイマを０にクリアすると共に、再スタートさせ（ステップＳ２０４）、処理をステップＳ２０１に戻す。従って、（通常のジョブでなく）シーケンシャルジョブが受信される度に変数Ｎがインクリメントされると共に、受信スレッド処理が起動される。
【００３９】
図１１（ｂ）は、受信スレッド処理のフローチャートである。この処理は、図１１（ａ）のステップＳ２０３で起動される。ジョブ制御部３１１は、ＲＩＰコントローラ１０４のジョブデータ作業メモリ３０２上で、受信データ作業メモリ内容８１１用の作業領域を確保する（ステップＳ３０１）。ジョブ制御部３１１は、受信データ作業メモリ内容８１１の受け付け番号「ｘ」に、「ジョブ受付番号」を表す変数Ｎの値を入力する（ステップＳ３０２）。ジョブ制御部３１１は、シーケンシャルジョブ受信部３１２に、シーケンシャルジョブの受信処理を実行させる（ステップＳ３０３）。
【００４０】
次に、ジョブ制御部３１１は、シーケンシャルジョブ受信部３１２が受信したシーケンシャルジョブのデータを受信データ作業メモリ内容８１１の「受信済みデータ」に保存する（ステップＳ３０４）。次に、ジョブ制御部３１１は、シーケンシャルジョブ受信部３１２がシーケンシャルジョブの受信を完了すれば、受信データ作業メモリ内容８１１の「受信済みフラグ」にＴＲＵＥを立てる（ステップＳ３０５）。次に、ジョブ制御部３１１は、シーケンシャルジョブ受信部３１２に、ＲＩＰ処理部３１３に対してメッセージ通信などの方法で受信完了を通知させる（ステップＳ３０６）。その後、図１１（ｂ）の処理は終了する。
【００４１】
このように、図１１（ａ）、（ｂ）の処理によると、１つのシーケンシャルジョブが受信開始されたら１つの受信スレッドが開始され、その受信スレッドが完了する前に次のジョブが受信開始されたら別の受信スレッドが開始される。従って、複数のジョブはそれぞれに対応する受信スレッドで受信処理が行われるので、並列処理が可能となる。
【００４２】
図１２（ａ）は、ＲＩＰ処理のフローチャートである。この処理は、図１０のステップＳ１０４で起動されて開始される。まずジョブ制御部３１１は、図１１（ｂ）のステップＳ３０６で通知した受信完了がＲＩＰ処理部３１３により受信されるまで待ち（ステップＳ４０１）、受信完了がＲＩＰ処理部３１３により受信された場合は、処理をステップＳ４０２に進める。ステップＳ４０２では、ジョブ制御部３１１は、図１１（ｂ）のステップＳ３０４で保存された受信データ作業メモリ内容８１１のアドレスを引き継ぐ（ステップＳ４０２）。次に、ジョブ制御部３１１は、ＲＩＰスレッド処理（図１２（ｂ））を起動し（ステップＳ４０３）、処理をステップＳ４０１に戻す。
【００４３】
図１２（ｂ）は、ＲＩＰスレッド処理のフローチャートである。この処理は、図１２（ａ）のステップＳ４０３で起動される。ジョブ制御部３１１は、ＲＩＰコントローラ１０４のジョブデータ作業メモリ３０２上で、ＲＩＰデータ作業メモリ内容８２１用の作業領域を確保する（ステップＳ５０１）。次に、ジョブ制御部３１１は、上記引き継いだ受信データ作業メモリ内容８１１における受け付け番号ｘの値をＲＩＰデータ作業メモリ内容８２１の受け付け番号「ｙ」に入力する（ステップＳ５０２）。次に、ジョブ制御部３１１は、上記引き継いだ受信データ作業メモリ内容８１１における受信済みデータを取得し（ステップＳ５０３）、この取得した受信済みデータを対象にＲＩＰ処理部３１３にＲＩＰ処理を行わせる（ステップＳ５０４）。
【００４４】
次に、ジョブ制御部３１１は、ＲＩＰ処理が完了すると、そのＲＩＰ済みデータを、ＲＩＰデータ作業メモリ内容８２１の「ＲＩＰ済みデータ」に保存する（ステップＳ５０５）。次に、ジョブ制御部３１１は、ＲＩＰデータ作業メモリ内容８２１の「ＲＩＰ済みフラグ」にＴＲＵＥを立てる（ステップＳ５０６）。次に、ジョブ制御部３１１は、ＲＩＰ処理部３１３に、メッセージ通信などの方法でＲＩＰ完了をジョブ送受信部３１４に対して通知させ（ステップＳ５０７）、図１２（ｂ）の処理を終了させる。
【００４５】
このように、図１２（ａ）、（ｂ）の処理によれば、１つのシーケンシャルジョブのＲＩＰ処理に対して１つのＲＩＰスレッドが開始され、そのＲＩＰスレッドが完了する前に次のシーケンシャルジョブのＲＩＰ処理に対して別のＲＩＰスレッドが開始される。従って、複数のジョブはそれぞれに対応するＲＩＰスレッドでＲＩＰ処理が行われるので、並列処理が可能となる。
【００４６】
図１３は、出力処理のフローチャートである。この処理は、図１０のステップＳ１０４で起動されて開始される。まずジョブ制御部３１１は、図１２（ｂ）のステップＳ５０７で通知したＲＩＰ完了がジョブ送受信部３１４により受信されるまで待つ（ステップＳ６０１）。そして、ＲＩＰ完了がジョブ送受信部３１４により受信されると、ジョブ制御部３１１は、変数Ｍを１だけ増加させる（ステップＳ６０２）。この変数Ｍは、ジョブ送受信部３１４が印刷装置１０５に対し、受け付け開始の順でジョブを送信するための制御用変数である。
【００４７】
次に、ＣＰＵ２１１は、ＲＩＰデータ作業メモリ内容８２１を対象に、受け付け番号「ｙ」の値がＭであるジョブの存在を探索する（ステップＳ６０３）。その判別の結果、ｙ値がＭであるジョブが存在しない場合は、ジョブ制御部３１１は、処理をステップＳ６０３に戻す。これにより、ｙ値がＭであるジョブが存在するまで探索が繰り返される。一方、ｙ値がＭであるジョブが存在する場合は、ジョブ制御部３１１は、ＲＩＰデータ作業メモリ内容８２１のｙ値がＭであるジョブの「ＲＩＰ済みフラグ」がＴＲＵＥであるか否かを判別する（ステップＳ６０５）。ｙ値がＭであるジョブの「ＲＩＰ済みフラグ」がＴＲＵＥでない場合は、ジョブ制御部３１１は、ＲＩＰ処理の完了によりＴＲＵＥに変わるまで待つ。一方、ｙ値がＭであるジョブの「ＲＩＰ済みフラグ」がＴＲＵＥとなると、ジョブ制御部３１１は、処理をステップＳ６０６に進める。ステップＳ６０６では、ジョブ制御部３１１は、ジョブ送受信部３１４及びＲＩＰデータ送信部３１５に、ＲＩＰデータ作業メモリ内容８２１のｙ値がＭで且つＲＩＰ済みフラグがＴＲＵＥのジョブのＲＩＰ済みデータを印刷装置１０５に対し出力させる。その際、ｙ値の情報も一緒に通知される。次に、ジョブ制御部３１１は、ＲＩＰデータ作業メモリ内容８２１の「送信済みフラグ」にＴＲＵＥを立て（ステップＳ６０７）、処理をステップＳ６０２に戻す。
【００４８】
これにより、「ＲＩＰ済みフラグ」がＴＲＵＥとなったことを前提として、ＲＩＰデータ作業メモリ内容８２１の「ｙ」の値が１のジョブから順番に印刷装置１０５へＲＩＰ済みデータが出力される。
【００４９】
図１０〜図１３で説明したＲＩＰコントローラ１０４のシーケンシャル印刷の動作によって、ＲＩＰコントローラ１０４は受信開始の順番通りに印刷装置１０５に対しジョブを出力することができる。
【００５０】
ところが、印刷装置１０５においては、様々な理由により、受信したジョブを全て印刷出力できない場合がある。例えば、仕上げとしてステイプル綴じが設定されているジョブの場合、ステイプル装置にはステイプルできる出力枚数の上限があるので、それ以上の枚数のジョブに対しステイプルを行うジョブ属性があればステイプルは不可能である。その場合は、ステイプルが行われない出力が得られても意味が無いので、印刷装置において印刷出力がキャンセルさある場合がある。また、印刷用紙が無くなり出力が停まる場合、用紙無しの状態がユーザによって復帰されなければ出力物が放置される可能性が高いと見なせる。その場合、印刷装置において、セキュリティの観点から、用紙切れ発生後、一定時間内に復帰されないと印刷出力がキャンセルされる場合がある。
【００５１】
このように、ＲＩＰコントローラ１０４のシーケンシャル印刷において、受け付け開始順に印刷装置１０５に対しジョブを出力したとても、印刷装置１０５の側でジョブをキャンセルする場合がある。ジョブがキャンセルされると、印刷装置１０５の出力は歯抜けのような状態となり、意図した出力結果にならない。そこで、印刷装置１０５においてキャンセルが発生した場合におけるＲＩＰコントローラ１０４での対応処理について図１４で説明する。
【００５２】
図１４は、シーケンシャル印刷のキャンセル発生時の対応処理のフローチャートである。この処理は、ＲＩＰコントローラ１０４のコントローラ装置２１０上で、ＲＯＭ２１２或いは記憶装置２３０に格納されたプログラムに基づきＲＡＭ２１３上でＣＰＵ２１１がそのプログラムの一部或いは全部を実行することで実現される。この処理は、ＲＩＰコントローラ１０４の電源が投入されると開始され、その後、一定時間間隔で実行される。
【００５３】
ジョブ制御部３１１は、印刷装置１０５からキャンセル発生の通知が受信されるのを待つ（ステップＳ７０１）。すなわち、ジョブ制御部３１１は、印刷装置１０５の印刷装置ジョブ送受信部５１４から、ネットワーク１０１または専用線１０６または専用ネットワーク１０７経由でキャンセル発生の通知をジョブ送受信部３１４が受信するまで待つ。通常、印刷装置１０５は、ジョブを正常に印刷完了したり異常によりキャンセルしたりした場合、ジョブ送信元のＲＩＰコントローラ１０４に対し、そのジョブを特定する情報としてＩＤを通知すると共に、状況（印刷完了やキャンセル）を通知する。ジョブ制御部３１１は、ジョブ送受信部３１４が、印刷装置１０５からのキャンセル発生の通知を受信すると、受信された情報から、キャンセルされたジョブのＩＤを取得する（ステップＳ７０２）。なお、ジョブを特定するＩＤは、ＲＩＰデータ作業メモリ内容８２１のジョブ受け付け番号ｙの値でも良いし、別のＩＤでも良い。例えば、ＲＩＰコントローラ１０４が受信したシーケンシャルジョブと通常ジョブとを一意に特定できるＩＤが考えられる。以下では、ジョブを特定するＩＤが、シーケンシャルジョブのジョブ受け付け番号ｙであるとして説明する。
【００５４】
キャンセルが発生した後は、ＲＩＰコントローラ１０４で受信処理及びＲＩＰ処理をそれ以上行う必要が無い。そこでジョブ制御部３１１は、起動している受信スレッド処理及びＲＩＰスレッド処理を終了させる（ステップＳ７０３）。これにより、無駄なＲＩＰ処理を回避することができる。次に、ジョブ制御部３１１は、ＲＩＰデータ作業メモリ内容８２１を対象に、ステップＳ７０２でＩＤとして取得した値よりも大きな値のジョブ受付番号を持つジョブが存在するかどうかを検索する（ステップＳ７０４）。その判別の結果、ジョブ制御部３１１は、取得した値よりも大きな値のジョブ受付番号を持つジョブが存在しない場合は、処理をステップＳ７０８に進める。一方、ジョブ制御部３１１は、取得した値よりも大きな値のジョブ受付番号を持つジョブが存在する場合はステップＳ７０６、Ｓ７０７を実行する。
【００５５】
まず、ステップＳ７０６では、ジョブ制御部３１１は、ＲＩＰコントローラ１０４から印刷装置１０５にこれ以上ジョブが送信されないようにするべく、これから送信しようとしているジョブを止める処理を行う。すなわち、ジョブ制御部３１１は、ＲＩＰデータ作業メモリ内容８２１を対象に、「送信済みフラグ」の値がＴＲＵＥでない、即ち送信が完了していないジョブを探し出す。そしてジョブ制御部３１１は、送信済みフラグ」の値がＴＲＵＥでないジョブの送信を停止させるようジョブ送受信部３１４及びＲＩＰデータ送信部３１５を制御すると共に、「送信済みフラグ」をＣＡＮＣＥＬへと変更する。これにより、未送信のジョブ（及びＲＩＰ済みデータ）の送信を停止させることができる。
【００５６】
次に、ステップＳ７０７では、ジョブ制御部３１１は、ＲＩＰコントローラ１０４から既に印刷装置１０５へ送信済みのジョブを、印刷装置１０５にキャンセルさせるように印刷装置１０５へ指示する。すなわち、ジョブ制御部３１１は、ジョブ送受信部３１４を制御して、印刷装置１０５の印刷装置ジョブ送受信部５１４に対し「送信済みフラグ」がＴＲＵＥのジョブのＩＤに対応するジョブ受付番号を有するジョブをキャンセルするよう指示する。さらにジョブ制御部３１１は、ＲＩＰデータ作業メモリ内容８２１における「送信済みフラグ」をＣＡＮＣＥＬへと変更する。これにより、送信済みのジョブの印刷を回避することができる。
【００５７】
なお、ジョブ送信停止（ステップＳ７０６）と送信済みジョブキャンセル指示（ステップＳ７０７）の処理の順番は例示したのと逆にしてもよい。ジョブ送信停止（ステップＳ７０６）は、ＲＩＰコントローラ１０４内の処理であるので比較的短時間に完了できる。一方、送信済みジョブキャンセル指示（ステップＳ７０７）は、互いに独立した装置であるＲＩＰコントローラ１０４と印刷装置１０５とのやりとりを伴うため比較的長時間掛かる。図１４で採用した順番は、短時間に確実にジョブ送信の停止を完了させて後にキャンセルを行うという考えによるものである。しかし、短時間とは言えジョブ送信の停止までに時間が掛かるので、その間に送信済みのジョブが印刷装置１０５において出力されると無駄な紙が出力されてしまう。それを極力さけるために、送信済みジョブキャンセル指示（ステップＳ７０７）を先に実行するという考え方もある。
【００５８】
本実施の形態では、項目６１５（図６）での設定に従って、ジョブ送信停止、送信済みジョブキャンセル指示の処理順をユーザが指定することができる。チェックボックス６１６がチェックされていると、図１４で例示したようにジョブ送信停止、送信済みジョブキャンセル指示の順で処理され、チェックされていないとその逆の順で処理される。
【００５９】
次に、ステップＳ７０８では、ジョブ制御部３１１は、ＲＩＰコントローラ１０４がＰＣ１０２からジョブをこれ以上受信しないようにするべく、ＰＣ１０２に対しジョブ送信を止める処理を実行する。例えば、ジョブ制御部３１１は、シーケンシャルジョブ受信部３１２を制御し、ＰＣ１０２に対し受信エラーをリプライ（受信エラーを送信）することで、ジョブ送信中止の指示を行う。或いはジョブ制御部３１１は、ＰＣ１０２からのシーケンシャルジョブを受信するシーケンシャルジョブ専用のジョブ受信キューを一旦閉じる。このジョブ受信キューを閉じると、ＰＣ１０２はシーケンシャルジョブを送信できなくなるので、ＰＣ１０２側では何度か再送を試みた後に既定のタイムアウトが発生してシーケンシャルジョブの送信をエラーで中止する。このような手法でＰＣ１０２に対し、新たなジョブの送信を中止するよう指示し、新たなジョブの受け付けを回避することができる。
【００６０】
次に、ジョブ制御部３１１は、受信データ作業メモリ内容８１１の「受信済みフラグ」を全てＣＡＮＣＥＬへと変更する（ステップＳ７０９）。次に、ジョブ制御部３１１は、送信済みジョブキャンセル指示（ステップＳ７０７）に応答して印刷装置１０５から送信されるキャンセル完了の通知が、ジョブ送受信部３１４により受信されるのを待つ（ステップＳ７１０）。そして、印刷装置１０５からのキャンセル完了の通知が受信されると、ジョブ制御部３１１は、現在の受信データ作業メモリ内容８１１とＲＩＰデータ作業メモリ内容８２１を管理データベース８０１に保存する（ステップＳ７１１）。これにより、シーケンシャルジョブの終了後に、ジョブの再印刷やジョブの処理状況の確認が行えるようになる。
【００６１】
次に、ジョブ制御部３１１は、シーケンシャル印刷のキャンセル発生時の対応処理を実施したことを報知するべく、表示／操作装置２２０に対して所定のメッセージ等を表示させる（ステップＳ７１２）。すなわちジョブ制御部３１１は、ステップＳ７０３、Ｓ７０８、Ｓ７０９、Ｓ７１１を実行した旨を表示させるほか、ステップＳ７０６、Ｓ７０７を実行した場合はその旨も表示させる。例えば、どのジョブでキャンセルが発生し、その後のジョブを中止したか、あるいはどのジョブまでは正常に印刷できたか等を示す情報のほか、キャンセル理由等が表示される。なお、キャンセル発生時の対応処理を実施したことを報知する所定の報知の態様は例示に限られず、音声による報知であってもよい。
【００６２】
次に、ジョブ制御部３１１は、ステップＳ１０４で開始された受信処理（図１１（ａ））、ＲＩＰ処理（図１２（ａ））、出力処理（図１３）を終了させる。その後、図１４の処理が終了する。その後は、図１０のステップＳ１０１に処理が移行するので、次のシーケンシャルジョブを受信できるようにする。
【００６３】
このように、シーケンシャル印刷の処理中に印刷装置１０５においてシーケンシャルジョブの一部のジョブがキャンセルされた場合、ＲＩＰコントローラ１０４において適切な対応処理が行われる。これにより、その後のジョブの送信や新たな受信を適切に中止することができ、無駄な用紙の消耗やリカバリ作業が不要になる。
【００６４】
本実施の形態によれば、シーケンシャルジョブの受信を開始すると、受信処理、ＲＩＰ処理、出力処理が並行して実行され、出力処理では、ジョブは受け付け開始の順に印刷装置１０５へ出力される。シーケンシャル印刷において、ＲＩＰコントローラ１０４では、印刷装置１０５からジョブのキャンセル発生の通知が受信されると、次のような処理が実行される。まず、ジョブ制御部３１１は、未送信のジョブの送信を停止させるので、ジョブキャンセル発生後の無駄な印刷を抑制することができる。ジョブ制御部３１１はさらに、送信済みのジョブのキャンセルを印刷装置１０５に指示するので、送信済みのジョブの印刷を回避することができる。従って、用紙の無駄やリカバリ作業の増加が抑制され、順番が飛び飛びとなった意図しない出力物が出力されることも回避される。しかも、未送信のジョブの送信を停止させる制御（ステップＳ７０６）と送信済みのジョブのキャンセルを指示する制御（ステップＳ７０７）の２つの制御の優先順位をユーザは指定できるので、状況に応じて無駄な印刷を極力抑制することができる。ジョブ制御部３１１はまた、受け付けたジョブの送信元の装置であるＰＣ１０２に対して、新たなジョブの送信を中止するよう指示するので、新たなジョブの受け付けを回避することができる。ジョブ制御部３１１はまた、ＲＩＰ処理を停止させるので、無駄なＲＩＰ処理を回避することができる。また、送信済みのジョブのキャンセルを印刷装置１０５に指示した後、送信済みのジョブのキャンセルが完了した旨の通知を印刷装置１０５から応答として受けると、ジョブ制御部３１１は、所定の報知を行う（ステップＳ７１２）。これにより、キャンセルに関する処理がなされたことをユーザに知らせることができる。ユーザは正常に印刷完了したと誤認識することがなくなり、お客様に間違った印刷物を送付するおそれもなくなる。
【００６５】
（第２の実施の形態）
第１の実施の形態では、印刷装置１０５でジョブのキャンセルが発生した場合、キャンセルされたジョブ以降の後続ジョブをキャンセルするようＲＩＰコントローラ１０４が印刷装置１０５に指示する構成であった。そのため、印刷装置１０５において、ＲＩＰコントローラ１０４から受信した未印刷のジョブの印刷中止が遅れ、印刷が開始される可能性がある。即ち、印刷装置１０５が、ＲＩＰコントローラ１０４からキャンセル指示発生前に受信済みであったジョブの印刷出力を開始してしまい、キャンセル指示を受信した時点では数枚の出力を行っていて、無駄となる可能性がある。これに対し、本発明の第２の実施の形態では、ＲＩＰコントローラ１０４及び印刷装置１０５から成る画像処理装置１０３において、印刷装置１０５が、指示を受けることなく後続ジョブを自発的にキャンセルする。以下、この構成を図１５（ａ）、（ｂ）で説明する。
【００６６】
図１５（ａ）は、ＲＩＰコントローラ１０４で実行されるシーケンシャル印刷のキャンセル発生時の対応処理のフローチャートである。この処理は、図１４の処理からステップＳ７０７の処理を廃止したものであるので、ステップＳ７０１〜Ｓ７０５、Ｓ７０９〜Ｓ７１３の図示を省略している。
【００６７】
図１５（ｂ）は、印刷装置１０５で実行される印刷装置側キャンセル対応処理のフローチャートである。この処理は、印刷装置１０５のコントローラ装置４１０上で、ＲＯＭ４１２或いは記憶装置４３０に格納されたプログラムに基づきＲＡＭ４１３上でＣＰＵ４１１がそのプログラムの一部或いは全部を実行することで実現される。この処理は、印刷装置１０５の電源が投入されると開始される。
【００６８】
まず、印刷装置ジョブ制御部５１１は、印刷装置１０５がＲＩＰコントローラ１０４からシーケンシャルジョブの送信を開始する旨の通知を受信するまで待つ（ステップＳ８０１）。なお、印刷装置１０５で印刷を行うジョブがシーケンシャルジョブであるかどうかはＲＩＰコントローラ１０４が把握しているので、ＲＩＰコントローラ１０４から印刷装置１０５に送信開始を通知することで印刷装置１０５にその旨が知らされる。そして、シーケンシャルジョブの送信を開始する旨の通知が受信されると、印刷装置ジョブ制御部５１１は、シーケンシャルジョブモードでの印刷装置１０５の動作を開始させる（ステップＳ８０２）。これにより、印刷装置１０５は、ステップＳ８０３〜８０８のシーケンシャルジョブモードの処理へ移行する。
【００６９】
ステップＳ８０３では、印刷装置ジョブ制御部５１１は、印刷装置１０５においてシーケンシャルジョブの一部のジョブのキャンセルの発生を待つ。そして、一部のジョブのキャンセルが発生すると、印刷装置ジョブ制御部５１１は、まず印刷出力をこれ以上行わないようにするべく、印刷装置出力部５１６に対してその印刷機能を止める（ステップＳ８０４）。これにより、未印刷のジョブの印刷動作が速やかに停止される。次に、印刷装置ジョブ制御部５１１は、キャンセルが発生したジョブのＩＤ（例えばジョブ受付番号）と一緒に、キャンセルが発生したことを、ＲＩＰコントローラ１０４に対し通知する（ステップＳ８０５）。
【００７０】
次に、印刷装置ジョブ制御部５１１は、印刷装置１０５において、キャンセル発生時点より前にＲＩＰコントローラ１０４から受信済みのジョブ（後続ジョブ）をキャンセルする（ステップＳ８０６）。ステップＳ８０４で既に印刷出力を停止しているので、ステップＳ８０６のタイミングでキャンセルした後続ジョブについては確実に印刷出力を回避できる。次に、印刷装置ジョブ制御部５１１は、キャンセルした後続ジョブのＩＤ（例えばジョブ受付番号）と一緒に、ＲＩＰコントローラ１０４に対し後続ジョブのキャンセルが発生したことを通知する（ステップＳ８０７）。これにより、印刷装置１０５の内部に保持されている全てのジョブが、これ以上印刷出力されなくなる。そこで、印刷装置ジョブ制御部５１１は、シーケンシャルジョブモードを終了させ（ステップＳ８０８）、その際、キャンセル完了をＲＩＰコントローラ１０４へ通知し、その後、処理をステップＳ８０１に戻す。
【００７１】
なお、ステップＳ８０１において、印刷装置１０５で印刷を行うジョブがシーケンシャルジョブであるかどうかを判定する方法として、ＲＩＰコントローラ１０４からの送信開始の通知以外にも次のようなものが考えられる。例えば、ＲＩＰコントローラ１０４からジョブが送信される時、そのジョブがシーケンシャルジョブであるかどうかを示す属性を予め持たせておき、キャンセルが発生したときに印刷装置１０５においてその属性を確認する。これによっても、印刷装置ジョブ制御部５１１はシーケンシャルジョブモードであるかどうかを判定することができる。
【００７２】
本実施の形態では、ＲＩＰコントローラ１０４と印刷装置１０５とが協働してキャンセル発生時の対応処理を行うことで、印刷装置１０５がジョブをキャンセルした後に無駄な出力を速やかに停止することができる。従って、本実施の形態によれば、ジョブキャンセル発生後の無駄な印刷を抑制すること等に関し、第１の実施の形態と同様の効果を奏することができる。また、印刷装置１０５が後続ジョブをキャンセルするので、ＲＩＰコントローラ１０４から指示を行う必要がない。
【００７３】
なお、本実施の形態における図１５（ｂ）のステップＳ７１０では、ステップＳ８０６において印刷装置１０５がキャンセルした後続ジョブを含めてキャンセル完了の通知を受信したかどうかが判断される。
【００７４】
上記各実施の形態では、ＲＩＰコントローラ１０４と印刷装置１０５とが別の装置であり、これらが通信可能に接続されて構成される画像処理装置１０３（あるいは画像処理システム）に本発明を適用する例を説明した。しかし、これまで説明したＲＩＰコントローラ１０４の機能と印刷装置１０５の機能を持ち、ＲＩＰコントローラ１０４と印刷装置１０５が１つの装置内に存在している構成であっても本発明を適用可能である。
【００７５】
ところで、これらで、印刷装置１０５でジョブのキャンセルが発生した場合の対応処理に関して説明したが、ジョブのキャンセル発生は広義に捉えてよく、ジョブが正しく出力できなくなった場合もジョブのキャンセル発生に含まれるとしてもよい。その場合、印刷装置１０５による印刷結果の異常を検知する装置により印刷結果に異常が有ると検知された場合に、印刷装置ジョブ制御部５１１がジョブのキャンセル発生があったと検知するようにしてもよい。例えば、印刷装置１０５の後段に、印刷装置１０５の印刷出力の内容が正しく印刷されているかどうかを判断する検品装置が接続される構成が考えられる。ＲＩＰ処理部３１３において処理ミスが発生したために、印刷出力はできたが、お客様の名前が間違って印刷されたり、印刷装置１０５において印字のかすれや斜行によって内容が正しく読み取れなかったりといったエラーを検品装置は検知できる。
【００７６】
このような場合は、印刷装置１０５では、検品装置においてエラーと判断される。エラーと判断されると、印刷出力をお客様に届けられないので、シーケンシャル印刷を停止する必要がある。よって、検品時等において、印刷出力が正しくないと判断される場合にも本発明は対応できる。なお、検品装置は印刷装置１０５の後段にインラインで接続されている場合は、検品装置のエラー判定を印刷装置１０５が受信し、それをＲＩＰコントローラ１０４に通知する構成を採用してもよい。また、検品装置が印刷装置１０５にオフラインで接続されている場合は、検品装置のエラー判定を印刷装置１０５が受信できるようにしてもよいし、検品装置が直接、ＲＩＰコントローラ１０４に通知するようにしてもよい。どちらにせよ、ＲＩＰコントローラ１０４は、検品装置のエラー判定を検知することができる。
【００７７】
（その他の実施例）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【００７８】
以上、本発明をその好適な実施形態に基づいて詳述してきたが、本発明はこれら特定の実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の様々な形態も本発明に含まれる。上述の実施形態の一部を適宜組み合わせてもよい。
【符号の説明】
【００７９】
１０２  クライアントＰＣ
１０４  ＲＩＰコントローラ
１０５  印刷装置
３１１  ジョブ制御部
３１２  シーケンシャルジョブ受信部
３１３  ＲＩＰ処理部
３１４  ジョブ送受信部
３１５  ＲＩＰデータ送信部
【図１】
2017052235.tif 000003
【図２】
2017052235.tif 000004
【図３】
2017052235.tif 000005
【図４】
2017052235.tif 000006
【図５】
2017052235.tif 000007
【図６】
2017052235.tif 000008
【図７】
2017052235.tif 000009
【図８】
2017052235.tif 000010
【図９】
2017052235.tif 000011
【図１０】
2017052235.tif 000012
【図１１】
2017052235.tif 000013
【図１２】
2017052235.tif 000014
【図１３】
2017052235.tif 000015
【図１４】
2017052235.tif 000016
【図１５】
2017052235.tif 000017