[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP2009054016A - Image forming apparatus, image forming method and program - Google Patents

Image forming apparatus, image forming method and program Download PDF

Info

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
Application number
JP2007221225A
Other languages
Japanese (ja)
Inventor
Kazuyuki Yamauchi
和幸 山内
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2007221225A priority Critical patent/JP2009054016A/en
Publication of JP2009054016A publication Critical patent/JP2009054016A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy 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

<P>PROBLEM TO BE SOLVED: To provide an apparatus capable of preventing the generation of garbage collection (GC) as much as possible during the execution of a job in an image forming apparatus having a GC function. <P>SOLUTION: The image forming apparatus is provided with: an execution means for executing a job by the execution of a program allocated to a memory area and outputting a GC request at previously specified timing; and a GC generation means for generating GC in response to the reception of a GC request. The timing is any one of at the execution time of switching processing to image display concerned with a program selected by a user by a UI device after selecting the program by the user, at the end of program execution, at the execution of processing by a hardware device in an idle state in which the program is not driven, and at the shift of the UI device to a power saving mode. <P>COPYRIGHT: (C)2009,JPO&INPIT

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の発生を抑制している。
特開2002−278828号公報 特開2004−234546号公報 特開2004−5486号公報 特開2006−171927号公報 特開2007−86838号公報
In the technique described in Patent Document 5, a temporary object that is temporarily and repeatedly generated for each request is reused to limit the communication pattern, thereby suppressing the occurrence of GC.
JP 2002-278828 A JP 2004-234546 A JP 2004-5486 A JP 2006-171927 A JP 2007-86838 A

上記の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 software 10 for causing a CPU to execute processing and an input from a user, sends it to the software 10, receives an update from the software 10, and draws an image. Receiving a request from the software 10, an engine device 12 such as a printer or a scanner that executes processing upon receiving a request from the software 10, and accepting parameter settings from the software 10, A / D conversion processing, scaling processing, dithering And an IPU device 13 that executes image processing such as processing.

図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 software 10 receives an input received by the UI device 11 as an event (keyInput). The software 10 sends a request to the engine device 12, and the engine device 12 executes processing (t1). The software 10 sends parameters to the IPU device 13 to execute image processing based on the set parameters (t2). The software 10 sends a display update instruction to the UI device 11, and the UI device 11 draws an image based on the instruction (t3). The software 10 sends a request to the engine device 12, and the engine device 12 executes the process (t4), but a GC occurs and the job is interrupted (t5). After the GC is finished, the software 10 sends the request to the engine device 12 again, and the engine device 12 executes the process again (t6). The software 10 sends a display update instruction to the UI device 11, and the UI device 11 draws an image (t6), and the job ends.

一般に、カタログ仕様では、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 UI device 11 in FIG. 1, and the hardware device corresponds to the engine device 12 and the IPU device 13. The job execution means executes a job by executing a program and outputs a GC request at a timing specified in advance, thereby outputting a GC request at the end of the job or in an idle state. , GC can be generated.

上記の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 software 10, the UI device 11, the engine device 12, and the IPU device 13 shown in FIG. Prepare. In the present embodiment, the image forming apparatus includes a platform having a GC function, including a Java (registered trademark) VM.

ソフトウェア10は、ユーザからの入力を受けてエンジンデバイス12へリクエストを送り、エンジンデバイス12に処理を実行させる。また、ソフトウェア10は、IPUデバイス13へパラメータを送り、IPUデバイス13に設定させ、設定されたパラメータを使用して画像処理を実行させる。さらに、ソフトウェア10は、UIデバイス11から入力を受け付け、また、UIデバイス11へ表示画像を更新させるための指示を与える。例えば、アプリケーションを選択し、選択したアプリケーションにより処理を行う場合、UIデバイス11では画像表示を更新するために画像描画を行い、IPUデバイス13では画像変換処理等を実行し、エンジンデバイス12では印刷処理等を実行する。これらの処理は、一連の処理、すなわち1つのジョブであり、ソフトウェア10は、このような一連の処理であるジョブを実行する。   The software 10 receives an input from the user, sends a request to the engine device 12, and causes the engine device 12 to execute processing. Further, the software 10 sends a parameter to the IPU device 13, causes the IPU device 13 to set, and executes image processing using the set parameter. Further, the software 10 receives an input from the UI device 11 and gives an instruction for updating the display image to the UI device 11. For example, when an application is selected and processing is performed by the selected application, the UI device 11 performs image drawing to update the image display, the IPU device 13 executes image conversion processing, and the engine device 12 performs printing processing. Etc. These processes are a series of processes, that is, one job, and the software 10 executes a job that is such a series of processes.

なお、ソフトウェア10は、画像形成装置全体を制御するCPUにより実行されて上記処理を行うものである。したがって、ソフトウェア10自体が実際に処理を実行するものではないが、説明を容易にするため、以下、ソフトウェア10が処理を行うものとして説明する。   The software 10 is executed by a CPU that controls the entire image forming apparatus and performs the above processing. Therefore, although the software 10 itself does not actually execute processing, in order to facilitate the description, the following description will be made assuming that the software 10 performs processing.

UIデバイス11は、操作部であり、ユーザからの入力を受け付け、画像描画を行うために、CPUおよびメモリを含む。エンジンデバイス12は、スキャナ、プリンタ、ファックス、コピー機といったハードウェアを含む。IPUデバイス13は、画像処理を実行するために、CPU、ASIC、ROM、RAM等を備える。   The UI device 11 is an operation unit, and includes a CPU and a memory for receiving input from a user and performing image drawing. The engine device 12 includes hardware such as a scanner, a printer, a fax machine, and a copier. The IPU device 13 includes a CPU, an ASIC, a ROM, a RAM, and the like in order to execute image processing.

図2を参照して、本実施形態の画像形成装置に用いられるソフトウェア10およびGCジェネレータ14について説明する。ソフトウェア10は、上述した処理に加え、予め指定されたタイミングでGC要求をGCジェネレータ14へ出力するように構成される。GCジェネレータ14は、ソフトウェア10からのGC要求を受けて、GCを発生させるように構成される。   With reference to FIG. 2, the software 10 and the GC generator 14 used in the image forming apparatus of this embodiment will be described. In addition to the processing described above, the software 10 is configured to output a GC request to the GC generator 14 at a predetermined timing. The GC generator 14 is configured to generate a GC in response to a GC request from the software 10.

図2では、ソフトウェア10が、ソフトウェア10内でイベント(ev)を発生し、このイベントによってGC要求であるgcReq()を呼び出し、gcReq()をGCジェネレータ14へ出力する。GCジェネレータ14は、gcReq()を受け取り、gcReq()によりgc()を呼び出し、gc()によりGCを発生させる。gcReq()、gc()は、オブジェクト指向プログラミングにおいて、各オブジェクトがもっている自身に対する操作、すなわちメソッドである。   In FIG. 2, the software 10 generates an event (ev) in the software 10, calls the GC request gcReq () by this event, and outputs gcReq () to the GC generator 14. The GC generator 14 receives gcReq (), calls gc () by gcReq (), and generates GC by gc (). gcReq () and gc () are operations, that is, methods, for objects that each object has in object-oriented programming.

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 software 10 outputs a GC request to the GC generator 14 at a timing specified in advance. The GC generator 14 receives a GC request and forcibly generates a GC. As a result, for example, by executing a job immediately after the GC is finished, it is possible to avoid the occurrence of GC during the execution of the job, and it is possible to suppress performance degradation during job execution. Here, the timing can be the following timing.

1つは、ユーザがアプリケーション(コピー/プリンタ/ファックス/スキャナ/ドキュメント・ボックス)を選択した時のUIデバイス11によるそのアプリケーションに関する画像表示への切り替え処理の実行時である。アプリケーションの選択は、ユーザがアプリケーション切り替えキーを押すことにより行われ、画像表示の切り替えは、UIデバイス11がそのキーの押下に応答して、ユーザにより選択されたアプリケーションに関する画像表示へと切り替えることにより行われる。   One is when the UI device 11 performs a process of switching to image display related to the application when the user selects an application (copy / printer / fax / scanner / document box). The application is selected when the user presses an application switching key, and the image display is switched when the UI device 11 switches to an image display related to the application selected by the user in response to pressing of the key. Done.

この場合の処理を、図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 software device 10 receives an input received from the user by the UI device 11 as an event (keyInput). The software 10 executes a job for sending update (), which is a display update instruction, to the UI device 11. The UI device 11 receives update () and displays a new image by drawing an image related to the application selected by the user.

この画像描画は、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 UI device 11 and is different from the CPU that executes the GC. Therefore, the image drawing is not affected by the occurrence of the GC. Also, there is a sufficient time interval from the start of the image display switching process to the next input by the user in terms of the human operating speed. For this reason, by forcibly generating GC at the time of executing this switching process, it is possible to suppress the occurrence of GC for a while after switching. Although execution of GC and processing by the UI device 11 are performed in parallel, as shown in FIG. 3, when the execution period of GC is long, an input disable period T to the UI device 11 occurs. However, the period T is a short period, and even if input cannot be performed during that period, it is within a sufficiently allowable range.

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 software 10 sends exec () to the IPU device 13 to execute processing, and sends exec () to the engine device 12 to execute processing. The engine device 12 returns a response (event) to the software 10, and the software 10 sends update () for updating the display to the UI device 11. Further, the engine device 12 returns a response (event) indicating that the processing has been completed, and the software 10 sends update () to the UI device 11. By sending this update (), the software 10 ends the job. While there is not enough time to execute GC during job execution, there is sufficient time from the transmission of this update () to the next input by the user as shown in FIG. Thus, when the job is completed, the software 10 outputs a GC request, and the GC generator 14 forcibly generates GC, so that the occurrence of GC can be suppressed for a while after the job ends.

GCの実行中、UIデバイス11による処理が並行して行われるが、図4に示すように、GCの実行期間が長い場合、UIデバイス11への入力不可期間Tが発生する。しかしながら、その期間Tはわずかな期間であり、その間入力ができないにしても、十分に許容できる範囲内のものである。   During the execution of the GC, the processing by the UI device 11 is performed in parallel. However, as shown in FIG. 4, when the execution period of the GC is long, an input disable period T to the UI device 11 occurs. However, the period T is a short period, and even if input cannot be performed during that period, it is within a sufficiently allowable range.

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 UI device 11, the engine device 12, and the IPU device 13 are running and in an idle state in which the application program is not operating. When described in detail with reference to FIG. 5, the software 10 sends exec () to the engine device 12 and the IPU device 13 to execute processing. The engine device 12 returns a response (event) to the software 10 after the processing is completed. In response to the response, the software 10 sends update () to the UI device 11. In the sequence shown in FIG. 5, the process by the engine device 12 takes time, and there is sufficient time from the start of execution of the process to returning a response to the software 10. During this time, the software 10 is not operating and is in an idle state.

このため、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 engine device 12 is executing the process, the GC is forcibly generated until the next GC occurs. By opening the interval, it is possible to achieve the catalog specifications such as the first copy time and the continuous copy speed by preventing the occurrence of GC during job execution.

4つ目は、UIデバイス11の省電力モードへの移行時である。省電力モードには様々なものがあるが、ここではUIデバイス11のみをOFFにするモードで、省電力状態とはUIデバイス11のみがOFFとなる状態である。この省電力状態は、事実上、ユーザ入力がない状態であるため、ここでGCを強制的に発生させることによる影響は少ないものである。   The fourth time is when the UI device 11 shifts to the power saving mode. There are various power saving modes. Here, only the UI device 11 is turned off, and the power saving state is a state in which only the UI device 11 is turned off. Since this power saving state is a state where there is virtually no user input, there is little influence by forcibly generating GC here.

図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 software 10 generates an event “changeMode ()”, calls off (), and sends it to the UI device 11 in order to shift to the power saving mode. The UI device 11 receives off () and turns off the power of the UI device 11. When the power of the UI device 11 is turned off, there is no input from the user, so there is sufficient time for the GC to function. For this reason, GC can be generated when shifting to the power saving mode. As a result, the occurrence of GC during the subsequent job execution can be suppressed for a while. Note that if the process is being executed via the network even if the UI device 11 is OFF, a job by the software 10 is being executed. Therefore, no GC is generated at this timing. For example, a GC is generated at the end of the job. There is a need.

次に、GCジェネレータ14の実施形態を、図面を参照して説明する。GCジェネレータ14の第1実施形態としては、図2に示すような、GC要求に応答して、GCを発生させるものが挙げられる。このGCジェネレータ14は、GC要求に応答して、GCを発生させる機能を有するのみとされている。   Next, an embodiment of the GC generator 14 will be described with reference to the drawings. As a first embodiment of the GC generator 14, there is one that generates a GC in response to a GC request as shown in FIG. The GC generator 14 has only a function of generating a GC in response to a GC request.

GCジェネレータ14の第2実施形態としては、GC要求を受けた時点でのヒープ領域内の残メモリ量を調査し、残メモリ量が閾値以下であるか否かを確認し、閾値以下である場合にのみ、GCを発生させるものが挙げられる。ヒープ領域は、用途に関係なく自由に確保することができるメモリ領域である。閾値は、画像形成装置の初期値として与えられる固定値であってもよいし、画像形成装置の稼働中にユーザが変更可能なものであってもよい。ただし、稼働中に変更した場合、ソフトウェア10は、その直後に、GCジェネレータ14に対してGC要求を行う。これは、残メモリ量が変更された閾値以下であるか否かを確認し、閾値以下である場合にはGCを発生させなければならないからである。   As a second embodiment of the GC generator 14, the remaining memory amount in the heap area at the time of receiving the GC request is checked, and it is confirmed whether or not the remaining memory amount is less than or equal to the threshold value. Only those that generate GC. The heap area is a memory area that can be secured freely regardless of the application. The threshold value may be a fixed value given as an initial value of the image forming apparatus, or may be a value that can be changed by the user while the image forming apparatus is operating. However, when the software 10 is changed during operation, the software 10 issues a GC request to the GC generator 14 immediately after that. This is because it is checked whether the remaining memory amount is equal to or less than the changed threshold value, and if it is equal to or less than the threshold value, GC must be generated.

図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 software 10 generates an event (ev) and calls gcReq () by the event. Software 10 generates an event at the point where it wants to generate a GC, but this event can include a threshold change. The software 10 outputs gcReq () to the GC generator 14. The GC generator 14 receives gcReq (), calls a method called checkFreeSpace () by gcReq (), and checks the remaining memory size (size). When the process is completed, a process for checking whether the remaining memory amount is equal to or less than a threshold value is selected. When the remaining memory amount is less than or equal to the threshold value in the process, the gc () method is called and a GC is generated by the gc () method.

ソフトウェア10がイベントを発生させ、GC要求を出力するタイミングは、上述した、ユーザがアプリケーションプログラムを選択した後のUIデバイス11がそのアプリケーションプログラムに関する画像表示への切り替え処理を実行している時、実行ジョブの終了時、ソフトウェア10が動作していないアイドル状態で、かつエンジンデバイス12、IPUデバイス13が処理を実行している時、UIデバイス11が省電力モードへ移行した時のいずれかとすることができる。   The timing at which the software 10 generates an event and outputs a GC request is executed when the UI device 11 after the user selects an application program is executing the process of switching to image display related to the application program, as described above. When the job ends, the software 10 is in an idle state where the software 10 is not operating, the engine device 12 or the IPU device 13 is executing a process, or the UI device 11 is shifted to the power saving mode. it can.

GCジェネレータ14の第3実施形態としては、前回(直前)のGC終了時刻を保持し、そのGC終了時刻からGC要求を受けた時点までの時間が、閾値以上であるかを確認し、閾値以上である場合にのみGCを発生させるものが挙げられる。このGCジェネレータ14では、装置起動時に、その起動時刻をGC終了時刻として初期設定し、実際のGC終了時にGC終了時刻を更新する。   As a third embodiment of the GC generator 14, the previous (immediate) GC end time is held, and it is confirmed whether the time from the GC end time to the time when the GC request is received is equal to or greater than the threshold. That which generates GC only when is. The GC generator 14 initializes the start time as the GC end time when the apparatus is started, and updates the GC end time when the actual GC ends.

図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 software 10 generates an event (ev) in the software 10 when it is desired to generate a GC. The software 10 calls gcReq () when an event occurs, and outputs gcReq () as a GC request to the GC generator 14. The GC generator 14 takes out the previous GC end time (GCTime) held, calculates the time from the GC end time to the time (currentTime) when the gcReq () is received, and the time is equal to or greater than the threshold (criterion). Select the process to check whether or not. If the threshold value is equal to or greater than the threshold in the processing, the GC generator 14 calls the gc () method and generates a GC by the gc () method.

この場合も、ソフトウェア10がイベントを発生させ、GC要求を出力するタイミングは、ユーザがアプリケーションプログラムを選択した後のUIデバイス11がそのアプリケーションプログラムに関する画像表示への切り替え処理を実行している時、実行ジョブの終了時、ソフトウェア10が動作していないアイドル状態で、かつエンジンデバイス12、IPUデバイス13が処理を実行している時、UIデバイス11が省電力モードへ移行した時のいずれかとすることができる。   Also in this case, the timing at which the software 10 generates an event and outputs a GC request is the time when the UI device 11 after the user selects an application program is executing a process of switching to image display related to the application program. Either when the execution job ends, when the software 10 is in an idle state where the engine device 12 and the IPU device 13 are executing processing, or when the UI device 11 shifts to the power saving mode Can do.

GCジェネレータ14の第4実施形態としては、前回のGC終了時からGC要求の受信ごとに実行ジョブ数をカウントし、実行ジョブ数が閾値以上になった場合にGCを発生させるものが挙げられる。このGCジェネレータ14は、カウントされた実行ジョブ数を保持し、GC終了時にその実行ジョブ数を0にクリアする。   As a fourth embodiment of the GC generator 14, there is one that counts the number of execution jobs every time a GC request is received from the end of the previous GC, and generates a GC when the number of execution jobs exceeds a threshold value. The GC generator 14 holds the counted number of execution jobs, and clears the number of execution jobs to 0 when the GC ends.

図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 software 10 generates an event (ev) at the time when it is desired to generate a GC, calls gcReq () when the event occurs, and outputs it to the GC generator 14. The GC generator 14 calls jobCount () every time gcReq () is received, and counts the number of execution jobs. Further, the GC generator 14 selects a process for confirming whether the counted number of execution jobs (jobcount) is equal to or greater than a threshold (criterion). The GC generator 14 calls the gc () method when the number of execution jobs exceeds the threshold in the process, and generates a GC by the gc () method. After the GC ends, the GC generator 14 calls clearJobCount (), clears the number of held execution jobs to 0, and ends the process.

この場合も、ユーザがアプリケーションプログラムを選択した後のUIデバイス11がそのアプリケーションプログラムに関する画像表示への切り替え処理を実行している時、実行ジョブの終了時、ソフトウェア10が動作していないアイドル状態で、かつエンジンデバイス12、IPUデバイス13が処理を実行している時、UIデバイス11が省電力モードへ移行した時のいずれかとすることができる。   Also in this case, when the UI device 11 after the user selects an application program is executing a process of switching to image display related to the application program, at the end of the execution job, in the idle state where the software 10 is not operating. In addition, when the engine device 12 and the IPU device 13 are executing processing, the UI device 11 can be set to any one of the transition to the power saving mode.

本発明では、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 UI device 11 after the user selects an application program is executing processing for switching to image display related to the application program, when the execution job is finished, the software 10 is idle. A step of outputting a GC request at a predesignated timing such as when the engine device 12 and the IPU device 13 are executing processing and when the UI device 11 has shifted to the power saving mode, Generating GC in response to receiving.

これまで本発明を上述した実施形態をもって説明してきたが、本発明は上述した実施形態に限定されるものではなく、他の実施形態、追加、変更、削除など、当業者が想到することができる範囲内で変更することができ、いずれの態様においても本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。したがって、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.

従来の画像形成装置の構成例を示した図。1 is a diagram illustrating a configuration example of a conventional image forming apparatus. 本実施形態の画像形成装置の構成および処理の流れを示した第1シーケンス図。1 is a first sequence diagram illustrating a configuration and a processing flow of an image forming apparatus according to an embodiment. 本実施形態の画像形成装置におけるGC発生の第1タイミング図。FIG. 6 is a first timing diagram of GC generation in the image forming apparatus of the present embodiment. 本実施形態の画像形成装置におけるGC発生の第2タイミング図。FIG. 6 is a second timing diagram of GC generation in the image forming apparatus of the present embodiment. 本実施形態の画像形成装置におけるGC発生の第3タイミング図。FIG. 10 is a third timing diagram of GC generation in the image forming apparatus of the present embodiment. 本実施形態の画像形成装置におけるGC発生の第4タイミング図。FIG. 10 is a fourth timing diagram of GC generation in the image forming apparatus of the present embodiment. 本実施形態の画像形成装置の構成および処理の流れを示した第2シーケンス図。FIG. 6 is a second sequence diagram illustrating the configuration and processing flow of the image forming apparatus according to the present exemplary embodiment. 本実施形態の画像形成装置の構成および処理の流れを示した第3シーケンス図。FIG. 10 is a third sequence diagram illustrating the configuration and processing flow of the image forming apparatus according to the present exemplary embodiment. 本実施形態の画像形成装置の構成および処理の流れを示した第4シーケンス図。FIG. 10 is a fourth sequence diagram illustrating the configuration and processing flow of the image forming apparatus according to the present exemplary embodiment.

符号の説明Explanation of symbols

10…ソフトウェア、11…UIデバイス、12…エンジンデバイス、13…IPUデバイス、14…GCジェネレータ DESCRIPTION OF SYMBOLS 10 ... Software, 11 ... UI device, 12 ... Engine device, 13 ... IPU device, 14 ... GC generator

Claims (11)

プログラムが割り当てられたメモリ領域のうち、不要となったメモリ領域を回収して再利用可能にするガーベジコレクション(GC)機能を有する画像形成装置であって、
前記プログラムの実行によりジョブを実行するとともに、予め指定されたタイミングで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.
前記タイミングは、前記画像形成装置が備える表示デバイスによる画像表示の切り替え時、前記ジョブの終了時、前記ジョブ実行手段が動作していないアイドル状態で、かつ前記画像形成装置が備えるハードウェアデバイスによる処理実行時、前記表示デバイスの省電力モードへの移行時のいずれかである、請求項1に記載の画像形成装置。   The timing is a process performed by a hardware device provided in the image forming apparatus when the image display is switched by a display device provided in the image forming apparatus, at the end of the job, in an idle state where the job execution unit is not operating. The image forming apparatus according to claim 1, wherein the image forming apparatus is at the time of execution or when the display device is shifted to a power saving mode. 前記GC発生手段は、残メモリ量を調査し、前記残メモリ量が閾値以下である場合に前記GCを発生させる、請求項1または2に記載の画像形成装置。   The image forming apparatus according to claim 1, wherein the GC generation unit checks the remaining memory amount and generates the GC when the remaining memory amount is equal to or less than a threshold value. 前記GC発生手段は、前回のGC終了時刻を保持し、前記GC終了時刻から前記GC要求受信時までの時間が閾値以上である場合に前記GCを発生させる、請求項1または2に記載の画像形成装置。   3. The image according to claim 1, wherein the GC generation unit retains a previous GC end time, and generates the GC when a time from the GC end time to reception of the GC request is equal to or greater than a threshold value. 4. Forming equipment. 前記GC発生手段は、前回のGC終了時から前記GC要求の受信ごとに実行ジョブ数をカウントし、前記実行ジョブ数が閾値以上になった場合に前記GCを発生させる、請求項1または2に記載の画像形成装置。   3. The GC generation unit according to claim 1, wherein the GC generation unit counts the number of execution jobs every time the GC request is received from the end of the previous GC, and generates the GC when the number of execution jobs exceeds a threshold value. The image forming apparatus described. プログラムが割り当てられたメモリ領域のうち、不要となったメモリ領域を回収して再利用可能にするガーベジコレクション(GC)機能を有する画像形成装置において、GCの発生によるパフォーマンス低下を抑制するための方法であって、
前記プログラムの実行によりジョブを実行する実行手段が予め指定されたタイミングで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.
前記タイミングは、前記画像形成装置が備える表示デバイスによる画像表示の切り替え時、前記ジョブの終了時、前記ジョブ実行手段が動作していないアイドル状態で、かつ前記画像形成装置が備えるハードウェアデバイスによる処理実行時、前記表示デバイスの省電力モードへの移行時のいずれかである、請求項6に記載の方法。   The timing is a process performed by a hardware device provided in the image forming apparatus when the image display is switched by a display device provided in the image forming apparatus, at the end of the job, in an idle state where the job execution unit is not operating. The method according to claim 6, wherein at the time of execution, the display device is at a transition to a power saving mode. 前記GCを発生させるステップでは、残メモリ量を調査し、前記残メモリ量が閾値以下である場合に前記GCを発生させる、請求項6または7に記載の方法。   The method according to claim 6 or 7, wherein in the step of generating GC, a remaining memory amount is examined, and the GC is generated when the remaining memory amount is equal to or less than a threshold value. 前記GCを発生させるステップでは、前回のGC終了時刻から前記GC要求受信時までの時間が閾値以上である場合に前記GCを発生させる、請求項6または7に記載の方法。   The method according to claim 6 or 7, wherein, in the step of generating the GC, the GC is generated when a time from the previous GC end time to the reception of the GC request is equal to or greater than a threshold value. 前記GCを発生させるステップでは、前回のGC終了時から前記GC要求の受信ごとに実行ジョブ数をカウントし、前記実行ジョブ数が閾値以上になった場合に前記GCを発生させる、請求項6または7に記載の方法。   The step of generating the GC counts the number of execution jobs every time the GC request is received from the end of the previous GC, and generates the GC when the number of execution jobs exceeds a threshold value. 8. The method according to 7. 請求項6〜10のいずれか1項に記載の方法を実現するための画像形成装置で読み込み可能なGC発生プログラム。   A GC generation program readable by an image forming apparatus for implementing the method according to claim 6.
JP2007221225A 2007-08-28 2007-08-28 Image forming apparatus, image forming method and program Pending JP2009054016A (en)

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)

* Cited by examiner, † Cited by third party
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

Cited By (4)

* Cited by examiner, † Cited by third party
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