JP2016153952A - Information processor, start processing method, and start processing program - Google Patents

Information processor, start processing method, and start processing program Download PDF

Info

Publication number
JP2016153952A
JP2016153952A JP2015031675A JP2015031675A JP2016153952A JP 2016153952 A JP2016153952 A JP 2016153952A JP 2015031675 A JP2015031675 A JP 2015031675A JP 2015031675 A JP2015031675 A JP 2015031675A JP 2016153952 A JP2016153952 A JP 2016153952A
Authority
JP
Japan
Prior art keywords
program
activation
information
startup
resource usage
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.)
Granted
Application number
JP2015031675A
Other languages
Japanese (ja)
Other versions
JP6435911B2 (en
Inventor
英樹 大橋
Hideki Ohashi
英樹 大橋
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 JP2015031675A priority Critical patent/JP6435911B2/en
Publication of JP2016153952A publication Critical patent/JP2016153952A/en
Application granted granted Critical
Publication of JP6435911B2 publication Critical patent/JP6435911B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

PROBLEM TO BE SOLVED: To reduce the possibility of delaying a starting time of a specific program.SOLUTION: An information processor causes start processing of a first program to progress with the progress of start processing of a second program having a priority lower than that of the first program in a program group during performing a first start of the program group composed of a plurality of programs, stores first history information showing a history of resource use information by the first program every fixed period in the start processing, causes the start processing of the second program to progress during a fixed period when it is not specified that the resource use information reaches a prescribed value on the basis of the first history information during the period of the start processing of the first program during performing a second start of the program group after the first start, and does not cause the start processing of the second program to progress during a fixed period when it is specified that the resource use information reaches the prescribed value on the basis of the first history information.SELECTED DRAWING: Figure 2

Description

本発明は、情報処理装置、起動処理方法、及び起動処理プログラムに関する。   The present invention relates to an information processing apparatus, a startup processing method, and a startup processing program.

組み込み機器では複数のアプリケーションプログラム(以下、「アプリ」という。)を同時に動作させることができるが、基本的に、操作パネルを占有できるのは一つのアプリである。ユーザは、操作パネルを介して所定の操作を行うことで、利用対象とするアプリを切り替えることができる。   In an embedded device, a plurality of application programs (hereinafter referred to as “apps”) can be operated simultaneously, but basically, only one app can occupy the operation panel. The user can switch the application to be used by performing a predetermined operation via the operation panel.

利用頻度が高いアプリを、優先的なアプリ(以下、「優先アプリ」という。)として設定しておくことで、機器の起動直後において、当該アプリに操作パネルを占有させることができる。なお、優先アプリの一例として、ログイン画面を表示するアプリが挙げられる。   By setting an application that is frequently used as a priority application (hereinafter referred to as “priority application”), the operation panel can be occupied by the application immediately after the device is activated. An example of a priority application is an application that displays a login screen.

優先アプリの起動時間は、機器の起動後において、ユーザが機器を操作可能になるまでの所要時間に影響するため短い方が望ましい。そこで、優先アプリの起動時間を短縮する方法として、優先アプリのプロセスの優先度を起動時に一時的に上げることで、CPU等のリソースを優先的に優先アプリのプロセスに割り当てることが考えられる。また、アプリの負荷に応じて、計算機リソースの優先的な割当量を、短時間追従させる方法も知られている。   It is desirable that the priority application activation time is short because it affects the time required for the user to operate the device after the device is activated. Therefore, as a method for shortening the activation time of the priority application, it is conceivable to preferentially allocate resources such as CPU to the priority application process by temporarily increasing the priority of the priority application process at the time of activation. There is also known a method for following a short time for a preferential allocation amount of computer resources in accordance with the load of an application.

しかしながら、上記の方法では、CPU等のリソースを100%使用したい場合でも、優先アプリ以外のアプリのプロセスの存在によって、優先アプリが起動時に必要とするリソースを十分に獲得することができない場合が有る。一般的なプロセス/スレッドのスケジューラは、高い優先度のプロセス又はスレッドに比較的多くのリソースを割り当てるものの、低い優先度のプロセス又はスレッドにも一定のリソースを割り当てるためである。そのため、優先アプリの起動が遅延してしまう問題があった。このような問題は、優先アプリと同時に起動されるアプリの数が多いほど顕著になる。   However, in the above method, even when it is desired to use 100% of a resource such as a CPU, there is a case where a resource required by the priority application cannot be acquired sufficiently due to the existence of an application process other than the priority application. . This is because a general process / thread scheduler allocates a certain amount of resources to a high priority process or thread, while allocating a relatively large amount of resources to a high priority process or thread. For this reason, there is a problem that the startup of the priority application is delayed. Such a problem becomes more prominent as the number of applications activated simultaneously with the priority application increases.

本発明は、上記の点に鑑みてなされたものであって、特定のプログラムの起動時間の遅延の可能性を低減させることを目的とする。   The present invention has been made in view of the above points, and an object of the present invention is to reduce the possibility of delay in the startup time of a specific program.

そこで上記課題を解決するため、情報処理装置は、当該情報処理装置が有する複数のプログラムからなるプログラム群の起動処理を制御する起動制御部を有し、前記起動制御部は、前記プログラム群の第1の起動時に、前記プログラム群のうちの第1のプログラムよりも優先度が低い第2のプログラムの起動処理の進行が停止された状態で、前記第1のプログラムの起動処理を進行させ、該起動処理における一定期間ごとの前記第1のプログラムによるリソースの使用情報の履歴を示す第1の履歴情報を記憶し、前記第1の起動時の後の前記プログラム群の第2の起動時における前記第1のプログラムの起動処理の期間において、前記第1の履歴情報に基づいて、前記リソースの使用情報が所定値に達していないことが特定される前記一定期間には、前記第2のプログラムの起動処理を進行させ、前記第1の履歴情報に基づいて、前記リソースの使用情報が前記所定値に達していることが特定される前記一定期間には、前記第2のプログラムの起動処理を進行させない。   Therefore, in order to solve the above problem, the information processing apparatus includes a start control unit that controls start processing of a program group including a plurality of programs included in the information processing apparatus, and the start control unit At the start-up of the first program, the start-up process of the first program is advanced in a state where the progress of the start-up process of the second program having a lower priority than the first program in the program group is stopped, Storing first history information indicating a history of resource usage information by the first program for each predetermined period in the startup processing, and the program group at the second startup time after the first startup time; In the period of the startup process of the first program, the one period is specified based on the first history information that the resource usage information has not reached a predetermined value In the predetermined period in which the startup process of the second program is advanced, and it is specified that the resource usage information has reached the predetermined value based on the first history information, The startup process of the second program is not advanced.

特定のプログラムの起動時間の遅延の可能性を低減させること。   To reduce the possibility of delays in the startup time of specific programs.

本発明の実施の形態における画像形成装置のハードウェア構成例を示す図である。1 is a diagram illustrating an example of a hardware configuration of an image forming apparatus according to an embodiment of the present invention. 本発明の実施の形態における画像形成装置の機能構成例を示す図である。1 is a diagram illustrating a functional configuration example of an image forming apparatus according to an embodiment of the present invention. 画像形成装置の起動時の処理手順の一例を説明するためのフローチャートである。5 is a flowchart for explaining an example of a processing procedure when the image forming apparatus is activated. 起動処理状態記憶部の構成例を示す図である。It is a figure which shows the structural example of a starting process state memory | storage part. 第1の仮起動処理の処理手順の一例を説明するためのフローチャートである。It is a flowchart for demonstrating an example of the process sequence of a 1st temporary starting process. 第1の起動履歴記憶部に記憶される補正前の情報の一例を示す図である。It is a figure which shows an example of the information before correction | amendment memorize | stored in a 1st starting log | history memory | storage part. 第1の起動履歴記憶部に記憶される補正後の情報の一例を示す図である。It is a figure which shows an example of the information after correction | amendment memorize | stored in a 1st starting log | history memory | storage part. 第2の仮起動処理の処理手順の一例を説明するためのフローチャートである。It is a flowchart for demonstrating an example of the process sequence of a 2nd temporary starting process. 第2の起動履歴記憶部に記憶される情報の一例を示す図である。It is a figure showing an example of information memorized by the 2nd starting history storage part. サンプリング幅の判定処理の処理手順の一例を説明するためのフローチャートである。It is a flowchart for demonstrating an example of the process sequence of the sampling width determination process. 通常起動処理の処理手順の一例を説明するためのフローチャートである。It is a flowchart for demonstrating an example of the process sequence of a normal starting process.

以下、図面に基づいて本発明の実施の形態を説明する。図1は、本発明の実施の形態における画像形成装置のハードウェア構成例を示す図である。図1において、画像形成装置10は、コントローラ11、スキャナ12、プリンタ13、モデム14、操作パネル15、ネットワークインタフェース16、及びSDカードスロット17等のハードウェアを有する。   Hereinafter, embodiments of the present invention will be described with reference to the drawings. FIG. 1 is a diagram illustrating a hardware configuration example of an image forming apparatus according to an embodiment of the present invention. 1, the image forming apparatus 10 includes hardware such as a controller 11, a scanner 12, a printer 13, a modem 14, an operation panel 15, a network interface 16, and an SD card slot 17.

コントローラ11は、CPU111、RAM112、ROM113、HDD114、及びNVRAM115等を有する。ROM113には、各種のプログラムやプログラムによって利用されるデータ等が記憶されている。RAM112は、プログラムをロードするための記憶領域や、ロードされたプログラムのワーク領域等として用いられる。CPU111は、RAM112にロードされたプログラムを処理することにより、各種の機能を実現する。HDD114には、プログラムやプログラムが利用する各種のデータ等が記憶される。NVRAM115には、各種の設定情報等が記憶される。   The controller 11 includes a CPU 111, a RAM 112, a ROM 113, an HDD 114, an NVRAM 115, and the like. The ROM 113 stores various programs and data used by the programs. The RAM 112 is used as a storage area for loading a program, a work area for the loaded program, and the like. The CPU 111 realizes various functions by processing a program loaded in the RAM 112. The HDD 114 stores a program and various data used by the program. The NVRAM 115 stores various setting information and the like.

スキャナ12は、原稿より画像データを読み取るためのハードウェア(画像読取手段)である。プリンタ13は、印刷データを印刷用紙に印刷するためのハードウェア(印刷手段)である。モデム14は、電話回線に接続するためのハードウェアであり、FAX通信による画像データの送受信を実行するために用いられる。操作パネル15は、ユーザからの入力の受け付けを行うためのボタン等の入力手段や、液晶パネル等の表示手段等を備えたハードウェアである。液晶パネルは、タッチパネル機能を有していてもよい。この場合、当該液晶パネルは、入力手段の機能をも兼ねる。ネットワークインタフェース16は、LAN等のネットワーク(有線又は無線の別は問わない。)に接続するためのハードウェアである。SDカードスロット17は、SDカード80に記憶されたプログラムを読み取るために利用される。すなわち、画像形成装置10では、ROM113に記憶されたプログラムだけでなく、SDカード80に記憶されたプログラムもRAM112にロードされ、実行されうる。なお、他の記録媒体(例えば、CD−ROM又はUSB(Universal Serial Bus)メモリ等)によってSDカード80が代替されてもよい。すなわち、SDカード80の位置付けに相当する記録媒体の種類は、所定のものに限定されない。この場合、SDカードスロット17は、記録媒体の種類に応じたハードウェアによって代替されればよい。   The scanner 12 is hardware (image reading means) for reading image data from a document. The printer 13 is hardware (printing means) for printing print data on printing paper. The modem 14 is hardware for connecting to a telephone line, and is used to execute transmission / reception of image data by FAX communication. The operation panel 15 is hardware including input means such as buttons for accepting input from the user, display means such as a liquid crystal panel, and the like. The liquid crystal panel may have a touch panel function. In this case, the liquid crystal panel also functions as an input unit. The network interface 16 is hardware for connecting to a network such as a LAN (whether wired or wireless). The SD card slot 17 is used for reading a program stored in the SD card 80. That is, in the image forming apparatus 10, not only the program stored in the ROM 113 but also the program stored in the SD card 80 can be loaded into the RAM 112 and executed. The SD card 80 may be replaced by another recording medium (for example, a CD-ROM or a USB (Universal Serial Bus) memory). That is, the type of recording medium corresponding to the positioning of the SD card 80 is not limited to a predetermined one. In this case, the SD card slot 17 may be replaced by hardware corresponding to the type of recording medium.

図2は、本発明の実施の形態における画像形成装置の機能構成例を示す図である。図2において、画像形成装置10は、1以上のアプリ120、サービス部130、起動制御部140、及びリソース管理部150等を有する。これら各部は、画像形成装置10にインストールされる1以上のプログラムが、CPU111に実行させる処理により実現される。画像形成装置10は、また、起動処理状態記憶部161、第1の起動履歴記憶部162、及び第2の起動履歴記憶部163等を利用する。これら各記憶部は、例えば、HDD114、又は画像形成装置10にネットワークを介して接続可能な記憶装置等を用いて実現可能である。   FIG. 2 is a diagram illustrating a functional configuration example of the image forming apparatus according to the embodiment of the present invention. In FIG. 2, the image forming apparatus 10 includes one or more applications 120, a service unit 130, an activation control unit 140, a resource management unit 150, and the like. Each of these units is realized by processing executed by the CPU 111 by one or more programs installed in the image forming apparatus 10. The image forming apparatus 10 also uses an activation processing state storage unit 161, a first activation history storage unit 162, a second activation history storage unit 163, and the like. Each of these storage units can be realized using, for example, the HDD 114 or a storage device that can be connected to the image forming apparatus 10 via a network.

アプリ120は、アプリケーションプログラムである。各アプリ120は、例えば、画像形成装置10が有するハードウェア資源(ハードウェアリソース)等を利用して、ユーザにとって利便性の高いサービスを提供する。本実施の形態において、アプリ120は、優先アプリ120a、従属アプリ120b、及び一般アプリ120cに分類される。   The application 120 is an application program. Each application 120 provides a service that is highly convenient for the user by using, for example, hardware resources (hardware resources) of the image forming apparatus 10. In the present embodiment, the application 120 is classified into a priority application 120a, a subordinate application 120b, and a general application 120c.

優先アプリ120aは、複数のアプリ120の中で最初に操作パネル15への表示権限を占有する一つのアプリ120である。複数のアプリ120が有る場合、いずれを優先アプリ120aとするかについては、例えば、画像形成装置10の管理者等によって設定される。例えば、NVRAM115又はHDD114等に、優先アプリ120aとするアプリ120の識別情報が記憶されている。   The priority application 120 a is one application 120 that first occupies the display authority to the operation panel 15 among the plurality of applications 120. When there are a plurality of applications 120, which one is set as the priority application 120a is set by, for example, an administrator of the image forming apparatus 10 or the like. For example, the identification information of the application 120 as the priority application 120a is stored in the NVRAM 115 or the HDD 114.

従属アプリ120bは、優先アプリ120aと連携して、ユーザにサービスを提供するアプリ120である。例えば、優先アプリ120aが、ユーザからの指示に応じて印刷又はスキャンを実行するアプリ120である場合に、印刷又はスキャンに関する画像処理を実行するアプリ120が、従属アプリ120bであってもよい。優先アプリ120aは、従属アプリ120bの機能を使用するため、優先アプリ120aのサービスをユーザに提供するためには、優先アプリ120aと従属アプリ120bとの双方の起動が完了している必要が有る。なお、従属アプリ120bは、複数のアプリ120であってもよい。また、従属アプリ120b間において従属関係が存在してもよい。   The subordinate application 120b is an application 120 that provides a service to the user in cooperation with the priority application 120a. For example, when the priority application 120a is the application 120 that executes printing or scanning according to an instruction from the user, the application 120 that executes image processing related to printing or scanning may be the subordinate application 120b. Since the priority application 120a uses the function of the subordinate application 120b, in order to provide the user with the service of the priority application 120a, both the priority application 120a and the subordinate application 120b need to be activated. The subordinate application 120b may be a plurality of applications 120. In addition, a dependency relationship may exist between the dependent applications 120b.

一般アプリ120cは、優先アプリ120a及び従属アプリ120bとは依存関係を有さないアプリ120である。すなわち、一般アプリ120cと、優先アプリ120a及び従属アプリ120bとの挙動は相互に独立しており、一方のプロセスは他方のプロセスとの待ち合わせを行うことはない。但し、優先アプリ120a及び従属アプリ120bと一般アプリ120cとは、それぞれの起動時をも含めて、CPU111等のハードウェアリソース(ハードウェア資源)を共有する。なお、一般アプリ120cは、複数のアプリ120であってもよい。また、一般アプリ120cの間において従属関係が存在してもよい。   The general application 120c is an application 120 that does not have a dependency relationship with the priority application 120a and the subordinate application 120b. That is, the behavior of the general application 120c, the priority application 120a, and the subordinate application 120b are independent from each other, and one process does not wait for the other process. However, the priority application 120a, the subordinate application 120b, and the general application 120c share the hardware resources (hardware resources) of the CPU 111 and the like including the time of starting each. The general application 120c may be a plurality of applications 120. In addition, a dependency relationship may exist between the general applications 120c.

サービス部130は、画像形成装置10を制御するためのインタフェース(API(Application Program Interface))をアプリ120に提供する。サービス部130は、呼び出されたインタフェースに対応する処理を実行する。例えば、サービス部130は、省エネに関するインタフェースや、スキャン、印刷等に関するインタフェース等を有する。サービス部130は複数のプロセスによって構成されてもよい。なお、各アプリ120は、サービス部130の機能を利用するため、サービス部130の起動処理は、各アプリ120の起動処理が完了する前に完了していることが望ましい。   The service unit 130 provides the application 120 with an interface (API (Application Program Interface)) for controlling the image forming apparatus 10. The service unit 130 executes processing corresponding to the called interface. For example, the service unit 130 includes an interface related to energy saving, an interface related to scanning, printing, and the like. The service unit 130 may be configured by a plurality of processes. Since each application 120 uses the function of the service unit 130, it is desirable that the activation process of the service unit 130 is completed before the activation process of each application 120 is completed.

起動制御部140は、サービス部130及び各アプリ120等の各部の起動処理の開始、起動処理の停止、及び起動処理の再開等を制御する。起動制御部140は、各部の動作を制御可能なプロセス・スレッドスケジューラのような、OS(Operating System)の一部によって実現されてもよい。また、或る一つのアプリ120が、起動制御部140であってもよい。起動制御部140がアプリ120である場合には、サービス部130及び他の各アプリ120が、自身の起動を停止・再開できるインタフェースを有しており、起動制御部140が、当該インタフェースを介して、各部の動作を制御してもよい。   The activation control unit 140 controls the start of the activation process of each unit such as the service unit 130 and each application 120, stop of the activation process, and restart of the activation process. The activation control unit 140 may be realized by a part of an OS (Operating System) such as a process / thread scheduler capable of controlling the operation of each unit. Further, one application 120 may be the activation control unit 140. When the activation control unit 140 is the application 120, the service unit 130 and each of the other applications 120 have an interface that can stop and resume their activation, and the activation control unit 140 passes through the interface. The operation of each unit may be controlled.

本実施の形態において、起動制御部140は、画像形成装置10の起動時における、サービス部130及び各アプリ120の起動処理に関して、第1の仮起動、第2の仮起動、及び通常起動というモードを有する。第1の仮起動では、サービス部130、優先アプリ120a及び従属アプリ120b、並びに一般アプリ120cのそれぞれのプログラムに関して、直列的に起動処理が実行される。直列的実行されるそれぞれの起動処理において、一定期間ごとのCPU111の使用率(以下、「リソース使用率」という。)を示す履歴情報(リソース使用率の時系列データ)が生成され、生成された履歴情報が第1の起動履歴記憶部162に記憶される。   In the present embodiment, the activation control unit 140 relates to the activation process of the service unit 130 and each application 120 when the image forming apparatus 10 is activated, and includes a mode of first temporary activation, second temporary activation, and normal activation. Have In the first provisional activation, activation processing is executed in series for each program of the service unit 130, the priority application 120a, the subordinate application 120b, and the general application 120c. In each activation process executed in series, history information (time series data of resource usage rate) indicating the usage rate (hereinafter referred to as “resource usage rate”) of the CPU 111 for each fixed period is generated and generated. History information is stored in the first activation history storage unit 162.

第2の仮起動では、第1の仮起動において第1の起動履歴記憶部162に記憶された履歴情報に基づいて、サービス部130、優先アプリ120a及び従属アプリ120b、並びに一般アプリ120cのそれぞれのプログラムに関して、並列的に起動処理が実行される。但し、起動処理に関して相対的に優先度の低いプログラムは、起動処理に関して相対的に優先度が高いプログラムに対して十分にリソースが割り当てられており、かつ、リソースに空きが有る期間において、起動処理の進行が許可される。相対的に優先度が高いプログラムによるリソース使用率に余裕が有る期間は、第1の仮起動において記憶された履歴情報に基づいて特定される。第2の仮起動では、このような並列処理が行われる過程における一定期間ごとの各プログラムに係るリソース使用率を示す履歴情報が生成され、生成された履歴情報が第2の起動履歴記憶部163に記憶される。なお、本実施の形態において、サービス部130、優先アプリ120a及び従属アプリ120b、並びに一般アプリ120cの中で、起動処理に関して優先度が最も高いのは、サービス部130である。2番目に優先度が高いのは、優先アプリ120a及び従属アプリ120bである。   In the second temporary activation, each of the service unit 130, the priority application 120a, the subordinate application 120b, and the general application 120c is based on the history information stored in the first activation history storage unit 162 in the first temporary activation. The startup process is executed in parallel for the program. However, a program having a relatively low priority with respect to the startup process is activated in a period in which sufficient resources are allocated to a program with a relatively high priority with respect to the startup process and there is a vacant resource. Is allowed to proceed. The period in which the resource usage rate by the program having a relatively high priority has a margin is specified based on the history information stored in the first temporary activation. In the second provisional activation, history information indicating the resource usage rate for each program in a certain period in the process of performing such parallel processing is generated, and the generated history information is stored in the second activation history storage unit 163. Is remembered. In the present embodiment, among the service unit 130, the priority application 120a and the subordinate application 120b, and the general application 120c, the service unit 130 has the highest priority regarding the activation process. The second highest priority is the priority application 120a and the subordinate application 120b.

通常起動では、第2の起動履歴記憶部163に記憶された情報に基づいて、第2の仮起動と同様に並列的な起動処理が実行される。通常起動では、履歴情報の生成が行われない点が、第2の仮起動と異なる。   In normal activation, parallel activation processing is executed in the same manner as in the second temporary activation based on information stored in the second activation history storage unit 163. The normal activation is different from the second temporary activation in that history information is not generated.

なお、第1の仮起動及び第2の仮起動は、サービス部130、優先アプリ120a及び従属アプリ120bの優先度の順で、これらの起動処理をなるべく短時間で終了させるための、優先アプリ120a及び従属アプリ120bと、一般アプリ120cとのそれぞれの起動処理の進行のタイミング(換言すれば、それぞれへのリソースの割り当てのタイミング)を決定するための情報を得るために実行される。斯かるタイミングを求めるために、第1の仮起動及び第2の仮起動は、複数回交互に繰り返される可能性が有る。   The first provisional activation and the second provisional activation are performed in the order of priorities of the service unit 130, the priority application 120a, and the subordinate application 120b, and the priority application 120a for ending these activation processes in as short a time as possible. And the sub-application 120b and the general application 120c are executed to obtain information for determining the timing of progress of the activation processing (in other words, the timing of resource allocation to each). In order to obtain such timing, the first provisional activation and the second provisional activation may be alternately repeated a plurality of times.

なお、起動処理とは、プログラムが起動されてから定常状態に至るまでに実行される初期化処理等を含む処理である。定常状態とは、プログラムに係る機能を提供可能な状態である。例えば、何らかの処理の契機となるイベントの発生待ちの状態が定常状態の一例である。   The activation process is a process including an initialization process that is executed from when the program is activated until the steady state is reached. The steady state is a state in which functions related to the program can be provided. For example, the state of waiting for the occurrence of an event that triggers some processing is an example of a steady state.

リソース管理部150は、画像形成装置10のリソース情報(CPU111の使用率やI/Oバッファの使用率等)を有している。リソース管理部150は、OS(Operating System)の一部によって実現されてもよい。リソース管理部150は、起動制御部140からリソース情報の問い合わせを受けると、直近のサンプリング区間におけるリソース情報を返答する。又は、リソース管理部150が、定期的に、リソース情報を、起動制御部140等に通知してもよい。   The resource management unit 150 has resource information of the image forming apparatus 10 (usage rate of the CPU 111, usage rate of the I / O buffer, etc.). The resource management unit 150 may be realized by a part of an OS (Operating System). When the resource management unit 150 receives an inquiry about resource information from the activation control unit 140, the resource management unit 150 returns resource information in the latest sampling interval. Alternatively, the resource management unit 150 may periodically notify the resource information to the activation control unit 140 and the like.

以下、画像形成装置10が実行する処理手順について説明する。図3は、画像形成装置の起動時の処理手順の一例を説明するためのフローチャートである。   Hereinafter, a processing procedure executed by the image forming apparatus 10 will be described. FIG. 3 is a flowchart for explaining an example of a processing procedure when the image forming apparatus is activated.

画像形成装置10が起動時において、起動制御部140は、サービス部130及び各アプリ120の起動処理の開始前に、起動処理状態記憶部161を参照して、画像形成装置10の起動処理状態を確認する(S101)。   When the image forming apparatus 10 is activated, the activation control unit 140 refers to the activation process state storage unit 161 and starts the activation process state of the image forming apparatus 10 before starting the activation process of the service unit 130 and each application 120. Confirm (S101).

図4は、起動処理状態記憶部の構成例を示す図である。図4において、起動処理状態記憶部161は、仮起動終了フラグ、第1の仮起動回数、及び第2の仮起動回数等を記憶する。   FIG. 4 is a diagram illustrating a configuration example of the activation process state storage unit. In FIG. 4, the activation process state storage unit 161 stores a temporary activation end flag, a first temporary activation number, a second temporary activation number, and the like.

仮起動終了フラグは、第1の仮起動又は第2の仮起動の実行の要否を示すパラメータであり、「0」又は「1」の値を有する。「0」は、第1の仮起動又は第2の仮起動を実行する必要が有ることを示す。「1」は、第1の仮起動及び第2の仮起動の目的が達成され、第1の仮起動及び第2の仮起動のいずれをも実行する必要がないことを示す。第1の仮起動回数は、第1の仮起動の実行回数である。第2の仮起動回数は、第2の仮起動の実行回数である。   The provisional activation end flag is a parameter indicating whether or not the first provisional activation or the second provisional activation is necessary, and has a value of “0” or “1”. “0” indicates that it is necessary to execute the first provisional activation or the second provisional activation. “1” indicates that the purpose of the first provisional activation and the second provisional activation is achieved, and neither the first provisional activation nor the second provisional activation needs to be executed. The first provisional activation count is the number of executions of the first provisional activation. The second provisional activation count is the number of executions of the second provisional activation.

ステップS101では、仮起動終了フラグの値が1であるか、又は第2の仮起動回数が閾値α以上であるか否かが判定される。閾値αは、第1の仮起動及び第2の仮起動が無限に繰り返されることを回避するための、第1の仮起動及び第2の仮起動の実行回数に対する上限値である。   In step S101, it is determined whether the value of the temporary activation end flag is 1 or whether the second number of temporary activations is equal to or greater than the threshold value α. The threshold value α is an upper limit value with respect to the number of times of execution of the first temporary start and the second temporary start in order to avoid the first temporary start and the second temporary start being repeated indefinitely.

仮起動終了フラグの値が1である場合、又は第2の仮起動回数が閾値α以上である場合には(S101でYes)、起動制御部140は、サービス部130及び各アプリ120に関する起動処理について、通常起動処理を実行する(S102)。仮起動終了フラグの値が1でなく、かつ、第2の仮起動回数が閾値α未満である場合(S101でNo)、起動制御部140は、第2の仮起動回数が、第1の仮起動回数未満であるか否かを判定する(S103)。第1の仮起動と第2の仮起動とは、交互に実行されるところ、ステップS103では、N回目の第1の仮起動に対応する第2の仮起動の実行の有無が判定される。第2の仮起動回数が、第1の仮起動回数未満である場合(S103でYes)、起動制御部140は、サービス部130及び各アプリ120に関する起動処理について、第2の仮起動処理を実行する(S104)。一方、第2の仮起動回数と、第1の仮起動回数とが一致する場合(S103でNo)、起動制御部140は、サービス部130及び各アプリ120に関する起動処理について、第1の仮起動処理を実行する(S105)。   If the value of the provisional activation end flag is 1, or if the second number of provisional activations is greater than or equal to the threshold value α (Yes in S101), the activation control unit 140 activates the service unit 130 and each application 120. The normal activation process is executed for (S102). When the value of the temporary activation end flag is not 1 and the second temporary activation count is less than the threshold value α (No in S101), the activation control unit 140 determines that the second temporary activation count is the first temporary activation count. It is determined whether it is less than the number of activations (S103). The first provisional activation and the second provisional activation are alternately executed. In step S103, it is determined whether or not the second provisional activation corresponding to the N-th first provisional activation is performed. When the second number of temporary activations is less than the first number of temporary activations (Yes in S103), the activation control unit 140 executes the second temporary activation process for the activation processes related to the service unit 130 and each application 120. (S104). On the other hand, when the second temporary activation count matches the first temporary activation count (No in S103), the activation control unit 140 performs the first temporary activation for the activation process related to the service unit 130 and each application 120. Processing is executed (S105).

続いて、ステップS105の詳細について説明する。図5は、第1の仮起動処理の処理手順の一例を説明するためのフローチャートである。   Next, details of step S105 will be described. FIG. 5 is a flowchart for explaining an example of the processing procedure of the first temporary activation processing.

ステップS201において、起動制御部140は、サービス部130、優先アプリ120a、従属アプリ120b、及び一般アプリ120cのそれぞれのプロセスを生成して、それぞれに関して、起動処理の進行を停止しておく。プロセスの生成は、fork−execを用いて実行されてもよい。また、起動処理の進行の停止は、サービス部130、優先アプリ120a、従属アプリ120b、及び一般アプリ120cのそれぞれのCPU111等の利用権限を取り上けることにより実行されてもよい。又は、サービス部130、優先アプリ120a、従属アプリ120b、及び一般アプリ120c等が、処理の停止及び再開のためのインタフェース(例えば、メソッド)を有している場合には、起動制御部140が停止のためのインタフェースを呼び出すことにより、起動処理の進行の停止が実行されてもよい。   In step S201, the activation control unit 140 generates processes for the service unit 130, the priority application 120a, the subordinate application 120b, and the general application 120c, and stops the progress of the activation process for each process. Process creation may be performed using fork-exec. Further, the stop of the progress of the activation process may be executed by raising the usage authority of the CPU 111 of each of the service unit 130, the priority application 120a, the subordinate application 120b, and the general application 120c. Alternatively, when the service unit 130, the priority application 120a, the subordinate application 120b, the general application 120c, and the like have an interface (for example, a method) for stopping and resuming processing, the activation control unit 140 is stopped. Stopping the progress of the startup process may be executed by calling the interface for.

続いて、起動制御部140は、変数t1及びt2のそれぞれに対し、0を代入する。変数t1は、サービス部130の起動処理の経過時間を記憶するための変数である。変数t2は、優先アプリ120a及び従属アプリ120bの起動処理の経過時間を記憶するための変数である。なお、第1の仮起動処理では、それぞれの起動処理が直列的に実行されるが、優先アプリ120a及び従属アプリ120bの起動処理については、同時に(並列的に)実行される。優先アプリ120a及び従属アプリ120bは、実質的に一体不可分の関係に有るからである。   Subsequently, the activation control unit 140 substitutes 0 for each of the variables t1 and t2. The variable t1 is a variable for storing the elapsed time of the activation process of the service unit 130. The variable t2 is a variable for storing the elapsed time of activation processing of the priority application 120a and the subordinate application 120b. In the first temporary activation process, the activation processes are executed in series, but the activation processes of the priority application 120a and the subordinate application 120b are executed simultaneously (in parallel). This is because the priority application 120a and the subordinate application 120b are substantially inseparable.

続いて、起動制御部140は、サービス部130の起動処理を再開させる(S203)。その結果、サービス部130の起動処理が進行を開始する。続いて、起動処理は、サンプリング幅の判定処理を実行する(S204)。サンプリング幅とは、リソース使用率を計測又は観測する一定期間の時間幅をいう。なお、当該一定期間を「サンプリング区間」という。サンプリング幅の判定処理の詳細については後述されるが、1回目の第1の仮起動において、サンプリング幅は、固定的に1000(ミリ秒)である。以下、サンプリング幅を、「Δt」によって表現する。   Subsequently, the activation control unit 140 resumes the activation process of the service unit 130 (S203). As a result, the activation process of the service unit 130 starts to proceed. Subsequently, the activation process executes a sampling width determination process (S204). The sampling width is a time width of a certain period for measuring or observing the resource usage rate. The certain period is referred to as “sampling period”. Although details of the sampling width determination process will be described later, in the first temporary activation for the first time, the sampling width is fixedly 1000 (milliseconds). Hereinafter, the sampling width is expressed by “Δt”.

続いて、起動制御部140は、Δt分の時間の経過を待機する(S205)。この間、サービス部130の起動処理は進行する。続いて、起動制御部140は、t1からt1+Δtまでのサンプリング区間における、サービス部130によるリソース使用率をリソース管理部150から取得し、取得されたリソース使用率を第1の起動履歴記憶部162に記憶する(S206)。続いて、サービス部130の起動処理が完了していなければ(S207でNo)、起動制御部140は、t1+Δt1をt1に代入し(S208)、ステップS204以降を繰り返す。ステップS204〜S206、及びS208は、サービス部130の起動処理が完了するまで繰り返される(S207)。その結果、第1の起動履歴記憶部162には、サービス部130の起動処理の期間におけるΔt刻みのリソース使用率が記憶される。なお、サービス部130の起動処理の完了は、サービス部130から発生するイベントを起動制御部140が受信することで検知されてもよい。又は、サービス部130に関して定期的に取得されるリソースの使用率が安定した場合に、起動処理が完了したとみなされてもよい。   Subsequently, the activation control unit 140 waits for the elapse of time of Δt (S205). During this time, the activation process of the service unit 130 proceeds. Subsequently, the activation control unit 140 acquires the resource usage rate by the service unit 130 from the resource management unit 150 in the sampling period from t1 to t1 + Δt, and stores the acquired resource usage rate in the first activation history storage unit 162. Store (S206). Subsequently, if the activation process of the service unit 130 has not been completed (No in S207), the activation control unit 140 substitutes t1 + Δt1 for t1 (S208), and repeats Step S204 and subsequent steps. Steps S204 to S206 and S208 are repeated until the activation process of the service unit 130 is completed (S207). As a result, the first activation history storage unit 162 stores the resource usage rate in increments of Δt during the activation process period of the service unit 130. The completion of the activation process of the service unit 130 may be detected by the activation control unit 140 receiving an event generated from the service unit 130. Alternatively, it may be considered that the activation process has been completed when the usage rate of the resources acquired periodically with respect to the service unit 130 is stable.

サービス部130の起動処理が完了すると(S207でYes)、起動制御部140は、優先アプリ120a及び従属アプリ120bの起動処理を再開させる(S209)。続いて、ステップS210〜S214では、優先アプリ120a及び従属アプリ120bが対象とされて、ステップS204〜S208と同様の処理が実行される。なお、1回目の第1の仮起動において、優先アプリ120a及び従属アプリ120bの起動処理に関する各サンプリング区間のサンプリング幅は、サービス部130の起動処理に関するサンプリング幅と同様、固定的に1000(ミリ秒)である。   When the activation process of the service unit 130 is completed (Yes in S207), the activation control unit 140 resumes the activation process of the priority application 120a and the subordinate application 120b (S209). Subsequently, in steps S210 to S214, the priority application 120a and the subordinate application 120b are targeted, and the same processing as in steps S204 to S208 is executed. Note that, in the first temporary activation for the first time, the sampling width of each sampling interval related to the activation processing of the priority application 120a and the subordinate application 120b is fixedly 1000 (milliseconds), similarly to the sampling width related to the activation processing of the service unit 130. ).

