(57)【要約】【課題】処理中のジョブをキャンセルせずに後のジョブを優先して処理することが可能な画像形成装置等を提供する。【解決手段】入力データに係る情報の並び順により出力順序を記憶する出力順記憶部５２１と、入力データの出力の優先度を決定する優先度決定部５２２と、決定された優先度に応じて出力順序を変更する出力順変更部５２３と、入力データの画像展開を行う複数のＰＤＬ解釈部５３ａ，５３ｂ，５３ｃと、ＰＤＬ解釈部を制御するＰＤＬ制御部５２４とを有し、決定された優先度が画像展開中のデータより高い場合に、ＰＤＬ制御部５２４は、ＰＤＬ解釈部の割り込み処理への対応状況を検出し、出力順変更部５２３は、割り込み処理に対応している場合には画像展開中のデータよりも先に、割り込み処理に対応していない場合には画像展開中のデータの後に、入力データが画像展開されるよう出力順序を変更する。【選択図】図３
2008254346.tif 000002
【特許請求の範囲】
【請求項１】
入力データに基づいて画像を形成する画像形成装置であって、
前記入力データに係る情報を記憶し、前記情報の並び順により出力順序を記憶する出力順記憶手段と、
前記入力データに対して出力の優先度を決定する優先度決定手段と、
該優先度決定手段により決定された優先度に応じて前記出力順記憶手段に記憶された出力順序を変更する出力順変更手段と、
前記入力データに対して画像展開を行う複数のＰＤＬ解釈手段と、
前記出力順記憶手段に記憶された出力順序に従って画像展開を行うよう前記複数のＰＤＬ解釈手段を制御するＰＤＬ制御手段とを有し、
前記入力データに対して前記優先度決定手段により決定された優先度が、前記複数のＰＤＬ解釈手段のうちの少なくとも１つのＰＤＬ解釈手段で画像展開中のデータよりも高い場合に、
前記ＰＤＬ制御手段は、前記少なくとも１つのＰＤＬ解釈手段が割り込み処理に対応しているかどうかを検出し、
前記出力順変更手段は、前記入力データが、前記少なくとも１つのＰＤＬ解釈手段が割り込み処理に対応している場合には前記画像展開中のデータよりも先に、前記少なくとも１つのＰＤＬ解釈手段が割り込み処理に対応していない場合には前記画像展開中のデータの後に、前記複数のＰＤＬ解釈手段のうちの他のＰＤＬ解釈手段によって画像展開されるよう前記出力順記憶手段に記憶された出力順序を変更する、画像形成装置。
【請求項２】
前記ＰＤＬ解釈手段は、前記割り込み処理に対応しているかどうかを示す項目を含む設定ファイルを有し、
前記ＰＤＬ制御手段は、前記設定ファイルに含まれる前記項目に基づいて前記ＰＤＬ解釈手段が前記割り込み処理に対応しているかどうかを検出する、請求項１記載の画像形成装置。
【請求項３】
前記出力順記憶手段に記憶された前記出力順序に従って、前記複数のＰＤＬ解釈手段の夫々による画像展開の結果得られた画像データを出力する出力制御手段を更に有し、
前記入力データに対して前記優先度決定手段により決定された優先度が、前記出力制御手段によって出力中の画像データよりも高い場合に、
前記出力順変更手段は、前記出力順記憶手段に記憶された情報から、前記出力制御手段による画像データの出力のために使用中の特定のリソースが前記入力データに基づく画像データの出力のために使用されることを検出した場合には前記出力中の画像データの後に、前記特定のリソースが前記入力データに基づく画像データの出力のために使用されないことを検出した場合には前記出力中の画像データのよりも先に、前記入力データに基づく画像データが出力されるように、前記出力順記憶手段に記憶された出力順序を変更する、請求項１又は２記載の画像形成装置。
【請求項４】
前記出力順変更手段は、前記複数のＰＤＬ解釈手段の夫々による画像展開の結果得られた画像データからしか前記特定のリソースが前記入力データに基づく画像データの出力のために使用されるかどうかを検出できない場合には、必ず前記出力制御手段によって出力中の画像データの後に前記入力データに基づく画像データが出力されるように、前記出力順記憶手段に記憶された出力順序を変更する、請求項３記載の画像形成装置。
【請求項５】
前記出力制御手段は、前記出力順変更手段が、前記特定のリソースが前記入力データに基づく画像データの出力ために使用されることを検出した場合に、前記使用中の特定のリソースを解放し、
前記出力順変更手段は、前記出力中の画像データよりも先に前記入力データに基づく画像データが出力されるように、前記出力順記憶手段に記憶された出力順序を変更する、請求項３記載の画像形成装置。
【請求項６】
前記出力順変更手段は、前記出力順記憶手段に記憶された情報から、前記出力制御手段によって出力中の画像データが、並行して前記複数のＰＤＬ解釈手段によって画像展開されているデータに基づくことを検出する場合に、前記出力中の画像データの出力の後に前記入力データに基づく画像データが出力されるように、前記出力順記憶手段に記憶された出力順序を変更する、請求項３乃至５のうちいずれか一項記載の画像形成装置。
【請求項７】
前記出力順記憶手段に記憶された出力順序に従って、前記複数のＰＤＬ解釈手段の夫々による画像展開を一時停止するための第１の一時停止要求を前記ＰＤＬ制御手段へ送信し、前記出力制御部による画像データの出力を一時停止するための第２の一時停止要求を前記出力制御部へ送信する要求送信手段を更に有し、
該要求送信手段は、前記第１の一時停止要求及び前記第２の一時停止要求を同時に又は連続して送信する、請求項３乃至６のうちいずれか一項記載の画像形成装置。
【請求項８】
前記ＰＤＬ制御手段が、前記少なくとも１つのＰＤＬ解釈手段が割り込み処理に対応していることを検出する場合に、
前記要求送信手段は、前記ＰＤＬ制御手段に前記第1の一時停止要求を送信し、
前記ＰＤＬ制御手段は、前記第1の一時停止要求に応じて前記少なくとも１つのＰＤＬ解釈手段による画像展開を停止して、前記他のＰＤＬ解釈手段によって前記入力データを画像展開し、
前記ＰＤＬ制御手段が、前記少なくとも１つのＰＤＬ解釈手段が割り込み処理に対応していないことを検出する場合に、
前記ＰＤＬ制御手段は、前記第１の少なくとも１つのＰＤＬ解釈手段による画像展開が終了した後に、前記他のＰＤＬ解釈手段によって前記入力データを画像展開する、請求項７記載の画像形成装置。
【請求項９】
入力データに基づいて画像を形成する画像形成装置のおけるプログラムであって、
コンピュータに、
前記入力データが入力された順を出力順序とする出力順序決定ステップと、
前記入力データに対して出力の優先度を決定する優先度決定ステップと、
該優先度決定ステップで決定された優先度に応じて前記出力順序決定ステップで決定された出力順序を変更する出力順変更ステップと、
該出力順変更ステップで変更された出力順序に従って前記入力データに対して画像展開を行うＰＤＬ解釈ステップとを実行させ、
前記優先度決定ステップで前記入力データに対して決定された優先度が、前記ＰＤＬ解釈ステップで画像展開中のデータよりも高い場合に、
前記ＰＤＬ解釈ステップによる画像展開が一時停止可能であるかどうかを検出する検出ステップを更に実行させ、
前記出力順変更ステップは、前記入力データが、前記ＰＤＬ解釈ステップによる画像展開が一時停止可能である場合には前記画像展開中のデータよりも先に、前記ＰＤＬ解釈ステップによる画像展開が一時停止不可能である場合には前記画像展開中のデータの後に、前記ＰＤＬ解釈ステップで画像展開されるよう前記出力順序決定ステップで決定された出力順序を変更する、プログラム。
【請求項１０】
請求項１０記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、割り込み処理を行うことができる画像形成装置、そのような画像形成装置におけるプログラム及びその記録媒体に関する。
【背景技術】
【０００２】
従来、プリンタ等の画像形成装置において、印刷ジョブ実行中に別の印刷要求を受け付けた場合に、その印刷要求に対応するジョブは、既に受け付け済みのジョブが全て完了した後に実行される。即ち、緊急に印刷を行いたい場合には、既に受け付け済みで、まだ完了していない前のジョブをキャンセルしなければならない。従って、既に受け付け済みのジョブをキャンセルせずに、指定したジョブを優先して印刷できるようにする必要がある。
【０００３】
例えば、特開２００３−１１８２０９号公報（特許文献１参照。）には、必要なジョブ種に対しては、個々の優先度を付けたジョブよりも更に優先して実行できるようにしたジョブ管理装置が開示されている。特許文献１で開示されたジョブ管理装置は、複数のジョブを管理するジョブ管理装置であって、個々のジョブに対して優先的に実行させるジョブを指定する優先ジョブ指定手段と、この優先ジョブ指定手段により指定されたジョブよりも優先するジョブを登録する最優先ジョブ登録手段とを有する。
【特許文献１】特開２００３−１１８２０９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかし、特許文献１のジョブ管理装置は、ジョブに優先度を付けることで実行順を変えることができるが、実際の画像形成装置では、ＰＤＬ（Ｐａｇｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）の画像展開中に別のジョブが割り込んでＰＤＬ処理を開始することは困難であるという問題がある。
【０００５】
また、ＰＤＬモジュールはオプションとして提供される場合が多く、モジュールのバージョンによっては割り込み処理に対応していないものもあるという問題がある。その他にも、画像形成装置は、様々な制約の中で動作しており、割り込み処理を即座に行うことが困難である場合もある。
【０００６】
従って、本発明は、上記問題を鑑みて、動作状態及び機能により割り込み処理の実行に制約がある場合にも、処理中のジョブをキャンセルせずに後のジョブを優先して処理することを可能にする画像形成装置、プログラム及び記録媒体を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するために、本発明の画像形成装置は、入力データに基づいて画像を形成する画像形成装置であって、前記入力データに係る情報を記憶し、前記情報の並び順により出力順序を記憶する出力順記憶手段と、前記入力データに対して出力の優先度を決定する優先度決定手段と、該優先度決定手段により決定された優先度に応じて前記出力順記憶手段に記憶された出力順序を変更する出力順変更手段と、前記入力データに対して画像展開を行う複数のＰＤＬ解釈手段と、前記出力順記憶手段に記憶された出力順序に従って画像展開を行うよう前記複数のＰＤＬ解釈手段を制御するＰＤＬ制御手段とを有し、前記入力データに対して前記優先度決定手段により決定された優先度が、前記複数のＰＤＬ解釈手段のうちの少なくとも１つのＰＤＬ解釈手段で画像展開中のデータよりも高い場合に、前記ＰＤＬ制御手段は、前記少なくとも１つのＰＤＬ解釈手段が割り込み処理に対応しているかどうかを検出し、前記出力順変更手段は、前記入力データが、前記少なくとも１つのＰＤＬ解釈手段が割り込み処理に対応している場合には前記画像展開中のデータよりも先に、前記少なくとも１つのＰＤＬ解釈手段が割り込み処理に対応していない場合には前記画像展開中のデータの後に、前記複数のＰＤＬ解釈手段のうちの他のＰＤＬ解釈手段によって画像展開されるよう前記出力順記憶手段に記憶された出力順序を変更する。
【０００８】
これにより、動作状態及び機能により割り込み処理の実行に制約がある場合にも、処理中のジョブをキャンセルせずに後のジョブを優先して処理することを可能にする画像形成装置を提供することができる。特に、オプションとして提供されるＰＤＬモジュールを含むＰＤＬ解釈手段が割り込み処理に対応していない場合に、ＰＤＬ解釈部で実行中のＰＤＬ解釈処理が終了した後に優先度が高いジョブが処理されるよう出力順序を制御することにより、優先度が高い後のジョブを先に処理することができる。
【０００９】
望ましくは、本発明の画像形成装置において、前記ＰＤＬ解釈手段は、前記割り込み処理に対応しているかどうかを示す項目を含む設定ファイルを有し、前記ＰＤＬ制御手段は、前記設定ファイルに含まれる前記項目に基づいて前記ＰＤＬ解釈手段が前記割り込み処理に対応しているかどうかを検出する。
【００１０】
これにより、ＰＤＬ解釈部が割り込み処理に対応しているかどうかを予め知ることが可能となり、未対応であると判断される場合には、無駄なイベントの発生を回避するために、ＰＤＬ解釈部に対して一時停止要求を行わないようにすることができる。
【００１１】
望ましくは、本発明の画像形成装置は、前記出力順記憶手段に記憶された前記出力順序に従って、前記複数のＰＤＬ解釈手段の夫々による画像展開の結果得られた画像データを出力する出力制御手段を更に有し、前記入力データに対して前記優先度決定手段により決定された優先度が、前記出力制御手段によって出力中の画像データよりも高い場合に、前記出力順変更手段は、前記出力順記憶手段に記憶された情報から、前記出力制御手段による画像データの出力のために使用中の特定のリソースが前記入力データに基づく画像データの出力のために使用されることを検出した場合には前記出力中の画像データの後に、前記特定のリソースが前記入力データに基づく画像データの出力のために使用されないことを検出した場合には前記出力中の画像データのよりも先に、前記入力データに基づく画像データが出力されるように、前記出力順記憶手段に記憶された出力順序を変更する。
【００１２】
これにより、ＰＤＬ解釈処理の終了又は一時停止時点に実行中の印刷出力処理が一時停止不可能な場合であっても、その印刷出力処理が終了した後に優先度が高いジョブが処理されるよう出力順序を制御することで、優先度が高い後のジョブを先に処理することができる。
【００１３】
更に望ましくは、本発明の画像形成装置において、前記出力順変更手段は、前記複数のＰＤＬ解釈手段の夫々による画像展開の結果得られた画像データからしか前記特定のリソースが前記入力データに基づく画像データの出力のために使用されるかどうかを検出できない場合には、必ず前記出力制御手段によって出力中の画像データの後に前記入力データに基づく画像データが出力されるように、前記出力順記憶手段に記憶された出力順序を変更する。
【００１４】
これにより、ジョブの印刷条件をＰＤＬ解釈部によって処理をなされた結果からしか知ることができないために、優先度が高いジョブに対するＰＤＬ解釈処理の開始前に、実行中の印刷出力処理が一時停止不可能であるかどうかを検出できない場合でさえ、優先度が高い後のジョブを先に処理することを保証できる。
【００１５】
更に望ましくは、本発明の画像形成装置において、前記出力制御手段は、前記出力順変更手段が、前記特定のリソースが前記入力データに基づく画像データの出力ために使用されることを検出した場合に、前記使用中の特定のリソースを解放し、前記出力順変更手段は、前記出力中の画像データよりも先に前記入力データに基づく画像データが出力されるように、前記出力順記憶手段に記憶された出力順序を変更する。
【００１６】
これにより、前のジョブに関してはその印刷条件に従った印刷結果が保証されなくなるが、優先度が高いジョブに関しては、印刷出力処理が一時停止不可能であるかどうかに関わらず、その印刷出力処理を最短で割り込ませることができる。
【００１７】
また、更に望ましくは、本発明の画像形成装置において、前記出力順変更手段は、前記出力順記憶手段に記憶された情報から、前記出力制御手段によって出力中の画像データが、並行して前記複数のＰＤＬ解釈手段によって画像展開されているデータに基づくことを検出する場合に、前記出力中の画像データの出力の後に前記入力データに基づく画像データが出力されるように、前記出力順記憶手段に記憶された出力順序を変更する。
【００１８】
これにより、画像形成装置がデッドロックに陥ることを回避しながら、優先度が高いジョブを次のジョブとして割り込ませることができる。
【００１９】
また、更に望ましくは、本発明の画像形成装置は、前記出力順記憶手段に記憶された出力順序に従って、前記複数のＰＤＬ解釈手段の夫々による画像展開を一時停止するための第１の一時停止要求を前記ＰＤＬ制御手段へ送信し、前記出力制御部による画像データの出力を一時停止するための第２の一時停止要求を前記出力制御部へ送信する要求送信手段を更に有し、該要求送信手段は、前記第１の一時停止要求及び前記第２の一時停止要求を同時に又は連続して送信する。
【００２０】
これにより、ＰＤＬ解釈処理又は印刷出力処理のいずれかが一時停止できない状態で他の処理が終了してしまう場合にも、いずれの処理に対しても停止要求が行われていることによって次のジョブの処理開始は必ず待機状態となり、優先度が高いジョブを次のジョブとして割り込ませることが保証される。
【００２１】
また、更に望ましくは、本発明の画像形成装置において、前記ＰＤＬ制御手段が、前記少なくとも１つのＰＤＬ解釈手段が割り込み処理に対応していることを検出する場合に、前記要求送信手段は、前記ＰＤＬ制御手段に前記第1の一時停止要求を送信し、前記ＰＤＬ制御手段は、前記第1の一時停止要求に応じて前記少なくとも１つのＰＤＬ解釈手段による画像展開を停止して、前記他のＰＤＬ解釈手段によって前記入力データを画像展開し、前記ＰＤＬ制御手段が、前記少なくとも１つのＰＤＬ解釈手段が割り込み処理に対応していないことを検出する場合に、前記ＰＤＬ制御手段は、前記第１の少なくとも１つのＰＤＬ解釈手段による画像展開が終了した後に、前記他のＰＤＬ解釈手段によって前記入力データを画像展開する。
【００２２】
これにより、ＰＤＬ解釈部が割り込み処理に対応していない場合でさえ、画像形成装置がデッドロックに陥ることを回避しながら、優先度が高いジョブを次のジョブとして割り込ませることが保証される。
【００２３】
上記目的を達成するために、本発明のプログラムは、入力データに基づいて画像を形成する画像形成装置のおけるプログラムであって、コンピュータに、前記入力データが入力された順を出力順序とする出力順序決定ステップと、前記入力データに対して出力の優先度を決定する優先度決定ステップと、該優先度決定ステップで決定された優先度に応じて前記出力順序決定ステップで決定された出力順序を変更する出力順変更ステップと、該出力順変更ステップで変更された出力順序に従って前記入力データに対して画像展開を行うＰＤＬ解釈ステップとを実行させ、前記優先度決定ステップで前記入力データに対して決定された優先度が、前記ＰＤＬ解釈ステップで画像展開中のデータよりも高い場合に、前記ＰＤＬ解釈ステップによる画像展開が一時停止可能であるかどうかを検出する検出ステップを更に実行させ、前記出力順変更ステップは、前記入力データが、前記ＰＤＬ解釈ステップによる画像展開が一時停止可能である場合には前記画像展開中のデータよりも先に、前記ＰＤＬ解釈ステップによる画像展開が一時停止不可能である場合には前記画像展開中のデータの後に、前記ＰＤＬ解釈ステップで画像展開されるよう前記出力順序決定ステップで決定された出力順序を変更する。
【００２４】
これにより、画像形成装置において、動作状態及び機能により割り込み処理の実行に制約がある場合にも、処理中のジョブをキャンセルせずに後のジョブを優先して処理することを可能にするプログラムを提供することができる。
【００２５】
上記目的を達成するために、本発明のプログラムは、コンピュータ読み取り可能な記録媒体に記録されても良い。
【発明の効果】
【００２６】
本発明により、動作状態及び機能により割り込み処理の実行に制約がある場合にも、処理中のジョブをキャンセルせずに後のジョブを優先して処理することが可能な画像形成装置を提供することが可能となる。
【発明を実施するための最良の形態】
【００２７】
以下、本発明の実施の形態を、添付の図面を参照して説明する。
【００２８】
図１は、本実施形態に従う画像形成装置を含む画像形成システムの構成例である。
【００２９】
図1の画像形成システム１において、画像形成装置１１は、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）等のネットワーク１３を介して、パーソナルコンピュータ（ＰＣ）及びサーバー等のホスト端末１２ａ及び１２ｂへ接続されている。画像形成装置１１は、また、ネットワーク１３を介して、ＰＣ１２ａ及び１２ｂの夫々との間でデータの送受信をすることができる。
【００３０】
図２は、本実施形態に従う画像形成装置の一例としてのレーザプリンタのハード構成を示すブロック図である。
【００３１】
図２のプリンタ１１は、図１に示したようにネットワークを介してホスト端末１２へ接続されており、印刷出力を実行するためのプリンタエンジン２１と、ユーザによる画像形成装置の操作及び設定、並びにユーザへのプリンタ状態等の表示を行う操作パネル２２と、これらを制御するコントローラ２３とを有する。
【００３２】
コントローラ２３は、更に詳細に述べると、予め設定された制御モード及びホスト端末１２から送信された制御コードに従って、ホスト端末１２から送信された文書データを画像データに変換してプリンタエンジン２１へ出力する制御機構であって、外部インターフェース３１と、プログラム記憶部３２と、フォント記憶部３３と、制御部３４と、一時記憶部３５と、バックアップ記憶部３６と、エンジンインターフェース３７と、パネルインターフェース３８とを有する。
【００３３】
外部インターフェース３１は、ホスト端末１２からコマンド及びデータを受信し、且つ、ホスト端末１２へステータス信号を送信する送受信手段である。
【００３４】
プログラム記憶部３２は、コントローラ２３の内部におけるデータ管理及び周辺モジュールの制御のためのプログラムを記憶する記憶手段である。フォント記憶部３３は、印刷に使用される様々な種類のフォントを記憶する記憶手段である。プログラム記憶部３２及びフォント記憶部３３は、例えば、読み出し専用メモリ（ＲＯＭ）が用いられる。
【００３５】
制御部３４は、プログラム記憶部３２に記憶されたプログラムに従って、ホスト端末１２からのデータを処理する手段であり、例えば、中央演算処理装置（ＣＰＵ）に含まれる。
【００３６】
一時記憶部３５は、制御部３４の処理動作時のワークメモリ、ホスト端末１２からのデータをページ単位に管理して一時記憶するバッファ、及び、バッファに記憶されたデータを実際の印刷パターンに変換して、画像データを記憶するビットマップメモリ等として用いられる記憶手段であり、例えば、ランダム・アクセス・メモリ（ＲＡＭ）が用いられる。
【００３７】
バックアップ記憶部３６は、プリンタ１１の電源を切った後にも保持されるべきデータを記憶する記憶手段であり、例えば、不揮発性ＲＡＭが用いられる。
【００３８】
エンジンインターフェース３７は、プリンタエンジン２１へ制御信号を送信し、且つ、プリンタエンジン２１からステータス信号を受信する送受信手段である。
【００３９】
パネルインターフェース３８は、プリンタ１１の状態、制御モード及びフォント等の切り替えを行うための信号を操作パネル２２とやり取りする送受信手段である。
【００４０】
コントローラ２３は、更に、オプション記憶部３９を有しても良い。
【００４１】
プリンタ１１の上記構成要素の夫々は、内部共通バスによって接続されている。
【００４２】
外部インターフェース３１を介してホスト端末１２から受信したデータは、制御部３４によって印刷データ及び印刷制御データとその他のデータとに分けられる。印刷データ及び印刷制御データは、制御コードに変換されて一時記憶部３５に記憶される。ホスト端末１２から受信したプリント命令及びデータが１頁分を超えている場合に、制御部３４は、最初に制御コードを画像データに変換し、その後、エンジンインターフェース３７を介してプリンタエンジン２１へ印刷開始命令を出す。このようにして、プリンタ１１は、ホスト端末１２から受信した文書データをプリンタエンジン２１により印刷する。プリンタエンジン２１は、コントローラ２３から受信した画像データ及び制御信号に基づいて感光体上に静電潜像を作って現像し、給紙部より転写紙を給紙し、転写及び定着を行って画像を形成する。
【００４３】
次に、図３は、本実施形態の画像形成装置のモジュール構成図の一例を示す。
【００４４】
図３において、画像形成装置は、図１のようにネットワークを介してホスト端末との間でデータの送受信を行うための通信媒体４１と、印刷出力を実行するためのプリンタエンジン４２と、ユーザによる画像形成装置の操作及び設定並びにユーザへの画像形成装置の状態等の表示のための操作パネル４３と、これらを制御するコントローラ４４とを有する。通信媒体４１、エンジン４２、操作パネル４３及びコントローラ４４は、共通バスによって接続されている。
【００４５】
コントローラ４４は、通信制御部５１と、ジョブ管理部５２と、ＰＤＬ解釈部５３ａ、５３ｂ及び５３ｃと、システム管理部５４と、メモリ制御部５５と、エンジン制御部５６と、パネル制御部５７と、パネル管理部５８とを有する。
【００４６】
通信制御部５１は、入力部５１１を有し、これにより通信媒体４１を介してホスト端末から送信されたデータを受信する。また、通信制御部５１は、通信プロトコル及び印刷プロトコルを解釈し、解釈した結果得られた通信ポート番号及びプリンタ名等のパラメータと、ホスト端末から送信されたＰＤＬデータとをジョブ管理部５２へ送信する。
【００４７】
ジョブ管理部５２は、通信制御部５１より送信された優先度決定パラメータを基に優先度を決定し、それを反映するようジョブの処理順序を変更し、処理順序の変更に応じてＰＤＬ解釈部５３ａ、５３ｂ及び５３ｃの夫々を制御する制御部であって、出力順記憶部５２１と、優先度決定部５２２と、出力順変更部５２３と、ＰＤＬ制御部５２４と、要求送信部５２５とを有する。出力順記憶部５２１は、入力部５１１によるデータの受信順に従って出力順序を記憶する手段である。優先度決定部５２２は、通信制御部５１から受信した優先度決定パラメータを基に優先度を決定する手段である。出力順変更部５２３は、優先度決定部５２２により決定された優先度に従って、出力順記憶部５２１に記憶された出力順序を変更する手段である。ＰＤＬ制御部５２４は、出力順記憶部５２１に記憶された出力順序に従ってＰＤＬ解釈部５３ａ、５３ｂ及び５３ｃの夫々を制御する手段である。要求送信部５２５は、出力順記憶部５２１に記憶された出力順序に従って優先度が高いジョブが先に処理されるよう、ＰＤＬ制御部５２４及びエンジン制御部５６の夫々へ、ジョブの開始要求又は停止要求を送信する手段である。
【００４８】
ジョブ管理部５２は、通信制御部５１よりデータ等が送信されると、最初に、通信制御部５１から送信されたデータの出力順序を、入力部５１１によるデータの受信順として、一時的に出力順記憶部５２１に記憶する。次に、優先度決定部５２２により、ホスト端末より印刷要求のあったデータの出力に関する優先度が決定され、これに応じて、出力順記憶部５２１に記憶された出力順序は、出力順変更部５２３により変更される。出力順記憶部５２１に記憶されている出力順序が変更された場合には、ＰＤＬ制御部５２４は、変更後の出力順序に対応するようＰＤＬ解釈部５３ａ、５３ｂ及び５４ｄの夫々を制御する。例えば、出力順序が変更された結果、通信制御部５１から受信した新たなＰＤＬデータがその時点で第１のＰＤＬ解釈部５３ａにより処理されているデータよりも前に印刷されることになったならば、要求送信部５２５は、ＰＤＬ制御部５２４に対して、第１のＰＤＬ解釈部５３ａで実行中のＰＤＬ解釈処理を停止して、出力順序が先である新たなＰＤＬデータのＰＤＬ解釈処理を先に実行するよう第２のＰＤＬ解釈部５３ｂを制御するよう一時停止要求及び処理開始要求を送信する。これを受けて、ＰＤＬ制御部５２４は、第１のＰＤＬ解釈部５３ａで実行中のＰＤＬ解釈処理を一時停止して、出力順序が先である新たなＰＤＬデータのＰＤＬ解釈処理を第２のＰＤＬ解釈部５３ｂに実行させる。その後、ＰＤＬ制御部５２４は、第２のＰＤＬ解釈部５３ｂによる処理が終了した後に、処理を再開するよう第１のＰＤＬ解釈部５３ａを制御する。
【００４９】
ＰＤＬ解釈部５３ａ、５３ｂ及び５３ｃは、通信制御部５１からジョブ管理部５２を介して送信されたＰＤＬデータを解釈して、その結果を画像データとしてジョブ管理部５２に返す。なお、ＰＤＬ解釈部は、優先度が取り得るレベルの数だけ構成される。即ち、本実施形態では、優先度が０、１、２の３段階のレベルを取るので、ＰＤＬ解釈部は３つで構成されている。なお、優先度は、数字が大きいほど高いとする。
【００５０】
システム管理部５４は、ジョブ管理部５２からの要求に応じて、ＰＤＬ解釈部５３ａ、５３ｂ及び５３ｃの夫々の停止及び再開を制御する。また、システム管理部５４は、ＰＤＬ解釈部５３ａ、５３及び５３ｃの夫々に対応した印刷パラメータを保存するための印刷パラメータ保存部５４１を有する。
【００５１】
メモリ制御部５５は、ＰＤＬ解釈部５３ａ、５３ｂ及び５３ｃからジョブ管理部５２を介して出力された画像データを保存する。
【００５２】
エンジン制御部５６は、ジョブ管理部５２の出力順記憶部５２１に記憶された出力順序に従って、メモリ制御部５５に保存されている画像データを印刷するようエンジン４２を制御するための出力制御部５６１を有する。
【００５３】
パネル制御部５７は、パネル管理部５８の指示に従って操作パネル４３を制御する。パネル管理部５８は、パネル制御部５７を介して、操作パネル４３において設定メニューの表示及びエンジン状態の表示等を行う。
【００５４】
以下、具体的な実施例を挙げて、図１〜３を参照して説明した本実施形態に従う画像形成装置の動作について説明する。
【実施例１】
【００５５】
図４は、本実施例に従って、出力順序変更前後における図３の出力順記憶部５２１のデータ構成の一例を示す。
【００５６】
出力順記憶部５２１は、図４に示すようなデータの状態を管理するテーブルを有する。テーブルの列毎に夫々のデータの状態が表され、夫々の列は、例えば、データを識別するためのＩＤ（Ｉｄｅｎｔｉｆｉｃａｔｉｏｎ  Ｄａｔａ）、通信制御部５１より送信されたＲａｗポート印刷のポート番号を表す通信ポート、優先度決定部５２２により決定された出力の優先度、ＰＤＬ解釈部５３ａ、５３ｂ及び５３ｃによるＰＤＬ解釈処理の状態、及びＰＤＬ解釈処理のためにデータが割り当てられているＰＤＬ解釈部の番号、等の情報を有する。なお、図４に示される例では、出力順序は、テーブル内の並び順として記憶されているとする。また、優先度は、０〜Ｎ−１の値で示され（Ｎ：ＰＤＬ解釈部の個数）、上述したように、数字が大きいほど高い。
【００５７】
図４（ａ）において、テーブルは、ＩＤ＝１、２、３・・・により識別されるデータの情報が、ＩＤ＝１、２、３・・・の順に格納されている。ＩＤ＝１に対応するデータは、優先度＝１であり、第１のＰＤＬ解釈部５３ａにおいてＰＤＬ解釈処理を実行されている。ＩＤ＝２に対応するデータは、優先度＝０であり、処理待ち状態である。ＩＤ＝３に対応するデータは、優先度＝２であり、同じく処理待ち状態である。
【００５８】
図４（ａ）のようなテーブル内の並び順により記憶された出力順序が、出力順変更部５２３によりそれらの優先度に従って変更される場合、出力順記憶部５２１のテーブルは、図４（ｂ）のようにデータが書き換えられる。出力順序の変更後、ＩＤ＝１、２、３・・・により識別されるデータの情報は、ＩＤ＝３、１、２・・・の順に並べ替えられる。優先度＝２であるＩＤ＝３に対応するデータは、第２のＰＤＬ解釈部５３ｂにおいてＰＤＬ解釈処理を実行されている。次に、優先度＝１であるＩＤ＝１に対応するデータは、出力順序の変更前に実行されていた第１のＰＤＬ解釈部５３ａによる処理が一時停止されている。最後に、優先度＝０であるＩＤ＝２に対応するデータは、出力順序変更前に引き続き、やはり処理待ち状態である。
【００５９】
このような出力順序変更は、出力順変更部５２３及びＰＤＬ制御部５２４により実行される。図５に、本実施例に従う出力順序変更フローを一例として示す。
【００６０】
通信制御部５１よりジョブ管理部５２へ新たなデータが送信されると、送信されたデータにＩＤ（＝Ｓ）が付与され、出力順記憶部５２１は、データに付与されたＩＤと共にそのデータに係る情報を図４（ａ）のようなテーブル形式で記憶する。このとき、ＩＤ＝Ｓに対応するデータに係る情報は、出力順記憶部５２１の最後尾に記憶され、また、優先度に関しては、まだ決定されていない。
【００６１】
出力順記憶部５２１に情報が記憶されると、ステップＳ１０１において、優先度決定部５２２は、通信制御部５１より送信された優先度決定パラメータを入力として、優先度決定テーブルから新たに送信されたデータの優先度Ｐを決定する。優先度決定テーブルについての詳細は後述する。
【００６２】
優先度Ｐの決定後、ステップＳ１０２において、出力順変更部５２３は、出力順記憶部５２１の先頭から順に、ステップＳ１０１で決定された優先度Ｐよりも低い優先度を有するデータを検索する。ステップＳ１０３において優先度Ｐよりも低い優先度を有するデータが見つかった場合には（このデータのＩＤをＴとする。）、ステップＳ１０４に進み、出力順変更部５２３は、ＩＤ＝Ｓに対応するデータに関する情報を、出力順記憶部５２１の最後尾から削除し、ＩＤ＝Ｔに対応するデータに関する情報の直前に挿入する。このとき、ＩＤ＝Ｔに対応するデータに関する情報が出力順記憶部５２１の先頭に記憶されている場合には、要求送信部５２５は、ＩＤ＝Ｔに対応するデータの出力処理を停止するようエンジン制御部５６に要求する。その後、ステップＳ１０５に進む。
【００６３】
ステップＳ１０３において優先度Ｐよりも低い優先度を有するデータが見つからなかった場合には、ステップＳ１０４を介さずに直接的にステップＳ１０５に進む。ステップＳ１０５において、要求送信部５２５は、出力順記憶部５２１の先頭から順に、状態が"処理中"であるデータを検索する。即ち、いずれかのＰＤＬ解釈部により現在ＰＤＬ解釈処理を実行されているデータを検索する。ステップＳ１０６において状態が"処理中"であるデータが見つかった場合には（このデータのＩＤをＵとする。）、ステップＳ１０７に進み、要求送信部５２５は、更に、そのデータの優先度がステップＳ１０１で決定された優先度Ｐよりも低いか否かを判断する。優先度がＰよりも高い場合には、ステップＳ１０９に進み、低い場合には、ステップＳ１１０に進む。ステップＳ１０９において、要求送信部５２５は、今回新たに入力されたＩＤ＝Ｓに対応するデータを保留とする。即ち、このデータの状態は、"処理待ち"となる。一方、ステップＳ１１０では、要求送信部５２５は、ＰＤＬ制御部５２４に対して、現在ＩＤ＝Ｕに対応するデータに対して実行中のＰＤＬ解釈処理を停止するよう一時停止要求を送信するするとともに、今回新たに入力されたＩＤ＝Ｓに対応するデータのＰＤＬ解釈処理を開始するようＰＤＬ解釈開始要求を送信する。これを受けて、ＰＤＬ制御部５２４は、ＰＤＬ解釈部５３ａ又は５３ｂにおいて現在ＩＤ＝Ｕに対応するデータに対して実行中のＰＤＬ解釈処理を一時停止して、今回新たに入力されたＩＤ＝Ｓに対応するデータのＰＤＬ解釈処理を実行するようＰＤＬ解釈部５３ｂ又は５３ｃを制御する。このとき、ＩＤ＝Ｕに対応するデータの状態は、"処理中"から"一時停止中"となり、ＩＤ＝Ｓに対応するデータの状態は、"処理中"となる。
【００６４】
また、ステップＳ１０６において状態が"処理中"であるデータが見つからなかった場合には、ステップＳ１０８に進み、要求送信部５２５は、ＰＤＬ制御部５２４に対して、今回新たに入力されたＩＤ＝Ｓに対応するデータのＰＤＬ解釈処理を開始するようＰＤＬ解釈開始要求を送信する。これを受けて、ＰＤＬ制御部５２４は、今回新たに入力されたＩＤ＝Ｓに対応するデータのＰＤＬ解釈処理を実行するようＰＤＬ解釈部５３ａを制御する。このとき、このデータの状態は、"処理中"となる。
【００６５】
次に、あるデータに対して実行されていたＰＤＬ解釈処理が終了した場合のＰＤＬ制御部５２４の動作について、図６を参照して説明する。図６は、ＰＤＬ解釈処理終了後のジョブ管理部の動作フローの一例を示す。
【００６６】
あるデータに対して実行されていたＰＤＬ解釈処理が終了すると、ステップＳ２０１において、ＰＤＬ制御部５２４は、ＰＤＬ解釈処理の終了したデータの状態を"処理終了"に変更する。
【００６７】
次に、ステップＳ２０２において、要求送信部５２５は、出力順記憶部５２１の先頭から順に、状態が"処理待ち"又は"一時停止中"となっているデータを検索する。ステップＳ２０３において状態が"処理待ち"又は"一時停止中"となっているデータが見つかった場合には（このデータのＩＤをＸとする。）、ステップＳ２０４に進む。要求送信部５２５は、更に、そのデータの状態が"一時停止中"であるか否かを判断する。ＩＤ＝Ｘに対応するデータの状態が"一時停止中"である場合には、ステップＳ２０５に進み、要求送信部５２５は、ＰＤＬ制御部５２４に対して、ＰＤＬ解釈部５３ａ又は５３ｂにおけるＩＤ＝Ｘに対応するデータに対するＰＤＬ解釈処理の実行を再開するようＰＤＬ解釈再開要求を送信する。
【００６８】
一方、ステップＳ２０４においてＩＤ＝Ｘに対応するデータの状態が"一時停止中"でない、即ち"処理待ち"であると判断された場合には、ステップＳ２０６に進み、要求送信部５２５は、ＰＤＬ制御部５２４に対して、ＰＤＬ解釈部５３ａ又は５３ｂにおいて新たにＩＤ＝Ｘに対応するデータに対してＰＤＬ解釈処理を開始するようＰＤＬ解釈か医師要求を送信する。
【００６９】
また、ステップＳ２０３において状態が"処理待ち"又は"一時停止中"となっているデータが見つからなかった場合には、ジョブ管理部５２は一連の動作フローを終了する。
【００７０】
以上、出力順序が変更される場合の動作フローについて、図５及び図６を参照して説明してきたが、画像形成装置の各部の動作を明らかにするために、図７を参照して更に詳細に説明する。
【００７１】
図７は、本実施例に従う画像形成装置において優先度が高いジョブが入力されたことにより出力順序が変更される場合の各モジュール間の動作フローの一例を示す。
【００７２】
最初に、ステップＳ３０１において、通信制御部５１からジョブ管理部５２へデータが入力される。このとき、エンジン４２ではエンジン制御部５６によって第１のジョブの出力処理が実行中であり、また、第１のＰＤＬ解釈部５３ａではＰＤＬ制御部５２４によって第２のジョブのＰＤＬ解釈処理が実行中である。入力されたデータの出力に関する第３のジョブの優先度は、第１のジョブ及び第２のジョブの夫々の優先度よりも高い。ジョブ管理部５２は、このデータインのタイミングで、図５を参照して説明した出力順序変更動作を実行する。これにより、ジョブ管理部５２において出力順変更部５２３によって出力順記憶部５２１に記憶された出力順序が変更される。
【００７３】
次に、ステップＳ３０２において、ジョブ管理部５２は、第１のＰＤＬ解釈部５３ａに対してＰＤＬ解釈停止要求を送信して、第２のジョブに対して実行中のＰＤＬ解釈処理を一時停止させる。同時に又は連続して、ステップＳ３０３において、ジョブ管理部５２は、エンジン制御部５６へ印刷停止要求を送信し、エンジン４６によって第１のジョブに対して実行中の出力処理を一時停止させる。
【００７４】
ＰＤＬ解釈処理及び出力処理が一時停止された後、ステップＳ３０４において、ジョブ管理部５２は、第２のＰＤＬ解釈部５３ｂへＰＤＬ解釈開始要求を送信し、通信制御部５１により入力されたデータに関する第３のジョブのＰＤＬ解釈処理を開始させる。更に、ステップＳ３０５において、ジョブ管理部５２は、第２のＰＤＬ解釈部５３ｂによって第３のジョブに対して実行されたＰＤＬ解釈処理の結果得られた画像データを印刷するよう、エンジン制御部５６へ印刷開始要求を送信する。これを受けて、エンジン制御部５６は、エンジン４２によって第３のジョブの出力処理を開始する。
【００７５】
その後、第２のＰＤＬ解釈部５３ｂによる第３のジョブに対するＰＤＬ解釈処理が終了すると、ステップＳ３０６において、第２のＰＤＬ解釈部５３ｂは、ジョブ管理部５２へＰＤＬ解釈終了通知を送信する。これによって、ジョブ管理部５２は、第２のＰＤＬ解釈部５３ｂによる処理が終了したことを認識し、次に、ステップＳ３０７において、第１のＰＤＬ解釈部５３ａへＰＤＬ処理再開要求を送信し、先のステップＳ３０２において一時停止された第２のジョブのＰＤＬ解釈処理を再開させる。
【００７６】
更に、エンジン４２による第３のジョブに対する出力処理が終了すると、ステップＳ３０８において、エンジン制御部５６は、ジョブ管理部５２へ印刷終了通知を送信する。これによって、ジョブ管理部５２は、出力順序において先頭であった優先度が高いデータの印刷が終了したことを認識し、出力順記憶部５２１に格納されている先頭データを破棄する。次に、ステップＳ３０９において、ジョブ管理部５２は、エンジン制御部５６へ印刷再開要求を送信し、先のステップＳ３０３において一時停止された第１のジョブの出力処理を再開させる。
【００７７】
また、上述したように、図３の優先度決定部５２２は、通信制御部５１より送信された優先度決定パラメータを入力として、優先度決定テーブルから新たに送信されたデータの優先度を決定する。以下、優先度パラメータについて、図８を参照して説明する。
【００７８】
図８（ａ）は、Ｒａｗポート番号によって優先度を決定する優先度決定テーブルの例である。図８（ａ）の優先度決定テーブルは、Ｒａｗポート印刷時のポート番号と優先度との間の対応関係を示している。優先度は、９１００ポート、９１０１ポート、９１０２ポートの順で高くなっている。
【００７９】
図８（ｂ）は、プロトコルによって優先度を決定する優先度決定テーブルの例である。図８（ｂ）の優先度決定テーブルは、通信プロトコルと優先度との間の対応関係を示している。優先度は、Ｒａｗポート印刷の場合に最低であり、Ａｐｐｌｅ  Ｔａｌｋ印刷の場合に最高である。ＬＰＲ（Ｌｉｎｅ  ＰＲｉｎｔｅｒ  ｄａｅｍｏｎ  ｐｒｏｔｏｃｏｌ）印刷及びＩＰＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｉｎｔｉｎｇ  Ｐｒｏｔｏｃｏｌ）印刷の優先度は、同じであり、Ｒａｗポート印刷の優先度とＡｐｐｌｅ  Ｔａｌｋ印刷の優先度との間にある。
【００８０】
図８（ｃ）は、プリンタ名によって優先度を決定する優先度決定テーブルの例である。図８（ｃ）の優先度決定テーブルは、ＬＰＲプロトコルで指定されるプリンタ名と優先度との間の対応関係を示している。優先度は、"ｌｐ１"、"ｌｐ２"、"ｌｐ３"、"ｌｐ４"の順で高くなっている。
【００８１】
このように、優先度は、通信ポート、通信プロトコル及びプリンタ名等によって、任意に設定することが可能である。また、優先度及び優先度を決定するためのパラメータを図８のようなテーブルで管理することにより、優先度の変更を容易に行うことが可能である。
【００８２】
代替的に、優先度は、通信制御部５１より送信されたデータ中に記述された優先度によって決定されても良い。
【００８３】
以上、本実施例の画像形成装置は、ＰＤＬ解釈部を優先度の指定可能な優先度のレベル数だけ設けることにより、ＰＤＬ展開中においても、前のジョブをキャンセルすることなく、優先度が高い後のジョブを先に処理することができる。即ち、先に入力されたデータが画像展開を実行中であっても、その画像展開を一時停止し、後に入力された印刷の優先度のより高いデータに対する画像展開に当該画像形成装置内のＣＰＵ（中央演算処理装置）及びメモリを割り当てることにより、印刷の割り込み処理が可能となる。なお、後に入力されたデータに対する画像展開が終了した後に、停止されていた先のデータに対する画像展開は自動的に再開されるよう構成されても良い。
【実施例２】
【００８４】
ＰＤＬ解釈処理を実行中のジョブよりも出力に関する優先度が高いジョブが入力される場合に、実施例１に従う画像形成装置は、実行中のＰＤＬ解釈処理を一時停止して、優先度が高いジョブを先に処理することができる。しかし、画像形成装置に含まれるＰＤＬ解釈部がこのような割り込み処理に未対応である場合には、実行中のＰＤＬ解釈処理を一時停止することは不可能である。ＰＤＬ解釈部は、オプションで提供される場合も多く、このような場合には多種多様な機種で使用可能な互換性を有することが多い。従って、ＰＤＬ解釈部が割り込み印刷機能に対応する以前に作られたモジュールであっても、最新の画像形成装置で使用されることがある。そのような画像形成装置では、一時停止要求のイベントは解釈不能であるとして無視され、実行中のＰＤＬ解釈処理が全て終了するまで続けられるので、本来先に処理されるべき優先度が高いジョブを優先して出力することができないという問題が生ずる。
【００８５】
このような問題に対処するため、本実施例に従う画像形成装置は、ＰＤＬ解釈部が割り込み処理に対応しているかどうかを検出し、未対応である場合には、実行中のＰＤＬ解釈処理が終了した後に、そのジョブの出力処理に先立って優先度が高いジョブの出力処理を行うよう構成される。
【００８６】
図９は、本実施例に従って、出力順序変更前後における図３の出力順記憶部５２１のデータ構成の一例を示す。
【００８７】
出力順記憶部５２１は、図９に示すようなデータの状態を管理するテーブルを有する。テーブルの列毎に夫々のデータの状態が表され、夫々の列は、例えば、データを識別するためのＩＤ（Ｉｄｅｎｔｉｆｉｃａｔｉｏｎ  Ｄａｔａ）、優先度決定部５２２により決定された出力の優先度、ＰＤＬ解釈部５３ａ、５３ｂ及び５３ｃによるＰＤＬ解釈処理の状態、及びＰＤＬ解釈処理のためにデータが割り当てられているＰＤＬ解釈部の番号、エンジン制御部５６による印刷出力処理の状態等の情報を有する。なお、出力順序及び優先度の本実施例における定義は、実施例１で一例として示された図４と同じである。
【００８８】
図９（ａ）は、データが入力される前の出力順記憶部５２１のデータ構成を示す。図９（ａ）のテーブルは、ＩＤ＝１、２、・・・により識別されるデータの情報が、ＩＤ＝１、２、・・・の順に格納されている。本実施例において、ＩＤの番号はデータが入力された順に割り当てられている。ＩＤ＝１及びＩＤ＝２に対応する夫々のデータは、いずれも優先度＝１である。優先度が同じである場合には、データは入力された順に処理される。ＩＤ＝１に対応するデータは、第１のＰＤＬ解釈部５３ａにおいてＰＤＬ解釈処理を実行されるとともに、エンジン制御部５６によってエンジン４２において出力処理を実行されている。一方、ＩＤ＝２に対応するデータは、ＰＤＬ解釈処理及び出力処理のいずれに関しても処理待ち状態である。
【００８９】
図９（ｂ）は、新たなデータが入力された直後の出力順記憶部５２１のデータ構成を示す。図９（ｂ）のテーブルにおいて、新たに入力されたデータはＩＤ＝３を割り当てられ、ＩＤ＝２に対応するデータの後に格納される。ＩＤ＝３を割り当てられた新たなデータは、以前に入力されたＩＤ＝１及びＩＤ＝２に対応する夫々のデータよりも高い優先度＝２を有する。実施例１では、図４を参照して説明したように、この時点でたとえ以前に入力されたデータに対してＰＤＬ解釈処理が実行中であったとしても、新たに入力されたデータの優先度が以前に入力されたデータよりも高い場合には、その処理を一時停止して、優先度が高いデータを先に出力するよう出力順序を変更することができた。しかし、ＰＤＬ解釈部が割り込み処理に対応していない場合には、このような出力順序の変更はすることができない。
【００９０】
図９（ｃ）は、データ入力時に実行中であったＰＤＬ解釈処理の終了待機中の出力順記憶部５２１のデータ構成を示す。本実施例では、ＰＤＬ解釈部が割り込み処理に対応していない場合に、ＰＤＬ解釈部による処理の終了後、データに割り当てられた優先度に従って出力順序を変更することができる。図９（ｃ）は、ＩＤ＝３に対応するデータが入力された時点で実行されていたＩＤ＝１に対応するデータへのＰＤＬ解釈処理が終了した直後のデータ構成であり、ＩＤ＝１に対応するデータのＰＤＬ処理状態は「処理終了」となっているが、ＩＤ＝２及びＩＤ＝３に対応する夫々のデータのＰＤＬ処理状態は依然として「処理待ち」となっている。
【００９１】
その後、又は、先のＰＤＬ解釈処理が終了すると同時に、出力順記憶部５２１のデータ構成は、出力順変更部５２３によって図９（ｄ）のように書き換えられる。出力順序の変更後、ＩＤ＝１、２、３・・・により識別されるデータの情報は、優先度に従ってＩＤ＝３、１、２・・・の順に並べ替えられる。ＩＤ＝３に対応するデータは、同じくＰＤＬ処理状態が「処理待ち」状態であったＩＤ＝２に対応するデータよりも高い優先度を有するので、優先して第２のＰＤＬ解釈部５３ｂにおいてＰＤＬ解釈処理を実行される。また、ＩＤ＝３に対応するデータは、「印刷中」であったＩＤ＝１に対応するデータよりも高い優先度を有するので、優先してエンジン制御部５６によってエンジン４２において出力処理を実行される。従って、ＩＤ＝１に対応するデータは、出力順序の変更前に実行されていた出力処理を一時停止される。最後に、ＩＤ＝２に対応するデータは、出力順序変更前に引き続き、やはり処理待ち状態である。
【００９２】
図１０は、本実施例に従う画像形成装置のジョブ処理動作フローの一例を示す。
【００９３】
通信制御部５１よりジョブ管理部５２へ新たなデータが送信されると、実施例１において説明したように優先度が決定される（図５のステップＳ１０１）。決定された優先度が、実行中のＰＤＬ解釈処理及び出力処理の夫々の対象ジョブよりも高い場合には、ステップＳ４０１において、ＰＤＬ制御部５２４は、ＰＤＬ解釈処理を実行中のＰＤＬ解釈部が割り込み処理に対応しているかどうか、即ち、一時停止可能かどうかを調べる。
【００９４】
ＰＤＬ解釈部が一時停止可能である場合には、ステップＳ４０２において、ＰＤＬ制御部５２４は、実行中のＰＤＬ解釈処理を一時停止させる。その後、ステップＳ４０４に進む。一方、ＰＤＬ解釈部が一時停止不可能である場合には、ステップＳ４０３において、ＰＤＬ制御部５２４は、実行中のＰＤＬ解釈処理が終了するまで待機する。
【００９５】
ＰＤＬ解釈処理が一時停止（Ｓ４０２）又は終了（Ｓ４０３）すると、ステップＳ４０４において、ジョブ管理部５２は、要求送信部５２５によりエンジン制御部５６へ印刷停止要求を送信し、エンジン４２において実行中の出力処理を一時停止させる。
【００９６】
次に、ステップＳ４０５において、ジョブ管理部５２は、先にＰＤＬ解釈処理を実行していたＰＤＬ解釈部とは別のＰＤＬ解釈部へ要求送信部５２５によりＰＤＬ解釈開始要求を送信し、通信制御部５１より入力された優先度が高いデータに対するＰＤＬ解釈処理を開始させる。更に、ジョブ管理部５２は、このＰＤＬ解釈処理の結果得られた画像データを印刷するよう、要求送信部５２５によりエンジン制御部５６へ印刷開始要求を送信する。これを受けて、エンジン制御部５６は、エンジン４２による出力処理を開始する。
【００９７】
図１１は、本実施例に従う画像形成装置においてＰＤＬ解釈部が割り込み処理に未対応である場合の各モジュール間の動作フローの一例を示す。
【００９８】
最初に、ステップＳ５０１において、通信制御部５１からジョブ管理部５２へデータが入力される。このとき、エンジン４２ではエンジン制御部５６によって第１のジョブの出力処理が実行中であり、また、第１のＰＤＬ解釈部５３ａではＰＤＬ制御部５２４によって第２のジョブのＰＤＬ解釈処理が実行中である。入力されたデータの出力に関する第３のジョブの優先度は、第１のジョブ及び第２のジョブの夫々の優先度よりも高い。ジョブ管理部５２は、ＰＤＬ制御部５２４により第１のＰＤＬ解釈部５３ａが割り込み処理に対応していないことが検出されるならば、第１のＰＤＬ解釈部５３ａで実行中の第２のジョブのＰＤＬ解釈処理が終了するまで、第３のジョブのＰＤＬ解釈処理の開始を待ち合わせる。
【００９９】
その後、第１のＰＤＬ解釈部５２ａによる第２のジョブのＰＤＬ解釈処理が終了すると、ステップＳ５０２において、第１のＰＤＬ解釈部５３ａは、ジョブ管理部５２へＰＤＬ解釈終了通知を送信する。この通知を受けて、ジョブ管理部５２は、ステップＳ５０３において、他のジョブに対して第３のジョブが優先して出力されるように、出力順変更部５２３によって出力順記憶部５２１に記憶された出力順序を変更するとともに、エンジン制御部５６へ印刷停止要求を送信し、エンジン４６によって第１のジョブに対して実行中の出力処理を一時停止させる。
【０１００】
出力処理が一時停止された後、ステップＳ５０４において、ジョブ管理部５２は、第２のＰＤＬ解釈部５３ｂへＰＤＬ解釈開始要求を送信し、通信制御部５１により入力されたデータに関する第３のジョブのＰＤＬ解釈処理を開始させる。更に、ステップＳ５０５において、ジョブ管理部５２は、第２のＰＤＬ解釈部５３ｂによって第３のジョブに対して実行されたＰＤＬ解釈処理の結果得られた画像データを印刷するよう、エンジン制御部５６へ印刷開始要求を送信する。これを受けて、エンジン制御部５６は、エンジン４２によって第３のジョブの出力処理を開始する。
【０１０１】
その後、第２のＰＤＬ解釈部５３ｂによる第３のジョブに対するＰＤＬ解釈処理が終了すると、ステップＳ５０６において、第２のＰＤＬ解釈部５３ｂは、ジョブ管理部５２へＰＤＬ解釈終了通知を送信する。これによって、ジョブ管理部５２は、第２のＰＤＬ解釈部５３ｂによる処理が終了したことを認識することができる。
【０１０２】
更に、エンジン４２による第３のジョブに対する出力処理が終了すると、ステップＳ５０７において、エンジン制御部５６は、ジョブ管理部５２へ印刷終了通知を送信する。これによって、ジョブ管理部５２は、出力順序において先頭であった優先度が高いデータの印刷が終了したことを認識し、出力順記憶部５２１に格納されている先頭データを破棄する。次に、ステップＳ５０８において、ジョブ管理部５２は、エンジン制御部５６へ印刷再開要求を送信し、先のステップＳ５０３において一時停止された第１のジョブの出力処理を再開させる。
【０１０３】
以上、本実施例で述べたように、ＰＤＬ解釈部が割り込み処理に対応していない場合があるので、ジョブ管理部５２はＰＤＬ解釈部の対応状況に応じて動作を変える必要が生ずる。即ち、ジョブ管理部５２は、ＰＤＬ解釈部が割り込み処理に対応している場合には、実施例１のように実行中のＰＤＬ解釈処理を一時停止した後に、ＰＤＬ解釈部が割り込み処理に対応していない場合には、本実施例のように実行中のＰＤＬ解釈処理が終了した後に、優先度が高いジョブのＰＤＬ解釈処理及び印刷出力処理を実行するよう構成される。これを実現するために、ＰＤＬ解釈部側の設定ファイルに割り込み処理への対応状況を予め記述しておき、ジョブ管理部５２は、これを読み取ることによってＰＤＬ解釈部の対応／未対応を判断し、未対応であると判断される場合には一時停止要求を行わないようにする。これにより、ＰＤＬ解釈部の対応状況を予め知ることが可能となり、無駄なイベントの発生を回避可能となる。
【０１０４】
図１２は、本実施例に従う画像形成装置においてＰＤＬ解釈部のディレクトリ構造及び設定ファイルの記述を一例として表す。
【０１０５】
図１２（ａ）は、ＰＤＬ解釈部のディレクトリ構造の一例を示す。ＰＤＬ解釈部は少なくとも１つのＰＤＬ解釈部を有し、夫々のＰＤＬ解釈部ごとに分けられたフォルダが存在する。例えば、図１２（ａ）に示される第１、第２及び第３のフォルダは、夫々、図３に示される第１、第２及び第３のＰＤＬ解釈部５３ａ、５３ｂ、５３ｃの夫々に対応する。夫々のフォルダには、例えばファイル名"ｐｄｌ．ｉｎｉ"の設定ファイル６２ａ、６２ｂ、６２ｃの夫々が格納される。
【０１０６】
図１２（ｂ）は、設定ファイルの記述の一例を示す。図１２（ｂ）の設定ファイルは、そのＰＤＬ解釈部のバージョン６２０、名称６２２、及び割り込み処理の対応状況６２４を示す項目を含む。例えば、割り込み処理の対応状況６２４は、そのＰＤＬ解釈部が一時停止可能である場合にのみ記述され、一時停止不可能である場合には項目自体が記述されないと定義されても良い。
【０１０７】
以上、本実施例の画像形成装置は、ＰＤＬ解釈部が割り込み処理に対応しているかどうかを検出し、対応していない場合には、ＰＤＬ解釈部で実行中のＰＤＬ解釈処理が終了した後に優先度が高いジョブが処理されるよう出力順序を制御することにより、ＰＤＬ解釈部が割り込み処理に対応していない場合にも、優先度が高い後のジョブを先に処理することができる。
【実施例３】
【０１０８】
また、印刷条件には様々なものがあるが、例えばステープル機能のように、ジョブ実行中に画像形成装置が有するリソースを占有して印刷出力を行う方法が知られる。
【０１０９】
ステープル機能により、一部の用紙束が揃うまでの間は印刷した用紙を排出せずにステープルトレイへスタックしておき、その後用紙束が揃うと、それらの用紙束をステープルで綴じて排出することができる。このように、ステープルトレイは、そのジョブの実行中は占有状態となっている。
【０１１０】
実施例１及び実施例２では、エンジン４２に出力処理を実行中のジョブがある場合に、そのジョブよりも出力に関して高い優先度を有するジョブが入力されるならば、実行中の出力処理は一時停止され、入力されたジョブに対して優先して出力処理を行う。しかし、この場合に、エンジン４２で出力処理を実行中のジョブがステープル機能を設定されているならば、優先度の高い他のジョブを割り込ませることにより、先に実行されていたジョブの印刷結果と、割り込み実行された他のジョブの印刷結果とが一緒にステープルで綴じられるという事態が生ずる。即ち、印刷中のジョブが特定のリソースを占有している場合に、同一のリソースを使用するジョブを割り込ませることは、印刷結果が保証されなくなることを意味する。
【０１１１】
このような問題に対処するため、本実施例に従う画像形成装置は、印刷中のジョブが占有している特定のリソースと同一のリソースを使用する優先度が高いジョブを入力された場合には、ＰＤＬ解釈処理の一時停止又は終了後に直ちに出力処理を一時停止させずに、その出力処理の終了後に優先度が高いジョブの出力処理を行うよう構成される。
【０１１２】
図１３は、本実施例に従う画像形成装置のジョブ処理動作フローの一例を示す。
【０１１３】
通信制御部５１よりジョブ管理部５２へ新たなデータが送信されると、ジョブ管理部５２は、実施例１において説明したように優先度を決定する（図５のステップＳ１０１）。決定された優先度が、実行中のＰＤＬ解釈処理及び出力処理の夫々の対象ジョブよりも高い場合には、データが送信された時点でＰＤＬ解釈部において実行されているＰＤＬ解釈処理が一時停止（実施例１）又は終了（実施例２）される。
【０１１４】
その後、ＰＤＬ解釈処理が一時停止又は終了すると、ステップＳ６０１において、ジョブ管理部５２は、出力順記憶部５２１に記憶された（図９のような）データから、エンジン４２で出力処理を実行されているジョブがあるかどうかを確認する。出力処理実行中のジョブがないならば、ステップＳ６０６へ進む。
【０１１５】
一方、エンジン４２において出力処理が実行されている場合には、ステップＳ６０２において、ジョブ管理部５２は、出力順記憶部５２１に記憶されたデータから、エンジン４２で実行中の出力処理によって画像形成装置の特定のリソースが占有されているかどうかを確認する。いずれのリソースも占有されていないならば、ステップＳ６０４に進む。ステップＳ６０４において、ジョブ管理部５２は、実行中の他のジョブよりも優先度が高い入力データが優先して処理されるように、出力順変更部５２３によって出力順記憶部５２１に記憶される出力順序を変更するとともに、要求送信部５２５によりエンジン制御部５６へ印刷停止要求を送信し、エンジン４２によって実行中の出力処理を一時停止させる。
【０１１６】
一方、特定のリソースが占有されている場合には、ステップＳ６０３において、ジョブ管理部５２は、通信制御５１により入力されたデータに付随する印刷条件を確認する。即ち、ジョブ管理部５２は、優先度が高いジョブが、実行中の出力処理によって占有されているリソースと同じリソースを使用するかどうかを確認する。同一のリソースを使用しないならば、ステップＳ６０４に進む。
【０１１７】
一方、優先度が高いジョブが、実行中の出力処理によって占有されているリソースと同じリソースを使用する場合には、ステップＳ６０５において、ジョブ管理部５２は、実行中の出力処理が終了した後に優先度が高い入力データが優先して処理されるように、出力順変更部５２３によって出力順記憶部５２１に記憶される出力順序を変更するとともに、エンジン４２によって実行中の出力処理に関する終了通知がエンジン制御部５６から送信されるまで待機する。
【０１１８】
実行中の出力処理が一時停止又は終了すると、ステップＳ６０６において、ジョブ管理部５２は、要求送信部５２５によりＰＤＬ制御部５２４を介して、先にＰＤＬ解釈処理を実行していたＰＤＬ解釈部とは別のＰＤＬ解釈部へＰＤＬ解釈開始要求を送信し、通信制御部５１より入力された優先度が高いデータに対するＰＤＬ解釈処理を開始させる。更に、ジョブ管理部５２は、このＰＤＬ解釈処理の結果得られた画像データを印刷するよう、要求送信部５２５によりエンジン制御部５６へ印刷開始要求を送信する。これを受けて、エンジン制御部５６は、エンジン４２による出力処理を開始する。
【０１１９】
なお、好ましくは、画像形成装置の処理効率を高めるために、先に実行されていた出力処理の終了後に優先度が高いデータに対するＰＤＬ解釈処理及び出力処理を並行して実行するのではなく、先に実行されていたＰＤＬ解釈処理が一時停止又は終了した直後に先行して優先度が高いデータに対してＰＤＬ解釈処理を実行しても良い。
【０１２０】
図１４は、本実施例に従う画像形成装置において、実行中の印刷出力処理が占有しているリソースを使用する優先度が高いジョブが入力される場合の各モジュール間の動作フローの一例を示す。なお、ＰＤＬ解釈部は、割り込み処理に対応しているとする。
【０１２１】
最初に、ステップＳ７０１において、通信制御部５１からジョブ管理部５２へデータが入力される。このとき、エンジン４２ではエンジン制御部５６によって第１のジョブの出力処理を実行中であり、また、第１のＰＤＬ解釈部５３ａではＰＤＬ制御部５２４によって第２のジョブのＰＤＬ解釈処理を実行中である。入力されたデータの出力に関する第３のジョブの優先度は、第１のジョブ及び第２のジョブの夫々の優先度よりも高い。ジョブ管理部５２は、ＰＤＬ制御部５２４により第１のＰＤＬ解釈部５３ａが割り込み処理に対応していることを検出すると、ステップＳ７０２において、第１のＰＤＬ解釈部５３ａに対してＰＤＬ解釈停止要求を送信して、第２のジョブに対して実行中のＰＤＬ解釈処理を一時停止させる。
【０１２２】
ＰＤＬ解釈処理が一時停止された後、ステップＳ７０３において、ジョブ管理部５２は、第２のＰＤＬ解釈部５３ｂへＰＤＬ解釈開始要求を送信し、通信制御部５１により入力されたデータに関する第３のジョブのＰＤＬ解釈処理を開始させる。
【０１２３】
その後、エンジン４２による第１のジョブに対する出力処理が終了すると、ステップＳ７０４において、エンジン制御部５６は、ジョブ管理部５２へ印刷終了通知を送信する。この通知を受けて、ジョブ管理部５２は、ステップＳ７０５において、第２のＰＤＬ解釈部５３ｂによって第３のジョブに対して実行されたＰＤＬ解釈処理の結果得られた画像データを印刷するよう、エンジン制御部５６へ印刷開始要求を送信する。これを受けて、エンジン制御部５６は、エンジン４２によって第３のジョブの出力処理を開始する。
【０１２４】
その後、第２のＰＤＬ解釈部５３ｂによる第３のジョブに対するＰＤＬ解釈処理が終了すると、ステップＳ７０６において、第２のＰＤＬ解釈部５３ｂは、ジョブ管理部５２へＰＤＬ解釈終了通知を送信する。これによって、ジョブ管理部５２は、第２のＰＤＬ解釈部５３ｂによる処理が終了したことを認識し、次に、ステップＳ７０７において、第１のＰＤＬ解釈部５３ａへＰＤＬ処理再開要求を送信し、先のステップＳ７０２において一時停止された第２のジョブのＰＤＬ解釈処理を再開させる。
【０１２５】
更に、エンジン４２による第３のジョブに対する出力処理が終了すると、ステップＳ７０８において、エンジン制御部５６は、ジョブ管理部５２へ印刷終了通知を送信する。これによって、ジョブ管理部５２は、出力順序において先頭であった優先度が高いデータの印刷が終了したことを認識し、出力順記憶部５２１に格納されている先頭データを破棄する。
【０１２６】
以上、本実施例の画像形成装置は、ＰＤＬ解釈処理の終了又は一時停止時点に実行中の印刷出力処理が一時停止不可能な場合であっても、その印刷出力処理が終了した後に優先度が高いジョブが処理されるよう出力順序を制御することにより、優先度が高い後のジョブを先に処理することができる。
【実施例４】
【０１２７】
実施例３に従う画像形成装置は、印刷中のジョブと優先度が高いジョブとが同一のリソースを使用する場合に、印刷中のジョブの終了を待ち合わせることができる。しかし、これは、実際のプリンタでは実現できない場合がある。
【０１２８】
実施例３では、ジョブによって使用されるリソースに関する情報を含む印刷条件は、入力データとは別の情報として与えられるか、あるいは、入力データの先頭にＰＤＬの解釈を必要とせずに検知可能な情報として埋め込まれていることを前提とする。しかし、印刷条件は、ＰＤＬ解釈部によって処理をなされた結果からしか知ることができない場合がある。この場合には、優先度が高いジョブに対してＰＤＬ解釈部によるＰＤＬ解釈処理を実行する前の段階で、優先度が高いジョブと印刷中ジョブとが同一のリソースを使用するかどうかを判断することはできない。
【０１２９】
このような問題に対処するため、本実施例に従う画像形成装置は、ある特定のリソースを占有する印刷方式のジョブが実行されている最中に、優先度が高いジョブが入力される場合には、必ず印刷中ジョブの終了を待ち合わせてから、優先度が高いジョブの出力処理を行うよう構成される。
【０１３０】
図１５は、本実施例に従う画像形成装置のジョブ処理動作フローの一例を示す。
【０１３１】
通信制御部５１よりジョブ管理部５２へ新たなデータが送信されると、ジョブ管理部５２は、実施例１において説明したように優先度を決定する（図５のステップＳ１０１）。決定された優先度が、実行中のＰＤＬ解釈処理及び出力処理の夫々の対象ジョブよりも高い場合には、データが送信された時点でＰＤＬ解釈部において実行されているＰＤＬ解釈処理が一時停止（実施例１）又は終了（実施例２）される。
【０１３２】
その後、ＰＤＬ解釈処理が一時停止又は終了すると、ステップＳ８０１において、ジョブ管理部５２は、出力順記憶部５２１に記憶された（図９のような）データから、エンジン４２で出力処理を実行されているジョブがあるかどうかを確認する。実行中の出力処理がないならば、ステップＳ８０５へ進む。
【０１３３】
一方、エンジン４２において出力処理が実行されている場合には、ステップＳ８０２において、ジョブ管理部５２は、更に、出力順記憶部５２１に記憶されたデータから、エンジン４２で実行中の出力処理によって画像形成装置の特定のリソースが占有されているかどうかを確認する。いずれのリソースも占有されていないならば、ステップＳ８０３に進む。ステップＳ８０３において、ジョブ管理部５２は、実行中の他のジョブよりも優先度が高い入力データが優先して処理されるように、出力順変更部５２３によって出力順記憶部５２１に記憶される出力順序を変更するとともに、要求送信部５２５によりエンジン制御部５６へ印刷停止要求を送信し、エンジン４２によって実行中の出力処理を一時停止させる。
【０１３４】
一方、特定のリソースが占有されている場合には、ステップＳ８０４において、ジョブ管理部５２は、実行中の出力処理が終了した後に優先度が高い入力データが優先して処理されるように、出力順変更部５２３によって出力順記憶部５２１に記憶される出力順序を変更するとともに、エンジン４２によって実行中の出力処理に関する終了通知がエンジン制御部５６から送信されるまで待機する。
【０１３５】
実行中の出力処理が一時停止又は終了すると、ステップＳ８０５において、ジョブ管理部５２は、要求送信部５２５によりＰＤＬ制御部５２４を介して、先にＰＤＬ解釈処理を実行していたＰＤＬ解釈部とは別のＰＤＬ解釈部へＰＤＬ解釈開始要求を送信し、通信制御部５１より入力された優先度が高いデータに対するＰＤＬ解釈処理を開始させる。更に、ジョブ管理部５２は、このＰＤＬ解釈処理の結果得られた画像データを印刷するよう、要求送信部５２５によりエンジン制御部５６へ印刷開始要求を送信する。これを受けて、エンジン制御部５６は、エンジン４２による出力処理を開始する。
【０１３６】
なお、好ましくは、画像形成装置の処理効率を高めるために、先に実行されていた出力処理の終了後に優先度が高いデータに対するＰＤＬ解釈処理及び出力処理を並行して実行するのではなく、先に実行されていたＰＤＬ解釈処理が一時停止又は終了した直後に先行して優先度が高いデータに対してＰＤＬ解釈処理を実行しても良い。
【０１３７】
本実施例では、印刷中ジョブと優先度が高いジョブとが同一のリソースを使用する場合に必ず印刷中ジョブの終了を待ち合わせることにより、ＰＤＬ解釈部によって処理をなされた結果からしかジョブのリソースに関する情報を知ることができない場合に対応することができる。しかし、これに限らず、優先度が高いジョブの印刷結果に制約を付けることにより対応することもできる。
【０１３８】
この場合、画像形成装置は、ある特定のリソースを占有する印刷方式のジョブが実行されている最中に、優先度が高いジョブが入力される場合には、データ入力時点で直ちに印刷中ジョブを一時停止して優先度が高いジョブの処理を開始し、優先度が高いジョブの使用するリソースと印刷中ジョブが占有するリソースとが同じであると分かった段階で、出力制御部によってその機能設定（例えば、ステープル。）を解除して、優先度が高いジョブの印刷を完了させるよう構成される。ただし、このような画像形成装置では、優先度が高いジョブに対する出力処理を最短で割り込ませることが可能となる代わりに、設定された印刷条件通りに印刷が実行されることは保証されなくなる。従って、実際には、ＰＤＬ解釈部によって処理をなされた結果からしかリソースに関する情報を知ることができない場合には、上記どちらの方法で対応するかをユーザが選択できるようにすることが望ましい。
【０１３９】
以上、本実施例の画像形成装置は、ジョブの印刷条件をＰＤＬ解釈部によって処理をなされた結果からしか知ることができないために、優先度が高いジョブに対するＰＤＬ解釈処理の開始前に、実行中の印刷出力処理が一時停止不可能であるかどうかを検出できない場合には、必ずその印刷出力処理が終了した後に優先度が高いジョブが処理されるよう出力順序を制御することにより、優先度が高い後のジョブを先に処理することを保証できる。
【実施例５】
【０１４０】
ここまでの実施例では、ＰＤＬ解釈処理が一時停止又は終了した後に出力処理が一時停止又は終了する方法を考えてきた。しかし、実施例４のように必ず印刷中ジョブの終了を待ち合わせてから、優先度が高いジョブの出力処理を行うよう構成される画像形成装置では、ＰＤＬ展開中のジョブと印刷中ジョブが同一であって、印刷中ジョブが特定のリソースを占有している場合に問題が生ずることがある。
【０１４１】
実施例４において、ＰＤＬ解釈部が割り込み処理に対応している場合、ＰＤＬ解釈部でＰＤＬ解釈処理を実行中のジョブよりも優先度が高いジョブが入力されると、その時点に実行中のＰＤＬ解釈処理は、入力された新たなジョブを優先して処理するために一時停止される。この場合に、優先度が高いジョブが入力された時点に実行中のＰＤＬ解釈処理及び出力処理の夫々の対象ジョブが同一のジョブであるならば、ＰＤＬ解釈処理が完了していない状態で出力処理を完了させることは不可能である。この場合、ジョブ管理部はエンジン制御部から印刷終了通知を受けることができず、画像形成装置はデッドロックに陥って、いつまでも優先度が高いジョブの出力処理を実行することができない。このデッドロックを検知して、ＰＤＬ解釈処理を再開することで問題を解決することも可能であるが、その場合にはＰＤＬ解釈処理の実行及び一時停止を無駄に行うこととなる。
【０１４２】
このような問題に対処するために、本実施例の画像形成装置は、ＰＤＬ解釈処理を一時停止する前に、実行中のＰＤＬ解釈処理及び出力処理の夫々の対象ジョブが同一であるかどうかを検知することができるよう構成される。
【０１４３】
図１６は、本実施例に従う画像形成装置のジョブ処理動作フローの一例を示す。
【０１４４】
通信制御部５１よりジョブ管理部５２へ新たなデータが送信されると、ジョブ管理部５２は、実施例１において説明したように優先度を決定される（図５のステップＳ１０１）。決定された優先度が、実行中のＰＤＬ解釈処理及び出力処理の夫々の対象ジョブよりも高い場合には、ステップＳ９０１において、ジョブ管理部５２は、出力順記憶部５２１に記憶された（図９のような）データから、実行中のＰＤＬ解釈処理及び出力処理の夫々の対象ジョブが同一であるかどうかを確認する。
【０１４５】
いずれかのＰＤＬ解釈部でＰＤＬ解釈処理をされているジョブが、エンジン４２で出力処理をされているジョブと同一でないことが確認された場合には、ステップＳ９０３において、ジョブ管理部５２は、要求送信部５２５により、現在ＰＤＬ解釈処理を実行中であるＰＤＬ解釈部に対して、ＰＤＬ制御手段５２４を介してＰＤＬ解釈処理要求を送信し、実行中のＰＤＬ解釈処理を一時停止する。更に、ステップＳ９０４において、ジョブ管理部５２は、要求送信部５２５によりエンジン制御部５６へ印刷停止要求を送信し、エンジン４２で実行中の出力処理を一時停止させる。
【０１４６】
一方、いずれかのＰＤＬ解釈部でＰＤＬ解釈処理をされているジョブが、エンジン４２で出力処理をされているジョブと同一である、即ち、ＰＤＬ解釈部でＰＤＬ解釈処理をされたジョブが並行して出力処理をされていることが確認された場合には、ステップＳ９０２において、ジョブ管理部５２は、更に、出力順記憶部５２１に記憶されたデータから、エンジン４２において実行中の出力処理によって画像形成装置の特定のリソースが占有されているかどうかを確認する。いずれのリソースも占有されていないならば、ステップＳ９０３に進む。
【０１４７】
一方、特定のリソースが占有されていることが確認された場合には、ステップＳ９０５において、ジョブ管理部５２は、実行中の出力処理が終了した後に優先度が高い入力データが優先して処理されるように、出力順変更部５２３によって出力順記憶部５２１に記憶される出力順序を変更するとともに、エンジン４２によって実行中の出力処理に関する終了通知がエンジン制御部５６から送信されるまで待機する。
【０１４８】
実行中の出力処理が一時停止又は終了すると、ステップＳ９０６において、ジョブ管理部５２は、要求送信部５２５によりＰＤＬ制御部５２４を介して、先にＰＤＬ解釈処理を実行していたＰＤＬ解釈部とは別のＰＤＬ解釈部へＰＤＬ解釈開始要求を送信し、通信制御部５１より入力された優先度が高いデータに対するＰＤＬ解釈処理を開始させる。更に、ジョブ管理部５２は、このＰＤＬ解釈処理の結果得られた画像データを印刷するよう、要求送信部５２５によりエンジン制御部５６へ印刷開始要求を送信する。これを受けて、エンジン制御部５６は、エンジン４２による出力処理を開始する。
【０１４９】
なお、ステップＳ９０５において印刷中ジョブの印刷終了を待ち合わせる場合、その間に同一のジョブに対するＰＤＬ解釈処理が終了するが、次に、優先度が高いジョブを処理する必要があるので、ジョブの投入順に従って次のジョブを処理することはない。また、ステップＳ９０６において優先度が高いジョブに対してＰＤＬ解釈処理及び出力処理を並行して実行しているが、好ましくは、画像形成装置の処理効率を高めるために、ＰＤＬ解釈処理に関しては、優先度が低いジョブのＰＤＬ解釈処理の終了次第、ステップＳ９０５で印刷終了を待ち合わせている間に開始しても良い。
【０１５０】
また、本実施例に対して、ＰＤＬ解釈部が割り込み処理に対応していない場合の処理（実施例２）を組み合わせる場合には、図１６のステップＳ９０３の処理を、図１０のステップＳ４０１〜Ｓ４０３の処理と置き換えれば良い。
【０１５１】
図１７は、本実施例に従う画像形成装置において、実行中のＰＤＬ解釈処理及び印刷出力処理の夫々の対象ジョブが同一である場合の各モジュール間の動作フローの一例を示す。なお、ＰＤＬ解釈部は、割り込み処理に対応しているとする。
【０１５２】
最初に、ステップＳ１００１において、通信制御部５１からジョブ管理部５２へデータが入力される。このとき、エンジン４２ではエンジン制御部５６によって第１のジョブの出力処理を実行中であり、また、第１のＰＤＬ解釈部５３ａではＰＤＬ制御部５２４によって同じ第１のジョブのＰＤＬ解釈処理を実行中である。入力されたデータの出力に関する第２のジョブの優先度は、第１のジョブの優先度よりも高い。第１のＰＤＬ解釈部５３ａでＰＤＬ解釈処理をされているジョブがエンジン４２で出力処理をされてないジョブとは別のジョブであるならば、ジョブ管理部５２は、ＰＤＬ制御部５２４により第１のＰＤＬ解釈部５３ａが割り込み処理に対応していることを検出すると、実施例２〜４のように、第１のＰＤＬ解釈部５３ａに対してＰＤＬ解釈停止要求を送信して、実行中のＰＤＬ解釈処理を一時停止させる。しかし、本実施例では、ジョブ管理部５２は、ステップＳ１００２において第１のＰＤＬ解釈部５３ａがジョブ管理部５２へ第１のジョブに関するＰＤＬ解釈処理終了通知を送信するまで待機する。
【０１５３】
更に、ジョブ管理部５２は、出力順記憶部５２１に記憶された（図９のような）データから、エンジン４２で実行中の出力処理によって占有されている画像形成装置の特定のリソースが、優先度が高い第２のジョブの出力処理のために使用されることを検出する場合に（実施例３参照。）、ステップＳ１００３においてエンジン制御部５６がジョブ管理部５２へ第１のジョブに関する印刷終了通知を送信するまで待機する。
【０１５４】
エンジン４２による第１のジョブに対する出力処理が終了した後、ステップＳ１００４において、ジョブ管理部５２は、第２のＰＤＬ解釈部５３ｂへＰＤＬ解釈開始要求を送信し、通信制御部５１により入力されたデータに関する第２のジョブのＰＤＬ解釈処理を開始させる。続けて、ジョブ管理部５２は、ステップＳ１００５において、第２のＰＤＬ解釈部５３ｂによって第２のジョブに対して実行されたＰＤＬ解釈処理の結果得られた画像データを印刷するよう、エンジン制御部５６へ印刷開始要求を送信する。これを受けて、エンジン制御部５６は、エンジン４２によって第２のジョブの出力処理を開始する。
【０１５５】
その後、第２のＰＤＬ解釈部５３ｂによる第２のジョブに対するＰＤＬ解釈処理が終了すると、ステップＳ１００６において、第２のＰＤＬ解釈部５３ｂは、ジョブ管理部５２へＰＤＬ解釈終了通知を送信する。これによって、ジョブ管理部５２は、第２のＰＤＬ解釈部５３ｂによる処理が終了したことを認識することができる。
【０１５６】
更に、エンジン４２による第３のジョブに対する出力処理が終了すると、ステップＳ１００７において、エンジン制御部５６は、ジョブ管理部５２へ印刷終了通知を送信する。これによって、ジョブ管理部５２は、出力順序において先頭であった優先度が高いデータの印刷が終了したことを認識し、出力順記憶部５２１に格納されている先頭データを破棄する。
【０１５７】
以上、本実施例の画像形成装置は、優先度が高いジョブが入力された時点で実行中のＰＤＬ解釈処理及び印刷出力処理の夫々の対象ジョブが同一であるかどうかを検出し、その結果に従って優先度が高いジョブが処理されるよう出力順序を制御することにより、画像形成装置がデッドロックに陥ることを回避しながら、優先度が高いジョブを次のジョブとして割り込ませることを保証できる。
【実施例６】
【０１５８】
以上の実施例では、優先度が高いジョブが投入された時点でＰＤＬ解釈処理又は印刷出力処理を一時停止することができない場合に、優先度が高いジョブを次に実行されるジョブとして割り込ませることを保証するための方法について述べた。しかし、実際には、印刷出力処理に関しては、優先度が高いジョブをそれが投入された時点に印刷中のジョブの次に割り込ませるということが必ずしも保証されない。これは、ＰＤＬ解釈処理及び印刷出力処理のいずれの動作も、ジョブ管理部からの一時停止要求を受けて直ちに停止することできるわけではないことに因る。例えば、ＰＤＬ解釈処理に関しては、ＰＤＬ展開途中のページは展開が完了するまでは停止することができない。また、印刷出力処理に関しては、給紙を開始した用紙は、それがエンジン内に残っている状態でエンジンを停止させることが不可能であるため必ず排紙される必要があり、従って、この排紙動作の間は停止することができない。このように、ＰＤＬ解釈処理及び印刷出力処理のいずれも、一時停止要求発生後、実際に停止するまでにタイムラグが生ずる。この結果、ＰＤＬ解釈処理の一時停止要求発生後、実際にＰＤＬ解釈処理の一時停止が完了するまでの間に、他のジョブの印刷出力処理が完了したならば、通常は、次の印刷待ちジョブの印刷出力処理が開始されてしまうこととなる。例えば、次の印刷待ちジョブが画像形成装置の特定のリソースを占有し、且つ、大量のページを印刷するジョブであったならば、この印刷出力処理を一時停止することができないために、優先度が高いジョブの出力までに長時間待たされることになる。
【０１５９】
このような問題に対処するために、本実施例の画像形成装置は、ＰＤＬ解釈処理の一時停止後に印刷出力処理の一時停止を行うのではなく、それらの一時停止を同時に又は連続して行うよう構成される。
【０１６０】
図１８は、本実施例に従う画像形成装置において、優先度が高いジョブが入力された時点に実行中のＰＤＬ解釈処理及び印刷出力処理の夫々に対して同時に又は連続して一時停止要求を行う場合の各モジュール間の動作フローの一例を示す。なお、ＰＤＬ解釈部は、割り込み処理に対応しているとする。
【０１６１】
最初に、ステップＳ１１０１において、通信制御部５１からジョブ管理部５２へデータが入力される。このとき、エンジン４２ではエンジン制御部５６によって第１のジョブの出力処理を実行中であり、また、第１のＰＤＬ解釈部５３ａではＰＤＬ制御部５２４によって第２のジョブのＰＤＬ解釈処理を実行中である。入力されたデータの出力に関する第３のジョブの優先度は、第１のジョブ及び第２のジョブの夫々の優先度よりも高い。ジョブ管理部５２は、ＰＤＬ制御部５２４により第１のＰＤＬ解釈部５３ａが割り込み処理に対応していることを検出すると、ステップＳ１１０２において、要求送信部５２５によりＰＤＬ制御部５２４を介して、第１のＰＤＬ解釈部５３ａに対してＰＤＬ解釈停止要求を送信する。
【０１６２】
実施例３のように、ＰＤＬ解釈処理がジョブ管理部５２からの一時停止要求によって直ちに停止されるならば、ジョブ管理部５２は、第１のＰＤＬ解釈部５３ａへＰＤＬ解釈停止要求を送信した直後に、新たに入力された第３のジョブのＰＤＬ解釈処理を実行するよう第２のＰＤＬ解釈部５３ｂに要求することができる（図１４参照。）。しかし、上述したように、実際の画像形成装置では、実行中のＰＤＬ解釈処理の内容により一時停止要求発生後から実際に処理が停止するまでにタイムラグが存在することある。これにより、第２のジョブに対するＰＤＬ解釈処理の一時停止よりも、エンジン４２での第１のジョブに対する出力処理の終了の方が早かった場合、この時点で、新たに入力された第３のジョブに対するＰＤＬ解釈処理は依然として開始されていないので、既にＰＤＬ解釈処理が完了した他のジョブが第３のジョブよりも先に印刷出力処理をされることとなる。このような事態となることを防ぐために、ステップＳ１１０２と同時に又は連続して、ステップＳ１１０３において、ジョブ管理部５２は、要求送信部５２５によりエンジン制御部５６へ印刷停止要求を送信する。
【０１６３】
その後、エンジン４２による第１のジョブに対する出力処理が終了すると、ステップＳ１１０４において、エンジン制御部５６は、ジョブ管理部５２へ印刷終了通知を送信する。この通知を受けて、ジョブ管理部５２は、ステップＳ１１０５において第１のＰＤＬ解釈部５３ａによる第１のジョブのＰＤＬ解釈処理が一時停止するまで待機し、ＰＤＬ解釈処理が一時停止された後、ステップＳ１１０６において、要求送信部５２５によりＰＤＬ制御部５２４を介して第２のＰＤＬ解釈部５３ｂへＰＤＬ解釈開始要求を送信し、通信制御部５１により入力されたデータに関する第３のジョブのＰＤＬ解釈処理を開始させる。
【０１６４】
更に、ジョブ管理部５２は、ステップＳ１１０７において、第２のＰＤＬ解釈部５３ｂによって第３のジョブに対して実行されたＰＤＬ解釈処理の結果得られた画像データを印刷するよう、要求送信部５２５によりエンジン制御部５６へ印刷開始要求を送信する。これを受けて、エンジン制御部５６は、エンジン４２によって第３のジョブの出力処理を開始する。
【０１６５】
その後、第２のＰＤＬ解釈部５３ｂによる第３のジョブに対するＰＤＬ解釈処理が終了すると、ステップＳ１１０８において、第２のＰＤＬ解釈部５３ｂは、ジョブ管理部５２へＰＤＬ解釈終了通知を送信する。これによって、ジョブ管理部５２は、第２のＰＤＬ解釈部５３ｂによる処理が終了したことを認識し、次に、ステップＳ１１０９において、要求送信部５２５によりＰＤＬ制御部５２４を介して第１のＰＤＬ解釈部５３ａへＰＤＬ処理再開要求を送信し、先のステップＳ１１０５において一時停止された第２のジョブのＰＤＬ解釈処理を再開させる。
【０１６６】
更に、エンジン４２による第３のジョブに対する出力処理が終了すると、ステップＳ１１１０において、エンジン制御部５６は、ジョブ管理部５２へ印刷終了通知を送信する。これによって、ジョブ管理部５２は、出力順序において先頭であった優先度が高いデータの印刷が終了したことを認識し、出力順記憶部５２１に格納されている先頭データを破棄する。
【０１６７】
以上、本実施例の画像形成装置は、ＰＤＬ解釈処理又は印刷出力処理のいずれかが一時停止できない状態で他の処理が終了してしまう場合にも、いずれの処理に対しても停止要求が行われていることによって次のジョブの処理開始は必ず待機状態となり、優先度が高いジョブを次のジョブとして割り込ませることを保証できる。
【実施例７】
【０１６８】
実施例６では、ＰＤＬ解釈処理及び印刷出力処理に対して同時に又は連続して一時停止要求を行うことにより、一時停止要求発生後から実際に処理が停止されるまでのタイムラグに起因する問題に対応することができる。しかし、実施例６に従う画像形成装置は、ＰＤＬ解釈部が割り込み処理に対応している場合には提供され得るが、ＰＤＬ解釈部が割り込み処理に未対応である場合には問題を生ずる。
【０１６９】
ＰＤＬ解釈部が割り込み処理に未対応である場合には、そのＰＤＬ解釈部で処理中のジョブは全ての処理が完了した後に、優先度が高いジョブに対するＰＤＬ解釈処理が開始される。一方、印刷出力処理が一時停止要求を受けて一時停止可能であるならば、印刷中ジョブのための画像データを格納している領域（メモリ又はＨＤＤの領域）が開放されないまま残ることとなる。この場合に、一時停止不可能なＰＤＬ解釈処理中のジョブが大量のページ数又はメモリを消費するようなデータであるならば、印刷中ジョブが印刷を終了して領域を開放しない限り、ＰＤＬ解釈処理中のジョブのための充分な画像領域を確保することができず、ＰＤＬ解釈処理を終了させることができない状態となり、画像形成装置はデッドロックに陥る可能性がある。
【０１７０】
このような問題に対処するために、本実施例の画像形成装置は、ＰＤＬ解釈部が割り込み処理に未対応である場合に限り、実行中のＰＤＬ解釈処理及び印刷出力処理に対して同時に一時停止を行わずに、ＰＤＬ解釈処理が完了した時点で印刷出力処理を一時停止させるように構成される。
【０１７１】
図１９は、本実施例に従う画像形成装置において、優先度が高いジョブが入力された時点に実行中のＰＤＬ解釈処理が完了した後に印刷出力処理に対して一時停止要求を行う場合の各モジュール間の動作フローの一例を示す図である。
【０１７２】
最初に、ステップＳ１２０１において、通信制御部５１からジョブ管理部５２へデータが入力される。このとき、エンジン４２ではエンジン制御部５６によって第１のジョブの出力処理を実行中であり、また、第１のＰＤＬ解釈部５３ａではＰＤＬ制御部５２４によって第２のジョブのＰＤＬ解釈処理を実行中である。入力されたデータの出力に関する第３のジョブの優先度は、第１のジョブ及び第２のジョブの夫々の優先度よりも高い。ジョブ管理部５２は、ＰＤＬ制御部５２４により第１のＰＤＬ解釈部５３ａが割り込み処理に対応していないことが検出されるならば、第１のＰＤＬ解釈部５３ａで実行中の第２のジョブのＰＤＬ解釈処理が終了するまで、第３のジョブのＰＤＬ解釈処理の開始を待ち合わせる。
【０１７３】
その後、第１のＰＤＬ解釈部５２ａによる第２のジョブのＰＤＬ解釈処理が終了すると、ステップＳ１２０２において、第１のＰＤＬ解釈部５３ａは、ジョブ管理部５２へＰＤＬ解釈終了通知を送信する。この通知を受けて、ジョブ管理部５２は、ステップＳ１２０３において、他のジョブに対して第３のジョブが優先して出力されるように、出力順変更部５２３によって出力順記憶部５２１に記憶された出力順序を変更するとともに、要求送信部５２５によりエンジン制御部５６へ印刷停止要求を送信する。
【０１７４】
その後、ステップＳ１２０４においてエンジン４２による第１のジョブに対する出力処理が一時停止すると、ステップＳ１２０５において、ジョブ管理部５２は、要求送信部５２５によりＰＤＬ制御部５２４を介して第２のＰＤＬ解釈部５３ｂへＰＤＬ解釈開始要求を送信し、通信制御部５１により入力されたデータに関する第３のジョブのＰＤＬ解釈処理を開始させる。
【０１７５】
更に、ジョブ管理部５２は、ステップＳ１２０６において、第２のＰＤＬ解釈部５３ｂによって第３のジョブに対して実行されたＰＤＬ解釈処理の結果得られた画像データを印刷するよう、要求送信部５２５によりエンジン制御部５６へ印刷開始要求を送信する。これを受けて、エンジン制御部５６は、エンジン４２によって第３のジョブの出力処理を開始する。
【０１７６】
その後、第２のＰＤＬ解釈部５３ｂによる第３のジョブに対するＰＤＬ解釈処理が終了すると、ステップＳ１２０７において、第２のＰＤＬ解釈部５３ｂは、ジョブ管理部５２へＰＤＬ解釈終了通知を送信する。これによって、ジョブ管理部５２は、第２のＰＤＬ解釈部５３ｂによる処理が終了したことを認識することができる。
【０１７７】
更に、エンジン４２による第３のジョブに対する出力処理が終了すると、ステップＳ１２０８において、エンジン制御部５６は、ジョブ管理部５２へ印刷終了通知を送信する。これによって、ジョブ管理部５２は、出力順序において先頭であった優先度が高いデータの印刷が終了したことを認識し、出力順記憶部５２１に格納されている先頭データを破棄する。次に、ステップＳ１２０９において、ジョブ管理部５２は、エンジン制御部５６へ印刷再開要求を送信し、先のステップＳ１２０４において一時停止された第１のジョブの出力処理を再開させる。
【０１７８】
以上、本実施例の画像形成装置は、ＰＤＬ解釈部が割り込み処理に対応していない場合には、ＰＤＬ解釈処理が完了した時点で印刷出力処理に対して一時停止要求を行うことにより、画像形成装置がデッドロックに陥ることを回避しながら、優先度が高いジョブを次のジョブとして割り込ませることを保証できる。
【０１７９】
［変形例］
以上、発明を実施するための最良の形態について説明を行ったが、本発明は、この最良の形態で述べた実施の形態に限定されるものではない。本発明の主旨を損なわない範囲で変更することが可能である。
【０１８０】
例えば、上述した本発明の画像形成装置は、ホスト端末からネットワークを介して送信されるデータに対する割り込み処理に関して説明されたが、画像形成装置自体により読み取られたデータも、同様に、画像形成装置に先に入力されたデータに割り込んで、優先的に出力されうる。
【０１８１】
また、本発明は、画像形成装置のハードディスク（ＨＤＤ）、読出し専用メモリ（ＲＯＭ）等のメモリに格納されたプログラムによって実現されても良い。即ち、上述したような画像形成装置の割り込み処理を実現する画像形成装置用プログラムをコンピュータ等の情報処理装置で実行することにより、本発明の画像形成装置を実現することができる。
【図面の簡単な説明】
【０１８２】
【図１】本発明の実施形態に従う画像形成装置を含む画像形成システムの構成の一例である。
【図２】本発明の実施形態に従う画像形成装置の一例としてのレーザプリンタのハード構成を示すブロック図である。
【図３】本発明の実施形態に従う画像形成装置のモジュール構成図の一例である。
【図４】実施例１に従う画像形成装置において出力順記憶部の出力順序変更前後のデータ構成の一例である。
【図５】実施例１に従う出力順序変更フローの一例を示す。
【図６】実施例１に従う画像形成装置においてＰＤＬ解釈処理終了後のジョブ管理部の動作フローの一例を示す。
【図７】実施例１に従う画像形成装置において優先度が高いデータが入力されたことにより出力順序が変更される場合の各モジュール間の動作フローの一例である。
【図８】Ｒａｗポート番号、プロトコル又はプリンタ名によって優先度を決定する優先度決定テーブルの一例である。
【図９】実施例２に従う画像形成装置において出力順記憶部の出力順序変更前後のデータ構成の一例である。
【図１０】実施例２に従う画像形成装置のジョブ処理動作フローの一例を示す。
【図１１】実施例２に従う画像形成装置においてＰＤＬ解釈部が割り込み処理に未対応である場合の各モジュール間の動作フローの一例を示す。
【図１２】実施例２に従う画像形成装置においてＰＤＬ解釈部のディレクトリ構造及び設定ファイルの記述を一例として表す。
【図１３】実施例３に従う画像形成装置のジョブ処理動作フローの一例を示す。
【図１４】実施例３に従う画像形成装置において、実行中の印刷出力処理が占有しているリソースを使用する優先度が高いジョブが入力される場合の各モジュール間の動作フローの一例を示す。
【図１５】実施例４に従う画像形成装置のジョブ処理動作フローの一例を示す。
【図１６】実施例５に従う画像形成装置のジョブ処理動作フローの一例を示す。
【図１７】実施例５に従う画像形成装置において、実行中のＰＤＬ解釈処理及び印刷出力処理の夫々の対象ジョブが同一である場合の各モジュール間の動作フローの一例を示す。
【図１８】実施例６に従う画像形成装置において、優先度が高いジョブが入力された時点に実行中のＰＤＬ解釈処理及び印刷出力処理の夫々に対して同時に又は連続して一時停止要求を行う場合の各モジュール間の動作フローの一例を示す。
【図１９】実施例７に従う画像形成装置において、優先度が高いジョブが入力された時点に実行中のＰＤＬ解釈処理が完了した後に印刷出力処理に対して一時停止要求を行う場合の各モジュール間の動作フローの一例を示す図である。
【符号の説明】
【０１８３】
１１  画像形成装置
１２  ホスト端末
１３  ネットワーク
４１  通信媒体
４２  エンジン
４３  操作パネル
４４  コントローラ
５１  通信制御部
５１１  入力部
５２  ジョブ管理部
５２１  出力順記憶部
５２２  優先度決定部
５２３  出力順変更部
５２４  ＰＤＬ制御部
５２５  要求送信部
５３ａ，５３ｂ，５３ｃ  ＰＤＬ解釈部
５４  システム制御部
５４１  印刷パラメータ保存部
５５  メモリ制御部
５６  エンジン制御部
５６１  出力制御部
５７  パネル制御部
５８  パネル管理部
【図１】
2008254346.tif 000003
【図２】
2008254346.tif 000004
【図３】
2008254346.tif 000005
【図４】
2008254346.tif 000006
【図５】
2008254346.tif 000007
【図６】
2008254346.tif 000008
【図７】
2008254346.tif 000009
【図８】
2008254346.tif 000010
【図９】
2008254346.tif 000011
【図１０】
2008254346.tif 000012
【図１１】
2008254346.tif 000013
【図１２】
2008254346.tif 000014
【図１３】
2008254346.tif 000015
【図１４】
2008254346.tif 000016
【図１５】
2008254346.tif 000017
【図１６】
2008254346.tif 000018
【図１７】
2008254346.tif 000019
【図１８】
2008254346.tif 000020
【図１９】
2008254346.tif 000021