(57)【要約】【課題】印刷装置内部の印刷画像を生成させる処理が印刷速度に間に合わない入力データを、ネットワーク上のサーバに処理させる場合、プリンタエンジンの速度を維持しつつ、サーバ利用コストを極力抑える画像処理装置を提供することを目的とする。【解決手段】起動時間に応じて従量課金され、課金額が異なる複数種の外部サーバと接続し、受信した入力データを前記外部サーバに送信し、前記外部サーバに印刷画像を生成させる画像処理装置であって、前記複数種の外部サーバの中から、各入力データのページ毎に振り分け先サーバを決定する振り分け先サーバ決定部であって、当該ページを処理した際に他の外部サーバより課金額が低くなる外部サーバを、当該ページの振り分け先サーバとして決定する振り分け先サーバ決定部を有することを特徴とする。【選択図】図４
2017019246.tif 000002
【特許請求の範囲】
【請求項１】
起動時間に応じて従量課金され、課金額が異なる複数種の外部サーバと接続し、受信した入力データを前記外部サーバに送信し、前記外部サーバに印刷画像を生成させる画像処理装置であって、
前記複数種の外部サーバの中から、各入力データのページ毎に振り分け先サーバを決定する振り分け先サーバ決定部であって、当該ページを処理した際に他の外部サーバより課金額が低くなる外部サーバを、当該ページの振り分け先サーバとして決定する振り分け先サーバ決定部を有することを特徴とする画像処理装置。
【請求項２】
前記複数種の外部サーバの課金情報や処理能力情報を保存するサーバ情報保存部を具備し、
前記振り分け先サーバ決定部は、前記入力データをページ毎に解析し、この解析結果と前記サーバ情報保存部に保存されている各サーバの処理能力とに基づいて、印刷画像生成の処理予測時間を算出し、前記処理予測時間と課金情報とに基づいて、当該ページを処理した際に課金額が最も低くなる外部サーバを、ページの振り分け先サーバとして決定することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記振り分け先サーバ決定部が決定した振り分け先サーバを起動させる手段と、
前記振り分け先サーバ決定部が決定した振り分け先サーバに、各ページを送信し、前記振り分け先サーバ決定部が決定した振り分け先サーバで生成された印刷画像を受信する外部サーバ通信部と、
を有することを特徴とする請求項１または請求項２に記載の画像処理装置。
【請求項４】
前記振り分け先サーバ決定部は、解析結果とサーバの処理能力とに基づいて、ページを印刷画像生成処理する処理予測時間を求め、この求めた処理予測時間とサーバの単位時間当たりの課金額との積に基づいて、ページの処理に要する課金額を算出することを特徴とする請求項１乃至請求項３のいずれか１項に記載の画像処理装置。
【請求項５】
前記振り分け先サーバ決定部は、当該ページを処理した際の課金額が同じである振り分け先サーバが複数存在する場合、印刷画像生成の処理予測時間が一番短いサーバに優先して振り分け先サーバとして決定することを特徴とする請求項１乃至請求項４のいずれか１項に記載の画像処理装置。
【請求項６】
前記振り分け先サーバ決定部は、当該ページを処理した際の課金額が同じであり、しかも、当該ページを印刷画像生成処理した際の処理予測時間が一番短い場合、既に起動予定となっているサーバに優先して振り分け先サーバとして決定することを特徴とする請求項１乃至請求項５のいずれか１項に記載の画像処理装置。
【請求項７】
前記振り分け先サーバ決定部は、外部サーバの起動台数を決定した後に、各起動サーバに対して前記処理予測時間に基づいて課金対象時間を算出し、前記課金対象時間よりも前記処理予測時間が短いサーバが複数存在する場合、それらのサーバが振り分け先サーバとなっているページを他のサーバで処理しても課金対象時間が増加しなければ、そのページの振り分け先サーバを当該他のサーバに更新することを特徴とする請求項１乃至請求項６のいずれか１項に記載の画像処理装置。
【請求項８】
前記振り分け先サーバ決定部は、前記入力データに記載されているＲＩＰ処理開始時刻を、前記外部サーバの起動時間分前倒して、処理を開始することを特徴とする請求項１乃至７のいずれか１項に記載の画像処理装置。
【請求項９】
前記画像処理装置の内部に画像生成手段を持ち、
前記振り分け先サーバ決定部は、前記画像生成手段での画像生成が印刷に間に合わないページを、外部サーバへの振り分け対象とすることを特徴とする請求項１乃至８のいずれか１項に記載の画像処理装置。
【請求項１０】
注目サーバ種の起動中数が起動必要数よりも多ければ、起動中のサーバであって起動を必要としないサーバを停止するように、停止命令を発行し、一方、注目サーバ種の起動中数が起動必要数よりも少なければ、起動必要数から起動中数を差し引いた不足分のサーバを起動するように、起動命令を発行することを特徴とする請求項１乃至９のいずれか１項に記載の画像処理装置。
【請求項１１】
起動時間に応じて従量課金され、課金額や処理能力が異なる複数種の外部サーバと接続し、受信した入力データを前記外部サーバに送信し、前記外部サーバに印刷画像を生成させる画像処理装置の制御方法であって、
前記複数種の外部サーバの中から、各入力データのページ毎に振り分け先サーバを決定する振り分け先サーバ決定工程であって、当該ページを処理した際に課金額が最も低くなる外部サーバを、当該ページの振り分け先サーバとして決定する振り分け先サーバ決定工程を有することを特徴とする画像処理装置の制御方法。
【請求項１２】
請求項１１に記載の画像処理装置の制御方法をコンピュータに実行させるためのプログラム。
【請求項１３】
起動時間に応じて従量課金され、課金額が異なる複数種の外部サーバと接続し、受信した入力データを前記外部サーバに送信し、前記外部サーバに印刷画像を生成させる印刷装置であって、
前記複数種の外部サーバの中から、各入力データのページ毎に振り分け先サーバを決定する振り分け先サーバ決定部であって、当該ページを処理した際に他の外部サーバより課金額が低くなる外部サーバを、当該ページの振り分け先サーバとして決定する振り分け先サーバ決定部と、
前記振り分けサーバ決定部により決定された振り分け先サーバで生成された印刷画像を印刷する印刷部とを有することを特徴とする印刷装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数種類の外部サーバを利用して印刷画像を生成する画像処理装置、画像処理装置の制御方法及びプログラムに関する。
【背景技術】
【０００２】
デジタル印刷機の印刷速度向上に伴い、入力データを印刷データに変換するＲＩＰ処理（ＤＴＰソフトで作ったデータを、印刷機で印刷できるように網点化する処理）を高速化する技術が待望されている。つまり、印刷速度に対してＲＩＰ処理速度が低速であるので、印刷データ供給が間に合わず、印刷機が停止することがあり、これを回避する必要がある。
【０００３】
必要になった時にのみ、外部サーバを利用可能にする形態が存在する。この形態では、従量課金制であることが多く、サーバを利用可能にしている時間（起動させている時間）が課金対象となり、起動時間が長いほど課金額が高くなる。
【０００４】
たとえば、巨大メモリ搭載サーバでは、大きなサイズの入力データのＲＩＰ処理が高速になると考えられる。また、これらのサーバは、種類に応じて単位時間当たりの課金額が異なる。したがって、同じ入力データをＲＩＰ処理するにしても、どの種類のサーバを使用するかによって処理時間及び課金額が異なる。また、サーバ側で処理が必要になった場合、サーバの停止状態から処理可能状態に移行するまでに、所定の時間を必要とするので、直ぐにＲＩＰ処理を開始することはできない。どの時点でサーバを利用可能状態にし、どのサーバでどのデータを処理させるかを課金額の観点で最適化する技術が必要である。
【０００５】
印刷装置内部のＲＩＰ処理が間に合わない入力データがある場合に、ネットワーク上のサーバの中で、間に合わすことができる処理能力を具備するサーバに、ＲＩＰ処理させる技術が知られている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平１１−１７５２９４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかし、前記従来技術では、サーバの種類について考慮されているが、コストを下げる観点からサーバを決定していないので、ＲＩＰ処理させるサーバの種類や入力データによっては、コストが余分にかかることがあるという問題がある。
【０００８】
また、前記従来技術では、未処理入力データがどんなデータであるかを解析しない。よって、未処理入力データを処理するＲＩＰ装置の速度が極端に速い場合には、ＲＩＰ装置を必要以上に起動することがあるという問題がある。一方、未処理入力データを処理するＰＩＰ装置の速度が極端に遅い場合には、起動したＲＩＰ装置だけではＲＩＰ処理が間に合わないことがあるという問題がある。
【０００９】
すなわち、前記従来例では、プリンタエンジンの速度を維持しようとすると、サーバ利用コストを抑えることができないことがあるという問題がある。
【００１０】
本発明は、印刷装置内部の印刷画像を生成させる処理が印刷速度に間に合わない入力データを、ネットワーク上のサーバに処理させる場合、プリンタエンジンの速度を維持しつつ、サーバ利用コストを極力抑える画像処理装置を提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明の画像処理装置は、起動時間に応じて従量課金され、課金額が異なる複数種の外部サーバと接続し、受信した入力データを前記外部サーバに送信し、前記外部サーバに印刷画像を生成させる画像処理装置であって、前記複数種の外部サーバの中から、各入力データのページ毎に振り分け先サーバを決定する振り分け先サーバ決定部であって、当該ページを処理した際に他の外部サーバより課金額が低くなる外部サーバを、当該ページの振り分け先サーバとして決定する振り分け先サーバ決定部を有することを特徴とする。
【発明の効果】
【００１２】
本発明によれば、印刷装置内部の印刷画像を生成させる処理が印刷速度に間に合わない入力データを、ネットワーク上のサーバに処理させる場合、プリンタエンジンの速度を維持しつつ、サーバ利用コストを極力抑えることができるという効果を奏する。
【図面の簡単な説明】
【００１３】
【図１】印刷装置１０２を含むネットワーク１００の構成を示す図である。
【図２】外部サーバ群１０３に用意されているサーバ１０４の例を示す図である。
【図３】各サーバに対するコストと処理能力を示す図である。
【図４】印刷装置４０２を中心に具体例を示すブロック図である。
【図５】ジョブデータの一例を示す図である。
【図６】図５に示すジョブデータに基づいて、ＲＩＰと印刷を行う様子の図である。
【図７】ページの振り分け先サーバ変更によってサーバ数削減が可能となる例の図である。
【図８】ジョブ受信部４０５の処理の流れを示すフローチャートである。
【図９】ジョブ制御部４０７の処理の流れを示すフローチャートである。
【図１０】振り分け先サーバ決定部４０８の処理を示すフローチャートである。
【図１１−１】起動サーバ決定処理を示すフローチャートである。
【図１１−２】起動サーバ決定処理を示すフローチャートである。
【図１２】未使用時間・起動台数削減処理を示すフローチャートである。
【図１３】振り分け先サーバ起動・停止部４１５の処理のフローチャートである。
【図１４】サーバ通信部４１６と印刷画像送信部４１８とのフローチャートである。
【図１５】外部サーバ４１１〜４１３の処理を示すフローチャートである。
【図１６】起動サーバ決定処理をジョブ情報等を用いて実行した例を示す図である。
【図１７】各ページの印刷画像生成を実行した場合を示すタイムチャートである。
【図１８】更新された振り分け情報・起動サーバ情報を示す図である。
【図１９】実施形態２に係る印刷装置１９０２の構成を示すブロック図である。
【図２０】実施形態２においてサーバ情報保存部の保存情報を示す図である。
【図２１】ジョブ制御部１９０７の処理の流れを示すフローチャートである。
【図２２】振り分け先サーバ決定部１９０８における処理の流れを示す図である。
【図２３】実施形態２における各処理を示すタイムチャートである。
【図２４】起動サーバ決定処理の例を示す図である。
【図２５】実施形態３の印刷装置における制御の構成を示すブロック図である。
【図２６】振り分け先サーバ決定部２５０８の処理を示すフローチャートである。
【図２７】印刷装置１０２におけるハードウェア構成を示すブロック図である。
【発明を実施するための形態】
【００１４】
以下、添付図面を参照して本発明の好適な実施の形態を例示的に詳細に説明する。但し、この実施の形態に記載されている構成要素の相対配置、装置形状等は、あくまで例示であり、この発明の範囲をそれらのみに限定する趣旨のものではない。
【実施形態１】
【００１５】
図１は、実施形態１に係る印刷装置１０２を含むネットワーク１００の構成を示す図である。
【００１６】
図２７は、印刷装置１０２におけるハードウェア構成を示すブロック図である。印刷装置１０２は、起動時間に応じて従量課金され、課金額や処理能力が異なる複数種の外部サーバと接続し、受信した入力データを前記外部サーバに送信し、前記外部サーバに印刷画像を生成させる印刷装置である。なお、前記複数種の外部サーバは、外部サーバ群１０３を構成している。また、前記課金額は、以下ではコストということがある。
【００１７】
さらに、印刷装置１０２は、たとえばマイクロコンピュータ形態のＣＰＵ２７０３、制御プログラムや固定データを格納したＲＯＭ２７０４、ジョブ投入装置１０１から作業用データやサーバ情報テーブルを格納するＲＡＭ２７０５を有する。
【００１８】
ＲＯＭ２７０４は、ＣＰＵ２７０３が実行する各種制御プログラムやプリンタの各種動作に必要な固定データを格納する。たとえば、プリンタの記録（印刷）処理を実行するプログラムを記憶する。ＲＡＭ２７０５は、ＣＰＵ２７０３の作業エリアとして用いられたり、種々の受信データの一時格納領域として用いられたり、各種設定データを記憶させたりする。外部装置から送られてくる記録データ（印刷データ）、すなわち、後述する印刷エンジン部４０４で記録（印刷）される記録データは、ＲＡＭ２７０５に一時的に記憶される。
【００１９】
また、ＨＤＤ２７０６は、ジョブ投入装置１０１から受信したジョブデータや、クラウド上の外部サーバ群１０３中の外部サーバから受信した印刷画像データを格納する。外部用ＩＦとしては、ジョブ投入装置１０１からジョブデータを受信するジョブ管理用通信ＩＦ２７０２、外部サーバとのデータを送受信するデータ用通信ＩＦ２７０７、外部サーバに起動や停止を命令する制御用通信ＩＦ２７０８を有する。さらに、印刷装置１０２内の各ブロックは、システムバス２７１０によって接続されている。
【００２０】
ネットワーク１００において、ＣＰＵ２７０３は、ＰＣ等のジョブ投入装置１０１からジョブデータを受信し、クラウド上の外部サーバ群１０３のサーバ１０４にジョブデータを送信する。なお、サーバ１０４は、外部サーバと同義である。次に、サーバ１０４が、ジョブデータに基づいて印刷画像を生成する。さらに、ＣＰＵ２７０３は、ジョブ受信部４０５を介して、その印刷画像を受信し、印刷エンジン部４０４を介して、印刷を実行する。クラウド上の外部サーバ群１０３には、様々な種類のサーバ１０４が用意され、サーバ１０４は、その種類によって、処理能力や使用時間に対するコストが互いに異なる。
【００２１】
図２は、クラウド上の外部サーバ群１０３に用意されているサーバ１０４の種類の例を示す図である。たとえばサーバＡ２０１は、汎用的なサーバであり、サーバＢ２０２は、ＧＰＵを備え、画像処理が含まれるジョブデータを処理することが得意である。また、サーバＣ２０３は、メモリを潤沢に備え、大きなサイズのジョブデータ処理を得意とする。
【００２２】
図３は、各サーバに対するコストと処理能力を示す図である。サーバ毎に、単位時間当たりのコストや各オブジェクトに対する処理能力が異なる。
【００２３】
図４は、印刷装置４０２を中心に具体例を示すブロック図である。画像を印刷する印刷装置４０２において、ＰＣ等のジョブ投入装置４０１からのジョブデータを処理し、印刷する。
【００２４】
印刷装置４０２は、図１の印刷装置１０２に対応し、ジョブ投入装置４０１は、図１のジョブ投入装置１０１に対応している。印刷装置４０２は、コントローラ部４０３と印刷エンジン部４０４とを有する。ＣＰＵ２７０３は、コントローラ部４０３を介して、まずジョブ投入装置４０１からの受信データであるジョブデータを、ジョブ保存部４０６に保存する。続いて、ＣＰＵ２７０３は、ジョブ制御部４０７の指示に基づいて、ジョブデータの解析結果やサーバのコスト・処理能力に応じて、外部サーバ群４１０に含まれている外部サーバ４１１〜４１３の中から、起動させる外部サーバを決定し、そのサーバを起動する。この外部サーバ群４１０は、図１に示すクラウド上の外部サーバ群１０３に相当し、外部サーバ４１１〜４１３は、図１に示すサーバ１０４に相当する。
【００２５】
そして、ＣＰＵ２７０３は、ジョブ制御部４０７の指示に基づいて、ジョブ保存部４０６に保存されているジョブデータを、外部サーバ通信部４１６から外部サーバ４１１〜４１３に送信する。その後、ＣＰＵ２７０３は、印刷画像データが生成され次第、外部サーバ通信部４１６を介して、印刷画像データを受信し、印刷画像保存部４１７に、その印刷画像を格納した後に、印刷エンジン部４０４へ送信し、印刷する。
【００２６】
ＣＰＵ２７０３は、コントローラ部４０３から送信された印刷画像データに対して色変換等の処理を施した後に、印刷エンジン部４０４を介して、ロールシート等のメディアへ印刷する。
【００２７】
外部サーバ４１１〜４１３は、画像補正やＲＩＰ処理を行い、印刷画像データであるビットマップデータを作成する。ＲＩＰ処理は、一般的に、ジョブデータを解釈し、中間データを生成し、レンダリング処理を行うことによって、ビットマップデータを生成する処理である。
【００２８】
ＣＰＵ２７０３は、コントローラ部４０３において、ジョブ受信部４０５を介して、ジョブ投入装置４０１から受信したデータをジョブ保存部４０６に保存する。
【００２９】
図５は、ジョブデータの一例を示す図である。ジョブデータのヘッダー部分に、印刷開始時刻５０１やＲＩＰ処理開始時刻５０２等が記載されている。印刷開始時刻５０１とＲＩＰ処理開始時刻５０２は、ジョブ投入装置４０１等でスケジューリングされた時刻であり、印刷成果物の納品時期や他の印刷・ＲＩＰ作業、スプーラの空き容量等を踏まえて決定される時刻である。また、ジョブデータのデータ部分５０３は、ＪＰＥＧやＰＮＧ等の画像である場合や、ＰＤＦやＸＰＳ等のＰＤＬ記述言語である場合があり、実際に印刷させる画像データが含まれる。
【００３０】
図６は、図５に示すジョブデータに基づいて、ＲＩＰ処理と印刷を行う様子を示す図である。図６の横軸は、時間軸を示し、各ジョブのＲＩＰ処理開始時刻と印刷開始時刻とが、それぞれプロットされている。ＲＩＰ処理完了後に、各ジョブの印刷が実行される。図６（ａ）に示すように、印刷開始時刻よりもＲＩＰ処理が早く完了すれば、スケジュール通りに印刷されるが、図６（ｂ）に示すように、負荷が高いジョブがあれば、ＲＩＰ処理時間が長くなり、印刷処理の停止とスケジュールの遅れとが発生する。
【００３１】
ＣＰＵ２７０３は、ジョブ制御部４０７を介して、ジョブ保存部４０６に保存されているジョブデータのＲＩＰ処理開始時刻に基づいて、ＲＩＰ処理を行わせるサーバの決定処理実行を、振り分け先サーバ決定部４０８に指示する。
【００３２】
振り分け先サーバ決定部４０８は、ジョブ保存部４０６に保存され、ジョブ制御部４０７に対して処理が指示されたジョブに対し、ページ毎に解析処理を実行する。さらに、解析結果と、サーバ情報保存部４０９に保存されている外部サーバ群４１０の中の外部サーバ４１１〜４１３のコスト・処理能力情報とに基づいて、ＣＰＵ２７０３が、ページ毎に最低コストで処理できる振り分け先サーバを決定する。具体的には、まず解析結果と各サーバの処理能力とに基づいて、各サーバで処理したときの処理時間を、ページ毎に予測する。続いて、各サーバでの処理予測時間と、そのサーバの単位時間当たりのコストとを掛け合わせ、掛け合わせたコストが一番安いサーバを、ジョブを振り分ける振り分け先サーバとして決定する。
【００３３】
ここで、ページに対するコストが一番安いサーバが複数ある場合における振り分け先サーバを決定する方法について説明する。コストが同じサーバが複数存在する場合、処理予測時間が一番短いサーバを、優先して振り分け先サーバとして決定する。このように、コストが同じ複数のサーバのうちで、処理予測時間が短いサーバを、優先して振り分け先サーバとして決定するのは、印刷開始までの時間をより長く確保するためである。
【００３４】
また、コストも処理予測時間も同じであるサーバが複数ある場合、この複数のサーバのうちで、既に起動予定になっているサーバ（実行予定のページがあるサーバ）を、優先して振り分け先サーバとして決定する。これは、起動予定がないサーバよりも、既に起動予定になっているサーバに振り分けることによって、起動処理の回数を削減することができ、これによって、削減されたサーバにおけるコストを削減し、総合的なコストを削減するためである。
【００３５】
コストも処理予測時間も同じである複数のサーバのどれも起動予定がなければ、現在決定しようとしているページの振り分け先サーバの決定を、一旦保留にする。そして、他のページの全てについて、振り分け先サーバを決定した後に、振り分け先サーバの決定を保留したページについて、振り分け先サーバを再度決定する。
【００３６】
このように、コストも処理予測時間も同じであるサーバがどれも起動予定でない場合、振り分け先サーバの振り分け先サーバ決定を一旦保留するのは、保留後にサーバ起動が予定されたサーバを、振り分け先サーバとして決定できる可能性が発生するからである。そして、保留後にサーバ起動が予定されたサーバを、振り分け先サーバの決定を保留したページについての振り分け先サーバに決定する。このようにすれば、起動予定サーバ種の数を少なくできる可能性があり、総合的なコストの上昇を防止することができる。
【００３７】
なお、振り分け先サーバ決定を一旦保留した後に、コスト・処理予測時間が変わらない複数のサーバのうちのいずれのサーバについて、サーバ起動が予定されなければ、振り分け先サーバの判断を先に実行したサーバを、振り分け先サーバとして決定する。
【００３８】
サーバ情報保存部４０９は、図３に示すようなサーバ毎のコスト情報（課金情報）やオブジェクトごとの処理時間等のサーバ情報を保存している。実施形態１では，オブジェクトごとの処理時間に基づいて、処理時間を予測しているが、処理時間の予測方法については、他の周知の方法等を用いてもよい。前記のようにして決定したページ毎の振り分け先サーバの情報を、ＣＰＵ２７０３が、振り分け先サーバ決定部４０８を介して、振り分け先サーバ情報保存部４１４に保存する。
【００３９】
さらに、ＣＰＵ２７０３は、振り分け先サーバ決定部４０８を介して、前記のサーバ起動台数決定後に、振り分け先サーバ情報保存部４１４に再度保存された各ページの振り分け先サーバ情報を確認する。そして、各ページの振り分け先サーバを変更することによって、処理サーバの数及びコストを削減することが可能であれば、ＣＰＵ２７０３は、振り分け先サーバを変更し、更新後の振り分け先サーバ情報を、振り分け先サーバ情報保存部４１４に保存する。
【００４０】
図７は、ページの振り分け先サーバ変更によってサーバ数を削減することが可能な例を示す図である。図７において、その横軸は、時間を表している。時間７０１は、サーバＡ上でページ１の印刷画像生成処理を実行中の時間を示し、時間７０２は、サーバＢ上でページ２の印刷画像生成処理を実行中の時間を示す。振り分け先サーバ情報保存部４１４に保存されている情報に基づいて、各ページの振り分け先サーバが決定されている。また、時刻７０３は、ＲＩＰ処理を開始する時刻であり、時刻７０４は、ジョブの印刷を開始する時刻であり、ジョブの印刷を開始する時刻までに、印刷画像生成処理を完了する必要がある。
【００４１】
課金単位時間７０５は、ページ１の印刷画像生成処理実行時間７０１やページ２の印刷画像生成処理実行時間７０２よりも長いので、サーバＡ、サーバＢともに待機時間７０６が生じている。そして、待機時間７０６も課金対象時間であるので、待機時間７０６の分だけ無駄に課金されている。ここで、ページ１をサーバＢで処理し、または、ページ２もサーバＢで処理させるように振り分け先サーバを更新すれば、サーバ起動数を削減することができ、また、待機時間を削減することができる。
【００４２】
続いて、ＣＰＵ２７０３は、振り分け先サーバ起動・停止部４１５を介して、振り分け先サーバ情報保存部４１４に保存されている情報に基づいて、外部サーバ４１１〜４１３を起動する。ＣＰＵ２７０３は、振り分け先サーバ起動・停止部４１５を介して、外部サーバ４１１〜４１３の停止処理も行う。ＣＰＵ２７０３は、振り分け先サーバ情報保存部４１４に保存されている情報に基づいて、各サーバに未処理ジョブがあるかどうかを確認し、未処理ジョブがないサーバに、停止命令を発行する。
【００４３】
ＣＰＵ２７０３は、外部サーバ４１１〜４１３を起動した後に、ジョブ制御部４０７の指示に基づいて、外部サーバ通信部４１６を介して、外部サーバ４１１〜４１３にジョブデータを送信する。まず、ＣＰＵ２７０３は、外部サーバ通信部４１６を介して、ジョブデータをジョブ保存部４０６から取得し、振り分け先サーバ情報保存部４１４に保存されている振り分け先サーバ情報に基づいて、ページ毎に外部サーバ４１１〜４１３にページを送信する。
【００４４】
外部サーバ４１１〜４１３は、印刷装置４０２から受信したページデータに基づいて印刷画像を生成し、印刷装置４０２に送信する。ＣＰＵ２７０３は、外部サーバ通信部４１６を介して、外部サーバ４１１〜４１３から受信した印刷画像を、印刷画像保存部４１７に保存する。そして、ＣＰＵ２７０３は、印刷画像保存部４１７から印刷画像を取得し、印刷画像送信部４１８を介して、印刷エンジン部４０４へその印刷画像を送信する。
【００４５】
次に、コントローラ部４０３の各処理部での処理の流れについて説明する。なお、以下で示す各処理は、図２７に示したＣＰＵ２７０３がＲＯＭ２７０４に格納されたプログラムをＲＡＭ２７０５にロードすることによって実行される。
【００４６】
図８は、ジョブ受信部４０５の処理の流れを示すフローチャートである。図８に示すフローチャートに関わるプログラムは、ＲＯＭ２７０４に記憶され、ＣＰＵ２７０３がＲＡＭ２７０５にロードし、実行する。
【００４７】
まず、ＣＰＵ２７０３は、ジョブ受信部４０５を介して、ジョブ投入装置４０１から受信したジョブが存在するか否かを確認する（Ｓ８０１）。受信したジョブが存在すれば（Ｓ８０１でＹＥＳの場合）、ＣＰＵ２７０３は、ジョブを受信し（Ｓ８０２）、続いて、そのジョブをジョブ保存部４０６に保存する（Ｓ８０３）。受信したジョブが存在しなければ（Ｓ８０１でＮＯ）、処理を終了する。
【００４８】
図９は、ジョブ制御部４０７の処理の流れを示すフローチャートである。図９に示すフローチャートに対応するプログラムがＲＯＭ２７０４に記憶され、ＣＰＵ２７０３がＲＡＭ２７０５を使ってプログラムを実行することによって、図９に示すフローチャートが実行される。
【００４９】
まず、ＣＰＵ２７０３は、ジョブ制御部４０７を介して、ジョブ保存部４０６からジョブのＲＩＰ処理開始時刻を取得する（Ｓ９０１）。続いて、Ｓ９０１で、ＣＰＵ２７０３は、取得した開始時刻と現在時刻とを比較し、直ぐにＲＩＰ処理を開始する必要のあるジョブが存在するか否かを判定する（Ｓ９０２）。直ぐにＲＩＰ処理を開始するジョブが存在しなければ（Ｓ９０２でＮＯ）、Ｓ９０１に戻り、直ぐにＲＩＰ処理を開始するジョブが発生するまで処理を繰り返す。直ぐにＲＩＰ処理を開始するジョブが存在すれば（Ｓ９０２でＹＥＳ）、ＣＰＵ２７０３は、振り分け先サーバ決定部４０８及び振り分け先サーバ起動・停止部４１５に、処理するサーバ決定とサーバの起動・停止とを指示する（Ｓ９０３）。ＣＰＵ２７０３は、外部サーバ４１１〜４１３へのデータ送信を、外部サーバ通信部４１６に指示する（Ｓ９０４）。次に、ＣＰＵ２７０３は、ジョブ保存部４０６に未処理ジョブデータが存在するか否かを判断する（Ｓ９０５）。未処理ジョブが存在すれば（Ｓ９０５でＹＥＳ）、Ｓ９０１へ戻り、次のジョブの処理を開始する。未処理ジョブが存在しなければ（Ｓ９０５でＮＯ）、ＣＰＵ２７０３は、サーバの停止を、振り分け先サーバ起動・停止部４１５に指示し（Ｓ９０６）、処理を終了する。
【００５０】
図１０は、振り分け先サーバ決定部４０８の処理の流れを示すフローチャートである。図１０に示すフローチャートに関わるプログラムは、ＲＯＭ２７０４に記憶され、ＣＰＵ２７０３によってＲＡＭ２７０５にロードされ実行される。
【００５１】
まず、ＣＰＵ２７０３は、振り分け先サーバ決定部４０８を介して、ジョブ制御部４０７に実行を指示されたジョブを、ジョブ保存部４０６から取得する（Ｓ１００１）。続いて、ＣＰＵ２７０３は、取得したジョブをページ毎に解析する（Ｓ１００２）。次に、ＣＰＵ２７０３は、解析結果と各サーバのコスト・処理能力に基づいて、起動サーバを決定する（Ｓ１００３）。Ｓ１００３の処理については、図１１−１、図１１−２を用いて詳細に説明する。続いて、ＣＰＵ２７０３は、Ｓ１００３で決定した各サーバの処理予測時間に基づいて、各サーバの課金対象時間を算出する（Ｓ１００４）。具体的には、下記式によって算出する。なお、ｃｅｉｌ関数は、小数点以下切り上げを行う関数である。
【００５２】
課金対象時間＝ｃｅｉｌ（処理予測時間／課金発生の単位時間）×課金発生の単位時間
最後に、サーバの未使用時間とサーバの起動台数とを削減する処理を行う（Ｓ１００５）。Ｓ１００５の処理については、図１２を用いて詳細に説明する。
【００５３】
図１１−１、図１１−２は、振り分け先サーバ決定部４０８の処理の１つである振り分け先サーバ決定処理を示すフローチャートである。図１１−１、図１１−２に示すフローチャートに関わるプログラムは、ＲＯＭ２７０４に記憶され、ＣＰＵ２７０３によってＲＡＭ２７０５にロードされ実行される。
【００５４】
この振り分け先サーバ決定処理では、課金の単位時間の長さを考慮せずに、ページ毎にどのサーバで処理させるのが最もコストが低くなるのかによって、振り分け先サーバを決定する。コストが同じサーバが複数ある場合は、図４の説明時に記載したとおり、処理時間、サーバの起動予定の有無に基づいて、振り分け先サーバを決定する（Ｓ１１０７〜Ｓ１１１４部分）。
【００５５】
まず、ＣＰＵ２７０３は、振り分け先サーバ決定部４０８を介して、外部サーバ群４１０に存在する全てのサーバ種の総処理時間を０に初期化する（Ｓ１１０１）。ＣＰＵ２７０３は、印刷画像生成処理を行うジョブの全ページに対して、振り分け先サーバが決定済みか否かを判断する（Ｓ１１０２）。振り分け先未決定のページがあれば（Ｓ１１０２でＹＥＳ）、注目ページについて、以下の処理を実行する。なお、前記「注目ページ」は、振り分け先サーバが決まっていないページである。
【００５６】
ＣＰＵ２７０３は、全種類のサーバについて、注目ページのコストを計算済みか否かを判断する（Ｓ１１０３）。注目ページのコストを計算済みでなければ（Ｓ１１０３でＮＯ）、注目サーバについて、以下の処理を実行する。前記「注目サーバ」は、注目ページのコストを計算済みでないサーバである。
【００５７】
まず、ＣＰＵ２７０３は、注目ページの最小コストを∞に初期化し（Ｓ１１０４）、続いて、注目ページの解析結果と注目サーバの処理能力とに基づいて、注目ページを注目サーバで、印刷画像生成処理した場合の処理時間を予測する（Ｓ１１０５）。そして、ＣＰＵ２７０３は、注目サーバの単位時間当たりのコストと処理予測時間との積を計算し、この計算結果を、注目サーバのコストとする（Ｓ１１０６）。
【００５８】
次に、注目ページの最小コスト（既に求めたコストのうちで最小のコスト）が、Ｓ１１０６にて算出された注目サーバのコストと等しいか否かを判断する（Ｓ１１０７）。両コストが互いに等しくなければ（Ｓ１１０７でＮＯ）、ＣＰＵ２７０３は、既に求めた注目ページの最小コストが、Ｓ１１０６にて算出された注目サーバのコストよりも大きいか否かを判断する（Ｓ１１０８）。既に求めた注目ページの最小コストが大きければ（Ｓ１１０８でＹＥＳ）、Ｓ１１０６にて算出対象となった注目サーバは、注目ページを最安コストで処理できるサーバである。したがって、ＣＰＵ２７０３は、下記の処理を実行する（Ｓ１１０９）。
・注目ページの振り分け先サーバを注目サーバに更新する。
・注目ページの最小コストサーバ（既にコストを求めた注目サーバのうちでコストが最小であるサーバ）を、注目サーバに更新する。
・注目ページの最小コストを、注目サーバのコストに更新する。
・最小コストサーバの処理時間を、注目サーバでの処理予測時間に更新する。
【００５９】
最小コストが大きくなければ（Ｓ１１０８でＮＯ）、Ｓ１１０３に戻り、他のサーバを注目サーバとして処理を実行する。
【００６０】
最小コストと注目サーバのコストとが等しければ（Ｓ１１０７でＹＥＳ）、ＣＰＵ２７０３は、最小コストサーバの処理時間と今コストを求めた注目サーバでの処理予測時間とが等しいか否かを判断する（Ｓ１１１０）。等しくなければ（Ｓ１１１０でＮＯ）、ＣＰＵ２７０３は、最小コストサーバの処理時間が、注目サーバでの処理予測時間よりも長いか否かを判断する（Ｓ１１１１）。最小コストサーバの処理時間が長ければ（Ｓ１１１１でＹＥＳ）、注目サーバは最小コストサーバよりも、同コストで処理時間が短いサーバであるので、Ｓ１１０９の前記処理を実行する。最小コストサーバの処理時間が長くなければ（Ｓ１１１１でＮＯ）、ＣＰＵ２７０３は、Ｓ１１０３に戻り、他のサーバを注目サーバとして処理を実行する。
【００６１】
最小コストサーバの処理時間と注目サーバでの処理予測時間とが等しければ（Ｓ１１１０でＹＥＳ）、ＣＰＵ２７０３は、注目サーバにはページを振り分ける予定が既にあるか否かを判断する（Ｓ１１１２）。振り分け予定のページがあれば（Ｓ１１１２でＹＥＳ）、注目サーバは、最小コストサーバと比較して、コストや処理時間は等しいが、既に起動予定があるサーバであるので、Ｓ１１０９の前記処理を実行する。
【００６２】
注目サーバにページを振り分ける予定がまだなければ（Ｓ１１１２でＮＯ）、ＣＰＵ２７０３は、注目サーバに対する注目ページの振り分け先サーバ決定処理が、１回目であるかどうかを判断する（Ｓ１１１３）。振り分け先サーバ決定処理が１回目であれば（Ｓ１１１３でＹＥＳ）、他のページの振り分け先サーバ決定後に、振り分け先サーバを、再度決定処理する。この場合、ＣＰＵ２７０３は、注目ページの振り分け先サーバを一旦保留とし、振り分け先サーバを未決定とする（Ｓ１１１４）。そして、他のサーバを注目サーバとして、処理を繰り返すために、Ｓ１１０３へ戻る。決定処理が２回目であり（Ｓ１１１３でＮＯ）、起動処理回数を削減できるサーバがない場合には、注目サーバ（振り分け先サーバの決定を最初に行ったサーバ）を最小コストサーバに設定するために、Ｓ１１０９の前記処理を実行する。
【００６３】
全種類のサーバについて注目ページのコスト計算が済んでいれば（Ｓ１１０３でＹＥＳ）、ＣＰＵ２７０３は、注目ページの振り分け先サーバが決定済みかどうか否かを判断する（Ｓ１１１５）。決定済みであれば（Ｓ１１１５でＹＥＳ）、ＣＰＵ２７０３は、最小コストサーバの総処理時間を、最小コストサーバの総処理時間と最小コストサーバの処理時間との和に更新する（Ｓ１１１６）。さらに、ＣＰＵ２７０３は、注目ページの振り分け先サーバを、振り分け先サーバ情報保存部４１４に保存し（Ｓ１１１７）、次のページの振り分け先サーバを決定するために、Ｓ１１０２へ戻る。注目ページの振り分け先サーバが未決定であれば（Ｓ１１１５でＮＯ）、ＣＰＵ２７０３は、注目ページのページ決定順を、未決定ページの最後に回し（Ｓ１１１８）、次のページの振り分け先サーバを決定するために、Ｓ１１０２へ戻る。
【００６４】
振り分け先未決定のページがなければ（Ｓ１１０２でＮＯ）、ＣＰＵ２７０３は、全種類のサーバの各サーバ種について、起動台数が決定済みか否かを判断する（Ｓ１１１９）。なお、図３に示すサーバのコスト、１フォント処理時間、１グラフィックス処理時間、１画像処理時間等、サーバ情報（サーバの能力）が同じものを、種類が同じサーバという。全種類の各サーバ種について、起動台数が決定済みでなければ（Ｓ１１１９でＮＯ）、注目サーバについて、ＲＩＰ処理が印刷に間に合うように、以下の処理を実行する。なお、前記注目サーバは、振り分け先サーバが未決定であるサーバのうちの１つのサーバである。つまり、前記注目サーバは、注目ページのコストを計算済みでないサーバのうちの１つのサーバである。
【００６５】
まず、ＣＰＵ２７０３は、所定の注目サーバの総処理時間が、ＲＩＰ処理にかけられる時間（ＲＩＰ処理開始から印刷開始までの時間）よりも短いかどうかを判断する（Ｓ１１２０）。長ければ（Ｓ１１２０でＮＯ）、注目サーバの総処理時間が、ＲＩＰ処理にかけられる時間を下回るように、注目サーバの起動台数を増加し、Ｓ１１１９に戻り、他のサーバについて処理を続ける。注目サーバの総処理時間が、ＲＩＰ処理にかけられる時間よりも短ければ（Ｓ１１２０でＹＥＳ）、注目サーバの起動台数を１に決定し（Ｓ１１２２）、Ｓ１１１９に戻り、他のサーバに対して処理を続ける。
【００６６】
全種類のサーバについて、起動台数決定済みであれば（Ｓ１１１９でＹＥＳ）、処理を終了する。
【００６７】
図１２は、振り分け先サーバ決定部４０８の処理の１つである未使用時間・起動台数削減処理を示すフローチャートである。図１２に示すフローチャートに関わるプログラムは、ＲＯＭ２７０４に記憶され、ＣＰＵ２７０３によってＲＡＭ２７０５にロードされ実行される。
【００６８】
未使用時間・起動台数削減処理では、図１１−１、図１１−２に示す起動サーバ決定処理での各ページの振り分け先サーバについて、単位時間の長さを考慮し、単位時間が長く、サーバの未使用時間が大きい場合に、ページ振り分け先サーバを組み替える。これによって、起動台数を削減する。
【００６９】
まず、ＣＰＵ２７０３は、振り分け先サーバ決定部４０８を介して、振り分け先サーバ情報保存部４１４から、図１１−１、図１１−２で決定された各サーバの総処理時間を取得する（Ｓ１２０１）。続いて、ＣＰＵ２７０３は、サーバの識別子Ｎを１に初期化する（Ｓ１２０２）。さらに、ＣＰＵ２７０３は、総処理時間が閾時間に足りないサーバの数よりも、サーバの識別子Ｎが、大きいか否かを判断する（Ｓ１２０３）。ここで、前記「閾時間」は、課金の単位時間のうちで、処理中の時間として許容される時間である。たとえば、３０秒の単位時間に対して８０％以上の時間は処理して欲しい場合、閾時間は２４秒である。総処理時間が閾時間に足りないサーバの数よりも、サーバの識別子Ｎが大きい場合（Ｓ１２０３でＹＥＳ）、起動サーバの削減が既に完了しているので、処理を終了する。総処理時間が閾時間に足りないサーバの数よりも、サーバの識別子Ｎが小さければ（Ｓ１２０３でＮＯ）、Ｎ番目に単位時間のコストが高いサーバを、高コストサーバとして設定する（Ｓ１２０４）。続いて、高コストサーバで処理予定のページをジョブ保存部４０６から取得する（Ｓ１２０５）。
【００７０】
次に、サーバの識別子Ｍ（識別子Ｎとは異なる識別子）を、１に初期化する（Ｓ１２０６）。続いて、ＣＰＵ２７０３は、サーバの識別子Ｍが、起動予定サーバ数よりも大きいか否かを判断する（Ｓ１２０７）。小さければ（Ｓ１２０７でＮＯ）、ＣＰＵ２７０３は、低コストサーバとして、単位時間当たりのコストＭ番目に低いサーバを設定し（Ｓ１２０８）、低コストサーバの仮総処理時間として、低コストサーバの総処理時間を設定する（Ｓ１２０９）。
【００７１】
続いて、ＣＰＵ２７０３は、Ｓ１２０５で取得した全ページについて、他サーバへ振り分ける検討を再び実行したか否かを判断する（Ｓ１２１０）。まだ、再検討していなければ（Ｓ１２１０でＮＯ）、低コストサーバで注目ページを処理した場合の処理時間を予測する（Ｓ１２１１）。さらに、その処理予測時間と低コストサーバの仮総処理時間との和（処理予測時間を加算して求めた新たな仮総処理時間）が、Ｓ１００４で算出した課金対象時間よりも短いかどうかを判断する（Ｓ１２１２）。Ｓ１００４で算出した課金対象時間よりも、前記和の時間が長ければ（Ｓ１２１２でＮＯ）、Ｓ１２１０に戻り、次のページについて処理を実行する。ＣＰＵ２７０３は、Ｓ１００４で算出した課金対象時間よりも、前記和の時間が短ければ（Ｓ１２１２でＹＥＳ）、注目ページの仮振り分け先サーバとして低コストサーバを設定する（Ｓ１２１３）。そして、ＣＰＵ２７０３は、低コストサーバの仮総処理時間に、注目ページの処理予測時間を足し（Ｓ１２１４）、Ｓ１２１０に戻る。
【００７２】
ＣＰＵ２７０３は、全ページに対して、振り分け先サーバの再検討を完了した場合（Ｓ１２１０でＹＥＳ）、サーバの識別子Ｍを１つ増加させ（Ｓ１２１５）、次のサーバについて、再割り当て可能なページがあるかどうかを判断するために、Ｓ１２０７に戻る。
【００７３】
サーバの識別子Ｍが起動予定のサーバ数よりも大きければ（Ｓ１２０７でＹＥＳ）、高コストサーバのページの再振り分けが可能かどうかの判断を、全ページについて完了している。したがって、ＣＰＵ２７０３は、全ページが他サーバに振り分け可能か否かを判断する（Ｓ１２１６）。全ページが他サーバに振り分け可能であれば（Ｓ１２１６でＹＥＳ）、高コストサーバで処理を予定しているページの振り分け先サーバを、仮振り分け先サーバに再設定する（Ｓ１２１７）。続いて、Ｓ１２１７で振り分け先サーバとして再設定されたサーバの総処理時間を、仮総処理時間に再設定する（Ｓ１２１８）。さらに、高コストサーバ（Ｎ番目に単位時間のコストが高いサーバ）で実行させるページが無くなったので、高コストサーバの起動を取り消す（Ｓ１２１９）。
【００７４】
全ページのそれぞれのページを、他サーバへ振り分けることが不可能であれば（Ｓ１２１６でＮＯ）、ＣＰＵ２７０３は、次のサーバを削減することができるかどうかを判断するために、サーバの識別子Ｎを１増やし（Ｓ１２２０）、Ｓ１２０３へ戻る。
【００７５】
処理時間が閾時間に足りないサーバの全てについて、再振り分けの検討が完了すれば（Ｓ１２０３でＹＥＳ）、ＣＰＵ２７０３は、更新した起動サーバ情報と振り分け先サーバ情報とを振り分け先サーバ情報保存部４１４へ保存し（Ｓ１２２１）、処理を終了する。
【００７６】
図１３は、振り分け先サーバ起動・停止部４１５の処理を示すフローチャートである。図１３に示すフローチャートに関わるプログラムは、ＲＯＭ２７０４に記憶され、ＣＰＵ２７０３によってＲＡＭ２７０５にロードされ実行される。
【００７７】
振り分け先サーバ起動・停止部４１５は、起動必要数よりも、注目サーバ種の起動中数が多ければ、起動中のサーバであって起動を必要としないサーバを停止する。また、振り分け先サーバ起動・停止部４１５は、起動中数よりも起動必要数が多ければ、起動必要数から起動中数を差し引いた不足分のサーバを起動するように、起動命令を発行する。
【００７８】
まず、ＣＰＵ２７０３は、振り分け先サーバ起動・停止部４１５を介して、各ページの振り分け先サーバ情報を、振り分け先サーバ情報保存部４１４から取得する（Ｓ１３０１）。さらに、外部サーバ群４１０の中の外部サーバ４１１〜４１３の全てについて、起動・停止処理を実行済みか否かを判断する（Ｓ１３０２）。起動・停止処理を実行済みであれば（Ｓ１３０２でＹＥＳ）、処理を終了する。ＣＰＵ２７０３は、起動・停止処理を実行済みでなければ（Ｓ１３０２でＮＯ）、注目サーバ種で処理予定のジョブがあるか否かを判断する（Ｓ１３０３）。なお、前記「注目サーバ種」は、起動・停止処理が実行済みでないサーバ種である。また、サーバのコスト、１フォント処理時間、１グラフィックス処理時間、１画像処理時間等、サーバ情報（サーバの能力）が同じものが、同一のサーバ種である。
【００７９】
ＣＰＵ２７０３は、処理予定のジョブがなければ（Ｓ１３０３でＮＯ）、処理を続行する必要がないので、注目サーバ種の全サーバについて、停止命令を発行する（Ｓ１３０４）。注目サーバ種で処理予定のジョブがあれば（Ｓ１３０３でＹＥＳ）、ＣＰＵ２７０３は、注目サーバ種の起動必要数と、そのサーバ種の起動中のサーバの数とを比較する（Ｓ１３０５）。
【００８０】
注目サーバ種の起動必要数が起動中数と同じ（Ｓ１３０５で起動中サーバ数と同じ）であれば、そのサーバ種について起動、停止する必要がないので、次のサーバ種について処理を実行するために、Ｓ１３０２に戻る。注目サーバ種の起動中数が起動必要数よりも多ければ（Ｓ１３０５で起動中サーバ数より少なければ）、起動中のサーバであって起動を必要としないサーバは、過剰に起動しているサーバである。この過剰分のサーバを停止するように、ＣＰＵ２７０３は、停止命令を発行し（Ｓ１３０６）、Ｓ１３０２に戻る。起動必要数が起動中数よりも多ければ（Ｓ１３０５で起動中サーバ数より多い）、起動必要数から起動中数を差し引いた不足分のサーバを起動するように、ＣＰＵ２７０３は、起動命令を発行し（Ｓ１３０７）、Ｓ１３０２に戻る。
【００８１】
図１４は、外部サーバ通信部４１６と印刷画像送信部４１８との処理を示すフローチャートである。図１４に示すフローチャートに関わるプログラムは、ＲＯＭ２７０４に記憶され、ＣＰＵ２７０３によってＲＡＭ２７０５にロードされ実行される。
【００８２】
まず、ＣＰＵ２７０３は、外部サーバ通信部４１６を介して、振り分け先サーバ情報保存部４１４から、各ページの外部サーバ４１１〜４１３の振り分け先サーバ情報を取得する（Ｓ１４０１）。続いて、ＣＰＵ２７０３は、ジョブ保存部４０６から、振り分け先サーバで処理するジョブを取得する（Ｓ１４０２）。さらに、ＣＰＵ２７０３は、振り分け先サーバ情報保存部４１４の情報に基づいて、外部サーバ４１１〜４１３へ１ページずつ送信する（Ｓ１４０３）。続いて、ＣＰＵ２７０３は、印刷画像生成が完了したページから順に、外部サーバ４１１〜４１３から印刷画像データを受信し（Ｓ１４０４）、その印刷画像データを、印刷画像保存部４１７に保存する（Ｓ１４０５）。最後に、ＣＰＵ２７０３は、印刷画像保存部４１７から印刷画像データを取得し、印刷画像送信部４１８を介して、印刷エンジン部４０４へ送信し（Ｓ１４０６）、処理を終了する。
【００８３】
図１５は、外部サーバ４１１〜４１３の処理を示すフローチャートである。図１５に示すフローチャートに関わるプログラムは、ＲＯＭ２７０４に記憶され、ＣＰＵ２７０３によってＲＡＭ２７０５にロードされ実行される。
【００８４】
外部サーバ４１１〜４１３は、印刷装置４０２から起動命令が発行されるまでは停止状態である。外部サーバ４１１〜４１３が起動命令を受信していなければ（Ｓ１５０１でＮＯ）、ＣＰＵが、起動命令を受信するまで、Ｓ１５０１で、起動命令の受信を待つ。外部サーバ４１１〜４１３が起動命令を受信すると（Ｓ１５０１でＹＥＳ）、起動命令が発行された外部サーバは、起動処理を実行し（Ｓ１５０２）、ページを印刷装置４０２から受信する（Ｓ１５０３）。次に、ページデータに基づいて、ＣＰＵは、印刷画像を生成し（Ｓ１５０４）、その印刷画像を印刷装置４０２へ送信する（Ｓ１５０５）。続いて、ＣＰＵは、印刷装置４０２から停止命令を受信したか否かを判断する（Ｓ１５０６）。停止命令を受信していなければ（Ｓ１５０６でＮＯ）、印刷装置から送信されるページデータを受信するために、Ｓ１５０３へ戻る。印刷装置４０２から停止命令を受信したら（Ｓ１５０６でＹＥＳ）、処理を終了し、停止状態へ移行する。
【００８５】
図１６は、振り分け先サーバ決定部４０８の処理の１つである起動サーバ決定処理の例を、ジョブ情報やサーバ情報を用いて処理した場合の例を示す図である。ジョブ保存部４０６に保存された入力データ１６０１のヘッダーに格納されるＲＩＰ処理開始時刻が到来すると、ＣＰＵ２７０３は、ジョブ制御部４０７を介して実行開始を指示する。
【００８６】
ＣＰＵ２７０３は、振り分け先サーバ決定部４０８を介して、まず、入力データ１６０１に対してページ毎に解析処理を実行し、解析結果１６０２を得る。解析結果１６０２には、各ページに含まれるオブジェクト情報が記録されている。前記オブジェクト情報は、たとえば、ＰＤＦに文字が含まれていることを示す情報とか、存在している画像の枚数を示す情報等である。
【００８７】
一方、サーバ情報保存部４０９には、サーバ毎にコストや処理能力を記録したサーバ情報１６０３が格納されている。サーバ情報１６０３に示すように、サーバ毎にコストや処理能力が異なるのは、各サーバでハードウェアスペックが異なるためである。たとえば、サーバＡは、一般的な処理能力のサーバであり、サーバＢは、ＧＰＵを搭載しているので他のサーバに対して画像処理が高速であるが、その分コストが高い。またサーバＣは、メモリが潤沢に搭載され、並列処理が得意でグラフィックスの処理が高速であるが、その分コストが高い、等を想定している。
【００８８】
この解析結果１６０２とサーバ情報１６０３とのオブジェクトごとの処理時間に基づいて、ＣＰＵ２７０３が、各ページの処理時間をサーバ毎に算出し、処理予測時間１６０４を取得する。たとえば、ページ３をサーバＢで処理する場合、ページ３には画像が“２枚”含まれ、サーバＢは、１画像を“１０秒”で処理可するので、処理予測時間１６０４に示すように、その処理予測時間は、２枚×１０秒＝２０秒である。
【００８９】
この処理予測時間１６０４とサーバ情報１６０３のコストとに基づいて、ＣＰＵ２７０３が、処理コスト１６０５を算出する。サーバ情報１６０３に示すように、サーバＢを使用した場合のコストは、“３０秒あたり３０円”である。したがって、ページ３をサーバＢで処理した場合のコストは、２０秒×３０円／３０秒＝２０円である。
【００９０】
各ページを各サーバで処理した際のコストを計算すると、どのサーバで処理した場合に最安コストになるかが、ページ毎に分かる。処理コスト１６０５に示す表では、太字で表示し下線を付したものが、ページ毎の最安コストである。つまり、ページ１はサーバＡで、ページ２はサーバＣで、ページ３とページ４はサーバＢで処理すると、最安コストになるので、ページ１、２、３、４をそれぞれサーバＡ、Ｃ、Ｂ、Ｂで処理することを決定する。ところで、ページ２で、コストが同じであるのに、サーバＣを振り分け先サーバとして決定する理由は、サーバＣに処理させると、処理時間が短いためである。このように、コストが同じである場合は、処理予測時間の短いサーバに処理させる。
【００９１】
表１６０６は、起動させるサーバについて、処理させるページ、処理予測時間、起動台数、課金対象時間をまとめた表である。
【００９２】
次に、同一のサーバ種における起動台数の算出方法について説明する。同一のサーバ種における起動台数は、印刷開始に間に合わせるために処理を必要とするサーバの台数である。
【００９３】
本例では、処理予測時間は、サーバ種Ａのサーバで９秒、サーバ種Ｂのサーバで５０秒、サーバ種Ｃのサーバで３０秒であり、ＲＩＰ処理にかけられる時間６０秒よりも全て短いので、サーバ種Ａ、Ｂ、Ｃのそれぞれにおいて、サーバ起動数は１台で足りる。なお、サーバＡ、サーバＢ、サーバＣは、通常はそれぞれ１台のサーバであるが、サーバ種として表現する場合には、サーバ種Ａ、サーバ種Ｂ、サーバ種Ｃと記載する。
【００９４】
ところで、ＲＩＰ処理にかけることができる時間が仮に３０秒であったとし、サーバ種Ｂにおけるサーバを１台だけ設定すると、サーバ種Ｂの処理予測時間５０秒が、ＲＩＰ処理にかけられる時間３０秒を超えるので、印刷処理の停止を招く。この印刷処理停止を防止するために、サーバ種Ｂのサーバを２台起動させ、そのうちの１台でページ２を処理させ、もう１台でページ３を処理させれば、ＲＩＰ処理開始から印刷開始までに、ＲＩＰ処理を完了させ、印刷処理の停止を防ぐことができる。
【００９５】
続いて、課金対象時間の算出方法について説明する。サーバＡでは、処理予測時間が９秒であり、課金対象の単位時間は、３０秒であるので、ｃｅｉｌ（９秒／３０秒）×３０秒＝３０秒が課金対象の時間である。なお、ｃｅｉｌ関数は、小数点以下切り上げを行う関数である。サーバＢでは、処理予測時間が５０秒であり、課金対象の単位時間は３０秒であるので、ｃｅｉｌ（５０秒／３０秒）×３０秒＝６０秒が課金対象の時間である。さらに、サーバＣでは、処理予測時間が３０秒であり、課金対象の単位時間は３０秒であるので、ｃｅｉｌ（３０秒／３０秒）×３０秒＝３０秒が課金対象の時間である。
【００９６】
図１７（ａ）は、振り分け情報・起動サーバ情報１６０６に基づいて、サーバを起動し、各ページの印刷画像生成を処理した場合を示すタイムチャートである。図１７に示すフローチャートに関わるプログラムは、ＲＯＭ２７０４に記憶され、ＣＰＵ２７０３によってＲＡＭ２７０５にロードされ実行される。
【００９７】
図１７の見方は、図７の見方と同様である。サーバＣに関しては、課金単位時間内でフルに処理しているので、無駄な課金は発生しないが、サーバＡは、処理時間が短いので、待機時間１７０１が長く、無駄な課金が発生している。たとえば、図１２における閾時間が単位時間の８０％等の時間で設定されている場合、振り分け先サーバ決定部４０８の処理の１つである未使用時間・起動台数削減処理によって、この無駄な課金を省く。
【００９８】
まず、ＣＰＵ２７０３は、コストが１番高いサーバＣで処理するページ２を、１番安いサーバＡの待機時間（２１秒）で処理できないかどうかを判断する。しかし、ページ２をサーバＡで処理した場合の処理予測時間は、処理予測時間１６０４に示すように６０秒であるので、その待機時間に処理させることは不可能である。次に、ＣＰＵ２７０３は、ページ２を、次に安いサーバＢの待機時間で処理できないかどうかを同様に判断するが、サーバＢの待機時間についても、ページ２を処理することはできない。次に、ＣＰＵ２７０３は、２番目に高いサーバＢで処理するページ３及びページ４についても、同様に、他のサーバの待機時間に処理できないかどうかを判断する。しかし、いずれの場合も、処理予測時間が待機時間内に収まらないので、サーバＢが処理するページを、他のサーバで処理させることはできない。
【００９９】
最後に、１番安いサーバＣで処理するページ１を、他のサーバの待機時間で処理することを検討した場合、ページ１の処理時間は、サーバＢで処理した場合も、９秒で処理可能であり、さらに、サーバＢの待機時間１７０２である１０秒よりも短い。したがって、サーバＡで処理する予定のページ１を、サーバＢで処理することが可能であり、サーバＢに代行させることによって、サーバＢの課金対象時間を増加させることなく、サーバＡを起動しなくてもよくなる。そこで、ページ１の振り分け先サーバは、サーバＢと再決定し、サーバＡの起動台数を１台削減する（０にする）。このように、サーバの起動台数を削減することによって、総合的なコストを削減することができる。
【０１００】
図１７（ｂ）は、ページ１をサーバＢで処理させるときの処理を示すタイムチャートである。サーバ種Ａに属するサーバの起動台数が０になり、このサーバの課金料金だけ、課金料金も下げることができる。
【０１０１】
図１８は、未使用時間・起動台数削減処理によって更新された振り分け情報・起動サーバ情報を示す図である。図１６に示す振り分け情報・起動サーバ情報には、サーバＡの起動が無くなっている。
【０１０２】
また、更新前の状態（図１６に示す状態）では、課金対象時間が表１６０６に示すように、サーバＡが３０秒、サーバＢが６０秒であるので、総コストは、３０秒×２０円／３０秒＋６０秒×３０円／３０秒＋３０秒×４０円／３０秒＝１２０円である。これに対して、更新後の状態（図１８に示す状態）では、表１８０１に示すように、サーバＢの課金対象時間が６０秒であり、サーバＣの課金対象時間が３０秒である。したがって、更新後の総コストは、６０秒×３０円／３０秒＋３０秒×４０円／３０秒＝１００円であり、更新前と比較すると、更新後は、コストの削減に成功している。
【０１０３】
また、１種類のサーバのみを使用して、全ページを処理した場合の総コストは、処理予測時間１６０４とサーバ情報１６０３のコストとによって、次のようになる。つまり、
・サーバＡのみを使用すると、
ｃｅｉｌ（（９秒＋６０秒＋６０秒＋５０秒）／３０秒）×３０秒×２０円／３０秒
＝１２０円である。
・サーバＢのみを使用すると、
ｃｅｉｌ（（９秒＋６０秒＋２０秒＋３０秒）／３０秒）×３０秒×３０円／３０秒
＝１２０円である。
・サーバＣのみを使用すると、
ｃｅｉｌ（（９秒＋３０秒＋６０秒＋４０秒）／３０秒）×３０秒×４０円／３０秒
＝２００円である。
【０１０４】
実施形態１で示した総コストは１００円であり、１種類のサーバのみを利用する全ての場合よりも、実施形態１における起動方法は、コストを削減できる。
【０１０５】
以上、実施形態１では、各サーバの単位時間当たりの使用コストや処理能力から、ジョブの各ページの処理予測時間及びコストを計算し、コストが最も低くなる組み合わせによってページを外部サーバで処理させる。このために、各サーバの使用料金を極力低くすることができる。また、課金単位時間が長い場合には、前記の組み合わせを起動サーバが少なくなるように組み換えるので、クラウドサーバのように課金単位時間が長い場合でも、使用料金を削減することができる。
【０１０６】
実施形態１では、印刷装置を使用しているが、印刷装置以外の画像処理装置に実施形態１を適用するようにしてもよい。画像処理装置は、印刷機能に特化した専用機であってもよく、印刷機能とＦＡＸやスキャナ等の機能とを複合した複合機であってもよい。さらにＤＦＥ（Ｄｉｇｉｔａｌ  Ｆｒｏｎｔ  Ｅｎｄ）やＲＩＰ処理を実施するサーバやＰＣ等であってもよい。なお、実施形態２、３においても同様である。
【０１０７】
なお、実施形態１では、最も低い課金額のサーバに決定していた。しかしながら、最も低い課金額の第１サーバのその次に低い課金額の第２サーバと第１サーバとの課金額が微差であり、第１のサーバより第２のサーバのほうが処理時間が短い場合、第２のサーバに決定してもよい。
【実施形態２】
【０１０８】
本発明の実施形態２は、サーバの起動時間が長い場合に、起動時間を考慮して、ページの振り分け先サーバを決定する実施形態であり、ＲＩＰ処理開始時刻よりもサーバ起動必要時間分、前倒してＲＩＰ処理を開始する実施形態である。特に、クラウドサーバでは、起動に時間を要するので、クラウドでＲＩＰ処理を行う場合に実施形態２は有効である。
【０１０９】
図１９は、実施形態２に係る印刷装置１９０２の構成を示すブロック図である。印刷装置１９０２の構成は、ジョブ制御部１９０７とサーバ情報保存部１９０９とを除くと、図４に示す実施形態１の構成と同様であり、差異の存在する処理部についてのみ説明する。
【０１１０】
また、印刷装置１９０２におけるハードウェア構成も、図２７に示す印刷装置１０２のハードウェア構成と同様である。つまり、ＣＰＵ２７０３が印刷装置１９０２の全体を制御し、制御プログラムや固定データがＲＯＭ２７０４に格納される点も、図２７に示す印刷装置１０２と同様である。また、ジョブ投入装置１９０１に入力された作業用データやサーバ情報テーブルを、ＣＰＵ２７０３がＲＡＭ２７０５に記憶する点も、図２７に示す印刷装置１０２と同様である。
【０１１１】
ＣＰＵ２７０３は、ジョブ制御部１９０７を介して、まず、ジョブ保存部１９０６に保存されるジョブデータのＲＩＰ処理開始時刻と、サーバ情報保存部１９０９に保存されているサーバ情報のうちのサーバ起動時間とを取得する。そして、ＲＩＰ処理開始時刻よりも、サーバ起動時間分早く、ＲＩＰ処理を行わせるサーバを決定する処理を、ＣＰＵ２７０３が、振り分け先サーバ決定部１９０８に指示する。
【０１１２】
図２０は、実施形態２において、サーバ情報保存部１９０９に保存されている情報の例を示す図である。サーバ情報保存部１９０９にサーバのコストや処理能力に加えて、起動時間が管理されているので、ＲＩＰ処理開始時刻よりも起動時間分早く、処理サーバ決定処理及び処理サーバ起動処理を実行することができる。
【０１１３】
次に、コントローラ部１９０３の各処理部が処理する流れについてフローチャートを用いて説明する。ジョブ制御部１９０７、振り分け先サーバ決定部１９０８以外の処理部の実行処理は、実施形態１と変わらないので、差異のあるジョブ制御部１９０７と振り分け先サーバ決定部１９０８との処理について説明する。
【０１１４】
図２１は、ジョブ制御部１９０７の処理の流れを示すフローチャートである。図２１に示すフローチャートに関わるプログラムは、ＲＯＭ２７０４に記憶され、ＣＰＵ２７０３によってＲＡＭ２７０５にロードされ実行される。
【０１１５】
Ｓ２１０４〜Ｓ２１０７の処理は、図９に示すＳ９０３〜Ｓ９０６の処理と同じであるので、その説明を割愛する。
【０１１６】
まず、ＣＰＵ２７０３は、ジョブ制御部１９０７を介して、サーバ情報保存部１９０９から外部サーバの起動時間を取得する（Ｓ２１０１）。続いて、ＣＰＵ２７０３は、ジョブ保存部１９０６からジョブのＲＩＰ処理開始時刻を取得する（Ｓ２１０２）。さらに、ＣＰＵ２７０３は、ＲＩＰ処理開始時刻からサーバ起動時間分、前倒した時刻に、現在時刻が達しているか否かを判断する（Ｓ２１０３）。ＲＩＰ処理開始時刻からサーバ起動時間分前倒した時刻に、現在時刻がまだ到達していなければ（Ｓ２１０３でＮＯ）、その時刻になるまで、Ｓ２１０１、Ｓ２１０２の処理を繰り返すために、Ｓ２１０１に戻る。ＲＩＰ処理開始時刻からサーバ起動時間分前倒した時刻になれば（Ｓ２１０３でＹＥＳ）、その時点で振り分け先サーバ決定・起動・停止指示を実行し（Ｓ２１０４）、その後に、Ｓ２１０５〜Ｓ２１０７を実行する。
【０１１７】
図２２は、振り分け先サーバ決定部１９０８における処理の流れを示す図である。振り分け先サーバ決定部１９０８における処理は、実施形態１と同様であるが、Ｓ１００４での課金対象時間の算出方法が異なる。起動時間も課金対象であるので、課金対象時間の算出式は、下記のようになる。
【０１１８】
課金対象時間＝（ｃｅｉｌ（起動時間＋処理予測時間）／課金発生の単位時間）×課金発生の単位時間
これによって、振り分け先サーバ決定部１９０８の他の処理も、起動時間を考慮して処理することができる。
【０１１９】
図２３は、実施形態２における各処理を示すタイムチャートである。図２３の見方は、図６の見方と同様である。印刷に間に合わせるために、振り分け先サーバ決定部１９０８が決定した結果によれば、ジョブＸは、サーバＡが２台必要であり、ジョブＹは、サーバＢが１台必要であると判断されたことを想定している。
【０１２０】
ジョブＸを処理する場合、まず、ＣＰＵ２７０３は、ジョブ制御部１９０７を介して、ジョブ受信部１９０５に保存されているジョブＸのＲＩＰ処理開始時刻を確認する。そして、ＲＩＰ処理開始時刻−サーバ起動時間２３０１の時刻になった時点で、ジョブＸに対する解析と起動サーバの決定とを実行する（２３０２）。さらに、起動が必要になったサーバに対して、起動命令を発行する（２３０３）。これによって、サーバの起動が開始されるので、ＲＩＰ処理開始時刻に、サーバの起動が完了している。起動完了後に、ＣＰＵ２７０３は、振り分け先サーバ情報保存部１９１４の情報に基づいて、各ページを各サーバに送信し（２３０４）、その後は、サーバから受信した印刷画像を印刷画像保存部１９１７に保存し、印刷時間から印刷を開始する。
【０１２１】
ジョブＹを処理する場合も、ジョブＸを処理する場合と同様である。ＣＰＵ２７０３は、ジョブ制御部１９０７を介して、ジョブ受信部１９０５に保存されているジョブＹのＲＩＰ処理開始時刻を確認し、ＲＩＰ処理開始時刻−サーバ起動時刻の時刻になると、ジョブＹに対する解析と起動サーバの決定とを行う（２３０５）。さらに、ＣＰＵ２７０３は、必要になったサーバに、起動命令を発行する（２３０６）。これによって、サーバの起動が開始されるので、ＲＩＰ処理開始時刻にサーバの起動が完了している。起動完了後、振り分け先サーバ情報保存部１９１４の情報に基づいて、ＣＰＵ２７０３が、各ページを各サーバに送信し（２３０７）、その後は、サーバから受信した印刷画像を印刷画像保存部１９１７に保存し、印刷時刻に印刷を開始する。
【０１２２】
図２４は、振り分け先サーバ決定部１９０８の処理の１つである起動サーバ決定処理の例を、ジョブ情報やサーバ情報を用いて処理した場合における処理の例を示す図である。２４０１〜２４０５における図の見方や表中の数式は、１６０１〜１６０５における図の見方や表中の数式と同様であるので、その説明を割愛する。
【０１２３】
表２４０６では、表１６０６に加えて、サーバ起動時間を加えた起動時間含処理予測時間を記録する。前記「起動時間含処理予測時間」は、各サーバの処理予測時間にサーバの起動時間を加えた時間である。この起動時間含処理予測時間を用いて、課金対象時間を計算すると、サーバＡとサーバＢとにおける課金対象時間は、実施形態１における課金対象時間と変わらない。しかし、サーバＣにおける課金対象時間は、６０秒であり、実施形態１における課金対象時間（３０秒）とは異なる結果である。
【０１２４】
この結果に対して、振り分け先サーバ決定部１９０８の処理の１つである未使用時間・起動台数削減処理を実行することによって、起動に要する時間を考慮して未使用時間や起動台数を削減することができる。
【０１２５】
実施形態２では、図２２に示すように、課金対象時間として起動時間を含めて、起動サーバを決定するので、図１７（ａ）に示すタイムチャートとは、結果が異なり、起動時間の長さに応じて、コストの低い組み合わせへ振り分けることができる。
【０１２６】
以上、実施形態２によれば、ＲＩＰ処理開始時刻よりもサーバ起動必要時間分、前倒してＲＩＰ処理を開始するので、ＲＩＰ処理開始時刻には、サーバ起動が完了し、予測通りの時間でＲＩＰ処理が完了する可能性を高めることができる。また、サーバ起動時を単位時間に含めてコスト計算すれば、コスト削減処理を、より正確に実行することができる。
【実施形態３】
【０１２７】
実施形態１、２では、ＲＩＰ処理を全て外部サーバで実行する。一方、実施形態３は、印刷装置内部でもＲＩＰ処理する実施形態であり、まず、印刷装置内部でＲＩＰ処理する予定を立て、印刷装置内部で処理しきれないＲＩＰ処理を外部サーバで実行する実施形態である。
【０１２８】
図２５は、実施形態３で適用する印刷装置における制御の構成を説明するブロック図である。実施形態３における制御の構成は、実施形態１の構成において、内部ＲＩＰ部２５１９を追加し、振り分け先サーバ決定部２５０８と外部サーバ通信部２５１６との処理が、実施形態１における処理とは異なる。差異のあるサーバについてのみ説明をする。
【０１２９】
ＣＰＵ２７０３は、振り分け先サーバ決定部２５０８を介して、ジョブ保存部２５０６に保存されているジョブをページ毎に解析し、内部ＲＩＰで処理した際の処理時間を予測する。そして、その処理予測時間が、ＲＩＰ処理する時間よりも短ければ、ＣＰＵ２７０３が、内部ＲＩＰ処理に全て振り分けることを決定する。印刷の開始に間に合わない場合は、ＣＰＵ２７０３が、間に合わない分のページに対して、実施形態１、２における処理と同様に、振り分け先サーバ、起動させるサーバを決定する。さらに、その他のページについて、ＣＰＵ２７０３が、内部ＲＩＰ部２５１９に処理させることを決定する。
【０１３０】
ＣＰＵ２７０３は、外部サーバ通信部２５１６を介して、振り分け先サーバ情報保存部２５１４に保存されている情報に基づいて、振り分け先サーバが、内部ＲＩＰ部２５１９であれば、次の処理を実行する。つまり、ジョブ保存部２５０６に保存されたジョブを、内部ＲＩＰ部２５１９に送信する。
【０１３１】
ＣＰＵ２７０３は、内部ＲＩＰ部２５１９を介して、受信したジョブから印刷画像を生成し、印刷画像保存部２５１７へ保存する。
【０１３２】
次に、振り分け先サーバ決定部２５０８の処理の流れを説明する。
【０１３３】
図２６は、振り分け先サーバ決定部２５０８の処理を示すフローチャートである。図２６に示すフローチャートに関わるプログラムは、ＲＯＭ２７０４に記憶され、ＣＰＵ２７０３によってＲＡＭ２７０５にロードされ実行される。
【０１３４】
まず、ＣＰＵ２７０３は、ジョブ受信部２５０５からジョブを取得し（Ｓ２６０１）、ページ毎に解析処理を実行する（Ｓ２６０２）。続いて、ＣＰＵ２７０３は、内部ＲＩＰで処理する処理時間を、解析結果を用いて予測する（Ｓ２６０３）。さらに、ＣＰＵ２７０３は、その処理予測時間の総和が、ＲＩＰ処理にかけられる時間よりも短いか否かを判断する（Ｓ２６０４）。ＣＰＵ２７０３は、処理予測時間の総和がＲＩＰ処理にかけられる時間よりも短いと判断すると（Ｓ２６０４でＹＥＳ）、そのジョブの全ページの振り分け先サーバを、内部ＲＩＰ処理に決定し（Ｓ２６０５）、処理を終了する。この場合、外部サーバを起動しない。
【０１３５】
ＣＰＵ２７０３は、処理予測時間の総和がＲＩＰ処理にかけられる時間よりも長いと判断すると（Ｓ２６０４でＮＯ）、内部ＲＩＰ部で印刷に間に合わせられるページのみ、振り分け先サーバを内部ＲＩＰ部に決定する（Ｓ２６０６）。そして、ＣＰＵ２７０３は、その他のページのみについて、Ｓ２６０７〜Ｓ２６０９で各ページの振り分け先サーバを決定する。Ｓ２６０７〜Ｓ２６０９の処理は、Ｓ１００３〜Ｓ１００５の処理と同様の処理であるので、その説明を割愛する。
【０１３６】
以上、実施形態３によれば、印刷装置内部でＲＩＰ処理が印刷に間に合わないページのみを、外部サーバで処理させるので、印刷装置内部でＲＩＰ処理する分、外部サーバの使用コストを削減することができる。
【０１３７】
（その他の実施形態）
本実施形態の機能は以下の構成によっても実現することができる。つまり、本実施形態の印刷装置の処理を行うためのプログラムコードをシステムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵ２７０３やＭＰＵ）がプログラムコードを実行することによっても達成される。この場合、記憶媒体から読み出されたプログラムコード自体が上述した実施形態の機能を実現することとなり、またそのプログラムコードを記憶した記憶媒体も本実施形態の機能を実現することになる。
【０１３８】
また、本実施形態の機能を実現するためのプログラムコードを、１つのコンピュータ（ＣＰＵ、ＭＰＵ）で実行する場合であってもよいし、複数のコンピュータが協働することによって実行する場合であってもよい。さらに、プログラムコードをコンピュータが実行する場合であってもよいし、プログラムコードの機能を実現するための回路等のハードウェアを設けてもよい。またはプログラムコードの一部をハードウェアで実現し、残りの部分をコンピュータが実行する場合であってもよい。
【符号の説明】
【０１３９】
１０２…印刷装置、
１０４…外部サーバ、
４０８…振り分け先サーバ決定部、
４１５…振り分け先サーバ起動・停止部、
２７０３…ＣＰＵ。
【図１】
2017019246.tif 000003
【図２】
2017019246.tif 000004
【図３】
2017019246.tif 000005
【図４】
2017019246.tif 000006
【図５】
2017019246.tif 000007
【図６】
2017019246.tif 000008
【図７】
2017019246.tif 000009
【図８】
2017019246.tif 000010
【図９】
2017019246.tif 000011
【図１０】
2017019246.tif 000012
【図１１−１】
2017019246.tif 000013
【図１１−２】
2017019246.tif 000014
【図１２】
2017019246.tif 000015
【図１３】
2017019246.tif 000016
【図１４】
2017019246.tif 000017
【図１５】
2017019246.tif 000018
【図１６】
2017019246.tif 000019
【図１７】
2017019246.tif 000020
【図１８】
2017019246.tif 000021
【図１９】
2017019246.tif 000022
【図２０】
2017019246.tif 000023
【図２１】
2017019246.tif 000024
【図２２】
2017019246.tif 000025
【図２３】
2017019246.tif 000026
【図２４】
2017019246.tif 000027
【図２５】
2017019246.tif 000028
【図２６】
2017019246.tif 000029
【図２７】
2017019246.tif 000030