また、ステップS206に対応するステップS212では、t2からt2+Δtまでのサンプリング区間における優先アプリ120a及び従属アプリ120bリソース使用率が取得され、第1の起動履歴記憶部162に記憶される。更に、ステップS208に対応するステップS214では、t2+Δtが、t2に代入される。   In step S212 corresponding to step S206, the resource usage rates of the priority application 120a and the subordinate application 120b in the sampling period from t2 to t2 + Δt are acquired and stored in the first activation history storage unit 162. Further, in step S214 corresponding to step S208, t2 + Δt is substituted for t2.

優先アプリ120a及び従属アプリ120bの双方の起動処理が完了すると(S213でYes)、起動制御部140は、今回の第1の仮起動において、第1の起動履歴記憶部162に記憶された情報を補正する(S215)。補正前において、すなわち、優先アプリ120a及び従属アプリ120bの双方の起動処理が完了した時点(S213でYes)において、第1の起動履歴記憶部162には、例えば、図6に示されるような情報が記憶されている。   When the activation processing of both the priority application 120a and the subordinate application 120b is completed (Yes in S213), the activation control unit 140 uses the information stored in the first activation history storage unit 162 in the first temporary activation of this time. Correction is performed (S215). Before the correction, that is, when the activation processing of both the priority application 120a and the subordinate application 120b is completed (Yes in S213), the first activation history storage unit 162 stores, for example, information as illustrated in FIG. Is remembered.

