JP2018120354A - Determination program, determination method and determination apparatus - Google Patents

Determination program, determination method and determination apparatus Download PDF

Info

Publication number
JP2018120354A
JP2018120354A JP2017010521A JP2017010521A JP2018120354A JP 2018120354 A JP2018120354 A JP 2018120354A JP 2017010521 A JP2017010521 A JP 2017010521A JP 2017010521 A JP2017010521 A JP 2017010521A JP 2018120354 A JP2018120354 A JP 2018120354A
Authority
JP
Japan
Prior art keywords
server
server software
information
processes
generated
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2017010521A
Other languages
Japanese (ja)
Other versions
JP6772857B2 (en
Inventor
綾花 原田
Ayaka Harada
綾花 原田
立石 直樹
Naoki Tateishi
直樹 立石
冴子 中村
Saeko Nakamura
冴子 中村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2017010521A priority Critical patent/JP6772857B2/en
Publication of JP2018120354A publication Critical patent/JP2018120354A/en
Application granted granted Critical
Publication of JP6772857B2 publication Critical patent/JP6772857B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

PROBLEM TO BE SOLVED: To achieve an object in one aspect for making it possible to distinguish whether or not a process is generated by server software installed in a virtual machine.SOLUTION: A computer executes a determining process as to whether a specific process among a plurality of processes operating in a virtual machine is a process generated by server software or a process generated by software other than the server software on the basis of the number of connections established for the virtual machine and the number of child processes or threads generated by the specific process. When it is determined that the specific process is a process generated by the server software, the computer is made to execute the determination process on a process other than the specific process on the basis of information indicating a relationship between the plurality of processes.SELECTED DRAWING: Figure 10

Description

判定プログラム、判定方法および判定装置に関する。   The present invention relates to a determination program, a determination method, and a determination apparatus.

ユーザの端末装置から受信したリクエストに応じて、データの抽出や、データに対する処理を行い、処理の結果をレスポンスとして、リクエストの送信元の端末装置に送信する情報処理システムが送信する。   In response to the request received from the user's terminal device, the information processing system that extracts data and processes the data and transmits the processing result as a response to the terminal device that transmitted the request is transmitted.

図1は、上述の情報処理システムの一例であり、例えば、3階層システムなどと呼ばれる。図1の例では、端末装置1は、情報処理システム10に対してリクエストを送信する。情報処理システム10では、Webサーバ11がリクエストを受信し、リクエストの引数の内容をApplication(AP)サーバ12に送信する。データベースに記憶されたデータへのアクセスを要する場合、APサーバ12は、受信した引数の内容に応じた問合せ文を生成して、生成した問い合わせ文をDatabase(DB)サーバ13に送信する。そして、APサーバ12は、DBサーバ13によってデータベースから抽出されたデータを入力データとしてアプリケーションを実行し、アプリケーションの処理結果をWebサーバ11に送信する。Webサーバ11は、受信したアプリケーションの処理結果をリクエストに対するレスポンスとして、端末装置1に送信する。以上は、3階層システムにおける処理の一例である。   FIG. 1 is an example of the information processing system described above, and is called, for example, a three-tier system. In the example of FIG. 1, the terminal device 1 transmits a request to the information processing system 10. In the information processing system 10, the Web server 11 receives the request and transmits the content of the request argument to the Application (AP) server 12. When access to the data stored in the database is required, the AP server 12 generates a query statement corresponding to the content of the received argument, and transmits the generated query statement to the Database (DB) server 13. Then, the AP server 12 executes the application using the data extracted from the database by the DB server 13 as input data, and transmits the processing result of the application to the Web server 11. The Web server 11 transmits the received processing result of the application to the terminal device 1 as a response to the request. The above is an example of processing in a three-tier system.

情報処理システムは、1台または複数台の情報処理装置を用いて、複数構築されることがある。例えば、図1のように、情報処理システム10、20、30の3つの情報処理システムが、1台または複数台の情報処理装置を備えるデータセンタ等の環境において構築される。なお、情報処理システム20は、情報処理システム10と同様に、Webサーバ21、APサーバ22、DBサーバ23を備え、端末装置2が送信するリクエストに応じた処理を実行する。また、情報処理システム30も情報処理システム10と同様に、Webサーバ31、APサーバ32、DBサーバ33を備え、端末装置3が送信するリクエストに応じた処理を実行する。情報処理システム10、20、30のそれぞれは、システムを利用するユーザや、システムの種別(蔵書検索システム、社内人事情報の管理システム、など)が互いに異なる場合がある。   A plurality of information processing systems may be constructed using one or a plurality of information processing apparatuses. For example, as shown in FIG. 1, three information processing systems 10, 20, and 30 are constructed in an environment such as a data center including one or a plurality of information processing apparatuses. Similar to the information processing system 10, the information processing system 20 includes a Web server 21, an AP server 22, and a DB server 23, and executes processing according to a request transmitted by the terminal device 2. Similarly to the information processing system 10, the information processing system 30 includes a web server 31, an AP server 32, and a DB server 33, and executes processing according to a request transmitted by the terminal device 3. Each of the information processing systems 10, 20, and 30 may have a different user or system type (collection search system, in-house personnel information management system, etc.).

図1に示す、Webサーバ、APサーバ、DBサーバといった各サーバは、それぞれが1台の仮想計算機(仮想マシン、Virtual Machine、VM)である。言い換えれば、図1に示す、Webサーバ、APサーバ、DBサーバといった各サーバは、サーバソフトウェアが導入された仮想計算機である。なお、例えば、サーバ仮想化技術が適用された場合には、サーバとしてのVMの台数と、物理マシンとしての情報処理装置の台数とは必ずしも一致する必要はない。   Each server such as a Web server, an AP server, and a DB server shown in FIG. 1 is a single virtual machine (virtual machine, virtual machine, VM). In other words, each server such as a Web server, an AP server, and a DB server shown in FIG. 1 is a virtual machine in which server software is introduced. For example, when server virtualization technology is applied, the number of VMs as a server and the number of information processing apparatuses as a physical machine do not necessarily match.

特表2013−543171号公報Special table 2013-543171 gazette

サーバとしての各VMには、各々のサーバの種別に対応した固有のソフトウェアの他に、サーバの種別によらず必要となる、アンチウイルスソフトウェア等のソフトウェアが導入される。したがって、VMが動作する場合には、VMにおいて、各々のサーバの種別に対応した固有のソフトウェア(サーバソフトウェア)のプロセス、その他のソフトウェアのプロセス、Operating SyStem(OS)が実行するプロセス等が動作することとなる。   In addition to unique software corresponding to each server type, software such as anti-virus software, which is necessary regardless of the server type, is introduced to each VM as a server. Therefore, when the VM operates, a process of unique software (server software) corresponding to each server type, other software processes, a process executed by the Operating System (OS), and the like operate in the VM. It will be.

ところで、上述したサーバ仮想化技術とは別に、複数のサーバを1台のVMで動作させる技術が存在し、例えば、コンテナ技術、バーチャルコンテナなどと呼ばれる(以降ではコンテナ技術と記載する)。   By the way, apart from the server virtualization technique described above, there is a technique for operating a plurality of servers with one VM, and is called, for example, a container technique or a virtual container (hereinafter referred to as a container technique).

コストパフォーマンスの向上のためには、複数のサーバを1台のVMで動作させた際に、VMのリソース(演算処理能力やメモリ量など)の過不足を抑えることが求められる。なお以降では、複数のサーバを1台のVMで動作させることを、サーバを「集約」すると記載することがある。そこで例えば、サーバ集約の対象となる複数のサーバそれぞれが個別のVMで動作した際のリソースの使用量を合算し、合算した使用量がVM1台のリソース上限を超過しない範囲で最大数のサーバを1つのVMに集約することが考えられる。   In order to improve cost performance, it is required to suppress excess or deficiency of VM resources (such as arithmetic processing capacity and memory amount) when a plurality of servers are operated by one VM. Hereinafter, operating a plurality of servers with a single VM may be described as “aggregating” the servers. Therefore, for example, the total amount of resources used when a plurality of servers subject to server consolidation are operated by individual VMs is added, and the maximum number of servers is selected within a range where the combined usage does not exceed the resource upper limit of one VM. It is possible to consolidate to one VM.

しかしながら、上述したサーバ集約においては、合算した使用量が実際の使用量よりも過剰に見積もられてしまう可能性がある。上述の合算した使用量は、サーバの種別に対応した固有のソフトウェアのプロセス以外のプロセスによるリソースの消費も、集約するサーバの数だけ発生するものとして見積もられたものである。しかし、実際にサーバを集約した場合には、固有のソフトウェアのプロセス以外のプロセスによるリソースの消費は、サーバの数ではなくVMの数に依存すると考えられる。すなわち、固有のソフトウェアのプロセス以外のプロセスによるリソースの消費は、サーバの数によらず、サーバ1つ分になると考えられる。言い換えれば、上述の合算した使用量は、集約するサーバの数をnとした場合に、固有のソフトウェアのプロセス以外のプロセスが、およそ(n−1)台分過剰に見積もられていると考えられる。   However, in the server aggregation described above, there is a possibility that the combined usage amount is estimated excessively than the actual usage amount. The above-mentioned combined usage amount is estimated that the consumption of resources by processes other than the specific software process corresponding to the type of server is generated by the number of servers to be aggregated. However, when the servers are actually aggregated, the resource consumption by processes other than the unique software process is considered to depend on the number of VMs, not the number of servers. That is, it is considered that the resource consumption by processes other than the unique software process is equivalent to one server regardless of the number of servers. In other words, if the number of servers to be aggregated is n, the above-mentioned combined usage amount is considered to be an excess of approximately (n-1) processes other than the specific software processes. It is done.

上述した過剰な見積もりを抑制するためには、1つのサーバが1つのVMで動作する場合に、VMで動作するプロセスについて、固有のソフトウェアのプロセスであるのか、固有のソフトウェアのプロセス以外のプロセスであるのかを区別することが求められる。   In order to suppress the excessive estimation described above, when one server operates with one VM, whether the process operating with the VM is a specific software process or a process other than the specific software process. It is necessary to distinguish whether there is.

1つの側面では、仮想マシンで動作する複数のプロセスそれぞれについて、仮想マシンに導入されたサーバソフトウェアにより生成されるプロセスであるか否かを区別可能とすることを目的とする。   In one aspect, an object is to make it possible to distinguish whether each of a plurality of processes operating in a virtual machine is a process generated by server software installed in the virtual machine.

1つの態様では、コンピュータに、サーバソフトウェアが導入された仮想マシンで動作する複数のプロセスの内の特定のプロセスが、前記サーバソフトウェアにより生成されるプロセスと前記サーバソフトウェア以外のソフトウェアにより生成されるプロセスのいずれであるかを、前記仮想マシンについて確立されたコネクションの数と、前記特定のプロセスが生成する子プロセスまたはスレッドの数と、に基づいて判定し、前記特定のプロセスが前記サーバソフトウェアにより生成されるプロセスであると判定された場合、記憶部に記憶された、前記複数のプロセス間の関係を示す情報に基づいて、前記特定のプロセス以外の前記複数のプロセスについて、前記サーバソフトウェアにより生成されるプロセスと前記サーバソフトウェア以外のソフトウェアにより生成されるプロセスのいずれであるかを判定する、処理を実行させる。   In one aspect, a process in which a specific process among a plurality of processes operating in a virtual machine in which server software is installed in a computer is generated by the server software and software other than the server software is generated. Is determined based on the number of connections established for the virtual machine and the number of child processes or threads generated by the specific process, and the specific process is generated by the server software. If the process is determined to be a process to be executed, the server software generates the plurality of processes other than the specific process based on the information indicating the relationship between the plurality of processes stored in the storage unit. Other than the process and the server software Determining which one of the processes generated by the software, to execute the process.

1つの側面では、仮想マシンで動作する複数のプロセスそれぞれについて、仮想マシンに導入されたサーバソフトウェアにより生成されるプロセスであるか否かが区別可能となる。   In one aspect, it is possible to distinguish whether or not each of a plurality of processes operating on the virtual machine is a process generated by server software installed in the virtual machine.

情報処理システム10、20、30の概要を示す。An overview of the information processing systems 10, 20, and 30 is shown. 本実施例の概観図を示す。An overview of this example is shown. 集約制御装置300のソフトウェア構成を説明する機能ブロック図を示す。2 is a functional block diagram illustrating a software configuration of the aggregation control device 300. FIG. 記憶部220の機能ブロック図を示す。The functional block diagram of the memory | storage part 220 is shown. 構成情報記憶部223に記憶される情報の一例を示す。An example of information stored in the configuration information storage unit 223 is shown. ネットワーク情報記憶部222に記憶される情報の一例を示す。An example of information stored in the network information storage unit 222 is shown. 動作情報記憶部221に記憶される情報の一例を示す。An example of information stored in the operation information storage unit 221 is shown. ディレクトリ情報記憶部224に記憶される情報の一例を示す。An example of information stored in the directory information storage unit 224 is shown. ディスクアクセス情報記憶部225に記憶される情報の一例を示す。An example of information stored in the disk access information storage unit 225 is shown. 送受信量情報記憶部226に記憶される情報の一例を示す。An example of the information memorize | stored in the transmission / reception amount information storage part 226 is shown. 本実施例におけるプロセス判定処理の手順を示すフローチャートを示す。The flowchart which shows the procedure of the process determination process in a present Example is shown. ステップS1003の処理の詳細を説明するフローチャートを示す。The flowchart explaining the detail of the process of step S1003 is shown. VMの通信設定ファイルの一例を示す。An example of the communication setting file of VM is shown. ステップS1004の処理の詳細を説明するフローチャートを示す。The flowchart explaining the detail of the process of step S1004 is shown. ステップS1004の処理の詳細を説明するフローチャートを示す。The flowchart explaining the detail of the process of step S1004 is shown. ステップS1005の処理の詳細を説明するフローチャートを示す。The flowchart explaining the detail of the process of step S1005 is shown. ステップS1006の処理の詳細を説明するフローチャートを示す。The flowchart explaining the detail of the process of step S1006 is shown. ボトルネック判定情報記憶部227の一例を示す。An example of the bottleneck determination information storage unit 227 is shown. 本実施例によるサーバ固有プロセスの判定結果を利用した場合の集約処理と、前述の過剰な見積もり(比較例)とを比較したイメージを示す。The image which compared the aggregation process at the time of using the determination result of the server specific process by a present Example, and the above-mentioned excessive estimation (comparative example) is shown. 集約制御装置300のハードウェア構成の一例を示す。2 shows an example of a hardware configuration of an aggregation control apparatus 300.

本発明を実施する実施例について、図面とともに説明をする。   Embodiments for carrying out the present invention will be described with reference to the drawings.

〔概観〕
図2は、本実施例の概観図である。本実施例のシステム100は、情報処理装置200、集約制御装置300、端末装置400を備える。
[Overview]
FIG. 2 is an overview of this embodiment. The system 100 according to the present embodiment includes an information processing device 200, an aggregation control device 300, and a terminal device 400.

情報処理装置200上では複数台のVMが動作し、それぞれのVMはいずれかの種別のサーバとして動作する。図2では、情報処理装置が1台の態様を示しているが、情報処理装置200は複数台であっても良い。また、例えば、図2の情報処理装置200が、複数台の情報処理装置を備えるデータセンタであっても良い。   A plurality of VMs operate on the information processing apparatus 200, and each VM operates as a server of any type. Although FIG. 2 shows an aspect where the information processing apparatus is one, a plurality of information processing apparatuses 200 may be provided. Further, for example, the information processing apparatus 200 of FIG. 2 may be a data center including a plurality of information processing apparatuses.

集約制御装置300は、有線または無線のネットワーク500を介して、情報処理装置200と通信可能に接続されている。集約制御装置300は、情報処理装置200上で動作するVMについて、プロセスごとのリソース使用量の特定や、プロセスがサーバの種別に対応した固有のソフトウェアのプロセスであるか否かの判定を実行する。なお、以降の説明では、サーバの種別に対応した固有のソフトウェアのプロセスを、便宜上「サーバ固有プロセス」と記載することがある。サーバ固有プロセスは、VMにおけるサーバソフトウェアのプロセス、サーバソフトウェアにより生成されるプロセス、あるいは、サーバの稼動に直接関係するプロセスと言うこともできる。   The aggregation control device 300 is communicably connected to the information processing device 200 via a wired or wireless network 500. The aggregation control device 300 executes the identification of the resource usage for each process and the determination as to whether or not the process is a unique software process corresponding to the server type for the VM operating on the information processing device 200. . In the following description, a unique software process corresponding to a server type may be referred to as a “server-specific process” for convenience. The server specific process can also be said to be a process of server software in the VM, a process generated by the server software, or a process directly related to server operation.

端末装置400は、ネットワーク500を介して、情報処理装置200と通信可能に接続されている。端末装置400は、情報処理装置200上で動作するVMにより構成される情報処理システム(上述した3階層システムなどである)に対してリクエストを送信し、リクエストに対する応答(レスポンス)を受信する。なお、以降の説明では、特に断りのない限り、単にVMと記載した場合には、情報処理装置200上で動作し、サーバ1つが自装置上に導入されたVMを意味する。   The terminal device 400 is communicably connected to the information processing device 200 via the network 500. The terminal device 400 transmits a request to an information processing system (such as the above-described three-tier system) configured by a VM operating on the information processing device 200, and receives a response to the request. In the following description, unless otherwise noted, when simply described as VM, it means a VM that operates on the information processing apparatus 200 and one server is installed on the own apparatus.

〔集約制御装置300の機能構成〕
図3Aは、集約制御装置300のソフトウェア構成を説明する機能ブロック図である。集約制御装置300は、入力部201、表示部202、通信部203、処理部210、記憶部220を備える。
[Functional configuration of central control apparatus 300]
FIG. 3A is a functional block diagram illustrating the software configuration of the aggregation control apparatus 300. The aggregation control apparatus 300 includes an input unit 201, a display unit 202, a communication unit 203, a processing unit 210, and a storage unit 220.

入力部201は、集約制御装置300に対する情報の入力を受け付ける。   The input unit 201 receives input of information to the aggregation control device 300.

表示部202は、後述するサーバ集約の可否等の情報を出力する。   The display unit 202 outputs information such as whether or not server aggregation described later is possible.

通信部203は、集約制御装置300が他の装置と通信を行う際のインターフェイスとなる。   The communication unit 203 serves as an interface when the aggregation control device 300 communicates with other devices.

処理部210は、動作監視部211、ディレクトリ情報取得部212、判定部213、集約制御部214を備える。   The processing unit 210 includes an operation monitoring unit 211, a directory information acquisition unit 212, a determination unit 213, and an aggregation control unit 214.

動作監視部211は、情報処理装置200で動作するVMの動作を監視し、動作情報を収集する。動作監視部211が収集する動作情報の詳細は後述する。   The operation monitoring unit 211 monitors the operation of the VM that operates on the information processing apparatus 200 and collects operation information. Details of the operation information collected by the operation monitoring unit 211 will be described later.

ディレクトリ情報取得部212は、VMで動作するプロセスの実行ファイルに関する情報を取得する。ディレクトリ情報取得部212は、取得した情報を、例えば、後述するディレクトリ情報記憶部224に記憶する。   The directory information acquisition unit 212 acquires information related to an execution file of a process operating on the VM. The directory information acquisition unit 212 stores the acquired information in, for example, a directory information storage unit 224 described later.

判定部213は、VMで動作するプロセスについて、プロセスがサーバ固有プロセスであるか否かを判定する。本実施例において、以降の記載では、プロセスがサーバ固有プロセスであるか否かを判定する処理を「プロセス判定処理」と記載する。   The determination unit 213 determines whether the process is a server specific process for the process operating in the VM. In the present embodiment, in the following description, processing for determining whether or not a process is a server specific process is referred to as “process determination processing”.

より詳細には、本実施例では、判定部213は、第1判定部213−1、第2判定部213−2、第3判定部213−3を備える。第1判定部213−1は、Webサーバが動作するVMのプロセスについて、プロセス判定処理を実行する。第2判定部213−2は、APサーバが動作するVMのプロセスについて、プロセス判定処理を実行する。第3判定部213−3は、DBサーバが動作するVMのプロセスについて、プロセス判定処理を実行する。ただし、本実施例では、サーバがWebサーバ、APサーバ、DBサーバのいずれかであることを想定していることによるものである。したがって、判定の対象とするサーバの種別や、サーバの種別に応じた具体的な実施例の構成は、本実施例のみに限定されない。   More specifically, in this embodiment, the determination unit 213 includes a first determination unit 213-1, a second determination unit 213-2, and a third determination unit 213-3. The first determination unit 213-1 performs process determination processing on the VM process on which the Web server operates. The second determination unit 213-2 executes process determination processing for the VM process in which the AP server operates. The third determination unit 213-3 executes process determination processing for the VM process in which the DB server operates. However, this embodiment is based on the assumption that the server is any one of a Web server, an AP server, and a DB server. Therefore, the type of the server to be determined and the specific configuration of the embodiment according to the server type are not limited to the present embodiment.

集約制御部214は、判定部213の判定結果に基づいて、サーバの集約の可否や、集約するサーバの組合せの決定を行なう。また、集約制御部214は、決定されたサーバの組合せに基づいて、情報処理装置200に対して、サーバの集約を実行させる指示を送信することが可能である。   Based on the determination result of the determination unit 213, the aggregation control unit 214 determines whether or not to consolidate servers and the combination of servers to be aggregated. In addition, the aggregation control unit 214 can transmit an instruction to execute server aggregation to the information processing apparatus 200 based on the determined combination of servers.

図3Bは、図3Aに示した記憶部220の機能ブロック図である。記憶部220は、例えば、図3Bに示すように、動作情報記憶部221、ネットワーク情報記憶部222、構成情報記憶部223、ディレクトリ情報記憶部224、ディスクアクセス情報記憶部225、送受信量情報記憶部226、ボトルネック判定情報記憶部227を備える。それぞれについては、記憶される情報の具体例とともに、詳細を後述する。   FIG. 3B is a functional block diagram of the storage unit 220 shown in FIG. 3A. As shown in FIG. 3B, for example, the storage unit 220 includes an operation information storage unit 221, a network information storage unit 222, a configuration information storage unit 223, a directory information storage unit 224, a disk access information storage unit 225, and a transmission / reception amount information storage unit. 226, a bottleneck determination information storage unit 227 is provided. Details of each will be described later along with specific examples of stored information.

本実施例におけるプロセス判定処理について説明を行なう前に、プロセス判定処理に利用される情報の収集について説明する。   Before describing the process determination process in the present embodiment, collection of information used for the process determination process will be described.

〔構成情報記憶部223〕
図4は、構成情報記憶部223に記憶される情報の一例を示す図である。構成情報記憶部223は、例えば、図4に示す、OS種別2231、Internet Protocol(IP)アドレス2232、ホスト名2233、サーバ種別2234といった情報を記憶する。構成情報記憶部223に記憶される情報は、情報処理装置200上で動作する各VMについての情報である。なお、本実施例において構成情報記憶部223に記憶される情報は、集約制御装置300が自装置の記憶部で保持することとしても良い。あるいは、集約制御装置300がアクセス可能な、自装置外の構成情報データベース(Configuration Management Database、CMDB)に記憶されていても良い。
[Configuration Information Storage Unit 223]
FIG. 4 is a diagram illustrating an example of information stored in the configuration information storage unit 223. The configuration information storage unit 223 stores, for example, information such as the OS type 2231, the Internet Protocol (IP) address 2232, the host name 2233, and the server type 2234 shown in FIG. Information stored in the configuration information storage unit 223 is information on each VM operating on the information processing apparatus 200. In the present embodiment, the information stored in the configuration information storage unit 223 may be held in the storage unit of its own device by the aggregation control device 300. Alternatively, it may be stored in a configuration information database (Configuration Management Database, CMDB) that can be accessed by the aggregation control device 300 and is outside the own device.

OS種別2231は、VMそれぞれのOSが何であるかを示す情報である。図4では「OS−A 64bit」、「OS−B 32bit」、「OS−B 64bit」と記載している。ただし、図4に示すデータの形式はあくまで一例であり、VMそれぞれのOSが何であるかを特定可能な情報であれば、具体的なデータの形式は適宜変更可能である。   The OS type 2231 is information indicating what the OS of each VM is. In FIG. 4, “OS-A 64 bits”, “OS-B 32 bits”, and “OS-B 64 bits” are described. However, the data format shown in FIG. 4 is merely an example, and the specific data format can be appropriately changed as long as it is information that can identify what the OS of each VM is.

IPアドレス2232は、VMに割り当てられたIPアドレスを示す情報である。図4では、説明のために「IP_X1」、「IP_X2」、「IP_X3」と記載しているが、実際は、例えばIPv4(version 4)やIPv6(version 6)に準拠したデータ形式である。   The IP address 2232 is information indicating the IP address assigned to the VM. In FIG. 4, “IP_X1”, “IP_X2”, and “IP_X3” are described for the sake of explanation, but the actual data format is, for example, compliant with IPv4 (version 4) or IPv6 (version 6).

ホスト名2233は、VMそれぞれに付与されたホスト名(コンピュータ名)を示す情報である。ホスト名2233は、VMそれぞれが一意に識別可能な態様であれば、図4に示す態様に限定されなくても良い。   The host name 2233 is information indicating the host name (computer name) assigned to each VM. The host name 2233 may not be limited to the mode illustrated in FIG. 4 as long as each VM can be uniquely identified.

サーバ種別2234は、VMそれぞれで動作するサーバの種別を示す情報である。本実施例においては、サーバの種別は、各VMに導入された業務システムの種別と言うこともできる。本実施例においては、サーバの種別として、Webサーバ、APサーバ、DBサーバを挙げている。なお、図4は、Webサーバ、APサーバ、DBサーバがそれぞれ1台、計3台分のVMの情報を示している。   The server type 2234 is information indicating the type of server operating in each VM. In this embodiment, the server type can also be said to be the type of business system installed in each VM. In this embodiment, Web server, AP server, and DB server are listed as server types. FIG. 4 shows VM information for one Web server, one AP server, and one DB server, for a total of three.

〔ネットワーク情報記憶部222〕
図5は、ネットワーク情報記憶部222に記憶される情報の一例を示す図である。ネットワーク情報記憶部222は、例えば、図5に示す、ローカル側ソケット情報2221、リモート側ソケット情報2222、状態情報2223、Process Identifier(PID)2224を記憶する。ネットワーク情報記憶部222に記憶される情報は、情報処理装置200上で動作するVMのプロセス間通信の状態に関する情報であり、例えば、netstatコマンド等を利用することにより、集約制御装置300が情報処理装置200から収集することができる。具体的には、例えば、集約制御装置300が、情報処理装置200上で動作するVMに対して、netstatコマンドの実行を指示することで、指示を受けたVMについての情報が取得される。そして、指示を受けたVMが取得した情報を集約制御装置300に送信することで、集約制御装置300は情報を取得することができる。なお、以降の説明では、上記のプロセス間通信をコネクションと記載することがある。
[Network information storage unit 222]
FIG. 5 is a diagram illustrating an example of information stored in the network information storage unit 222. The network information storage unit 222 stores, for example, local socket information 2221, remote socket information 2222, status information 2223, and process identifier (PID) 2224 shown in FIG. The information stored in the network information storage unit 222 is information regarding the state of interprocess communication of VMs operating on the information processing apparatus 200. For example, by using a netstat command or the like, the aggregation control apparatus 300 performs information processing. It can be collected from the device 200. Specifically, for example, when the aggregation control apparatus 300 instructs the VM operating on the information processing apparatus 200 to execute the netstat command, information about the VM that has received the instruction is acquired. Then, the aggregation control device 300 can acquire information by transmitting the information acquired by the VM that has received the instruction to the aggregation control device 300. In the following description, the interprocess communication may be described as a connection.

ローカル側ソケット情報2221は、コネクションにおけるローカル側のホスト名とポート番号とを含む情報である。ここでローカル側とは、情報を取得したVM側のことを指す。なお、ローカル側ソケット情報2221は、例えば、ホスト名に代えて、ホストのIPアドレスを含む情報であっても良い。図5に示すローカル側ソケット情報2221は、ホスト名とポート番号とを「:(コロン)」で区切ったデータ形式であるが、データ中のホスト名とポート番号とを区別可能であれば、図5と異なるデータ形式でも良い。また、図5では説明のため、ポート番号を例えば「PORT_#113」のように記載しているが、実際のポート番号は、例えば16ビット(0〜65535)の数値である。   The local side socket information 2221 is information including a host name and a port number on the local side in the connection. Here, the local side refers to the VM side from which information has been acquired. The local socket information 2221 may be information including the IP address of the host, for example, instead of the host name. The local side socket information 2221 shown in FIG. 5 has a data format in which a host name and a port number are separated by “: (colon)”. If the host name and the port number in the data can be distinguished, the local socket information 2221 shown in FIG. A data format different from 5 may be used. In FIG. 5, the port number is described as “PORT_ # 113”, for example, for the sake of explanation, but the actual port number is a numerical value of 16 bits (0 to 65535), for example.

リモート側ソケット情報2222は、コネクションにおけるリモート側のホスト名とポート番号とを含む情報である。ここでリモート側とは、情報を取得したVMの通信相手のVM側のことを指す。リモート側ソケット情報2222についての具体的なデータ形式や変形例の採用可否については、ローカル側ソケット情報2221と同様である。   The remote-side socket information 2222 is information including the remote-side host name and port number in the connection. Here, the remote side refers to the VM side of the communication partner of the VM that acquired the information. Whether or not a specific data format or modification of the remote socket information 2222 is adopted is the same as that of the local socket information 2221.

状態情報2223は、プロセス間通信の状態を示す情報である。図5では、例えば、「LISTEN」という状態と「ESTABLISHED」という状態とが示されている。「LISTEN」はコネクションの要求待ちであり、すなわちコネクションは確立されていない状態である。「ESTABLISHED」は、コネクションが確立されていることを示している。   The status information 2223 is information indicating the status of interprocess communication. In FIG. 5, for example, a state “LISTEN” and a state “ESTABISHED” are shown. “LISTEN” is waiting for a connection request, that is, the connection is not established. “ESTABLISHED” indicates that a connection is established.

PID2224は、ローカル側ソケット情報2221に示されるローカル側ソケットが属しているプロセスを識別する識別情報である。図5では、例えば「P_X110」といった形式で記載をしているが、具体的には、PIDは例えばプロセスを一意に識別する番号(数値)である。   The PID 2224 is identification information for identifying the process to which the local socket indicated by the local socket information 2221 belongs. In FIG. 5, for example, “P_X110” is described, but specifically, the PID is, for example, a number (numerical value) uniquely identifying a process.

図5に示す情報により、情報が取得されたタイミングにおける、プロセス間のコネクションの状態を特定することができる。例えば、図5の行222−#1を例に挙げると、ローカル側ソケットのホスト名とポート番号が「HOST_X1:PORT_#110」、リモート側ソケットのホスト名とポート番号が「HOST_U1:PORT_#U1」、コネクションは確立されていない状態(LISTEN)であり、ローカル側ソケットに対応するプロセスのPIDは「P_X110」であることが特定される。また、例えば、図5の行222−#2を例に挙げると、ローカル側ソケットのホスト名とポート番号が「HOST_X1:PORT_#111」、リモート側ソケットのホスト名とポート番号が「HOST_U2:PORT_#U2」、コネクションは確立されている状態(ESTABLISHED)であり、ローカル側ソケットに対応するプロセスのPIDは「P_X111」であることが特定される。   With the information shown in FIG. 5, the state of the connection between processes at the timing when the information is acquired can be specified. For example, taking the row 222- # 1 of FIG. 5 as an example, the host name and port number of the local socket are “HOST_X1: PORT_ # 110”, and the host name and port number of the remote socket are “HOST_U1: PORT_ # U1”. The connection is not established (LISTEN), and the PID of the process corresponding to the local socket is specified as “P_X110”. Further, for example, taking the row 222- # 2 of FIG. 5 as an example, the host name and port number of the local socket are “HOST_X1: PORT_ # 111”, and the host name and port number of the remote socket are “HOST_U2: PORT_ “# U2”, the connection is in an established state (ESTABLISHED), and the PID of the process corresponding to the local socket is specified as “P_X111”.

〔動作情報記憶部221〕
図6は、動作情報記憶部221に記憶される情報の一例を示す図である。動作情報記憶部221は、例えば、図6に示す、PID2211、Parent Process Identifier(PPID)2212、Central Processing Unit(CPU)使用率2213、実メモリ使用量2214、仮想メモリ使用量2215、スレッド数2216、実行ファイル情報2217を記憶する。図6に示す情報は、VMで動作する各プロセスに関する情報、および各プロセスが使用するリソースの量を示す情報を含む。図6に示す情報は、例えば、psコマンド等を利用することにより、集約制御装置300が情報処理装置200から収集することができる。具体的には、例えば、集約制御装置300が、情報処理装置200上で動作するVMに対して、psコマンドの実行を指示することで、指示を受けたVMについての情報が取得される。そして、指示を受けたVMが取得した情報を集約制御装置300に送信することで、集約制御装置300は情報を取得することができる。
[Operation Information Storage Unit 221]
FIG. 6 is a diagram illustrating an example of information stored in the operation information storage unit 221. The operation information storage unit 221 includes, for example, a PID 2211, a parent process identifier (PPID) 2212, a central processing unit (CPU) usage rate 2213, a real memory usage amount 2214, a virtual memory usage amount 2215, a thread number 2216, shown in FIG. Executable file information 2217 is stored. The information illustrated in FIG. 6 includes information regarding each process operating in the VM, and information indicating the amount of resources used by each process. The information shown in FIG. 6 can be collected from the information processing apparatus 200 by the aggregation control apparatus 300 by using, for example, a ps command. Specifically, for example, when the aggregation control apparatus 300 instructs the VM operating on the information processing apparatus 200 to execute the ps command, information on the received VM is acquired. Then, the aggregation control device 300 can acquire information by transmitting the information acquired by the VM that has received the instruction to the aggregation control device 300.

PID2211は、プロセスを識別する識別情報であり、例えば、図5のPID2224と同様の態様であって良い。   The PID 2211 is identification information for identifying a process, and may be in the same mode as the PID 2224 in FIG. 5, for example.

PPID2212は、PID2211に示されるプロセスの親プロセスの識別情報を示す情報である。すなわち、PID2211に示されるプロセスは、PPID2212に示されるプロセスの子プロセスである。   The PPID 2212 is information indicating identification information of a parent process of the process indicated by the PID 2211. That is, the process indicated by PID 2211 is a child process of the process indicated by PPID 2212.

CPU使用率2213は、VMに割り当てられたCPUリソースに対するプロセスそれぞれについてのCPU使用率を示す。   The CPU usage rate 2213 indicates the CPU usage rate for each process for the CPU resource allocated to the VM.

実メモリ使用量2214は、プロセスそれぞれが使用するメモリ容量(実メモリ容量)を示す。また、仮想メモリ使用量2215は、プロセスそれぞれが使用する仮想メモリ容量を示す。   The real memory usage 2214 indicates the memory capacity (real memory capacity) used by each process. The virtual memory usage 2215 indicates the virtual memory capacity used by each process.

スレッド数2216は、プロセスが生成するスレッドの数を示す情報である。   The number of threads 2216 is information indicating the number of threads generated by the process.

実行ファイル情報2217は、各プロセスの実行ファイルを特定する情報である。なお、本実施例においては、実行ファイル情報2217は、例えば、各プロセスの実行ファイル名や実行コマンド名であっても良い。図6の態様では、実行ファイル情報2217の値には各プロセスの実行ファイル名が記憶されている。   The execution file information 2217 is information for specifying an execution file of each process. In the present embodiment, the execution file information 2217 may be, for example, the execution file name or execution command name of each process. In the mode of FIG. 6, the executable file name of each process is stored in the value of the executable file information 2217.

〔ディレクトリ情報記憶部224〕
図7は、ディレクトリ情報記憶部224に記憶される情報の一例を示す図である。ディレクトリ情報記憶部224は、例えば、図7に示す実行ファイル情報2241、パス情報2242を記憶する。
[Directory information storage unit 224]
FIG. 7 is a diagram illustrating an example of information stored in the directory information storage unit 224. The directory information storage unit 224 stores, for example, executable file information 2241 and path information 2242 shown in FIG.

実行ファイル情報2241は、実行ファイルを特定する情報であり、例えば、図6の実行ファイル情報2217と同様の態様であって良い。   The execution file information 2241 is information for specifying an execution file, and may be in the same mode as the execution file information 2217 in FIG. 6, for example.

パス情報2242は、実行ファイル情報2241に示される実行ファイルが格納されたディレクトリのフルパスを示す情報である。   The path information 2242 is information indicating the full path of the directory in which the execution file indicated by the execution file information 2241 is stored.

図7に示す情報は、例えば、ls(LS)コマンド等を利用することにより、集約制御装置300のディレクトリ情報取得部212が情報処理装置200から収集することができる。具体的には、例えば、集約制御装置300が、情報処理装置200上で動作するVMに対して、lsコマンドの実行を指示することで、指示を受けたVMについての情報が取得される。そして、指示を受けたVMが取得した情報を集約制御装置300に送信することで、集約制御装置300は情報を取得することができる。   The information shown in FIG. 7 can be collected from the information processing apparatus 200 by the directory information acquisition unit 212 of the aggregation control apparatus 300 by using, for example, an ls (LS) command or the like. Specifically, for example, when the aggregation control apparatus 300 instructs the VM operating on the information processing apparatus 200 to execute the ls command, information about the VM that has received the instruction is acquired. Then, the aggregation control device 300 can acquire information by transmitting the information acquired by the VM that has received the instruction to the aggregation control device 300.

〔ディスクアクセス情報記憶部225〕
図8は、ディスクアクセス情報記憶部225に記憶される情報の一例を示す図である。ディスクアクセス情報記憶部225は、VMに割り当てられた記憶領域(ストレージ領域、ディスク領域)に対する各プロセスのアクセス状況、具体的にはアクセスのデータ量を示す情報を記憶する。ディスクアクセス情報記憶部225は、例えば、図8に示すように、PID2251、読み込みデータ量2252、書き込みデータ量2253を記憶する。
[Disk access information storage unit 225]
FIG. 8 is a diagram illustrating an example of information stored in the disk access information storage unit 225. The disk access information storage unit 225 stores information indicating an access status of each process, specifically, an access data amount to a storage area (storage area, disk area) allocated to the VM. For example, as shown in FIG. 8, the disk access information storage unit 225 stores a PID 2251, a read data amount 2252, and a write data amount 2253.

PID2251は、プロセスを識別する識別情報であり、例えば、図5のPID2224と同様の態様であって良い。   The PID 2251 is identification information for identifying a process, and may be in the same mode as the PID 2224 in FIG. 5, for example.

読み込みデータ量2252は、プロセスによるVMに割り当てられた記憶領域から読み出す単位時間当たりのデータ量を示す。   The read data amount 2252 indicates the data amount per unit time read from the storage area allocated to the VM by the process.

書き込みデータ量2253は、プロセスによるVMに割り当てられた記憶領域に対する単位時間当たりの書き込みデータ量を示す。   The write data amount 2253 indicates the write data amount per unit time for the storage area allocated to the VM by the process.

図8に示す情報は、例えば、iotopコマンド等を利用することにより、集約制御装置300が情報処理装置200から収集することができる。具体的には、例えば、集約制御装置300が、情報処理装置200上で動作するVMに対して、iotopコマンドの実行を指示することで、指示を受けたVMについての情報が取得される。そして、指示を受けたVMが取得した情報を集約制御装置300に送信することで、集約制御装置300は情報を取得することができる。   The information shown in FIG. 8 can be collected from the information processing apparatus 200 by the aggregation control apparatus 300 by using, for example, an itop command or the like. Specifically, for example, when the aggregation control apparatus 300 instructs the VM operating on the information processing apparatus 200 to execute an iotop command, information about the VM that has received the instruction is acquired. Then, the aggregation control device 300 can acquire information by transmitting the information acquired by the VM that has received the instruction to the aggregation control device 300.

〔送受信量情報記憶部226〕
図9は、送受信量情報記憶部226に記憶される情報の一例を示す図である。送受信量情報記憶部226は、端末装置400に対するWebサーバのデータ送受信量を特定する情報を記憶する。送受信量情報記憶部226は、例えば、ネットワークインターフェイス2261、送信データ量2262、受信データ量2263を記憶する。
[Transmission / reception amount information storage unit 226]
FIG. 9 is a diagram illustrating an example of information stored in the transmission / reception amount information storage unit 226. The transmission / reception amount information storage unit 226 stores information for specifying the data transmission / reception amount of the Web server for the terminal device 400. The transmission / reception amount information storage unit 226 stores, for example, a network interface 2261, a transmission data amount 2262, and a reception data amount 2263.

ネットワークインターフェイス2261は、WebサーバのNetwork Interface Card(NIC)の識別情報である。   The network interface 2261 is identification information of a network interface card (NIC) of the web server.

送信データ量2262は、Webサーバから端末装置400への単位時間当たりのデータ送信量を示す情報である。   The transmission data amount 2262 is information indicating the data transmission amount per unit time from the Web server to the terminal device 400.

受信データ量2263は、Webサーバが端末装置400から受信する単位時間当たりのデータ受信量を示す情報である。   The reception data amount 2263 is information indicating the data reception amount per unit time received by the Web server from the terminal device 400.

図9に示す情報は、例えば、ifconfigコマンド等を利用することにより、集約制御装置300が情報処理装置200から収集することができる。具体的には、例えば、集約制御装置300が、情報処理装置200上で動作するWebサーバのVMに対して、ifconfigコマンドの実行を指示することで、指示を受けたVMについての情報が取得される。そして、指示を受けたVMが取得した情報を集約制御装置300に送信することで、集約制御装置300は情報を取得することができる。   The information shown in FIG. 9 can be collected from the information processing apparatus 200 by the aggregation control apparatus 300 by using, for example, an ifconfig command. Specifically, for example, when the aggregation control device 300 instructs the VM of the Web server operating on the information processing device 200 to execute an ifconfig command, information about the VM that has received the instruction is acquired. The Then, the aggregation control device 300 can acquire information by transmitting the information acquired by the VM that has received the instruction to the aggregation control device 300.

動作情報記憶部221、ネットワーク情報記憶部222、ディスクアクセス情報記憶部225、送受信量情報記憶部226のそれぞれに記憶される情報は、例えば、集約制御装置300が所定の周期で複数回取得する。構成情報記憶部223、ディレクトリ情報224に記憶される情報については、例えば、集約制御装置300があるタイミングで一度取得したものであって良い。構成情報記憶部223、ディレクトリ情報224に記憶される情報については、システムの構成変更が発生しなければ変化の起こらない情報であるためである。ただし、構成情報記憶部223、ディレクトリ情報224に記憶される情報が、例えば、異なる複数のタイミングで取得されたうちの最新のタイミングで取得された情報であっても構わない。   The information stored in each of the operation information storage unit 221, the network information storage unit 222, the disk access information storage unit 225, and the transmission / reception amount information storage unit 226 is acquired by the aggregation control device 300 a plurality of times at a predetermined cycle, for example. The information stored in the configuration information storage unit 223 and the directory information 224 may be acquired once at a certain timing, for example. This is because the information stored in the configuration information storage unit 223 and the directory information 224 is information that does not change unless a system configuration change occurs. However, the information stored in the configuration information storage unit 223 and the directory information 224 may be, for example, information acquired at the latest timing among the plurality of different timings.

〔判定処理の詳細〕
本実施例におけるプロセス判定処理について、詳細を説明する。
[Details of judgment processing]
Details of the process determination processing in this embodiment will be described.

図10は、本実施例におけるプロセス判定処理の手順を示すフローチャートである。   FIG. 10 is a flowchart showing the procedure of the process determination process in the present embodiment.

まず、判定部213は、構成情報記憶部223に情報が記憶されているVMの中から1つのVMを選択し、プロセス判定処理の対象とする(ステップS1001)。   First, the determination unit 213 selects one VM from the VMs whose information is stored in the configuration information storage unit 223 and sets it as a process determination process target (step S1001).

次に判定部213は、ステップS1001において選択されたVMで動作するサーバの種別を判定する(ステップS1002)。例えば、判定部213は、構成情報記憶部223において、ステップS1001において選択されたVMのホスト名2233と関連付けられているサーバ種別2234を参照することで、サーバの種別を判定することとしても良い。サーバの種別がWebサーバである場合、第1判定部213−1が第1の判定処理を実行する(ステップS1003)。サーバの種別がAPサーバである場合、第2判定部213−2が第2の判定処理(ステップS1004)および第3の判定処理を実行する(ステップS1005)を実行する。サーバの種別がDBサーバである場合、第3判定部213−3が第4の判定処理を実行する(ステップS1006)。ステップS1003〜S1006のそれぞれは、VMのプロセスについて、サーバ固有プロセスであるか否かを判定する処理である。ステップS1003〜S1006のそれぞれについては、詳細を後述する。   Next, the determination unit 213 determines the type of server that operates in the VM selected in step S1001 (step S1002). For example, the determination unit 213 may determine the server type by referring to the server type 2234 associated with the VM host name 2233 selected in Step S1001 in the configuration information storage unit 223. When the server type is a Web server, the first determination unit 213-1 executes the first determination process (step S1003). When the server type is AP server, the second determination unit 213-2 executes the second determination process (step S1004) and the third determination process (step S1005). When the server type is a DB server, the third determination unit 213-3 executes a fourth determination process (step S1006). Each of steps S1003 to S1006 is processing for determining whether or not the VM process is a server-specific process. Details of steps S1003 to S1006 will be described later.

ステップS1003〜S1006のいずれかの処理が実行された後、判定部213は、全てのVMがステップS1001で対象として選択されたかを判定する(ステップS1007)。ここで、全てのVMとは、構成情報記憶部223に情報が記憶されている全てのVMとしても良いし、構成情報記憶部223に情報が記憶されている全てのVMの中から指定された、いくつかのVMであっても良い。全てのVMが選択されていないと判定された場合(ステップS1007、NO)、ステップS1001の処理に戻る。一方、全てのVMが選択されたと判定された場合(ステップS1007、YES)、図10に示す一連の処理は終了する。   After any one of steps S1003 to S1006 is executed, the determination unit 213 determines whether all VMs have been selected as targets in step S1001 (step S1007). Here, all VMs may be all VMs whose information is stored in the configuration information storage unit 223, or are specified from all VMs whose information is stored in the configuration information storage unit 223. Or some VMs. If it is determined that not all VMs have been selected (step S1007, NO), the process returns to step S1001. On the other hand, when it is determined that all the VMs have been selected (step S1007, YES), the series of processing illustrated in FIG. 10 ends.

以降では、ステップS1003〜S1006のそれぞれで実行される処理について、詳細を説明する。なお、以降の説明で、図5および図6を用いて詳細を説明することがあるが、説明においては、図5および図6に示される情報は、同一のタイミングで取得されたものとする。   Hereinafter, the details of the processes executed in steps S1003 to S1006 will be described. In the following description, details may be described with reference to FIGS. 5 and 6, but in the description, the information shown in FIGS. 5 and 6 is acquired at the same timing.

〔ステップS1003の詳細〕
図11は、図10のステップS1003の処理の詳細を説明するフローチャートである。図11の処理は、本実施例においては、サーバの種別がWebサーバと判定されたVMのプロセスに対して、第1判定部213−1が実行する処理である。
[Details of Step S1003]
FIG. 11 is a flowchart illustrating details of the process in step S1003 of FIG. In the present embodiment, the process of FIG. 11 is a process executed by the first determination unit 213-1 for a VM process whose server type is determined to be a Web server.

まず、第1判定部213−1は、対象のVM(Webサーバ)が端末装置400からリクエストを受信する際に利用するポートのポート番号を取得する(ステップS1101)。リクエストを受信する際に利用するポートのポート番号は、例えば、対象のVMの通信設定ファイルおいて、サービス名が「http」または「https」であるTransmission Control Protocol(TCP)通信に割り当てられたポート番号である。   First, the first determination unit 213-1 acquires the port number of the port used when the target VM (Web server) receives a request from the terminal device 400 (step S1101). The port number used when receiving the request is, for example, the port assigned to the transmission control protocol (TCP) communication whose service name is “http” or “https” in the communication setting file of the target VM. Number.

図12は、VMの通信設定ファイルの一例を示す図である。図12の通信設定ファイル1200では、領域1201にサービス名が示され、領域1202にポート番号と通信プロトコルが示される。   FIG. 12 is a diagram illustrating an example of a VM communication setting file. In the communication setting file 1200 of FIG. 12, a service name is shown in an area 1201, and a port number and a communication protocol are shown in an area 1202.

図11の説明に戻って、ステップS1101の後、第1判定部213−1は、確立されたコネクションの数を特定する(ステップS1102)。ここで、確立されたコネクションの数は、例えば、ネットワーク情報記憶部222に記憶された情報に基づいて特定することができる。例えば、第1判定部213−1は、ステップS1101で取得されたポート番号をローカル側ソケット情報2221に含み、かつ、状態情報2223の値が「ESTABLISHED」である条件に該当するコネクションを特定する。そして、第1判定部213−1は、該当するコネクションの合計数を確立されたコネクションの数として特定する。本実施例では、図5における、データ行222−#2、222−#3、222−#4に示されるコネクションが該当することとし、確立されたコネクションの数は3とする。   Returning to the description of FIG. 11, after step S1101, the first determination unit 213-1 identifies the number of established connections (step S1102). Here, the number of established connections can be specified based on information stored in the network information storage unit 222, for example. For example, the first determination unit 213-1 includes the port number acquired in step S1101 in the local socket information 2221, and identifies a connection corresponding to the condition in which the value of the status information 2223 is “ESTABLISHED”. Then, the first determination unit 213-1 identifies the total number of corresponding connections as the number of established connections. In this embodiment, it is assumed that the connections shown in the data rows 222- # 2, 222- # 3, and 222- # 4 in FIG. 5 correspond, and the number of established connections is 3.

ステップS1102の処理の終了後、第1判定部213−1は、ステップS1102で選択したプロセスについて、子プロセスの数を特定する(ステップS1103)。子プロセスの数は、例えば、あるタイミングで取得された動作情報において、ステップS1102で選択したプロセスを親プロセスとするプロセスの数としても良い。ここで、第1判定部213−1は、親プロセスの識別情報(PPID)と特定した子プロセスの数とを対応付けて記憶しておく。例えば図6に示す221−#1の範囲のプロセスがWebサーバのプロセスとして取得されたとすると、子プロセス数が3のPPID=P_X110、子プロセス数が1のPPID=P_X120、子プロセス数が1のPPID=P_X130、子プロセス数が1のPPID=P_X140が特定される。   After the process of step S1102 ends, the first determination unit 213-1 identifies the number of child processes for the process selected in step S1102 (step S1103). The number of child processes may be, for example, the number of processes whose parent process is the process selected in step S1102 in the operation information acquired at a certain timing. Here, the first determination unit 213-1 stores the identification information (PPID) of the parent process and the number of identified child processes in association with each other. For example, if a process in the range of 221- # 1 shown in FIG. 6 is acquired as a Web server process, PPID = P_X110 with a child process number of 3, PPID = P_X120 with a child process number of 1, and a child process number of 1 PPID = P_X130 with PPID = P_X130 and the number of child processes of 1 is specified.

第1判定部213−1は、ステップS1103で子プロセスの数が特定された親プロセスの中から、1つの親プロセスを選択する(ステップS1104)。   The first determination unit 213-1 selects one parent process from the parent processes for which the number of child processes has been specified in step S1103 (step S1104).

そして、第1判定部213−1は、ステップS1103で特定した、確立されたコネクションの数と、ステップS1104で選択した親プロセスの子プロセスの数とを比較する。そして、第1判定部213−1は、確立されたコネクションの数と子プロセスの数とが一致するか否かを判定する(ステップS1105)。   Then, the first determination unit 213-1 compares the number of established connections specified in step S1103 with the number of child processes of the parent process selected in step S1104. Then, the first determination unit 213-1 determines whether or not the number of established connections matches the number of child processes (step S1105).

確立されたコネクションの数と子プロセスの数とが一致すると判定した場合(ステップS1105、YES)、第1判定部213−1は、ステップS1104で選択された親プロセスおよび親プロセスの子プロセスを、サーバ固有プロセスであると判定する(ステップS1106)。一方、確立されたコネクションの数と子プロセスの数とが一致すると判定しない場合(ステップS1105、NO)、第1判定部213−1は、ステップS1104で選択された親プロセスおよび親プロセスの子プロセスを、サーバ固有プロセスではないと判定する(ステップS1107)。   When it is determined that the number of established connections matches the number of child processes (YES in step S1105), the first determination unit 213-1 determines the parent process and the child process of the parent process selected in step S1104. It is determined that the process is a server-specific process (step S1106). On the other hand, when it is not determined that the number of established connections matches the number of child processes (NO in step S1105), the first determination unit 213-1 selects the parent process and the child process of the parent process selected in step S1104. Are not server specific processes (step S1107).

例えば、図6の例では、PPID=P_X110のプロセスは子プロセス数が3であり、確立されたコネクションの数である3と一致するので、サーバ固有プロセスであると判定される。一方、PPID=P_X120のプロセス、PPID=P_X130のプロセス、PPID=P_X140のプロセスは、子プロセス数が1であり、確立されたコネクションの数である3と一致しないので、サーバ固有プロセスではないと判定される。   For example, in the example of FIG. 6, the process with PPID = P_X110 has a child process number of 3 and matches the number of established connections of 3, so it is determined to be a server specific process. On the other hand, the process of PPID = P_X120, the process of PPID = P_X130, and the process of PPID = P_X140 are determined not to be server-specific processes because the number of child processes is 1 and does not match 3, which is the number of established connections. Is done.

ステップS1106またはS1107の後、第1判定部213−1は、ステップS1104において全ての親プロセスが選択されたか否かを判定する(ステップS1108)。全ての親プロセスが選択されていない場合(ステップS1108、NO)、ステップS1104に戻り、未選択の親プロセスを選択してステップS1105〜S1108の処理を繰り返す。一方、全ての親プロセスが選択された場合(ステップS1108、YES)、第1判定部213−1は、ステップS1109の処理を実行する。   After step S1106 or S1107, the first determination unit 213-1 determines whether or not all parent processes have been selected in step S1104 (step S1108). If all the parent processes have not been selected (step S1108, NO), the process returns to step S1104, selects an unselected parent process, and repeats the processing of steps S1105 to S1108. On the other hand, when all parent processes are selected (step S1108, YES), the first determination unit 213-1 executes the process of step S1109.

ステップS1101〜S1108の処理により、サーバ固有プロセスが特定された後、第1判定部213−1は、サーバ固有プロセスの追加特定処理を実行する(ステップS1109)。   After the server specific process is specified by the processes of steps S1101 to S1108, the first determination unit 213-1 performs the additional specification process of the server specific process (step S1109).

ステップS1109において、第1判定部213−1は、特定されたサーバ固有プロセスについて、プロセスの実行ファイルが格納されたディレクトリを特定する。なお、ステップS1101〜S1108の処理によりサーバ固有プロセスが複数特定されている場合は、その複数のサーバ固有プロセスおよび子プロセスがステップS1109の処理の対象となる。実行ファイルが格納されたディレクトリを特定するためには、例えば、第1判定部213−1は、動作情報記憶部221において、サーバ固有プロセスのPIDと対応付けられた実行ファイル情報2217に示される実行ファイルを特定する。そして、第1判定部213−1は、ディレクトリ情報記憶部224を参照して、特定した実行ファイルに対応するディレクトリを特定する。具体的には、ディレクトリ情報記憶部224において、特定した実行ファイル(実行ファイル情報2241の値)と対応付けられているパス情報2242に示される実行ファイルのフルパスに基づいて、実行ファイルが格納されたディレクトリが特定される。   In step S1109, the first determination unit 213-1 identifies the directory in which the process execution file is stored for the identified server specific process. If a plurality of server-specific processes are specified by the processes in steps S1101 to S1108, the plurality of server-specific processes and child processes are targets of the process in step S1109. In order to specify the directory in which the execution file is stored, for example, the first determination unit 213-1 executes the execution indicated by the execution file information 2217 associated with the PID of the server-specific process in the operation information storage unit 221. Identify the file. Then, the first determination unit 213-1 refers to the directory information storage unit 224 and identifies a directory corresponding to the identified executable file. Specifically, in the directory information storage unit 224, the execution file is stored based on the full path of the execution file indicated in the path information 2242 associated with the specified execution file (value of the execution file information 2241). A directory is specified.

そして、第1判定部213−1は、ディレクトリにおける実行ファイルの格納位置の位置関係に基づいて、サーバ固有プロセスの判定を行なう。具体的には、第1判定部213−1は、特定したディレクトリおよび特定したディレクトリの配下のディレクトリに格納された実行ファイルに対応するプロセスについてもサーバ固有プロセスであると判定する。   Then, the first determination unit 213-1 determines the server specific process based on the positional relationship of the execution file storage positions in the directory. Specifically, the first determination unit 213-1 determines that the process corresponding to the specified directory and the execution file stored in the directory under the specified directory is also a server-specific process.

例えば、図6および図7を例に挙げると、前述の例でサーバ固有プロセスであると判定されたPPID=P_X110のプロセスの実行ファイル名はCMD_#1であり、実行ファイルのディレクトリのフルパスは「/opt/local/bin/CMD_#1」である。実行ファイル名がCMD_#4の実行ファイルは、実行ファイル名がCMD_#1の実行ファイルと同一のディレクトリに格納されている。実行ファイル名がCMD_#5の実行ファイルは、実行ファイル名がCMD_#1の実行ファイルのディレクトリの配下のディレクトリに格納されている。実行ファイル名がCMD_#6の実行ファイルは、実行ファイル名がCMD_#1の実行ファイルのディレクトリと同一でも配下でもないディレクトリに格納されている。したがって、第1判定部213−1は、図6の情報を参照して、実行ファイル名がCMD_#4であるPPID=P_X120のプロセス、実行ファイル名がCMD_#5であるPPID=P_X130のプロセスをサーバ固有プロセスであると判定する。一方、第1判定部213−1は、実行ファイル名がCMD_#6であるPPID=P_X140のプロセスはサーバ固有プロセスでないと判定する。なお、PPID=P_X120のプロセス、PPID=P_X130のプロセスは、ステップS1105〜S1107の説明で記載した例においては、サーバ固有プロセスであると判定されなかったプロセスである。   For example, taking FIG. 6 and FIG. 7 as examples, the execution file name of the process of PPID = P_X110 determined to be a server-specific process in the above example is CMD_ # 1, and the full path of the execution file directory is “ / Opt / local / bin / CMD_ # 1 ". The execution file whose execution file name is CMD_ # 4 is stored in the same directory as the execution file whose execution file name is CMD_ # 1. The execution file whose execution file name is CMD_ # 5 is stored in a directory under the directory of the execution file whose execution file name is CMD_ # 1. The execution file whose execution file name is CMD_ # 6 is stored in a directory that is not the same as or subordinate to the directory of the execution file whose execution file name is CMD_ # 1. Therefore, the first determination unit 213-1 refers to the information in FIG. 6 and performs the process of PPID = P_X120 whose execution file name is CMD_ # 4 and the process of PPID = P_X130 whose execution file name is CMD_ # 5. Determine that it is a server-specific process. On the other hand, the first determination unit 213-1 determines that the process of PPID = P_X140 whose execution file name is CMD_ # 6 is not a server specific process. Note that the process of PPID = P_X120 and the process of PPID = P_X130 are processes that have not been determined to be server-specific processes in the examples described in the description of steps S1105 to S1107.

ステップS1109の処理により特定されるサーバ固有プロセスは、サーバ固有プロセスの実行ファイルと同一のディレクトリ、またはサーバ固有プロセスの実行ファイルのディレクトリの配下のディレクトリに格納された実行ファイルにより生成されるプロセスである。ステップS1109の処理により、ステップS1101〜S1108では特定しきれなかったプロセスの中からもサーバプロセスを抽出することができる。   The server specific process specified by the processing in step S1109 is a process generated by an execution file stored in the same directory as the execution file of the server specific process or a directory under the directory of the execution file of the server specific process. . Through the processing in step S1109, server processes can be extracted from processes that could not be specified in steps S1101 to S1108.

ステップS1109の処理の終了後、図11に示す一連の処理は終了する。なお、以上の説明は、あるタイミングにおいて取得されたプロセスの動作状況、ネットワークの状況に基づく一連の処理を説明した。ただし、複数のタイミングで(例えば、所定の周期で定期的に)プロセスの動作状況、ネットワークの状況が取得されている場合は、各タイミングのプロセスの動作状況、ネットワークの状況に基づいて図11に示す一連の処理が複数回実行されても良い。そして、第1判定部213−1が、複数回の実行の中で所定回数(例えば1回)以上、サーバ固有プロセスである判定されたプロセスをサーバ固有プロセスと特定し、サーバ固有プロセスである判定された回数が所定回数未満のプロセスをサーバ固有プロセスではないと判断することとしても良い。   After the process of step S1109 ends, the series of processes shown in FIG. 11 ends. In the above description, a series of processes based on the operation status of the process and the network status acquired at a certain timing has been described. However, when the operation status of the process and the network status are acquired at a plurality of timings (for example, periodically at a predetermined cycle), the process status and the network status at each timing are shown in FIG. A series of processes shown may be executed a plurality of times. Then, the first determination unit 213-1 identifies the determined process that is a server-specific process as a server-specific process more than a predetermined number of times (for example, once) in a plurality of executions, and determines that the process is a server-specific process It is also possible to determine that a process whose number of times is less than a predetermined number is not a server-specific process.

Webサーバのプロセス(受付プロセス)は、端末装置400からのリクエストを受信すると、プロセスについての端末装置400とのコネクションが確立(「ESTABLISHED」)され、子プロセスを生成する。子プロセスの生成後は、リクエストに対応した処理は子プロセスに引き継がれる。そして、子プロセスについての端末装置400とのコネクションが確立されるとともに、親プロセスについての端末装置400とのコネクションは要求待ち状態(「LISTEN」)となる。リクエストに対応した処理か完了した場合、子プロセスは消滅するが、完了までの間、すなわち子プロセスが存在する間は、コネクションの確立が維持される。そのため、Webサーバへの確立されたコネクションの数とWebサーバのプロセス(受付プロセス)の子プロセスの数は等しくなる。この特性を用いて、Webサーバについてのサーバ固有プロセスを特定することができる。本実施例の特定手法では、コネクションの数と子プロセス数との比較によりサーバ固有プロセスを特定する。そのため、例えば、リクエストを受信したタイミングで偶発的にリソース使用量が上がるようなプロセスはサーバ固有プロセスではないと判定可能である点で、判定精度が向上する。   When the Web server process (acceptance process) receives a request from the terminal device 400, a connection with the terminal device 400 is established for the process ("ESTABLISHED"), and a child process is generated. After the child process is generated, the processing corresponding to the request is taken over by the child process. Then, a connection with the terminal device 400 regarding the child process is established, and a connection with the terminal device 400 regarding the parent process is in a request waiting state (“LISTEN”). When the processing corresponding to the request is completed, the child process disappears, but the connection is maintained until the completion, that is, while the child process exists. Therefore, the number of connections established to the Web server is equal to the number of child processes of the Web server process (acceptance process). This characteristic can be used to identify a server specific process for the Web server. In the specifying method of this embodiment, the server specific process is specified by comparing the number of connections with the number of child processes. Therefore, for example, it is possible to determine that a process in which the resource usage is accidentally increased at the timing of receiving a request is not a server-specific process, so that the determination accuracy is improved.

また、特定したサーバ固有プロセスの実行ファイルのディレクトリには、コネクションの数と子プロセス数との比較では特定できないものの、サーバ固有プロセスであるプロセスの実行ファイルが格納されている。したがって、特定したサーバ固有プロセスの実行ファイルと同一のディレクトリまたは配下のディレクトリに実行ファイルが格納されたプロセスについてもサーバ固有プロセスと特定することで、さらに判定精度を向上させることができる。ここで抽出されるプロセスは、例えば、ログの出力を行なうプロセスや、不要なリソースの回収を実行するプロセス等であり、例えばバックグラウンドプロセスなどと呼ばれる。   In addition, the execution file of the process that is a server specific process is stored in the directory of the execution file of the specified server specific process, although it cannot be specified by comparing the number of connections and the number of child processes. Therefore, it is possible to further improve the determination accuracy by specifying a process in which an execution file is stored in the same directory as the execution file of the specified server specific process or a subordinate directory as a server specific process. The process extracted here is, for example, a process for outputting a log or a process for collecting unnecessary resources, and is called a background process, for example.

〔ステップS1004の詳細〕
図13および図14は、図10のステップS1004の処理の詳細を説明するフローチャートである。図13および図14の処理は、本実施例においては、サーバの種別がAPサーバと判定されたVMのプロセスに対して、第2判定部213−2が実行する処理である。
[Details of Step S1004]
13 and 14 are flowcharts illustrating details of the process in step S1004 of FIG. In the present embodiment, the processes of FIGS. 13 and 14 are processes executed by the second determination unit 213-2 on the VM process whose server type is determined to be an AP server.

まず、第2判定部213−2は、対象のVM(APサーバ)について、Webサーバとの間で確立されたコネクションを特定する(ステップS1301)。例えば、第2判定部213−2は、対象のVMとWebサーバのVMそれぞれについて、ネットワーク情報記憶部222に記憶された情報に基づいて、確立されたコネクションを特定することができる。   First, the second determination unit 213-2 specifies a connection established with the Web server for the target VM (AP server) (step S1301). For example, the second determination unit 213-2 can identify the established connection based on the information stored in the network information storage unit 222 for each of the target VM and the VM of the Web server.

より詳細には、例えば、第2判定部213−2は、対象のVM(APサーバ)について、ネットワーク情報記憶部222に記憶された情報が下記の条件全てを満たすコネクションを、確立されたコネクションであると判定する。
条件1:ローカル側ソケット情報2221の値(ホスト名とポート番号)が、WebサーバのVMのリモート側ソケット情報2222の値と一致する。
条件2:リモート側ソケット情報2222の値が、WebサーバのVMのローカル側ソケット情報2221の値と一致する。
条件3:状態情報2223に示されるコネクションの状態が「ESTABLISHED」である。
More specifically, for example, for the target VM (AP server), the second determination unit 213-2 establishes a connection in which the information stored in the network information storage unit 222 satisfies all of the following conditions using the established connection. Judge that there is.
Condition 1: The value of the local socket information 2221 (host name and port number) matches the value of the remote socket information 2222 of the VM of the Web server.
Condition 2: The value of the remote socket information 2222 matches the value of the local socket information 2221 of the VM of the Web server.
Condition 3: The state of the connection indicated in the state information 2223 is “ESTABLISHED”.

なお、上記の条件1〜3に加え、さらに下記が条件として加えられても良い。
条件4:WebサーバのVMの状態情報2223に示されるコネクションの状態も「ESTABLISHED」である。
条件5:コネクションのプロトコルがTCPである。
In addition to the above conditions 1 to 3, the following may be added as conditions.
Condition 4: The status of the connection indicated in the VM status information 2223 of the Web server is also “ESTABLISHED”.
Condition 5: The connection protocol is TCP.

図5を用いて具体例を説明する。例えば、図5のデータ行222−#8〜222−#11に示されるコネクションがAPサーバのコネクションとして特定されたとする。この場合、データ行222−#9、222−#10、222−#11のコネクションについて上記の条件1〜条件3を満たす、データ行222−#5〜222−#7に示されるWebサーバのコネクションが存在する。したがって、データ行222−#9、222−#10、222−#11のコネクションは、APサーバについての確立されたコネクションであると特定される。なお、図5の例では条件1〜3に加え、条件4、5も満たす。   A specific example will be described with reference to FIG. For example, it is assumed that the connections indicated in the data rows 222- # 8 to 222- # 11 in FIG. 5 are specified as the AP server connection. In this case, the connection of the Web server indicated by the data rows 222- # 5 to 222- # 7 that satisfies the above conditions 1 to 3 for the connections of the data rows 222- # 9, 222- # 10, and 222- # 11 Exists. Accordingly, the connections in the data rows 222- # 9, 222- # 10, and 222- # 11 are identified as established connections for the AP server. In the example of FIG. 5, conditions 4 and 5 are satisfied in addition to conditions 1 to 3.

ステップS1301の実行後、第2判定部213−2は、ステップS1301で特定された、確立されたコネクションのそれぞれについて、対応するプロセスを特定する(ステップS1302)。具体的には、第2判定部213−2は、確立されたコネクションのそれぞれについて、ローカル側ソケットが属しているプロセスを特定する。図5においては、データ行222−#9、222−#10、222−#11に示される、PID=P_X211、P_X221、P_X231のプロセスが該当する。   After execution of step S1301, the second determination unit 213-2 specifies a corresponding process for each of the established connections specified in step S1301 (step S1302). Specifically, the second determination unit 213-2 identifies the process to which the local socket belongs for each of the established connections. In FIG. 5, the processes of PID = P_X211, P_X221, and P_X231 shown in the data rows 222- # 9, 222- # 10, and 222- # 11 are applicable.

さらに、第2判定部213−2は、ステップS1302で特定されたプロセスそれぞれの親プロセスを特定する(ステップS1303)。なお、ここで特定される親プロセスは、自身がWebサーバとのコネクションを確立している、またはWebサーバからの接続待ち状態であるプロセスのみを対象とする。Webサーバからの接続待ち状態であるプロセスは、例えば、図5に示すリモート側ソケット情報2222の値にWebサーバのホスト名を含み、状態情報2223に示されるコネクションの状態が「LISTEN」であることを条件として特定可能である。本実施例では、図5および図6より、PPID=P_X210のプロセスが親プロセスとして特定される。   Furthermore, the second determination unit 213-2 specifies the parent process of each process specified in step S1302 (step S1303). It should be noted that the parent process specified here is intended only for processes that have established a connection with the Web server or are waiting for a connection from the Web server. For example, the process waiting for a connection from the Web server includes the host name of the Web server in the value of the remote socket information 2222 shown in FIG. 5 and the connection state indicated in the status information 2223 is “LISTEN”. Can be specified as a condition. In the present embodiment, the process of PPID = P_X210 is specified as the parent process from FIGS.

第2判定部213−2は、ステップS1303で特定された親プロセスの中から、1つのプロセスを選択する(ステップS1304)。   The second determination unit 213-2 selects one process from the parent processes specified in step S1303 (step S1304).

第2判定部213−2は、ステップS1304で選択したプロセスそれぞれについての、確立されたコネクションの数を特定する(ステップS1305)。   The second determination unit 213-2 identifies the number of established connections for each process selected in step S1304 (step S1305).

例えば、ステップS1304で選択されたプロセスがPPID=P_X210の親プロセスであったとすると、図5および図6より、確立されたコネクションの数は1となる。   For example, if the process selected in step S1304 is the parent process of PPID = P_X210, the number of established connections is 1 from FIG. 5 and FIG.

第2判定部213−2は、ステップS1304で選択したプロセスそれぞれについての子プロセスの数を特定する(ステップS1306)。   The second determination unit 213-2 identifies the number of child processes for each of the processes selected in step S1304 (step S1306).

例えば、ステップS1304で選択されたプロセスがPPID=P_X210の親プロセスであったとすると、図6より、子プロセスの数は3となる。
第2判定部213−2は、ステップS1304で選択したプロセスそれぞれについて、確立されたコネクションの数と、子プロセスの数とを比較する。そして、第2判定部213−2は、子プロセスの数が確立されたコネクションの数以上であるか否かを判定する(ステップS1307)。
For example, if the process selected in step S1304 is a parent process with PPID = P_X210, the number of child processes is three from FIG.
The second determination unit 213-2 compares the number of established connections with the number of child processes for each process selected in step S1304. Then, the second determination unit 213-2 determines whether or not the number of child processes is greater than or equal to the number of established connections (step S1307).

子プロセスの数が確立されたコネクションの数以上であると判定した場合(ステップS1307、YES)、第2判定部213−2は、ステップS1304で選択されたプロセスを、サーバ固有プロセスであると判定する(ステップS1308)。一方、子プロセスの数が確立されたコネクションの数以上でないと判定した場合(ステップS1307、NO)、第2判定部213−2は、ステップS1302で選択されたプロセスを、サーバ固有プロセスではないと判定する(ステップS1309)。   If it is determined that the number of child processes is greater than or equal to the number of established connections (YES in step S1307), the second determination unit 213-2 determines that the process selected in step S1304 is a server-specific process. (Step S1308). On the other hand, if it is determined that the number of child processes is not equal to or greater than the number of established connections (NO in step S1307), the second determination unit 213-2 determines that the process selected in step S1302 is not a server-specific process. Determination is made (step S1309).

例えば、ステップS1304で選択されたプロセスがPPID=P_X210の親プロセスであったとすると、前述の例示のように、子プロセスの数は3であり、確立されたコネクションの数である1以上であるので、第2判定部213−2は、PPID=P_X210の親プロセス(およびその子プロセス)を、サーバ固有プロセスであると判定する。   For example, if the process selected in step S1304 is a parent process of PPID = P_X210, the number of child processes is 3 and is 1 or more, which is the number of established connections, as illustrated above. The second determination unit 213-2 determines that the parent process (and its child processes) with PPID = P_X210 is a server-specific process.

ステップS1308またはステップS1309の処理を終了後、第2判定部213−2は、ステップS1304において全ての親プロセスが選択されたか否かを判定する(ステップS1310)。全ての親プロセスが選択されていないと判定した場合(ステップS1310、NO)、ステップS1304に戻り、第2判定部213−2は、未選択のプロセスを1つ選択して処理を繰り返す。   After finishing the process of step S1308 or step S1309, the second determination unit 213-2 determines whether all parent processes have been selected in step S1304 (step S1310). If it is determined that all parent processes have not been selected (step S1310, NO), the process returns to step S1304, and the second determination unit 213-2 selects one unselected process and repeats the process.

全ての親プロセスが選択されたと判定した場合(ステップS1310、YES)、第2判定部213−2は、サーバ固有プロセスの追加特定処理を実行する(ステップS1311)。ステップS1311の処理は、例えば、図11のステップS1109として説明した追加特定処理と同様であって良い。   When it is determined that all the parent processes have been selected (step S1310, YES), the second determination unit 213-2 executes an additional specifying process of the server specific process (step S1311). The process in step S1311 may be the same as the additional specifying process described as step S1109 in FIG.

ステップS1311の終了後、図13および図14に示す一連の処理は終了する。なお、以上の説明は、あるタイミングにおいて取得されたプロセスの動作状況、ネットワークの状況に基づく一連の処理を説明した。ただし、複数のタイミングで(例えば、所定の周期で定期的に)プロセスの動作状況、ネットワークの状況が取得されている場合は、各タイミングのプロセスの動作状況、ネットワークの状況に基づいて図13および図14に示す一連の処理が複数回実行されても良い。そして、第2判定部213−2が、複数回の実行の中で所定回数(例えば1回)以上、サーバ固有プロセスである判定されたプロセスをサーバ固有プロセスと特定し、サーバ固有プロセスである判定された回数が所定回数未満のプロセスをサーバ固有プロセスではないと判断することとしても良い。   After step S1311, the series of processing shown in FIGS. 13 and 14 ends. In the above description, a series of processes based on the operation status of the process and the network status acquired at a certain timing has been described. However, when the process operation status and the network status are acquired at a plurality of timings (for example, periodically in a predetermined cycle), the process status and the network status at each timing are illustrated in FIG. A series of processes shown in FIG. 14 may be executed a plurality of times. Then, the second determination unit 213-2 identifies the determined process that is a server-specific process as a server-specific process at a predetermined number of times (for example, once) or more in a plurality of executions, and determines that the process is a server-specific process It is also possible to determine that a process whose number of times is less than a predetermined number is not a server-specific process.

〔ステップS1005の詳細〕
図15は、図10のステップS1005の処理の詳細を説明するフローチャートである。
図15の処理は、本実施例においては、サーバの種別がAPサーバと判定されたVMのプロセスに対して、第2判定部213−2が実行する処理である。
[Details of Step S1005]
FIG. 15 is a flowchart illustrating details of the process in step S1005 of FIG.
In the present embodiment, the process of FIG. 15 is a process executed by the second determination unit 213-2 for a VM process whose server type is determined to be an AP server.

まず、第2判定部213−2は、対象のVM(APサーバ)について、Webサーバとの間で確立されたコネクションを特定する(ステップS1501)。また、第2判定部213−2は、ステップS1501で特定された、確立されたコネクションのそれぞれについて、対応するプロセスを特定する(ステップS1502)。ステップS1501、S1502の処理は、例えば、前述したステップS1301、S1302と同様の処理であっても良いし、ステップS1301、S1302の処理結果を流用することとしても良い。図6の例では、PID=P_X211、PID=P_X221、PID=P_X231のプロセスが特定される。   First, the second determination unit 213-2 specifies a connection established with the Web server for the target VM (AP server) (step S1501). In addition, the second determination unit 213-2 specifies a corresponding process for each of the established connections specified in Step S1501 (Step S1502). For example, the processing in steps S1501 and S1502 may be the same processing as in steps S1301 and S1302 described above, or the processing results in steps S1301 and S1302 may be used. In the example of FIG. 6, processes with PID = P_X211, PID = P_X221, and PID = P_X231 are specified.

次に、第2判定部213−2は、ステップS1502で特定されたプロセスごとに、確立されたコネクションの数を特定する(ステップS1503)。図6の例では、PID=P_X211、PID=P_X221、PID=P_X231のプロセスそれぞれについて、確立されたコネクションの数は1となる。   Next, the second determination unit 213-2 specifies the number of established connections for each process specified in step S1502 (step S1503). In the example of FIG. 6, the number of established connections is 1 for each process of PID = P_X 211, PID = P_X 221, and PID = P_X 231.

そして、第2判定部213−2は、ステップS1502で特定されたプロセスの中から1つのプロセスを選択し(ステップS1504)、選択したプロセスについて、後述するステップS1505〜S1509の処理を実行する。   Then, the second determination unit 213-2 selects one process from the processes specified in step S1502 (step S1504), and executes the processes of steps S1505 to S1509 described later for the selected process.

ステップS1505において、第2判定部213−2は、ステップS1504で選択したプロセスについて、プロセスのスレッド数を特定する。プロセスのスレッド数は、例えば、図6に示す動作情報記憶部221に記憶されたスレッド数2216の情報のうち、ステップS1504で選択したプロセスのPIDに対応するデータ行の値(数値)を参照することで特定が可能である。   In step S1505, the second determination unit 213-2 identifies the number of process threads for the process selected in step S1504. The number of process threads refers to, for example, the value (numerical value) of the data row corresponding to the PID of the process selected in step S1504 in the information on the number of threads 2216 stored in the operation information storage unit 221 illustrated in FIG. Can be specified.

ステップS1505の後、第2判定部213−2は、ステップS1504で選択したプロセスについて、確立されたコネクション数と、プロセスのスレッド数とを比較する。そして、第2判定部213−2は、スレッドの数が確立されたコネクションの数よりも大きいか否かを判定する(ステップS1506)。   After step S1505, the second determination unit 213-2 compares the number of established connections with the number of process threads for the process selected in step S1504. Then, the second determination unit 213-2 determines whether or not the number of threads is greater than the number of established connections (step S1506).

スレッドの数が確立されたコネクションの数よりも大きいと判定した場合(ステップS1506、YES)、第2判定部213−2は、ステップS1504で選択されたプロセスを、サーバ固有プロセスであると判定する(ステップS1507)。一方、子プロセスの数が確立されたコネクションの数以上でないと判定した場合(ステップS1506、NO)、第2判定部213−2は、ステップS1504で選択されたプロセスを、サーバ固有プロセスではないと判定する(ステップS1508)。   When it is determined that the number of threads is larger than the number of established connections (YES in step S1506), the second determination unit 213-2 determines that the process selected in step S1504 is a server-specific process. (Step S1507). On the other hand, if it is determined that the number of child processes is not equal to or greater than the number of established connections (step S1506, NO), the second determination unit 213-2 determines that the process selected in step S1504 is not a server-specific process. Determination is made (step S1508).

例えば、図6の例では、PID=P_X221のプロセスのスレッド数は2であり、確立されたコネクションの数である1よりも大きい。したがって、第2判定部213−2は、PID=P_X221のプロセスをサーバ固有プロセスであると判定する。一方、PID=P_X211、PID=P_X231のプロセスは、それぞれスレッド数は1であり、確立されたコネクションの数である1よりも大きくない。したがって、第2判定部213−2は、PID=P_X211、PID=P_X231のプロセスをサーバ固有プロセスではないと判定する。   For example, in the example of FIG. 6, the number of threads of the process with PID = P_X 221 is 2, which is larger than 1, which is the number of established connections. Therefore, the second determination unit 213-2 determines that the process with PID = P_X221 is a server-specific process. On the other hand, each of the processes with PID = P_X211 and PID = P_X231 has a thread number of 1 and is not larger than 1, which is the number of established connections. Therefore, the second determination unit 213-2 determines that the process of PID = P_X211 and PID = P_X231 is not a server specific process.

ステップS1507またはステップS1508の処理を終了後、第2判定部213−2は、ステップS1504において全てのプロセスが選択されたか否かを判定する(ステップS1509)。全てのプロセスが選択されていないと判定した場合(ステップS1509、NO)、ステップS1504に戻り、第2判定部213−2は、未選択のプロセスを1つ選択して処理を繰り返す。   After completing the process of step S1507 or step S1508, the second determination unit 213-2 determines whether all processes have been selected in step S1504 (step S1509). If it is determined that all processes have not been selected (step S1509, NO), the process returns to step S1504, and the second determination unit 213-2 selects one unselected process and repeats the process.

全てのプロセスが選択されたと判定した場合(ステップS1509、YES)、第2判定部213−2は、サーバ固有プロセスの追加特定処理を実行する(ステップS1510)。ステップS1510の処理は、例えば、図11のステップS1109として説明した追加特定処理と同様であって良い。   If it is determined that all the processes have been selected (step S1509, YES), the second determination unit 213-2 executes additional specific processing for the server-specific process (step S1510). The process in step S1510 may be the same as the additional specifying process described as step S1109 in FIG. 11, for example.

ステップS1510の終了後、図15に示す一連の処理は終了する。なお、以上の説明は、あるタイミングにおいて取得されたプロセスの動作状況、ネットワークの状況に基づく一連の処理を説明した。ただし、複数のタイミングで(例えば、所定の周期で定期的に)プロセスの動作状況、ネットワークの状況が取得されている場合は、各タイミングのプロセスの動作状況、ネットワークの状況に基づいて図15に示す一連の処理が複数回実行されても良い。そして、第2判定部213−2が、複数回の実行の中で所定回数(例えば1回)以上、サーバ固有プロセスである判定されたプロセスをサーバ固有プロセスと特定し、サーバ固有プロセスである判定された回数が所定回数未満のプロセスをサーバ固有プロセスではないと判定することとしても良い。   After step S1510 ends, the series of processing shown in FIG. 15 ends. In the above description, a series of processes based on the operation status of the process and the network status acquired at a certain timing has been described. However, when the operation status of the process and the network status are acquired at a plurality of timings (for example, periodically at a predetermined cycle), the process status and the network status at each timing are shown in FIG. A series of processes shown may be executed a plurality of times. Then, the second determination unit 213-2 identifies the determined process that is a server-specific process as a server-specific process at a predetermined number of times (for example, once) or more in a plurality of executions, and determines that the process is a server-specific process It is also possible to determine that a process whose number of times is less than a predetermined number is not a server-specific process.

端末装置からリクエストを受信したWebサーバは、リクエストの要求内容に応じ、APサーバ上のアプリケーションのプロセスとコネクションを確立し、リクエストを送る。リクエストを受けたAPサーバのプロセスは、子プロセス、またはスレッドを生成する。このとき生成される子プロセス数、またはスレッド数はアプリケーションに依存するが、一つ以上の子プロセス、またはスレッドを生成する。そのため、リクエストに応じて子プロセスを生成するAPサーバのプロセスの子プロセス数は、WebサーバとAPサーバとのコネクション数以上となる特性がある。また、リクエストに応じてスレッドを生成するAPサーバのプロセスのスレッド数は、WebサーバとAPサーバとのコネクションより大きくなる特性がある(スレッドの生成前の状態でスレッド数が1と取得されるため)。   The Web server that has received the request from the terminal device establishes a connection with the application process on the AP server in accordance with the request content, and sends the request. Upon receiving the request, the AP server process creates a child process or thread. The number of child processes or threads generated at this time depends on the application, but one or more child processes or threads are generated. Therefore, the number of child processes of an AP server process that generates a child process in response to a request has a characteristic that the number of connections between the Web server and the AP server is equal to or greater. In addition, the number of threads of the AP server process that generates threads in response to requests has a characteristic that it is larger than the connection between the Web server and the AP server (because the number of threads is acquired as 1 before the thread is generated). ).

