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