図6は、第1の起動履歴記憶部に記憶される補正前の情報の一例を示す図である。図6において、(1)は、ステップS206において記憶される情報(以下、「サービス部起動履歴情報」という。)の一例である。サービス部起動履歴情報は、t1に基づく各サンプリング区間の開始時期及び終了時期(t1〜t1+Δt)に対応付けて、サービス部130によるリソース使用率を示す情報である。   FIG. 6 is a diagram illustrating an example of information before correction stored in the first activation history storage unit. In FIG. 6, (1) is an example of information stored in step S206 (hereinafter referred to as “service section activation history information”). The service unit activation history information is information indicating the resource usage rate by the service unit 130 in association with the start timing and end timing (t1 to t1 + Δt) of each sampling interval based on t1.

また、(2)は、ステップS212において記憶される情報(以下、「優先アプリ起動履歴情報」という。)の一例である。優先アプリ起動履歴情報は、t2に基づくサンプリング区間の開始時期及び終了時期(t2〜t2+Δt)に対応付けて、優先アプリ120a及び従属アプリ120bによるリソース使用率を示す情報である。   (2) is an example of information stored in step S212 (hereinafter referred to as “priority application activation history information”). The priority application activation history information is information indicating the resource usage rate by the priority application 120a and the subordinate application 120b in association with the start time and end time (t2 to t2 + Δt) of the sampling interval based on t2.

なお、第1の仮起動では、サービス部130、優先アプリ120a及び従属アプリ120b、並びに一般アプリ120cの起動処理が直列的に実行されるため、(1)に示される情報は、サービス部130が「必要とする」リソース使用率の時系列の情報であるといえる。また、(2)は、優先アプリ120a及び従属アプリ120bが「必要とする」リソース使用率の時系列の情報であるといえる。   In the first provisional activation, the activation process of the service unit 130, the priority application 120a and the subordinate application 120b, and the general application 120c is executed in series. Therefore, the information shown in (1) is obtained by the service unit 130. It can be said that it is time-series information of “necessary” resource usage rates. Further, (2) can be said to be time-series information of the resource usage rate “necessary” by the priority application 120a and the subordinate application 120b.

ステップS215では、優先アプリ起動履歴情報(図6の(2))について補正が行われる。具体的には、t1とt2との時間軸が合わせられた状態で、サービス部130のリソース使用率と、優先アプリ120a及び従属アプリ120bのリソース使用率と、コンテキストスイッチによるコスト(リソース使用率)の推定値Cとの合計が、100%を超えるサンプリング区間の有無が判定される。該当するサンプリング区間が有る場合、100%を超えた分が、次のサンプリング区間に持ち越される。持ち越しの結果、次のサンプリング区間の合計が100%を超えてしまう場合、更に、超えた分が次のサンプリング区間に持ち越される。その結果、例えば、図6に示される情報は、図7に示されるように補正される。   In step S215, the priority application activation history information ((2) in FIG. 6) is corrected. Specifically, in a state where the time axes of t1 and t2 are aligned, the resource usage rate of the service unit 130, the resource usage rates of the priority application 120a and the subordinate application 120b, and the cost by the context switch (resource usage rate) It is determined whether there is a sampling period in which the sum of the estimated value C and the estimated value C exceeds 100%. If there is a corresponding sampling interval, the portion exceeding 100% is carried over to the next sampling interval. As a result of carryover, if the total of the next sampling interval exceeds 100%, the excess is carried over to the next sampling interval. As a result, for example, the information shown in FIG. 6 is corrected as shown in FIG.

