(57)【要約】【課題】サーバスプール方式のプリントシステムにおいて、コスト増加を抑えつつ、レンダリング処理の集中によるプリントサーバのパフォーマンス低下を回避することができるプリントサーバを提供する。【解決手段】クライアントＰＣから受信した印刷ジョブをスプールするプリントサーバでは、ネットワークを介して印刷要求を受信し、受信した印刷要求の対象となる印刷ジョブのレンダリング処理が当該プリントサーバ自身で可能か否かを判定する。印刷ジョブのレンダリング処理が可能であると判定された場合には、当該印刷ジョブのレンダリング処理を行う。一方、レンダリング処理が可能でないと判定された場合に、印刷ジョブのレンダリング処理が可能な委託先を選定し、選定された委託先のクライアントＰＣに対して印刷ジョブのレンダリング処理要求を送信する。【選択図】図２
2012133533.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介してクライアントＰＣから受信した印刷ジョブをスプールするプリントサーバにおいて、
前記ネットワークを介して印刷要求を受信する印刷要求受信手段と、
前記受信した印刷要求の対象となる前記印刷ジョブのレンダリング処理が当該プリントサーバ自身で可能か否かを判定するレンダリング処理判定手段と、
前記レンダリング処理判定手段により前記印刷ジョブのレンダリング処理が可能であると判定された場合には、当該印刷ジョブのレンダリング処理を行うレンダリング処理手段と、
前記レンダリング処理判定手段により前記印刷ジョブのレンダリング処理が可能でないと判定された場合に、前記ネットワークに接続されているクライアントＰＣの中から前記印刷ジョブのレンダリング処理が可能なクライアントＰＣを委託先として選定する委託先選定手段と、
前記委託先選定手段により選定された委託先のクライアントＰＣに対して前記印刷ジョブのレンダリング処理要求を送信する送信手段とを備えることを特徴とするプリントサーバ。
【請求項２】
前記レンダリング処理判定手段は、
前記印刷要求受信手段により受信した印刷要求に含まれるプリンタ情報で指定されているプリンタドライバを保有しているか否かを判定するプリンタドライバ判定手段と、
前記プリントサーバ自身の処理負荷の状態を判定する負荷状態判定手段の少なくとも１つを備え、
前記プリンタドライバ判定手段により前記プリンタ情報で指定されているプリンタドライバを保有していないと判定された場合、及び、前記負荷状態判定手段により前記プリントサーバ自身の処理負荷が規定値より高いと判定された場合には、前記印刷ジョブのレンダリング処理が不可能と判定することを特徴とする請求項１に記載のプリントサーバ。
【請求項３】
前記委託先選定手段は、
前記印刷要求受信手段により受信した印刷要求により識別されるユーザ情報に基づいて印刷ジョブ送信元のクライアントＰＣを特定し、当該クライアントＰＣでレンダリング処理が可能であると判定した場合に、当該クライアントＰＣを前記委託先に選定することを特徴とする請求項１または２に記載のプリントサーバ。
【請求項４】
前記レンダリング処理の委託が可能な機器が列挙されたレンダリング委託先リストを記憶する記憶手段をさらに備え、
前記委託先選定手段は、
前記レンダリング委託先リストを参照して前記委託先となるクライアントＰＣを選定することを特徴とする請求項１または２に記載のプリントサーバ。
【請求項５】
前記委託先選定手段は、
前記印刷要求受信手段により受信した印刷要求に含まれるプリンタ情報から該当するプリンタの機種を判別し、前記ネットワーク上のクライアントＰＣに対してプリンタドライバの保有を問い合わせる問い合わせ手段を備え、
前記問い合わせ手段による結果から前記委託先となるクライアントＰＣを選定することを特徴とする請求項１または２に記載のプリントサーバ。
【請求項６】
前記レンダリング処理手段は、前記委託先選定手段により前記委託先となるクライアントＰＣの選定ができなかった場合には、前記プリントサーバが保有するプリンタの機種に依存しないプリンタドライバを用いてレンダリング処理を行うことを特徴とする請求項１乃至５のいずれか１項に記載のプリントサーバ。
【請求項７】
請求項１乃至６のいずれか１項に記載のプリントサーバと、印刷ジョブを前記プリントサーバに送信するクライアントＰＣと、認証機器とがネットワークを介して接続されたプリントシステムにおいて、
前記認証機器は、入力されたユーザ情報に基づいてユーザ認証を行い、当該ユーザ認証に成功した場合に前記プリントサーバに印刷要求を送信し、
前記プリントサーバは、前記認証機器からの印刷要求に基づいて、前記印刷ジョブのレンダリング処理を実行した場合、レンダリング処理された印刷データを前記認証機器または前記ネットワークに接続されたプリンタに送信し、
前記クライアントＰＣは、前記プリントサーバからレンダリング処理要求を受信して、当該印刷ジョブのレンダリング処理を実行した場合には、レンダリング処理された印刷データを前記認証機器または前記ネットワークに接続されたプリンタに送信することを特徴とするプリントシステム。
【請求項８】
ネットワークを介してクライアントＰＣから受信した印刷ジョブをスプールするプリントサーバの制御方法において、
前記ネットワークを介して印刷要求を受信する印刷要求受信工程と、
前記受信した印刷要求の対象となる前記印刷ジョブのレンダリング処理が当該プリントサーバ自身で可能か否かを判定するレンダリング処理判定工程と、
前記レンダリング処理判定工程にて前記印刷ジョブのレンダリング処理が可能であると判定された場合には、当該印刷ジョブのレンダリング処理を行うレンダリング処理工程と、
前記レンダリング処理判定工程にて前記印刷ジョブのレンダリング処理が可能でないと判定された場合に、前記ネットワークに接続されているクライアントＰＣの中から前記印刷ジョブのレンダリング処理が可能なクライアントＰＣを委託先として選定する委託先選定工程と、
前記委託先選定工程にて選定された委託先のクライアントＰＣに対して前記印刷ジョブのレンダリング処理要求を送信する送信工程とを備えることを特徴とする制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プリントサーバ及びその制御方法、プリントシステムに関し、特に、印刷ジョブのレンダリング処理をプリントサーバとクライアントＰＣで分散して行うプリントサーバ及びその制御方法、プリントシステムに関する。
【背景技術】
【０００２】
特許文献１では、クライアントＰＣからプリントサーバへ送られたプリンタ非依存型印刷データ（本発明の印刷ジョブに相当）を、プリントサーバがＰＤＬ（Ｐａｇｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）等のプリンタ依存型印刷データに変換し、プリンタに送信する周辺機器利用システムが提案されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−１９３０９１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１では、プリントサーバにレンダリング処理が集中することによって、パフォーマンス低下が起こる恐れがある。このような課題に対して、プリントサーバを高性能な機種にリプレースしたり、プリントサーバを複数台設置して処理負荷を分散させることでパフォーマンス低下を回避できるが、コストが増大する問題がある。
【０００５】
本発明は、上記問題に鑑みて成されたものであり、サーバスプール方式のプリントシステムにおいて、コスト増加を抑えつつ、レンダリング処理の集中によるプリントサーバのパフォーマンス低下を回避することができるプリントサーバ及びその制御方法、プリントシステムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するために、請求項１記載のプリントサーバは、ネットワークを介してクライアントＰＣから受信した印刷ジョブをスプールするプリントサーバにおいて、前記ネットワークを介して印刷要求を受信する印刷要求受信手段と、前記受信した印刷要求の対象となる前記印刷ジョブのレンダリング処理が当該プリントサーバ自身で可能か否かを判定するレンダリング処理判定手段と、前記レンダリング処理判定手段により前記印刷ジョブのレンダリング処理が可能であると判定された場合には、当該印刷ジョブのレンダリング処理を行うレンダリング処理手段と、前記レンダリング処理判定手段により前記印刷ジョブのレンダリング処理が可能でないと判定された場合に、前記ネットワークに接続されているクライアントＰＣの中から前記印刷ジョブのレンダリング処理が可能なクライアントＰＣを委託先として選定する委託先選定手段と、前記委託先選定手段により選定された委託先のクライアントＰＣに対して前記印刷ジョブのレンダリング処理要求を送信する送信手段とを備えることを特徴とする。
【０００７】
上記目的を達成するために、請求項７記載のプリントシステムは、請求項１乃至６のいずれか１項に記載のプリントサーバと、印刷ジョブを前記プリントサーバに送信するクライアントＰＣと、認証機器とがネットワークを介して接続されたプリントシステムにおいて、前記認証機器は、入力されたユーザ情報に基づいてユーザ認証を行い、当該ユーザ認証に成功した場合に前記プリントサーバに印刷要求を送信し、前記プリントサーバは、前記認証機器からの印刷要求に基づいて、前記印刷ジョブのレンダリング処理を実行した場合、レンダリング処理された印刷データを前記認証機器または前記ネットワークに接続されたプリンタに送信し、前記クライアントＰＣは、前記プリントサーバからレンダリング処理要求を受信して、当該印刷ジョブのレンダリング処理を実行した場合には、レンダリング処理された印刷データを前記認証機器または前記ネットワークに接続されたプリンタに送信することを特徴とする。
【０００８】
上記目的を達成するために、請求項８記載のプリントサーバの制御方法は、ネットワークを介してクライアントＰＣから受信した印刷ジョブをスプールするプリントサーバの制御方法において、前記ネットワークを介して印刷要求を受信する印刷要求受信工程と、前記受信した印刷要求の対象となる前記印刷ジョブのレンダリング処理が当該プリントサーバ自身で可能か否かを判定するレンダリング処理判定工程と、前記レンダリング処理判定工程にて前記印刷ジョブのレンダリング処理が可能であると判定された場合には、当該印刷ジョブのレンダリング処理を行うレンダリング処理工程と、前記レンダリング処理判定工程にて前記印刷ジョブのレンダリング処理が可能でないと判定された場合に、前記ネットワークに接続されているクライアントＰＣの中から前記印刷ジョブのレンダリング処理が可能なクライアントＰＣを委託先として選定する委託先選定工程と、前記委託先選定工程にて選定された委託先のクライアントＰＣに対して前記印刷ジョブのレンダリング処理要求を送信する送信工程とを備えることを特徴とする。
【発明の効果】
【０００９】
本発明によれば、受信した印刷ジョブのレンダリング処理がプリントサーバ自身で可能か否かを判定し、レンダリング処理が可能でないと判定した場合に、当該印刷ジョブのレンダリング処理が可能なクライアントＰＣを委託先として選定するので、プリントサーバを高性能化したり、複数台設置することなくプリントシステムを構築することができ、レンダリング処理の集中によるプリントサーバのパフォーマンス低下を回避することができる。
【図面の簡単な説明】
【００１０】
【図１】本発明の第１の実施形態に係るプリントシステムの概略構成を示す図である。
【図２】図１におけるプリントサーバ２００の印刷要求受信時の動作処理の流れを示すフローチャートである。
【図３】第１の実施形態におけるレンダリング委託先の選定処理の詳細を示すフローチャートである。
【図４】第２の実施形態におけるプリントサーバ２００内に記憶されるレンダリング委託先リストの一例を示す図である。
【図５】第２の実施形態におけるレンダリング委託先の選定処理の一例を示すフローチャートである。
【図６】第３の実施形態におけるレンダリング委託先の選定処理の一例を示すフローチャートである。
【発明を実施するための形態】
【００１１】
以下、本発明の実施の形態を図面を参照して詳細に説明する。
【００１２】
［第１の実施形態］
図１は、本発明の第１の実施形態に係るプリントシステムの概略構成を示す図である。
【００１３】
本プリントシステムは、クライアントＰＣの印刷ジョブをプリントサーバにスプールしておき、ネットワークに接続されている複数のプリンタの中から出力先として任意のプリンタが指定された場合に、スプールされた印刷ジョブを当該プリンタに応じた形式にレンダリングしてプリンタへ送信するサーバスプール方式のプリントシステムである。
【００１４】
図１のプリントシステムでは、複数のクライアントＰＣ１００，１１０と、プリントサーバ２００と、複数の認証ＢＯＸ３００，３１０とが、有線または無線のネットワーク６００で互いに接続されている。
【００１５】
クライアントＰＣ１００，１１０は、パーソナルコンピュータ等の情報処理装置であり、ネットワーク６００を介して、プリントサーバ２００や認証ＢＯＸ３００，３１０と通信する機能を備える。例えば、クライアントＰＣ１００，１１０は、ネットワーク６００上の複数のプリンタの中から出力先として指定されたプリンタに接続された認証ＢＯＸに対して印刷ジョブを送信する。クライアントＰＣ１００，１１０が生成する印刷ジョブは、プリンタメーカーや機種に依存しない形式の印刷ジョブ（中間データ）である。
【００１６】
なお、クライアントＰＣ１００，１１０は、パーソナルコンピュータに限定されるものではなく、携帯電話やモバイル端末であってもよい。また、ネットワーク６００上のクライアントＰＣの台数も図示例に限定されるものではない。
【００１７】
プリントサーバ２００は、プリントサーバ機能を備える情報処理装置であり、ネットワーク６００を介して、クライアントＰＣ１００，１１０や認証ＢＯＸ３００，３１０と通信する機能を備える。例えば、プリントサーバ２００は、クライアントＰＣ１００から受信した印刷ジョブをスプールし、出力先に指定されたプリンタ４００に対応したプリンタドライバを用いてレンダリング処理を行って、印刷データに変換し、認証ＢＯＸ３００に送信する。また、プリントサーバ２００は、該当するプリンタドライバを保有していないときは、印刷ジョブを任意のクライアントＰＣに送信する。
【００１８】
認証ＢＯＸ３００，３１０（認証機器）は、ＩＣカード等の記録媒体からデータを読み取ることができるカードリーダを備え、読み取ったユーザ情報（例えば、カードＩＤ）に基づいてユーザ認証を行い、認証された場合にプリントサーバ２００に印刷要求を送信する機能を備える。また、認証ＢＯＸ３００，３１０は、印刷データをプリントサーバ２００やクライアントＰＣ１００から受信すると、ケーブル５００を介して、プリンタに印刷データを送信する機能を備える。ケーブル５００は、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）やＩＥＥＥ１３９４などに準拠したインターフェースケーブルである。
【００１９】
プリンタ４００，４１０は、印刷データを出力する印刷装置であり、プリント機能を備えた単機能周辺装置（ＳＦＰ：Ｓｉｎｇｌｅ  Ｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ）、或いは、プリント機能の他にスキャン機能やコピー機能、ストレージ機能などを兼ね備えた多機能周辺装置（ＭＦＰ：Ｍｕｌｔｉ  Ｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ）である。なお、プリンタ４００，４１０は、これらに限定されるものでなく、印刷機能を備えた別のデバイスであってもよい。また、ネットワーク６００上のプリンタの台数も図示例に限定されるものではない。
【００２０】
本実施形態では、認証ＢＯＸとプリンタがそれぞれ別体の装置で構成されているが、認証ＢＯＸをプリンタのケーシング内に収まるように一体構造としてもよい。また、プリンタ４００，４１０は、認証ＢＯＸ３００，３１０を介してネットワーク６００に接続されているが、直接ネットワーク６００に接続されている構成であってもよい。この場合、クライアントＰＣ又はプリントサーバからプリンタに直接印刷データが送信されてもよい。
【００２１】
次に、クライアントＰＣ１００，１１０について説明する。なお、本実施形態では、クライアントＰＣ１００，１１０は同一の構成を有することから、クライアントＰＣ１００について説明する。
【００２２】
クライアントＰＣ１００は、一般的なパーソナルコンピュータが備えるハードウェア構成として、不図示のＣＰＵ、入力部、表示部、メモリ、通信部、記憶部などを備え、これらが内部バスで接続されている。ＣＰＵはクライアントＰＣ１００内の各部を制御する中央処理装置である。入力部はキーボードやマウス等の操作装置である。表示部は液晶モニタ等の表示装置である。メモリは、ＲＡＭ、ＲＯＭ等の記憶装置である。通信部は、ネットワーク６００（有線又は無線ネットワーク）に接続するためのインターフェースであり、プリントサーバ２００、認証ＢＯＸ３００，３１０とデータ通信を行うことで、クライアントＰＣ１００から印刷ジョブや印刷データを送受信することが可能となる。記憶部は、ハードディスク等の記憶装置である。記憶部には、ソフトウェアとして、通信制御部１０１、印刷データ作成機能部１０２が記憶されている。なお、記憶部には、他の機能に関するソフトウェアも記憶されているが、本発明に関わるもののみを説明する。
【００２３】
通信制御部１０１は、プリントサーバ２００や認証ＢＯＸ３００，３１０との間で行われる印刷ジョブ、印刷データなどの送受信を制御する。
【００２４】
印刷データ作成機能部１０２は、プリンタドライバ１０３を少なくとも１つ備え、プリンタドライバ１０３を用いて印刷ジョブのレンダリング処理を行う。
【００２５】
プリンタドライバ１０３は、プリンタメーカーや機種に依存しない形式の印刷ジョブ（中間データ）を生成する機能と、レンダリング処理を行い、出力先のプリンタに適合した形式の印刷データを生成する機能を備えるソフトウェアである。これらのソフトウェアは、ＣＰＵの制御に従い、メモリ上に読み出されて実行される。なお、本実施形態では、印刷ジョブはスプールされるデータであり、印刷データは、印刷ジョブをレンダリング処理したものであり、プリンタ（または認証ＢＯＸ）に送信される最終データを意味する。
【００２６】
次に、プリントサーバ２００について説明する。
【００２７】
プリントサーバ２００は、クライアントＰＣと同様に、ＣＰＵ、入力部、表示部、メモリ、通信部、記憶部などから構成されており、これらが内部バスで接続されている。これらの説明については省略する。
【００２８】
記憶部には、ソフトウェアとして、通信制御部２０１、印刷ジョブ管理部２０２、負荷分散機能部２０３、印刷データ作成機能部２０４、印刷ジョブ記憶部２０６が記憶されている。なお、記憶部には、他の機能に関するソフトウェアも記憶されているが、本発明に関わるもののみを説明する。
【００２９】
通信制御部２０１は、通信部を介してクライアントＰＣ１００，１１０や認証ＢＯＸ３００，３１０との印刷ジョブ、印刷データの送受信を制御する。印刷ジョブ管理部２０２は、クライアントＰＣ１００，１１０から通信制御部２０１で受信した印刷ジョブを印刷ジョブ記憶部２０６に保存し、負荷分散機能部２０３からの指示を受けて、認証ＢＯＸ３００，３１０から受信した印刷要求に含まれるユーザ情報に該当する印刷ジョブを印刷ジョブ記憶部２０６から読み出し、印刷データ作成機能部２０４に受け渡す。
【００３０】
負荷分散機能部２０３は、プリントサーバ２００における現在の処理負荷状態を取得し、認証ＢＯＸ３００，３１０から通信制御部２０１を介して受信した印刷要求の対象となる印刷ジョブが当該プリントサーバ２００でレンダリング処理が実行可能か否かを判定する。さらに、負荷分散機能部２０３は、認証ＢＯＸ３００，３１０から通信制御部２０１で受信した印刷要求の対象となる印刷ジョブをレンダリング処理可能なプリンタドライバ２０５を保有しているか否かにより、当該プリントサーバ２００でレンダリング処理が実行可能か否かを判定する。プリントサーバ２００がレンダリング処理対象の印刷ジョブに対応するプリンタドライバ２０５を保有し、かつ、プリントサーバ２００自身の処理負荷がシステム管理者などによって予め定められた値（以下、「規定値」とする）以下と判定した場合、レンダリング処理を実施可能と判定し、印刷ジョブ管理部２０２に対しては、該当する印刷ジョブの読み出しを指示し、印刷データ作成機能部２０４に対しては、該当する印刷ジョブのレンダリング処理を指示する。
【００３１】
一方、プリントサーバ２００が、１）レンダリング処理対象の印刷ジョブに対応するプリンタドライバを保有していない場合、２）プリントサーバ２００自身の処理負荷が高い（規定値を超える）場合、３）プリントサーバ２００でレンダリング処理が可能であるが、過去の履歴などからレンダリング処理の委託先候補が特定されている場合のいずれか１つに該当するとき、レンダリング処理を実行不可能（もしくは非実行）と判定し、当該印刷要求の対象となる印刷ジョブをレンダリング処理可能なクライアントＰＣを委託先として選定する。プリントサーバ２００は、選定された委託先のクライアントＰＣに対して、通信制御部２０１により、印刷ジョブを含むレンダリング処理の実行要求（以下、「レンダリング処理要求」と呼ぶ）を送信する。
【００３２】
印刷ジョブ記憶部２０６は、クライアントＰＣ１００から通信制御部２０１で受信した印刷ジョブを格納するために、ハードウェアである記憶部に設定された記憶領域である。また、印刷ジョブ記憶部２０６は、印刷ジョブ管理部２０２によって管理される印刷ジョブリストを記憶するための記憶領域も備える。この印刷ジョブリストには、印刷ジョブがユーザ情報と対応付けて記憶されている。
【００３３】
印刷データ作成機能部２０４は、プリンタドライバ２０５を少なくとも１つ備え、プリンタドライバ２０５を用いて印刷ジョブのレンダリング処理を行う。プリンタドライバ２０５は、レンダリング処理を行い、出力先のプリンタに適合した形式の印刷データを生成するソフトウェアである。また、印刷データ作成機能部２０４は、認証ＢＯＸ３００，３１０から通信制御部２０１で受信した印刷要求の対象となる印刷ジョブをレンダリング処理可能なプリンタドライバ２０５を保有しているか否かを判定する。
【００３４】
次に、プリントサーバ２００が認証ＢＯＸ３００，３１０から印刷要求を受信した場合の動作処理について図２を参照しながら説明する。
【００３５】
図２は、図１におけるプリントサーバ２００の印刷要求受信時の動作処理の流れを示すフローチャートである。
【００３６】
プリントサーバ２００では、クライアントＰＣ１００から受信した印刷ジョブを格納（スプール）すると共に、認証ＢＯＸ３００，３１０からの印刷要求の受信を監視している。一方、認証ＢＯＸ３００，３１０では、カードリーダなどでユーザ情報の読み取りが行われ、当該ユーザ情報に基づいてユーザ認証が成功すると、当該ユーザ情報を含む印刷要求をプリントサーバ２００へ送信する。
【００３７】
プリントサーバ２００は、通信制御部２０１にて、例えば認証ＢＯＸ３００から印刷要求を受信すると（ステップＳ２０１でＹＥＳ）、当該印刷要求に含まれているプリンタ情報を確認（ステップＳ２０２）し、印刷データ作成機能部２０４内にプリンタ情報で指定されているプリンタドライバを保有しているか否かを判定する（ステップＳ２０３）。プリンタ情報には、出力先に設定されたプリンタの機種名、プリンタドライバの種類等の情報が含まれる。
【００３８】
ステップＳ２０３の判定の結果から、プリントサーバ２００が、プリンタ情報で指定されているプリンタドライバを保有していない場合（ステップＳ２０３でＮＯ）、ステップ２０６の処理へ移行する。一方、プリンタ情報で指定されているプリンタドライバを保有している場合（ステップＳ２０３でＹＥＳ）、負荷分散機能部２０３は、プリントサーバ自身の処理負荷の状態を確認（ステップＳ２０４）し、レンダリング処理が可能か否かを判定する（ステップＳ２０５）。
【００３９】
負荷分散機能部２０３は、レンダリング処理が不可能である判定した場合（ステップＳ２０５でＮＯ）、レンダリング処理を委託するため、レンダリング処理が可能なクライアントＰＣの選定処理を開始する（ステップＳ２０６）。ステップＳ２０６の詳細な処理については後述する。
【００４０】
ステップＳ２０６の選定処理によりレンダリング委託先のクライアントＰＣが決定した場合（ステップＳ２０７でＹＥＳ）、印刷ジョブ管理部２０２は、認証ＢＯＸ３００から受信した印刷要求に含まれるユーザ情報に基づいて印刷ジョブリストを参照し、印刷ジョブ記憶部２０６の中から該当する印刷ジョブを特定し、特定した印刷ジョブを含むレンダリング処理要求をレンダリング委託先のクライアントＰＣに対して送信する（ステップＳ２０８）。レンダリング処理要求には、印刷ジョブを特定するためのユーザ情報、使用するプリンタドライバを特定するためのプリンタ情報等が含まれる。
【００４１】
一方、ステップＳ２０６の選定処理の結果からレンダリング処理が可能なクライアントＰＣがなく、レンダリング委託先が決定できなかった場合（ステップＳ２０７でＮＯ）、負荷分散機能部２０３は、認証ＢＯＸ３００及び／又は印刷ジョブの送信元のクライアントＰＣに対してエラー通知を行う（ステップＳ２０９）。
【００４２】
一方、上述したステップＳ２０５における判定の結果、負荷分散機能部２０３においてレンダリング処理が可能と判定した場合（ステップＳ２０５でＹＥＳ）、印刷ジョブ管理部２０２は、認証ＢＯＸ３００から受信した印刷要求に含まれるユーザ情報に基づいて印刷ジョブリストを参照し、印刷ジョブ記憶部２０６の中から印刷要求の対象となる印刷ジョブを特定し、特定した印刷ジョブを印刷データ作成機能部２０４へ受け渡す。そして、印刷データ作成機能部２０４で当該印刷ジョブをレンダリングして印刷データを作成し（ステップＳ２１０）、作成した印刷データを認証ＢＯＸへ送信する（ステップＳ２１１）。認証ＢＯＸ３００が印刷データを受信した場合には、当該印刷データをケーブル５００によりローカル接続されたプリンタ４００に送信し、プリンタ４００は当該印刷データに基づいて印刷処理を実行する。なお、プリンタがネットワークに直接接続されている場合には、プリンタに印刷データが直接送信されてもよい。
【００４３】
上記処理では、ステップＳ２０３とステップＳ２０５の判定結果に応じて、ステップＳ２０６のレンダリング委託先の選定処理が行われるが、ステップＳ２０３の処理のみでもよい。また、プリントサーバ２００でレンダリング処理が可能であるが、過去の履歴などからレンダリング処理の委託先候補が特定されている場合、レンダリング処理を非実行と判定して当該委託先を選定する構成にしてもよい。
【００４４】
次に、図２のステップＳ２０６におけるレンダリング委託先の選定処理の詳細について説明する。
【００４５】
図３は、プリントサーバ２００が印刷ジョブの送信元のクライアントＰＣ（以下、「印刷ジョブ送信元ＰＣ」と呼ぶ）をレンダリング委託先として選定する処理の詳細を示すフローチャートである。
【００４６】
プリントサーバ２００は、認証ＢＯＸ３００から受信した印刷要求により識別されるユーザ情報に基づいて印刷ジョブ送信元ＰＣを特定し、当該印刷ジョブ送信元ＰＣに対して、レンダリング処理の可否を問い合わせるためのレンダリング判定要求を送信する（ステップＳ３０１）。なお、レンダリング判定要求には、上述したプリンタ情報などが含まれている。
【００４７】
次に、プリントサーバ２００は、印刷ジョブ送信元ＰＣからレンダリング判定要求に対する応答情報を受信すると、当該応答情報の内容を確認し（ステップＳ３０２）、クライアントＰＣでのレンダリング処理が可能か否かを判定する（ステップＳ３０３）。クライアントＰＣのレンダリング処理の可否判定は、プリントサーバ２００と同様に、クライアントＰＣにおけるプリンタドライバの有無、印刷ジョブ送信元ＰＣ自身の処理負荷の状態で判定されており、判定結果が応答情報となる。
【００４８】
ステップＳ３０３の判定の結果から、印刷ジョブ送信元ＰＣでレンダリング処理が可能であると判定した場合（ステップＳ３０３でＹＥＳ）、プリントサーバ２００は、印刷ジョブ送信元ＰＣをレンダリング委託先に決定（ステップＳ３０４）して、本処理を終了し、図２のステップＳ２０７以降の処理を行う。一方、印刷ジョブ送信元ＰＣでレンダリング処理が不可能であると判定した場合（ステップＳ３０３でＮＯ）、プリントサーバ２００は本処理を終了して、図２のステップＳ２０７以降の処理を行う。
【００４９】
上記第１の実施形態によれば、印刷ジョブをスプールするプリントサーバがレンダリング処理を実行できない状況であっても、印刷ジョブ送信元ＰＣをレンダリング処理の委託先として選定することができる。このように、印刷ジョブのレンダリング処理をプリントサーバだけでなく他の装置に分散させることで、レンダリング処理の集中によるプリントサーバのパフォーマンスの低下を防止することができる。また、レンダリング処理の分散により、プリンタの機種分のプリンタドライバをプリントサーバにインストールすることが不要になり、システム導入時にシステム管理者が行うプリンタドライバのインストール作業に対する負担を軽減することができる。
【００５０】
［第２の実施形態］
次に、本発明の第２の実施の形態について図面を参照して詳細に説明する。なお、本発明の第２の実施の形態におけるプリントシステムは、その構成が上記第１の実施の形態で説明した図１のプリントシステムと同じであり、上述した構成要素については同一の符号を付して、その説明を省略する。
【００５１】
第２の実施の形態では、プリントサーバ２００がレンダリング委託先リストを保有し、このリストを参照してレンダリング委託先を選定する。なお、本実施形態では、レンダリング委託先リストは、予めプリントサーバ２００の負荷分散機能部２０３に記憶されているものとする。ただし、プリントサーバ２００の記憶部内（不図示）であれば、負荷分散機能部２０３に限定されるものではない。
【００５２】
図４は、プリントサーバ２００内に記憶されるレンダリング委託先リストの一例を示す図である。
【００５３】
レンダリング委託先リストは、印刷ジョブのレンダリング処理の委託が可能な機器が列挙されたものであり、例えば、プリンタドライバ保有ＰＣリスト４０１とＰＣ情報リスト４０２で構成される。
【００５４】
プリンタドライバ保有ＰＣリスト４０１は、プリンタの機種名（例えば、プリンタａ、プリンタｂ等）、レンダリング委託先選定の優先度（例えば、優先度１、２等）などで構成される。ＰＣ情報リスト４０２は、ＰＣ名（例えば、ＰＣａ、ＰＣｂ等）、レンダリング委託先ＰＣの宛て先情報（例えば、クライアントＰＣの機器名、ＩＰアドレス、ＭＡＣアドレス等）、レンダリング委託先ＰＣのスペック情報（例えば、ＣＰＵ、メモリ等）などで構成される。なお、本実施形態では、レンダリング委託先リストは、プリンタドライバ保有ＰＣリスト４０１とＰＣ情報リスト４０２の２つで構成される場合について説明したが、これらを合わせた１つのリストであってもよい。
【００５５】
次に、プリントサーバ２００がレンダリング委託先リストを参照してレンダリング委託先を選定する処理の流れについて図５を参照して説明する。なお、本処理は、プリントサーバ２００において、図２のステップＳ２０６で実行される処理であり、図２のステップＳ２０６以外の他の処理については、上記第１の実施形態で説明した通りであり、それらの説明は省略する。
【００５６】
図５は、第２の実施形態におけるレンダリング委託先の選定処理の一例を示すフローチャートである。
【００５７】
まず、プリントサーバ２００は、認証ＢＯＸ３００から受信した印刷要求に含まれているプリンタ情報から該当するプリンタの機種名を判別し、レンダリング委託先リストを参照して当該プリンタのプリンタドライバを保有しているクライアントＰＣを確認する（ステップＳ５０１）。
【００５８】
次に、プリントサーバ２００は、レンダリング委託先リストにレンダリング委託先の候補となるクライアントＰＣがあるか否かを判定し（ステップＳ５０２）、レンダリング委託先リストにレンダリング委託先の候補となるクライアントＰＣがある場合（ステップＳ５０２でＹＥＳ）、レンダリング委託先リストからレンダリング委託ＰＣを選定する（ステップＳ５０３）。
【００５９】
ステップＳ５０２の判定の結果、レンダリング委託先リストにレンダリング委託先の候補となるクライアントＰＣがない場合（ステップＳ５０２でＮＯ）、プリントサーバ２００は本処理を終了し、図２のステップＳ２０７以降の処理を行う。
【００６０】
次に、ステップＳ５０４では、プリントサーバ２００は、レンダリング委託先に選定したクライアントＰＣに対して、レンダリング可否を問い合わせるため、レンダリング判定要求を送信する。
【００６１】
次に、プリントサーバ２００は、レンダリング可否の問い合わせを行ったクライアントＰＣからレンダリング判定要求に対する応答情報を受信すると、当該応答情報の内容を確認する（ステップＳ５０５）。そして、受信した応答情報から、レンダリング可否の問い合わせを行ったクライアントＰＣでのレンダリング処理が可能か否かを判定する（ステップＳ５０６）。クライアントＰＣのレンダリング処理の可否判定は、プリントサーバ２００と同様に、クライアントＰＣにおけるプリンタドライバの有無、クライアントＰＣ自身の処理負荷の状態で判定されており、判定結果が応答情報となる。
【００６２】
ステップＳ５０６の判定の結果、受信した応答情報から、レンダリング可否の問い合わせを行ったクライアントＰＣでのレンダリングが可能と判定した場合（ステップＳ５０６でＹＥＳ）、プリントサーバ２００は、そのクライアントＰＣをレンダリング委託先に決定（ステップＳ５０７）して、本処理を終了し、図２のステップＳ２０７以降の処理を行う。一方、受信した応答情報から、レンダリング可否の問い合わせを行ったクライアントＰＣでのレンダリングが不可能と判定した場合（ステップＳ５０６でＮＯ）、ステップＳ５０２の処理に戻る。
【００６３】
上記処理において、レンダリング委託先リストに複数のレンダリング委託先の候補がある場合、委託先となるクライアントＰＣが選定されるまで、ステップＳ５０２〜Ｓ５０６の処理が繰り返される。
【００６４】
第２の実施の形態によれば、印刷ジョブをスプールするプリントサーバがレンダリング処理を実行できない状況であっても、レンダリング委託先リストを参照することで、レンダリング処理の委託先を効率よく選定することができる。
【００６５】
［第３の実施形態］
次に、本発明の第３の実施形態について図面を参照して詳細に説明する。なお、本発明の第３の実施の形態におけるプリントシステムは、その構成が上記第１の実施の形態で説明した図１のプリントシステムと同じであり、上述した構成要素については同一の符号を付して、その説明を省略する。
【００６６】
第３の実施の形態では、レンダリング委託先を選定する際に、プリントサーバ２００がネットワーク上のクライアントＰＣ（印刷ジョブ送信元ＰＣ及びその他のクライアントＰＣ）に対して、レンダリングの委託可否を問い合わせることで、レンダリング委託先を選定する。
【００６７】
図６は、第３の実施形態におけるレンダリング委託先の選定処理の一例を示すフローチャートである。なお、本処理は、プリントサーバ２００において、図２のステップＳ２０６で実行される処理であり、図２のステップＳ２０６以外の他の処理については、上記第１の実施形態で説明した通りであり、それらの説明は省略する。
【００６８】
まず、プリントサーバ２００は、認証ＢＯＸ３００から受信した印刷要求に含まれているプリンタ情報から該当するプリンタの機種名を判別し、レンダリング委託先の候補となるクライアントＰＣを探索するために、ネットワーク上のクライアントＰＣに対して当該プリンタのプリンタドライバを保有しているか否かの問い合わせを行う（ステップＳ６０１）。本実施形態では、ブロードキャスト通信やマルチキャスト通信等により問い合わせが行われるものとする。
【００６９】
次に、プリントサーバ２００は、該当するプリンタドライバを保有しているか否かの問い合わせに対する応答情報を受信したクライアントＰＣの中から、当該応答情報に基づいてレンダリング委託先の候補となり得るクライアントＰＣがあるか否かを判定する（ステップＳ６０２）。該当するプリンタドライバを「保有する」と応答したクライアントＰＣがある場合（ステップＳ６０２でＹＥＳ）、プリントサーバ２００は、当該クライアントＰＣをレンダリング委託先の候補として選定する（ステップＳ６０３）。
【００７０】
ステップＳ６０２の判定の結果、レンダリング委託先の候補となるクライアントＰＣがない場合（ステップＳ６０２でＮＯ）、プリントサーバ２００は本処理を終了し、図２のステップＳ２０７以降の処理を行う。
【００７１】
次に、レンダリング委託先の候補として選定されたクライアントＰＣに対して、レンダリング可否を問い合わせるため、プリントサーバ２００はレンダリング判定要求を送信する（ステップＳ６０４）。本実施形態では、ユニキャスト通信によりレンダリング判定要求が送信されるものとする。なお、複数のクライアントＰＣから該当するプリンタドライバを「保有する」との応答があった場合には、受信した順番にレンダリング判定要求を送信する。
【００７２】
次に、プリントサーバ２００は、レンダリング可否の問い合わせを行ったクライアントＰＣからレンダリング判定要求に対する応答情報を受信すると、当該応答情報の内容を確認する（ステップＳ６０５）。そして、受信した応答情報から、レンダリング可否の問い合わせを行ったクライアントＰＣでのレンダリング処理が可能か否かを判定する（ステップＳ６０６）。クライアントＰＣのレンダリング処理の可否判定は、プリントサーバ２００と同様に、クライアントＰＣにおけるプリンタドライバの有無、クライアントＰＣ自身の処理負荷の状態で判定されており、判定結果が応答情報となる。
【００７３】
ステップＳ６０６の判定の結果、受信した応答情報から、レンダリング可否の問い合わせを行ったクライアントＰＣでレンダリング可能と判定した場合（ステップＳ６０６でＹＥＳ）、プリントサーバ２００は、そのクライアントＰＣをレンダリング委託先に決定（ステップＳ６０７）して、本処理を終了し、図２のステップＳ２０７以降の処理を行う。一方、受信した応答情報から、レンダリング可否の問合せを行ったクライアントＰＣでレンダリング不可能と判定した場合（ステップＳ６０６でＮＯ）、ステップＳ６０２の処理に戻る。
【００７４】
上記処理において、レンダリング委託先の候補となるクライアントＰＣが複数ある場合、委託先となるクライアントＰＣが選定されるまで、ステップＳ６０２〜Ｓ６０６の処理が繰り返される。
【００７５】
上記第３の実施の形態によれば、印刷ジョブをスプールするプリントサーバがレンダリング処理を実行できない状況であっても、ネットワークに接続されているクライアントＰＣの中からレンダリング処理可能な委託先を探索し、効率よく選定することができる。
【００７６】
［第４の実施形態］
上述した第１の実施の形態、第２の実施の形態及び第３の実施の形態で説明したレンダリング委託先選定方法を複数組み合わせることも可能である。
【００７７】
レンダリング委託リスト「あり」の場合には、上述した３つの実施形態を以下の順序で組み合わせることが可能である。例えば、最初は印刷ジョブ送信元ＰＣに問い合わせを行い、次にレンダリング委託リストを参照し、最後にブロードキャスト通信等によってレンダリング委託先を探索する構成でもよい。なお、ブロードキャストによりクライアントＰＣから収集した情報に基づいて、レンダリング委託先リストにクライアントＰＣの情報（宛て先情報やスペック情報など）を登録・更新することも可能である。
【００７８】
一方、レンダリング委託リスト「なし」の場合には、３つの実施形態のうち２つの実施形態を以下の順序で組み合わせることが可能である。例えば、最初は印刷ジョブ送信元ＰＣに問い合わせを行い、次にブロードキャスト通信等によってレンダリング委託先を探索する構成でもよい。なお、上述したように、プリントサーバがレンダリング処理を委託するとき、レンダリング委託先選定方法を組み合わせて行うことにより、効率的にレンダリング委託先を選定することができる。
【００７９】
図２のステップＳ２０７においてレンダリング処理の委託先が決定しなかった場合、プリントサーバ２００が保有する汎用（プリンタの機種に依存しない）プリンタドライバでレンダリング処理を実行させるように構成してもよい。これにより、詳細な印刷設定などは反映されないが、印刷ができないという状態を回避することができる。
【００８０】
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【符号の説明】
【００８１】
１００，１１０  クライアントＰＣ
１０１  通信制御部
１０２  印刷データ作成機能部
２００  プリントサーバ
２０１  通信制御部
２０２  印刷ジョブ管理部
２０３  負荷分散機能部
２０４  印刷データ作成機能部
２０６  印刷ジョブ記憶部
３００，３１０  認証ＢＯＸ
４００，４１０  プリンタ
６００  ネットワーク
【図１】
2012133533.tif 000003
【図２】
2012133533.tif 000004
【図３】
2012133533.tif 000005
【図４】
2012133533.tif 000006
【図５】
2012133533.tif 000007
【図６】
2012133533.tif 000008