(57)【要約】【課題】印刷ジョブのキャンセル指示を入力したユーザ及び他のユーザに公平となるように、キャンセル指示を入力したユーザの別の印刷ジョブをキャンセル指示の対象の印刷ジョブの順番で記憶部に再登録することができる、印刷装置を提供する。【解決手段】ジョブキュー２３１に登録されたジョブの実行を取り消すキャンセル指示が入力されると、キャンセル指示の対象のジョブの印刷による実行量が決定される。また、そのキャンセル対象ジョブよりも後の順番のジョブについて、ジョブの印刷による印刷所要時間、印刷枚数及びトナー使用量が決定される。そして、キャンセル対象ジョブと同じユーザ名を有し、かつ、印刷所要時間、印刷枚数及びトナー使用量の少なくとも１つがキャンセル対象ジョブ以下であるジョブが決定される。そして、その決定されたジョブがキャンセル対象ジョブの順番でジョブキュー２３１に再登録される。【選択図】図１
2017177722.tif 000002
【特許請求の範囲】
【請求項１】
印刷ジョブを受け付ける受付部と、
印刷部と、
入力部と、
記憶部と、
制御部と、
を備え、
前記制御部は、
前記受付部に受け付けられた印刷ジョブを受け付けられた順番で前記記憶部に登録するジョブ登録処理と、
前記記憶部に登録された印刷ジョブをその印刷ジョブの順番で前記印刷部を用いて実行する印刷ジョブ実行処理と、
前記記憶部に登録された印刷ジョブの実行を取り消すキャンセル指示が前記入力部に入力された場合、キャンセル対象の印刷ジョブをキャンセルするジョブキャンセル処理と、
前記キャンセル対象の印刷ジョブの実行による実行量を、前記キャンセル対象の印刷ジョブから決定するキャンセルジョブ実行量決定処理と、
前記キャンセル指示の対象の印刷ジョブよりも後の順番で登録された印刷ジョブの実行による実行量を、前記印刷ジョブから決定する印刷ジョブ実行量決定処理と、
前記キャンセル指示の対象の印刷ジョブよりも後の順番で登録された印刷ジョブのうち、前記キャンセル指示の対象の印刷ジョブと同じ識別情報を有し、かつ、前記印刷ジョブ実行量決定処理で決定された実行量が前記キャンセルジョブ実行量決定処理で決定された実行量以下であるという条件に合致する１つの印刷ジョブを決定する印刷ジョブ決定処理と、
前記印刷ジョブ決定処理で決定された印刷ジョブを、前記キャンセル指示の対象の印刷ジョブの順番で前記記憶部に再登録するジョブ再登録処理と、
を実行する印刷装置。
【請求項２】
請求項１に記載の印刷装置であって、
前記制御部は、
前記印刷ジョブ決定処理において、
前記キャンセル指示が入力された時点で前記記憶部に既に登録されていた印刷ジョブの中から、前記キャンセル指示の対象の印刷ジョブの順番で前記記憶部に再登録される印刷ジョブを決定する、
印刷装置。
【請求項３】
請求項１又は２に記載の印刷装置であって、
前記制御部は、
前記印刷ジョブ実行量決定処理において、
前記キャンセル指示が入力された後に前記受付部に受け付けられた新規印刷ジョブの実行による実行量を、前記新規印刷ジョブから決定し、
更に、
前記新規印刷ジョブが前記キャンセル指示の対象の印刷ジョブと同じ識別情報を有し、かつ、前記印刷ジョブ実行量決定処理で決定された実行量が前記キャンセルジョブ実行量決定処理で決定された実行量以下であるという新規ジョブ条件が満たされる場合、前記新規印刷ジョブを前記キャンセル指示の対象の印刷ジョブの順番で前記記憶部に登録し、前記新規ジョブ条件が満たされない場合、前記新規印刷ジョブを最後の順番で前記記憶部に登録する新規ジョブ登録処理、
を実行する印刷装置。
【請求項４】
請求項１〜３のいずれか一項に記載の印刷装置であって、
前記制御部は、
前記キャンセルジョブ実行量決定処理において、
前記キャンセル指示の対象の印刷ジョブの実行による印刷枚数を決定し、
前記印刷ジョブ実行量決定処理において、
前記キャンセル指示の対象の印刷ジョブよりも後の順番で登録された印刷ジョブの実行による印刷枚数を決定し、
前記印刷ジョブ決定処理において、
前記キャンセル指示の対象の印刷ジョブと同じ識別情報を有し、かつ、印刷枚数が前記キャンセル指示の対象の印刷ジョブの印刷枚数より少ない印刷ジョブを、前記キャンセル指示の対象の印刷ジョブの順番で前記記憶部に再登録される印刷ジョブに決定する、
印刷装置。
【請求項５】
請求項１〜３のいずれか一項に記載の印刷装置であって、
前記制御部は、
前記印刷ジョブ決定処理において、
印刷ジョブの順番に従って、前記キャンセルジョブ実行量決定処理で決定された実行量と前記印刷ジョブ実行量決定処理で決定された実行量とを比較し、最初に前記条件に合致する印刷ジョブを、前記キャンセル指示の対象の印刷ジョブの順番で前記記憶部に再登録される印刷ジョブに決定する、
印刷装置。
【請求項６】
請求項１〜３のいずれか一項に記載の印刷装置であって、
前記制御部は、
前記キャンセルジョブ実行量決定処理において、
前記キャンセル対象の印刷ジョブの実行による複数の実行量を決定し、
前記印刷ジョブ実行量決定処理において、
前記キャンセル指示の対象の印刷ジョブよりも後の順番で登録された印刷ジョブの実行による複数の実行量を決定し、
前記印刷ジョブ決定処理において、
前記キャンセル指示の対象の印刷ジョブと同じ識別情報を有する全ての印刷ジョブについて、前記印刷ジョブ実行量決定処理で決定された複数の実行量と前記キャンセルジョブ実行量決定処理で決定された複数の実行量とを実行量の種類毎に比較し、少なくとも１つの種類について、前記印刷ジョブ実行量決定処理で決定された実行量が前記キャンセルジョブ実行量決定処理で決定された実行量よりも小さく、かつ、前記印刷ジョブ実行量決定処理で決定された複数の実行量が前記キャンセルジョブ実行量決定処理で決定された複数の実行量と最も近似する印刷ジョブを、前記キャンセル指示の対象の印刷ジョブの順番で前記記憶部に再登録される印刷ジョブに決定する、
印刷装置。
【請求項７】
請求項１〜６のいずれか一項に記載の印刷装置であって、
前記制御部は、
前記印刷ジョブ決定処理において、
前記キャンセル指示の対象の印刷ジョブと同じファイル名を有する印刷ジョブは、前記条件に合致していなくても、前記キャンセル指示の対象の印刷ジョブの順番で前記記憶部に再登録される印刷ジョブに決定する、
印刷装置。
【請求項８】
印刷ジョブを受け付ける受付部と、
印刷部と、
入力部と、
記憶部と、
制御部と、
を備え、
前記制御部は、
前記受付部に受け付けられた印刷ジョブを受け付けられた順番で前記記憶部に登録するジョブ登録処理と、
前記記憶部に登録された印刷ジョブをその印刷ジョブの順番で前記印刷部を用いて実行する印刷ジョブ実行処理と、
前記記憶部に登録された印刷ジョブの実行を取り消すキャンセル指示が前記入力部に入力された場合、キャンセル対象の印刷ジョブをキャンセルするジョブキャンセル処理と、
前記キャンセル対象の印刷ジョブの実行による実行量を、前記キャンセル対象の印刷ジョブから決定するキャンセルジョブ実行量決定処理と、
前記キャンセル指示の対象の印刷ジョブよりも後の順番で登録された印刷ジョブの実行による実行量を、前記印刷ジョブから決定する印刷ジョブ実行量決定処理と、
前記キャンセル指示の対象の印刷ジョブよりも後の順番で登録された印刷ジョブのうち、前記キャンセル指示の対象の印刷ジョブと同じ識別情報を有し、かつ、前記印刷ジョブ実行量決定処理で決定された実行量が前記キャンセルジョブ実行量決定処理で決定された実行量以下であるという条件に合致する１つの印刷ジョブを決定する印刷ジョブ決定処理と、
を実行し、
前記印刷ジョブ実行処理において、
前記印刷ジョブ決定処理で決定された印刷ジョブを、前記キャンセル指示の対象の印刷ジョブの順番で実行する、
印刷装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷装置に関する。
【背景技術】
【０００２】
従来、外部から入力される印刷ジョブをジョブキューに登録し、ジョブキューに登録された印刷ジョブを登録順に実行する印刷装置が知られている。
【０００３】
また、ジョブキューに登録された印刷ジョブのキャンセル指示を受け付け、キャンセル指示を受けた印刷ジョブをキャンセルする印刷装置が知られている。
【０００４】
特許文献１では、キャンセル指示を受けた印刷ジョブの代替として、新たな印刷ジョブをジョブキューに登録する技術が提案されている。この提案に係る技術では、具体的に、キャンセル指示を受けた印刷ジョブがジョブキューから消去されるときに、その消去される印刷ジョブのジョブキューでの登録位置が記憶される。また、ジョブキューから消去される印刷ジョブのユーザ名、ファイル名が記憶される。そして、キャンセル指示の受付後に新たな印刷ジョブが入力されると、入力された新たな印刷ジョブが記憶されているキャンセル指示を受けた印刷ジョブのユーザ名、ファイル名とそれぞれ同じであれば、新たな印刷ジョブが消去された印刷ジョブの登録位置に繰り上げて、ジョブキューに登録される。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１４−１０４６３６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかし、特許文献１の構成では、キャンセル指示の受付後の新たな印刷ジョブの入力時に、その新たな印刷ジョブのユーザ名及びファイル名と、記憶されているキャンセル指示を受けた印刷ジョブのユーザ名及びファイル名とがそれぞれ同じであるか否かが判断されるため、キャンセル指示が受け付けられる前に既に登録されていた印刷ジョブは判断の対象とされない。そのため、キャンセル指示の受付前に登録されていた印刷ジョブのユーザ名及びファイル名が記憶されているキャンセル指示を受けた印刷ジョブのユーザ名及びファイル名とそれぞれ一致していたとしても、キャンセル指示の受付前に登録されていた印刷ジョブの登録位置の繰り上げは行われない。
【０００７】
また、入力された新たな印刷ジョブのユーザ名及びファイル名と記憶されているキャンセル指示を受けた印刷ジョブのユーザ名及びファイル名とがそれぞれ同じであれば、一律、印刷ジョブの登録位置の繰り上げが行われる。そのため、入力された新たな印刷ジョブの印刷所要時間や用紙使用量、トナー／インク使用量等が、キャンセル指示を受けた印刷ジョブの印刷所要時間や用紙使用量、トナー／インク使用量等の実行量より大きいと、他のユーザに対する待ち時間の増加や用紙切れ、トナー／インク切れのリスクが高まり、他のユーザに不公平感を与える恐れがある。
【０００８】
本発明の目的は、印刷ジョブのキャンセル指示を入力したユーザ及び他のユーザに公平となるように、キャンセル指示を入力したユーザの別の印刷ジョブをキャンセル指示の対象の印刷ジョブの順番で記憶部に再登録することができる、印刷装置を提供することである。
【課題を解決するための手段】
【０００９】
前記の目的を達成するため、本発明に係る印刷装置は、印刷ジョブを受け付ける受付部と、印刷部と、入力部と、記憶部と、制御部と、を備え、前記制御部は、前記受付部に受け付けられた印刷ジョブを受け付けられた順番で前記記憶部に登録するジョブ登録処理と、前記記憶部に登録された印刷ジョブをその印刷ジョブの順番で前記印刷部を用いて実行する印刷ジョブ実行処理と、前記記憶部に登録された印刷ジョブの実行を取り消すキャンセル指示が前記入力部に入力された場合、キャンセル対象の印刷ジョブをキャンセルするジョブキャンセル処理と、前記キャンセル対象の印刷ジョブの実行による実行量を、前記キャンセル対象の印刷ジョブから決定するキャンセルジョブ実行量決定処理と、前記キャンセル指示の対象の印刷ジョブよりも後の順番で登録された印刷ジョブの実行による実行量を、前記印刷ジョブから決定する印刷ジョブ実行量決定処理と、前記キャンセル指示の対象の印刷ジョブよりも後の順番で登録された印刷ジョブのうち、前記キャンセル指示の対象の印刷ジョブと同じ識別情報を有し、かつ、前記印刷ジョブ実行量決定処理で決定された実行量が前記キャンセルジョブ実行量決定処理で決定された実行量以下であるという条件に合致する１つの印刷ジョブを決定する印刷ジョブ決定処理と、前記印刷ジョブ決定処理で決定された印刷ジョブを、前記キャンセル指示の対象の印刷ジョブの順番で前記記憶部に再登録するジョブ再登録処理と、を実行する。
【００１０】
この構成によれば、印刷ジョブが受付部に受け付けられると、その印刷ジョブが受け付けられた順番で記憶部に登録される。記憶部に登録された印刷ジョブは、自身の順番で実行される。記憶部に登録されている印刷ジョブの実行を取り消すキャンセル指示が入力されると、キャンセル指示の対象の印刷ジョブの印刷による実行量が決定される。また、キャンセル指示の対象の印刷ジョブよりも後の順番の印刷ジョブについて、印刷ジョブの印刷による実行量が決定される。そして、キャンセル指示の対象の印刷ジョブと同じ識別情報を有し、かつ、実行量がキャンセル指示の対象の印刷ジョブの実行量以下の印刷ジョブが決定される。そして、その決定された印刷ジョブがキャンセル指示の対象の印刷ジョブの順番で記憶部に再登録される。そのため、印刷ジョブのキャンセル指示を入力したユーザ及び他のユーザに公平となるように、キャンセル指示を入力したユーザの別の印刷ジョブをキャンセル指示の対象の印刷ジョブの順番で記憶部に再登録することができる。
【発明の効果】
【００１１】
本発明によれば、印刷ジョブのキャンセル指示を入力したユーザ及び他のユーザに公平となるように、キャンセル指示を入力したユーザの別の印刷ジョブをキャンセル指示の対象の印刷ジョブの順番で記憶部に再登録することができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の一実施形態に係るＭＦＰの電気的構成を示すブロック図である。
【図２】ジョブの実行のためのメインフローチャートである。
【図３】ジョブキャンセル処理の流れを示すフローチャートである。
【図４】第１の順番変更ジョブ決定処理の流れを示すフローチャートである。
【図５】ジョブキューにおけるジョブの登録の状態の一例を示す図である。
【図６】実行中ジョブキャンセル処理の流れを示すフローチャートである。
【図７】第２の順番変更ジョブ決定処理の流れを示すフローチャートである。
【図８】ジョブ登録処理の流れを示すフローチャートである。
【図９】第３の順番変更ジョブ決定処理の流れを示すフローチャートである。
【図１０】変形例に係る第１の順番変更ジョブ決定処理の流れを示すフローチャートである。
【図１１】ジョブキューにおけるジョブの登録の状態の他の例を示す図である。
【発明を実施するための形態】
【００１３】
以下では、本発明の実施の形態について、添付図面を参照しつつ詳細に説明する。
【００１４】
＜ＭＦＰの電気的構成＞
印刷装置の一例であるＭＦＰ（Multi-Function Peripheral）１は、プリンタ機能及びスキャナ機能を有する複合機である。ＭＦＰ１は、図１に示されるように、画像形成部１１（印刷部の一例）、画像読取部１２、操作部１３、表示部１４、通信部１５及び制御部１６を備えている。
【００１５】
画像形成部１１は、画像データに係る画像（カラー画像又はモノクロ画像）をシートに形成する。画像形成の方式は、電子写真方式であってもよいし、インクジェット方式であってもよい。なお、以下では、画像形成部１１が電子写真方式を採用したものである場合を例にとる。
【００１６】
画像読取部１２は、イメージセンサ及びＡＦＥ（Analog Front End）などを備えている。画像読取部１２では、イメージセンサにより原稿の画像が読み取られて、イメージセンサからアナログ画像信号が出力され、ＡＦＥによりそのアナログ画像信号がデジタル画像データに変換される。
【００１７】
操作部１３は、操作ボタン（たとえば、スタートキー、テンキー、カーソルキー）を備えている。操作ボタンの操作により、各種の指示などを操作部１３に入力することが可能である。
【００１８】
表示部１４は、たとえば、液晶表示器からなる。表示部１４には、各種の情報が表示される。
【００１９】
通信部１５は、ＬＡＮ２を経由したネットワーク通信のための回路などを備えている。ＬＡＮ２は、有線ＬＡＮ又は無線ＬＡＮで構成されていてもよいし、有線ＬＡＮ及び無線ＬＡＮの両方で構成されていてもよい。ＬＡＮ２には、ＰＣ（Personal Computer）３などの外部装置が接続されている。ＭＦＰ１とＰＣ３との間では、ＬＡＮ２を経由した双方向通信が可能である。通信部１５は、電話回線網を介したファクシミリ通信のために、ＮＣＵ（Network Control Unit）を内蔵したモデムなどを備えていてもよい。
【００２０】
制御部１６は、ＡＳＩＣ（Application Specific Integrated Circuit）２１、ＲＯＭ２２及びＲＡＭ２３（記憶部の一例）などを備えている。
【００２１】
ＡＳＩＣ２１は、ＣＰＵ２４（制御部の一例）を内蔵している。ＡＳＩＣ２１には、画像読取部１２により取得された画像データ、操作部１３の操作内容を表す操作信号などが入力される。ＣＰＵ２４は、ＡＳＩＣ２１に入力される信号などに基づいて、ＲＯＭ２２に記憶されているプログラムを実行することにより、画像形成部１１、画像読取部１２及び表示部１４を制御し、通信部１５を通信のために制御する。ＣＰＵ２４による制御（プログラム）の実行時、ＲＡＭ２３がワークエリアとして使用される。ＲＡＭ２３には、ＮＶＲＡＭ（Non Volatile RAM）などの不揮発性メモリが含まれていてもよい。
【００２２】
＜メインフローチャート＞
ＭＦＰ１では、ＡＳＩＣ２１のＣＰＵ２４により、図２に示されるメインフローチャートが実行される。
【００２３】
メインフローチャートの実行により、ＣＰＵ２４は、ＲＡＭ２３に設けられたジョブキュー２３１（図１参照）に印刷ジョブ（以下、単に「ジョブ」という。）が登録されているか否か、言い換えれば、ジョブキュー２３１における登録ジョブの有無を確認する（Ｓ１）。
【００２４】
ジョブは、外部装置からＬＡＮ２を経由して通信部１５（受付部の一例）に受け付けられる。ジョブには、画像データ以外に、ジョブを送信したユーザ名、ジョブのサイズ（データ量）、ジョブの実行に使用されるシート（用紙）のサイズ及びページ数などのジョブ情報が含まれる。なお、以下では、識別情報の一例としてユーザ名を用いて説明するが、ユーザ名の替わりに、たとえば、ＭＦＰ１を使用するユーザに割り当てられたユーザＩＤであってもよいし、外部装置のＩＰアドレスなどの識別情報であってもよい。通信部１５に受け付けられたジョブは、通信部１５からＣＰＵ２４に入力され、ジョブキュー２３１に登録される。
【００２５】
この登録に際し、ジョブには、各ジョブの識別のためのジョブＩＤが付与される。ジョブＩＤは、たとえば、図５に示されるように、ジョブ毎に異なる通し番号（００１，００２，・・・）であり、通常、通信部１５に受け付けられた順に昇順で付与される。これにより、ジョブＩＤは、ジョブの順番を表す。ジョブキュー２３１へのジョブの登録により、ジョブキュー２３１には、そのジョブに付与されたジョブＩＤと対応づけて、ジョブの受付日時、ジョブ情報及びジョブの画像データが記憶される。画像データには、ファイル名が付されている。
【００２６】
なお、ジョブがジョブキュー２３１に登録される際に実行されるジョブ登録処理については、後述する。
【００２７】
ジョブキュー２３１にジョブが登録されていない場合（Ｓ１：ＮＯ）、ＣＰＵ２４は、処理を以降に進めない。
【００２８】
ジョブキュー２３１にジョブが登録されている場合（Ｓ１：ＹＥＳ）、ＣＰＵ２４は、ジョブキュー２３１に登録（記憶）されているジョブのうち、順番が最も小さいジョブを実行する（Ｓ２）。ジョブの実行に伴い、ＣＰＵ２４は、ジョブの画像データの画像の形成を画像形成部１１に指示して、画像形成部１１による印刷（画像形成）を開始させる。
【００２９】
その後、ジョブが終了すると、つまりジョブの実行による画像形成が終了すると（Ｓ３：ＹＥＳ）、ＣＰＵ２４は、その実行が終了したジョブをジョブキュー２３１から削除して（Ｓ４）、図２に示される処理を終了する。
【００３０】
ジョブの実行から終了までの間に、その実行中のジョブのキャンセル指示が入力された場合には（Ｓ５：ＹＥＳ）、ＣＰＵ２４は、実行中ジョブキャンセル処理を実行し（Ｓ６）、その後、図２に示される処理を終了する。キャンセル指示は、操作部１３の操作により、操作部１３からＣＰＵ２４に入力されてもよいし、外部装置から通信部１５に受け付けられて、通信部１５からＣＰＵ２４に入力されてもよい。キャンセル指示が操作部１３からＣＰＵ２４に入力される場合、操作部１３が入力部の一例であり、キャンセル指示が通信部１５からＣＰＵ２４に入力される場合、通信部１５が入力部の一例である。実行中ジョブキャンセル処理については、後述する。
【００３１】
＜ジョブキャンセル処理＞
ＭＦＰ１では、実行中のジョブ以外にも、キャンセル指示により、ジョブキュー２３１に登録されているジョブをキャンセルすることができる。
【００３２】
ジョブキュー２３１に登録されているジョブのうち、実行中のジョブ以外のジョブのキャンセル指示が入力されると、ＡＳＩＣ２１のＣＰＵ２４により、図３に示されるジョブキャンセル処理が実行される。
【００３３】
ジョブキャンセル処理では、ＣＰＵ２４は、まず、キャンセル指示の対象のジョブ（以下、「キャンセル対象ジョブ」という。）のジョブ情報をジョブキュー２３１からＲＡＭ２３におけるジョブキュー２３１以外の領域に移動（記憶）させる（Ｓ３１）。
【００３４】
また、ＣＰＵ２４は、キャンセル対象ジョブのジョブ情報（以下、「キャンセルジョブ情報」という。）と対応づけて、キャンセル対象ジョブのジョブＩＤをＲＡＭ２３に記憶させる（Ｓ３２）。
【００３５】
次に、ＣＰＵ２４は、ジョブキュー２３１からキャンセル対象ジョブを削除する（Ｓ３３）。
【００３６】
その後、ＣＰＵ２４は、第１の順番変更ジョブ決定処理を実行する（Ｓ３４）。第１の順番変更ジョブ決定処理では、所定の条件を満たすジョブがジョブキュー２３１に登録されている場合、そのジョブが順番変更ジョブに決定される。一方、所定の条件を満たすジョブがジョブキュー２３１に登録されていない場合、ジョブキュー２３１に登録されているジョブのいずれも順番変更ジョブに決定されず、順番変更ジョブなしとされる。第１の順番変更ジョブ決定処理の詳細については、後述する。
【００３７】
第１の順番変更ジョブ決定処理の終了後、ＣＰＵ２４は、順番変更ジョブの有無を確認する（Ｓ３５）。
【００３８】
順番変更ジョブがない場合（Ｓ３５：ＮＯ）、ＣＰＵ２４は、ジョブキャンセル処理を終了する。
【００３９】
順番変更ジョブがある場合（Ｓ３５：ＹＥＳ）、ＣＰＵ２４は、ＲＡＭ２３に記憶されているキャンセル対象ジョブのジョブＩＤを順番変更ジョブに付与して、そのジョブＩＤと対応づけて、順番変更ジョブ（ジョブ情報など）をジョブキュー２３１に再登録する（Ｓ３６）。
【００４０】
順番変更ジョブの再登録後、ＣＰＵ２４は、不要になったキャンセルジョブ情報をＲＡＭ２３から削除して（Ｓ３７）、ジョブキャンセル処理を終了する。
【００４１】
＜第１の順番変更ジョブ決定処理＞
図３のステップＳ３４で実行される第１の順番変更ジョブ決定処理の流れは、図４に示されている。
【００４２】
第１の順番変更ジョブ決定処理では、ＣＰＵ２４は、キャンセルジョブ情報から、ユーザ名、ジョブサイズ及びページ数を取得し、ジョブサイズ及びページ数などから、キャンセル対象ジョブを実行した場合に必要な印刷所要時間（第１）、印刷枚数（第１）及びトナー使用量（第１）を決定する（Ｓ３４０１）。
【００４３】
次に、ＣＰＵ２４は、キャンセル対象ジョブのジョブＩＤ（順番を表す番号）に１を加算し、その加算値を参照番号Ｍとする（Ｓ３４０２）。たとえば、図５に示されるように、ジョブＩＤ「００３」のジョブがキャンセル対象ジョブである場合、ジョブＩＤ「００３」に１を加算した加算値「００４」が参照番号Ｍとされる。
【００４４】
その後、ＣＰＵ２４は、参照番号Ｍがジョブキュー２３１に登録されているジョブのジョブＩＤの最大値を超えているか否かを判断する（Ｓ３４０３）。
【００４５】
参照番号Ｍが最大値を超えている場合（Ｓ３４０３：ＹＥＳ）、ＣＰＵ２４は、以降の処理を実行せず、第１の順番変更ジョブ処理を終了する。
【００４６】
参照番号Ｍが最大値以下である場合（Ｓ３４０３：ＮＯ）、ＣＰＵ２４は、ジョブＩＤが参照番号Ｍであるジョブ（以下、「参照ジョブ」という。）がジョブキュー２３１に登録されているか否かを確認する（Ｓ３４０４）。
【００４７】
参照ジョブがジョブキュー２３１に登録されていない場合（Ｓ３４０４：ＮＯ）、ＣＰＵ２４は、現在の参照番号Ｍに１を加算し、その加算値「Ｍ＋１」を新たな参照番号Ｍとする（Ｓ３４０５）。
【００４８】
そして、ＣＰＵ２４は、新たな参照番号Ｍがジョブキュー２３１に登録されているジョブのジョブＩＤの最大値を超えたか否かを判断する（Ｓ３４０３）。参照番号Ｍが最大値を超えていなければ（Ｓ３４０３：ＮＯ）、参照ジョブ（新たな参照番号ＭをジョブＩＤとするジョブ）がジョブキュー２３１に登録されているか否かを確認する（Ｓ３４０４）。
【００４９】
参照ジョブがジョブキュー２３１に登録されている場合（Ｓ３４０４：ＹＥＳ）、ＣＰＵ２４は、参照ジョブのジョブ情報から、ユーザ名を取得する（Ｓ３４０６）。
【００５０】
次いで、ＣＰＵ２４は、キャンセル対象ジョブのユーザ名と参照ジョブのユーザ名とが一致するか否かを判断する（Ｓ３４０７）。
【００５１】
キャンセル対象ジョブのユーザ名と参照ジョブのユーザ名とが一致しない場合（Ｓ３４０７：ＮＯ）、ＣＰＵ２４は、現在の参照番号Ｍに１を加算し、その加算値「Ｍ＋１」を新たな参照番号Ｍとする（Ｓ３４０５）。
【００５２】
その後、ＣＰＵ２４は、新たな参照番号Ｍがジョブキュー２３１に登録されているジョブのジョブＩＤの最大値を超えたか否かを再び判断し（Ｓ３４０３）、参照番号Ｍが最大値を超えていなければ（Ｓ３４０３：ＮＯ）、参照ジョブ（新たな参照番号ＭをジョブＩＤとするジョブ）がジョブキュー２３１に登録されているか否かを再び確認する（Ｓ３４０４）。そして、参照ジョブがジョブキュー２３１に登録されている場合（Ｓ３４０４：ＹＥＳ）、ＣＰＵ２４は、キャンセル対象ジョブのユーザ名と参照ジョブのユーザ名とが一致するか否かを判断する（Ｓ３４０７）。
【００５３】
こうして、ジョブキュー２３１に登録されているジョブのうち、キャンセル対象ジョブのジョブＩＤよりも大きいジョブＩＤのジョブの中に、キャンセル対象ジョブのユーザ名と一致するユーザ名の参照ジョブが含まれているか否かがジョブＩＤの小さい順に確認される。
【００５４】
キャンセル対象ジョブのユーザ名と参照ジョブのユーザ名とが一致した場合（Ｓ３４０７：ＹＥＳ）、ＣＰＵ２４は、その参照ジョブのジョブ情報から、印刷所要時間（第２）、印刷枚数（第２）及びトナー使用量（第２）を決定する（Ｓ３４０８）。
【００５５】
その後、ＣＰＵ２４は、キャンセル対象ジョブの印刷所要時間（第１）と参照ジョブの印刷所要時間（第２）との大小を比較する（Ｓ３４０９）。また、キャンセル対象ジョブの印刷枚数（第１）と参照ジョブの印刷枚数（第２）との大小を比較する（Ｓ３４０９）。さらに、キャンセル対象ジョブのトナー使用量（第１）と参照ジョブのトナー使用量（第２）との大小を比較する（Ｓ３４０９）。
【００５６】
印刷所要時間、印刷枚数及びトナー使用量の各値の比較結果から、ＣＰＵ２４は、参照ジョブの印刷所要時間、印刷枚数及びトナー使用量のうちの少なくとも１つの値がキャンセル対象ジョブの対応する値以下であるか否かを判断する（Ｓ３４１０）。
【００５７】
参照ジョブの印刷所要時間、印刷枚数及びトナー使用量がそれぞれキャンセル対象ジョブの印刷所要時間、印刷枚数及びトナー使用量よりも大きい場合（Ｓ３４１０：ＮＯ）、ＣＰＵ２４は、キャンセル対象ジョブのファイル名と参照ジョブのファイル名とが一致しているか否かを判断する（Ｓ３４１１）。
【００５８】
なお、ステップＳ３４１０では、参照ジョブの印刷所要時間、印刷枚数及びトナー使用量のうちの少なくとも１つの値がキャンセル対象ジョブの対応する値よりも小さいか否かが判断されてもよい。そして、参照ジョブの印刷所要時間、印刷枚数及びトナー使用量がそれぞれキャンセル対象ジョブの印刷所要時間、印刷枚数及びトナー使用量以上である場合に、キャンセル対象ジョブのファイル名と参照ジョブのファイル名とが一致しているか否かが判断されてもよい。
【００５９】
キャンセル対象ジョブのファイル名と参照ジョブのファイル名とが一致していない場合（Ｓ３４１１：ＮＯ）、ＣＰＵ２４は、現在の参照番号Ｍに１を加算し、その加算値「Ｍ＋１」を新たな参照番号Ｍとする（Ｓ３４１２）。
【００６０】
その後、ＣＰＵ２４は、新たな参照番号Ｍがジョブキュー２３１に登録されているジョブのジョブＩＤの最大値を超えたか否かを再び判断し（Ｓ３４０３）、参照番号Ｍが最大値を超えていなければ（Ｓ３４０３：ＮＯ）、参照ジョブ（新たな参照番号ＭをジョブＩＤとするジョブ）がジョブキュー２３１に登録されているか否かを確認する（Ｓ３４０４）。参照ジョブがジョブキュー２３１に登録されている場合（Ｓ３４０４：ＹＥＳ）、ＣＰＵ２４は、ジョブキュー２３１に登録されているジョブのうち、キャンセル対象ジョブのジョブＩＤよりも大きいジョブＩＤのジョブの中に、キャンセル対象ジョブのユーザ名と一致するユーザ名のジョブが含まれているか否かをジョブＩＤの小さい順に確認する。
【００６１】
そして、ＣＰＵ２４は、キャンセル対象ジョブのジョブＩＤよりも大きいジョブＩＤのジョブの中に、ユーザ名がキャンセル対象ジョブのユーザ名と一致し（Ｓ３４０７：ＹＥＳ）、かつ、印刷所要時間、印刷枚数及びトナー使用量のうちの少なくとも１つの値がキャンセル対象ジョブの対応する値以下である参照ジョブが見つかると（Ｓ３４１０：ＹＥＳ）、その参照ジョブを順番変更ジョブに決定して（Ｓ３４１３）、第１の順番変更ジョブ決定処理を終了する。
【００６２】
また、ＣＰＵ２４は、キャンセル対象ジョブのファイル名と参照ジョブのファイル名とが一致しているか否かを判断し、それらが一致している場合（Ｓ３４１１：ＹＥＳ）、参照ジョブの印刷所要時間、印刷枚数及びトナー使用量がそれぞれキャンセル対象ジョブの印刷所要時間、印刷枚数及びトナー使用量より大きくても、その参照ジョブを順番変更ジョブに決定して（Ｓ３４１３）、第１の順番変更ジョブ決定処理を終了する。
【００６３】
図５には、ジョブキュー２３１におけるジョブの登録の状態の一例が示されている。第１の順番変更ジョブ決定処理では、ジョブＩＤ「００３」のジョブがキャンセル対象ジョブである場合、ジョブＩＤが「００４」以上である参照ジョブについて、ジョブＩＤの小さい順に、ジョブＩＤ「００３」のキャンセル対象ジョブと同一のユーザ名「ユーザＣ」の参照ジョブが探索される。この探索の結果、図５に示される一例では、ジョブＩＤ「００５」の参照ジョブが見つけられる。そして、キャンセル対象ジョブの印刷所要時間、印刷枚数及びトナー使用量とそれぞれジョブＩＤ「００５」の参照ジョブの印刷所要時間、印刷枚数及びトナー使用量とが比較される。この比較の結果から、ジョブＩＤ「００５」の参照ジョブの印刷枚数「１０」がキャンセル対象ジョブの印刷枚数「６０」以下であるので、ジョブＩＤ「００５」の参照ジョブが順番変更ジョブに決定される。
【００６４】
ジョブＩＤ「００５」の参照ジョブが順番変更ジョブに決定されると、図３に示されるジョブキャンセル処理では、順番変更ジョブ有りと判断されて（ステップＳ３５：ＹＥＳ）、ジョブＩＤ「００５」の参照ジョブがジョブＩＤ「００３」のジョブとしてジョブキュー２３１に再登録される。
【００６５】
＜実行中ジョブキャンセル処理＞
ジョブの実行中に、その実行中のジョブのキャンセル指示が入力された場合には、図２のステップＳ６で実行中ジョブキャンセル処理が実行される。実行中ジョブキャンセル処理の流れは、図６に示されている。
【００６６】
実行中ジョブキャンセル処理では、ＣＰＵ２４は、キャンセル対象ジョブ（実行中のジョブ）のキャンセルジョブ情報をジョブキュー２３１からＲＡＭ２３におけるジョブキュー２３１以外の領域に移動（記憶）させる（Ｓ６１）。
【００６７】
また、ＣＰＵ２４は、キャンセルジョブ情報と対応づけて、キャンセル対象ジョブのジョブＩＤをＲＡＭ２３に記憶させる（Ｓ６２）。
【００６８】
次に、ＣＰＵ２４は、ジョブキュー２３１からキャンセル対象ジョブを削除する（Ｓ６３）。
【００６９】
その後、ＣＰＵ２４は、第２の順番変更ジョブ決定処理を実行する（Ｓ６４）。第２の順番変更ジョブ決定処理では、所定の条件を満たすジョブがジョブキュー２３１に登録されている場合、そのジョブが順番変更ジョブに決定される。一方、所定の条件を満たすジョブがジョブキュー２３１に登録されていない場合、ジョブキュー２３１に登録されているジョブのいずれも順番変更ジョブに決定されず、順番変更ジョブなしとされる。所定の条件は、第１の順番変更ジョブ決定処理における「所定の条件」と同じであってもよいし、異なっていてもよい。第２の順番変更ジョブ決定処理の詳細については、後述する。
【００７０】
第２の順番変更ジョブ決定処理の終了後、ＣＰＵ２４は、順番変更ジョブの有無を確認する（Ｓ６５）。
【００７１】
順番変更ジョブがない場合（Ｓ６５：ＮＯ）、ＣＰＵ２４は、実行中ジョブキャンセル処理を終了する。
【００７２】
順番変更ジョブがある場合（Ｓ６５：ＹＥＳ）、ＣＰＵ２４は、ＲＡＭ２３に記憶されているキャンセル対象ジョブのジョブＩＤを順番変更ジョブに付与して、そのジョブＩＤと対応づけて、順番変更ジョブ（ジョブ情報など）をジョブキュー２３１に再登録する（Ｓ６６）。
【００７３】
順番変更ジョブの再登録後、ＣＰＵ２４は、不要になったキャンセルジョブ情報をＲＡＭ２３から削除して（Ｓ６７）、実行中ジョブキャンセル処理を終了する。
【００７４】
＜第２の順番変更ジョブ決定処理＞
図６のステップＳ６４で実行される第２の順番変更ジョブ決定処理の流れは、図７に示されている。
【００７５】
第２の順番変更ジョブ決定処理では、ＣＰＵ２４は、キャンセルジョブ情報及びキャンセル対象ジョブの進行状況から、そのジョブの未実行部分を実行した場合に必要な印刷所要時間（第３）、印刷枚数（第３）及びトナー使用量（第３）を決定する（Ｓ６４０１）。
【００７６】
次に、ＣＰＵ２４は、キャンセル対象ジョブのジョブＩＤに１を加算し、その加算値を参照番号Ｍとする（Ｓ６４０２）。
【００７７】
その後、ＣＰＵ２４は、参照番号Ｍがジョブキュー２３１に登録されているジョブのジョブＩＤの最大値を超えているか否かを判断する（Ｓ６４０３）。
【００７８】
参照番号Ｍが最大値を超えている場合（Ｓ６４０３：ＹＥＳ）、ＣＰＵ２４は、以降の処理を実行せず、第１の順番変更ジョブ処理を終了する。
【００７９】
参照番号Ｍが最大値以下である場合（Ｓ６４０３：ＮＯ）、ＣＰＵ２４は、参照ジョブ（ジョブＩＤが参照番号Ｍであるジョブ）がジョブキュー２３１に登録されているか否かを確認する（Ｓ６４０４）。
【００８０】
参照ジョブがジョブキュー２３１に登録されていない場合（Ｓ６４０４：ＮＯ）、ＣＰＵ２４は、現在の参照番号Ｍに１を加算し、その加算値「Ｍ＋１」を新たな参照番号Ｍとする（Ｓ６４０５）。
【００８１】
そして、ＣＰＵ２４は、新たな参照番号Ｍがジョブキュー２３１に登録されているジョブのジョブＩＤの最大値を超えたか否かを判断する（Ｓ６４０３）。参照番号Ｍが最大値を超えていなければ（Ｓ６４０３：ＮＯ）、参照ジョブ（新たな参照番号ＭをジョブＩＤとするジョブ）がジョブキュー２３１に登録されているか否かを確認する（Ｓ６４０４）。
【００８２】
参照ジョブがジョブキュー２３１に登録されている場合（Ｓ６４０４：ＹＥＳ）、ＣＰＵ２４は、参照ジョブのジョブ情報から、ユーザ名を取得する（Ｓ６４０６）。
【００８３】
次いで、ＣＰＵ２４は、キャンセル対象ジョブのユーザ名と参照ジョブのユーザ名とが一致するか否かを判断する（Ｓ６４０７）。
【００８４】
キャンセル対象ジョブのユーザ名と参照ジョブのユーザ名とが一致しない場合（Ｓ６４０７：ＮＯ）、ＣＰＵ２４は、現在の参照番号Ｍに１を加算し、その加算値「Ｍ＋１」を新たな参照番号Ｍとする（Ｓ６４０５）。
【００８５】
その後、ＣＰＵ２４は、新たな参照番号Ｍがジョブキュー２３１に登録されているジョブのジョブＩＤの最大値を超えたか否かを再び判断し（Ｓ６４０３）、参照番号Ｍが最大値を超えていなければ（Ｓ６４０３：ＮＯ）、参照ジョブ（新たな参照番号ＭをジョブＩＤとするジョブ）がジョブキュー２３１に登録されているか否かを再び確認する（Ｓ６４０４）。そして、参照ジョブがジョブキュー２３１に登録されている場合（Ｓ６４０４：ＹＥＳ）、ＣＰＵ２４は、キャンセル対象ジョブのユーザ名と参照ジョブのユーザ名とが一致するか否かを判断する（Ｓ６４０７）。
【００８６】
こうして、ジョブキュー２３１に登録されているジョブのうち、キャンセル対象ジョブのジョブＩＤよりも大きいジョブＩＤのジョブの中に、キャンセル対象ジョブのユーザ名と一致するユーザ名の参照ジョブが含まれているか否かがジョブＩＤの小さい順に確認される。
【００８７】
キャンセル対象ジョブのユーザ名と参照ジョブのユーザ名とが一致した場合（Ｓ６４０７：ＹＥＳ）、ＣＰＵ２４は、その参照ジョブのジョブ情報から、印刷所要時間（第２）、印刷枚数（第２）及びトナー使用量（第２）を決定する（Ｓ６４０８）。
【００８８】
その後、ＣＰＵ２４は、キャンセル対象ジョブの印刷所要時間（第３）と参照ジョブの印刷所要時間（第２）との大小を比較する（Ｓ６４０９）。また、キャンセル対象ジョブの印刷枚数（第３）と参照ジョブの印刷枚数（第２）との大小を比較する（Ｓ６４０９）。さらに、キャンセル対象ジョブのトナー使用量（第３）と参照ジョブのトナー使用量（第２）との大小を比較する（Ｓ６４０９）。
【００８９】
印刷所要時間、印刷枚数及びトナー使用量の各値の比較結果から、ＣＰＵ２４は、参照ジョブの印刷所要時間、印刷枚数及びトナー使用量のすべての値がキャンセル対象ジョブの対応する値以下であるか否かを判断する（Ｓ６４１０）。
【００９０】
参照ジョブの印刷所要時間、印刷枚数及びトナー使用量のうちの少なくとも１つの値がキャンセル対象ジョブの対応する値よりも大きい場合（Ｓ６４１０：ＮＯ）、ＣＰＵ２４は、キャンセル対象ジョブのファイル名と参照ジョブのファイル名とが一致しているか否かを判断する（Ｓ６４１１）。
【００９１】
なお、ステップＳ６４１０では、参照ジョブの印刷所要時間、印刷枚数及びトナー使用量のすべての値がキャンセル対象ジョブの対応する値よりも小さいか否かが判断されてもよい。そして、参照ジョブの印刷所要時間、印刷枚数及びトナー使用量のうちの少なくとも１つの値がキャンセル対象ジョブの対応する値以上である場合に、キャンセル対象ジョブのファイル名と参照ジョブのファイル名とが一致しているか否かが判断されてもよい。
【００９２】
キャンセル対象ジョブのファイル名と参照ジョブのファイル名とが一致していない場合（Ｓ６４１１：ＮＯ）、ＣＰＵ２４は、現在の参照番号Ｍに１を加算し、その加算値「Ｍ＋１」を新たな参照番号Ｍとする（Ｓ６４１２）。
【００９３】
その後、ＣＰＵ２４は、新たな参照番号Ｍがジョブキュー２３１に登録されているジョブのジョブＩＤの最大値を超えたか否かを再び判断し（Ｓ６４０３）、参照番号Ｍが最大値を超えていなければ（Ｓ６４０３：ＮＯ）、参照ジョブ（新たな参照番号ＭをジョブＩＤとするジョブ）がジョブキュー２３１に登録されているか否かを確認する（Ｓ６４０４）。参照ジョブがジョブキュー２３１に登録されている場合（Ｓ６４０４：ＹＥＳ）、ＣＰＵ２４は、ジョブキュー２３１に登録されているジョブのうち、キャンセル対象ジョブのジョブＩＤよりも大きいジョブＩＤのジョブの中に、キャンセル対象ジョブのユーザ名と一致するユーザ名のジョブが含まれているか否かをジョブＩＤの小さい順に確認する。
【００９４】
そして、ＣＰＵ２４は、キャンセル対象ジョブのジョブＩＤよりも大きいジョブＩＤのジョブの中に、ユーザ名がキャンセル対象ジョブのユーザ名と一致し（Ｓ６４０７：ＹＥＳ）、かつ、印刷所要時間、印刷枚数及びトナー使用量のすべての値がそれぞれキャンセル対象ジョブの印刷所要時間、印刷枚数及びトナー使用量以下である参照ジョブが見つかると（Ｓ６４１０：ＹＥＳ）、その参照ジョブを順番変更ジョブに決定して（Ｓ６４１３）、第２の順番変更ジョブ決定処理を終了する。
【００９５】
また、ＣＰＵ２４は、キャンセル対象ジョブのファイル名と参照ジョブのファイル名とが一致しているか否かを判断し、それらが一致している場合（Ｓ６４１１：ＹＥＳ）、参照ジョブの印刷所要時間、印刷枚数及びトナー使用量のうちの少なくとも１つの値がキャンセル対象ジョブの対応する値より大きくても、その参照ジョブを順番変更ジョブに決定して（Ｓ６４１３）、第２の順番変更ジョブ決定処理を終了する。
【００９６】
＜ジョブ登録処理＞
ＭＦＰ１では、外部装置からＬＡＮ２を経由して通信部１５に新規のジョブが受け付けられると、ＡＳＩＣ２１のＣＰＵ２４により、ジョブ登録処理が実行される。ジョブ登録処理の流れは、図８に示されている。
【００９７】
ジョブ登録処理では、ＣＰＵ２４は、通信部１５から新規のジョブが入力されたか否かを判断する（Ｓ８１）。
【００９８】
ＣＰＵ２４は、通信部１５から新規のジョブが入力されるまで、以降の処理を実行しない。
【００９９】
通信部１５からＣＰＵ２４に新規のジョブが入力されると（Ｓ８１：ＹＥＳ）、ＣＰＵ２４は、ＲＡＭ２３にキャンセルジョブ情報が記憶されているか否かを判断する（Ｓ８２）。前述したように、キャンセルジョブ情報は、図３に示されるジョブキャンセル処理のステップＳ１１又は図６に示される実行中ジョブキャンセル処理のステップＳ６１でＲＡＭ２３に記憶される。
【０１００】
ＲＡＭ２３にキャンセルジョブ情報が記憶されていない場合（Ｓ８２：ＮＯ）、ＣＰＵ２４は、新規のジョブをジョブキュー２３１の最後のジョブＩＤに登録して（Ｓ８３）、ジョブ登録処理を終了する。すなわち、ジョブキュー２３１に登録されているジョブのいずれに対してもキャンセル指示が入力されていない場合、ＣＰＵ２４は、使用済みのジョブＩＤの最大値に１を加算した値をジョブＩＤとし、そのジョブＩＤを新規のジョブに付与して、ジョブＩＤと対応づけて、新規のジョブの受付日時、ジョブ情報及びジョブの画像データをジョブキュー２３１に登録する。
【０１０１】
一方、ＲＡＭ２３にキャンセルジョブ情報が記憶されている場合（Ｓ８２：ＹＥＳ）、ＣＰＵ２４は、第３の順番変更ジョブ決定処理を実行する（Ｓ８４）。第３の順番変更ジョブ決定処理では、所定の条件を満たすジョブがジョブキュー２３１に登録されている場合、そのジョブが順番変更ジョブに決定される。一方、所定の条件を満たすジョブがジョブキュー２３１に登録されていない場合、ジョブキュー２３１に登録されているジョブのいずれも順番変更ジョブに決定されず、順番変更ジョブなしとされる。所定の条件は、第１の順番変更ジョブ決定処理又は第２の順番変更ジョブ決定処理における「所定の条件」とは同じであってもよいし、異なっていてもよい。第３の順番変更ジョブ決定処理の詳細については、後述する。
【０１０２】
第３の順番変更ジョブ決定処理の終了後、ＣＰＵ２４は、順番変更ジョブの有無を確認する（Ｓ８５）。
【０１０３】
順番変更ジョブがない場合（Ｓ８５：ＮＯ）、ＣＰＵ２４は、新規のジョブをジョブキュー２３１の最後のジョブＩＤに登録して（Ｓ８３）、ジョブ登録処理を終了する。
【０１０４】
順番変更ジョブがある場合（Ｓ８５：ＹＥＳ）、ＣＰＵ２４は、ＲＡＭ２３に記憶されているキャンセル対象ジョブのジョブＩＤを順番変更ジョブに付与して、そのジョブＩＤと対応づけて、順番変更ジョブをジョブキュー２３１に登録する（Ｓ８６）。
【０１０５】
順番変更ジョブの登録後、ＣＰＵ２４は、不要になったキャンセルジョブ情報をＲＡＭ２３から削除して（Ｓ８７）、ジョブ登録処理を終了する。
【０１０６】
＜第３の順番変更ジョブ決定処理＞
図８のステップＳ８４で実行される第３の順番変更ジョブ決定処理の流れは、図４に示されている。
【０１０７】
第３の順番変更ジョブ決定処理では、ＣＰＵ２４は、キャンセルジョブ情報から、ユーザ名、ジョブサイズ及びページ数を取得し、ジョブサイズ及びページ数などから、キャンセル対象ジョブを実行した場合に必要な印刷所要時間（第１）、印刷枚数（第１）及びトナー使用量（第１）を決定する（Ｓ８４１）。
【０１０８】
次に、ＣＰＵ２４は、新規のジョブのジョブ情報から、ユーザ名を取得する（Ｓ８４２）。
【０１０９】
そして、ＣＰＵ２４は、キャンセル対象ジョブのユーザ名と新規のジョブのユーザ名とが一致するか否かを判断する（Ｓ８４３）。
【０１１０】
キャンセル対象ジョブのユーザ名と新規のジョブのユーザ名とが一致しない場合（Ｓ８４３：ＮＯ）、ＣＰＵ２４は、第３の順番変更ジョブ決定処理を終了する。
【０１１１】
キャンセル対象ジョブのユーザ名と新規のジョブのユーザ名とが一致した場合（Ｓ８４３：ＹＥＳ）、ＣＰＵ２４は、新規のジョブのジョブ情報から、印刷所要時間（第２）、印刷枚数（第２）及びトナー使用量（第２）を決定する（Ｓ８４４）。
【０１１２】
その後、ＣＰＵ２４は、キャンセル対象ジョブの印刷所要時間（第１）と新規のジョブの印刷所要時間（第２）との大小を比較する（Ｓ８４５）。また、キャンセル対象ジョブの印刷枚数（第１）と新規のジョブの印刷枚数（第２）との大小を比較する（Ｓ８４５）。さらに、キャンセル対象ジョブのトナー使用量（第１）と新規のジョブのトナー使用量（第２）との大小を比較する（Ｓ８４５）。
【０１１３】
印刷所要時間、印刷枚数及びトナー使用量の各値の比較結果から、ＣＰＵ２４は、新規のジョブの印刷所要時間、印刷枚数及びトナー使用量のうちの少なくとも１つの値がキャンセル対象ジョブの対応する値以下であるか否かを判断する（Ｓ８４６）。
【０１１４】
新規のジョブの印刷所要時間、印刷枚数及びトナー使用量がそれぞれキャンセル対象ジョブの印刷所要時間、印刷枚数及びトナー使用量よりも大きい場合（Ｓ８４６：ＮＯ）、ＣＰＵ２４は、キャンセル対象ジョブのファイル名と新規のジョブのファイル名とが一致しているか否かを判断する（Ｓ８４７）。
【０１１５】
なお、ステップＳ８４６では、新規のジョブの印刷所要時間、印刷枚数及びトナー使用量のうちの少なくとも１つの値がキャンセル対象ジョブの対応する値よりも小さいか否かが判断されてもよい。そして、新規のジョブの印刷所要時間、印刷枚数及びトナー使用量がそれぞれキャンセル対象ジョブの印刷所要時間、印刷枚数及びトナー使用量以上である場合に、キャンセル対象ジョブのファイル名と参照ジョブのファイル名とが一致しているか否かが判断されてもよい。
【０１１６】
キャンセル対象ジョブのファイル名と新規のジョブのファイル名とが一致していない場合（Ｓ８４７：ＮＯ）、ＣＰＵ２４は、第３の順番変更ジョブ決定処理を終了する。
【０１１７】
一方、キャンセル対象ジョブのファイル名と新規のジョブのファイル名とが一致している場合（Ｓ８４７：ＹＥＳ）、新規のジョブの印刷所要時間、印刷枚数及びトナー使用量がそれぞれキャンセル対象ジョブの印刷所要時間、印刷枚数及びトナー使用量以上であっても、その参照ジョブを順番変更ジョブに決定して（Ｓ８４８）、第３の順番変更ジョブ決定処理を終了する。
【０１１８】
また、ＣＰＵ２４は、キャンセル対象ジョブのジョブＩＤよりも大きいジョブＩＤのジョブの中に、ユーザ名がキャンセル対象ジョブのユーザ名と一致し（Ｓ８４３：ＹＥＳ）、かつ、印刷所要時間、印刷枚数及びトナー使用量のうちの少なくとも１つの値がキャンセル対象ジョブの対応する値以下である新規のジョブが見つかると（Ｓ８４６：ＹＥＳ）、その新規のジョブを順番変更ジョブに決定して（Ｓ８４８）、第３の順番変更ジョブ決定処理を終了する。
【０１１９】
＜第１の順番変更ジョブ決定処理の他の例＞
図３のステップＳ１において、図４に示される第１の順番変更ジョブ決定処理に代えて、図１０に示される第１の順番変更ジョブ決定処理が実行されてもよい。
【０１２０】
図１０に示される第１の順番変更ジョブ決定処理では、ＣＰＵ２４は、キャンセルジョブ情報から、ユーザ名、ジョブサイズ及びページ数を取得し、ジョブサイズ及びページ数などから、キャンセル対象ジョブを実行した場合に必要な印刷所要時間（第１）、印刷枚数（第１）及びトナー使用量（第１）を決定する（Ｓ１０１）。
【０１２１】
次に、ＣＰＵ２４は、キャンセル対象ジョブのジョブＩＤ（順番を表す番号）に１を加算し、その加算値を参照番号Ｍとする（Ｓ１０２）。たとえば、図１１に示されるように、ジョブＩＤ「００３」のジョブがキャンセル対象ジョブである場合、ジョブＩＤ「００３」に１を加算した加算値「００４」が参照番号Ｍとされる。
【０１２２】
その後、ＣＰＵ２４は、参照番号Ｍがジョブキュー２３１に登録されているジョブのジョブＩＤの最大値を超えているか否かを判断する（Ｓ１０３）。
【０１２３】
参照番号Ｍが最大値以下である場合（Ｓ１０３：ＮＯ）、ＣＰＵ２４は、参照ジョブ（ジョブＩＤが参照番号Ｍであるジョブ）がジョブキュー２３１に登録されているか否かを確認する（Ｓ１０４）。
【０１２４】
参照ジョブがジョブキュー２３１に登録されていない場合（Ｓ１０４：ＮＯ）、ＣＰＵ２４は、現在の参照番号Ｍに１を加算し、その加算値「Ｍ＋１」を新たな参照番号Ｍとする（Ｓ１０５）。
【０１２５】
そして、ＣＰＵ２４は、新たな参照番号Ｍがジョブキュー２３１に登録されているジョブのジョブＩＤの最大値を超えたか否かを判断する（Ｓ１０３）。参照番号Ｍが最大値を超えていなければ（Ｓ１０３：ＮＯ）、参照ジョブ（新たな参照番号ＭをジョブＩＤとするジョブ）がジョブキュー２３１に登録されているか否かを確認する（Ｓ１０４）。
【０１２６】
参照ジョブがジョブキュー２３１に登録されている場合（Ｓ１０４：ＹＥＳ）、ＣＰＵ２４は、参照ジョブのジョブ情報から、ユーザ名を取得する（Ｓ１０６）。
【０１２７】
次いで、ＣＰＵ２４は、キャンセル対象ジョブのユーザ名と参照ジョブのユーザ名とが一致するか否かを判断する（Ｓ１０７）。
【０１２８】
キャンセル対象ジョブのユーザ名と参照ジョブのユーザ名とが一致しない場合（Ｓ１０７：ＮＯ）、ＣＰＵ２４は、現在の参照番号Ｍに１を加算し、その加算値「Ｍ＋１」を新たな参照番号Ｍとする（Ｓ１０５）。
【０１２９】
その後、ＣＰＵ２４は、新たな参照番号Ｍがジョブキュー２３１に登録されているジョブのジョブＩＤの最大値を超えたか否かを再び判断し（Ｓ１０３）、参照番号Ｍが最大値を超えていなければ（Ｓ１０３：ＮＯ）、参照ジョブ（新たな参照番号ＭをジョブＩＤとするジョブ）がジョブキュー２３１に登録されているか否かを再び確認する（Ｓ１０４）。そして、参照ジョブがジョブキュー２３１に登録されている場合（Ｓ１０４：ＹＥＳ）、ＣＰＵ２４は、キャンセル対象ジョブのユーザ名と参照ジョブのユーザ名とが一致するか否かを判断する（Ｓ１０７）。
【０１３０】
こうして、ジョブキュー２３１に登録されているジョブのうち、キャンセル対象ジョブのジョブＩＤよりも大きいジョブＩＤのジョブの中に、キャンセル対象ジョブのユーザ名と一致するユーザ名の参照ジョブが含まれているか否かがジョブＩＤの小さい順に確認される。
【０１３１】
キャンセル対象ジョブのユーザ名と参照ジョブのユーザ名とが一致した場合（Ｓ１０７：ＹＥＳ）、ＣＰＵ２４は、その参照ジョブのジョブ情報から、印刷所要時間（第２）、印刷枚数（第２）及びトナー使用量（第２）を決定する（Ｓ１０８）。
【０１３２】
その後、ＣＰＵ２４は、キャンセル対象ジョブの印刷所要時間（第１）と参照ジョブの印刷所要時間（第２）との大小を比較する（Ｓ１０８）。また、キャンセル対象ジョブの印刷枚数（第１）と参照ジョブの印刷枚数（第２）との大小を比較する（Ｓ１０８）。さらに、キャンセル対象ジョブのトナー使用量（第１）と参照ジョブのトナー使用量（第２）との大小を比較する（Ｓ１０９）。
【０１３３】
印刷所要時間、印刷枚数及びトナー使用量の各値の比較結果から、ＣＰＵ２４は、参照ジョブの印刷所要時間、印刷枚数及びトナー使用量のうちの少なくとも１つの値がキャンセル対象ジョブの対応する値以下であるか否かを判断する（Ｓ１１０）。
【０１３４】
参照ジョブの印刷所要時間、印刷枚数及びトナー使用量がそれぞれキャンセル対象ジョブの印刷所要時間、印刷枚数及びトナー使用量よりも大きい場合（Ｓ１１０：ＮＯ）、ＣＰＵ２４は、キャンセル対象ジョブのファイル名と参照ジョブのファイル名とが一致しているか否かを判断する（Ｓ１１１）。
【０１３５】
なお、ステップＳ１１０では、参照ジョブの印刷所要時間、印刷枚数及びトナー使用量のうちの少なくとも１つの値がキャンセル対象ジョブの対応する値よりも小さいか否かが判断されてもよい。そして、参照ジョブの印刷所要時間、印刷枚数及びトナー使用量がそれぞれキャンセル対象ジョブの印刷所要時間、印刷枚数及びトナー使用量以上である場合に、キャンセル対象ジョブのファイル名と参照ジョブのファイル名とが一致しているか否かが判断されてもよい。
【０１３６】
キャンセル対象ジョブのファイル名と参照ジョブのファイル名とが一致していない場合（Ｓ１１１：ＮＯ）、ＣＰＵ２４は、現在の参照番号Ｍに１を加算し、その加算値「Ｍ＋１」を新たな参照番号Ｍとする（Ｓ１０５）。
【０１３７】
その後、ＣＰＵ２４は、新たな参照番号Ｍがジョブキュー２３１に登録されているジョブのジョブＩＤの最大値を超えたか否かを再び判断し（Ｓ１０３）、参照番号Ｍが最大値を超えていなければ（Ｓ１０３：ＮＯ）、参照ジョブ（新たな参照番号ＭをジョブＩＤとするジョブ）がジョブキュー２３１に登録されているか否かを再び確認する（Ｓ１０４）。参照ジョブがジョブキュー２３１に登録されている場合（Ｓ１０４：ＹＥＳ）、ＣＰＵ２４は、ジョブキュー２３１に登録されているジョブのうち、キャンセル対象ジョブのジョブＩＤよりも大きいジョブＩＤのジョブの中に、キャンセル対象ジョブのユーザ名と一致するユーザ名のジョブが含まれているか否かをジョブＩＤの小さい順に確認する。
【０１３８】
そして、ＣＰＵ２４は、キャンセル対象ジョブのジョブＩＤよりも大きいジョブＩＤのジョブの中に、ユーザ名がキャンセル対象ジョブのユーザ名と一致し（Ｓ１０７：ＹＥＳ）、かつ、印刷所要時間、印刷枚数及びトナー使用量のうちの少なくとも１つの値がキャンセル対象ジョブの対応する値以下の参照ジョブが見つかると（Ｓ１１０：ＹＥＳ）、その参照ジョブを保留ジョブに決定する（Ｓ１１２）。
【０１３９】
また、ＣＰＵ２４は、キャンセル対象ジョブのファイル名と参照ジョブのファイル名とが一致しているか否かを判断し、それらが一致している場合（Ｓ１１１：ＹＥＳ）、参照ジョブの印刷所要時間、印刷枚数及びトナー使用量がそれぞれキャンセル対象ジョブの印刷所要時間、印刷枚数及びトナー使用量より大きくても、その参照ジョブを保留ジョブに決定する（Ｓ１１２）。
【０１４０】
そして、参照番号Ｍが最大値を超えると（Ｓ１０３：ＹＥＳ）、ＣＰＵ２４は、保留ジョブの有無を確認する（Ｓ１１３）。
【０１４１】
保留ジョブがある場合（Ｓ１１３：ＹＥＳ）、キャンセルジョブ情報と最も類似するジョブ情報の保留ジョブを順番変更ジョブに決定して（Ｓ１１４）、第１の順番変更ジョブ決定処理を終了する。
【０１４２】
一方、保留ジョブがない場合（Ｓ１１３：ＮＯ）、ＣＰＵ２４は、順番変更ジョブの決定なしで、第１の順番変更ジョブを終了する。
【０１４３】
図１１には、ジョブキュー２３１におけるジョブの登録の状態の一例が示されている。第１の順番変更ジョブ決定処理では、ジョブＩＤ「００３」のジョブがキャンセル対象ジョブである場合、ジョブＩＤが「００４」以上である参照ジョブについて、ジョブＩＤの小さい順に、ジョブＩＤ「００３」のキャンセル対象ジョブと同一のユーザ名「ユーザＣ」の参照ジョブが探索される。この探索の結果、図１１に示される一例では、ジョブＩＤ「００５」の参照ジョブ及びジョブＩＤ「００７」の参照ジョブが見つけられる。そして、キャンセル対象ジョブの印刷所要時間、印刷枚数及びトナー使用量とそれぞれジョブＩＤ「００５」の参照ジョブの印刷所要時間、印刷枚数及びトナー使用量とが比較される。また、キャンセル対象ジョブの印刷所要時間、印刷枚数及びトナー使用量とそれぞれジョブＩＤ「００７」の参照ジョブの印刷所要時間、印刷枚数及びトナー使用量とが比較される。これらの比較の結果から、ジョブＩＤ「００７」の参照ジョブの印刷枚数「４０」がジョブＩＤ「００７」の参照ジョブの印刷枚数「１０」よりもキャンセル対象ジョブの印刷枚数「６０」に近いので、ジョブＩＤ「００７」の参照ジョブが順番変更ジョブに決定される。
【０１４４】
ジョブＩＤ「００７」の参照ジョブが順番変更ジョブに決定されると、図３に示されるジョブキャンセル処理では、順番変更ジョブ有りと判断されて（ステップＳ３５：ＹＥＳ）、ジョブＩＤ「００７」の参照ジョブがジョブＩＤ「００３」のジョブとしてジョブキュー２３１に再登録される。
【０１４５】
＜作用効果＞
以上のように、ジョブが通信部１５に受け付けられると、そのジョブが受け付けられた順番でＲＡＭ２３に設けられたジョブキュー２３１に登録される。ジョブキュー２３１に登録されたジョブは、自身の順番で実行される。ジョブキュー２３１に登録されているジョブの実行を取り消すキャンセル指示が入力されると、そのキャンセル指示の対象のキャンセル対象ジョブの印刷による実行量が決定される。また、キャンセル対象ジョブよりも後の順番のジョブについて、ジョブの印刷による実行量、すなわち、印刷所要時間、印刷枚数及びトナー使用量が決定される。そして、キャンセル対象ジョブと同じユーザ名を有し、かつ、印刷所要時間、印刷枚数及びトナー使用量の少なくとも１つがキャンセル対象ジョブ以下であるジョブが決定される。そして、その決定されたジョブがキャンセル対象ジョブの順番でジョブキュー２３１に再登録される。そのため、ジョブのキャンセル指示を入力したユーザ及び他のユーザに公平となるように、キャンセル指示を入力したユーザの別のジョブをキャンセル対象ジョブの順番でジョブキュー２３１に再登録することができる。
【０１４６】
図４又は図１０に示される第１の順番変更ジョブ決定処理では、キャンセル指示が入力された時点でジョブキュー２３１に既に登録されていたジョブ（参照ジョブ）の中からキャンセル対象ジョブの順番でジョブキュー２３１に再登録されるジョブが決定される。これにより、キャンセル指示の入力前にジョブキュー２３１に登録されていたジョブをキャンセル対象ジョブの順番に繰り上げることができる。
【０１４７】
図４に示される第１の順番変更ジョブ決定処理では、ジョブキュー２３１に登録されている参照ジョブについて、ジョブＩＤの小さい順に、キャンセル対象ジョブと同じユーザ名を有し、かつ、印刷所要時間、印刷枚数及びトナー使用量の少なくとも１つがキャンセル対象ジョブ以下であるという条件に該当するか否かが判断される。そのため、その条件に該当する参照ジョブが見つかった時点で、第１の順番変更ジョブ決定処理を終了することができる。その結果、第１の順番変更ジョブ決定処理に要する時間が短くすむ。
【０１４８】
一方、図１０に示される第１の順番変更ジョブ決定処理では、ジョブキュー２３１に登録されている全ての参照ジョブについて、キャンセル対象ジョブと同じユーザ名を有し、かつ、印刷所要時間、印刷枚数及びトナー使用量の少なくとも１つがキャンセル対象ジョブ以下であるという条件に該当するか否かが判断される。そして、その条件に該当する参照ジョブの中から、キャンセル対象ジョブのキャンセルジョブ情報と最も類似するジョブ情報の参照ジョブがキャンセル対象ジョブの順番に繰り上げる順番変更ジョブに決定される。そのため、ジョブのキャンセル指示を入力したユーザ及び他のユーザに対する公平さを一層増すことができる。
【０１４９】
また、図９に示される第３の順番変更ジョブ決定処理では、キャンセル指示が入力された後に新規に受け付けられたジョブについて、キャンセル対象ジョブの順番でジョブキュー２３１に再登録するか否かが決定される。これにより、新規のジョブをキャンセル対象ジョブの順番に繰り上げて登録することができる。
【０１５０】
さらに、キャンセル対象ジョブと同じファイル名を有するジョブについては、キャンセル対象ジョブと同じユーザ名を有し、かつ、印刷所要時間、印刷枚数及びトナー使用量の少なくとも１つがキャンセル対象ジョブ以下であるという条件に該当していなくても、キャンセル対象ジョブの順番に繰り上げる順番変更ジョブに決定される。これにより、キャンセル対象ジョブと同一の画像データのジョブが印刷設定を変えて受け付けられた場合に、そのジョブを順番変更ジョブとしてキャンセル対象ジョブの順番に繰り上げることができる。
【０１５１】
＜変形例＞
以上、本発明のいくつかの実施形態について説明したが、本発明は、更に他の形態で実施することも可能である。
【０１５２】
たとえば、前述の実施形態では、ＣＰＵ２４が各処理を実行する場合について説明した。しかしながら、ＡＳＩＣ２１が複数のＣＰＵを備え、複数のＣＰＵが協働して各処理を実行してもよい。
【０１５３】
その他、前述の構成には、特許請求の範囲に記載された事項の範囲で種々の設計変更を施すことが可能である。
【符号の説明】
【０１５４】
１      ＭＦＰ
１１    画像形成部
１３    操作部
１５    通信部
１６    制御部
２１    ＡＳＩＣ
２３    ＲＡＭ
２４    ＣＰＵ
２３１  ジョブキュー
【図１】
2017177722.tif 000003
【図２】
2017177722.tif 000004
【図３】
2017177722.tif 000005
【図４】
2017177722.tif 000006
【図５】
2017177722.tif 000007
【図６】
2017177722.tif 000008
【図７】
2017177722.tif 000009
【図８】
2017177722.tif 000010
【図９】
2017177722.tif 000011
【図１０】
2017177722.tif 000012
【図１１】
2017177722.tif 000013