(57)【要約】      （修正有）【課題】画像形成装置におけるメモリ不足の発生を回避しつつ印刷処理を実現する。【解決手段】画像形成装置は、画像形成ジョブの受信に応じて画像形成ジョブに基づいてＲＩＰ処理の実行に利用されるメモリ量である消費メモリ量を予測し、消費メモリ量が所定の記憶領域においてＲＩＰ処理に割り当て可能であるか否かを判断する記憶領域管理部１１１と、割り当て可能でないとの判断に応じて、消費メモリ量でＲＩＰ処理が実行可能な少なくとも１つの他の画像形成装置を検索する検索処理部１１５と、検索された他の画像形成装置に対して、画像形成ジョブを送信してＲＩＰ処理の代行を依頼し、依頼後に画像形成装置の再起動を開始し、再起動の完了後に検索された他の画像形成装置に再起動の完了を通知し、検索された他の画像形成装置からドットデータを受信するＲＩＰ処理代行依頼部１１４と、画像形成媒体上にドットを形成して画像を再現する画像形成部とを備える。【選択図】図１
2020059191.tif 000002
【特許請求の範囲】
【請求項１】
分散画像形成処理に利用可能な画像形成装置であって、
所定の記憶領域を有する記憶部と、
画像形成媒体上のドットの形成状態を表すドットデータを生成するためのＲＩＰ処理を実行するＲＩＰ処理部と、
画像形成ジョブの受信に応じて、前記画像形成ジョブに基づいて前記ＲＩＰ処理の実行に利用されるメモリ量である消費メモリ量を予測し、前記消費メモリ量が前記所定の記憶領域において前記ＲＩＰ処理に割り当て可能であるか否かを判断する記憶領域管理部と、
前記割り当て可能でないとの判断に応じて、前記消費メモリ量で前記ＲＩＰ処理が実行可能な少なくとも１つの他の画像形成装置を検索する検索処理部と、
前記検索された他の画像形成装置に対して、前記画像形成ジョブを送信して前記ＲＩＰ処理の代行を依頼し、前記依頼後に前記画像形成装置の再起動を開始し、前記再起動の完了後に前記検索された他の画像形成装置に前記再起動の完了を通知し、前記検索された他の画像形成装置から前記ドットデータを受信するＲＩＰ処理代行依頼部と、
前記受信したドットデータに基づいて画像形成媒体上にドットを形成して画像を再現する画像形成部と、
を備える画像形成装置。
【請求項２】
請求項１に記載の画像形成装置であって、
前記検索処理部は、前記割り当て可能でないとの判断に応じて、前記消費メモリ量を表す消費メモリ情報を含む照会通知を前記少なくとも１つの他の画像形成装置に送信し、
前記記憶領域管理部は、前記照会通知の受信に応じて、前記消費メモリ情報が前記所定の記憶領域において前記ＲＩＰ処理に割り当て可能であるか否かを判断し、
前記検索処理部は、前記割り当て可能であるとの判断に基づいて、前記照会通知に対して前記割り当て可能であるとの通知を返信する画像形成装置。
【請求項３】
請求項１又は２に記載の画像形成装置であって、
前記ＲＩＰ処理部は、前記消費メモリ量に基づいてバッファ領域のサイズを設定し、前記設定されたサイズのバッファ領域を確保し、前記確保されたバッファ領域を使用して前記検索された他の画像形成装置から受信した前記ドットデータを前記画像形成部に提供する画像形成装置。
【請求項４】
請求項１乃至３のいずれか１項に記載の画像形成装置であって、
前記画像形成装置は、画像が形成された画像形成媒体に対して、後処理を実行する後処理装置が接続され、
前記画像形成ジョブは、前記後処理の実行を要求している画像形成装置。
【請求項５】
請求項１乃至４のいずれか１項に記載の画像形成装置を複数備え、分散画像形成処理を実行する分散画像形成システム。
【請求項６】
所定の記憶領域を有する記憶部を使用して分散画像形成処理を実行する画像形成方法であって、
画像形成媒体上のドットの形成状態を表すドットデータを生成するためのＲＩＰ処理を実行するＲＩＰ処理工程と、
画像形成ジョブの受信に応じて、前記画像形成ジョブに基づいて前記ＲＩＰ処理の実行に利用されるメモリ量である消費メモリ量を予測し、前記消費メモリ量が前記所定の記憶領域において前記ＲＩＰ処理に割り当て可能であるか否かを判断する記憶領域管理工程と、
前記割り当て可能でないとの判断に応じて、前記消費メモリ量で前記ＲＩＰ処理が実行可能な少なくとも１つの他の画像形成装置を検索する検索処理工程と、
前記検索された他の画像形成装置に対して、前記画像形成ジョブを送信して前記ＲＩＰ処理の代行を依頼し、前記依頼後に前記画像形成装置の再起動を開始し、前記再起動の完了後に前記検索された他の画像形成装置に前記再起動の完了を通知し、前記検索された他の画像形成装置から前記ドットデータを受信するＲＩＰ処理代行依頼工程と、
前記受信したドットデータに基づいて画像形成媒体上にドットを形成して画像を再現する画像形成工程とを備える画像形成方法。
【請求項７】
所定の記憶領域を有する記憶部を備え、分散画像形成処理に利用可能な画像形成装置を制御する画像形成プログラムであって、
画像形成媒体上のドットの形成状態を表すドットデータを生成するためのＲＩＰ処理を実行するＲＩＰ処理部、
画像形成ジョブの受信に応じて、前記画像形成ジョブに基づいて前記ＲＩＰ処理の実行に利用されるメモリ量である消費メモリ量を予測し、前記消費メモリ量が前記所定の記憶領域において前記ＲＩＰ処理に割り当て可能であるか否かを判断する記憶領域管理部、
前記割り当て可能でないとの判断に応じて、前記消費メモリ量で前記ＲＩＰ処理が実行可能な少なくとも１つの他の画像形成装置を検索する検索処理部、
前記検索された他の画像形成装置に対して、前記画像形成ジョブを送信して前記ＲＩＰ処理の代行を依頼し、前記依頼後に前記画像形成装置の再起動を開始し、前記再起動の完了後に前記検索された他の画像形成装置に前記再起動の完了を通知し、前記検索された他の画像形成装置から前記ドットデータを受信するＲＩＰ処理代行依頼部、及び
前記受信したドットデータに基づいて画像形成媒体上にドットを形成して画像を再現する画像形成部として前記画像形成装置を機能させる画像形成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成装置、画像形成方法、分散画像形成システム及び画像形成プログラムに関し、特に分散処理に関する。
【背景技術】
【０００２】
近年、画像形成装置は、高解像度化及び多機能化に伴って多くのメモリを使用するようになっている。一方、画像形成装置はオフィスにおいて複数のユーザーによって共有され、複写や印刷、画像データの送信といった様々なジョブを並行して処理可能なので、並行処理に起因して一時的にメモリが大量に消費されることがある。さらに、画像形成装置は、複数のユーザーから多数のジョブの処理を要求されるので、メモリリークの問題にも曝されることになる。このような問題に対して、たとえば特許文献１は、画像形成装置に対して印刷ジョブを送信するパーソナルコンピュータにおいて、スプール領域として使用することができる記憶領域の容量を検出し、印刷可否メッセージを表示することによって文字抜けや文字化けを含む不適切な印刷を防止する技術を提案している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００４−２２７３９０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、従来は、画像形成装置におけるメモリ不足の発生を回避する方法については必ずしも十分な検討が行われていなかった。
【０００５】
本発明は、このような状況に鑑みてなされたものであり、画像形成装置におけるメモリ不足の発生を回避しつつ印刷処理を実現する技術を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明は、分散画像形成処理に利用可能な画像形成装置を提供する。前記画像形成装置は、所定の記憶領域を有する記憶部と、画像形成媒体上のドットの形成状態を表すドットデータを生成するためのＲＩＰ処理を実行するＲＩＰ処理部と、画像形成ジョブの受信に応じて、前記画像形成ジョブに基づいて前記ＲＩＰ処理の実行に利用されるメモリ量である消費メモリ量を予測し、前記消費メモリ量が前記所定の記憶領域において前記ＲＩＰ処理に割り当て可能であるか否かを判断する記憶領域管理部と、前記割り当て可能でないとの判断に応じて、前記消費メモリ量で前記ＲＩＰ処理が実行可能な少なくとも１つの他の画像形成装置を検索する検索処理部と、前記検索された他の画像形成装置に対して、前記画像形成ジョブを送信して前記ＲＩＰ処理の代行を依頼し、前記依頼後に前記画像形成装置の再起動を開始し、前記再起動の完了後に前記検索された他の画像形成装置に前記再起動の完了を通知し、前記検索された他の画像形成装置から前記ドットデータを受信するＲＩＰ処理代行依頼部と、前記受信したドットデータに基づいて画像形成媒体上にドットを形成して画像を再現する画像形成部とを備える。
【０００７】
本発明の分散画像形成システムは、前記画像形成装置を複数備え、分散画像形成処理を実行する。
【０００８】
本発明は、所定の記憶領域を有する記憶部を使用して分散画像形成処理を実行する画像形成方法を提供する。前記画像形成方法は、画像形成媒体上のドットの形成状態を表すドットデータを生成するためのＲＩＰ処理を実行するＲＩＰ処理工程と、画像形成ジョブの受信に応じて、前記画像形成ジョブに基づいて前記ＲＩＰ処理の実行に利用されるメモリ量である消費メモリ量を予測し、前記消費メモリ量が前記所定の記憶領域において前記ＲＩＰ処理に割り当て可能であるか否かを判断する記憶領域管理工程と、前記割り当て可能でないとの判断に応じて、前記消費メモリ量で前記ＲＩＰ処理が実行可能な少なくとも１つの他の画像形成装置を検索する検索処理工程と、前記検索された他の画像形成装置に対して、前記画像形成ジョブを送信して前記ＲＩＰ処理の代行を依頼し、前記依頼後に前記画像形成装置の再起動を開始し、前記再起動の完了後に前記検索された他の画像形成装置に前記再起動の完了を通知し、前記検索された他の画像形成装置から前記ドットデータを受信するＲＩＰ処理代行依頼工程と、前記受信したドットデータに基づいて画像形成媒体上にドットを形成して画像を再現する画像形成工程とを備える。
【０００９】
本発明は、所定の記憶領域を有する記憶部を備え、分散画像形成処理に利用可能な画像形成装置を制御する画像形成プログラムを提供する。前記画像形成プログラムは、画像形成媒体上のドットの形成状態を表すドットデータを生成するためのＲＩＰ処理を実行するＲＩＰ処理部、画像形成ジョブの受信に応じて、前記画像形成ジョブに基づいて前記ＲＩＰ処理の実行に利用されるメモリ量である消費メモリ量を予測し、前記消費メモリ量が前記所定の記憶領域において前記ＲＩＰ処理に割り当て可能であるか否かを判断する記憶領域管理部、前記割り当て可能でないとの判断に応じて、前記消費メモリ量で前記ＲＩＰ処理が実行可能な少なくとも１つの他の画像形成装置を検索する検索処理部、前記検索された他の画像形成装置に対して、前記画像形成ジョブを送信して前記ＲＩＰ処理の代行を依頼し、前記依頼後に前記画像形成装置の再起動を開始し、前記再起動の完了後に前記検索された他の画像形成装置に前記再起動の完了を通知し、前記検索された他の画像形成装置から前記ドットデータを受信するＲＩＰ処理代行依頼部、及び前記受信したドットデータに基づいて画像形成媒体上にドットを形成して画像を再現する画像形成部として前記画像形成装置を機能させる。
【発明の効果】
【００１０】
本発明によれば、画像形成装置におけるメモリ不足の発生を回避しつつ印刷処理を実現する技術を提供する。
【図面の簡単な説明】
【００１１】
【図１】本発明の一実施形態に係る分散印刷システムの全体構成を示す概略構成図である。
【図２】一実施形態に係る画像形成装置の各機能と各プロセスの関係を示す説明図である。
【図３】一実施形態に係る画像形成装置のメインメモリの各領域の状態の一例を示す説明図である。
【図４】一実施形態に係る画像形成装置のメインメモリの各領域の状態の他の例を示す説明図である。
【図５】一実施形態に係る印刷処理手順の内容を示すフローチャートである。
【図６】一実施形態に係るオフロード処理の内容を示すフローチャートである。
【図７】一実施形態に係るオフロード先処理の内容を示すフローチャートである。
【発明を実施するための形態】
【００１２】
以下、本発明を実施するための形態（以下、「実施形態」という）を、図面を参照して説明する。
【００１３】
図１は、本発明の一実施形態に係る分散印刷システム１０の全体構成を示す概略構成図である。分散印刷システム１０は、分散画像形成システムとも呼ばれ、分散画像形成処理を実行する。分散印刷システム１０は、本実施形態では、３台の画像形成装置１００（１００ａ〜１００ｃ）と、これらを接続するローカルエリアネットワーク（単にＬＡＮとも呼ばれる。）３０とを備えている。すなわち、分散印刷システム１０は、複数の画像形成装置１００がＬＡＮ３０を介して相互に接続されることによって構成されている。この例では、３台の画像形成装置１００ａ〜１００ｃは、画像形成装置１００として同一の構成を有している。なお、ＬＡＮ３０には、パーソナルコンピュータ２０も接続されている。
【００１４】
画像形成装置１００は、制御部１１０と、画像読取部１２０と、ＲＩＰ処理部１３０と、記憶部１４０と、通信インターフェース部１５０（通信Ｉ／Ｆとも呼ばれる。）と、画像形成部１６０と、ＦＡＸ通信部１７０とを備えている。ＲＩＰ処理部１３０は、ＰＤＬ解析部１３１と、色変換処理部１３２と、ハーフトーン処理部１３３とを備えている。画像読取部１２０は、原稿から画像を読み取ってデジタルデータである画像データＩＤを生成する。ＲＩＰ処理部１３０は、画像データに対してＲＩＰ処理を実行してビットマップデータであるドットデータを生成する。ＦＡＸ通信部１７０は、ＦＡＸの送受信を実行する。ＦＡＸの送信では、２値化処理が実行される。
【００１５】
画像形成装置１００は、ＬＡＮ３０を介してパーソナルコンピュータ２０に接続されている。画像形成装置１００は、後処理装置４０に接続されている。後処理装置４０は、画像が形成された印刷用紙に対して、穿孔処理やステープル処理、印刷用紙の束を整合する整合処理といった後処理を実行することができる。
【００１６】
画像形成部１６０は、ドットデータに基づいて印刷媒体（図示せず）に画像を形成して排出する。本実施形態では、画像形成部１６０は、画像データＩＤやパーソナルコンピュータ２０から受信した印刷ジョブに基づいて印刷媒体（図示せず）に画像を形成して排出する。ドットデータは、画像形成媒体上のドットの形成状態を表すビットマップデータである。印刷媒体は、画像形成媒体とも呼ばれる。印刷ジョブは、画像形成ジョブとも呼ばれる。
【００１７】
制御部１１０は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）等の制御手段を備えている。また、制御部１１０は、各種Ｉ／Ｏ、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）、バス、その他ハードウェア等のインターフェースに関連するコントローラー機能を備えている。制御部１１０は、画像形成装置１００の全体を制御する。制御部１１０は、この例では、オペレーティングシステムとしてＬｉｎｕｘ（登録商標）カーネルを使用して作動するものとする。
【００１８】
制御部１１０は、記憶領域管理部１１１と、メモリ管理ユニット（Ｍｅｍｏｒｙ  Ｍａｎａｇｅｍｅｎｔ  Ｕｎｉｔ、ＭＭＵとも呼ばれる。）１１２と、所定の記憶領域を有するメインメモリ１１３と、ＲＩＰ処理代行依頼部１１４と、検索処理部１１５とを有している。を有している。メインメモリ１１３は、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）から構成されている。ＣＰＵは、メインメモリ１１３内において、記憶領域管理部１１１によって確保された記憶領域を利用して各処理を実行する。ＭＭＵ１１２は、仮想アドレスを物理アドレスに変換する機能を有している。
【００１９】
記憶部１４０は、非一時的な不揮発性の記録媒体であるハードディスクドライブからなる記憶装置である。記憶部１４０は、プログラム格納領域１４１と、スワップ領域１４２と、ＢＯＸ領域１４３と、消費メモリ情報格納領域１４４とを有している。プログラム格納領域１４１は、制御部１１０が実行する各プロセスを実行するためのプログラムを記憶する。スワップ領域１４２は、メインメモリ１１３のデータをスワップアウトするために予め確保されている領域である。ＢＯＸ領域１４３は、画像形成装置１００のユーザーが画像データその他のデータを保存するために予め確保されている領域である。消費メモリ情報格納領域１４４は、印刷機能や複写機能といった各機能で消費されるメモリ量を表す情報を格納する領域である。
【００２０】
図２は、一実施形態に係る画像形成装置１００の各機能と各プロセスの関係を示す説明図である。画像形成装置１００は、主な機能として印刷機能、複写機能、ＦＡＸ機能、送信機能、ＢＯＸ機能及びメンテナンス機能を有し、各機能を実現するための複数のプロセスを実装している。印刷機能は、ＰＤＬ解析プロセス、色変換プロセス及びハーフトーンプロセスによって実現されている。複写機能は、画像読取プロセス、色変換プロセス及びハーフトーンプロセスによって実現されている。ＦＡＸ機能には、画像読取プロセス及び二値化プロセスが使用される。
【００２１】
送信機能は、この例では、画像を読み取ってｐｄｆファイルとしてパーソナルコンピュータ２０に送信する機能である。送信機能は、画像読取プロセス及びＰＤＦ化プロセスが使用される。ＢＯＸ機能は、画像データ等を圧縮してＢＯＸ領域１４３に格納し、ＢＯＸ領域１４３から読み出して伸張する機能である。ＢＯＸ機能には、画像読取プロセス及び圧縮伸張プロセスが使用される。メンテナンス機能は、この例では、たとえば消耗品（トナー等）の残存状況や印刷枚数を記録し、サポートセンターに送信する機能である。メンテナンス機能には、管理プロセスが使用される。
【００２２】
図３は、一実施形態に係る画像形成装置１００のメインメモリ１１３の各領域の状態の一例を示す説明図である。メインメモリ１１３は、テキスト領域１１３Ｔ、静的領域１１３Ｓ、ヒープ領域１１３Ｈ、空き領域１１３Ｆ及びスタック領域１１３Ｖから構成されている。
【００２３】
テキスト領域１１３Ｔは、プログラム領域とも呼ばれ、機械語に翻訳されたプログラムが格納される固定サイズの領域である。画像形成装置１００は、起動時において、プログラム格納領域１４１から機械語に翻訳されたプログラムを読み出して、テキスト領域１１３Ｔに格納する。各プロセスは、この機械語の命令がＣＰＵで実行されることによって作動する。
【００２４】
静的領域１１３Ｓは、グローバル変数などの静的変数が格納される固定サイズの領域である。静的変数とは、各プロセスの作動時において変化しない変数である。スタック領域１１３Ｖは、自動変数(局所変数)や関数の引数、戻り値といった一時変数などが格納される固定サイズの領域である。スタック領域１１３Ｖには、ＣＰＵのレジスタを一時的に退避させることもできる。
【００２５】
ヒープ領域１１３Ｈは、たとえばＣ言語においては、各プロセスがｍａｌｌｏｃ関数で物理メモリを確保し、ｆｒｅｅ関数で物理メモリを開放することができる動的な領域である。各プロセスは、その動作に必要な記憶領域をｍａｌｌｏｃ関数で物理メモリを確保して動作し、その動作の完了後にｆｒｅｅ関数で物理メモリを開放する。一方、空き領域１１３Ｆは、ヒープ領域１１３Ｈで確保された領域を除いた領域である。したがって、ヒープ領域１１３Ｈ及び空き領域１１３Ｆは、各プロセスの動作に応じて変動する領域である（図３の矢印参照）。
【００２６】
なお、空き領域１１３Ｆの領域の多くは、現実には、制御部１１０のＬｉｎｕｘ（登録商標）カーネルによってバッファやファイルキャッシュの用途に使用されている。しかしながら、Ｌｉｎｕｘ（登録商標）カーネルは、空き領域１１３Ｆの減少に応じて、バッファやファイルキャッシュ用の記憶領域を自動的に開放し、利用可能な記憶領域を増やして各プロセスで利用可能とすることができる。ただし、バッファやファイルキャッシュ用の記憶領域は、過度に制御部１１０の処理能力が低下しない範囲で確保される。
【００２７】
さらに、Ｌｉｎｕｘ（登録商標）カーネルは、バッファやファイルキャッシュ用の記憶領域が小さくなってくると、記憶部１４０のスワップ領域１４２にスワップアウトして利用可能な記憶領域を増やして各プロセスで利用可能とすることができる。ただし、記憶部１４０は、ハードディスクドライブからなる記憶装置なので、スワップアウトは、制御部１１０の処理能力の低下の要因となり得る。
【００２８】
図３（ａ）は、ＲＩＰ処理開始前のメインメモリ１１３の各領域を示している。テキスト領域１１３Ｔ、静的領域１１３Ｓ及びスタック領域１１３Ｖは、各プロセスの作動中においては固定サイズの領域である。この例では、テキスト領域１１３Ｔには、全てのプロセスのプログラムが格納され、全てのプロセスが起動されているものとする。各プロセスは、ヒープ領域１１３Ｈにおいて処理開始に必要な記憶領域を確保している。ＲＩＰ処理は、パーソナルコンピュータ２０からの印刷ジョブの受信や複写操作に応じて開始される。
【００２９】
図３（ｂ）は、ＲＩＰ処理中のメインメモリ１１３の各領域を示している。ＲＩＰ処理では、制御部１１０は、少なくとも色変換プロセス及びハーフトーンプロセスを起動する。色変換プロセス及びハーフトーンプロセスは、各処理に必要な記憶領域のｍａｌｌｏｃ関数での確保と、ｆｒｅｅ関数での開放とを繰り返して作動する。このように、ヒープ領域１１３Ｈは、ＲＩＰ処理に起因して増加することになる。
【００３０】
図４は、一実施形態に係る画像形成装置１００のメインメモリ１１３の各領域の状態の他の例を示す説明図である。図４（ａ）は、ＲＩＰ処理後のメインメモリ１１３の各領域を示している。ＲＩＰ処理後のメインメモリ１１３は、非開放領域が残存してメインメモリ１１３の記憶領域が減少している点で、ＲＩＰ処理前のメインメモリ１１３（図３（ａ）参照）と相違する。このような非開放領域の発生は、一般にメモリリークと呼ばれる。メモリリークは、ガベージコレクションによって軽減されるが、限界も指摘されている。
【００３１】
図４（ｂ）は、ＲＩＰ処理再開後のメインメモリ１１３の各領域を示している。ＲＩＰ処理では、色変換プロセス及びハーフトーンプロセスは、各処理に必要な記憶領域のｍａｌｌｏｃ関数での確保と、ｆｒｅｅ関数での開放とを繰り返して作動する。ただし、空き領域１１３Ｆは、メモリリークに起因する非開放領域よって減少している。画像形成装置１００は、複数のユーザーから多数のジョブの処理を要求されるので、本願発明者は、メモリリークが無視できない問題である点に着目した。
【００３２】
図５は、一実施形態に係る印刷処理手順の内容を示すフローチャートである。印刷処理手順では、画像形成装置１００は、ＰＤＬ解析プロセス、色変換プロセス及びハーフトーンプロセスを使用し、パーソナルコンピュータ２０から受信した印刷ジョブに基づいて印刷媒体（図示せず）に画像を形成して排出する処理である。
【００３３】
ステップＳ１００では、制御部１１０は、印刷ジョブ受信処理を実行する。印刷ジョブ受信処理では、パーソナルコンピュータ２０からの印刷ジョブ受信に応じて、ＣＰＵは、ＰＤＬ解析プロセス、色変換プロセス及びハーフトーンプロセスを必要に応じて起動する。ＰＤＬ解析プロセス、色変換プロセス及びハーフトーンプロセスは、仮想メモリ空間において仮想アドレスを使用して記憶領域を設定する。ＭＭＵ１１２は、仮想アドレスを物理アドレスに変換してメインメモリ１１３内の物理メモリを確保する。
【００３４】
ステップＳ２００では、制御部１１０の記憶領域管理部１１１は、消費メモリ予測処理を実行する。消費メモリ予測処理では、記憶領域管理部１１１は、ジョブの属性を表す属性情報と、複数のプロセスの各起動状態とに基づいて、消費メモリ情報格納領域１４４において消費メモリ量を検索して取得する。消費メモリ情報は、印刷機能や複写機能といった機能の内容と、カラー印刷／モノクロ印刷や解像度といった機能（この例では印刷機能）に関する属性情報とともに消費メモリ量が紐付けられてデータベース化されている。
【００３５】
属性情報には、さらに、複数のプロセスの各起動状態、すなわち各プロセスが印刷ジョブの受信時に起動済みであるか否かを含むようにしてもよい。起動済みであれば、新たに割り当てられるメモリ量が少なくなるからである。消費メモリ情報は、各機能の実行中の使用メモリサイズのピーク値（最大値）を表している。
【００３６】
なお、記憶領域管理部１１１は、複数のプロセスの各起動状態が一致するデータが消費メモリ情報格納領域１４４に格納されていない場合には、画像形成装置１００の複数のプロセスを制御して消費メモリ情報格納領域１４４に格納されている各起動状態に一致させて消費メモリ量を検索するようにしてもよい。なお、消費メモリ量は、他の方法で予測してもよい。
【００３７】
ステップＳ３００では、記憶領域管理部１１１は、空きメモリサイズを取得する。空きメモリサイズは、オペレーティングシステムとしてＬｉｎｕｘ（登録商標）カーネルが使用されているので、たとえば／ｐｒｏｃ／ｍｅｍｉｎｆｏコマンドを使用して取得することができる。この例では、空きメモリサイズは、各プロセスで利用可能なメモリサイズである。
【００３８】
本実施形態では、記憶領域管理部１１１は、バッファやファイルキャッシュ用の記憶領域のうち過度に処理能力を低下させないメモリ量として予め設定されたメモリ量を残して開放可能なメモリ量と、未使用のｆｒｅｅ領域と、印刷機能に不要なデータをスワップアウトして開放可能なメモリ量との和として、空きメモリサイズを算出するものとする。ただし、スワップアウトは、制御部１１０の処理能力の低下の要因ともなり得るので、スワップ処理を前提とすることなく、空きメモリサイズを算出するようにしてもよい。なお、空きメモリサイズは、他の方法で算出してもよい。
【００３９】
ステップＳ４００では、記憶領域管理部１１１は、消費メモリ情報によって表されているメモリ量である消費メモリ量に対して空きメモリサイズが不足するか否かを判断する。記憶領域管理部１１１は、空きメモリサイズが不足しない場合には、処理をステップＳ５００に進め、空きメモリサイズが不足する場合には、処理をステップＳ６００に進める。
【００４０】
ステップＳ５００では、ＲＩＰ処理部１３０は、ＲＩＰ処理を実行する。ＲＩＰ処理では、ＰＤＬ解析部１３１は、ＰＤＬ解析プロセスを実行し、色変換処理部１３２は、色変換プロセスを実行し、ハーフトーン処理部１３３は、ハーフトーンプロセスを実行する。
【００４１】
ＰＤＬ解析プロセスは、ページ記述言語で記述された印刷ジョブを解析して、印刷ジョブに含まれるテキスト（文字）やイメージ、ベクターグラフィックスといったオブジェクトを抽出し、描画処理やフォント処理を実行する。色変換プロセスは、色変換処理を実行して、オブジェクトを表しているＲＧＢ画像データを画像形成部１６０が使用する色材で再現可能なＣＭＹＫ画像データに変換する。ハーフトーンプロセスは、ＣＭＹＫ画像データに対して組織的ディザや誤差拡散といった処理を実行して、画像形成部１６０がトナードットで再現可能な階調数に減色する。
【００４２】
このように、印刷実行処理は、印刷ジョブの内容によっては非常に多量のメモリを消費する処理である。このため、メモリリークの問題は、印刷実行処理において顕在化することが多く、エラーや処理遅延を引き起こすことがあった。
【００４３】
ステップＳ６００では、制御部１１０のＲＩＰ処理代行依頼部１１４は、オフロード処理を実行する。オフロード処理とは、ＲＩＰ処理の代行処理を他の画像装置に依頼する処理である。
【００４４】
図６は、一実施形態に係るオフロード処理の内容を示すフローチャートである。ステップＳ６１０では、画像形成装置１００ａの検索処理部１１５は、オフロード先検索処理を実行する。オフロード先検索処理では、制御部１１０の検索処理部１１５は、画像形成装置１００ａにＬＡＮ３０を介して接続されている２台の画像形成装置１００ｂ，１００ｃの中からＲＩＰ処理のオフロード処理（代行処理）が可能な装置を検索する。
【００４５】
具体的には、検索処理部１１５は、予測された消費メモリ量を表す消費メモリ情報を含む照会通知を少なくとも１つの他の画像形成装置としての２台の画像形成装置１００ｂ，１００ｃに送信する。２台の画像形成装置１００ｂ，１００ｃの記憶領域管理部１１１は、照会通知の受信に応じて、画像形成装置１００ｂ，１００ｃのメインメモリ１１３において、消費メモリ情報によって表されるメモリ量がＲＩＰ処理に割り当て可能であるか否かを判断する。画像形成装置１００ｂ，１００ｃの検索処理部１１５は、割り当て可能であるとの判断に基づいて、照会通知に対して割り当て可能であるとの通知を返信する。
【００４６】
ステップＳ６２０では、画像形成装置１００ａの制御部１１０は、利用可能な画像形成装置を検出できた場合には、処理をステップＳ６３０（印刷ジョブ送信）に進め、利用可能な画像形成装置を検出できなかった場合には、画像形成装置１００ａでＲＩＰ処理を実行する（ステップＳ６４０）。この例では、画像形成装置１００ｂが検索されたものとする。
【００４７】
ステップＳ６３０では、画像形成装置１００ａのＲＩＰ処理代行依頼部１１４は、印刷ジョブ送信処理を実行する。印刷ジョブ送信処理では、画像形成装置１００ａのＲＩＰ処理代行依頼部１１４は、印刷ジョブを画像形成装置１００ｂに送信する。画像形成装置１００ｂは、印刷ジョブの受信完了に応じて受信完了通知を画像形成装置１００ａに送信する。画像形成装置１００ａの制御部１１０は、受信完了通知に基づいて、オフロードフラグの設定と、印刷ジョブのオフロード先と、印刷ジョブを特定する情報とを記憶部１４０に格納する。オフロードフラグの設定は、再起動中にオフロード処理を依頼しているか否かを表すフラグを設定する処理である。
【００４８】
ステップＳ６５０では、画像形成装置１００ａの制御部１１０は、記憶部１４０への格納の完了に応じて再起動処理を実行する。これにより、画像形成装置１００ａは、再起動処理によって、空きメモリ不足の要因であるメモリリークを解消することができる。一方、画像形成装置１００ｂは、画像形成装置１００ａの再起動処理と並行してオフロード先処理（ステップＳ９００）を実行する。
【００４９】
図７は、一実施形態に係るオフロード先処理の内容を示すフローチャートである。ステップＳ９１０では、画像形成装置１００ｂは、印刷ジョブ受信処理を実行する。印刷ジョブ受信処理では、画像形成装置１００ｂは、画像形成装置１００ａから印刷ジョブを受信する。
【００５０】
ステップＳ９２０では、画像形成装置１００ｂのＲＩＰ処理部１３０は、ＲＩＰ処理を開始する。制御部１１０は、圧縮伸張プロセスを使用してＲＩＰデータの圧縮を開始する。制御部１１０は、ＲＩＰデータの圧縮が完了すると、画像形成装置１００ａの再起動の完了まで待機する（ステップＳ９３０）。
【００５１】
一方、画像形成装置１００ａの制御部１１０は、画像形成装置１００ａの再起動の完了に応じて記憶部１４０のオフロードフラグの設定を確認する。オフロードフラグの設定が再起動中にオフロード処理を依頼している旨を表している場合には、画像形成装置１００ａの検索処理部１１５は、記憶部１４０から印刷ジョブのオフロード先を読み出して、そのオフロード先に再起動完了通知を送信する（図６のステップＳ６６０参照）。
【００５２】
ステップＳ９４０（図７参照）では、画像形成装置１００ｂの制御部１１０は、再起動完了通知を受信する。ステップＳ９５０では、画像形成装置１００ｂのＲＩＰ処理部１３０は、ＲＩＰデータを画像形成装置１００ａに送信する。
【００５３】
画像形成装置１００ａのＲＩＰ処理部１３０は、予測された消費メモリ量に基づいてバッファ領域のサイズを設定し、設定されたサイズのバッファ領域を確保する。ＲＩＰ処理部１３０は、バッファ領域を使用してＲＩＰデータを受信し（図６のステップＳ６７０）、画像形成部１６０にドットデータであるＲＩＰデータを提供する。なお、ＲＩＰデータの解凍は、圧縮伸張プロセスを使用して実行される。
【００５４】
ステップＳ７００（図５参照）では、画像形成部１６０は、画像出力処理を実行する。画像出力処理では、画像形成部１６０は、ドットデータに基づいて印刷媒体（図示せず）に画像を形成して排出する。本実施形態では、画像形成部１６０は、画像データＩＤやパーソナルコンピュータ２０から受信した印刷ジョブに基づいて印刷媒体（図示せず）に画像を形成して排出する。
【００５５】
このように、一実施形態に本実施形態に係る分散印刷システム１０は、一の画像形成装置１００ａの印刷ジョブの処理で使用されるメモリ量を推定し、利用可能なメモリ量と比較してメモリ不足が予測される場合には、他の画像形成装置１００（上述の例では、画像形成装置１００ｂ）にＲＩＰ処理をオフロードすることができる。
【００５６】
さらに、分散印刷システム１０は、他の画像形成装置１００ｂでのＲＩＰ処理のオフロード処理と並行して、一の画像形成装置１００ａで再起動を実行してメモリリークの問題を解消することができる。これにより、分散印刷システム１０は、過度に時間をかけることなく、メモリリークの問題を解消しつつ印刷処理を実行することができる。
【００５７】
加えて、ユーザーは、メモリリークの解消のための手動での再起動から開放されるとともに、ＲＩＰ処理に時間を要する大きなジョブのＲＩＰ処理と並行して再起動が行われるので効率的な運用を実現することができる。特に、画像形成装置２００に後処理装置４０が接続され、画像形成ジョブが後処理の実行を要求している場合には、後処理の実行を可能とするので、顕著に利便性を高めることができる。
【００５８】
本発明は、上記実施形態だけでなく、以下のような変形例でも実施することができる。
【００５９】
変形例：上記実施形態では、画像形成装置は、オペレーティングシステムとしてＬｉｎｕｘ（登録商標）カーネルを採用しているが、必ずしもＬｉｎｕｘ（登録商標）カーネルに限定されず、他のオペレーティングシステムを採用していてもよい。
【符号の説明】
【００６０】
１０  分散印刷システム
１００  画像形成装置
１１０  制御部
１１１  記憶領域管理部
１１２  メモリ管理ユニット（ＭＭＵ）
１１３  メインメモリ
１１５  検索処理部
１２０  画像読取部
１３０  ＲＩＰ処理部
１３１  ＰＤＬ解析部
１３２  色変換処理部
１３３  ハーフトーン処理部
１４０  記憶部
１４１  プログラム格納領域
１４２  スワップ領域
１４３  ＢＯＸ領域
１５０  通信インターフェース部
１６０  画像形成部
【図１】
2020059191.tif 000003
【図２】
2020059191.tif 000004
【図３】
2020059191.tif 000005
【図４】
2020059191.tif 000006
【図５】
2020059191.tif 000007
【図６】
2020059191.tif 000008
【図７】
2020059191.tif 000009