JP6919399B2 - Judgment program, information processing device, and judgment method - Google Patents

Judgment program, information processing device, and judgment method Download PDF

Info

Publication number
JP6919399B2
JP6919399B2 JP2017152596A JP2017152596A JP6919399B2 JP 6919399 B2 JP6919399 B2 JP 6919399B2 JP 2017152596 A JP2017152596 A JP 2017152596A JP 2017152596 A JP2017152596 A JP 2017152596A JP 6919399 B2 JP6919399 B2 JP 6919399B2
Authority
JP
Japan
Prior art keywords
information
time
completed
executed
difference
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.)
Active
Application number
JP2017152596A
Other languages
Japanese (ja)
Other versions
JP2019032657A (en
Inventor
矢野 公規
公規 矢野
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2017152596A priority Critical patent/JP6919399B2/en
Publication of JP2019032657A publication Critical patent/JP2019032657A/en
Application granted granted Critical
Publication of JP6919399B2 publication Critical patent/JP6919399B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Description

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

複数のプロセスが連携して動作するシステムでは、プロセス同士が情報をやり取りする依存関係を持つことがある。そして、プロセスが依存関係を持つ場合、プロセスの起動は依存関係に沿った順序で実行される。例えば、或るプロセスが実行中に別のプロセスにアクセスしながら動作する場合、そのプロセスの起動は、別のプロセスの起動が完了するまで待機され、別のプロセスの起動が完了すると実行される。 In a system in which multiple processes operate in cooperation with each other, the processes may have a dependency relationship for exchanging information with each other. Then, if the process has a dependency, the process startup is executed in the order according to the dependency. For example, if a process operates while accessing another process while it is running, the startup of that process waits until the startup of another process is completed, and is executed when the startup of another process is completed.

例えば、PaaS(Platform as a Service)基盤などのプラットフォームでは、プロセスの起動完了の検出するための監視プロセスがある。監視プロセスは、例えば、監視対象のプロセスに対して作成された設定情報の設定に基づいて、監視対象のプロセスの起動や起動完了の検出を行う。例えば、監視対象のプロセスが、起動の完了に伴いポートを開放したり、起動完了時に特定のログを出力したりする場合、設定情報に開放されるポートの情報や、起動完了時に出力される特定のログの情報が登録される。そして、監視プロセスは、例えば、設定情報に登録されているポートを監視してポートの開放を検出したり、ログを監視して設定情報に登録されている特定のログが出力されることを検出したりして、プロセスの起動の完了を検出する。 For example, on a platform such as a Platform as a Service (PaaS) platform, there is a monitoring process for detecting the completion of process startup. The monitoring process, for example, detects the start of the monitored process and the completion of the start based on the setting of the setting information created for the monitored process. For example, when the monitored process opens a port when the startup is completed or outputs a specific log when the startup is completed, the port information released in the setting information and the specific output when the startup is completed Log information is registered. Then, the monitoring process monitors, for example, the port registered in the setting information to detect the opening of the port, or monitors the log and detects that a specific log registered in the setting information is output. Detect the completion of process startup.

特開2010−257150号公報Japanese Unexamined Patent Publication No. 2010-257150 特開2010−182016号公報Japanese Unexamined Patent Publication No. 2010-182016 特開平11−327951号公報Japanese Unexamined Patent Publication No. 11-327951

しかしながら、例えば、プロセスの起動の完了を検出するために、プロセスごとの仕様に応じて設定情報を作成すると、作業に手間がかかっていた。 However, for example, when setting information is created according to the specifications of each process in order to detect the completion of process startup, it takes time and effort.

1つの側面では、本発明は、プロセスの起動完了を検出するための汎用性の高い技術を提供することを目的とする。 In one aspect, it is an object of the present invention to provide a versatile technique for detecting the completion of process startup.

本発明の一つの態様の判定プログラムは、起動指示に応じて起動したプロセスが第1の時刻に実行する処理の内容を示す第1の情報と、プロセスが第2の時刻に実行する処理の内容を示す第2の情報とを取得し、取得した第1の情報及び第2の情報の比較結果に基づき、プロセスの起動処理が完了したか否かを判定する、処理をコンピュータに実行させる。 The determination program according to one aspect of the present invention includes first information indicating the content of the process executed by the process started in response to the start instruction at the first time, and the content of the process executed by the process at the second time. The computer is made to execute the process of acquiring the second information indicating the above and determining whether or not the process start process is completed based on the comparison result of the acquired first information and the second information.

プロセスの起動完了を検出するための汎用性の高い技術を提供することができる。 It is possible to provide a highly versatile technique for detecting the completion of process startup.

プロセス間の依存関係を例示する図である。It is a figure which illustrates the dependency relationship between processes. 複数のプロセスが連携して動作するシステムを例示する図である。It is a figure which illustrates the system which a plurality of processes operate in cooperation with each other. 実施形態に係る情報処理装置のブロック構成を例示する図である。It is a figure which illustrates the block structure of the information processing apparatus which concerns on embodiment. スレッドダンプの差分を例示する図である。It is a figure which illustrates the difference of a thread dump. スレッドダンプの差分の時間変化を例示する図である。It is a figure which illustrates the time change of the difference of a thread dump. 実施形態に係るプロセスの起動完了判定処理を例示する図である。It is a figure which illustrates the start completion determination process of the process which concerns on embodiment. 設定情報を例示する図である。It is a figure which illustrates the setting information. 変形例に係るプロセスの起動完了判定処理を例示する図である。It is a figure which illustrates the start completion determination process of the process which concerns on the modification. 実施形態に係る情報処理装置を実現するためのコンピュータのハードウェア構成を例示する図である。It is a figure which illustrates the hardware configuration of the computer for realizing the information processing apparatus which concerns on embodiment.

以下、図面を参照しながら、本発明のいくつかの実施形態について詳細に説明する。なお、複数の図面において対応する要素には同一の符号を付す。 Hereinafter, some embodiments of the present invention will be described in detail with reference to the drawings. The same reference numerals are given to the corresponding elements in the plurality of drawings.

図1は、プロセス間の依存関係を例示する図である。図1において、プログラムBを実行することで動作するプロセスBは、プログラムAを実行することで動作するプロセスAにアクセスしながら動作する。ここで、プロセスAの起動開始からプロセスAの起動処理が完了するまでの期間では、プロセスBはプロセスAにアクセスできず、プロセスAから情報を取得することができない。そのため、プロセスAの起動が完了するまでプロセスBの起動は待機され、プロセスAの起動が完了してからプロセスBの起動が実行されることが望ましい。なお、起動処理が完了するとは、プロセスが、例えば、他のプロセスなどの外部からのリクエストを受け付け可能な状態になることであってよい。 FIG. 1 is a diagram illustrating the dependencies between processes. In FIG. 1, the process B that operates by executing the program B operates while accessing the process A that operates by executing the program A. Here, during the period from the start of the start of the process A to the completion of the start process of the process A, the process B cannot access the process A and cannot acquire information from the process A. Therefore, it is desirable that the start of the process B is waited until the start of the process A is completed, and the start of the process B is executed after the start of the process A is completed. It should be noted that the completion of the start-up process may mean that the process is in a state where it can accept requests from the outside such as other processes.

そのため、プロセスに依存関係がある場合に、プロセスの起動が完了したことを検出することが行われている。例えば、PaaS基盤などのように複数のプロセスが連携して動作するシステムでは、監視プロセスがプロセスを監視し、プロセスの起動が完了したことを検出する。 Therefore, when the process has a dependency, it is detected that the start of the process is completed. For example, in a system such as a PaaS platform in which a plurality of processes operate in cooperation with each other, the monitoring process monitors the process and detects that the start of the process is completed.

図2は、複数のプロセスが連携して動作するシステム200を例示する図である。図2には、監視プロセス201と、複数のプロセス202とが示されている。複数のプロセス202の間には、プロセス同士で情報をやり取りする依存関係がある。そのため、プロセス202の起動は依存関係に沿った順序で行われる。そして、プロセス202には、設定情報が用意されていてよい。監視プロセス201は、設定情報を参照し、設定情報に登録された内容に従って、監視対象のプロセス202の起動コマンドを実行してプロセスを起動したり、起動に失敗した場合の起動のリトライを制御したりする。 FIG. 2 is a diagram illustrating a system 200 in which a plurality of processes operate in cooperation with each other. FIG. 2 shows a monitoring process 201 and a plurality of processes 202. There is a dependency between the plurality of processes 202 for exchanging information between the processes. Therefore, the process 202 is started in the order according to the dependency. Then, the process 202 may be provided with the setting information. The monitoring process 201 refers to the setting information and executes a start command of the process 202 to be monitored to start the process according to the contents registered in the setting information, or controls the retry of the start when the start fails. Or

また、例えば、監視プロセス201は、プロセス202に対して作成された設定情報の設定に基づいて、プロセスの起動の完了を監視する。一例として、プロセスが、起動の完了に伴いポートを開放することがある。この様なポートを開放するプロセス202が起動完了の監視対象である場合、監視プロセス201はポートを監視し、ポートの開放を検出するとプロセス202の起動が完了したと判定してよい。或いは、例えば、プロセスが、起動の完了に伴い所定のログを出力することがある。この様な所定のログを出力するプロセスが起動完了の監視対象である場合、監視プロセス201は、プロセス202からのログの出力を監視し、所定のログが出力されたことを検出するとプロセスの起動が完了したと判定してよい。例えば、以上のようにして、監視プロセス201は、設定情報の設定に従って、監視対象のプロセス202の起動の完了を検出することができる。 Further, for example, the monitoring process 201 monitors the completion of process startup based on the setting of the setting information created for the process 202. As an example, a process may open a port upon completion of startup. When the process 202 for opening such a port is the monitoring target for the completion of activation, the monitoring process 201 may monitor the port, and when the opening of the port is detected, it may be determined that the activation of the process 202 is completed. Alternatively, for example, the process may output a predetermined log as the startup is completed. When the process that outputs such a predetermined log is the monitoring target of the start completion, the monitoring process 201 monitors the output of the log from the process 202, and when it detects that the predetermined log has been output, the process is started. May be determined to be complete. For example, as described above, the monitoring process 201 can detect the completion of the activation of the process 202 to be monitored according to the setting of the setting information.

しかしながら、こうしたポートの開放やログの出力などのプロセス202の起動完了を示す情報は、プロセス202ごとに異なっていることがある。そのため、プロセス202ごとに設定情報を用意することになり、煩雑な作業となっている。また、プロセス202によっては、プロセス202の起動完了を示す適切な情報の取得が難しいこともある。そのため、プロセス202の起動完了を判定するための更なる技術の提供が望まれている。以下、実施形態を更に詳細に説明する。 However, the information indicating the completion of starting the process 202, such as opening the port and outputting the log, may be different for each process 202. Therefore, setting information is prepared for each process 202, which is a complicated work. Further, depending on the process 202, it may be difficult to obtain appropriate information indicating that the process 202 has been started. Therefore, it is desired to provide a further technique for determining the completion of starting the process 202. Hereinafter, embodiments will be described in more detail.

図3は、実施形態に係るプロセス202の起動完了判定処理を実行する情報処理装置300のブロック構成を例示する図である。情報処理装置300は、例えば、サーバコンピュータ、パーソナルコンピュータ(PC)、ノートPC、スマートフォン、タブレット端末、及び携帯電話機などのコンピュータであってよい。情報処理装置300は、例えば、制御部301及び記憶部302を含む。制御部301は、例えば起動部311、取得部312、判定部313、及び実行部314を含む。情報処理装置300の記憶部302は、例えば、後述する設定情報700などの情報を記憶している。これらの各部の詳細及び記憶部302に格納されている情報の詳細については後述する。 FIG. 3 is a diagram illustrating a block configuration of the information processing apparatus 300 that executes the activation completion determination process of the process 202 according to the embodiment. The information processing device 300 may be, for example, a computer such as a server computer, a personal computer (PC), a notebook PC, a smartphone, a tablet terminal, and a mobile phone. The information processing device 300 includes, for example, a control unit 301 and a storage unit 302. The control unit 301 includes, for example, an activation unit 311, an acquisition unit 312, a determination unit 313, and an execution unit 314. The storage unit 302 of the information processing device 300 stores information such as setting information 700, which will be described later, for example. The details of each of these units and the details of the information stored in the storage unit 302 will be described later.

続いて、実施形態に係る起動完了判定処理について説明する。以下で述べる実施形態では、制御部301は、或る時刻に取得した監視対象のプロセスのスレッドダンプと、別の時刻に取得した監視対象のプロセスのスレッドダンプとを比較する。そして、制御部301は、比較の結果、スレッドダンプの時間変化が僅かになった場合に、プロセスの起動が完了したと判定する。なお、スレッドダンプとは、例えば、プロセス内で実行されている1又は複数のスレッド毎に、スレッドの内部で動作中の関数の情報を、関数の呼び出し関係を含めて出力したスナップショットのデータである。例えば、スレッドダンプには、スレッドごとに、実行中の関数や、関数内で実行中の命令を示す情報(例えば、プログラム内での行番号)が含まれていてよい。なお、関数は、例えば、メソッド、ファンクション、又はサブルーチンなどと呼ばれてもよい。 Subsequently, the activation completion determination process according to the embodiment will be described. In the embodiment described below, the control unit 301 compares the thread dump of the monitored process acquired at a certain time with the thread dump of the monitored process acquired at another time. Then, the control unit 301 determines that the start of the process is completed when the time change of the thread dump becomes small as a result of the comparison. Note that the thread dump is, for example, snapshot data that outputs information on a function operating inside a thread for each one or a plurality of threads executed in the process, including the function call relationship. be. For example, the thread dump may include information indicating the function being executed and the instruction being executed in the function (for example, the line number in the program) for each thread. The function may be called, for example, a method, a function, a subroutine, or the like.

図4は、スレッドダンプの差分を例示する図である。図4には、第1の時刻におけるスレッドダンプと、第2の時刻におけるスレッドダンプとが示されている。なお、第2の時刻は、第1の時刻から所定時間経過後の時刻であってよい。第1の時刻のスレッドダンプは、例えば、スレッド1において4つの関数を含んでおり、関数Dが関数Cを呼び出し、関数Cが関数Bを呼び出し、関数Bが関数Aを呼び出す呼び出し関係を表している。そして、第2の時刻になると関数Bが関数B’に変化しており、また、関数Aが関数A’に変化している。そのため、スレッド1では、関数Aと関数Bについて差分が抽出される。一方、関数C及び関数Dについては、第1の時刻から第2の時刻にかけて動作しておらず、スレッドダンプに差がないため、差分が出力されていない。制御部301は、例えば、この様に差分をスレッドごとに計算して、スレッドダンプの差分として用いてよい。スレッドダンプの差分を取ることで、制御部301は、プロセス内で呼び出されている関数のうち、実際に実行されており実行内容が変化している関数だけを抽出することができる。 FIG. 4 is a diagram illustrating the difference between thread dumps. FIG. 4 shows a thread dump at the first time and a thread dump at the second time. The second time may be a time after a predetermined time has elapsed from the first time. The thread dump at the first time contains, for example, four functions in thread 1, and represents a call relationship in which function D calls function C, function C calls function B, and function B calls function A. There is. Then, at the second time, the function B is changed to the function B', and the function A is changed to the function A'. Therefore, in thread 1, the difference is extracted for the function A and the function B. On the other hand, since the function C and the function D are not operating from the first time to the second time and there is no difference in the thread dump, the difference is not output. For example, the control unit 301 may calculate the difference for each thread in this way and use it as the difference of the thread dump. By taking the difference of the thread dump, the control unit 301 can extract only the functions that are actually executed and the execution contents are changed from the functions called in the process.

図5は、スレッドダンプの差分の時間変化を例示する図である。図5には、プロセスの起動開始後に4つの時刻(時刻1〜時刻4)において取得されたスレッドダンプの差分が示されている。例えば、時刻1のスレッドダンプの差分は、起動開始後に所定時間経過後の第1の時刻に取得されたスレッドダンプと、第1の時刻から更に所定時間経過後の第2の時刻におけるスレッドダンプとの差分であってよい。また、時刻2における差分は第2の時刻のスレッドダンプと、第2の時刻から所定時間経過後の第3の時刻のスレッドダンプとの差分であってよい。同様に、所定時間経過後のスレッドダンプと1つ前に取得されたスレッドダンプとの差分が時刻3及び時刻4で取得されてよい。 FIG. 5 is a diagram illustrating the time change of the difference of the thread dump. FIG. 5 shows the difference between the thread dumps acquired at four times (time 1 to time 4) after the start of the process. For example, the difference between the thread dumps at time 1 is the thread dump acquired at the first time after a predetermined time has elapsed after the start of startup and the thread dump at the second time after a predetermined time has elapsed from the first time. It may be the difference between. Further, the difference at time 2 may be the difference between the thread dump at the second time and the thread dump at the third time after a predetermined time has elapsed from the second time. Similarly, the difference between the thread dump after the lapse of a predetermined time and the thread dump acquired immediately before may be acquired at time 3 and time 4.

そして、図5に示す様に、スレッドダンプの差分は、起動開始後に時間の経過とともに少なくなっており、時刻4に示す例では差分が無くなっている。例えば、プロセスの起動時には、様々な関数が呼び出されるため、差分は大きくなる傾向にある。一方で、プロセスの起動が完了すると、他のプロセスからのリクエスト待ちの状態など、プロセスは何らかのアクションの待ち状態になることが多い。待ち状態では、スレッドダンプの差分が小さくなる傾向がある。そのため、スレッドダンプの差分が僅かになれば、プロセスの起動が完了したと判定することが可能である。なお、例えば、制御部301は、スレッドダンプの差分の量を示す値が所定の閾値以下となった場合に、スレッドダンプの差分が僅かになったと判定してよい。なお、スレッドダンプを所定時間毎に取得する例が述べられているが、実施形態はこれに限定されるものではなく、別の実施形態では、定期的なタイミングではなく不定期な所定のタイミングでスレッドダンプが取得されてもよい。 Then, as shown in FIG. 5, the difference in the thread dump decreases with the passage of time after the start of startup, and the difference disappears in the example shown at time 4. For example, when a process is started, various functions are called, so the difference tends to be large. On the other hand, when the start of a process is completed, the process is often in a state of waiting for some action, such as a state of waiting for a request from another process. In the wait state, the thread dump difference tends to be small. Therefore, if the difference between the thread dumps becomes small, it can be determined that the process startup is completed. For example, the control unit 301 may determine that the thread dump difference is small when the value indicating the amount of the thread dump difference is equal to or less than a predetermined threshold value. An example of acquiring a thread dump at predetermined time intervals has been described, but the embodiment is not limited to this, and in another embodiment, the thread dump is not periodically performed but at an irregular predetermined timing. A thread dump may be obtained.

図6は、実施形態に係るプロセス202の起動完了判定処理を例示する図である。制御部301は、例えば、プロセス202を起動する指示が入力されると、図6の動作フローを開始してよい。なお、プロセス202を起動する指示は、例えば、複数のプロセス202の起動を指示する起動指示であってよく、或いは、起動の完了後に通知するように設定された起動指示であってよい。 FIG. 6 is a diagram illustrating an activation completion determination process of the process 202 according to the embodiment. The control unit 301 may start the operation flow of FIG. 6 when, for example, an instruction to start the process 202 is input. The instruction to start the process 202 may be, for example, an start instruction instructing the start of a plurality of processes 202, or an start instruction set to notify after the completion of the start.

ステップ601(以降、ステップを“S”と記載し、例えば、S601と表記する)において制御部301は、起動順序を決定する。例えば、プロセス202の起動指示が、複数のプロセス202を起動する起動指示である場合、制御部301は、起動指示の入力された複数のプロセス202と対応する設定情報700を参照する。 In step 601 (hereinafter, the step is referred to as "S" and, for example, S601), the control unit 301 determines the activation order. For example, when the start instruction of the process 202 is a start instruction for starting a plurality of processes 202, the control unit 301 refers to the setting information 700 corresponding to the plurality of processes 202 to which the start instructions are input.

図7は、設定情報700を例示する図である。設定情報700は、プロセス202に対する設定が登録されていてよく、例えば、動作時に依存する依存先のプロセスの情報を含んでいてよい。例えば、図7には、プロセスBに対する設定が登録された設定情報700を例示しており、プロセスBは、プロセスAに依存していることが示されている。 FIG. 7 is a diagram illustrating the setting information 700. The setting information 700 may be registered with settings for the process 202, and may include, for example, information on a dependent process that depends on the operation. For example, FIG. 7 illustrates the setting information 700 in which the settings for the process B are registered, and it is shown that the process B depends on the process A.

そして、S601では制御部301は、例えば、起動指示の入力された複数のプロセス202と対応する設定情報700を参照する。制御部301は、参照した複数のプロセス202と対応する設定情報700に基づいて、他のプロセス202に依存しているプロセス202を、依存先のプロセス202の起動完了を待ってから起動するように、起動順序を決定してよい。なお、例えば、依存関係の無いプロセス202については、制御部301は、最初の順番を割り当てて並列で起動するように起動順序を決定してよい。また、例えば、1つのプロセス202を起動する起動指示が入力されている場合、制御部301は、起動順序を決定しなくてもよい。 Then, in S601, the control unit 301 refers to, for example, the setting information 700 corresponding to the plurality of processes 202 to which the start instruction is input. The control unit 301 starts the process 202 that depends on the other process 202 after waiting for the completion of starting the dependent process 202, based on the reference plurality of processes 202 and the corresponding setting information 700. , The boot order may be determined. For example, for the process 202 having no dependency, the control unit 301 may assign the first order and determine the start order so that the processes 202 are started in parallel. Further, for example, when a start instruction for starting one process 202 is input, the control unit 301 does not have to determine the start order.

S602において制御部301は、S601で決定した起動順序において最初の順番が割り当てられているプロセス202の起動コマンドを実行して起動する。なお、1つのプロセス202を起動する起動指示が入力されている場合、制御部301は、そのプロセス202を起動してよい。 In S602, the control unit 301 executes the start command of the process 202 to which the first order is assigned in the start order determined in S601 to start the process 202. When an start instruction for starting one process 202 is input, the control unit 301 may start the process 202.

S603において制御部301は、プロセス202の起動完了待ちがありか否かを判定する。例えば、制御部301は、S601で決定した起動順序においてプロセス202の依存関係があり、依存先のプロセス202の起動完了後に起動されるプロセス202がある場合、S603においてYESと判定してよい。また、例えば、S603において制御部301は、入力された起動指示が、起動の完了後に通知するように設定された起動指示である場合、S603においてYESと判定してよい。一方、S601で決定した起動順序においてプロセス202の依存関係が無い場合や、起動指示が起動の完了後に通知するように設定された起動指示ではない場合、S603において制御部301はNOと判定し、本動作フローは終了してよい。S603においてYESと判定した場合、フローはS604に進む。 In S603, the control unit 301 determines whether or not there is a waiting for the start completion of the process 202. For example, if the control unit 301 has a dependency of the process 202 in the activation order determined in S601 and there is a process 202 to be activated after the activation of the dependent process 202 is completed, the control unit 301 may determine YES in S603. Further, for example, if the input start instruction in S603 is a start instruction set to be notified after the start is completed, the control unit 301 may determine YES in S603. On the other hand, if there is no dependency of the process 202 in the start-up order determined in S601, or if the start-up instruction is not a start-up instruction set to notify after the start-up is completed, the control unit 301 determines NO in S603. This operation flow may be terminated. If YES in S603, the flow proceeds to S604.

S604において制御部301は、S602で起動したプロセス202のうちから、依存関係を有するプロセス202の依存先となっているプロセス202のスレッドダンプを取得する。なお、S604からS606の処理は繰り返し処理であり、繰り返しによりS604の処理を再び実行する場合には、制御部301は、前回の実行から所定時間経過後にスレッドダンプを取得してよい。 In S604, the control unit 301 acquires a thread dump of the process 202 on which the process 202 having the dependency is dependent from the process 202 started in S602. The processing of S604 to S606 is a repetitive processing, and when the processing of S604 is re-executed by repetition, the control unit 301 may acquire a thread dump after a predetermined time has elapsed from the previous execution.

S605において制御部301は、S604からS606の処理の繰り返しにおいて、前回取得したスレッドダンプと、今回取得したスレッドダンプとのデータを比較して、差分の量を示す値を取得する。例えば、制御部301は、スレッドダンプがテキストデータで出力される場合、前回取得したスレッドダンプと、今回取得したスレッドダンプとで文字列を比較し、一致しない文字の数を差分の量を示す値として取得してよい。なお、制御部301は、一例では、一致しない文字の数をスレッドダンプの全体を比較することで抽出して差分の量を示す値として用いてよい。或いは、制御部301は、スレッドダンプに含まれる各スレッドを、スレッドに割り当てられた番号等で識別可能な場合、スレッドごとに文字列を比較し、一致しない文字の数を抽出して差分の量を示す値として用いてよい。また更には、差分の量を示す値は、比較する2つのスレッドダンプのうちで、一致しない文字を含む行の数であってもよいし、スレッドダンプの全体の行数に対する一致しない文字を含む行の割合で表されてもよい。 In S605, the control unit 301 compares the data of the thread dump acquired last time with the thread dump acquired this time in the repetition of the processes of S604 to S606, and acquires a value indicating the amount of difference. For example, when the thread dump is output as text data, the control unit 301 compares the character strings between the thread dump acquired last time and the thread dump acquired this time, and indicates the number of non-matching characters as the amount of difference. May be obtained as. In one example, the control unit 301 may extract the number of non-matching characters by comparing the entire thread dump and use it as a value indicating the amount of difference. Alternatively, when the control unit 301 can identify each thread included in the thread dump by the number assigned to the thread or the like, the control unit 301 compares the character strings for each thread, extracts the number of non-matching characters, and the amount of the difference. It may be used as a value indicating. Furthermore, the value indicating the amount of difference may be the number of lines containing non-matching characters in the two thread dumps to be compared, or includes non-matching characters with respect to the total number of lines in the thread dump. It may be expressed as a percentage of rows.

S606において制御部301は、差分の量を示す値が、所定の閾値以下か否かを判定する。所定の閾値は、差分の量を示す値の種類に応じて定められてよく、その閾値以下であればプロセスの起動が完了している可能性の高い値に設定されてよい。例えば、スレッドの関数が、待ち状態に入り処理を停止している場合、その関数についての差分は0になる。一方、スレッドの関数が、例えば、所定の結果が得られるまで無限ループで待機している場合、その関数についての差分は0にはならない。そのため、こうした無限ループなどのように差分が0にはならないが起動は完了している場合も考慮して、起動が完了したことを判定できる値に閾値は設定されてよい。例えば、閾値は、既存の様々なプログラムの起動完了状態において、スレッドダンプの差分の量を示す値を取得し、それらの傾向から経験則で定められてもよい。 In S606, the control unit 301 determines whether or not the value indicating the amount of difference is equal to or less than a predetermined threshold value. The predetermined threshold value may be set according to the type of value indicating the amount of difference, and if it is equal to or less than the threshold value, it may be set to a value at which the process startup is likely to be completed. For example, if a thread function has entered a wait state and has stopped processing, the difference for that function will be zero. On the other hand, if the thread's function waits in an infinite loop, for example, until a given result is obtained, the difference for that function will not be zero. Therefore, the threshold value may be set to a value that can determine that the activation is completed in consideration of the case where the difference does not become 0 but the activation is completed as in such an infinite loop. For example, the threshold value may be determined by a rule of thumb from the tendency of acquiring a value indicating the amount of difference in the thread dump in the startup completion state of various existing programs.

S606において差分の量を示す値が所定の閾値以下でない場合(S606がNO)、フローはS604に戻り。前回のスレッドダンプの取得から所定時間経過後にスレッドダンプを再び取得する。一方、S606において差分の量を示す値が所定の閾値以下である場合(S604がYES)、フローはS607に進む。 If the value indicating the amount of difference in S606 is not equal to or less than a predetermined threshold value (S606 is NO), the flow returns to S604. The thread dump is acquired again after a predetermined time has elapsed since the previous acquisition of the thread dump. On the other hand, when the value indicating the amount of difference in S606 is equal to or less than a predetermined threshold value (YES in S604), the flow proceeds to S607.

S607において制御部301は、監視対象のプロセスの起動完了後に実行する処理を実行する。なお、監視対象のプロセスの起動完了後に実行する処理は、例えば、監視対象のプロセス202にアクセスして処理を実行する他のプロセス202などの監視対象のプロセス202と依存関係を有するプロセス202を起動する処理であってよい。或いは、監視対象のプロセス202の起動完了後に実行する処理は、起動したプロセス202にリクエストを送るなど新たにコマンドを実行する処理であってもよい。更には、監視対象のプロセス202の起動完了後に実行する処理は、ユーザにプロセスの起動が完了したことを通知する処理であってよい。この場合、制御部301は、例えば、プロセス202の起動が完了したことを示すメッセージを、情報処理装置300に接続された表示装置の表示画面に表示したり、或いは、情報処理装置300に接続された音声出力装置から音を出力したりしてよい。 In S607, the control unit 301 executes a process to be executed after the start of the monitored process is completed. The process to be executed after the start of the monitored process is completed is, for example, starting the process 202 having a dependency relationship with the monitored process 202 such as another process 202 that accesses the monitored process 202 and executes the process. It may be a process to be performed. Alternatively, the process to be executed after the start of the monitored process 202 is completed may be a process to execute a new command such as sending a request to the started process 202. Further, the process to be executed after the start of the monitored process 202 is completed may be a process of notifying the user that the start of the process is completed. In this case, the control unit 301 displays, for example, a message indicating that the start of the process 202 is completed on the display screen of the display device connected to the information processing device 300, or is connected to the information processing device 300. Sound may be output from the audio output device.

S608において制御部301は、起動完了待ちしている全てのプロセス202の起動を完了したか否かを判定する。起動完了待ちしている全てのプロセス202の起動を完了していない場合(S608がNO)、フローはS604に戻り、例えば、S607で新たに起動したプロセス202を監視対象にしてスレッドダンプを取得し、処理を継続する。一方、起動完了待ちしている全てのプロセス202の起動を完了している場合(S608がYES)、本動作フローは終了する。 In S608, the control unit 301 determines whether or not the activation of all the processes 202 waiting for the completion of activation has been completed. If all the processes 202 waiting to be started have not been started (S608 is NO), the flow returns to S604, and for example, the process 202 newly started in S607 is monitored and a thread dump is acquired. , Continue processing. On the other hand, when all the processes 202 waiting for the completion of startup have been started (YES in S608), this operation flow ends.

以上で述べた様に、実施形態によれば制御部301は、起動指示に応じて起動したプロセス202が、第1の時刻に実行している処理の内容を示すスレッドダンプと、第2の時刻に実行している処理の内容を示すスレッドダンプとを取得する。そして、制御部301は、取得した2つのスレッドダンプの比較結果に基づき、プロセスの起動処理が完了したか否かを判定する。そのため、例えば、図2を参照して述べた例のように、プロセスごとに起動完了の判定を実行するための情報を設定情報に登録しておかなくてもよく、起動完了の判定を実行することができる。従って、起動完了の判定にかかる労力やコストを削減することができる。また、例えば、ポートの開放やログの出力などのプロセス202の起動完了を示す情報の取得が難しいプロセス202であっても、スレッドダンプは、プロセス202の仕様によらず取得することできるため、起動の完了を判定することが可能である。 As described above, according to the embodiment, the control unit 301 includes a thread dump indicating the content of the process executed by the process 202 started in response to the start instruction at the first time, and the second time. Get a thread dump that shows the contents of the process being executed. Then, the control unit 301 determines whether or not the process start processing is completed based on the comparison result of the two acquired thread dumps. Therefore, for example, as in the example described with reference to FIG. 2, it is not necessary to register the information for executing the start completion determination for each process in the setting information, and the start completion determination is executed. be able to. Therefore, it is possible to reduce the labor and cost required for determining the completion of activation. Further, for example, even if it is a process 202 in which it is difficult to acquire information indicating the completion of the start of the process 202 such as opening a port or outputting a log, a thread dump can be obtained regardless of the specifications of the process 202, so that the process 202 is started. It is possible to determine the completion of.

なお、上述の実施形態では、異なる時刻でスレッドダンプを取得し、取得した異なる時刻のスレッドダンプの差分の大きさを示す情報を取得して起動完了を判定する。そのため、例えば、プロセス202ごとに起動完了時のスレッドダンプの状態を示す情報を個別に定義して判定しなくてもプロセス202の起動の完了を判定することができる。 In the above-described embodiment, the thread dumps are acquired at different times, and the information indicating the magnitude of the difference between the acquired thread dumps at different times is acquired to determine the start completion. Therefore, for example, it is possible to determine the completion of the start of the process 202 without individually defining and determining the information indicating the thread dump state at the time of completion of the start for each process 202.

従って、上述の実施形態によれば、プロセスの起動完了の判定のためのコストを削減することができる。 Therefore, according to the above-described embodiment, it is possible to reduce the cost for determining the completion of process startup.

<変形例>
上述の実施形態では、差分の量を示す値が所定の閾値以下である場合、監視対象のプロセス202の起動が完了したと判定する例を述べている。しかしながら、例えば、実行する処理によっては、一時的に差分の量が低下したあと再び差分が増えることも起こり得る。そこで、変形例では、制御部301は、差分の量を示す値が所定の閾値以下になった状態が所定時間以上継続した場合に、プロセス202の起動が完了したと判定する。
<Modification example>
In the above-described embodiment, when the value indicating the amount of difference is equal to or less than a predetermined threshold value, it is determined that the start of the process 202 to be monitored is completed. However, for example, depending on the processing to be executed, the difference may increase again after the amount of the difference temporarily decreases. Therefore, in the modified example, the control unit 301 determines that the start of the process 202 is completed when the state in which the value indicating the amount of difference is equal to or less than the predetermined threshold value continues for a predetermined time or longer.

図8は、変形例に係るプロセスの起動完了判定処理を例示する図である。制御部301は、例えば、プロセス202を起動する指示が入力されると、変形例に係る図8の動作フローを開始してよい。なお、プロセス202を起動する指示は、例えば、複数のプロセス202の起動を指示する起動指示であってよく、或いは、起動の完了後に通知するように設定された起動指示であってよい。 FIG. 8 is a diagram illustrating a process activation completion determination process according to a modified example. For example, when an instruction to start the process 202 is input, the control unit 301 may start the operation flow of FIG. 8 according to the modified example. The instruction to start the process 202 may be, for example, an start instruction instructing the start of a plurality of processes 202, or an start instruction set to notify after the completion of the start.

なお、図8の動作フローの処理は図6の動作フローの処理と対応する処理を実行してよく、例えば、S801〜S806において、制御部301は、図6のS601からS606と同様の処理を実行してよい。 The operation flow process of FIG. 8 may execute a process corresponding to the operation flow process of FIG. 6, for example, in S801 to S806, the control unit 301 performs the same process as S601 to S606 of FIG. You may do it.

そして、S806において差分の量を示す値が所定の閾値以下である場合(S806がYES)、フローはS807に進む。S807において制御部301は、差分の量を示す値が所定の閾値以下の状態が所定時間以上継続しているか否かを判定する。差分の量を示す値が所定の閾値以下の状態が所定時間以上継続していない場合(S807がNO)、フローはS804に戻り、前回のスレッドダンプの取得から所定時間経過後に再びスレッドダンプを取得して処理を繰り返す。一方、差分の量を示す値が所定の閾値以下の状態が所定時間以上継続している場合(S807がYES)、フローはS808に進み、制御部301は、監視対象のプロセス202の起動完了後に実行する処理を実行する。 Then, when the value indicating the amount of difference in S806 is equal to or less than a predetermined threshold value (YES in S806), the flow proceeds to S807. In S807, the control unit 301 determines whether or not the state in which the value indicating the amount of difference is equal to or less than a predetermined threshold value continues for a predetermined time or longer. If the value indicating the amount of difference is not equal to or less than a predetermined threshold value for a predetermined time or longer (NO in S807), the flow returns to S804, and a thread dump is acquired again after a predetermined time has elapsed from the acquisition of the previous thread dump. And repeat the process. On the other hand, when the state in which the value indicating the amount of difference is equal to or less than the predetermined threshold value continues for a predetermined time or longer (YES in S807), the flow proceeds to S808, and the control unit 301 performs the monitoring target process 202 after the activation of the process 202 is completed. Execute the process to be executed.

そして、S809において、制御部301は、図6のS608と同様の処理を実行し、本動作フローは終了してよい。 Then, in S809, the control unit 301 may execute the same process as in S608 of FIG. 6, and this operation flow may be terminated.

以上で述べた様に変形例では、制御部301は、差分の量を示す値が所定の閾値以下の状態が所定時間以上継続した場合に、プロセスの起動が完了したと判定する。そのため、変形例は、第1の実施形態が奏する効果に加えて、例えば、スレッドダンプの差分が一旦下がったあとで再び増加する場合に、誤ってプロセスの起動が完了したと判定してしまうことを抑止できる。従って、変形例によれば、プロセスの起動の完了をより正確に判定することができる。 As described above, in the modified example, the control unit 301 determines that the start of the process is completed when the state in which the value indicating the amount of difference is equal to or less than a predetermined threshold value continues for a predetermined time or longer. Therefore, in the modified example, in addition to the effect of the first embodiment, for example, when the difference of the thread dump decreases once and then increases again, it is determined that the process startup is completed by mistake. Can be deterred. Therefore, according to the modification, it is possible to more accurately determine the completion of process startup.

なお、上述の実施形態において、例えば、図6のS601〜S602及び図8のS801〜S802の処理では、制御部301は、例えば、起動部311として動作する。また、制御部301は、例えば、図6のS604及び図8のS804の処理において、取得部として動作する。制御部301は、例えば、図6のS606及び図8のS806〜S807の処理において、判定部として動作する。制御部301は、例えば、図6のS607及び図8のS808の処理において、実行部として動作する。 In the above-described embodiment, for example, in the processes of S601 to S602 of FIG. 6 and S801 to S802 of FIG. 8, the control unit 301 operates as, for example, the activation unit 311. Further, the control unit 301 operates as an acquisition unit in the processing of S604 of FIG. 6 and S804 of FIG. 8, for example. The control unit 301 operates as a determination unit in, for example, in the processes of S606 in FIG. 6 and S806 to S807 in FIG. The control unit 301 operates as an execution unit in the processing of S607 of FIG. 6 and S808 of FIG. 8, for example.

また、上述の図6及び図8の動作フローに示す処理の少なくとも一部は、例えば、PaaS基盤などのプラットフォームに実装されている監視プロセス201が実行してもよく、別に実装された起動完了判定処理を実行する判定プロセスが実行してもよい。例えば、上述の起動部311は、監視プロセス201に実装されてもよく、監視プロセス201は、図6のS601〜S603又は図8のS801〜S803の処理を実行してよい。そして、監視プロセス201が、S603又はS803で、YESと判定した場合に、監視プロセス201とは別に実装された判定プロセスに、プロセスの起動が完了したか否かの判定を依頼してよい。そして、判定プロセスは、依頼を受信すると、図6のS604以降又は図8のS804以降の処理を実行してよい。即ち、実施形態では、例えば、PaaS基盤などの既存のプラットフォームの機能を、上述の動作フローの一部の処理に利用してもよい。 Further, at least a part of the processes shown in the operation flows of FIGS. 6 and 8 described above may be executed by the monitoring process 201 implemented on a platform such as a Platform as a Service, and the startup completion determination separately implemented may be executed. The determination process that executes the process may be executed. For example, the above-mentioned activation unit 311 may be implemented in the monitoring process 201, and the monitoring process 201 may execute the processes of S601 to S603 in FIG. 6 or S801 to S803 in FIG. Then, when the monitoring process 201 determines YES in S603 or S803, a determination process implemented separately from the monitoring process 201 may be requested to determine whether or not the process has been started. Then, when the determination process receives the request, the determination process may execute the processes of S604 or later in FIG. 6 or S804 or later in FIG. That is, in the embodiment, for example, the functions of an existing platform such as a PaaS platform may be used for a part of the above-mentioned operation flow.

以上において、実施形態を例示したが、実施形態はこれに限定されるものではない。例えば、上述の動作フローは例示であり、実施形態はこれに限定されるものではない。可能な場合には、動作フローは、処理の順番を変更して実行されてもよく、別に更なる処理を含んでもよく、又は、一部の処理が省略されてもよい。 Although the embodiments have been illustrated above, the embodiments are not limited thereto. For example, the above-mentioned operation flow is an example, and the embodiment is not limited thereto. When possible, the operation flow may be executed by changing the order of processing, may include additional processing, or may omit some processing.

図9は、実施形態に係る情報処理装置300を実現するためのコンピュータ900のハードウェア構成を例示する図である。図9の情報処理装置300を実現するためのハードウェア構成は、例えば、プロセッサ901、メモリ902、記憶装置903、読取装置904、通信インタフェース906、及び入出力インタフェース907を備える。なお、プロセッサ901、メモリ902、記憶装置903、読取装置904、通信インタフェース906、入出力インタフェース907は、例えば、バス908を介して互いに接続されている。 FIG. 9 is a diagram illustrating a hardware configuration of a computer 900 for realizing the information processing apparatus 300 according to the embodiment. The hardware configuration for realizing the information processing device 300 of FIG. 9 includes, for example, a processor 901, a memory 902, a storage device 903, a reading device 904, a communication interface 906, and an input / output interface 907. The processor 901, the memory 902, the storage device 903, the reading device 904, the communication interface 906, and the input / output interface 907 are connected to each other via, for example, the bus 908.

プロセッサ901は、例えば、シングルプロセッサであっても、マルチプロセッサやマルチコアであってもよい。プロセッサ901は、メモリ902を利用して例えば上述の動作フローの手順を記述した判定プログラムを実行することにより、上述した各制御部301の一部または全部の機能を提供する。例えば、プロセッサ901は、プログラムを読み出して実行することで、起動部311、取得部312、判定部313、及び実行部314として動作してよい。また、一実施形態においては、プロセッサ901は、プログラムを読み出して実行することで、システム200として動作してもよい。 The processor 901 may be, for example, a single processor, a multiprocessor, or a multicore. The processor 901 provides a part or all the functions of each of the control units 301 described above by executing, for example, a determination program describing the procedure of the operation flow described above using the memory 902. For example, the processor 901 may operate as an activation unit 31, an acquisition unit 312, a determination unit 313, and an execution unit 314 by reading and executing a program. Further, in one embodiment, the processor 901 may operate as the system 200 by reading and executing the program.

メモリ902は、例えば半導体メモリであり、RAM領域及びROM領域を含んでいてよい。記憶装置903は、例えばハードディスク、フラッシュメモリ等の半導体メモリ、又は外部記憶装置である。なお、RAMは、Random Access Memoryの略称である。また、ROMは、Read Only Memoryの略称である。 The memory 902 is, for example, a semiconductor memory, and may include a RAM area and a ROM area. The storage device 903 is, for example, a semiconductor memory such as a hard disk or a flash memory, or an external storage device. RAM is an abbreviation for Random Access Memory. ROM is an abbreviation for Read Only Memory.

読取装置904は、プロセッサ901の指示に従って着脱可能記憶媒体905にアクセスする。着脱可能記憶媒体905は、例えば、半導体デバイス(USBメモリ等)、磁気的作用により情報が入出力される媒体(磁気ディスク等)、光学的作用により情報が入出力される媒体(CD−ROM、DVD等)などにより実現される。なお、USBは、Universal Serial Busの略称である。CDは、Compact Discの略称である。DVDは、Digital Versatile Diskの略称である。 The reader 904 accesses the removable storage medium 905 according to the instructions of the processor 901. The removable storage medium 905 includes, for example, a semiconductor device (USB memory, etc.), a medium (magnetic disk, etc.) to which information is input / output by magnetic action, and a medium (CD-ROM, etc.) to which information is input / output by optical action. It is realized by DVD etc.). USB is an abbreviation for Universal Serial Bus. CD is an abbreviation for Compact Disc. DVD is an abbreviation for Digital Versatile Disk.

