JP7011696B1 - Electronics, control methods, and trained models - Google Patents

Electronics, control methods, and trained models Download PDF

Info

Publication number
JP7011696B1
JP7011696B1 JP2020170592A JP2020170592A JP7011696B1 JP 7011696 B1 JP7011696 B1 JP 7011696B1 JP 2020170592 A JP2020170592 A JP 2020170592A JP 2020170592 A JP2020170592 A JP 2020170592A JP 7011696 B1 JP7011696 B1 JP 7011696B1
Authority
JP
Japan
Prior art keywords
information
thread
usage rate
abnormality
unit
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
JP2020170592A
Other languages
Japanese (ja)
Other versions
JP2022062520A (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.)
Lenovo Singapore Pte Ltd
Original Assignee
Lenovo Singapore Pte 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 Lenovo Singapore Pte Ltd filed Critical Lenovo Singapore Pte Ltd
Priority to JP2020170592A priority Critical patent/JP7011696B1/en
Application granted granted Critical
Publication of JP7011696B1 publication Critical patent/JP7011696B1/en
Publication of JP2022062520A publication Critical patent/JP2022062520A/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

【課題】実行中の処理の異常を精度よく検出すること。【解決手段】電子機器は、プログラムに基づいて処理を実行するプロセッサと、プロセッサを使用しているスレッドごとのプロセッサの使用率を示す情報を取得する取得部と、取得部が取得した情報に基づいて、プロセッサを使用しているスレッドの合計数に対するプロセッサの使用率が所定範囲であるスレッドの数の割合を示す第1情報を算出する算出部と、取得部が取得した情報に基づいて、プロセッサを使用しているスレッドのうち最も使用されたスレッドである第1スレッドの使用率を示す第2情報を抽出する抽出部と、第1情報と第2情報とに基づいて処理の異常を検出する異常検出部と、を備える。【選択図】図1PROBLEM TO BE SOLVED: To accurately detect an abnormality in a process being executed. An electronic device is based on a processor that executes processing based on a program, an acquisition unit that acquires information indicating the usage rate of the processor for each thread that uses the processor, and information acquired by the acquisition unit. The processor is based on the information acquired by the calculation unit and the acquisition unit, which calculates the first information indicating the ratio of the number of threads whose usage rate of the processor is within the predetermined range to the total number of threads using the processor. The extraction unit that extracts the second information indicating the usage rate of the first thread, which is the most used thread among the threads that are using, and the processing abnormality is detected based on the first information and the second information. It is equipped with an abnormality detection unit. [Selection diagram] Fig. 1

Description

本発明は、電子機器、制御方法、及び学習済みモデルに関する。 The present invention relates to electronic devices, control methods, and trained models.

CPU(Central Processing Unit)などのプロセッサを搭載して処理を実行する電子機器では、実行中の処理が原因となってパフォーマンスの低下などの問題が発生することがある(例えば、特許文献1参照)。 In an electronic device equipped with a processor such as a CPU (Central Processing Unit) to execute processing, problems such as performance deterioration may occur due to the processing being executed (see, for example, Patent Document 1). ..

特開2015-184909号公報JP-A-2015-184909

しかしながら、実行中の処理が異常な状態であるか否かをハードウェアの動作状態などから検出しようとしても、例えばCPUの使用率が高くても単に処理量が多いだけで正常に動作をしている場合もあるため、精度よく検出することが難しかった。 However, even if you try to detect whether or not the processing being executed is in an abnormal state from the operating state of the hardware, for example, even if the CPU usage rate is high, it will operate normally just by a large amount of processing. It was difficult to detect it accurately because it may be present.

本発明は、上記した事情に鑑みてなされたもので、実行中の処理の異常を精度よく検出することができる電子機器、制御方法、及び学習済みモデルを提供することを目的の一つとする。 The present invention has been made in view of the above circumstances, and one of the objects of the present invention is to provide an electronic device, a control method, and a trained model capable of accurately detecting an abnormality in a process being executed.

本発明は上記の課題を解決するためになされたものであり、本発明の第1態様に係る電子機器は、プログラムに基づいて処理を実行するプロセッサと、前記プロセッサを使用しているスレッドごとの前記プロセッサの使用率を示す情報を取得する取得部と、前記取得部が取得した情報に基づいて、前記プロセッサを使用しているスレッドの合計数に対する前記プロセッサの使用率が所定範囲であるスレッドの数の割合を示す第1情報を算出する算出部と、前記取得部が取得した情報に基づいて、前記プロセッサを使用しているスレッドのうち最も使用されたスレッドである第1スレッドの使用率を示す第2情報を抽出する抽出部と、前記第1情報と前記第2情報とに基づいて前記処理の異常を検出する異常検出部と、を備える。 The present invention has been made to solve the above problems, and the electronic device according to the first aspect of the present invention is a processor that executes processing based on a program and a thread that uses the processor. An acquisition unit that acquires information indicating the usage rate of the processor, and a thread whose usage rate of the processor is within a predetermined range with respect to the total number of threads using the processor based on the information acquired by the acquisition unit. Based on the information acquired by the calculation unit that calculates the first information indicating the ratio of the number and the information acquired by the acquisition unit, the usage rate of the first thread, which is the most used thread among the threads using the processor, is calculated. It includes an extraction unit that extracts the second information shown, and an abnormality detection unit that detects an abnormality in the process based on the first information and the second information.

上記電子機器において、前記異常検出部は、以前に取得された前記第1情報、前記第2情報、及び異常の有無に関する情報に基づいて機械学習された学習済みモデルを用いて、前記処理の異常を検出してもよい。 In the electronic device, the abnormality detection unit uses a trained model machine-learned based on the first information, the second information, and information regarding the presence or absence of an abnormality previously acquired, and the abnormality in the processing. May be detected.

上記電子機器において、前記取得部は、前記プロセッサを使用しているスレッドが含まれるアプリケーションを示す情報をさらに取得し、前記抽出部は、前記取得部が取得した情報に基づいて、前記プロセッサを使用しているスレッドの中から前記第1スレッドを含む複数のスレッドの使用率を示す情報を前記第2情報として抽出するとともに、前記第2情報として抽出した複数のスレッドのそれぞれが含まれるアプリケーションを示す第3情報を抽出し前記異常検出部は、前記第1情報と前記第2情報と前記第3情報とに基づいて前記処理の異常を検出してもよい。 In the electronic device, the acquisition unit further acquires information indicating an application including a thread using the processor, and the extraction unit uses the processor based on the information acquired by the acquisition unit. Information indicating the usage rate of a plurality of threads including the first thread is extracted as the second information from the threads, and an application including each of the plurality of threads extracted as the second information is shown. The third information may be extracted and the abnormality detection unit may detect an abnormality in the process based on the first information, the second information, and the third information.

上記電子機器において、前記第1スレッドを含む複数のスレッドの使用率は、前記第1スレッドの使用率と、前記第1スレッドの次に最も使用された第2スレッドの使用率と、前記第2スレッドの次に最も使用された第3スレッドの使用率とを含んでもよい。 In the electronic device, the usage rates of the plurality of threads including the first thread are the usage rate of the first thread, the usage rate of the second thread most used after the first thread, and the second thread. It may include the usage rate of the third most used thread after the thread.

上記電子機器において、前記算出部は、前記第2情報に含まれる複数のスレッド間の使用率の差分を算出し、前記異常検出部は、前記処理の異常を検出する際に、前記第2情報に基づく前記差分に基づく情報をさらに用いて検出してもよい。 In the electronic device, the calculation unit calculates a difference in usage rate between a plurality of threads included in the second information, and the abnormality detection unit calculates the second information when detecting an abnormality in the processing. The information based on the difference based on the above may be further used for detection.

上記電子機器において、前記第3情報に含まれるアプリケーションのそれぞれが同一のアプリケーションであるか否かに基づいて第1評価値を決定する第1評価部をさらに備え、前記異常検出部は、前記処理の異常を検出する際に、前記第3情報に基づく前記第1評価値をさらに用いて検出してもよい。 The electronic device further includes a first evaluation unit that determines a first evaluation value based on whether or not each of the applications included in the third information is the same application, and the abnormality detection unit is the processing. When detecting the abnormality of, the first evaluation value based on the third information may be further used for detection.

上記電子機器において、前記第3情報に含まれるアプリケーションのそれぞれの種類に基づいて第2評価値を決定する第2評価部をさらに備え、前記異常検出部は、前記処理の異常を検出する際に、前記第3情報に基づく前記第2評価値をさらに用いて検出してもよい。 The electronic device further includes a second evaluation unit that determines a second evaluation value based on each type of application included in the third information, and the abnormality detection unit detects an abnormality in the process. , The second evaluation value based on the third information may be further used for detection.

上記電子機器において、前記異常検出部は、以前に取得された前記第1情報、前記第2情報、及び前記第3情報に基づく情報と、異常の有無に関する情報とに基づいて機械学習された学習済みモデルを用いて、前記処理の異常を検出してもよい。 In the electronic device, the abnormality detection unit is machine-learned based on previously acquired information based on the first information, the second information, and the third information, and information on the presence or absence of an abnormality. An abnormality in the above processing may be detected by using the completed model.

また、本発明の第2態様に係る、プログラムに基づいて処理を実行するプロセッサを備える電子機器における制御方法は、取得部が、前記プロセッサを使用しているスレッドごとの前記プロセッサの使用率を示す情報を取得するステップと、算出部が、前記取得部が取得した情報に基づいて、前記プロセッサを使用しているスレッドの合計数に対する前記プロセッサの使用率が所定範囲であるスレッドの数の割合を示す第1情報を算出するステップと、抽出部が、前記取得部が取得した情報に基づいて、前記プロセッサを使用しているスレッドのうち最も使用されたスレッドである第1スレッドの使用率を示す第2情報を抽出するステップと、異常検出部が、前記第1情報と前記第2情報とに基づいて前記処理の異常を検出するステップと、を有する。 Further, in the control method in an electronic device including a processor that executes processing based on a program according to the second aspect of the present invention, the acquisition unit indicates the usage rate of the processor for each thread using the processor. Based on the step of acquiring information and the information acquired by the acquisition unit, the calculation unit determines the ratio of the number of threads whose processor usage rate is within a predetermined range to the total number of threads using the processor. Based on the step of calculating the first information to be shown and the information acquired by the acquisition unit, the extraction unit indicates the usage rate of the first thread, which is the most used thread among the threads using the processor. The abnormality detection unit has a step of extracting the second information and a step of detecting an abnormality in the process based on the first information and the second information.

また、本発明の第3態様に係る、プログラムに基づいて処理を実行するプロセッサを備える電子機器における前記処理の異常を検出するための学習済みモデルは、前記プロセッサを使用しているスレッドの合計数に対する前記プロセッサの使用率が所定範囲であるスレッドの数の割合を示す第1情報と、前記プロセッサを使用しているスレッドのうち最も使用されたスレッドである第1スレッドの使用率を示す第2情報とに基づいて機械学習され、前記処理の異常を検出するよう、コンピュータを機能させる。 Further, the trained model for detecting an abnormality in the processing in the electronic device including the processor that executes the processing based on the program according to the third aspect of the present invention is the total number of threads using the processor. The first information indicating the ratio of the number of threads whose usage rate of the processor is within a predetermined range to the second information, and the second information indicating the usage rate of the first thread, which is the most used thread among the threads using the processor. Machine learning is performed based on the information, and the computer is made to function to detect the abnormality of the processing.

本発明の上記態様によれば、実行中の処理の異常を精度よく検出することができる。 According to the above aspect of the present invention, it is possible to accurately detect an abnormality in the processing during execution.

第1の実施形態に係る異常検出システムの概要を説明するシステム図。The system diagram explaining the outline of the abnormality detection system which concerns on 1st Embodiment. 第1の実施形態に係るシステムの状態情報の取得タイミングの一例を示す図。The figure which shows an example of the acquisition timing of the state information of the system which concerns on 1st Embodiment. 第1の実施形態に係るスレッドごとのCPU使用率と異常の有無との関係を調べた実験結果の一例を示す図。The figure which shows an example of the experimental result which investigated the relationship between the CPU usage rate for each thread which concerns on 1st Embodiment, and the presence or absence of an abnormality. 第1の実施形態に係るスレッド使用率比の一例を示す図。The figure which shows an example of the thread utilization ratio which concerns on 1st Embodiment. 第1の実施形態に係る異常検出方法の説明図。The explanatory view of the abnormality detection method which concerns on 1st Embodiment. 第1の実施形態に係る電子機器のハードウェアの構成例を示すブロック図。The block diagram which shows the configuration example of the hardware of the electronic device which concerns on 1st Embodiment. 第1の実施形態に係る電子機器の機能構成の一例を示すブロック図。The block diagram which shows an example of the functional structure of the electronic device which concerns on 1st Embodiment. 第1の実施形態に係る異常検出に用いるスレッド使用率比の算出例を示す図。The figure which shows the calculation example of the thread usage rate ratio used for abnormality detection which concerns on 1st Embodiment. 第1の実施形態に係る異常検出処理の一例を示すフローチャート。The flowchart which shows an example of the abnormality detection processing which concerns on 1st Embodiment. 第2の実施形態に係る異常検出方法を説明するための検出結果の一例を示す図。The figure which shows an example of the detection result for demonstrating the abnormality detection method which concerns on 2nd Embodiment. 第2の実施形態に係るスレッド使用率に関する情報の一例を示す図。The figure which shows an example of the information about the thread usage rate which concerns on 2nd Embodiment. 第2の実施形態に係るアプリケーション情報の一例を示す図。The figure which shows an example of the application information which concerns on 2nd Embodiment. 第2の実施形態に係る電子機器の機能構成の一例を示すブロック図。The block diagram which shows an example of the functional structure of the electronic device which concerns on 2nd Embodiment. 第2の実施形態に係る各種の機械学習を用いた異常検出結果の正解率を比較した図。The figure which compared the correct answer rate of the abnormality detection result using various machine learning which concerns on 2nd Embodiment. 第2の実施形態に係る異常検出処理の一例を示すフローチャート。The flowchart which shows an example of the abnormality detection processing which concerns on 2nd Embodiment. 第3の実施形態に係る機械学習装置の構成の一例を示すブロック図。The block diagram which shows an example of the structure of the machine learning apparatus which concerns on 3rd Embodiment. 第3の実施形態に係る機械学習における実行手順を説明する説明図。An explanatory diagram illustrating an execution procedure in machine learning according to a third embodiment. 第3の実施形態に係る機械学習における学習手順を説明する説明図。An explanatory diagram illustrating a learning procedure in machine learning according to a third embodiment.

以下、図面を参照しながら本発明の実施形態について詳しく説明する。 Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.

[システムの概要]
まず、本実施形態に係る異常検出システムの概要について説明する。
図1は、本実施形態に係る異常検出システム1の概要を説明するシステム図である。図示する異常検出システム1は、電子機器10と、電子機器10と通信ネットワークNWを介して通信接続可能な機械学習装置30(サーバ装置)とを備えている。機械学習装置30は、学習用データが蓄積されるデータベースを含み、当該学習用データに基づいて機械学習を行い、機械学習した学習済みモデルを提供するサーバ装置である。電子機器10は、例えば、ラップトップ型(ノート型)のパーソナルコンピュータであるが、デスクトップ型やタブレット型などのパーソナルコンピュータであってもよい。電子機器10は、自身のパフォーマンスの低下などの異常(問題)を検出する。
[System overview]
First, an outline of the abnormality detection system according to the present embodiment will be described.
FIG. 1 is a system diagram illustrating an outline of the abnormality detection system 1 according to the present embodiment. The illustrated abnormality detection system 1 includes an electronic device 10 and a machine learning device 30 (server device) capable of communicating with the electronic device 10 via a communication network NW. The machine learning device 30 is a server device that includes a database in which training data is stored, performs machine learning based on the learning data, and provides a machine-learned trained model. The electronic device 10 is, for example, a laptop-type (notebook-type) personal computer, but may be a desktop-type or tablet-type personal computer. The electronic device 10 detects an abnormality (problem) such as a decrease in its own performance.

電子機器10は、システムの状態に関する状態情報(Rawデータ)を収集し、収集したシステムの状態情報に基づいて、自身の異常を検出する。以下では特に明示しない限り、システムとは、電子機器10が備えるハードウェアやシステムファームウェアなどを用いたシステムのことを指し、異常検出システム1とは異なる概念とする。システムの状態情報には、CPU(Central Processing Unit)使用率などの情報が含まれる。例えば、電子機器10は、実行中のプログラム(プロセス)のスレッドごとのCPU使用率に関する情報などを取得する。また、電子機器10の異常検出部115は、取得したCPU使用率に関する情報などに基づいて、パフォーマンスの低下(システムスローダウン)などの異常を検出する。 The electronic device 10 collects state information (Raw data) related to the state of the system, and detects its own abnormality based on the collected state information of the system. In the following, unless otherwise specified, the system refers to a system using hardware, system firmware, and the like included in the electronic device 10, and has a different concept from the abnormality detection system 1. The system status information includes information such as a CPU (Central Processing Unit) usage rate. For example, the electronic device 10 acquires information about the CPU usage rate for each thread of the program (process) being executed. Further, the abnormality detection unit 115 of the electronic device 10 detects an abnormality such as a deterioration in performance (system slowdown) based on the acquired information on the CPU usage rate and the like.

ここで、異常検出部115は、AI(Artificial Intelligence)エンジンを備えている。異常検出部115は、CPU使用率に関する情報などに基づくデータセットを用いて機械学習された学習済みモデル(以下、「異常検出モデル」と称する)を用いて異常を検出するローカルAIとして機能する。 Here, the abnormality detection unit 115 includes an AI (Artificial Integrity) engine. The anomaly detection unit 115 functions as a local AI that detects anomalies using a trained model (hereinafter referred to as “abnormality detection model”) that has been machine-learned using a data set based on information on CPU usage.

なお、電子機器10が取得するシステムの状態情報には、例えば、CPUの温度、GPU(Graphic Processing Unit)に関する情報(GPU使用率など)、システムの動作状態に基づく情報(BSOD:Blue Screen of Death、ハングアップなど)、バッテリに関する情報(放電カーブ、満充電、残量少、充電開始時間、放電開始時間など)、ファンの回転速度の情報などが含まれてもよい。電子機器10の異常検出部115は、これらの取得した情報のいずれかに基づいて、「バッテリ寿命が短い」、「パフォーマンス低下(処理が遅い)」、「頻繁にシステムがハングアップする」などの異常(問題)や故障などを検出してもよい。 The system status information acquired by the electronic device 10 includes, for example, information on the CPU temperature, GPU (Graphic Processing Unit) (GPU usage rate, etc.), and information based on the operating status of the system (BSOD: Blue Screen of Death). , Hang up, etc.), information about the battery (discharge curve, full charge, low charge, charge start time, discharge start time, etc.), information on the rotation speed of the fan, and the like. Based on any of these acquired information, the abnormality detection unit 115 of the electronic device 10 has "short battery life", "degraded performance (slow processing)", "frequent system hangs", and the like. An abnormality (problem) or a failure may be detected.

[第1の実施形態]
第1の実施形態では、電子機器10がスレッドごとのCPU使用率に基づいてパフォーマンスの低下などの異常を検出する態様について説明する。まず、電子機器10がシステムの状態情報を取得するタイミングについて説明する。
[First Embodiment]
In the first embodiment, an embodiment in which the electronic device 10 detects an abnormality such as a decrease in performance based on the CPU usage rate for each thread will be described. First, the timing at which the electronic device 10 acquires the state information of the system will be described.

図2は、本実施形態に係るシステムの状態情報の取得タイミングの一例を示す図である。図示する例は、システムの状態情報の取得タイミングを示しており、縦軸がCPU使用率であり、横軸が時間である。電子機器10は、時刻t1においてトリガイベントを検出すると(1)、当該検出タイミングに応じてシステムの状態情報(System State)を取得する(2)。 FIG. 2 is a diagram showing an example of acquisition timing of system state information according to the present embodiment. In the illustrated example, the acquisition timing of the system state information is shown, the vertical axis is the CPU usage rate, and the horizontal axis is the time. When the electronic device 10 detects a trigger event at time t1 (1), it acquires system state information (System State) according to the detection timing (2).

トリガイベントは、例えば、異常検出用のアプリケーションの画面(異常検出に関する各種の操作を受け付ける画面)において、異常検出の開始を指示する操作ボタンへの操作がされたとき、または、CPU使用率が所定の閾値(例えば、10秒間に「100%/コア数」)を超えたときなどに生成される。なお、トリガイベントは、所定の時間間隔(例えば、30分)ごとに生成されてもよい。 The trigger event is, for example, when an operation button instructing the start of abnormality detection is operated on the screen of the application for abnormality detection (the screen that accepts various operations related to abnormality detection), or the CPU usage rate is predetermined. Is generated when the threshold value (for example, "100% / number of cores" in 10 seconds) is exceeded. The trigger event may be generated at predetermined time intervals (for example, 30 minutes).