本実施例の特定手法では、APサーバについて、コネクションの数と子プロセス数との比較、またはコネクションの数と生成したスレッド数との比較によりサーバ固有プロセスを特定する。そのため、例えば、リクエストを受信したタイミングで偶発的にリソース使用量が上がるようなプロセスはサーバ固有プロセスではないと判定可能である点で、判定精度が向上する。   In the identification method of this embodiment, for the AP server, a server-specific process is identified by comparing the number of connections with the number of child processes, or comparing the number of connections with the number of generated threads. Therefore, for example, it is possible to determine that a process in which the resource usage is accidentally increased at the timing of receiving a request is not a server-specific process, so that the determination accuracy is improved.

また前述のWebサーバと同様に、特定したサーバ固有プロセスの実行ファイルと同一のディレクトリまたは配下のディレクトリに実行ファイルが格納されたプロセスについてもサーバ固有プロセスと特定する。これによりAPサーバのバックグラウンドプロセスが特定できるので、さらに判定精度を向上させることができる。   Similarly to the above-described Web server, a process in which an execution file is stored in the same directory as the execution file of the specified server specific process or in a subordinate directory is also specified as a server specific process. As a result, the background process of the AP server can be specified, and the determination accuracy can be further improved.

なお、本実施例のように、APサーバについては、コネクションの数と子プロセス数との比較、またはコネクションの数と生成したスレッド数との比較によりサーバ固有プロセスが特定される。そのため、コネクションの数と子プロセス数との比較、またはコネクションの数と生成したスレッド数との比較の少なくともいずれかでサーバ固有プロセスと判定されたプロセスを、サーバ固有プロセスであるとして良い。また、コネクションの数と子プロセス数との比較、またはコネクションの数と生成したスレッド数との比較のいずれか一方のみであっても、APサーバのサーバ固有プロセスを特定することが可能だが、両方の処理を行なうことで、判定精度を向上させることができる。   As in this embodiment, for the AP server, the server-specific process is specified by comparing the number of connections with the number of child processes, or comparing the number of connections with the number of generated threads. Therefore, a process determined as a server-specific process by at least one of comparison between the number of connections and the number of child processes or comparison between the number of connections and the number of generated threads may be a server-specific process. In addition, it is possible to specify the server-specific process of the AP server by only comparing either the number of connections and the number of child processes, or the number of connections and the number of threads created. By performing this process, the determination accuracy can be improved.

