説明

メモリ管理制御装置及びメモリ管理制御方法

【課題】使用できるオブジェクトを限定することなく且つ大容量の物理メモリを必要とすることなく、ガベージコレクションの発生を制御可能なメモリ管理制御技術を提供する。
【解決手段】電力モード移行検知部102は、省電力モードへの移行条件の成立を検知する。電力制御部104は、省電力モードへの移行条件が成立したと電力モード移行検知部102が検知した場合、各ハードウェアの動作状況を確認して、省電力モードに移行可能であるか否かを判断する。GC制御部105は、省電力モードに移行可能であると電力制御部104が判断した場合、ガベージコレクタ101に対してガベージコレクションの発生を要求する。ガベージコレクタ101は、ガベージコレクションを発生させる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、メモリ管理制御装置及びメモリ管理制御方法に関する。
【背景技術】
【0002】
画像形成装置では、コピーやプリンタの生産性やファクシミリの通信性能などの各種性能を安定させることが必要である。一方、画像形成装置の中には、ガベージコレクション(以下GCという)機能を有するオブジェクト指向プログラミング言語によって実装されるソフトウェアにより制御される機種がある。このような機種においては、動作中にメジャーガベージコレクション(以下 メジャーGCという)が発生する回数を抑えて性能を安定させる必要がある。尚、ガベージコレクション及びメジャーガベージコレクションとは、オペレーティング・システム(以下OSという)のメモリ管理機能の一つであり、プログラムが使用しなくなったメモリ領域や、プログラム間の隙間のメモリ領域を集めて、連続した利用可能なメモリ領域を増やす技術である。このメジャーGCが不完全なOSでは次第に利用可能なメモリが減ってゆくため、一定期間ごとに再起動を強いられることになる。従って、メジャーGCを発生させることは重要であるが、一方で、メジャーGCの発生を抑えなければならない理由は例えば以下の通りである。様々な機能が搭載されている画像形成装置では多くのヒープメモリが必要とされるが、多くのヒープメモリを確保している場合には、メジャーGCの処理に5〜6秒かかり、その間、通常の処理は停止させられてしまうからである。そこで、使用するオブジェクトを限定することでメジャーGCを発生させない技術が考えられ既に知られている。特許文献1には、GCを発生させない目的で、使用する通信プロトコルや同時セッション数などを制限することで、同種のオブジェクトを使い回すことを可能にしている。そのために、新しい通信が発生した際にも、新しいオブジェクトを生成する必要がないために、通信中にGCを発生させることをなくしている。
【発明の概要】
【発明が解決しようとする課題】
【0003】
特許文献1の技術では、使用する機能を限定することで、使用するオブジェクトを限定しており、通信などのある程度プロトコルの決まっているものに対しては、この技術を適用することが可能である。しかし、もともと多くの機能を有しており更に追加で機能をインストールすることが考えられる画像形成装置に対してこの技術を適用する場合、使用するオブジェクトを限定することは困難である。また、生成される可能性のあるすべてのオブジェクトをカバーするようなメモリ領域をヒープメモリとして確保して、そのメモリ領域を使いまわそうとすると膨大な量のメモリ領域が必要になる。そのために大容量の物理メモリを画像形成装置に搭載しなくてはならないという問題があった。
【0004】
本発明は、上記に鑑みてなされたものであって、使用できるオブジェクトを限定することなく且つ大容量の物理メモリを必要とすることなく、ガベージコレクションの発生を制御することが可能なメモリ管理制御装置及びメモリ管理制御方法を提供することを目的とする。
【課題を解決するための手段】
【0005】
上述した課題を解決し、目的を達成するために、本発明は、ガベージコレクション機能を備えるプログラミング言語を備えるオブジェクト指向プログラミング言語によって実装されるソフトウェアにより制御されるメモリ管理制御装置であって、ユーザが当該画像形成装置を少なくとも所定の時間使用していないことを検知する検知手段と、前記検知手段の検知結果に応じて、ガベージコレクションを発生させる制御手段とを備えることを特徴とする。
【0006】
また、本発明は、ガベージコレクション機能を備えるプログラミング言語を備えるオブジェクト指向プログラミング言語によって実装されるソフトウェアにより制御されるメモリ管理制御装置で実行されるメモリ管理制御方法であって、前記メモリ管理制御装置は、検知手段と、制御手段とを備え、前記検知手段が、ユーザが当該画像形成装置を少なくとも所定の時間使用していないことを検知する検知ステップと、前記制御手段が、前記検知ステップでの検知結果に応じて、ガベージコレクションを発生させる制御ステップとを含むことを特徴とする。
【発明の効果】
【0007】
本発明によれば、使用できるオブジェクトを限定することなく且つ大容量の物理メモリを必要とすることなく、ガベージコレクションの発生を制御することが可能になる。
【図面の簡単な説明】
【0008】
【図1】図1は、一実施の形態にかかる画像形成装置の外観を例示する図である。
【図2】図2は、画像形成装置10のハードウェア構成を示した図である。
【図3】図3は、画像形成装置10のソフトウェア構成を示した図である。
【図4】図4は、画像形成装置10の行う省エネモード移行処理の手順を示すフローチャートである。
【図5】図5は、一変形例にかかるステップS4の処理の詳細な手順を示す図である。
【図6】図6は、一変形例にかかる画像形成装置10の行う省エネモード移行処理の手順を示すフローチャートである。
【発明を実施するための形態】
【0009】
以下に添付図面を参照して、この発明にかかるメモリ管理制御装置及びメモリ管理制御方法の最良な実施の形態を詳細に説明する。
【0010】
(1)構成
本実施の形態においては、メモリ管理制御装置を画像形成装置に適用した例について説明する。図1は、本実施の形態にかかる画像形成装置の外観を例示する図である。画像形成装置10は、コピー機能、プリント機能、スキャナ機能及びファクシミリ機能を有するMFP(Multi-Function Peripheral)であり、オートドキュメント・フィーダ(ADF)12と、ADF12により供給されたドキュメント(被写体)からの反射光を光電変換して画像信号を生成するCCD(光電素子)を備えたイメージ・リーダ14とを備えている。ADF12とイメージ・リーダ14とはスキャナ装置を形成している。尚、ADF12を使用しない場合には、イメージ・リーダ14は、原稿台に沿って移動して、ドキュメントを読み取る構成とされていても良い。この場合、イメージ・リーダ14とその駆動制御装置をスキャナ装置として参照することができる。
【0011】
このような構成において、ユーザがADF12のフィーダにドキュメントをセットし、オペレーション・パネルを介して操作入力を行なうと、ドキュメントがADF12によりイメージ・リーダ14へと送られ、CCDが生成した画像信号に基づいて画像データが生成される。尚、オペレーション・パネルとは、ユーザの操作入力を受け付けるキーボードやマウスなどの操作入力装置と、情報を表示する表示装置とが一体的に形成されたものである。そして、生成された画像データは、コントロール・ユニット16へと送られて、コントロール・ユニット16が含む制御処理部により画像処理が行われる。画像処理が行われた画像データは、例えばFIFO(First in-First out)バッファなどに送られて、画像データに対応して変調されたレーザ・ビームまたはLED光線が露光光学系を介して感光体ドラム18上に照射され、変調されたレーザ・ビームなどに応答して生成されるフォト・キャリアにより感光体ドラム18上の帯電がキャンセルされて、静電潜像が形成される。
【0012】
その後、感光体ドラム18に形成された静電潜像は、感光体ドラム18の回動に伴って現像装置20へと搬送されて行き、現像装置20により現像される。現像装置20により現像された着色像は、その後、転写部材22により中間転写体24へと転写される。中間転写体24は、さらに矢線A方向へと転写された着色像と共に移動して行き、2次転写装置26により、紙またはプラスチック・シートなどの記録媒体へと転写され、さらに定着装置28により定着される。このようにして、CCDが生成した画像信号に基づいて記録媒体に画像が形成される。
【0013】
なお、図1に示した画像形成装置10は、感光体ドラム18としてシアン(C)、マゼンタ(M)、イエロー(Y)、ブラック(B)などの4色に対応するカラー画像形成装置として示されている。しかし、Bに対応する感光体ドラムのみを備え、中間転写体を使用せずに転写材に着色像を転写するモノクロ画像形成装置、プリンタとすることもできる。
【0014】
また、画像形成装置10には、公衆電話回線またはISDNなどの回線30に接続されていて、アナログまたはディジタル通信によるファクシミリ伝送、またはメール伝送を行う。さらに、画像形成装置10は、10BASE−100などのイーサネット(登録商標)接続ケーブル32を介して、ローカルエリア・ネットワーク(LAN)、またはワイドエリア・ネットワーク(WAN)、またはインターネットなどのネットワークに接続され、メールなどのネットワーク・サービスを提供している。画像形成装置10は、フロッピー(登録商標)、CD−ROM、ハードディスク・ドライブ(図示せず)といった大容量記憶装置およびRAMなどの記憶装置を備えていて、取得した画像データを蓄積し、ユーザの指令または要求に基づいて、蓄積した画像データを処理している。
【0015】
図2は、画像形成装置10のハードウェア構成を示した図である。同図に示されるように、画像形成装置10は、スキャナI/F54と、入出力I/F56と、CPU42と、RAM44と、ROM46とを備えている。
【0016】
CPU42は、画像形成装置10全体を制御する。また、CPU42は、時間をカウントするタイマを有する。ROM46は、各種設定データやCPU42が実行する各種プログラムを記憶する。RAM44は、各種設定データや各種プログラムを一時的に記憶するものであり、CPU42が各種プログラムを実行する際の作業領域として機能する。スキャナI/F54は、画像形成装置が備えるスキャナ装置50により取得された画像データが入力されると、当該画像データを内部処理に適した形式に変換して、内部バス76を介してCPU42に対して割り込み処理によって受け渡すと共に、画像処理部48に受け渡す。入出力I/F56は、オペレーション・パネル52においてユーザの操作入力が行われると、当該操作入力のデータを内部処理に適した形式に変換して、内部バス76を介してCPU42に対して割り込み処理によって受け渡す。画像処理部48は、スキャナ装置50が取得した画像データを処理し、文字イメージ処理、画像イメージ処理および彩色判定などの処理を行い、処理単位ごとにFIFOバッファ(図示せず)に送り、それ以後の各機能処理部における処理へと提供している。また、取得されたオリジナル画像は、RAM44などの記憶部に記憶される。その後オリジナル画像はユーザ指令に応答してRAM44に読み出され、ユーザ指定に応答した画像処理が実行される。
【0017】
制御処理部40は、さらにファクシミリ・コントローラ58、エンジン・コントローラ60、ネットワーク・インタフェース・カード(NIC)62と、ハードディスクやフロッピー(登録商標)ディスクなどの外部記憶装置を管理するIDE(Integrated Drive Electronics)などのインタフェース64などを含む機能処理部、およびそのためのI/Fを備えている。各機能処理部の処理を説明すると、ファクシミリ・コントローラ58は、ファクシミリ・フォーマットへと変換された画像データに対してファクシミリ番号などを対応させ、さらにG3、G4、T−30などのプロトコルを使用して、モデムなどのファクシミリ送受信装置78を介して直接、公衆電話回線またはDSU/TA68を通してファクシミリ機能を提供している。
【0018】
エンジン・コントローラ60は、画像形成装置の中心的な機能処理部であり、画像制御装置の感光体回転駆動、帯電、露光、現像、転写、定着などの作像シーケンスを、それぞれのコントローラやドライバを使用して制御している。NIC62は、ネットワーク・インタフェース・カードとして構成されており、ソフトウェア及びハードウェア的に、データリンク層レベルおよび物理層レベルでの通信を管理する機能処理部を提供している。NIC62は、イーサネット(登録商標)を経由してSMTPまたはPOP3プロトコルを用いてメール通信などおよびTCP/IP、UDP/IP、NETBEUIなどのレベルでのデータ送受信を行っている。
【0019】
IDE64は、例えば、ATA、シリアルATA、ATAPI、ATA−4などの規格を有しており、スキャナ装置により取得され、BMP、TIFF、JPEG、JPEG2000、GIF、PICT、メタファイル、オリジナル・フォーマットなどの適切なフォーマットとして変換された画像データを、ハードディスク・ドライブ(HDD)74へと記憶させて、後のユーザ利用のために提供するための記憶機能処理部を提供している。HDD74には、制御プログラムのためのオペレーティング・システムおよびプログラムも記憶され得る。なお、本実施の形態において作像エンジン70とエンジン・コントローラ60との間は、USB(Universal Serial Bus)、またはIEEE1284などのシリアルまたはパラレルバスで接続することもできる。作像エンジン70は、上述した感光体ドラム18及び現像装置20を含むものであり、記録媒体へ画像を形成する。
【0020】
図3は、画像形成装置10のソフトウェア構成を示した図である。本実施の形態にかかる画像形成装置10のソフトウェアは、画像形成装置10のCPU42がROM46やHDD74に記憶されたプログラムをRAM44にロードすることによって画像形成装置10上に実現される。CPU42はこのソフトウェアを実行することにより各種処理を行って各種機能を実現させる。同図に示されるように、本実施の形態にかかるソフトウェア構成は、3層の階層構造を有している。第1層82には、LANなどを介してプリント要求に対応するためのプリンタ・アプリケーションPA、オペレーション・パネル52からの操作入力に応じてコピー処理を可能とするコピー・アプリケーションCA、ファクシミリ送信先を設定し、ファクシミリ送受信装置にデータを渡す処理などを可能とするファクシミリ・アプリケーションFAの各ソフトウェアを有する。また、第1層82には、さらにスキャナ装置からの画像の処理を可能とするスキャナ・アプリケーションSA、ネットワークへの接続を管理するネットワーク・アプリケーションNA、ユーザ・インタフェース形成処理を可能とするパネル・ディスプレイ処理アプリケーションPDA、およびSMTP(Simple Mail Transfer Protocol)やPOP3プロトコルなどに基づくメール転送またはメール受信などを可能とするためのメーラなどの電子メール・アプリケーションEMAの各ソフトウェアを有する。
【0021】
第2層84は、オペレーティング・システム86と、言語ランタイム100と、ガベージコレクタ101と、画像形成装置10の初期検査および入出力管理を行うためのユーティリティ・ソフトウェア群88とを有する。言語ランタイム100は、オブジェクト指向プログラミング言語によって実装されるソフトウェアであり、オペレーティング・システム86上でプログラミング言語や環境に依存しない中間言語を解釈して、各種機能を実現させる。具体的には、言語ランタイム100は、ガベージコレクタ101を有し、ガベージコレクタ101は、言語ランタイム100の制御の下、プログラムが動的に確保したメモリ領域(ヒープメモリという)のうち、不要になったメモリ領域を解放する、即ち、ガベージコレクションを発生させる。更に、本実施の形態においては、ガベージコレクタ101は、後述するGC制御部105からの要求に応じて、ガベージコレクションを発生させる。尚、ここでは例えばRAM44にヒープメモリ106が確保されるとする。オブジェクト指向言語においては、プログラムの実行中に必要なオブジェクトがヒープメモリ106に記憶される。
【0022】
ユーティリティ・ソフトウェア群88は、それぞれエンジン・コントローラEC、駆動系などのメカニクスのためのメカニクス・コントローラMC、露光光学系、スキャナなどの光学系を制御するためのオプティカル・コントローラOC、ファクシミリ機能を起動してユーザ入力された宛先に対して画像データを送信するためのファクシミリ・コントローラFC、RAMなどのメモリを管理するストレージ・コントローラSC、および画像形成装置10に接続された装置を検出するためのデバイス・ファインダDFなどのソフトウェアを有する。このようなユーティリティ・ソフトウェア群88は、第3層として図3において示した各デバイスI/Fと協働して、各機能処理部を構成するハードウェアとの入出力および各ハードウェアのシーケンス処理など、ハードウェア固有のインタフェースまたはデバイス・ドライバとデータ送受信を行って、第1層82のソフトウェアの実行結果を、ハードウェアへと渡している。
【0023】
更に本実施の形態においては、ユーティリティ・ソフトウェア群88は、電力モード移行検知部102と、省電力モード移行処理部103とを有する。電力モード移行検知部102は、省電力モードへ移行するための条件(移行条件という)が成立したか否かを判断して、判断結果に応じて、省電力モードへの移行条件の成立を検知する。尚、ここでは、電力モードとして、各々通電状態の異なる通常動作モード及び省電力モードが設定される。通常動作モードとは、コマンド、データなどの入力を受け、画像を形成する処理や、コマンドやデータなどの受信に応じた処理を即時実行可能な状態で待ち受けている状態である。省電力モードとは、画像形成装置10の消費電力をより低減させた待機状態である。通常動作モードにおける待機状態が全てのハードウェアに所定の電位の電力を供給する状態であるのに対し、省電力モードでは、コマンドやデータを受け付けるための最低限のハードウェアのみに電力を供給し、作像エンジン70などのハードウェアに対しては電力を供給しない又は所定の電位より低位の電力を供給して、画像形成装置10の消費電力を低減させる。省電力モードへの移行条件とは、例えば、少なくとも所定の時間画像形成装置10のオペレーション・パネル52においてユーザの操作入力が行なわれていない、少なくとも所定の時間画像形成装置10においてエンジンの動作を行っていない、省電力モードへの移行を指示する操作入力がオペレーション・パネル52において行なわれたことなどである。例えば、画像形成装置10は、オペレーション・パネル52で操作入力が行なわれてからタイマを起動させ、当該タイマが計時する時間と、所定の時間とを比較して、前者が後者の時間を超える場合に、少なくとも所定の時間ユーザの操作入力が行なわれていないと判断して、省電力モードへの移行条件が成立したと判断する。尚、所定の時間は、ユーザが任意に設定可能であるようにしても良い。設定された所定の時間の値は例えばHDD74に記憶される。また、画像形成装置10が省電力モードに移行した後、オペレーション・パネル52において操作入力が行なわれた場合、電力モード移行検知部102は、通常動作モードへ復帰するための条件が成立したと判断する。
【0024】
省電力モード移行処理部103は、電力制御部104と、GC制御部105とを有する。電力制御部104は、省電力モードへの移行条件が成立したと電力モード移行検知部102が検知した場合、上述した各ハードウェアの動作状況を確認して、省電力モードに移行可能であるか否かを判断する。例えば、電力制御部104は、動作しているハードウェアがない場合、省電力モードに移行可能であると判断し、動作しているハードウェアがある場合、省電力モードに移行可能ではないと判断する。そして、電力制御部104は、省電力モードに移行可能であると判断した場合、当該画像形成装置10を省電力モードに移行させるべく、各ハードウェアに対して省電力モードに対応した電力の供給を行う。また、通常動作モードへ復帰するための条件が成立した電力モード移行検知部102が判断した場合、電力制御部104は、当該画像形成装置10を通常動作モードに移行させるべく、各ハードウェアに対して通常動作モードに対応した電力の供給を行う。GC制御部105は、省電力モードに移行可能であると電力制御部104が判断した場合、ガベージコレクタ101に対してガベージコレクションの発生を要求する。
【0025】
以上のような構成において、本実施の形態においては、ユーザが画像形成装置10を使用している際にガベージコレクションを発生させないように、ヒープメモリ106のサイズを予め大きめに確保しておく。それでもヒープメモリ106に少しずつ溜まっていってしまうガベージを排除するために、ユーザがある程度の時間使用しない状態である省電力モードの状態に移行する際の任意のタイミングでガベージコレクションを発生させる。この結果、ユーザが使用しているタイミングでガベージコレクションを発生させることがなく、ユーザの操作に応じた動作に支障をきたすことを防止することができる。
【0026】
(2)動作
次に、本実施の形態にかかる画像形成装置10の行う省エネモード移行処理の手順について図4を用いて説明する。画像形成装置10は、電力モード移行検知部102の機能により、省電力モードへの移行条件が成立したか否かを判断する(ステップS1)。当該判断結果が肯定的である場合、画像形成装置10は、電力制御部104の機能により、各ハードウェアの動作状況を確認して、省電力モードに移行可能であるか否かを判断する(ステップS2)。当該判断結果が肯定的である場合、画像形成装置10は、ガベージコレクタ101の機能により、ガベージコレクションを発生させる(ステップS4)。また、画像形成装置10は、電力制御部104の機能により、各ハードウェアに対して省電力モードに対応した電力の供給を行う(ステップS5)。この結果、画像形成装置10は、省電力モードに移行する。尚、ステップS2の判断結果が否定的である場合、画像形成装置10は、電力モード移行検知部102の機能により、数秒(例えば10秒)間のタイマを起動させ、数秒間待機する(ステップS3)。数秒が経った後、画像形成装置10は、ステップS1で、電力モード移行検知部102の機能により、省電力モードへの移行条件が成立したか否かを再度判断して、以降の処理を繰り返す。
【0027】
以上のように、ユーザが画像形成装置10を所定の時間使用していない状態である省電力モードの状態に移行するタイミングでガベージコレクションを発生させる。このような構成によれば、機能を制限することで使用するオブジェクトを制限したり、大容量の物理メモリを用意して、作成する可能性のある全てのオブジェクトを使い回すことのできるほど大きなサイズのヒープメモリを確保したりすることなく、ガベージコレクションの発生を抑制することができる。この結果、ガベージコレクションの発生による問題を回避することができる。即ち、ユーザが画像形成装置10を使用している間にガベージコレクションが発生することにより処理が停止して、コピーなどの生産性やファクシミリ通信などのリアルタイム性が低下してしまうという問題を回避することができる。従って、ガベージコレクションの発生を効果的に制御することができる。
【0028】
[変形例]
なお、本発明は前記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、前記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。また、以下に例示するような種々の変形が可能である。
【0029】
<変形例1>
上述した実施の形態において、画像形成装置10で実行される各種プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。当該各種プログラムを、インストール可能な形式又は実行可能な形式のファイルでCD−ROM、フレキシブルディスク(FD)、CD−R、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録してコンピュータプログラムプロダクトとして提供するように構成しても良い。
【0030】
<変形例2>
上述の実施の形態では、メモリ管理制御装置を、画像形成装置として、コピー機能、プリンタ機能、スキャナ機能及びファクシミリ機能を有する複合機に適用した例について説明したが、これに限らず、コピー機能、プリンタ機能、スキャナ機能及びファクシミリ機能のうち少なくとも2つ以上の機能を有する複合機、複写機、プリンタ、スキャナ装置、ファクシミリ装置等の画像形成装置であればいずれにも適用することができる。
【0031】
上述の実施の形態では、図4のステップS2で省電力モードに移行可能であると判断した直後にステップS4でガベージコレクションを発生させるようにした。しかし、これに限らず、ガベージコレクションを発生させるのは、ステップS5の後でも良いし、省電力モードへ移行可能であると判断してから通常動作モードに復帰するまでの間であれば良い。
【0032】
<変形例3>
上述の実施の形態では、ユーザが画像形成装置10を少なくとも所定の時間使用していない状態として、省電力モードの状態に移行する際にガベージコレクションを発生させるようにしたが、これに限らず、例えば、余熱モードの状態に移行する際に、ガベージコレクションを発生させるようにしても良い。余熱モードとは、オペレーション・パネル52における表示を消すと共に、作像エンジン70の有する定着器(図示せず)の温度を下げる電力モードである。
【0033】
また、ユーザが画像形成装置10を少なくとも所定時間使用していない状態であっても、省電力モードに移行しない設定である場合、ユーザが画像形成装置10を少なくとも所定時間使用していないことを検知すると、ガベージコレクションを発生させるようにしても良い。
【0034】
<変形例4>
上述の実施の形態では、ガベージコレクションの対象の物理メモリをRAM44とし、RAM44にヒープメモリ106が確保されるようにしたが、これに限らず、HDD74やその他の物理メモリにヒープメモリが確保されるようにしても良い。
【0035】
また、画像形成装置10に搭載されている物理メモリのサイズに応じて、ヒープメモリの初期のサイズを変更するようにしても良い。
【0036】
<変形例5>
上述の実施の形態では、図4のステップS4でガベージコレクションを発生させる際に、ヒープメモリ106のサイズを必要に応じて拡張するようにしても良い。このような構成においては、GC制御部105は、省電力モードに移行可能であると電力制御部104が判断した場合、言語ランタイム100を介してヒープメモリ106の使用状況を取得して、当該使用状況に応じて、ヒープメモリ106のサイズを拡張して、ガベージコレクタ101に対してガベージコレクションの発生を要求する。尚、ヒープメモリ106のサイズとは、Java(登録商標)の場合、言語ランタイムの最大メモリ「:java.Runtime.Maxmemory()」で取得することの可能な値であり、ヒープメモリとして確保される最大のサイズのことである。このサイズは、本来であれば拡張されることのないものである。
【0037】
図5は、本変形例にかかるステップS4の処理の詳細な手順を示す図である。まず、画像形成装置10は、GC制御部105の機能により、言語ランタイム100を介してヒープメモリ106の使用状況を取得して、ヒープメモリ106のサイズの拡張が必要か否かを判断する(ステップS40)。例えば、画像形成装置10は、使用するオブジェクトのサイズと、ヒープメモリ106のサイズとを比較して、後者から前者を引いた値が所定値以下である場合、ヒープメモリ106のサイズの拡張が必要であると判断する。ステップS40の判断結果が肯定的である場合、画像形成装置10は、ヒープメモリ106のサイズの拡張が可能か否かを判断する(ステップS41)。例えば、画像形成装置10は、RAM44全体のサイズやヒープメモリ106として使用できるサイズに応じて、拡張が可能か否かを判断する。ステップS41の判断結果が肯定的である場合、画像形成装置10は、ヒープメモリ106のサイズを拡張させる(ステップS42)。拡張させるサイズは、RAM44全体のサイズやヒープメモリ106として使用できるサイズに応じて決めれば良い。そして、画像形成装置10は、ガベージコレクタ101の機能により、ヒープメモリのうち、不要になったメモリ領域を解放することにより、ガベージコレクションを発生させる(ステップS43)。ステップS40,S41の判断結果が否定的である場合も画像形成装置10はステップS43の処理を行う。
【0038】
以上のような構成によれば、ガベージコレクションをより効果的に発生させることができる。
【0039】
<変形例6>
上述の実施の形態では、図4のステップS4でガベージコレクションを発生させる前に、スワップの発生状況を検知して、検知結果に応じて、ユーザに対しメモリの増設を促す旨のメッセージをオペレーション・パネル52に表示させるようにしても良い。このような構成において、省電力モード移行処理部103は、スワップ検知部(図示せず)を更に有する。スワップ検知部は、スワップの発生状況を検知して、当該発生状況に応じて、ガベージコレクションの対象となるメモリの増設をユーザに対して促す。これにより、画像形成装置10は、メモリの増設が必要であることをユーザに報知する。具体的には、例えば、スワップ検知部は、スワップの発生回数やスワップされているデータの量を検知して、当該発生回数が所定の第1閾値以上である場合や、スワップされているデータの量が所定の第2閾値以上である場合に、スワップが多発していると判断して、メモリの増設を促す旨のメッセージをオペレーション・パネル52に表示させる。尚、画像形成装置10が音声を出力する音声出力部を備える場合、メモリの増設を促す旨のメッセージを音声で出力するようにしても良い。
【0040】
図6は、本変形例にかかる画像形成装置10の行う省エネモード移行処理の手順を示すフローチャートである。ステップS1〜S2は上述の第1の実施の形態と同様である。ステップS20では、画像形成装置10は、スワップ検知部の機能により、スワップの発生状況を検知して、スワップが多発しているか否かを判断する(ステップS20)。当該判断結果が肯定的である場合、画像形成装置10は、メモリの増設を促す旨のメッセージをオペレーション・パネル52に表示させて(ステップS21)、ステップS4に進む。ステップS20の判断結果が否定的である場合、画像形成装置10は、ステップS21の処理を行わずに、ステップS4に進む。ステップS3〜S5の処理は上述の第1の実施の形態と同様である。
【0041】
画像形成装置10に多くの機能をインストールしていくことでスワップが多発してしまうと、ガベージコレクションが発生する場合のように処理が完全に停止してしまうことはないにせよ、全体的に処理が遅くなってしまい、生産性の低下につながってくる。しかし、本変形例によれば、スワップが多発していることを検知して、ユーザに対してメモリの増設を促すことで、生産性の低下を防ぐことができる。また、本変形例の構成によってメモリの増設を促すことで、メモリの使用量がまちまちでどの程度機能をインストールしたらメモリを増設する必要があるかをサービスパーソンが把握することが可能になる。
【0042】
<変形例7>
上述の実施の形態と、従来技術欄で説明した特許文献1に記載されている技術とを組み合わせても良い。例えば、画像形成装置10に多くの機能をインストールしたことで、大容量の物理メモリを搭載することになった場合には、特許文献1に記載されている技術と同様にして、一部のオブジェクトを使い回すことにより、ガベージコレクションの発生を抑えるようにしても良い。
【符号の説明】
【0043】
10 画像形成装置
14 イメージ・リーダ
16 コントロール・ユニット
52 オペレーション・パネル
70 作像エンジン
86 オペレーティング・システム
88 ユーティリティ・ソフトウェア群
100 言語ランタイム
101 ガベージコレクタ
102 電力モード移行検知部
103 省電力モード移行処理部
104 電力制御部
105 GC制御部
106 ヒープメモリ
【先行技術文献】
【特許文献】
【0044】
【特許文献1】特開2007−86838号公報