そして、上述の記憶部302は、例えば、メモリ902、記憶装置903、及び着脱可能記憶媒体905を含む。情報処理装置300の記憶装置903には、例えば、設定情報700が格納されている。 The storage unit 302 described above includes, for example, a memory 902, a storage device 903, and a removable storage medium 905. For example, the setting information 700 is stored in the storage device 903 of the information processing device 300.

通信インタフェース906は、プロセッサ901の指示に従ってネットワークを介して又は他の装置に直接接続し、他の装置とデータを送受信する。入出力インタフェース907は、例えば、入力装置及び出力装置との間のインタフェースであってよい。入力装置は、例えばユーザからの指示を受け付けるキーボードやマウスなどのデバイスである。出力装置は、例えばディスプレーなどの表示装置、及びスピーカなどの音声装置である。 The communication interface 906 connects to another device via a network or directly to another device according to the instructions of the processor 901, and transmits / receives data to / from the other device. The input / output interface 907 may be, for example, an interface between an input device and an output device. The input device is, for example, a device such as a keyboard or a mouse that receives an instruction from a user. The output device is, for example, a display device such as a display and an audio device such as a speaker.

実施形態に係る各プログラムは、例えば、下記の形態で情報処理装置300に提供される。
(1)記憶装置903に予めインストールされている。
(2)着脱可能記憶媒体905により提供される。
(3)プログラムサーバなどのサーバから提供される。
Each program according to the embodiment is provided to the information processing apparatus 300 in the following form, for example.
(1) It is pre-installed in the storage device 903.
(2) Provided by the removable storage medium 905.
(3) It is provided from a server such as a program server.