図7は、第1の起動履歴記憶部に記憶される補正後の情報の一例を示す図である。図7において、コンテキストスイッチのコストの推定値Cの値は、10%である。なお、Cの値は、CPU111の仕様等に基づいて、適切な値が設定されてもよい。   FIG. 7 is a diagram illustrating an example of corrected information stored in the first activation history storage unit. In FIG. 7, the estimated value C of the context switch cost is 10%. Note that the value of C may be set to an appropriate value based on the specifications of the CPU 111 and the like.

図6において、t1=t2=0〜1000のサンプリング区間において、サービス部130に十分なリソースを割り当てた後の残りは、C=10を考慮すると、100−(80+10)=10%である。したがって、図7の(2)において、t2=0〜1000のサンプリング区間のリソース使用率は、10%に補正されている。但し、図6の(2)において、t2=0〜1000のサンプリング区間のリソース使用率は60%であるため、60−10=50%の余剰が発生する。   In FIG. 6, in the sampling interval of t1 = t2 = 0 to 1000, the remainder after allocating sufficient resources to the service unit 130 is 100− (80 + 10) = 10% when C = 10 is considered. Accordingly, in (2) of FIG. 7, the resource usage rate in the sampling interval of t2 = 0 to 1000 is corrected to 10%. However, in (2) of FIG. 6, since the resource usage rate in the sampling interval of t2 = 0 to 1000 is 60%, a surplus of 60-10 = 50% occurs.

次のサンプリング区間(t2=1000〜2000)において、サービス部130に十分なリソースを割り当てた後の残りは、C=10を考慮すると、100−(70+10)=20%である。したがって、図7の(2)において、t2=1000〜2000のサンプリング区間のリソース使用率は、20%に補正されている。但し、図6の(2)において、t2=1000〜2000のサンプリング区間のリソース使用率は70%であるため、70−20=50%の余剰が発生する。前のサンプリング区間から持ち越された余剰と合わせると、余剰の合計は、100%である。   In the next sampling period (t2 = 1000 to 2000), the remainder after allocating sufficient resources to the service unit 130 is 100− (70 + 10) = 20% considering C = 10. Therefore, in (2) of FIG. 7, the resource usage rate in the sampling interval of t2 = 1000 to 2000 is corrected to 20%. However, in (2) of FIG. 6, since the resource usage rate in the sampling interval of t2 = 1000 to 2000 is 70%, a surplus of 70−20 = 50% occurs. When combined with the surplus carried over from the previous sampling interval, the total surplus is 100%.

次のサンプリング区間(t2=2000〜3000)においては、サービス部130の起動処理は終了している。したがって、優先アプリ120a及び従属アプリ120bに対して優先してリソースが割り当てられる。当該サンプリング区間において、優先アプリ120a及び従属アプリ120bが必要とするリソース使用率は、30%である。但し、前のサンプリング区間までの余剰分(100%)と合わせると130%である。なお、当該サンプリング区間では、サービス部130の起動処理は完了しているため、コンテキストスイッチのコストは考慮されなくてよい。したがって、図7の(2)において、当該サンプリング区間のリソース使用率は、100%に補正されている。ここで、130−100=30%の余剰が発生する。   In the next sampling period (t2 = 2000 to 3000), the activation process of the service unit 130 is completed. Therefore, resources are preferentially allocated to the priority application 120a and the subordinate application 120b. In the sampling period, the resource usage rate required by the priority application 120a and the subordinate application 120b is 30%. However, when combined with the surplus (100%) up to the previous sampling interval, it is 130%. Note that in the sampling period, since the activation process of the service unit 130 is completed, the cost of the context switch need not be considered. Therefore, in (2) of FIG. 7, the resource usage rate in the sampling period is corrected to 100%. Here, a surplus of 130-100 = 30% occurs.

当該余剰分を持ち越すために、t2=3000〜4000のサンプリング区間が追加され、当該サンプリング区間に当該余剰分が割り当てられる。その結果、図7の(2)において、当該サンプリング区間に、30%が割り当てられている。   In order to carry over the surplus, a sampling interval of t2 = 3000 to 4000 is added, and the surplus is allocated to the sampling interval. As a result, in (2) of FIG. 7, 30% is allocated to the sampling interval.

続いて、起動制御部140は、起動処理状態記憶部161に記憶されている第1の仮起動回数に1を加算する(S216)。続いて、起動制御部140は、一般アプリ120cの起動処理を再開する(S217)。一般アプリ120cについても、サンプリング区間ごとにリソース使用率が取得及び記憶されてもよい。   Subsequently, the activation control unit 140 adds 1 to the first provisional activation number stored in the activation process state storage unit 161 (S216). Subsequently, the activation control unit 140 resumes the activation process of the general application 120c (S217). Also for the general application 120c, the resource usage rate may be acquired and stored for each sampling period.

なお、優先アプリ120a及び従属アプリ120bの双方の起動処理が完了した時点において、ユーザは、画像形成装置10において、優先アプリ120a及び従属アプリ120bを利用することができる。すなわち、第1の仮起動は、サービス部130及び各アプリ120の起動処理の実行後における画像形成装置10の動作に対して、特段の影響は及ぼさない。したがって、第1の仮起動が行われた場合であっても、ユーザは、通常通り画像形成装置10を利用することができる。この点は、第2の仮起動についても同様である。   Note that when the activation processing of both the priority application 120a and the subordinate application 120b is completed, the user can use the priority application 120a and the subordinate application 120b in the image forming apparatus 10. That is, the first provisional activation does not particularly affect the operation of the image forming apparatus 10 after the activation processing of the service unit 130 and each application 120 is executed. Therefore, even when the first temporary activation is performed, the user can use the image forming apparatus 10 as usual. This also applies to the second temporary activation.

続いて、図3のステップS104の詳細について説明する。図8は、第2の仮起動処理の処理手順の一例を説明するためのフローチャートである。   Next, details of step S104 in FIG. 3 will be described. FIG. 8 is a flowchart for explaining an example of the processing procedure of the second temporary activation processing.

ステップS301〜S304は、図5のステップS201〜S204と同様である。但し、ステップS301では、サービス部130のプロセスの優先度が1番目とされ、優先アプリ120a及び従属アプリ120bのプロセスの優先度が2番目とされ、一般アプリ120cのプロセスの優先度を3番目以降とされてもよい。なお、1回目の第2の仮起動のステップS304において判定されるサンプリング幅は、1回目の第1の仮起動と同様に、固定的に1000(ミリ秒)である。   Steps S301 to S304 are the same as steps S201 to S204 in FIG. However, in step S301, the priority of the process of the service unit 130 is the first, the priority of the process of the priority application 120a and the subordinate application 120b is the second, and the priority of the process of the general application 120c is the third or higher. It may be said. Note that the sampling width determined in step S304 of the first second temporary activation is fixedly 1000 (milliseconds), as in the first temporary activation of the first time.

ステップS305において、起動制御部140は、t1〜t1+Δtにおけるサービス部130のリソース使用率を、起動処理状態記憶部161のサービス部起動履歴情報(図7の(1))から取得し、取得された値を変数Rに代入する。t1が0である場合、図4の(1)の0〜1000に対する「60%」が取得される。   In step S305, the activation control unit 140 acquires the resource usage rate of the service unit 130 from t1 to t1 + Δt from the service unit activation history information ((1) in FIG. 7) of the activation process state storage unit 161. Assign the value to the variable R. When t1 is 0, “60%” with respect to 0 to 1000 in (1) of FIG. 4 is acquired.

続いて、起動制御部140は、R+Cの値が100%未満であるか、又はサービス部130の起動処理が完了済みであるか否かを判定する(S306)。ここで、R+Cの値が100%未満であるかという条件は、優先アプリ120a及び従属アプリ120bの起動処理に対してリソース(CPU111)を割り当てる余裕の有無を判定するための条件である。Cは、図7において説明した、コンテキストスイッチによるリソース使用率の推定値(C=10%)である。すなわち、優先アプリ120a及び従属アプリ120bの起動処理が再開された場合、CPU111に関してコンテキストスイッチが発生するため、当該コンテキストスイッチのコストを考慮して、上記の余裕の有無が判定される。   Subsequently, the activation control unit 140 determines whether the value of R + C is less than 100% or whether the activation process of the service unit 130 has been completed (S306). Here, the condition that the value of R + C is less than 100% is a condition for determining whether or not there is a margin for allocating resources (CPU 111) for the activation process of the priority application 120a and the subordinate application 120b. C is the estimated value (C = 10%) of the resource usage rate by the context switch described in FIG. That is, when the activation process of the priority application 120a and the subordinate application 120b is resumed, a context switch occurs with respect to the CPU 111, and therefore the presence / absence of the above margin is determined in consideration of the cost of the context switch.

また、サービス部130の起動処理が完了済みであるか否かが判定されるのは、サービス部130の起動処理が完了済みであれば、R+Cの値に関わらず、リソースは、優先アプリ120a及び従属アプリ120bの起動処理に優先的に割り当てられるべきだからである。   Whether or not the activation process of the service unit 130 is completed is determined if the activation process of the service unit 130 is completed, regardless of the value of R + C, the resource is the priority application 120a and This is because it should be preferentially assigned to the activation process of the subordinate application 120b.

R+Cの値が100%未満である場合、又はサービス部130の起動処理が完了済みである場合(S306でYes)、起動制御部140は、優先アプリ120a及び従属アプリ120bの起動処理を再開させる(S307)。この際、起動制御部140は、t1〜t1+Δt1のサンプリング区間において、優先アプリ120a及び従属アプリ120bの起動処理を再開したことを、第1の起動履歴記憶部162に記憶する。なお、直前のサンプリング区間において当該起動処理が再開されている場合、ステップS307は実行されなくてもよい。   When the value of R + C is less than 100%, or when the activation process of the service unit 130 has been completed (Yes in S306), the activation control unit 140 resumes the activation process of the priority application 120a and the subordinate application 120b ( S307). At this time, the activation control unit 140 stores in the first activation history storage unit 162 that the activation process of the priority application 120a and the subordinate application 120b has been resumed in the sampling period from t1 to t1 + Δt1. Note that if the activation process is resumed in the immediately preceding sampling interval, step S307 may not be executed.

ここで、サービス部130の起動処理の期間において、ステップS307が実行された場合、サービス部130の起動処理と、優先アプリ120a及び従属アプリ120bの起動処理とは、並列的に実行される。すなわち、第2の仮起動では、サービス部130の起動処理の期間において、リソースに余裕(残量)が有るのであれば、優先アプリ120a及び従属アプリ120bの起動処理が再開されて、リソースが有効活用される。そうすることで、サービス部130の起動処理が開始されてから、優先アプリ120a及び従属アプリ120bの起動が完了するまでの所要時間の短縮が図られる。   Here, when step S307 is executed in the period of the activation process of the service unit 130, the activation process of the service unit 130 and the activation process of the priority application 120a and the subordinate application 120b are executed in parallel. That is, in the second provisional activation, if there is a margin (remaining amount) in the period of the activation process of the service unit 130, the activation process of the priority application 120a and the subordinate application 120b is resumed and the resource is valid. Be utilized. By doing so, it is possible to shorten the time required from the start of the activation process of the service unit 130 to the completion of the activation of the priority application 120a and the subordinate application 120b.

続いて、起動制御部140は、t2〜t2+Δtのサンプリング区間に関して第1の起動履歴記憶部162に記憶されている優先アプリ起動履歴情報(図7の(2))に示される、優先アプリ120a及び従属アプリ120bのリソース使用率を変数Rに加算した値を、変数Rに代入する(S308)。ステップS308が最初に実行される場合、0〜1000(ミリ秒)における優先アプリ120a及び従属アプリ120bのリソース使用率が、変数Rに代入される。なお、第1の起動履歴記憶部162に記憶されている情報に関して、第2の仮起動において使用されるのは、補正後の情報である。   Subsequently, the activation control unit 140 includes the priority application 120a and the priority application 120a indicated in the priority application activation history information ((2) in FIG. 7) stored in the first activation history storage unit 162 with respect to the sampling period t2 to t2 + Δt. A value obtained by adding the resource usage rate of the subordinate application 120b to the variable R is substituted into the variable R (S308). When step S308 is executed first, the resource usage rates of the priority application 120a and the subordinate application 120b in 0 to 1000 (milliseconds) are substituted into the variable R. Regarding the information stored in the first activation history storage unit 162, the information after correction is used in the second temporary activation.

一方、R+Cが100%以上であり、かつ、サービス部130の起動処理が完了していない場合(S306でNo)、起動制御部140は、優先アプリ120a及び従属アプリ120bの起動処理を停止させる(S309)。この際、起動制御部140は、t1〜t1+Δt1のサンプリング区間において、優先アプリ120a及び従属アプリ120bの起動処理を停止したことを、第2の起動履歴記憶部163に記憶する。なお、直前のサンプリング区間において当該起動処理が停止されている場合、ステップS309は実行されなくてもよい。   On the other hand, when R + C is 100% or more and the activation process of the service unit 130 is not completed (No in S306), the activation control unit 140 stops the activation process of the priority application 120a and the subordinate application 120b ( S309). At this time, the activation control unit 140 stores in the second activation history storage unit 163 that the activation process of the priority application 120a and the subordinate application 120b has been stopped in the sampling period from t1 to t1 + Δt1. Note that if the activation process is stopped in the immediately preceding sampling interval, step S309 may not be executed.