【特許請求の範囲】
【請求項1】
ガベージコレクション機能を備えるプログラミング言語を備えるオブジェクト指向プログラミング言語によって実装されるソフトウェアにより制御されるメモリ管理制御装置であって、
ユーザが当該画像形成装置を少なくとも所定の時間使用していないことを検知する検知手段と、
前記検知手段の検知結果に応じて、ガベージコレクションを発生させる制御手段とを備える
ことを特徴とするメモリ管理制御装置。
【請求項2】
被写体からの反射光を光電変換して生成された画像信号に基づいて、記録媒体に画像を形成する画像形成手段と、
前記検知手段の検知結果に応じて、前記画像形成手段に対して所定の電力を供給する通常動作モードから、所定の電力より低位の電力を前記画像形成手段に対して供給する省電力モードに当該画像形成装置を移行させる移行処理手段とを備え、
前記制御手段は、前記移行処理手段が当該画像形成装置を前記通常動作モードから前記省電力モードに移行させる場合に、ガベージコレクションを発生させる
ことを特徴とする請求項1に記載のメモリ管理制御装置。
【請求項3】
前記制御手段は、
前記検知手段の検知結果に応じて、ガベージコレクションの対象となるメモリに確保されるヒープメモリの使用状況を取得する取得手段と、
前記ヒープメモリの使用状況に応じて、前記ヒープメモリのサイズを拡張する拡張手段と、
前記ヒープメモリにおいてガベージコレクションを発生させるガベージコレクタとを有する
ことを特徴とする請求項1又は2に記載のメモリ管理制御装置。
【請求項4】
前記検知手段の検知結果に応じて、スワップの発生状況を取得する取得手段と、
前記スワップの発生状況に応じて、ガベージコレクションの対象となるメモリの増設をユーザに対して促す報知手段とを更に備える
ことを特徴とする請求項1乃至3のいずれか一項に記載のメモリ管理制御装置。
【請求項5】
ガベージコレクションの対象となるメモリのサイズに応じて、当該メモリに確保するヒープメモリの初期のサイズを変更する変更手段を更に備える
ことを特徴とする請求項1乃至4のいずれか一項に記載のメモリ管理制御装置。
【請求項6】
ガベージコレクション機能を備えるプログラミング言語を備えるオブジェクト指向プログラミング言語によって実装されるソフトウェアにより制御されるメモリ管理制御装置で実行されるメモリ管理制御方法であって、
前記メモリ管理制御装置は、検知手段と、制御手段とを備え、
前記検知手段が、ユーザが当該画像形成装置を少なくとも所定の時間使用していないことを検知する検知ステップと、
前記制御手段が、前記検知ステップでの検知結果に応じて、ガベージコレクションを発生させる制御ステップとを含む
ことを特徴とするメモリ管理制御方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公開番号】特開2010−244342(P2010−244342A)
【公開日】平成22年10月28日(2010.10.28)
【国際特許分類】
【出願番号】特願2009−93082(P2009−93082)
【出願日】平成21年4月7日(2009.4.7)
【出願人】(000006747)株式会社リコー (37,907)
【Fターム(参考)】