(57)【要約】【課題】  ユーザは出力された印刷物の中に別の印刷物が紛れ込んでいないかを確認しなくてはならない。【解決手段】  複数部数印刷ジョブ発行時に、印刷データとして複数部数を指定せずに印刷アプリケーションがユーザが指定した部数の回数分だけ印刷ジョブを機器に対して発行する方式で複数部数印刷を実行するアプリケーションにおいても印刷データの中に部数情報を埋め込んで、プリンタ側で印刷データ解釈時に部数情報を解釈して印刷ジョブの実行時に反映させる。【選択図】  図２
2007083501.tif 000002
【特許請求の範囲】
【請求項１】
イメージ情報を印刷する印刷手段、ネットワークなどを介して外部の機器と接続するための接続手段、イメージ情報を記憶する記憶手段、機器の外部から前記接続手段を介してジョブを受信及び管理するジョブ管理手段少なくとも以上を有し、
前記ジョブ管理手段はグループ開始特殊ジョブ及びグループ終端特殊ジョブを認識する機能、通常印刷ジョブに付加されるグループIDを認識する機能をさらに有し、
前記グループ開始特殊ジョブを受信した際には以後受信される通常ジョブのうち該グループ開始特殊ジョブのグループIDと同一のグループIDを持つものについては受信後印刷せずに前記記憶手段にデータの蓄積のみ行い、
前記グループ終端特殊ジョブを受信した際に、該グループ終端特殊ジョブのグループIDに対応するグループ開始特殊ジョブが受信された時点からグループ終端特殊ジョブ受信の時点までに受信された同一グループIDを持つ通常ジョブを前記記憶装置内から検索し受信された順に印刷処理を実行するよう制御可能であることを特徴とする画像処理装置。
【請求項２】
複数の印刷ジョブを機器内にキューイング可能である機器において、同一グループIDを持つグループ開始特殊ジョブ及びグループ終端特殊ジョブ及び対応したグループIDを持つ通常ジョブは単一の印刷ジョブとして印刷キューに登録及び管理されることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
通常ジョブがグループIDを持たない場合には通常印刷ジョブとしてキューイングされることを特徴とする請求項２に記載の画像処理装置。
【請求項４】
機器に送信された複数の印刷ジョブに対して、ある特定の印刷ジョブを選択する選択手段、前記ジョブ管理手段は選択された特定の印刷ジョブについて機器に登録されている印刷ジョブのリスト内の順序を変更できる機能をさらに有し、
前記選択手段及び印刷ジョブ管理手段によって印刷ジョブのリスト内の順序変更する際に、
前記選択されたジョブと、同様に前記選択手段及び印刷ジョブ管理手段によって選択された前記グループIDを持つグループ開始特殊ジョブ及びグループ終端特殊ジョブ及び対応したグループIDを持つ通常ジョブからなるグループジョブ群との順序とを入れ替える場合、該グループジョブ群は単一のジョブとして一塊で順序変更されるよう振舞うことを特徴とする請求項２に記載の画像処理装置。
【請求項５】
前記選択手段及び印刷ジョブ管理手段によって選択されたジョブとは、グループIDを持たない通常印刷ジョブか、グループIDを持つグループ開始特殊ジョブ及びグループ終端特殊ジョブ及び対応したグループIDを持つ通常ジョブからなるグループジョブ群のいずれかであることを特徴とする請求項４に記載の画像処理装置。
【請求項６】
前記選択手段によって選択したジョブを前記ジョブ管理手段によってキャンセルする場合、該選択されたジョブが、グループIDを持つグループ開始特殊ジョブ及びグループ終端特殊ジョブ及び対応したグループIDを持つ通常ジョブからなるグループジョブ群であった場合には、該グループに属する全ジョブがキャンセルされるよう制御可能であることを特徴とする請求項４に記載の画像処理装置。
【請求項７】
グループ開始特殊ジョブが受信された時点からの経過時刻を測定する時刻測定手段をさらに有し、機器に予め定められた一定時刻内に前記グループ開始特殊ジョブに対応するグループ終端特殊ジョブが受信されなかった場合には自動的にタイムアウトとしてそれまでに受信した該当するグループIDを持つ通常印刷ジョブ及び前記グループ開始特殊ジョブをキャンセルするよう制御可能であることを特徴とする請求項１に記載の画像処理装置。
【請求項８】
グループ開始特殊ジョブまたは該特殊ジョブと同一のグループIDを持つ通常ジョブが最後に受信された時点からの経過時刻を測定する時刻測定手段をさらに有し、機器に予め定められた一定時刻内に同一のグループIDを持つ通常ジョブまたは対応するグループ終端特殊ジョブが受信されなかった場合には自動的にタイムアウトとしてそれまでに受信した該当するグループIDを持つ通常印刷ジョブ及び前記グループ開始特殊ジョブをキャンセルするよう制御可能であることを特徴とする請求項１に記載の画像処理装置。
【請求項９】
通常ジョブに加えて前記グループ開始特殊ジョブ、グループ終端特殊ジョブを発行できることを特徴とする請求項１に記載の画像処理装置に用いるプリントドライバ。
【請求項１０】
前記通常ジョブはグループIDを持つことが可能であることを特徴とする請求項９に記載のプリントドライバ。
【請求項１１】
上記請求項１から請求項８までのステップを実現するプログラムまたはそれを格納した媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワーク機能を持つ画像処理装置及びそれを用いるプリントドライバに関する。
【背景技術】
【０００２】
ネットワーク機能を持つプリンタや複合機が普及し、オフィスなど複数のPCクライアントと接続され共有して利用される形態が一般的となりつつある。
【０００３】
PCなどからプリンタやプリント機能を備えた複合機等に印刷ジョブを発行する際、ユーザがPCのプリントドライバまたは印刷を実行しようとしているアプリケーションによって印刷部数を制御することが一般的に行われている。複数部数の実現形態は大きく２つに分かれる。一つは広く一般的に行われている方式であり、印刷データの中に部数情報を埋め込み、プリンタ側で印刷データ解釈時に部数情報を解釈して印刷ジョブの実行時に反映させる方式である。もうひとつは一般的ではない方法であるが、印刷データとしては複数部数を指定せずに、印刷アプリケーションがユーザが指定した部数の回数分だけ印刷ジョブを機器に対して発行するというものである。
【０００４】
従来例としては、例えば特許文献１をあげることが出来る。
【特許文献１】特開２００１−１３４４０１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
後者の方式、すなわち印刷データとしては複数部数を指定せずに、印刷アプリケーションがユーザが指定した部数の回数分だけ印刷ジョブを機器に対して発行する場合、そのプリントジョブを受信するプリンタ側では、同一データを複数分印刷指示された場合とそもそも待った区別の印刷ジョブを複数受信したかの識別をすることができない。そのため、例えば後者の方式を採用するアプリケーションからユーザが２０部の印刷ジョブを発行した場合、プリンタには１部出力される印刷ジョブが２０回連続して発行されることになる。
【０００６】
当然のことながら、プリンタがネットワークを介して複数のクライアントPCと共有されていた場合、印刷を依頼するPCが同時に複数存在することがありうる。プリンタ側では受理された順にキューイングし、キューから登録された順に取り出して印刷ジョブを実行してゆくためそのような共有状態においても資源の競合や出力物の混在などを招くことなく印刷のサービスを提供することが可能となっている。
【０００７】
しかしながら、上述のプリンタ側で行うキューイングによるジョブ制御はあくまでもジョブ単位として行われるものである。したがって、前述したように印刷データとしては複数部数を指定せずに、印刷アプリケーションがユーザが指定した部数の回数分だけ印刷ジョブを機器に対して発行する方式で複数部数印刷を実行するアプリケーションの場合には、ユーザが実行指示した複数部数印刷は複数のジョブとして機器に投入されることとなり、もし仮に２０部の印刷のうち、まだ機器に対し１０部しか送信できていない段階で別のクライアントが同一機器に対して印刷処理を依頼した場合、１０部目と１１部目の出力物の間に別の印刷物が紛れ込むケースが存在する。
【０００８】
上述の結果、ユーザは出力された印刷物の中に別の印刷物が紛れ込んでいないかを確認しなくてはならない。このことは、近年のプリントボリュームの飛躍的増大、そして機器のネットワーク能力の向上による共有環境の充実と共にこのようなケースは増大する傾向にある。また、このような方式で複数部数印刷を実現するアプリケーションは少数派ではあるが、世の中で広く普及し日々頻繁に使われているアプリケーションにそのような方式を採用しているものが存在するため、上述した不具合が発生する頻度は高いものとなっている。
【０００９】
本発明はこのような状況を鑑みてなされたものであり、印刷データとしては複数部数を指定せずに、印刷アプリケーションがユーザが指定した部数の回数分だけ印刷ジョブを機器に対して発行する方式で複数部数印刷を実行するアプリケーションにおいても印刷データの中に部数情報を埋め込み、プリンタ側で印刷データ解釈時に部数情報を解釈して印刷ジョブの実行時に反映させる方式によって複数部数印刷を指示した場合と同様の操作性を提供し、かつ複数部印刷物の間に他の印刷ジョブによる出力物が紛れ込むことを防止することによって出力物の利便性を高める画像処理装置を提供するものである。
【課題を解決するための手段】
【００１０】
課題を解決するため、本発明における画像処理装置は、請求項１〜９に記載の手段または機能を有することを特徴とする。
【発明の効果】
【００１１】
本発明により従来技術がもつ問題点を解決し印刷データとしては複数部数を指定せずに、印刷アプリケーションがユーザが指定した部数の回数分だけ印刷ジョブを機器に対して発行する方式で複数部数印刷を実行するアプリケーションにおいても印刷データの中に部数情報を埋め込み、プリンタ側で印刷データ解釈時に部数情報を解釈して印刷ジョブの実行時に反映させる方式によって複数部数印刷を指示した場合と同様の操作性を提供し、かつ複数部印刷物の間に他の印刷ジョブによる出力物が紛れ込むことを防止することによって出力物の利便性を高める画像処理装置を提供することが可能となった。
【発明を実施するための最良の形態】
【００１２】
以下、本発明の一実施形態を示す。
【００１３】
図1は本発明を適用した機器の外観図の一例を示すものである。
【００１４】
図2は図1における機器の内部構成を説明するためのブロック図である。この例で示す機器の構成では、主なモジュールはデータやコントロール信号の送受信を媒介するシステムバス201によって互いに接続されている。これらの構成は実施例の説明に用いた一例であり、請求項に記載の項目を満たす限りはいかなる構成を取った場合でも本発明は適用される。
【００１５】
操作部202は機器が通常備える単数あるいは複数のキーと表示装置からなる部分であり、ユーザの機器に対する操作の入出力を行う部分である。
【００１６】
一次記憶装置203、二次記憶装置204はそれぞれシステムが印刷処理に使用したりシステムが使用するデータを一時的あるいは長期的に蓄積するために用いる半導体記憶装置、磁気記録装置等の装置である。
【００１７】
ネットワークアダプタ205はネットワーク1によって接続された外部の機器と情報の送受信を行う装置であり、プロトコル解析部206はネットワークアダプタ205が受信したデータをサポートするプロトコルに応じて処理し、機器内で処理可能な形式に変換するためのものである。ただし、ネットワークアダプタ205及びプロトコル解析部206の働きは本発明の本質ではないので詳細は説明は省略する。
【００１８】
PDL解釈部207は印刷対象データ（PDLデータ）をイメージデータに変換する働きをし、ここで変換されたイメージデータはエンジンコントローラ208を介してプリントエンジン209に送られることによって物理的な印刷処理が行われる。これらの詳細な構成に関する説明も上記と同様の理由によって省略する。
【００１９】
スキャンエンジン211とスキャンエンジンコントローラ210は紙原稿を光学的にスキャンし電子情報に変換するための装置である。これらの詳細な構成に関する説明も上記と同様の理由によって省略する。
【００２０】
課金管理部212は、ユーザの機器に対する利用状況や印刷処理等に要した消耗品等の量に応じ、正しく課金を行うための管理を担当するモジュールである。
【００２１】
ジョブ管理部２１４は、機器に投入されるジョブの制御を司るモジュールであり、通常のジョブのキャンセルや優先度変更処理に加え、本発明の特徴である特殊ジョブが投入された時の制御も本モジュールにおいて行われる。
【００２２】
プリントキュー２１５は、機器に対して投入されたプリントジョブを投入順に管理するためのものである。キューの先頭に位置するジョブをPDL解釈部207に送信することによりプリントジョブを実行させる。ジョブ管理部２１４において行われるジョブのキャンセルや優先度変更処理時には処理結果がキューの内部状態に反映される。
【００２３】
メインコントローラ213は以上説明した各モジュールの働き全体の制御を司り、本発明の機能を実現するためのステップを実行するためのものである。
【００２４】
図３は本発明による機器と複数のクライアントがネットワークで接続された場合の運用形態の一例を示すためのものである。
【００２５】
図示するようにネットワーク３０１に対して機器３０２とクライアントA（３０４）からD（３０３）までの４台のPCが接続されている。
【００２６】
ここでのクライアントとは機器３０２に対してプリントジョブを発行するPCを想定しているが、これはあくまでも本実施例における発明の効果を説明するための環境の一例に関するものであり、その他の形態をとった場合においても請求項に記載の項目を満たす限り本発明は有効であることはいうまでもない。
【００２７】
図４は図３における各クライアント上で実行されるアプリケーションからユーザが印刷処理を選択した際にPCの画面に表示されるプリントドライバの設定画面の一例を示すためのものである。
【００２８】
なお後の説明を行うため、前記アプリケーションとは複数部数印刷が指示された場合、印刷データとしては複数部数を指定せずに、印刷アプリケーションがユーザが指定した部数の回数分だけ印刷ジョブを機器に対して発行するアプリケーションであると想定する。すなわち該アプリケーションからユーザが２０部の印刷ジョブを発行した場合、プリンタには１部出力される印刷ジョブが２０回連続して発行される。
【００２９】
当然のことながら印刷データとして複数部数印刷指示を行うアプリケーションに対して本発明を適用したとしても得られる効果は同じである。
【００３０】
図示するように、複数部数の印刷を指示する際には部数フィールド４０２にユーザが必要な部数を入力すると、印刷を実行するプリンタの出力結果に反映される。印刷開始ボタン４０３が押下された時点で、それまでにユーザが行った設定情報がアプリケーションに渡され、その設定情報に基づきプリントジョブが発行され、機器に対して送信される。
【００３１】
ユーザがプリントジョブに対して設定可能な項目は複数存在するが、本実施例の説明においては部数以外の設定項目は重要ではないためここでは部数についてのみユーザの設定として扱う。しかしながら、その他にいかなる設定がユーザによってなされた場合でも請求項に記載の項目を満たす限り本発明は有効であることはいうまでもない。
【００３２】
図５は、クライアントがプリントジョブを発行する際に本発明を適用したプリントドライバがプリントデータを送信するよりも前に機器に対して送信されるグループ開始特殊ジョブのデータ構成を説明するためのものである。
【００３３】
グループ開始特殊ジョブのデータは４つのフィールドに分けられている。ヘッダ領域５０１および終端情報５０４は機器がジョブデータを受信する際の処理のためのものである。これらの情報については本発明の効果を説明する上で関係ないため省略する。
【００３４】
ジョブ種識別情報５０２は本発明による機器がジョブデータを受信した際に、受信したジョブが図６に示すような通常のプリントジョブなのか、あるいは図５または図７に示すような特殊ジョブなのかを識別するための情報を格納するフィールドである。
【００３５】
グループID５０３は、本発明の機器が前述のように複数部数印刷を部数回数分のジョブ発行によって機器に送信してくる際でも、ユーザによる単一の印刷指示によって発行された複数ジョブを機器側でまとまりとして認識させるためのものである。
【００３６】
グループIDおよび特殊ジョブを用いていかにして上述のような制御を機器側で実行するかに関しては後述する。
【００３７】
図６は、クライアントがプリントジョブを発行する際に本発明を適用したプリントドライバが機器に対して送信する通常プリントジョブのデータ構成を説明するためのものである。
【００３８】
通常プリントジョブのデータは６つのフィールドに分けられている。ヘッダ領域６０１および終端情報６０６は機器がジョブデータを受信する際の処理のためのものである。これらの情報については本発明の効果を説明する上で関係ないため省略する。
【００３９】
ジョブ種識別情報６０２は本発明による機器がジョブデータを受信した際に、受信したジョブが図６に示すような通常のプリントジョブなのか、あるいは図５または図７に示すような特殊ジョブなのかを識別するための情報を格納するフィールドである。
【００４０】
グループID６０３は、本発明の機器が前述のように複数部数印刷を部数回数分のジョブ発行によって機器に送信してくる際でも、ユーザによる単一の印刷指示によって発行された複数ジョブを機器側でまとまりとして認識させるためのものである。
【００４１】
グループIDおよび特殊ジョブを用いていかにして上述のような制御を機器側で実行するかに関しては後述する。
【００４２】
印刷設定情報６０４はユーザがプリントドライバによって印刷結果に反映させるための各種設定を行った場合の設定情報を格納するためのフィールドである。
【００４３】
データ６０５は、印刷対象となる画像データを格納した領域である。
【００４４】
図７は、クライアントがプリントジョブを発行する際に本発明を適用したプリントドライバがプリントデータを送信し終わった後に機器に対して送信されるグループ終端特殊ジョブのデータ構成を説明するためのものである。
【００４５】
グループ終端特殊ジョブのデータは４つのフィールドに分けられている。ヘッダ領域７０１および終端情報７０４は機器がジョブデータを受信する際の処理のためのものである。これらの情報については本発明の効果を説明する上で関係ないため省略する。
【００４６】
ジョブ種識別情報７０２は本発明による機器がジョブデータを受信した際に、受信したジョブが図６に示すような通常のプリントジョブなのか、あるいは図５または図７に示すような特殊ジョブなのかを識別するための情報を格納するフィールドである。
【００４７】
グループID７０３は、本発明の機器が前述のように複数部数印刷を部数回数分のジョブ発行によって機器に送信してくる際でも、ユーザによる単一の印刷指示によって発行された複数ジョブを機器側でまとまりとして認識させるためのものである。
【００４８】
グループIDおよび特殊ジョブを用いていかにして上述のような制御を機器側で実行するかに関しては後述する。
【００４９】
図８は、図５から図７までに示した各種ジョブを構成するフィールドの中でジョブ種識別情報の具体例を説明するためのものである。図示するような値が前述のフィールドに格納され、受信した機器側で値を見ることによってジョブの種別を可能としている。
【００５０】
図９は、本発明によるプリントドライバの印刷設定から実際の印刷処理が終了するまでの処理のフローを説明するためのものである。
【００５１】
ユーザがアプリケーションから印刷処理を選択すると、図４に示すようなプリントドライバの設定画面を出力し、ユーザに対して必要な設定処理を行わせるためにまずは処理要求待ちとなる（ステップS901）。
【００５２】
ユーザからの入力があった場合にはそれが印刷開始ボタン４０３押下であるかどうかの判別を行い（ステップS902）、印刷開始ボタン４０３押下でなかった場合にはステップS903に進み、その他のボタン押下またはデータ入力時の処理を実行する。部数設定等もステップS903の処理内容に含まれる。
【００５３】
ステップS902において、判別の結果印刷開始ボタン４０３押下であった場合ステップS904に進み本発明の特徴であるところのグループIDを決定し、ステップ
S904において決定されたグループIDをグループ開始特殊ジョブのグループIDフィールドに設定して（ステップS905）、グループ開始特殊ジョブを機器に対して送信する（ステップS906）。
【００５４】
グループIDの取得方法としてはさまざまなものが考えられ、例えばグループIDを機器側で管理しておりクライアントの要求によってグループIDを取得させる方法や機器以外にグループIDの発行を行うサーバを別途設けてもよい。またはクライアント側で発行した任意の数字や文字列などを付加してもよく、実用上一意性が高ければどのような方法を用いたとしてもかまわない。したがっていかなる方法によってグループIDを発行した場合においても請求項に記載の項目を満たす限り本発明は有効であることは言うまでもない。
【００５５】
ステップS906の次にステップS907に進み通常プリントジョブを発行させる。図４において説明したように本実施例の説明で想定するアプリケーションとは複数部数印刷が指示された場合、印刷データとしては複数部数を指定せずに、印刷アプリケーションがユーザが指定した部数の回数分だけ印刷ジョブを機器に対して発行するアプリケーションであるため、このステップではユーザが設定した部数分のジョブ数が機器に対して発行されることになる。そのためプリントドライバは全ての通常プリントジョブの送信が完了した後にグループ終端特殊ジョブを送信するために通常プリントジョブの終了待ち状態に遷移する（ステップS908）。
【００５６】
通常プリントジョブの送信が完了したらプリントドライバはグループ終端特殊ジョブを発行し（ステップS909）、プリント処理を終了する。
【００５７】
図１０は本実施例の効果を説明するために機器に対して具体的に投入されるジョブの投入状況の一例を示すためのものである。図示する４つのフィールドについて説明する。
【００５８】
ジョブ番号フィールドは機器がジョブを受信した際に順に振られる一意の番号でありジョブ管理部２１４が管理している。
【００５９】
受信時刻フィールドはそのジョブを機器が受信した時点での時刻を表している。
【００６０】
ジョブ種フィールドとグループIDフィールドは本発明の特徴であるところの別々に発行されたまとまりのあるジョブ群をまとめて管理する仕組みを実現するために必要な情報であり、図５から図７で説明したように本発明によるプリントドライバが発行するジョブ内に格納されたジョブ種識別情報及びグループIDの内容を表している。
【００６１】
ジョブ種としてはグループ開始特殊ジョブ、グループ終端特殊ジョブ、通常ジョブの３種類を識別する。
【００６２】
なお、本発明を適用していないプリントドライバから送信されるプリントジョブには上述のジョブ種識別情報及びグループIDが含まれていないため、ジョブ種フィールドには通常ジョブとし、グループIDのフィールドにグループIDなしとすることにより表現することとする。
【００６３】
図１１は、プリントキュー２１５が管理するジョブ情報の構成を説明するためのものである。プリントキュー２１５はジョブ管理部２１４とは異なり、実際に印刷する対象となるジョブのみをエントリとして保持する。そのため、グループ開始特殊ジョブやグループ終端特殊ジョブはプリントキュー２１５内には保持しない。
【００６４】
図示するようにプリントキュー２１５が管理するジョブ情報は、ジョブID1101とグループID1102の２つのフィールドからなる情報によってジョブ情報を保持している。
【００６５】
図１２は図１０に示したジョブ投入状態において、時刻17:40.35.01の時点でのプリントキュー２１５の内部状態を示したものである。キューはFIFOの構成をとるためここでは模式的に図の右側からエントリが入力され、左側から取り出されるものとして説明を行う。最左端のジョブが実行中のジョブとなり、実行が完了した段階でジョブがエントリから削除される。
【００６６】
説明において、プリントキュー２１５内のエントリは、内部にジョブIDとグループIDが記述された四角によって表現するものとする。グループIDが存在しない場合にはジョブIDのみ表示されるものとする。
【００６７】
図１２においてはこの時刻にはジョブID 1031のジョブ１つのみがエントリされており、かつ該ジョブは直ちに実行される。
【００６８】
図１３は、図１０に示したジョブ投入状態において、時刻18:30.25.73の時点でのプリントキュー２１５の内部状態を示したものである。時刻18:30.25.73の時点でジョブID 1032のジョブが投入されるが、この例ではジョブID 1031のジョブがまだ実行中であると仮定しているため、キューには計２つのジョブがエントリされた状況を示している。
【００６９】
当然のことながら時刻18:30.25.73の時点でジョブID 1031のジョブが終了していた場合には該ジョブのエントリはプリントキュー２１５から削除されるのでジョブID 1032のジョブのみがプリントキュー２１５内に存在していることになる。
【００７０】
図１４は時刻は特定しないが図１３の状態から時間が経過しジョブID 1031のジョブが終了した状況を表している。さらに時刻が経過することによってジョブID 1032のジョブも処理が終了すればプリントキュー２１５からエントリが消滅する。
【００７１】
図１５は図１０に示したジョブ投入状態において、時刻18:35.38.26の時点でのプリントキュー２１５の内部状態の一例を示したものである。なお、ここでは説明を簡略化するためにジョブID 1032のジョブは時刻18:35.38.26の時点で終了していると過程している。
【００７２】
時刻18:35.38.26において、図１０の情報によればジョブID 1033のグループID 903のグループ開始特殊ジョブが受信されている。しかしながら前述したようにプリントキュー２１５には印刷対象ジョブのみがエントリとして保持されるためこの時点でのプリントキューのエントリは空のままである。
【００７３】
図１６は図１０に示したジョブ投入状態において、時刻18:35.38.30の時点でのプリントキュー２１５の内部状態の一例を示したものである。図１０の情報によれば時刻時刻18:35.38.30においては、ジョブID 1034のグループID 903の通常ジョブが受信されている。しかしながら、本発明の機器によればグループIDを持つ通常ジョブは対応するグループ終端特殊ジョブが受信されるまでプリントキュー２１５に投入されないため、このような状態となっている。
【００７４】
図１７は図１０に示したジョブ投入状態において、時刻18:35.38.33の時点でのプリントキュー２１５の内部状態の一例を示したものである。図１０の情報によれば時刻時刻18:35.38.33においては、ジョブID 1035のグループID なしの通常ジョブが受信されている。グループIDなしの通常ジョブなので、機器は直ちにこのジョブの処理を開始することが可能であるため、プリントキュー２１５に投入される。従ってこの時点でのプリントキュー２１５の内部にはジョブID 1035のジョブが１つ存在し機器によってプリント処理がただちに実行される。
【００７５】
図１８は図１０に示したジョブ投入状態において、時刻18:35.38.36の時点でのプリントキュー２１５の内部状態の一例を示したものである。図１０の情報によれば時刻時刻18:35.38.36においては、ジョブID 1036のグループID 903の通常ジョブが受信されている。しかしながら、図１６の説明で行った理由によって該ジョブはプリントキュー２１５に投入されていないことを表している。
【００７６】
図１９は図１０に示したジョブ投入状態において、時刻18:35.38.39の時点でのプリントキュー２１５の内部状態の一例を示したものである。図１０の情報によれば時刻時刻18:35.38.39においては、ジョブID 1037のグループID 903の通常ジョブが受信されている。しかしながら、図１６の説明で行った理由によって該ジョブはプリントキュー２１５に投入されていないことを表している。
【００７７】
図２０は図１０に示したジョブ投入状態において、時刻18:35.38.43の時点でのプリントキュー２１５の内部状態の一例を示したものである。図１０の情報によれば時刻時刻18:35.38.43においては、ジョブID 1038のグループID 903のグループ終端特殊ジョブが受信されている。
【００７８】
この段階でプリントキュー２１５をロックし他クライアントからのジョブ投入をブロックした状態でグループID 903の通常ジョブ全てをプリントキュー２１５に投入すれば本発明が解決する課題であるところの、アプリケーションによって複数部数印刷が指示された場合、印刷データとしては複数部数を指定せずに、印刷アプリケーションがユーザが指定した部数の回数分だけ印刷ジョブを機器に対して発行するような形態で複数部数の印刷指示がなされた場合においても他のクライアントから発行された印刷ジョブが割り込むことを防止することができる。
【００７９】
図示するように時刻18:35.38.30、時刻18:35.38.36、時刻18:35.38.39にて投入された同一グループID 903を持つジョブが連続してプリントキュー２１５にエントリされている。
【００８０】
図２１は図１０に示したジョブ投入状態において、時刻18:35.44.79の時点でのプリントキュー２１５の内部状態の一例を示したものである。図１０の情報によれば時刻時刻18:35.44.79においては、ジョブID 1039のグループIDを持たない通常ジョブが受信されている。図１７において説明した理由によって該ジョブは直ちにプリントキュー２１５に投入されている。
【００８１】
図２２はジョブ管理部２１４において行われるプリントジョブ投入時のメイン制御処理フローを説明するためのものである。
【００８２】
まず、プリントジョブ投入待ち状態となり（ステップS2201）、ジョブの投入が検出されたらステップS2202において投入されたジョブのジョブ種の判別処理を行う。
【００８３】
ステップS2203に進みステップS2202において判別されたジョブ種がグループ開始特殊ジョブかどうかを判断し、もしグループ開始特殊ジョブであった場合にはステップS2204に進みグループ開始特殊ジョブの受信処理を実行し再びステップS2201のプリントジョブ投入待ち状態に戻る。
【００８４】
ステップS2203において、投入されたジョブがグループ開始特殊ジョブでなかった場合にはステップS2205に進みグループ終端特殊ジョブかどうかの判別を行う。
【００８５】
判別の結果、グループ終端特殊ジョブであった場合にはステップS2206に進みグループ終端特殊ジョブの受信処理を実行し再びステップS2201のプリントジョブ投入待ち状態に戻る。
【００８６】
ステップS2205において、投入されたジョブがグループ終端特殊ジョブでもなかった場合にはステップS2207に進み通常印刷ジョブかどうかの判別を行う。
【００８７】
判別の結果、通常印刷ジョブであった場合にはステップS2208に進み通常印刷ジョブの受信処理を実行し再びステップS2201のプリントジョブ投入待ち状態に戻る。
【００８８】
ステップS2207において、投入されたジョブが通常印刷ジョブでもなかった場合には機器はエラーと見なしエラー処理を行い（ステップS2209）、再びステップS2201のプリントジョブ投入待ち状態に戻る。
【００８９】
図２３は図２２におけるステップS2204のグループ開始特殊ジョブ受信処理の詳細を説明するためのフロー図である。
【００９０】
まず、ジョブに含まれるグループIDを抽出し（ステップS2301）、次に抽出したグループIDが既に登録されたものであるかどうかの判別を行う（ステップS2302）。
【００９１】
判別の結果、既に登録されていたグループIDであった場合、二重にグループの開始処理を指示されたこととなるためエラーとして扱いエラー処理を行い（ステップS2303）、処理を終了する。
【００９２】
ステップS2302の判別の結果、登録されていないグループIDであった場合にはジョブ管理部２１４にステップS2301にて抽出されたグループIDを登録し（ステップS2304）、タイマーを開始する（ステップS2305）。
【００９３】
タイマーはグループ開始特殊ジョブが投入されてから何らかの理由により対応するグループ終端特殊ジョブが投入されてこなかった場合などに機器内に実行されることのないジョブ情報が存続し続けるのを避けるため、同一グループのジョブが一定時刻以内に投入されなかった場合のタイムアウトエラー処理を実行するためのものである。
【００９４】
タイマーをセットした後に処理を終了する。
【００９５】
図２４は図２２におけるステップS2208の通常印刷ジョブ受信処理の詳細を説明するためのフロー図である。
【００９６】
まずジョブに含まれるグループIDを抽出し（ステップS2401）、ステップS2403においてステップS2401の結果グループIDが含まれていなかった場合には直ちに実行されるべき印刷ジョブであることを意味するのでステップS2402に進み該ジョブをプリントキュー２１５に投入し処理を終了する。
【００９７】
ステップS2403の判別の結果、ジョブにグループIDが含まれていた場合にはステップS2404に進みそのグループIDが既に登録されたものであるかどうかの判別を行う（ステップS2404）。
【００９８】
ステップS2404の判別の結果、登録されていないグループIDであった場合にはエラーとして扱いエラー処理を行い（ステップS2405）、処理を終了する。
【００９９】
ステップS2404の判別の結果、既に登録されていたグループIDであった場合には、グループIDを持たない通常ジョブの処理とは異なり直ちにプリントキュー２１５にジョブを投入する代わりに二次記憶装置２０４に印刷用ジョブデータを保存する（ステップS2406）。対応するグループ終端特殊ジョブが到来するか、あるいはタイムアウトエラーが発生するまでこのデータは二次記憶装置２０４に保存されたままとなる。
【０１００】
ステップS2406の次にステップS2407に進みタイムアウトタイマーの経過時間をリセットし処理終了する。
【０１０１】
図２５は、図２２におけるステップS2206のグループ終端特殊ジョブ受信処理の詳細を説明するためのフロー図である。
【０１０２】
まず、ジョブに含まれるグループIDを抽出し（ステップS2501）、次に抽出したグループIDが既に登録されたものであるかどうかの判別を行う（ステップS2502）。
【０１０３】
判別の結果、登録されていないグループIDであった場合、エラー処理を行い（ステップS2503）、処理を終了する。
【０１０４】
ステップS2502の判別の結果、登録されているグループIDであった場合にはジョブ管理部２１４は二次記憶装置２０４に記録されている同一グループIDを持つ通常印刷ジョブを選択する（ステップS2504）。
【０１０５】
次にプリントキュー２１５をロックしクライアントからの印刷ジョブ投入を一時的にブロックする。これは同一グループIDをもつ複数のジョブをプリントキュー２１５に投入している最中に他ジョブが間に割り込むことを防止するための処理である。
【０１０６】
プリントキュー２１５をロックしたらステップS2504にて選択した同一グループIDを持つジョブを機器に投入さた順序でプリントキュー２１５に投入し（ステップS2506）、全ての該当ジョブをキューイング完了したらステップS2505にて行ったプリントキュー２１５のロックを解除し（ステップS2507）、再びクライアントからのジョブ投入が可能な状態にする。
【０１０７】
プリントキュー２１５のロックを解除した段階で処理が終了する。
【０１０８】
図２６は、グループIDを持つジョブが投入されているプリントキュー２１５内のジョブの優先度を変更した際の振る舞いを説明するためのものである。
【０１０９】
図２７はプリントキューの内部状態が図２６に示すような状態であった場合に、ジョブIDが1039のジョブの優先度を一つ上げてプリントキューの前方向に移動した結果の状態を表したものである。
【０１１０】
通常のプリントジョブの優先順位変更であれば、ジョブの優先度を一つ上げた場合、直前のジョブと自ジョブの優先度の交換作業となる。しかしながら図示するように、ジョブIDが1039のジョブの直前のジョブはジョブID 1037でグループID 903のジョブであり、このジョブとジョブID 1036でグループID 903およびジョブID 1034でグループID 903のジョブは３つのジョブで一まとまりとして制御されるべきものである。
【０１１１】
従ってジョブID 1039のジョブとその直前のジョブID 1037でグループID 903のジョブとの優先度を交換してしまうと、グループID 903を持つ３つのジョブの間にジョブID 1039のジョブが割り込まれた形となり、本発明が解決しようとする問題が発生してしまうこととなる。
【０１１２】
そのために、本発明においてジョブの優先度を変更する際に、自ジョブの直前のジョブがグループIDをもつまとまりのジョブ群である場合には、それら全てのジョブを追い越した位置に自ジョブを移動させる処理が必要となる。図２７の状態は上述の処理を適用した結果を示したものである。
【０１１３】
図２７においてはジョブの優先度を１つだけ変更する場合の例を示したが、複数の優先度を変更する際にも図２７にて説明した方法を優先度の数分だけ繰り返せば同様の効果が得られるため、複数優先度の変更時の説明は省略する。また、優先度を下げる場合についてもキュー内部の移動方向の違いを除けば処理内容は同じであるため、説明は省略する。
【０１１４】
また、自ジョブがグループIDを持つグループである場合には後述する。
【０１１５】
図２８は、グループIDを持つジョブが投入されているプリントキュー２１５内のジョブをキャンセルした際の振る舞いを説明するためのものである。
【０１１６】
図２９はプリントキューの内部状態が図２８に示すような状態であった場合に、ジョブIDが1039のジョブをキャンセルした結果の状態を表したものである。プリントジョブのキャンセルはキュー内にエントリされているジョブ単位で行われるのが通常であるが、本発明においては同一グループを持つジョブ群は単一のジョブとして振舞うよう制御することが趣旨である。従って、同一グループを持つジョブのうちの一部分のみをキャンセルすることは可能ではあるものの、本発明により解決しようとする課題について考慮すれば、そのような振る舞いは好ましいものではない。
【０１１７】
従って、同一グループを持つジョブ群をキャンセルする際には該当するジョブを全てキャンセルされるように振舞う必要がある。。図２９の状態は上述の処理を適用した結果を示したものである。
【０１１８】
図３０は本発明による機器の操作部２０２の基本画面を示すためのものである。本実施例において想定している機器はプリンタとしての機能以外にコピー、スキャン、ボックス、各種送信機能を備える複合機を例として用いているため、それら複数の機能のボタン等が表示されている。
【０１１９】
プリントジョブのキャンセル及び優先度変更処理はシステム状況／中止ボタン３００１押下によって選択可能になる。
【０１２０】
図３１は、図３０に示す画面においてシステム状況／中止ボタン３００１を押下しさらにプリントボタン３１０１を押下した状態を表したものである。前述したように複合機であるため本発明の効果を説明する上で不要な機能の各種ボタンが含まれているが、それらに関する説明は省略する。
【０１２１】
図３１の上部にプリントキュー２１５にエントリされているプリントジョブの情報としてジョブ番号、ジョブ種、グループID等がジョブ状態画面３１０２表示されている。これらの各情報の意味については既に行っているため説明を省略する。ジョブ状態選択画面の該当ジョブのフィールドのいずれかの場所を押下するとそのジョブが選択状態となり、ジョブ操作の対象となる。
【０１２２】
ジョブ状態画面３１０２の下部に中止ボタン３１０３、優先度を上げるボタン３１０４、優先度を下げるボタン３１０５が存在する。上述のジョブ状態画面において選択されたジョブがこれらの処理対象となる。
【０１２３】
なお、グループIDが存在するジョブについては、そのグループIDを持つジョブを一つでも選択したら同一グループIDを持つほかの全てのジョブも選択状態となるよう制御される。
【０１２４】
閉じるボタン3106が押下されると、図３１の画面を閉じて図３０の画面に戻る。
【０１２５】
図３２は図３１に示したジョブ状態において、グループID 903を持つジョブを選択状態として中止ボタン３１０３を押下した直後の画面を表したものである。前述したようにグループIDを持つジョブは選択状態とする際に同一グループIDを持つ全てのジョブが同時に選択状態となるように制御されるためグループID903を持つジョブは全て削除されていることが分かる。
【０１２６】
図３３は図３１に示したジョブ状態において、ジョブ番号1039のジョブを選択状態とした上で優先度を上げるボタン３１０４を押下した直後の画面を表したものである。図３１に示すようにジョブ番号1039のジョブのひとつ上の優先度を持つジョブはジョブ番号1037 グループID 903を持つジョブである。グループIDを持つジョブであるため、同一グループIDを持つジョブ群を全て追い越すように優先度を制御された結果ジョブ番号1034 グループID 903のジョブの直前にジョブ番号1039のジョブが移動されていることが分かる。
【０１２７】
図３４は図３１に示す画面によってユーザから指示されジョブ管理部２１４において実行されるジョブ管理処理のフローを説明するためのものである。
【０１２８】
まず、図３１の画面が表示された段階でユーザからの要求を受け付けるためにユーザからの入力待ち状態となる（ステップS3401）。ユーザからの入力があった場合にはステップS3402に遷移し、ユーザからの入力がジョブ状態画面３１０２におけるジョブの選択処理であるかどうかの判別を行う。
【０１２９】
ステップS3402の判別の結果、ジョブ選択処理であることが判明したらステップS3403に進みジョブ選択処理を実行した後に再びステップS3401のユーザからの入力待ち状態となる。
【０１３０】
ステップS3402の判別の結果、ジョブの選択処理でなかった場合にはステップS3404に進みユーザによる閉じるボタン３１０６の押下であるかどうかを判別する。判別の結果、ユーザによる閉じるボタン３１０６の押下であった場合には何もせずに処理を終了し、結果的に図３０に示す状態に画面が戻る。
【０１３１】
ステップS3404の判別の結果閉じるボタン３１０６押下でなかった場合にはステップS3405に進みユーザによる中止ボタン３１０３押下であったかどうかをさらに判別する。
【０１３２】
判別の結果中止ボタン３１０３押下であった場合にはステップS3406に進み、その時点で選択状態にあるジョブが存在するかどうかを判別し、選択状態にあるジョブがあればそれらジョブのキャンセル処理を実行し（ステップS3407）、選択状態にあるジョブが存在しない場合には何も実行せずにステップS3401のユーザからの入力待ち状態に戻る。
【０１３３】
ステップS3405の判別の結果、ユーザからの入力が中止ボタン３１０３押下でもなかった場合にはステップS3408に進み優先度上げるボタン３１０４であるかどうかを判別する。
【０１３４】
判別の結果、ユーザからの入力が優先度上げるボタン３１０４押下であった場合にはステップS3409に進み、その時点で選択状態にあるジョブが存在するかどうかを判別し、選択状態にあるジョブがあればそれらジョブの優先度を上げる処理を実行し（ステップS3410）、選択状態にあるジョブが存在しない場合には何も実行せずにステップS3401のユーザからの入力待ち状態に戻る。
【０１３５】
ステップS3408の判別の結果ユーザからの入力が優先度上げるボタン３１０４押下でなかった場合にはステップS3411に進み優先度下げるボタン３１０５であるかどうかを判別する。
【０１３６】
判別の結果、ユーザからの入力が優先度下げるボタン３１０５押下であった場合にはステップS3412に進み、その時点で選択状態にあるジョブが存在するかどうかを判別し、選択状態にあるジョブがあればそれらジョブの優先度を下げる処理を実行し（ステップS3413）、選択状態にあるジョブが存在しない場合には何も実行せずにステップS3401のユーザからの入力待ち状態に戻る。
【０１３７】
ステップS3411の判別の結果、ユーザからの入力が優先度下げるボタン３１０５押下でもなかった場合にはその他の処理を実行し（ステップS3414）、処理が終了したらステップS3401のユーザからの入力待ち状態に戻る。その他の処理に具体的にどの処理が該当するかに関しては本発明の効果を説明する上で重要ではないので省略する。
【０１３８】
図３５は図３４におけるステップS3403のジョブ選択処理の詳細を説明するためのフロー図である。
【０１３９】
まずステップS3501において、既に選択状態となっているジョブが存在するかどうかの判別を行う。本実施例のジョブ操作においては複数ジョブの選択は許しておらず、ジョブの選択は必ず排他的に行われることを前提としている。ただし、グループのジョブはそれらはまとまりとして単一ジョブであるかのように扱われる。
【０１４０】
ステップS3501の判別の結果、既に選択状態にあるジョブが存在する場合にはその既に選択状態となっているジョブの選択状態を解除し（ステップS3502）ステップS3503に進む。ステップS3501の判別の結果、既に選択状態にあるジョブが存在しない場合には何もせずにステップS3503に進む。
【０１４１】
ステップS3503ではユーザによってジョブ状態画面３１０２上で選択されたジョブをひとまず選択状態とする。次にステップS3504に進み直前のステップで選択状態とされたジョブはグループIDを持っているかどうかを判別する。
【０１４２】
ステップS3504の判別の結果、グループIDを持たない場合にはこの段階でジョブの選択処理は終了する。
【０１４３】
ステップS3504の判別の結果、ステップS3503で選択状態とされたジョブがグループIDを持つ場合、同一グループIDを持つ全てのジョブを選択状態にするためにステップS3505に進む。ステップS3505からは機器内に存在する全ジョブについて走査しステップS3503で選択されたジョブと同一グループIDを持つジョブに対して選択状態にするための処理を行う。
【０１４４】
まずステップS3505において、全ジョブについて走査完了したかどうかを判別し、まだ走査していないジョブが残っている場合にはステップS3506に進み次の未走査ジョブをピックアップし、そのジョブがステップS3503で選択状態とされたジョブと同一グループIDを持つかどうかを判別し（ステップS3507）、同一グループでないと判別された場合には再びステップS3505に戻り次の未走査ジョブについて同様のチェックを実行する。
【０１４５】
ステップS3507の判別の結果そのジョブがステップS3503で選択状態とされたジョブと同一グループIDを持つと判別された場合、ステップS3508に進みそのジョブを選択状態とした後に再びステップS3505に戻り次の未走査ジョブについて同様のチェックを実行する。
【０１４６】
このような処理を全ジョブについてチェックするまでステップS3505からステップS3508までの処理が行われる。ステップS3505の判別において、もう未走査のジョブが残っていないことが判明したらジョブの選択処理は終了する。
【０１４７】
図３６は図３４におけるステップS3407のジョブキャンセル処理の詳細を説明するためのフロー図である。
【０１４８】
まずステップS3601において、選択されたジョブ全てに対して削除処理が終了したかどうかを判別し、まだ未処理ジョブが残っている場合にはステップS3602に進み次の削除対象ジョブを選択しそのジョブを削除する（ステップS3603）。その後再びステップS3601に戻り、削除対象として選択された全ジョブについて処理が完了するまで繰り返される。全ジョブについて削除が完了したらキャンセル処理は終了する。
【０１４９】
図３７は、図３４におけるステップS3410のジョブの優先度上げる処理の詳細を説明するためのフロー図である。
【０１５０】
まず、選択されたジョブの中に実行中すなわち印刷処理中であるものが存在するかどうかを判別する（ステップS3701）。これは本実施例における機器においては実行中のジョブの優先度は変更できないという仕様のためである。しかしながらこの仕様は本実施例に用いた機器に関する例であり、その他の仕様すなわち実行中のジョブについても優先度を強制的に変更できるような機器においても、請求項に記載の要件を満たす限り本発明が有効であることは言うまでもない。
【０１５１】
ステップS3701において、選択されたジョブの中に実行中のものが存在することが判明したらその段階で優先度上げる処理を終了する。選択されたジョブの中に実行中のものが存在しなかった場合のみステップS3702に進む。グループIDを持つジョブの場合には同一グループのジョブの中で一つでも実行中のジョブが存在すればこのステップにおいては実行中であると判断する。
【０１５２】
ステップS3702においては次に選択されたジョブがグループIDを持つかどうかを判別する。グループIDを持たないジョブについては単体で処理可能なためプリントキュー２１５中の該ジョブの直前のジョブを選択する（ステップS3704）。選択されたジョブがグループIDを持つ場合には同じグループの中で最も優先度の高いジョブの直前所ジョブを選択する（ステップS3703）。
【０１５３】
ステップS3703およびステップS3704において選択されたジョブは、優先度変更後に順位が入れ替わるジョブの候補となる。ステップS3703およびステップS3704が終了するとステップS3705に進む。
【０１５４】
ステップS3705では、ステップS3703およびステップS3704において選択された優先度変更後に順位が入れ替わる候補となるジョブがグループIDを持つかどうかを判別し、グループIDを持つ場合にはさらに該ジョブと同一グループIDを持つジョブのうち、最も優先度の高いジョブを再選択し（ステップS3706）、その後にステップS3707に進む。今度は再選択されたジョブが優先度変更後に順位が入れ替わる候補となるジョブである。
【０１５５】
ステップS3705の判別の結果ステップS3703およびステップS3704において選択された優先度変更後に順位が入れ替わる候補となるジョブがグループIDを持たなかった場合には何もせずにステップS3707に進む。
【０１５６】
ステップS3707ではこれまでの処理で選択した優先度変更後に順位が入れ替わる候補となるジョブが実行中かどうかの判別を行う。実行中だった場合には実行中の優先度の変更は仕様として許さないためにユーザが選択したジョブの優先度を上げる処理は出来ないことになるため、ここで処理を終了する。
【０１５７】
実行中でなかった場合にはユーザが選択したジョブを先の優先度変更後に順位が入れ替わる候補となるジョブの直前に移動し優先度上げる処理は終了する。
【０１５８】
図３８は、図３４におけるステップS3413のジョブの優先度下げる処理の詳細を説明するためのフロー図である。
【０１５９】
まず、選択されたジョブの中に実行中すなわち印刷処理中であるものが存在するかどうかを判別する（ステップS3801）。これは本実施例における機器においては実行中のジョブの優先度は変更できないという仕様のためである。しかしながらこの仕様は本実施例に用いた機器に関する例であり、その他の仕様すなわち実行中のジョブについても優先度を強制的に変更できるような機器においても、請求項に記載の要件を満たす限り本発明が有効であることは言うまでもない。
【０１６０】
ステップS3801において、選択されたジョブの中に実行中のものが存在することが判明したらその段階で優先度下げる処理を終了する。選択されたジョブの中に実行中のものが存在しなかった場合のみステップS3802に進む。グループIDを持つジョブの場合には同一グループのジョブの中で一つでも実行中のジョブが存在すればこのステップにおいては実行中であると判断する。
【０１６１】
ステップS3802ではユーザによって優先度を下げる対象として選択されたジョブが既にプリントキュー２１５の中で優先度が最下位であるかどうかの判別を行う。選択されたジョブが既に最下位である場合にはそれ以上優先度を下げることはできないので優先度下げる処理を終了する。ステップS3802において、選択されたジョブの優先度が最下位でないと判明した場合のみステップS3803に進む。
【０１６２】
ステップS3803においては選択されたジョブがグループIDを持つかどうかを判別する。グループIDを持たないジョブについては単体で処理可能なためプリントキュー２１５中の該ジョブの直後のジョブを選択する（ステップS3805）。選択されたジョブがグループIDを持つ場合には同じグループの中で最も優先度の低いジョブの直前所ジョブを選択する（ステップS3804）。
【０１６３】
ステップS3804およびステップS3805において選択されたジョブは、優先度変更後に順位が入れ替わるジョブの候補となる。ステップS3804およびステップS3805が終了するとステップS3806に進む。
【０１６４】
ステップS3806では、ステップS3804およびステップS3805において選択された優先度変更後に順位が入れ替わる候補となるジョブがグループIDを持つかどうかを判別し、グループIDを持つ場合にはさらに該ジョブと同一グループIDを持つジョブのうち、最も優先度の低いジョブを再選択し（ステップS3807）、その後にステップS3808に進む。今度は再選択されたジョブが優先度変更後に順位が入れ替わる候補となるジョブである。
【０１６５】
ステップS3806の判別の結果ステップS3804およびステップS3805において選択された優先度変更後に順位が入れ替わる候補となるジョブがグループIDを持たなかった場合には何もせずにステップS3808に進む。
【０１６６】
ステップS3808においてユーザが選択したジョブを先の優先度変更後に順位が入れ替わる候補となるジョブの直後に移動し優先度下げる処理は終了する。
【図面の簡単な説明】
【０１６７】
【図１】本発明を適用した機器の外観図の一例を示すものである。
【図２】図1における機器の内部構成を説明するためのブロック図である。
【図３】本発明による機器と複数のクライアントがネットワークで接続された場合の運用形態の一例を示すためのものである。
【図４】図３における各クライアント上で実行されるアプリケーションからユーザが印刷処理を選択した際にPCの画面に表示されるプリントドライバの設定画面の一例を示すためのものである。
【図５】クライアントがプリントジョブを発行する際に本発明を適用したプリントドライバがプリントデータを送信するよりも前に機器に対して送信されるグループ開始特殊ジョブのデータ構成を説明するためのものである。
【図６】クライアントがプリントジョブを発行する際に本発明を適用したプリントドライバが機器に対して送信する通常プリントジョブのデータ構成を説明するためのものである。
【図７】クライアントがプリントジョブを発行する際に本発明を適用したプリントドライバがプリントデータを送信し終わった後に機器に対して送信されるグループ終端特殊ジョブのデータ構成を説明するためのものである。
【図８】図５から図７までに示した各種ジョブを構成するフィールドの中でジョブ種識別情報の具体例を説明するためのものである。
【図９】本発明によるプリントドライバの印刷設定から実際の印刷処理が終了するまでの処理のフローを説明するためのものである。
【図１０】本実施例の効果を説明するために機器に対して具体的に投入されるジョブの投入状況の一例を示すためのものである。
【図１１】プリントキュー２１５が管理するジョブ情報の構成を説明するためのものである。
【図１２】図１０に示したジョブ投入状態において、時刻17:40.35.01の時点でのプリントキュー２１５の内部状態を示したものである。
【図１３】図１０に示したジョブ投入状態において、時刻18:30.25.73の時点でのプリントキュー２１５の内部状態を示したものである。
【図１４】時刻は特定しないが図１３の状態から時間が経過しジョブID 1031のジョブが終了した状況を表している。
【図１５】図１０に示したジョブ投入状態において、時刻18:35.38.26の時点でのプリントキュー２１５の内部状態の一例を示したものである。
【図１６】図１０に示したジョブ投入状態において、時刻18:35.38.30の時点でのプリントキュー２１５の内部状態の一例を示したものである。
【図１７】図１０に示したジョブ投入状態において、時刻18:35.38.33の時点でのプリントキュー２１５の内部状態の一例を示したものである。
【図１８】図１０に示したジョブ投入状態において、時刻18:35.38.36の時点でのプリントキュー２１５の内部状態の一例を示したものである。
【図１９】図１０に示したジョブ投入状態において、時刻18:35.38.39の時点でのプリントキュー２１５の内部状態の一例を示したものである。
【図２０】図１０に示したジョブ投入状態において、時刻18:35.38.43の時点でのプリントキュー２１５の内部状態の一例を示したものである。
【図２１】図１０に示したジョブ投入状態において、時刻18:35.44.79の時点でのプリントキュー２１５の内部状態の一例を示したものである。
【図２２】ジョブ管理部２１４において行われるプリントジョブ投入時のメイン制御処理フローを説明するためのものである。
【図２３】図２２におけるステップS2204のグループ開始特殊ジョブ受信処理の詳細を説明するためのフロー図である。
【図２４】図２２におけるステップS2208の通常印刷ジョブ受信処理の詳細を説明するためのフロー図である。
【図２５】図２２におけるステップS2206のグループ終端特殊ジョブ受信処理の詳細を説明するためのフロー図である。
【図２６】グループIDを持つジョブが投入されているプリントキュー２１５内のジョブの優先度を変更した際の振る舞いを説明するためのものである。
【図２７】プリントキューの内部状態が図２６に示すような状態であった場合に、ジョブIDが1039のジョブの優先度を一つ上げてプリントキューの前方向に移動した結果の状態を表したものである。
【図２８】グループIDを持つジョブが投入されているプリントキュー２１５内のジョブをキャンセルした際の振る舞いを説明するためのものである。
【図２９】プリントキューの内部状態が図２８に示すような状態であった場合に、ジョブIDが1039のジョブをキャンセルした結果の状態を表したものである。
【図３０】本発明による機器の操作部２０２の基本画面を示すためのものである。
【図３１】図３０に示す画面においてシステム状況／中止ボタン３００１を押下しさらにプリントボタン３１０１を押下した状態を表したものである。
【図３２】図３１に示したジョブ状態において、グループID 903を持つジョブを選択状態として中止ボタン３１０３を押下した直後の画面を表したものである。
【図３３】図３１に示したジョブ状態において、ジョブ番号1039のジョブを選択状態とした上で優先度を上げるボタン３１０４を押下した直後の画面を表したものである。
【図３４】図３１に示す画面によってユーザから指示されジョブ管理部２１４において実行されるジョブ管理処理のフローを説明するためのものである。
【図３５】図３４におけるステップS3403のジョブ選択処理の詳細を説明するためのフロー図である。
【図３６】図３４におけるステップS3407のジョブキャンセル処理の詳細を説明するためのフロー図である。
【図３７】図３４におけるステップS3410のジョブの優先度上げる処理の詳細を説明するためのフロー図である。
【図３８】図３４におけるステップS3413のジョブの優先度下げる処理の詳細を説明するためのフロー図である。
【図１】
2007083501.tif 000003
【図２】
2007083501.tif 000004
【図３】
2007083501.tif 000005
【図４】
2007083501.tif 000006
【図５】
2007083501.tif 000007
【図６】
2007083501.tif 000008
【図７】
2007083501.tif 000009
【図８】
2007083501.tif 000010
【図９】
2007083501.tif 000011
【図１０】
2007083501.tif 000012
【図１１】
2007083501.tif 000013
【図１２】
2007083501.tif 000014
【図１３】
2007083501.tif 000015
【図１４】
2007083501.tif 000016
【図１５】
2007083501.tif 000017
【図１６】
2007083501.tif 000018
【図１７】
2007083501.tif 000019
【図１８】
2007083501.tif 000020
【図１９】
2007083501.tif 000021
【図２０】
2007083501.tif 000022
【図２１】
2007083501.tif 000023
【図２２】
2007083501.tif 000024
【図２３】
2007083501.tif 000025
【図２４】
2007083501.tif 000026
【図２５】
2007083501.tif 000027
【図２６】
2007083501.tif 000028
【図２７】
2007083501.tif 000029
【図２８】
2007083501.tif 000030
【図２９】
2007083501.tif 000031
【図３０】
2007083501.tif 000032
【図３１】
2007083501.tif 000033
【図３２】
2007083501.tif 000034
【図３３】
2007083501.tif 000035
【図３４】
2007083501.tif 000036
【図３５】
2007083501.tif 000037
【図３６】
2007083501.tif 000038
【図３７】
2007083501.tif 000039
【図３８】
2007083501.tif 000040