電子機器10は、時刻t1から所定の期間th(例えば30秒間)の間、CPU使用率を測定する(3)。また、時刻t1から所定の期間th(例えば30秒間)が経過した時刻t2において、電子機器10は、再びシステムの状態情報(System State)を取得する(4)。また、時刻t2において、電子機器10は、プロセス及びスレッドの情報(5)、システム情報(6)などを取得する。例えば、電子機器10は、この時刻t1から時刻t2で取得した情報の差分などから各プロセスのスレッドごとのCPU使用率などのデータを収集する。そして、電子機器10は、収集した情報をファイル(例えば、csvファイル)にして保存する(7)。 The electronic device 10 measures the CPU usage rate from the time t1 to a predetermined period th (for example, 30 seconds) (3). Further, at the time t2 when a predetermined period th (for example, 30 seconds) has elapsed from the time t1, the electronic device 10 again acquires the system state information (System State) (4). Further, at time t2, the electronic device 10 acquires process and thread information (5), system information (6), and the like. For example, the electronic device 10 collects data such as the CPU usage rate for each thread of each process from the difference between the information acquired from the time t1 to the time t2. Then, the electronic device 10 stores the collected information as a file (for example, a csv file) (7).

電子機器10は、収集したスレッドごとのCPU使用率に基づいて、異常(パフォーマンスの低下)を検出する。例えば、単にCPU使用率が高いといっても高負荷のアプリケーションの処理を正常に実行している場合もある。正常な処理と異常な処理とのそれぞれでスレッドごとのCPU使用率が実際にどのような傾向にあるかについて、図3を参照して説明する。 The electronic device 10 detects an abnormality (deterioration of performance) based on the CPU usage rate for each collected thread. For example, even if the CPU usage rate is high, the processing of a high-load application may be executed normally. The actual tendency of the CPU usage rate for each thread in each of the normal processing and the abnormal processing will be described with reference to FIG.

図3は、スレッドごとのCPU使用率と異常の有無との関係を調べた実験結果の一例を示す図である。実験では、正常な処理としては、通常の作業中のときのスレッドごとのCPU使用率を測定した。また、異常な処理としては、CPU高負荷問題を持ったアプリケーションの実行中と、無限ループのバグを持ったアプリケーションの実行中とのそれぞれについて、スレッドごとのCPU使用率を測定した。この図では、横軸をCPU使用率、縦軸をスレッドの数として、正常な処理及び異常なし処理のそれぞれについて、どの位のCPU使用率のスレッドが多いかを表している。その結果、実際には、CPU使用率が1~5%のスレッドの数が多い場合には正常な処理であり、異常な処理では、正常な処理のときに比較して、CPU使用率が10~30%や90~100%程度のスレッドの数が相対的に多くなる傾向がある。このように、正常な処理と異常な処理とでは、スレッドごとのCPU使用率に差がある。 FIG. 3 is a diagram showing an example of experimental results for investigating the relationship between the CPU usage rate for each thread and the presence or absence of an abnormality. In the experiment, as a normal process, the CPU usage rate for each thread during normal work was measured. Further, as an abnormal process, the CPU usage rate for each thread was measured for each of the execution of the application having the CPU high load problem and the execution of the application having the bug of the infinite loop. In this figure, the horizontal axis represents the CPU usage rate and the vertical axis represents the number of threads, indicating how many threads have a CPU usage rate for each of normal processing and no abnormality processing. As a result, in reality, when the number of threads having a CPU usage rate of 1 to 5% is large, the processing is normal, and in the abnormal processing, the CPU usage rate is 10 as compared with the normal processing. The number of threads of about 30% or 90 to 100% tends to be relatively large. As described above, there is a difference in the CPU usage rate for each thread between normal processing and abnormal processing.

そこで、電子機器10は、CPU使用率の測定中にCPUを使用していたスレッドの合計数に対するCPU使用率が所定範囲であるスレッドの数の割合(以下、「スレッド使用率比」と称する)を用いて、異常を検出する。 Therefore, in the electronic device 10, the ratio of the number of threads whose CPU usage rate is within a predetermined range to the total number of threads that used the CPU during the measurement of the CPU usage rate (hereinafter referred to as "thread usage rate ratio"). Is used to detect anomalies.

図4は、スレッド使用率比の一例を示す図である。この図では、CPU使用率が1~5%、6~10%、・・・、96~99%、100%、といったように5%刻みで、スレッド使用率比が算出される例を示している。「ThreCU0105R」は、CPU使用率の測定中にCPUを使用していたスレッドの合計数に対するCPU使用率が1~5%であるスレッドの数の割合を示す。「ThreCU0610R」は、CPU使用率の測定中にCPUを使用していたスレッドの合計数に対するCPU使用率が6~10%であるスレッドの数の割合を示す。「ThreCU9699R」は、CPU使用率の測定中にCPUを使用していたスレッドの合計数に対するCPU使用率が96~99%であるスレッドの数の割合を示す。「ThreCU100R」は、CPU使用率の測定中にCPUを使用していたスレッドの合計数に対するCPU使用率が100%であるスレッドの数の割合を示す。 FIG. 4 is a diagram showing an example of the thread usage rate. This figure shows an example in which the thread usage rate ratio is calculated in 5% increments such as CPU usage rate of 1 to 5%, 6 to 10%, ..., 96 to 99%, 100%, and so on. There is. "ThreCU0105R" indicates the ratio of the number of threads having a CPU usage rate of 1 to 5% to the total number of threads using the CPU during the measurement of the CPU usage rate. "ThreCU0610R" indicates the ratio of the number of threads having a CPU usage rate of 6 to 10% to the total number of threads using the CPU during the measurement of the CPU usage rate. "ThreCU9699R" indicates the ratio of the number of threads having a CPU usage rate of 96 to 99% to the total number of threads using the CPU during the measurement of the CPU usage rate. "ThreCU100R" indicates the ratio of the number of threads having a CPU usage rate of 100% to the total number of threads using the CPU during the measurement of the CPU usage rate.

また、電子機器10は、収集したスレッドごとのCPU使用率に基づいて、測定中に最も使用されたスレッドの使用率をさらに抽出する。測定中に最も使用されたスレッドとは、測定期間におけるCPU使用率と使用時間の積算値が最も大きいスレッドに相当する。以下では、測定中に最も使用されたスレッドのことを「第1スレッド」と称する。また、測定中に最も使用されたスレッドの使用率のことを「第1スレッド使用率」と称する。 Further, the electronic device 10 further extracts the usage rate of the most used thread during the measurement based on the CPU usage rate for each thread collected. The thread most used during the measurement corresponds to the thread having the largest integrated value of the CPU usage rate and the usage time in the measurement period. Hereinafter, the thread most used during the measurement is referred to as a “first thread”. Further, the usage rate of the most used thread during the measurement is referred to as "first thread usage rate".

電子機器10は、算出したスレッド使用率比と、抽出した第1スレッド使用率とに基づいてAIを用いて異常を検出する。電子機器10は、スレッド使用率比を用いて異常を検出することは可能であるが、スレッド使用率比に加えて第1スレッド使用率も用いることで、スレッド使用率比のみを用いる場合もよりも精度よく異常を検出する。 The electronic device 10 detects an abnormality using AI based on the calculated thread usage rate ratio and the extracted first thread usage rate. Although it is possible for the electronic device 10 to detect an abnormality by using the thread usage rate ratio, it is possible to detect an abnormality by using the first thread usage rate in addition to the thread usage rate ratio, as compared with the case where only the thread usage rate ratio is used. Also accurately detects abnormalities.

図5を参照して、スレッド使用率比のみの異常検出結果と、スレッド使用率比に加えて第1スレッド使用率も用いた異常検出結果との違いについて説明する。
図5は、本実施形態に係る異常検出方法の説明図である。図5(A)は、スレッド使用率比のみに基づいて機械学習を行った異常検出モデルを用いた異常検出結果の一例を示している。機械学習には、OCSVM(One Class Support Vector Machine)を用いている。スレッド使用率比をパラメータとしたOCSVMを用いて複数回検証した結果について、正常と判定されるものを〇、異常と判定されるものを●で示している。
With reference to FIG. 5, the difference between the abnormality detection result of only the thread usage rate ratio and the abnormality detection result using the first thread usage rate in addition to the thread usage rate ratio will be described.
FIG. 5 is an explanatory diagram of an abnormality detection method according to the present embodiment. FIG. 5A shows an example of anomaly detection results using an anomaly detection model in which machine learning is performed based only on the thread usage rate ratio. OCSVM (One Class Support Vector Machine) is used for machine learning. Regarding the results of multiple verifications using OCSVM with the thread usage ratio as a parameter, those judged to be normal are shown by ◯, and those judged to be abnormal are shown by ●.

図5(B)は、異常と判定された3種類の結果にID1~3を付して、それぞれの第1スレッド使用率(1st Thread usage)とOCSVMによる判定結果(Prediction By OCSVM)と、人が確認した最終の判定結果(Last Prediction)とを示している。ID1は、第1スレッド使用率が47%で、OCSVMにより異常と判定されたが、人が確認した最終の判定結果では正常であった。ID2は、第1スレッド使用率が59%で、OCSVMにより異常と判定され、人が確認した最終の判定結果でも異常であった。ID3は、第1スレッド使用率が60%で、OCSVMにより異常と判定され、人が確認した最終の判定結果でも異常であった。 FIG. 5B shows three types of results determined to be abnormal with IDs 1 to 3, the first thread usage rate (1st Thread usage), the determination result by OCSVM (Prediction By OCSVM), and a person. Shows the final judgment result (Last Thread) confirmed by. ID1 had a first thread usage rate of 47% and was determined to be abnormal by OCSVM, but was normal in the final determination result confirmed by humans. ID2 had a first thread usage rate of 59%, was determined to be abnormal by OCSVM, and was also abnormal in the final determination result confirmed by a person. ID3 had a first thread usage rate of 60%, was determined to be abnormal by OCSVM, and was also abnormal in the final determination result confirmed by a person.

この結果からすると、第1スレッド使用率による閾値判定を異常検出時のパラメータとして追加することで、検出精度が向上することがわかる。例えば、OCSVMにより異常と検出された場合、第1スレッド使用率が50%以上の場合には異常、第1スレッド使用率が50%未満の場合には正常と判定することで、検出精度が向上させることができる。図5(C)は、OCSVMのみによる異常検出の正解率と、OCSVMによる異常検出に第1スレッド使用率による閾値判定を加えたときの異常検出の正解率との比較結果を示している。OCSVMのみによる異常検出の正解率は、59.86%であるのに対して、OCSVMによる異常検出に第1スレッド使用率による閾値(50%)判定を加えたときの異常検出の正解率は、89.02%と検出精度が向上している。なお、閾値は50%に限定されるものではなく、任意の閾値を設定することができる。 From this result, it can be seen that the detection accuracy is improved by adding the threshold value determination based on the first thread usage rate as a parameter at the time of abnormality detection. For example, when an abnormality is detected by OCSVM, the detection accuracy is improved by determining that it is abnormal when the first thread usage rate is 50% or more and normal when the first thread usage rate is less than 50%. Can be made to. FIG. 5C shows a comparison result between the correct answer rate of abnormality detection only by OCSVM and the correct answer rate of abnormality detection when the threshold value determination by the first thread usage rate is added to the abnormality detection by OCSVM. The correct answer rate for abnormality detection by OCSVM alone is 59.86%, whereas the correct answer rate for abnormality detection when the threshold value (50%) judgment based on the first thread usage rate is added to the abnormality detection by OCSVM is The detection accuracy is improved to 89.02%. The threshold value is not limited to 50%, and any threshold value can be set.

例えば、電子機器10は、スレッド使用率比のみに基づいて機械学習を行った異常検出モデルを用いて異常を検出した後に、第1スレッド使用率による閾値判定を行って、最終的な異常の有無を検出する。なお、電子機器10は、スレッド使用率比と第1スレッド使用率との両方に基づいて機械学習を行った異常検出モデルを用いて異常を検出してもよい。 For example, the electronic device 10 detects an abnormality using an abnormality detection model in which machine learning is performed based only on the thread usage rate ratio, and then performs a threshold value determination based on the first thread usage rate to determine the final presence or absence of the abnormality. Is detected. The electronic device 10 may detect an abnormality using an abnormality detection model in which machine learning is performed based on both the thread usage rate ratio and the first thread usage rate.

次に、電子機器10の構成について詳しく説明する。
(電子機器のハードウェア構成)
図6は、本実施形態に係る電子機器10のハードウェアの構成例を示す概略ブロック図である。電子機器10は、通信部11、表示部12、スピーカ13、入力部14、電源部15、温度センサ17、ファン16、EC(Embedded Controller)18、記憶部19、及びシステム処理部100を含んで構成される。システム処理部100は、CPU101、GPU102、メモリコントローラ103、I/O(Input-Output)コントローラ104、及びシステムメモリ105を含んで構成され、オペレーティングシステム(OS:Operating System)によるシステム処理によって、OS上で各種アプリのプログラムの処理が実行可能である。CPU101とGPU102をプロセッサと総称することがある。
Next, the configuration of the electronic device 10 will be described in detail.
(Hardware configuration of electronic devices)
FIG. 6 is a schematic block diagram showing a configuration example of the hardware of the electronic device 10 according to the present embodiment. The electronic device 10 includes a communication unit 11, a display unit 12, a speaker 13, an input unit 14, a power supply unit 15, a temperature sensor 17, a fan 16, an EC (Embedded Controller) 18, a storage unit 19, and a system processing unit 100. It is composed. The system processing unit 100 is configured to include a CPU 101, a GPU 102, a memory controller 103, an I / O (Input-Output) controller 104, and a system memory 105, and is on the OS by system processing by an operating system (OS: Operating System). It is possible to execute the processing of the programs of various applications with. The CPU 101 and GPU 102 may be collectively referred to as a processor.

通信部11は、無線または有線による通信ネットワークを介して他の機器と通信可能に接続し、各種のデータの送信および受信を行う。例えば、通信部11は、イーサネット(登録商標)等の有線LANインターフェースやWi-Fi(登録商標)等の無線LANインターフェース等を含んで構成されている。なお、通信部11は、USB(Universal Serial Bus)インターフェースやBluetooth(登録商標)インターフェースを含んで構成されてもよい。 The communication unit 11 connects to other devices in a communicable manner via a wireless or wired communication network, and transmits and receives various data. For example, the communication unit 11 includes a wired LAN interface such as Ethernet (registered trademark) and a wireless LAN interface such as Wi-Fi (registered trademark). The communication unit 11 may be configured to include a USB (Universal Serial Bus) interface and a Bluetooth (registered trademark) interface.

表示部12は、映像、画像、テキスト等を表示するディスプレイであり、例えば、液晶ディスプレイパネル、有機ELディスプレイパネルなどを含んで構成される。スピーカ13は、電子音や音声などを出力する。 The display unit 12 is a display for displaying images, images, texts, and the like, and includes, for example, a liquid crystal display panel, an organic EL display panel, and the like. The speaker 13 outputs electronic sounds, voices, and the like.

入力部14は、ユーザの入力を受け付ける入力部であり、例えばキーボードやタッチパッドなどの入力デバイスを含んで構成されている。入力部14は、キーボード、タッチパッドなどに対する操作を受け付けることに応じて、操作内容を示す操作信号をEC18へ出力する。なお、入力部14は、表示部12の表示画面に対する操作を受け付けるタッチパネルを含んで構成されてもよい。 The input unit 14 is an input unit that accepts user input, and is configured to include an input device such as a keyboard or a touch pad. The input unit 14 outputs an operation signal indicating the operation content to the EC 18 in response to receiving an operation on the keyboard, touch pad, or the like. The input unit 14 may include a touch panel that accepts operations on the display screen of the display unit 12.

電源部15は、電子機器10の各部の動作状態に応じて各部へ電源系統を介して電力を供給する。電源部15は、DC(Direct Current)/DCコンバータを備える。DC/DCコンバータは、AC(Alternate Current)/DCアダプタ又はバッテリ151から供給される直流電力の電圧を、各部で要求される電圧に変換する。DC/DCコンバータで電圧が変換された電力が各電源系統を介して各部へ供給される。例えば、電源部15は、EC18から入力される各部の動作状態に応じて制御信号に基づいて各電源系統を介して各部に電力を供給する。 The power supply unit 15 supplies electric power to each unit via the power supply system according to the operating state of each unit of the electronic device 10. The power supply unit 15 includes a DC (Direct Current) / DC converter. The DC / DC converter converts the voltage of the direct current power supplied from the AC (Alternate Current) / DC adapter or the battery 151 into the voltage required by each part. The electric power whose voltage is converted by the DC / DC converter is supplied to each part via each power supply system. For example, the power supply unit 15 supplies electric power to each unit via each power supply system based on a control signal according to the operating state of each unit input from the EC 18.

温度センサ17は、電子機器10の筐体内部に一又は複数設けられ、環境温度を検出する。例えば、温度センサ17は、CPU101の近傍やバッテリ151の近傍など温度が上昇しやすい箇所に設けられている。
ファン16は、電子機器10の内部の上昇した温度を低下させるための冷却用として設けられている。
One or a plurality of temperature sensors 17 are provided inside the housing of the electronic device 10 to detect the environmental temperature. For example, the temperature sensor 17 is provided in a place where the temperature tends to rise, such as in the vicinity of the CPU 101 or in the vicinity of the battery 151.
The fan 16 is provided for cooling to lower the elevated temperature inside the electronic device 10.

EC18は、CPU101の処理に関わらず、各種デバイス(周辺装置やセンサ等)の監視及び制御を行うマイクロコンピュータが組み込まれた組み込みコントローラであり、バッテリの管理、電源管理、キーボードコントローラなどの機能を有する。例えば、EC18は、入力部14と、電源部15と、ファン16と、温度センサ17とに接続されている。EC18は、入力部14から操作信号を取得する。また、EC18は、不図示の電源ボタンに対する操作に応じて起動信号を生成する。また、EC18は、各部への給電のON/OFFの指示を電源部15に対して行うとともに、バッテリに関する情報(放電カーブ、満充電、残量少、充電開始時間、放電開始時間など)を電源部15から取得する。また、EC18は、温度センサ17の検出結果を取得し、検出結果(温度)に応じて、ファン16のON/OFF、およびON時の回転速度などを制御する。EC18とCPU101とは通信を行うことにより、各種情報や各動作状態などを共有する。 The EC18 is an embedded controller incorporating a microcomputer that monitors and controls various devices (peripheral devices, sensors, etc.) regardless of the processing of the CPU 101, and has functions such as battery management, power supply management, and keyboard controller. .. For example, the EC 18 is connected to an input unit 14, a power supply unit 15, a fan 16, and a temperature sensor 17. The EC 18 acquires an operation signal from the input unit 14. Further, the EC 18 generates an activation signal in response to an operation on a power button (not shown). Further, the EC 18 instructs the power supply unit 15 to turn on / off the power supply to each unit, and also supplies information about the battery (discharge curve, full charge, low remaining amount, charge start time, discharge start time, etc.). Obtained from part 15. Further, the EC 18 acquires the detection result of the temperature sensor 17 and controls the ON / OFF of the fan 16 and the rotation speed at the time of ON according to the detection result (temperature). By communicating with the EC18 and the CPU101, various information and each operating state are shared.

記憶部19は、SSD(Solid State Drive)、HDD(Hard Disk Drive)、ROM(Read Only Memory)、RAM(Random access memory)などの記憶媒体を含んで構成される。記憶部19には、BIOS、OS、デバイスドライバ、アプリケーションなどの各種のプログラムや、その他、プログラムの処理に必要なデータ、プログラムの処理により取得した各種のデータなどが記憶される。 The storage unit 19 includes a storage medium such as an SSD (Solid State Drive), an HDD (Hard Disk Drive), a ROM (Read Only Memory), and a RAM (Random access memory). The storage unit 19 stores various programs such as BIOS, OS, device driver, and application, other data necessary for program processing, and various data acquired by program processing.

CPU101は、BIOSやOSによるシステム処理により動作状態を制御する。システムの動作状態として少なくとも通常動作状態(パワーオン状態)と待機状態(アイドル状態)との間を遷移可能である。待機状態には、スタンバイ状態、スリープ状態、ハイバネーション状態およびパワーオフ状態が含まれる。 The CPU 101 controls the operating state by system processing by the BIOS or the OS. It is possible to transition between at least a normal operating state (power-on state) and a standby state (idle state) as the operating state of the system. The standby state includes a standby state, a sleep state, a hibernation state, and a power-off state.