なお、図9を参照して述べた情報処理装置300を実現するためのコンピュータ900のハードウェア構成は、例示であり、実施形態はこれに限定されるものではない。例えば、上述の制御部301の一部または全部の機能がFPGA及びSoCなどによるハードウェアとして実装されてもよい。なお、FPGAは、Field Programmable Gate Arrayの略称である。SoCは、System-on-a-chipの略称である。 The hardware configuration of the computer 900 for realizing the information processing apparatus 300 described with reference to FIG. 9 is an example, and the embodiment is not limited thereto. For example, some or all the functions of the above-mentioned control unit 301 may be implemented as hardware by FPGA, SoC, or the like. FPGA is an abbreviation for Field Programmable Gate Array. SoC is an abbreviation for System-on-a-chip.

以上において、いくつかの実施形態が説明される。しかしながら、実施形態は上記の実施形態に限定されるものではなく、上述の実施形態の各種変形形態及び代替形態を包含するものとして理解されるべきである。例えば、各種実施形態は、その趣旨及び範囲を逸脱しない範囲で構成要素を変形して具体化できることが理解されよう。また、前述した実施形態に開示されている複数の構成要素を適宜組み合わせることにより、種々の実施形態が実施され得ることが理解されよう。更には、実施形態に示される全構成要素からいくつかの構成要素を削除して又は置換して、或いは実施形態に示される構成要素にいくつかの構成要素を追加して種々の実施形態が実施され得ることが当業者には理解されよう。 In the above, some embodiments will be described. However, the embodiments are not limited to the above embodiments, and should be understood to include various modifications and alternatives of the above embodiments. For example, it will be understood that various embodiments can be embodied by modifying the components within a range that does not deviate from the purpose and scope. Further, it will be understood that various embodiments can be implemented by appropriately combining the plurality of components disclosed in the above-described embodiments. Further, various embodiments are implemented by removing or replacing some components from all the components shown in the embodiments, or by adding some components to the components shown in the embodiments. Those skilled in the art will understand that it can be done.

