JP2016153952A - Information processor, start processing method, and start processing program - Google Patents
Information processor, start processing method, and start processing program Download PDFInfo
- 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
Links
Images
Abstract
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は、本発明の実施の形態における画像形成装置のハードウェア構成例を示す図である。図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
コントローラ11は、CPU111、RAM112、ROM113、HDD114、及びNVRAM115等を有する。ROM113には、各種のプログラムやプログラムによって利用されるデータ等が記憶されている。RAM112は、プログラムをロードするための記憶領域や、ロードされたプログラムのワーク領域等として用いられる。CPU111は、RAM112にロードされたプログラムを処理することにより、各種の機能を実現する。HDD114には、プログラムやプログラムが利用する各種のデータ等が記憶される。NVRAM115には、各種の設定情報等が記憶される。
The
スキャナ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
図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
アプリ120は、アプリケーションプログラムである。各アプリ120は、例えば、画像形成装置10が有するハードウェア資源(ハードウェアリソース)等を利用して、ユーザにとって利便性の高いサービスを提供する。本実施の形態において、アプリ120は、優先アプリ120a、従属アプリ120b、及び一般アプリ120cに分類される。
The
優先アプリ120aは、複数のアプリ120の中で最初に操作パネル15への表示権限を占有する一つのアプリ120である。複数のアプリ120が有る場合、いずれを優先アプリ120aとするかについては、例えば、画像形成装置10の管理者等によって設定される。例えば、NVRAM115又はHDD114等に、優先アプリ120aとするアプリ120の識別情報が記憶されている。
The
従属アプリ120bは、優先アプリ120aと連携して、ユーザにサービスを提供するアプリ120である。例えば、優先アプリ120aが、ユーザからの指示に応じて印刷又はスキャンを実行するアプリ120である場合に、印刷又はスキャンに関する画像処理を実行するアプリ120が、従属アプリ120bであってもよい。優先アプリ120aは、従属アプリ120bの機能を使用するため、優先アプリ120aのサービスをユーザに提供するためには、優先アプリ120aと従属アプリ120bとの双方の起動が完了している必要が有る。なお、従属アプリ120bは、複数のアプリ120であってもよい。また、従属アプリ120b間において従属関係が存在してもよい。
The
一般アプリ120cは、優先アプリ120a及び従属アプリ120bとは依存関係を有さないアプリ120である。すなわち、一般アプリ120cと、優先アプリ120a及び従属アプリ120bとの挙動は相互に独立しており、一方のプロセスは他方のプロセスとの待ち合わせを行うことはない。但し、優先アプリ120a及び従属アプリ120bと一般アプリ120cとは、それぞれの起動時をも含めて、CPU111等のハードウェアリソース(ハードウェア資源)を共有する。なお、一般アプリ120cは、複数のアプリ120であってもよい。また、一般アプリ120cの間において従属関係が存在してもよい。
The
サービス部130は、画像形成装置10を制御するためのインタフェース(API(Application Program Interface))をアプリ120に提供する。サービス部130は、呼び出されたインタフェースに対応する処理を実行する。例えば、サービス部130は、省エネに関するインタフェースや、スキャン、印刷等に関するインタフェース等を有する。サービス部130は複数のプロセスによって構成されてもよい。なお、各アプリ120は、サービス部130の機能を利用するため、サービス部130の起動処理は、各アプリ120の起動処理が完了する前に完了していることが望ましい。
The
起動制御部140は、サービス部130及び各アプリ120等の各部の起動処理の開始、起動処理の停止、及び起動処理の再開等を制御する。起動制御部140は、各部の動作を制御可能なプロセス・スレッドスケジューラのような、OS(Operating System)の一部によって実現されてもよい。また、或る一つのアプリ120が、起動制御部140であってもよい。起動制御部140がアプリ120である場合には、サービス部130及び他の各アプリ120が、自身の起動を停止・再開できるインタフェースを有しており、起動制御部140が、当該インタフェースを介して、各部の動作を制御してもよい。
The
本実施の形態において、起動制御部140は、画像形成装置10の起動時における、サービス部130及び各アプリ120の起動処理に関して、第1の仮起動、第2の仮起動、及び通常起動というモードを有する。第1の仮起動では、サービス部130、優先アプリ120a及び従属アプリ120b、並びに一般アプリ120cのそれぞれのプログラムに関して、直列的に起動処理が実行される。直列的実行されるそれぞれの起動処理において、一定期間ごとのCPU111の使用率(以下、「リソース使用率」という。)を示す履歴情報(リソース使用率の時系列データ)が生成され、生成された履歴情報が第1の起動履歴記憶部162に記憶される。
In the present embodiment, the
第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
通常起動では、第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
なお、第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
なお、起動処理とは、プログラムが起動されてから定常状態に至るまでに実行される初期化処理等を含む処理である。定常状態とは、プログラムに係る機能を提供可能な状態である。例えば、何らかの処理の契機となるイベントの発生待ちの状態が定常状態の一例である。 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
以下、画像形成装置10が実行する処理手順について説明する。図3は、画像形成装置の起動時の処理手順の一例を説明するためのフローチャートである。
Hereinafter, a processing procedure executed by the
画像形成装置10が起動時において、起動制御部140は、サービス部130及び各アプリ120の起動処理の開始前に、起動処理状態記憶部161を参照して、画像形成装置10の起動処理状態を確認する(S101)。
When the
図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
仮起動終了フラグは、第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
続いて、ステップ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
続いて、起動制御部140は、変数t1及びt2のそれぞれに対し、0を代入する。変数t1は、サービス部130の起動処理の経過時間を記憶するための変数である。変数t2は、優先アプリ120a及び従属アプリ120bの起動処理の経過時間を記憶するための変数である。なお、第1の仮起動処理では、それぞれの起動処理が直列的に実行されるが、優先アプリ120a及び従属アプリ120bの起動処理については、同時に(並列的に)実行される。優先アプリ120a及び従属アプリ120bは、実質的に一体不可分の関係に有るからである。
Subsequently, the
続いて、起動制御部140は、サービス部130の起動処理を再開させる(S203)。その結果、サービス部130の起動処理が進行を開始する。続いて、起動処理は、サンプリング幅の判定処理を実行する(S204)。サンプリング幅とは、リソース使用率を計測又は観測する一定期間の時間幅をいう。なお、当該一定期間を「サンプリング区間」という。サンプリング幅の判定処理の詳細については後述されるが、1回目の第1の仮起動において、サンプリング幅は、固定的に1000(ミリ秒)である。以下、サンプリング幅を、「Δt」によって表現する。
Subsequently, the
続いて、起動制御部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
サービス部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
また、ステップ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
優先アプリ120a及び従属アプリ120bの双方の起動処理が完了すると(S213でYes)、起動制御部140は、今回の第1の仮起動において、第1の起動履歴記憶部162に記憶された情報を補正する(S215)。補正前において、すなわち、優先アプリ120a及び従属アプリ120bの双方の起動処理が完了した時点(S213でYes)において、第1の起動履歴記憶部162には、例えば、図6に示されるような情報が記憶されている。
When the activation processing of both the
図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
また、(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
なお、第1の仮起動では、サービス部130、優先アプリ120a及び従属アプリ120b、並びに一般アプリ120cの起動処理が直列的に実行されるため、(1)に示される情報は、サービス部130が「必要とする」リソース使用率の時系列の情報であるといえる。また、(2)は、優先アプリ120a及び従属アプリ120bが「必要とする」リソース使用率の時系列の情報であるといえる。
In the first provisional activation, the activation process of the
ステップ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
図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
図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
次のサンプリング区間(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
次のサンプリング区間(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
当該余剰分を持ち越すために、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
なお、優先アプリ120a及び従属アプリ120bの双方の起動処理が完了した時点において、ユーザは、画像形成装置10において、優先アプリ120a及び従属アプリ120bを利用することができる。すなわち、第1の仮起動は、サービス部130及び各アプリ120の起動処理の実行後における画像形成装置10の動作に対して、特段の影響は及ぼさない。したがって、第1の仮起動が行われた場合であっても、ユーザは、通常通り画像形成装置10を利用することができる。この点は、第2の仮起動についても同様である。
Note that when the activation processing of both the
続いて、図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
ステップS305において、起動制御部140は、t1〜t1+Δtにおけるサービス部130のリソース使用率を、起動処理状態記憶部161のサービス部起動履歴情報(図7の(1))から取得し、取得された値を変数Rに代入する。t1が0である場合、図4の(1)の0〜1000に対する「60%」が取得される。
In step S305, the
続いて、起動制御部140は、R+Cの値が100%未満であるか、又はサービス部130の起動処理が完了済みであるか否かを判定する(S306)。ここで、R+Cの値が100%未満であるかという条件は、優先アプリ120a及び従属アプリ120bの起動処理に対してリソース(CPU111)を割り当てる余裕の有無を判定するための条件である。Cは、図7において説明した、コンテキストスイッチによるリソース使用率の推定値(C=10%)である。すなわち、優先アプリ120a及び従属アプリ120bの起動処理が再開された場合、CPU111に関してコンテキストスイッチが発生するため、当該コンテキストスイッチのコストを考慮して、上記の余裕の有無が判定される。
Subsequently, the
また、サービス部130の起動処理が完了済みであるか否かが判定されるのは、サービス部130の起動処理が完了済みであれば、R+Cの値に関わらず、リソースは、優先アプリ120a及び従属アプリ120bの起動処理に優先的に割り当てられるべきだからである。
Whether or not the activation process of the
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
ここで、サービス部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
続いて、起動制御部140は、t2〜t2+Δtのサンプリング区間に関して第1の起動履歴記憶部162に記憶されている優先アプリ起動履歴情報(図7の(2))に示される、優先アプリ120a及び従属アプリ120bのリソース使用率を変数Rに加算した値を、変数Rに代入する(S308)。ステップS308が最初に実行される場合、0〜1000(ミリ秒)における優先アプリ120a及び従属アプリ120bのリソース使用率が、変数Rに代入される。なお、第1の起動履歴記憶部162に記憶されている情報に関して、第2の仮起動において使用されるのは、補正後の情報である。
Subsequently, the
一方、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
続いて、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
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
一方、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
ステップS311又はS312に続いて、起動制御部140は、Δt分の時間の経過を待機する(S313)。なお、ステップS304〜S312までの処理時間の経過は、便宜上、無視して考える。したがって、ステップS313では、ステップS304の開始時からのΔt分の時間の経過が待機される。
Following step S311 or S312, the
続いて、起動制御部140は、t1〜t1+Δtのサンプリング区間における、サービス部130、優先アプリ120a及び従属アプリ120b、並びに一般アプリ120cのそれぞれのリソース使用率を、リソース管理部150から取得し、取得された値を第2の起動履歴記憶部163に記憶する(S314)。続いて、起動制御部140は、t1+Δtをt1に代入する(S315)。続いて、起動制御部140は、t2+Δtをt2に代入する(S316)。
Subsequently, the
続いて、起動制御部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
ステップ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
第2の仮起動の終了時において、第2の起動履歴記憶部163には、例えば、図9に示されるような情報が記憶される。
At the end of the second provisional activation, the second activation
図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
(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
例えば、図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
また、図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
続いて、図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
一方、第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
続いて、起動制御部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
ステップ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
続いて、起動制御部140は、最後の第2の仮起動時に第2起動状態記憶部に記憶された、サービス部130の対象区間に関するリソース使用率を変数R12に代入する(S407)。例えば、対象区間がt1=0〜1000であれば、図9の(1)より、75%が取得される。
Subsequently, the
続いて、起動制御部140は、R11>R21であるかを判定する(S408)。R11>R21は、対象区間におけるサービス部130によるリソース使用率が、第1の仮起動時よりも第2の仮起動時の方が小さいか否かの判定である。
Subsequently, the
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
一方、ステップ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
続いて、起動制御部140は、最後の第2の仮起動時において第2起動状態記憶部に記憶された、優先アプリ120a及び従属アプリ120bの対象区間に関するリソース使用率を変数R22に代入する(S411)。例えば、対象区間がt2=2000〜3000であれば、図9の(1)より、100%がR22に代入される。
Subsequently, the
続いて、起動制御部140は、R21>R21であるかを判定する(S412)。R21>R21は、対象区間における優先アプリ120a及び従属アプリ120bによるリソース使用率が、第1の仮起動時よりも第2の仮起動時の方が小さいか否かの判定である。
Subsequently, the
R21>R22である場合(S412でYes)、起動制御部140は、Δtを2で除することにより得られる値を、サンプリング幅とする(S413)。すなわち、サンプリング区間が分割される。一方、R21≦R22である場合(S412でNo)、起動制御部140は、Δtの値を変更しない。したがって、この場合、前回の対象区間と同じサンプリング幅が、今回の対象区間に対して適用される。
When R21> R22 (Yes in S412), the
ステップ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
第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
サンプリング区間ごとのリソース使用率は、当該サンプリング区間における平均値である。すなわち、瞬間的なリソース使用率は、当該サンプリング区間内において変動する。例えば、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
本実施の形態では、上記のような考えに基づいて、優先アプリ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
換言すれば、サービス部130の起動処理の期間に含まれるサンプリング区間が分割された場合、前回の第2の仮起動時において、当該サンプリング区間において、優先アプリ120a及び従属アプリ120bの起動処理が再開されていたとしても、いずれかの分割区間(分割期間)においては、当該起動処理が停止される。同様に、サービス部130の起動処理の完了後であって、優先アプリ120a及び従属アプリ120bの動処理の期間に含まれるサンプリング区間が分割された場合、前回の第2の仮起動時において、当該サンプリング区間において、一般アプリ120cの起動処理が再開されていたとしても、いずれかの分割区間においては、当該起動処理が停止される。
In other words, when the sampling period included in the activation process period of the
なお、いずれかのサンプリング区間に関して、ステップ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
続いて、図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
続いて、起動制御部140は、取得された情報に基づいて、優先アプリ120a及び従属アプリ120b、並びに一般アプリ120cの起動処理を再開又は停止させる(S505)。続いて、起動制御部140は、第2の起動履歴記憶部163に記憶されている起動制御情報において、次のサンプリング区間に対応する情報が有るか否かを判定する(S506)。次のサンプリング区間が有る場合(S506でYes)、起動制御部140は、対象区間のサンプリング幅分の時間が経過するのを待機する(S507)。当該時間が経過すると(S507でYes)、起動制御部140は、t1に対して、対象区間のサンプリング幅を加算し(S508)ステップS504以降を繰り返す。
Subsequently, the
一方、ステップ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
以上の処理が繰り返されることで、各プログラムの起動処理を並列化しつつ、優先度が相対的に低いプログラムの起動処理について、優先度が相対的に高いプログラムの起動処理が早期に終了させることができるような再開及び停止のタイミングを特定することができる。その結果、サービス部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
なお、第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
また、本実施の形態では、第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
なお、本実施の形態は、CPU111以外のリソースに関して適用されてもよい。例えば、I/Oバッファの使用率や、メモリの使用率に関して本実施の形態が適用されてもよい。
Note that this embodiment may be applied to resources other than the
また、本実施の形態は、画像形成装置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
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。 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
112 RAM
113 ROM
114 HDD
115 NVRAM
120
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.
ことを特徴とする請求項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の起動時の後の前記プログラム群の第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:
ことを特徴とする請求項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の起動時の後の前記プログラム群の第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:
ことを特徴とする請求項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.
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)
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 |
-
2015
- 2015-02-20 JP JP2015031675A patent/JP6435911B2/en active Active
Patent Citations (2)
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 |