続いて、Rの値が100%未満であるか、又は優先アプリ120a及び従属アプリ120bの起動処理が完了済みであるか否かを判定する(S310)。ステップS310の判定は、一般アプリ120cの起動処理を再開可能であるか否かの判定である。なお、ステップS310において、100%との比較対象がR+CではなくRであるのは、一般アプリ120cの起動処理が更に追加される場合のコンテキストスイッチのコストは無視できる程度であると考えられるからである。但し、当該コストが無視できない程度であれば、Rに対して当該コストの推定値が加算された結果が、100%と比較されてもよい。   Subsequently, it is determined whether or not the value of R is less than 100%, or whether the activation process of the priority application 120a and the subordinate application 120b has been completed (S310). The determination in step S310 is a determination as to whether or not the activation process of the general application 120c can be resumed. In Step S310, the comparison target with 100% is R instead of R + C because the cost of the context switch when the activation process of the general application 120c is further added is considered negligible. is there. However, if the cost cannot be ignored, the result of adding the estimated value of the cost to R may be compared with 100%.

Rの値が100%未満である場合、又は優先アプリ120a及び従属アプリ120bの起動処理が完了済みである場合(S310でYes)、起動制御部140は、一般アプリ120cの起動処理を再開させる(S311)。この際、起動制御部140は、t1〜t1+Δt1のサンプリング区間において、一般アプリ120cの起動処理を再開したことを、第2の起動履歴記憶部163に記憶する。なお、直前のサンプリング区間において当該起動処理が再開されている場合、ステップS311は実行されなくてもよい。   When the value of R is less than 100%, or when the activation process of the priority application 120a and the subordinate application 120b has been completed (Yes in S310), the activation control unit 140 resumes the activation process of the general application 120c ( S311). At this time, the activation control unit 140 stores in the second activation history storage unit 163 that the activation process of the general application 120c has been resumed in the sampling period from t1 to t1 + Δt1. Note that when the activation process is resumed in the immediately preceding sampling interval, step S311 may not be executed.

一方、Rが100%以上であり、かつ、優先アプリ120a及び従属アプリ120bの起動処理が完了していない場合(S310でNo)、起動制御部140は、一般アプリ120cの起動処理を停止させる(S312)。この際、起動制御部140は、t1〜t1+Δt1のサンプリング区間において、一般アプリ120cの起動処理を停止したことを、第2の起動履歴記憶部163に記憶する。なお、直前のサンプリング区間において当該起動処理が再開されている場合、ステップS312は実行されなくてもよい。   On the other hand, when R is 100% or more and the activation process of the priority application 120a and the subordinate application 120b is not completed (No in S310), the activation control unit 140 stops the activation process of the general application 120c ( S312). At this time, the activation control unit 140 stores in the second activation history storage unit 163 that the activation process of the general application 120c has been stopped in the sampling period from t1 to t1 + Δt1. Note that if the activation process is resumed in the immediately preceding sampling interval, step S312 may not be executed.

ステップS311又はS312に続いて、起動制御部140は、Δt分の時間の経過を待機する(S313)。なお、ステップS304〜S312までの処理時間の経過は、便宜上、無視して考える。したがって、ステップS313では、ステップS304の開始時からのΔt分の時間の経過が待機される。   Following step S311 or S312, the activation control unit 140 waits for the elapse of time of Δt (S313). Note that the passage of processing time from step S304 to S312 is ignored for convenience. Accordingly, in step S313, the passage of time Δt from the start of step S304 is waited for.

続いて、起動制御部140は、t1〜t1+Δtのサンプリング区間における、サービス部130、優先アプリ120a及び従属アプリ120b、並びに一般アプリ120cのそれぞれのリソース使用率を、リソース管理部150から取得し、取得された値を第2の起動履歴記憶部163に記憶する(S314)。続いて、起動制御部140は、t1+Δtをt1に代入する(S315)。続いて、起動制御部140は、t2+Δtをt2に代入する(S316)。   Subsequently, the activation control unit 140 acquires, from the resource management unit 150, the resource usage rates of the service unit 130, the priority application 120a, the subordinate application 120b, and the general application 120c in the sampling period from t1 to t1 + Δt. The obtained value is stored in the second activation history storage unit 163 (S314). Subsequently, the activation control unit 140 substitutes t1 + Δt for t1 (S315). Subsequently, the activation control unit 140 substitutes t2 + Δt for t2 (S316).

続いて、起動制御部140は、サービス部130、並びに優先アプリ120a及び従属アプリ120bの起動処理が完了したか否かを判定する(S317)。サービス部130、又は優先アプリ120a及び従属アプリ120bの起動処理が完了していない場合(S317でNo)、ステップS304以降が繰り返される。サービス部130、並びに優先アプリ120a及び従属アプリ120bの起動処理が完了した場合(S317でYes)、起動制御部140は、ステップS304において、いずれかのサンプリング区間において、サンプリング区間の分割(サンプリング幅の短縮)が行われたか否かを判定する(S(S318)。分割されたサンプリング区間が無い場合(S318でNo)、起動制御部140は、起動処理状態記憶部161に記憶されている起動処理フラグの値を1にする(S319)。したがって、この場合、次回以降における画像形成装置10の起動時には、通常起動処理が実行される。なお、サンプリング区間の分割については、後述される。   Subsequently, the activation control unit 140 determines whether activation processing of the service unit 130, the priority application 120a, and the subordinate application 120b has been completed (S317). When the activation process of the service unit 130 or the priority application 120a and the subordinate application 120b has not been completed (No in S317), Step S304 and subsequent steps are repeated. When the activation processing of the service unit 130, the priority application 120a, and the subordinate application 120b is completed (Yes in S317), the activation control unit 140 divides the sampling interval (of the sampling width) in any sampling interval in step S304. (S (S318)) If there is no divided sampling interval (No in S318), the activation control unit 140 activates the activation process stored in the activation process state storage unit 161. The value of the flag is set to 1 (S319) Therefore, in this case, the normal activation process is executed when the image forming apparatus 10 is activated the next time or later.

ステップS318でYesの場合、又はステップS319に続いて、起動制御部140は、起動処理状態記憶部161に記憶されている第2の仮起動回数に1を加算する(S320)。続いて、起動制御部140は、一般アプリ120cの起動処理を再開させる(S321)。但し、既に当該起動処理が再開されている場合、又は一般アプリ120cの起動処理が既に完了している場合には、ステップS321は実行されなくてよい。   In the case of Yes in step S318 or following step S319, the activation control unit 140 adds 1 to the second provisional activation number stored in the activation process state storage unit 161 (S320). Subsequently, the activation control unit 140 resumes the activation process of the general application 120c (S321). However, if the activation process has already been resumed, or if the activation process of the general application 120c has already been completed, step S321 may not be executed.

第2の仮起動の終了時において、第2の起動履歴記憶部163には、例えば、図9に示されるような情報が記憶される。   At the end of the second provisional activation, the second activation history storage unit 163 stores, for example, information as shown in FIG.

図9は、第2の起動履歴記憶部に記憶される情報の一例を示す図である。図9において、(1)及び(2)は、ステップS314において記憶される情報の一例である。(1)には、各サンプリング区間(t1〜t1+Δt)に対応付けられて、サービス部130によるリソース使用率が示されている。また、(2)には、各サンプリング区間に対応付けられて、優先アプリ120a及び従属アプリ120bによるリソース使用率が示されている。なお、(2)において、各サンプリング区間の開始時期及び終了時期については、t1に基づく値と、t2に基づく値とが記憶されている。   FIG. 9 is a diagram illustrating an example of information stored in the second activation history storage unit. In FIG. 9, (1) and (2) are examples of information stored in step S314. In (1), the resource usage rate by the service unit 130 is shown in association with each sampling interval (t1 to t1 + Δt). Further, (2) shows the resource usage rate by the priority application 120a and the subordinate application 120b in association with each sampling section. In (2), for the start time and end time of each sampling section, a value based on t1 and a value based on t2 are stored.

(3)は、ステップ307、S309、S311、及びS312において記憶される情報の一例である。すなわち、(3)には、サンプリング区間ごとに、優先アプリ120a及び従属アプリ120bと、一般アプリ120cとのそれぞれについて、起動処理を再開したのか又は停止したのかを示す情報が示されている。以下、(3)に示される情報を、「起動制御情報」という。   (3) is an example of information stored in steps 307, S309, S311, and S312. That is, (3) shows information indicating whether the activation process is restarted or stopped for each of the priority application 120a, the subordinate application 120b, and the general application 120c for each sampling interval. Hereinafter, the information shown in (3) is referred to as “activation control information”.

例えば、図7より、t1に関する0〜1000のサンプリング区間において、サービス部130のリソース使用率は、80である。すなわち、80+C(ここで、C=10)は、100%未満である。したがって、当該サンプリング区間に関しては、ステップS307において、優先アプリ120a及び従属アプリ120bの起動処理は再開される。ここで、t1に関して0〜1000において並列的に実行される優先アプリ120a及び従属アプリ120bの起動処理は、t2=0〜1000に関する起動処理である。図7より、当該サンプリング区間において、優先アプリ120a及び従属アプリ120bのリソース使用率は、10である。すなわち、80+C+10は、100%以上である。したがって、この場合、ステップS311において、一般アプリ120cの起動処理は停止される。これらの履歴が、図9の(3)の0〜1000の列に示されている。   For example, from FIG. 7, the resource usage rate of the service unit 130 is 80 in the sampling interval of 0 to 1000 related to t1. That is, 80 + C (where C = 10) is less than 100%. Therefore, for the sampling period, the activation process of the priority application 120a and the subordinate application 120b is resumed in step S307. Here, the activation process of the priority application 120a and the subordinate application 120b executed in parallel at 0 to 1000 with respect to t1 is an activation process with respect to t2 = 0 to 1000. From FIG. 7, the resource usage rate of the priority application 120a and the subordinate application 120b is 10 in the sampling period. That is, 80 + C + 10 is 100% or more. Therefore, in this case, the activation process of the general application 120c is stopped in step S311. These histories are shown in columns 0 to 1000 in (3) of FIG.

また、図7より、t1に関する0〜1000のサンプリング区間において、サービス部130のリソース使用率は、70である。すなわち、70+Cは、100%未満である。したがって、したがって、当該サンプリング区間に関しては、ステップS307において、優先アプリ120a及び従属アプリ120bの起動処理は再開される。ここで、t1に関して1000〜2000において並列的に実行される優先アプリ120a及び従属アプリ120bの起動処理は、t2=1000〜2000に関する起動処理である。図7より、当該サンプリング区間において、優先アプリ120a及び従属アプリ120bのリソース使用率は、20である。すなわち、70+C+20は、100%以上である。したがって、この場合、ステップS311において、一般アプリ120cの起動処理は停止される。これらの履歴が、図9の(3)の1000〜2000の列に示されている。   Further, from FIG. 7, the resource usage rate of the service unit 130 is 70 in the sampling interval of 0 to 1000 regarding t1. That is, 70 + C is less than 100%. Therefore, for the sampling period, the activation process of the priority application 120a and the subordinate application 120b is restarted in step S307. Here, the activation process of the priority application 120a and the subordinate application 120b executed in parallel at 1000 to 2000 with respect to t1 is an activation process with respect to t2 = 1000 to 2000. From FIG. 7, the resource usage rate of the priority application 120a and the subordinate application 120b is 20 in the sampling period. That is, 70 + C + 20 is 100% or more. Therefore, in this case, the activation process of the general application 120c is stopped in step S311. These histories are shown in columns 1000 to 2000 in (3) of FIG.

続いて、図5のステップS204及びS210、並びに図8のステップS304の詳細について説明する。   Next, details of steps S204 and S210 in FIG. 5 and step S304 in FIG. 8 will be described.

図10は、サンプリング幅の判定処理の処理手順の一例を説明するためのフローチャートである。   FIG. 10 is a flowchart for explaining an example of a processing procedure of sampling width determination processing.

ステップS401において、起動制御部140は、第1の仮起動であるか否かによって処理を分岐させる。第1の仮起動である場合(S401でYes)、起動制御部140は、起動処理状態記憶部161に記憶されている第1の仮起動回数が1未満であるか否かを判定する(S402)。第1の仮起動回数が1未満である場合(S402でYes)、起動制御部140は、サンプリング幅は1000ミリ秒であると判定する。なお、本実施の形態において、サンプリング幅の初期値は、1000ミリ秒であるが、他の値が、サンプリング幅の初期値とされてもよい。   In step S401, the activation control unit 140 branches the process depending on whether or not it is the first temporary activation. In the case of the first temporary activation (Yes in S401), the activation control unit 140 determines whether or not the number of first temporary activations stored in the activation process state storage unit 161 is less than 1 (S402). ). When the first temporary activation count is less than 1 (Yes in S402), the activation control unit 140 determines that the sampling width is 1000 milliseconds. In this embodiment, the initial value of the sampling width is 1000 milliseconds, but other values may be used as the initial value of the sampling width.

一方、第1の仮起動回数が1以上である場合(S402でNo)、起動制御部140は、対象区間に関する、前回の第1の仮起動時におけるサンプリング幅を、Δtに代入する(S404)。前回の第1の仮起動時とは、第1の仮起動回数が、今回よりも1小さい状態における第1の仮起動時をいう。また、図5のステップS204から図10の処理が呼び出される場合、当該呼び出し時点におけるt1を開始時点とするサンプリング区間が、対象区間である、図5のステップS210から図10の処理が呼び出される場合、当該呼び出し時点におけるt2を開始時点とするサンプリング区間が対象区間である。   On the other hand, when the first temporary activation count is 1 or more (No in S402), the activation control unit 140 substitutes the sampling width at the time of the first temporary activation for the target section in Δt (S404). . The previous first provisional activation time refers to the first provisional activation time in which the first provisional activation count is one smaller than this time. Also, when the process of FIG. 10 is called from step S204 of FIG. 5, the process of FIG. 10 is called from step S210 of FIG. 5 where the sampling period starting at t1 at the call time is the target period. A sampling interval starting at t2 at the calling time is the target interval.

