JP2009054016A - Image forming apparatus, image forming method and program - Google Patents
Image forming apparatus, image forming method and program 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
- 238000000034 method Methods 0.000 title claims description 60
- 230000006870 function Effects 0.000 claims abstract description 25
- 230000004044 response Effects 0.000 claims abstract description 16
- 230000008569 process Effects 0.000 claims description 29
- 230000015556 catabolic process Effects 0.000 claims description 10
- 238000006731 degradation reaction Methods 0.000 claims description 10
- 230000007704 transition Effects 0.000 claims description 2
- 238000012545 processing Methods 0.000 abstract description 42
- 238000010586 diagram Methods 0.000 description 9
- 230000000694 effects Effects 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000007792 addition Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003825 pressing Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
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
- Record Information Processing For Printing (AREA)
- Digital Computer Display Output (AREA)
- Storing Facsimile Image Data (AREA)
Abstract
Description
本発明は、ガーベジコレクション(GC)の発生によるパフォーマンス低下を抑制する画像形成装置、GCの発生によるパフォーマンス低下を抑制するための方法およびその方法を実現するためのプログラムに関する。 The present invention relates to an image forming apparatus that suppresses performance degradation due to occurrence of garbage collection (GC), a method for suppressing performance degradation due to occurrence of GC, and a program for realizing the method.
キーボード入力や画面出力といった入出力機能やメモリの管理等、様々なアプリケーションソフトウェアから共通して利用される基本的な機能を提供し、システム全体を管理するソフトウェアとして、オペレーティングシステム(OS)が利用されている。このOSのメモリ管理機能の1つとして、プログラムが使用しなくなったメモリ領域やプログラム間に介在するメモリ領域を回収し、連続した利用可能なメモリ領域を増加させるガーベジコレクション(GC)機能が知られている。 The operating system (OS) is used as software to manage the entire system by providing basic functions commonly used by various application software, such as input / output functions such as keyboard input and screen output, and memory management. ing. As one of the OS memory management functions, a garbage collection (GC) function is known in which a memory area that is no longer used by a program or a memory area that is interposed between programs is collected to increase a continuously available memory area. ing.
Java(登録商標)言語の実行環境、すなわちJava(登録商標)仮想マシン(JVM)では、JVM自身がGC機能を備えているため、プログラマが不要となったオブジェクトの消去を意識しなくても、このGC機能によりオブジェクトが不要になった時点で自動的に回収し、そのメモリ領域を解放して再利用可能にする。このため、メモリ領域の誤解放やメモリリーク(解放漏れ)等の発生を有効に防止することができる。 In the execution environment of the Java (registered trademark) language, that is, the Java (registered trademark) virtual machine (JVM), the JVM itself has a GC function, so that even if the programmer does not need to delete the unnecessary object, The GC function automatically collects an object when it is no longer needed, and releases the memory area to make it reusable. For this reason, it is possible to effectively prevent the occurrence of erroneous release of the memory area, memory leak (release leak), and the like.
一方、GC機能を有するパーソナルコンピュータ(PC)やサーバ装置では、任意のタイミングで一括してオブジェクトを消去し、メモリ領域を回収するため、そのGC機能が動作している期間は、CPUが占有され、実行中のジョブ処理が中断してしまうといった問題があった。 On the other hand, in a personal computer (PC) or server device having a GC function, an object is erased collectively at an arbitrary timing and a memory area is collected, so that the CPU is occupied during the period during which the GC function is operating. There is a problem that the job processing being executed is interrupted.
そこで、GC機能によるメモリリーク等の発生を有効に防止しつつ、装置全体の中断時間を短縮する技術が提案されている(特許文献1〜5参照)。 Therefore, there has been proposed a technique for shortening the interruption time of the entire apparatus while effectively preventing the occurrence of a memory leak or the like due to the GC function (see Patent Documents 1 to 5).
特許文献1に記載の技術では、データを記憶する記憶ブロックを新規に確保する際に、そのデータが、ライフタイムが比較的短いデータか、比較的長いデータかを判定し、それによって格納するメモリ領域を分け、ライフタイムが比較的短いデータを格納したメモリ領域に対するGCの実行頻度を高くし、ライフタイムが比較的長いデータを格納したメモリ領域に対するGCの実行頻度を低くし、GCに要する処理時間を総体的に短縮している。 In the technique described in Patent Document 1, when a storage block for storing data is newly reserved, it is determined whether the data has relatively short lifetime or relatively long data, and is stored thereby Processing required for GC by dividing an area, increasing GC execution frequency for a memory area storing data with a relatively short lifetime, and reducing GC execution frequency for a memory area storing data with a relatively long lifetime The overall time is reduced.
特許文献2に記載の技術では、GCの処理を、実行中のスレッドに設定された実時間度に応じてそのスレッドの処理を中断する間に、そのスレッド内で実行し、スレッドの実時間性を担保しつつ、最低限必要なGCを実行してヒープ領域の枯渇を防止している。 In the technique described in Patent Document 2, the GC process is executed in the thread while the process of the thread is interrupted according to the real time set in the thread being executed. The minimum necessary GC is executed to ensure that the heap area is not depleted.
特許文献3に記載の技術では、メモリ使用状況データおよびヒープパラメータに基づいてメモリ使用状況シミュレーションを実行し、メモリ使用状況を最適化している。 In the technique described in Patent Literature 3, a memory usage situation simulation is executed based on memory usage situation data and heap parameters to optimize the memory usage situation.
特許文献4に記載の技術では、メモリを新世代と旧世代に区分し、オブジェクトを新世代に割り当て、新世代に格納する期間をオブジェクトのクラスに応じて決定し、その期間に基づいて新世代から旧世代に移動し、プログラムの起動時や実行中において不要なデータを格納する記憶領域の回収処理の処理時間を短縮し、効率的に行っている。 In the technique described in Patent Document 4, a memory is divided into a new generation and an old generation, an object is assigned to the new generation, a period for storing the new generation is determined according to the class of the object, and the new generation is based on the period. The system is moved from the previous generation to the previous generation, and the processing time of the recovery process of the storage area for storing unnecessary data during the startup and execution of the program is shortened and performed efficiently.
特許文献5に記載の技術では、リクエスト毎に一時的、反復的に生成される一時オブジェクトを再使用し、通信パターンを制限して、GCの発生を抑制している。
上記のGC機能は、PCやサーバ装置に限らず、コピー機能、スキャナ機能、プリンタ機能といった複数の機能を搭載した複合機にも採用されている。複合機では、ファーストコピータイムや連続複写速度等がカタログ仕様として必要とされている。ここで、ファーストコピータイムとは、1枚の原稿を1枚だけコピーするときにかかる時間であり、連続複写速度とは、1枚の原稿を1分間にコピーすることができるコピー枚数である。 The above-described GC function is not limited to a PC or server device, but is also adopted in a multi-function peripheral equipped with a plurality of functions such as a copy function, a scanner function, and a printer function. In a multi-function peripheral, first copy time, continuous copying speed, etc. are required as catalog specifications. Here, the first copy time is the time required to copy only one original, and the continuous copying speed is the number of copies that can copy one original per minute.
複合機等の画像形成装置は、図1に示すように、CPUに処理を実行させるためのソフトウェア10と、ユーザからの入力を受け付けてソフトウェア10へ送り、ソフトウェア10からの更新を受けて画像描画を行うUIデバイス11と、ソフトウェア10からのリクエストを受けて処理を実行するプリンタやスキャナ等のエンジンデバイス12と、ソフトウェア10からパラメータの設定を受け付けて、A/D変換処理、変倍処理、ディザ処理等の画像処理を実行するIPUデバイス13とを備える。
As shown in FIG. 1, an image forming apparatus such as a multifunction peripheral receives
図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)、ジョブは終了する。
In FIG. 1, the job is started when the
一般に、カタログ仕様では、GCによる実行ジョブの中断時間t5は考慮せず、t1〜t4とt6を加算した値が、処理時間として記載される。このため、GCの発生により実行中のジョブが中断してしまうと、カタログ仕様を満たすことができなくなってしまう。GC機能を有する装置では、GCがどのような状況でも発生し得るため、ジョブの中断を100%回避することはできない。したがって、カタログ仕様を満たすためには、ジョブ実行中に出来る限りGCが発生しないようにしなければならない。 In general, the catalog specification does not consider the interruption time t5 of the execution job by GC, and the value obtained by adding t1 to t4 and t6 is described as the processing time. For this reason, if a job being executed is interrupted due to the occurrence of GC, the catalog specification cannot be satisfied. In the apparatus having the GC function, since the GC can occur in any situation, it is not possible to avoid the job interruption 100%. Therefore, in order to satisfy the catalog specification, it is necessary to prevent the occurrence of GC as much as possible during job execution.
そこで、GC機能を有する画像形成装置において、ジョブ実行中に出来る限りGCを発生させないようにして、パフォーマンス低下を抑制することができる装置や方法の提供が望まれている。 Therefore, it is desired to provide an apparatus and a method that can suppress performance degradation by preventing the occurrence of GC as much as possible during job execution in an image forming apparatus having a GC function.
本発明は、上記課題を解決するために、Java(登録商標)VMを含め、GC機能を備えるプラットフォームを搭載している画像形成装置において、GCが発生した後、次のGCの発生までに時間的に相当の間隔があることを前提とし、予め指定されたタイミングでGC要求を出力し、GC要求の受信に応答して強制的にGCを発生させる機能を備える。GC終了後のしばらくの間はGCが発生しないため、この間にジョブを実行することで、ジョブ実行時のパフォーマンス低下を抑制することができる。 In order to solve the above-described problem, the present invention provides an image forming apparatus including a Java (registered trademark) VM and including a platform having a GC function. It is assumed that there is a considerable interval, and a function is provided for outputting a GC request at a predetermined timing and forcibly generating a GC in response to reception of the GC request. Since GC does not occur for a while after the end of the GC, by executing the job during this time, it is possible to suppress the performance degradation at the time of job execution.
すなわち、本発明では、プログラムが割り当てられたメモリ領域のうち、不要となったメモリ領域を回収して再利用可能にするガーベジコレクション(GC)機能を有する画像形成装置であって、プログラムの実行によりジョブを実行するとともに、予め指定されたタイミングでGC要求を出力するジョブ実行手段と、GC要求の受信に応答して、GCを発生させるGC発生手段とを備える装置を提供することができる。 That is, according to the present invention, an image forming apparatus having a garbage collection (GC) function for collecting and reusing a memory area that is no longer needed among memory areas to which a program is allocated, It is possible to provide an apparatus that includes a job execution unit that executes a job and outputs a GC request at a timing specified in advance, and a GC generation unit that generates a GC in response to reception of the GC request.
上記のタイミングとしては、ジョブ実行時のパフォーマンス低下を抑制するために、画像形成装置が備える表示デバイスによる画像表示の切り替え時、ジョブの終了時、ジョブ実行手段が動作していないアイドル状態で、かつ画像形成装置が備えるハードウェアデバイスによる処理実行時、表示デバイスの省電力モードへの移行時のいずれかとすることができる。表示デバイスは、図1でいうUIデバイス11に相当するものであり、ハードウェアデバイスは、エンジンデバイス12、IPUデバイス13に相当するものである。なお、ジョブ実行手段が、プログラムの実行によりジョブを実行するとともに、予め指定されたタイミングでGC要求を出力する機能を備えることで、ジョブ終了時やアイドル状態等のときに、GC要求を出力し、GCを発生させることが可能となる。
As the above timing, in order to suppress the performance degradation at the time of job execution, at the time of switching the image display by the display device provided in the image forming apparatus, at the end of the job, in the idle state where the job execution means is not operating, It can be either when processing is performed by a hardware device provided in the image forming apparatus or when the display device is shifted to a power saving mode. The display device corresponds to the
上記のGC発生手段は、残メモリ量(メモリサイズ)を調査し、残メモリ量が予め設定された閾値以下である場合にGCを発生させることができる。十分に残メモリ量がある場合、GCが発生する可能性は低いが、残メモリ量が少なくなると、GCが発生する可能性は高くなる。このGCは、一度発生すると、その後のしばらくの間はGCが発生しない。このため、残メモリ量が閾値以下である場合に強制的にGCを発生させることで、GCが発生しない間にジョブを実行し、これにより、パフォーマンス低下を抑制することができる。 The GC generating means can check the remaining memory amount (memory size) and generate a GC when the remaining memory amount is equal to or less than a preset threshold value. If there is a sufficient amount of remaining memory, the possibility of occurrence of GC is low, but if the amount of remaining memory decreases, the possibility of occurrence of GC increases. Once this GC occurs, no GC occurs for a while after that. For this reason, by forcibly generating GC when the remaining memory amount is equal to or less than the threshold, the job is executed while no GC is generated, thereby suppressing performance degradation.
また、GC発生手段は、前回のGC終了時刻を保持し、そのGC終了時刻からGC要求受信時までの時間が閾値以上である場合にGCを発生させることができる。上述したようにGCは、どのような状況でも発生し得る。また、前回のGC終了時刻からの経過時間が長くなるほど、GCが発生する可能性が高くなる。このため、その経過時間が閾値以上である場合に強制的にGCを発生させ、その後のGCが発生しない間にジョブを実行することができる。 In addition, the GC generation unit can hold the previous GC end time, and can generate a GC when the time from the GC end time to the reception of the GC request is equal to or greater than a threshold value. As described above, GC can occur in any situation. In addition, the longer the elapsed time from the previous GC end time, the higher the possibility of occurrence of GC. For this reason, when the elapsed time is equal to or greater than the threshold value, the GC can be forcibly generated, and the job can be executed while no subsequent GC is generated.
上記では、前回のGC終了時からGC要求受信時までの時間としたが、実行ジョブ数をカウントし、その実行ジョブ数が閾値以上になった場合にGCを発生させることもできる。 In the above description, the time from the end of the previous GC to the reception of the GC request is used. However, the number of execution jobs can be counted, and a GC can be generated when the number of execution jobs exceeds a threshold value.
本発明では、画像形成装置に加え、GCの発生によるパフォーマンス低下を抑制するための方法も提供することができる。この方法は、予め指定されたタイミングでGC要求を出力するステップと、GC要求の受信に応答して、GCを発生させるステップとを含む。 In the present invention, in addition to the image forming apparatus, a method for suppressing performance degradation due to occurrence of GC can also be provided. The method includes outputting a GC request at a predesignated timing and generating a GC in response to receiving the GC request.
また、本発明では、上記方法を実現するための画像形成装置可読なGC発生プログラムを提供することもできる。 The present invention can also provide an image forming apparatus-readable GC generation program for realizing the above method.
本発明は、GCが発生した後、次のGCの発生までに時間的に相当の間隔があること、すなわち、一度GCが発生すると、しばらくの間はGCが発生しないことを前提とするものである。本発明の画像形成装置の1つの実施形態では、画像形成装置は、図1に示すソフトウェア10、UIデバイス11、エンジンデバイス12、IPUデバイス13に加えて、GCを強制的に発生させるGCジェネレータを備える。また、本実施形態では、画像形成装置は、Java(登録商標)VMを含め、GC機能を備えるプラットフォームを搭載している。
The present invention is based on the premise that there is a considerable time interval between the occurrence of a GC and the occurrence of the next GC. That is, once a GC occurs, the GC does not occur for a while. is there. In one embodiment of the image forming apparatus of the present invention, the image forming apparatus includes a GC generator that forcibly generates GC in addition to the
ソフトウェア10は、ユーザからの入力を受けてエンジンデバイス12へリクエストを送り、エンジンデバイス12に処理を実行させる。また、ソフトウェア10は、IPUデバイス13へパラメータを送り、IPUデバイス13に設定させ、設定されたパラメータを使用して画像処理を実行させる。さらに、ソフトウェア10は、UIデバイス11から入力を受け付け、また、UIデバイス11へ表示画像を更新させるための指示を与える。例えば、アプリケーションを選択し、選択したアプリケーションにより処理を行う場合、UIデバイス11では画像表示を更新するために画像描画を行い、IPUデバイス13では画像変換処理等を実行し、エンジンデバイス12では印刷処理等を実行する。これらの処理は、一連の処理、すなわち1つのジョブであり、ソフトウェア10は、このような一連の処理であるジョブを実行する。
The
なお、ソフトウェア10は、画像形成装置全体を制御するCPUにより実行されて上記処理を行うものである。したがって、ソフトウェア10自体が実際に処理を実行するものではないが、説明を容易にするため、以下、ソフトウェア10が処理を行うものとして説明する。
The
UIデバイス11は、操作部であり、ユーザからの入力を受け付け、画像描画を行うために、CPUおよびメモリを含む。エンジンデバイス12は、スキャナ、プリンタ、ファックス、コピー機といったハードウェアを含む。IPUデバイス13は、画像処理を実行するために、CPU、ASIC、ROM、RAM等を備える。
The
図2を参照して、本実施形態の画像形成装置に用いられるソフトウェア10およびGCジェネレータ14について説明する。ソフトウェア10は、上述した処理に加え、予め指定されたタイミングでGC要求をGCジェネレータ14へ出力するように構成される。GCジェネレータ14は、ソフトウェア10からのGC要求を受けて、GCを発生させるように構成される。
With reference to FIG. 2, the
図2では、ソフトウェア10が、ソフトウェア10内でイベント(ev)を発生し、このイベントによってGC要求であるgcReq()を呼び出し、gcReq()をGCジェネレータ14へ出力する。GCジェネレータ14は、gcReq()を受け取り、gcReq()によりgc()を呼び出し、gc()によりGCを発生させる。gcReq()、gc()は、オブジェクト指向プログラミングにおいて、各オブジェクトがもっている自身に対する操作、すなわちメソッドである。
In FIG. 2, the
GCを発生させたい時点でGCを発生させるために、ソフトウェア10は、予め指定されたタイミングでGC要求をGCジェネレータ14へ出力する。また、GCジェネレータ14は、GC要求を受けて、強制的にGCを発生させる。これにより、例えば、GCが終了した直後にジョブを実行することで、そのジョブ実行中におけるGC発生を回避することができ、ジョブ実行時のパフォーマンス低下を抑制することができる。ここで、上記タイミングとしては、以下のタイミングとすることができる。
In order to generate a GC at a time when it is desired to generate a GC, the
1つは、ユーザがアプリケーション(コピー/プリンタ/ファックス/スキャナ/ドキュメント・ボックス)を選択した時のUIデバイス11によるそのアプリケーションに関する画像表示への切り替え処理の実行時である。アプリケーションの選択は、ユーザがアプリケーション切り替えキーを押すことにより行われ、画像表示の切り替えは、UIデバイス11がそのキーの押下に応答して、ユーザにより選択されたアプリケーションに関する画像表示へと切り替えることにより行われる。
One is when the
この場合の処理を、図3を参照して詳細に説明すると、UIデバイス11がユーザから受け付けた入力を、ソフトウェア10がイベント(keyInput)として受け取ることによりジョブを開始する。ソフトウェア10は、表示更新の指示であるupdate()をUIデバイス11へ送るジョブを実行する。UIデバイス11は、update()を受け取り、ユーザにより選択されたアプリケーションに関する画像描画を行うことにより新たな画像を表示する。
The process in this case will be described in detail with reference to FIG. 3. The job is started when the
この画像描画は、UIデバイス11が備えるCPUによる処理であり、GCを実行するCPUとは異なるため、GCが発生したところでその影響を受けることはない。また、画像表示の切り替え処理の開始からユーザによる次の入力まで、人間の動作スピードからして時間的な間隔は十分にある。このため、この切り替え処理の実行時にGCを強制的に発生させることで、切り替え後からしばらくの間はGCの発生を抑制することができる。GCの実行と、UIデバイス11による処理が並行して行われるが、図3に示すように、GCの実行期間が長い場合、UIデバイス11への入力不可期間Tが発生する。しかしながら、その期間Tはわずかな期間であり、その間入力ができないにしても、十分に許容できる範囲内のものである。
This image drawing is a process performed by the CPU included in the
2つ目は、アプリケーションプログラム上で実行されたジョブの終了時である。同一のアプリケーション上で連続してジョブを行う、例えば、あるユーザがコピーをとった後に、別のユーザがコピーをとるような場合、上記のようなアプリケーションの切り替えは発生しない。このため、上記のUIデバイスによる画像描画の間にGCを発生させるという方法は採用することができない。 The second is when the job executed on the application program ends. When jobs are continuously executed on the same application, for example, when another user takes a copy after making a copy, the application switching as described above does not occur. For this reason, the method of generating GC during image drawing by the UI device cannot be adopted.
図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の発生を抑制することができる。
Referring to FIG. 4 in detail, the
GCの実行中、UIデバイス11による処理が並行して行われるが、図4に示すように、GCの実行期間が長い場合、UIデバイス11への入力不可期間Tが発生する。しかしながら、その期間Tはわずかな期間であり、その間入力ができないにしても、十分に許容できる範囲内のものである。
During the execution of the GC, the processing by the
3つ目は、画像形成装置が備えるハードウェアデバイス、すなわちUIデバイス11、エンジンデバイス12、IPUデバイス13が実行中で、アプリケーションプログラムが動作していないアイドル状態にある時である。図5を参照して詳細に説明すると、ソフトウェア10は、エンジンデバイス12およびIPUデバイス13へexec()を送り、処理を実行させる。エンジンデバイス12は、処理が終了した後、ソフトウェア10へ応答(event)を返す。ソフトウェア10は、その応答を受けて、update()をUIデバイス11へ送る。図5に示すシーケンスでは、エンジンデバイス12による処理が時間を要し、その処理の実行開始からソフトウェア10へ応答を返すまでに十分な時間がある。また、この間、ソフトウェア10は動作しておらず、アイドル状態とされている。
The third time is when the hardware device included in the image forming apparatus, that is, the
このため、GCの影響が許容できるポイントあるいはハードウェア処理中で影響がでないポイント、すなわち、エンジンデバイス12が処理を実行している間に、強制的にGCを発生させ、次のGCの発生までの間隔を開けることで、ジョブ実行中にGCが発生しないようにして、ファーストコピータイムや連続複写速度等のカタログ仕様の達成を図ることができる。
For this reason, a point where the influence of the GC is acceptable or a point where there is no influence in the hardware processing, that is, while the
4つ目は、UIデバイス11の省電力モードへの移行時である。省電力モードには様々なものがあるが、ここではUIデバイス11のみをOFFにするモードで、省電力状態とはUIデバイス11のみがOFFとなる状態である。この省電力状態は、事実上、ユーザ入力がない状態であるため、ここでGCを強制的に発生させることによる影響は少ないものである。
The fourth time is when the
図6を参照して詳細に説明すると、ソフトウェア10は、省電力モードへ移行するため、changeMode()というイベントを発生し、off()を呼び出し、UIデバイス11へ送る。UIデバイス11は、off()を受け取り、UIデバイス11の電源をOFFにする。UIデバイス11の電源をOFFにすると、ユーザからの入力はない状態であるため、GCを機能させるための十分な時間がある。このため、省電力モードへの移行時にGCを発生させることができる。これにより、以降のジョブ実行中におけるGCの発生をしばらくの間抑制することができる。なお、UIデバイス11がOFFでもネットワーク経由で処理を実行している場合には、ソフトウェア10によるジョブが実行中であるため、このタイミングではGCを発生させず、例えば、ジョブ終了時にGCを発生させる必要がある。
Referring to FIG. 6 in detail, the
次に、GCジェネレータ14の実施形態を、図面を参照して説明する。GCジェネレータ14の第1実施形態としては、図2に示すような、GC要求に応答して、GCを発生させるものが挙げられる。このGCジェネレータ14は、GC要求に応答して、GCを発生させる機能を有するのみとされている。
Next, an embodiment of the
GCジェネレータ14の第2実施形態としては、GC要求を受けた時点でのヒープ領域内の残メモリ量を調査し、残メモリ量が閾値以下であるか否かを確認し、閾値以下である場合にのみ、GCを発生させるものが挙げられる。ヒープ領域は、用途に関係なく自由に確保することができるメモリ領域である。閾値は、画像形成装置の初期値として与えられる固定値であってもよいし、画像形成装置の稼働中にユーザが変更可能なものであってもよい。ただし、稼働中に変更した場合、ソフトウェア10は、その直後に、GCジェネレータ14に対してGC要求を行う。これは、残メモリ量が変更された閾値以下であるか否かを確認し、閾値以下である場合にはGCを発生させなければならないからである。
As a second embodiment of the
図7を参照して詳細に説明する。まず、ソフトウェア10は、イベント(ev)を発生させ、そのイベントによりgcReq()を呼び出す。ソフトウェア10は、GCを発生させたいポイントで、イベントを発生するが、このイベントに閾値の変更を含むことができる。ソフトウェア10は、gcReq()をGCジェネレータ14へ出力する。GCジェネレータ14は、gcReq()を受け取り、gcReq()によりcheckFreeSpace()というメソッドを呼び出し、残メモリ量(size)を調べる。それが終了すると、その残メモリ量が閾値(criterion)以下であるかを確認する処理を選択する。その処理において残メモリ量が閾値以下である場合に、gc()メソッドを呼び出し、gc()メソッドによりGCを発生させる。
This will be described in detail with reference to FIG. First, the
ソフトウェア10がイベントを発生させ、GC要求を出力するタイミングは、上述した、ユーザがアプリケーションプログラムを選択した後のUIデバイス11がそのアプリケーションプログラムに関する画像表示への切り替え処理を実行している時、実行ジョブの終了時、ソフトウェア10が動作していないアイドル状態で、かつエンジンデバイス12、IPUデバイス13が処理を実行している時、UIデバイス11が省電力モードへ移行した時のいずれかとすることができる。
The timing at which the
GCジェネレータ14の第3実施形態としては、前回(直前)のGC終了時刻を保持し、そのGC終了時刻からGC要求を受けた時点までの時間が、閾値以上であるかを確認し、閾値以上である場合にのみGCを発生させるものが挙げられる。このGCジェネレータ14では、装置起動時に、その起動時刻をGC終了時刻として初期設定し、実際のGC終了時にGC終了時刻を更新する。
As a third embodiment of the
図8を参照して詳細に説明する。ソフトウェア10は、GCを発生させたい時点で、ソフトウェア10内でイベント(ev)を発生させる。ソフトウェア10は、イベント発生によりgcReq()を呼び出し、gcReq()をGC要求としてGCジェネレータ14へ出力する。GCジェネレータ14は、保持している前回のGC終了時刻(GCTime)を取り出し、そのGC終了時刻からgcReq()を受信した時刻(currentTime)までの時間を計算し、その時間が閾値(criterion)以上であるかを確認する処理を選択する。その処理において閾値以上である場合に、GCジェネレータ14は、gc()メソッドを呼び出し、gc()メソッドによりGCを発生させる。
This will be described in detail with reference to FIG. The
この場合も、ソフトウェア10がイベントを発生させ、GC要求を出力するタイミングは、ユーザがアプリケーションプログラムを選択した後のUIデバイス11がそのアプリケーションプログラムに関する画像表示への切り替え処理を実行している時、実行ジョブの終了時、ソフトウェア10が動作していないアイドル状態で、かつエンジンデバイス12、IPUデバイス13が処理を実行している時、UIデバイス11が省電力モードへ移行した時のいずれかとすることができる。
Also in this case, the timing at which the
GCジェネレータ14の第4実施形態としては、前回のGC終了時からGC要求の受信ごとに実行ジョブ数をカウントし、実行ジョブ数が閾値以上になった場合にGCを発生させるものが挙げられる。このGCジェネレータ14は、カウントされた実行ジョブ数を保持し、GC終了時にその実行ジョブ数を0にクリアする。
As a fourth embodiment of the
図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にクリアし、処理を終了する。
Referring to FIG. 9, the
この場合も、ユーザがアプリケーションプログラムを選択した後のUIデバイス11がそのアプリケーションプログラムに関する画像表示への切り替え処理を実行している時、実行ジョブの終了時、ソフトウェア10が動作していないアイドル状態で、かつエンジンデバイス12、IPUデバイス13が処理を実行している時、UIデバイス11が省電力モードへ移行した時のいずれかとすることができる。
Also in this case, when the
本発明では、GCの発生によるパフォーマンス低下を抑制するための方法およびこの方法を実現するためのGC発生プログラムを提供することができる。このプログラムは、画像形成装置で読み込み可能な記録媒体に格納して提供することができる。記録媒体としては、CD−ROM、CD−RW、MD、DVD−ROM、DVD−RW、DVD−RAM、フラッシュメモリ等を挙げることができる。 In the present invention, it is possible to provide a method for suppressing performance degradation due to the occurrence of GC and a GC generation program for realizing this method. This program can be provided by being stored in a recording medium readable by the image forming apparatus. Examples of the recording medium include CD-ROM, CD-RW, MD, DVD-ROM, DVD-RW, DVD-RAM, and flash memory.
なお、上記方法は、ユーザがアプリケーションプログラムを選択した後のUIデバイス11がそのアプリケーションプログラムに関する画像表示への切り替え処理を実行している時、実行ジョブの終了時、ソフトウェア10が動作していないアイドル状態で、かつエンジンデバイス12、IPUデバイス13が処理を実行している時、UIデバイス11が省電力モードへ移行した時といった予め指定されたタイミングで、GC要求を出力するステップと、GC要求の受信に応答して、GCを発生させるステップとを含む。
In the above method, when the
これまで本発明を上述した実施形態をもって説明してきたが、本発明は上述した実施形態に限定されるものではなく、他の実施形態、追加、変更、削除など、当業者が想到することができる範囲内で変更することができ、いずれの態様においても本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。したがって、GCを発生させるタイミングとして、4つのタイミングを例示したが、本発明の作用・効果を奏する限り、これら4つのタイミングに限定されるものではないものである。 The present invention has been described with the above-described embodiments. However, the present invention is not limited to the above-described embodiments, and other embodiments, additions, modifications, deletions, and the like can be conceived by those skilled in the art. It can be changed within the range, and any embodiment is included in the scope of the present invention as long as the effects and effects of the present invention are exhibited. Therefore, although four timings are illustrated as timings for generating GC, the timings are not limited to these four timings as long as the operations and effects of the present invention are achieved.
10…ソフトウェア、11…UIデバイス、12…エンジンデバイス、13…IPUデバイス、14…GCジェネレータ
DESCRIPTION OF
Claims (11)
前記プログラムの実行によりジョブを実行するとともに、予め指定されたタイミングでGC要求を出力するジョブ実行手段と、
前記GC要求の受信に応答して、GCを発生させるGC発生手段とを備える、画像形成装置。 An image forming apparatus having a garbage collection (GC) function for collecting and reusing a memory area that is no longer needed among memory areas to which a program is allocated,
Job execution means for executing a job by executing the program and outputting a GC request at a timing specified in advance;
An image forming apparatus comprising: a GC generation unit that generates a GC in response to reception of the GC request.
前記プログラムの実行によりジョブを実行する実行手段が予め指定されたタイミングでGC要求を出力するステップと、
前記GC要求の受信に応答して、GC発生手段がGCを発生させるステップとを含む、方法。 Method for suppressing performance degradation due to occurrence of GC in an image forming apparatus having a garbage collection (GC) function that collects and reuses a memory area that is no longer needed among memory areas to which a program is allocated Because
An execution means for executing a job by executing the program outputs a GC request at a predetermined timing;
Responsive to receiving the GC request, the GC generating means generating a GC.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007221225A JP2009054016A (en) | 2007-08-28 | 2007-08-28 | Image forming apparatus, image forming method and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007221225A JP2009054016A (en) | 2007-08-28 | 2007-08-28 | Image forming apparatus, image forming method and program |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009054016A true JP2009054016A (en) | 2009-03-12 |
Family
ID=40505029
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007221225A Pending JP2009054016A (en) | 2007-08-28 | 2007-08-28 | Image forming apparatus, image forming method and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2009054016A (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011034305A (en) * | 2009-07-31 | 2011-02-17 | Ricoh Co Ltd | Image forming device, method of controlling generation of garbage collection function, program, and storage medium |
JP2013541750A (en) * | 2010-08-12 | 2013-11-14 | クアルコム,インコーポレイテッド | System and method for initiating a housekeeping operation in a mobile device |
JP2015141681A (en) * | 2014-01-30 | 2015-08-03 | キヤノン株式会社 | Information processing apparatus, control method of the same, and program |
-
2007
- 2007-08-28 JP JP2007221225A patent/JP2009054016A/en active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011034305A (en) * | 2009-07-31 | 2011-02-17 | Ricoh Co Ltd | Image forming device, method of controlling generation of garbage collection function, program, and storage medium |
JP2013541750A (en) * | 2010-08-12 | 2013-11-14 | クアルコム,インコーポレイテッド | System and method for initiating a housekeeping operation in a mobile device |
US9014749B2 (en) | 2010-08-12 | 2015-04-21 | Qualcomm Incorporated | System and method to initiate a housekeeping operation at a mobile device |
JP2015141681A (en) * | 2014-01-30 | 2015-08-03 | キヤノン株式会社 | Information processing apparatus, control method of the same, and program |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20110273737A1 (en) | Information processing apparatus, image forming apparatus management method, and program | |
JP2011034503A (en) | Electronic apparatus, software update method, program and recording medium | |
JP2011128995A (en) | Log information management system, control method therefor, and storage medium | |
JP6418006B2 (en) | Facsimile apparatus and printing method of facsimile apparatus | |
US8775785B2 (en) | Program management method for performing start-up process for programs during start-up of device based on the previous start-up status to prevent occurrence of an out of memory condition | |
JP2010244342A (en) | Device and method for management control of memory | |
JP2009054016A (en) | Image forming apparatus, image forming method and program | |
JP6524928B2 (en) | Image processing apparatus, memory control program and memory control method | |
JP2008269479A (en) | Software update system, server, terminal device, image forming device and software update program | |
JP2011043932A (en) | Information processing apparatus | |
JP2000076083A (en) | Job execution controller | |
JP5544341B2 (en) | Image forming apparatus and job control program | |
JP5691492B2 (en) | Printing system, printing apparatus, printing method, and printing program | |
JP2010147810A (en) | Image processing apparatus, power supply control method, power supply control program, and recording, medium storing recorded program | |
JP5538334B2 (en) | Image forming apparatus and job control program | |
JP2011034305A (en) | Image forming device, method of controlling generation of garbage collection function, program, and storage medium | |
JP5949529B2 (en) | Image processing apparatus and program | |
JP2011020396A (en) | Image forming apparatus and program | |
JP2017050767A (en) | Image forming apparatus, and task control method and task control program in the same apparatus | |
EP3644191A1 (en) | Memory system and electronic device | |
JP2006186777A (en) | Apparatus and program for image formation | |
JP5298980B2 (en) | PRINT CONTROL DEVICE, PRINT CONTROL METHOD, PROGRAM, AND RECORDING MEDIUM | |
JP5839183B2 (en) | Image forming apparatus and image forming method | |
JP2012027768A (en) | Embedded device, method for setting parameters, computer program, and recording medium | |
JP2011048590A (en) | Image forming device |