スタンバイ状態は、プロセッサの処理能力を通常動作状態よりも低くし、動作中のシステムメモリ105の内容を保持しながら通信部11、表示部12、スピーカ13、及び記憶部19など周辺デバイスの消費電力を通常動作状態よりも少なくする動作状態である。
スリープ状態は、システムメモリ105とEC18とその配下にあるデバイス以外のデバイスへの給電を停止し、プロセッサによるプログラムの実行を伴わない動作モードである。
ハイバネーション状態は、スリープ状態においてプロセッサから即座にアクセス可能とする補助記憶装置にシステムメモリ105に記憶していた情報を全て退避させ、その後、システムメモリ105への給電をさらに停止するモードである。従って、ハイバネーション状態から起動処理を開始する際、CPU101は、補助記憶装置に退避された情報をシステムメモリ105に記憶する。
パワーオフ状態は、EC18とその配下にあるデバイス以外のデバイスへの給電を停止した状態である。
In the standby state, the processing power of the processor is lower than that in the normal operating state, and the power consumption of peripheral devices such as the communication unit 11, the display unit 12, the speaker 13, and the storage unit 19 is maintained while retaining the contents of the operating system memory 105. Is an operating state in which is less than the normal operating state.
The sleep state is an operation mode in which power supply to devices other than the system memory 105 and EC18 and the devices under the system memory 105 is stopped, and the processor does not execute a program.
The hibernation state is a mode in which all the information stored in the system memory 105 is saved in the auxiliary storage device that can be immediately accessed from the processor in the sleep state, and then the power supply to the system memory 105 is further stopped. Therefore, when starting the startup process from the hibernation state, the CPU 101 stores the information saved in the auxiliary storage device in the system memory 105.
The power-off state is a state in which power supply to devices other than EC18 and devices under it is stopped.

例えば、CPU101は、動作状態が待機状態であって、EC18から起動信号が入力された場合、待機状態から通常動作状態に遷移させる。例えば、動作状態がスリープ状態、ハイバネーション状態またはパワーオフ状態であるとき、電源部15から電力の供給を受け、かつEC18から起動信号が入力されると、CPU101は、起動処理を開始する。CPU101は、起動処理において、システムメモリ105、記憶部19などの最小限のデバイスの検出と初期化を行う(プリブート)。CPU101は、記憶部19からBIOSをシステムメモリ105にロードし、通信部11、表示部12などその他のデバイスの検出と初期化を行う(ポスト処理)。初期化には、初期パラメータの設定などの処理が含まれる。なお、スリープ状態から通常動作状態への遷移(レジューム)においては、ポスト処理の一部が省略されることがある。CPU101は、起動処理が完了した後、OSによるシステム処理の実行を開始する(起動)。 For example, when the operating state is the standby state and the start signal is input from the EC 18, the CPU 101 transitions from the standby state to the normal operating state. For example, when the operating state is a sleep state, a hibernation state, or a power-off state, when power is supplied from the power supply unit 15 and a start signal is input from the EC 18, the CPU 101 starts the start process. The CPU 101 detects and initializes a minimum number of devices such as the system memory 105 and the storage unit 19 in the startup process (preboot). The CPU 101 loads the BIOS from the storage unit 19 into the system memory 105, and detects and initializes other devices such as the communication unit 11 and the display unit 12 (post processing). Initialization includes processing such as setting initial parameters. In the transition (resume) from the sleep state to the normal operation state, a part of the post processing may be omitted. After the startup process is completed, the CPU 101 starts executing the system process by the OS (startup).

また、CPU101は、OSが起動した後、インストールされているアプリケーションのプログラムを実行することにより、当該アプリケーションの機能を実現する。例えば、上述した異常検出処理は、当該異常検出を行うための異常検出アプリケーションとして提供され、異常検出アプリケーションのプログラムを実行することにより、その機能を実現する。 Further, the CPU 101 realizes the function of the installed application by executing the program of the installed application after the OS is started. For example, the above-mentioned abnormality detection process is provided as an abnormality detection application for performing the abnormality detection, and its function is realized by executing a program of the abnormality detection application.

GPU102は、CPU101の制御に基づいて画像処理を実行して表示データを生成する。GPU102は、生成した表示データを表示部12に出力する。なお、CPU101とGPU102は、一体化して1個のコアとして形成されてもよいし、個々のコアとして形成されたCPU101とGPU102の相互間で負荷が分担されてもよい。プロセッサの数は、1個に限られず、複数個であってもよい。 The GPU 102 executes image processing based on the control of the CPU 101 to generate display data. The GPU 102 outputs the generated display data to the display unit 12. The CPU 101 and the GPU 102 may be integrated and formed as one core, or the load may be shared between the CPU 101 and the GPU 102 formed as individual cores. The number of processors is not limited to one, and may be a plurality.

メモリコントローラ103は、CPU101とGPU102によるシステムメモリ105、記憶部19などからのデータの読出し、書込みを制御する。
I/Oコントローラ104は、通信部11、表示部12、スピーカ13、及びEC18とのデータの入力または出力を制御する。
システムメモリ105は、CPU101が実行するプログラムの読み込み領域ならびに処理データを書き込む作業領域として用いられる。
The memory controller 103 controls reading and writing of data from the system memory 105, the storage unit 19, and the like by the CPU 101 and the GPU 102.
The I / O controller 104 controls the input or output of data with the communication unit 11, the display unit 12, the speaker 13, and the EC 18.
The system memory 105 is used as a read area for a program executed by the CPU 101 and a work area for writing processing data.

[電子機器の機能構成]
次に、電子機器10における異常検出処理に関する機能構成について説明する。
図7は、本実施形態に係る電子機器10の機能構成の一例を示すブロック図である。制御部110は、CPU101が異常検出アプリケーションのプログラムを実行することにより実現する異常検出処理の機能構成を示している。制御部110は、取得部111と、算出部112と、抽出部113と、異常検出部115とを備えている。また、異常検出処理に用いるデータを記憶する構成として、記憶部19は、システム情報記憶部191と、算出情報記憶部192と、抽出情報記憶部193と、異常情報記憶部195と、異常検出モデル記憶部196とを備えている。
[Functional configuration of electronic devices]
Next, the functional configuration related to the abnormality detection process in the electronic device 10 will be described.
FIG. 7 is a block diagram showing an example of the functional configuration of the electronic device 10 according to the present embodiment. The control unit 110 shows the functional configuration of the abnormality detection process realized by the CPU 101 executing the program of the abnormality detection application. The control unit 110 includes an acquisition unit 111, a calculation unit 112, an extraction unit 113, and an abnormality detection unit 115. Further, as a configuration for storing data used for abnormality detection processing, the storage unit 19 includes a system information storage unit 191, a calculation information storage unit 192, an extraction information storage unit 193, an abnormality information storage unit 195, and an abnormality detection model. It is equipped with a storage unit 196.

取得部111は、電子機器10のシステムの状態に関する状態情報を取得する。例えば、取得部111は、図2を参照して説明したように、予め設定されたタイミングで、実行中のプログラム(プロセス)やスレッドの情報、システム情報(例えば、OSの種類やバージョンの情報)などを取得する。そして、取得部111は、取得した情報を取得したタイミングを示す情報と関連付けて、システム情報記憶部191に記憶させる。 The acquisition unit 111 acquires state information regarding the state of the system of the electronic device 10. For example, as described with reference to FIG. 2, the acquisition unit 111 has information on programs (processes) and threads being executed, system information (for example, information on the type and version of the OS) at preset timings. And so on. Then, the acquisition unit 111 stores the acquired information in the system information storage unit 191 in association with the information indicating the acquisition timing.

例えば、取得部111が取得する情報には、CPU使用率、GPU使用率、メモリ使用率、通信ネットワークの接続状態などのデータが含まれる。具体的には、取得部111が取得する情報には、図2に示す測定期間におけるプロセスの合計数(NumOfProcess)及びスレッドの合計数(NumOfThread)や、スレッドごとのCPU使用率、CPU使用率ごとのプロセスの数、CPU使用率ごとのスレッドの数などのデータが含まれる。例えば、取得部111は、測定されたスレッドごとのCPU使用率に基づいて、例えば5%刻みで、CPU使用率が0%、1~5%、6~10%、・・・、96~99%、100%であるスレッドの数をCPU使用率ごとのスレッドの数として取得する。 For example, the information acquired by the acquisition unit 111 includes data such as CPU usage rate, GPU usage rate, memory usage rate, and communication network connection status. Specifically, the information acquired by the acquisition unit 111 includes the total number of processes (NumOfProcesss) and the total number of threads (NumOfThread) in the measurement period shown in FIG. 2, the CPU usage rate for each thread, and the CPU usage rate for each thread. Contains data such as the number of processes and the number of threads per CPU usage. For example, the acquisition unit 111 has a CPU usage rate of 0%, 1 to 5%, 6 to 10%, ..., 96 to 99, for example, in increments of 5%, based on the measured CPU usage rate for each thread. The number of threads that is% or 100% is acquired as the number of threads for each CPU usage rate.

なお、ここでは、5%刻みでCPU使用率ごとのスレッドの数を取得して異常検出に用いる例としているが、これに限定されるものではなく、例えば10%刻みでCPU使用率ごとのスレッドの数を取得して異常検出に用いるようにしてもよい。 Here, the number of threads for each CPU usage rate is acquired in 5% increments and used for abnormality detection, but the present invention is not limited to this, and for example, threads for each CPU usage rate in 10% increments. You may acquire the number of threads and use them for abnormality detection.

算出部112は、取得部111が取得した情報に基づいて、スレッド使用率比を算出する。前述したように正常な処理ではCPU使用率が1~5%のスレッドの数が多いため、例えば、算出部112は、CPU101を使用しているスレッドの合計数に対するCPU使用率が所定範囲(例えば1~5%)であるスレッドの数の割合を、スレッド使用率比として算出する。そして、算出部112は、算出したスレッド使用率比を異常検出に用いるパラメータとして算出情報記憶部192に記憶させる。 The calculation unit 112 calculates the thread usage rate ratio based on the information acquired by the acquisition unit 111. As described above, since the number of threads having a CPU usage rate of 1 to 5% is large in normal processing, for example, the calculation unit 112 has a CPU usage rate within a predetermined range (for example,) with respect to the total number of threads using the CPU 101. The ratio of the number of threads, which is 1 to 5%), is calculated as the thread usage rate ratio. Then, the calculation unit 112 stores the calculated thread usage rate ratio in the calculation information storage unit 192 as a parameter used for abnormality detection.

図8は、異常検出に用いるスレッド使用率比の算出例を示す図である。CPU使用率の測定中に、CPU101を使用していたスレッドの合計数に対するCPU使用率1~5%のスレッド数の割合をスレッド使用率比「ThreCU0105R」とすると、
ThreCU0105R
=ThreCU0105×100/(NumOfThread-ThreCU00)
で表すことができる。
「ThreCU00」は、CPU使用率の測定中にCPU使用率が0%のスレッドの数である。「ThreCU0105」は、CPU使用率の測定中にCPU使用率が1~5%のスレッドの数である。「NumOfThread」は、CPU使用率の測定中に、実行されていたスレッドの合計数である。
FIG. 8 is a diagram showing a calculation example of the thread usage rate ratio used for abnormality detection. Assuming that the ratio of the number of threads having a CPU usage rate of 1 to 5% to the total number of threads using the CPU 101 during the measurement of the CPU usage rate is the thread usage rate ratio "ThreCU0105R".
ThreeCU0105R
= ThreeCU0105 × 100 / (NumOfThread-ThreCU00)
Can be represented by.
"ThreCU00" is the number of threads having a CPU usage rate of 0% during the measurement of the CPU usage rate. "ThreCU0105" is the number of threads having a CPU usage rate of 1 to 5% during the measurement of the CPU usage rate. "NumOfThread" is the total number of threads executed during the measurement of CPU usage.

図6に戻り、抽出部113は、取得部111が取得した情報に基づいて、図2に示す測定期間においてCPU101を使用している複数のスレッドのうち第1スレッド使用率を示す情報を抽出する。そして、抽出部113は、抽出した第1スレッド使用率を示す情報を異常検出に用いるパラメータとして抽出情報記憶部193に記憶させる。 Returning to FIG. 6, the extraction unit 113 extracts information indicating the first thread usage rate among the plurality of threads using the CPU 101 during the measurement period shown in FIG. 2 based on the information acquired by the acquisition unit 111. .. Then, the extraction unit 113 stores the extracted information indicating the first thread usage rate in the extraction information storage unit 193 as a parameter used for abnormality detection.

異常検出部115は、算出情報記憶部192及び抽出情報記憶部193を参照して、スレッド使用率比と第1スレッド使用率とに基づいて処理の異常(パフォーマンスの低下など)を検出する。例えば、異常検出部115は、異常を検出するための学習済みモデルである異常検出モデルを用いて、スレッド使用率比と第1スレッド使用率とに基づいて処理の異常を検出する。 The abnormality detection unit 115 refers to the calculated information storage unit 192 and the extraction information storage unit 193, and detects an abnormality in processing (deterioration of performance, etc.) based on the thread usage rate ratio and the first thread usage rate. For example, the abnormality detection unit 115 detects a processing abnormality based on the thread usage rate ratio and the first thread usage rate by using the abnormality detection model which is a learned model for detecting the abnormality.

この異常検出モデルは、以前に電子機器10または他の電子機器で取得されたスレッド使用率比と異常の有無に関する情報とに基づいて機械学習装置30で機械学習された学習済みモデルである。例えば、機械学習のアルゴリズムとしてOCSVMが用いられ、正常なときのスレッド使用率比を学習データとして機械学習させることで異常値との識別境界を決定し、当該識別境界を基準として異常の検出を行う。電子機器10は、この異常検出モデルを事前に機械学習装置30から通信ネットワークNWや記憶媒体を介して取得し、異常検出モデル記憶部196に記憶している。 This abnormality detection model is a trained model machine-learned by the machine learning device 30 based on the thread usage ratio previously acquired by the electronic device 10 or another electronic device and the information regarding the presence or absence of the abnormality. For example, OCSVM is used as an algorithm for machine learning, and the discriminant boundary from an abnormal value is determined by machine learning the thread usage rate ratio at the time of normal as learning data, and the abnormality is detected based on the discriminant boundary. .. The electronic device 10 acquires this abnormality detection model from the machine learning device 30 in advance via the communication network NW or a storage medium, and stores it in the abnormality detection model storage unit 196.

具体的には、異常検出部115は、算出情報記憶部192を参照して、算出部112により算出されたスレッド使用率比を異常検出モデル(OCSVM)へ入力することにより出力される出力結果で正常/異常の判定を行う(図5(A)、(B)参照)。また、異常検出部115は、OCSVMにより異常と判定された場合には、第1スレッド使用率による閾値判定を行う。例えば、異常検出部115は、OCSVMにより異常と判定された場合には、第1スレッド使用率が50%以上の場合には異常、第1スレッド使用率が50%未満の場合には正常と判定する。なお、機械学習の方法は、OCSVMに限定されるものではなく、教師あり学習、教師なし学習、または強化学習などの任意の方法を適用してもよい。 Specifically, the abnormality detection unit 115 refers to the calculation information storage unit 192, and is an output result output by inputting the thread usage rate ratio calculated by the calculation unit 112 into the abnormality detection model (OCSVM). Normal / abnormal determination is performed (see FIGS. 5A and 5B). Further, when the abnormality detection unit 115 determines that the abnormality is determined by the OCSVM, the abnormality detection unit 115 determines the threshold value based on the first thread usage rate. For example, when the abnormality detection unit 115 is determined to be abnormal by OCSVM, it is determined to be abnormal when the first thread usage rate is 50% or more, and normal when the first thread usage rate is less than 50%. do. The machine learning method is not limited to OCSVM, and any method such as supervised learning, unsupervised learning, or reinforcement learning may be applied.

また、電子機器10は、スレッド使用率比と第1スレッド使用率との両方に基づいて機械学習を行った異常検出モデルを用いて異常を検出してもよい。この場合、異常検出モデルは、以前に電子機器10または他の電子機器で取得されたスレッド使用率比と第1スレッド使用率と異常の有無に関する情報とに基づいて機械学習装置30で機械学習された学習済みモデルである。機械学習の方法は、教師あり学習、教師なし学習、または強化学習などの任意の方法を適用してもよい。異常検出部115は、算出情報記憶部192及び抽出情報記憶部193を参照して、スレッド使用率比と第1スレッド使用率とを異常検出モデルへ入力することにより出力される出力結果で正常/異常の判定を行う。 Further, the electronic device 10 may detect an abnormality using an abnormality detection model in which machine learning is performed based on both the thread usage rate ratio and the first thread usage rate. In this case, the abnormality detection model is machine-learned by the machine learning device 30 based on the thread usage rate ratio previously acquired by the electronic device 10 or another electronic device, the first thread usage rate, and the information regarding the presence or absence of an abnormality. It is a trained model. As the method of machine learning, any method such as supervised learning, unsupervised learning, or reinforcement learning may be applied. The abnormality detection unit 115 refers to the calculated information storage unit 192 and the extraction information storage unit 193, and inputs the thread usage rate ratio and the first thread usage rate to the abnormality detection model, and the output result is normal / normal. Determine the abnormality.

また、異常検出部115は、異常を検出した場合、異常を示す異常情報を生成し、異常情報記憶部195に記憶させる。例えば、異常検出部115は、検出した異常の内容(例えば、パフォーマンスの低下)、異常なプロセス、異常なスレッドなどを示す情報が含まれる異常情報を生成する。 Further, when the abnormality is detected, the abnormality detection unit 115 generates abnormality information indicating the abnormality and stores it in the abnormality information storage unit 195. For example, the anomaly detection unit 115 generates anomaly information including information indicating the content of the detected anomaly (for example, deterioration of performance), anomalous process, anomalous thread, and the like.

(異常検出処理の動作)
次に、電子機器10において制御部110が実行する異常検出処理の動作について説明する。図9は、本実施形態に係る異常検出処理の一例を示すフローチャートである。
(ステップS101)制御部110は、予め設定されたタイミングで、電子機器10のシステムの状態情報を取得する。例えば、制御部110は、スレッドごとのCPU使用率などの情報を取得する。そして、制御部110は、取得した情報を取得したタイミングを示す情報と関連付けて、システム情報記憶部191に記憶させる。そして、ステップS103の処理に進む。
(Operation of abnormality detection processing)
Next, the operation of the abnormality detection process executed by the control unit 110 in the electronic device 10 will be described. FIG. 9 is a flowchart showing an example of the abnormality detection process according to the present embodiment.
(Step S101) The control unit 110 acquires the state information of the system of the electronic device 10 at a preset timing. For example, the control unit 110 acquires information such as the CPU usage rate for each thread. Then, the control unit 110 stores the acquired information in the system information storage unit 191 in association with the information indicating the acquisition timing. Then, the process proceeds to step S103.

(ステップS103)制御部110は、ステップS101で取得した情報に基づいて、スレッド使用率比を算出する。例えば、制御部110は、測定期間においてCPU101を使用しているスレッドの合計数に対するCPU使用率が1~5%であるスレッドの数の割合を、スレッド使用率比として算出する。そして、制御部110は、算出したスレッド使用率比を異常検出に用いるパラメータとして算出情報記憶部192に記憶させる。そして、ステップS105の処理に進む。 (Step S103) The control unit 110 calculates the thread usage rate ratio based on the information acquired in step S101. For example, the control unit 110 calculates the ratio of the number of threads whose CPU usage rate is 1 to 5% to the total number of threads using the CPU 101 during the measurement period as the thread usage rate ratio. Then, the control unit 110 stores the calculated thread usage rate ratio in the calculated information storage unit 192 as a parameter used for abnormality detection. Then, the process proceeds to step S105.

(ステップS105)制御部110は、測定期間においてCPU101を使用している複数のスレッドのうち第1スレッド使用率を示す情報を抽出する。そして、制御部110は、抽出した第1スレッド使用率を示す情報を異常検出に用いるパラメータとして抽出情報記憶部193に記憶させる。そして、ステップS107の処理に進む。 (Step S105) The control unit 110 extracts information indicating the usage rate of the first thread among the plurality of threads using the CPU 101 during the measurement period. Then, the control unit 110 stores the extracted information indicating the first thread usage rate in the extraction information storage unit 193 as a parameter used for abnormality detection. Then, the process proceeds to step S107.