続いて、起動制御部140は、対象区間が、サービス部130の起動処理の期間に含まれるか否かを判定する(S405)。図5のステップS204から図10の処理が呼び出された場合、呼び出し時点におけるt1の値が、第1の起動履歴記憶部162に記憶されているサービス部起動履歴情報(図7の(1))を構成する最後のサンプリング区間の開始時点以下であるか否かが判定される。図7の(1)の例によれば、図10の処理の呼び出し時におけるt1の値が1000以下であれば、ステップS405の判定は肯定的なものとなる。また、図5のステップS208から図10の処理が呼び出された場合、呼び出し時点におけるt2の値が、第1の起動履歴記憶部162に記憶されているサービス部起動履歴情報(図7の(1))を構成する最後のサンプリング区間の開始時点以下であるか否かが判定される。図7の(1)の例によれば、図10の処理の呼び出し時におけるt2の値が、1000以下であれば、ステップS405の判定は肯定的なものとなる。   Subsequently, the activation control unit 140 determines whether the target section is included in the activation process period of the service unit 130 (S405). When the process of FIG. 10 is called from step S204 of FIG. 5, the value of t1 at the time of calling is the service unit activation history information stored in the first activation history storage unit 162 ((1) of FIG. 7). It is determined whether or not it is less than or equal to the start time of the last sampling interval that constitutes. According to the example of (1) of FIG. 7, if the value of t1 at the time of calling the process of FIG. 10 is 1000 or less, the determination in step S405 is affirmative. When the process of FIG. 10 is called from step S208 of FIG. 5, the value of t2 at the time of the call is the service unit activation history information stored in the first activation history storage unit 162 ((1 of FIG. 7). It is determined whether or not it is less than or equal to the start time of the last sampling interval constituting)). According to the example of (1) of FIG. 7, if the value of t2 at the time of calling the process of FIG. 10 is 1000 or less, the determination in step S405 becomes affirmative.

ステップS405の判定が肯定的である場合(S405でYes)、起動制御部140は、前回の第1の仮起動時に関して第1起動状態記憶部に記憶されている、対象区間におけるサービス部130のリソース使用率を変数R11に代入する(S406)。例えば、対象区間がt1=0〜1000であれば、図7の(1)より、80%がR11に代入される。   If the determination in step S405 is affirmative (Yes in S405), the activation control unit 140 stores the service unit 130 in the target section stored in the first activation state storage unit with respect to the previous first temporary activation. The resource usage rate is substituted into the variable R11 (S406). For example, if the target section is t1 = 0 to 1000, 80% is substituted for R11 from (1) of FIG.

続いて、起動制御部140は、最後の第2の仮起動時に第2起動状態記憶部に記憶された、サービス部130の対象区間に関するリソース使用率を変数R12に代入する(S407)。例えば、対象区間がt1=0〜1000であれば、図9の(1)より、75%が取得される。   Subsequently, the activation control unit 140 substitutes the resource usage rate related to the target section of the service unit 130 stored in the second activation state storage unit at the time of the final second temporary activation into the variable R12 (S407). For example, if the target section is t1 = 0 to 1000, 75% is acquired from (1) of FIG.

続いて、起動制御部140は、R11>R21であるかを判定する(S408)。R11>R21は、対象区間におけるサービス部130によるリソース使用率が、第1の仮起動時よりも第2の仮起動時の方が小さいか否かの判定である。   Subsequently, the activation control unit 140 determines whether or not R11> R21 (S408). R11> R21 is a determination as to whether or not the resource usage rate by the service unit 130 in the target section is smaller during the second temporary activation than during the first temporary activation.

R11=80、R12=75である場合、R11>R12である(S408でYes)。この場合、起動制御部140は、Δtを2で除することにより得られる値を、サンプリング幅とする(S409)。すなわち、サンプリング区間が分割される。一方、R11≦R12である場合(S408でNo)、起動制御部140は、Δtの値を変更しない。したがって、この場合、前回の対象区間と同じサンプリング幅が、今回の対象区間に対して適用される。   When R11 = 80 and R12 = 75, R11> R12 (Yes in S408). In this case, the activation control unit 140 sets a value obtained by dividing Δt by 2 as the sampling width (S409). That is, the sampling period is divided. On the other hand, when R11 ≦ R12 (No in S408), the activation control unit 140 does not change the value of Δt. Therefore, in this case, the same sampling width as that of the previous target section is applied to the current target section.

一方、ステップS405の判定が否定的である場合(S405でNo)、起動制御部140は、前回の第1の仮起動時に関して第1起動状態記憶部に記憶されている、対象区間における優先アプリ120a及び従属アプリ120bのリソース使用率を変数R21に代入する(S410)。図7によれば、ステップS405の判定が最初に否定的となるのは、図5において、t2=2000である場合に、ステップS210が実行されるときである。この際の対象区間は、t2=2000〜3000である。図7(2)に示されるように、前回の第1の仮起動時の対象区間における優先アプリ120a及び従属アプリ120bのリソース使用率は、100%である。したがって、100が、R21に代入される。   On the other hand, when the determination in step S405 is negative (No in S405), the activation control unit 140 stores the priority application in the target section stored in the first activation state storage unit with respect to the previous first temporary activation. The resource usage rates of 120a and subordinate application 120b are substituted into variable R21 (S410). According to FIG. 7, the determination in step S405 is initially negative when step S210 is executed when t2 = 2000 in FIG. In this case, the target section is t2 = 2000 to 3000. As shown in FIG. 7 (2), the resource usage rate of the priority application 120a and the subordinate application 120b in the target section at the time of the previous first temporary activation is 100%. Therefore, 100 is substituted into R21.

続いて、起動制御部140は、最後の第2の仮起動時において第2起動状態記憶部に記憶された、優先アプリ120a及び従属アプリ120bの対象区間に関するリソース使用率を変数R22に代入する(S411)。例えば、対象区間がt2=2000〜3000であれば、図9の(1)より、100%がR22に代入される。   Subsequently, the activation control unit 140 substitutes the resource usage rate related to the target section of the priority application 120a and the subordinate application 120b stored in the second activation state storage unit at the time of the final second temporary activation in the variable R22 ( S411). For example, if the target section is t2 = 2000 to 3000, 100% is substituted for R22 from (1) of FIG.

続いて、起動制御部140は、R21>R21であるかを判定する(S412)。R21>R21は、対象区間における優先アプリ120a及び従属アプリ120bによるリソース使用率が、第1の仮起動時よりも第2の仮起動時の方が小さいか否かの判定である。   Subsequently, the activation control unit 140 determines whether R21> R21 is satisfied (S412). R21> R21 is a determination as to whether or not the resource usage rate by the priority application 120a and the subordinate application 120b in the target section is smaller at the time of the second temporary activation than at the time of the first temporary activation.

R21>R22である場合(S412でYes)、起動制御部140は、Δtを2で除することにより得られる値を、サンプリング幅とする(S413)。すなわち、サンプリング区間が分割される。一方、R21≦R22である場合(S412でNo)、起動制御部140は、Δtの値を変更しない。したがって、この場合、前回の対象区間と同じサンプリング幅が、今回の対象区間に対して適用される。   When R21> R22 (Yes in S412), the activation control unit 140 sets a value obtained by dividing Δt by 2 as a sampling width (S413). That is, the sampling period is divided. On the other hand, when R21 ≦ R22 (No in S412), the activation control unit 140 does not change the value of Δt. Therefore, in this case, the same sampling width as that of the previous target section is applied to the current target section.

ステップS408においてサンプリング区間を分割する理由について説明する。R11>R12であるということは、第2の仮起動による並列処理において、サービス部130が対象区間において必要とするリソースが、サービス部130に割り当てられなかった状態であると推測される。   The reason why the sampling interval is divided in step S408 will be described. R11> R12 is presumed that the resource required by the service unit 130 in the target section is not allocated to the service unit 130 in the parallel processing by the second temporary activation.

第2の仮起動時では、図8のステップS305及びS306より明らかなように、サービス部130の起動処理の期間において、リソースに空きが有る場合には、優先アプリ120a及び従属アプリ120bの起動処理が並列的に実行される。したがって、サービス部130、優先アプリ120a及び従属アプリ120b、及び一般アプリ120cのそれぞれのプロセスの優先度を、サービス部130>優先アプリ120a及び従属アプリ120b>一般アプリ120cとしておけば、基本的には、サービス部130に対して、所望通りのリソースが割り当てられる可能性が高い。それにも関わらず、サービス部130に対して割り当てられたリソースが、所望の値に満たないということは、原因として次のようなことが考えられる。   As is apparent from steps S305 and S306 in FIG. 8, in the second provisional activation, if the resources are available during the activation process of the service unit 130, the activation process of the priority application 120a and the subordinate application 120b is performed. Are executed in parallel. Therefore, if the priority of each process of the service unit 130, the priority application 120a and the subordinate application 120b, and the general application 120c is set as service unit 130> priority application 120a and subordinate application 120b> general application 120c, basically, There is a high possibility that a desired resource is allocated to the service unit 130. Nevertheless, the reason why the resource allocated to the service unit 130 is less than the desired value is considered as the following.

サンプリング区間ごとのリソース使用率は、当該サンプリング区間における平均値である。すなわち、瞬間的なリソース使用率は、当該サンプリング区間内において変動する。例えば、0〜1000のサンプリング区間において、サービス部130のリソース使用率が80%だとしても、0〜500において70%、500〜1000において90%であるかもしれない。この場合、500〜1000においては、コンテキストスイッチのコストC=10%を考慮すれば、優先アプリ120a及び従属アプリ120bの起動処理を実行する余裕は、本来であれば無かったことになる。それにも関わらず、第2の仮起動においては、当該区間において優先アプリ120a及び従属アプリ120bの起動処理が実行されていたため、サービス部130には十分なリソースが割り当てられなかった可能性が考えられる。すなわち、この場合、500〜1000の区間において、優先アプリ120a及び従属アプリ120bの起動処理を停止できれば、サービス部130には十分なリソースが割り当てられる可能性が有ると考えられる。   The resource usage rate for each sampling interval is an average value in the sampling interval. That is, the instantaneous resource usage rate varies within the sampling interval. For example, in the sampling interval of 0 to 1000, even if the resource usage rate of the service unit 130 is 80%, it may be 70% at 0 to 500 and 90% at 500 to 1000. In this case, if the context switch cost C = 10% is considered in 500 to 1000, there is originally no room for executing the activation process of the priority application 120a and the subordinate application 120b. Nevertheless, in the second provisional activation, the activation process of the priority application 120a and the subordinate application 120b was executed in the section, so that there is a possibility that sufficient resources were not allocated to the service unit 130. . That is, in this case, if the activation process of the priority application 120a and the subordinate application 120b can be stopped in the section 500 to 1000, it is considered that there is a possibility that sufficient resources are allocated to the service unit 130.

本実施の形態では、上記のような考えに基づいて、優先アプリ120a及び従属アプリ120bの起動処理の再開及び停止を、更に短い時間幅で制御可能とするために、サンプリング区間の分割が行われるのである。ステップS413についても、同様の考えに基づき、一般アプリ120cの起動処理の再開及び停止を、更に短い時間幅で制御可能とするための処理である。   In the present embodiment, based on the above-described idea, the sampling interval is divided in order to enable the restart and stop of the activation process of the priority application 120a and the subordinate application 120b to be controlled with a shorter time width. It is. Step S413 is also a process for making it possible to control the restart and stop of the startup process of the general application 120c in a shorter time width based on the same idea.

換言すれば、サービス部130の起動処理の期間に含まれるサンプリング区間が分割された場合、前回の第2の仮起動時において、当該サンプリング区間において、優先アプリ120a及び従属アプリ120bの起動処理が再開されていたとしても、いずれかの分割区間(分割期間)においては、当該起動処理が停止される。同様に、サービス部130の起動処理の完了後であって、優先アプリ120a及び従属アプリ120bの動処理の期間に含まれるサンプリング区間が分割された場合、前回の第2の仮起動時において、当該サンプリング区間において、一般アプリ120cの起動処理が再開されていたとしても、いずれかの分割区間においては、当該起動処理が停止される。   In other words, when the sampling period included in the activation process period of the service unit 130 is divided, the activation process of the priority application 120a and the subordinate application 120b is resumed in the sampling period at the time of the previous second provisional activation. Even if it has been performed, the activation process is stopped in any divided section (divided period). Similarly, after the start process of the service unit 130 is completed and the sampling period included in the period of the dynamic process of the priority application 120a and the subordinate application 120b is divided, Even if the activation process of the general application 120c is resumed in the sampling period, the activation process is stopped in any divided period.

なお、いずれかのサンプリング区間に関して、ステップS409又はステップS413が実行された場合、図8のステップS318でNoとなる。   Note that if step S409 or step S413 is executed for any sampling interval, No is returned in step S318 of FIG.

一方、第2の仮起動において図10の処理が実行される場合(S401でNo)、起動制御部140は、直前に実行された第1の仮起動において対象区間に関して判定されたサンプリング幅を、サンプリング幅として判定する(S414)。すなわち、対となる第1の仮起動と第2の仮起動との各サンプリング区間のサンプリング幅は一致する。   On the other hand, when the process of FIG. 10 is executed in the second temporary activation (No in S401), the activation control unit 140 uses the sampling width determined for the target section in the first temporary activation executed immediately before, The sampling width is determined (S414). That is, the sampling widths of the sampling intervals of the first temporary activation and the second temporary activation that are paired are the same.

続いて、図3のステップS102の詳細について説明する。図11は、通常起動処理の処理手順の一例を説明するためのフローチャートである。   Next, details of step S102 in FIG. 3 will be described. FIG. 11 is a flowchart for explaining an example of the processing procedure of the normal activation process.