〔ステップS1006の詳細〕
図16は、図10のステップS1006の処理の詳細を説明するフローチャートである。図16の処理は、本実施例においては、サーバの種別がDBサーバと判定されたVMのプロセスに対して、第3判定部213−3が実行する処理である。
[Details of Step S1006]
FIG. 16 is a flowchart illustrating details of the process in step S1006 of FIG. The process of FIG. 16 is a process executed by the third determination unit 213-3 for a VM process whose server type is determined to be a DB server in this embodiment.

図16の一連の処理においては、まず、第3判定部213−3は、DBサーバの応答性能が低下している期間を特定する(ステップS1601)。なお、以降の説明では、DBサーバの応答性能が低下している期間をレスポンス悪化期間、DBサーバの応答性能の低下をボトルネックと記載することがある。   In the series of processing of FIG. 16, first, the third determination unit 213-3 identifies a period during which the response performance of the DB server is degraded (step S1601). In the following description, a period in which the response performance of the DB server is reduced may be referred to as a response deterioration period, and a decrease in the response performance of the DB server may be described as a bottleneck.

本実施例における、DBサーバのレスポンス悪化期間を特定する手法について、概要を説明する。なお、説明にあたり、集約制御装置300は、異なる複数のタイミング、例えば所定の期間内に一定の周期で、VMの動作情報、ネットワーク情報等を取得しているものとする。レスポンス悪化期間とは、VMの動作情報、ネットワーク情報等が取得された所定期間のうち、DBサーバの応答性能が低下している期間である。   An outline of the method for identifying the response deterioration period of the DB server in this embodiment will be described. In the description, it is assumed that the aggregation control apparatus 300 acquires VM operation information, network information, and the like at a plurality of different timings, for example, at a constant period within a predetermined period. The response deterioration period is a period in which the response performance of the DB server is reduced in a predetermined period in which VM operation information, network information, and the like are acquired.

