(57)【特許請求の範囲】
【請求項１】
ジョブを受信する受信部と、
前記受信部が受信するジョブをメモリに保持し、該メモリに保持された複数のジョブの処理順序を管理するジョブ管理部と、
前記処理順序にしたがって前記複数のジョブを順に処理するジョブ処理部と、
前記受信部が受信中の第１ジョブの処理される順番を前記保持されたジョブのうち所定の第２ジョブの前に変更する前記処理順序の変更要求をユーザ入力として受け付ける受付部と、を備え、
前記ジョブ管理部は、前記受付部が前記変更要求を受け付けた場合に、前記処理順序の変更を実行するものであって、前記変更要求に応じて前記処理順序を変更する前に前記ジョブ処理部による前記第２ジョブを処理する順番が回ってきた場合には、前記ジョブ処理部による処理を停止し、前記処理順序の変更を実行する、ジョブ処理装置。
【請求項２】
前記ジョブ管理部は、前記受付部が前記変更要求を受け付けた場合に、前記第１ジョブの受信完了後に前記処理順序の変更を実行するものであって、前記受信完了を待つ間に前記ジョブ処理部による前記第２ジョブを処理する順番が回ってきた場合には、前記ジョブ処理部による処理を停止し、前記第１ジョブの受信完了後に前記処理順序の変更を実行する、請求項１に記載のジョブ処理装置。
【請求項３】
前記ジョブ管理部は、前記ジョブ処理部による処理の停止中に、前記メモリのリソースが不足するか否かを判定し、該リソースが不足すると判定した場合、前記ジョブ処理部による処理を再開し、前記処理順序の変更要求に応じた前記処理順序の変更を非実行とする、請求項１に記載のジョブ処理装置。
【請求項４】
前記ジョブ管理部は、前記ジョブ処理部による処理の停止中に、前記メモリのリソースが不足するか否かを判定し、該リソースが不足すると判定し、かつ、前記第２ジョブの次に処理される第３ジョブが前記メモリに保持されている場合、前記変更要求のうち前記第２ジョブの情報を前記第３ジョブの情報に変更し、前記第１ジョブの受信完了を待って、前記処理順序の変更を実行する、請求項１に記載のジョブ処理装置。
【請求項５】
前記ジョブ処理装置は、着脱可能な外部記憶媒体を備えており、
前記ジョブ管理部は、前記受信完了を待つ間に前記ジョブ処理部による前記第２ジョブを処理する順番が回ってきた場合には、前記メモリに保持された少なくとも１つのジョブを前記外部記憶媒体にスワップアウトする、請求項１に記載のジョブ処理装置。
【請求項６】
前記ジョブ管理部による前記処理順序の変更結果を表示する表示部をさらに備える、請求項１〜５のいずれか１項に記載のジョブ処理装置。
【請求項７】
ジョブを受信する段階と、
前記受信するジョブをメモリに保持し、該メモリに保持された複数のジョブの処理順序を管理する段階と、
前記処理順序にしたがって前記複数のジョブを順に処理する段階と、
受信中の第１ジョブの処理される順番を前記保持されたジョブのうち所定の第２ジョブの前に変更する前記処理順序の変更要求をユーザ入力として受け付ける段階と、
前記変更要求を受け付けた場合に、前記処理順序の変更を実行する段階であって、前記変更要求に応じて前記処理順序を変更する前に前記第２ジョブを処理する順番が回ってきた場合には、該第２ジョブの処理を停止し、前記処理順序の変更を実行する段階と、を含むジョブ処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ジョブ処理装置およびジョブ処理方法に関する
【背景技術】
【０００２】
従来より、ジョブ処理装置、たとえば、プリンタや複合機において、印刷ジョブを受信して保持し、印刷待ち状態にある複数の印刷ジョブの印刷順序の入れ替えを実現する種々の方法が提案されている（たとえば、特許文献１，２など参照）。
【０００３】
特許文献１には、印刷待ち状態にある複数の印刷ジョブに優先度を付与し、該優先度に基づいて印刷順序の入れ替えを実現する発明が開示されており、また、特許文献２には、印刷ジョブの印刷順序の入れ替え動作によって、いつまでも実行されなくなってしまう印刷ジョブが存在しないように制御する発明が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００６−２５５９５６号公報
【特許文献２】特開２００８−１７３８８６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来の印刷ジョブの入れ替え方法は、プリンタ等が既に受信完了した印刷ジョブのみを入れ替え対象としており、プリンタ等が受信中の印刷ジョブについては入れ替え対象外であって、入れ替え対象として検討もされていなかった。
【０００６】
そこで、本発明は、プリンタなどのジョブ処理装置が受信中のジョブを、ジョブ入れ替え対象とした新しいジョブ処理装置およびジョブ処理方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明によるジョブ処理装置は、ジョブを受信する受信部と、前記受信部が受信するジョブをメモリに保持し、該メモリに保持された複数のジョブの処理順序を管理するジョブ管理部と、前記処理順序にしたがって前記複数のジョブを順に処理するジョブ処理部と、前記受信部が受信中の第１ジョブの処理される順番を前記保持されたジョブのうち所定の第２ジョブの前に変更する前記処理順序の変更要求をユーザ入力として受け付ける受付部と、を備え、前記ジョブ管理部は、前記受付部が前記変更要求を受け付けた場合に、前記処理順序の変更を実行するものであって、前記変更要求に応じて前記処理順序を変更する前に前記ジョブ処理部による前記第２ジョブを処理する順番が回ってきた場合には、前記ジョブ処理部による処理を停止し、前記処理順序の変更を実行する。
【０００８】
また、本発明によるジョブ処理装置において、前記ジョブ管理部は、前記受付部が前記変更要求を受け付けた場合に、前記第１ジョブの受信完了後に前記処理順序の変更を実行するものであって、前記受信完了を待つ間に前記ジョブ処理部による前記第２ジョブを処理する順番が回ってきた場合には、前記ジョブ処理部による処理を停止し、前記第１ジョブの受信完了後に前記処理順序の変更を実行することができる。
【０００９】
さらに、本発明によるジョブ処理装置において、前記ジョブ管理部は、前記ジョブ処理部による処理の停止中に、前記メモリのリソースが不足するか否かを判定し、該リソースが不足すると判定した場合、前記ジョブ処理部による処理を再開し、前記処理順序の変更要求に応じた前記処理順序の変更を非実行とすることができる。
【００１０】
さらに、本発明によるジョブ処理装置において、前記ジョブ管理部は、前記ジョブ処理部による処理の停止中に、前記メモリのリソースが不足するか否かを判定し、該リソースが不足すると判定し、かつ、前記変更要求のうち前記第２ジョブの情報を前記第３ジョブの情報に入れ替え、前記第１ジョブの受信完了を待って、前記処理順序の変更を実行することもできる。
【００１１】
さらに、本発明によるジョブ処理装置は、着脱可能な外部記憶媒体を備えることができ、前記ジョブ管理部が、前記受信完了を待つ間に前記ジョブ処理部による前記第２ジョブを処理する順番が回ってきた場合には、前記メモリに保持された少なくとも１つのジョブを前記外部記憶媒体にスワップアウトすることもできる。
【００１２】
さらに、本発明によるジョブ処理装置は、前記ジョブ管理部による前記処理順序の変更結果を表示する表示部をさらに備えることができる。
【００１３】
本発明によるジョブ処理方法は、ジョブを受信する段階と、前記受信するジョブをメモリに保持し、該メモリに保持された複数のジョブの処理順序を管理する段階と、前記処理順序にしたがって前記複数のジョブを順に処理する段階と、受信中の第１ジョブの処理される順番を前記保持されたジョブのうち所定の第２ジョブの前に変更する前記処理順序の変更要求をユーザ入力として受け付ける段階と、前記変更要求を受け付けた場合に、前記処理順序の変更を実行する段階であって、前記変更要求に応じて前記処理順序を変更する前に前記第２ジョブを処理する順番が回ってきた場合には、該第２ジョブの処理を停止し、前記処理順序の変更を実行する段階と、を含む。
【図面の簡単な説明】
【００１４】
【図１】本実施形態の印刷システムのハードウェア構成を示す概略図である。
【図２】本実施形態の印刷装置の概略的な機能構成の一例を示す図である。
【図３】本実施形態におけるメモリの使用状態の一例を示す図である。
【図４】本実施形態における印刷ジョブの状態遷移図を示す図である。
【図５】本実施形態における印刷待ち行列の蓄積内容の一例を示す図である。
【図６】本実施形態の印刷装置のジョブ処理方法の処理内容を示すフローチャートである。
【図７】本実施形態のジョブ処理方法を実行した場合のタイムチャートの一例を示す図である。
【図８】本実施形態の変形例１の印刷システムのジョブ処理方法の処理内容を示すフローチャートである。
【図９】本実施形態の変形例１の印刷システムのジョブ処理方法の処理内容を示すフローチャートである。
【図１０】本実施形態の変形例２の印刷システムのジョブ処理方法の処理内容を示すフローチャートである。
【発明を実施するための形態】
【００１５】
以下、本発明を実施するための好適な実施形態を、図面を参照しながら説明する。なお、本実施形態では、ジョブ処理装置として印刷装置（プリンタ）を例にとって説明する。
【００１６】
図１は、本実施形態の印刷システム１のハードウェア構成を表すブロック図である。印刷システム１は、ユーザ端末１０と印刷装置２０とで構成され、ユーザ端末１０および印刷装置２０は通信ネットワークを介して相互に通信可能に接続されている。
【００１７】
ユーザ端末１０は、印刷ジョブを生成し、該印刷ジョブを印刷装置２０に送信する装置であって、印刷装置２０に対してホスト装置として機能する。なお、ユーザ端末１０は、通常のユーザ端末と同様の構成および機能とすることができる。
【００１８】
印刷装置２０は、ユーザ端末１０から印刷ジョブを受信して印刷処理を実行する装置である。また、印刷装置２０は、印刷待ちの複数の印刷ジョブの処理順序を管理し、ユーザ入力を受け付けて該処理順序を入れ替える機能を有する。印刷装置２０は、ハードウェアとして、図１に示すように、プリンタエンジン２０１、およびプリンタコントローラ２０２、および操作ユニット２０３を備えている。ただし、プリンタコントローラ２０２および操作ユニット２０３は、印刷装置２０と別体となされていてもよい。
【００１９】
プリンタエンジン２０１は、印刷データを受け取って印刷処理を実行する。なお、プリンタエンジン２０１は、通常のインクジェットプリンタやレーザプリンタなどの印刷装置におけるプリンタエンジンと同様の機能構成とすることができる。
【００２０】
操作ユニット（操作パネル）２０３は、ユーザからの指示を入力するための入力部であって、液晶ディスプレイ、操作ボタンなどから構成される。操作ユニット２０３において、たとえば、ユーザが操作ボタンを操作することによって、ユーザが印刷順序の入れ替えを所望する印刷ジョブを選択し、該選択した印刷ジョブの印刷順序を決定することができる。なお、操作ユニット２０３自体は、原則として、従来のプリンタに用いられる操作ユニットと同様の機能構成を有することができる。
【００２１】
プリンタコントローラ２０２は、印刷装置２０全体における様々な処理を実行するものであって、ＣＰＵ２０４、記憶装置２０５、インタフェース２０６等を備えている。ＣＰＵ２０４は、記憶装置２０５に記憶されたコンピュータプログラムを読み出して各種処理を実行する。インタフェース２０６は、たとえば、ユーザ端末１０と通信可能に接続するためのＥｔｈｅｒｎｅｔ（登録商標）などのＩ／Ｆや、ＵＳＢなどの記憶媒体と通信可能に接続するためのＩ／Ｆ、スキャナ、ファックスと通信可能に接続するＩ／Ｆを含む。
【００２２】
プリンタコントローラ２０２は、機能構成として、図２に示すように、受信部２１、言語解釈部２２、ジョブ管理部２３、印刷処理部２４、ジョブ廃棄処理部２５、受付部２６、表示部２７、メモリリソース管理部２８、およびメモリ２９を含む。なお、メモリ２９は、たとえば、記憶装置２０５を用いて実現でき、また、受信部２１などの各部は、たとえば、主にＣＰＵ２０４が記憶装置２０５に格納されるコンピュータプログラムを実行し、各ハードウェアを制御することにより実現することができる。
【００２３】
受信部２１は、ユーザ端末１０より送信された印刷ジョブを受信する。受信部２１は、受信した印刷ジョブを言語解釈部２２に送る。
【００２４】
言語解釈部２２は、印刷ジョブをプリンタエンジン２０１にて印刷可能なデータに変換処理（言語解釈）する。また、言語解釈部２２は、変換処理した印刷ジョブのデータをジョブ管理部２３に送る。なお、言語解釈部２２は、印刷ジョブを変換処理する際にメモリリソース管理部２８を介してメモリ２９の記憶領域の一部を使用する。
【００２５】
ジョブ管理部２３は、言語解釈部２２にて言語解釈された印刷ジョブのデータを保持し、保持された複数の印刷ジョブの処理順序を印刷待ち行列（印刷キュー）を用いることによってジョブ管理する。ジョブ管理部２３は、印刷待ち行列の先頭にある印刷ジョブを印刷処理部２４に送る。また、ジョブ管理部２３は、後述する受付部２６からの印刷順序の変更要求を受け付けた場合に、印刷ジョブの処理順序の変更（順番入れ替え）を制御する。ジョブ管理部２３は、印刷ジョブを保持する際、メモリリソース管理部２８を介してメモリ２９の記憶領域を使用する。なお、印刷ジョブの管理状態、およびジョブの処理順序を変更する制御については後述する。
【００２６】
印刷処理部（ジョブ処理部）２４は、ジョブ管理部２３より受信した印刷ジョブのデータをプリンタエンジン２０１に送り、プリンタエンジン２０１の印刷処理を制御する。
【００２７】
ジョブ廃棄処理部２５は、印刷処理部２４により印刷完了した印刷ジョブのデータを、メモリリソース管理部２８を介してメモリ２９の記憶領域から廃棄（削除）する。
【００２８】
受付部２６は、印刷順序の変更要求（順番入れ替えの情報）をユーザ入力により受け付ける部である。受付部２６は、ユーザ入力の１つとして、受信部２１が受信中の印刷ジョブ（第１ジョブ）の処理される順番を印刷待ち行列に蓄積されたジョブのうち所定の印刷ジョブ（第２ジョブ）の前に変更する処理順序の変更要求を受け付ける。受付部２６は、受け付けた印刷順序の変更要求をジョブ管理部２３に送る。なお、受付部２６は、たとえば、操作ユニット２０３を通して、ユーザ入力を受け付けることができる。
【００２９】
表示部２７は、一般的な印刷装置の表示項目に加え、印刷待ち行列内の印刷ジョブを一覧表示し、印刷待ち行列内の各印刷ジョブの状態（たとえば、「印刷中」、「未印刷」、または「受信中」のいずれか）を表示する。また、表示部２７は、ジョブ管理部２３による処理順序の変更結果、たとえば、入れ替え不可能な印刷ジョブを示したり、入れ替え失敗時にその内容を表示したりすることができる。
【００３０】
メモリリソース管理部２８は、言語解釈部２２、ジョブ管理部２３、印刷処理部２４、ジョブ廃棄処理部２５からメモリ２９の各利用要求を受信し、各利用要求に応じてメモリ２９内の印刷ジョブを記憶し、または、記憶された印刷ジョブを取得および削除するなどメモリ２９を管理する。
【００３１】
メモリ２９は、各処理を実行するためのプログラム、および印刷待ちの印刷ジョブを記憶し、また、言語解釈部２２で印刷ジョブを言語解釈するためのワークエリアとして利用される。図３に、メモリ２９の使用例を示す。メモリ２９は、図３に示すように、たとえば、印刷ジョブの言語解釈が終わった部分のデータ（印刷ジョブＡの一部）を受信して記憶する記憶領域２９１と、印刷ジョブの言語解釈が終わって受信完了した印刷ジョブＢ，Ｃ，Ｄ，Ｅを記憶する記憶領域２９２，２９３，２９４，２９５と、言語解釈に利用する記憶領域２９６と、空き記憶領域２９７とに分けて使用される。
【００３２】
ここで、ジョブ管理部２３における印刷ジョブの管理状態について、図４を用いて説明する。図４は、本実施形態における印刷ジョブの状態遷移図を示す図である。
【００３３】
印刷ジョブＸの管理状態は、図４に示すように、たとえば、ジョブ管理部２３が、印刷ジョブＸの言語解釈が終わった部分のデータ（印刷ジョブＸの一部）を受信して記憶し、残りのデータは受信部２１または言語解釈部２２が保持している第１の状態と、第１の状態から印刷ジョブＸの印刷が開始することにより遷移した状態であって、印刷ジョブＸの一部のデータを受信しながら印刷している第２の状態と、第１の状態から印刷ジョブＸの言語解釈が完了することにより遷移した状態であって、印刷ジョブＸのデータが全て記憶されて未印刷の第３の状態と、第２の状態から印刷ジョブＸの受信が完了することにより遷移した状態、または第３の状態から印刷ジョブＸの印刷が開始することにより遷移した状態であって、印刷ジョブＸのデータが印刷されている第４の状態と、を含む。なお、印刷ジョブＸの第１の状態から第２の状態への遷移は、印刷待ち行列で印刷処理の順番が回ってきていること、プリンタエンジン２０１が空いていること、印刷するのに十分な印刷ジョブのデータ（印刷ジョブの一部）を受信したこと、を全て満たす場合に遷移する。
【００３４】
このような各状態における印刷ジョブの順番入れ替えを行う場合、従来は、第１の状態、第２の状態および第４の状態にある印刷ジョブは入れ替え対象外とし、第３状態にある印刷ジョブのみを入れ替え対象としていた。これに対して、本実施形態では、第１の状態にある印刷ジョブも入れ替え対象としている点で従来の印刷順序の順番入れ替えとは相違する。ここで、発明者は、第１の状態にある印刷ジョブを入れ替え対象とする場合、メモリの記憶容量の制約が存在することを見出した。
【００３５】
メモリ２９の記憶容量の制約は、受信中の印刷ジョブは印刷順序の入れ替えをできる保証が無いという制約である。これは、上述したように、たとえば、メモリ２９は各記憶領域２９１〜２９６を必要とするが、これら各記憶領域２９１〜２９６の容量は、各印刷ジョブの内容やデータ量に応じて変化する。しかし、メモリ２９の記憶容量には限りがあるため、言語解釈された受信中の印刷ジョブの内容やデータ量によっては、該印刷ジョブの一部を記憶する記憶領域２９１と、該印刷ジョブに対して言語解釈で使用する記憶領域２９６とが足りなくなる可能性があり、印刷待ちの印刷ジョブを受信中の印刷ジョブより先に印刷し、該印刷完了した印刷ジョブを廃棄することで空き記憶領域２９７を確保する必要が生じる。よって、受信中の印刷ジョブを印刷待ちの印刷ジョブより先に印刷を開始するよう印刷順序を入れ替えることができない場合がある。
【００３６】
そこで、本実施形態では、かかる制約を考慮して、印刷順序の順番入れ替え制御を行っており、かつ、ユーザの要求した通りの印刷順序の順番入れ替えを可能な限り実現する。
【００３７】
次に、ジョブ管理部２３における印刷順序の順番入れ替え制御について、図５を参照して説明する。
【００３８】
ジョブ管理部２３が管理する印刷待ち行列によって保持された印刷ジョブは、たとえば、図５に示すように、現在受信中、または受信が完了しているが未印刷の印刷待ち行列の末尾に位置する印刷ジョブ（Ａ）と、受信が完了しているが未印刷の印刷ジョブ（Ｂ，Ｃ，Ｄ）と、現在印刷中、または印刷を開始しようとしている印刷ジョブ（Ｅ）と、に分けることができる。
【００３９】
ジョブ管理部２３は、受信中の印刷ジョブを未印刷の印刷ジョブの前に挿入する印刷順序の入れ替えに関しては、上記制約により、受信中の印刷ジョブの受信完了を待って、処理順序の変更を実行する。たとえば、ジョブ管理部２３は、受付部２６より、印刷ジョブＡを印刷ジョブＤより先に印刷する印刷順序の変更要求を受け付けると、印刷ジョブＡが受信完了するまで印刷順序の変更を待機し、印刷ジョブＡが受信完了したときに受け付けた変更要求を実行する。ただし、ジョブ管理部２３は、変更要求に応じて処理順序を変更する前であって、印刷ジョブＡの受信完了を待つ間に印刷処理手段２４による印刷ジョブＤを処理する順番が回ってきた場合には、印刷処理部２４による処理を停止し、印刷ジョブＡの受信完了後に処理順序の変更を実行する。また、ジョブ管理部２３は、印刷処理部２４による処理の停止中に、メモリ２９のリソースが不足するか否かを判定し、該リソースが不足すると判定した場合、印刷処理部２４による処理を再開し、処理順序の変更要求による処理順序の変更を非実行とする。
【００４０】
ジョブ管理部２３は、受信完了しているが未印刷の印刷ジョブ同士での印刷順序の入れ替えに関しては、印刷待ち行列内部で閉じた処理のため、即座に実行する。たとえば、ジョブ管理部２３は、受付部２６より、印刷ジョブＢを印刷ジョブＤより先に印刷する印刷順序の変更要求を受け付けると、印刷順序を変更する。その結果、印刷ジョブＥの次に印刷処理部２４に送られる印刷ジョブを印刷ジョブＢとすることができる。
【００４１】
以下、図６に示すフローチャートを参照して、印刷装置２０において実施されるジョブ処理方法を説明する。各工程（符号が付与されていない部分的な工程を含む）は処理内容に矛盾を生じない範囲で任意に順番を変更して又は並列に実行することができる。なお、印刷待ち行列によって保持された印刷ジョブは、図５に示すように、印刷ジョブＡは受信中の状態、印刷ジョブＢ，Ｃ，Ｄは受信完了済みで未印刷の状態、印刷ジョブＥは受信完了済みで印刷中の状態とした場合を例にとって説明する。また、ユーザが印刷順序を先にしたい印刷ジョブを「入れ替え元ジョブ」、印刷待ち行列で保持される印刷ジョブのうち、印刷順序の入れ替え後に入れ替え元ジョブの次に印刷の順番が回ってくる印刷ジョブを「入れ替え先ジョブ」として説明する。
【００４２】
まず、受付部２６は、印刷順序の変更要求をユーザ入力により受け付ける（ステップＳ１００）。たとえば、ユーザにより操作ユニット２０３を通して入れ替え元ジョブとして印刷ジョブＡが選択され、また、その印刷ジョブＡの印刷順序が印刷ジョブＤの前と指定されることにより、受付部２６は、印刷順序の変更要求として、入れ替え元ジョブ（印刷ジョブＡ）、および入れ替え先ジョブ（印刷ジョブＤ）の情報を受け付けることができる。
【００４３】
次いで、ジョブ管理部２３は、入れ替え先ジョブが印刷中であるか否かを判定する（ステップＳ１０１）。入れ替え先ジョブが印刷中であれば（ステップＳ１０１：Ｙｅｓ）、入れ替えは不可能であるので、ジョブ管理部２３は印刷順序の変更を実行せず、表示部２７は操作ユニット２０３のディスプレイなどに入れ替えに失敗した旨を表示する（ステップＳ１０２）。たとえば、入れ替え先ジョブが現在印刷中の印刷ジョブＥである場合、印刷順序の入れ替えは失敗となる。
【００４４】
一方、入れ替え先ジョブが印刷中で無ければ（ステップＳ１０１：Ｎｏ）、ジョブ管理部２３は、入れ替え元ジョブが受信中であるか否かを判定する（ステップＳ１０３）。入れ替え元ジョブが受信中で無ければ（ステップＳ１０３：Ｎｏ）、ジョブ管理部２３は、印刷順序を変更する（ステップＳ１０８）。たとえば、入れ替え元ジョブが印刷ジョブＡであり、入れ替え先ジョブが印刷ジョブＤであれば、印刷順序は、ステップＳ１０８の処理により、Ａ→Ｂ→Ｃ→Ｄ→Ｅの順序から、Ｂ→Ｃ→Ｄ→Ａ→Ｅの順序に変更される。
【００４５】
入れ替え元ジョブが受信中であれば（ステップＳ１０３：Ｙｅｓ）、ジョブ管理部２３は、入れ替え先ジョブに対して印刷停止フラグを設定する（ステップＳ１０４）。印刷停止フラグは、印刷処理部２４による印刷処理の実行を停止するためのフラグであって、たとえば、入れ替え先ジョブが印刷ジョブＤであり、該印刷ジョブＤに対して印刷停止フラグが設定されると、印刷ジョブＤは印刷処理部２４によって処理されない。
【００４６】
次いで、印刷停止フラグの設定後、ジョブ管理部２３は、入れ替え元ジョブの入れ替えが可能になるまで、すなわち、入れ替え元ジョブが受信完了するまで印刷順序の変更処理を待機する。具体的には、ジョブ管理部２３は、入れ替え先ジョブの印刷順番が回ってきたか否かを判定し（ステップＳ１０５）、入れ替え元ジョブの受信が完了したか否かを判定する（ステップＳ１０６）。
【００４７】
入れ替え先ジョブの印刷順序が回ってきたと判定されない場合であって（ステップＳ１０５：Ｎｏ）、入れ替え元ジョブが受信完了と判定されない場合（ステップＳ１０６：Ｎｏ）、ステップＳ１０５の処理に戻る。
【００４８】
入れ替え元ジョブが受信完了と判定された場合（ステップＳ１０６：Ｙｅｓ）、ジョブ管理部２３が、入れ替え先ジョブに対して印刷停止フラグを解除し（ステップＳ１０７）、印刷順序を変更する（ステップＳ１０８）。
【００４９】
一方、ステップＳ１０５の処理において、入れ替え先ジョブの印刷順序が回ってきたと判定した場合（ステップＳ１０５：Ｙｅｓ）、印刷処理部２４は、入れ替え先ジョブの印刷処理を停止する（ステップＳ１０９）。すなわち、入れ替え先ジョブには、印刷停止フラグが設定されているため、印刷処理部２４は、自動的に入れ替え先ジョブの印刷処理を停止する。
【００５０】
ステップＳ１０９の処理後、ジョブ管理部２３は、メモリ２９のリソースの不足を監視しつつ、入れ替え元ジョブが受信完了するまで印刷順序の変更処理を待機する。具体的には、ジョブ管理部２３は、メモリ２９のリソース不足を判定し（ステップＳ１１０）、入れ替え元ジョブの受信が完了したか否かを判定する（ステップＳ１１１）。
【００５１】
メモリ２９のリソースが不足すると判定した場合（ステップＳ１１０：Ｙｅｓ）、入れ替え元ジョブの入れ替えが可能になるのを待っている間に、メモリ２９のリソースが不足することにより、入れ替え元ジョブを受信完了させることが不可能となるので、ジョブ管理部２３は、入れ替え先ジョブに対して印刷停止フラグを解除する（ステップＳ１１２）。次いで、ジョブ管理部２３は印刷順序の変更を実行せず、表示部２７は操作ユニット２０３のディスプレイなどに入れ替えに失敗した旨を表示する（ステップＳ１１３）。
【００５２】
メモリ２９のリソースが不足すると判定されない場合であって（ステップＳ１１０：Ｎｏ）、入れ替え元ジョブが受信完了と判定されない場合（ステップＳ１１１：Ｎｏ）、ステップＳ１１０の処理に戻る。入れ替え元ジョブが受信完了と判定された場合（ステップＳ１１１：Ｙｅｓ）、ジョブ管理部２３が、入れ替え先ジョブに対して印刷停止フラグを解除し（ステップＳ１０７）、印刷順序を変更する（ステップＳ１０８）。
【００５３】
ステップＳ１０２、Ｓ１０８、Ｓ１１３の各処理が行われると、本処理フローは終了する。なお、たとえば、３つの印刷ジョブを順に受信して印刷処理する場合であって、２番目に受信する印刷ジョブを入れ替え先ジョブ、３番目に受信する印刷ジョブを入れ替え元ジョブとした場合において、上記処理フローを実行した際のタイムチャート例を図７に示す。図７からも理解されるように、入れ替え元ジョブが受信中のときに印刷順序の変更要求を受け付けた場合、入れ替え元ジョブの受信完了までに、入れ替え先ジョブの印刷順序が回ってきたら、入れ替え先ジョブの印刷処理を止めてでも入れ替えが行われ、入れ替え元ジョブの印刷順序が入れ替え先ジョブより先になる。
【００５４】
以上、本実施形態の印刷装置（ジョブ処理装置）、およびジョブ処理方法によれば、受信中の印刷ジョブの印刷順序の変更要求を受け付けることができる。また、受信中の印刷ジョブを入れ替え対象とする場合、受信中の印刷ジョブが受信完了するまで印刷順序の入れ替えを待機し、入れ替え先ジョブの印刷順番が回ってくるまでに入れ替え元ジョブが受信完了したら、そのまま印刷順序の入れ替えを行い、入れ替え元ジョブが受信完了する前に入れ替え先ジョブの印刷順番が回ってきたら入れ替え先ジョブの印刷を止めてでも、ユーザが変更要求した入れ替えを可能な限り実行する。たとえば、ある印刷ジョブの印刷中に、１００枚の未印刷の印刷ジョブを入れ替え先ジョブとし、１枚の受信中の印刷ジョブを入れ替え元ジョブとした場合、入れ替え元ジョブが受信完了するより前に入れ替え先ジョブの印刷を開始してしまうと、入れ替え元ジョブの印刷開始は、１００枚の入れ替え先ジョブの印刷が完了するまで行われない。しかし、本実施形態によれば、入れ替え先ジョブの印刷処理を停止することで、受信中の印刷ジョブを可能な限り速く印刷することができる。また、入れ替え先ジョブの印刷処理を停止した場合であって、メモリ２９のリソースが足りなくなれば、入れ替え先ジョブの印刷を開始し、入れ替え失敗として制御することで、入れ替え先ジョブの印刷完了により、メモリ２９の空き記憶領域を確保することができることから、メモリ２９の記憶容量の制約を解消することができる。
【００５５】
＜ジョブ処理方法の変形例１＞
上記実施形態では、受信中の印刷ジョブ（入れ替え元ジョブ）を印刷待ち状態の印刷ジョブ（入れ替え先ジョブ）の前に印刷順序を変更する場合、入れ替え元ジョブの入れ替えが可能になるのを待っている間に、メモリ２９のリソースが不足することにより印刷順序の変更が不可能になったら、印刷順序の変更は非実行としていたが、本発明はこれに限られず、たとえば、入れ替え先ジョブを変更し、かつ、先の入れ替え先ジョブを印刷処理してメモリ２９から削除することで、メモリ２９の空き記憶容量を確保し、印刷順序の変更を実行するようにしてもよい。なお、この場合、ジョブ管理部２３は、上述の機能に加えて、印刷処理部２４による処理の停止中に、メモリ２９のリソースが不足するか否かを判定し、該リソースが不足すると判定し、かつ、第２ジョブの次に処理される印刷ジョブ（第３ジョブ）がメモリ２９に保持されている場合、変更要求のうち第２ジョブの情報を第３ジョブの情報に変更（入れ替え先ジョブを変更）し、第１ジョブの受信完了を待って、処理順序の変更を実行する機能を有する。
【００５６】
本実施形態の変形例１の処理フローを、図８および図９に示すフローチャートを参照して説明する。
【００５７】
まず、受付部２６は、印刷順序の変更要求をユーザ入力により受け付ける（ステップＳ２００）。次いで、ジョブ管理部２３は、入れ替え先ジョブが印刷中であるか否かを判定する（ステップＳ２０１）。入れ替え先ジョブが印刷中であれば（ステップＳ２０１：Ｙｅｓ）、現在の入れ替え先ジョブでは入れ替えが不可能であるので、ジョブ管理部２３は入れ替え先ジョブを、現在の入れ替え先ジョブの次の順番の印刷ジョブに変更する（ステップＳ２０２）。たとえば、図５に示す印刷ジョブを例にとって説明すると、入れ替え先ジョブが印刷ジョブＥであった場合、入れ替え先ジョブを印刷ジョブＥの次の順番の印刷ジョブＤに変更する。
【００５８】
ステップＳ２０２で入れ替え先ジョブを変更した結果、入れ替え先ジョブと入れ替え元ジョブが同一か否かを判定し（ステップＳ２０３）、同一でなければ（ステップＳ２０３：Ｎｏ）、ステップＳ２０１の処理に移り、同一であれば（ステップＳ２０３：Ｙｅｓ）、印刷順序の変更は不可能であるため、ジョブ管理部２３は印刷順序の変更を実行せず、表示部２７は操作ユニット２０３のディスプレイなどに入れ替えに失敗した旨を表示する（ステップＳ２０４）。
【００５９】
一方、入れ替え先ジョブが印刷中で無ければ（ステップＳ２０１：Ｎｏ）、ジョブ管理部２３は、入れ替え元ジョブが受信中であるか否かを判定する（ステップＳ２０５）。入れ替え元ジョブが受信中で無ければ（ステップＳ２０５：Ｎｏ）、ジョブ管理部２３は、印刷順序を変更する（ステップＳ２１０）。
【００６０】
入れ替え元ジョブが受信中であれば（ステップＳ２０５：Ｙｅｓ）、ジョブ管理部２３は、入れ替え先ジョブに対して印刷停止フラグを設定する（ステップＳ２０６）。
【００６１】
次いで、ジョブ管理部２３は、印刷停止フラグの設定後、入れ替え元ジョブの入れ替えが可能になるまで印刷順序の変更処理を待機する。具体的には、ジョブ管理部２３は、入れ替え先ジョブの印刷順番が回ってきたか否かを判定し（ステップＳ２０７）、入れ替え元ジョブの受信が完了したか否かを判定する（ステップＳ２０８）。
【００６２】
入れ替え先ジョブの印刷順序が回ってきたと判定されない場合であって（ステップＳ２０７：Ｎｏ）、入れ替え元ジョブが受信完了と判定されない場合（ステップＳ２０８：Ｎｏ）、ステップＳ２０７の処理に戻る。
【００６３】
入れ替え元ジョブが受信完了と判定された場合（ステップＳ２０８：Ｙｅｓ）、ジョブ管理部２３が、入れ替え先ジョブに対して印刷停止フラグを解除し（ステップＳ２０９）、印刷順序を変更する（ステップＳ２１０）。
【００６４】
一方、ステップＳ２０７の処理において、入れ替え先ジョブの印刷順序が回ってきたと判定した場合（ステップＳ２０７：Ｙｅｓ）、印刷処理部２４は、入れ替え先ジョブの印刷処理を停止する（ステップＳ２１１）。
【００６５】
ステップＳ２１１の処理後、ジョブ管理部２３は、メモリ２９のリソースの不足を監視しつつ、入れ替え元ジョブが受信完了するまで印刷順序の変更処理を待機する。具体的には、ジョブ管理部２３は、メモリ２９のリソース不足を判定し（ステップＳ２１２）、入れ替え元ジョブの受信が完了したか否かを判定する（ステップＳ２１３）。
【００６６】
メモリ２９のリソースが不足すると判定した場合（ステップＳ２１２：Ｙｅｓ）、入れ替え元ジョブを受信完了させることが不可能となるので、ジョブ管理部２３は、入れ替え先ジョブを、現在の入れ替え先ジョブの次の順番の印刷ジョブに変更する（ステップＳ２１４）。すなわち、ジョブ管理部２３は、変更前に入れ替え先ジョブであった印刷ジョブを印刷処理し、かつ、メモリ２９から削除することで、メモリ２９の空き記憶容量を確保し、入れ替え元ジョブを受信完了させることを可能にする。
【００６７】
ステップＳ２１４で入れ替え先ジョブを変更した結果、入れ替え先ジョブと入れ替え元ジョブが同一か否かを判定し（ステップＳ２１５）、同一でなければ（ステップＳ２１５：Ｎｏ）、ジョブ管理部２３が、変更前の入れ替え先ジョブの印刷停止フラグを解除し、新しい入れ替え先ジョブに対して印刷停止フラグを設定し（ステップＳ２１６）、ステップＳ２０７の処理に移る。一方、入れ替え先ジョブと入れ替え元ジョブが同一であれば（ステップＳ２１５：Ｙｅｓ）、印刷順序の変更は不可能であるため、ジョブ管理部２３は印刷順序の変更を実行せず、変更前の入れ替え先ジョブに対して印刷停止フラグを解除するとともに（ステップＳ２１７）、表示部２７は操作ユニット２０３のディスプレイなどに入れ替えに失敗した旨を表示する（ステップＳ２１８）。
【００６８】
ステップＳ２０４、Ｓ２１０、Ｓ２１８の各処理が行われると、本処理フローは終了する。
【００６９】
上述のように、本処理フローによれば、受信中の印刷ジョブ（入れ替え元ジョブ）を印刷待ち状態の印刷ジョブ（入れ替え先ジョブ）より先に印刷されるよう印刷順序を変更する場合、受信中の印刷ジョブの受信完了を待つ間、すなわち、入れ替え元ジョブの入れ替えが可能になるのを待っている間に、メモリ２９のリソースが不足することにより印刷順序の変更が不可能になったら、入れ替え先ジョブを変更し、かつ、先の入れ替え先ジョブを印刷処理してメモリ２９から削除することで、メモリ２９の空き記憶領域を確保し、印刷順序の変更を実行する。その結果、ユーザの所望する印刷ジョブを、所望する順番、または所望する順番から可能な限り先に印刷されるように自動的に設定されることができる。
【００７０】
＜ジョブの処理方法の変形例２＞
上記実施形態では、受信中の印刷ジョブ（入れ替え元ジョブ）を印刷待ち状態の印刷ジョブ（入れ替え先ジョブ）の前に印刷順序を変更する場合、入れ替え元ジョブの入れ替えが可能になるのを待っている間に、メモリ２９のリソースが不足することにより印刷順序の変更が不可能になったら、印刷順序の変更は非実行としていたが、本発明はこれに限られず、たとえば、印刷装置２０に着脱可能な外部記憶媒体（たとえば、ＵＳＢメモリなど）３０を備え、メモリ２９の空き記憶領域を確保するために、この外部記憶媒体３０を利用することで、印刷順序の変更を可能とすることができる。具体的には、メモリ２９に保持されている印刷ジョブを外部記憶媒体３０に記憶し、メモリ２９から該当する印刷ジョブを削除することで、メモリ２９の空き記憶領域を確保する。なお、この場合、ジョブ管理部２３は、上述の機能に加えて、受信完了を待つ間に印刷処理部２４による印刷先ジョブを処理する順番が回ってきた場合には、メモリに保持された少なくとも１つのジョブを外部記憶媒体にスワップアウトする機能を有する。
【００７１】
本実施形態の変形例２の処理フローを、図１０に示すフローチャートを参照して説明する。なお、ステップＳ３００〜Ｓ３０９の各処理は、原則として、上記ステップＳ１００〜Ｓ１０９の各処理と同様にすることができるので、ここでの詳細な説明は省略する。
【００７２】
本実施形態の変形例２では、ステップＳ３０５の処理において、入れ替え先ジョブの印刷順番が回ってきたと判定した場合（ステップＳ３０５：Ｙｅｓ）、ジョブ管理部２３が、メモリ２９に保持された１つの印刷ジョブを外部記憶媒体３０にスワップアウトする（ステップＳ３１０）。たとえば、図５に示すように、メモリ２９に各印刷ジョブＡ〜Ｅが保持されている場合、印刷ジョブＤを外部記憶媒体３０に記憶し、メモリ２９から印刷ジョブＤを削除することで、メモリ２９のリソースを確保することができる。
【００７３】
ステップＳ３１０の処理後、ジョブ管理部２３は、メモリ２９のリソースの不足を監視しつつ、入れ替え元ジョブが受信完了するまで印刷順序の変更処理を待機する。具体的には、ジョブ管理部２３は、メモリ２９のリソース不足を判定し（ステップＳ３１１）、入れ替え元ジョブの受信が完了したか否かを判定する（ステップＳ３１２）。
【００７４】
メモリ２９のリソースが不足すると判定した場合（ステップＳ３１１：Ｙｅｓ）、メモリ２９に保持された未印刷の印刷ジョブが存在すれば、ステップＳ３１０の処理に移る。
【００７５】
メモリ２９のリソースが不足すると判定されない場合であって（ステップＳ３１１：Ｎｏ）、入れ替え元ジョブが受信完了と判定されない場合（ステップＳ３１２：Ｎｏ）、ステップＳ３１１の処理に戻る。入れ替え元ジョブが受信完了と判定された場合（ステップＳ３１２：Ｙｅｓ）、ジョブ管理部２３が、入れ替え先ジョブに対して印刷停止フラグを解除し（ステップＳ３０７）、印刷順序を変更する（ステップＳ３０８）。
【００７６】
なお、上記ステップＳ３１０の処理において、メモリ２９に保持された１つの印刷ジョブを外部記憶媒体にスワップアウトする場合を例にとって説明したが、スワップアウトする印刷ジョブは１つに限られず、少なくとも１つの印刷ジョブとしてもよい。たとえば、メモリ２９に保持された全ての印刷ジョブを外部記憶媒体３０にスワップアウトする構成とすれば、メモリ２９のリソースを最大限確保することができる。この場合、上記ステップＳ３１１〜３１２の処理を省略する。
【００７７】
以上、本処理フローによれば、着脱可能な外部記憶媒体を備え、受信完了を待つ間に印刷処理部２４による入れ替え先ジョブを処理する順番が回ってきた場合には、メモリ２９に保持された少なくとも１つの印刷ジョブを外部記憶媒体にスワップアウトすることで、メモリ２９のリソース不足による印刷順序の変更が行われないという状況を防ぐことができ、メモリ２９の空き記憶領域を確保することができることから、メモリ２９の記憶容量の制約を解消することができる。
【００７８】
＜変形例＞
以上のように本発明の好適な実施形態について説明したが、本発明は、以上の実施形態に限定されるべきものではなく、特許請求の範囲に表現された思想および範囲を逸脱することなく、種々の変形、追加、および省略が当業者によって可能である。
【００７９】
たとえば、上記実施形態では、ジョブ処理装置としての印刷装置の例について説明したが、本発明はこれに限られず、ジョブ処理待ち行列を用いる種々のジョブ処理装置、たとえば、複合機やコピー機、ＦＡＸ機などの装置に適用することができる。なお、たとえば、複合機やコピー機はスキャナ装置からジョブを受信し、ＦＡＸ機は外部ＦＡＸ機からジョブを受信することができる。
【００８０】
また、上記実施形態において、ジョブ管理部による処理順序の変更結果を表示する表示部を備える場合を例にとって説明したが、本発明はこれに限られず、たとえば、処理順序の変更の成功の有無を音声により伝達する音源を備えてもよい。
【００８１】
さらに、上記実施形態において、印刷装置２０には、用途に応じた各部が備えられているが、これら各部は、そのいくつかを一纏めにして構成されていてもよいし、一つの部をさらに複数の部に分割して構成されていてもよい。
【００８２】
さらに、上記実施形態では、印刷装置２０において、それぞれの処理機能を有する各部が備えられている構成を説明したが、本発明はこれに限られず、各部がユーザ端末１０や印刷装置２０と通信可能に接続されたネットワーク上に又は他の装置に備えて構成することもできる。
【符号の説明】
【００８３】
１  印刷システム、１０  ユーザ端末、２０  印刷装置、２１  受信部、２２  言語解釈部、２３  ジョブ管理部、２４  印刷処理部、２５  ジョブ廃棄処理部、２６  受付部、２７  表示部、２８  メモリリソース管理部、２９  メモリリソース、２０１  プリンタエンジン、２０２  プリンタコントローラ、２０３  操作ユニット。
【図１】
0005610368.tif 000002
【図２】
0005610368.tif 000003
【図３】
0005610368.tif 000004
【図４】
0005610368.tif 000005
【図５】
0005610368.tif 000006
【図６】
0005610368.tif 000007
【図７】
0005610368.tif 000008
【図８】
0005610368.tif 000009
【図９】
0005610368.tif 000010
【図１０】
0005610368.tif 000011