(ステップS107)制御部110は、ステップS103で算出したスレッド使用率比とステップS105で抽出した第1スレッド使用率とに基づいて処理の異常(パフォーマンスの低下など)を検出する。例えば、制御部110は、算出したスレッド使用率比を異常検出モデル(OCSVM)へ入力することにより出力される出力結果で正常/異常の判定を行う。この異常検出モデルは、以前に電子機器10または他の電子機器で取得されたスレッド使用率比と異常の有無に関する情報とに基づいて機械学習装置30で機械学習された学習済みモデルである。また、制御部110は、OCSVMにより異常と判定された場合には、第1スレッド使用率による閾値判定を行う。例えば制御部110は、OCSVMにより異常と判定された場合には、第1スレッド使用率が50%以上の場合には異常、第1スレッド使用率が50%未満の場合には正常と判定する。 (Step S107) The control unit 110 detects a processing abnormality (deterioration of performance, etc.) based on the thread usage rate ratio calculated in step S103 and the first thread usage rate extracted in step S105. For example, the control unit 110 determines normality / abnormality based on the output result output by inputting the calculated thread usage rate ratio to the abnormality detection model (OCSVM). This abnormality detection model is a trained model machine-learned by the machine learning device 30 based on the thread usage ratio previously acquired by the electronic device 10 or another electronic device and the information regarding the presence or absence of the abnormality. Further, when the control unit 110 determines that the abnormality is determined by the OCSVM, the control unit 110 determines the threshold value based on the first thread usage rate. For example, when the OCSVM determines that the control unit 110 is abnormal, the control unit 110 determines that it is abnormal when the first thread usage rate is 50% or more, and that it is normal when the first thread usage rate is less than 50%.

なお、制御部110は、以前に電子機器10または他の電子機器で取得されたスレッド使用率比と第1スレッド使用率と異常の有無に関する情報とに基づいて機械学習装置30で機械学習された異常検出モデルを用いて、処理の異常を検出してもよい。例えば、制御部110は、算出したスレッド使用率比と抽出した第1スレッド使用率とを異常検出モデルへ入力することにより出力される出力結果で正常/異常の判定を行ってもよい。そして、制御部110は、正常/異常の判定を行うと、ステップS109の処理に進む。 The control unit 110 was machine-learned by the machine learning device 30 based on the thread usage rate ratio previously acquired by the electronic device 10 or another electronic device, the first thread usage rate, and information regarding the presence or absence of an abnormality. An abnormality detection model may be used to detect processing abnormalities. For example, the control unit 110 may determine normality / abnormality based on the output result output by inputting the calculated thread usage rate ratio and the extracted first thread usage rate to the abnormality detection model. Then, when the control unit 110 determines normality / abnormality, the process proceeds to step S109.

(ステップS109)制御部110は、異常を検出したか否かを判定する。制御部110は、異常を検出したと判定した場合(YES)、ステップS111の処理に進む。一方、制御部110は、異常を検出しないと判定した場合(NO)、異常検出処理を終了する。 (Step S109) The control unit 110 determines whether or not an abnormality has been detected. When the control unit 110 determines that an abnormality has been detected (YES), the control unit 110 proceeds to the process of step S111. On the other hand, when the control unit 110 determines that no abnormality is detected (NO), the control unit 110 ends the abnormality detection process.

(ステップS111)制御部110は、異常を検出した場合、異常を示す異常情報を生成し、異常情報記憶部195に記憶させる。例えば、異常情報には、異常の内容(パフォーマンス低下」、異常なプロセス、異常なスレッドなどを示す情報が含まれる。また、制御部110は、異常を検出した場合、異常情報に基づく表示情報を表示部12に表示させ、異常が検出されたことをユーザに通知する。 (Step S111) When the control unit 110 detects an abnormality, it generates abnormality information indicating the abnormality and stores it in the abnormality information storage unit 195. For example, the abnormality information includes information indicating the content of the abnormality (degraded performance), an abnormal process, an abnormal thread, and the like. When the control unit 110 detects an abnormality, the control unit 110 displays display information based on the abnormality information. It is displayed on the display unit 12 to notify the user that an abnormality has been detected.

以上説明したように、本実施形態に係る電子機器10は、プログラムに基づいて処理を実行するCPU101(プロセッサの一例)を備えている。例えば、電子機器10は、CPU101を使用しているスレッドごとのCPU使用率を示す情報を取得する。また、電子機器10は、取得した情報に基づいて、CPU101を使用しているスレッドの合計数に対するCPU使用率が所定範囲(例えば、1~5%)であるスレッドの数の割合を示すスレッド使用率比(第1情報の一例)を算出する。また、電子機器10は、取得した情報に基づいて、CPU101を使用しているスレッドのうち最も使用されたスレッドである第1スレッドの使用率を示す第1スレッド使用率(第2情報の一例)を抽出する。そして、電子機器10は、スレッド使用率比と第1スレッド使用率とに基づいて、処理の異常を検出する。 As described above, the electronic device 10 according to the present embodiment includes a CPU 101 (an example of a processor) that executes processing based on a program. For example, the electronic device 10 acquires information indicating the CPU usage rate for each thread using the CPU 101. Further, the electronic device 10 uses threads indicating the ratio of the number of threads whose CPU usage rate is within a predetermined range (for example, 1 to 5%) to the total number of threads using the CPU 101 based on the acquired information. Calculate the rate ratio (an example of the first information). Further, the electronic device 10 has a first thread usage rate (an example of the second information) indicating the usage rate of the first thread, which is the most used thread among the threads using the CPU 101, based on the acquired information. To extract. Then, the electronic device 10 detects a processing abnormality based on the thread usage rate ratio and the first thread usage rate.

これにより、電子機器10は、実行中の処理におけるスレッド使用率比のみではなく第1スレッド使用率も用いることにより、実行中の処理の異常を精度よく検出することができる。 As a result, the electronic device 10 can accurately detect an abnormality in the process being executed by using not only the thread usage rate ratio in the process being executed but also the first thread usage rate.

例えば、電子機器10は、以前に取得されたスレッド使用率比、第1スレッド使用率、及び異常の有無に関する情報に基づいて機械学習された異常検出モデル(学習済みモデルの一例)を用いて、処理の異常を検出する。これにより、電子機器10は、実行中の処理におけるスレッド使用率比と第1スレッド使用率からAIを用いて精度よく異常を検出することができる。 For example, the electronic device 10 uses an anomaly detection model (an example of a trained model) machine-learned based on previously acquired thread utilization ratios, first thread utilization, and information about the presence or absence of anomalies. Detects processing abnormalities. As a result, the electronic device 10 can accurately detect an abnormality using AI from the thread usage rate ratio and the first thread usage rate in the processing being executed.

また、異常検出モデルは、プログラムに基づいて処理を実行するCPU101を備える電子機器10における処理の異常を検出するための学習済みモデルの一例である。異常検出モデルは、CPU101を使用しているスレッドの合計数に対するCPU101の使用率が所定範囲であるスレッドの数の割合を示すスレッド使用率比(第1情報の一例)と、CPU101を使用しているスレッドのうち最も使用されたスレッドである第1スレッドの使用率を示す第1スレッド使用率(第2情報の一例)とに基づいて機械学習され、上記処理の異常を検出するようコンピュータを機能させる。 Further, the abnormality detection model is an example of a trained model for detecting an abnormality in processing in an electronic device 10 including a CPU 101 that executes processing based on a program. The abnormality detection model uses a thread usage rate ratio (an example of the first information) showing the ratio of the number of threads whose usage rate of the CPU 101 is within a predetermined range to the total number of threads using the CPU 101, and the CPU 101. Machine learning is performed based on the usage rate of the first thread (an example of the second information), which indicates the usage rate of the first thread, which is the most used thread among the threads, and the computer functions to detect the abnormality in the above processing. Let me.

これにより、電子機器10は、スレッド使用率比のみではなく第1スレッド使用率も用いて機械学習された異常検出モデルを用いることにより、実行中の処理の異常をAIを用いて精度よく検出することができる。 As a result, the electronic device 10 uses AI to accurately detect an abnormality in the processing being executed by using a machine-learned abnormality detection model using not only the thread usage rate ratio but also the first thread usage rate. be able to.

なお、本実施形態では、CPU101を使用しているスレッドの合計数に対するCPU使用率1~5%であるスレッドの数の割合をスレッド使用率比としたが、CPU使用率1~5%に限定されるものではない。例えば、CPU101を使用しているスレッドの合計数に対する任意の特定のCPU使用率であるスレッドの数の割合をスレッド使用率比としてもよい。 In this embodiment, the ratio of the number of threads having a CPU usage rate of 1 to 5% to the total number of threads using the CPU 101 is defined as the thread usage rate ratio, but the CPU usage rate is limited to 1 to 5%. It is not something that is done. For example, the ratio of the number of threads, which is an arbitrary specific CPU usage rate, to the total number of threads using the CPU 101 may be used as the thread usage rate ratio.

[第2の実施形態]
次に、本発明の第2の実施形態について説明する。
第1の実施形態では、スレッド使用率比に加えて第1スレッド使用率による閾値判定を加味して異常を検出することにより、スレッド使用率比のみで異常を検出するよりも検出精度を向上させた例を説明した。しかしながら、図5(C)に示すように、異常検出の正解率は90%未満であり、まだ誤検出が一定の割合で発生する。本実施形態では、より精度よく異常を検出することが可能な態様について説明する。なお、本実施形態に係る電子機器10のハードウェア構成は図6に示す構成と同様であるため説明を省略し、第1の実施形態と異なる機能構成及び異常検出処理について説明する。
[Second Embodiment]
Next, a second embodiment of the present invention will be described.
In the first embodiment, the abnormality is detected by adding the threshold value determination based on the first thread usage rate in addition to the thread usage rate ratio, so that the detection accuracy is improved as compared with detecting the abnormality only by the thread usage rate ratio. I explained an example. However, as shown in FIG. 5C, the correct answer rate for anomaly detection is less than 90%, and false positives still occur at a constant rate. In this embodiment, an embodiment capable of detecting an abnormality more accurately will be described. Since the hardware configuration of the electronic device 10 according to the present embodiment is the same as the configuration shown in FIG. 6, the description thereof will be omitted, and the functional configuration and the abnormality detection process different from those of the first embodiment will be described.

図10を参照して、第1の実施形態で誤検出となる例と、本実施形態で検出に使用するパラメータについて説明する。図10は、本実施形態に係る異常検出方法を説明するための検出結果の一例を示す図である。ここで、第1の実施形態では、図2に示す測定中において最も使用されたスレッドのことを「第1スレッド」、この第1スレッドの使用率のことを「第1スレッド使用率」と称して説明した。本実施形態でも同様に、「第1スレッド」及び「第1スレッド使用率」を用いて説明するが、同様に、2番目に最も使用されたスレッドのことを「第2スレッド」、この第2スレッドの使用率のことを「第2スレッド使用率」と称する。また同様に、3番目に最も使用されたスレッドのことを「第3スレッド」、この第3スレッドの使用率のことを「第3スレッド使用率」と称する。なお、2番目に最も使用されたスレッドとは第1スレッドの次に最も使用されたスレッド(すなわち、第1スレッド使用率の次に高いスレッド使用率のスレッド)である。また、3番目に最も使用されたスレッドとは第2スレッドの次に最も使用されたスレッド(すなわち、第2スレッド使用率の次に高いスレッド使用率のスレッド)である。 With reference to FIG. 10, an example of erroneous detection in the first embodiment and parameters used for detection in the present embodiment will be described. FIG. 10 is a diagram showing an example of a detection result for explaining the abnormality detection method according to the present embodiment. Here, in the first embodiment, the most used thread in the measurement shown in FIG. 2 is referred to as "first thread", and the usage rate of this first thread is referred to as "first thread usage rate". I explained. Similarly, in the present embodiment, the description will be made using the “first thread” and the “first thread usage rate”, but similarly, the second most used thread is referred to as the “second thread”, which is the second thread. The thread usage rate is referred to as "second thread usage rate". Similarly, the third most used thread is referred to as a "third thread", and the usage rate of the third thread is referred to as a "third thread usage rate". The second most used thread is the most used thread after the first thread (that is, the thread with the next highest thread usage rate after the first thread usage rate). The third most used thread is the most used thread after the second thread (that is, the thread with the next highest thread usage rate after the second thread usage rate).

この図では、3種類の異常検出結果にID1~3を付して、それぞれ第1スレッドが含まれるアプリケーションの情報(Most Used app)と第1スレッド使用率(1st Thread usage)、第2スレッドが含まれるアプリケーションの情報(2nd Most Used app)と第2スレッド使用率(2nd Thread usage)、及び第3スレッドが含まれるアプリケーションの情報(3rd Most Used app)と第3スレッド使用率(3rd Thread usage)の測定結果と、第1の実施形態に係る異常検出結果(Prediction By OCSVM+50%thresh)と、実際の異常の有無(Real status)とについて表にして示している。 In this figure, IDs 1 to 3 are attached to the three types of abnormality detection results, and the information of the application including the first thread (Most Used app), the usage rate of the first thread (1st Thread usage), and the second thread are shown. Information on the included application (2nd Most Used app) and second thread utilization (2nd Thread usage), and information on the application containing the third thread (3rd Most Used application) and third thread utilization (3rd Thread usage). The measurement result, the abnormality detection result (Application By OCSVM + 50% thread) according to the first embodiment, and the actual presence / absence of abnormality (Real status) are shown in a table.

第1の実施形態に係るスレッド使用率比によるOCSVMと第1スレッド使用率による閾値(50%)判定とを用いた異常検出結果では、ID1が異常と判定され、ID2及びID3が正常と判定される。しかしながら、本例では、実際にはID1が正常であり、ID2及びID3が異常であった。ここで、第1スレッド使用率のみではなく、第2スレッド使用率及び第3スレッド使用率も確認すると、異常なID1では、第1スレッド使用率と第2スレッド使用率との差が2%しかなく小さいことがわかる。一方、正常なID2及びID3では、第1スレッド使用率と第2スレッド使用率との差がそれぞれ30%、56%であり大きいことがわかる。また、第1スレッド使用率と第3スレッド使用率との差についても同様の傾向であり、異常であるときの方が小さい。 In the abnormality detection result using the OCSVM based on the thread usage rate ratio and the threshold value (50%) determination based on the first thread usage rate according to the first embodiment, ID1 is determined to be abnormal, and ID2 and ID3 are determined to be normal. To. However, in this example, ID1 was actually normal, and ID2 and ID3 were abnormal. Here, when not only the 1st thread usage rate but also the 2nd thread usage rate and the 3rd thread usage rate are confirmed, the difference between the 1st thread usage rate and the 2nd thread usage rate is only 2% in the abnormal ID1. It turns out that it is small. On the other hand, in normal ID2 and ID3, the difference between the first thread usage rate and the second thread usage rate is 30% and 56%, respectively, which are large. Further, the difference between the first thread usage rate and the third thread usage rate has the same tendency, and is smaller when it is abnormal.

また、異常なID1では、第1スレッド、第2スレッド、及び第3スレッドのそれぞれが含まれるアプリケーション(App-m1)が同一である。つまり、同一のアプリケーションが複数のスレッドを高い使用率で占有している(CPU使用率が高く使用時間が長い)場合、CPU101の処理が異常な処理になっているといえる。 Further, in the abnormal ID 1, the application (App-m1) including each of the first thread, the second thread, and the third thread is the same. That is, when the same application occupies a plurality of threads with a high usage rate (the CPU usage rate is high and the usage time is long), it can be said that the processing of the CPU 101 is an abnormal processing.

なお、ID2の各スレッドが含まれるアプリケーション(App-dr5)は、OSによりバックグラウンドで実行されるアプリケーションの一例である。このようなアプリケーションは、強制終了できないため、異常検出の対象から外してもよい。例えば、ゲームのアプリケーションが実行されていることによりCPU使用率が高くなっていても、それは異常で高くなっているわけではなく、正常な処理である。よって、アプリケーションの種類も異常検出に影響する。 The application (App-dr5) including each thread of ID2 is an example of an application executed in the background by the OS. Since such an application cannot be forcibly terminated, it may be excluded from the target of anomaly detection. For example, even if the CPU usage rate is high due to the execution of the game application, it does not mean that the CPU usage rate is abnormally high, but it is a normal process. Therefore, the type of application also affects the abnormality detection.

本実施形態では、電子機器10は、第1スレッド使用率のみではなく、第2スレッド使用率)及び第3スレッド使用率に関する情報を新しいパラメータとして追加することで、異常検出モデルの精度を向上させる。また、電子機器10は、第1スレッド、第2スレッド、及び第3スレッドのそれぞれが含まれるアプリケーションの情報を新しいパラメータとして追加することで、異常検出モデルの精度を向上させる。 In the present embodiment, the electronic device 10 improves the accuracy of the abnormality detection model by adding information on the second thread usage rate as well as the second thread usage rate) and the third thread usage rate as new parameters. .. Further, the electronic device 10 improves the accuracy of the abnormality detection model by adding the information of the application including each of the first thread, the second thread, and the third thread as a new parameter.

すなわち、電子機器10は、スレッド使用率比と、第1スレッド使用率、第2スレッド使用率、及び第3スレッド使用率に関する情報と、各スレッドが含まれるアプリケーションの情報とに基づいて、処理の異常を検出する。スレッド使用率比については、第1の実施形態で説明した内容と同様であるため、ここでは、スレッド使用率に関する情報と、各スレッドが含まれるアプリケーションの情報とについて詳しく説明する。 That is, the electronic device 10 processes based on the thread usage rate ratio, the information regarding the first thread usage rate, the second thread usage rate, and the third thread usage rate, and the information of the application including each thread. Detect anomalies. Since the thread usage rate ratio is the same as that described in the first embodiment, here, information on the thread usage rate and information on the application including each thread will be described in detail.

図11は、スレッド使用率に関する情報の一例を示す図である。前述したように、第1スレッド使用率と第2スレッド使用率との差分や第1スレッド使用率と第3スレッド使用率との差分が、異常の有無に関係する。そこで、スレッド使用率に関する情報として、第1スレッド使用率(ProcCpuUsage1)と、第1スレッド使用率と第2スレッド使用率との差分(ProcCpuUsage2diff)と、第1スレッド使用率と第3スレッド使用率との差分(ProcCpuUsage3diff)とを、異常検出のためのパラメータとして使用する。 FIG. 11 is a diagram showing an example of information regarding the thread usage rate. As described above, the difference between the first thread usage rate and the second thread usage rate and the difference between the first thread usage rate and the third thread usage rate are related to the presence or absence of an abnormality. Therefore, as information on the thread usage rate, the first thread usage rate (ProcCpuUsage1), the difference between the first thread usage rate and the second thread usage rate (ProcCpuUsage2diff), the first thread usage rate, and the third thread usage rate. Difference (ProcCpuUsage3diff) is used as a parameter for abnormality detection.

図12は、アプリケーション情報の一例を示す図である。前述したように、同一のアプリケーションが複数のスレッドを有していることも、異常の有無に関係する。そこで、アプリケーション情報として、第1スレッド、第2スレッド、及び第3スレッドが同一のアプリケーションに含まれるか否かを評価値(Same App)として表し、この評価値を異常検出のためのパラメータとして使用する。例えば、第1スレッドと第3スレッドが同一のアプリケーションに含まれる場合、評価値(Same App)を「1」とする。第1スレッドと第2スレッドが同一のアプリケーションに含まれる場合、評価値(Same App)を「2」とする。第1スレッド、第2スレッド、及び第3スレッドのすべてが同一のアプリケーションに含まれる場合、評価値(Same App)を「3」とする。以下では、この同一のアプリケーションに含まれるか否かにより決まる評価値を第1評価値とも称する。 FIG. 12 is a diagram showing an example of application information. As mentioned above, the fact that the same application has multiple threads is also related to the presence or absence of anomalies. Therefore, as application information, whether or not the first thread, the second thread, and the third thread are included in the same application is expressed as an evaluation value (Same App), and this evaluation value is used as a parameter for abnormality detection. do. For example, when the first thread and the third thread are included in the same application, the evaluation value (Same App) is set to "1". When the first thread and the second thread are included in the same application, the evaluation value (Same App) is set to "2". When the first thread, the second thread, and the third thread are all included in the same application, the evaluation value (Same App) is set to "3". Hereinafter, the evaluation value determined by whether or not the application is included in the same application is also referred to as a first evaluation value.

また、アプリケーション情報として、アプリケーションの種類も評価値として表し、この評価値を異常検出のためのパラメータとして使用する。例えば、第1スレッドが含まれるアプリケーションの種類がブラウザである場合、評価値(Browser)を「1」とする。また、第1スレッドが含まれるアプリケーションの種類がゲームのアプリケーションである場合、評価値(GameApp)を「1」とする。また、第1スレッドが含まれるアプリケーションの種類がOSによりバックグラウンドで実行されるアプリケーションである場合、評価値(OSApp)を「1」とする。以下では、このアプリケーションの種類に基づいて決まる評価値を第2評価値とも称する。 In addition, as application information, the type of application is also expressed as an evaluation value, and this evaluation value is used as a parameter for detecting an abnormality. For example, when the type of the application including the first thread is a browser, the evaluation value (browser) is set to "1". Further, when the type of the application including the first thread is a game application, the evaluation value (GameApp) is set to "1". Further, when the type of the application including the first thread is an application executed in the background by the OS, the evaluation value (OSApp) is set to "1". Hereinafter, the evaluation value determined based on the type of this application is also referred to as a second evaluation value.

なお、上述した第1評価値及び第2評価値の各値は一例であって、上述した値に限定されるものではない。 It should be noted that each of the above-mentioned first evaluation value and second evaluation value is an example, and is not limited to the above-mentioned value.

