(57)【要約】【課題】使用できるオブジェクトを限定することなく且つ大容量の物理メモリを必要とすることなく、ガベージコレクションの発生を制御可能なメモリ管理制御技術を提供する。【解決手段】電力モード移行検知部１０２は、省電力モードへの移行条件の成立を検知する。電力制御部１０４は、省電力モードへの移行条件が成立したと電力モード移行検知部１０２が検知した場合、各ハードウェアの動作状況を確認して、省電力モードに移行可能であるか否かを判断する。ＧＣ制御部１０５は、省電力モードに移行可能であると電力制御部１０４が判断した場合、ガベージコレクタ１０１に対してガベージコレクションの発生を要求する。ガベージコレクタ１０１は、ガベージコレクションを発生させる。【選択図】図３
2010244342.tif 000002
【特許請求の範囲】
【請求項１】
ガベージコレクション機能を備えるプログラミング言語を備えるオブジェクト指向プログラミング言語によって実装されるソフトウェアにより制御されるメモリ管理制御装置であって、
ユーザが当該画像形成装置を少なくとも所定の時間使用していないことを検知する検知手段と、
前記検知手段の検知結果に応じて、ガベージコレクションを発生させる制御手段とを備える
ことを特徴とするメモリ管理制御装置。
【請求項２】
被写体からの反射光を光電変換して生成された画像信号に基づいて、記録媒体に画像を形成する画像形成手段と、
前記検知手段の検知結果に応じて、前記画像形成手段に対して所定の電力を供給する通常動作モードから、所定の電力より低位の電力を前記画像形成手段に対して供給する省電力モードに当該画像形成装置を移行させる移行処理手段とを備え、
前記制御手段は、前記移行処理手段が当該画像形成装置を前記通常動作モードから前記省電力モードに移行させる場合に、ガベージコレクションを発生させる
ことを特徴とする請求項１に記載のメモリ管理制御装置。
【請求項３】
前記制御手段は、
前記検知手段の検知結果に応じて、ガベージコレクションの対象となるメモリに確保されるヒープメモリの使用状況を取得する取得手段と、
前記ヒープメモリの使用状況に応じて、前記ヒープメモリのサイズを拡張する拡張手段と、
前記ヒープメモリにおいてガベージコレクションを発生させるガベージコレクタとを有する
ことを特徴とする請求項１又は２に記載のメモリ管理制御装置。
【請求項４】
前記検知手段の検知結果に応じて、スワップの発生状況を取得する取得手段と、
前記スワップの発生状況に応じて、ガベージコレクションの対象となるメモリの増設をユーザに対して促す報知手段とを更に備える
ことを特徴とする請求項１乃至３のいずれか一項に記載のメモリ管理制御装置。
【請求項５】
ガベージコレクションの対象となるメモリのサイズに応じて、当該メモリに確保するヒープメモリの初期のサイズを変更する変更手段を更に備える
ことを特徴とする請求項１乃至４のいずれか一項に記載のメモリ管理制御装置。
【請求項６】
ガベージコレクション機能を備えるプログラミング言語を備えるオブジェクト指向プログラミング言語によって実装されるソフトウェアにより制御されるメモリ管理制御装置で実行されるメモリ管理制御方法であって、
前記メモリ管理制御装置は、検知手段と、制御手段とを備え、
前記検知手段が、ユーザが当該画像形成装置を少なくとも所定の時間使用していないことを検知する検知ステップと、
前記制御手段が、前記検知ステップでの検知結果に応じて、ガベージコレクションを発生させる制御ステップとを含む
ことを特徴とするメモリ管理制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリ管理制御装置及びメモリ管理制御方法に関する。
【背景技術】
【０００２】
画像形成装置では、コピーやプリンタの生産性やファクシミリの通信性能などの各種性能を安定させることが必要である。一方、画像形成装置の中には、ガベージコレクション(以下ＧＣという)機能を有するオブジェクト指向プログラミング言語によって実装されるソフトウェアにより制御される機種がある。このような機種においては、動作中にメジャーガベージコレクション（以下 メジャーＧＣという）が発生する回数を抑えて性能を安定させる必要がある。尚、ガベージコレクション及びメジャーガベージコレクションとは、オペレーティング・システム（以下ＯＳという）のメモリ管理機能の一つであり、プログラムが使用しなくなったメモリ領域や、プログラム間の隙間のメモリ領域を集めて、連続した利用可能なメモリ領域を増やす技術である。このメジャーＧＣが不完全なＯＳでは次第に利用可能なメモリが減ってゆくため、一定期間ごとに再起動を強いられることになる。従って、メジャーＧＣを発生させることは重要であるが、一方で、メジャーＧＣの発生を抑えなければならない理由は例えば以下の通りである。様々な機能が搭載されている画像形成装置では多くのヒープメモリが必要とされるが、多くのヒープメモリを確保している場合には、メジャーＧＣの処理に５〜６秒かかり、その間、通常の処理は停止させられてしまうからである。そこで、使用するオブジェクトを限定することでメジャーＧＣを発生させない技術が考えられ既に知られている。特許文献１には、ＧＣを発生させない目的で、使用する通信プロトコルや同時セッション数などを制限することで、同種のオブジェクトを使い回すことを可能にしている。そのために、新しい通信が発生した際にも、新しいオブジェクトを生成する必要がないために、通信中にＧＣを発生させることをなくしている。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
特許文献１の技術では、使用する機能を限定することで、使用するオブジェクトを限定しており、通信などのある程度プロトコルの決まっているものに対しては、この技術を適用することが可能である。しかし、もともと多くの機能を有しており更に追加で機能をインストールすることが考えられる画像形成装置に対してこの技術を適用する場合、使用するオブジェクトを限定することは困難である。また、生成される可能性のあるすべてのオブジェクトをカバーするようなメモリ領域をヒープメモリとして確保して、そのメモリ領域を使いまわそうとすると膨大な量のメモリ領域が必要になる。そのために大容量の物理メモリを画像形成装置に搭載しなくてはならないという問題があった。
【０００４】
本発明は、上記に鑑みてなされたものであって、使用できるオブジェクトを限定することなく且つ大容量の物理メモリを必要とすることなく、ガベージコレクションの発生を制御することが可能なメモリ管理制御装置及びメモリ管理制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００５】
上述した課題を解決し、目的を達成するために、本発明は、ガベージコレクション機能を備えるプログラミング言語を備えるオブジェクト指向プログラミング言語によって実装されるソフトウェアにより制御されるメモリ管理制御装置であって、ユーザが当該画像形成装置を少なくとも所定の時間使用していないことを検知する検知手段と、前記検知手段の検知結果に応じて、ガベージコレクションを発生させる制御手段とを備えることを特徴とする。
【０００６】
また、本発明は、ガベージコレクション機能を備えるプログラミング言語を備えるオブジェクト指向プログラミング言語によって実装されるソフトウェアにより制御されるメモリ管理制御装置で実行されるメモリ管理制御方法であって、前記メモリ管理制御装置は、検知手段と、制御手段とを備え、前記検知手段が、ユーザが当該画像形成装置を少なくとも所定の時間使用していないことを検知する検知ステップと、前記制御手段が、前記検知ステップでの検知結果に応じて、ガベージコレクションを発生させる制御ステップとを含むことを特徴とする。
【発明の効果】
【０００７】
本発明によれば、使用できるオブジェクトを限定することなく且つ大容量の物理メモリを必要とすることなく、ガベージコレクションの発生を制御することが可能になる。
【図面の簡単な説明】
【０００８】
【図１】図１は、一実施の形態にかかる画像形成装置の外観を例示する図である。
【図２】図２は、画像形成装置１０のハードウェア構成を示した図である。
【図３】図３は、画像形成装置１０のソフトウェア構成を示した図である。
【図４】図４は、画像形成装置１０の行う省エネモード移行処理の手順を示すフローチャートである。
【図５】図５は、一変形例にかかるステップＳ４の処理の詳細な手順を示す図である。
【図６】図６は、一変形例にかかる画像形成装置１０の行う省エネモード移行処理の手順を示すフローチャートである。
【発明を実施するための形態】
【０００９】
以下に添付図面を参照して、この発明にかかるメモリ管理制御装置及びメモリ管理制御方法の最良な実施の形態を詳細に説明する。
【００１０】
（１）構成
本実施の形態においては、メモリ管理制御装置を画像形成装置に適用した例について説明する。図１は、本実施の形態にかかる画像形成装置の外観を例示する図である。画像形成装置１０は、コピー機能、プリント機能、スキャナ機能及びファクシミリ機能を有するＭＦＰ(Multi-Function Peripheral)であり、オートドキュメント・フィーダ（ＡＤＦ）１２と、ＡＤＦ１２により供給されたドキュメント（被写体）からの反射光を光電変換して画像信号を生成するＣＣＤ（光電素子）を備えたイメージ・リーダ１４とを備えている。ＡＤＦ１２とイメージ・リーダ１４とはスキャナ装置を形成している。尚、ＡＤＦ１２を使用しない場合には、イメージ・リーダ１４は、原稿台に沿って移動して、ドキュメントを読み取る構成とされていても良い。この場合、イメージ・リーダ１４とその駆動制御装置をスキャナ装置として参照することができる。
【００１１】
このような構成において、ユーザがＡＤＦ１２のフィーダにドキュメントをセットし、オペレーション・パネルを介して操作入力を行なうと、ドキュメントがＡＤＦ１２によりイメージ・リーダ１４へと送られ、ＣＣＤが生成した画像信号に基づいて画像データが生成される。尚、オペレーション・パネルとは、ユーザの操作入力を受け付けるキーボードやマウスなどの操作入力装置と、情報を表示する表示装置とが一体的に形成されたものである。そして、生成された画像データは、コントロール・ユニット１６へと送られて、コントロール・ユニット１６が含む制御処理部により画像処理が行われる。画像処理が行われた画像データは、例えばＦＩＦＯ(First in-First out)バッファなどに送られて、画像データに対応して変調されたレーザ・ビームまたはＬＥＤ光線が露光光学系を介して感光体ドラム１８上に照射され、変調されたレーザ・ビームなどに応答して生成されるフォト・キャリアにより感光体ドラム１８上の帯電がキャンセルされて、静電潜像が形成される。
【００１２】
その後、感光体ドラム１８に形成された静電潜像は、感光体ドラム１８の回動に伴って現像装置２０へと搬送されて行き、現像装置２０により現像される。現像装置２０により現像された着色像は、その後、転写部材２２により中間転写体２４へと転写される。中間転写体２４は、さらに矢線Ａ方向へと転写された着色像と共に移動して行き、２次転写装置２６により、紙またはプラスチック・シートなどの記録媒体へと転写され、さらに定着装置２８により定着される。このようにして、ＣＣＤが生成した画像信号に基づいて記録媒体に画像が形成される。
【００１３】
なお、図１に示した画像形成装置１０は、感光体ドラム１８としてシアン（Ｃ）、マゼンタ（Ｍ）、イエロー（Ｙ）、ブラック（Ｂ）などの４色に対応するカラー画像形成装置として示されている。しかし、Ｂに対応する感光体ドラムのみを備え、中間転写体を使用せずに転写材に着色像を転写するモノクロ画像形成装置、プリンタとすることもできる。
【００１４】
また、画像形成装置１０には、公衆電話回線またはＩＳＤＮなどの回線３０に接続されていて、アナログまたはディジタル通信によるファクシミリ伝送、またはメール伝送を行う。さらに、画像形成装置１０は、１０ＢＡＳＥ−１００などのイーサネット（登録商標）接続ケーブル３２を介して、ローカルエリア・ネットワーク（ＬＡＮ）、またはワイドエリア・ネットワーク（ＷＡＮ）、またはインターネットなどのネットワークに接続され、メールなどのネットワーク・サービスを提供している。画像形成装置１０は、フロッピー（登録商標）、ＣＤ−ＲＯＭ、ハードディスク・ドライブ（図示せず）といった大容量記憶装置およびＲＡＭなどの記憶装置を備えていて、取得した画像データを蓄積し、ユーザの指令または要求に基づいて、蓄積した画像データを処理している。
【００１５】
図２は、画像形成装置１０のハードウェア構成を示した図である。同図に示されるように、画像形成装置１０は、スキャナＩ／Ｆ５４と、入出力Ｉ／Ｆ５６と、ＣＰＵ４２と、ＲＡＭ４４と、ＲＯＭ４６とを備えている。
【００１６】
ＣＰＵ４２は、画像形成装置１０全体を制御する。また、ＣＰＵ４２は、時間をカウントするタイマを有する。ＲＯＭ４６は、各種設定データやＣＰＵ４２が実行する各種プログラムを記憶する。ＲＡＭ４４は、各種設定データや各種プログラムを一時的に記憶するものであり、ＣＰＵ４２が各種プログラムを実行する際の作業領域として機能する。スキャナＩ／Ｆ５４は、画像形成装置が備えるスキャナ装置５０により取得された画像データが入力されると、当該画像データを内部処理に適した形式に変換して、内部バス７６を介してＣＰＵ４２に対して割り込み処理によって受け渡すと共に、画像処理部４８に受け渡す。入出力Ｉ／Ｆ５６は、オペレーション・パネル５２においてユーザの操作入力が行われると、当該操作入力のデータを内部処理に適した形式に変換して、内部バス７６を介してＣＰＵ４２に対して割り込み処理によって受け渡す。画像処理部４８は、スキャナ装置５０が取得した画像データを処理し、文字イメージ処理、画像イメージ処理および彩色判定などの処理を行い、処理単位ごとにＦＩＦＯバッファ（図示せず）に送り、それ以後の各機能処理部における処理へと提供している。また、取得されたオリジナル画像は、ＲＡＭ４４などの記憶部に記憶される。その後オリジナル画像はユーザ指令に応答してＲＡＭ４４に読み出され、ユーザ指定に応答した画像処理が実行される。
【００１７】
制御処理部４０は、さらにファクシミリ・コントローラ５８、エンジン・コントローラ６０、ネットワーク・インタフェース・カード（ＮＩＣ）６２と、ハードディスクやフロッピー（登録商標）ディスクなどの外部記憶装置を管理するＩＤＥ(Integrated Drive Electronics)などのインタフェース６４などを含む機能処理部、およびそのためのＩ／Ｆを備えている。各機能処理部の処理を説明すると、ファクシミリ・コントローラ５８は、ファクシミリ・フォーマットへと変換された画像データに対してファクシミリ番号などを対応させ、さらにＧ３、Ｇ４、Ｔ−３０などのプロトコルを使用して、モデムなどのファクシミリ送受信装置７８を介して直接、公衆電話回線またはＤＳＵ／ＴＡ６８を通してファクシミリ機能を提供している。
【００１８】
エンジン・コントローラ６０は、画像形成装置の中心的な機能処理部であり、画像制御装置の感光体回転駆動、帯電、露光、現像、転写、定着などの作像シーケンスを、それぞれのコントローラやドライバを使用して制御している。ＮＩＣ６２は、ネットワーク・インタフェース・カードとして構成されており、ソフトウェア及びハードウェア的に、データリンク層レベルおよび物理層レベルでの通信を管理する機能処理部を提供している。ＮＩＣ６２は、イーサネット（登録商標）を経由してＳＭＴＰまたはＰＯＰ３プロトコルを用いてメール通信などおよびＴＣＰ／ＩＰ、ＵＤＰ／ＩＰ、ＮＥＴＢＥＵＩなどのレベルでのデータ送受信を行っている。
【００１９】
ＩＤＥ６４は、例えば、ＡＴＡ、シリアルＡＴＡ、ＡＴＡＰＩ、ＡＴＡ−４などの規格を有しており、スキャナ装置により取得され、ＢＭＰ、ＴＩＦＦ、ＪＰＥＧ、ＪＰＥＧ２０００、ＧＩＦ、ＰＩＣＴ、メタファイル、オリジナル・フォーマットなどの適切なフォーマットとして変換された画像データを、ハードディスク・ドライブ（ＨＤＤ）７４へと記憶させて、後のユーザ利用のために提供するための記憶機能処理部を提供している。ＨＤＤ７４には、制御プログラムのためのオペレーティング・システムおよびプログラムも記憶され得る。なお、本実施の形態において作像エンジン７０とエンジン・コントローラ６０との間は、ＵＳＢ(Universal Serial Bus)、またはＩＥＥＥ１２８４などのシリアルまたはパラレルバスで接続することもできる。作像エンジン７０は、上述した感光体ドラム１８及び現像装置２０を含むものであり、記録媒体へ画像を形成する。
【００２０】
図３は、画像形成装置１０のソフトウェア構成を示した図である。本実施の形態にかかる画像形成装置１０のソフトウェアは、画像形成装置１０のＣＰＵ４２がＲＯＭ４６やＨＤＤ７４に記憶されたプログラムをＲＡＭ４４にロードすることによって画像形成装置１０上に実現される。ＣＰＵ４２はこのソフトウェアを実行することにより各種処理を行って各種機能を実現させる。同図に示されるように、本実施の形態にかかるソフトウェア構成は、３層の階層構造を有している。第１層８２には、ＬＡＮなどを介してプリント要求に対応するためのプリンタ・アプリケーションＰＡ、オペレーション・パネル５２からの操作入力に応じてコピー処理を可能とするコピー・アプリケーションＣＡ、ファクシミリ送信先を設定し、ファクシミリ送受信装置にデータを渡す処理などを可能とするファクシミリ・アプリケーションＦＡの各ソフトウェアを有する。また、第１層８２には、さらにスキャナ装置からの画像の処理を可能とするスキャナ・アプリケーションＳＡ、ネットワークへの接続を管理するネットワーク・アプリケーションＮＡ、ユーザ・インタフェース形成処理を可能とするパネル・ディスプレイ処理アプリケーションＰＤＡ、およびＳＭＴＰ(Simple Mail Transfer Protocol)やＰＯＰ３プロトコルなどに基づくメール転送またはメール受信などを可能とするためのメーラなどの電子メール・アプリケーションＥＭＡの各ソフトウェアを有する。
【００２１】
第２層８４は、オペレーティング・システム８６と、言語ランタイム１００と、ガベージコレクタ１０１と、画像形成装置１０の初期検査および入出力管理を行うためのユーティリティ・ソフトウェア群８８とを有する。言語ランタイム１００は、オブジェクト指向プログラミング言語によって実装されるソフトウェアであり、オペレーティング・システム８６上でプログラミング言語や環境に依存しない中間言語を解釈して、各種機能を実現させる。具体的には、言語ランタイム１００は、ガベージコレクタ１０１を有し、ガベージコレクタ１０１は、言語ランタイム１００の制御の下、プログラムが動的に確保したメモリ領域（ヒープメモリという）のうち、不要になったメモリ領域を解放する、即ち、ガベージコレクションを発生させる。更に、本実施の形態においては、ガベージコレクタ１０１は、後述するＧＣ制御部１０５からの要求に応じて、ガベージコレクションを発生させる。尚、ここでは例えばＲＡＭ４４にヒープメモリ１０６が確保されるとする。オブジェクト指向言語においては、プログラムの実行中に必要なオブジェクトがヒープメモリ１０６に記憶される。
【００２２】
ユーティリティ・ソフトウェア群８８は、それぞれエンジン・コントローラＥＣ、駆動系などのメカニクスのためのメカニクス・コントローラＭＣ、露光光学系、スキャナなどの光学系を制御するためのオプティカル・コントローラＯＣ、ファクシミリ機能を起動してユーザ入力された宛先に対して画像データを送信するためのファクシミリ・コントローラＦＣ、ＲＡＭなどのメモリを管理するストレージ・コントローラＳＣ、および画像形成装置１０に接続された装置を検出するためのデバイス・ファインダＤＦなどのソフトウェアを有する。このようなユーティリティ・ソフトウェア群８８は、第３層として図３において示した各デバイスＩ／Ｆと協働して、各機能処理部を構成するハードウェアとの入出力および各ハードウェアのシーケンス処理など、ハードウェア固有のインタフェースまたはデバイス・ドライバとデータ送受信を行って、第１層８２のソフトウェアの実行結果を、ハードウェアへと渡している。
【００２３】
更に本実施の形態においては、ユーティリティ・ソフトウェア群８８は、電力モード移行検知部１０２と、省電力モード移行処理部１０３とを有する。電力モード移行検知部１０２は、省電力モードへ移行するための条件（移行条件という）が成立したか否かを判断して、判断結果に応じて、省電力モードへの移行条件の成立を検知する。尚、ここでは、電力モードとして、各々通電状態の異なる通常動作モード及び省電力モードが設定される。通常動作モードとは、コマンド、データなどの入力を受け、画像を形成する処理や、コマンドやデータなどの受信に応じた処理を即時実行可能な状態で待ち受けている状態である。省電力モードとは、画像形成装置１０の消費電力をより低減させた待機状態である。通常動作モードにおける待機状態が全てのハードウェアに所定の電位の電力を供給する状態であるのに対し、省電力モードでは、コマンドやデータを受け付けるための最低限のハードウェアのみに電力を供給し、作像エンジン７０などのハードウェアに対しては電力を供給しない又は所定の電位より低位の電力を供給して、画像形成装置１０の消費電力を低減させる。省電力モードへの移行条件とは、例えば、少なくとも所定の時間画像形成装置１０のオペレーション・パネル５２においてユーザの操作入力が行なわれていない、少なくとも所定の時間画像形成装置１０においてエンジンの動作を行っていない、省電力モードへの移行を指示する操作入力がオペレーション・パネル５２において行なわれたことなどである。例えば、画像形成装置１０は、オペレーション・パネル５２で操作入力が行なわれてからタイマを起動させ、当該タイマが計時する時間と、所定の時間とを比較して、前者が後者の時間を超える場合に、少なくとも所定の時間ユーザの操作入力が行なわれていないと判断して、省電力モードへの移行条件が成立したと判断する。尚、所定の時間は、ユーザが任意に設定可能であるようにしても良い。設定された所定の時間の値は例えばＨＤＤ７４に記憶される。また、画像形成装置１０が省電力モードに移行した後、オペレーション・パネル５２において操作入力が行なわれた場合、電力モード移行検知部１０２は、通常動作モードへ復帰するための条件が成立したと判断する。
【００２４】
省電力モード移行処理部１０３は、電力制御部１０４と、ＧＣ制御部１０５とを有する。電力制御部１０４は、省電力モードへの移行条件が成立したと電力モード移行検知部１０２が検知した場合、上述した各ハードウェアの動作状況を確認して、省電力モードに移行可能であるか否かを判断する。例えば、電力制御部１０４は、動作しているハードウェアがない場合、省電力モードに移行可能であると判断し、動作しているハードウェアがある場合、省電力モードに移行可能ではないと判断する。そして、電力制御部１０４は、省電力モードに移行可能であると判断した場合、当該画像形成装置１０を省電力モードに移行させるべく、各ハードウェアに対して省電力モードに対応した電力の供給を行う。また、通常動作モードへ復帰するための条件が成立した電力モード移行検知部１０２が判断した場合、電力制御部１０４は、当該画像形成装置１０を通常動作モードに移行させるべく、各ハードウェアに対して通常動作モードに対応した電力の供給を行う。ＧＣ制御部１０５は、省電力モードに移行可能であると電力制御部１０４が判断した場合、ガベージコレクタ１０１に対してガベージコレクションの発生を要求する。
【００２５】
以上のような構成において、本実施の形態においては、ユーザが画像形成装置１０を使用している際にガベージコレクションを発生させないように、ヒープメモリ１０６のサイズを予め大きめに確保しておく。それでもヒープメモリ１０６に少しずつ溜まっていってしまうガベージを排除するために、ユーザがある程度の時間使用しない状態である省電力モードの状態に移行する際の任意のタイミングでガベージコレクションを発生させる。この結果、ユーザが使用しているタイミングでガベージコレクションを発生させることがなく、ユーザの操作に応じた動作に支障をきたすことを防止することができる。
【００２６】
（２）動作
次に、本実施の形態にかかる画像形成装置１０の行う省エネモード移行処理の手順について図４を用いて説明する。画像形成装置１０は、電力モード移行検知部１０２の機能により、省電力モードへの移行条件が成立したか否かを判断する（ステップＳ１）。当該判断結果が肯定的である場合、画像形成装置１０は、電力制御部１０４の機能により、各ハードウェアの動作状況を確認して、省電力モードに移行可能であるか否かを判断する（ステップＳ２）。当該判断結果が肯定的である場合、画像形成装置１０は、ガベージコレクタ１０１の機能により、ガベージコレクションを発生させる（ステップＳ４）。また、画像形成装置１０は、電力制御部１０４の機能により、各ハードウェアに対して省電力モードに対応した電力の供給を行う（ステップＳ５）。この結果、画像形成装置１０は、省電力モードに移行する。尚、ステップＳ２の判断結果が否定的である場合、画像形成装置１０は、電力モード移行検知部１０２の機能により、数秒（例えば１０秒）間のタイマを起動させ、数秒間待機する（ステップＳ３）。数秒が経った後、画像形成装置１０は、ステップＳ１で、電力モード移行検知部１０２の機能により、省電力モードへの移行条件が成立したか否かを再度判断して、以降の処理を繰り返す。
【００２７】
以上のように、ユーザが画像形成装置１０を所定の時間使用していない状態である省電力モードの状態に移行するタイミングでガベージコレクションを発生させる。このような構成によれば、機能を制限することで使用するオブジェクトを制限したり、大容量の物理メモリを用意して、作成する可能性のある全てのオブジェクトを使い回すことのできるほど大きなサイズのヒープメモリを確保したりすることなく、ガベージコレクションの発生を抑制することができる。この結果、ガベージコレクションの発生による問題を回避することができる。即ち、ユーザが画像形成装置１０を使用している間にガベージコレクションが発生することにより処理が停止して、コピーなどの生産性やファクシミリ通信などのリアルタイム性が低下してしまうという問題を回避することができる。従って、ガベージコレクションの発生を効果的に制御することができる。
【００２８】
[変形例]
なお、本発明は前記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、前記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。また、以下に例示するような種々の変形が可能である。
【００２９】
＜変形例１＞
上述した実施の形態において、画像形成装置１０で実行される各種プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。当該各種プログラムを、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ、ＤＶＤ（Digital Versatile Disk）等のコンピュータで読み取り可能な記録媒体に記録してコンピュータプログラムプロダクトとして提供するように構成しても良い。
【００３０】
＜変形例２＞
上述の実施の形態では、メモリ管理制御装置を、画像形成装置として、コピー機能、プリンタ機能、スキャナ機能及びファクシミリ機能を有する複合機に適用した例について説明したが、これに限らず、コピー機能、プリンタ機能、スキャナ機能及びファクシミリ機能のうち少なくとも２つ以上の機能を有する複合機、複写機、プリンタ、スキャナ装置、ファクシミリ装置等の画像形成装置であればいずれにも適用することができる。
【００３１】
上述の実施の形態では、図４のステップＳ２で省電力モードに移行可能であると判断した直後にステップＳ４でガベージコレクションを発生させるようにした。しかし、これに限らず、ガベージコレクションを発生させるのは、ステップＳ５の後でも良いし、省電力モードへ移行可能であると判断してから通常動作モードに復帰するまでの間であれば良い。
【００３２】
＜変形例３＞
上述の実施の形態では、ユーザが画像形成装置１０を少なくとも所定の時間使用していない状態として、省電力モードの状態に移行する際にガベージコレクションを発生させるようにしたが、これに限らず、例えば、余熱モードの状態に移行する際に、ガベージコレクションを発生させるようにしても良い。余熱モードとは、オペレーション・パネル５２における表示を消すと共に、作像エンジン７０の有する定着器（図示せず）の温度を下げる電力モードである。
【００３３】
また、ユーザが画像形成装置１０を少なくとも所定時間使用していない状態であっても、省電力モードに移行しない設定である場合、ユーザが画像形成装置１０を少なくとも所定時間使用していないことを検知すると、ガベージコレクションを発生させるようにしても良い。
【００３４】
＜変形例４＞
上述の実施の形態では、ガベージコレクションの対象の物理メモリをＲＡＭ４４とし、ＲＡＭ４４にヒープメモリ１０６が確保されるようにしたが、これに限らず、ＨＤＤ７４やその他の物理メモリにヒープメモリが確保されるようにしても良い。
【００３５】
また、画像形成装置１０に搭載されている物理メモリのサイズに応じて、ヒープメモリの初期のサイズを変更するようにしても良い。
【００３６】
＜変形例５＞
上述の実施の形態では、図４のステップＳ４でガベージコレクションを発生させる際に、ヒープメモリ１０６のサイズを必要に応じて拡張するようにしても良い。このような構成においては、ＧＣ制御部１０５は、省電力モードに移行可能であると電力制御部１０４が判断した場合、言語ランタイム１００を介してヒープメモリ１０６の使用状況を取得して、当該使用状況に応じて、ヒープメモリ１０６のサイズを拡張して、ガベージコレクタ１０１に対してガベージコレクションの発生を要求する。尚、ヒープメモリ１０６のサイズとは、Java（登録商標）の場合、言語ランタイムの最大メモリ「：java.Runtime.Maxmemory()」で取得することの可能な値であり、ヒープメモリとして確保される最大のサイズのことである。このサイズは、本来であれば拡張されることのないものである。
【００３７】
図５は、本変形例にかかるステップＳ４の処理の詳細な手順を示す図である。まず、画像形成装置１０は、ＧＣ制御部１０５の機能により、言語ランタイム１００を介してヒープメモリ１０６の使用状況を取得して、ヒープメモリ１０６のサイズの拡張が必要か否かを判断する（ステップＳ４０）。例えば、画像形成装置１０は、使用するオブジェクトのサイズと、ヒープメモリ１０６のサイズとを比較して、後者から前者を引いた値が所定値以下である場合、ヒープメモリ１０６のサイズの拡張が必要であると判断する。ステップＳ４０の判断結果が肯定的である場合、画像形成装置１０は、ヒープメモリ１０６のサイズの拡張が可能か否かを判断する（ステップＳ４１）。例えば、画像形成装置１０は、ＲＡＭ４４全体のサイズやヒープメモリ１０６として使用できるサイズに応じて、拡張が可能か否かを判断する。ステップＳ４１の判断結果が肯定的である場合、画像形成装置１０は、ヒープメモリ１０６のサイズを拡張させる（ステップＳ４２）。拡張させるサイズは、ＲＡＭ４４全体のサイズやヒープメモリ１０６として使用できるサイズに応じて決めれば良い。そして、画像形成装置１０は、ガベージコレクタ１０１の機能により、ヒープメモリのうち、不要になったメモリ領域を解放することにより、ガベージコレクションを発生させる（ステップＳ４３）。ステップＳ４０，Ｓ４１の判断結果が否定的である場合も画像形成装置１０はステップＳ４３の処理を行う。
【００３８】
以上のような構成によれば、ガベージコレクションをより効果的に発生させることができる。
【００３９】
＜変形例６＞
上述の実施の形態では、図４のステップＳ４でガベージコレクションを発生させる前に、スワップの発生状況を検知して、検知結果に応じて、ユーザに対しメモリの増設を促す旨のメッセージをオペレーション・パネル５２に表示させるようにしても良い。このような構成において、省電力モード移行処理部１０３は、スワップ検知部（図示せず）を更に有する。スワップ検知部は、スワップの発生状況を検知して、当該発生状況に応じて、ガベージコレクションの対象となるメモリの増設をユーザに対して促す。これにより、画像形成装置１０は、メモリの増設が必要であることをユーザに報知する。具体的には、例えば、スワップ検知部は、スワップの発生回数やスワップされているデータの量を検知して、当該発生回数が所定の第１閾値以上である場合や、スワップされているデータの量が所定の第２閾値以上である場合に、スワップが多発していると判断して、メモリの増設を促す旨のメッセージをオペレーション・パネル５２に表示させる。尚、画像形成装置１０が音声を出力する音声出力部を備える場合、メモリの増設を促す旨のメッセージを音声で出力するようにしても良い。
【００４０】
図６は、本変形例にかかる画像形成装置１０の行う省エネモード移行処理の手順を示すフローチャートである。ステップＳ１〜Ｓ２は上述の第１の実施の形態と同様である。ステップＳ２０では、画像形成装置１０は、スワップ検知部の機能により、スワップの発生状況を検知して、スワップが多発しているか否かを判断する（ステップＳ２０）。当該判断結果が肯定的である場合、画像形成装置１０は、メモリの増設を促す旨のメッセージをオペレーション・パネル５２に表示させて（ステップＳ２１）、ステップＳ４に進む。ステップＳ２０の判断結果が否定的である場合、画像形成装置１０は、ステップＳ２１の処理を行わずに、ステップＳ４に進む。ステップＳ３〜Ｓ５の処理は上述の第１の実施の形態と同様である。
【００４１】
画像形成装置１０に多くの機能をインストールしていくことでスワップが多発してしまうと、ガベージコレクションが発生する場合のように処理が完全に停止してしまうことはないにせよ、全体的に処理が遅くなってしまい、生産性の低下につながってくる。しかし、本変形例によれば、スワップが多発していることを検知して、ユーザに対してメモリの増設を促すことで、生産性の低下を防ぐことができる。また、本変形例の構成によってメモリの増設を促すことで、メモリの使用量がまちまちでどの程度機能をインストールしたらメモリを増設する必要があるかをサービスパーソンが把握することが可能になる。
【００４２】
＜変形例７＞
上述の実施の形態と、従来技術欄で説明した特許文献１に記載されている技術とを組み合わせても良い。例えば、画像形成装置１０に多くの機能をインストールしたことで、大容量の物理メモリを搭載することになった場合には、特許文献１に記載されている技術と同様にして、一部のオブジェクトを使い回すことにより、ガベージコレクションの発生を抑えるようにしても良い。
【符号の説明】
【００４３】
１０  画像形成装置
１４  イメージ・リーダ
１６  コントロール・ユニット
５２  オペレーション・パネル
７０  作像エンジン
８６  オペレーティング・システム
８８  ユーティリティ・ソフトウェア群
１００  言語ランタイム
１０１  ガベージコレクタ
１０２  電力モード移行検知部
１０３  省電力モード移行処理部
１０４  電力制御部
１０５  ＧＣ制御部
１０６  ヒープメモリ
【先行技術文献】
【特許文献】
【００４４】
【特許文献１】特開２００７−８６８３８号公報
【図１】
2010244342.tif 000003
【図２】
2010244342.tif 000004
【図３】
2010244342.tif 000005
【図４】
2010244342.tif 000006
【図５】
2010244342.tif 000007
【図６】
2010244342.tif 000008