情報処理システムのレスポンスが悪化していない場合、情報処理システムにおける、Webサーバのデータ送信量とデータ受信量との比率(送受信比率)は一定となる特性がある(ただし、一定となった場合の比率はシステムごとに異なる)。なお、以降の説明では、送受信比率=データ送信量/データ受信量であるとして説明する。   When the response of the information processing system has not deteriorated, there is a characteristic that the ratio (transmission / reception ratio) between the data transmission amount and the data reception amount of the Web server in the information processing system is constant (however, when The ratio varies from system to system). In the following description, it is assumed that the transmission / reception ratio = data transmission amount / data reception amount.

一方、情報処理システムの応答性能が悪化している場合は、Webサーバの送受信比率は、通常時と比較するとデータ送信量の割合が少なくなる。すなわち、送受信比率の値は通常時と比較すると小さくなる。この特性を利用して、所定期間の間に収集した、Webサーバのデータ送信量とデータ受信量をもとに、情報処理システムのレスポンスが悪化している期間を特定することができる。   On the other hand, when the response performance of the information processing system is deteriorated, the transmission / reception ratio of the Web server is smaller than the ratio of the data transmission amount compared to the normal time. That is, the value of the transmission / reception ratio is smaller than that at the normal time. By using this characteristic, it is possible to identify a period in which the response of the information processing system is deteriorated based on the data transmission amount and the data reception amount of the Web server collected during a predetermined period.