200 システム
201 監視プロセス
202 プロセス
300 情報処理装置
301 制御部
302 記憶部
311 起動部
312 取得部
313 判定部
314 実行部
900 コンピュータ
901 プロセッサ
902 メモリ
903 記憶装置
904 読取装置
905 着脱可能記憶媒体
906 通信インタフェース
907 入出力インタフェース
908 バス
200 System 201 Monitoring process 202 Process 300 Information processing device 301 Control unit 302 Storage unit 311 Activation unit 312 Acquisition unit 313 Judgment unit 314 Execution unit 900 Computer 901 Processor 902 Memory 903 Storage device 904 Reading device 905 Detachable storage medium 906 Communication interface 907 I / O interface 908 bus

Claims (5)

起動指示に応じて起動したプロセスが第1の時刻に実行する処理の内容を示す第1の情報と、前記プロセスが第2の時刻に実行する処理の内容を示す第2の情報とを取得し、
取得した前記第1の情報及び前記第2の情報の比較結果に基づき、前記プロセスの起動処理が完了したか否かを判定する、
処理をコンピュータに実行させる判定プログラム。
Acquires the first information indicating the content of the process executed by the process started in response to the start instruction at the first time and the second information indicating the content of the process executed by the process at the second time. ,
Based on the acquired comparison result of the first information and the second information, it is determined whether or not the start processing of the process is completed.
A judgment program that causes a computer to execute processing.
前記判定する処理は、前記第1の情報と前記第2の情報との差分の大きさを表す値が、所定の閾値以下である状態が、所定時間以上継続した場合に、前記プロセスの起動処理が完了したと判定する、
ことを特徴とする請求項1に記載の判定プログラム。
The determination process is a process of starting the process when the state in which the value representing the magnitude of the difference between the first information and the second information is equal to or less than a predetermined threshold value continues for a predetermined time or longer. Judges as completed,
The determination program according to claim 1, wherein the determination program is characterized by the above.
前記第1の情報は、前記第1の時刻において前記プロセス内で実行されている1又は複数のスレッドのそれぞれが実行している関数の情報を含み、
前記第2の情報は、前記第2の時刻において前記プロセス内で実行されている1又は複数のスレッドのそれぞれが実行している関数の情報を含み、
前記判定する処理は、前記第1の情報と前記第2の情報とをスレッド毎に比較して前記プロセスの起動処理が完了したか否かを判定する、
ことを特徴とする請求項1又は2に記載の判定プログラム。
The first information includes information on a function executed by each of one or more threads executing in the process at the first time.
The second information includes information on a function executed by each of one or more threads executing in the process at the second time.
In the determination process, the first information and the second information are compared for each thread to determine whether or not the start processing of the process is completed.
The determination program according to claim 1 or 2, wherein the determination program is characterized by the above.
起動指示に応じて起動したプロセスが、第1の時刻に実行する処理の内容を示す第1の情報と、前記プロセスが第2の時刻に実行する処理の内容を示す第2の情報とを取得する取得部、
取得した前記第1の情報及び前記第2の情報の比較結果に基づき、前記プロセスの起動処理が完了したか否かを判定する判定部、
を含む情報処理装置。
Acquires the first information indicating the content of the process executed by the process started in response to the start instruction at the first time and the second information indicating the content of the process executed by the process at the second time. Acquisition department,
A determination unit that determines whether or not the start processing of the process is completed based on the acquired comparison result of the first information and the second information.
Information processing equipment including.
起動指示に応じて起動したプロセスが、第1の時刻に実行する処理の内容を示す第1の情報と、前記プロセスが第2の時刻に実行する処理の内容を示す第2の情報とを取得し、
取得した前記第1の情報及び前記第2の情報の比較結果に基づき、前記プロセスの起動処理が完了したか否かを判定する、
ことを含む、コンピュータが実行する判定方法。
Acquires the first information indicating the content of the process executed by the process started in response to the start instruction at the first time and the second information indicating the content of the process executed by the process at the second time. death,
Based on the acquired comparison result of the first information and the second information, it is determined whether or not the start processing of the process is completed.
Judgment methods performed by the computer, including.
JP2017152596A 2017-08-07 2017-08-07 Judgment program, information processing device, and judgment method Active JP6919399B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017152596A JP6919399B2 (en) 2017-08-07 2017-08-07 Judgment program, information processing device, and judgment method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017152596A JP6919399B2 (en) 2017-08-07 2017-08-07 Judgment program, information processing device, and judgment method

