(57)【要約】【課題】１つのＲＩＰに排他的に処理を行わせる画像処理装置において、ジョブの順序をできるだけ維持しつつも、処理中のＲＩＰのラスター画像の作成及び転送の機能を有効利用する。【解決手段】投入されたジョブは未ＲＩＰならＲＩＰキュー１２に、ＲＩＰ済みならプリントキュー１４に追加される。処理中ＲＩＰのラスター画像作成部及びラスター画像転送部は、ＲＩＰキュー１２及びプリントキュー１４の先頭ジョブに対して当該処理中のジョブが指定されていれば、当該先頭ジョブを処理する。処理中ジョブリスト１６は、処理中のＲＩＰにて処理が開始され且つ印刷が完了していないジョブを記憶する。処理中ＲＩＰのラスター画像作成部があるジョブのラスター画像作成を完了すると、処理中ジョブリスト１６を参照して、そのジョブを、プリントキュー１４の先頭から見て、指定されたＲＩＰが処理中ＲＩＰでない最初のジョブとその１つ前のジョブとの間に挿入する。【選択図】図１
2013061911.tif 000002
【特許請求の範囲】
【請求項１】
それぞれ異なるページ記述言語に対応する複数のページ記述言語処理手段と、
前記複数のページ記述言語処理手段のうちの１つを処理中ページ記述言語処理手段に選定し、当該処理中ページ記述言語処理手段のみに印刷ジョブの処理を行わせるための管理を行うジョブ管理手段と、
を備え、
前記複数のページ記述言語処理手段の各々は、
当該ページ記述言語処理手段に対応するページ記述言語で記述された印刷ジョブを解釈してラスター画像を作成するラスター画像作成手段と、
前記ラスター画像生成手段が前記印刷ジョブから生成したラスター画像を印刷装置に転送して印刷させるラスター画像転送手段と、
を備え、
前記ジョブ管理手段は、
ラスター画像が未作成の印刷ジョブの待ち行列である第１キューと、
ラスター画像が作成済みの印刷ジョブの待ち行列である第２キューと、
印刷ジョブと、当該印刷ジョブを処理させるページ記述言語処理手段を指定する指定情報とを含む印刷実行指示を受けた場合、当該印刷ジョブがラスター画像未作成のものであれば、当該印刷ジョブを当該指定情報と対応づけて前記第１キューの末尾に追加し、当該指定情報に指定されるページ記述言語処理手段のラスター画像作成手段に処理開始を指示し、当該印刷ジョブがラスター画像作成済みのものであれば、当該印刷ジョブを当該指定情報と対応づけて前記第２キューの末尾に追加し、当該指定情報に指定されるページ記述言語処理手段のラスター画像転送手段に処理開始を指示する受取時キュー追加手段と、
前記処理中ページ記述言語処理手段のラスター画像作成手段が印刷ジョブのラスター画像を作成した場合に、当該印刷ジョブを前記第２のキューに追加し、当該処理中ページ記述言語処理手段のラスター画像転送手段に処理開始時を指示する画像作成時キュー追加手段と、
前記処理中ページ記述言語処理手段のラスター画像作成手段及びラスター画像転送手段が共に印刷ジョブの処理を行っていない状態となったときに、前記第１キュー及び前記第２キューのそれぞれの先頭の印刷ジョブに対応づけられた前記指定情報に指定されるページ記述言語処理手段が共に前記処理中ページ記述言語処理手段と一致しなければ、前記第１キュー又は前記第２キューの先頭の印刷ジョブに対応づけられた前記指定情報が指定するページ記述言語処理手段を、新たに処理中ページ記述言語処理手段に選定し、当該ページ記述言語処理手段に処理開始を指示する第１の指示手段と、
前記処理中ページ記述言語処理手段のラスター画像作成手段及びラスター画像転送手段が共に印刷ジョブの処理を行っていない状態となったときに、前記第１キューの先頭の印刷ジョブに対応づけられた前記指定情報に指定されるページ記述言語処理手段が前記処理中ページ記述言語処理手段と一致する場合、前記ページ記述言語処理手段を、引き続き処理中ページ記述言語処理手段として選定し、当該ページ記述言語処理手段のラスター画像作成手段に処理開始を指示する第２の指示手段と、
前記処理中ページ記述言語処理手段のラスター画像作成手段及びラスター画像転送手段が共に印刷ジョブの処理を行っていない状態となったときに、前記第２キューの先頭の印刷ジョブに対応づけられた前記指定情報に指定されるページ記述言語処理手段が前記処理中ページ記述言語処理手段と一致する場合、前記ページ記述言語処理手段を、引き続き処理中ページ記述言語処理手段として選定し、当該ページ記述言語処理手段のラスター画像転送手段に処理開始を指示する第３の指示手段と、
前記ラスター画像作成手段が印刷ジョブの処理を終えるごとに、前記第１のキューの先頭の印刷ジョブに対応する前記指定情報を調べ、当該指定情報に指定されるページ記述言語処理手段が現在の処理中ページ記述言語処理手段に一致する場合には当該先頭のジョブを前記ラスター画像作成手段に処理させると共に、前記ラスター画像転送手段が印刷ジョブの処理を終えるごとに、前記第２のキューの先頭の印刷ジョブに対応する前記指定情報を調べ、当該指定情報に指定されるページ記述言語処理手段が現在の処理中ページ記述言語処理手段に一致する場合には当該先頭のジョブを前記ラスター画像転送手段に処理させる制御を行う制御手段と、
前記処理中のページ記述言語処理手段のラスター画像作成手段又はラスター画像転送手段により処理を開始された印刷ジョブであって、印刷装置による印刷が完了していない印刷ジョブ、のリストを記憶する処理中ジョブリスト記憶手段と、
を備え、
前記画像作成時キュー追加手段は、前記印刷ジョブを前記第２のキューに追加する際に、当該印刷ジョブを、前記第２のキューの先頭の印刷ジョブから見て前記処理中ジョブリスト記憶手段に記憶されていない最初の印刷ジョブとその１つ前の印刷ジョブとの間に挿入する、
ことを特徴とする画像処理装置。
【請求項２】
コンピュータを、
それぞれ異なるページ記述言語に対応する複数のページ記述言語処理手段、
前記複数のページ記述言語処理手段のうちの１つを処理中ページ記述言語処理手段に選定し、当該処理中ページ記述言語処理手段のみに印刷ジョブの処理を行わせるための管理を行うジョブ管理手段、
として機能させるためのプログラムであって、
前記複数のページ記述言語処理手段の各々は、
当該ページ記述言語処理手段に対応するページ記述言語で記述された印刷ジョブを解釈してラスター画像を作成するラスター画像作成手段と、
前記ラスター画像生成手段が前記印刷ジョブから生成したラスター画像を印刷装置に転送して印刷させるラスター画像転送手段と、
を備え、
前記ジョブ管理手段は、
ラスター画像が未作成の印刷ジョブの待ち行列である第１キューと、
ラスター画像が作成済みの印刷ジョブの待ち行列である第２キューと、
印刷ジョブと、当該印刷ジョブを処理させるページ記述言語処理手段を指定する指定情報とを含む印刷実行指示を受けた場合、当該印刷ジョブがラスター画像未作成のものであれば、当該印刷ジョブを当該指定情報と対応づけて前記第１キューの末尾に追加し、当該指定情報に指定されるページ記述言語処理手段のラスター画像作成手段に処理開始を指示し、当該印刷ジョブがラスター画像作成済みのものであれば、当該印刷ジョブを当該指定情報と対応づけて前記第２キューの末尾に追加し、当該指定情報に指定されるページ記述言語処理手段のラスター画像転送手段に処理開始を指示する受取時キュー追加手段と、
前記処理中ページ記述言語処理手段のラスター画像作成手段が印刷ジョブのラスター画像を作成した場合に、当該印刷ジョブを前記第２のキューに追加し、当該処理中ページ記述言語処理手段のラスター画像転送手段に処理開始時を指示する画像作成時キュー追加手段と、
前記処理中ページ記述言語処理手段のラスター画像作成手段及びラスター画像転送手段が共に印刷ジョブの処理を行っていない状態となったときに、前記第１キュー及び前記第２キューのそれぞれの先頭の印刷ジョブに対応づけられた前記指定情報に指定されるページ記述言語処理手段が共に前記処理中ページ記述言語処理手段と一致しなければ、前記第１キュー又は前記第２キューの先頭の印刷ジョブに対応づけられた前記指定情報が指定するページ記述言語処理手段を、新たに処理中ページ記述言語処理手段に選定し、当該ページ記述言語処理手段に処理開始を指示する第１の指示手段と、
前記処理中ページ記述言語処理手段のラスター画像作成手段及びラスター画像転送手段が共に印刷ジョブの処理を行っていない状態となったときに、前記第１キューの先頭の印刷ジョブに対応づけられた前記指定情報に指定されるページ記述言語処理手段が前記処理中ページ記述言語処理手段と一致する場合、前記ページ記述言語処理手段を、引き続き処理中ページ記述言語処理手段として選定し、当該ページ記述言語処理手段のラスター画像作成手段に処理開始を指示する第２の指示手段と、
前記処理中ページ記述言語処理手段のラスター画像作成手段及びラスター画像転送手段が共に印刷ジョブの処理を行っていない状態となったときに、前記第２キューの先頭の印刷ジョブに対応づけられた前記指定情報に指定されるページ記述言語処理手段が前記処理中ページ記述言語処理手段と一致する場合、前記ページ記述言語処理手段を、引き続き処理中ページ記述言語処理手段として選定し、当該ページ記述言語処理手段のラスター画像転送手段に処理開始を指示する第３の指示手段と、
前記ラスター画像作成手段が印刷ジョブの処理を終えるごとに、前記第１のキューの先頭の印刷ジョブに対応する前記指定情報を調べ、当該指定情報に指定されるページ記述言語処理手段が現在の処理中ページ記述言語処理手段に一致する場合には当該先頭のジョブを前記ラスター画像作成手段に処理させると共に、前記ラスター画像転送手段が印刷ジョブの処理を終えるごとに、前記第２のキューの先頭の印刷ジョブに対応する前記指定情報を調べ、当該指定情報に指定されるページ記述言語処理手段が現在の処理中ページ記述言語処理手段に一致する場合には当該先頭のジョブを前記ラスター画像転送手段に処理させる制御を行う制御手段と、
前記処理中のページ記述言語処理手段のラスター画像作成手段又はラスター画像転送手段により処理を開始された印刷ジョブであって、印刷装置による印刷が完了していない印刷ジョブ、のリストを記憶する処理中ジョブリスト記憶手段と、
を備え、
前記画像作成時キュー追加手段は、前記印刷ジョブを前記第２のキューに追加する際に、当該印刷ジョブを、前記第２のキューの先頭の印刷ジョブから見て前記処理中ジョブリスト記憶手段に記憶されていない最初の印刷ジョブとその１つ前の印刷ジョブとの間に挿入する、
ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置及びプログラムに関する。
【背景技術】
【０００２】
プリントコントローラ、プリントサーバ、プリンタ（以下「プリントコントローラ等」と呼ぶ）などの装置は、クライアントコンピュータから送られてくるページ記述言語（以下、「ＰＤＬ」と呼ぶ。ＰＤＬはPage Description Languageの略）の印刷データを解釈してラスター画像データを生成するために、ＲＩＰ（Raster Image Processor）と呼ばれる処理モジュールを備えている。以下では、ＲＩＰが行う解釈及びラスター画像生成（ラスタライズ）の処理のことを、ＲＩＰ処理と呼ぶ。
【０００３】
また、近年普及しているＰＤＦ(Portable Document Format）は、閲覧に適したファイル形式であるが、従来からプリンタに直接投入して印刷出力することが可能であり、一種のＰＤＬと捉えられている。従来、ＰＤＦデータが入力された場合、プリントコントローラ等が備えるＰｏｓｔＳｃｒｉｐｔ（登録商標）言語用のＲＩＰがそのＰＤＦデータを受理し、そのＰＤＦデータをＰｏｓｔＳｃｒｉｐｔ言語のデータに変換してから、ＲＩＰ処理を行っていた。このため、ＰＤＦデータのＲＩＰ処理には、ＰｏｓｔＳｃｒｉｐｔの場合よりも長い時間を要していた。
【０００４】
近年、ＰＤＦデータの処理の高速化のために、ＰＤＦデータを直接解釈してラスタライズするタイプのＲＩＰが開発された。このＲＩＰは、ＰｏｓｔＳｃｒｉｐｔデータを受理し、そのＰｏｓｔＳｃｒｉｐｔデータをＰＤＦ形式に変換してからＲＩＰ処理する機能も備えている。このＲＩＰの場合、ＰｏｓｔＳｃｒｉｐｔデータのＲＩＰ処理には、ＰＤＦの場合よりも長い時間を要する。
【０００５】
ＰｏｓｔＳｃｒｉｐｔデータもＰＤＦデータも共に高速に処理するために、ＰｏｓｔＳｃｒｉｐｔ用のＲＩＰとＰＤＦ用のＲＩＰの両方をプリントコントローラ等に搭載することも考えられる。しかし、ＲＩＰ処理には非常に大きなメモリ領域が必要なので、搭載メモリの容量上の制限から両プリンタコントローラ等は両方のＲＩＰを同時に実行することができない場合も考えられる。
【０００６】
特許文献１には、複数のＲＩＰの実行を制御し、複数のジョブを処理する方法が記載されている（例えば同文献の段落００１６）。ＲＩＰには優先処理順位が設定されており、優先処理順位が高いＲＩＰが実行中に低いＲＩＰを中断するという制御を行っている。
【０００７】
特許文献２には、再ＲＩＰを行ったジョブをプリントキューに登録する際に、プリントキューの末尾に追加するだけでなく、ジョブの属性に応じた位置に追加することが記載されている（例えば同文献の請求項１）。
【０００８】
特許文献３には、複数のジョブに対し、同じ処理状態のジョブが複数処理されないようにする排他制御方法が記載されている（例えば同文献の請求項１）。この排他制御方法における排他制御の観点は、転送状態、ラスタライズ状態、出力状態処理状態などの状態であり、ＲＩＰの種類ではない。
【０００９】
特許文献４には、複数並行して実行可能な印刷処理手段によって実行される印刷処理の実行数が第１制限値に達している場合、一部の印刷処理を待機状態に制御する方法が記載されている（例えば同文献の請求項１）。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開平１０−２４０４６７号公報
【特許文献２】特開２０１０−０４９４０５号公報
【特許文献３】特開２００６−０６７５８７号公報
【特許文献４】特開２００９−００９３７８号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
本発明は、複数のページ記述言語処理手段のうち１つに排他的に処理を行わせる画像処理装置において、印刷ジョブの処理順序をできるだけ維持しつつも、処理中のページ記述言語処理手段の備えるラスター画像作成機能と作成されたラスター画像の転送機能とをできるだけ有効利用することを目的とする。
【課題を解決するための手段】
【００１２】
請求項１に係る発明は、それぞれ異なるページ記述言語に対応する複数のページ記述言語処理手段と、前記複数のページ記述言語処理手段のうちの１つを処理中ページ記述言語処理手段に選定し、当該処理中ページ記述言語処理手段のみに印刷ジョブの処理を行わせるための管理を行うジョブ管理手段と、を備え、前記複数のページ記述言語処理手段の各々は、当該ページ記述言語処理手段に対応するページ記述言語で記述された印刷ジョブを解釈してラスター画像を作成するラスター画像作成手段と、前記ラスター画像生成手段が前記印刷ジョブから生成したラスター画像を印刷装置に転送して印刷させるラスター画像転送手段と、を備え、前記ジョブ管理手段は、ラスター画像が未作成の印刷ジョブの待ち行列である第１キューと、ラスター画像が作成済みの印刷ジョブの待ち行列である第２キューと、印刷ジョブと、当該印刷ジョブを処理させるページ記述言語処理手段を指定する指定情報とを含む印刷実行指示を受けた場合、当該印刷ジョブがラスター画像未作成のものであれば、当該印刷ジョブを当該指定情報と対応づけて前記第１キューの末尾に追加し、当該指定情報に指定されるページ記述言語処理手段のラスター画像作成手段に処理開始を指示し、当該印刷ジョブがラスター画像作成済みのものであれば、当該印刷ジョブを当該指定情報と対応づけて前記第２キューの末尾に追加し、当該指定情報に指定されるページ記述言語処理手段のラスター画像転送手段に処理開始を指示する受取時キュー追加手段と、前記処理中ページ記述言語処理手段のラスター画像作成手段が印刷ジョブのラスター画像を作成した場合に、当該印刷ジョブを前記第２のキューに追加し、当該処理中ページ記述言語処理手段のラスター画像転送手段に処理開始時を指示する画像作成時キュー追加手段と、前記処理中ページ記述言語処理手段のラスター画像作成手段及びラスター画像転送手段が共に印刷ジョブの処理を行っていない状態となったときに、前記第１キュー及び前記第２キューのそれぞれの先頭の印刷ジョブに対応づけられた前記指定情報に指定されるページ記述言語処理手段が共に前記処理中ページ記述言語処理手段と一致しなければ、前記第１キュー又は前記第２キューの先頭の印刷ジョブに対応づけられた前記指定情報が指定するページ記述言語処理手段を、新たに処理中ページ記述言語処理手段に選定し、当該ページ記述言語処理手段に処理開始を指示する第１の指示手段と、前記処理中ページ記述言語処理手段のラスター画像作成手段及びラスター画像転送手段が共に印刷ジョブの処理を行っていない状態となったときに、前記第１キューの先頭の印刷ジョブに対応づけられた前記指定情報に指定されるページ記述言語処理手段が前記処理中ページ記述言語処理手段と一致する場合、前記ページ記述言語処理手段を、引き続き処理中ページ記述言語処理手段として選定し、当該ページ記述言語処理手段のラスター画像作成手段に処理開始を指示する第２の指示手段と、前記処理中ページ記述言語処理手段のラスター画像作成手段及びラスター画像転送手段が共に印刷ジョブの処理を行っていない状態となったときに、前記第２キューの先頭の印刷ジョブに対応づけられた前記指定情報に指定されるページ記述言語処理手段が前記処理中ページ記述言語処理手段と一致する場合、前記ページ記述言語処理手段を、引き続き処理中ページ記述言語処理手段として選定し、当該ページ記述言語処理手段のラスター画像転送手段に処理開始を指示する第３の指示手段と、前記ラスター画像作成手段が印刷ジョブの処理を終えるごとに、前記第１のキューの先頭の印刷ジョブに対応する前記指定情報を調べ、当該指定情報に指定されるページ記述言語処理手段が現在の処理中ページ記述言語処理手段に一致する場合には当該先頭のジョブを前記ラスター画像作成手段に処理させると共に、前記ラスター画像転送手段が印刷ジョブの処理を終えるごとに、前記第２のキューの先頭の印刷ジョブに対応する前記指定情報を調べ、当該指定情報に指定されるページ記述言語処理手段が現在の処理中ページ記述言語処理手段に一致する場合には当該先頭のジョブを前記ラスター画像転送手段に処理させる制御を行う制御手段と、前記処理中のページ記述言語処理手段のラスター画像作成手段又はラスター画像転送手段により処理を開始された印刷ジョブであって、印刷装置による印刷が完了していない印刷ジョブ、のリストを記憶する処理中ジョブリスト記憶手段と、を備え、前記画像作成時キュー追加手段は、前記印刷ジョブを前記第２のキューに追加する際に、当該印刷ジョブを、前記第２のキューの先頭の印刷ジョブから見て前記処理中ジョブリスト記憶手段に記憶されていない最初の印刷ジョブとその１つ前の印刷ジョブとの間に挿入する、ことを特徴とする画像処理装置である。
【００１３】
請求項２に係る発明は、コンピュータを、それぞれ異なるページ記述言語に対応する複数のページ記述言語処理手段、前記複数のページ記述言語処理手段のうちの１つを処理中ページ記述言語処理手段に選定し、当該処理中ページ記述言語処理手段のみに印刷ジョブの処理を行わせるための管理を行うジョブ管理手段、として機能させるためのプログラムであって、前記複数のページ記述言語処理手段の各々は、当該ページ記述言語処理手段に対応するページ記述言語で記述された印刷ジョブを解釈してラスター画像を作成するラスター画像作成手段と、前記ラスター画像生成手段が前記印刷ジョブから生成したラスター画像を印刷装置に転送して印刷させるラスター画像転送手段と、を備え、前記ジョブ管理手段は、ラスター画像が未作成の印刷ジョブの待ち行列である第１キューと、ラスター画像が作成済みの印刷ジョブの待ち行列である第２キューと、印刷ジョブと、当該印刷ジョブを処理させるページ記述言語処理手段を指定する指定情報とを含む印刷実行指示を受けた場合、当該印刷ジョブがラスター画像未作成のものであれば、当該印刷ジョブを当該指定情報と対応づけて前記第１キューの末尾に追加し、当該指定情報に指定されるページ記述言語処理手段のラスター画像作成手段に処理開始を指示し、当該印刷ジョブがラスター画像作成済みのものであれば、当該印刷ジョブを当該指定情報と対応づけて前記第２キューの末尾に追加し、当該指定情報に指定されるページ記述言語処理手段のラスター画像転送手段に処理開始を指示する受取時キュー追加手段と、前記処理中ページ記述言語処理手段のラスター画像作成手段が印刷ジョブのラスター画像を作成した場合に、当該印刷ジョブを前記第２のキューに追加し、当該処理中ページ記述言語処理手段のラスター画像転送手段に処理開始時を指示する画像作成時キュー追加手段と、前記処理中ページ記述言語処理手段のラスター画像作成手段及びラスター画像転送手段が共に印刷ジョブの処理を行っていない状態となったときに、前記第１キュー及び前記第２キューのそれぞれの先頭の印刷ジョブに対応づけられた前記指定情報に指定されるページ記述言語処理手段が共に前記処理中ページ記述言語処理手段と一致しなければ、前記第１キュー又は前記第２キューの先頭の印刷ジョブに対応づけられた前記指定情報が指定するページ記述言語処理手段を、新たに処理中ページ記述言語処理手段に選定し、当該ページ記述言語処理手段に処理開始を指示する第１の指示手段と、前記処理中ページ記述言語処理手段のラスター画像作成手段及びラスター画像転送手段が共に印刷ジョブの処理を行っていない状態となったときに、前記第１キューの先頭の印刷ジョブに対応づけられた前記指定情報に指定されるページ記述言語処理手段が前記処理中ページ記述言語処理手段と一致する場合、前記ページ記述言語処理手段を、引き続き処理中ページ記述言語処理手段として選定し、当該ページ記述言語処理手段のラスター画像作成手段に処理開始を指示する第２の指示手段と、前記処理中ページ記述言語処理手段のラスター画像作成手段及びラスター画像転送手段が共に印刷ジョブの処理を行っていない状態となったときに、前記第２キューの先頭の印刷ジョブに対応づけられた前記指定情報に指定されるページ記述言語処理手段が前記処理中ページ記述言語処理手段と一致する場合、前記ページ記述言語処理手段を、引き続き処理中ページ記述言語処理手段として選定し、当該ページ記述言語処理手段のラスター画像転送手段に処理開始を指示する第３の指示手段と、前記ラスター画像作成手段が印刷ジョブの処理を終えるごとに、前記第１のキューの先頭の印刷ジョブに対応する前記指定情報を調べ、当該指定情報に指定されるページ記述言語処理手段が現在の処理中ページ記述言語処理手段に一致する場合には当該先頭のジョブを前記ラスター画像作成手段に処理させると共に、前記ラスター画像転送手段が印刷ジョブの処理を終えるごとに、前記第２のキューの先頭の印刷ジョブに対応する前記指定情報を調べ、当該指定情報に指定されるページ記述言語処理手段が現在の処理中ページ記述言語処理手段に一致する場合には当該先頭のジョブを前記ラスター画像転送手段に処理させる制御を行う制御手段と、前記処理中のページ記述言語処理手段のラスター画像作成手段又はラスター画像転送手段により処理を開始された印刷ジョブであって、印刷装置による印刷が完了していない印刷ジョブ、のリストを記憶する処理中ジョブリスト記憶手段と、を備え、前記画像作成時キュー追加手段は、前記印刷ジョブを前記第２のキューに追加する際に、当該印刷ジョブを、前記第２のキューの先頭の印刷ジョブから見て前記処理中ジョブリスト記憶手段に記憶されていない最初の印刷ジョブとその１つ前の印刷ジョブとの間に挿入する、ことを特徴とするプログラムである。
【発明の効果】
【００１４】
請求項１又は２に係る発明によれば、複数のページ記述言語処理手段のうち１つに排他的に処理を行わせる画像処理装置において、印刷ジョブの処理順序をできるだけ維持しつつも、処理中のページ記述言語処理手段の備えるラスター画像作成機能と作成されたラスター画像の転送機能とをできるだけ有効利用することができる。
【図面の簡単な説明】
【００１５】
【図１】実施の形態のシステム構成の一例を示す図である。
【図２】キューのデータ内容の一例を示す図である。
【図３】ジョブ管理モジュールが実行する処理（ａ）の手順の例を示す図である。
【図４】ジョブ管理モジュールが実行する処理（ｂ）の手順の例を示す図である。
【図５】ジョブ管理モジュールが実行する処理（ｃ）の手順の例を示す図である。
【図６】ジョブ管理モジュールが実行する処理（ｄ）の手順の例を示す図である。
【図７】ジョブ管理モジュールが実行する処理（ｅ）の手順の前半部の例を示す図である。
【図８】ジョブ管理モジュールが実行する処理（ｅ）の手順の後半部の例を示す図である。
【図９】ＲＩＰの処理手順の例を示す図である。
【図１０】未ＲＩＰジョブが投入されたときの印刷処理システムの処理の流れの例を示す図である。
【図１１】ＲＩＰ済みジョブが投入されたときの印刷処理システムの処理の流れの例を示す図である。
【発明を実施するための形態】
【００１６】
図１を参照して、この実施の形態の印刷処理システムの構成例を説明する。この印刷処理システムは、例えば、クライアントコンピュータ（図示省略）から入力される印刷ジョブを処理することで、その印刷ジョブに指示される画像を用紙に印刷する。また、印刷処理システムは、当該システムが保持している印刷ジョブについての印刷実行の指示を、当該システムのＵＩ（ユーザインタフェース）から、又はクライアントコンピュータから受け付け、その印刷ジョブの印刷処理を実行してもよい。また、ＰＤＦ等のフォーマットのファイル（印刷ジョブ）を印刷処理システムの入力インタフェース（例えばＤＶＤ等のディスクを読み取る読取装置、ＵＳＢメモリが装着されるＵＳＢインタフェース等）から当該システム内に読み込み、これを当該システムが印刷処理してもよい。また、印刷処理システム又はクライアントコンピュータに作成された特定のフォルダ（ホットフォルダと呼ばれる）に対して印刷ジョブのファイルを投入すると、印刷処理システムがその印刷ジョブを処理するようにしてもよい。
【００１７】
印刷処理システムが処理する印刷ジョブは、いずれかのＰＤＬ（ページ記述言語）で記述された印刷データを含んでいる。印刷データには、印刷対象の画像をＰＤＬで記述したものもあれば、ＲＩＰ処理済みのラスター画像とＰＤＬで記述された印刷属性等の付加情報とを含んだものもある。後者の印刷ジョブについては、印刷処理システム内のＲＩＰは解釈及びラスタライズの処理を行う必要はない。以下では前者を未ＲＩＰジョブ、後者をＲＩＰ済みジョブと呼ぶ。なお、印刷処理システムが保持するＲＩＰ済みジョブには、例えば、（ア）印刷処理システム上に保持されているジョブであって、過去にＲＩＰ処理が済んでいるジョブ、（イ）他の装置で作成されたＲＩＰ済みデータを持つ形式のジョブが印刷処理システムに読み込まれたもの、（ウ）他の装置で作成されたＲＩＰ済みデータを持つ形式のジョブがホットフォルダに投入されたもの、等がある。
【００１８】
図１に例示するシステムは、ジョブ管理モジュール１０と、２つのＲＩＰ（Raster Image Processor）２０Ａ及び２０Ｂと、プリンタ３０とを備えている。ジョブ管理モジュール１０及びＲＩＰ２０Ａ及び２０Ｂは、例えば１台のコンピュータ（例えばプリントコントローラ、プリントサーバ、又は印刷装置内のコンピュータ）上に、ソフトウエアモジュールとして実装される。
【００１９】
プリンタ３０は、ＲＩＰ２０Ａ及び２０Ｂから入力されるラスター画像データを用紙に対して印刷する。
【００２０】
ＲＩＰ２０Ａ及び２０Ｂは、ＰＤＬで記述された印刷データを解釈してラスター画像データを生成する処理モジュールである。ＲＩＰ２０ＡとＲＩＰ２０Ｂとは、それぞれ高速処理可能なページ記述言語が異なるＲＩＰである。すなわち、ＲＩＰ２０Ａは、第１のＰＤＬで記述されたデータをＲＩＰ２０Ｂよりも高速に処理するのに対し、ＲＩＰ２０Ｂは、第１のＰＤＬとは異なる第２のＰＤＬで記述されたデータをＲＩＰ２０Ａよりも高速に処理する。一例として、以下の説明では、ＲＩＰ２０ＡはＰｏｓｔＳｃｒｉｐｔ用のＲＩＰ（すなわちＰｏｓｔＳｃｒｉｐｔデータをＲＩＰ２０Ｂよりも高速に処理）であり、ＲＩＰ２０ＢはＰＤＦ用のＲＩＰ（すなわちＰＤＦデータをＲＩＰ２０Ａよりも高速に処理）であるとする。
【００２１】
ＲＩＰ２０Ａは、ラスター画像作成部２２Ａ、ラスター画像転送部２４Ａ、及びプリンタ監視部２６Ａを備えている。同様にＲＩＰ２０Ｂは、ラスター画像作成部２２Ｂ、ラスター画像転送部２４Ｂ、及びプリンタ監視部２６Ｂを備えている。ラスター画像生成部２２Ａ及び２２Ｂは、ＰＤＬデータを解釈してラスター画像データを生成する。ラスター画像転送部２４Ａ及び２４Ｂは、ラスター画像データをプリンタ３０へ転送したり、プリンタ３０に対してそのラスター画像データの印刷のための各種の制御信号を送ったりする。プリンタ監視部２６Ａ及び２６Ｂは、プリンタ３０に対して送ったラスター画像データの印刷が完了するのを監視する。
【００２２】
このように、この実施の形態では、ＲＩＰ２０Ａ及び２０Ｂの機能を、ラスター画像作成部２２Ａ及び２２Ｂと、ラスター画像転送部２４Ａ及び２４Ｂの２段階に分け、印刷ジョブがそれぞれ必要な段階の処理を受けるようにした。すなわち、未ＲＩＰジョブは両方の段階の処理を受け、ＲＩＰ済みジョブは後の段階、すなわちラスター画像転送部２４Ａ又は２４Ｂの処理のみを受ける。なお、１つの印刷ジョブは、両方の段階の処理を受ける場合には、必ず同じＲＩＰ（２０Ａ又は２０Ｂ）で処理を受ける。
【００２３】
ジョブ管理モジュール１０は、上に例示したクライアントコンピュータ（図示省略）から入力される印刷ジョブや印刷処理システム自身が保持している印刷ジョブ等の印刷ジョブの実行を管理する処理モジュールである。
【００２４】
印刷ジョブは、いずれかのＰＤＬ（ページ記述言語）で記述された印刷データを含んでいる。印刷データには、印刷対象の画像をＰＤＬで記述したものもあれば、ＲＩＰ処理済みのラスター画像とＰＤＬで記述された印刷属性等の付加情報とを含んだものもある。この実施の形態では、印刷ジョブには、印刷データの他に、ＲＩＰ２０Ａ及び２０Ｂのうちのいずれに処理させるかの指定の情報（以下、「指定ＲＩＰ情報」と呼ぶ）が含まれているものとする。なお、この指定は、印刷ジョブの実行を指示するユーザが、例えばクライアントコンピュータ上のプリンタドライバ又は印刷処理システムのＵＩ等に対して行い、プリンタドライバ又は印刷処理システムのＵＩ等がその指定に応じたＲＩＰの識別情報、すなわち指定ＲＩＰ情報を、印刷ジョブと対応づけて（あるいは印刷ジョブのデータの中に含めて）、この実施の形態のジョブ管理モジュール１０に渡す。
【００２５】
ジョブ管理モジュール１０は、ＲＩＰキュー１２、プリントキュー１４、処理中ジョブリスト１６、処理中ＲＩＰ情報１８を備えている。
【００２６】
ＲＩＰキュー１２は、２段階のうちの第１段階、すなわちラスター画像生成部２２Ａ又は２２Ｂの処理を待つ印刷ジョブの待ち行列である。プリントキュー１４は、２段階のうちの第２段階、すなわちラスター画像転送部２４Ａ又は２４Ｂの処理を待つ印刷ジョブの待ち行列である。各キュー１２，１４には、図２に示すように、個々の印刷ジョブ（典型的には印刷ジョブの識別情報）が、その印刷ジョブに対応する指定ＲＩＰ情報と対応づけて入れられる。図２では、ＲＩＰ２０Ａを「ＲＩＰ−Ａ」と、ＲＩＰ２０Ｂを「ＲＩＰ−Ｂ」と表記している。各キュー１２，１４内の印刷ジョブは、先入れ先出し順で先頭から順に取り出されていき、ＲＩＰ２０Ａ又は２０Ｂで処理される。印刷処理の対象として指定された未ＲＩＰジョブは、まずＲＩＰキュー１２に入れられ、順番が来ると、指定されたラスター画像生成部２２Ａ又は２２Ｂによりラスタライズ処理を受ける。そして、ラスタライズ処理が完了するとそのジョブはプリントキュー１４に入れられ、順番が来ると、指定されたラスター画像転送部２４Ａ又は２４Ｂによりプリンタ３０へ転送され、印刷される。一方、印刷処理の対象として指定されたＲＩＰ済みジョブは、ＲＩＰキュー１２を飛ばしてプリントキュー１４に入れられ、順番が来ると、指定されたラスター画像転送部２４Ａ又は２４Ｂによりプリンタ３０へ転送され、印刷される。
【００２７】
処理中ジョブリスト１６は、現在「処理中」である印刷ジョブのリストである。ここで言う「処理中」とは、未ＲＩＰジョブについては、第１段階（ラスター画像作成部２２Ａ及び２２Ｂ）により当該ジョブの処理が開始してから、当該ジョブについての第２段階（ラスター画像転送部２４Ａ及び２４Ｂ）の転送処理が終了するまでの間にあることをいい、ＲＩＰ済みジョブについては、当該ジョブについての第２段階（ラスター画像転送部２４Ａ及び２４Ｂ）の転送処理が開始してから終了するまでの間にあることをいう。この実施の形態では、ＲＩＰ２０Ａ及び２０Ｂを排他的に処理を行わせるので、処理中ジョブリスト１６に含まれる処理中の各印刷ジョブは、ＲＩＰ２０Ａ及び２０Ｂのうち現在処理動作中のＲＩＰにて「処理中」のものである。言い換えれば、処理中ジョブリストには、指定ＲＩＰ情報がＲＩＰ２０Ａを示している印刷ジョブと、指定ＲＩＰ情報がＲＩＰ２０Ｂを示している印刷ジョブが混在することがないように、制御を行う（詳細は後述）。
【００２８】
処理中ＲＩＰ情報１８は、現在処理を行っているＲＩＰの識別情報である。処理中ジョブリスト１６には、処理中ＲＩＰ情報１８が示すＲＩＰにて「処理中」の印刷ジョブの識別情報が含まれることになる。
【００２９】
図１には２つのＲＩＰ２０Ａ及び２０Ｂを備える印刷処理システムを例示したが、この実施の形態の制御は、３つ以上のＲＩＰを備えるシステムにも適用される。
【００３０】
ジョブ管理モジュール１０は、以上に説明したＲＩＰキュー１２、プリントキュー１４、処理中ジョブリスト１６、及び処理中ＲＩＰ情報１８を用いて、以下のような印刷ジョブの実行管理を行う。このジョブ管理モジュール１０による印刷ジョブの実行管理の処理を、処理（ａ）〜（ｅ）の５つの処理に分けて説明する。
【００３１】
＜説明に使用する記号のまとめ＞
なお、以下の処理手順の説明において用いる記号の意味を以下にまとめる。
【００３２】
Ｐ1、Ｐ2、…ＰN ：Ｎ種類存在するＲＩＰの種類を表す（図１の例では２種類）。
Ｐc：現在処理中のＲＩＰを表す（すなわち処理中ＲＩＰ情報１８が示すＲＩＰ）。ＰcはＰ1〜ＰN、またはＰ0の状態をとる。Ｐ0は、現在処理中のＲＩＰが存在しない（すなわちＮ種類のＲＩＰがすべて処理を実行していない）ことを示す。
Ｐj：入力された印刷ジョブｊで指定されているＲＩＰの種類を表す（すなわち印刷ジョブjの指定ＲＩＰ情報の値）。
Ｐr：ＲＩＰキュー１２の先頭の印刷ジョブに指定されているＲＩＰの種類（すなわちＲＩＰキュー１２の先頭ジョブの指定ＲＩＰ情報）を表す。
Ｐp：プリントキュー１２の先頭の印刷ジョブで指定されているＲＩＰの種類（すなわちプリントキュー１４の先頭ジョブの指定ＲＩＰ情報）を表す。
【００３３】
＜処理（ａ）：到来した印刷ジョブのキューへの追加＞
図３を参照して、印刷処理の対象として指定された印刷ジョブ（仮にその識別番号をｊとする）をキューに追加する処理（ａ）の一例を説明する。
【００３４】
印刷ジョブｊが到来した場合、ジョブ管理モジュール１０は、その印刷ジョブｊが未ＲＩＰジョブであるか否かを判定する（ａ１）。印刷ジョブｊが未ＲＩＰジョブであれば、その印刷ジョブｊをＲＩＰキュー１２の末尾に追加し（ａ２）、その印刷ジョブｊの処理先として指定されたＲＩＰすなわちＰjに対してＲＩＰ処理開始指示を通知する（ａ３）。ＲＩＰ処理開始指示を受けたＲＩＰ（Ｐj）は、図９の手順に従って処理を進める（詳細は後述）。これにより、ジョブｊが最初のジョブならそのジョブｊが入ったキューに対してまずＲＩＰから問合せが発せられ、そのジョブｊについて指定されたＲＩＰが処理を開始する（すなわちそのＲＩＰが「処理中」のＲＩＰとなる）ことになる。
【００３５】
ステップａ１で印刷ジョブｊが未ＲＩＰジョブではない（すなわちＲＩＰ済みジョブである）と判定した場合、ジョブ管理モジュール１０は、その印刷ジョブｊをプリントキュー１４の末尾に追加し（ａ４）、その印刷ジョブｊの処理先として指定されたＲＩＰすなわちＰjに対してプリント処理開始指示を通知する（ａ５）。プリント処理開始指示を受けたＲＩＰ（Ｐj）は、図９の手順に従って処理を進める（詳細は後述）。
【００３６】
＜処理（ｂ）：ＲＩＰキューへの問合せへの対応＞
図４を参照して、いずれかのＲＩＰ（以下ではＰnと表す）からＲＩＰキュー１２に処理待ちの印刷ジョブがあるか否かの問合せが来た場合のジョブ管理モジュール１０の処理（ｂ）の例を説明する。
【００３７】
ＲＩＰ（Ｐn）からＲＩＰキュー１２についての問合せが到来すると、ジョブ管理モジュール１０は、処理中ＲＩＰ情報１８が表す現在処理中のＲＩＰ（すなわちＰc）が問合せ元のＲＩＰと一致すること（すなわちＰc＝Ｐn）、又は現在処理中のＲＩＰが存在しないこと（すなわちＰｃ＝Ｐ0）、のいずれかが成立するか否かを判定する（ｂ１）。いずれかが成立すれば、ジョブ管理モジュール１０は、問合せ元のＲＩＰ（Ｐn）と、ＲＩＰキュー１２の先頭の印刷ジョブの指定ＲＩＰ情報が示すＲＩＰ（Ｐr）とが一致するか否かを判定する（ｂ２）。ステップｂ１とｂ２の実行順序は逆でもよい。
【００３８】
ステップｂ１とｂ２の判定結果がいずれも肯定（ＹＥＳ）であれば、ジョブ管理モジュール１０は、処理中ＲＩＰ情報１８の値Ｐｃに、問合せ元のＲＩＰの識別情報Ｐnを代入（ｂ１でＰc＝Ｐnの場合は、その状態を維持）する（ｂ３）。例えば、ステップｂ１で処理中のＲＩＰが存在しないと判定した場合（Ｐc＝Ｐ0）、ステップｂ３では、問合せ元のＲＩＰ（Ｐn）が新たに処理を実行するＲＩＰとして指定されることになる。次に、処理中ジョブリスト１６の末尾に、ＲＩＰキュー１２の先頭のジョブを追加する（ｂ４）。なお、ステップｂ４では、その先頭ジョブが既に処理中ジョブリスト１６内に存在する場合には、そのジョブを重複してリスト１６に追加することはしない。そして、問合せ元のＲＩＰ（Ｐn）に対して、その先頭ジョブ（の識別情報）を、当該ＲＩＰが次に処理すべきジョブとして回答する（ｂ５）。なお、ステップｂ３〜ｂ５の処理の実行順序はこれに限られるものではなく、どのような順序でもよい。
【００３９】
ステップｂ１とｂ２の判定結果のいずれか一方でも否定（ＮＯ）であれば、ジョブ管理モジュール１０は、問合せ元のＲＩＰ（Ｐn）に対して、問合せに該当する印刷ジョブが無い旨を回答する（ｂ６）。
【００４０】
＜処理（ｃ）：プリントキューへの問合せへの対応＞
図５を参照して、いずれかのＲＩＰ（以下ではＰnと表す）からプリントキュー１４に処理待ちの印刷ジョブがあるか否かの問合せが来た場合のジョブ管理モジュール１０の処理（ｃ）の例を説明する。
【００４１】
ＲＩＰ（Ｐn）からＲＩＰキュー１２についての問合せが到来すると、ジョブ管理モジュール１０は、処理中ＲＩＰ情報１８が表す現在処理中のＲＩＰ（すなわちＰc）が問合せ元のＲＩＰと一致すること（すなわちＰc＝Ｐn）、又は現在処理中のＲＩＰが存在しないこと（すなわちＰｃ＝Ｐ0）、のいずれかが成立するか否かを判定する（ｃ１）。いずれかが成立すれば、ジョブ管理モジュール１０は、問合せ元のＲＩＰ（Ｐn）と、プリントキュー１４の先頭の印刷ジョブの指定ＲＩＰ情報が示すＲＩＰ（Ｐp）とが一致するか否かを判定する（ｃ２）。ステップｃ１とｃ２の実行順序は逆でもよい。
【００４２】
ステップｃ１とｃ２の判定結果がいずれも肯定（ＹＥＳ）であれば、ジョブ管理モジュール１０は、処理中ＲＩＰ情報１８の値Ｐｃに、問合せ元のＲＩＰの識別情報Ｐnを代入（ｃ１でＰc＝Ｐnの場合は、その状態を維持）する（ｃ３）。例えば、ステップｃ１で処理中のＲＩＰが存在しないと判定した場合（Ｐc＝Ｐ0）、ステップｃ３では、問合せ元のＲＩＰ（Ｐn）が新たに処理を実行するＲＩＰとして指定されることになる。次に、処理中ジョブリスト１６の末尾に、プリントキュー１４の先頭のジョブを追加する（ｃ４）。なお、ステップｃ４では、その先頭ジョブが既に処理中ジョブリスト１６内に存在する場合には、そのジョブを重複してリスト１６に追加することはしない。そして、問合せ元のＲＩＰ（Ｐn）に対して、その先頭ジョブ（の識別情報）を、当該ＲＩＰが次に処理すべきジョブとして回答する（ｃ５）。なお、ステップｃ３〜ｃ５の処理の実行順序はこれに限られるものではなく、どのような順序でもよい。
【００４３】
ステップｃ１とｃ２の判定結果のいずれか一方でも否定（ＮＯ）であれば、ジョブ管理モジュール１０は、問合せ元のＲＩＰ（Ｐn）に対して、問合せに該当する印刷ジョブが無い旨を回答する（ｃ６）。
【００４４】
＜処理（ｄ）：ラスター画像作成完了の通知に応じた処理＞
図６を参照して、いずれかのＲＩＰ（以下ではＰnと表す）から、ある印刷ジョブ（以下では識別番号Ｊとする）についてのラスター画像の作成が完了した旨の通知が到来した場合の、ジョブ管理モジュール１０の処理（ｄ）の一例を説明する。
【００４５】
ラスター画像作成完了の通知が到来した場合、ジョブ管理モジュール１０は、まず制御変数ｉを１に初期化する（ｄ１）。この処理では、プリントキュー１４の先頭から順に印刷ジョブを調べていくが、変数ｉは調査対象とする印刷ジョブがプリントキュー１４の先頭から何番目であるかを示す。次にジョブ管理モジュール１０は、変数ｉが現在プリントキュー１４内にあるジョブの数より大きいか否かを判定する（ｄ２）。これは、プリントキュー１４内のすべての印刷ジョブを調べ終わったかどうかを判定する処理である。
【００４６】
ステップｄ２の判定結果が否定（ＮＯ）の場合、プリントキュー１４の先頭からｉ番目のジョブが処理中ジョブリスト１６内に存在するか否かを判定する（ｄ３）。存在していれば、変数ｉを１だけ増加させて（ｄ４）、ステップｄ２に戻る。このステップｄ２、ｄ３、ｄ４のループで、プリントキュー１４の先頭のジョブから順に、それら各ジョブが処理中ジョブリスト１６に含まれているかどうか、すなわち「処理中」であるかどうかを判定していく。
【００４７】
このループの中で、ステップｄ３にてプリントキュー１４内のｉ番目のジョブが処理中ジョブリスト１６内に存在しないことが判明した場合、ジョブ管理モジュール１０は、この処理手順のきっかけとなった通知にて、ラスター画像作成が完了したと報告されたジョブＪを、プリントキュー１４のｉ番目に挿入する（ｄ５）。すなわち、ジョブＪは、プリントキュー１４内にある先頭から続く「処理中」ジョブがとぎれた位置、言い換えれば、プリントキュー１４内にある先頭から見て最初の「処理中」ではないジョブとその１つ前の「処理中」ジョブとの間の位置、に挿入されることになる。なお、ジョブ内の全ページのラスター画像の作成が完了したときにラスター画像作成完了通知が発せられる構成の場合は、例えばこのステップｄ５において、ジョブＪをＲＩＰキュー１２から削除してもよい。また、ジョブ内の最初の一部分のラスター画像の作成が完了したときにラスター画像作成完了通知が発せられる構成の場合は、ＲＩＰはそのジョブＪの全ページのラスター画像の作成が完了した時にラスター画像作成の全部完了を示す通知をジョブ管理モジュール１０に送り、ジョブ管理モジュール１０がその通知に応じてＲＩＰキュー１２からジョブＪを削除すればよい。
【００４８】
ステップｄ５の後、ジョブ管理モジュール１０は、そのジョブＪに対応する指定ＲＩＰ情報が示すＲＩＰ（ＰJ）に対し、プリント処理開始指示を通知する（ｄ６）。なお、ＲＩＰ（ＰJ）は、このフローのトリガとなったラスター画像作成完了の通知を送ってきたＲＩＰ（Ｐn）と一致し、（後述する処理（ｅ）で処理中ＲＩＰ情報１８がクリアされていない限り）処理中ＲＩＰ情報１８が表す現在処理中のＲＩＰ（Ｐc）とも一致する。プリント処理開始指示を受けたＲＩＰ（ＰJ）は、図９の手順に従って処理を進める（詳細は後述）。
【００４９】
なお、ステップｄ２の判定結果が肯定（ＹＥＳ）となった場合は、プリントキュー１４の先頭から最後までのすべてのジョブが「処理中」であるということである。この場合、ｉ番目は、プリントキュー１４の最後のジョブよりも１つ次の順番を指している。したがって、ジョブ管理モジュール１０は、プリントキュー１４のｉ番目（すなわち末尾）にジョブＪを挿入し（ｄ５）、ＲＩＰ（ＰJ）に対してプリント処理開始指示を通知する（ｄ６）。
【００５０】
＜処理（ｅ）：印刷完了の通知に応じた処理＞
図７及び図８を参照して、いずれかのＲＩＰ（以下ではＰnと表す）から、ある印刷ジョブ（以下では識別番号Ｊとする）についての印刷が完了した旨の通知到来した場合の、ジョブ管理モジュール１０の処理（ｅ）の一例を説明する。
【００５１】
印刷完了の通知が到来した場合、ジョブ管理モジュール１０は、印刷か完了したジョブＪをプリントキュー１４の先頭及び処理中ジョブリスト１６から削除し（ｅ１）、その削除の結果処理中ジョブリスト１６が空になったか否かを判定する（ｅ２）。処理中ジョブリスト１６が空になっていなければ、この処理（ｅ）を終了する。
【００５２】
処理中ジョブリスト１６が空になった場合、ジョブ管理モジュール１０は、ＲＩＰキュー１２の先頭のジョブに対して指定されたＲＩＰ（Ｐr）が、処理中ＲＩＰ情報１８が示す現在処理中のＲＩＰ（Ｐc）に一致するかどうかを判定する（ｅ３）。一致する場合には、ジョブ管理モジュール１０は、現在処理中のＲＩＰ（Ｐc）に対してＲＩＰ処理開始指示を通知する（ｅ４）。更に、ジョブ管理モジュール１０は、プリントキュー１４の先頭のジョブに対して指定されたＲＩＰ（Ｐp）が、現在処理中のＲＩＰ（Ｐc）に一致するかどうかを判定する（ｅ５）。一致する場合には、ジョブ管理モジュール１０は、現在処理中のＲＩＰ（Ｐc）に対してプリント処理開始指示を通知する（ｅ６）。なお、ステップｅ５の判定結果が否定（すなわちＰp≠Ｐc）の場合は、この処理（ｅ）を終了する。
【００５３】
ステップｅ３の判定結果が否定（すなわちＰr≠Ｐc）の場合は、ジョブ管理モジュール１０は、プリントキュー１４の先頭のジョブに対して指定されたＲＩＰ（Ｐp）が、現在処理中のＲＩＰ（Ｐc）に一致するかどうかを判定する（ｅ７）。この判定の結果が肯定（すなわちＰp＝Ｐc）の場合は、ステップｅ６を実行する。
【００５４】
ステップｅ７の判定結果が否定の場合は、「処理中」のジョブが存在せず、現在処理中のＲＩＰ（Ｐc）が、ＲＩＰキュー１２の先頭ジョブ及びプリントキュー１４の先頭ジョブのいずれに指定されたＲＩＰ（Ｐr及びＰp）にも一致しないという状況である。各キュー１２及び１４中のジョブは先入れ先出し方式で処理されるので、現在処理中のＲＩＰ（Ｐc）がそれらキューの先頭ジョブのいずれについても指定されていない状況では、現在処理中のＲＩＰ（Ｐc）の動作を停止させ、別のＲＩＰを動作させる必要がある。そこで、処理（ｅ）は、図８に示す手順に進む。
【００５５】
図８の手順では、ジョブ管理モジュール１０は、ＲＩＰキュー１２にジョブが存在するか否かを判定する（ｅ８）。この判定の結果が肯定（ＹＥＳ）の場合、処理中ＲＩＰ情報１８をクリア（すなわちＰcにＰ0を代入）し（ｅ９）、ＲＩＰキュー１２の先頭ジョブについて指定されたＲＩＰ（Ｐr）に対してＲＩＰ処理開始指示を通知する（ｅ１０）。そして、ジョブ管理モジュール１０は、プリントキュー１４の先頭ジョブについて指定されたいＲＩＰ（Ｐp）がＲＩＰキュー１２の先頭ジョブについて指定されたＲＩＰ（Ｐr）に一致するか否かを判定し（ｅ１１）、一致する場合には、Ｐrに対してプリント処理開始指示を通知し（ｅ１４）、処理を終了する。一致しない場合は、何もせずに処理を終了する。
【００５６】
また、ステップｅ８の判定結果が否定（ＮＯ）の場合、ジョブ管理モジュール１０は、プリントキュー１１４にジョブが存在するか否かを判定する（ｅ１２）。この判定の結果が肯定（ＹＥＳ）の場合、処理中ＲＩＰ情報１８をクリア（すなわちＰcにＰ0を代入）し（ｅ１３）、プリントキュー１４の先頭ジョブについて指定されたＲＩＰ（Ｐp）に対してプリント処理開始指示を通知し（ｅ１４）、処理を終了する。
【００５７】
ステップｅ１２の判定結果が否定（ＮＯ）の場合は、処理中ＲＩＰ情報１８をクリア（すなわちＰcにＰ0を代入）して（ｅ１５）、処理を終了する。
【００５８】
以上に説明したように、処理（ｅ）では、処理中ジョブリスト１６内にジョブがあれば、そのジョブは現在処理中のＲＩＰ（Ｐc）で処理するように指定されているジョブなので、そのＲＩＰ（Ｐc）が処理中ジョブリスト１６内のジョブの処理を行うことになる。また、処理中ジョブリスト１６内にジョブが無い場合、ＲＩＰキュー１２及びプリントキュー１４の中に、先頭ジョブについて現在処理中のＲＩＰ（Ｐc）が指定されている方に対して処理開始を通知することで、そのＲＩＰ（Ｐc）が処理を続行するようにする。また、処理中ジョブリスト１６内にジョブが無く、ＲＩＰキュー１２及びプリントキュー１４の先頭ジョブのいずれに指定されたＲＩＰも、現在処理中のＲＩＰ（Ｐc）とは異なる場合には、Ｐcをクリアし、ジョブを有するキュー（１２又は１４又は両方）に対して処理開始を通知する。
【００５９】
＜ＲＩＰが行う処理＞
次に、各ＲＩＰ（２０Ａ及び２０Ｂ）が実行する処理の一例を、図９を参照して説明する。図９に示すように、各ＲＩＰは、電源投入などにより起動されると、それぞれ、ラスター画像作成用ループ処理、ラスター画像転送用ループ処理、及びプリント監視用ループ処理をそれぞれ起動する（Ｓ１００、Ｓ２００、Ｓ３００）。これらループ処理は、図１に示したラスター画像作成部２２Ａ及び２２Ｂ、ラスター画像転送部２４Ａ及び２４Ｂ、及びプリンタ監視部２６Ａ及び２６Ｂにそれぞれ対応する。ラスター画像作成用ループ処理（Ｓ１０２〜Ｓ１１０）と、ラスター画像転送用ループ処理（Ｓ２０２〜Ｓ２０８）とは、並列実行される。
【００６０】
ラスター画像作成用ループ処理では、ＲＩＰ（ラスター画像作成部）は、ジョブ管理モジュール１０からＲＩＰ処理開始指示が通知されるのを待ち（Ｓ１０２）、ＲＩＰ処理開始指示が通知されると、ジョブ管理モジュール１０に対してＲＩＰキューの先頭ジョブを問い合わせる（Ｓ１０４）。この問合せを受けたジョブ管理モジュール１０は、上述した処理（ｂ）を実行する。この問合せの結果、ジョブ管理モジュール１０からの回答が該当ジョブありか否か（すなわち図４のステップｂ５及びｂ６のいずれか）を判定し（Ｓ１０６）、回答が該当ジョブ無しを示すものであれば、Ｓ１０２に戻る。回答が該当ジョブ有り（すなわち現在処理中のＲＩＰ（Ｐc）が自分自身以外のＲＩＰでなく、かつＲＩＰキュー１２の先頭ジョブに指定されたＲＩＰが自分自身である場合）を示すものであれば、回答されてきたＲＩＰキュー１２の先頭ジョブのＰＤＬデータを解釈してラスタライズ処理を行う（Ｓ１０８）。そして、そのジョブのラスター画像の作成が完了すると、ジョブ管理モジュール１０に対してラスター画像の作成完了を通知する（Ｓ１１０）。この通知を受けたジョブ管理モジュール１０は、上述の処理（ｄ）を実行する。また、ラスター画像の作成完了後、ＲＩＰ（ラスター画像作成部）は、ＲＩＰキュー１２にジョブが残っているかどうかを調べ（Ｓ１１２）、残っていればＳ１０４に戻ってＲＩＰキュー１２の先頭ジョブの問合せを行い、残っていなければＳ１０２に戻ってＲＩＰ処理開始指示が通知されるのを待つ。
【００６１】
なお、ステップＳ１１０のラスター画像の作成完了の通知は、１つの印刷ジョブ全体（例えば全ページ）のラスター画像の作成が完了した場合に行ってもよいし、１つの印刷ジョブのうちの最初の一部分のラスター画像の生成が完了した時点で行ってもよい。後者の例における「印刷ジョブのうちの最初の一部分」は、例えば印刷ジョブの先頭の１ページであってもよいし、先頭の１ページのうちの先頭のバンド（１ページを予め定めたライン数ずつ区切った帯状領域）であってもよいし、印刷ジョブの先頭から予め定められたページ数のページ群であってもよい。
【００６２】
ここで、後者の例では、例えばＲＩＰキュー１２にもプリントキュー１４にもジョブがない時に、未ＲＩＰジョブがジョブ管理モジュール１０に入力された場合、まずそのジョブがＲＩＰキュー１２に入れられてラスター画像生成部２２Ａ又は２２Ｂに渡される。そして、ラスター画像作成部２２Ａ又は２２Ｂによりそのジョブの最初の一部分のラスター画像の作成が完了した時点で、そのジョブがプリントキュー１４に入れられてラスター画像転送部２４Ａ又は２４Ｂに入れられ、作成されたラスター画像がラスター画像転送部２４Ａ又は２４Ｂによりプリンタ３０に転送され、用紙に印刷される。このように、ジョブの最初の予め定められた一部分のラスター画像の作成の完了時点で、ＲＩＰ２０Ａ又は２０Ｂからジョブ管理モジュール１０に通知を行うことで、そのジョブのラスター画像データの転送及び印刷と、同じジョブの残りの部分のラスター画像作成とが並列実行されることになる。
【００６３】
ラスター画像転送用ループ処理では、ＲＩＰ（ラスター画像転送部）は、ジョブ管理モジュール１０からプリント処理開始指示が通知されるのを待ち（Ｓ２０２）、プリント処理開始指示が通知されると、ジョブ管理モジュール１０に対してプリントキューの先頭ジョブを問い合わせる（Ｓ２０４）。この問合せを受けたジョブ管理モジュール１０は、上述した処理（ｃ）を実行する。この問合せの結果、ジョブ管理モジュール１０からの回答が該当ジョブありか否か（すなわち図５のステップｃ５及びｃ６のいずれか）を判定し（Ｓ２０６）、回答が該当ジョブ無しの旨を示すものであれば、Ｓ２０２に戻る。回答が該当ジョブ有り（すなわち現在処理中のＲＩＰ（Ｐc）が自分自身以外のＲＩＰでなく、かつプリントキュー１４の先頭ジョブに指定されたＲＩＰが自分自身である場合）を示すものであれば、回答されてきたプリントキュー１４の先頭ジョブのラスター画像をプリンタ３０に転送し、印刷を実行させる（Ｓ２０８）。ラスター画像の転送完了後、ＲＩＰ（ラスター画像転送部）は、プリントキュー１４にジョブが残っているかどうかを調べ（Ｓ２１０）、残っていればＳ２０４に戻ってプリントキュー１４の先頭ジョブの問合せを行い、残っていなければＳ２０２に戻ってプリント処理開始指示が通知されるのを待つ。
【００６４】
ラスター画像転送用ループ処理によりプリンタ３０に対してあるジョブＪのラスター画像を転送すると、ＲＩＰは、プリント監視用ループ処理にて、そのジョブＪについての印刷完了の通知がプリンタ３０から到来するのを待つ（Ｓ３０２）。そして、印刷完了通知が到来すると、ＲＩＰは、ジョブ管理モジュール１０に対してジョブＪについての印刷完了を通知する（Ｓ３０４）。この通知を受けたジョブ管理モジュール１０は、上述の処理（ｅ）を実行する。
【００６５】
＜処理の流れの例＞
次に、図１０を参照して、未ＲＩＰジョブが投入された場合の、この実施の形態の印刷処理システムの処理の流れの例を説明する。
【００６６】
まず、未ＲＩＰジョブが到来すると、ジョブ管理モジュール１０は上述した処理（ａ）により、そのジョブをＲＩＰキュー１２に追加し（Ｓ４０２）、そのジョブの指定ＲＩＰ情報が示すＲＩＰ２０のラスター画像作成部２２に対してＲＩＰ処理開始指示を通知する（Ｓ４０４）。ラスター画像作成部２２は、その時点では他のジョブの処理を行っておらず、通知待ち状態（図９のＳ１０２）なので、この通知を受けると、ジョブ管理モジュール１０に対してＲＩＰキューの先頭ジョブを問い合わせる（Ｓ４０６、図９のＳ１０４）。問合せを受けたジョブ管理モジュール１０は、上述の処理（ｂ）を実行する。すなわち、他のＲＩＰが処理を実行中でなければ、その問合せを行ったＲＩＰ２０を処理中ＲＩＰ情報１８に登録し（図４のｂ３）、そのジョブを処理中ジョブリスト１６に追加する（ｂ４，Ｓ４０８）。そして、ラスター画像作成部２２に対してＲＩＰキューの先頭ジョブを回答する（Ｓ４１０、図４のｂ５）。なお、他のＲＩＰが処理中の場合は、該当ジョブ無しと回答し（図４のｂ６）、問合せ元のＲＩＰ２０を「ＲＩＰ処理開始指示」の通知待ち状態とする。以下では、Ｓ４１０先頭ジョブを回答した場合の流れを説明する。
【００６７】
この場合、ラスター画像作成部２２は、通知された先頭ジョブのＰＤＬデータを取得して解釈することで、ラスター画像を作成する（Ｓ４１２）。そして、そのラスター画像の作成が完了すると、ジョブ管理モジュール１０に対して、完了通知（プリント開始依頼）を行う（Ｓ４１４）。
【００６８】
この通知（依頼）を受けたジョブ管理モジュール１０は、上述の処理（ｄ）を実行し、ラスター画像作成処理が完了したそのジョブをプリントキュー１４に追加し（Ｓ４１６）、ＲＩＰ２０のラスター画像転送部２４に対してプリント処理開始指示を通知する（Ｓ４１８）。この指示を受けたラスター画像転送部２４は、ジョブ管理モジュール１０に対してプリントキュー１４の先頭ジョブを問い合わせる（Ｓ４２０、図９のＳ２０４）。この問合せを受けたジョブ管理モジュール１０は、上述の処理（ｃ）を実行し（Ｓ４２２）、プリントキュー１４の先頭ジョブを回答する（Ｓ４２４）。ラスター画像転送部２４は、回答された先頭ジョブのラスター画像をプリンタ３０へと転送する（Ｓ４２６）。プリンタ３０は、転送されてきたラスター画像を用紙に印刷する（Ｓ４２８）。そのラスター画像の印刷が完了すると、ＲＩＰ２０のプリンタ監視部２６がその印刷完了を検知し、ジョブ管理モジュール１０に対してジョブ印刷完了を通知する（Ｓ４３０）。これを受けてジョブ管理モジュール１０は、上述の処理（ｅ）を実行することで、印刷が完了したジョブを処理中ジョブリスト１６から削除し、処理中ＲＩＰ情報１８が再設定されるようにする（Ｓ４３２）。
【００６９】
次に、図１１を参照して、ＲＩＰ済みジョブが投入された場合の、この実施の形態の印刷処理システムの処理の流れを説明する。
【００７０】
まず、ＲＩＰ済みジョブが到来すると、ジョブ管理モジュール１０は上述した処理（ａ）により、そのジョブをプリントキュー１４に追加し（Ｓ４０２）、そのジョブの指定ＲＩＰ情報が示すＲＩＰ２０のラスター画像転送部２４に対してプリント処理開始指示を通知する（Ｓ５０４）。この指示を受けたラスター画像転送部２４は、ジョブ管理モジュール１０に対してプリントキュー１４の先頭ジョブを問い合わせる（Ｓ５０６）。この問合せを受けたジョブ管理モジュール１０は、上述の処理（ｃ）を実行し（Ｓ５０８）、プリントキュー１４の先頭ジョブを回答する（Ｓ５１０）。ラスター画像転送部２４は、回答された先頭ジョブのラスター画像をプリンタ３０へと転送する（Ｓ５１２）。プリンタ３０は、転送されてきたラスター画像を用紙に印刷する（Ｓ５１４）。そのラスター画像の印刷が完了すると、ＲＩＰ２０のプリンタ監視部２６がその印刷完了を検知し、ジョブ管理モジュール１０に対してジョブ印刷完了を通知する（Ｓ５１６）。これを受けてジョブ管理モジュール１０は、上述の処理（ｅ）を実行することで、印刷が完了したジョブを処理中ジョブリスト１６から削除し、処理中ＲＩＰ情報１８が再設定されるようにする（Ｓ５１８）。
【００７１】
＜複数ジョブが連続投入された場合の処理の流れの例＞
次に、複数のジョブが連続して投入された場合の、この実施の形態の印刷処理システムの振る舞いを、具体例を挙げて説明する。
【００７２】
［第１の例］
まず第１の例として、印刷処理システムがアイドル状態（すなわち、ＲＩＰキュー１２、プリントキュー１４及び処理中ジョブリスト１６がすべて空である状態）にあるときに、図１のＲＩＰ２０Ａで処理するよう指定された未ＲＩＰジョブ［Ａ］が投入され、その直後にＲＩＰ２０Ｂで処理するよう指定されたＲＩＰ済みジョブ［Ｂ］が投入された場合を考える。この場合の印刷処理システムの処理の流れの前半は以下のようになる。
(1) ジョブ［Ａ］が処理（ａ）により、ＲＩＰキュー１２に追加される。
(2) ジョブ［Ｂ］が処理（ａ）により、プリントキュー１４に追加される。
(3) ジョブ［Ａ］について、処理（ｂ）により、ＲＩＰ２０Ａによりラスター画像の作成処理が開始される（処理中ＲＩＰは、ＲＩＰ２０Ａ）。
(4) ジョブ［Ａ］のラスター画像の作成が完了した場合、通常のキュー管理の考え方（上述した処理（ｄ）を用いない処理）では、ジョブ［Ａ］をプリントキューの末尾に追加することになる。
【００７３】
この場合、処理（ｃ）において、プリントキュー１４の先頭のジョブ［Ｂ］にはＲＩＰ２０Ｂが指定されており、これは現在処理中のＲＩＰ２０Ａと一致しないので、図４のｂ１の判定結果が否定（ＮＯ）となってしまい、処理すべきジョブがない（「該当ジョブなし」）と判断されてしまい、処理が進まなくなる。
【００７４】
ここで、仮に処理中ジョブリスト１６（ジョブ［Ａ］が入っている）と処理中ＲＩＰ情報１８（ＲＩＰ２０Ａを示している）をクリアすれば、プリントキュー１４の先頭にあるジョブ［Ｂ］の転送（印刷）処理が行われることになるが、これでは、先に処理開始したジョブ［Ａ］よりも、ジョブ［Ｂ］の方が先に印刷されることになり、順番が入れ替わってしまう。
【００７５】
これに対し、上述の処理（ｄ）を行うと、(4)の処理は次の(4’)に置き換えられる。
【００７６】
(4’) ジョブ［Ａ］のラスター画像データの作成が完了した場合、ジョブ［Ａ］がプリントキュー１４内のジョブ［Ｂ］のジョブの前に追加される。
【００７７】
この結果、現在処理中のＲＩＰ２０Ａを指定ＲＩＰとしたジョブ［Ａ］がプリントキュー１４の先頭となるので、その後の処理（ｃ）では、現在処理中のＲＩＰ２０Ａによりジョブ［Ａ］が処理されることになる。このようにして、動作させるＲＩＰを切り換えることなく、また異なるＲＩＰを使用するジョブ同士の間での印刷順序がそれらジョブが投入された順序と入れ替わることなく、印刷処理が行われることになる。
【００７８】
［第２の例］
次に、第２の例を説明する。この例では印刷処理システムがアイドル状態にあるときに、次に示す３つのジョブ［Ａ１］、［Ａ２］、［Ｂ１］がこの順で、ただしほとんど同時に投入されたとする。
［Ａ１］ : ＲＩＰ２０Ａで処理するよう指定されたＲＩＰ済みジョブ
［Ａ２］ : ＲＩＰ２０Ａで処理するよう指定された未ＲＩＰジョブ
［Ｂ１］ : ＲＩＰ２０Ｂで処理するよう指定されたＲＩＰ済みジョブ
【００７９】
また、これら３つのジョブの印刷が完了するまで、他のジョブは投入されないものとする。この場合の処理の流れは以下のようになる。
【００８０】
(1) 処理（ａ）により、各ジョブがＲＩＰキュー１２、プリントキュー１４に入る。ＲＩＰ２０Ａ、ＲＩＰ２０Ｂに対し、ジョブが各キューに追加されたこと（プリント処理開始指示及びＲＩＰ処理開始指示）が通知される（図４のｂ５，図５のｃ５）。この時点でのジョブ管理モジュール１０の内部状態（ＲＩＰキュー１２、プリントキュー１４、処理中ＲＩＰ情報１８及び処理中ジョブリスト１６の状態）は以下の通りである。なお、以下の表記におけるキュー内のジョブの並び順では、左側ほど順番が早いものとする。
ＲＩＰキュー：［Ａ２］
プリントキュー：［Ａ１］, ［Ｂ１］
処理中ＲＩＰ：なし
処理中ジョブリスト：なし
【００８１】
(2) ジョブ「Ａ１」が最初に入力されたので、ジョブ管理モジュール１０からＲＩＰ２０Ａにまずプリント処理開始指示が通知される。この通知を受けたＲＩＰ２０Ａは、プリント処理可能なジョブをジョブ管理モジュールに問い合わせる。処理中ＲＩＰが「なし」であり、プリントキューの先頭のジョブの指定ＲＩＰがＲＩＰ２０Ａなので、処理（ｃ）により、［Ａ１］のラスター画像転送（印刷）処理が開始される。これにより、処理中ＲＩＰはＲＩＰ２０Ａになり、処理中ジョブリストに［Ａ１］が入る。この時点でのジョブ管理モジュール１０の内部状態は以下の通りである。
ＲＩＰキュー：［Ａ２］
プリントキュー：［Ａ１］, ［Ｂ１］
処理中ＲＩＰ：ＲＩＰ２０Ａ
処理中ジョブリスト：［Ａ１］
【００８２】
(3) ジョブ「Ａ１」の直後にジョブ［Ａ２］が入力されたときに、ジョブ管理モジュール１０からＲＩＰ２０ＡにＲＩＰ処理開始指示が通知される。これに応じＲＩＰ２０Ａは、ＲＩＰ処理可能なジョブをジョブ管理モジュール１０に問い合わせる。ここで、処理中ＲＩＰがＲＩＰ２０Ａであり、ＲＩＰキューの先頭のジョブ［Ａ２］の指定ＲＩＰがＲＩＰ２０Ａなので、処理（ｂ）により、［Ａ２］の処理が開始されることになる。処理中ジョブリストに［Ａ２］が入る。この時点でのジョブ管理モジュール１０の内部状態は以下の通りである。
ＲＩＰキュー：［Ａ２］
プリントキュー：［Ａ１］, ［Ｂ１］
処理中ＲＩＰ：ＲＩＰ２０Ａ
処理中ジョブリスト：［Ａ１］, ［Ａ２］
【００８３】
(4) ジョブ「Ａ２」の直後にジョブ［Ｂ１］が入力されたときに、ジョブ管理モジュール１０からＲＩＰ２０Ｂにプリント処理開始指示が通知される。この通知を受けたＲＩＰ２０Ｂは、プリント処理可能なジョブをジョブ管理モジュール１０に問い合わせる。このとき処理中ＲＩＰがＲＩＰ２０Ａであり、プリントキューの先頭のジョブの指定ＲＩＰがＲＩＰ２０Ａなので、処理（ｃ）（図５）のステップＣ１の判定結果が否定（ＮＯ）となり、ＲＩＰ２０Ｂには該当ジョブ無しの回答が送られる。この回答により、ＲＩＰ２０Ｂはプリント処理開始指示を待つ状態（図９のＳ２０２）に移行する。したがって、この時点では［Ｂ１］の処理は行われない。この時点でのジョブ管理モジュール１０の内部状態は以下の通りである。
ＲＩＰキュー：［Ａ２］
プリントキュー：［Ａ１］, ［Ｂ１］
処理中ＲＩＰ：ＲＩＰ２０Ａ
処理中ジョブリスト：［Ａ１］, ［Ａ２］
【００８４】
(5) その後、ジョブ［Ａ１］の印刷が完了する前に［Ａ２］のうちの最初の部分のラスター画像の作成が完了した場合を考える。この場合［Ａ２］がプリントキュー１４に追加されることになる。この追加は、処理（ｄ）により、処理中ジョブリスト１６にあるジョブを超えない範囲でプリントキュー１４の先頭に近い位置に追加されるので、［Ａ２］は［Ａ１］の直後（［Ｂ１」の前）に追加される。この時点でのジョブ管理モジュール１０の内部状態は以下の通りである。
ＲＩＰキュー：［Ａ２］
プリントキュー：［Ａ１］, ［Ａ２］, ［Ｂ１］
処理中ＲＩＰ：ＲＩＰ２０Ａ
処理中ジョブリスト：［Ａ１］, ［Ａ２］
【００８５】
(6) その後、ジョブ［Ａ１］の印刷が完了する前に［Ａ２］の全ページのＲＩＰ処理が完了すると、ＲＩＰキュー１２から［Ａ２］が削除される。この時点でのジョブ管理モジュール１０の内部状態は以下の通りである。
ＲＩＰキュー：なし
プリントキュー：［Ａ１］, ［Ａ２］, ［Ｂ１］
処理中ＲＩＰ：ＲＩＰ２０Ａ
処理中ジョブリスト：［Ａ１］, ［Ａ２］
【００８６】
(7) その後、ジョブ［Ａ１］の印刷処理が完了すると、プリントキュー１４と処理中ジョブリスト１６から［Ａ１］が削除される。処理中ジョブリストに［Ａ２］があるので、処理中ＲＩＰはＲＩＰ２０Ａのままである（処理（ｅ））。この時点でのジョブ管理モジュール１０の内部状態は以下の通りである。
ＲＩＰキュー：なし
プリントキュー：［Ａ２］, ［Ｂ１］
処理中ＲＩＰ：ＲＩＰ２０Ａ
処理中ジョブリスト：［Ａ２］
【００８７】
(8) その後、プリントキュー１４は空ではないので、ＲＩＰ２０Ａは、プリント処理可能なジョブをジョブ管理モジュールに問い合わせる（図９のＳ２１０がＹＥＳ→Ｓ２０４）。この場合、処理中ＲＩＰがＲＩＰ２０Ａであり、プリントキュー１４の先頭のジョブがＲＩＰ２０Ａなので、処理（ｃ）により、［Ａ１］の処理が開始されることになる。この時点でのジョブ管理モジュール１０の内部状態は以下の通りである。
ＲＩＰキュー：なし
プリントキュー：［Ａ２］, ［Ｂ１］
処理中ＲＩＰ：ＲＩＰ２０Ａ
処理中ジョブリスト：［Ａ２］
【００８８】
(9) その後［Ａ２］の印刷処理が完了すると、プリントキュー１４と処理中ジョブリスト１６から［Ａ２］が削除される。その結果、処理中ジョブリスト１６が空になり、プリントキュー１４の先頭は［Ｂ１］となる。また、ＲＩＰキュー１２は既に空である。現在の処理中ＲＩＰであるＲＩＰ２０Ａは、ＲＩＰキュー１２の先頭ジョブ（存在しない）の指定ＲＩＰとも、プリントキュー１４の先頭ジョブ［Ｂ１］の指定ＲＩＰ２０Ｂとも一致しない（図７のｅ３及びｅ７の判定結果が共にＮＯ）。そして、プリントキュー１４にはジョブが存在する（図８のｅ１２の判定結果がＹＥＳ）ので、処理中ＲＩＰは「なし」になり（すなわちｅ１３にてＰcにＰ0を代入）、ＲＩＰ２０Ｂに対してプリント処理開始指示が通知される（ｅ１４）。この時点でのジョブ管理モジュール１０の内部状態は以下の通りである。
ＲＩＰキュー：なし
プリントキュー：［Ｂ１］
処理中ＲＩＰ：なし
処理中ジョブリスト：なし
【００８９】
(10) プリント処理開始指示を受けたＲＩＰ２０Ｂは、プリント処理可能なジョブをジョブ管理モジュール１０に問い合わせる。処理中ＲＩＰが「なし」であり、プリントキューの先頭のジョブの指定ＲＩＰが問合せ元のＲＩＰ２０Ｂなので、処理（ｃ）により、処理中ＲＩＰはＲＩＰ２０Ｂになり（ｃ３）、処理中ジョブリストに［Ｂ１］が入る（ｃ４）。そして、ジョブ管理モジュール１０はＲＩＰ２０に対してプリントキュー１４の先頭ジョブ［Ｂ１］を回答する（ｃ５）。これにより［Ｂ１］の印刷処理が開始される。この時点でのジョブ管理モジュール１０の内部状態は以下の通りである。
ＲＩＰキュー：なし
プリントキュー：［Ｂ１］
処理中ＲＩＰ：ＲＩＰ２０Ｂ
処理中ジョブリスト： ［Ｂ１］
【００９０】
(11) ジョブ［Ｂ１］の印刷処理が完了すると、プリントキュー１４と処理中ジョブリスト１６から［Ｂ１］が削除される。その結果、処理中ジョブリスト１６及びプリントキュー１４が空になる。また、ＲＩＰキュー１２は既に空である。したがって、処理（ｅ）（図７及び図８）のステップｅ３，ｅ７，ｅ８、ｅ１２の判定結果はすべてＮＯとなり、処理中ＲＩＰは「なし」に変更され（ｅ１５）、処理が終了する。この時点でのジョブ管理モジュール１０の内部状態は以下の通りである。
ＲＩＰキュー：なし
プリントキュー：なし
処理中ＲＩＰ：なし
処理中ジョブリスト：なし
【００９１】
以上の第２の例に示したように、この実施の形態のシステムでは、未ＲＩＰジョブがＲＩＰ済みジョブより前に投入されており、投入時の処理中ＲＩＰがその未ＲＩＰジョブの指定ＲＩＰに一致する場合には、その未ＲＩＰジョブはＲＩＰ済みジョブより先に印刷されることになり、投入順序が守られる。
【００９２】
［第３の例］
次に、第３の例を説明する。この例では印刷処理システムがアイドル状態にあるときに、次に示す３つのジョブ［Ａ１］、［Ｂ１］、［Ａ２］がこの順で、ただしほとんど同時に投入されたとする。
［Ａ１］ : ＲＩＰ２０Ａで処理するよう指定されたＲＩＰ済みジョブ
［Ｂ１］ : ＲＩＰ２０Ｂで処理するよう指定されたＲＩＰ済みジョブ
［Ａ２］ : ＲＩＰ２０Ａで処理するよう指定された未ＲＩＰジョブ
【００９３】
ここで、［Ａ２］のＲＩＰ処理の完了は、［Ｂ１］のプリントキュー１４挿入後、かつ［Ａ１］の印刷完了前であるとする。
【００９４】
この例では、［Ａ１］が最初に投入されたので、処理中ＲＩＰはまずＲＩＰ２０Ａとなる。［Ａ２］が投入された時点では、［Ａ１］の印刷処理は続行中であり処理中ＲＩＰはＲＩＰ２０Ａのままなので、［Ａ２］はそのＲＩＰ２０Ａのラスター画像作成部２２ＡにてＲＩＰ処理される。すなわち、この時点では、ＲＩＰ２０Ａのラスター画像作成部２２Ａとラスター画像転送部２４Ａとは、別々のジョブ［Ａ２］と［Ａ１］とを並列処理している。
【００９５】
そして、［Ａ２］のＲＩＰ処理が完了した時点では、［Ａ１］の印刷処理はまだ続行中なので処理中ＲＩＰはＲＩＰ２０Ａのままであり、プリントキュー１４には［Ａ１］，［Ｂ１］がこの順で入っている。したがって、その時点で［Ａ２］は、処理（ｄ）により、プリントキュー１４内の［Ａ１］の後ろ、［Ｂ１］の前に挿入される。そして、［Ａ１］の印刷が完了すると、プリントキュー１４でその次にある［Ａ２］が印刷され、［Ａ２］の印刷後に［Ｂ１］が印刷されることになる。
【００９６】
この例では、ジョブの処理順序はジョブ投入順通りではないが、同一のＲＩＰ２０Ａの前段（ラスター画像作成部２２Ａ）と後段（ラスター画像転送部２４Ａ）とが別々のジョブを並列に処理することで、ＲＩＰ２０Ａが有効に利用されている。また、プリントキュー１４において［Ａ２］を［Ｂ１］の前に挿入することで、処理中のＲＩＰが頻繁に切り換えられることによる処理のオーバーヘッドを低減している。
【００９７】
以上の説明から判るように、この実施の形態の制御処理では、異なる種類のＲＩＰが排他的に処理を実行する。すなわち、すべてのＲＩＰ内でラスター画像作成部２２Ａ及び２２Ｂ及びラスター画像転送部２４Ａ及び２４Ｂは起動しているものの、それらのうちラスター画像作成（Ｓ１０８）及びラスター画像転送（Ｓ２０８）という実体的な処理（すなわちラスター画像を保持するためのメモリ領域を使用する処理）を実行しているのはそれらＲＩＰのうちの１つに限られる。
【００９８】
また、この実施の形態では、排他的に処理を実行中のＲＩＰ（２０Ａ又は２０Ｂ）内のラスター画像作成部２２とラスター画像転送部２４とが並列動作する。例えばＲＩＰ２０Ａが処理を実行中の場合、ラスター画像作成部２２Ａと、ラスター画像転送部２４Ａとが並列動作する。この並列動作では、ラスター画像作成部２２Ａと、ラスター画像転送部２４Ａとが互いに異なるジョブを同時並列的に処理する場合もある。また、ラスター画像転送部２４Ａがジョブの前の方のラスター画像を転送するのと並列して、ラスター画像作成部２２Ａが同じジョブの後の方のラスター画像を作成する場合もある。いずれの場合も、現在処理中のＲＩＰでは、ラスター画像作成部２２Ａと、ラスター画像転送部２４Ａとが、処理してよいジョブが存在する限り、パイプライン動作のように処理を続けるので、ＲＩＰが１ジョブずつラスター画像作成及びラスター画像転送を行う方式よりも、ＲＩＰ内部のラスター画像作成部及びラスター画像転送部の利用効率がよい。また、ＲＩＰ２０Ｂが処理を実行中の場合のラスター画像作成部２２Ｂとラスター画像転送部２４Ｂとの並列動作についても同様である。
【００９９】
また、この実施の形態の制御処理では、現在処理中ＲＩＰを指定されたジョブが投入し続けられている間は、現在処理中のＲＩＰを切り換えることなく、それらジョブを、他のＲＩＰが指定された既投入のジョブよりも先に処理する。これにより、処理中のＲＩＰを切り換えることによる処理のオーバーヘッドが低減される。
【０１００】
また、この実施の形態の制御処理では、あるＲＩＰにて先にＲＩＰ処理が開始された未ＲＩＰジョブが、その未ＲＩＰジョブより後に投入された指定ＲＩＰが異なるＲＩＰ済みジョブに追い越されることなく先に印刷される。
【０１０１】
以上に例示した印刷処理システムのプリンタ３０以外の部分は、例えば、汎用のコンピュータに上述の各機能モジュールの処理を表すプログラムを実行させることにより実現される。ここで、コンピュータは、例えば、ハードウエアとして、ＣＰＵ等のマイクロプロセッサ、ランダムアクセスメモリ（ＲＡＭ）およびリードオンリメモリ（ＲＯＭ）等のメモリ（一次記憶）、ＨＤＤ（ハードディスクドライブ）を制御するＨＤＤコントローラ、各種Ｉ／Ｏ（入出力）インタフェース、ローカル・エリア・ネットワークなどのネットワークとの接続のための制御を行うネットワークインタフェース等が、たとえばバスを介して接続された回路構成を有する。また、そのバスに対し、例えばＩ／Ｏインタフェース経由で、ＣＤやＤＶＤなどの可搬型ディスク記録媒体に対する読み取り及び／又は書き込みのためのディスクドライブ、フラッシュメモリなどの各種規格の可搬型の不揮発性記録媒体に対する読み取り及び／又は書き込みのためのメモリリーダライタ、などが接続されてもよい。上に例示した各機能モジュールの処理内容が記述されたプログラムがＣＤやＤＶＤ等の記録媒体を経由して、又はネットワーク等の通信手段経由で、ハードディスクドライブ等の固定記憶装置に保存され、コンピュータにインストールされる。固定記憶装置に記憶されたプログラムがＲＡＭに読み出されＣＰＵ等のマイクロプロセッサにより実行されることにより、上に例示した機能モジュール群が実現される。なお、それら機能モジュール群のうちの一部又は全部を、専用ＬＳＩ(Large Scale Integration)、ＡＳＩＣ（Application Specific Integrated Circuit、特定用途向け集積回路）又はＦＰＧＡ（Field Programmable Gate Array）等のハードウエア回路として構成してもよい。
【符号の説明】
【０１０２】
１０  ジョブ管理モジュール、１２  ＲＩＰキュー、１４  プリントキュー、１６  処理中ジョブリスト、１８  処理中ＲＩＰ情報、２０Ａ，２０Ｂ  ＲＩＰ、２２Ａ，２２Ｂ  ラスター画像作成部、２４Ａ，２４Ｂ  ラスター画像転送部、２６Ａ，２６Ｂ  プリンタ監視部、３０  プリンタ。
【図１】
2013061911.tif 000003
【図２】
2013061911.tif 000004
【図３】
2013061911.tif 000005
【図４】
2013061911.tif 000006
【図５】
2013061911.tif 000007
【図６】
2013061911.tif 000008
【図７】
2013061911.tif 000009
【図８】
2013061911.tif 000010
【図９】
2013061911.tif 000011
【図１０】
2013061911.tif 000012
【図１１】
2013061911.tif 000013