さらに、情報処理システムの応答性能が悪化していない場合、各サーバ間のコネクションの数の比率も一定となる特性がある。すなわち、端末装置〜Webサーバ間のコネクションの数をA、Webサーバ〜APサーバ間のコネクションの数をB、APサーバ間〜DBサーバ間のコネクションの数をCとしたときに、A:B:Cが一定となる特性がある。一方、DBサーバが要因となって情報処理システムの応答性能が悪化している場合、前述の通りWebサーバの送受信比率が通常時と比較するとデータ送信量の割合が少なくなり、かつ、A:B:Cは、通常時と同様であるか、Cのみが通常時と比較して大きくなる特性がある。したがって、Webサーバの送受信比率と各サーバ間のコネクションの数の比率とに基づいて、DBサーバのレスポンス悪化期間を特定することが可能となる。   Furthermore, when the response performance of the information processing system has not deteriorated, there is a characteristic that the ratio of the number of connections between the servers is also constant. That is, when the number of connections between the terminal device and the Web server is A, the number of connections between the Web server and the AP server is B, and the number of connections between the AP server and the DB server is C, A: B: There is a characteristic that C is constant. On the other hand, when the response performance of the information processing system is deteriorated due to the DB server, as described above, the ratio of the data transmission amount is smaller than the normal ratio of the transmission / reception ratio of the Web server, and A: B : C is the same as in normal time, or only C has a characteristic that becomes larger than in normal time. Therefore, the response deterioration period of the DB server can be specified based on the transmission / reception ratio of the Web server and the ratio of the number of connections between the servers.

