(57)【要約】【課題】  複数の画像形成ジョブを並行して又は連続的に行うことが可能な画像形成ジョブを監視およびパイプラインする方法を実現する。【解決手段】  クライアント装置と選択された画像形成装置との間で、並列関係にあるＮ個の異なる複数の画像形成ジョブを監視およびパイプラインする方法であって、各ジョブはＮ個の連続的な処理状態により特徴付けることができ、画像形成装置は、Ｎ個の異なる状態のうちの互いに異なるジョブを同時に実施することができる。この方法は、メインスレッドを作る工程と、異なるジョブに関連する合計Ｎ個までの子スレッドを起動することができる工程と、起動された子スレッドを利用して、合計Ｎ個までの複数のジョブを並行して処理する工程とを含み、各子スレッドは、ある任意の時点で、関連するジョブの異なるＮ個の処理状態とそれぞれ関連している。【選択図】  図１
2006067587.tif 000002
【特許請求の範囲】
【請求項１】
クライアント装置と選択された画像形成装置との間で、並列関係にあるＮ個の異なる複数の画像形成ジョブを監視およびパイプラインする方法であって、その実行に関連する各ジョブは、少なくとも、転送状態、ラスタライズ状態、および出力状態を含むＮ個の連続的な処理状態によって特徴付けることができ、また、前記画像形成装置が、前記Ｎ個の異なる状態のうちの互いに異なるジョブを同時に実施することができ、前記方法が、
選択された画像形成装置に関連するメインスレッドを作る工程と、
作られたメインスレッドに関連し、それぞれが異なるジョブに関連する合計Ｎ個までの子スレッドを起動することができる工程と、
メインスレッドに関連する合計Ｎ個までの起動された子スレッドを利用して、前記クライアント装置と選択された画像形成装置との間で、合計Ｎ個までの複数のジョブを並行して処理する工程と、を含み、互いに異なり、同時にアクティブな、起動されたジョブ固有の各子スレッドは、ある任意の時点で、関連するジョブの異なるＮ個の処理状態とそれぞれ関連している方法。
【請求項２】
画像形成装置が、印刷、ファックス、スキャン、コピー、ウェブ出版、文書管理、文書アーカイブおよび検索、文書操作、並びに、文書転写を含む群から選ばれた画像形成を実施することができる請求項１に記載の方法。
【請求項３】
画像形成装置が、Ｎ個の状態の各々で、同時に、Ｍ個の異なる画像形成ジョブを処理することができ、したがって、Ｍ×Ｎ個の異なる画像形成ジョブを同時に取り扱うことができる請求項１に記載の方法。
【請求項４】
クライアント装置と複数段階の画像形成装置との間で、並列関係にある複数の異なる画像形成ジョブを監視およびパイプラインするバケツリレー的な方法であって、画像形成装置中でのジョブ段階の完了について、画像形成装置からクライアント装置へ通知を行う工程を含み、画像形成装置は、通知に関して、少なくとも（ａ）入力された画像形成ジョブのバッファリングを通知でき、（ｂ）前記バッファリングに続いて、ジョブのラスタライズを通知でき、（ｃ）前記ラスタライズに続いて、ジョブの出力を通知できるようになっており、前記方法が、
第１画像形成ジョブを、クライアント装置から画像形成装置へと送信し、このジョブが画像形成装置へバッファリングされたとの通知を行う工程と、
バッファリング通知がなされた第１画像形成ジョブが、ラスタライズされたとの通知を行い、ラスタライズ中に、第２画像形成ジョブを、クライアント装置から画像形成装置へ同時に転送し、第２画像形成ジョブが画像形成装置へバッファリングされたとの通知を行う工程と、
ラスタライズ通知がなされた第１画像形成ジョブが、出力されたとの通知を行い、この出力中に、同時に、第２画像形成ジョブがラスタライズされたと通知し、第３画像形成ジョブを、クライアント装置から画像形成装置へと転送する工程と、
その後も、画像形成のためにクライアント装置に与えられた、すぐ次に続くすべての画像形成ジョブについて、バケツリレーを効果的に繰り返す工程とを、この順序で行う方法。
【請求項５】
画像形成装置が、印刷、ファックス、スキャン、コピー、ウェブ出版、文書管理、文書アーカイブおよび検索、文書操作、並びに、文書転写を含む群から選ばれた画像形成を実施することができる請求項４に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成ジョブを監視およびパイプラインする方法に関するものである。
【背景技術】
【０００２】
本発明は、画像形成ジョブを監視し、パイプラインする（パイプライン処理を行う）方法に関する。より具体的には、本発明は、ホスト装置から、複数段階画像形成装置（Ｎ個の異なる画像形成操作（段階）を同時に実施し、かつ、パイプラインされ同時に処理されうる複数のジョブの数がＮである画像形成装置）へ、複数のジョブを連続的に（順次）パイプラインする方法に関する。本発明によれば、画像形成装置からホスト装置へと効果的に送られる、ある段階の操作の終了を知らせる通知が、ホスト装置から画像形成装置へ新しいジョブを渡すための信号となることにより、この連続的（順次）パイプラインが行われる。
【０００３】
本明細書中の説明および例示は、本発明の手法によって取り扱い可能な画像形成装置の多くの操作段階に関するものであり、常に存在する中心となる一般的な操作としては、転送、ラスタライズ、および出力の段階がある。
【０００４】
発明の背景を紹介すると、最新のＭＦＰ装置は、画像形成ジョブのすべて、または一部分を並行して処理する能力をより一層有している。しかし、マイクロソフトのWindows(登録商標)２Ｋ／ＸＰシステムなどの、従来のオペレーティングシステムの画像形成用スプーリングシステムは、並行して完了を出力する画像形成ジョブのデスプールまたは監視に対応していない。
【０００５】
通常、画像形成ジョブは、印刷スプーラなどの、画像形成スプーラにスプールされると、コントロールがユーザに戻る。このため、ユーザは、別の作業を続けて行うことができる。スプーラは、スプールプロセスからの非同期的なプロセスとして、画像形成装置（以下、「装置」と称することもある）に対して、画像形成ジョブをデスプールする。
【０００６】
画像形成スプーラは、ポートマネジャに対して、画像形成ジョブをデスプールする。ポートマネジャの複数の機能は、（１）画像形成ジョブを画像形成装置へ送信するための送信プロトコルを取り扱うこと、（２）ジョブ／画像形成装置の状態に関するジョブの通知を受信し、それを、スプーラに折り返し報告すること、および、（３）次のジョブを画像形成装置に対してデスプールできるタイミングを、スプーラに知らせることである。
【０００７】
マイクロソフトのWindows(登録商標)システムは、上述の方法を用いているオペレーティングシステムの１つの例である。マイクロソフトのWindows(登録商標)のスプーラおよびポートモニタでは、並行処理が可能である最新のＭＦＰを十分に生かすには、いくつかの限界がある。この限界は、
１．スプーラは、ポートモニタが、あるジョブの実行が成功したと報告するまでは次のジョブをデスプールしない。すなわち、ポートモニタを介して、一時点で、１つのジョブしかデスプールしない（すなわち、シングルジョブパイプライン）。これゆえに、
（ａ）  装置に機能と、処理能力とが備わっていても、スプーラ／ポートモニタは、１つの装置に並行にジョブをデスプールする利点を活用できない。
（ｂ）  装置が完了報告を行うまで、装置は１つのジョブの処理しかできず、次のジョブを受け取らないために、この間に別のジョブの一部分または全部を処理できない。
２．印刷プロトコル（例えば、ＬＰＲ）を用いており、ポートマネジャが、スプーラにジョブがうまく完了したことを報告する前の段階では、ポートマネジャは、ラスタ画像形成プロセス（ＲＩＰ）の完了を通じてのみジョブの監視を行っている。したがって、
（ａ）  装置が、内部ジョブキューを内蔵している場合、装置は、ＲＩＰの成功まで待つのではなく、内部でジョブのスプールを行った後にジョブの成功を報告せねばならない。その結果、ホスト側では、複数ジョブのパイプライン処理を行うために次のジョブのデスプールを始める。
（ｂ）  装置は、ＲＩＰ終了後に成功を報告するので、例えば、出力中など、ＲＩＰプロセス後のエラーについては、スプーラに伝えられない。
【０００８】
上述の状況を改良するために、印刷ジョブ中にローカルクライアントのネットワークアドレスを埋め込み、クライアント機が駆動している裏で、監視プロセスを起動させることが考えられる。プリンタが印刷ジョブをうまく出力まで終了すれば、またはエラーを検知すれば、ジョブの状態を示すメッセージが、例えばクライアント機のネットワークアドレスから得られるローカルクライアント装置の監視装置に送り返される。
【０００９】
この改良により、ジョブの成功に関する、ホストへの折り返し通知は改良されるが、この方法では、スプーラとの統合はなされていない。これゆえに、スプーラは、この能力を生かせず、上述の従来技術における限界は、存在しつづける。
【００１０】
同様の改良は、米国特許第６，２１９，１５１号に開示されている。この中では、出力プロセスを経てジョブの完了を示すＳＮＭＰ（Simple Network Management Protocol）トラップメッセージが、スプーラと統合されていないホスト上の監視プロセスに送り返される。
【００１１】
同様の改良の別の例は、米国特許出願公開第２００２／００５７４４９号中に開示されている。この中では、出力プロセスを経てジョブの完了を示す電子メールが、ホスト上のスプーラと統合されてない監視プロセスに送り返される。
【００１２】
従来技術における別の改良の例は、米国特許出願公開第２００２／００８９６９２中に示されている。この公報中で開示された方法では、印刷装置に印刷ジョブがデスプールされた後、専用の印刷スプーラが、印刷ジョブの状態について、印刷装置と通信を行う。この公報中には、２つの通信方法が開示されている。
【００１３】
第１の方法では、印刷スプーラは、ＳＮＭＰを使用して、印刷装置を、定期的に調査する。印刷装置は、ＳＮＭＰジョブＭＩＢ(Management Information Base)拡張に対応している。各調査の間、印刷スプーラは、印刷装置に対して、デスプールされたジョブに関する、ジョブＭＩＢのＯＩＤ(Object ID)値を尋ねる。
【００１４】
第２の方法では、専用の印刷スプーラは、ジョブＭＩＢイベントと共に返答するために、印刷装置と共に、ＳＮＭＰトラップを登録する。ジョブが終了した場合、または、用紙のジャム発生といった状態が変わった場合には、印刷装置は、専用スプーラにメッセージを送り返す。
【特許文献１】特開平１０−３０４１８４号公報（公開日：平成１０年(1998)１１月１３日）
【特許文献２】米国特許第６，２１９，１５１号明細書
【特許文献３】米国特許出願公開第２００２／００５７４４９号明細書
【特許文献４】米国特許出願公開第２００２／００８９６９２号明細書
【発明の開示】
【発明が解決しようとする課題】
【００１５】
この方法の利点は、出力によるジョブ完了が、スプーラに統合されている点である。しかし、この方法でも、ジョブのデスプールとジョブの監視とを並行して行うことができるという、ＭＦＰの並行処理能力を生かすことについては、開示されていない。したがって、この従来の方法でも、シングルジョブパイプラインに限定されている。
【００１６】
この従来技術を背景として、画像形成ジョブの複数の段階を並行して取り扱うことができるという画像形成装置の既存の能力を基に、内部印刷キューおよび／または並行ジョブ処理能力を用いて、画像形成装置に、並行して画像形成ジョブをデスプールし、監視するための、より効果的な方法が望まれている。
【００１７】
本発明は、上記の問題点に鑑みてなされたものであり、その目的は、複数の画像形成ジョブが完了したか否かを監視し、複数の画像形成ジョブを並行して又は連続的に行うことが可能な画像形成ジョブを監視およびパイプラインする方法を実現することにある。
【課題を解決するための手段】
【００１８】
本発明に係る画像形成ジョブを監視およびパイプラインする方法は、上記課題を解決するために、クライアント装置と選択された画像形成装置との間で、並列関係にあるＮ個の異なる複数の画像形成ジョブを監視およびパイプラインする方法であって、その実行に関連する各ジョブは、少なくとも、転送状態、ラスタライズ状態、および出力状態を含むＮ個の連続的な処理状態によって特徴付けることができ、また、前記画像形成装置が、前記Ｎ個の異なる状態のうちの互いに異なるジョブを同時に実施することができ、前記方法が、選択された画像形成装置に関連するメインスレッドを作る工程と、作られたメインスレッドに関連し、それぞれが異なるジョブに関連する合計Ｎ個までの子スレッドを起動することができる工程と、メインスレッドに関連する合計Ｎ個までの起動された子スレッドを利用して、前記クライアント装置と選択された画像形成装置との間で、合計Ｎ個までの複数のジョブを並行して処理する工程と、を含み、互いに異なり、同時にアクティブな、起動されたジョブ固有の各子スレッドは、ある任意の時点で、関連するジョブの異なるＮ個の処理状態とそれぞれ関連している方法である。
【００１９】
上記の構成によれば、クライアント装置と選択された画像形成装置との間では、並列関係にあるＮ個の異なる複数の画像形成ジョブが監視され、パイプラインされるようになっている。この各ジョブは、画像形成装置のジョブ実行に関連しており、少なくとも、転送状態、ラスタライズ状態、および出力状態を含むＮ個の連続的な処理状態によって特徴付けることができる。また、前記画像形成装置が、前記Ｎ個の異なる状態のうちの互いに異なるジョブを同時に実施することができるようになっている。
【００２０】
前記方法は、選択された画像形成装置に関連するメインスレッドを作るため、選択された画像形成装置にて実行される画像形成ジョブの監視を行うことができるようになる。また、メインスレッドに関連した子スレッドであって、それぞれが異なるジョブに関連する合計Ｎ個までの子スレッドを起動させることができる。これにより、異なるジョブに関する管理を各子スレッドで行うことが可能になる。
【００２１】
さらに、この合計Ｎ個までの起動された子スレッドを利用して、クライアント装置と選択された画像形成装置との間で、合計Ｎ個までの複数のジョブを並行して処理するようになっている。また、互いに異なり、同時にアクティブな、起動されたジョブ固有の各子スレッドは、ある任意の時点で、関連するジョブの異なるＮ個の処理状態とそれぞれ関連している。その結果、異なるＮ個の処理状態に関連している複数のジョブを並行して処理することが可能になる。
【００２２】
本発明に係る画像形成ジョブを監視およびパイプラインする方法では、画像形成装置が、印刷、ファックス、スキャン、コピー、ウェブ出版、文書管理、文書アーカイブおよび検索、文書操作、並びに、文書転写を含む群から選ばれた画像形成を実施することができることが好ましい。上記の構成によれば、上記各種の画像形成を行う場合においても、関連する複数のジョブを並行して行うことが可能になり、より高速処理を実現することができる。
【００２３】
本発明に係る画像形成ジョブを監視およびパイプラインする方法では、画像形成装置が、Ｎ個の状態の各々で、同時に、Ｍ個の異なる画像形成ジョブを処理することができ、したがって、Ｍ×Ｎ個の異なる画像形成ジョブを同時に取り扱うことができることが好ましい。上記の構成によれば、複数の状態に関連する複数のジョブを並行して処理することが可能になり、より高速処理を実現することができる。
【００２４】
本発明に係る画像形成ジョブを監視およびパイプラインする方法は、上記課題を解決するために、クライアント装置と複数段階の画像形成装置との間で、並列関係にある複数の異なる画像形成ジョブを監視およびパイプラインするバケツリレー的な方法であって、画像形成装置中でのジョブ段階の完了について、画像形成装置からクライアント装置へ通知を行う工程を含み、画像形成装置は、通知に関して、少なくとも（ａ）入力された画像形成ジョブのバッファリングを通知でき、（ｂ）前記バッファリングに続いて、ジョブのラスタライズを通知でき、（ｃ）前記ラスタライズに続いて、ジョブの出力を通知できるようになっており、前記方法が、第１画像形成ジョブを、クライアント装置から画像形成装置へと送信し、このジョブが画像形成装置へバッファリングされたとの通知を行う工程と、バッファリング通知がなされた第１画像形成ジョブが、ラスタライズされたとの通知を行い、ラスタライズ中に、第２画像形成ジョブを、クライアント装置から画像形成装置へ同時に転送し、第２画像形成ジョブが画像形成装置へバッファリングされたとの通知を行う工程と、ラスタライズ通知がなされた第１画像形成ジョブが、出力されたとの通知を行い、この出力中に、同時に、第２画像形成ジョブがラスタライズされたと通知し、第３画像形成ジョブを、クライアント装置から画像形成装置へと転送する工程と、その後も、画像形成のためにクライアント装置に与えられた、すぐ次に続くすべての画像形成ジョブについて、バケツリレーを効果的に繰り返す工程とを、この順序で行う方法である。
【００２５】
上記の構成によれば、クライアント装置と選択された画像形成装置との間では、並列関係にある複数の異なる画像形成ジョブが監視され、パイプラインされるようになっている。また、この監視およびパイプラインはバケツリレー的に行われる。「バケツリレー的」とは、バケツリレー方式のことであり、ある画像形成ジョブが送信・実行されて完了すると、次の画像形成ジョブが同様に送信・実行される状態を示す。すなわち、複数の異なる画像形成ジョブが、連続的に順次、送信・実行される状態を示す。
【００２６】
また、この方法は、画像形成装置中でのジョブ段階の完了について、画像形成装置からクライアント装置へ通知を行う工程を含んでいる。すなわち、ジョブが完了したか否かが分かるようになっている。この画像形成装置は、少なくとも次の（ａ）〜（ｃ）に示す３つの通知を行うことができる。（ａ）入力された画像形成ジョブのバッファリングの通知、（ｂ）前記バッファリングに続いて、ジョブのラスタライズの通知、（ｃ）前記ラスタライズに続いて、ジョブの出力の通知。すなわち、各ジョブがどの処理を行っているか（又はどの処理を完了したか）が分かるようになっている。
【００２７】
前記方法では、第１画像形成ジョブを、クライアント装置から画像形成装置へと送信し、このジョブが画像形成装置へバッファリングされたとの通知を行う。そして、バッファリング通知がなされた第１画像形成ジョブが、ラスタライズされたとの通知を行い、ラスタライズ中に、第２画像形成ジョブを、クライアント装置から画像形成装置へ同時に転送し、第２画像形成ジョブが画像形成装置へバッファリングされたとの通知を行う。さらに、ラスタライズ通知がなされた第１画像形成ジョブが、出力されたとの通知を行い、この出力中に、同時に、第２画像形成ジョブがラスタライズされたと通知し、第３画像形成ジョブを、クライアント装置から画像形成装置へと転送する。
【００２８】
これにより、例えば、第１画像形成ジョブのバッファリング又はラスタライズが完了した後に、第２画像形成ジョブのバッファリングやラスタライズを行い、それが完了した後に、第３画像形成ジョブのバッファリングやラスタライズを行うようになっている。すなわち、各画像形成ジョブの処理状態を常に通知することによって、複数の異なる画像形成ジョブの連続的な（バケツリレー的な）処理を行うことができる。さらに、その後も、画像形成のためにクライアント装置に与えられた、すぐ次に続くすべての画像形成ジョブについて、バケツリレーを効果的に繰り返すことにより、さらなる連続的な処理が可能になる。
【００２９】
本発明に係る画像形成ジョブを監視およびパイプラインする方法では、画像形成装置が、印刷、ファックス、スキャン、コピー、ウェブ出版、文書管理、文書アーカイブおよび検索、文書操作、並びに、文書転写を含む群から選ばれた画像形成を実施することができることが好ましい。上記の構成によれば、上記各種の画像形成を行う場合においても、関連する複数のジョブを並行して行うことが可能になり、より高速処理を実現することができる。
【発明の効果】
【００３０】
本発明に係る画像形成ジョブを監視およびパイプラインする方法は、以上のように、クライアント装置と選択された画像形成装置との間で、並列関係にあるＮ個の異なる複数の画像形成ジョブを監視およびパイプラインする方法であって、その実行に関連する各ジョブは、少なくとも、転送状態、ラスタライズ状態、および出力状態を含むＮ個の連続的な処理状態によって特徴付けることができ、また、前記画像形成装置が、前記Ｎ個の異なる状態のうちの互いに異なるジョブを同時に実施することができ、前記方法が、選択された画像形成装置に関連するメインスレッドを作る工程と、作られたメインスレッドに関連し、それぞれが異なるジョブに関連する合計Ｎ個までの子スレッドを起動することができる工程と、メインスレッドに関連する合計Ｎ個までの起動された子スレッドを利用して、前記クライアント装置と選択された画像形成装置との間で、合計Ｎ個までの複数のジョブを並行して処理する工程と、を含み、互いに異なり、同時にアクティブな、起動されたジョブ固有の各子スレッドは、ある任意の時点で、関連するジョブの異なるＮ個の処理状態とそれぞれ関連しているので、異なるＮ個の処理状態に関連している複数のジョブを並行して処理することが可能になるという効果を奏する。
【００３１】
本発明に係る画像形成ジョブを監視およびパイプラインする方法は、以上のように、クライアント装置と複数段階の画像形成装置との間で、並列関係にある複数の異なる画像形成ジョブを監視およびパイプラインするバケツリレー的な方法であって、画像形成装置中でのジョブ段階の完了について、画像形成装置からクライアント装置へ通知を行う工程を含み、画像形成装置は、通知に関して、少なくとも（ａ）入力された画像形成ジョブのバッファリングを通知でき、（ｂ）前記バッファリングに続いて、ジョブのラスタライズを通知でき、（ｃ）前記ラスタライズに続いて、ジョブの出力を通知できるようになっており、前記方法が、第１画像形成ジョブを、クライアント装置から画像形成装置へと送信し、このジョブが画像形成装置へバッファリングされたとの通知を行う工程と、バッファリング通知がなされた第１画像形成ジョブが、ラスタライズされたとの通知を行い、ラスタライズ中に、第２画像形成ジョブを、クライアント装置から画像形成装置へ同時に転送し、第２画像形成ジョブが画像形成装置へバッファリングされたとの通知を行う工程と、ラスタライズ通知がなされた第１画像形成ジョブが、出力されたとの通知を行い、この出力中に、同時に、第２画像形成ジョブがラスタライズされたと通知し、第３画像形成ジョブを、クライアント装置から画像形成装置へと転送する工程と、その後も、画像形成のためにクライアント装置に与えられた、すぐ次に続くすべての画像形成ジョブについて、バケツリレーを効果的に繰り返す工程とを、この順序で行うので、複数の異なる画像形成ジョブの連続的な（バケツリレー的な）処理を行うことができるという効果を奏する。
【発明を実施するための最良の形態】
【００３２】
本発明の、好適な最良の形態では、並行ジョブ処理能力および／または内部印刷キューを有する画像形成装置（例えば、ＭＦＰ装置）に対して、複数のジョブをパイプラインし（パイプライン処理を行い）、最終的に出力が完了したか否かのジョブ完了を監視するために、画像形成スプーラ（例えば、印刷スプーラ）を実装するための有効な方法を提供する。代表的な例として、本発明は、ＭＦＰ装置に関連して説明する。
【００３３】
本発明の実装および手法によれば、適切に改良されたＭＦＰ装置は、以下の特徴と能力とを有する。すなわち、
１．１つ以上の画像形成ジョブを保持する内部印刷キューと、
２．同じホスト演算装置から、並行して複数のジョブを受け取り内部印刷キューに入れることができる能力と、
３．並行して、複数の画像形成ジョブをＲＩＰ処理する能力と、
４．最終的な出力を通じたジョブの状態を、バックチャネルで、ホストに折り返し報告する能力と、
を有する。
【００３４】
ホスト側では、適切に改良された画像形成スプーラ（以下、単に「スプーラ」と記載することもある）及びポートモニタは、以下の能力を有する。
１．ポートモニタは、同じ画像形成装置に対して、並行して、複数のジョブをデスプールするために、ジョブを区別するためのポート範囲を使用するなどして、ジョブ毎に１つのポートを用いて、複数のスレッドを起動することができる。
２．ポートモニタは、起動された複数のスレッドから、並行して、各ジョブの完了および状態を監視し、ジョブ毎にスプーラに対して、状態を折り返し報告することができる。
３．画像形成スプーラは、ポートモニタから要求された場合、同じ装置に、あるジョブをデスプールしながら、別のジョブをデスプールするために、複数のスレッドを起動することができる。
４．画像形成スプーラは、起動されたスレッドにより、同じ装置に対してデスプールされた複数のジョブについて、ジョブの状態を管理し、データをスプールすることができる。
【００３５】
さらに、同じ装置が同時に複数のジョブを処理している状態を、印刷モニタが正確に反映できるように、画像形成スプーラは、システムレジストリなどに情報を報告することができる。
【００３６】
一般的には、本発明は、以下のように説明することができる。すなわち、クライアント装置と選択された画像形成装置との間で、並列関係にあるＮ個の異なる複数の画像形成ジョブをパイプラインおよび監視する方法であって、その実行に関連する各ジョブは、少なくとも、転送状態、ラスタライズ状態、および出力状態を含むＮ個の連続的な処理状態によって特徴付けられることができ、また、前記画像形成装置が、前記Ｎ個の異なる状態のうちの互いに異なるジョブを同時に実施することができ、前記方法が、
（ａ）選択された画像形成装置に関連するメインスレッドを作る工程と、
（ｂ）作られたメインスレッドに関連し、それぞれが異なるジョブに関連する合計Ｎ個までの子スレッドを起動することができる工程と、
（ｃ）メインスレッドに関連する合計Ｎ個までの起動された子スレッドを利用して、前記クライアント装置と選択された画像形成装置との間で、合計Ｎ個までの複数のジョブを並行して処理する工程と、を含み、互いに異なり、同時にアクティブな、起動されたジョブ固有の各子スレッドは、ある任意の時点で、関連するジョブの異なるＮ個の処理状態とそれぞれ関連している。
【００３７】
別の観点から見ると、本発明は、以下の特徴を有する。すなわち、クライアント装置と複数段階の画像形成装置との間で、並列関係にある複数の異なる画像形成ジョブをパイプラインおよび監視するバケツリレー的な方法であって、各処理段階について、画像形成装置中でのジョブ段階の完了について、画像形成装置からクライアント装置へ通知を行う工程を含み、画像形成装置は、少なくとも（ａ）入力された画像形成ジョブのバッファリングを通知でき、（ｂ）前記バッファリングに続いて、ジョブのラスタライズを通知でき、（ｃ）前記ラスタライズに続いて、ジョブの出力を通知できるようになっており、前記方法が、
（１）第１画像形成ジョブを、クライアント装置から画像形成装置へと送信し、このジョブが画像形成装置中へバッファリングされたとの通知を行う工程と、
（２）バッファリング通知がなされた第１画像形成ジョブが、ラスタライズされたとの通知を行い、ラスタライズ中に、第２画像形成ジョブを、クライアント装置から画像形成装置へ同時に転送し、第２画像形成ジョブを画像形成装置中へバッファリングする工程と、
（３）ラスタライズ通知がなされた第１画像形成ジョブが、出力されたとの通知を行い、この出力中に、同時に、第２画像形成ジョブがラスタライズされたと通知し、第３画像形成ジョブを、クライアント装置から画像形成装置へと転送する工程と、
（４）その後も、画像形成のためにクライアント装置に与えられた、すぐ次に続くすべての画像形成ジョブについて、バケツリレーを効果的に繰り返す工程と、
をこの順序で行う。
【００３８】
以下に続く本発明の詳細な説明では、まず、図１および図２の高度な概略図を参照して、説明を行う。この高レベルな説明により、当業者は、本発明をどのように実装し、実践することができるかを十分理解することができる。また、当業者は、このような実装および実践を行う上での、従来より存在する、すべての詳細な数々の方法を理解するであろう。それゆえに、本明細書中では、図３〜図５で示した具体的で代表的な例示以外について、詳細を述べる。
【００３９】
図１は、本発明の方法の全体的な構成を示す高度のブロック／概略図である。図２は、本発明の方法で実行される種々の工程を説明するために、図１と関連して参照すると有効な動作を説明するブロック／概略図である。図３は、ホスト側から見た、ジョブのパイプラインと、内部印刷キューに関連した複数の画像形成ジョブの並行処理とをより詳細に示した図である。図４は、画像形成装置側から見た、ジョブパイプラインと、内部印刷キューからの受信に関連した並行ＲＩＰ処理とを示した図であり、図３と同様のレベルまで詳細に示している図である。図５は、ＲＩＰキューからの連続的な（順次）出力の手法を示す図である。
【００４０】
まず、最初に図１および図２を参照する。図１に示されている参照符号１０は、本発明の方法を実現するための構成を示す高度な概略図である。図１中、ブロック１２は、ホストコンピュータ、ホスト、またはクライアント装置を示す。ブロック１４は、ＭＦＰ装置などの画像形成装置を示す。ブロック１６・１８・２０は、それぞれ、「ジョブ１」「ジョブ２」「ジョブ３」としてラベルが付けられた、３つの画像形成ジョブを示す。例として、これら３つのジョブは、１６・１８・２０の順で連続的な（順次）要求がされたものと仮定する。図１は、これらのジョブの連続的（順次）要求に対する、本発明の連続的な（順次）応答および挙動を説明するために用いる。また、図１は、これら３つすべてのジョブが、（ａ）転送／バッファリング、（ｂ）ラスタ画像処理(または、ラスタライズ、ＲＩＰ)、および、（ｃ）出力、と呼ばれる３つの異なる特定の処理状態において、同時に（並行して）取り扱い／処理されている瞬間を示すために用いられる。下位ブロック２２（同じ参照符号で示された陰影のある大きな矢印を含む）、および下位ブロック２４・２６は、すべてブロック１４内に示されているが、これらが、上述の３つの処理状態を示す。状態２２・２４の間の処理の流れは、陰影をつけた大きい矢印２８で示し、状態２４・２６の間の処理の流れは、陰影をつけた大きい矢印３０で示す。図１中の最後のジョブ出力は、陰影をつけていない大きい矢印３２で示す。
【００４１】
当業者は良く理解できるであろうが、装置１４と共に協調的にジョブを取り扱う相互動作を行うために、ホスト１２と関連するのは、括弧３４で示しているメインスレッドである。これも当業者には良く理解できるが、各ジョブ１６・１８・２０に対して、関連する子スレッド１６Ａ、１８Ａ、２０Ａが、メインスレッド３４により適切に起動される。これら３つの子スレッド各々に関連して、陰影をつけた小さい四角形が、１つ以上ある。３つの四角形１６ａ１、１６ａ２、１６ａ３は、子スレッド１６Ａに関連している。２つの四角形１８ａ１、１８ａ２は、子スレッド１８Ａに関連している。１つの四角形２０ａは、子スレッド２０Ａに関連している。これらの四角形は、それぞれ、子スレッド１６Ａ・１８Ａ・２０Ａに関連する異なる処理状態（転送、ラスタライズ、および出力）を示し、したがって、図１で示した場合におけるジョブ１６・１８・２０に関連し、本明細書中では通知と称する処理を示す。通知に関しては、以下に、より詳細に説明する。
【００４２】
右方向を示す矢印３６は、例えば、ホスト１２から装置１４までのデータの流れといった、ジョブ取り扱い指示の流れなどを示す。左方向を示す矢印３８は、簡単に上述した、通知プロセスを示す。これで、図１についての説明を完了する。
【００４３】
次に、図１と直接関係し、動作を示す図２について説明する。上述の３つの画像形成ジョブ１６・１８・２０をまとめて示し、括弧４０を使用して効果的に可視化する。ジョブ１６から始まるこれらのジョブは、図２中、「カーソル」のように右方向に動く。すなわち、上述の処理状態２２・２４・２６（この図では、横方向に適切な空間を空けたブロックとして図示されている）のように動く。図２中、ジョブ１６・１８・２０を示す３つのブロックから出た破線１６Ｂ・１８Ｂ・２０Ｂは、具体的には、それぞれ、このような「カーソル」を意味している。図２中、ジョブ指示の流れの方向は、上述の矢印３６で示される。
【００４４】
図２中、ブロック２２・２４・２６の右側端から上方向に伸びているのは、それぞれ、３つの破線２２Ａ・２４Ａ・２６Ａであり、この図中、矢印３８Ａ・３８Ｂ・３８Ｃが、それぞれ、これらの３つの線の左方向を示している。線２２Ａ・２４Ａ・２６Ａは、それぞれ、処理状態２２・２４・２６中で実施される処理の最終地点を示す。矢印３８Ａ・３８Ｂ・３８Ｃは、各々上述の矢印３８の一部分を示し、それぞれ、ブロック２２・２４・２６中で実施される処理機能の完了（線２２Ａ・２４Ａ・２６Ａ）に関して、画像形成ジョブ毎に行われる、折り返し報告通知を示す。
【００４５】
図２中に図示した要素の物理的な配置については、寸法的には絶対的に正確なものではないが、隣接する「カーソル」１６Ｂ・１８Ｂ・２０Ｂ間の横方向の間隔は、実質的には、線２２Ａ・２４Ａ・２６Ａ間の横方向の間隔と同じであるものと意図している。
【００４６】
図２中で、種々の動作をカーソルの動きに例えて「描写した」が、ジョブカーソル１６Ｂ・１８Ｂ・２０Ｂは、（カーソルの１ブロックとして）図２中、右方向に動き、（画像形成ジョブ１６と関連する）カーソル１６Ｂが、初めに処理状態ブロックの１つに携わる。具体的には、転送／バッファリングブロック２２（第１処理状態）に携わる。この「携わり」により、ホスト１２から画像形成装置１４へ、データ転送が開始する。子スレッド１６Ａが、ジョブ１６と関連して起動される。
【００４７】
カーソル１６Ｂが、ブロック２２の右側に、すなわち、ジョブ１６の転送／バッファリング処理状態の終了を示す線２２Ａの位置に到着すれば、折り返し通知（矢印３８Ａ）が、子スレッド１６Ａに行き、この子スレッドの状態（図１の小さな四角形１６ａ１）を「更新」する。これにより、画像形成装置１４が、もはや、転送／バッファリング処理に携わっていないことが示される。データ転送およびバッファリング操作に関連するこの通知動作を、ここでは、バッファリング通知と呼ぶ。装置１４は、ここで、再び転送／バッファリング処理状態に携わることができる状態になる。これにより、ホスト１２から装置１４へとジョブ１８を渡すことができるように道が空けられ、メインスレッド３４により、子スレッド１８Ａが起動される。
【００４８】
カーソル１６Ｂは、次に、ＲＩＰ（ラスタ画像処理）ブロック２４に「携わり」、今から説明するように、実質的に同時に３つのジョブがすべて一連の処理状態になり、（ジョブ１８に関連する）カーソル１８Ｂが転送／バッファリングブロック２２に携わる。したがって、装置１４中でジョブ１６に関して、ＲＩＰ処理(処理の第２状態)が開始し、転送／バッファリング処理（第１状態）がジョブ１８に関して開始する。「カーソル」は、図２中で、右方向に動き続けるので、この時点で、装置１４は、２つの連続する画像形成ジョブについて、２つの異なる処理状態に同時に携わっている。
【００４９】
カーソル１６Ｂが、処理終了線２４Ａに到着すると、折り返し通知（矢印３８Ｂ）が、子スレッド１６Ａに行き、その状態（図１中の小さい四角形１６ａ２）を更新する。これにより、装置１４が、もはやＲＩＰ処理に携わっておらず、再び、この処理状態を別のジョブに自由に「提供」できる状態であることが示される。このＲＩＰ処理および通知を、ここでは、ラスタライズ通知と呼ぶ。
【００５０】
ほぼ同時に、カーソル１８Ｂが処理終了線２２Ａに到着し、折り返し通知（矢印３８Ａ）が子スレッド１８Ａに行き、子スレッドの状態（図１中の小さい四角形１８ａ１）を更新する。これにより、装置１４は、再び自由になり、次の画像形成ジョブのために、転送／バッファリング処理状態になれることを示す。
【００５１】
この後、カーソル１６Ｂは、出力（または出力中）処理ブロック２６（第３処理状態）に携わり、カーソル１８Ｂは、ＲＩＰ処理ブロック２４に携わり、（ジョブ２０に関連する）カーソル２０Ｂが、転送／バッファリングブロック２２に携わる。これが起こると、装置１４は、同時に、異なる３つのジョブを含む、３つの異なる処理状態を同時に実施することなる。
【００５２】
カーソル１６Ｂが、処理終了線２６Ａに到着すると、折り返し通知（矢印３８Ｃ）が、子スレッド１６Ａに行き、この子スレッドの状態（図１中の小さい四角形１６ａ３）を更新する。これにより、装置１４が再び自由に出力処理できる状態であることが示される。この動作を、ここでは、出力通知と呼ぶ。
【００５３】
ほぼ同時に、カーソル１８Ｂが、処理終了線２４Ａに到着し、折り返し通知（矢印３８Ｂ）が、子スレッド１８Ａに行き、子スレッドの状態(図１中の小さい四角形１８ａ２)を更新する。これにより、装置１４は、再び自由にＲＩＰ処理できる状態になり、次の画像形成ジョブに対応できるようになることを示す。
【００５４】
さらに、カーソル２０Ｂが、処理終了線２２Ａに到着すると、折り返し通知（矢印３８Ａ）が、子スレッド２０Ａに行き、この子スレッドの状態（図１中の小さい四角形２０ａ１）を更新する。その結果、装置１４は、再び自由に転送／バッファリングできる状態になることを示す。
【００５５】
各画像形成ジョブが、完全に終了すると、関連する子スレッドは捨てられるか、再使用のためにスレッドプールに放たれる。
【００５６】
これをもって、図２についての説明、すなわち、本発明の動作に関する十分な説明を終了する。この説明は、３つの異なる状態で、同時に異なるジョブ処理を行う能力を有する画像形成装置（装置１４）に関連して行ったことがわかるであろう。したがって、本発明の手法を具体的な例で説明するために、Ｎ＝３（Ｎは、文字、変数である。）を用いたことがわかるであろう。この具体的な例は、Ｎ＝３までの画像形成ジョブを同時に取り扱うことのでき、メインスレッドによって同時に起動されたＮ＝３までの子スレッドが、いずれの瞬間においても存在することができる装置１４に関連する。メインスレッドは、常に、子スレッドの「状態」と「有無」とを監視し、新しい画像形成ジョブに対応するために、次の別の子スレッドを起動することができるか否かを決定する。
【００５７】
以下に、より詳細な説明を、残りの図３〜図５を参照して行うが、これらの図に関しては十分に自明であるとわかる。以下に記載する見出しは、本発明の手法の特定の部分を説明するために用いられる。
【００５８】
（同じ装置への同時並列デスプール）
図３に示すように、本発明では、画像形成スプーラ（例えば、印刷スプーラ）は、装置毎にメインスレッドを作成する。各メインスレッドは、さらに、追加の子スレッドを起動する。スプーラは、各装置用に、装置にスプールされるジョブの画像形成キュー(例えば、内部印刷キュー)を保持している。また、以下に限定されるわけではないが、スプーラは、この画像形成キュー中に、例えば、以下の各ジョブの状態を保持する。すなわち、
１．スプール中  −  現在、ジョブがスプーラにスプールされている。
２．スプール済  −  ジョブがスプーラに完全にスプールされた。
３．デスプール中  −  現在、ジョブがポートモニタを介して装置に転送されている。
４．キュー中  −  ジョブが装置中のキューにある。
５．処理中  −  現在、ジョブが装置により処理されている。
６．出力中  −  現在、ジョブの結果（例えば、印刷された用紙）が装置から出力されている。
【００５９】
ホストから装置へ画像形成ジョブをデスプールするために用いられるポートモニタは、装置で同時並行的に行われる各画像形成ジョブに関する子スレッドを起動する。
【００６０】
ジョブがスプールされた状態であり、どのジョブもポートモニタによってデスプールされていない時は、画像形成スプーラは装置に関連する子スレッドを起動し、ポートモニタに対してジョブのデスプールを開始する。デスプールが開始されると、スプーラはジョブ状態を「デスプール中」に更新する。
【００６１】
画像形成スプーラからデスプール要求を受け取ると、ポートモニタは、画像形成装置に対して画像形成ジョブをデスプールするために子スレッドを起動する。
【００６２】
ポートモニタ中の子スレッドには、このジョブに関するいくつかのプロセスがある。すなわち、
１．デスプール
２．キュー
３．処理
４．出力
である。
【００６３】
画像形成ジョブが開始すると、このジョブは、画像形成ジョブを画像形成装置へデスプールする「デスプール」プロセスに移る。ジョブが、完全に装置にデスプールされると（すなわち、装置がジョブの最後のバイトの受信を確認すると）、ジョブは「キュー」プロセスに移る。そして、ポートモニタの子スレッドの「キュー」プロセスは、画像形成スプーラ中の対応するスレッドに、ジョブが今キューに入っているとのメッセージを送り返す。画像形成スプーラは、画像形成ジョブの状態を「キュー中」に更新する。
【００６４】
その後、ポートモニタが、装置からこのジョブに関する処理（例えば、ＲＩＰ処理）が始まったというメッセージ（例えば、バックチャネル）を受け取ると、ジョブは「キュー」プロセスから「処理」プロセスへと移る。ポートモニタの子スレッドの「処理」プロセスは、画像形成スプーラ中の対応するスレッドに、そのジョブが現在処理されているとのメッセージを送る。画像形成スプーラは、画像形成ジョブの状態を「処理中」に更新する。
【００６５】
ポートモニタが、装置からジョブの処理が完了したとのメッセージを受け取ると、ジョブは「処理」プロセスから「出力」プロセスへと移る。その後、ポートモニタの子スレッドの「出力」プロセスは、画像形成スプーラ中の対応するスレッドに、ジョブが今出力されているとのメッセージを送り返す。画像形成スプーラは、画像形成ジョブの状態を「出力中」に更新する。
【００６６】
ポートモニタが、装置からこのジョブに関する出力が終了したとのメッセージを受け取るまで、このジョブは「出力」プロセスであり続ける。その後、ポートモニタの子スレッドの出力プロセスが、画像形成スプーラ中の対応するスレッドに、ジョブが出力を完了したとのメッセージを送り返す。そして、ポートモニタの子スレッドが終了するか、または、再使用のためにスレッドプールに放たれる。画像形成スプーラは、画像形成ジョブの状態を「出力済」に更新する。その後、画像形成スプーラ中の関連する子スレッドは終了する。
【００６７】
ポートモニタのいずれかのプロセス中でエラーが生じれば、このエラーは画像形成スプーラに折り返し報告される。そして、ポートモニタの子スレッドは終了し、画像形成スプーラは、修正処置を行う場合もある。
【００６８】
この変形例として、ポートモニタの子スレッドは、エラーが起こってもすぐには終了しない場合もある。この場合、印刷スプーラ中の対応するスレッドおよびポートモニタの子スレッドは、協調して修正動作を行う。この修正動作には、その動作を中止すること、およびポートモニタの子スレッドを終了することも含まれる。
【００６９】
ポートモニタの子スレッド中のあるジョブが「キュー中」にあるとスプーラに折り返し報告された場合、画像形成スプーラは、同時並行でデスプールするために、キューの走査を開始して「スプール済」状態にある別のジョブを探す。
【００７０】
別のジョブのデスプール準備が完了すれば、スプーラは、装置に関連するポートモニタに対して、ジョブの同時並行デスプールを開始しようとする。そのポートモニタは、デスプール要求を受けると新しいジョブ用に別の子スレッドを作る。ポートモニタの新しい子スレッドは、ポート範囲内の次のポート番号といった固有の接続を用いて装置と接続しようとする。
【００７１】
装置への同時並行接続の試みが失敗すれば、ポートモニタの子スレッドは、デスプールを始めよとのスプールからの要求を拒絶して子スレッドを終了する。その後、スプーラ中の子スレッドは、ジョブをデスプールするための要求の開始を定期的に試みる。
【００７２】
装置への同時並行接続の試みが成功すれば、ポートモニタの子スレッドはスプーラからの要求を受け入れ、装置に対してジョブの同時並行デスプールを始める。種々のプロセスを通じて、ジョブが移行する動作は、上述のシングルジョブの場合と同じである。
【００７３】
変形例として、画像形成装置が内部印刷キューをもたず、連続的な（順次）パイプラインのみを行う場合でも、ジョブを並行して処理することが可能である。画像形成装置にこの能力がないことをポートモニタが知っている場合（例えば、バックチャネルを介してポートモニタが装置と通信する場合）、ポートモニタは、最初のジョブが入るか、もしくは通り過ぎて「処理」状態になるまで新しい子スレッドを作らず、装置に対する同時並行接続を開こうとしない。
【００７４】
（装置内での並行ＲＩＰ処理）
図４中よりわかるように、画像処理装置は、複数のジョブを取り扱うための内部ジョブキュー（内部印刷キュー）を保持する。内部スプーラ（画像形成スプーラ）は、画像処理装置内でこれらのジョブを管理する。内部スプーラは、以下に限定されないが、内部ジョブキュー中に以下の各ジョブ状態を保持する。
１．スプール中  −  装置がジョブを受信している。
２．スプール済  −  装置がジョブを完全に受信した。
３．処理中  −  装置がジョブの処理を開始した。
４．ＲＩＰ中  −  装置がジョブのラスタ画像処理を開始した。
５．処理済  −  装置がジョブの処理を完了した。
６．出力中  −  装置がジョブの処理を完了し、ジョブの出力の最終段階にある。
【００７５】
ジョブが「スプール済」状態にあり、装置が他のジョブを処理していない場合、内部スプーラはこのジョブに関する子スレッドを起動し、ジョブの処理を開始する。変形例として、装置がストリーミングに対応し、十分なデータが処理の開始のためにスプールされていれば、内部スプーラは「スプール中」状態にあるジョブの処理を開始してもよい。
【００７６】
子スレッドには、このジョブに関連して３つのプロセスがある。
１．ページ記述言語（ＰＤＬ）の解釈
２．ラスタ画像処理（ＲＩＰ）
３．出力
のプロセスである。
【００７７】
一般に、初期設定のプロセスには、データ型を決めるために、ジョブのデータストリームを調べる工程と、そのデータ型に対応するＰＤＬ解釈プロセスにジョブを引き渡すプロセスとが含まれる。その後、内部スプーラの子スレッドのＰＤＬ解釈プロセスは、ホスト側のポートモニタ中の対応するスレッドに、ジョブが今処理されているとのメッセージを送り返す（例えば、バックチャネル）。その後、内部スプーラは、画像形成ジョブの内部状態を「処理中」に更新する。
【００７８】
別の場合では、ジョブデータ型は、装置に依存しない画像形成データである。この場合、ジョブは、ＰＤＬ解釈プロセスを迂回してＲＩＰプロセスに進む。さらに別の場合では、ジョブデータ型は、装置依存のラスタデータである。この場合、ジョブは、ＰＤＬ解釈プロセスとＲＩＰプロセスとの両方を迂回して出力プロセスへと進む。
【００７９】
ＰＤＬ解釈プロセスは、ジョブデータを、出力境界（例えば、帯、頁、およびシート）に応じた画像に変換する。すべてのジョブデータが画像に変換されると、画像はＲＩＰ処理へと進む。ＲＩＰ処理の開始時に、内部スプーラの子スレッドは、ホスト側ポートモニタ中の対応するスレッドへ、ジョブが今ＲＩＰ処理されているとのメッセージを送り返す。内部スプーラは、画像形成ジョブの内部状態を「ＲＩＰ中」へと更新する。
【００８０】
別の方法では、画像は、生成された状態でＲＩＰプロセスへと送られる（すなわちストリーミング）。
【００８１】
ＲＩＰプロセスは、画像を、出力のために、装置固有の形式に変換し（すなわち、ラスタライズし）、ラスタ画像を内部ＲＩＰキューに入れる。ＲＩＰプロセスが終了すると、内部スプーラの子スレッドは、ホスト側のポートモニタ中の対応するスレッドに、ジョブがＲＩＰを終了したとのメッセージを送り返し、画像形成ジョブの内部状態を「処理済」に更新する。
【００８２】
もし、内部スプーラプロセス中にエラーが起きた場合、内部スプーラは、修正動作があればそれを行おうとする。内部スプーラが、修正動作を行えない場合、エラーはホスト側のポートモニタ中の対応するスレッドに折り返し報告され、内部スプーラの子スレッドは終了する。
【００８３】
変形例では、内部スプーラの子スレッドは、エラーが起きてもすぐには終了しない。その代わり、ホスト側のポートモニタの子スレッド中の対応するスレッドが修正動作に協力する。修正動作には、この動作の中止と内部スプーラの子スレッドの終了とが含まれる。
【００８４】
内部ジョブキュー中のジョブの処理が開始すれば、内部スプーラは、同時並行処理のために、スプール済状態（またはスプール中状態）にあるキューを走査し始め、別のジョブを探してもよい。
【００８５】
別のジョブ処理の準備ができれば、内部スプーラは、ジョブの同時並行処理を開始しようとする。内部スプーラは、次のジョブ用に別の子スレッドを作る。内部スプーラの子スレッドは、このジョブデータ型と関連したＰＤＬ解釈プロセスを開始しようとする。
【００８６】
内部スプーラは、この処理を始めようとするときに、同時並行処理するための十分なリソースがあるか否かを決める。もし十分なリソースがなければ、内部スプーラは子スレッドを終了する。その後、内部スプーラは、定期的に、ジョブの処理の開始を試行する。
【００８７】
次のジョブを同時並行処理するための十分なリソースがあれば、内部スプーラの子スレッドは、ジョブの同時並行処理を開始する。種々のプロセスを通じてジョブを移行する動作は、上述したシングルジョブに関する動作と同じである。
【００８８】
（装置からホストへの連続的（順次）出力の完了）
最後に図５を参照する。ジョブがＲＩＰキュー中に完全にある場合に、内部スプーラは出力プロセスを開始する。通常、出力プロセスは、出力チャネル（例えば、プリンタ中の定着装置／現像装置を通る媒体路）毎に、順次（すなわち、１時点で１ジョブづつ）行われる。これに代えて、同じ出力チャネルを通る同時並行ジョブ出力を多重化してもよい。さらに、別の方法として、同時並行ジョブ出力は、異なる出力路を有する複数の出力エンジンを通って行ってもよい。出力プロセスが開始すると、内部スプーラの子スレッドは、ホスト側のポートモニタ中の対応するスレッドに、ジョブが現在出力中であるとのメッセージを送り返す。内部スプーラは、画像形成ジョブの内部状態を「出力中」に更新する。
【００８９】
これに代えて、出力プロセスを開始するための十分なラスタ画像がある場合、ジョブが完全にＲＩＰキューに入る前に、内部スプーラが出力プロセスを開始しても良い（すなわち、ストリーミング）。
【００９０】
出力プロセスが完了すると、内部スプーラの子スレッドは、ホスト側のポートモニタ中の対応するスレッドに、ジョブが出力された（すなわち、完了した）とのメッセージを送る。内部スプーラは、画像形成ジョブの内部状態を「出力済」に更新し、子スレッドは終了する。
【００９１】
このように、本発明は、同時に複数の処理状態で動作する画像形成装置の能力を利用しているが、これは独特の手法である。この設定では、状態の数は、値Ｎをとり、これにより、本発明の手法では、合計Ｎ個の異なる画像形成ジョブを同時に処理することができる。
【００９２】
より高度な場合、画像形成装置は、同時に起こりうるＮ個の処理状態を取り、それに加えて、各状態において、Ｍ個の異なるジョブを取り扱うことができる。その結果、本発明の手法では、Ｍ×Ｎ個の、異なる画像形成ジョブを同時に処理することができる。
【００９３】
以上により、本発明の好適で最良の形態を説明し、複数の変形例および変更例を特定し、示唆したが、当業者は、他の変形や変更も可能であり、それらも、明確に本発明の範囲内に入るものと理解できる。
【００９４】
本発明は上述した実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能である。すなわち、請求項に示した範囲で適宜変更した技術的手段を組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
【産業上の利用可能性】
【００９５】
本発明の画像形成ジョブを監視およびパイプラインする方法は、通信可能な情報端末に適用可能であり、例えば、ＰＣ、プリンタ、携帯電話やＰＤＡ等から構成されるシステム等に好適に用いることができる。
【図面の簡単な説明】
【００９６】
【図１】本発明の実施の一形態を示すものであり、本発明の方法の全体的な構成を示す高度のブロック／概略図である。
【図２】本発明の実施の一形態を示すものであり、本発明の方法で実行される種々の工程を説明するために、図１と関連して参照すると有効な動作を説明するブロック／概略図である。
【図３】本発明の実施の一形態を示すものであり、ホスト側から見た、ジョブのパイプラインと、内部印刷キューに関連した複数の画像形成ジョブの並行処理とをより詳細に示した図である。
【図４】本発明の実施の一形態を示すものであり、画像形成装置側から見た、ジョブパイプラインと、内部印刷キューからの受信に関連した並行ＲＩＰ処理とをより詳細に示した図である。
【図５】本発明の実施の一形態を示すものであり、ＲＩＰキューからの連続的（順次）出力の手法を示す図である。
【符号の説明】
【００９７】
１２    クライアント装置
１４    画像形成装置
１６    ジョブ１（画像形成ジョブ）
１８    ジョブ２（画像形成ジョブ）
２０    ジョブ３（画像形成ジョブ）
１６Ａ・１８Ａ・２０Ａ    子スレッド
２２    転送／バッファリングブロック
２４    ＲＩＰブロック
２６    出力処理ブロック
【図１】
2006067587.tif 000003
【図２】
2006067587.tif 000004
【図３】
2006067587.tif 000005
【図４】
2006067587.tif 000006
【図５】
2006067587.tif 000007