ステップS501〜S503は、図5のステップS201〜S203又は図8のステップS301〜S303と同様である。但し、ステップS502において、変数t2は初期化されなくてもよい。   Steps S501 to S503 are the same as steps S201 to S203 in FIG. 5 or steps S301 to S303 in FIG. However, in step S502, the variable t2 may not be initialized.

続いて、起動制御部140は、第2の起動履歴記憶部163に記憶されている起動制御情報のうち、t1を開始時点とするサンプリング区間(以下、「対象区間」という。)に係る情報を、第2の起動履歴記憶部163から取得する(S504)。ここで、起動制御情報は、仮起動終フラグが1に更新された際に実行された第2の仮起動において記憶された起動制御情報である。仮に、当該起動制御情報が、図9の(3)に示される通りであり、t1=0である場合、優先アプリ120a及び従属アプリ120bに関して「再開」を示し、一般アプリ120cに関して「停止」を示す情報が取得される。   Subsequently, the activation control unit 140 includes information related to a sampling interval (hereinafter, referred to as “target interval”) having t1 as a starting point in the activation control information stored in the second activation history storage unit 163. And is acquired from the second activation history storage unit 163 (S504). Here, the activation control information is activation control information stored in the second provisional activation executed when the temporary activation end flag is updated to 1. If the activation control information is as shown in (3) of FIG. 9 and t1 = 0, “restart” is indicated for the priority application 120a and the subordinate application 120b, and “stop” is indicated for the general application 120c. The information shown is acquired.

続いて、起動制御部140は、取得された情報に基づいて、優先アプリ120a及び従属アプリ120b、並びに一般アプリ120cの起動処理を再開又は停止させる(S505)。続いて、起動制御部140は、第2の起動履歴記憶部163に記憶されている起動制御情報において、次のサンプリング区間に対応する情報が有るか否かを判定する(S506)。次のサンプリング区間が有る場合(S506でYes)、起動制御部140は、対象区間のサンプリング幅分の時間が経過するのを待機する(S507)。当該時間が経過すると(S507でYes)、起動制御部140は、t1に対して、対象区間のサンプリング幅を加算し(S508)ステップS504以降を繰り返す。   Subsequently, the activation control unit 140 restarts or stops the activation process of the priority application 120a, the subordinate application 120b, and the general application 120c based on the acquired information (S505). Subsequently, the activation control unit 140 determines whether there is information corresponding to the next sampling section in the activation control information stored in the second activation history storage unit 163 (S506). If there is a next sampling section (Yes in S506), the activation control unit 140 waits for the time corresponding to the sampling width of the target section to elapse (S507). When the time has elapsed (Yes in S507), the activation control unit 140 adds the sampling width of the target section to t1 (S508) and repeats Step S504 and the subsequent steps.

一方、ステップS506において、次のサンプリング区間が無い場合(S506でNo)、図11の処理は終了する。   On the other hand, in step S506, when there is no next sampling section (No in S506), the process in FIG. 11 ends.

上述したように、本実施の形態によれば、第1の仮起動によって、サービス部130、優先アプリ120a及び従属アプリ120bのそれぞれが、それぞれの起動処理の過程において必要とするリソース使用率の時系列情報が取得される。第2の仮起動においては、当該時系列情報に基づいて、起動処理が完了していないプログラムの中で、優先度が最高であるプログラムに対して、サンプリング区間ごとに、所望のリソース使用率が割り当てられるように、各プログラムの起動処理の再開及び停止が制御されつつ、各プログラムのリソース使用率が計測される。その結果、起動処理を並列化されたことによる影響の有無を確認することができる。例えば、起動処理が完了していないプログラムの中で、優先度が最高であるプログラムに関して、各サンプリング区間において所望のリソース使用率が割り当てられているか否かが確認可能となる。起動処理が並列化されることによる影響が有る場合には、当該影響が発生したサンプリング区間が細分化されて、第1の仮起動及び第2の仮起動が再実行される。   As described above, according to the present embodiment, the first temporary activation causes the service unit 130, the priority application 120a, and the subordinate application 120b to have the resource usage rate required in the respective activation processes. Series information is acquired. In the second provisional activation, a desired resource usage rate is obtained for each sampling interval with respect to the program having the highest priority among the programs whose activation processing is not completed based on the time series information. The resource usage rate of each program is measured while controlling the restart and stop of the startup process of each program so as to be allocated. As a result, it is possible to confirm whether or not there is an influence due to the parallel startup processing. For example, it is possible to confirm whether or not a desired resource usage rate is assigned in each sampling interval with respect to a program having the highest priority among the programs that have not been activated. When there is an influence due to parallelization of the start processing, the sampling interval in which the influence has occurred is subdivided, and the first temporary start and the second temporary start are re-executed.

以上の処理が繰り返されることで、各プログラムの起動処理を並列化しつつ、優先度が相対的に低いプログラムの起動処理について、優先度が相対的に高いプログラムの起動処理が早期に終了させることができるような再開及び停止のタイミングを特定することができる。その結果、サービス部130又は優先アプリ120a等特定のプログラムの起動時間の遅延の可能性を低減させることができる。   By repeating the above processing, the startup processing of each program with a relatively low priority may be terminated early while the startup processing of each program is parallelized. It is possible to specify the timing of restarting and stopping as possible. As a result, it is possible to reduce the possibility of delay in the activation time of a specific program such as the service unit 130 or the priority application 120a.

なお、第2の仮起動が、通常起動として運用されてもよい。この場合の第2の仮起動では、第2の起動履歴記憶部163への情報の書き込みは行われなくてもよい。また、この場合、第1の仮起動が1回行われれば、通常起動が実行されるようにしてもよい。   Note that the second temporary activation may be operated as a normal activation. In the second provisional activation in this case, writing of information to the second activation history storage unit 163 may not be performed. In this case, the normal activation may be executed if the first temporary activation is performed once.

また、本実施の形態では、第1の仮起動、第2の仮起動、及び通常起動は、それぞれ画像形成装置10の起動時において実行される処理として説明したが、例えば、画像形成装置10としては1回の起動が行われた後において、ソフトウェア群の再起動処理において、第1の仮起動、第2の仮起動、及び通常起動が実行されてもよい。   In the present embodiment, the first provisional activation, the second provisional activation, and the normal activation are described as processes executed when the image forming apparatus 10 is activated. For example, as the image forming apparatus 10, After the first activation, the first temporary activation, the second temporary activation, and the normal activation may be executed in the software group restart process.

なお、本実施の形態は、CPU111以外のリソースに関して適用されてもよい。例えば、I/Oバッファの使用率や、メモリの使用率に関して本実施の形態が適用されてもよい。   Note that this embodiment may be applied to resources other than the CPU 111. For example, the present embodiment may be applied to an I / O buffer usage rate or a memory usage rate.

また、本実施の形態は、画像形成装置10以外の情報処理装置(例えば、プロジェクタ、テレビ会議システム、電子黒板、デジタルカメラ、PC(Personal Computer)等)に関して適用されてもよい。   Further, the present embodiment may be applied to an information processing apparatus other than the image forming apparatus 10 (for example, a projector, a video conference system, an electronic blackboard, a digital camera, a PC (Personal Computer), etc.).

また、本実施の形態において、使用率は、厳密な意味での使用率でなくてもよい。例えば、使用率の他に、使用の度合い又は使用の頻度等が把握可能な使用情報であってもよい。   In this embodiment, the usage rate may not be a usage rate in a strict sense. For example, in addition to the usage rate, usage information in which the degree of use or the frequency of use can be grasped may be used.

なお、本実施の形態において、サービス部130、優先アプリ120a及び従属アプリ120b、又はサービス部130並びに優先アプリ120a及び従属アプリ120bは、第1のプログラムの一例である。優先アプリ120a及び従属アプリ120b又は一般アプリ120cは、第2のプログラムの一例である。第1の仮起動は、第1の起動及び第3の起動の一例である。第2の仮起動は、第2の起動及び第3の起動の一例である。第1の履歴情報及び第3の履歴情報は、第1の起動履歴記憶部162に記憶される情報の一例である。第2の履歴情報及び第4の履歴情報は、第2の起動履歴記憶部163に記憶される情報の一例である。   In the present embodiment, the service unit 130, the priority application 120a and the subordinate application 120b, or the service unit 130, the priority application 120a and the subordinate application 120b are examples of the first program. The priority application 120a and the subordinate application 120b or the general application 120c are examples of the second program. The first provisional activation is an example of the first activation and the third activation. The second provisional activation is an example of the second activation and the third activation. The first history information and the third history information are examples of information stored in the first activation history storage unit 162. The second history information and the fourth history information are examples of information stored in the second activation history storage unit 163.

以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。   As mentioned above, although the Example of this invention was explained in full detail, this invention is not limited to such specific embodiment, In the range of the summary of this invention described in the claim, various deformation | transformation・ Change is possible.

10 画像形成装置
11 コントローラ
12 スキャナ
13 プリンタ
14 モデム
15 操作パネル
16 ネットワークインタフェース
17 SDカードスロット
80 SDカード
111 CPU
112 RAM
113 ROM
114 HDD
115 NVRAM
120 アプリ
120a 優先アプリ
120b 従属アプリ
120c 一般アプリ
130 サービス部
140 起動制御部
150 リソース管理部
161 起動処理状態記憶部
162 第1の起動履歴記憶部
163 第2の起動履歴記憶部
DESCRIPTION OF SYMBOLS 10 Image forming apparatus 11 Controller 12 Scanner 13 Printer 14 Modem 15 Operation panel 16 Network interface 17 SD card slot 80 SD card 111 CPU
112 RAM
113 ROM
114 HDD
115 NVRAM
120 Application 120a Priority Application 120b Dependent Application 120c General Application 130 Service Unit 140 Activation Control Unit 150 Resource Management Unit 161 Activation Processing State Storage Unit 162 First Activation History Storage Unit 163 Second Activation History Storage Unit

特開2014−164715号公報JP 2014-164715 A 特開2010−74303号公報JP 2010-74303 A

Claims (12)