ここで、上述の通常時の送受信比率やコネクション数は、例えば、動作情報、ネットワーク情報が収集されていた所定期間における送受信比率やコネクション数の平均値としても良い。あるいは、レスポンス悪化期間であるか否かの判定対象の期間を所定期間から除いた期間の送受信比率やコネクション数の平均値としても良い。   Here, the normal transmission / reception ratio and the number of connections described above may be, for example, an average value of the transmission / reception ratio and the number of connections in a predetermined period in which operation information and network information are collected. Or it is good also as an average value of the transmission / reception ratio and the number of connections of the period which excluded the period of judgment whether it is a response deterioration period from the predetermined period.

ステップS1601の後、第3判定部213−3は、ステップS1601で特定されたレスポンス悪化期間のうちの1つを選択する(ステップS1602)。   After step S1601, the third determination unit 213-3 selects one of the response deterioration periods specified in step S1601 (step S1602).

第3判定部213−3は、ステップS1602で選択したレスポンス悪化期間について、ボトルネックの種別を特定する(ステップS1603)。本実施例においては、ボトルネックの種別は、DBサーバの応答性能悪化の要因と言うこともできる。第3判定部213−3は、例えば、レスポンス悪化期間におけるリソースの使用状況と、図17に示すボトルネック判定情報記憶部227に記憶された情報とに基づいて、ボトルネックの種別を特定する。   The third determination unit 213-3 identifies the type of bottleneck for the response deterioration period selected in step S1602 (step S1603). In this embodiment, the type of bottleneck can also be said to be a cause of deterioration in the response performance of the DB server. For example, the third determination unit 213-3 specifies the type of bottleneck based on the resource usage status during the response deterioration period and the information stored in the bottleneck determination information storage unit 227 illustrated in FIG.

図17は、ボトルネック判定情報記憶部227の一例を示す図である。例えば、ボトルネック判定情報記憶部227は、ボトルネック種別2271、全体リソース傾向2272、プロセスリソース傾向2273を記憶する。   FIG. 17 is a diagram illustrating an example of the bottleneck determination information storage unit 227. For example, the bottleneck determination information storage unit 227 stores a bottleneck type 2271, an overall resource trend 2272, and a process resource trend 2273.

ボトルネック種別2271は、ボトルネックの種別を示す情報である。図17に示すボトルネック種別2271について、「CPU」はCPUによるボトルネックであることを示す。また、「ストレージ(ディスク)」は、ストレージによるボトルネックであることを示す。なおストレージとは、VMについて、メモリとは別に割り当てられる記憶手段、あるいは記憶領域を示し、例えば、情報処理装置200が備えるHard DiSk Drive(HDD)等の記憶装置の記憶領域の一部が割り当てられたものである。   The bottleneck type 2271 is information indicating the type of bottleneck. For the bottleneck type 2271 shown in FIG. 17, “CPU” indicates that the bottleneck is caused by the CPU. “Storage (disk)” indicates a bottleneck caused by storage. Storage refers to storage means or a storage area that is allocated separately from the memory for the VM. For example, a part of the storage area of a storage device such as a hard disk drive (HDD) provided in the information processing apparatus 200 is allocated. It is a thing.

「排他制御」は、データベースへのアクセスにおける排他制御による処理待ち(ロック)によるボトルネックであることを示す。また、「ネットワーク」は、DBサーバのVMが他のVMと通信を行なう際に用いるネットワークの遅延や輻輳によるボトルネックであることを示す。本実施例においては、ボトルネック種別、すなわちDBサーバの応答性能悪化の要因は、図17に示す4つに分類可能であるとしている。   “Exclusive control” indicates a bottleneck caused by waiting for processing (lock) by exclusive control in accessing the database. “Network” indicates a bottleneck due to network delay or congestion used when the VM of the DB server communicates with other VMs. In the present embodiment, the bottleneck type, that is, the cause of the deterioration of the response performance of the DB server can be classified into four as shown in FIG.

全体リソース傾向2272は、ボトルネックの種別それぞれについての、レスポンス悪化期間におけるVM全体のリソースの使用状況の傾向を示す情報である。   The overall resource trend 2272 is information indicating a trend of the resource usage status of the entire VM during the response deterioration period for each bottleneck type.

プロセスリソース傾向2273は、ボトルネックの種別それぞれについての、レスポンス悪化期間におけるサーバ固有プロセスのリソースの使用状況の傾向を示す情報である。   The process resource trend 2273 is information indicating a trend of the resource usage status of the server-specific process during the response deterioration period for each bottleneck type.

図17を用いてステップS1603の処理を説明すると、第3判定部213−3は、レスポンス悪化期間におけるVM全体のリソースの使用状況を特定する。具体的には、第3判定部213−3は、例えば、レスポンス悪化期間におけるVM全体の各リソースの使用量が、「低い」、「変動無し」、「高い」のいずれに該当するかを判定する。「低い」、「変動無し」、「高い」の具体的な判定は、例えば、レスポンス悪化期間におけるVM全体の各リソースの使用量がVM全体の各リソースの平均使用量に対して、所定の閾値以上大きい場合は「高い」と判定することとして良い。また、レスポンス悪化期間におけるVM全体の各リソースの使用量がVM全体の各リソースの平均使用量に対して、所定の閾値以上小さい場合は「低い」と判定することとして良い。そして、「高い」、「低い」のどちらとも判定されなかった場合には、「変動無し」と判定することとしても良い。   The process of step S1603 will be described with reference to FIG. 17. The third determination unit 213-3 identifies the usage status of resources of the entire VM during the response deterioration period. Specifically, for example, the third determination unit 213-3 determines whether the usage amount of each resource of the entire VM in the response deterioration period corresponds to “low”, “no variation”, or “high”. To do. The specific determination of “low”, “no variation”, and “high” is, for example, that the usage amount of each resource of the entire VM in the response deterioration period is a predetermined threshold value with respect to the average usage amount of each resource of the entire VM. If it is greater than this, it may be determined as “high”. Further, when the usage amount of each resource of the entire VM in the response deterioration period is smaller than the average usage amount of each resource of the entire VM, it may be determined as “low”. If neither “high” nor “low” is determined, “no variation” may be determined.

レスポンス悪化期間におけるVM全体の各リソースの使用状況を特定した後、第3判定部213−3は、特定したVM全体の各リソースの使用状況が、図17に示す全体リソース傾向2272のいずれに合致するかを判定する。そして、第3判定部213−3は、合致すると判定した全体リソース傾向と関連付けられたボトルネック種別2271を、対象のレスポンス悪化期間に対応するボトルネックの種別として特定する。   After identifying the usage status of each resource of the entire VM in the response deterioration period, the third determining unit 213-3 matches the usage status of each resource of the identified VM with any of the overall resource trends 2272 shown in FIG. Judge whether to do. Then, the third determination unit 213-3 specifies the bottleneck type 2271 associated with the overall resource tendency determined to match as the bottleneck type corresponding to the target response deterioration period.

ステップS1603を実行後、第3判定部213−3は、ステップS1603で特定したボトルネックの種別に基づいて、DBサーバのVMにおけるプロセスの中からサーバ固有プロセスを特定する(ステップS1604)。ステップS1604の具体的な処理の例については、再び図17を用いて説明する。   After executing step S1603, the third determination unit 213-3 identifies a server specific process from among the processes in the VM of the DB server based on the bottleneck type identified in step S1603 (step S1604). A specific example of processing in step S1604 will be described with reference to FIG. 17 again.

まず、第3判定部213−3は、対象のVM(DBサーバ)のプロセスについて、リソースの使用状況を特定する。具体的には、第3判定部213−3は、例えば、レスポンス悪化期間におけるプロセスごとの各リソースの使用量が、「低い」、「変動無し」、「高い」のいずれに該当するかを判定する。「低い」、「変動無し」、「高い」の具体的な判定は、例えば、上述したVM全体のリソースの使用状況と同様であって良い。   First, the third determination unit 213-3 identifies the resource usage status for the process of the target VM (DB server). Specifically, for example, the third determination unit 213-3 determines whether the usage amount of each resource for each process in the response deterioration period corresponds to “low”, “no variation”, or “high”. To do. Specific determinations of “low”, “no variation”, and “high” may be the same as, for example, the above-described resource usage status of the entire VM.

第3判定部213−3は、プロセスごとの各リソースの使用量が、ステップS1603で特定したボトルネックの種別と関連付けられたプロセスリソース傾向2273と合致するか否かを判定する。第3判定部213−3は、各リソースの使用量が、ステップS1603で特定したボトルネックの種別と関連付けられたプロセスリソース傾向2273と合致するプロセスをサーバ固有プロセスであると判定する。一方、第3判定部213−3は、各リソースの使用量が、ステップS1603で特定したボトルネックの種別と関連付けられたプロセスリソース傾向2273と合致しないプロセスを、サーバ固有プロセスではないと判定する。   The third determination unit 213-3 determines whether or not the usage amount of each resource for each process matches the process resource tendency 2273 associated with the bottleneck type specified in step S1603. The third determination unit 213-3 determines that a process in which the usage amount of each resource matches the process resource tendency 2273 associated with the bottleneck type specified in step S1603 is a server-specific process. On the other hand, the third determination unit 213-3 determines that a process in which the usage amount of each resource does not match the process resource tendency 2273 associated with the bottleneck type specified in step S1603 is not a server specific process.

ステップS1603およびステップS1604において、プロセスごとの各リソースの使用量は、例えば、DBサーバのプロセスについて、動作情報記憶部221やディスクアクセス情報記憶部225、送受信量情報記憶部226に記憶された情報から算出することができる。また、VM全体の各リソースの使用量は、各リソースについてのDBサーバのプロセスの使用量の合計とすることができる。また、平均使用量は、例えば、所定期間の各リソースの使用量の平均値でも良いし、判定対象のタイミングで取得されたデータを除外した所定期間の各リソースの使用量の平均値でも良い。また、判定基準とする閾値については、例えば、平均使用量に対する割合(パーセンテージ)や、数値の差とすることができる。なお、リソースの種類毎、「高い」、「低い」の判定ごとに、閾値の値は適宜変更されても良い。   In step S1603 and step S1604, the usage amount of each resource for each process is obtained from information stored in the operation information storage unit 221, the disk access information storage unit 225, and the transmission / reception amount information storage unit 226 for the process of the DB server, for example. Can be calculated. Further, the usage amount of each resource of the entire VM can be the total usage amount of the DB server process for each resource. In addition, the average usage amount may be, for example, an average value of usage amounts of each resource in a predetermined period, or may be an average value of usage amounts of each resource in a predetermined period excluding data acquired at a determination target timing. Moreover, about the threshold value used as a criterion, for example, a ratio (percentage) with respect to the average usage amount or a numerical difference can be used. Note that the threshold value may be changed as appropriate for each resource type and for each determination of “high” or “low”.

ステップS1604の処理を実行後、第3判定部213−3は、ステップS1602において全てのレスポンス悪化期間が選択されたか否かを判定する(ステップS1605)。全てのレスポンス悪化期間が選択されていないと判定した場合(ステップS1605、NO)、ステップS1602に戻り、第3判定部213−3は、未選択のレスポンス悪化期間を1つ選択して、ステップS1603〜S1605の処理を繰り返す。   After executing the process of step S1604, the third determination unit 213-3 determines whether all response deterioration periods have been selected in step S1602 (step S1605). If it is determined that all the response deterioration periods have not been selected (step S1605, NO), the process returns to step S1602, and the third determination unit 213-3 selects one unselected response deterioration period, and step S1603. The process of S1605 is repeated.

全てのレスポンス悪化期間が選択されたと判定した場合(ステップS1605、YES)、第3判定部213−3は、サーバ固有プロセスの追加特定処理を実行する(ステップS1606)。ステップS1606の処理は、例えば、図11のステップS1109として説明した追加特定処理と同様であって良い。ステップS1606の終了後、図16に示す一連の処理は終了する。   When it is determined that all the response deterioration periods have been selected (step S1605, YES), the third determination unit 213-3 performs an additional specifying process of the server specific process (step S1606). The process in step S1606 may be the same as the additional specifying process described as step S1109 in FIG. 11, for example. After step S1606 ends, the series of processes shown in FIG. 16 ends.

DBサーバへのアクセスはAPサーバからデータベースへのデータ読み出し要求がアクセスの大半を占める。そのため、DBサーバは、例えばWebサーバやAPサーバと比較して大容量のメモリが搭載され(VMに割り当てられ)、メモリをキャッシュとして使用する。同じデータに対する読み出し要求であっても、要求されたデータがキャッシュに記憶されているか否かに応じて、リソース(具体的には特に、ディスクに対するアクセス)の負荷がその時々で異なる。   For access to the DB server, a data read request from the AP server to the database occupies most of the access. Therefore, the DB server is equipped with a memory having a larger capacity than that of, for example, a Web server or an AP server (assigned to the VM), and uses the memory as a cache. Even for read requests for the same data, depending on whether the requested data is stored in the cache, the load of resources (specifically, access to the disk in particular) varies from time to time.

また、搭載されるメモリ容量によっても、リソース(具体的には特に、ディスクに対するアクセス)の負荷が変動する。例えば、インメモリデータベースなどと呼ばれる、データベースのデータを全てキャッシュに記憶できるようなメモリ容量であれば、ディスクアクセスはほとんど発生しない。   Also, the load of resources (specifically, access to the disk in particular) varies depending on the installed memory capacity. For example, if the memory capacity is called an in-memory database or the like that can store all the data of the database in a cache, disk access hardly occurs.

また、読み出しが要求されるデータのサイズが要求ごとに変動が大きいため、要求ごとに、CPUの使用率やメモリの使用量の変動が大きい。   Further, since the size of data requested to be read varies greatly from request to request, the CPU usage rate and the memory usage amount vary greatly from request to request.

また、データベースのテーブル内のレコード数や削除したレコード数を検知して動作する機能がDBサーバに搭載されている場合もあり、機能の影響によって、過去にどのようなデータ読み出し要求を受信したかによっても、CPUの使用率やメモリの使用量が変化する。   In addition, there is a case where the DB server has a function that operates by detecting the number of records in the database table or the number of deleted records. What kind of data read requests have been received in the past due to the influence of the function? Also, the CPU usage rate and the memory usage amount change.

上述の事項などから、DBサーバについては、単純にプロセスの挙動を監視した場合には挙動に一貫性がなく、リクエスト(コネクション数)とプロセスの挙動との関係から固有サーバプロセスを特定するのは困難であると言える。   From the above matters, for the DB server, if the process behavior is simply monitored, the behavior is not consistent, and the specific server process is identified from the relationship between the request (number of connections) and the process behavior. It can be said that it is difficult.

ただし、DBサーバには、DBサーバのレスポンスが悪化した場合に、データ読み出し要求を処理するプロセスの生存期間が長くなるという特性がある。レスポンス悪化の要因は一様ではないが、本実施例で説明したように、上述のプロセスの挙動と比較するとはるかに少ないパターンに分類することが可能である。また、レスポンス悪化の要因が特定できれば、要因に応じたサーバ固有プロセスの挙動が推定可能である。   However, the DB server has a characteristic that, when the response of the DB server deteriorates, the lifetime of the process that processes the data read request becomes longer. Although the cause of the response deterioration is not uniform, as described in the present embodiment, it can be classified into far fewer patterns as compared with the above-described process behavior. Moreover, if the factor of response deterioration can be specified, the behavior of the server specific process according to the factor can be estimated.

したがって上述のように、本実施例では、第3判定部213−3が、DBサーバについて、まずレスポンス悪化期間とレスポンス悪化の要因を特定する。そしてレスポンス悪化の要因に基づいて推定されるサーバ固有プロセスの挙動と一致する挙動を示すプロセスを特定することで、第3判定部213−3がサーバ固有プロセスを特定することができ、判定精度が向上する。   Therefore, as described above, in the present embodiment, the third determination unit 213-3 first identifies the response deterioration period and the response deterioration factor for the DB server. Then, by identifying a process that exhibits a behavior that matches the behavior of the server-specific process estimated based on the response deterioration factor, the third determination unit 213-3 can identify the server-specific process, and the determination accuracy is improves.

また前述のWebサーバと同様に、特定したサーバ固有プロセスの実行ファイルと同一のディレクトリまたは配下のディレクトリに実行ファイルが格納されたプロセスについてもサーバ固有プロセスと特定する。これによりDBサーバのバックグラウンドプロセスが特定できるので、さらに判定精度を向上させることができる。   Similarly to the above-described Web server, a process in which an execution file is stored in the same directory as the execution file of the specified server specific process or in a subordinate directory is also specified as a server specific process. As a result, the background process of the DB server can be specified, so that the determination accuracy can be further improved.

〔集約処理〕
判定部213により各VMについてのサーバ固有プロセスの判定結果を利用して、集約制御部214はサーバの集約処理を実行することが可能である。
[Aggregation processing]
Using the determination result of the server specific process for each VM by the determination unit 213, the aggregation control unit 214 can execute server aggregation processing.

図18は、本実施例によるサーバ固有プロセスの判定結果を利用した場合の集約処理と、前述の過剰な見積もり(比較例)とを比較したイメージを示す図である。図18では、それぞれで1つのサーバが動作するVM2台について、サーバの集約が可能であるか否かを判定する例を示している。   FIG. 18 is a diagram illustrating an image in which the aggregation processing when the determination result of the server specific process according to the present embodiment is used and the above-described excessive estimation (comparative example) are compared. FIG. 18 shows an example of determining whether or not server consolidation is possible for two VMs each operating one server.

グラフ1801は、1台目の集約対象のVMにおけるリソース使用量の推移を示している。グラフ1802は、2台目の集約対象のVMにおけるリソース使用量の推移を示している。グラフ1801、1802では、サーバ固有プロセスによるリソース使用量(図18では「固有」と表記)、サーバ固有プロセス以外のプロセスによるリソース使用量(図18では「非固有」と表記)、両者を合計したVM全体としてのリソース使用量(図18では「合計」と表記)を示している。   A graph 1801 shows the transition of the resource usage in the first consolidation target VM. A graph 1802 shows the transition of resource usage in the second VM to be aggregated. In graphs 1801 and 1802, the resource usage by the server-specific process (indicated as “unique” in FIG. 18), the resource usage by processes other than the server-specific process (indicated as “non-unique” in FIG. 18), and the total The resource usage as a whole VM (indicated as “total” in FIG. 18) is shown.