(電子機器の機能構成)
次に、本実施形態に係る電子機器10の機能構成について説明する。
図13は、本実施形態に係る電子機器10の機能構成の一例を示すブロック図である。制御部110Aは、本実施形態に係る異常検出アプリケーションのプログラムをCPU101が実行することにより実現する異常検出処理の機能構成を示している。制御部110Aは、取得部111と、算出部112と、抽出部113と、評価部114と、異常検出部115とを備えている。また、異常検出処理に用いるデータを記憶する構成として、記憶部19は、システム情報記憶部191と、算出情報記憶部192と、抽出情報記憶部193と、評価情報記憶部194、異常情報記憶部195と、異常検出モデル記憶部196とを備えている。
(Functional configuration of electronic devices)
Next, the functional configuration of the electronic device 10 according to the present embodiment will be described.
FIG. 13 is a block diagram showing an example of the functional configuration of the electronic device 10 according to the present embodiment. The control unit 110A shows a functional configuration of an abnormality detection process realized by the CPU 101 executing the program of the abnormality detection application according to the present embodiment. The control unit 110A includes an acquisition unit 111, a calculation unit 112, an extraction unit 113, an evaluation unit 114, and an abnormality detection unit 115. Further, as a configuration for storing data used for abnormality detection processing, the storage unit 19 includes a system information storage unit 191, a calculation information storage unit 192, an extraction information storage unit 193, an evaluation information storage unit 194, and an abnormality information storage unit 194. It includes 195 and an abnormality detection model storage unit 196.

取得部111は、電子機器10のシステムの状態に関する状態情報を取得する。例えば、取得部111は、図2を参照して説明したように、予め設定されたタイミングで、実行中のプログラム(プロセス)やスレッドの情報、システム情報(例えば、OSの種類やバージョンの情報)などを取得する。 The acquisition unit 111 acquires state information regarding the state of the system of the electronic device 10. For example, as described with reference to FIG. 2, the acquisition unit 111 has information on programs (processes) and threads being executed, system information (for example, information on the type and version of the OS) at preset timings. And so on.

例えば、取得部111が取得する情報には、第1の実施形態で説明したように、図2に示す測定期間におけるプロセスの合計数(NumOfProcess)及びスレッドの合計数(NumOfThread)や、スレッドごとのCPU使用率、CPU使用率ごとのプロセスの数、CPU使用率ごとのスレッドの数などのデータが含まれる。また、取得部111が取得する情報には、上記スレッドが含まれるプロセスがいずれのアプリケーションであるかを示すアプリケーション情報をさらに取得する。アプリケーション情報は、アプリケーションを識別可能な情報であり、例えばアプリケーションのプログラムの実行ファイル名であってもよいし、アプリケーションの名称であってもよい。そして、取得部111は、取得した情報を取得したタイミングを示す情報と関連付けて、システム情報記憶部191に記憶させる。 For example, as described in the first embodiment, the information acquired by the acquisition unit 111 includes the total number of processes (NumOfProcesss) and the total number of threads (NumOfThread) in the measurement period shown in FIG. 2, and each thread. Data such as the CPU usage rate, the number of processes per CPU usage rate, and the number of threads per CPU usage rate are included. In addition, the information acquired by the acquisition unit 111 further acquires application information indicating which application the process including the thread is. The application information is information that can identify the application, and may be, for example, the executable file name of the program of the application or the name of the application. Then, the acquisition unit 111 stores the acquired information in the system information storage unit 191 in association with the information indicating the acquisition timing.

算出部112は、取得部111が取得した情報に基づいて、スレッド使用率比を算出する。算出方法は、第1の実施形態と同様である。例えば、算出部112は、CPU101を使用しているスレッドの合計数に対するCPU使用率が所定範囲(例えば1~5%)であるスレッドの数の割合を、スレッド使用率比として算出する。そして、算出部112は、算出したスレッド使用率比を異常検出に用いるパラメータとして算出情報記憶部192に記憶させる。 The calculation unit 112 calculates the thread usage rate ratio based on the information acquired by the acquisition unit 111. The calculation method is the same as that of the first embodiment. For example, the calculation unit 112 calculates the ratio of the number of threads whose CPU usage rate is within a predetermined range (for example, 1 to 5%) to the total number of threads using the CPU 101 as the thread usage rate ratio. Then, the calculation unit 112 stores the calculated thread usage rate ratio in the calculation information storage unit 192 as a parameter used for abnormality detection.

抽出部113は、取得部111が取得した情報に基づいて、図2に示す測定期間においてCPU101を使用している複数のスレッドのうち第1スレッドを含む複数のスレッドの使用率を示す情報)を示す情報を抽出する。例えば、抽出部113は、第1スレッド使用率と、第2スレッド使用率と、第3スレッド使用率を示す情報を抽出する。そして、抽出部113は、抽出した情報を抽出情報記憶部193に記憶させる。 Based on the information acquired by the acquisition unit 111, the extraction unit 113 obtains information indicating the usage rate of a plurality of threads including the first thread among the plurality of threads using the CPU 101 during the measurement period shown in FIG. 2). Extract the information shown. For example, the extraction unit 113 extracts information indicating the first thread usage rate, the second thread usage rate, and the third thread usage rate. Then, the extraction unit 113 stores the extracted information in the extraction information storage unit 193.

また、算出部112は、抽出部113が抽出した第1スレッド使用率と、第2スレッド使用率と、第3スレッド使用率を示す情報に基づいて、複数のスレッド間の使用率の差分を算出する。例えば、算出部112は、第1スレッド使用率と第2スレッド使用率との差分(ProcCpuUsage2diff)と、第1スレッド使用率と第3スレッド使用率との差分(ProcCpuUsage3diff)とを算出する。そして、算出部112は、第1スレッド使用率(ProcCpuUsage1)と、第1スレッド使用率と第2スレッド使用率との差分(ProcCpuUsage2diff)と、第1スレッド使用率と第3スレッド使用率との差分(ProcCpuUsage3diff)とを、異常検出のためのパラメータとして算出情報記憶部192に記憶させる。 Further, the calculation unit 112 calculates the difference in the usage rate between the plurality of threads based on the information indicating the first thread usage rate, the second thread usage rate, and the third thread usage rate extracted by the extraction unit 113. do. For example, the calculation unit 112 calculates the difference between the first thread usage rate and the second thread usage rate (ProcCpuUsage2diff) and the difference between the first thread usage rate and the third thread usage rate (ProcCpuUsage3diff). Then, the calculation unit 112 determines the difference between the first thread usage rate (ProcCpuUsage1), the difference between the first thread usage rate and the second thread usage rate (ProcCpuUsage2diff), and the difference between the first thread usage rate and the third thread usage rate. (ProcCpuUsage3diff) is stored in the calculated information storage unit 192 as a parameter for detecting an abnormality.

評価部114は、取得部111が取得したアプリケーション情報に基づいて、第1スレッド、第2スレッド、及び第3スレッドのそれぞれが含まれるアプリケーションが同一のアプリケーションであるか否かに基づいて第1評価値を決定する。例えば、評価部114は、第1スレッドと第3スレッドが同一のアプリケーションに含まれる場合、第1評価値(Same App)を「1」に決定する。また、評価部114は、第1スレッドと第2スレッドが同一のアプリケーションに含まれる場合、第1評価値(Same App)を「2」に決定する。また、評価部114は、第1スレッド、第2スレッド、及び第3スレッドのすべてが同一のアプリケーションに含まれる場合、第1評価値(Same App)を「3」に決定する。そして、評価部114は、第1スレッド、第2スレッド、及び第3スレッドのそれぞれが含まれるアプリケーションの種類に基づいて決定した第1評価値を、異常検出のためのパラメータとして評価情報記憶部194に記憶させる。 The evaluation unit 114 first evaluates based on whether or not the applications including the first thread, the second thread, and the third thread are the same application based on the application information acquired by the acquisition unit 111. Determine the value. For example, the evaluation unit 114 determines the first evaluation value (Same App) to be "1" when the first thread and the third thread are included in the same application. Further, the evaluation unit 114 determines the first evaluation value (Same App) to be "2" when the first thread and the second thread are included in the same application. Further, the evaluation unit 114 determines the first evaluation value (Same App) to be "3" when all of the first thread, the second thread, and the third thread are included in the same application. Then, the evaluation unit 114 uses the first evaluation value determined based on the type of the application including each of the first thread, the second thread, and the third thread as a parameter for detecting an abnormality in the evaluation information storage unit 194. To memorize.

また、評価部114は、取得部111が取得したアプリケーション情報に基づいて、第1スレッド、第2スレッド、及び第3スレッドのそれぞれが含まれるアプリケーションの種類に基づいて第2評価値を決定する。
例えば、評価部114は、第1スレッドが含まれるアプリケーションの種類がブラウザである場合、第2評価値として評価値(Browser)を「1」に決定する。また、評価部114は、第1スレッドが含まれるアプリケーションの種類がゲームのアプリケーションである場合、第2評価値として評価値(GameApp)を「1」に決定する。また、評価部114は、第1スレッドが含まれるアプリケーションの種類がOSによりバックグラウンドで実行されるアプリケーションである場合、第2評価値として評価値(OSApp)を「1」に決定する。そして、評価部114は、第1スレッド、第2スレッド、及び第3スレッドのそれぞれが含まれるアプリケーションの種類に基づいて決定した第2評価値を、異常検出のためのパラメータとして評価情報記憶部194に記憶させる。
Further, the evaluation unit 114 determines the second evaluation value based on the type of the application including each of the first thread, the second thread, and the third thread, based on the application information acquired by the acquisition unit 111.
For example, when the type of the application including the first thread is a browser, the evaluation unit 114 determines the evaluation value (browser) to be "1" as the second evaluation value. Further, when the type of application including the first thread is a game application, the evaluation unit 114 determines the evaluation value (GameApp) to be "1" as the second evaluation value. Further, when the type of the application including the first thread is an application executed in the background by the OS, the evaluation unit 114 determines the evaluation value (OSApp) as "1" as the second evaluation value. Then, the evaluation unit 114 uses the second evaluation value determined based on the type of the application including each of the first thread, the second thread, and the third thread as a parameter for detecting an abnormality in the evaluation information storage unit 194. To memorize.

異常検出部115は、スレッド使用率比と、第1スレッド使用率、第2スレッド使用率、及び第3スレッド使用率と、各スレッドが含まれるアプリケーションの情報とに基づいて、処理の異常(パフォーマンスの低下など)を検出する。例えば、異常検出部115は、スレッド使用率比に加えて、第1スレッド使用率(ProcCpuUsage1)と、第1スレッド使用率と第2スレッド使用率との差分(ProcCpuUsage2diff)と、第1スレッド使用率と第3スレッド使用率との差分(ProcCpuUsage3diff)とを用いるとともに(図11参照)、アプリケーションの種類に基づく第1評価値及び第2評価値に基づいて、処理の異常を検出する。 The anomaly detection unit 115 performs processing anomalies (performance) based on the thread usage rate ratio, the first thread usage rate, the second thread usage rate, the third thread usage rate, and the information of the application including each thread. Etc.) is detected. For example, the abnormality detection unit 115 has, in addition to the thread usage rate ratio, the difference between the first thread usage rate (ProcCpuUsage1), the first thread usage rate and the second thread usage rate (ProcCpuUsage2diff), and the first thread usage rate. Using the difference between the third thread usage rate and the third thread usage rate (ProcCpuUsage3diff) (see FIG. 11), processing abnormalities are detected based on the first evaluation value and the second evaluation value based on the type of application.

以下では、第1スレッド使用率(ProcCpuUsage1)と、第1スレッド使用率と第2スレッド使用率との差分(ProcCpuUsage2diff)と、第1スレッド使用率と第3スレッド使用率との差分(ProcCpuUsage3diff)とをまとめて、「スレッド使用率差分情報」と称する。また、アプリケーションの種類に基づく第1評価値及び第2評価値をまとめて、「アプリケーション評価情報」と称する。 In the following, the difference between the 1st thread usage rate (ProcCpuUsage1), the 1st thread usage rate and the 2nd thread usage rate (ProcCpuUsage2diff), and the difference between the 1st thread usage rate and the 3rd thread usage rate (ProcCpuUsage3diff). Are collectively referred to as "thread usage difference information". Further, the first evaluation value and the second evaluation value based on the type of application are collectively referred to as "application evaluation information".

例えば、異常検出部115は、異常を検出するための学習済みモデルである異常検出モデルを用いて処理の異常を検出する。この異常検出モデルは、以前に電子機器10または他の電子機器で取得されたスレッド使用率比、スレッド使用率差分情報、及びアプリケーション評価情報と、異常の有無に関する情報とに基づいて機械学習装置30で機械学習された学習済みモデルである。機械学習の方法は、教師あり学習、教師なし学習、または強化学習などの任意の方法を適用してもよい。電子機器10は、この異常検出モデルを事前に機械学習装置30から通信ネットワークNWや記憶媒体を介して取得し、異常検出モデル記憶部196に記憶している。 For example, the abnormality detection unit 115 detects an abnormality in processing by using an abnormality detection model which is a learned model for detecting an abnormality. This abnormality detection model is based on the thread usage rate ratio, thread usage rate difference information, and application evaluation information previously acquired by the electronic device 10 or other electronic devices, and the machine learning device 30 based on the information regarding the presence or absence of an abnormality. It is a trained model machine-learned in. As the method of machine learning, any method such as supervised learning, unsupervised learning, or reinforcement learning may be applied. The electronic device 10 acquires this abnormality detection model from the machine learning device 30 in advance via the communication network NW or a storage medium, and stores it in the abnormality detection model storage unit 196.

具体的には、異常検出部115は、算出情報記憶部192、抽出情報記憶部193、及び評価情報記憶部194を参照して、スレッド使用率比、スレッド使用率差分情報、及びアプリケーション評価情報を異常検出モデルへ入力することにより出力される出力結果で正常/異常の判定を行う(図14参照)。 Specifically, the abnormality detection unit 115 refers to the calculation information storage unit 192, the extraction information storage unit 193, and the evaluation information storage unit 194, and obtains the thread usage rate ratio, the thread usage rate difference information, and the application evaluation information. Normal / abnormal judgment is made based on the output result output by inputting to the abnormality detection model (see FIG. 14).

図14は、各種の機械学習を用いた異常検出結果の正解率(Accuracy)を比較した図である。図示する例では、Linear SVM、Bernoulli Naive Bayes、Random Forest、Random Tree、SGD、Light GBM、XG Boost Classifier、及びNeural Network(Deep Learning)の8種類の機械学習による異常検出結果の正解率を示している。この中では、Neural Network(Deep Learning)が、正解率99.81%で、最も検出精度が良い。 FIG. 14 is a diagram comparing the accuracy rates of abnormality detection results using various machine learning. In the illustrated example, the Liner SVM, Bernoulli Naive Bayes, Random Forest, Random Tree, SGD, LightGBM, XG Boost Classifier, and Neural Network are shown by machine learning (De) There is. Among them, Neural Network (Deep Learning) has a correct answer rate of 99.81% and has the best detection accuracy.

以下検出精度の良い順に、XG Boost Classifier(正解率:99.51%)、Light GBM(正解率:98.94%)、SGD(正解率:98.86%)、Random Tree(正解率:93.71%)、Random Forest(正解率:90.11%)、Bernoulli Naive Bayes(正解率:87.16%)、Linear SVM(正解率:85.04%)、となっている。 Below, in order of increasing detection accuracy, XG Boost Classifier (correct answer rate: 99.51%), Light GBM (correct answer rate: 98.94%), SGD (correct answer rate: 98.86%), Random Tree (correct answer rate: 93). .71%), Random Forest (correct answer rate: 90.11%), Bernoulli Naive Bayes (correct answer rate: 87.16%), Linear SVM (correct answer rate: 85.04%).

上記の結果からすると、検出精度が最も良いNeural Network(Deep Learning)を用いるのが好適であるが、他の機械学習の方法を用いてもよい。例えば、処理の負荷の大きさなどのような検出精度以外の条件も考慮して、他の機械学習の方法を用いてもよい。 From the above results, it is preferable to use a Neural Network (Deep Learning) having the best detection accuracy, but other machine learning methods may also be used. For example, other machine learning methods may be used in consideration of conditions other than detection accuracy such as the magnitude of the processing load.

(異常検出処理の動作)
次に、電子機器10において制御部110Aが実行する異常検出処理の動作について説明する。図15は、本実施形態に係る異常検出処理の一例を示すフローチャートである。
(ステップS201)制御部110Aは、予め設定されたタイミングで、電子機器10のシステムの状態情報を取得する。例えば、制御部110Aは、スレッドごとのCPU使用率を示す情報、各スレッドのアプリケーション情報などを取得する。そして、制御部110Aは、取得した情報を取得したタイミングを示す情報と関連付けて、システム情報記憶部191に記憶させる。そして、ステップS203の処理に進む。
(Operation of abnormality detection processing)
Next, the operation of the abnormality detection process executed by the control unit 110A in the electronic device 10 will be described. FIG. 15 is a flowchart showing an example of the abnormality detection process according to the present embodiment.
(Step S201) The control unit 110A acquires the state information of the system of the electronic device 10 at a preset timing. For example, the control unit 110A acquires information indicating the CPU usage rate for each thread, application information for each thread, and the like. Then, the control unit 110A stores the acquired information in the system information storage unit 191 in association with the information indicating the acquisition timing. Then, the process proceeds to step S203.

(ステップS203)制御部110Aは、ステップS201で取得した情報に基づいて、スレッド使用率比を算出する。例えば、制御部110Aは、測定期間においてCPU101を使用しているスレッドの合計数に対するCPU使用率が1~5%であるスレッドの数の割合を、スレッド使用率比として算出する。そして、制御部110Aは、算出したスレッド使用率比を、異常検出に用いるパラメータとして算出情報記憶部192に記憶させる。そして、ステップS205の処理に進む。 (Step S203) The control unit 110A calculates the thread usage rate ratio based on the information acquired in step S201. For example, the control unit 110A calculates the ratio of the number of threads whose CPU usage rate is 1 to 5% to the total number of threads using the CPU 101 during the measurement period as the thread usage rate ratio. Then, the control unit 110A stores the calculated thread usage rate ratio in the calculated information storage unit 192 as a parameter used for abnormality detection. Then, the process proceeds to step S205.

(ステップS205)制御部110Aは、ステップS201で取得した情報に基づいて、第1スレッド使用率と、第2スレッド使用率と、第3スレッド使用率を示す情報を抽出する。そして、制御部110Aは、抽出した情報を抽出情報記憶部193に記憶させ、ステップS207の処理に進む。 (Step S205) The control unit 110A extracts information indicating the first thread usage rate, the second thread usage rate, and the third thread usage rate based on the information acquired in step S201. Then, the control unit 110A stores the extracted information in the extraction information storage unit 193, and proceeds to the process of step S207.

(ステップS207)制御部110Aは、第1スレッド使用率と第2スレッド使用率との差分、及び第1スレッド使用率と第3スレッド使用率との差分とを算出する。そして、制御部110Aは、第1スレッド使用率と、第1スレッド使用率と第2スレッド使用率との差分と、第1スレッド使用率と第3スレッド使用率との差分とが含まれるスレッド使用率差分情報を、異常検出のためのパラメータとして算出情報記憶部192に記憶させる。そして、ステップS209の処理に進む。 (Step S207) The control unit 110A calculates the difference between the first thread usage rate and the second thread usage rate, and the difference between the first thread usage rate and the third thread usage rate. Then, the control unit 110A includes a thread usage including a difference between the first thread usage rate, the first thread usage rate and the second thread usage rate, and a difference between the first thread usage rate and the third thread usage rate. The rate difference information is stored in the calculated information storage unit 192 as a parameter for detecting an abnormality. Then, the process proceeds to step S209.

(ステップS209)制御部110Aは、ステップS201で取得した情報に基づいて、
第1スレッド、第2スレッド、及び第3スレッドのそれぞれが含まれるアプリケーションの種類に基づいて評価値を決定する。例えば、制御部110Aは、第1スレッド、第2スレッド、及び第3スレッドのそれぞれが含まれるアプリケーションが同一のアプリケーションであるか否かに基づいて第1評価値を決定する(図11参照)。また、制御部110Aは、第1スレッド、第2スレッド、及び第3スレッドのそれぞれが含まれるアプリケーションの種類に基づいて第2評価値を決定する。そして、制御部110Aは、第1スレッド、第2スレッド、及び第3スレッドのそれぞれが含まれるアプリケーションの種類に基づいて決定した第1評価値及び第2評価値が含まれるアプリケーション評価情報を、異常検出のためのパラメータとして評価情報記憶部194に記憶させる。そして、ステップS211の処理に進む。
(Step S209) The control unit 110A is based on the information acquired in step S201.
The evaluation value is determined based on the type of application including each of the first thread, the second thread, and the third thread. For example, the control unit 110A determines the first evaluation value based on whether or not the applications including the first thread, the second thread, and the third thread are the same application (see FIG. 11). Further, the control unit 110A determines the second evaluation value based on the type of the application including each of the first thread, the second thread, and the third thread. Then, the control unit 110A abnormally displays the application evaluation information including the first evaluation value and the second evaluation value determined based on the type of the application including each of the first thread, the second thread, and the third thread. It is stored in the evaluation information storage unit 194 as a parameter for detection. Then, the process proceeds to step S211.

