JP2009054016A - 画像形成装置、画像形成方法およびプログラム - Google Patents
画像形成装置、画像形成方法およびプログラム Download PDFInfo
- Publication number
- JP2009054016A JP2009054016A JP2007221225A JP2007221225A JP2009054016A JP 2009054016 A JP2009054016 A JP 2009054016A JP 2007221225 A JP2007221225 A JP 2007221225A JP 2007221225 A JP2007221225 A JP 2007221225A JP 2009054016 A JP2009054016 A JP 2009054016A
- Authority
- JP
- Japan
- Prior art keywords
- image forming
- forming apparatus
- execution
- request
- job
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Digital Computer Display Output (AREA)
- Storing Facsimile Image Data (AREA)
- Record Information Processing For Printing (AREA)
Abstract
【課題】 ガーベジコレクション(GC)機能を有する画像形成装置において、ジョブ実行中に出来る限りGCを発生させないようにした装置を提供する。
【解決手段】 本発明の装置は、メモリ領域に割り当てられたプログラムの実行によりジョブを実行し、予め指定されたタイミングでGC要求を出力する実行手段と、GC要求の受信に応答して、GCを発生させるGC発生手段とを備える。このタイミングとしては、ユーザがプログラムを選択した後のUIデバイスによるそのプログラムに関する画像表示への切り替え処理の実行時、プログラム実行終了時、プログラムが動作していないアイドル状態で、ハードウェアデバイスによる処理の実行時、UIデバイスの省電力モードへの移行時のいずれかとされる。
【選択図】図2
【解決手段】 本発明の装置は、メモリ領域に割り当てられたプログラムの実行によりジョブを実行し、予め指定されたタイミングでGC要求を出力する実行手段と、GC要求の受信に応答して、GCを発生させるGC発生手段とを備える。このタイミングとしては、ユーザがプログラムを選択した後のUIデバイスによるそのプログラムに関する画像表示への切り替え処理の実行時、プログラム実行終了時、プログラムが動作していないアイドル状態で、ハードウェアデバイスによる処理の実行時、UIデバイスの省電力モードへの移行時のいずれかとされる。
【選択図】図2
Description
本発明は、ガーベジコレクション(GC)の発生によるパフォーマンス低下を抑制する画像形成装置、GCの発生によるパフォーマンス低下を抑制するための方法およびその方法を実現するためのプログラムに関する。
キーボード入力や画面出力といった入出力機能やメモリの管理等、様々なアプリケーションソフトウェアから共通して利用される基本的な機能を提供し、システム全体を管理するソフトウェアとして、オペレーティングシステム(OS)が利用されている。このOSのメモリ管理機能の1つとして、プログラムが使用しなくなったメモリ領域やプログラム間に介在するメモリ領域を回収し、連続した利用可能なメモリ領域を増加させるガーベジコレクション(GC)機能が知られている。
Java(登録商標)言語の実行環境、すなわちJava(登録商標)仮想マシン(JVM)では、JVM自身がGC機能を備えているため、プログラマが不要となったオブジェクトの消去を意識しなくても、このGC機能によりオブジェクトが不要になった時点で自動的に回収し、そのメモリ領域を解放して再利用可能にする。このため、メモリ領域の誤解放やメモリリーク(解放漏れ)等の発生を有効に防止することができる。
一方、GC機能を有するパーソナルコンピュータ(PC)やサーバ装置では、任意のタイミングで一括してオブジェクトを消去し、メモリ領域を回収するため、そのGC機能が動作している期間は、CPUが占有され、実行中のジョブ処理が中断してしまうといった問題があった。
そこで、GC機能によるメモリリーク等の発生を有効に防止しつつ、装置全体の中断時間を短縮する技術が提案されている(特許文献1〜5参照)。
特許文献1に記載の技術では、データを記憶する記憶ブロックを新規に確保する際に、そのデータが、ライフタイムが比較的短いデータか、比較的長いデータかを判定し、それによって格納するメモリ領域を分け、ライフタイムが比較的短いデータを格納したメモリ領域に対するGCの実行頻度を高くし、ライフタイムが比較的長いデータを格納したメモリ領域に対するGCの実行頻度を低くし、GCに要する処理時間を総体的に短縮している。
特許文献2に記載の技術では、GCの処理を、実行中のスレッドに設定された実時間度に応じてそのスレッドの処理を中断する間に、そのスレッド内で実行し、スレッドの実時間性を担保しつつ、最低限必要なGCを実行してヒープ領域の枯渇を防止している。
特許文献3に記載の技術では、メモリ使用状況データおよびヒープパラメータに基づいてメモリ使用状況シミュレーションを実行し、メモリ使用状況を最適化している。
特許文献4に記載の技術では、メモリを新世代と旧世代に区分し、オブジェクトを新世代に割り当て、新世代に格納する期間をオブジェクトのクラスに応じて決定し、その期間に基づいて新世代から旧世代に移動し、プログラムの起動時や実行中において不要なデータを格納する記憶領域の回収処理の処理時間を短縮し、効率的に行っている。
特許文献5に記載の技術では、リクエスト毎に一時的、反復的に生成される一時オブジェクトを再使用し、通信パターンを制限して、GCの発生を抑制している。
特開2002−278828号公報
特開2004−234546号公報
特開2004−5486号公報
特開2006−171927号公報
特開2007−86838号公報
上記のGC機能は、PCやサーバ装置に限らず、コピー機能、スキャナ機能、プリンタ機能といった複数の機能を搭載した複合機にも採用されている。複合機では、ファーストコピータイムや連続複写速度等がカタログ仕様として必要とされている。ここで、ファーストコピータイムとは、1枚の原稿を1枚だけコピーするときにかかる時間であり、連続複写速度とは、1枚の原稿を1分間にコピーすることができるコピー枚数である。
複合機等の画像形成装置は、図1に示すように、CPUに処理を実行させるためのソフトウェア10と、ユーザからの入力を受け付けてソフトウェア10へ送り、ソフトウェア10からの更新を受けて画像描画を行うUIデバイス11と、ソフトウェア10からのリクエストを受けて処理を実行するプリンタやスキャナ等のエンジンデバイス12と、ソフトウェア10からパラメータの設定を受け付けて、A/D変換処理、変倍処理、ディザ処理等の画像処理を実行するIPUデバイス13とを備える。
図1では、UIデバイス11が受け付けた入力を、ソフトウェア10がイベント(keyInput)として受け取ることによりジョブを開始する。ソフトウェア10は、エンジンデバイス12へリクエストを送り、エンジンデバイス12は、処理を実行する(t1)。ソフトウェア10は、設定されたパラメータに基づき画像処理を実行させるために、IPUデバイス13にパラメータを送る(t2)。ソフトウェア10は、表示更新の指示をUIデバイス11へ送り、UIデバイス11は、その指示に基づき画像を描画する(t3)。ソフトウェア10は、エンジンデバイス12へリクエストを送り、エンジンデバイス12は、処理を実行する(t4)が、GCが発生し、ジョブは中断される(t5)。GCが終了した後、ソフトウェア10は、エンジンデバイス12へリクエストを再度送り、エンジンデバイス12は、処理を再度実行する(t6)。ソフトウェア10は、表示更新の指示をUIデバイス11へ送り、UIデバイス11は、画像を描画して(t6)、ジョブは終了する。
一般に、カタログ仕様では、GCによる実行ジョブの中断時間t5は考慮せず、t1〜t4とt6を加算した値が、処理時間として記載される。このため、GCの発生により実行中のジョブが中断してしまうと、カタログ仕様を満たすことができなくなってしまう。GC機能を有する装置では、GCがどのような状況でも発生し得るため、ジョブの中断を100%回避することはできない。したがって、カタログ仕様を満たすためには、ジョブ実行中に出来る限りGCが発生しないようにしなければならない。
そこで、GC機能を有する画像形成装置において、ジョブ実行中に出来る限りGCを発生させないようにして、パフォーマンス低下を抑制することができる装置や方法の提供が望まれている。
本発明は、上記課題を解決するために、Java(登録商標)VMを含め、GC機能を備えるプラットフォームを搭載している画像形成装置において、GCが発生した後、次のGCの発生までに時間的に相当の間隔があることを前提とし、予め指定されたタイミングでGC要求を出力し、GC要求の受信に応答して強制的にGCを発生させる機能を備える。GC終了後のしばらくの間はGCが発生しないため、この間にジョブを実行することで、ジョブ実行時のパフォーマンス低下を抑制することができる。
すなわち、本発明では、プログラムが割り当てられたメモリ領域のうち、不要となったメモリ領域を回収して再利用可能にするガーベジコレクション(GC)機能を有する画像形成装置であって、プログラムの実行によりジョブを実行するとともに、予め指定されたタイミングでGC要求を出力するジョブ実行手段と、GC要求の受信に応答して、GCを発生させるGC発生手段とを備える装置を提供することができる。
上記のタイミングとしては、ジョブ実行時のパフォーマンス低下を抑制するために、画像形成装置が備える表示デバイスによる画像表示の切り替え時、ジョブの終了時、ジョブ実行手段が動作していないアイドル状態で、かつ画像形成装置が備えるハードウェアデバイスによる処理実行時、表示デバイスの省電力モードへの移行時のいずれかとすることができる。表示デバイスは、図1でいうUIデバイス11に相当するものであり、ハードウェアデバイスは、エンジンデバイス12、IPUデバイス13に相当するものである。なお、ジョブ実行手段が、プログラムの実行によりジョブを実行するとともに、予め指定されたタイミングでGC要求を出力する機能を備えることで、ジョブ終了時やアイドル状態等のときに、GC要求を出力し、GCを発生させることが可能となる。
上記のGC発生手段は、残メモリ量(メモリサイズ)を調査し、残メモリ量が予め設定された閾値以下である場合にGCを発生させることができる。十分に残メモリ量がある場合、GCが発生する可能性は低いが、残メモリ量が少なくなると、GCが発生する可能性は高くなる。このGCは、一度発生すると、その後のしばらくの間はGCが発生しない。このため、残メモリ量が閾値以下である場合に強制的にGCを発生させることで、GCが発生しない間にジョブを実行し、これにより、パフォーマンス低下を抑制することができる。
また、GC発生手段は、前回のGC終了時刻を保持し、そのGC終了時刻からGC要求受信時までの時間が閾値以上である場合にGCを発生させることができる。上述したようにGCは、どのような状況でも発生し得る。また、前回のGC終了時刻からの経過時間が長くなるほど、GCが発生する可能性が高くなる。このため、その経過時間が閾値以上である場合に強制的にGCを発生させ、その後のGCが発生しない間にジョブを実行することができる。
上記では、前回のGC終了時からGC要求受信時までの時間としたが、実行ジョブ数をカウントし、その実行ジョブ数が閾値以上になった場合にGCを発生させることもできる。
本発明では、画像形成装置に加え、GCの発生によるパフォーマンス低下を抑制するための方法も提供することができる。この方法は、予め指定されたタイミングでGC要求を出力するステップと、GC要求の受信に応答して、GCを発生させるステップとを含む。
また、本発明では、上記方法を実現するための画像形成装置可読なGC発生プログラムを提供することもできる。
本発明は、GCが発生した後、次のGCの発生までに時間的に相当の間隔があること、すなわち、一度GCが発生すると、しばらくの間はGCが発生しないことを前提とするものである。本発明の画像形成装置の1つの実施形態では、画像形成装置は、図1に示すソフトウェア10、UIデバイス11、エンジンデバイス12、IPUデバイス13に加えて、GCを強制的に発生させるGCジェネレータを備える。また、本実施形態では、画像形成装置は、Java(登録商標)VMを含め、GC機能を備えるプラットフォームを搭載している。
ソフトウェア10は、ユーザからの入力を受けてエンジンデバイス12へリクエストを送り、エンジンデバイス12に処理を実行させる。また、ソフトウェア10は、IPUデバイス13へパラメータを送り、IPUデバイス13に設定させ、設定されたパラメータを使用して画像処理を実行させる。さらに、ソフトウェア10は、UIデバイス11から入力を受け付け、また、UIデバイス11へ表示画像を更新させるための指示を与える。例えば、アプリケーションを選択し、選択したアプリケーションにより処理を行う場合、UIデバイス11では画像表示を更新するために画像描画を行い、IPUデバイス13では画像変換処理等を実行し、エンジンデバイス12では印刷処理等を実行する。これらの処理は、一連の処理、すなわち1つのジョブであり、ソフトウェア10は、このような一連の処理であるジョブを実行する。
なお、ソフトウェア10は、画像形成装置全体を制御するCPUにより実行されて上記処理を行うものである。したがって、ソフトウェア10自体が実際に処理を実行するものではないが、説明を容易にするため、以下、ソフトウェア10が処理を行うものとして説明する。
UIデバイス11は、操作部であり、ユーザからの入力を受け付け、画像描画を行うために、CPUおよびメモリを含む。エンジンデバイス12は、スキャナ、プリンタ、ファックス、コピー機といったハードウェアを含む。IPUデバイス13は、画像処理を実行するために、CPU、ASIC、ROM、RAM等を備える。
図2を参照して、本実施形態の画像形成装置に用いられるソフトウェア10およびGCジェネレータ14について説明する。ソフトウェア10は、上述した処理に加え、予め指定されたタイミングでGC要求をGCジェネレータ14へ出力するように構成される。GCジェネレータ14は、ソフトウェア10からのGC要求を受けて、GCを発生させるように構成される。
図2では、ソフトウェア10が、ソフトウェア10内でイベント(ev)を発生し、このイベントによってGC要求であるgcReq()を呼び出し、gcReq()をGCジェネレータ14へ出力する。GCジェネレータ14は、gcReq()を受け取り、gcReq()によりgc()を呼び出し、gc()によりGCを発生させる。gcReq()、gc()は、オブジェクト指向プログラミングにおいて、各オブジェクトがもっている自身に対する操作、すなわちメソッドである。
GCを発生させたい時点でGCを発生させるために、ソフトウェア10は、予め指定されたタイミングでGC要求をGCジェネレータ14へ出力する。また、GCジェネレータ14は、GC要求を受けて、強制的にGCを発生させる。これにより、例えば、GCが終了した直後にジョブを実行することで、そのジョブ実行中におけるGC発生を回避することができ、ジョブ実行時のパフォーマンス低下を抑制することができる。ここで、上記タイミングとしては、以下のタイミングとすることができる。
1つは、ユーザがアプリケーション(コピー/プリンタ/ファックス/スキャナ/ドキュメント・ボックス)を選択した時のUIデバイス11によるそのアプリケーションに関する画像表示への切り替え処理の実行時である。アプリケーションの選択は、ユーザがアプリケーション切り替えキーを押すことにより行われ、画像表示の切り替えは、UIデバイス11がそのキーの押下に応答して、ユーザにより選択されたアプリケーションに関する画像表示へと切り替えることにより行われる。
この場合の処理を、図3を参照して詳細に説明すると、UIデバイス11がユーザから受け付けた入力を、ソフトウェア10がイベント(keyInput)として受け取ることによりジョブを開始する。ソフトウェア10は、表示更新の指示であるupdate()をUIデバイス11へ送るジョブを実行する。UIデバイス11は、update()を受け取り、ユーザにより選択されたアプリケーションに関する画像描画を行うことにより新たな画像を表示する。
この画像描画は、UIデバイス11が備えるCPUによる処理であり、GCを実行するCPUとは異なるため、GCが発生したところでその影響を受けることはない。また、画像表示の切り替え処理の開始からユーザによる次の入力まで、人間の動作スピードからして時間的な間隔は十分にある。このため、この切り替え処理の実行時にGCを強制的に発生させることで、切り替え後からしばらくの間はGCの発生を抑制することができる。GCの実行と、UIデバイス11による処理が並行して行われるが、図3に示すように、GCの実行期間が長い場合、UIデバイス11への入力不可期間Tが発生する。しかしながら、その期間Tはわずかな期間であり、その間入力ができないにしても、十分に許容できる範囲内のものである。
2つ目は、アプリケーションプログラム上で実行されたジョブの終了時である。同一のアプリケーション上で連続してジョブを行う、例えば、あるユーザがコピーをとった後に、別のユーザがコピーをとるような場合、上記のようなアプリケーションの切り替えは発生しない。このため、上記のUIデバイスによる画像描画の間にGCを発生させるという方法は採用することができない。
図4を参照して詳細に説明すると、ソフトウェア10は、IPUデバイス13へexec()を送り、処理を実行させ、エンジンデバイス12へもexec()を送り、処理を実行させる。エンジンデバイス12は、ソフトウェア10へ応答(event)を返し、ソフトウェア10は、UIデバイス11へ、表示を更新させるためのupdate()を送る。また、エンジンデバイス12は、処理が終了した旨の応答(event)を返し、ソフトウェア10は、UIデバイス11へupdate()を送る。このupdate()の送信により、ソフトウェア10はジョブを終了する。ジョブ実行中にはGCを実行させるのに十分な時間は存在しないが、このupdate()の送信からユーザによる次の入力までは、図4に示すように十分な時間が存在する。そこで、ジョブ終了時に、ソフトウェア10がGC要求を出力し、GCジェネレータ14がGCを強制的に発生させることで、ジョブ終了後のしばらくの間、GCの発生を抑制することができる。
GCの実行中、UIデバイス11による処理が並行して行われるが、図4に示すように、GCの実行期間が長い場合、UIデバイス11への入力不可期間Tが発生する。しかしながら、その期間Tはわずかな期間であり、その間入力ができないにしても、十分に許容できる範囲内のものである。
3つ目は、画像形成装置が備えるハードウェアデバイス、すなわちUIデバイス11、エンジンデバイス12、IPUデバイス13が実行中で、アプリケーションプログラムが動作していないアイドル状態にある時である。図5を参照して詳細に説明すると、ソフトウェア10は、エンジンデバイス12およびIPUデバイス13へexec()を送り、処理を実行させる。エンジンデバイス12は、処理が終了した後、ソフトウェア10へ応答(event)を返す。ソフトウェア10は、その応答を受けて、update()をUIデバイス11へ送る。図5に示すシーケンスでは、エンジンデバイス12による処理が時間を要し、その処理の実行開始からソフトウェア10へ応答を返すまでに十分な時間がある。また、この間、ソフトウェア10は動作しておらず、アイドル状態とされている。
このため、GCの影響が許容できるポイントあるいはハードウェア処理中で影響がでないポイント、すなわち、エンジンデバイス12が処理を実行している間に、強制的にGCを発生させ、次のGCの発生までの間隔を開けることで、ジョブ実行中にGCが発生しないようにして、ファーストコピータイムや連続複写速度等のカタログ仕様の達成を図ることができる。
4つ目は、UIデバイス11の省電力モードへの移行時である。省電力モードには様々なものがあるが、ここではUIデバイス11のみをOFFにするモードで、省電力状態とはUIデバイス11のみがOFFとなる状態である。この省電力状態は、事実上、ユーザ入力がない状態であるため、ここでGCを強制的に発生させることによる影響は少ないものである。
図6を参照して詳細に説明すると、ソフトウェア10は、省電力モードへ移行するため、changeMode()というイベントを発生し、off()を呼び出し、UIデバイス11へ送る。UIデバイス11は、off()を受け取り、UIデバイス11の電源をOFFにする。UIデバイス11の電源をOFFにすると、ユーザからの入力はない状態であるため、GCを機能させるための十分な時間がある。このため、省電力モードへの移行時にGCを発生させることができる。これにより、以降のジョブ実行中におけるGCの発生をしばらくの間抑制することができる。なお、UIデバイス11がOFFでもネットワーク経由で処理を実行している場合には、ソフトウェア10によるジョブが実行中であるため、このタイミングではGCを発生させず、例えば、ジョブ終了時にGCを発生させる必要がある。
次に、GCジェネレータ14の実施形態を、図面を参照して説明する。GCジェネレータ14の第1実施形態としては、図2に示すような、GC要求に応答して、GCを発生させるものが挙げられる。このGCジェネレータ14は、GC要求に応答して、GCを発生させる機能を有するのみとされている。
GCジェネレータ14の第2実施形態としては、GC要求を受けた時点でのヒープ領域内の残メモリ量を調査し、残メモリ量が閾値以下であるか否かを確認し、閾値以下である場合にのみ、GCを発生させるものが挙げられる。ヒープ領域は、用途に関係なく自由に確保することができるメモリ領域である。閾値は、画像形成装置の初期値として与えられる固定値であってもよいし、画像形成装置の稼働中にユーザが変更可能なものであってもよい。ただし、稼働中に変更した場合、ソフトウェア10は、その直後に、GCジェネレータ14に対してGC要求を行う。これは、残メモリ量が変更された閾値以下であるか否かを確認し、閾値以下である場合にはGCを発生させなければならないからである。
図7を参照して詳細に説明する。まず、ソフトウェア10は、イベント(ev)を発生させ、そのイベントによりgcReq()を呼び出す。ソフトウェア10は、GCを発生させたいポイントで、イベントを発生するが、このイベントに閾値の変更を含むことができる。ソフトウェア10は、gcReq()をGCジェネレータ14へ出力する。GCジェネレータ14は、gcReq()を受け取り、gcReq()によりcheckFreeSpace()というメソッドを呼び出し、残メモリ量(size)を調べる。それが終了すると、その残メモリ量が閾値(criterion)以下であるかを確認する処理を選択する。その処理において残メモリ量が閾値以下である場合に、gc()メソッドを呼び出し、gc()メソッドによりGCを発生させる。
ソフトウェア10がイベントを発生させ、GC要求を出力するタイミングは、上述した、ユーザがアプリケーションプログラムを選択した後のUIデバイス11がそのアプリケーションプログラムに関する画像表示への切り替え処理を実行している時、実行ジョブの終了時、ソフトウェア10が動作していないアイドル状態で、かつエンジンデバイス12、IPUデバイス13が処理を実行している時、UIデバイス11が省電力モードへ移行した時のいずれかとすることができる。
GCジェネレータ14の第3実施形態としては、前回(直前)のGC終了時刻を保持し、そのGC終了時刻からGC要求を受けた時点までの時間が、閾値以上であるかを確認し、閾値以上である場合にのみGCを発生させるものが挙げられる。このGCジェネレータ14では、装置起動時に、その起動時刻をGC終了時刻として初期設定し、実際のGC終了時にGC終了時刻を更新する。
図8を参照して詳細に説明する。ソフトウェア10は、GCを発生させたい時点で、ソフトウェア10内でイベント(ev)を発生させる。ソフトウェア10は、イベント発生によりgcReq()を呼び出し、gcReq()をGC要求としてGCジェネレータ14へ出力する。GCジェネレータ14は、保持している前回のGC終了時刻(GCTime)を取り出し、そのGC終了時刻からgcReq()を受信した時刻(currentTime)までの時間を計算し、その時間が閾値(criterion)以上であるかを確認する処理を選択する。その処理において閾値以上である場合に、GCジェネレータ14は、gc()メソッドを呼び出し、gc()メソッドによりGCを発生させる。
この場合も、ソフトウェア10がイベントを発生させ、GC要求を出力するタイミングは、ユーザがアプリケーションプログラムを選択した後のUIデバイス11がそのアプリケーションプログラムに関する画像表示への切り替え処理を実行している時、実行ジョブの終了時、ソフトウェア10が動作していないアイドル状態で、かつエンジンデバイス12、IPUデバイス13が処理を実行している時、UIデバイス11が省電力モードへ移行した時のいずれかとすることができる。
GCジェネレータ14の第4実施形態としては、前回のGC終了時からGC要求の受信ごとに実行ジョブ数をカウントし、実行ジョブ数が閾値以上になった場合にGCを発生させるものが挙げられる。このGCジェネレータ14は、カウントされた実行ジョブ数を保持し、GC終了時にその実行ジョブ数を0にクリアする。
図9を参照して詳細に説明すると、ソフトウェア10は、GCを発生させたい時点で、イベント(ev)を発生させ、そのイベントの発生によりgcReq()を呼び出し、GCジェネレータ14へ出力する。GCジェネレータ14は、gcReq()を受信するたびにjobCount()を呼び出し、実行ジョブ数をカウントする。また、GCジェネレータ14は、カウントした実行ジョブ数(jobcount)が閾値(criterion)以上であるかを確認する処理を選択する。GCジェネレータ14は、その処理において実行ジョブ数が閾値以上になった場合に、gc()メソッドを呼び出し、gc()メソッドによりGCを発生させる。GC終了後、GCジェネレータ14は、clearJobCount()を呼び出し、保持している実行ジョブ数を0にクリアし、処理を終了する。
この場合も、ユーザがアプリケーションプログラムを選択した後のUIデバイス11がそのアプリケーションプログラムに関する画像表示への切り替え処理を実行している時、実行ジョブの終了時、ソフトウェア10が動作していないアイドル状態で、かつエンジンデバイス12、IPUデバイス13が処理を実行している時、UIデバイス11が省電力モードへ移行した時のいずれかとすることができる。
本発明では、GCの発生によるパフォーマンス低下を抑制するための方法およびこの方法を実現するためのGC発生プログラムを提供することができる。このプログラムは、画像形成装置で読み込み可能な記録媒体に格納して提供することができる。記録媒体としては、CD−ROM、CD−RW、MD、DVD−ROM、DVD−RW、DVD−RAM、フラッシュメモリ等を挙げることができる。
なお、上記方法は、ユーザがアプリケーションプログラムを選択した後のUIデバイス11がそのアプリケーションプログラムに関する画像表示への切り替え処理を実行している時、実行ジョブの終了時、ソフトウェア10が動作していないアイドル状態で、かつエンジンデバイス12、IPUデバイス13が処理を実行している時、UIデバイス11が省電力モードへ移行した時といった予め指定されたタイミングで、GC要求を出力するステップと、GC要求の受信に応答して、GCを発生させるステップとを含む。
これまで本発明を上述した実施形態をもって説明してきたが、本発明は上述した実施形態に限定されるものではなく、他の実施形態、追加、変更、削除など、当業者が想到することができる範囲内で変更することができ、いずれの態様においても本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。したがって、GCを発生させるタイミングとして、4つのタイミングを例示したが、本発明の作用・効果を奏する限り、これら4つのタイミングに限定されるものではないものである。
10…ソフトウェア、11…UIデバイス、12…エンジンデバイス、13…IPUデバイス、14…GCジェネレータ
Claims (11)
- プログラムが割り当てられたメモリ領域のうち、不要となったメモリ領域を回収して再利用可能にするガーベジコレクション(GC)機能を有する画像形成装置であって、
前記プログラムの実行によりジョブを実行するとともに、予め指定されたタイミングでGC要求を出力するジョブ実行手段と、
前記GC要求の受信に応答して、GCを発生させるGC発生手段とを備える、画像形成装置。 - 前記タイミングは、前記画像形成装置が備える表示デバイスによる画像表示の切り替え時、前記ジョブの終了時、前記ジョブ実行手段が動作していないアイドル状態で、かつ前記画像形成装置が備えるハードウェアデバイスによる処理実行時、前記表示デバイスの省電力モードへの移行時のいずれかである、請求項1に記載の画像形成装置。
- 前記GC発生手段は、残メモリ量を調査し、前記残メモリ量が閾値以下である場合に前記GCを発生させる、請求項1または2に記載の画像形成装置。
- 前記GC発生手段は、前回のGC終了時刻を保持し、前記GC終了時刻から前記GC要求受信時までの時間が閾値以上である場合に前記GCを発生させる、請求項1または2に記載の画像形成装置。
- 前記GC発生手段は、前回のGC終了時から前記GC要求の受信ごとに実行ジョブ数をカウントし、前記実行ジョブ数が閾値以上になった場合に前記GCを発生させる、請求項1または2に記載の画像形成装置。
- プログラムが割り当てられたメモリ領域のうち、不要となったメモリ領域を回収して再利用可能にするガーベジコレクション(GC)機能を有する画像形成装置において、GCの発生によるパフォーマンス低下を抑制するための方法であって、
前記プログラムの実行によりジョブを実行する実行手段が予め指定されたタイミングでGC要求を出力するステップと、
前記GC要求の受信に応答して、GC発生手段がGCを発生させるステップとを含む、方法。 - 前記タイミングは、前記画像形成装置が備える表示デバイスによる画像表示の切り替え時、前記ジョブの終了時、前記ジョブ実行手段が動作していないアイドル状態で、かつ前記画像形成装置が備えるハードウェアデバイスによる処理実行時、前記表示デバイスの省電力モードへの移行時のいずれかである、請求項6に記載の方法。
- 前記GCを発生させるステップでは、残メモリ量を調査し、前記残メモリ量が閾値以下である場合に前記GCを発生させる、請求項6または7に記載の方法。
- 前記GCを発生させるステップでは、前回のGC終了時刻から前記GC要求受信時までの時間が閾値以上である場合に前記GCを発生させる、請求項6または7に記載の方法。
- 前記GCを発生させるステップでは、前回のGC終了時から前記GC要求の受信ごとに実行ジョブ数をカウントし、前記実行ジョブ数が閾値以上になった場合に前記GCを発生させる、請求項6または7に記載の方法。
- 請求項6〜10のいずれか1項に記載の方法を実現するための画像形成装置で読み込み可能なGC発生プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007221225A JP2009054016A (ja) | 2007-08-28 | 2007-08-28 | 画像形成装置、画像形成方法およびプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007221225A JP2009054016A (ja) | 2007-08-28 | 2007-08-28 | 画像形成装置、画像形成方法およびプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009054016A true JP2009054016A (ja) | 2009-03-12 |
Family
ID=40505029
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007221225A Pending JP2009054016A (ja) | 2007-08-28 | 2007-08-28 | 画像形成装置、画像形成方法およびプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2009054016A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011034305A (ja) * | 2009-07-31 | 2011-02-17 | Ricoh Co Ltd | 画像形成装置、ガーベージコレクション機能の発生制御方法、プログラム、および記憶媒体 |
JP2013541750A (ja) * | 2010-08-12 | 2013-11-14 | クアルコム,インコーポレイテッド | モバイルデバイスにおいてハウスキーピング動作を開始するためのシステムおよび方法 |
JP2015141681A (ja) * | 2014-01-30 | 2015-08-03 | キヤノン株式会社 | 情報処理装置及びその制御方法、並びにプログラム |
-
2007
- 2007-08-28 JP JP2007221225A patent/JP2009054016A/ja active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011034305A (ja) * | 2009-07-31 | 2011-02-17 | Ricoh Co Ltd | 画像形成装置、ガーベージコレクション機能の発生制御方法、プログラム、および記憶媒体 |
JP2013541750A (ja) * | 2010-08-12 | 2013-11-14 | クアルコム,インコーポレイテッド | モバイルデバイスにおいてハウスキーピング動作を開始するためのシステムおよび方法 |
US9014749B2 (en) | 2010-08-12 | 2015-04-21 | Qualcomm Incorporated | System and method to initiate a housekeeping operation at a mobile device |
JP2015141681A (ja) * | 2014-01-30 | 2015-08-03 | キヤノン株式会社 | 情報処理装置及びその制御方法、並びにプログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2011034503A (ja) | 電子機器,ソフトウェア更新方法,プログラム,および記録媒体 | |
US20110273737A1 (en) | Information processing apparatus, image forming apparatus management method, and program | |
JP6418006B2 (ja) | ファクシミリ装置およびファクシミリ装置の印刷方法 | |
US20120210110A1 (en) | Device, program management method, and storage medium | |
JP2010244342A (ja) | メモリ管理制御装置及びメモリ管理制御方法 | |
JP2009054016A (ja) | 画像形成装置、画像形成方法およびプログラム | |
JP6524928B2 (ja) | 画像処理装置及びメモリ制御プログラム並びにメモリ制御方法 | |
JP2008269479A (ja) | ソフトウェア更新システム、サーバ、端末装置、画像形成装置及びソフトウェア更新プログラム | |
JP5691492B2 (ja) | 印刷システム、印刷装置、印刷方法および印刷プログラム | |
EP2574031A2 (en) | Image forming apparatus which controls the number of jobs that can be executed simultaneously | |
JP2009255328A (ja) | プリンタ装置 | |
JP5538334B2 (ja) | 画像形成装置及びジョブ制御プログラム | |
JP2011034305A (ja) | 画像形成装置、ガーベージコレクション機能の発生制御方法、プログラム、および記憶媒体 | |
JP5949529B2 (ja) | 画像処理装置及びプログラム | |
JP6669101B2 (ja) | 電子機器及び起動シーケンス生成プログラム | |
EP3644191A1 (en) | Memory system and electronic device | |
JP2007094675A (ja) | 印刷制御装置およびその制御方法 | |
JP2020031307A (ja) | 電子機器及びメモリー管理プログラム | |
JP2006186777A (ja) | 画像形成装置及び画像形成プログラム | |
JP5298980B2 (ja) | 印刷制御装置,印刷制御方法,プログラム,および記録媒体 | |
JP2011048590A (ja) | 画像形成装置 | |
JP2011020396A (ja) | 画像形成装置およびプログラム | |
JP6733592B2 (ja) | 画像形成装置及び画像形成プログラム | |
JP2006035558A (ja) | 画像形成装置 | |
JP2017147529A (ja) | 画像形成装置、同装置におけるタスク制御方法及びタスク制御プログラム |