情報処理装置であって、
当該情報処理装置が有する複数のプログラムからなるプログラム群の起動処理を制御する起動制御部を有し、
前記起動制御部は、
前記プログラム群の第1の起動時に、前記プログラム群のうちの第1のプログラムよりも優先度が低い第2のプログラムの起動処理の進行が停止された状態で、前記第1のプログラムの起動処理を進行させ、該起動処理における一定期間ごとの前記第1のプログラムによるリソースの使用情報の履歴を示す第1の履歴情報を記憶し、
前記第1の起動時の後の前記プログラム群の第2の起動時における前記第1のプログラムの起動処理の期間において、前記第1の履歴情報に基づいて、前記リソースの使用情報が所定値に達していないことが特定される前記一定期間には、前記第2のプログラムの起動処理を進行させ、前記第1の履歴情報に基づいて、前記リソースの使用情報が前記所定値に達していることが特定される前記一定期間には、前記第2のプログラムの起動処理を進行させない、
ことを特徴とする情報処理装置。
An information processing apparatus,
A start control unit that controls start processing of a program group including a plurality of programs included in the information processing apparatus;
The activation control unit
At the first startup of the program group, the startup process of the first program is stopped in a state where the startup process of the second program having a lower priority than the first program in the program group is stopped. And storing first history information indicating a history of resource usage information by the first program at regular intervals in the startup process,
Based on the first history information, the resource usage information is set to a predetermined value during the first program activation process at the second activation time of the program group after the first activation time. During the certain period in which it is specified that the resource has not been reached, the startup process of the second program is advanced, and the resource usage information has reached the predetermined value based on the first history information. In the predetermined period in which the second program is specified, the startup process of the second program is not allowed to proceed.
An information processing apparatus characterized by that.
前記起動制御部は、
前記第2の起動時における前記第1のプログラムの起動処理において、前記一定期間ごとの前記第1のプログラムによる前記リソースの使用情報の履歴を示す第2の履歴情報を記憶し、
前記第2の起動時の後の前記プログラム群の第3の起動時において、前記第2のプログラムの起動処理の進行が停止された状態で、前記第1のプログラムの起動処理を進行させ、該起動処理における一定期間ごとのリソースの使用情報の履歴を示す第3の履歴情報であって、前記第1の履歴情報が示す前記第1のプログラムによる前記リソースの使用情報が、前記第2の履歴情報が示す前記第1のプログラムによる前記リソースの使用情報よりも大きい前記一定期間については、当該一定期間を分割した分割期間ごとに、前記リソースの使用情報を示す前記第3の履歴情報を記憶し、
前記第3の起動時の後の前記プログラム群の第4の起動時における前記第1のプログラムの起動処理の期間において、前記第3の履歴情報に基づいて、前記リソースの使用情報が所定値に達していないことが特定される前記一定期間又は前記分割期間には、前記第2のプログラムの起動処理を進行させ、前記第1の履歴情報に基づいて、前記リソースの使用情報が前記所定値に達していることが特定される前記一定期間又は前記分割期間には、前記第2のプログラムの起動処理を進行させない、
ことを特徴とする請求項1記載の情報処理装置。
The activation control unit
In the startup process of the first program at the time of the second startup, second history information indicating a history of the resource usage information by the first program for each predetermined period is stored,
In the third startup of the program group after the second startup, the startup process of the first program is advanced in a state where the progress of the startup process of the second program is stopped, Third history information indicating a history of resource usage information for each fixed period in the startup process, wherein the resource usage information by the first program indicated by the first history information is the second history. For the certain period larger than the resource usage information by the first program indicated by the information, the third history information indicating the resource usage information is stored for each divided period obtained by dividing the certain period. ,
Based on the third history information, the resource usage information is set to a predetermined value during the first program startup process at the time of the fourth startup of the program group after the third startup. During the predetermined period or the divided period specified as not reached, the second program activation process proceeds, and based on the first history information, the resource usage information reaches the predetermined value. The second program startup process is not allowed to proceed during the certain period or the divided period specified to be reached,
The information processing apparatus according to claim 1.
前記起動制御部は、前記第4の起動時における前記第1のプログラムの起動処理の期間において、前記第2の起動時における前記第1のプログラムの起動処理の期間において前記第2のプログラムの起動処理が進行されたいずれかの前記一定期間に係る前記分割期間について、前記第2のプログラムの起動処理を進行させない、
ことを特徴とする請求項2記載の情報処理装置。
The activation control unit activates the second program during the first program activation process during the second activation, during the first program activation process during the fourth activation. Do not allow the second program startup process to proceed for any of the divided periods for which the process has proceeded.
The information processing apparatus according to claim 2.
前記リソースの使用情報は、前記リソースの使用率である、
ことを特徴とする請求項1乃至3いずれか一項記載の情報処理装置。
The resource usage information is a usage rate of the resource.
The information processing apparatus according to any one of claims 1 to 3.
情報処理装置が、
当該情報処理装置が有する複数のプログラムからなるプログラム群の第1の起動時に、前記プログラム群のうちの第1のプログラムよりも優先度が低い第2のプログラムの起動処理の進行が停止された状態で、前記第1のプログラムの起動処理を進行させ、該起動処理における一定期間ごとの前記第1のプログラムによるリソースの使用情報の履歴を示す第1の履歴情報を記憶する第1の手順と、
前記第1の起動時の後の前記プログラム群の第2の起動時における前記第1のプログラムの起動処理の期間において、前記第1の履歴情報に基づいて、前記リソースの使用情報が所定値に達していないことが特定される前記一定期間には、前記第2のプログラムの起動処理を進行させ、前記第1の履歴情報に基づいて、前記リソースの使用情報が前記所定値に達していることが特定される前記一定期間には、前記第2のプログラムの起動処理を進行させない第2の手順と、
を実行することを特徴とする起動処理方法。
Information processing device
A state in which the progress of the startup process of the second program having a lower priority than the first program in the program group is stopped at the first startup of the program group including the plurality of programs included in the information processing apparatus And a first procedure for storing first history information indicating a history of resource use information by the first program for each predetermined period in the startup process,
Based on the first history information, the resource usage information is set to a predetermined value during the first program activation process at the second activation time of the program group after the first activation time. During the certain period in which it is specified that the resource has not been reached, the startup process of the second program is advanced, and the resource usage information has reached the predetermined value based on the first history information. A second procedure in which the startup process of the second program is not allowed to proceed during the certain period of time specified by:
An activation processing method characterized by executing
前記第2の手順は、前記第2の起動時における前記第1のプログラムの起動処理において、前記一定期間ごとの前記第1のプログラムによる前記リソースの使用情報の履歴を示す第2の履歴情報を記憶し、
前記情報処理装置が、
前記第2の起動時の後の前記プログラム群の第3の起動時において、前記第2のプログラムの起動処理の進行が停止された状態で、前記第1のプログラムの起動処理を進行させ、該起動処理における一定期間ごとのリソースの使用情報の履歴を示す第3の履歴情報であって、前記第1の履歴情報が示す前記第1のプログラムによる前記リソースの使用情報が、前記第2の履歴情報が示す前記第1のプログラムによる前記リソースの使用情報よりも大きい前記一定期間については、当該一定期間を分割した分割期間ごとに、前記リソースの使用情報を示す前記第3の履歴情報を記憶する第3の手順と、
前記第3の起動時の後の前記プログラム群の第4の起動時における前記第1のプログラムの起動処理の期間において、前記第3の履歴情報に基づいて、前記リソースの使用情報が所定値に達していないことが特定される前記一定期間又は前記分割期間には、前記第2のプログラムの起動処理を進行させ、前記第1の履歴情報に基づいて、前記リソースの使用情報が前記所定値に達していることが特定される前記一定期間又は前記分割期間には、前記第2のプログラムの起動処理を進行させない第4の手順と、
を実行することを特徴とする請求項5記載の起動処理方法。
In the second procedure, the second history information indicating the history of the resource use information by the first program for each predetermined period in the startup process of the first program at the time of the second startup. Remember,
The information processing apparatus is
In the third startup of the program group after the second startup, the startup process of the first program is advanced in a state where the progress of the startup process of the second program is stopped, Third history information indicating a history of resource usage information for each fixed period in the startup process, wherein the resource usage information by the first program indicated by the first history information is the second history. For the certain period larger than the resource usage information by the first program indicated by the information, the third history information indicating the resource usage information is stored for each divided period obtained by dividing the certain period. A third procedure;
Based on the third history information, the resource usage information is set to a predetermined value during the first program startup process at the time of the fourth startup of the program group after the third startup. During the predetermined period or the divided period specified as not reached, the second program activation process proceeds, and based on the first history information, the resource usage information reaches the predetermined value. A fourth procedure that does not allow the second program activation process to proceed during the certain period or the divided period specified to have reached,
The start processing method according to claim 5, wherein:
前記第4の手順は、前記第4の起動時における前記第1のプログラムの起動処理の期間において、前記第2の起動時における前記第1のプログラムの起動処理の期間において前記第2のプログラムの起動処理が進行されたいずれかの前記一定期間に係る前記分割期間について、前記第2のプログラムの起動処理を進行させない、
ことを特徴とする請求項6記載の起動処理方法。
In the fourth procedure, the second program is activated during the first program activation process during the second activation, and during the second program activation process during the second activation. The startup process of the second program is not advanced for the divided period related to any one of the fixed periods for which the startup process has proceeded.
The activation processing method according to claim 6.
前記リソースの使用情報は、前記リソースの使用率である、
ことを特徴とする請求項5乃至7いずれか一項記載の起動処理方法。
The resource usage information is a usage rate of the resource.
The activation processing method according to any one of claims 5 to 7.
情報処理装置に、
当該情報処理装置が有する複数のプログラムからなるプログラム群の第1の起動時に、前記プログラム群のうちの第1のプログラムよりも優先度が低い第2のプログラムの起動処理の進行が停止された状態で、前記第1のプログラムの起動処理を進行させ、該起動処理における一定期間ごとの前記第1のプログラムによるリソースの使用情報の履歴を示す第1の履歴情報を記憶する第1の手順と、
前記第1の起動時の後の前記プログラム群の第2の起動時における前記第1のプログラムの起動処理の期間において、前記第1の履歴情報に基づいて、前記リソースの使用情報が所定値に達していないことが特定される前記一定期間には、前記第2のプログラムの起動処理を進行させ、前記第1の履歴情報に基づいて、前記リソースの使用情報が前記所定値に達していることが特定される前記一定期間には、前記第2のプログラムの起動処理を進行させない第2の手順と、
を実行させることを特徴とする起動処理プログラム。
In the information processing device,
A state in which the progress of the startup process of the second program having a lower priority than the first program in the program group is stopped at the first startup of the program group including the plurality of programs included in the information processing apparatus And a first procedure for storing first history information indicating a history of resource use information by the first program for each predetermined period in the startup process,
Based on the first history information, the resource usage information is set to a predetermined value during the first program activation process at the second activation time of the program group after the first activation time. During the certain period in which it is specified that the resource has not been reached, the startup process of the second program is advanced, and the resource usage information has reached the predetermined value based on the first history information. A second procedure in which the startup process of the second program is not allowed to proceed during the certain period of time specified by:
An activation processing program characterized by causing
前記第2の手順は、前記第2の起動時における前記第1のプログラムの起動処理において、前記一定期間ごとの前記第1のプログラムによる前記リソースの使用情報の履歴を示す第2の履歴情報を記憶し、
前記情報処理装置に、
前記第2の起動時の後の前記プログラム群の第3の起動時において、前記第2のプログラムの起動処理の進行が停止された状態で、前記第1のプログラムの起動処理を進行させ、該起動処理における一定期間ごとのリソースの使用情報の履歴を示す第3の履歴情報であって、前記第1の履歴情報が示す前記第1のプログラムによる前記リソースの使用情報が、前記第2の履歴情報が示す前記第1のプログラムによる前記リソースの使用情報よりも大きい前記一定期間については、当該一定期間を分割した分割期間ごとに、前記リソースの使用情報を示す前記第3の履歴情報を記憶する第3の手順と、
前記第3の起動時の後の前記プログラム群の第4の起動時における前記第1のプログラムの起動処理の期間において、前記第3の履歴情報に基づいて、前記リソースの使用情報が所定値に達していないことが特定される前記一定期間又は前記分割期間には、前記第2のプログラムの起動処理を進行させ、前記第1の履歴情報に基づいて、前記リソースの使用情報が前記所定値に達していることが特定される前記一定期間又は前記分割期間には、前記第2のプログラムの起動処理を進行させない第4の手順と、
を実行させることを特徴とする請求項9記載の起動処理プログラム。
In the second procedure, the second history information indicating the history of the resource use information by the first program for each predetermined period in the startup process of the first program at the time of the second startup. Remember,
In the information processing apparatus,
In the third startup of the program group after the second startup, the startup process of the first program is advanced in a state where the progress of the startup process of the second program is stopped, Third history information indicating a history of resource usage information for each fixed period in the startup process, wherein the resource usage information by the first program indicated by the first history information is the second history. For the certain period larger than the resource usage information by the first program indicated by the information, the third history information indicating the resource usage information is stored for each divided period obtained by dividing the certain period. A third procedure;
Based on the third history information, the resource usage information is set to a predetermined value during the first program startup process at the time of the fourth startup of the program group after the third startup. During the predetermined period or the divided period specified as not reached, the second program activation process proceeds, and based on the first history information, the resource usage information reaches the predetermined value. A fourth procedure that does not allow the second program activation process to proceed during the certain period or the divided period specified to have reached,
The startup processing program according to claim 9, wherein:
前記第4の手順は、前記第4の起動時における前記第1のプログラムの起動処理の期間において、前記第2の起動時における前記第1のプログラムの起動処理の期間において前記第2のプログラムの起動処理が進行されたいずれかの前記一定期間に係る前記分割期間について、前記第2のプログラムの起動処理を進行させない、
ことを特徴とする請求項10記載の起動処理プログラム。
In the fourth procedure, the second program is activated during the first program activation process during the second activation, and during the second program activation process during the second activation. The startup process of the second program is not advanced for the divided period related to any one of the fixed periods for which the startup process has proceeded.
The startup processing program according to claim 10.
前記リソースの使用情報は、前記リソースの使用率である、
ことを特徴とする請求項9乃至11いずれか一項記載の起動処理プログラム。
The resource usage information is a usage rate of the resource.
12. The activation process program according to claim 9, wherein the activation process program is any one of claims 9 to 11.
JP2015031675A 2015-02-20 2015-02-20 Information processing apparatus, activation processing method, and activation processing program Active JP6435911B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015031675A JP6435911B2 (en) 2015-02-20 2015-02-20 Information processing apparatus, activation processing method, and activation processing program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015031675A JP6435911B2 (en) 2015-02-20 2015-02-20 Information processing apparatus, activation processing method, and activation processing program

Publications (2)

Publication Number Publication Date
JP2016153952A true JP2016153952A (en) 2016-08-25
JP6435911B2 JP6435911B2 (en) 2018-12-12

Family

ID=56761357

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015031675A Active JP6435911B2 (en) 2015-02-20 2015-02-20 Information processing apparatus, activation processing method, and activation processing program

Country Status (1)

Country Link
JP (1) JP6435911B2 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004030601A (en) * 2002-04-26 2004-01-29 Ricoh Co Ltd Device and method of making application start judgment by resource information
JP2009020609A (en) * 2007-07-10 2009-01-29 Ricoh Co Ltd Image forming apparatus, program control method, and program

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004030601A (en) * 2002-04-26 2004-01-29 Ricoh Co Ltd Device and method of making application start judgment by resource information
JP2009020609A (en) * 2007-07-10 2009-01-29 Ricoh Co Ltd Image forming apparatus, program control method, and program

Also Published As

Publication number Publication date
JP6435911B2 (en) 2018-12-12

Similar Documents

Publication Publication Date Title
JP5445669B2 (en) Multi-core system and startup method
TWI460659B (en) Lock windows for reducing contention
US9529625B2 (en) Method and system for providing stack memory management in real-time operating systems
JP6060756B2 (en) Frequency control device, frequency control method, and frequency control program
JP6263981B2 (en) Information processing apparatus, information processing apparatus activation method, and program
JP2010044784A (en) Scheduling request in system
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
US20170357450A1 (en) Reserved memory in memory management system
CN107291557B (en) Service processing method and device
JP6372262B2 (en) Printing apparatus and program
JP4523910B2 (en) Parallel processing device, parallel processing method, and parallel processing program
US10649934B2 (en) Image processing apparatus, notification monitoring program, and notification monitoring method
JP6435911B2 (en) Information processing apparatus, activation processing method, and activation processing program
JP5641128B2 (en) Multi-core processor system, multi-core processor system control method, and multi-core processor system control program
JP2011018281A (en) System, method and program for managing job execution
JP2008225641A (en) Computer system, interrupt control method and program
US10191425B2 (en) Device and control method
CN108280113B (en) Service Worker control method and device and electronic terminal
JP5703799B2 (en) Computer, control method and program
CN111124655A (en) Network request scheduling method, terminal device and storage medium
WO2012081079A1 (en) Information processing device, method of controlling power, and power control program
JP6702681B2 (en) Information processing apparatus, information processing method, and program
US20160292010A1 (en) Electronic device that ensures simplified competition avoiding control, method and recording medium
CN110968418A (en) Signal-slot-based large-scale constrained concurrent task scheduling method and device
CN116089049B (en) Asynchronous parallel I/O request-based process synchronous scheduling method, device and equipment

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180119

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180810

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180814

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181003

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20181016

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181029

R151 Written notification of patent or utility model registration

Ref document number: 6435911

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151