(ステップS211)制御部110Aは、スレッド使用率比、スレッド使用率差分情報、及びアプリケーション評価情報に基づいて、処理の異常(パフォーマンスの低下など)を検出する。例えば、制御部110Aは、スレッド使用率比、スレッド使用率差分情報、及びアプリケーション評価情報を異常検出モデルへ入力することにより出力される出力結果で正常/異常の判定を行う。そして、ステップS213の処理に進む。 (Step S211) The control unit 110A detects a processing abnormality (deterioration of performance, etc.) based on the thread usage rate ratio, the thread usage rate difference information, and the application evaluation information. For example, the control unit 110A determines normality / abnormality based on the output result output by inputting the thread usage rate ratio, the thread usage rate difference information, and the application evaluation information into the abnormality detection model. Then, the process proceeds to step S213.

(ステップS213)制御部110Aは、異常を検出したか否かを判定する。制御部110Aは、異常を検出したと判定した場合(YES)、ステップS215の処理に進む。一方、制御部110は、異常を検出しないと判定した場合(NO)、異常検出処理を終了する。 (Step S213) The control unit 110A determines whether or not an abnormality has been detected. When the control unit 110A determines that an abnormality has been detected (YES), the control unit 110A proceeds to the process of step S215. On the other hand, when the control unit 110 determines that no abnormality is detected (NO), the control unit 110 ends the abnormality detection process.

(ステップS215)制御部110Aは、異常を検出した場合、異常を示す異常情報を生成し、異常情報記憶部195に記憶させる。例えば、異常情報には、異常の内容(パフォーマンス低下」、異常なプロセス、異常なスレッドなどを示す情報が含まれる。また、制御部110Aは、異常を検出した場合、異常情報に基づく表示情報を表示部12に表示させ、異常が検出されたことをユーザに通知する。 (Step S215) When the control unit 110A detects an abnormality, the control unit 110A generates abnormality information indicating the abnormality and stores it in the abnormality information storage unit 195. For example, the abnormality information includes information indicating the content of the abnormality (degraded performance), an abnormal process, an abnormal thread, and the like. When the control unit 110A detects an abnormality, the control unit 110A displays display information based on the abnormality information. It is displayed on the display unit 12 to notify the user that an abnormality has been detected.

以上説明したように、本実施形態に係る電子機器10は、CPU101(プロセッサの一例)を使用しているスレッドごとのCPU使用率を示す情報と、当該スレッドが含まれるアプリケーションを示す情報を取得する。また、電子機器10は、取得した情報に基づいて、スレッド使用率比(第1情報の一例)を算出する。さらに、電子機器10は、取得した情報に基づいて、CPU101を使用しているスレッドの中から第1スレッドを含む複数のスレッドの使用率を示す情報(第2情報の一例)を抽出するとともに、抽出した複数のスレッドのそれぞれが含まれるアプリケーションを示す情報(第3情報の一例)を抽出する。そして、電子機器10は、スレッド使用率比と、第1スレッドを含む複数のスレッドの使用率を示す情報と、当該スレッドが含まれるアプリケーションを示す情報とに基づいて、処理の異常を検出する。 As described above, the electronic device 10 according to the present embodiment acquires information indicating the CPU usage rate for each thread using the CPU 101 (an example of a processor) and information indicating an application including the thread. .. Further, the electronic device 10 calculates the thread usage rate ratio (an example of the first information) based on the acquired information. Further, the electronic device 10 extracts information (an example of the second information) indicating the usage rate of a plurality of threads including the first thread from the threads using the CPU 101 based on the acquired information. Information (an example of the third information) indicating an application including each of the extracted plurality of threads is extracted. Then, the electronic device 10 detects a processing abnormality based on the thread usage rate ratio, the information indicating the usage rate of the plurality of threads including the first thread, and the information indicating the application including the thread.

これにより、電子機器10は、実行中の処理におけるスレッド使用率比のみではなく、第1スレッドを含む複数のスレッドの使用率、及び当該スレッドのそれぞれが含まれるアプリケーション情報も用いることにより、実行中の処理の異常を精度よく検出することができる。例えば、同一のアプリケーションが複数のスレッドを高い使用率で占有している場合、CPU101の処理が異常な処理になっている可能性が高いことから、電子機器10は、その特徴を含むパラメータとして上記の第1情報と第2情報と第3情報とを用いることで、精度よく異常を検出することができる。 As a result, the electronic device 10 is executing by using not only the thread usage rate ratio in the processing being executed but also the usage rates of a plurality of threads including the first thread and the application information including each of the threads. It is possible to accurately detect abnormalities in the processing of. For example, when the same application occupies a plurality of threads at a high usage rate, there is a high possibility that the processing of the CPU 101 is an abnormal processing. Therefore, the electronic device 10 is described as a parameter including the characteristics. By using the first information, the second information, and the third information of the above, the abnormality can be detected with high accuracy.

例えば、上記第1スレッドを含む複数のスレッドの使用率は、第1スレッドの使用率(第1スレッド使用率)と、第1スレッドの次に最も使用された第2スレッドの使用率(第2スレッド使用率)と、第2スレッドの次に最も使用された第3スレッドの使用率(第3スレッド使用率)とを含む。 For example, the usage rates of the plurality of threads including the first thread are the usage rate of the first thread (first thread usage rate) and the usage rate of the second thread most used after the first thread (second thread usage rate). The thread usage rate) and the usage rate of the third thread most used after the second thread (third thread usage rate) are included.

これにより、電子機器10は、実行中の処理において、スレッド使用率が上位のスレッドの使用率を用いて異常を検出することにより、検出精度を向上させることができる。 As a result, the electronic device 10 can improve the detection accuracy by detecting an abnormality using the usage rate of the thread having the higher thread usage rate in the processing being executed.

具体的には、電子機器10は、第1スレッドを含む複数のスレッドの使用率を示す情報(第2情報の一例)に含まれる複数のスレッド間の使用率の差分を算出する。例えば、電子機器10は、第1スレッド使用率と第2スレッド使用率との差分、及び第1スレッド使用率と第3スレッド使用率との差分を算出する。そして、電子機器10は、処理の異常を検出する際に、スレッド使用率比及び第1スレッド使用率に加え、上記複数のスレッド間の使用率の差分に基づく情報をさらに用いて検出する。 Specifically, the electronic device 10 calculates the difference in the usage rate between the plurality of threads included in the information indicating the usage rate of the plurality of threads including the first thread (an example of the second information). For example, the electronic device 10 calculates the difference between the first thread usage rate and the second thread usage rate, and the difference between the first thread usage rate and the third thread usage rate. Then, when detecting an abnormality in processing, the electronic device 10 further uses information based on the difference in usage rate between the plurality of threads in addition to the thread usage rate ratio and the first thread usage rate.

これにより、電子機器10は、複数のスレッド間のスレッド使用率の差分をさらに用いて異常を検出することにより、検出精度を向上させることができる。例えば、電子機器10は、スレッド使用率が上位の複数のスレッド間のスレッド使用率の差分をさらに用いて異常を検出することにより、検出精度を向上させることができる。 As a result, the electronic device 10 can improve the detection accuracy by detecting the abnormality by further using the difference in the thread usage rate between the plurality of threads. For example, the electronic device 10 can improve the detection accuracy by detecting an abnormality by further using the difference in the thread usage rate between a plurality of threads having a higher thread usage rate.

また、電子機器10は、第1スレッドを含む複数のスレッド(例えば、第1スレッド、第2スレッド、及び第3スレッド)のそれぞれが含まれるアプリケーションのそれぞれが同一のアプリケーションであるか否かに基づいて第1評価値を決定する。そして、電子機器10は、処理の異常を検出する際に、上記第1評価値をさらに用いて検出する。 Further, the electronic device 10 is based on whether or not each of the applications including each of the plurality of threads including the first thread (for example, the first thread, the second thread, and the third thread) is the same application. The first evaluation value is determined. Then, when the electronic device 10 detects an abnormality in the process, the first evaluation value is further used for detection.

これにより、電子機器10は、スレッド使用率が上位のスレッドが同一のアプリケーションであるか否かに基づいて異常を検出することにより、検出精度を向上させることができる。 As a result, the electronic device 10 can improve the detection accuracy by detecting the abnormality based on whether or not the threads having the higher thread usage rate are the same application.

また、電子機器10は、第1スレッドを含む複数のスレッド(例えば、第1スレッド、第2スレッド、及び第3スレッド)のそれぞれが含まれるアプリケーションのそれぞれの種類に基づいて第2評価値を決定する。そして、電子機器10は、処理の異常を検出する際に、上記第2評価値をさらに用いて検出する。 Further, the electronic device 10 determines the second evaluation value based on each type of the application including each of the plurality of threads including the first thread (for example, the first thread, the second thread, and the third thread). do. Then, when the electronic device 10 detects an abnormality in the process, the second evaluation value is further used for detection.

これにより、電子機器10は、スレッド使用率が上位のスレッドが含まれるアプリケーションの種類に基づいて異常を検出することにより、検出精度を向上させることができる。 As a result, the electronic device 10 can improve the detection accuracy by detecting the abnormality based on the type of the application including the thread having the higher thread usage rate.

つまり、電子機器10は、スレッド使用率比(第1情報に基づく情報の一例)、スレッド使用率差分情報(第2情報に基づく情報の一例)、及びアプリケーション評価情報(第3情報に基づく情報の一例)に基づいて、処理の異常を検出する。 That is, the electronic device 10 has a thread usage rate ratio (an example of information based on the first information), a thread usage rate difference information (an example of information based on the second information), and application evaluation information (an example of information based on the third information). An abnormality in processing is detected based on one example).

これにより、電子機器10は、実行中の処理におけるスレッド使用率比のみではなく、スレッド使用率差分情報、及びアプリケーション評価情報も用いるため、実行中の処理の異常を精度よく検出することができる。例えば、同一のアプリケーションが複数のスレッドを高い使用率で占有している場合、CPU101の処理が異常な処理になっている可能性が高いことから、電子機器10は、その特徴を含むパラメータとして上記のスレッド使用率比とスレッド使用率差分情報とアプリケーション評価情報とを用いることで、精度よく異常を検出することができる。 As a result, since the electronic device 10 uses not only the thread usage rate ratio in the processing being executed but also the thread usage rate difference information and the application evaluation information, it is possible to accurately detect an abnormality in the processing being executed. For example, when the same application occupies a plurality of threads at a high usage rate, there is a high possibility that the processing of the CPU 101 is an abnormal processing. Therefore, the electronic device 10 is described as a parameter including the characteristics. By using the thread usage rate ratio, the thread usage rate difference information, and the application evaluation information, it is possible to detect an abnormality with high accuracy.

例えば、電子機器10は、以前に取得されたスレッド使用率比(第1情報に基づく情報の一例)、スレッド使用率差分情報(第2情報に基づく情報の一例)、及びアプリケーション評価情報(第3情報に基づく情報の一例)と、異常の有無に関する情報とに基づいて機械学習された学習済みモデルを用いて、処理の異常を検出する。 For example, the electronic device 10 has previously acquired thread usage ratio (an example of information based on the first information), thread usage difference information (an example of information based on the second information), and application evaluation information (third). An abnormality in processing is detected using a trained model that has been machine-learned based on information based on information) and information on the presence or absence of anomalies.

これにより、電子機器10は、実行中の処理におけるスレッド使用率比とスレッド使用率差分情報とアプリケーション評価情報とからAIを用いて精度よく異常を検出することができる。 As a result, the electronic device 10 can accurately detect an abnormality using AI from the thread usage rate ratio, the thread usage rate difference information, and the application evaluation information in the processing being executed.

また、異常検出モデルは、プログラムに基づいて処理を実行するCPU101を備える電子機器10における処理の異常を検出するための学習済みモデルの一例である。異常検出モデルは、スレッド使用率比(第1情報の一例)と、スレッド使用率差分情報(第2情報に基づく情報の一例)、及びアプリケーション評価情報(第3情報に基づく情報の一例)とに基づいて機械学習され、上記処理の異常を検出するようコンピュータを機能させる。 Further, the abnormality detection model is an example of a trained model for detecting an abnormality in processing in an electronic device 10 including a CPU 101 that executes processing based on a program. The anomaly detection model includes a thread usage rate ratio (an example of information based on the first information), a thread usage rate difference information (an example of information based on the second information), and application evaluation information (an example of information based on the third information). It is machine-learned based on the above, and the computer is made to function to detect the abnormality of the above processing.

これにより、電子機器10は、実行中の処理におけるスレッド使用率比とスレッド使用率差分情報とアプリケーション評価情報とからAIを用いて精度よく異常を検出することができる。 As a result, the electronic device 10 can accurately detect an abnormality using AI from the thread usage rate ratio, the thread usage rate difference information, and the application evaluation information in the processing being executed.

なお、スレッド使用率差分情報には、第1スレッド使用率と、第1スレッド使用率と第2スレッド使用率との差分と、第1スレッド使用率と第3スレッド使用率との差分との3つのパラメータが含まれる例を説明したが、これに限られるものではない。例えば、スレッド使用率差分情報には、第1スレッド使用率と、第1スレッド使用率と第2スレッド使用率との差分との2つのパラメータのみが含まれてもよいし、第1スレッド使用率と、第1スレッド使用率と第3スレッド使用率との差分との2つのパラメータのみが含まれてもよい。また、スレッド使用率差分情報に代えて、第1スレッド使用率と第2スレッド使用率と第3スレッド使用率とが含まれるスレッド使用率情報を異常検出に用いてもよい。 The thread usage difference information includes the difference between the first thread usage rate, the first thread usage rate and the second thread usage rate, and the difference between the first thread usage rate and the third thread usage rate. An example involving two parameters has been described, but is not limited to this. For example, the thread usage difference information may include only two parameters, the first thread usage rate and the difference between the first thread usage rate and the second thread usage rate, or the first thread usage rate. And only two parameters, the difference between the first thread usage rate and the third thread usage rate, may be included. Further, instead of the thread usage rate difference information, thread usage rate information including the first thread usage rate, the second thread usage rate, and the third thread usage rate may be used for abnormality detection.

また、第1スレッド使用率、第2スレッド使用率、及び第3スレッド使用率の上位3つのスレッド使用率を用いたが、これに限られるものではない。例えば、第1スレッド使用率及び第2スレッド使用率の上位2つのスレッド使用率を用いてもよいし、上位3つのうちのいずれか2つのスレッド使用率を用いてもよい。また、第1~第4スレッド使用率などのように、4つ以上のスレッド使用率を用いて、書くスレッド間のスレッド使用率の差分を算出して、スレッド使用率差分情報に含めてもよい。 Further, the top three thread usage rates of the first thread usage rate, the second thread usage rate, and the third thread usage rate are used, but the present invention is not limited to this. For example, the top two thread usage rates of the first thread usage rate and the second thread usage rate may be used, or any two of the top three threads may be used. Further, the difference in the thread usage rate between the threads to be written may be calculated by using four or more thread usage rates such as the first to fourth thread usage rates and included in the thread usage rate difference information. ..

また、アプリケーション評価情報に、同一のアプリケーションであるか否かに基づく第1評価値と、アプリケーションの種類に基づく第2評価値が含まれる例を説明したが、第1評価値と第2評価値のいずれか一方のむが含まれてもよい。 Further, an example in which the application evaluation information includes the first evaluation value based on whether or not the application is the same and the second evaluation value based on the type of application has been described, but the first evaluation value and the second evaluation value have been described. One of the following may be included.

また、第1スレッド、第2スレッド、及び第3スレッドの3つのスレッドについて同一であるか否かに基づいて第1評価値が決定される例を説明したが、第1スレッド、第2スレッド、及び第3スレッドのうちのいずれか2つのスレッドについて同一であるか否かに基づいて第1評価値が決定されてもよい。また、4つ以上のレッドについて同一であるか否かに基づいて第1評価値が決定されてもよい。 Further, an example in which the first evaluation value is determined based on whether or not the three threads of the first thread, the second thread, and the third thread are the same has been described. And the first evaluation value may be determined based on whether or not it is the same for any two threads of the third thread. Further, the first evaluation value may be determined based on whether or not the four or more reds are the same.

また、第2評価値の例として、アプリケーションの種類がブラウザである場合、ゲームのアプリケーションである場合、またはOSによりバックグラウンドで実行されるアプリケーションである場合について説明したが、他の種類のアプリケーションについても第2評価値が適用されてもよい。 Further, as an example of the second evaluation value, a case where the application type is a browser, a game application, or an application executed in the background by the OS has been described, but other types of applications have been described. The second evaluation value may also be applied.

[第3の実施形態]
本実施形態では、異常検出システム1で異常検出処理に用いる学習済みモデル(異常検出モデル)を生成する機械学習装置30の構成について説明する。
図16は、本実施形態に係る機械学習装置30の構成の一例を示すブロック図である。機械学習装置30は、通信部310と、学習データ設定部320と、学習データ記憶部330と、学習部340と、出力部350とを備えている。
[Third Embodiment]
In this embodiment, the configuration of the machine learning device 30 that generates the trained model (abnormality detection model) used for the abnormality detection process in the abnormality detection system 1 will be described.
FIG. 16 is a block diagram showing an example of the configuration of the machine learning device 30 according to the present embodiment. The machine learning device 30 includes a communication unit 310, a learning data setting unit 320, a learning data storage unit 330, a learning unit 340, and an output unit 350.

通信部310は、例えば、複数のイーサネット(登録商標)ポートや複数のUSB等のデジタル入出力ポート、WiFi(登録商標)や携帯電話回線などの無線通信ポート等を含んで構成され、通信ネットワークNW(図1参照)を介して他の装置や端末などと通信を行う。 The communication unit 310 includes, for example, a plurality of Ethernet (registered trademark) ports, a plurality of digital input / output ports such as USB, and a wireless communication port such as WiFi (registered trademark) and a mobile phone line, and is configured as a communication network NW. Communicate with other devices, terminals, etc. via (see FIG. 1).

学習データ設定部320は、学習済みモデルを生成するために必要な情報を取得する。例えば、学習データ設定部320は、以前に電子機器10または他の電子機器で取得されたシステムの状態情報に基づく情報を、学習済みモデルを生成するために必要な情報として通信部310または光ディスクやメモリカードなどの記憶媒体などを介して取得する。システムの状態情報に基づく情報とは、例えば第1の実施形態に係る異常検出処理では、スレッド使用率比及び第1スレッド使用率を示す情報である。また、例えば、第2の実施形態に係る異常検出処理では、スレッド使用率比、スレッド使用率差分情報、及びアプリケーション評価情報である。 The training data setting unit 320 acquires the information necessary for generating the trained model. For example, the learning data setting unit 320 may use the information based on the system state information previously acquired by the electronic device 10 or another electronic device as the information necessary for generating the trained model, such as the communication unit 310 or the optical disk. Acquired via a storage medium such as a memory card. The information based on the system state information is, for example, information indicating the thread usage rate ratio and the first thread usage rate in the abnormality detection process according to the first embodiment. Further, for example, in the abnormality detection process according to the second embodiment, the thread usage rate ratio, the thread usage rate difference information, and the application evaluation information are provided.

また、学習データ設定部320は、取得したシステムの状態情報に基づく情報に対応する異常の有無に関する情報を取得する。異常の有無とは、システムの状態情報が測定された時点での処理の状態が異常であるか否か(正常/異常)をオペレータや技術者などが判定した結果である。すなわち、この異常の有無に関する情報とは、実際に異常であったか否かを示す情報である。 Further, the learning data setting unit 320 acquires information regarding the presence or absence of an abnormality corresponding to the information based on the acquired system state information. The presence / absence of an abnormality is a result of an operator, an engineer, or the like determining whether or not the processing status at the time when the system status information is measured is abnormal (normal / abnormal). That is, the information regarding the presence or absence of this abnormality is information indicating whether or not the abnormality was actually present.

なお、学習データ設定部320は、以前に電子機器10または他の電子機器で取得されたシステムの状態情報を通信部310または記憶媒体などを介して取得し、取得したシステムの状態情報に基づいて、スレッド使用率比、第1スレッド使用率、スレッド使用率差分情報、及びアプリケーション評価情報などを、学習済みモデルを生成するために必要なシステムの状態情報に基づく情報として生成し、取得してもよい。その場合、学習データ設定部320は、図7または図13に示す算出部112、抽出部113、及び評価部114に相当する構成の一部または全部を備えてもよい。 The learning data setting unit 320 acquires the system state information previously acquired by the electronic device 10 or another electronic device via the communication unit 310 or a storage medium, and based on the acquired system state information. , Thread usage ratio, first thread usage rate, thread usage rate difference information, application evaluation information, etc. can be generated and acquired as information based on the system state information required to generate the trained model. good. In that case, the learning data setting unit 320 may include a part or all of the configurations corresponding to the calculation unit 112, the extraction unit 113, and the evaluation unit 114 shown in FIG. 7 or 13.