本実施例においては、1台目の集約対象のVMに、2台目の集約対象のVMで動作するサーバを集約する場合を例に用いる。ただし、サーバの集約処理は、例えば、2台目の集約対象のVMにサーバの集約を行なうこととしても良いし、1台目の集約対象のVMとも2台目の集約対象のVMとも異なる他のVMに集約することとしても良い。グラフにおける閾値は、集約した際にサーバの動作性能に影響があるか否かの判定基準となる閾値であるとする。なお、サーバの動作性能に影響があるか否かの判定基準となる閾値は一意に限定されず、情報処理システムの態様や、サーバを集約した際のVMに割り当てられるリソース量等に応じて適宜決定、変更が可能であって良い。   In the present embodiment, an example is used in which servers that operate on the second aggregation target VM are aggregated on the first aggregation target VM. However, the server aggregation processing may be, for example, server aggregation to the second aggregation target VM, or may be different from the first aggregation target VM and the second aggregation target VM. It is good also as consolidating to VM of. It is assumed that the threshold value in the graph is a threshold value that is a criterion for determining whether or not the operation performance of the server is affected when aggregation is performed. Note that the threshold value that is a criterion for determining whether or not there is an influence on the operation performance of the server is not uniquely limited, and is appropriately determined according to the aspect of the information processing system, the amount of resources allocated to the VM when the servers are aggregated, and the like. It can be determined and changed.

グラフ1803は、比較例と本実施例のそれぞれにおいて、サーバを集約した際のリソース使用量として推定される使用量を示している。   A graph 1803 indicates the usage amount estimated as the resource usage amount when the servers are aggregated in each of the comparative example and the present embodiment.

比較例においては、サーバ固有プロセスとサーバ固有プロセス以外のプロセスとを区別せずに、単に2台のVMのリソースそれぞれのVM全体としてのリソース使用量を合算した値を推定使用量としている。比較例においては、サーバを集約した際のリソース使用量として推定される使用量が閾値を超過する期間が存在するため、サーバの集約は不可と判断されてしまう。   In the comparative example, a value obtained by simply adding the resource usage amounts of the VMs of the two VMs as a whole is used as the estimated usage amount without distinguishing between the server specific process and the processes other than the server specific process. In the comparative example, since there is a period in which the usage estimated as the resource usage when the servers are aggregated exceeds the threshold, it is determined that the servers cannot be aggregated.

一方、本実施例においては、2台のVMについて、サーバ固有プロセスによるリソース使用量は合算される。ただし、サーバ固有プロセス以外のプロセスについては、VM2台分ではなく1台分のリソース使用量をVM2台分のサーバ固有プロセスによるリソース使用量に合算され、推定使用量として算出される。本実施例によれば、サーバを集約した際のリソース使用量として推定される使用量は閾値を超過しないため、サーバの集約が可能と判断される。   On the other hand, in this embodiment, the resource usage by the server specific process is added up for the two VMs. However, for processes other than the server-specific process, the resource usage for one device, not the two VMs, is added to the resource usage by the server-specific processes for two VMs, and calculated as an estimated usage. According to the present embodiment, since the usage amount estimated as the resource usage amount when the servers are aggregated does not exceed the threshold value, it is determined that the servers can be aggregated.

すなわち、比較例においてはリソース使用量の過剰な見積もりによりサーバの集約が不可と判断されてしまう場合であっても、本実施例では、リソース使用量の過剰な見積もりが抑制されることで、サーバの集約が可能と判断できるのである。   That is, in the comparative example, even if it is determined that the server cannot be aggregated due to excessive estimation of the resource usage, in this embodiment, the excessive estimation of the resource usage is suppressed. It can be judged that the aggregation is possible.

以上で説明した手法により、集約制御部214は、複数台のVMについてサーバ集約を行った際のリソース使用量を推定し、サーバの集約が可能か否かを判定することとしても良い。   With the method described above, the aggregation control unit 214 may estimate the resource usage when server aggregation is performed for a plurality of VMs and determine whether server aggregation is possible.

集約制御部214は、例えば、サーバの集約が可能とされた複数台のVMの識別情報を表示部202に表示することとしても良い。また、集約制御部214は、入力部によりそれぞれの識別情報が入力された複数台のVMについて、サーバの集約が可能か否かを判定し、判定の結果を表示部202に表示することとしても良い。また、集約制御部214は、VMのプロセスそれぞれについて、サーバ固有プロセスであるか否かを示す情報を表示部202に表示することとしても良いし、図18のような態様で、VMそれぞれや、サーバ集約後のVMのリソース使用量を表示部202に表示することとしても良い。あるいは、集約制御部214は、サーバの集約が可能とされた複数台のVMについてサーバの集約を実行させる指示を情報処理装置200に送信することで、サーバの集約を実行しても良い。   For example, the aggregation control unit 214 may display the identification information of a plurality of VMs that can be aggregated on the display unit 202. Further, the aggregation control unit 214 may determine whether or not server aggregation is possible for a plurality of VMs for which identification information is input by the input unit, and display the determination result on the display unit 202. good. Further, the aggregation control unit 214 may display information indicating whether or not each of the VM processes is a server specific process on the display unit 202, or in a manner as illustrated in FIG. The VM resource usage after server consolidation may be displayed on the display unit 202. Alternatively, the aggregation control unit 214 may execute server aggregation by transmitting an instruction to the information processing apparatus 200 to execute server aggregation for a plurality of VMs for which server aggregation is possible.

なお、サーバの集約を行う際には、サーバの種別が同一である複数のVMを集約対象とすることとしても良い。サーバの種別が同一であれば、サーバの集約を行なった場合でも、サーバ固有プロセス以外のプロセスの挙動の変化は発生しない、あるいはサーバの種別が異なる場合と比較して、より少ないと考えられるためである。   When server consolidation is performed, a plurality of VMs having the same server type may be targeted for aggregation. If the server type is the same, even if server aggregation is performed, the behavior of processes other than the server specific process does not change, or it is considered to be less than when the server type is different. It is.

〔ハードウェア構成〕
図19は、本実施例における集約制御装置300のハードウェア構成の一例である。なお、図19では、集約制御装置300のハードウェア構成の一例を示すが、後述のように、情報処理装置200、端末装置400についても同様の構成が採用可能である。
[Hardware configuration]
FIG. 19 is an example of a hardware configuration of the aggregation control device 300 in the present embodiment. In FIG. 19, an example of the hardware configuration of the aggregation control device 300 is shown, but the same configuration can be adopted for the information processing device 200 and the terminal device 400 as described later.

集約制御装置300は、例えば、それぞれがバス1901で相互に接続された、CPU1902、メモリ1903、記憶装置1904、NIC1905、媒体読取装置1906、入力装置1907、表示装置1908、を備える情報処理装置である。   The aggregation control device 300 is an information processing device including, for example, a CPU 1902, a memory 1903, a storage device 1904, a NIC 1905, a medium reading device 1906, an input device 1907, and a display device 1908, which are mutually connected via a bus 1901. .

CPU1902は、集約制御装置300における種々の動作制御を行う。メモリ1903、記憶装置1904は、本実施例で説明した各種の処理を実行するプログラムや、各種の処理に利用される種々のデータを記憶する。記憶装置1904は、例えば、HDDや、Solid State Drive(SSD)等の記憶媒体である。   The CPU 1902 performs various operation controls in the central control apparatus 300. The memory 1903 and the storage device 1904 store programs for executing various processes described in this embodiment and various data used for various processes. The storage device 1904 is a storage medium such as an HDD or a Solid State Drive (SSD).

CPU1902は、メモリ1903あるいは記憶装置1904に記憶されたプログラムを読み出して処理、制御を実行することで、図3Aに示す処理部210および処理部210に含まれる各機能部が実現されても良い。なお、CPU1902は、Micro Processing Unit(MPU)、Application Specific Integrated Circuit(ASIC)などのハードウェア回路に置き換えることも可能である。また、メモリ1903、記憶装置1904のそれぞれは、図3Aおよび図3Bに記載した記憶部220として機能することができる。   The CPU 1902 may read out a program stored in the memory 1903 or the storage device 1904, execute processing, and control, thereby realizing the processing unit 210 and the functional units included in the processing unit 210 illustrated in FIG. 3A. Note that the CPU 1902 can be replaced with a hardware circuit such as a micro processing unit (MPU) or an application specific integrated circuit (ASIC). Each of the memory 1903 and the storage device 1904 can function as the storage unit 220 described in FIGS. 3A and 3B.

NIC1905は、有線または無線のネットワークを介したデータの送受信に用いられるハードウェアである。NIC1905は、CPU1902の制御の下で、通信部203として機能することができる。   The NIC 1905 is hardware used for data transmission / reception via a wired or wireless network. The NIC 1905 can function as the communication unit 203 under the control of the CPU 1902.

媒体読取装置1906は、記録媒体からデータを読み取るための装置であり、例えば、CD−ROMやDVD−ROM等のディスク媒体に記憶されたデータを読み取るディスクドライブや、メモリカードに記憶されたデータを読み取るカードスロット等である。前述した記憶部220に記憶されるデータの一部または全部は、媒体読取装置1906を用いて読み取り可能な記録媒体に記憶されることとしても良い。   The medium reading device 1906 is a device for reading data from a recording medium. For example, a disk drive that reads data stored in a disk medium such as a CD-ROM or DVD-ROM, or data stored in a memory card is read. A card slot to be read. Part or all of the data stored in the storage unit 220 described above may be stored in a recording medium that can be read using the medium reading device 1906.

入力装置1907は、ユーザからの入力や指定を受け付ける装置である。入力装置1907の例としては、例えばキーボードやマウス、タッチパッドが挙げられる。表示装置1908は、CPU1902の制御の下で、種々の情報の表示を行う。表示装置1908は、例えば液晶ディスプレイである。   The input device 1907 is a device that accepts input and designation from the user. Examples of the input device 1907 include a keyboard, a mouse, and a touch pad. The display device 1908 displays various information under the control of the CPU 1902. The display device 1908 is, for example, a liquid crystal display.

情報処理装置200、端末装置400は、例えば、図19に示した集約制御装置300と同様のハードウェア構成が採用可能であるため、説明を省略する。ただし、CPU、メモリ、記憶装置、NIC、媒体読取装置、入力装置、表示装置の具体的なハードウェア(型式や性能等)は、情報処理装置200、集約制御装置300、端末装置400のそれぞれで異なって構わない。例えば、情報処理装置200は、集約制御装置300や端末装置400よりも演算能力が高いCPU、より大容量のメモリが搭載されることとしても良い。   For example, the information processing apparatus 200 and the terminal apparatus 400 can employ the same hardware configuration as that of the aggregation control apparatus 300 illustrated in FIG. However, the specific hardware (model, performance, etc.) of the CPU, memory, storage device, NIC, medium reading device, input device, and display device is the information processing device 200, the central control device 300, and the terminal device 400, respectively. It doesn't matter. For example, the information processing apparatus 200 may be equipped with a CPU having a higher calculation capability than the central control apparatus 300 or the terminal apparatus 400 and a larger capacity memory.

情報処理装置200は、例えば、1台または複数台の物理サーバ装置であっても良いし、本実施例における情報処理装置200は、複数台のコンピュータを備えるデータセンタに置き換えられても良い。また、情報処理装置200が複数台のコンピュータを備えるデータセンタに置き換えられる場合は、データセンタのコンピュータ資源の一部を用いて集約制御装置300が実現されることとしても良い。   The information processing apparatus 200 may be, for example, one or a plurality of physical server apparatuses, and the information processing apparatus 200 in the present embodiment may be replaced with a data center including a plurality of computers. When the information processing apparatus 200 is replaced with a data center including a plurality of computers, the central control apparatus 300 may be realized using a part of the computer resources of the data center.

また、端末装置400は、例えば、Personal Conputer(PC)、スマートフォン、Personal Digital Assistant(PDA)等であって良い。なお、端末装置400が、スマートフォンやPDA、タブレットPCである場合には、入力装置1907の機能と表示装置1908の機能とを備えるタッチパネルを用いることとしても良い。   Further, the terminal device 400 may be, for example, a personal computer (PC), a smartphone, a personal digital assistant (PDA), or the like. Note that in the case where the terminal device 400 is a smartphone, a PDA, or a tablet PC, a touch panel that includes the function of the input device 1907 and the function of the display device 1908 may be used.

〔総括〕
以上に説明したように、本実施例によれば、VMで動作するプロセスについて、固有のソフトウェアのプロセス(サーバ固有プロセス)であるのか、固有のソフトウェアのプロセスであるのかを判定することが可能である。サーバ固有プロセスを判別することで、サーバ集約の可否を判断する際のリソース使用量の過剰な見積もりが抑制される。そのため、サーバ集約後のサーバの動作性能に悪影響の発生しない範囲で、より多くのサーバを集約することが可能となる。より多くのサーバを集約することができれば、情報処理装置200で動作するVMの台数をより少なくすることができ、VMを稼動させる際のコストを削減することができる。また、情報処理システムにおける運用管理においても、VMの台数に応じて増減する、OSへのパッチ適用処理などのコストを削減することができる。
[Summary]
As described above, according to the present embodiment, it is possible to determine whether a process operating on a VM is a specific software process (server specific process) or a specific software process. is there. By discriminating server specific processes, excessive estimation of resource usage when determining whether or not server aggregation is possible is suppressed. For this reason, it is possible to consolidate more servers within a range that does not adversely affect the operational performance of the servers after server consolidation. If a larger number of servers can be consolidated, the number of VMs operating on the information processing apparatus 200 can be further reduced, and the cost for operating VMs can be reduced. Also, in operation management in the information processing system, it is possible to reduce costs such as patch application processing to the OS that increase or decrease in accordance with the number of VMs.

また、本実施例において、サーバ固有プロセスであるか否かの判定に利用される情報の収集に用いられる各種のコマンドは、例えば、UNIX(登録商標)、Windows NT(登録商標)等のOSにおいては標準で利用可能なコマンドである。そのため、サーバに情報収集のための追加のツールを導入することが不要である。これは例えば、システムの提供先であるユーザとの契約において、追加のツールの導入が許容されない場合等においては優位点となる。   In this embodiment, various commands used for collecting information used to determine whether the process is a server-specific process are used in an OS such as UNIX (registered trademark) or Windows NT (registered trademark). Is a standard command. Therefore, it is not necessary to introduce an additional tool for collecting information on the server. This is an advantage when, for example, the introduction of an additional tool is not permitted in a contract with a user who is a system provider.

また、情報処理装置200がデータセンタである場合においては、本実施例において、サーバ固有プロセスであるか否かの判定に利用される情報が、システムの安定稼動のために収集されている場合もある。したがって、本実施例の実現にあたり新たな情報の収集処理が不要であり、またシステムの運用において継続的に情報の収集を行なうことが容易であるという利点がある。   In the case where the information processing apparatus 200 is a data center, in this embodiment, information used for determining whether the process is a server-specific process may be collected for stable operation of the system. is there. Therefore, there is an advantage that new information collection processing is not necessary for realizing the present embodiment, and it is easy to continuously collect information in the operation of the system.

また、本実施例においては、ディレクトリにプロセスの実行ファイルの格納状態に基づいて、サーバのバックグランドプロセスなどもサーバ固有プロセスとして特定することができ、判定精度の向上を実現できる。これは、本実施例において説明したサーバ固有プロセスの追加特定処理に対応する。なお、発明者の検討によれば、例えばDBサーバの場合、サーバ固有プロセスによるリソースの使用量のおよそ3割は、バックグランドプロセスによる使用量であるとされている。   In the present embodiment, the server background process and the like can also be specified as a server-specific process based on the storage state of the process execution file in the directory, and the determination accuracy can be improved. This corresponds to the additional specific process of the server specific process described in the present embodiment. According to the inventor's study, for example, in the case of a DB server, about 30% of the resource usage by the server specific process is the usage by the background process.

本実施例においては、サーバの種別はWebサーバ、APサーバ、DBサーバに分類されることとした。ただし、例えば、WebサーバとAPサーバが一体化されたサーバについては、Webサーバに対するプロセス判定処理とAPサーバに対するプロセス判定処理と判定部213が実行することとしても良い。そして、Webサーバに対するプロセス判定処理とAPサーバに対するプロセス判定処理の少なくとも一方でサーバ固有プロセスと判定されたプロセスを、判定部213がサーバ固有プロセスとして特定することとしても良い。   In this embodiment, the server types are classified into Web server, AP server, and DB server. However, for example, for a server in which a Web server and an AP server are integrated, the process determination process for the Web server, the process determination process for the AP server, and the determination unit 213 may be executed. Then, the determination unit 213 may identify a process determined as a server specific process by at least one of the process determination process for the Web server and the process determination process for the AP server as a server specific process.

200 情報処理装置
300 集約制御装置
400 端末装置
500 ネットワーク
201 入力部
202 表示部
203 通信部
210 処理部
220 記憶部
1901 バス
1902 CPU
1903 メモリ
1904 記憶装置
1905 NIC
1906 媒体読取装置
1907 入力装置
1908 表示装置
200 Information processing device 300 Central control device 400 Terminal device 500 Network 201 Input unit 202 Display unit 203 Communication unit 210 Processing unit 220 Storage unit 1901 Bus 1902 CPU
1903 Memory 1904 Storage device 1905 NIC
1906 Medium reader 1907 Input device 1908 Display device

Claims (17)

