(57)【要約】      （修正有）【課題】ネットワーク上の既存のコンピューター資源を有効活用することにより、印刷処理の高速化を図ることができる印刷システム、印刷方法及びプログラムを提供する。【解決手段】印刷システムは、プリントエンジンに対応して設けられたプリントコントローラーと、プリントコントローラーの中からジョブ実行プリンターを決定するためのジョブ分配処理を実施させるプリントコントローラーを選択する分配処理コントローラー選択部と、を備える。プリントコントローラーは、ジョブ分配処理を行う第１の処理部（ジョブ分配処理部）及びプリントエンジンで印刷ジョブを実行するための描画データを生成する第２の処理部（ＲＩＰ処理部）を有する。分配処理コントローラー選択部は、クライアント端末から印刷ジョブが投入された場合に、印刷ジョブの処理効率を推定し、推定結果に基づいてジョブ分配処理を実施させるプリントコントローラーを決定する。【選択図】図４
2020046737.tif 000002
【特許請求の範囲】
【請求項１】
クライアント端末と、プリントエンジンを有する複数のプリンターとが、ネットワークを介して接続され、前記クライアント端末からの印刷ジョブを前記複数のプリンターの中から選択されたジョブ実行プリンターで実行する印刷システムであって、
前記プリントエンジンに対応して設けられたプリントコントローラーと、
前記プリントコントローラーの中から前記ジョブ実行プリンターを決定するためのジョブ分配処理を実施させるプリントコントローラーを選択する分配処理コントローラー選択部と、を備え、
前記プリントコントローラーは、前記ジョブ分配処理を行う第１の処理部、及び、前記プリントエンジンで前記印刷ジョブを実行するための描画データを生成する第２の処理部を有し、
前記分配処理コントローラー選択部は、前記クライアント端末から前記印刷ジョブが投入された場合に、当該印刷ジョブの処理効率を推定し、推定結果に基づいて前記ジョブ分配処理を実施させるプリントコントローラーを決定する、印刷システム。
【請求項２】
前記第２の処理部は、前記印刷ジョブに含まれる印刷データに対してＲＩＰ処理を実施する、請求項１に記載の印刷システム。
【請求項３】
前記分配処理コントローラー選択部は、前記プリントコントローラーのハードウェア情報、現在の処理状態を示す処理負荷情報、及び、サポートしているファイル形式を含むソフトウェア情報のうちの少なくとも一つを含むプリントコントローラーに関する情報を用いて、前記印刷ジョブの処理効率を推定する、請求項１又は２に記載の印刷システム。
【請求項４】
前記分配処理コントローラー選択部は、前記プリントエンジンの印刷速度情報、印刷可能な色材種類を示すカラー情報、印刷状態を示す内部状態情報のうちの少なくとも一つを含むプリントエンジンに関する情報を用いて、前記印刷ジョブの処理効率を推定する、請求項１から３のいずれか一項に記載の印刷システム。
【請求項５】
前記分配処理コントローラー選択部は、前記投入された印刷ジョブのページ記述言語の種類を示すＰＤＬ情報を含む前記印刷ジョブの概要情報を用いて、前記印刷ジョブの処理効率を推定する、請求項１から４のいずれか一項に記載の印刷システム。
【請求項６】
前記分配処理コントローラー選択部は、過去に実施した印刷ジョブの分配履歴を示すジョブ分配履歴情報を用いて、前記印刷ジョブの処理効率を推定する、請求項１から５のいずれか一項に記載の印刷システム。
【請求項７】
前記分配処理コントローラー選択部は、前記印刷ジョブを同時に受け付けた場合に、それぞれの前記印刷ジョブを異なる前記第１の処理部に割り当てる、請求項１から６のいずれか一項に記載の印刷システム。
【請求項８】
前記分配処理コントローラー選択部は、前記プリントコントローラーに内蔵される、請求項１から７のいずれか一項に記載の印刷システム。
【請求項９】
前記分配処理コントローラー選択部は、同一ネットワーク上に複数設けられる、請求項１から８の何れか一項に記載の印刷システム。
【請求項１０】
クライアント端末と、プリントエンジンを有する複数のプリンターとが、ネットワークを介して接続され、前記クライアント端末からの印刷ジョブを前記複数のプリンターの中から選択されたジョブ実行プリンターで実行する印刷方法であって、
前記クライアント端末から投入された前記印刷ジョブを受け付ける第１工程と、
前記第１工程で前記印刷ジョブを受け付けた場合に、当該印刷ジョブの処理効率を推定し、推定結果に基づいて前記プリントエンジンに対応して設けられたプリントコントローラーの中からジョブ分配処理を実施させるプリントコントローラーを選択する第２工程と、を備える印刷方法。
【請求項１１】
クライアント端末と、プリントエンジンを有する複数のプリンターとが、ネットワークを介して接続され、前記クライアント端末からの印刷ジョブを前記複数のプリンターの中から選択されたジョブ実行プリンターで実行する印刷システムのコンピューターに、
前記クライアント端末から投入された前記印刷ジョブを受け付ける第１処理と、
前記第１処理で前記印刷ジョブを受け付けた場合に、当該印刷ジョブの処理効率を推定し、推定結果に基づいて前記プリントエンジンに対応して設けられたプリントコントローラーの中からジョブ分配処理を実施させるプリントコントローラーを決定する第２処理と、を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷システム、印刷方法及びプログラムに関し、特に、ネットワーク印刷システムにおけるプリンターの分配処理に好適な技術に関する。
【背景技術】
【０００２】
従来、ＬＡＮ（Local Area Network）等のコンピューターネットワーク上にＰＣ（Personal Computer）等のクライアント端末とプリンターが配置され、複数のクライアント端末でプリンターを共有できるようにしたネットワーク印刷システムが知られている（例えば、特許文献１参照）。ネットワーク印刷システムでは、複数の印刷ジョブを異なるプリンターに分配して印刷したり、一つの印刷ジョブを複数のプリンターで協調、分担して印刷したりすることができるので、印刷処理の高速化を図ることができる。
【０００３】
ネットワーク印刷システムに用いられるプリンターは、ネットワークプリンターと称され、通常、ＲＩＰ処理（ＲＩＰ：Raster Image Processor）などを行うプリントコントローラーを備えている。また、ネットワーク印刷システムでは、例えば、プリンターに内蔵されているプリントコントローラーの一つが、クライアント端末からの印刷ジョブを受け付け、印刷に最適なプリンター（以下、「ジョブ実行プリンター」と称する）に印刷ジョブを分配する印刷サーバーとして機能する。また例えば、ネットワーク印刷システムにおいて、ＰＣ等を印刷サーバーとして用いる場合もある。
【０００４】
すなわち、クライアント端末からの印刷ジョブは印刷サーバー（例えば、特定のプリントコントローラー）に送信され、当該プリントコントローラーで印刷データの解析が行われ、ジョブ実行プリンターが選択される。そして、ジョブ実行プリンターに印刷データが送信され、当該ジョブ実行プリンターのプリントコントローラーでＲＩＰ処理が行われる。ジョブ実行プリンターのプリントエンジンは、ＲＩＰ処理により変換された描画データに基づいて印刷を実行する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００４−３４１８６９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上述したように、従来のネットワーク印刷システムでは、印刷サーバー（例えば、特定のプリントコントローラー）によって印刷ジョブの分配処理が行われている。この印刷ジョブの分配処理は、印刷ジョブの解析処理を含むため、処理負荷が比較的大きい。そのため、クライアント端末から連続して印刷ジョブが送信されると、印刷ジョブの分配処理が滞り、印刷処理の遅延を招く虞がある。
【０００７】
本発明の目的は、ネットワーク上の既存のコンピューター資源を有効活用することにより、印刷処理の高速化を図ることができる印刷システム、印刷方法及びプログラムを提供することである。
【課題を解決するための手段】
【０００８】
本発明に係る印刷システムは、
クライアント端末と、プリントエンジンを有する複数のプリンターとが、ネットワークを介して接続され、前記クライアント端末からの印刷ジョブを前記複数のプリンターの中から選択されたジョブ実行プリンターで実行する印刷システムであって、
前記プリントエンジンに対応して設けられたプリントコントローラーと、
前記プリントコントローラーの中から前記ジョブ実行プリンターを決定するためのジョブ分配処理を実施させるプリントコントローラーを選択する分配処理コントローラー選択部と、を備え、
前記プリントコントローラーは、前記ジョブ分配処理を行う第１の処理部、及び、前記プリントエンジンで前記印刷ジョブを実行するための描画データを生成する第２の処理部を有し、
前記分配処理コントローラー選択部は、前記クライアント端末から前記印刷ジョブが投入された場合に、当該印刷ジョブの処理効率を推定し、推定結果に基づいて前記ジョブ分配処理を実施させるプリントコントローラーを決定することを特徴する。
【０００９】
本発明に係る印刷方法は、
クライアント端末と、プリントエンジンを有する複数のプリンターとが、ネットワークを介して接続され、前記クライアント端末からの印刷ジョブを前記複数のプリンターの中から選択されたジョブ実行プリンターで実行する印刷方法であって、
前記クライアント端末から投入された前記印刷ジョブを受け付ける第１工程と、
前記第１工程で前記印刷ジョブを受け付けた場合に、当該印刷ジョブの処理効率を推定し、推定結果に基づいて前記プリントエンジンに対応して設けられたプリントコントローラーの中からジョブ分配処理を実施させるプリントコントローラーを選択する第２工程と、を備えることを特徴とする。
【００１０】
本発明に係るプログラムは、
クライアント端末と、プリントエンジンを有する複数のプリンターとが、ネットワークを介して接続され、前記クライアント端末からの印刷ジョブを前記複数のプリンターの中から選択されたジョブ実行プリンターで実行する印刷システムのコンピューターに、
前記クライアント端末から投入された前記印刷ジョブを受け付ける第１処理と、
前記第１処理で前記印刷ジョブを受け付けた場合に、当該印刷ジョブの処理効率を推定し、推定結果に基づいて前記プリントエンジンに対応して設けられたプリントコントローラーの中からジョブ分配処理を実施させるプリントコントローラーを決定する第２処理と、を実行させることを特徴とする。
【発明の効果】
【００１１】
本発明によれば、ネットワーク上の既存のコンピューター資源、具体的にはプリントエンジンに対応して設けられるプリントコントローラーを有効活用することにより、印刷処理の高速化を図ることができる。
【図面の簡単な説明】
【００１２】
【図１】図１は、実施の形態に係るネットワーク印刷システムの概略構成を示す図である。
【図２】図２は、印刷サーバーのハードウェア構成の一例を示す図である。
【図３】図３は、プリンターのハードウェア構成を示す図である。
【図４】図４は、印刷処理システムで実行される印刷処理の一例を示すフローチャートである。
【図５】図５は、印刷サーバーで実行される分配処理コントローラー選択処理の一例を示すフローチャートである。
【図６】図６は、印刷サーバー又はプリントコントローラーで実行されるジョブ分配処理の一例を示すフローチャートである。
【図７】図７は、プリンターごとのランク値を算出するためのランク判定テーブルの一例を示す図である。
【図８】図８は、ランク値が同じである場合に参照される判断基準テーブルの一例を示す図である。
【発明を実施するための形態】
【００１３】
以下、本発明の実施の形態を、図面を参照して詳細に説明する。
【００１４】
図１は、本発明の一実施の形態に係るネットワーク印刷システムＳ（以下、「印刷システムＳ」と称する）の概略構成を示す図である。
図１に示すように、印刷システムＳは、印刷サーバー１、プリンター２、及びクライアント端末３を備える。印刷サーバー１、プリンター２、及びクライアント端末３は、例えば、社内ＬＡＮ等の通信ネットワークを介して、相互に通信可能に接続される。印刷システムＳでは、クライアント端末３から送信された印刷ジョブを印刷サーバー１が受け付け、プリンター２の中から印刷に適したジョブ実行プリンターを選択し、当該ジョブ実行プリンターに印刷ジョブを分配する。ジョブ実行プリンターとして選択されたプリンター２は、当該プリンター２のプリントコントローラー２１（図３参照）で印刷データに対してＲＩＰ処理を実施し、ＲＩＰ処理により生成された描画データに基づいてプリントエンジン２２（図３参照）で印刷を実行する。
【００１５】
ここで、ＲＩＰ処理とは、例えば、ＰｏｓｔＳｃｒｉｐｔやＰＣＬ（Printer Control Language）等のページ記述言語（ＰＤＬ：Page Description Language）で記述された印刷データを、プリントエンジン２２が理解できる描画データ（例えば、ＢＭＰ（bitmap）等のラスターデータ）に変換する処理である。印刷データは、例えば、図形や写真等の画像オブジェクトのデータ及び文字や記号等のテキストオブジェクトのデータを含む。
【００１６】
図２は、印刷サーバー１のハードウェア構成の一例を示す図である。
図２に示すように、印刷サーバー１は、例えば、汎用のＰＣで構成され、演算／制御装置としてのＣＰＵ（Central Processing Unit）１１、主記憶装置としてのＲＡＭ（Random Access Memory）１２及びＲＯＭ（Read Only Memory）１３、記憶部１４、表示部１５、操作入力部１６、ネットワークＩ／Ｆ１７、並びに外部機器Ｉ／Ｆ１８等を有する。各ユニット１２〜１８は、システムバス１９を介してＣＰＵ１１に接続される。
【００１７】
ＲＯＭ１３には、例えば、ＢＩＯＳ（Basic Input/Output System）、ファームウェア等の基本プログラムや、基本的な設定データが記憶される。ＣＰＵ１１は、記憶部１４から処理内容に応じたプログラムを読み出してＲＡＭ１２に展開し、展開したプログラムを実行することにより、各種機能を実現する。
【００１８】
本実施の形態では、ＣＰＵ１１は、記憶部１４に記憶されている分配処理コントローラー選択プログラムＰ１を実行することにより、プリンター２のプリントコントローラー２１の中から印刷ジョブの分配処理を行う分配処理コントローラーを選択する（分配処理コントローラー選択部としての処理）。また、ＣＰＵ１１は、記憶部１４に記憶されているジョブ分配処理プログラムＰ２を実行することにより、ジョブ実行プリンターを決定し、印刷ジョブの分配処理を行う（ジョブ分配処理部としての処理）。
【００１９】
記憶部１４は、例えば、不揮発性の半導体メモリ（いわゆるフラッシュメモリ）やハードディスクドライブ等の補助記憶装置である。記憶部１４は、ＣＤ（Compact Disc）、ＤＶＤ（Digital Versatile Disc）、ＢＤ（Blu-ray Disc、「Blu-ray」は登録商標）等の光ディスク、ＭＯ（Magneto-Optical disk）等の光磁気ディスクを駆動して情報を読み書きするディスクドライブであってもよい。
【００２０】
本実施の形態では、記憶部１４は、分配処理コントローラー選択プログラムＰ１、ジョブ分配処理プログラムＰ２、分配処理コントローラー選択処理において参照されるランク判定テーブルＤ１、印刷ジョブの分配履歴を示すジョブ分配履歴情報Ｄ２等を記憶する。
【００２１】
なお、記憶部１４にＲＩＰ処理プログラムを記憶して、印刷サーバー１でもＲＩＰ処理が行われるようにしてもよい。例えば、プリンター２がプリントコントローラー２１を備えていない場合、印刷サーバー１でＲＩＰ処理が行われ、当該プリンター２に描画データが送信される（いわゆるソフトウェアＲＩＰ処理）。
【００２２】
表示部１５は、例えば、液晶ディスプレイ、有機ＥＬディスプレイ、ＣＲＴディスプレイ等で構成される。表示部１５は、ＣＰＵ１１の指示に従って、画面表示を行う。
【００２３】
操作入力部１６は、テンキー、スタートキー等の各種操作キー、及びマウス等のポインティングデバイスを備え、ユーザーによる各種入力操作を受け付けて、操作信号をＣＰＵ１１に出力する。ユーザーは、操作入力部１６を操作して、ランク判定テーブルＤ１の更新や、ネットワーク上のプリンター２に関するデータの変更等を行うことができる。
なお、表示部１５及び操作入力部１６は、例えば、タッチパネル付きのフラットパネルディスプレイにより、一体的に設けられてもよい。
【００２４】
ネットワークＩ／Ｆ１７は、有線／無線ＬＡＮ（Local Area Network）等の通信ネットワークを介して外部機器と通信を行うためのインターフェースである。ＣＰＵ１１は、ネットワークＩ／Ｆ１７を介して、ネットワークに接続された外部機器（例えば、プリンター２及びクライアント端末３）との間で、各種情報の送受信を行う。
【００２５】
外部機器Ｉ／Ｆ１８は、ＵＳＢ（Universal Serial Bus）等の通信バスを介して外部機器を接続するためのインターフェースである。ＣＰＵ１１は、外部機器Ｉ／Ｆ１８に接続された外部機器との間で、各種情報の送受信を行う。
【００２６】
図３は、プリンター２の主要部の構成の一例を示す図である。
プリンター２は、例えば、電子写真プロセス技術を利用して、用紙に画像を形成する。プリンター２は、モノクロプリンターであってもよいし、カラープリンターであってもよい。
図３に示すように、プリンター２は、例えば、一般的なネットワークプリンターで構成され、プリントコントローラー２１及びプリントエンジン２２を備える。すなわち、プリントコントローラー２１は、プリントエンジン２２に対応して設けられている。通常、プリンター２は、各ブロックを集中制御するメイン制御部、記憶部、画像処理部、表示部、操作入力部、ネットワークＩ／Ｆ、及び外部機器Ｉ／Ｆ等も備えている。これらの構成は公知であるので、図示及び説明は省略する。
【００２７】
プリントコントローラー２１は、例えば、１チップマイコンで構成される。プリントコントローラー２１は、演算／制御装置としてのＣＰＵ２１１、主記憶装置としてのＲＡＭ２１２及びＲＯＭ２１３を有する。ＲＯＭ２１３は、例えば、ジョブ分配処理プログラムＰ３及びＲＩＰ処理プログラムＰ４を記憶する。ＲＩＰ処理プログラムＰ４は、例えば、印刷ジョブのページ記述言語の種類ごとに用意されており、処理する印刷ジョブのページ技術言語に対応するＲＩＰ処理プログラムＰ４が、ＲＡＭ２１２に適宜ロードされ、実行される。
【００２８】
ＣＰＵ２１１は、ＲＯＭ２１３に記憶されているジョブ分配処理プログラムＰ３を実行することにより、ジョブ実行プリンターを決定し、印刷ジョブの分配処理を行う（ジョブ分配処理部としての処理）。また、ＣＰＵ２１１は、ＲＯＭ２１３に記憶されているＲＩＰ処理プログラムＰ４を実行することにより、印刷データを描画データに変換する（ＲＩＰ処理部としての処理）。
【００２９】
プリントコントローラー２１がＲＩＰ処理部として機能するのは従来と同様である。本実施の形態では、プリントコントローラー２１がジョブ分配処理部としても機能する点が特徴的である。ジョブ分配処理及びＲＩＰ処理は、それぞれ、印刷ジョブに含まれる印刷データ（ＰＤＬデータ）の詳細解析を行う必要があるため、大きなハードウェア資源を消費する。
【００３０】
プリントエンジン２２は、プリントコントローラー２１から出力された描画データに基づいて、用紙に印刷を行う。プリントエンジン２２は、例えば、トナー像形成部、中間転写部及び定着部を有する。トナー像形成部は、入力画像データに基づいて、Ｙ成分、Ｍ成分、Ｃ成分、Ｋ成分の各有色トナーによるトナー像を形成する（プリンター２がカラープリンターの場合）。中間転写部は、トナー像形成部により形成されたトナー像を用紙に転写する。定着部は、転写されたトナー像を用紙に定着させる。なお、プリントエンジン２２の構成は公知であるので、詳細な説明は省略する。
【００３１】
印刷システムＳでは、クライアント端末３の印刷要求に伴い、印刷サーバー１に印刷ジョブが投入される。そして、印刷サーバー１における印刷ジョブの分配処理によって、プリンター２の中からジョブ実行プリンターが選択され、印刷ジョブが分配される。このとき、一つの印刷ジョブを、例えば、ページ単位で分割して、複数のプリンター２に分配してもよい。例えば、印刷ジョブに含まれるカラーページの印刷データをカラーのプリンター２に分配し、モノクロページの印刷データをモノクロのプリンター２に分配することで、効率よく印刷処理を行うことができる。
【００３２】
ジョブ実行プリンターとして選択されたプリンター２は、印刷サーバー１から印刷データを受信すると、プリントコントローラー２１で印刷データに対してＲＩＰ処理を実施し、描画データに変換する。また、プリンター２のプリントエンジン２２は、プリントコントローラー２１で生成された描画データに基づいて、印刷を実行する。
【００３３】
印刷ジョブの分配処理は、通常、印刷ジョブを受け付けた印刷サーバー１によって行われるが、本実施の形態では、印刷サーバー１だけでなく、プリンター２のプリントコントローラー２１でも印刷ジョブの分配処理が行われるようになっている。
例えば、印刷サーバー１が印刷ジョブの分配処理を行っているときに、さらに印刷ジョブを受け付けると、後の印刷ジョブの分配処理を直ちに行うことが困難となるので、このような場合に、プリントコントローラー２１のいずれかで印刷ジョブの分配処理が行われる。
【００３４】
図４は、印刷システムＳで実行される印刷処理の一例を示すフローチャートである。
図４のステップＳ１１において、印刷サーバー１は、クライアント端末３からの印刷要求に伴い、印刷ジョブを受け付ける。
【００３５】
ステップＳ１２において、印刷サーバー１は、印刷ジョブの処理中であるか否かを判定する。印刷ジョブの処理中とは、印刷ジョブの分配処理を行っているとき、及び印刷サーバー１でＲＩＰ処理が行われる場合はＲＩＰ処理を行っているときを含む。
印刷ジョブの処理中である場合（ステップＳ１２で“ＹＥＳ”）、ステップＳ１３の処理に移行する。印刷ジョブの処理中でない場合（ステップＳ１２で“ＮＯ”）、ステップＳ１４の処理に移行する。
【００３６】
ステップＳ１３の処理において、印刷サーバー１は、分配処理コントローラー選択処理を行う。すなわち、印刷サーバー１において、印刷ジョブの処理中である場合は、投入された印刷ジョブの分配処理を直ちに実行することができないので、プリンター２のプリントコントローラー２１を利用して印刷ジョブの分配処理が行われる。具体的には、図５に示すフローチャートに従って、分配処理コントローラー選択処理が行われる。
【００３７】
図５は、分配処理コントローラー選択処理の一例を示すフローチャートである。この処理は、印刷サーバー１のＣＰＵ１１が分配処理コントローラー選択プログラムＰ１を実行することにより実現される。
【００３８】
図５のステップＳ２１において、印刷サーバー１のＣＰＵ１１は、ネットワークに接続されているプリンター２のプリンター情報として、プリントコントローラー２１に関する情報及びプリントエンジン２２に関する情報を取得する。
プリントコントローラー２１に関する情報は、例えば、プリントコントローラー２１のハードウェア情報（例えば、ＣＰＵ２１１の処理速度）、現在の処理状態（例えば、ジョブ分配処理及びＲＩＰ処理によるＣＰＵ使用率）を示す処理負荷情報、及びサポートしているページ記述言語（例えば、ＰｏｓｔＳｃｒｉｐｔ、ＰＣＬ、ＰＤＦ（Portable Document Format）、ＰＤＦ／ＶＴ（Variable Transactional）、ＸＰＳ（XML Paper Specification）、ＰＰＭＬ（Personalized Print Markup Language））を示すソフトウェア情報のうちの少なくとも一つを含む。
プリントエンジン２２に関する情報は、例えば、プリントエンジン２２の印刷速度情報、印刷可能な色材種類（ＣＭＹＫ）を示すカラー情報、印刷状態を示す内部状態情報（例えば、排紙トレイ満タン、給紙用紙なし、色材なし、用紙ジャム、サービスコールエラーなどのエラー情報）のうちの少なくとも一つを含む。
【００３９】
なお、プリンター情報のうち、プリントコントローラー２１のハードウェア情報及びソフトウェア情報、並びにプリントエンジン２２の印刷速度情報及びカラー情報は、図５のフローチャートが実行されるたびにプリンター２から取得する必要はなく、例えば、キャッシュメモリ（図示略）に保存しておき、キャッシュメモリから読み出して取得してもよい。
【００４０】
ステップＳ２２において、印刷サーバー１のＣＰＵ１１は、投入された印刷ジョブを解析し、当該印刷ジョブの概要情報を取得する。印刷ジョブの概要情報は、例えば、当該印刷ジョブのページ記述言語の種類を示すＰＤＬ情報を含む。印刷ジョブのページ記述言語の種類は、印刷データのファイルヘッダのみを解析することで、高速で取得することができる。
【００４１】
ステップＳ２３において、印刷サーバー１のＣＰＵ１１は、印刷ジョブの分配履歴を示すジョブ分配履歴情報Ｄ２（図２参照）を取得する。ジョブ分配履歴情報Ｄ２から各プリンター２の使用頻度、すなわちジョブ実行プリンターとして選択される可能性を把握することができる。
【００４２】
ステップＳ２４において、印刷サーバー１のＣＰＵ１１は、プリンター２ごとのランク値を算出する。ランク値の算出は、例えば、ランク判定テーブルＤ１（図２参照）を参照して行われる。ランク判定テーブルＤ１の一例を図７に示す。なお、図７に示すランク判定の条件及びランク判定値は一例であり、ユーザー環境に応じて、ランク判定の条件を追加又は削除してもよいし、ランク判定値を増減してもよい。
【００４３】
図７のランク判定テーブルＤ１では、ランク判定の条件として、「受信ＰＤＬを処理不能」、「印刷処理不能」、「印刷中」、「ＲＩＰ処理中」、「ＲＩＰ処理プログラム未ロード」があり、それぞれに対して、ランク判定値「＋５」、「＋４」、「＋３」、「＋３」、「＋１」が対応付けられている。
【００４４】
「受信ＰＤＬを処理不能」とは、投入された印刷ジョブのページ記述言語をプリントコントローラー２１がサポートしていないことを示し、プリントコントローラー２１の情報に基づいて当該条件を満たしているか否かが判定される。
「印刷処理不能」とは、プリントエンジン２２で給紙エラー等が生じて印刷できない状態であることを示し、プリントエンジン２２の情報に基づいて当該条件を満たしているか否かが判定される。
「印刷中」とは、プリントエンジン２２で印刷が行われていることを示し、プリントエンジン２２の情報に基づいて当該条件を満たしているか否かが判定される。
「ＲＩＰ処理中」とは、プリントコントローラー２１でＲＩＰ処理が行われていることを示し、プリントコントローラー２１の情報に基づいて当該条件を満たしているか否かが判定される。
「ＲＩＰ処理プログラム未ロード」とは、プリントコントローラー２１においてＲＩＰ処理プログラムＰ４がＲＡＭ２１２にロードされていないことを示し、プリントコントローラー２１の情報に基づいて当該条件を満たしているか否かが判定される。
【００４５】
このように、ランク判定テーブルＤ１では、プリントコントローラー２１が当該印刷ジョブの実行に利用されない可能性が高い順に、大きなランク判定値が割り当てられている。例えば、「受信ＰＤＬを処理不能」という条件に該当するプリントコントローラー２１は、当該印刷ジョブのＲＩＰ処理を行う可能性はないので、一番大きなランク判定値「＋５」が割り当てられている。
【００４６】
図５のステップＳ２４では、ランク判定テーブルＤ２で定義されている条件のうち、それぞれのプリントコントローラー２１が満たしている条件のランク判定値を加算して、プリントコントローラー２１ごとのランク値が算出される。例えば、ランク判定テーブルＤ１の「受信ＰＤＬを処理不能」という条件（ランク判定値：＋５）と、「印刷中」という条件（ランク判定値：＋３））を満たしているプリンター２のプリントコントローラー２１のランク値は、「＋８」となる。
【００４７】
プリントコントローラー２１のランク値が大きい場合、当該プリントコントローラー２１が当該印刷ジョブの実行に利用されない（ＲＩＰ処理が行われない）可能性が高いことになる。したがって、ランク値が大きいプリントコントローラー２１が分配処理コントローラーとして選択されることで、印刷ジョブの分配処理とＲＩＰ処理が並行して行われるという事態は発生しにくく、当該印刷ジョブの処理効率は高くなる。つまり、プリントコントローラー２１のランク値は、当該プリントコントローラー２１が分配処理コントローラーとして選択されたときの印刷ジョブの処理効率を示しているに他ならない。
【００４８】
ステップＳ２５において、印刷サーバー１のＣＰＵ１１は、ステップＳ２４で算出されたランク値に基づいて、分配処理コントローラーを確定する。具体的には、ＣＰＵ１１は、算出されたランク値が最も大きいプリントコントローラー２１、すなわち、ジョブ実行プリンターとして選択される可能性が最も低いプリンター２のプリントコントローラー２１を、分配処理コントローラーとして選択する。つまり、ＣＰＵ１１は、プリントコントローラー２１ごとに、投入された印刷ジョブの分配処理を当該プリントコントローラー２１に実行させた場合の当該印刷ジョブの処理効率を推定し、推定結果に基づいて、分配処理コントローラーを選択する。
【００４９】
なお、複数のプリントコントローラー２１のランク値が同じである場合は、例えば、予め設定された判断基準に基づいて、分配処理コントローラーが確定される。ランク値が同じである場合に参照される判断基準テーブルＤ３の一例を図８に示す。判断基準テーブルＤ３は、ランク判定テーブルＤ２と同様に、例えば、印刷サーバー１の記憶部１４に記憶される。
【００５０】
図８に示す判断基準テーブルＤ３では、「プリントコントローラーのハードウェアスペックが高い順」という判断基準１、「プリントエンジンの印刷速度が速い順」という判断基準２、「プリントエンジンで処理可能な色材数が少ない順」という判断基準３、「ジョブ実行プリンターとして利用された回数の少ない順」という判断基準４の４つの判断基準が設定されている。
【００５１】
複数のプリントコントローラー２１のランク値が同じである場合は、上位の判断基準１から順に参照され、どのプリントコントローラー２１が分配処理コントローラーとして選択された場合に、投入された印刷ジョブの処理効率が最も高くなるか判定される。例えば、プリントコントローラー２１のハードウェアスペックが異なる場合には、ハードウェアスペックが高い方のプリントコントローラー２１が、投入された印刷ジョブの処理効率が高く、分配処理コントローラーとして適しているということになる。
そして、上位の判断基準で判定できない場合に、下位の判断基準による判定が行われる。つまり、これらの判断基準も、当該プリントコントローラー２１が分配処理コントローラーとして選択されたときの印刷ジョブの処理効率を示しているに他ならない。
【００５２】
ステップＳ２６において、印刷サーバー１のＣＰＵ１１は、分配処理コントローラーとして選択したプリントコントローラー２１に印刷ジョブを送信する。この印刷ジョブは、送信先のプリントコントローラー２１によって受信される。
【００５３】
このようにして、印刷サーバー１において、分配処理コントローラーの選択処理が行われる。これにより、当該印刷ジョブのジョブ実行プリンターとして選択される可能性が最も低いプリンター２のプリントコントローラー２１、すなわち、印刷ジョブの処理効率が最も高くなるプリントコントローラー２１が分配処理コントローラーとして選択される。
【００５４】
次いで、図４のステップＳ１４において、印刷サーバー１又はステップＳ１３で選択されたプリントコントローラー２１は、印刷ジョブの分配処理を行う。印刷サーバー１が印刷ジョブの処理中でない場合（ステップＳ１２で“ＮＯ”）は、印刷サーバー１でジョブ分配処理が行われ、印刷ジョブの処理中である場合（ステップＳ１２で“ＹＥＳ”）は、ステップＳ１３で選択されたプリントコントローラー２１でジョブ分配処理が行われる。具体的には、図６に示すフローチャートに従って、ジョブ分配処理が実行される。
【００５５】
図６は、ジョブ分配処理の一例を示すフローチャートである。この処理は、例えば、分配処理コントローラーとして選択されたプリントコントローラー２１のＣＰＵ２１１がジョブ分配処理プログラムＰ３を実行することにより実現される。
なお、ここでは、プリントコントローラー２１のＣＰＵ２１１による処理として説明するが、印刷サーバー１のＣＰＵ１１よるジョブ分配処理も同様にして行われる。
【００５６】
図６のステップＳ３１において、プリントコントローラー２１のＣＰＵ２１１は、印刷ジョブを解析する。印刷ジョブの解析により、例えば、印刷ジョブに含まれる印刷データ（ＰＤＬデータ）のカラー情報（カラー又はモノクロ）が取得される。
【００５７】
ステップＳ３２において、プリントコントローラー２１のＣＰＵ２１１は、印刷ジョブの解析結果に基づいて、当該印刷ジョブを実行するジョブ実行プリンターを選択する。ジョブ実行プリンターの選択処理には、公知の技術を適用でき、例えば、予め設定された優先順位に従ってジョブ実行プリンターが選択される。例えば、印刷データがカラーデータである場合は、カラーのプリンター２の中からジョブ実行プリンターが選択され、モノクロデータである場合は、モノクロのプリンター２の中からジョブ実行プリンターが選択される。また例えば、現在印刷処理中でないプリンター２が優先的にジョブ実行プリンターとして選択される。
【００５８】
なお、印刷データのカラー情報をページ単位で解析して、解析結果に基づいて印刷ジョブをページごとに分割し、複数のジョブ実行プリンターに分配するようにしてもよい。また、ジョブ実行プリンターとして選択されるプリンター２は、一つであってもよいし、複数であってもよい。
【００５９】
ステップＳ３３において、プリントコントローラー２１のＣＰＵ２１１は、必要に応じて印刷データを生成する。ＣＰＵ２１１は、例えば、印刷ジョブをページごとに分割して複数のジョブ実行プリンターに分配する場合に、それぞれのジョブ実行プリンターに対応する印刷データ（例えば、カラーの印刷データとモノクロの印刷データ）を生成する。
【００６０】
ステップＳ３４において、プリントコントローラー２１のＣＰＵ２１１は、生成した印刷データを、ジョブ実行プリンターとして選択されたプリンター２に送信する。送信された印刷データは、ジョブ実行プリンターとして選択されたプリンター２によって受信される。
【００６１】
ステップＳ３５において、プリントコントローラー２１のＣＰＵ２１１は、印刷ジョブの分配結果を保存する。具体的には、印刷ジョブの分配結果は印刷サーバー１に送信され、ジョブ分配履歴情報Ｄ３として印刷サーバー１の記憶部１４に記憶される。ジョブ分配履歴情報Ｄ３は、分配処理コントローラー選択処理（図５参照）において、プリントコントローラー２１ごとのランク値が同じであり、判断基準を用いて印刷ジョブの処理効率を推定する際に利用される。
【００６２】
このようにして、プリントコントローラー２１において、印刷ジョブの分配処理が行われる。このプリントコントローラー２１は、当該印刷ジョブのジョブ実行プリンターとして選択される可能性が最も低いプリンター２のプリントコントローラーであり、当該印刷ジョブのジョブ分配処理とＲＩＰ処理が並行して実行される可能性は低いので、ジョブ分配処理を高速処理することができる。つまり、本実施の形態では、投入された印刷ジョブのＲＩＰ処理を実施しないフリーのプリントコントローラー２１を、分配処理コントローラーとして有効活用することで、印刷処理の高速化が図られている。
【００６３】
次いで、図４のステップＳ１５において、ジョブ実行プリンターのプリントコントローラー２１は、分配処理コントローラーとしてのプリントコントローラー２１（ジョブ実行プリンターのプリントコントローラー２１とは異なる）から送信された印刷データに対してＲＩＰ処理を実施する。
また、ステップＳ１６において、ジョブ実行プリンターのプリントエンジン２２は、ＲＩＰ処理により生成された描画データに基づいて、用紙に印刷を行う。
【００６４】
このように、実施の形態に係る印刷システムＳは、クライアント端末３と、プリントエンジン２２を有する複数のプリンター２とが、ネットワークを介して接続され、クライアント端末３からの印刷ジョブを複数のプリンター２の中から選択されたジョブ実行プリンターで実行する印刷システムであって、プリントエンジン２２に対応して設けられたプリントコントローラー２１と、プリントコントローラー２１の中からジョブ実行プリンターを決定するためのジョブ分配処理を実施させるプリントコントローラー２１を選択する印刷サーバー１（分配処理コントローラー選択部）と、を備える。プリントコントローラー２１は、ジョブ分配処理を行うジョブ分配処理部（第１の処理部）、及び、プリントエンジン２２で印刷ジョブを実行するための描画データを生成するＲＩＰ処理部（第２の処理部）を有する。印刷サーバー１は、クライアント端末３から印刷ジョブが投入された場合に、当該印刷ジョブの処理効率を推定し、推定結果に基づいてジョブ分配処理を実施させるプリントコントローラーを決定する。
【００６５】
また、実施の形態に係る印刷方法は、クライアント端末３と、プリントエンジン２２を有する複数のプリンター２とが、ネットワークを介して接続され、クライアント端末３からの印刷ジョブを複数のプリンター２の中から選択されたジョブ実行プリンターで実行する印刷方法であって、クライアント端末３から投入された印刷ジョブを受け付ける第１工程（図４のステップＳ１１）と、第１工程で印刷ジョブを受け付けた場合に、当該印刷ジョブの処理効率を推定し、推定結果に基づいてプリントエンジン２２に対応して設けられたプリントコントローラー２１の中からジョブ分配処理を実施させるプリントコントローラーを選択する第２工程（図４のステップＳ１３、図５）と、を備える。
【００６６】
また、実施の形態に係るプログラムは、クライアント端末３と、プリントエンジン２２を有する複数のプリンター２とが、ネットワークを介して接続され、クライアント端末３からの印刷ジョブを複数のプリンター２の中から選択されたジョブ実行プリンターで実行する印刷システムＳのコンピューター（印刷サーバー１のＣＰＵ１１）に、クライアント端末３から投入された印刷ジョブを受け付ける第１処理（図４のステップＳ１１）と、第１処理で前記印刷ジョブを受け付けた場合に、当該印刷ジョブの処理効率を推定し、推定結果に基づいてプリントエンジン２２に対応して設けられたプリントコントローラー２１の中からジョブ分配処理を実施させるプリントコントローラーを決定する第２処理（図４のステップＳ１３、図５）と、を実行させる。
このプログラムは、例えば、当該プログラムが格納されたコンピューター読取可能な可搬型記憶媒体（光ディスク、光磁気ディスク、及びメモリカードを含む）を介して提供される。また例えば、プログラムは、当該プログラムを保有するサーバーから、ネットワークを介してダウンロードにより提供されてもよい。
【００６７】
実施の形態に係る印刷システム、印刷方法及びプログラムによれば、ネットワーク上の既存のコンピューター資源を有効活用することにより、印刷処理の高速化を図ることができる。
すなわち、プリントエンジン２２に対応して設けられるプリントコントローラー２１のうち、ＲＩＰ処理を実行しないフリーのプリントコントローラー２１を利用してジョブ分配処理を行うことにより、印刷ジョブの分配処理を効率よく実行することができる。
具体的には、印刷サーバー１が処理中である場合でも、印刷ジョブの処理効率の推定結果に基づいて、印刷ジョブを実行する可能性が低いプリンター２のプリントコントローラー２２が、ジョブ分配処理を実行する分配処理コントローラーとして選択され、当該プリントコントローラー２１においてジョブ分配処理が実行される。したがって、印刷ジョブの分配処理が滞りなく実行されるので、印刷処理の高速化を図ることができる。
【００６８】
また、印刷システムＳにおいて、印刷サーバー１（分配処理コントローラー選択部）は、プリントコントローラー２１のハードウェア情報、現在の処理状態を示す処理負荷情報、及び、サポートしているファイル形式を含むソフトウェア情報のうちの少なくとも一つを含むプリントコントローラーに関する情報を用いて、印刷ジョブの処理効率を推定する。
また、印刷サーバー１（分配処理コントローラー選択部）は、プリントエンジン２２の印刷速度情報、印刷可能な色材種類を示すカラー情報、印刷状態を示す内部状態情報のうちの少なくとも一つを含むプリントエンジンに関する情報を用いて、印刷ジョブの処理効率を推定する。
また、印刷サーバー１（分配処理コントローラー選択部）は、投入された印刷ジョブのページ記述言語の種類を示すＰＤＬ情報を含む印刷ジョブの概要情報を用いて、印刷ジョブの処理効率を推定する。
また、印刷サーバー１（分配処理コントローラー選択部）は、過去に実施した印刷ジョブの分配履歴を示すジョブ分配履歴情報を用いて、印刷ジョブの処理効率を推定する。
これにより、印刷ジョブの処理効率、すなわち、いずれのプリントコントローラー２１でジョブ分配処理を実行した場合に最も高速で印刷処理を行うことができるかを、精度よく推定することができる。
【００６９】
以上、本発明者によってなされた発明を実施の形態に基づいて具体的に説明したが、本発明は上記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で変更可能である。
【００７０】
例えば、実施の形態では、分配処理コントローラー選択部を有する印刷サーバー１がジョブ分配処理中又はＲＩＰ処理中である場合に、プリントコントローラー２１を対象として分配処理コントローラー選択処理を実行する場合について説明したが、印刷サーバー１の処理状態に関わらず、印刷サーバー１及びプリントコントローラー２１のジョブ分配処理部を対象として分配処理コントローラー選択処理が実行されるようにしてもよい。
【００７１】
また例えば、実施の形態では、印刷サーバー１が分配処理コントローラー選択部として機能する場合について説明したが、分配処理コントローラー選択部は、プリントコントローラー２１に内蔵されてもよい。この場合、分配処理コントローラー選択部として機能する特定のプリントコントローラー２１が印刷サーバーとして機能することとなる。これにより、ＰＣを用いて印刷サーバーを別途設ける必要がないので、システムコストを低減することができる。
この場合、特定のプリントコントローラー２１がジョブ分配処理中又はＲＩＰ処理中である場合に、他のプリントコントローラー２１を対象として分配処理コントローラー選択処理が実行されるようにしてもよいし、特定のプリントコントローラー２１の処理状態に関わらず、当該プリントコントローラー２１も対象に含めて分配処理コントローラー選択処理が実行されるようにしてもよい。
【００７２】
また、分配処理コントローラー選択部は、同一ネットワーク上に複数設けられてもよい。これにより、クライアント端末３から連続して複数の印刷ジョブが投入された場合に、複数の分配処理コントローラー選択部で受け付け、分配処理コントローラー選択処理を行うことができるので、さらに印刷処理の高速化を図ることができる。
【００７３】
さらに、プリントコントローラー２１は、プリントエンジン２２に対応して設けられていればよく、ＰＣ等で構成されてもよい。
【００７４】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【００７５】
Ｓ  ネットワーク印刷システム（印刷システム）
１  印刷サーバー（分配処理コントローラー選択部、ジョブ分配処理部）
１１  ＣＰＵ
１２  ＲＡＭ
１３  ＲＯＭ
１４  記憶部
１５  表示部
１６  操作入力部
１７  ネットワークＩ／Ｆ
１８  外部機器Ｉ／Ｆ
１９  システムバス
２  プリンター
２１  プリントコントローラー（ジョブ分配処理部、ＲＩＰ処理部）
２２  プリントエンジン
【図１】
2020046737.tif 000003
【図２】
2020046737.tif 000004
【図３】
2020046737.tif 000005
【図４】
2020046737.tif 000006
【図５】
2020046737.tif 000007
【図６】
2020046737.tif 000008
【図７】
2020046737.tif 000009
【図８】
2020046737.tif 000010