また、学習データ設定部320は、取得したシステムの状態情報に基づく情報と異常の有無に関する情報とを関連付けた関連付け情報を学習データセットとして学習データ記憶部330に記憶させる。これにより、学習データ記憶部330には、以前に電子機器10または他の電子機器で取得されたシステムの状態情報に基づく情報と異常の有無に関する情報とが関連付けられた学習データセットが複数蓄積される。なお、学習データ設定部320は、電子機器10または他の電子機器でシステムの状態情報が測定されるたびに随時システムの状態情報に基づく情報と異常の有無に関する情報とを取得してもよいし、所定のタイミングで定期的にまとめて取得してもよい。 Further, the learning data setting unit 320 stores the association information in which the information based on the acquired system state information and the information regarding the presence / absence of an abnormality are associated with each other as a learning data set in the learning data storage unit 330. As a result, the learning data storage unit 330 stores a plurality of learning data sets in which information based on the state information of the system previously acquired by the electronic device 10 or another electronic device and information regarding the presence or absence of an abnormality are associated with each other. To. The learning data setting unit 320 may acquire information based on the system status information and information regarding the presence or absence of an abnormality at any time each time the system status information is measured by the electronic device 10 or another electronic device. , May be acquired in a batch at a predetermined timing.

学習部340は、システムの状態情報に基づく情報と異常の有無に関する情報とが関連付けられた学習データセットを用いて、次の機械学習を行う。具体的には、学習部340は、学習データセットを学習データ記憶部330から読み込む。学習部340は、読み込んだ学習データセットを用いて機械学習を行い、学習済みモデルを生成する。出力部350は、学習済みモデルを、通信部310を介して異常検出システム1へ送信する。これにより、異常検出システム1の学習モデル記憶部234に学習済みモデルが格納されて利用可能となる。なお、学習済みモデルは、通信部310に代えて、光ディスクやメモリカードなどの記憶媒体を介して異常検出システム1の学習モデル記憶部234に格納されてもよい。また、学習済みモデルは、機械学習装置30で機械学習が進むにつれて更新されてもよい。 The learning unit 340 performs the next machine learning using the learning data set in which the information based on the state information of the system and the information regarding the presence / absence of an abnormality are associated with each other. Specifically, the learning unit 340 reads the learning data set from the learning data storage unit 330. The learning unit 340 performs machine learning using the read learning data set, and generates a trained model. The output unit 350 transmits the trained model to the abnormality detection system 1 via the communication unit 310. As a result, the learned model is stored in the learning model storage unit 234 of the abnormality detection system 1 and can be used. The trained model may be stored in the learning model storage unit 234 of the abnormality detection system 1 via a storage medium such as an optical disk or a memory card instead of the communication unit 310. Further, the trained model may be updated as the machine learning progresses in the machine learning device 30.

<学習段階>
次に、機械学習の具体例について説明する。学習部340は、学習用のニューラルネットワークに対して、システムの状態情報に基づく情報を入力層に入力する入力変数とし、異常の有無に関する情報を出力層から出力される出力変数として設定する。
<Learning stage>
Next, a specific example of machine learning will be described. The learning unit 340 sets the information based on the state information of the system as an input variable for inputting to the input layer for the neural network for learning, and sets the information regarding the presence or absence of an abnormality as an output variable output from the output layer.

(ニューラルネットワークについて)
図17は、本実施形態に係るニューラルネットワークの一例を説明するための模式図である。この図のニューラルネットワークは、L個の層lから構成される。l=1の層は入力層、l=2~L-1の層は中間層或いは隠れ層、l=Lの層は出力層とも呼ばれる。
入力層のN個のノードは、x(n=1、2、3、・・・N)である。つまり、ニューラルネットワークは、入力層に、xを要素とするベクトルx(=(x、x、x、・・・x))が入力される。出力層の出力は、M個のy(m=1、2、3、・・・M)である。つまり、ニューラルネットワークは、出力層から、ymを要素とするベクトルy(=(y、y、y、・・・y))を出力する。
(About neural network)
FIG. 17 is a schematic diagram for explaining an example of the neural network according to the present embodiment. The neural network in this figure is composed of L layers l. The layer with l = 1 is also called an input layer, the layer with l = 2 to L-1 is also called an intermediate layer or a hidden layer, and the layer with l = L is also called an output layer.
The N nodes in the input layer are x n (n = 1, 2, 3, ... N). That is, in the neural network, a vector x (= (x 1 , x 2 , x 3 , ... X N )) having x n as an element is input to the input layer. The output of the output layer is M ( m = 1, 2, 3, ... M). That is, the neural network outputs a vector y (= (y 1 , y 2 , y 3 , ... y M )) having ym as an element from the output layer.

第l層のノードからは、ベクトルu(l+1)が関数f(u(l+1))に入力された値として、ベクトルz(l+1)が出力される。ベクトルu(l+1)は、第l層のノードから出力されるベクトルz(l)に、重み行列w(l+1)を左から乗算し、ベクトルb(l+1)を加算したベクトルである。関数f(u(l))は、活性化関数であり、ベクトルb(l)は、バイアスである。なお、入力層から出力されるベクトルz(1)は、ベクトルxである。 From the node of the first layer, the vector z (l + 1) is output as the value in which the vector u (l + 1) is input to the function f (u (l + 1) ). The vector u (l + 1) is a vector obtained by multiplying the vector z (l) output from the node of the first layer by the weight matrix w (l + 1) from the left and adding the vector b (l + 1) . The function f (u (l) ) is an activation function, and the vector b (l) is a bias. The vector z (1) output from the input layer is a vector x.

(学習処理について)
図18は、本実施形態に係る学習処理の一例を説明するための模式図である。
図18は、図17のニューラルネットワークを用いた学習処理を表す。
学習段階において、ベクトルXiと、教師データとしてのベクトルYiとの組は、学習データセットとされる。ベクトルXiはベクトルxに値が設定されたベクトルであり、ベクトルYiはベクトルyに値が設定されたベクトルである。ニューラルネットワークは、I個の学習データセット(Xi、Yi)(i=1~I)に基づいて、重み行列w(l)が更新される。
(About learning process)
FIG. 18 is a schematic diagram for explaining an example of the learning process according to the present embodiment.
FIG. 18 shows a learning process using the neural network of FIG.
In the learning stage, the pair of the vector X i and the vector Y i as teacher data is regarded as a learning data set. The vector X i is a vector in which a value is set in the vector x, and the vector Y i is a vector in which a value is set in the vector y. In the neural network, the weight matrix w (l) is updated based on I training data sets (X i , Y i ) (i = 1 to I).

具体的には、重み行列w(l)に、初期値が設定される。入力層にデータXiが入力された場合、重み行列w(l)に値が設定されたニューラルネットワークは、出力層から、データXに応じたベクトルy(y(Xi)と表す)を出力する。ベクトルy(Xi)とデータYiの誤差Eは、損失関数を用いて計算される。第l層の勾配ΔEl+1は、各層からの出力zl+1と誤差信号δl+1を用いて計算される。誤差信号δl+1は、誤差信号δを用いて計算される。なお、このように、出力層側から入力層側へ誤差信号を伝えていくことは、逆伝搬とも呼ばれる。
重み行列w(l)は、勾配ΔEl+1に基づいて更新される。この重み行列w(l)の更新は、I個の学習データセット(Xi、Yi)(i=1~I)に対して、順次、行われる。I個の学習データセット(Xi、Yi)によって重み行列w(l)が更新されたニューラルネットワークが、学習済みモデルである。
Specifically, an initial value is set in the weight matrix w (l) . When data X i is input to the input layer, the neural network whose value is set in the weight matrix w (l) outputs a vector y (expressed as y (X i )) corresponding to the data X from the output layer. do. The error E between the vector y (X i ) and the data Y i is calculated using the loss function. The gradient ΔE l + 1 of the first layer is calculated using the output z l + 1 from each layer and the error signal δ l + 1 . The error signal δ l + 1 is calculated using the error signal δ l . In addition, transmitting the error signal from the output layer side to the input layer side in this way is also called back propagation.
The weight matrix w (l) is updated based on the gradient ΔE l + 1 . The update of the weight matrix w (l) is sequentially performed for I training data sets (X i , Y i ) (i = 1 to I). The trained model is a neural network in which the weight matrix w (l) is updated by I training data sets (X i , Y i ).

(ニューラルネットワークの設定の実施例)
学習部340は、システムの状態情報に基づく情報の各々をベクトルXiとし、異常の有無に関する情報をベクトルYiとして、学習処理を行う。学習部340は、I個の学習データセット(Xi、Yi)(i=1~I)に基づいて、逆伝搬によって重み行列w(l)を更新することで、学習処理を行う。学習処理の結果、学習部340は、重み行列w(l)が更新されたニューラルネットワークを、学習済みモデルとして取得する。つまり、学習部340は、システムの状態情報に基づく情報と異常の有無に関する情報とに基づいて、学習済みモデルを生成する。例えば、学習部340は、スレッド使用率比及び第1スレッド使用率を示す情報と異常の有無に関する情報とに基づいて、CPU101による処理の異常を検出するための学習済みモデルを生成する。また、学習部340は、スレッド使用率比、スレッド使用率差分情報、及びアプリケーション評価情報と異常の有無に関する情報とに基づいて、CPU101による処理の異常を検出するための学習済みモデルを生成する。
(Example of neural network setting)
The learning unit 340 performs learning processing with each of the information based on the state information of the system as the vector X i and the information regarding the presence or absence of the abnormality as the vector Y i . The learning unit 340 performs learning processing by updating the weight matrix w (l) by back propagation based on I learning data sets (X i , Y i ) (i = 1 to I). As a result of the learning process, the learning unit 340 acquires the neural network in which the weight matrix w (l) is updated as a trained model. That is, the learning unit 340 generates a trained model based on the information based on the state information of the system and the information regarding the presence / absence of an abnormality. For example, the learning unit 340 generates a trained model for detecting an abnormality in processing by the CPU 101 based on information indicating a thread usage rate ratio and a first thread usage rate and information regarding the presence or absence of an abnormality. Further, the learning unit 340 generates a trained model for detecting an abnormality in processing by the CPU 101 based on the thread usage rate ratio, the thread usage rate difference information, and the application evaluation information and the information regarding the presence or absence of an abnormality.

ここで、学習部340は、ニューラルネットワークの層数(L)として、任意の層数を設定することができる。
学習部340は、各層のノードの数(「ノード数」とも称する)として、入力層(l=1の層)のノード数をN個、中間層(l=2の層)のノード数を(M+N)÷2個、出力層(l=3の層)のノード数をM個に設定する。ただし、本発明はこれに限らず、中間層のノード数は、N個又はM個であってもよいし、N個以下、M個以上の個数であってもよい。また、中間層のノード数は、N個以上であってもよいし、M個以上であってもよい。
Here, the learning unit 340 can set an arbitrary number of layers as the number of layers (L) of the neural network.
The learning unit 340 uses N as the number of nodes in the input layer (l = 1 layer) and the number of nodes in the intermediate layer (l = 2 layer) as the number of nodes in each layer (also referred to as “the number of nodes”). M + N) ÷ 2 and the number of nodes in the output layer (l = 3 layer) is set to M. However, the present invention is not limited to this, and the number of nodes in the intermediate layer may be N or M, or may be N or less and M or more. Further, the number of nodes in the intermediate layer may be N or more, or M or more.

学習部340は、ニューラルネットワークの各層の結合として、全結合を設定する。ただし、本発明はこれに限らず、一部或いは全ての層の結合は、非全結合に設定されてもよい。
学習部340は、活性化関数として、全ての層の活性化関数にシグモイド関数を設定する。ただし、本発明はこれに限らず、各層の活性化関数は、ステップ関数、線形結合、ソフトサイン、ソフトプラス、ランプ関数、切断冪関数、多項式、絶対値、動径基底関数、ウェーブレット、maxout等、他の活性化関数であってもよい。また、ある層の活性化関数は、他の層とは異なる種類であってもよい。
The learning unit 340 sets a full connection as a connection of each layer of the neural network. However, the present invention is not limited to this, and the bonds of some or all layers may be set to non-total bonds.
The learning unit 340 sets a sigmoid function in the activation function of all layers as the activation function. However, the present invention is not limited to this, and the activation function of each layer is a step function, a linear connection, a soft sign, a soft plus, a ramp function, a truncated power function, a polymorphic value, an absolute value, a radial basis function, a wavelet, a maxout, etc. , May be another activation function. Also, the activation function of one layer may be of a different type from that of other layers.

学習部340は、誤差関数として、二乗損失(平均二乗誤差)を設定する。ただし、本発明はこれに限らず、誤差関数は、交差エントロピー、τ-分位損失、Huber損失、ε感度損失(ε許容誤差関数)であってもよい。また、学習部340は、勾配を計算するアルゴリズム(勾配降下アルゴリズム)として、SGD(確率的勾配降下)を設定する。ただし、本発明はこれに限らず、勾配降下アルゴリズムには、Momentum(慣性項) SDG、AdaGrad、RMSprop、AdaDelta、Adam(Adaptive moment estimation)等が用いられても良い。
学習部340は、パーセプトロンのニューラルネットワークに限らず、畳み込みニューラルネットワーク(CNN)、再起型ニューラルネットワーク(RNN)、残差ネットワーク(ResNet)等の他のニューラルネットワークを設定してもよい。
The learning unit 340 sets a squared loss (mean squared error) as an error function. However, the present invention is not limited to this, and the error function may be cross entropy, τ-division loss, Huber loss, and ε sensitivity loss (ε tolerance function). Further, the learning unit 340 sets SGD (stochastic gradient descent) as an algorithm for calculating the gradient (gradient descent algorithm). However, the present invention is not limited to this, and Momentum (inertia term) SDG, AdaGrad, RMSprop, AdaDelta, Adam (Adaptive momentation) and the like may be used for the gradient descent algorithm.
The learning unit 340 is not limited to the perceptron neural network, and may set other neural networks such as a convolutional neural network (CNN), a recurrent neural network (RNN), and a residual network (ResNet).

<実行段階>
電子機器10の異常検出部115は、学習部340が生成した学習済みモデルに対して、現在のシステムの状態情報に基づく情報を入力することで、CPU101による処理の異常の有無(正常/異常)を出力する。具体的には、異常検出部115は、実行段階で取得したシステムの状態情報に基づく情報を、ベクトルxとして入力し、ベクトルyを異常の有無に関する情報として出力する。
このように、異常検出部115は、システムの状態情報に基づく情報と学習部340の学習結果に基づいて、異常の有無に関する情報を出力する。これにより、異常検出部115は、CPU101による処理の異常を検出することができる。
<Execution stage>
The abnormality detection unit 115 of the electronic device 10 inputs information based on the state information of the current system to the trained model generated by the learning unit 340, and thus whether or not there is an abnormality in the processing by the CPU 101 (normal / abnormal). Is output. Specifically, the abnormality detection unit 115 inputs the information based on the system state information acquired in the execution stage as the vector x, and outputs the vector y as the information regarding the presence or absence of the abnormality.
In this way, the abnormality detection unit 115 outputs information regarding the presence or absence of an abnormality based on the information based on the state information of the system and the learning result of the learning unit 340. As a result, the abnormality detection unit 115 can detect an abnormality in the processing by the CPU 101.

<学習の変形例>
なお、上記実施形態において、学習処理は、教師なし学習、ニューラルネットワーク以外の教師あり学習、又は、強化学習を用いた学習処理であってもよい。
<Example of learning variant>
In the above embodiment, the learning process may be unsupervised learning, supervised learning other than a neural network, or learning process using reinforcement learning.

(教師なし学習)
学習部340は、I個の学習データセット(Xi、Yi)(i=1~I)について、回帰又は分類を行うことで、教師なし学習の学習処理を行ってもよい。
学習部340は、一または複数の関数のモデルに対して、I個の学習データセット(Xi、Yi)との誤差が小さくなるように、変数を決定する。学習部340は、変数を決定したモデルを、回帰による学習済みモデルとして生成してもよい。
学習部340は、I個の学習データセット(Xi、Yi)を、クラスタリングによって部分集合に分類する。学習部340は、各部分集合(クラスタ)の境界を示す情報を、分類による学習済みモデルとしてもよい。クラスタリングは、単リンク法、完全リンク法、群平均法、セントロイド法、重み付き平均法、メジアン法等の階層的なアルゴリズムであってもよい。また、クラスタリングは、K-means法等の非階層的であってもよい。なお、K-means法の場合、クラスタ数は、予め定められていてもよいし、コンピュータが手動或いは自動で設定してもよい。
(Unsupervised learning)
The learning unit 340 may perform unsupervised learning learning processing by performing regression or classification on I learning data sets (X i , Y i ) (i = 1 to I).
The learning unit 340 determines the variables for the model of one or more functions so that the error with the I training data sets (X i , Y i ) is small. The learning unit 340 may generate a model in which variables are determined as a trained model by regression.
The learning unit 340 classifies I learning data sets (X i , Y i ) into subsets by clustering. The learning unit 340 may use information indicating the boundaries of each subset (cluster) as a trained model by classification. The clustering may be a hierarchical algorithm such as a single link method, a complete link method, a group average method, a centroid method, a weighted average method, or a median method. Further, the clustering may be non-hierarchical such as the K-means method. In the case of the K-means method, the number of clusters may be predetermined, or may be manually or automatically set by the computer.

(教師あり学習)
学習部340は、ニューラルネットワークに限らず、決定木、回帰木、ランダムフォレスト、勾配ブースティング木、線形回帰、ロジスティック回帰、SVM(サポートベクターマシン)等によって、教師あり学習の学習処理を行ってもよい。
決定木による学習処理を行う場合、学習部340は、I個の学習データセット(Xi、Yi)について、ベクトルXiを独立変数に設定し、ベクトルYiを従属変数と設定する。
(Supervised learning)
The learning unit 340 is not limited to neural networks, but can perform supervised learning learning processing using decision trees, regression trees, random forests, gradient boosting trees, linear regression, logistic regression, SVM (support vector machine), etc. good.
When performing the learning process using the decision tree, the learning unit 340 sets the vector X i as the independent variable and the vector Y i as the dependent variable for the I learning data sets (X i , Y i ).

(強化学習)
学習部340は、学習データセット(Xi、Yi)を用いて、強化学習の学習処理を行ってもよい。例えば、学習部340は、強化学習として、Q値を用いた強化学習(Q学習)を行う。学習部340は、ベクトルYiに基づいて、Q(s、a)を計算する。ここで、sは状態、aは行動を表し、学習部340は、状態sや行動aをベクトルXiに基づいた値であってもよい。なお、本発明はQ学習に限らず、強化学習には、Sarsa、又は、モンテカルロ法が用いられてもよい。
(Reinforcement learning)
The learning unit 340 may perform the learning process of reinforcement learning using the learning data set (X i , Y i ). For example, the learning unit 340 performs reinforcement learning (Q learning) using the Q value as reinforcement learning. The learning unit 340 calculates Q (s, a) based on the vector Y i . Here, s represents a state, a represents an action, and the learning unit 340 may use the state s or the action a as a value based on the vector X i . The present invention is not limited to Q-learning, and Sarsa or the Monte Carlo method may be used for reinforcement learning.

<変数の変形例>
なお、上記実施形態において、学習データセット(Xi、Yi)は、システムの状態情報に基づく情報と異常の有無に関する情報との一部が用いられても良い。つまり、学習部340は、システムの状態情報に基づく情報と異常の有無に関する情報との組のうち、これらの情報の一部或いはそれらの組み合わせが、予め定められた条件を満たすものを、学習データセット(Xi、Yi)としてもよい。また、学習部340は、システムの状態情報に基づく情報と異常の有無に関する情報との一部或いは全部について、予め定めたルールに従って変換した値を、学習データセット(Xi、Yi)に用いてもよい。例えば、学習部340は、システムの状態情報に基づく情報と異常の有無に関する情報ととの一部或いは全部について、時間変化、空間での変化、又は、異なる測定機会との差分を、学習データセット(Xi、Yi)として用いてもよい。
<Variable transformation example>
In the above embodiment, as the learning data set (X i , Y i ), a part of the information based on the state information of the system and the information regarding the presence or absence of an abnormality may be used. That is, the learning unit 340 selects learning data of a set of information based on the state information of the system and information regarding the presence or absence of an abnormality, in which a part of this information or a combination thereof satisfies a predetermined condition. It may be a set (X i , Y i ). Further, the learning unit 340 uses a value converted according to a predetermined rule for a part or all of the information based on the system state information and the information regarding the presence or absence of an abnormality in the learning data set (X i , Y i ). You may. For example, the learning unit 340 sets a learning data set for a part or all of the information based on the state information of the system and the information regarding the presence or absence of an abnormality, and the difference between the time change, the change in space, or different measurement opportunities. It may be used as (X i , Y i ).

