(57)【要約】【課題】並列処理可能な複数の通信インタフェースを備えていても、ジョブ単位でジョブ管理を行う。【解決手段】通信プロトコルが互いに異なる複数の通信インタフェース２０１〜２０４のそれぞれからバッファメモリ２１に格納された印刷ジョブデータを読み出し、印刷ジョブデータに付加されているジョブスタートマーク及びジョブエンドマークを検出することにより、印刷ジョブデータをジョブ単位で切り出し、ジョブ管理部２７が、これをスプールファイルとしてスプールバッファ２９に格納し、画像処理部４１との間でスプール処理する。ジョブエンドマークを検出する前に次のジョブスタートマークを検出した場合には、このジョブスタートマークの前をジョブエンドマークとみなし、ジョブエンドマークを検出する前にデータ待ち時間が設定時間経過した場合にはその印刷ジョブデータの受信が終了したとみなす。【選択図】図１
2007301881.tif 000002
【特許請求の範囲】
【請求項１】
複数の通信インタフェースと、バッファ記憶部と、各通信インタフェースから受信した印刷ジョブデータを該バッファ記憶部に格納させるバッファ制御部と、ビットマップデータに基づいて用紙に画像を形成する画像形成部と、スプールファイルに対応した印刷データをビットマップ展開して該画像形成部に供給する画像処理部とを有するマルチポート印刷装置において、
該バッファ記憶部に格納されている印刷ジョブデータを読み出して該印刷ジョブデータをジョブ単位で切り出すジョブ切り出し手段と、
スプールバッファと、
切り出された印刷ジョブデータをスプールファイルとして該スプールバッファに格納し該画像処理部との間でスプール処理するジョブ管理手段と、
を有することを特徴とするマルチポート印刷装置。
【請求項２】
該複数の通信インタフェースは互いに異なる通信プロトコルに従って動作することを特徴とする請求項１に記載のマルチポート印刷装置。
【請求項３】
該ジョブ切り出し手段は、頁記述言語に応じて定義され該印刷ジョブデータに付加されているジョブスタートマーク及びジョブエンドマークを検出することにより、ジョブを切り出すことを特徴とする請求項２に記載のマルチポート印刷装置。
【請求項４】
該ジョブ切り出し手段は、該ジョブエンドマークを検出する前に次のジョブスタートマークを検出した場合には、このジョブスタートマークの前をジョブエンドマークとみなすことを特徴とする請求項３に記載のマルチポート印刷装置。
【請求項５】
該ジョブ管理手段は、スプールファイル生成毎に、ジョブ管理ブロックをリンクしたジョブリストに、このスプールファイルに対応したジョブ管理ブロックをリンクさせ、
該ジョブリストに基づいてスプール処理を行い、
該ジョブ管理ブロックは、スプールファイル名と、待ち、実行中又は終了を示すジョブ状態とのデータ項目を含むことを特徴とする請求項３又は４に記載のマルチポート印刷装置。
【請求項６】
該ジョブリストを表示させる操作パネルと、
該操作パネルを操作して、表示されたジョブリストに含まれるジョブ管理ブロックのデータが変えられた場合、これに応じてジョブの内容又は状態を変更するジョブ変更手段と、
をさらに有することを特徴とする請求項５に記載のマルチポート印刷装置。
【請求項７】
該ジョブ切り出し手段と該ジョブ管理手段とは、プロセッサと、該プロセッサに結合されバッファ制御プログラムが格納された記憶手段とを有して構成され、該バッファ制御プログラムは、
該バッファ記憶部に格納されている印刷ジョブデータをジョブ単位で切り出すジョブ切り出しプログラムと、
各通信インタフェースでの受信開始に応答して、該ジョブ切り出しプログラムのスレッドを生成させるイベントハンドラと、
を有し、該バッファ制御プログラムに従って該プロセッサが動作することにより該バッファ制御部での動作が行われる、
ことを特徴とする請求項６に記載のマルチポート印刷装置。
【請求項８】
該ジョブ管理ブロックはさらに、ジョブ開始時刻のデータ項目を含み、
該ジョブ管理手段は、原則としてＦＩＦＯでスプール処理するとともに、該ジョブ管理ブロックに該ジョブ開始時刻が指定されている場合には例外として、該ジョブ開始時刻に従ってそのスプールファイルを該画像処理部に供給することを特徴とする請求項７に記載のマルチポート印刷装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、並列処理可能な複数の通信インタフェースを備えた、プリント機能を有するプリンタや複合機などのマルチポート印刷装置に関する。
【背景技術】
【０００２】
印刷装置の利用度は、ホストコンピュータのそれよりも低い。
【０００３】
そこで、下記特許文献１には、マルチポートを備えたプリンタに複数のホストコンピュータを接続し、各々のポートに対応した受信データをそれぞれのＣＰＵで並列処理する構成が開示されている。また、下記特許文献２には、１つのＣＰＵで受信データを時分割並列処理する構成が開示されている。
【０００４】
複数のホストコンピュータで１つのプリンタを用いる場合、多種のページ記述言語が用いられる場合がある。そこで、下記特許文献３には、多言語に対応したシングルポートプリンタが開示されている。
【０００５】
一方、下記特許文献４には、複数のホストコンピュータからの印刷要求に対しスプール処理する構成が開示されている。
【特許文献１】特開平７−２７６７４２号公報
【特許文献２】特開平１１−２０２４２号公報
【特許文献３】特開２００１−９２６１０号公報
【特許文献４】特開平８−３０５５１７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記特許文献４のプリンタはマルチポートではなく、１つのネットワークインタフェースのみを用いている。また、パケットをスプール処理しているので、連続したジョブを受信した場合、ジョブを切り出すことができない。このため、ジョブ単位でジョブ実行順を変えるようなジョブ管理を行うことができない。
【０００７】
本発明の目的は、上記問題点に鑑み、並列処理可能な複数の通信インタフェースを備えていても、ジョブ単位でジョブ管理を行うことができるマルチポート印刷装置を提供することにある。
【課題を解決するための手段】
【０００８】
本発明の第１態様では、複数の通信インタフェースと、バッファ記憶部と、各通信インタフェースから受信した印刷ジョブデータを該バッファ記憶部に格納させるバッファ制御部と、ビットマップデータに基づいて用紙に画像を形成する画像形成部と、スプールファイルに対応した印刷データをビットマップ展開して該画像形成部に供給する画像処理部とを有するマルチポート印刷装置において、
該バッファ記憶部に格納されている印刷ジョブデータを読み出して該印刷ジョブデータをジョブ単位で切り出すジョブ切り出し手段と、
スプールバッファと、
切り出された印刷ジョブデータをスプールファイルとして該スプールバッファに格納し該画像処理部との間でスプール処理するジョブ管理手段とを有する。
【０００９】
本発明によるマルチポート印刷装置の第２態様では、第１態様において、該複数の通信インタフェースは互いに異なる通信プロトコルに従って動作する。
【００１０】
本発明によるマルチポート印刷装置の第３態様では、第２態様において、該ジョブ切り出し手段は、頁記述言語に応じて定義され該印刷ジョブデータに付加されているジョブスタートマーク及びジョブエンドマークを検出することにより、ジョブを切り出す。
【００１１】
本発明によるマルチポート印刷装置の第４態様では、第３態様において、該ジョブ切り出し手段は、該ジョブエンドマークを検出する前に次のジョブスタートマークを検出した場合には、このジョブスタートマークの前をジョブエンドマークとみなす。
【００１２】
本発明によるマルチポート印刷装置の第５態様では、第３又は４態様において、該ジョブ管理手段は、スプールファイル生成毎に、ジョブ管理ブロックをリンクしたジョブリストに、このスプールファイルに対応したジョブ管理ブロックをリンクさせ、
該ジョブリストに基づいてスプール処理を行い、
該ジョブ管理ブロックは、スプールファイル名と、待ち、実行中又は終了を示すジョブ状態とのデータ項目を含む。
【００１３】
本発明によるマルチポート印刷装置の第６態様では、第５態様において、
該ジョブリストを表示させる操作パネルと、
該操作パネルを操作して、表示されたジョブリストに含まれるジョブ管理ブロックのデータが変えられた場合、これに応じてジョブの内容又は状態を変更するジョブ変更手段と、
をさらに有する。
【００１４】
本発明によるマルチポート印刷装置の第７態様では、第６態様において、
該ジョブ切り出し手段と該ジョブ管理手段とは、プロセッサと、該プロセッサに結合されバッファ制御プログラムが格納された記憶手段とを有して構成され、該バッファ制御プログラムは、
該バッファ記憶部に格納されている印刷ジョブデータをジョブ単位で切り出すジョブ切り出しプログラムと、
各通信インタフェースでの受信開始に応答して、該ジョブ切り出しプログラムのスレッドを生成させるイベントハンドラと、
を有し、該バッファ制御プログラムに従って該プロセッサが動作することにより該バッファ制御部での動作が行われる。
【００１５】
本発明によるマルチポート印刷装置の第８態様では、第７態様において、該ジョブ管理ブロックはさらに、ジョブ開始時刻のデータ項目を含み、
該ジョブ管理手段は、原則としてＦＩＦＯでスプール処理するとともに、該ジョブ管理ブロックに該ジョブ開始時刻が指定されている場合には例外として、該ジョブ開始時刻に従ってそのスプールファイルを該画像処理部に供給する。
【発明の効果】
【００１６】
上記第１態様の構成によれば、複数の通信インタフェースのそれぞれからバッファ記憶部に格納された印刷ジョブデータを読み出して該印刷ジョブデータをジョブ単位で切り出し、切り出された印刷ジョブデータをスプールファイルとしてスプールバッファに格納し、画像処理部との間でスプール処理するので、ジョブ単位でジョブ管理を行うことができるという効果を奏する。
【００１７】
上記第２態様の構成によれば、該複数の通信インタフェースが互いに異なる通信プロトコルに従って動作する場合においても、上記効果を奏する。
【００１８】
上記第３態様の構成によれば、頁記述言語に応じて定義され該印刷ジョブデータに付加されているジョブスタートマーク及びジョブエンドマークを検出することにより、ジョブを切り出すので、確実にジョブを切り出すことができるという効果を奏する。
【００１９】
上記第４態様の構成によれば、該ジョブエンドマークを検出する前に次のジョブスタートマークを検出した場合には、このジョブスタートマークの前をジョブエンドマークとみなすので、ジョブエンドマークが無い場合でもジョブを切り出すことができるという効果を奏する。
【００２０】
上記第５態様の構成によれば、スプールファイル生成毎に、ジョブ管理ブロックをリンクしたジョブリストに、このスプールファイルに対応したジョブ管理ブロックをリンクさせるので、ジョブリストの内容を表示させ、ユーザによるジョブ実行順変更要求に応答して、ジョブリスト内でのジョブ管理ブロックのリンクを変えることにより容易にジョブ実行順を変更することができるという効果を奏する。
【００２１】
上記第６態様の構成によれば、操作パネルを操作して、表示されたジョブリストに含まれるジョブ管理ブロックのデータが変えられた場合、これに応じてジョブの内容又は状態を変更することができるという効果を奏する。
【００２２】
上記第７態様の構成によれば、各通信インタフェースでの受信開始に応答して、イベントハンドラによりジョブ切り出しプログラムのスレッドを生成させるので、１つのプロセッサで、各通信インタフェースからの印刷ジョブデータに対しジョブ切り出し処理を行うことができるという効果を奏する。
【００２３】
上記第８態様の構成によれば、原則としてＦＩＦＯでスプール処理するとともに、該ジョブ管理ブロックに該ジョブ開始時刻が指定されている場合には例外として、該ジョブ開始時刻に従ってそのスプールファイルを該画像処理部に供給するので、ユーザによるジョブ実行開始時刻の要求に対応することができるという効果を奏する。
【００２４】
本発明の他の目的、構成及び効果は以下の説明から明らかになる。
【実施例１】
【００２５】
図１は、本発明のマルチポートプリンタ１０の概略機能ブロック図である。
【００２６】
このプリンタ１０は、ジョブ制御部２０を備え、これが複数のホストコンピュータ３０〜３２及び３４〜３６で共通に用いられる。
【００２７】
図２は、ジョブ制御部２０のハードウエア概略ブロック図である。
【００２８】
ＭＰＵ２００には、ＮＩＣ２０１、ＵＳＢインタフェース２０２、パラレルインタフェース２０３、シリアルインタフェース２０４、画像処理部インタフェース２０５、ＲＯＭ２０６、ＮＶＲＡＭ２０７、ＤＲＡＭ２０８、ＨＤＤインタフェース２０９及び操作パネルインタフェース２１０がバス２１１を介して結合されている。ＨＤＤインタフェース２０９及び操作パネルインタフェース２１０にはそれぞれ、ＨＤＤ２１２及び操作パネル２１３が結合されている。
【００２９】
ＲＯＭ２０６にはＢＩＯＳ及びブートストラップローダが格納され、ＮＶＲＡＭ２０７には、マルチスレッドに対応したＯＳ及びその上層で動作するアプリケーションプログラムが格納されている。ＤＲＡＭ２０８は、ワークエリアとして用いられ、また、ＨＤＤ２１２はファイル保存用である。パラレルインタフェース２０３は、例えばセントロニクスインタフェースであり、シリアルインタフェース２０４は、例えばＲＳ２３２Ｃインタフェースである。
【００３０】
図１に戻って、通信インタフェース２０１〜２０４はいずれも、受信信号からデータを抽出しこれを連結して印刷ジョブデータを復元させる本体部と、バッファメモリ２１と、該印刷ジョブデータをバッファメモリ２１に格納させるバッファ制御部２２とを備えている。通信インタフェース２０１〜２０４はいずれも、ワンチップコンピュータを備え、その本体部及びバッファ制御部２２での処理を行う。ＵＳＢインタフェースやセントロニクスインタフェースのようにＥＯＤ（エンドオブデータ）が該本体部で判断できない場合、そのデバイスドライバが、受信データ待ちタイムアウト時にＥＯＤを付加する。
【００３１】
ＮＩＣ２０１のポートには、ホストコンピュータ３０、３１及び３２が通信媒体３３を介して結合されている。ＵＳＢインタフェース２０２、パラレルインタフェース２０３及びシリアルインタフェース２０４のポートにはそれぞれ、ホストコンピュータ３４、３５及び３６が結合されている。
【００３２】
図１中のイベントハンドラ２３、ジョブ切り出しスレッド２４〜２６及びジョブ管理部２７は、アプリケーションプログラムの一部である。また、ジョブリスト２８Ａ及び２８Ｂは、ＨＤＤ２１２内に格納され、スプールバッファ２９はＨＤＤ２１２内の領域である。
【００３３】
通信インタフェース２０１〜２０４の各々について、本体部がデータを受信すると、ＭＰＵ２００に対し割込みをかける。その割り込み処理でイベントハンドラ２３が起動され、これによりジョブ切り出しスレッドが生成される。このスレッドは、通信インタフェース２０１〜２０４に対応して最大４個、時分割並列動作する。図１では、ＮＩＣ２０１、ＵＳＢインタフェース２０２及びパラレルインタフェース２０３からの割込みに基づいて、イベントハンドラ２３により、ジョブ切り出しスレッド２４〜２６が生成されている場合を示している。
【００３４】
任意のジョブ切り出しスレッドは、これに対応した通信インタフェースのバッファ制御部２２を介してバッファメモリ２１から受信データを読み出し、まず、ページ記述言語（ＰＤＬ）の種類を特定し、そのＰＤＬで用いられているジョブスタートマーク及びジョブエンドマークの検出処理を行い、ジョブスタートマークからジョブエンドマークまでのデータを１つの印刷ジョブデータとする。
【００３５】
ジョブ切り出しスレッド２４はこの際、ジョブエンドマークが無いためにジョブエンドマーク検出前に次のジョブスタートマークを検出した場合、このジョブスタートマークの前までのデータを１つの印刷ジョブデータとして切り出す。また、ジョブエンドマークを検出する前に通信インタフェースがデータ受信待ちとなり、その待ち時間が設定時間を経過した場合には、そこで印刷ジョブデータが終わりとみなして印刷ジョブデータを切り出す。
【００３６】
ジョブ切り出し処理では、印刷ジョブデータの内容を確認する必要がないので、高速に処理することができる。
【００３７】
各スレッドは、１つの印刷ジョブデータの切り出し処理が終了する毎に、これを、スプール処理を兼ねたジョブ管理部２７に通知する。ジョブ管理部２７は、この通知に応答して、切り出された印刷ジョブデータをスプールファイルにしてスプールバッファ２９に格納させるとともに、図３(Ａ)に示すようなジョブ管理ブロック４０を生成し、これをジョブリスト２８Ａ又は２８Ｂにリンクさせる。すなわち、ジョブ管理部２７は、印刷ジョブデータに出力開始時間が含まれていなければ(０であれば）ジョブリスト２８Ａの最後にジョブ管理ブロック４０をリンクさせ、含まれていれば、出力開始時間順となるようにジョブ管理ブロック４０をリンクさせる。
【００３８】
ジョブリスト２８Ａ及び２８Ｂはいずれも、ジョブ管理ブロック４０が両方にリンクされたリスト構造であり、リンクを変更することによりジョブ実行順を容易に変えることが可能となっている。ジョブ管理ブロック４０は、図３（Ａ）に示す如く、両方向ポインタと、スプールファイル名と、ジョブ状態と、出力開始時間と、印刷属性とのデータ項目を含んでいる。
【００３９】
スプールファイル名には、例えばジョブＩＤが用いられる。ジョブ状態は、待機中（ＷＡＩＴ）、ＲＩＰ中、ＲＩＰ停止中又はジョブ終了を示す。出力開始時間は、ユーザが指定したものであり、ジョブ管理部２７は、現時刻が、ジョブリスト２８Ｂ内の先頭のジョブ管理ブロックに記載された出力開始時間に一致し又は超えていると、現在のジョブを停止させ、この出力開始時間のジョブ管理ブロックをジョブリスト２８Ａの先頭にリンクさせて、そのジョブを開始させる。すなわち、ジョブを割り込ませる。ジョブ管理ブロック４０の印刷属性は、ジョブレベルの印刷コマンド言語で記述されたものであり、例えばＰＤＬがＰＣＬの場合にはＰＪＬ（Ｐｒｉｎｔｅｒ  Ｊｏｂ  Ｌａｎｇｕａｇｅ）で記述されて、印刷ジョブデータに含まれている。この印刷属性は、複数のデータからなり、印刷部数、両面印刷の有無、集約処理の有無及び集約処理有りの場合にはその種類、並びに、印刷濃度等のデータである。
【００４０】
ジョブリスト２８Ａ及び２８Ｂの内容は、ユーザが操作パネル２１３を操作して確認し変更できるようにするために用いられる。例えば、ユーザが操作パネル２１３を操作してジョブ実行順又は出力開始時間を変更したり、出力開始時間を設定したり、印刷属性を変更したりした場合には、ジョブ管理部２７はこれに応答して、ジョブリスト２８Ａ又はジョブリスト２８Ｂ内の該当項目のデータを変更又は追加したり、ジョブ管理ブロックのリンクを変更したりする。ユーザが操作パネル２１３を操作してジョブをキャンセルした場合には、そのジョブ管理ブロックをジョブ管理リスト２８Ａ又は２８Ｂから削除する。ユーザが操作パネル２１３を操作してジョブを一時停止させた場合には、そのジョブの処理を停止させ、そのジョブ管理ブロック内のジョブ状態を「ＲＩＰ停止中」にする。
【００４１】
ジョブ管理部２７は、画像処理部４１がレディ状態であるとき、ジョブリスト２８Ａ中の先頭のジョブ管理ブロックに記載されているスプールファイル名を読み取り、そのファイルの内容をスプールバッファ２９から読み出して、画像処理部４１に供給し、このジョブ管理ブロックのジョブ状態をＲＩＰ中に変更する。
【００４２】
画像処理部４１は、図２の画像処理部インタフェース２０５に接続されている。画像処理部４１は、プロセッサ並びにこれに結合されたメモリ及びＲＩＰを備えており、このメモリに格納されたプログラムに従って処理を行う。
【００４３】
すなわち、画像処理部４１は、ジョブ管理部２７から受け取った印刷ジョブデータに対し、これに含まれている印刷属性のうちの集約処理等を行い、次いでＲＩＰが解釈可能な中間データに変換しながらそれをＲＩＰに供給して、ビットマップ展開させる。画像処理部４１はさらに、このビットマップデータをプリントエンジン制御部４２に供給する。
【００４４】
プリントエンジン制御部４２は、ワンチップコンピュータを備えており、このビットマップデータに同期信号を付加してビデオ信号とし、プリントエンジン４３に供給する。これにより、プリントエンジン４３において、感光ドラムが露光され、その潜像がトナーで現像され、次いで用紙にその像が転写される。この用紙は、不図示の用紙搬送機構により搬送される。
【００４５】
本実施例によれば、通信プロトコルが互いに異なる複数の通信インタフェース２０１〜２０４のそれぞれからバッファメモリ２１に格納された印刷ジョブデータを読み出し、印刷ジョブデータに付加されているジョブスタートマーク及びジョブエンドマークを検出することにより、印刷ジョブデータをジョブ単位で切り出し、ジョブ管理部２７が、これをスプールファイルとしてスプールバッファ２９に格納し、画像処理部４１との間でスプール処理するので、ジョブ単位でジョブ管理を行うことができるという効果を奏する。
【００４６】
また、ジョブエンドマークを検出する前に次のジョブスタートマークを検出した場合には、このジョブスタートマークの前をジョブエンドマークとみなすので、ジョブエンドマークが無い場合でもジョブを切り出すことができるという効果を奏する。
【００４７】
さらに、スプールファイル生成毎に、ジョブリスト２８Ａ又は２８Ｂに、このスプールファイルに対応したジョブ管理ブロック４０をリンクさせるので、ジョブリスト２８Ａ及び２８Ｂの内容を表示させ、ユーザによるジョブ実行順変更要求に応答して、ジョブリスト２８Ａ又は２８Ｂ内でのジョブ管理ブロックのリンクを変えることにより容易にジョブ実行順を変更することができるという効果を奏する。
【００４８】
また、各通信インタフェース２０１〜２０４での受信開始に応答して、イベントハンドラ２３によりジョブ切り出しプログラムのスレッドを生成させるので、１つのプロセッサ２００で、各通信インタフェースからの印刷ジョブデータに対しジョブ切り出し処理を行うことができるという効果を奏する。
【００４９】
さらにまた、原則としてＦＩＦＯでスプール処理するとともに、ジョブ管理ブロック４０にジョブ開始時刻が指定されている場合には例外として、ジョブ開始時刻に従ってそのスプールファイルを画像処理部４１に供給するので、ユーザによるジョブ実行開始時刻の要求に対応することができるという効果を奏する。
【図面の簡単な説明】
【００５０】
【図１】本発明の実施例１に係るマルチポートプリンタの概略機能ブロック図である。
【図２】図１中のジョブ制御部のハードウエア概略ブロック図である。
【図３】（Ａ）はジョブ管理ブロック説明図、（Ｂ）は出力開始時間が設定されていないジョブ管理ブロックが双方向リンクされたジョブリストの説明図、（Ｃ）は出力開始時間が設定されているジョブ管理ブロックが双方向リンクされたジョブリストの説明図である。
【符号の説明】
【００５１】
１０  マルチポートプリンタ
２０  ジョブ制御部
２００  ＭＰＵ
２０１  ＮＩＣ
２０２  ＵＳＢインタフェース
２０３  パラレルインタフェース
２０４  シリアルインタフェース
２０５  画像処理部インタフェース
２０６  ＲＯＭ
２０７  ＮＶＲＡＭ
２０８  ＤＲＡＭ
２０９  ＨＤＤインタフェース
２１０  操作パネルインタフェース
２１１  バス
２１２  ＨＤＤ
２１３  操作パネル
２１  バッファメモリ
２２  バッファ制御部
２３  イベントハンドラ
２４  ジョブ切り出しスレッド
２７  ジョブ管理部
２８Ａ、２８Ｂ  ジョブリスト
２９  スプールバッファ
３０〜３２、３４、３５  ホストコンピュータ
３３  通信媒体
４０  ジョブ管理ブロック
４１  画像処理部
４２  プリントエンジン制御部
４３  プリントエンジン
【図１】
2007301881.tif 000003
【図２】
2007301881.tif 000004
【図３】
2007301881.tif 000005