(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024130960
(43)【公開日】2024-09-30
(54)【発明の名称】プロセス分析装置、プロセス分析方法、及びコンピュータ読み取り可能な記録媒体
(51)【国際特許分類】
G06F 21/56 20130101AFI20240920BHJP
G06F 11/07 20060101ALI20240920BHJP
G06F 11/34 20060101ALI20240920BHJP
【FI】
G06F21/56 360
G06F11/07 151
G06F11/34 176
【審査請求】未請求
【請求項の数】15
【出願形態】OL
(21)【出願番号】P 2023040941
(22)【出願日】2023-03-15
(71)【出願人】
【識別番号】000232092
【氏名又は名称】NECソリューションイノベータ株式会社
(74)【代理人】
【識別番号】110002044
【氏名又は名称】弁理士法人ブライタス
(72)【発明者】
【氏名】西村 善行
【テーマコード(参考)】
5B042
【Fターム(参考)】
5B042JJ29
5B042MA14
5B042MC22
5B042MC40
(57)【要約】
【課題】コンピュータシステムにおいて実行されているプロセスの異常判定の精度を向上させる。
【解決手段】プロセス分析装置10は、分析対象となるコンピュータシステムにおいて時系列に沿って取得された、プロセスの実行時の性能ログを、予め設定された複数の区間それぞれ毎に分割し、更に、区間毎に特徴量を算出する、特徴量算出部12と、区間毎に算出された特徴量それぞれを、予め設定された基準特徴量と比較して、実行されたプロセスが予め設定されたプロセスと同一であるかどうかを判定する、判定処理部13と、を備えている。
【選択図】
図1
【特許請求の範囲】
【請求項1】
分析対象となるコンピュータシステムにおいて時系列に沿って取得された、プロセスの実行時の性能ログを、予め設定された複数の区間それぞれ毎に分割し、更に、前記区間毎に特徴量を算出する、特徴量算出部と、
前記区間毎に算出された前記特徴量それぞれを、予め設定された基準特徴量と比較して、実行された前記プロセスが予め設定されたプロセスと同一であるかどうかを判定する、判定処理部と、
を備えている、ことを特徴とするプロセス分析装置。
【請求項2】
前記基準特徴量を設定する、基準特徴量設定部を更に備え、
前記基準特徴量設定部は、
前記分析対象となるコンピュータシステムにおける、予め設定された複数のプロセスそれぞれ毎の性能ログを時系列に沿って取得し、
予め設定された複数のプロセスそれぞれ毎に、対応する性能ログを前記区間毎に分割し、前記区間毎に特徴量を算出し、算出した特徴量を、予め設定された複数のプロセスそれぞれにおける、前記区間毎の前記基準特徴量として設定する、
請求項1に記載のプロセス分析装置。
【請求項3】
前記判定処理部が、
実行された前記プロセスについて、予め設定された複数のプロセスそれぞれ毎に、区分毎に算出された前記特徴量と各区分の基準特徴量との比較を行い、各区分について前記特徴量が前記基準特徴量に一致する程度を表す指標を算出し、
更に、予め設定された複数のプロセスそれぞれ毎に、各区分について算出された前記指標を用いて、当該プロセスについての総合値を算出し、
算出した前記総合値を用いて、予め設定された複数のプロセスのうち、実行された前記プロセスと最も一致するプロセスを特定し、特定したプロセスを、実行された前記プロセスと同一のプロセスであると判定する、
請求項2に記載のプロセス分析装置。
【請求項4】
前記特徴量が、前記区間における性能ログの値の合計値、及び平均値のうち少なくとも一つである、
請求項1に記載のプロセス分析装置。
【請求項5】
前記性能ログが、CPU活動量のログ、メモリ活動量のログ、ディスク活動量のログ、ネットワーク活動量のログ、及びオペレーティングシステム関連の活動量のログのうちの少なくとも1つを含む、
請求項1に記載のプロセス分析装置。
【請求項6】
分析対象となるコンピュータシステムにおいて時系列に沿って取得された、プロセスの実行時の性能ログを、予め設定された複数の区間それぞれ毎に分割し、更に、前記区間毎に特徴量を算出する、特徴量算出ステップと、
前記区間毎に算出された前記特徴量それぞれを、予め設定された基準特徴量と比較して、実行された前記プロセスが予め設定されたプロセスと同一であるかどうかを判定する、判定処理ステップと、
を有する、ことを特徴とするプロセス分析方法。
【請求項7】
前記基準特徴量を設定する、基準特徴量設定ステップを更に有し、
前記基準特徴量設定ステップにおいて、
前記分析対象となるコンピュータシステムにおける、予め設定された複数のプロセスそれぞれ毎の性能ログを時系列に沿って取得し、
予め設定された複数のプロセスそれぞれ毎に、対応する性能ログを前記区間毎に分割し、前記区間毎に特徴量を算出し、算出した特徴量を、予め設定された複数のプロセスそれぞれにおける、前記区間毎の前記基準特徴量として設定する、
請求項6に記載のプロセス分析方法。
【請求項8】
前記判定処理ステップにおいて、
実行された前記プロセスについて、予め設定された複数のプロセスそれぞれ毎に、区分毎に算出された前記特徴量と各区分の基準特徴量との比較を行い、各区分について前記特徴量が前記基準特徴量に一致する程度を表す指標を算出し、
更に、予め設定された複数のプロセスそれぞれ毎に、各区分について算出された前記指標を用いて、当該プロセスについての総合値を算出し、
算出した前記総合値を用いて、予め設定された複数のプロセスのうち、実行された前記プロセスと最も一致するプロセスを特定し、特定したプロセスを、実行された前記プロセスと同一のプロセスであると判定する、
請求項7に記載のプロセス分析方法。
【請求項9】
前記特徴量が、前記区間における性能ログの値の合計値、及び平均値のうち少なくとも一つである、
請求項6に記載のプロセス分析方法。
【請求項10】
前記性能ログが、CPU活動量のログ、メモリ活動量のログ、ディスク活動量のログ、ネットワーク活動量のログ、及びオペレーティングシステム関連の活動量のログのうちの少なくとも1つを含む、
請求項6に記載のプロセス分析方法。
【請求項11】
コンピュータに、
分析対象となるコンピュータシステムにおいて時系列に沿って取得された、プロセスの実行時の性能ログを、予め設定された複数の区間それぞれ毎に分割し、更に、前記区間毎に特徴量を算出する、特徴量算出ステップと、
前記区間毎に算出された前記特徴量それぞれを、予め設定された基準特徴量と比較して、実行された前記プロセスが予め設定されたプロセスと同一であるかどうかを判定する、判定処理ステップと、
を実行させる、プログラム。
【請求項12】
前記コンピュータに、
前記基準特徴量を設定する、基準特徴量設定ステップを更に実行させ、
前記基準特徴量設定ステップにおいて、
前記分析対象となるコンピュータシステムにおける、予め設定された複数のプロセスそれぞれ毎の性能ログを時系列に沿って取得し、
予め設定された複数のプロセスそれぞれ毎に、対応する性能ログを前記区間毎に分割し、前記区間毎に特徴量を算出し、算出した特徴量を、予め設定された複数のプロセスそれぞれにおける、前記区間毎の前記基準特徴量として設定する、
請求項11に記載のプログラム。
【請求項13】
前記判定処理ステップにおいて、
実行された前記プロセスについて、予め設定された複数のプロセスそれぞれ毎に、区分毎に算出された前記特徴量と各区分の基準特徴量との比較を行い、各区分について前記特徴量が前記基準特徴量に一致する程度を表す指標を算出し、
更に、予め設定された複数のプロセスそれぞれ毎に、各区分について算出された前記指標を用いて、当該プロセスについての総合値を算出し、
算出した前記総合値を用いて、予め設定された複数のプロセスのうち、実行された前記プロセスと最も一致するプロセスを特定し、特定したプロセスを、実行された前記プロセスと同一のプロセスであると判定する、
請求項12に記載のプログラム。
【請求項14】
前記特徴量が、前記区間における性能ログの値の合計値、及び平均値のうち少なくとも一つである、
請求項11に記載のプログラム。
【請求項15】
前記性能ログが、CPU活動量のログ、メモリ活動量のログ、ディスク活動量のログ、ネットワーク活動量のログ、及びオペレーティングシステム関連の活動量のログのうちの少なくとも1つを含む、
請求項11に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、コンピュータシステムにおいて実行されるプロセスの分析を行うための、プロセス分析装置及びプロセス分析方法に関し、更には、これらを実現するためのプログラムに関する。
【背景技術】
【0002】
従来から、コンピュータシステムにおいては、実行されているプロセスが、予定されているプロセスと同一かどうか、即ち、実行されているプロセスに異常が生じているかどうかを判定することが求められる場合がある。このような場合としては、例えば、コンピュータシステムがウィルスに感染している可能性がある場合、コンピュータシステムに何らかの問題が発生した場合、などが挙げられる。
【0003】
前者の場合は、実行されているプロセスが予定されているプロセスと同一かどうかを判定することで、コンピュータシステムがコンピュータウィルスに感染しているかどうかが判定される。また、後者の場合は、予定されているプロセスと異なるプロセスを特定することで、問題の原因となったプロセスが特定される。
【0004】
ここで、特許文献1を用いて、コンピュータシステムがコンピュータウィルスに感染しているかどうかを判定するシステムについて説明する。特許文献1に開示されたシステムは、コンピュータシステムから、設定期間の間に収集されたログデータを分析することによって、コンピュータシステムがコンピュータウィルスに感染しているかどうかを判定する。
【0005】
具体的には、特許文献1に開示されたシステムは、コンピュータシステムから収集されたログデータから特徴量を計算し、計算した特徴量と、予め設定されている基準となる特徴量とを比較する。そして、特許文献1に開示されたシステムは、比較結果の結果、差分が閾値以上である場合は、コンピュータシステムがコンピュータウィルスに感染していると判定する。また、特許文献1に開示されたシステムでは、判定結果に基づいて、コンピュータウィルスの感染の有無が判断に用いられている。
【先行技術文献】
【特許文献】
【0006】
【発明の概要】
【発明が解決しようとする課題】
【0007】
ところで、上述した特許文献1に開示されたシステムでは、コンピュータシステムがコンピュータウィルスに感染しているかどうかの判定は、設定期間の間に収集されたログデータに基づいて行われており、この設定期間中におけるログの時系列変化が考慮されることはない。
【0008】
このため、一定の場合は、上述した特許文献1に開示されたシステムでは、ウィルスによる動作がコンピュータシステムにおける正常な動作であると判断されてしまう可能性がある。ここで一定の場合としては、異常が短い期間にのみ生じていた場合、ウィルスの異常値と打ち消し合う性能ログが出力されている場合、コンピュータシステムの正常なプロセスが偶然ウィルスと同じ性能ログを出力した場合等が挙げられる。
【0009】
つまり、上述した特許文献1に開示されたシステムには、一定の場合に、コンピュータウィルスの感染の有無を精度良く判断できないという問題、コンピュータシステムに発生した問題の原因を精度良く特定できないという問題がある。
【0010】
本開示の目的の一例は、コンピュータシステムにおいて実行されているプロセスの異常判定の精度を向上させることにある。
【課題を解決するための手段】
【0011】
上記目的を達成するため、本開示の一側面におけるプロセス分析装置は、
分析対象となるコンピュータシステムにおいて時系列に沿って取得された、プロセスの実行時の性能ログを、予め設定された複数の区間それぞれ毎に分割し、更に、前記区間毎に特徴量を算出する、特徴量算出部と、
前記区間毎に算出された前記特徴量それぞれを、予め設定された基準特徴量と比較して、実行された前記プロセスが予め設定されたプロセスと同一であるかどうかを判定する、判定処理部と、
を備えている、ことを特徴とする。
【0012】
また、上記目的を達成するため、本開示の一側面におけるプロセス分析方法は、
分析対象となるコンピュータシステムにおいて時系列に沿って取得された、プロセスの実行時の性能ログを、予め設定された複数の区間それぞれ毎に分割し、更に、前記区間毎に特徴量を算出する、特徴量算出ステップと、
前記区間毎に算出された前記特徴量それぞれを、予め設定された基準特徴量と比較して、実行された前記プロセスが予め設定されたプロセスと同一であるかどうかを判定する、判定処理ステップと、
を有する、ことを特徴とする。
【0013】
更に、上記目的を達成するため、本開示の一側面におけるプログラムは、
コンピュータに、
分析対象となるコンピュータシステムにおいて時系列に沿って取得された、プロセスの実行時の性能ログを、予め設定された複数の区間それぞれ毎に分割し、更に、前記区間毎に特徴量を算出する、特徴量算出ステップと、
前記区間毎に算出された前記特徴量それぞれを、予め設定された基準特徴量と比較して、実行された前記プロセスが予め設定されたプロセスと同一であるかどうかを判定する、判定処理ステップと、
を実行させる、ことを特徴とする。
【発明の効果】
【0014】
以上のように本開示によれば、コンピュータシステムにおいて実行されているプロセスの異常判定の精度を向上できる。
【図面の簡単な説明】
【0015】
【
図1】
図1は、実施の形態におけるプロセス分析装置の概略構成を示す構成図である。
【
図2】
図2は、実施の形態におけるプロセス分析装置の構成を具体的に示す構成図である。
【
図3】
図3は、実施の形態において取得された性能ログの一例を概念的に示す図である。
【
図4】
図4は、実施の形態において指標の算出に用いられるガウス分布の一例を示す図である。
【
図5】
図5は、実施の形態におけるプロセス分布装置の動作を示すフロー図である。
【
図6】
図6は、実施の形態におけるプロセス分析装置を実現するコンピュータの一例を示すブロック図である。
【発明を実施するための形態】
【0016】
(実施の形態)
以下、実施の形態における、プロセス分析装置、プロセス分析方法、及びプログラムについて、
図1~
図6を参照しながら説明する。
【0017】
[装置構成]
最初に、実施の形態におけるプロセス分析装置の概略構成について
図1を用いて説明する。
図1は、実施の形態におけるプロセス分析装置の概略構成を示す構成図である。
【0018】
図1に示す、実施の形態におけるプロセス分析装置10は、コンピュータシステムにおいて実行されるプロセスを分析する装置である。
図1に示すように、プロセス分析装置10は、特徴量算出部12と、判定処理部13とを備えている。
【0019】
このうち、特徴量算出部12は、分析対象となるコンピュータシステムにおいて時系列に沿って取得された、プロセスの実行時の性能ログを、予め設定された複数の区間それぞれ毎に分割し、更に、区間毎に特徴量を算出する。判定処理部13は、区間毎に算出された特徴量それぞれを、予め設定された基準特徴量と比較して、プロセスが予め設定されたプロセスと同一であるかどうかを判定する。
【0020】
このように、プロセス分析装置10は、性能ログを時系列に沿った区間で分割し、区間毎の性能ログから得られた特徴量から、実行されているプロセスが予め設定されているプロセスと同一かどうかを判定する。そして、実行されているプロセスが予め設定されているプロセスいずれとも同一でない場合は、異常が生じていると判断できる。
【0021】
つまり、プロセス分析装置10は、異常によって変化しやすい性能ログから異常を検知する。このため、上述した、異常が短い期間にのみ生じていた場合、ウィルスの異常値と打ち消し合う性能ログが出力されている場合、コンピュータシステムの正常なプロセスが偶然ウィルスと同じ性能ログを出力した場合等においても、プロセス分析装置10は、異常を検知することができる。従って、プロセス分析装置10によれば、コンピュータシステムにおいて実行されているプロセスの異常判定の精度を向上できる。
【0022】
続いて、
図2~
図4を用いて、実施の形態におけるプロセス分析装置10の構成及び機能について具体的に説明する。
図2は、実施の形態におけるプロセス分析装置の構成を具体的に示す構成図である。
【0023】
図2に示すように、実施の形態では、プロセス分析装置10は、上述した、特徴量算出部12、及び判定処理部13に加えて、ログ取得部11と、基準特徴量設定部14とを更に備えている。基準特徴量設定部14は、判定処理部13における処理で用いる基準特徴量を設定する。基準特徴量設定部14の詳細な機能について後述する。
【0024】
また、
図2に示すように、実施の形態では、プロセス分析装置10は、ネットワークを介して、分析対象となるコンピュータシステム20と、コンピュータシステム20の管理者の端末装置30とに接続されている。コンピュータシステム20の具体例としては、サーバコンピュータが挙げられる。
【0025】
更に、
図2に示すように、コンピュータシステム20には、エージェントプログラム21が組み込まれている。エージェントプログラム21は、コンピュータシステム20におけるプロセスの実行時の性能ログを収集する。
【0026】
実施の形態では、性能ログとしては、例えば、CPU活動量のログ、メモリ活動量のログ、ディスク活動量のログ、ネットワーク活動量のログ、及びオペレーティングシステム関連の活動量のログ等が挙げられる。エージェントプログラム21は、これらのうちの少なくとも1つを収集し、収集した性能ログを、プロセス分析装置10に送信する。
【0027】
ログ取得部11は、エージェントプログラム21から、時系列に沿って性能ログを取得する。なお、後述するように、プロセス分析装置10がコンピュータによって構築されている場合は、ログ取得部11は、コンピュータのオペレーティングシステムによっても実現可能である。
図3は、実施の形態において取得された性能ログの一例を概念的に示す図である。
図3の例では、ログ取得部11は、CPU活動量のログ、メモリ活動量のログ、ディスク活動量のログ、ネットワーク活動量のログ、及びオペレーティングシステム関連の活動量のログを取得している。
【0028】
特徴量算出部12は、実施の形態では、ログ取得部11が時系列に沿って取得した性能ログそれぞれを、例えば、「初期化時」、「実行時」、「終了時」の3つの区間に分割する。「初期化時」とは、コンピュータシステム20において、プロセスが起動した後から、プログラムがメモリにロードされて、初期化処理が終わるまでの区間である。「実行時」とは、「初期化時」の終了後から、「終了時」の開始までの区間である。「終了時」は、コンピュータシステム20において、プロセスの終了命令が出てからプロセスが終了するまでの区間である。
【0029】
ここで、「初期化時」及び「終了時」の開始タイミングと終了タイミングは、コンピュータシステム20におけるプログラムのログ及びオペレーティングシステムから判断できる。エージェントプログラム21が、こられのタイミングについて通知している場合は、特徴量算出部12は、通知されたタイミングに基づいて、「初期化時」、「実行時」、及び「終了時」を特定できる。
【0030】
但し、エージェントプログラム21が、こられのタイミングについて通知していない場合がある。この場合について以下に説明する。なお、以下においては、性能ログは単位時間当たりの性能を数値で示しているとする。
【0031】
まず、「初期化時」について説明する。この場合、特徴量算出部12は、性能ログの値が上昇を始めたタイミングを開始タイミングとし、値が一旦上昇した後、底値となったタイミングを初期化時の終了タイミングとする。また、特徴量算出部12は、性能ログの値が設定時間(例えば30秒)以内に下降しない場合は、設定時間の経過時点を、終了タイミングとする。
【0032】
更に、特徴量算出部12は、性能ログの値が開始からの積算値の平均の20%以下の状態にあり、且つ、その状態が設定時間(例えば5秒間)以上継続している、ことを条件に、その状態の始点を開始タイミングとし、その状態の終点を終了タイミングとしてもよい。
【0033】
また、「終了時」については、エージェントプログラム21がタイミングについて通知していない場合は、特徴量算出部12は、性能ログの最小値となった時間から逆算して、設定時間(例えば30秒等)のところを「終了時」の開始タイミングとする。また、特徴量算出部12は、開始タイミングから予め規定した時間が経過したところを終了タイミングとする。
【0034】
特徴量算出部12は、区間の設定後、区間毎に、特徴量として、例えば、区間における性能ログの値の合計値、平均値及び標準偏差のうち少なくとも一つを算出する。具体的には、「初期化時」及び「終了時」においては、性能ログが単位時間当たりの性能を数値で示しているとすると、特徴量算出部12は、特徴量として、区間毎の合計値(積算値)を算出する。また、「初期化時」及び「終了時」において、性能ログが単位時間単位当たりではない性能を数値で示している場合は、特徴量算出部12は、区間毎の平均値を算出する。
【0035】
更に、「実行時」においては、性能ログの種類にかかわらず、特徴量算出部12は、特徴量として、区間毎の平均値を算出する。更に、コンピュータシステム20において、同一のプロセスが、同一の動作環境及び同一の動作プロファイルで、繰り返し実行されている場合は、特徴量算出部12は、「初期化時」、「実行時」及び「終了時」のそれぞれにおいて、特徴量として、平均値と標準偏差とを算出することができる。なお、ここでいう動作環境とは、ハードウェア及びソフトウェアの環境を意味し、動作プロファイルとは、シナリオ及びシステムに負荷をかけるツール等を意味する。
【0036】
基準特徴量設定部14は、上述したように、基準特徴量を設定する。基準特徴量設定部14は、まず、分析対象となるコンピュータシステム20における、予め設定された複数のプロセスそれぞれ毎の性能ログを時系列に沿って取得する。次いで、基準特徴量設定部14は、予め設定された複数のプロセスそれぞれ毎に、対応する性能ログを区間毎に分割し、区間毎に特徴量を算出する。更に、基準特徴量設定部14は、算出した特徴量を、予め設定された複数のプロセスそれぞれにおける、区間毎の前記基準特徴量として設定する。
【0037】
具体的には、基準特徴量の設定に際して、まず、基準特徴量設定部14は、ログ取得部11を介して、コンピュータシステム20から、性能ログを取得する。性能ログの取得は、設定された時間の間行われる。また、この場合、コンピュータシステムにおいては、動作環境、動作プロファイル、プロセスの繰り返し回数等が、予め設定された状態とされる。
【0038】
次いで、基準特徴量設定部14は、上述した特徴量算出部12と同様に、取得した性能ログを、「初期化時」、「実行時」、「終了時」の3つの区間に分割する。更に、基準特徴量設定部14は、区間毎に、上述した特徴量算出部12と同様の手法で、特徴量を算出する。
【0039】
また、基準特徴量設定部14は、上述した一連の処理、即ち、ログの取得、区間毎の分割、及び区間毎の特徴量の算出を、複数回繰り返すことができる。この場合は、基準特徴量設定部14は、回毎に得られた特徴量の平均値と標準偏差とを、基準特徴量として設定することができる。
【0040】
判定処理部13は、実施の形態では、実行されたプロセスについて、予め設定されたプロセス(基準特徴量が算出されているプロセス)毎に、まず、各区画について算出された特徴量と各区画の基準特徴量との比較を行い、区画毎に、特徴量が基準特徴量に一致する程度を表す指標を算出する。
【0041】
具体的には、例えば、特徴量算出部12が、各区間の特徴量として、平均値と標準偏差とを算出し、基準特徴量設定部14が、基準特徴量として、区間毎の平均値と標準偏差とを算出しているとする。この場合、判定処理部13は、区間毎に、基準特徴量である平均値と標準偏差とを用いて、
図4に示すガウス分布を計算する。
図4は、実施の形態において指標の算出に用いられるガウス分布の一例を示す図である。
【0042】
そして、判定処理部13は、区間毎の特徴量として算出されている平均値を、ガウス分布上のどこに位置するかを特定し、特定した位置の確率から、指標を算出する。例えば、区間毎の特徴量として算出されている平均値をaとし、平均値aが1δ以上2δ以下の範囲にあるとする。
図4に示すように、±1δ以下の範囲では確率は68.27%となる。よって、この場合の指標は、31.73(=100%-68.27%)となる。
【0043】
更に、判定処理部13は、予め設定されたプロセス毎に、各区画について算出された指標を用いて、実行されたプロセスについての総合値を算出する。具体的には、判定処理部13は、予め設定されたプロセス毎に、各区画について算出された指標の合計を算出し、得られた値を総合値とする。また、このとき、区間毎に予め重みが設定されている場合は、判定処理部13は、区間毎に重みと指標とを乗算し、得られた乗算値の合計を算出して、総合値としても良い。なお、重みは適宜設定されていれば良い。
【0044】
その後、判定処理部13は、予め設定されたプロセス毎に算出した総合値を用いて、予め設定された複数のプロセスのうち、実行されたプロセスと最も一致するプロセスを特定する。例えば、判定処理部13は、総合値が最も高いプロセスを特定する。そして、判定処理部13は、特定したプロセスを、実行されたプロセスと同一のプロセスであると判定する。また、判定処理部13は、判定結果を示す情報を、管理者の端末装置30に送信する。
【0045】
[装置動作]
次に、実施の形態におけるプロセス分布装置の動作について
図5を用いて説明する。
図5は、実施の形態におけるプロセス分布装置の動作を示すフロー図である。以下の説明においては、適宜
図1~
図4を参照する。また、実施の形態では、プロセス分布装置を動作させることによって、プロセス分布方法が実施される。よって、実施の形態におけるプロセス分布方法の説明は、以下のプロセス分布装置の動作説明に代える。
【0046】
まず、前提として、予め、基準特徴量設定部14が、基準特徴量を設定する。また、ログ取得部11が、分析対象となるコンピュータシステム20におけるプロセスの実行時の性能ログを、時系列に沿って取得する。具体的には、ログ取得部11は、エージェントプログラム21から、時系列に沿って性能ログとして、例えば、CPU活動量のログ、メモリ活動量のログ、ディスク活動量のログ、ネットワーク活動量のログ、及びオペレーティングシステム関連の活動量のログを取得する。
【0047】
続いて、
図5に示すように、特徴量算出部12は、時系列に沿って取得された性能ログを、予め設定された複数の区間それぞれ毎に分割し、更に、区間毎に特徴量を算出する(ステップA1)。
【0048】
具体的には、ステップA1では、特徴量算出部12は、ログ取得部11が時系列に沿って取得した性能ログそれぞれを、例えば、「初期化時」、「実行時」、「終了時」の3つの区間に分割する。そして、特徴量算出部12は、区間の設定後、区間毎に、特徴量として、例えば、区間における性能ログの値の合計値、平均値、又は両方を算出する。
【0049】
次に、判定処理部13は、区間毎に算出された特徴量それぞれを、予め設定された基準特徴量と比較して、プロセスが予め設定されたプロセスと同一であるかどうかを判定する(ステップA2)。
【0050】
例えば、各区間の特徴量として、平均値が算出され、基準特徴量として、区間毎の平均値が算出されているとする。この場合、判定処理部13は、区間毎に、基準特徴量である平均値を用いて、ガウス分布(
図4参照)を計算し、区間毎の特徴量として算出されている平均値を、ガウス分布上のどこに位置するかを特定し、特定した位置の確率から、指標を算出する。
【0051】
更に、判定処理部13は、予め設定されたプロセス毎に、各区画について算出された指標を用いて、実行されたプロセスについての総合値を算出し、算出した総合値を用いて、予め設定されたプロセスのうち、実行されたプロセスと最も一致するプロセスを特定する。
【0052】
その後、判定処理部13は、ステップA3の判定結果を、管理者の端末装置30に送信する(ステップA3)。
【0053】
以上のように、実施の形態によれば、プロセス分析装置10は、性能ログを用いて、実行されているプロセスが予め設定されているプロセスかどうか、即ち、実行されているプロセスに異常が生じているかどうかを判定できる。そして、性能ログは、異常によって変化しやすいことから、異常が短い期間にのみ生じていた場合、ウィルスの異常値と打ち消し合う性能ログが出力されている場合、コンピュータシステムの正常なプロセスが偶然ウィルスと同じ性能ログを出力した場合等においても、プロセス分析装置10は、異常を検知することができる。プロセス分析装置10によれば、コンピュータシステムにおいて実行されているプロセスの異常判定の精度を向上できる。
【0054】
[プログラム]
実施の形態におけるプログラムは、コンピュータに、
図5に示すステップA1~A3を実行させるプログラムであれば良い。このプログラムをコンピュータにインストールし、実行することによって、本実施の形態におけるプロセス分析装置10とプロセス分析方法とを実現することができる。この場合、コンピュータのプロセッサは、特徴量算出部12、及び判定処理部13として機能し、処理を行なう。また、コンピュータとしては、汎用のPCの他に、スマートフォン、タブレット型端末装置が挙げられる。
【0055】
また、実施の形態におけるプログラムは、複数のコンピュータによって構築されたコンピュータシステムによって実行されても良い。この場合は、例えば、各コンピュータが、それぞれ、特徴量算出部12、及び判定処理部13のいずれかとして機能しても良い。
【0056】
[物理構成]
ここで、実施の形態におけるプログラムを実行することによって、プロセス分析装置10を実現するコンピュータについて
図6を用いて説明する。
図6は、実施の形態におけるプロセス分析装置を実現するコンピュータの一例を示すブロック図である。
【0057】
図6に示すように、コンピュータ110は、CPU(Central Processing Unit)111と、メインメモリ112と、記憶装置113と、入力インターフェイス114と、表示コントローラ115と、データリーダ/ライタ116と、通信インターフェイス117とを備える。これらの各部は、バス121を介して、互いにデータ通信可能に接続される。
【0058】
また、コンピュータ110は、CPU111に加えて、又はCPU111に代えて、GPU(Graphics Processing Unit)、又はFPGA(Field-Programmable Gate Array)を備えていても良い。この態様では、GPU又はFPGAが、実施の形態におけるプログラムを実行することができる。
【0059】
CPU111は、記憶装置113に格納された、コード群で構成された実施の形態におけるプログラムをメインメモリ112に展開し、各コードを所定順序で実行することにより、各種の演算を実施する。メインメモリ112は、典型的には、DRAM(Dynamic Random Access Memory)等の揮発性の記憶装置である。
【0060】
また、実施の形態におけるプログラムは、コンピュータ読み取り可能な記録媒体120に格納された状態で提供される。なお、本実施の形態におけるプログラムは、通信インターフェイス117を介して接続されたインターネット上で流通するものであっても良い。
【0061】
また、記憶装置113の具体例としては、ハードディスクドライブの他、フラッシュメモリ等の半導体記憶装置が挙げられる。入力インターフェイス114は、CPU111と、キーボード及びマウスといった入力機器118との間のデータ伝送を仲介する。表示コントローラ115は、ディスプレイ装置119と接続され、ディスプレイ装置119での表示を制御する。
【0062】
データリーダ/ライタ116は、CPU111と記録媒体120との間のデータ伝送を仲介し、記録媒体120からのプログラムの読み出し、及びコンピュータ110における処理結果の記録媒体120への書き込みを実行する。通信インターフェイス117は、CPU111と、他のコンピュータとの間のデータ伝送を仲介する。
【0063】
また、記録媒体120の具体例としては、CF(Compact Flash(登録商標))及びSD(Secure Digital)等の汎用的な半導体記憶デバイス、フレキシブルディスク(Flexible Disk)等の磁気記録媒体、又はCD-ROM(Compact Disk Read Only Memory)などの光学記録媒体が挙げられる。
【0064】
なお、実施の形態におけるプロセス分析装置10は、プログラムがインストールされたコンピュータではなく、各部に対応したハードウェア、例えば、電子回路を用いることによっても実現可能である。更に、プロセス分析装置10は、一部がプログラムで実現され、残りの部分がハードウェアで実現されていてもよい。実施の形態において、コンピュータは、
図6に示すコンピュータに限定されることはない。
【0065】
上述した実施の形態の一部又は全部は、以下に記載する(付記1)~(付記15)によって表現することができるが、以下の記載に限定されるものではない。
【0066】
(付記1)
分析対象となるコンピュータシステムにおいて時系列に沿って取得された、プロセスの実行時の性能ログを、予め設定された複数の区間それぞれ毎に分割し、更に、前記区間毎に特徴量を算出する、特徴量算出部と、
前記区間毎に算出された前記特徴量それぞれを、予め設定された基準特徴量と比較して、実行された前記プロセスが予め設定されたプロセスと同一であるかどうかを判定する、判定処理部と、
を備えている、ことを特徴とするプロセス分析装置。
【0067】
(付記2)
前記基準特徴量を設定する、基準特徴量設定部を更に備え、
前記基準特徴量設定部は、
前記分析対象となるコンピュータシステムにおける、予め設定された複数のプロセスそれぞれ毎の性能ログを時系列に沿って取得し、
予め設定された複数のプロセスそれぞれ毎に、対応する性能ログを前記区間毎に分割し、前記区間毎に特徴量を算出し、算出した特徴量を、予め設定された複数のプロセスそれぞれにおける、前記区間毎の前記基準特徴量として設定する、
付記1に記載のプロセス分析装置。
【0068】
(付記3)
前記判定処理部が、
実行された前記プロセスについて、予め設定された複数のプロセスそれぞれ毎に、区分毎に算出された前記特徴量と各区分の基準特徴量との比較を行い、各区分について前記特徴量が前記基準特徴量に一致する程度を表す指標を算出し、
更に、予め設定された複数のプロセスそれぞれ毎に、各区分について算出された前記指標を用いて、当該プロセスについての総合値を算出し、
算出した前記総合値を用いて、予め設定された複数のプロセスのうち、実行された前記プロセスと最も一致するプロセスを特定し、特定したプロセスを、実行された前記プロセスと同一のプロセスであると判定する、
付記2に記載のプロセス分析装置。
【0069】
(付記4)
前記特徴量が、前記区間における性能ログの値の合計値、及び平均値のうち少なくとも一つである、
付記1に記載のプロセス分析装置。
【0070】
(付記5)
前記性能ログが、CPU活動量のログ、メモリ活動量のログ、ディスク活動量のログ、ネットワーク活動量のログ、及びオペレーティングシステム関連の活動量のログのうちの少なくとも1つを含む、
付記1に記載のプロセス分析装置。
【0071】
(付記6)
分析対象となるコンピュータシステムにおいて時系列に沿って取得された、プロセスの実行時の性能ログを、予め設定された複数の区間それぞれ毎に分割し、更に、前記区間毎に特徴量を算出する、特徴量算出ステップと、
前記区間毎に算出された前記特徴量それぞれを、予め設定された基準特徴量と比較して、実行された前記プロセスが予め設定されたプロセスと同一であるかどうかを判定する、判定処理ステップと、
を有する、ことを特徴とするプロセス分析方法。
【0072】
(付記7)
前記基準特徴量を設定する、基準特徴量設定ステップを更に有し、
前記基準特徴量設定ステップにおいて、
前記分析対象となるコンピュータシステムにおける、予め設定された複数のプロセスそれぞれ毎の性能ログを時系列に沿って取得し、
予め設定された複数のプロセスそれぞれ毎に、対応する性能ログを前記区間毎に分割し、前記区間毎に特徴量を算出し、算出した特徴量を、予め設定された複数のプロセスそれぞれにおける、前記区間毎の前記基準特徴量として設定する、
付記6に記載のプロセス分析方法。
【0073】
(付記8)
前記判定処理ステップにおいて、
実行された前記プロセスについて、予め設定された複数のプロセスそれぞれ毎に、区分毎に算出された前記特徴量と各区分の基準特徴量との比較を行い、各区分について前記特徴量が前記基準特徴量に一致する程度を表す指標を算出し、
更に、予め設定された複数のプロセスそれぞれ毎に、各区分について算出された前記指標を用いて、当該プロセスについての総合値を算出し、
算出した前記総合値を用いて、予め設定された複数のプロセスのうち、実行された前記プロセスと最も一致するプロセスを特定し、特定したプロセスを、実行された前記プロセスと同一のプロセスであると判定する、
付記7に記載のプロセス分析方法。
【0074】
(付記9)
前記特徴量が、前記区間における性能ログの値の合計値、及び平均値のうち少なくとも一つである、
付記6に記載のプロセス分析方法。
【0075】
(付記10)
前記性能ログが、CPU活動量のログ、メモリ活動量のログ、ディスク活動量のログ、ネットワーク活動量のログ、オペレーティングシステム関連の活動量のログのうちの少なくとも1つを含む、
付記6に記載のプロセス分析方法。
【0076】
(付記11)
コンピュータに、
分析対象となるコンピュータシステムにおいて時系列に沿って取得された、プロセスの実行時の性能ログを、予め設定された複数の区間それぞれ毎に分割し、更に、前記区間毎に特徴量を算出する、特徴量算出ステップと、
前記区間毎に算出された前記特徴量それぞれを、予め設定された基準特徴量と比較して、実行された前記プロセスが予め設定されたプロセスと同一であるかどうかを判定する、判定処理ステップと、
を実行させる、プログラム。
【0077】
(付記12)
前記コンピュータに、
前記基準特徴量を設定する、基準特徴量設定ステップを更に実行させ、
前記基準特徴量設定ステップにおいて、
前記分析対象となるコンピュータシステムにおける、予め設定された複数のプロセスそれぞれ毎の性能ログを時系列に沿って取得し、
予め設定された複数のプロセスそれぞれ毎に、対応する性能ログを前記区間毎に分割し、前記区間毎に特徴量を算出し、算出した特徴量を、予め設定された複数のプロセスそれぞれにおける、前記区間毎の前記基準特徴量として設定する、
付記11に記載のプログラム。
【0078】
(付記13)
前記判定処理ステップにおいて、
実行された前記プロセスについて、予め設定された複数のプロセスそれぞれ毎に、区分毎に算出された前記特徴量と各区分の基準特徴量との比較を行い、各区分について前記特徴量が前記基準特徴量に一致する程度を表す指標を算出し、
更に、予め設定された複数のプロセスそれぞれ毎に、各区分について算出された前記指標を用いて、当該プロセスについての総合値を算出し、
算出した前記総合値を用いて、予め設定された複数のプロセスのうち、実行された前記プロセスと最も一致するプロセスを特定し、特定したプロセスを、実行された前記プロセスと同一のプロセスであると判定する、
付記12に記載のプログラム。
【0079】
(付記14)
前記特徴量が、前記区間における性能ログの値の合計値、及び平均値のうち少なくとも一つである、
付記11に記載のプログラム。
【0080】
(付記15)
前記性能ログが、CPU活動量のログ、メモリ活動量のログ、ディスク活動量のログ、ネットワーク活動量のログ、及びオペレーティングシステム関連の活動量のログのうちの少なくとも1つを含む、
付記11に記載のプログラム。
【産業上の利用可能性】
【0081】
以上のように本開示によれば、コンピュータシステムにおいて実行されているプロセスの異常判定の精度を向上できる。本開示は、コンピュータシステムにおいて実行されるプロセスの分析が求められる分野に有効である。
【符号の説明】
【0082】
10 プロセス分析装置
11 ログ取得部
12 特徴量算出部
13 判定処理部
14 基準特徴量設定部
20 コンピュータシステム
21 エージェントプログラム
30 端末装置
110 コンピュータ
111 CPU
112 メインメモリ
113 記憶装置
114 入力インターフェイス
115 表示コントローラ
116 データリーダ/ライタ
117 通信インターフェイス
118 入力機器
119 ディスプレイ装置
120 記録媒体
121 バス