以上、図面を参照してこの発明の実施形態について詳しく説明してきたが、具体的な構成は上述のものに限られることはなく、この発明の要旨を逸脱しない範囲内において様々な設計変更等をすることが可能である。例えば、各実施形態で説明した構成は、任意に組み合わせてもよい。 Although the embodiments of the present invention have been described in detail with reference to the drawings, the specific configuration is not limited to the above, and various design changes and the like can be made without departing from the gist of the present invention. It is possible to do. For example, the configurations described in each embodiment may be combined arbitrarily.

また、上記実施形態では、学習済みモデルを用いて異常の検出を行なう例を説明したが、これに限られるものではない。例えば、第1の実施形態において、学習済みモデルを使用せずに、スレッド使用率比及び第1スレッド使用率の一部または全部と異常の有無(正常or異常)とが関連付けられたデータテーブルを用いて異常の検出を行なうように構成されてもよい。また、学習済みモデルを使用せずに、スレッド使用率比及び第1スレッド使用率に基づいて異常を検出するアルゴリズムを具現化したプログラムを用いて異常の検出を行なうように構成されてもよい。また、第2の実施形態でも同様に、学習済みモデルを使用せずに、スレッド使用率比、スレッド使用率差分情報、及びアプリケーション評価情報の一部または全部と、異常の有無(正常or異常)とが関連付けられたデータテーブルを用いて異常の検出を行なうように構成されてもよい。また、学習済みモデルを使用せずに、スレッド使用率比、スレッド使用率差分情報、及びアプリケーション評価情報に基づいて異常を検出するアルゴリズムを具現化したプログラムを用いて異常の検出を行なうように構成されてもよい。 Further, in the above embodiment, an example of detecting an abnormality using a trained model has been described, but the present invention is not limited to this. For example, in the first embodiment, a data table in which the thread usage ratio and a part or all of the first thread usage rate are associated with the presence or absence of an abnormality (normal or abnormal) without using the trained model is used. It may be configured to be used to detect anomalies. Further, instead of using the trained model, it may be configured to detect anomalies by using a program that embodies an algorithm for detecting anomalies based on a thread utilization ratio and a first thread utilization rate. Similarly, in the second embodiment, the presence / absence of abnormality (normal or abnormal) with a part or all of the thread usage ratio, the thread usage difference information, and the application evaluation information without using the trained model. It may be configured to detect anomalies using a data table associated with. In addition, it is configured to detect anomalies using a program that embodies an algorithm that detects anomalies based on thread utilization ratio, thread utilization difference information, and application evaluation information, without using a trained model. May be done.

また、上記実施形態では、システム処理部100と独立に動作するEC18は、センサハブ、チップセット、などのいずれの処理部であってもよく、EC18以外の処理部がEC18に代えて上述の処理を実行してもよい。また、システム処理部100とEC18とは、一体化された集積回路で構成されてもよい。 Further, in the above embodiment, the EC18 that operates independently of the system processing unit 100 may be any processing unit such as a sensor hub or a chipset, and a processing unit other than the EC18 performs the above processing instead of the EC18. You may do it. Further, the system processing unit 100 and the EC 18 may be configured by an integrated circuit.

なお、上述した電子機器10は、内部にコンピュータシステムを有している。そして、上述した電子機器10が備える各構成の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより上述した電子機器10が備える各構成における処理を行ってもよい。ここで、「記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行する」とは、コンピュータシステムにプログラムをインストールすることを含む。ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータシステム」は、インターネットやWAN、LAN、専用回線等の通信回線を含むネットワークを介して接続された複数のコンピュータ装置を含んでもよい。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD-ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。このように、プログラムを記憶した記録媒体は、CD-ROM等の非一過性の記録媒体であってもよい。 The above-mentioned electronic device 10 has a computer system inside. Then, a program for realizing the functions of each configuration included in the above-mentioned electronic device 10 is recorded on a computer-readable recording medium, and the program recorded on the recording medium is read into a computer system and executed. The processing in each configuration provided in the above-mentioned electronic device 10 may be performed. Here, "loading and executing a program recorded on a recording medium into a computer system" includes installing the program in the computer system. The term "computer system" as used herein includes hardware such as an OS and peripheral devices. Further, the "computer system" may include a plurality of computer devices connected via a network including a communication line such as the Internet, WAN, LAN, and a dedicated line. Further, the "computer-readable recording medium" refers to a portable medium such as a flexible disk, a magneto-optical disk, a ROM, or a CD-ROM, and a storage device such as a hard disk built in a computer system. As described above, the recording medium in which the program is stored may be a non-transient recording medium such as a CD-ROM.

また、記録媒体には、当該プログラムを配信するために配信サーバからアクセス可能な内部又は外部に設けられた記録媒体も含まれる。なお、プログラムを複数に分割し、それぞれ異なるタイミングでダウンロードした後に電子機器10が備える各構成で合体される構成や、分割されたプログラムのそれぞれを配信する配信サーバが異なっていてもよい。さらに「コンピュータ読み取り可能な記録媒体」とは、ネットワークを介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(RAM)のように、一定時間プログラムを保持しているものも含むものとする。また、上記プログラムは、上述した機能の一部を実現するためのものであってもよい。さらに、上述した機能をコンピュータシステムに既に記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。 The recording medium also includes an internal or external recording medium accessible from the distribution server for distributing the program. It should be noted that the program may be divided into a plurality of parts, downloaded at different timings, and then combined with each configuration included in the electronic device 10, or the distribution server for distributing each of the divided programs may be different. Furthermore, a "computer-readable recording medium" is a volatile memory (RAM) inside a computer system that serves as a server or client when a program is transmitted via a network, and holds the program for a certain period of time. It shall include things. Further, the above program may be for realizing a part of the above-mentioned functions. Further, a so-called difference file (difference program) may be used, which can realize the above-mentioned function in combination with a program already recorded in the computer system.

また、上述した実施形態における電子機器10が備える各機能の一部、または全部を、LSI(Large Scale Integration)等の集積回路として実現してもよい。各機能は個別にプロセッサ化してもよいし、一部、又は全部を集積してプロセッサ化してもよい。また、集積回路化の手法はLSIに限らず専用回路、または汎用プロセッサで実現してもよい。また、半導体技術の進歩によりLSIに代替する集積回路化の技術が出現した場合、当該技術による集積回路を用いてもよい。 Further, a part or all of each function of the electronic device 10 in the above-described embodiment may be realized as an integrated circuit such as an LSI (Large Scale Integration). Each function may be made into a processor individually, or a part or all of them may be integrated into a processor. Further, the method of making an integrated circuit is not limited to the LSI, and may be realized by a dedicated circuit or a general-purpose processor. Further, when an integrated circuit technology that replaces an LSI appears due to advances in semiconductor technology, an integrated circuit based on this technology may be used.

また、上記実施形態の電子機器10は、パーソナルコンピュータに限られるものではなく、スマートフォンなどの携帯型の端末装置であってもよいし、ゲーム装置、家庭用電気製品、業務用電気製品など各種の電子機器に適用できる。 Further, the electronic device 10 of the above embodiment is not limited to a personal computer, but may be a portable terminal device such as a smartphone, and various types such as a game device, a household electric product, and a commercial electric product. Applicable to electronic devices.

1 異常検出システム、10 電子機器、11 通信部、12 表示部、13 スピーカ、14 入力部、15 電源部、16 ファン、17 温度センサ、18 EC、19 記憶部、20 データベース、30 機械学習装置、100 システム処理部、101 CPU、102 GPU、103 メモリコントローラ、104 I/Oコントローラ、105 システムメモリ、110,110A 制御部、111 取得部、112 算出部、113 抽出部、114 評価部、115 異常検出部、191 システム情報記憶部、192 算出情報記憶部、193 抽出情報記憶部、194 評価情報記憶部、195 異常情報記憶部、196 異常検出モデル記憶部 1 Anomaly detection system, 10 Electronic devices, 11 Communication section, 12 Display section, 13 Speaker, 14 Input section, 15 Power supply section, 16 Fan, 17 Temperature sensor, 18 EC, 19 Storage section, 20 Database, 30 Machine learning device, 100 System processing unit, 101 CPU, 102 GPU, 103 memory controller, 104 I / O controller, 105 system memory, 110, 110A control unit, 111 acquisition unit, 112 calculation unit, 113 extraction unit, 114 evaluation unit, 115 abnormality detection Unit, 191 system information storage unit, 192 calculation information storage unit, 193 extraction information storage unit, 194 evaluation information storage unit, 195 abnormality information storage unit, 196 abnormality detection model storage unit.

Claims (10)

プログラムに基づいて処理を実行するプロセッサと、
前記プロセッサを使用しているスレッドごとの前記プロセッサの使用率を示す情報を取得する取得部と、
前記取得部が取得した情報に基づいて、前記プロセッサを使用しているスレッドの合計数に対する前記プロセッサの使用率が所定範囲であるスレッドの数の割合を示す第1情報を算出する算出部と、
前記取得部が取得した情報に基づいて、前記プロセッサを使用しているスレッドのうち最も使用されたスレッドである第1スレッドの使用率を示す第2情報を抽出する抽出部と、
前記第1情報と前記第2情報とに基づいて前記処理の異常を検出する異常検出部と、
を備える電子機器。
A processor that executes processing based on a program, and
An acquisition unit that acquires information indicating the usage rate of the processor for each thread using the processor, and an acquisition unit.
Based on the information acquired by the acquisition unit, a calculation unit that calculates first information indicating the ratio of the number of threads whose usage rate of the processor is within a predetermined range to the total number of threads using the processor, and a calculation unit.
Based on the information acquired by the acquisition unit, an extraction unit that extracts second information indicating the usage rate of the first thread, which is the most used thread among the threads using the processor, and an extraction unit.
An abnormality detection unit that detects an abnormality in the process based on the first information and the second information.
Electronic equipment equipped with.
前記異常検出部は、
以前に取得された前記第1情報、前記第2情報、及び異常の有無に関する情報に基づいて機械学習された学習済みモデルを用いて、前記処理の異常を検出する、
請求項1に記載の電子機器。
The abnormality detection unit is
Using a trained model machine-learned based on previously acquired first information, second information, and information regarding the presence or absence of anomalies, anomalies in the processing are detected.
The electronic device according to claim 1.
前記取得部は、
前記プロセッサを使用しているスレッドが含まれるアプリケーションを示す情報をさらに取得し、
前記抽出部は、
前記取得部が取得した情報に基づいて、前記プロセッサを使用しているスレッドの中から前記第1スレッドを含む複数のスレッドの使用率を示す情報を前記第2情報として抽出するとともに、前記第2情報として抽出した複数のスレッドのそれぞれが含まれるアプリケーションを示す第3情報を抽出し
前記異常検出部は、
前記第1情報と前記第2情報と前記第3情報とに基づいて前記処理の異常を検出する
請求項1に記載の電子機器。
The acquisition unit
Further acquisition of information indicating the application containing the thread using the processor,
The extraction unit
Based on the information acquired by the acquisition unit, information indicating the usage rate of a plurality of threads including the first thread is extracted as the second information from the threads using the processor, and the second information is extracted. The third information indicating the application including each of the plurality of threads extracted as information is extracted, and the abnormality detection unit is
The electronic device according to claim 1, wherein an abnormality in the processing is detected based on the first information, the second information, and the third information.
前記第1スレッドを含む複数のスレッドの使用率は、前記第1スレッドの使用率と、前記第1スレッドの次に最も使用された第2スレッドの使用率と、前記第2スレッドの次に最も使用された第3スレッドの使用率とを含む、
請求項3に記載の電子機器。
The usage rates of the plurality of threads including the first thread are the usage rate of the first thread, the usage rate of the second thread most used after the first thread, and the usage rate next to the second thread. Including the usage rate of the third thread used,
The electronic device according to claim 3.
前記算出部は、
前記第2情報に含まれる複数のスレッド間の使用率の差分を算出し、
前記異常検出部は、
前記処理の異常を検出する際に、前記第2情報に基づく前記差分に基づく情報をさらに用いて検出する、
請求項4に記載の電子機器。
The calculation unit
The difference in the usage rate between the plurality of threads included in the second information is calculated, and the difference is calculated.
The abnormality detection unit is
When detecting the abnormality of the processing, the information based on the difference based on the second information is further used for detection.
The electronic device according to claim 4.
前記第3情報に含まれるアプリケーションのそれぞれが同一のアプリケーションであるか否かに基づいて第1評価値を決定する第1評価部をさらに備え、
前記異常検出部は、
前記処理の異常を検出する際に、前記第3情報に基づく前記第1評価値をさらに用いて検出する、
請求項3から請求項5のいずれか一項に記載の電子機器。
Further, a first evaluation unit for determining a first evaluation value based on whether or not each of the applications included in the third information is the same application is provided.
The abnormality detection unit is
When detecting the abnormality of the processing, the first evaluation value based on the third information is further used for detection.
The electronic device according to any one of claims 3 to 5.
前記第3情報に含まれるアプリケーションのそれぞれの種類に基づいて第2評価値を決定する第2評価部をさらに備え、
前記異常検出部は、
前記処理の異常を検出する際に、前記第3情報に基づく前記第2評価値をさらに用いて検出する、
請求項3から請求項6のいずれか一項に記載の電子機器。
Further provided with a second evaluation unit that determines a second evaluation value based on each type of application included in the third information.
The abnormality detection unit is
When detecting the abnormality of the processing, the second evaluation value based on the third information is further used for detection.
The electronic device according to any one of claims 3 to 6.
前記異常検出部は、
以前に取得された前記第1情報、前記第2情報、及び前記第3情報に基づく情報と、異常の有無に関する情報とに基づいて機械学習された学習済みモデルを用いて、前記処理の異常を検出する、
請求項3から請求項7のいずれか一項に記載の電子機器。
The abnormality detection unit is
Using the trained model machine-learned based on the previously acquired information based on the first information, the second information, and the third information, and the information regarding the presence or absence of the abnormality, the abnormality of the processing is detected. To detect,
The electronic device according to any one of claims 3 to 7.
プログラムに基づいて処理を実行するプロセッサを備える電子機器における制御方法であって、
取得部が、前記プロセッサを使用しているスレッドごとの前記プロセッサの使用率を示す情報を取得するステップと、
算出部が、前記取得部が取得した情報に基づいて、前記プロセッサを使用しているスレッドの合計数に対する前記プロセッサの使用率が所定範囲であるスレッドの数の割合を示す第1情報を算出するステップと、
抽出部が、前記取得部が取得した情報に基づいて、前記プロセッサを使用しているスレッドのうち最も使用されたスレッドである第1スレッドの使用率を示す第2情報を抽出するステップと、
異常検出部が、前記第1情報と前記第2情報とに基づいて前記処理の異常を検出するステップと、
を有する制御方法。
A control method in an electronic device equipped with a processor that executes processing based on a program.
A step in which the acquisition unit acquires information indicating the usage rate of the processor for each thread using the processor, and
Based on the information acquired by the acquisition unit, the calculation unit calculates first information indicating the ratio of the number of threads whose usage rate of the processor is within a predetermined range to the total number of threads using the processor. Steps and
A step in which the extraction unit extracts second information indicating the usage rate of the first thread, which is the most used thread among the threads using the processor, based on the information acquired by the acquisition unit.
A step in which the abnormality detection unit detects an abnormality in the process based on the first information and the second information.
Control method having.
プログラムに基づいて処理を実行するプロセッサを備える電子機器における前記処理の異常を検出するための学習済みモデルであって、
前記プロセッサを使用しているスレッドの合計数に対する前記プロセッサの使用率が所定範囲であるスレッドの数の割合を示す第1情報と、前記プロセッサを使用しているスレッドのうち最も使用されたスレッドである第1スレッドの使用率を示す第2情報とに基づいて機械学習され、前記処理の異常を検出するよう、
コンピュータを機能させるための学習済みモデル。
A trained model for detecting abnormalities in the processing in an electronic device having a processor that executes processing based on a program.
The first information indicating the ratio of the number of threads whose usage rate of the processor is within a predetermined range to the total number of threads using the processor, and the most used thread among the threads using the processor. Machine learning is performed based on the second information indicating the usage rate of a certain first thread, and the abnormality of the processing is detected.
A trained model for making your computer work.
JP2020170592A 2020-10-08 2020-10-08 Electronics, control methods, and trained models Active JP7011696B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2020170592A JP7011696B1 (en) 2020-10-08 2020-10-08 Electronics, control methods, and trained models

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020170592A JP7011696B1 (en) 2020-10-08 2020-10-08 Electronics, control methods, and trained models

Publications (2)

Publication Number Publication Date
JP7011696B1 true JP7011696B1 (en) 2022-01-27
JP2022062520A JP2022062520A (en) 2022-04-20

Family

ID=80683258

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020170592A Active JP7011696B1 (en) 2020-10-08 2020-10-08 Electronics, control methods, and trained models

Country Status (1)

Country Link
JP (1) JP7011696B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7175485B1 (en) 2022-05-27 2022-11-21 株式会社瑞起 GAME DEVICE, GAME PROGRAM, GAME PROCESSING METHOD, AND GAME SYSTEM

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010108266A (en) 2008-10-30 2010-05-13 Nec Corp Failure detection device, failure detection method, failure detection program, wordbook forming device, and failure occurrence analysis device
JP2010191738A (en) 2009-02-19 2010-09-02 Hitachi Ltd Failure analysis support system
US20170147422A1 (en) 2015-11-23 2017-05-25 Alcatel-Lucent Canada, Inc. External software fault detection system for distributed multi-cpu architecture
US20190196937A1 (en) 2016-09-09 2019-06-27 Microsoft Technology Licensing, Llc Automated Performance Debugging of Production Applications
JP2020140317A (en) 2019-02-27 2020-09-03 レノボ・シンガポール・プライベート・リミテッド Electronic apparatus, control method, program, and learned model

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5468837B2 (en) * 2009-07-30 2014-04-09 株式会社日立製作所 Anomaly detection method, apparatus, and program

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010108266A (en) 2008-10-30 2010-05-13 Nec Corp Failure detection device, failure detection method, failure detection program, wordbook forming device, and failure occurrence analysis device
JP2010191738A (en) 2009-02-19 2010-09-02 Hitachi Ltd Failure analysis support system
US20170147422A1 (en) 2015-11-23 2017-05-25 Alcatel-Lucent Canada, Inc. External software fault detection system for distributed multi-cpu architecture
US20190196937A1 (en) 2016-09-09 2019-06-27 Microsoft Technology Licensing, Llc Automated Performance Debugging of Production Applications
JP2020140317A (en) 2019-02-27 2020-09-03 レノボ・シンガポール・プライベート・リミテッド Electronic apparatus, control method, program, and learned model

Also Published As

Publication number Publication date
JP2022062520A (en) 2022-04-20

Similar Documents

Publication Publication Date Title
CN107997767B (en) Method for recognizing user activity and electronic device thereof
JP5524117B2 (en) Power management based on automatic load detection
EP2688311B1 (en) Method for processing sensor input, in particular for adjusting mobile device state based on user intentions and/or identity
US11908465B2 (en) Electronic device and controlling method thereof
US20170031430A1 (en) Method of managing power and electronic device
US11270565B2 (en) Electronic device and control method therefor
US10448204B2 (en) Individualized presence context publishing
JP6792656B2 (en) Electronics, control methods, programs, and trained models
JP2018514095A (en) On-device behavior analysis to detect malfunctions due to RF interference
EP4354036A1 (en) Electronic apparatus and control method thereof
JP7011696B1 (en) Electronics, control methods, and trained models
KR20190088128A (en) Electronic device and control method thereof
US11468270B2 (en) Electronic device and feedback information acquisition method therefor
US12010470B2 (en) Data processing system, data processing method, sensor apparatus, and receiving apparatus
KR20210092071A (en) Electronic apparatus and control method thereof
US9897661B2 (en) Automatically determining a number of functioning batteries
KR102303272B1 (en) System for predictting a direction of prostate cancer risk
CN111316313A (en) Collation support system, collation support method, and program
JP6723401B1 (en) Electronic device, control method, and program
US20210138350A1 (en) Sensor statistics for ranking users in matchmaking systems
JP7002618B1 (en) Electronic devices and control methods
US20230088429A1 (en) Processing device, processing method, and program
CN113170018A (en) Sleep prediction method, device, storage medium and electronic equipment
US20230108988A1 (en) Garage door opener battery backup system
KR20190046403A (en) An electronic device comprising a battery

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201008

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220114

R150 Certificate of patent or registration of utility model

Ref document number: 7011696

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350