Publications (2)

Publication Number Publication Date
JP2019032657A JP2019032657A (en) 2019-02-28
JP6919399B2 true JP6919399B2 (en) 2021-08-18

Family

ID=65523477

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017152596A Active JP6919399B2 (en) 2017-08-07 2017-08-07 Judgment program, information processing device, and judgment method

Country Status (1)

Country Link
JP (1) JP6919399B2 (en)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5857101A (en) * 1997-04-15 1999-01-05 Acceleration Software International Corporation Program lunch acceleration
US7685575B1 (en) * 2004-06-08 2010-03-23 Sun Microsystems, Inc. Method and apparatus for analyzing an application
JP2008225745A (en) * 2007-03-12 2008-09-25 Nec Corp Process control device, method, and program
JP5335625B2 (en) * 2009-09-02 2013-11-06 レノボ・シンガポール・プライベート・リミテッド Computer program that reduces boot time

Also Published As

Publication number Publication date
JP2019032657A (en) 2019-02-28

Similar Documents

Publication Publication Date Title
US9558016B2 (en) Platform system, method for changing support hardware configuration of universal extensible firmware interface basic input output system and computer program product
TWI578233B (en) Unified firmware managment system, non-transitory computer-readable storage medium and method for unified firmware managment
TWI446262B (en) Techniques for switching threads within routines
US10802847B1 (en) System and method for reproducing and resolving application errors
CN106598637B (en) Method for selective loading of components within a node
TWI779515B (en) Method and system for determining tampering with unified extensible firmware interface (uefi), and related non-transitory computer-readable medium
CN102736954A (en) Addressing system degradation by application disabling
US20110113227A1 (en) Electronic equipment and boot method, storage medium thereof
US20170286670A1 (en) Malware detection and identification using deviations in one or more operating parameters
CN108628733B (en) Method and device for testing batch service processing operation
TWI656453B (en) Detection system and detection method
JP6919399B2 (en) Judgment program, information processing device, and judgment method
CN111857854A (en) Shutdown resource loading method and device, storage medium and electronic equipment
CN111427738B (en) Display method, application monitoring module, byte code enhancement module and display system
CN108009039B (en) Terminal information recording method, device, storage medium and electronic equipment
CN112912855A (en) Starting-up detection method, starting-up detection device and mobile terminal
US20070016761A1 (en) Method, apparatus, and computer program product for implementing enhanced system behavior control
JP5429171B2 (en) Information processing apparatus and hangup cause investigation information acquisition method
CN104572199B (en) The method and apparatus that a kind of No starting item starts
US11068250B2 (en) Crowdsourced API resource consumption information for integrated development environments
US10872019B2 (en) Load and save recovery partition using mobile device
US9619306B2 (en) Information processing device, control method thereof, and recording medium
JP6463170B2 (en) Application use restriction device and use restriction program
US20160253118A1 (en) Electronic device, controlling method, and storage medium
CN112130915A (en) Parameter initialization method and device, electronic equipment and readable storage medium

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200514

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210519

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: 20210622

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210705

R150 Certificate of patent or registration of utility model

Ref document number: 6919399

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150