JP2019032657A - 判定プログラム、情報処理装置、及び判定方法 - Google Patents

判定プログラム、情報処理装置、及び判定方法 Download PDF

Info

Publication number
JP2019032657A
JP2019032657A JP2017152596A JP2017152596A JP2019032657A JP 2019032657 A JP2019032657 A JP 2019032657A JP 2017152596 A JP2017152596 A JP 2017152596A JP 2017152596 A JP2017152596 A JP 2017152596A JP 2019032657 A JP2019032657 A JP 2019032657A
Authority
JP
Japan
Prior art keywords
information
activation
time
executed
determination
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2017152596A
Other languages
English (en)
Other versions
JP6919399B2 (ja
Inventor
矢野 公規
Kiminori Yano
公規 矢野
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/ja
Publication of JP2019032657A publication Critical patent/JP2019032657A/ja
Application granted granted Critical
Publication of JP6919399B2 publication Critical patent/JP6919399B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

【課題】一実施形態は、プロセスの起動完了を検出するための汎用性の高い技術を提供することができる。【解決手段】一実施形態に係る判定プログラムは、起動指示に応じて起動したプロセスが第1の時刻に実行する処理の内容を示す第1の情報と、プロセスが第2の時刻に実行する処理の内容を示す第2の情報とを取得し、取得した第1の情報及び第2の情報の比較結果に基づき、プロセスの起動処理が完了したか否かを判定する、処理をコンピュータに実行させる。【選択図】図6

Description

本発明は、判定プログラム、情報処理装置、及び判定方法に関する。
複数のプロセスが連携して動作するシステムでは、プロセス同士が情報をやり取りする依存関係を持つことがある。そして、プロセスが依存関係を持つ場合、プロセスの起動は依存関係に沿った順序で実行される。例えば、或るプロセスが実行中に別のプロセスにアクセスしながら動作する場合、そのプロセスの起動は、別のプロセスの起動が完了するまで待機され、別のプロセスの起動が完了すると実行される。
例えば、PaaS(Platform as a Service)基盤などのプラットフォームでは、プロセスの起動完了の検出するための監視プロセスがある。監視プロセスは、例えば、監視対象のプロセスに対して作成された設定情報の設定に基づいて、監視対象のプロセスの起動や起動完了の検出を行う。例えば、監視対象のプロセスが、起動の完了に伴いポートを開放したり、起動完了時に特定のログを出力したりする場合、設定情報に開放されるポートの情報や、起動完了時に出力される特定のログの情報が登録される。そして、監視プロセスは、例えば、設定情報に登録されているポートを監視してポートの開放を検出したり、ログを監視して設定情報に登録されている特定のログが出力されることを検出したりして、プロセスの起動の完了を検出する。
特開2010−257150号公報 特開2010−182016号公報 特開平11−327951号公報
しかしながら、例えば、プロセスの起動の完了を検出するために、プロセスごとの仕様に応じて設定情報を作成すると、作業に手間がかかっていた。
1つの側面では、本発明は、プロセスの起動完了を検出するための汎用性の高い技術を提供することを目的とする。
本発明の一つの態様の判定プログラムは、起動指示に応じて起動したプロセスが第1の時刻に実行する処理の内容を示す第1の情報と、プロセスが第2の時刻に実行する処理の内容を示す第2の情報とを取得し、取得した第1の情報及び第2の情報の比較結果に基づき、プロセスの起動処理が完了したか否かを判定する、処理をコンピュータに実行させる。
プロセスの起動完了を検出するための汎用性の高い技術を提供することができる。
プロセス間の依存関係を例示する図である。 複数のプロセスが連携して動作するシステムを例示する図である。 実施形態に係る情報処理装置のブロック構成を例示する図である。 スレッドダンプの差分を例示する図である。 スレッドダンプの差分の時間変化を例示する図である。 実施形態に係るプロセスの起動完了判定処理を例示する図である。 設定情報を例示する図である。 変形例に係るプロセスの起動完了判定処理を例示する図である。 実施形態に係る情報処理装置を実現するためのコンピュータのハードウェア構成を例示する図である。
以下、図面を参照しながら、本発明のいくつかの実施形態について詳細に説明する。なお、複数の図面において対応する要素には同一の符号を付す。
図1は、プロセス間の依存関係を例示する図である。図1において、プログラムBを実行することで動作するプロセスBは、プログラムAを実行することで動作するプロセスAにアクセスしながら動作する。ここで、プロセスAの起動開始からプロセスAの起動処理が完了するまでの期間では、プロセスBはプロセスAにアクセスできず、プロセスAから情報を取得することができない。そのため、プロセスAの起動が完了するまでプロセスBの起動は待機され、プロセスAの起動が完了してからプロセスBの起動が実行されることが望ましい。なお、起動処理が完了するとは、プロセスが、例えば、他のプロセスなどの外部からのリクエストを受け付け可能な状態になることであってよい。
そのため、プロセスに依存関係がある場合に、プロセスの起動が完了したことを検出することが行われている。例えば、PaaS基盤などのように複数のプロセスが連携して動作するシステムでは、監視プロセスがプロセスを監視し、プロセスの起動が完了したことを検出する。
図2は、複数のプロセスが連携して動作するシステム200を例示する図である。図2には、監視プロセス201と、複数のプロセス202とが示されている。複数のプロセス202の間には、プロセス同士で情報をやり取りする依存関係がある。そのため、プロセス202の起動は依存関係に沿った順序で行われる。そして、プロセス202には、設定情報が用意されていてよい。監視プロセス201は、設定情報を参照し、設定情報に登録された内容に従って、監視対象のプロセス202の起動コマンドを実行してプロセスを起動したり、起動に失敗した場合の起動のリトライを制御したりする。
また、例えば、監視プロセス201は、プロセス202に対して作成された設定情報の設定に基づいて、プロセスの起動の完了を監視する。一例として、プロセスが、起動の完了に伴いポートを開放することがある。この様なポートを開放するプロセス202が起動完了の監視対象である場合、監視プロセス201はポートを監視し、ポートの開放を検出するとプロセス202の起動が完了したと判定してよい。或いは、例えば、プロセスが、起動の完了に伴い所定のログを出力することがある。この様な所定のログを出力するプロセスが起動完了の監視対象である場合、監視プロセス201は、プロセス202からのログの出力を監視し、所定のログが出力されたことを検出するとプロセスの起動が完了したと判定してよい。例えば、以上のようにして、監視プロセス201は、設定情報の設定に従って、監視対象のプロセス202の起動の完了を検出することができる。
しかしながら、こうしたポートの開放やログの出力などのプロセス202の起動完了を示す情報は、プロセス202ごとに異なっていることがある。そのため、プロセス202ごとに設定情報を用意することになり、煩雑な作業となっている。また、プロセス202によっては、プロセス202の起動完了を示す適切な情報の取得が難しいこともある。そのため、プロセス202の起動完了を判定するための更なる技術の提供が望まれている。以下、実施形態を更に詳細に説明する。
図3は、実施形態に係るプロセス202の起動完了判定処理を実行する情報処理装置300のブロック構成を例示する図である。情報処理装置300は、例えば、サーバコンピュータ、パーソナルコンピュータ(PC)、ノートPC、スマートフォン、タブレット端末、及び携帯電話機などのコンピュータであってよい。情報処理装置300は、例えば、制御部301及び記憶部302を含む。制御部301は、例えば起動部311、取得部312、判定部313、及び実行部314を含む。情報処理装置300の記憶部302は、例えば、後述する設定情報700などの情報を記憶している。これらの各部の詳細及び記憶部302に格納されている情報の詳細については後述する。
続いて、実施形態に係る起動完了判定処理について説明する。以下で述べる実施形態では、制御部301は、或る時刻に取得した監視対象のプロセスのスレッドダンプと、別の時刻に取得した監視対象のプロセスのスレッドダンプとを比較する。そして、制御部301は、比較の結果、スレッドダンプの時間変化が僅かになった場合に、プロセスの起動が完了したと判定する。なお、スレッドダンプとは、例えば、プロセス内で実行されている1又は複数のスレッド毎に、スレッドの内部で動作中の関数の情報を、関数の呼び出し関係を含めて出力したスナップショットのデータである。例えば、スレッドダンプには、スレッドごとに、実行中の関数や、関数内で実行中の命令を示す情報(例えば、プログラム内での行番号)が含まれていてよい。なお、関数は、例えば、メソッド、ファンクション、又はサブルーチンなどと呼ばれてもよい。
図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は、プロセス内で呼び出されている関数のうち、実際に実行されており実行内容が変化している関数だけを抽出することができる。
図5は、スレッドダンプの差分の時間変化を例示する図である。図5には、プロセスの起動開始後に4つの時刻(時刻1〜時刻4)において取得されたスレッドダンプの差分が示されている。例えば、時刻1のスレッドダンプの差分は、起動開始後に所定時間経過後の第1の時刻に取得されたスレッドダンプと、第1の時刻から更に所定時間経過後の第2の時刻におけるスレッドダンプとの差分であってよい。また、時刻2における差分は第2の時刻のスレッドダンプと、第2の時刻から所定時間経過後の第3の時刻のスレッドダンプとの差分であってよい。同様に、所定時間経過後のスレッドダンプと1つ前に取得されたスレッドダンプとの差分が時刻3及び時刻4で取得されてよい。
そして、図5に示す様に、スレッドダンプの差分は、起動開始後に時間の経過とともに少なくなっており、時刻4に示す例では差分が無くなっている。例えば、プロセスの起動時には、様々な関数が呼び出されるため、差分は大きくなる傾向にある。一方で、プロセスの起動が完了すると、他のプロセスからのリクエスト待ちの状態など、プロセスは何らかのアクションの待ち状態になることが多い。待ち状態では、スレッドダンプの差分が小さくなる傾向がある。そのため、スレッドダンプの差分が僅かになれば、プロセスの起動が完了したと判定することが可能である。なお、例えば、制御部301は、スレッドダンプの差分の量を示す値が所定の閾値以下となった場合に、スレッドダンプの差分が僅かになったと判定してよい。なお、スレッドダンプを所定時間毎に取得する例が述べられているが、実施形態はこれに限定されるものではなく、別の実施形態では、定期的なタイミングではなく不定期な所定のタイミングでスレッドダンプが取得されてもよい。
図6は、実施形態に係るプロセス202の起動完了判定処理を例示する図である。制御部301は、例えば、プロセス202を起動する指示が入力されると、図6の動作フローを開始してよい。なお、プロセス202を起動する指示は、例えば、複数のプロセス202の起動を指示する起動指示であってよく、或いは、起動の完了後に通知するように設定された起動指示であってよい。
ステップ601(以降、ステップを“S”と記載し、例えば、S601と表記する)において制御部301は、起動順序を決定する。例えば、プロセス202の起動指示が、複数のプロセス202を起動する起動指示である場合、制御部301は、起動指示の入力された複数のプロセス202と対応する設定情報700を参照する。
図7は、設定情報700を例示する図である。設定情報700は、プロセス202に対する設定が登録されていてよく、例えば、動作時に依存する依存先のプロセスの情報を含んでいてよい。例えば、図7には、プロセスBに対する設定が登録された設定情報700を例示しており、プロセスBは、プロセスAに依存していることが示されている。
そして、S601では制御部301は、例えば、起動指示の入力された複数のプロセス202と対応する設定情報700を参照する。制御部301は、参照した複数のプロセス202と対応する設定情報700に基づいて、他のプロセス202に依存しているプロセス202を、依存先のプロセス202の起動完了を待ってから起動するように、起動順序を決定してよい。なお、例えば、依存関係の無いプロセス202については、制御部301は、最初の順番を割り当てて並列で起動するように起動順序を決定してよい。また、例えば、1つのプロセス202を起動する起動指示が入力されている場合、制御部301は、起動順序を決定しなくてもよい。
S602において制御部301は、S601で決定した起動順序において最初の順番が割り当てられているプロセス202の起動コマンドを実行して起動する。なお、1つのプロセス202を起動する起動指示が入力されている場合、制御部301は、そのプロセス202を起動してよい。
S603において制御部301は、プロセス202の起動完了待ちがありか否かを判定する。例えば、制御部301は、S601で決定した起動順序においてプロセス202の依存関係があり、依存先のプロセス202の起動完了後に起動されるプロセス202がある場合、S603においてYESと判定してよい。また、例えば、S603において制御部301は、入力された起動指示が、起動の完了後に通知するように設定された起動指示である場合、S603においてYESと判定してよい。一方、S601で決定した起動順序においてプロセス202の依存関係が無い場合や、起動指示が起動の完了後に通知するように設定された起動指示ではない場合、S603において制御部301はNOと判定し、本動作フローは終了してよい。S603においてYESと判定した場合、フローはS604に進む。
S604において制御部301は、S602で起動したプロセス202のうちから、依存関係を有するプロセス202の依存先となっているプロセス202のスレッドダンプを取得する。なお、S604からS606の処理は繰り返し処理であり、繰り返しによりS604の処理を再び実行する場合には、制御部301は、前回の実行から所定時間経過後にスレッドダンプを取得してよい。
S605において制御部301は、S604からS606の処理の繰り返しにおいて、前回取得したスレッドダンプと、今回取得したスレッドダンプとのデータを比較して、差分の量を示す値を取得する。例えば、制御部301は、スレッドダンプがテキストデータで出力される場合、前回取得したスレッドダンプと、今回取得したスレッドダンプとで文字列を比較し、一致しない文字の数を差分の量を示す値として取得してよい。なお、制御部301は、一例では、一致しない文字の数をスレッドダンプの全体を比較することで抽出して差分の量を示す値として用いてよい。或いは、制御部301は、スレッドダンプに含まれる各スレッドを、スレッドに割り当てられた番号等で識別可能な場合、スレッドごとに文字列を比較し、一致しない文字の数を抽出して差分の量を示す値として用いてよい。また更には、差分の量を示す値は、比較する2つのスレッドダンプのうちで、一致しない文字を含む行の数であってもよいし、スレッドダンプの全体の行数に対する一致しない文字を含む行の割合で表されてもよい。
S606において制御部301は、差分の量を示す値が、所定の閾値以下か否かを判定する。所定の閾値は、差分の量を示す値の種類に応じて定められてよく、その閾値以下であればプロセスの起動が完了している可能性の高い値に設定されてよい。例えば、スレッドの関数が、待ち状態に入り処理を停止している場合、その関数についての差分は0になる。一方、スレッドの関数が、例えば、所定の結果が得られるまで無限ループで待機している場合、その関数についての差分は0にはならない。そのため、こうした無限ループなどのように差分が0にはならないが起動は完了している場合も考慮して、起動が完了したことを判定できる値に閾値は設定されてよい。例えば、閾値は、既存の様々なプログラムの起動完了状態において、スレッドダンプの差分の量を示す値を取得し、それらの傾向から経験則で定められてもよい。
S606において差分の量を示す値が所定の閾値以下でない場合(S606がNO)、フローはS604に戻り。前回のスレッドダンプの取得から所定時間経過後にスレッドダンプを再び取得する。一方、S606において差分の量を示す値が所定の閾値以下である場合(S604がYES)、フローはS607に進む。
S607において制御部301は、監視対象のプロセスの起動完了後に実行する処理を実行する。なお、監視対象のプロセスの起動完了後に実行する処理は、例えば、監視対象のプロセス202にアクセスして処理を実行する他のプロセス202などの監視対象のプロセス202と依存関係を有するプロセス202を起動する処理であってよい。或いは、監視対象のプロセス202の起動完了後に実行する処理は、起動したプロセス202にリクエストを送るなど新たにコマンドを実行する処理であってもよい。更には、監視対象のプロセス202の起動完了後に実行する処理は、ユーザにプロセスの起動が完了したことを通知する処理であってよい。この場合、制御部301は、例えば、プロセス202の起動が完了したことを示すメッセージを、情報処理装置300に接続された表示装置の表示画面に表示したり、或いは、情報処理装置300に接続された音声出力装置から音を出力したりしてよい。
S608において制御部301は、起動完了待ちしている全てのプロセス202の起動を完了したか否かを判定する。起動完了待ちしている全てのプロセス202の起動を完了していない場合(S608がNO)、フローはS604に戻り、例えば、S607で新たに起動したプロセス202を監視対象にしてスレッドダンプを取得し、処理を継続する。一方、起動完了待ちしている全てのプロセス202の起動を完了している場合(S608がYES)、本動作フローは終了する。
以上で述べた様に、実施形態によれば制御部301は、起動指示に応じて起動したプロセス202が、第1の時刻に実行している処理の内容を示すスレッドダンプと、第2の時刻に実行している処理の内容を示すスレッドダンプとを取得する。そして、制御部301は、取得した2つのスレッドダンプの比較結果に基づき、プロセスの起動処理が完了したか否かを判定する。そのため、例えば、図2を参照して述べた例のように、プロセスごとに起動完了の判定を実行するための情報を設定情報に登録しておかなくてもよく、起動完了の判定を実行することができる。従って、起動完了の判定にかかる労力やコストを削減することができる。また、例えば、ポートの開放やログの出力などのプロセス202の起動完了を示す情報の取得が難しいプロセス202であっても、スレッドダンプは、プロセス202の仕様によらず取得することできるため、起動の完了を判定することが可能である。
なお、上述の実施形態では、異なる時刻でスレッドダンプを取得し、取得した異なる時刻のスレッドダンプの差分の大きさを示す情報を取得して起動完了を判定する。そのため、例えば、プロセス202ごとに起動完了時のスレッドダンプの状態を示す情報を個別に定義して判定しなくてもプロセス202の起動の完了を判定することができる。
従って、上述の実施形態によれば、プロセスの起動完了の判定のためのコストを削減することができる。
<変形例>
上述の実施形態では、差分の量を示す値が所定の閾値以下である場合、監視対象のプロセス202の起動が完了したと判定する例を述べている。しかしながら、例えば、実行する処理によっては、一時的に差分の量が低下したあと再び差分が増えることも起こり得る。そこで、変形例では、制御部301は、差分の量を示す値が所定の閾値以下になった状態が所定時間以上継続した場合に、プロセス202の起動が完了したと判定する。
図8は、変形例に係るプロセスの起動完了判定処理を例示する図である。制御部301は、例えば、プロセス202を起動する指示が入力されると、変形例に係る図8の動作フローを開始してよい。なお、プロセス202を起動する指示は、例えば、複数のプロセス202の起動を指示する起動指示であってよく、或いは、起動の完了後に通知するように設定された起動指示であってよい。
なお、図8の動作フローの処理は図6の動作フローの処理と対応する処理を実行してよく、例えば、S801〜S806において、制御部301は、図6のS601からS606と同様の処理を実行してよい。
そして、S806において差分の量を示す値が所定の閾値以下である場合(S806がYES)、フローはS807に進む。S807において制御部301は、差分の量を示す値が所定の閾値以下の状態が所定時間以上継続しているか否かを判定する。差分の量を示す値が所定の閾値以下の状態が所定時間以上継続していない場合(S807がNO)、フローはS804に戻り、前回のスレッドダンプの取得から所定時間経過後に再びスレッドダンプを取得して処理を繰り返す。一方、差分の量を示す値が所定の閾値以下の状態が所定時間以上継続している場合(S807がYES)、フローはS808に進み、制御部301は、監視対象のプロセス202の起動完了後に実行する処理を実行する。
そして、S809において、制御部301は、図6のS608と同様の処理を実行し、本動作フローは終了してよい。
以上で述べた様に変形例では、制御部301は、差分の量を示す値が所定の閾値以下の状態が所定時間以上継続した場合に、プロセスの起動が完了したと判定する。そのため、変形例は、第1の実施形態が奏する効果に加えて、例えば、スレッドダンプの差分が一旦下がったあとで再び増加する場合に、誤ってプロセスの起動が完了したと判定してしまうことを抑止できる。従って、変形例によれば、プロセスの起動の完了をより正確に判定することができる。
なお、上述の実施形態において、例えば、図6のS601〜S602及び図8のS801〜S802の処理では、制御部301は、例えば、起動部311として動作する。また、制御部301は、例えば、図6のS604及び図8のS804の処理において、取得部として動作する。制御部301は、例えば、図6のS606及び図8のS806〜S807の処理において、判定部として動作する。制御部301は、例えば、図6のS607及び図8のS808の処理において、実行部として動作する。
また、上述の図6及び図8の動作フローに示す処理の少なくとも一部は、例えば、PaaS基盤などのプラットフォームに実装されている監視プロセス201が実行してもよく、別に実装された起動完了判定処理を実行する判定プロセスが実行してもよい。例えば、上述の起動部311は、監視プロセス201に実装されてもよく、監視プロセス201は、図6のS601〜S603又は図8のS801〜S803の処理を実行してよい。そして、監視プロセス201が、S603又はS803で、YESと判定した場合に、監視プロセス201とは別に実装された判定プロセスに、プロセスの起動が完了したか否かの判定を依頼してよい。そして、判定プロセスは、依頼を受信すると、図6のS604以降又は図8のS804以降の処理を実行してよい。即ち、実施形態では、例えば、PaaS基盤などの既存のプラットフォームの機能を、上述の動作フローの一部の処理に利用してもよい。
以上において、実施形態を例示したが、実施形態はこれに限定されるものではない。例えば、上述の動作フローは例示であり、実施形態はこれに限定されるものではない。可能な場合には、動作フローは、処理の順番を変更して実行されてもよく、別に更なる処理を含んでもよく、又は、一部の処理が省略されてもよい。
図9は、実施形態に係る情報処理装置300を実現するためのコンピュータ900のハードウェア構成を例示する図である。図9の情報処理装置300を実現するためのハードウェア構成は、例えば、プロセッサ901、メモリ902、記憶装置903、読取装置904、通信インタフェース906、及び入出力インタフェース907を備える。なお、プロセッサ901、メモリ902、記憶装置903、読取装置904、通信インタフェース906、入出力インタフェース907は、例えば、バス908を介して互いに接続されている。
プロセッサ901は、例えば、シングルプロセッサであっても、マルチプロセッサやマルチコアであってもよい。プロセッサ901は、メモリ902を利用して例えば上述の動作フローの手順を記述した判定プログラムを実行することにより、上述した各制御部301の一部または全部の機能を提供する。例えば、プロセッサ901は、プログラムを読み出して実行することで、起動部311、取得部312、判定部313、及び実行部314として動作してよい。また、一実施形態においては、プロセッサ901は、プログラムを読み出して実行することで、システム200として動作してもよい。
メモリ902は、例えば半導体メモリであり、RAM領域及びROM領域を含んでいてよい。記憶装置903は、例えばハードディスク、フラッシュメモリ等の半導体メモリ、又は外部記憶装置である。なお、RAMは、Random Access Memoryの略称である。また、ROMは、Read Only Memoryの略称である。
読取装置904は、プロセッサ901の指示に従って着脱可能記憶媒体905にアクセスする。着脱可能記憶媒体905は、例えば、半導体デバイス(USBメモリ等)、磁気的作用により情報が入出力される媒体(磁気ディスク等)、光学的作用により情報が入出力される媒体(CD−ROM、DVD等)などにより実現される。なお、USBは、Universal Serial Busの略称である。CDは、Compact Discの略称である。DVDは、Digital Versatile Diskの略称である。
そして、上述の記憶部302は、例えば、メモリ902、記憶装置903、及び着脱可能記憶媒体905を含む。情報処理装置300の記憶装置903には、例えば、設定情報700が格納されている。
通信インタフェース906は、プロセッサ901の指示に従ってネットワークを介して又は他の装置に直接接続し、他の装置とデータを送受信する。入出力インタフェース907は、例えば、入力装置及び出力装置との間のインタフェースであってよい。入力装置は、例えばユーザからの指示を受け付けるキーボードやマウスなどのデバイスである。出力装置は、例えばディスプレーなどの表示装置、及びスピーカなどの音声装置である。
実施形態に係る各プログラムは、例えば、下記の形態で情報処理装置300に提供される。
(1)記憶装置903に予めインストールされている。
(2)着脱可能記憶媒体905により提供される。
(3)プログラムサーバなどのサーバから提供される。
なお、図9を参照して述べた情報処理装置300を実現するためのコンピュータ900のハードウェア構成は、例示であり、実施形態はこれに限定されるものではない。例えば、上述の制御部301の一部または全部の機能がFPGA及びSoCなどによるハードウェアとして実装されてもよい。なお、FPGAは、Field Programmable Gate Arrayの略称である。SoCは、System-on-a-chipの略称である。
以上において、いくつかの実施形態が説明される。しかしながら、実施形態は上記の実施形態に限定されるものではなく、上述の実施形態の各種変形形態及び代替形態を包含するものとして理解されるべきである。例えば、各種実施形態は、その趣旨及び範囲を逸脱しない範囲で構成要素を変形して具体化できることが理解されよう。また、前述した実施形態に開示されている複数の構成要素を適宜組み合わせることにより、種々の実施形態が実施され得ることが理解されよう。更には、実施形態に示される全構成要素からいくつかの構成要素を削除して又は置換して、或いは実施形態に示される構成要素にいくつかの構成要素を追加して種々の実施形態が実施され得ることが当業者には理解されよう。
200 システム
201 監視プロセス
202 プロセス
300 情報処理装置
301 制御部
302 記憶部
311 起動部
312 取得部
313 判定部
314 実行部
900 コンピュータ
901 プロセッサ
902 メモリ
903 記憶装置
904 読取装置
905 着脱可能記憶媒体
906 通信インタフェース
907 入出力インタフェース
908 バス

Claims (5)

  1. 起動指示に応じて起動したプロセスが第1の時刻に実行する処理の内容を示す第1の情報と、前記プロセスが第2の時刻に実行する処理の内容を示す第2の情報とを取得し、
    取得した前記第1の情報及び前記第2の情報の比較結果に基づき、前記プロセスの起動処理が完了したか否かを判定する、
    処理をコンピュータに実行させる判定プログラム。
  2. 前記判定する処理は、前記第1の情報と前記第2の情報との差分の大きさを表す値が、所定の閾値以下である状態が、所定時間以上継続した場合に、前記プロセスの起動処理が完了したと判定する、
    ことを特徴とする請求項1に記載の判定プログラム。
  3. 前記第1の情報は、前記第1の時刻において前記プロセス内で実行されている1又は複数のスレッドのそれぞれが実行している関数の情報を含み、
    前記第2の情報は、前記第2の時刻において前記プロセス内で実行されている1又は複数のスレッドのそれぞれが実行している関数の情報を含み、
    前記判定する処理は、前記第1の情報と前記第2の情報とをスレッド毎に比較して前記プロセスの起動処理が完了したか否かを判定する、
    ことを特徴とする請求項1又は2に記載の判定プログラム。
  4. 起動指示に応じて起動したプロセスが、第1の時刻に実行する処理の内容を示す第1の情報と、前記プロセスが第2の時刻に実行する処理の内容を示す第2の情報とを取得する取得部、
    取得した前記第1の情報及び前記第2の情報の比較結果に基づき、前記プロセスの起動処理が完了したか否かを判定する判定部、
    を含む情報処理装置。
  5. 起動指示に応じて起動したプロセスが、第1の時刻に実行する処理の内容を示す第1の情報と、前記プロセスが第2の時刻に実行する処理の内容を示す第2の情報とを取得し、
    取得した前記第1の情報及び前記第2の情報の比較結果に基づき、前記プロセスの起動処理が完了したか否かを判定する、
    ことを含む、コンピュータが実行する判定方法。
JP2017152596A 2017-08-07 2017-08-07 判定プログラム、情報処理装置、及び判定方法 Active JP6919399B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017152596A JP6919399B2 (ja) 2017-08-07 2017-08-07 判定プログラム、情報処理装置、及び判定方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017152596A JP6919399B2 (ja) 2017-08-07 2017-08-07 判定プログラム、情報処理装置、及び判定方法

Publications (2)

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

Family

ID=65523477

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017152596A Active JP6919399B2 (ja) 2017-08-07 2017-08-07 判定プログラム、情報処理装置、及び判定方法

Country Status (1)

Country Link
JP (1) JP6919399B2 (ja)

Citations (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
JP2008225745A (ja) * 2007-03-12 2008-09-25 Nec Corp プロセス制御装置および方法およびプログラム
US7685575B1 (en) * 2004-06-08 2010-03-23 Sun Microsystems, Inc. Method and apparatus for analyzing an application
JP2011053908A (ja) * 2009-09-02 2011-03-17 Lenovo Singapore Pte Ltd ブート時間を短縮するコンピュータ・プログラム

Patent Citations (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 (ja) * 2007-03-12 2008-09-25 Nec Corp プロセス制御装置および方法およびプログラム
JP2011053908A (ja) * 2009-09-02 2011-03-17 Lenovo Singapore Pte Ltd ブート時間を短縮するコンピュータ・プログラム

Also Published As

Publication number Publication date
JP6919399B2 (ja) 2021-08-18

Similar Documents

Publication Publication Date Title
US11720368B2 (en) Memory management of data processing systems
US9558016B2 (en) Platform system, method for changing support hardware configuration of universal extensible firmware interface basic input output system and computer program product
US8812983B2 (en) Automatic magnification and selection confirmation
TWI573075B (zh) 持續及有彈性之工作處理
TWI446262B (zh) 在常式內切換執行緒之技術
US20160357661A1 (en) Automated dynamic test case generation
US9733927B2 (en) Detection of software or hardware incompatibilities in software packages
US10802847B1 (en) System and method for reproducing and resolving application errors
US11709756B2 (en) Dynamic distributed tracing instrumentation in a microservice architecture
CN106598637B (zh) 节点内的部件的选择性加载方法
US10162963B2 (en) Malware detection and identification using deviations in one or more operating parameters
EP2869189A1 (en) Boot up of a multiprocessor computer
CN108628733B (zh) 批量业务处理操作的测试方法及装置
TW201820198A (zh) 檢測系統及檢測方法
CN111444117B (zh) 存储空间碎片化实现方法、装置、存储介质及电子设备
CN111427738B (zh) 展示方法、应用监控模块、字节码增强模块及展示系统
CN111857854A (zh) 关机资源加载方法、装置、存储介质和电子设备
JP6018344B2 (ja) 動的読み込みコード解析装置、動的読み込みコード解析方法及び動的読み込みコード解析プログラム
JP6919399B2 (ja) 判定プログラム、情報処理装置、及び判定方法
CN108009039B (zh) 终端信息的记录方法、装置、存储介质及电子设备
US10628583B2 (en) Detecting a spoofed image in an information handling system
US11726860B2 (en) Intelligent automatic support
US20170060571A1 (en) System and method for masking complexity in a heterogeneous development environment
JP6662861B2 (ja) ユーザアクションに応答して直接操作の有効化を決定するためのヒットテスト
US10872019B2 (en) Load and save recovery partition using mobile device

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