JP6919399B2 - Judgment program, information processing device, and judgment method - Google Patents
Judgment program, information processing device, and judgment method Download PDFInfo
- 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
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.
しかしながら、例えば、プロセスの起動の完了を検出するために、プロセスごとの仕様に応じて設定情報を作成すると、作業に手間がかかっていた。 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.
以下、図面を参照しながら、本発明のいくつかの実施形態について詳細に説明する。なお、複数の図面において対応する要素には同一の符号を付す。 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
また、例えば、監視プロセス201は、プロセス202に対して作成された設定情報の設定に基づいて、プロセスの起動の完了を監視する。一例として、プロセスが、起動の完了に伴いポートを開放することがある。この様なポートを開放するプロセス202が起動完了の監視対象である場合、監視プロセス201はポートを監視し、ポートの開放を検出するとプロセス202の起動が完了したと判定してよい。或いは、例えば、プロセスが、起動の完了に伴い所定のログを出力することがある。この様な所定のログを出力するプロセスが起動完了の監視対象である場合、監視プロセス201は、プロセス202からのログの出力を監視し、所定のログが出力されたことを検出するとプロセスの起動が完了したと判定してよい。例えば、以上のようにして、監視プロセス201は、設定情報の設定に従って、監視対象のプロセス202の起動の完了を検出することができる。
Further, for example, the
しかしながら、こうしたポートの開放やログの出力などのプロセス202の起動完了を示す情報は、プロセス202ごとに異なっていることがある。そのため、プロセス202ごとに設定情報を用意することになり、煩雑な作業となっている。また、プロセス202によっては、プロセス202の起動完了を示す適切な情報の取得が難しいこともある。そのため、プロセス202の起動完了を判定するための更なる技術の提供が望まれている。以下、実施形態を更に詳細に説明する。
However, the information indicating the completion of starting the
図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
続いて、実施形態に係る起動完了判定処理について説明する。以下で述べる実施形態では、制御部301は、或る時刻に取得した監視対象のプロセスのスレッドダンプと、別の時刻に取得した監視対象のプロセスのスレッドダンプとを比較する。そして、制御部301は、比較の結果、スレッドダンプの時間変化が僅かになった場合に、プロセスの起動が完了したと判定する。なお、スレッドダンプとは、例えば、プロセス内で実行されている1又は複数のスレッド毎に、スレッドの内部で動作中の関数の情報を、関数の呼び出し関係を含めて出力したスナップショットのデータである。例えば、スレッドダンプには、スレッドごとに、実行中の関数や、関数内で実行中の命令を示す情報(例えば、プログラム内での行番号)が含まれていてよい。なお、関数は、例えば、メソッド、ファンクション、又はサブルーチンなどと呼ばれてもよい。
Subsequently, the activation completion determination process according to the embodiment will be described. In the embodiment described below, the
図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
図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
図6は、実施形態に係るプロセス202の起動完了判定処理を例示する図である。制御部301は、例えば、プロセス202を起動する指示が入力されると、図6の動作フローを開始してよい。なお、プロセス202を起動する指示は、例えば、複数のプロセス202の起動を指示する起動指示であってよく、或いは、起動の完了後に通知するように設定された起動指示であってよい。
FIG. 6 is a diagram illustrating an activation completion determination process of the
ステップ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
図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
そして、S601では制御部301は、例えば、起動指示の入力された複数のプロセス202と対応する設定情報700を参照する。制御部301は、参照した複数のプロセス202と対応する設定情報700に基づいて、他のプロセス202に依存しているプロセス202を、依存先のプロセス202の起動完了を待ってから起動するように、起動順序を決定してよい。なお、例えば、依存関係の無いプロセス202については、制御部301は、最初の順番を割り当てて並列で起動するように起動順序を決定してよい。また、例えば、1つのプロセス202を起動する起動指示が入力されている場合、制御部301は、起動順序を決定しなくてもよい。
Then, in S601, the
S602において制御部301は、S601で決定した起動順序において最初の順番が割り当てられているプロセス202の起動コマンドを実行して起動する。なお、1つのプロセス202を起動する起動指示が入力されている場合、制御部301は、そのプロセス202を起動してよい。
In S602, the
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
S604において制御部301は、S602で起動したプロセス202のうちから、依存関係を有するプロセス202の依存先となっているプロセス202のスレッドダンプを取得する。なお、S604からS606の処理は繰り返し処理であり、繰り返しによりS604の処理を再び実行する場合には、制御部301は、前回の実行から所定時間経過後にスレッドダンプを取得してよい。
In S604, the
S605において制御部301は、S604からS606の処理の繰り返しにおいて、前回取得したスレッドダンプと、今回取得したスレッドダンプとのデータを比較して、差分の量を示す値を取得する。例えば、制御部301は、スレッドダンプがテキストデータで出力される場合、前回取得したスレッドダンプと、今回取得したスレッドダンプとで文字列を比較し、一致しない文字の数を差分の量を示す値として取得してよい。なお、制御部301は、一例では、一致しない文字の数をスレッドダンプの全体を比較することで抽出して差分の量を示す値として用いてよい。或いは、制御部301は、スレッドダンプに含まれる各スレッドを、スレッドに割り当てられた番号等で識別可能な場合、スレッドごとに文字列を比較し、一致しない文字の数を抽出して差分の量を示す値として用いてよい。また更には、差分の量を示す値は、比較する2つのスレッドダンプのうちで、一致しない文字を含む行の数であってもよいし、スレッドダンプの全体の行数に対する一致しない文字を含む行の割合で表されてもよい。
In S605, the
S606において制御部301は、差分の量を示す値が、所定の閾値以下か否かを判定する。所定の閾値は、差分の量を示す値の種類に応じて定められてよく、その閾値以下であればプロセスの起動が完了している可能性の高い値に設定されてよい。例えば、スレッドの関数が、待ち状態に入り処理を停止している場合、その関数についての差分は0になる。一方、スレッドの関数が、例えば、所定の結果が得られるまで無限ループで待機している場合、その関数についての差分は0にはならない。そのため、こうした無限ループなどのように差分が0にはならないが起動は完了している場合も考慮して、起動が完了したことを判定できる値に閾値は設定されてよい。例えば、閾値は、既存の様々なプログラムの起動完了状態において、スレッドダンプの差分の量を示す値を取得し、それらの傾向から経験則で定められてもよい。
In S606, the
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
S608において制御部301は、起動完了待ちしている全てのプロセス202の起動を完了したか否かを判定する。起動完了待ちしている全てのプロセス202の起動を完了していない場合(S608がNO)、フローはS604に戻り、例えば、S607で新たに起動したプロセス202を監視対象にしてスレッドダンプを取得し、処理を継続する。一方、起動完了待ちしている全てのプロセス202の起動を完了している場合(S608がYES)、本動作フローは終了する。
In S608, the
以上で述べた様に、実施形態によれば制御部301は、起動指示に応じて起動したプロセス202が、第1の時刻に実行している処理の内容を示すスレッドダンプと、第2の時刻に実行している処理の内容を示すスレッドダンプとを取得する。そして、制御部301は、取得した2つのスレッドダンプの比較結果に基づき、プロセスの起動処理が完了したか否かを判定する。そのため、例えば、図2を参照して述べた例のように、プロセスごとに起動完了の判定を実行するための情報を設定情報に登録しておかなくてもよく、起動完了の判定を実行することができる。従って、起動完了の判定にかかる労力やコストを削減することができる。また、例えば、ポートの開放やログの出力などのプロセス202の起動完了を示す情報の取得が難しいプロセス202であっても、スレッドダンプは、プロセス202の仕様によらず取得することできるため、起動の完了を判定することが可能である。
As described above, according to the embodiment, the
なお、上述の実施形態では、異なる時刻でスレッドダンプを取得し、取得した異なる時刻のスレッドダンプの差分の大きさを示す情報を取得して起動完了を判定する。そのため、例えば、プロセス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
従って、上述の実施形態によれば、プロセスの起動完了の判定のためのコストを削減することができる。 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
図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
なお、図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
そして、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
そして、S809において、制御部301は、図6のS608と同様の処理を実行し、本動作フローは終了してよい。
Then, in S809, the
以上で述べた様に変形例では、制御部301は、差分の量を示す値が所定の閾値以下の状態が所定時間以上継続した場合に、プロセスの起動が完了したと判定する。そのため、変形例は、第1の実施形態が奏する効果に加えて、例えば、スレッドダンプの差分が一旦下がったあとで再び増加する場合に、誤ってプロセスの起動が完了したと判定してしまうことを抑止できる。従って、変形例によれば、プロセスの起動の完了をより正確に判定することができる。
As described above, in the modified example, the
なお、上述の実施形態において、例えば、図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
また、上述の図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
以上において、実施形態を例示したが、実施形態はこれに限定されるものではない。例えば、上述の動作フローは例示であり、実施形態はこれに限定されるものではない。可能な場合には、動作フローは、処理の順番を変更して実行されてもよく、別に更なる処理を含んでもよく、又は、一部の処理が省略されてもよい。 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
プロセッサ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
メモリ902は、例えば半導体メモリであり、RAM領域及びROM領域を含んでいてよい。記憶装置903は、例えばハードディスク、フラッシュメモリ等の半導体メモリ、又は外部記憶装置である。なお、RAMは、Random Access Memoryの略称である。また、ROMは、Read Only Memoryの略称である。
The
読取装置904は、プロセッサ901の指示に従って着脱可能記憶媒体905にアクセスする。着脱可能記憶媒体905は、例えば、半導体デバイス(USBメモリ等)、磁気的作用により情報が入出力される媒体(磁気ディスク等)、光学的作用により情報が入出力される媒体(CD−ROM、DVD等)などにより実現される。なお、USBは、Universal Serial Busの略称である。CDは、Compact Discの略称である。DVDは、Digital Versatile Diskの略称である。
The
そして、上述の記憶部302は、例えば、メモリ902、記憶装置903、及び着脱可能記憶媒体905を含む。情報処理装置300の記憶装置903には、例えば、設定情報700が格納されている。
The
通信インタフェース906は、プロセッサ901の指示に従ってネットワークを介して又は他の装置に直接接続し、他の装置とデータを送受信する。入出力インタフェース907は、例えば、入力装置及び出力装置との間のインタフェースであってよい。入力装置は、例えばユーザからの指示を受け付けるキーボードやマウスなどのデバイスである。出力装置は、例えばディスプレーなどの表示装置、及びスピーカなどの音声装置である。
The
実施形態に係る各プログラムは、例えば、下記の形態で情報処理装置300に提供される。
(1)記憶装置903に予めインストールされている。
(2)着脱可能記憶媒体905により提供される。
(3)プログラムサーバなどのサーバから提供される。
Each program according to the embodiment is provided to the
(1) It is pre-installed in the
(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
以上において、いくつかの実施形態が説明される。しかしながら、実施形態は上記の実施形態に限定されるものではなく、上述の実施形態の各種変形形態及び代替形態を包含するものとして理解されるべきである。例えば、各種実施形態は、その趣旨及び範囲を逸脱しない範囲で構成要素を変形して具体化できることが理解されよう。また、前述した実施形態に開示されている複数の構成要素を適宜組み合わせることにより、種々の実施形態が実施され得ることが理解されよう。更には、実施形態に示される全構成要素からいくつかの構成要素を削除して又は置換して、或いは実施形態に示される構成要素にいくつかの構成要素を追加して種々の実施形態が実施され得ることが当業者には理解されよう。 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
Claims (5)
取得した前記第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に記載の判定プログラム。 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.
前記第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の情報及び前記第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の情報及び前記第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.
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)
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 |
-
2017
- 2017-08-07 JP JP2017152596A patent/JP6919399B2/en active Active
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 |