(57)【特許請求の範囲】
【請求項１】
データを複数のブレードで処理するプリントコントローラーにおいて、
前記データから画像を生成するＲＩＰ手段と、
前記ＲＩＰ手段が前記画像を生成する際に使用され、かつ前記画像を保存するストレージ手段と、
前記ＲＩＰ手段および前記ストレージ手段を制御する制御手段とを有し、
少なくとも前記ＲＩＰ手段および前記ストレージ手段は、前記ブレードに設けられ、
前記制御手段は、複数の前記ストレージ手段のうち使用率が最も低い前記ストレージ手段について、前記ＲＩＰ手段が画像の生成に使用するとともに生成された画像を保存するための余裕があるか否かを判断して、前記余裕がある場合は前記ＲＩＰ手段と前記画像を記憶するストレージ手段が一つのブレード内となるように前記ブレードを選択し、前記余裕がない場合は前記ＲＩＰ手段と前記画像を記憶するストレージ手段が異なるブレードとなるように前記ブレードを選択することを特徴とするプリントコントローラー。
【請求項２】
複数の前記ブレードは、前記制御手段を設けた１個のマスターブレードと、前記マスターブレードによって制御される複数のスレーブブレードから構成されることを特徴とする請求項１に記載のプリントコントローラー。
【請求項３】
複数の前記ブレードの間を接続する通信手段をさらに有し、
前記制御手段は、前記通信手段の状態を検出し、その検出結果に基づき、前記画像の形成に使用する前記ＲＩＰ手段を設けた前記ブレードと、前記画像の保存に使用する前記ストレージ手段を設けた前記ブレードと、をそれぞれ選択することを特徴とする請求項１または２に記載のプリントコントローラー。
【請求項４】
前記制御手段は、前記通信手段を介し、前記ストレージの状態の検出結果に基づき、一の前記ブレードが有する前記ストレージ手段に記憶したデータを、前記一の前記ブレードよりも前記ストレージの使用率が低い他の前記ブレードが有する前記ストレージ手段に移動することを特徴とする請求項３に記載のプリントコントローラー。
【請求項５】
前記データは、あらかじめＲＩＰ後の画像を保存することに決められている保存ジョブからなることを特徴とする請求項１〜４のいずれか１項に記載のプリントコントローラー。
【請求項６】
前記ストレージ手段は、前記ＲＩＰ手段によって生成された前記画像を印刷頁毎に保存することを特徴とする請求項１〜５のいずれか１項に記載のプリントコントローラー。
【請求項７】
前記ストレージ手段は、作業領域を備え、当該作業領域に前記ＲＩＰ手段によってＲＩＰを行う前記データを一時的に保存することを特徴とする請求項１〜６のいずれか１項に記載のプリントコントローラー。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データを複数のブレードで処理するプリントコントローラーに関する。
【背景技術】
【０００２】
従来、ブレードに設けたＲＩＰの高速化のため、様々な方法が提案されている。具体的には、ラスタライズ（ＲＩＰ：Ｒａｓｔｅｒ  Ｉｍａｇｅ  Ｐｒｏｃｅｓｓ）処理の高速化のための方法として、高性能なＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）を使用する方法、ＲＩＰをハードウェア処理にする方法、またはＲＩＰを分散処理する方法等が挙げられる。
【０００３】
特に、ＲＩＰを分散して処理する方法として、プリントコントローラーをブレードサーバー化する方法が提案され、一部で実用化されている。このようにプリントコントローラーをブレードサーバー化することにより、ジョブの処理に係る様々な機能を実現することが可能である。ここで、ネットワーク上に配置された複数のストレージに対して、各ＲＩＰからのジョブを保存することが可能であるシステムが提案されている（たとえば、特許文献１）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００４−２６２０６３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記特許文献１の技術では、ブレード化されたプリントコントローラーの処理の方法については十分ではない。具体的には、特許文献１の技術では、複数のストレージを使用した時に、それぞれのストレージに対してどのようにデータを分散して保存するのかについては開示されていない。
【０００６】
このため、特許文献１の技術では、複数のストレージを使用した時にストレージ間でデータに偏りが生じたり、ストレージへのアクセス速度が低下するという問題が有る。また、ＲＩＰに相当する、ＣＰＵとストレージが１つのユニットに設けられたブレード型コントローラーのような構成の場合、ＣＰＵが実装された同一ブレード上のストレージに対するアクセス速度と、ＣＰＵが実装されていない他ブレードのストレージに対するアクセス速度が、大きく異なるという問題が有る。
【０００７】
また、複数のストレージに係るデバイスの分散処理として、ＲＡＩＤ（Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙｓ  ｏｆ  Ｉｎｅｘｐｅｎｓｉｖｅ  Ｄｉｓｋｓ）等に代表される複数のストレージを一つのストレージに設ける技術がある。しかしながら、ＲＩＰの分散処理やプリントジョブの保存処理が十分に考慮されている技術は見あたらない。同様に、ブレードコントローラーのようなＣＰＵとストレージが同一基板上にあるような形態の場合のストレージ保存についても十分に考慮されている技術は見あたらない。
【０００８】
本願発明は、上記課題に基づいてなされたものであり、データを複数のブレードで処理するプリントコントローラーにおいて、複数のブレードに設けられたストレージの使用率を平均化し、データを分散して処理することができるプリントコントローラーを提供する。
【課題を解決するための手段】
【０００９】
本発明の上記目的は、下記の手段によって達成される。
【００１０】
（１）データを複数のブレードで処理するプリントコントローラーにおいて、前記データから画像を生成するＲＩＰ手段と、前記ＲＩＰ手段が前記画像を生成する際に使用され、かつ前記画像を保存するストレージ手段と、前記ＲＩＰ手段および前記ストレージ手段を制御する制御手段とを有し、少なくとも前記ＲＩＰ手段および前記ストレージ手段は、前記ブレードに設けられ、前記制御手段は、複数の前記ストレージ手段のうち使用率が最も低い前記ストレージ手段について、前記ＲＩＰ手段が画像の生成に使用するとともに生成された画像を保存するための余裕があるか否かを判断して、前記余裕がある場合は前記ＲＩＰ手段と前記画像を記憶するストレージ手段が一つのブレード内となるように前記ブレードを選択し、前記余裕がない場合は前記ＲＩＰ手段と前記画像を記憶するストレージ手段が異なるブレードとなるように前記ブレードを選択することを特徴とするプリントコントローラー。
【００１１】
（２）複数の前記ブレードは、前記制御手段を設けた１個のマスターブレードと、前記マスターブレードによって制御される複数のスレーブブレードから構成されることを特徴とする上記（１）に記載のプリントコントローラー。
【００１２】
（３）複数の前記ブレードの間を接続する通信手段をさらに有し、前記制御手段は、前記通信手段の状態を検出し、その検出結果に基づき、前記画像の形成に使用する前記ＲＩＰ手段を設けた前記ブレードと、前記画像の保存に使用する前記ストレージ手段を設けた前記ブレードと、をそれぞれ選択することを特徴とする上記（１）または（２）に記載のプリントコントローラー。
【００１３】
（４）前記制御手段は、前記通信手段を介し、前記ストレージの状態の検出結果に基づき、一の前記ブレードが有する前記ストレージ手段に記憶したデータを、前記一の前記ブレードよりも前記ストレージの使用率が低い他の前記ブレードが有する前記ストレージ手段に移動することを特徴とする上記（３）に記載のプリントコントローラー。
【００１５】
（５）前記データは、あらかじめＲＩＰ後の画像を保存することに決められている保存ジョブからなることを特徴とする上記（１）〜（４）のいずれか１に記載のプリントコントローラー。
【００１８】
（６）前記ストレージ手段は、前記ＲＩＰ手段によって生成された前記画像を印刷頁毎に保存することを特徴とする上記（１）〜（５）のいずれか１に記載のプリントコントローラー。
【００１９】
（７）前記ストレージ手段は、作業領域を備え、当該作業領域に前記ＲＩＰ手段によってＲＩＰを行う前記データを一時的に保存することを特徴とする上記（１）〜（６）のいずれか１に記載のプリントコントローラー。
【発明の効果】
【００２０】
本発明のプリントコントローラーによれば、データを複数のブレードで処理するプリントコントローラーにおいて、複数のブレードに設けられたストレージの使用率を平均化し、データを分散して処理することができる。
【図面の簡単な説明】
【００２１】
【図１】本発明の一実施形態に係るプリントコントローラーにおけるジョブの処理のシステムを示す構成図である。
【図２】本発明の一実施形態に係るプリントコントローラーにおけるジョブの処理の一例でありジョブを分散してＲＩＰする状態を示す構成図である。
【図３】本発明の一実施形態に係るプリントコントローラーにおいてアイドル時に実行する処理であり複数のストレージ間におけるストレージ使用率の偏りを削減する状態を示す図である。
【図４】本発明の一実施形態に係るプリントコントローラーにおいて保存ジョブを受信した時の処理の方法を示すフローチャートである。
【図５】本発明の一実施形態に係るプリントコントローラーにおいてアイドル時の処理の方法を示すフローチャートである。
【図６】本発明の一実施形態に係るプリントコントローラーにおいて保存ジョブ以外のジョブを受信した時の処理の方法を示すフローチャートである。
【発明を実施するための形態】
【００２２】
以下、添付した図面を参照しながら、本発明の実施形態を説明する。
【００２３】
なお、図面の説明において同一の要素には同一の符号を付して、重複する説明を省略する。また、図面における各構成の大きさや比率は、説明の都合上誇張され実際の大きさや比率とは異なる場合がある。
【００２４】
まず、本実施形態に係るプリントコントローラー１０におけるジョブの処理のシステムについて、図１を参照しながら説明する。
【００２５】
なお、図１は、本実施形態に係るプリントコントローラー１０におけるジョブの処理のシステムを示す構成図である。
【００２６】
プリントコントローラー１０は、クライアント端末装置３０から送信されるジョブに基づいて所定の処理を行う。また、プリントコントローラー１０は、形成した画像をプリントエンジン２０に送信する。以下、プリントコントローラー１０、およびプリントコントローラー１０と関連するプリントエンジン２０およびクライアント端末装置３０の構成について順に説明する。
【００２７】
このプリントコントローラー１０は、計算装置に相当するブレードを複数有するブレードサーバーの機能を有する。この複数のブレードは、それぞれＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）、およびＮＩＣ（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ）から構成される。また、複数のブレード間は、クローズな内部ネットワークが構築され、データの送受信が行われる。
【００２８】
具体的には、ブレードコントローラー１０において、１個のブレードにそれぞれＲＩＰとストレージ等が設けられ、ブレード１〜４は専用の通信路を介して接続されている。ここで、ブレード１〜４は、他のブレードのストレージにデータを保存することも可能であるが、同一ブレード上のストレージへのアクセスが最も高速である。これば、一つのブレードから、他のブレードのストレージにデータを保存する場合、ブレード１〜４の間に設けられた通信路を経由する必要があるためである。したがって、ブレードコントローラー１０において、ページ単位のＲＩＰを行うＣＰＵと、保存を行うストレージは、同一ブレードに設けられていることが望ましい。また、ページ単位のＲＩＰ時間はページ毎に異なる。そのため、ＲＩＰに最適な分散処理においては、ブレード１〜４でＲＩＰするページ数が異なる。
【００２９】
ここで、図１に示すように、マスターブレードは、ブレード１に相当し、全体の制御を担当する。また、複数のスレーブブレードは、ブレード２〜４に相当し、ブレード１の指示に基づき並列してラスタライズ（ＲＩＰ：Ｒａｓｔｅｒ  Ｉｍａｇｅ  Ｐｒｏｃｅｓｓ）処理を担当する。なお、スレーブブレードの数量は、図１に示すブレード２〜４の３つに限定されることはなく、任意に設定することができる。また、ブレード１は、ネットワーク上のクライアント端末装置３０に接続されており、そのクライアント端末装置３０を介してユーザーから送信されたジョブを受信する。さらに、ブレード１は、プリントエンジン２０と専用のインターフェースにより接続され、ＲＩＰ済みデータや各種状態情報をプリントエンジン２０との間で送受信する。さらに、ブレード１は、ブレード２〜４に対してＲＩＰを要求する。また、ブレード２〜４は、ＲＩＰ処理を完了させた後、ブレード１に対してＲＩＰ完了通知とＲＩＰ済みデータを送信する。
【００３０】
また、プリントコントローラー１０は、様々なジョブを処理する。このプリントコントローラー１０は、図１に示すように、ネットワーク上のクライアント端末装置３０に接続されている。このネットワークは、イーサネット（登録商標）、トークンリング、ＦＤＤＩ（Ｆｉｂｅｒ−Ｄｉｓｔｒｉｂｕｔｅｄ  Ｄａｔａ  Ｉｎｔｅｒｆａｃｅ）などの規格によりコンピュータやネットワーク機器同士を接続したＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）を用いて構成されている。または、ネットワークは、ＬＡＮ同士を専用線で接続したＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）を用いて構成してもよい。
【００３１】
ここで、プリントコントローラー１０には、ユーザーによりクライアント端末装置３０を介してジョブが送信される。このジョブは、たとえばプリントジョブや保存ジョブからなる。この保存ジョブは、ＲＩＰのみを行い、画像データをストレージに保存するジョブである。また、プリントコントローラー１０は、受信したジョブの種類に応じて異なる処理を行う。具体的には、プリントコントローラー１０は、クライアント端末装置３０からプリントジョブを受信した場合、ＲＩＰ処理を行った後、そのＲＩＰ済みのデータを専用のインターフェースを介してプリントエンジン２０に転送する。一方、プリントコントローラー１０は、クライアント端末装置３０から保存ジョブを受信した場合、ＲＩＰ処理を行い、そのＲＩＰ済みのデータをストレージに格納する。
【００３２】
プリントエンジン２０は、プリントコントローラー１０で形成された画像を受信し、その画像を電子写真プロセスにより用紙に印刷する。このようなプリントコントローラー１０は、たとえば、印刷装置、画像形成装置、ファクシミリ装置、または多機能周辺機器（ＭＦＰ：Ｍｕｌｔｉ−Ｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ）に使用される。また、プリントエンジン２０は、一台または複数台から構成される。なお、図１に示すプリントエンジン２０は、印刷装置である。
【００３３】
クライアント端末装置３０は、図１に示すように、たとえば、一般的なパーソナルコンピューター、または携帯可能な端末装置等からなる。このクライアント端末装置３０は、ユーザーが使用するアプリケーションソフトの実行に適した所定のオペレーティングシステムがインストールされており、ユーザーによりアプリケーションソフトが操作される。また、クライアント端末装置３０は、一台または複数台から構成される。なお、図１に示すクライアント端末装置３０は、パーソナルコンピューターである。
【００３４】
次に、本実施形態に係るプリントコントローラー１０において、ジョブの処理の一例を、図２および図３を参照しながら説明する。
【００３５】
なお、図２は、本実施形態に係るプリントコントローラー１０におけるジョブの処理の一例でありジョブを分散してＲＩＰする状態を示す構成図である。また、図３は、本実施形態に係るプリントコントローラー１０においてアイドル時に実行する処理であり複数のストレージ間におけるストレージ使用率の偏りを削減する状態を示す図である。
【００３６】
プリントコントローラー１０は、クライアント端末装置３０からプリントコントローラー１０に対して送信された保存ジョブを受信する時に、全てのブレード１〜４に設けられたストレージの使用率の算出を行う。さらに、プリントコントローラー１０は、算出されたストレージの空き容量の多い順に、複数の頁を有する保存ジョブにおける分散処理を行う各々の頁をブレード１〜４に割り振る。なお、ストレージは、たとえはＨＤＤからなる。ここで、プリントコントローラー１０は、図２に示すように、クライアント端末装置３０からたとえば１頁からなるジョブを連続して複数受信するような場合、ブレード１〜４を順に使用することにより、ブレード１〜４にそれぞれ設けられたストレージの使用率を平均化する。一方、プリントコントローラー１０は、クライアント端末装置３０から保存ジョブ以外のプリントジョブ等を受信するような場合、ブレード１〜４に設けられているいずれのストレージに対してもデータを保存しないことから、処理は行わない。
【００３７】
また、プリントコントローラー１０は、基本的に、ストレージへのアクセス速度を考慮し、ＲＩＰを実行したブレード上のストレージにジョブを保存する。一方、プリントコントローラー１０は、ＲＩＰで必要となるストレージ容量を確保する必要がある。したがって、ブレード１〜４は、ストレージに一定以上の空き容量が必要である。そこで、プリントコントローラー１０は、一つのブレードに設けられたストレージにジョブを保存した時に、そのストレージの空き容量が一定以下になってしまう場合のみ、ＲＩＰデータを他のブレードのストレージに保存する。上述したプリントコントローラー１０に基づくジョブの処理により、ブレード１〜４のいずれかの特定のブレードでＲＩＰが不可能になることを防止できる。
【００３８】
ここで、図２に示すように、プリントコントローラー１０が、たとえば４頁の保存ジョブを受信したときに、ストレージ１〜４の中のストレージ使用率の小さいストレージから順に、その保存ジョブを頁順で割り当てる。具体的には、プリントコントローラー１０は、ストレージ使用率が高いブレード２を用いて、ＲＩＰと保存のうち、ＲＩＰのみを行う。さらに、プリントコントローラー１０は、最もストレージ使用率の低いブレード３をＲＩＰ処理済みのデータの保存先に指定する。このプリントコントローラー１０は、ブレード１〜４にそれぞれ設けられたＲＩＰの速度が低下することを防止するために、可能な限り全てのブレード１〜４を使用する。したがって、プリントコントローラー１０においてジョブを処理する最中に一時的に、ブレード１〜４の間でストレージ使用率の偏りが発生してしまう。
【００３９】
そこで、図３に示すように、プリントコントローラー１０は、アイドル時に一定量のデータをブレードＡ〜Ｃ間で転送する。このようなブレードＡ〜Ｃ間における転送処理により、ブレードＡ〜Ｃの間でのストレージ使用率の偏りを抑制することが可能である。具体的には、ブレードＡ〜Ｃ間でのデータの転送前の状態を示す図３の左側に示すブレードＡ、Ｂ、およびＣにおけるストレージの使用率の偏り値ｍは、使用率が最高のブレードＡの使用率と使用率が最低のブレードＢとの差分で定義される。この偏り値ｍは、ストレージの容量の絶対値と比較して大きい。そこで、プリントコントローラー１０は、ストレージＡからストレージＣに対して一定量のデータを転送する。その結果、ブレードＡ〜Ｃ間でのデータの転送後の状態を示す図３の左側に示すブレードＡ、Ｂ、およびＣにおけるストレージ使用率の偏り値ｍは、図３の右側に示すブレードＡ、Ｂ、およびＣにおけるストレージ使用率の偏り値ｎまで抑制される。この偏り値ｎは、ストレージの容量の絶対値と比較して十分に小さい。
【００４０】
次に、本実施形態に係るプリントコントローラー１０において、保存ジョブを受信した時の処理の方法を、図４に示すフローチャートを参照しながら説明する。
【００４１】
なお、図４は、本実施形態に係るプリントコントローラー１０において保存ジョブを受信した時の処理の方法を示すフローチャートである。
【００４２】
図４に示すフローチャートのステップＳ１において、プリントコントローラー１０のマスターブレードに相当するブレード１は、ネットワーク上のクライアント端末装置３０から保存ジョブを受信する（ステップＳ１）。続いて、ステップＳ１からステップＳ２に進むと、ブレード１は、全ての処理待ち中のブレード２〜４に対してストレージの使用率の取得を要求する。また、ブレード１は、当該ブレード１のストレージの使用率を自ら取得する（ステップＳ２）。続いて、ステップＳ２からステップＳ３に進むと、ブレード１は、全ての処理待ち中のブレード１〜４の中からストレージの使用率が最も低いブレードを選択する（ステップＳ３）。
【００４３】
続いて、ステップＳ３からステップＳ４に進むと、ストレージの使用率が最も低いブレードの空き容量が予め設定された余裕値Ｓｍａｒｇｉｎ以上か否かが判定される。その判定結果が、ＹＥＳの場合にはステップＳ５に進み、ＮＯの場合にはステップＳ６に進む。ここで、余裕値Ｓｍａｒｇｉｎ（＝Ｓｒｉｐ＋Ｓｐａｇｅ）は、ＲＩＰが動作可能なための最低ストレージ量Ｓｒｉｐと頁等を保存するデータの最小単位のストレージ量Ｓｐａｇｅとの和である。すなわち、余裕値Ｓｍａｒｇｉｎは、保存ジョブに含まれる次頁を保存した場合でもＲＩＰをするために必要なストレージ量を残すことが可能な量である（ステップＳ４）。
【００４４】
ここで、ステップＳ４からステップＳ５に進んだ場合、ストレージの使用率が最も低いブレードに対してＲＩＰおよび保存要求を出す（ステップＳ５）。一方、ステップＳ４からステップＳ６に進んだ場合、ストレージの使用率が最も低いブレードでＲＩＰのみを行い、その後、ストレージの使用率が次に低いブレードで保存する。なお、その場合には、ストレージの使用率が次に低いブレードで、ＲＩＰが行われているか否かは確認しない（ステップＳ６）。続いて、ステップＳ５またはステップＳ６からステップＳ７に進むと、保存ジョブに次の頁が存在するか否かが判定され、その判定結果が、ＹＥＳの場合にはステップＳ２に戻り、ＮＯの場合には処理を終了する。すなわち、ステップＳ７では、保存ジョブの最初の頁以降に存在する全ての頁についても、ステップＳ２〜ステップＳ６までの処理を行うように制御する（ステップＳ７）。
【００４５】
次に、本実施形態に係るプリントコントローラー１０において、アイドル時の処理の方法を、図５に示すフローチャートを参照しながら説明する。
【００４６】
図５に示すフローチャートのステップＳ１１において、プリントコントローラー１０がアイドル時、マスターブレードに相当するブレード１は、一定時間毎に、全てのブレード２〜４に対してストレージの使用率の取得を要求する。また、ブレード１は、当該ブレード１のストレージの使用率を自ら取得する（ステップＳ１１）。続いて、ステップＳ１１からステップＳ１２に進むと、全てのブレード１〜４について、最高使用率のブレードの使用率Ｓｍａｘと最低使用率のブレードの使用率Ｓｍｉｎとの差分に相当する差分値Ｓｄｉｆｆ（＝Ｓｍａｘ−Ｓｍｉｎ）を算出する。この差分値Ｓｄｉｆｆに基づいて、全てのブレード１〜４におけるストレージの使用率の偏りを検出する（ステップＳ１２）。
【００４７】
続いて、ステップＳ１２からステップＳ１３に進むと、差分値Ｓｄｉｆｆが予め定められた一定の閾値以上か否かが判定され、その結果が、ＹＥＳの場合にはステップＳ１４に進み、ＮＯの場合には処理を終了する。ここで、一定の閾値は、一回の移動単位のデータ量に相当し、たとえばジョブの１頁単位である（ステップＳ１３）。
【００４８】
ここで、ステップＳ１３からステップＳ１４に進んだ場合、ブレードの使用率が最高のブレードから、たとえば保存ジョブの１頁分に相当する一定量のデータを、ブレードの使用率が最低のブレードに移動する。この移動は、前述した図３に示す処理に相当する。ここで、１つのブレードから他のブレードに対して一度に移動させるデータの容量が大きいと、そのデータを移動させている最中に新たなジョブを受信した場合、その新たなジョブに対する応答性が遅くなる可能性がある。したがって、１つのブレードから他のブレードに対して、一定単位時間に一定量のデータのみ移動させるように制御する。具体的には、本実施形態において、１つのブレードから他のブレードに対して一度に移動するデータの単位は、たとえば１頁単位とする（ステップＳ１４）。
【００４９】
次に、本実施形態に係るプリントコントローラー１０において、保存ジョブ以外のジョブを受信した時の処理の方法を、図６に示すフローチャートを参照しながら説明する。
【００５０】
図６に示すフローチャートのステップＳ２１において、プリントコントローラー１０のマスターブレードに相当するブレード１は、ネットワーク上のクライアント端末装置３０から保存ジョブ以外のジョブを受信する。このジョブは、たとえばプリントジョブである（ステップＳ２１）。続いて、ステップＳ２１からステップＳ２２に進んだ場合、ブレード１は、処理待ち中の全てのブレード１〜４の中から任意のブレードを選択する。ここで、任意のブレードの選択は、たとえば、通信路の状態やブレードの使用率の状況等を判断して行う（ステップＳ２２）。
【００５１】
続いて、ステップＳ２２からステップＳ２３に進むと、選択した任意のブレードにＲＩＰの一時保存バッファ領域分の空きが有るか否かが判定され、その判定結果が、ＹＥＳの場合にはステップＳ２４に進み、ＮＯの場合にはステップＳ２５に進む（ステップＳ２３）。ここで、ステップＳ２３からステップＳ２４に進んだ場合、選択した任意のブレードに対してＲＩＰの要求を出す（ステップＳ２４）。一方、ステップＳ２３からステップＳ２５に進んだ場合、選択した任意のブレードはＲＩＰのみを行い、他のブレードがバッファする（ステップＳ２５）。
【００５２】
続いて、ステップＳ２４またはステップＳ２５からステップＳ２６に進むと、ジョブに次の頁が存在するか否かが判定され、その結果が、ＹＥＳの場合にはステップＳ２２に戻り、ＮＯの場合には処理を終了する。すなわち、ステップＳ２６では、ジョブの最初の頁以降に存在する全ての頁について、ステップＳ２２〜ステップＳ２５までの処理を行うように制御する（ステップＳ２６）。
【００５３】
以上のとおり、本実施形態のプリントコントローラー１０は、次の効果を奏する。
【００５４】
本実施形態のプリントコントローラー１０によれば、データを複数のブレードで処理するプリントコントローラーにおいて、複数のブレードに設けられたストレージの使用率を平均化し、データを分散して処理することができる。
【００５５】
すなわち、本実施形態のプリントコントローラー１０によれば、ストレージ使用率に相当するブレード間の各ジョブの保存数を平均化することが可能となり、特定ブレードのストレージが枯渇を防止することができる。なお、特定ストレージが枯渇すると、そのブレードでジョブをＲＩＰ処理することができなくなる。また、特定ブレードが枯渇しはじめると、そのブレードでジョブが保存できずに、保存するデータを別のブレードに転送する必要があり、無駄なデータの転送処理が必要になる。
【００５６】
また、本実施形態のプリントコントローラー１０において、複数のブレードは、制御手段を設けた１個のマスターブレードと、マスターブレードによって制御される複数のスレーブブレードから構成されている。したがって、本実施形態のプリントコントローラー１０は、マスターブレードでジョブのＲＩＰ先と保存先を指定し、スレーブブレード（マスターブレードを含む）でジョブの処理を実行するという、非常に簡便な構成とすることができる。
また、本実施形態のプリントコントローラー１０において、複数のブレードの間を接続する通信手段をさらに有し、制御部は、通信手段の状態を検出し、その検出結果に基づき、画像の形成に使用するＲＩＰ手段を設けたブレードと、画像の保存に使用するストレージ手段を設けたブレードと、をそれぞれ選択する。したがって、本実施形態のプリントコントローラー１０によれば、ブレード間の通信路の状態に応じて、ジョブのＲＩＰ先と保存先をそれぞれ決定することが可能である。すなわち、同一のブレード上のストレージと他のブレードのストレージではアクセス速度が大きく異なるが、本実施形態のプリントコントローラー１０では、ＲＩＰしたブレードと同一のブレード上のストレージに対して優先的にデータを格納することが可能である。
【００５７】
また、本実施形態のプリントコントローラー１０において、制御部は、通信手段を介し、ストレージの状態の検出結果に基づき、一のブレードが有するストレージ手段に記憶したデータを、一のブレードよりもストレージの使用率が低い他のブレードが有するストレージ手段に移動する。したがって、本実施形態のプリントコントローラー１０によれば、たとえばアイドル時に一つのストレージに保存してあるデータを、他のストレージに移動させることが可能である。
【００５８】
また、本実施形態のプリントコントローラー１０において、ストレージの状態は、当該ストレージの使用率または空き容量である。したがって、本実施形態のプリントコントローラー１０によれば、入手が容易なストレージの基本的な状態に基づいて、複数のブレードに設けられたストレージの使用率を平均化し、データを分散して処理することができる。
【００５９】
また、本実施形態のプリントコントローラー１０において、分散して処理することができるデータは、たとえば印刷ジョブまたは保存ジョブである。このように、本実施形態のプリントコントローラー１０は、画像形成プロセスにおいて非常に汎用性が高いデータを処理することできる。
【００６０】
また、本実施形態のプリントコントローラー１０において、各ブレードに設けられたＲＩＰ手段は、印刷ジョブを頁毎にＲＩＰ、または印刷ジョブの全頁をＲＩＰする。したがって、本実施形態のプリントコントローラー１０によれば、たとえばストレージの使用率または空き容量を考慮して、ＲＩＰする印刷ジョブの単位を選択することができる。
【００６１】
また、本実施形態のプリントコントローラー１０において、ストレージ手段は、ＲＩＰ手段によってＲＩＰされたデータを印刷頁毎に保存する。したがって、本実施形態のプリントコントローラー１０によれば、たとえばストレージの使用率または空き容量を考慮して、保存するデータの単位を選択することができる。
【００６２】
また、本実施形態のプリントコントローラー１０において、ストレージ手段は、作業領域を備え、当該作業領域にＲＩＰ手段によってＲＩＰを行うデータを一時的に保存する。したがって、本実施形態のプリントコントローラー１０によれば、たとえば、一つのブレードでジョブのＲＩＰのみ行い、その後、ジョブを他のブレードに保存する作業が可能である。
【００６３】
本発明は、上述した本実施形態のみに限定されるものではなく、特許請求の範囲内において、種々改変することができる。
【００６４】
たとえば、本実施形態のプリントコントローラー１０は、プリントエンジン２０と別々に設けられる構成として説明した。しかしながら、本発明はこのような構成に限定されることはなく、本実施形態のプリントコントローラー１０をプリントエンジン２０に内蔵する構成としてもよい。
【符号の説明】
【００６５】
１０  プリントコントローラー、
２０  プリントエンジン、
３０  クライアント端末装置。
【図１】
0005834973.tif 000002
【図２】
0005834973.tif 000003
【図３】
0005834973.tif 000004
【図５】
0005834973.tif 000005
【図６】
0005834973.tif 000006
【図４】
0005834973.tif 000007