コンピュータに、
サーバソフトウェアが導入された仮想マシンで動作する複数のプロセスの内の特定のプロセスが、前記サーバソフトウェアにより生成されるプロセスと前記サーバソフトウェア以外のソフトウェアにより生成されるプロセスのいずれであるかを、前記仮想マシンについて確立されたコネクションの数と、前記特定のプロセスが生成する子プロセスまたはスレッドの数と、に基づいて判定し、
前記特定のプロセスが前記サーバソフトウェアにより生成されるプロセスであると判定された場合、記憶部に記憶された、前記複数のプロセス間の関係を示す情報に基づいて、前記特定のプロセス以外の前記複数のプロセスについて、前記サーバソフトウェアにより生成されるプロセスと前記サーバソフトウェア以外のソフトウェアにより生成されるプロセスのいずれであるかを判定する、
処理を実行させることを特徴とする判定プログラム。
On the computer,
Whether a specific process among a plurality of processes operating in a virtual machine in which server software is installed is a process generated by the server software or a process generated by software other than the server software, Based on the number of connections established for the virtual machine and the number of child processes or threads created by the particular process,
When it is determined that the specific process is a process generated by the server software, the plurality other than the specific process is stored based on information stored in a storage unit and indicating a relationship between the plurality of processes. Determining whether the process is a process generated by the server software or a process generated by software other than the server software.
A determination program characterized by causing a process to be executed.
前記コンピュータに、
前記コネクションの数と、前記子プロセスの数とが等しい場合、前記特定のプロセスを前記サーバソフトウェアにより生成されるプロセスであると判定する、
処理を実行させることを特徴とする請求項1記載の判定プログラム。
In the computer,
If the number of connections is equal to the number of child processes, the specific process is determined to be a process generated by the server software.
The determination program according to claim 1, wherein the process is executed.
前記コンピュータに、
前記サーバソフトウェアの種別を判定し、
前記サーバソフトウェアの種別がウェブサーバであると判定された場合に、前記特定のプロセスが、前記サーバソフトウェアにより生成されるプロセスと前記サーバソフトウェア以外のソフトウェアにより生成されるプロセスのいずれであるかを判定する処理を実行する、
処理を実行させることを特徴とする請求項2記載の判定プログラム。
In the computer,
Determining the type of the server software;
When it is determined that the type of the server software is a web server, it is determined whether the specific process is a process generated by the server software or a process generated by software other than the server software Execute the process to
The determination program according to claim 2, wherein processing is executed.
前記コンピュータに、
前記子プロセスの数が前記コネクションの数以上である場合、前記特定のプロセスを前記サーバソフトウェアにより生成されるプロセスであると判定する、
処理を実行させることを特徴とする請求項1記載の判定プログラム。
In the computer,
If the number of child processes is greater than or equal to the number of connections, the particular process is determined to be a process generated by the server software;
The determination program according to claim 1, wherein the process is executed.
前記コンピュータに、
前記スレッドの数が前記コネクションの数より大きい場合、前記特定のプロセスを前記サーバソフトウェアにより生成されるプロセスであると判定する、
処理を実行させることを特徴とする請求項1記載の判定プログラム。
In the computer,
If the number of threads is greater than the number of connections, determine that the particular process is a process generated by the server software;
The determination program according to claim 1, wherein the process is executed.
前記コンピュータに、
前記サーバソフトウェアの種別を判定し、
前記サーバソフトウェアの種別がアプリケーションサーバであると判定された場合に、前記特定のプロセスが、前記サーバソフトウェアにより生成されるプロセスと前記サーバソフトウェア以外のソフトウェアにより生成されるプロセスのいずれであるかを判定する処理を実行する、
処理を実行させることを特徴とする請求項4または5記載の判定プログラム。
In the computer,
Determining the type of the server software;
When it is determined that the type of the server software is an application server, it is determined whether the specific process is a process generated by the server software or a process generated by software other than the server software Execute the process to
6. The determination program according to claim 4 or 5, wherein a process is executed.
前記コネクションはTCPコネクションであることを特徴とする請求項1〜6のいずれか1項に記載の判定プログラム。   The determination program according to claim 1, wherein the connection is a TCP connection. 前記複数のプロセス間の関係を示す情報は、前記複数のプロセスに対応する実行ファイルの、ディレクトリにおける格納位置を示す情報であり、
前記コンピュータに、
前記特定のプロセス以外の前記複数のプロセスのうち、プロセスの実行ファイルが前記特定のプロセスの実行ファイルと同一のディレクトリ、または前記特定のプロセスの実行ファイルが格納されたディレクトリの配下のディレクトリに格納されるプロセスを、前記サーバソフトウェアにより生成されるプロセスであると判定する、
処理を実行させることを特徴とする請求項1〜7のいずれか1項に記載の判定プログラム。
The information indicating the relationship between the plurality of processes is information indicating the storage location in the directory of the executable file corresponding to the plurality of processes,
In the computer,
Among the plurality of processes other than the specific process, the process execution file is stored in the same directory as the execution file of the specific process, or a directory under the directory in which the execution file of the specific process is stored. Determining that the process is a process generated by the server software.
The determination program according to claim 1, wherein a process is executed.
前記コンピュータに、
特定の種別のサーバソフトウェアが動作する第1の仮想マシンにおけるリソース使用量に、前記特定の種別のサーバソフトウェアが動作する1以上の他の仮想マシンにおける前記サーバソフトウェアにより生成されるプロセスによるリソース使用量を合算した値が所定の閾値以下となる場合、前記第1の仮想マシンのサーバソフトウェアと前記他のマシンのサーバソフトウェアとを、1つの仮想マシンで動作させることが可能と判定する、
ことを特徴とする請求項1〜8のいずれか1項に記載の判定プログラム。
In the computer,
Resource usage by the process generated by the server software in one or more other virtual machines on which the specific type of server software operates is added to resource usage on the first virtual machine on which the specific type of server software operates When the sum of the values is equal to or less than a predetermined threshold value, it is determined that the server software of the first virtual machine and the server software of the other machine can be operated in one virtual machine.
The determination program according to any one of claims 1 to 8, wherein:
コンピュータに、
サーバソフトウェアが導入された仮想マシンで動作する複数のプロセスによるリソースの使用状況を示す情報を取得し、
前記複数のプロセスによるリソースの使用状況に示され得る複数の状態それぞれと、前記複数の状態それぞれに対応する前記仮想マシンの動作状態それぞれと、前記動作状態それぞれにおける前記サーバソフトウェアにより生成されるプロセスによるリソースの使用状況を示す情報とを関連付けた判定情報に基づいて、取得した前記使用状況を示す情報に対応する前記仮想マシンの動作状態を特定し、
前記複数のプロセスそれぞれについて、前記サーバソフトウェアにより生成されるプロセスと前記サーバソフトウェア以外のソフトウェアにより生成されるプロセスのいずれであるかを、前記判定情報において特定した前記動作状態と関連付けられた前記サーバソフトウェアにより生成されるプロセスによるリソースの使用状況に合致するか否かに基づいて判定する、
処理を実行させることを特徴とする判定プログラム。
On the computer,
Obtain information that shows the resource usage status by multiple processes running on a virtual machine with server software installed,
Each of a plurality of states that can be indicated in resource usage status by the plurality of processes, each of the operation state of the virtual machine corresponding to each of the plurality of states, and a process generated by the server software in each of the operation states Based on the determination information associated with the information indicating the resource usage status, the operation state of the virtual machine corresponding to the acquired information indicating the usage status is identified,
For each of the plurality of processes, the server software associated with the operation state identified in the determination information as to whether the process is generated by the server software or a process generated by software other than the server software Judgment based on whether or not the resource usage by the process generated by
A determination program characterized by causing a process to be executed.
前記コンピュータに、
前記サーバソフトウェアの種別を判定し、
前記サーバソフトウェアの種別がデータベースサーバであると判定された場合に、前記特定する処理および前記判定する処理を行なう、
処理を実行させることを特徴とする請求項10記載の判定プログラム。
In the computer,
Determining the type of the server software;
When it is determined that the type of the server software is a database server, the specifying process and the determining process are performed.
The determination program according to claim 10, wherein a process is executed.
前記仮想マシンは、情報処理システムに含まれるデータベースサーバが動作する仮想マシンであり、
前記コンピュータに、
所定の期間に含まれる特定の期間中の、前記情報処理システムに含まれるウェブサーバが動作する仮想マシンにおけるデータ受信量に対するデータ送信量の比率が、前記所定の期間における前記比率の平均値よりも小さくなる場合、前記特定の期間を前記情報処理システムの応答性能が低下した期間であると判定し、
前記特定の期間が前記情報処理システムの応答性能が低下した期間であると判定された場合、前記特定の期間における前記情報処理システムに含まれる複数の仮想マシンの間のコネクション数に基づいて、前記特定の期間が前記データベースサーバが動作する仮想マシンの応答性能が低下した期間であるか否かを判定し、
前記特定の期間が前記データベースサーバが動作する仮想マシンの応答性能が低下した期間であると判定された場合、前記サーバソフトウェアにより生成されるプロセスと前記サーバソフトウェア以外のソフトウェアにより生成されるプロセスのいずれであるかを判定する処理を行なう、
処理を実行させることを特徴とする請求項10記載の判定プログラム。
The virtual machine is a virtual machine on which a database server included in the information processing system operates,
In the computer,
The ratio of the data transmission amount to the data reception amount in the virtual machine on which the web server included in the information processing system operates during a specific period included in the predetermined period is greater than the average value of the ratios in the predetermined period. When it becomes smaller, it is determined that the specific period is a period in which the response performance of the information processing system has decreased,
When it is determined that the specific period is a period in which the response performance of the information processing system has deteriorated, based on the number of connections between a plurality of virtual machines included in the information processing system in the specific period, Determine whether the specific period is a period when the response performance of the virtual machine on which the database server operates is reduced,
When it is determined that the specific period is a period when the response performance of the virtual machine on which the database server operates is deteriorated, either the process generated by the server software or the process generated by software other than the server software Process to determine whether or not
The determination program according to claim 10, wherein a process is executed.
前記コンピュータに、
前記サーバソフトウェアにより生成されるプロセスであると判定されたプロセスが存在する場合、記憶部に記憶された、複数のプロセス間の関係を示す情報に基づいて特定される、前記複数のプロセスの内の前記サーバソフトウェアにより生成されるプロセスであると判定されたプロセスと所定の関係を有するプロセスを、前記サーバソフトウェアにより生成されるプロセスであると判定する、
処理を実行させることを特徴とする請求項10〜12のいずれか1項に記載の判定プログラム。
In the computer,
When there is a process determined to be a process generated by the server software, the process is identified based on information indicating a relationship between the plurality of processes stored in the storage unit. Determining a process having a predetermined relationship with a process determined to be a process generated by the server software as a process generated by the server software;
The determination program according to any one of claims 10 to 12, wherein a process is executed.
コンピュータが、
サーバソフトウェアが導入された仮想マシンで動作する複数のプロセスの内の特定のプロセスが、前記サーバソフトウェアにより生成されるプロセスと前記サーバソフトウェア以外のソフトウェアにより生成されるプロセスのいずれであるかを、前記仮想マシンについて確立されたコネクションの数と、前記特定のプロセスが生成する子プロセスまたはスレッドの数と、に基づいて判定し、
前記特定のプロセスが前記サーバソフトウェアにより生成されるプロセスであると判定された場合、記憶部に記憶された、前記複数のプロセス間の関係を示す情報に基づいて、前記特定のプロセス以外の前記複数のプロセスについて、前記サーバソフトウェアにより生成されるプロセスと前記サーバソフトウェア以外のソフトウェアにより生成されるプロセスのいずれであるかを判定する、
ことを特徴とする判定方法。
Computer
Whether a specific process among a plurality of processes operating in a virtual machine in which server software is installed is a process generated by the server software or a process generated by software other than the server software, Based on the number of connections established for the virtual machine and the number of child processes or threads created by the particular process,
When it is determined that the specific process is a process generated by the server software, the plurality other than the specific process is stored based on information stored in a storage unit and indicating a relationship between the plurality of processes. Determining whether the process is a process generated by the server software or a process generated by software other than the server software.
The determination method characterized by this.
サーバソフトウェアが導入された仮想マシンで動作する複数のプロセスの内の特定のプロセスが、前記サーバソフトウェアにより生成されるプロセスと前記サーバソフトウェア以外のソフトウェアにより生成されるプロセスのいずれであるかを、前記仮想マシンについて確立されたコネクションの数と、前記特定のプロセスが生成する子プロセスまたはスレッドの数と、に基づいて判定する第1の判定部と、
前記特定のプロセスが前記サーバソフトウェアにより生成されるプロセスであると判定された場合、記憶部に記憶された、前記複数のプロセス間の関係を示す情報に基づいて、前記特定のプロセス以外の前記複数のプロセスについて、前記サーバソフトウェアにより生成されるプロセスと前記サーバソフトウェア以外のソフトウェアにより生成されるプロセスのいずれであるかを判定する第2の判定部と、
を備えることを特徴とする判定装置。
Whether a specific process among a plurality of processes operating in a virtual machine in which server software is installed is a process generated by the server software or a process generated by software other than the server software, A first determination unit for determining based on the number of connections established for the virtual machine and the number of child processes or threads generated by the specific process;
When it is determined that the specific process is a process generated by the server software, the plurality other than the specific process is stored based on information stored in a storage unit and indicating a relationship between the plurality of processes. A second determination unit that determines whether the process is a process generated by the server software or a process generated by software other than the server software;
A determination apparatus comprising:
コンピュータが、
サーバソフトウェアが導入された仮想マシンで動作する複数のプロセスによるリソースの使用状況を示す情報を取得し、
前記複数のプロセスによるリソースの使用状況に示され得る複数の状態それぞれと、前記複数の状態それぞれに対応する前記仮想マシンの動作状態それぞれと、前記動作状態それぞれにおける前記サーバソフトウェアにより生成されるプロセスによるリソースの使用状況を示す情報とを関連付けた判定情報に基づいて、取得した前記使用状況を示す情報に対応する前記仮想マシンの動作状態を特定し、
前記複数のプロセスそれぞれについて、前記サーバソフトウェアにより生成されるプロセスと前記サーバソフトウェア以外のソフトウェアにより生成されるプロセスのいずれであるかを、前記判定情報において特定した前記動作状態と関連付けられた前記サーバソフトウェアにより生成されるプロセスによるリソースの使用状況に合致するか否かに基づいて判定する、
ことを特徴とする判定方法。
Computer
Obtain information that shows the resource usage status by multiple processes running on a virtual machine with server software installed,
Each of a plurality of states that can be indicated in resource usage status by the plurality of processes, each of the operation state of the virtual machine corresponding to each of the plurality of states, and a process generated by the server software in each of the operation states Based on the determination information associated with the information indicating the resource usage status, the operation state of the virtual machine corresponding to the acquired information indicating the usage status is identified,
For each of the plurality of processes, the server software associated with the operation state identified in the determination information as to whether the process is generated by the server software or a process generated by software other than the server software Judgment based on whether or not the resource usage by the process generated by
The determination method characterized by this.
コンピュータが、
サーバソフトウェアが導入された仮想マシンで動作する複数のプロセスによるリソースの使用状況を示す情報を取得し、
前記複数のプロセスによるリソースの使用状況に示され得る複数の状態それぞれと、前記複数の状態それぞれに対応する前記仮想マシンの動作状態それぞれと、前記動作状態それぞれにおける前記サーバソフトウェアにより生成されるプロセスによるリソースの使用状況を示す情報とを関連付けた判定情報に基づいて、取得した前記使用状況を示す情報に対応する前記仮想マシンの動作状態を特定する特定部と、
前記複数のプロセスそれぞれについて、前記サーバソフトウェアにより生成されるプロセスと前記サーバソフトウェア以外のソフトウェアにより生成されるプロセスのいずれであるかを、前記判定情報において特定した前記動作状態と関連付けられた前記サーバソフトウェアにより生成されるプロセスによるリソースの使用状況に合致するか否かに基づいて判定する判定部と、
を備えることを特徴とする判定装置。
Computer
Obtain information that shows the resource usage status by multiple processes running on a virtual machine with server software installed,
Each of a plurality of states that can be indicated in resource usage status by the plurality of processes, each of the operation state of the virtual machine corresponding to each of the plurality of states, and a process generated by the server software in each of the operation states Based on determination information associated with information indicating the usage status of resources, a specifying unit that specifies the operating state of the virtual machine corresponding to the acquired information indicating the usage status;
For each of the plurality of processes, the server software associated with the operation state identified in the determination information as to whether the process is generated by the server software or a process generated by software other than the server software A determination unit that determines based on whether or not the resource usage by the process generated by
A determination apparatus comprising:
JP2017010521A 2017-01-24 2017-01-24 Judgment program, judgment method and judgment device Active JP6772857B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017010521A JP6772857B2 (en) 2017-01-24 2017-01-24 Judgment program, judgment method and judgment device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017010521A JP6772857B2 (en) 2017-01-24 2017-01-24 Judgment program, judgment method and judgment device

Publications (2)

Publication Number Publication Date
JP2018120354A true JP2018120354A (en) 2018-08-02
JP6772857B2 JP6772857B2 (en) 2020-10-21

Family

ID=63044342

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017010521A Active JP6772857B2 (en) 2017-01-24 2017-01-24 Judgment program, judgment method and judgment device

Country Status (1)

Country Link
JP (1) JP6772857B2 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010108445A (en) * 2008-10-31 2010-05-13 Fujitsu Ltd Program, apparatus and method for generating configuration definition information, and monitoring program
JP2010117957A (en) * 2008-11-14 2010-05-27 Hitachi Ltd Configuration management server, name specification method, and name specification program
WO2014091580A1 (en) * 2012-12-12 2014-06-19 株式会社東芝 Cloud system management device, cloud system, reallocation method, and program
JP2016004349A (en) * 2014-06-16 2016-01-12 富士通株式会社 Software information management program, software information management device, and software information management method

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010108445A (en) * 2008-10-31 2010-05-13 Fujitsu Ltd Program, apparatus and method for generating configuration definition information, and monitoring program
JP2010117957A (en) * 2008-11-14 2010-05-27 Hitachi Ltd Configuration management server, name specification method, and name specification program
WO2014091580A1 (en) * 2012-12-12 2014-06-19 株式会社東芝 Cloud system management device, cloud system, reallocation method, and program
JP2016004349A (en) * 2014-06-16 2016-01-12 富士通株式会社 Software information management program, software information management device, and software information management method

Also Published As

Publication number Publication date
JP6772857B2 (en) 2020-10-21

Similar Documents

Publication Publication Date Title
EP2972746B1 (en) Storage unit selection for virtualized storage units
CN109643251B (en) Resource oversubscription based on utilization patterns in computing systems
CN110865867B (en) Method, device and system for discovering application topological relation
US7933995B2 (en) Computer program and apparatus for controlling computing resources, and distributed processing system
US10225333B2 (en) Management method and apparatus
US10127080B2 (en) Dynamically controlled distributed workload execution
US9678798B2 (en) Dynamically controlled workload execution
EP3254194B1 (en) Dynamically controlled workload execution by an application
US9569271B2 (en) Optimization of proprietary workloads
US20140032753A1 (en) Computer system and node search method
US9639379B1 (en) Dynamic configuration of virtual machines
JP2016103144A (en) Virtual machine deployment method, virtual machine deployment program and virtual machine deployment system
US10754368B1 (en) Method and system for load balancing backup resources
JP6295856B2 (en) Management support method, management support device, and management support program
US11102298B1 (en) Locally providing cloud storage services for fleet management
US10680916B2 (en) Management of network elements in a cloud platform
US11881996B2 (en) Input and output for target device communication
JP6772857B2 (en) Judgment program, judgment method and judgment device
CN106775942B (en) Cloud application-oriented solid-state disk cache management system and method
US10942779B1 (en) Method and system for compliance map engine
US9270530B1 (en) Managing imaging of multiple computing devices
KR20220078411A (en) Edge computing node and method for sharing data thereof
US20240137380A1 (en) Method and system for virtual desktop service manager placement based on security profiles
US20240134703A1 (en) Method and system for virtual desktop service manager placement based on end-user experience
US10505864B1 (en) Method for running HPC jobs

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20180528

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20191008

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200821

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200914

R150 Certificate of patent or registration of utility model

Ref document number: 6772857

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150